./chessx-1.3.2/000755 000765 000024 00000000000 12522204501 012711 5ustar00nistaff000000 000000 ./chessx-1.3.2/ChangeLog000644 000765 000024 00000060463 12521215234 014500 0ustar00nistaff000000 000000 May 2015: Version 1.3.2 - New feature: Variation indicator in toolbox - New feature: FICS - Toggle board at beginning of puzzle - New feature: Toolbox for adding Nags (e.g. on WhiteBoards) - New feature: FICS - Filter computers and unrated users - New feature: Show date of last access to a database - New feature: Pin Opening Tree at a position - New feature: Clear filter before starting search from opening tree - New feature: Select board for searching position from open boards - New feature: Show threat after making move - Bugfix: Index file usage broken - Bugfix: Missing newline copying games into a closed file - Bugfix: Better status message when copying multiple games - Bugfix: Gamelist header configuration does not persist - Bugfix: Windows Installation does not show Pin Icon April 2015: Version 1.3.0 - New Feature: Play games on FICS with telnet or timeseal - New Feature: Boards now 1:1 with open databases - New Feature: Remove found items from filter - New feature: Flip board to side to move while loading game in training - New feature: Setup Board Dialog with Coordinates - New feature: #137 Extend Opening tree (Back button) - New feature: Undo last move in Opening Tree - New feature: Player Info filters games also for specific color - New feature: Player Info shows regularly played openings - New feature: Automatic analysis backward from end of game - New feature: Refactoring from context menu of game text - New feature: PlayerInfo with performance per eco code - New feature: Hide selected game from game list - New feature: Allow editing arbitrary tags - New feature: Draw annotations whith Shit+Left-Click with last color used - New feature: Saving w/o dialog - New feature: Material profile - New feature: New board "lanta" - New feature: Allow filtering of non-active DB from OpeningTree - New feature: Send PGN by mail - New feature: load project databases from Help menu - Bugfix: Autoanalysis runs over remaining game after adding variation - Bugfix: Annotation menu seems to contain duplicate entry - Bugfix: Do not limit num pv in analysis - Bugfix: Pressing Shift while dragging piece creates illegal baord view - Bugfix: Guess generation crashes when given an illegal position - Bugfix: In auto responder mode, arrows where painted too late - Bugfix: Dialogs non-modal - Bugfix: Loading translations failed - Bugfix: Open file with relative path from commandline October 2014: Version 1.2.2 - Bugfix: Entering a rook move or 0-0 did not work via keyboard - Bugfix: Plycount wrong saving a game from the non-current database - Bugfix: Crash saving a database upon closing chessx if database was not current DB - Bugfix: Enter-Key did not terminate entering a nag - Bugfix: Occasionally random move would get highlighted - Bugfix: Searching for Rounds and Moves did not work - Bugfix: Searching for ranges did not include limits - Bugfix: UCI Options containing a '.' were parsed incorrectly - Bugfix: Entering half-ply count was limited to 99 moves (thx to Niklas) - Bugfix: Retracing a game would fail at move one - Bugfix: Retracing a game beyond a move with variations would leave invisible variations - Bugfix: Pasting PGN into new game did not set modified flag - Bugfix: Pasting FEN into new game did not create new game - Bugfix: Changes to square and arrow annotations in annotation dialog are not painted immediately - New feature: CR#141 Edit game details - New feature: CR#140 Remember maximize state (and full-screen state) - New feature: Arrow as current move hint - New feature: Menu entry to clear clipboard database - New feature: Sorting of game list by clicking header (for databases<=4K) - New feature: Multi-Selection in the game list - Enhanced: Speed up polyglot book building - Changed: F3/F4 now load previous / next game July 2014: Version 1.2.0 - New Feature: Use polyglot books in Opening Tree - New Feature: Build polyglot books from Databaselist - New Feature: Enter games via keyboard - New Feature: Undo and Redo of game editing actions - New Feature: Support for external tools - New Feature: Paste variation from clipboard into game - New Feature: Danish Translation (thanks to Byrial Jensen) - New Feature: Allow removing found items from filter - New feature: Show title of game in Copy Game Dialog - New feature: Opening names in ECO Widget - New feature: Make position searches more comfortable - New feature: CR#206 Remember settings for more windows. - New feature: CR#203 Center the board inside its container - New feature: CR#118 Gameview: Make tags clickable - New feature: Auto analysis writes engine's name into final annotation - New feature: Asynchronous Searching - New feature: Allow several unsaved games at the same time (one per db) - New feature: Allow disabling menu icons - New feature: Allow constant move indicator - New feature: #117 Export screenshot to file - New feature: Filter in ECO widgets support regular expression - New feature: Checkbox in opening tree to add moves to game too - Changed: Pinned games have infinite analysis depth - Changed: Dialogs remember sizes and screen positions - Changed: CR#127 New navigation buttons order. - Changed: board tabs carry name of db instead of numbers - Changed: Auto analysis won't add move at end of game - Changed: Assignment of CTRL+C key to direct pasting of PGN - Changed: #121 Thicker, more visible arrows and colored squares - Changed: Show game title now in three lines - Changed: Copy of a game via context menu copies selected game - Changed: ECO Widget shows names of openings - Bugfix: Nags with bishops now exclusive - Bugfix: CR#205 line does not resume from the same indentation. - Bugfix: CR#204 Database is not released from memory upon closing - Bugfix: Annotations were not handled correctly when compacting database - Bugfix: Analysis/"Mate in" has inconsistent color - Bugfix: EGT Time annotation broken - Bugfix: Do not send ucinewgame after making a move February 2014: Version 1.1.0 - New feature: Traning with Toolbar Icon - New feature: Play out game against engine - New feature: Limit time that engines may use for analysis - New feature: Auto Responder for training openings etc. - New feature: Show name of opening in addition to ECO-Code - New feature: Use any open database as source for Opening Tree - New feature: Opening Tree with Filter as Source - New feature: Splitter in Detail Views - New Feature: CR#6 Configurable shortcuts - New feature: Visual indicator for results - New feature: Show location of AppSettings in About Dlg - New feature: CR#108 Lock engine to current position - New feature: Null moves at unusual positions - New feature: Incremental Opening Tree - New feature: Adjust columns in list views - New feature: Tabs switch if something is dragged to them (CR#112) - New feature: Hilite new favorite item - New feature: Select font for ChessBrowser from Preferences - New feature: Additional link targets in info widgets - New feature: PromotionDialog as suggested in CR#113 Pieces in promotion dialog - New feature: Added possibility to force loading english lang in German and French - Bugfix: #193 wrong nag $1-$6 - Bugfix: #191 Cannot edit an annotation-only comment - Bugfix: Time malformed - Bugfix: #189 Missing PNG for new board button - Bugfix: Searching for result 1-0 was not possible - Bugfix: Filtering if filter widget was changed from another widget - Bugfix: CR#105 few remarks - issue 1 - coherence with icons - Bugfix: CR#187 comments before first move are not read - Bugfix: HTML-Output in some special cases wrong - Bugfix: Worked around potential leak with smart pointer - Bugfix: Issue closing chessx while loading a database - Bugfix: Some columns won't display their content if the local setup is old enough - Bugfix: #180 - part 3 (user is asked several times to load database) - Bugfix: Nullmove issue - Bugfix: #180: Load Order of DLLs (did not start on Windows) - Bugfix: Better output of end of variations - Bugfix: Workaround for Apache Issue: #183 Download of PGN databases fails because of blocked user-agent - Bugfix: Guessengine crashes when accessing uninitialized memory - Bugfix: CR#182 Minimize - restore = tab switch bug - Bugfix: CR#181 typos - Bugfix: CR#178 Deleting a variation does not clear the annotation - Bugfix: Unterverwandlung inkorrekt - Fixed: textbrowserex.h case sensitivity (did not compile on Linux) - Fixed: a static leak (thanks to Albert for mentioning this) - Fixed: portability issue #185 Build error in enginelist.cpp for kFreeBSD - Changed: Flip Icon consistent with main GUI - Changed: Slider 'Move Interval' moved from Preferences to StatusBar September 2013: Version 1.0.0 - New feature: Get translation files from server - New feature: Copy Text or HTML from Notation - New feature: Offer to load a default database for first time users - New feature: CR#10 Configurable Game View - customize appearance of notation - New feature: Inserting moves (in addition to adding moves as variation - New Feature: CR#86 Merge games with Drag&Drop - New Feature: CR#46 Games whose position is [end] selectable - New Feature: CR#43 Frequency and score ~0% instead of 0% when not exactly 0 - New feature: Setup Dialog has new functions to mirror board or colors. - New feature: Select Language from Preferences (requires restart) - New feature: Online check for updates - New Feature: Column date of last modification - New Feature: Localized Piece Initials (see CR#3592733 Output / Input PGN - New feature: Create a Diagram Nag (201 like in SCID) from GUI - New Feature: Draw Board Coordinates (see CR#1715710 Numbers and ...) - New Feature: HTML Output with readable basic tags instead of PGN look - New feature: Diagrams in HTML Export and Notation - New feature: HTML Output with symbolic nags in HTML/UTF8 - New features: Navigation within siblings of variations with keyboard - New feature: Enter or Exit Variation now moves within mainline - New feature: Toolbar for commonly used actions - New Feature: ECO based Opening Overview of the current database - New Feature: MDI-Interface - New feature: Opening tree has its own board view. - New Feature: CR#3607996 Always on top feature - Bugfix: ChessBrowser does not indicate '?'-tags - Bugfix: HTML-Output contained one HTML-Header for each game - Bugfix: Sorting by size was not ideal - Bugfix: CR#171 - Board Setup dialog: wrong board size - Bugfix: Removing last arrow annotation leaves ugly comment - Bugfix: Stay On Top accidentally active in OS which were Non-Windows-OS - Bugfix: Concurrent loading of games (fix from James Coons) - Bugfix: Game List was not updated after bulk copy of games - Bugfix: Black ELo was only saved if a white ELO was given - Bugfix: CR#3612157 tablebase - Bugfix: Performance Boost for filtering with result-cache - Bugfix: CR#3611434 Local vs global menu inconsistency - Bugfix: Update Widgets after saving a database - Bugfix: Created PGN was invalid due to invalid date format - Bugfix: Opening new game did not clear selection on game list March 2013 Version 0.9.6 - Bugfix / Feature removal: Filtering opening tree was somewhat active - Bugfix: (thx to James!) Promoting into different pieces cannot start - Bugfix: Before closing a database ask to save a new or modified game - Bugfix: CR#3596577 - Game modifications lost when changing a game - Bugfix: Ctrl+Drag in BoardSetup-Dialog loses a button - Bugfix: DatabaseList view shows Linked local files with annoying scheme - Bugfix: Drawing board when resizing off by 1 - Bugfix: Enable Escape-Key for Dialogs - Bugfix: Flickering with OpeningTree open - Bugfix: New Game did not clear the tags from the last game - Bugfix: Openening ECO files missed some checks - Bugfix: Opening ZIP or URL from Commandline or event loop was missing - Bugfix: Parsing half move count in FEN (Francis Monkman) - Bugfix: Removing a variation removed the wrong variation - Bugfix: Saving a database did not reset the modified flag resulting in - Bugfix: Selected wrong game when deleting games from Database - New Feature: Accept FENs which do not have a valid EnPassant Encoding - New Feature: AutoPlayer - New Feature: Continuous Blunder Checking - New Feature: Drag Drop complete db onto other db - New Feature: Player List with linked ECO filtering - New Feature: PlayerList gives hints on openings played - New Feature: Sorting the list of databases with header click - New Feature: Support Team Tags when saving games - New feature: Accept FEN with invalid movenumber (James Coons suggestion) - New feature: Reload last game at open of database - New feature: Mass changing tags in database (Events, Player Names) - New feature: Shift+Rightclick on Boardview allows editing of colored - New feature: Training mode - New feature: Numbering variations - New feature: Refactor complete game (uncomment / remove all variations) - New feature: Saving a game can now be either cancelled (the new option) - New feature: Edit square colors like in chessbase with Shift+Right- - New feature: Delete games from a database - New feature: Auto Analysis with Engine 1 of one or more games - New feature: Clear cache between database changes - New feature: Reorder variations - CR#3558001 - New feature: Force adding a move as variation by pressing ALT while - New feature: Copy Fen in human readable form - CR#3580030 - New feature: DatabaseList double click opens file - New feature: Highlight last move done when scrolling through a game December 2012 Version 0.9.4 - Bugfix: Writing of files automatically made use of UTF8 instead of ANSI - Bugfix: Crash at loading PolyGlot 1.4 - Bugfix: Comment at start of empty game - Bugfix: Databases larger than 4G - Bugfix: Databases with UNIX-LF - Bugfix: Some nags were not properly accessible from keyboard - Bugfix: No keyboard nags for first white move - New Feature: Time Editor for elapsed game time - New Feature: CR#3580029 Add only first move from engine analysis - New feature: Close database from the database list with context menu - New feature: Toggle UTF8 flag in database list - New feature: Open compressed archives (from HTTP or local file) - New feature: Open a database from a URL (HTTP) - New Feature: Clear Nags from keyboard with - New Feature: Create Index File thus accelerating re-loading of large PGN enormously - New Feature: Searching of ranges, e.g. ELO "2000-2300" - New Feature: Automatic classification with ECO of unclassified / new games November 2012 Version 0.9.2 - Bugfix: Support engines which send multiple spaces - Bugfix: Close Database while updateing opening tree - Bugfix: Filtering for number of moves fails if an empty game is in the database - Bugfix: Not well behaving Xboard engines crash ChessX - Bugfix: Search of Board crashes when started together with OpeninTree Update - Bugfix: Press CTRL+drag to irritate the guessMove implementation - New Feature: Move Indicator adjusts itself in size (James Coons) - New Feature: Common Font Size for all widgets except game view - New Feature: Separate handling of UTF8 files - New feature: List views can be customized (right click title line) - New feature: UCI Option Parser - New Feature: CTRL+drag, CTRL-Shift-Drag replaces or inserts a move - New Feature: F1 starts Help View and some help contents are already there - New Feature: Games with errors insided are marked red in game list - New feature: Added Stockfish as internal Engine in case no engine is configured - New board themes Brazilwood and Maple - New Icons - Usability: Filterflag only influences gamelist September 2012 Version 0.9 * New Features - Player List as Dock Window - New Database List - Drag and Drop of games - Drag and Drop of Databases - Second analysis window - Locate Databases on harddisk in Explorer/Finder - Multi-Threading Support for opening DB and updating Opening Tree - Copy / Paste of PGN - Create Images of Boards - New Board Styles - All Resources internal - Parsing PGN to draw arrows on board (cf. chessbase) - Parsing PGN to color Squares (cf. chessbase) - Parse / Insert Zero Moves to document / analyze threats - Drag'n'Drop Support setting up a board - Relaxed FEN handling for easier pasting of FENs - Version Resource in Windows - Icon Resource in Windows - UTF8 Support * bugfixes in Parser - Fixed some strange PGN parsing issues - especially issues like the one described in #3396532 * bugfixes in GUI - It is not possible to add a variation from Analysis to a game text if standing at end of a variation - Bugfixes starting up engines - Disabled MultiPV on XBoard engines - Added elapsed time for analysis lines * issues closed: - CR#2984375 Saving Clipboard fails silently - CR#3043278 Problem with LaTeX output - CR#3135871 No control performed on input date - CR#3135871 No control performed on input date - CR#2872974 Remove->Previous moves should be smarter - CR#3542101 Changing and saving a file does not update the game list view - CR#2881228 Crash on File->Close (or Quit) with OpeningTree updating - CR#3297478 Crash on move gxh2+ - CR#2823746 Crash when trying to analyze with non-existing New Engine - CR#2881228 Crash on File->Close (or Quit) with OpeningTree updating - CR#3170534 Crash if start of engine fails (0.8) - CR#3179203 Do not crash trying to show a special NAG; this should solve bug . - CR#2824024 Confusion between slash and backslash in file paths - CR#1773747 "Change guessed move on right click". The feature can be configured, as currently we have "take back a move" om mouse right click (if configured, CTRL+right-mouse will move back instead) - CR#1651405 "Comments in UTF-8 are broken" - CR#1715720 - CR#1984912 Names in GameList vs QuickTagSearch - CR#3043278 Problem with LaTeX output - CR#3396532 errors reading multi line pgn formats - CR#2955889. * Building - Separate Debug/Release/Static folders November 20120 Version 0.8 * bug fixes: engine stuff * feature:Add engine variation to the game * feature:Implement MultiPV analysis for UCI engines (based on patch by Juan Carlos Girardi) * feature:Add basic NAG editing * feature:Simplify adding moves: always add variation if move exists. * feature:Add menu command to remove/promote variation. * feature:Show TableBase result in Analysis window. Wed 10 Feb 2010, 01:40:00 CET Version 0.7 * bugfix: do not crash when removing engines * bugfix: no problems with more than 10 engines * bugfix: do not stop running engine on minimize/hide * usability: browse for executable when adding new engines * bugfix: correctly display NAGs below the board * bugfix: correctly truncate previous moves * feature: global shortcut F2 to start/stop engine * change: speedup by canceling previous OpeningTree search before the next * bugfix: ignore clicks on illegal OpeningTree moves like [end] * feature: make editable PGN size limit configurable * feature: show progress bar when opening/saving files * feature: show progress bar for OpeningTree * feature: promote variation Wed 1 Jul 2009, 00:50:22 CET Version 0.6 * feature: warn when quitting with unsaved databases * feature: improve Engine tab of Preferences dialog, add reordering * feature: remember current engine * bugfix: show correct score for Crafty * bugfix: correctly display variations leading to mate in UCI engines * bugfix: update ECO database for opening detection and move guesser * bugfix: improve focus handling in game list and game text * feature: timer-delayed game loading when pressing Ctrl+Down/Up * bugfix: remove bold column names in TableView * bugfix: support NAGs not preceeded with space in PGN parser * bugfix: make PGN parser more robust * bugfix: optimize PGN output * bugfix: enable leading comment in mainline and variations * bugfix: slightly improve PGN export formatting * feature: allow creating new PGN databases * change: drop CXD databases support * bugfix: guess move only with mouse over the board * feature: truncate from the beginning * bugfix: correct tag order for QuickSearch * feature: search games by number or number range * bugfix: do not read a game beyong the end of file * feature: allow editing pre-move comments * bugfix: PGN standard compliant ep square in FEN * bugfix: reparent some dialogs * bugfix: remove flickering at startup * feature: make comments editable * feature: correctly read PGNs with FEN * feature: new Leipzig theme * feature: allow removing variations * feature: enable HTML export * feature: allow setting small fonts in chess text widgets (useful for laptops). * bugfix: save all PGN tags * bugfix: display correct move number in starting position * feature: allow copying games between databases * feature: allow copying pieces in BoardSetup by using Ctrl * change: add Advanced setting to BoardSetup * feature: PlayerInfo dialog with player statistics * feature: display FEN in BoardSetup * feature: copy/paste position in BoardSetup * bugfix: correctly recognize promotions in UCI engines * bugfix: correctly handle promotion in tablebases * bugfix: support 1/2 as a draw symbol Wed 13 Jun 2007 19:47:32 CET Version 0.5 * feature: engine analysis * feature: Opening Tree * feature: Setup Position dialog enhancements * feature: use ECO information to guess moves * feature: option to combine searches * feature: enable translations * feature: make frame color configurable * feature: remove last move with right click * feature: remember matching position in position search * feature: improve layout of Game Info * feature: display game length in Game List * feature: remove last move with right-click * feature: shortcuts for Game List and Game Text * bugfix: fix move loading failure in large databases * bugfix: open PGN files from command line * bugfix: don't flood tablebase servers with too many requests * bugfix: sometimes online tablebase wasn't used even if enabled * bugfix: flip setup board if main board is flipped * bugfix: various small fixes to move guesser * bugfix: some errors in Game/tags handling * bugfix: do not crash when loading random game from empty filter * change: lower network usage for EGTB server * change: new, much faster Board implementation * change: much faster Tag search * change: do not highlight first move in starting position * change: redesign Board tab in Preferences dialog Wed 9 May 2007 18:59:47 CET Version 0.4 * feature: new, much improved themes * feature: move guesser * feature: support for online tablebases * feature: binary ECO file format (faster startup) * feature: simple tag search dialog for single tag searches * feature: improve look&feel and usability of Tip of the day * feature: Apply button for Preferences dialog * feature: configurable square highlight color * bugfix: update theme when pieces are changed * bugfix: fix some drag&drop problems * bugfix: segfault when truncating moves from empty game * bugfix: ask for promoted piece only for legal moves * bugfix: allow variations in starting position * bugfix: correctly redraw board frame * bugfix: correctly show side to move in Setup Position dialog * bugfix: fix rare bug when # symbol was displayed instead of + * bugfix: correctly calculate hash value for en passant * bugfix: re-enable FEN tag support * change: optimize PGN loading (loads 10-20% faster) Mon 23 Apr 2007 18:59:47 CET Version 0.3 * feature: display ECO information * feature: move pieces by drag&drop * feature: remove moves/variations and truncate moves * feature: display side to move * feature: position search * feature: internal support for editable PGN databases (no GUI yet!) * feature: export games in filter/all games to PGN * feature: small sample player database (look for Adams) * bugfix: fix incorrect SAN representation of en-passant moves * bugfix: correctly calculate game length displayed in GameInfo * bugfix: display empty game * bugfix: more robust PGN parsing * bugfix: Sun-Solaris compilation (patch by Atul) * bugfix: some improvements to Windows installer * bugfix: more usual PGN format (space after move number etc.) Thu 28 Feb 2007 00:59:47 CET Version 0.2 * feature: highlight and display current move * feature: add variations * feature: support promotion when entering moves * feature: redesign Setup Position to improve usability * feature: check board validity in Setup position dialog * bugfix: correctly display move numbers for non-standard games * bugfix: keep move number and side to move when setting position * bugfix: copy/paste move number to/from FEN * bugfix: accept non-standard castling (0-0 instead of O-O) * bugfix: correctly draw large boards in unscaled pixmap mode * bugfix: insert all pieces in given color in Setup Position * bugfix: fix segfault when removing piece from empty square * bugfix: correctly finding installed data path on Debian. * change: clean configuration file format ./chessx-1.3.2/ChangeLog.txt000644 000765 000024 00000060527 12521215234 015317 0ustar00nistaff000000 000000 This will install version 1.3.2 of ChessX. List of Changes: - New feature: Variation indicator in toolbox - New feature: FICS - Toggle board at beginning of puzzle - New feature: Toolbox for adding Nags (e.g. on WhiteBoards) - New feature: FICS - Filter computers and unrated users - New feature: Show date of last access to a database - New feature: Pin Opening Tree at a position - New feature: Clear filter before starting search from opening tree - New feature: Select board for searching position from open boards - New feature: Show threat after making move - Bugfix: Index file usage broken - Bugfix: Missing newline copying games into a closed file - Bugfix: Better status message when copying multiple games - Bugfix: Gamelist header configuration does not persist - Bugfix: Windows Installation does not show Pin Icon April 2015: Version 1.3.0 - New Feature: Play games on FICS with telnet or timeseal - New Feature: Boards now 1:1 with open databases - New Feature: Remove found items from filter - New feature: Flip board to side to move while loading game in training - New feature: Setup Board Dialog with Coordinates - New feature: #137 Extend Opening tree (Back button) - New feature: Undo last move in Opening Tree - New feature: Player Info filters games also for specific color - New feature: Player Info shows regularly played openings - New feature: Automatic analysis backward from end of game - New feature: Refactoring from context menu of game text - New feature: PlayerInfo with performance per eco code - New feature: Hide selected game from game list - New feature: Allow editing arbitrary tags - New feature: Draw annotations whith Shit+Left-Click with last color used - New feature: Saving w/o dialog - New feature: Material profile - New feature: New board "lanta" - New feature: Allow filtering of non-active DB from OpeningTree - New feature: Send PGN by mail - New feature: load project databases from Help menu - Bugfix: Autoanalysis runs over remaining game after adding variation - Bugfix: Annotation menu seems to contain duplicate entry - Bugfix: Do not limit num pv in analysis - Bugfix: Pressing Shift while dragging piece creates illegal baord view - Bugfix: Guess generation crashes when given an illegal position - Bugfix: In auto responder mode, arrows where painted too late - Bugfix: Dialogs non-modal - Bugfix: Loading translations failed - Bugfix: Open file with relative path from commandline October 2014: Version 1.2.2 - Bugfix: Entering a rook move or 0-0 did not work via keyboard - Bugfix: Plycount wrong saving a game from the non-current database - Bugfix: Crash saving a database upon closing chessx if database was not current DB - Bugfix: Enter-Key did not terminate entering a nag - Bugfix: Occasionally random move would get highlighted - Bugfix: Searching for Rounds and Moves did not work - Bugfix: Searching for ranges did not include limits - Bugfix: UCI Options containing a '.' were parsed incorrectly - Bugfix: Entering half-ply count was limited to 99 moves (thx to Niklas) - Bugfix: Retracing a game would fail at move one - Bugfix: Retracing a game beyond a move with variations would leave invisible variations - Bugfix: Pasting PGN into new game did not set modified flag - Bugfix: Pasting FEN into new game did not create new game - Bugfix: Changes to square and arrow annotations in annotation dialog are not painted immediately - New feature: CR#141 Edit game details - New feature: CR#140 Remember maximize state (and full-screen state) - New feature: Arrow as current move hint - New feature: Menu entry to clear clipboard database - New feature: Sorting of game list by clicking header (for databases<=4K) - New feature: Multi-Selection in the game list - Enhanced: Speed up polyglot book building - Changed: F3/F4 now load previous / next game July 2014: Version 1.2.0 - New Feature: Use polyglot books in Opening Tree - New Feature: Build polyglot books from Databaselist - New Feature: Enter games via keyboard - New Feature: Undo and Redo of game editing actions - New Feature: Support for external tools - New Feature: Paste variation from clipboard into game - New Feature: Danish Translation (thanks to Byrial Jensen) - New Feature: Allow removing found items from filter - New feature: Show title of game in Copy Game Dialog - New feature: Opening names in ECO Widget - New feature: Make position searches more comfortable - New feature: CR#206 Remember settings for more windows. - New feature: CR#203 Center the board inside its container - New feature: CR#118 Gameview: Make tags clickable - New feature: Auto analysis writes engine's name into final annotation - New feature: Asynchronous Searching - New feature: Allow several unsaved games at the same time (one per db) - New feature: Allow disabling menu icons - New feature: Allow constant move indicator - New feature: #117 Export screenshot to file - New feature: Filter in ECO widgets support regular expression - New feature: Checkbox in opening tree to add moves to game too - Changed: Pinned games have infinite analysis depth - Changed: Dialogs remember sizes and screen positions - Changed: CR#127 New navigation buttons order. - Changed: board tabs carry name of db instead of numbers - Changed: Auto analysis won't add move at end of game - Changed: Assignment of CTRL+C key to direct pasting of PGN - Changed: #121 Thicker, more visible arrows and colored squares - Changed: Show game title now in three lines - Changed: Copy of a game via context menu copies selected game - Changed: ECO Widget shows names of openings - Bugfix: Nags with bishops now exclusive - Bugfix: CR#205 line does not resume from the same indentation. - Bugfix: CR#204 Database is not released from memory upon closing - Bugfix: Annotations were not handled correctly when compacting database - Bugfix: Analysis/"Mate in" has inconsistent color - Bugfix: EGT Time annotation broken - Bugfix: Do not send ucinewgame after making a move February 2014: Version 1.1.0 - New feature: Traning with Toolbar Icon - New feature: Play out game against engine - New feature: Limit time that engines may use for analysis - New feature: Auto Responder for training openings etc. - New feature: Show name of opening in addition to ECO-Code - New feature: Use any open database as source for Opening Tree - New feature: Opening Tree with Filter as Source - New feature: Splitter in Detail Views - New Feature: CR#6 Configurable shortcuts - New feature: Visual indicator for results - New feature: Show location of AppSettings in About Dlg - New feature: CR#108 Lock engine to current position - New feature: Null moves at unusual positions - New feature: Incremental Opening Tree - New feature: Adjust columns in list views - New feature: Tabs switch if something is dragged to them (CR#112) - New feature: Hilite new favorite item - New feature: Select font for ChessBrowser from Preferences - New feature: Additional link targets in info widgets - New feature: PromotionDialog as suggested in CR#113 Pieces in promotion dialog - New feature: Added possibility to force loading english lang in German and French - Bugfix: #193 wrong nag $1-$6 - Bugfix: #191 Cannot edit an annotation-only comment - Bugfix: Time malformed - Bugfix: #189 Missing PNG for new board button - Bugfix: Searching for result 1-0 was not possible - Bugfix: Filtering if filter widget was changed from another widget - Bugfix: CR#105 few remarks - issue 1 - coherence with icons - Bugfix: CR#187 comments before first move are not read - Bugfix: HTML-Output in some special cases wrong - Bugfix: Worked around potential leak with smart pointer - Bugfix: Issue closing chessx while loading a database - Bugfix: Some columns won't display their content if the local setup is old enough - Bugfix: #180 - part 3 (user is asked several times to load database) - Bugfix: Nullmove issue - Bugfix: #180: Load Order of DLLs (did not start on Windows) - Bugfix: Better output of end of variations - Bugfix: Workaround for Apache Issue: #183 Download of PGN databases fails because of blocked user-agent - Bugfix: Guessengine crashes when accessing uninitialized memory - Bugfix: CR#182 Minimize - restore = tab switch bug - Bugfix: CR#181 typos - Bugfix: CR#178 Deleting a variation does not clear the annotation - Bugfix: Unterverwandlung inkorrekt - Fixed: textbrowserex.h case sensitivity (did not compile on Linux) - Fixed: a static leak (thanks to Albert for mentioning this) - Fixed: portability issue #185 Build error in enginelist.cpp for kFreeBSD - Changed: Flip Icon consistent with main GUI - Changed: Slider 'Move Interval' moved from Preferences to StatusBar September 2013: Version 1.0.0 - New feature: Get translation files from server - New feature: Copy Text or HTML from Notation - New feature: Offer to load a default database for first time users - New feature: CR#10 Configurable Game View - customize appearance of notation - New feature: Inserting moves (in addition to adding moves as variation - New Feature: CR#86 Merge games with Drag&Drop - New Feature: CR#46 Games whose position is [end] selectable - New Feature: CR#43 Frequency and score ~0% instead of 0% when not exactly 0 - New feature: Setup Dialog has new functions to mirror board or colors. - New feature: Select Language from Preferences (requires restart) - New feature: Online check for updates - New Feature: Column date of last modification - New Feature: Localized Piece Initials (see CR#3592733 Output / Input PGN - New feature: Create a Diagram Nag (201 like in SCID) from GUI - New Feature: Draw Board Coordinates (see CR#1715710 Numbers and ...) - New Feature: HTML Output with readable basic tags instead of PGN look - New feature: Diagrams in HTML Export and Notation - New feature: HTML Output with symbolic nags in HTML/UTF8 - New features: Navigation within siblings of variations with keyboard - New feature: Enter or Exit Variation now moves within mainline - New feature: Toolbar for commonly used actions - New Feature: ECO based Opening Overview of the current database - New Feature: MDI-Interface - New feature: Opening tree has its own board view. - New Feature: CR#3607996 Always on top feature - Bugfix: ChessBrowser does not indicate '?'-tags - Bugfix: HTML-Output contained one HTML-Header for each game - Bugfix: Sorting by size was not ideal - Bugfix: CR#171 - Board Setup dialog: wrong board size - Bugfix: Removing last arrow annotation leaves ugly comment - Bugfix: Stay On Top accidentally active in OS which were Non-Windows-OS - Bugfix: Concurrent loading of games (fix from James Coons) - Bugfix: Game List was not updated after bulk copy of games - Bugfix: Black ELo was only saved if a white ELO was given - Bugfix: CR#3612157 tablebase - Bugfix: Performance Boost for filtering with result-cache - Bugfix: CR#3611434 Local vs global menu inconsistency - Bugfix: Update Widgets after saving a database - Bugfix: Created PGN was invalid due to invalid date format - Bugfix: Opening new game did not clear selection on game list March 2013 Version 0.9.6 - Bugfix / Feature removal: Filtering opening tree was somewhat active - Bugfix: (thx to James!) Promoting into different pieces cannot start - Bugfix: Before closing a database ask to save a new or modified game - Bugfix: CR#3596577 - Game modifications lost when changing a game - Bugfix: Ctrl+Drag in BoardSetup-Dialog loses a button - Bugfix: DatabaseList view shows Linked local files with annoying scheme - Bugfix: Drawing board when resizing off by 1 - Bugfix: Enable Escape-Key for Dialogs - Bugfix: Flickering with OpeningTree open - Bugfix: New Game did not clear the tags from the last game - Bugfix: Openening ECO files missed some checks - Bugfix: Opening ZIP or URL from Commandline or event loop was missing - Bugfix: Parsing half move count in FEN (Francis Monkman) - Bugfix: Removing a variation removed the wrong variation - Bugfix: Saving a database did not reset the modified flag resulting in - Bugfix: Selected wrong game when deleting games from Database - New Feature: Accept FENs which do not have a valid EnPassant Encoding - New Feature: AutoPlayer - New Feature: Continuous Blunder Checking - New Feature: Drag Drop complete db onto other db - New Feature: Player List with linked ECO filtering - New Feature: PlayerList gives hints on openings played - New Feature: Sorting the list of databases with header click - New Feature: Support Team Tags when saving games - New feature: Accept FEN with invalid movenumber (James Coons suggestion) - New feature: Reload last game at open of database - New feature: Mass changing tags in database (Events, Player Names) - New feature: Shift+Rightclick on Boardview allows editing of colored - New feature: Training mode - New feature: Numbering variations - New feature: Refactor complete game (uncomment / remove all variations) - New feature: Saving a game can now be either cancelled (the new option) - New feature: Edit square colors like in chessbase with Shift+Right- - New feature: Delete games from a database - New feature: Auto Analysis with Engine 1 of one or more games - New feature: Clear cache between database changes - New feature: Reorder variations - CR#3558001 - New feature: Force adding a move as variation by pressing ALT while - New feature: Copy Fen in human readable form - CR#3580030 - New feature: DatabaseList double click opens file - New feature: Highlight last move done when scrolling through a game December 2012 Version 0.9.4 - Bugfix: Writing of files automatically made use of UTF8 instead of ANSI - Bugfix: Crash at loading PolyGlot 1.4 - Bugfix: Comment at start of empty game - Bugfix: Databases larger than 4G - Bugfix: Databases with UNIX-LF - Bugfix: Some nags were not properly accessible from keyboard - Bugfix: No keyboard nags for first white move - New Feature: Time Editor for elapsed game time - New Feature: CR#3580029 Add only first move from engine analysis - New feature: Close database from the database list with context menu - New feature: Toggle UTF8 flag in database list - New feature: Open compressed archives (from HTTP or local file) - New feature: Open a database from a URL (HTTP) - New Feature: Clear Nags from keyboard with - New Feature: Create Index File thus accelerating re-loading of large PGN enormously - New Feature: Searching of ranges, e.g. ELO "2000-2300" - New Feature: Automatic classification with ECO of unclassified / new games November 2012 Version 0.9.2 - Bugfix: Support engines which send multiple spaces - Bugfix: Close Database while updateing opening tree - Bugfix: Filtering for number of moves fails if an empty game is in the database - Bugfix: Not well behaving Xboard engines crash ChessX - Bugfix: Search of Board crashes when started together with OpeninTree Update - Bugfix: Press CTRL+drag to irritate the guessMove implementation - New Feature: Move Indicator adjusts itself in size (James Coons) - New Feature: Common Font Size for all widgets except game view - New Feature: Separate handling of UTF8 files - New feature: List views can be customized (right click title line) - New feature: UCI Option Parser - New Feature: CTRL+drag, CTRL-Shift-Drag replaces or inserts a move - New Feature: F1 starts Help View and some help contents are already there - New Feature: Games with errors insided are marked red in game list - New feature: Added Stockfish as internal Engine in case no engine is configured - New board themes Brazilwood and Maple - New Icons - Usability: Filterflag only influences gamelist September 2012 Version 0.9 * New Features - Player List as Dock Window - New Database List - Drag and Drop of games - Drag and Drop of Databases - Second analysis window - Locate Databases on harddisk in Explorer/Finder - Multi-Threading Support for opening DB and updating Opening Tree - Copy / Paste of PGN - Create Images of Boards - New Board Styles - All Resources internal - Parsing PGN to draw arrows on board (cf. chessbase) - Parsing PGN to color Squares (cf. chessbase) - Parse / Insert Zero Moves to document / analyze threats - Drag'n'Drop Support setting up a board - Relaxed FEN handling for easier pasting of FENs - Version Resource in Windows - Icon Resource in Windows - UTF8 Support * bugfixes in Parser - Fixed some strange PGN parsing issues - especially issues like the one described in #3396532 * bugfixes in GUI - It is not possible to add a variation from Analysis to a game text if standing at end of a variation - Bugfixes starting up engines - Disabled MultiPV on XBoard engines - Added elapsed time for analysis lines * issues closed: - CR#2984375 Saving Clipboard fails silently - CR#3043278 Problem with LaTeX output - CR#3135871 No control performed on input date - CR#3135871 No control performed on input date - CR#2872974 Remove->Previous moves should be smarter - CR#3542101 Changing and saving a file does not update the game list view - CR#2881228 Crash on File->Close (or Quit) with OpeningTree updating - CR#3297478 Crash on move gxh2+ - CR#2823746 Crash when trying to analyze with non-existing New Engine - CR#2881228 Crash on File->Close (or Quit) with OpeningTree updating - CR#3170534 Crash if start of engine fails (0.8) - CR#3179203 Do not crash trying to show a special NAG; this should solve bug . - CR#2824024 Confusion between slash and backslash in file paths - CR#1773747 "Change guessed move on right click". The feature can be configured, as currently we have "take back a move" om mouse right click (if configured, CTRL+right-mouse will move back instead) - CR#1651405 "Comments in UTF-8 are broken" - CR#1715720 - CR#1984912 Names in GameList vs QuickTagSearch - CR#3043278 Problem with LaTeX output - CR#3396532 errors reading multi line pgn formats - CR#2955889. * Building - Separate Debug/Release/Static folders November 20120 Version 0.8 * bug fixes: engine stuff * feature:Add engine variation to the game * feature:Implement MultiPV analysis for UCI engines (based on patch by Juan Carlos Girardi) * feature:Add basic NAG editing * feature:Simplify adding moves: always add variation if move exists. * feature:Add menu command to remove/promote variation. * feature:Show TableBase result in Analysis window. Wed 10 Feb 2010, 01:40:00 CET Version 0.7 * bugfix: do not crash when removing engines * bugfix: no problems with more than 10 engines * bugfix: do not stop running engine on minimize/hide * usability: browse for executable when adding new engines * bugfix: correctly display NAGs below the board * bugfix: correctly truncate previous moves * feature: global shortcut F2 to start/stop engine * change: speedup by canceling previous OpeningTree search before the next * bugfix: ignore clicks on illegal OpeningTree moves like [end] * feature: make editable PGN size limit configurable * feature: show progress bar when opening/saving files * feature: show progress bar for OpeningTree * feature: promote variation Wed 1 Jul 2009, 00:50:22 CET Version 0.6 * feature: warn when quitting with unsaved databases * feature: improve Engine tab of Preferences dialog, add reordering * feature: remember current engine * bugfix: show correct score for Crafty * bugfix: correctly display variations leading to mate in UCI engines * bugfix: update ECO database for opening detection and move guesser * bugfix: improve focus handling in game list and game text * feature: timer-delayed game loading when pressing Ctrl+Down/Up * bugfix: remove bold column names in TableView * bugfix: support NAGs not preceeded with space in PGN parser * bugfix: make PGN parser more robust * bugfix: optimize PGN output * bugfix: enable leading comment in mainline and variations * bugfix: slightly improve PGN export formatting * feature: allow creating new PGN databases * change: drop CXD databases support * bugfix: guess move only with mouse over the board * feature: truncate from the beginning * bugfix: correct tag order for QuickSearch * feature: search games by number or number range * bugfix: do not read a game beyong the end of file * feature: allow editing pre-move comments * bugfix: PGN standard compliant ep square in FEN * bugfix: reparent some dialogs * bugfix: remove flickering at startup * feature: make comments editable * feature: correctly read PGNs with FEN * feature: new Leipzig theme * feature: allow removing variations * feature: enable HTML export * feature: allow setting small fonts in chess text widgets (useful for laptops). * bugfix: save all PGN tags * bugfix: display correct move number in starting position * feature: allow copying games between databases * feature: allow copying pieces in BoardSetup by using Ctrl * change: add Advanced setting to BoardSetup * feature: PlayerInfo dialog with player statistics * feature: display FEN in BoardSetup * feature: copy/paste position in BoardSetup * bugfix: correctly recognize promotions in UCI engines * bugfix: correctly handle promotion in tablebases * bugfix: support 1/2 as a draw symbol Wed 13 Jun 2007 19:47:32 CET Version 0.5 * feature: engine analysis * feature: Opening Tree * feature: Setup Position dialog enhancements * feature: use ECO information to guess moves * feature: option to combine searches * feature: enable translations * feature: make frame color configurable * feature: remove last move with right click * feature: remember matching position in position search * feature: improve layout of Game Info * feature: display game length in Game List * feature: remove last move with right-click * feature: shortcuts for Game List and Game Text * bugfix: fix move loading failure in large databases * bugfix: open PGN files from command line * bugfix: don't flood tablebase servers with too many requests * bugfix: sometimes online tablebase wasn't used even if enabled * bugfix: flip setup board if main board is flipped * bugfix: various small fixes to move guesser * bugfix: some errors in Game/tags handling * bugfix: do not crash when loading random game from empty filter * change: lower network usage for EGTB server * change: new, much faster Board implementation * change: much faster Tag search * change: do not highlight first move in starting position * change: redesign Board tab in Preferences dialog Wed 9 May 2007 18:59:47 CET Version 0.4 * feature: new, much improved themes * feature: move guesser * feature: support for online tablebases * feature: binary ECO file format (faster startup) * feature: simple tag search dialog for single tag searches * feature: improve look&feel and usability of Tip of the day * feature: Apply button for Preferences dialog * feature: configurable square highlight color * bugfix: update theme when pieces are changed * bugfix: fix some drag&drop problems * bugfix: segfault when truncating moves from empty game * bugfix: ask for promoted piece only for legal moves * bugfix: allow variations in starting position * bugfix: correctly redraw board frame * bugfix: correctly show side to move in Setup Position dialog * bugfix: fix rare bug when # symbol was displayed instead of + * bugfix: correctly calculate hash value for en passant * bugfix: re-enable FEN tag support * change: optimize PGN loading (loads 10-20% faster) Mon 23 Apr 2007 18:59:47 CET Version 0.3 * feature: display ECO information * feature: move pieces by drag&drop * feature: remove moves/variations and truncate moves * feature: display side to move * feature: position search * feature: internal support for editable PGN databases (no GUI yet!) * feature: export games in filter/all games to PGN * feature: small sample player database (look for Adams) * bugfix: fix incorrect SAN representation of en-passant moves * bugfix: correctly calculate game length displayed in GameInfo * bugfix: display empty game * bugfix: more robust PGN parsing * bugfix: Sun-Solaris compilation (patch by Atul) * bugfix: some improvements to Windows installer * bugfix: more usual PGN format (space after move number etc.) Thu 28 Feb 2007 00:59:47 CET Version 0.2 * feature: highlight and display current move * feature: add variations * feature: support promotion when entering moves * feature: redesign Setup Position to improve usability * feature: check board validity in Setup position dialog * bugfix: correctly display move numbers for non-standard games * bugfix: keep move number and side to move when setting position * bugfix: copy/paste move number to/from FEN * bugfix: accept non-standard castling (0-0 instead of O-O) * bugfix: correctly draw large boards in unscaled pixmap mode * bugfix: insert all pieces in given color in Setup Position * bugfix: fix segfault when removing piece from empty square * bugfix: correctly finding installed data path on Debian. * change: clean configuration file format ./chessx-1.3.2/chessx.pro000644 000765 000024 00000030604 12522144662 014746 0ustar00nistaff000000 000000 # Main application DEFINES += CONFIG += uic warn_on QT += network svg greaterThan(QT_MAJOR_VERSION, 4) { QT += printsupport QT += widgets QT -= multimediawidgets QT -= xml # Comment out sound for Ubuntu with Qt5 if multimedia is not available (default in Ubuntu) CONFIG += sound } sound { DEFINES += USE_SOUND QT += multimedia } static { # Everything below takes effect with CONFIG += static DEFINES += STATIC message("Static build.") } DEFINES += QUAZIP_STATIC DEFINES += QT_NO_CAST_TO_ASCII DEFINES *= QT_USE_QSTRINGBUILDER macx { QMAKE_MAC_SDK = macosx10.9 QMAKE_CXXFLAGS += -fvisibility=hidden QMAKE_LFLAGS_RELEASE -= -O2 QMAKE_LFLAGS_RELEASE += -m64 -O3 QMAKE_CXXFLAGS_RELEASE -= -O2 QMAKE_CXXFLAGS_RELEASE *= -m64 -O3 } FORMS += \ src/dialogs/savedialog.ui \ src/dialogs/copydialog.ui \ src/dialogs/renametagdialog.ui \ src/dialogs/aboutdlg.ui \ src/dialogs/promotiondialog.ui \ src/dialogs/actiondialog.ui \ src/dialogs/dlgsavebook.ui \ src/dialogs/boardsearchdialog.ui \ src/dialogs/recipientaddressdialog.ui \ src/dialogs/commentdialog.ui \ src/gui/engineoptiondialog.ui \ src/gui/boardsetup.ui \ src/gui/analysiswidget.ui \ src/gui/tagdetailwidget.ui \ src/gui/openingtreewidget.ui \ src/gui/loadquery.ui \ src/gui/ficsconsole.ui \ src/dialogs/tagdialog.ui \ src/dialogs/preferences.ui \ src/dialogs/quicksearch.ui \ src/gui/gamewindow.ui HEADERS += src/database/board.h \ src/database/move.h \ src/database/game.h \ src/database/partialdate.h \ src/database/playerdatabase.h \ src/database/playerdata.h \ src/database/databaseconversion.h \ src/database/engine.h \ src/database/wbengine.h \ src/database/uciengine.h \ src/database/search.h \ src/database/query.h \ src/database/database.h \ src/database/pgndatabase.h \ src/database/memorydatabase.h \ src/database/filter.h \ src/database/tristatetree.h \ src/database/nag.h \ src/database/settings.h \ src/database/spellchecker.h \ src/database/historylist.h \ src/database/output.h \ src/database/outputoptions.h \ src/database/databaseinfo.h \ src/database/indexitem.h \ src/database/index.h \ src/database/filtermodel.h \ src/database/tablebase.h \ src/database/bitboard.h \ src/database/openingtree.h \ src/database/version.h \ src/database/playerinfo.h \ src/database/enginelist.h \ src/database/enginedata.h \ src/database/analysis.h \ src/database/editaction.h \ src/guess/attacks.h \ src/guess/common.h \ src/guess/guessengine.h \ src/guess/error.h \ src/guess/guess.h \ src/guess/hash.h \ src/guess/misc.h \ src/guess/movelist.h \ src/guess/position.h \ src/guess/recog.h \ src/guess/sqlist.h \ src/guess/sqmove.h \ src/guess/sqset.h \ src/guess/tokens.h \ src/gui/mainwindow.h \ src/gui/boardview.h \ src/gui/boardtheme.h \ src/gui/boardsetup.h \ src/gui/colorlist.h \ src/gui/gamelist.h \ src/gui/chessbrowser.h \ src/gui/ecothread.h \ src/gui/analysiswidget.h \ src/gui/tableview.h \ src/gui/messagedialog.h \ src/gui/plaintextedit.h \ src/gui/databaselist.h \ src/gui/databaselistmodel.h \ src/gui/dockwidgetex.h \ src/gui/logstream.h \ src/gui/boardsetuptoolbutton.h \ src/gui/GameMimeData.h \ src/database/engineoptiondata.h \ src/gui/engineoptionmodel.h \ src/gui/engineoptiondialog.h \ src/gui/engineoptionlist.h \ src/gui/helpbrowser.h \ src/database/downloadmanager.h \ src/quazip/zip.h \ src/quazip/unzip.h \ src/quazip/quazipnewinfo.h \ src/quazip/quazipfileinfo.h \ src/quazip/quazipfile.h \ src/quazip/quazipdir.h \ src/quazip/quazip.h \ src/quazip/quazip_global.h \ src/quazip/quaziodevice.h \ src/quazip/quagzipfile.h \ src/quazip/quacrc32.h \ src/quazip/quachecksum32.h \ src/quazip/quaadler32.h \ src/quazip/JlCompress.h \ src/quazip/ioapi.h \ src/quazip/crypt.h \ src/gui/toolmainwindow.h \ src/gui/playerlistwidget.h \ src/gui/qled.h \ src/gui/eventlistwidget.h \ src/database/eventinfo.h \ src/gui/openingtreewidget.h \ src/gui/ecolistwidget.h \ src/database/ecoinfo.h \ src/gui/textbrowserex.h \ src/gui/loadquery.h \ src/guess/compileeco.h \ src/database/pdbtest.h \ src/gui/kbaction.h \ src/gui/translatingslider.h \ src/gui/exclusiveactiongroup.h \ src/database/polyglotdatabase.h \ src/database/openingtreethread.h \ src/database/movedata.h \ src/database/polyglotwriter.h \ src/gui/shellhelper.h \ src/database/ctgdatabase.h \ src/database/ctgbookwriter.h \ src/database/telnetclient.h \ src/database/ficsclient.h \ src/gui/style.h \ src/gui/chartwidget.h \ src/gui/ficsconsole.h \ src/database/clipboarddatabase.h \ src/database/ficsdatabase.h \ src/gui/exttool.h \ src/dialogs/aboutdlg.h \ src/dialogs/actiondialog.h \ src/dialogs/boardsearchdialog.h \ src/dialogs/commentdialog.h \ src/dialogs/copydialog.h \ src/dialogs/dlgsavebook.h \ src/dialogs/promotiondialog.h \ src/dialogs/recipientaddressdialog.h \ src/dialogs/renametagdialog.h \ src/dialogs/savedialog.h \ src/dialogs/tagdialog.h \ src/dialogs/preferences.h \ src/dialogs/quicksearch.h \ src/database/tags.h \ src/database/piece.h \ src/database/square.h \ src/database/result.h \ src/database/threadedguess.h \ src/gui/gamewindow.h \ src/database/ecopositions.h SOURCES += src/database/board.cpp \ src/database/game.cpp \ src/database/databaseconversion.cpp \ src/database/partialdate.cpp \ src/database/playerdatabase.cpp \ src/database/playerdata.cpp \ src/database/engine.cpp \ src/database/wbengine.cpp \ src/database/uciengine.cpp \ src/database/search.cpp \ src/database/query.cpp \ src/database/database.cpp \ src/database/pgndatabase.cpp \ src/database/memorydatabase.cpp \ src/database/filter.cpp \ src/database/tristatetree.cpp \ src/database/nag.cpp \ src/database/settings.cpp \ src/database/spellchecker.cpp \ src/database/historylist.cpp \ src/database/output.cpp \ src/database/outputoptions.cpp \ src/database/databaseinfo.cpp \ src/database/indexitem.cpp \ src/database/index.cpp \ src/database/filtermodel.cpp \ src/database/tablebase.cpp \ src/database/bitboard.cpp \ src/database/openingtree.cpp \ src/database/playerinfo.cpp \ src/database/enginelist.cpp \ src/database/enginedata.cpp \ src/database/analysis.cpp \ src/database/editaction.cpp \ src/guess/guessengine.cpp \ src/guess/guess.cpp \ src/guess/misc.cpp \ src/guess/movelist.cpp \ src/guess/position.cpp \ src/guess/recog.cpp \ src/gui/mainwindow.cpp \ src/gui/mainwindowactions.cpp \ src/gui/mainwindowabout.cpp \ src/gui/colorlist.cpp \ src/gui/boardview.cpp \ src/gui/boardtheme.cpp \ src/gui/boardsetup.cpp \ src/gui/gamelist.cpp \ src/gui/chessbrowser.cpp \ src/gui/analysiswidget.cpp \ src/gui/main.cpp \ src/gui/tableview.cpp \ src/gui/messagedialog.cpp \ src/gui/plaintextedit.cpp \ src/gui/databaselist.cpp \ src/gui/databaselistmodel.cpp \ src/gui/dockwidgetex.cpp \ src/gui/logstream.cpp \ src/gui/boardsetuptoolbutton.cpp \ src/database/engineoptiondata.cpp \ src/gui/engineoptionmodel.cpp \ src/gui/engineoptiondialog.cpp \ src/gui/engineoptionlist.cpp \ src/gui/helpbrowser.cpp \ src/database/downloadmanager.cpp \ src/quazip/quazipnewinfo.cpp \ src/quazip/quazipfile.cpp \ src/quazip/quazipdir.cpp \ src/quazip/quazip.cpp \ src/quazip/quaziodevice.cpp \ src/quazip/quagzipfile.cpp \ src/quazip/quacrc32.cpp \ src/quazip/quaadler32.cpp \ src/quazip/qioapi.cpp \ src/quazip/JlCompress.cpp \ src/quazip/zip.c \ src/quazip/unzip.c \ src/gui/toolmainwindow.cpp \ src/gui/playerlistwidget.cpp \ src/gui/qled.cpp \ src/gui/eventlistwidget.cpp \ src/database/eventinfo.cpp \ src/gui/openingtreewidget.cpp \ src/gui/ecolistwidget.cpp \ src/database/ecoinfo.cpp \ src/gui/loadquery.cpp \ src/guess/compileeco.cpp \ src/database/pdbtest.cpp \ src/gui/kbaction.cpp \ src/gui/translatingslider.cpp \ src/gui/exclusiveactiongroup.cpp \ src/database/polyglotdatabase.cpp \ src/database/openingtreethread.cpp \ src/database/movedata.cpp \ src/database/polyglotwriter.cpp \ src/gui/shellhelper.cpp \ src/database/ctgdatabase.cpp \ src/database/ctgbookwriter.cpp \ src/database/telnetclient.cpp \ src/database/ficsclient.cpp \ src/gui/style.cpp \ src/gui/chartwidget.cpp \ src/gui/ficsconsole.cpp \ src/database/clipboarddatabase.cpp \ src/database/ficsdatabase.cpp \ src/gui/exttool.cpp \ src/dialogs/aboutdlg.cpp \ src/dialogs/actiondialog.cpp \ src/dialogs/boardsearchdialog.cpp \ src/dialogs/commentdialog.cpp \ src/dialogs/copydialog.cpp \ src/dialogs/dlgsavebook.cpp \ src/dialogs/promotiondialog.cpp \ src/dialogs/recipientaddressdialog.cpp \ src/dialogs/renametagdialog.cpp \ src/dialogs/savedialog.cpp \ src/dialogs/tagdialog.cpp \ src/dialogs/preferences.cpp \ src/dialogs/quicksearch.cpp \ src/database/tags.cpp \ src/database/piece.cpp \ src/database/result.cpp \ src/database/threadedguess.cpp \ src/gui/gamewindow.cpp \ src/database/ecopositions.cpp TEMPLATE = app INCLUDEPATH += src/database INCLUDEPATH += src/guess INCLUDEPATH += src/gui INCLUDEPATH += src/dialogs INCLUDEPATH += src/quazip INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/zlib win32 { # Whereever zlib is installed on Windows # Strange enough, on Mac OS this is found automagically by Qt # DEFINES += ZLIB_WINAPI # LIBS += -lz INCLUDEPATH += /Qt/5.1.0/msvc2012_64/include/QtZlib } UI_DIR = src/generated MOC_DIR = src/generated RCC_DIR = src/generated CONFIG(debug, debug|release) { DESTDIR = "debug" OBJECTS_DIR = "obj_dbg" } CONFIG(release, debug|release) { DESTDIR = "release" OBJECTS_DIR = "obj_rel" DEFINES += QT_NO_DEBUG_OUTPUT NDEBUG } static { DESTDIR = "static" OBJECTS_DIR = "obj_static" DEFINES += QT_NO_DEBUG_OUTPUT NDEBUG } !win32 { CONFIG(debug, debug|release) { LIBS += -lz } CONFIG(release, debug|release) { LIBS += -lz } } TARGET = chessx ICON = data/images/chessx.icns RC_FILE = src/chessx.rc macx { INSTALLATION_DATA.files = mac_osx/qt_menu.nib INSTALLATION_DATA.path = Contents/Resources/ QMAKE_BUNDLE_DATA += INSTALLATION_DATA ENGINE_DATA.files = data/engines-mac/uci/stockfish-6-64 ENGINE_DATA.path = Contents/MacOS/data/engines-mac/uci QMAKE_BUNDLE_DATA += ENGINE_DATA BOOK_DATA.files = data/engines-mac/uci/book.bin BOOK_DATA.path = Contents/MacOS/data/engines-mac/uci QMAKE_BUNDLE_DATA += BOOK_DATA TIMESEAL_DATA.files = data/timeseal/mac/timeseal TIMESEAL_DATA.path = Contents/MacOS/data/timeseal/mac QMAKE_BUNDLE_DATA += TIMESEAL_DATA QMAKE_INFO_PLIST = mac_osx/Info.plist } RESOURCES = resources.qrc TRANSLATIONS = i18n/chessx_de.ts \ i18n/chessx_fr.ts \ i18n/chessx_it.ts isEmpty(QMAKE_LRELEASE) { win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\\lrelease.exe else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease } isEmpty(TS_DIR):TS_DIR = i18n TSQM.name = lrelease ${QMAKE_FILE_IN} TSQM.input = TRANSLATIONS TSQM.output = $$TS_DIR/${QMAKE_FILE_BASE}.qm TSQM.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.qm TSQM.CONFIG += no_link target_predeps QMAKE_EXTRA_COMPILERS += TSQM PRE_TARGETDEPS += compiler_TSQM_make_all OTHER_FILES += \ data/templates/pgn-default.template \ data/templates/notation-default.template \ data/templates/latex-default.template \ data/templates/html-default.template \ ChangeLog \ COPYING \ ChangeLog.txt \ data/help/about.css \ data/help/about0.html \ data/help/about1.html \ data/help/about1a.html \ data/help/about2.html \ data/help/about3.html \ data/help/about4.html \ data/help/about5.html \ data/help/about6.html \ setup7-64.iss \ setup7-32.iss \ setupXP.iss \ data/styles/orange.css \ unix/chessx.desktop macx { OTHER_FILES += \ mac_osx/Info.plist \ mac_osx/qt_menu.nib \ data/engines-mac/uci/stockfish-6-64 \ data/engines-mac/uci/book.bin \ data/timeseal/mac/timeseal } win32 { OTHER_FILES += \ src/chessx.rc \ src/chessx.ico } DISTFILES += \ INSTALL \ TODO \ Doxyfile \ License.txt \ README.developers \ unix/make_tarball ./chessx-1.3.2/COPYING000644 000765 000024 00000043131 10622575745 013772 0ustar00nistaff000000 000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble 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. 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. 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. 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. 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. 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. 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. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. 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". 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. 1. 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. 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. 2. 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: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) 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. c) 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.) 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. 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. 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. 3. 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: a) 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, b) 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, c) 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.) 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. 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. 4. 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. 5. 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. 6. 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. 7. 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. 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. 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. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. 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. 9. 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. 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. 10. 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. NO WARRANTY 11. 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. 12. 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. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 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, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. ./chessx-1.3.2/data/000755 000765 000024 00000000000 12522204501 013622 5ustar00nistaff000000 000000 ./chessx-1.3.2/Doxyfile000644 000765 000024 00000024117 10622575745 014450 0ustar00nistaff000000 000000 # Doxyfile 1.5.1-KDevelop #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = "Chess Database" PROJECT_NUMBER = 0.1 OUTPUT_DIRECTORY = CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English USE_WINDOWS_ENCODING = YES BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ "The $name file" \ is \ provides \ specifies \ contains \ represents \ a \ an \ the ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = YES MULTILINE_CPP_IS_BRIEF = NO DETAILS_AT_TOP = NO INHERIT_DOCS = YES SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 8 ALIASES = OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_JAVA = NO BUILTIN_STL_SUPPORT = NO DISTRIBUTE_GROUP_DOC = NO SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_STATIC = NO EXTRACT_LOCAL_CLASSES = YES EXTRACT_LOCAL_METHODS = NO HIDE_UNDOC_MEMBERS = YES HIDE_UNDOC_CLASSES = YES HIDE_FRIEND_COMPOUNDS = YES HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO CASE_SENSE_NAMES = YES HIDE_SCOPE_NAMES = NO SHOW_INCLUDE_FILES = NO INLINE_INFO = YES SORT_MEMBER_DOCS = YES SORT_BRIEF_DOCS = NO SORT_BY_SCOPE_NAME = NO GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = YES SHOW_DIRECTORIES = YES FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = src/ FILE_PATTERNS = *.c \ *.cc \ *.cxx \ *.cpp \ *.c++ \ *.java \ *.ii \ *.ixx \ *.ipp \ *.i++ \ *.inl \ *.h \ *.hh \ *.hxx \ *.hpp \ *.h++ \ *.idl \ *.odl \ *.cs \ *.php \ *.php3 \ *.inc \ *.m \ *.mm \ *.dox \ *.C \ *.CC \ *.C++ \ *.II \ *.I++ \ *.H \ *.HH \ *.H++ \ *.CS \ *.PHP \ *.PHP3 \ *.M \ *.MM \ *.C \ *.H \ *.tlh \ *.diff \ *.patch \ *.moc \ *.xpm \ *.dox RECURSIVE = YES EXCLUDE = EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = */ui* \ */moc* EXAMPLE_PATH = EXAMPLE_PATTERNS = * EXAMPLE_RECURSIVE = NO IMAGE_PATH = INPUT_FILTER = FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- SOURCE_BROWSER = NO INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES REFERENCED_BY_RELATION = NO REFERENCES_RELATION = NO REFERENCES_LINK_SOURCE = YES USE_HTAGS = NO VERBATIM_HEADERS = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = YES COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO CHM_FILE = HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = YES TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = NO LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide EXTRA_PACKAGES = LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = NO MAN_OUTPUT = man MAN_EXTENSION = .3 MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml XML_SCHEMA = XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = chessx.tag ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = YES HIDE_UNDOC_RELATIONS = YES HAVE_DOT = NO CLASS_GRAPH = YES COLLABORATION_GRAPH = YES GROUP_GRAPHS = YES UML_LOOK = NO TEMPLATE_RELATIONS = NO INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = YES CALL_GRAPH = NO CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png DOT_PATH = DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 MAX_DOT_GRAPH_DEPTH = 1000 DOT_TRANSPARENT = NO DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO ./chessx-1.3.2/i18n/000755 000765 000024 00000000000 12522204326 013475 5ustar00nistaff000000 000000 ./chessx-1.3.2/INSTALL000644 000765 000024 00000001302 12515220046 013742 0ustar00nistaff000000 000000 1. Requirements To compile ChessX, you need Qt version 4.8, better is Qt 5.3 or above. Reported issue: FICS does not work properly with Qt4 2. Compilation Compiling the source is simple. Execute: qmake and then make If the compilation is successful you should be able to run ChessX executable in bin subdirectory. It is called: chessx on Linux, chessx.app on Mac OS, chessx.exe on Windows 3. Problems You may check your Qt version by running: qmake -v If you erroneously tried to build with Qt3, be sure to recreate makefiles using: qmake -recursive 4. Debugging If you want to help debugging ChessX, rebuild with debug option enabled: qmake -recursive -after "CONFIG+=debug" make ./chessx-1.3.2/License.txt000644 000765 000024 00000043131 12463371063 015052 0ustar00nistaff000000 000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble 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. 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. 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. 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. 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. 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. 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. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. 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". 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. 1. 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. 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. 2. 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: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) 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. c) 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.) 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. 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. 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. 3. 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: a) 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, b) 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, c) 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.) 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. 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. 4. 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. 5. 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. 6. 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. 7. 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. 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. 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. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. 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. 9. 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. 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. 10. 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. NO WARRANTY 11. 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. 12. 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. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 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, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. ./chessx-1.3.2/README.developers000644 000765 000024 00000003017 10622575745 015765 0ustar00nistaff000000 000000 If you start working with code, please read though the following rules: 1. Use Qt naming scheme. You may have a look at Qt API to learn it. Here are some examples: * classes: BoardView, Filter * classes with acronyms: PgnDatabase * class variables: m_list, m_darkSquareColor * reading class variable: QString title() const * setting class variable: void setTitle(const QString& s) const * checks: isReadOnly() * functions with acronyms: moveToSan(), fromSan() 2. Use Doxygen format to comment your code * start class documentation with Doxygen header /** @ingroup Database The Board class represents a chess position. Pieces are kept directly on the board which is internally represented as simple array[0..63]. You can easily and quickly make and undo moves, although undoing moves requires keeping track of captured pieces. */ @ingroup should contain Database (for non-GUI classes) or GUI Next sentence should have 'The XXX class represents' or '... is' syntax * document each function /** Sets widget color. */ void setColor(const QColor& color); /** @return widget color. */ QColor color() const; * rebuild documentation with 'doxygen Doxyfile' and verify that your class is documented correctly. 3. Format your code with TABs. We advocate using astyle (http://astyle.sourceforge.net) to indent your code. To use astyle, put suffix=none style=linux mode=c force-indent=tab=8 one-line=keep-blocks unpad=paren pad=oper in ~/.astylerc. Then you can indent your code using: astyle ... ./chessx-1.3.2/resources.qrc000644 000765 000024 00000024467 12517423217 015462 0ustar00nistaff000000 000000 data/chessx.eco data/chessx.gtm data/help/about.css data/help/about0.html data/help/about1.html data/help/about1a.html data/help/about2.html data/help/about3.html data/help/about4.html data/help/about5.html data/help/about6.html i18n/chessx_de.qm i18n/chessx_fr.qm i18n/chessx_it.qm data/images/accept.png data/images/annotate.png data/images/arrow_green.png data/images/arrow_none.png data/images/arrow_red.png data/images/arrow_yellow.png data/images/back.png data/images/black_chess.png data/images/bug_add.png data/images/camera.png data/images/chessx.png data/images/circle_black.svg data/images/circle_blue.svg data/images/circle_green.svg data/images/circle_grey.svg data/images/circle_orange.svg data/images/circle_red.svg data/images/circle_yellow.svg data/images/close_board.png data/images/computer.png data/images/decline.png data/images/draw.png data/images/accessories_text_editor.png data/images/edit_copy.png data/images/edit_cut.png data/images/edit_mail.png data/images/edit_paste.png data/images/fileopen.png data/images/filter_reset.png data/images/filter_rev.png data/images/filter.png data/images/edit_find.png data/images/edit_find_tag.png data/images/button_first.png data/images/FlagFrance.png data/images/FlagGermany.png data/images/FlagPoland.png data/images/FlagUK.png data/images/flip_board.png data/images/flip-horizontal.png data/images/flip-vertical.png data/images/folder_closed.png data/images/folder_favorite.png data/images/folder_grey.png data/images/folder_new.png data/images/folder_open.png data/images/folder.png data/images/format_indent_less.png data/images/forward.png data/images/go_down_black.png data/images/go_up_black.png data/images/arrow_down_double.png data/images/go_jump.png data/images/edit_out.png data/images/arrow_up_double.png data/images/help_blue.png data/images/hint.png data/images/home.png data/images/insert_move.png data/images/internet.png data/images/button_last.png data/images/new_board.png data/images/new_game.png data/images/label_blue_new.png data/images/button_ffw.png data/images/pin.ico data/images/plus.png data/images/button_rew.png data/images/print.png data/images/rating.png data/images/redo_yellow.png data/images/replace_move.png data/images/replay.png data/images/respond.png data/images/save.png data/images/setup_board.png data/images/square_green.png data/images/square_none.png data/images/square_red.png data/images/square_yellow.png data/images/swap-color.png data/images/text_clear.png data/images/time_clear.png data/images/training.png data/images/undo_yellow.png data/sounds/ding1.wav data/sounds/fanfare_x.wav data/sounds/move.wav data/sounds/woodthunk.wav data/styles/checkbox.png data/styles/down_arrow.png data/styles/handle.png data/styles/orange.css data/templates/html-default.template data/templates/latex-default.template data/templates/notation-default.template data/templates/pgn-default.template data/themes/alpha.png data/themes/berlin.png data/themes/boards/aluminium.png data/themes/boards/brazilwood.png data/themes/boards/cherry.png data/themes/boards/lanta.png data/themes/boards/lapis.png data/themes/boards/mahogony.png data/themes/boards/maple.png data/themes/boards/marble.png data/themes/boards/sand.png data/themes/boards/sandlewood.png data/themes/boards/slate.png data/themes/boards/wood.png data/themes/fantasy.png data/themes/leipzig.png data/themes/merida.png data/themes/outline/alpha.png data/themes/outline/berlin.png data/themes/outline/leipzig.png data/themes/outline/merida.png data/themes/shadow/alpha.png data/themes/shadow/berlin.png data/themes/shadow/leipzig.png data/themes/shadow/merida.png data/themes/spatial.png ./chessx-1.3.2/src/000755 000765 000024 00000000000 12522204347 013510 5ustar00nistaff000000 000000 ./chessx-1.3.2/TODO000644 000765 000024 00000002006 12463371063 013413 0ustar00nistaff000000 000000 TODO for 0.5 (Next release, technical) * Clean up DatabaseInfo class TODO for 1.0 (Stable PGN-based version) * GameView - display custom tags in GameView - make GameView tags configurable (color, font) TODO for 1.5 (Extended PGN-based version) * File browser - recursively find database files * Searches - enhanced header search - board search (+variants) - material search * BoardView - move animation TODO for 2.0 (Stable Native-based version) * Native database format * Game sorting * Spellchecking * Playing/training against engine * Annotation/Blunder check * Tournament tables * ELO rating calculation * ECO Browser TODO - Ideas/Suggestions. Non critical * Ideas for database switching. - Database window like Scid - Dockable toolbar with a tool button for each database (My favourite idea) - Tab bar with a tab for each database * Format for electronic books * Format for exercises, tactics/endgmae training etc. * Faster PGN parser * Detecting duplicate games * Comment search * Crosstables * Rating graph ./chessx-1.3.2/unix/000755 000765 000024 00000000000 12522204326 013701 5ustar00nistaff000000 000000 ./chessx-1.3.2/unix/chessx.desktop000644 000765 000024 00000000701 12373630770 016601 0ustar00nistaff000000 000000 [Desktop Entry] Name=ChessX Name[de]=ChessX Name[fr]=ChessX Comment=Chess database Comment[de]=Schachdatenbank Comment[fr]=Base de données d'échecs GenericName=Chess Game GenericName[de]=Schachspiel GenericName[fr]=Jeu d'échecs Icon=chessx Exec=chessx %f Terminal=false Type=Application Categories=Game;BoardGame; MimeType=application/x-chess-pgn; Keywords=PGN;FEN;Database; Keywords[de]=PGN;FEN;Datenbank; Keywords[fr]=PGN;FEN;Base de données; ./chessx-1.3.2/unix/tar_exclude.txt000644 000765 000024 00000000165 12515401552 016745 0ustar00nistaff000000 000000 mac_osx setup*.iss tests tools engines engines-mac timeseal resource.h chessx.rc .svn make_tarball .DS_Store Packages./chessx-1.3.2/src/chessx.ico000644 000765 000024 00001261536 12045216060 015512 0ustar00nistaff000000 000000  ( V€€ (~ 00 ¨%¦(  ¨NN hö^( ÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþÿÿÿþþþþþþÿÿÿÿÿÿþþþÿÿÿþþþÿÿÿÿÿÿþþþþþþþþþÿÿÿÿÿÿþþþÿÿÿþþþÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþÿÿÿþþþ þþþøùûøùûùúû'ùúü,úûü2úûü6ûûü<ûûü?ùúüCøùûFùúüIùûüJùúûLúûüMùúûNùúûNúûüMùúûLúûüJùúûIøùûFøùûCûûü?úûü<úûü6ûüý2úûý,ùúû'øùû÷øúþþþþþþ ÿÿÿþþþþþþþþþþþþþþþ(ÿÿÿ:þþþFÿÿÿUþþþ_þþþmþþþvþþþþþþˆþþþ’ÿÿÿ˜þþþŸþþþ¤þþþ©ÿÿÿ¬þþþ°þþþ±ÿÿÿ²þþþ²ÿÿÿ±þþþ¯þþþ¬þþþ©þþþ¤ÿÿÿŸÿÿÿ˜ÿÿÿ’þþþˆÿÿÿÿÿÿvþþþmþþþ_þþþUþþþFþþþ:ÿÿÿ(þþþÿÿÿþþþÿÿÿþþþþþþÿÿÿøùûùúû(ûüý5øùû?üýþNÿÿÿZÿÿÿmÿÿÿ{ÿÿÿÿÿÿ™ÿÿÿ¨ÿÿÿ²ÿÿÿÀÿÿÿÉþþþÔÿÿÿÛþþþåÿÿÿëÿÿÿòÿÿÿ÷ÿÿÿüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüþþþ÷ÿÿÿòÿÿÿëÿÿÿåþþþÛÿÿÿÔÿÿÿÉÿÿÿÀþþþ²ÿÿÿ¨þþþ™ÿÿÿÿÿÿ{þþþmþþþZüýýNùúü?ûüý5ùúü(øùûÿÿÿþþþþþþþþþÿÿÿþþþþþþþþþ.þþþDþþþ^þþþpþþþ‰þþþ™þþþ­ÿÿÿ¸ÿÿÿÆþþþÍÿÿÿÖÿÿÿÜþþþåÿÿÿëþþþòþþþ÷þþþþÿÿÿÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿÿÿÿÿþþþÿÿÿÿÿþþþÿÿÿÿÿþþþÿÿÿÿÿþþþÿÿÿÿÿþþþÿÿÿÿÿþþþÿÿÿÿþþþþ÷þþþòÿÿÿëÿÿÿåþþþÜÿÿÿÖþþþÍÿÿÿÆþþþ¸ÿÿÿ­þþþ™ÿÿÿ‰þþþpþþþ^þþþDþþþ.þþþþþþþþþÿÿÿþþþþþþøùûúúü.÷ùû<üýýRþþþeÿÿÿƒþþþ—þþþ±ÿÿÿÄþþþÝþþþíÿÿÿþÿÿÿÿÿÿÿÿþþþÿúûüÿõ÷úÿíñöÿéîõÿãèñÿáçñÿÜãïÿÚãïÿ×àíÿÕÞìÿÐÚèÿÎØçÿÉÔãÿÉÔäÿÉÔäÿÉÓäÿÇÑâÿÇÑâÿÇÒâÿÇÒãÿÉÓãÿÌÕåÿÍÖåÿÏØæÿÑÚçÿÔÜéÿØßëÿÜãíÿàæïÿäéñÿéíóÿîñöÿóõøÿúûüÿþþþÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿíÿÿÿÝþþþÄÿÿÿ±þþþ—ÿÿÿƒþþþeûüýRøùû<úûü.ùúüþþþþþþÿÿÿþþþÿÿÿÿÿÿþþþBÿÿÿ^ÿÿÿÿÿÿ•ÿÿÿ±ÿÿÿÀÿÿÿÓþþþÜÿÿÿëÿÿÿõþþþÿÿÿÿÿÿÿÿÿüýþÿñôùÿèíõÿÛäðÿÒÜëÿÄÑäÿ¼Êàÿ±ÂÛÿ¬¾Úÿ¥¸×ÿ¡·×ÿ›²Óÿ—¯Ñÿ¨ËÿŠ¢ÆÿƒÀÿ›¿þ€™¿þ€™¿þ—¾þ~–½þ~—½þ€™¿þƒœÁþ‡žÃÿŠ¡Äÿ£Åÿ’¨Èÿ–«Êÿž±Îÿ¤¶Òÿ®¿ØÿµÅÜÿ¾ËàÿÃÐâÿÍ×åÿ×Þéÿåêñÿðó÷ÿüüýÿÿÿÿÿþþþÿÿÿÿÿÿÿÿõÿÿÿëþþþÜþþþÓþþþÀþþþ±ÿÿÿ•ÿÿÿÿÿÿ^þþþBÿÿÿþþþþþþþþþþþþþþþôöùùúü*øùû;ûüýYþþþrÿÿÿ—þþþ³ÿÿÿÔÿÿÿêÿÿÿÿÿÿÿÿÿÿÿÿùúüÿìðõÿçëóÿÞåïÿØàíÿÍØèÿÅÒåÿ·Çßÿ¯ÁÜÿ¢¸×ÿš±Òÿ‹¤Êÿ€›Äÿu“¿ÿqÀÿl¿ÿjŒÀÿdˆ¼ÿ`„¸ÿW|±ÿPv«ÿHo¤ÿEl¢ÿFm£ÿIn¤ÿJm¥ÿIm¤ÿIm¤ÿJn¥ÿKp¥ÿNr§ÿSu©ÿVxªÿZ{­ÿ]®ÿd„²ÿkŠ·ÿw“½ÿ~šÂÿ† ÇÿŠ£Çÿ¦Çÿ˜¬Éÿ§¸Ðÿ¶ÆÚÿÇÓãÿÑÜêÿÛãïÿàçðÿèíôÿïò÷ÿùûüÿÿÿÿÿþþþÿÿÿÿÿÿÿÿêÿÿÿÔþþþ³ÿÿÿ—ÿÿÿrýýþYøùû;ùúü*õ÷ùþþþþþþþþþþþþþþþÿÿÿ2þþþQÿÿÿyþþþ–þþþ·ÿÿÿÈÿÿÿßÿÿÿìþþþÿÿÿÿÿÿÿÿÿøùûÿæêòÿÖÝêÿÃÎâÿ¶ÄÜÿ¦¹Öÿœ±Òÿ‹¥Ëþ‚ŸÈþy˜Äþu•Äÿo‘Áÿj‹½ÿ^‚µÿUz°ÿOt­ÿOv°ÿOw³ÿRz¶ÿS{µÿRz²ÿPx®ÿLtªÿHo¥ÿFm¢ÿFl¢ÿIn¥ÿKo¦ÿLp§ÿLq§ÿLq¦ÿMr§ÿPt¨ÿRvªÿRv«ÿPuªÿMs¨ÿMr§ÿQvªÿY|°ÿ]‚µÿ`„·ÿ_´ÿ^~°ÿ^~¬ÿi‡°ÿv’¹þˆ¢Æþ”¬Îþ¢·Õÿ«¾ÙÿºÊàÿÈÔåÿÚâîÿéîôÿøùûÿÿÿÿÿþþþÿÿÿÿÿþþþìÿÿÿßþþþÈÿÿÿ·þþþ–þþþyþþþQþþþ2þþþÿÿÿþþþþþþþþþúûü&øúûEüüýaÿÿÿˆþþþ¨ÿÿÿÑþþþëÿÿÿÿÿÿÿÿýýþÿóöùÿåêòÿÜãîÿÌÖæÿ½Êßÿ§¸Óÿ™¬Íÿ‡ŸÅÿ|—ÂÿmŒ¼ÿaƒ¸ÿTz²ÿQx²ÿRy³ÿS{µÿSz´ÿOv°ÿJq«ÿDl¨ÿDk¨ÿHo­ÿNu²ÿR{¶ÿT|µÿS{³ÿRy¯ÿOv«ÿKr§ÿHo¤ÿHn£ÿJo¥ÿMr¨ÿNtªÿNt©ÿNt¨ÿPu©ÿTy­ÿX}±ÿX}±ÿTz®ÿOvªÿOuªÿSx­ÿV|°ÿW~³ÿT{³ÿMt­ÿEk¥ÿAgŸÿEj ÿNs§ÿW|¯ÿ]‚´ÿj‹»ÿt”Àÿ…¡ÈÿªÍÿ£¸Ôÿ°ÂÛÿÄÑãÿÐÛéÿÞæïÿèíôÿóöùÿýþþÿÿÿÿÿÿÿÿÿþþþëþþþÑþþþ¨ÿÿÿˆüüýaùúüEúûü&þþþþþþþþþÿÿÿÿÿÿþþþ!þþþMÿÿÿrþþþÿÿÿ¸ÿÿÿ×ÿÿÿèÿÿÿÿÿÿÿÿÿÿÿÿöøûÿßçðÿÌØçÿ³ÃÛÿ ´Òÿ‰ Æþy”¾þh…µþb²ÿZ{°ÿWz±ÿQv°ÿPv°ÿPv°ÿQw±ÿSy³ÿT{´ÿRy²ÿNt®ÿGn©ÿBi¦ÿBi§ÿFm¬ÿMt²ÿS{¶ÿU}¶ÿT|³ÿSy¯ÿPw¬ÿOuªÿMs§ÿLq¥ÿNr§ÿPuªÿQv«ÿQw«ÿPvªÿSx¬ÿX|±ÿ]‚¶ÿ\‚¶ÿV~±ÿQy¬ÿQx¬ÿU{¯ÿX~²ÿY´ÿU|³ÿOu®ÿHn¨ÿEk¤ÿIn¤ÿPu©ÿU{®ÿW}±ÿW}³ÿY´ÿc†¹ÿiŒ»ÿq’¿ÿx—Áþ‡£Èþ“¬Íþ§¼Öÿ¹ÊÞÿÏÛéÿáéòÿôöùÿÿÿÿÿþþþÿÿÿÿÿþþþèÿÿÿ×ÿÿÿ¸þþþÿÿÿrþþþMþþþ!þþþþþþÿÿÿõ÷úöøú-üýþRþþþuÿÿÿ¥þþþÉÿÿÿíÿÿÿÿþþþÿûûüÿëîôÿàçðÿÏÚéÿÂÑåÿ©½Ùÿ”­Îÿx•Àÿd„¶ÿOs«ÿFk¦ÿEj¤ÿFk¦ÿIo©ÿMr­ÿOt¯ÿOu¯ÿOu¯ÿQw±ÿSy²ÿTz²ÿQw°ÿKq«ÿEk§ÿ@g¥ÿAg¦ÿFl¬ÿMt²ÿRz¶ÿT|¶ÿSz²ÿQw®ÿPv¬ÿQw«ÿQv«ÿOt©ÿNs§ÿOt©ÿPv«ÿQx¬ÿRy®ÿUz°ÿY~´ÿ\·ÿZ€¶ÿU}±ÿRz®ÿSz¯ÿV}±ÿW}²ÿV|±ÿSy°ÿOu­ÿLr«ÿLqªÿNt«ÿRx­ÿSy®ÿSy®ÿTz°ÿX~³ÿ[¶ÿZ¶ÿX´ÿV}³ÿV}³ÿ^ƒ¶ÿp’¾ÿƒ¡Æÿš³Ñÿ«ÀÚÿÁÐãÿÎÚéÿßæïÿëïõÿûüýÿÿÿÿÿÿÿÿÿÿÿÿíþþþÉÿÿÿ¥þþþuûüýRö÷ú-õ÷ùÿÿÿþþþþþþþþþ&þþþWþþþÿÿÿ«ÿÿÿÈÿÿÿèþþþúþþþÿÿÿÿÿíðöÿÖÞêÿ»ÈÝÿ§ºÕÿ”¬Íþˆ¤Êþu–ÂþhŠ»ÿTy±ÿJpªÿHm¨ÿGl¦ÿFj¥ÿGl¦ÿIoªÿLr­ÿMs®ÿMt¯ÿOu¯ÿSy±ÿV{²ÿUz°ÿQv­ÿKq©ÿFk¦ÿBg¤ÿAf¦ÿEl«ÿLs²ÿQy¶ÿRzµÿOv¯ÿNsªÿOt©ÿRw«ÿTx¬ÿRvªÿOs¨ÿNs¨ÿQw«ÿT{¯ÿW}²ÿY~´ÿZ}µÿX|´ÿU{±ÿRy¯ÿRz¯ÿT|±ÿV}²ÿTz¯ÿQw¬ÿPv«ÿPu¬ÿQv­ÿSy¯ÿV|±ÿV|±ÿSz¯ÿPv­ÿRx®ÿX~³ÿ]ƒ·ÿ\‚·ÿX´ÿT|²ÿU|²ÿW~´ÿZ¶ÿcˆºÿq”ÀÿyšÄþˆ¦Êþ•®Ïþ©¼×ÿ½ËßÿØßëÿîñöÿÿÿÿÿþþþÿþþþúÿÿÿèÿÿÿÈÿÿÿ«þþþþþþWþþþ&þþþþþþÿÿÿþþþùúû'ûüüQÿÿÿzÿÿÿ°þþþÖþþþùÿÿÿÿþþþÿô÷úÿàçñÿÌ×çÿ¯ÀÙÿ˜­Íÿ|–¿ÿlŒ¸ÿ^ƒ´ÿ[‚¶ÿZ¶ÿU{²ÿOt­ÿKpªÿIn¨ÿHm§ÿGl§ÿHm¨ÿJp«ÿJq­ÿJq­ÿJr®ÿNu°ÿRz³ÿT{³ÿRy°ÿNt«ÿJo¨ÿFk¦ÿCh¥ÿBh§ÿFm¬ÿLs±ÿOw´ÿNv²ÿKr¬ÿJp§ÿMr¦ÿRw©ÿTy¬ÿRw«ÿOt¨ÿOt©ÿSy­ÿY€³ÿ^„·ÿ_ƒ¸ÿ[¶ÿUy±ÿOt¬ÿMt«ÿQy¯ÿV~³ÿV}³ÿQx­ÿLr§ÿKp¦ÿNs©ÿRw­ÿT{±ÿV}³ÿT}²ÿQz°ÿPw­ÿRy¯ÿX~³ÿ]ƒ·ÿ[‚¶ÿV}²ÿQy¯ÿRz°ÿV}´ÿ[‚·ÿ_†¹ÿ`ˆ¹ÿaˆ¹ÿaˆ¹ÿe‰ºÿs‘¾ÿ€šÁÿ™­Ëÿ¯¾ÖÿËÖåÿßæðÿóöúÿÿÿÿÿþþþÿÿÿÿùþþþÖÿÿÿ°ÿÿÿzûüüQùúû'þþþÿÿÿþþþþþþÿÿÿþþþNþþþxÿÿÿ©ÿÿÿËþþþïÿÿÿÿÿÿÿÿúüýÿäêòÿÌØèÿª¾Ùÿ§Ëþp¼þ`‚³ÿRv«ÿNtªÿU{¯ÿZ´ÿZ€µÿU{²ÿOu­ÿKqªÿJo¨ÿJo¨ÿKoªÿKpªÿKr¬ÿIq¬ÿGo¬ÿHp­ÿMt±ÿRz´ÿT{´ÿQx°ÿMs«ÿIn§ÿFl¦ÿDj¦ÿCj§ÿGn¬ÿLs±ÿNv³ÿLu±ÿIpªÿHn¥ÿKp¤ÿQv¨ÿTy«ÿRx«ÿNt©ÿOuªÿTz¯ÿ[‚µÿa‡ºÿb‡»ÿ^‚·ÿUy°ÿLq©ÿIo§ÿOv­ÿV~´ÿW~´ÿPw­ÿIo¥ÿIn¤ÿMr¨ÿRx­ÿTz¯ÿS{°ÿRz°ÿQz°ÿQz°ÿT{±ÿX~´ÿ[¶ÿY€´ÿT{°ÿPw­ÿRy¯ÿW}´ÿ]ƒ¸ÿ`‡ºÿaˆ¹ÿb‰ºÿcŠ»ÿb‡¹ÿZ~³ÿY{¯ÿ`¯ÿl‰´þ‰¢Åþ¨»×ÿË×çÿäêóÿùúüÿÿÿÿÿþþþÿÿÿÿïþþþËÿÿÿ©þþþxþþþNÿÿÿþþþþþþÿÿÿÿÿÿöøúùúüDÿÿÿpÿÿÿ¨þþþÑÿÿÿ÷ÿÿÿÿþþþÿñôøÿÚáíÿÇÓåÿª½Øÿ‘«Îÿp‘¿ÿX~³ÿLt¬ÿGo¨ÿGn¦ÿLr©ÿTz¯ÿZµÿ[‚¶ÿV}³ÿQw®ÿLsªÿJp©ÿKpªÿKq«ÿMs­ÿLs®ÿIp¬ÿFmªÿFm«ÿJr°ÿPx´ÿS{µÿPx±ÿKr«ÿFm§ÿDj¥ÿCj¦ÿDl¨ÿHp­ÿMu²ÿOx´ÿNw³ÿKs¬ÿIo§ÿJp¥ÿPu¨ÿSy«ÿSz­ÿQw¬ÿQw­ÿU|±ÿ[‚¶ÿaˆºÿcмÿ`…ºÿW|²ÿMq©ÿHm¥ÿNt«ÿV}´ÿX€¶ÿRy¯ÿJp¦ÿHn¤ÿLq§ÿPv«ÿPw¬ÿNv¬ÿNw­ÿPz°ÿS|±ÿU}²ÿW}³ÿX~´ÿU|²ÿPx®ÿMu«ÿPx­ÿW~³ÿ^…¸ÿaˆºÿaˆ¹ÿcŠºÿf‹¼ÿe‰»ÿ]€µÿQtªÿGk¢ÿDj¡ÿPu©ÿl»ÿ‘ªÍÿ¬¿ÚÿÇÓåÿÚáíÿñó÷ÿÿÿÿÿÿÿÿÿÿÿÿ÷þþþÑÿÿÿ¨ÿÿÿpùûüDöøúÿÿÿÿÿÿþþþþþþþþþ1þþþ]þþþ–ÿÿÿÂÿÿÿëþþþÿÿÿÿÿùúûÿßæïÿÄÑãÿ¡µÒÿ‰£Èþp¾þdˆ¹ÿU|²ÿQz°ÿLu¬ÿGo§ÿFm¥ÿKr¨ÿT{°ÿ]ƒ·ÿ^†¹ÿY€µÿS{¯ÿLt«ÿJq©ÿLr«ÿNt®ÿPv¯ÿOu¯ÿJq«ÿFl©ÿEl©ÿHp®ÿNv³ÿQy´ÿPx²ÿKr¬ÿDk¦ÿAh¤ÿAh¥ÿDl©ÿJr°ÿPxµÿS|¸ÿT|¶ÿPx°ÿLs©ÿKq¦ÿNt§ÿSy«ÿU{®ÿT{¯ÿT{°ÿV}²ÿZµÿ^†¹ÿa‰»ÿ`‡ºÿY´ÿPu«ÿJo¦ÿMsªÿU|³ÿY·ÿT{²ÿLs©ÿHn¤ÿJo¥ÿLq§ÿLr©ÿJq©ÿKt«ÿPy¯ÿS|±ÿU|²ÿU{±ÿU{²ÿSy±ÿOw®ÿMu¬ÿPx­ÿW~²ÿ^…·ÿa‡¸ÿa‡¸ÿdйÿg‹»ÿfŠ»ÿ_‚µÿRv¬ÿGl£ÿEj¡ÿIo¥ÿRx®ÿg‰ºÿv•Áþ‹¥Éþ¡µÑÿÃÏàÿÞåîÿøùúÿÿÿÿÿþþþÿÿÿÿëÿÿÿÂþþþ–þþþ]þþþ1þþþÿÿÿþþþþþþúûý*úûýTÿÿÿŠÿÿÿ¸ÿÿÿçÿÿÿÿÿÿÿÿùúûÿßåïÿÆÒãÿ¤·Ôÿ‡ Æÿg‡¸ÿUy¯ÿSx°ÿTz±ÿT|²ÿRz°ÿMv¬ÿGo¥ÿEm£ÿKr§ÿU|±ÿ^†ºÿ`ˆ¼ÿZ‚·ÿRz°ÿMu«ÿLs«ÿOu­ÿQx°ÿSz±ÿPw¯ÿKq«ÿEk§ÿDj¨ÿGn¬ÿLu±ÿPy³ÿPw±ÿKr¬ÿDk¦ÿ@h¤ÿAi§ÿFn¬ÿMu³ÿR{·ÿVºÿX€¹ÿT|´ÿOv¬ÿKq¦ÿMr¦ÿQw«ÿV}°ÿX³ÿY€´ÿY€µÿZµÿ\„¶ÿ]†¸ÿ^†¸ÿZ€µÿRx­ÿLq§ÿMtªÿU{±ÿZ·ÿX~´ÿPv¬ÿIn¤ÿFk¡ÿGk¢ÿHm¥ÿIo§ÿLs«ÿPy¯ÿS{°ÿSz°ÿRx¯ÿSy°ÿSy°ÿQx¯ÿNv­ÿPx­ÿU|°ÿ\ƒ´ÿ_†·ÿ`‡·ÿbˆ¹ÿd‰ºÿdˆºÿ]µÿRw¬ÿIm¤ÿFk¢ÿJo¦ÿSy®ÿY´ÿZ€´ÿY~°ÿf†³ÿ›¾ÿž²ÍÿÂÏàÿÞåïÿùûüÿÿÿÿÿÿÿÿÿÿÿÿçÿÿÿ¸þþþŠúûüTúûü*þþþþþþÿÿÿþþþÿÿÿ3ÿÿÿtÿÿÿªÿÿÿÛÿÿÿõÿÿÿÿÿÿÿÿíñöÿÏÙçÿ¨ºÕÿ‰¢Èþl‹¹ÿ\~²ÿOt­ÿPu­ÿQv®ÿSy°ÿT{±ÿRz¯ÿOvªÿHp¥ÿFm¢ÿKr§ÿW~³ÿ`ˆ¼ÿ`‰½ÿY‚·ÿQy°ÿMu¬ÿNu¬ÿRx¯ÿT{±ÿT{±ÿPw¯ÿJpªÿEk¦ÿDj§ÿGn«ÿLu°ÿPx³ÿPw±ÿLr¬ÿFl§ÿCi§ÿDkªÿIp¯ÿOwµÿS|¸ÿWºÿYºÿW~µÿRy®ÿMr§ÿKp¥ÿOu©ÿU|¯ÿ[ƒµÿ^…¸ÿ^„·ÿ\ƒ¶ÿZ‚´ÿ[‚µÿ[ƒ¶ÿY€´ÿRy®ÿMs¨ÿNu©ÿU|¯ÿ\‚¶ÿ\¶ÿTy®ÿJn¤ÿCgœÿBfœÿFj¡ÿJo§ÿOv­ÿSz°ÿSz°ÿRx®ÿQv¬ÿRw®ÿSy±ÿSy±ÿPw®ÿOw¬ÿSz­ÿY€²ÿ^…¶ÿ`‡·ÿaˆ¹ÿbˆ¹ÿ`†¸ÿZ´ÿRx¬ÿLp¦ÿJn¤ÿLp§ÿTy®ÿY´ÿY´ÿTz¯ÿLr§ÿSw§ÿc„¯ÿ… Âþ¨¼ÕÿÑÜéÿîò÷ÿþþþÿÿÿÿÿþþþõÿÿÿÛÿÿÿªþþþtÿÿÿ3ÿÿÿÿÿÿþþþøùûûüüPÿÿÿˆÿÿÿÊÿÿÿõÿÿÿÿÿÿÿÿîòøÿÙáíÿµÄÛÿ”ªËÿm‹¹ÿVz°ÿQv®ÿPu­ÿNs¬ÿNs¬ÿPu­ÿSx°ÿTz±ÿRz¯ÿMuªÿGo£ÿFm¢ÿMs¨ÿY´ÿaˆ½ÿ`ˆ½ÿX€¶ÿPx¯ÿNt­ÿQv¯ÿU{²ÿV|³ÿT{²ÿPv®ÿIn©ÿDi¥ÿDi¦ÿGo«ÿMv°ÿQx³ÿPv±ÿLq¬ÿGm©ÿFl©ÿHo­ÿMt²ÿPxµÿRz¶ÿT|·ÿW·ÿX~µÿU{°ÿOt©ÿLq¦ÿNt¨ÿU|®ÿ]„¶ÿb‰ºÿbˆºÿ^„¶ÿ[³ÿZ€³ÿZ´ÿW²ÿRy­ÿMt§ÿOu¨ÿV|®ÿ_„¶ÿ`„¸ÿX|°ÿKo¤ÿ@d™ÿ>b˜ÿCgÿJn¦ÿRw®ÿV|²ÿV|±ÿSx®ÿPu«ÿRw­ÿTz±ÿT{²ÿQx®ÿOv«ÿQx¬ÿX±ÿ^„µÿ`‡·ÿaˆ¸ÿ_‡¹ÿ\„·ÿV~³ÿPv¬ÿJp¦ÿIn¤ÿMq§ÿTx®ÿX}³ÿX~³ÿSy®ÿLr§ÿHn£ÿJp¤ÿSyªÿp»ÿ—°Îÿ¶ÇÝÿÕÞëÿëïõÿÿÿÿÿÿÿÿÿÿÿÿõÿÿÿÊÿÿÿˆûüüP÷øúþþþÿÿÿÿÿÿþþþ3þþþdþþþ£ÿÿÿÒÿÿÿýÿÿÿÿûüýÿåëóÿÁÏãÿ ¶Óþ{˜Áþd„µÿOt«ÿQu­ÿQu­ÿOs«ÿMq©ÿMqªÿQu­ÿTy°ÿV|±ÿSz°ÿOv«ÿHo¤ÿGm¢ÿNt©ÿZµÿa‰½ÿ_‡¼ÿWµÿPw¯ÿOt®ÿRw±ÿW|´ÿW}´ÿT{²ÿOt­ÿGl¨ÿBg¤ÿCi¥ÿHo«ÿNv±ÿQx³ÿOu°ÿKp¬ÿHm©ÿHn«ÿKr¯ÿNv²ÿPw³ÿPw³ÿQx³ÿT{´ÿX~µÿY~´ÿTy®ÿPtªÿOu©ÿT{®ÿ\„µÿb‰ºÿc‰ºÿ`…¶ÿ\²ÿZ±ÿY²ÿW}±ÿRx¬ÿNt§ÿPv¨ÿX}¯ÿa…·ÿb†¸ÿZ~±ÿLp¤ÿ@d™ÿ<`•ÿ@c™ÿHl¢ÿRv¬ÿX}³ÿX~´ÿUz°ÿQw­ÿSx®ÿU{±ÿU{±ÿQw®ÿOu«ÿRx¬ÿZ±ÿ_…µÿaˆ·ÿaˆ¸ÿ^†¸ÿZƒ¶ÿU}²ÿOv¬ÿJp¦ÿIn¤ÿLp¦ÿSw¬ÿW|±ÿW}²ÿRx®ÿLr¨ÿIo¥ÿKq¦ÿPvªÿU|¯ÿiŒ¹ÿ{šÁþš°Ïþ»ÊÞÿãéòÿüýþÿÿÿÿÿÿÿÿýþþþÒÿÿÿ£ÿÿÿdþþþ3ÿÿÿÿÿÿþþþøùû!üýýOþþþþþþÀþþþðÿÿÿÿÿÿÿÿïòöÿÍ׿ÿ«¾×ÿ†£Èÿk¼ÿW|°ÿQv¬ÿOt«ÿPu¬ÿQt¬ÿNq©ÿKn¦ÿLo¨ÿNt¬ÿRy°ÿU|²ÿU|±ÿQw­ÿJp¦ÿGm£ÿNuªÿZ‚¶ÿbнÿ_ˆ»ÿW~´ÿPv¯ÿOt¯ÿSw²ÿW|¶ÿX}µÿU{³ÿNt­ÿGk§ÿAf£ÿCh¥ÿHo«ÿNv±ÿQw³ÿNt¯ÿJo«ÿGm©ÿHo«ÿKr¯ÿNu±ÿMt°ÿMs¯ÿMt¯ÿRy²ÿX~¶ÿ\·ÿY~´ÿTz¯ÿRw¬ÿU{®ÿ\ƒ´ÿbˆ¹ÿc‰¹ÿ_„µÿ[±ÿY}°ÿX}±ÿW|°ÿSy¬ÿOu¨ÿQv©ÿX|®ÿ`„¶ÿb†¸ÿ\³ÿPt¨ÿCg›ÿ;_”ÿ<_•ÿCgœÿNr¨ÿW|²ÿYµÿV|³ÿTz°ÿU{±ÿV|²ÿU{±ÿQw­ÿPv«ÿUy­ÿ]³ÿb‡·ÿb‰¸ÿ`ˆ¸ÿ]†·ÿZƒ¶ÿT~²ÿOw¬ÿJq¦ÿIn¤ÿLp¦ÿQu¬ÿTz°ÿT{±ÿQx®ÿLr©ÿJo¦ÿKp§ÿPv«ÿU|°ÿX±ÿV}°ÿb†µÿ}™Áÿ¦¹ÕÿÍ×çÿïò÷ÿÿÿÿÿþþþÿþþþðÿÿÿÀþþþüýýOøùû!þþþÿÿÿSx±ÿÿÿ$þþþeÿÿÿ¢ÿÿÿÝþþþûÿÿÿÿýþþÿßæðÿ¼ÊÞÿ‘¨Éþu“½þ_ƒµÿ\‚µÿX}±ÿQw¬ÿOtªÿQu¬ÿTu«ÿPp¨ÿKl¤ÿJm¥ÿNsªÿSz°ÿV~³ÿV}³ÿRx¯ÿJp§ÿHn¤ÿOvªÿ[ƒ¶ÿb‹¼ÿ_‡ºÿV|²ÿOs­ÿMq­ÿPt±ÿUzµÿW|¶ÿU{³ÿOu®ÿGm§ÿBh£ÿCj¥ÿIp«ÿOv±ÿPw²ÿMs¯ÿIo«ÿFm©ÿFo«ÿIq®ÿJr®ÿJp­ÿJo¬ÿKr­ÿQw°ÿW~µÿ[·ÿZ€¶ÿW}²ÿTz¯ÿV|°ÿ[‚´ÿ`‡¸ÿa‡¸ÿ]ƒ´ÿY~°ÿV{®ÿW|°ÿW}±ÿU{®ÿQwªÿPu©ÿTy­ÿ\‚µÿa†¹ÿ^„¶ÿTy¬ÿGk ÿ=a—ÿ:^”ÿ?d™ÿJo¤ÿSy¯ÿW}´ÿW}´ÿV|³ÿX~´ÿX~´ÿV|±ÿSx®ÿSw¬ÿX|°ÿ`…µÿdйÿcйÿaˆ¸ÿ^†¸ÿ[„·ÿW€³ÿQz®ÿKr¨ÿJo¥ÿLp§ÿQu¬ÿTy°ÿT{±ÿQx®ÿLs¨ÿIn¦ÿJo¦ÿOtªÿV}°ÿY³ÿW±ÿQy®ÿRx¬ÿn¹þ¨Éþ¾ËßÿáçðÿýýýÿÿÿÿÿÿÿÿûÿÿÿÝþþþ¢þþþeÿÿÿ$Dj¡ÿÿÿÿÿÿáçñùúü:þþþtÿÿÿ¼ÿÿÿïÿÿÿÿþþþÿéîõÿÌ×çÿ¡µÓÿz–¿ÿW{­ÿOv«ÿY³ÿ]ƒ¶ÿY²ÿRy¬ÿPvªÿRw¬ÿSv¬ÿPq©ÿKl¥ÿKm¥ÿNsªÿSz¯ÿW´ÿW~´ÿRy°ÿKq¨ÿHo¦ÿOw¬ÿ[„¶ÿaŠ»ÿ]…·ÿSy¯ÿLq«ÿJo«ÿMr¯ÿRw´ÿU{µÿU{´ÿPv¯ÿIo¨ÿDj¤ÿEl¦ÿJq«ÿOv°ÿOw±ÿMs­ÿHoªÿFn©ÿFo«ÿGp­ÿHo­ÿGlªÿGm©ÿJpªÿOv¯ÿT{²ÿX~´ÿX~³ÿW}±ÿV|°ÿX~±ÿ\ƒ´ÿ`‡·ÿ`‡·ÿ\ƒ´ÿW}°ÿTy­ÿU{¯ÿY~²ÿX~±ÿRx«ÿMs§ÿNu©ÿX²ÿ`‡¹ÿa‡ºÿX}±ÿKo¥ÿAdšÿ;_•ÿ>c˜ÿFl¡ÿOu«ÿTz±ÿV|´ÿW}´ÿZ€¶ÿZ€µÿY~³ÿV{¯ÿV{¯ÿ[²ÿ`…·ÿcˆ¹ÿa‡¸ÿ_†·ÿ]…·ÿ\…·ÿXµÿS|°ÿNu«ÿKq¨ÿLq¨ÿPu­ÿTy°ÿU{±ÿQx®ÿJq§ÿEk¢ÿFk£ÿMs©ÿW}°ÿ\‚´ÿX€²ÿPy­ÿHp§ÿEl¤ÿVy¬ÿ~™Àÿ¥¹ÕÿÏÚéÿíñ÷ÿÿÿÿÿÿÿÿÿþþþïþþþ¼þþþtøúü:ßæïÿÿÿÿÿÿþþþ ÿÿÿ;þþþƒÿÿÿÁÿÿÿ÷þþþÿÿÿÿÿäéòÿ¹ÈÞÿ§Ìþf‡·ÿMr©ÿHo¦ÿNu«ÿX~³ÿ]„¶ÿZ³ÿU{­ÿRx«ÿSx­ÿUx®ÿSu¬ÿOq©ÿNp¨ÿPtªÿTz¯ÿX³ÿX~´ÿSy°ÿKrªÿIp¨ÿPx®ÿ[„·ÿa‰ºÿ[‚µÿQv­ÿJo¨ÿInªÿLr®ÿQw³ÿTzµÿTz´ÿPw°ÿJp©ÿEk¤ÿFl¥ÿJrªÿOw¯ÿOw°ÿLs­ÿHo©ÿFo©ÿGp¬ÿHp®ÿGn¬ÿEk©ÿFk¨ÿJoªÿOv®ÿRy°ÿT{°ÿSz¯ÿT{¯ÿV}°ÿY€²ÿ]ƒ´ÿ_†¶ÿ^†¶ÿ[‚´ÿV}±ÿSz®ÿV|°ÿZ€´ÿY€³ÿRx­ÿKq¦ÿKr§ÿU|°ÿ_†¹ÿb‰»ÿZ€´ÿOs©ÿEhŸÿ>b™ÿ>c™ÿDj ÿKs¨ÿQx¯ÿT{²ÿV|³ÿY€µÿ[µÿZ€´ÿY~²ÿY~²ÿ[€´ÿ]ƒµÿ]„µÿ\‚´ÿ[‚µÿ\ƒ¶ÿ[„·ÿYµÿU}²ÿQx®ÿNt«ÿMrªÿPu­ÿTy±ÿV|²ÿRx®ÿJp¦ÿCi ÿDj¡ÿMs¨ÿY±ÿ^…µÿY³ÿPx«ÿGn¤ÿCj¡ÿFl£ÿSv«ÿoŽ»ÿ˜¯Ðþ¾Íáÿæìóÿÿÿÿÿþþþÿÿÿÿ÷ÿÿÿÁÿÿÿƒþþþ;þþþ ÿÿÿþþþôöùùúüPÿÿÿ‘ÿÿÿÕþþþýÿÿÿÿúúüÿÖßìÿ­¾Ùÿ|—ÂÿWy±ÿGm¨ÿEl¦ÿGn¦ÿNu«ÿX~³ÿ]„·ÿ[‚µÿV}°ÿSz®ÿTz¯ÿV{±ÿVz±ÿTw®ÿRv¬ÿRw«ÿUz®ÿX}²ÿX}´ÿRy±ÿKr«ÿIq©ÿPx¯ÿ[ƒ¸ÿ`‡ºÿZ€´ÿQv¬ÿLq©ÿLr«ÿPu°ÿSy´ÿSzµÿSy´ÿOv°ÿIo©ÿDj¤ÿFl¤ÿKq©ÿOv¯ÿPv°ÿLs­ÿHoªÿGoªÿIr®ÿJr°ÿHo­ÿEk©ÿEk¨ÿIoªÿOu­ÿQx®ÿQx­ÿQx­ÿSz®ÿV}°ÿY€²ÿ\ƒ³ÿ]„µÿ]„µÿ[‚µÿW³ÿV|±ÿX~³ÿ[‚¶ÿZµÿTy¯ÿLr¨ÿLr§ÿT{®ÿ]„¶ÿaˆºÿ\‚µÿRw¬ÿHl¢ÿAd›ÿ?c™ÿChžÿJp§ÿPw®ÿSz²ÿT{²ÿW~³ÿY€´ÿ[´ÿ[€´ÿ[€´ÿ[€³ÿX~°ÿU{­ÿTz­ÿU|¯ÿW~²ÿW³ÿT|±ÿS{°ÿRz°ÿPw¯ÿNu­ÿPu®ÿSx±ÿV{³ÿSy¯ÿKq§ÿDj ÿEk¡ÿMs¨ÿX}±ÿ\ƒµÿY€²ÿPw«ÿFm¢ÿBhžÿFj¡ÿMq§ÿSx®ÿa„¶ÿÅÿ­¿ØÿÔÝêÿùúûÿÿÿÿÿÿÿÿýÿÿÿÕÿÿÿ‘ùúûPôöùþþþÿÿÿþþþÿÿÿSþþþžÿÿÿ×þþþÿþþþÿöøúÿÔÝëÿ¢¶Õÿx”ÁþSv¯ÿIoªÿFl§ÿDj¥ÿFm¦ÿPv¬ÿY€´ÿ^„·ÿ\ƒ·ÿX³ÿU|±ÿU|±ÿW}³ÿX}³ÿW|²ÿV{¯ÿUz­ÿVz®ÿX|±ÿW|³ÿQw°ÿJq«ÿHp©ÿPw®ÿZ‚·ÿ_†»ÿ[¶ÿSy®ÿOu«ÿQw®ÿTz³ÿV|¶ÿT{¶ÿRy´ÿNu¯ÿGm¨ÿCh£ÿEj£ÿJp©ÿOv®ÿPv°ÿLs­ÿIpªÿIq¬ÿLt°ÿLu²ÿIq¯ÿEl«ÿEl¨ÿIoªÿNu­ÿQw®ÿRx®ÿQy®ÿS{¯ÿV~°ÿX€±ÿZ‚³ÿ\ƒ´ÿ\ƒµÿ[‚µÿY´ÿX~³ÿY´ÿ[¶ÿ[€¶ÿV{±ÿQu«ÿPu©ÿU{­ÿ\‚´ÿ`†¸ÿ\‚µÿTy­ÿJn¤ÿAd›ÿ>a™ÿBfžÿJp§ÿQx¯ÿT{²ÿS{±ÿU|±ÿW~²ÿZ´ÿ\‚µÿ\´ÿY~±ÿSx«ÿOt¦ÿNt¦ÿQwªÿRy®ÿQx®ÿNu¬ÿNv¬ÿQy°ÿSz±ÿQx°ÿQw°ÿSx±ÿUz²ÿSy¯ÿMs¨ÿGm¢ÿGm¢ÿMr§ÿU{¯ÿZ€´ÿX²ÿQx«ÿIm¢ÿCgœÿFiŸÿMq¦ÿSx­ÿTz¯ÿW|¯ÿu“¼þ±ÎÿÏØæÿõöùÿþþþÿÿÿÿÿÿÿÿ×þþþžÿÿÿSþþþùúû$ÿÿÿgÿÿÿªÿÿÿéÿÿÿÿÿÿÿÿïò÷ÿÆÒåÿ›°Òÿk‹»ÿPu¯ÿMs®ÿIoªÿEj¦ÿCi¤ÿGn§ÿPw®ÿZµÿ^…¹ÿ^„¹ÿZ¶ÿX´ÿW~´ÿW}´ÿX~µÿY~´ÿX}²ÿV{¯ÿV{¯ÿV{±ÿTy²ÿOu¯ÿIp«ÿHo¨ÿOu­ÿYµÿ^…ºÿ\ƒ·ÿV}±ÿT{¯ÿU{±ÿV|´ÿW}¶ÿU|¶ÿRz´ÿMu¯ÿFm¨ÿAf¢ÿCh£ÿIo¨ÿNu®ÿOv°ÿLs­ÿIq¬ÿIr­ÿLu±ÿMu³ÿJr±ÿGn­ÿFmªÿHoªÿLs¬ÿOv­ÿQx®ÿRz¯ÿU}±ÿV~±ÿX€²ÿY³ÿ[ƒµÿ\ƒ¶ÿ\‚¶ÿ[€µÿZ´ÿZµÿ[€¶ÿZµÿW|²ÿTy®ÿSx¬ÿW|®ÿ\²ÿ`…·ÿ^ƒµÿVz®ÿJn¤ÿ?cšÿ;_—ÿ@dÿJo§ÿSy°ÿV|´ÿT{±ÿT{°ÿV}±ÿY€³ÿ\‚¶ÿ\´ÿX|¯ÿPt§ÿKo¢ÿJo¢ÿMs¦ÿNuªÿKr¨ÿGn¦ÿIo§ÿOu­ÿTz²ÿTz²ÿRx°ÿRw¯ÿRx¯ÿQw®ÿNtªÿKq¦ÿJp¤ÿLr¦ÿRw¬ÿV|±ÿV|±ÿOuªÿFj ÿBe›ÿFižÿNq§ÿTy®ÿUz°ÿPw­ÿKs¨ÿc…±ÿ“©ÉÿÃÐâÿðôùÿÿÿÿÿÿÿÿÿÿÿÿéÿÿÿªÿÿÿgøúû$ÿÿÿ,þþþjþþþµÿÿÿèÿÿÿÿþþþÿæìôÿÁÏäÿ©Îÿl‹½ÿQw±ÿOv¯ÿNt®ÿJp«ÿEk¦ÿEj¥ÿIp¨ÿRy°ÿ[‚·ÿ_†ºÿ^…¹ÿ[‚·ÿZ¶ÿYµÿX~µÿX}´ÿX}³ÿX|²ÿV{¯ÿTz¯ÿRy¯ÿOw¯ÿLs®ÿHpªÿIo¨ÿOu¬ÿW~³ÿ\„¸ÿ\„¸ÿY³ÿV~±ÿV|±ÿU{²ÿU|´ÿT|µÿS{´ÿNv¯ÿGm¨ÿAf¢ÿBf£ÿGm¨ÿLs®ÿNu¯ÿLs®ÿIr­ÿIr®ÿKt±ÿLu³ÿKr±ÿIp®ÿHp¬ÿIp«ÿKq«ÿMs¬ÿPw®ÿSz°ÿU}²ÿV~²ÿX²ÿZ³ÿ]„¶ÿ^…¸ÿ_…¸ÿ^ƒ·ÿ]¶ÿ[€¶ÿ[¶ÿY~´ÿV|±ÿTz®ÿTz¬ÿX~¯ÿ^ƒ³ÿa†·ÿ^‚´ÿTx¬ÿHl¢ÿ>b™ÿ:^–ÿ@dœÿJo§ÿTy±ÿX~µÿV|³ÿTz°ÿSz¯ÿV|±ÿY€´ÿ[€´ÿX}°ÿQu¨ÿKp¢ÿJo¢ÿMs¦ÿMs¨ÿIo¦ÿEj¢ÿEk£ÿKqªÿRx°ÿT{²ÿSy±ÿPv®ÿNt¬ÿOu¬ÿPv¬ÿPw«ÿNu¨ÿMr¦ÿOt¨ÿSx­ÿSx®ÿLr¨ÿDhŸÿAe›ÿHk ÿRtªÿVz±ÿV{²ÿQx¯ÿLtªÿIp¦ÿb„²ÿ‹¤Çÿ¿Íáÿæìôÿþþþÿÿÿÿÿÿÿÿèþþþµþþþjÿÿÿ,ÿÿÿþþþ3þþþ}þþþ¿þþþøÿÿÿÿøùûÿÝåðÿ°ÂÜÿ‡¢Êÿ`„¹ÿTz³ÿQw°ÿOu¯ÿNt®ÿJq«ÿEl§ÿDj¥ÿIp©ÿSz±ÿ\ƒ¸ÿ_†»ÿ^…¹ÿ[‚·ÿ[‚·ÿZ€·ÿY~¶ÿX}µÿW{³ÿVz±ÿSx®ÿPv¬ÿMt¬ÿJs¬ÿIr¬ÿIqªÿJq©ÿOv¬ÿV|²ÿZ¶ÿZƒ¶ÿY´ÿW²ÿV}±ÿTz±ÿSy±ÿRz²ÿR{³ÿOw°ÿIoªÿBg£ÿAf£ÿEl¨ÿKr­ÿMu¯ÿKt®ÿIs­ÿGr®ÿHs°ÿJs±ÿJr°ÿJq¯ÿJr®ÿJq¬ÿIpªÿJp©ÿMt«ÿQx®ÿT{±ÿU|±ÿV~±ÿY€³ÿ]„·ÿa‡¹ÿcˆºÿc‡¹ÿ`…¸ÿ^‚·ÿ[€¶ÿW}´ÿSy¯ÿQw«ÿRx«ÿX~¯ÿ^ƒ´ÿ`…¶ÿ[€²ÿRvªÿGk¡ÿ>b™ÿ:_—ÿ?dœÿIn¦ÿTy±ÿY~¶ÿV|³ÿRx¯ÿOu«ÿQw­ÿV|±ÿY€´ÿY~²ÿSx¬ÿNs§ÿLr¦ÿMs¨ÿMr¨ÿIn¥ÿDh¡ÿCg ÿGl¥ÿMt¬ÿRy±ÿQx°ÿNt¬ÿJp¨ÿLq¨ÿQw¬ÿU{¯ÿTz¬ÿPu§ÿNr¦ÿOt©ÿNsªÿHm¥ÿBgžÿBfÿHl£ÿQu¬ÿVz²ÿV{´ÿSy±ÿOu­ÿKr¨ÿJp§ÿUz®ÿ›Ãÿ¬¿ÙÿÜäïÿøúûÿÿÿÿÿþþþøþþþ¿ÿÿÿ}þþþ3þþþþþþþþþ8ÿÿÿ{þþþÇþþþõÿÿÿÿøùûÿÓÝêÿ«¾Ùÿ~œÇÿb†ºÿX~¶ÿU{³ÿPw°ÿNu®ÿMs®ÿKq«ÿFl§ÿDj¥ÿIp©ÿSz±ÿ\„¹ÿ_†»ÿ]…¹ÿZ‚¶ÿZ‚¶ÿ[·ÿZ€¶ÿY~¶ÿW{³ÿTx°ÿOt¬ÿKq©ÿHo¨ÿHpªÿIr«ÿJs«ÿLt«ÿPw¬ÿT|±ÿW´ÿXµÿX´ÿX€´ÿW}³ÿTy±ÿQw°ÿOv°ÿPx²ÿOv°ÿJp«ÿCh¥ÿBg£ÿEl¨ÿJs­ÿMv°ÿKu¯ÿHs®ÿFr­ÿGr¯ÿHq¯ÿIq¯ÿJq¯ÿLr¯ÿKq­ÿIoªÿHn¨ÿKq©ÿOu¬ÿSy¯ÿSz¯ÿT|°ÿV~²ÿ\ƒ¶ÿbˆºÿg‹¼ÿg‹»ÿd‡¹ÿ`„¸ÿ\¸ÿX~µÿRy¯ÿNu©ÿOv©ÿW}®ÿ^ƒ´ÿ`…¶ÿZ€±ÿQvªÿHl¢ÿ?cšÿ;_—ÿ?dœÿHm¥ÿSx°ÿX}µÿUz²ÿOu­ÿKq¨ÿLsªÿRy®ÿX~³ÿZ€´ÿV|±ÿQx­ÿOv«ÿOv«ÿMsªÿIn¥ÿDh ÿAfžÿCh¡ÿIo§ÿNu­ÿNu®ÿKqªÿGm¥ÿIo¥ÿPuªÿV|¯ÿW|®ÿRw©ÿNr¦ÿLp¦ÿIn¥ÿEj¡ÿBgžÿChŸÿIn¥ÿPu¬ÿTy±ÿV{³ÿSy²ÿQw¯ÿLs«ÿIp§ÿIp§ÿUz®ÿw–Àÿ©½×ÿÕÞìÿúûüÿÿÿÿÿþþþõþþþÇÿÿÿ{þþþ8þþþþþþ ÿÿÿ:ÿÿÿˆÿÿÿËþþþÿþþþÿîñõÿÊÕãÿ™°Îÿt”Àÿ[·ÿ\‚¸ÿY€·ÿV|´ÿQx°ÿNu¯ÿLr­ÿInªÿEj¦ÿCi¤ÿIo¨ÿSz±ÿ]„¹ÿ_‡»ÿ]…¹ÿYƒ¶ÿY‚¶ÿ[‚·ÿ[·ÿ[€¶ÿW|´ÿRw¯ÿLqªÿHm§ÿFl¦ÿGo©ÿKs«ÿMu¬ÿNv«ÿOw¬ÿR{¯ÿU~²ÿW³ÿX´ÿZ¶ÿY¶ÿUz´ÿPv°ÿMs®ÿMt¯ÿMu¯ÿIp«ÿDi¥ÿBg¤ÿFl¨ÿKs®ÿNx±ÿLw°ÿHt®ÿEq­ÿFq®ÿGp®ÿHp­ÿKq®ÿMr°ÿLr¯ÿJoªÿGm§ÿIn§ÿMrªÿQw­ÿQx®ÿQy®ÿT|°ÿZ‚µÿa‡¹ÿg‹»ÿh‹»ÿd‡¹ÿ`ƒ·ÿ\·ÿX~µÿRy¯ÿNtªÿNt¨ÿUz­ÿ[³ÿ^„µÿZ€²ÿSx¬ÿJo¤ÿAeœÿ<`˜ÿ>c›ÿGl¤ÿQv®ÿUz²ÿRw¯ÿMs«ÿIp¨ÿLr©ÿQw­ÿV}²ÿYµÿX´ÿU}²ÿRz°ÿQx®ÿNt«ÿHm¥ÿBgŸÿ?dœÿAfŸÿFl¤ÿJp©ÿJqªÿHn§ÿFk£ÿGl£ÿMq¦ÿSx«ÿV{­ÿSy«ÿNs§ÿIn£ÿEi ÿChžÿChžÿEj ÿIn¤ÿMq©ÿPt­ÿRw°ÿRx±ÿPv°ÿLr«ÿHo§ÿHo§ÿLtªÿRz°ÿs”Àÿœ³ÓÿÍØèÿîñöÿþþþÿþþþÿÿÿÿËÿÿÿˆÿÿÿ:ÿÿÿ þþþþþþÿÿÿ:þþþþþþÎþþþûÿÿÿÿñó÷ÿÃÏßÿ“©ÇÿgˆµÿW~²ÿ\‚¸ÿ^„ºÿ[¸ÿW}´ÿSy±ÿOu¯ÿMr­ÿHmªÿDh¤ÿCh¢ÿIn§ÿTz±ÿ^…¹ÿaˆ¼ÿ^‡ºÿZ„·ÿYƒ¶ÿZ‚¶ÿ[¶ÿ[€¶ÿW|³ÿRw¯ÿKp©ÿGm¦ÿFl¦ÿJpªÿNu­ÿOv­ÿNv«ÿMvªÿPy­ÿS|°ÿV²ÿYµÿ[‚·ÿ[€¸ÿV{µÿPt°ÿKq­ÿKr®ÿLs¯ÿIp«ÿDi¥ÿCg£ÿGm§ÿMu®ÿOy±ÿMx±ÿHt¯ÿFq®ÿFp®ÿGp­ÿHo¬ÿJp­ÿMr¯ÿMr¯ÿJp«ÿGm§ÿHn§ÿLq©ÿPv¬ÿQw­ÿPx­ÿR{¯ÿX€³ÿ_…·ÿd‰¹ÿeˆ¸ÿa„µÿ]€´ÿZ~µÿW|³ÿRx¯ÿNtªÿMs©ÿSx­ÿY~²ÿ]ƒµÿ[´ÿU{¯ÿLq§ÿBfžÿ;`˜ÿ=bšÿFk£ÿOu¬ÿRx¯ÿPu­ÿMs«ÿLsªÿOv¬ÿRx®ÿV|±ÿYµÿZ€¶ÿXµÿU|²ÿRz°ÿNu¬ÿHn¦ÿBh ÿ?eÿAgŸÿEk£ÿGm¥ÿGm¦ÿGl¥ÿGk£ÿGk¢ÿIm£ÿMq¦ÿQvªÿSx¬ÿOuªÿIn¤ÿEiŸÿDhžÿEjžÿGl ÿHm¢ÿIm¤ÿLp¨ÿOt¬ÿPv¯ÿOu¯ÿLr«ÿHo¨ÿIp¨ÿNv¬ÿT|²ÿXµÿm¾ÿ˜¯ÐÿÅÑãÿðòöÿÿÿÿÿþþþûÿÿÿÎþþþÿÿÿ:þþþþþþÿÿÿþþþþþþ8þþþˆÿÿÿÎÿÿÿÿÿÿÿÿëïöÿ¿Ìßÿ…žÂÿ\~¬ÿOu©ÿW~±ÿ]„¸ÿ_†»ÿ\‚¸ÿX}´ÿSx°ÿPu¯ÿMq­ÿHl©ÿCh¤ÿCg¡ÿIn¦ÿUz°ÿ_…¹ÿc‰½ÿa‰¼ÿ]†¹ÿZ„·ÿZ‚¶ÿZ€µÿZ~´ÿW{²ÿRw®ÿLqªÿIn§ÿIn¨ÿMr¬ÿPv®ÿPw®ÿMuªÿKt¨ÿNv«ÿRz®ÿV~²ÿYµÿ[‚¸ÿZ€¸ÿUy´ÿNr¯ÿIo«ÿJq¬ÿLs®ÿJp«ÿDj¥ÿCg£ÿGm§ÿNu®ÿQz²ÿOy²ÿJu°ÿGr¯ÿGq®ÿHp®ÿIo¬ÿJp­ÿLr¯ÿLr¯ÿKq¬ÿHn¨ÿHn¦ÿJp§ÿNtªÿOv«ÿPx­ÿR{¯ÿX€³ÿ]„µÿa†¶ÿa„´ÿ]€²ÿY|±ÿVz°ÿSx¯ÿPv­ÿMsªÿMsªÿQv¬ÿU{°ÿX³ÿW~²ÿSz¯ÿMr¨ÿDh ÿ=a™ÿ=bšÿDj¡ÿMsªÿQw®ÿPv­ÿPv­ÿPw®ÿRy¯ÿSy¯ÿU{°ÿY´ÿ[·ÿZ¶ÿV}³ÿSz°ÿOv­ÿIq¨ÿCk£ÿAh ÿCi¡ÿFj£ÿFj£ÿGk£ÿHl¤ÿIl¤ÿHk£ÿFj¡ÿGk¢ÿLq¨ÿQw­ÿQw¬ÿLq¦ÿHl ÿGl ÿJn¡ÿJo¢ÿIm¡ÿGj¡ÿHl¤ÿKp©ÿMr«ÿLr¬ÿIo©ÿIo¨ÿLrªÿQx¯ÿU}³ÿWµÿU}´ÿe‡ºÿ‹¥ÉÿÁÏáÿêîôÿþþþÿÿÿÿÿÿÿÿÎþþþˆþþþ8þþþþþþÿÿÿþþþ3þþþ{þþþËþþþûÿÿÿÿïò÷ÿ¿Ìáÿˆ ÅþVx«ÿHo¤ÿNu©ÿV~±ÿ^…¸ÿa†»ÿ^ƒ¸ÿX}³ÿSx¯ÿPt­ÿMq¬ÿHl¨ÿCg£ÿBf¡ÿIm¥ÿUy®ÿ`„¸ÿd‰½ÿb‰¾ÿ^†ºÿ[„¸ÿYµÿX~´ÿX}³ÿVz±ÿRv®ÿMs«ÿKqªÿKq«ÿNt­ÿPv¯ÿOv­ÿLt©ÿKs§ÿNuªÿRy®ÿU|±ÿW~³ÿXµÿW}µÿRw²ÿMq­ÿIoªÿKq«ÿMs­ÿJpªÿDi¥ÿBg£ÿGm§ÿNu®ÿRz³ÿPz³ÿKv±ÿHr¯ÿHq¯ÿHp¯ÿIo­ÿJp®ÿLq¯ÿLr¯ÿKr­ÿIo©ÿHn¦ÿIo¥ÿLr¨ÿOv«ÿQy®ÿU}±ÿY´ÿ]„µÿ^„´ÿ\±ÿX}¯ÿTy­ÿQu¬ÿNsªÿMr©ÿMr©ÿMsªÿOu¬ÿQw­ÿRy¯ÿQy®ÿOv¬ÿKq¨ÿEj¡ÿ>c›ÿ=bšÿBhŸÿJq¨ÿPv­ÿRx¯ÿSz±ÿT{²ÿT{±ÿRy¯ÿTz¯ÿY³ÿ\‚·ÿ\‚·ÿW}³ÿSz°ÿPw®ÿLt«ÿGo§ÿDl¤ÿEj£ÿGj£ÿGj£ÿIl¤ÿLo§ÿMp¨ÿKn¦ÿGj¢ÿEi¢ÿJo§ÿPu¬ÿRw­ÿOs©ÿMp¥ÿMq¤ÿNs¥ÿMr¥ÿJn£ÿGj¡ÿFj£ÿIn¦ÿJo©ÿIo¨ÿHn§ÿJp¨ÿOu¬ÿT{±ÿV~´ÿV~µÿT}³ÿS|²ÿ`…·ÿާËþÀÎáÿîñöÿÿÿÿÿÿÿÿûþþþËþþþ{þþþ3ÿÿÿÿÿÿþþþ,þþþ}þþþÇþþþÿþþþÿêîôÿ¾ÊÞÿƒ›ÂÿUw¬ÿHn¦ÿIp¦ÿOvªÿW~°ÿ^„¶ÿ_…¸ÿ\¶ÿW|²ÿSw®ÿPs¬ÿLpªÿGk§ÿBg£ÿBf ÿHm¤ÿTx¬ÿ^ƒ¶ÿb‡¼ÿa‡¼ÿ\„ºÿZƒ¸ÿZ¶ÿYµÿX}´ÿUy±ÿRv®ÿNt¬ÿMs¬ÿMs­ÿOt®ÿOu®ÿNt«ÿLr¨ÿLs§ÿPv«ÿSz¯ÿU{°ÿT{±ÿTz±ÿSy±ÿPu¯ÿKp«ÿHn¨ÿIp¨ÿKq«ÿJo©ÿEj¦ÿCh¤ÿGm¨ÿOu¯ÿS{´ÿR{µÿNw²ÿJs°ÿIr¯ÿHq¯ÿHo¯ÿJp¯ÿLr°ÿLs°ÿKr­ÿHn¨ÿGl¤ÿGl£ÿJp¥ÿNu©ÿRz®ÿW³ÿ\ƒ¶ÿ_…¶ÿ^„´ÿZ€±ÿV{®ÿQw¬ÿMr©ÿKp§ÿKo§ÿLq©ÿMr«ÿNs¬ÿMs«ÿKsªÿJq¨ÿIq§ÿIp¦ÿGm¤ÿChŸÿ?dœÿAgŸÿGm¥ÿNu¬ÿRy±ÿU}´ÿU}´ÿT{²ÿQx®ÿRy®ÿW~²ÿ\‚¶ÿ\‚·ÿW}³ÿSz°ÿPx¯ÿMv­ÿIr©ÿGn¦ÿFj£ÿGj¢ÿHk£ÿLn¦ÿPrªÿQt«ÿNq¨ÿHl¤ÿFj¢ÿIn¦ÿNsªÿQv¬ÿPu©ÿPt§ÿPu¨ÿPv¨ÿOt¨ÿKp¥ÿGk£ÿFj£ÿGl¥ÿHm¦ÿFk¥ÿFk¤ÿJo§ÿPv­ÿU|²ÿU}³ÿS|²ÿR{±ÿT|²ÿU|³ÿ`„·ÿ‰¤Èÿ¿ÍàÿéîôÿþþþÿþþþÿþþþÇþþþ}þþþ,ÿÿÿÿÿÿúûü$þþþjþþþ¿þþþõþþþÿòôøÿÁÍàÿˆ ÃþUv«ÿHn¦ÿIp§ÿKs©ÿPx¬ÿX°ÿ]ƒ´ÿ\ƒµÿY³ÿUz°ÿRv­ÿOs«ÿLo©ÿGk¦ÿBf£ÿBg¡ÿHn¤ÿSy¬ÿ\‚µÿ_…¹ÿ]„¹ÿZ·ÿZ·ÿ\‚¸ÿ\‚¸ÿ[¶ÿV{²ÿRw¯ÿOt­ÿNt®ÿNs®ÿNt®ÿMs¬ÿLr©ÿLr§ÿOu¨ÿSy­ÿV|±ÿU|±ÿSy¯ÿQw®ÿPv®ÿNs¬ÿKp©ÿGm¦ÿGn¦ÿIo¨ÿIn¨ÿFj§ÿEi¦ÿInªÿOv°ÿT|¶ÿT|¶ÿPy³ÿKt°ÿIq¯ÿHq¯ÿIq°ÿKr±ÿLt²ÿLs°ÿJp¬ÿFl¦ÿDi¡ÿDi ÿHn£ÿMt¨ÿTz®ÿ[´ÿ`†¹ÿbˆºÿ`†·ÿ\‚³ÿW}°ÿRx®ÿMrªÿKo§ÿJo¦ÿMr©ÿOt­ÿOu®ÿLr«ÿHo¨ÿEl¥ÿEm¤ÿHo¥ÿJp¦ÿHm£ÿDi ÿCh ÿEl¤ÿKr«ÿPx±ÿT|´ÿU|´ÿT{²ÿQx¯ÿQy®ÿU|±ÿY€µÿZ¶ÿW~´ÿT{±ÿQx¯ÿMv¬ÿJr©ÿHn¦ÿGk£ÿGj£ÿIl¤ÿNq©ÿRu­ÿSv­ÿNr©ÿIm¤ÿGk£ÿIn¥ÿMs©ÿNt©ÿNs§ÿOt§ÿOu¨ÿOu¨ÿLr§ÿHo¥ÿFk¤ÿFk¤ÿFk¥ÿEi£ÿBfŸÿBfžÿIl¤ÿQu­ÿV|²ÿU|±ÿRy­ÿOw­ÿS{±ÿW~´ÿW~´ÿa…·ÿ©ËþÂÏáÿðó÷ÿÿÿÿÿþþþõþþþ¿þþþjùúü$ÿÿÿÿÿÿþþþþþþgþþþµþþþøÿÿÿÿñôøÿÇÒãÿˆ ÄÿVxªÿGl¤ÿHn¦ÿJq¨ÿNu«ÿSz®ÿX±ÿZ³ÿY³ÿU{±ÿRw¯ÿPt­ÿNr¬ÿKoªÿGk§ÿCh¤ÿCi¢ÿJp¦ÿTz­ÿ\ƒ´ÿ]„¸ÿ[‚·ÿX€¶ÿZ·ÿ]„¹ÿ_…ºÿ]‚¸ÿX}´ÿSx±ÿOu®ÿNt®ÿNt®ÿMs­ÿLqªÿKp§ÿLq¦ÿQv©ÿW|¯ÿY³ÿW}²ÿSy¯ÿPv­ÿOu¬ÿMr«ÿJo¨ÿFl¥ÿEl¤ÿGm§ÿIn©ÿHm©ÿHmªÿKq­ÿPw²ÿV}¶ÿW~·ÿS{´ÿNu±ÿJr¯ÿIq°ÿJr±ÿLu´ÿMu³ÿLt±ÿHo«ÿDj¤ÿAgŸÿAgÿEk ÿKq¥ÿSy¬ÿ[€´ÿb‡ºÿd‰¼ÿbˆºÿ^…¶ÿZ€´ÿV{±ÿQv­ÿNr©ÿMq¨ÿOu«ÿRw¯ÿQw°ÿMr¬ÿGl¦ÿBi¢ÿCj¢ÿHo¥ÿLr¨ÿMr¨ÿJo¥ÿGm¤ÿFm¦ÿIpªÿLs®ÿPw±ÿSz²ÿT{²ÿSz°ÿRy¯ÿRz°ÿT{²ÿV|³ÿV|´ÿTz²ÿPw®ÿLt«ÿJq¨ÿIo¦ÿIl¤ÿHk£ÿIl¤ÿMq©ÿQu­ÿQv­ÿMq¨ÿHl£ÿGk¢ÿJo¥ÿMs¨ÿNt¨ÿLr¥ÿKq¤ÿLr¥ÿKr¦ÿGo¤ÿEl£ÿDi£ÿEi£ÿEi£ÿAdžÿ<_˜ÿ=`˜ÿFi¡ÿPt«ÿUz±ÿQw­ÿKr¨ÿJq§ÿQw®ÿW~´ÿY¶ÿX´ÿb‡·ÿŒ¦ÉÿÅÑãÿïò÷ÿÿÿÿÿþþþøþþþµÿÿÿgþþþÿÿÿôöùþþþSþþþªÿÿÿèÿÿÿÿúûýÿÌÖæÿ•ªÊÿ\|­ÿGk¢ÿFk£ÿGm¤ÿJp¨ÿRx­ÿW}°ÿZ€³ÿZ€´ÿV|±ÿRw¯ÿNt­ÿMr¬ÿLq¬ÿJo«ÿHl¨ÿEj¦ÿEk¤ÿKq¨ÿT{®ÿ\ƒµÿ]…¸ÿ[ƒ¸ÿY€¶ÿ[‚·ÿ^…¹ÿ`†ºÿ^„¹ÿY~¶ÿRx²ÿNt¯ÿMt®ÿNt®ÿNs­ÿLpªÿJo¦ÿLq¥ÿRw©ÿX}¯ÿZ€³ÿW~²ÿS{°ÿQx®ÿPv­ÿMr«ÿIn§ÿDj¤ÿDk¤ÿGm§ÿJpªÿKq¬ÿLq­ÿNt¯ÿQy²ÿV~¶ÿW·ÿT{µÿOv±ÿKr°ÿJr±ÿLt²ÿNvµÿOv´ÿMt±ÿHoªÿCj£ÿAgŸÿAfÿChžÿGm¡ÿOu¨ÿX}±ÿ`…¹ÿcˆ¼ÿcˆ»ÿa†¸ÿ^„·ÿ[€µÿW{±ÿSw®ÿPu«ÿRw­ÿSy°ÿTy±ÿOt­ÿGl¦ÿBh¡ÿCi¡ÿHo¦ÿNtªÿQv¬ÿPu«ÿMrªÿJp©ÿIo©ÿIpªÿKr¬ÿOv®ÿSz±ÿT{±ÿSz°ÿQx¯ÿPw¯ÿQw°ÿRx±ÿQx±ÿNu­ÿJq©ÿHo¥ÿIn¥ÿJn¥ÿIm¥ÿHl¤ÿJo§ÿNsªÿNsªÿJn¥ÿFj¡ÿGj¡ÿKp¥ÿPu©ÿPv©ÿLr¥ÿIo£ÿHn£ÿGn£ÿDl¢ÿCj¢ÿBh¢ÿDh¢ÿCf¡ÿ=`šÿ8[”ÿ:]•ÿDgŸÿOsªÿRx¯ÿLsªÿFm¤ÿGm¤ÿPv¬ÿW}´ÿ[‚¸ÿZ‚·ÿW´ÿeˆ¸ÿ–­ÎÿÊÕåÿøùûÿÿÿÿÿþþþèÿÿÿªþþþSõ÷úÿÿÿþþþ ùúüPþþþžþþþéþþþÿøúüÿÒÜéÿ–¬Êÿa¯ÿHl¢ÿFk¡ÿFk¢ÿFl£ÿJo¦ÿQv«ÿX}±ÿ\µÿ[€µÿV{²ÿPu®ÿLq¬ÿJo«ÿJo«ÿIn«ÿHnªÿGm§ÿGm¦ÿKr¨ÿSz¯ÿ[‚¶ÿ^…¹ÿ]…ºÿ[ƒ¸ÿ\ƒ¸ÿ^„¹ÿ_†ºÿ]„¹ÿX¶ÿRy³ÿNt¯ÿMt®ÿNt®ÿNs­ÿKp©ÿIm¥ÿKo¤ÿQu©ÿV|¯ÿX²ÿV}±ÿS{°ÿRy¯ÿPv­ÿLrªÿGl¦ÿCi£ÿDk¥ÿGo©ÿKr¬ÿMt®ÿNt¯ÿOw±ÿQz²ÿT}µÿT~µÿS{´ÿOw²ÿMt±ÿLt²ÿNu³ÿOv´ÿOu³ÿNt±ÿJq«ÿFm¦ÿDj¢ÿChŸÿBgÿDižÿJp¤ÿSy­ÿ\‚¶ÿ`†¹ÿ`†¹ÿ_„·ÿ^„·ÿ^‚¶ÿ\€µÿY|²ÿTx®ÿRx®ÿSy¯ÿSy°ÿOu­ÿHn¦ÿCi¡ÿCj¢ÿHo§ÿNt¬ÿQw®ÿSx®ÿQw®ÿMs¬ÿJpªÿHo©ÿJqªÿMu­ÿQx¯ÿRy°ÿRy¯ÿPv®ÿMt¬ÿLs¬ÿMs­ÿMt­ÿKrªÿHo§ÿGm¤ÿHm¤ÿJn¥ÿIm¥ÿHl£ÿHm¤ÿJp§ÿKp§ÿJn¤ÿFi ÿFi ÿKn¤ÿPu©ÿRx«ÿOt¨ÿKp¥ÿIo¤ÿGn¤ÿEm£ÿCk£ÿCi¢ÿCg¢ÿBe ÿ>a›ÿ:]—ÿ=`™ÿFj¢ÿOsªÿPu­ÿIp§ÿDk£ÿEl£ÿNu«ÿV}³ÿ[‚¸ÿ[ƒ¸ÿX€¶ÿT{²ÿg‰¸ÿ–­ÍÿÑÚèÿ÷øúÿÿÿÿÿÿÿÿéþþþžùúûPþþþ ÿÿÿÿÿÿâéñÿÿÿ;ÿÿÿ‘ÿÿÿ×ÿÿÿÿþþþÿÛâíÿ¦¹Óÿi‡³ÿGl ÿEkŸÿEj ÿFl¢ÿIn¥ÿJp¦ÿQv«ÿZ²ÿ_ƒ·ÿ]‚·ÿW|³ÿQv¯ÿLq¬ÿJo«ÿIn«ÿIn«ÿInªÿHn¨ÿGm¦ÿJp§ÿQw­ÿY€µÿ^…ºÿ_‡¼ÿ]…ºÿ\„¸ÿ[ƒ·ÿ\„¸ÿ[ƒ¸ÿW¶ÿRz³ÿNu¯ÿNt®ÿOt®ÿNs­ÿJo¨ÿHl¤ÿIn¤ÿOs¨ÿTy­ÿV|°ÿU|°ÿT|°ÿS{°ÿQx®ÿLqªÿFl¥ÿCi¤ÿDl¦ÿHpªÿKt®ÿMu¯ÿNu°ÿOv°ÿOy±ÿQ{³ÿQ|´ÿQz´ÿOx³ÿNv²ÿNu²ÿNt²ÿOu³ÿOu³ÿOu±ÿLs­ÿJqªÿIo§ÿFk£ÿCh ÿBhžÿGm¢ÿOvªÿX³ÿ[‚¶ÿ[ƒ¶ÿ[‚µÿ\‚µÿ^‚¶ÿ_‚¶ÿ\´ÿUy¯ÿQv¬ÿOu¬ÿPw­ÿOu¬ÿKq¨ÿFm¤ÿFm¤ÿHo§ÿLs«ÿOv­ÿQx®ÿQw®ÿNt­ÿLr¬ÿKr¬ÿMt­ÿOv¯ÿOw¯ÿPv®ÿPv­ÿOu¬ÿLsªÿIq©ÿHo§ÿHn¨ÿHn§ÿGm¦ÿFl¤ÿFk£ÿGk£ÿFj¢ÿFi¡ÿGk¢ÿJo¥ÿMq§ÿMq¦ÿJm£ÿGj ÿIl¢ÿMr§ÿQvªÿPv«ÿNs©ÿKq§ÿJq¦ÿHp¦ÿGn¥ÿEk¤ÿDi£ÿDh£ÿCg¡ÿCg ÿEj¢ÿKp§ÿOt¬ÿOu­ÿKqªÿHo§ÿIp¨ÿOw­ÿV}³ÿ[‚·ÿZ·ÿW~µÿTz±ÿQw¯ÿmŒ»ÿ¦¸ÔÿÛãîÿÿÿÿÿÿÿÿÿÿÿÿ×ÿÿÿ‘þþþ;áèñÿÿÿ\€¶ùúü:ÿÿÿƒþþþÕÿÿÿÿÿÿÿÿäéòÿ«½×ÿu‘»ÿIo¤ÿFk ÿEkŸÿFl¡ÿHn¤ÿJp¥ÿLr§ÿSx«ÿ[€³ÿ`„·ÿ_ƒ·ÿY~´ÿSx±ÿOt®ÿLq¬ÿJo«ÿInªÿHn©ÿGn¨ÿFm¥ÿHo¦ÿNu«ÿW~³ÿ]„ºÿ_ˆ¼ÿ^†»ÿ[ƒ·ÿXµÿY‚µÿY‚·ÿW¶ÿTz³ÿPu¯ÿNt®ÿMr­ÿKp«ÿGl¦ÿEj£ÿHm£ÿMr§ÿRx¬ÿT|°ÿU}°ÿT}±ÿT|±ÿQx®ÿLrªÿGl¥ÿDj¤ÿEm§ÿHq«ÿKt¯ÿLu°ÿLt°ÿMu°ÿMw°ÿNy²ÿO{³ÿP{´ÿPy´ÿOw³ÿNv²ÿNt²ÿNs²ÿOt²ÿOu±ÿOv°ÿOv®ÿNt«ÿKp¨ÿGl£ÿEk¡ÿHo¤ÿNvªÿT|°ÿV²ÿW²ÿW²ÿY²ÿ\€´ÿ^µÿ[~³ÿTw­ÿMr¨ÿJp§ÿLs©ÿNu«ÿMtªÿJq§ÿHo¦ÿGo¦ÿHp§ÿJr©ÿMt«ÿNu¬ÿMs¬ÿMt­ÿOv°ÿRz³ÿRz³ÿPw°ÿNu­ÿNt¬ÿOu¬ÿMtªÿIp§ÿEl£ÿDk£ÿFl¤ÿGm¥ÿFl¥ÿEj£ÿCh ÿBfžÿCfžÿGj¡ÿKp¦ÿPu©ÿQu©ÿMq¥ÿHk ÿEižÿGl¢ÿLq§ÿNuªÿOu«ÿNu«ÿNvªÿNuªÿKr¨ÿGm¥ÿFk¤ÿHl¦ÿKp©ÿNs«ÿOu¬ÿPu­ÿOu­ÿOu­ÿMt¬ÿNu¬ÿPx®ÿS{±ÿV~³ÿX´ÿV}³ÿT{²ÿSx°ÿRw°ÿRw°ÿy–Áÿ®ÀÚÿæìôÿÿÿÿÿÿÿÿÿÿÿÿÕþþþƒùúü:Ry¯þþþþþþ$ÿÿÿtþþþÁþþþýþþþÿîñ÷ÿ¾Ëàÿ™ÁÿVx«ÿIo¤ÿGl¢ÿHm¢ÿKp¥ÿLq¦ÿLq¦ÿMs§ÿSx«ÿZ²ÿ_„¶ÿ_„·ÿ\€¶ÿW|³ÿSw°ÿNs­ÿKoªÿHn©ÿGm©ÿFm§ÿEl¥ÿHo¦ÿNu«ÿW~³ÿ]…ºÿ`ˆ¼ÿ^†ºÿZ‚¶ÿV³ÿW´ÿY¶ÿXµÿU{²ÿQv¯ÿNs­ÿKp«ÿGl¨ÿCh£ÿCh¡ÿHm£ÿNs¨ÿRy­ÿU|±ÿV~²ÿV~²ÿU}±ÿQy¯ÿMs«ÿHn§ÿFl¥ÿFn§ÿIr«ÿKt¯ÿLu±ÿKs°ÿKt¯ÿLv°ÿNy³ÿQ|µÿQ|µÿPz´ÿOw³ÿMu²ÿLs²ÿMs²ÿMs±ÿOu±ÿQx±ÿRy±ÿQx®ÿNtªÿKq§ÿJp¦ÿMt©ÿQx­ÿT|°ÿU}±ÿU}±ÿV}°ÿX~±ÿZ~³ÿ[~³ÿX{±ÿQt«ÿIn¥ÿFl£ÿIp¦ÿMtªÿPw¬ÿMtªÿIq¦ÿFm£ÿDl¢ÿFn¤ÿHp§ÿJq©ÿKr«ÿNt®ÿQx²ÿU|µÿT|µÿQx±ÿOv®ÿPv®ÿRx®ÿQw­ÿLs¨ÿFm£ÿEk¢ÿFk£ÿHn¦ÿHm¦ÿEk£ÿBfŸÿ@c›ÿBeœÿGk¢ÿLp¦ÿPuªÿQv©ÿNr¦ÿHl¡ÿBgœÿBgÿFl¢ÿJq¨ÿNv¬ÿPy®ÿRz¯ÿSz®ÿOuªÿIo¥ÿGk¤ÿJn§ÿPu®ÿV{²ÿV{³ÿRx¯ÿMs¬ÿLsªÿMu¬ÿRz¯ÿV~³ÿX€µÿW~´ÿT{²ÿRx¯ÿRx¯ÿRw¯ÿSx±ÿTy±ÿ]€µÿ… ÇÿÁÏâÿïò÷ÿþþþÿþþþýþþþÁÿÿÿtþþþ$þþþþþþøùû!ÿÿÿeÿÿÿ¼ÿÿÿ÷ÿÿÿÿöøûÿÅÑãÿŒ¤ÇÿY{®ÿLq§ÿJo¥ÿIo¥ÿLq§ÿPtªÿOs©ÿLp¦ÿKp¤ÿNs§ÿUz®ÿ[€³ÿ^ƒ¶ÿ]‚·ÿ[µÿUy±ÿNr«ÿIn¨ÿGl§ÿFl§ÿFl§ÿFm¥ÿIq§ÿPx¬ÿX€´ÿ^†¹ÿ`‡»ÿ]…¹ÿX€µÿU}²ÿV}³ÿYµÿY~´ÿV{±ÿRu­ÿMq«ÿIm©ÿCg¤ÿ?dŸÿ@eÿGl ÿNs§ÿTz¬ÿU|°ÿU|±ÿT{¯ÿRz®ÿOv«ÿKq¨ÿGl¤ÿEj¢ÿEk£ÿGn¦ÿJq©ÿJr«ÿJq«ÿJr«ÿKt¬ÿNw¯ÿPy±ÿPy±ÿNw°ÿLt®ÿKq­ÿJp¬ÿIo«ÿJoªÿLr«ÿPv¬ÿRx­ÿRx«ÿOt¨ÿMr§ÿMs§ÿOv©ÿQwªÿQw«ÿPwªÿQxªÿSyªÿTy«ÿTy¬ÿTx¬ÿRuªÿLo¦ÿFj ÿChÿGl¡ÿKq¥ÿNt§ÿLr¦ÿGm¡ÿBhœÿ?ešÿ@f›ÿCj ÿFm¤ÿHo§ÿKr«ÿNu®ÿRx°ÿRx°ÿRx¯ÿQx®ÿSz®ÿT{¯ÿRy­ÿNu©ÿIo£ÿGl¢ÿGk¢ÿHl£ÿGk¢ÿEj ÿBfœÿ@c™ÿBdšÿFi ÿIm£ÿKp¥ÿJo£ÿHl ÿDiÿ@e™ÿ?dšÿBhÿGn¤ÿLtªÿQy¯ÿT|±ÿU|°ÿPvªÿKo¥ÿGk¢ÿJo¦ÿRw®ÿX}´ÿW}´ÿRx¯ÿJq©ÿGo¥ÿJr§ÿQy­ÿX€´ÿZ·ÿV}´ÿRx¯ÿOu­ÿRw­ÿSx¯ÿTy±ÿTy±ÿTy°ÿ]€³ÿލÉÿÅÒãÿô÷ùÿÿÿÿÿþþþ÷ÿÿÿ¼ÿÿÿeùúû!þþþÿÿÿþþþûüüOÿÿÿ¢þþþïþþþÿýþÿÿØáîÿ›°Ðÿi‰·ÿOs©ÿLq§ÿJo¦ÿKp§ÿNsªÿQu¬ÿOtªÿJn¤ÿFj ÿGl¡ÿMr§ÿU{¯ÿ[´ÿ_ƒ·ÿ]€¶ÿVy°ÿMq©ÿGk¥ÿEj¥ÿEk¦ÿEk¦ÿGm¦ÿLs¨ÿS{®ÿZƒ´ÿ^†¸ÿ^†¹ÿ[‚·ÿW~³ÿU|²ÿV|´ÿZ¶ÿY}´ÿVy°ÿPs«ÿJn¨ÿFj¥ÿBe¡ÿ>bœÿ?d™ÿFjžÿMr¤ÿSy«ÿTz­ÿSy¬ÿQw«ÿOt§ÿLq¥ÿHm¢ÿDhžÿBf›ÿBf›ÿEhžÿGl¢ÿHn¥ÿIo¦ÿIp§ÿJq¨ÿLsªÿMt¬ÿLt¬ÿKrªÿIo¨ÿHm§ÿGk¥ÿEj£ÿEj£ÿHn¤ÿMr§ÿPu§ÿPt¦ÿMr£ÿLq£ÿLr¤ÿMs¥ÿMs¥ÿLq¤ÿKp£ÿLp£ÿNr¤ÿOr¤ÿOs¥ÿOr¦ÿLp¤ÿIl¡ÿEiœÿEh›ÿFjÿIm ÿKn¡ÿHlžÿCh™ÿ>b”ÿ;_‘ÿ<`”ÿ?e˜ÿCiÿFk¡ÿHm¤ÿIn¦ÿLq¨ÿNsªÿQv«ÿSx¬ÿTz¬ÿTz¬ÿRxªÿPv©ÿNu§ÿMq¥ÿJn¢ÿGkžÿDhœÿCgšÿBe™ÿBe™ÿBe›ÿEhÿEhžÿDgÿBf›ÿBešÿAe™ÿ@e™ÿAgšÿBiœÿFm¡ÿJq§ÿNv«ÿQy®ÿSz®ÿPu©ÿKo¤ÿHk¡ÿJm¤ÿPt«ÿVz±ÿV|³ÿRx¯ÿJq¨ÿEm¢ÿFn£ÿMuªÿU|²ÿW~µÿTz³ÿPv®ÿOu­ÿRw¯ÿTy°ÿTx°ÿRw®ÿPv¬ÿPv¬ÿiЏÿ™°ÐÿÔÞëÿúûýÿÿÿÿÿþþþïÿÿÿ¢üüýOþþþÿÿÿÿÿÿþþþ3þþþþþþÝÿÿÿÿþþþÿÜäïÿª½Øÿr‘¼ÿTy­ÿPvªÿNs©ÿLp§ÿMr©ÿNs«ÿPu­ÿMsªÿFk¢ÿAeœÿ@dœÿFk¡ÿPuªÿY}±ÿ_‚¶ÿ^¶ÿUy¯ÿKp¨ÿEj£ÿDj¤ÿEk¥ÿFl¦ÿHn¦ÿMt©ÿT{­ÿY³ÿ[ƒµÿ[‚¶ÿX´ÿU{±ÿTz²ÿV{´ÿY}¶ÿX|³ÿTw®ÿLo¦ÿHj¤ÿDg¡ÿAcÿ=`˜ÿ>a–ÿDg™ÿKo ÿQt¥ÿRu§ÿOs¥ÿLo¡ÿImÿFišÿAc•ÿ>_’ÿ;\ÿ<]ÿ?a“ÿCd–ÿDg™ÿEišÿFiœÿFiÿFjÿFjžÿEjžÿEjžÿFiÿDg›ÿBc—ÿ@a•ÿ@a•ÿCf—ÿIk›ÿKnÿKm›ÿIkšÿHj™ÿHj™ÿFj˜ÿDh–ÿBe”ÿAc”ÿCc”ÿDf–ÿFh—ÿGi˜ÿGi™ÿEg˜ÿCf–ÿCe–ÿCe•ÿEf–ÿEf–ÿDf•ÿAb‘ÿ<^ÿ8Y‰ÿ6W‡ÿ7Y‰ÿ;\ÿ>`’ÿ@d–ÿBfšÿEhÿGj ÿKo¢ÿNr¤ÿPt¥ÿPt£ÿMr¡ÿLq¡ÿNr¢ÿOt£ÿOt£ÿKnÿEh—ÿAc’ÿAb’ÿAc“ÿBd•ÿCc–ÿAc—ÿ?a•ÿ<_“ÿ;]’ÿ:]‘ÿ<_“ÿ@d–ÿEi›ÿFlÿGmŸÿGm¡ÿJq¥ÿNt©ÿPw«ÿOt¨ÿLo¤ÿIl¢ÿKm¤ÿOr©ÿSx®ÿU{±ÿSy°ÿMtªÿGo¤ÿFn£ÿJr§ÿPv­ÿQw¯ÿNt®ÿLs¬ÿNt¬ÿRx¯ÿTy°ÿTy®ÿOu«ÿMs©ÿMt©ÿPv¬ÿlºÿ¤¹ÕÿØáíÿþþþÿÿÿÿÿþþþÝþþþþþþ3ÿÿÿÿÿÿøùûþþþdþþþÀÿÿÿûþþþÿæëòÿ´ÄÛÿ„ŸÅþ\€²ÿW|¯ÿSy¬ÿPv«ÿNs©ÿMr©ÿMsªÿNu«ÿKr¨ÿDj¡ÿ?cœÿ?b›ÿDh ÿMr§ÿVz¯ÿ]€´ÿ\µÿUx¯ÿKp¨ÿFk¤ÿEk¥ÿGm¦ÿGm¦ÿIo¦ÿLs¨ÿQx«ÿV}¯ÿW~±ÿW~²ÿU|±ÿRy°ÿRx°ÿTy²ÿW{´ÿWz²ÿQt¬ÿJm¤ÿFh ÿCeÿAb›ÿ=`–ÿ>a•ÿBd–ÿIkœÿMoŸÿOq¡ÿLnžÿIlšÿEh•ÿAbÿ<\Œÿ8W‡ÿ6T†ÿ7Wˆÿ]‹ÿBaÿBbÿBaÿ?`Žÿ>_ÿ@`ŽÿBbÿCcÿBaÿ>^Œÿ;[ˆÿ7W„ÿ5T‚ÿ4S‚ÿ4Sƒÿ6V†ÿ:ZŠÿ=]Žÿ@b“ÿDf˜ÿGiœÿJlŸÿMo ÿLožÿIlšÿFh—ÿEh—ÿIkšÿMpŸÿOrŸÿJmšÿDg“ÿ?aŒÿ>_‹ÿ?_ŒÿAbÿAaÿ>_‘ÿ<\ÿ9YŒÿ6WŠÿ6W‹ÿ:\ÿAd•ÿImžÿLp ÿImŸÿFjÿFlŸÿJp¤ÿNu©ÿOu©ÿNq§ÿLo¥ÿMp¦ÿOsªÿRx­ÿU{°ÿT{°ÿPw¬ÿKr¨ÿIo¥ÿIo¦ÿJo§ÿIn¨ÿGm¨ÿHn¨ÿLr«ÿQw®ÿTx°ÿSw®ÿOu«ÿMs©ÿMs©ÿOuªÿQw¬ÿ|™Àþ²ÃÛÿéîõÿþþþÿþþþûþþþÀþþþdøúüÿÿÿþþþüýýPÿÿÿ£ÿÿÿðÿÿÿÿäéðÿ·ÆÚÿœÁÿaƒ²ÿ]²ÿ[€±ÿX}¯ÿUz¯ÿRx­ÿQv¬ÿOu«ÿNu«ÿJr¨ÿDk¢ÿ@ežÿAežÿFj¢ÿMq§ÿTx­ÿY}±ÿY|²ÿSw®ÿLq©ÿIo§ÿIo¨ÿIo©ÿHn§ÿHn¥ÿJq¦ÿMt¨ÿQx¬ÿSz®ÿT{°ÿSz°ÿQx®ÿPv­ÿQv®ÿTx°ÿUx°ÿQt¬ÿKn¥ÿGiŸÿBe›ÿ@`—ÿ<^”ÿ=_’ÿ@a“ÿFg—ÿJj™ÿKl™ÿIj–ÿEf’ÿAa‹ÿ^‰ÿ?_‰ÿ>\†ÿ;W‚ÿ7Sÿ7S~ÿ9Wÿ>\…ÿA_ˆÿB_ˆÿB_ˆÿB_‡ÿ@^†ÿ^‹ÿDc‘ÿHg–ÿIh—ÿIj—ÿGg”ÿBcÿ?_‹ÿ>^‹ÿAbŽÿGg“ÿIj•ÿGg‘ÿBb‹ÿ=]…ÿ_•ÿ:[ÿ;\ÿ?_‘ÿFe”ÿIh•ÿIj•ÿFfÿCb‹ÿ>]…ÿ8U~ÿ4Oxÿ1Luÿ1Kvÿ2Nxÿ3Ozÿ5P{ÿ6S|ÿ7T}ÿ8U~ÿ7T~ÿ6S}ÿ7T}ÿ8V~ÿ:X~ÿ;X~ÿ:V}ÿ7Rzÿ4Nwÿ3Mvÿ5Pxÿ8T|ÿY}ÿ:Uzÿ4Ouÿ.Jqÿ,Hnÿ-Ipÿ2Nuÿ7Qxÿ8Szÿ6Pxÿ3Ntÿ2Msÿ5Nvÿ6Pxÿ6Pxÿ4Owÿ4Ovÿ4Pvÿ5Pvÿ5Owÿ1Muÿ.Itÿ-Hsÿ/Kvÿ6R|ÿ>[…ÿDaŒÿFdÿEdÿDcŽÿC`Œÿ?^‰ÿZÿ8Tzÿ4Ntÿ/Hmÿ-Fjÿ-Ejÿ.Glÿ-Glÿ-Flÿ.Hmÿ0Joÿ2Lqÿ1Lqÿ1Kqÿ1Lpÿ3Mpÿ4Npÿ5Noÿ3Moÿ1Jmÿ.Fjÿ-Ejÿ/Glÿ3Koÿ5Nqÿ6Oqÿ7Oqÿ8Pqÿ7Pqÿ5Moÿ0Hkÿ+Cfÿ(Adÿ(Adÿ,Ehÿ/Gjÿ1Hlÿ0Fjÿ/Ehÿ.Ehÿ/Ehÿ.Eiÿ.Ehÿ-Ehÿ.Fiÿ0Hkÿ2Jmÿ2Jmÿ/Glÿ+Djÿ(Agÿ*Cjÿ1Jqÿ9Tzÿ>Yÿ>Yÿ^ÿ'>^ÿ)@_ÿ+Aaÿ,Bbÿ,@aÿ,@`ÿ,@`ÿ+@_ÿ*?_ÿ)?^ÿ*?_ÿ+Baÿ-Cbÿ/Edÿ/Eeÿ-Cdÿ)?aÿ&=`ÿ(?bÿ.Fhÿ5Mqÿ8Quÿ7Quÿ5Otÿ6Otÿ8Qwÿ9Rwÿ8Rvÿ5Osÿ4Nqÿ3Npÿ4Npÿ4Noÿ3Lmÿ0Iiÿ/Hgÿ0Ggÿ3Jiÿ4Klÿ1Ilÿ.Fkÿ*Ciÿ,Emÿ0Jsÿ7R|ÿ=Y„ÿCaÿGf“ÿJk™ÿKk›ÿKo ÿLp£ÿMt¨ÿLs©ÿLr¨ÿKr¨ÿKr©ÿIp¦ÿDk¢ÿChŸÿFk¡ÿMq§ÿSw®ÿUz²ÿTz²ÿSz°ÿTz¯ÿTx¬ÿRt©ÿMo¥ÿJl£ÿKn¦ÿQu¬ÿX}³ÿ[‚·ÿV|²ÿNsªÿFl£ÿJq¦ÿT|¯ÿdŠºÿ¬ÏÿÈ×èÿòöúÿÿÿÿÿÿÿÿõþþþªùúüTÿÿÿþþþÿÿÿ1þþþŠÿÿÿÛþþþÿüüýÿÎ׿ÿ‘¥ÆþUu§ÿFiŸÿLp¤ÿUy­ÿ]´ÿa…¸ÿ_…¸ÿ`„¸ÿ`…¹ÿ`…ºÿ\‚·ÿT{±ÿIp§ÿBh ÿAfŸÿFk£ÿLq©ÿOt¬ÿPt­ÿNr«ÿLo©ÿHl¦ÿGl¦ÿIn¨ÿLq«ÿKq«ÿHn¨ÿEk¥ÿFl¤ÿKq¨ÿRy®ÿY´ÿ\ƒ·ÿ[µÿX~±ÿTz­ÿSx­ÿUy¯ÿVz°ÿUy­ÿPs¦ÿIkžÿ@a“ÿ8XŠÿ1Qÿ2Qÿ7U~ÿ?\ƒÿA]ÿ@[~ÿ:Tvÿ5Moÿ0Fgÿ+?`ÿ&9Xÿ%7Uÿ%8Uÿ&9Vÿ%8Uÿ#7Tÿ#7Tÿ%9Wÿ([ÿ.B`ÿ.Cbÿ,Bcÿ*Acÿ-Ehÿ1Jnÿ6Pvÿ:T|ÿ?[…ÿDbÿHh–ÿJkšÿKo ÿLq¤ÿLr¦ÿJp¦ÿGm¤ÿEk£ÿDj¢ÿAgŸÿ=b›ÿ\ÿ,@_ÿ.Baÿ0Dbÿ/Caÿ-B_ÿ,A^ÿ+A^ÿ,B^ÿ+@\ÿ(a›ÿ;_˜ÿ;`˜ÿ@dÿGk¤ÿNs«ÿQw¯ÿSz°ÿU|±ÿY€³ÿZ³ÿV|°ÿNs©ÿGl£ÿFl¤ÿMs«ÿV|³ÿZ€·ÿYµÿTy°ÿNtªÿLs¨ÿLt©ÿOw¬ÿS{¯ÿy—Áþ­ÀÙÿåëóÿÿÿÿÿÿÿÿõÿÿÿ¸ÿÿÿ]öøúÿÿÿÿÿÿøùûDþþþ–ÿÿÿçþþþÿíñöÿºÈÝÿz”»ÿLn£ÿEiŸÿIl£ÿRv«ÿ]´ÿb‡¹ÿa‡¹ÿ_…·ÿ_„·ÿa†ºÿb‡¼ÿ]ƒ¹ÿU{±ÿJp§ÿDi¡ÿCg ÿHl¥ÿMqªÿQu®ÿPt¬ÿLp¨ÿIl¥ÿGk¥ÿFl¦ÿHm¨ÿHn©ÿIn©ÿHm¨ÿFj¦ÿEj¤ÿGn¥ÿOv¬ÿY€´ÿ`‡»ÿ`‡ºÿZ´ÿTy­ÿQvªÿRv«ÿQvªÿPt¨ÿLq¤ÿIm£ÿDhŸÿ?a˜ÿ:[Žÿ9Z‰ÿ=\…ÿA`…ÿA\ÿ>Xyÿ8Poÿ3Igÿ-A^ÿ'8Tÿ /Iÿ-Eÿ-Dÿ!/Fÿ /Fÿ.Eÿ-Dÿ.Eÿ!1Gÿ"2Gÿ!0Fÿ/Fÿ.Eÿ/Eÿ/Fÿ.Eÿ-Dÿ,Cÿ,Cÿ/Eÿ!1Fÿ!1Fÿ /Dÿ.Bÿ.Cÿ.Cÿ/Dÿ.Cÿ.Cÿ.Cÿ /Dÿ!0Eÿ!/Eÿ .Eÿ-Cÿ,Bÿ+Aÿ+@ÿ,Aÿ.Cÿ /Dÿ /Cÿ-Cÿ-Bÿ-Cÿ.Cÿ.Cÿ.Cÿ.Dÿ/Fÿ 0Iÿ 1Jÿ"3Mÿ$5Oÿ&7Rÿ(9Tÿ):Uÿ):Tÿ'9Sÿ&9Rÿ&9Rÿ'9Rÿ&8Pÿ#3Jÿ-Cÿ(>ÿ'>ÿ)@ÿ /Hÿ$5Oÿ(;Vÿ+@[ÿ/Ecÿ1Hhÿ4Loÿ6Otÿ;V~ÿ?\†ÿCbÿDf“ÿEi™ÿGlœÿGm¡ÿGm¢ÿEj¢ÿCf ÿAcžÿ?bœÿ?b›ÿ?dœÿAgŸÿDj¢ÿIn§ÿMsªÿRx®ÿW~±ÿZ‚´ÿZ‚´ÿU}±ÿMuªÿHo¦ÿIp§ÿOu¬ÿU{²ÿX~µÿX~´ÿW|²ÿTy¯ÿRw¬ÿMt©ÿLs©ÿMtªÿUz®ÿ~šÁÿ»ÉÞÿêîôÿþþþÿÿÿÿçþþþ–ùúüDþþþÿÿÿþþþþþþpþþþÂÿÿÿÿþþþÿÖßìÿ–¬ËþYz«ÿDhŸÿEi ÿLo¦ÿX{°ÿb…¹ÿf‹½ÿd‰»ÿa†¸ÿ`…·ÿa†¹ÿb‡¼ÿ^ƒ¹ÿU{²ÿLq¨ÿFk¢ÿDh ÿHl¤ÿMp©ÿPt¬ÿOs«ÿKo§ÿHl¥ÿFk¥ÿGl§ÿHn©ÿIo©ÿIn©ÿHm©ÿEj¦ÿDj¤ÿFm¥ÿNu«ÿX´ÿ^†ºÿ^†ºÿY€µÿSy®ÿPuªÿQu«ÿRuªÿQuªÿLp£ÿGjœÿ@a•ÿ;ZŒÿ6T‚ÿ6S~ÿ9UzÿZƒÿA`ŒÿAbÿAd“ÿAf–ÿBh›ÿFl ÿGl¤ÿGj¤ÿEg¢ÿDg¡ÿFi¢ÿFk£ÿFl¤ÿEk¤ÿGm¥ÿKq¨ÿSy®ÿY³ÿ\„¶ÿX´ÿR{¯ÿMu«ÿLsªÿOv¬ÿTz°ÿV|²ÿV|²ÿV|±ÿW}²ÿX~²ÿW}°ÿQw­ÿMsªÿKq¨ÿJp§ÿZ~®ÿ”ªÊþÓÜéÿþþþÿÿÿÿÿþþþÂÿÿÿpþþþÿÿÿÿÿÿþþþÿÿÿNþþþ¨þþþëÿÿÿÿîò÷ÿ³ÄÛÿrºþFk¢ÿBhŸÿEj¡ÿNr©ÿ\´ÿf‰½ÿjŽÀÿgŒ½ÿcˆ¹ÿa†·ÿa†¹ÿa†ºÿ\‚·ÿUz±ÿLq¨ÿGk£ÿEi¡ÿHl£ÿLp§ÿOsªÿMrªÿJo§ÿGl¥ÿFk¥ÿGl§ÿHn¨ÿIoªÿIoªÿHn©ÿEk¦ÿEk¤ÿIo§ÿQx®ÿY€µÿ]„¹ÿ[ƒ¸ÿW~´ÿSx¯ÿQt«ÿRu¬ÿTx®ÿTy®ÿIkšÿ;X‚ÿ-Fjÿ'<]ÿ$8Uÿ&:Vÿ':Sÿ);Rÿ'8Lÿ$4Fÿ .>ÿ*9ÿ$3ÿ,ÿ%ÿ!ÿ ÿ ÿ ÿ!ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿÿ ÿÿÿÿ ÿ ÿ ÿ ÿ ÿÿ ÿÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿÿ#ÿ)ÿ 0ÿ#4ÿ%8ÿ$8ÿ"3ÿ+ÿ'ÿ$ÿ$ÿ%ÿ%ÿ&ÿ%ÿ%ÿ$ÿ!ÿ ÿ ÿ ÿ ÿ%ÿ!4ÿ,Cÿ"2Kÿ':Uÿ*>[ÿ1Fgÿ6Loÿ:Syÿ\†ÿ=]Šÿ=_ÿ;_ÿ=c–ÿCižÿHm¥ÿJm§ÿIl§ÿIl¦ÿJn§ÿJo§ÿJp§ÿIo§ÿJq¨ÿOv«ÿV~²ÿ\„¶ÿ]…·ÿW³ÿQz®ÿOw¬ÿQy¯ÿW}³ÿ[€µÿZ´ÿV|±ÿTz®ÿV|¯ÿ[€³ÿ[€µÿV|²ÿOu¬ÿIp§ÿGn¥ÿGn¥ÿpޏþ°ÁØÿëïõÿÿÿÿÿþþþëÿÿÿ¨ÿÿÿNþþþÿÿÿÿÿÿúûü'þþþxþþþÑÿÿÿÿøùûÿÏÙèÿ’©Êÿ\~¯ÿFl£ÿBh ÿEj¢ÿQt«ÿ]€¶ÿgоÿkŽÁÿhŒ¾ÿcˆºÿ`†¸ÿ_…¸ÿ^„¸ÿY´ÿRx®ÿJp§ÿGl£ÿGk£ÿKn¥ÿNq§ÿOs©ÿMr©ÿJo¨ÿHm§ÿFl¦ÿFk¦ÿGm¨ÿJpªÿJp«ÿGn©ÿDl¥ÿFn¥ÿMu«ÿW~²ÿ]„¸ÿ]„¸ÿY€µÿU|²ÿQw®ÿPt¬ÿSv­ÿVy¯ÿX|±ÿEdŽÿ,B`ÿ$6ÿ$ÿ ÿ$ÿ#ÿ$ÿ!ÿÿÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ$ÿ.ÿ!2ÿ0ÿ&ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿÿÿ ÿ ÿ%ÿ#7ÿ*Aÿ 1Lÿ%7Sÿ-Baÿ2Ikÿ8Qtÿ9Tyÿ;Y‚ÿ;Z‡ÿ;\Œÿ9]ÿ<`•ÿBfžÿIn¦ÿLpªÿMqªÿLo©ÿKo§ÿJn¦ÿKp§ÿMsªÿPw­ÿU|±ÿZ¶ÿ]„·ÿ[‚¶ÿU|°ÿPx­ÿPw­ÿU{±ÿ[¶ÿ_„¹ÿ]ƒ·ÿW}±ÿRy¬ÿTz­ÿZ²ÿ]¶ÿY~´ÿQv¬ÿHn¦ÿFm¤ÿHo¦ÿ\€±ÿ©ËÿÎØçÿøùûÿÿÿÿÿÿÿÿÑþþþxúûü'ÿÿÿÿÿÿüýýQÿÿÿ©ÿÿÿ÷þþþÿÛâíÿ¤·Òÿhˆ¶ÿJp§ÿGn¥ÿDj¡ÿFl¢ÿOt©ÿ[µÿeˆ½ÿiŒ¿ÿg‹½ÿb‡ºÿ^„·ÿ\ƒ¶ÿZµÿU{±ÿNu«ÿHn¦ÿGl¤ÿJn¥ÿNr¨ÿOt©ÿOt©ÿNt©ÿMsªÿLr«ÿJo©ÿGl§ÿGl¨ÿIoªÿHoªÿFn¨ÿDm¥ÿIq§ÿS{¯ÿ]…·ÿaˆºÿ]„·ÿX~³ÿTz°ÿQv­ÿNrªÿRu¬ÿVy¯ÿX|±ÿ@[ƒÿ-Bÿ ÿÿ(+.ÿ58<ÿ9=Bÿ8<@ÿ6;?ÿ59=ÿ59=ÿ59=ÿ59=ÿ59=ÿ49=ÿ48=ÿ48=ÿ48=ÿ38=ÿ38=ÿ38<ÿ37<ÿ27<ÿ27<ÿ27<ÿ27<ÿ27<ÿ27<ÿ17<ÿ17<ÿ16<ÿ16<ÿ06<ÿ06;ÿ06;ÿ06;ÿ06;ÿ05;ÿ05;ÿ/5;ÿ/5;ÿ/5;ÿ.5;ÿ.5;ÿ.4:ÿ.4:ÿ.4:ÿ-4:ÿ-3:ÿ-3:ÿ-3:ÿ-3:ÿ-3:ÿ,29ÿ+29ÿ.5=ÿ18@ÿ/6>ÿ#).ÿÿÿ ÿ ÿ$ÿ*ÿ%ÿ ÿ ÿ ÿ &ÿ*2:ÿ0:Cÿ0:Cÿ.7@ÿ.7@ÿ-6?ÿ-6>ÿ0:Dÿ2b—ÿCgžÿIn¦ÿMrªÿNr«ÿLo¨ÿHl¤ÿFj¢ÿHn¤ÿNuªÿU|°ÿYµÿ[ƒ·ÿZ¶ÿW~³ÿSy¯ÿPw¬ÿRx­ÿV|±ÿ\‚¶ÿ_…¹ÿ^„·ÿX²ÿSz¬ÿTz¬ÿZ±ÿ^‚¶ÿY~³ÿNtªÿEk£ÿEl¤ÿKs©ÿOx®ÿm½ÿ§»ÖÿÝåïÿþþþÿÿÿÿ÷þþþ©üýýQÿÿÿþþþÿÿÿ&ÿÿÿzþþþËþþþÿùúüÿÁÍßÿ‚œÁþOs©ÿJp¨ÿJp§ÿGm£ÿHm£ÿNr¨ÿY}²ÿb…ºÿfнÿd‰¼ÿa†¹ÿ]„·ÿZ¶ÿW~³ÿQy®ÿLs©ÿHn¥ÿHm¥ÿKo§ÿNr¨ÿOs¨ÿNt¨ÿOuªÿQw­ÿRx°ÿOt¯ÿJnªÿFk¨ÿFl¨ÿEm¨ÿDl¦ÿDm¥ÿKt©ÿW²ÿaˆ¹ÿb‰ºÿ]„¶ÿX~²ÿU{°ÿSw­ÿOr¨ÿPs©ÿSu¬ÿVy¯ÿ=X~ÿ'9ÿÿ48;ÿZagÿx€‰ÿƒŒ–ÿ€Š“ÿ~ˆ‘ÿz„ÿ{„Žÿ{…Žÿ|…ÿ|…ÿ{†ÿ{†ÿ{…ÿz…ÿz…ÿy…ÿy„ÿxƒÿxƒŽÿw‚Žÿw‚Žÿv‚Žÿv‚Žÿv‚Žÿu‚ŽÿuŽÿtÿt€ÿs€ÿs€ÿrŒÿrŒÿqŒÿqŒÿq~Œÿp~Œÿo}‹ÿo}‹ÿn}‹ÿn}‹ÿn|Šÿm{Šÿm{ŠÿlzŠÿlzŠÿkz‰ÿky‰ÿjy‰ÿjy‰ÿixˆÿgv†ÿnÿt…˜ÿp‚“ÿUbpÿ/7>ÿ ÿÿ ÿ ÿ ÿ ÿ ÿÿ %ÿALXÿbu‡ÿo„™ÿo„šÿi}‘ÿi~’ÿh|ÿfzÿn„›ÿs‹¢ÿj€–ÿHXgÿ&-ÿÿ ÿ&ÿ0ÿ#9ÿ*Bÿ#6Rÿ)>[ÿ.Ggÿ0Knÿ5Ryÿ9X‚ÿ>`ÿAc”ÿCgœÿFk¢ÿIo§ÿLrªÿMqªÿHl¥ÿCfžÿ@c›ÿDi ÿMs¨ÿU}°ÿY´ÿZµÿX´ÿW}³ÿTz°ÿSy®ÿSy®ÿU|°ÿZ€´ÿ]„·ÿ]„·ÿX€³ÿU|®ÿV|­ÿ\€²ÿ_ƒµÿY~²ÿLr©ÿCj¢ÿEl¤ÿNu¬ÿU}³ÿ\ƒ·ÿ‹§ËþÄÑãÿùúüÿÿÿÿÿþþþËÿÿÿzÿÿÿ&þþþÿÿÿõ÷ùþþþWþþþ°ÿÿÿïÿÿÿÿàçðÿ ´Ñÿe„³ÿJo§ÿJp¨ÿJp¦ÿJo¤ÿJo£ÿOs¨ÿW{°ÿ_‚¶ÿb‡ºÿb‡ºÿ`†¹ÿ]ƒ¸ÿY€µÿU|±ÿOv¬ÿLr¨ÿJp¦ÿKo§ÿKo¦ÿKn¥ÿIn£ÿKq¥ÿPvªÿV|±ÿX~µÿUz³ÿMr­ÿFk¨ÿDj§ÿCj§ÿCk¦ÿFn§ÿNv«ÿY€³ÿa‡¹ÿ`‡¹ÿ\‚µÿY~²ÿX}±ÿVz¯ÿPs¨ÿOq¨ÿOq©ÿQs«ÿ:T}ÿ':ÿ "$ÿQV\ÿŒ– ÿºÇÕÿÊÙçÿÅÔâÿÂÑßÿ¼ÊØÿ½ËÚÿ½ÌÚÿ½ÌÛÿ½ÌÛÿ¼ÌÛÿ¼ÌÛÿ»ÌÛÿ»ËÛÿºËÛÿ¹ÊÛÿ¸ÉÚÿ·ÈÚÿ·ÇÙÿ¶ÇÙÿµÇÙÿµÇÙÿ´ÆØÿ´ÆØÿ³ÅØÿ²ÅØÿ±Ä×ÿ°Ä×ÿ°Ã×ÿ¯ÃÖÿ®ÂÖÿ®ÂÖÿ­ÁÕÿ¬ÁÕÿ¬ÀÕÿ«ÀÔÿª¿Ôÿ©¿Ôÿ¨¾Óÿ¨¾Óÿ§½Óÿ¦¼Òÿ¦»Òÿ¥»Òÿ¤ºÑÿ£ºÑÿ¢¹Ñÿ¢¹Ñÿ¡¸ÐÿŸ·Ïÿ´Ìÿ¨ÁÛÿ°Ëçÿ¬Æáÿ‚—¬ÿIU`ÿÿÿÿ ÿ ÿ ÿÿÿ(/6ÿ`r„ÿ’­Èÿ£Âáÿ¤Ãâÿ›¸Öÿ›¹×ÿ™·Õÿ—´Òÿ¢Ãäÿ©Ìïÿœ½Þÿk˜ÿ.8Bÿÿ ÿ !ÿ+ÿ 4ÿ&<ÿ 2Lÿ&:Vÿ,Dcÿ.Ikÿ4Rxÿ:Y‚ÿAcÿEg—ÿGlžÿHn£ÿJp§ÿKq©ÿJo§ÿEi¢ÿ>b›ÿ<`˜ÿBfÿKq¦ÿS{®ÿW²ÿW€³ÿW~³ÿX´ÿW~³ÿW}²ÿV|°ÿV|°ÿX²ÿ[‚µÿ[ƒ¶ÿX€³ÿV}¯ÿX}¯ÿ^ƒ³ÿb†·ÿ]‚´ÿPw¬ÿFm¤ÿIn¦ÿQw­ÿZ€´ÿ\ƒ¸ÿr”Áÿ¥ºÖÿßæïÿÿÿÿÿÿÿÿïþþþ°þþþWõ÷ùÿÿÿÿÿÿöøú-þþþþþþÖþþþÿóöúÿÆÓäÿ† ÆÿXz¯ÿKp¨ÿJo§ÿIn¤ÿJn£ÿJo£ÿOs¨ÿVz®ÿ\€³ÿ_„·ÿa‡¹ÿ`†¹ÿ]ƒ¸ÿX´ÿTz°ÿOv«ÿMt©ÿLr¨ÿLp§ÿIl¤ÿEh ÿChžÿHm£ÿPv«ÿX´ÿ[·ÿW|µÿOt¯ÿHl©ÿEj§ÿDj§ÿEk§ÿIo©ÿQw­ÿZ³ÿ_„·ÿ]ƒ¶ÿZ€´ÿZ³ÿ[³ÿY|±ÿRt©ÿNp¨ÿLn§ÿMo¨ÿ8Q|ÿ*@ÿ(,2ÿ`fmÿ¦±½ÿÛêùÿíþÿÿå÷þÿàòþÿÙêúÿÙêûÿÙêûÿØéúÿ×éùÿÕèùÿÔèùÿÓçùÿÓæùÿÓæøÿÒåøÿÑä÷ÿÏã÷ÿÎâöÿÍâöÿÍáöÿÍáöÿÌàõÿËàõÿÊßôÿÉßôÿÈÞôÿÇÞôÿÆÝóÿÆÝóÿÅÜòÿÅÜòÿÄÛòÿÃÚñÿÂÚñÿÁÙðÿÀØðÿ¿×ïÿ¾×ïÿ¾Öïÿ½Öïÿ¼Õîÿ¼Ôîÿ»ÔíÿºÓíÿ¹Óíÿ¸Òíÿ·Òìÿ¶ÑìÿµÏêÿ²Ìçÿ¾ÛøÿÇæþÿÂáþÿ“ªÂÿQ_lÿÿÿÿÿÿÿÿÿ,4;ÿi}ÿ ½Úÿ³Ôõÿ³Õ÷ÿ©Éêÿ©Êìÿ§Èéÿ¤Åæÿ±Ôøÿ¸Þþÿ«Ïòÿuާÿ3>Hÿÿ ÿ ÿ*ÿ 3ÿ&<ÿ 1Jÿ&9Vÿ,Ccÿ/Ilÿ4Qxÿ9XÿAbÿFh–ÿHmžÿHn£ÿHo¥ÿHn¥ÿGl¤ÿBgŸÿ=ašÿ;_—ÿ?eœÿHn¤ÿQx¬ÿU}°ÿV~²ÿV~²ÿY€µÿ[¶ÿ[‚¶ÿY³ÿW}°ÿW}±ÿY³ÿZ‚´ÿX€³ÿW~°ÿY~°ÿ_„´ÿe‰¹ÿbˆ¹ÿX²ÿMuªÿMr¨ÿRw¬ÿ[€´ÿ`†¹ÿhŒ¼ÿŒ§ËÿÄÐâÿïòöÿþþþÿþþþÖþþþöøú-ÿÿÿþþþýýþRþþþ«ÿÿÿùÿÿÿÿÚâíÿ£¸Ôÿh‰¹ÿOt«ÿLp¨ÿHm¤ÿFk¡ÿGk ÿJn£ÿOs¨ÿUy¬ÿY}°ÿ]‚³ÿ`…·ÿ`†¹ÿ\‚·ÿV|²ÿRx®ÿOv«ÿOvªÿOt©ÿLp§ÿFi¡ÿ@c›ÿ?d›ÿFl£ÿQw­ÿXµÿZ€·ÿV{´ÿPu¯ÿJoªÿHm©ÿGm©ÿHn©ÿLq«ÿSx¯ÿZ³ÿ]ƒ¶ÿ[µÿX~³ÿY}²ÿZ~³ÿZ}±ÿTw«ÿPsªÿLo¨ÿKn§ÿ7P{ÿ)?ÿ&+1ÿ^djÿ£®¹ÿ׿ôÿéùÿÿâñþÿÝìüÿÕåõÿÕåöÿÕæöÿÕæöÿÔæöÿÓäôÿÒãôÿÑãôÿÐâôÿÐãôÿÐâôÿÎàóÿÍàòÿËßòÿÊÞòÿÊÞñÿÊÝñÿÊÞñÿÉÝñÿÈÜñÿÇÜðÿÅÚïÿÅÚïÿÃÙîÿÃÙîÿÂØíÿÂØíÿÂØîÿÁØîÿÀ×íÿ¾Õìÿ½Ôëÿ½Ôìÿ¼Ôìÿ»ÓëÿºÒêÿ¹Ñêÿ¹Ñéÿ¸Ðéÿ·Ðèÿ·Ðéÿ¶Ðéÿ´Îèÿ´Ïéÿ²Ìæÿ¯Éãÿ½ÙõÿÆäÿÿ½ÚøÿŒ¢¸ÿKXeÿÿ ÿÿ.5=ÿ4=Fÿ'-4ÿÿ ÿ)08ÿ`s„ÿ—³Îÿ­Ííÿ­Îïÿ¤Ãâÿ¤Ããÿ ÀßÿŸ¾ÞÿªÌïÿ±Õúÿ¥Çéÿqˆ ÿ1;Fÿÿ ÿÿ+ÿ"4ÿ(<ÿ!2Kÿ(;Vÿ.Eeÿ1Jmÿ4Qxÿ7Vÿ=_‹ÿBe“ÿEi›ÿFk ÿEj ÿEj¡ÿFj£ÿDh¡ÿ@ežÿ>c›ÿAgžÿHo¥ÿQx­ÿU}±ÿU}±ÿT{°ÿV}²ÿZµÿ]„¸ÿ\‚¶ÿX~±ÿU|¯ÿW~°ÿY€²ÿY€³ÿX~±ÿY~±ÿ_ƒ´ÿeŠºÿeŒ¼ÿ_‡¹ÿV~²ÿRy«ÿSy¬ÿZ±ÿ_…·ÿ^…¸ÿo‘¿ÿ¡¶Óÿ×ßëÿÿÿÿÿÿÿÿùþþþ«ýýþRþþþþþþ!þþþuþþþÈþþþÿøùûÿÄÑãÿˆ¢ÇþV{®ÿPu«ÿLq§ÿGk¢ÿChžÿChžÿIm¢ÿOs§ÿSw«ÿV{­ÿ[€±ÿ_„µÿ^„·ÿY´ÿRy®ÿOv«ÿOvªÿPw«ÿOuªÿJo¥ÿCfžÿ>a™ÿ?dœÿHn¥ÿRy¯ÿX¶ÿX~¶ÿTz³ÿPu¯ÿLr¬ÿKq¬ÿJp«ÿJp«ÿMr«ÿSx¯ÿY´ÿ\ƒ·ÿ[µÿX}²ÿVz°ÿVz¯ÿV{°ÿTy­ÿSx­ÿOt«ÿMp¨ÿ7Q{ÿ)@ÿ'+1ÿ^djÿ¢­·ÿÖäòÿç÷ÿÿáðþÿÜëûÿÕãóÿÔäôÿÔäôÿÔåôÿÓäôÿÑãóÿÑâòÿÐáòÿÏáòÿÐáòÿÏáòÿÍßñÿÌÞñÿÊÞðÿÉÝðÿÉÜïÿÉÜïÿÉÜðÿÈÜïÿÇÛïÿÆÛîÿÅÙíÿÄÙíÿÃØíÿÂØìÿÁ×ìÿÁ×ëÿÁ×ìÿÀÖìÿ¿Õëÿ½Óêÿ¼Óêÿ½Óêÿ¼ÓêÿºÑéÿ¹Ñèÿ¹Ðèÿ¸Ðèÿ·Ïçÿ¶Ïçÿ¶ÏèÿµÏçÿ´Íæÿ´Îçÿ±Ëäÿ®Èáÿ¼ÙôÿÆäÿÿ¹Öòÿ…š¯ÿFP[ÿ!&ÿ%+1ÿFQ^ÿn€“ÿ|‘¦ÿizŒÿAKVÿ %ÿ$+2ÿScqÿ‡¡¹ÿ¢ÀÝÿ ¾Üÿ—´Ñÿ—´Òÿ–³Ðÿ“±Îÿž¾Ýÿ¤Æçÿ™¸Øÿi~”ÿ-7@ÿÿ ÿ ÿ-ÿ&8ÿ,@ÿ$5Nÿ*=Xÿ1Ggÿ3Moÿ5Rxÿ6S}ÿ9Z‡ÿ=_ÿAf˜ÿCgÿBgÿChŸÿGk£ÿHn¦ÿGm¥ÿEk£ÿFl£ÿKr¨ÿRz¯ÿU}±ÿS{¯ÿOv«ÿPw¬ÿU|±ÿ[‚¶ÿ\‚¶ÿX~±ÿTz­ÿV|®ÿX~±ÿZ€²ÿY~±ÿY~±ÿ]‚´ÿbˆ¹ÿeŒ¼ÿd‹¼ÿ^…·ÿW~°ÿU{­ÿW}¯ÿ[‚´ÿ\„·ÿ]ƒ¶ÿ‰¤ÉþÃÐâÿ÷øúÿþþþÿþþþÈþþþuþþþ!þþþþþþþþþMþþþ¥þþþèþþþÿàæïÿ¥¹Óÿm¸þQw«ÿPuªÿLq§ÿHk¢ÿBfÿBgÿHm¢ÿOs§ÿRv©ÿTyªÿX}®ÿ\³ÿ\µÿU{±ÿNt«ÿLs©ÿNuªÿPw«ÿMu©ÿHm£ÿBfÿ>bšÿBfÿJp§ÿRz±ÿX¶ÿX~·ÿTz³ÿPv°ÿMs­ÿKr¬ÿIp«ÿIpªÿLs«ÿRx¯ÿYµÿ]„¸ÿ\‚¶ÿW}±ÿQw¬ÿPu«ÿRx­ÿU{¯ÿW~²ÿTz¯ÿPt«ÿ8S}ÿ+Aÿ(,2ÿ_ekÿ¥¯ºÿ×çõÿêúþÿãóýÿÞîýÿÖæöÿÖæ÷ÿÕçöÿÕæõÿÔåõÿÔåõÿÔåöÿÔåöÿÓäõÿÓäöÿÓäöÿÑâôÿÐâôÿÎáôÿÍáôÿÍàóÿÌßóÿÌàóÿÌßóÿËßòÿÊÞòÿÈÝñÿÇÜñÿÅÜðÿÆÛðÿÅÚïÿÄÚïÿÄÚðÿÃÙïÿÂØïÿÁ×îÿÀÖíÿÀ×îÿ¿Öîÿ½Õìÿ¼Ôìÿ¼Ôìÿ»ÓëÿºÓëÿ¹Òëÿ¹Òëÿ¹Òëÿ·Ðéÿ¶ÐéÿµÎèÿ²ËåÿÀÜøÿÊéÿÿº×òÿƒ—¬ÿCMWÿ$)/ÿÿ6:=ÿ48;ÿ48<ÿ58<ÿ58=ÿ48<ÿ36:ÿ148ÿ/37ÿ/37ÿ/37ÿ/37ÿ/37ÿ/37ÿ/37ÿ.27ÿ.27ÿ.27ÿ.26ÿ.26ÿ.27ÿ-27ÿ-27ÿ-16ÿ-16ÿ,16ÿ,16ÿ,16ÿ,16ÿ,16ÿ+16ÿ+16ÿ+16ÿ+06ÿ+05ÿ+05ÿ*05ÿ*05ÿ*/5ÿ*/5ÿ*/5ÿ*/5ÿ)/5ÿ)/5ÿ)/5ÿ).4ÿ(-3ÿ+28ÿ/6=ÿ$*/ÿÿ ÿ"ÿEP\ÿz¡ÿ¨ÃÝÿ¼Ûúÿ¡¼Öÿfx‰ÿ,3;ÿ$*1ÿP^lÿˆ ¸ÿ¥Ãàÿ¤Âàÿ›·Ôÿ›¸Õÿ™µÒÿ—³Ðÿ¢Áàÿ©Êëÿœ»Úÿk€–ÿ.8Aÿ ÿ ÿ(ÿ'9ÿ#2Gÿ(:Pÿ.C^ÿ2Jgÿ;Uuÿ>Y|ÿ@]ƒÿ?^‡ÿBc‘ÿGjšÿLp¥ÿMr©ÿLrªÿNt¬ÿRx°ÿU{²ÿU{²ÿSy°ÿRy°ÿPw®ÿNtªÿMr¨ÿNs©ÿPv¬ÿPw­ÿOw­ÿQx®ÿT|±ÿV|±ÿQv«ÿJm¢ÿEhÿFižÿIn¢ÿNs¦ÿRw©ÿSxªÿV{¬ÿY€°ÿ[ƒ´ÿY‚´ÿPz®ÿGq¨ÿBl¥ÿFn¨ÿOv¯ÿX}¶ÿdˆ¼ÿ™°ÔþÓÝìÿÿÿÿÿÿÿÿÿþþþ¸ýýþaÿÿÿþþþÿÿÿ2ÿÿÿˆÿÿÿ×ÿÿÿÿïò÷ÿ¶ÇÝÿ|™ÂþY~²ÿW|°ÿQv«ÿOs©ÿLq¨ÿLq¨ÿJo¦ÿJn¥ÿOq§ÿWx­ÿ]}±ÿ\}°ÿWz®ÿUz¯ÿU|±ÿV|²ÿU{±ÿTy®ÿRw¬ÿQw«ÿOv«ÿNuªÿMs©ÿIo¥ÿHm¤ÿKp§ÿRw®ÿX~µÿY¶ÿU{³ÿOu®ÿKpªÿIn¨ÿGk¦ÿEj¤ÿIo¦ÿRy­ÿZ³ÿ\ƒµÿV}°ÿOu¬ÿLrªÿOu®ÿV|²ÿZ€µÿ]ƒ·ÿY€µÿT{±ÿCc’ÿ/Egÿ(>ÿ+ÿ%ÿ*ÿ+ÿ"0ÿ"0ÿ .ÿ&ÿ ÿ ÿÿÿ,03ÿ:>Cÿ;@Eÿ8=Aÿ49=ÿ59=ÿ59=ÿ48=ÿ48=ÿ48=ÿ48=ÿ38=ÿ38<ÿ38<ÿ37<ÿ37<ÿ27<ÿ27<ÿ27<ÿ27<ÿ27<ÿ27<ÿ17<ÿ17<ÿ16<ÿ16;ÿ06;ÿ06;ÿ05;ÿ05;ÿ05;ÿ/5;ÿ/5;ÿ/5;ÿ/5;ÿ.5;ÿ.4;ÿ.4:ÿ.4:ÿ.4;ÿ-3:ÿ.4;ÿ'-3ÿ&+1ÿ+18ÿEPZÿgxˆÿ‹¡·ÿ¬Çâÿ¼Úøÿ¡»Öÿfx‰ÿ-4<ÿ$+1ÿP^lÿˆ ¸ÿ¦Ãáÿ¥Ãàÿ›¸Ôÿœ¹Õÿš¶Òÿ—³Ðÿ£Âáÿ©Êëÿ»Úÿk€•ÿ/8Aÿ ÿ ÿ,ÿ*>ÿ%6Mÿ+>Wÿ2Heÿ7Poÿ>Yzÿ?[ÿ>\ƒÿ;Z„ÿ?`ŽÿDh™ÿKo¤ÿMr©ÿMrªÿOt«ÿSx¯ÿU{²ÿTz±ÿRy¯ÿPx®ÿOv¬ÿMs©ÿNs¨ÿQv¬ÿU{°ÿU|²ÿRz°ÿQy¯ÿS{°ÿSz¯ÿOuªÿIm£ÿEižÿEižÿIm¢ÿMr¦ÿQv©ÿRwªÿRxªÿSz¬ÿV~°ÿV²ÿOx­ÿEn¦ÿ?g¡ÿDj¥ÿNt®ÿZ~·ÿ`„¼ÿƒŸÊþ¹Éàÿîòöÿÿÿÿÿÿÿÿ×ÿÿÿˆÿÿÿ2þþþÿÿÿõ÷ùÿÿÿQþþþ¨ÿÿÿèûüýÿÚâíÿ¢·Óÿq¼ÿY}±ÿVz¯ÿQv«ÿPu«ÿOt«ÿOt«ÿLq¨ÿJo¥ÿMp§ÿUw­ÿ]}²ÿ]~³ÿY}±ÿV|±ÿW~³ÿYµÿX}³ÿTy®ÿPt©ÿNs¨ÿNt©ÿOu«ÿOtªÿLq¦ÿJo¥ÿMq¨ÿSx®ÿX~´ÿX¶ÿTz²ÿOu®ÿLpªÿKn¨ÿHl¥ÿFk£ÿJp¦ÿSz­ÿ]ƒµÿ_…¶ÿW~±ÿOv«ÿLsªÿPw®ÿW~´ÿ]ƒ¸ÿ_…¹ÿ\ƒ·ÿX´ÿPs¥ÿDaÿ7Pyÿ.Fkÿ)Adÿ+Efÿ/Hiÿ6Pqÿ7Qrÿ5Mnÿ*?Zÿ,@ÿÿ ÿ48;ÿ`hoÿ€Š”ÿ„Ž™ÿ~ˆ’ÿt~‡ÿt~ˆÿt~ˆÿt}ˆÿs}ˆÿs}ˆÿr|ˆÿr|‡ÿq|‡ÿq{‡ÿp{‡ÿp{†ÿp{†ÿoz†ÿoz†ÿnz†ÿnz†ÿnz†ÿnz…ÿlx…ÿlx…ÿkx…ÿkw„ÿjw„ÿjv„ÿjv„ÿiv„ÿivƒÿhvƒÿhvƒÿhvƒÿgvƒÿfuƒÿetƒÿetƒÿetƒÿdrÿdr€ÿao}ÿcrÿj{‹ÿ{Ž¡ÿŒ¢·ÿ›³Ëÿ®Éåÿ¸ÕóÿŸ¸Òÿev‡ÿ-4<ÿ$+1ÿP^lÿ‡Ÿ·ÿ¥Âßÿ¤Áßÿ›·Óÿ›¸Ôÿ™µÑÿ—³Îÿ¢Áßÿ©ÊêÿœºØÿj”ÿ.8Aÿ ÿ ÿ0ÿ,Bÿ%8Qÿ,A[ÿ4Ljÿ:Stÿ?[~ÿ=Zÿ9W€ÿ6T€ÿ9[ŠÿAd•ÿIn¡ÿMs§ÿNs©ÿOsªÿRv­ÿTx¯ÿSy¯ÿQx®ÿQx®ÿPw¬ÿOv«ÿQv«ÿUz¯ÿX~´ÿW~µÿT|²ÿQy¯ÿPx­ÿNv«ÿKr¨ÿJo¥ÿJn¤ÿKo¥ÿMq¦ÿOt©ÿQw¬ÿQw¬ÿOu©ÿNu¨ÿPx«ÿS{¯ÿOw­ÿFn¦ÿ?f ÿCh£ÿNs¬ÿ[·ÿ`„»ÿv”Ãÿ¢µÓÿ×Þéÿûûûÿÿÿÿèþþþ¨ÿÿÿQõöùÿÿÿÿÿÿùúü*þþþyþþþÑÿÿÿÿëïõÿ¿Îáÿ†¡Æÿ`‚³ÿUy®ÿQv«ÿMr¨ÿNt©ÿQv¬ÿRw­ÿOtªÿKp¦ÿMq§ÿSv¬ÿZ{²ÿ[~³ÿY}²ÿW~²ÿX€µÿY€¶ÿW}³ÿRw­ÿMq§ÿKp¦ÿMq§ÿOt©ÿNt¨ÿLq¥ÿLp¥ÿNs¨ÿSy®ÿW}³ÿW}´ÿTy±ÿPt­ÿMp©ÿLo§ÿIm¤ÿGk£ÿJp¦ÿSy­ÿ\‚´ÿ_…·ÿX²ÿPx¬ÿMtªÿQx®ÿX´ÿ_…¹ÿcˆ»ÿa‡¹ÿ]„¶ÿZ€´ÿUz°ÿOsªÿGj¢ÿAešÿChœÿHnŸÿRx«ÿU{­ÿRw§ÿCaŠÿ.Dbÿ!0ÿ!'ÿZ`gÿ›§³ÿÊÚéÿÑãóÿÈÙèÿºÊØÿ»ÊÙÿ»ÊÚÿºÉÙÿ¹ÉÙÿ¹ÈÙÿ¸ÈØÿ·ÇØÿ·ÇØÿ¶Æ×ÿµÆ×ÿ´ÆÖÿ´ÅÖÿ³ÅÖÿ²ÄÖÿ±ÄÖÿ±ÃÕÿ±ÄÖÿ°ÃÕÿ®ÁÔÿ®ÁÔÿ­ÀÔÿ¬ÀÔÿ¬¿Óÿ«¿Óÿª¾Òÿª¾Òÿ©¾Òÿ¨½Òÿ§½Ñÿ§¼Ñÿ¦»Ñÿ¥»Ñÿ¤ºÐÿ¤ºÐÿ£¹Ðÿ¢¸Ïÿ¡¸Îÿ¡·Îÿ¢¹Ñÿ¦¾Öÿ©ÂÛÿ©ÃÝÿ¦ÀÙÿ°Ëçÿ¶ÒïÿŸ·Ñÿdu…ÿ-5<ÿ$*0ÿO]kÿ‡žµÿ¤ÁÝÿ£ÀÝÿšµÑÿš¶Òÿ˜´Ïÿ–²Ìÿ¡ÀÝÿ¨Èèÿ›¸Öÿi~’ÿ.7@ÿ ÿ!ÿ$7ÿ0Hÿ&:Vÿ-Caÿ6Opÿa”ÿGl¢ÿNt©ÿNt«ÿJo¦ÿGk¢ÿGk¢ÿKo¥ÿPt«ÿSx®ÿTy¯ÿTy¯ÿTy®ÿTz°ÿV|²ÿV|³ÿU|²ÿRx¯ÿLsªÿFm¥ÿFl¤ÿLq¨ÿSx®ÿW|±ÿV|±ÿTz°ÿSz°ÿSy¯ÿOv«ÿKr§ÿLs§ÿQw¬ÿSy¯ÿOu¬ÿHn¦ÿGm¥ÿMsªÿUz°ÿW{±ÿSw¬ÿk‰µÿ¤¶ÑÿÝäíÿþþþÿÿÿÿëþþþ–øùû;ÿÿÿÿÿÿüüýYþþþ·ÿÿÿÿþþþÿËÖæÿ§Éþ\±ÿTy­ÿPt©ÿIl¢ÿDhŸÿGk¢ÿNr¨ÿRw¬ÿRw¬ÿQv«ÿRw¬ÿUy¯ÿW{°ÿWz°ÿVz°ÿV|±ÿW~³ÿU}³ÿRz°ÿOv­ÿOu¬ÿOu«ÿOt©ÿNr§ÿMq¤ÿMp¤ÿMr¥ÿOt¨ÿRx¬ÿTz¯ÿTz°ÿSw¯ÿQu­ÿPs«ÿPr«ÿMp©ÿJn¦ÿJo¥ÿNu©ÿU|¯ÿY³ÿV}²ÿRy¯ÿPw­ÿT{°ÿ[¶ÿc‡»ÿgнÿeˆºÿa…¶ÿ\³ÿX}±ÿSx¯ÿOs«ÿJn§ÿIn¦ÿLq§ÿQw«ÿW|¯ÿY~²ÿOpŸÿ5Nqÿ%6ÿ+29ÿkszÿ°½ÉÿáòÿÿëüþÿáòÿÿÒâóÿÒãôÿÒãõÿÐâôÿÏâôÿÏáóÿÏáóÿÏâôÿÏáôÿÎáóÿÌßñÿËÞñÿÊÞñÿÈÝñÿÉÝñÿÈÜðÿÇÛïÿÇÜðÿÆÛïÿÅÚïÿÄÙîÿÃØîÿÃÙïÿÂØîÿÀÖíÿ¿Öìÿ¿Õìÿ¾Õìÿ½Ôìÿ¼Ôëÿ½Ôëÿ¼ÔëÿºÒêÿ¹Ñêÿ¸Ñêÿ·Ðéÿ·Ðèÿ·Ðéÿ·ÐéÿµÎèÿµÎéÿ²Ëæÿ¬Æàÿ¦¿Ùÿ±Ëæÿ·Óïÿž·Ïÿctƒÿ.5<ÿ*18ÿ]l|ÿ›µÏÿ»Úùÿ¹Ùøÿ­Ëêÿ®Ìëÿ«Êèÿ©Çåÿ¶×øÿ¾áþÿ®ÎïÿvŒ£ÿ4>Hÿ ÿ*ÿ-Fÿ%9Wÿ)@aÿ.Fiÿ6Pvÿ=Wÿ?[…ÿ:Wƒÿ5S‚ÿ2Qƒÿ5UŠÿ>_•ÿFj¢ÿLq©ÿLqªÿEj£ÿ@eÿ@c›ÿEh ÿLo§ÿQu¬ÿSx¯ÿSx¯ÿQw­ÿQw­ÿRx®ÿTz°ÿU{±ÿRy¯ÿMs«ÿHn¦ÿHm¦ÿNr«ÿVz°ÿZ~´ÿY~³ÿV{±ÿTz°ÿU{±ÿT{¯ÿQx«ÿQx«ÿU{¯ÿX}²ÿU{°ÿOu¬ÿLr©ÿNtªÿRw¬ÿRv«ÿOs©ÿVx¬ÿ¤ÈþÍ×çÿÿÿÿÿÿÿÿÿþþþ·üýýYÿÿÿÿÿÿþþþrþþþÈÿÿÿÿóõøÿ»ÉÞÿ~™ÀþQw¬ÿRw«ÿOr¨ÿIl¡ÿDgžÿFj¡ÿNr¨ÿSx¬ÿRx¬ÿQw«ÿSy­ÿVz¯ÿX{±ÿWz°ÿUy¯ÿUz°ÿU{±ÿT{±ÿRz¯ÿS{°ÿT{±ÿTz°ÿQv«ÿNs§ÿNq¥ÿOs¦ÿPu¨ÿQw«ÿRx¬ÿTy®ÿTy¯ÿTx¯ÿRw­ÿRv®ÿRu®ÿOr¬ÿKn§ÿIm¥ÿLr§ÿRx¬ÿV}°ÿT{°ÿQx®ÿPw­ÿU|±ÿ]‚¶ÿdˆ»ÿgмÿd†¸ÿ]´ÿW}±ÿTz°ÿSx¯ÿQu­ÿLp¨ÿIm¥ÿIm¤ÿOt¨ÿVz®ÿZ~²ÿLl™ÿ3Kmÿ#4ÿ(.6ÿckrÿ¤°¼ÿÒâñÿÛìüÿÒâñÿÄÓâÿÄÓãÿÄÔäÿÃÓäÿÂÒãÿÁÒâÿÁÒâÿÁÒãÿÁÒãÿÀÒãÿ¿Ñâÿ½Ïàÿ¼Îàÿ¼Îàÿ»ÍàÿºÍßÿ¹ÌßÿºÍßÿ¹Ìßÿ¸Ëßÿ¸Ëßÿ·Êßÿ¶ÊÞÿµÉÞÿµÉÝÿ³ÇÜÿ²ÇÜÿ±ÆÜÿ±ÆÛÿ±ÆÜÿ°ÆÛÿ¯ÅÛÿ¯ÅÛÿ­ÄÛÿ­ÄÛÿ¬ÃÚÿ«ÂÙÿ©ÁØÿ©À×ÿ©ÀØÿ¨ÀÙÿ¨¿Ùÿ§¿Øÿ¤¼Õÿ±Ìçÿ¹ÕñÿŸ¸Ðÿbrÿ)/6ÿ#(/ÿUcqÿ•­Çÿ¶Õôÿ¸×öÿ®Ìêÿ®Íëÿ«Éèÿ©ÆåÿµÖ÷ÿ½ßÿÿ«ËëÿtŠ ÿ3=Gÿ ÿ,ÿ 1Kÿ(>^ÿ,Dhÿ/Hnÿ6Pxÿ:Uÿ>[‡ÿ=[ˆÿ:Y‰ÿ6Vˆÿ7Wÿ;\”ÿBeŸÿHm§ÿIo¨ÿDi¢ÿ>cœÿ=`™ÿAdÿGk£ÿMrªÿPv­ÿQw­ÿOu«ÿNtªÿOu«ÿRw­ÿSx®ÿRx®ÿOu­ÿMs«ÿNs«ÿSv®ÿW{²ÿZ´ÿX~³ÿV{°ÿUz°ÿY~²ÿ\´ÿ[³ÿZ²ÿ[‚´ÿ]ƒ¶ÿ[€´ÿV|°ÿQx­ÿQw¬ÿRw«ÿPt©ÿNs©ÿPt«ÿ›ÄþÀÍâÿõ÷úÿÿÿÿÿþþþÈÿÿÿrÿÿÿþþþÿÿÿBþþþ—ÿÿÿßýýþÿÞäîÿ¢¶ÑÿkŠ·þNs©ÿNr§ÿLp¥ÿKm£ÿGk¢ÿKo¦ÿQv¬ÿTz®ÿRy¬ÿOv©ÿPvªÿUy­ÿX{°ÿXz°ÿVy°ÿTx¯ÿTy¯ÿSz¯ÿT|°ÿW€´ÿZ‚¶ÿW~²ÿQw«ÿMq¥ÿNq¥ÿQv©ÿTz­ÿT{®ÿTz®ÿTy®ÿUy¯ÿUz¯ÿTy®ÿTy¯ÿSw¯ÿPs­ÿKn§ÿHl¤ÿJo¤ÿPu©ÿTy­ÿRx­ÿPv¬ÿPw¬ÿU|°ÿ^ƒµÿe‰ºÿf‰ºÿ`ƒ¶ÿX}±ÿSx®ÿRy°ÿTy±ÿSx°ÿNs¬ÿJo§ÿIn¤ÿNs§ÿVz­ÿ\€³ÿOožÿ5Mpÿ%6ÿ)/6ÿdlsÿ¦²¾ÿÕäóÿÝïþÿÔäóÿÇÕäÿÇÖåÿÇ׿ÿÅÖåÿÄÕåÿÄÔäÿÃÔäÿÃÔåÿÃÔåÿÂÓäÿÁÓäÿ¿Ñâÿ¿Ðâÿ¾Ðâÿ½Ïâÿ¼Ïáÿ¼Îáÿ¼Ïáÿ»ÎáÿºÎáÿºÍáÿ¹Íáÿ¸Ìàÿ·Ìßÿ·ËßÿµÊÞÿ´ÉÞÿ³ÈÞÿ³ÈÝÿ²ÇÝÿ²ÈÝÿ±ÇÝÿ±ÇÝÿ¯ÆÝÿ¯ÆÝÿ®ÅÜÿ­ÄÜÿ«ÃÚÿ«ÂÚÿ«ÃÛÿªÂÛÿ©ÁÚÿ©ÁÚÿ¥½Öÿ²Íçÿ¹Õñÿ¢»Ôÿev…ÿ(/5ÿÿb›ÿDj¤ÿHn¨ÿGl¥ÿBg ÿ>b›ÿ>c›ÿCh ÿJp§ÿNu¬ÿOv­ÿMsªÿLr©ÿMr©ÿPu«ÿRw­ÿRx®ÿQx¯ÿSy°ÿVz±ÿY}³ÿ[´ÿ\€´ÿY~²ÿW|°ÿW|°ÿ]´ÿc‡¸ÿd‰¹ÿb‰¹ÿbˆ¹ÿcˆ¹ÿa†·ÿ\³ÿW}°ÿU{¯ÿUz­ÿQv«ÿPt«ÿRw®ÿp¾þ©¼Ùÿàçñÿýþþÿÿÿÿßÿÿÿ—ÿÿÿBþþþÿÿÿøùûÿÿÿ^þþþ³þþþìóõùÿËÕåÿ§Èÿa‚±ÿLp¦ÿJn£ÿIl¡ÿIm¢ÿKp¦ÿPv¬ÿV|±ÿV}±ÿQx¬ÿLs¦ÿLq¦ÿQuªÿWy¯ÿX{±ÿWz±ÿUy°ÿTy¯ÿSy¯ÿV}±ÿ[ƒ¶ÿ]†¸ÿY€³ÿQvªÿKo£ÿMq¥ÿRw«ÿV}°ÿW²ÿV}±ÿV{°ÿV{°ÿV{¯ÿU{¯ÿTz¯ÿSw®ÿOs«ÿJm¦ÿGk£ÿJn£ÿOs§ÿRwªÿQv«ÿOu«ÿPv¬ÿV|°ÿ_ƒµÿdˆ¸ÿdˆ¸ÿ]‚´ÿU{¯ÿPv­ÿQw¯ÿRx°ÿQw¯ÿMs«ÿHo¦ÿHn£ÿMs¦ÿW|®ÿ^ƒµÿRr ÿ6Nqÿ%6ÿ)/7ÿdlsÿ¦²¾ÿÕåóÿÞïþÿÕäóÿÇÖäÿÇÖäÿÇ×åÿÆÖåÿÅÕåÿÄÔäÿÃÔäÿÃÔåÿÃÔåÿÂÓäÿÁÓäÿ¿Ñâÿ¿Ðâÿ¾Ðâÿ½Ïâÿ¼Ïáÿ¼Îáÿ¼Ïáÿ»Îáÿ»Îáÿ¹Íàÿ¸Ìàÿ¸Íàÿ¸Ìßÿ¶ËÞÿµÊÞÿ´ÉÞÿ³ÈÞÿ³ÈÝÿ²ÇÝÿ²ÈÝÿ²ÇÝÿ°ÆÜÿ¯ÅÜÿ®ÄÜÿ­ÄÛÿ­ÃÛÿ¬ÄÛÿ¬ÃÛÿªÂÙÿªÃÛÿªÂÚÿ©ÁÚÿ¥¾Öÿ²Íçÿ¹Öñÿ¦ÀÙÿj{Œÿ*17ÿ ÿ"ÿ=GSÿXgwÿ[l|ÿZiyÿ[kzÿYhxÿWfvÿ]m~ÿar„ÿWgwÿ;FQÿ$ÿ ÿ!3ÿ&8Vÿ/Fkÿ4Owÿ5Q{ÿ7Uÿ8W„ÿ<\‹ÿ@aÿCd•ÿ?a”ÿ<_“ÿ:^”ÿ>b›ÿDi£ÿJp©ÿLqªÿIn¦ÿBgŸÿ?eœÿAhŸÿHo¦ÿMt«ÿNu¬ÿKr©ÿJq§ÿLr¨ÿOu«ÿQw­ÿRy¯ÿT{°ÿW~³ÿ[€µÿ]¶ÿ^¶ÿ]‚µÿZ²ÿX}°ÿZ~°ÿ`„µÿfŠºÿh½ÿg½ÿf¼ÿfŒ»ÿc‰¸ÿ^…´ÿZ²ÿY²ÿY±ÿV{¯ÿSx®ÿSx¯ÿh‰ºÿ–®ÐÿÏÚéÿô÷úÿÿÿÿìÿÿÿ³ÿÿÿ^øùûÿÿÿÿÿÿúûü.ÿÿÿþþþÔÿÿÿÿåêòÿ³ÂÙÿy”½ÿSvªÿKn¤ÿGj ÿEjžÿHm¡ÿMs¨ÿU{°ÿZ€´ÿX²ÿPw«ÿIo¤ÿHm¢ÿNq§ÿUw­ÿY{²ÿY}³ÿV{²ÿTy°ÿSy¯ÿV}±ÿ\„¶ÿ_†¸ÿZ³ÿPu¨ÿJn¢ÿKo£ÿQvªÿV}°ÿX€²ÿW~²ÿV{°ÿV{¯ÿV{¯ÿU{¯ÿTz¯ÿRw­ÿNsªÿJn¦ÿHl£ÿIm£ÿMq¤ÿPt§ÿPu©ÿOvªÿQx­ÿX}±ÿ_ƒµÿc‡·ÿb†¶ÿ\³ÿV{°ÿRw®ÿRw¯ÿQx¯ÿOv®ÿKrªÿGm¤ÿGm¢ÿMt¦ÿX~¯ÿ`†·ÿSu¡ÿ6Orÿ%7ÿ)/6ÿelsÿ¦²¾ÿÕåôÿÞðþÿÕåôÿÇÖäÿÇÖåÿÈ׿ÿÆÖåÿÆÖåÿÅÕåÿÄÔåÿÄÔåÿÃÔåÿÃÓäÿÂÓäÿÀÑãÿ¿Ñãÿ¿Ðâÿ¾Ðâÿ½Ïáÿ¼Ïáÿ½Ïâÿ¼Ïâÿ»Ïâÿ¹Íáÿ¹Ìàÿ¹Íàÿ¸Ìàÿ¶ËÞÿ¶ÊÞÿµÉßÿ´ÈÞÿ³ÈÞÿ³ÇÝÿ³ÈÞÿ²ÇÝÿ°ÆÜÿ±ÆÝÿ¯ÅÜÿ¯ÅÜÿ­ÄÛÿ­ÄÛÿ«ÃÚÿªÃÚÿ«ÃÛÿªÃÚÿ©ÂÚÿ¦¾Öÿ±Ìåÿ·Óîÿ«ÄÞÿx‹žÿ>HQÿÿÿ#ÿ'-4ÿ$*0ÿ"(-ÿ"(.ÿ!(.ÿ!(/ÿ$+1ÿ&-5ÿ"(.ÿÿ ÿ ÿ)>ÿ)>_ÿ1Ipÿ7S}ÿ:Wƒÿ<\Šÿ<\Œÿ>aÿAd“ÿCf—ÿCe™ÿAe™ÿ?dšÿBfžÿFk£ÿLq©ÿOt¬ÿMs«ÿGl¤ÿAgžÿAhŸÿHo¦ÿMu¬ÿNu¬ÿKr©ÿJq§ÿLs©ÿPw­ÿRy¯ÿS{°ÿU}²ÿZ€´ÿ^‚¶ÿ`ƒ·ÿ`„·ÿ`„¶ÿ]‚´ÿ\€²ÿ\€²ÿa…µÿfйÿh¼ÿg½ÿg޽ÿf޼ÿd‹¹ÿ`‡¶ÿ]„´ÿ]ƒµÿ]‚µÿY~³ÿUz°ÿSz°ÿY€´ÿ~œÅÿ¶ÈÞÿçíôÿþþþÿÿÿÿÔÿÿÿúûü.ÿÿÿÿÿÿùúü<ÿÿÿ•þþþêÿÿÿÿÛâíÿ£µÑÿh†´ÿMp§ÿJm¤ÿFj ÿEjŸÿHn¢ÿOu¨ÿW}°ÿ\‚µÿY³ÿPv«ÿHm£ÿGk¡ÿMq¦ÿUx®ÿZ}³ÿZµÿW|´ÿSy°ÿQw®ÿTz¯ÿZ´ÿ^„¶ÿZ²ÿPu¨ÿJm¢ÿJn¢ÿOt¨ÿTz­ÿV}°ÿU{¯ÿTy®ÿTx®ÿUy®ÿUz¯ÿU{¯ÿSx®ÿOt«ÿKo§ÿIm¥ÿJn¤ÿMq¤ÿOs¥ÿOt¨ÿPw¬ÿSz¯ÿY³ÿ^ƒµÿa…¶ÿ_„µÿ[€³ÿX}±ÿV{°ÿUz±ÿRx¯ÿNu¬ÿIp¨ÿFl£ÿGm¢ÿNt§ÿX¯ÿ_†·ÿQs¡ÿ5Oqÿ$6ÿ)/6ÿelsÿ§²¾ÿÖåôÿßïþÿÖåôÿÈÖåÿÈÖåÿÈ׿ÿÇÖåÿÆÖåÿÅÕåÿÅÕåÿÅÕæÿÄÔåÿÃÔäÿÂÓäÿÁÒãÿÀÒãÿ¿Ñãÿ¾Ñâÿ¾Ðáÿ½Ðáÿ½Ðâÿ¼Ðâÿ¼ÏâÿºÎáÿ¹Íàÿ¹Íáÿ¹Ìàÿ·Ëßÿ¶ÊßÿµÊßÿµÉÞÿ´ÈÞÿ³ÈÝÿ³ÈÞÿ³ÈÞÿ±ÆÝÿ±ÇÝÿ°ÆÜÿ°ÆÜÿ®ÅÛÿ®ÅÛÿ¬ÄÚÿ«ÃÚÿ«ÄÛÿ«ÃÛÿªÂÚÿ¦¿×ÿ¯Éâÿ³Îèÿ¬Æßÿˆœ±ÿ]lzÿ7@Iÿ)07ÿ!&,ÿ $ÿ ÿÿÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ /ÿ#3Lÿ,Aeÿ0Irÿ8T€ÿ=[ˆÿBc“ÿCd”ÿCf—ÿCf—ÿDg™ÿDgšÿEhœÿFjŸÿFk¡ÿHn¤ÿKp§ÿOt¬ÿOu­ÿJp¨ÿDk¢ÿDk¢ÿJq¨ÿOv­ÿPw­ÿMtªÿLs©ÿNu«ÿRy°ÿS{²ÿT|²ÿV}²ÿZ´ÿ^¶ÿaƒ·ÿb…·ÿb†·ÿ`…¶ÿ^ƒ´ÿ^‚³ÿ_„´ÿb†¶ÿd‰¹ÿe‹»ÿeŒ¼ÿd¼ÿb‹¹ÿ_ˆ·ÿ]†¶ÿ^…·ÿ^„·ÿ[µÿV|²ÿT{°ÿS|±ÿl½ÿ¥»ÖÿÞæðÿÿÿÿÿÿÿÿêÿÿÿ•ùúü<ÿÿÿÿÿÿüýýRÿÿÿ±þþþÿÿÿÿÿÏØçÿ‘§ÉþXx¬ÿMp§ÿJn¤ÿGl¢ÿIn£ÿMs¦ÿSxªÿY°ÿ\‚´ÿX~²ÿOu«ÿGl£ÿGk¡ÿMr§ÿUz¯ÿ[€µÿ[·ÿW}´ÿRx°ÿOu¬ÿQw­ÿX~²ÿ\´ÿX}±ÿPt¨ÿIm¢ÿIm¢ÿMr§ÿPvªÿQw«ÿOuªÿNr©ÿNr©ÿQu¬ÿTx¯ÿV{°ÿUy¯ÿPu¬ÿLq¨ÿJo¦ÿJo¤ÿKp£ÿMq¤ÿNt§ÿQx­ÿU|²ÿ[µÿ^‚¶ÿ^‚µÿ\³ÿY~±ÿY}²ÿY}²ÿW}³ÿSy°ÿNt¬ÿIo§ÿGm¤ÿIn¤ÿPv¨ÿX~°ÿ]„µÿOržÿ4Mpÿ$6ÿ*.6ÿflsÿ§²¾ÿ׿ôÿßðþÿÖåõÿÈÖåÿÈ׿ÿÉ׿ÿÈÖæÿÇÖæÿÆÖæÿÅÕæÿÅÖæÿÄÕåÿÃÔåÿÃÔäÿÁÒäÿÀÒäÿÀÒãÿ¿Ñâÿ¾Ñâÿ½Ðáÿ¾Ðâÿ½Ðâÿ¼ÏâÿºÎáÿºÍàÿºÍáÿ¹Ìàÿ·Ëßÿ·Êßÿ¶ÊßÿµÉÞÿ´ÉÞÿ´ÈÝÿ´ÉÞÿ³ÈÞÿ±ÇÝÿ²ÇÝÿ°ÆÜÿ°ÇÜÿ®ÅÛÿ®ÅÜÿ¬ÄÛÿ«ÃÛÿ¬ÄÜÿ«ÃÛÿªÃÚÿ¨ÀØÿ¬ÅÞÿ®Çáÿ«ÄÞÿ™¯Æÿ‡›°ÿr„—ÿfv†ÿMYeÿ07>ÿ ÿÿ ÿ ÿ ÿÿ$ÿ#ÿ*ÿ%5ÿ&5Lÿ-B`ÿ/Hoÿ0Lvÿ9X„ÿCb‘ÿIkœÿJmŸÿIlŸÿGjœÿFiÿFiœÿGkŸÿHm¡ÿIn£ÿIm¤ÿIn¥ÿLq©ÿNt¬ÿKqªÿGm¥ÿFl¥ÿKrªÿQw¯ÿRy¯ÿPw­ÿPw¬ÿQy®ÿT|²ÿU}³ÿT|²ÿU{°ÿY}±ÿ]€´ÿaƒ·ÿc…¸ÿb†·ÿa…¶ÿ_…´ÿ^ƒ³ÿ^ƒ³ÿ^ƒ´ÿ`…¶ÿa‡¸ÿaˆ¹ÿ`ˆ¸ÿ^‡·ÿ]†¶ÿ]†·ÿ^…·ÿ]ƒ·ÿZ€µÿW}²ÿU|±ÿT|²ÿ[‚¶ÿ‘¬ÎþÎÚéÿþþþÿþþþÿÿÿÿ±üýþRÿÿÿþþþþþþeþþþÀÿÿÿÿúûüÿÆÒäÿˆ ÅþTv«ÿOr¨ÿKo¥ÿLp¥ÿOt§ÿSx«ÿW|­ÿY°ÿZ€³ÿU{°ÿMr©ÿFk¢ÿFk¡ÿMr§ÿV{°ÿ[¶ÿ[·ÿW}´ÿRx¯ÿNt¬ÿPv¬ÿV{±ÿY~³ÿV{°ÿNs¨ÿHm£ÿHl¢ÿKp¦ÿMs¨ÿLr¨ÿIn¥ÿGk£ÿHk¤ÿLp¨ÿRu­ÿUy°ÿTy¯ÿQv¬ÿMr©ÿJp¦ÿJo¤ÿJo¢ÿKp£ÿMs§ÿQx­ÿV}²ÿ[‚¶ÿ^ƒ·ÿ]µÿZ}±ÿX|°ÿX|±ÿX}²ÿW}³ÿSy°ÿNt¬ÿJp¨ÿIo¥ÿLq§ÿRx«ÿX~°ÿZ‚³ÿLo›ÿ2Lnÿ#5ÿ*/6ÿfltÿ¨³¾ÿ׿ôÿàðþÿ׿õÿÉ×åÿÉ׿ÿÉØçÿÈ׿ÿÈÖæÿÇÖæÿÆÕæÿÆÖæÿÅÖæÿÄÕåÿÃÕåÿÂÓäÿÁÓäÿÀÒãÿ¿Òãÿ¿Ñâÿ¾Ñâÿ¾Ñâÿ½Ðâÿ½Ïâÿ»ÎáÿºÍàÿºÎáÿºÍàÿ¸Ëßÿ·Ëßÿ¶Ëßÿ¶ÊÞÿµÊÞÿ´ÉÝÿ´ÊÞÿ´ÉÞÿ²ÈÝÿ²ÈÞÿ°ÇÜÿ±ÇÜÿ¯ÆÛÿ¯ÆÜÿ­ÄÛÿ¬ÃÛÿ¬ÄÜÿ¬ÃÛÿ«ÃÚÿ©ÁÙÿ©ÂÚÿªÂÛÿ¨ÁÚÿ¢ºÒÿ¤½Öÿ£¼Öÿž·Ïÿ~’¥ÿP]iÿ!%ÿÿ ÿ ÿ(ÿ .ÿ$6ÿ'9ÿ.Dÿ'8Pÿ2Fdÿ4Lnÿ3Muÿ2Oyÿ;[ˆÿGg–ÿOq£ÿOr¥ÿLq¤ÿIn¡ÿGmŸÿFkÿGlŸÿIn£ÿIn¤ÿHm£ÿHk£ÿJn¦ÿLqªÿJp©ÿFl¥ÿFl¥ÿKq©ÿQw®ÿT{±ÿT{°ÿT{¯ÿU|±ÿW´ÿV~´ÿT{°ÿRx­ÿUz­ÿZ~±ÿ`ƒ¶ÿa…¸ÿ`„¶ÿ^ƒ´ÿ^ƒ³ÿ^ƒ³ÿ\‚²ÿ\‚²ÿ\‚³ÿ\‚´ÿ[‚´ÿY²ÿX²ÿY‚´ÿ[ƒ¶ÿ[‚µÿX€´ÿV}²ÿV}±ÿU|²ÿU}³ÿU}´ÿ„¡ÈþÁÐäÿ÷øúÿÿÿÿÿþþþÀþþþeþþþþþþþþþ.þþþƒþþþÓÿÿÿÿëðöÿ¶ÆÝÿ|—ÁþVx­ÿPs¨ÿMq¦ÿQu©ÿUz¬ÿY~°ÿZ€±ÿY€²ÿW}±ÿQw­ÿIn¦ÿChŸÿDiŸÿKq¥ÿTz®ÿ[µÿ]‚·ÿYµÿTy°ÿPu­ÿPv­ÿUz±ÿW|²ÿSx¯ÿLq§ÿGl£ÿGl¢ÿKp¦ÿMr¨ÿKp§ÿFj£ÿBf ÿDg¡ÿIl¥ÿOs«ÿSw®ÿRw®ÿOt¬ÿLr¨ÿIo¥ÿHm¢ÿGm ÿIn¢ÿLq¦ÿQx¬ÿW~²ÿ]„·ÿ_„·ÿ]µÿY|°ÿUy­ÿTy­ÿTz¯ÿTz°ÿQx®ÿNt«ÿLr©ÿLq¨ÿPtªÿUy­ÿY~°ÿY€²ÿKnšÿ2Lmÿ$5ÿ*/6ÿfmtÿ©³¾ÿØæõÿáñþÿ׿õÿÉ×åÿÉØæÿÉØçÿÉ׿ÿÈ׿ÿÇÖåÿÆÖåÿÆÖæÿÆÖæÿÅÖåÿÄÕåÿÂÔäÿÁÓäÿÁÒãÿÀÒãÿ¿Ñâÿ¾Ñâÿ¿Ñãÿ¾Ðãÿ½Ïâÿ»Îáÿ»Íàÿ»ÎáÿºÍáÿ¸Ìàÿ¸Ëßÿ·Ëßÿ¶ËÞÿµÊÞÿµÊÞÿµÊßÿ´Êßÿ²ÈÞÿ³ÈÞÿ±ÇÜÿ±ÇÝÿ¯ÆÛÿ¯ÆÜÿ®ÄÜÿ­ÃÛÿ­ÄÜÿ¬ÃÛÿ«ÃÛÿªÂÚÿ¨ÀØÿ§¿Øÿ§¿×ÿ¨ÁÙÿ¶ÑìÿÀÝúÿ¿Ýúÿš²Êÿbq€ÿ%+0ÿÿ ÿ!ÿ#1ÿ(:ÿ/Dÿ!3Kÿ(ÿ!3Jÿ%8Qÿ+A^ÿ1Hiÿ9Rwÿ;U|ÿ:Xÿ:Z„ÿ@c‘ÿJoŸÿRw«ÿRy­ÿPw«ÿMt¨ÿLs§ÿJq¥ÿHo¥ÿIo¦ÿIo¦ÿIn¥ÿHl¤ÿHl¤ÿGl¤ÿCh¢ÿ?e ÿ@f ÿFm¥ÿOu«ÿV~±ÿZ‚´ÿ\ƒµÿ\‚¶ÿ\‚¶ÿX~²ÿRx«ÿMs¦ÿNt§ÿU|®ÿ[‚µÿ[‚¶ÿX}³ÿW|±ÿZ²ÿ\³ÿZ€±ÿW~¯ÿU|®ÿRy¬ÿOu©ÿMs§ÿNu©ÿSy­ÿU{°ÿTz®ÿQw¬ÿPv¬ÿRy¯ÿRy²ÿRy³ÿQx³ÿk‹½ÿž³ÒÿÖÞêÿøùûÿþþþÜÿÿÿ—þþþDþþþÿÿÿøúûÿÿÿ^þþþ±ÿÿÿëðôøÿË×çÿ–­ÎÿiЏÿTx­ÿQu©ÿSxªÿ[€°ÿ_„µÿ`†¶ÿ\‚´ÿW~±ÿRx­ÿJp¦ÿBgžÿ=b™ÿ?d›ÿGm¢ÿRw«ÿZ³ÿ^ƒ·ÿ\µÿW}²ÿSy°ÿSy°ÿU|²ÿU|²ÿQx®ÿKq¨ÿHm¤ÿIm¤ÿLq§ÿNsªÿLrªÿHm§ÿFi¤ÿGk¤ÿMp¨ÿRv­ÿTx¯ÿPu­ÿKp©ÿGm¥ÿDj¡ÿChžÿBgœÿFkŸÿLq¥ÿTz­ÿ[‚´ÿ`‡·ÿa‡·ÿ]‚´ÿVz­ÿOs§ÿLq¦ÿLr¨ÿNu«ÿOv­ÿNv¬ÿNu«ÿNtªÿPu«ÿUy®ÿY~±ÿZ€²ÿLnšÿ4Llÿ$4ÿ)/6ÿgntÿ©´¿ÿÙçõÿâòþÿØçõÿÊØåÿÊØæÿÊÙçÿÊØçÿÉØæÿÈ׿ÿÈÖæÿÈ׿ÿÇ׿ÿÆÖæÿÅÖæÿÃÔäÿÂÓäÿÁÒãÿÁÒãÿÀÒãÿ¿ÑãÿÀÒäÿ¿Ñäÿ¾Ðãÿ¼Ïáÿ¼Îáÿ¼Ïáÿ»Ïâÿ¹Íáÿ¹Ìàÿ¸Ìßÿ·Ëßÿ¶ËÞÿ¶ÊÞÿ¶ËàÿµÊßÿ³ÉÞÿ´ÉÞÿ²ÇÝÿ²ÇÝÿ°ÆÜÿ±ÆÝÿ¯ÅÜÿ®ÄÛÿ®ÅÜÿ­ÄÛÿ¬ÄÛÿ«ÃÚÿªÂÙÿ©ÁÙÿ§À×ÿ§¿×ÿ³Íçÿ¼Øôÿ¼Øõÿ™°Èÿcrÿ'.4ÿ ÿ ÿ!ÿ#3ÿ+?ÿ$4Kÿ':Sÿ,Baÿ1Hiÿ7Pvÿ;U~ÿcšÿAfœÿIn£ÿSw¬ÿZ²ÿ]‚¶ÿ[€´ÿW|²ÿSy°ÿSz±ÿV}³ÿU}³ÿQy¯ÿLr©ÿIn¥ÿIm¤ÿLq¦ÿNtªÿNt«ÿLq©ÿJo§ÿMq¨ÿRw­ÿW|±ÿW|²ÿQw®ÿKp¨ÿFl¤ÿDi¡ÿBhÿChœÿGlŸÿNt¦ÿV}®ÿ]„µÿaˆ¸ÿ`†¶ÿ[€±ÿRv©ÿLo¤ÿJo¤ÿLq¨ÿOu¬ÿOv­ÿOv­ÿNu¬ÿMsªÿOsªÿSw¬ÿX}°ÿZ€²ÿKm™ÿ3Kkÿ#4ÿ*/6ÿgntÿªµ¿ÿÚèöÿâñþÿÙçöÿÊØæÿÊØæÿËÙçÿÊØçÿÉØçÿÉ׿ÿÈ׿ÿÈ׿ÿÈ׿ÿÇÖæÿÆÖæÿÄÔåÿÃÔäÿÂÓãÿÁÒãÿÁÒãÿÀÑãÿÀÒäÿ¿Òäÿ¿Ñãÿ½Ðâÿ¼Ïáÿ¼Ðâÿ¼ÏâÿºÎáÿ¹Íàÿ¸Ìàÿ¸Ëßÿ·Ëßÿ¶Êßÿ¶Ëàÿ¶Êßÿ´ÉÞÿ´ÉÞÿ²ÈÝÿ³ÈÝÿ±ÆÜÿ±ÇÝÿ°ÆÜÿ¯ÅÜÿ¯ÆÜÿ®ÅÛÿ­ÅÛÿ«ÃÚÿ«ÃÚÿªÂÚÿ¨ÁØÿ¥¾Õÿ®ÈáÿµÏêÿ³Îéÿ’§¾ÿ^l{ÿ%+1ÿ ÿ ÿÿ!0ÿ)<ÿ#3Jÿ'9Rÿ,@^ÿ/Eeÿ5Lrÿ8Szÿ^ŠÿCf–ÿInŸÿPvªÿSx¬ÿRx¬ÿQv«ÿNs¨ÿJp¦ÿHm¥ÿHn¦ÿIo¦ÿKp§ÿKo¦ÿHl¢ÿBfžÿ=bœÿ=cžÿBh£ÿJp©ÿRx®ÿY²ÿ]„µÿ^„¶ÿ[´ÿX}±ÿSx­ÿNs§ÿKq¥ÿLs§ÿRz­ÿW~³ÿV}³ÿTz±ÿTz±ÿW}³ÿY€³ÿW~±ÿT{¯ÿQy­ÿPw¬ÿOu¬ÿNu«ÿOu«ÿQw­ÿRx®ÿSx®ÿSx¯ÿSx±ÿRx²ÿPw±ÿMt®ÿKr«ÿTx­ÿy•¾ÿ´ÃÙÿåêñÿÿÿÿõþþþÄþþþpúûü(ÿÿÿÿÿÿûüý5ÿÿÿ‰þþþÝÿÿÿÿàçðÿ­¿Øÿu”¿ÿVz°ÿPu¬ÿMr©ÿPvªÿY±ÿa†·ÿcˆ¹ÿ]ƒ´ÿU{­ÿMs§ÿGl¢ÿChžÿBgžÿEj ÿLp¦ÿTx­ÿY}²ÿ[€´ÿX}²ÿU{°ÿTz°ÿU|±ÿV~´ÿU~³ÿQy¯ÿKr©ÿHn¥ÿIn¤ÿLq¦ÿOuªÿOv¬ÿNu«ÿOtªÿRw¬ÿW|±ÿZ€µÿYµÿSy°ÿLrªÿHn¦ÿEk¢ÿDiŸÿEiÿIm ÿPu§ÿX~¯ÿ_…µÿbˆ¸ÿ_„´ÿX|­ÿOr¥ÿJm¡ÿKn£ÿNr¨ÿQv­ÿPv­ÿNu¬ÿMs«ÿLr©ÿNr©ÿRv«ÿV{¯ÿX±ÿJl™ÿ2Jkÿ#4ÿ*/6ÿgntÿªµ¿ÿÚèöÿãòþÿÚèöÿËØæÿËØçÿÌÙèÿÊÙçÿÊÙçÿÉØçÿÈ׿ÿÉ×çÿÈ×çÿÇÖçÿÇÖçÿÄÕåÿÄÔäÿÃÓäÿÂÓãÿÁÒãÿÀÒãÿÁÒãÿÀÒãÿ¿Òãÿ½Ðâÿ½Ðáÿ½Ðâÿ¼ÏâÿºÎáÿºÍàÿ¹Ìàÿ¸Ëßÿ·Ëßÿ·Êßÿ·Ëàÿ¶Êßÿ´ÉÞÿµÉÞÿ³ÈÝÿ³ÈÞÿ±ÇÝÿ²ÇÞÿ°ÆÝÿ¯ÆÜÿ¯ÆÜÿ®ÆÜÿ®ÅÜÿ¬ÃÛÿ«ÃÛÿªÂÚÿ©ÁØÿ¦¾Öÿ°Éãÿ¶ÐìÿµÏëÿ“©¿ÿ_m|ÿ&,2ÿ ÿ ÿ ÿ/ÿ(<ÿ#4Jÿ(:Tÿ-A_ÿ/Efÿ4Kqÿ7Qyÿ;Y„ÿ>_ŒÿDh˜ÿIn ÿOu©ÿQvªÿRw«ÿPu©ÿLq¦ÿFk¢ÿChŸÿDi¡ÿHm¤ÿLp§ÿLp¦ÿFj¡ÿ?cšÿ;_˜ÿ>cžÿGl¦ÿOu®ÿV|²ÿ[µÿ]„¶ÿ\ƒµÿV|°ÿPtªÿKo¥ÿHm£ÿGm£ÿJq¦ÿOv«ÿSy¯ÿSy°ÿRx¯ÿRy¯ÿU{±ÿW}²ÿV}²ÿT|±ÿRz¯ÿQx¯ÿQx¯ÿPw®ÿPw­ÿPx­ÿQx®ÿSy°ÿSx±ÿSx²ÿRw²ÿOv¯ÿLs¬ÿIq¨ÿIp¦ÿf‡´ÿ¢¶ÑÿÝäîÿÿÿÿÿþþþÝÿÿÿ‰ûüý5ÿÿÿÿÿÿøùû?þþþ™þþþíÿÿÿÿÜãîÿ£¶ÔÿjŠºÿTy°ÿNs«ÿJo§ÿLq§ÿTz­ÿ]‚µÿa†¸ÿ\³ÿRxªÿJo£ÿFk ÿEj ÿGl¢ÿJn¤ÿOs©ÿUx®ÿX{±ÿX|²ÿU{°ÿTz¯ÿU{°ÿW~²ÿX€´ÿU~³ÿPx¯ÿJq¨ÿGm¤ÿIn¤ÿLr§ÿPw«ÿQy­ÿQx®ÿRx®ÿU{°ÿY³ÿZµÿY€µÿTz±ÿOu­ÿLr©ÿIo¦ÿGl¢ÿFkŸÿIo¡ÿPv§ÿX¯ÿ_…µÿb‡·ÿ_‚³ÿWz«ÿOq¤ÿKm¡ÿMp¥ÿQtªÿSw­ÿPv­ÿLrªÿJp¨ÿJp§ÿLr¨ÿQv«ÿU{¯ÿW~±ÿJl™ÿ2Jlÿ#4ÿ*/6ÿhntÿ«µ¿ÿÛèöÿãòþÿÚèöÿÌÙæÿÌÙçÿÌÙèÿËÙçÿÊÙçÿÉØçÿÉØæÿÉØçÿÈ×çÿÈ×çÿÇÖçÿÅÕåÿÄÕåÿÃÔäÿÃÓäÿÂÒãÿÁÒãÿÁÒäÿÀÒãÿÀÒãÿ¾Ñâÿ½Ðáÿ½Ðâÿ½Ïâÿ»ÎáÿºÍàÿ¹Íàÿ¸Ìßÿ¸Ëßÿ·Ëßÿ·Ëàÿ·ËàÿµÉÞÿµÊÞÿ³ÉÝÿ´ÉÞÿ²ÈÝÿ²ÈÞÿ°ÇÝÿ°ÆÜÿ°ÇÝÿ¯ÆÜÿ®ÆÜÿ¬ÄÛÿ¬ÃÛÿ«ÂÚÿ©ÁÙÿ§¾Öÿ°Éãÿ·Ñíÿ¶Ðëÿ”ªÀÿ_n|ÿ&,2ÿ ÿ ÿ ÿ.ÿ';ÿ#3Iÿ':Sÿ-A_ÿ.Deÿ2Ioÿ4Nvÿ9W‚ÿ?_ÿDhšÿIn¡ÿMs¨ÿPu©ÿPu©ÿNs¨ÿHm£ÿAfÿ>b™ÿAeÿHl£ÿMr¨ÿMq§ÿEiŸÿ<`—ÿ8]•ÿ?dÿJo¨ÿTy±ÿZ€¶ÿ]„¸ÿ^…¸ÿZµÿRx­ÿHm¤ÿBgŸÿBfžÿEj¡ÿHn¥ÿKr¨ÿNtªÿOu«ÿQw­ÿRx®ÿSz¯ÿT{°ÿU|±ÿT|±ÿS{±ÿRz±ÿRy±ÿQx¯ÿOw­ÿNv¬ÿOw­ÿQx°ÿQw±ÿPu°ÿOt¯ÿMt­ÿLsªÿJq¨ÿIp¦ÿ\¯ÿ™°ÎÿØáìÿÿÿÿÿÿÿÿíþþþ™øùû?ÿÿÿÿÿÿüýþNÿÿÿ­þþþþþþþÿÒÜêÿ–¬Ïþ^´ÿUy¯ÿMrªÿGm¥ÿHm¤ÿOtªÿW|±ÿ[€´ÿV|¯ÿMr¦ÿFk ÿDiŸÿGl¢ÿJo¤ÿLp¦ÿOr¨ÿRu­ÿTx¯ÿTy°ÿSx¯ÿSy®ÿV|°ÿY€³ÿZµÿV}³ÿOv­ÿHn¦ÿFk£ÿGm£ÿLq§ÿOv«ÿQy®ÿSz¯ÿT|±ÿW~³ÿY€µÿX€´ÿV}³ÿSz°ÿRx¯ÿPv­ÿMs©ÿHn£ÿEkŸÿFl ÿLs¦ÿV}®ÿ^…µÿb‡·ÿ_‚³ÿXz«ÿQr¥ÿNp£ÿPs§ÿSv«ÿSx­ÿOu«ÿJp§ÿGn¥ÿHn¥ÿKr¨ÿQx¬ÿV}°ÿX²ÿJl™ÿ2Klÿ#5ÿ*/7ÿhntÿ«µ¿ÿÛéöÿäòþÿÛéöÿÌÙçÿÌÙçÿÍÚèÿËÙçÿËÙçÿÊÙçÿÉØçÿÉÙçÿÉØçÿÈ׿ÿÇ׿ÿÆÕåÿÅÕåÿÄÔäÿÃÔäÿÂÓäÿÁÒãÿÁÓäÿÁÓäÿÀÒãÿ¾Ñâÿ¾Ðâÿ¾Ðãÿ½Ïâÿ»Îáÿ»ÍàÿºÍàÿ¹Ìàÿ¸Ìàÿ¸Ëàÿ¸Ìáÿ·ËàÿµÊÞÿ¶Êßÿ´ÉÞÿ´Êßÿ²ÈÞÿ³ÈÞÿ±ÇÝÿ°ÆÜÿ°ÇÝÿ°ÆÜÿ¯ÆÜÿ­ÄÛÿ¬ÃÛÿ«ÃÚÿ©ÁÙÿ§¿×ÿ±Êäÿ¸Òíÿ·Ñìÿ”ªÀÿ`n|ÿ&,2ÿ ÿ ÿ ÿ-ÿ&9ÿ!1Hÿ'9Rÿ,A_ÿ-Ceÿ/Gmÿ1Ltÿ8Uÿ=^ŒÿDgšÿIn¡ÿMr¨ÿNs¨ÿMr§ÿJo¥ÿDi ÿ=b™ÿ:_—ÿ@eœÿIn¥ÿPtªÿMq§ÿCgÿ:^•ÿ7\”ÿ?eœÿLq©ÿV|³ÿ[‚¸ÿ]„¹ÿ\„¸ÿY€´ÿPw¬ÿEk¢ÿ?dÿ?dÿCi¡ÿGl¤ÿHm¤ÿIn¥ÿKq¨ÿOu¬ÿQw­ÿQw­ÿPw­ÿQx®ÿRz¯ÿRz°ÿQy±ÿPw¯ÿMu­ÿJr©ÿIq§ÿIq¨ÿLs«ÿLr­ÿKq¬ÿJpªÿJq©ÿKr©ÿKr©ÿLsªÿQx¬ÿŠ¥ÉþÎÙèÿþþþÿÿÿÿþÿÿÿ­üýýNÿÿÿÿÿÿþþþZþþþ¸þþþÿüýýÿË×èÿ§Ìþ]´ÿWy¯ÿNsªÿIn¥ÿGm¤ÿLq¨ÿQv¬ÿSx®ÿNtªÿGm£ÿDi ÿEj¡ÿIn¤ÿKp¤ÿKo¤ÿLp¦ÿOs«ÿQu®ÿQv®ÿQv¬ÿQw¬ÿU{¯ÿY³ÿZµÿV}³ÿOu¬ÿGm¥ÿDj¡ÿFk¢ÿKp¦ÿNs©ÿOu«ÿQx®ÿT{±ÿXµÿY€µÿV~³ÿSz°ÿQx®ÿRx¯ÿRx®ÿOu«ÿHn£ÿBhÿAgœÿHn£ÿRz­ÿ\ƒµÿa‡·ÿ_ƒ³ÿZ|­ÿTu§ÿQr¥ÿRt¨ÿSw«ÿSw­ÿOtªÿIo¦ÿFl£ÿGm¤ÿLr¨ÿSy®ÿX~²ÿY€³ÿJl™ÿ3Klÿ$5ÿ*/7ÿhntÿ«µ¿ÿÜéöÿäóþÿÛéöÿÍÚçÿÍÚèÿÍÛèÿÌÚçÿËÙçÿÊÙçÿÊÙçÿÊÙçÿÉÙçÿÈØçÿÈ׿ÿÆÕåÿÆÕåÿÄÔäÿÄÔäÿÃÓäÿÂÓäÿÂÓäÿÁÓäÿÀÒãÿ¿Ñâÿ¾Ðâÿ¾Ñãÿ¾Ðãÿ¼Îáÿ»ÎàÿºÎàÿºÍàÿ¹Íàÿ¸Ìàÿ¸Íáÿ¸Ìàÿ¶Ëßÿ¶Ëßÿ´ÊÞÿµÊßÿ³ÉÞÿ³ÉÞÿ±ÇÝÿ±ÆÜÿ±ÇÝÿ°ÆÝÿ°ÆÝÿ®ÄÛÿ­ÄÛÿ¬ÃÚÿªÁÙÿ¨¿×ÿ±Êäÿ¸Óíÿ·Òìÿ•«Àÿ`n|ÿ&,2ÿ ÿ ÿ ÿ.ÿ%8ÿ/Fÿ%7Qÿ,A_ÿ-Dfÿ/Hnÿ0Ktÿ5S€ÿ:ZŠÿAd—ÿGl ÿLq¨ÿLr¨ÿJp¦ÿFl¢ÿAgžÿc™ÿDjŸÿOvªÿZ³ÿ_†·ÿ_„´ÿ[~¯ÿUw©ÿQs§ÿPs¨ÿQuªÿQv¬ÿNtªÿJp¦ÿGm¤ÿGn¤ÿLs©ÿTz¯ÿZ³ÿ[€³ÿLmšÿ4Lmÿ$5ÿ*/7ÿhntÿ¬µÀÿÜéöÿåóþÿÜé÷ÿÍÚçÿÍÛèÿÎÛéÿÍÚèÿÌÚèÿËÙçÿÊÙçÿÊÙèÿÉÙçÿÉØçÿÈ×çÿÇÕåÿÆÕåÿÄÕåÿÅÕåÿÃÔåÿÃÓäÿÃÓåÿÂÓäÿÁÒäÿ¿Ñãÿ¾Ðãÿ¿Ñäÿ¾Ðãÿ¼Ïáÿ¼Îáÿ»ÎàÿºÎàÿºÍáÿ¹Íàÿ¹Íáÿ¸Íàÿ¶Ëßÿ·ËßÿµÊÞÿµÊßÿ³ÉÞÿ´ÉÞÿ²ÇÝÿ±ÆÜÿ±ÇÝÿ±ÆÝÿ°ÆÝÿ®ÄÛÿ­ÄÛÿ¬ÄÚÿ«ÂÙÿ¨À×ÿ²Ëäÿ¹Óíÿ¸Òìÿ•«Àÿ`o}ÿ'-2ÿ ÿ ÿÿ.ÿ$8ÿ.Dÿ$6Oÿ+@_ÿ.Egÿ0Jqÿ0Kvÿ3Qÿ6V‡ÿ=_“ÿDhÿIo¦ÿJp§ÿGm¤ÿCi ÿ@fÿ?eœÿBgžÿHm¤ÿNsªÿPu«ÿKp§ÿAgžÿ;`˜ÿ:`˜ÿBhŸÿLs©ÿS{±ÿU}³ÿT{±ÿQy®ÿQy®ÿPx­ÿMu¬ÿJq©ÿFm§ÿEl¥ÿEk¤ÿEk¤ÿFk¦ÿJo©ÿMs¬ÿNt¬ÿKr©ÿIp§ÿJq¨ÿMtªÿMu«ÿKtªÿHp¨ÿDl¤ÿ?f ÿ=cœÿ>dœÿCi¢ÿGn¨ÿHo©ÿGo¨ÿGn§ÿLrªÿNu¬ÿPx°ÿPx±ÿw—Âþ·ÇÞÿðó÷ÿÿÿÿÿÿÿÿÆÿÿÿmÿÿÿÿÿÿ(ÿÿÿ{þþþÍÿÿÿÿèíôÿµÆÞÿ‚žÇÿ^µÿY|°ÿRv«ÿOs©ÿKq§ÿJp§ÿIn¥ÿHl¤ÿFj¢ÿEj¡ÿGl¢ÿIn¤ÿIn£ÿGkŸÿEhžÿFj¡ÿKo¨ÿNs¬ÿNt¬ÿLs©ÿLs¨ÿOv«ÿT{°ÿX´ÿX~´ÿRx®ÿJo¥ÿEjŸÿEhžÿFj ÿHk£ÿJn¦ÿOt«ÿV{±ÿ[€¶ÿ[€µÿV|²ÿQx­ÿOv¬ÿQx®ÿSy¯ÿQw­ÿIn¤ÿ?dšÿ=a—ÿChÿMt¨ÿW²ÿ]„¶ÿ^„µÿ\€²ÿVy¬ÿPt¨ÿNr¨ÿNs©ÿOt«ÿOt«ÿLr©ÿJp§ÿJp¦ÿNtªÿUz¯ÿ[³ÿ\³ÿMnšÿ5Mmÿ%5ÿ*/7ÿhntÿ¬¶ÀÿÝêöÿæôþÿÜê÷ÿÎÛçÿÎÛèÿÎÜéÿÍÛèÿÌÚèÿÌÙçÿËÙçÿËÙèÿÊÙèÿÉÙçÿÉØçÿÇÖåÿÆÕåÿÅÕåÿÅÕåÿÄÔåÿÃÔäÿÃÔåÿÃÓäÿÂÓäÿÀÑãÿ¿Ñãÿ¿Òäÿ¿Ñãÿ½Ðâÿ¼Ïáÿ»Ïáÿ»ÎáÿºÎáÿ¹ÍàÿºÎáÿ¹Íàÿ·Ìßÿ·ÌßÿµÊßÿ¶Êàÿ´ÉÞÿ´Éßÿ²ÈÝÿ²ÇÜÿ²ÇÝÿ±ÇÝÿ°ÆÝÿ¯ÅÜÿ®ÅÛÿ­ÄÚÿ«ÃÙÿ©À×ÿ³Ìäÿ¹Óîÿ¸Òìÿ–«Áÿao}ÿ'-2ÿ ÿ ÿÿ.ÿ%8ÿ.Dÿ#6Oÿ+@_ÿ/Fiÿ2Luÿ2Nyÿ3Qÿ4U†ÿ:]‘ÿBf›ÿHm¥ÿIn¦ÿEk¢ÿBižÿBižÿEk¡ÿIn¥ÿMq©ÿOsªÿMr¨ÿHn¤ÿBhŸÿ?e›ÿ?eœÿEk¡ÿLs©ÿQx¯ÿQx¯ÿNu¬ÿKr¨ÿKs¨ÿNv¬ÿPx¯ÿOw¯ÿLs­ÿHo¨ÿEl¦ÿFl¦ÿHn©ÿLq¬ÿMs­ÿKqªÿGn¦ÿFl¤ÿHn§ÿKrªÿKr©ÿHq¨ÿEm¥ÿAi£ÿ>e ÿ=cÿ?dÿCi¢ÿHn¨ÿIo©ÿGn¨ÿGn¦ÿLrªÿOv­ÿRy±ÿRy²ÿt“Áÿ­ÀÚÿæëóÿÿÿÿÿþþþÍÿÿÿ{ÿÿÿ(þþþ þþþ:þþþÿÿÿÖùúûÿÜäïÿ¨¼Ùÿy—Ãÿ\€´ÿW{°ÿRv«ÿOt¨ÿKq§ÿJp¦ÿIn¥ÿIm¤ÿHl£ÿHl£ÿIn¤ÿIo¤ÿHm¡ÿDhÿBe›ÿDhŸÿJn§ÿMs¬ÿNt¬ÿLtªÿMuªÿPw¬ÿT{±ÿX~´ÿW}³ÿRx®ÿKp¦ÿDižÿBf›ÿCfÿFi¡ÿKo¦ÿRv­ÿY}³ÿ^¶ÿ\µÿV{±ÿQw­ÿOv­ÿRy¯ÿU{±ÿRx®ÿIn¥ÿ@d›ÿ>b˜ÿDižÿMt¨ÿU}°ÿZ‚´ÿ]ƒµÿ\‚´ÿX|°ÿRw¬ÿOtªÿNsªÿOt«ÿOt«ÿNs«ÿLr©ÿMs©ÿPv«ÿVz®ÿ[±ÿ]³ÿOp›ÿ6Ooÿ%5ÿ*07ÿiotÿ­¶ÀÿÝê÷ÿæôþÿÝê÷ÿÎÛçÿÎÛéÿÏÜéÿÎÛéÿÍÚèÿÌÙèÿÌÙèÿÌÚèÿËÚèÿÊÙèÿÉØçÿÇÖæÿÇÖæÿÆÕåÿÅÕåÿÅÕåÿÄÔäÿÄÕåÿÃÔäÿÂÓäÿÁÒãÿÀÑãÿÀÒäÿ¿Òãÿ½Ðâÿ¼Ïáÿ¼Ïáÿ¼Îáÿ»ÎáÿºÍàÿºÎáÿ¹Íàÿ·Ìßÿ·Ìàÿ¶Êßÿ¶Êàÿ´ÉßÿµÉßÿ³ÈÝÿ²ÇÝÿ²ÈÞÿ²ÇÞÿ±ÇÞÿ¯ÅÜÿ®ÅÛÿ®ÅÛÿ¬ÃÚÿªÁØÿ³ÌåÿºÔîÿ¹Óíÿ–¬Áÿao}ÿ'-2ÿ ÿ ÿ ÿ.ÿ&9ÿ/Fÿ#6Pÿ*@_ÿ.Fiÿ2Mvÿ3P|ÿ5T„ÿ7W‰ÿ<_“ÿBf›ÿGl¥ÿGl¤ÿDi ÿCižÿEl ÿKp¦ÿOsªÿOs«ÿLp¨ÿHm¤ÿEk¡ÿDi ÿCiŸÿEk¡ÿHo¤ÿLs©ÿNu¬ÿLsªÿIp§ÿFm¤ÿGn¤ÿJq¨ÿNu­ÿPw°ÿOv¯ÿKr«ÿHo¨ÿGn§ÿIoªÿLr®ÿLs­ÿHo©ÿDj¤ÿCi¢ÿFl¥ÿIp©ÿHq©ÿFo¨ÿDm¦ÿCj¥ÿBi£ÿBh¢ÿDi£ÿFl¦ÿIn¨ÿHn¨ÿFm¦ÿGm¦ÿLs©ÿPw®ÿSz²ÿT{³ÿp¿ÿ¢·ÕÿÛãîÿúûýÿÿÿÿÖþþþþþþ:þþþ þþþþþþFþþþ™ÿÿÿÜôöùÿÓÝëÿž´Ôÿs“ÀÿY~³ÿUy¯ÿQtªÿNs§ÿLq§ÿLq§ÿLq§ÿMq¨ÿMp§ÿKp¥ÿJo¥ÿIo¤ÿFl¡ÿBfœÿ@cšÿCfÿIm¥ÿNr«ÿOu­ÿNv¬ÿPw­ÿRz¯ÿU|²ÿW}³ÿUz±ÿPv¬ÿJo¥ÿCgœÿ?b˜ÿ@c™ÿEi ÿNr¨ÿW{°ÿ]µÿ_‚¶ÿ[~³ÿVz°ÿRx¯ÿRy°ÿU|³ÿV}´ÿSy°ÿJo¦ÿBfœÿAešÿGl ÿOu©ÿU|°ÿY€³ÿ\‚µÿ\‚¶ÿZ´ÿU{±ÿRw®ÿOu¬ÿNt«ÿNs«ÿNs«ÿNsªÿNtªÿQw«ÿV{­ÿ[°ÿ^ƒ³ÿPrœÿ7Ooÿ%6ÿ+07ÿiouÿ­·ÀÿÞë÷ÿçõþÿÞê÷ÿÏÛçÿÏÛèÿÏÜéÿÎÛéÿÍÚèÿÍÚèÿÌÙèÿÌÚèÿÌÚèÿËÙèÿÊÙçÿÈ׿ÿÇ׿ÿÆÖåÿÆÕåÿÅÕåÿÅÔäÿÅÕåÿÄÕåÿÃÔäÿÁÓãÿÀÒãÿÁÓäÿÀÒãÿ¾Ñâÿ½Ðáÿ¼Ïáÿ¼Îáÿ¼Îáÿ»Íàÿ»ÎáÿºÍàÿ¸Ìßÿ¸Ìàÿ¶Ëßÿ·ËàÿµÉßÿµÊßÿ³ÉÞÿ³ÈÝÿ³ÉÞÿ²ÈÞÿ±ÈÞÿ°ÆÜÿ¯ÆÜÿ®ÅÛÿ­ÄÚÿªÁØÿ´ÌåÿºÔîÿ¹Óíÿ–¬Áÿao}ÿ&-2ÿ ÿ ÿ ÿ.ÿ':ÿ 1Gÿ$7Pÿ)?^ÿ,Dgÿ2Lvÿ5R~ÿ9X‡ÿ;\ÿ?b•ÿBgœÿFk£ÿFk£ÿDi ÿEj ÿIn£ÿMr§ÿOs©ÿLp§ÿGl£ÿDhŸÿDhŸÿEj ÿHl¢ÿJo¥ÿLq¨ÿLr©ÿKr©ÿIp§ÿGn¦ÿFn¤ÿGn¥ÿHn¦ÿIo©ÿLr«ÿOu®ÿOu­ÿMs«ÿJpªÿJp«ÿKq­ÿKr­ÿHpªÿDk¥ÿCi£ÿDk¥ÿFm§ÿFo©ÿFo©ÿFo©ÿHo©ÿIpªÿJpªÿJpªÿIn¨ÿHm§ÿFk¥ÿEk¤ÿGm¥ÿMtªÿQy°ÿU|³ÿV}µÿm¿ÿ›²ÓÿÓÝìÿõ÷ûÿÿÿÿÜÿÿÿ™þþþFþþþÿÿÿøùûþþþUÿÿÿ¨þþþåîò÷ÿÈÔæÿ”¬ÏÿkŒ½ÿV{±ÿRv¬ÿNq¨ÿMq¦ÿLq¦ÿNs¨ÿPtªÿPuªÿOt©ÿMr§ÿKp¦ÿIo¥ÿFk¢ÿAfœÿ?b™ÿBdœÿIl£ÿOsªÿRv­ÿQw­ÿRx®ÿSz¯ÿU{°ÿT{°ÿRx®ÿOtªÿIn£ÿBe›ÿ=`–ÿ>a˜ÿFi ÿQu«ÿ[~´ÿ_‚·ÿ^‚¶ÿZ}²ÿVz±ÿTz±ÿU{³ÿW~µÿV}´ÿQw®ÿIn¦ÿCgžÿDgÿIn£ÿPvªÿU|¯ÿX~²ÿZ€´ÿ]‚·ÿ\‚·ÿYµÿU{²ÿQv®ÿNs«ÿLq©ÿLr©ÿMs©ÿMt©ÿOvªÿTz¬ÿZ°ÿ]ƒ´ÿPrÿ7Ppÿ%6ÿ+07ÿiouÿ®·Áÿßë÷ÿèõþÿÞëøÿÏÛèÿÏÜèÿÐÜéÿÏÛéÿÎÛéÿÍÚèÿÌÚèÿÍÚèÿÌÚèÿËÚèÿÊÙèÿÈØæÿÇ׿ÿÇÖåÿÆÖåÿÆÕåÿÅÕåÿÅÕåÿÄÕåÿÄÕåÿÂÓäÿÁÓäÿÁÓäÿÀÒãÿ¾Ñâÿ½Ðâÿ½Ïâÿ½Îâÿ¼Îáÿ»Íàÿ»ÎáÿºÍáÿ¹Ìàÿ¹Ìáÿ·Ëàÿ·ËàÿµÊßÿ¶Êßÿ´ÉÞÿ³ÉÝÿ³ÉÞÿ³ÉÞÿ²ÈÞÿ°ÆÜÿ¯ÆÜÿ¯ÅÜÿ­ÄÚÿ«ÁØÿ´Ìåÿ»ÔîÿºÓíÿ—¬Áÿao}ÿ&-2ÿ ÿ ÿ ÿ.ÿ':ÿ 1Gÿ#6Pÿ'=]ÿ*Bfÿ1Ktÿ6R~ÿ^ÿ@d–ÿBf›ÿDi¡ÿDj¡ÿEk¡ÿHm£ÿKp¥ÿLq¦ÿKo¥ÿFk¡ÿBfÿ@dœÿBfÿFi ÿIm¤ÿLp§ÿLq©ÿJp¨ÿHn¦ÿFm¥ÿGn¥ÿHo¦ÿIp§ÿHn¦ÿFk¥ÿGl¦ÿKqªÿPu­ÿPv®ÿMr¬ÿIn©ÿGm©ÿGo«ÿHp«ÿGo©ÿFm§ÿEl¦ÿDl§ÿEm¨ÿGoªÿJr¬ÿNu¯ÿQw°ÿPw°ÿMs­ÿIo©ÿFl¦ÿEj¤ÿFl¥ÿIp§ÿNv¬ÿRz±ÿV}´ÿV}µÿh‹½ÿ‘ªÏÿÇÔæÿïóøÿþþþåÿÿÿ¨þþþUøúüÿÿÿÿÿÿøùûÿÿÿ_þþþ²ÿÿÿëêîõÿÃÐãÿ¦Ëÿf‡¹ÿTx¯ÿOrªÿKn¥ÿKo¥ÿMq§ÿPuªÿQv«ÿQvªÿOt¨ÿMr§ÿKq§ÿIo¦ÿFl¢ÿBgÿ?c™ÿCe›ÿKm£ÿSu«ÿVx¯ÿTx®ÿRw­ÿRx­ÿRx­ÿRx­ÿPv«ÿNt¨ÿIn£ÿBfœÿ>`—ÿ@b™ÿHk¢ÿSw­ÿ[µÿ^‚¶ÿ\€µÿX}²ÿW|²ÿW}´ÿW}´ÿV}´ÿRy°ÿLrªÿFk¤ÿCgŸÿEi ÿKp¥ÿQw«ÿT{¯ÿV}±ÿY³ÿ\‚¶ÿ^ƒ¹ÿ]‚¸ÿX~µÿRx¯ÿNs«ÿKq¨ÿKq§ÿKr§ÿKr¨ÿMt©ÿRx«ÿW}°ÿ\‚´ÿPržÿ7Ppÿ%6ÿ+07ÿjouÿ®·ÁÿßëøÿèõþÿÞëøÿÐÛèÿÐÜèÿÐÜéÿÏÜéÿÎÜéÿÎÛéÿÍÛèÿÍÛèÿÌÚèÿÌÚèÿËÚèÿÉØæÿÈØæÿÇ׿ÿÇÖæÿÆÕåÿÅÕåÿÆÕåÿÅÕåÿÄÕåÿÃÔäÿÂÓäÿÂÓåÿÁÒäÿ¿Ñâÿ¾Ðâÿ½Ðâÿ½Ïâÿ½Îâÿ¼Îáÿ¼Îáÿ»Îáÿ¹Ìàÿ¹Íáÿ¸Ìàÿ¸Ìàÿ¶Ëßÿ¶Ëßÿ´ÊÞÿ´ÉÞÿ´Êßÿ³ÉÞÿ²ÉÞÿ±ÇÜÿ°ÆÜÿ¯ÅÜÿ®ÄÛÿ«ÁØÿµÍåÿ»ÕîÿºÔíÿ—­Áÿao}ÿ&,2ÿ ÿ ÿ ÿ.ÿ&9ÿ/Fÿ!3Nÿ%:[ÿ(?cÿ0Iqÿ5P|ÿ]ÿ@b•ÿ@dšÿBhŸÿDk¡ÿGm£ÿJp¥ÿKo¥ÿIm¢ÿEižÿAešÿ?c™ÿ?cšÿAdÿEg ÿGj£ÿIm¥ÿJn§ÿHn§ÿFl¥ÿEl¤ÿGn¥ÿJq¨ÿLsªÿJp¨ÿEj¤ÿCi£ÿGm¦ÿMs¬ÿPu®ÿMr¬ÿGk§ÿCh¥ÿDk¨ÿHp¬ÿKs­ÿKs¬ÿJq«ÿGn©ÿFn¨ÿHpªÿMt®ÿSz²ÿV|´ÿSy±ÿMs¬ÿHn¨ÿGm§ÿIo¨ÿKqªÿMt«ÿPy®ÿRz±ÿT|³ÿT{´ÿa…¹ÿˆ£ÊÿÀÏãÿëðöÿþþþëþþþ²ÿÿÿ_øùûÿÿÿÿÿÿùúü'þþþmÿÿÿÀÿÿÿòæëóÿ»Êàÿ„ŸÆÿ`µÿRu¬ÿLo§ÿHl¤ÿHm¤ÿLq§ÿPuªÿQvªÿOt©ÿLr§ÿKq§ÿKp§ÿIo¦ÿGl¢ÿChÿBfšÿFiÿOq¥ÿWx­ÿYz°ÿUw­ÿQu«ÿOuªÿOv«ÿOw«ÿOwªÿOu©ÿKp¥ÿEhžÿAcšÿDfÿLo¦ÿTy¯ÿZµÿZµÿX~³ÿW|²ÿW|³ÿX}´ÿV|³ÿRx°ÿLrªÿEk¤ÿBg ÿBfŸÿGj¢ÿMq¨ÿRw­ÿSz®ÿT{¯ÿV}±ÿ[¶ÿ_…ºÿ_…»ÿ[·ÿTz±ÿNt«ÿLr¨ÿKq§ÿJp¦ÿIp¦ÿJp§ÿOuªÿU{¯ÿY€³ÿNqÿ6Opÿ%6ÿ+07ÿjouÿ®·ÁÿßëøÿèõþÿßëøÿÐÜèÿÐÜéÿÑÝêÿÐÜéÿÏÜêÿÎÜéÿÍÛèÿÎÜéÿÍÛèÿÌÚèÿËÚèÿÊØçÿÉØæÿÈ׿ÿÇÖæÿÇÕæÿÆÕåÿÆÖæÿÅÖæÿÅÕåÿÃÔäÿÂÓäÿÂÓåÿÁÒäÿÀÑãÿ¿Ðâÿ¾Ðâÿ¾Ðâÿ½Ïâÿ¼Îáÿ½Ïâÿ¼ÎáÿºÍàÿºÍáÿ¸Ìàÿ¸Íáÿ¶Ëßÿ¶ËßÿµÊÞÿ´ÉÞÿ´Êßÿ´ÉÞÿ³ÉÞÿ±ÇÜÿ°ÆÜÿ°ÆÜÿ®ÄÛÿ¬ÂÙÿµÍåÿ¼Õîÿ»Õíÿ˜­Âÿbp}ÿ',2ÿ ÿ ÿ ÿ.ÿ&9ÿ-Cÿ1Kÿ#8Xÿ(=aÿ.Fnÿ3Mvÿ9Uÿ;ZŠÿ?a“ÿ@c™ÿBhŸÿEl¢ÿHo¤ÿJq¥ÿIo£ÿGjŸÿCf›ÿ@d˜ÿ?c˜ÿ@dšÿAeÿBeŸÿBfŸÿCg ÿDi£ÿEk¤ÿEk¥ÿEl¤ÿFm¥ÿIp§ÿLs©ÿKq©ÿGm¦ÿDj¤ÿEk¥ÿJo©ÿMr¬ÿJn©ÿDh¤ÿ@e¢ÿAh¥ÿFnªÿKt®ÿNv°ÿOv¯ÿMs­ÿJqªÿJqªÿNu­ÿT{²ÿU|³ÿPv¯ÿJo©ÿGm§ÿKq«ÿPv¯ÿRy±ÿSz±ÿRz±ÿRz±ÿQy±ÿOv¯ÿW|²ÿ{˜ÂÿµÆÝÿåëóÿþþþòÿÿÿÀþþþmùúû'ÿÿÿÿÿÿûüý,ÿÿÿvþþþÉþþþ÷ãêòÿµÆÝÿ~šÃÿ[}±ÿQs«ÿKm¦ÿFj£ÿFk£ÿJp§ÿOtªÿOuªÿMs¨ÿKq¦ÿJp¦ÿJp¦ÿHo¥ÿFl¡ÿDiÿEiœÿKn ÿSu¨ÿYz®ÿYz¯ÿTw¬ÿPtªÿNt©ÿNuªÿOw«ÿPx¬ÿPw«ÿMr§ÿHj ÿEgÿHj ÿOs©ÿV{°ÿX~´ÿW}´ÿV|³ÿV{²ÿW|²ÿW|²ÿSx¯ÿMsªÿFl¤ÿ@fŸÿ>dÿAeŸÿGk£ÿNr©ÿSx®ÿSy®ÿSz®ÿT|°ÿZ€µÿ_…ºÿa†»ÿ\‚¸ÿU{±ÿOv¬ÿMtªÿLs¨ÿIp¦ÿGm¤ÿHn¥ÿMsªÿSz¯ÿW~³ÿKm›ÿ4Moÿ$6ÿ+07ÿjouÿ®·ÁÿàìøÿéöþÿßìùÿÐÜèÿÑÝéÿÑÞêÿÐÝêÿÏÝêÿÏÜéÿÎÜéÿÎÜéÿÍÜéÿÍÛèÿÌÚèÿÊØçÿÊØçÿÉ×çÿÈ׿ÿÇÖæÿÆÕåÿÇÖæÿÆÖæÿÅÕåÿÃÔäÿÃÓäÿÃÔåÿÂÓäÿÀÑãÿ¿Ñâÿ¿Ñâÿ¾Ðâÿ½Ðâÿ½Ïáÿ½Ðâÿ¼Ïâÿ»Îáÿ»Îâÿ¹Íàÿ¹Íáÿ·Ìßÿ·ÌßÿµÊÞÿµÉÞÿµÊßÿ´Éßÿ³ÉÞÿ²ÇÜÿ±ÇÜÿ°ÆÜÿ¯ÄÛÿ¬ÂÙÿ¶Îåÿ¼Öîÿ»Õíÿ˜­Âÿbp~ÿ',3ÿ ÿ ÿ ÿ/ÿ&9ÿ,Cÿ0Jÿ#7Wÿ'<_ÿ,Cjÿ.Gqÿ3O{ÿ8V…ÿ?`“ÿBe›ÿDj¡ÿFl£ÿHo¤ÿIp¤ÿHn¢ÿFkŸÿEhœÿDgœÿCgœÿCgÿBfžÿ?dÿcÿCh¢ÿGl¦ÿGm§ÿGm¥ÿGm¤ÿIo¦ÿJq¨ÿIp¨ÿHo©ÿGn©ÿHn©ÿHm¨ÿEj¥ÿAe¡ÿ>cŸÿ@f¢ÿDk§ÿIq«ÿMt®ÿQw°ÿPw¯ÿNu­ÿLsªÿNu«ÿPw­ÿOu­ÿJp©ÿFl¥ÿHn¨ÿOu®ÿT{³ÿV}´ÿV}´ÿT|³ÿQx±ÿMt­ÿIp©ÿNs©ÿq¹ÿ­¾×ÿâèñÿþþþ÷ÿÿÿÉÿÿÿvúûý,ÿÿÿÿÿÿûüý2þþþþþþÔþþþþàçðÿ¬¿Øÿu“¾ÿWz¯ÿQs«ÿKn¦ÿFj£ÿEj£ÿIn¦ÿNsªÿPu«ÿNt©ÿLr§ÿJq§ÿJp¦ÿHo£ÿFm¡ÿFlŸÿIn¡ÿOr¥ÿUwªÿXz­ÿVy­ÿRu©ÿOs¨ÿNt©ÿOv«ÿQy®ÿRz¯ÿRx­ÿNr¨ÿHk¢ÿFiŸÿKn£ÿSw¬ÿX}³ÿX~´ÿU{³ÿSy±ÿTy±ÿUz±ÿUz°ÿPu¬ÿJo¦ÿCi¡ÿ?ežÿ>dÿBh ÿIn¥ÿOt«ÿSy¯ÿSy¯ÿSz¯ÿU|°ÿZµÿ_…¹ÿ`…ºÿ[¶ÿTz°ÿPw¬ÿOv«ÿNt©ÿIo¥ÿEk¡ÿFk£ÿMs©ÿT{±ÿV~³ÿHkšÿ1Jmÿ#5ÿ+07ÿjpuÿ¯¸ÁÿàìøÿéöþÿàìùÿÑÝéÿÑÞéÿÒÞêÿÑÝêÿÐÝêÿÏÜéÿÎÜéÿÏÜéÿÎÜéÿÍÛéÿÌÚéÿËØçÿÊØçÿÉ×çÿÉ׿ÿÈÖæÿÇÖæÿÇÖæÿÆÖæÿÆÖåÿÄÔäÿÃÔäÿÄÔåÿÃÔäÿÁÒãÿÀÑâÿ¿Ñâÿ¾Ðâÿ¾Ðáÿ½Ðáÿ½Ðâÿ½Ðâÿ»Îáÿ»Îâÿ¹Íàÿ¹Íáÿ¸Ìßÿ¸Ìàÿ¶ÊßÿµÉßÿµÊàÿµÉßÿ´ÉÞÿ²ÇÝÿ±ÇÝÿ±ÇÝÿ¯ÅÜÿ­ÃÙÿ¶Îæÿ½Öïÿ¼Õîÿ™­Âÿcp~ÿ'-3ÿ ÿ ÿ ÿ /ÿ':ÿ-Cÿ1Jÿ#8Vÿ'=^ÿ*Agÿ+Dlÿ/Kwÿ6Tƒÿ@a“ÿDhÿFl£ÿFl£ÿGm£ÿHn¢ÿIo¢ÿJo¢ÿIn¡ÿHl¡ÿFj ÿEj ÿCh ÿ?džÿ9_™ÿ6[•ÿ9^˜ÿ@fŸÿHm§ÿJo©ÿHn¦ÿEk¢ÿEk¢ÿGn¥ÿIq©ÿKs¬ÿJq¬ÿGn©ÿDj¥ÿAf ÿ>cÿ=bÿ?e ÿCi¤ÿFm§ÿJpªÿNt­ÿQx°ÿQx¯ÿOv­ÿMtªÿJq§ÿGm¤ÿDj¢ÿEj£ÿJp©ÿPw¯ÿT{²ÿU|²ÿV}³ÿV}´ÿRx±ÿKqªÿEk£ÿEj ÿe„±ÿ£¶ÐÿÝäîÿÿÿÿþÿÿÿÔþþþûüý2ÿÿÿÿÿÿûüý6ÿÿÿˆÿÿÿÛþþþÿÝåïÿ¨»Öÿq¼ÿVz°ÿRu­ÿLp¨ÿGk¤ÿEj¢ÿIm¥ÿNsªÿQv¬ÿPv«ÿNt©ÿLs§ÿJq¥ÿHo£ÿFn¢ÿHo¢ÿKq¤ÿPt§ÿTw«ÿUw«ÿSv©ÿNr¦ÿLq¥ÿMs¨ÿPw¬ÿS{°ÿU|±ÿSx®ÿMr©ÿGk¢ÿFj ÿLq¥ÿTz®ÿY´ÿW}³ÿSx°ÿQv®ÿRw¯ÿTy°ÿSy¯ÿOt«ÿIo¦ÿDj¡ÿAhŸÿAhŸÿEk¢ÿKq§ÿPv¬ÿTy¯ÿTz°ÿU|±ÿW~²ÿ\‚¶ÿ^„¸ÿ\‚·ÿW}²ÿQw­ÿOv«ÿPv«ÿOt©ÿIn£ÿDiŸÿEk¡ÿNs©ÿV|²ÿWµÿGjšÿ/Hkÿ"4ÿ+07ÿjpuÿ¯¸Áÿáíøÿê÷þÿàíùÿÒÞéÿÒÞéÿÒßêÿÑÞêÿÐÝêÿÐÜéÿÏÜéÿÏÜéÿÎÜéÿÎÛéÿÍÛéÿËÙçÿÊØçÿÊØçÿÉØæÿÈ׿ÿÇ׿ÿÈ׿ÿÇÖæÿÆÖåÿÄÔäÿÃÔäÿÄÕåÿÃÔäÿÂÓãÿÁÒãÿÀÑâÿ¿Ðâÿ¾Ðâÿ½Ðáÿ¾Ñâÿ½Ðâÿ¼Ïáÿ¼ÏâÿºÍàÿºÍáÿ¸Ìßÿ¸Ìàÿ·Ëßÿ¶Êßÿ¶ÊàÿµÊßÿ´Éßÿ³ÈÝÿ²ÈÝÿ±ÇÝÿ°ÆÜÿ­ÃÙÿ·Ïæÿ½×ïÿ¼Öîÿ™®Ãÿcp~ÿ(-2ÿ ÿ ÿ ÿ /ÿ':ÿ.Dÿ1Kÿ%9Wÿ(>_ÿ+Chÿ+Emÿ/Lxÿ6U„ÿ@b”ÿEižÿFl£ÿDj¡ÿDk¡ÿGn¢ÿKr¥ÿMt§ÿLr¦ÿJo¤ÿGl¢ÿFl¢ÿFk£ÿBh ÿ;ašÿ6[•ÿ7\–ÿ?džÿGm¦ÿKpªÿIn§ÿDj¢ÿCi ÿCj¡ÿFm¥ÿHo©ÿGn©ÿEk¦ÿBh¢ÿ?džÿ=bœÿ=bœÿ?dŸÿBh¢ÿEk¤ÿHm¦ÿKqªÿOv­ÿRy¯ÿQx®ÿMs©ÿFl¢ÿ@fÿ?eÿDk£ÿKrªÿPw®ÿPx­ÿPx­ÿSz°ÿU}´ÿRy²ÿKqªÿDj¢ÿChžÿ_€­ÿž²ÍÿÛãíÿþþþÿÿÿÿÛÿÿÿˆûüý6ÿÿÿÿÿÿüüý<þþþ’þþþåþþþÿÙâíÿ¡¶ÒÿiйÿW{±ÿTw¯ÿNr«ÿIm¦ÿHl¤ÿKo¦ÿPu«ÿSx®ÿSy­ÿQwªÿNu§ÿKr¥ÿIp£ÿHp¤ÿJr¥ÿLs¨ÿOuªÿRu«ÿRuªÿPs§ÿLp¤ÿJo£ÿLq¦ÿPv¬ÿU|±ÿV}³ÿSy¯ÿLq¨ÿFk¢ÿFl¢ÿMt¨ÿV|°ÿY´ÿU{±ÿOt¬ÿMr«ÿPu­ÿTy±ÿTz±ÿPv¬ÿJp§ÿFl£ÿEk¢ÿGn¤ÿKr¨ÿOv«ÿRx®ÿTz¯ÿU{°ÿW~²ÿZµÿ]ƒ·ÿ]ƒ¸ÿYµÿTz°ÿOu«ÿOuªÿPv«ÿNs§ÿGl¡ÿBhÿEk ÿOuªÿW³ÿY€¶ÿGkšÿ/Hkÿ"4ÿ+07ÿkpuÿ°¹Áÿâíùÿë÷þÿáíùÿÒÞéÿÒÞêÿÓßëÿÑÞêÿÐÝêÿÐÜéÿÏÜéÿÐÜêÿÏÜêÿÎÛéÿÍÛéÿÌÙçÿËÙçÿÉØçÿÈØçÿÉØæÿÈ׿ÿÈØçÿÇ׿ÿÆÖæÿÅÕåÿÄÔäÿÄÕåÿÄÔåÿÂÓäÿÁÒäÿÀÑãÿ¿Ñâÿ¾Ñâÿ¾Ðâÿ¾Ñãÿ¾Ðãÿ¼Ïâÿ¼Ïâÿ»Íàÿ»Íáÿ¹Ìßÿ¹Ìàÿ·Ëàÿ¶Êßÿ¶ËàÿµÊßÿµÊßÿ³ÈÝÿ²ÈÝÿ²ÈÝÿ°ÆÜÿ®ÄÙÿ·Ïæÿ¾×ðÿ½Öïÿš®Ãÿdq~ÿ(-2ÿ ÿ ÿ ÿ/ÿ':ÿ.Eÿ 3Lÿ&;Yÿ*@aÿ.Glÿ0Jrÿ3P|ÿ8W‡ÿAd–ÿEjžÿFl£ÿCj ÿCj ÿHn¤ÿMt¨ÿOv©ÿLs§ÿHn£ÿFk¡ÿFl¢ÿHm¤ÿFk£ÿ@ežÿ9_˜ÿ8^—ÿ=cœÿDj¤ÿHn¨ÿHn§ÿFl¤ÿEk¢ÿDj¡ÿCj¢ÿBh¢ÿAg¡ÿ@f¡ÿAf ÿ@f ÿ@ežÿ?džÿAeŸÿDh¡ÿGl¤ÿIo¦ÿKr©ÿOu¬ÿRx¯ÿRy®ÿNtªÿFl¢ÿ?e›ÿ>d›ÿEk¢ÿLs©ÿOv¬ÿNuªÿNuªÿQy®ÿU}³ÿT{³ÿNu­ÿHo¦ÿGm£ÿ[~­ÿ˜®Ëÿ×àìÿÿÿÿÿþþþåþþþ’üüý<ÿÿÿÿÿÿûûü?ÿÿÿ˜þþþëþþþÿ×àìÿœ²Ðÿe†¶ÿVz°ÿTx¯ÿPt¬ÿMq©ÿLp§ÿNs©ÿSw­ÿUz¯ÿU{®ÿSy«ÿOv§ÿLr¤ÿJq¤ÿJq¦ÿLs¨ÿMt©ÿNtªÿPt«ÿQtªÿPs¨ÿLo¤ÿIm¢ÿKp¦ÿPv¬ÿU|²ÿW~´ÿSz°ÿLr©ÿFl£ÿGn£ÿOvªÿW~±ÿY³ÿSx®ÿLq¨ÿKp¨ÿOt­ÿTy²ÿV{³ÿRx°ÿLrªÿHn¦ÿHn¥ÿLr¨ÿPw­ÿSz¯ÿSz¯ÿTz¯ÿU{°ÿX~³ÿ[µÿ\ƒ·ÿ]ƒ¸ÿY€µÿT{±ÿPv¬ÿOu«ÿOuªÿLq¦ÿFk ÿBhÿFl¡ÿPw«ÿY€´ÿ[‚·ÿJl›ÿ0Imÿ#4ÿ+17ÿkpuÿ°¹ÂÿâîùÿìøþÿâîùÿÓÞéÿÓÞêÿÓßëÿÑÞëÿÐÞêÿÑÝéÿÐÜéÿÐÝêÿÏÜêÿÏÜêÿÎÜéÿÌÚçÿËÚçÿÊÙçÿÉÙçÿÉØæÿÈØæÿÉØçÿÈØæÿÇ׿ÿÅÕåÿÄÔåÿÅÕæÿÄÔåÿÃÓäÿÂÒäÿÁÒäÿÀÑãÿ¿Ñâÿ¾Ðâÿ¿Ñãÿ¾Ðãÿ¼Ïâÿ½Ïâÿ»Îàÿ»ÎáÿºÌàÿºÍáÿ¸Ìàÿ·Ëßÿ·Ìàÿ¶ËßÿµËßÿ´ÉÞÿ³ÉÞÿ²ÈÝÿ±ÇÜÿ®ÄÙÿ¸Ïæÿ¿×ðÿ¾Öïÿš¯Ãÿdq~ÿ(-2ÿ ÿ ÿ ÿ/ÿ':ÿ.Eÿ!3Mÿ'=[ÿ-Cdÿ2Kqÿ4Owÿ7Tÿ:ZŠÿBe—ÿFkžÿFm¢ÿDk ÿDk ÿIp¥ÿNt©ÿOuªÿKq¦ÿFl¡ÿCiŸÿEj ÿHm¤ÿIn¥ÿEj¢ÿ?dÿdœÿ?fŸÿBi¢ÿFm¦ÿMs«ÿQw®ÿQw­ÿLr¨ÿDi¢ÿ>cÿ=bÿAf ÿGm¦ÿMrªÿNsªÿMq¨ÿKp¦ÿLr§ÿNvªÿQy­ÿRy¯ÿRy¯ÿSy¯ÿRx¯ÿNtªÿHn¤ÿDj ÿFl¡ÿLr¦ÿQw«ÿRx­ÿRy®ÿS{°ÿW´ÿZ‚¶ÿZ‚¶ÿW´ÿU|±ÿ[´ÿ“«ÍÿÑÜêÿÿÿÿÿÿÿÿòþþþŸøúûCÿÿÿÿÿÿùúûFþþþ¤ÿÿÿ÷þþþÿÒÛèÿ“ªÊÿ[}®ÿRv¬ÿOu¬ÿPu¬ÿRx®ÿUz®ÿVz¯ÿW{°ÿX}±ÿX}°ÿU{¬ÿOv§ÿKr¤ÿLs¦ÿOw«ÿRz¯ÿSz¯ÿSx®ÿRv­ÿRv¬ÿRu¬ÿPtªÿMr©ÿMr©ÿPv¬ÿT{±ÿW~´ÿT{±ÿMu«ÿIp§ÿLr¨ÿSy­ÿY²ÿW~°ÿPv©ÿIo¤ÿIn¦ÿNs¬ÿTy±ÿUz³ÿSx±ÿMs«ÿIo¨ÿJp¨ÿQv­ÿW}³ÿX³ÿU{°ÿSx­ÿSx¬ÿUz¯ÿW}²ÿZ€µÿ]ƒ¸ÿ]„¸ÿZµÿU|±ÿRx®ÿOu¬ÿKp§ÿGl¢ÿFl¢ÿKq¦ÿT{®ÿ[‚µÿ]„·ÿNpÿ5Moÿ%6ÿ,18ÿlqvÿ²ºÂÿäïùÿíøþÿãîúÿÔÞêÿÔßëÿÔßìÿÒßëÿÑßëÿÒÞêÿÑÞêÿÑÞëÿÐÞëÿÐÝêÿÏÝêÿÍÛèÿÌÛèÿËÚèÿÊÙèÿÊØçÿÉØçÿÊØçÿÉØçÿÈ×çÿÇ׿ÿÆÖæÿÆÕæÿÅÕåÿÄÔåÿÃÓäÿÂÓäÿÁÒãÿÁÑãÿÀÑãÿÀÑãÿ¿Ñãÿ¾Ðãÿ½Ðâÿ½Ðâÿ¼Ïâÿ¼ÏâÿºÍàÿ¹Íàÿ¹Íáÿ¸Íàÿ·Ìßÿ·ÌßÿµÊÞÿ´ÉÞÿ³ÈÞÿ²ÇÜÿ¯ÄÙÿ¹ÐæÿÀØðÿ¿×ðÿ›¯Ãÿdq~ÿ(-2ÿ ÿ ÿ ÿ!0ÿ';ÿ/Fÿ#6Pÿ,A`ÿ2Hjÿ6Nuÿ5Oyÿ6Rÿ:XˆÿCe—ÿKn¡ÿMr§ÿJp¤ÿGm¢ÿHn¤ÿJp¦ÿKp¦ÿHm£ÿDiŸÿAd›ÿAdšÿDgžÿHk¢ÿGj¢ÿCgŸÿ?dœÿ>c›ÿ@fžÿCj¢ÿIp¨ÿPv­ÿU{²ÿW}²ÿTz°ÿMt«ÿGm¦ÿCh£ÿCi¤ÿJp©ÿQw¯ÿT{±ÿSy¯ÿOuªÿMt©ÿNw«ÿQz¯ÿRz°ÿRx¯ÿRx¯ÿRy°ÿPw®ÿLs©ÿGn£ÿFl¡ÿJp¤ÿQv«ÿU{¯ÿW}²ÿX³ÿ[‚¶ÿ^†¹ÿ_‡ºÿ]…¸ÿZµÿ\ƒµÿ‘«ÍÿÑÜêÿþþþÿÿÿÿ÷þþþ¤ùúûFÿÿÿÿÿÿúûüIþþþ©þþþüþþþÿÐÚçÿ¦ÇÿUy¬ÿPu«ÿNt«ÿOu¬ÿSy®ÿW|°ÿW}°ÿX}°ÿX}°ÿW}°ÿTz­ÿNu§ÿJr¥ÿLt§ÿQy­ÿV~²ÿX´ÿW|±ÿTx®ÿSv¬ÿSw­ÿTx®ÿRw­ÿPu¬ÿOv¬ÿRy¯ÿT|²ÿQy¯ÿLsªÿIo§ÿLq¨ÿSy­ÿX±ÿV}¯ÿOv¨ÿIo¤ÿIn¥ÿNs«ÿSx°ÿSx°ÿQv®ÿLqªÿIo¨ÿKq©ÿRx®ÿY´ÿZ€´ÿV{°ÿQw¬ÿQv«ÿTx­ÿW|±ÿZ´ÿ^ƒ¸ÿ^„¸ÿ[¶ÿV}³ÿTz±ÿQw®ÿMrªÿHm¤ÿHm£ÿNs¨ÿW|°ÿ]ƒ¶ÿ^„·ÿOpÿ5Noÿ%6ÿ,28ÿlqvÿ²ºÂÿäïúÿîùþÿäîúÿÔßêÿÔßëÿÕàìÿÓßëÿÒßëÿÒßêÿÑÞêÿÒßëÿÑÞëÿÐÝêÿÏÝêÿÎÛèÿÍÛéÿËÚèÿÊÙèÿËØçÿÊØçÿÊØçÿÉØçÿÉ×çÿÈ×çÿÇÖæÿÆÖæÿÅÕåÿÅÕåÿÃÓäÿÂÓäÿÂÓãÿÁÒãÿÁÒäÿÀÒäÿ¿Ñãÿ¾Ñãÿ¾Ðâÿ½Ðâÿ½Ðâÿ¼ÏâÿºÍáÿºÍáÿºÍáÿ¹Íàÿ¸Ìàÿ·ÌàÿµÊßÿ´Éßÿ´ÉÞÿ²ÇÜÿ°ÅÚÿºÐçÿÁÙñÿÀØðÿœ¯Äÿeq~ÿ(-2ÿ ÿ ÿ ÿ!1ÿ(;ÿ0Gÿ%7Qÿ.Cbÿ4Jlÿ6Nuÿ4Mvÿ4P}ÿ:W…ÿDe–ÿNq¤ÿQv¬ÿMs¨ÿHm¤ÿEk¡ÿEk¢ÿFl£ÿFk¢ÿDi ÿAeœÿ@cšÿBe›ÿDgžÿEgŸÿBežÿ?cœÿ>c›ÿBhŸÿGm¤ÿMtªÿRy¯ÿV|²ÿX´ÿY€µÿV}´ÿQx±ÿKr«ÿHo¨ÿKr«ÿRy°ÿW~´ÿV~³ÿRz¯ÿOw¬ÿOw¬ÿPx®ÿQy¯ÿPw®ÿQw¯ÿRx¯ÿQx¯ÿNu«ÿIp¦ÿFm¢ÿIn£ÿOt©ÿV{°ÿZ€´ÿ\‚¶ÿ^…¹ÿ`‡ºÿa‰»ÿ`‡¹ÿ^…·ÿ^ƒ·ÿ‘«ÍÿÐÛêÿþþþÿþþþüþþþ©úûýIÿÿÿÿÿÿùúûJÿÿÿ¬ÿÿÿÿþþþÿÎØæÿ‹£ÆþRu«ÿPtªÿNs«ÿQv­ÿTy¯ÿX}°ÿX}°ÿW|¯ÿV|¯ÿU{®ÿRy¬ÿMt§ÿIp¤ÿJr¦ÿPx¬ÿW³ÿ[‚¶ÿY~³ÿTx­ÿRuªÿSw­ÿV{°ÿU{°ÿRx¯ÿOv­ÿPw®ÿQx¯ÿNu¬ÿIo§ÿGl¥ÿJo§ÿQw­ÿV}°ÿU|®ÿNu¨ÿIo¤ÿJo¦ÿOt«ÿRw¯ÿQv®ÿOs«ÿKp¨ÿIo§ÿLs©ÿSz¯ÿZ€´ÿ[µÿV{°ÿQv¬ÿPuªÿTy­ÿX}±ÿ\€µÿ^ƒ·ÿ^ƒ·ÿZ€µÿW~³ÿV|³ÿTz±ÿOu¬ÿIn¥ÿHm£ÿOs§ÿX}°ÿ^ƒ¶ÿ^ƒ¶ÿMoœÿ5Moÿ%6ÿ,27ÿlqvÿ²»ÂÿåïúÿîùþÿäïúÿÕßêÿÕàëÿÕáìÿÓàëÿÓàëÿÓßëÿÒßëÿÒßëÿÑßëÿÑÞêÿÏÜéÿÎÛèÿÍÛéÿÌÚéÿÌÚèÿËÙèÿÊØçÿËÙçÿÊØçÿÉØçÿÈ׿ÿÇÖåÿÇ׿ÿÆÖåÿÄÕäÿÃÔäÿÃÔäÿÂÓãÿÂÓãÿÁÒãÿÁÓäÿÀÒãÿ¾Ñâÿ½Ðáÿ½Ðáÿ¼Ïáÿ»Ïáÿ¼Ïâÿ»Îâÿ¹ÌàÿºÍáÿ¹Ìàÿ·Ëßÿ¶ÊßÿµÊßÿ´ÉÞÿ³ÇÝÿ°ÅÚÿºÑçÿÁÙñÿÀØðÿœ°Äÿeq~ÿ(-2ÿ ÿ ÿ!ÿ!1ÿ)<ÿ 1Hÿ&9Rÿ/Ecÿ4Kmÿ6Ovÿ3Mvÿ3O|ÿ9W…ÿEf˜ÿQu¨ÿTz°ÿPu¬ÿIm¥ÿCh ÿAfžÿCh ÿDi¡ÿEi¢ÿDh ÿBeœÿAcšÿ@cšÿAdœÿAcÿ@cÿ@dÿDi¡ÿJp¦ÿPw­ÿSz¯ÿS{¯ÿT|°ÿW´ÿX€¶ÿW~¶ÿQy±ÿMu­ÿMu­ÿQy°ÿU}³ÿV~³ÿT|±ÿRz¯ÿPx­ÿPx­ÿPw­ÿOv¬ÿPv­ÿPw®ÿQx¯ÿOw­ÿKs¨ÿGn£ÿGm¢ÿMr§ÿUz¯ÿ\µÿ^„¸ÿ^†¹ÿ^‡¹ÿaˆºÿ`‡¹ÿ`†·ÿ^„·ÿ’«ÎþÐÛêÿÿÿÿÿþþþÿÿÿÿ¬úûýJÿÿÿÿÿÿùúûLÿÿÿ¯ÿÿÿÿþþþÿÍ׿ÿˆ ÅþQt«ÿNs«ÿNr«ÿQv­ÿVz°ÿZ~²ÿZ~±ÿW{®ÿSy¬ÿRx¬ÿPw«ÿLs§ÿGn£ÿFm£ÿKs¨ÿT{°ÿZ¶ÿZ´ÿUy®ÿQu©ÿRw«ÿU{¯ÿV|±ÿT{°ÿQx®ÿPv­ÿNu¬ÿKp©ÿGk¤ÿFj£ÿJn¦ÿPv¬ÿU{¯ÿSz®ÿNu©ÿKq¦ÿLr¨ÿPv¬ÿQw­ÿOu«ÿMr¨ÿJo¦ÿIo¥ÿLr§ÿSz­ÿ[³ÿ\µÿV|±ÿQw­ÿPv¬ÿUz¯ÿZ²ÿ]µÿ^‚¶ÿ[µÿW}³ÿV|²ÿW~´ÿV}³ÿPv­ÿIm¤ÿGk¡ÿMq¦ÿW{¯ÿ\‚µÿ\‚µÿLnšÿ4Mnÿ%6ÿ,27ÿlqvÿ²»ÂÿåðúÿïúþÿåïúÿÕàëÿÖáëÿÖáìÿÔàëÿÓàëÿÓßëÿÒßëÿÑÞêÿÑÞêÿÐÝéÿÏÜéÿÏÛéÿÎÛéÿÌÚéÿÌÚéÿÌÙèÿËÙçÿËÙèÿÊÙèÿÉ×çÿÈ׿ÿÇ×åÿÆÖåÿÅÖåÿÄÕåÿÄÔäÿÃÔäÿÃÓäÿÂÓäÿÁÓäÿÀÒãÿÀÒâÿ¿Ñâÿ¾Ðâÿ½Ðáÿ¼Ïáÿ¼Ïâÿ¼Ïâÿ»ÎâÿºÌàÿ¹Ìàÿ¸Ëßÿ·Ëßÿ¶Êßÿ¶ÊßÿµÊÞÿ³ÈÝÿ±ÆÚÿ»ÑèÿÂÚñÿÁØðÿ°Ãÿeq~ÿ)-2ÿ ÿ ÿ!ÿ"1ÿ*<ÿ!3Iÿ':Sÿ/Ecÿ4Kmÿ8Qxÿ5Pyÿ6Sÿ;Z‡ÿFg˜ÿQu©ÿU{²ÿRw¯ÿJo§ÿCh¡ÿAfŸÿBg ÿCi¡ÿEk£ÿFj¢ÿDhŸÿ@dšÿ>a˜ÿ?bšÿBdžÿDf¡ÿDh¢ÿGk¤ÿLq¨ÿRy®ÿS{¯ÿR{®ÿQz­ÿT|°ÿW´ÿX€¶ÿU}´ÿRz±ÿPx¯ÿPx®ÿRy¯ÿS{°ÿU|±ÿU}±ÿT|±ÿSz¯ÿRx­ÿQw¬ÿQw¬ÿQx­ÿRy¯ÿQy®ÿMu«ÿIo¥ÿGm£ÿLp§ÿTx®ÿ[€µÿ\ƒ·ÿ[ƒ¶ÿZ‚µÿ]„¶ÿ`†·ÿb‡¸ÿb‡¹ÿ‘¬ÍþÏÛêÿÿÿÿÿÿÿÿÿÿÿÿ¯ùúüLÿÿÿÿÿÿùúûMþþþ±ÿÿÿÿþþþÿÍ׿ÿ‡ ÅþPt¬ÿMq«ÿMqªÿSv¬ÿX{°ÿ]€³ÿ\²ÿVz®ÿPuªÿOu©ÿOvªÿLt¨ÿFn¢ÿBiŸÿEl¢ÿNu«ÿW~³ÿZ€´ÿVz¯ÿRuªÿQvªÿSy­ÿT|°ÿU|±ÿSz°ÿQw¯ÿNs¬ÿJn§ÿFj£ÿFj¢ÿJo¦ÿPu«ÿTz¯ÿTz®ÿQw¬ÿOu«ÿPv¬ÿRx®ÿQw­ÿNtªÿLq§ÿIn¤ÿGl¢ÿJo£ÿQw©ÿY±ÿ[´ÿV|±ÿQw­ÿPw­ÿU{°ÿ[€´ÿ]‚¶ÿ\€µÿW{²ÿSx¯ÿRx¯ÿU|³ÿV}³ÿPu¬ÿGk¢ÿEhŸÿKo¥ÿTy®ÿZ€³ÿZ³ÿKmšÿ4Mmÿ%6ÿ,18ÿlqvÿ³»ÂÿæðúÿïúþÿåðûÿÖàëÿÖáìÿ×âìÿÕáëÿÔàëÿÔßëÿÓßëÿÒÞëÿÑÞêÿÑÝéÿÐÝéÿÏÜéÿÍÛéÿÍÛéÿÍÛèÿÌÚèÿËÚèÿÌÚèÿËÚèÿÉØçÿÈØçÿÈ׿ÿÇ×åÿÆÖåÿÅÕåÿÄÕåÿÄÔåÿÃÓäÿÂÓäÿÂÓäÿÁÓäÿÀÒãÿÀÒâÿ¿Ñâÿ¾Ðâÿ½Ïáÿ¼Ïâÿ¼Ïâÿ¼ÏâÿºÍàÿºÌàÿ¹Ìàÿ¸Ëàÿ·Ëßÿ¶Ëßÿ¶ÊÞÿ´ÉÝÿ±ÆÛÿ»ÒèÿÂÚòÿÁÙðÿ°Ãÿfr~ÿ).2ÿ ÿ ÿ!ÿ"1ÿ*=ÿ#4Jÿ(;Tÿ0Ecÿ5Lmÿ:Tzÿ:U~ÿ;Y…ÿ>^ŒÿFhšÿOs§ÿTz±ÿRx°ÿLrªÿGm¦ÿFl¥ÿFl¤ÿFk£ÿEk£ÿEk¢ÿDi ÿAdœÿ>a˜ÿ?b™ÿBfžÿFj¤ÿGk¥ÿHm¦ÿLr©ÿQy®ÿS|¯ÿR{®ÿPz¬ÿR{®ÿU~²ÿW³ÿV~³ÿS{±ÿPw®ÿNu«ÿMt©ÿOv«ÿSz¯ÿW~³ÿX³ÿX}±ÿV{¯ÿUz®ÿSz­ÿRz­ÿRz®ÿQy®ÿNu«ÿJq§ÿIn¥ÿLp§ÿRv­ÿX~³ÿY€´ÿV~±ÿS{®ÿW~¯ÿ]ƒ´ÿcˆ¹ÿeŠ»ÿ“­ÏþÐÜêÿÿÿÿÿÿÿÿÿþþþ±ùúüMÿÿÿÿÿÿùúûMÿÿÿ²ÿÿÿÿþþþÿËÖæÿ† ÅþPu¬ÿMq«ÿLp©ÿRt«ÿX{¯ÿ^€³ÿ]€²ÿVz®ÿOs¨ÿMs¨ÿOuªÿNu©ÿGn£ÿ@gžÿ@fžÿHo¥ÿT{¯ÿ[´ÿZ~²ÿUy­ÿRw¬ÿSy­ÿT{¯ÿV}±ÿU|±ÿSx°ÿOs¬ÿJm§ÿGj£ÿHl£ÿLp¦ÿQuªÿTy­ÿUz¯ÿUz°ÿUz°ÿUz°ÿSy¯ÿPv¬ÿMs©ÿKq§ÿHm£ÿEjŸÿGkŸÿNs¥ÿW}®ÿZ³ÿV}±ÿPx­ÿOw­ÿT|°ÿZ€´ÿ\·ÿZ~µÿSw¯ÿNs«ÿOt¬ÿSy°ÿTz±ÿNsªÿEi¡ÿBfžÿIn¥ÿSx®ÿX²ÿX€²ÿJm™ÿ4Mmÿ%6ÿ,18ÿmqvÿ³»ÃÿæðúÿðûþÿæðûÿÖáëÿ×áìÿ×âìÿÕáìÿÔàìÿÔßìÿÔßìÿÓÞëÿÒÞêÿÑÝêÿÐÝêÿÐÜéÿÎÜéÿÍÛéÿÍÛéÿÍÛèÿÌÚèÿÌÛéÿËÚèÿÊØçÿÉØçÿÈ׿ÿÇ׿ÿÇÖåÿÆÖåÿÅÕåÿÄÔåÿÄÔåÿÃÔåÿÂÓäÿÁÓäÿÁÒãÿÀÒãÿ¿Ñâÿ¾Ðâÿ½Ïâÿ¼Ïâÿ½Ïâÿ¼Ïâÿ»ÍàÿºÍàÿ¹Ìàÿ¹Ìàÿ¸Ëßÿ·Ëßÿ¶ËÞÿµÉÝÿ²ÇÛÿ¼ÒèÿÃÚòÿÂÙñÿž±Äÿfrÿ).3ÿ ÿ ÿ!ÿ#2ÿ+>ÿ#4Jÿ'9Sÿ.Dbÿ4Lmÿ=V{ÿ@[‚ÿB`‹ÿAbÿFi™ÿJo¤ÿPv­ÿQx°ÿNu­ÿLs¬ÿLs«ÿKrªÿHo¥ÿEk¢ÿCi¡ÿCh¡ÿBfžÿ@d›ÿ@d›ÿCgŸÿHl¥ÿIn§ÿJo¨ÿLrªÿPx®ÿS|°ÿS}¯ÿT}¯ÿV±ÿW€³ÿW²ÿU|°ÿRx®ÿNtªÿJp¦ÿHn¤ÿKq§ÿRy®ÿY€´ÿ[‚¶ÿ[€´ÿ[²ÿZ±ÿX°ÿV~°ÿT|¯ÿPw«ÿKr§ÿIo¤ÿJo¥ÿMr©ÿRw®ÿV{±ÿU{±ÿQx¬ÿMt¨ÿSwªÿ[±ÿd‰¹ÿh½ÿ•¯ÑþÑÜëÿÿÿÿÿÿÿÿÿÿÿÿ²úûüMÿÿÿÿÿÿùúûMÿÿÿ²ÿÿÿÿþþþÿËÖåÿ‡ ÅþRv­ÿOs«ÿMp©ÿQsªÿVx¬ÿ\±ÿ]³ÿX|°ÿQv«ÿOtªÿPv«ÿOvªÿJp¦ÿBhŸÿ?eœÿEk¡ÿRx¬ÿ\´ÿ^‚µÿY}±ÿUz®ÿTz®ÿU|°ÿW~²ÿV|²ÿTy°ÿOs­ÿKn¨ÿIl¥ÿJn¤ÿMq¦ÿPu¨ÿSx«ÿVz®ÿW|±ÿW|²ÿUz±ÿSw®ÿOtªÿLq¨ÿJp¦ÿHm£ÿDiŸÿEiŸÿLq¤ÿT{­ÿY€²ÿU}±ÿPx­ÿOw¬ÿT{°ÿY€´ÿ[€¶ÿX}´ÿRv®ÿMr«ÿMs«ÿQw®ÿPv­ÿJo§ÿBfŸÿAežÿIm¦ÿSy¯ÿX³ÿX€²ÿJm™ÿ4Mmÿ%6ÿ,18ÿmqwÿ´»Ãÿçñûÿðûþÿæñüÿ×áìÿ×áìÿØâíÿÖáìÿÕáìÿÕàìÿÔßìÿÓßëÿÓÞëÿÒÞêÿÑÞêÿÐÝêÿÏÝêÿÎÜéÿÍÜéÿÍÛèÿÌÛèÿÍÛéÿÌÛéÿÊÙçÿÉØçÿÉ׿ÿÈ׿ÿÇÖæÿÇÖåÿÆÕåÿÅÕåÿÄÔåÿÃÔäÿÂÓäÿÂÓäÿÁÒäÿÀÒãÿÀÑãÿ¿Ñãÿ¾Ðâÿ½Ïâÿ½Ðãÿ½Ðâÿ»ÎàÿºÎàÿºÍàÿ¹Íàÿ¸Ìàÿ¸Ìßÿ·ËÞÿµÊÝÿ²ÇÛÿ¼ÒéÿÃÛòÿÂÚñÿž±Äÿfsÿ(.3ÿ ÿ ÿ ÿ#2ÿ+=ÿ"2Iÿ%7Pÿ+A^ÿ3Kkÿ>W{ÿC_„ÿGdŽÿDd’ÿEg™ÿHl¡ÿMr©ÿPv®ÿOv®ÿNv®ÿNv®ÿLt«ÿIp¦ÿDk¡ÿBh ÿCi¡ÿDi¢ÿCh¡ÿCg ÿDi¡ÿHm¥ÿIo§ÿJp¨ÿKrªÿOx­ÿS{°ÿU~±ÿX²ÿZƒµÿZƒµÿW~±ÿRx¬ÿNs¨ÿJo¥ÿGk¢ÿEj¡ÿIo¥ÿQx­ÿZ´ÿ]ƒ¶ÿ]‚µÿ]´ÿ]‚³ÿ]ƒ´ÿ[‚³ÿV}¯ÿMs§ÿEl ÿDjŸÿIn¤ÿOtªÿTy°ÿU{²ÿSy¯ÿNt©ÿJo¤ÿOs§ÿY}°ÿd‰¹ÿj¾ÿ—²ÒþÒÝëÿÿÿÿÿÿÿÿÿÿÿÿ²úûüMÿÿÿÿÿÿùúûMþþþ±ÿÿÿÿþþþÿÌÖåÿ‰¡ÆþUx®ÿSv­ÿPrªÿPq¨ÿRt©ÿWz®ÿ[²ÿY~²ÿTy¯ÿQv¬ÿQu«ÿPuªÿLr§ÿFk¢ÿAgÿDj ÿPu©ÿ[€³ÿ`„·ÿ]µÿY}²ÿW}±ÿY€³ÿZ€´ÿW}²ÿSw¯ÿNr«ÿJn¨ÿJn¦ÿKp¥ÿLq¥ÿNs¥ÿQv©ÿUy®ÿW{±ÿVz±ÿSw®ÿOs«ÿKp§ÿIn¦ÿHm¥ÿFl£ÿEj¡ÿGk¡ÿLr¦ÿSz­ÿW~±ÿT|¯ÿQx­ÿQx­ÿU|±ÿYµÿYµÿV{³ÿQv®ÿNs«ÿOt¬ÿPv­ÿMsªÿFk¤ÿ@džÿAeŸÿJo§ÿTz°ÿX€´ÿV±ÿHk˜ÿ2Kmÿ%6ÿ,18ÿmrwÿ´¼Ãÿçñûÿñûþÿçñüÿ×áìÿØâìÿØâíÿ×áìÿÖáìÿÖàìÿÕàìÿÔßëÿÔàìÿÓßëÿÑÞëÿÐÞêÿÐÝêÿÏÜéÿÎÜéÿÎÛèÿÍÛèÿÍÛéÿÌÛéÿÌÚèÿÊØçÿÉ׿ÿÈ׿ÿÉ×çÿÇÖæÿÆÕæÿÆÕåÿÅÔåÿÄÔåÿÃÓäÿÃÔåÿÂÔåÿÁÒäÿÀÒãÿ¿Ñãÿ¿Ðãÿ¾Ðãÿ¾Ðãÿ½Ðâÿ»Ïáÿ¼Ïâÿ»Ïâÿ¹Íáÿ¹Ìàÿ¸Ìßÿ·Ëßÿ¶ÊÞÿ³ÇÜÿ½ÓéÿÄÛòÿÃÚñÿž²Åÿfsÿ(.3ÿ ÿ ÿÿ"0ÿ(:ÿ.Dÿ 2Jÿ'ÿ-Dÿ#7Rÿ-C`ÿ:Qrÿ@Z|ÿD_…ÿA^ˆÿAaÿBd”ÿEhšÿFiÿDhœÿCg›ÿCgÿChœÿDhœÿBh›ÿBhÿDj¡ÿHo§ÿKp©ÿKp©ÿIn§ÿJo¦ÿKp§ÿNuªÿQx­ÿS|°ÿT~±ÿV²ÿY‚µÿ]…¸ÿ]…·ÿW}°ÿOu©ÿKq¥ÿJo¥ÿIn¥ÿHm¤ÿKq§ÿRx¬ÿZ³ÿ]ƒ¶ÿ]ƒ¶ÿ_…¶ÿcˆ¸ÿgŒ»ÿeйÿZ°ÿHm¡ÿ;`”ÿ<`”ÿHl ÿTx­ÿZ´ÿZµÿV{°ÿRw¬ÿNs¨ÿQvªÿZ²ÿd‰ºÿj¾ÿ™³ÒþÓÝëÿÿÿÿÿþþþÿÿÿÿ¯úûüLþþþþþþùúûJþþþ¬ÿÿÿÿÿÿÿÿÍ×åÿ¤ÇþWz¯ÿUy¯ÿRv¬ÿNq§ÿKn¤ÿMp¦ÿPuªÿRw¬ÿQv¬ÿOsªÿMq¨ÿMq§ÿLq§ÿIn¤ÿFk ÿEjŸÿLp¤ÿUx­ÿ\´ÿ^‚¶ÿ^ƒ¶ÿ_†·ÿa‡¹ÿ_„¸ÿW|²ÿNsªÿHl¤ÿFk£ÿHn¥ÿJp¦ÿIo¤ÿJo¤ÿNs¨ÿSx­ÿTy°ÿQv®ÿMr©ÿJn§ÿIl¥ÿGj¤ÿEi£ÿEj£ÿGn¥ÿLs©ÿRy­ÿV|°ÿW}±ÿTz¯ÿSx®ÿU{±ÿY€¶ÿ[¸ÿX~´ÿSy¯ÿOv¬ÿQw¬ÿSy®ÿSy®ÿNtªÿGm¤ÿCi¡ÿFl£ÿNt«ÿU|²ÿW~³ÿRz°ÿCe•ÿ.Hkÿ#5ÿ,18ÿnrwÿµ½Äÿèòûÿòüþÿçñûÿ×áëÿÚãíÿÚäîÿÙãîÿØãîÿØãíÿ×âíÿÖâìÿÕáìÿÔàìÿÔàìÿÓßìÿÒßìÿÑÞëÿÐÝêÿÏÜêÿÏÜêÿÍÚéÿÌÚéÿÍÚéÿÌÚèÿËÙèÿÊÙèÿÊØèÿÉØèÿÈØçÿÇ×çÿÇ׿ÿÆÖæÿÅÕæÿÅÕæÿÄÔåÿÃÔåÿÂÓåÿÁÓäÿÁÓäÿÀÒäÿ¾Ñâÿ½Ðâÿ½Ðâÿ¼Ðâÿ¼Ïâÿ»Ïâÿ»ÎáÿºÍáÿ¹Íáÿ¸ËàÿµÉÝÿ¿ÔêÿÆÜóÿÄÛòÿŸ²Åÿgs€ÿ).3ÿ ÿ ÿ ÿ)ÿ 0ÿ$8ÿ(>ÿ 2Lÿ*>Yÿ5Kjÿ;Qsÿ>W{ÿ`ÿ<^ÿ<_ÿ?a’ÿAd•ÿAe—ÿBfšÿDižÿIn¥ÿMr©ÿMs«ÿLq¨ÿKp¨ÿMs©ÿRy®ÿV}²ÿW€³ÿV³ÿU~²ÿW€´ÿ[‚¶ÿ[‚µÿU|¯ÿOv©ÿMs§ÿNt©ÿOtªÿNs©ÿOt©ÿSy¬ÿX±ÿ[´ÿ]ƒµÿa‡·ÿf‹ºÿj¼ÿgŒ»ÿ[€±ÿIm ÿ;`”ÿ<`•ÿIm¡ÿV{¯ÿ]¶ÿ[€µÿW|°ÿTy®ÿQw¬ÿU{®ÿ\µÿc‰ºÿh½ÿš´ÓþÔßìÿÿÿÿÿÿÿÿÿþþþ¬úûýJþþþÿÿÿùúûIþþþ©þþþüþþþÿÐÙèÿ¨ÊÿY}±ÿUz°ÿQv­ÿLq¨ÿIm¤ÿIm£ÿKo¤ÿLq¦ÿKp¦ÿJn¥ÿIm¤ÿIm¤ÿJn¤ÿIm¢ÿGkŸÿGkŸÿLp¤ÿSw«ÿZ~²ÿ]‚µÿ_„·ÿ`‡¹ÿa‡ºÿ^ƒ¸ÿV{±ÿNr©ÿGk¢ÿEj¡ÿFl¢ÿGm£ÿGm£ÿHn¤ÿNs©ÿSx¯ÿUz±ÿSw¯ÿOt«ÿMq©ÿMo¨ÿJl¦ÿGj¤ÿEj¤ÿFm¥ÿKr©ÿSy®ÿX~±ÿY²ÿV{°ÿTy¯ÿV}²ÿ\‚¸ÿ^„ºÿZ€µÿSy®ÿOuªÿPv«ÿTz¯ÿU{°ÿQw­ÿKq§ÿGm¤ÿIo¦ÿOv¬ÿU|²ÿU|²ÿOw®ÿ@c”ÿ,Fjÿ#5ÿ,18ÿnrwÿµ½ÃÿéòûÿòýþÿçñûÿØáëÿÚäíÿÛåîÿÚäîÿÙäîÿØãîÿ×ãíÿ×âìÿÖâìÿÕáìÿÔàìÿÓßìÿÓßìÿÒÞëÿÑÞëÿÐÝêÿÏÜêÿÎÛéÿÍÚéÿÍÛéÿÌÛéÿÌÚèÿËÚèÿÊÙèÿÉÙèÿÉØçÿÈØçÿÇ׿ÿÆ×æÿÆÖæÿÅÕæÿÅÔåÿÄÔåÿÃÓåÿÂÓäÿÁÓäÿÀÓãÿ¿Ñâÿ¾Ðâÿ¾Ðãÿ½Ðâÿ¼Ïâÿ¼Ïâÿ»ÎáÿºÎáÿºÍáÿ¸Ëàÿ¶ÉÝÿÀÕêÿÆÜóÿÅÛòÿ ²Åÿgt€ÿ).3ÿ ÿ ÿ ÿ&ÿ,ÿ!4ÿ&:ÿ/Hÿ'9Tÿ1Ecÿ5Kjÿ8Psÿ7Qvÿ:U}ÿ=Yƒÿ?^ˆÿ?^Šÿ=]Šÿ;[‰ÿ;[Šÿ<]ÿ?a‘ÿ@b“ÿ@c–ÿBfšÿGl¡ÿLr§ÿNsªÿLp§ÿKp§ÿNs©ÿU{°ÿZµÿZ‚¶ÿV³ÿS}±ÿS|±ÿV}²ÿV|±ÿSy­ÿPw«ÿPw«ÿRy­ÿSy®ÿSx­ÿSx¬ÿTz­ÿV|¯ÿY~±ÿ]‚³ÿc‡·ÿgŒºÿi¼ÿf‹ºÿZ€°ÿJo¡ÿ>b–ÿ>b—ÿKo£ÿX|°ÿ^‚¶ÿ\€µÿW|°ÿUz®ÿTy®ÿW}±ÿ]ƒ¶ÿc‰»ÿh¾ÿ›´ÔÿÕßíÿÿÿÿÿþþþüþþþ©úûýIÿÿÿÿÿÿùúûFþþþ¤ÿÿÿ÷þþþÿÒÜéÿ•­Íÿ]‚´ÿU{±ÿQv®ÿLq©ÿHm¤ÿGl¢ÿGk¡ÿHl¢ÿGk¡ÿFj¡ÿEi ÿEi¡ÿFj¡ÿGjŸÿHkŸÿKn¡ÿOs§ÿTx¬ÿX}±ÿ[€³ÿ]ƒµÿ^„·ÿ]ƒ¸ÿ[€¶ÿUz°ÿNs©ÿHl£ÿEj¡ÿDi ÿDj ÿEk¡ÿHn¤ÿOtªÿUy°ÿW{³ÿUz±ÿSw¯ÿQt­ÿPs«ÿMp©ÿIm§ÿEk¥ÿEk¤ÿIo¦ÿQw¬ÿX}±ÿ[²ÿW|¯ÿTz®ÿW~²ÿ^…¹ÿa‡»ÿ\¶ÿTx®ÿNs¨ÿOtªÿSy®ÿU|±ÿSy®ÿNtªÿKq§ÿLs¨ÿQx­ÿU|²ÿSz±ÿMt¬ÿ>a’ÿ,Eiÿ#5ÿ-18ÿnswÿ¶½ÃÿéóûÿóýþÿèòûÿØâëÿÛåîÿÛåïÿÚäïÿÙäïÿÙãîÿØãíÿ×âíÿÖâíÿÖáìÿÕàìÿÔßìÿÓßìÿÒÞëÿÒÞëÿÑÝêÿÐÝêÿÎÛéÿÍÛéÿÎÛéÿÍÛéÿÌÛèÿËÚèÿËÙèÿÊÙèÿÉØçÿÈØçÿÇ׿ÿÇ׿ÿÆÖæÿÆÖæÿÅÕåÿÄÔåÿÃÔåÿÂÔäÿÁÓäÿÁÓäÿ¿Ñâÿ¾Ðâÿ¿Ðãÿ¾Ðãÿ½Ïãÿ¼Ïâÿ»Ïâÿ»ÎâÿºÎâÿ¹Ìàÿ¶ÊÝÿÁÖêÿÇÝóÿÅÜòÿ ³Åÿht€ÿ).3ÿ ÿ ÿ ÿ!ÿ'ÿ/ÿ"5ÿ,Bÿ$5Mÿ+>Yÿ/C_ÿ2Hgÿ2Ijÿ5Mrÿ7Qwÿ;Wÿ^Žÿ=_‘ÿ>a”ÿDhœÿJn£ÿMr§ÿJo¥ÿHn¤ÿKq§ÿSy®ÿX´ÿX€´ÿU}²ÿRz¯ÿOw­ÿOv¬ÿOu«ÿOuªÿPv«ÿSy­ÿU{°ÿV|°ÿV|°ÿW|°ÿV{®ÿTz­ÿUz­ÿ[±ÿb†¶ÿfйÿf‹ºÿa‡·ÿW}®ÿKp£ÿAfšÿAešÿLp¥ÿX|±ÿ]¶ÿZ³ÿUz®ÿSx­ÿTy®ÿW}±ÿ]ƒ·ÿa‰»ÿi¿ÿœ¶ÕÿÖàîÿþþþÿÿÿÿ÷þþþ¤úûýFÿÿÿÿÿÿùúûCþþþŸÿÿÿòþþþÿÖàìÿš±Ñÿb†·ÿW|±ÿQv­ÿMq©ÿJn¦ÿHm£ÿGk¡ÿGk¡ÿFi ÿFi ÿEi ÿDi ÿDgžÿDgœÿHkžÿNr¤ÿSx«ÿV{®ÿW|°ÿX}±ÿY~³ÿZ´ÿY´ÿW}³ÿTy°ÿPu«ÿKp¦ÿGl£ÿDiŸÿBgžÿCiŸÿIo¤ÿPv¬ÿV{²ÿX}µÿW{³ÿUy°ÿRv®ÿPt­ÿNr«ÿJo©ÿFk¥ÿCi¢ÿFl¤ÿOt©ÿW|¯ÿY~°ÿV|­ÿSz¬ÿW~°ÿ^†¸ÿbˆ»ÿ]‚¶ÿTx­ÿNq§ÿNs¨ÿRx­ÿU|±ÿSz¯ÿOuªÿKr§ÿMs©ÿQx®ÿT{±ÿRy°ÿLsªÿ=_ÿ,Ehÿ#5ÿ-28ÿoswÿ¶½ÃÿêóûÿóýþÿèòüÿÙâëÿÛåîÿÜæïÿÛåïÿÚäïÿÙãîÿØãîÿ×áìÿÖáìÿÕàìÿÕàìÿÔßëÿÓÞëÿÓßëÿÒßëÿÑÞëÿÑÞëÿÐÝêÿÎÜéÿÍÛèÿÌÛèÿÌÚèÿËÚèÿÊÙçÿÉØçÿÉ׿ÿÈ׿ÿÇÖåÿÆÖåÿÆÕåÿÅÕåÿÄÕäÿÄÔäÿÃÓäÿÂÓãÿÁÒãÿÀÒãÿÁÒäÿÀÒäÿ¾Ðâÿ¾Ïâÿ½Ïâÿ¼Îáÿ»Îáÿ»ÏâÿºÎâÿ¹Íàÿ¶ÉÝÿÀÕéÿÇÝóÿÆÜòÿ¡³Æÿht€ÿ*.3ÿ ÿ ÿ ÿ ÿ%ÿ,ÿ!2ÿ+?ÿ"2Hÿ(:Sÿ+>Xÿ.B_ÿ-Baÿ/Egÿ2Jnÿ7Qwÿ;V}ÿ_ÿ=_ÿ@a”ÿGg›ÿLo¢ÿMq¦ÿHn¤ÿDk¢ÿCj¡ÿFm¤ÿLs©ÿPw¬ÿPw«ÿKr§ÿFl¢ÿDj ÿGm£ÿMs©ÿRy­ÿU{°ÿW|±ÿY~²ÿ\€´ÿX}°ÿRw«ÿQv©ÿV{®ÿ^‚´ÿ^ƒ´ÿZ±ÿTz¬ÿQw©ÿMs¦ÿIn¢ÿGl¡ÿMr¦ÿTz®ÿW|±ÿTy®ÿOsªÿMq¨ÿOsªÿUz¯ÿ[‚µÿ_‡ºÿn‘Áÿ¡¸×ÿØáîÿþþþÿÿÿÿëþþþ˜üýý?ÿÿÿÿÿÿüýý<þþþ’ÿÿÿåÿÿÿÿÜåïÿ¥»Öÿo‘½ÿZ~²ÿTw­ÿOs©ÿMq¨ÿLq§ÿJo¥ÿIm¤ÿHl£ÿJo¥ÿLq§ÿIo¤ÿDižÿBgšÿHlŸÿSw©ÿ[€²ÿ[³ÿUy®ÿPtªÿOt«ÿQw®ÿTz°ÿU{°ÿRy¯ÿPv¬ÿMsªÿIo¥ÿEj¡ÿChžÿFk¡ÿKr§ÿQx­ÿU|±ÿV|³ÿTy±ÿPt­ÿLp©ÿJo¨ÿKqªÿKq«ÿIn¨ÿFk¤ÿHl¤ÿLr§ÿPvªÿQwªÿOv¨ÿOv¨ÿS{­ÿ[‚´ÿ]„·ÿZ²ÿSt©ÿKn£ÿKn¢ÿNr§ÿPu©ÿMr¦ÿHm¡ÿFižÿIm¡ÿOs¥ÿT{®ÿRy­ÿJq¥ÿ<]‰ÿ,Ccÿ"2ÿ-17ÿoswÿ¸¾ÄÿëôüÿôýþÿêôýÿÛäíÿÛäîÿÜåïÿÛäîÿÚäîÿÙãíÿØâíÿØâíÿ×áíÿÖáìÿÕáìÿÕàëÿÔàëÿÓßêÿÓßêÿÒÞêÿÑÞêÿÑÞëÿÐÞêÿÎÜèÿÍÛèÿÍÚèÿÌÚèÿËÙèÿÊÙçÿÊØæÿÉ׿ÿÈ׿ÿÇÖæÿÆÖæÿÆÖæÿÅÕåÿÄÕåÿÄÔåÿÃÔäÿÃÓäÿÂÒäÿÂÓäÿÁÓäÿ¿Ñãÿ¾Ñãÿ¾Ðâÿ½Ïâÿ¼Îáÿ»ÎáÿºÎáÿ¹Íßÿ¶ÊÝÿÁÖêÿÉßõÿÉßöÿ¤¶Éÿkwƒÿ*/4ÿ ÿ ÿ ÿ ÿ ÿ%ÿ+ÿ%5ÿ+<ÿ"1Dÿ#3Hÿ$4Lÿ"3Lÿ#7Sÿ'=Zÿ.Ffÿ4Mnÿ8Ruÿ8Rwÿ7Szÿ7S|ÿ:Xƒÿ<\‰ÿ?`Žÿ@`ÿA`“ÿFd—ÿLl¡ÿOr§ÿLr¨ÿDk£ÿ>fžÿ?gžÿFn¤ÿNuªÿQx­ÿNuªÿJp¥ÿFl¢ÿHn£ÿKq¦ÿPuªÿSx­ÿV{°ÿY~²ÿ\´ÿY~±ÿRw«ÿOt©ÿTy­ÿZ²ÿ[²ÿV{®ÿRw©ÿPu§ÿNs¦ÿKp£ÿJo£ÿOu¨ÿU{®ÿVz®ÿQuªÿLo¦ÿKo§ÿOsªÿU{¯ÿ\‚µÿ_‡¹ÿp“Áÿ¤º×ÿÚãïÿÿÿÿÿÿÿÿåþþþ’üüý<ÿÿÿÿÿÿüüý6ÿÿÿˆþþþÛÿÿÿÿßçðÿ«ÀÙÿu”¿ÿZ~²ÿTx­ÿPtªÿMq¨ÿLq§ÿJo¦ÿIn¥ÿIn¥ÿKp§ÿLs©ÿJp¦ÿDjŸÿCh›ÿIn ÿUz¬ÿ^‚´ÿ]€´ÿTw­ÿMp¨ÿLp¨ÿOt«ÿSx®ÿTz¯ÿRx­ÿOu«ÿLr©ÿHn¤ÿEj ÿEj ÿHn¤ÿMt©ÿQy­ÿS{¯ÿSz¯ÿQv­ÿLqªÿHm§ÿGm§ÿIo©ÿKq«ÿKp©ÿJn§ÿKo¦ÿMs¨ÿNu©ÿNu©ÿLs§ÿMs§ÿQx«ÿV~±ÿZ³ÿY}°ÿRt¨ÿKm¡ÿHkÿJl ÿKn¢ÿIlŸÿEhšÿCe˜ÿFišÿMnžÿRv¦ÿPu¥ÿHlÿ:Xÿ+@^ÿ /ÿ-16ÿptwÿ¹¿ÄÿíõüÿõýþÿëôýÿÛäíÿÜåîÿÜåïÿÚäîÿÙäîÿÚãíÿÙãíÿØâíÿ×âíÿ×áìÿÖáìÿÕáëÿÔàëÿÓßëÿÒßëÿÒÞëÿÑÞëÿÑÞëÿÑÞêÿÏÜéÿÎÛéÿÍÚéÿÌÚéÿÌÙèÿËÙçÿÊØçÿÉØçÿÉ×çÿÈ×çÿÇÖæÿÆÖæÿÅÖæÿÅÕåÿÄÕåÿÄÔåÿÃÓäÿÂÓäÿÂÓåÿÁÓäÿÀÑãÿ¿Ñãÿ¾Ðâÿ½Ðâÿ½Ïâÿ¼Ïáÿ»Îáÿ¹Íßÿ·ÊÝÿÁÖêÿÉßôÿÉßõÿ¤·Éÿkwƒÿ+/4ÿ ÿ ÿ ÿ ÿ ÿ!ÿ%ÿ .ÿ$3ÿ):ÿ+=ÿ-Aÿ-Cÿ 1Iÿ$6Pÿ*?[ÿ/Ecÿ2Jiÿ2Jmÿ3Mqÿ5Puÿ8T}ÿ;Z„ÿ?_Œÿ@`ŽÿA`ÿDb”ÿJiÿOq¥ÿPtªÿIp¨ÿAh ÿ?fžÿEl£ÿNu«ÿSz¯ÿS{°ÿQx­ÿMt©ÿKq¦ÿKp¥ÿMr§ÿQv«ÿV{¯ÿZ³ÿ\´ÿX}±ÿQv«ÿMr§ÿPuªÿV{¯ÿX}°ÿV{­ÿSw©ÿPu§ÿNs¥ÿLq¤ÿLr¦ÿRx«ÿW|¯ÿVz­ÿPs¨ÿKm¤ÿKo¦ÿPtªÿW|°ÿ]„µÿaˆ¹ÿw™Äÿª¿ÚÿÝåðÿÿÿÿÿÿÿÿÛÿÿÿˆüüý6ÿÿÿÿÿÿûüý2þþþÿÿÿÔþþþþáèñÿ®ÁÙÿx—Áÿ[³ÿUy®ÿPtªÿLp§ÿKp¦ÿJp§ÿKq§ÿKq§ÿKr¨ÿKr©ÿHo¥ÿDk ÿDjžÿKq£ÿW|®ÿ_ƒµÿ]€´ÿTw­ÿLo§ÿKo§ÿOtªÿSy­ÿU{¯ÿRy­ÿNu«ÿJp§ÿFl£ÿEj¡ÿGm£ÿKr§ÿOw«ÿQx¬ÿPw¬ÿOv«ÿMrªÿJo¨ÿGl§ÿGl§ÿHn©ÿJpªÿLqªÿLqªÿMrªÿOu«ÿNuªÿLs¨ÿKq¦ÿLq¦ÿOuªÿTz®ÿX~²ÿX|°ÿSu¨ÿKmŸÿGhšÿFgšÿGi›ÿFfšÿBc•ÿAa’ÿDe•ÿJk™ÿPr ÿNqžÿGi–ÿ9U|ÿ*>Yÿ,ÿ-16ÿquxÿºÀÅÿîöýÿöýþÿëôýÿÜäíÿÜåîÿÝåïÿÛåïÿÚåîÿÚäíÿÙäíÿÙãíÿØãíÿ×âíÿÖâìÿÖáëÿÕáëÿÓàëÿÒßëÿÓÞëÿÒÞëÿÒÞëÿÑÞëÿÏÜéÿÏÜéÿÎÛéÿÍÚéÿÌÚèÿËÚèÿËÙçÿÊÙçÿÉØçÿÈØçÿÈ×çÿÇÖæÿÆÖæÿÅÕåÿÅÕåÿÄÕåÿÃÔäÿÃÓäÿÃÓåÿÂÓäÿÀÑãÿ¿Ñãÿ¿Ñâÿ¾Ðâÿ½Ðâÿ¼Îáÿ»Íàÿ¹ÌÞÿ¸ËÞÿÆÛðÿÒèþÿÓêÿÿ­¿Òÿp|ˆÿ,16ÿÿÿ ÿ ÿ ÿÿ"ÿ(ÿ,ÿ#2ÿ%5ÿ(:ÿ*=ÿ.Dÿ#4Lÿ(^‰ÿ@`ÿA`ÿAa‘ÿFg™ÿLo¤ÿQv¬ÿNu­ÿGn¦ÿDk¢ÿHo¦ÿOw¬ÿU}²ÿW€µÿX€µÿU|±ÿQw¬ÿMr¦ÿLr¦ÿPvªÿU{¯ÿY²ÿZ€³ÿV|°ÿOu©ÿJo¥ÿLq§ÿSx­ÿX}°ÿX}¯ÿV{¬ÿSw¨ÿOs¥ÿLq£ÿMt¦ÿT{¬ÿY~°ÿWz­ÿRt¨ÿMo¥ÿMp§ÿQu«ÿW}°ÿ^„µÿc‰¹ÿ}Åÿ°ÃÜÿßçðÿþþþþÿÿÿÔþþþûüý2ÿÿÿÿÿÿúûü,þþþvþþþÉþþþ÷ãéòÿ´ÅÜÿ~›Ãÿ]´ÿUy¯ÿPt«ÿLp¨ÿKp§ÿLr¨ÿNt«ÿNt«ÿLsªÿIp§ÿEl£ÿDj¡ÿGm¢ÿOu¨ÿY±ÿ_ƒ¶ÿ\´ÿSv­ÿKo§ÿKo§ÿPu«ÿUz¯ÿW}±ÿU{¯ÿOu«ÿHn¦ÿDj¢ÿDj¡ÿJp¦ÿOv«ÿRy®ÿQx¬ÿNt©ÿLq§ÿJo§ÿIn¨ÿIn©ÿIoªÿIoªÿJpªÿKqªÿMr«ÿOt¬ÿPv­ÿNu«ÿLs©ÿJp¦ÿKp¦ÿNs¨ÿRw«ÿU{®ÿWz­ÿTv§ÿLlžÿDd–ÿAa’ÿAb’ÿBa‘ÿ?^Žÿ>\ŠÿA`ŒÿFeÿLl–ÿKk”ÿCcŒÿ4Orÿ&9Rÿ*ÿ-05ÿrvxÿ»ÁÆÿï÷ýÿöýþÿìõýÿÜåîÿÜåïÿÝæðÿÛåïÿÚåîÿÛåîÿÚäîÿÙäîÿØãîÿØâíÿ×âìÿÖáìÿÕáëÿÔàëÿÓßìÿÓÞëÿÒÞëÿÓÞëÿÒÞëÿÐÜéÿÏÜéÿÎÛéÿÍÛéÿÌÚèÿÌÚèÿËÚçÿÊÙçÿÊÙçÿÉØçÿÈ׿ÿÈ׿ÿÇÖæÿÆÖåÿÅÕåÿÄÕåÿÄÔåÿÃÓåÿÃÓåÿÂÓåÿÁÒãÿÀÒãÿ¿Ñãÿ¿Ñãÿ¾Ðâÿ½Ïáÿ»ÍàÿºÌßÿºÍàÿÈÝòÿÑçýÿÐæüÿ¨ºÌÿmy„ÿ,15ÿ ÿÿ ÿ ÿ ÿ ÿ ÿ ÿ#ÿ(ÿ*ÿ .ÿ"2ÿ'9ÿ-@ÿ#4Jÿ%7Oÿ';Uÿ*>[ÿ/Gfÿ4Lmÿ8Rvÿ:V|ÿ>\…ÿ?_Šÿ?`ÿ>_ÿAc–ÿHl ÿQv¬ÿSz°ÿNv¬ÿJq¨ÿLs©ÿPx®ÿU~³ÿY‚¸ÿ\„¹ÿZ·ÿU{°ÿOt¨ÿLr¦ÿPvªÿT{¯ÿX²ÿW~²ÿSy­ÿLr§ÿGl¡ÿIn£ÿQvªÿX}¯ÿZ±ÿY}®ÿVzªÿRv§ÿNt¥ÿOv¨ÿT{¬ÿX}¯ÿX{®ÿUw«ÿPs¨ÿNr¨ÿPu©ÿV{®ÿ^ƒ´ÿi»ÿ‡¤Éÿ¸Êßÿäêòÿÿÿÿ÷ÿÿÿÉþþþvúûü,ÿÿÿÿÿÿùúû'þþþmþþþÀÿÿÿòåêòÿ·ÇÝÿÄÿ]´ÿSw®ÿPt«ÿMq©ÿLr©ÿNu«ÿQx®ÿQw­ÿLr©ÿGm¤ÿCi¡ÿEk¢ÿKq§ÿSz­ÿ[´ÿ^ƒ·ÿZ~´ÿRv®ÿKo¨ÿJo§ÿPv¬ÿV|±ÿZ€´ÿW}²ÿPu«ÿGm¤ÿBhŸÿDj¡ÿKq§ÿQx­ÿS{¯ÿQx¬ÿMr§ÿIn¤ÿHm¥ÿJo¨ÿLr¬ÿMs®ÿKr¬ÿJpªÿJp©ÿKqªÿNt¬ÿOv­ÿNu¬ÿLs©ÿKp¦ÿLp§ÿNs¨ÿQvªÿUy­ÿVz«ÿTu¦ÿKkœÿCb“ÿ>^ÿ?^ÿ?]Œÿ=[‰ÿ;X…ÿ?\‡ÿDa‰ÿIgÿGeÿ?]„ÿ1Jkÿ#5Mÿ'ÿ,04ÿrvyÿ¼ÂÆÿðøþÿ÷ýþÿíõþÿÝåîÿÝæïÿÞçðÿÜæïÿÛæïÿÛåîÿÚåîÿÚäîÿÙäîÿØãíÿ×âíÿ×áìÿÖáìÿÔàìÿÓàìÿÔßëÿÓÞëÿÓßëÿÓÞëÿÑÝêÿÐÝêÿÏÜéÿÎÜéÿÍÛèÿÌÛèÿÌÚèÿËÚèÿÊÙçÿÉÙçÿÉØæÿÈ׿ÿÈÖæÿÇÖåÿÅÖåÿÅÕåÿÄÕåÿÃÔåÿÄÔåÿÃÓåÿÁÒäÿÀÒãÿÀÑãÿ¿Ñãÿ¾Ðâÿ¾Ðâÿ½Ïáÿ½Ïâÿ»ÎáÿÃ×ëÿÀÕéÿµÈÛÿ‰—¦ÿQZcÿÿÿÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ!ÿ#ÿ+ÿ#3ÿ,?ÿ"1Hÿ&7Pÿ(^ˆÿ?_ÿ>_ÿ@b–ÿGj ÿPv¬ÿU}²ÿS{°ÿOw¬ÿOw­ÿRy¯ÿU}´ÿY‚¸ÿ]…»ÿ\ƒ¹ÿW|²ÿOt©ÿLr¦ÿOvªÿT|¯ÿW²ÿV~±ÿQx¬ÿJp¥ÿEk ÿHm¡ÿQv©ÿY~°ÿ[€²ÿZ~°ÿW|­ÿUz«ÿRx©ÿPw©ÿRy«ÿUz­ÿWz®ÿWz®ÿSv¬ÿOs©ÿNs¨ÿTy¬ÿ]‚³ÿl¼ÿ©Ëÿ¾ÎáÿæìòÿÿÿÿòþþþÀþþþmùúü'ÿÿÿÿÿÿøùûþþþ_þþþ²ÿÿÿëêïôÿ¾Ìßÿ…ŸÅÿ^²ÿPs«ÿOs«ÿOs«ÿQw¬ÿRy¯ÿT{°ÿRx®ÿKq§ÿDi¡ÿBgŸÿFk£ÿOuªÿW~±ÿ\„·ÿ^…¹ÿZ¶ÿSw¯ÿKo¨ÿIn¦ÿNt«ÿU|±ÿZ€µÿX}³ÿPu«ÿFk¢ÿ@fœÿBhŸÿJq§ÿRy®ÿU|±ÿSy®ÿNs¨ÿIn¤ÿGl¤ÿIo¨ÿMs­ÿOv°ÿMu®ÿJqªÿIo§ÿJp¨ÿLsªÿNu¬ÿNu«ÿMs©ÿLp§ÿMq¨ÿOt¨ÿQv¨ÿTy«ÿUx©ÿRs¤ÿIi˜ÿA_ÿ_ÿ>^ÿ?b–ÿGkŸÿQx¬ÿX³ÿX€³ÿT|°ÿSz¯ÿSz°ÿU}³ÿY·ÿ]…»ÿ\ƒ¹ÿU{°ÿLr§ÿIo¤ÿNt©ÿU{¯ÿY³ÿX~±ÿQw¬ÿJo¤ÿEjŸÿIn¡ÿRw©ÿY~±ÿZ€²ÿW}°ÿV|®ÿW}®ÿU|­ÿRy«ÿPv©ÿQv©ÿTx¬ÿWz¯ÿTx®ÿPuªÿNs§ÿTy«ÿ^‚²ÿs”¾ÿ—°ÐÿÇÕåÿìðõÿþþþëþþþ²þþþ_øúûÿÿÿÿÿÿ÷øúÿÿÿUÿÿÿ¨ÿÿÿåîòöÿÄÐáÿ‰¡Åÿ]}¯ÿLo¨ÿOrªÿQv¬ÿT{¯ÿU|±ÿT|±ÿPw­ÿHn¥ÿBgŸÿAfÿGl£ÿPw¬ÿY€´ÿ^†¹ÿ`‡»ÿ[‚¸ÿTy±ÿLp©ÿHn¦ÿLsªÿRy°ÿV}³ÿU{±ÿNs©ÿEj ÿ?cšÿ@eœÿHo¥ÿQx®ÿV~³ÿV|²ÿQw­ÿLq§ÿHn¥ÿHo§ÿLs¬ÿNv¯ÿNu®ÿKrªÿIo§ÿIo¦ÿKq¨ÿMtªÿNuªÿMs©ÿMq¨ÿOr©ÿPu©ÿQvªÿTyªÿUw¨ÿQs£ÿGh—ÿ@^ÿ;Y…ÿ;Y„ÿ;Wÿ9U~ÿ7Rxÿ:Sxÿ;Uwÿ=Wyÿ:Suÿ3Lmÿ';Wÿ*>ÿ ÿ,.2ÿtxzÿ¾ÄÈÿóúÿÿúþþÿï÷ÿÿßçïÿßçðÿßèðÿÜçïÿÜæïÿÜåïÿÛåïÿÛäîÿÚäîÿÙãíÿØãíÿØâìÿ×áìÿÕáìÿÔáìÿÕàìÿÔàëÿÔàëÿÓàëÿÒÞêÿÑÞêÿÐÝêÿÏÝéÿÎÜèÿÎÛèÿÍÚèÿÌÚèÿËÙèÿÊÙèÿÊØçÿÊØæÿÉØæÿÈ׿ÿÇÖæÿÆÖæÿÅÕåÿÄÕåÿÅÕæÿÄÕæÿÂÓäÿÁÒäÿÁÒäÿ¿Ñãÿ½ÏáÿÄÖéÿÈÛïÿÉÝñÿ²ÄÖÿŽœ¬ÿ\fpÿ8>Eÿ"ÿÿÿÿÿÿÿÿÿÿÿ ÿ ÿ ÿ ÿÿÿ ÿÿ"0ÿ .Bÿ$5Kÿ)^‹ÿ>^ÿ@c—ÿFkŸÿQx¬ÿZ´ÿ[ƒµÿY€´ÿV~²ÿU|±ÿU|²ÿY€¶ÿ\„ºÿZ‚·ÿRy®ÿIo¥ÿFl¢ÿMr§ÿUz®ÿ[€³ÿZ²ÿRw«ÿJo£ÿFjŸÿKp¢ÿUy¬ÿ[€²ÿY²ÿU{®ÿTz­ÿV}¯ÿU|®ÿQx«ÿMt§ÿLr§ÿPuªÿTy®ÿSx®ÿQvªÿOu¨ÿVz¬ÿ_ƒ³ÿw—ÀÿŸ¶ÓÿÎÚèÿðó÷ÿÿÿÿåÿÿÿ¨þþþUøùûÿÿÿþþþþþþFÿÿÿ™þþþÜôöùÿÎ×åÿ“§Éÿa±ÿKn¦ÿOsªÿSy®ÿX²ÿW~²ÿT{±ÿOu¬ÿGm¤ÿAgŸÿAfÿGl£ÿPv«ÿX³ÿ^†¹ÿ`ˆ»ÿ]„¹ÿU{²ÿMs«ÿJo¨ÿKrªÿNv­ÿQx¯ÿPv­ÿLp§ÿEhŸÿ?cšÿ@eœÿHo¦ÿRy°ÿX¶ÿY€¶ÿU{±ÿOv¬ÿJp§ÿHn§ÿIpªÿKs¬ÿLs¬ÿKq©ÿJp§ÿKq¦ÿLr¨ÿMtªÿNuªÿNtªÿNr©ÿOsªÿPt©ÿQu©ÿSw©ÿSu¦ÿOp ÿFe”ÿ=[ˆÿ8U€ÿ9U}ÿ8Syÿ7Puÿ4Moÿ5Nnÿ6Mkÿ6Mkÿ1Heÿ+A]ÿ 2Jÿ#5ÿ ÿ*.1ÿtwzÿ¾ÄÈÿòùÿÿøþþÿíõýÿÝåíÿÞæîÿßçïÿÝçïÿÜæïÿÝæïÿÜåïÿÜåïÿÛåïÿÛäîÿÙãíÿØâíÿ×âíÿÖáíÿÕáíÿÕáìÿÔàëÿÕáìÿÔàìÿÓßìÿÑÞëÿÑÝêÿÑÞêÿÐÝêÿÎÛéÿÍÚéÿÌÚéÿËÙèÿËÙèÿËÙçÿËÚèÿÊÙçÿÈØæÿÇ׿ÿÇÖæÿÆÕåÿÅÕåÿÅÖåÿÄÕåÿÃÓäÿÃÔåÿÂÓåÿÀÑâÿ½ÏàÿÇÚìÿÍáôÿÍáõÿ¬½Îÿs‹ÿ48>ÿÿÿ*/3ÿ>EKÿHOWÿEMTÿAHOÿAHOÿ@GOÿ@GOÿ?GNÿ>FNÿ@HPÿAIQÿCKSÿ=EMÿ07<ÿ"ÿ ÿ ÿ%ÿ):ÿ 0Dÿ%7Mÿ':Sÿ,B_ÿ/Fgÿ5Otÿ:V~ÿ>\‰ÿ=]ÿ?b”ÿDiÿPvªÿZµÿ^…¹ÿ^…¸ÿ[‚¶ÿW~²ÿU|±ÿW~´ÿZ‚¸ÿY€¶ÿPw­ÿGm£ÿDi ÿLo¦ÿVy®ÿ\³ÿ[~²ÿRvªÿIn¢ÿFjžÿMp£ÿW{­ÿ[€³ÿX~²ÿSz­ÿRy¬ÿT|®ÿT{®ÿOvªÿKr¦ÿJq¦ÿNs©ÿRx­ÿSy®ÿRy¬ÿRxªÿX}­ÿ`…³ÿ}œÃÿ©¾ØÿÙâíÿöøúÿþþþÜÿÿÿ™þþþFþþþþþþ ÿÿÿ:ÿÿÿÿÿÿÖúûüÿ×ßêÿœ¯Íÿg„´ÿLp¨ÿQu«ÿV{¯ÿ[€³ÿY²ÿTz°ÿOu¬ÿHn¦ÿDj¡ÿChŸÿFl¢ÿNt©ÿU|°ÿ\ƒ·ÿ`‡ºÿ]…¹ÿW}³ÿPu­ÿLqªÿLr«ÿMs«ÿMt¬ÿLrªÿIm¥ÿDh ÿ@eœÿBh ÿKr©ÿU|³ÿZ·ÿY·ÿV}³ÿQx¯ÿLrªÿIo¨ÿHn©ÿIoªÿIo©ÿIo§ÿJp§ÿLr¨ÿNu©ÿOv«ÿOv«ÿNtªÿMr©ÿMr©ÿOt©ÿPvªÿSy¬ÿTx¬ÿQt§ÿHišÿ@_ÿ;X…ÿ:Uÿ9Szÿ8Quÿ5Mmÿ5Ljÿ3Jfÿ2Idÿ.B]ÿ';Uÿ-Cÿ 0ÿ ÿ-04ÿ|€ƒÿËÑÖÿÿÿÿÿþþþÿþÿÿÿìõýÿèñùÿãìôÿÝæïÿÛåîÿÜåîÿÝæïÿÝæðÿÜæïÿÛåîÿÛåîÿÙãíÿØãíÿÖâíÿÖâíÿÖáìÿÕáìÿÕáìÿÕáìÿÔàìÿÓßìÿÒÞëÿÒÞëÿÑÝêÿÐÝêÿÎÛéÿÍÚéÿÌÚèÿÌÚèÿÌÚèÿÌÚèÿËÚçÿÊÙçÿÉØçÿÈØçÿÈ×çÿÇ׿ÿÅÕåÿÄÕäÿÄÕæÿÄÔåÿÃÓåÿÁÒãÿ¾ÏàÿÈÛíÿÏãöÿÍáôÿ¨¹Éÿht~ÿ+/3ÿÿ05:ÿdoyÿ‰˜¨ÿ–§¶ÿ °ÿ‡–¥ÿ‡–¦ÿ‡•¥ÿ†•¥ÿ…”¤ÿƒ“£ÿ†—§ÿˆ˜©ÿŒ¯ÿ€‘¡ÿerÿ9BHÿÿ ÿ ÿ$3ÿ,>ÿ#3Iÿ&8Oÿ*?\ÿ-Cbÿ3Lpÿ8S{ÿ=[‡ÿ<\Œÿ>_’ÿAe˜ÿLq¦ÿW~³ÿ^…¹ÿ`†»ÿ]„¸ÿX´ÿT{±ÿT|²ÿW~µÿV}´ÿOu«ÿFl¢ÿEiŸÿLo¦ÿVy®ÿ[~³ÿY}±ÿQu©ÿIm¡ÿGjÿMp£ÿW{­ÿ[€²ÿX~±ÿS{­ÿRz¬ÿT{®ÿSz®ÿOw«ÿLs¨ÿLs¨ÿOuªÿSy®ÿT{¯ÿT|­ÿT{¬ÿY€®ÿ`†³ÿ€ŸÃÿ°ÃÛÿàèñÿûüýÿÿÿÿÖÿÿÿÿÿÿ:þþþ þþþ(ÿÿÿ{þþþÍþþþÿæëòÿ¬¼Öÿq޹ÿOtªÿSx­ÿX}°ÿ]³ÿZ²ÿV{±ÿQw®ÿLrªÿHn¥ÿEj ÿFk ÿJo¥ÿQv«ÿW~²ÿ\ƒ·ÿ]ƒ·ÿX~´ÿQv®ÿLqªÿKp©ÿJp©ÿJp¨ÿJo§ÿHl¤ÿEj¢ÿDi¡ÿHn¥ÿPw®ÿW~´ÿY€¶ÿW~´ÿS{±ÿPw®ÿLr¬ÿJoªÿInªÿInªÿHm¨ÿGl¥ÿIn¥ÿMs¨ÿQw«ÿRy­ÿPw¬ÿMt©ÿKr¨ÿMr§ÿNt©ÿPu«ÿRx¬ÿRw«ÿPs¦ÿIhšÿA`Žÿ;Wƒÿ9T}ÿ8Quÿ7Npÿ4Jgÿ3Hcÿ0D]ÿ.AZÿ);Qÿ 1Gÿ%7ÿ'ÿ ÿ026ÿ€„ˆÿÐ×ÜÿÿÿÿÿþþþÿÿÿÿÿñúÿÿìôýÿåîöÿÞçðÿÜåîÿÝåïÿÞæðÿÝçðÿÝæïÿÜæïÿÛåïÿÙäîÿÙãîÿ×ãíÿÖâíÿÖáìÿÖáìÿÖáíÿÕáíÿÔàìÿÔßìÿÓßëÿÒÞëÿÑÞëÿÑÝëÿÎÜéÿÎÛéÿÍÛèÿÌÚèÿÌÚçÿÌÚèÿËÚèÿËÙèÿÊÙèÿÉØèÿÈ×çÿÈ׿ÿÅÕåÿÄÕåÿÄÔåÿÄÔæÿÃÔåÿÂÒãÿ¾ÏàÿÈÛíÿÐãöÿÌßòÿ§¸Èÿgr|ÿ/38ÿ&)-ÿT]fÿ™¨¸ÿÉÞóÿÕìÿÿÌâøÿ¾Óèÿ¿Óêÿ¾Óêÿ½Óéÿ¼ÒèÿºÐæÿ¿ÕíÿÁØðÿÆÞ÷ÿ¶Íäÿ¢´ÿR^hÿ"%ÿ ÿ ÿ,ÿ(9ÿ!0Dÿ%6Lÿ)=Xÿ,B`ÿ1Jlÿ7Qwÿb–ÿGl£ÿRx¯ÿ\ƒ¸ÿa‡¼ÿ_†ºÿX€µÿRz°ÿQy°ÿS{²ÿS{±ÿMs©ÿGl¢ÿFj ÿMq§ÿUz¯ÿZ~³ÿW|°ÿPt¨ÿJm¡ÿHjžÿMo£ÿUx«ÿX~°ÿV}¯ÿS{­ÿS{­ÿV}¯ÿU}°ÿSz®ÿQx¬ÿQw¬ÿSy®ÿV|±ÿW~²ÿW°ÿW®ÿZ‚¯ÿ_†³ÿ„¢ÅÿºËßÿìñöÿþþþÿÿÿÿÍÿÿÿ{ÿÿÿ(ÿÿÿþþþmþþþÆÿÿÿÿðó÷ÿ¸ÈÝÿy–¿þRx¬ÿUy­ÿY}¯ÿ]²ÿ[€²ÿX~²ÿUz±ÿQv­ÿKq§ÿGk¡ÿEiŸÿGk¡ÿKp¥ÿQw¬ÿW}²ÿ[€µÿY}³ÿRu¬ÿJn¦ÿGl¤ÿGl¥ÿHm¦ÿIn¦ÿIm¥ÿHm¤ÿIo¥ÿNs©ÿSy®ÿV}²ÿU}²ÿRz°ÿOw­ÿMs¬ÿKq«ÿKoªÿKo«ÿJnªÿGl¨ÿEj¤ÿGl¤ÿLq§ÿRw¬ÿTz®ÿQw¬ÿLs¨ÿJp¦ÿLr¨ÿPu«ÿQv«ÿRu©ÿMo ÿHg–ÿ?\ˆÿ8S}ÿ1Jrÿ/Flÿ-Cdÿ-B_ÿ+>Wÿ*ÿfpzÿ«¼ÎÿÙðÿÿâúÿÿÖíþÿÈÞõÿÉß÷ÿÊà÷ÿÉß÷ÿÈßöÿÆÝõÿËãüÿÍæþÿÓíþÿÂÛóÿ›®ÁÿYeoÿ $(ÿ ÿ ÿ*ÿ'7ÿ /Bÿ$5Kÿ)=Wÿ+A^ÿ0Hjÿ4Otÿ:W‚ÿb—ÿEk¢ÿPv­ÿ[·ÿ`†»ÿ^…¹ÿX´ÿQy¯ÿPx®ÿRz°ÿRy¯ÿMr¨ÿGl¡ÿFk ÿMr§ÿUz¯ÿY~³ÿW|°ÿQu©ÿLo¢ÿIkŸÿLn£ÿRu©ÿTz­ÿT{­ÿSz¬ÿT|­ÿW±ÿX€²ÿW~±ÿV|¯ÿW|¯ÿY}±ÿ[€´ÿZ‚´ÿZ‚²ÿY±ÿ\ƒ±ÿ_†´ÿ‡¤ÇþÁÐãÿóõùÿÿÿÿÿþþþÆþþþmÿÿÿÿÿÿÿÿÿZþþþ¸ÿÿÿÿûüýÿÆÓäÿ… ÅþSx­ÿTx¬ÿVz­ÿZ~°ÿZ±ÿZ³ÿX}²ÿTy¯ÿMr©ÿHl¢ÿEiŸÿDiŸÿEk¡ÿJp¦ÿQw¬ÿX|²ÿX{²ÿPsªÿGj¢ÿBfŸÿDh¡ÿFk¤ÿHm¥ÿJo¦ÿLr§ÿNs¨ÿPuªÿRw«ÿRx¬ÿQx¬ÿOw¬ÿLt«ÿJqªÿJo©ÿJnªÿKo«ÿKo«ÿHm¨ÿEj¤ÿFj£ÿKo¦ÿRv«ÿUz®ÿRx­ÿLs©ÿJp§ÿMtªÿSy¯ÿQt¨ÿJj—ÿ@Bÿ457ÿ235ÿCEGÿ€…ŠÿÅÍÓÿùýþÿýýþÿùþþÿêóüÿêôýÿëöþÿêõþÿéóýÿèóýÿèòýÿæñüÿåðüÿåïûÿäïûÿãîúÿäïûÿâîûÿàíúÿàìùÿàíúÿßìùÿÞëøÿÝêøÿÜêøÿÛé÷ÿÚé÷ÿÙè÷ÿÚé÷ÿÙè÷ÿ×çöÿÖæõÿÕæõÿÕåõÿÔäôÿÓãôÿÒãôÿÑâóÿÑâôÿÑâôÿÎßñÿÌÝïÿÖèûÿÜñþÿØíþÿµÆÖÿu€‹ÿ[…ÿDd‘ÿJlžÿKn¢ÿOs©ÿUz°ÿ^„·ÿaˆºÿ^…·ÿW²ÿRz¯ÿRz¯ÿT{±ÿSy¯ÿMs©ÿGm£ÿGl£ÿLq©ÿRx¯ÿU{²ÿSy¯ÿNtªÿJo¦ÿHl¤ÿJn¥ÿKp¦ÿKq¦ÿJq¥ÿKr¦ÿNvªÿRz®ÿRy­ÿQwªÿRv©ÿY{®ÿ_´ÿa…¸ÿ^ƒ·ÿZ´ÿZ€³ÿ]ƒµÿp‘¿ÿ¦»ØÿÜäïÿþþþÿþþþíÿÿÿ™ùúû?ÿÿÿÿÿÿûüý5ÿÿÿ‰þþþÝþþþÿßæðÿ¦¹Õÿkˆ·ÿLo¥ÿKn¤ÿLp¦ÿOs©ÿQv¬ÿRx®ÿRw­ÿNr©ÿIm¥ÿFj¢ÿEj¡ÿEk¢ÿIo¥ÿOuªÿUy®ÿTx­ÿMq¦ÿDi ÿBfžÿFj£ÿJn§ÿKo¨ÿLq¨ÿNs©ÿNt¨ÿMr¦ÿKq¥ÿNs¨ÿRx®ÿTz°ÿPv­ÿKq©ÿIn¨ÿJp©ÿKrªÿKs©ÿJr§ÿIp¦ÿJp¦ÿQu©ÿX|¯ÿ[€´ÿX~³ÿQx¯ÿOv®ÿQy°ÿV}´ÿIj˜ÿ0Fcÿ*ÿ(()ÿWXXÿ…‡‡ÿ¤¦§ÿª¬®ÿ¤¦¨ÿœž ÿŸ¢ÿž £ÿž¡£ÿž¡£ÿž¡¤ÿž¢¥ÿŸ¢¦ÿ ¤§ÿŸ£§ÿž¢¦ÿ•™ÿ”˜ÿ‹”ÿbeiÿ*+,ÿ ÿ8;=ÿ”™žÿåìôÿüÿÿÿíöþÿØàèÿÙáêÿÙáêÿ×àéÿÖßèÿÕÞèÿÔÞçÿÓÝçÿÓÜæÿÒÜæÿÒÜæÿÒÜæÿÑÜçÿÑÜèÿÑÜèÿÑÜèÿÑÝèÿÑÝèÿÑÝèÿÐÝèÿÏÜèÿÎÛèÿÎÛèÿÍÚèÿÌÚèÿËÙçÿÊÙæÿÉØæÿÈ×åÿÇÕäÿÆÔäÿÅÓâÿÄÒâÿÂÑáÿÁÐàÿ¿Ïßÿ¾ÍÝÿ»ÊÚÿÃÓäÿÉÚìÿÅÖèÿ¥´Âÿluÿ8ÿ„……ÿÉËËÿ÷ùûÿÿÿÿÿ÷úýÿêíñÿìïóÿíðôÿìðôÿìðôÿìðõÿìñõÿìñöÿíò÷ÿìò÷ÿìò÷ÿæìñÿëñ÷ÿàæìÿ³·¼ÿbehÿ#$%ÿ !"ÿX[^ÿ’—œÿª°¶ÿŸ¥ªÿ‘–›ÿ‘–œÿ‘–œÿ•›ÿ•›ÿŽ”šÿ“™ÿŒ’˜ÿ‹’˜ÿ‹’˜ÿ‹’˜ÿ‹’™ÿ‹’™ÿ‹“šÿŒ“›ÿŒ“›ÿŒ”›ÿŒ”›ÿŒ”œÿŒ”œÿ‹”œÿ‹“œÿŠ“œÿŠ“œÿ‰“›ÿ‰’›ÿˆ’›ÿ‡‘šÿ†šÿ…™ÿ…Ž˜ÿ„—ÿƒŒ—ÿ‚‹–ÿ‹•ÿ€Š”ÿ~‰“ÿ|‡‘ÿŒ—ÿ…œÿŒ˜ÿluÿDJPÿ&)-ÿ,05ÿ^hrÿ¬¼ÿÇÛïÿÍâ÷ÿÄØìÿ¸ËÞÿ¸Ìßÿ¹Ìàÿ¸Ìàÿ·ËßÿµÉÞÿºÎäÿ¼ÑçÿÁØîÿ±ÇÜÿŸ°ÿQ[eÿ!%ÿ ÿ ÿ,ÿ'8ÿ.Bÿ"2Iÿ';Uÿ*A^ÿ2Lnÿ:V{ÿFdŽÿLl™ÿQr¢ÿOq¥ÿOs¨ÿRw­ÿX~³ÿ]„¶ÿ\…·ÿZ‚µÿV³ÿV³ÿV~³ÿSz¯ÿKs©ÿEl¤ÿEk¤ÿKp©ÿQv¯ÿRx°ÿOu­ÿKq©ÿJp¨ÿKq©ÿNt«ÿNtªÿMs¨ÿKq§ÿLr¨ÿMuªÿOv¬ÿNuªÿMs¨ÿPt©ÿWy®ÿ\~³ÿ^¶ÿ\¶ÿZ€µÿ[´ÿgŠºÿ‹¦ËÿÀÏãÿëïöÿÿÿÿõÿÿÿÄþþþpúûü(ÿÿÿÿÿÿøùûþþþ^ÿÿÿ±ÿÿÿëðóøÿÆÒäÿ‡žÃÿWw©ÿEh ÿGk¢ÿJn¥ÿMq§ÿNr©ÿMq¨ÿJn¤ÿFj¡ÿGm£ÿLr¨ÿPw¬ÿRx­ÿSw­ÿSw¬ÿQuªÿKp¥ÿGk¡ÿGl£ÿJo§ÿLr«ÿLs«ÿKrªÿJq§ÿHo¤ÿHn£ÿLr§ÿTz®ÿX³ÿSz¯ÿJp¦ÿDj¡ÿFl¤ÿLrªÿPv®ÿPv¬ÿLs©ÿJq¦ÿJq¦ÿOuªÿV|°ÿ[¶ÿ[‚·ÿX€µÿV~´ÿWµÿXµÿIj˜ÿ2Hgÿ"+:ÿGJMÿ—˜˜ÿæççÿÿÿÿÿüüýÿüýþÿýýþÿýýþÿýþþÿýþþÿýþþÿþþþÿýýþÿýýþÿýýþÿþþþÿþþþÿþþþÿþþþÿþþþÿÝãéÿˆ‹ÿ8:<ÿ ÿÿ68:ÿJLOÿEGJÿ?ADÿ@BDÿ?ADÿ?ADÿ?BDÿ@BEÿ@CGÿAEIÿAEIÿ@DHÿ@DHÿ?CHÿ?BFÿ?BFÿ>BFÿ>AFÿ>AEÿ=AEÿ=ADÿ=ADÿ=@Dÿ<@Dÿ<@Dÿ<@Cÿ<@Dÿ<@Eÿ;@Eÿ;?Cÿ:>Cÿ:>Bÿ9=Bÿ9=Bÿ9=Bÿ9=Bÿ8=Aÿ8=Aÿ8Cÿÿ%6ÿ-ÿ(ÿ#ÿÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ!ÿ -ÿ&5ÿ->ÿ /Bÿ#4Kÿ%7Pÿ';Wÿ'=[ÿ)Aaÿ0Koÿ;XÿEcŠÿ@Z|ÿ-@Wÿ(ÿ*/5ÿenxÿ¡°¿ÿÊÝðÿÐã÷ÿÇÙíÿºÌßÿºÍàÿºÍàÿºÍàÿ¹Ìßÿ·ËÞÿ¼Ðåÿ½ÒèÿÄÚðÿ´ÈÝÿ °ÿS\fÿ!%ÿ ÿ ÿ)ÿ#4ÿ)>ÿ 1Hÿ(Xÿ/Dbÿ.Eeÿ)>^ÿ"3Lÿ%8ÿ'ÿ%ÿ(ÿ+ÿ(ÿ#ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿ ÿÿÿ ÿ ÿ$ÿ'6ÿ!/@ÿ%6Kÿ'9Oÿ*>Yÿ+@^ÿ-Dfÿ-Fiÿ1Lrÿ:XƒÿHi–ÿPrŸÿIgŽÿ4Jdÿ%2ÿ+17ÿdmvÿ ¯½ÿÉÜïÿÐäøÿÈÚîÿ»Íàÿ¼Îáÿ¼Îâÿ»ÎáÿºÍàÿ¸Ìßÿ½Ñæÿ¿ÔéÿÄÚðÿ´ÈÝÿ °ÿS\fÿ!%ÿ ÿ ÿ)ÿ#4ÿ)>ÿ0Hÿ';Vÿ+A`ÿ.Gkÿ/Iqÿ3O}ÿ9Vˆÿ@a—ÿFi¡ÿJpªÿKr¬ÿKq«ÿJqªÿMt«ÿQy­ÿT|¯ÿS{®ÿOx«ÿLs¨ÿKr¨ÿOtªÿUy®ÿY|±ÿW{¯ÿRv¬ÿMs©ÿKr¨ÿLr©ÿMsªÿLr©ÿIp¨ÿGm¥ÿFl¤ÿJp§ÿQv­ÿV|±ÿV}±ÿS{¯ÿRz¯ÿU|±ÿW|²ÿTy®ÿQtªÿOs§ÿY{¬ÿ’©ÊþÒÜêÿþþþÿþþþÿþþþ±ûüüRþþþÿÿÿ÷ùû<þþþ•þþþêÿÿÿÿÙàëÿž°Îÿe„´ÿOt«ÿPv«ÿPv«ÿPuªÿLq§ÿFl¡ÿBgœÿCižÿKr¥ÿSz­ÿU|¯ÿTz­ÿSy¬ÿU{¯ÿX}±ÿX~²ÿX~²ÿV|±ÿRx¯ÿNr«ÿHm¦ÿEj¢ÿEk¢ÿIo¦ÿQw­ÿV|³ÿU{²ÿPu«ÿJo¤ÿIn£ÿMq¨ÿOt¬ÿNr¬ÿIo¨ÿEl¥ÿFm¥ÿJr©ÿRy°ÿ[‚¸ÿ`‡¼ÿ_‡»ÿZƒ¸ÿT~´ÿPz±ÿOw°ÿAc“ÿ-Deÿ)8ÿ@BEÿ‰‰‰ÿÐÐÐÿÿÿÿÿýýþÿÿÿÿÿóöøÿô÷ùÿô÷ùÿóöùÿñôøÿðó÷ÿïó÷ÿïò÷ÿîò÷ÿîò÷ÿðõúÿîóøÿ÷ýþÿîôúÿÌÑÖÿ€ƒ‡ÿ356ÿ ÿ ÿ(ÿ$5ÿ,Aÿ$5Mÿ+>Zÿ/Ffÿ-Ehÿ';[ÿ)>ÿ ÿÿ!#%ÿ/26ÿ48>ÿ15:ÿ-16ÿ,05ÿ,04ÿ+/2ÿ+.2ÿ+.1ÿ*-1ÿ),0ÿ),/ÿ(+.ÿ+/1ÿ-15ÿ*-/ÿ "ÿÿ ÿÿ'7ÿ"2Fÿ'9Pÿ(;Tÿ+@]ÿ+Aaÿ-Eiÿ.Gnÿ2Oxÿ>]‹ÿLoŸÿUy©ÿMl•ÿ6Miÿ'4ÿ,28ÿdmvÿ ¯½ÿÉÜïÿÑäøÿÈÛïÿ¼Íàÿ¼Ïáÿ½Ïâÿ¼Ïáÿ»Îàÿ¹Ìßÿ¾ÒæÿÀÕéÿÅÛðÿµÉÝÿ °ÿS\fÿ!%ÿ ÿ ÿ*ÿ$5ÿ*?ÿ/Gÿ%9Uÿ*@_ÿ.Hkÿ1Krÿ6Rÿ;Y‹ÿCd™ÿHl¤ÿLs¬ÿLs­ÿKq¬ÿJpªÿKrªÿOw¬ÿS{¯ÿU}°ÿU}±ÿSz°ÿQw­ÿPu¬ÿSv¬ÿVy®ÿWz®ÿTy­ÿPv«ÿNu«ÿNu«ÿOu¬ÿMs«ÿKq©ÿIo§ÿIo§ÿLrªÿQw®ÿT{°ÿT|°ÿU|¯ÿW~²ÿ[µÿ\µÿX|±ÿRv«ÿOt¨ÿj‰µÿ¦¹Óÿàæðÿÿÿÿÿÿÿÿêþþþ•øùû<ÿÿÿÿÿÿúúü.ÿÿÿþþþÔþþþÿäèðÿ°¿Öÿu‘ºÿRvªÿLq§ÿMr§ÿNs¨ÿMq¦ÿGk¡ÿAfœÿBhÿIp¤ÿRy¬ÿV|°ÿV|°ÿW}°ÿZ²ÿ\´ÿ\´ÿZ€³ÿW}±ÿSx¯ÿMrªÿHm¥ÿEk¢ÿGm£ÿLr¨ÿRy¯ÿV}³ÿT{±ÿNtªÿHo¤ÿHn£ÿKq¨ÿNs¬ÿMr¬ÿIo©ÿEl¦ÿEm¦ÿJq©ÿRy°ÿZ·ÿ`‡»ÿ_ˆ»ÿ[„¹ÿVµÿS{³ÿQy²ÿBc“ÿ-Ceÿ(7ÿ@BFÿ‰‰‰ÿÐÐÑÿÿÿÿÿýýþÿþþþÿôöøÿô÷ùÿô÷ùÿóöùÿòõøÿñôøÿðóøÿïó÷ÿîò÷ÿîó÷ÿñöúÿîóøÿøýþÿïôúÿÍÑÖÿ€ƒ‡ÿ456ÿ ÿ ÿ'ÿ#4ÿ+?ÿ#4Lÿ*>Yÿ.Edÿ,Deÿ$8Uÿ"5ÿÿ*,-ÿOSVÿosxÿx}‚ÿrw|ÿinsÿjotÿkptÿjptÿjpuÿjpuÿjouÿjouÿiouÿgmsÿov|ÿu|‚ÿmtzÿNSWÿ(*,ÿ ÿ ÿ&7ÿ#3Gÿ':Rÿ(;Uÿ+?]ÿ*@aÿ,Ehÿ.Gnÿ3Oyÿ>^‹ÿMoŸÿTx¨ÿKj“ÿ5Kgÿ&4ÿ,28ÿdmvÿ ¯½ÿÊÝïÿÑåøÿÇÚîÿ»Íßÿ¼Îàÿ¼Ïáÿ»ÎàÿºÍàÿ¸Ìßÿ½Ñåÿ¿ÔèÿÆÛðÿµÉÝÿ °ÿS\fÿ!%ÿ ÿ ÿ*ÿ%6ÿ+@ÿ/Gÿ$8Tÿ)?^ÿ/Ilÿ2Mtÿ7Uÿ=[ŒÿDf›ÿJn¥ÿMs­ÿLs®ÿLr¬ÿKqªÿMs«ÿPx­ÿU}°ÿY³ÿ[ƒ¶ÿY€µÿTz±ÿOt«ÿNs©ÿQuªÿTx¬ÿTy­ÿRx¬ÿQw­ÿPw­ÿPv­ÿNt¬ÿMsªÿMrªÿMr«ÿOt­ÿPw®ÿQy®ÿRz®ÿV}¯ÿ\´ÿb…¸ÿa„¸ÿ[³ÿUy®ÿX|¯ÿ|˜Àÿ¶ÆÜÿéîõÿþþþÿÿÿÿÔÿÿÿúûü.ÿÿÿÿÿÿ÷øúþþþ^þþþ³ÿÿÿìòôøÿÉÓãÿŒ¢Åÿ]~®ÿIn¤ÿKo¥ÿMq¦ÿMp¥ÿFj ÿAe›ÿBhœÿJp¤ÿSz­ÿW~²ÿX³ÿY€´ÿ]ƒ¶ÿ_…¶ÿ]ƒµÿ[´ÿX~²ÿTz°ÿOt¬ÿIo¦ÿFm¤ÿJq¦ÿPw«ÿV}±ÿV~³ÿRy¯ÿLs©ÿHo¤ÿIo¥ÿLr©ÿNs¬ÿLq¬ÿHnªÿEk§ÿFl§ÿJp©ÿQx¯ÿYµÿ^†¹ÿ_‡ºÿ\…¹ÿY·ÿV}¶ÿSz´ÿCd”ÿ-Ceÿ(7ÿ@BFÿ‰‰ŠÿÐÑÑÿÿÿÿÿýýþÿþþþÿôöøÿõ÷ùÿõ÷úÿôöùÿòõøÿñõøÿðôøÿïó÷ÿïó÷ÿïó÷ÿñöúÿïôøÿùþþÿïôúÿÍÑÖÿƒ‡ÿ456ÿ ÿ ÿ)ÿ$6ÿ,Bÿ$6Oÿ,@]ÿ1Hhÿ.Fgÿ%:Wÿ$6ÿÿGJLÿ…Šÿ¸ÀÈÿÇÐØÿ½ÅÍÿ¯·¿ÿ±¹Áÿ±ºÂÿ±ºÂÿ±¹Âÿ°¹Âÿ°¹Âÿ¯¹Âÿ®¸Áÿ¬µ¿ÿ¹ÃÎÿÂÍØÿµÀÊÿ‚Š‘ÿBFJÿÿ ÿ(:ÿ$5Lÿ)=Wÿ*?[ÿ-Cbÿ.Efÿ0Ioÿ1Muÿ6TÿAb’ÿOr¦ÿUy­ÿJj–ÿ4Kiÿ&4ÿ,19ÿdmvÿ¡¯½ÿÊÝïÿÒåùÿÉÜïÿ¼Îßÿ½Ðáÿ½Ïáÿ½Ðâÿ»ÍàÿºÍàÿ¾ÑåÿÀÔèÿÆÜñÿ¶ÊÝÿ‘ ±ÿS\fÿ!%ÿ ÿ ÿ+ÿ&7ÿ+@ÿ/Gÿ%8Tÿ*@^ÿ0Jlÿ3Ntÿ7U€ÿ<\‹ÿDfšÿIn¥ÿMt­ÿMt®ÿMs­ÿLs«ÿOv¬ÿRz¯ÿW²ÿ[ƒµÿ]…¸ÿ[‚¶ÿU{±ÿNt«ÿKp§ÿMq§ÿOs©ÿQuªÿQv«ÿQw¬ÿQx­ÿPw­ÿOu¬ÿOt¬ÿOt¬ÿPu­ÿPv®ÿNu­ÿNv¬ÿQx¬ÿY~°ÿa…¶ÿg‰»ÿd‡ºÿ^¶ÿX|±ÿh‰¸ÿ”¬ÍÿÏÚéÿõ÷úÿÿÿÿìþþþ³þþþ^øùûÿÿÿþþþþþþBþþþ—þþþßüüüÿÜâìÿŸ²Ïÿf…³þIm¤ÿKn¥ÿMp¦ÿMn¥ÿEhŸÿAešÿDjÿMs¦ÿV}°ÿY€´ÿY€µÿ[¶ÿ^…¸ÿ_…¸ÿ]ƒ¶ÿ[´ÿX~³ÿU{±ÿOu­ÿJp§ÿIo¥ÿMt©ÿT{¯ÿY€³ÿW~²ÿPx­ÿJq§ÿGo¤ÿJq§ÿNt«ÿNt¬ÿKq«ÿHm©ÿEj§ÿFl§ÿJp©ÿQx®ÿX€³ÿ]…·ÿ^†¹ÿ]…¹ÿZ‚¸ÿX·ÿU|¶ÿDe—ÿ-Ceÿ(7ÿ@CFÿ‰‰ŠÿÑÑÑÿÿÿÿÿýýþÿþþþÿõ÷ùÿöøúÿö÷úÿõ÷ùÿóöøÿòõøÿñõøÿðô÷ÿðó÷ÿïó÷ÿòöúÿïôøÿùþþÿðôûÿÍÑÖÿ„‡ÿ456ÿ ÿ ÿ)ÿ$7ÿ,Bÿ$6Oÿ-A^ÿ1Hiÿ/Ghÿ&:Xÿ%8ÿ'ÿX\_ÿ¥«²ÿäí÷ÿóýýÿæðûÿÖßèÿ×áêÿ×âëÿÖáëÿÖàêÿÕßêÿÔßéÿÓÞéÿÑÝèÿÎÚåÿÞë÷ÿèöþÿÛèôÿ§°ÿPUZÿÿ!ÿ(;ÿ$5Mÿ)=Yÿ+@]ÿ.Eeÿ/Giÿ2Mrÿ5Qxÿ9W‚ÿBc’ÿMp¤ÿQu©ÿFe’ÿ1Gfÿ%3ÿ,17ÿdmvÿ¡¯½ÿËÝïÿÒæùÿÊÜïÿ¼Îßÿ¾Ðáÿ½Ðáÿ½Ðâÿ»ÎáÿºÍàÿ¾ÑåÿÀÔèÿÇÜñÿ¶ÊÞÿ‘¡±ÿS]fÿ!%ÿ ÿ ÿ+ÿ&7ÿ+@ÿ/Gÿ%8Tÿ*@^ÿ0Ilÿ2Msÿ7Tÿ;[‰ÿDf™ÿIn¤ÿMu¬ÿMu®ÿNv­ÿNu¬ÿPx­ÿS{°ÿW³ÿZƒ¶ÿ\ƒ·ÿY€µÿSz¯ÿMsªÿJp¦ÿJo¦ÿKp¦ÿMq§ÿNs©ÿPu«ÿQx­ÿQx®ÿQw®ÿQw®ÿQw®ÿPv®ÿNu®ÿLs«ÿLsªÿQx¬ÿ[€±ÿd‡·ÿiŒ¼ÿeˆ»ÿ^‚·ÿY~³ÿq‘¾þ¨¼×ÿàçðÿþþþÿÿÿÿßÿÿÿ—þþþBþþþÿÿÿþþþrþþþÈÿÿÿÿóõøÿºÈÝÿy”½þIn¥ÿKo¦ÿLp§ÿKn¤ÿEhžÿCf›ÿHm ÿRw©ÿY²ÿZ€´ÿXµÿY€¶ÿ^„¹ÿ`†ºÿ^„¸ÿ\‚·ÿYµÿTz±ÿMs«ÿIn¥ÿHo¤ÿOv©ÿW~°ÿ[´ÿV|°ÿMs©ÿGm£ÿGn¤ÿKr¨ÿOv­ÿOu­ÿKq«ÿHm¨ÿFk¦ÿGl¦ÿKp¨ÿQx­ÿX²ÿ\„¶ÿ]…¸ÿ\ƒ·ÿ[‚¸ÿX·ÿU}¶ÿDf—ÿ.Deÿ(7ÿACFÿŠŠŠÿÑÑÑÿÿÿÿÿýýþÿþþþÿõ÷ùÿöøúÿöøúÿõ÷ùÿóöøÿòõøÿòõøÿñô÷ÿðô÷ÿðô÷ÿò÷ûÿðôùÿùþþÿðõûÿÍÒÖÿ„‡ÿ456ÿ ÿ ÿ-ÿ':ÿ.Eÿ%7Rÿ-Baÿ3Klÿ1Jlÿ'=Zÿ&:ÿ (ÿ]`dÿ­´¼ÿïùÿÿþþþÿôþÿÿâìõÿãî÷ÿäîøÿãíøÿâíøÿáì÷ÿáì÷ÿßêöÿÝéôÿÚæñÿëøþÿöþþÿçôÿÿ¦°ºÿUZ`ÿÿ%ÿ+@ÿ&8Rÿ+@^ÿ.Dcÿ1Jkÿ3Loÿ6Rxÿ9V~ÿ=\†ÿDe•ÿJn¢ÿKo¥ÿA`Žÿ/Ddÿ#2ÿ+17ÿemvÿ¡¯½ÿËÝðÿÓæùÿÊÝïÿ½Îàÿ¾Ñâÿ¾Ðâÿ¾Ðãÿ¼Îáÿ»Íáÿ¿ÒæÿÁÕéÿÇÝñÿ¶ËÞÿ‘¡±ÿT]fÿ"%ÿ ÿ ÿ,ÿ&7ÿ*?ÿ/Fÿ&9Tÿ+@^ÿ0Hkÿ1Kqÿ5R}ÿ<[‡ÿEg™ÿKp¥ÿOw­ÿOx¯ÿQy¯ÿQx®ÿRy®ÿSz¯ÿT|±ÿW~´ÿX´ÿW~³ÿRy®ÿMt©ÿIp¦ÿHn¥ÿGl¤ÿHl¤ÿKo¦ÿNs©ÿRw­ÿSy¯ÿSy°ÿTz°ÿTz°ÿQx¯ÿMu¬ÿJrªÿMsªÿSx­ÿ]²ÿeˆ¸ÿi‹»ÿc‡ºÿ^ƒ·ÿY´ÿƒŸÇþ¿ÍáÿôöùÿþþþÿþþþÈþþþrÿÿÿþþþûüüYþþþ·ÿÿÿÿþþþÿÊÖåÿŠ¢ÆþRu«ÿKp¨ÿLp¨ÿIl¤ÿEhŸÿEhÿMp£ÿVz¬ÿZ€²ÿX²ÿV|²ÿV}³ÿ[·ÿ^„ºÿ_…ºÿ^„¹ÿZ€·ÿSy°ÿJp¨ÿEj¡ÿFk ÿNs§ÿW|¯ÿY²ÿTz®ÿKp¦ÿEk¢ÿGm¤ÿLsªÿPw¯ÿOu®ÿKq«ÿHn¨ÿGl¦ÿHm¦ÿKq§ÿQw¬ÿX~²ÿ\ƒ¶ÿ]„¸ÿZ¶ÿY€¶ÿW~µÿT}´ÿDf–ÿ.Ddÿ(6ÿACFÿŠŠŠÿÑÑÑÿÿÿÿÿþþþÿþþþÿõøùÿöùúÿöùúÿõøúÿôöùÿóõøÿòõøÿñõ÷ÿñô÷ÿðôøÿó÷ûÿðõùÿúþþÿñ÷ûÿÍÒÖÿ„‡ÿ457ÿ ÿ ÿ!1ÿ*?ÿ 0Iÿ&8Uÿ.Ccÿ4Lnÿ3Loÿ*@^ÿ(<ÿ )ÿadhÿµ»Âÿúÿÿÿýýþÿÿÿÿÿìöÿÿîøÿÿîùÿÿíøÿÿì÷ÿÿë÷ÿÿëöÿÿéõþÿçóþÿäðüÿõþþÿþþþÿðþÿÿ¬·ÀÿX^cÿÿ*ÿ 0Gÿ)\Šÿ,Bbÿ"1ÿ+17ÿenvÿ¢°¾ÿÌÞðÿÔæùÿËÝïÿ½Ïàÿ¿Ðâÿ¾Ðâÿ¾Ðãÿ¼Îáÿ»Íáÿ¿ÒæÿÁÕéÿÈÝñÿ·ËÞÿ’¢±ÿT]fÿ"%ÿ ÿ ÿ,ÿ%7ÿ*?ÿ/Fÿ&9Tÿ*@^ÿ/Giÿ0Ioÿ4Pzÿ=Z†ÿGi™ÿMr¥ÿQy®ÿQz°ÿS|°ÿT{¯ÿSz¯ÿRy®ÿQx¯ÿRy°ÿT{±ÿT{±ÿQx­ÿMt©ÿIo¦ÿFk£ÿDh ÿDh ÿHl£ÿMr¨ÿQv¬ÿRw®ÿSx¯ÿTz°ÿU|±ÿRy¯ÿNu¬ÿKrªÿNt«ÿUz®ÿ\²ÿb†¶ÿdˆ¹ÿa†¹ÿ]ƒ·ÿ`…¸ÿ’«ÍþÎÙèÿÿÿÿÿÿÿÿÿþþþ·ûüýYÿÿÿÿÿÿ÷ùú;ÿÿÿ–þþþëþþþÿÝäîÿ£·Òÿgˆ¶ÿJp¨ÿKp¨ÿHm¤ÿEjŸÿGjŸÿOr¥ÿW{¬ÿY°ÿU|¯ÿRx­ÿRx¯ÿW}´ÿ\ƒ¹ÿ_…»ÿ_†»ÿ[‚¸ÿRy¯ÿHn¥ÿAgÿBgœÿKp¤ÿTy¬ÿW|°ÿQw¬ÿIn¦ÿEk£ÿHn¦ÿNt­ÿQw°ÿNt®ÿJp«ÿHo©ÿHn§ÿIo§ÿLq¨ÿRw¬ÿX~²ÿ\ƒ¶ÿ[ƒ¸ÿX€µÿWµÿV}´ÿT{²ÿCe“ÿ,Bcÿ'6ÿACFÿŠŠŠÿÑÑÑÿÿÿÿÿýýþÿþþþÿöøúÿ÷ùûÿöùûÿöøúÿôöùÿóöùÿóöøÿòõøÿñõøÿñõøÿó÷ûÿñõùÿúþþÿò÷üÿÍÒÖÿ„†ÿ567ÿ ÿ$ÿ':ÿ 0Hÿ$6Qÿ)=[ÿ0Fhÿ6Ptÿ7Puÿ-Ddÿ+@ÿ",ÿfikÿ½ÃÈÿÿÿÿÿýýþÿýýþÿöýþÿøýþÿøýþÿ÷ýþÿöýþÿõýþÿõýþÿôýþÿòýþÿîûþÿýýþÿýýþÿüÿÿÿ´¿Æÿ]cfÿ"ÿ"1ÿ&8Rÿ.Deÿ2Jnÿ4Lqÿ8Ryÿ:V|ÿ>]„ÿ?_ˆÿ@`ŒÿAd–ÿBgÿCh ÿ>]Œÿ-Cdÿ"1ÿ+18ÿfnvÿ£°¾ÿÍÞðÿÔçùÿÌÝïÿ¾Ïàÿ¿Ñãÿ¾Ðãÿ¾Ðãÿ½Ïáÿ¼ÎáÿÀÓæÿÂÕéÿÈÝòÿ·ËÞÿ’¢±ÿT^fÿ"%ÿ ÿ ÿ-ÿ&7ÿ+?ÿ 0Fÿ':Uÿ+@_ÿ/Gjÿ0Ioÿ5Pzÿ>[‡ÿIj›ÿPt§ÿSz¯ÿS|°ÿU}±ÿV}±ÿU{°ÿQx®ÿMt¬ÿMt­ÿOv¯ÿRx¯ÿPv¬ÿLr¨ÿGm¤ÿChŸÿ@cœÿ@dœÿFj¡ÿLq¨ÿPu«ÿOu«ÿPu¬ÿSx®ÿV|²ÿT|±ÿPw­ÿMt«ÿPv­ÿU{¯ÿ[€²ÿ_„´ÿ`†¶ÿ^„·ÿ\‚·ÿu•Âÿª¾Ùÿáçñÿþþþÿþþþëÿÿÿ–øùû;ÿÿÿÿÿÿùúû*ÿÿÿyÿÿÿÑÿÿÿÿêîôÿ»ÊÞÿ}™ÀÿUy®ÿKq¨ÿHn¤ÿEk ÿGlŸÿMr¤ÿUzªÿW}®ÿSy«ÿOvªÿPv¬ÿU{²ÿ[‚¸ÿ^…»ÿ^†»ÿZ‚·ÿRy¯ÿGm¤ÿAfœÿAf›ÿJn¢ÿSw«ÿU{¯ÿPv¬ÿIo§ÿGl¦ÿJo©ÿOt®ÿPv°ÿMs®ÿJp«ÿIoªÿHo¨ÿIp§ÿLr¨ÿRx¬ÿX~²ÿ[ƒ·ÿ[„¸ÿW€¶ÿWµÿV~³ÿS{°ÿBc’ÿ+Abÿ'6ÿACFÿŠŠ‰ÿÑÑÐÿÿÿÿÿýýþÿþþþÿ÷øúÿ÷ùûÿöùûÿõøúÿôöùÿóöøÿóõøÿòõøÿñõ÷ÿñõøÿó÷ûÿñõùÿúþþÿñöûÿÍÑÕÿ„†ÿ567ÿ ÿ)ÿ+@ÿ$5Oÿ(;Xÿ-Aaÿ3Jmÿ8Rxÿ9Szÿ/Fgÿ*?ÿ$ÿ[]^ÿª®°ÿëòöÿþÿÿÿñûÿÿßéñÿáêôÿáëôÿàêôÿàêôÿßéóÿÞéóÿÞéóÿÜçòÿÙäïÿéöÿÿõÿÿÿâïöÿ¢«°ÿSX[ÿÿ#2ÿ+>Yÿ4Kmÿ7Pwÿ6Pwÿ9U~ÿ`ÿ>b•ÿAfœÿEi¢ÿ?_Žÿ/Ffÿ#2ÿ+18ÿfnwÿ£±¾ÿÍßðÿÕçùÿÌÞïÿ¾ÏàÿÀÑãÿ¿Ðãÿ¿Ñãÿ½Ïáÿ¼ÏáÿÀÓæÿÂÖéÿÉÝòÿ¸Ëßÿ“¢±ÿU^fÿ"%ÿ ÿ ÿ+ÿ'7ÿ-Aÿ!2Iÿ(aŽÿ@d—ÿDj¡ÿJp§ÿDd“ÿ2Jiÿ%4ÿ+28ÿfowÿ¤±¿ÿÎßðÿÕçùÿÌÞïÿ¿ÏàÿÁÒãÿÀÑãÿÀÒäÿ¾Ðáÿ½ÏáÿÁÔæÿÃ×êÿÉÞòÿ¹Ìßÿ“¢²ÿU]fÿ"%ÿ ÿÿ -ÿ(8ÿ/Bÿ$5Kÿ+?Zÿ/Ecÿ4Loÿ4Ntÿ8Tÿ>]‹ÿGišÿMq¤ÿQw¬ÿSz¯ÿV|²ÿW}³ÿU{²ÿQw¯ÿLs¬ÿJq«ÿJp«ÿJqªÿJp¨ÿHn¥ÿEk¢ÿAfžÿ>b›ÿAdÿJm¤ÿQv«ÿQw¬ÿLr¨ÿJo¦ÿMs©ÿSz±ÿU|³ÿR{±ÿPx®ÿQy¯ÿV}²ÿ]„¶ÿ^…·ÿ\ƒµÿX~²ÿlºÿŸ´ÒÿÛâîÿûüýÿÿÿÿèÿÿÿ¨þþþQõ÷úÿÿÿþþþÿÿÿ2ÿÿÿˆÿÿÿ×ÿÿÿÿîñöÿ²ÂÙÿr»þMr¨ÿJp¦ÿFk¡ÿEjžÿGm ÿMs¥ÿRx©ÿQw©ÿOu©ÿQw­ÿW}´ÿ\ƒ¹ÿ\ƒ¹ÿY€¶ÿS{±ÿLs«ÿEk¤ÿBgŸÿChžÿKo¤ÿRw«ÿTy®ÿOu¬ÿJp¨ÿJo¨ÿMr«ÿOu¯ÿOv°ÿMt¯ÿKr­ÿJq¬ÿIo©ÿHn§ÿKq¨ÿQw¬ÿW²ÿ[ƒ¶ÿZ„·ÿX¶ÿY·ÿX€µÿU|²ÿDd“ÿ+Acÿ'7ÿBDHÿ‹‹‹ÿÓÓÓÿÿÿÿÿýýþÿþþþÿüüþÿüþÿÿüýÿÿûýþÿùûýÿøûýÿøúýÿ÷úüÿöùüÿöùüÿùüÿÿöúýÿÿÿÿÿ÷üþÿÐÔ×ÿƒ…‡ÿ678ÿ ÿ"5ÿ"4Pÿ)?_ÿ/Fhÿ4Knÿ9Syÿ=ZƒÿABÿ !"ÿ ÿ)=ÿ0Fgÿ:T}ÿ=Z†ÿ;Y„ÿ<]Šÿ>^‹ÿ@aÿ@bÿ@b‘ÿDiœÿKq§ÿPw­ÿJj˜ÿ6Llÿ&5ÿ,28ÿfnwÿ¤±¿ÿÎàðÿÖèùÿÍÞðÿ¿ÐàÿÁÒãÿÁÒãÿÁÒäÿ¾Ðâÿ½ÐáÿÁÔæÿÃ×êÿÊßóÿ¹Ìßÿ”¢±ÿU]fÿ"%ÿ ÿÿ!.ÿ*:ÿ 0Dÿ$6Lÿ,@[ÿ0Fdÿ4Mpÿ5Ovÿ9Vÿ>]ŒÿGi›ÿMr¥ÿRw¬ÿTz¯ÿV|²ÿV|³ÿTz²ÿQw¯ÿMs­ÿKq«ÿIpªÿHo¨ÿGn¥ÿGn¤ÿGm¤ÿEj¢ÿCgŸÿFi¡ÿMq¨ÿTy¯ÿU{°ÿPv¬ÿMs©ÿMsªÿQx°ÿRy²ÿPx±ÿOw¯ÿRz¯ÿY€´ÿ`‡¹ÿa‡¹ÿ\‚µÿU{¯ÿt’»þ²ÂÙÿîñöÿÿÿÿÿÿÿÿ×ÿÿÿˆÿÿÿ2þþþþþþüüýaþþþ¸þþþÿÿÿÿÿÍ׿ÿŒ£ÇþUx¬ÿKp¦ÿFl¢ÿCižÿFl ÿLr¥ÿRw©ÿRwªÿPvªÿRx­ÿX~´ÿ\‚¸ÿ[¶ÿV|³ÿOu­ÿHn¨ÿCh¢ÿ@fžÿBgžÿIo£ÿPv©ÿRw¬ÿNtªÿJp¨ÿKp©ÿOt­ÿQx°ÿPx±ÿNv¯ÿLs®ÿKr¬ÿIo©ÿGm¦ÿJp§ÿQw¬ÿW~²ÿZ‚µÿZ‚¶ÿXµÿX¶ÿWµÿT|²ÿDe•ÿ,Adÿ(8ÿCEIÿŒŒŒÿÓÓÓÿÿÿÿÿýýþÿþþþÿþþÿÿÿÿÿÿþÿÿÿþÿÿÿüþþÿûýþÿúýþÿùüþÿùüþÿùüþÿüÿÿÿùýþÿÿÿÿÿúþþÿÒÕÙÿ„†ˆÿ78:ÿ ÿ'=ÿ&;[ÿ.Fjÿ3Lqÿ6Puÿ:V~ÿ>\ˆÿ=\ˆÿ5Pyÿ%:Xÿ#5ÿ ÿ!ÿ"*ÿ '1ÿ%/ÿ#,ÿ",ÿ",ÿ"+ÿ",ÿ"*ÿ!*ÿ!)ÿ!*ÿ!*ÿ"+ÿ$-ÿ%ÿÿÿ /ÿ$6Qÿ3Msÿ:X„ÿ<]‹ÿ<]‹ÿ?aÿAc’ÿDf–ÿDf•ÿEg˜ÿLp¥ÿRy®ÿX³ÿOpœÿ9Onÿ'5ÿ,28ÿfnwÿ¤²¿ÿÏàñÿÖèúÿÍßðÿÀÑáÿÂÓäÿÁÒäÿÁÓäÿ¿Ðâÿ¾ÐáÿÂÕçÿÄ×êÿÊßóÿºÍßÿ”¢±ÿU]fÿ"%ÿ ÿ ÿ%4ÿ-?ÿ!2Hÿ%7Oÿ+A]ÿ/Geÿ3Mqÿ4Ovÿ7Uÿ>]ŒÿIkœÿPu§ÿU{¯ÿU|±ÿV|³ÿU{²ÿRy°ÿOv®ÿMs¬ÿKq«ÿIo¨ÿHm¦ÿGl£ÿHn¥ÿKp§ÿKo§ÿIm¥ÿJn¥ÿOt«ÿV|±ÿX³ÿU}±ÿQx®ÿNu¬ÿMt­ÿLs­ÿKr¬ÿMt­ÿSz¯ÿ[‚µÿaˆ¹ÿa‡¹ÿ[‚´ÿ[±ÿŒ¤ÆþÊÕäÿÿÿÿÿþþþÿþþþ¸üüýaþþþþþþøùûEþþþþþþíÿÿÿÿÞäîÿ¥·Óÿiˆ¶ÿKp§ÿGm£ÿDj¡ÿGm¢ÿNt§ÿSx«ÿSx«ÿQvªÿRw¬ÿV|±ÿZ€µÿY~´ÿTz±ÿMs¬ÿGl¦ÿAf¡ÿ>dÿ@fÿGm¢ÿOt¨ÿPvªÿMr©ÿJp§ÿMrªÿPw®ÿRy°ÿQy±ÿNv¯ÿLs®ÿJq¬ÿHn©ÿGm¦ÿJp¨ÿQw¬ÿW~±ÿY´ÿY‚µÿXµÿXµÿU~³ÿRy°ÿBc“ÿ+Acÿ)8ÿFHKÿ“““ÿÞÞÞÿÿÿÿÿýýþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿþþþÿþþþÿþþþÿþþþÿÿÿÿÿÿÿÿÿþþþÿÿÿÿÿýýþÿÜàãÿŠŒÿ:;<ÿ ÿ+Cÿ*Acÿ3Lsÿ5Pxÿ7Ryÿ;Xÿ=\‰ÿ=]Œÿ9X…ÿ0Krÿ&<[ÿ 2Kÿ!3Jÿ&7Oÿ);Tÿ':Qÿ%7Oÿ#5Lÿ"4Kÿ"3Jÿ!2Iÿ 1Gÿ 0Fÿ 1Gÿ!2Hÿ"2Iÿ!1Hÿ 0Gÿ,Bÿ+?ÿ-Bÿ%9Tÿ.Fiÿ6Tÿ8X‡ÿ:[Œÿ;^ÿ?c“ÿCf–ÿFišÿFi›ÿHkžÿQu«ÿX~³ÿ]ƒ·ÿSu ÿ:Qoÿ'5ÿ,28ÿfnwÿ¥±¿ÿÏàñÿ×éúÿÎàñÿÀÑáÿÂÓäÿÁÓäÿÁÓäÿ¿Ñâÿ¾ÐâÿÂÕçÿÄØëÿËßóÿºÍàÿ”£±ÿU^fÿ"%ÿ ÿ$ÿ(9ÿ0Dÿ"4Lÿ%7Qÿ+A^ÿ.Ffÿ2Lpÿ1Ltÿ5R~ÿ=\ŠÿJmÿTy«ÿX³ÿW´ÿW~´ÿT{²ÿQw¯ÿNt¬ÿKrªÿJp©ÿIo§ÿHm¤ÿHm£ÿKp¦ÿPu«ÿPu¬ÿNrªÿLp§ÿNsªÿTz¯ÿY€´ÿYµÿU}²ÿOv­ÿIp©ÿDk¥ÿDk¥ÿJp¨ÿTz®ÿ\‚´ÿ`†·ÿ_…¶ÿ[‚´ÿp»ÿ§¹ÔÿÜãíÿÿÿÿÿþþþíþþþùúûEþþþþþþúûü&þþþrþþþÉÿÿÿúóõùÿÇÒãÿ‰¢ÆÿY|®ÿHn¥ÿGm¤ÿIo¥ÿPuªÿSx¬ÿRx«ÿPu©ÿOt¨ÿSx¬ÿW|±ÿW|²ÿTy°ÿNs¬ÿHm¦ÿAg ÿ>d›ÿ?e›ÿFl¡ÿMs¨ÿOt©ÿLq§ÿJo¦ÿMsªÿQx®ÿSz±ÿRy°ÿOu¯ÿLr­ÿIo«ÿGm©ÿGm¨ÿKp©ÿRw­ÿV}±ÿX€³ÿY‚µÿYµÿY¶ÿT|±ÿOv¬ÿ@`ÿ*@`ÿ(7ÿCFIÿÿÙÙÙÿÿÿÿÿüüýÿüýýÿüýþÿýýþÿýýþÿýýþÿüýþÿüýþÿüýýÿüýýÿüýþÿýýþÿýýþÿüýýÿüýýÿûüýÿÕÙÜÿ…ˆŠÿ89;ÿ$ÿ 1Kÿ0Ioÿ8T~ÿ;Vÿ:V€ÿ[‚ÿcÿGl£ÿTy«ÿZ€±ÿ]ƒ³ÿ\‚³ÿi‹¹ÿ‘ªËÿÊÕåÿóõùÿþþþúþþþÉþþþrúûü&þþþþþþþþþþþþMþþþ¥ÿÿÿèþþþÿàæðÿ£·Òÿg‡µþIp¦ÿIp¥ÿJq¦ÿPv©ÿRx«ÿRwªÿOs§ÿMr¦ÿPu©ÿUz¯ÿW|²ÿVz±ÿQu­ÿJo¨ÿDi¡ÿ?e›ÿ@f›ÿFm¡ÿMs¨ÿMs©ÿIo¦ÿGm¤ÿKr¨ÿQx®ÿT{±ÿSy°ÿOu®ÿKq¬ÿHnªÿGm©ÿHm¨ÿLqªÿQw­ÿU|°ÿV±ÿX´ÿY‚¶ÿZ‚¶ÿU|±ÿNuªÿ>_Œÿ(=\ÿ -ÿ777ÿtstÿ¯¯¯ÿÖ×ÖÿßàßÿØÙØÿÍÍÎÿÏÏÏÿÏÏÐÿÏÏÏÿÎÏÏÿÎÏÏÿÍÏÏÿÌÎÏÿÌÎÏÿËÍÏÿÍÏÑÿÌÎÑÿÔÖÙÿÍÐÓÿ©¬®ÿilmÿ-..ÿ ÿ"4Nÿ4Owÿ\‰ÿ]‹ÿ>^Žÿ@b”ÿAc—ÿAe™ÿAe™ÿChœÿJo¢ÿRv¨ÿVz«ÿV{ªÿUz©ÿSw¦ÿPt£ÿMqŸÿHkšÿCg–ÿAe•ÿCf•ÿGh—ÿGh—ÿEf•ÿBb’ÿAbÿAc‘ÿCe”ÿDf–ÿBe–ÿ?c•ÿd–ÿAhšÿCi›ÿEjŸÿFl¡ÿJp¦ÿSy°ÿX~µÿ]ƒ¸ÿRt¡ÿ:Rpÿ(6ÿ-29ÿgnwÿ¥±¿ÿÏàðÿ×èúÿÎßðÿÀÑáÿÂÓäÿÁÒãÿÁÒãÿ¿Ðâÿ¿ÐáÿÃÔçÿÅ×êÿÌßóÿ¼Îàÿ“¡°ÿU]fÿ"'ÿ ÿ/ÿ 0Gÿ&9Sÿ(=Xÿ(>Zÿ,Ddÿ.Gjÿ/Ipÿ-Hrÿ0Myÿ8W…ÿGi™ÿRw¨ÿX€´ÿX€µÿT|²ÿNu«ÿHo¥ÿGn¤ÿHo¥ÿJp§ÿIo¦ÿIn¤ÿJn¤ÿNr§ÿSx­ÿSy®ÿOu¬ÿKp§ÿJp¦ÿNuªÿSz¯ÿU}²ÿRz¯ÿJq¨ÿ@fžÿ:_—ÿ<`˜ÿEj ÿSwªÿX}®ÿZ°ÿY~±ÿt”¾þ«¾Øÿãéòÿÿÿÿÿþþþèþþþ¥þþþMþþþþþþþþþ!þþþuþþþÈþþþÿùúüÿÂÏáÿ‚œÁþMs¨ÿJq¦ÿKr¦ÿNu§ÿRwªÿRwªÿOs§ÿLp¤ÿMr§ÿSw­ÿW{²ÿW{²ÿRw¯ÿMq©ÿGl£ÿChžÿCiÿHn£ÿMs¨ÿLr©ÿGm¥ÿEl£ÿIq§ÿQx®ÿU{±ÿUz°ÿPu­ÿKpªÿHn©ÿGm¨ÿIn©ÿMrªÿQw­ÿT{¯ÿU}°ÿV³ÿX€µÿZ¶ÿW}±ÿQw«ÿAaÿ*?_ÿ)ÿ!!!ÿGGGÿkkkÿƒƒƒÿˆˆˆÿƒƒƒÿ|||ÿ}}}ÿ}}}ÿ}}}ÿ}}}ÿ|}}ÿ|}}ÿ{|}ÿ{|}ÿz|}ÿ|}~ÿ{|~ÿ€ƒÿ|}ÿegiÿ@ABÿÿ"ÿ%8Uÿ7Uÿ@aÿBb’ÿ@^ÿAb’ÿAb”ÿCd˜ÿCfœÿCi ÿDj£ÿHo©ÿOv¯ÿV|³ÿZ€µÿ[‚¶ÿ\„·ÿ\„¶ÿZ‚µÿW~±ÿRy­ÿKs¨ÿHp¥ÿIp¥ÿKr¦ÿMr§ÿLq¥ÿJo¤ÿIn£ÿJo¤ÿJo¥ÿHn£ÿGm¢ÿEk ÿCkžÿEm ÿFn¡ÿFn ÿEl ÿEk ÿFm£ÿKq§ÿRx¯ÿV|³ÿZ€µÿPrŸÿ9Poÿ(7ÿ-29ÿfnvÿ¤°½ÿÏßïÿÖçùÿÍÞïÿÀÏàÿÁÒâÿÀÑâÿÁÑâÿ¿Ðàÿ¾ÏàÿÂÔæÿÅÖéÿËÝñÿ»ÌÞÿ’ ®ÿT\eÿ#'ÿ ÿ$6ÿ#6Pÿ*?\ÿ,B`ÿ,Cbÿ/Ijÿ0Joÿ/Ksÿ.Itÿ1N{ÿ8W‡ÿCe—ÿMr¤ÿT{°ÿV~³ÿQy¯ÿIo¦ÿCiŸÿDj ÿIn¥ÿLrªÿLr©ÿKp¦ÿKo¥ÿLq¦ÿNs¨ÿNtªÿLr¨ÿKq§ÿKr¨ÿNuªÿQx­ÿQx®ÿNu«ÿGm¤ÿ?eœÿ;_–ÿ=a˜ÿFjŸÿOt§ÿUz¬ÿV{®ÿY}¯ÿ‹¤ÈþÆÒäÿúûýÿÿÿÿÿþþþÈþþþuÿÿÿ!þþþüýýRþþþ«ÿÿÿùþþþÿØàëÿ±Ïÿb„±ÿKr¦ÿLs¦ÿNu§ÿRw©ÿTwªÿOr¦ÿKn£ÿLo¥ÿQu¬ÿV{±ÿW{²ÿSx¯ÿOsªÿJo¦ÿGl¢ÿFl¡ÿJp¥ÿLs¨ÿKq§ÿFm¤ÿEl¤ÿJq¨ÿQx®ÿV|±ÿUz°ÿQt¬ÿKp©ÿIn¨ÿHn¨ÿJp©ÿNt«ÿRy®ÿT{°ÿT|°ÿU}²ÿW~³ÿZ€µÿY~²ÿUz­ÿFg–ÿ0Hjÿ#5ÿÿÿ...ÿ888ÿ:::ÿ787ÿ444ÿ445ÿ445ÿ445ÿ444ÿ444ÿ344ÿ344ÿ344ÿ334ÿ344ÿ344ÿ556ÿ345ÿ*++ÿÿ ÿ/ÿ(>^ÿ9X†ÿ@c“ÿCe•ÿBb‘ÿCe–ÿDf™ÿEh›ÿEižÿDi ÿDh¢ÿFk¦ÿKpªÿOu­ÿSy°ÿV}±ÿY´ÿ[ƒµÿZ‚´ÿW€³ÿS{¯ÿMuªÿHp¥ÿGn£ÿIo¥ÿLq¦ÿMr¨ÿMr¨ÿLp§ÿIo¥ÿGl£ÿFk£ÿGm¤ÿHo¥ÿJs§ÿMvªÿOwªÿNv©ÿJq¥ÿGn¤ÿGo¥ÿKr¨ÿQw®ÿU{±ÿX~´ÿNpžÿ8Poÿ)8ÿ/5;ÿls|ÿ¬¹ÆÿÙêúÿáóþÿØéûÿÉÚëÿËÜíÿÊÛíÿÊÜíÿÈÚëÿÈÙëÿÌÞñÿÎáõÿÕèüÿÄÖéÿ™§¶ÿX`iÿ!%)ÿ ÿ(<ÿ':Wÿ,Bbÿ-Efÿ.Fgÿ3Mqÿ4Ouÿ3Owÿ1Mxÿ3Pÿ8Wˆÿ?a•ÿFkŸÿOtªÿRx¯ÿOu¬ÿGl£ÿAfœÿChžÿJo¦ÿOu¬ÿOv¬ÿMr©ÿKo¥ÿIm£ÿHm¢ÿGm£ÿHn¥ÿKr¨ÿNu«ÿPx­ÿPw¬ÿMtªÿJq§ÿFl¢ÿAfÿ?c™ÿBfšÿHl ÿOs¦ÿSw«ÿTx­ÿi‰¸ÿ¢µÓÿÚáíÿþþþÿÿÿÿùþþþ«üýýRþþþÿÿÿõ÷ù-þþþþþþÖÿÿÿÿñó÷ÿÂÎàÿ„žÂÿY}­ÿNu§ÿPv¨ÿSw«ÿUw«ÿNq§ÿIl¢ÿIl£ÿNr¨ÿSx®ÿUz¯ÿRw­ÿPt«ÿMr¨ÿKp¦ÿJo¤ÿJp¥ÿKq¦ÿJp¦ÿGn¥ÿHn¦ÿLsªÿQx®ÿUz°ÿTx®ÿPs«ÿKo¨ÿHm§ÿHn§ÿLr©ÿPw­ÿT{°ÿT|±ÿS{±ÿT{±ÿW|²ÿZ~³ÿY~±ÿV{®ÿLnŸÿÿow€ÿ²¿ÌÿàòÿÿèúþÿÞðþÿÑáóÿÒãôÿÒãõÿÑâôÿÏâóÿÎàòÿÓæùÿÖéýÿÜðÿÿÊÝðÿž¬»ÿ[clÿ#'-ÿ#ÿ.Eÿ*Aaÿ.Gjÿ/Hlÿ1Knÿ7Sxÿ:V}ÿ9Wÿ6T€ÿ6U„ÿ8XŠÿ<_•ÿCfÿJn§ÿNs«ÿMr©ÿGl£ÿChžÿEi ÿKp§ÿQv­ÿQw®ÿNsªÿJo¥ÿFk¡ÿDiŸÿDk ÿGo¤ÿMtªÿQy®ÿQy®ÿNu«ÿKr§ÿJp¦ÿHn¤ÿFj¡ÿDhžÿFižÿHl ÿNr¦ÿRvªÿ_±ÿˆ ÆÿÄÐâÿñóøÿÿÿÿÿÿÿÿÖþþþö÷ú-ÿÿÿþþþõ÷ùþþþWÿÿÿ°ÿÿÿïÿÿÿÿÞäíÿ¢¶ÑÿjжÿOu©ÿPvªÿRw¬ÿTw«ÿNq¨ÿIk¢ÿHj¡ÿLo¥ÿQu«ÿSx®ÿQw­ÿOt«ÿNsªÿMr¨ÿKp¦ÿJp¤ÿJo¤ÿIo¤ÿIo¦ÿKq¨ÿMt¬ÿQw®ÿRw®ÿQu¬ÿNrªÿJn¨ÿGl¦ÿGm¦ÿLr©ÿRy®ÿV}²ÿV}³ÿT{±ÿT{±ÿV|²ÿX}²ÿW{¯ÿTx­ÿNr§ÿGiÿ>\‹ÿ9T~ÿ5Nuÿ4Msÿ2Mrÿ3Otÿ7Rvÿ;Uxÿa–ÿChŸÿIn¦ÿLq©ÿLq¨ÿIn¥ÿGk¢ÿHl£ÿKp§ÿOt¬ÿPu­ÿMr©ÿIm¥ÿEj¡ÿDj ÿFm£ÿKr¨ÿPx­ÿRz¯ÿPw­ÿLs©ÿKq¦ÿLq§ÿMq§ÿKo¥ÿGk¡ÿFiŸÿGk ÿMq¥ÿRuªÿnŒ¹ÿ¥¸Ôÿßæïÿÿÿÿÿÿÿÿïþþþ°þþþWõ÷úþþþþþþÿÿÿ&þþþzþþþËÿÿÿÿøùúÿÄÐáÿˆ¡ÄþUy«ÿQv«ÿSx­ÿSx®ÿOtªÿJm¤ÿHj ÿJl£ÿOs¨ÿRw¬ÿQw¬ÿOu«ÿNsªÿMr¨ÿKp¦ÿJo¤ÿIn£ÿIn¤ÿKp§ÿMsªÿOu­ÿPv­ÿPu­ÿNs«ÿLp«ÿIm¨ÿEk¥ÿEl¥ÿKr©ÿSz¯ÿX~³ÿW~³ÿT|±ÿT{±ÿU|²ÿUz°ÿQv¬ÿNs©ÿMrªÿMr«ÿMr¬ÿNr¬ÿMr«ÿJp¨ÿHo¥ÿIq¥ÿPwªÿW}¯ÿX~®ÿW}®ÿV{­ÿSy«ÿOs§ÿHl¡ÿFk ÿLp¦ÿQuªÿPr¨ÿGi ÿ@b™ÿ?a˜ÿBfšÿEiÿGkŸÿGkÿGj›ÿDh™ÿCh™ÿDjžÿGm£ÿJp¨ÿLrªÿLs¬ÿLr«ÿJo©ÿGl¨ÿFk¦ÿEi¤ÿEj¢ÿEk¢ÿIo¥ÿOv¬ÿU|²ÿU}³ÿR{¯ÿOwªÿNu¨ÿNs§ÿMs§ÿMs¨ÿMs©ÿLsªÿJr©ÿGn¦ÿDk£ÿFl¤ÿLq©ÿQw®ÿTz°ÿRy®ÿPx­ÿQy®ÿU}²ÿX~³ÿU{±ÿQw¬ÿOv«ÿRx®ÿW}³ÿXµÿKm›ÿ5Ljÿ$2ÿ)-3ÿ_fmÿ˜¤®ÿÀÎÜÿÈ׿ÿ¿ÍÜÿ³ÁÏÿ´ÂÑÿ´ÃÑÿ³ÂÑÿ²ÂÑÿ±ÀÏÿµÆÕÿ·ÈÙÿ¼Íßÿ®¾Îÿ†’ŸÿLT[ÿ "ÿ'ÿ$7Rÿ1Lsÿ2Oyÿ1Mwÿ3Nvÿ=Z„ÿDbÿFg’ÿBcÿ>`ÿ=`“ÿBfœÿHm¤ÿLq¨ÿLrªÿKp¨ÿJo¦ÿJn¦ÿJo¦ÿKp§ÿLqªÿMrªÿJp©ÿHm¦ÿFk¤ÿFm¥ÿJq¨ÿOw­ÿSz¯ÿRy¯ÿNt«ÿJp§ÿKp¦ÿOs¨ÿQu«ÿPs©ÿJn¤ÿEiŸÿFjŸÿKo£ÿUx«ÿ‹¢ÇþÇÒäÿùúûÿÿÿÿÿþþþËÿÿÿzÿÿÿ&þþþÿÿÿüýþQþþþ©ÿÿÿ÷þþþÿÜãíÿ¦¹Óÿk‹·ÿRx­ÿU{°ÿV}²ÿSy¯ÿOr§ÿJl¢ÿJl¢ÿMq¦ÿPv«ÿPw¬ÿOu«ÿMr©ÿKp§ÿIn¤ÿGm¢ÿGl¢ÿHm£ÿKp§ÿNsªÿQw®ÿRx¯ÿPv®ÿNs­ÿKp«ÿGl¨ÿDj¥ÿDk¤ÿKq¨ÿSz¯ÿX³ÿW~³ÿU|±ÿT{±ÿT{°ÿQw®ÿLq©ÿJo¦ÿKp©ÿLqªÿMq«ÿMq«ÿLqªÿHo¦ÿEm£ÿGn£ÿOv©ÿW}¯ÿZ€²ÿZ€³ÿZ´ÿY´ÿTz±ÿMs¬ÿKq«ÿQx²ÿW}·ÿU{´ÿLqªÿDi¢ÿAg ÿCi¢ÿGl¥ÿKp§ÿMr©ÿKo¤ÿHm ÿFlŸÿFm¡ÿIo¦ÿKr«ÿMs®ÿMt­ÿKr¬ÿIoªÿFl¨ÿEk¥ÿEk¤ÿGm£ÿHn¤ÿKq¦ÿOu«ÿSz°ÿS{±ÿOx­ÿKs§ÿJr¦ÿMt¨ÿPv«ÿQw­ÿOv¬ÿLsªÿIp§ÿFm¤ÿFm¤ÿKq¨ÿQv­ÿTz±ÿT{±ÿPw­ÿMuªÿMu«ÿQy¯ÿV}²ÿW}²ÿTz¯ÿPv«ÿPv¬ÿSy°ÿU{²ÿIkšÿ2Ihÿ .ÿ"ÿBGLÿjqyÿ†™ÿ‹– ÿ…™ÿ}†ÿ}‡‘ÿ}‡’ÿ}‡’ÿ|‡‘ÿ{†ÿ~Š”ÿ€‹—ÿƒ›ÿy„ÿ]enÿ5:?ÿÿ'ÿ&:Wÿ5R{ÿ8V‚ÿ5R~ÿ4PyÿÿEIOÿHMSÿEIOÿ@EJÿ@EKÿ@EKÿ@EKÿ@EJÿ?EIÿ@FKÿAGMÿCHOÿ=CIÿ/38ÿ ÿ ÿ"3ÿ*Abÿ_Žÿ:Y‡ÿ6Tÿ;Y‡ÿAaÿHk™ÿJnÿKn ÿJn¡ÿMs§ÿQw¬ÿSz°ÿRy°ÿNu¬ÿLsªÿLrªÿLrªÿLrªÿLr«ÿKr¬ÿKq¬ÿJq«ÿJq«ÿKr¬ÿNu®ÿQx¯ÿRy¯ÿPv­ÿLr©ÿJp§ÿLq¨ÿRu«ÿWy®ÿ[|°ÿWy®ÿQs©ÿKo¥ÿ\}¬ÿ¦ÇÿÎÙçÿøúüÿþþþÿÿÿÿÑþþþxúûü'ÿÿÿÿÿÿþþþþþþNþþþ¨þþþëÿÿÿÿìïôÿ·ÇÜÿŸÅþ]„·ÿ\ƒ¶ÿX~³ÿSx­ÿOq¨ÿMn¥ÿKn¥ÿMr¨ÿMtªÿLtªÿIp¦ÿFk¢ÿChžÿBhÿDi ÿFl£ÿIo¦ÿMsªÿRy°ÿU}´ÿS{³ÿNt¯ÿInªÿEk¥ÿEk£ÿGn¥ÿMt©ÿRz®ÿT|°ÿT|°ÿS{°ÿS{°ÿRy°ÿOv­ÿMrªÿMsªÿOt«ÿOs«ÿMp©ÿLn©ÿJn¨ÿEk¤ÿ@fžÿAfœÿIn£ÿTy­ÿZ³ÿ[µÿY´ÿUz¯ÿPtªÿJo¥ÿIn¥ÿPw®ÿW}µÿV}´ÿMs«ÿDh ÿ@dœÿ@dÿCg ÿGl¥ÿJo¨ÿLr«ÿMs¬ÿKr©ÿIq©ÿHpªÿLt¯ÿOw²ÿPx´ÿNv²ÿKs®ÿHoªÿGo¨ÿKs©ÿPw¬ÿSy­ÿQv«ÿNsªÿMsªÿLs«ÿKsªÿHp§ÿGo¥ÿKr¨ÿPx­ÿRy¯ÿPw­ÿKr©ÿIo¦ÿJp§ÿOu«ÿSx¯ÿRx¯ÿOu­ÿMr«ÿKrªÿKr©ÿLs©ÿMu«ÿRy¯ÿV|²ÿU|±ÿOv¬ÿIp§ÿGn¦ÿIo¨ÿEhŸÿ6S~ÿ"4Oÿ .ÿÿ&ÿ%.ÿ!)3ÿ'0ÿ%/ÿ$.ÿ$.ÿ#,ÿ!+ÿ )ÿ)ÿ!)ÿ!)ÿ(ÿÿÿ%ÿ.Fÿ0JnÿAbÿEf–ÿAaÿ;Y‡ÿ;[Šÿ?`ÿEh˜ÿKnŸÿNq¤ÿMp¤ÿMr¨ÿNu¬ÿQx°ÿSz±ÿQy°ÿPw®ÿNu­ÿMt¬ÿMt¬ÿMt­ÿMt®ÿMs®ÿMs­ÿLs­ÿLt­ÿNu®ÿOw¯ÿOw®ÿNu¬ÿLsªÿKq©ÿNrªÿSu¬ÿXz¯ÿ\}±ÿZ|°ÿUx­ÿOs¨ÿs¹þ°Á×ÿìðõÿÿÿÿÿþþþëÿÿÿ¨þþþNþþþÿÿÿÿÿÿþþþþþþpþþþÂÿÿÿÿþþþÿÛãïÿ¥»×þm¾ÿZ´ÿV|±ÿTx®ÿQt«ÿPr¨ÿLo¦ÿKp§ÿKq¨ÿIp§ÿFm¤ÿCiŸÿAgÿBhžÿFk¢ÿHn¤ÿJp§ÿLsªÿQx¯ÿS|³ÿRz³ÿMs®ÿHm¨ÿEj¥ÿEl¤ÿIp¦ÿOvªÿS{­ÿS{®ÿQx­ÿPx­ÿRz°ÿT{±ÿSz°ÿRx¯ÿRx®ÿSx¯ÿRv®ÿOr¬ÿMq¬ÿLq¬ÿHm¨ÿCh¡ÿBgžÿIn¤ÿU{¯ÿ]„¸ÿ_…ºÿ[‚·ÿTz±ÿNt«ÿKp§ÿLr¨ÿT|±ÿZ‚¸ÿY€·ÿOv®ÿGl¥ÿCh¢ÿDi£ÿFk¦ÿIn©ÿKp«ÿLq¬ÿLr«ÿJp©ÿIp¨ÿIpªÿKt®ÿOx³ÿR{µÿQy´ÿMu°ÿIp«ÿHp¨ÿNu«ÿT{°ÿW~±ÿTy®ÿNtªÿKq©ÿJp©ÿJqªÿJq©ÿJq¨ÿMtªÿPx­ÿQx®ÿNt«ÿJo§ÿIn¦ÿMrªÿSy°ÿU{²ÿQw¯ÿLqªÿIn§ÿKp¨ÿMr©ÿMs©ÿMs©ÿOv¬ÿRy¯ÿRy¯ÿMu«ÿHp§ÿFm¦ÿFl¦ÿDi¢ÿ<\ÿ.Hqÿ%:[ÿ#4Nÿ&7Pÿ*`“ÿCg™ÿIm ÿMp¥ÿLp¦ÿKp¨ÿKq©ÿMt¬ÿQx°ÿSz±ÿSz±ÿQy°ÿOw®ÿNv­ÿNu®ÿNu¯ÿOu¯ÿNu®ÿMu®ÿMv®ÿNv¯ÿNv®ÿMu¬ÿLtªÿKs©ÿMsªÿOt¬ÿTw­ÿWy®ÿY{®ÿXz­ÿUx«ÿb±ÿ˜¬ËþÔÝêÿþþþÿÿÿÿÿþþþÂÿÿÿpþþþÿÿÿÿÿÿùúûDÿÿÿ–ÿÿÿçÿÿÿÿñôúÿÄÒåÿ‡£Éÿ\‚³ÿTy­ÿTx­ÿSw­ÿTv«ÿMr©ÿKp¨ÿIo§ÿFm¥ÿBi¡ÿ@fÿ@fœÿEj ÿJp¥ÿMs¨ÿLs©ÿLtªÿOw®ÿQz±ÿQx±ÿMr­ÿHm¨ÿEj¤ÿEk£ÿIp¦ÿOwªÿT{­ÿSz­ÿOuªÿMtªÿQx®ÿV}³ÿXµÿW~´ÿV}²ÿU{°ÿRw®ÿOr¬ÿNq¬ÿNr­ÿJo©ÿEj£ÿCgŸÿIn¤ÿUz¯ÿ^„¸ÿ^…ºÿY€µÿQw­ÿKq§ÿIo¥ÿNt¨ÿW~²ÿ\„¸ÿY€·ÿOu­ÿFl¥ÿDi¢ÿFj¤ÿHm§ÿJoªÿJp«ÿJp«ÿKpªÿIo¨ÿIo¨ÿIpªÿLt®ÿPy³ÿS}¶ÿR{µÿNv±ÿIpªÿIo¨ÿOu¬ÿV}±ÿY€³ÿW}±ÿQw­ÿMs«ÿKqªÿKqªÿKsªÿLtªÿNv«ÿPw­ÿOu¬ÿLr©ÿIo¦ÿJo§ÿOt­ÿU{³ÿV|´ÿPv¯ÿJo©ÿIm¦ÿLp¨ÿNs©ÿNs©ÿLq¨ÿLr©ÿMt«ÿMu¬ÿKsªÿJq©ÿHn¨ÿGm¦ÿEj£ÿAd›ÿ:[ÿ8W‡ÿ:Y†ÿC`ŒÿIg‘ÿJi’ÿFdÿB`ˆÿA^‡ÿB`ˆÿC`‡ÿ@[ƒÿ7Rzÿ0Irÿ.Gpÿ2Lsÿ8Ryÿ;T{ÿ:U|ÿ9U}ÿ=[†ÿCcÿIlœÿKnžÿIlÿCe˜ÿ?a•ÿ=`•ÿ@d˜ÿEiÿIl£ÿIm¦ÿHn¨ÿHn¨ÿJpªÿMs¬ÿPw¯ÿRz°ÿR{±ÿQz°ÿOx®ÿNu¬ÿMt¬ÿMt¬ÿNu­ÿNv®ÿNw®ÿNw®ÿNv­ÿLt«ÿKsªÿLsªÿMs«ÿPu¬ÿTw¬ÿTw«ÿSv¨ÿQt¦ÿVw¨ÿ~˜¾ÿ¼ÉÝÿìðöÿÿÿÿÿÿÿÿçÿÿÿ–ùúüDþþþÿÿÿ÷ùûÿÿÿ]þþþ¸ÿÿÿõÿÿÿÿçíõÿ¬¿Øÿu”¼þRx«ÿUz­ÿWz¯ÿVz¯ÿPt¬ÿLqªÿHn§ÿDj¤ÿ@fŸÿ=c›ÿ?e›ÿEk ÿMs¨ÿQx¬ÿQx­ÿOw¬ÿOx®ÿQy°ÿQw±ÿNs­ÿIm¨ÿEi¤ÿCh¢ÿGm¤ÿNuªÿT{®ÿSy­ÿNs¨ÿKq§ÿNu«ÿU}³ÿZ‚·ÿZ‚·ÿX´ÿT{°ÿPv­ÿMrªÿNr¬ÿOs®ÿLq«ÿGl¥ÿEj¡ÿKp¥ÿU{°ÿ]ƒ¸ÿ]„¸ÿV}³ÿMtªÿGn¤ÿGn£ÿNt¨ÿX³ÿ^…¹ÿY€¶ÿNt¬ÿEj£ÿCg¡ÿFj¤ÿHn§ÿJpªÿJp«ÿJpªÿJqªÿIo©ÿHn¨ÿHo©ÿKs­ÿOy²ÿS}¶ÿRz´ÿMt¯ÿInªÿJo©ÿPu­ÿV}±ÿZ‚´ÿY³ÿV}±ÿRx®ÿNt¬ÿKqªÿKrªÿLt«ÿNv¬ÿOw­ÿOu«ÿMr©ÿKp¨ÿLqªÿPv¯ÿUz´ÿUz´ÿPu¯ÿLpªÿKo¨ÿMq¨ÿNs¨ÿMr§ÿKo¦ÿIn¦ÿHn§ÿHo§ÿHp¨ÿJp©ÿJp©ÿIo§ÿHn¦ÿGl¤ÿEk£ÿFl¤ÿKq©ÿU|²ÿ^…¹ÿ^…¸ÿX~²ÿQw­ÿOu¬ÿT{¯ÿZ€³ÿX~°ÿNr¥ÿCfšÿ?`•ÿCe›ÿKn¢ÿPs¨ÿOs¦ÿKp¢ÿJmŸÿJnŸÿKn ÿKo¡ÿGkžÿBf›ÿ>b˜ÿ<`—ÿ>b˜ÿAe›ÿEgŸÿGk¤ÿIn¨ÿHn©ÿIn©ÿIn¨ÿLr©ÿOv¬ÿRz¯ÿR{°ÿPx®ÿMt«ÿKq¨ÿKq©ÿLt«ÿNw®ÿOx®ÿNv­ÿMt«ÿLsªÿNt«ÿOv¬ÿOu¬ÿOt«ÿQu©ÿOs¦ÿMp¢ÿJmŸÿm‰±þ§¸Ðÿäéñÿÿÿÿÿÿÿÿõÿÿÿ¸þþþ]÷ùûÿÿÿÿÿÿþþþ1ÿÿÿŠÿÿÿÛÿÿÿÿûüüÿÍØæÿ”«Êþ`ƒ²ÿW|®ÿY}°ÿW{±ÿRv®ÿMs¬ÿHn¨ÿEj¤ÿ@fŸÿ=bšÿ=b™ÿBižÿLs§ÿSz®ÿU}°ÿS{¯ÿRz¯ÿRz°ÿSx±ÿPt¯ÿKo©ÿEi¤ÿBg¢ÿFl¤ÿMtªÿTz®ÿSy­ÿMr§ÿIo¦ÿLsªÿT{±ÿZ¶ÿZ‚·ÿW~³ÿRy®ÿMtªÿKq©ÿMr«ÿOt®ÿNr¬ÿJn¦ÿHm£ÿMs§ÿV}±ÿ\ƒ·ÿ[‚·ÿT{±ÿKr©ÿEl£ÿFm£ÿMs¨ÿX~²ÿ]„¸ÿYµÿMs«ÿCh¢ÿAe ÿDi£ÿHn§ÿJqªÿJq«ÿJr«ÿKr¬ÿJpªÿHm¨ÿFl§ÿHp«ÿNw°ÿR{´ÿQx²ÿLr­ÿIm©ÿKpªÿPv­ÿV}±ÿZ³ÿ[ƒ³ÿZ³ÿW~²ÿQx®ÿLr«ÿJq©ÿKsªÿMv¬ÿPx­ÿPw¬ÿOu«ÿNs«ÿOt­ÿQv°ÿSx²ÿRx²ÿPu¯ÿNs¬ÿMsªÿMs©ÿLr¨ÿKp¦ÿIn¥ÿGk¤ÿDj£ÿDj£ÿFl¥ÿIn§ÿKp©ÿKp©ÿNt«ÿNt«ÿMt«ÿKr©ÿMu«ÿT}±ÿ]…¸ÿ^…¸ÿV|±ÿMs©ÿJp§ÿQx­ÿY‚µÿ\„¶ÿT{®ÿIo£ÿCgžÿEi¡ÿLq©ÿRx¯ÿSy¯ÿQw¬ÿNs¨ÿKp£ÿIm¡ÿGjŸÿAfšÿ>b˜ÿ;`—ÿ;`–ÿ<`–ÿ>a˜ÿAd›ÿEi ÿHn§ÿJo©ÿHn¨ÿGl¥ÿHm¥ÿKq¨ÿNv«ÿOw¬ÿNv¬ÿKr©ÿIp§ÿJp¨ÿLs«ÿOw­ÿPw­ÿMtªÿKq¨ÿLr©ÿPv­ÿSy¯ÿSx­ÿOtªÿMr¦ÿJo£ÿHlŸÿUu¤ÿŒ¢ÀþÊÔâÿûûüÿÿÿÿÿÿÿÿÛÿÿÿŠþþþ1ÿÿÿÿÿÿúûüTþþþªÿÿÿõÿÿÿÿíñõÿ¾ÌÞÿ„ŸÂÿ_ƒ²ÿZ~±ÿX|²ÿSw¯ÿOt­ÿIo©ÿGl¦ÿCh¡ÿ?dœÿ=b™ÿ@fœÿIo¤ÿRy­ÿW~²ÿV~²ÿT|±ÿT{±ÿTy²ÿQv°ÿLp«ÿFk¦ÿCh£ÿFl¦ÿMs«ÿRx®ÿQw¬ÿLq§ÿHo¥ÿKr¨ÿRz¯ÿX€´ÿYµÿV~²ÿQy®ÿLs©ÿIp§ÿLqªÿOt®ÿNs¬ÿKo§ÿIo¤ÿNu©ÿW~²ÿ\ƒ¸ÿZ·ÿSy±ÿJq©ÿDk£ÿDk¢ÿKq§ÿU{°ÿ[¶ÿW}³ÿLqªÿBg¢ÿ?d ÿBh£ÿGn¨ÿJr¬ÿJs­ÿLt®ÿMt®ÿKp«ÿGk§ÿCh¤ÿEl§ÿKt­ÿPy²ÿPw±ÿLq¬ÿIm©ÿLq«ÿQw®ÿV|±ÿY€²ÿ[‚³ÿ[‚´ÿY€³ÿTz¯ÿMs«ÿJq©ÿKsªÿNw­ÿRz¯ÿRz®ÿQw­ÿPu¬ÿPu®ÿQv°ÿQw°ÿPv¯ÿOv®ÿOv­ÿNu¬ÿLt©ÿIq¦ÿHo¥ÿGm¤ÿEj¢ÿBg ÿ@eŸÿCh¡ÿGl¥ÿKp¨ÿOt¬ÿSy°ÿT|²ÿS{±ÿOx­ÿMv«ÿR{¯ÿY‚µÿ[ƒ·ÿV|²ÿLr©ÿHm¥ÿLs©ÿV~±ÿ[ƒµÿV~°ÿLr¥ÿDhžÿChŸÿIo§ÿPw®ÿSy°ÿQw­ÿNs©ÿKp¥ÿFk ÿBgœÿb˜ÿDgžÿIn¥ÿJp¨ÿHn§ÿFl¥ÿHm¥ÿJo¦ÿKq§ÿKr§ÿJr¨ÿJq©ÿJq©ÿKrªÿNu¬ÿQx®ÿPw­ÿLr©ÿIn¦ÿKo§ÿRv­ÿX|²ÿY}±ÿRw¬ÿLr¦ÿHm¢ÿLo¡ÿw‘·ÿ¹ÅØÿíðôÿÿÿÿÿÿÿÿõþþþªùúûTþþþÿÿÿúúü*ÿÿÿtÿÿÿÊÿÿÿýÿÿÿÿàçïÿ§»Ôÿu”½ÿZ²ÿX}²ÿSy°ÿOu­ÿKqªÿIo§ÿFl¤ÿCg ÿ?d›ÿ?d›ÿEk¡ÿNuªÿU|±ÿW~²ÿU|²ÿTz±ÿSy±ÿPv°ÿLq¬ÿGm¨ÿDj¥ÿGm§ÿMr«ÿPv­ÿOt«ÿJp¦ÿHn¤ÿKr§ÿQy®ÿV³ÿX´ÿV³ÿRz®ÿLs©ÿIo§ÿJpªÿMr­ÿMr«ÿJo¦ÿIo¤ÿNu©ÿW~²ÿ\ƒ¸ÿZ¸ÿSy±ÿIp©ÿDk£ÿCj¢ÿHo¥ÿRx®ÿX~³ÿV{²ÿLq«ÿBg£ÿ?e¡ÿBi¥ÿGoªÿKs®ÿLt¯ÿMv°ÿNu±ÿKq­ÿEj§ÿAf¢ÿCi¤ÿIq«ÿPx±ÿQw±ÿMs­ÿJoªÿMq«ÿQw®ÿU{°ÿX~±ÿZ€²ÿ[³ÿZ³ÿTz¯ÿNt«ÿLrªÿMu¬ÿR{°ÿV~²ÿV}±ÿSy®ÿPu¬ÿOt­ÿPu®ÿOu­ÿOu­ÿOv¬ÿOw­ÿMv¬ÿJs©ÿGp¥ÿFo¥ÿFn¤ÿDj¡ÿ@eÿ>c›ÿBeÿGj£ÿLp¨ÿPu­ÿT{±ÿV~³ÿU}²ÿPy®ÿLu©ÿMw©ÿR{®ÿW~²ÿU|±ÿOu«ÿIo¥ÿKr¦ÿQy¬ÿW~°ÿT{­ÿKq¤ÿBh›ÿAgœÿGn¤ÿOw¬ÿRy®ÿPu«ÿJo¥ÿFj ÿBgœÿ>c™ÿ:`•ÿ;a–ÿ=c˜ÿ?dšÿ>c˜ÿ<`–ÿ>b˜ÿCgÿIn¤ÿKq¨ÿJp¨ÿIo§ÿJp¨ÿKp§ÿIo¥ÿGn¤ÿGn¦ÿHq©ÿKt¬ÿNv®ÿPx¯ÿRy¯ÿQw®ÿMrªÿJn¦ÿKo§ÿRv¬ÿZ~³ÿ\µÿV|°ÿNt©ÿHn£ÿb¯ÿœ¯ÌÿÛâëÿÿÿÿÿÿÿÿýÿÿÿÊþþþtùúû*ÿÿÿÿÿÿÿÿÿÿÿÿ3ÿÿÿˆÿÿÿÒÿÿÿÿýýýÿÐÚèÿš±Ïþf‰¸ÿX³ÿU|²ÿQx¯ÿMsªÿKq¨ÿIn¦ÿGl¤ÿCh ÿAgžÿCj ÿJq§ÿQx®ÿU{²ÿTz²ÿRx±ÿPv¯ÿMt­ÿJq«ÿGn©ÿDk¦ÿFl§ÿJp©ÿNs«ÿNr©ÿJn¥ÿHm£ÿJq§ÿPx­ÿU~²ÿXµÿX€´ÿT{°ÿNu«ÿJp¨ÿJp©ÿLr«ÿKqªÿIn¥ÿIo¤ÿOvªÿX³ÿ]„¹ÿZ‚¸ÿRy±ÿIp©ÿCj£ÿBi¡ÿFl£ÿOu«ÿU{±ÿTy±ÿKp«ÿBh¤ÿ@g£ÿCk§ÿHq¬ÿLu°ÿMv±ÿNw²ÿNv²ÿKq®ÿEj§ÿAf¢ÿBh¢ÿHp©ÿOw¯ÿQx±ÿOu¯ÿLq«ÿMr«ÿPv­ÿTz¯ÿW}±ÿY~±ÿY~²ÿW|±ÿRx®ÿNu¬ÿNu¬ÿQy¯ÿV³ÿY‚µÿX€³ÿTz¯ÿPu¬ÿNs«ÿNs«ÿMrªÿMsªÿMtªÿMu«ÿJs©ÿGq§ÿEo¥ÿFo¥ÿGo¥ÿDj ÿ?dšÿ=`—ÿ@d›ÿFj¡ÿLp¨ÿOu¬ÿRx¯ÿT{±ÿV}²ÿRz¯ÿMu«ÿKs¨ÿMvªÿRz¯ÿV}³ÿT{±ÿQw­ÿPv«ÿRz­ÿU}°ÿSz®ÿLr¦ÿEkŸÿDk ÿJr§ÿQy®ÿRy¯ÿOtªÿHl£ÿBfÿ?c™ÿ=b—ÿg£ÿDm©ÿJs®ÿNu°ÿOv°ÿPv±ÿPw±ÿNu¯ÿIpªÿEk¥ÿCi¢ÿDk¤ÿHo¨ÿKs­ÿMt¯ÿMs®ÿLs­ÿNu­ÿQx¯ÿRy°ÿPw®ÿLs«ÿKrªÿMt«ÿOw­ÿOx®ÿOw­ÿNv¬ÿOw­ÿQx®ÿSy¯ÿSx®ÿQu«ÿNs¨ÿMq§ÿMs©ÿNtªÿLr©ÿGn¥ÿBi ÿ@hžÿBjŸÿEl¢ÿFk¡ÿBgžÿ@e›ÿAhÿEm¢ÿJq§ÿMtªÿOv¬ÿRx­ÿSz¯ÿSy®ÿQv¬ÿNtªÿLr©ÿKr©ÿLtªÿQx®ÿU}²ÿX´ÿX³ÿU|°ÿQx­ÿOu«ÿQv¬ÿSy¯ÿSy¯ÿPw­ÿKs©ÿGo¦ÿEm¤ÿEm£ÿFm£ÿGm¤ÿFl£ÿEj¢ÿDj¢ÿEl£ÿFm¤ÿFm¤ÿGm¥ÿGl¦ÿHm¨ÿHm¨ÿIoªÿLr¬ÿPw°ÿU}´ÿY·ÿY·ÿU}´ÿMu­ÿHo¦ÿEl£ÿGn¤ÿNtªÿU{±ÿX~´ÿW}²ÿSy¯ÿU|¯ÿZ²ÿ^…¶ÿu—Âÿ§»×ÿ×àíÿþþþÿÿÿÿÿþþþÝþþþþþþ3ÿÿÿÿÿÿÿÿÿüýþOÿÿÿ¢ÿÿÿïÿÿÿÿûüýÿÕßìÿ›²Ñÿj‹¹ÿOv«ÿOu«ÿPw¬ÿRy¯ÿQz®ÿNw«ÿKs¨ÿJq§ÿKs©ÿNv¬ÿOw®ÿPx¯ÿNu®ÿKq«ÿIm§ÿEh¢ÿAdžÿAeÿGk¢ÿNt©ÿRy®ÿQw­ÿMtªÿLs©ÿNv¬ÿQx¯ÿSz±ÿT|²ÿU|²ÿU}³ÿU|³ÿRy±ÿMt­ÿGn§ÿDl¤ÿIq¨ÿSz°ÿZ¶ÿY´ÿSy¯ÿNt«ÿLq©ÿJo¦ÿHn¤ÿGm¤ÿJo§ÿLqªÿHn¨ÿAg£ÿ=d¡ÿ?g¤ÿEm©ÿIq¬ÿLs­ÿMs­ÿOu¯ÿPw±ÿNv°ÿJr¬ÿEm§ÿAi£ÿBi£ÿFm§ÿJr¬ÿMu¯ÿLt¯ÿKr¬ÿLs¬ÿOw®ÿQy¯ÿOw­ÿKsªÿJrªÿNu¬ÿRy¯ÿRz¯ÿPw­ÿMt«ÿLsªÿNu¬ÿRx®ÿTy¯ÿSx­ÿPuªÿNs¨ÿMs¨ÿMs©ÿLr¨ÿHn¥ÿDj ÿAgÿBižÿEk¡ÿFl¢ÿDi ÿBgžÿCj ÿHo¥ÿNu«ÿRy®ÿT{°ÿU|°ÿU|¯ÿSz®ÿRy­ÿRw®ÿQv­ÿNt«ÿLsªÿMuªÿQy­ÿV}±ÿW~²ÿU{¯ÿPv«ÿMs©ÿOt«ÿRx®ÿSy¯ÿPw­ÿKr©ÿGn¥ÿEl£ÿFm¤ÿGn¥ÿGm¥ÿEj£ÿBg ÿ@fŸÿAgŸÿBi ÿDj¡ÿEk£ÿFm¦ÿHo©ÿHnªÿIo«ÿKq¬ÿOu¯ÿS{³ÿW¶ÿX€·ÿT}´ÿOv®ÿJp¨ÿGm¥ÿHn¥ÿMs©ÿTz¯ÿV|²ÿU{±ÿRy®ÿT{®ÿY€±ÿt–¿ÿ¡¸ÕÿÖàìÿùúüÿÿÿÿÿÿÿÿïÿÿÿ¢üýýOÿÿÿÿÿÿþþþùúû!ÿÿÿeÿÿÿ¼ÿÿÿ÷ÿÿÿÿõ÷úÿÆÓäÿ§ÉÿY~°ÿPv¬ÿRx®ÿS{°ÿRz®ÿOx«ÿKs¨ÿJr§ÿKs¨ÿLtªÿNu¬ÿOv®ÿOt­ÿMr«ÿKn¨ÿFj¤ÿCfŸÿCgžÿJn£ÿRx«ÿW}°ÿT{¯ÿOv¬ÿLsªÿOv­ÿRz°ÿT|±ÿT|²ÿS{±ÿSz²ÿSz²ÿPw¯ÿKq«ÿEk¦ÿCj¤ÿJq©ÿT|²ÿ[‚·ÿY€µÿRy¯ÿLs©ÿIp§ÿHn¥ÿIn¥ÿIn¥ÿKp©ÿLq«ÿGm¨ÿAg¤ÿ?e¢ÿBi¥ÿGn©ÿIq«ÿJq«ÿJq«ÿMt®ÿOw±ÿOw±ÿKt®ÿEm¨ÿAi£ÿBi£ÿFn§ÿKs­ÿNv°ÿLt¯ÿJr¬ÿJr«ÿNv­ÿPy¯ÿOx®ÿLu«ÿKtªÿNv¬ÿRy¯ÿT{°ÿRx®ÿNu¬ÿMs«ÿNu¬ÿRx¯ÿV{±ÿV{°ÿRx­ÿMt¨ÿKq¦ÿJp¥ÿJo¥ÿHm¤ÿFk¡ÿCiŸÿCj ÿFl¢ÿFl£ÿEj¡ÿChŸÿEk¡ÿKr¨ÿRy¯ÿV|²ÿW}²ÿV}±ÿU|¯ÿT{®ÿT{¯ÿU{°ÿUz°ÿQw­ÿLs©ÿKr§ÿNt¨ÿSz­ÿV|¯ÿSy­ÿMs©ÿIn¥ÿJo¦ÿNsªÿQv­ÿPv­ÿMr©ÿIo¥ÿFl£ÿFl£ÿFl¥ÿFl¥ÿCh¢ÿ?ežÿ>cœÿ?dœÿ@fžÿBgŸÿDj¢ÿGn§ÿJr¬ÿKr­ÿJq¬ÿIo«ÿLr¬ÿPw¯ÿT|³ÿV¶ÿU}´ÿPw¯ÿLr«ÿJo§ÿKp§ÿNs©ÿRx­ÿRx¯ÿRx®ÿRw­ÿUz®ÿa†µÿ•®ÎÿÊ×çÿöøúÿÿÿÿÿÿÿÿ÷ÿÿÿ¼ÿÿÿeøùû!þþþþþþþþþ$þþþtÿÿÿÁÿÿÿýþþþÿîòöÿ¾Ìàÿ€œÂÿX|°ÿRx®ÿSz¯ÿQy­ÿOw©ÿKs§ÿKr§ÿLr¨ÿKr©ÿKrªÿLs«ÿNs¬ÿMr¬ÿKo©ÿFj¤ÿBfŸÿCgÿKp£ÿV{­ÿ[³ÿX~³ÿQw®ÿLs«ÿNu­ÿRz°ÿS{±ÿS{°ÿQx¯ÿPw¯ÿOv°ÿLs­ÿGn©ÿCh¤ÿCh£ÿKqªÿV}´ÿ]„ºÿ[‚·ÿRy¯ÿJr¨ÿFm¤ÿEl£ÿGm¤ÿJo¦ÿMsªÿMs¬ÿHn©ÿCh¤ÿAg£ÿEk¦ÿJpªÿKr¬ÿJq«ÿIpªÿKs­ÿOw±ÿOy²ÿLu°ÿFoªÿBj¥ÿCj¤ÿGn§ÿLt­ÿNv¯ÿMu¯ÿLs­ÿLs¬ÿNv®ÿPx®ÿOx­ÿLu«ÿKs©ÿLt©ÿPw¬ÿSz¯ÿSy¯ÿPv­ÿNt«ÿNu«ÿRx®ÿV|²ÿW}³ÿTz¯ÿNu©ÿIp¤ÿGm¡ÿGl¢ÿHl¢ÿHm£ÿGl¢ÿGm£ÿHn¥ÿHn¤ÿEk¡ÿCiŸÿGl£ÿNtªÿU{²ÿV|³ÿUz±ÿRx­ÿRy­ÿSz®ÿV}±ÿY³ÿX}²ÿRw­ÿKq¦ÿIo£ÿKq¥ÿQwªÿSy¬ÿQv«ÿKp¦ÿFk£ÿFk£ÿJn¦ÿMr©ÿOt«ÿNs©ÿKp¦ÿHm£ÿGl£ÿGl¥ÿFl¦ÿCi£ÿAfŸÿ@eÿAeÿBfžÿCh ÿEk£ÿJqªÿNv°ÿNu°ÿKr­ÿHn¨ÿIo¨ÿMt«ÿS{±ÿV~´ÿU}³ÿQx¯ÿNt¬ÿLrªÿNsªÿOu«ÿPv«ÿOu«ÿPu¬ÿRw­ÿ^´ÿ‡¡ÇÿÂÐãÿðó÷ÿþþþÿÿÿÿýþþþÁþþþtÿÿÿ$þþþW~³ùúü:ÿÿÿƒÿÿÿÕþþþÿÿÿÿÿäêòÿª¼Öÿu“½ÿPv¬ÿQw­ÿOv«ÿLs§ÿKr¦ÿMs§ÿLr¨ÿKp¨ÿIo¨ÿJpªÿMr¬ÿMr¬ÿKpªÿFj¤ÿAeÿBfœÿLp£ÿX|®ÿ^ƒ¶ÿZµÿQw¯ÿLr«ÿNu­ÿQy¯ÿRy¯ÿQx®ÿOu­ÿNu­ÿNt®ÿJq«ÿFk§ÿBg£ÿBh£ÿKpªÿW}´ÿ_…»ÿ]ƒ¸ÿSz°ÿJq¨ÿDl£ÿCj¡ÿEl¢ÿIp¦ÿNu«ÿOv®ÿKq«ÿDj¤ÿBg¢ÿFl¥ÿLr«ÿMt­ÿKr¬ÿIp«ÿJr­ÿOw±ÿPy³ÿMw±ÿHq«ÿEl§ÿDl¦ÿGo¨ÿJs¬ÿLu®ÿMu®ÿOu¯ÿPv¯ÿQw¯ÿPw®ÿMv¬ÿJs©ÿHp¦ÿIp¦ÿLt©ÿQw­ÿSy¯ÿPv­ÿMsªÿMs©ÿPv¬ÿU{±ÿX~´ÿW}²ÿPx¬ÿIq¥ÿFl¡ÿFk ÿIm¢ÿJo¥ÿJo¥ÿJp§ÿKq¨ÿHn¥ÿDj ÿBhžÿGl¢ÿOt«ÿUz²ÿUy²ÿPu­ÿLq¨ÿLr§ÿPw¬ÿW~±ÿ\‚¶ÿZ³ÿRv«ÿIn£ÿGl ÿKp£ÿQv©ÿQvªÿNs¨ÿIo¥ÿGl£ÿGl¤ÿHm¥ÿJn¦ÿLq¨ÿNr©ÿMq§ÿKo¥ÿJn¥ÿIo§ÿIo¨ÿGm¦ÿEj£ÿDi ÿDhŸÿDi ÿEj¢ÿGm¥ÿLr¬ÿPv±ÿOu°ÿKq«ÿHm¦ÿHn¥ÿKs©ÿPx®ÿT|±ÿT|±ÿRy¯ÿOu¬ÿOt«ÿQv¬ÿPv­ÿOu«ÿMsªÿNt«ÿRw­ÿ|™Âÿ±ÂÛÿçìôÿÿÿÿÿþþþÿÿÿÿÕÿÿÿƒùúü:W~²ÿÿÿâèñþþþ;þþþ‘ÿÿÿ×ÿÿÿÿþþþÿØàëÿ¤·Óÿm‹¹ÿPu«ÿNt©ÿLr§ÿLr§ÿOtªÿMr©ÿJo¨ÿHm§ÿJo©ÿLr¬ÿMs­ÿKpªÿEj£ÿAdœÿBf›ÿLp£ÿY}°ÿ_„¸ÿ[€·ÿSx±ÿMs¬ÿOu­ÿQx®ÿQw­ÿOu«ÿMs«ÿNt¬ÿNt­ÿKq«ÿGl§ÿCh£ÿDi£ÿLqªÿX|´ÿ`„»ÿ^ƒ¸ÿUz¯ÿJq§ÿDk¢ÿBi ÿDl¢ÿHq¦ÿNw¬ÿPx¯ÿLs«ÿEj£ÿBg ÿGl¤ÿMr«ÿNu®ÿLs¬ÿIp«ÿKq¬ÿOv±ÿQx³ÿNw±ÿJs­ÿGo©ÿEn¨ÿGo©ÿHp«ÿJr¬ÿMs­ÿQv°ÿTy²ÿSy°ÿOv­ÿKs©ÿGo¦ÿFm¤ÿGn¤ÿKr§ÿPw¬ÿRx®ÿOu«ÿKq¨ÿIo¦ÿLr¨ÿQw­ÿW}²ÿX´ÿT{°ÿMt©ÿIo£ÿIn£ÿKp¥ÿMs¨ÿNt©ÿNtªÿLsªÿHn¥ÿCi ÿBhžÿFl¢ÿNsªÿSx±ÿRv°ÿMqªÿGk£ÿGl£ÿNt©ÿX~²ÿ^ƒ·ÿ[€´ÿQuªÿGl¡ÿFjŸÿKo¤ÿQuªÿPuªÿLr§ÿJp¦ÿKp§ÿLp¨ÿJn¦ÿHl¥ÿIm¥ÿLp§ÿNq§ÿNq§ÿMr¨ÿNsªÿMt«ÿLs©ÿJq§ÿHn¤ÿGl¢ÿFk¡ÿFl£ÿIn§ÿLr¬ÿOu¯ÿNs­ÿKp©ÿHn¥ÿIp¦ÿLs©ÿNv«ÿNw¬ÿOx¬ÿPx¬ÿQx­ÿQw®ÿTx®ÿQw®ÿOu­ÿMs«ÿNs«ÿoŽ»ÿ«½ØÿÞæðÿþþþÿþþþÿÿÿÿ×ÿÿÿ‘þþþ;âèñÿÿÿÿÿÿþþþ úûüPþþþžþþþéÿÿÿÿöøúÿÐÙçÿ–¬Ìÿe…´ÿNr¨ÿMs¨ÿNt©ÿOu«ÿNs«ÿLq©ÿIn¨ÿKqªÿMs­ÿMs­ÿKpªÿEj£ÿBeÿDgœÿMq¥ÿY}±ÿ_„¹ÿ[·ÿTz±ÿPv®ÿRx®ÿSy®ÿQw¬ÿOtªÿMsªÿNt¬ÿNu­ÿMr¬ÿIn©ÿFj¥ÿFk¥ÿMr«ÿY}´ÿb…»ÿ`ƒ¸ÿWz°ÿLp¨ÿEk£ÿBi¢ÿDl£ÿGp¦ÿMv¬ÿPx¯ÿLr«ÿEj£ÿBg ÿFl¤ÿLrªÿNt­ÿLr¬ÿJpªÿKq¬ÿOu°ÿPw²ÿNv±ÿJs­ÿHpªÿGo©ÿGo©ÿHoªÿIo«ÿMr­ÿQw°ÿTz±ÿSy¯ÿNt«ÿHo¦ÿDk£ÿDk¢ÿGn¤ÿLs©ÿQx­ÿRy¯ÿOv«ÿJq§ÿGn¤ÿHn¥ÿMs©ÿSy¯ÿW~²ÿW}²ÿRx­ÿNt©ÿMs§ÿNt©ÿQw«ÿQx­ÿQx®ÿNu«ÿHn¦ÿCi ÿAhžÿDk¡ÿKq¨ÿQu®ÿPt®ÿKo¨ÿFj¢ÿGk¢ÿOt©ÿY~²ÿ^„·ÿ[€´ÿPvªÿGl¢ÿFj ÿLo¥ÿQu«ÿPu«ÿMs¨ÿMs©ÿPv¬ÿQv­ÿMq©ÿHl¥ÿGk£ÿJn¥ÿMp§ÿNq§ÿOs¨ÿPv«ÿQx¬ÿQx¬ÿOvªÿLs§ÿHn£ÿEk¡ÿEj¡ÿGl¥ÿKp©ÿNr¬ÿMq«ÿJo¨ÿJo§ÿLr©ÿNt«ÿLtªÿJr§ÿJs§ÿNvªÿS{®ÿSz°ÿSy°ÿRw¯ÿPv®ÿNt­ÿe†¶ÿ™¯ÏÿÕßìÿúûýÿÿÿÿÿþþþéþþþžúûýPþþþ þþþôöùþþþSþþþªÿÿÿèþþþÿ÷øúÿÊÕåÿ•ªÊÿ_€°ÿOt©ÿQw¬ÿRx®ÿPv­ÿOt¬ÿLq©ÿLr«ÿMs¬ÿLr¬ÿJp©ÿGk¤ÿDgŸÿFiŸÿOs§ÿZ~²ÿ_„¹ÿ\‚¸ÿU|³ÿRy¯ÿTz¯ÿUz¯ÿRx­ÿPu¬ÿNu¬ÿOu­ÿOu®ÿNt­ÿLq«ÿIn§ÿIn¦ÿOt«ÿZ~´ÿb…»ÿb„¹ÿYz±ÿNq©ÿFk¥ÿCj¤ÿDm¦ÿHq©ÿMv­ÿPw¯ÿLr«ÿFj¤ÿCh¡ÿGl¦ÿLq«ÿLr¬ÿKqªÿJo©ÿLq«ÿOu¯ÿOv±ÿLt°ÿIr­ÿHqªÿHqªÿHqªÿIp«ÿJo¬ÿMr®ÿQv¯ÿSy¯ÿQx¬ÿLr§ÿGl£ÿDj¢ÿFl£ÿJp§ÿOv«ÿSz¯ÿT|°ÿQy­ÿMt©ÿHo¥ÿGn¤ÿIo¦ÿNtªÿTy®ÿV|°ÿU{¯ÿSy­ÿRx¬ÿRy­ÿT|¯ÿT}°ÿS{°ÿOv­ÿHp§ÿCj¢ÿBi ÿDl¢ÿJq¨ÿOt­ÿOs­ÿLp©ÿIn¥ÿLq¦ÿRx­ÿY³ÿ]‚¶ÿZ€´ÿRx­ÿJo¦ÿHl£ÿKo¦ÿPu«ÿPw¬ÿPw¬ÿQx¬ÿSy®ÿSx®ÿNrªÿIm¥ÿGl¤ÿJn¦ÿMp§ÿNq§ÿOs¨ÿPvªÿQy«ÿQy¬ÿQx«ÿNu©ÿIp¤ÿDk ÿCiŸÿFk£ÿKp§ÿNs«ÿMrªÿLq©ÿMrªÿQv­ÿQw®ÿMsªÿHo¥ÿGo£ÿLu¨ÿT|¯ÿU}²ÿU|²ÿRy°ÿPv¯ÿaƒµÿ–­ÎÿÌ×çÿúûüÿÿÿÿÿÿÿÿèÿÿÿªþþþSô÷ùþþþþþþþþþgþþþµþþþøÿÿÿÿîñöÿÅÐáÿŠ¢Åÿ_²ÿSy¯ÿTz±ÿRx¯ÿOu­ÿMs«ÿLs«ÿLr«ÿKqªÿJo¨ÿGl¤ÿEi¡ÿGk¡ÿOs¨ÿZ~³ÿ_…ºÿ]ƒ¸ÿV~³ÿSz¯ÿSz®ÿTz®ÿRx®ÿQx®ÿQx¯ÿQx°ÿQw°ÿPv¯ÿPt­ÿNrªÿMq¨ÿPv«ÿY~³ÿa…¹ÿ`ƒ¸ÿXz±ÿMp©ÿGk¦ÿDk¦ÿFn©ÿIr«ÿOw¯ÿQx°ÿNs¬ÿHl¦ÿEi¤ÿGl§ÿKpªÿLq«ÿKp©ÿKq©ÿMs¬ÿOv¯ÿNv°ÿKs®ÿHp«ÿGqªÿHr©ÿIrªÿJq¬ÿKp­ÿMr¯ÿQv¯ÿRy®ÿQwªÿKq¥ÿGm£ÿGl£ÿJo§ÿNtªÿQx®ÿU|°ÿV~²ÿT|°ÿQy­ÿLs©ÿHo¦ÿHn¥ÿJp§ÿOtªÿSx­ÿUz®ÿU{¯ÿU{¯ÿU}°ÿV~±ÿV~²ÿS|±ÿOw­ÿIr©ÿFn¤ÿEm£ÿGo¥ÿKr©ÿNu­ÿOt­ÿNs«ÿNtªÿRx¬ÿV|±ÿY³ÿY´ÿX~³ÿUz°ÿOu¬ÿKp¨ÿKq¨ÿOu¬ÿRy®ÿS{¯ÿTz¯ÿSy®ÿQv«ÿMq¨ÿJn¦ÿJo¦ÿLq¨ÿOs©ÿOs©ÿOt¨ÿOu¨ÿOu¨ÿNv¨ÿNv©ÿMu¨ÿJq¥ÿEl¡ÿDj ÿGm£ÿLr¨ÿPv¬ÿOu¬ÿMsªÿPu¬ÿUy°ÿVz²ÿQv®ÿJp¦ÿFm¢ÿIq¥ÿPy­ÿU~³ÿV~´ÿS{±ÿ_ƒµÿ‹¤ÉÿÆÒäÿïóøÿÿÿÿÿÿÿÿøþþþµÿÿÿgÿÿÿþþþÿÿÿùúü$þþþjþþþ¿þþþõÿÿÿÿðóöÿÂÎàÿ§Éþa„µÿV|²ÿTz°ÿQv®ÿNs¬ÿNs«ÿLq©ÿJp©ÿJo¨ÿHm¥ÿFj¢ÿGk¢ÿOt¨ÿZ³ÿ`‡ºÿ^…ºÿW´ÿQy®ÿPw¬ÿPv¬ÿQw­ÿSz°ÿT|²ÿT{³ÿRx±ÿQv°ÿQv¯ÿQu­ÿPtªÿQw«ÿW}°ÿ]ƒ¶ÿ]‚¶ÿVz°ÿLq©ÿFk¦ÿEk§ÿGo«ÿLt¯ÿRz³ÿU{³ÿQv®ÿIn¨ÿEj¤ÿFl¦ÿJpªÿLrªÿLrªÿLsªÿNu¬ÿOw¯ÿMu¯ÿJr¬ÿHq«ÿHqªÿIrªÿJs«ÿJq¬ÿKp­ÿMr®ÿQv°ÿTy¯ÿSx¬ÿOt¨ÿMr§ÿMr¨ÿPv«ÿSy®ÿT{¯ÿU}°ÿV~²ÿW²ÿT}°ÿPx­ÿLr©ÿJo§ÿJo§ÿLq©ÿNsªÿPu«ÿRx­ÿT{®ÿV~°ÿW±ÿU}±ÿRz¯ÿNw­ÿKtªÿIr¨ÿJr§ÿKs¨ÿMt«ÿPv®ÿQw®ÿQw®ÿRx®ÿU|±ÿV}²ÿU|±ÿUz°ÿV{±ÿW|²ÿUz±ÿPv­ÿMtªÿOv¬ÿT{¯ÿW~²ÿW}°ÿSx¬ÿOr¨ÿKo¥ÿKp¦ÿNs©ÿPv¬ÿRw¬ÿRw¬ÿQvªÿOt¨ÿKq¦ÿIp£ÿIq¤ÿKs¦ÿLs§ÿJq¦ÿJp¥ÿMs¨ÿQw¬ÿSy®ÿQx­ÿOv«ÿRx®ÿX}²ÿZ~´ÿVz°ÿNs¨ÿHn¤ÿGo¤ÿNvªÿT|±ÿV~³ÿ`…·ÿ©ÌþÂÏâÿñôøÿÿÿÿÿþþþõþþþ¿þþþjùúû$ÿÿÿÿÿÿþþþ,þþþ}þþþÇÿÿÿÿþþþÿêîôÿÃÐâÿ¦Êÿc…·ÿTz°ÿPv­ÿMrªÿJp©ÿJo¨ÿKp©ÿLq©ÿJo§ÿGk£ÿFk¢ÿMs¨ÿY€³ÿaˆ»ÿ_‡ºÿW´ÿOw¬ÿLs¨ÿLs¨ÿNv«ÿT{±ÿWµÿV}µÿRx²ÿPu¯ÿQu®ÿRu­ÿPuªÿPvªÿTz®ÿY€³ÿZµÿTz¯ÿKq©ÿEk¥ÿDk§ÿHp¬ÿNv±ÿU}¶ÿX~¶ÿRx°ÿIn¨ÿCh£ÿDj¤ÿHo©ÿLr«ÿMt«ÿMt«ÿNu­ÿNv®ÿLu­ÿJr¬ÿIq«ÿIr«ÿIr¬ÿIr¬ÿIq«ÿIp¬ÿLr­ÿPv¯ÿTy°ÿV{¯ÿUz­ÿTy­ÿTy®ÿU|°ÿV}°ÿV|®ÿU|®ÿV}°ÿW²ÿV~²ÿT{°ÿQv­ÿOs¬ÿNs¬ÿNr«ÿLq©ÿKp¨ÿMs©ÿQw¬ÿU|¯ÿU|°ÿRy®ÿNv¬ÿMv«ÿMv«ÿMvªÿMu©ÿMuªÿOu¬ÿRx¯ÿTz±ÿTz±ÿT{±ÿU|²ÿT{±ÿQx®ÿPv¬ÿSx­ÿW}²ÿY~´ÿT{°ÿOv¬ÿOw«ÿU|¯ÿZ€³ÿZ~²ÿTw¬ÿMp¦ÿJn¤ÿLq§ÿQw¬ÿSz®ÿT{¯ÿT{¯ÿRy­ÿOuªÿJo¥ÿEk ÿDkŸÿHo£ÿMt¨ÿOvªÿQw«ÿSy­ÿU{¯ÿV|°ÿSz®ÿQx¬ÿSz®ÿX~³ÿ[€µÿW|±ÿOtªÿGm£ÿGm£ÿLs¨ÿQy®ÿ`…¶ÿЦÊÿÂÐãÿêïõÿÿÿÿÿÿÿÿÿþþþÇþþþ}þþþ,ÿÿÿÿÿÿþþþ3þþþ{þþþËÿÿÿûÿÿÿÿñôøÿÅÑäÿ“«Íþaƒ´ÿNt«ÿJp¨ÿIn¨ÿIn¨ÿLq©ÿNt«ÿLq©ÿHm¥ÿFk¢ÿMs§ÿX€²ÿ`ˆºÿ_‡ºÿW³ÿOv«ÿJq§ÿJq¦ÿNuªÿT|±ÿX€¶ÿV~µÿQw±ÿMr¬ÿNr¬ÿOs«ÿNs©ÿNt©ÿRy¬ÿX€³ÿ[‚µÿV|±ÿMsªÿEl¦ÿCk§ÿGo¬ÿNv±ÿV}·ÿW~¶ÿQv¯ÿGl¥ÿ@f ÿAh£ÿGn©ÿLs¬ÿMt­ÿMt¬ÿLt¬ÿLu­ÿKt¬ÿKr¬ÿJr¬ÿJr­ÿIr­ÿHq¬ÿHq«ÿIq¬ÿJr¬ÿNu­ÿSx¯ÿW|±ÿZ~²ÿZ€³ÿZ€³ÿZ€²ÿY°ÿW}®ÿU{­ÿT{­ÿU|¯ÿV}±ÿV}±ÿUz±ÿUy±ÿTy²ÿRv¯ÿMr«ÿIn§ÿJo¦ÿNtªÿQx­ÿQx­ÿMtªÿKr¨ÿKs©ÿLuªÿMvªÿLt¨ÿLr§ÿNtªÿSy¯ÿW}³ÿW~´ÿV}³ÿT{²ÿQy¯ÿOv¬ÿNtªÿQw«ÿW}±ÿZ´ÿV~²ÿOw«ÿNvªÿT{®ÿ\´ÿ]€³ÿVx­ÿMo¦ÿJn¤ÿNt¨ÿS{­ÿU}°ÿU}°ÿT|°ÿS{¯ÿQw¬ÿKq¦ÿEj ÿCižÿGn¢ÿNu©ÿS{®ÿV}±ÿW}±ÿV|°ÿV{¯ÿSy¬ÿRx«ÿSz®ÿV}±ÿY€³ÿV|°ÿOtªÿIn¤ÿHm¤ÿKp¦ÿ^±ÿ§ÉþÁÏáÿðó÷ÿÿÿÿÿÿÿÿûþþþËþþþ{þþþ3ÿÿÿÿÿÿþþþþþþ8ÿÿÿˆÿÿÿÎÿÿÿÿþþþÿîò÷ÿÆÒäÿŒ¥Èÿ^€±ÿIn§ÿHm§ÿHm§ÿJo¨ÿMrªÿLr©ÿIn¥ÿGl¢ÿLs§ÿW~±ÿ^†¹ÿ]…¹ÿW~³ÿPv¬ÿMs¨ÿMt¨ÿPw«ÿU}±ÿXµÿU|´ÿNu®ÿJo©ÿJo¨ÿJo§ÿJo¦ÿKr¨ÿRx­ÿZ´ÿ^…¸ÿZ€´ÿPw­ÿHo¨ÿDl¨ÿFo«ÿLu°ÿT{µÿU{´ÿNs¬ÿCi¢ÿ>ežÿAh£ÿHoªÿLs­ÿLt®ÿKs­ÿJs¬ÿJs¬ÿKs¬ÿLs¬ÿLs­ÿLs®ÿIr®ÿHq­ÿHq¬ÿIr¬ÿJr¬ÿLs¬ÿPv­ÿW|±ÿ\µÿ^„·ÿ^„¶ÿ\‚³ÿY°ÿV|®ÿTy¬ÿRx«ÿRy­ÿT{¯ÿW}²ÿX~³ÿZµÿY~¶ÿV{³ÿPu®ÿKp©ÿIo§ÿKr¨ÿMtªÿMtªÿJq§ÿHp¦ÿJr§ÿKs¨ÿJq§ÿHn£ÿGm£ÿKp¦ÿRx®ÿX~´ÿYµÿV}³ÿT{±ÿQx¯ÿPv¬ÿOv«ÿRy¬ÿW~°ÿZ‚´ÿV~°ÿNv©ÿLt§ÿSz­ÿ\´ÿ]´ÿVx­ÿMo¥ÿJn¤ÿOu©ÿT}®ÿV~°ÿU}±ÿS|°ÿSz¯ÿRy®ÿOt©ÿJn£ÿGl ÿIo¢ÿOv©ÿU}°ÿX²ÿW}±ÿTy®ÿRw«ÿQv©ÿPv©ÿQx¬ÿSz®ÿT{¯ÿRy®ÿOuªÿLq§ÿJo¥ÿ]~®ÿ‰¡ÄÿÂÏàÿëïõÿþþþÿÿÿÿÿÿÿÿÎÿÿÿˆþþþ8þþþþþþþþþÿÿÿÿÿÿ:þþþÿÿÿÎÿÿÿûÿÿÿÿóöùÿÅÑâÿ’©Êÿ`€±ÿHm¦ÿGl¦ÿHm¦ÿJp¨ÿKp§ÿJo¤ÿHn¢ÿMt§ÿV~°ÿ\„·ÿ[ƒ¸ÿV}³ÿRx®ÿQw¬ÿQx¬ÿSz®ÿV~³ÿV~´ÿRy²ÿLr«ÿGm§ÿFl¥ÿGl¥ÿGm¥ÿKq§ÿSy¯ÿ]ƒ·ÿbˆºÿ^„·ÿU{±ÿLr¬ÿFnªÿGo¬ÿLt¯ÿQx³ÿQw°ÿJo¨ÿAgŸÿ?ežÿCj¤ÿJq¬ÿLs¯ÿLs¯ÿJs®ÿIs­ÿIs­ÿKs¬ÿMt­ÿNu¯ÿNt¯ÿKs®ÿIr­ÿIr­ÿKs­ÿKr¬ÿLs¬ÿPv­ÿW}²ÿ]ƒ·ÿ`†¹ÿ_…·ÿ\‚³ÿY±ÿW|¯ÿTy­ÿQw«ÿPw«ÿRy­ÿV|±ÿY´ÿ\‚·ÿ[¸ÿX}µÿRx°ÿNs¬ÿKq©ÿKr¨ÿKr¨ÿJq¨ÿHp¦ÿHp¦ÿIq¦ÿIp¦ÿFl£ÿBgžÿBgžÿGm£ÿQw­ÿW}³ÿYµÿW}³ÿU|±ÿSz°ÿRy®ÿRy­ÿT{®ÿX€±ÿZ‚³ÿU}¯ÿMt¨ÿKr¦ÿQx¬ÿZ€³ÿ[€³ÿSw¬ÿKo¤ÿJo¤ÿPwªÿV~°ÿW±ÿT|°ÿQx­ÿPw¬ÿQx¬ÿQw«ÿOt¨ÿLq¥ÿMr¥ÿQxªÿV}°ÿX²ÿU{°ÿQv«ÿNs§ÿNr¦ÿNs§ÿQv©ÿPw«ÿPw¬ÿPx­ÿPw¬ÿOu«ÿd…³ÿ“©ÉÿÃÎàÿðòöÿÿÿÿÿþþþûÿÿÿÎÿÿÿÿÿÿ:þþþþþþþþþ ÿÿÿ:ÿÿÿˆþþþËþþþÿþþþÿîñöÿÉÔäÿ”ªÊÿg†µÿGl¥ÿFk¥ÿGm¦ÿHn¥ÿGm£ÿHo¢ÿNu¨ÿV~°ÿ\ƒ·ÿZ‚·ÿV}´ÿSz°ÿSy¯ÿS{¯ÿT|°ÿV~³ÿU|´ÿQw°ÿJqªÿFm¦ÿFl¥ÿFl¥ÿGm¥ÿKq¨ÿT{°ÿ^„¸ÿc‰»ÿ_…¸ÿW}²ÿOu®ÿJq¬ÿJr­ÿLu¯ÿPw±ÿNu­ÿHn¦ÿBgŸÿAfŸÿFl¦ÿLr­ÿNt°ÿLt¯ÿKt¯ÿJt®ÿJu®ÿLu®ÿNu¯ÿPv±ÿOv±ÿMt¯ÿKs®ÿKs®ÿMs¯ÿMs®ÿNt­ÿQx¯ÿX~´ÿ]ƒ·ÿ_„·ÿ^ƒµÿ[€²ÿY±ÿX~±ÿV|°ÿRx­ÿOv«ÿOv«ÿSz®ÿX~³ÿ[‚·ÿ[·ÿX}´ÿSy±ÿOv­ÿLs©ÿKr¨ÿJq¨ÿJr¨ÿJr§ÿJr§ÿJq§ÿGm¤ÿChŸÿ>c›ÿ?d›ÿEk¡ÿNtªÿT{±ÿW}³ÿV|±ÿU{°ÿTz¯ÿSz¯ÿU{¯ÿV}°ÿX€±ÿY±ÿT{­ÿLs§ÿJp¦ÿPv«ÿW}±ÿX}±ÿQvªÿKo¤ÿKq¤ÿQx«ÿV~°ÿV}±ÿRy®ÿMt©ÿLr§ÿOu¨ÿRxªÿRwªÿQv©ÿQv©ÿU{­ÿY²ÿY³ÿTz¯ÿOtªÿLp¥ÿLp¤ÿMq¥ÿOt§ÿOu©ÿOuªÿPw¬ÿQx­ÿo»ÿ™°ÏÿËÖåÿîñöÿþþþÿÿÿÿÿþþþËÿÿÿˆÿÿÿ:ÿÿÿ þþþþþþ8þþþ{þþþÇþþþõÿÿÿÿøùúÿÒÛéÿ¤¶ÒÿpŒ¹ÿNr¨ÿEl¤ÿEl£ÿFm¢ÿIo£ÿPwªÿZ€²ÿ]…¸ÿ[ƒ¸ÿW~´ÿSz±ÿQy¯ÿQy°ÿRz±ÿT|³ÿSz²ÿOv¯ÿJqªÿGn§ÿHn§ÿHn¦ÿHo¦ÿLr©ÿT{°ÿ]„·ÿbˆ»ÿ_…¸ÿW~³ÿPw®ÿLt¬ÿLu­ÿNw¯ÿPx°ÿNu¬ÿIo¦ÿDj¡ÿDj¢ÿIo¨ÿNt®ÿOu±ÿNu°ÿLu°ÿLv¯ÿMv¯ÿNv¯ÿOw°ÿQx²ÿPw²ÿNv°ÿMt¯ÿMs¯ÿNs¯ÿNs¯ÿOt¯ÿSy±ÿYµÿ]‚·ÿ]‚µÿZ±ÿX~¯ÿY±ÿ[³ÿZ€´ÿU{°ÿOvªÿKs§ÿNu©ÿT{¯ÿZ€µÿYµÿU{²ÿQw®ÿNu«ÿMt©ÿLs©ÿLs©ÿLt©ÿKs©ÿKs¨ÿIp¦ÿFk¢ÿBfžÿ?c›ÿ@eœÿFk¡ÿMs¨ÿSx®ÿV{°ÿUz°ÿTz®ÿRy­ÿTz®ÿV}°ÿW±ÿX€±ÿW°ÿSz­ÿMs¨ÿJo¥ÿMs©ÿSy®ÿUz¯ÿQuªÿMq¥ÿNt§ÿSz­ÿV~±ÿT{°ÿOu«ÿIo¥ÿHm¢ÿLq¤ÿQv¨ÿRwªÿQvªÿRw«ÿW{¯ÿ[€³ÿZ´ÿUz°ÿPu«ÿOs¨ÿNq¦ÿOs¦ÿPu¨ÿOu©ÿOu©ÿW}¯ÿx—Àÿ©½×ÿÕßìÿùúüÿÿÿÿÿþþþõþþþÇþþþ{þþþ8þþþÿÿÿþþþ3þþþ}ÿÿÿ¿þþþøÿÿÿÿøúüÿÚâíÿ§¹Ôÿx”½ÿOt©ÿEk£ÿEl¢ÿIp¤ÿRy¬ÿ\‚µÿaˆºÿ^…¹ÿW´ÿQy°ÿMv­ÿNv®ÿPx°ÿRz²ÿRy±ÿNu­ÿJq©ÿHo§ÿJq¨ÿJq¨ÿJq¨ÿLt©ÿT{°ÿ]„·ÿb‰»ÿ_†¹ÿW~³ÿOw­ÿLu¬ÿMw­ÿOx¯ÿPx¯ÿNu¬ÿJp¨ÿGm¥ÿGm¥ÿKqªÿNu¯ÿPv±ÿOv±ÿNv°ÿNw°ÿOx°ÿOx±ÿOw±ÿOw±ÿOv±ÿNv°ÿOu°ÿOt°ÿOs°ÿNr¯ÿOt¯ÿSz²ÿZ€µÿ\‚¶ÿ[€³ÿW|®ÿU{­ÿX°ÿ\ƒ´ÿ\ƒ¶ÿW~±ÿNuªÿHo¤ÿJp¥ÿPv«ÿW|²ÿX}´ÿSy°ÿNu«ÿLs©ÿMt©ÿNu«ÿNu«ÿMuªÿKs©ÿJr§ÿHo¥ÿEk¡ÿBgžÿAfÿDiŸÿIn£ÿOt©ÿSx­ÿVz¯ÿTy®ÿRw¬ÿPw«ÿSz®ÿW~²ÿX€²ÿW±ÿV}¯ÿRy­ÿMs¨ÿIn¤ÿJo¦ÿOu«ÿRw­ÿQuªÿOs§ÿQw©ÿT|®ÿU|°ÿQx­ÿKq§ÿFk¡ÿEjŸÿJo¡ÿOu¦ÿQv©ÿPt¨ÿPt©ÿSx­ÿX}²ÿX}²ÿUz°ÿRw­ÿRv«ÿRw«ÿSx«ÿSx«ÿRw«ÿZ~¯ÿ€œÁÿ¬¿×ÿÜäïÿùûýÿÿÿÿÿþþþøÿÿÿ¿ÿÿÿ}þþþ3ÿÿÿÿÿÿ,þþþjþþþµÿÿÿèþþþÿþþþÿãéñÿºÈÝÿ†ŸÃÿ^¯ÿFl£ÿJq¦ÿTz®ÿ_…·ÿdмÿaˆºÿY€´ÿPy¯ÿLu­ÿMu®ÿOv°ÿQx±ÿPv®ÿKrªÿGn¦ÿGn¦ÿJq©ÿKr©ÿKr¨ÿMuªÿT|°ÿ^†¸ÿdŒ½ÿaˆ»ÿW´ÿNw­ÿKu«ÿMw­ÿOy¯ÿOx¯ÿMt¬ÿJp©ÿHo§ÿIp¨ÿLs¬ÿOw°ÿPx²ÿOw°ÿOv¯ÿPw¯ÿQx±ÿQx±ÿOw±ÿNv±ÿMu¯ÿNu®ÿOu¯ÿPu°ÿOt°ÿLq®ÿMs®ÿRx°ÿZ´ÿ]‚µÿZ€²ÿU|­ÿSz«ÿV~®ÿ[ƒ³ÿ]…µÿX€²ÿOv©ÿGm¡ÿFk¡ÿLq§ÿTx¯ÿV{²ÿRx¯ÿMtªÿKs¨ÿOv«ÿRy®ÿPw­ÿMtªÿIq§ÿGo¥ÿFm£ÿEk¡ÿCiŸÿDj ÿIn£ÿNs§ÿSx«ÿW{®ÿW{°ÿTy®ÿPv«ÿPw«ÿT|°ÿX€´ÿX³ÿV±ÿU}¯ÿRy­ÿMs¨ÿHm£ÿGl£ÿKp¦ÿOr©ÿPs©ÿQt¨ÿSy¬ÿU|¯ÿSz®ÿNuªÿIn¤ÿEiŸÿEižÿJn¡ÿOt¦ÿQv¨ÿMr¦ÿJn¤ÿKo¥ÿOtªÿSy­ÿUy®ÿSx®ÿUz®ÿW|¯ÿX~±ÿW}°ÿlŒ¹ÿ¦Çÿ½ËÞÿäêñÿþþþÿÿÿÿÿÿÿÿèþþþµþþþjÿÿÿ,ùúû$þþþgÿÿÿªþþþéÿÿÿÿÿÿÿÿíðõÿÂÏáÿ‘¨Èÿb‚°ÿKq§ÿU{¯ÿ`…¸ÿdмÿa‡ºÿYµÿRz°ÿNw®ÿOw¯ÿQx±ÿRx±ÿMs¬ÿGm¦ÿCi¢ÿDk¤ÿIo¨ÿKq©ÿLr¨ÿNu©ÿU}°ÿ_‡¹ÿf¿ÿcнÿXµÿNw­ÿIsªÿKu¬ÿMw®ÿNw¯ÿLs¬ÿJp©ÿIo¨ÿJq©ÿMu®ÿPy²ÿQy²ÿPw°ÿOu®ÿPv®ÿQx°ÿQy²ÿPx²ÿNv°ÿMt®ÿMt­ÿPu®ÿPv°ÿNt°ÿKq­ÿLq¬ÿQw®ÿY²ÿ]ƒ´ÿ[‚²ÿW~°ÿT|®ÿV~¯ÿY‚²ÿ]„µÿZ²ÿQwªÿGl¡ÿDhžÿIm£ÿQu¬ÿTx°ÿQv­ÿLs©ÿMt©ÿRz®ÿV}²ÿSz¯ÿLs©ÿFm¤ÿDk¢ÿEk¡ÿEk¡ÿEk¡ÿGm¢ÿLr¦ÿRx«ÿX}¯ÿ[²ÿY~±ÿTy®ÿPv«ÿPw¬ÿU}±ÿYµÿX´ÿV²ÿU}±ÿSz®ÿNt©ÿHm£ÿDi ÿFj¡ÿIm¤ÿMp¦ÿQt©ÿTy­ÿU{¯ÿRx¬ÿMs§ÿIn£ÿGj ÿGk ÿJo¢ÿPt¦ÿQv¨ÿLp¤ÿDižÿAfœÿEk¡ÿLr¨ÿQw¬ÿTy®ÿV|°ÿY²ÿ[´ÿs”¿ÿœ³ÑÿÅÒãÿîñöÿÿÿÿÿþþþÿþþþéÿÿÿªþþþgùúû$ÿÿÿÿÿÿSþþþžþþþ×ÿÿÿÿþþþÿõ÷úÿÏØæÿœ°Íÿv“»þ[€²ÿ_„·ÿbˆ»ÿ`†ºÿZ‚¶ÿV~²ÿU|±ÿU|²ÿTz³ÿQw±ÿKpªÿCi£ÿ@e¡ÿCh£ÿHm¨ÿKp©ÿLq¨ÿOu©ÿV}°ÿ`‡¹ÿf¿ÿc‹½ÿYµÿNx­ÿIsªÿJt¬ÿLu®ÿMv®ÿLs¬ÿJp©ÿIo¨ÿKrªÿOw¯ÿR{³ÿR{³ÿPw°ÿOt­ÿOt­ÿQw°ÿRz²ÿQz²ÿPx±ÿNu®ÿOt­ÿPu®ÿPu¯ÿMr®ÿIo«ÿJoªÿOu«ÿW|®ÿ[€°ÿ[±ÿX€±ÿV~±ÿV~±ÿX³ÿ\„µÿ\‚´ÿUz­ÿJo£ÿEižÿGk¡ÿMq¨ÿPu¬ÿOt«ÿLs©ÿPw«ÿW~±ÿZµÿV|±ÿNtªÿFl£ÿDj ÿEk¡ÿFl¢ÿFm£ÿHn¤ÿMs¨ÿTz­ÿ[€²ÿ]‚´ÿ[€³ÿU{¯ÿRy®ÿSz¯ÿV~³ÿY¶ÿXµÿW€³ÿV³ÿU}±ÿQw¬ÿJo¥ÿDiŸÿBfžÿDhŸÿIn£ÿPu©ÿVz®ÿV{¯ÿQw«ÿMr¦ÿKo¤ÿKn£ÿKn£ÿKo£ÿNs¥ÿOt¦ÿJo¢ÿCg›ÿ>b—ÿ@fšÿGn£ÿOv«ÿTz¯ÿW}±ÿ^„µÿƒ Çþ©½ÙÿÕßìÿöøûÿþþþÿÿÿÿÿÿÿÿ×þþþžÿÿÿSþþþÿÿÿþþþóõùùúûPÿÿÿ‘ÿÿÿÕþþþýÿÿÿÿùúûÿÓÜèÿ¬¾Öÿ‚žÄÿhŒ»ÿ_…¹ÿ]…¹ÿZ‚¶ÿX€µÿW~´ÿW~´ÿU|´ÿQw°ÿIoªÿCh¤ÿAf£ÿDi¥ÿIm©ÿKo¨ÿMq§ÿPu©ÿW}°ÿ`†¸ÿe‹½ÿbˆ»ÿY´ÿPx­ÿKt«ÿKu­ÿMv¯ÿNw¯ÿMu­ÿKrªÿKq©ÿLs«ÿPx¯ÿS|³ÿS{³ÿPw¯ÿNs¬ÿNs­ÿPw¯ÿRz²ÿS|³ÿS{²ÿQx¯ÿQv®ÿPv®ÿOt¯ÿKp¬ÿGl©ÿGl¦ÿLp¦ÿQv¨ÿUzªÿW}®ÿW~±ÿW²ÿV~²ÿW€³ÿ\ƒµÿ^„µÿY~°ÿPt§ÿIm¡ÿHl¢ÿKo¦ÿMq©ÿMr©ÿMsªÿRy­ÿY€²ÿ[‚´ÿW}±ÿOuªÿIo¥ÿFl¢ÿGm£ÿGn¤ÿGm¤ÿHo¥ÿMs©ÿSz®ÿZ€³ÿ\ƒ´ÿ\‚´ÿX²ÿV}±ÿV}²ÿX´ÿY€µÿY€´ÿY´ÿY´ÿX€³ÿT{®ÿMs§ÿFk¡ÿCgžÿDiŸÿJo¤ÿRw«ÿW|°ÿV{°ÿRw«ÿOs§ÿNr¦ÿOr¦ÿOr¦ÿLp£ÿLp£ÿLq¤ÿIn¡ÿCg›ÿ>b–ÿ?e˜ÿFm ÿOv©ÿU{¯ÿd‡·ÿ†¡Èÿ´ÆÝÿÚãïÿûüþÿÿÿÿÿÿÿÿýÿÿÿÕÿÿÿ‘ùúûPôöùþþþÿÿÿþþþ þþþ;þþþƒþþþÁÿÿÿ÷þþþÿþþþÿäêñÿ½Ìàÿš²Òþv—Âÿa‡ºÿY·ÿY€¶ÿXµÿX~µÿU{³ÿRw¯ÿJoªÿDj§ÿEj§ÿHm©ÿKp«ÿLp©ÿNq¨ÿRv«ÿY~²ÿ`…¸ÿc‰»ÿ`…¸ÿX~²ÿQx­ÿOv¬ÿPx¯ÿQy±ÿQy°ÿOv¯ÿNt¬ÿLs«ÿMt¬ÿPx¯ÿT{²ÿT{²ÿQw¯ÿMs¬ÿMs¬ÿOv¯ÿRz±ÿT|²ÿT|²ÿSz°ÿQx®ÿOu­ÿLr¬ÿHm©ÿDi¥ÿEi¢ÿHl¡ÿLp¢ÿOs¤ÿQw©ÿSy­ÿS{°ÿS{°ÿU~±ÿZ‚´ÿ_…¶ÿ]‚³ÿVz­ÿOs§ÿKo¥ÿJo¦ÿJp§ÿMrªÿPv¬ÿU{¯ÿX±ÿW~±ÿTz­ÿPwªÿNu©ÿMt¨ÿLs¨ÿJq§ÿIo¦ÿIo¦ÿLs©ÿRx­ÿW~²ÿ[‚´ÿ]„µÿ]„µÿ\ƒ¶ÿZ¶ÿY€¶ÿY€µÿY€´ÿ[´ÿ[‚´ÿ[‚´ÿX~°ÿRx«ÿLq¥ÿHn£ÿIo¤ÿNt¨ÿTy­ÿX|±ÿW|°ÿSx­ÿPt©ÿPt§ÿQu¨ÿPt§ÿLq¤ÿJo¢ÿKo£ÿHm¡ÿFjžÿCg™ÿBf™ÿFlžÿTyªÿq½ÿš±ÑþÁÎãÿèíõÿÿÿÿÿþþþÿþþþ÷ÿÿÿÁÿÿÿƒþþþ;þþþ ÿÿÿÿÿÿßæï÷ùú:þþþtÿÿÿ¼þþþïÿÿÿÿÿÿÿÿëïöÿÐÛêÿ©½Ùÿ‡¤Ëÿf‹½ÿX€¶ÿXµÿV}´ÿSz±ÿOu®ÿIo«ÿGm©ÿHn«ÿKq­ÿNs¬ÿNrªÿOs©ÿSw¬ÿ[€´ÿa‡ºÿcˆ»ÿ^ƒ·ÿV|°ÿQw¬ÿQx®ÿT{±ÿT{²ÿRz°ÿPw®ÿNu­ÿLs¬ÿMs¬ÿOv®ÿRy±ÿSz²ÿQw°ÿNt­ÿMt­ÿNv®ÿQy°ÿSz±ÿT{²ÿRz°ÿPw®ÿLs«ÿHn©ÿEj¦ÿCg£ÿDg ÿGjŸÿKn¡ÿMp£ÿNs¦ÿNs©ÿNuªÿOv«ÿR{®ÿY€²ÿ^„¶ÿ`„¶ÿ\€²ÿTy­ÿNtªÿKp¨ÿKp©ÿOt¬ÿSy¯ÿV}±ÿU|¯ÿRx«ÿOv©ÿPw©ÿSz­ÿU|¯ÿS{¯ÿOv«ÿJp§ÿHn¥ÿJp§ÿOu¬ÿU|±ÿY´ÿ^…·ÿ`†¸ÿ`†¹ÿ]ƒ¸ÿ[¶ÿY€µÿZ€´ÿ\‚´ÿ]ƒ´ÿ]ƒ³ÿZ€±ÿV}®ÿRy«ÿPwªÿPw«ÿRy­ÿUz®ÿV{°ÿVz°ÿTy®ÿQvªÿPu¨ÿPu§ÿPt§ÿLr¥ÿIo£ÿHm¢ÿIn¢ÿIm ÿGkÿEi›ÿVw¥ÿ~˜½ÿ§ºÕÿÒÜëÿíñøÿÿÿÿÿÿÿÿÿþþþïþþþ¼þþþtøùû:âèñÿÿÿÿÿÿGm¤þþþ$þþþeÿÿÿ¢ÿÿÿÝÿÿÿûÿÿÿÿüüýÿáèòÿÃÑäÿš³Óþz›Åþ]ƒ¶ÿU|²ÿRx¯ÿMt¬ÿIoªÿGm©ÿKq«ÿOt­ÿPw­ÿOt«ÿOt©ÿSx­ÿ[µÿbˆ»ÿc‰¼ÿ\‚¶ÿSz¯ÿOv¬ÿQx®ÿT{±ÿT{±ÿQx®ÿMt¬ÿLr¬ÿKq¬ÿKr«ÿMt¬ÿPw¯ÿRy°ÿPw°ÿNu®ÿMt­ÿNu­ÿOv®ÿPw¯ÿQx°ÿOw¯ÿLs«ÿHo§ÿEk¥ÿCh£ÿCg¡ÿEh ÿIl¡ÿNq¤ÿPs¦ÿOs§ÿLq¦ÿJp¦ÿKr§ÿPw«ÿW~°ÿ^„µÿa†·ÿ_„¶ÿY~²ÿRx¯ÿNt­ÿNt­ÿRx°ÿV}²ÿW~²ÿTz®ÿOu©ÿMs§ÿPwªÿV~°ÿ[ƒµÿZ‚´ÿT{¯ÿLr¨ÿGl£ÿHn¤ÿMtªÿT{±ÿZ¶ÿ^…¸ÿ`‡¹ÿa‡ºÿ_…¹ÿ\ƒ·ÿZ¶ÿZ´ÿ\‚´ÿ]ƒ³ÿ]ƒ³ÿ\‚³ÿZ²ÿX€±ÿV~°ÿT|¯ÿSz­ÿRw¬ÿSw­ÿTx¯ÿTy¯ÿQw¬ÿPv¨ÿQu¨ÿRv¨ÿNt§ÿKq¦ÿHn£ÿHn¢ÿJo¢ÿPs£ÿm‰°þ¥Âþ¾ÊÜÿáçïÿþþþÿþþþÿÿÿÿûÿÿÿÝÿÿÿ¢þþþeþþþ$W~³ÿÿÿÿÿÿøùû!üýýOþþþþþþÀþþþðÿÿÿÿÿÿÿÿñôùÿÑÜëÿ®ÂÛÿƒ Çÿd‡·ÿPv­ÿLrªÿGm¦ÿEk¥ÿGn§ÿLs«ÿPv­ÿOu«ÿNt©ÿQw«ÿY³ÿa‡»ÿb‰¼ÿ[‚·ÿPy¯ÿLt«ÿNv­ÿRz°ÿQx®ÿMt«ÿIp©ÿHo©ÿIo«ÿKq¬ÿMt­ÿOv®ÿPx°ÿPw°ÿNu¯ÿMt­ÿLt¬ÿLt­ÿMt®ÿMu¯ÿKs¬ÿGo¨ÿDk¤ÿCh¡ÿDh ÿEi¡ÿIl¢ÿNq¦ÿSvªÿTx«ÿRvªÿMq¦ÿIo¤ÿJp¥ÿOv©ÿV}¯ÿ]ƒµÿ`†·ÿ^„·ÿY€´ÿU{²ÿRy±ÿSy±ÿV|³ÿX´ÿX³ÿUz°ÿQu«ÿPt©ÿSx¬ÿW±ÿ\„µÿ\…¶ÿV~±ÿMt¨ÿFl¡ÿFl¢ÿLs©ÿU}²ÿ\ƒ¸ÿ^†¹ÿ_†¹ÿ`†ºÿ_…¹ÿ]„¸ÿ[‚¶ÿZ‚´ÿZ‚´ÿ[³ÿ\‚´ÿ\‚´ÿ\ƒµÿZ‚´ÿW±ÿT{®ÿQw«ÿOt©ÿPtªÿRw­ÿTy¯ÿQw­ÿNu©ÿNt§ÿPv©ÿQv«ÿNt©ÿJp¥ÿHn¢ÿZ}«ÿz–ºÿ¦¸ÐÿÌÖãÿïñõÿÿÿÿÿþþþÿÿÿÿðÿÿÿÀþþþüýþOùúû!ÿÿÿÿÿÿÿÿÿþþþ3ÿÿÿdþþþ£ÿÿÿÒÿÿÿýÿÿÿÿûüýÿæìôÿ¾Íáÿœ±Ñþv“½þ\}¯ÿDi¢ÿBh¡ÿEk¤ÿJq©ÿOu¬ÿNt«ÿNs©ÿOuªÿV~°ÿ^…¸ÿ`‡»ÿY¶ÿNw®ÿIsªÿKt¬ÿOx¯ÿOv­ÿJq¨ÿFm¦ÿEl§ÿIp¬ÿMs¯ÿOv¯ÿPw¯ÿPw¯ÿOv¯ÿNu¯ÿMt­ÿKs¬ÿKs¬ÿKs­ÿKr­ÿIpªÿEl¦ÿCi¢ÿBgŸÿEhŸÿHk¢ÿMp¦ÿSv«ÿW{®ÿW|®ÿUz¬ÿOu¨ÿLq¦ÿLq¦ÿPv©ÿV}¯ÿ\ƒ´ÿ^…¶ÿ\ƒ¶ÿY€µÿW~´ÿV~´ÿW~´ÿX´ÿY€´ÿY´ÿX}²ÿVz°ÿUy®ÿV|°ÿX±ÿ[ƒ´ÿ[„µÿW€±ÿNvªÿFm¢ÿFm¢ÿMt©ÿW³ÿ]…¹ÿ_†ºÿ^…¹ÿ_…¹ÿ^„¹ÿ]„¸ÿ[ƒ¶ÿY´ÿX€³ÿY€´ÿ[‚µÿ\ƒ¶ÿ\„¶ÿY´ÿU}°ÿQx«ÿNt¨ÿMq¦ÿOs¨ÿTw¬ÿVz°ÿRx®ÿOv«ÿOu©ÿRw«ÿSx­ÿPv«ÿ^€¯ÿqŽ·þ•«ÈþºÉÜÿãéðÿüýþÿÿÿÿÿÿÿÿýþþþÒÿÿÿ£ÿÿÿdÿÿÿ3ÿÿÿÿÿÿþþþøùûûüýPÿÿÿˆÿÿÿÊÿÿÿõÿÿÿÿÿÿÿÿíñ÷ÿ×ßìÿ²ÂÙÿ£Æÿ`­ÿFi¡ÿDi¢ÿIo§ÿMs«ÿLr©ÿJp¦ÿLr§ÿS{®ÿ[ƒ¶ÿ]†¹ÿW€µÿMw®ÿHrªÿJt¬ÿNw¯ÿMv­ÿIq©ÿEl¦ÿFm¨ÿKr®ÿPw²ÿRy³ÿQx±ÿPw°ÿOv¯ÿNu¯ÿMt®ÿKs¬ÿKs¬ÿLs¬ÿLs¬ÿIp©ÿEl¥ÿCi¡ÿCgŸÿEi ÿJm¤ÿPs©ÿUy®ÿY~°ÿY°ÿW}¯ÿSy«ÿOu©ÿNt©ÿQx«ÿV}¯ÿZ‚³ÿ[ƒ´ÿY´ÿX€³ÿX€´ÿYµÿYµÿX€´ÿX´ÿY´ÿY´ÿZ~´ÿY~³ÿY~³ÿX²ÿY‚´ÿZƒµÿV€²ÿOx«ÿIq¥ÿHp¤ÿOvªÿX€³ÿ^…¹ÿ_†ºÿ]„¸ÿ]ƒ¸ÿ]ƒ¸ÿ]ƒ¸ÿ[‚¶ÿX€´ÿW€³ÿY´ÿ\ƒ·ÿ]„¸ÿ\ƒ·ÿW²ÿRz®ÿOuªÿLq§ÿKo¥ÿNr§ÿRw¬ÿTz¯ÿSy¯ÿQv¬ÿQvªÿRw¬ÿY}¯ÿn޹ÿ‘¨Éÿ¯ÀÖÿÓÜèÿëðõÿÿÿÿÿÿÿÿÿÿÿÿõÿÿÿÊþþþˆüýýP÷øúþþþÿÿÿþþþþþþ3þþþtÿÿÿªÿÿÿÛÿÿÿõÿÿÿÿþþþÿìðõÿËÕäÿž°Ìÿ}–»þb°ÿUy­ÿKq©ÿJo§ÿJo¥ÿLr§ÿSz®ÿY‚µÿ[„·ÿV~²ÿMv¬ÿIqªÿKt­ÿNw°ÿMv®ÿIrªÿFn§ÿHpªÿNv°ÿSzµÿT{µÿRy²ÿPw°ÿNu¯ÿNu®ÿMu®ÿMu®ÿNu­ÿNu­ÿNt¬ÿKq©ÿGm¥ÿDj¢ÿDh¡ÿFj£ÿKn¦ÿQu«ÿV{¯ÿZ±ÿ[²ÿZ€±ÿV}¯ÿSz­ÿRy¬ÿSz­ÿV~°ÿX€±ÿW€±ÿW±ÿX€²ÿY‚´ÿYƒµÿX³ÿU²ÿT|±ÿU|²ÿX~´ÿZ€µÿ[¶ÿZµÿY´ÿYµÿX´ÿU~±ÿPx¬ÿLt¨ÿLt§ÿQx¬ÿW~²ÿ[‚¶ÿ\ƒ·ÿ\‚·ÿ[‚·ÿ[‚·ÿ[‚¸ÿ[‚¶ÿYµÿX´ÿZ‚µÿ\„¸ÿ]„¸ÿ[ƒ¶ÿV~²ÿSz®ÿPu«ÿMq¨ÿJn¤ÿMq§ÿQv«ÿTz¯ÿTz¯ÿRw¬ÿ]°ÿmŒ¸ÿ‹¤Çþ©¼ÖÿÐÚèÿìðõÿþþþÿÿÿÿÿÿÿÿõÿÿÿÛÿÿÿªþþþtÿÿÿ3þþþÿÿÿþþþþþþúûü*úûýTÿÿÿŠÿÿÿ¸ÿÿÿçÿÿÿÿÿÿÿÿöøúÿÙàêÿÀÌÞÿŸ²Ïÿ„Ãÿb‚³ÿMp§ÿJn¤ÿNs¨ÿU{¯ÿY‚µÿWµÿQz°ÿKsªÿJqªÿMt®ÿOx±ÿMv¯ÿJs«ÿHp©ÿKr¬ÿPw±ÿSz´ÿSz´ÿQx²ÿNv°ÿMu®ÿNv®ÿOv®ÿOv®ÿQw®ÿQw®ÿQw­ÿNtªÿJp§ÿFl¤ÿEk£ÿGl¦ÿKp©ÿPv­ÿU{¯ÿY±ÿ[‚²ÿ[ƒ³ÿY²ÿV~°ÿU}¯ÿV}°ÿW~°ÿV}¯ÿT|­ÿT|­ÿV°ÿY‚´ÿY‚´ÿU±ÿPz­ÿNw¬ÿPw­ÿT{±ÿYµÿ[‚·ÿ[ƒ·ÿZ‚¶ÿX€µÿU}²ÿQy®ÿMu©ÿLu¨ÿOw©ÿRy¬ÿU{¯ÿV|±ÿX~²ÿY€´ÿ[‚¶ÿ[‚·ÿ[‚·ÿZ‚¶ÿ[‚¶ÿ[‚¶ÿZ‚µÿZµÿZµÿX€´ÿU}²ÿQy®ÿMsªÿJo§ÿJn¥ÿMq§ÿPv«ÿSz®ÿW}¯ÿiŠ·ÿˆ¢Åÿ¤·ÒÿÆÒãÿßæïÿùúüÿÿÿÿÿþþþÿÿÿÿçÿÿÿ¸þþþŠúûüTùúû*þþþþþþÿÿÿÿÿÿþþþ1þþþ]þþþ–ÿÿÿÂÿÿÿëÿÿÿÿÿÿÿÿøùûÿßæïÿÄÐãÿ±Ðÿ™¿þf„²þ^°ÿV|°ÿYµÿU~³ÿNv­ÿIp¨ÿIo©ÿMt®ÿQx±ÿOv®ÿIrªÿIp©ÿKq«ÿPv°ÿSy³ÿQy²ÿNv°ÿLu®ÿLt­ÿMv­ÿOv®ÿPv­ÿQw®ÿRx®ÿRx®ÿPv¬ÿLs©ÿIo§ÿHn§ÿIo©ÿMs¬ÿQw®ÿU{°ÿY±ÿ[‚³ÿ\„´ÿ[ƒ´ÿY²ÿY€²ÿY€±ÿX~°ÿT{¬ÿPx©ÿPxªÿU}¯ÿY´ÿY´ÿR|¯ÿKu©ÿHp¦ÿIp§ÿOu¬ÿV}³ÿZ¶ÿ\ƒ·ÿZ‚¶ÿV}²ÿPw¬ÿKr§ÿIp¤ÿLs¦ÿPx«ÿSz­ÿRx­ÿQw«ÿTy­ÿW}±ÿ[‚¶ÿ\„·ÿ[ƒ¶ÿ[ƒ¶ÿ\„·ÿ]„·ÿY€³ÿW}±ÿT{¯ÿS{±ÿRz°ÿOw­ÿKq¨ÿJn¦ÿKn¦ÿMq¨ÿ_€±ÿnºþ‰£Æþ¢·ÒÿÅÑâÿáçïÿùúûÿÿÿÿÿÿÿÿÿÿÿÿëÿÿÿÂþþþ–þþþ]þþþ1ÿÿÿþþþÿÿÿÿÿÿö÷úøùûDÿÿÿpÿÿÿ¨þþþÑÿÿÿ÷ÿÿÿÿþþþÿòõùÿ×ßëÿÁÍßÿ¢´ÏÿŒ£Çÿr‘¾ÿa†¸ÿU}²ÿMt«ÿGn¦ÿIo¨ÿNt®ÿPw±ÿLt®ÿGn¨ÿFl§ÿIoªÿOu¯ÿRx²ÿPx±ÿMu®ÿKs­ÿKt¬ÿMu¬ÿNu¬ÿOu¬ÿPu¬ÿPv­ÿQw®ÿPw®ÿNu¬ÿLr©ÿJp©ÿKrªÿNu­ÿRy¯ÿU{¯ÿX°ÿZ±ÿ[ƒ³ÿ[ƒ´ÿZ‚³ÿZ‚²ÿZ²ÿX°ÿSz«ÿOv¨ÿPw©ÿU}¯ÿY´ÿW´ÿPx­ÿHp¥ÿDk¢ÿFl£ÿLr©ÿTz°ÿX´ÿZµÿX³ÿRy­ÿKq§ÿFl¡ÿEk ÿJq¥ÿQx¬ÿS{®ÿRx¬ÿOt©ÿRw¬ÿW}±ÿ]„¶ÿ^†·ÿ\„¶ÿ[ƒ¶ÿ]…·ÿ[ƒ¶ÿV}±ÿPv¬ÿMtªÿNv¬ÿOw­ÿMt«ÿJp§ÿJn¥ÿSu©ÿjˆ¶ÿŒ¤Çÿ§ºÕÿÅÒãÿÚâíÿñô÷ÿÿÿÿÿÿÿÿÿþþþ÷þþþÑÿÿÿ¨þþþpøúûDöøúÿÿÿÿÿÿþþþþþþÿÿÿþþþNþþþxÿÿÿ©ÿÿÿËþþþïþþþÿþþþÿøùúÿàåîÿÉÔäÿ¬¾Ùÿ•­Ðþx–Àþe†µÿPuªÿIp¨ÿOu®ÿPw°ÿLs­ÿFl§ÿDj¦ÿHn©ÿOu¯ÿTz²ÿSy±ÿNu­ÿLt¬ÿKs«ÿLt«ÿMt«ÿMs«ÿMt«ÿNu­ÿOw®ÿPx¯ÿOv­ÿMtªÿKr©ÿLs«ÿOw®ÿSz¯ÿU|®ÿW}®ÿX¯ÿZ²ÿZ‚³ÿY²ÿY²ÿZ²ÿX°ÿT{¬ÿRx©ÿRy«ÿW~°ÿY´ÿU|²ÿNt«ÿFl¤ÿCi ÿEk¢ÿKq§ÿQx­ÿT{±ÿU}±ÿS{®ÿNu©ÿHn¢ÿDižÿDiŸÿKq¦ÿSz®ÿV|±ÿSy®ÿPu«ÿRw¬ÿY±ÿ^„¶ÿ`‡·ÿ^„¶ÿ\„µÿ\„¶ÿZ´ÿSz¯ÿNtªÿKr¨ÿKs©ÿLs©ÿUy­ÿcƒ²ÿpŒ¸þ¢Æþ¨¹ÔÿÉÔäÿâèñÿøúûÿÿÿÿÿþþþÿÿÿÿïþþþËÿÿÿ©þþþxÿÿÿNþþþþþþþþþÿÿÿþþþùúû'ûüüQÿÿÿzÿÿÿ°ÿÿÿÖþþþùÿÿÿÿþþþÿóõùÿàçñÿÑÛêÿµÄÜÿ›¯Îÿz–¾ÿhˆ·ÿW}±ÿPw°ÿLr¬ÿFk§ÿDi¥ÿIn©ÿPv°ÿSz³ÿRy±ÿNt­ÿKr«ÿKrªÿLsªÿLsªÿLsªÿMt¬ÿMu­ÿOw®ÿPy¯ÿNw­ÿLsªÿJp¨ÿLr«ÿOv®ÿSy¯ÿTz­ÿU{«ÿW~­ÿY€±ÿY³ÿX€²ÿW°ÿW°ÿW~¯ÿV|­ÿV|­ÿW}¯ÿX²ÿW}²ÿRw¯ÿLp©ÿGk¤ÿEj¢ÿHm¤ÿLr§ÿPw«ÿQx­ÿPx¬ÿPwªÿMt¦ÿIn¢ÿEjžÿFk ÿMs¨ÿU|±ÿY€´ÿV}²ÿRx®ÿSy®ÿW}±ÿ[‚µÿ]„¶ÿ\„µÿ\ƒµÿZ‚µÿX³ÿSz¯ÿOv«ÿMs©ÿTy­ÿhˆµÿ}˜¾ÿ™®Ëÿ±Á×ÿÎ׿ÿàæðÿóõùÿÿÿÿÿÿÿÿÿÿÿÿùþþþÖÿÿÿ°ÿÿÿzûüüQùúû'þþþÿÿÿþþþþþþþþþ&ÿÿÿWþþþÿÿÿ«ÿÿÿÈÿÿÿèþþþúÿÿÿÿÿÿÿÿîñöÿ×ßêÿ»ÉÝÿ¥¹ÕÿލËþ~›Äþgˆ¸þZz°ÿLo¨ÿJoªÿPv°ÿSz³ÿQx°ÿMt¬ÿKrªÿKq©ÿLr©ÿLsªÿLs«ÿNv­ÿQy¯ÿR{°ÿQ{¯ÿOx­ÿKs©ÿIp¨ÿKq«ÿOu®ÿRx®ÿRy«ÿTzªÿV|¬ÿY€°ÿY³ÿX€²ÿU~°ÿT|®ÿT{­ÿU|®ÿX°ÿY€²ÿX±ÿTy®ÿOs«ÿKo¨ÿIm¦ÿHm¥ÿJp¦ÿMt¨ÿOvªÿNvªÿNv©ÿPw©ÿPv§ÿMr£ÿImŸÿJn¢ÿQvªÿY€³ÿ\ƒ·ÿY€µÿTz°ÿRx®ÿSz¯ÿW}±ÿY€³ÿ[‚´ÿ[‚µÿY´ÿ]ƒµÿgЏÿn»þ~›Âþ¥Èþ¤·ÒÿºÈÜÿ×ßêÿîñöÿþþþÿÿÿÿÿþþþúÿÿÿèÿÿÿÈÿÿÿ«þþþþþþWþþþ&þþþþþþÿÿÿöøúö÷ú-üýþRþþþuþþþ¥ÿÿÿÉþþþíÿÿÿÿÿÿÿÿûûüÿëïõÿàçðÿÍØèÿ¼Ëàÿ ´Òÿ‹¢ÆÿrŽ»ÿeƒ¶ÿW{³ÿRx²ÿPw¯ÿLs«ÿKq©ÿKq©ÿKr©ÿKrªÿLsªÿOw­ÿR{°ÿT}²ÿS}±ÿNx­ÿJr©ÿHo©ÿKp¬ÿNt¯ÿQw¯ÿRx¬ÿSyªÿU{¬ÿX~°ÿX€²ÿX€²ÿU~°ÿR{­ÿQy«ÿS{¬ÿV~¯ÿW±ÿV|¯ÿRw«ÿOs©ÿNq©ÿMq©ÿKq¨ÿLr¨ÿNu©ÿPwªÿOvªÿOv©ÿQwªÿRw©ÿPt¦ÿKo¡ÿJo¢ÿPw©ÿY€²ÿ\„·ÿZµÿT{°ÿQw­ÿQw­ÿSz®ÿV}±ÿX€³ÿa†·ÿp“¾ÿžÄÿ”­Íÿ§»Öÿ¾ÍáÿÍØçÿßåîÿëïôÿûûüÿÿÿÿÿÿÿÿÿÿÿÿíþþþÉÿÿÿ¥þþþuûüüRö÷ú-õ÷úÿÿÿþþþÿÿÿþþþ!þþþMþþþrþþþÿÿÿ¸ÿÿÿ×þþþèÿÿÿÿÿÿÿÿÿÿÿÿôöúÿÝäîÿÉÓäÿ°¾Øÿ¡³ÒÿަËþ‚Æþp¼þgˆ¶ÿ\°ÿUy®ÿKr©ÿJq©ÿKs©ÿOw­ÿT}²ÿV€´ÿU³ÿPz¯ÿLt«ÿJq«ÿLr®ÿPv±ÿRx°ÿSy®ÿTy¬ÿUz¬ÿV|¯ÿW~±ÿW²ÿW±ÿT|®ÿSz¬ÿT{¬ÿV}­ÿV}®ÿT{¬ÿSxªÿRvªÿSw¬ÿQv­ÿNtªÿMs©ÿOvªÿQw«ÿPwªÿPwªÿRx«ÿSy«ÿQv§ÿMq£ÿKq£ÿPw©ÿW°ÿZ‚´ÿX²ÿT{¯ÿZ²ÿ`ƒ³ÿlŒ¹ÿt”¾þ…¢Çþ“­Îþ§¼×ÿ·ÈÞÿÍÙèÿàèñÿõøûÿÿÿÿÿþþþÿÿÿÿÿÿÿÿèÿÿÿ×ÿÿÿ¸þþþþþþrþþþMþþþ!þþþÿÿÿþþþþþþþþþúûü&øùûEüüýaÿÿÿˆþþþ¨ÿÿÿÑþþþëþþþÿÿÿÿÿýýýÿóõøÿåêòÿÜãîÿÎØéÿÁÎãÿ¬¾Øÿ²Ïÿ‰¢Æÿ{—Àÿiˆ·ÿ[~°ÿOu«ÿOw­ÿT}²ÿWµÿV´ÿQz°ÿNu­ÿLs¬ÿNt¯ÿPw²ÿRy²ÿT{°ÿU{®ÿV{®ÿW|¯ÿW}±ÿX²ÿX²ÿV~±ÿU}®ÿT|­ÿS|­ÿS{¬ÿSz«ÿUz¬ÿW|®ÿX}°ÿUz¯ÿPv¬ÿNuªÿPv«ÿRx¬ÿRw«ÿQw«ÿSy¬ÿTy«ÿRw©ÿNr¥ÿMr¤ÿPw¨ÿU}®ÿZ‚±ÿe‰·ÿo»ÿ€œÂÿŒ¥ÈÿŸµÒÿ®ÀÙÿÂÐãÿÏÛéÿßæðÿèíôÿóöùÿýþþÿÿÿÿÿÿÿÿÿþþþëÿÿÿÑþþþ¨ÿÿÿˆüüýaùúüEúûü&þþþþþþþþþÿÿÿþþþÿÿÿ2þþþQÿÿÿyÿÿÿ–þþþ·ÿÿÿÈÿÿÿßÿÿÿìþþþÿÿÿÿÿÿÿÿÿøúüÿæëòÿØàìÿÄÐâÿ¶ÅÜÿ¤·Óÿ—­Íÿ‡¡Åþ‚žÄþ{›ÄþyšÄÿq“ÀÿjŒºÿa„µÿ\´ÿX|´ÿV{´ÿSz²ÿS{°ÿV}°ÿX~°ÿX~°ÿX}±ÿY~²ÿY€³ÿZ³ÿY€²ÿX°ÿV~®ÿU}­ÿV|­ÿX~®ÿ[€±ÿ[²ÿW|°ÿRx­ÿPv«ÿRw¬ÿTy¬ÿWz­ÿZ}¯ÿ`ƒ²ÿe‡µÿk‹¶ÿm‹µÿr¸ÿx–¼þ…¡Ãþ¨Èþ›²Ïÿ§ºÕÿ¹ÈÞÿÇÓäÿÙâíÿçíôÿøùûÿÿÿÿÿþþþÿÿÿÿÿþþþìÿÿÿßþþþÈÿÿÿ·ÿÿÿ–þþþyþþþQþþþ2þþþþþþþþþþþþþþþôöùùúû*÷ùû;ûüüYþþþrþþþ—þþþ³ÿÿÿÔÿÿÿêþþþÿÿÿÿÿÿÿÿÿùúüÿîò÷ÿçìôÿÝäîÿÖÞëÿËÖæÿÅÒãÿ¹Êàÿ±ÃÜÿ£¹Õÿ˜°Ïÿ‹¤Èÿ„žÆÿ{—Ãÿv”Âÿn½ÿkºÿg‹¸ÿgŠ·ÿc†µÿ_ƒ´ÿ\€³ÿ[³ÿ\ƒ´ÿ\ƒ³ÿ[‚²ÿX€°ÿW~®ÿX¯ÿZ€±ÿ_ƒ´ÿ`„µÿ_‚´ÿaƒ³ÿd†´ÿk‹¸ÿpŽºÿw“½ÿ}˜Àÿ‡¢Åÿ‘©Éÿš°Íÿ¡µÑÿ®¿Öÿ¸ÇÜÿÅÒãÿÍØæÿÖßêÿÞåïÿçìóÿïóøÿúûýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿêÿÿÿÔÿÿÿ³ÿÿÿ—þþþrûüüYøùû;ùúû*õ÷ùþþþþþþþþþþþþÿÿÿÿÿÿþþþBÿÿÿ^ÿÿÿÿÿÿ•ÿÿÿ±ÿÿÿÀÿÿÿÓþþþÜÿÿÿëÿÿÿõþþþÿþþþÿþþþÿýýþÿñôøÿèíôÿÚâîÿÐÚèÿÄÐâÿ½Ëßÿ´ÄÜÿ®ÀÛÿ¥¹Õÿ¢·ÔÿžµÑÿ´Ñÿš±Ðÿ–®Îÿ’«Ìÿ‘ªËþªËþŽ©Êþ¨Éþ‹¦Èþ‹§Çþ¨Èþ‘ªËþ”­Íÿ•­Íÿ–­Íÿ™¯Ïÿ²Ðÿ¤¸Ôÿ¨ºÕÿ¯¿Øÿ¶ÅÛÿÀÎáÿÈÔäÿÒÜéÿÛãíÿèíôÿðó÷ÿûüüÿÿÿÿÿÿÿÿÿþþþÿÿÿÿõÿÿÿëþþþÜþþþÓþþþÀþþþ±ÿÿÿ•ÿÿÿÿÿÿ^þþþBÿÿÿþþþþþþÿÿÿþþþþþþ÷ùûûûý.÷ùû<ûüüRþþþeÿÿÿƒþþþ—þþþ±ÿÿÿÄþþþÝþþþíÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿùúüÿóöùÿíñöÿéíôÿäêòÿáçñÿÛãîÿÚâíÿØáíÿØáíÿÖßìÿÔÞëÿÑÜéÿÐÛéÿÏÚèÿÏÚèÿÎÙèÿÎÙèÿÎÙèÿÎÚèÿÐÛéÿÑÜêÿÒÛéÿÓÜêÿÖÞëÿØàìÿÜãîÿÞåïÿáçðÿåêòÿëïõÿðóøÿõ÷úÿúûýÿþþþÿÿÿÿÿþþþÿÿÿÿþÿÿÿíÿÿÿÝþþþÄþþþ±þþþ—ÿÿÿƒþþþeüüýRøùû<úûü.ùúüþþþþþþÿÿÿþþþþþþþþþþþþ.þþþDþþþ^ÿÿÿpþþþ‰þþþ™þþþ­ÿÿÿ¸ÿÿÿÆþþþÍÿÿÿÖÿÿÿÜþþþåÿÿÿëÿÿÿòÿÿÿ÷ÿÿÿþÿÿÿÿþþþÿÿÿÿÿÿÿÿÿþþþÿþþþÿþþþÿþþþÿÿÿÿÿÿÿÿÿþþþÿþþþÿÿÿÿÿþþþÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿ÷ÿÿÿòÿÿÿëÿÿÿåþþþÜÿÿÿÖþþþÍÿÿÿÆþþþ¸ÿÿÿ­þþþ™ÿÿÿ‰þþþpþþþ^þþþDþþþ.þþþþþþþþþÿÿÿþþþþþþÿÿÿøùûúûü(ûüý5øùû?üýýNþþþZþþþmþþþ{ÿÿÿÿÿÿ™ÿÿÿ¨þþþ²ÿÿÿÀÿÿÿÉþþþÔþþþÛþþþåÿÿÿëþþþòþþþ÷þþþüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿÿÿÿüþþþ÷ÿÿÿòÿÿÿëÿÿÿåþþþÛÿÿÿÔÿÿÿÉÿÿÿÀþþþ²ÿÿÿ¨þþþ™ÿÿÿÿÿÿ{þþþmþþþZûüüNùúü?ûüý5ùúü(øùûÿÿÿþþþþþþþþþÿÿÿþþþþþþþþþ(ÿÿÿ:þþþFÿÿÿUþþþ_þþþmþþþvþþþþþþˆþþþ’ÿÿÿ˜þþþŸþþþ¤þþþ©ÿÿÿ¬þþþ°þþþ±ÿÿÿ²þþþ²ÿÿÿ±þþþ¯þþþ¬þþþ©þþþ¤ÿÿÿŸÿÿÿ˜ÿÿÿ’þþþˆÿÿÿÿÿÿvþþþmþþþ_ÿÿÿUþþþFþþþ:ÿÿÿ(þþþÿÿÿþþþþþþÿÿÿþþþ þþþ÷ùûøùûùúû'ùúü,úûü2úûü6ûûü<ûüü?ùúûCùúûFúûüIúûüJùúüLùúüMùúüNùúüNúûüMùúûLúûüJùúûIùúûFøúûCûûü?ûûü<úûü6ûüý2ûûý,ùúû'øùû÷øúþþþþþþ ÿÿÿþþþþþþþþþþþþþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿþþþþþþÿÿÿÿÿÿÿÿÿþþþþþþþþþþþþÿÿÿþþþþþþÿÿÿÿÿÿþþþÿÿÿþþþÿÿÿÿÿÿþþþþþþþþþÿÿÿÿÿÿþþþÿÿÿþþþÿÿÿÿÿÿÿÿÿþþþþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿü?ÿÿÿÿÿÿü?ÿÿÿÿÿÿü?ÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿðÿÿÿÿÿÿðÿÿÿÿÿÿðÿÿÿÿÿÿàÿÿÿÿÿÿàÿÿÿÿÿÿàÿÿÿÿÿÿàÿÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿ€ÿÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿÿÿÿÿÀÿÿÿÿÿÿàÿÿÿÿÿÿàÿÿÿÿÿÿàÿÿÿÿÿÿàÿÿÿÿÿÿðÿÿÿÿÿÿðÿÿÿÿÿÿðÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿü?ÿÿÿÿÿÿü?ÿÿÿÿÿÿü?ÿÿÿÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿü?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(€ €€€tttvvvvvvvvvwwwvvvwwwvvvvwwwwwvvvuuu€€€nnnooozzz===‚ƒƒpqrttuttustursu"stu$stt&sst&stu$rst"sstttutuvpqr‚‚ƒ===zzzzzz===ƒƒ„noq{{} èèè8ùùùYÿÿÿwÿÿÿ‘ÿÿÿ§ÿÿÿ¸ÿÿÿÇÿÿÿÑÿÿÿ×ÿÿÿÚÿÿÿÚÿÿÿ×ÿÿÿÑÿÿÿÇÿÿÿ¸ÿÿÿ§ÿÿÿ‘ÿÿÿwùùúYèèè8{|| ooqƒƒ„<<<zzz>>>yyyHHHstu­­¯!ÿÿÿHþþþ{ÿÿÿ¨ÿÿÿÎÿÿÿâýýýëö÷øóðòõûìïóÿéíòÿåêñÿâçîÿáæíÿßäíÿÞäìÿàåíÿâæíÿäèîÿçëñÿìîòÿñòõûöö÷óýýýëÿÿÿâÿÿÿÎÿÿÿ¨þþþ{ÿÿÿH­®¯!ttuHHHyyy>>>xxx<<<stu ­®¯#ÿÿÿXþþþ›ÿÿÿÎÿÿþè÷øùõîðôÿæëñÿÚâîÿÅÓæÿ¯ÁÛÿ˜®ÏÿФËÿžÉþv•Áýhˆ´ýb‚°ýd‚±ýc°ýe„²ýkˆµýrޏý|–½þŒ¤Çÿ²Ñÿ«¼Õÿ¿ËÜÿÚâìÿèìòÿïñõÿøøùõÿþýèÿÿÿÎþþþ›ÿÿÿX®®¯#stu <<<xxxwww@@@ AAA‚ƒîîîHÿÿÿ’þþÿÑþþýîóôöýéíóÿÑÚéÿ®½×ÿ§Ìþv”Áýe‰»ýa†»þV{³þGo©þIq¯ÿPy´ÿNw¯ÿGo¦ÿBi ÿGl¤ÿIo¦ÿIo¥ÿOuªÿPu«ÿJq§ÿRw¬ÿX´þPu¬þPr¤þg‡´ý~œÅý–®ÐþµÆÝÿÖàìÿêîôÿôõ÷ýþþýîþþÿÑÿÿÿ’îîîH‚ƒAAA @@@wwwCCCGGH 233¸¹ºÿÿÿ`þþþµÿþýè÷÷øüëïôÿÒÝëÿ¢·Ôþu‘½ýXy®ýPs«þNs®ÿKr­ÿOv°ÿRx±ÿHn©ÿ@g¥ÿJq¯ÿU}·ÿU{±ÿRw¬ÿOu©ÿPt©ÿRx¬ÿSy­ÿ\¶ÿZµÿSz®ÿW~²ÿV}³ÿKq«ÿHm¦ÿOv«ÿQx®ÿX~´ÿa†¸þi‹»ýžÅý©¾ØþÒÝêÿêîóÿ÷øùüÿÿþèþþþµÿÿÿ`¸¹º233 GGHCCChhh¹ººÿÿÿhþþþÂþþýñôõ÷ÿÛâîÿ©ºÕþ€œÃýk޽ýUz±ÿEk¦ÿCi¤ÿHm¨ÿKr®ÿNu°ÿU{³ÿRx®ÿHm§ÿBg¦ÿIp¯ÿPx´ÿLrªÿPu¨ÿSx¬ÿNs¨ÿT{®ÿ\¶ÿX|´ÿPw®ÿS|±ÿU{±ÿNs©ÿPu¬ÿV}²ÿT|±ÿRx®ÿ[µÿY€´ÿPx¯ÿT|³ÿbˆºÿo’¿ýƒŸÇý«¼ÕþÚâìÿóõ÷ÿþþýñþþþÂÿÿÿh¹ººhhh>>>©©ªÿÿÿ_þþþ¾þýýôóõ÷ÿÖßìÿ´Óýeˆ¸ýLq©ÿLtªÿY€´ÿSy°ÿKqªÿLpªÿMs­ÿHo«ÿIq®ÿRzµÿNu®ÿFl¦ÿCj¦ÿIr¯ÿNw³ÿIo¨ÿNs¦ÿTy¬ÿOuªÿW~³ÿcмÿ[µÿIn§ÿRz°ÿT|²ÿHn¤ÿOtªÿRy®ÿPy¯ÿS{²ÿYµÿT|±ÿPw­ÿ\‚·ÿaˆºÿbˆºÿ\µÿPs¨ÿ_€¯ý›²ÑýÖßìÿóõ÷ÿÿþþôýýþ¾ÿÿÿ_©ªª>>>jjj###vvwëììBÿÿÿ§þþýñ÷÷øÿÒÜéÿ“ªËýe‡¸ýU|²ÿLu¬ÿEm¤ÿPw¬ÿ`‡»ÿW³ÿKsªÿNu®ÿQw°ÿHn©ÿElªÿOx´ÿNu¯ÿBi¥ÿBj¨ÿNw´ÿV¹ÿOw®ÿLr¦ÿTz­ÿV}²ÿX´ÿ_‡¹ÿ]„·ÿMr¨ÿQw®ÿX¶ÿKq§ÿIm¤ÿIp§ÿMv­ÿT{±ÿTz±ÿQx¯ÿNv¬ÿZ´ÿa‡¸ÿf‹ºÿc‡¹ÿLp§ÿCi¡ÿV|±ÿkŒ»ý‘¨ÇýÏÙæÿö÷ùÿþþýñÿÿÿ§ëììBvvv###jjjIHH ¬¬­ÿÿÿ~üüüåýüýÿáçðÿ±Ïýc…¶ýNs¬ÿMr¬ÿUz±ÿQy­ÿFn¢ÿRy­ÿa‰¾ÿT}³ÿNu¬ÿU{±ÿRy°ÿGl§ÿEk¨ÿNw²ÿNt¯ÿEk§ÿHo®ÿRz¶ÿW¹ÿV|²ÿLq¦ÿQx«ÿ_†¸ÿ_…·ÿZ‚´ÿY´ÿOvªÿRx«ÿ_„·ÿPuªÿ@c™ÿGk£ÿSz°ÿSy¯ÿQv¬ÿTz²ÿPw­ÿU|®ÿ_†¶ÿaˆ¹ÿ[‚¶ÿNs©ÿLo¦ÿW|±ÿTz°ÿHn£ÿ]€­ý ¶Òýàçðÿûûüÿýüüåÿÿÿ~¬­­ IHHAABôõõAýþþ²ÿþüøñó÷ÿ·ÈÞþu“¿þPu«ÿMr«ÿNq©ÿNs«ÿT{±ÿRy®ÿGm£ÿT{¯ÿaоÿS{²ÿPu°ÿX}µÿQx°ÿCh¤ÿEk¨ÿPw³ÿMq®ÿHmªÿMt±ÿOv²ÿQx²ÿZ¶ÿUy¯ÿQx¬ÿ_†¸ÿb‡¸ÿ[°ÿX}±ÿPv©ÿTy¬ÿc‡¸ÿUy¬ÿ=a–ÿAdšÿUy¯ÿX}³ÿSx®ÿU{²ÿPv¬ÿW|¯ÿbˆ·ÿ_ˆ¸ÿW€´ÿLs©ÿJn¤ÿTy¯ÿU{°ÿKq§ÿKp§ÿW~±ÿp‘¼þ±ÂÙþñôøÿþýüøýýý²ôõõAAAB'''„š úüÿmÿÿþâûûûÿÕÞëþ…ŸÃý[€²ÿW~²ÿQw«ÿSv¬ÿNn¦ÿKo§ÿU}³ÿU|±ÿIo¦ÿU~°ÿaŠºÿPv®ÿLq®ÿUz¶ÿRy²ÿEk¥ÿFn¨ÿPw±ÿJq¬ÿFnªÿIp­ÿHnªÿMs­ÿX~µÿX~´ÿV|°ÿ^…¶ÿ_…¶ÿV{®ÿW|°ÿSy¬ÿOu©ÿ^„·ÿ\‚´ÿCgœÿ;_•ÿMr¨ÿW}´ÿX~µÿX~³ÿTy­ÿ]‚´ÿcŠºÿ_‡¸ÿZƒ¶ÿOw¬ÿKo¦ÿRw®ÿSz°ÿIo¦ÿLp§ÿY€²ÿQy®ÿNtªÿ‡ ÄýØáìþüüüÿÿÿþâùüÿm€Š— '''lll(((°°±ÿÿÿŠýüüô÷øúÿ³ÃÛýaµþBj¤ÿRy¯ÿ^„¶ÿTz­ÿTy¯ÿSv­ÿPt©ÿW|±ÿV|³ÿIq©ÿV~´ÿ^…¸ÿMs©ÿLq¬ÿSyµÿRx²ÿGm¦ÿHo§ÿPx°ÿJq«ÿGp«ÿHp®ÿEk¨ÿLr¬ÿRy¯ÿRy®ÿW~±ÿ]„µÿ\„µÿU|°ÿY³ÿW}±ÿJq¦ÿY€´ÿ`†¹ÿLo¦ÿ?b™ÿFm£ÿRy°ÿW~´ÿ[´ÿZ³ÿ[³ÿX±ÿY€³ÿX´ÿS{°ÿNt¬ÿRw°ÿU{±ÿFl£ÿHn¤ÿ\‚´ÿV~°ÿCj ÿEk£ÿk‹ºþ¶ÆÝýö÷ùÿýüüôÿÿÿа°±(((lll²²³"ÿÿÿ¤ýüûûïñ÷ÿŸ³ÓýUy±ÿCj¦ÿFl¦ÿV|±ÿ^…¹ÿX´ÿV}³ÿX~´ÿV{¯ÿW|°ÿSy²ÿHo©ÿU|²ÿ^…¹ÿSy®ÿTz±ÿV}·ÿPw²ÿCj¥ÿGl¥ÿPv¯ÿJq¬ÿKs¯ÿLt²ÿElªÿJq«ÿQx®ÿSz¯ÿW²ÿ[ƒ´ÿ\ƒµÿY~´ÿZ€¶ÿY~´ÿRv«ÿY~°ÿ_…·ÿOt©ÿ=a˜ÿEj¢ÿTz²ÿT{±ÿX³ÿ]‚¶ÿTy¬ÿKq£ÿPvªÿLsªÿNu¬ÿTz²ÿRx°ÿSy°ÿKq¦ÿJo¤ÿW|±ÿT{¯ÿEižÿKm¢ÿQw®ÿTz®ÿ—­Ëýîò÷ÿþýüûÿÿÿ¤²²³"ÂÂÃ1ÿÿÿºþýüÿáçòþŒ¦ÍþSx²ÿMt®ÿIo©ÿFl¦ÿW~µÿ_†ºÿ[‚·ÿY¶ÿX|´ÿVz°ÿQx®ÿKt®ÿHo©ÿSy¯ÿ\ƒ·ÿX€³ÿU|±ÿT{´ÿQy²ÿDj¦ÿCi¥ÿLt®ÿJs­ÿIs¯ÿKs²ÿIq®ÿIp«ÿMt¬ÿT{°ÿV~±ÿ[‚µÿa†¹ÿ`„¸ÿ\€·ÿV|²ÿRy¬ÿ[±ÿ_„µÿMq¦ÿ;_–ÿDi¡ÿW|´ÿU{²ÿRx®ÿY´ÿVz­ÿKp¤ÿMs¨ÿFk£ÿFk¤ÿRx±ÿQw¯ÿLrªÿRx­ÿOu¨ÿPu©ÿNsªÿAeÿMp¦ÿX}´ÿNu­ÿJq¦ÿ… ÅþßçðþþýüÿÿÿÿºÂÃÃ1üüü9ÿÿÿÉýüûÿÏÙçýz™ÄþW}¶ÿSy²ÿNu¯ÿGm©ÿEl¦ÿXµÿ^†ºÿY‚¶ÿ[‚·ÿY}µÿPt­ÿGn§ÿHpªÿMt«ÿQy®ÿW´ÿYµÿV|³ÿOu°ÿNv±ÿGl¨ÿCi¥ÿLu¯ÿJu¯ÿEq­ÿGp®ÿLr°ÿJp¬ÿHn§ÿPv­ÿRz¯ÿX³ÿeŠ»ÿf‰ºÿ^ƒ¸ÿU{²ÿMt¨ÿZ±ÿ]ƒµÿMr§ÿbœÿAe™ÿOt¥ÿSwªÿNr¤ÿGkžÿ@b–ÿ@c—ÿFjžÿGm¡ÿIn¤ÿIo¥ÿHm¤ÿFhŸÿCfœÿIm ÿNr¢ÿKnŸÿJoŸÿHmÿGjœÿJlÿKn ÿGkÿDg˜ÿGi›ÿGišÿ=`ÿ8[ÿ?c•ÿDižÿHl£ÿNr§ÿRx©ÿPv¦ÿOu¦ÿMq¢ÿDh™ÿBd–ÿCe˜ÿCe›ÿ?b˜ÿ>a–ÿAf˜ÿEkžÿJr¦ÿQy­ÿMr¦ÿIk¢ÿRv­ÿU{±ÿHp¦ÿHp¥ÿTz±ÿOv¯ÿPv®ÿUz°ÿOu«ÿOv«ÿŸµÓý÷ùûÿÿÿÿáíííB%%%===­­®ÿÿÿ±ùùúÿµÅÚýc…´ÿV{®ÿRw¬ÿOtªÿLtªÿAgŸÿBežÿQv«ÿ\´ÿPt¬ÿFm¥ÿHn§ÿJp¦ÿQx«ÿU|°ÿRy°ÿQw¯ÿVy²ÿNq¨ÿDfÿ?`—ÿ?a”ÿJk›ÿLnœÿEg“ÿ;[‡ÿ4Rÿ7U…ÿ=\‹ÿ?_ÿ>^ÿ>_ÿAcÿ?]Šÿ9V„ÿ?^‰ÿDcŽÿEcŽÿ@_Šÿ7Wÿ5Sÿ\ˆÿ@]Šÿ:X„ÿ5S~ÿ2P~ÿ5S‚ÿ<]ŒÿFf—ÿKlœÿHj—ÿAcÿHj—ÿKn™ÿ@bŒÿ=]‡ÿ?_‹ÿ;Z‹ÿ4T†ÿ6W‰ÿGi™ÿKoŸÿDi›ÿLr¥ÿPtªÿNq¨ÿQw¬ÿT{°ÿOu«ÿJp¦ÿGl¥ÿEk¥ÿMs«ÿSw¯ÿPv«ÿKr¨ÿX|¯ÿºÊßýüüüÿÿÿÿ±­®®===jjjvwwÿÿÿ~ÿþýùÑÚçÿ`­þX{®ÿa„¶ÿ[€³ÿV|°ÿNvªÿCj¡ÿGk£ÿQu«ÿTx®ÿNrªÿMs«ÿJqªÿEm¤ÿLs¨ÿSy¯ÿRz¯ÿOu«ÿSw®ÿSv¬ÿHižÿ:[ÿ<\ŽÿGf“ÿGeŽÿ>\ƒÿ4Ouÿ/Hpÿ0Ksÿ1Ltÿ4Pwÿ4Owÿ5Qwÿ8Swÿ6Puÿ0Ipÿ3Nsÿ:Txÿ[…ÿ9Vÿ:Xÿ=[‚ÿ:W|ÿ8Rwÿ8Sxÿ3Mwÿ,Htÿ4P~ÿFe“ÿKlšÿGišÿLp¥ÿQw¬ÿRy¯ÿPw­ÿMt©ÿQv¬ÿQu®ÿJp§ÿHl£ÿKm¥ÿQt«ÿW}²ÿOv«ÿGm¤ÿs•ÀþÞèòÿþýüùÿÿÿ~wwwjjkBBBìììBÿÿÿäóôøÿ…›ÀýEhŸÿZ}°ÿa…¸ÿ`„¸ÿ^ƒ¸ÿOv¬ÿAgŸÿIn¦ÿPu­ÿNq«ÿHm¦ÿLq«ÿJpªÿEk¤ÿNt«ÿY€µÿX~²ÿSx­ÿVz°ÿTx«ÿFhšÿ4U†ÿ5TÿC`†ÿ?[ÿ4Mpÿ+@aÿ(<[ÿ'<[ÿ%;[ÿ*?_ÿ+A`ÿ*@_ÿ+A_ÿ*?]ÿ&:Zÿ*?^ÿ.C_ÿ,A]ÿ-B^ÿ*>\ÿ&;Xÿ(=Zÿ)=[ÿ);Yÿ';Xÿ'[ÿ+@]ÿ(=\ÿ%:Zÿ.Efÿ4Lmÿ1Ilÿ5Mpÿ5Lnÿ0Ijÿ1Iiÿ-Ecÿ+A^ÿ0Fdÿ/Egÿ+Chÿ3Mtÿ>[…ÿGg”ÿLmžÿMr¦ÿJq§ÿHn¥ÿBh ÿAeœÿPsªÿU{³ÿU|±ÿUy­ÿKm¤ÿLp¨ÿ[·ÿSy¯ÿHo¥ÿS{¯ÿ–±Ñýô÷úÿÿÿÿäìììBBBBDDD©ª«ÿÿÿ§üýüÿ±À×ýLn¢þKn¤ÿ^ƒµÿ_…¸ÿ`…¹ÿ`†»ÿNu¬ÿBfŸÿJn§ÿQu®ÿKn§ÿFk¥ÿHn©ÿIn©ÿEj¥ÿLs©ÿ]„¸ÿ^„·ÿSx¬ÿSw¬ÿOs§ÿGk¢ÿ<^”ÿ;[ˆÿCa†ÿ>Xyÿ2Ihÿ&7Tÿ!1Kÿ$4Mÿ 1Kÿ#4Mÿ%6Nÿ"4Mÿ#4Mÿ"2Lÿ0Iÿ$5Mÿ%6Lÿ#3Iÿ#4Kÿ"3Jÿ#4Kÿ$5Lÿ#3Kÿ!0Hÿ 0Hÿ#4Jÿ#4Jÿ!2Jÿ!2Iÿ 1Iÿ"4Nÿ%7Sÿ(;Xÿ-@]ÿ-@\ÿ*?Zÿ+?Yÿ%6Oÿ-Fÿ"3Lÿ)cœÿHm¦ÿQw®ÿX€³ÿX€³ÿIp§ÿJp§ÿX~µÿX}³ÿPv«ÿKs©ÿW|°þ´ÄÛýüüüÿÿÿÿ§ªª«DDDuuuÿÿÿ_ÿÿÿðàçðÿg…³þ?dÿUx®ÿg‹¾ÿd‰ºÿa†¸ÿ`…ºÿQv­ÿEi ÿJn¦ÿOs«ÿHm¦ÿFk¦ÿIo©ÿIoªÿDj¥ÿKr©ÿ\ƒ·ÿ[‚¸ÿQv¬ÿRv¬ÿOs¦ÿ<[ˆÿ,Fnÿ,Ceÿ.D_ÿ':Pÿ.Aÿ0ÿ&ÿ'ÿ'ÿ'ÿ'ÿ'ÿ'ÿ'ÿ%ÿ'ÿ&ÿ%ÿ&ÿ$ÿ$ÿ&ÿ&ÿ$ÿ$ÿ%ÿ%ÿ%ÿ*ÿ#4ÿ';ÿ'<ÿ$5ÿ/ÿ-ÿ.ÿ.ÿ&ÿ ÿ)ÿ,Cÿ(;Vÿ/Eeÿ9Qvÿ?\…ÿ?`ÿ>d•ÿFl¢ÿHj¥ÿGk¤ÿHn¦ÿGm¥ÿPw¬ÿ]…¶ÿU~±ÿNv¬ÿV{²ÿW}²ÿV|°ÿZ³ÿRx®ÿDl¤ÿf†³þÝäîÿÿÿÿðÿÿÿ_uuu===³³³ÿÿÿ½õ÷øÿš°ÎýHn¥ÿDi¡ÿVz°ÿiŒÀÿfмÿ^„·ÿZ€´ÿLr©ÿGl£ÿNr§ÿNt©ÿJp©ÿGl¦ÿIo©ÿHo©ÿEm¥ÿU}±ÿ_†¹ÿV}²ÿOt«ÿVz±ÿNožÿ'8ÿÿ"'/ÿ"'.ÿ$)ÿ"&ÿ$ÿ"ÿ"ÿ"ÿ!ÿ!ÿ!ÿ!ÿ!ÿ!ÿ ÿ ÿ!ÿ!ÿ!ÿ ÿ ÿ ÿ ÿ ÿ ÿ#ÿÿ ÿ ÿ/ÿ&ÿ ÿÿ 'ÿ$ÿ#ÿ &ÿÿ ÿ'ÿ)Aÿ&9Uÿ3Jlÿ8T{ÿ:[ˆÿ;_“ÿFj¢ÿNr«ÿKn§ÿIm¥ÿPw¬ÿZµÿ[‚¶ÿRx­ÿSy¯ÿ^„¸ÿZ´ÿSy¬ÿ\´ÿTz°ÿEl£ÿKsªÿ›²Ñýö÷ùÿÿÿÿ½³³³===uuuÿÿÿhÿÿÿóÐÚçÿ\}¯þGn¦ÿJo¤ÿSw¬ÿc‡»ÿb‡ºÿ[‚¶ÿSz¯ÿJp¦ÿJo¦ÿLq¦ÿNt¨ÿU{±ÿOt¯ÿEk§ÿCk¦ÿIq¨ÿ]…¶ÿ`†¸ÿX}±ÿQtªÿRv­ÿFd”ÿ'ÿZ_cÿ¤¯»ÿ£¯¹ÿœ¨´ÿžª¶ÿž«·ÿ«·ÿœ©·ÿš¨·ÿ™¦µÿ˜¦µÿ—¦µÿ•¥´ÿ”¥´ÿ“¤´ÿ’¢³ÿ‘¢²ÿ¡²ÿ ±ÿŒŸ±ÿŒŸ°ÿ‹¯ÿ‰›¯ÿˆš®ÿ‡š®ÿƒ—«ÿ‘§¾ÿ•©ÿ#).ÿÿ ÿ ÿÿh{Žÿ¨Ãÿ„œ¶ÿ€™³ÿ­Éÿr‰¡ÿÿ ÿ3ÿ.Gÿ*A_ÿ2Nrÿ=]ˆÿEhšÿHo¥ÿLqªÿCgŸÿ@c›ÿPw«ÿY´ÿW´ÿU{±ÿU{¯ÿ[‚µÿZ‚µÿV|®ÿ`ƒµÿTz®ÿEl£ÿQx°ÿk޾þÑÜéÿÿÿÿóÿÿÿhuuu;;;²²³ÿÿÿÁôöùÿ”¬ÍýKp©ÿIn¤ÿIn¢ÿRvªÿ\³ÿa†¹ÿZ¶ÿQw­ÿNt©ÿJm¥ÿAeœÿLq§ÿZ·ÿTy²ÿGl¨ÿEk¨ÿNt¬ÿ\‚µÿ[´ÿ[³ÿVy­ÿPr¬ÿ@]ÿ'5ÿƒ‹”ÿéùÿÿåöþÿÙêûÿÚëüÿØêûÿÕèúÿÔèúÿÓæùÿÐäøÿÎã÷ÿÎâ÷ÿÍâöÿÊàõÿÈÞõÿÆÝóÿÆÝóÿÅÜòÿÂÙñÿÀÙñÿ¾×ðÿ½Öïÿ¼Ôîÿ¹Ôîÿ¸Óíÿ´ÍéÿÇåÿÿ­Éãÿ18Aÿÿ$ÿ ÿÿƒœ´ÿ¶Øúÿ¨Éêÿ¤Åæÿ·Üÿÿ’°Îÿ%ÿ ÿ 0ÿ,Cÿ*?]ÿ2Mrÿ<\‡ÿFjšÿGm¢ÿFl£ÿ@džÿ=bšÿMs¨ÿU~±ÿV~²ÿ\ƒ·ÿY³ÿW~±ÿY³ÿX~±ÿb‡·ÿ`‡¹ÿOv«ÿX|¯ÿ^…¸ÿ–®ÏýñóöÿÿÿÿÁ²²³;;;===ÿÿÿ`ÿÿÿðÒÜéÿd†µþKq¨ÿEiŸÿEjŸÿPt¨ÿW}­ÿ^ƒµÿSy°ÿMtªÿPw«ÿEj ÿ>bšÿNt«ÿY·ÿRx±ÿLr¬ÿJp«ÿPu­ÿ\‚·ÿY€´ÿSw­ÿTy­ÿV|³ÿA`‘ÿ'5ÿ‚Š’ÿæ÷ÿÿãóþÿ×çùÿ×éøÿÖèøÿÖçøÿÕçøÿÔæøÿÑã÷ÿÏâõÿÎáõÿÎáõÿËßôÿÈÞóÿÇÝòÿÆÜòÿÄÛòÿÂÙðÿÁØðÿ¿×ïÿ½Õîÿ¼ÔíÿºÔíÿ¹Óìÿ³ÍèÿÉèÿÿ¤½Õÿ/6>ÿBMXÿš³Íÿm‘ÿ$*ÿk’ÿ¤Ãáÿ—³Ñÿ“°Íÿ¤Åæÿƒ¹ÿ!ÿ ÿ&6ÿ"2Hÿ/Daÿ5Quÿ7Vÿ?b“ÿBgÿFk£ÿKq©ÿIp§ÿQx®ÿT{°ÿMr©ÿV|±ÿZ€³ÿTz­ÿX}°ÿY~±ÿ^ƒµÿeŒ¼ÿ]„¶ÿW}®ÿW²ÿiŒ¼þÑÛéÿÿÿÿðÿÿÿ`===vvv|||ÿÿÿµóõ÷ÿš¯ÎþPu©ÿLq¦ÿEj ÿGl¡ÿSw©ÿUyªÿW|°ÿNt«ÿLtªÿOw¬ÿEk¡ÿBfÿNu¬ÿY¸ÿRy²ÿIo«ÿFl¨ÿLsªÿZµÿW~³ÿLr©ÿSy®ÿ\„¹ÿDd”ÿ'ÿY]`ÿ ª´ÿ§±ÿ—¡«ÿž©³ÿš¥±ÿ‹—¢ÿ‰” ÿŠ–¢ÿˆ”¡ÿ†“¡ÿ†“ ÿ†“ ÿ„‘ ÿ‚Ÿÿÿÿ€ÿŽÿŽÿ}Œ›ÿz‹›ÿzŠ›ÿzŠ›ÿzŠšÿv…—ÿ†š®ÿcsÿÿYgxÿÊëÿÿ”­Ãÿ$+2ÿi|ÿ¨Çåÿ›·Ôÿ–³Ðÿ¨Ééÿ… ºÿ"ÿ ÿ+<ÿ'9Pÿ3Jgÿ=X|ÿ>]ˆÿEgšÿGm¥ÿMs¬ÿU{²ÿSz±ÿSz°ÿOuªÿHn¥ÿNt«ÿW}±ÿQt©ÿNq¥ÿRxªÿV|­ÿ^„´ÿ_‡¸ÿQz®ÿLv¬ÿU|³ÿž´Ôþôöøÿÿÿÿµ|||vvvøøøHÿÿÿæÞåïÿp½ýPv«ÿMr¨ÿIn¥ÿLo¥ÿZz®ÿY{®ÿUz¯ÿTz°ÿRx­ÿPw¬ÿLr¨ÿFl¢ÿMsªÿZ€·ÿRy²ÿIn©ÿDi¥ÿLs©ÿ[‚³ÿSz¯ÿLs¬ÿW}²ÿ\ƒ¸ÿIlžÿ)=ÿ ÿ"(1ÿ$+3ÿ!'/ÿ$ÿ"ÿ,/3ÿ.26ÿ+/3ÿ,/3ÿ+.3ÿ+.2ÿ*.2ÿ*.3ÿ)-2ÿ)-2ÿ).2ÿ(.2ÿ(-2ÿ(-1ÿ',1ÿ',1ÿ',1ÿ&,1ÿ&+1ÿ&+0ÿ(.5ÿ#ÿ#(ÿk|ÿ¸Öóÿ„š¯ÿ#)/ÿk~‘ÿ©Çåÿ›¸Ôÿ˜³Ðÿ©Éêÿ† ºÿ#ÿ ÿ!/Dÿ-A[ÿ9Rrÿ?\€ÿ?_‹ÿIm ÿMrªÿQv®ÿU{²ÿRy°ÿNt«ÿNs©ÿSy¯ÿQx®ÿU|°ÿMr§ÿDgœÿKp¤ÿRvªÿU{­ÿY‚³ÿJtªÿCj¤ÿPw±ÿw•ÅýßæðÿÿÿÿæøøùHwwwwww ÿÿÿ’øøùþ±ÂÚÿ]²ÿQv«ÿPu«ÿOtªÿKo¦ÿXy°ÿ[~³ÿW~³ÿYµÿPuªÿLq§ÿOuªÿKp¥ÿPu«ÿXµÿRw¯ÿLo¨ÿFk£ÿNuªÿ_…·ÿT{®ÿMt«ÿ[‚¶ÿa†ºÿX~²ÿHgšÿ5Rÿ5T~ÿBbŒÿY|ÿ9Vÿ4UƒÿDi›ÿNtªÿPsªÿRv­ÿQx®ÿPw¬ÿTz®ÿXµÿS{±ÿLtªÿIo¦ÿMq§ÿPuªÿQx­ÿLs¨ÿPw¬ÿLsªÿAg¡ÿTx±ÿc†ºÿ­½Öÿö÷÷þÿÿÿ’www www;;;®¯°$ÿÿÿÐéíóÿ€›ÂýPtªÿHl¢ÿKp¦ÿRw¬ÿPu«ÿUy¯ÿW{±ÿX~³ÿU|²ÿNsªÿMr©ÿNr¥ÿLp£ÿPvªÿU{±ÿRu®ÿOr©ÿJn¦ÿMr¨ÿZ€³ÿU|±ÿPx®ÿ^„¹ÿfмÿ_„µÿV|²ÿLr¬ÿMs«ÿZ¶ÿY}°ÿ%7QÿKRZÿÔãëÿðÿÿÿÙêüÿÙëþÿ×ëýÿ×êüÿÕéüÿÓçûÿÑæúÿÏåùÿÎäøÿÍâøÿÊà÷ÿÉà÷ÿÇÞõÿÅÝõÿÄÜõÿÂÛóÿÁÚóÿ¾Øòÿ¾Øñÿ½×òÿ¸ÓîÿªÄÞÿ·Òïÿ•©ÿ',3ÿy¡ÿºÚúÿ«Èçÿ¦ÄâÿºÜýÿ’­Èÿ")ÿ0ÿ&]Œÿ8XŒÿ=_˜ÿHm¨ÿBg ÿ=ašÿHm¥ÿPv­ÿMsªÿOt«ÿRx®ÿPv­ÿTw¯ÿZ~´ÿW|±ÿX}±ÿ`…¶ÿ_…·ÿ_„·ÿW}±ÿSy­ÿMr¨ÿb„¶þÑÛêÿÿÿÿíÿÿÿXvvvwwwÿÿÿ›ôõ÷ÿ¡´ÑÿPs¨ÿGk ÿJo¤ÿV|±ÿT{¯ÿJp¤ÿSu«ÿY|²ÿTy°ÿT{°ÿ^†¸ÿU|®ÿKn¢ÿUz®ÿX²ÿV{°ÿV{¯ÿSy¯ÿLp¨ÿHl£ÿPt§ÿOuªÿSy®ÿb†·ÿ`…¶ÿSx®ÿQw°ÿNu­ÿFl¢ÿSy«ÿ[°ÿ$6PÿBHOÿÁÏÜÿÜìûÿÆÕãÿÆ×åÿÅÕäÿÃÔäÿÃÔåÿÀÒãÿ¾Ðâÿ½Ïâÿ¼Ïáÿ»Ïáÿ¹Íáÿ¸Ìßÿ¶ËÞÿ´ÉÞÿ³ÈÝÿ²ÇÝÿ°ÆÜÿ¯ÅÜÿ¬ÄÛÿªÃÚÿªÃÛÿ¦¿×ÿ¸Ôïÿޤ»ÿ"ÿ#ÿ?JUÿb™ÿIm¦ÿMr«ÿAhŸÿDk¢ÿNu¬ÿKq¨ÿMtªÿRy¯ÿW~³ÿ^‚·ÿ_ƒ¶ÿZ²ÿ^‚³ÿhŒ¼ÿh޽ÿeŒºÿ^„´ÿ[´ÿV{°ÿV|²ÿ¦»Öÿô÷øÿÿÿÿ›wwwvvv;;<¯¯°!ÿÿÿÎéíóÿ{•¾ýGk£ÿGl¡ÿMs¦ÿ[³ÿU{¯ÿGk¡ÿQuªÿ[€¶ÿTz²ÿQw­ÿ\‚µÿUy­ÿHl¡ÿPv©ÿSy®ÿQu¬ÿTx®ÿUz¯ÿNrªÿJn¥ÿMq£ÿPv©ÿW~³ÿ_ƒ¶ÿ\€³ÿX}²ÿU{±ÿKqªÿFk¢ÿU{­ÿY¯ÿ"5OÿCHOÿÂÐÝÿÝíüÿÇÕäÿÈÖæÿÆÖæÿÅÕæÿÄÕåÿÁÓäÿÀÑãÿ¾Ðâÿ¾Ðâÿ½ÐâÿºÎáÿ¹Ìàÿ·ËßÿµÉßÿ´ÉÝÿ³ÈÞÿ±ÇÝÿ°ÆÜÿ®ÅÛÿ¬ÄÛÿ«ÄÜÿ¨ÀØÿ°Êäÿ ·Ïÿcr‚ÿcšÿMr¦ÿ]‚¶ÿZ´ÿRx°ÿU|²ÿNt«ÿHl£ÿMr¨ÿIn§ÿDg¢ÿNq©ÿRv®ÿJp§ÿDjŸÿDižÿNu¨ÿ]…¶ÿ`†·ÿSw«ÿMs¨ÿOv­ÿNu¬ÿOtªÿX}±ÿUzªÿ"4LÿDJOÿÅÒÞÿßîüÿÈ×åÿÊØçÿÉ×åÿÇÖåÿÇ׿ÿÄÕäÿÁÓäÿÀÑâÿ¿Ñãÿ¾Ñäÿ¼Ïáÿ»Îâÿ¹Íáÿ·Ëßÿ¶ËÞÿµÊßÿ³ÉÞÿ²ÇÝÿ°ÆÝÿ¯ÅÜÿ­ÄÛÿ¬ÄÛÿ¨ÀØÿ¦¾Öÿ¼Øôÿ²ÍéÿFPZÿ ÿ,ÿ 1Fÿ)>Zÿ5Nqÿ;W€ÿ>`ÿNt¦ÿSz®ÿMu©ÿJq¦ÿJp§ÿIn¦ÿGk£ÿ?eŸÿBi¢ÿSz®ÿ\„¶ÿ]ƒ·ÿUz®ÿMs¥ÿW²ÿX´ÿW|²ÿZ€²ÿU{®ÿNu©ÿLr¨ÿSx­ÿRw¬ÿQx®ÿPw²ÿW|´þ°ÀÙÿ÷÷øõÿÿÿz{{{===vvwrrsÿÿÿ¨ïòõÿ™°ÏþSw­ÿPuªÿ_„µÿa†·ÿRy¬ÿEj ÿAfœÿOt¨ÿ\€´ÿX}²ÿSz°ÿV~³ÿOv¬ÿIm¤ÿNs¨ÿNt«ÿNr©ÿW|±ÿU{²ÿIo§ÿCiŸÿFjÿSz«ÿa‡·ÿ]‚²ÿMq¤ÿKo¥ÿPv­ÿNu­ÿMr©ÿVz¯ÿTy©ÿ!2KÿEJOÿÆÓÞÿàïýÿÊ×åÿÊÙçÿÉØçÿÉ׿ÿÈ×çÿÅÕæÿÃÓäÿÁÒãÿÁÒãÿÀÒãÿ½Ðâÿ¼ÏâÿºÎáÿ¸Ìßÿ·Ëßÿ¶Êßÿ´ÉÞÿ²ÈÝÿ²ÇÝÿ°ÆÜÿ®ÅÛÿ¬ÄÛÿ«ÃÛÿ¦¿Õÿ³Íèÿ¦¾Øÿ@ITÿ ÿ'ÿ/Dÿ*=Yÿ2Hkÿ:UÿAc‘ÿLr¥ÿSx¬ÿOt©ÿGl£ÿGm¤ÿLq§ÿDhŸÿdœÿDi¡ÿQv­ÿSz®ÿW~²ÿa†»ÿY´ÿNv«ÿKq§ÿFk¢ÿQx®ÿRx«ÿ!3MÿFKPÿËÖàÿçôÿÿÐÜèÿÑÝêÿÐÜêÿÎÜéÿÎÜéÿËÙçÿÊ×çÿÈÖæÿÇÖæÿÆÖåÿÃÔäÿÂÓäÿÀÒâÿ¿Ðâÿ½Ðâÿ½Ïâÿ»Îáÿ¹Íáÿ·Ìßÿ¶ÊßÿµÉàÿ³ÈÝÿ±ÇÜÿ­ÃÙÿ»Ôìÿ­ÅÜÿCLVÿ ÿ(ÿ*?ÿ!4Pÿ)?cÿ.Isÿ;[ŒÿDi ÿGm¤ÿHo£ÿGlŸÿFjžÿChŸÿcŸÿEl§ÿNt®ÿQx¯ÿNu«ÿLr©ÿFl¤ÿLr«ÿV}´ÿV}´ÿOv®ÿDj£ÿˆ¡Ãþíðóÿÿÿÿ§tuvtttwwwuuvÿÿÿ¸êîòÿˆ¢ÇþQu­ÿKo§ÿHl¤ÿQv¬ÿPw«ÿLr¦ÿHo£ÿJq¤ÿRvªÿRv©ÿLp¤ÿNt©ÿU}²ÿPu¬ÿEj¡ÿQw«ÿX~³ÿPu­ÿRx¯ÿQw®ÿGm¤ÿCj ÿJq§ÿSy®ÿU|±ÿ[‚¶ÿ\‚·ÿRx®ÿPv«ÿKp¥ÿChžÿTz°ÿRx¬ÿ0KÿGKPÿÌ×àÿèõÿÿÑÝèÿÒÞêÿÐÝêÿÏÜéÿÎÜéÿÌÚèÿÉØçÿÈ׿ÿÈ׿ÿÇÖåÿÄÔäÿÄÔäÿÂÒãÿ¿Ñãÿ¾Ñáÿ¾Ðâÿ¼ÏâÿºÍàÿ¹Ìàÿ·ËàÿµËàÿ´ÉÞÿ²ÈÝÿ®ÄÙÿ¼Õíÿ®ÆÝÿDLUÿ ÿ(ÿ+?ÿ#6Rÿ*Beÿ/Jtÿ<]ÿFl¡ÿCj ÿIp¤ÿMt¨ÿHm£ÿGl£ÿAfŸÿ6\•ÿBg¡ÿJo©ÿDj¡ÿCj¡ÿEk¥ÿBh¢ÿ>dÿ>cžÿDi¢ÿJo§ÿQx®ÿPw¬ÿAgÿAgžÿNu¬ÿOv«ÿT{±ÿQw¯ÿAgŸÿz–¼þêíòÿÿÿÿ¸uuuwwwwwwsttÿÿÿÇæëðÿ}™ÁýPu­ÿPu¬ÿPtªÿUz¯ÿU{­ÿNt¥ÿJq¥ÿMuªÿPu«ÿQsªÿJn¤ÿMs©ÿX~´ÿPw­ÿGn¤ÿT|¯ÿV{¯ÿJo¦ÿQv¯ÿU{³ÿKq©ÿKq¨ÿT{°ÿT{¯ÿV|°ÿ[¶ÿ[‚·ÿSz°ÿPu«ÿHm£ÿCiŸÿV~²ÿV{®ÿ 2LÿGLPÿÎØáÿêöÿÿÒÝéÿÒÞìÿÐÝéÿÐÝêÿÏÝëÿÍÛèÿËÙçÿÉØæÿÉØæÿÈ×çÿÅÕåÿÅÔåÿÃÓäÿÀÑãÿ¿Ñãÿ¿Ðãÿ¼Ïâÿ»ÎáÿºÍáÿ¸Ìàÿ·ÌßÿµÊßÿ³ÉÞÿ¯ÄÙÿ½Õíÿ¯ÆÝÿDMUÿ ÿ(ÿ+@ÿ$9Uÿ1Imÿ6R}ÿ?`ÿGm¡ÿEl¡ÿLr§ÿMr©ÿCižÿFj ÿIm¤ÿ?dœÿ>džÿEk¥ÿMsªÿKq§ÿ>cÿ>cÿHm¦ÿIn¦ÿJn¥ÿNvªÿRx¯ÿRx¯ÿHn¤ÿDjŸÿNu©ÿPv¬ÿT|±ÿYµÿNw­ÿv•¾ýæêñÿÿÿÿÇsttwwwwwwstt"ÿÿÿÑäéïÿt‘ºýKq©ÿRx®ÿW|¯ÿX}±ÿW|®ÿMt¦ÿNv©ÿU}²ÿTy¯ÿSv¬ÿQu¬ÿNt«ÿU|²ÿPw®ÿJp§ÿV}°ÿSz¬ÿHn¤ÿQu®ÿTy²ÿJp©ÿNt«ÿY´ÿTy®ÿSw¬ÿY~³ÿ^„¸ÿY´ÿRx®ÿIn¥ÿIn¤ÿZ´ÿY}®ÿ#5NÿHLQÿÏØáÿëöÿÿÓÞêÿÓàëÿÒÞêÿÒÞêÿÑÞëÿÎÜéÿÌÚèÿÊØçÿÊØçÿÉØçÿÇÖæÿÅÕæÿÃÔåÿÂÒãÿÁÒãÿ¿Ñäÿ¾Ðâÿ½Ðâÿ»Îâÿ¹Íáÿ¹Íàÿ¶Ëßÿ´Éßÿ°ÄÙÿ¿Öíÿ±ÇÞÿDMUÿ ÿ)ÿ+Aÿ)Z„ÿCd”ÿPu«ÿPv¯ÿIp©ÿHn¥ÿEk£ÿBgŸÿ?b™ÿDi¡ÿIm§ÿOv¬ÿS|¯ÿS|®ÿW²ÿU|±ÿMtªÿKq§ÿV|±ÿZ€´ÿX|¯ÿU|®ÿRz®ÿKr§ÿJo¦ÿUy°ÿU|°ÿSy«ÿ]‚´ÿ}ÆýãéðÿÿÿÿÙstu&wwwwwwstt&ÿÿÿÙáæíÿm‹¹ýKo¨ÿSuªÿ[²ÿV{¯ÿPv«ÿNt©ÿAfÿJp¥ÿ^ƒ¶ÿY}²ÿV|°ÿX~³ÿQu®ÿJm§ÿLp¥ÿQv¨ÿW{°ÿVz±ÿOsªÿJp¦ÿEj¡ÿIm¢ÿV}¯ÿSz®ÿRy®ÿZ€¶ÿTy±ÿMr«ÿOu¬ÿDh¡ÿDh¡ÿW~³ÿSy©ÿ!4MÿIMRÿÑÚâÿîùÿÿÖàìÿ×áìÿÕàìÿÕßëÿÓßëÿÑÝëÿÎÝêÿÍÛèÿÍÛéÿÌÚéÿÉ׿ÿÈ׿ÿÇÖåÿÄÔåÿÃÓäÿÂÓäÿÀÒäÿ¿Ñãÿ¾Ðãÿ¼ÐâÿºÎáÿ¹Íáÿ¸Ìßÿ³ÇÛÿÂØðÿ´ÊßÿENVÿ ÿ)ÿ-Bÿ&9Tÿ8PqÿFb‰ÿDe”ÿHl¢ÿMt«ÿMt«ÿJp¦ÿBiŸÿDj£ÿEj£ÿFk¤ÿJo§ÿMu¬ÿT~°ÿZ„µÿY³ÿOt¨ÿGk¢ÿFk¢ÿV}±ÿ^„¶ÿ^ƒµÿ`†¶ÿQwªÿAg›ÿLq§ÿV|³ÿPv¬ÿMq¥ÿ[€³ÿ‚¡ÉýäêñÿÿÿÿÙttu&wwwvvvstt$ÿÿÿ×âæîÿqºýOt«ÿNp¦ÿQuªÿTy¯ÿPt«ÿNs©ÿFl¢ÿIm¢ÿ[~²ÿ^‚¶ÿ_…·ÿ[µÿLp¨ÿHm¥ÿJp¥ÿMr¦ÿTy¯ÿOt¬ÿIm¦ÿFi£ÿFk¤ÿNuªÿV}°ÿSy®ÿV|²ÿY¶ÿQw®ÿRx­ÿPv«ÿCh ÿHm¥ÿXµÿNu§ÿ2KÿIMRÿÒÜâÿïùÿÿ×áëÿÙãíÿØâíÿÖâìÿÕáìÿÒßìÿÐÞêÿÏÜéÿÎÚéÿÍÚéÿËÙçÿÊØçÿÈØèÿÆÖæÿÅÕæÿÄÔåÿÂÓåÿÁÓäÿ¿Ñãÿ½Ðâÿ¼Ðâÿ»Îáÿ¹ÌàÿµÈÝÿÄÙñÿµÊßÿENWÿ ÿ%ÿ%7ÿ/Gÿ2Geÿ@Y}ÿ?]ˆÿBc’ÿBe—ÿ?b•ÿAe—ÿAgšÿGm£ÿLrªÿKp§ÿNtªÿU}±ÿU²ÿZƒ¶ÿY³ÿMs§ÿLq§ÿLq§ÿV|¯ÿ]ƒµÿcˆ¸ÿi޼ÿQv¨ÿ:^’ÿOs§ÿ]¶ÿUz®ÿRw«ÿ\‚µÿ‚¡Éýæêñÿÿÿÿ×ttu$vvvwwwstt"ÿÿÿÑäéïÿv”¾ýOu­ÿKp¦ÿHl¢ÿJn¤ÿGk¢ÿGk¢ÿHk ÿKn¢ÿVz®ÿ]ƒµÿ_†¹ÿZ~´ÿJn¥ÿEj¡ÿEk¢ÿKq¦ÿUy±ÿSw¯ÿOrªÿJl¦ÿDj¤ÿNuªÿZ²ÿU{¯ÿZ¶ÿ^„¹ÿQv«ÿRw­ÿT{°ÿKq§ÿMt©ÿV}³ÿIn¤ÿ/JÿINRÿÓÜâÿïùÿÿØâìÿÛåïÿÙãïÿØãìÿÖáìÿÔàìÿÒÞìÿÑÞêÿÏÜéÿÍÚéÿÌÛèÿÊÙèÿÉØèÿÈØæÿÆÖæÿÅÕæÿÄÓåÿÂÓäÿ¿Òâÿ¾Ðâÿ½Ðâÿ¼Ïâÿ»Îâÿ·ÊÝÿÅÛñÿ¶ËàÿFOWÿÿ ÿ-ÿ(>ÿ*b—ÿRuªÿ]‚¶ÿUz®ÿV{°ÿ\ƒ·ÿ¢ÊýæëñÿÿÿÿÑstu"wwwwwwttuÿÿÿÇèìòÿ‚ŸÆýQv®ÿMq¨ÿIm¤ÿGj ÿGk¡ÿDhžÿEhœÿSw©ÿW|°ÿV{°ÿW}³ÿU{±ÿNtªÿFk¡ÿBgÿMs©ÿX}´ÿVy²ÿQt¬ÿLq«ÿDj¤ÿJo¥ÿW|¯ÿSz«ÿZ‚³ÿ`…¸ÿPs¨ÿOt©ÿTz¯ÿKq§ÿNt©ÿU|³ÿFl ÿ/HÿJNRÿÔÜâÿñûÿÿÙãìÿÛåïÿÚãïÿ×âìÿÖàìÿÕßìÿÓßêÿÒÞêÿÐÞêÿÎÜéÿÌÚèÿËÙèÿÊØæÿÈÖåÿÆÖåÿÅÕåÿÄÔäÿÂÓäÿÁÒäÿÀÒäÿ½Ïâÿ¼Îâÿ»Îâÿ·ËÝÿÆÛðÿ·ËàÿGOWÿÿ ÿ'ÿ$6ÿ$5Iÿ)]ÿ1Imÿ:V|ÿ;Xÿ;Y…ÿ=^ÿ>`“ÿJl ÿIo¤ÿEl£ÿMuªÿQx­ÿIo¥ÿGl¢ÿQw¬ÿW|±ÿZ³ÿUz­ÿUy¬ÿ`…¶ÿZ€±ÿOu§ÿFjŸÿPu«ÿX}²ÿPtªÿSw­ÿZ‚·ÿ…£ËýçìòÿÿÿÿÇttuwwwwwwuuuÿÿÿ¸ìïôÿŒ¨ËþTx®ÿOs©ÿKp¦ÿHm¤ÿLq§ÿGm¡ÿDiœÿY~°ÿY}±ÿMq¨ÿQw­ÿSy¯ÿNu«ÿGl£ÿEj ÿOv«ÿU|±ÿQu­ÿIn§ÿJqªÿIm§ÿJo¦ÿOv©ÿMt§ÿV}¯ÿ\´ÿNp¥ÿKn¢ÿMq¥ÿEhœÿKn ÿSy¬ÿDh—ÿ,CÿKNRÿÖÞãÿóûÿÿÚãíÿÛäîÿÙãíÿØâíÿÖâíÿÕàëÿÔàêÿÒÞêÿÑÞëÿÏÝéÿÍÚèÿÌÚèÿÊÙæÿÉØæÿÇÖçÿÅÖæÿÄÕåÿÃÓäÿÂÓäÿÀÒäÿ¾Ðâÿ½Ïáÿ»Îáÿ·ÊÝÿÇÜñÿºÏãÿIQYÿÿ ÿ ÿ,ÿ+;ÿ!0Eÿ 1Jÿ(>Zÿ3Llÿ5Osÿ7S|ÿ>^Šÿ@`ÿHgšÿOs¨ÿBi¡ÿAhŸÿPw­ÿOv«ÿIo¤ÿLr¦ÿTy®ÿ\´ÿUz®ÿPuªÿY~±ÿTy«ÿOs¦ÿKp¤ÿTy¬ÿSw«ÿJn¥ÿSx­ÿ[ƒ¶ÿŒ¨Íþêîóÿÿÿÿ¸tuuwwwttttuvÿÿÿ§íðôÿ•­ÎþVz°ÿNr©ÿKp¦ÿMs©ÿKr©ÿEl¢ÿIo¢ÿ]³ÿX{±ÿJn¦ÿRw¬ÿU|¯ÿKr©ÿEj¢ÿKq§ÿQx¬ÿNtªÿJo¨ÿHm¨ÿIo©ÿLqªÿOu¬ÿMtªÿJp¦ÿPv«ÿW|°ÿPq£ÿDe—ÿDd–ÿ@_ÿEe“ÿNpœÿ@_‡ÿ';ÿLORÿÙßäÿôûÿÿÛäíÿÜåïÿÛåîÿÚãíÿØâîÿ×âìÿÔàëÿÒÞëÿÒÞëÿÑÝêÿÎÛéÿÌÛéÿËÙçÿÊÙçÿÉ×çÿÇÖæÿÅÕåÿÄÔäÿÃÓäÿÂÒäÿ¿Ñãÿ¾Ñâÿ¼Íàÿ¸ËÞÿÐæûÿÅÚîÿNV^ÿÿ ÿ ÿ#ÿ,ÿ%3ÿ*<ÿ$4Lÿ)=Wÿ.Edÿ6OtÿYÿ4Lkÿ:W|ÿ>^Šÿ>_’ÿLq¦ÿW³ÿQy®ÿS{²ÿ\„ºÿY€µÿLq¦ÿQx¬ÿX²ÿMs¨ÿFkŸÿUz­ÿ[€²ÿV|­ÿRyªÿRxªÿWz®ÿRu«ÿPu©ÿdˆ·þª¿Øÿòôõûÿÿÿqrrvvv==={{{ÿÿÿwö÷øô«»ÕÿRsªþOt«ÿW~²ÿRy¯ÿDi¡ÿChŸÿU|°ÿ`ˆ»ÿYµÿJo¨ÿNu¬ÿT{±ÿIm£ÿ?cšÿLtªÿXµÿQv¬ÿHo¦ÿLs­ÿLs¬ÿJp¦ÿLs©ÿNuªÿNr©ÿPv©ÿTx©ÿKk›ÿ;Y†ÿ9V~ÿ7Pvÿ7Prÿ8Ppÿ+@^ÿ&ÿLOQÿÜáåÿõûÿÿÝåíÿÞçïÿÜæïÿÜåïÿÚäîÿÙãìÿÖáíÿÕàíÿÕàëÿÓàëÿÐÞëÿÏÜéÿÎÛéÿËÙéÿËÙçÿÊÙæÿÇ׿ÿÆÕåÿÅÕåÿÄÔåÿÂÓäÿ¾ÏáÿÊÜðÿÀÓæÿbkvÿÿ"ÿ$(,ÿ!%(ÿ!%)ÿ %)ÿ!&+ÿ!&,ÿÿ ÿ%4ÿ%7Mÿ+A]ÿ4Nqÿ`’ÿKq¥ÿ\ƒ·ÿ[‚µÿU|±ÿZ‚¸ÿV}²ÿFk¢ÿQtªÿ]€´ÿMr¦ÿHl ÿY~°ÿW}°ÿTz®ÿSy¬ÿKq¦ÿQv«ÿRx­ÿRwªÿk¹þ¼Íàÿö÷øôÿÿÿw{{{===ÿÿÿYÿÿÿìÁÍßÿ[{®þSx­ÿ\³ÿSx¯ÿHn¥ÿEi ÿOuªÿ]„¸ÿ[¶ÿNs¬ÿKqªÿKq©ÿFj¢ÿCi ÿRy°ÿZ·ÿSz°ÿKpªÿHn©ÿHm§ÿLq§ÿPw«ÿNuªÿLr¨ÿOuªÿTz®ÿOp¤ÿ@^ÿ;V~ÿ9Pqÿ5Kfÿ0D^ÿ"3Jÿ ÿW[_ÿìïòÿÿÿÿÿïøýÿàêóÿÛäíÿÞæðÿÜæïÿÚäíÿ×âíÿÖáìÿÕáìÿÔáìÿÓÞëÿÒÞëÿÏÜêÿÌÚèÿÌÚèÿÌÚèÿÊÙèÿÉØçÿÆÖæÿÄÔåÿÄÔåÿ¿ÐáÿÎáôÿ¾ÐâÿELSÿ*-2ÿ˜¨·ÿ·ËÝÿ¥¶Êÿ¥·Êÿ¢µÈÿ¦ºÏÿ¨½Ñÿbnzÿ ÿ$ÿ /Bÿ':Sÿ/Ghÿ;V€ÿ<\ŽÿDhÿZ€¶ÿ`‡»ÿU}²ÿT|²ÿRx®ÿEj ÿQtªÿZ~²ÿLp¤ÿJm ÿX}¯ÿU}¯ÿT{­ÿSz®ÿNuªÿRx®ÿV}¯ÿV}¬ÿo’»þÎÚèÿÿÿÿìÿÿÿYéêê8ÿÿÿáÚâíÿgˆ¶ýSx¬ÿ]²ÿX~³ÿPu«ÿFj ÿFk¡ÿQw¬ÿZ~´ÿMp¨ÿDi¢ÿHm¥ÿIo¥ÿNs¨ÿTz®ÿRy¯ÿLs«ÿKoªÿKn«ÿFk¦ÿHm¤ÿSx­ÿNuªÿKq§ÿRw¬ÿJj™ÿ6Ouÿ&;]ÿ 2Pÿ0Eÿ*;ÿ!0ÿ "ÿÿ*,.ÿŸ¤¨ÿ¸¾ÃÿÃÉÐÿßèðÿáéòÿÜåîÿÛåîÿÙãíÿ×áìÿÕßëÿÕßëÿÔßëÿÑÝêÿÑÝéÿÏÛèÿÌÚæÿËÙæÿËØçÿÉØçÿÈ×åÿÆÕåÿÃÔäÿÃÓäÿ¿ÏàÿÌÞñÿ»ÍßÿNU\ÿHOWÿÅØèÿÞöÿÿÇÜôÿÉßöÿÆÝôÿÌäûÿÎçýÿy‰˜ÿÿÿ+=ÿ&8Pÿ,Dcÿ6Rzÿ=\ŽÿBgžÿV|³ÿ_†ºÿT|°ÿQy¯ÿOuªÿFk ÿPv¬ÿY~³ÿOs§ÿJl¢ÿQvªÿQy«ÿU}¯ÿY€²ÿX}°ÿ\€´ÿ\„µÿX€±ÿt–¿ýßæïÿÿÿÿáéêê8nnn||}!ÿÿÿÎæëñÿv“½ýLq¦ÿVz®ÿX}±ÿQw­ÿGk¢ÿAgžÿHo¥ÿVz¯ÿIl£ÿAdžÿHl¦ÿNs©ÿQt©ÿLq¦ÿOv«ÿMt¬ÿJn©ÿKp©ÿHn¦ÿJn¥ÿVz®ÿPv¬ÿMt¬ÿRv«ÿ,?Yÿÿ%(-ÿ(-2ÿ%(,ÿ%(+ÿ#&)ÿ"%'ÿ!"$ÿ%&'ÿ78:ÿÿCFIÿàäçÿÿÿÿÿðùþÿðüÿÿïúÿÿîùÿÿì÷ÿÿë÷ÿÿéõÿÿæõÿÿæóÿÿäòÿÿâñþÿàïþÿßîþÿÞîýÿÛìüÿÚêüÿØêûÿ×éûÿÓäøÿáöÿÿÑåòÿX`iÿ?EKÿ¯ÀÒÿÈÞòÿµÇÛÿ¶ÉÞÿ²ÇÛÿ¸ÍãÿºÐçÿm{‡ÿÿ!ÿ+=ÿ#6Mÿ+Ccÿ7T{ÿDe–ÿKo¥ÿY´ÿ_‡¹ÿS{¯ÿRz¯ÿPv¬ÿFk¢ÿPu¬ÿV|²ÿMr¨ÿIl£ÿKq¦ÿKr¥ÿRz­ÿT{­ÿW{­ÿ`„¶ÿ^„·ÿW²ÿƒ ÇýèíòÿÿÿÿÎ||}!nnnvvvqrsÿÿÿ¨ïòöÿ¦ÉþIl¢ÿLp¥ÿQv¬ÿOsªÿGk£ÿFl£ÿNt©ÿUy­ÿHm£ÿEi¡ÿKp¨ÿLr¨ÿLr¦ÿMs¨ÿTz°ÿLrªÿIo¨ÿLt«ÿIq¦ÿNs¨ÿ[€³ÿV|²ÿS{³ÿQv©ÿ /CÿMLKÿ¿ÁÁÿÓÔÕÿÄÆÉÿÆÉÌÿÆÊÌÿÇËÎÿÈÌÐÿÃÇÌÿ½ÂÇÿdgiÿÿšž¢ÿÓØÝÿ¶¼Ãÿ¶¼Ãÿ´¼Âÿ²¹¿ÿ°¸¿ÿ°¸¿ÿ°¹Áÿ°¹Ãÿ°ºÃÿ°»Äÿ¯ºÄÿ®¹Äÿ¬¸Äÿ«·Âÿ¨´Áÿ¦³¿ÿ¥°½ÿ¢¯¼ÿž«·ÿ¨µÃÿ™¦³ÿ@EKÿAHNÿ³Æ×ÿËàôÿ·ÊÝÿ¸Ìàÿ¶ÉÞÿ»Ðæÿ¼Óéÿo}Šÿÿ!ÿ,>ÿ$6Nÿ-Ffÿ?]„ÿNožÿOr§ÿX}²ÿ_‡¸ÿW³ÿV~³ÿOw­ÿDk£ÿNs¬ÿQw¯ÿJp¨ÿKp¨ÿNs©ÿKr¦ÿNv«ÿMt¨ÿSvªÿ_¶ÿ\µÿ[´ÿ´Ôþðòöÿÿÿÿ¨rrsvvv==={{{ÿÿÿzúúûõ°¿ØÿMo¤þGk£ÿOr©ÿJn¤ÿFl ÿPw¬ÿSy®ÿPtªÿIm£ÿJo¦ÿNt®ÿJq©ÿEl¢ÿPw«ÿV~±ÿFm£ÿIo§ÿRw®ÿKr¨ÿKr§ÿW~³ÿZ·ÿX·ÿRw©ÿ$4Kÿnopÿõööÿÿÿÿÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýýÿÿÿÿÿ¸½Âÿÿÿ&)-ÿ!$(ÿ!%)ÿ#',ÿ'-5ÿ)/7ÿ',4ÿ$(/ÿ#&,ÿ!%)ÿ #&ÿ"%ÿ"%ÿ"&ÿ!&ÿ $ÿ!%ÿ"(ÿ#)ÿ#)ÿ#)0ÿ!&-ÿ ÿDKQÿºËÞÿËàôÿ¸ËÞÿ¹Íàÿ¶ÊÞÿ¼Ðæÿ½Ôéÿo}Šÿÿ  ÿ*=ÿ%6Oÿ.Eeÿ;X€ÿJjšÿLq¦ÿOv«ÿW²ÿ[ƒ¶ÿV±ÿKt§ÿFm¤ÿNr«ÿNs­ÿLrªÿOv¬ÿLs©ÿLr¨ÿPw­ÿOw­ÿQv¬ÿY|²ÿZ´ÿfйþºËßÿùùúõÿÿÿz{{{===ÿÿÿHÿÿÿçÑÙèÿYz¬ýLq©ÿUx®ÿHm£ÿDjžÿT|­ÿSy¬ÿMq§ÿMp§ÿPv­ÿSx±ÿKp©ÿChŸÿQw­ÿW~²ÿJp¤ÿNs©ÿPt¬ÿKp¨ÿLs©ÿW~´ÿZ‚·ÿT´ÿMs¥ÿ$3Jÿaabÿéééÿþþÿÿðóõÿïóöÿîòõÿìñôÿêðôÿìñöÿôúþÿ¨­±ÿÿÿ#ÿ"4ÿ+Aÿ*Aÿ*Aÿ+?ÿ&9ÿ)ÿÿ ÿ ÿÿÿÿÿ ÿ)ÿ$5ÿ+@ÿ/Hÿ)@^ÿ5Lkÿ!/ÿDJQÿºÌÝÿÍàõÿ¹ËÞÿºÍàÿ¸ËÞÿ½Òçÿ¾Ôêÿq}Šÿÿ ÿ':ÿ$6Pÿ-Deÿ1Luÿ>]ÿHm¥ÿJq«ÿOv¬ÿX²ÿQz¬ÿFn¢ÿOtªÿTw¯ÿLq©ÿKp§ÿLsªÿGn¦ÿHn¥ÿTy°ÿT{±ÿOv¬ÿUy®ÿQv«ÿj‹¸ýØâíÿÿÿÿçÿÿÿH;;;®¯°!ÿÿÿÎçêñÿv‘»ýMs«ÿSx­ÿIo¤ÿBhÿPwªÿT{­ÿRw«ÿV{°ÿV|±ÿQv®ÿGl¥ÿFl¢ÿTy°ÿTy°ÿJo¤ÿOt«ÿLqªÿFl¤ÿNu¬ÿ^…ºÿ\…¹ÿR|³ÿIo£ÿ"2Jÿbbbÿêêêÿÿÿÿÿóöøÿòöùÿðô÷ÿîò÷ÿíò÷ÿîôøÿöüÿÿ§«°ÿÿ ÿ,>ÿ*;Uÿ1Ijÿ%8Tÿ&ÿ")ÿ#*3ÿ#*ÿ$ÿ!ÿÿÿÿÿ ÿ!-ÿ&7Kÿ+?Yÿ.Efÿ0KrÿFg–ÿTw£ÿ&7JÿDKQÿ¸ÉÚÿÎáöÿ»Ìàÿ¼Îáÿ¹Ìßÿ¾ÓèÿÀÕëÿq~‹ÿÿ ÿ':ÿ"5Nÿ,Deÿ2Mwÿ=\‘ÿIo§ÿKr­ÿKqªÿRz­ÿS{¯ÿNu«ÿRv¬ÿX{°ÿQv«ÿLsªÿMs«ÿIo§ÿIo¦ÿSz°ÿT}°ÿV}²ÿY}²ÿKq¦ÿ|˜¾ýëïôÿÿÿÿή¯°!;;;vvvwwwÿÿÿ›óôöÿž±ÍÿMr¦ÿMq§ÿJn£ÿAf›ÿMt¨ÿW~²ÿZ€³ÿ^ƒµÿY€²ÿPv­ÿFl¤ÿKq§ÿV}²ÿPw­ÿHn¤ÿMrªÿJp«ÿDk¦ÿMt¬ÿ]„¹ÿ]‡¹ÿW€¸ÿKp¦ÿ!1Iÿabcÿëëëÿÿÿÿÿôöøÿôöùÿòõøÿïó÷ÿïò÷ÿðõøÿøýÿÿ¨«°ÿÿ ÿ(<ÿ':Tÿ0Hjÿ*Bÿ"$'ÿ…‰ÿ¤«ÿŒ’˜ÿŽ•šÿŽ•›ÿ”œÿŠ’™ÿš£¬ÿ‡ÿ!#ÿ'ÿ'9Qÿ+?\ÿ-Dgÿ1MuÿGjšÿSu¥ÿ$4IÿDKRÿ¹ÊÚÿÏâöÿ¼Íßÿ½ÏáÿºÌßÿ¿ÓçÿÁÖëÿr~‹ÿÿ ÿ*=ÿ!3Mÿ,Eeÿ5Rzÿ@a”ÿKqªÿLs­ÿLsªÿT{¯ÿ\„¶ÿX~´ÿMr©ÿPt©ÿSw¬ÿQx­ÿOv¬ÿNs«ÿPu­ÿOv®ÿT{®ÿc†¸ÿ`ƒ·ÿX|°ÿ¥¹Ôÿõ÷øÿÿÿÿ›wwwvvvÿÿÿXÿÿÿíÌÕåÿYz­þJm¥ÿIk¢ÿCgœÿTz¬ÿZ€µÿ\ƒ¸ÿ_…¸ÿZ€µÿQw®ÿIn¥ÿRy­ÿY€³ÿKr¨ÿHo¥ÿOu­ÿJoªÿFj§ÿMtªÿZ‚´ÿ]„¸ÿ[‚ºÿNs©ÿ"1Iÿbbcÿëëëÿÿÿÿÿõ÷ùÿõ÷ùÿóöøÿðô÷ÿïó÷ÿðõøÿøþÿÿ¨¬°ÿÿ ÿ*?ÿ)CIÿßâäÿÿÿÿÿôýþÿöÿÿÿôþÿÿòýÿÿíùþÿÿÿÿÿØàäÿ6]‡ÿ>`ŒÿAf›ÿFjžÿ!2IÿEKRÿ½ÌÜÿÒåöÿ¾Ïàÿ¿Ñãÿ¼ÏàÿÂÕèÿÄØíÿt€‹ÿÿ!ÿ+=ÿ&9Qÿ0Ghÿ5OxÿCb“ÿPv©ÿU|±ÿW}³ÿNu­ÿJq«ÿLs«ÿGm¤ÿ>b›ÿDgŸÿPu«ÿKq§ÿQw­ÿT|²ÿPx®ÿY€³ÿ]„µÿ\‚´ÿ°ÁÛÿøùùþÿÿÿ’www www÷÷øHÿÿÿæÜãîÿf†µýDj¡ÿFkŸÿOu§ÿQv©ÿU{±ÿ]ƒ¹ÿT{²ÿGl¦ÿAfžÿNs§ÿQv¬ÿJp¨ÿOu®ÿOv°ÿKr­ÿHn§ÿMt©ÿY´ÿY‚µÿY‚¸ÿNr¥ÿ!0Iÿdeeÿëëëÿÿÿÿÿûüýÿûýþÿùûüÿ÷úüÿ÷ùüÿøúüÿÿÿÿÿ¬®°ÿ!&ÿ*Dÿ0Gkÿ8Rwÿ?]ˆÿ)?`ÿ ÿ046ÿ=BHÿ5:@ÿ5:Aÿ5:@ÿ59?ÿ49?ÿ:@Fÿ-14ÿÿ';Yÿ=[‡ÿ=]ŠÿAbÿBc“ÿLq§ÿSw©ÿ&6LÿEKRÿ½ÌÜÿÔæ÷ÿÀÐáÿÁÓäÿ¾ÐáÿÃ×éÿÅÙíÿt‹ÿÿ%ÿ/Bÿ(d›ÿJp¥ÿNt©ÿKq¨ÿRy°ÿPx°ÿKq­ÿGm¨ÿMsªÿX²ÿY‚µÿW€¶ÿIn¢ÿ 0Hÿklmÿòòòÿÿÿÿÿþþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿÿÿÿÿ´·¸ÿ!&,ÿ"6Uÿ8T}ÿ9Vÿ>^Žÿ9Y‡ÿ,Eiÿ,Dcÿ2Jiÿ-Edÿ*B`ÿ'=[ÿ&\ÿ&;Yÿ#7Sÿ+A`ÿ7T€ÿ9[Œÿ=b’ÿEišÿHkŸÿW|³ÿ\±ÿ(9NÿFKRÿ¾ÍÜÿÕçøÿÁÒâÿÂÓäÿ¿ÐáÿÅ×êÿÇÛïÿt€‹ÿÿ!0ÿ#5Mÿ(=Yÿ0Ilÿ1MwÿBc“ÿX~±ÿX€µÿQx¯ÿKr©ÿIn§ÿHm£ÿOtªÿRw­ÿLq¨ÿV|±ÿX´ÿJq©ÿ?f ÿNt©ÿ^„µÿ\ƒ´ÿ›±Ïþòóöÿÿÿÿµ|||vvv===ÿÿÿ`ÿÿÿðÑÛéÿ]°þGn¤ÿRxªÿPu¨ÿMr¦ÿVz°ÿUy±ÿHm¥ÿ@fœÿJp¥ÿKp§ÿHn¥ÿSz°ÿRx¯ÿIoªÿGm©ÿNt«ÿU}°ÿX´ÿYµÿHlžÿ)>ÿA?>ÿ¡ Ÿÿ²²°ÿ¥¤¤ÿ§¦¥ÿ¦¦¥ÿ¥¦¥ÿ¤¤¥ÿ¥¥¦ÿ«¬­ÿnpoÿÿ*BeÿAaÿ>]‹ÿ@b”ÿBfœÿEk£ÿSy°ÿ\‚µÿ\‚´ÿW}®ÿMr¥ÿHn¡ÿMp£ÿJm ÿHkžÿHm ÿChœÿ?f™ÿCjœÿDjžÿHn¤ÿV|´ÿY}¯ÿ'9OÿFKRÿ½ËÚÿÓå÷ÿ¿ÐàÿÀÑâÿ¾ÎàÿÄÕèÿÆØìÿs}ˆÿÿ(=ÿ*?\ÿ,Cbÿ/Inÿ.Juÿ>_ÿT{­ÿU~³ÿHo¥ÿFm£ÿKq¨ÿJo¥ÿOt©ÿPv«ÿJp§ÿPw¬ÿRz¯ÿCj¡ÿ:^–ÿLq¤ÿUz­ÿiЏþÕÞëÿÿÿÿðÿÿÿ`===;;;²²³ÿÿÿÁòô÷ÿ§ÈýKs¦ÿRwªÿQt¨ÿJm£ÿSw­ÿUz°ÿNr©ÿHn£ÿKq¦ÿHo¥ÿHo§ÿTz°ÿSw­ÿJn§ÿIo¨ÿQx®ÿT{°ÿU|²ÿ[´ÿQu§ÿ*?_ÿ$ÿ &-ÿ$*2ÿ#(0ÿ"'/ÿ!&-ÿ%,ÿ &-ÿ!&-ÿ %-ÿ ÿ/ÿ4QzÿBf—ÿDf—ÿFižÿGj¢ÿFk¦ÿKp«ÿRx®ÿY´ÿZ‚µÿQy®ÿGo¥ÿJp¦ÿNtªÿKp¨ÿEk£ÿIp¦ÿOy¬ÿR{®ÿLs§ÿJp¦ÿTz±ÿUz¬ÿ(9PÿLQYÿËÚçÿãöÿÿÎßñÿÏáòÿÌÞðÿÓæùÿÕèûÿ{†‘ÿ"ÿ 3Mÿ/Giÿ3Loÿ7S{ÿ3Q~ÿ:[ŽÿHm¤ÿPu¬ÿDiŸÿGk£ÿQw®ÿLq¨ÿFk ÿFm¢ÿNu«ÿPx­ÿKr§ÿEj¡ÿBf›ÿLp£ÿRv«ÿ”ªÌýóôøÿÿÿÿÁ²²³;;;uuuÿÿÿhÿÿÿóÑÚçÿaƒ±þOuªÿRu«ÿHj¡ÿMq¦ÿRx­ÿOt«ÿLq§ÿJo¤ÿJo¥ÿMt«ÿQv­ÿOs«ÿGl§ÿIo§ÿU|±ÿU}²ÿU{±ÿVz°ÿOtªÿHk¡ÿA`‘ÿ:Zˆÿ=_‹ÿGfÿEeÿ@_Šÿ8Wƒÿ?]Šÿ^‹ÿBd”ÿBg™ÿGm£ÿLq©ÿKo©ÿGj¦ÿDi£ÿGm£ÿSz¯ÿU~²ÿPv©ÿLq¥ÿKr§ÿLs©ÿFl¤ÿFk¤ÿQw­ÿRz¯ÿU}²ÿV|²ÿOu©ÿU}²ÿUz¬ÿ$4JÿGLSÿÁÐÝÿÙê÷ÿÆÔåÿÇ×çÿÃÕæÿÉÛîÿÊÝðÿt~‰ÿ#ÿ'=]ÿ1Mvÿ7RzÿCbŒÿ=]Œÿ=_”ÿHm¥ÿLq©ÿIm¤ÿJn¦ÿOs¬ÿJo§ÿDj¡ÿKr§ÿRz¯ÿMtªÿLq¦ÿOr¨ÿHk¡ÿFj ÿe„´þÒÜéÿÿÿÿóÿÿÿhuuu===³³³ÿÿÿ½õöøÿœ°ÍýV|°ÿX~³ÿNq¦ÿKm£ÿPv«ÿNtªÿIm¤ÿEk ÿIn¥ÿPv­ÿRy±ÿLq¬ÿDj¥ÿGn¦ÿU|±ÿV}²ÿT{°ÿMsªÿJo§ÿNs¬ÿOt¯ÿHp©ÿMuªÿ\ƒ·ÿ_†ºÿY€·ÿNu¯ÿW~¹ÿU{¶ÿDj¥ÿFl¦ÿMs¬ÿLq¦ÿGn¢ÿKqªÿNu¯ÿJq­ÿEl§ÿGn¥ÿKq¦ÿQw­ÿOx®ÿHp¥ÿNuªÿRx®ÿJq¨ÿGm¤ÿPu¬ÿTz±ÿMuªÿNv¬ÿW}³ÿRx­ÿOv¬ÿOs©ÿ$5Lÿ!#%ÿZ_eÿfmtÿ[biÿ\cjÿ[ciÿ^gmÿ_gpÿ47;ÿÿ0Joÿ:Y‡ÿ8U€ÿFg”ÿIl›ÿIn¡ÿRx®ÿOv­ÿKq©ÿKq©ÿKq«ÿIo©ÿJpªÿPw¯ÿRy¯ÿKp§ÿOr¨ÿYz¯ÿQs©ÿIm¢ÿ›°Íý÷øúÿÿÿÿ½³³³===uuuÿÿÿ_ÿÿÿðâèðÿzšÃþV}²ÿSv¬ÿMo¥ÿLr¨ÿIq§ÿChžÿCiŸÿHn¤ÿOv­ÿT|´ÿKq¬ÿDk¤ÿKr§ÿS{®ÿRz¯ÿS{°ÿPv­ÿPu¬ÿOs«ÿLo©ÿCh¡ÿDižÿX}±ÿ\‚·ÿQw¬ÿJo¥ÿU}²ÿSz±ÿBgŸÿBg ÿIn¨ÿMs¬ÿJq©ÿJr¬ÿPy´ÿNv±ÿGo©ÿOw¬ÿTz®ÿMr©ÿJqªÿHp§ÿNv«ÿQw®ÿIn¦ÿOt«ÿSy°ÿLrªÿKq©ÿLs©ÿRz°ÿQx­ÿGn¦ÿFl¥ÿ1Ktÿ&9ÿ)9ÿ"/@ÿ+;ÿ):ÿ$4ÿ!1ÿ#2ÿ+ÿ/Fÿ=]‡ÿFh™ÿ<\ŒÿAd•ÿLp£ÿMq§ÿNt­ÿRz±ÿQx¯ÿMu­ÿNu¯ÿNt¯ÿMt®ÿOw¯ÿNu¬ÿKr©ÿQt¬ÿ[}°ÿTw¬ÿlжþÝäíÿÿÿÿðÿÿÿ_uuuDDDªª«ÿÿÿ§ýþýÿ¸ÉßýY~¯þTx­ÿSv¬ÿIo¨ÿCi¢ÿ>d›ÿIo£ÿOv«ÿNv¬ÿQx±ÿKo«ÿDh£ÿLs¨ÿT{­ÿMs¨ÿRy°ÿZ·ÿV}²ÿOt¬ÿOs­ÿHm§ÿFk¡ÿZ€´ÿ\ƒ·ÿKr¨ÿKq¥ÿ[ƒ·ÿT{²ÿDi¢ÿGl¥ÿJp«ÿJpªÿIo¨ÿJr¬ÿR|µÿPx³ÿIn©ÿSy®ÿY³ÿQw­ÿKqªÿKsªÿOw­ÿMsªÿJo§ÿSx±ÿSx²ÿJn¨ÿMr¨ÿMr¨ÿJp¨ÿJrªÿJp©ÿGm¦ÿBfÿ@c—ÿQt£ÿSu¤ÿHj›ÿNpžÿGh–ÿ7U…ÿ>]‹ÿFe“ÿCd’ÿIk›ÿJnŸÿAd˜ÿ=a—ÿEižÿHm§ÿHn©ÿMr«ÿRz¯ÿQz¯ÿMs«ÿLs«ÿOw®ÿNv­ÿLtªÿMt«ÿQv¬ÿPs¦ÿRu¤þ²Á×ýüüýÿÿÿÿ§ªª«DDDBBBìììBÿÿÿäðó÷ÿ‹¤ÆýV{®ÿWz±ÿKq«ÿCi£ÿ=b™ÿFl¡ÿU}°ÿT|°ÿTz±ÿOr­ÿCh£ÿIo¨ÿSy®ÿJp¦ÿOv¬ÿZ‚¶ÿT|°ÿKq¨ÿNs­ÿLq©ÿKq¦ÿZ´ÿW~µÿFm¥ÿHn¤ÿ[µÿRy¯ÿ@e ÿEk¥ÿJr¬ÿLs­ÿHn©ÿEl§ÿOx±ÿOt¯ÿJnªÿTy°ÿ[‚³ÿZ´ÿPu­ÿJq©ÿOx­ÿQw­ÿOt­ÿRw±ÿQw°ÿOu¬ÿLs¨ÿIn¥ÿDi¢ÿCh¢ÿIn§ÿOu­ÿQy¯ÿMv­ÿYƒ·ÿ\ƒ¸ÿKqªÿU}²ÿ[„¶ÿHm£ÿHm§ÿT{³ÿQw­ÿJo£ÿAf›ÿ;`–ÿ;`–ÿ>a˜ÿGk£ÿIo¨ÿGl¥ÿKr¨ÿMtªÿIp¨ÿLsªÿPx®ÿKq¨ÿNs«ÿV{±ÿPt©ÿDižÿ™»ýðòöÿÿÿÿäëëìBBBBjjkwwwÿÿÿ~þýüùØàëÿp¼þSz°ÿOu­ÿIn§ÿCgŸÿBgÿPw¬ÿV|³ÿSx±ÿMs®ÿEl§ÿIo©ÿOt«ÿIn¤ÿMtªÿX´ÿU}±ÿKq¨ÿKq«ÿKp¨ÿLr¦ÿ[‚·ÿW~µÿEl¥ÿDj¢ÿTz¯ÿQv®ÿ@f¢ÿDm¨ÿLu°ÿNw²ÿHmªÿAf¢ÿMt­ÿPv°ÿLqªÿSx®ÿY~²ÿZ³ÿPw­ÿMu¬ÿV³ÿV}±ÿOt¬ÿNt«ÿNu«ÿMv¬ÿGq§ÿGo¥ÿAgžÿ>bšÿIm¥ÿRx¯ÿV}²ÿNw«ÿMv©ÿU|±ÿNtªÿOu©ÿU|¯ÿGl ÿDk ÿQy®ÿLq§ÿBfœÿb˜ÿGk¡ÿLq¨ÿKq©ÿKq§ÿGn¥ÿIs«ÿOx¯ÿRy¯ÿLq©ÿOs©ÿ^ƒ¶ÿPw­ÿ^~®þÑÚçÿÿþýùÿÿÿ~vwwjjj===­­®ÿÿÿ±ûûûÿ¹Êßý^†¸ÿOv¬ÿLq§ÿKp§ÿEk¢ÿJq©ÿRx²ÿNu®ÿHo©ÿCi¤ÿCh¢ÿLp©ÿJn¥ÿLr©ÿU|³ÿW}´ÿQw®ÿMs¬ÿHn¦ÿLs¨ÿ[‚·ÿW}³ÿHn¦ÿBi ÿOu¬ÿMs¬ÿ?g£ÿGp¬ÿPw²ÿPw²ÿIp¬ÿCh¢ÿJq©ÿOv¯ÿNs­ÿRx®ÿUz°ÿQv­ÿMu«ÿOx®ÿV³ÿV}±ÿOtªÿLp§ÿMs©ÿHq§ÿCl¢ÿGo¥ÿCgÿ>b˜ÿGl£ÿMr©ÿRx®ÿQv­ÿIp¦ÿNu«ÿW~³ÿV~²ÿRy®ÿMs¨ÿNu©ÿOw­ÿHn¥ÿBgÿBhžÿGm£ÿHo¥ÿEj¢ÿIl¦ÿKpªÿNu­ÿU|²ÿRz¯ÿJsªÿIr¨ÿRy°ÿUy²ÿTy®ÿ\ƒµÿ`…·ÿ±ÂÚýúûûÿÿÿÿ±­­®===%%%íííBÿÿÿáøùûÿ¢¸ÕýQx­ÿNtªÿQy®ÿKs©ÿJr¨ÿPx®ÿOw¯ÿIn¨ÿBeŸÿBfŸÿNtªÿNtªÿLtªÿRy°ÿU|³ÿU}³ÿPw¯ÿFm¥ÿMu«ÿZ€µÿRx®ÿKp§ÿFl£ÿLq©ÿFl§ÿ=e¢ÿFp«ÿNu¯ÿPw±ÿLs®ÿCj¤ÿEl¥ÿLs®ÿLs®ÿNv®ÿPx®ÿJrªÿOv­ÿPx®ÿMu«ÿQw®ÿSw®ÿNs¨ÿNtªÿJp§ÿAhžÿDjŸÿEi ÿAgÿIp¦ÿQx­ÿT{¯ÿSy®ÿOt«ÿLsªÿQy®ÿX³ÿSy®ÿOt«ÿSy¯ÿNu«ÿFm¤ÿFn¤ÿGl¤ÿCh¡ÿCj¡ÿEl£ÿGm§ÿHn©ÿMs®ÿW~¶ÿW€¶ÿKrªÿFl£ÿQw­ÿW}³ÿSz®ÿ\ƒ´ÿ¥»ÖýöøûÿÿÿÿáíííB%%%jjjDDEÿÿÿnÿþþôîò÷ÿ‡¡ÅþNu¬ÿT{¯ÿMv©ÿKr§ÿLtªÿNu­ÿMq«ÿCg¡ÿGk ÿW}¯ÿSz¯ÿMt¬ÿS{±ÿS{±ÿRy±ÿLr¬ÿCh¤ÿPw¯ÿ\ƒ¸ÿNu¬ÿFm¥ÿIn¥ÿLrªÿDj¦ÿAh¤ÿIp«ÿJpªÿNu¯ÿMw±ÿCk¦ÿDk¥ÿMu¯ÿLs®ÿMt¬ÿPy®ÿKtªÿOw­ÿTz°ÿNt¬ÿPv­ÿW|²ÿPw«ÿIo¤ÿHm£ÿFk¡ÿFl¢ÿFl¢ÿDj ÿQv­ÿV|³ÿT{®ÿT|¯ÿW}²ÿOtªÿKq¥ÿSy¬ÿOuªÿGl¤ÿNrªÿOt«ÿHm¤ÿFl¤ÿDj¤ÿ?dÿ@eÿCi ÿJr«ÿLs®ÿInªÿQx°ÿVµÿOu­ÿKp¨ÿPv«ÿRw­ÿPv¬ÿލÊþðôøÿþþýôÿÿÿnDDDjjjGGF…› ÿÿÿŠýüüüÝäîÿr»þKr©ÿNs§ÿMr¨ÿIn§ÿKq«ÿMr¬ÿBfŸÿGjžÿ]´ÿW|³ÿMs¬ÿQx®ÿOu¬ÿNt­ÿHn©ÿAf¢ÿRw¯ÿ`…ºÿOv«ÿBi ÿFn¤ÿPw®ÿHn§ÿDi¢ÿNt­ÿJq¬ÿLs¯ÿOy²ÿGoªÿFn§ÿJr¬ÿOu¯ÿRx±ÿNv­ÿHp¦ÿIq¦ÿQx®ÿNs«ÿLr¨ÿV|²ÿU|±ÿIo¤ÿHm¢ÿLq§ÿLr©ÿFl¢ÿDjŸÿRw¯ÿQv®ÿHn¤ÿTz®ÿ]‚¶ÿLq¦ÿHm¡ÿQuªÿKq¦ÿIn¥ÿIm¥ÿLp§ÿNq¦ÿLp¨ÿJq©ÿGm£ÿEj¡ÿGl¤ÿNt®ÿMr­ÿHn¥ÿMuªÿRz¯ÿPx®ÿQw­ÿQw­ÿHo¨ÿv”¿þáèñÿüüûüÿÿÿŠ…› GGF°°±ÿÿÿ£ýüûÿÍ׿þe„³ÿKq§ÿRw­ÿKp©ÿLr¬ÿLr¬ÿDg ÿIl¡ÿ]¶ÿX~µÿRx¯ÿSx®ÿNt«ÿNu­ÿLq«ÿFk¥ÿTx°ÿc…»ÿSu­ÿCi£ÿEn¥ÿOw®ÿIn§ÿEi¢ÿMr¬ÿKpªÿMs­ÿOv²ÿIq«ÿGp©ÿHo«ÿOu¯ÿTz¯ÿJp¦ÿDj¡ÿKr¨ÿSz¯ÿNuªÿFm¤ÿNt©ÿW}±ÿSy­ÿPvªÿS{®ÿQx®ÿEl£ÿBi ÿMs«ÿMq«ÿGl£ÿU{¯ÿ]ƒ¶ÿLr§ÿIl£ÿPv«ÿOu«ÿRx®ÿKo¨ÿHl¤ÿNq§ÿOu©ÿRy¬ÿOvªÿFm¢ÿEj¢ÿMqªÿLp©ÿMrªÿNt«ÿHp¥ÿPy¬ÿW}²ÿMt­ÿe†·ÿÐÛéþÿþýÿÿÿÿ£°±²&&&²³³#ÿÿÿºüüüÿÃÎàýd†¶þQx¯ÿQv­ÿLrªÿJp©ÿFj¢ÿKo¥ÿ^ƒ·ÿZ‚·ÿQy®ÿRx­ÿRz°ÿSx²ÿQu¯ÿOsªÿU{®ÿ`„¸ÿRu­ÿEj¦ÿIq¬ÿRz²ÿLqªÿFk¥ÿKqªÿLq©ÿOv­ÿLt®ÿHpªÿIsªÿJp­ÿOt°ÿSy­ÿKp¥ÿKp§ÿRy®ÿV~±ÿU}°ÿLr©ÿHn¦ÿOtªÿTy®ÿV}¯ÿW²ÿQy¯ÿIq¨ÿHp¦ÿNt¬ÿOu¬ÿRx®ÿW}²ÿW}²ÿTy°ÿMrªÿQx­ÿV}±ÿRv«ÿKo¦ÿMr©ÿPuªÿPt©ÿLs¦ÿLt§ÿIp¤ÿHn£ÿQv¬ÿOv¬ÿTy¯ÿWz±ÿIn¤ÿMu©ÿR|²ÿc‡¸þÃÐãýüýüÿÿÿÿº³³³#&&'&''º»»1ÿÿÿÉúûûÿÄÑãýfˆ¸þIp©ÿKp©ÿMrªÿIm¦ÿIo¤ÿ^…·ÿ\„¸ÿLs©ÿLs¨ÿV~´ÿT{´ÿPt®ÿPt«ÿQw«ÿZ´ÿQw­ÿCj¥ÿJs¯ÿX~·ÿMr«ÿAg¢ÿIqªÿMt¬ÿMu­ÿKs¬ÿIq«ÿIr¬ÿHp«ÿMs­ÿVz°ÿX}°ÿW~±ÿW}¯ÿU|®ÿV~²ÿTz°ÿRv¯ÿNr¬ÿJp§ÿQx­ÿRx®ÿLtªÿMvªÿMt©ÿQw­ÿV|³ÿU|²ÿQx®ÿPv«ÿY³ÿRz®ÿQy¬ÿ\´ÿQs©ÿKp¥ÿS{®ÿU|°ÿRx­ÿGm¢ÿEk ÿOw«ÿU{¯ÿV|°ÿRy¬ÿU|°ÿY³ÿMr§ÿEl£ÿc†µþÁÐâýûûûÿÿÿÿɺ»»1&''lllýýý9ýýýÍüüüÿÅÑãýa‚²þBh¤ÿLq©ÿKp§ÿIp¤ÿZ‚´ÿZ¶ÿOu«ÿPw«ÿW´ÿPw°ÿHm§ÿHm¥ÿNuªÿ^…¸ÿX~³ÿFn©ÿIq®ÿTz´ÿGl¥ÿ?f ÿKr­ÿLs®ÿIs¬ÿLs¬ÿMs¯ÿIr®ÿIr¬ÿKr¬ÿTy¯ÿ_„·ÿ^„µÿX}¯ÿRx«ÿRy­ÿX~³ÿ[·ÿTy²ÿKq©ÿKr©ÿJq¨ÿIq¦ÿIq¦ÿDj ÿMs©ÿYµÿV|²ÿQx®ÿQx¬ÿY²ÿQy¬ÿNvªÿ\‚µÿPs¨ÿLq¦ÿV°ÿT|°ÿRy®ÿNs¨ÿIn¢ÿSz¬ÿW~²ÿQv«ÿOt§ÿRx¬ÿSz¯ÿJq¨ÿcƒ±þÂÎàýûûúÿýýýÍýýý9lllüüü9ÿÿÿÉüüüÿÍ׿ýlŠ·þBi£ÿFm£ÿMs¦ÿZ‚´ÿX€¶ÿRy°ÿS{°ÿU|³ÿMs­ÿFm¦ÿGm¤ÿOv¬ÿa‡ºÿ\‚¶ÿMt­ÿLt®ÿOw¯ÿEk¢ÿEk£ÿNt°ÿLt°ÿKu¯ÿNv°ÿQw²ÿMu°ÿMs¯ÿNs®ÿU|²ÿ^ƒ·ÿ[€²ÿZ²ÿV|°ÿMu©ÿS{¯ÿ[¶ÿUz²ÿNuªÿKr¨ÿKs¨ÿKr¨ÿDi¡ÿ>cšÿIo¥ÿU{±ÿU{°ÿSz®ÿV}±ÿX±ÿPvªÿLr¨ÿV|°ÿNs§ÿOv¨ÿV~²ÿMtªÿKq¥ÿRwªÿQvªÿX~±ÿW}²ÿMr¨ÿNq¥ÿOu¨ÿKs©ÿu”¾þÐÚéýüüüÿÿÿÿÉüüü9ÂÂÃ1ÿÿÿºþýüÿÝäîþ€šÀþEk¢ÿLs¨ÿbˆºÿ\„·ÿMv­ÿNv¯ÿRx±ÿKrªÿIp¨ÿKr¨ÿPx­ÿaˆºÿ\ƒ·ÿMu¬ÿNx®ÿOv®ÿIo§ÿJp©ÿPw±ÿOw±ÿPw°ÿPx±ÿNv°ÿOv¯ÿOt°ÿMs¯ÿW}³ÿ\´ÿT{¬ÿZ±ÿ[‚´ÿJq¥ÿKp¦ÿW{³ÿOv­ÿLt©ÿPw¬ÿLt©ÿHo¥ÿDiŸÿDiŸÿOs¨ÿVz¯ÿRw¬ÿRy­ÿX€³ÿV±ÿOvªÿHm£ÿOtªÿQt©ÿTz­ÿRy®ÿGl¢ÿGkŸÿPu¨ÿNr§ÿQv«ÿV{°ÿTy®ÿTy­ÿUz­ÿ‡¡ÄþßæðþþþýÿÿÿÿºÃÃÃ1²²³"ÿÿÿ¤ýýüûíñöÿ–«ÊýW{®ÿ_…¹ÿ_…¸ÿS{°ÿRy±ÿOt®ÿCh¢ÿEk¥ÿKq¨ÿQy¬ÿd‹½ÿ^†¹ÿKt«ÿKu­ÿMu­ÿIo¨ÿLt­ÿQz³ÿOu®ÿQv¯ÿQy²ÿNu¯ÿOu®ÿOu¯ÿJp«ÿTz®ÿ\ƒ²ÿV~°ÿW€±ÿ]„µÿMr¦ÿEiŸÿQu¬ÿNtªÿQy­ÿX~³ÿIo¦ÿDj ÿEk¡ÿJp¥ÿW|¯ÿ[€³ÿRx­ÿS{°ÿYµÿV²ÿRx­ÿFk¡ÿDhŸÿNr§ÿU{¯ÿOu©ÿIl¢ÿJm¡ÿPu§ÿGkŸÿ@e›ÿNt©ÿRy®ÿ`…·ÿ£¹Öýîòöÿýüûûÿÿÿ¤²²³"lll(((¯°±ÿÿÿŠýýüôö÷øÿµÅÛýr“ÀþX€¶ÿW´ÿX~µÿMs­ÿBh¥ÿHl¨ÿLp¨ÿTy­ÿc‰»ÿ]„·ÿOv¬ÿNv¯ÿOw¯ÿLrªÿNv®ÿT|³ÿOu­ÿNt­ÿS{³ÿS{±ÿQw®ÿLp­ÿEj¥ÿLp¤ÿSx©ÿU|°ÿU~²ÿ]„¶ÿW|®ÿJn£ÿJo¦ÿMsªÿW}°ÿX±ÿMt¨ÿIp¥ÿHn¥ÿKq§ÿV|°ÿ]ƒµÿZ€´ÿXµÿY€´ÿZ‚´ÿX²ÿLq¦ÿEj ÿPu©ÿX}±ÿQvªÿPs§ÿNr¥ÿKp£ÿHlŸÿ>c–ÿGn¢ÿn޼þºÊàýøùûÿüüüôÿÿÿа°±(((lll'''€Š— ùûþmÿÿÿâûûüÿØáîþ‘«Ïý]„¸ÿQx°ÿKr¬ÿIo«ÿOt­ÿOsªÿW|±ÿcˆ¼ÿY~²ÿPw­ÿT{²ÿQx®ÿLs¬ÿMs¬ÿRy±ÿPv¯ÿMu­ÿQy°ÿRz±ÿLs«ÿEk¥ÿCg¡ÿJm¡ÿNr¥ÿLr§ÿOvªÿ[‚´ÿ`„¶ÿSy®ÿKqªÿSy°ÿV}°ÿOu¨ÿRy¬ÿX€³ÿNtªÿHm¤ÿQw®ÿ\ƒ¶ÿa‡ºÿ]ƒ¸ÿZ€´ÿ]ƒ³ÿ\‚³ÿV~¯ÿR{­ÿSy­ÿUy¯ÿRx­ÿPu¨ÿPu¨ÿIo¤ÿEkŸÿMp ÿ†ž¿ýÙáíþüüüÿÿÿþâúüÿm„š '''AABôõõAýþþ²ÿþüøóõùÿ¶ÇÞþoŽ»þHm¦ÿAh£ÿOu¬ÿOuªÿTz®ÿaˆ¼ÿT}³ÿKt«ÿQx®ÿIp¨ÿGn©ÿMt®ÿPw¯ÿOv¯ÿLs¬ÿLs­ÿKr­ÿDk¥ÿCgŸÿIl¢ÿSv«ÿUz¬ÿLq¦ÿLr§ÿZ²ÿ_…·ÿW~´ÿT|³ÿX´ÿX}²ÿRv¬ÿV|¯ÿ]…¶ÿRz­ÿEk¡ÿQx®ÿ^†ºÿ`†ºÿ^„¹ÿZ‚µÿY³ÿ\ƒµÿ[ƒµÿU|¯ÿOs¨ÿQu«ÿUy¯ÿOu©ÿNt©ÿMs¨ÿf‡±þ°ÁÖþñô÷ÿþýüøýýý²õõõAABBIHH ¬¬­ÿÿÿ~ýüüåüüüÿàæïÿ”¨ÇýVw©ýIp¨ÿGm¥ÿPvªÿ]…¸ÿR{°ÿIs«ÿNw¯ÿGo§ÿJq¬ÿSz´ÿQx±ÿNu¯ÿMt®ÿMt­ÿLr«ÿDj£ÿDh ÿNp¨ÿX}°ÿZ€±ÿRy¬ÿQw«ÿX€±ÿY³ÿX€´ÿY‚´ÿV³ÿX~´ÿZ€µÿY€´ÿY‚µÿS|¯ÿIr¥ÿT{¯ÿ^…¹ÿ\ƒ¸ÿ\‚¸ÿYµÿX€´ÿ]„¸ÿZµÿQx¬ÿLp¦ÿPt©ÿQx®ÿPu«ÿe†µý²ÐýÞäîÿüüüÿýüüåÿÿÿ~¬­­ IHHjjj###vvvìììBÿÿÿ§ÿþýñõö÷ÿÐÚçÿ§Éý\{­ýRx¬ÿT~³ÿLt«ÿLs¬ÿPx±ÿIqªÿNt®ÿSz´ÿNv°ÿMu­ÿPv®ÿRx®ÿQw­ÿIp§ÿGl¦ÿNt¬ÿW}±ÿ\ƒ´ÿY²ÿX±ÿV}¯ÿQz«ÿW€²ÿW²ÿLu©ÿOu¬ÿZ€¶ÿ[ƒ·ÿU}²ÿLt©ÿNv¨ÿSz®ÿTz¯ÿZ€´ÿ[ƒ·ÿ[‚·ÿ[ƒ¶ÿY€³ÿV~³ÿNu«ÿFk£ÿNs©ÿeˆ¶ý”«ËýÓÜéÿ÷øùÿÿþýñÿÿÿ§ëëìBvvv##$jjj>>>¨©ªÿÿÿ_ýýþ¾þþýôóõ÷ÿÐÙæÿœ±Ðýo¾ýNtªÿGn©ÿLs®ÿEk§ÿMr­ÿSz²ÿMt­ÿLt¬ÿNu«ÿOt¬ÿPx¯ÿMt«ÿKrªÿQx¯ÿW}¯ÿZ²ÿ[ƒ´ÿZ‚²ÿV|­ÿPw©ÿX²ÿS{°ÿDk¢ÿHn¥ÿU{±ÿW³ÿLs§ÿCižÿNu©ÿSz®ÿPu«ÿ\‚´ÿ_†·ÿ]…·ÿW²ÿJq¨ÿIq¨ÿPuªÿd‚±ý™®ÍýÓÝêÿóõ÷ÿþþýôþþþ¾ÿÿÿ_¨©ª>>>hhh¹ººÿÿÿhþþþÂþþýñôõ÷ÿÞäïÿª»Ôþz˜Áý^µýHl§ÿHo«ÿPx±ÿKr«ÿLr©ÿMt«ÿOw­ÿQz¯ÿMu«ÿKq©ÿQx®ÿTz«ÿW~®ÿY³ÿU}¯ÿU|®ÿX°ÿW}±ÿNrªÿGk¤ÿKq¦ÿOw«ÿPwªÿMr¥ÿHlŸÿTz®ÿ[¶ÿSy¯ÿV|±ÿY€´ÿW³ÿX²ÿ_ƒ³ýy•¾ýª»ÔþÜãíÿôõ÷ÿþþýñþþþÂÿÿÿh¹ººhhhCCCGGH 334¸¹ºÿÿÿ`þþþµÿþýè÷øøüêïôÿÍØçÿœ°Îþy”Áýc…¸ýTy­þJq¨ÿFn§ÿNw®ÿS~²ÿLu«ÿIp«ÿQv°ÿTz¬ÿW|®ÿY³ÿU}¯ÿS{¬ÿX°ÿUz­ÿQu«ÿOs«ÿOuªÿPwªÿPwªÿQu§ÿIn¡ÿPy¬ÿV³ÿRy®ÿY~°þh‹¹ý Æý¥ºÖþÐÛêÿêîóÿ÷øøüÿÿþèþþþµÿÿÿ`¸¹¹233 GGHCCCwww@@@ AAA‚ƒîîîHÿÿÿ’þþÿÑþþýîôôöýéíóÿÔÝëÿ°ÁÙÿަÉþpºýfйýd‹»þX}²þPv¯þOw±ÿQx®ÿSy­ÿS{°ÿT|±ÿR{®ÿPyªÿQxªÿV{®ÿPv­ÿLs©ÿPvªÿUz­þ[¯þ\~¬þg‰´ýy˜¿ý“ªËþ³ÄÛÿÕÞìÿêîôÿôõöýþþýîþþÿÑÿÿÿ’îîîH‚ƒAAA @@@wwwxxx<<<stu ­®¯#ÿÿÿXþþþ›ÿÿÿÎÿþþèøøùõîðôÿåéðÿÛãíÿÆÓåÿ®¿Øÿ›°ÑÿŒ¦Ëÿƒ ÅþÃýx–Àýv•¿ýu–¾ýq’»ýt”¼ýy˜Áý{—ÀýƒžÃþަÈÿž³Ðÿ±ÂÙÿÅÑâÿÚâìÿåêðÿîñôÿøùùõÿþþèÿÿÿÎþþþ›ÿÿÿX­®¯#stu <<<xxx>>>yyyHHHstv­®¯!ÿÿÿHþþþ{ÿÿÿ¨ÿÿÿÎÿÿÿâýýýëõöøóñòõûìïôÿéìòÿèëòÿåêðÿãèïÿãèïÿâèïÿãéïÿäéðÿçêñÿêíòÿíðóÿòóöû÷÷øóýýýëÿÿÿâÿÿÿÎÿÿÿ¨þþþ{ÿÿÿH­®¯!tuuHHHyyy>>>zzz===ƒƒ„opq{{| çèè8ùùùYÿÿÿwÿÿÿ‘ÿÿÿ§ÿÿÿ¸ÿÿÿÇÿÿÿÑÿÿÿ×ÿÿÿÚÿÿÿÚÿÿÿ×ÿÿÿÑÿÿÿÇÿÿÿ¸ÿÿÿ§ÿÿÿ‘ÿÿÿwùùúYèèè8{|| noqƒƒ„<<<zzzzzz===‚ƒƒpqrttuttustustu"stu$stu&stu&stt$stt"stuttutuvpqr‚‚ƒ===zzznnnooo€€€tttvvvvvvvvvwwwvvvwwwvvvwwwwwwvvvuuu€€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿþÿÿÿÿÿÿü?ÿÿÿÿÿÿøÿÿÿÿÿÿðÿÿÿÿÿÿàÿÿÿÿÿÿÀÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿþÿÿÿÿü?ÿÿÿÿøÿÿÿÿøÿÿÿÿðÿÿÿÿàÿÿÿÿàÿÿÿÿÀÿÿÿÿÀÿÿÿÿ€ÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿþÿÿþÿÿþÿÿü?ÿÿü?ÿÿü?ÿÿü?ÿÿøÿÿøÿÿøÿÿøÿÿøÿÿðÿÿðÿÿðÿÿðÿÿðÿÿðÿÿðÿÿðÿÿðÿÿðÿÿðÿÿðÿÿðÿÿðÿÿøÿÿøÿÿøÿÿøÿÿøÿÿü?ÿÿü?ÿÿü?ÿÿü?ÿÿþÿÿþÿÿþÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿ€ÿÿÿÿÀÿÿÿÿÀÿÿÿÿàÿÿÿÿàÿÿÿÿðÿÿÿÿøÿÿÿÿøÿÿÿÿü?ÿÿÿÿþÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÀÿÿÿÿÿÿàÿÿÿÿÿÿðÿÿÿÿÿÿøÿÿÿÿÿÿü?ÿÿÿÿÿÿþÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÀÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿàÿÿÿÿÿÿÿÿÿÿøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(0` $ige‘Œ6¾¼¹Z»º¸tº¹¸º¹¸»¹¸t¾¼¹Z’Œ6hgd omkÁ¿½céëí°ßçõäÅÕíþ¥¼Þÿ”¯×ÿˆ£ÊÿФËÿ”®Òÿ¦¼ÜÿÂÑèþãìøäéëí°À¿¼comk  utrÝÜÚŠâë÷é©Àßÿgˆ¹þEk§ÿCl©ÿ9a¢ýAk¨üBj ûKrªûGp©üBk¤ýDm¦ÿSz°ÿt–Ãþ­ÃáÿâêöéÝÛÚŠvur  DDDÏÍÊméñûì©ÏÿKr©þEo§ýOw¯üKq«ýLs®þLs¯ÿSz²ÿV|¯ÿ_…·ÿV|°ÿOt¨ÿPv«þRx°ýU}±üNv¬ýJp¦þ©ÎÿéñúìÏÍÊmDDD hhhðñó¸®ÂßÿRx¬þEj¤üRx®ýW~²ÿU{³ÿMr¬ÿJq«ÿIp­ÿQx°ÿZ³ÿY€²ÿV|¯ÿQvªÿHm£ÿY~´ÿ\³ÿZ‚´ÿQv­ýBj£üOv©þ®ÂÞÿñòó¸hhh}{y*öúýÙ‚ŸÊÿ8aŸûZ‚·ý[€´ÿNt¬ÿSz°ÿW~´ÿJq¬ÿIq«ÿIr¯ÿKr«ÿW²ÿ_„·ÿW}±ÿUz­ÿEj¢ÿV}³ÿTz­ÿJp¦ÿNt­ÿRx¬ÿKp¥ý=dŸûÆÿõøüÙ}{y*}|y+öûÿåfˆ¶ÿJr¬ûLp©ÿ^…¹ÿW|³ÿJqªÿRy­ÿTz²ÿGm¨ÿKs­ÿJr°ÿHm¨ÿRy­ÿ]‚´ÿOu¬ÿOuªÿDj¡ÿPw®ÿX´ÿKr©ÿFj£ÿMq¨ÿLq¥ÿLp§ÿ?g£ûgйÿùþÿå|{y+jjkñõù×\|¬ÿKs©ûUy±ÿHn§ÿ\„¸ÿY€·ÿLq«ÿSx­ÿOv­ÿHoªÿRz´ÿOw¶ÿHoªÿOu©ÿ_…¸ÿRw®ÿIp¨ÿLsªÿOw°ÿQx¯ÿIo¨ÿJn¦ÿLp¦ÿMt¨ÿDi¢ÿKn¥ÿHqªûi‹»ÿñôù×jjj íîÅÿ=ežûTx¬ÿSw¯ÿHn§ÿX€´ÿV{³ÿDg ÿMr¤ÿJn¡ÿCgÿJq§ÿHm¤ÿLo¢ÿInŸÿKo ÿKmŸÿCg˜ÿ@d˜ÿNs©ÿNt¦ÿGjÿBd˜ÿAešÿJq¥ÿPtªÿPw­ÿPw­ÿFm¨ûžÆÿìííµ ËÉÆoª¼ØÿMsªûU{°ÿGl¥ÿOs«ÿHn§ÿSz®ÿUy¯ÿBeœÿA`ÿ2Kpÿ)Aeÿ/Hkÿ,Egÿ0Giÿ/Ggÿ)@bÿ,Cdÿ+Bdÿ-Eiÿ:U|ÿ8Syÿ4Noÿ0Imÿ8TÿKmžÿKp§ÿJp§ÿOt«ÿQu«ÿAj¤û²ÇáÿËÉÆoxvtáèôéJn¤ÿe‰¼þU{±ÿJo¦ÿIn¨ÿGm§ÿX´ÿTx­ÿ2Imÿ,ÿ"*4ÿ%6Nÿ@a‘ÿEiÿGl¤ÿIo§ÿQy®ÿ[€´ÿ`„µÿc‰¹ÿV~±üo‘Àÿåçê°mkiàéõäSx¬ÿV|¯þIn¤ÿY~³ÿPv­ÿJo¦ÿPu­ÿIn¤ÿTy«ÿW{®ÿOv­ÿEjÿ]jyÿØåòÿÆÕäÿÄÔåÿÀÑâÿ¼Ïáÿ¸Ëßÿ´ÉÞÿ°ÆÜÿ¨¿Öÿ»×òÿEP[ÿ 'ÿ9T{ÿMr¥ÿLr§ÿDh ÿLrªÿX~²ÿOt©ÿY³ÿRy­ÿRx®þLs¬ÿÜåòänlj‘‹5ÉØîÿDj¤ÿLq¦þHl£ÿSx¯ÿPv¬ÿJo¥ÿY€µÿKq¨ÿPv©ÿW{­ÿNt«ÿFkžÿ_kzÿÜèóÿÉØæÿÇ׿ÿÃÔäÿ¿Ñãÿ»Îáÿ·Ìàÿ³ÉÞÿ­ÃÙÿ¶ÐéÿEP\ÿ.ÿ5QzÿEj ÿGl£ÿDiŸÿNtªÿNu¬ÿGm¦ÿMs«ÿJr©ÿGm¦þ>g¢ÿÄÕìÿ‘Œ5½»¸Z¬Ààÿ@fŸýLq§ÿFjŸÿRw­ÿLr§ÿKm¤ÿZ¶ÿJo§ÿLr¨ÿ[¶ÿPv­ÿEkÿ`l|ÿÞêôÿÌÚçÿÊÙçÿÆÖåÿÂÓäÿ¾ÐâÿºÎáÿ¶Ëßÿ¯ÅÚÿ»ÔìÿFQ\ÿ *ÿ3MwÿChžÿHm¢ÿCgŸÿFl¥ÿIo§ÿHn©ÿEl¨ÿKr«ÿLrªÿAk¦ý§¾ßÿ½»¸Z»º¸t—°ÕÿBh¢üQxªÿNt¨ÿQtªÿOv«ÿPv«ÿRw¯ÿJp¨ÿSy®ÿ[¶ÿOu«ÿBh›ÿ`l|ÿáìõÿÎÛèÿÍÛèÿÈ׿ÿÅÕæÿÁÒãÿ½Ðâÿ¹Íàÿ²ÇÛÿ¾ÖíÿHR]ÿ +ÿ3LtÿDižÿIo¤ÿBfÿBg¡ÿIo§ÿBh¢ÿJp¨ÿNt«ÿLq§ÿHrªü’­Òÿ»º¸tº¹¸§ÏÿLr©ûQwªÿQx­ÿTz¯ÿNt«ÿPvªÿOt«ÿOtªÿV{°ÿY~³ÿQv®ÿFjÿco|ÿäîöÿÑÝêÿÏÜêÿËÙèÿÈ׿ÿÃÔäÿ¿Ñãÿ¼ÏâÿµÈÜÿÁØïÿIS]ÿ0ÿ;VÿLq§ÿGn¦ÿAeœÿGl¤ÿU~±ÿPw®ÿTz¯ÿRy®ÿNt©ÿMv¬û™µÙÿº¹¸º¹¸©ÐÿFk£ûLq¦ÿNs§ÿ^ƒ·ÿKo§ÿPt©ÿOs«ÿIo¥ÿW~²ÿU{²ÿOt¬ÿAgÿam|ÿèñ÷ÿÔßëÿÓßëÿÎÜéÿÊÙèÿÆÖæÿÂÔäÿ¾Ñãÿ¸ËÞÿÃÙïÿJS]ÿ 'ÿ;SvÿEg—ÿCh›ÿEj¡ÿOv¬ÿW€³ÿNt©ÿW}°ÿ^„´ÿLq¥ÿJp¨ûš¶Ùÿ»º¸»º¸t›´Øÿ>džüHl¢ÿQu¨ÿW|²ÿJo¥ÿMs©ÿOs¬ÿJo§ÿU|¯ÿSw«ÿOs§ÿ?d—ÿ_jwÿèñöÿ×áìÿÖáìÿÑÞëÿÍÛéÿÉØçÿÅÕåÿÁÓäÿ¸ËÝÿÍãøÿNW`ÿ ÿ 0Fÿ/Ffÿ9W€ÿEg™ÿKr¨ÿMtªÿRx¬ÿW}°ÿV{­ÿQu§ÿHn§üž¹Üÿ»º¸t½»¹Z¨½ÜÿCk¤ýKq§ÿW}±ÿQv­ÿIo¦ÿOv«ÿJp©ÿLrªÿOuªÿOr¥ÿA`ÿ.InÿdjrÿúÿÿÿÔßêÿÔßéÿÐÜèÿÌÙæÿÇÖäÿÄÓâÿ¿ÏàÿÀÒäÿ¨ºËÿ16<ÿÿ 'ÿ"0ÿ0Feÿ@`ÿQx®ÿV~³ÿRw¬ÿPu©ÿUz¬ÿTy¬ÿFl£ý²Èâÿ½»¸Z’Œ5ÃÑéÿJq¨ÿMq§þRw­ÿKo¨ÿKo¦ÿRx®ÿIn©ÿMr¨ÿQv¬ÿ9Rxÿ'8Oÿ-ÿ;>Bÿ»ÀÄÿñùþÿëõþÿèóþÿæóÿÿâðþÿÝíüÿÓãôÿàóÿÿ‚Ž˜ÿ…“Ÿÿ½Òçÿ¨¼Ïÿ%,3ÿ/Eÿ<[ˆÿX~´ÿT{°ÿMs©ÿPs¨ÿQwªÿW}°þNw«ÿËÛïÿ‘Ž‹5nljÝåòäJn¤ÿLp§þMr§ÿJn¦ÿLr¨ÿOuªÿJp§ÿU{±ÿHo£ÿ^dmÿÑÐÏÿÆÇÉÿÊÍÐÿZ]_ÿinrÿw€‰ÿjs~ÿcktÿ_fmÿcksÿhq|ÿnz‡ÿHQZÿž®½ÿÆÛñÿµËßÿ(/8ÿ,CÿB`ÿV|²ÿS{®ÿKq©ÿMrªÿKr¨ÿSx­þY}±ÿâëöämkiäåè°hˆ·ÿCiŸüU{®ÿUz°ÿLq©ÿPw«ÿIn¦ÿX€¶ÿFn£ÿqy„ÿÿÿÿÿõùûÿÿÿÿÿlnpÿ ÿ)Bÿ9@Kÿcÿ7QwÿGVjÿK\rÿHXlÿ5F[ÿ5T€ÿKq¦ÿ;Tuÿ£°¼ÿÍàóÿ»Íàÿ,4>ÿ2Kÿ?^ŠÿV}³ÿIp¨ÿJn¥ÿPv¬ÿKrªþV}°ÿßçòæonlÕÔÓŠ‹¦ÊÿCi¡ûSv¬ÿIn¤ÿNtªÿLqªÿSz°ÿQv«ÿ9LhÿSasÿP_sÿN[pÿ5E^ÿ?a‘ÿHm¦ÿIq«ÿNw¬ÿDk¢ÿFm¥ÿMt¨ÿT}µÿK^ÿ1FcÿAb“ÿHl ÿNu­ÿMs¬ÿMt¬ÿOt«þPr¦ÿáéôéwvtÊÈÅo³Æàÿ>f¢ûGl¢ÿSz°ÿIo©ÿKq¨ÿT}±ÿLr©ÿSy®ÿPv¬ÿNt«ÿHo©ÿIp«ÿLs­ÿV|±ÿQy®ÿPw­ÿOu­ÿIp¦ÿCh ÿNu®ÿOw®ÿNu«ÿGm£ÿKr¨ÿ?ešÿChŸÿLrªÿLt«ÿRx¯ÿCk¤ûª½ØÿËÉÆo ìíŸÇÿ@i¢ûQw®ÿFk¥ÿLr¨ÿSz±ÿLs«ÿQx¯ÿLr¨ÿEk¥ÿJr­ÿJq«ÿIpªÿOw®ÿNv¬ÿSy¯ÿNs©ÿDk¡ÿDj ÿRx­ÿQw¬ÿRy­ÿPv¬ÿHn¥ÿCh ÿFl¥ÿOv¯ÿSy¯ÿDl¥û‡¥Ëÿìííµ jjjñôù×c…³ÿCk¦ûLp§ÿV|°ÿRx¯ÿLq«ÿUy°ÿKq©ÿIp©ÿKpªÿKs®ÿJr¬ÿMsªÿMt©ÿOu«ÿQv«ÿOvªÿIp§ÿPv­ÿTy®ÿNs¨ÿLq¨ÿMr¨ÿIp¥ÿIo§ÿRw®ÿEo¦ûe†¶ÿòöú×jjj|{y+ûÿÿåa‚³ÿ=dŸûZ€³ÿS{°ÿNt¬ÿTz®ÿOv¯ÿJpªÿIpªÿLt®ÿJq­ÿV{±ÿW}¯ÿT{°ÿPv­ÿMuªÿJp¦ÿSz°ÿT{¯ÿT{¯ÿRw«ÿQx¬ÿOu©ÿW|¯ÿEm¥ûb„³ÿùÿÿå|{y+}{y*óöûÙ{˜ÁÿIsªûQy±ýIo§ÿY³ÿS{²ÿIq©ÿNu¯ÿPx±ÿNs¯ÿW}±ÿY€±ÿOt©ÿQx®ÿHp¦ÿGl¢ÿUz¯ÿV~±ÿLr§ÿQvªÿPt¨ÿLq¥ýBj¢ûƒ ÆÿõøüÙ}{y*hhiññò¸·ÌçÿMt¬þi¥ýFnªüPw°ýOu¬þJo§ÿX~°ÿX~¯ÿY³ÿU|±ÿZ€´ÿPwªþZ€µýV´üGq©ýKp¦þªÏÿéðúìÏÍÉmDCC  wusÜÛÙŠãì÷餺Ûÿhˆ»þIp¨ÿBl¥ÿAj¥ýIr¨üLu©ûGo¥û?g¡üAj ýBj¡ÿRy®ÿr”Àþ¤»ÚÿâêöéÜÛÙŠvus  nmkÁ¿½cêëî°ßçôäÄÕìþ§¾ßÿ˜²Öÿ”°Ôÿ“¯Óÿ—±Õÿ©¾ÜÿÅÕêþàêöäêëî°ÂÀ½comk ige‘Œ6¾¼¹Z»º¸tº¹¸º¹¸»º¹t¾¼ºZ‘Œ6hgdÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀÿÿÿþÿÿü?ÿÿðÿÿàÿÿÀÿÿ€ÿÿÿÿÿþü?ü?ü?øøøøøøøøøøøøü?ü?ü?þÿÿÿÿÿ€ÿÿÀÿÿàÿÿðÿÿü?ÿÿþÿÿÿÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( @ MJFTRNTRNLJG-+)|6³¶º…½ÆÖ½³ÄÜÝ£¶Ñ뤶Ðë´ÃÚݽÇÕ½µ¸¼…€~|6-+)’CÄÍÛöÙþgŠ¿ÿKs¯ÿAjªÿEn§ÿLt¬ÿFn¨ÿPx°ÿs–Æÿ ¹ÛþÃÌÙÃ’C@?= ÄÈΚž·ÚÿPu®ÿEn§þMt­ûIoªüMt¯ýZ€³þ\‚´þRwªýMr©üU{¯ûGp¨þMu¬ÿœ¶ØÿÅÉΚ@>< IGDÏ×âÄjÁÿDn§ûUz°üSz¯ÿSy±ÿHpªÿHp¬ÿSz®ÿ\´ÿQv«ÿJp¦ÿW}±ÿMs©ÿNr¨ü;b›ûiŒ¾ÿÍÖáÄIGCDB@ ÉÑÝÂ]‚¶ÿDj¥úZ€µÿU{³ÿOu¬ÿOv¯ÿNw²ÿMu´ÿOv­ÿ\‚·ÿLs«ÿKr«ÿT{³ÿJp©ÿKp¦ÿNs¨ÿ=cžú_†»ÿÎÖâÂBA? ÆÉΙm޾ÿCi¡úQu¬ÿQy®ÿQv®ÿFjŸÿ?a‘ÿ>a“ÿAb”ÿAbÿAaÿ<\ŠÿBd–ÿJmŸÿ@aÿ@a“ÿLq¥ÿRw¬ÿCj£úlÀÿÇËÏ™“‘Gš²ÕÿMu¬üPtªÿGl¦ÿSz±ÿLmŸÿ9Pnÿ.Zÿ|‹œÿÔéÿÿQ\hÿ.KÿOu«ÿSz¯ÿNsªÿIp§ûp’Ãÿ³¶ºƒ}7“«ÏÿEm¤þV|±ÿKq¨ÿQx±ÿDjžÿž£ªÿÿÿÿÿßßÝÿ/EÿJYnÿ¸¿ÃÿŸ§¬ÿ2D^ÿ3U‡ÿ¢ÿ×ëþÿS^iÿ.JÿRx­ÿNu¬ÿNr¨ÿGp¨þ ¹Ûÿ€~{7ÁÊ×¾NtªÿMq§üJp§ÿPw¯ÿKq¥ÿ^kÿŽ˜¤ÿr{ˆÿ9TzÿBe™ÿ@bŽÿ:Z†ÿHmŸÿChšÿ|‰–ÿÔãïÿVamÿ&?dÿNs©ÿKp¨ÿLr¨üKr¨ÿÄÎÙ¾“’G ¸Úÿ8`›üOu«ÿLrªÿSz¯ÿEl¥ÿDl¢ÿ?f ÿIoªÿPw±ÿS|³ÿQy²ÿPw¯ÿIn¥ÿF_ƒÿOe‚ÿf ü›²Ôÿ“’GÈËЙj¾ÿAi£úMq©ÿPw­ÿQw¯ÿRx®ÿJq«ÿIq¬ÿLs«ÿPw­ÿQw¬ÿGm£ÿGm¤ÿS{³ÿNv®ÿKr«ÿBgŸÿNt¬ÿDm¦úp’ÂÿÅÉΙCA? ÎÕàÂY~´ÿBi¡úW}²ÿPu­ÿOu¬ÿHo¨ÿJr¬ÿLs¬ÿPw¬ÿQw­ÿNuªÿLs©ÿSx­ÿPuªÿNs¨ÿOu©ÿDk¤ú\·ÿÎÖáÂCB? IGDÊÒÞÄl¿ÿCm§ûNt«üX~³ÿKr«ÿNv¯ÿPv¯ÿY±ÿRx­ÿKr¨ÿLr§ÿW~±ÿSx¬ÿOu¨ü=eûo‘ÀÿÌÔßÄIGD@>< ÈËКœµÛÿLs¬ÿFp¨þGo©ûOv®üLq§ýV|®þW}±þU{¯ýRx­üW³ûDm¥þNtªÿ˜°ÒÿÇÊÏš@?= ‘ŒCÄÍÚÙ³ØþfŠ¿ÿLu®ÿFo¨ÿNx¬ÿHr©ÿFo§ÿQy®ÿr–Æÿ›´ØþÄÍÚÃ’ŽC-+)|6³¶»…¼ÇÕ½µÅÜݪ½Öë©»Ôë´ÄÚݽÇÔ½´·»…|6-+)LJFSQMSQNMJGÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÀÿÿÿþü?øøððààààààààððøøü?þÿÿÿÀÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿ(  20.aelRnx†yox…ybgmR21.{‚v… Çðd‰ÁÿZ‚¼þ^…»þjÂÿ…¡ÆðzŒv‡“¦£fŒÄÿHq¬ýFo¬üMv°ûSy¯ûLt®üCl§ý_…½ÿˆ•¨£~…xcˆ¿ÿEl¦ùPn™ý>Uwÿ:Rtÿ5Lmÿ2Kmÿ:Swý>c˜ùdŒÃÿ}…x430ƒžÄéGn¦ÿQw¯þXq“ÿŽ˜¢ÿ’¡®ÿŸÿm~ÿEWlÿAc•þMv®ÿ‡¢Èé531bflPg‹¾ÿKp¦üSy®ÿGlŸÿ§·ÈÿÊÛìÿ¾Õìÿ‡š¬ÿ.DeÿLr«ÿLr¨ühŽÂÿ`ekPox…xY€·ÿMr§ûSy¯ÿNr¥ÿ®»ÊÿÌÚèÿÀÔèÿŠ›«ÿ+DjÿKs­ÿGm¤ûX¹ÿpy†xow„xZ¸ÿLq§ûRx°ÿ3U…ÿ³¾ÉÿãðüÿÕçùÿ–¤²ÿ /DÿFi›ÿRy­û`†ºÿr{‡xaekPe‰½ÿIp§üIn£ÿ˜ «ÿ”˜œÿ‰‘˜ÿ~‡ÿ~£ÿ}Š–ÿ2LrÿPx°üjŽÁÿcgmP430‚œÃéDl¦ÿIm¡þµ½Çÿm{ÿI`ÿG_ÿazœÿŽš¤ÿ4QzþFo«ÿƒžÄé531~…x^„¼ÿEl¤ùEj ýFl¥ÿNw±ÿLu¯ÿPs¤ÿNl•ý> 8)) /*********************************************************************** * Return the next byte in the pseudo-random sequence */ static int decrypt_byte(unsigned long* pkeys, const unsigned long* pcrc_32_tab UNUSED) { //(void) pcrc_32_tab; /* avoid "unused parameter" warning */ unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an * unpredictable manner on 16-bit systems; not a problem * with any known compiler so far, though */ temp = ((unsigned)(*(pkeys + 2)) & 0xffff) | 2; return (int)(((temp * (temp ^ 1)) >> 8) & 0xff); } /*********************************************************************** * Update the encryption keys with the next byte of plain text */ static int update_keys(unsigned long* pkeys, const unsigned long* pcrc_32_tab, int c) { (*(pkeys + 0)) = CRC32((*(pkeys + 0)), c); (*(pkeys + 1)) += (*(pkeys + 0)) & 0xff; (*(pkeys + 1)) = (*(pkeys + 1)) * 134775813L + 1; { register int keyshift = (int)((*(pkeys + 1)) >> 24); (*(pkeys + 2)) = CRC32((*(pkeys + 2)), keyshift); } return c; } /*********************************************************************** * Initialize the encryption keys and the random header according to * the given password. */ static void init_keys(const char* passwd, unsigned long* pkeys, const unsigned long* pcrc_32_tab) { *(pkeys + 0) = 305419896L; *(pkeys + 1) = 591751049L; *(pkeys + 2) = 878082192L; while(*passwd != '\0') { update_keys(pkeys, pcrc_32_tab, (int)*passwd); passwd++; } } #define zdecode(pkeys,pcrc_32_tab,c) \ (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys,pcrc_32_tab))) #define zencode(pkeys,pcrc_32_tab,c,t) \ (t=decrypt_byte(pkeys,pcrc_32_tab), update_keys(pkeys,pcrc_32_tab,c), t^(c)) #ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED #define RAND_HEAD_LEN 12 /* "last resort" source for second part of crypt seed pattern */ # ifndef ZCR_SEED2 # define ZCR_SEED2 3141592654UL /* use PI as default pattern */ # endif static int crypthead(passwd, buf, bufSize, pkeys, pcrc_32_tab, crcForCrypting) const char *passwd; /* password string */ unsigned char *buf; /* where to write header */ int bufSize; unsigned long* pkeys; const unsigned long* pcrc_32_tab; unsigned long crcForCrypting; { int n; /* index in random header */ int t; /* temporary */ int c; /* random byte */ unsigned char header[RAND_HEAD_LEN - 2]; /* random header */ static unsigned calls = 0; /* ensure different random header each time */ if(bufSize < RAND_HEAD_LEN) { return 0; } /* First generate RAND_HEAD_LEN-2 random bytes. We encrypt the * output of rand() to get less predictability, since rand() is * often poorly implemented. */ if(++calls == 1) { srand((unsigned)(time(NULL) ^ ZCR_SEED2)); } init_keys(passwd, pkeys, pcrc_32_tab); for(n = 0; n < RAND_HEAD_LEN - 2; n++) { c = (rand() >> 7) & 0xff; header[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, c, t); } /* Encrypt random header (last two bytes is high word of crc) */ init_keys(passwd, pkeys, pcrc_32_tab); for(n = 0; n < RAND_HEAD_LEN - 2; n++) { buf[n] = (unsigned char)zencode(pkeys, pcrc_32_tab, header[n], t); } buf[n++] = zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 16) & 0xff, t); buf[n++] = zencode(pkeys, pcrc_32_tab, (int)(crcForCrypting >> 24) & 0xff, t); return n; } #endif ./chessx-1.3.2/src/quazip/ioapi.h000644 000765 000024 00000005013 12223260306 016265 0ustar00nistaff000000 000000 /* ioapi.h -- IO base function header for compress/uncompress .zip files using zlib + zip or unzip API Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant Modified by Sergey A. Tachenov to integrate with Qt. */ #ifndef _ZLIBIOAPI_H #define _ZLIBIOAPI_H #define ZLIB_FILEFUNC_SEEK_CUR (1) #define ZLIB_FILEFUNC_SEEK_END (2) #define ZLIB_FILEFUNC_SEEK_SET (0) #define ZLIB_FILEFUNC_MODE_READ (1) #define ZLIB_FILEFUNC_MODE_WRITE (2) #define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3) #define ZLIB_FILEFUNC_MODE_EXISTING (4) #define ZLIB_FILEFUNC_MODE_CREATE (8) #ifndef ZCALLBACK #if (defined(WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) #define ZCALLBACK CALLBACK #else #define ZCALLBACK #endif #endif #ifdef __cplusplus extern "C" { #endif typedef voidpf(ZCALLBACK *open_file_func) OF((voidpf opaque, voidpf file, int mode)); typedef uLong(ZCALLBACK *read_file_func) OF((voidpf opaque, voidpf stream, void* buf, uLong size)); typedef uLong(ZCALLBACK *write_file_func) OF((voidpf opaque, voidpf stream, const void* buf, uLong size)); typedef uLong(ZCALLBACK *tell_file_func) OF((voidpf opaque, voidpf stream)); typedef int (ZCALLBACK *seek_file_func) OF((voidpf opaque, voidpf stream, uLong offset, int origin)); typedef int (ZCALLBACK *close_file_func) OF((voidpf opaque, voidpf stream)); typedef int (ZCALLBACK *testerror_file_func) OF((voidpf opaque, voidpf stream)); typedef struct zlib_filefunc_def_s { open_file_func zopen_file; read_file_func zread_file; write_file_func zwrite_file; tell_file_func ztell_file; seek_file_func zseek_file; close_file_func zclose_file; testerror_file_func zerror_file; voidpf opaque; } zlib_filefunc_def; void fill_qiodevice_filefunc OF((zlib_filefunc_def* pzlib_filefunc_def)); #define ZREAD(filefunc,filestream,buf,size) ((*((filefunc).zread_file))((filefunc).opaque,filestream,buf,size)) #define ZWRITE(filefunc,filestream,buf,size) ((*((filefunc).zwrite_file))((filefunc).opaque,filestream,buf,size)) #define ZTELL(filefunc,filestream) ((*((filefunc).ztell_file))((filefunc).opaque,filestream)) #define ZSEEK(filefunc,filestream,pos,mode) ((*((filefunc).zseek_file))((filefunc).opaque,filestream,pos,mode)) #define ZCLOSE(filefunc,filestream) ((*((filefunc).zclose_file))((filefunc).opaque,filestream)) #define ZERROR(filefunc,filestream) ((*((filefunc).zerror_file))((filefunc).opaque,filestream)) #ifdef __cplusplus } #endif #endif ./chessx-1.3.2/src/quazip/JlCompress.cpp000644 000765 000024 00000035527 12223260306 017615 0ustar00nistaff000000 000000 #include "JlCompress.h" #include static bool copyData(QIODevice &inFile, QIODevice &outFile) { while(!inFile.atEnd()) { char buf[4096]; qint64 readLen = inFile.read(buf, 4096); if(readLen <= 0) { return false; } if(outFile.write(buf, readLen) != readLen) { return false; } } return true; } /**OK * Comprime il file fileName, nell'oggetto zip, con il nome fileDest. * * La funzione fallisce se: * * zip==NULL; * * l'oggetto zip e stato aperto in una modalita non compatibile con l'aggiunta di file; * * non e possibile aprire il file d'origine; * * non e possibile creare il file all'interno dell'oggetto zip; * * si e rilevato un errore nella copia dei dati; * * non e stato possibile chiudere il file all'interno dell'oggetto zip; */ bool JlCompress::compressFile(QuaZip* zip, QString fileName, QString fileDest) { // zip: oggetto dove aggiungere il file // fileName: nome del file reale // fileDest: nome del file all'interno del file compresso // Controllo l'apertura dello zip if(!zip) { return false; } if(zip->getMode() != QuaZip::mdCreate && zip->getMode() != QuaZip::mdAppend && zip->getMode() != QuaZip::mdAdd) { return false; } // Apro il file originale QFile inFile; inFile.setFileName(fileName); if(!inFile.open(QIODevice::ReadOnly)) { return false; } // Apro il file risulato QuaZipFile outFile(zip); if(!outFile.open(QIODevice::WriteOnly, QuaZipNewInfo(fileDest, inFile.fileName()))) { return false; } // Copio i dati if(!copyData(inFile, outFile) || outFile.getZipError() != UNZ_OK) { return false; } // Chiudo i file outFile.close(); if(outFile.getZipError() != UNZ_OK) { return false; } inFile.close(); return true; } /**OK * Comprime la cartella dir nel file fileCompressed, se recursive e true allora * comprime anche le sotto cartelle. I nomi dei file preceduti dal path creato * togliendo il pat della cartella origDir al path della cartella dir. * Se la funzione fallisce restituisce false e cancella il file che si e tentato * di creare. * * La funzione fallisce se: * * zip==NULL; * * l'oggetto zip e stato aperto in una modalita non compatibile con l'aggiunta di file; * * la cartella dir non esiste; * * la compressione di una sotto cartella fallisce (1); * * la compressione di un file fallisce; * (1) La funzione si richiama in maniera ricorsiva per comprimere le sotto cartelle * dunque gli errori di compressione di una sotto cartella sono gli stessi di questa * funzione. */ bool JlCompress::compressSubDir(QuaZip* zip, QString dir, QString origDir, bool recursive) { // zip: oggetto dove aggiungere il file // dir: cartella reale corrente // origDir: cartella reale originale // (path(dir)-path(origDir)) = path interno all'oggetto zip // Controllo l'apertura dello zip if(!zip) { return false; } if(zip->getMode() != QuaZip::mdCreate && zip->getMode() != QuaZip::mdAppend && zip->getMode() != QuaZip::mdAdd) { return false; } // Controllo la cartella QDir directory(dir); if(!directory.exists()) { return false; } // Se comprimo anche le sotto cartelle if(recursive) { // Per ogni sotto cartella QFileInfoList files = directory.entryInfoList(QDir::AllDirs | QDir::NoDotAndDotDot); Q_FOREACH(QFileInfo file, files) { // Comprimo la sotto cartella if(!compressSubDir(zip, file.absoluteFilePath(), origDir, recursive)) { return false; } } } // Per ogni file nella cartella QFileInfoList files = directory.entryInfoList(QDir::Files); QDir origDirectory(origDir); Q_FOREACH(QFileInfo file, files) { // Se non e un file o e il file compresso che sto creando if(!file.isFile() || file.absoluteFilePath() == zip->getZipName()) { continue; } // Creo il nome relativo da usare all'interno del file compresso QString filename = origDirectory.relativeFilePath(file.absoluteFilePath()); // Comprimo il file if(!compressFile(zip, file.absoluteFilePath(), filename)) { return false; } } return true; } /**OK * Estrae il file fileName, contenuto nell'oggetto zip, con il nome fileDest. * Se la funzione fallisce restituisce false e cancella il file che si e tentato di estrarre. * * La funzione fallisce se: * * zip==NULL; * * l'oggetto zip e stato aperto in una modalita non compatibile con l'estrazione di file; * * non e possibile aprire il file all'interno dell'oggetto zip; * * non e possibile creare il file estratto; * * si e rilevato un errore nella copia dei dati (1); * * non e stato possibile chiudere il file all'interno dell'oggetto zip (1); * * (1): prima di uscire dalla funzione cancella il file estratto. */ bool JlCompress::extractFile(QuaZip* zip, QString fileName, QString fileDest) { // zip: oggetto dove aggiungere il file // filename: nome del file reale // fileincompress: nome del file all'interno del file compresso // Controllo l'apertura dello zip if(!zip) { return false; } if(zip->getMode() != QuaZip::mdUnzip) { return false; } // Apro il file compresso if(!fileName.isEmpty()) { zip->setCurrentFile(fileName); } QuaZipFile inFile(zip); if(!inFile.open(QIODevice::ReadOnly) || inFile.getZipError() != UNZ_OK) { return false; } // Controllo esistenza cartella file risultato QDir curDir; if(!curDir.mkpath(QFileInfo(fileDest).absolutePath())) { return false; } if(QFileInfo(fileDest).isDir()) { return true; } // Apro il file risultato QFile outFile; outFile.setFileName(fileDest); if(!outFile.open(QIODevice::WriteOnly)) { return false; } // Copio i dati if(!copyData(inFile, outFile) || inFile.getZipError() != UNZ_OK) { outFile.close(); removeFile(QStringList(fileDest)); return false; } outFile.close(); // Chiudo i file inFile.close(); if(inFile.getZipError() != UNZ_OK) { removeFile(QStringList(fileDest)); return false; } return true; } /** * Rimuove i file il cui nome e specificato all'interno di listFile. * Restituisce true se tutti i file sono stati cancellati correttamente, attenzione * perche puo restituire false anche se alcuni file non esistevano e si e tentato * di cancellarli. */ bool JlCompress::removeFile(QStringList listFile) { bool ret = true; // Per ogni file for(int i = 0; i < listFile.count(); i++) { // Lo elimino ret = ret && QFile::remove(listFile.at(i)); } return ret; } //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /**OK * Comprime il file fileName nel file fileCompressed. * Se la funzione fallisce restituisce false e cancella il file che si e tentato * di creare. * * La funzione fallisce se: * * non si riesce ad aprire l'oggetto zip; * * la compressione del file fallisce; * * non si riesce a chiudere l'oggetto zip; */ bool JlCompress::compressFile(QString fileCompressed, QString file) { // Creo lo zip QuaZip zip(fileCompressed); QDir().mkpath(QFileInfo(fileCompressed).absolutePath()); if(!zip.open(QuaZip::mdCreate)) { QFile::remove(fileCompressed); return false; } // Aggiungo il file if(!compressFile(&zip, file, QFileInfo(file).fileName())) { QFile::remove(fileCompressed); return false; } // Chiudo il file zip zip.close(); if(zip.getZipError() != 0) { QFile::remove(fileCompressed); return false; } return true; } /**OK * Comprime i file specificati in files nel file fileCompressed. * Se la funzione fallisce restituisce false e cancella il file che si e tentato * di creare. * * La funzione fallisce se: * * non si riesce ad aprire l'oggetto zip; * * la compressione di un file fallisce; * * non si riesce a chiudere l'oggetto zip; */ bool JlCompress::compressFiles(QString fileCompressed, QStringList files) { // Creo lo zip QuaZip zip(fileCompressed); QDir().mkpath(QFileInfo(fileCompressed).absolutePath()); if(!zip.open(QuaZip::mdCreate)) { QFile::remove(fileCompressed); return false; } // Comprimo i file QFileInfo info; Q_FOREACH(QString file, files) { info.setFile(file); if(!info.exists() || !compressFile(&zip, file, info.fileName())) { QFile::remove(fileCompressed); return false; } } // Chiudo il file zip zip.close(); if(zip.getZipError() != 0) { QFile::remove(fileCompressed); return false; } return true; } /**OK * Comprime la cartella dir nel file fileCompressed, se recursive e true allora * comprime anche le sotto cartelle. * Se la funzione fallisce restituisce false e cancella il file che si e tentato * di creare. * * La funzione fallisce se: * * non si riesce ad aprire l'oggetto zip; * * la compressione di un file fallisce; * * non si riesce a chiudere l'oggetto zip; */ bool JlCompress::compressDir(QString fileCompressed, QString dir, bool recursive) { // Creo lo zip QuaZip zip(fileCompressed); QDir().mkpath(QFileInfo(fileCompressed).absolutePath()); if(!zip.open(QuaZip::mdCreate)) { QFile::remove(fileCompressed); return false; } // Aggiungo i file e le sotto cartelle if(!compressSubDir(&zip, dir, dir, recursive)) { QFile::remove(fileCompressed); return false; } // Chiudo il file zip zip.close(); if(zip.getZipError() != 0) { QFile::remove(fileCompressed); return false; } return true; } //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /**OK * Estrae il file fileName, contenuto nel file fileCompressed, con il nome fileDest. * Se fileDest = "" allora il file viene estratto con lo stesso nome con cui e * stato compresso. * Se la funzione fallisce cancella il file che si e tentato di estrarre. * Restituisce il nome assoluto del file estratto. * * La funzione fallisce se: * * non si riesce ad aprire l'oggetto zip; * * l'estrazione del file fallisce; * * non si riesce a chiudere l'oggetto zip; */ QString JlCompress::extractFile(QString fileCompressed, QString fileName, QString fileDest) { // Apro lo zip QuaZip zip(fileCompressed); if(!zip.open(QuaZip::mdUnzip)) { return QString(); } // Estraggo il file if(fileDest.isEmpty()) { fileDest = fileName; } if(!extractFile(&zip, fileName, fileDest)) { return QString(); } // Chiudo il file zip zip.close(); if(zip.getZipError() != 0) { removeFile(QStringList(fileDest)); return QString(); } return QFileInfo(fileDest).absoluteFilePath(); } /**OK * Estrae i file specificati in files, contenuti nel file fileCompressed, nella * cartella dir. La struttura a cartelle del file compresso viene rispettata. * Se dir = "" allora il file viene estratto nella cartella corrente. * Se la funzione fallisce cancella i file che si e tentato di estrarre. * Restituisce i nomi assoluti dei file estratti. * * La funzione fallisce se: * * non si riesce ad aprire l'oggetto zip; * * l'estrazione di un file fallisce; * * non si riesce a chiudere l'oggetto zip; */ QStringList JlCompress::extractFiles(QString fileCompressed, QStringList files, QString dir) { // Creo lo zip QuaZip zip(fileCompressed); if(!zip.open(QuaZip::mdUnzip)) { return QStringList(); } // Estraggo i file QStringList extracted; for(int i = 0; i < files.count(); i++) { QString absPath = QDir(dir).absoluteFilePath(files.at(i)); if(!extractFile(&zip, files.at(i), absPath)) { removeFile(extracted); return QStringList(); } extracted.append(absPath); } // Chiudo il file zip zip.close(); if(zip.getZipError() != 0) { removeFile(extracted); return QStringList(); } return extracted; } /**OK * Estrae il file fileCompressed nella cartella dir. * Se dir = "" allora il file viene estratto nella cartella corrente. * Se la funzione fallisce cancella i file che si e tentato di estrarre. * Restituisce i nomi assoluti dei file estratti. * * La funzione fallisce se: * * non si riesce ad aprire l'oggetto zip; * * la compressione di un file fallisce; * * non si riesce a chiudere l'oggetto zip; */ QStringList JlCompress::extractDir(QString fileCompressed, QString dir) { // Apro lo zip QuaZip zip(fileCompressed); if(!zip.open(QuaZip::mdUnzip)) { return QStringList(); } QDir directory(dir); QStringList extracted; if(!zip.goToFirstFile()) { return QStringList(); } do { QString name = zip.getCurrentFileName(); QString absFilePath = directory.absoluteFilePath(name); if(!extractFile(&zip, "", absFilePath)) { removeFile(extracted); return QStringList(); } extracted.append(absFilePath); } while(zip.goToNextFile()); // Chiudo il file zip zip.close(); if(zip.getZipError() != 0) { removeFile(extracted); return QStringList(); } return extracted; } /**OK * Restituisce la lista dei file resenti nel file compresso fileCompressed. * Se la funzione fallisce, restituisce un elenco vuoto. * * La funzione fallisce se: * * non si riesce ad aprire l'oggetto zip; * * la richiesta di informazioni di un file fallisce; * * non si riesce a chiudere l'oggetto zip; */ QStringList JlCompress::getFileList(QString fileCompressed) { // Apro lo zip QuaZip* zip = new QuaZip(QFileInfo(fileCompressed).absoluteFilePath()); if(!zip->open(QuaZip::mdUnzip)) { delete zip; return QStringList(); } // Estraggo i nomi dei file QStringList lst; QuaZipFileInfo info; for(bool more = zip->goToFirstFile(); more; more = zip->goToNextFile()) { if(!zip->getCurrentFileInfo(&info)) { delete zip; return QStringList(); } lst << info.name; //info.name.toLocal8Bit().constData() } // Chiudo il file zip zip->close(); if(zip->getZipError() != 0) { delete zip; return QStringList(); } delete zip; return lst; } ./chessx-1.3.2/src/quazip/JlCompress.h000644 000765 000024 00000010335 12223260306 017250 0ustar00nistaff000000 000000 #ifndef JLCOMPRESSFOLDER_H_ #define JLCOMPRESSFOLDER_H_ #include "quazip.h" #include "quazipfile.h" #include "quazipfileinfo.h" #include #include #include #include /// Utility class for typical operations. /** This class contains a number of useful static functions to perform simple operations, such as mass ZIP packing or extraction. */ class QUAZIP_EXPORT JlCompress { private: /// Compress a single file. /** \param zip Opened zip to compress the file to. \param fileName The full path to the source file. \param fileDest The full name of the file inside the archive. \return true if success, false otherwise. */ static bool compressFile(QuaZip* zip, QString fileName, QString fileDest); /// Compress a subdirectory. /** \param parentZip Opened zip containing the parent directory. \param dir The full path to the directory to pack. \param parentDir The full path to the directory corresponding to the root of the ZIP. \param recursive Whether to pack sub-directories as well or only files. \return true if success, false otherwise. */ static bool compressSubDir(QuaZip* parentZip, QString dir, QString parentDir, bool recursive = true); /// Extract a single file. /** \param zip The opened zip archive to extract from. \param fileName The full name of the file to extract. \param fileDest The full path to the destination file. \return true if success, false otherwise. */ static bool extractFile(QuaZip* zip, QString fileName, QString fileDest); /// Remove some files. /** \param listFile The list of files to remove. \return true if success, false otherwise. */ static bool removeFile(QStringList listFile); public: /// Compress a single file. /** \param fileCompressed The name of the archive. \param file The file to compress. \return true if success, false otherwise. */ static bool compressFile(QString fileCompressed, QString file); /// Compress a list of files. /** \param fileCompressed The name of the archive. \param files The file list to compress. \return true if success, false otherwise. */ static bool compressFiles(QString fileCompressed, QStringList files); /// Compress a whole directory. /** \param fileCompressed The name of the archive. \param dir The directory to compress. \param recursive Whether to pack the subdirectories as well, or just regular files. \return true if success, false otherwise. */ static bool compressDir(QString fileCompressed, QString dir = QString(), bool recursive = true); public: /// Extract a single file. /** \param fileCompressed The name of the archive. \param fileName The file to extract. \param fileDest The destination file, assumed to be identical to \a file if left empty. \return The list of the full paths of the files extracted, empty on failure. */ static QString extractFile(QString fileCompressed, QString fileName, QString fileDest = QString()); /// Extract a list of files. /** \param fileCompressed The name of the archive. \param files The file list to extract. \param dir The directory to put the files to, the current directory if left empty. \return The list of the full paths of the files extracted, empty on failure. */ static QStringList extractFiles(QString fileCompressed, QStringList files, QString dir = QString()); /// Extract a whole archive. /** \param fileCompressed The name of the archive. \param dir The directory to extract to, the current directory if left empty. \return The list of the full paths of the files extracted, empty on failure. */ static QStringList extractDir(QString fileCompressed, QString dir = QString()); /// Get the file list. /** \return The list of the files in the archive, or, more precisely, the list of the entries, including both files and directories if they are present separately. */ static QStringList getFileList(QString fileCompressed); }; #endif /* JLCOMPRESSFOLDER_H_ */ ./chessx-1.3.2/src/quazip/qioapi.cpp000644 000765 000024 00000006674 12223260306 017017 0ustar00nistaff000000 000000 /* ioapi.c -- IO base function header for compress/uncompress .zip files using zlib + zip or unzip API Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant Modified by Sergey A. Tachenov to integrate with Qt. */ #include #include #include #include "zlib.h" #include "ioapi.h" #include "quazip_global.h" #include /* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_SET #define SEEK_SET 0 #endif voidpf ZCALLBACK qiodevice_open_file_func( voidpf opaque UNUSED, voidpf file, int mode) { QIODevice *iodevice = reinterpret_cast(file); if((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER) == ZLIB_FILEFUNC_MODE_READ) { iodevice->open(QIODevice::ReadOnly); } else if(mode & ZLIB_FILEFUNC_MODE_EXISTING) { iodevice->open(QIODevice::ReadWrite); } else if(mode & ZLIB_FILEFUNC_MODE_CREATE) { iodevice->open(QIODevice::WriteOnly); } if(iodevice->isOpen()) { if(iodevice->isSequential()) { iodevice->close(); return NULL; } else { return iodevice; } } else { return NULL; } } uLong ZCALLBACK qiodevice_read_file_func( voidpf opaque UNUSED, voidpf stream, void* buf, uLong size) { uLong ret; ret = (uLong)((QIODevice*)stream)->read((char*)buf, size); return ret; } uLong ZCALLBACK qiodevice_write_file_func( voidpf opaque UNUSED, voidpf stream, const void* buf, uLong size) { uLong ret; ret = (uLong)((QIODevice*)stream)->write((char*)buf, size); return ret; } uLong ZCALLBACK qiodevice_tell_file_func( voidpf opaque UNUSED, voidpf stream) { uLong ret; ret = ((QIODevice*)stream)->pos(); return ret; } int ZCALLBACK qiodevice_seek_file_func( voidpf opaque UNUSED, voidpf stream, uLong offset, int origin) { uLong qiodevice_seek_result = 0; int ret; switch(origin) { case ZLIB_FILEFUNC_SEEK_CUR : qiodevice_seek_result = ((QIODevice*)stream)->pos() + offset; break; case ZLIB_FILEFUNC_SEEK_END : qiodevice_seek_result = ((QIODevice*)stream)->size() - offset; break; case ZLIB_FILEFUNC_SEEK_SET : qiodevice_seek_result = offset; break; default: return -1; } ret = !((QIODevice*)stream)->seek(qiodevice_seek_result); return ret; } int ZCALLBACK qiodevice_close_file_func( voidpf opaque UNUSED, voidpf stream) { ((QIODevice*)stream)->close(); return 0; } int ZCALLBACK qiodevice_error_file_func( voidpf opaque UNUSED, voidpf stream UNUSED) { // can't check for error due to the QIODevice API limitation return 0; } void fill_qiodevice_filefunc( zlib_filefunc_def* pzlib_filefunc_def) { pzlib_filefunc_def->zopen_file = qiodevice_open_file_func; pzlib_filefunc_def->zread_file = qiodevice_read_file_func; pzlib_filefunc_def->zwrite_file = qiodevice_write_file_func; pzlib_filefunc_def->ztell_file = qiodevice_tell_file_func; pzlib_filefunc_def->zseek_file = qiodevice_seek_file_func; pzlib_filefunc_def->zclose_file = qiodevice_close_file_func; pzlib_filefunc_def->zerror_file = qiodevice_error_file_func; pzlib_filefunc_def->opaque = NULL; } ./chessx-1.3.2/src/quazip/quaadler32.cpp000644 000765 000024 00000000734 12223260306 017467 0ustar00nistaff000000 000000 #include "quaadler32.h" #include "zlib.h" QuaAdler32::QuaAdler32() { reset(); } quint32 QuaAdler32::calculate(const QByteArray &data) { return adler32(adler32(0L, Z_NULL, 0), (const Bytef*)data.data(), data.size()); } void QuaAdler32::reset() { checksum = adler32(0L, Z_NULL, 0); } void QuaAdler32::update(const QByteArray &buf) { checksum = adler32(checksum, (const Bytef*)buf.data(), buf.size()); } quint32 QuaAdler32::value() { return checksum; } ./chessx-1.3.2/src/quazip/quaadler32.h000644 000765 000024 00000001057 12223260306 017133 0ustar00nistaff000000 000000 #ifndef QUAADLER32_H #define QUAADLER32_H #include #include "quachecksum32.h" /// Adler32 checksum /** \class QuaAdler32 quaadler32.h * This class wrappers the adler32 function with the QuaChecksum32 interface. * See QuaChecksum32 for more info. */ class QUAZIP_EXPORT QuaAdler32 : public QuaChecksum32 { public: QuaAdler32(); quint32 calculate(const QByteArray &data); void reset(); void update(const QByteArray &buf); quint32 value(); private: quint32 checksum; }; #endif //QUAADLER32_H ./chessx-1.3.2/src/quazip/quachecksum32.h000644 000765 000024 00000002651 12223260306 017647 0ustar00nistaff000000 000000 #ifndef QUACHECKSUM32_H #define QUACHECKSUM32_H #include #include "quazip_global.h" /// Checksum interface. /** \class QuaChecksum32 quachecksum32.h * This is an interface for 32 bit checksums. * Classes implementing this interface can calcunate a certin * checksum in a single step: * \code * QChecksum32 *crc32 = new QuaCrc32(); * rasoult = crc32->calculate(data); * \endcode * or by streaming the data: * \code * QChecksum32 *crc32 = new QuaCrc32(); * while(!fileA.atEnd()) * crc32->update(fileA.read(bufSize)); * resoultA = crc32->value(); * crc32->reset(); * while(!fileB.atEnd()) * crc32->update(fileB.read(bufSize)); * resoultB = crc32->value(); * \endcode */ class QUAZIP_EXPORT QuaChecksum32 { public: ///Calculates the checksum for data. /** \a data source data * \return data checksum * * This function has no efect on the value returned by value(). */ virtual quint32 calculate(const QByteArray &data) = 0; ///Resets the calculation on a checksun for a stream. virtual void reset() = 0; ///Updates the calculated checksum for the stream /** \a buf next portion of data from the stream */ virtual void update(const QByteArray &buf) = 0; ///Value of the checksum calculated for the stream passed throw update(). /** \return checksum */ virtual quint32 value() = 0; }; #endif //QUACHECKSUM32_H ./chessx-1.3.2/src/quazip/quacrc32.cpp000644 000765 000024 00000000706 12223260306 017146 0ustar00nistaff000000 000000 #include "quacrc32.h" #include "zlib.h" QuaCrc32::QuaCrc32() { reset(); } quint32 QuaCrc32::calculate(const QByteArray &data) { return crc32(crc32(0L, Z_NULL, 0), (const Bytef*)data.data(), data.size()); } void QuaCrc32::reset() { checksum = crc32(0L, Z_NULL, 0); } void QuaCrc32::update(const QByteArray &buf) { checksum = crc32(checksum, (const Bytef*)buf.data(), buf.size()); } quint32 QuaCrc32::value() { return checksum; } ./chessx-1.3.2/src/quazip/quacrc32.h000644 000765 000024 00000001000 12223260306 016577 0ustar00nistaff000000 000000 #ifndef QUACRC32_H #define QUACRC32_H #include "quachecksum32.h" ///CRC32 checksum /** \class QuaCrc32 quacrc32.h * This class wrappers the crc32 function with the QuaChecksum32 interface. * See QuaChecksum32 for more info. */ class QUAZIP_EXPORT QuaCrc32 : public QuaChecksum32 { public: QuaCrc32(); quint32 calculate(const QByteArray &data); void reset(); void update(const QByteArray &buf); quint32 value(); private: quint32 checksum; }; #endif //QUACRC32_H ./chessx-1.3.2/src/quazip/quagzipfile.cpp000644 000765 000024 00000006221 12223260306 020041 0ustar00nistaff000000 000000 #include #include "quagzipfile.h" class QuaGzipFilePrivate { friend class QuaGzipFile; QString fileName; gzFile gzd; inline QuaGzipFilePrivate(): gzd(NULL) {} inline QuaGzipFilePrivate(const QString &fileName): fileName(fileName), gzd(NULL) {} template bool open(FileId id, QIODevice::OpenMode mode, QString &error); gzFile open(int fd, const char *modeString); gzFile open(const QString &name, const char *modeString); }; gzFile QuaGzipFilePrivate::open(const QString &name, const char *modeString) { return gzopen(QFile::encodeName(name).constData(), modeString); } gzFile QuaGzipFilePrivate::open(int fd, const char *modeString) { return gzdopen(fd, modeString); } template bool QuaGzipFilePrivate::open(FileId id, QIODevice::OpenMode mode, QString &error) { char modeString[2]; modeString[0] = modeString[1] = '\0'; if((mode & QIODevice::ReadOnly) != 0 && (mode & QIODevice::WriteOnly) != 0) { error = "Opening zip for both reading and writing is not supported"; return false; } else if((mode & QIODevice::ReadOnly) != 0) { modeString[0] = 'r'; } else if((mode & QIODevice::WriteOnly) != 0) { modeString[0] = 'w'; } else { error = "Opening a file requires a mode"; return false; } gzd = open(id, modeString); if(gzd == NULL) { error = "Could not open file"; return false; } return true; } QuaGzipFile::QuaGzipFile(): d(new QuaGzipFilePrivate()) { } QuaGzipFile::QuaGzipFile(QObject *parent): QIODevice(parent), d(new QuaGzipFilePrivate()) { } QuaGzipFile::QuaGzipFile(const QString &fileName, QObject *parent): QIODevice(parent), d(new QuaGzipFilePrivate(fileName)) { } QuaGzipFile::~QuaGzipFile() { if(isOpen()) { close(); } delete d; } void QuaGzipFile::setFileName(const QString& fileName) { d->fileName = fileName; } QString QuaGzipFile::getFileName() const { return d->fileName; } bool QuaGzipFile::isSequential() const { return true; } bool QuaGzipFile::open(QIODevice::OpenMode mode) { QString error; if(!d->open(d->fileName, mode, error)) { setErrorString(error); return false; } return QIODevice::open(mode); } bool QuaGzipFile::open(int fd, QIODevice::OpenMode mode) { QString error; if(!d->open(fd, mode, error)) { setErrorString(error); return false; } return QIODevice::open(mode); } bool QuaGzipFile::flush() { return gzflush(d->gzd, Z_SYNC_FLUSH) == Z_OK; } void QuaGzipFile::close() { QIODevice::close(); gzclose(d->gzd); } qint64 QuaGzipFile::readData(char *data, qint64 maxSize) { return gzread(d->gzd, (voidp)data, (unsigned)maxSize); } qint64 QuaGzipFile::writeData(const char *data, qint64 maxSize) { if(maxSize == 0) { return 0; } int written = gzwrite(d->gzd, (voidp)data, (unsigned)maxSize); if(written == 0) { return -1; } else { return written; } } ./chessx-1.3.2/src/quazip/quagzipfile.h000644 000765 000024 00000001746 12223260306 017515 0ustar00nistaff000000 000000 #ifndef QUAZIP_QUAGZIPFILE_H #define QUAZIP_QUAGZIPFILE_H #include #include "quazip_global.h" #include class QuaGzipFilePrivate; class QUAZIP_EXPORT QuaGzipFile: public QIODevice { Q_OBJECT public: QuaGzipFile(); QuaGzipFile(QObject *parent); QuaGzipFile(const QString &fileName, QObject *parent = NULL); virtual ~QuaGzipFile(); void setFileName(const QString& fileName); QString getFileName() const; virtual bool isSequential() const; virtual bool open(QIODevice::OpenMode mode); virtual bool open(int fd, QIODevice::OpenMode mode); virtual bool flush(); virtual void close(); protected: virtual qint64 readData(char *data, qint64 maxSize); virtual qint64 writeData(const char *data, qint64 maxSize); private: // not implemented by design to disable copy QuaGzipFile(const QuaGzipFile &that); QuaGzipFile& operator=(const QuaGzipFile &that); QuaGzipFilePrivate *d; }; #endif // QUAZIP_QUAGZIPFILE_H ./chessx-1.3.2/src/quazip/quaziodevice.cpp000644 000765 000024 00000020113 12223260306 020205 0ustar00nistaff000000 000000 #include "quaziodevice.h" #define QUAZIO_INBUFSIZE 4096 #define QUAZIO_OUTBUFSIZE 4096 class QuaZIODevicePrivate { friend class QuaZIODevice; QuaZIODevicePrivate(QIODevice *io); ~QuaZIODevicePrivate(); QIODevice *io; z_stream zins; z_stream zouts; char *inBuf; int inBufPos; int inBufSize; char *outBuf; int outBufPos; int outBufSize; bool zBufError; int doFlush(QString &error); }; QuaZIODevicePrivate::QuaZIODevicePrivate(QIODevice *io): io(io), inBuf(NULL), inBufPos(0), inBufSize(0), outBuf(NULL), outBufPos(0), outBufSize(0), zBufError(false) { zins.zalloc = (alloc_func) NULL; zins.zfree = (free_func) NULL; zins.opaque = NULL; zouts.zalloc = (alloc_func) NULL; zouts.zfree = (free_func) NULL; zouts.opaque = NULL; inBuf = new char[QUAZIO_INBUFSIZE]; outBuf = new char[QUAZIO_OUTBUFSIZE]; #ifdef QUAZIP_ZIODEVICE_DEBUG_OUTPUT debug.setFileName("debug.out"); debug.open(QIODevice::WriteOnly); #endif #ifdef QUAZIP_ZIODEVICE_DEBUG_INPUT indebug.setFileName("debug.in"); indebug.open(QIODevice::WriteOnly); #endif } QuaZIODevicePrivate::~QuaZIODevicePrivate() { #ifdef QUAZIP_ZIODEVICE_DEBUG_OUTPUT debug.close(); #endif #ifdef QUAZIP_ZIODEVICE_DEBUG_INPUT indebug.close(); #endif if(inBuf != NULL) { delete[] inBuf; } if(outBuf != NULL) { delete[] outBuf; } } int QuaZIODevicePrivate::doFlush(QString &error) { int flushed = 0; while(outBufPos < outBufSize) { int more = io->write(outBuf + outBufPos, outBufSize - outBufPos); if(more == -1) { error = io->errorString(); return -1; } if(more == 0) { break; } outBufPos += more; flushed += more; } if(outBufPos == outBufSize) { outBufPos = outBufSize = 0; } return flushed; } // #define QUAZIP_ZIODEVICE_DEBUG_OUTPUT // #define QUAZIP_ZIODEVICE_DEBUG_INPUT #ifdef QUAZIP_ZIODEVICE_DEBUG_OUTPUT #include static QFile debug; #endif #ifdef QUAZIP_ZIODEVICE_DEBUG_INPUT #include static QFile indebug; #endif QuaZIODevice::QuaZIODevice(QIODevice *io, QObject *parent): QIODevice(parent), d(new QuaZIODevicePrivate(io)) { connect(io, SIGNAL(readyRead()), SIGNAL(readyRead())); } QuaZIODevice::~QuaZIODevice() { if(isOpen()) { close(); } delete d; } QIODevice *QuaZIODevice::getIoDevice() const { return d->io; } bool QuaZIODevice::open(QIODevice::OpenMode mode) { if((mode & QIODevice::ReadOnly) != 0) { if(inflateInit(&d->zins) != Z_OK) { setErrorString(d->zins.msg); return false; } } if((mode & QIODevice::WriteOnly) != 0) { if(deflateInit(&d->zouts, Z_DEFAULT_COMPRESSION) != Z_OK) { setErrorString(d->zouts.msg); return false; } } return QIODevice::open(mode); } void QuaZIODevice::close() { if((openMode() & QIODevice::ReadOnly) != 0) { if(inflateEnd(&d->zins) != Z_OK) { setErrorString(d->zins.msg); } } if((openMode() & QIODevice::WriteOnly) != 0) { flush(); if(deflateEnd(&d->zouts) != Z_OK) { setErrorString(d->zouts.msg); } } QIODevice::close(); } qint64 QuaZIODevice::readData(char *data, qint64 maxSize) { int read = 0; while(read < maxSize) { if(d->inBufPos == d->inBufSize) { d->inBufPos = 0; d->inBufSize = d->io->read(d->inBuf, QUAZIO_INBUFSIZE); if(d->inBufSize == -1) { d->inBufSize = 0; setErrorString(d->io->errorString()); return -1; } if(d->inBufSize == 0) { break; } } while(read < maxSize && d->inBufPos < d->inBufSize) { d->zins.next_in = (Bytef *)(d->inBuf + d->inBufPos); d->zins.avail_in = d->inBufSize - d->inBufPos; d->zins.next_out = (Bytef *)(data + read); d->zins.avail_out = (uInt)(maxSize - read); // hope it's less than 2GB int more = 0; switch(inflate(&d->zins, Z_SYNC_FLUSH)) { case Z_OK: read = (char *) d->zins.next_out - data; d->inBufPos = (char *) d->zins.next_in - d->inBuf; break; case Z_STREAM_END: read = (char *) d->zins.next_out - data; d->inBufPos = (char *) d->zins.next_in - d->inBuf; return read; case Z_BUF_ERROR: // this should never happen, but just in case if(!d->zBufError) { qWarning("Z_BUF_ERROR detected with %d/%d in/out, weird", d->zins.avail_in, d->zins.avail_out); d->zBufError = true; } memmove(d->inBuf, d->inBuf + d->inBufPos, d->inBufSize - d->inBufPos); d->inBufSize -= d->inBufPos; d->inBufPos = 0; more = d->io->read(d->inBuf + d->inBufSize, QUAZIO_INBUFSIZE - d->inBufSize); if(more == -1) { setErrorString(d->io->errorString()); return -1; } if(more == 0) { return read; } d->inBufSize += more; break; default: setErrorString(QString::fromLocal8Bit(d->zins.msg)); return -1; } } } #ifdef QUAZIP_ZIODEVICE_DEBUG_INPUT indebug.write(data, read); #endif return read; } qint64 QuaZIODevice::writeData(const char *data, qint64 maxSize) { int written = 0; QString error; if(d->doFlush(error) == -1) { setErrorString(error); return -1; } while(written < maxSize) { // there is some data waiting in the output buffer if(d->outBufPos < d->outBufSize) { return written; } d->zouts.next_in = (Bytef *)(data + written); d->zouts.avail_in = (uInt)(maxSize - written); // hope it's less than 2GB d->zouts.next_out = (Bytef *) d->outBuf; d->zouts.avail_out = QUAZIO_OUTBUFSIZE; switch(deflate(&d->zouts, Z_NO_FLUSH)) { case Z_OK: written = (char *) d->zouts.next_in - data; d->outBufSize = (char *) d->zouts.next_out - d->outBuf; break; default: setErrorString(QString::fromLocal8Bit(d->zouts.msg)); return -1; } if(d->doFlush(error) == -1) { setErrorString(error); return -1; } } #ifdef QUAZIP_ZIODEVICE_DEBUG_OUTPUT debug.write(data, written); #endif return written; } bool QuaZIODevice::flush() { QString error; if(d->doFlush(error) < 0) { setErrorString(error); return false; } // can't flush buffer, some data is still waiting if(d->outBufPos < d->outBufSize) { return true; } Bytef c = 0; d->zouts.next_in = &c; // fake input buffer d->zouts.avail_in = 0; // of zero size do { d->zouts.next_out = (Bytef *) d->outBuf; d->zouts.avail_out = QUAZIO_OUTBUFSIZE; switch(deflate(&d->zouts, Z_SYNC_FLUSH)) { case Z_OK: d->outBufSize = (char *) d->zouts.next_out - d->outBuf; if(d->doFlush(error) < 0) { setErrorString(error); return false; } if(d->outBufPos < d->outBufSize) { return true; } break; case Z_BUF_ERROR: // nothing to write? return true; default: setErrorString(QString::fromLocal8Bit(d->zouts.msg)); return false; } } while(d->zouts.avail_out == 0); return true; } bool QuaZIODevice::isSequential() const { return true; } ./chessx-1.3.2/src/quazip/quaziodevice.h000644 000765 000024 00000001254 12223260306 017657 0ustar00nistaff000000 000000 #ifndef QUAZIP_QUAZIODEVICE_H #define QUAZIP_QUAZIODEVICE_H #include #include "quazip_global.h" #include class QuaZIODevicePrivate; class QUAZIP_EXPORT QuaZIODevice: public QIODevice { Q_OBJECT public: QuaZIODevice(QIODevice *io, QObject *parent = NULL); ~QuaZIODevice(); virtual bool flush(); virtual bool open(QIODevice::OpenMode); virtual void close(); QIODevice *getIoDevice() const; virtual bool isSequential() const; protected: virtual qint64 readData(char *data, qint64 maxSize); virtual qint64 writeData(const char *data, qint64 maxSize); private: QuaZIODevicePrivate *d; }; #endif // QUAZIP_QUAZIODEVICE_H ./chessx-1.3.2/src/quazip/quazip.cpp000644 000765 000024 00000040210 12223260306 017026 0ustar00nistaff000000 000000 /* Copyright (C) 2005-2011 Sergey A. Tachenov This program 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 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA See COPYING file for the full LGPL text. Original ZIP package is copyrighted by Gilles Vollant, see quazip/(un)zip.h files for details, basically it's zlib license. **/ #include #include #include "quazip.h" /// All the internal stuff for the QuaZip class. /** \internal This class keeps all the private stuff for the QuaZip class so it can be changed without breaking binary compatibility, according to the Pimpl idiom. */ class QuaZipPrivate { friend class QuaZip; private: /// The pointer to the corresponding QuaZip instance. QuaZip *q; /// The codec for file names. QTextCodec *fileNameCodec; /// The codec for comments. QTextCodec *commentCodec; /// The archive file name. QString zipName; /// The device to access the archive. QIODevice *ioDevice; /// The global comment. QString comment; /// The open mode. QuaZip::Mode mode; union { /// The internal handle for UNZIP modes. unzFile unzFile_f; /// The internal handle for ZIP modes. zipFile zipFile_f; }; /// Whether a current file is set. bool hasCurrentFile_f; /// The last error. int zipError; /// Whether \ref QuaZip::setDataDescriptorWritingEnabled() "the data descriptor writing mode" is enabled. bool dataDescriptorWritingEnabled; /// The constructor for the corresponding QuaZip constructor. inline QuaZipPrivate(QuaZip *q): q(q), fileNameCodec(QTextCodec::codecForLocale()), commentCodec(QTextCodec::codecForLocale()), ioDevice(NULL), mode(QuaZip::mdNotOpen), hasCurrentFile_f(false), zipError(UNZ_OK), dataDescriptorWritingEnabled(true) {} /// The constructor for the corresponding QuaZip constructor. inline QuaZipPrivate(QuaZip *q, const QString &zipName): q(q), fileNameCodec(QTextCodec::codecForLocale()), commentCodec(QTextCodec::codecForLocale()), zipName(zipName), ioDevice(NULL), mode(QuaZip::mdNotOpen), hasCurrentFile_f(false), zipError(UNZ_OK), dataDescriptorWritingEnabled(true) {} /// The constructor for the corresponding QuaZip constructor. inline QuaZipPrivate(QuaZip *q, QIODevice *ioDevice): q(q), fileNameCodec(QTextCodec::codecForLocale()), commentCodec(QTextCodec::codecForLocale()), ioDevice(ioDevice), mode(QuaZip::mdNotOpen), hasCurrentFile_f(false), zipError(UNZ_OK), dataDescriptorWritingEnabled(true) {} /// Returns either a list of file names or a list of QuaZipFileInfo. template bool getFileInfoList(QList *result) const; }; QuaZip::QuaZip(): p(new QuaZipPrivate(this)) { } QuaZip::QuaZip(const QString& zipName): p(new QuaZipPrivate(this, zipName)) { } QuaZip::QuaZip(QIODevice *ioDevice): p(new QuaZipPrivate(this, ioDevice)) { } QuaZip::~QuaZip() { if(isOpen()) { close(); } delete p; } bool QuaZip::open(Mode mode, zlib_filefunc_def* ioApi) { p->zipError = UNZ_OK; if(isOpen()) { qWarning("QuaZip::open(): ZIP already opened"); return false; } QIODevice *ioDevice = p->ioDevice; if(ioDevice == NULL) { if(p->zipName.isEmpty()) { qWarning("QuaZip::open(): set either ZIP file name or IO device first"); return false; } else { ioDevice = new QFile(p->zipName); } } switch(mode) { case mdUnzip: p->unzFile_f = unzOpen2(ioDevice, ioApi); if(p->unzFile_f != NULL) { p->mode = mode; p->ioDevice = ioDevice; return true; } else { p->zipError = UNZ_OPENERROR; if(!p->zipName.isEmpty()) { delete ioDevice; } return false; } case mdCreate: case mdAppend: case mdAdd: p->zipFile_f = zipOpen2(ioDevice, mode == mdCreate ? APPEND_STATUS_CREATE : mode == mdAppend ? APPEND_STATUS_CREATEAFTER : APPEND_STATUS_ADDINZIP, NULL, ioApi); if(p->zipFile_f != NULL) { p->mode = mode; p->ioDevice = ioDevice; return true; } else { p->zipError = UNZ_OPENERROR; if(!p->zipName.isEmpty()) { delete ioDevice; } return false; } default: qWarning("QuaZip::open(): unknown mode: %d", (int)mode); if(!p->zipName.isEmpty()) { delete ioDevice; } return false; break; } } void QuaZip::close() { p->zipError = UNZ_OK; switch(p->mode) { case mdNotOpen: qWarning("QuaZip::close(): ZIP is not open"); return; case mdUnzip: p->zipError = unzClose(p->unzFile_f); break; case mdCreate: case mdAppend: case mdAdd: p->zipError = zipClose(p->zipFile_f, p->comment.isNull() ? NULL : p->commentCodec->fromUnicode(p->comment).constData()); break; default: qWarning("QuaZip::close(): unknown mode: %d", (int)p->mode); return; } // opened by name, need to delete the internal IO device if(!p->zipName.isEmpty()) { delete p->ioDevice; p->ioDevice = NULL; } if(p->zipError == UNZ_OK) { p->mode = mdNotOpen; } } void QuaZip::setZipName(const QString& zipName) { if(isOpen()) { qWarning("QuaZip::setZipName(): ZIP is already open!"); return; } p->zipName = zipName; p->ioDevice = NULL; } void QuaZip::setIoDevice(QIODevice *ioDevice) { if(isOpen()) { qWarning("QuaZip::setIoDevice(): ZIP is already open!"); return; } p->ioDevice = ioDevice; p->zipName = QString(); } int QuaZip::getEntriesCount()const { QuaZip *fakeThis = (QuaZip*)this; // non-const fakeThis->p->zipError = UNZ_OK; if(p->mode != mdUnzip) { qWarning("QuaZip::getEntriesCount(): ZIP is not open in mdUnzip mode"); return -1; } unz_global_info globalInfo; if((fakeThis->p->zipError = unzGetGlobalInfo(p->unzFile_f, &globalInfo)) != UNZ_OK) { return p->zipError; } return (int)globalInfo.number_entry; } QString QuaZip::getComment()const { QuaZip *fakeThis = (QuaZip*)this; // non-const fakeThis->p->zipError = UNZ_OK; if(p->mode != mdUnzip) { qWarning("QuaZip::getComment(): ZIP is not open in mdUnzip mode"); return QString(); } unz_global_info globalInfo; QByteArray comment; if((fakeThis->p->zipError = unzGetGlobalInfo(p->unzFile_f, &globalInfo)) != UNZ_OK) { return QString(); } comment.resize(globalInfo.size_comment); if((fakeThis->p->zipError = unzGetGlobalComment(p->unzFile_f, comment.data(), comment.size())) < 0) { return QString(); } fakeThis->p->zipError = UNZ_OK; return p->commentCodec->toUnicode(comment); } bool QuaZip::setCurrentFile(const QString& fileName, CaseSensitivity cs) { p->zipError = UNZ_OK; if(p->mode != mdUnzip) { qWarning("QuaZip::setCurrentFile(): ZIP is not open in mdUnzip mode"); return false; } if(fileName.isEmpty()) { p->hasCurrentFile_f = false; return true; } // Unicode-aware reimplementation of the unzLocateFile function if(p->unzFile_f == NULL) { p->zipError = UNZ_PARAMERROR; return false; } if(fileName.length() > MAX_FILE_NAME_LENGTH) { p->zipError = UNZ_PARAMERROR; return false; } bool sens = convertCaseSensitivity(cs) == Qt::CaseSensitive; QString lower, current; if(!sens) { lower = fileName.toLower(); } p->hasCurrentFile_f = false; for(bool more = goToFirstFile(); more; more = goToNextFile()) { current = getCurrentFileName(); if(current.isEmpty()) { return false; } if(sens) { if(current == fileName) { break; } } else { if(current.toLower() == lower) { break; } } } return p->hasCurrentFile_f; } bool QuaZip::goToFirstFile() { p->zipError = UNZ_OK; if(p->mode != mdUnzip) { qWarning("QuaZip::goToFirstFile(): ZIP is not open in mdUnzip mode"); return false; } p->zipError = unzGoToFirstFile(p->unzFile_f); p->hasCurrentFile_f = p->zipError == UNZ_OK; return p->hasCurrentFile_f; } bool QuaZip::goToNextFile() { p->zipError = UNZ_OK; if(p->mode != mdUnzip) { qWarning("QuaZip::goToFirstFile(): ZIP is not open in mdUnzip mode"); return false; } p->zipError = unzGoToNextFile(p->unzFile_f); p->hasCurrentFile_f = p->zipError == UNZ_OK; if(p->zipError == UNZ_END_OF_LIST_OF_FILE) { p->zipError = UNZ_OK; } return p->hasCurrentFile_f; } bool QuaZip::getCurrentFileInfo(QuaZipFileInfo *info)const { QuaZip *fakeThis = (QuaZip*)this; // non-const fakeThis->p->zipError = UNZ_OK; if(p->mode != mdUnzip) { qWarning("QuaZip::getCurrentFileInfo(): ZIP is not open in mdUnzip mode"); return false; } unz_file_info info_z; QByteArray fileName; QByteArray extra; QByteArray comment; if(info == NULL) { return false; } if(!isOpen() || !hasCurrentFile()) { return false; } if((fakeThis->p->zipError = unzGetCurrentFileInfo(p->unzFile_f, &info_z, NULL, 0, NULL, 0, NULL, 0)) != UNZ_OK) { return false; } fileName.resize(info_z.size_filename); extra.resize(info_z.size_file_extra); comment.resize(info_z.size_file_comment); if((fakeThis->p->zipError = unzGetCurrentFileInfo(p->unzFile_f, NULL, fileName.data(), fileName.size(), extra.data(), extra.size(), comment.data(), comment.size())) != UNZ_OK) { return false; } info->versionCreated = info_z.version; info->versionNeeded = info_z.version_needed; info->flags = info_z.flag; info->method = info_z.compression_method; info->crc = info_z.crc; info->compressedSize = info_z.compressed_size; info->uncompressedSize = info_z.uncompressed_size; info->diskNumberStart = info_z.disk_num_start; info->internalAttr = info_z.internal_fa; info->externalAttr = info_z.external_fa; info->name = p->fileNameCodec->toUnicode(fileName); info->comment = p->commentCodec->toUnicode(comment); info->extra = extra; info->dateTime = QDateTime( QDate(info_z.tmu_date.tm_year, info_z.tmu_date.tm_mon + 1, info_z.tmu_date.tm_mday), QTime(info_z.tmu_date.tm_hour, info_z.tmu_date.tm_min, info_z.tmu_date.tm_sec)); return true; } QString QuaZip::getCurrentFileName()const { QuaZip *fakeThis = (QuaZip*)this; // non-const fakeThis->p->zipError = UNZ_OK; if(p->mode != mdUnzip) { qWarning("QuaZip::getCurrentFileName(): ZIP is not open in mdUnzip mode"); return QString(); } if(!isOpen() || !hasCurrentFile()) { return QString(); } QByteArray fileName(MAX_FILE_NAME_LENGTH, 0); if((fakeThis->p->zipError = unzGetCurrentFileInfo(p->unzFile_f, NULL, fileName.data(), fileName.size(), NULL, 0, NULL, 0)) != UNZ_OK) { return QString(); } return p->fileNameCodec->toUnicode(fileName.constData()); } void QuaZip::setFileNameCodec(QTextCodec *fileNameCodec) { p->fileNameCodec = fileNameCodec; } void QuaZip::setFileNameCodec(const char *fileNameCodecName) { p->fileNameCodec = QTextCodec::codecForName(fileNameCodecName); } QTextCodec *QuaZip::getFileNameCodec()const { return p->fileNameCodec; } void QuaZip::setCommentCodec(QTextCodec *commentCodec) { p->commentCodec = commentCodec; } void QuaZip::setCommentCodec(const char *commentCodecName) { p->commentCodec = QTextCodec::codecForName(commentCodecName); } QTextCodec *QuaZip::getCommentCodec()const { return p->commentCodec; } QString QuaZip::getZipName() const { return p->zipName; } QIODevice *QuaZip::getIoDevice() const { if(!p->zipName.isEmpty()) // opened by name, using an internal QIODevice { return NULL; } return p->ioDevice; } QuaZip::Mode QuaZip::getMode()const { return p->mode; } bool QuaZip::isOpen()const { return p->mode != mdNotOpen; } int QuaZip::getZipError() const { return p->zipError; } void QuaZip::setComment(const QString& comment) { p->comment = comment; } bool QuaZip::hasCurrentFile()const { return p->hasCurrentFile_f; } unzFile QuaZip::getUnzFile() { return p->unzFile_f; } zipFile QuaZip::getZipFile() { return p->zipFile_f; } void QuaZip::setDataDescriptorWritingEnabled(bool enabled) { p->dataDescriptorWritingEnabled = enabled; } bool QuaZip::isDataDescriptorWritingEnabled() const { return p->dataDescriptorWritingEnabled; } template TFileInfo QuaZip_getFileInfo(QuaZip *zip, bool *ok); template<> QuaZipFileInfo QuaZip_getFileInfo(QuaZip *zip, bool *ok) { QuaZipFileInfo info; *ok = zip->getCurrentFileInfo(&info); return info; } template<> QString QuaZip_getFileInfo(QuaZip *zip, bool *ok) { QString name = zip->getCurrentFileName(); *ok = !name.isEmpty(); return name; } template bool QuaZipPrivate::getFileInfoList(QList *result) const { QuaZipPrivate *fakeThis = const_cast(this); fakeThis->zipError = UNZ_OK; if(mode != QuaZip::mdUnzip) { qWarning("QuaZip::getFileNameList/getFileInfoList(): " "ZIP is not open in mdUnzip mode"); return false; } QString currentFile; if(q->hasCurrentFile()) { currentFile = q->getCurrentFileName(); } if(q->goToFirstFile()) { do { bool ok; result->append(QuaZip_getFileInfo(q, &ok)); if(!ok) { return false; } } while(q->goToNextFile()); } if(zipError != UNZ_OK) { return false; } if(currentFile.isEmpty()) { if(!q->goToFirstFile()) { return false; } } else { if(!q->setCurrentFile(currentFile)) { return false; } } return true; } QStringList QuaZip::getFileNameList() const { QStringList list; if(p->getFileInfoList(&list)) { return list; } else { return QStringList(); } } QList QuaZip::getFileInfoList() const { QList list; if(p->getFileInfoList(&list)) { return list; } else { return QList(); } } Qt::CaseSensitivity QuaZip::convertCaseSensitivity(QuaZip::CaseSensitivity cs) { if(cs == csDefault) { #ifdef Q_WS_WIN return Qt::CaseInsensitive; #else return Qt::CaseSensitive; #endif } else { return cs == csSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive; } } ./chessx-1.3.2/src/quazip/quazip.h000644 000765 000024 00000043234 12223260306 016504 0ustar00nistaff000000 000000 #ifndef QUA_ZIP_H #define QUA_ZIP_H /* Copyright (C) 2005-2011 Sergey A. Tachenov This program 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 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA See COPYING file for the full LGPL text. Original ZIP package is copyrighted by Gilles Vollant, see quazip/(un)zip.h files for details, basically it's zlib license. **/ #include #include #include #include "zip.h" #include "unzip.h" #include "quazip_global.h" #include "quazipfileinfo.h" // just in case it will be defined in the later versions of the ZIP/UNZIP #ifndef UNZ_OPENERROR // define additional error code #define UNZ_OPENERROR -1000 #endif class QuaZipPrivate; /// ZIP archive. /** \class QuaZip quazip.h * This class implements basic interface to the ZIP archive. It can be * used to read table contents of the ZIP archive and retreiving * information about the files inside it. * * You can also use this class to open files inside archive by passing * pointer to the instance of this class to the constructor of the * QuaZipFile class. But see QuaZipFile::QuaZipFile(QuaZip*, QObject*) * for the possible pitfalls. * * This class is indended to provide interface to the ZIP subpackage of * the ZIP/UNZIP package as well as to the UNZIP subpackage. But * currently it supports only UNZIP. * * The use of this class is simple - just create instance using * constructor, then set ZIP archive file name using setFile() function * (if you did not passed the name to the constructor), then open() and * then use different functions to work with it! Well, if you are * paranoid, you may also wish to call close before destructing the * instance, to check for errors on close. * * You may also use getUnzFile() and getZipFile() functions to get the * ZIP archive handle and use it with ZIP/UNZIP package API directly. * * This class supports localized file names inside ZIP archive, but you * have to set up proper codec with setCodec() function. By default, * locale codec will be used, which is probably ok for UNIX systems, but * will almost certainly fail with ZIP archives created in Windows. This * is because Windows ZIP programs have strange habit of using DOS * encoding for file names in ZIP archives. For example, ZIP archive * with cyrillic names created in Windows will have file names in \c * IBM866 encoding instead of \c WINDOWS-1251. I think that calling one * function is not much trouble, but for true platform independency it * would be nice to have some mechanism for file name encoding auto * detection using locale information. Does anyone know a good way to do * it? **/ class QUAZIP_EXPORT QuaZip { friend class QuaZipPrivate; public: /// Useful constants. enum Constants { MAX_FILE_NAME_LENGTH = 256 /**< Maximum file name length. Taken from \c UNZ_MAXFILENAMEINZIP constant in unzip.c. */ }; /// Open mode of the ZIP file. enum Mode { mdNotOpen, ///< ZIP file is not open. This is the initial mode. mdUnzip, ///< ZIP file is open for reading files inside it. mdCreate, ///< ZIP file was created with open() call. mdAppend, /**< ZIP file was opened in append mode. This refers to * \c APPEND_STATUS_CREATEAFTER mode in ZIP/UNZIP package * and means that zip is appended to some existing file * what is useful when that file contains * self-extractor code. This is obviously \em not what * you whant to use to add files to the existing ZIP * archive. **/ mdAdd ///< ZIP file was opened for adding files in the archive. }; /// Case sensitivity for the file names. /** This is what you specify when accessing files in the archive. * Works perfectly fine with any characters thanks to Qt's great * unicode support. This is different from ZIP/UNZIP API, where * only US-ASCII characters was supported. **/ enum CaseSensitivity { csDefault = 0, ///< Default for platform. Case sensitive for UNIX, not for Windows. csSensitive = 1, ///< Case sensitive. csInsensitive = 2 ///< Case insensitive. }; static Qt::CaseSensitivity convertCaseSensitivity(CaseSensitivity); private: QuaZipPrivate *p; // not (and will not be) implemented QuaZip(const QuaZip& that); // not (and will not be) implemented QuaZip& operator=(const QuaZip& that); public: /// Constructs QuaZip object. /** Call setName() before opening constructed object. */ QuaZip(); /// Constructs QuaZip object associated with ZIP file \a zipName. QuaZip(const QString& zipName); /// Constructs QuaZip object associated with ZIP file represented by \a ioDevice. /** The IO device must be seekable, otherwise an error will occur when opening. */ QuaZip(QIODevice *ioDevice); /// Destroys QuaZip object. /** Calls close() if necessary. */ ~QuaZip(); /// Opens ZIP file. /** * Argument \a mode specifies open mode of the ZIP archive. See Mode * for details. Note that there is zipOpen2() function in the * ZIP/UNZIP API which accepts \a globalcomment argument, but it * does not use it anywhere, so this open() function does not have this * argument. See setComment() if you need to set global comment. * * If the ZIP file is accessed via explicitly set QIODevice, then * this device is opened in the necessary mode. If the device was * already opened by some other means, then the behaviour is defined by * the device implementation, but generally it is not a very good * idea. For example, QFile will at least issue a warning. * * \return \c true if successful, \c false otherwise. * * \note ZIP/UNZIP API open calls do not return error code - they * just return \c NULL indicating an error. But to make things * easier, quazip.h header defines additional error code \c * UNZ_ERROROPEN and getZipError() will return it if the open call * of the ZIP/UNZIP API returns \c NULL. * * Argument \a ioApi specifies IO function set for ZIP/UNZIP * package to use. See unzip.h, zip.h and ioapi.h for details. Note * that IO API for QuaZip is different from the original package. * The file path argument was changed to be of type \c voidpf, and * QuaZip passes a QIODevice pointer there. This QIODevice is either * set explicitly via setIoDevice() or the QuaZip(QIODevice*) * constructor, or it is created internally when opening the archive * by its file name. The default API (qioapi.cpp) just delegates * everything to the QIODevice API. Not only this allows to use a * QIODevice instead of file name, but also has a nice side effect * of raising the file size limit from 2G to 4G. * * In short: just forget about the \a ioApi argument and you'll be * fine. **/ bool open(Mode mode, zlib_filefunc_def *ioApi = NULL); /// Closes ZIP file. /** Call getZipError() to determine if the close was successful. The * underlying QIODevice is also closed, regardless of whether it was * set explicitly or not. */ void close(); /// Sets the codec used to encode/decode file names inside archive. /** This is necessary to access files in the ZIP archive created * under Windows with non-latin characters in file names. For * example, file names with cyrillic letters will be in \c IBM866 * encoding. **/ void setFileNameCodec(QTextCodec *fileNameCodec); /// Sets the codec used to encode/decode file names inside archive. /** \overload * Equivalent to calling setFileNameCodec(QTextCodec::codecForName(codecName)); **/ void setFileNameCodec(const char *fileNameCodecName); /// Returns the codec used to encode/decode comments inside archive. QTextCodec* getFileNameCodec() const; /// Sets the codec used to encode/decode comments inside archive. /** This codec defaults to locale codec, which is probably ok. **/ void setCommentCodec(QTextCodec *commentCodec); /// Sets the codec used to encode/decode comments inside archive. /** \overload * Equivalent to calling setCommentCodec(QTextCodec::codecForName(codecName)); **/ void setCommentCodec(const char *commentCodecName); /// Returns the codec used to encode/decode comments inside archive. QTextCodec* getCommentCodec() const; /// Returns the name of the ZIP file. /** Returns null string if no ZIP file name has been set, for * example when the QuaZip instance is set up to use a QIODevice * instead. * \sa setZipName(), setIoDevice(), getIoDevice() **/ QString getZipName() const; /// Sets the name of the ZIP file. /** Does nothing if the ZIP file is open. * * Does not reset error code returned by getZipError(). * \sa setIoDevice(), getIoDevice(), getZipName() **/ void setZipName(const QString& zipName); /// Returns the device representing this ZIP file. /** Returns null string if no device has been set explicitly, for * example when opening a ZIP file by name. * \sa setIoDevice(), getZipName(), setZipName() **/ QIODevice *getIoDevice() const; /// Sets the device representing the ZIP file. /** Does nothing if the ZIP file is open. * * Does not reset error code returned by getZipError(). * \sa getIoDevice(), getZipName(), setZipName() **/ void setIoDevice(QIODevice *ioDevice); /// Returns the mode in which ZIP file was opened. Mode getMode() const; /// Returns \c true if ZIP file is open, \c false otherwise. bool isOpen() const; /// Returns the error code of the last operation. /** Returns \c UNZ_OK if the last operation was successful. * * Error code resets to \c UNZ_OK every time you call any function * that accesses something inside ZIP archive, even if it is \c * const (like getEntriesCount()). open() and close() calls reset * error code too. See documentation for the specific functions for * details on error detection. **/ int getZipError() const; /// Returns number of the entries in the ZIP central directory. /** Returns negative error code in the case of error. The same error * code will be returned by subsequent getZipError() call. **/ int getEntriesCount() const; /// Returns global comment in the ZIP file. QString getComment() const; /// Sets the global comment in the ZIP file. /** The comment will be written to the archive on close operation. * QuaZip makes a distinction between a null QByteArray() comment * and an empty "" comment in the QuaZip::mdAdd mode. * A null comment is the default and it means "don't change * the comment". An empty comment removes the original comment. * * \sa open() **/ void setComment(const QString& comment); /// Sets the current file to the first file in the archive. /** Returns \c true on success, \c false otherwise. Call * getZipError() to get the error code. **/ bool goToFirstFile(); /// Sets the current file to the next file in the archive. /** Returns \c true on success, \c false otherwise. Call * getZipError() to determine if there was an error. * * Should be used only in QuaZip::mdUnzip mode. * * \note If the end of file was reached, getZipError() will return * \c UNZ_OK instead of \c UNZ_END_OF_LIST_OF_FILE. This is to make * things like this easier: * \code * for(bool more=zip.goToFirstFile(); more; more=zip.goToNextFile()) { * // do something * } * if(zip.getZipError()==UNZ_OK) { * // ok, there was no error * } * \endcode **/ bool goToNextFile(); /// Sets current file by its name. /** Returns \c true if successful, \c false otherwise. Argument \a * cs specifies case sensitivity of the file name. Call * getZipError() in the case of a failure to get error code. * * This is not a wrapper to unzLocateFile() function. That is * because I had to implement locale-specific case-insensitive * comparison. * * Here are the differences from the original implementation: * * - If the file was not found, error code is \c UNZ_OK, not \c * UNZ_END_OF_LIST_OF_FILE (see also goToNextFile()). * - If this function fails, it unsets the current file rather than * resetting it back to what it was before the call. * * If \a fileName is null string then this function unsets the * current file and return \c true. Note that you should close the * file first if it is open! See * QuaZipFile::QuaZipFile(QuaZip*,QObject*) for the details. * * Should be used only in QuaZip::mdUnzip mode. * * \sa setFileNameCodec(), CaseSensitivity **/ bool setCurrentFile(const QString& fileName, CaseSensitivity cs = csDefault); /// Returns \c true if the current file has been set. bool hasCurrentFile() const; /// Retrieves information about the current file. /** Fills the structure pointed by \a info. Returns \c true on * success, \c false otherwise. In the latter case structure pointed * by \a info remains untouched. If there was an error, * getZipError() returns error code. * * Should be used only in QuaZip::mdUnzip mode. * * Does nothing and returns \c false in any of the following cases. * - ZIP is not open; * - ZIP does not have current file; * - \a info is \c NULL; * * In all these cases getZipError() returns \c UNZ_OK since there * is no ZIP/UNZIP API call. **/ bool getCurrentFileInfo(QuaZipFileInfo* info)const; /// Returns the current file name. /** Equivalent to calling getCurrentFileInfo() and then getting \c * name field of the QuaZipFileInfo structure, but faster and more * convenient. * * Should be used only in QuaZip::mdUnzip mode. **/ QString getCurrentFileName()const; /// Returns \c unzFile handle. /** You can use this handle to directly call UNZIP part of the * ZIP/UNZIP package functions (see unzip.h). * * \warning When using the handle returned by this function, please * keep in mind that QuaZip class is unable to detect any changes * you make in the ZIP file state (e. g. changing current file, or * closing the handle). So please do not do anything with this * handle that is possible to do with the functions of this class. * Or at least return the handle in the original state before * calling some another function of this class (including implicit * destructor calls and calls from the QuaZipFile objects that refer * to this QuaZip instance!). So if you have changed the current * file in the ZIP archive - then change it back or you may * experience some strange behavior or even crashes. **/ unzFile getUnzFile(); /// Returns \c zipFile handle. /** You can use this handle to directly call ZIP part of the * ZIP/UNZIP package functions (see zip.h). Warnings about the * getUnzFile() function also apply to this function. **/ zipFile getZipFile(); /// Changes the data descriptor writing mode. /** According to the ZIP format specification, a file inside archive may have a data descriptor immediately following the file data. This is reflected by a special flag in the local file header and in the central directory. By default, QuaZIP sets this flag and writes the data descriptor unless both method and level were set to 0, in which case it operates in 1.0-compatible mode and never writes data descriptors. By setting this flag to false, it is possible to disable data descriptor writing, thus increasing compatibility with archive readers that don't understand this feature of the ZIP file format. Setting this flag affects all the QuaZipFile instances that are opened after this flag is set. The data descriptor writing mode is enabled by default. \param enabled If \c true, enable local descriptor writing, disable it otherwise. \sa QuaZipFile::setDataDescriptorWritingEnabled() */ void setDataDescriptorWritingEnabled(bool enabled); /// Returns the data descriptor default writing mode. /** \sa setDataDescriptorWritingEnabled() */ bool isDataDescriptorWritingEnabled() const; /// Returns a list of files inside the archive. /** \return A list of file names or an empty list if there was an error or if the archive is empty (call getZipError() to figure out which). \sa getFileInfoList() */ QStringList getFileNameList() const; /// Returns information list about all files inside the archive. /** \return A list of QuaZipFileInfo objects or an empty list if there was an error or if the archive is empty (call getZipError() to figure out which). \sa getFileNameList() */ QList getFileInfoList() const; }; #endif ./chessx-1.3.2/src/quazip/quazip_global.h000644 000765 000024 00000003216 12223260306 020020 0ustar00nistaff000000 000000 /** Copyright (C) 2005-2011 Sergey A. Tachenov This program 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 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA See COPYING file for the full LGPL text. Original ZIP package is copyrighted by Gilles Vollant, see quazip/(un)zip.h files for details, basically it's zlib license. */ #ifndef QUAZIP_GLOBAL_H #define QUAZIP_GLOBAL_H #include /** This is automatically defined when building a static library, but when including QuaZip sources directly into a project, QUAZIP_STATIC should be defined explicitly to avoid possible troubles with unnecessary importing/exporting. */ #ifdef QUAZIP_STATIC #define QUAZIP_EXPORT #else /** * When building a DLL with MSVC, QUAZIP_BUILD must be defined. * qglobal.h takes care of defining Q_DECL_* correctly for msvc/gcc. */ #if defined(QUAZIP_BUILD) #define QUAZIP_EXPORT Q_DECL_EXPORT #else #define QUAZIP_EXPORT Q_DECL_IMPORT #endif #endif // QUAZIP_STATIC #ifdef __GNUC__ #define UNUSED __attribute__((__unused__)) #else #define UNUSED #endif #endif // QUAZIP_GLOBAL_H ./chessx-1.3.2/src/quazip/quazipdir.cpp000644 000765 000024 00000036241 12223260306 017536 0ustar00nistaff000000 000000 #include "quazipdir.h" #include #include class QuaZipDirPrivate: public QSharedData { friend class QuaZipDir; private: QuaZipDirPrivate(QuaZip *zip, const QString &dir = QString()): zip(zip), dir(dir), caseSensitivity(QuaZip::csDefault), filter(QDir::NoFilter), sorting(QDir::NoSort) {} QuaZip *zip; QString dir; QuaZip::CaseSensitivity caseSensitivity; QDir::Filters filter; QStringList nameFilters; QDir::SortFlags sorting; template bool entryInfoList(QStringList nameFilters, QDir::Filters filter, QDir::SortFlags sort, TFileInfoList &result) const; inline QString simplePath() const { return QDir::cleanPath(dir); } }; QuaZipDir::QuaZipDir(const QuaZipDir &that): d(that.d) { } QuaZipDir::QuaZipDir(QuaZip *zip, const QString &dir): d(new QuaZipDirPrivate(zip, dir)) { if(d->dir.startsWith('/')) { d->dir = d->dir.mid(1); } } QuaZipDir::~QuaZipDir() { } bool QuaZipDir::operator==(const QuaZipDir &that) { return d->zip == that.d->zip && d->dir == that.d->dir; } QuaZipDir& QuaZipDir::operator=(const QuaZipDir &that) { this->d = that.d; return *this; } QString QuaZipDir::operator[](int pos) const { return entryList().at(pos); } QuaZip::CaseSensitivity QuaZipDir::caseSensitivity() const { return d->caseSensitivity; } bool QuaZipDir::cd(const QString &directoryName) { if(directoryName == "/") { d->dir = ""; return true; } QString dirName = directoryName; if(dirName.endsWith('/')) { dirName.chop(1); } if(dirName.contains('/')) { QuaZipDir dir(*this); if(dirName.startsWith('/')) { #ifdef QUAZIP_QUAZIPDIR_DEBUG qDebug("QuaZipDir::cd(%s): going to /", dirName.toUtf8().constData()); #endif if(!dir.cd("/")) { return false; } } QStringList path = dirName.split('/', QString::SkipEmptyParts); for(QStringList::const_iterator i = path.constBegin(); i != path.end(); ++i) { const QString &step = *i; #ifdef QUAZIP_QUAZIPDIR_DEBUG qDebug("QuaZipDir::cd(%s): going to %s", dirName.toUtf8().constData(), step.toUtf8().constData()); #endif if(!dir.cd(step)) { return false; } } d->dir = dir.path(); return true; } else // no '/' { if(dirName == ".") { return true; } else if(dirName == "..") { if(isRoot()) { return false; } else { int slashPos = d->dir.lastIndexOf('/'); if(slashPos == -1) { d->dir = ""; } else { d->dir = d->dir.left(slashPos); } return true; } } else // a simple subdirectory { if(exists(dirName)) { if(isRoot()) { d->dir = dirName; } else { d->dir += "/" + dirName; } return true; } else { return false; } } } } bool QuaZipDir::cdUp() { return cd(".."); } unsigned int QuaZipDir::count() const { return entryList().count(); } QString QuaZipDir::dirName() const { return QDir(d->dir).dirName(); } QuaZipFileInfo QuaZipDir_getFileInfo(QuaZip *zip, bool *ok, const QString &relativeName, bool isReal) { QuaZipFileInfo info; if(isReal) { *ok = zip->getCurrentFileInfo(&info); } else { *ok = true; info.compressedSize = 0; info.crc = 0; info.diskNumberStart = 0; info.externalAttr = 0; info.flags = 0; info.internalAttr = 0; info.method = 0; info.uncompressedSize = 0; info.versionCreated = info.versionNeeded = 0; } info.name = relativeName; return info; } template void QuaZipDir_convertInfoList(const QList &from, TFileInfoList &to); template<> void QuaZipDir_convertInfoList(const QList &from, QList &to) { to = from; } template<> void QuaZipDir_convertInfoList(const QList &from, QStringList &to) { to.clear(); for(QList::const_iterator i = from.constBegin(); i != from.constEnd(); ++i) { to.append(i->name); } } // utility class to restore the current file class QuaZipDirRestoreCurrent { public: inline QuaZipDirRestoreCurrent(QuaZip *zip): zip(zip), currentFile(zip->getCurrentFileName()) {} inline ~QuaZipDirRestoreCurrent() { zip->setCurrentFile(currentFile); } private: QuaZip *zip; QString currentFile; }; class QuaZipDirComparator { private: QDir::SortFlags sort; static QString getExtension(const QString &name); int compareStrings(const QString &string1, const QString &string2); public: inline QuaZipDirComparator(QDir::SortFlags sort): sort(sort) {} bool operator()(const QuaZipFileInfo &info1, const QuaZipFileInfo &info2); }; QString QuaZipDirComparator::getExtension(const QString &name) { if(name.endsWith('.') || name.indexOf('.', 1) == -1) { return ""; } else { return name.mid(name.lastIndexOf('.') + 1); } } int QuaZipDirComparator::compareStrings(const QString &string1, const QString &string2) { if(sort & QDir::LocaleAware) { if(sort & QDir::IgnoreCase) { return string1.toLower().localeAwareCompare(string2.toLower()); } else { return string1.localeAwareCompare(string2); } } else { return string1.compare(string2, (sort & QDir::IgnoreCase) ? Qt::CaseInsensitive : Qt::CaseSensitive); } } bool QuaZipDirComparator::operator()(const QuaZipFileInfo &info1, const QuaZipFileInfo &info2) { QDir::SortFlags order = sort & (QDir::Name | QDir::Time | QDir::Size | QDir::Type); if((sort & QDir::DirsFirst) == QDir::DirsFirst || (sort & QDir::DirsLast) == QDir::DirsLast) { if(info1.name.endsWith('/') && !info2.name.endsWith('/')) { return (sort & QDir::DirsFirst) == QDir::DirsFirst; } else if(!info1.name.endsWith('/') && info2.name.endsWith('/')) { return (sort & QDir::DirsLast) == QDir::DirsLast; } } bool result; int extDiff; switch(order) { case QDir::Name: result = compareStrings(info1.name, info2.name) < 0; break; case QDir::Type: extDiff = compareStrings(getExtension(info1.name), getExtension(info2.name)); if(extDiff == 0) { result = compareStrings(info1.name, info2.name) < 0; } else { result = extDiff < 0; } break; case QDir::Size: if(info1.uncompressedSize == info2.uncompressedSize) { result = compareStrings(info1.name, info2.name) < 0; } else { result = info1.uncompressedSize < info2.uncompressedSize; } break; case QDir::Time: if(info1.dateTime == info2.dateTime) { result = compareStrings(info1.name, info2.name) < 0; } else { result = info1.dateTime < info2.dateTime; } break; default: qWarning("QuaZipDirComparator(): Invalid sort mode 0x%2X", static_cast(sort)); return false; } return (sort & QDir::Reversed) ? !result : result; } template bool QuaZipDirPrivate::entryInfoList(QStringList nameFilters, QDir::Filters filter, QDir::SortFlags sort, TFileInfoList &result) const { QString basePath = simplePath(); if(!basePath.isEmpty()) { basePath += "/"; } int baseLength = basePath.length(); result.clear(); QuaZipDirRestoreCurrent saveCurrent(zip); if(!zip->goToFirstFile()) { return zip->getZipError() == UNZ_OK; } QDir::Filters fltr = filter; if(fltr == QDir::NoFilter) { fltr = this->filter; } if(fltr == QDir::NoFilter) { fltr = QDir::AllEntries; } QStringList nmfltr = nameFilters; if(nmfltr.isEmpty()) { nmfltr = this->nameFilters; } QSet dirsFound; QList list; do { QString name = zip->getCurrentFileName(); if(!name.startsWith(basePath)) { continue; } QString relativeName = name.mid(baseLength); bool isDir = false; bool isReal = true; if(relativeName.contains('/')) { int indexOfSlash = relativeName.indexOf('/'); // something like "subdir/" isReal = indexOfSlash == relativeName.length() - 1; relativeName = relativeName.left(indexOfSlash + 1); if(dirsFound.contains(relativeName)) { continue; } isDir = true; } dirsFound.insert(relativeName); if((fltr & QDir::Dirs) == 0 && isDir) { continue; } if((fltr & QDir::Files) == 0 && !isDir) { continue; } if(!nmfltr.isEmpty() && QDir::match(nmfltr, relativeName)) { continue; } bool ok; QuaZipFileInfo info = QuaZipDir_getFileInfo(zip, &ok, relativeName, isReal); if(!ok) { return false; } list.append(info); } while(zip->goToNextFile()); QDir::SortFlags srt = sort; if(srt == QDir::NoSort) { srt = sorting; } #ifdef QUAZIP_QUAZIPDIR_DEBUG qDebug("QuaZipDirPrivate::entryInfoList(): before sort:"); foreach(QuaZipFileInfo info, list) { qDebug("%s\t%s", info.name.toUtf8().constData(), info.dateTime.toString(Qt::ISODate).toUtf8().constData()); } #endif if(srt != QDir::NoSort && (srt & QDir::Unsorted) != QDir::Unsorted) { if(QuaZip::convertCaseSensitivity(caseSensitivity) == Qt::CaseInsensitive) { srt |= QDir::IgnoreCase; } QuaZipDirComparator lessThan(srt); qSort(list.begin(), list.end(), lessThan); } QuaZipDir_convertInfoList(list, result); return true; } QList QuaZipDir::entryInfoList(const QStringList &nameFilters, QDir::Filters filters, QDir::SortFlags sort) const { QList result; if(d->entryInfoList(nameFilters, filters, sort, result)) { return result; } else { return QList(); } } QList QuaZipDir::entryInfoList(QDir::Filters filters, QDir::SortFlags sort) const { return entryInfoList(QStringList(), filters, sort); } QStringList QuaZipDir::entryList(const QStringList &nameFilters, QDir::Filters filters, QDir::SortFlags sort) const { QStringList result; if(d->entryInfoList(nameFilters, filters, sort, result)) { return result; } else { return QStringList(); } } QStringList QuaZipDir::entryList(QDir::Filters filters, QDir::SortFlags sort) const { return entryList(QStringList(), filters, sort); } bool QuaZipDir::exists(const QString &filePath) const { if(filePath == "/") { return true; } QString fileName = filePath; if(fileName.endsWith('/')) { fileName.chop(1); } if(fileName.contains('/')) { QFileInfo fileInfo(fileName); #ifdef QUAZIP_QUAZIPDIR_DEBUG qDebug("QuaZipDir::exists(): fileName=%s, fileInfo.fileName()=%s, " "fileInfo.path()=%s", fileName.toUtf8().constData(), fileInfo.fileName().toUtf8().constData(), fileInfo.path().toUtf8().constData()); #endif QuaZipDir dir(*this); return dir.cd(fileInfo.path()) && dir.exists(fileInfo.fileName()); } else { if(fileName == "..") { return !isRoot(); } else if(fileName == ".") { return true; } else { QStringList entries = entryList(QDir::AllEntries, QDir::NoSort); #ifdef QUAZIP_QUAZIPDIR_DEBUG qDebug("QuaZipDir::exists(): looking for %s", fileName.toUtf8().constData()); for(QStringList::const_iterator i = entries.constBegin(); i != entries.constEnd(); ++i) { qDebug("QuaZipDir::exists(): entry: %s", i->toUtf8().constData()); } #endif Qt::CaseSensitivity cs = QuaZip::convertCaseSensitivity( d->caseSensitivity); if(filePath.endsWith('/')) { return entries.contains(filePath, cs); } else { return entries.contains(fileName, cs) || entries.contains(fileName + "/", cs); } } } } bool QuaZipDir::exists() const { QDir thisDir(d->dir); return QuaZipDir(d->zip, thisDir.filePath("..")).exists(thisDir.dirName()); } QString QuaZipDir::filePath(const QString &fileName) const { return QDir(d->dir).filePath(fileName); } QDir::Filters QuaZipDir::filter() { return d->filter; } bool QuaZipDir::isRoot() const { return d->simplePath().isEmpty(); } QStringList QuaZipDir::nameFilters() const { return d->nameFilters; } QString QuaZipDir::path() const { return d->dir; } QString QuaZipDir::relativeFilePath(const QString &fileName) const { return QDir(d->dir).relativeFilePath(fileName); } void QuaZipDir::setCaseSensitivity(QuaZip::CaseSensitivity caseSensitivity) { d->caseSensitivity = caseSensitivity; } void QuaZipDir::setFilter(QDir::Filters filters) { d->filter = filters; } void QuaZipDir::setNameFilters(const QStringList &nameFilters) { d->nameFilters = nameFilters; } void QuaZipDir::setPath(const QString &path) { QString newDir = path; if(newDir == "/") { d->dir = ""; } else { if(newDir.endsWith('/')) { newDir.chop(1); } if(newDir.startsWith('/')) { newDir = newDir.mid(1); } d->dir = newDir; } } void QuaZipDir::setSorting(QDir::SortFlags sort) { d->sorting = sort; } QDir::SortFlags QuaZipDir::sorting() const { return d->sorting; } ./chessx-1.3.2/src/quazip/quazipdir.h000644 000765 000024 00000014540 12223260306 017201 0ustar00nistaff000000 000000 #ifndef QUAZIP_QUAZIPDIR_H #define QUAZIP_QUAZIPDIR_H class QuaZipDirPrivate; #include "quazip.h" #include "quazipfileinfo.h" #include #include #include /// Provides ZIP archive navigation. /** * This class is modelled after QDir, and is designed to provide similar * features for ZIP archives. * * The only significant difference from QDir is that the root path is not * '/', but an empty string since that's how the file paths are stored in * the archive. However, QuaZipDir understands the paths starting with * '/'. It is important in a few places: * * - In the cd() function. * - In the constructor. * - In the exists() function. * * Note that since ZIP uses '/' on all platforms, the '\' separator is * not supported. */ class QUAZIP_EXPORT QuaZipDir { private: QSharedDataPointer d; public: /// The copy constructor. QuaZipDir(const QuaZipDir &that); /// Constructs a QuaZipDir instance pointing to the specified directory. /** If \a dir is not specified, points to the root of the archive. The same happens if the \a dir is "/". */ QuaZipDir(QuaZip *zip, const QString &dir = QString()); /// Destructor. ~QuaZipDir(); /// The assignment operator. bool operator==(const QuaZipDir &that); /// operator!= /** \return \c true if either this and \a that use different QuaZip instances or if they point to different directories. */ inline bool operator!=(const QuaZipDir &that) { return !operator==(that); } /// operator== /** \return \c true if both this and \a that use the same QuaZip instance and point to the same directory. */ QuaZipDir& operator=(const QuaZipDir &that); /// Returns the name of the entry at the specified position. QString operator[](int pos) const; /// Returns the current case sensitivity mode. QuaZip::CaseSensitivity caseSensitivity() const; /// Changes the 'current' directory. /** * If the path starts with '/', it is interpreted as an absolute * path from the root of the archive. Otherwise, it is interpreted * as a path relative to the current directory as was set by the * previous cd() or the constructor. * * Note that the subsequent path() call will not return a path * starting with '/' in all cases. */ bool cd(const QString &dirName); /// Goes up. bool cdUp(); /// Returns the number of entries in the directory. unsigned int count() const; /// Returns the current directory name. /** The name doesn't include the path. */ QString dirName() const; /// Returns the list of the entries in the directory. /** \param nameFilters The list of file patterns to list, uses the same syntax as QDir. \param filters The entry type filters, only Files and Dirs are accepted. \param sort Sorting mode (not supported yet). */ QList entryInfoList(const QStringList &nameFilters, QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort) const; /// Returns the list of the entries in the directory. /** \overload The same as entryInfoList(QStringList(), filters, sort). */ QList entryInfoList(QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort) const; /// Returns the list of the entry names in the directory. /** The same as entryInfoList(nameFilters, filters, sort), but only returns entry names. */ QStringList entryList(const QStringList &nameFilters, QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort) const; /// Returns the list of the entry names in the directory. /** \overload The same as entryList(QStringList(), filters, sort). */ QStringList entryList(QDir::Filters filters = QDir::NoFilter, QDir::SortFlags sort = QDir::NoSort) const; /// Returns \c true if the entry with the specified name exists. /** The ".." is considered to exist if the current directory is not root. The "." and "/" are considered to always exist. Paths starting with "/" are relative to the archive root, other paths are relative to the current dir. */ bool exists(const QString &fileName) const; /// Return \c true if the directory pointed by this QuaZipDir exists. bool exists() const; /// Returns the full path to the specified file. /** Doesn't check if the file actually exists. */ QString filePath(const QString &fileName) const; /// Returns the default filter. QDir::Filters filter(); /// Returns if the QuaZipDir points to the root of the archive. /** Not that the root path is the empty string, not '/'. */ bool isRoot() const; /// Return the default name filter. QStringList nameFilters() const; /// Returns the path to the current dir. /** The path never starts with '/', and the root path is an empty string. */ QString path() const; /// Returns the path to the specified file relative to the current dir. QString relativeFilePath(const QString &fileName) const; /// Sets the default case sensitivity mode. void setCaseSensitivity(QuaZip::CaseSensitivity caseSensitivity); /// Sets the default filter. void setFilter(QDir::Filters filters); /// Sets the default name filter. void setNameFilters(const QStringList &nameFilters); /// Goes to the specified path. /** The difference from cd() is that this function never checks if the path actually exists and doesn't use relative paths, so it's possible to go to the root directory with setPath(""). Note that this function still chops the trailing and/or leading '/' and treats a single '/' as the root path (path() will still return an empty string). */ void setPath(const QString &path); /// Sets the default sorting mode. void setSorting(QDir::SortFlags sort); /// Returns the default sorting mode. QDir::SortFlags sorting() const; }; #endif // QUAZIP_QUAZIPDIR_H ./chessx-1.3.2/src/quazip/quazipfile.cpp000644 000765 000024 00000037154 12223260306 017703 0ustar00nistaff000000 000000 /* Copyright (C) 2005-2011 Sergey A. Tachenov This program 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 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA See COPYING file for the full LGPL text. Original ZIP package is copyrighted by Gilles Vollant, see quazip/(un)zip.h files for details, basically it's zlib license. **/ #include "quazipfile.h" using namespace std; /// The implementation class for QuaZip. /** \internal This class contains all the private stuff for the QuaZipFile class, thus allowing to preserve binary compatibility between releases, the technique known as the Pimpl (private implementation) idiom. */ class QuaZipFilePrivate { friend class QuaZipFile; private: /// The pointer to the associated QuaZipFile instance. QuaZipFile *q; /// The QuaZip object to work with. QuaZip *zip; /// The file name. QString fileName; /// Case sensitivity mode. QuaZip::CaseSensitivity caseSensitivity; /// Whether this file is opened in the raw mode. bool raw; /// Write position to keep track of. /** QIODevice::pos() is broken for non-seekable devices, so we need our own position. */ qint64 writePos; /// Uncompressed size to write along with a raw file. ulong uncompressedSize; /// CRC to write along with a raw file. quint32 crc; /// Whether \ref zip points to an internal QuaZip instance. /** This is true if the archive was opened by name, rather than by supplying an existing QuaZip instance. */ bool internal; /// The last error. int zipError; /// Resets \ref zipError. inline void resetZipError() const { setZipError(UNZ_OK); } /// Sets the zip error. /** This function is marked as const although it changes one field. This allows to call it from const functions that don't change anything by themselves. */ void setZipError(int zipError) const; /// The constructor for the corresponding QuaZipFile constructor. inline QuaZipFilePrivate(QuaZipFile *q): q(q), zip(NULL), internal(true), zipError(UNZ_OK) {} /// The constructor for the corresponding QuaZipFile constructor. inline QuaZipFilePrivate(QuaZipFile *q, const QString &zipName): q(q), internal(true), zipError(UNZ_OK) { zip = new QuaZip(zipName); } /// The constructor for the corresponding QuaZipFile constructor. inline QuaZipFilePrivate(QuaZipFile *q, const QString &zipName, const QString &fileName, QuaZip::CaseSensitivity cs): q(q), internal(true), zipError(UNZ_OK) { zip = new QuaZip(zipName); this->fileName = fileName; if(this->fileName.startsWith('/')) { this->fileName = this->fileName.mid(1); } this->caseSensitivity = cs; } /// The constructor for the QuaZipFile constructor accepting a file name. inline QuaZipFilePrivate(QuaZipFile *q, QuaZip *zip): q(q), zip(zip), internal(false), zipError(UNZ_OK) {} /// The destructor. inline ~QuaZipFilePrivate() { if(internal) { delete zip; } } }; QuaZipFile::QuaZipFile(): p(new QuaZipFilePrivate(this)) { } QuaZipFile::QuaZipFile(QObject *parent): QIODevice(parent), p(new QuaZipFilePrivate(this)) { } QuaZipFile::QuaZipFile(const QString& zipName, QObject *parent): QIODevice(parent), p(new QuaZipFilePrivate(this, zipName)) { } QuaZipFile::QuaZipFile(const QString& zipName, const QString& fileName, QuaZip::CaseSensitivity cs, QObject *parent): QIODevice(parent), p(new QuaZipFilePrivate(this, zipName, fileName, cs)) { } QuaZipFile::QuaZipFile(QuaZip *zip, QObject *parent): QIODevice(parent), p(new QuaZipFilePrivate(this, zip)) { } QuaZipFile::~QuaZipFile() { if(isOpen()) { close(); } delete p; } QString QuaZipFile::getZipName() const { return p->zip == NULL ? QString() : p->zip->getZipName(); } QuaZip *QuaZipFile::getZip() const { return p->internal ? NULL : p->zip; } QString QuaZipFile::getActualFileName()const { p->setZipError(UNZ_OK); if(p->zip == NULL || (openMode() & WriteOnly)) { return QString(); } QString name = p->zip->getCurrentFileName(); if(name.isNull()) { p->setZipError(p->zip->getZipError()); } return name; } void QuaZipFile::setZipName(const QString& zipName) { if(isOpen()) { qWarning("QuaZipFile::setZipName(): file is already open - can not set ZIP name"); return; } if(p->zip != NULL && p->internal) { delete p->zip; } p->zip = new QuaZip(zipName); p->internal = true; } void QuaZipFile::setZip(QuaZip *zip) { if(isOpen()) { qWarning("QuaZipFile::setZip(): file is already open - can not set ZIP"); return; } if(p->zip != NULL && p->internal) { delete p->zip; } p->zip = zip; p->fileName = QString(); p->internal = false; } void QuaZipFile::setFileName(const QString& fileName, QuaZip::CaseSensitivity cs) { if(p->zip == NULL) { qWarning("QuaZipFile::setFileName(): call setZipName() first"); return; } if(!p->internal) { qWarning("QuaZipFile::setFileName(): should not be used when not using internal QuaZip"); return; } if(isOpen()) { qWarning("QuaZipFile::setFileName(): can not set file name for already opened file"); return; } p->fileName = fileName; if(p->fileName.startsWith('/')) { p->fileName = p->fileName.mid(1); } p->caseSensitivity = cs; } void QuaZipFilePrivate::setZipError(int zipError) const { QuaZipFilePrivate *fakeThis = const_cast(this); // non-const fakeThis->zipError = zipError; if(zipError == UNZ_OK) { q->setErrorString(QString()); } else { q->setErrorString(QString("ZIP/UNZIP API error %1").arg(zipError)); } } bool QuaZipFile::open(OpenMode mode) { return open(mode, NULL); } bool QuaZipFile::open(OpenMode mode, int *method, int *level, bool raw, const char *password) { p->resetZipError(); if(isOpen()) { qWarning("QuaZipFile::open(): already opened"); return false; } if(mode & Unbuffered) { qWarning("QuaZipFile::open(): Unbuffered mode is not supported"); return false; } if((mode & ReadOnly) && !(mode & WriteOnly)) { if(p->internal) { if(!p->zip->open(QuaZip::mdUnzip)) { p->setZipError(p->zip->getZipError()); return false; } if(!p->zip->setCurrentFile(p->fileName, p->caseSensitivity)) { p->setZipError(p->zip->getZipError()); p->zip->close(); return false; } } else { if(p->zip == NULL) { qWarning("QuaZipFile::open(): zip is NULL"); return false; } if(p->zip->getMode() != QuaZip::mdUnzip) { qWarning("QuaZipFile::open(): file open mode %d incompatible with ZIP open mode %d", (int)mode, (int)p->zip->getMode()); return false; } if(!p->zip->hasCurrentFile()) { qWarning("QuaZipFile::open(): zip does not have current file"); return false; } } p->setZipError(unzOpenCurrentFile3(p->zip->getUnzFile(), method, level, (int)raw, password)); if(p->zipError == UNZ_OK) { setOpenMode(mode); p->raw = raw; return true; } else { return false; } } qWarning("QuaZipFile::open(): open mode %d not supported by this function", (int)mode); return false; } bool QuaZipFile::open(OpenMode mode, const QuaZipNewInfo& info, const char *password, quint32 crc, int method, int level, bool raw, int windowBits, int memLevel, int strategy) { zip_fileinfo info_z; p->resetZipError(); if(isOpen()) { qWarning("QuaZipFile::open(): already opened"); return false; } if((mode & WriteOnly) && !(mode & ReadOnly)) { if(p->internal) { qWarning("QuaZipFile::open(): write mode is incompatible with internal QuaZip approach"); return false; } if(p->zip == NULL) { qWarning("QuaZipFile::open(): zip is NULL"); return false; } if(p->zip->getMode() != QuaZip::mdCreate && p->zip->getMode() != QuaZip::mdAppend && p->zip->getMode() != QuaZip::mdAdd) { qWarning("QuaZipFile::open(): file open mode %d incompatible with ZIP open mode %d", (int)mode, (int)p->zip->getMode()); return false; } info_z.tmz_date.tm_year = info.dateTime.date().year(); info_z.tmz_date.tm_mon = info.dateTime.date().month() - 1; info_z.tmz_date.tm_mday = info.dateTime.date().day(); info_z.tmz_date.tm_hour = info.dateTime.time().hour(); info_z.tmz_date.tm_min = info.dateTime.time().minute(); info_z.tmz_date.tm_sec = info.dateTime.time().second(); info_z.dosDate = 0; info_z.internal_fa = (uLong)info.internalAttr; info_z.external_fa = (uLong)info.externalAttr; if(!p->zip->isDataDescriptorWritingEnabled()) { zipClearFlags(p->zip->getZipFile(), ZIP_WRITE_DATA_DESCRIPTOR); } p->setZipError(zipOpenNewFileInZip3(p->zip->getZipFile(), p->zip->getFileNameCodec()->fromUnicode(info.name).constData(), &info_z, info.extraLocal.constData(), info.extraLocal.length(), info.extraGlobal.constData(), info.extraGlobal.length(), p->zip->getCommentCodec()->fromUnicode(info.comment).constData(), method, level, (int)raw, windowBits, memLevel, strategy, password, (uLong)crc)); if(p->zipError == UNZ_OK) { p->writePos = 0; setOpenMode(mode); p->raw = raw; if(raw) { p->crc = crc; p->uncompressedSize = info.uncompressedSize; } return true; } else { return false; } } qWarning("QuaZipFile::open(): open mode %d not supported by this function", (int)mode); return false; } bool QuaZipFile::isSequential()const { return true; } qint64 QuaZipFile::pos()const { if(p->zip == NULL) { qWarning("QuaZipFile::pos(): call setZipName() or setZip() first"); return -1; } if(!isOpen()) { qWarning("QuaZipFile::pos(): file is not open"); return -1; } if(openMode()&ReadOnly) // QIODevice::pos() is broken for sequential devices, // but thankfully bytesAvailable() returns the number of // bytes buffered, so we know how far ahead we are. { return unztell(p->zip->getUnzFile()) - QIODevice::bytesAvailable(); } else { return p->writePos; } } bool QuaZipFile::atEnd()const { if(p->zip == NULL) { qWarning("QuaZipFile::atEnd(): call setZipName() or setZip() first"); return false; } if(!isOpen()) { qWarning("QuaZipFile::atEnd(): file is not open"); return false; } if(openMode()&ReadOnly) // the same problem as with pos() return QIODevice::bytesAvailable() == 0 && unzeof(p->zip->getUnzFile()) == 1; else { return true; } } qint64 QuaZipFile::size()const { if(!isOpen()) { qWarning("QuaZipFile::atEnd(): file is not open"); return -1; } if(openMode()&ReadOnly) { return p->raw ? csize() : usize(); } else { return p->writePos; } } qint64 QuaZipFile::csize()const { unz_file_info info_z; p->setZipError(UNZ_OK); if(p->zip == NULL || p->zip->getMode() != QuaZip::mdUnzip) { return -1; } p->setZipError(unzGetCurrentFileInfo(p->zip->getUnzFile(), &info_z, NULL, 0, NULL, 0, NULL, 0)); if(p->zipError != UNZ_OK) { return -1; } return info_z.compressed_size; } qint64 QuaZipFile::usize()const { unz_file_info info_z; p->setZipError(UNZ_OK); if(p->zip == NULL || p->zip->getMode() != QuaZip::mdUnzip) { return -1; } p->setZipError(unzGetCurrentFileInfo(p->zip->getUnzFile(), &info_z, NULL, 0, NULL, 0, NULL, 0)); if(p->zipError != UNZ_OK) { return -1; } return info_z.uncompressed_size; } bool QuaZipFile::getFileInfo(QuaZipFileInfo *info) { if(p->zip == NULL || p->zip->getMode() != QuaZip::mdUnzip) { return false; } p->zip->getCurrentFileInfo(info); p->setZipError(p->zip->getZipError()); return p->zipError == UNZ_OK; } void QuaZipFile::close() { p->resetZipError(); if(p->zip == NULL || !p->zip->isOpen()) { return; } if(!isOpen()) { qWarning("QuaZipFile::close(): file isn't open"); return; } if(openMode()&ReadOnly) { p->setZipError(unzCloseCurrentFile(p->zip->getUnzFile())); } else if(openMode()&WriteOnly) if(isRaw()) { p->setZipError(zipCloseFileInZipRaw(p->zip->getZipFile(), p->uncompressedSize, p->crc)); } else { p->setZipError(zipCloseFileInZip(p->zip->getZipFile())); } else { qWarning("Wrong open mode: %d", (int)openMode()); return; } if(p->zipError == UNZ_OK) { setOpenMode(QIODevice::NotOpen); } else { return; } if(p->internal) { p->zip->close(); p->setZipError(p->zip->getZipError()); } } qint64 QuaZipFile::readData(char *data, qint64 maxSize) { p->setZipError(UNZ_OK); qint64 bytesRead = unzReadCurrentFile(p->zip->getUnzFile(), data, (unsigned)maxSize); if(bytesRead < 0) { p->setZipError((int) bytesRead); return -1; } return bytesRead; } qint64 QuaZipFile::writeData(const char* data, qint64 maxSize) { p->setZipError(ZIP_OK); p->setZipError(zipWriteInFileInZip(p->zip->getZipFile(), data, (unsigned int)maxSize)); if(p->zipError != ZIP_OK) { return -1; } else { p->writePos += maxSize; return maxSize; } } QString QuaZipFile::getFileName() const { return p->fileName; } QuaZip::CaseSensitivity QuaZipFile::getCaseSensitivity() const { return p->caseSensitivity; } bool QuaZipFile::isRaw() const { return p->raw; } int QuaZipFile::getZipError() const { return p->zipError; } qint64 QuaZipFile::bytesAvailable() const { return size() - pos(); } ./chessx-1.3.2/src/quazip/quazipfile.h000644 000765 000024 00000046276 12223260306 017355 0ustar00nistaff000000 000000 #ifndef QUA_ZIPFILE_H #define QUA_ZIPFILE_H /* Copyright (C) 2005-2011 Sergey A. Tachenov This program 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 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA See COPYING file for the full LGPL text. Original ZIP package is copyrighted by Gilles Vollant, see quazip/(un)zip.h files for details, basically it's zlib license. **/ #include #include "quazip_global.h" #include "quazip.h" #include "quazipnewinfo.h" class QuaZipFilePrivate; /// A file inside ZIP archive. /** \class QuaZipFile quazipfile.h * This is the most interesting class. Not only it provides C++ * interface to the ZIP/UNZIP package, but also integrates it with Qt by * subclassing QIODevice. This makes possible to access files inside ZIP * archive using QTextStream or QDataStream, for example. Actually, this * is the main purpose of the whole QuaZIP library. * * You can either use existing QuaZip instance to create instance of * this class or pass ZIP archive file name to this class, in which case * it will create internal QuaZip object. See constructors' descriptions * for details. Writing is only possible with the existing instance. * * Note that due to the underlying library's limitation it is not * possible to use multiple QuaZipFile instances to open several files * in the same archive at the same time. If you need to write to * multiple files in parallel, then you should write to temporary files * first, then pack them all at once when you have finished writing. If * you need to read multiple files inside the same archive in parallel, * you should extract them all into a temporary directory first. * * \section quazipfile-sequential Sequential or random-access? * * At the first thought, QuaZipFile has fixed size, the start and the * end and should be therefore considered random-access device. But * there is one major obstacle to making it random-access: ZIP/UNZIP API * does not support seek() operation and the only way to implement it is * through reopening the file and re-reading to the required position, * but this is prohibitively slow. * * Therefore, QuaZipFile is considered to be a sequential device. This * has advantage of availability of the ungetChar() operation (QIODevice * does not implement it properly for non-sequential devices unless they * support seek()). Disadvantage is a somewhat strange behaviour of the * size() and pos() functions. This should be kept in mind while using * this class. * **/ class QUAZIP_EXPORT QuaZipFile: public QIODevice { friend class QuaZipFilePrivate; Q_OBJECT private: QuaZipFilePrivate *p; // these are not supported nor implemented QuaZipFile(const QuaZipFile& that); QuaZipFile& operator=(const QuaZipFile& that); protected: /// Implementation of the QIODevice::readData(). qint64 readData(char *data, qint64 maxSize); /// Implementation of the QIODevice::writeData(). qint64 writeData(const char *data, qint64 maxSize); public: /// Constructs a QuaZipFile instance. /** You should use setZipName() and setFileName() or setZip() before * trying to call open() on the constructed object. **/ QuaZipFile(); /// Constructs a QuaZipFile instance. /** \a parent argument specifies this object's parent object. * * You should use setZipName() and setFileName() or setZip() before * trying to call open() on the constructed object. **/ QuaZipFile(QObject *parent); /// Constructs a QuaZipFile instance. /** \a parent argument specifies this object's parent object and \a * zipName specifies ZIP archive file name. * * You should use setFileName() before trying to call open() on the * constructed object. * * QuaZipFile constructed by this constructor can be used for read * only access. Use QuaZipFile(QuaZip*,QObject*) for writing. **/ QuaZipFile(const QString& zipName, QObject *parent = NULL); /// Constructs a QuaZipFile instance. /** \a parent argument specifies this object's parent object, \a * zipName specifies ZIP archive file name and \a fileName and \a cs * specify a name of the file to open inside archive. * * QuaZipFile constructed by this constructor can be used for read * only access. Use QuaZipFile(QuaZip*,QObject*) for writing. * * \sa QuaZip::setCurrentFile() **/ QuaZipFile(const QString& zipName, const QString& fileName, QuaZip::CaseSensitivity cs = QuaZip::csDefault, QObject *parent = NULL); /// Constructs a QuaZipFile instance. /** \a parent argument specifies this object's parent object. * * \a zip is the pointer to the existing QuaZip object. This * QuaZipFile object then can be used to read current file in the * \a zip or to write to the file inside it. * * \warning Using this constructor for reading current file can be * tricky. Let's take the following example: * \code * QuaZip zip("archive.zip"); * zip.open(QuaZip::mdUnzip); * zip.setCurrentFile("file-in-archive"); * QuaZipFile file(&zip); * file.open(QIODevice::ReadOnly); * // ok, now we can read from the file * file.read(somewhere, some); * zip.setCurrentFile("another-file-in-archive"); // oops... * QuaZipFile anotherFile(&zip); * anotherFile.open(QIODevice::ReadOnly); * anotherFile.read(somewhere, some); // this is still ok... * file.read(somewhere, some); // and this is NOT * \endcode * So, what exactly happens here? When we change current file in the * \c zip archive, \c file that references it becomes invalid * (actually, as far as I understand ZIP/UNZIP sources, it becomes * closed, but QuaZipFile has no means to detect it). * * Summary: do not close \c zip object or change its current file as * long as QuaZipFile is open. Even better - use another constructors * which create internal QuaZip instances, one per object, and * therefore do not cause unnecessary trouble. This constructor may * be useful, though, if you already have a QuaZip instance and do * not want to access several files at once. Good example: * \code * QuaZip zip("archive.zip"); * zip.open(QuaZip::mdUnzip); * // first, we need some information about archive itself * QByteArray comment=zip.getComment(); * // and now we are going to access files inside it * QuaZipFile file(&zip); * for(bool more=zip.goToFirstFile(); more; more=zip.goToNextFile()) { * file.open(QIODevice::ReadOnly); * // do something cool with file here * file.close(); // do not forget to close! * } * zip.close(); * \endcode **/ QuaZipFile(QuaZip *zip, QObject *parent = NULL); /// Destroys a QuaZipFile instance. /** Closes file if open, destructs internal QuaZip object (if it * exists and \em is internal, of course). **/ virtual ~QuaZipFile(); /// Returns the ZIP archive file name. /** If this object was created by passing QuaZip pointer to the * constructor, this function will return that QuaZip's file name * (or null string if that object does not have file name yet). * * Otherwise, returns associated ZIP archive file name or null * string if there are no name set yet. * * \sa setZipName() getFileName() **/ QString getZipName()const; /// Returns a pointer to the associated QuaZip object. /** Returns \c NULL if there is no associated QuaZip or it is * internal (so you will not mess with it). **/ QuaZip* getZip()const; /// Returns file name. /** This function returns file name you passed to this object either * by using * QuaZipFile(const QString&,const QString&,QuaZip::CaseSensitivity,QObject*) * or by calling setFileName(). Real name of the file may differ in * case if you used case-insensitivity. * * Returns null string if there is no file name set yet. This is the * case when this QuaZipFile operates on the existing QuaZip object * (constructor QuaZipFile(QuaZip*,QObject*) or setZip() was used). * * \sa getActualFileName **/ QString getFileName() const; /// Returns case sensitivity of the file name. /** This function returns case sensitivity argument you passed to * this object either by using * QuaZipFile(const QString&,const QString&,QuaZip::CaseSensitivity,QObject*) * or by calling setFileName(). * * Returns unpredictable value if getFileName() returns null string * (this is the case when you did not used setFileName() or * constructor above). * * \sa getFileName **/ QuaZip::CaseSensitivity getCaseSensitivity() const; /// Returns the actual file name in the archive. /** This is \em not a ZIP archive file name, but a name of file inside * archive. It is not necessary the same name that you have passed * to the * QuaZipFile(const QString&,const QString&,QuaZip::CaseSensitivity,QObject*), * setFileName() or QuaZip::setCurrentFile() - this is the real file * name inside archive, so it may differ in case if the file name * search was case-insensitive. * * Equivalent to calling getCurrentFileName() on the associated * QuaZip object. Returns null string if there is no associated * QuaZip object or if it does not have a current file yet. And this * is the case if you called setFileName() but did not open the * file yet. So this is perfectly fine: * \code * QuaZipFile file("somezip.zip"); * file.setFileName("somefile"); * QString name=file.getName(); // name=="somefile" * QString actual=file.getActualFileName(); // actual is null string * file.open(QIODevice::ReadOnly); * QString actual=file.getActualFileName(); // actual can be "SoMeFiLe" on Windows * \endcode * * \sa getZipName(), getFileName(), QuaZip::CaseSensitivity **/ QString getActualFileName()const; /// Sets the ZIP archive file name. /** Automatically creates internal QuaZip object and destroys * previously created internal QuaZip object, if any. * * Will do nothing if this file is already open. You must close() it * first. **/ void setZipName(const QString& zipName); /// Returns \c true if the file was opened in raw mode. /** If the file is not open, the returned value is undefined. * * \sa open(OpenMode,int*,int*,bool,const char*) **/ bool isRaw() const; /// Binds to the existing QuaZip instance. /** This function destroys internal QuaZip object, if any, and makes * this QuaZipFile to use current file in the \a zip object for any * further operations. See QuaZipFile(QuaZip*,QObject*) for the * possible pitfalls. * * Will do nothing if the file is currently open. You must close() * it first. **/ void setZip(QuaZip *zip); /// Sets the file name. /** Will do nothing if at least one of the following conditions is * met: * - ZIP name has not been set yet (getZipName() returns null * string). * - This QuaZipFile is associated with external QuaZip. In this * case you should call that QuaZip's setCurrentFile() function * instead! * - File is already open so setting the name is meaningless. * * \sa QuaZip::setCurrentFile **/ void setFileName(const QString& fileName, QuaZip::CaseSensitivity cs = QuaZip::csDefault); /// Opens a file for reading. /** Returns \c true on success, \c false otherwise. * Call getZipError() to get error code. * * \note Since ZIP/UNZIP API provides buffered reading only, * QuaZipFile does not support unbuffered reading. So do not pass * QIODevice::Unbuffered flag in \a mode, or open will fail. **/ virtual bool open(OpenMode mode); /// Opens a file for reading. /** \overload * Argument \a password specifies a password to decrypt the file. If * it is NULL then this function behaves just like open(OpenMode). **/ inline bool open(OpenMode mode, const char *password) { return open(mode, NULL, NULL, false, password); } /// Opens a file for reading. /** \overload * Argument \a password specifies a password to decrypt the file. * * An integers pointed by \a method and \a level will receive codes * of the compression method and level used. See unzip.h. * * If raw is \c true then no decompression is performed. * * \a method should not be \c NULL. \a level can be \c NULL if you * don't want to know the compression level. **/ bool open(OpenMode mode, int *method, int *level, bool raw, const char *password = NULL); /// Opens a file for writing. /** \a info argument specifies information about file. It should at * least specify a correct file name. Also, it is a good idea to * specify correct timestamp (by default, current time will be * used). See QuaZipNewInfo. * * The \a password argument specifies the password for crypting. Pass NULL * if you don't need any crypting. The \a crc argument was supposed * to be used for crypting too, but then it turned out that it's * false information, so you need to set it to 0 unless you want to * use the raw mode (see below). * * Arguments \a method and \a level specify compression method and * level. The only method supported is Z_DEFLATED, but you may also * specify 0 for no compression. If all of the files in the archive * use both method 0 and either level 0 is explicitly specified or * data descriptor writing is disabled with * QuaZip::setDataDescriptorWritingEnabled(), then the * resulting archive is supposed to be compatible with the 1.0 ZIP * format version, should you need that. Except for this, \a level * has no other effects with method 0. * * If \a raw is \c true, no compression is performed. In this case, * \a crc and uncompressedSize field of the \a info are required. * * Arguments \a windowBits, \a memLevel, \a strategy provide zlib * algorithms tuning. See deflateInit2() in zlib. **/ bool open(OpenMode mode, const QuaZipNewInfo& info, const char *password = NULL, quint32 crc = 0, int method = Z_DEFLATED, int level = Z_DEFAULT_COMPRESSION, bool raw = false, int windowBits = -MAX_WBITS, int memLevel = DEF_MEM_LEVEL, int strategy = Z_DEFAULT_STRATEGY); /// Returns \c true, but \ref quazipfile-sequential "beware"! virtual bool isSequential()const; /// Returns current position in the file. /** Implementation of the QIODevice::pos(). When reading, this * function is a wrapper to the ZIP/UNZIP unztell(), therefore it is * unable to keep track of the ungetChar() calls (which is * non-virtual and therefore is dangerous to reimplement). So if you * are using ungetChar() feature of the QIODevice, this function * reports incorrect value until you get back characters which you * ungot. * * When writing, pos() returns number of bytes already written * (uncompressed unless you use raw mode). * * \note Although * \ref quazipfile-sequential "QuaZipFile is a sequential device" * and therefore pos() should always return zero, it does not, * because it would be misguiding. Keep this in mind. * * This function returns -1 if the file or archive is not open. * * Error code returned by getZipError() is not affected by this * function call. **/ virtual qint64 pos()const; /// Returns \c true if the end of file was reached. /** This function returns \c false in the case of error. This means * that you called this function on either not open file, or a file * in the not open archive or even on a QuaZipFile instance that * does not even have QuaZip instance associated. Do not do that * because there is no means to determine whether \c false is * returned because of error or because end of file was reached. * Well, on the other side you may interpret \c false return value * as "there is no file open to check for end of file and there is * no end of file therefore". * * When writing, this function always returns \c true (because you * are always writing to the end of file). * * Error code returned by getZipError() is not affected by this * function call. **/ virtual bool atEnd()const; /// Returns file size. /** This function returns csize() if the file is open for reading in * raw mode, usize() if it is open for reading in normal mode and * pos() if it is open for writing. * * Returns -1 on error, call getZipError() to get error code. * * \note This function returns file size despite that * \ref quazipfile-sequential "QuaZipFile is considered to be sequential device", * for which size() should return bytesAvailable() instead. But its * name would be very misguiding otherwise, so just keep in mind * this inconsistence. **/ virtual qint64 size()const; /// Returns compressed file size. /** Equivalent to calling getFileInfo() and then getting * compressedSize field, but more convenient and faster. * * File must be open for reading before calling this function. * * Returns -1 on error, call getZipError() to get error code. **/ qint64 csize()const; /// Returns uncompressed file size. /** Equivalent to calling getFileInfo() and then getting * uncompressedSize field, but more convenient and faster. See * getFileInfo() for a warning. * * File must be open for reading before calling this function. * * Returns -1 on error, call getZipError() to get error code. **/ qint64 usize()const; /// Gets information about current file. /** This function does the same thing as calling * QuaZip::getCurrentFileInfo() on the associated QuaZip object, * but you can not call getCurrentFileInfo() if the associated * QuaZip is internal (because you do not have access to it), while * you still can call this function in that case. * * File must be open for reading before calling this function. * * Returns \c false in the case of an error. **/ bool getFileInfo(QuaZipFileInfo *info); /// Closes the file. /** Call getZipError() to determine if the close was successful. **/ virtual void close(); /// Returns the error code returned by the last ZIP/UNZIP API call. int getZipError() const; /// Returns the number of bytes available for reading. virtual qint64 bytesAvailable() const; }; #endif ./chessx-1.3.2/src/quazip/quazipfileinfo.h000644 000765 000024 00000003643 12223260306 020220 0ustar00nistaff000000 000000 #ifndef QUA_ZIPFILEINFO_H #define QUA_ZIPFILEINFO_H /* Copyright (C) 2005-2011 Sergey A. Tachenov This program 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 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA See COPYING file for the full LGPL text. Original ZIP package is copyrighted by Gilles Vollant, see quazip/(un)zip.h files for details, basically it's zlib license. **/ #include #include #include "quazip_global.h" /// Information about a file inside archive. /** Call QuaZip::getCurrentFileInfo() or QuaZipFile::getFileInfo() to * fill this structure. */ struct QUAZIP_EXPORT QuaZipFileInfo { /// File name. QString name; /// Version created by. quint16 versionCreated; /// Version needed to extract. quint16 versionNeeded; /// General purpose flags. quint16 flags; /// Compression method. quint16 method; /// Last modification date and time. QDateTime dateTime; /// CRC. quint32 crc; /// Compressed file size. quint32 compressedSize; /// Uncompressed file size. quint32 uncompressedSize; /// Disk number start. quint16 diskNumberStart; /// Internal file attributes. quint16 internalAttr; /// External file attributes. quint32 externalAttr; /// Comment. QString comment; /// Extra field. QByteArray extra; }; #endif ./chessx-1.3.2/src/quazip/quazipnewinfo.cpp000644 000765 000024 00000003114 12223260306 020416 0ustar00nistaff000000 000000 /* Copyright (C) 2005-2011 Sergey A. Tachenov This program 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 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA See COPYING file for the full LGPL text. Original ZIP package is copyrighted by Gilles Vollant, see quazip/(un)zip.h files for details, basically it's zlib license. */ #include #include "quazipnewinfo.h" QuaZipNewInfo::QuaZipNewInfo(const QString& name): name(name), dateTime(QDateTime::currentDateTime()), internalAttr(0), externalAttr(0) { } QuaZipNewInfo::QuaZipNewInfo(const QString& name, const QString& file): name(name), internalAttr(0), externalAttr(0) { QFileInfo info(file); QDateTime lm = info.lastModified(); if(!info.exists()) { dateTime = QDateTime::currentDateTime(); } else { dateTime = lm; } } void QuaZipNewInfo::setFileDateTime(const QString& file) { QFileInfo info(file); QDateTime lm = info.lastModified(); if(info.exists()) { dateTime = lm; } } ./chessx-1.3.2/src/quazip/quazipnewinfo.h000644 000765 000024 00000007353 12223260306 020074 0ustar00nistaff000000 000000 #ifndef QUA_ZIPNEWINFO_H #define QUA_ZIPNEWINFO_H /* Copyright (C) 2005-2011 Sergey A. Tachenov This program 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 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA See COPYING file for the full LGPL text. Original ZIP package is copyrighted by Gilles Vollant, see quazip/(un)zip.h files for details, basically it's zlib license. **/ #include #include #include "quazip_global.h" /// Information about a file to be created. /** This structure holds information about a file to be created inside * ZIP archive. At least name should be set to something correct before * passing this structure to * QuaZipFile::open(OpenMode,const QuaZipNewInfo&,int,int,bool). **/ struct QUAZIP_EXPORT QuaZipNewInfo { /// File name. /** This field holds file name inside archive, including path relative * to archive root. **/ QString name; /// File timestamp. /** This is the last file modification date and time. Will be stored * in the archive central directory. It is a good practice to set it * to the source file timestamp instead of archive creating time. Use * setFileDateTime() or QuaZipNewInfo(const QString&, const QString&). **/ QDateTime dateTime; /// File internal attributes. quint16 internalAttr; /// File external attributes. quint32 externalAttr; /// File comment. /** Will be encoded using QuaZip::getCommentCodec(). **/ QString comment; /// File local extra field. QByteArray extraLocal; /// File global extra field. QByteArray extraGlobal; /// Uncompressed file size. /** This is only needed if you are using raw file zipping mode, i. e. * adding precompressed file in the zip archive. **/ ulong uncompressedSize; /// Constructs QuaZipNewInfo instance. /** Initializes name with \a name, dateTime with current date and * time. Attributes are initialized with zeros, comment and extra * field with null values. **/ QuaZipNewInfo(const QString& name); /// Constructs QuaZipNewInfo instance. /** Initializes name with \a name and dateTime with timestamp of the * file named \a file. If the \a file does not exists or its timestamp * is inaccessible (e. g. you do not have read permission for the * directory file in), uses current date and time. Attributes are * initialized with zeros, comment and extra field with null values. * * \sa setFileDateTime() **/ QuaZipNewInfo(const QString& name, const QString& file); /// Sets the file timestamp from the existing file. /** Use this function to set the file timestamp from the existing * file. Use it like this: * \code * QuaZipFile zipFile(&zip); * QFile file("file-to-add"); * file.open(QIODevice::ReadOnly); * QuaZipNewInfo info("file-name-in-archive"); * info.setFileDateTime("file-to-add"); // take the timestamp from file * zipFile.open(QIODevice::WriteOnly, info); * \endcode * * This function does not change dateTime if some error occured (e. g. * file is inaccessible). **/ void setFileDateTime(const QString& file); }; #endif ./chessx-1.3.2/src/quazip/unzip.c000644 000765 000024 00000140322 12162306622 016333 0ustar00nistaff000000 000000 /* unzip.c -- IO for uncompress .zip files using zlib Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant Read unzip.h for more info Modified by Sergey A. Tachenov to integrate with Qt. */ /* Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms of compatibility with older software. The following is from the original crypt.c. Code woven in by Terry Thorsen 1/2003. */ /* Copyright (c) 1990-2000 Info-ZIP. All rights reserved. See the accompanying file LICENSE, version 2000-Apr-09 or later (the contents of which are also included in zip.h) for terms of use. If, for some reason, all these files are missing, the Info-ZIP license also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html */ /* crypt.c (full version) by Info-ZIP. Last revised: [see crypt.h] The encryption/decryption parts of this source code (as opposed to the non-echoing password parts) were originally written in Europe. The whole source package can be freely distributed, including from the USA. (Prior to January 2000, re-export from the US was a violation of US law.) */ /* This encryption code is a direct transcription of the algorithm from Roger Schlafly, described by Phil Katz in the file appnote.txt. This file (appnote.txt) is distributed with the PKZIP program (even in the version without encryption capabilities). */ #include #include #include #include "zlib.h" #include "unzip.h" #ifdef STDC # include # include # include #endif #ifdef NO_ERRNO_H extern int errno; #else # include #endif #ifndef local # define local static #endif /* compile with -Dlocal if your debugger can't find static symbols */ #ifndef CASESENSITIVITYDEFAULT_NO # if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) # define CASESENSITIVITYDEFAULT_NO # endif #endif #ifndef UNZ_BUFSIZE #define UNZ_BUFSIZE (16384) #endif #ifndef UNZ_MAXFILENAMEINZIP #define UNZ_MAXFILENAMEINZIP (256) #endif #ifndef ALLOC # define ALLOC(size) (malloc(size)) #endif #ifndef TRYFREE # define TRYFREE(p) {if (p) free(p);} #endif #define SIZECENTRALDIRITEM (0x2e) #define SIZEZIPLOCALHEADER (0x1e) const char unz_copyright[] = " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; /* unz_file_info_interntal contain internal info about a file in zipfile*/ typedef struct unz_file_info_internal_s { uLong offset_curfile;/* relative offset of local header 4 bytes */ } unz_file_info_internal; /* file_in_zip_read_info_s contain internal information about a file in zipfile, when reading and decompress it */ typedef struct { char *read_buffer; /* internal buffer for compressed data */ z_stream stream; /* zLib stream structure for inflate */ uLong pos_in_zipfile; /* position in byte on the zipfile, for fseek*/ uLong stream_initialised; /* flag set if stream structure is initialised*/ uLong offset_local_extrafield;/* offset of the local extra field */ uInt size_local_extrafield;/* size of the local extra field */ uLong pos_local_extrafield; /* position in the local extra field in read*/ uLong crc32; /* crc32 of all data uncompressed */ uLong crc32_wait; /* crc32 we must obtain after decompress all */ uLong rest_read_compressed; /* number of byte to be decompressed */ uLong rest_read_uncompressed;/*number of byte to be obtained after decomp*/ zlib_filefunc_def z_filefunc; voidpf filestream; /* io structore of the zipfile */ uLong compression_method; /* compression method (0==store) */ uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ int raw; } file_in_zip_read_info_s; /* unz_s contain internal information about the zipfile */ typedef struct { zlib_filefunc_def z_filefunc; voidpf filestream; /* io structore of the zipfile */ unz_global_info gi; /* public global information */ uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ uLong num_file; /* number of the current file in the zipfile*/ uLong pos_in_central_dir; /* pos of the current file in the central dir*/ uLong current_file_ok; /* flag about the usability of the current file*/ uLong central_pos; /* position of the beginning of the central dir*/ uLong size_central_dir; /* size of the central directory */ uLong offset_central_dir; /* offset of start of central directory with respect to the starting disk number */ unz_file_info cur_file_info; /* public info about the current file in zip*/ unz_file_info_internal cur_file_info_internal; /* private info about it*/ file_in_zip_read_info_s* pfile_in_zip_read; /* structure about the current file if we are decompressing it */ int encrypted; # ifndef NOUNCRYPT unsigned long keys[3]; /* keys defining the pseudo-random sequence */ const unsigned long* pcrc_32_tab; # endif } unz_s; #ifndef NOUNCRYPT #include "crypt.h" #endif /* =========================================================================== Read a byte from a gz_stream; update next_in and avail_in. Return EOF for end of file. IN assertion: the stream s has been sucessfully opened for reading. */ local int unzlocal_getByte OF(( const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream, int *pi)); local int unzlocal_getByte(pzlib_filefunc_def,filestream,pi) const zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; int *pi; { unsigned char c; int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1); if (err==1) { *pi = (int)c; return UNZ_OK; } else { if (ZERROR(*pzlib_filefunc_def,filestream)) return UNZ_ERRNO; else return UNZ_EOF; } } /* =========================================================================== Reads a long in LSB order from the given gz_stream. Sets */ local int unzlocal_getShort OF(( const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); local int unzlocal_getShort (pzlib_filefunc_def,filestream,pX) const zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; uLong *pX; { uLong x ; int i; int err; err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); x = (uLong)i; if (err==UNZ_OK) err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); x += ((uLong)i)<<8; if (err==UNZ_OK) *pX = x; else *pX = 0; return err; } local int unzlocal_getLong OF(( const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); local int unzlocal_getLong (pzlib_filefunc_def,filestream,pX) const zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; uLong *pX; { uLong x ; int i; int err; err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); x = (uLong)i; if (err==UNZ_OK) err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); x += ((uLong)i)<<8; if (err==UNZ_OK) err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); x += ((uLong)i)<<16; if (err==UNZ_OK) err = unzlocal_getByte(pzlib_filefunc_def,filestream,&i); x += ((uLong)i)<<24; if (err==UNZ_OK) *pX = x; else *pX = 0; return err; } /* My own strcmpi / strcasecmp */ local int strcmpcasenosensitive_internal (fileName1,fileName2) const char* fileName1; const char* fileName2; { for (;;) { char c1=*(fileName1++); char c2=*(fileName2++); if ((c1>='a') && (c1<='z')) c1 -= 0x20; if ((c2>='a') && (c2<='z')) c2 -= 0x20; if (c1=='\0') return ((c2=='\0') ? 0 : -1); if (c2=='\0') return 1; if (c1c2) return 1; } } #ifdef CASESENSITIVITYDEFAULT_NO #define CASESENSITIVITYDEFAULTVALUE 2 #else #define CASESENSITIVITYDEFAULTVALUE 1 #endif #ifndef STRCMPCASENOSENTIVEFUNCTION #define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal #endif /* Compare two filename (fileName1,fileName2). If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi or strcasecmp) If iCaseSenisivity = 0, case sensitivity is defaut of your operating system (like 1 on Unix, 2 on Windows) */ extern int ZEXPORT unzStringFileNameCompare (fileName1,fileName2,iCaseSensitivity) const char* fileName1; const char* fileName2; int iCaseSensitivity; { if (iCaseSensitivity==0) iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE; if (iCaseSensitivity==1) return strcmp(fileName1,fileName2); return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2); } #ifndef BUFREADCOMMENT #define BUFREADCOMMENT (0x400) #endif /* Locate the Central directory of a zipfile (at the end, just before the global comment) */ local uLong unzlocal_SearchCentralDir OF(( const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream)); local uLong unzlocal_SearchCentralDir(pzlib_filefunc_def,filestream) const zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; { unsigned char* buf; uLong uSizeFile; uLong uBackRead; uLong uMaxBack=0xffff; /* maximum size of global comment */ uLong uPosFound=0; if (ZSEEK(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) return 0; uSizeFile = ZTELL(*pzlib_filefunc_def,filestream); if (uMaxBack>uSizeFile) uMaxBack = uSizeFile; buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); if (buf==NULL) return 0; uBackRead = 4; while (uBackReaduMaxBack) uBackRead = uMaxBack; else uBackRead+=BUFREADCOMMENT; uReadPos = uSizeFile-uBackRead ; uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? (BUFREADCOMMENT+4) : (uSizeFile-uReadPos); if (ZSEEK(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) break; if (ZREAD(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) break; for (i=(int)uReadSize-3; (i--)>0;) if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) { uPosFound = uReadPos+i; break; } if (uPosFound!=0) break; } TRYFREE(buf); return uPosFound; } /* Open a Zip file. path contain the full pathname (by example, on a Windows NT computer "c:\\test\\zlib114.zip" or on an Unix computer "zlib/zlib114.zip". If the zipfile cannot be opened (file doesn't exist or in not valid), the return value is NULL. Else, the return value is a unzFile Handle, usable with other function of this unzip package. */ extern unzFile ZEXPORT unzOpen2 (file, pzlib_filefunc_def) voidpf file; zlib_filefunc_def* pzlib_filefunc_def; { unz_s us; unz_s *s; uLong central_pos,uL; uLong number_disk; /* number of the current dist, used for spaning ZIP, unsupported, always 0*/ uLong number_disk_with_CD; /* number the the disk with central dir, used for spaning ZIP, unsupported, always 0*/ uLong number_entry_CD; /* total number of entries in the central dir (same than number_entry on nospan) */ int err=UNZ_OK; if (unz_copyright[0]!=' ') return NULL; if (pzlib_filefunc_def==NULL) fill_qiodevice_filefunc(&us.z_filefunc); else us.z_filefunc = *pzlib_filefunc_def; us.filestream= (*(us.z_filefunc.zopen_file))(us.z_filefunc.opaque, file, ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_EXISTING); if (us.filestream==NULL) return NULL; central_pos = unzlocal_SearchCentralDir(&us.z_filefunc,us.filestream); if (central_pos==0) err=UNZ_ERRNO; if (ZSEEK(us.z_filefunc, us.filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) err=UNZ_ERRNO; /* the signature, already checked */ if (unzlocal_getLong(&us.z_filefunc, us.filestream,&uL)!=UNZ_OK) err=UNZ_ERRNO; /* number of this disk */ if (unzlocal_getShort(&us.z_filefunc, us.filestream,&number_disk)!=UNZ_OK) err=UNZ_ERRNO; /* number of the disk with the start of the central directory */ if (unzlocal_getShort(&us.z_filefunc, us.filestream,&number_disk_with_CD)!=UNZ_OK) err=UNZ_ERRNO; /* total number of entries in the central dir on this disk */ if (unzlocal_getShort(&us.z_filefunc, us.filestream,&us.gi.number_entry)!=UNZ_OK) err=UNZ_ERRNO; /* total number of entries in the central dir */ if (unzlocal_getShort(&us.z_filefunc, us.filestream,&number_entry_CD)!=UNZ_OK) err=UNZ_ERRNO; if ((number_entry_CD!=us.gi.number_entry) || (number_disk_with_CD!=0) || (number_disk!=0)) err=UNZ_BADZIPFILE; /* size of the central directory */ if (unzlocal_getLong(&us.z_filefunc, us.filestream,&us.size_central_dir)!=UNZ_OK) err=UNZ_ERRNO; /* offset of start of central directory with respect to the starting disk number */ if (unzlocal_getLong(&us.z_filefunc, us.filestream,&us.offset_central_dir)!=UNZ_OK) err=UNZ_ERRNO; /* zipfile comment length */ if (unzlocal_getShort(&us.z_filefunc, us.filestream,&us.gi.size_comment)!=UNZ_OK) err=UNZ_ERRNO; if ((central_pospfile_in_zip_read!=NULL) unzCloseCurrentFile(file); ZCLOSE(s->z_filefunc, s->filestream); TRYFREE(s); return UNZ_OK; } /* Write info about the ZipFile in the *pglobal_info structure. No preparation of the structure is needed return UNZ_OK if there is no problem. */ extern int ZEXPORT unzGetGlobalInfo (file,pglobal_info) unzFile file; unz_global_info *pglobal_info; { unz_s* s; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; *pglobal_info=s->gi; return UNZ_OK; } /* Translate date/time from Dos format to tm_unz (readable more easilty) */ local void unzlocal_DosDateToTmuDate (ulDosDate, ptm) uLong ulDosDate; tm_unz* ptm; { uLong uDate; uDate = (uLong)(ulDosDate>>16); ptm->tm_mday = (uInt)(uDate&0x1f) ; ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ; ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ; ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800); ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ; ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ; } /* Get Info about the current file in the zipfile, with internal only info */ local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file, unz_file_info *pfile_info, unz_file_info_internal *pfile_info_internal, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)); local int unzlocal_GetCurrentFileInfoInternal (file, pfile_info, pfile_info_internal, szFileName, fileNameBufferSize, extraField, extraFieldBufferSize, szComment, commentBufferSize) unzFile file; unz_file_info *pfile_info; unz_file_info_internal *pfile_info_internal; char *szFileName; uLong fileNameBufferSize; void *extraField; uLong extraFieldBufferSize; char *szComment; uLong commentBufferSize; { unz_s* s; unz_file_info file_info; unz_file_info_internal file_info_internal; int err=UNZ_OK; uLong uMagic; uLong uSeek=0; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; if (ZSEEK(s->z_filefunc, s->filestream, s->pos_in_central_dir+s->byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET)!=0) err=UNZ_ERRNO; /* we check the magic */ if (err==UNZ_OK) { if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) err=UNZ_ERRNO; else if (uMagic!=0x02014b50) err=UNZ_BADZIPFILE; } if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.version) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.version_needed) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.flag) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.compression_method) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info.dosDate) != UNZ_OK) err=UNZ_ERRNO; unzlocal_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date); if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info.crc) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info.compressed_size) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info.uncompressed_size) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.size_filename) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_extra) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.size_file_comment) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.disk_num_start) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&file_info.internal_fa) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info.external_fa) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getLong(&s->z_filefunc, s->filestream,&file_info_internal.offset_curfile) != UNZ_OK) err=UNZ_ERRNO; uSeek+=file_info.size_filename; if ((err==UNZ_OK) && (szFileName!=NULL)) { uLong uSizeRead ; if (file_info.size_filename0) && (fileNameBufferSize>0)) if (ZREAD(s->z_filefunc, s->filestream,szFileName,uSizeRead)!=uSizeRead) err=UNZ_ERRNO; uSeek -= uSizeRead; } if ((err==UNZ_OK) && (extraField!=NULL)) { uLong uSizeRead ; if (file_info.size_file_extraz_filefunc, s->filestream,uSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) uSeek=0; else err=UNZ_ERRNO; } if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0)) if (ZREAD(s->z_filefunc, s->filestream,extraField,uSizeRead)!=uSizeRead) err=UNZ_ERRNO; uSeek += file_info.size_file_extra - uSizeRead; } else uSeek+=file_info.size_file_extra; if ((err==UNZ_OK) && (szComment!=NULL)) { uLong uSizeRead ; if (file_info.size_file_commentz_filefunc, s->filestream,uSeek,ZLIB_FILEFUNC_SEEK_CUR)==0) uSeek=0; else err=UNZ_ERRNO; } if ((file_info.size_file_comment>0) && (commentBufferSize>0)) if (ZREAD(s->z_filefunc, s->filestream,szComment,uSizeRead)!=uSizeRead) err=UNZ_ERRNO; uSeek+=file_info.size_file_comment - uSizeRead; } else uSeek+=file_info.size_file_comment; if ((err==UNZ_OK) && (pfile_info!=NULL)) *pfile_info=file_info; if ((err==UNZ_OK) && (pfile_info_internal!=NULL)) *pfile_info_internal=file_info_internal; return err; } /* Write info about the ZipFile in the *pglobal_info structure. No preparation of the structure is needed return UNZ_OK if there is no problem. */ extern int ZEXPORT unzGetCurrentFileInfo (file, pfile_info, szFileName, fileNameBufferSize, extraField, extraFieldBufferSize, szComment, commentBufferSize) unzFile file; unz_file_info *pfile_info; char *szFileName; uLong fileNameBufferSize; void *extraField; uLong extraFieldBufferSize; char *szComment; uLong commentBufferSize; { return unzlocal_GetCurrentFileInfoInternal(file,pfile_info,NULL, szFileName,fileNameBufferSize, extraField,extraFieldBufferSize, szComment,commentBufferSize); } /* Set the current file of the zipfile to the first file. return UNZ_OK if there is no problem */ extern int ZEXPORT unzGoToFirstFile (file) unzFile file; { int err=UNZ_OK; unz_s* s; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; s->pos_in_central_dir=s->offset_central_dir; s->num_file=0; err=unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, &s->cur_file_info_internal, NULL,0,NULL,0,NULL,0); s->current_file_ok = (err == UNZ_OK); return err; } /* Set the current file of the zipfile to the next file. return UNZ_OK if there is no problem return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. */ extern int ZEXPORT unzGoToNextFile (file) unzFile file; { unz_s* s; int err; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; if (!s->current_file_ok) return UNZ_END_OF_LIST_OF_FILE; if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */ if (s->num_file+1==s->gi.number_entry) return UNZ_END_OF_LIST_OF_FILE; s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename + s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ; s->num_file++; err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, &s->cur_file_info_internal, NULL,0,NULL,0,NULL,0); s->current_file_ok = (err == UNZ_OK); return err; } /* Try locate the file szFileName in the zipfile. For the iCaseSensitivity signification, see unzipStringFileNameCompare return value : UNZ_OK if the file is found. It becomes the current file. UNZ_END_OF_LIST_OF_FILE if the file is not found */ extern int ZEXPORT unzLocateFile (file, szFileName, iCaseSensitivity) unzFile file; const char *szFileName; int iCaseSensitivity; { unz_s* s; int err; /* We remember the 'current' position in the file so that we can jump * back there if we fail. */ unz_file_info cur_file_infoSaved; unz_file_info_internal cur_file_info_internalSaved; uLong num_fileSaved; uLong pos_in_central_dirSaved; if (file==NULL) return UNZ_PARAMERROR; if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP) return UNZ_PARAMERROR; s=(unz_s*)file; if (!s->current_file_ok) return UNZ_END_OF_LIST_OF_FILE; /* Save the current state */ num_fileSaved = s->num_file; pos_in_central_dirSaved = s->pos_in_central_dir; cur_file_infoSaved = s->cur_file_info; cur_file_info_internalSaved = s->cur_file_info_internal; err = unzGoToFirstFile(file); while (err == UNZ_OK) { char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1]; err = unzGetCurrentFileInfo(file,NULL, szCurrentFileName,sizeof(szCurrentFileName)-1, NULL,0,NULL,0); if (err == UNZ_OK) { if (unzStringFileNameCompare(szCurrentFileName, szFileName,iCaseSensitivity)==0) return UNZ_OK; err = unzGoToNextFile(file); } } /* We failed, so restore the state of the 'current file' to where we * were. */ s->num_file = num_fileSaved ; s->pos_in_central_dir = pos_in_central_dirSaved ; s->cur_file_info = cur_file_infoSaved; s->cur_file_info_internal = cur_file_info_internalSaved; return err; } /* /////////////////////////////////////////// // Contributed by Ryan Haksi (mailto://cryogen@infoserve.net) // I need random access // // Further optimization could be realized by adding an ability // to cache the directory in memory. The goal being a single // comprehensive file read to put the file I need in a memory. */ /* typedef struct unz_file_pos_s { uLong pos_in_zip_directory; // offset in file uLong num_of_file; // # of file } unz_file_pos; */ extern int ZEXPORT unzGetFilePos(file, file_pos) unzFile file; unz_file_pos* file_pos; { unz_s* s; if (file==NULL || file_pos==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; if (!s->current_file_ok) return UNZ_END_OF_LIST_OF_FILE; file_pos->pos_in_zip_directory = s->pos_in_central_dir; file_pos->num_of_file = s->num_file; return UNZ_OK; } extern int ZEXPORT unzGoToFilePos(file, file_pos) unzFile file; unz_file_pos* file_pos; { unz_s* s; int err; if (file==NULL || file_pos==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; /* jump to the right spot */ s->pos_in_central_dir = file_pos->pos_in_zip_directory; s->num_file = file_pos->num_of_file; /* set the current file */ err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, &s->cur_file_info_internal, NULL,0,NULL,0,NULL,0); /* return results */ s->current_file_ok = (err == UNZ_OK); return err; } /* // Unzip Helper Functions - should be here? /////////////////////////////////////////// */ /* Read the local header of the current zipfile Check the coherency of the local header and info in the end of central directory about this file store in *piSizeVar the size of extra info in local header (filename and size of extra field data) */ local int unzlocal_CheckCurrentFileCoherencyHeader (s,piSizeVar, poffset_local_extrafield, psize_local_extrafield) unz_s* s; uInt* piSizeVar; uLong *poffset_local_extrafield; uInt *psize_local_extrafield; { uLong uMagic,uData,uFlags; uLong size_filename; uLong size_extra_field; int err=UNZ_OK; *piSizeVar = 0; *poffset_local_extrafield = 0; *psize_local_extrafield = 0; if (ZSEEK(s->z_filefunc, s->filestream,s->cur_file_info_internal.offset_curfile + s->byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0) return UNZ_ERRNO; if (err==UNZ_OK) { if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uMagic) != UNZ_OK) err=UNZ_ERRNO; else if (uMagic!=0x04034b50) err=UNZ_BADZIPFILE; } if (unzlocal_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) err=UNZ_ERRNO; /* else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion)) err=UNZ_BADZIPFILE; */ if (unzlocal_getShort(&s->z_filefunc, s->filestream,&uFlags) != UNZ_OK) err=UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) err=UNZ_ERRNO; else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method)) err=UNZ_BADZIPFILE; if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) && (s->cur_file_info.compression_method!=Z_DEFLATED)) err=UNZ_BADZIPFILE; if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* date/time */ err=UNZ_ERRNO; if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* crc */ err=UNZ_ERRNO; else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && ((uFlags & 8)==0)) err=UNZ_BADZIPFILE; if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size compr */ err=UNZ_ERRNO; else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && ((uFlags & 8)==0)) err=UNZ_BADZIPFILE; if (unzlocal_getLong(&s->z_filefunc, s->filestream,&uData) != UNZ_OK) /* size uncompr */ err=UNZ_ERRNO; else if ((err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && ((uFlags & 8)==0)) err=UNZ_BADZIPFILE; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&size_filename) != UNZ_OK) err=UNZ_ERRNO; else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename)) err=UNZ_BADZIPFILE; *piSizeVar += (uInt)size_filename; if (unzlocal_getShort(&s->z_filefunc, s->filestream,&size_extra_field) != UNZ_OK) err=UNZ_ERRNO; *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + size_filename; *psize_local_extrafield = (uInt)size_extra_field; *piSizeVar += (uInt)size_extra_field; return err; } /* Open for reading data the current file in the zipfile. If there is no error and the file is opened, the return value is UNZ_OK. */ extern int ZEXPORT unzOpenCurrentFile3 (file, method, level, raw, password) unzFile file; int* method; int* level; int raw; const char* password; { int err=UNZ_OK; uInt iSizeVar; unz_s* s; file_in_zip_read_info_s* pfile_in_zip_read_info; uLong offset_local_extrafield; /* offset of the local extra field */ uInt size_local_extrafield; /* size of the local extra field */ # ifndef NOUNCRYPT char source[12]; # else if (password != NULL) return UNZ_PARAMERROR; # endif if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; if (!s->current_file_ok) return UNZ_PARAMERROR; if (s->pfile_in_zip_read != NULL) unzCloseCurrentFile(file); if (unzlocal_CheckCurrentFileCoherencyHeader(s,&iSizeVar, &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK) return UNZ_BADZIPFILE; pfile_in_zip_read_info = (file_in_zip_read_info_s*) ALLOC(sizeof(file_in_zip_read_info_s)); if (pfile_in_zip_read_info==NULL) return UNZ_INTERNALERROR; pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE); pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield; pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield; pfile_in_zip_read_info->pos_local_extrafield=0; pfile_in_zip_read_info->raw=raw; if (pfile_in_zip_read_info->read_buffer==NULL) { TRYFREE(pfile_in_zip_read_info); return UNZ_INTERNALERROR; } pfile_in_zip_read_info->stream_initialised=0; if (method!=NULL) *method = (int)s->cur_file_info.compression_method; if (level!=NULL) { *level = 6; switch (s->cur_file_info.flag & 0x06) { case 6 : *level = 1; break; case 4 : *level = 2; break; case 2 : *level = 9; break; } } if ((s->cur_file_info.compression_method!=0) && (s->cur_file_info.compression_method!=Z_DEFLATED)) err=UNZ_BADZIPFILE; pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc; pfile_in_zip_read_info->crc32=0; pfile_in_zip_read_info->compression_method = s->cur_file_info.compression_method; pfile_in_zip_read_info->filestream=s->filestream; pfile_in_zip_read_info->z_filefunc=s->z_filefunc; pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile; pfile_in_zip_read_info->stream.total_out = 0; if ((s->cur_file_info.compression_method==Z_DEFLATED) && (!raw)) { pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; pfile_in_zip_read_info->stream.zfree = (free_func)0; pfile_in_zip_read_info->stream.opaque = (voidpf)0; pfile_in_zip_read_info->stream.next_in = (voidpf)0; pfile_in_zip_read_info->stream.avail_in = 0; err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); if (err == Z_OK) pfile_in_zip_read_info->stream_initialised=1; else { TRYFREE(pfile_in_zip_read_info); return err; } /* windowBits is passed < 0 to tell that there is no zlib header. * Note that in this case inflate *requires* an extra "dummy" byte * after the compressed stream in order to complete decompression and * return Z_STREAM_END. * In unzip, i don't wait absolutely Z_STREAM_END because I known the * size of both compressed and uncompressed data */ } pfile_in_zip_read_info->rest_read_compressed = s->cur_file_info.compressed_size ; pfile_in_zip_read_info->rest_read_uncompressed = s->cur_file_info.uncompressed_size ; pfile_in_zip_read_info->pos_in_zipfile = s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + iSizeVar; pfile_in_zip_read_info->stream.avail_in = (uInt)0; s->pfile_in_zip_read = pfile_in_zip_read_info; # ifndef NOUNCRYPT if (password != NULL) { int i; s->pcrc_32_tab = get_crc_table(); init_keys(password,s->keys,s->pcrc_32_tab); if (ZSEEK(s->z_filefunc, s->filestream, s->pfile_in_zip_read->pos_in_zipfile + s->pfile_in_zip_read->byte_before_the_zipfile, SEEK_SET)!=0) return UNZ_INTERNALERROR; if(ZREAD(s->z_filefunc, s->filestream,source, 12)<12) return UNZ_INTERNALERROR; for (i = 0; i<12; i++) zdecode(s->keys,s->pcrc_32_tab,source[i]); s->pfile_in_zip_read->pos_in_zipfile+=12; s->encrypted=1; } # endif return UNZ_OK; } extern int ZEXPORT unzOpenCurrentFile (file) unzFile file; { return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL); } extern int ZEXPORT unzOpenCurrentFilePassword (file, password) unzFile file; const char* password; { return unzOpenCurrentFile3(file, NULL, NULL, 0, password); } extern int ZEXPORT unzOpenCurrentFile2 (file,method,level,raw) unzFile file; int* method; int* level; int raw; { return unzOpenCurrentFile3(file, method, level, raw, NULL); } /* Read bytes from the current file. buf contain buffer where data must be copied len the size of buf. return the number of byte copied if somes bytes are copied return 0 if the end of file was reached return <0 with error code if there is an error (UNZ_ERRNO for IO error, or zLib error for uncompress error) */ extern int ZEXPORT unzReadCurrentFile (file, buf, len) unzFile file; voidp buf; unsigned len; { int err=UNZ_OK; uInt iRead = 0; unz_s* s; file_in_zip_read_info_s* pfile_in_zip_read_info; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; pfile_in_zip_read_info=s->pfile_in_zip_read; if (pfile_in_zip_read_info==NULL) return UNZ_PARAMERROR; if (pfile_in_zip_read_info->read_buffer == NULL) return UNZ_END_OF_LIST_OF_FILE; if (len==0) return 0; pfile_in_zip_read_info->stream.next_out = (Bytef*)buf; pfile_in_zip_read_info->stream.avail_out = (uInt)len; if ((len>pfile_in_zip_read_info->rest_read_uncompressed) && (!(pfile_in_zip_read_info->raw))) pfile_in_zip_read_info->stream.avail_out = (uInt)pfile_in_zip_read_info->rest_read_uncompressed; if ((len>pfile_in_zip_read_info->rest_read_compressed+ pfile_in_zip_read_info->stream.avail_in) && (pfile_in_zip_read_info->raw)) pfile_in_zip_read_info->stream.avail_out = (uInt)pfile_in_zip_read_info->rest_read_compressed+ pfile_in_zip_read_info->stream.avail_in; while (pfile_in_zip_read_info->stream.avail_out>0) { if ((pfile_in_zip_read_info->stream.avail_in==0) && (pfile_in_zip_read_info->rest_read_compressed>0)) { uInt uReadThis = UNZ_BUFSIZE; if (pfile_in_zip_read_info->rest_read_compressedrest_read_compressed; if (uReadThis == 0) return UNZ_EOF; if (ZSEEK(pfile_in_zip_read_info->z_filefunc, pfile_in_zip_read_info->filestream, pfile_in_zip_read_info->pos_in_zipfile + pfile_in_zip_read_info->byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET)!=0) return UNZ_ERRNO; if (ZREAD(pfile_in_zip_read_info->z_filefunc, pfile_in_zip_read_info->filestream, pfile_in_zip_read_info->read_buffer, uReadThis)!=uReadThis) return UNZ_ERRNO; # ifndef NOUNCRYPT if(s->encrypted) { uInt i; for(i=0;iread_buffer[i] = zdecode(s->keys,s->pcrc_32_tab, pfile_in_zip_read_info->read_buffer[i]); } # endif pfile_in_zip_read_info->pos_in_zipfile += uReadThis; pfile_in_zip_read_info->rest_read_compressed-=uReadThis; pfile_in_zip_read_info->stream.next_in = (Bytef*)pfile_in_zip_read_info->read_buffer; pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis; } if ((pfile_in_zip_read_info->compression_method==0) || (pfile_in_zip_read_info->raw)) { uInt uDoCopy,i ; if ((pfile_in_zip_read_info->stream.avail_in == 0) && (pfile_in_zip_read_info->rest_read_compressed == 0)) return (iRead==0) ? UNZ_EOF : iRead; if (pfile_in_zip_read_info->stream.avail_out < pfile_in_zip_read_info->stream.avail_in) uDoCopy = pfile_in_zip_read_info->stream.avail_out ; else uDoCopy = pfile_in_zip_read_info->stream.avail_in ; for (i=0;istream.next_out+i) = *(pfile_in_zip_read_info->stream.next_in+i); pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, pfile_in_zip_read_info->stream.next_out, uDoCopy); pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy; pfile_in_zip_read_info->stream.avail_in -= uDoCopy; pfile_in_zip_read_info->stream.avail_out -= uDoCopy; pfile_in_zip_read_info->stream.next_out += uDoCopy; pfile_in_zip_read_info->stream.next_in += uDoCopy; pfile_in_zip_read_info->stream.total_out += uDoCopy; iRead += uDoCopy; } else { uLong uTotalOutBefore,uTotalOutAfter; const Bytef *bufBefore; uLong uOutThis; int flush=Z_SYNC_FLUSH; uTotalOutBefore = pfile_in_zip_read_info->stream.total_out; bufBefore = pfile_in_zip_read_info->stream.next_out; /* if ((pfile_in_zip_read_info->rest_read_uncompressed == pfile_in_zip_read_info->stream.avail_out) && (pfile_in_zip_read_info->rest_read_compressed == 0)) flush = Z_FINISH; */ err=inflate(&pfile_in_zip_read_info->stream,flush); if ((err>=0) && (pfile_in_zip_read_info->stream.msg!=NULL)) err = Z_DATA_ERROR; uTotalOutAfter = pfile_in_zip_read_info->stream.total_out; uOutThis = uTotalOutAfter-uTotalOutBefore; pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32,bufBefore, (uInt)(uOutThis)); pfile_in_zip_read_info->rest_read_uncompressed -= uOutThis; iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); if (err==Z_STREAM_END) return (iRead==0) ? UNZ_EOF : iRead; if (err!=Z_OK) break; } } if (err==Z_OK) return iRead; return err; } /* Give the current position in uncompressed data */ extern z_off_t ZEXPORT unztell (file) unzFile file; { unz_s* s; file_in_zip_read_info_s* pfile_in_zip_read_info; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; pfile_in_zip_read_info=s->pfile_in_zip_read; if (pfile_in_zip_read_info==NULL) return UNZ_PARAMERROR; return (z_off_t)pfile_in_zip_read_info->stream.total_out; } /* return 1 if the end of file was reached, 0 elsewhere */ extern int ZEXPORT unzeof (file) unzFile file; { unz_s* s; file_in_zip_read_info_s* pfile_in_zip_read_info; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; pfile_in_zip_read_info=s->pfile_in_zip_read; if (pfile_in_zip_read_info==NULL) return UNZ_PARAMERROR; if (pfile_in_zip_read_info->rest_read_uncompressed == 0) return 1; else return 0; } /* Read extra field from the current file (opened by unzOpenCurrentFile) This is the local-header version of the extra field (sometimes, there is more info in the local-header version than in the central-header) if buf==NULL, it return the size of the local extra field that can be read if buf!=NULL, len is the size of the buffer, the extra header is copied in buf. the return value is the number of bytes copied in buf, or (if <0) the error code */ extern int ZEXPORT unzGetLocalExtrafield (file,buf,len) unzFile file; voidp buf; unsigned len; { unz_s* s; file_in_zip_read_info_s* pfile_in_zip_read_info; uInt read_now; uLong size_to_read; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; pfile_in_zip_read_info=s->pfile_in_zip_read; if (pfile_in_zip_read_info==NULL) return UNZ_PARAMERROR; size_to_read = (pfile_in_zip_read_info->size_local_extrafield - pfile_in_zip_read_info->pos_local_extrafield); if (buf==NULL) return (int)size_to_read; if (len>size_to_read) read_now = (uInt)size_to_read; else read_now = (uInt)len ; if (read_now==0) return 0; if (ZSEEK(pfile_in_zip_read_info->z_filefunc, pfile_in_zip_read_info->filestream, pfile_in_zip_read_info->offset_local_extrafield + pfile_in_zip_read_info->pos_local_extrafield, ZLIB_FILEFUNC_SEEK_SET)!=0) return UNZ_ERRNO; if (ZREAD(pfile_in_zip_read_info->z_filefunc, pfile_in_zip_read_info->filestream, buf,read_now)!=read_now) return UNZ_ERRNO; return (int)read_now; } /* Close the file in zip opened with unzipOpenCurrentFile Return UNZ_CRCERROR if all the file was read but the CRC is not good */ extern int ZEXPORT unzCloseCurrentFile (file) unzFile file; { int err=UNZ_OK; unz_s* s; file_in_zip_read_info_s* pfile_in_zip_read_info; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; pfile_in_zip_read_info=s->pfile_in_zip_read; if (pfile_in_zip_read_info==NULL) return UNZ_PARAMERROR; if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) && (!pfile_in_zip_read_info->raw)) { if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait) err=UNZ_CRCERROR; } TRYFREE(pfile_in_zip_read_info->read_buffer); pfile_in_zip_read_info->read_buffer = NULL; if (pfile_in_zip_read_info->stream_initialised) inflateEnd(&pfile_in_zip_read_info->stream); pfile_in_zip_read_info->stream_initialised = 0; TRYFREE(pfile_in_zip_read_info); s->pfile_in_zip_read=NULL; return err; } /* Get the global comment string of the ZipFile, in the szComment buffer. uSizeBuf is the size of the szComment buffer. return the number of byte copied or an error code <0 */ extern int ZEXPORT unzGetGlobalComment (file, szComment, uSizeBuf) unzFile file; char *szComment; uLong uSizeBuf; { unz_s* s; uLong uReadThis ; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; uReadThis = uSizeBuf; if (uReadThis>s->gi.size_comment) uReadThis = s->gi.size_comment; if (ZSEEK(s->z_filefunc,s->filestream,s->central_pos+22,ZLIB_FILEFUNC_SEEK_SET)!=0) return UNZ_ERRNO; if (uReadThis>0) { *szComment='\0'; if (ZREAD(s->z_filefunc,s->filestream,szComment,uReadThis)!=uReadThis) return UNZ_ERRNO; } if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment)) *(szComment+s->gi.size_comment)='\0'; return (int)uReadThis; } /* Additions by RX '2004 */ extern uLong ZEXPORT unzGetOffset (file) unzFile file; { unz_s* s; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; if (!s->current_file_ok) return 0; if (s->gi.number_entry != 0 && s->gi.number_entry != 0xffff) if (s->num_file==s->gi.number_entry) return 0; return s->pos_in_central_dir; } extern int ZEXPORT unzSetOffset (file, pos) unzFile file; uLong pos; { unz_s* s; int err; if (file==NULL) return UNZ_PARAMERROR; s=(unz_s*)file; s->pos_in_central_dir = pos; s->num_file = s->gi.number_entry; /* hack */ err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, &s->cur_file_info_internal, NULL,0,NULL,0,NULL,0); s->current_file_ok = (err == UNZ_OK); return err; } ./chessx-1.3.2/src/quazip/unzip.h000644 000765 000024 00000030161 12223260306 016333 0ustar00nistaff000000 000000 /* unzip.h -- IO for uncompress .zip files using zlib Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g WinZip, InfoZip tools and compatible. Multi volume ZipFile (span) are not supported. Encryption compatible with pkzip 2.04g only supported Old compressions used by old PKZip 1.x are not supported I WAIT FEEDBACK at mail info@winimage.com Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution Condition of use and distribution are the same than zlib : This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Modified by Sergey A. Tachenov to integrate with Qt. */ /* for more info about .ZIP format, see http://www.info-zip.org/pub/infozip/doc/appnote-981119-iz.zip http://www.info-zip.org/pub/infozip/doc/ PkWare has also a specification at : ftp://ftp.pkware.com/probdesc.zip */ #ifndef _unz_H #define _unz_H #ifdef __cplusplus extern "C" { #endif #ifndef _ZLIB_H #include "zlib.h" #endif #ifndef _ZLIBIOAPI_H #include "ioapi.h" #endif #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) /* like the STRICT of WIN32, we define a pointer that cannot be converted from (void*) without cast */ typedef struct TagunzFile__ { int unused; } unzFile__; typedef unzFile__ *unzFile; #else typedef voidp unzFile; #endif #define UNZ_OK (0) #define UNZ_END_OF_LIST_OF_FILE (-100) #define UNZ_ERRNO (Z_ERRNO) #define UNZ_EOF (0) #define UNZ_PARAMERROR (-102) #define UNZ_BADZIPFILE (-103) #define UNZ_INTERNALERROR (-104) #define UNZ_CRCERROR (-105) /* tm_unz contain date/time info */ typedef struct tm_unz_s { uInt tm_sec; /* seconds after the minute - [0,59] */ uInt tm_min; /* minutes after the hour - [0,59] */ uInt tm_hour; /* hours since midnight - [0,23] */ uInt tm_mday; /* day of the month - [1,31] */ uInt tm_mon; /* months since January - [0,11] */ uInt tm_year; /* years - [1980..2044] */ } tm_unz; /* unz_global_info structure contain global data about the ZIPfile These data comes from the end of central dir */ typedef struct unz_global_info_s { uLong number_entry; /* total number of entries in the central dir on this disk */ uLong size_comment; /* size of the global comment of the zipfile */ } unz_global_info; /* unz_file_info contain information about a file in the zipfile */ typedef struct unz_file_info_s { uLong version; /* version made by 2 bytes */ uLong version_needed; /* version needed to extract 2 bytes */ uLong flag; /* general purpose bit flag 2 bytes */ uLong compression_method; /* compression method 2 bytes */ uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ uLong crc; /* crc-32 4 bytes */ uLong compressed_size; /* compressed size 4 bytes */ uLong uncompressed_size; /* uncompressed size 4 bytes */ uLong size_filename; /* filename length 2 bytes */ uLong size_file_extra; /* extra field length 2 bytes */ uLong size_file_comment; /* file comment length 2 bytes */ uLong disk_num_start; /* disk number start 2 bytes */ uLong internal_fa; /* internal file attributes 2 bytes */ uLong external_fa; /* external file attributes 4 bytes */ tm_unz tmu_date; } unz_file_info; extern int ZEXPORT unzStringFileNameCompare OF((const char* fileName1, const char* fileName2, int iCaseSensitivity)); /* Compare two filename (fileName1,fileName2). If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi or strcasecmp) If iCaseSenisivity = 0, case sensitivity is defaut of your operating system (like 1 on Unix, 2 on Windows) */ extern unzFile ZEXPORT unzOpen OF((voidpf file)); /* Open a Zip file. path contain whatever zopen_file from the IO API accepts. For Qt implementation it is a pointer to QIODevice, for fopen() implementation it's a file name. If the zipfile cannot be opened (file don't exist or in not valid), the return value is NULL. Else, the return value is a unzFile Handle, usable with other function of this unzip package. */ extern unzFile ZEXPORT unzOpen2 OF((voidpf file, zlib_filefunc_def* pzlib_filefunc_def)); /* Open a Zip file, like unzOpen, but provide a set of file low level API for read/write the zip file (see ioapi.h) */ extern int ZEXPORT unzClose OF((unzFile file)); /* Close a ZipFile opened with unzipOpen. If there is files inside the .Zip opened with unzOpenCurrentFile (see later), these files MUST be closed with unzipCloseCurrentFile before call unzipClose. return UNZ_OK if there is no problem. */ extern int ZEXPORT unzGetGlobalInfo OF((unzFile file, unz_global_info *pglobal_info)); /* Write info about the ZipFile in the *pglobal_info structure. No preparation of the structure is needed return UNZ_OK if there is no problem. */ extern int ZEXPORT unzGetGlobalComment OF((unzFile file, char *szComment, uLong uSizeBuf)); /* Get the global comment string of the ZipFile, in the szComment buffer. uSizeBuf is the size of the szComment buffer. return the number of byte copied or an error code <0 */ /***************************************************************************/ /* Unzip package allow you browse the directory of the zipfile */ extern int ZEXPORT unzGoToFirstFile OF((unzFile file)); /* Set the current file of the zipfile to the first file. return UNZ_OK if there is no problem */ extern int ZEXPORT unzGoToNextFile OF((unzFile file)); /* Set the current file of the zipfile to the next file. return UNZ_OK if there is no problem return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. */ extern int ZEXPORT unzLocateFile OF((unzFile file, const char *szFileName, int iCaseSensitivity)); /* Try locate the file szFileName in the zipfile. For the iCaseSensitivity signification, see unzStringFileNameCompare return value : UNZ_OK if the file is found. It becomes the current file. UNZ_END_OF_LIST_OF_FILE if the file is not found */ /* ****************************************** */ /* Ryan supplied functions */ /* unz_file_info contain information about a file in the zipfile */ typedef struct unz_file_pos_s { uLong pos_in_zip_directory; /* offset in zip file directory */ uLong num_of_file; /* # of file */ } unz_file_pos; extern int ZEXPORT unzGetFilePos( unzFile file, unz_file_pos* file_pos); extern int ZEXPORT unzGoToFilePos( unzFile file, unz_file_pos* file_pos); /* ****************************************** */ extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file, unz_file_info *pfile_info, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)); /* Get Info about the current file if pfile_info!=NULL, the *pfile_info structure will contain somes info about the current file if szFileName!=NULL, the filemane string will be copied in szFileName (fileNameBufferSize is the size of the buffer) if extraField!=NULL, the extra field information will be copied in extraField (extraFieldBufferSize is the size of the buffer). This is the Central-header version of the extra field if szComment!=NULL, the comment string of the file will be copied in szComment (commentBufferSize is the size of the buffer) */ /***************************************************************************/ /* for reading the content of the current zipfile, you can open it, read data from it, and close it (you can close it before reading all the file) */ extern int ZEXPORT unzOpenCurrentFile OF((unzFile file)); /* Open for reading data the current file in the zipfile. If there is no error, the return value is UNZ_OK. */ extern int ZEXPORT unzOpenCurrentFilePassword OF((unzFile file, const char* password)); /* Open for reading data the current file in the zipfile. password is a crypting password If there is no error, the return value is UNZ_OK. */ extern int ZEXPORT unzOpenCurrentFile2 OF((unzFile file, int* method, int* level, int raw)); /* Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) if raw==1 *method will receive method of compression, *level will receive level of compression note : you can set level parameter as NULL (if you did not want known level, but you CANNOT set method parameter as NULL */ extern int ZEXPORT unzOpenCurrentFile3 OF((unzFile file, int* method, int* level, int raw, const char* password)); /* Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) if raw==1 *method will receive method of compression, *level will receive level of compression note : you can set level parameter as NULL (if you did not want known level, but you CANNOT set method parameter as NULL */ extern int ZEXPORT unzCloseCurrentFile OF((unzFile file)); /* Close the file in zip opened with unzOpenCurrentFile Return UNZ_CRCERROR if all the file was read but the CRC is not good */ extern int ZEXPORT unzReadCurrentFile OF((unzFile file, voidp buf, unsigned len)); /* Read bytes from the current file (opened by unzOpenCurrentFile) buf contain buffer where data must be copied len the size of buf. return the number of byte copied if somes bytes are copied return 0 if the end of file was reached return <0 with error code if there is an error (UNZ_ERRNO for IO error, or zLib error for uncompress error) */ extern z_off_t ZEXPORT unztell OF((unzFile file)); /* Give the current position in uncompressed data */ extern int ZEXPORT unzeof OF((unzFile file)); /* return 1 if the end of file was reached, 0 elsewhere */ extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file, voidp buf, unsigned len)); /* Read extra field from the current file (opened by unzOpenCurrentFile) This is the local-header version of the extra field (sometimes, there is more info in the local-header version than in the central-header) if buf==NULL, it return the size of the local extra field if buf!=NULL, len is the size of the buffer, the extra header is copied in buf. the return value is the number of bytes copied in buf, or (if <0) the error code */ /***************************************************************************/ /* Get the current file offset */ extern uLong ZEXPORT unzGetOffset(unzFile file); /* Set the current file offset */ extern int ZEXPORT unzSetOffset(unzFile file, uLong pos); #ifdef __cplusplus } #endif #endif /* _unz_H */ ./chessx-1.3.2/src/quazip/zip.c000644 000765 000024 00000114473 12204341672 016001 0ustar00nistaff000000 000000 /* zip.c -- IO on .zip files using zlib Version 1.01e, February 12th, 2005 27 Dec 2004 Rolf Kalbermatter Modification to zipOpen2 to support globalComment retrieval. Copyright (C) 1998-2005 Gilles Vollant Read zip.h for more info Modified by Sergey A. Tachenov to integrate with Qt. */ #include #include #include #include #include "zlib.h" #include "zip.h" #include "quazip_global.h" #ifdef STDC # include # include # include #endif #ifdef NO_ERRNO_H extern int errno; #else # include #endif #ifndef local # define local static #endif /* compile with -Dlocal if your debugger can't find static symbols */ #ifndef VERSIONMADEBY # define VERSIONMADEBY (0x031e) /* best for standard pkware crypt */ #endif #ifndef Z_BUFSIZE #define Z_BUFSIZE (16384) #endif #ifndef Z_MAXFILENAMEINZIP #define Z_MAXFILENAMEINZIP (256) #endif #ifndef ALLOC # define ALLOC(size) (malloc(size)) #endif #ifndef TRYFREE # define TRYFREE(p) {if (p) free(p);} #endif /* #define SIZECENTRALDIRITEM (0x2e) #define SIZEZIPLOCALHEADER (0x1e) */ /* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_SET #define SEEK_SET 0 #endif #ifndef DEF_MEM_LEVEL #if MAX_MEM_LEVEL >= 8 # define DEF_MEM_LEVEL 8 #else # define DEF_MEM_LEVEL MAX_MEM_LEVEL #endif #endif const char zip_copyright[] = " zip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; #define SIZEDATA_INDATABLOCK (4096-(4*4)) #define LOCALHEADERMAGIC (0x04034b50) #define DESCRIPTORHEADERMAGIC (0x08074b50) #define CENTRALHEADERMAGIC (0x02014b50) #define ENDHEADERMAGIC (0x06054b50) #define FLAG_LOCALHEADER_OFFSET (0x06) #define CRC_LOCALHEADER_OFFSET (0x0e) #define SIZECENTRALHEADER (0x2e) /* 46 */ typedef struct linkedlist_datablock_internal_s { struct linkedlist_datablock_internal_s* next_datablock; uLong avail_in_this_block; uLong filled_in_this_block; uLong unused; /* for future use and alignement */ unsigned char data[SIZEDATA_INDATABLOCK]; } linkedlist_datablock_internal; typedef struct linkedlist_data_s { linkedlist_datablock_internal* first_block; linkedlist_datablock_internal* last_block; } linkedlist_data; typedef struct { z_stream stream; /* zLib stream structure for inflate */ int stream_initialised; /* 1 is stream is initialised */ uInt pos_in_buffered_data; /* last written byte in buffered_data */ uLong pos_local_header; /* offset of the local header of the file currenty writing */ char* central_header; /* central header data for the current file */ uLong size_centralheader; /* size of the central header for cur file */ uLong flag; /* flag of the file currently writing */ int method; /* compression method of file currenty wr.*/ int raw; /* 1 for directly writing raw data */ Byte buffered_data[Z_BUFSIZE];/* buffer contain compressed data to be writ*/ uLong dosDate; uLong crc32; int encrypt; #ifndef NOCRYPT unsigned long keys[3]; /* keys defining the pseudo-random sequence */ const unsigned long* pcrc_32_tab; int crypt_header_size; #endif } curfile_info; typedef struct { zlib_filefunc_def z_filefunc; voidpf filestream; /* io structore of the zipfile */ linkedlist_data central_dir;/* datablock with central dir in construction*/ int in_opened_file_inzip; /* 1 if a file in the zip is currently writ.*/ curfile_info ci; /* info on the file curretly writing */ uLong begin_pos; /* position of the beginning of the zipfile */ uLong add_position_when_writting_offset; uLong number_entry; #ifndef NO_ADDFILEINEXISTINGZIP char *globalcomment; #endif unsigned flags; } zip_internal; #ifndef NOCRYPT #define INCLUDECRYPTINGCODE_IFCRYPTALLOWED #include "crypt.h" #endif local linkedlist_datablock_internal* allocate_new_datablock() { linkedlist_datablock_internal* ldi; ldi = (linkedlist_datablock_internal*) ALLOC(sizeof(linkedlist_datablock_internal)); if (ldi!=NULL) { ldi->next_datablock = NULL ; ldi->filled_in_this_block = 0 ; ldi->avail_in_this_block = SIZEDATA_INDATABLOCK ; } return ldi; } local void free_datablock(ldi) linkedlist_datablock_internal* ldi; { while (ldi!=NULL) { linkedlist_datablock_internal* ldinext = ldi->next_datablock; TRYFREE(ldi); ldi = ldinext; } } local void init_linkedlist(ll) linkedlist_data* ll; { ll->first_block = ll->last_block = NULL; } #if 0 // unused local void free_linkedlist(ll) linkedlist_data* ll; { free_datablock(ll->first_block); ll->first_block = ll->last_block = NULL; } #endif local int add_data_in_datablock(ll,buf,len) linkedlist_data* ll; const void* buf; uLong len; { linkedlist_datablock_internal* ldi; const unsigned char* from_copy; if (ll==NULL) return ZIP_INTERNALERROR; if (ll->last_block == NULL) { ll->first_block = ll->last_block = allocate_new_datablock(); if (ll->first_block == NULL) return ZIP_INTERNALERROR; } ldi = ll->last_block; from_copy = (unsigned char*)buf; while (len>0) { uInt copy_this; uInt i; unsigned char* to_copy; if (ldi->avail_in_this_block==0) { ldi->next_datablock = allocate_new_datablock(); if (ldi->next_datablock == NULL) return ZIP_INTERNALERROR; ldi = ldi->next_datablock ; ll->last_block = ldi; } if (ldi->avail_in_this_block < len) copy_this = (uInt)ldi->avail_in_this_block; else copy_this = (uInt)len; to_copy = &(ldi->data[ldi->filled_in_this_block]); for (i=0;ifilled_in_this_block += copy_this; ldi->avail_in_this_block -= copy_this; from_copy += copy_this ; len -= copy_this; } return ZIP_OK; } /****************************************************************************/ #ifndef NO_ADDFILEINEXISTINGZIP /* =========================================================================== Inputs a long in LSB order to the given file nbByte == 1, 2 or 4 (unsigned char, short or long) */ local int ziplocal_putValue OF((const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream, uLong x, int nbByte)); local int ziplocal_putValue (pzlib_filefunc_def, filestream, x, nbByte) const zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; uLong x; int nbByte; { unsigned char buf[4]; int n; for (n = 0; n < nbByte; n++) { buf[n] = (unsigned char)(x & 0xff); x >>= 8; } if (x != 0) { /* data overflow - hack for ZIP64 (X Roche) */ for (n = 0; n < nbByte; n++) { buf[n] = 0xff; } } if (ZWRITE(*pzlib_filefunc_def,filestream,buf,nbByte)!=(uLong)nbByte) return ZIP_ERRNO; else return ZIP_OK; } local void ziplocal_putValue_inmemory OF((void* dest, uLong x, int nbByte)); local void ziplocal_putValue_inmemory (dest, x, nbByte) void* dest; uLong x; int nbByte; { unsigned char* buf=(unsigned char*)dest; int n; for (n = 0; n < nbByte; n++) { buf[n] = (unsigned char)(x & 0xff); x >>= 8; } if (x != 0) { /* data overflow - hack for ZIP64 */ for (n = 0; n < nbByte; n++) { buf[n] = 0xff; } } } /****************************************************************************/ local uLong ziplocal_TmzDateToDosDate(ptm,dosDate) const tm_zip* ptm; uLong dosDate UNUSED; { uLong year = (uLong)ptm->tm_year; if (year>1980) year-=1980; else if (year>80) year-=80; return (uLong) (((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16) | ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour)); } /****************************************************************************/ local int ziplocal_getByte OF(( const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream, int *pi)); local int ziplocal_getByte(pzlib_filefunc_def,filestream,pi) const zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; int *pi; { unsigned char c; int err = (int)ZREAD(*pzlib_filefunc_def,filestream,&c,1); if (err==1) { *pi = (int)c; return ZIP_OK; } else { if (ZERROR(*pzlib_filefunc_def,filestream)) return ZIP_ERRNO; else return ZIP_EOF; } } /* =========================================================================== Reads a long in LSB order from the given gz_stream. Sets */ local int ziplocal_getShort OF(( const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); local int ziplocal_getShort (pzlib_filefunc_def,filestream,pX) const zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; uLong *pX; { uLong x ; int i; int err; err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); x = (uLong)i; if (err==ZIP_OK) err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); x += ((uLong)i)<<8; if (err==ZIP_OK) *pX = x; else *pX = 0; return err; } local int ziplocal_getLong OF(( const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream, uLong *pX)); local int ziplocal_getLong (pzlib_filefunc_def,filestream,pX) const zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; uLong *pX; { uLong x ; int i; int err; err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); x = (uLong)i; if (err==ZIP_OK) err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); x += ((uLong)i)<<8; if (err==ZIP_OK) err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); x += ((uLong)i)<<16; if (err==ZIP_OK) err = ziplocal_getByte(pzlib_filefunc_def,filestream,&i); x += ((uLong)i)<<24; if (err==ZIP_OK) *pX = x; else *pX = 0; return err; } #ifndef BUFREADCOMMENT #define BUFREADCOMMENT (0x400) #endif /* Locate the Central directory of a zipfile (at the end, just before the global comment) */ local uLong ziplocal_SearchCentralDir OF(( const zlib_filefunc_def* pzlib_filefunc_def, voidpf filestream)); local uLong ziplocal_SearchCentralDir(pzlib_filefunc_def,filestream) const zlib_filefunc_def* pzlib_filefunc_def; voidpf filestream; { unsigned char* buf; uLong uSizeFile; uLong uBackRead; uLong uMaxBack=0xffff; /* maximum size of global comment */ uLong uPosFound=0; if (ZSEEK(*pzlib_filefunc_def,filestream,0,ZLIB_FILEFUNC_SEEK_END) != 0) return 0; uSizeFile = ZTELL(*pzlib_filefunc_def,filestream); if (uMaxBack>uSizeFile) uMaxBack = uSizeFile; buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); if (buf==NULL) return 0; uBackRead = 4; while (uBackReaduMaxBack) uBackRead = uMaxBack; else uBackRead+=BUFREADCOMMENT; uReadPos = uSizeFile-uBackRead ; uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? (BUFREADCOMMENT+4) : (uSizeFile-uReadPos); if (ZSEEK(*pzlib_filefunc_def,filestream,uReadPos,ZLIB_FILEFUNC_SEEK_SET)!=0) break; if (ZREAD(*pzlib_filefunc_def,filestream,buf,uReadSize)!=uReadSize) break; for (i=(int)uReadSize-3; (i--)>0;) if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) { uPosFound = uReadPos+i; break; } if (uPosFound!=0) break; } TRYFREE(buf); return uPosFound; } #endif /* !NO_ADDFILEINEXISTINGZIP*/ /************************************************************/ extern zipFile ZEXPORT zipOpen2 (file, append, globalcomment, pzlib_filefunc_def) voidpf file; int append; zipcharpc* globalcomment; zlib_filefunc_def* pzlib_filefunc_def; { zip_internal ziinit; zip_internal* zi; int err=ZIP_OK; if (pzlib_filefunc_def==NULL) fill_qiodevice_filefunc(&ziinit.z_filefunc); else ziinit.z_filefunc = *pzlib_filefunc_def; ziinit.filestream = (*(ziinit.z_filefunc.zopen_file)) (ziinit.z_filefunc.opaque, file, (append == APPEND_STATUS_CREATE) ? (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_CREATE) : (ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_WRITE | ZLIB_FILEFUNC_MODE_EXISTING)); if (ziinit.filestream == NULL) return NULL; ziinit.begin_pos = ZTELL(ziinit.z_filefunc,ziinit.filestream); ziinit.in_opened_file_inzip = 0; ziinit.ci.stream_initialised = 0; ziinit.number_entry = 0; ziinit.add_position_when_writting_offset = 0; ziinit.flags = ZIP_WRITE_DATA_DESCRIPTOR; init_linkedlist(&(ziinit.central_dir)); zi = (zip_internal*)ALLOC(sizeof(zip_internal)); if (zi==NULL) { ZCLOSE(ziinit.z_filefunc,ziinit.filestream); return NULL; } /* now we add file in a zipfile */ # ifndef NO_ADDFILEINEXISTINGZIP ziinit.globalcomment = NULL; if (append == APPEND_STATUS_ADDINZIP) { uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ uLong size_central_dir; /* size of the central directory */ uLong offset_central_dir; /* offset of start of central directory */ uLong central_pos,uL; uLong number_disk; /* number of the current dist, used for spaning ZIP, unsupported, always 0*/ uLong number_disk_with_CD; /* number the the disk with central dir, used for spaning ZIP, unsupported, always 0*/ uLong number_entry; uLong number_entry_CD; /* total number of entries in the central dir (same than number_entry on nospan) */ uLong size_comment; central_pos = ziplocal_SearchCentralDir(&ziinit.z_filefunc,ziinit.filestream); if (central_pos==0) err=ZIP_ERRNO; if (ZSEEK(ziinit.z_filefunc, ziinit.filestream, central_pos,ZLIB_FILEFUNC_SEEK_SET)!=0) err=ZIP_ERRNO; /* the signature, already checked */ if (ziplocal_getLong(&ziinit.z_filefunc, ziinit.filestream,&uL)!=ZIP_OK) err=ZIP_ERRNO; /* number of this disk */ if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_disk)!=ZIP_OK) err=ZIP_ERRNO; /* number of the disk with the start of the central directory */ if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_disk_with_CD)!=ZIP_OK) err=ZIP_ERRNO; /* total number of entries in the central dir on this disk */ if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_entry)!=ZIP_OK) err=ZIP_ERRNO; /* total number of entries in the central dir */ if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&number_entry_CD)!=ZIP_OK) err=ZIP_ERRNO; if ((number_entry_CD!=number_entry) || (number_disk_with_CD!=0) || (number_disk!=0)) err=ZIP_BADZIPFILE; /* size of the central directory */ if (ziplocal_getLong(&ziinit.z_filefunc, ziinit.filestream,&size_central_dir)!=ZIP_OK) err=ZIP_ERRNO; /* offset of start of central directory with respect to the starting disk number */ if (ziplocal_getLong(&ziinit.z_filefunc, ziinit.filestream,&offset_central_dir)!=ZIP_OK) err=ZIP_ERRNO; /* zipfile global comment length */ if (ziplocal_getShort(&ziinit.z_filefunc, ziinit.filestream,&size_comment)!=ZIP_OK) err=ZIP_ERRNO; if ((central_pos0) { ziinit.globalcomment = ALLOC(size_comment+1); if (ziinit.globalcomment) { size_comment = ZREAD(ziinit.z_filefunc, ziinit.filestream,ziinit.globalcomment,size_comment); ziinit.globalcomment[size_comment]=0; } } byte_before_the_zipfile = central_pos - (offset_central_dir+size_central_dir); ziinit.add_position_when_writting_offset = byte_before_the_zipfile; { uLong size_central_dir_to_read = size_central_dir; size_t buf_size = SIZEDATA_INDATABLOCK; void* buf_read = (void*)ALLOC(buf_size); if (ZSEEK(ziinit.z_filefunc, ziinit.filestream, offset_central_dir + byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) err=ZIP_ERRNO; while ((size_central_dir_to_read>0) && (err==ZIP_OK)) { uLong read_this = SIZEDATA_INDATABLOCK; if (read_this > size_central_dir_to_read) read_this = size_central_dir_to_read; if (ZREAD(ziinit.z_filefunc, ziinit.filestream,buf_read,read_this) != read_this) err=ZIP_ERRNO; if (err==ZIP_OK) err = add_data_in_datablock(&ziinit.central_dir,buf_read, (uLong)read_this); size_central_dir_to_read-=read_this; } TRYFREE(buf_read); } ziinit.begin_pos = byte_before_the_zipfile; ziinit.number_entry = number_entry_CD; if (ZSEEK(ziinit.z_filefunc, ziinit.filestream, offset_central_dir+byte_before_the_zipfile,ZLIB_FILEFUNC_SEEK_SET)!=0) err=ZIP_ERRNO; } if (globalcomment) { *globalcomment = ziinit.globalcomment; } # endif /* !NO_ADDFILEINEXISTINGZIP*/ if (err != ZIP_OK) { # ifndef NO_ADDFILEINEXISTINGZIP TRYFREE(ziinit.globalcomment); # endif /* !NO_ADDFILEINEXISTINGZIP*/ TRYFREE(zi); return NULL; } else { *zi = ziinit; return (zipFile)zi; } } extern zipFile ZEXPORT zipOpen (file, append) voidpf file; int append; { return zipOpen2(file,append,NULL,NULL); } extern int ZEXPORT zipOpenNewFileInZip3 (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, comment, method, level, raw, windowBits, memLevel, strategy, password, crcForCrypting) zipFile file; const char* filename; const zip_fileinfo* zipfi; const void* extrafield_local; uInt size_extrafield_local; const void* extrafield_global; uInt size_extrafield_global; const char* comment; int method; int level; int raw; int windowBits; int memLevel; int strategy; const char* password; uLong crcForCrypting; { zip_internal* zi; uInt size_filename; uInt size_comment; uInt i; int err = ZIP_OK; uLong version_to_extract; # ifdef NOCRYPT if (password != NULL) return ZIP_PARAMERROR; # endif if (file == NULL) return ZIP_PARAMERROR; if ((method!=0) && (method!=Z_DEFLATED)) return ZIP_PARAMERROR; zi = (zip_internal*)file; if (zi->in_opened_file_inzip == 1) { err = zipCloseFileInZip (file); if (err != ZIP_OK) return err; } if (method == 0 && (level == 0 || (zi->flags & ZIP_WRITE_DATA_DESCRIPTOR) == 0)) { version_to_extract = 10; } else { version_to_extract = 20; } if (filename==NULL) filename="-"; if (comment==NULL) size_comment = 0; else size_comment = (uInt)strlen(comment); size_filename = (uInt)strlen(filename); if (zipfi == NULL) zi->ci.dosDate = 0; else { if (zipfi->dosDate != 0) zi->ci.dosDate = zipfi->dosDate; else zi->ci.dosDate = ziplocal_TmzDateToDosDate(&zipfi->tmz_date,zipfi->dosDate); } zi->ci.flag = 0; if ((level==8) || (level==9)) zi->ci.flag |= 2; else if (level==2) zi->ci.flag |= 4; else if (level==1) zi->ci.flag |= 6; if (password != NULL) { zi->ci.flag |= 1; } if (version_to_extract >= 20 && (zi->flags & ZIP_WRITE_DATA_DESCRIPTOR) != 0) zi->ci.flag |= 8; zi->ci.crc32 = 0; zi->ci.method = method; zi->ci.encrypt = 0; zi->ci.stream_initialised = 0; zi->ci.pos_in_buffered_data = 0; zi->ci.raw = raw; zi->ci.pos_local_header = ZTELL(zi->z_filefunc,zi->filestream) ; zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment; zi->ci.central_header = (char*)ALLOC((uInt)zi->ci.size_centralheader); ziplocal_putValue_inmemory(zi->ci.central_header,(uLong)CENTRALHEADERMAGIC,4); /* version info */ ziplocal_putValue_inmemory(zi->ci.central_header+4,(uLong)VERSIONMADEBY,2); ziplocal_putValue_inmemory(zi->ci.central_header+6,(uLong)version_to_extract,2); ziplocal_putValue_inmemory(zi->ci.central_header+8,(uLong)zi->ci.flag,2); ziplocal_putValue_inmemory(zi->ci.central_header+10,(uLong)zi->ci.method,2); ziplocal_putValue_inmemory(zi->ci.central_header+12,(uLong)zi->ci.dosDate,4); ziplocal_putValue_inmemory(zi->ci.central_header+16,(uLong)0,4); /*crc*/ ziplocal_putValue_inmemory(zi->ci.central_header+20,(uLong)0,4); /*compr size*/ ziplocal_putValue_inmemory(zi->ci.central_header+24,(uLong)0,4); /*uncompr size*/ ziplocal_putValue_inmemory(zi->ci.central_header+28,(uLong)size_filename,2); ziplocal_putValue_inmemory(zi->ci.central_header+30,(uLong)size_extrafield_global,2); ziplocal_putValue_inmemory(zi->ci.central_header+32,(uLong)size_comment,2); ziplocal_putValue_inmemory(zi->ci.central_header+34,(uLong)0,2); /*disk nm start*/ if (zipfi==NULL) ziplocal_putValue_inmemory(zi->ci.central_header+36,(uLong)0,2); else ziplocal_putValue_inmemory(zi->ci.central_header+36,(uLong)zipfi->internal_fa,2); if (zipfi==NULL) ziplocal_putValue_inmemory(zi->ci.central_header+38,(uLong)0,4); else ziplocal_putValue_inmemory(zi->ci.central_header+38,(uLong)zipfi->external_fa,4); ziplocal_putValue_inmemory(zi->ci.central_header+42,(uLong)zi->ci.pos_local_header- zi->add_position_when_writting_offset,4); for (i=0;ici.central_header+SIZECENTRALHEADER+i) = *(filename+i); for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+i) = *(((const char*)extrafield_global)+i); for (i=0;ici.central_header+SIZECENTRALHEADER+size_filename+ size_extrafield_global+i) = *(comment+i); if (zi->ci.central_header == NULL) return ZIP_INTERNALERROR; /* write the local header */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)LOCALHEADERMAGIC,4); if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)version_to_extract,2); if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.flag,2); if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.method,2); if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->ci.dosDate,4); if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* crc 32, unknown */ if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* compressed size, unknown */ if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,4); /* uncompressed size, unknown */ if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_filename,2); if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_extrafield_local,2); if ((err==ZIP_OK) && (size_filename>0)) if (ZWRITE(zi->z_filefunc,zi->filestream,filename,size_filename)!=size_filename) err = ZIP_ERRNO; if ((err==ZIP_OK) && (size_extrafield_local>0)) if (ZWRITE(zi->z_filefunc,zi->filestream,extrafield_local,size_extrafield_local) !=size_extrafield_local) err = ZIP_ERRNO; zi->ci.stream.avail_in = (uInt)0; zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; zi->ci.stream.next_out = zi->ci.buffered_data; zi->ci.stream.total_in = 0; zi->ci.stream.total_out = 0; if ((err==ZIP_OK) && (zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) { zi->ci.stream.zalloc = (alloc_func)0; zi->ci.stream.zfree = (free_func)0; zi->ci.stream.opaque = (voidpf)0; if (windowBits>0) windowBits = -windowBits; err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, windowBits, memLevel, strategy); if (err==Z_OK) zi->ci.stream_initialised = 1; } # ifndef NOCRYPT zi->ci.crypt_header_size = 0; if ((err==Z_OK) && (password != NULL)) { unsigned char bufHead[RAND_HEAD_LEN]; unsigned int sizeHead; zi->ci.encrypt = 1; zi->ci.pcrc_32_tab = get_crc_table(); /*init_keys(password,zi->ci.keys,zi->ci.pcrc_32_tab);*/ crcForCrypting = (uLong)zi->ci.dosDate << 16; // ATTANTION! Without this row, you don't unpack your password protected archive in other app. sizeHead=crypthead(password,bufHead,RAND_HEAD_LEN,zi->ci.keys,zi->ci.pcrc_32_tab,crcForCrypting); zi->ci.crypt_header_size = sizeHead; if (ZWRITE(zi->z_filefunc,zi->filestream,bufHead,sizeHead) != sizeHead) err = ZIP_ERRNO; } # endif if (err==Z_OK) zi->in_opened_file_inzip = 1; return err; } extern int ZEXPORT zipOpenNewFileInZip2(file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, comment, method, level, raw) zipFile file; const char* filename; const zip_fileinfo* zipfi; const void* extrafield_local; uInt size_extrafield_local; const void* extrafield_global; uInt size_extrafield_global; const char* comment; int method; int level; int raw; { return zipOpenNewFileInZip3 (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, comment, method, level, raw, -MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY, NULL, 0); } extern int ZEXPORT zipOpenNewFileInZip (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, comment, method, level) zipFile file; const char* filename; const zip_fileinfo* zipfi; const void* extrafield_local; uInt size_extrafield_local; const void* extrafield_global; uInt size_extrafield_global; const char* comment; int method; int level; { return zipOpenNewFileInZip2 (file, filename, zipfi, extrafield_local, size_extrafield_local, extrafield_global, size_extrafield_global, comment, method, level, 0); } local int zipFlushWriteBuffer(zi) zip_internal* zi; { int err=ZIP_OK; if (zi->ci.encrypt != 0) { #ifndef NOCRYPT uInt i; int t; for (i=0;ici.pos_in_buffered_data;i++) zi->ci.buffered_data[i] = zencode(zi->ci.keys, zi->ci.pcrc_32_tab, zi->ci.buffered_data[i],t); #endif } if (ZWRITE(zi->z_filefunc,zi->filestream,zi->ci.buffered_data,zi->ci.pos_in_buffered_data) !=zi->ci.pos_in_buffered_data) err = ZIP_ERRNO; zi->ci.pos_in_buffered_data = 0; return err; } extern int ZEXPORT zipWriteInFileInZip (file, buf, len) zipFile file; const void* buf; unsigned len; { zip_internal* zi; int err=ZIP_OK; if (file == NULL) return ZIP_PARAMERROR; zi = (zip_internal*)file; if (zi->in_opened_file_inzip == 0) return ZIP_PARAMERROR; zi->ci.stream.next_in = (void*)buf; zi->ci.stream.avail_in = len; zi->ci.crc32 = crc32(zi->ci.crc32,buf,len); while ((err==ZIP_OK) && (zi->ci.stream.avail_in>0)) { if (zi->ci.stream.avail_out == 0) { if (zipFlushWriteBuffer(zi) == ZIP_ERRNO) err = ZIP_ERRNO; zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; zi->ci.stream.next_out = zi->ci.buffered_data; } if(err != ZIP_OK) break; if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) { uLong uTotalOutBefore = zi->ci.stream.total_out; err=deflate(&zi->ci.stream, Z_NO_FLUSH); zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; } else { uInt copy_this,i; if (zi->ci.stream.avail_in < zi->ci.stream.avail_out) copy_this = zi->ci.stream.avail_in; else copy_this = zi->ci.stream.avail_out; for (i=0;ici.stream.next_out)+i) = *(((const char*)zi->ci.stream.next_in)+i); { zi->ci.stream.avail_in -= copy_this; zi->ci.stream.avail_out-= copy_this; zi->ci.stream.next_in+= copy_this; zi->ci.stream.next_out+= copy_this; zi->ci.stream.total_in+= copy_this; zi->ci.stream.total_out+= copy_this; zi->ci.pos_in_buffered_data += copy_this; } } } return err; } extern int ZEXPORT zipCloseFileInZipRaw (file, uncompressed_size, crc32) zipFile file; uLong uncompressed_size; uLong crc32; { zip_internal* zi; uLong compressed_size; int err=ZIP_OK; if (file == NULL) return ZIP_PARAMERROR; zi = (zip_internal*)file; if (zi->in_opened_file_inzip == 0) return ZIP_PARAMERROR; zi->ci.stream.avail_in = 0; if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) while (err==ZIP_OK) { uLong uTotalOutBefore; if (zi->ci.stream.avail_out == 0) { if (zipFlushWriteBuffer(zi) == ZIP_ERRNO) err = ZIP_ERRNO; zi->ci.stream.avail_out = (uInt)Z_BUFSIZE; zi->ci.stream.next_out = zi->ci.buffered_data; } uTotalOutBefore = zi->ci.stream.total_out; err=deflate(&zi->ci.stream, Z_FINISH); zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore) ; } if (err==Z_STREAM_END) err=ZIP_OK; /* this is normal */ if ((zi->ci.pos_in_buffered_data>0) && (err==ZIP_OK)) if (zipFlushWriteBuffer(zi)==ZIP_ERRNO) err = ZIP_ERRNO; if ((zi->ci.method == Z_DEFLATED) && (!zi->ci.raw)) { err=deflateEnd(&zi->ci.stream); zi->ci.stream_initialised = 0; } if (!zi->ci.raw) { crc32 = (uLong)zi->ci.crc32; uncompressed_size = (uLong)zi->ci.stream.total_in; } compressed_size = (uLong)zi->ci.stream.total_out; # ifndef NOCRYPT compressed_size += zi->ci.crypt_header_size; # endif ziplocal_putValue_inmemory(zi->ci.central_header+16,crc32,4); /*crc*/ ziplocal_putValue_inmemory(zi->ci.central_header+20, compressed_size,4); /*compr size*/ if (zi->ci.stream.data_type == Z_ASCII) ziplocal_putValue_inmemory(zi->ci.central_header+36,(uLong)Z_ASCII,2); ziplocal_putValue_inmemory(zi->ci.central_header+24, uncompressed_size,4); /*uncompr size*/ if (err==ZIP_OK) err = add_data_in_datablock(&zi->central_dir,zi->ci.central_header, (uLong)zi->ci.size_centralheader); free(zi->ci.central_header); if (err==ZIP_OK) { uLong cur_pos_inzip = ZTELL(zi->z_filefunc,zi->filestream); if (ZSEEK(zi->z_filefunc,zi->filestream, zi->ci.pos_local_header + 14,ZLIB_FILEFUNC_SEEK_SET)!=0) err = ZIP_ERRNO; if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */ if (err==ZIP_OK) /* compressed size, unknown */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4); if (err==ZIP_OK) /* uncompressed size, unknown */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4); if (ZSEEK(zi->z_filefunc,zi->filestream, cur_pos_inzip,ZLIB_FILEFUNC_SEEK_SET)!=0) err = ZIP_ERRNO; if ((zi->ci.flag & 8) != 0) { /* Write local Descriptor after file data */ if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)DESCRIPTORHEADERMAGIC,4); if (err==ZIP_OK) err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,crc32,4); /* crc 32, unknown */ if (err==ZIP_OK) /* compressed size, unknown */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,compressed_size,4); if (err==ZIP_OK) /* uncompressed size, unknown */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,uncompressed_size,4); } } zi->number_entry ++; zi->in_opened_file_inzip = 0; return err; } extern int ZEXPORT zipCloseFileInZip (file) zipFile file; { return zipCloseFileInZipRaw (file,0,0); } extern int ZEXPORT zipClose (file, global_comment) zipFile file; const char* global_comment; { zip_internal* zi; int err = 0; uLong size_centraldir = 0; uLong centraldir_pos_inzip; uInt size_global_comment; if (file == NULL) return ZIP_PARAMERROR; zi = (zip_internal*)file; if (zi->in_opened_file_inzip == 1) { err = zipCloseFileInZip (file); } #ifndef NO_ADDFILEINEXISTINGZIP if (global_comment==NULL) global_comment = zi->globalcomment; #endif if (global_comment==NULL) size_global_comment = 0; else size_global_comment = (uInt)strlen(global_comment); centraldir_pos_inzip = ZTELL(zi->z_filefunc,zi->filestream); if (err==ZIP_OK) { linkedlist_datablock_internal* ldi = zi->central_dir.first_block ; while (ldi!=NULL) { if ((err==ZIP_OK) && (ldi->filled_in_this_block>0)) if (ZWRITE(zi->z_filefunc,zi->filestream, ldi->data,ldi->filled_in_this_block) !=ldi->filled_in_this_block ) err = ZIP_ERRNO; size_centraldir += ldi->filled_in_this_block; ldi = ldi->next_datablock; } } free_datablock(zi->central_dir.first_block); if (err==ZIP_OK) /* Magic End */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)ENDHEADERMAGIC,4); if (err==ZIP_OK) /* number of this disk */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); if (err==ZIP_OK) /* number of the disk with the start of the central directory */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)0,2); if (err==ZIP_OK) /* total number of entries in the central dir on this disk */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); if (err==ZIP_OK) /* total number of entries in the central dir */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)zi->number_entry,2); if (err==ZIP_OK) /* size of the central directory */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_centraldir,4); if (err==ZIP_OK) /* offset of start of central directory with respect to the starting disk number */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream, (uLong)(centraldir_pos_inzip - zi->add_position_when_writting_offset),4); if (err==ZIP_OK) /* zipfile comment length */ err = ziplocal_putValue(&zi->z_filefunc,zi->filestream,(uLong)size_global_comment,2); if ((err==ZIP_OK) && (size_global_comment>0)) if (ZWRITE(zi->z_filefunc,zi->filestream, global_comment,size_global_comment) != size_global_comment) err = ZIP_ERRNO; if (ZCLOSE(zi->z_filefunc,zi->filestream) != 0) if (err == ZIP_OK) err = ZIP_ERRNO; #ifndef NO_ADDFILEINEXISTINGZIP TRYFREE(zi->globalcomment); #endif TRYFREE(zi); return err; } extern int ZEXPORT zipSetFlags(zipFile file, unsigned flags) { zip_internal* zi; if (file == NULL) return ZIP_PARAMERROR; zi = (zip_internal*)file; zi->flags |= flags; return ZIP_OK; } extern int ZEXPORT zipClearFlags(zipFile file, unsigned flags) { zip_internal* zi; if (file == NULL) return ZIP_PARAMERROR; zi = (zip_internal*)file; zi->flags &= ~flags; return ZIP_OK; } ./chessx-1.3.2/src/quazip/zip.h000644 000765 000024 00000017534 12223260306 016001 0ustar00nistaff000000 000000 /* zip.h -- IO for compress .zip files using zlib Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant This unzip package allow creates .ZIP file, compatible with PKZip 2.04g WinZip, InfoZip tools and compatible. Multi volume ZipFile (span) are not supported. Encryption compatible with pkzip 2.04g only supported Old compressions used by old PKZip 1.x are not supported For uncompress .zip file, look at unzip.h I WAIT FEEDBACK at mail info@winimage.com Visit also http://www.winimage.com/zLibDll/unzip.html for evolution Condition of use and distribution are the same than zlib : This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. Modified by Sergey A. Tachenov to integrate with Qt. */ /* for more info about .ZIP format, see http://www.info-zip.org/pub/infozip/doc/appnote-981119-iz.zip http://www.info-zip.org/pub/infozip/doc/ PkWare has also a specification at : ftp://ftp.pkware.com/probdesc.zip */ #ifndef _zip_H #define _zip_H #ifdef __cplusplus extern "C" { #endif #ifndef _ZLIB_H #include #endif #ifndef _ZLIBIOAPI_H #include "ioapi.h" #endif #if defined(STRICTZIP) || defined(STRICTZIPUNZIP) /* like the STRICT of WIN32, we define a pointer that cannot be converted from (void*) without cast */ typedef struct TagzipFile__ { int unused; } zipFile__; typedef zipFile__ *zipFile; #else typedef voidp zipFile; #endif #define ZIP_OK (0) #define ZIP_EOF (0) #define ZIP_ERRNO (Z_ERRNO) #define ZIP_PARAMERROR (-102) #define ZIP_BADZIPFILE (-103) #define ZIP_INTERNALERROR (-104) #define ZIP_WRITE_DATA_DESCRIPTOR 0x8u #ifndef DEF_MEM_LEVEL # if MAX_MEM_LEVEL >= 8 # define DEF_MEM_LEVEL 8 # else # define DEF_MEM_LEVEL MAX_MEM_LEVEL # endif #endif /* default memLevel */ /* tm_zip contain date/time info */ typedef struct tm_zip_s { uInt tm_sec; /* seconds after the minute - [0,59] */ uInt tm_min; /* minutes after the hour - [0,59] */ uInt tm_hour; /* hours since midnight - [0,23] */ uInt tm_mday; /* day of the month - [1,31] */ uInt tm_mon; /* months since January - [0,11] */ uInt tm_year; /* years - [1980..2044] */ } tm_zip; typedef struct { tm_zip tmz_date; /* date in understandable format */ uLong dosDate; /* if dos_date == 0, tmu_date is used */ /* uLong flag; */ /* general purpose bit flag 2 bytes */ uLong internal_fa; /* internal file attributes 2 bytes */ uLong external_fa; /* external file attributes 4 bytes */ } zip_fileinfo; typedef const char* zipcharpc; #define APPEND_STATUS_CREATE (0) #define APPEND_STATUS_CREATEAFTER (1) #define APPEND_STATUS_ADDINZIP (2) extern zipFile ZEXPORT zipOpen OF((voidpf file, int append)); /* Create a zipfile. file is whatever the IO API accepts. For Qt IO API it's a pointer to QIODevice. For fopen() IO API it's a file name (const char*). if the file pathname exist and append==APPEND_STATUS_CREATEAFTER, the zip will be created at the end of the file. (useful if the file contain a self extractor code) if the file pathname exist and append==APPEND_STATUS_ADDINZIP, we will add files in existing zip (be sure you don't add file that doesn't exist) If the zipfile cannot be opened, the return value is NULL. Else, the return value is a zipFile Handle, usable with other function of this zip package. */ /* Note : there is no delete function into a zipfile. If you want delete file into a zipfile, you must open a zipfile, and create another Of couse, you can use RAW reading and writing to copy the file you did not want delte */ extern zipFile ZEXPORT zipOpen2 OF((voidpf file, int append, zipcharpc* globalcomment, zlib_filefunc_def* pzlib_filefunc_def)); extern int ZEXPORT zipOpenNewFileInZip OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, uInt size_extrafield_global, const char* comment, int method, int level)); /* Open a file in the ZIP for writing. filename : the filename in zip (if NULL, '-' without quote will be used *zipfi contain supplemental information if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local contains the extrafield data the the local header if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global contains the extrafield data the the local header if comment != NULL, comment contain the comment string method contain the compression method (0 for store, Z_DEFLATED for deflate) level contain the level of compression (can be Z_DEFAULT_COMPRESSION) */ extern int ZEXPORT zipOpenNewFileInZip2 OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, uInt size_extrafield_global, const char* comment, int method, int level, int raw)); /* Same than zipOpenNewFileInZip, except if raw=1, we write raw file */ extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file, const char* filename, const zip_fileinfo* zipfi, const void* extrafield_local, uInt size_extrafield_local, const void* extrafield_global, uInt size_extrafield_global, const char* comment, int method, int level, int raw, int windowBits, int memLevel, int strategy, const char* password, uLong crcForCtypting)); /* Same than zipOpenNewFileInZip2, except windowBits,memLevel,,strategy : see parameter strategy in deflateInit2 password : crypting password (NULL for no crypting) crcForCtypting : crc of file to compress (needed for crypting) */ extern int ZEXPORT zipWriteInFileInZip OF((zipFile file, const void* buf, unsigned len)); /* Write data in the zipfile */ extern int ZEXPORT zipCloseFileInZip OF((zipFile file)); /* Close the current file in the zipfile */ extern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file, uLong uncompressed_size, uLong crc32)); /* Close the current file in the zipfile, for fiel opened with parameter raw=1 in zipOpenNewFileInZip2 uncompressed_size and crc32 are value for the uncompressed size */ extern int ZEXPORT zipClose OF((zipFile file, const char* global_comment)); /* Close the zipfile */ /* Added by Sergey A. Tachenov to tweak zipping behaviour. */ extern int ZEXPORT zipSetFlags(zipFile file, unsigned flags); extern int ZEXPORT zipClearFlags(zipFile file, unsigned flags); #ifdef __cplusplus } #endif #endif /* _zip_H */ ./chessx-1.3.2/src/gui/analysiswidget.cpp000644 000765 000024 00000027426 12510715746 020051 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2008-2010 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "settings.h" #include "analysis.h" #include "board.h" #include "analysiswidget.h" #include "enginelist.h" #include "messagedialog.h" #include "tablebase.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER AnalysisWidget::AnalysisWidget() : m_engine(0), m_moveTime(0), m_bUciNewGame(true) { ui.setupUi(this); connect(ui.engineList, SIGNAL(activated(int)), SLOT(toggleAnalysis())); connect(ui.analyzeButton, SIGNAL(clicked(bool)), SLOT(toggleAnalysis())); connect(ui.variationText, SIGNAL(anchorClicked(QUrl)), SLOT(slotLinkClicked(QUrl))); connect(ui.vpcount, SIGNAL(valueChanged(int)), SLOT(slotMpvChanged(int))); connect(ui.btPin, SIGNAL(clicked(bool)), SLOT(slotPinChanged(bool))); ui.analyzeButton->setFixedHeight(ui.engineList->sizeHint().height()); m_tablebase = new OnlineTablebase; connect(m_tablebase, SIGNAL(bestMove(Move, int)), this, SLOT(showTablebaseMove(Move, int))); } AnalysisWidget::~AnalysisWidget() { stopEngine(); delete m_tablebase; } void AnalysisWidget::startEngine() { int index = ui.engineList->currentIndex(); stopEngine(); if(index != -1) { if(parentWidget() && !parentWidget()->isVisible()) { parentWidget()->show(); } ui.variationText->clear(); m_engine = Engine::newEngine(index); ui.vpcount->setEnabled(m_engine->providesMvp()); ui.label->setEnabled(m_engine->providesMvp()); if(!m_engine->providesMvp()) { ui.vpcount->setValue(1); } connect(m_engine, SIGNAL(activated()), SLOT(engineActivated())); connect(m_engine, SIGNAL(error(QProcess::ProcessError)), SLOT(engineError(QProcess::ProcessError))); connect(m_engine, SIGNAL(deactivated()), SLOT(engineDeactivated())); connect(m_engine, SIGNAL(analysisUpdated(const Analysis&)), SLOT(showAnalysis(const Analysis&))); m_engine->setMoveTime(m_moveTime); m_engine->activate(); QString key = QString("/") + objectName() + "/Engine"; AppSettings->setValue(key, ui.engineList->itemText(index)); } } void AnalysisWidget::stopEngine() { engineDeactivated(); if(m_engine) { m_engine->deactivate(); m_engine->deleteLater(); m_engine = 0; } } void AnalysisWidget::slotVisibilityChanged(bool visible) { if(isEngineRunning() && !visible && !parentWidget()->isVisible()) { stopEngine(); } } bool AnalysisWidget::isEngineRunning() const { return m_engine && ui.analyzeButton->isChecked(); } bool AnalysisWidget::isEngineConfigured() const { int index = ui.engineList->currentIndex(); return (index != -1); } void AnalysisWidget::engineActivated() { ui.analyzeButton->setChecked(true); ui.analyzeButton->setText(tr("Stop")); m_analyses.clear(); m_engine->startAnalysis(m_board, ui.vpcount->value(), m_moveTime, true); } void AnalysisWidget::engineError(QProcess::ProcessError e) { MessageDialog::warning(tr("There was an error (%1) running engine %2.") .arg(e) .arg(ui.engineList->currentText())); stopEngine(); } void AnalysisWidget::engineDeactivated() { ui.analyzeButton->setChecked(false); ui.analyzeButton->setText(tr("Analyze")); } void AnalysisWidget::toggleAnalysis() { if(!isAnalysisEnabled()) { stopEngine(); } else { startEngine(); } } void AnalysisWidget::slotPinChanged(bool pinned) { if (!pinned && isAnalysisEnabled()) { if (m_board != m_NextBoard) { setPosition(m_NextBoard); } } else { if(isEngineRunning()) { m_engine->setMoveTime(0); } } } void AnalysisWidget::slotReconfigure() { QString oldEngineName = ui.engineList->currentText(); if(oldEngineName.isEmpty()) { QString key = QString("/") + objectName() + "/Engine"; oldEngineName = AppSettings->value(key).toString(); } EngineList enginesList; enginesList.restore(); QStringList names = enginesList.names(); ui.engineList->clear(); ui.engineList->insertItems(0, names); int index = names.indexOf(oldEngineName); if(index != -1) { ui.engineList->setCurrentIndex(index); } else { ui.engineList->setCurrentIndex(0); stopEngine(); } int fontSize = AppSettings->getValue("/General/ListFontSize").toInt(); QFont f = ui.variationText->font(); f.setPointSize(fontSize); setFont(f); ui.variationText->setFont(f); } void AnalysisWidget::showAnalysis(const Analysis& analysis) { int mpv = analysis.mpv() - 1; bool bestMove = analysis.bestMove(); if (bestMove) { if (m_analyses.count() && m_analyses.last().bestMove()) { m_analyses.removeLast(); } m_analyses.append(analysis); } else if(mpv < 0 || mpv > m_analyses.count() || mpv >= ui.vpcount->value()) { return; } else if(mpv == m_analyses.count()) { m_analyses.append(analysis); } else { m_analyses[mpv] = analysis; } updateComplexity(); updateAnalysis(); if (bestMove) { emit receivedBestMove(analysis); } } void AnalysisWidget::setPosition(const Board& board) { if (ui.btPin->isChecked()) { m_NextBoard = board; return; } if(m_board != board) { m_board = board; m_NextBoard = board; m_analyses.clear(); m_tablebase->abortLookup(); m_tablebaseEvaluation.clear(); if(AppSettings->getValue("/General/onlineTablebases").toBool()) { if (!(m_board.isStalemate() || m_board.isCheckmate())) { if(objectName() == "Analysis") { m_tablebase->getBestMove(m_board.toFen()); } } } m_lastDepthAdded = 0; updateAnalysis(); if(m_engine && m_engine->isActive()) { m_engine->startAnalysis(m_board, ui.vpcount->value(), m_moveTime, m_bUciNewGame); m_bUciNewGame = false; } } } void AnalysisWidget::slotLinkClicked(const QUrl& url) { if (m_NextBoard != m_board) { return; // Pinned and user moved somewhere else } int mpv = url.toString().toInt() - 1; if(mpv >= 0 && mpv < m_analyses.count()) { emit addVariation(m_analyses[mpv]); } else if(mpv == -1) { emit addVariation(m_tablebaseEvaluation); } else { mpv = (-mpv) - 2; if(mpv < m_analyses.count()) { if (m_analyses[mpv].variation().size()) { emit addVariation(m_analyses[mpv].variation().at(0).toAlgebraic()); } } } } void AnalysisWidget::setMoveTime(int mt) { m_moveTime = mt; if(isEngineRunning() && !ui.btPin->isChecked()) { m_engine->setMoveTime(mt); } } void AnalysisWidget::slotMpvChanged(int mpv) { if(isEngineRunning()) { while(m_analyses.count() > mpv) { m_analyses.removeLast(); } m_engine->setMpv(mpv); } } bool AnalysisWidget::isAnalysisEnabled() const { if(!parentWidget()) { return false; } if(!parentWidget()->isVisible() || !ui.analyzeButton->isChecked()) { return false; } return true; } void AnalysisWidget::showTablebaseMove(Move move, int score) { QString result; if(score == 0) { result = tr("Draw"); } else if((score < 0) == (m_board.toMove() == Black)) { result = tr("White wins in %n moves", "", qAbs(score)); } else { result = tr("Black wins in %n moves", "", qAbs(score)); } Move move1 = m_board.prepareMove(move.from(), move.to()); if(move.isPromotion()) { move1.setPromoted(pieceType(move.promotedPiece())); } m_tablebaseEvaluation = QString("%1 - %2").arg(m_board.moveToFullSan(move1)).arg(result); m_lastDepthAdded = 0; updateAnalysis(); } void AnalysisWidget::updateAnalysis() { QString text; if (ui.btPin->isChecked()) { int moveNr = m_board.moveNumber(); text = tr("Analysis pinned to move %1").arg(moveNr) + "
"; } foreach(Analysis a, m_analyses) { QString s = a.toString(m_board); if (!s.isEmpty()) text.append(s + "
"); } if(!m_tablebaseEvaluation.isEmpty()) { text.append(QString("[+] %2: ").arg(tr("Click to add move to game")).arg(tr("Tablebase")) + m_tablebaseEvaluation); } if (m_lastDepthAdded == 17) { text.append(QString("
%1: %2/%3
").arg(tr("Complexity")).arg(m_complexity).arg(m_complexity2)); } else if (m_lastDepthAdded >= 12) { text.append(tr("
Complexity: %1
").arg(m_complexity)); } ui.variationText->setText(text); } void AnalysisWidget::updateComplexity() { if (m_analyses[0].variation().size()) { Move bestMove = m_analyses[0].variation().first(); if (m_analyses[0].depth() == 2) { m_lastBestMove = bestMove; m_complexity = 0.0; m_lastDepthAdded = 2; } if ((m_analyses.size() >= 2) && !m_analyses[1].bestMove()) { if ((m_lastDepthAdded+1 == m_analyses[0].depth()) && !m_analyses[0].isMate()) { if (m_analyses[0].depth() <= 12) { m_lastDepthAdded = m_analyses[0].depth(); if (m_lastBestMove != bestMove) { if (abs(m_analyses[0].score()) < 200) { m_lastBestMove = bestMove; m_complexity += fabs(double(m_analyses[0].score()-m_analyses[1].score()))/100.0; } } m_complexity2 = m_complexity; } else if ((m_analyses[0].depth() > 12) && (m_analyses[0].depth() <= 17)) { m_lastDepthAdded = m_analyses[0].depth(); if (m_lastBestMove != bestMove) { if (abs(m_analyses[0].score()) < 200) { m_lastBestMove = bestMove; m_complexity2 += fabs(double(m_analyses[0].score()-m_analyses[1].score()))/100.0; } } } } } } else { m_lastDepthAdded = 0; } } Analysis AnalysisWidget::getMainLine() const { Analysis a; if(!m_analyses.isEmpty()) { a = m_analyses.first(); } return a; } bool AnalysisWidget::hasMainLine() const { return (!m_analyses.isEmpty()); } QString AnalysisWidget::displayName() const { return ui.engineList->currentText(); } void AnalysisWidget::unPin() { if (ui.btPin->isChecked()) { ui.btPin->setChecked(false); } } void AnalysisWidget::slotUciNewGame() { m_bUciNewGame = true; } ./chessx-1.3.2/src/gui/analysiswidget.h000644 000765 000024 00000006772 12506212210 017476 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2008-2010 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __ANALYSIS_WIDGET_H__ #define __ANALYSIS_WIDGET_H__ #include "engine.h" #include "ui_analysiswidget.h" #include /** @ingroup GUI The Analysis widget which shows engine output */ class Analysis; class Board; class Tablebase; class AnalysisWidget : public QWidget { Q_OBJECT public: AnalysisWidget(); ~AnalysisWidget(); /** Get the main line */ Analysis getMainLine() const; /** Analysis has a main line */ bool hasMainLine() const; /** Get the name of this widget */ QString displayName() const; /** Unpin the analyis (if pinned) */ void unPin(); /** Is any engine running. */ bool isEngineRunning() const; /** Is any engine configured. */ bool isEngineConfigured() const; public slots: /** Sets new position. If analysis is active, the current content will be cleared and new analysis will be performed. */ void setPosition(const Board& board); /** Called when configuration was changed (either on startup or from Preferences dialog. */ void slotReconfigure(); /** Start currently selected engine. */ void startEngine(); /** Stop any running engine. */ void stopEngine(); /** Stop game analysis when analysis dock is hidden. */ void slotVisibilityChanged(bool); /** Change the movetime of the engine */ void setMoveTime(int mt); /** Must send ucinewgame next time */ void slotUciNewGame(); private slots: /** Stop if analysis is no longer visible. */ void toggleAnalysis(); /** Displays given analysis received from an engine. */ void showAnalysis(const Analysis& analysis); /** The engine is now ready, as requested */ void engineActivated(); /** The engine is now deactivated */ void engineDeactivated(); /** There was an error while running engine. */ void engineError(QProcess::ProcessError); /** Add variation. */ void slotLinkClicked(const QUrl& link); /** Number of visible lines was changed. */ void slotMpvChanged(int mpv); /** Show tablebase move information. */ void showTablebaseMove(Move move, int score); /** The pin button was pressed or released */ void slotPinChanged(bool); signals: void addVariation(const Analysis& analysis); void addVariation(const QString& san); void requestBoard(); void receivedBestMove(const Analysis& analysis); private: /** Should analysis be running. */ bool isAnalysisEnabled() const; /** Update analysis. */ void updateAnalysis(); /** Update complexity. */ void updateComplexity(); QList m_analyses; Ui::AnalysisWidget ui; Engine* m_engine; Board m_board; Board m_NextBoard; QString m_tablebaseEvaluation; Tablebase* m_tablebase; int m_moveTime; bool m_bUciNewGame; double m_complexity; double m_complexity2; Move m_lastBestMove; int m_lastDepthAdded; }; #endif // __ANALYSIS_WIDGET_H__ ./chessx-1.3.2/src/gui/analysiswidget.ui000644 000765 000024 00000006240 12445546217 017675 0ustar00nistaff000000 000000 AnalysisWidget 0 0 446 268 150 80 Analysis 3 3 3 3 3 &Lines: vpcount 1 99 Pin engine to current position ... :/images/pin.ico:/images/pin.ico true 0 0 0 0 Analyze true false vpcount engineList analyzeButton variationText ./chessx-1.3.2/src/gui/boardsetup.cpp000644 000765 000024 00000040423 12512757753 017170 0ustar00nistaff000000 000000 /*************************************************************************** boardsetup.cpp - Board setup dialog ------------------- begin : copyright : (C) 2005 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #include "boardsetup.h" #include "boardview.h" #include "messagedialog.h" #include "settings.h" #include "boardsetuptoolbutton.h" #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER BoardSetupDialog::BoardSetupDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f), m_wheelCurrentDelta(0), m_selectedPiece(Empty), inDrag(false) { setObjectName("BoardSetupDialog"); ui.setupUi(this); QPushButton *pasteButton = ui.buttonBox->addButton(tr("Paste FEN"), QDialogButtonBox::ActionRole); copyButton = ui.buttonBox->addButton(tr("Copy FEN"), QDialogButtonBox::ApplyRole); btCopyText = ui.buttonBox->addButton(tr("Copy Text"), QDialogButtonBox::ApplyRole); restoreLayout(); ui.boardView->configure(); ui.boardView->setFlags(BoardView::IgnoreSideToMove | BoardView::SuppressGuessMove | BoardView::AllowCopyPiece); ui.boardView->showMoveIndicator(false); ui.boardView->showCoordinates(true); m_minDeltaWheel = AppSettings->getValue("/Board/minWheelCount").toInt(); for(int piece = Empty; piece <= BlackPawn; piece++) { BoardSetupToolButton* button = new BoardSetupToolButton(this); button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); button->setMinimumSize(QSize(10, 10)); button->m_piece = (Piece)piece; if(piece == Empty) { button->m_pixmap = QPixmap(0, 0); ui.buttonLayout->addWidget(button, 6, 0); } else { button->m_pixmap = ui.boardView->theme().piece(Piece(piece)); ui.buttonLayout->addWidget(button, (piece - 1) % 6, piece >= BlackKing); } connect(button, SIGNAL(signalDragStarted(QWidget*, QMouseEvent*)), this, SLOT(startDrag(QWidget*, QMouseEvent*))); connect(button, SIGNAL(signalClicked(Piece)), this, SLOT(labelClicked(Piece))); connect(this, SIGNAL(signalClearBackground(Piece)), button, SLOT(slotClearBackground(Piece))); } emit signalClearBackground(Empty); ui.buttonBoxTools->button(QDialogButtonBox::RestoreDefaults)->setText(tr("Clear")); connect(ui.buttonBoxTools->button(QDialogButtonBox::RestoreDefaults), SIGNAL(clicked()), SLOT(slotClear())); connect(ui.buttonBoxTools->button(QDialogButtonBox::Reset), SIGNAL(clicked()), SLOT(slotReset())); connect(ui.boardView, SIGNAL(clicked(Square, int, QPoint, Square)), SLOT(slotSelected(Square, int))); connect(ui.boardView, SIGNAL(moveMade(Square, Square, int)), SLOT(slotMovePiece(Square, Square))); connect(ui.boardView, SIGNAL(copyPiece(Square, Square)), SLOT(slotCopyPiece(Square, Square))); connect(ui.boardView, SIGNAL(invalidMove(Square)), SLOT(slotInvalidMove(Square))); connect(ui.boardView, SIGNAL(wheelScrolled(int)), SLOT(slotChangePiece(int))); connect(ui.boardView, SIGNAL(pieceDropped(Square, Piece)), SLOT(slotDroppedPiece(Square, Piece))); connect(ui.toMoveButton, SIGNAL(clicked()), SLOT(slotToggleSide())); connect(ui.wkCastleCheck, SIGNAL(stateChanged(int)), SLOT(slotCastlingRights())); connect(ui.wqCastleCheck, SIGNAL(stateChanged(int)), SLOT(slotCastlingRights())); connect(ui.bkCastleCheck, SIGNAL(stateChanged(int)), SLOT(slotCastlingRights())); connect(ui.bqCastleCheck, SIGNAL(stateChanged(int)), SLOT(slotCastlingRights())); connect(ui.epCombo, SIGNAL(currentIndexChanged(int)), SLOT(slotEnPassantSquare())); connect(ui.halfmoveSpin, SIGNAL(valueChanged(int)), SLOT(slotHalfmoveClock())); connect(ui.moveSpin, SIGNAL(valueChanged(int)), SLOT(slotMoveNumber())); connect(ui.btFlipBoard, SIGNAL(clicked()), ui.boardView, SLOT(flip())); ui.btFlipBoard->setCheckable(true); connect(copyButton, SIGNAL(clicked()), SLOT(slotCopyFen())); connect(pasteButton, SIGNAL(clicked()), SLOT(slotPasteFen())); connect(btCopyText, SIGNAL(clicked()), SLOT(slotCopyText())); connect(ui.btFlipVertical, SIGNAL(clicked()), SLOT(mirrorVertical())); connect(ui.btFlipHorizontal, SIGNAL(clicked()), SLOT(mirrorHorizontal())); connect(ui.btSwapColor, SIGNAL(clicked()), SLOT(swapColors())); ui.tabWidget->setCurrentIndex(0); } void BoardSetupDialog::restoreLayout() { AppSettings->layout(this); } BoardSetupDialog::~BoardSetupDialog() {} Board BoardSetupDialog::board() const { Board b = ui.boardView->board(); return b; } void BoardSetupDialog::mirrorVertical() { QString fen = board().toFen(); QString fenRows = fen.left(fen.indexOf(" ")); QStringList rows = fenRows.split("/"); QAlgorithmsPrivate::qReverse(rows.begin(), rows.end()); QString newFen = rows.join("/"); Board b(newFen); b.setMoveNumber(board().moveNumber()); b.setHalfMoveClock(board().halfMoveClock()); setBoard(b); } void BoardSetupDialog::mirrorHorizontal() { QString fen = board().toFen(); QString fenRows = fen.left(fen.indexOf(" ")); QStringList rows = fenRows.split("/"); for(QStringList::Iterator iter = rows.begin(); iter != rows.end(); ++iter) { QAlgorithmsPrivate::qReverse((*iter).begin(), (*iter).end()); } QString newFen = rows.join("/"); Board b(newFen); b.setMoveNumber(board().moveNumber()); b.setHalfMoveClock(board().halfMoveClock()); setBoard(b); } void BoardSetupDialog::swapColors() { QString fen = board().toFen(); QString fenRows = fen.left(fen.indexOf(" ")); QStringList rows = fenRows.split("/"); for(QStringList::Iterator iter = rows.begin(); iter != rows.end(); ++iter) { QString& fenString = (*iter); for(QString::Iterator pChar = fenString.begin(); pChar != fenString.end(); ++pChar) { if(*pChar >= 'a' && *pChar <= 'z') { (*pChar) = (*pChar).toUpper(); } else if(*pChar >= 'A' && *pChar <= 'Z') { (*pChar) = (*pChar).toLower(); } } } QString newFen = rows.join("/"); Board b(newFen); b.setMoveNumber(board().moveNumber()); b.setHalfMoveClock(board().halfMoveClock()); setBoard(b); } void BoardSetupDialog::setFlipped(bool flipped) { ui.boardView->setFlipped(flipped); } void BoardSetupDialog::setBoard(const Board& b) { ui.boardView->setBoard(b); ui.moveSpin->setValue(b.moveNumber()); ui.halfmoveSpin->setValue(b.halfMoveClock()); if(b.enPassantSquare() == NoEPSquare) { ui.epCombo->setCurrentIndex(0); } else if(b.toMove() == White && b.pieceAt(b.enPassantSquare() - 8) == BlackPawn && b.pieceAt(b.enPassantSquare()) == Empty && b.pieceAt(b.enPassantSquare() + 8) == Empty) { ui.epCombo->setCurrentIndex(b.enPassantSquare() % 8 + 1); } else if(b.toMove() == Black && b.pieceAt(b.enPassantSquare() + 8) == WhitePawn && b.pieceAt(b.enPassantSquare()) == Empty && b.pieceAt(b.enPassantSquare() - 8) == Empty) { ui.epCombo->setCurrentIndex(b.enPassantSquare() % 8 + 1); } else { ui.epCombo->setCurrentIndex(0); } ui.wkCastleCheck->setChecked(b.castlingRights() & WhiteKingside); ui.wqCastleCheck->setChecked(b.castlingRights() & WhiteQueenside); ui.bkCastleCheck->setChecked(b.castlingRights() & BlackKingside); ui.bqCastleCheck->setChecked(b.castlingRights() & BlackQueenside); m_toMove = b.toMove(); showSideToMove(); setStatusMessage(); } void BoardSetupDialog::showEvent(QShowEvent *e) { QDialog::showEvent(e); adjustSize(); } void BoardSetupDialog::slotReset() { Board b; b.setStandardPosition(); setBoard(b); } void BoardSetupDialog::accept() { // Need to make sure the board is updated with move number set by user Board b(ui.boardView->board()); b.setMoveNumber(ui.moveSpin->value()); ui.boardView->setBoard(b); AppSettings->setLayout(this); QString reason = boardStatusMessage(); if(reason.isEmpty()) { QDialog::accept(); } else { MessageDialog::error(tr("Current position is not valid.\n\n%1.").arg(reason)); } } void BoardSetupDialog::reject() { AppSettings->setLayout(this); QDialog::reject(); } void BoardSetupDialog::slotClear() { Board b; b.setAt(e1, WhiteKing); b.setAt(e8, BlackKing); setBoard(b); } void BoardSetupDialog::slotSelected(Square square, int button) { Piece piece = (button & Qt::MidButton) ? Empty : m_selectedPiece; if(button & Qt::RightButton) { if(piece >= BlackKing) { piece = (Piece)(piece - (BlackKing - WhiteKing)); } else if(piece != Empty) { piece = (Piece)(piece + (BlackKing - WhiteKing)); } } Board board = ui.boardView->board(); if(board.pieceAt(square) == piece) { piece = Empty; } board.setAt(square, piece); setBoard(board); } void BoardSetupDialog::showSideToMove() { QSize size = ui.toMoveButton->iconSize(); QPixmap pixmap(size); QPainter painter(&pixmap); painter.fillRect(0, 0, size.width(), size.height(), m_toMove == White ? Qt::black : Qt::white); painter.fillRect(1, 1, size.width() - 2, size.height() - 2, m_toMove == White ? Qt::white : Qt::black); ui.toMoveButton->setIcon(QIcon(pixmap)); } void BoardSetupDialog::slotToggleSide() { m_toMove = oppositeColor(m_toMove); Board b = ui.boardView->board(); b.setToMove(m_toMove); setBoard(b); } void BoardSetupDialog::slotChangePiece(int dir) { int i = m_selectedPiece; i += (dir == BoardView::WheelUp) ? -1 : 1; if(i < 0) { i = (int) BlackPawn; } else if(i > BlackPawn) { i = (int) Empty; } m_selectedPiece = (Piece) i; emit signalClearBackground(m_selectedPiece); } void BoardSetupDialog::slotDroppedPiece(Square s, Piece p) { Board b = ui.boardView->board(); b.setAt(s, p); setBoard(b); } void BoardSetupDialog::slotMovePiece(Square from, Square to) { Board b = ui.boardView->board(); Piece p = b.pieceAt(from); b.removeFrom(from); b.setAt(to, p); setBoard(b); } void BoardSetupDialog::slotCopyPiece(Square from, Square to) { Board b = ui.boardView->board(); Piece p = b.pieceAt(from); b.setAt(to, p); setBoard(b); } void BoardSetupDialog::slotInvalidMove(Square from) { Board b = ui.boardView->board(); Piece p = b.pieceAt(from); if(pieceType(p) != King) { b.removeFrom(from); setBoard(b); } } void BoardSetupDialog::wheelEvent(QWheelEvent* e) { m_wheelCurrentDelta += e->delta(); if(abs(m_wheelCurrentDelta) > m_minDeltaWheel) { slotChangePiece(m_wheelCurrentDelta < 0 ? BoardView::WheelDown : BoardView::WheelUp); m_wheelCurrentDelta = 0; } } QString BoardSetupDialog::boardStatusMessage() const { switch(ui.boardView->board().validate()) { case Valid: return QString(); case NoWhiteKing: return tr("No white king"); case NoBlackKing: return tr("No black king"); case DoubleCheck: return tr("Both kings are in check"); case OppositeCheck: return tr("Side to move has opponent in check already"); case TooManyBlackPawns: return tr("Black has too many pawns"); case TooManyWhitePawns: return tr("White has too many pawns"); case PawnsOn18: return tr("There are pawns on the first or eighth rank"); case TooManyKings: return tr("Too many kings"); case TooManyBlack: return tr("Too many black pieces"); case TooManyWhite: return tr("Too many white pieces"); case BadCastlingRights: return tr("Bad castling rights"); case InvalidEnPassant: return tr("En passant square is not correct"); default: return tr("Unknown reason"); } } void BoardSetupDialog::setStatusMessage() { QString reason = boardStatusMessage(); ui.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(reason.isEmpty()); copyButton->setEnabled(reason.isEmpty()); btCopyText->setEnabled(reason.isEmpty()); if(reason.isEmpty()) { ui.fenLabel->setText(ui.boardView->board().toFen()); ui.humanFEN->setText(ui.boardView->board().toHumanFen()); } else { ui.fenLabel->setText(tr("Illegal position: %1").arg(reason)); ui.humanFEN->setText(""); } } void BoardSetupDialog::slotCopyFen() { QApplication::clipboard()->setText(ui.boardView->board().toFen()); } void BoardSetupDialog::slotCopyText() { QApplication::clipboard()->setText(ui.boardView->board().toHumanFen()); } void BoardSetupDialog::slotPasteFen() { // Prepare Fen - clean up code like this: // [FEN "***"] to *** QString fen = QApplication::clipboard()->text().simplified(); if(fen.contains("\"")) { int n1 = fen.indexOf('"'); int n2 = fen.lastIndexOf('"'); if(n2 > n1 + 1) { fen = fen.mid(n1 + 1, n2 - n1 - 1); } } // Another go at Fens copied from Wikis: [FEN]***[/FEN] is reduced to *** fen.remove(QRegExp("\\[[^\\]]*\\]")); // Now parse the hopefully naked Fen Board b; if(!b.fromFen(fen)) { QString msg = fen.length() ? tr("Text in clipboard does not represent valid FEN:
%1").arg(fen) : tr("There is no text in clipboard."); MessageDialog::warning(msg); } else { setBoard(b); } } void BoardSetupDialog::slotCastlingRights() { Board b(board()); CastlingRights cr = 0; if(ui.wkCastleCheck->isChecked()) // && b.pieceAt(4) == WhiteKing && b.pieceAt(7) == WhiteRook) { cr += WhiteKingside; } if(ui.wqCastleCheck->isChecked()) // && b.pieceAt(4) == WhiteKing && b.pieceAt(0) == WhiteRook) { cr += WhiteQueenside; } if(ui.bkCastleCheck->isChecked()) // && b.pieceAt(60) == BlackKing && b.pieceAt(63) == BlackRook) { cr += BlackKingside; } if(ui.bqCastleCheck->isChecked()) // && b.pieceAt(60) == BlackKing && b.pieceAt(56) == BlackRook) { cr += BlackQueenside; } b.setCastlingRights(cr); setBoard(b); } void BoardSetupDialog::slotEnPassantSquare() { Board b(board()); if(ui.epCombo->currentIndex() == 0) { b.clearEnPassantSquare(); } else { int shift = b.toMove() == White ? 39 : 15; b.setEnPassantSquare(shift + ui.epCombo->currentIndex()); } setBoard(b); } void BoardSetupDialog::slotHalfmoveClock() { Board b(board()); b.setHalfMoveClock(ui.halfmoveSpin->value()); setBoard(b); } void BoardSetupDialog::slotMoveNumber() { Board b(board()); b.setMoveNumber(ui.moveSpin->value()); setBoard(b); } void BoardSetupDialog::startDrag(QWidget* w, QMouseEvent* event) { if (inDrag) { return; } BoardSetupToolButton *child = qobject_cast(w); if(!child) { return; } Piece p = child->m_piece; QPoint hotSpot = event->pos(); BoardViewMimeData *mimeData = new BoardViewMimeData; mimeData->m_piece = p; QPixmap pixmap = *child->pixmap(); QDrag* pDrag = new QDrag(this); pDrag->setMimeData(mimeData); pDrag->setPixmap(pixmap); pDrag->setHotSpot(hotSpot); inDrag = true; pDrag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction); inDrag = false; } void BoardSetupDialog::labelClicked(Piece p) { m_selectedPiece = p; emit signalClearBackground(m_selectedPiece); } ./chessx-1.3.2/src/gui/boardsetup.h000644 000765 000024 00000007735 12510715746 016640 0ustar00nistaff000000 000000 /*************************************************************************** boardsetup.h - Board setup dialog ------------------- begin : Mon 14 Nov 2005 copyright : (C) 2005 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef __BOARDSETUPDIALOG_H__ #define __BOARDSETUPDIALOG_H__ #include "ui_boardsetup.h" #include "board.h" class QMenu; /** @ingroup GUI The BoardSetupDialog class represents a dialog for setting up a position. */ class BoardSetupDialog : public QDialog { Q_OBJECT public: /** Create ChessX Preferences dialog */ BoardSetupDialog(QWidget* parent = 0, Qt::WindowFlags f = 0); /** Destroy the dialog */ virtual ~BoardSetupDialog(); /** Set current board */ void setBoard(const Board& b); /** Set current board */ void setFlipped(bool flipped); /** Return current board */ Board board() const; protected: /** Resize board upon showing it the first time */ virtual void showEvent(QShowEvent *e); /** Scroll current piece with a wheel */ virtual void wheelEvent(QWheelEvent* e); protected: /** Display side to move */ void showSideToMove(); /** Message for incorrect setups. Returns empty string if the position is correct. */ QString boardStatusMessage() const; /** Sets status message for the board (either fen or error message). */ void setStatusMessage(); public slots: /** Start a drag operation */ void startDrag(QWidget* w, QMouseEvent* event); /** A Piece was clicked */ void labelClicked(Piece p); void mirrorVertical(); void mirrorHorizontal(); void swapColors(); signals: /** Request to clear the background of a piece label */ void signalClearBackground(Piece p); protected slots: void restoreLayout(); private slots: /** If the position is legal, accept it and close the dialog. */ void accept(); /** Dialog closed otherwise */ void reject(); /** Clear board. */ void slotClear(); /** Restore standard position */ void slotReset(); /** Copy current position as FEN. */ void slotCopyFen(); /** Copy current position as text. */ void slotCopyText(); /** Paste FEN from clipboard as current position. */ void slotPasteFen(); /** Change current piece using wheel */ void slotChangePiece(int dir); /** A Drop operation was inidcated by the boardview */ void slotDroppedPiece(Square s, Piece p); /** Select square and insert piece */ void slotSelected(Square s, int button); /** Manually adjust castling rights. */ void slotCastlingRights(); /** Manually adjust en passant square. */ void slotEnPassantSquare(); /** Adjust halfmove clock. */ void slotHalfmoveClock(); /** Adjust move number. */ void slotMoveNumber(); /** Move piece */ void slotMovePiece(Square from, Square to); /** Copy piece */ void slotCopyPiece(Square from, Square to); /** Remove piece */ void slotInvalidMove(Square from); /** Toggle side to move */ void slotToggleSide(); private: Ui::BoardSetupDialog ui; QPushButton *copyButton; QPushButton *btCopyText; Color m_toMove; int m_wheelCurrentDelta; int m_minDeltaWheel; Piece m_selectedPiece; bool inDrag; }; #endif ./chessx-1.3.2/src/gui/boardsetup.ui000644 000765 000024 00000040541 12414505244 017007 0ustar00nistaff000000 000000 BoardSetupDialog 0 0 768 507 0 0 0 0 Setup position 0 0 1 0 0 Board true 0 0 0 0 true QLayout::SetDefaultConstraint Tools QLayout::SetDefaultConstraint Side to move: Move: 1 999 1 Qt::Horizontal QSizePolicy::Expanding 61 27 Flip board ... :/images/flip_board.png:/images/flip_board.png Mirror left and right ... :/images/flip-horizontal.png:/images/flip-horizontal.png Mirror top and bottom ... :/images/flip-vertical.png:/images/flip-vertical.png Change colors for all pieces ... :/images/swap-color.png:/images/swap-color.png Qt::Horizontal 40 20 QDialogButtonBox::Reset|QDialogButtonBox::RestoreDefaults 0 0 &Advanced Castling rights Black O-O White O-O-O White O-O Black O-O-O Qt::Vertical 20 40 En passant file: Qt::Horizontal 40 20 0 - a b c d e f g h Qt::Horizontal 40 20 Halfmove clock: Qt::Horizontal 40 20 0 0 0 999 0 Qt::Horizontal 40 20 FEN 400 0 QFrame::Panel QFrame::Sunken 0 0 400 60 QFrame::Panel QFrame::Sunken true QDialogButtonBox::Cancel|QDialogButtonBox::Ok BoardView QWidget
boardview.h
wkCastleCheck bkCastleCheck wqCastleCheck bqCastleCheck moveSpin buttonBox accepted() BoardSetupDialog accept() 530 478 319 253 buttonBox rejected() BoardSetupDialog reject() 530 478 319 253
./chessx-1.3.2/src/gui/boardsetuptoolbutton.cpp000644 000765 000024 00000003005 12507517064 021306 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "boardsetuptoolbutton.h" #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER BoardSetupToolButton::BoardSetupToolButton(QWidget *parent) : QLabel(parent) { } void BoardSetupToolButton::mousePressEvent(QMouseEvent * e) { QLabel::mousePressEvent(e); emit signalClicked(m_piece); emit signalDragStarted(this, e); slotSetSelected(); } void BoardSetupToolButton::mouseReleaseEvent(QMouseEvent * e) { QLabel::mouseReleaseEvent(e); } void BoardSetupToolButton::resizeEvent(QResizeEvent * e) { int w = e->size().width() - 4; int h = e->size().height() - 4; QPixmap p1; if(m_pixmap.isNull()) { p1 = (style()->standardIcon(QStyle::SP_TrashIcon)).pixmap(w, h); } else { p1 = m_pixmap.scaled(w, h, Qt::KeepAspectRatio, Qt::SmoothTransformation); } setPixmap(p1); } void BoardSetupToolButton::slotClearBackground(Piece p) { if(p == m_piece) { slotSetSelected(); } else { setStyleSheet("QLabel { background-color: lightgray }"); } } void BoardSetupToolButton::slotSetSelected() { setStyleSheet("QLabel { background-color: yellow }"); } ./chessx-1.3.2/src/gui/boardsetuptoolbutton.h000644 000765 000024 00000001602 12510715746 020755 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef BOARDSETUPTOOLBUTTON_H #define BOARDSETUPTOOLBUTTON_H #include "piece.h" #include #include class BoardSetupToolButton : public QLabel { Q_OBJECT public: explicit BoardSetupToolButton(QWidget *parent = 0); QPixmap m_pixmap; Piece m_piece; signals: void signalDragStarted(QWidget*, QMouseEvent*); void signalClicked(Piece p); public slots: void slotClearBackground(Piece p); void slotSetSelected(); protected: virtual void mousePressEvent(QMouseEvent * e); virtual void mouseReleaseEvent(QMouseEvent * e); virtual void resizeEvent(QResizeEvent * e); }; #endif // BOARDSETUPTOOLBUTTON_H ./chessx-1.3.2/src/gui/boardtheme.cpp000644 000765 000024 00000020065 12515660613 017121 0ustar00nistaff000000 000000 /*************************************************************************** BoardTheme - graphics theme for BoardView ------------------- begin : nie sie 21 2005 copyright : (C) 2005 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #include "boardtheme.h" #include "settings.h" #include "messagedialog.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER BoardTheme::BoardTheme() {} BoardTheme::~BoardTheme() {} const QPixmap& BoardTheme::piece(Piece p) const { return m_piece[p]; } const QPixmap& BoardTheme::square(bool dark) const { return m_square[dark ? 1 : 0]; } const QPixmap& BoardTheme::originalPiece(Piece p) const { return m_originalPiece[p]; } const QPixmap& BoardTheme::originalSquare(bool dark) const { return m_originalSquare[dark ? 1 : 0]; } QString BoardTheme::pieceThemeName() const { int start = m_pieceFilename.lastIndexOf('/') + 1; return m_pieceFilename.mid(start + 1, m_pieceFilename.length() - start - 4); } QString BoardTheme::boardThemeName() const { int start = m_boardFilename.lastIndexOf('/') + 1; return m_boardFilename.mid(start + 1, m_pieceFilename.length() - start - 4); } bool BoardTheme::isValid() const { return !m_pieceFilename.isNull(); } bool BoardTheme::loadPieces(const QString& pieces, int effect) { QString effectPath; if(effect == Outline) { effectPath = "outline"; } else if(effect == Shadow) { effectPath = "shadow"; } QString themePath = pieces.startsWith(":") ? pieces : QString("%1/%2/%3.png").arg(AppSettings->getThemePath()).arg(effectPath).arg(pieces); QPixmap big; if(!big.load(themePath) || big.width() < 160) { return false; } int realsize = big.height() / 2; if(realsize != big.width() / 6) { return false; } /* Cut big theme bitmap into separate pieces */ m_originalPiece[WhiteRook] = big.copy(0 * realsize, 0, realsize, realsize); m_originalPiece[WhiteKnight] = big.copy(1 * realsize, 0, realsize, realsize); m_originalPiece[WhiteBishop] = big.copy(2 * realsize, 0, realsize, realsize); m_originalPiece[WhiteQueen] = big.copy(3 * realsize, 0, realsize, realsize); m_originalPiece[WhiteKing] = big.copy(4 * realsize, 0, realsize, realsize); m_originalPiece[WhitePawn] = big.copy(5 * realsize, 0, realsize, realsize); m_originalPiece[BlackRook] = big.copy(0 * realsize, realsize, realsize, realsize); m_originalPiece[BlackKnight] = big.copy(1 * realsize, realsize, realsize, realsize); m_originalPiece[BlackBishop] = big.copy(2 * realsize, realsize, realsize, realsize); m_originalPiece[BlackQueen] = big.copy(3 * realsize, realsize, realsize, realsize); m_originalPiece[BlackKing] = big.copy(4 * realsize, realsize, realsize, realsize); m_originalPiece[BlackPawn] = big.copy(5 * realsize, realsize, realsize, realsize); m_pieceFilename = themePath; if(size().isEmpty()) { setSize(QSize(realsize, realsize)); } else { setSize(size()); } return true; } bool BoardTheme::loadBoard(const QString& board) { if(board.isEmpty()) { m_boardFilename = board; updateSquares(); return true; } QString themePath = QString("%1/%2.png").arg(AppSettings->getBoardPath()).arg(board); QPixmap big; if(!big.load(themePath)) { return false; } int realsize = big.height() / 2; if(realsize != big.width()) { return false; } m_originalSquare[0] = big.copy(0, 0, realsize, realsize); m_originalSquare[1] = big.copy(0, realsize, realsize, realsize); m_boardFilename = themePath; updateSquares(); return true; } void BoardTheme::configure() { AppSettings->beginGroup("/Board/"); setColor(BoardTheme::LightSquare, AppSettings->getValue("lightColor").value()); setColor(BoardTheme::DarkSquare, AppSettings->getValue("darkColor").value()); setColor(BoardTheme::Highlight, AppSettings->getValue("highlightColor").value()); setColor(BoardTheme::Frame, AppSettings->getValue("frameColor").value()); setColor(BoardTheme::CurrentMove, AppSettings->getValue("currentMoveColor").value()); setColor(BoardTheme::StoredMove, AppSettings->getValue("storedMoveColor").value()); setColor(BoardTheme::Threat, AppSettings->getValue("threatColor").value()); QString pieceTheme = AppSettings->getValue("pieceTheme").toString(); int pieceEffect = AppSettings->getValue("pieceEffect").toInt(); QString boardTheme = AppSettings->getValue("boardTheme").toString(); AppSettings->endGroup(); if(!loadPieces(pieceTheme, pieceEffect) && !loadPieces(pieceTheme, Plain) && !loadPieces(":/themes/merida", Plain)) { MessageDialog::error(tr("Cannot find piece data.\nPlease check your installation.")); } loadBoard(boardTheme); } QSize BoardTheme::size() const { return m_size; } QPoint BoardTheme::pieceCenter() const { return QPoint(m_size.width() / 2, m_size.height() / 2); } QRect BoardTheme::rect() const { return QRect(QPoint(0, 0), m_size); } void BoardTheme::setSize(const QSize& value) { if(!isValid()) { return; } m_size = value; for(int i = 1; i < ConstPieceTypes; i++) { m_piece[i] = m_originalPiece[i].scaled(m_size, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); } updateSquares(); } void BoardTheme::updateSquares() { if(!isValid()) { return; } bool scale = m_size.width() > m_originalPiece[WhiteRook].width() || m_size.height() > m_originalPiece[WhiteRook].height() || m_size.width() < 30 || m_size.height() < 30; if(isBoardPlain()) { m_square[0] = QPixmap(m_size); m_square[0].fill(color(LightSquare).rgb()); m_square[1] = QPixmap(m_size); m_square[1].fill(color(DarkSquare).rgb()); } else if(scale) { m_square[0] = m_originalSquare[0].scaled(size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); m_square[1] = m_originalSquare[1].scaled(size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation); } else { m_square[0] = m_originalSquare[0].copy(rect()); m_square[1] = m_originalSquare[1].copy(rect()); } } bool BoardTheme::isBoardPlain() const { return m_boardFilename.isEmpty(); } void BoardTheme::setColor(ColorRole role, const QColor& value) { m_colors[role] = value; if(role == LightSquare || role == DarkSquare) { updateSquares(); } } QColor BoardTheme::color(ColorRole role) const { return m_colors[role]; } void BoardTheme::setEnabled(bool enabled) { if(enabled) { AppSettings->beginGroup("/Board/"); setColor(BoardTheme::LightSquare, AppSettings->getValue("lightColor").value()); setColor(BoardTheme::DarkSquare, AppSettings->getValue("darkColor").value()); QString boardTheme = AppSettings->getValue("boardTheme").toString(); AppSettings->endGroup(); loadBoard(boardTheme); } else { setColor(BoardTheme::LightSquare, QColor(Qt::lightGray)); setColor(BoardTheme::DarkSquare, QColor(Qt::darkGray)); loadBoard(QString()); } } ./chessx-1.3.2/src/gui/boardtheme.h000644 000765 000024 00000007113 12515660613 016565 0ustar00nistaff000000 000000 /*************************************************************************** BoardTheme - graphics theme for BoardView ------------------- begin : Sun 21 Aug 2005 copyright : (C) 2005 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef __BOARDTHEME_H__ #define __BOARDTHEME_H__ #include #include "piece.h" /** @ingroup GUI The BoardTheme class contains set of pixmaps and options to define current board theme. Themes are read from INI files pointing to set of external pixmaps. Pixmaps are automatically scaled to given size. */ class BoardTheme : public QObject { Q_OBJECT public: enum ColorRole {LightSquare, DarkSquare, Highlight, Frame, CurrentMove, StoredMove, Threat, ColorRoleEndEntry}; enum LoadTheme {LoadBoard = 1, LoadPieces = 2, LoadAll = LoadBoard | LoadPieces}; enum Effects {Plain, Outline = 1, Shadow = 2}; BoardTheme(); ~BoardTheme(); /** Reset piece and board selections based on config values */ void configure(); /** Load piece graphics named by string + effect flag */ bool loadPieces(const QString& pieces, int effect); /** Load board graphics named by string */ bool loadBoard(const QString& board); /** Sets one of the board colors. */ void setColor(ColorRole role, const QColor& value); /** @return one of the board colors. */ QColor color(ColorRole role) const; /** @return pixmap for given piece scaled to current size(). */ const QPixmap& piece(Piece p) const; /** @return unscaled pixmap for given piece. */ const QPixmap& originalPiece(Piece p) const; /** @return pixmap for square. */ const QPixmap& square(bool dark) const; /** @return unscaled pixmap for square. */ const QPixmap& originalSquare(bool dark) const; /** Checkes whether themes is valid (pixmaps loaded). */ bool isValid() const; /** Returns name of board theme. It is just file without a path and extension. */ QString boardThemeName() const; /** Returns name of piece theme. It is just file without a path and extension. */ QString pieceThemeName() const; /** Sets current size for pixmaps. Resizes all pixmaps. */ void setSize(const QSize& size); /** Returns current size of pixmaps. */ QSize size() const; /** Returns center point of piece pixmap. Useful for centering piece when dragging. */ QPoint pieceCenter() const; /** Returns current rectangle of pixmaps. */ QRect rect() const; /** Updates board square. */ void updateSquares(); /** Set the theme according to the parents state */ void setEnabled(bool enabled); private: bool isBoardPlain() const; QPixmap m_originalPiece[ConstPieceTypes]; QPixmap m_piece[ConstPieceTypes]; QPixmap m_originalSquare[2]; QPixmap m_square[2]; QSize m_size; QColor m_colors[ColorRoleEndEntry]; QString m_pieceFilename; QString m_boardFilename; }; #endif ./chessx-1.3.2/src/gui/boardview.cpp000644 000765 000024 00000070634 12516124425 016775 0ustar00nistaff000000 000000 /*************************************************************************** BoardView - view of the current board ------------------- begin : Sun 21 Aug 2005 copyright : (C) 2005-2007 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #include "boardview.h" #include "settings.h" #include "guess.h" #include "movelist.h" #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER using namespace Qt; const int CoordinateSize = 16; const int MoveIndicatorSize = 12; BoardView::BoardView(QWidget* parent, int flags) : QWidget(parent), m_flipped(false), m_showFrame(false), m_showCurrentMove(2), m_guessMove(false), m_showThreat(false), m_selectedSquare(InvalidSquare), m_hoverSquare(InvalidSquare), m_hiFrom(InvalidSquare), m_hiTo(InvalidSquare), m_threatFrom(InvalidSquare), m_threatTo(InvalidSquare), m_currentFrom(InvalidSquare), m_currentTo(InvalidSquare), m_storedFrom(InvalidSquare), m_storedTo(InvalidSquare), m_atLineEnd(true), m_flags(flags), m_coordinates(false), m_dragged(Empty), m_clickUsed(false), m_wheelCurrentDelta(0), m_minDeltaWheel(0), m_moveListCurrent(0), m_showMoveIndicator(true), m_vAlignTop(false), m_DbIndex(0) { QSizePolicy policy(QSizePolicy::Preferred, QSizePolicy::Preferred); policy.setHeightForWidth(true); setSizePolicy(policy); setMouseTracking(true); installEventFilter(this); connect(&m_threatGuess, SIGNAL(guessFoundForBoard(Guess::Result, Board)), this, SLOT(showThreat(Guess::Result,Board)), Qt::QueuedConnection); } BoardView::~BoardView() { m_threatGuess.cancel(); } bool BoardView::eventFilter(QObject *obj, QEvent *ev) { if(ev->type() == QEvent::Leave || ev->type() == QEvent::WindowDeactivate) { removeGuess(); } return QWidget::eventFilter(obj, ev); } void BoardView::setFlags(int flags) { m_flags = flags; } int BoardView::flags() const { return m_flags; } void BoardView::setBoard(const Board& value, int from, int to, bool atLineEnd) { m_clickUsed = true; m_board = value; m_currentFrom = from; m_currentTo = to; m_storedFrom = InvalidSquare; m_storedTo = InvalidSquare; m_atLineEnd = atLineEnd; m_hiFrom = m_hiTo = InvalidSquare; if(underMouse()) { updateGuess(m_hoverSquare); } updateThreat(); update(); } void BoardView::setStoredMove(int from, int to) { m_storedFrom = from; m_storedTo = to; update(); } Board BoardView::board() const { return m_board; } const BoardTheme& BoardView::theme() const { return m_theme; } void BoardView::showMoveIndicator(bool visible) { m_showMoveIndicator = visible; } void BoardView::showCoordinates(bool visible) { m_coordinates = visible; } void BoardView::drawSquares(QPaintEvent* event) { QPainter p(this); p.translate(m_translate); for(Square square = 0; square < 64; square++) { QRect rect = squareRect(square); if(!event->region().intersects(rect)) { continue; } int coord = m_coordinates ? CoordinateSize : 0; int x = isFlipped() ? 7 - square % 8 : square % 8; int y = isFlipped() ? square / 8 : 7 - square / 8; QPoint pos(coord + x * m_theme.size().width(), y * m_theme.size().height()); p.drawPixmap(pos, m_theme.square((x + y) % 2)); } } void BoardView::drawCoordinates(QPaintEvent* event) { if(m_coordinates) { QPainter p(this); p.save(); p.setPen(m_theme.color(BoardTheme::Frame)); for(Square square = 0; square < 8; square++) { QRect rect = coordinateRectVertical(square); if(!event->region().intersects(rect)) { continue; } p.drawText(rect, Qt::AlignCenter, QString("%1").arg(square + 1)); } for(Square square = 0; square < 8; square++) { QRect rect = coordinateRectHorizontal(square); if(!event->region().intersects(rect)) { continue; } p.drawText(rect, Qt::AlignCenter, QString("%1").arg(QChar('a' + square))); } p.restore(); } } void BoardView::drawDraggedPieces(QPaintEvent* /*event*/) { // Draw dragged piece if(m_dragged != Empty) { QPainter p(this); p.drawPixmap(m_dragPoint, m_theme.piece(m_dragged)); } } void BoardView::drawMoveIndicator(QPaintEvent* event) { if(m_showMoveIndicator && m_showMoveIndicatorMode!=Never) { QPainter p(this); // Draw side to move indicator int coord = m_coordinates ? CoordinateSize : 0; bool white = m_board.toMove() == White; int square = moveIndicatorWidth(); if(square) { int posy = (white == m_flipped) ? 1 : 8 * m_theme.size().width() - square; QRect rect(QPoint(8 * m_theme.size().width() + 2 + coord, posy) + m_translate, QSize(square, square)); if(!event->region().intersects(rect)) { return; } QColor color = white ? Qt::white : Qt::black; QColor border = white ? Qt::black : Qt::white; p.setPen(border); p.setBrush(QColor(color)); p.drawRect(rect); } } } void BoardView::drawHiliteSquare(QPoint pos, BoardTheme::ColorRole role) { QPainter p(this); p.translate(m_translate); QPen pen; pen.setColor(m_theme.color(role)); pen.setWidth(2); pen.setJoinStyle(Qt::MiterJoin); p.setPen(pen); p.drawRect(pos.x() + 1 + m_showFrame, pos.y() + 1 + m_showFrame, m_theme.size().width() - 2 - m_showFrame, m_theme.size().height() - 2 - m_showFrame); } QPoint BoardView::posFromSquare(int square) const { int coord = m_coordinates ? CoordinateSize : 0; int x = isFlipped() ? 7 - square % 8 : square % 8; int y = isFlipped() ? square / 8 : 7 - square / 8; QPoint pos(coord + x * m_theme.size().width(), y * m_theme.size().height()); return pos; } void BoardView::drawHiliting(QPaintEvent* event) { QPainter p(this); p.translate(m_translate); for(Square square = 0; square < 64; square++) { QRect rect = squareRect(square); if(!event->region().intersects(rect)) { continue; } QPoint pos = posFromSquare(square); if(square == m_storedFrom || square == m_storedTo) { drawHiliteSquare(pos, BoardTheme::StoredMove); } if(m_showCurrentMove==1) { if(square == m_currentFrom || square == m_currentTo) { drawHiliteSquare(pos, BoardTheme::CurrentMove); } } if(square == m_selectedSquare || square == m_hiFrom || square == m_hiTo) { drawHiliteSquare(pos, BoardTheme::Highlight); } } if ((m_showCurrentMove==2) && m_currentFrom != InvalidSquare && m_currentTo != InvalidSquare) { QRect rect1 = squareRect(m_currentFrom); QRect rect2 = squareRect(m_currentTo); QRect u = rect1.united(rect2); if(event->region().intersects(u)) { drawArrow(m_currentFrom, m_currentTo, m_theme.color(BoardTheme::CurrentMove)); } } if (m_threatFrom != InvalidSquare && m_threatTo != InvalidSquare) { QRect rect1 = squareRect(m_threatFrom); QRect rect2 = squareRect(m_threatTo); QRect u = rect1.united(rect2); if(event->region().intersects(u)) { drawArrow(m_threatFrom, m_threatTo, m_theme.color(BoardTheme::Threat)); } } } void BoardView::drawPieces(QPaintEvent* event) { QPainter p(this); p.translate(m_translate); for(Square square = 0; square < 64; square++) { QRect rect = squareRect(square); if(!event->region().intersects(rect)) { continue; } if(m_dragged != Empty) { Square from = squareAt(m_dragStart); if (from == square) { continue; } } QPoint pos = posFromSquare(square); p.drawPixmap(pos, m_theme.piece(m_board.pieceAt(square))); if(m_showFrame) { p.setPen(m_theme.color(BoardTheme::Frame)); p.drawRect(QRect(pos, m_theme.size())); } } } void BoardView::paintEvent(QPaintEvent* event) { drawSquares(event); drawCoordinates(event); drawSquareAnnotations(event); drawPieces(event); drawHiliting(event); drawMoveIndicator(event); drawArrowAnnotations(event); drawDraggedPieces(event); } void BoardView::resizeBoard(QSize sz) { // subtract move indicator from width int coord = m_coordinates ? CoordinateSize : 0; int moveIndicator = (m_showMoveIndicatorMode==Always) ? MoveIndicatorSize:0; int xsize = (sz.width() - 1 - coord - moveIndicator) / 8; int ysize = (sz.height() - 1 - coord) / 8; int size = std::min(xsize, ysize); m_theme.setSize(QSize(size, size)); // calculate the translation vector to center the widget inside its parent int square = moveIndicatorWidth(); QSize widgetSize(size * 8 + 1 + coord + square, size * 8 + 1 + coord); QPoint widgetCenter(widgetSize.width() / 2, widgetSize.height() / 2); m_translate = geometry().center() - widgetCenter - geometry().topLeft(); if (m_vAlignTop) m_translate.setY(0); } void BoardView::resizeEvent(QResizeEvent* e) { resizeBoard(e->size()); } int BoardView::moveIndicatorWidth() const { if(m_showMoveIndicator && m_showMoveIndicatorMode!=Never) { int coord = m_coordinates ? CoordinateSize : 0; int square = width() - coord - 8 * m_theme.size().width() - 4; int maxsquare = m_theme.size().width() / 2; if (square > maxsquare) { square = maxsquare; } if (square <= 8) { square = 0; } return square; } return 0; } Square BoardView::squareAt(const QPoint& p) const { int x = p.x() - m_translate.x(); int y = p.y() - m_translate.y(); int width = m_theme.size().width(); int height = m_theme.size().height(); x -= m_coordinates ? CoordinateSize : 0; if(x <= 0 || y <= 0 || x >= width * 8 || y >= height * 8) { return InvalidSquare; } x /= width; y /= height; return isFlipped() ? (8 * y + 7 - x) : (8 * (7 - y) + x); } void BoardView::mousePressEvent(QMouseEvent* event) { m_dragStart = event->pos(); setStoredMove(InvalidSquare,InvalidSquare); emit moveStarted(); } bool BoardView::showGuess(Square s) { // Don't want to constantly recalculate guess, so remember which square // the mouse is hovering over, and only show new guess when it changes if(m_guessMove && s != m_hoverSquare && !(m_flags & SuppressGuessMove)) { m_hoverSquare = s; removeGuess(); m_moveListCurrent = 0; m_moveList.clear(); Guess::Result sm = Guess::guessMove(qPrintable(m_board.toFen()), (int) s, m_moveList); if(!sm.error) { m_hiFrom = sm.from; m_hiTo = sm.to; update(squareRect(m_hiFrom)); update(squareRect(m_hiTo)); } return true; } return false; } void BoardView::updateGuess(Square s) { // Invalidate any currently displayed guess to allow new guess to show m_hoverSquare = InvalidSquare; showGuess(s); } void BoardView::updateThreat() { removeThreat(); if(m_showThreat && !(m_flags & SuppressGuessMove) && Guess::guessAllowed()) { if (board() != Board::standardStartBoard) { m_threatGuess.guessMove(board()); } } } void BoardView::showThreat(Guess::Result sm, Board b) { if (board() == b) { if(!sm.error) { m_threatFrom = sm.from; m_threatTo = sm.to; update(); } } else { removeThreat(); m_threatGuess.guessMove(board()); } } void BoardView::removeThreat() { m_threatFrom = InvalidSquare; m_threatTo = InvalidSquare; } void BoardView::removeGuess() { if(m_hiFrom != InvalidSquare) { update(squareRect(m_hiFrom)); update(squareRect(m_hiTo)); m_hiFrom = m_hiTo = InvalidSquare; } } void BoardView::nextGuess(Square s) { if(!showGuess(s)) { if(m_moveList.size() && (int) m_moveListCurrent < m_moveList.size()) { Guess::simpleMoveT * sold = m_moveList.Get(m_moveListCurrent); update(squareRect(sold->from)); update(squareRect(sold->to)); if((int)m_moveListCurrent < m_moveList.size() - 1) { ++m_moveListCurrent; } else { m_moveListCurrent = 0; } Guess::simpleMoveT * sm = m_moveList.Get(m_moveListCurrent); m_hiFrom = sm->from; m_hiTo = sm->to; update(squareRect(m_hiFrom)); update(squareRect(m_hiTo)); } } } void BoardView::mouseMoveEvent(QMouseEvent *event) { m_button = event->button() + event->modifiers(); if(!m_atLineEnd && (event->modifiers() & Qt::ControlModifier)) { if(event->modifiers() & Qt::AltModifier) { setCursor(QCursor(QPixmap(":/images/insert_move.png"))); } else { setCursor(QCursor(QPixmap(":/images/replace_move.png"))); } } else if(!m_atLineEnd && (event->modifiers() & Qt::AltModifier)) { setCursor(QCursor(QPixmap(":/images/plus.png"))); } else { setCursor(QCursor(Qt::ArrowCursor)); } if(!(event->buttons() & Qt::LeftButton)) { if(!(event->modifiers() & Qt::ShiftModifier)) { showGuess(squareAt(event->pos())); } else { removeGuess(); } return; } if(m_dragged != Empty) { QRect old = QRect(m_dragPoint, m_theme.size()); m_dragPoint = event->pos() - m_theme.pieceCenter(); update(old); update(QRect(m_dragPoint, m_theme.size())); return; } if(event->modifiers() & Qt::ShiftModifier) { return; } if((event->pos() - m_dragStart).manhattanLength() < QApplication::startDragDistance()) { // Click and move - start dragging return; } Square s = squareAt(m_dragStart); if(!canDrag(s)) { return; } removeGuess(); m_dragged = m_board.pieceAt(s); m_dragPoint = event->pos() - m_theme.pieceCenter(); m_board.removeFrom(s); update(squareRect(s)); update(QRect(m_dragPoint, m_theme.size())); unselectSquare(); } void BoardView::mouseReleaseEvent(QMouseEvent* event) { setCursor(QCursor(Qt::ArrowCursor)); int button = event->button() + event->modifiers(); Square s = squareAt(event->pos()); m_clickUsed = false; if(!(event->button() & Qt::LeftButton)) { Square from = squareAt(m_dragStart); if(s == from) { from = InvalidSquare; } if(s != InvalidSquare) { emit clicked(s, button, mapToGlobal(event->pos()), from); } else { Square from = squareAt(m_dragStart); emit invalidMove(from); } m_dragged = Empty; emit moveFinished(); return; } else { if(event->modifiers() & Qt::ShiftModifier) { if(s != InvalidSquare) { Square from = squareAt(m_dragStart); emit clicked(s, button, mapToGlobal(event->pos()), from); } m_dragged = Empty; emit moveFinished(); return; } } if(m_dragged != Empty) { Square from = squareAt(m_dragStart); m_board.setAt(from, m_dragged); QRect oldr = QRect(m_dragPoint, m_theme.size()); m_dragged = Empty; update(squareRect(from)); update(oldr); if(s != InvalidSquare) { if((m_flags & AllowCopyPiece) && (event->modifiers() & Qt::AltModifier)) { if(m_board.pieceAt(from) != Empty) { emit copyPiece(from, s); } } else { emit moveMade(from, s, button); updateGuess(s); } } else { emit invalidMove(from); } } else if(m_selectedSquare != InvalidSquare) { Square from = m_selectedSquare; unselectSquare(); if(s != InvalidSquare) { emit moveMade(from, s, button); } } else if(m_hiFrom != InvalidSquare) { if(s == m_hiFrom || s == m_hiTo) { emit moveMade(m_hiFrom, m_hiTo, button); } m_hoverSquare = InvalidSquare; // Only update guess if "emit moveMade()" did not pop up a window (eg. promotion) if(m_hiFrom != InvalidSquare) { updateGuess(s); } } else { if(s != InvalidSquare) { emit clicked(s, button, mapToGlobal(event->pos()), InvalidSquare); if(!m_clickUsed && m_board.isMovable(s)) { selectSquare(s); } } } m_dragged = Empty; emit moveFinished(); } void BoardView::wheelEvent(QWheelEvent* e) { m_wheelCurrentDelta += e->delta(); if(abs(m_wheelCurrentDelta) > m_minDeltaWheel) { int change = m_wheelCurrentDelta < 0 ? WheelDown : WheelUp; emit wheelScrolled(change + e->modifiers()); m_wheelCurrentDelta = 0; } } void BoardView::setFlipped(bool flipped) { m_flipped = flipped; update(); } void BoardView::flip() { m_flipped = !m_flipped; update(); } bool BoardView::isFlipped() const { return m_flipped; } void BoardView::configure() { AppSettings->beginGroup("/Board/"); m_showFrame = AppSettings->getValue("showFrame").toBool(); m_coordinates = AppSettings->getValue("showCoordinates").toBool(); m_showCurrentMove = AppSettings->getValue("showCurrentMove").toInt(); m_guessMove = AppSettings->getValue("guessMove").toBool(); m_showThreat = AppSettings->getValue("showThreat").toBool(); m_minDeltaWheel = AppSettings->getValue("minWheelCount").toInt(); m_showMoveIndicatorMode = AppSettings->getValue("showMoveIndicator").toInt(); AppSettings->endGroup(); m_theme.configure(); m_theme.setEnabled(isEnabled()); removeGuess(); unselectSquare(); if(size().height() >= minimumSize().height()) { resizeBoard(size()); } update(); } void BoardView::selectSquare(Square s) { // You can't select a square when guess move is enabled if(m_guessMove && !(m_flags & SuppressGuessMove)) { return; } if(m_selectedSquare == s) { return; } unselectSquare(); m_selectedSquare = s; update(squareRect(s)); } void BoardView::unselectSquare() { Square prev = m_selectedSquare; m_selectedSquare = InvalidSquare; if(prev != InvalidSquare) { update(squareRect(prev)); } } QRect BoardView::squareRect(Square square) { int coord = m_coordinates ? CoordinateSize : 0; int x = isFlipped() ? 7 - square % 8 : square % 8; int y = isFlipped() ? square / 8 : 7 - square / 8; return QRect(QPoint(x * m_theme.size().width() + coord, y * m_theme.size().height()) + m_translate, m_theme.size()); } QRect BoardView::coordinateRectVertical(Square square) { Q_ASSERT(m_coordinates); int x = isFlipped() ? square % 8 : 7 - square % 8; return QRect(QPoint(0, x * m_theme.size().height() + (m_theme.size().height() - CoordinateSize) / 2) + m_translate, QSize(CoordinateSize, CoordinateSize)); } QRect BoardView::coordinateRectHorizontal(Square square) { Q_ASSERT(m_coordinates); int y = isFlipped() ? 7 - square % 8 : square % 8; return QRect(QPoint(CoordinateSize + (y * (m_theme.size().width())) + (m_theme.size().width() - CoordinateSize) / 2, 8 * m_theme.size().height()) + m_translate, QSize(CoordinateSize, CoordinateSize)); } bool BoardView::canDrag(Square s) const { if(m_dragged != Empty) // already dragging { return false; } if(s == InvalidSquare) { return false; } else if(m_flags & IgnoreSideToMove) { return m_board.pieceAt(s) != Empty; } else { return m_board.isMovable(s); } } int BoardView::heightForWidth(int width) const { return width; } void BoardView::dragEnterEvent(QDragEnterEvent *event) { const BoardViewMimeData *mimeData = qobject_cast(event->mimeData()); if(mimeData) { event->acceptProposedAction(); } } void BoardView::dragMoveEvent(QDragMoveEvent *event) { event->acceptProposedAction(); } void BoardView::dragLeaveEvent(QDragLeaveEvent *event) { event->accept(); } void BoardView::dropEvent(QDropEvent *event) { const BoardViewMimeData *mimeData = qobject_cast(event->mimeData()); if(mimeData) { Square s = squareAt(event->pos()); emit pieceDropped(s, mimeData->m_piece); event->acceptProposedAction(); } } void BoardView::drawSquareAnnotations(QPaintEvent* event) { QString annotation = m_board.squareAnnotation(); if(!annotation.isEmpty() && !annotation.isNull()) { QStringList list = annotation.split(","); for(QStringList::Iterator it = list.begin(); it != list.end(); it++) { if(*it != "") { drawSquareAnnotation(event, *it); } } } } void BoardView::drawArrowAnnotations(QPaintEvent* event) { QString annotation = m_board.arrowAnnotation(); if(!annotation.isEmpty() && !annotation.isNull()) { QStringList list = annotation.split(","); for(QStringList::Iterator it = list.begin(); it != list.end(); it++) { if(*it != "") { drawArrowAnnotation(event, *it); } } } } void BoardView::drawSquareAnnotation(QPaintEvent* event, QString annotation) { QPainter p(this); p.translate(m_translate); QString trimmed = annotation.simplified(); QChar colorChar = trimmed[0]; QChar fileChar = trimmed[1]; QChar rankChar = trimmed[2]; QString files = "abcdefgh"; QString ranks = "12345678"; int file = files.indexOf(fileChar); int rank = ranks.indexOf(rankChar); int square = rank * 8 + file; QRect rect = squareRect(square); if(!event->region().intersects(rect)) { return; } int x = isFlipped() ? 7 - square % 8 : square % 8; int y = isFlipped() ? square / 8 : 7 - square / 8; QPoint pos(x * m_theme.size().width(), y * m_theme.size().height()); //p.drawPixmap(pos, m_theme.square((x + y) % 2)); QColor color = Qt::red; if(colorChar == 'Y') { color = Qt::yellow; } else if(colorChar == 'G') { color = Qt::green; } else if(colorChar == 'B') { color = Qt::blue; } p.save(); QPen pen(color); QBrush brush(color); p.setPen(pen); p.setBrush(brush); p.setOpacity(.35); int coord = m_coordinates ? CoordinateSize : 0; p.drawRect(coord + pos.x(), pos.y(), m_theme.size().width(), m_theme.size().height()); p.restore(); } void BoardView::drawArrow(int square1, int square2, QColor color) { QPainter p(this); p.translate(m_translate); int x1 = isFlipped() ? 7 - square1 % 8 : square1 % 8; int y1 = isFlipped() ? square1 / 8 : 7 - square1 / 8; int x2 = isFlipped() ? 7 - square2 % 8 : square2 % 8; int y2 = isFlipped() ? square2 / 8 : 7 - square2 / 8; int w = m_theme.size().width(); int h = m_theme.size().height(); int coord = m_coordinates ? CoordinateSize : 0; QPoint pos1(coord + (x1 * w) + (w / 2), (y1 * h) + (h / 2)); QPoint pos2(coord + (x2 * w) + (w / 2), (y2 * h) + (h / 2)); // Now to Draw Arrow Head qreal headWidth = m_theme.size().width() / 4; qreal headLength = headWidth; qreal headIndent = headWidth / 4; qreal netIndent = headLength - headIndent; qreal halfHead = headWidth / 2; int px1 = pos1.x(); int px2 = pos2.x(); int py1 = pos1.y(); int py2 = pos2.y(); int dX = px2 - px1; int dY = py2 - py1; qreal arrowLength = qSqrt(dX * dX + dY * dY); QPointF arrowPts[7]; // we will shorten the line somewhat to avoid arrows all colliding in the center of the square int adjust = (w + h) / 8; px1 = px1 + ((adjust * dX) / arrowLength); px2 = px2 - ((adjust * dX) / arrowLength); py1 = py1 + ((adjust * dY) / arrowLength); py2 = py2 - ((adjust * dY) / arrowLength); // calculate the points that form the arrow arrowPts[0].setX(px2 - ((netIndent * dX) / arrowLength)); arrowPts[0].setY(py2 - ((netIndent * dY) / arrowLength)); arrowPts[4].setX(px2 - ((headLength * dX) / arrowLength)); arrowPts[4].setY(py2 - ((headLength * dY) / arrowLength)); arrowPts[1].setX(arrowPts[4].x() - ((halfHead * (dY)) / arrowLength)); arrowPts[1].setY(arrowPts[4].y() - ((halfHead * (-dX)) / arrowLength)); arrowPts[3].setX(arrowPts[4].x() + ((halfHead * (dY)) / arrowLength)); arrowPts[3].setY(arrowPts[4].y() + ((halfHead * (-dX)) / arrowLength)); arrowPts[2].setX(px2); arrowPts[2].setY(py2); QPoint pos3(px1, py1); QPoint pos4(px2- ((adjust * dX) / arrowLength), py2- ((adjust * dY) / arrowLength)); p.save(); p.setRenderHint(QPainter::SmoothPixmapTransform); color.setAlpha(176); QPen pen(color); int penWidth = std::max(2, (int)(headWidth / 3)); pen.setWidth(penWidth); p.setPen(pen); p.drawLine(pos3, pos4); QBrush brush(color); p.setBrush(brush); pen.setWidth(2); p.setPen(pen); p.drawPolygon(arrowPts, 4); p.restore(); } void BoardView::drawArrowAnnotation(QPaintEvent* event, QString annotation) { static const QString letters = "abcdefgh"; static const QString numbers = "12345678"; QString trimmed = annotation.simplified(); QChar colorChar = trimmed[0]; QChar fileChar1 = trimmed[1]; QChar rankChar1 = trimmed[2]; QChar fileChar2 = trimmed[3]; QChar rankChar2 = trimmed[4]; int file1 = letters.indexOf(fileChar1); int rank1 = numbers.indexOf(rankChar1); int file2 = letters.indexOf(fileChar2); int rank2 = numbers.indexOf(rankChar2); if(file1 < 0 || file2 < 0 || rank1 < 0 || rank2 < 0) { return; } int square1 = rank1 * 8 + file1; int square2 = rank2 * 8 + file2; QRect rect1 = squareRect(square1); QRect rect2 = squareRect(square2); QRect u = rect1.united(rect2); if(!event->region().intersects(u)) { return; } QColor color = Qt::red; if(colorChar == 'Y') { color = Qt::yellow; } else if(colorChar == 'G') { color = Qt::green; } else if(colorChar == 'B') { color = Qt::blue; } drawArrow(square1, square2, color); } Piece BoardView::dragged() const { return m_dragged; } void BoardView::setDragged(const Piece &dragged) { m_dragged = dragged; } bool BoardView::vAlignTop() const { return m_vAlignTop; } void BoardView::setVAlignTop(bool vAlignTop) { m_vAlignTop = vAlignTop; } void BoardView::setEnabled(bool enabled) { QWidget::setEnabled(enabled); } void BoardView::setDisabled(bool disabled) { QWidget::setDisabled(disabled); } void BoardView::setDbIndex(QObject* dbIndex) { m_DbIndex = dbIndex; } QObject* BoardView::dbIndex() const { return m_DbIndex; } ./chessx-1.3.2/src/gui/boardview.h000644 000765 000024 00000017135 12516124425 016437 0ustar00nistaff000000 000000 /*************************************************************************** BoardView - view of the current board ------------------- begin : Sun 21 Aug 2005 copyright : (C) 2005 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef __BOARDVIEW_H__ #define __BOARDVIEW_H__ #include "board.h" #include "boardtheme.h" #include "guess.h" #include "threadedguess.h" #include class BoardTheme; /** @ingroup GUI The BoardView class represents a widget for displaying current position on the screen. */ class BoardView : public QWidget { Q_OBJECT public: enum {WheelUp = Qt::LeftButton, WheelDown = Qt::RightButton}; enum {Automatic = 0, Always = 1, Never = 2}; enum {IgnoreSideToMove = 1, SuppressGuessMove = 2, AllowCopyPiece = 4}; /** Create board widget. */ BoardView(QWidget* parent = 0, int flags = 0); /** Destroy widget. */ ~BoardView(); /** Set flags for board. Flags include: * @p IgnoreSideToMove - allow dragging all pieces (useful for setting up a position) */ void setFlags(int flags); int flags() const; /** Update and shows current position. */ void setBoard(const Board& value, int from = InvalidSquare, int to = InvalidSquare, bool atLineEnd = true); /** @return displayed position. */ Board board() const; /** @return current theme */ const BoardTheme& theme() const; /** @return @p true if board is displayed upside down. */ bool isFlipped() const; /** Make it almost square. */ virtual int heightForWidth(int width) const; /** Switch to next guess */ void nextGuess(Square s); /** Set Move Indicator property */ void showMoveIndicator(bool visible); /** Set Move Indicator property */ void showCoordinates(bool visible); /** Set a reference to the database to which the current view is associated */ void setDbIndex(QObject *); /** Get a reference to the database to which the current view is associated */ QObject *dbIndex() const; /** Get the move indicator width */ int moveIndicatorWidth() const; bool vAlignTop() const; void setVAlignTop(bool vAlignTop); Piece dragged() const; void setDragged(const Piece &dragged); public slots: /** Flips/unflips board. */ void setFlipped(bool flipped); /** Flips/unflips board. */ void flip(); /** Reconfigure current theme. */ void configure(); /** Enable / Disable Board for move entry. */ void setEnabled(bool enabled); /** Disable / Enable Board for move entry. */ void setDisabled(bool disabled); /** Show FICS premove */ void setStoredMove(int from, int to); signals: /** User clicked source and destination squares */ void moveMade(Square from, Square to, int button); /** User dragged and dropped a piece holding Control */ void copyPiece(Square from, Square to); /** User dragged and dropped a piece holding Control */ void invalidMove(Square from); /** User clicked square */ void clicked(Square square, int button, QPoint pos, Square from); /** User moved mouse wheel. */ void wheelScrolled(int dir); /** Indicate that a piece was dropped to the board */ void pieceDropped(Square to, Piece p); void moveStarted(); void moveFinished(); protected: /** Redraws whole board if necessary. */ virtual void paintEvent(QPaintEvent*); /** Automatically resizes pieces and redisplays board. */ virtual void resizeEvent(QResizeEvent*); /** Handle mouse events */ virtual void mousePressEvent(QMouseEvent* e); /** Handle mouse events */ virtual void mouseMoveEvent(QMouseEvent* e); /** Handle mouse events */ virtual void mouseReleaseEvent(QMouseEvent* e); /** Handle mouse wheel events */ virtual void wheelEvent(QWheelEvent* e); protected: //Drag'n'Drop Support void dragEnterEvent(QDragEnterEvent *event); void dragMoveEvent(QDragMoveEvent *event); void dragLeaveEvent(QDragLeaveEvent *event); void dropEvent(QDropEvent *event); protected slots: void showThreat(Guess::Result sm, Board b); private: /** Resizes pieces for new board size. */ void resizeBoard(QSize size); /** Calculate size and position of square */ QRect squareRect(Square s); /** Calculate size and position of a coordinate indicator in vertical direction */ QRect coordinateRectVertical(Square square); /** Calculate size and position of a coordinate indicator in horizontal direction */ QRect coordinateRectHorizontal(Square square); /** @return square at given position */ Square squareAt(const QPoint& p) const; /** Selects given square. Previously selected square is unselected automatically. */ void selectSquare(Square s); /** Unselects given square. */ void unselectSquare(); /** Check if piece at square @p square can be dragged */ bool canDrag(Square s) const; /** Highlights the from and to squares of a guessed move. */ bool showGuess(Square s); /** Highlights the from and to squares of a threat. */ void updateThreat(); /** Recalculate guess when board is changed */ void updateGuess(Square s); /** Remove the guessed move highlight from the board. */ void removeGuess(); /** Remove the threat highlighting */ void removeThreat(); /** Catch mouse events */ bool eventFilter(QObject *obj, QEvent *ev); void drawArrow(int square1, int square2, QColor color); void drawHiliteSquare(QPoint pos, BoardTheme::ColorRole role); QPoint posFromSquare(int square) const; void drawHiliting(QPaintEvent* event); void drawSquares(QPaintEvent* event); void drawPieces(QPaintEvent* event); void drawMoveIndicator(QPaintEvent* event); void drawDraggedPieces(QPaintEvent* event); void drawCoordinates(QPaintEvent* event); void drawSquareAnnotations(QPaintEvent* event); void drawSquareAnnotation(QPaintEvent* event, QString annotation); void drawArrowAnnotations(QPaintEvent* event); void drawArrowAnnotation(QPaintEvent* event, QString annotation); Board m_board; BoardTheme m_theme; QPoint m_translate; bool m_flipped; bool m_showFrame; int m_showCurrentMove; bool m_guessMove; bool m_showThreat; int m_selectedSquare; int m_hoverSquare; int m_hiFrom; int m_hiTo; int m_threatFrom; int m_threatTo; int m_currentFrom; int m_currentTo; int m_storedFrom; int m_storedTo; bool m_atLineEnd; int m_flags; bool m_coordinates; Piece m_dragged; QPoint m_dragStart; QPoint m_dragPoint; int m_button; bool m_clickUsed; int m_wheelCurrentDelta; int m_minDeltaWheel; Guess::MoveList m_moveList; unsigned int m_moveListCurrent; bool m_showMoveIndicator; bool m_vAlignTop; int m_showMoveIndicatorMode; QPointer m_DbIndex; ThreadedGuess m_threatGuess; }; class BoardViewMimeData : public QMimeData { Q_OBJECT public: Piece m_piece; }; #endif ./chessx-1.3.2/src/gui/chartwidget.cpp000644 000765 000024 00000005734 12516124425 017317 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "chartwidget.h" #include #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ChartWidget::ChartWidget(QWidget *parent) : QWidget(parent) { setAutoFillBackground(true); setUpdatesEnabled(true); } ChartWidget::~ChartWidget() { m_values.clear(); m_polygon.clear(); } void ChartWidget::setValues(const QList& values) { m_values.clear(); foreach(double d,values) { m_values<posF(); #else QPointF p = event->localPos(); #endif double x = 0.5 + (p.x() * (m_values.count()) / width()); emit halfMoveRequested((int)x); } } void ChartWidget::updatePly() { double multiplierW = ((double)width()) / (m_values.count()-1); m_plyIndicator = m_ply * multiplierW; } void ChartWidget::updatePolygon() { setUpdatesEnabled(false); m_polygon.clear(); if (m_values.count()>1) { double max = 0; foreach(double d, m_values) { double absd = std::abs(d); if (absd > max) max = absd; } double multiplierH = (max != 0.0) ? ((double)height()) / (max*2.0) : 0.0; double multiplierW = ((double)width()) / (m_values.count()-1); int i = 0; foreach(double d, m_values) { m_polygon< #include #include class ChartWidget : public QWidget { Q_OBJECT public: explicit ChartWidget(QWidget *parent = 0); virtual ~ChartWidget(); void setValues(const QList &values); void setPly(int ply); signals: void halfMoveRequested(int); protected: virtual void paintEvent(QPaintEvent* event); virtual void resizeEvent(QResizeEvent* event); virtual void mouseReleaseEvent(QMouseEvent* event); void updatePolygon(); void updatePly(); private: QPolygonF m_polygon; QList m_values; int m_ply; double m_plyIndicator; }; #endif // CHARTWIDGET_H ./chessx-1.3.2/src/gui/chessbrowser.cpp000644 000765 000024 00000032236 12520371444 017520 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006 by Michal Rudolf mrudolf@kdewebdev.org * * * * 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. * ***************************************************************************/ #include "chartwidget.h" #include "chessbrowser.h" #include "settings.h" #include "game.h" #include "GameMimeData.h" #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ChessBrowser::ChessBrowser(QWidget *p) : QTextBrowser(p), toolBar(0), m_gameMenu(NULL), m_currentMove(CURRENT_MOVE) { setObjectName("ChessBrowser"); setContextMenuPolicy(Qt::CustomContextMenu); setupMenu(); configureFont(); setAcceptDrops(true); } void ChessBrowser::setSource(const QUrl&) { } void ChessBrowser::showMove(int id) { if(id) { selectAnchor(QString("move:%1").arg(id)); } else // First move { QTextCursor cursor = textCursor(); cursor.movePosition(QTextCursor::Start); setTextCursor(cursor); } } void ChessBrowser::selectAnchor(const QString& href) { for(QTextBlock block = document()->begin(); block != document()->end(); block = block.next()) { QTextBlock::iterator it; for(it = block.begin(); !it.atEnd(); ++it) { QTextFragment fragment = it.fragment(); if(!fragment.isValid()) { continue; } QTextCharFormat format = fragment.charFormat(); if(format.isAnchor() && format.anchorHref() == href) { QTextCursor cursor(document()); cursor.setPosition(fragment.position()); cursor.setPosition(fragment.position() + fragment.length(), QTextCursor::KeepAnchor); setTextCursor(cursor); ensureCursorVisible(); return; } } } } QStringList ChessBrowser::getAnchors(QList list) { QStringList hrefs; foreach (MoveId id, list) { if(id) { hrefs.push_back(QString("move:%1").arg(id)); } } return getAnchors(hrefs); } QStringList ChessBrowser::getAnchors(QStringList hrefs) { QStringList result; if (hrefs.isEmpty()) return result; for(QTextBlock block = document()->begin(); block != document()->end(); block = block.next()) { QTextBlock::iterator it; for(it = block.begin(); !it.atEnd(); ++it) { QTextFragment fragment = it.fragment(); if(!fragment.isValid()) { continue; } QTextCharFormat format = fragment.charFormat(); if(format.isAnchor() && hrefs.contains(format.anchorHref())) { result.push_back(fragment.text()); if (result.size() == hrefs.size()) { break; } } } } return result; } void ChessBrowser::saveConfig() { AppSettings->setLayout(this); } void ChessBrowser::slotReconfigure() { AppSettings->layout(this); configureFont(); } void ChessBrowser::setupMenu() { m_gameMenu = new QMenu("Notation",this); m_browserMenu = new QMenu("Notation Area",this); connect(m_gameMenu, SIGNAL(triggered(QAction*)), SLOT(slotAction(QAction*))); connect(m_browserMenu, SIGNAL(triggered(QAction*)), SLOT(slotAction(QAction*))); m_gameMenu->addAction((m_startComment = createAction(tr("Add start comment..."), EditAction::EditPrecomment))); m_gameMenu->addAction((m_gameComment = createAction(tr("Add game comment..."), EditAction::EditGameComment))); m_gameMenu->addAction((m_addComment = createAction(tr("Comment..."), EditAction::EditComment))); // Nag menus QMenu* nagMoveMenu = m_gameMenu->addMenu(tr("Add move symbol")); for(int n = MoveNagStart; n <= MoveNagEnd; ++n) { if(n != SingularMove) { nagMoveMenu->addAction(createNagAction(Nag(n))); } } QMenu* nagPositionMenu = m_gameMenu->addMenu(tr("Add evaluation symbol")); nagPositionMenu->addAction(createNagAction(DrawishPosition)); for(int n = UnclearPosition; n <= BlackHasADecisiveAdvantage; ++n) { nagPositionMenu->addAction(createNagAction(Nag(n))); } nagPositionMenu->addAction(createNagAction(Nag(WhiteHasSufficientCompensationForMaterialDeficit))); nagPositionMenu->addAction(createNagAction(WhiteHasTheInitiative)); nagPositionMenu->addAction(createNagAction(WhiteHasTheAttack)); nagPositionMenu->addAction(createNagAction(WhiteHasModerateCounterplay)); QMenu* nagSpecialMenu = m_gameMenu->addMenu(tr("Add other symbol")); QMenu* subMenu; nagSpecialMenu->addAction(createNagAction(NagDiagram)); nagSpecialMenu->addAction(createNagAction(WithTheIdea)); nagSpecialMenu->addAction(createNagAction(BetterMove)); nagSpecialMenu->addAction(createNagAction(Novelty)); nagSpecialMenu->addAction(createNagAction(WhiteIsInZugzwang)); nagSpecialMenu->addAction(createNagAction(WeakPoint)); nagSpecialMenu->addAction(createNagAction(EndGame)); nagSpecialMenu->addAction(createNagAction(WhiteHasSevereTimeControlPressure)); subMenu = nagSpecialMenu->addMenu(tr("Bishops")); subMenu->addAction(createNagAction(WhiteHasAPairOfBishops)); subMenu->addAction(createNagAction(BishopsOfOppositeColor)); subMenu->addAction(createNagAction(BishopsOfSameColor)); m_gameMenu->addAction(m_removeNags = createAction(tr("Remove symbols"), EditAction::ClearNags)); m_gameMenu->addSeparator(); m_gameMenu->addAction((m_enumerateVariations1 = createAction(tr("Enumerate Variations A) B) C)"), EditAction::EnumerateVariations1))); m_gameMenu->addAction((m_enumerateVariations2 = createAction(tr("Enumerate Variations a) b) c)"), EditAction::EnumerateVariations2))); m_gameMenu->addSeparator(); m_gameMenu->addAction((m_promoteVariation = createAction(tr("Promote to main line"), EditAction::PromoteVariation))); m_gameMenu->addAction((m_VariationUp = createAction(tr("Move variation up"), EditAction::VariationUp))); m_gameMenu->addAction((m_VariationDown = createAction(tr("Move variation down"), EditAction::VariationDown))); m_gameMenu->addSeparator(); m_gameMenu->addAction((m_removeVariation = createAction(tr("Remove variation"), EditAction::RemoveVariation))); m_gameMenu->addAction((m_removePrevious = createAction(tr("Remove previous moves"), EditAction::RemovePreviousMoves))); m_gameMenu->addAction((m_removeNext = createAction(tr("Remove next moves"), EditAction::RemoveNextMoves))); m_gameMenu->addSeparator(); m_gameMenu->addAction((m_addNullMove = createAction(tr("Insert threat"), EditAction::AddNullMove))); // Non-move oriented actions m_browserMenu->addAction((m_gameComment2 = createAction(tr("Add game comment..."), EditAction::EditGameComment))); m_browserMenu->addAction((m_addNullMove2 = createAction(tr("Insert threat"), EditAction::AddNullMove))); m_browserMenu->addAction((m_copyHtml = createAction(tr("Copy Html"), EditAction::CopyHtml))); m_browserMenu->addAction((m_copyText = createAction(tr("Copy Text"), EditAction::CopyText))); m_browserMenu->addSeparator(); QMenu* refactorMenu = m_browserMenu->addMenu(tr("Refactor")); refactorMenu->addAction((m_uncomment = createAction(tr("Uncomment"), EditAction::Uncomment))); refactorMenu->addAction((m_remove = createAction(tr("Remove Variations"), EditAction::RemoveVariations))); connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), SLOT(slotContextMenu(const QPoint&))); } void ChessBrowser::slotContextMenu(const QPoint& pos) { const Game* game = 0; emit queryActiveGame(&game); // Handle non-game browser if(!m_gameMenu) { m_mainMenu->exec(mapToGlobal(pos)); return; } // Handle game browser if(!game) { return; } bool gameIsEmpty = game->isEmpty(); QString link = anchorAt(pos); if(!link.isEmpty()) { m_currentMove = link.section(':', 1).toInt(); bool isVariation = !game->isMainline(m_currentMove); bool atLineStart = game->atLineStart(m_currentMove); bool atGameStart = m_currentMove == 0 || game->atGameStart(m_currentMove - 1); bool hasComment = !game->annotation(m_currentMove).isEmpty(); bool hasPrecomment = !game->annotation(m_currentMove, Game::BeforeMove).isEmpty(); bool hasNags = !game->nags().isEmpty(); bool atLineEnd = game->atLineEnd(m_currentMove); m_startComment->setVisible(atLineStart && !hasPrecomment && !gameIsEmpty); m_gameComment->setVisible(gameIsEmpty && !hasComment); m_addComment->setVisible(true); m_enumerateVariations1->setVisible(isVariation); m_enumerateVariations2->setVisible(isVariation); m_promoteVariation->setVisible(isVariation); m_removeVariation->setVisible(isVariation); m_VariationUp->setVisible(isVariation && game->canMoveVariationUp(m_currentMove)); m_VariationDown->setVisible(isVariation && game->canMoveVariationDown(m_currentMove)); m_removeNext->setVisible(!atLineEnd); m_removePrevious->setVisible(!atGameStart); m_removeNags->setVisible(hasNags); m_addNullMove->setVisible(true); m_gameMenu->exec(mapToGlobal(pos)); m_currentMove = CURRENT_MOVE; } else { bool hasGameComment = !game->annotation(0).isEmpty(); m_gameComment2->setVisible(gameIsEmpty && !hasGameComment); m_addNullMove2->setVisible(gameIsEmpty); m_copyHtml->setVisible(!gameIsEmpty); m_copyText->setVisible(!gameIsEmpty); m_uncomment->setVisible(!gameIsEmpty); m_remove->setVisible(!gameIsEmpty); m_browserMenu->exec(mapToGlobal(pos)); } } void ChessBrowser::configureFont() { QFont f = qApp->font(); qreal r = AppSettings->getValue("/GameText/FontSize").toInt(); f.setPointSize(r); QString fontFamily = AppSettings->getValue("/GameText/FontBrowserText").toString(); if (!fontFamily.isEmpty()) { f.setFamily(fontFamily); } setFont(f); } void ChessBrowser::slotAction(QAction* action) { if(m_actions.contains(action)) { EditAction editAction = m_actions[action]; editAction.setMove(m_currentMove); emit actionRequested(editAction); } } QAction* ChessBrowser::createAction(const QString& name, EditAction::Type type) { QAction* action = new QAction(name, this); m_actions[action] = EditAction(type); return action; } QAction* ChessBrowser::createNagAction(const Nag& nag) { QAction* action = new QAction(NagSet::nagToMenuString(nag), this); m_actions[action] = EditAction(EditAction::AddNag, (int)nag); return action; } void ChessBrowser::slotDisplayTime(const QString& text, Color color) { if(toolBar) { QString objectName = QString("Clock") + QString::number(color); QLCDNumber* clock = toolBar->findChild(objectName); if(clock) { clock->display(text); } objectName = QString("Clock") + QString::number(1 - (int)color); clock = toolBar->findChild(objectName); if(clock) { clock->display(""); } } } void ChessBrowser::slotDisplayMaterial(const QList& material) { if(toolBar) { QString objectName = QString("ChartWidget"); ChartWidget* chartWidget = toolBar->findChild(objectName); if (chartWidget) { chartWidget->setValues(material); } } } void ChessBrowser::slotDisplayPly(int ply) { if(toolBar) { QString objectName = QString("ChartWidget"); ChartWidget* chartWidget = toolBar->findChild(objectName); if (chartWidget) { chartWidget->setPly(ply); } } } void ChessBrowser::dragEnterEvent(QDragEnterEvent *event) { const QMimeData *mimeData = event->mimeData(); const GameMimeData* gameMimeData = qobject_cast(mimeData); if(gameMimeData) { event->acceptProposedAction(); } } void ChessBrowser::dragMoveEvent(QDragMoveEvent *event) { event->acceptProposedAction(); } void ChessBrowser::dragLeaveEvent(QDragLeaveEvent *event) { event->accept(); } void ChessBrowser::dropEvent(QDropEvent *event) { const QMimeData *mimeData = event->mimeData(); const GameMimeData* gameMimeData = qobject_cast(mimeData); if(gameMimeData) { foreach(int index, gameMimeData->m_indexList) { mergeGame(index); } } event->acceptProposedAction(); } void ChessBrowser::mergeGame(int gameIndex) { emit signalMergeGame(gameIndex); } ./chessx-1.3.2/src/gui/chessbrowser.h000644 000765 000024 00000006637 12520371444 017173 0ustar00nistaff000000 000000 /*************************************************************************** chessbrowser.h - Tweaked QTextBrowser ------------------- begin : Thu 31 Aug 2006 copyright : (C) 2006 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef __CHESSBROWSER_H__ #define __CHESSBROWSER_H__ #include #include #include "editaction.h" class DatabaseInfo; class QToolBar; /** @ingroup GUI The ChessBrowser class is a slightly modified QTextBrowser that handles internal pseudo-links. */ class ChessBrowser : public QTextBrowser { Q_OBJECT public: /** Constructs new instance with parent @p parent. */ ChessBrowser(QWidget* p); QToolBar* toolBar; QMap m_actions; QStringList getAnchors(QList list); public slots: /** Store current configuration. */ void saveConfig(); /** Restore current configuration. */ void slotReconfigure(); /** Scroll to show given mode. */ void showMove(int id); /** Invoke action */ void slotAction(QAction* action); /** Show menu */ void slotContextMenu(const QPoint& pos); /** Show the time in the String for the player with @p color */ void slotDisplayTime(const QString& text, Color color); /** Show the material */ void slotDisplayMaterial(const QList& material); void slotDisplayPly(int ply); signals: void actionRequested(const EditAction& action); void queryActiveGame(const Game** game); void signalMergeGame(int gameIndex); protected: virtual void selectAnchor(const QString& href); virtual void setSource(const QUrl& url); void setupMenu(); QAction* createAction(const QString& name, EditAction::Type type); QAction* createNagAction(const Nag& nag); void configureFont(); protected: // Drag+Drop void dragEnterEvent(QDragEnterEvent *event); void dragMoveEvent(QDragMoveEvent *event); void dragLeaveEvent(QDragLeaveEvent *event); void dropEvent(QDropEvent *event); void mergeGame(int gameIndex); QStringList getAnchors(QStringList hrefs); private: QAction* m_copyHtml; QAction* m_copyText; QAction* m_uncomment; QAction* m_remove; QAction* m_startComment; QAction* m_gameComment; QAction* m_gameComment2; QAction* m_addComment; QAction* m_removeVariation; QAction* m_promoteVariation; QAction* m_VariationUp; QAction* m_VariationDown; QAction* m_removePrevious; QAction* m_removeNext; QAction* m_addNullMove; QAction* m_addNullMove2; QAction* m_removeNags; QAction* m_enumerateVariations1; QAction* m_enumerateVariations2; QMenu* m_gameMenu; QMenu* m_browserMenu; QMenu* m_mainMenu; int m_currentMove; }; #endif ./chessx-1.3.2/src/gui/colorlist.cpp000644 000765 000024 00000006334 12507517064 017026 0ustar00nistaff000000 000000 /*************************************************************************** colorlisti - QListWidget item to edit colors ------------------- copyright : (C) 2007 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #include "colorlist.h" #include #include #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ColorList::ColorList(QWidget* parent) : QListWidget(parent) { } ColorList::~ColorList() {} void ColorList::addItem(const QString& text, const QColor& color) { QListWidgetItem* item = new QListWidgetItem(this); item->setText(text); if(count() == 1) { setIconSize(QSize(100, sizeHintForRow(0) - 4)); } setItemColor(item, color); } void ColorList::editItemColor(QListWidgetItem* item) { if(!item) { return; } QColor col = QColorDialog::getColor(color(item)); if(col.isValid()) { setItemColor(item, col); } } void ColorList::mousePressEvent(QMouseEvent* event) { QListWidgetItem* item = itemAt(event->pos()); if(event->button() != Qt::LeftButton || item == 0) { event->ignore(); } else if(item == currentItem()) { editItemColor(item); } else { setCurrentItem(item); } } void ColorList::keyPressEvent(QKeyEvent* event) { #ifdef Q_WS_MAC if(event->key() == Qt::Key_0 && event->modifiers() == Qt::Key_Control) #else if(event->key() == Qt::Key_Return) #endif editItemColor(currentItem()); else { QListWidget::keyPressEvent(event); } } void ColorList::setItemColor(QListWidgetItem* item, const QColor& color) { QPixmap pix(iconSize()); pix.fill(Qt::transparent); QPainter painter(&pix); painter.setBrush(palette().color(QPalette::Background)); painter.setPen(palette().color(QPalette::Text)); painter.setBrush(color); painter.drawRect(0, 0, 99, iconSize().height() - 1); QIcon icon; icon.addPixmap(pix, QIcon::Normal); icon.addPixmap(pix, QIcon::Selected); icon.addPixmap(pix, QIcon::Active); item->setIcon(icon); item->setData(Qt::UserRole, QVariant::fromValue(color)); } QColor ColorList::color(QListWidgetItem* item) const { return item->data(Qt::UserRole).value(); } QColor ColorList::color(int index) const { return item(index)->data(Qt::UserRole).value(); } ./chessx-1.3.2/src/gui/colorlist.h000644 000765 000024 00000003555 12223260306 016462 0ustar00nistaff000000 000000 /*************************************************************************** colorlist - QListWidget item to edit colors ------------------- copyright : (C) 2007 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef COLORLIST_H #define COLORLIST_H #include /** @ingroup GUI The ColorList class is a list of editable colors. */ class ColorList : public QListWidget { Q_OBJECT public: /** Standard constructor. */ ColorList(QWidget* parent); /** Standard constructor. */ virtual ~ColorList(); /** @return color of given item. */ QColor color(QListWidgetItem*) const; /** @return color of given item. */ QColor color(int index) const; /** Create new item. */ virtual void addItem(const QString& text, const QColor& color); protected: /** Edit color on left click. */ virtual void mousePressEvent(QMouseEvent* event); /** Edit color on Enter. */ virtual void keyPressEvent(QKeyEvent* event); /** Set item color. */ void setItemColor(QListWidgetItem* item, const QColor& color); /** Edit item color. */ void editItemColor(QListWidgetItem*); }; #endif ./chessx-1.3.2/src/gui/databaselist.cpp000644 000765 000024 00000026236 12520653767 017465 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "databaselist.h" #include "databaselistmodel.h" #include "exttool.h" #include "GameMimeData.h" #include "settings.h" #include "shellhelper.h" #include #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER DatabaseList::DatabaseList(QWidget *parent) : TableView(parent) { setObjectName("DatabaseList"); setWindowTitle(tr("Databases")); m_model = new DatabaseListModel(this); m_filterModel = new QSortFilterProxyModel(this); m_filterModel->setFilterCaseSensitivity(Qt::CaseInsensitive); m_filterModel->setSourceModel(m_model); m_filterModel->setDynamicSortFilter(true); m_filterModel->sort(1); m_filterModel->setSortRole(Qt::UserRole); setModel(m_filterModel); connect(this, SIGNAL(clicked(const QModelIndex&)), SLOT(itemSelected(const QModelIndex&))); connect(this, SIGNAL(doubleClicked(const QModelIndex&)), SLOT(slotDoubleClicked(const QModelIndex&))); connect(this, SIGNAL(activated(const QModelIndex&)), SLOT(itemSelected(const QModelIndex&))); connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), SLOT(slotContextMenu(const QPoint&))); connect(m_filterModel, SIGNAL(rowsInserted(const QModelIndex &, int, int)), SLOT(rowsChanged(const QModelIndex &, int, int))); connect(m_model, SIGNAL(OnSelectIndex(const QModelIndex &)), SLOT(slotCurrentIndexChanged(const QModelIndex &))); setAlternatingRowColors(true); setDragEnabled(true); setAcceptDrops(true); setColumnWidth(DBLV_FAVORITE, 50); setColumnWidth(DBLV_NAME, 200); setColumnWidth(DBLV_SIZE, 75); setColumnWidth(DBLV_OPEN, 50); setColumnWidth(DBLV_PATH, 200); setColumnWidth(DBLV_OPEN, 50); setColumnWidth(DBLV_DATE, 75); setColumnWidth(DBLV_DATE_READ, 75); setSortingEnabled(true); Q_ASSERT(horizontalHeader()->isSortIndicatorShown()); } DatabaseList::~DatabaseList() { } void DatabaseList::slotCurrentIndexChanged(const QModelIndex& source) { QModelIndex i = m_filterModel->mapFromSource(source); selectRow(i.row()); showRow(i.row()); } void DatabaseList::slotContextMenu(const QPoint& pos) { m_cell = indexAt(pos); // Make sure the right click occured on a cell! if(m_cell.isValid()) { QMenu menu("Database List",this); bool bIsFavorite = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_FAVORITE), Qt::UserRole).toString() == "Favorite"; bool bIsNotFavorite = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_FAVORITE), Qt::UserRole).toString().isEmpty(); bool bHasPath = !m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_PATH), Qt::UserRole).toString().isEmpty(); bool bIsOpen = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_OPEN), Qt::UserRole).toString() == "Open"; bool bIsBook = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_PATH), Qt::UserRole).toString().endsWith("bin"); menu.addAction(bIsOpen ? tr("Activate") : tr("Open"), this, SLOT(dbOpen())); menu.addAction(tr("Close"), this, SLOT(dbClose()))->setEnabled(bIsOpen && bHasPath); menu.addSeparator(); menu.addAction(tr("Add to favorites"), this, SLOT(dbAddToFavorites()))->setEnabled(bIsNotFavorite); menu.addAction(tr("Remove from Favorites"), this, SLOT(dbRemoveFromFavorites()))->setEnabled(bIsFavorite); #if defined(Q_OS_WIN) || defined(Q_OS_MAC) menu.addSeparator(); menu.addAction(tr("Show in Finder"), this, SLOT(slotShowInFinder()))->setEnabled(bHasPath); #endif bool enablePolyglot = bIsOpen && !bIsBook; menu.addAction(tr("Make a Polyglot book..."), this, SLOT(slotMakeBook()))->setEnabled(enablePolyglot); QFileInfo fi(AppSettings->value("Tools/Path1").toString()); QString extTool1 = fi.baseName(); if (!extTool1.isEmpty()) { menu.addAction(extTool1, this, SLOT(slotExtTool1()))->setEnabled(bHasPath && fi.exists()); } menu.addSeparator(); QAction* action = menu.addAction("UTF8", this, SLOT(dbToggleUTF8())); action->setCheckable(true); QString utf8 = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_UTF8)).toString(); bool bUtf8 = (utf8.compare("UTF8") == 0); action->setChecked(bUtf8); menu.exec(mapToGlobal(pos)); } } void DatabaseList::save() const { AppSettings->beginGroup("Favorites"); QStringList list; m_model->toStringList(list); AppSettings->setValue("Files", list); QStringList attrList; m_model->toAttrStringList(attrList); AppSettings->setValue("Attributes", attrList); AppSettings->endGroup(); QList indexList; m_model->toIndexList(indexList); AppSettings->setValue("Favorites/LastGameIndex", indexList); } void DatabaseList::slotDoubleClicked(const QModelIndex& index) { QString ts = m_filterModel->data(m_filterModel->index(index.row(), DBLV_PATH)).toString(); QString utf8 = m_filterModel->data(m_filterModel->index(index.row(), DBLV_UTF8)).toString(); bool bUtf8 = (utf8.compare("UTF8") == 0); emit requestOpenDatabase(ts, bUtf8); } void DatabaseList::itemSelected(const QModelIndex& index) { if(index.column() == 0 || index.column() == DBLV_OPEN) { slotDoubleClicked(index); } } void DatabaseList::dbOpen() { Q_ASSERT(m_cell.isValid()); QString ts = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_PATH)).toString(); QString utf8 = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_UTF8)).toString(); bool bUtf8 = (utf8.compare("UTF8") == 0); emit requestOpenDatabase(ts, bUtf8); } void DatabaseList::dbToggleUTF8() { QString ts = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_PATH)).toString(); QString utf8 = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_UTF8)).toString(); bool bUtf8 = (utf8.compare("UTF8") == 0); setFileUtf8(ts, !bUtf8); } void DatabaseList::dbClose() { Q_ASSERT(m_cell.isValid()); QString ts = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_PATH)).toString(); emit requestCloseDatabase(ts); } void DatabaseList::dbAddToFavorites() { Q_ASSERT(m_cell.isValid()); QString ts = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_PATH)).toString(); setFileFavorite(ts, true, 0); } void DatabaseList::dbRemoveFromFavorites() { Q_ASSERT(m_cell.isValid()); QString ts = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_PATH)).toString(); setFileFavorite(ts, false, 0); } void DatabaseList::rowsChanged(const QModelIndex &, int start, int end) { for(int i = start; i <= end; ++i) { setRowHeight(i, 24); } } void DatabaseList::slotMakeBook() { Q_ASSERT(m_cell.isValid()); QString pathIn = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_PATH)).toString(); emit requestMakeBook(pathIn); } void DatabaseList::slotExtTool1() { Q_ASSERT(m_cell.isValid()); QString pathIn = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_PATH)).toString(); ExtTool t; t.RunExtTool1(pathIn); } void DatabaseList::slotShowInFinder() { Q_ASSERT(m_cell.isValid()); QString pathIn = m_filterModel->data(m_filterModel->index(m_cell.row(), DBLV_PATH)).toString(); ShellHelper::showInFinder(pathIn); } int DatabaseList::getLastIndex(const QString& s) const { return m_model->getLastIndex(s); } void DatabaseList::addFileOpen(const QString& s, bool utf8) { m_model->addFileOpen(s, utf8); } void DatabaseList::setFileFavorite(const QString& s, bool bFavorite, int index) { m_model->addFavoriteFile(s, bFavorite, index); if (bFavorite) { emit raiseRequest(); } } void DatabaseList::setFileUtf8(const QString& s, bool utf8) { m_model->setFileUtf8(s, utf8); } void DatabaseList::setFileClose(const QString& s, int lastIndex) { m_model->setFileClose(s, lastIndex); } void DatabaseList::setFileCurrent(const QString& s) { m_model->setFileCurrent(s); } void DatabaseList::update(const QString& s) { m_model->update(s); } void DatabaseList::dragEnterEvent(QDragEnterEvent *event) { m_lastModifier = event->keyboardModifiers(); const QMimeData *mimeData = event->mimeData(); const GameMimeData* gameMimeData = qobject_cast(mimeData); const DbMimeData* dbMimeData = qobject_cast(mimeData); if(gameMimeData || dbMimeData || event->mimeData()->hasUrls()) { event->acceptProposedAction(); } } void DatabaseList::dragMoveEvent(QDragMoveEvent *event) { m_lastModifier = event->keyboardModifiers(); event->acceptProposedAction(); } void DatabaseList::dragLeaveEvent(QDragLeaveEvent *event) { event->accept(); } void DatabaseList::dropEvent(QDropEvent *event) { const QMimeData *mimeData = event->mimeData(); const GameMimeData* gameMimeData = qobject_cast(mimeData); const DbMimeData* dbMimeData = qobject_cast(mimeData); if(gameMimeData) { QModelIndex index = indexAt(event->pos()); appendGameToDataBase(index, gameMimeData->m_indexList); } else if(dbMimeData) { appendDataBaseToDataBase(event->pos(), dbMimeData->m_path); } else if(mimeData->hasUrls()) { QList urlList = mimeData->urls(); foreach(QUrl url, urlList) { QString ts = url.toString(); if(m_lastModifier & Qt::MetaModifier) { emit requestLinkDatabase(ts); } else { emit requestOpenDatabase(ts, false); } } } event->acceptProposedAction(); } void DatabaseList::appendGameToDataBase(QModelIndex index, QList gameIndexList) { // Make sure the drop occured on a cell! if(index.isValid()) { QString path = m_filterModel->data(m_filterModel->index(index.row(), DBLV_PATH)).toString(); emit requestAppendGames(path, gameIndexList); } } void DatabaseList::appendDataBaseToDataBase(QPoint pos, QString src) { QModelIndex index = indexAt(pos); // Make sure the drop occured on a cell! if(index.isValid()) { QString path = m_filterModel->data(m_filterModel->index(index.row(), DBLV_PATH)).toString(); emit requestAppendDatabase(path, src); } } void DatabaseList::startToDrag(const QModelIndex& index) { DbMimeData *mimeData = new DbMimeData; mimeData->m_path = m_filterModel->data(m_filterModel->index(index.row(), DBLV_PATH)).toString(); QPixmap pixmap = style()->standardPixmap(QStyle::SP_FileIcon); QDrag* pDrag = new QDrag(this); pDrag->setMimeData(mimeData); pDrag->setPixmap(pixmap); pDrag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction); } void DatabaseList::startDrag(Qt::DropActions /*supportedActions*/) { startToDrag(currentIndex()); } ./chessx-1.3.2/src/gui/databaselist.h000644 000765 000024 00000004460 12520653767 017125 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef DATABASELIST_H #define DATABASELIST_H #include "tableview.h" class QSortFilterProxyModel; class DatabaseListModel; class DatabaseList : public TableView { Q_OBJECT public: explicit DatabaseList(QWidget *parent = 0); ~DatabaseList(); void save() const; int getLastIndex(const QString& s) const; public slots: void addFileOpen(const QString& s, bool utf8); void setFileFavorite(const QString& s, bool bFavorite, int index); void setFileUtf8(const QString&, bool); void setFileClose(const QString& s, int lastIndex); void setFileCurrent(const QString& s); void update(const QString& s); void slotCurrentIndexChanged(const QModelIndex&); void slotDoubleClicked(const QModelIndex&); signals: void selected(int); void raiseRequest(); void requestOpenDatabase(QString s, bool utf8); void requestCloseDatabase(QString s); void requestLinkDatabase(QString s); void requestAppendGames(QString path, QList indexes); void requestAppendDatabase(QString dest, QString src); void requestMakeBook(QString s); protected: //Drag'n'Drop Support void startToDrag(const QModelIndex&); protected: void startDrag(Qt::DropActions supportedActions); void dragEnterEvent(QDragEnterEvent *event); void dragMoveEvent(QDragMoveEvent *event); void dragLeaveEvent(QDragLeaveEvent *event); void dropEvent(QDropEvent *event); void appendGameToDataBase(QModelIndex index, QList gameIndexList); void appendDataBaseToDataBase(QPoint pos, QString src); private slots: void itemSelected(const QModelIndex& index); void slotContextMenu(const QPoint& pos); void dbAddToFavorites(); void dbRemoveFromFavorites(); void slotShowInFinder(); void slotMakeBook(); void slotExtTool1(); void dbOpen(); void dbToggleUTF8(); void dbClose(); void rowsChanged(const QModelIndex &, int start, int end); private: DatabaseListModel* m_model; QSortFilterProxyModel* m_filterModel; QModelIndex m_cell; Qt::KeyboardModifiers m_lastModifier; }; #endif // DATABASELIST_H ./chessx-1.3.2/src/gui/databaselistmodel.cpp000644 000765 000024 00000033312 12517423217 020466 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "databaselistmodel.h" #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER DatabaseListModel::DatabaseListModel(QObject *parent) : QAbstractItemModel(parent) { m_columnNames << tr("Favorite") << tr("Name") << tr("Size") << tr("Open") << tr("Path") << tr("Format") << tr("Date") << tr("Read"); } QModelIndex DatabaseListModel::index(int row, int column, const QModelIndex &parent) const { if(parent.isValid()) { return QModelIndex(); } return createIndex(row, column, (void*)0); } QModelIndex DatabaseListModel::parent(const QModelIndex &) const { return QModelIndex(); } int DatabaseListModel::rowCount(const QModelIndex &parent) const { if(parent.isValid()) { return 0; } return m_databases.count(); } int DatabaseListModel::columnCount(const QModelIndex &) const { return m_columnNames.count(); } bool DatabaseListModel::hasChildren(const QModelIndex &parent) const { return !parent.isValid(); } QVariant DatabaseListModel::data(const QModelIndex &index, int role) const { if(index.isValid()) { if(role == Qt::DecorationRole) { switch(index.column()) { case DBLV_FAVORITE: { bool bIsFavorite = m_databases.at(index.row()).m_isFavorite; return QPixmap(bIsFavorite ? ":/images/folder_favorite.png" : ":/images/folder_grey.png"); } case DBLV_OPEN: { bool bIsOpen = m_databases.at(index.row()).m_state == EDBL_OPEN; bool bIsCurrent = m_databases.at(index.row()).m_isCurrent; if(bIsOpen) { return QPixmap(bIsCurrent ? ":/images/folder_new.png" : ":/images/fileopen.png"); } else { return QPixmap(":/images/folder_closed.png"); } } default: return QVariant(); } } else if(role == Qt::DisplayRole) { switch(index.column()) { case DBLV_FAVORITE: return QVariant(); case DBLV_NAME: { QString s = m_databases.at(index.row()).m_name; if (s.endsWith(".pgn")) s.remove(".pgn"); return s; } case DBLV_SIZE: { QStringList sizes; sizes << "" << "k" << "M" << "G" << "T" << "P"; QFileInfo f(m_databases.at(index.row()).m_path); int i = 0; qint64 size = f.size(); while((size >= 1024) && (i < sizes.count())) { size /= 1024; i++; } return QString("%1%2").arg(size).arg(sizes[i]); } case DBLV_DATE: { QFileInfo f(m_databases.at(index.row()).m_path); return f.lastModified().date(); } case DBLV_DATE_READ: { QFileInfo f(m_databases.at(index.row()).m_path); return f.lastRead().date(); } case DBLV_OPEN: return QVariant(); case DBLV_PATH: return m_databases.at(index.row()).m_path; case DBLV_UTF8: if (m_databases.at(index.row()).m_name.endsWith("bin")) { return "Polyglot"; } return m_databases.at(index.row()).m_utf8 ? "UTF8" : "ANSI"; default: break; } } else if(role == Qt::FontRole) { if(m_databases.at(index.row()).m_isCurrent) { if((index.column() == DBLV_NAME) || (index.column() == DBLV_PATH)) { QFont boldFont; boldFont.setBold(true); return boldFont; } } } else if(role == Qt::ToolTipRole) { switch(index.column()) { case DBLV_FAVORITE: { bool bIsFavorite = m_databases.at(index.row()).m_isFavorite; return QString(bIsFavorite ? tr("Favorite") : ""); } case DBLV_PATH: { QString s = m_databases.at(index.row()).m_name; return s; } case DBLV_OPEN: { bool bIsOpen = m_databases.at(index.row()).m_state == EDBL_OPEN; return QString(bIsOpen ? tr("Open") : tr("Closed")); } case DBLV_UTF8: { if (m_databases.at(index.row()).m_name.endsWith("bin")) { return "Polyglot"; } return m_databases.at(index.row()).m_utf8 ? "UTF8" : "ANSI"; } case DBLV_NAME: { QString s = m_databases.at(index.row()).m_name; s[0] = s[0].toUpper(); return s; } case DBLV_DATE: { QFileInfo f(m_databases.at(index.row()).m_path); return f.lastModified(); } case DBLV_DATE_READ: { QFileInfo f(m_databases.at(index.row()).m_path); return f.lastRead(); } case DBLV_SIZE: { QStringList sizes; sizes << "" << "k" << "M" << "G" << "T" << "P"; QFileInfo f(m_databases.at(index.row()).m_path); int i = 0; qint64 size = f.size(); while((size >= 1024) && (i < sizes.count())) { size /= 1024; i++; } return QString("%1%2").arg(size).arg(sizes[i]); } default: break; } } else if(role == Qt::UserRole) { switch(index.column()) { case DBLV_FAVORITE: { bool bIsFavorite = m_databases.at(index.row()).m_isFavorite; return QString(bIsFavorite ? "Favorite" : ""); } case DBLV_PATH: { QString s = m_databases.at(index.row()).m_name; return s; } case DBLV_OPEN: { bool bIsOpen = m_databases.at(index.row()).m_state == EDBL_OPEN; return QString(bIsOpen ? "Open" : "Closed"); } case DBLV_UTF8: { if (m_databases.at(index.row()).m_name.endsWith("bin")) { return "Polyglot"; } return m_databases.at(index.row()).m_utf8 ? "UTF8" : "ANSI"; } case DBLV_NAME: { QString s = m_databases.at(index.row()).m_name; s[0] = s[0].toUpper(); return s; } case DBLV_DATE: { QFileInfo f(m_databases.at(index.row()).m_path); return f.lastModified(); } case DBLV_DATE_READ: { QFileInfo f(m_databases.at(index.row()).m_path); return f.lastRead(); } case DBLV_SIZE: { QFileInfo f(m_databases.at(index.row()).m_path); qint64 size = f.size(); return size; } default: break; } } } return QVariant(); } QVariant DatabaseListModel::headerData(int section, Qt::Orientation orientation, int role) const { if(role != Qt::DisplayRole) { return QVariant(); } if(orientation == Qt::Horizontal) { return QString("%1").arg(m_columnNames.at(section)); } else { return QString("%1").arg(section); } } Qt::ItemFlags DatabaseListModel::flags(const QModelIndex &index) const { Qt::ItemFlags defaultFlags = QAbstractItemModel::flags(index); if(index.isValid()) { return Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled | defaultFlags | Qt::ItemIsSelectable; } else { return Qt::ItemIsDropEnabled | defaultFlags | Qt::ItemIsSelectable; } } DatabaseListEntry* DatabaseListModel::FindEntry(QString s) { QMutableListIterator i(m_databases); DatabaseListEntry d; d.m_path = s; if(i.findNext(d)) { return &(i.previous()); } return 0; } void DatabaseListModel::addEntry(DatabaseListEntry& d, const QString& s) { beginInsertRows(QModelIndex(), m_databases.count(), m_databases.count()); d.m_name = QFileInfo(s).fileName(); m_databases.push_back(d); endInsertRows(); } int DatabaseListModel::getLastIndex(const QString& s) const { QListIterator i(m_databases); DatabaseListEntry d; d.m_path = s; if(i.findNext(d)) { const DatabaseListEntry& e = i.previous(); return e.m_lastGameIndex; } return 0; } void DatabaseListModel::addFileOpen(const QString& s, bool utf8) { QMutableListIterator i(m_databases); DatabaseListEntry d; d.m_path = s; if(i.findNext(d)) { DatabaseListEntry& e = i.previous(); e.m_utf8 = utf8; if(e.m_state != EDBL_OPEN) { e.m_state = EDBL_OPEN; QModelIndex m = createIndex(m_databases.indexOf(e), DBLV_OPEN, (void*) 0); emit QAbstractItemModel::dataChanged(m, m); m = createIndex(m_databases.indexOf(e), DBLV_UTF8, (void*) 0); emit QAbstractItemModel::dataChanged(m, m); } return; } d.m_utf8 = utf8; d.m_state = EDBL_OPEN; addEntry(d, s); } void DatabaseListModel::addFavoriteFile(const QString& s, bool bFavorite, int index) { QMutableListIterator i(m_databases); DatabaseListEntry d; d.m_path = s; if(i.findNext(d)) { DatabaseListEntry& e = i.previous(); if(e.m_isFavorite != bFavorite) { e.m_isFavorite = bFavorite; e.m_lastGameIndex = index; QModelIndex m = createIndex(m_databases.indexOf(e), DBLV_FAVORITE, (void*) 0); emit QAbstractItemModel::dataChanged(m, m); emit OnSelectIndex(m); } return; } d.m_isFavorite = bFavorite; d.m_lastGameIndex = index; addEntry(d, s); QModelIndex m = createIndex(rowCount()-1, DBLV_FAVORITE, (void*) 0); emit OnSelectIndex(m); } void DatabaseListModel::setFileClose(const QString& s, int lastIndex) { if(DatabaseListEntry* e = FindEntry(s)) { if(e->m_state == EDBL_OPEN) { e->m_state = EDBL_CLOSE; e->m_lastGameIndex = lastIndex; QModelIndex m = createIndex(m_databases.indexOf(*e), DBLV_OPEN, (void*) 0); emit QAbstractItemModel::dataChanged(m, m); } } } void DatabaseListModel::setFileUtf8(const QString& s, bool utf8) { if(DatabaseListEntry* e = FindEntry(s)) { if(e->m_utf8 != utf8) { e->m_utf8 = utf8; QModelIndex m = createIndex(m_databases.indexOf(*e), DBLV_UTF8, (void*) 0); emit QAbstractItemModel::dataChanged(m, m); } } } void DatabaseListModel::setFileCurrent(const QString& s) { for(int i = 0; i < m_databases.count(); ++i) { if(m_databases[i].m_isCurrent) { m_databases[i].m_isCurrent = false; QModelIndex m = createIndex(i, DBLV_NAME, (void*) 0); QModelIndex n = createIndex(i, DBLV_UTF8, (void*) 0); emit QAbstractItemModel::dataChanged(m, n); } } if(DatabaseListEntry* e = FindEntry(s)) { e->m_isCurrent = true; int index = m_databases.indexOf(*e); QModelIndex m = createIndex(index, DBLV_NAME, (void*) 0); QModelIndex n = createIndex(index, DBLV_UTF8, (void*) 0); emit QAbstractItemModel::dataChanged(m, n); emit OnSelectIndex(createIndex(index, DBLV_FAVORITE, (void*) 0)); } } void DatabaseListModel::update(const QString& s) { if(DatabaseListEntry* e = FindEntry(s)) { QModelIndex m = createIndex(m_databases.indexOf(*e), DBLV_NAME, (void*) 0); QModelIndex n = createIndex(m_databases.indexOf(*e), DBLV_UTF8, (void*) 0); emit QAbstractItemModel::dataChanged(m, n); } } void DatabaseListModel::toStringList(QStringList& list) { for(int i = 1; i < m_databases.count(); ++i) { if(m_databases[i].m_isFavorite) { list.append(m_databases[i].m_path); } } } void DatabaseListModel::toAttrStringList(QStringList& list) const { for(int i = 1; i < m_databases.count(); ++i) { if(m_databases[i].m_isFavorite) { if(m_databases[i].m_utf8) { list.append("utf8"); } else { list.append("ansi"); } } } } void DatabaseListModel::toIndexList(QList& list) const { for(int i = 1; i < m_databases.count(); ++i) { if(m_databases[i].m_isFavorite) { list.append(QVariant(m_databases[i].m_lastGameIndex)); } } } ./chessx-1.3.2/src/gui/databaselistmodel.h000644 000765 000024 00000005624 12516657651 020152 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef DATABASELISTMODEL_H #define DATABASELISTMODEL_H #include #include #include enum DatabaseListEntryState { EDBL_OPEN, ///< Database is open EDBL_CLOSE ///< Database is closed }; class DatabaseListEntry { public: DatabaseListEntry() { m_isFavorite = false; m_isCurrent = false; m_utf8 = false; m_state = EDBL_CLOSE; m_lastGameIndex = 0; } QString m_name; QString m_path; bool m_isFavorite; bool m_isCurrent; bool m_utf8; int m_lastGameIndex; DatabaseListEntryState m_state; }; inline bool operator==(DatabaseListEntry const& lhs, DatabaseListEntry const& rhs) { return (lhs.m_path == rhs.m_path); } inline bool operator != (DatabaseListEntry const& lhs, DatabaseListEntry const& rhs) { return !(lhs == rhs); } enum DblvColumns { DBLV_FAVORITE, DBLV_NAME, DBLV_SIZE, DBLV_OPEN, DBLV_PATH, DBLV_UTF8, DBLV_DATE, DBLV_DATE_READ }; class DatabaseListModel : public QAbstractItemModel { Q_OBJECT public: explicit DatabaseListModel(QObject *parent = 0); int getLastIndex(const QString& s) const; signals: void OnSelectIndex(const QModelIndex&); void NoFileFavorite(); public slots: void addFileOpen(const QString& s, bool utf8); void addFavoriteFile(const QString& s, bool bFavorite, int index); void setFileUtf8(const QString&, bool); void setFileClose(const QString& s, int lastIndex); void setFileCurrent(const QString& s); void update(const QString& s); public: void toStringList(QStringList&); void toAttrStringList(QStringList&) const; void toIndexList(QList& list) const; virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; virtual QModelIndex parent(const QModelIndex &child) const; virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const; virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; Qt::ItemFlags flags(const QModelIndex &index) const; public: virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; protected: void checkFileFavorite(); DatabaseListEntry* FindEntry(QString s); QStringList m_columnNames; QList m_databases; protected: void addEntry(DatabaseListEntry& d, const QString& s); }; #endif // DATABASELISTMODEL_H ./chessx-1.3.2/src/gui/dockwidgetex.cpp000644 000765 000024 00000001332 12507517064 017466 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "dockwidgetex.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER DockWidgetEx::DockWidgetEx(const QString &title, QWidget *parent, Qt::WindowFlags flags) : QDockWidget(title, parent, flags) { } void DockWidgetEx::showEvent(QShowEvent * event) { QDockWidget::showEvent(event); if(isVisible() && qobject_cast(sender())) { raise(); } } ./chessx-1.3.2/src/gui/dockwidgetex.h000644 000765 000024 00000001074 12236402514 017126 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef DOCKWIDGETEX_H #define DOCKWIDGETEX_H #include class DockWidgetEx : public QDockWidget { Q_OBJECT public: explicit DockWidgetEx(const QString &title, QWidget *parent = 0, Qt::WindowFlags flags = 0); signals: public slots: protected: void showEvent(QShowEvent * event); }; #endif // DOCKWIDGETEX_H ./chessx-1.3.2/src/gui/ecolistwidget.cpp000644 000765 000024 00000012715 12522144662 017657 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "ecolistwidget.h" #include "ecopositions.h" #include "ui_tagdetailwidget.h" #include "database.h" #include "databaseinfo.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ECOListWidget::ECOListWidget(QWidget *parent) : QWidget(parent), ui(new Ui::TagDetailWidget) { setObjectName("ECOListWidget"); ui->setupUi(this); m_filterModel = new QStringListModel(ui->tagList); ui->tagList->setModel(m_filterModel); ui->renameItem->setVisible(false); setObjectName("ECOListWidget"); connect(ui->filterEdit, SIGNAL(textChanged(const QString&)), SLOT(findECO(const QString&))); connect(ui->filterDatabase, SIGNAL(clicked()), SLOT(filterSelectedECO())); connect(ui->tagList, SIGNAL(doubleClicked(const QModelIndex&)), SLOT(filterSelectedECO())); selectECO(QString()); QItemSelectionModel* selectionModel = ui->tagList->selectionModel(); connect(selectionModel, SIGNAL(selectionChanged(QItemSelection, QItemSelection)), this, SLOT(selectionChangedSlot())); ui->detailText->setOpenLinks(true); ui->detailText->setOpenExternalLinks(false); connect(ui->detailText, SIGNAL(anchorClicked(QUrl)), SLOT(slotLinkClicked(QUrl))); slotReconfigure(); } ECOListWidget::~ECOListWidget() { delete ui; } void ECOListWidget::slotReconfigure() { } void ECOListWidget::selectionChangedSlot() { const QModelIndexList& selection = ui->tagList->selectionModel()->selectedIndexes(); if(selection.count()) { QString ts = selection[0].data().toString().section(" ",0,0); ecoSelected(ts); } else { ecoSelected(QString()); } } void ECOListWidget::findECO(const QString& s) { if(s.isEmpty()) { m_filterModel->setStringList(m_list); } else { QStringList newList = m_list.filter(QRegExp(s, Qt::CaseInsensitive)); m_filterModel->setStringList(newList); } } void ECOListWidget::slotSelectECO(const QString& eco) { m_filterModel->setStringList(m_list); ui->filterEdit->clear(); selectECO(eco); } void ECOListWidget::ecoSelected(const QString& eco) { if(!eco.isEmpty()) { m_eco.setCode(eco); ui->filterDatabase->setEnabled(true); ui->renameItem->setEnabled(true); QString opName = EcoPositions::findEcoNameDetailed(eco); QString head = QString("%1").arg(eco); QString text = QString("%1

%3

%4

%5

%6%7

%8") .arg(head) .arg(m_eco.name()) .arg(m_eco.name()) .arg(opName) .arg(m_eco.formattedGameCount()) .arg(m_eco.formattedRating()) .arg(m_eco.formattedScore()) .arg(m_eco.listOfPlayers()); ui->detailText->setHtml(text); } else { ui->filterDatabase->setEnabled(false); ui->renameItem->setEnabled(false); ui->detailText->setText(tr("No ECO code chosen.")); } } void ECOListWidget::selectECO(const QString& eco) { ecoSelected(eco); if(!eco.isEmpty()) { const QStringList& list = m_filterModel->stringList(); int row = list.indexOf(eco); if(row >= 0) { QModelIndex index = m_filterModel->index(row, 0); if(index.isValid()) { ui->tagList->selectionModel()->select(index, QItemSelectionModel::ClearAndSelect); ui->tagList->scrollTo(index); } } } } void ECOListWidget::filterSelectedECO() { const QModelIndexList& selection = ui->tagList->selectionModel()->selectedIndexes(); if(selection.count()) { QString ts = selection[0].data().toString().section(" ",0,0); emit filterRequest(ts); } } void ECOListWidget::setDatabase(DatabaseInfo* dbInfo) { Database* db = dbInfo->database(); ui->detailText->setText(tr("No ECO code chosen.")); m_eco.setDatabase(db); m_list.clear(); if(db && db->index()) { m_list = db->index()->tagValues(TagNameECO); } m_list.sort(); QStringList::Iterator iter = m_list.begin(); while (iter != m_list.end()) { QString eco = *iter; *iter = eco + " " + EcoPositions::findEcoNameDetailed(eco); ++iter; } m_filterModel->setStringList(m_list); m_filterModel->sort(0); } void ECOListWidget::slotLinkClicked(const QUrl& url) { if(url.scheme().startsWith("player")) { QString tag = (url.scheme().contains("white")) ? TagNameWhite : TagNameBlack; emit filterEcoPlayerRequest(tag, ui->detailText->documentTitle(), url.path()); emit filterEcoPlayerRequest(url.path(), ui->detailText->documentTitle()); } else if(url.scheme().startsWith("eco")) { emit filterRequest(url.path()); } } ./chessx-1.3.2/src/gui/ecolistwidget.h000644 000765 000024 00000002372 12337711076 017325 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef ECOLISTWIDGET_H #define ECOLISTWIDGET_H #include #include #include "ecoinfo.h" namespace Ui { class TagDetailWidget; } class DatabaseInfo; class ECOListWidget : public QWidget { Q_OBJECT public: explicit ECOListWidget(QWidget *parent = 0); ~ECOListWidget(); signals: void filterRequest(QString ts); void filterEcoPlayerRequest(QString tag, QString eco); void filterEcoPlayerRequest(QString tag, QString eco, QString player); void raiseRequest(); public slots: void slotSelectECO(const QString& eco); void selectECO(const QString& eco); protected slots: void findECO(const QString& s); void setDatabase(DatabaseInfo* dbInfo); void filterSelectedECO(); void slotReconfigure(); void selectionChangedSlot(); void slotLinkClicked(const QUrl& url); void ecoSelected(const QString& eco); private: EcoInfo m_eco; QStringList m_list; Ui::TagDetailWidget *ui; QStringListModel* m_filterModel; }; #endif // ECOLISTWIDGET_H ./chessx-1.3.2/src/gui/ecothread.h000644 000765 000024 00000001415 12522144662 016407 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef __ECOTHREAD_H__ #define __ECOTHREAD_H__ #include #include "ecopositions.h" #include "game.h" /** @ingroup GUI A small little class to handle loading of the ECO file for the mainwindow */ class EcoThread : public QThread { Q_OBJECT public: EcoThread() {}; void run() { bool ok = true; ok |= EcoPositions::loadEcoFile(":chessx.eco"); ok |= Board::loadEcoFile(":chessx.gtm"); emit loaded(this, ok); }; signals: void loaded(QObject*, bool); }; #endif // __ECOTHREAD_H__ ./chessx-1.3.2/src/gui/engineoptiondialog.cpp000644 000765 000024 00000005447 12507517064 020676 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "engineoptiondialog.h" #include "ui_engineoptiondialog.h" #include "engine.h" #include "settings.h" #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER EngineOptionDialog::EngineOptionDialog(QWidget *parent, EngineList& engineList, int index) : QDialog(parent), ui(new Ui::EngineOptionDialog) { ui->setupUi(this); connect(ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), SLOT(buttonClicked(QAbstractButton*))); QString t = windowTitle(); QString t1 = QString("%1 %2 (%3)"). arg(t). arg(engineList[index].name). arg(QString(engineList[index].protocol == EngineData::UCI ? "UCI" : "WinBoard")); setWindowTitle(t1); restoreLayout(); if(engineList[index].protocol == EngineData::UCI) { ui->tableView->setEditTriggers(QAbstractItemView::AllEditTriggers); } else { ui->buttonBox->button(QDialogButtonBox::Reset)->setEnabled(false); } m_index = index; m_engine = Engine::newEngine(engineList, index, true); m_engine->activate(); connect(m_engine, SIGNAL(activated()), SLOT(engineActivated())); } void EngineOptionDialog::restoreLayout() { AppSettings->layout(this); } EngineOptionDialog::~EngineOptionDialog() { m_engine->deactivate(); disconnect(); delete m_engine; delete ui; } void EngineOptionDialog::accept() { ui->tableView->saveConfig(); AppSettings->setLayout(this); QDialog::accept(); } void EngineOptionDialog::reject() { ui->tableView->saveConfig(); AppSettings->setLayout(this); QDialog::reject(); } void EngineOptionDialog::engineActivated() { ui->tableView->setDB(m_engine->m_options, m_engine->m_mapOptionValues); } OptionValueList EngineOptionDialog::GetResults() const { return (m_engine ? m_engine->m_mapOptionValues : QMap()); } void EngineOptionDialog::optionReset() { m_engine->m_mapOptionValues.clear(); ui->tableView->resetModel(); } void EngineOptionDialog::buttonClicked(QAbstractButton* button) { QDialogButtonBox::StandardButton sb = ui->buttonBox->standardButton(button); switch(sb) { case QDialogButtonBox::Ok: accept(); break; case QDialogButtonBox::Cancel: reject(); break; case QDialogButtonBox::Reset: optionReset(); break; default: break; } } ./chessx-1.3.2/src/gui/engineoptiondialog.h000644 000765 000024 00000001730 12414505244 020324 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef ENGINEOPTIONDIALOG_H #define ENGINEOPTIONDIALOG_H #include #include "engineoptiondata.h" #include "enginelist.h" class Engine; class QAbstractButton; namespace Ui { class EngineOptionDialog; } class EngineOptionDialog : public QDialog { Q_OBJECT public: explicit EngineOptionDialog(QWidget *parent, EngineList& engineList, int index); ~EngineOptionDialog(); OptionValueList GetResults() const; public slots: void accept(); void reject(); protected slots: void engineActivated(); void optionReset(); void restoreLayout(); void buttonClicked(QAbstractButton *button); private: Ui::EngineOptionDialog *ui; Engine* m_engine; int m_index; }; #endif // ENGINEOPTIONDIALOG_H ./chessx-1.3.2/src/gui/engineoptiondialog.ui000644 000765 000024 00000002055 12414505244 020513 0ustar00nistaff000000 000000 EngineOptionDialog 0 0 598 349 Engine Options QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::Reset EngineOptionList QTableView
engineoptionlist.h
./chessx-1.3.2/src/gui/engineoptionlist.cpp000644 000765 000024 00000007321 12507517064 020403 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "engineoptionlist.h" #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ////////////////////////////////////////////////////////////////////////////////////// // List Delegate ////////////////////////////////////////////////////////////////////////////////////// QWidget *EngineOptionListDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const { if(index.column() == 4) { QStringList varList = m_model->getSelections(index); if(!varList.size()) { return QStyledItemDelegate::createEditor(parent, option, index); } else { QComboBox *comboBox = new QComboBox(parent); comboBox->setEditable(false); comboBox->setInsertPolicy(QComboBox::NoInsert); comboBox->addItems(varList); return comboBox; } } return 0; } void EngineOptionListDelegate::commitAndCloseEditor() { emit commitData((QWidget*)sender()); emit closeEditor((QWidget*)sender()); } void EngineOptionListDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const { QComboBox *comboBox = qobject_cast(editor); if(comboBox && m_model->getSelections(index).size()) { int selectedItem = comboBox->findText(comboBox->currentText()); model->setData(index, comboBox->itemText(selectedItem), Qt::EditRole); } else { QStyledItemDelegate::setModelData(editor, model, index); } } void EngineOptionListDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const { QComboBox *comboBox = qobject_cast(editor); if(comboBox && m_model->getSelections(index).size()) { comboBox->clear(); QStringList varList = m_model->getSelections(index); comboBox->addItems(varList); QString currentText = index.model()->data(index, Qt::DisplayRole).toString(); int selectedItem = comboBox->findText(currentText); if(selectedItem == -1) { comboBox->setEditText(index.model()->data(index, Qt::DisplayRole).toString()); } else { comboBox->setCurrentIndex(selectedItem); } } else { QStyledItemDelegate::setEditorData(editor, index); } } ////////////////////////////////////////////////////////////////////////////////////// // List Widget ////////////////////////////////////////////////////////////////////////////////////// EngineOptionList::EngineOptionList(QWidget *parent) : TableView(parent), m_model(0) { setObjectName("EngineOptionList"); setWindowTitle(tr("Engine Options")); setSelectionBehavior(QAbstractItemView::SelectItems); setEditTriggers(QAbstractItemView::NoEditTriggers); setSortingEnabled(false); } void EngineOptionList::setDB(const QList& options, OptionValueList& mapOptionValues) { m_model = new EngineOptionModel(this); m_model->m_pOptionDataList = &options; m_model->m_pValueMap = &mapOptionValues; setModel(m_model); EngineOptionListDelegate* delegate = new EngineOptionListDelegate(); delegate->setModel(m_model); setItemDelegate(delegate); slotReconfigure(); } void EngineOptionList::resetModel() { m_model->resetModel(); } ./chessx-1.3.2/src/gui/engineoptionlist.h000644 000765 000024 00000002635 12347271765 020062 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef ENGINEOPTIONLIST_H #define ENGINEOPTIONLIST_H #include "engineoptionmodel.h" #include "engineoptiondata.h" #include "tableview.h" #include #include class EngineOptionListDelegate : public QStyledItemDelegate { Q_OBJECT public: EngineOptionListDelegate(QWidget *parent = 0) : QStyledItemDelegate(parent), m_model(0) {} QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; void setEditorData(QWidget *editor, const QModelIndex &index) const; void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; void setModel(EngineOptionModel* model) { m_model = model; } private slots: void commitAndCloseEditor(); protected: EngineOptionModel* m_model; }; class EngineOptionList : public TableView { Q_OBJECT public: explicit EngineOptionList(QWidget *parent = 0); void setDB(const QList& options, OptionValueList& mapOptionValues); void resetModel(); protected: EngineOptionModel* m_model; }; #endif // ENGINEOPTIONLIST_H ./chessx-1.3.2/src/gui/engineoptionmodel.cpp000644 000765 000024 00000012227 12507517064 020531 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "engineoptionmodel.h" #include "engineoptiondata.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER EngineOptionModel::EngineOptionModel(QObject *parent) : QStandardItemModel(parent) { m_columnNames << tr("Name") << tr("Default") << tr("Min") << tr("Max") << tr("Value"); } QModelIndex EngineOptionModel::index(int row, int column, const QModelIndex &parent) const { if(parent.isValid()) { return QModelIndex(); } return createIndex(row, column, (void*) 0); } QModelIndex EngineOptionModel::parent(const QModelIndex &) const { return QModelIndex(); } int EngineOptionModel::rowCount(const QModelIndex &parent) const { if(parent.isValid()) { return 0; } return m_pOptionDataList ? m_pOptionDataList->size() : 0; } int EngineOptionModel::columnCount(const QModelIndex &) const { return m_columnNames.count(); } bool EngineOptionModel::hasChildren(const QModelIndex &parent) const { return !parent.isValid(); } QVariant EngineOptionModel::data(const QModelIndex &index, int role) const { if(!m_pOptionDataList || !m_pValueMap) { return QVariant(); } if(index.isValid()) { const EngineOptionData* pOptionData = &m_pOptionDataList->at(index.row()); Q_ASSERT(pOptionData); if((role == Qt::DisplayRole) || (role == Qt::EditRole)) { switch(index.column()) { case 0: return pOptionData->m_name; case 1: return pOptionData->m_defVal; case 2: return pOptionData->m_minVal; case 3: return pOptionData->m_maxVal; case 4: switch(pOptionData->m_type) { case OPT_TYPE_BUTTON: if(m_pValueMap->contains(pOptionData->m_name)) { return (*m_pValueMap)[pOptionData->m_name].toBool(); } return false; break; case OPT_TYPE_CHECK: if(m_pValueMap->contains(pOptionData->m_name)) { return (*m_pValueMap)[pOptionData->m_name].toBool(); } return QVariant(pOptionData->m_defVal).toBool(); break; case OPT_TYPE_SPIN: if(m_pValueMap->contains(pOptionData->m_name)) { return (*m_pValueMap)[pOptionData->m_name].toInt(); } return pOptionData->m_defVal.toInt(); break; case OPT_TYPE_STRING: case OPT_TYPE_COMBO: if(m_pValueMap->contains(pOptionData->m_name)) { return (*m_pValueMap)[pOptionData->m_name]; } return pOptionData->m_defVal; break; } break; } } else if(role == Qt::BackgroundRole) { if(index.column() != 4) { return QColor(Qt::lightGray); } else { return QColor(Qt::white); } } else if(role == Qt::ForegroundRole) { if(index.column() == 4) { if((!m_pValueMap->contains(pOptionData->m_name) || (*m_pValueMap)[pOptionData->m_name] == pOptionData->m_defVal)) { return QColor(Qt::darkGray); } else { return QColor(Qt::black); } } } } return QVariant(); } bool EngineOptionModel::setData(const QModelIndex & index, const QVariant & value, int role) { if(m_pOptionDataList && m_pValueMap && (role == Qt::EditRole) && index.isValid() && (index.column() == 4)) { const EngineOptionData* pOptionData = &m_pOptionDataList->at(index.row()); (*m_pValueMap)[pOptionData->m_name] = value; return true; } return false; } QVariant EngineOptionModel::headerData(int section, Qt::Orientation orientation, int role) const { if(role != Qt::DisplayRole) { return QVariant(); } if(orientation == Qt::Horizontal) { return QString("%1").arg(m_columnNames.at(section)); } else { return QString("%1").arg(section); } } void EngineOptionModel::resetModel() { beginResetModel(); endResetModel(); } QStringList EngineOptionModel::getSelections(const QModelIndex& index) { QStringList list; if(index.isValid()) { const EngineOptionData* pOptionData = &m_pOptionDataList->at(index.row()); return pOptionData->m_varVals; } return list; } ./chessx-1.3.2/src/gui/engineoptionmodel.h000644 000765 000024 00000002727 12223260306 020167 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef ENGINEOPTIONMODEL_H #define ENGINEOPTIONMODEL_H #include #include #include "engineoptiondata.h" class EngineOptionModel : public QStandardItemModel { Q_OBJECT public: explicit EngineOptionModel(QObject *parent = 0); public: virtual QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; virtual QModelIndex parent(const QModelIndex &child) const; virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; virtual int columnCount(const QModelIndex &parent = QModelIndex()) const; virtual bool hasChildren(const QModelIndex &parent = QModelIndex()) const; virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; virtual bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole); public: virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; OptionValueList* m_pValueMap; const QList* m_pOptionDataList; void resetModel(); QStringList getSelections(const QModelIndex& index); protected: QStringList m_columnNames; }; #endif // ENGINEOPTIONMODEL_H ./chessx-1.3.2/src/gui/eventlistwidget.cpp000644 000765 000024 00000012510 12510715746 020227 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "eventlistwidget.h" #include "ui_tagdetailwidget.h" #include "database.h" #include "databaseinfo.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER EventListWidget::EventListWidget(QWidget *parent) : QWidget(parent), ui(new Ui::TagDetailWidget) { setObjectName("EventListWidget"); ui->setupUi(this); m_filterModel = new QStringListModel(ui->tagList); ui->tagList->setModel(m_filterModel); setObjectName("EventListWidget"); connect(ui->filterEdit, SIGNAL(textChanged(const QString&)), SLOT(findEvent(const QString&))); connect(ui->filterDatabase, SIGNAL(clicked()), SLOT(filterSelectedEvent())); connect(ui->renameItem, SIGNAL(clicked()), SLOT(renameSelectedEvent())); connect(ui->tagList, SIGNAL(doubleClicked(const QModelIndex&)), SLOT(filterSelectedEvent())); selectEvent(QString()); QItemSelectionModel* selectionModel = ui->tagList->selectionModel(); connect(selectionModel, SIGNAL(selectionChanged(QItemSelection, QItemSelection)), this, SLOT(selectionChangedSlot())); ui->detailText->setOpenLinks(false); connect(ui->detailText, SIGNAL(anchorClicked(QUrl)), SLOT(slotLinkClicked(QUrl))); slotReconfigure(); } EventListWidget::~EventListWidget() { delete ui; } void EventListWidget::slotReconfigure() { } void EventListWidget::selectionChangedSlot() { const QModelIndexList& selection = ui->tagList->selectionModel()->selectedIndexes(); if(selection.count()) { QString ts = selection[0].data().toString(); eventSelected(ts); } else { eventSelected(QString()); } } void EventListWidget::findEvent(const QString& s) { if(s.isEmpty()) { m_filterModel->setStringList(m_list); } else { QStringList newList = m_list.filter(s, Qt::CaseInsensitive); m_filterModel->setStringList(newList); } } void EventListWidget::eventSelected(const QString& event) { if(!event.isEmpty()) { m_event.setName(event); ui->filterDatabase->setEnabled(true); ui->renameItem->setEnabled(true); QString head = QString("%1").arg(event); QString text = QString("%1

%3

%4%5%6%7%8") .arg(head) .arg(m_event.name()) .arg(m_event.name()) .arg(m_event.formattedGameCount()) .arg(m_event.formattedRange()) .arg(m_event.formattedRating()) .arg(m_event.formattedScore()) .arg(m_event.listOfPlayers()); ui->detailText->setHtml(text); } else { ui->filterDatabase->setEnabled(false); ui->renameItem->setEnabled(false); ui->detailText->setText(tr("No event chosen.")); } } void EventListWidget::slotSelectEvent(const QString& event) { m_filterModel->setStringList(m_list); ui->filterEdit->clear(); selectEvent(event); } void EventListWidget::selectEvent(const QString& event) { eventSelected(event); if(!event.isEmpty()) { const QStringList& list = m_filterModel->stringList(); int row = list.indexOf(event); if(row >= 0) { QModelIndex index = m_filterModel->index(row, 0); if(index.isValid()) { ui->tagList->selectionModel()->select(index, QItemSelectionModel::ClearAndSelect); ui->tagList->scrollTo(index); } } } } void EventListWidget::filterSelectedEvent() { const QModelIndexList& selection = ui->tagList->selectionModel()->selectedIndexes(); if(selection.count()) { QString ts = selection[0].data().toString(); emit filterRequest(ts); } } void EventListWidget::renameSelectedEvent() { const QModelIndexList& selection = ui->tagList->selectionModel()->selectedIndexes(); if(selection.count()) { QString ts = selection[0].data().toString(); emit renameRequest(ts); } } void EventListWidget::setDatabase(DatabaseInfo* dbInfo) { Database* db = dbInfo->database(); ui->detailText->setText(tr("No event chosen.")); m_event.setDatabase(db); m_list.clear(); if(db && db->index()) { m_list = db->index()->tagValues(TagNameEvent); } m_list.sort(); m_filterModel->setStringList(m_list); m_filterModel->sort(0); } void EventListWidget::slotLinkClicked(const QUrl& url) { if(url.scheme() == "player") { emit filterEventPlayerRequest(url.path(), ui->detailText->documentTitle()); } else if (url.scheme() == "event") { QString event = ui->tagList->currentIndex().data().toString(); emit filterRequest(url.path()); } } ./chessx-1.3.2/src/gui/eventlistwidget.h000644 000765 000024 00000002440 12337711076 017674 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef EVENTLISTWIDGET_H #define EVENTLISTWIDGET_H #include #include #include "eventinfo.h" class DatabaseInfo; namespace Ui { class TagDetailWidget; } class EventListWidget : public QWidget { Q_OBJECT public: explicit EventListWidget(QWidget *parent = 0); ~EventListWidget(); signals: void filterRequest(QString ts); void renameRequest(QString ts); void filterEventPlayerRequest(QString player, QString event); void raiseRequest(); public slots: void selectEvent(const QString& player); void setDatabase(DatabaseInfo* dbInfo); void slotSelectEvent(const QString &event); protected slots: void findEvent(const QString& s); void filterSelectedEvent(); void renameSelectedEvent(); void slotReconfigure(); void selectionChangedSlot(); void slotLinkClicked(const QUrl& url); void eventSelected(const QString& player); private: EventInfo m_event; QStringList m_list; Ui::TagDetailWidget *ui; QStringListModel* m_filterModel; }; #endif // EVENTLISTWIDGET_H ./chessx-1.3.2/src/gui/exclusiveactiongroup.cpp000644 000765 000024 00000002413 12507517064 021270 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2013 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "exclusiveactiongroup.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ExclusiveActionGroup::ExclusiveActionGroup(QObject *parent) : QObject(parent) { } QAction * ExclusiveActionGroup::addAction ( QAction * action ) { actions.push_back(action); connect(action, SIGNAL(toggled(bool)), this, SLOT(slotActionToggled(bool))); return action; } void ExclusiveActionGroup::slotActionToggled ( bool checked ) { QAction* action = qobject_cast(sender()); if (action && checked) { foreach(QAction* uncheck, actions) { if (uncheck != action) { uncheck->setChecked(false); // triggers recursion, doesnt matter though } } } } const QAction* ExclusiveActionGroup::checkedAction() const { foreach(const QAction* a, actions) { if (a->isChecked()) { return a; } } return 0; } ./chessx-1.3.2/src/gui/exclusiveactiongroup.h000644 000765 000024 00000001277 12506212132 020727 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2013 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef EXCLUSIVEACTIONGROUP_H #define EXCLUSIVEACTIONGROUP_H class QAction; #include #include class ExclusiveActionGroup : public QObject { Q_OBJECT public: explicit ExclusiveActionGroup(QObject *parent = 0); QAction * addAction ( QAction * action ); const QAction * checkedAction() const; signals: protected slots: void slotActionToggled(bool); private: QList actions; }; #endif // EXCLUSIVEACTIONGROUP_H ./chessx-1.3.2/src/gui/exttool.cpp000644 000765 000024 00000004613 12507517064 016510 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "exttool.h" #include "messagedialog.h" #include "settings.h" #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ExtTool::ExtTool(QObject *parent) : QObject(parent) { } ExtTool::~ExtTool() { } void ExtTool::extToolReadOutput() { while(m_extToolProcess && m_extToolProcess->canReadLine()) { QString message = m_extToolProcess->readLine().simplified(); errText.append(message); errText.append("\n"); } } void ExtTool::RunExtTool1(QString pathIn) { errText.clear(); QString extTool1 = AppSettings->value("Tools/Path1").toString(); QFileInfo fiExtTool(extTool1); QFileInfo fiPathIn(pathIn); m_extToolProcess = new QProcess(this); if(fiExtTool.exists() && fiPathIn.exists() && m_extToolProcess) { m_extToolProcess->setReadChannel(QProcess::StandardError); m_extToolProcess->setWorkingDirectory(fiPathIn.absolutePath()); connect(m_extToolProcess, SIGNAL(readyReadStandardOutput()), SLOT(extToolReadOutput())); QStringList options; options << fiExtTool.absoluteFilePath(); QString parameter = AppSettings->value("Tools/CommandLine1").toString(); parameter.replace("$(InputPath)",fiPathIn.absoluteFilePath()); parameter.replace("$(InputFile)",fiPathIn.fileName()); parameter.replace("$(InputDir)",fiPathIn.absolutePath()); parameter.replace("$(InputName)",fiPathIn.baseName()); options << parameter; QString command = options.join(" "); m_extToolProcess->start(command); if (!m_extToolProcess->waitForFinished()) { MessageDialog::warning(fiExtTool.baseName() + ": " + m_extToolProcess->errorString()); } else { extToolReadOutput(); if (!errText.isEmpty()) { MessageDialog::warning(fiExtTool.baseName() + ": " +errText); } } } else { MessageDialog::warning(fiExtTool.baseName() + tr(": File not found")); } } ./chessx-1.3.2/src/gui/exttool.h000644 000765 000024 00000001175 12452032046 016144 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef EXTTOOL_H #define EXTTOOL_H #include #include class QProcess; class ExtTool : public QObject { Q_OBJECT public: explicit ExtTool(QObject *parent = 0); ~ExtTool(); signals: public slots: void RunExtTool1(QString pathIn); private slots: void extToolReadOutput(); private: QString errText; QProcess* m_extToolProcess; }; #endif // EXTTOOL_H ./chessx-1.3.2/src/gui/ficsconsole.cpp000644 000765 000024 00000073615 12517417672 017336 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "board.h" #include "ficsconsole.h" #include "ficsclient.h" #include "settings.h" #include "tags.h" #include "ui_ficsconsole.h" #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER FicsConsole::FicsConsole(QWidget *parent, FicsClient* ficsClient) : QWidget(parent), ui(new Ui::FicsConsole), m_ficsClient(ficsClient), gameMode(false), puzzleMode(false), m_bWhiteToMove(true), m_prevTab(TabMessage) { setObjectName("FicsConsole"); ui->setupUi(this); ui->tabWidget->setCurrentIndex(TabMessage); m_countDownTimer = new QTimer(this); m_countDownTimer->setInterval(1000); m_countDownTimer->setSingleShot(true); connect(m_countDownTimer, SIGNAL(timeout()), SLOT(SlotCountDownGameTime())); ui->tabWidget->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->tabWidget, SIGNAL(customContextMenuRequested(const QPoint&)), SLOT(SlotContextMenu(const QPoint&))); connect(ui->tabWidget, SIGNAL(tabBarClicked(int)), SLOT(SlotTabClicked(int))); connect(ui->tabWidget, SIGNAL(currentChanged(int)), SLOT(SlotTabChanged(int))); btgSeek = new QButtonGroup(this); btgSeek->addButton(ui->btLightning); btgSeek->addButton(ui->btBlitz); btgSeek->addButton(ui->btStandard); connect(btgSeek, SIGNAL(buttonClicked(int)), SLOT(SlotSeekTimeChanged(int))); connect(ui->textOut, SIGNAL(editingFinished()), SLOT(SendCommand())); connect(m_ficsClient, SIGNAL(receivedMessage(int,QString)), SLOT(HandleMessage(int,QString)), Qt::QueuedConnection); connect(m_ficsClient, SIGNAL(receivedBoard(int, QString)), SLOT(HandleBoard(int, QString)), Qt::QueuedConnection); connect(m_ficsClient, SIGNAL(commandStarted(int)), SLOT(CommandStarted(int)), Qt::QueuedConnection); connect(m_ficsClient, SIGNAL(disconnected()), SLOT(Disconnected()), Qt::QueuedConnection); connect(ui->listGames, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(HandleObserveRequest(QListWidgetItem*))); connect(ui->listHistory, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(HandleExamineRequest(QListWidgetItem*))); connect(ui->listRelay, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(HandleRelayRequest(QListWidgetItem*))); connect(ui->listPuzzle, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(HandleTacticsRequest(QListWidgetItem*))); connect(ui->listPlayers, SIGNAL(itemDoubleClicked(QTableWidgetItem*)), this, SLOT(HandleHistoryRequest(QTableWidgetItem*))); connect(ui->listSeeks, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(HandleSeekRequest(QListWidgetItem*))); connect(ui->listGames, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(CMHandleObserveRequest(const QPoint&))); connect(ui->listHistory, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(CMHandleExamineRequest(const QPoint&))); connect(ui->listRelay, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(CMHandleRelayRequest(const QPoint&))); connect(ui->listPuzzle, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(CMHandleTacticsRequest(const QPoint&))); connect(ui->listPlayers, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(CMHandleHistoryRequest(const QPoint&))); connect(ui->listSeeks, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(CMHandleSeekRequest(const QPoint&))); QListWidgetItem* item = new QListWidgetItem(tr("Get Mate")); item->setData(Qt::UserRole, "gm"); ui->listPuzzle->addItem(item); item = new QListWidgetItem(tr("Get Study")); item->setData(Qt::UserRole, "gs"); ui->listPuzzle->addItem(item); item = new QListWidgetItem(tr("Get Tactics")); item->setData(Qt::UserRole, "gt"); ui->listPuzzle->addItem(item); QToolButton* button = new QToolButton(this); button->setText(tr("Accept")); button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); ui->btBoxMessage->addButton(button, QDialogButtonBox::ActionRole); connect(button, SIGNAL(clicked()), SLOT(SlotSendAccept())); button = new QToolButton(this); button->setText(tr("Draw")); button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); ui->btBoxMessage->addButton(button, QDialogButtonBox::ActionRole); connect(button, SIGNAL(clicked()), this, SLOT(SlotSendDraw())); button = new QToolButton(this); button->setText(tr("Decline")); button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); ui->btBoxMessage->addButton(button, QDialogButtonBox::ActionRole); connect(button, SIGNAL(clicked()), this, SLOT(SlotSendDecline())); button = new QToolButton(this); button->setText(tr("Abort")); button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); ui->btBoxMessage->addButton(button, QDialogButtonBox::ActionRole); connect(button, SIGNAL(clicked()), this, SLOT(SlotSendAbort())); button = new QToolButton(this); button->setText(tr("Resign")); button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); ui->btBoxMessage->addButton(button, QDialogButtonBox::ActionRole); connect(button, SIGNAL(clicked()), this, SLOT(SlotSendResign())); button = new QToolButton(this); button->setText(tr("Hint")); button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); ui->btBoxPuzzle->addButton(button, QDialogButtonBox::ActionRole); connect(button, SIGNAL(clicked()), this, SLOT(SlotSendHint())); button = new QToolButton(this); button->setText(tr("Cancel")); button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); ui->btBoxPuzzle->addButton(button, QDialogButtonBox::ActionRole); connect(button, SIGNAL(clicked()), SLOT(SlotSendUnexamine())); connect(ui->btSeek, SIGNAL(clicked()), SLOT(SlotSendSeek())); connect(ui->sayMessage, SIGNAL(returnPressed()), SLOT(SlotSayMessage())); connect(ui->btSay, SIGNAL(clicked()), SLOT(SlotSayMessage())); connect(ui->btAddNoPlay, SIGNAL(clicked()), SLOT(SlotAddNoPlay())); connect(ui->editNoPlay, SIGNAL(returnPressed()), SLOT(SlotAddNoPlay())); #ifndef FICS_DEBUG ui->line->setVisible(false); ui->textOut->setEnabled(false); ui->textOut->setVisible(false); #endif } FicsConsole::~FicsConsole() { delete ui; } void FicsConsole::Terminate() { if (m_ficsClient) { disconnect(m_ficsClient, SIGNAL(receivedMessage(int,QString))); disconnect(m_ficsClient, SIGNAL(receivedBoard(int, QString))); disconnect(m_ficsClient, SIGNAL(commandStarted(int))); disconnect(m_ficsClient, SIGNAL(disconnected())); m_ficsClient->exitSession(); } } void FicsConsole::SendCommand() { if (!m_ficsClient) return; QString line = ui->textOut->text(); if (m_ficsClient && !line.isEmpty()) { m_ficsClient->sendCommand(line); ui->textOut->clear(); } } void FicsConsole::HandleBoard(int cmd, QString s) { QStringList l = s.split(' '); m_bWhiteToMove = (l[C64_COLOR_TO_MOVE]=="W"); bool handleBoard = true; if (gameMode) { Char64Relation relation = (Char64Relation) l[C64_GAME_RELATION].toInt(); if (m_lastRelation == relation) { handleBoard = false; } else { m_lastRelation = relation; } } if (handleBoard) { emit ReceivedBoard(cmd, s); } if (cmd == FicsClient::BLKCMD_EXAMINE || cmd == FicsClient::BLKCMD_FORWARD) { m_ficsClient->sendCommand("forward"); } if (handleBoard && gameMode && m_from != InvalidSquare && m_to != InvalidSquare) { emit RequestStoredMove(m_from,m_to); m_from = InvalidSquare; m_to = InvalidSquare; } QString timeWhite = l[C64_REMAINDER_TIME_WHITE]; QString timeBlack = l[C64_REMAINDER_TIME_BLACK]; QTime tw(0,0,0,0); tw = tw.addSecs(timeWhite.toInt()); QTime tb(0,0,0,0); tb = tb.addSecs(timeBlack.toInt()); ui->timeWhite->setText(tw.toString("h:mm:ss")); ui->timeBlack->setText(tb.toString("h:mm:ss")); } void FicsConsole::HandleExamineRequest(QListWidgetItem* item) { if (!m_ficsClient) return; m_ficsClient->sendCommand("unexamine"); m_ficsClient->sendCommand("unobserve"); QString s = item->text(); int n = s.section(':',0,0).toInt(); if (n) { emit RequestNewGame(); if (m_lastHistoryPlayer.isEmpty()) { m_lastHistoryPlayer = AppSettings->getValue("/FICS/userName").toString(); } QString request = "examine " + m_lastHistoryPlayer + " " + QString::number(n); m_ficsClient->sendCommand(request); } } void FicsConsole::HandleRelayRequest(QListWidgetItem* item) { if (!m_ficsClient) return; m_ficsClient->sendCommand("unexamine"); m_ficsClient->sendCommand("unobserve"); QString s = item->text(); int n = s.section(' ',0,0).toInt(); if (n) { emit RequestNewGame(); QString request = "observe " + QString::number(n); m_ficsClient->sendCommand(request); } } void FicsConsole::HandleTacticsRequest(QListWidgetItem* item) { if (!m_ficsClient) return; m_ficsClient->sendCommand("unexamine"); m_ficsClient->sendCommand("unobserve"); QString cmd = item->data(Qt::UserRole).toString(); QString request = "tell puzzlebot " + cmd; ui->listPuzzlebotMessages->clear(); ui->listPuzzlebotMessages->addItem("Requesting puzzle..."); puzzleMode = true; emit RequestNewGame(); m_ficsClient->sendCommand(request); } void FicsConsole::HandleHistoryRequest(QTableWidgetItem* item) { if (!m_ficsClient) return; if (!item->column()) return; QString player = item->text(); player.remove(QRegExp("\\([^\\)]*\\)")); if (!player.isEmpty()) { m_lastHistoryPlayer = player; QString request = "history " + player; m_ficsClient->sendCommand(request); QString request2 = "finger " + player; m_ficsClient->sendCommand(request2); } } void FicsConsole::HandleSeekRequest(QListWidgetItem* item) { if (!m_ficsClient) return; QString s = item->text(); QRegExp play("\\\"(play [^\\\"]*)"); if (play.indexIn(s) >= 0) { QString seek = play.cap(1); m_ficsClient->sendCommand("unexamine"); m_ficsClient->sendCommand("unobserve"); m_ficsClient->sendCommand(seek); } } void FicsConsole::SendMove(QString m) { if (gameMode || puzzleMode) { m_ficsClient->sendCommand(m); } } void FicsConsole::SendStoredMove(Square from, Square to) { m_from = from; m_to = to; } void FicsConsole::SlotSeekTimeChanged(int) { ui->listSeeks->clear(); m_ficsClient->sendCommand("sought"); } QString FicsConsole::FormatTime(QString s) const { QString result; QTime t = QTime::fromString(s,"h:m:ss"); if (t.isValid()) { t = t.addSecs(-1); result = t.toString("h:mm:ss"); } else { t = QTime::fromString(s,"m:ss"); if (t.isValid()) { if (abs(t.secsTo(QTime(0,0,0,0)))>1) { t = t.addSecs(-1); } else { t = QTime(0,0,0,0); } result = t.toString("m:ss"); } } return result; } void FicsConsole::SlotCountDownGameTime() { if (gameMode) { if (m_bWhiteToMove) { QString w = ui->timeWhite->text(); ui->timeWhite->setText(FormatTime(w)); } else { QString b = ui->timeBlack->text(); ui->timeBlack->setText(FormatTime(b)); } m_countDownTimer->start(); } } void FicsConsole::SlotSendAccept() { m_ficsClient->sendCommand("accept"); } void FicsConsole::SlotSendDraw() { m_ficsClient->sendCommand("draw"); } void FicsConsole::SlotSendDecline() { m_ficsClient->sendCommand("decline"); } void FicsConsole::SlotSendAbort() { m_ficsClient->sendCommand("abort"); } void FicsConsole::SlotSendResign() { m_ficsClient->sendCommand("resign"); } void FicsConsole::SlotSendHint() { m_ficsClient->sendCommand("tell puzzlebot hint"); } void FicsConsole::SlotSendUnexamine() { m_ficsClient->sendCommand("unexamine"); } void FicsConsole::SlotSendSeek() { int t = ui->seekTime->value(); int inc = ui->seekIncrement->value(); int from = ui->eloMin->value(); int to = ui->eloMax->value(); if ((t || inc) && (from<=to)) { QString s = QString("seek %1 %2 %3 %4-%5 ") .arg(t) .arg(inc) .arg(ui->cbRated->currentIndex() ? "unrated" : "rated") .arg(from) .arg(to); QListWidgetItem* item = new QListWidgetItem(s); item->setTextColor(Qt::gray); ui->listSeeks->addItem(item); m_ficsClient->sendCommand(s); } } void FicsConsole::SlotSayMessage() { QString msg = ui->sayMessage->text(); m_ficsClient->sendCommand(QString("say %1").arg(msg)); ui->sayMessage->clear(); ui->textIn->appendHtml(QString("%1").arg(msg)); } void FicsConsole::SlotAddNoPlay() { QString msg = ui->editNoPlay->text(); m_ficsClient->sendCommand(QString("+noplay %1").arg(msg)); ui->editNoPlay->clear(); ui->listNoPlay->clear(); m_ficsClient->sendCommand("=noplay"); } void FicsConsole::SlotContextMenu(const QPoint &pos) { QWidget* w = ui->tabWidget->childAt(pos); QListView* v = 0; if (w) { v = qobject_cast(w->parentWidget()); } if (!v) { if (!gameMode) { QMenu headerMenu; QAction* closeFics = headerMenu.addAction(tr("Disconnect")); QAction* selectedItem = headerMenu.exec(mapToGlobal(pos)); if (selectedItem == closeFics) { emit RequestCloseFICS(); } } } } void FicsConsole::SlotGameModeChanged(bool newMode) { gameMode = newMode; } void FicsConsole::HandleObserveRequest(QListWidgetItem* item) { if (!m_ficsClient) return; m_ficsClient->sendCommand("unexamine"); m_ficsClient->sendCommand("unobserve"); QString s = item->text(); int n = s.section(' ',0,0).toInt(); // The observer id is right at the start of the string if (n) { emit RequestNewGame(); QString request = "observe " + QString::number(n); m_ficsClient->sendCommand(request); } } void FicsConsole::CommandStarted(int cmd) { switch (cmd) { case FicsClient::BLKCMD_HISTORY: ui->listHistory->clear(); ui->tabWidget->setCurrentIndex(TabHistory); break; case FicsClient::BLKCMD_FINGER: ui->listFinger->clear(); ui->tabWidget->setCurrentIndex(TabHistory); break; case FicsClient::BLKCMD_GAMES: ui->listGames->clear(); break; case FicsClient::BLKCMD_XTELL: ui->listRelay->clear(); break; case FicsClient::BLKCMD_WHO: break; } } void FicsConsole::SetPlayerListItemsFromLine(QString s) { if (s.contains("players displayed")) return; QRegExp sep("(\\s+|\\^|~|:|&|#|\\.)"); QStringList l = s.split(sep); ui->listPlayers->setSortingEnabled(false); for (int i=0; ilistPlayers->rowCount(); ui->listPlayers->setRowCount(n+1); QTableWidgetItem* item = new QTableWidgetItem(rating); item->setFlags(item->flags() ^ Qt::ItemIsEditable); ui->listPlayers->setItem(n,0,item); item = new QTableWidgetItem(user); item->setFlags(item->flags() ^ Qt::ItemIsEditable); ui->listPlayers->setItem(n,1,item); ui->listPlayers->scrollToBottom(); } ui->listPlayers->setSortingEnabled(true); } void FicsConsole::Disconnected() { ui->textIn->appendPlainText(tr("Disconnected")); ui->tabWidget->setCurrentIndex(TabMessage); m_lastHistoryPlayer.clear(); ui->listNoPlay->clear(); ui->listSeeks->clear(); ui->listGames->clear(); ui->listPlayers->clearContents(); ui->listPuzzlebotMessages->clear(); gameMode = false; puzzleMode = false; } void FicsConsole::SlotTabChanged(int tab) { if (!m_ficsClient) return; switch (m_prevTab) { case TabSeeks: m_ficsClient->sendCommand("set seek 0"); break; default: break; } m_prevTab = tab; } void FicsConsole::SlotTabClicked(int tab) { if (!m_ficsClient) return; switch (tab) { case TabMessage: break; case TabHistory: if (m_lastHistoryPlayer.isEmpty()) { // Query own games unless something else is already displayed m_ficsClient->sendCommand("history"); } break; case TabGames: m_ficsClient->sendCommand("games /blus"); break; case TabRelay: ui->listRelay->clear(); ui->listRelay->addItem(tr("Retrieving relayed games...")); m_ficsClient->sendCommand("xtell relay listgames"); break; case TabPlayers: ui->listPlayers->clearContents(); ui->listPlayers->setRowCount(0); m_ficsClient->sendCommand("who"); break; case TabSeeks: ui->listSeeks->clear(); m_ficsClient->sendCommand("sought"); m_ficsClient->sendCommand("set seek 1"); if (ui->listNoPlay->count()==0) { m_ficsClient->sendCommand("=noplay"); } break; } } void FicsConsole::HandleMessage(int blockCmd,QString s) { if (!s.isEmpty()) { // qDebug() << "Cmd " << blockCmd << ": " << s; switch (blockCmd) { case FicsClient::BLKCMD_TIME: { if (s.startsWith("Game")) { QStringList l = s.split(" ",QString::SkipEmptyParts); if (l.size()>=6) { QString nameWhite = l[2]; QString nameBlack = l[4]; emit RequestAddTag(TagNameWhite, nameWhite); emit RequestAddTag(TagNameBlack, nameBlack); int ratingWhite = l[3].remove("(").remove(")").toInt(); int ratingBlack = l[5].remove("(").remove(")").toInt(); if (ratingWhite) emit RequestAddTag(TagNameWhiteElo, QString::number(ratingWhite)); if (ratingBlack) emit RequestAddTag(TagNameBlackElo, QString::number(ratingBlack)); } } else { m_countDownTimer->stop(); QRegExp wReg("White Clock :([^\\.]*)"); if (wReg.indexIn(s) >= 0) { QString w = wReg.cap(1).trimmed(); ui->timeWhite->setText(w); } QRegExp bReg("Black Clock :([^\\.]*)"); if (bReg.indexIn(s) >= 0) { QString b = bReg.cap(1).trimmed(); ui->timeBlack->setText(b); } m_countDownTimer->start(); } break; } case FicsClient::BLKCMD_HISTORY: { QRegExp typeOfGame("\\[([^\\]]+)\\]"); int pos = typeOfGame.indexIn(s); if(pos >= 0) { QString segt = typeOfGame.cap(1).trimmed(); if (segt.startsWith('b') || segt.startsWith('l') || segt.startsWith('s') || segt.startsWith('u')) { ui->listHistory->addItem(s); ui->listHistory->scrollToBottom(); } } } break; case FicsClient::BLKCMD_FINGER: { ui->listFinger->addItem(s); } break; case FicsClient::BLKCMD_GAMES: ui->listGames->addItem(s); ui->listGames->scrollToBottom(); break; case FicsClient::BLKCMD_XTELL: if (!s.startsWith("(") && s.length() > 1) { QStringList l = s.split(" ", QString::SkipEmptyParts); if (l.length() == 5) { // todo: Convert List to table widget ui->listRelay->addItem(s); ui->listRelay->scrollToBottom(); } else if (s.startsWith("There are")) { ui->listRelay->addItem(s); ui->listRelay->scrollToBottom(); } else if (s.contains("tell relay next")) { m_ficsClient->sendCommand("xtell relay next"); } } break; case FicsClient::BLKCMD_WHO: { SetPlayerListItemsFromLine(s); break; } case FicsClient::BLKCMD_SEEK: { QString seek = btgSeek->checkedButton()->objectName().remove(0,2).toLower(); if (s.contains(seek)) { if (ui->disableComputer->isChecked()) { if (s.contains("(C)")) break; } if (ui->ratedOnly->isChecked()) { if (s.contains("unrated")) break; } ui->listSeeks->addItem(s); ui->listSeeks->scrollToBottom(); } } break; case FicsClient::BLKCMD_SOUGHT: { QStringList l = s.split(" ",QString::SkipEmptyParts); if (l.size() >= 8) { QString sought = btgSeek->checkedButton()->objectName().remove(0,2).toLower(); if (l[6].contains(sought)) { if (ui->disableComputer->isChecked()) { if (l[2].contains("(C)")) break; } if (ui->ratedOnly->isChecked()) { if (l[5].contains("unrated")) break; } QString spec; for (int i=5;ilistSeeks->addItem(seek); ui->listSeeks->scrollToBottom(); } } } break; case FicsClient::BLKCMD_INTERNAL_MATCH_START: { gameMode = true; m_lastRelation = C64_REL_ISOLATED; // Anything invalid in this context ui->timeWhite->setText(QString()); ui->timeBlack->setText(QString()); m_bWhiteToMove = true; m_from = InvalidSquare; m_to = InvalidSquare; emit RequestNewGame(); emit RequestGameMode(gameMode); ui->textIn->appendPlainText(s); ui->tabWidget->setCurrentIndex(TabMessage); QStringList l = s.split(' '); if (l.length() > 2) { QString w = l[2].remove('('); bool bPlayerIsBlack = w != m_ficsClient->getGuestName(); emit SignalPlayerIsBlack(bPlayerIsBlack); } m_ficsClient->sendCommand("time"); } break; case FicsClient::BLKCMD_INTERNAL_MATCH_END: { gameMode = false; m_countDownTimer->stop(); emit RequestGameMode(gameMode); ui->textIn->appendPlainText(s); emit SignalGameResult(s); emit RequestSaveGame(); } break; case FicsClient::BLKCMD_SHOWLIST: if (!s.contains("--")) { QStringList l = s.split(" ", QString::SkipEmptyParts); foreach(QString name, l) { ui->listNoPlay->addItem(name); } } break; case FicsClient::BLKCMD_SAY: s.remove(QRegExp("[^:]*:")); ui->textIn->appendHtml(QString("%1").arg(s)); ui->tabWidget->setCurrentIndex(TabMessage); break; case FicsClient::BLKCMD_INTERNAL_SESSION_STARTED: ui->textIn->appendPlainText(s); if (m_ficsClient->loggedInAsGuest()) { ui->cbRated->setCurrentIndex(1); ui->cbRated->setEnabled(false); } else { ui->cbRated->setEnabled(true); } break; case FicsClient::BLKCMD_NULL: ui->textIn->appendPlainText(s); break; case FicsClient::BLKCMD_INTERNAL_PUZZLEBOT: if (s.contains("kibitzes")) { ui->timeWhite->setText(QString()); ui->timeBlack->setText(QString()); s.remove(QRegExp("puzzlebot[^:]*kibitzes:")); s = s.trimmed(); if (!s.contains("tell puzzlebot")) { ui->listPuzzlebotMessages->addItem(s.trimmed()); ui->listPuzzlebotMessages->scrollToBottom(); ui->tabWidget->setCurrentIndex(TabPuzzle); } if (s.contains("solved")) { emit RequestSaveGame(); puzzleMode = false; SlotSendUnexamine(); } else { if (s.contains("problem number")) { QString event = s; event.remove("This is "); event.remove('['); event.remove(']'); emit RequestAddTag(TagNameEvent, event); } else if (s.startsWith("Black moves")) { emit SignalPlayerIsBlack(true); } else if (s.startsWith("White moves")) { emit SignalPlayerIsBlack(false); } } } else if (s.contains("puzzlebot backs up 1 move")) { emit RequestRemoveLastMove(); } if (!s.contains("tell puzzlebot")) { puzzleMode = true; } break; case FicsClient::BLKCMD_FORWARD: if (!s.contains("goes")) { ui->textIn->appendPlainText(s); ui->tabWidget->setCurrentIndex(TabMessage); } break; case FicsClient::BLKCMD_BACKWARD: case FicsClient::BLKCMD_MEXAMINE: case FicsClient::BLKCMD_GAME_MOVE: case FicsClient::BLKCMD_TELL: case FicsClient::BLKCMD_OBSERVE: case FicsClient::BLKCMD_EXAMINE: case FicsClient::BLKCMD_UNOBSERVE: case FicsClient::BLKCMD_UNEXAMINE: case FicsClient::BLKCMD_SET: break; default: ui->textIn->appendPlainText(s); ui->tabWidget->setCurrentIndex(TabMessage); break; } } } void FicsConsole::CMHandleObserveRequest(const QPoint& pos) { QMenu menu; menu.addAction(tr("Observe")); if (menu.exec(ui->listGames->mapToGlobal(pos))) { QListWidgetItem* item = ui->listGames->itemAt(pos); if (item) { HandleObserveRequest(item); } } } void FicsConsole::CMHandleExamineRequest(const QPoint& pos) { QMenu menu; menu.addAction(tr("Examine")); if (menu.exec(ui->listHistory->mapToGlobal(pos))) { QListWidgetItem* item = ui->listHistory->itemAt(pos); if (item) { HandleExamineRequest(item); } } } void FicsConsole::CMHandleRelayRequest(const QPoint& pos) { QMenu menu; menu.addAction(tr("Relay")); if (menu.exec(ui->listRelay->mapToGlobal(pos))) { QListWidgetItem* item = ui->listRelay->itemAt(pos); if (item) { HandleRelayRequest(item); } } } void FicsConsole::CMHandleTacticsRequest(const QPoint& pos) { QMenu menu; menu.addAction(tr("Puzzle")); if (menu.exec(ui->listPuzzle->mapToGlobal(pos))) { QListWidgetItem* item = ui->listPuzzle->itemAt(pos); if (item) { HandleTacticsRequest(item); } } } void FicsConsole::CMHandleHistoryRequest(const QPoint& pos) { QMenu menu; menu.addAction(tr("History")); if (menu.exec(ui->listPlayers->mapToGlobal(pos))) { QTableWidgetItem* item = ui->listPlayers->itemAt(pos); if (item) { HandleHistoryRequest(item); } } } void FicsConsole::CMHandleSeekRequest(const QPoint& pos) { QMenu menu; menu.addAction(tr("Accept")); if (menu.exec(ui->listSeeks->mapToGlobal(pos))) { QListWidgetItem* item = ui->listSeeks->itemAt(pos); if (item) { HandleSeekRequest(item); } } } ./chessx-1.3.2/src/gui/ficsconsole.h000644 000765 000024 00000005710 12514745232 016763 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef FICSCONSOLE_H #define FICSCONSOLE_H #include "square.h" #include "board.h" #include #include #include namespace Ui { class FicsConsole; } class FicsClient; class QButtonGroup; class QTimer; class QTableWidgetItem; enum { TabMessage, TabHistory, TabGames, TabRelay, TabPuzzle, TabPlayers, TabSeeks }; class FicsConsole : public QWidget { Q_OBJECT public: explicit FicsConsole(QWidget *parent = 0, FicsClient *ficsClient=0); ~FicsConsole(); public slots: void Terminate(); void SendMove(QString m); void SendStoredMove(Square from, Square to); void SlotGameModeChanged(bool); protected slots: void SendCommand(); void HandleMessage(int, QString s); void HandleBoard(int cmd, QString s); void HandleObserveRequest(QListWidgetItem*); void HandleExamineRequest(QListWidgetItem*); void HandleRelayRequest(QListWidgetItem*); void HandleTacticsRequest(QListWidgetItem*); void HandleHistoryRequest(QTableWidgetItem *item); void HandleSeekRequest(QListWidgetItem* item); void CMHandleObserveRequest(const QPoint&); void CMHandleExamineRequest(const QPoint&); void CMHandleRelayRequest(const QPoint&); void CMHandleTacticsRequest(const QPoint&); void CMHandleHistoryRequest(const QPoint&); void CMHandleSeekRequest(const QPoint&); void CommandStarted(int cmd); void Disconnected(); void SlotTabClicked(int tab); void SlotTabChanged(int tab); void SlotSeekTimeChanged(int); void SlotCountDownGameTime(); void SlotSendAccept(); void SlotSendDraw(); void SlotSendDecline(); void SlotSendAbort(); void SlotSendResign(); void SlotSendHint(); void SlotSendUnexamine(); void SlotSendSeek(); void SlotSayMessage(); void SlotAddNoPlay(); void SlotContextMenu(const QPoint&); signals: void ReceivedBoard(int cmd, QString s); void RequestNewGame(); void RequestSaveGame(); void RequestGameMode(bool); void RequestRemoveLastMove(); void RequestAddTag(QString tag, QString value); void SignalGameResult(QString); void SignalPlayerIsBlack(bool); void RequestCloseFICS(); /** User clicked source and destination squares */ void RequestStoredMove(Square from, Square to); protected: QString FormatTime(QString s) const; void SetPlayerListItemsFromLine(QString s); private: Ui::FicsConsole *ui; QPointer m_ficsClient; QString m_lastHistoryPlayer; QButtonGroup* btgSeek; bool gameMode; bool puzzleMode; QTimer* m_countDownTimer; bool m_bWhiteToMove; Char64Relation m_lastRelation; int m_prevTab; Square m_from; Square m_to; }; #endif // FICSCONSOLE_H ./chessx-1.3.2/src/gui/ficsconsole.ui000644 000765 000024 00000052136 12517423217 017154 0ustar00nistaff000000 000000 FicsConsole 0 0 671 402 Form Qt::CustomContextMenu 6 Messages true Say to opponent ... :/images/forward.png:/images/forward.png Qt::Vertical QDialogButtonBox::NoButton Qt::Horizontal White 0 0 QFrame::Panel QFrame::Sunken Black 0 0 QFrame::Panel QFrame::Sunken History History Qt::CustomContextMenu Double click to examine game true Finger QAbstractItemView::NoSelection Games Qt::CustomContextMenu Double click to follow game true Relay Qt::CustomContextMenu Double click to follow game true Puzzle Qt::CustomContextMenu Double click to get a puzzle true 0 0 Qt::Vertical QDialogButtonBox::NoButton 0 0 Messages from Puzzlebot Players Qt::CustomContextMenu true QAbstractItemView::SingleSelection QAbstractItemView::SelectRows false Qt::NoPen true true 24 Rating User Seeks Qt::Horizontal 4 Seeks 6 6 Lightning true 19 0 Blitz false Standard Rated only ... :/images/rating.png:/images/rating.png true Human only ... :/images/computer.png:/images/computer.png true Qt::CustomContextMenu Time Control Minutes 1 Increment Elo 9000 100 0 false 9000 100 9000 Propose a game rated unrated Seek 0 0 No play list ... :/images/plus.png:/images/plus.png Qt::Horizontal Enter command here ./chessx-1.3.2/src/gui/gamelist.cpp000644 000765 000024 00000032627 12517120512 016612 0ustar00nistaff000000 000000 /*************************************************************************** gamelist.cpp - Game List window ------------------- begin : Sun 23 Jul 2006 copyright : (C) 2006 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #include "database.h" #include "filtermodel.h" #include "game.h" #include "gamelist.h" #include "GameMimeData.h" #include "quicksearch.h" #include "search.h" #include "settings.h" #include "tags.h" #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER GameList::GameList(Filter* filter, QWidget* parent) : TableView(parent) { setSelectionMode(QAbstractItemView::ExtendedSelection); setObjectName("GameList"); setWindowTitle(tr("Game list")); m_model = new FilterModel(filter); sortModel = new GameListSortModel(0); sortModel->setSourceModel(m_model); sortModel->setDynamicSortFilter(false); setModel(sortModel); connect(this, SIGNAL(clicked(const QModelIndex&)), SLOT(itemSelected(const QModelIndex&))); connect(this, SIGNAL(activated(const QModelIndex&)), SLOT(itemSelected(const QModelIndex&))); connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), SLOT(slotContextMenu(const QPoint&))); connect(selectionModel(), SIGNAL(currentChanged(QModelIndex, QModelIndex)), this, SLOT(slotItemSelected(QModelIndex))); #if QT_VERSION < 0x050000 horizontalHeader()->setClickable(true); #else horizontalHeader()->setSectionsClickable(true); #endif slotReconfigure(); horizontalHeader()->setSortIndicatorShown(true); setSortingEnabled(true); setDragEnabled(true); } GameList::~GameList() { setModel(0); delete sortModel; delete m_model; } void GameList::ShowContextMenu(const QPoint& pos) { QMenu headerMenu; QAction* filterTag = headerMenu.addAction(tr("Find tag...")); headerMenu.addSeparator(); QAction* hide = headerMenu.addAction(tr("Hide Column")); headerMenu.addSeparator(); QAction* resizeAll = headerMenu.addAction(tr("Resize visible Columns")); QAction* showAll = headerMenu.addAction(tr("Show all Columns")); QAction* selectedItem = headerMenu.exec(mapToGlobal(pos)); int column = columnAt(pos.x()); if (selectedItem == filterTag) { simpleSearch(column); } else if(selectedItem == hide) { if(column > 0) { hideColumn(column); } } else if(selectedItem == showAll) { for(int i = 0; i < model()->columnCount(); ++i) { showColumn(i); } } else if (selectedItem == resizeAll) { resizeColumnsToContents(); } } void GameList::removeSelection() { clearSelection(); emit signalFirstGameLoaded(m_model->filter()->count()>0); emit signalLastGameLoaded(m_model->filter()->count()>0); } void GameList::slotItemSelected(const QModelIndex& index) { scrollTo(index, EnsureVisible); } QModelIndex GameList::NewSortIndex(int row) const { if (sortModel) { QModelIndex m = sortModel->index(row,0); return m; } return m_model->index(row,0); } QModelIndex GameList::GetSourceIndex(const QModelIndex& index) const { if (sortModel) { QModelIndex m = sortModel->mapToSource(index); return m; } return index; } QModelIndex GameList::GetSortModelIndex(const QModelIndex& index) const { if (sortModel) { QModelIndex m = sortModel->mapFromSource(index); return m; } return index; } void GameList::itemSelected(const QModelIndex& index) { if (selectionModel()->selectedRows().size() == 1) { QModelIndex m = GetSourceIndex(index); emit selected(m_model->filter()->indexToGame(m.row())); } } void GameList::selectPreviousGame() { QModelIndex sortIndex = currentIndex(); int row = std::max(0, sortIndex.row()-1); QModelIndex sourceIndex = GetSourceIndex(NewSortIndex(row)); emit selected(m_model->filter()->indexToGame(sourceIndex.row())); } bool GameList::selectNextGame() { QModelIndex sortIndex = currentIndex(); int row = sortIndex.row(); if ((row>=0) && (row + 1 < m_model->filter()->count())) { QModelIndex sourceIndex = GetSourceIndex(NewSortIndex(row+1)); emit selected(m_model->filter()->indexToGame(sourceIndex.row())); return true; } return false; } void GameList::setFilter(Filter* filter) { setSortingEnabled(false); horizontalHeader()->setSortIndicatorShown(false); QByteArray state = horizontalHeader()->saveState(); setModel(0); delete m_model; delete sortModel; sortModel = 0; if (filter) { m_model = new FilterModel(filter); if (filter->count() > 4096) { setModel(m_model); } else { sortModel = new GameListSortModel(0); sortModel->setSourceModel(m_model); sortModel->setDynamicSortFilter(false); setModel(sortModel); } } horizontalHeader()->restoreState(state); if (filter) { horizontalHeader()->setSortIndicatorShown(!!sortModel); setSortingEnabled(!!sortModel); } emit raiseRequest(); } void GameList::slotContextMenu(const QPoint& pos) { QModelIndex cell = indexAt(pos); QModelIndexList selection = selectedIndexes(); // Make sure the right click occured on a cell! if(cell.isValid() && selection.contains(cell)) { QMenu menu(tr("Game list"), this); menu.addAction(tr("Copy games..."), this, SLOT(slotCopyGame())); QMenu* mergeMenu = menu.addMenu(tr("Merge into current game")); mergeMenu->addAction(tr("All Games"), this, SLOT(slotMergeAllGames())); mergeMenu->addAction(tr("Filter"), this, SLOT(slotMergeFilter())); mergeMenu->addAction(tr("Selected games"), this, SLOT(slotMergeGame())); menu.addSeparator(); QAction* deleteAction = menu.addAction(tr("Delete game"), this, SLOT(slotDeleteGame())); deleteAction->setCheckable(true); deleteAction->setEnabled(!m_model->filter()->database()->isReadOnly()); menu.addSeparator(); menu.addAction(tr("Hide game"), this, SLOT(slotHideGame())); QModelIndex index = GetSourceIndex(cell); int n = m_model->filter()->indexToGame(index.row()); deleteAction->setChecked(m_model->filter()->database()->deleted(n)); menu.exec(mapToGlobal(pos)); } } void GameList::simpleSearch(int tagid) { QuickSearchDialog dlg(this); for (int section = 0; section < m_model->columnCount(); ++section) { QString tag = m_model->headerData(section, Qt::Horizontal).toString(); dlg.addTag(tag); } dlg.setTag(tagid); if(m_model->filter()->count() <= 1) { dlg.setMode(1); } if(dlg.exec() != QDialog::Accepted) { return; } QString tag = m_model->GetColumnTags().at(dlg.tag()); QString value = dlg.value(); if(value.isEmpty()) { m_model->filter()->setAll(1); } else if(dlg.tag() == 0) { // filter by number Search* ns = new NumberSearch(m_model->filter()->database(), value); m_model->filter()->executeSearch(ns, Search::Operator(dlg.mode())); } else { QStringList list = value.split("-", QString::SkipEmptyParts); if ((list.size() > 1) && (dlg.tag() != 9)) { // Filter a range Search* ts = (dlg.tag() == 11) ? new TagSearch(m_model->filter()->database(), tag, list.at(0).toInt(), list.at(1).toInt()) : new TagSearch(m_model->filter()->database(), tag, list.at(0), list.at(1)); if(dlg.mode()) { m_model->filter()->executeSearch(ts, Search::Operator(dlg.mode())); } else { m_model->filter()->executeSearch(ts); } } else { // Filter tag using partial values Search* ts = new TagSearch(m_model->filter()->database(), tag, value); m_model->filter()->executeSearch(ts, Search::Operator(dlg.mode())); } } } void GameList::slotFilterListByPlayer(QString s) { QUrl url(s); QString fragment = url.fragment(); m_model->filter()->setAll(1); if (fragment.isEmpty()) { Search* ts = new TagSearch(m_model->filter()->database(), TagNameWhite, url.path()); Search* ts2 = new TagSearch(m_model->filter()->database(), TagNameBlack, url.path()); m_model->filter()->executeSearch(ts); m_model->filter()->executeSearch(ts2, Search::Or); } else { Search* ts = new TagSearch(m_model->filter()->database(), fragment, url.path()); m_model->filter()->executeSearch(ts); } } void GameList::slotFilterListByEcoPlayer(QString tag, QString eco, QString player) { m_model->filter()->setAll(1); Search* ts = new TagSearch(m_model->filter()->database(), tag, player); Search* ts3 = new TagSearch(m_model->filter()->database(), TagNameECO, eco); m_model->filter()->executeSearch(ts); m_model->filter()->executeSearch(ts3, Search::And); } void GameList::slotFilterListByEvent(QString s) { m_model->filter()->setAll(1); Search* ts = new TagSearch(m_model->filter()->database(), TagNameEvent, s); m_model->filter()->executeSearch(ts); } void GameList::slotFilterListByEventPlayer(QString player, QString event) { m_model->filter()->setAll(1); Search* ts = new TagSearch(m_model->filter()->database(), TagNameWhite, player); Search* ts2 = new TagSearch(m_model->filter()->database(), TagNameBlack, player); Search* ts3 = new TagSearch(m_model->filter()->database(), TagNameEvent, event); m_model->filter()->executeSearch(ts); m_model->filter()->executeSearch(ts2, Search::Or); m_model->filter()->executeSearch(ts3, Search::And); } void GameList::slotFilterListByEco(QString s) { m_model->filter()->setAll(1); Search* ts = new TagSearch(m_model->filter()->database(), TagNameECO, s); m_model->filter()->executeSearch(ts); } void GameList::selectGame(int index) { int i = m_model->filter()->gameToIndex(index); if(i != -1) { QModelIndex filterModelIndex = m_model->index(i, 0); QModelIndex sortModelIndex = GetSortModelIndex(filterModelIndex); setCurrentIndex(sortModelIndex); selectRow(sortModelIndex.row()); emit signalFirstGameLoaded(sortModelIndex.row()==0); emit signalLastGameLoaded(sortModelIndex.row()+1 == m_model->filter()->count()); } } void GameList::updateFilter() { if (m_model->filter()->database()) { m_model->setFilter(m_model->filter()); emit raiseRequest(); } } void GameList::slotCopyGame() { QList gameIndexList; foreach(QModelIndex index, selectionModel()->selectedRows()) { QModelIndex m = GetSourceIndex(index); gameIndexList.append(m_model->filter()->indexToGame(m.row())); } emit requestCopyGame(gameIndexList); } void GameList::slotMergeAllGames() { emit requestMergeAllGames(); } void GameList::slotMergeFilter() { emit requestMergeFilter(); } void GameList::slotMergeGame() { QList gameIndexList; foreach(QModelIndex index, selectionModel()->selectedRows()) { QModelIndex m = GetSourceIndex(index); gameIndexList.append(m_model->filter()->indexToGame(m.row())); } emit requestMergeGame(gameIndexList); } void GameList::slotDeleteGame() { QList gameIndexList; foreach(QModelIndex index, selectionModel()->selectedRows()) { QModelIndex m = GetSourceIndex(index); gameIndexList.append(m_model->filter()->indexToGame(m.row())); } emit requestDeleteGame(gameIndexList); } void GameList::slotHideGame() { QList gameIndexList; QList games; foreach(QModelIndex index, selectionModel()->selectedRows()) { QModelIndex m = GetSourceIndex(index); int game = m_model->filter()->indexToGame(m.row()); games.push_front(game); } foreach( int game, games ) { m_model->filter()->set(game, 0); } updateFilter(); } void GameList::startDrag(Qt::DropActions /*supportedActions*/) { GameMimeData *mimeData = new GameMimeData; foreach(QModelIndex index, selectionModel()->selectedRows()) { QModelIndex m = GetSourceIndex(index); mimeData->m_indexList.append(m_model->filter()->indexToGame(m.row())); } QPixmap pixmap = style()->standardPixmap(QStyle::SP_FileIcon); QDrag* pDrag = new QDrag(this); pDrag->setMimeData(mimeData); pDrag->setPixmap(pixmap); pDrag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction); } ./chessx-1.3.2/src/gui/gamelist.h000644 000765 000024 00000010333 12506212132 016243 0ustar00nistaff000000 000000 /*************************************************************************** gamelist.h - Game List window ------------------- begin : Sun 23 Jul 2006 copyright : (C) 2006 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef __GAMELIST_H__ #define __GAMELIST_H__ #include "tableview.h" #include "game.h" #include class Filter; class FilterModel; /** @ingroup GUI The GameList class displays list of the games in current filter. It allows user to click on list header and perform simple tag searches. */ class GameListSortModel : public QSortFilterProxyModel { public: explicit GameListSortModel(QObject *parent = 0) : QSortFilterProxyModel(parent) {} }; class GameList : public TableView { Q_OBJECT public: GameList(Filter* filter, QWidget* parent = 0); ~GameList(); void removeSelection(); /** Set current database */ public slots: /** Change current filter/database */ void setFilter(Filter* filter); /** Update filter (called after changing filter outside) */ void updateFilter(); /** Perform simple search */ void simpleSearch(int tag); /** Select and show current game in the list */ void selectGame(int index); /** Select and show current game in the list */ void slotFilterListByPlayer(QString ns); /** Select and show current event in the list */ void slotFilterListByEvent(QString ns); /** Select and show current ECO in the list */ void slotFilterListByEco(QString ns); /** Select and show current event and player in the list */ void slotFilterListByEventPlayer(QString player, QString event); /** Select and show current player and ECO in the list */ void slotFilterListByEcoPlayer(QString tag, QString eco, QString player); /** Select the next game from the list */ bool selectNextGame(); /** Select the previous game from the list */ void selectPreviousGame(); /** Show the context menu */ virtual void ShowContextMenu(const QPoint& pos); private slots: /** Re-emit the request to the receivers to perform some action */ void itemSelected(const QModelIndex& index); /** Request a context menu for the list members */ void slotContextMenu(const QPoint& pos); /** Request to merge all games from the database into the current game */ void slotMergeAllGames(); /** Request to merge the complete filter into the current game */ void slotMergeFilter(); /** Request to merge a game into the current game */ void slotMergeGame(); /** Request a copy dialog for the game identified by m_cell */ void slotCopyGame(); /** Delete or undelete a game */ void slotDeleteGame(); /** Remove a game from a filter */ void slotHideGame(); /** React to a change in selected item */ void slotItemSelected(const QModelIndex&); signals: void selected(int); void raiseRequest(); void requestMergeGame(QList); void requestMergeAllGames(); void requestMergeFilter(); void requestCopyGame(QList); void requestDeleteGame(QList); void requestGameData(Game&); void signalFirstGameLoaded(bool); void signalLastGameLoaded(bool); protected: //Drag'n'Drop Support void startDrag(Qt::DropActions supportedActions); QModelIndex GetSourceIndex(const QModelIndex& index) const; QModelIndex NewSortIndex(int row) const; QModelIndex GetSortModelIndex(const QModelIndex& index) const; private: FilterModel* m_model; GameListSortModel* sortModel; }; #endif ./chessx-1.3.2/src/gui/GameMimeData.h000644 000765 000024 00000001044 12373723462 016727 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef GAMEMIMEDATA_H #define GAMEMIMEDATA_H #include #include #include "game.h" class GameMimeData : public QMimeData { Q_OBJECT public: QList m_indexList; }; class DbMimeData : public QMimeData { Q_OBJECT public: QString m_path; }; #endif // GAMEMIMEDATA_H ./chessx-1.3.2/src/gui/gamewindow.cpp000644 000765 000024 00000006671 12521122472 017150 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2015 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "gamewindow.h" #include "ui_gamewindow.h" #include "editaction.h" #include "nag.h" #include "settings.h" #include GameWindow::GameWindow(QWidget *parent) : ToolMainWindow(parent), ui(new Ui::GameWindow) { ui->setupUi(this); setObjectName("GameWindow"); setupToolBox(); connect(ui->listVariations, SIGNAL(clicked(QModelIndex)), this, SLOT(variationClicked(QModelIndex))); } GameWindow::~GameWindow() { delete ui; } void GameWindow::saveConfig() { AppSettings->setLayout(this); AppSettings->setLayout(ui->browserSplitter); } void GameWindow::slotReconfigure() { AppSettings->layout(this); AppSettings->layout(ui->browserSplitter); } void GameWindow::variationClicked(QModelIndex index) { emit enterVariation(index.row()); } void GameWindow::setupToolBox() { QMap tbActions; QList items; foreach (QAction* action, ui->chessBrowser->m_actions.keys()) { EditAction& e = ui->chessBrowser->m_actions[action]; if (e.type() == EditAction::AddNag) { Nag nag = (Nag)e.data().toInt(); tbActions[nag] = action; items.push_back(nag); } } qSort(items); foreach(int nag, items) { setupNagInToolBox((Nag)nag, tbActions[(Nag)nag]); } setupSpacers(); ui->browserSplitter->setStretchFactor(0,3); ui->browserSplitter->setStretchFactor(1,1); ui->toolBoxSplitter->setStretchFactor(0,1); ui->toolBoxSplitter->setStretchFactor(1,3); } void GameWindow::setupNagInToolBox(Nag nag, QAction* action) { int page = -1; if (NagSet::isMoveNag(nag)) page = 0; else if (NagSet::isEvalNag(nag)) page = 1; else if (NagSet::isOtherNag(nag)) page = 2; if (page >= 0) { QString txt = NagSet::nagToString(nag); action->setIconText(txt); addActionAtPage(page,action); } } void GameWindow::setupSpacers() { for (int i=0; itoolBox->count();++i) { QWidget* boxPage = ui->toolBox->widget(i); QGridLayout* layout = qobject_cast(boxPage->layout()); int rows = layout->rowCount(); QSpacerItem* verticalSpacer = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding); layout->addItem(verticalSpacer,rows,0); } } ChessBrowser *GameWindow::browser() { return ui->chessBrowser; } void GameWindow::showVariations(QList list) { QStringList variationTexts = browser()->getAnchors(list); ui->listVariations->clear(); foreach(QString s, variationTexts) { ui->listVariations->addItem(s); } } void GameWindow::addActionAtPage(int page, QAction* action) { QWidget* boxPage = ui->toolBox->widget(page); QToolButton* toolButton = new QToolButton(boxPage); toolButton->setDefaultAction(action); toolButton->setFixedSize(QSize(32,32)); toolButton->setStyleSheet("QToolButton { font-size: 12pt; }"); QGridLayout* layout = qobject_cast(boxPage->layout()); int rows = layout->rowCount(); int widgets = layout->count(); if (widgets % 2) { layout->addWidget(toolButton,rows-1,1); } else { layout->addWidget(toolButton,rows,0); } } ./chessx-1.3.2/src/gui/gamewindow.h000644 000765 000024 00000001752 12521122472 016610 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2015 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef GAMEWINDOW_H #define GAMEWINDOW_H #include "game.h" #include "nag.h" #include "toolmainwindow.h" class ChessBrowser; namespace Ui { class GameWindow; } class GameWindow : public ToolMainWindow { Q_OBJECT public: explicit GameWindow(QWidget *parent = 0); ~GameWindow(); ChessBrowser* browser(); void showVariations(QList); signals: void enterVariation(int index); public slots: void saveConfig(); void slotReconfigure(); protected: void setupSpacers(); protected slots: void variationClicked(QModelIndex index); private: Ui::GameWindow *ui; void setupToolBox(); void setupNagInToolBox(Nag nag, QAction *action); void addActionAtPage(int page, QAction *action); }; #endif // GAMEWINDOW_H ./chessx-1.3.2/src/gui/gamewindow.ui000644 000765 000024 00000007675 12521122472 017010 0ustar00nistaff000000 000000 GameWindow 0 0 800 600 MainWindow Qt::Horizontal 4 0 0 0 Qt::Vertical 4 0 0 QFrame::StyledPanel QFrame::Plain 0 0 0 0 0 386 168 Move 0 0 386 168 Evaluation 0 0 386 168 Other ChessBrowser QTextBrowser
chessbrowser.h
./chessx-1.3.2/src/gui/helpbrowser.cpp000644 000765 000024 00000001211 12507517064 017335 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "helpbrowser.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER HelpBrowser::HelpBrowser(QWidget *parent) : QTextBrowser(parent) { setOpenExternalLinks(true); loadResource(QTextDocument::StyleSheetResource, QUrl(":/help/about.css")); setSource(QUrl("qrc:/help/about0.html")); } ./chessx-1.3.2/src/gui/helpbrowser.h000644 000765 000024 00000000725 12223260306 017000 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef HELPBROWSER_H #define HELPBROWSER_H #include class HelpBrowser : public QTextBrowser { Q_OBJECT public: explicit HelpBrowser(QWidget *parent = 0); signals: public slots: }; #endif // HELPBROWSER_H ./chessx-1.3.2/src/gui/kbaction.cpp000644 000765 000024 00000003614 12507517064 016604 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2013 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "kbaction.h" #include "settings.h" #include #ifdef _DEBUG static QStringList s_allKeys; #endif #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER KbAction::KbAction(QString text, QObject* parent, const QKeySequence &key) : QAction(text,parent), m_resetKey(key) { installShortcut(text, key); } KbAction::KbAction(const QIcon &icon, QString text, QObject* parent, const QKeySequence &key) : QAction(icon,text,parent), m_resetKey(key), m_resetIcon(icon) { installShortcut(text, key); } void KbAction::installShortcut(QString text, const QKeySequence &key) { m_storageKey = text; m_storageKey.remove('&'); if(!key.isEmpty()) { setShortcut(key); } } void KbAction::resetKey() { setShortcut(m_resetKey); } void KbAction::resetIcon() { setIcon(m_resetIcon); } QString KbAction::getKey() const { return m_storageKey; } void KbAction::saveKeyShortcut() { QString key = getKey(); QString value = shortcut().toString(QKeySequence::PortableText); AppSettings->setValue(key,value); } void KbAction::restoreKeyShortcut() { QString key = getKey(); QVariant varValue = AppSettings->getValue(key); if (varValue.isValid()) { setShortcut(QKeySequence(varValue.toString(),QKeySequence::PortableText)); } } void KbAction::restoreKeyboardLayoutForObject(QObject* pObject) { QList actions = pObject->findChildren(); AppSettings->beginGroup("/Keyboard/"); foreach (KbAction* action, actions) { action->restoreKeyShortcut(); } AppSettings->endGroup(); } ./chessx-1.3.2/src/gui/kbaction.h000644 000765 000024 00000001614 12275713114 016243 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2013 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef KBACTION_H #define KBACTION_H #include class KbAction : public QAction { Q_OBJECT public: KbAction(QString text, QObject* parent, const QKeySequence& key); KbAction(const QIcon &icon, QString text, QObject* parent, const QKeySequence& key); QString getKey() const; public slots: void resetKey(); void resetIcon(); public: void saveKeyShortcut(); void restoreKeyShortcut(); static void restoreKeyboardLayoutForObject(QObject* pObject); private: QString m_storageKey; QKeySequence m_resetKey; QIcon m_resetIcon; void installShortcut(QString text, const QKeySequence& key); }; #endif // KBACTION_H ./chessx-1.3.2/src/gui/loadquery.cpp000644 000765 000024 00000002263 12507517064 017016 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "loadquery.h" #include "ui_loadquery.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER LoadQuery::LoadQuery(QWidget *parent) : QDialog(parent), ui(new Ui::LoadQuery) { ui->setupUi(this); ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Start Download!")); ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("Skip Loading")); connect(ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), SLOT(buttonClicked(QAbstractButton*))); } LoadQuery::~LoadQuery() { delete ui; } void LoadQuery::buttonClicked(QAbstractButton* button) { QDialogButtonBox::StandardButton sb = ui->buttonBox->standardButton(button); switch(sb) { case QDialogButtonBox::Ok: accept(); break; case QDialogButtonBox::Cancel: reject(); break; default: break; } } ./chessx-1.3.2/src/gui/loadquery.h000644 000765 000024 00000001217 12414505244 016453 0ustar00nistaff000000 000000 #ifndef LOADQUERY_H /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #define LOADQUERY_H #include #include "ui_loadquery.h" class LoadQuery : public QDialog { Q_OBJECT public: explicit LoadQuery(QWidget *parent = 0); ~LoadQuery(); bool largeDB() const { return ui->btLargeDatabase->isChecked(); } protected slots: void buttonClicked(QAbstractButton *button); private: Ui::LoadQuery *ui; }; #endif // LOADQUERY_H ./chessx-1.3.2/src/gui/loadquery.ui000644 000765 000024 00000003264 12414505244 016645 0ustar00nistaff000000 000000 LoadQuery 0 0 345 149 Load Database Currently, there are no databases configured. Shall I download a database? Large Database (9M) true Small Database Qt::Vertical 20 40 QDialogButtonBox::Cancel|QDialogButtonBox::Ok ./chessx-1.3.2/src/gui/logstream.cpp000644 000765 000024 00000003604 12507517064 017006 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "logstream.h" #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER using namespace std; ofstream logfile; static bool bDoLog = false; void #ifdef MSC_VER _cdecl #endif #if QT_VERSION < 0x050000 SimpleLoggingHandler(QtMsgType type, const char *txt) #else SimpleLoggingHandler(QtMsgType type, const QMessageLogContext &, const QString &txt) #endif { QString msg = txt; if(!bDoLog) { return; } switch(type) { case QtDebugMsg: logfile << QTime::currentTime().toString().toLatin1().data() << " : " << msg.toLatin1().data() << endl; break; case QtCriticalMsg: logfile << QTime::currentTime().toString().toLatin1().data() << " Critical: " << msg.toLatin1().data() << endl; break; case QtWarningMsg: logfile << QTime::currentTime().toString().toLatin1().data() << " Warning: " << msg.toLatin1().data() << endl; break; case QtFatalMsg: logfile << QTime::currentTime().toString().toLatin1().data() << " Fatal: " << msg.toLatin1().data() << endl; break; } } void startFileLog() { #ifdef _DEBUG QString currentPath = QDir::currentPath() + QDir::separator() + "chessx.log"; logfile.open(currentPath.toLatin1().data(), ios::app); bDoLog = true; #if QT_VERSION < 0x050000 qInstallMsgHandler(SimpleLoggingHandler); #else qInstallMessageHandler(SimpleLoggingHandler); #endif #endif } void stopFileLog() { if(bDoLog) { bDoLog = false; logfile.close(); } } ./chessx-1.3.2/src/gui/logstream.h000644 000765 000024 00000000521 12020176251 016433 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef LOGSTRAM_H #define LOGSTRAM_H void startFileLog(); void stopFileLog(); #endif // LOGSTRAM_H ./chessx-1.3.2/src/gui/main.cpp000644 000765 000024 00000012757 12517120620 015733 0ustar00nistaff000000 000000 /*************************************************************************** main.cpp - main application ------------------- begin : sob maj 7 2005 copyright : (C) 2005 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #include #include #include #include "mainwindow.h" #include "settings.h" #include "logstream.h" // Necessary includes and defines for memory leak detection: #ifdef _MSC_VER #define _CRTDBG_MAP_ALLOC #include #include #endif // _MSC_VER #ifdef _MSC_VER #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER #if defined(_MSC_VER) // Code to display the memory leak report // We use a custom report hook to filter out Qt's own memory leaks // Credit to Andreas Schmidts - http://www.schmidt-web-berlin.de/winfig/blog/?p=154 _CRT_REPORT_HOOK prevHook; int customReportHook(int /* reportType */, char* message, int* /* returnValue */) { // This function is called several times for each memory leak. // Each time a part of the error message is supplied. // This holds number of subsequent detail messages after // a leak was reported const int numFollowupDebugMsgParts = 2; static bool ignoreMessage = false; static int debugMsgPartsCount = 0; // check if the memory leak reporting starts if ((strncmp(message,"Detected memory leaks!\n", 10) == 0) || ignoreMessage) { // check if the memory leak reporting ends if (strncmp(message,"Object dump complete.\n", 10) == 0) { _CrtSetReportHook(prevHook); ignoreMessage = false; } else ignoreMessage = true; // something from our own code? if(strstr(message, ".cpp") == NULL) { if(debugMsgPartsCount++ < numFollowupDebugMsgParts) // give it back to _CrtDbgReport() to be printed to the console return FALSE; else return TRUE; // ignore it } else { debugMsgPartsCount = 0; // give it back to _CrtDbgReport() to be printed to the console return FALSE; } } else // give it back to _CrtDbgReport() to be printed to the console return FALSE; } #endif int main(int argc, char** argv) { #if defined(_MSC_VER) _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); prevHook = _CrtSetReportHook(customReportHook); // _CrtSetBreakAlloc(157); // Use this line to break at the nth memory allocation #endif QApplication app(argc, argv); app.setAttribute(Qt::AA_DontShowIconsInMenus); // Icons are *no longer shown* in menus QDir dir(QApplication::applicationDirPath()); #ifdef QT_DEBUG QApplication::addLibraryPath(dir.absolutePath()); #else QStringList l; l<getValue("/General/language").toString()); QDir().mkpath(AppSettings->dataPath() + "/lang/"); QTranslator translator; if (lang != "chessx_en.qm") { QString filePath = AppSettings->dataPath() + QDir::separator() + "lang" + QDir::separator(); if(translator.load(QString(":/i18n/") + lang) || translator.load(filePath + lang) || translator.load(QString(":/i18n/") + fullSystemLang) || translator.load(filePath + fullSystemLang) || translator.load(QString(":/i18n/") + shortSystemLang) || translator.load(filePath + shortSystemLang)) { app.installTranslator(&translator); } } MainWindow* mainWindow = new MainWindow; mainWindow->show(); // Destroy main window and close application app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit())); startFileLog(); int result = app.exec(); stopFileLog(); delete AppSettings; #if defined(_MSC_VER) // Once the app has finished running and has been deleted, // we run this command to view the memory leaks: _CrtDumpMemoryLeaks(); #endif return result; } ./chessx-1.3.2/src/gui/mainwindow.cpp000644 000765 000024 00000205632 12521122472 017161 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2009 by Michal Rudolf mrudolf@kdewebdev.org * * * * 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. * ***************************************************************************/ #include "analysiswidget.h" #include "boardsetup.h" #include "boardview.h" #include "chartwidget.h" #include "chessbrowser.h" #include "clipboarddatabase.h" #include "commentdialog.h" #include "copydialog.h" #include "databaseinfo.h" #include "databaselist.h" #include "dockwidgetex.h" #include "downloadmanager.h" #include "ecolistwidget.h" #include "ecothread.h" #include "eventlistwidget.h" #include "exclusiveactiongroup.h" #include "ficsclient.h" #include "ficsconsole.h" #include "ficsdatabase.h" #include "game.h" #include "gamelist.h" #include "GameMimeData.h" #include "gamewindow.h" #include "helpbrowser.h" #include "kbaction.h" #include "loadquery.h" #include "mainwindow.h" #include "messagedialog.h" #include "memorydatabase.h" #include "openingtreewidget.h" #include "output.h" #include "pgndatabase.h" #include "playerlistwidget.h" #include "quazip.h" #include "quazipfile.h" #include "savedialog.h" #include "settings.h" #include "style.h" #include "tablebase.h" #include "tableview.h" #include "tagdialog.h" #include "toolmainwindow.h" #include "translatingslider.h" #include "version.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER MainWindow::MainWindow() : QMainWindow(), m_tabDragIndex(-1), m_pDragTabBar(0), m_gameWindow(0), m_gameToolBar(0), m_output(0), m_currentFrom(InvalidSquare), m_currentTo(InvalidSquare), m_lastColor('G'), m_machineHasToMove(false), m_gameMode(false) { setObjectName("MainWindow"); // Style::setStyle(this); m_messageTimer = new QTimer(this); m_messageTimer->setInterval(5000); m_messageTimer->setSingleShot(true); connect(m_messageTimer, SIGNAL(timeout()), this, SLOT(slotStatusMessage())); m_autoPlayTimer = new QTimer(this); m_autoPlayTimer->setInterval(AppSettings->getValue("/Board/AutoPlayerInterval").toInt()); m_autoPlayTimer->setSingleShot(true); connect(m_autoPlayTimer, SIGNAL(timeout()), this, SLOT(slotAutoPlayTimeout())); m_dragTimer = new QTimer(this); m_dragTimer->setSingleShot(true); connect(m_dragTimer, SIGNAL(timeout()), this, SLOT(slotAutoSwitchTab())); /* Create clipboard database */ DatabaseInfo* pClipDB = new DatabaseInfo(&m_undoGroup, new ClipboardDatabase); connect(pClipDB,SIGNAL(signalRestoreState(Game)), SLOT(slotDbRestoreState(Game))); connect(pClipDB,SIGNAL(signalGameModified(bool)), SLOT(slotGameChanged())); connect(pClipDB,SIGNAL(signalMoveChanged()), SLOT(slotMoveChanged())); connect(pClipDB,SIGNAL(searchProgress(int)), SLOT(slotBoardSearchUpdate(int)), Qt::QueuedConnection); connect(pClipDB,SIGNAL(searchFinished()), SLOT(slotBoardSearchFinished()), Qt::QueuedConnection); connect(pClipDB,SIGNAL(signalGameModified(bool)), SIGNAL(signalGameModified(bool))); m_databases.append(pClipDB); m_currentDatabase = 0; /* Create FICS database */ FicsDatabase* pDB = new FicsDatabase; pDB->open(QString(),false); DatabaseInfo* pFicsDB = new DatabaseInfo(&m_undoGroup, pDB); pFicsDB->loadGame(0); connect(pFicsDB,SIGNAL(signalGameModified(bool)), SLOT(slotGameChanged())); connect(pFicsDB,SIGNAL(signalMoveChanged()), SLOT(slotMoveChanged())); connect(pFicsDB,SIGNAL(signalGameModified(bool)), SIGNAL(signalGameModified(bool))); m_databases.append(pFicsDB); /* Game List */ DockWidgetEx* gameListDock = new DockWidgetEx(tr("Game List"), this); gameListDock->setObjectName("GameList"); m_gameList = new GameList(databaseInfo()->filter(), gameListDock); // Init before setupActions m_ficsClient = new FicsClient(this); m_ficsConsole = new FicsConsole(this, m_ficsClient); /* Actions */ m_gameModeGroup = new QActionGroup(this); connect(this, SIGNAL(signalGameModeChanged(bool)), m_gameModeGroup, SLOT(setDisabled(bool))); setupActions(); /* Delete on close */ setAttribute(Qt::WA_DeleteOnClose); /* Board */ m_boardSplitter = new QSplitter(Qt::Horizontal); m_boardSplitter->setChildrenCollapsible(false); setCentralWidget(m_boardSplitter); m_tabWidget = new QTabWidget(this); m_tabWidget->setObjectName("BoardView"); m_tabWidget->setTabsClosable(true); m_tabWidget->setElideMode(Qt::ElideMiddle); connect(m_tabWidget, SIGNAL(tabCloseRequested(int)), SLOT(slotCloseBoardView(int))); connect(m_tabWidget, SIGNAL(tabBarClicked(int)), SLOT(slotActivateBoardView(int))); /* Board layout */ m_boardSplitter->addWidget(m_tabWidget); DockWidgetEx* ficsConsoleDock = new DockWidgetEx(tr("FICS Console"), this); ficsConsoleDock->setObjectName("FicsCOnsoleDock"); ficsConsoleDock->setMinimumSize(150, 100); ficsConsoleDock->setWidget(m_ficsConsole); addDockWidget(Qt::RightDockWidgetArea, ficsConsoleDock); connect(m_ficsConsole, SIGNAL(ReceivedBoard(int,QString)), this, SLOT(HandleFicsBoardRequest(int,QString))); connect(m_ficsConsole, SIGNAL(SignalGameResult(QString)), this, SLOT(HandleFicsResultRequest(QString))); connect(m_ficsConsole, SIGNAL(RequestNewGame()), this, SLOT(HandleFicsNewGameRequest())); connect(m_ficsConsole, SIGNAL(RequestSaveGame()), this, SLOT(HandleFicsSaveGameRequest())); connect(m_ficsConsole, SIGNAL(RequestCloseFICS()), this, SLOT(HandleFicsCloseRequest())); connect(m_ficsConsole, SIGNAL(RequestAddTag(QString,QString)), this, SLOT(HandleFicsAddTagRequest(QString,QString))); connect(m_ficsConsole, SIGNAL(RequestGameMode(bool)), this, SLOT(enterGameMode(bool))); connect(m_ficsConsole, SIGNAL(RequestRemoveLastMove()), this, SLOT(HandleFicsRequestRemoveMove())); connect(m_ficsConsole, SIGNAL(SignalPlayerIsBlack(bool)), this, SLOT(slotFlipView(bool))); connect(m_ficsClient, SIGNAL(disconnected()), SLOT(FicsDisconnected()), Qt::QueuedConnection); connect(m_ficsClient, SIGNAL(connected()), SLOT(FicsConnected()), Qt::QueuedConnection); connect(m_ficsConsole, SIGNAL(RequestStoredMove(Square, Square)), SLOT(slotBoardMove(Square, Square))); m_ficsConsole->setEnabled(false); /* Game view */ DockWidgetEx* gameTextDock = new DockWidgetEx(tr("Game Text"), this); gameTextDock->setObjectName("GameTextDock"); gameTextDock->setFeatures(QDockWidget::NoDockWidgetFeatures); m_gameWindow = new GameWindow(gameTextDock); connect(this, SIGNAL(reconfigure()), m_gameWindow, SLOT(slotReconfigure())); connect(m_gameWindow, SIGNAL(enterVariation(int)), this, SLOT(slotGameVarEnter(int))); m_gameToolBar = new QToolBar(tr("Game Time"), m_gameWindow); m_gameToolBar->setObjectName("GameToolBar"); m_gameToolBar->setMovable(false); m_gameWindow->addToolBar(Qt::BottomToolBarArea, m_gameToolBar); for(int i = 0; i < 2; ++i) { QLCDNumber* annotatedTime = new QLCDNumber(m_gameToolBar); annotatedTime->setObjectName(QString("Clock") + QString::number(i)); m_gameToolBar->addWidget(annotatedTime); annotatedTime->setDigitCount(7); annotatedTime->setSegmentStyle(QLCDNumber::Flat); annotatedTime->display("1:00:00"); if(i == 0) { ChartWidget* chartWidget = new ChartWidget(m_gameToolBar); chartWidget->setObjectName("ChartWidget"); chartWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); connect(chartWidget, SIGNAL(halfMoveRequested(int)), this, SLOT(slotGameMoveToPly(int))); m_gameToolBar->addWidget(chartWidget); } } m_menuView->addAction(m_gameToolBar->toggleViewAction()); m_gameToolBar->setVisible(AppSettings->getValue("/MainWindow/GameToolBar").toBool()); m_gameView = m_gameWindow->browser(); m_gameView->toolBar = m_gameToolBar; connect(m_gameView, SIGNAL(anchorClicked(const QUrl&)), SLOT(slotGameViewLink(const QUrl&))); connect(m_gameView, SIGNAL(actionRequested(EditAction)), SLOT(slotGameModify(EditAction))); connect(m_gameView, SIGNAL(queryActiveGame(const Game**)), this, SLOT(slotGetActiveGame(const Game**))); connect(m_gameView, SIGNAL(signalMergeGame(int)), this, SLOT(slotMergeActiveGame(int))); connect(this, SIGNAL(displayTime(const QString&, Color)), m_gameView, SLOT(slotDisplayTime(const QString&, Color))); gameTextDock->setWidget(m_gameWindow); connect(this, SIGNAL(reconfigure()), m_gameView, SLOT(slotReconfigure())); addDockWidget(Qt::RightDockWidgetArea, gameTextDock); m_gameTitle = new QLabel; connect(m_gameTitle, SIGNAL(linkActivated(QString)), this, SLOT(slotGameViewLink(QString))); gameTextDock->setTitleBarWidget(m_gameTitle); /* Game List */ m_gameList->setMinimumSize(150, 100); connect(m_gameList, SIGNAL(selected(int)), SLOT(slotFilterLoad(int))); connect(m_gameList, SIGNAL(requestCopyGame(QList)), SLOT(slotDatabaseCopySingle(QList))); connect(m_gameList, SIGNAL(requestMergeGame(QList)), SLOT(slotMergeActiveGame(QList))); connect(m_gameList, SIGNAL(requestMergeAllGames()), SLOT(slotMergeAllGames())); connect(m_gameList, SIGNAL(requestMergeFilter()), SLOT(slotMergeFilter())); connect(m_gameList, SIGNAL(requestDeleteGame(QList)), SLOT(slotDatabaseDeleteGame(QList))); connect(m_gameList, SIGNAL(requestGameData(Game&)), SLOT(slotGetGameData(Game&))); connect(this, SIGNAL(reconfigure()), m_gameList, SLOT(slotReconfigure())); gameListDock->setWidget(m_gameList); addDockWidget(Qt::RightDockWidgetArea, gameListDock); m_menuView->addAction(gameListDock->toggleViewAction()); gameListDock->toggleViewAction()->setShortcut(Qt::CTRL + Qt::Key_L); connect(m_gameList, SIGNAL(raiseRequest()), gameListDock, SLOT(raise())); // Player List DockWidgetEx* playerListDock = new DockWidgetEx(tr("Players"), this); playerListDock->setObjectName("PlayerList"); m_playerList = new PlayerListWidget(this); m_playerList->setMinimumSize(150, 100); playerListDock->setWidget(m_playerList); addDockWidget(Qt::RightDockWidgetArea, playerListDock); m_menuView->addAction(playerListDock->toggleViewAction()); playerListDock->toggleViewAction()->setShortcut(Qt::CTRL + Qt::ALT + Qt::Key_P); connect(m_playerList, SIGNAL(raiseRequest()), playerListDock, SLOT(raise())); connect(m_playerList, SIGNAL(filterRequest(QString)), m_gameList, SLOT(slotFilterListByPlayer(QString))); connect(m_playerList, SIGNAL(renameRequest(QString)), SLOT(slotRenamePlayer(QString))); connect(m_playerList, SIGNAL(filterEcoPlayerRequest(QString, QString, QString)), m_gameList, SLOT(slotFilterListByEcoPlayer(QString, QString, QString))); connect(this, SIGNAL(databaseChanged(DatabaseInfo*)), m_playerList, SLOT(setDatabase(DatabaseInfo*))); connect(this, SIGNAL(reconfigure()), m_playerList, SLOT(slotReconfigure())); playerListDock->hide(); // Event List DockWidgetEx* eventListDock = new DockWidgetEx(tr("Events"), this); eventListDock->setObjectName("EventList"); m_eventList = new EventListWidget(this); m_eventList->setMinimumSize(150, 100); eventListDock->setWidget(m_eventList); addDockWidget(Qt::RightDockWidgetArea, eventListDock); m_menuView->addAction(eventListDock->toggleViewAction()); eventListDock->toggleViewAction()->setShortcut(Qt::CTRL + Qt::ALT + Qt::Key_P); connect(m_eventList, SIGNAL(raiseRequest()), eventListDock, SLOT(raise())); connect(m_eventList, SIGNAL(filterRequest(QString)), m_gameList, SLOT(slotFilterListByEvent(QString))); connect(m_eventList, SIGNAL(renameRequest(QString)), SLOT(slotRenameEvent(QString))); connect(m_eventList, SIGNAL(filterEventPlayerRequest(QString, QString)), m_gameList, SLOT(slotFilterListByEventPlayer(QString, QString))); connect(m_eventList, SIGNAL(filterEventPlayerRequest(QString, QString)), m_playerList, SLOT(slotSelectPlayer(QString))); connect(this, SIGNAL(databaseChanged(DatabaseInfo*)), m_eventList, SLOT(setDatabase(DatabaseInfo*))); connect(this, SIGNAL(reconfigure()), m_eventList, SLOT(slotReconfigure())); eventListDock->hide(); // ECO List DockWidgetEx* ecoListDock = new DockWidgetEx(tr("ECO"), this); ecoListDock->setObjectName("EcoList"); m_ecoList = new ECOListWidget(this); m_ecoList->setMinimumSize(150, 100); ecoListDock->setWidget(m_ecoList); addDockWidget(Qt::RightDockWidgetArea, ecoListDock); m_menuView->addAction(ecoListDock->toggleViewAction()); ecoListDock->toggleViewAction()->setShortcut(Qt::CTRL + Qt::ALT + Qt::Key_E); connect(m_ecoList, SIGNAL(raiseRequest()), ecoListDock, SLOT(raise())); connect(m_ecoList, SIGNAL(filterRequest(QString)), m_gameList, SLOT(slotFilterListByEco(QString))); connect(m_ecoList, SIGNAL(filterEcoPlayerRequest(QString, QString, QString)), m_gameList, SLOT(slotFilterListByEcoPlayer(QString, QString, QString))); connect(m_ecoList, SIGNAL(filterEcoPlayerRequest(QString, QString)), m_playerList, SLOT(slotSelectPlayer(QString))); connect(this, SIGNAL(databaseChanged(DatabaseInfo*)), m_ecoList, SLOT(setDatabase(DatabaseInfo*))); connect(this, SIGNAL(reconfigure()), m_ecoList, SLOT(slotReconfigure())); ecoListDock->hide(); // Database List DockWidgetEx* dbListDock = new DockWidgetEx(tr("Databases"), this); dbListDock->setObjectName("Databases"); m_databaseList = new DatabaseList(this); m_databaseList->setMinimumSize(150, 100); dbListDock->setWidget(m_databaseList); addDockWidget(Qt::RightDockWidgetArea, dbListDock); m_menuView->addAction(dbListDock->toggleViewAction()); dbListDock->toggleViewAction()->setShortcut(Qt::CTRL + Qt::Key_D); connect(m_databaseList, SIGNAL(requestOpenDatabase(QString, bool)), this, SLOT(openDatabaseUrl(QString, bool))); connect(m_databaseList, SIGNAL(requestCloseDatabase(QString)), this, SLOT(slotFileCloseName(QString))); connect(m_databaseList, SIGNAL(requestLinkDatabase(QString)), this, SLOT(setFavoriteDatabase(QString))); connect(m_databaseList, SIGNAL(requestAppendGames(QString, QList)), this, SLOT(copyGames(QString, QList))); connect(m_databaseList, SIGNAL(requestAppendDatabase(QString, QString)), this, SLOT(copyDatabase(QString, QString))); connect(this, SIGNAL(reconfigure()), m_databaseList, SLOT(slotReconfigure())); connect(m_databaseList, SIGNAL(requestMakeBook(QString)), this, SLOT(slotMakeBook(QString))); m_databaseList->addFileOpen(pClipDB->database()->name(), false); m_databaseList->addFileOpen(pFicsDB->database()->name(), false); m_databaseList->setFileClose(pFicsDB->database()->name(), 0); m_databaseList->setFileCurrent(pClipDB->database()->name()); restoreRecentFiles(); connect(m_databaseList, SIGNAL(raiseRequest()), dbListDock, SLOT(raise())); connect(this, SIGNAL(signalGameModeChanged(bool)), m_databaseList, SLOT(setDisabled(bool))); /* Recent files */ m_recentFiles.restore(); m_recentFiles.removeMissingFiles(); updateMenuRecent(); /* Opening Tree */ DockWidgetEx* openingDock = new DockWidgetEx(tr("Opening Tree"), this); openingDock->setObjectName(" Dock"); m_openingTreeWidget = new OpeningTreeWidget(this); openingDock->setWidget(m_openingTreeWidget); addDockWidget(Qt::RightDockWidgetArea, openingDock); m_menuView->addAction(openingDock->toggleViewAction()); connect(openingDock->toggleViewAction(), SIGNAL(triggered()), SLOT(slotSearchTree())); connect(openingDock, SIGNAL(visibilityChanged(bool)), m_openingTreeWidget, SLOT(cancel())); connect(m_openingTreeWidget, SIGNAL(signalTreeUpdated(bool)), this, SLOT(slotTreeUpdate(bool))); connect(m_openingTreeWidget, SIGNAL(signalSourceChanged()), this, SLOT(slotSearchTree())); connect(this, SIGNAL(reconfigure()), m_openingTreeWidget, SLOT(slotReconfigure())); openingDock->toggleViewAction()->setShortcut(Qt::CTRL + Qt::Key_T); openingDock->hide(); connect(this, SIGNAL(signalDatabaseOpenClose()), this, SLOT(slotUpdateOpeningTreeWidget())); connect(this, SIGNAL(signalGameModeChanged(bool)), m_openingTreeWidget, SLOT(setDisabled(bool))); /* Analysis Dock */ DockWidgetEx* analysisDock = new DockWidgetEx(tr("Analysis 1"), this); analysisDock->setObjectName("AnalysisDock1"); AnalysisWidget* analysis = new AnalysisWidget; analysis->setObjectName("Analysis"); analysisDock->setWidget(analysis); addDockWidget(Qt::RightDockWidgetArea, analysisDock); connect(analysis, SIGNAL(addVariation(Analysis)), SLOT(slotGameAddVariation(Analysis))); connect(analysis, SIGNAL(addVariation(QString)), SLOT(slotGameAddVariation(QString))); connect(this, SIGNAL(boardChange(const Board&)), analysis, SLOT(setPosition(const Board&))); connect(this, SIGNAL(reconfigure()), analysis, SLOT(slotReconfigure())); // Make sure engine is disabled if dock is hidden connect(analysisDock, SIGNAL(visibilityChanged(bool)), analysis, SLOT(slotVisibilityChanged(bool))); m_menuView->addAction(analysisDock->toggleViewAction()); analysisDock->toggleViewAction()->setShortcut(Qt::CTRL + Qt::Key_F2); analysisDock->hide(); connect(this, SIGNAL(signalGameLoaded()), analysis, SLOT(slotUciNewGame())); connect(this, SIGNAL(signalGameModeChanged(bool)), analysis, SLOT(setDisabled(bool))); m_mainAnalysis = analysis; /* Analysis Dock 2 */ DockWidgetEx* analysisDock2 = new DockWidgetEx(tr("Analysis 2"), this); analysisDock2->setObjectName("AnalysisDock2"); analysis = new AnalysisWidget; analysis->setObjectName("Analysis2"); analysisDock2->setWidget(analysis); addDockWidget(Qt::RightDockWidgetArea, analysisDock2); connect(analysis, SIGNAL(addVariation(Analysis)), SLOT(slotGameAddVariation(Analysis))); connect(analysis, SIGNAL(addVariation(QString)), SLOT(slotGameAddVariation(QString))); connect(this, SIGNAL(boardChange(const Board&)), analysis, SLOT(setPosition(const Board&))); connect(this, SIGNAL(reconfigure()), analysis, SLOT(slotReconfigure())); // Make sure engine is disabled if dock is hidden connect(analysisDock2, SIGNAL(visibilityChanged(bool)), analysis, SLOT(slotVisibilityChanged(bool))); m_menuView->addAction(analysisDock2->toggleViewAction()); analysisDock2->toggleViewAction()->setShortcut(Qt::CTRL + Qt::Key_F3); analysisDock2->hide(); connect(this, SIGNAL(signalGameLoaded()), analysis, SLOT(slotUciNewGame())); connect(this, SIGNAL(signalGameModeChanged(bool)), analysis, SLOT(setDisabled(bool))); /* Randomize */ srand(time(0)); /* Append the FICS console to the view menu */ m_menuView->addAction(ficsConsoleDock->toggleViewAction()); /* Restoring layouts */ if(!AppSettings->layout(this)) { resize(800, 600); } m_boardSplitter->restoreState(AppSettings->value("/MainWindow/BoardSplit").toByteArray()); /* Status */ m_statusFilter = new QLabel(); statusBar()->addPermanentWidget(m_statusFilter,1); m_statusFilter->setFrameStyle(QFrame::Panel | QFrame::Sunken); m_statusApp = new QLabel(); statusBar()->addPermanentWidget(m_statusApp,1); m_statusApp->setFrameStyle(QFrame::Panel | QFrame::Sunken); QLabel* statusLabel = new QLabel(); statusBar()->addPermanentWidget(statusLabel,1); connect(this, SIGNAL(enterText(QString)), statusLabel, SLOT(setText(QString))); statusLabel->setFrameStyle(QFrame::Panel | QFrame::Sunken); m_sliderSpeed = new TranslatingSlider(this); m_sliderSpeed->setMultiplier(1000); m_sliderSpeed->setOrientation(Qt::Horizontal); m_sliderSpeed->setMinimum(0); m_sliderSpeed->setMaximum(60); m_sliderSpeed->setTranslatedValue(AppSettings->getValue("/Board/AutoPlayerInterval").toInt()); m_sliderSpeed->setTickInterval(1); m_sliderSpeed->setTickPosition(QSlider::NoTicks); m_sliderSpeed->setMaximumWidth(400); connect(m_sliderSpeed, SIGNAL(translatedValueChanged(int)), SLOT(slotMoveIntervalChanged(int))); connect(m_sliderSpeed, SIGNAL(translatedValueChanged(int)), m_mainAnalysis, SLOT(setMoveTime(int))); connect(m_sliderSpeed, SIGNAL(translatedValueChanged(int)), analysis, SLOT(setMoveTime(int))); connect(m_mainAnalysis, SIGNAL(receivedBestMove(const Analysis&)), this, SLOT(slotEngineTimeout(const Analysis&))); m_mainAnalysis->setMoveTime(m_sliderSpeed->translatedValue()); analysis->setMoveTime(m_sliderSpeed->translatedValue()); statusBar()->addPermanentWidget(new QLabel(tr("Move Interval:"), this)); statusBar()->addPermanentWidget(m_sliderSpeed); m_sliderText = new QLabel(this); m_sliderText->setFixedWidth(100); statusBar()->addPermanentWidget(m_sliderText); connect(m_sliderSpeed, SIGNAL(valueChanged(int)), this, SLOT(slotSetSliderText(int))); slotSetSliderText(m_sliderSpeed->value()); statusBar()->setFixedHeight(statusBar()->height()); statusBar()->setSizeGripEnabled(true); m_progressBar = new QProgressBar(); /* Very late as this will update other widgets */ connect(this, SIGNAL(databaseModified()), SLOT(slotDatabaseModified())); connect(this, SIGNAL(signalDatabaseOpenClose()), this, SLOT(updateMenuDatabases())); CreateBoardView(); /* Setup the dimensions of all widgets and the main board */ slotReconfigure(); /* Display main window */ show(); downloadManager = new DownloadManager(this); /* Load files from command line */ QStringList args = qApp->arguments(); for(int i = 1; i < args.count(); i++) { if(QFile::exists(args[i])) { openDatabaseArchive(args[i], false); } } qApp->installEventFilter(this); /* Activate clipboard */ updateMenuDatabases(); slotDatabaseChanged(); emit signalGameIsEmpty(true); setAcceptDrops(true); QString dir = AppSettings->commonDataPath(); QDir().mkpath(dir + QDir::separator() + "index"); /* Load ECO file */ slotStatusMessage(tr("Loading ECO file...")); EcoThread* ecothread = new EcoThread(); connect(ecothread, SIGNAL(loaded(QObject*, bool)), this, SLOT(ecoLoaded(QObject*, bool))); ecothread->start(); StartCheckUpdate(); } MainWindow::~MainWindow() { m_autoPlayTimer->stop(); m_dragTimer->stop(); m_openingTreeWidget->cancel(); m_ficsConsole->Terminate(); foreach(DatabaseInfo * database, m_databases) { // Avoid any GUI action if a database is closed disconnect(database,SIGNAL(signalGameModified(bool)), this, SLOT(slotGameChanged())); database->close(); } qDeleteAll(m_databases.begin(), m_databases.end()); delete m_output; delete m_progressBar; m_boardViews.clear(); // Widgets are deleted by Qt } bool MainWindow::eventFilter(QObject *obj, QEvent *event) { if(event->type() == QEvent::FileOpen) { openDatabaseUrl(static_cast(event)->file(), false); return true; } else { if(event->type() == QEvent::KeyPress) { QKeyEvent* keyEvent = static_cast(event); if(keyEvent && (keyEvent->key() == Qt::Key_Escape || keyEvent->key() == Qt::Key_Return || keyEvent->key() == Qt::Key_Enter)) { if (obj == this || obj == m_boardView || obj == m_gameView || obj == m_mainAnalysis) { keyPressEvent(keyEvent); return true; } } } // standard event processing return QObject::eventFilter(obj, event); } } void MainWindow::ecoLoaded(QObject* ecoThread, bool ok) { slotStatusMessage(ok ? tr("ECO Loaded.") : tr("ECO Load Error.")); qobject_cast(ecoThread)->wait(); delete ecoThread; } void MainWindow::closeEvent(QCloseEvent* e) { if(confirmQuit()) { m_openingTreeWidget->cancel(); m_recentFiles.save(); m_databaseList->save(); m_gameList->saveConfig(); m_databaseList->saveConfig(); m_openingTreeWidget->saveConfig(); m_gameWindow->saveConfig(); m_gameView->saveConfig(); AppSettings->setLayout(this); AppSettings->beginGroup("/MainWindow/"); AppSettings->setValue("BoardSplit", m_boardSplitter->saveState()); AppSettings->setValue("GameToolBar", m_gameToolBar->isVisible()); AppSettings->endGroup(); } else { e->ignore(); } } void MainWindow::keyPressEvent(QKeyEvent *e) { evaluateSanNag(e); emit enterText(m_nagText); } void MainWindow::evaluateSanNag(QKeyEvent *e) { if(e->key() == Qt::Key_Escape) { m_nagText.clear(); return; } if ((e->key() == Qt::Key_Backspace) && m_nagText.count()) { m_nagText = m_nagText.left(m_nagText.count()-1); return; } if(e->key() == Qt::Key_Delete) { if(!game().atGameStart()) { game().clearNags(); } m_nagText.clear(); return; } if(e->text().isEmpty()) { return; } bool enterPressed = ((e->key() == Qt::Key_Enter) || (e->key() == Qt::Key_Return)); if(enterPressed) { // Try to figure out a SAN int matches = NagSet::prefixCount(m_nagText); if(matches >= 1) // enter forces the current nag { if(!game().atGameStart()) { game().addNag(NagSet::fromString(m_nagText)); } m_nagText.clear(); return; } if (addVariation(m_nagText)) { if (database()->name() == "FICS") { Move m = game().move(); m_ficsConsole->SendMove(m.toAlgebraic()); } } m_nagText.clear(); return; } else { m_nagText.append(e->text()); if (addVariation(m_nagText)) { if (database()->name() == "FICS") { Move m = game().move(); m_ficsConsole->SendMove(m.toAlgebraic()); } m_nagText.clear(); return; } } if (m_nagText == "N") { // Not a novelty but a Knight return; } if (m_nagText == "n") { m_nagText = "N"; } int matches = NagSet::prefixCount(m_nagText); if(matches == 1) { if(!game().atGameStart()) { if (!game().addNag(NagSet::fromString(m_nagText))) { return; // Could be start of NAG or a start of a move (R<->RR) } } m_nagText.clear(); } } DatabaseInfo* MainWindow::databaseInfo() { return m_databases[m_currentDatabase]; } const DatabaseInfo* MainWindow::databaseInfo() const { return m_databases[m_currentDatabase]; } Database* MainWindow::database() { return databaseInfo()->database(); } const Database* MainWindow::database() const { return databaseInfo()->database(); } QString MainWindow::databaseName(int index) const { if(index < 0) { index = m_currentDatabase; } QString name = m_databases[index]->database() ? m_databases[index]->database()->name() : ""; return name; } Database* MainWindow::getDatabaseByPath(QString path) { if(DatabaseInfo* dbInfo = getDatabaseInfoByPath(path)) { if(dbInfo->isValid()) { return dbInfo->database(); } } return 0; } DatabaseInfo* MainWindow::getDatabaseInfoByPath(QString path) { for(int i = 0; i < m_databases.count(); ++i) { if(m_databases[i]->filePath() == path) { return m_databases[i]; } } return 0; } Game& MainWindow::game() { return databaseInfo()->currentGame(); } const Game& MainWindow::game() const { return databaseInfo()->currentGame(); } int MainWindow::gameIndex() const { return databaseInfo()->currentIndex(); } void MainWindow::gameLoad(int index) { if (index < 0) return; if(QuerySaveGame()) { if(databaseInfo()->loadGame(index)) { m_gameList->selectGame(index); emit signalGameIsEmpty(true); UpdateBoardInformation(); slotGameChanged(); m_gameList->setFocus(); emit signalGameLoaded(); if(m_training->isChecked()) { m_boardView->setFlipped((game().board().toMove() == Black)); } } } } bool MainWindow::gameMoveBy(int change) { if(!gameMode() && game().moveByPly(change)) { m_gameView->setFocus(); return true; } return false; } void MainWindow::updateMenuRecent() { for(int i = 0; (i < m_recentFiles.count()) && (i < MaxRecentFiles); ++i) { m_recentFileActions[i]->setVisible(true); m_recentFileActions[i]->setText(QString("&%1: %2").arg(i + 1).arg(m_recentFiles[i])); m_recentFileActions[i]->setData(m_recentFiles[i]); } for(int i = m_recentFiles.count(); i < MaxRecentFiles; i++) { m_recentFileActions[i]->setVisible(false); } } void MainWindow::updateMenuDatabases() { while(m_databases.count() > m_databaseActions.count()) { QAction* action = new QAction(this); connect(action, SIGNAL(triggered()), SLOT(slotDatabaseChange())); m_databaseActions.append(action); m_menuDatabases->addAction(action); } int n = 1; for(int i = 0; i < m_databases.count(); i++) { if(m_databases[i]->isValid()) { m_databaseActions[i]->setVisible(true); m_databaseActions[i]->setData(i); m_databaseActions[i]->setText(QString("&%1: %2").arg(i).arg(databaseName(i))); if(n < 10) { int key = Qt::CTRL + Qt::SHIFT + Qt::Key_1 + (n - 1); m_databaseActions[i]->setShortcut(key); ++n; } } } for(int i = m_databases.count(); i < m_databaseActions.count(); i++) { m_databaseActions[i]->setVisible(false); m_databaseActions[i]->setShortcut(0); } } void MainWindow::setFavoriteDatabase(QString fname) { QUrl url = QUrl::fromUserInput(fname); if((url.scheme() == "http") || (url.scheme() == "ftp")) { m_databaseList->setFileFavorite(fname, true, 0); } else { m_databaseList->setFileFavorite(url.toLocalFile(), true, 0); } } void MainWindow::slotGameMoveFirst() { gameMoveBy(-999); } void MainWindow::slotGameMovePrevious() { gameMoveBy(-1); } void MainWindow::slotGameMoveLast() { gameMoveBy(999); } void MainWindow::slotGameMoveNextN() { gameMoveBy(10); } void MainWindow::slotGameMovePreviousN() { gameMoveBy(-10); } void MainWindow::openDatabase(QString fname) { openDatabaseUrl(fname, false); } void MainWindow::openDatabaseUrl(QString fname, bool utf8) { QFileInfo fi(fname); QUrl url = QUrl::fromUserInput(fname); if (!fi.completeSuffix().isEmpty()) { if (url.isValid() && !url.isRelative() && ((url.scheme() == "http") || (url.scheme() == "https") || (url.scheme() == "ftp"))) { connect(downloadManager, SIGNAL(downloadError(QUrl)), this, SLOT(loadError(QUrl))); connect(downloadManager, SIGNAL(onDownloadFinished(QUrl, QString)), this, SLOT(loadReady(QUrl, QString))); downloadManager->doDownload(url); } else { openDatabaseArchive(url.toLocalFile(), utf8); } } else if (fname == "FICS") { openFICS(); } else if (fname == "Clipboard") { ActivateDatabase("Clipboard"); } } void MainWindow::openFICS() { if (!m_ficsClient->sessionStarted()) { m_ficsClient->startSession(); m_databaseList->addFileOpen("FICS", false); } ActivateDatabase("FICS"); } void MainWindow::openDatabaseArchive(QString fname, bool utf8) { QFileInfo fi = QFileInfo(fname); if(fname.isEmpty() || fi.suffix().toLower() == "pgn" || fi.suffix().toLower() == "bin") { openDatabaseFile(fname, utf8); } else { QString dataPath = AppSettings->getUserDataPath(); QString dir = AppSettings->value("/General/DefaultDataPath", dataPath).toString(); fname = fi.canonicalFilePath(); if(!fname.isEmpty()) { QuaZip zip(fname); if(zip.open(QuaZip::mdUnzip)) { // first, we need some information about archive itself QString comment = zip.getComment(); // and now we are going to access files inside it QuaZipFile file(&zip); for(bool more = zip.goToFirstFile(); more; more = zip.goToNextFile()) { file.open(QIODevice::ReadOnly); QString outName = dir + QDir::separator() + file.getActualFileName(); QDir pathOut; outName = pathOut.absoluteFilePath(outName); if(!QFile::exists(outName)) { QDir().mkpath(dir); QFile out(outName); if(out.open(QIODevice::WriteOnly)) { out.write(file.readAll()); out.close(); openDatabaseFile(outName, utf8); } else { qDebug() << "File Error: " << out.error(); } } else { openDatabaseFile(outName, utf8); } file.close(); } zip.close(); } } } } bool MainWindow::ActivateDatabase(QString fname) { /* Check if the database is open */ for(int i = 0; i < m_databases.count(); i++) { if(m_databases[i]->database()->filename() == fname) { if(m_databases[i]->isValid()) { if (!m_databases[i]->IsBook()) { if (i != m_currentDatabase) { m_currentDatabase = i; m_databaseList->setFileCurrent(fname); slotDatabaseChanged(); } activateBoardViewForDbIndex(m_databases[m_currentDatabase]); } } else { slotStatusMessage(tr("Database %1 cannot be accessed at the moment.").arg(fname)); } return true; } } return false; } void MainWindow::openDatabaseFile(QString fname, bool utf8) { QFileInfo fi = QFileInfo(fname); fname = fi.canonicalFilePath(); if (fname.isEmpty()) { cancelOperation("File not found."); return; } if (ActivateDatabase(fname)) { /* Check if the database is already open */ return; } // Create database, connect progress bar and open file DatabaseInfo* db = new DatabaseInfo(&m_undoGroup,fname); QString basefile = fi.completeBaseName(); startOperation(tr("Opening %1...").arg(basefile)); connect(db->database(), SIGNAL(progress(int)), SLOT(slotOperationProgress(int))); connect(db, SIGNAL(LoadFinished(DatabaseInfo*)), this, SLOT(slotDataBaseLoaded(DatabaseInfo*))); connect(db, SIGNAL(signalRestoreState(Game)), SLOT(slotDbRestoreState(Game))); connect(db, SIGNAL(signalGameModified(bool)), SLOT(slotGameChanged())); connect(db, SIGNAL(signalMoveChanged()), SLOT(slotMoveChanged())); connect(db, SIGNAL(searchProgress(int)), SLOT(slotBoardSearchUpdate(int)), Qt::QueuedConnection); connect(db, SIGNAL(searchFinished()), SLOT(slotBoardSearchFinished()), Qt::QueuedConnection); connect(db, SIGNAL(signalGameModified(bool)), SIGNAL(signalGameModified(bool))); if(!db->open(utf8)) { slotDataBaseLoaded(db); } else { m_databases.append(db); } } void MainWindow::loadError(QUrl url) { QFileInfo fi = QFileInfo(url.toString()); slotStatusMessage(tr("Database %1 cannot be accessed at the moment (%2).").arg(fi.fileName()).arg(url.errorString())); } void MainWindow::loadReady(QUrl /*url*/, QString fileName) { openDatabaseArchive(fileName, false); } void MainWindow::slotDataBaseLoaded(DatabaseInfo* db) { if(!db->IsLoaded()) { cancelOperation(tr("Cannot open file")); m_databases.removeOne(db); delete db; return; } QString fname = db->filePath(); QFileInfo fi = QFileInfo(fname); QString basefile = fi.completeBaseName(); m_databaseList->addFileOpen(fname, db->IsUtf8()); finishOperation(tr("%1 opened").arg(basefile)); for(int i = 0; i < m_databases.count(); i++) { if(m_databases[i]->database()->filename() == fname) { if (!m_databases[i]->IsBook()) { m_currentDatabase = i; CreateBoardView(); } } } m_databaseList->setFileCurrent(fname); m_recentFiles.append(fname); updateMenuRecent(); emit signalDatabaseOpenClose(); int lastGameIndex = m_databaseList->getLastIndex(fname); gameLoad(lastGameIndex); slotDatabaseChanged(); } QString MainWindow::exportFileName(int& format) { QFileDialog fd(this); fd.setAcceptMode(QFileDialog::AcceptSave); fd.setFileMode(QFileDialog::AnyFile); fd.setWindowTitle(tr("Export games")); fd.setViewMode(QFileDialog::Detail); fd.setDirectory(QDir::homePath()); QStringList filters; filters << tr("PGN file (*.pgn)") << tr("HTML page (*.html)") << tr("LaTeX document (*.tex)"); #if QT_VERSION < 0x050000 fd.setFilters(filters); #else fd.setNameFilters(filters); #endif if(fd.exec() != QDialog::Accepted) { return QString(); } #if QT_VERSION < 0x050000 if(fd.selectedFilter().contains("*.tex")) { format = Output::Latex; } else if(fd.selectedFilter().contains("*.html")) { format = Output::Html; } #else if(fd.selectedNameFilter().contains("*.tex")) { format = Output::Latex; } else if(fd.selectedNameFilter().contains("*.html")) { format = Output::Html; } #endif else { format = Output::Pgn; } return fd.selectedFiles().first(); } bool MainWindow::gameEditComment(Output::CommentType type) { QString annotation; int moves; int comments; int nags; game().moveCount(&moves, &comments, &nags); if((type == Output::Precomment) || (moves <= 0)) { annotation = game().annotation(CURRENT_MOVE, Game::BeforeMove); } else { annotation = game().annotation(); } CommentDialog dlg(this); dlg.setText(annotation); if(!dlg.exec()) { return false; } if((type == Output::Precomment) || (moves <= 0)) { if(moves > 0) { game().setAnnotation(dlg.text(), CURRENT_MOVE, Game::BeforeMove); } else { game().setGameComment(dlg.text()); } } else { if (moves > 0) { game().setAnnotation(dlg.text()); } else { game().setGameComment(dlg.text()); } } return true; } QAction* MainWindow::createAction(QObject* parent, QString name, const char* slot, const QKeySequence& key, QToolBar* pToolBar, QString image, const QString& tip, QAction::MenuRole menuRole) { return createAction(name, slot, key, pToolBar, image, tip, menuRole, parent); } QAction* MainWindow::createAction(QString name, const char* slot, const QKeySequence& key, QToolBar* pToolBar, QString image, const QString& tip, QAction::MenuRole menuRole, QObject* parent) { return createAction(name, slot, key, pToolBar, QIcon(image), tip, menuRole, parent); } QAction* MainWindow::createAction(QString name, const char* slot, const QKeySequence& key, QToolBar* pToolBar, QIcon icon, const QString& tip, QAction::MenuRole menuRole, QObject* parent) { KbAction* action; if (!parent) { parent = this; } if(icon.isNull()) { action = new KbAction(name, parent, key); } else { action = new KbAction(icon, name, parent, key); } if(!tip.isEmpty()) { action->setStatusTip(tip); } if(slot) { connect(action, SIGNAL(triggered()), slot); } action->setMenuRole(menuRole); if(pToolBar) { pToolBar->addAction(action); } return action; } void MainWindow::setupActions() { /* File menu */ QMenu* file = menuBar()->addMenu(tr("&File")); QToolBar* fileToolBar = addToolBar(tr("File")); fileToolBar->setObjectName("FileToolBar"); file->addAction(createAction(tr("&New database..."), SLOT(slotFileNew()), QKeySequence(), fileToolBar, ":/images/new.png")); file->addAction(createAction(tr("&Open..."), SLOT(slotFileOpen()), QKeySequence::Open, fileToolBar, ":/images/folder_open.png")); file->addAction(createAction(tr("Open in UTF8..."), SLOT(slotFileOpenUtf8()), QKeySequence())); file->addAction(createAction(tr("Open FICS"), SLOT(openFICS()), QKeySequence())); QMenu* menuRecent = file->addMenu(tr("Open &recent...")); for(int i = 0; i < MaxRecentFiles; ++i) { QAction* action = new QAction(this); action->setVisible(false); connect(action, SIGNAL(triggered()), SLOT(slotFileOpenRecent())); m_recentFileActions.append(action); menuRecent->addAction(action); } file->addSeparator(); QAction* commitAction = createAction(tr("Save Database"), SLOT(slotFileSave()), Qt::CTRL + Qt::SHIFT + Qt::Key_S, fileToolBar, ":/images/save.png"); #ifndef QT_NO_TOOLTIP commitAction->setToolTip(tr("Commit Database to disk")); #endif // QT_NO_TOOLTIP connect(this, SIGNAL(signalCurrentDBisReadWrite(bool)), commitAction, SLOT(setEnabled(bool))); file->addAction(commitAction); QMenu* exportMenu = file->addMenu(tr("&Export...")); connect(this, SIGNAL(signalCurrentDBhasGames(bool)), exportMenu, SLOT(setEnabled(bool))); exportMenu->addAction(createAction(exportMenu,tr("Current Game"), SLOT(slotFileExportGame()))); exportMenu->addAction(createAction(exportMenu,tr("&Games in filter"), SLOT(slotFileExportFilter()))); exportMenu->addAction(createAction(exportMenu,tr("&All games"), SLOT(slotFileExportAll()))); QAction* saveImage = createAction(tr("Export Image..."), SLOT(slotExportImage())); file->addAction(saveImage); file->addAction(createAction(tr("Mail PGN..."), SLOT(slotSendMail()), QKeySequence(), fileToolBar, ":/images/edit_mail.png")); file->addSeparator(); QAction* closeFileAction = createAction(tr("&Close"), SLOT(slotFileClose()), QKeySequence::Close, fileToolBar, ":/images/folder.png"); connect(this, SIGNAL(signalCurrentDBcanBeClosed(bool)), closeFileAction, SLOT(setEnabled(bool))); file->addAction(closeFileAction); file->addAction(createAction(tr("&Quit"), SLOT(slotFileQuit()), QKeySequence(), 0, QString(), QString(), QAction::QuitRole)); /* Edit menu */ QMenu* edit = menuBar()->addMenu(tr("&Edit")); QToolBar* editToolBar = addToolBar(tr("Edit")); editToolBar->setObjectName("EditToolBar"); QAction *undoAction = m_undoGroup.createUndoAction(this, tr("Undo")); QAction *redoAction = m_undoGroup.createRedoAction(this, tr("Redo")); undoAction->setShortcut(Qt::CTRL + Qt::Key_Z); redoAction->setShortcut(Qt::CTRL + Qt::Key_Y); undoAction->setIcon(QIcon(":/images/undo.png")); redoAction->setIcon(QIcon(":/images/redo.png")); editToolBar->addAction(undoAction); editToolBar->addAction(redoAction); editToolBar->addSeparator(); edit->addAction(undoAction); edit->addAction(redoAction); edit->addSeparator(); QAction* commentAfter = createAction(tr("Comment"), SLOT(slotEditComment()), Qt::CTRL + Qt::Key_A, editToolBar, ":/images/edit_after.png"); connect(this, SIGNAL(signalGameIsEmpty(bool)), commentAfter, SLOT(setDisabled(bool))); edit->addAction(commentAfter); QAction* commentBefore = createAction(tr("Comment Before"), SLOT(slotEditCommentBefore()), Qt::CTRL + Qt::ALT + Qt::Key_A); connect(this, SIGNAL(signalGameAtLineStart(bool)), commentBefore, SLOT(setEnabled(bool))); edit->addAction(commentBefore); QMenu* editVariation = edit->addMenu(tr("Variation")); QAction* promoteAction = createAction(editVariation, tr("Promote"), SLOT(slotEditVarPromote()), Qt::CTRL + Qt::Key_J, editToolBar, ":/images/format_indent_less.png"); #ifndef QT_NO_TOOLTIP promoteAction->setToolTip(tr("Promote Variation")); #endif // QT_NO_TOOLTIP connect(this, SIGNAL(signalMoveHasParent(bool)), promoteAction, SLOT(setEnabled(bool))); editVariation->addAction(promoteAction); QAction* removeVariationAction = createAction(editVariation, tr("Remove"), SLOT(slotEditVarRemove()), Qt::CTRL + Qt::Key_Delete, editToolBar, ":/images/edit_cut.png"); #ifndef QT_NO_TOOLTIP removeVariationAction->setToolTip(tr("Remove Variation")); #endif // QT_NO_TOOLTIP connect(this, SIGNAL(signalMoveHasParent(bool)), removeVariationAction, SLOT(setEnabled(bool))); editVariation->addAction(removeVariationAction); QMenu* editremove = edit->addMenu(tr("&Remove")); editremove->addAction(createAction(editremove, tr("Moves from the beginning"), SLOT(slotEditTruncateStart()), QKeySequence())); editremove->addAction(createAction(editremove, tr("Moves to the end"), SLOT(slotEditTruncateEnd()), Qt::SHIFT + Qt::Key_Delete)); edit->addSeparator(); QAction* setupBoard = createAction(tr("Setup &position..."), SLOT(slotEditBoard()), Qt::SHIFT + Qt::CTRL + Qt::Key_E, editToolBar, ":/images/setup_board.png"); edit->addAction(setupBoard); edit->addSeparator(); edit->addAction(createAction(tr("Copy PGN"), SLOT(slotEditCopyPGN()), Qt::CTRL + Qt::Key_C, editToolBar, ":/images/edit_copy.png")); edit->addAction(createAction(tr("Copy FEN"), SLOT(slotEditCopyFEN()), Qt::CTRL + Qt::SHIFT + Qt::Key_C)); edit->addAction(createAction(tr("Copy Position"), SLOT(slotEditCopyHumanFEN()))); edit->addAction(createAction(tr("Copy Image"), SLOT(slotEditCopyImage()), Qt::CTRL + Qt::ALT + Qt::Key_C, editToolBar, ":/images/camera.png")); edit->addSeparator(); edit->addAction(createAction(tr("Paste into new game"), SLOT(slotEditPaste()), Qt::CTRL + Qt::SHIFT + Qt::Key_V)); edit->addAction(createAction(tr("Paste"), SLOT(slotEditMergePGN()), Qt::CTRL + Qt::Key_V, editToolBar, ":/images/edit_paste.png")); edit->addSeparator(); edit->addAction(createAction(tr("&Preferences..."), SLOT(slotConfigure()), QKeySequence(), 0, QString(), QString(), QAction::PreferencesRole)); /* View menu */ m_menuView = menuBar()->addMenu(tr("&View")); QMenu* toolbars = m_menuView->addMenu(tr("Toolbars")); m_menuView->addSeparator(); #if defined(Q_OS_WINXX) QAction* stayOnTop = createAction(tr("Stay on Top"), SLOT(slotToggleStayOnTop())); stayOnTop->setCheckable(true); stayOnTop->setChecked(AppSettings->getValue("/MainWindow/StayOnTop").toBool()); m_menuView->addAction(stayOnTop); m_menuView->addSeparator(); #else AppSettings->setValue("/MainWindow/StayOnTop", false); #endif m_menuView->addAction(createAction(tr("Close current board"), SLOT(slotCloseBoardView()), Qt::CTRL + Qt::SHIFT + Qt::Key_W, 0, style()->standardIcon(QStyle::SP_TitleBarCloseButton))); m_menuView->addSeparator(); /* Game menu */ QMenu *gameMenu = menuBar()->addMenu(tr("&Game")); QToolBar* gameToolBar = addToolBar(tr("Game")); gameToolBar->setObjectName("GameToolBarMain"); QToolBar* dbToolBar = addToolBar(tr("Database")); dbToolBar->setObjectName("DbToolBarMain"); QAction* newAction = createAction(tr("&New"), SLOT(slotGameNew()), QKeySequence::New, dbToolBar, ":/images/new_game.png"); gameMenu->addAction(newAction); connect(this, SIGNAL(signalGameIsEmpty(bool)), newAction, SLOT(setDisabled(bool))); QMenu* loadMenu = gameMenu->addMenu(tr("&Load")); /* Game->Load submenu */ QAction * prevAction = createAction(tr("&Previous"), SLOT(slotGameLoadPrevious()), Qt::Key_F3, dbToolBar, ":/images/game_up.png"); QAction * nextAction = createAction(tr("&Next"), SLOT(slotGameLoadNext()), Qt::Key_F4, dbToolBar, ":/images/game_down.png"); connect(m_gameList, SIGNAL(signalLastGameLoaded(bool)), nextAction, SLOT(setDisabled(bool))); connect(m_gameList, SIGNAL(signalFirstGameLoaded(bool)), prevAction, SLOT(setDisabled(bool))); loadMenu->addAction(nextAction); loadMenu->addAction(prevAction); loadMenu->addAction(createAction(tr("&Go to game..."), SLOT(slotGameLoadChosen()), Qt::CTRL + Qt::Key_G)); loadMenu->addAction(createAction(tr("&Random"), SLOT(slotGameLoadRandom()), Qt::CTRL + Qt::Key_Question)); QAction* saveAction = createAction(tr("&Save..."), SLOT(slotGameSave()), QKeySequence::Save); gameMenu->addAction(saveAction); QAction* saveOnlyAction = createAction(tr("Save"), SLOT(slotGameSaveOnly())); connect(this, SIGNAL(signalGameModified(bool)), saveOnlyAction, SLOT(setEnabled(bool))); gameMenu->addAction(saveOnlyAction); gameMenu->addAction(createAction(tr("Edit tags..."), SLOT(slotGameEditTags()))); gameMenu->addSeparator(); QAction* flip = createAction(tr("&Flip board"), SLOT(slotConfigureFlip()), Qt::CTRL + Qt::Key_B, gameToolBar, ":/images/flip_board.png"); flip->setCheckable(true); connect(m_ficsConsole, SIGNAL(SignalPlayerIsBlack(bool)), flip, SLOT(setChecked(bool))); gameToolBar->addSeparator(); autoGroup = new ExclusiveActionGroup(this); ExclusiveActionGroup* autoGroup2 = new ExclusiveActionGroup(this); QAction* match = createAction(tr("Match"), SLOT(slotToggleGameMode()), Qt::CTRL + Qt::Key_M, gameToolBar, ":/images/black_chess.png"); match->setCheckable(true); autoGroup2->addAction(match); autoGroup->addAction(match); gameMenu->addAction(match); gameMenu->addSeparator(); connect(match, SIGNAL(changed()), SLOT(slotToggleGameMode())); m_training = createAction(tr("Training"), SLOT(slotToggleTraining()), Qt::CTRL + Qt::Key_R, gameToolBar, ":/images/training.png"); m_training->setCheckable(true); autoGroup2->addAction(m_training); gameMenu->addAction(m_training); m_autoRespond = createAction(tr("Auto Respond"), SLOT(slotToggleAutoRespond()), Qt::META + Qt::SHIFT + Qt::Key_R, gameToolBar, ":/images/respond.png"); gameMenu->addAction(m_autoRespond); autoGroup->addAction(m_autoRespond); m_autoRespond->setCheckable(true); m_autoPlay = createAction(tr("Auto Player"), SLOT(slotToggleAutoPlayer()), Qt::CTRL + Qt::SHIFT + Qt::Key_R, gameToolBar, ":/images/replay.png"); gameMenu->addAction(m_autoPlay); autoGroup->addAction(m_autoPlay); autoGroup2->addAction(m_autoPlay); m_autoPlay->setCheckable(true); m_autoAnalysis = createAction(tr("Auto Analysis"), SLOT(slotToggleAutoAnalysis()), Qt::CTRL + Qt::ALT + Qt::Key_R, gameToolBar, ":/images/annotate.png"); gameMenu->addAction(m_autoAnalysis); autoGroup->addAction(m_autoAnalysis); autoGroup2->addAction(m_autoAnalysis); m_autoAnalysis->setCheckable(true); gameToolBar->addSeparator(); gameMenu->addSeparator(); gameMenu->addAction(flip); /* Game->Go to submenu */ QMenu* goMenu = gameMenu->addMenu(tr("&Go to")); QAction* gotoFirstMove = createAction(goMenu, tr("&Start"), SLOT(slotGameMoveFirst()), Qt::Key_Home, gameToolBar, ":/images/first.png"); #ifndef QT_NO_TOOLTIP gotoFirstMove->setToolTip(tr("Go to first move")); #endif // QT_NO_TOOLTIP connect(this, SIGNAL(signalMoveHasPreviousMove(bool)), gotoFirstMove, SLOT(setEnabled(bool))); goMenu->addAction(gotoFirstMove); QAction* actionPrevMove = createAction(goMenu, tr("&Previous move"), SLOT(slotGameMovePrevious()), Qt::Key_Left, gameToolBar, ":/images/prev.png"); connect(this, SIGNAL(signalMoveHasPreviousMove(bool)), actionPrevMove, SLOT(setEnabled(bool))); goMenu->addAction(actionPrevMove); QAction* actionNextMove = createAction(goMenu, tr("&Next move"), SLOT(slotGameMoveNext()), Qt::Key_Right, gameToolBar, ":/images/next.png"); connect(this, SIGNAL(signalMoveHasNextMove(bool)), actionNextMove, SLOT(setEnabled(bool))); goMenu->addAction(actionNextMove); QAction* gotoLastMove = createAction(goMenu, tr("&End"), SLOT(slotGameMoveLast()), Qt::Key_End, gameToolBar, ":/images/last.png"); #ifndef QT_NO_TOOLTIP gotoLastMove->setToolTip(tr("Go to last move")); #endif // QT_NO_TOOLTIP connect(this, SIGNAL(signalMoveHasNextMove(bool)), gotoLastMove, SLOT(setEnabled(bool))); goMenu->addAction(gotoLastMove); QAction* fiveMovesForward = createAction(goMenu, tr("5 moves &forward"), SLOT(slotGameMoveNextN()), Qt::Key_Down); connect(this, SIGNAL(signalMoveHasNextMove(bool)), fiveMovesForward, SLOT(setEnabled(bool))); goMenu->addAction(fiveMovesForward); QAction* fiveMovesPrev = createAction(goMenu, tr("5 moves &backward"), SLOT(slotGameMovePreviousN()), Qt::Key_Up); connect(this, SIGNAL(signalMoveHasPreviousMove(bool)), fiveMovesPrev, SLOT(setEnabled(bool))); goMenu->addAction(fiveMovesPrev); QAction* enterVariation = createAction(goMenu, tr("Enter Variation"), SLOT(slotGameVarEnter()), Qt::CTRL + Qt::Key_Right, gameToolBar, ":/images/go_in.png"); connect(this, SIGNAL(signalMoveHasVariation(bool)), enterVariation, SLOT(setEnabled(bool))); goMenu->addAction(enterVariation); QAction* prevVariation = createAction(goMenu, tr("Previous Variation"), SLOT(slotGameVarUp()), Qt::CTRL + Qt::Key_Up, gameToolBar, ":/images/go_up.png"); connect(this, SIGNAL(signalVariationHasSibling(bool)), prevVariation, SLOT(setEnabled(bool))); goMenu->addAction(prevVariation); QAction* nextVariation = createAction(goMenu, tr("Next Variation"), SLOT(slotGameVarDown()), Qt::CTRL + Qt::Key_Down, gameToolBar, ":/images/go_down.png"); connect(this, SIGNAL(signalVariationHasSibling(bool)), nextVariation, SLOT(setEnabled(bool))); goMenu->addAction(nextVariation); QAction* backToMainLine = createAction(goMenu, tr("Back to main line"), SLOT(slotGameVarExit()), Qt::CTRL + Qt::Key_Left, gameToolBar, ":/images/go_out.png"); connect(this, SIGNAL(signalMoveHasParent(bool)), backToMainLine, SLOT(setEnabled(bool))); goMenu->addAction(backToMainLine); gameMenu->addSeparator(); QMenu* refactorMenu = gameMenu->addMenu(tr("Refactor")); refactorMenu->addAction(createAction(refactorMenu, tr("Uncomment"), SLOT(slotGameUncomment()))); refactorMenu->addAction(createAction(refactorMenu, tr("Remove Variations"), SLOT(slotGameRemoveVariations()))); /* Search menu */ QMenu* search = menuBar()->addMenu(tr("Fi&nd")); QToolBar* searchToolBar = addToolBar(tr("Search")); searchToolBar->setObjectName("SearchToolBar"); QAction* actionFindTag = createAction(tr("Find tag..."), SLOT(slotSearchTag()), Qt::CTRL + Qt::SHIFT + Qt::Key_T, searchToolBar, ":/images/find_tag.png"); connect(this, SIGNAL(signalCurrentDBhasGames(bool)), actionFindTag, SLOT(setEnabled(bool))); search->addAction(actionFindTag); QAction* actionFindBoard = createAction(tr("Find position..."), SLOT(slotSearchBoard()), Qt::CTRL + Qt::SHIFT + Qt::Key_B, searchToolBar, ":/images/find_pos.png"); connect(this, SIGNAL(signalCurrentDBhasGames(bool)), actionFindBoard, SLOT(setEnabled(bool))); search->addAction(actionFindBoard); search->addSeparator(); QAction* filterReset = createAction(tr("&Reset filter"), SLOT(slotSearchReset()), Qt::CTRL + Qt::Key_F, searchToolBar, ":/images/filter_reset.png"); connect(this, SIGNAL(signalCurrentDBhasGames(bool)), filterReset, SLOT(setEnabled(bool))); search->addAction(filterReset); QAction* reverseFilter = createAction(tr("&Reverse filter"), SLOT(slotSearchReverse()), Qt::CTRL + Qt::SHIFT + Qt::Key_F, searchToolBar, ":/images/filter_rev.png"); connect(this, SIGNAL(signalCurrentDBhasGames(bool)), reverseFilter, SLOT(setEnabled(bool))); search->addAction(reverseFilter); /* Database menu */ QMenu* menuDatabase = menuBar()->addMenu(tr("&Database")); m_menuDatabases = menuDatabase->addMenu(tr("&Switch to")); menuDatabase->addAction(createAction(tr("&Copy games..."), SLOT(slotDatabaseCopy()), Qt::Key_F5)); menuDatabase->addSeparator(); menuDatabase->addAction(createAction(tr("Clear clipboard"), SLOT(slotDatabaseClearClipboard()))); /* Help menu */ menuBar()->addSeparator(); QMenu *help = menuBar()->addMenu(tr("&Help")); /* Help Window */ DockWidgetEx* pHelpDock = new DockWidgetEx(tr("Help"), this); pHelpDock->setObjectName("Help"); HelpBrowser* pHelpBrowser = new HelpBrowser(this); pHelpBrowser->setMinimumSize(150, 100); pHelpDock->setWidget(pHelpBrowser); addDockWidget(Qt::RightDockWidgetArea, pHelpDock); QAction* helpAction = pHelpDock->toggleViewAction(); helpAction->setIcon(QIcon(":/images/help.png")); helpAction->setShortcut(Qt::Key_F1); help->addAction(helpAction); pHelpDock->hide(); help->addAction(createAction(tr("Customize Keyboard..."), SLOT(slotEditActions()))); help->addSeparator(); help->addAction(createAction(tr("Load Sample Database"), SLOT(QueryLoadDatabase()))); QAction* reportBugAction = createAction(tr("Report a bug..."), SLOT(slotHelpBug())); reportBugAction->setIcon(QIcon(":/images/bug.png")); help->addAction(reportBugAction); help->addSeparator(); help->addAction(createAction(tr("&About ChessX"), SLOT(slotHelpAbout()), QString(), 0, QString(), QString(), QAction::AboutRole)); #ifdef QT_DEBUG QMenu* debug = help->addMenu("Debug"); debug->addAction(createAction("Copy HTML", SLOT(slotGameViewSource()))); debug->addAction(createAction("Dump Movenodes", SLOT(slotGameDumpMoveNodes()))); debug->addAction(createAction("Make Screenshot", SLOT(slotScreenShot()), Qt::CTRL + Qt::Key_F12)); debug->addAction(createAction("Compile ECO", SLOT(slotCompileECO()))); #endif fileToolBar->addAction(helpAction); toolbars->addAction(fileToolBar->toggleViewAction()); toolbars->addAction(editToolBar->toggleViewAction()); toolbars->addAction(dbToolBar->toggleViewAction()); toolbars->addAction(gameToolBar->toggleViewAction()); toolbars->addAction(searchToolBar->toggleViewAction()); KbAction::restoreKeyboardLayoutForObject(this); } bool MainWindow::confirmQuit() { QString modified; for(int i = 2; i < m_databases.size(); i++) { if (!QuerySaveGame(m_databases[i])) { return false; } } for(int i = 2; i < m_databases.size(); i++) { if(m_databases[i]->isValid() && m_databases[i]->database()->isModified()) { modified += m_databases[i]->database()->name() + '\n'; } } if(!modified.isEmpty()) { int response = MessageDialog::yesNoCancel(tr("Following databases are modified:") + '\n' + modified + tr("Save them?")); if(response == MessageDialog::Cancel) { return false; } if(response == MessageDialog::Yes) { Output output(Output::Pgn); for(int i = 2; i < m_databases.size(); i++) if(m_databases[i]->database()->isModified()) output.output(m_databases[i]->database()->filename(), *(m_databases[i]->database())); } } for(int i = 2; i < m_databases.size(); i++) { slotFileCloseIndex(i); } return true; } void MainWindow::startOperation(const QString& msg) { m_operationTime.start(); slotStatusMessage(msg); m_progressBar->setMaximumHeight(m_statusFilter->height() - 3); statusBar()->insertPermanentWidget(0, m_progressBar); m_progressBar->setValue(0); m_progressBar->show(); } void MainWindow::finishOperation(const QString& msg) { slotStatusMessage(msg + tr(" (%1 s.)").arg(m_operationTime.elapsed() / 100 / 10.0)); statusBar()->removeWidget(m_progressBar); } void MainWindow::cancelOperation(const QString& msg) { slotStatusMessage(msg); statusBar()->removeWidget(m_progressBar); } bool MainWindow::QuerySaveGame(DatabaseInfo *dbInfo) { bool shouldNotify = false; if (!dbInfo) { shouldNotify = true; dbInfo = databaseInfo(); } if(dbInfo->gameNeedsSaving()) { SaveDialog dlg(this); int n = dlg.save(dbInfo->database(), dbInfo->currentGame()); if(n == QDialog::Accepted) { saveGame(dbInfo); } else if(n == SaveDialog::Discard) { dbInfo->setModified(false, Game(), ""); // Do not notify more than once } if (shouldNotify) { emit databaseModified(); } return (n != QDialog::Rejected); } return true; } void MainWindow::SimpleSaveGame() { DatabaseInfo *dbInfo = databaseInfo(); if(dbInfo && dbInfo->gameNeedsSaving()) { saveGame(dbInfo); emit databaseModified(); } } void MainWindow::restoreRecentFiles() { AppSettings->beginGroup("Favorites"); QStringList list = AppSettings->value("Files").toStringList(); QStringList attributes = AppSettings->value("Attributes").toStringList(); QList indexList; AppSettings->list("LastGameIndex", indexList); AppSettings->endGroup(); QStringList::const_iterator it = attributes.begin(); QList::const_iterator it1 = indexList.begin(); foreach(QString s, list) { QString attribute = it != attributes.end() ? *it++ : ""; m_databaseList->setFileFavorite(s, true, *it1++); bool bUtf8 = (attribute.contains("utf8")); m_databaseList->setFileUtf8(s, bUtf8); } } void MainWindow::StartCheckUpdate() { if(AppSettings->getValue("/General/onlineVersionCheck").toBool()) { m_manager = new QNetworkAccessManager(this); connect(m_manager, SIGNAL(finished(QNetworkReply*)), SLOT(slotHttpDone(QNetworkReply*))); connect(this, SIGNAL(signalVersionFound(int, int, int)), SLOT(slotVersionFound(int, int, int))); QUrl url = QUrl(QString("http://chessx.sourceforge.net/versions/current.txt")); QNetworkRequest request(url); QByteArray userAgent = QString(QCoreApplication::applicationName() + "/" + STR_VERSION_NET).toLatin1(); request.setRawHeader("User-Agent",userAgent); m_manager->get(request); } } void MainWindow::slotHttpDone(QNetworkReply *reply) { QUrl url = reply->url(); if (url.toString().endsWith("current.txt")) { if(!reply->error()) { QString answer(reply->readAll()); QRegExp rx("(\\d\\d?)\\.(\\d\\d?)\\.(\\d\\d?)"); if(answer.indexOf(rx) > -1) { int major = rx.capturedTexts().at(1).toInt(); int minor = rx.capturedTexts().at(2).toInt(); int build = rx.capturedTexts().at(3).toInt(); emit signalVersionFound(major, minor, build); } } reply->deleteLater(); StartCheckDatabase(); } } void MainWindow::QueryLoadDatabase() { LoadQuery dlg(this); if(dlg.exec() == QDialog::Accepted) { slotStatusMessage(tr("Start loading database...")); if(dlg.largeDB()) { openDatabaseUrl("http://chessx.sourceforge.net/db/bundesliga2000.pgn.zip", false); } else { openDatabaseUrl("http://chessx.sourceforge.net/db/SBL1213.pgn.zip", false); } } AppSettings->setValue("/General/BuiltinDbInstalled", QVariant(true)); } void MainWindow::StartCheckDatabase() { if ((m_recentFiles.count() == 0) && !AppSettings->getValue("/General/BuiltinDbInstalled").toBool()) { QueryLoadDatabase(); } } void MainWindow::slotVersionFound(int major, int minor, int build) { int verInternet = major * 10000 + minor * 100 + build; int verCurrent = VERSION_MAJOR * 10000 + VERSION_MINOR * 100 + REVISION; if(verInternet > verCurrent) { slotStatusMessage(tr("A new version is available at chessx.sourceforge.net")); } } void MainWindow::dragEnterEvent(QDragEnterEvent *event) { const QMimeData *mimeData = event->mimeData(); const GameMimeData* gameMimeData = qobject_cast(mimeData); const DbMimeData* dbMimeData = qobject_cast(mimeData); if(mimeData->hasUrls() || gameMimeData || dbMimeData) { event->acceptProposedAction(); } } void MainWindow::dragMoveEvent(QDragMoveEvent *event) { QTabBar* pTabBar = qobject_cast(childAt(event->pos())); if (pTabBar == NULL || pTabBar->parent() != this) { event->ignore(); return; } QPoint globalPos = mapToGlobal(event->pos()); QPoint widgetPos = pTabBar->mapFromGlobal(globalPos); int tabIndex = pTabBar->tabAt(widgetPos); if (tabIndex != m_tabDragIndex && pTabBar != m_pDragTabBar) { m_dragTimer->stop(); m_tabDragIndex = tabIndex; m_pDragTabBar = pTabBar; m_dragTimer->start(500); } if (tabIndex == -1) { event->ignore(); } else { event->acceptProposedAction(); } } void MainWindow::dragLeaveEvent(QDragLeaveEvent *event) { m_dragTimer->stop(); event->accept(); } void MainWindow::dropEvent(QDropEvent *event) { m_dragTimer->stop(); event->ignore(); } void MainWindow::slotAutoSwitchTab() { if (m_pDragTabBar && m_tabDragIndex != -1) { m_dragTimer->stop(); m_pDragTabBar->setCurrentIndex(m_tabDragIndex); m_pDragTabBar = 0; m_tabDragIndex = -1; } } bool MainWindow::gameMode() const { return m_gameMode; } void MainWindow::setGameMode(bool gameMode) { m_gameMode = gameMode; emit signalGameModeChanged(m_gameMode); } ./chessx-1.3.2/src/gui/mainwindow.h000644 000765 000024 00000054367 12520653767 016654 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2009 by Michal Rudolf mrudolf@kdewebdev.org * * * * 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. * ***************************************************************************/ #ifndef __MAINWINDOW_H__ #define __MAINWINDOW_H__ #include "historylist.h" #include "output.h" #include #include #include #include class Analysis; class AnalysisWidget; class Board; class BoardView; class ChessBrowser; class Database; class DatabaseInfo; class DatabaseList; class DownloadManager; class ECOListWidget; class EcoThread; class EditAction; class EventListWidget; class ExclusiveActionGroup; class FicsClient; class FicsConsole; class Game; class GameList; class GameWindow; class OpeningTreeWidget; class PlayerListWidget; class QLabel; class QNetworkAccessManager; class QNetworkReply; class QProgressBar; class QSlider; class QSplitter; class QTimer; class QToolBar; class SaveDialog; class TableView; class ToolMainWindow; class TranslatingSlider; /** @defgroup GUI GUI - User interface components */ /** @ingroup GUI The MainWindow class represents main ChessX window. */ class MainWindow: public QMainWindow { Q_OBJECT public: MainWindow(); ~MainWindow(); static const int MaxRecentFiles = 10; protected: /** QObjects Eventfilter for QApplication events */ bool eventFilter(QObject *obj, QEvent *event); /** Overridden to ask for confirmation */ void closeEvent(QCloseEvent* e); /** Filter key events. */ void keyPressEvent(QKeyEvent *e); /** Filter key events. */ void evaluateSanNag(QKeyEvent *e); /** @return active database */ Database* database(); /** @return active database */ const Database* database() const; /** @return active database structure */ DatabaseInfo* databaseInfo(); /** @return database name of database @p index (or active, if no parameter). */ QString databaseName(int index = -1) const; /** @return active database structure */ const DatabaseInfo* databaseInfo() const; /** @return database structure */ DatabaseInfo* databaseInfo(QString name); /** @return active game */ Game& game(); const Game& game() const; /** @return index of active game */ int gameIndex() const; /** Edit comment */ bool gameEditComment(Output::CommentType type); /** Get export filename*/ QString exportFileName(int& format); /** Load game @p index. If @p force is false, does nothing for incorrect @p index . With @p force set, creates empty game. */ void gameLoad(int index); /** Make given number of moves in current game */ bool gameMoveBy(int change); /** Update recent files menu */ void updateMenuRecent(); /** Get current mode */ bool gameMode() const; /** Is premoving available */ bool premoveAllowed() const; /** Set current Mode */ void setGameMode(bool gameMode); /** Add a variation from keyboard */ bool addVariation(const QString& s); public slots: /** Enter gaming mode */ void slotToggleGameMode(); /** Flip the board view */ void slotFlipView(bool); void enterGameMode(bool gameMode); /** Open database */ void openDatabase(QString fname); /** Open database from URL*/ void openDatabaseUrl(QString fname, bool utf8); /** Open a list of databases from a ZIP archive */ void openDatabaseArchive(QString fname, bool utf8); /** Open database from a local File */ void openDatabaseFile(QString fname, bool utf8); /** Add favorite status to a database */ void setFavoriteDatabase(QString fname); /** Promote current variation. */ void slotEditVarPromote(); /** Remove current variation. */ void slotEditVarRemove(); /** Show Setup Position dialog and set current board. */ void slotEditBoard(); /** Edit current comment. */ void slotEditComment(); /** Edit current comment. */ void slotEditCommentBefore(); /** Set position's FEN to clipboard. */ void slotEditCopyFEN(); /** Set position's human readable FEN to clipboard. */ void slotEditCopyHumanFEN(); /** Set position using FEN from clipboard. */ void slotEditPasteFEN(); /** Set position's PGN to clipboard. */ void slotEditCopyPGN(); /** Set position using PGN from clipboard. */ bool slotEditPastePGN(); /** Set position using PGN from clipboard. */ void slotEditPaste(); /** Set game or position from clipboard */ void slotEditCopyImage(); /** Truncate moves to the end of the game. */ void slotEditTruncateEnd(); /** Truncate moves from the beginning of the game. */ void slotEditTruncateStart(); /** Mail position's PGN. */ void slotSendMail(); /** */ void slotReconfigure(); /** */ void slotConfigure(); /** About ChessX */ void slotHelpAbout(); /** Display Tracker at ChessX SourceForge */ void slotHelpBug(); void slotConfigureFlip(); /** Go to first move of the game */ void slotGameMoveFirst(); /** Go to next move of the game */ bool slotGameMoveNext(); /** Go to previous move of the game */ void slotGameMovePrevious(); /** Go to last move of the game */ void slotGameMoveLast(); /** Go N moves forward in the game. For now fixed at @p 10 */ void slotGameMoveNextN(); /** Go N moves backward in the game. For now fixed at @p 10 */ void slotGameMovePreviousN(); /** Load first game */ void slotGameLoadFirst(); /** Load next game */ void slotGameLoadNext(); /** Load previous game */ void slotGameLoadPrevious(); /** Load last game */ void slotGameLoadLast(); /** Load random game */ void slotGameLoadRandom(); /** Choose a game and load it */ void slotGameLoadChosen(); /** Enter variation. */ void slotGameVarEnter(); /** Enter previous variation. */ void slotGameVarUp(); /** Enter next variation. */ void slotGameVarDown(); /** Exit variation. */ void slotGameVarExit(); /** Modify game on user's request. */ void slotGameModify(const EditAction& action); /** Get a pointer or Null to the active game. */ void slotGetActiveGame(const Game** game); /** Merge the game with index @p gameIndex into the active game. */ void slotMergeActiveGame(QList gameIndexList); void slotMergeActiveGame(int gameIndex); /** Merge all games from the database into the active game. */ void slotMergeAllGames(); /** Merge all games from the filter into the active game. */ void slotMergeFilter(); /** Update GameView content after game was change. Triggers also @ref slotMoveChanged. */ void slotGameChanged(); /** Handle link click in Game View panel */ void slotGameViewLink(const QUrl& link); /** Handle link click in Game View panel */ void slotGameViewLink(const QString& link); /** Get GameView source. */ void slotGameViewSource(); /** Dump all node information to the console */ void slotGameDumpMoveNodes(); /** Create new empty game (to be appended to the database. */ void slotGameNew(); /** Save game, replacing old one if it is edited, appending if it is new @return false if the saving was cancelled, true if changes are to be saved or discarded. */ bool slotGameSave(); /** Save game, replacing old one if it is edited, appending if it is new @return false if the saving was cancelled, true if changes are to be saved or discarded. */ void slotGameSaveOnly(); /** Start a dialog which edits the games tags */ void slotGameEditTags(); /** Add variation to current position. */ void slotGameAddVariation(const Analysis& analysis); /** Add variation to current position. */ bool slotGameAddVariation(const QString& san); /** Remove all comments. */ void slotGameUncomment(); /** Remove all variations */ void slotGameRemoveVariations(); /** Start / Stop AutoPlay feature */ void slotToggleAutoPlayer(); /** Auto Play Timeout - make next move! */ void slotToggleAutoAnalysis(); /** Auto Play Timeout - make next move! */ void slotAutoPlayTimeout(); /** Auto Play Timeout - make next move! */ void slotEngineTimeout(const Analysis& analysis); /** Filter was changed - update status bar information */ void slotFilterChanged(); /** Load given game (triggered from Game List) */ void slotFilterLoad(int index); /** Creates an empty chessxdatabase*/ void slotFileNew(); /** Open File dialog, choose a database and open it */ void slotFileOpen(); /** Open File dialog, choose a database and open it in UTF8 format */ void slotFileOpenUtf8(); /** Save database to current file. */ void slotFileSave(); /** Open given database from Recent files list. */ void slotFileOpenRecent(); /** Exports game to selected file type. */ void slotFileExportGame(); /** Exports games in filter to selected file type. */ void slotFileExportFilter(); /** Exports all games to selected file type. */ void slotFileExportAll(); /** Close current database. Switches to next active (or clipboard if there is none). */ void slotFileClose(); /** Close selected database. */ void slotFileCloseIndex(int); /** Close selected database. */ void slotFileCloseName(QString fname); /** Quit ChessX. Ask for confirmation before */ void slotFileQuit(); /** Find games matching single tag. */ void slotSearchTag(); /** Find current position */ void slotSearchBoard(); /** Receives the signal of a search board operation started */ void slotBoardSearchStarted(); /** Receives the signal of a search board operation end */ void slotBoardSearchUpdate(int progress); void slotBoardSearchFinished(); /** Reset current filter */ void slotSearchReset(); /** Training mode */ void slotToggleTraining(); /** Training mode - auto responder */ void slotToggleAutoRespond(); /** Reverse current filter */ void slotSearchReverse(); /** Make an Update of the game list after the opening tree was updated */ void slotTreeUpdate(bool dbIsFilterSource); /** Show opening tree */ void slotSearchTree(); /** Move @p index was selected in Opening Tree. */ void slotSearchTreeMove(const QModelIndex& index); /** Made given move on the board */ void slotBoardMove(Square from, Square to, int button=0); /** Move started - use together with moveFinished to avoid automatic moves during user interaction */ void slotMoveStarted(); /** Move finished - use together with moveStarted to avoid automatic moves during user interaction */ void slotMoveFinished(); /** Board square was clicked */ void slotBoardClick(Square square, int button, QPoint pos, Square from); /** Browse current game by mouse wheel */ void slotBoardMoveWheel(int wheel); /** Update GUI after current move was changed. Update BoardView to current board, updates GameInfo and highlight current move in GameView. */ void slotMoveChanged(); /** Move to a given move (@p ply) */ void slotGameMoveToPly(int ply); /** Show temporary message. */ void slotStatusMessage(const QString& msg = QString()); /** Show progress bar for open file. */ void slotOperationProgress(int progress); /** Change database. */ void slotDatabaseChange(); /** Copy games between databases. */ void slotDatabaseCopy(int preselect = 1, QList gameIndexList = QList()); /** Clear the clipboard database */ void slotDatabaseClearClipboard(); /** Copy games between databases. */ void slotDatabaseCopySingle(QList listGames); /** Database was changed - change informations. */ void slotDatabaseChanged(); /** Delete current game. */ void slotDatabaseDeleteGame(QList gameIndexList); /** Delete all game in filter. */ void slotDatabaseDeleteFilter(); /** Slot that updates internal info upon loading a complete db */ void slotDataBaseLoaded(DatabaseInfo* db); /** Restore game state from a undo or redo operation */ void slotDbRestoreState(const Game&); /** Fill up the current game (drag request from game list) */ void slotGetGameData(Game& g); /** Copy game from other database by drag'n'drop */ void copyGames(QString fileName, QList indexes); /** Copy all games from other database by drag'n'drop */ void copyDatabase(QString target, QString src); /** Request renaming a event in the current database */ void slotRenameEvent(QString ts); /** Request renaming a player in the current database */ void slotRenamePlayer(QString ts); /** Pass a tag changing request from rename dialog to database */ void slotRenameRequest(QString tag, QString newValue, QString oldValue); /** Export an image to a file */ void slotExportImage(); /** Build a polyglot from the database @p s */ void slotMakeBook(QString s); /** Show a path in finder */ void slotShowInFinder(QString path); /** Show a path in finder */ void slotBookBuildError(QString path); /** Merge the clipboard into the current game */ void slotEditMergePGN(); /** Handle a new board from a FICS request */ void HandleFicsBoardRequest(int, QString); /** Enter a result from a fics game */ void HandleFicsResultRequest(QString s); /** EStart a new game from FICS */ void HandleFicsNewGameRequest(); /** Save the current game from FICS */ void HandleFicsSaveGameRequest(); /** Add a tags value to a game from FICS */ void HandleFicsAddTagRequest(QString tag,QString value); /** Close FICS upon request from the console */ void HandleFicsCloseRequest(); protected slots: /** Update recent files menu */ void updateMenuDatabases(); /** Receiver for a failed loading of a database */ void loadError(QUrl url); /** Receiver for a successful loading of a database */ void loadReady(QUrl url, QString fileName); /** Remove Color of the square in m_annotationSquare */ void slotNoColorSquare(); /** Colorize the square in m_annotationSquare green */ void slotGreenSquare(); /** Colorize the square in m_annotationSquare yellow */ void slotYellowSquare(); /** Colorize the square in m_annotationSquare red */ void slotRedSquare(); /** Remove any arrow */ void slotNoArrowHere(); /** Draw a green arrow */ void slotGreenArrowHere(); /** Draw a yellow arrow */ void slotYellowArrowHere(); /** Draw a red arrow */ void slotRedArrowHere(); /** Set the Stay On Top Property */ void slotToggleStayOnTop(); /** Activate an existing board document */ void slotActivateBoardView(int); /** Activate an existing board document */ void slotCloseBoardView(int n = -1); /** Make a screenshot and save it to file */ void slotScreenShot(); /** Make a screenshot and save it to file */ void slotCompileECO(); /** Support dragging things to non-top tabs */ void slotAutoSwitchTab(); /** Edit Accelerators */ void slotEditActions(); /** Value for Move Interval is changed */ void slotMoveIntervalChanged(int); /** Value for Move Interval Slider is changed */ void slotSetSliderText(int); /** Query for a database to load */ void QueryLoadDatabase(); /** Handle a disconnection from fics */ void FicsDisconnected(); /** Handle event that a FICS session was opened */ void FicsConnected(); void HandleFicsRequestRemoveMove(); void openFICS(); void slotGameVarEnter(int index); protected: void moveChanged(); bool pasteFen(QString& errorText, QString fen, bool newGame=false); void copyGame(int target, int index); Database* getDatabaseByPath(QString path); DatabaseInfo* getDatabaseInfoByPath(QString path); void updateOpeningTree(const Board& b, bool atEnd); protected: void dragEnterEvent(QDragEnterEvent *event); void dragMoveEvent(QDragMoveEvent *event); void dragLeaveEvent(QDragLeaveEvent *event); void dropEvent(QDropEvent *event); int m_tabDragIndex; QTabBar* m_pDragTabBar; QTimer* m_dragTimer; void activateBoardView(int n); void activateBoardViewForDbIndex(void *dbIndex); void closeBoardViewForDbIndex(void *dbIndex); int findBoardView(void *dbIndex) const; void UpdateMaterial(); bool ActivateDatabase(QString fname); bool addRemoteMoveFrom64Char(QString s); void newGame(); void AutoMoveAtEndOfGame(); signals: /** Re-read configuration. */ void reconfigure(); /** Main game has been updated. */ void boardChange(const Board& board); /** Current database changed. */ void databaseChanged(DatabaseInfo* databaseInfo); /** Emitted upon finishing a file download */ void LoadFinished(DatabaseInfo*); /** Emitted upon a update for the elapsed / clock time */ void displayTime(const QString&, Color); void signalMoveHasVariation(bool); void signalVariationHasSibling(bool); void signalMoveHasPreviousMove(bool); void signalMoveHasNextMove(bool); void signalMoveHasParent(bool); void signalGameIsEmpty(bool); void signalGameAtLineStart(bool); void signalGameModeChanged(bool); void signalGameModified(bool gameNeedsSaving); void signalCurrentDBisReadWrite(bool); void signalCurrentDBcanBeClosed(bool); void signalCurrentDBhasGames(bool); void signalGameLoaded(); void signalVersionFound(int, int, int); void databaseModified(); void signalDatabaseOpenClose(); void enterText(QString); private slots: /** Cleanup after ECO file loaded. */ void ecoLoaded(QObject*, bool); void slotDatabaseModified(); void slotHttpDone(QNetworkReply *reply); void slotVersionFound(int major, int minor, int build); void slotUpdateOpeningTreeWidget(); private: /** Create single menu action. */ QAction* createAction(QString name, const char* slot, const QKeySequence& key = QKeySequence(), QToolBar* pToolBar = 0, QString image = QString(), const QString& tip = QString(), QAction::MenuRole menuRole = QAction::NoRole, QObject *parent=0); /** Create single menu action. */ QAction* createAction(QObject *parent, QString name, const char* slot, const QKeySequence& key = QKeySequence(), QToolBar* pToolBar = 0, QString image = QString(), const QString& tip = QString(), QAction::MenuRole menuRole = QAction::NoRole); /** Create single menu action. */ QAction* createAction(QString name, const char* slot, const QKeySequence& key, QToolBar* pToolBar, QIcon icon = QIcon(), const QString& tip = QString(), QAction::MenuRole menuRole = QAction::NoRole, QObject *parent=0); /** Create all the menus and actions */ void setupActions(); /** Confirm quitting and save modified databases. */ bool confirmQuit(); /** Start operation with progress reporting. Shows progress bar. */ void startOperation(const QString& msg); /** Finish operation with progress reporting. Hides progress bar. */ void finishOperation(const QString& msg); /** Cancel operation with progress reporting. Hides progress bar. */ void cancelOperation(const QString& msg); /** Restore the list of recent files */ void restoreRecentFiles(); /** Query User and save game if game was modified @return true if the next action shall be performed */ bool QuerySaveGame(DatabaseInfo* dbInfo = 0); /** Save game without query into current database */ void SimpleSaveGame(); /** Save game without query */ void saveGame(DatabaseInfo *dbInfo); /** Load next game without query */ bool loadNextGame(); /** Save Database without query or progress bar */ void saveDatabase(DatabaseInfo *dbInfo); /** Save Database with query */ bool QuerySaveDatabase(); /** Create a new unassociated boardview */ BoardView* CreateBoardView(); /** Update Board Information */ void UpdateBoardInformation(); /** Update Game Title */ void UpdateGameTitle(); /** Update Game Text */ void UpdateGameText(); /** Check if an update is available online */ void StartCheckUpdate(); /** Check if download of database is an option */ void StartCheckDatabase(); /* Dialogs */ GameList* m_gameList; PlayerListWidget* m_playerList; ECOListWidget* m_ecoList; EventListWidget* m_eventList; DatabaseList* m_databaseList; /* Main gui parts */ BoardView* m_boardView; QSplitter* m_boardSplitter; ChessBrowser* m_gameView; OpeningTreeWidget* m_openingTreeWidget; QPointer m_progressBar; QPointer m_sliderSpeed; QLabel* m_sliderText; GameWindow* m_gameWindow; QToolBar* m_gameToolBar; QTabWidget* m_tabWidget; QList m_boardViews; /* Status */ QLabel* m_statusFilter; QLabel* m_statusApp; QLabel* m_gameTitle; /* Menus */ QMenu* m_menuDatabases; QMenu* m_menuView; /* Local variables */ HistoryList m_recentFiles; QStringList m_favoriteFiles; Output* m_output; QList m_databases; QList m_recentFileActions; QList m_databaseActions; int m_currentDatabase; QString m_eco; QTime m_operationTime; /** Currently updated tree. May be NULL if no update in progress. */ QString m_nagText; QTimer* m_autoPlayTimer; QTimer* m_messageTimer; int m_currentFrom; int m_currentTo; AnalysisWidget* m_mainAnalysis; Board m_AutoInsertLastBoard; Square m_annotationSquare; Square m_annotationSquareFrom; QChar m_lastColor; ExclusiveActionGroup* autoGroup; QAction* m_training; QAction* m_autoRespond; QAction* m_autoPlay; QAction* m_autoAnalysis; QUndoGroup m_undoGroup; QNetworkAccessManager* m_manager; DownloadManager* downloadManager; bool m_machineHasToMove; bool m_gameMode; FicsClient* m_ficsClient; FicsConsole* m_ficsConsole; QActionGroup* m_gameModeGroup; }; #endif ./chessx-1.3.2/src/gui/mainwindowabout.cpp000644 000765 000024 00000001565 12507517064 020224 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2010 by Michal Rudolf mrudolf@kdewebdev.org * * * * 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. * ***************************************************************************/ #include "aboutdlg.h" #include "mainwindow.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER void MainWindow::slotHelpAbout() { AboutDlg dlg(this); dlg.exec(); } ./chessx-1.3.2/src/gui/mainwindowactions.cpp000644 000765 000024 00000206271 12521415120 020535 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2009 by Michal Rudolf mrudolf@kdewebdev.org * * * * 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. * ***************************************************************************/ #include "actiondialog.h" #include "analysiswidget.h" #include "board.h" #include "boardsearchdialog.h" #include "boardsetup.h" #include "boardview.h" #include "copydialog.h" #include "chessbrowser.h" #include "compileeco.h" #include "databaseinfo.h" #include "databaselist.h" #include "dlgsavebook.h" #include "ecolistwidget.h" #include "editaction.h" #include "eventlistwidget.h" #include "exclusiveactiongroup.h" #include "ficsclient.h" #include "ficsconsole.h" #include "game.h" #include "gamelist.h" #include "gamewindow.h" #include "mainwindow.h" #include "messagedialog.h" #include "memorydatabase.h" #include "openingtreewidget.h" #include "output.h" #include "pgndatabase.h" #include "playerlistwidget.h" #include "polyglotwriter.h" #include "preferences.h" #include "promotiondialog.h" #include "recipientaddressdialog.h" #include "renametagdialog.h" #include "shellhelper.h" #include "settings.h" #include "tablebase.h" #include "tableview.h" #include "tagdialog.h" #include "tags.h" #include "version.h" #include #include #include #include #include #include #include #include #include #ifdef USE_SOUND #include #endif #include #ifdef Q_OS_WIN #include #endif #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER void MainWindow::slotFileNew() { QString file = QFileDialog::getSaveFileName(this, tr("New database"), AppSettings->value("/General/databasePath").toString(), tr("PGN database (*.pgn)")); if(file.isEmpty()) { return; } if(!file.endsWith(".pgn")) { file += ".pgn"; } QFile pgnfile(file); if(!pgnfile.open(QIODevice::WriteOnly)) { MessageDialog::warning(tr("Cannot create ChessX database."), tr("New database")); } else { pgnfile.close(); openDatabase(file); AppSettings->setValue("/General/databasePath", QFileInfo(file).absolutePath()); } } void MainWindow::slotFileOpen() { QStringList files = QFileDialog::getOpenFileNames(this, tr("Open database"), AppSettings->value("/General/databasePath").toString(), tr("PGN databases (*.pgn);;Polyglot books (*.bin)")); foreach(QString file, files) { if(!file.isEmpty()) { AppSettings->setValue("/General/databasePath", QFileInfo(file).absolutePath()); openDatabaseUrl(file, false); } } } void MainWindow::slotFileOpenUtf8() { QStringList files = QFileDialog::getOpenFileNames(this, tr("Open database"), AppSettings->value("/General/databasePath").toString(), tr("PGN databases (*.pgn)")); foreach(QString file, files) { if(!file.isEmpty()) { AppSettings->setValue("/General/databasePath", QFileInfo(file).absolutePath()); openDatabaseUrl(file, true); } } } void MainWindow::slotFileOpenRecent() { QAction *action = qobject_cast(sender()); if(action) { openDatabase(action->data().toString()); } } void MainWindow::saveDatabase(DatabaseInfo* dbInfo) { if(!dbInfo->database()->isReadOnly() && dbInfo->database()->isModified()) { Output output(Output::Pgn); output.output(dbInfo->database()->filename(), *dbInfo->database()); } emit databaseChanged(dbInfo); } bool MainWindow::QuerySaveDatabase() { if(QuerySaveGame()) { if(m_currentDatabase && qobject_cast(database())) { if(databaseInfo()->isValid() && database()->isModified()) { int result = MessageDialog::yesNoCancel(tr("The current database is modified!") + '\n' + tr("Save it?")); if(MessageDialog::Yes == result) { startOperation(tr("Saving %1...").arg(database()->name())); Output output(Output::Pgn); connect(&output, SIGNAL(progress(int)), SLOT(slotOperationProgress(int))); output.output(database()->filename(), *database()); finishOperation(tr("%1 saved").arg(database()->name())); return true; } return result != MessageDialog::Cancel; } } return true; } return false; } void MainWindow::slotFileSave() { if(database()->isReadOnly()) MessageDialog::warning(tr("The database %1 is read-only and cannot be saved.") .arg(database()->name())); else if(m_currentDatabase && qobject_cast(database())) { startOperation(tr("Saving %1...").arg(database()->name())); Output output(Output::Pgn); connect(&output, SIGNAL(progress(int)), SLOT(slotOperationProgress(int))); output.output(database()->filename(), *database()); finishOperation(tr("%1 saved").arg(database()->name())); } } void MainWindow::slotFileClose() { if(m_currentDatabase) { // Don't remove Clipboard if(databaseInfo()->IsLoaded()) { if (database()->name() == "FICS") { m_ficsClient->exitSession(); closeBoardViewForDbIndex(databaseInfo()); m_databaseList->setFileClose("FICS", 0); emit signalDatabaseOpenClose(); if (m_currentDatabase != 0) { m_currentDatabase = 0; // Switch to clipboard is always safe activateBoardViewForDbIndex(databaseInfo()); m_databaseList->setFileCurrent("Clipboard"); slotDatabaseChanged(); } } else if(QuerySaveDatabase()) { closeBoardViewForDbIndex(databaseInfo()); DatabaseInfo* aboutToClose = databaseInfo(); m_openingTreeWidget->cancel(); m_databaseList->setFileClose(aboutToClose->filePath(), aboutToClose->currentIndex()); m_databases.removeAt(m_currentDatabase); aboutToClose->close(); emit signalDatabaseOpenClose(); delete aboutToClose; if (m_currentDatabase != 0) { m_currentDatabase = 0; // Switch to clipboard is always safe activateBoardViewForDbIndex(databaseInfo()); m_databaseList->setFileCurrent("Clipboard"); slotDatabaseChanged(); } } } } } void MainWindow::slotFileCloseIndex(int n) { if(m_currentDatabase == n) { slotFileClose(); } else if(n) // Don't remove Clipboard { if(m_databases[n]->IsLoaded()) { if (m_databases[n]->database()->name() == "FICS") { m_ficsClient->exitSession(); closeBoardViewForDbIndex(m_databases[n]); m_databaseList->setFileClose("FICS", 0); emit signalDatabaseOpenClose(); return; } if (!QuerySaveGame(m_databases[n])) { return; } closeBoardViewForDbIndex(m_databases[n]); m_openingTreeWidget->cancel(); m_databaseList->setFileClose(m_databases[n]->filePath(), m_databases[n]->currentIndex()); m_databases[n]->close(); delete m_databases[n]; m_databases.removeAt(n); if(m_currentDatabase > n) { // hack as we have just moved the index by one m_currentDatabase--; } emit signalDatabaseOpenClose(); } } } void MainWindow::slotFileCloseName(QString fname) { for(int i = 0; i < m_databases.count(); i++) { if(m_databases[i]->database()->filename() == fname) { slotFileCloseIndex(i); return; } } } void MainWindow::slotFileExportGame() { int format; QString filename = exportFileName(format); if(!filename.isEmpty()) { Output output((Output::OutputType)format); output.output(filename, databaseInfo()->currentGame()); } } void MainWindow::slotFileExportFilter() { int format; QString filename = exportFileName(format); if(!filename.isEmpty()) { Output output((Output::OutputType)format); output.output(filename, *(databaseInfo()->filter())); } } void MainWindow::slotFileExportAll() { int format; QString filename = exportFileName(format); if(!filename.isEmpty()) { Output output((Output::OutputType)format); output.output(filename, *database()); } } void MainWindow::slotFileQuit() { qApp->closeAllWindows(); } void MainWindow::slotConfigure() { PreferencesDialog dlg(this); connect(&dlg, SIGNAL(reconfigure()), SLOT(slotReconfigure())); dlg.exec(); } void MainWindow::slotReconfigure() { PreferencesDialog::setupIconInMenus(this); if(AppSettings->getValue("/MainWindow/VerticalTabs").toBool()) { setDockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowNestedDocks | QMainWindow::VerticalTabs); } else { setDockOptions(QMainWindow::AnimatedDocks | QMainWindow::AllowTabbedDocks | QMainWindow::AllowNestedDocks); } #ifdef Q_OS_WINXX if(AppSettings->getValue("/MainWindow/StayOnTop").toBool()) { SetWindowPos((HWND)winId(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); } else { SetWindowPos((HWND)winId(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); } #endif m_recentFiles.restore(); updateMenuRecent(); emit reconfigure(); // Re-emit for children delete m_output; m_output = new Output(Output::NotationWidget); UpdateGameText(); } void MainWindow::UpdateGameText() { if(m_gameView) { m_gameView->setText(m_output->output(&game(), m_training->isChecked())); } } void MainWindow::UpdateMaterial() { if(m_gameView && databaseInfo()) { m_gameView->slotDisplayMaterial(databaseInfo()->material()); } } void MainWindow::slotToggleStayOnTop() { #ifdef Q_OS_WINXX QAction* stayOnTop = (QAction*) sender(); if(stayOnTop) { AppSettings->setValue("/MainWindow/StayOnTop", stayOnTop->isChecked()); } if(AppSettings->getValue("/MainWindow/StayOnTop").toBool()) { SetWindowPos((HWND)winId(), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); } else { SetWindowPos((HWND)winId(), HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE); } show(); #endif } void MainWindow::slotConfigureFlip() { m_boardView->flip(); } void MainWindow::slotEditCopyFEN() { QApplication::clipboard()->setText(game().toFen()); } void MainWindow::slotEditCopyHumanFEN() { QApplication::clipboard()->setText(game().toHumanFen()); } void MainWindow::slotEditCopyPGN() { Output output(Output::Pgn); QString pgn = output.output(&game()); QApplication::clipboard()->setText(pgn); } void MainWindow::slotSendMail() { Game curgame = game(); Output output(Output::Pgn); QString pgn = output.output(&curgame); RecipientAddressDialog recAdDialog(this); if (recAdDialog.exec() == QDialog::Accepted) { const QString white = curgame.tag(TagNameWhite); const QString black = curgame.tag(TagNameBlack); QString recipient = recAdDialog.getEmail(); QString mailTo("mailto:%1?subject=Game %2-%3&body=%4"); QUrl url = mailTo.arg(recipient).arg(white).arg(black).arg(pgn); QDesktopServices::openUrl(url); } } void MainWindow::slotEditComment() { gameEditComment(Output::Comment); } void MainWindow::slotEditCommentBefore() { gameEditComment(Output::Precomment); } void MainWindow::slotEditVarPromote() { if(!game().isMainline()) { game().promoteVariation(game().currentMove()); } } void MainWindow::slotEditVarRemove() { if(!game().isMainline()) { game().removeVariation(game().variationNumber()); } } bool MainWindow::pasteFen(QString& msg, QString fen, bool newGame) { // Prepare Fen - clean up code like this: // [FEN "***"] to *** if(fen.contains("\"")) { int n1 = fen.indexOf('"'); int n2 = fen.lastIndexOf('"'); if(n2 > n1 + 1) { fen = fen.mid(n1 + 1, n2 - n1 - 1); } } // Another go at Fens copied from Wikis: [FEN]***[/FEN] is reduced to *** fen.remove(QRegExp("\\[[^\\]]*\\]")); Board board; if(!board.isValidFen(fen)) { msg = fen.length() ? tr("Text in clipboard does not represent valid FEN:
%1").arg(fen) : tr("There is no text in clipboard."); return false; } board.fromFen(fen); if(board.validate() != Valid) { msg = tr("The clipboard contains FEN, but with illegal position. " "You can only paste such positions in Setup position dialog."); return false ; } if (newGame) { slotGameNew(); } game().setStartingBoard(board,"Set starting board"); return true; } void MainWindow::slotEditPasteFEN() { QString fen = QApplication::clipboard()->text().simplified(); QString msg; if(!pasteFen(msg, fen)) { MessageDialog::warning(msg); } } bool MainWindow::slotEditPastePGN() { QString pgn = QApplication::clipboard()->text().trimmed(); if(!pgn.isEmpty()) { MemoryDatabase pgnDatabase; if(pgnDatabase.openString(pgn)) { Game g; if(pgnDatabase.loadGame(0, g)) { slotGameNew(); game().copyFromGame(g); return true; } } } return false; } void MainWindow::slotEditPaste() { QString fen = QApplication::clipboard()->text().simplified(); QString dummy; if(!pasteFen(dummy, fen, true)) { slotEditPastePGN(); } } void MainWindow::slotEditMergePGN() { if (game().isEmpty()) { QString fen = QApplication::clipboard()->text().simplified(); QString dummy; if(pasteFen(dummy, fen)) { return; } } QString pgn = QApplication::clipboard()->text().trimmed(); if(!pgn.isEmpty()) { MemoryDatabase pgnDatabase; if(pgnDatabase.openString(pgn)) { Game g; if(pgnDatabase.loadGame(0, g)) { game().mergeWithGame(g); } } } } void MainWindow::slotEditTruncateEnd() { game().truncateVariation(Game::AfterMove); } void MainWindow::slotEditTruncateStart() { game().truncateVariation(Game::BeforeMove); } void MainWindow::slotEditBoard() { BoardSetupDialog dlg(this); dlg.setBoard(game().board()); dlg.setFlipped(m_boardView->isFlipped()); if(dlg.exec() == QDialog::Accepted) { game().setStartingBoard(dlg.board(),tr("Set starting board")); } } bool MainWindow::addRemoteMoveFrom64Char(QString s) { MoveId mId = game().addMoveFrom64Char(s); if (mId != NO_MOVE) // move is illegal { if (mId != CURRENT_MOVE) // my own move { Move m = game().move(mId); m_currentFrom = m.from(); m_currentTo = m.to(); moveChanged(); if (AppSettings->getValue("/Sound/Move").toBool()) { #ifdef USE_SOUND QSound::play(":/sounds/move.wav"); #endif } } return true; } return false; } void MainWindow::HandleFicsNewGameRequest() { ActivateDatabase("FICS"); newGame(); } void MainWindow::HandleFicsSaveGameRequest() { ActivateDatabase("FICS"); if (AppSettings->getValue("/Sound/Move").toBool()) { #ifdef USE_SOUND QSound::play(":/sounds/fanfare.wav"); #endif } SimpleSaveGame(); } void MainWindow::HandleFicsCloseRequest() { ActivateDatabase("FICS"); slotFileClose(); } void MainWindow::HandleFicsResultRequest(QString s) { s = s.remove(QRegExp("\\{[^\\}]*\\}")).trimmed(); ActivateDatabase("FICS"); game().setResult(ResultFromString(s)); } void MainWindow::HandleFicsAddTagRequest(QString tag,QString value) { ActivateDatabase("FICS"); game().setTag(tag, value); } void MainWindow::HandleFicsRequestRemoveMove() { ActivateDatabase("FICS"); if (game().backward()) { game().dbTruncateVariation(); } } void MainWindow::FicsConnected() { ActivateDatabase("FICS"); m_ficsConsole->setEnabled(true); m_ficsConsole->show(); } void MainWindow::FicsDisconnected() { m_ficsConsole->setEnabled(false); slotFileCloseIndex(1); } void MainWindow::HandleFicsBoardRequest(int cmd,QString s) { ActivateDatabase("FICS"); if ((cmd == FicsClient::BLKCMD_EXAMINE) || (!addRemoteMoveFrom64Char(s)) || (cmd == FicsClient::BLKCMD_OBSERVE)) { // Finally set a new starting board Board b; if (b.from64Char(s)) { QStringList l = s.split(' '); QString nameWhite = l[C64_NAME_WHITE]; QString nameBlack = l[C64_NAME_BLACK]; game().setTag(TagNameWhite, nameWhite); game().setTag(TagNameBlack, nameBlack); if (game().board() != b) { game().setStartingBoard(b,tr("Set starting board")); if (AppSettings->getValue("/Sound/Move").toBool()) { #ifdef USE_SOUND QSound::play(":/sounds/ding1.wav"); #endif } } } } } /** Set position's PGN to clipboard. */ void MainWindow::slotEditCopyImage() { QPixmap pixmap(m_boardView->size()); pixmap.fill(Qt::transparent); m_boardView->render(&pixmap); QImage image = pixmap.toImage(); QApplication::clipboard()->setImage(image); } void MainWindow::slotExportImage() { QString file = QFileDialog::getSaveFileName(this, tr("Export Image"), AppSettings->value("/General/databasePath").toString(), tr("Images (*.png *.jpg *.jpeg *.bmp)")); if(!file.isEmpty()) { QPixmap pixmap(m_boardView->size()); pixmap.fill(Qt::transparent); m_boardView->render(&pixmap); pixmap.save(file); } } void MainWindow::slotHelpBug() { QDesktopServices::openUrl(QUrl("http://sourceforge.net/tracker/?group_id=163833&atid=829300")); } void MainWindow::slotMoveStarted() { if (premoveAllowed()) { m_ficsConsole->SendStoredMove(InvalidSquare,InvalidSquare); } } void MainWindow::slotMoveFinished() { } void MainWindow::slotBoardMove(Square from, Square to, int button) { const Board& board = game().board(); Move m(board.prepareMove(from, to)); if(m.isLegal()) { PieceType promotionPiece = None; if(m.isPromotion()) { int index = 0; if (!AppSettings->getValue("/Board/AutoPromoteToQueen").toBool()) { index = PromotionDialog(0,m.color()).getIndex(); if(index<0) { return; } } promotionPiece = PieceType(Queen + index); m.setPromotionPiece(promotionPiece); } // Use an existing move with the correct promotion piece type if it already exists if(game().findNextMove(from, to, promotionPiece)) { if((button & Qt::AltModifier) && (!(button & Qt::ControlModifier))) { // The move exists but adding a variation was requested anyhow // Take back the move and proceed as if the move does not yet exist game().backward(); } else { if (m_autoRespond->isChecked()) { if (!game().atLineEnd()) { game().forward(); Move m = game().move(); m_currentFrom = m.from(); m_currentTo = m.to(); moveChanged(); // The move's currents where set after forward(), thus repair effects if (AppSettings->getValue("/Sound/Move").toBool()) { #ifdef USE_SOUND QSound::play(":/sounds/move.wav"); #endif } } else { m_machineHasToMove = true; } } return; } } if(!m_training->isChecked()) { if(game().atLineEnd()) { game().addMove(m); if (database()->name() == "FICS") { m_ficsConsole->SendMove(m.toAlgebraic()); } } else { if(button & Qt::ControlModifier) { if(button & Qt::AltModifier) { game().insertMove(m); } else { game().replaceMove(m); } } else { game().addVariation(m); } game().forward(); } } if (m_autoRespond->isChecked() && !m_machineHasToMove) { m_machineHasToMove = true; } } else { // Move is not legal, but could become legal, so store as premove and try later if (premoveAllowed()) { m_ficsConsole->SendStoredMove(from,to); m_boardView->setStoredMove(from,to); } } } void MainWindow::slotBoardClick(Square s, int button, QPoint pos, Square from) { if(button & Qt::RightButton) { if(button & Qt::ShiftModifier) { QMenu* menu = new QMenu(this); m_annotationSquare = s; m_annotationSquareFrom = from; bool twoSquares = (s != from && from != InvalidSquare); if (!twoSquares) { menu->addAction(QIcon(":/images/square_red.png"), tr("Red Square"), this, SLOT(slotRedSquare())); menu->addAction(QIcon(":/images/square_yellow.png"), tr("Yellow Square"), this, SLOT(slotYellowSquare())); menu->addAction(QIcon(":/images/square_green.png"), tr("Green Square"), this, SLOT(slotGreenSquare())); menu->addSeparator(); menu->addAction(QIcon(":/images/square_none.png"), tr("Remove Color"), this, SLOT(slotNoColorSquare())); } else { menu->addAction(QIcon(":/images/arrow_red.png"), tr("Red Arrow to here"), this, SLOT(slotRedArrowHere())); menu->addAction(QIcon(":/images/arrow_yellow.png"), tr("Yellow Arrow to here"), this, SLOT(slotYellowArrowHere())); menu->addAction(QIcon(":/images/arrow_green.png"), tr("Green Arrow to here"), this, SLOT(slotGreenArrowHere())); menu->addSeparator(); menu->addAction(QIcon(":/images/arrow_none.png"), tr("Remove Arrow to here"), this, SLOT(slotNoArrowHere())); } menu->exec(pos); } else { bool nextGuess = AppSettings->getValue("/Board/nextGuess").toBool(); if(button & Qt::ControlModifier) { nextGuess = !nextGuess; // CTRL selects the other mapping } if(!nextGuess) { bool remove = game().atLineEnd(); int var = game().variationNumber(); gameMoveBy(-1); if(remove) { if(var && game().isMainline()) { game().removeVariation(var); } else { game().truncateVariation(); } } } else { m_boardView->nextGuess(s); } } } else if ((button & Qt::LeftButton) && (button & Qt::ShiftModifier)) { bool twoSquares = (s != from && from != InvalidSquare); if (twoSquares) { game().appendArrowAnnotation(s, from, m_lastColor); } else { game().appendSquareAnnotation(s, m_lastColor); } } } void MainWindow::slotMoveChanged() { if(m_training->isChecked()) { UpdateGameText(); } moveChanged(); } void MainWindow::moveChanged() { const Game& g = game(); MoveId m = g.currentMove(); // Set board first QString fen = m_boardView->board().toFen(); m_boardView->setBoard(g.board(), m_currentFrom, m_currentTo, game().atLineEnd()); m_currentFrom = InvalidSquare; m_currentTo = InvalidSquare; emit displayTime(g.timeAnnotation(), oppositeColor(g.board().toMove())); // Highlight current move m_gameView->showMove(m); if (g.isMainline()) { m_gameView->slotDisplayPly(g.ply()); } QList listVariations = g.variations(); if (listVariations.size() && !game().atLineEnd()) { listVariations.push_front(game().nextMove()); } m_gameWindow->showVariations(listVariations); slotSearchTree(); emit boardChange(g.board()); // Clear entries m_nagText.clear(); emit signalMoveHasNextMove(!gameMode() && !game().atLineEnd()); emit signalMoveHasPreviousMove(!gameMode() && !game().atGameStart()); emit signalMoveHasVariation(!gameMode() && game().variationCount() > 0); emit signalMoveHasParent(!gameMode() && !game().isMainline()); emit signalVariationHasSibling(!gameMode() && game().variationHasSiblings(m)); emit signalGameIsEmpty(false); emit signalGameAtLineStart(!gameMode() && game().atLineStart()); } void MainWindow::slotSearchTree() { updateOpeningTree(m_boardView->board(), false); } void MainWindow::slotBoardMoveWheel(int wheel) { if(wheel & Qt::AltModifier) { if(wheel & BoardView::WheelDown) { slotGameMoveLast(); } else { slotGameMoveFirst(); } } else if(wheel & Qt::ControlModifier) { if(wheel & BoardView::WheelDown) { slotGameMoveNextN(); } else { slotGameMovePreviousN(); } } else if(wheel & BoardView::WheelDown) { slotGameMoveNext(); } else { slotGameMovePrevious(); } } void MainWindow::slotGameVarEnter(int index) { if(index) { game().moveToId(game().variations().at(index-1)); } else { slotGameMoveNext(); } } void MainWindow::slotGameVarEnter() { if(game().variationCount(game().currentMove())) { game().moveToId(game().variations().first()); } else { slotGameMoveNext(); } } void MainWindow::slotGameVarUp() { if(!game().isMainline()) { while(!game().atLineStart()) { game().backward(); } MoveId currentVar = game().currentMove(); game().backward(); int n = game().variations().indexOf(currentVar) - 1; if(n >= 0) { game().moveToId(game().variations().at(n)); } } } void MainWindow::slotGameVarDown() { if(!game().isMainline()) { while(!game().atLineStart()) { game().backward(); } MoveId currentVar = game().currentMove(); game().backward(); int n = game().variations().indexOf(currentVar) + 1; if(n < game().variations().count()) { game().moveToId(game().variations().at(n)); } else { if(!m_training->isChecked()) { // Do not show next move in training mode game().forward(); } } } } void MainWindow::slotGameVarExit() { if(!game().isMainline()) { while(!game().atLineStart()) { game().backward(); } game().backward(); } else { slotGameMovePrevious(); } } void MainWindow::slotGameLoadFirst() { gameLoad(databaseInfo()->filter()->indexToGame(0)); } void MainWindow::slotGameLoadLast() { gameLoad(databaseInfo()->filter()->indexToGame(databaseInfo()->filter()->count() - 1)); } void MainWindow::slotGameLoadPrevious() { m_gameList->selectPreviousGame(); } bool MainWindow::loadNextGame() { return (m_gameList->selectNextGame()); } void MainWindow::slotGameLoadNext() { loadNextGame(); } void MainWindow::slotGameLoadRandom() { if(databaseInfo()->filter()->count()) { int random = rand() % databaseInfo()->filter()->count(); gameLoad(databaseInfo()->filter()->indexToGame(random)); } } void MainWindow::slotGameLoadChosen() { int index = QInputDialog::getInt(this, tr("Load Game"), tr("Game number:"), gameIndex() + 1, 1, database()->count()); if (index != gameIndex() + 1) { gameLoad(index - 1); } } void MainWindow::newGame() { databaseInfo()->newGame(); m_gameList->removeSelection(); emit signalGameIsEmpty(true); // repair effect of slotGameChanged m_gameList->setFocus(); } void MainWindow::slotGameNew() { if(database()->isReadOnly()) { MessageDialog::error(tr("This database is read only.")); } else { if(QuerySaveGame()) { newGame(); } } } void MainWindow::saveGame(DatabaseInfo* dbInfo) { if(!dbInfo->database()->isReadOnly()) { dbInfo->saveGame(); dbInfo->database()->index()->setTag(TagNameLength, QString::number((dbInfo->currentGame().plyCount() + 1) / 2), dbInfo->currentIndex()); m_gameList->updateFilter(); slotFilterChanged(); slotGameChanged(); UpdateBoardInformation(); if(AppSettings->getValue("/General/autoCommitDB").toBool()) { saveDatabase(dbInfo); } } } void MainWindow::slotDatabaseModified() { m_gameList->updateFilter(); slotFilterChanged(); emit signalCurrentDBisReadWrite((m_currentDatabase > 0) && !databaseInfo()->database()->isReadOnly() && databaseInfo()->database()->isModified()); emit signalCurrentDBcanBeClosed(m_currentDatabase > 0); emit signalCurrentDBhasGames(database()->index()->count() > 0); emit signalGameModified(databaseInfo()->modified()); } bool MainWindow::slotGameSave() { if(database()->isReadOnly()) { MessageDialog::error(tr("This database is read only.")); databaseInfo()->setModified(false, Game(), ""); // Do not notify more than once return true; } return QuerySaveGame(); } void MainWindow::slotGameSaveOnly() { if(database()->isReadOnly()) { MessageDialog::error(tr("This database is read only.")); databaseInfo()->setModified(false, Game(), ""); // Do not notify more than once } else { SimpleSaveGame(); } } void MainWindow::slotGameEditTags() { DatabaseInfo* dbInfo = databaseInfo(); if (dbInfo->currentIndex()>=0) { TagDialog dlg(this); if (dlg.editTags(database()->index(), game(),dbInfo->currentIndex())) { saveGame(dbInfo); emit databaseModified(); } } } void MainWindow::slotGameMoveToPly(int ply) { if (!gameMode()) { game().moveToStart(); game().moveByPly(ply); } } void MainWindow::slotGameModify(const EditAction& action) { if((action.type() != EditAction::CopyHtml) && (action.type() != EditAction::CopyText)) { game().moveToId(action.move()); } switch(action.type()) { case EditAction::RemoveNextMoves: game().truncateVariation(); break; case EditAction::RemovePreviousMoves: game().truncateVariation(Game::BeforeMove); break; case EditAction::RemoveVariation: { game().removeVariation(game().variationNumber()); break; } case EditAction::PromoteVariation: { game().promoteVariation(action.move()); break; } case EditAction::EnumerateVariations1: { game().enumerateVariations(action.move(), 'A'); break; } case EditAction::EnumerateVariations2: { game().enumerateVariations(action.move(), 'a'); break; } case EditAction::VariationUp: { game().moveVariationUp(action.move()); break; } case EditAction::VariationDown: { game().moveVariationDown(action.move()); break; } case EditAction::EditPrecomment: gameEditComment(Output::Precomment); break; case EditAction::EditGameComment: game().moveToId(0); gameEditComment(Output::Comment); break; case EditAction::EditComment: gameEditComment(Output::Comment); break; case EditAction::AddNag: game().addNag(Nag(action.data().toInt()), action.move()); break; case EditAction::ClearNags: game().clearNags(action.move()); break; case EditAction::AddNullMove: if (game().atLineEnd()) { game().addMove(m_boardView->board().nullMove()); } else { game().addVariation(m_boardView->board().nullMove()); } break; case EditAction::CopyHtml: QApplication::clipboard()->setText(m_gameView->toHtml()); break; case EditAction::CopyText: QApplication::clipboard()->setText(m_gameView->toPlainText()); break; case EditAction::Uncomment: slotGameUncomment(); break; case EditAction::RemoveVariations: slotGameRemoveVariations(); break; default: break; } } void MainWindow::slotMergeActiveGame(QList gameIndexList) { if (gameIndexList.size()) { Game state = game(); foreach(int gameIndex, gameIndexList) { if(gameIndex != databaseInfo()->currentIndex()) { Game g; if(database()->loadGame(gameIndex, g)) { game().dbMergeWithGame(g); } } } databaseInfo()->setModified(true,state,tr("Merge selected games")); } } void MainWindow::slotMergeActiveGame(int gameIndex) { Game g; if(gameIndex != databaseInfo()->currentIndex()) { if(database()->loadGame(gameIndex, g)) { game().mergeWithGame(g); } } } void MainWindow::slotMergeAllGames() { Game g; for(int i = 0; i < database()->index()->count(); ++i) { if(i != databaseInfo()->currentIndex()) { if(database()->loadGame(i, g)) { game().mergeWithGame(g); } } } } void MainWindow::slotMergeFilter() { Game g; for(int i = 0; i < (int)database()->count(); ++i) { if(databaseInfo()->filter()->contains(i) && database()->loadGame(i, g)) { game().mergeWithGame(g); } } } void MainWindow::slotGetActiveGame(const Game** g) { *g = &game(); } void MainWindow::slotGameChanged() { UpdateMaterial(); UpdateGameText(); UpdateGameTitle(); moveChanged(); } void MainWindow::slotGameViewLink(const QUrl& url) { if (gameMode()) { return; } if(url.scheme() == "move") { if(url.path() == "prev") { game().backward(); } else if(url.path() == "next") { game().forward(); } else if(url.path() == "exit") { game().moveToId(game().parentMove()); } else { game().moveToId(url.path().toInt()); } } else if(url.scheme() == "precmt" || url.scheme() == "cmt") { game().moveToId(url.path().toInt()); Output::CommentType type = url.scheme() == "cmt" ? Output::Comment : Output::Precomment; gameEditComment(type); } else if(url.scheme() == "egtb") { if(!game().atGameEnd()) { game().addVariation(url.path()); } else { game().addMove(url.path()); } game().forward(); } else if(url.scheme() == "tag") { m_playerList->setDatabase(databaseInfo()); if(url.path() == "white") { m_playerList->slotSelectPlayer(game().tag(TagNameWhite)); } else if(url.path() == "black") { m_playerList->slotSelectPlayer(game().tag(TagNameBlack)); } } else if (url.scheme().startsWith("eco")) { m_ecoList->slotSelectECO(url.path()); } else if (url.scheme().startsWith("event")) { m_eventList->slotSelectEvent(url.path()); } } void MainWindow::slotGameViewLink(const QString& url) { slotGameViewLink(QUrl(url)); } void MainWindow::slotGameViewSource() { QString text = m_output->output(&game(), m_training->isChecked()); QApplication::clipboard()->setText(text); } void MainWindow::slotGameDumpMoveNodes() { game().dumpAllMoveNodes(); } void MainWindow::slotGameAddVariation(const Analysis& analysis) { QString score; if (!analysis.bestMove()) { score = QString::number(analysis.score() / 100.0, 'f', 2); } game().addVariation(analysis.variation(), score); } bool MainWindow::addVariation(const QString& s) { bool added = false; if(game().atLineEnd()) { added = game().addMove(s) != NO_MOVE; } else { added = game().addVariation(s) != NO_MOVE; } return added; } bool MainWindow::slotGameAddVariation(const QString& san) { QString s = san; s = s.remove(QRegExp("-.*")); s = s.remove(QRegExp("[0-9]*\\.")); return addVariation(s); } void MainWindow::slotGameUncomment() { game().removeComments(); } void MainWindow::slotGameRemoveVariations() { game().removeVariations(); } void MainWindow::slotToggleTraining() { UpdateGameText(); } void MainWindow::slotToggleAutoRespond() { m_machineHasToMove = false; } void MainWindow::slotToggleAutoAnalysis() { if(m_autoAnalysis->isChecked()) { if(!m_mainAnalysis->isEngineConfigured()) { MessageDialog::information(tr("Analysis Pane 1 is not running an engine for automatic analysis."), tr("Auto Analysis")); } else { if (game().atGameStart()) // Prevent surprising inactivity { if (AppSettings->getValue("/Board/BackwardAnalysis").toBool()) { game().moveToEnd(); } } m_mainAnalysis->unPin(); m_mainAnalysis->setPosition(game().board()); m_mainAnalysis->startEngine(); } } else { if (!autoGroup->checkedAction()) { m_mainAnalysis->stopEngine(); } } } void MainWindow::slotToggleAutoPlayer() { QAction* autoPlayAction = (QAction*) sender(); if(autoPlayAction) { if(autoPlayAction->isChecked()) { int interval = AppSettings->getValue("/Board/AutoPlayerInterval").toInt(); if(m_autoPlayTimer->interval() != interval) { m_autoPlayTimer->setInterval(interval); } m_autoPlayTimer->start(); } else { m_autoPlayTimer->stop(); } } } void MainWindow::slotEngineTimeout(const Analysis& analysis) { if (m_boardView->dragged() == Empty) { if(m_autoAnalysis->isChecked() && (m_AutoInsertLastBoard != m_boardView->board())) { m_AutoInsertLastBoard = m_boardView->board(); Analysis a = m_mainAnalysis->getMainLine(); if(!a.variation().isEmpty()) { Move m = a.variation().first(); if(!game().currentNodeHasMove(m.from(), m.to())) { if(!game().isEcoPosition()) { slotGameAddVariation(a); } } } slotAutoPlayTimeout(); } else if (game().atLineEnd() && m_autoRespond->isChecked()) { if (m_machineHasToMove) { if(!analysis.variation().isEmpty() && analysis.bestMove()) { Move m = analysis.variation().first(); if (m.isLegal()) { m_currentFrom = m.from(); m_currentTo = m.to(); game().addMove(m); m_machineHasToMove = false; if (AppSettings->getValue("/Sound/Move").toBool()) { #ifdef USE_SOUND QSound::play(":/sounds/move.wav"); #endif } } } } } } } void MainWindow::slotAutoPlayTimeout() { bool done = false; if (AppSettings->getValue("/Board/BackwardAnalysis").toBool()) { done = game().atGameStart(); } else { done = game().atGameEnd(); } if(done) { AutoMoveAtEndOfGame(); } else { done = false; if (AppSettings->getValue("/Board/BackwardAnalysis").toBool()) { slotGameMovePrevious(); } else { slotGameMoveNext(); } if (m_boardView->board().isCheckmate() || m_boardView->board().isStalemate()) { AutoMoveAtEndOfGame(); } } if (m_autoPlay->isChecked()) { m_autoPlayTimer->start(); } } void MainWindow::AutoMoveAtEndOfGame() { if(m_autoAnalysis->isChecked()) { QString engineAnnotation = tr("Engine %1").arg(m_mainAnalysis->displayName()); game().dbSetAnnotation(engineAnnotation, game().lastMove()); if (AppSettings->getValue("/Board/AutoSaveAndContinue").toBool()) { saveGame(databaseInfo()); if (loadNextGame()) { if (AppSettings->getValue("/Board/BackwardAnalysis").toBool()) { game().moveToEnd(); } } else { // All games finished m_autoAnalysis->setChecked(false); } } else { // Game finished m_autoAnalysis->setChecked(false); } } } void MainWindow::slotFilterChanged() { if(gameIndex() >= 0) { m_gameList->selectGame(gameIndex()); m_gameList->setFocus(); } int count = databaseInfo()->filter() ? databaseInfo()->filter()->count() : 0; QString f = count == (int)database()->count() ? tr("all") : QString::number(count); m_statusFilter->setText(QString(" %1: %2/%3 ").arg(databaseName()) .arg(f).arg(database()->count())); } void MainWindow::slotFilterLoad(int index) { if(index != gameIndex()) { gameLoad(index); } } void MainWindow::slotStatusMessage(const QString& msg) { m_statusApp->setText(msg); if (!msg.isEmpty()) { m_messageTimer->stop(); m_messageTimer->start(); } } void MainWindow::slotOperationProgress(int progress) { m_progressBar->setValue(progress); } void MainWindow::slotDbRestoreState(const Game& game) { DatabaseInfo* pDb = qobject_cast(sender()); if (pDb) { pDb->replaceGame(game); } } void MainWindow::slotDatabaseChange() { QAction* action = qobject_cast(sender()); if (action) { int n = action->data().toInt(); if (m_currentDatabase != n && !m_databases[n]->IsBook()) { m_currentDatabase = action->data().toInt(); activateBoardViewForDbIndex(m_databases[m_currentDatabase]); m_databaseList->setFileCurrent(databaseInfo()->filePath()); slotDatabaseChanged(); if(database()->isReadOnly()) { for(int i = 0; i < m_databases.count(); ++i) { if(i != m_currentDatabase) { if(m_databases[i]->isValid() && m_databases[i]->database()->isReadOnly()) { m_databases[i]->database()->index()->clearCache(); } } } } } } } void MainWindow::copyGame(int target, int index) { if(m_databases[target]->isValid()) { Game g; if(database()->loadGame(index, g)) { QString fileName = m_databases[target]->database()->name(); QString msg; msg = tr("Append game %1 to %2.").arg(index + 1).arg(fileName); slotStatusMessage(msg); // The database is open and accessible m_databases[target]->database()->appendGame(g); if(index == m_currentDatabase) { emit databaseModified(); } } } } void MainWindow::copyGames(QString fileName, QList indexes) { for(int i = 0; i < m_databases.count(); ++i) { if(m_databases[i]->filePath() == fileName) { if(m_databases[i]->isValid()) { foreach (int index, indexes) { copyGame(i, index); } m_databases[i]->filter()->resize(m_databases[i]->database()->count(), true); QString msg = tr("Appended %1 games to %2.").arg(indexes.count()).arg(fileName); slotStatusMessage(msg); } return; } } // The database is closed Output writer(Output::Pgn); Game g; bool success = true; foreach (int index, indexes) { if(database()->loadGame(index, g)) { QString msg; msg = tr("Append game %1 to %2.").arg(index + 1).arg(fileName); slotStatusMessage(msg); success = writer.append(fileName, g); m_databaseList->update(fileName); if (!success) break; } } QString msg = success ? tr("Appended %1 games to %2.").arg(indexes.count()).arg(fileName) : tr("Error appending games to %1").arg(fileName); slotStatusMessage(msg); } void MainWindow::copyDatabase(QString target, QString src) { if(target != src) { Database* pSrcDB = getDatabaseByPath(src); Database* pDestDB = getDatabaseByPath(target); DatabaseInfo* pDestDBInfo = getDatabaseInfoByPath(target); if(pDestDBInfo && pSrcDB && pDestDB && (pSrcDB != pDestDB)) { for(int i = 0; i < (int)pSrcDB->count(); ++i) { Game g; if(pSrcDB->loadGame(i, g)) { pDestDB->appendGame(g); } } QString msg = tr("Append games from %1 to %2.").arg(pSrcDB->name()).arg(pDestDB->name()); slotStatusMessage(msg); pDestDBInfo->filter()->resize(pDestDB->count(), true); } else if(!pSrcDB && !pDestDB && (src != target)) { QFile fSrc(src); QFile fDest(target); if(fSrc.open(QIODevice::ReadOnly) && fDest.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) { QFileInfo fiSrc(fSrc); QFileInfo fiDest(fDest); QString msg = tr("Append games from %1 to %2.").arg(fiSrc.fileName()).arg(fiDest.fileName()); slotStatusMessage(msg); while(!fSrc.atEnd()) { QByteArray line = fSrc.readLine(); fDest.write(line); } } fDest.close(); m_databaseList->update(target); } if(databaseInfo() == pDestDBInfo) { emit databaseModified(); } } } void MainWindow::slotDatabaseCopy(int preselect, QList gameIndexList) { if(m_databases.count() < 2) { MessageDialog::error(tr("You need at least two open databases to copy games")); return; } Game g; QString players; int index = -1; if (gameIndexList.size()) { index = gameIndexList.at(0); } if (index == -1) { players = game().tag(TagNameWhite)+"-"+game().tag(TagNameBlack); } else if(databaseInfo()->filter()->contains(index) && database()->loadGame(index, g)) { players = g.tag(TagNameWhite)+"-"+g.tag(TagNameBlack); } else { return; } CopyDialog dlg(this); dlg.setCurrentGame(players); dlg.setMode((CopyDialog::SrcMode)preselect); QStringList db; for(int i = 0; i < m_databases.count(); ++i) if(i != m_currentDatabase) db.append(tr("%1. %2 (%3 games)").arg(i).arg(databaseName(i)) .arg(m_databases[i]->database()->count())); dlg.setDatabases(db); if(dlg.exec() != QDialog::Accepted) { return; } int target = dlg.getDatabase(); if(target >= m_currentDatabase) { target++; } switch(dlg.getMode()) { case CopyDialog::SingleGame: if (index == -1) { m_databases[target]->database()->appendGame(game()); } else { m_databases[target]->database()->appendGame(g); } break; case CopyDialog::Selection: foreach (int i, gameIndexList) { if(database()->loadGame(i, g)) { m_databases[target]->database()->appendGame(g); } } break; case CopyDialog::Filter: for(int i = 0; i < (int)database()->count(); ++i) { if(databaseInfo()->filter()->contains(i) && database()->loadGame(i, g)) { m_databases[target]->database()->appendGame(g); } } break; case CopyDialog::AllGames: for(int i = 0; i < (int)database()->count(); ++i) { if(database()->loadGame(i, g)) { m_databases[target]->database()->appendGame(g); } } break; default: ; } m_databases[target]->filter()->resize(m_databases[target]->database()->count(), true); } void MainWindow::slotDatabaseClearClipboard() { ((MemoryDatabase*)(m_databases[0]->database()))->clear(); m_databases[0]->filter()->resize(0, false); if (!m_currentDatabase) { emit databaseChanged(databaseInfo()); emit databaseModified(); } } void MainWindow::slotDatabaseCopySingle(QList gameIndexList) { slotDatabaseCopy(0, gameIndexList); } void MainWindow::slotDatabaseChanged() { m_undoGroup.setActiveStack(databaseInfo()->undoStack()); database()->index()->calculateCache(); setWindowTitle(tr("%1 - ChessX").arg(databaseName())); m_gameList->setFilter(databaseInfo()->filter()); slotFilterChanged(); slotGameChanged(); emit databaseChanged(databaseInfo()); emit databaseModified(); emit signalGameModified(databaseInfo()->modified()); } void MainWindow::slotSearchTag() { m_gameList->simpleSearch(1); } void MainWindow::slotSearchBoard() { BoardSearchDialog dlg(this); QList boardList; boardList.append(m_boardView->board()); for(int i = 0; i < m_boardViews.count(); ++i) { if(i != m_tabWidget->currentIndex()) { const Board& b = m_boardViews.at(i)->board(); if (b != Board::standardStartBoard) { boardList.append(b); } } } dlg.setBoardList(boardList); if (dlg.exec() == QDialog::Accepted) { Search* ps = new PositionSearch (databaseInfo()->filter()->database(), boardList.at(dlg.boardIndex())); m_openingTreeWidget->cancel(); slotBoardSearchStarted(); databaseInfo()->filter()->executeSearch(ps, Search::Operator(dlg.mode())); } } void MainWindow::slotBoardSearchUpdate(int /*progress*/) { m_gameList->updateFilter(); slotFilterChanged(); m_gameList->repaint(); // workaround issue with Qt } void MainWindow::slotBoardSearchFinished() { finishOperation(tr("Search ended")); } void MainWindow::slotBoardSearchStarted() { startOperation(tr("Updating tree...")); } void MainWindow::slotSearchReverse() { databaseInfo()->filter()->reverse(); m_gameList->updateFilter(); slotFilterChanged(); } void MainWindow::slotSearchReset() { databaseInfo()->filter()->setAll(1); m_gameList->updateFilter(); slotFilterChanged(); } void MainWindow::slotTreeUpdate(bool dbIsFilterSource) { if (!gameMode()) { if (dbIsFilterSource) { m_gameList->updateFilter(); slotFilterChanged(); } else { Search* ps = new PositionSearch (databaseInfo()->filter()->database(), m_openingTreeWidget->board()); m_openingTreeWidget->cancel(); slotBoardSearchStarted(); databaseInfo()->filter()->executeSearch(ps); } } } void MainWindow::slotSearchTreeMove(const QModelIndex& index) { Qt::KeyboardModifiers modifiers = QApplication::keyboardModifiers(); bool addMove = m_openingTreeWidget->shouldAddMove() || (modifiers & Qt::ShiftModifier); QString move = m_openingTreeWidget->move(index); bool bEnd = (move == "[end]"); Board b = m_openingTreeWidget->board(); if(!bEnd) { Move m = b.parseMove(move); if (addMove && b==game().board()) { if (!game().findNextMove(m)) { if(game().atLineEnd()) { game().addMove(m); } else { game().addVariation(m); game().forward(); } } } b.doMove(m); } updateOpeningTree(b, bEnd); } void MainWindow::updateOpeningTree(const Board& b, bool atEnd) { if(!gameMode() && m_openingTreeWidget->isVisible()) { QString name; DatabaseInfo* dbInfo; int index = m_openingTreeWidget->getFilterIndex(name); if (index > 1) { dbInfo = getDatabaseInfoByPath(name); } else { dbInfo = databaseInfo(); } if (dbInfo && dbInfo->isValid()) { m_openingTreeWidget->updateFilter(*dbInfo->filter(), b, atEnd); } } } void MainWindow::slotDatabaseDeleteGame(QList gameIndexList) { foreach(int n, gameIndexList) { if(database()->deleted(n)) { database()->undelete(n); } else { database()->remove(n); } } m_gameList->updateFilter(); } void MainWindow::slotRenameEvent(QString ts) { RenameTagDialog dlg(this, ts, TagNameEvent); connect(&dlg, SIGNAL(renameRequest(QString, QString, QString)), SLOT(slotRenameRequest(QString, QString, QString))); dlg.exec(); } void MainWindow::slotRenamePlayer(QString ts) { RenameTagDialog dlg(this, ts, TagNameWhite); connect(&dlg, SIGNAL(renameRequest(QString, QString, QString)), SLOT(slotRenameRequest(QString, QString, QString))); dlg.exec(); } void MainWindow::slotRenameRequest(QString tag, QString newValue, QString oldValue) { if(database()->index()->replaceTagValue(tag, newValue, oldValue)) { if(game().tag(tag) == oldValue) { game().setTag(tag, newValue); } database()->setModified(true); if(tag == TagNameWhite) { database()->index()->replaceTagValue(TagNameBlack, newValue, oldValue); if(game().tag(TagNameBlack) == oldValue) { game().setTag(TagNameBlack, newValue); } } m_eventList->setDatabase(databaseInfo()); m_playerList->setDatabase(databaseInfo()); slotGameChanged(); UpdateBoardInformation(); } } void MainWindow::slotDatabaseDeleteFilter() { database()->remove(*databaseInfo()->filter()); m_gameList->updateFilter(); } void MainWindow::slotGetGameData(Game& g) { g = game(); } bool MainWindow::slotGameMoveNext() { Move m = game().move(game().nextMove()); m_currentFrom = m.from(); m_currentTo = m.to(); return gameMoveBy(1); } void MainWindow::slotNoColorSquare() { m_lastColor = 0; game().appendSquareAnnotation(m_annotationSquare, 0); } void MainWindow::slotGreenSquare() { m_lastColor = 'G'; game().appendSquareAnnotation(m_annotationSquare, 'G'); } void MainWindow::slotYellowSquare() { m_lastColor = 'Y'; game().appendSquareAnnotation(m_annotationSquare, 'Y'); } void MainWindow::slotRedSquare() { m_lastColor = 'R'; game().appendSquareAnnotation(m_annotationSquare, 'R'); } void MainWindow::slotNoArrowHere() { m_lastColor = 0; game().appendArrowAnnotation(m_annotationSquare, m_annotationSquareFrom, 0); } void MainWindow::slotGreenArrowHere() { m_lastColor = 'G'; game().appendArrowAnnotation(m_annotationSquare, m_annotationSquareFrom, 'G'); } void MainWindow::slotYellowArrowHere() { m_lastColor = 'Y'; game().appendArrowAnnotation(m_annotationSquare, m_annotationSquareFrom, 'Y'); } void MainWindow::slotRedArrowHere() { m_lastColor = 'R'; game().appendArrowAnnotation(m_annotationSquare, m_annotationSquareFrom, 'R'); } BoardView* MainWindow::CreateBoardView() { if (!databaseInfo()->IsBook()) { BoardView* boardView = new BoardView(m_tabWidget); boardView->setMinimumSize(200, 200); boardView->configure(); boardView->setBoard(Board::standardStartBoard); boardView->setDbIndex(m_databases[m_currentDatabase]); connect(this, SIGNAL(reconfigure()), boardView, SLOT(configure())); connect(boardView, SIGNAL(moveMade(Square, Square, int)), SLOT(slotBoardMove(Square, Square, int))); connect(boardView, SIGNAL(clicked(Square, int, QPoint, Square)), SLOT(slotBoardClick(Square, int, QPoint, Square))); connect(boardView, SIGNAL(wheelScrolled(int)), SLOT(slotBoardMoveWheel(int))); connect(boardView, SIGNAL(moveStarted()), SLOT(slotMoveStarted())); connect(boardView, SIGNAL(moveFinished()), SLOT(slotMoveFinished())); m_boardViews.push_back(boardView); m_tabWidget->addTab(boardView, QString("%1").arg(m_boardViews.count())); m_tabWidget->setCurrentIndex(m_boardViews.count() - 1); UpdateBoardInformation(); m_boardView = boardView; return boardView; } return 0; } void MainWindow::activateBoardViewForDbIndex(void* dbIndex) { int index = findBoardView(dbIndex); if (index >= 0) { activateBoardView(index); } else { CreateBoardView(); } } void MainWindow::closeBoardViewForDbIndex(void* dbIndex) { int index = findBoardView(dbIndex); if (index >= 0) { slotCloseBoardView(index); } } int MainWindow::findBoardView(void* dbIndex) const { for(int i = 0; i < m_boardViews.count(); ++i) { if(m_boardViews.at(i)->dbIndex() == dbIndex) { return i; } } return -1; } void MainWindow::activateBoardView(int n) { BoardView* boardView = m_boardViews.at(n); m_boardView = boardView; m_tabWidget->setCurrentIndex(n); } void MainWindow::slotActivateBoardView(int n) { activateBoardView(n); BoardView* boardView = m_boardViews.at(n); void* db = boardView->dbIndex(); for (int i=0; iIsBook()); emit signalGameModified(databaseInfo()->modified()); slotGameChanged(); m_databaseList->setFileCurrent(databaseInfo()->filePath()); database()->index()->calculateCache(); setWindowTitle(tr("%1 - ChessX").arg(databaseName())); m_gameList->setFilter(databaseInfo()->filter()); slotFilterChanged(); m_undoGroup.setActiveStack(databaseInfo()->undoStack()); emit databaseChanged(databaseInfo()); } void MainWindow::slotCloseBoardView(int n) { if(n < 0) { n = m_tabWidget->currentIndex(); } if(m_boardViews.count() > 1) { m_boardViews.removeAt(n); m_tabWidget->removeTab(n); } } void MainWindow::UpdateGameTitle() { QString white = game().tag(TagNameWhite); QString black = game().tag(TagNameBlack); QString eco = game().tag(TagNameECO).left(3); if(eco == "?") { eco.clear(); } QString actualEco = game().ecoClassify(); if(eco.isEmpty()) { eco = actualEco.left(3); } eco = QString("%2").arg(eco).arg(eco); QString opName = actualEco.section(" ",1); if (!opName.isEmpty()) { eco.append(" (" + opName + ")"); } QString whiteElo = game().tag(TagNameWhiteElo); QString blackElo = game().tag(TagNameBlackElo); if(whiteElo == "?") { whiteElo = QString(); } if(blackElo == "?") { blackElo = QString(); } QString players = QString("%1 %2 - %3 %4") .arg(white).arg(whiteElo).arg(black).arg(blackElo); QString result = QString("%1  ").arg(game().tag(TagNameResult)); QString eventInfo = game().eventInfo(); QString event = QString("%2").arg(game().tag(TagNameEvent)).arg(eventInfo); QString title; if(!white.isEmpty() || !black.isEmpty()) { title.append(players); } else { title.append(tr("New game")); } if(game().result() != ResultUnknown) { title.append(QString(", ") + result); } if(eco.length() <= 3) { title.append(QString(" ") + eco); } if(event.length() > 8) { title.append(QString("
") + event); } if(eco.length() > 3) { title.append(QString("
") + eco); } m_gameTitle->setText(QString("%1").arg(title)); } void MainWindow::UpdateBoardInformation() { if (!databaseInfo()->IsBook()) { QString name = "

" + databaseName() + "

"; QString nameWhite = game().tag(TagNameWhite); QString nameBlack = game().tag(TagNameBlack); if(!(nameWhite.isEmpty() && nameBlack.isEmpty())) { name += "

" + nameWhite + "-" + nameBlack + "

"; } name += "
"; m_tabWidget->setTabToolTip(m_tabWidget->currentIndex(), name); QString tabName = databaseName(); m_tabWidget->setTabText(m_tabWidget->currentIndex(), tabName); } } void MainWindow::slotScreenShot() { QPixmap pixmap = QPixmap::grabWindow(effectiveWinId()); QString dir = AppSettings->commonDataPath(); QString shotDir = dir + QDir::separator() + "shots"; QDir().mkpath(shotDir); QString fileName = shotDir + QDir::separator() + "shot-" + QDateTime::currentDateTime().toString() + ".png"; pixmap.save(fileName); } void MainWindow::slotCompileECO() { QString filepath = QFileDialog::getOpenFileName(0, "Compile ECO", QDir::currentPath(), "ECO Text File (*.txt);;All Files(*.*)"); if (!filepath.isEmpty()) { (void) compileAsciiEcoFile(filepath, "chessx.eco", "chessx.gtm"); } } void MainWindow::slotEditActions() { ActionDialog actionsDialog(this); actionsDialog.exec(); } void MainWindow::slotMoveIntervalChanged(int interval) { AppSettings->setValue("/Board/AutoPlayerInterval", interval); if(m_autoPlayTimer->interval() != interval) { m_autoPlayTimer->setInterval(interval); } } void MainWindow::slotSetSliderText(int interval) { if (!interval) { m_sliderText->setText(QString("0s/")+tr("Infinite")); } else { m_sliderText->setText(QString::number(interval)+"s"); } } void MainWindow::slotUpdateOpeningTreeWidget() { QStringList files; // List of all open files excluding ClipBoard for(int i = 2; i < m_databases.count(); i++) { QString displayName = m_databases[i]->filePath(); files << displayName; } m_openingTreeWidget->updateFilterIndex(files); } void MainWindow::slotMakeBook(QString pathIn) { for(int i = 0; i < m_databases.count(); i++) { if(m_databases[i]->database()->filename() == pathIn) { DlgSaveBook dlg(pathIn); connect(&dlg, SIGNAL(bookWritten(QString)), SLOT(slotShowInFinder(QString))); if (dlg.exec() == QDialog::Accepted) { QString out; int maxPly, minGame; bool uniform; dlg.getBookParameters(out, maxPly, minGame, uniform); PolyglotWriter* polyglotWriter = new PolyglotWriter(); connect(polyglotWriter, SIGNAL(bookBuildError(QString)), SLOT(slotBookBuildError(QString))); connect(polyglotWriter, SIGNAL(bookBuildFinished(QString)), SLOT(slotShowInFinder(QString))); polyglotWriter->writeBookForDatabase(m_databases[i]->database(), out, maxPly, minGame, uniform); } return; } } } void MainWindow::slotShowInFinder(QString path) { ShellHelper::showInFinder(path); } void MainWindow::slotBookBuildError(QString /*path*/) { MessageDialog::warning(tr("Could not build book"), tr("Polyglot Error")); } void MainWindow::slotToggleGameMode() { enterGameMode(qobject_cast(sender())->isChecked()); } void MainWindow::slotFlipView(bool flip) { m_boardView->setFlipped(flip); } void MainWindow::enterGameMode(bool gameMode) { m_boardView->setDragged(Empty); Guess::setGuessAllowed(!gameMode); Engine::setAllowEngineOutput(!gameMode); Tablebase::setAllowEngineOutput(!gameMode); if (gameMode) { m_openingTreeWidget->cancel(); m_boardView->setFlags(m_boardView->flags() | BoardView::IgnoreSideToMove); } else { m_boardView->setFlags(m_boardView->flags() & ~BoardView::IgnoreSideToMove); } setGameMode(gameMode); m_ficsConsole->SlotGameModeChanged(gameMode); } bool MainWindow::premoveAllowed() const { return (gameMode() && (database()->name() == "FICS")); } ./chessx-1.3.2/src/gui/messagedialog.cpp000644 000765 000024 00000005712 12507517064 017617 0ustar00nistaff000000 000000 /*************************************************************************** MessageDialog - wrapper for QMessageDialog (C) 2007 Michal Rudolf This file is a part of Chessx (http:/chess.sourceforge.net). ChessX is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 3, as published by the Free Software Foundation. ***************************************************************************/ #include "messagedialog.h" #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER void MessageDialog::error(const QString& text, const QString& title) { QMessageBox::critical(QApplication::activeWindow(), title, text); } void MessageDialog::warning(const QString& text, const QString& title) { QMessageBox::warning(QApplication::activeWindow(), title, text); } void MessageDialog::information(const QString& text, const QString& title) { QMessageBox::information(QApplication::activeWindow(), title, text); } bool MessageDialog::yesNo(const QString& text, const QString& title, const QString& yes, const QString& no) { QMessageBox mb(QApplication::activeWindow()); mb.setWindowTitle(title); mb.setText(text); mb.setIcon(QMessageBox::Question); QPushButton* y = mb.addButton(yes, QMessageBox::YesRole); mb.setDefaultButton(y); mb.addButton(no, QMessageBox::NoRole); mb.exec(); return mb.clickedButton() == (QAbstractButton*) y; } bool MessageDialog::okCancel(const QString& text, const QString& title, const QString& ok, const QString& cancel) { QMessageBox mb(QApplication::activeWindow()); mb.setWindowTitle(title); mb.setText(text); mb.setIcon(QMessageBox::Question); QPushButton* o = mb.addButton(ok, QMessageBox::ActionRole); mb.setDefaultButton(o); QPushButton* c = mb.addButton(cancel, QMessageBox::RejectRole); mb.setEscapeButton((QAbstractButton*)c); mb.exec(); return mb.clickedButton() == (QAbstractButton*) o; } int MessageDialog::yesNoCancel(const QString& text, const QString& title, const QString& yes, const QString& no, const QString& cancel) { QMessageBox mb(QApplication::activeWindow()); mb.setWindowTitle(title); mb.setText(text); mb.setIcon(QMessageBox::Question); QPushButton* y = mb.addButton(yes, QMessageBox::ActionRole); mb.setDefaultButton(y); QPushButton* n = mb.addButton(no, QMessageBox::NoRole); QPushButton* c = mb.addButton(cancel, QMessageBox::RejectRole); mb.setEscapeButton((QAbstractButton*)c); mb.exec(); if(mb.clickedButton() == (QAbstractButton*) y) { return Yes; } else if(mb.clickedButton() == (QAbstractButton*) n) { return No; } else { return Cancel; } } ./chessx-1.3.2/src/gui/messagedialog.h000644 000765 000024 00000003735 12223260306 017254 0ustar00nistaff000000 000000 /*************************************************************************** MessageDialog - wrapper for QMessageBox (C) 2007 Michal Rudolf This file is a part of free ChessX (http://chessx.sourceforge.net 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. * ***************************************************************************/ #ifndef MESSAGEDIALOG_H #define MESSAGEDIALOG_H /** @ingroup GUI The MessageDialog class is a simple wrapper for QMessageBox, to make it easier to display system messages. */ #include class MessageDialog : public QObject { Q_OBJECT public: enum {Yes, No, Cancel}; /** Standard information dialog. */ static void error(const QString& text, const QString& title = tr("Error")); /** Standard warning dialog. */ static void warning(const QString& text, const QString& title = tr("Warning")); /** Standard information dialog. */ static void information(const QString& text, const QString& title = tr("Information")); /** Standard Yes-No dialog. Escape is disabled, 'No' is default. */ static bool yesNo(const QString& text, const QString& title = tr("Question"), const QString& yes = tr("&Yes"), const QString& no = tr("&No")); /** Standard Ok-Cancel dialog. Escape cancels, 'Ok' is default. */ static bool okCancel(const QString& text, const QString& title = tr("Question"), const QString& ok = tr("&OK"), const QString& cancel = tr("&Cancel")); static int yesNoCancel(const QString& text, const QString& title = tr("Question"), const QString& yes = tr("&Yes"), const QString& no = tr("&No"), const QString& cancel = tr("&Cancel")); }; #endif ./chessx-1.3.2/src/gui/openingtreewidget.cpp000644 000765 000024 00000012636 12516124563 020537 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "openingtreewidget.h" #include "ui_openingtreewidget.h" #include #include #include #include #include "boardview.h" #include "databaseinfo.h" #include "openingtree.h" #include "settings.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER OpeningTreeWidget::OpeningTreeWidget(QWidget *parent) : QWidget(parent), ui(new Ui::OpeningTreeWidget) { ui->setupUi(this); qRegisterMetaType >("QList"); m_openingTree = new OpeningTree(ui->OpeningTreeView); QUndoGroup* undoGroup = new QUndoGroup(this); m_UndoStack = new QUndoStack(undoGroup); m_UndoStack->setUndoLimit(10); undoGroup->addStack(m_UndoStack); undoGroup->setActiveStack(m_UndoStack); connect(ui->btUndo, SIGNAL(clicked()), undoGroup, SLOT(undo())); connect(undoGroup, SIGNAL(canUndoChanged(bool)), ui->btUndo, SLOT(setEnabled(bool))); ui->btUndo->setEnabled(false); ui->OpeningTreeView->setObjectName("OpeningTree"); ui->OpeningTreeView->setSortingEnabled(true); ui->OpeningTreeView->setModel(m_openingTree); ui->OpeningTreeView->sortByColumn(1, Qt::DescendingOrder); connect(ui->OpeningTreeView, SIGNAL(clicked(const QModelIndex&)), parent, SLOT(slotSearchTreeMove(const QModelIndex&))); connect(m_openingTree, SIGNAL(progress(int)), this, SLOT(slotOperationProgress(int))); connect(m_openingTree, SIGNAL(openingTreeUpdated()), this, SLOT(slotTreeUpdate())); connect(m_openingTree, SIGNAL(openingTreeUpdateStarted()), this, SLOT(slotTreeUpdateStarted())); connect(ui->sourceSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(slotSourceChanged())); m_openingBoardView = new BoardView(this, BoardView::IgnoreSideToMove | BoardView::SuppressGuessMove); m_openingBoardView->setObjectName("OpeningBoardView"); m_openingBoardView->setMinimumSize(200, 200); ui->OpeningBoardWidget->addWidget(m_openingBoardView, 1); m_openingBoardView->setVAlignTop(true); m_openingBoardView->configure(); m_openingBoardView->setEnabled(false); } OpeningTreeWidget::~OpeningTreeWidget() { delete ui; } void OpeningTreeWidget::cancel() { m_openingTree->cancel(); } QString OpeningTreeWidget::move(QModelIndex index) const { return m_openingTree->move(index); } Board OpeningTreeWidget::board() const { return m_openingTree->board(); } void OpeningTreeWidget::updateFilter(Filter& f, const Board& b, bool bEnd) { if (ui->btPin->isChecked()) return; if (m_openingTree->board() != b) { m_UndoStack->push(new BoardUndoCommand(this,&f,m_openingTree->board(),m_openingTree->bEnd(),"")); } doSetBoard(f,b,bEnd); } void OpeningTreeWidget::doSetBoard(Filter& f, const Board& b, bool bEnd) { m_openingBoardView->setBoard(b); m_openingTree->updateFilter(f, b, ui->filterGames->isChecked(), ui->sourceSelector->currentIndex()==1, bEnd); } void OpeningTreeWidget::saveConfig() { AppSettings->setLayout(this); ui->OpeningTreeView->saveConfig(); } void OpeningTreeWidget::slotReconfigure() { m_openingBoardView->configure(); AppSettings->layout(this); ui->OpeningTreeView->slotReconfigure(); } void OpeningTreeWidget::slotOperationProgress(int value) { ui->progress->setValue(value); } void OpeningTreeWidget::slotTreeUpdate() { ui->progress->setValue(100); if (ui->filterGames->isChecked()) { bool dbIsFilterSource = (ui->sourceSelector->currentIndex()<=1); emit signalTreeUpdated(dbIsFilterSource); } } void OpeningTreeWidget::slotTreeUpdateStarted() { ui->progress->setValue(0); } int OpeningTreeWidget::getFilterIndex(QString& name) const { int index = ui->sourceSelector->currentIndex(); if (index>1) name = m_filePaths[ui->sourceSelector->currentIndex()-2]; else name = ui->sourceSelector->currentText(); return index; } void OpeningTreeWidget::updateFilterIndex(QStringList files) { m_filePaths.clear(); m_filePaths = files; disconnect(ui->sourceSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(slotSourceChanged())); QString current = ui->sourceSelector->currentText(); ui->sourceSelector->clear(); QStringList baseNames; foreach(QString filename, files) { QFileInfo fi(filename); QString baseName = fi.baseName(); if (DatabaseInfo::IsBook(filename)) { baseName += tr(" (Book)"); } baseNames.append(baseName); } QStringList allFiles; allFiles << tr("Database") << tr("Filter") << baseNames; ui->sourceSelector->insertItems(0, allFiles); if (allFiles.contains(current)) { int index = ui->sourceSelector->findText(current); ui->sourceSelector->setCurrentIndex(index); } else { ui->sourceSelector->setCurrentIndex(0); } connect(ui->sourceSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(slotSourceChanged())); } bool OpeningTreeWidget::shouldAddMove() const { return ui->makeMove->isChecked(); } void OpeningTreeWidget::slotSourceChanged() { m_UndoStack->clear(); m_openingTree->cancel(); emit signalSourceChanged(); } ./chessx-1.3.2/src/gui/openingtreewidget.h000644 000765 000024 00000004372 12507561510 020177 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef OPENINGTREEWIDGET_H #define OPENINGTREEWIDGET_H #include "board.h" #include "filter.h" #include #include #include #include namespace Ui { class OpeningTreeWidget; } class BoardView; class OpeningTree; class QUndoStack; class OpeningTreeWidget : public QWidget { Q_OBJECT public: explicit OpeningTreeWidget(QWidget *parent = 0); ~OpeningTreeWidget(); OpeningTree* m_openingTree; QString move(QModelIndex index) const; Board board() const; void updateFilter(Filter& f, const Board& b, bool bEnd); void doSetBoard(Filter& f, const Board& b, bool bEnd); int getFilterIndex(QString& name) const; void updateFilterIndex(QStringList); bool shouldAddMove() const; public slots: void cancel(); /** Store current configuration. */ void saveConfig(); /** Restore current configuration. */ void slotReconfigure(); protected slots: /** Indicate end of tree update */ void slotTreeUpdate(); /** Show progress bar for open file. */ void slotOperationProgress(int value); /** Indicate start of tree update */ void slotTreeUpdateStarted(); /** The source for the tree has changed */ void slotSourceChanged(); signals: void signalTreeUpdated(bool); void signalSourceChanged(); private: Ui::OpeningTreeWidget *ui; BoardView* m_openingBoardView; QStringList m_filePaths; QUndoStack* m_UndoStack; }; class BoardUndoCommand : public QUndoCommand { public: BoardUndoCommand(QObject* parent, Filter* f, const Board& b, bool bEnd, QString action) : QUndoCommand(action), m_openingTree((OpeningTreeWidget*)parent), m_filter(f), m_board(b), m_bEnd(bEnd) { } QPointer m_openingTree; QPointer m_filter; Board m_board; bool m_bEnd; virtual void undo() { if (m_filter && m_openingTree) m_openingTree->doSetBoard(*m_filter, m_board, m_bEnd); } virtual void redo() { } }; #endif // OPENINGTREEWIDGET_H ./chessx-1.3.2/src/gui/openingtreewidget.ui000644 000765 000024 00000012371 12516124563 020366 0ustar00nistaff000000 000000 OpeningTreeWidget 0 0 912 469 Form Qt::Horizontal 4 6 6 QLayout::SetDefaultConstraint Target Filter games Board 0 0 Source Pin ... :/images/pin.ico:/images/pin.ico true Database Filter Progress 0 0 50 Undo :/images/undo.png:/images/undo.png 6 TableView QTableView
tableview.h
./chessx-1.3.2/src/gui/plaintextedit.cpp000644 000765 000024 00000001741 12507517064 017667 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "plaintextedit.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER PlainTextEdit::PlainTextEdit(QWidget *parent) : QPlainTextEdit(parent) { } void PlainTextEdit::keyPressEvent(QKeyEvent* event) { if ((event->key() == Qt::Key_Return) && ((event->modifiers() & Qt::KeyboardModifierMask) == Qt::NoModifier)) { event->ignore(); return; } if(event->key() == Qt::Key_Return && (event->modifiers() & Qt::ControlModifier)) { event->ignore(); QKeyEvent event2(QEvent::KeyPress, Qt::Key_Return, Qt::NoModifier); QPlainTextEdit::keyPressEvent(&event2); } QPlainTextEdit::keyPressEvent(event); } ./chessx-1.3.2/src/gui/plaintextedit.h000644 000765 000024 00000000777 12223260306 017331 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2010 by Michal Rudolf * ****************************************************************************/ #ifndef PLAINTEXTEDIT_H #define PLAINTEXTEDIT_H #include #include class PlainTextEdit : public QPlainTextEdit { public: PlainTextEdit(QWidget* parent = 0); protected: virtual void keyPressEvent(QKeyEvent* event); }; #endif // PLAINTEXTEDIT_H ./chessx-1.3.2/src/gui/playerlistwidget.cpp000644 000765 000024 00000012653 12510715746 020412 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "playerlistwidget.h" #include "ui_tagdetailwidget.h" #include "database.h" #include "databaseinfo.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER PlayerListWidget::PlayerListWidget(QWidget *parent) : QWidget(parent), ui(new Ui::TagDetailWidget) { setObjectName("PlayerListWidget"); ui->setupUi(this); m_filterModel = new QStringListModel(ui->tagList); ui->tagList->setModel(m_filterModel); setObjectName("PlayerListWidget"); connect(ui->filterEdit, SIGNAL(textChanged(const QString&)), SLOT(findPlayers(const QString&))); connect(ui->filterDatabase, SIGNAL(clicked()), SLOT(filterSelectedPlayer())); connect(ui->renameItem, SIGNAL(clicked()), SLOT(renameSelectedPlayer())); connect(ui->tagList, SIGNAL(doubleClicked(const QModelIndex&)), SLOT(filterSelectedPlayer())); selectPlayer(QString()); QItemSelectionModel* selectionModel = ui->tagList->selectionModel(); connect(selectionModel, SIGNAL(selectionChanged(QItemSelection, QItemSelection)), this, SLOT(selectionChangedSlot())); ui->detailText->setOpenLinks(false); connect(ui->detailText, SIGNAL(anchorClicked(QUrl)), SLOT(slotLinkClicked(QUrl))); slotReconfigure(); } PlayerListWidget::~PlayerListWidget() { delete ui; } void PlayerListWidget::slotReconfigure() { } void PlayerListWidget::selectionChangedSlot() { const QModelIndexList& selection = ui->tagList->selectionModel()->selectedIndexes(); if(selection.count()) { QString ts = selection[0].data().toString(); playerSelected(ts); } else { playerSelected(QString()); } } void PlayerListWidget::findPlayers(const QString& s) { if(s.isEmpty()) { m_filterModel->setStringList(m_list); } else { QStringList newList = m_list.filter(s, Qt::CaseInsensitive); m_filterModel->setStringList(newList); } } void PlayerListWidget::slotSelectPlayer(const QString& player) { m_filterModel->setStringList(m_list); ui->filterEdit->clear(); selectPlayer(player); } void PlayerListWidget::playerSelected(const QString& player) { if(!player.isEmpty()) { m_player.setName(player); ui->filterDatabase->setEnabled(true); ui->renameItem->setEnabled(true); QString head = QString("%1").arg(player); QString text = QString("%1

%3

%4%5%6%7%8") .arg(head) .arg(m_player.name()) .arg(m_player.name()) .arg(m_player.formattedGameCount()) .arg(m_player.formattedRange()) .arg(m_player.formattedRating()) .arg(m_player.formattedScore()) .arg(m_player.listOfOpenings()); ui->detailText->setHtml(text); } else { ui->filterDatabase->setEnabled(false); ui->renameItem->setEnabled(false); ui->detailText->setText(tr("No player chosen.")); } } void PlayerListWidget::selectPlayer(const QString& player) { playerSelected(player); if(!player.isEmpty()) { const QStringList& list = m_filterModel->stringList(); int row = list.indexOf(player); if(row >= 0) { QModelIndex index = m_filterModel->index(row, 0); if(index.isValid()) { ui->tagList->selectionModel()->select(index, QItemSelectionModel::ClearAndSelect); ui->tagList->scrollTo(index); } } } } void PlayerListWidget::filterSelectedPlayer() { const QModelIndexList& selection = ui->tagList->selectionModel()->selectedIndexes(); if(selection.count()) { QString ts = selection[0].data().toString(); emit filterRequest(ts); } } void PlayerListWidget::renameSelectedPlayer() { const QModelIndexList& selection = ui->tagList->selectionModel()->selectedIndexes(); if(selection.count()) { QString ts = selection[0].data().toString(); emit renameRequest(ts); } } void PlayerListWidget::setDatabase(DatabaseInfo* dbInfo) { Database* db = dbInfo->database(); ui->detailText->setText(tr("No player chosen.")); m_player.setDatabase(db); m_list.clear(); if(db && db->index()) { m_list = db->index()->playerNames(); } m_list.sort(); m_filterModel->setStringList(m_list); m_filterModel->sort(0); } void PlayerListWidget::slotLinkClicked(const QUrl& url) { if(url.scheme().startsWith("eco")) { QString tag = (url.scheme().contains("white")) ? TagNameWhite : TagNameBlack; emit filterEcoPlayerRequest(tag, url.path(), ui->detailText->documentTitle()); } else if(url.scheme().startsWith("player")) { emit filterRequest(url.path()+"#"+url.fragment()); } } ./chessx-1.3.2/src/gui/playerlistwidget.h000644 000765 000024 00000002470 12223260306 020037 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef PLAYERLISTWIDGET_H #define PLAYERLISTWIDGET_H #include #include #include "playerinfo.h" namespace Ui { class TagDetailWidget; } class DatabaseInfo; class PlayerListWidget : public QWidget { Q_OBJECT public: explicit PlayerListWidget(QWidget *parent = 0); ~PlayerListWidget(); signals: void filterRequest(QString ts); void renameRequest(QString ts); void filterEcoPlayerRequest(QString tag, QString eco, QString player); void raiseRequest(); public slots: void findPlayers(const QString& s); void slotSelectPlayer(const QString& player); void setDatabase(DatabaseInfo* dbInfo); void filterSelectedPlayer(); void renameSelectedPlayer(); void slotReconfigure(); void selectionChangedSlot(); void slotLinkClicked(const QUrl& url); protected slots: void selectPlayer(const QString& player); void playerSelected(const QString& player); private: PlayerInfo m_player; QStringList m_list; Ui::TagDetailWidget *ui; QStringListModel* m_filterModel; }; #endif // PLAYERLISTWIDGET_H ./chessx-1.3.2/src/gui/qled.cpp000755 000765 000024 00000007062 12507517064 015743 0ustar00nistaff000000 000000 /*************************************************************************** * Copyright (C) 2010 by P. Sereno * * http://www.sereno-online.com * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Lesser General Public License * * version 2.1 as published by the Free Software Foundation * * * * 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 Lesser General Public License for more details. * * http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. * ***************************************************************************/ #include #include #include #include #include #include #include "qled.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER /*! \brief QLed: this is the QLed constructor. \param parent: The Parent Widget */ QLed::QLed(QWidget *parent) : QWidget(parent) { m_value = false; m_onColor = Red; m_offColor = Grey; m_shape = Circle; shapes << ":/images/circle_"; colors << "red.svg" << "green.svg" << "yellow.svg" << "grey.svg" << "orange.svg" << "blue.svg" << "black.svg"; renderer = new QSvgRenderer(); } QLed::~QLed() { delete renderer; } /*! \brief paintEvent: painting method \param QPaintEvent * \return void */ void QLed::paintEvent(QPaintEvent *) { QString ledShapeAndColor; QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); ledShapeAndColor = shapes[m_shape]; if(m_value) { ledShapeAndColor.append(colors[m_onColor]); } else { ledShapeAndColor.append(colors[m_offColor]); } renderer->load(ledShapeAndColor); renderer->render(&painter); } void QLed::resizeEvent(QResizeEvent*) { setMinimumWidth(height()); } /*! \brief setOnColor: this method allows to change the On color {Red,Green,Yellow,Grey,Orange,Purple,blue} \param ledColor newColor \return void */ void QLed::setOnColor(ledColor newColor) { m_onColor = newColor; update(); } /*! \brief setOffColor: this method allows to change the Off color {Red,Green,Yellow,Grey,Orange,Purple,blue} \param ledColor newColor \return void */ void QLed::setOffColor(ledColor newColor) { m_offColor = newColor; update(); } /*! \brief setShape: this method allows to change the led shape {Circle,Square,Triangle,Rounded rectangle} \param ledColor newColor \return void */ void QLed::setShape(ledShape newShape) { m_shape = newShape; update(); } /*! \brief setValue: this method allows to set the led value {true,false} \param ledColor newColor \return void */ void QLed::setValue(bool value) { m_value = value; update(); } /*! \brief toggleValue: this method toggles the led value \param ledColor newColor \return void */ void QLed::toggleValue() { m_value = !m_value; update(); return; } ./chessx-1.3.2/src/gui/qled.h000755 000765 000024 00000004622 12223260306 015374 0ustar00nistaff000000 000000 /*************************************************************************** * Copyright (C) 2010 by P. Sereno * * http://www.sereno-online.com * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU Lesser General Public License * * version 2.1 as published by the Free Software Foundation * * * * 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 Lesser General Public License for more details. * * http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. * ***************************************************************************/ #ifndef QLED_H #define QLED_H #include #include class QColor; class QSvgRenderer; class QLed : public QWidget { Q_OBJECT Q_ENUMS(ledColor) Q_ENUMS(ledShape) Q_PROPERTY(bool value READ value WRITE setValue); Q_PROPERTY(ledColor onColor READ onColor WRITE setOnColor); Q_PROPERTY(ledColor offColor READ offColor WRITE setOffColor); Q_PROPERTY(ledShape shape READ shape WRITE setShape) public: QLed(QWidget *parent = 0); virtual ~QLed(); bool value() const { return m_value; } enum ledColor { Red = 0, Green, Yellow, Grey, Orange, Blue, Black }; enum ledShape { Circle = 0}; ledColor onColor() const { return m_onColor; } ledColor offColor() const { return m_offColor; } ledShape shape() const { return m_shape; } public slots: void setValue(bool); void setOnColor(ledColor); void setOffColor(ledColor); void setShape(ledShape); void toggleValue(); protected: bool m_value; ledColor m_onColor, m_offColor; int id_Timer; ledShape m_shape; QStringList shapes; QStringList colors; void paintEvent(QPaintEvent *event); void resizeEvent(QResizeEvent*); private: QSvgRenderer *renderer ; }; #endif ./chessx-1.3.2/src/gui/shellhelper.cpp000644 000765 000024 00000002371 12507517064 017320 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "shellhelper.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ShellHelper::ShellHelper() { } void ShellHelper::showInFinder(QString path) { // Mac, Windows support folder or file. #if defined(Q_OS_WIN) QString param; if(!QFileInfo(path).isDir()) { param = QLatin1String("/select,"); } param += QDir::toNativeSeparators(path); QProcess::startDetached("explorer.exe", QStringList(param)); #elif defined(Q_OS_MAC) QStringList scriptArgs; scriptArgs << QLatin1String("-e") << QString::fromLatin1("tell application \"Finder\" to reveal POSIX file \"%1\"") .arg(path); QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs); scriptArgs.clear(); scriptArgs << QLatin1String("-e") << QLatin1String("tell application \"Finder\" to activate"); QProcess::execute("/usr/bin/osascript", scriptArgs); #endif } ./chessx-1.3.2/src/gui/shellhelper.h000644 000765 000024 00000000644 12375174653 016774 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef SHELLHELPER_H #define SHELLHELPER_H #include class ShellHelper { public: ShellHelper(); static void showInFinder(QString path); }; #endif // SHELLHELPER_H ./chessx-1.3.2/src/gui/style.cpp000644 000765 000024 00000001370 12507517064 016147 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "settings.h" #include "style.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER Style::Style(QObject *parent) : QObject(parent) { } void Style::setStyle(QWidget *w) { QFile style(":/styles/orange.css"); if (style.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream stream(&style); QString content = stream.readAll(); w->setStyleSheet(content); } } ./chessx-1.3.2/src/gui/style.h000644 000765 000024 00000000723 12414047305 015606 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef STYLE_H #define STYLE_H #include class Style : public QObject { Q_OBJECT public: explicit Style(QObject *parent = 0); static void setStyle(QWidget* w); signals: public slots: }; #endif // STYLE_H ./chessx-1.3.2/src/gui/tableview.cpp000644 000765 000024 00000007017 12517120512 016762 0ustar00nistaff000000 000000 /**************************************************************************** * QTableView with some adjustments like storing header layout * * (C) 2007 Michal Rudolf * * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "settings.h" #include "tableview.h" #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER TableView::TableView(QWidget *parent) : QTableView(parent) { setShowGrid(false); setSelectionBehavior(QAbstractItemView::SelectRows); setSelectionMode(QAbstractItemView::SingleSelection); setTextElideMode(Qt::ElideRight); verticalHeader()->setDefaultSectionSize(fontMetrics().lineSpacing()); verticalHeader()->hide(); horizontalHeader()->setHighlightSections(false); horizontalHeader()->setStretchLastSection(true); #if QT_VERSION < 0x050000 horizontalHeader()->setMovable(true); #else horizontalHeader()->setSectionsMovable(true); #endif setTabKeyNavigation(false); setContextMenuPolicy(Qt::CustomContextMenu); horizontalHeader()->setContextMenuPolicy(Qt::CustomContextMenu); connect(horizontalHeader(), SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(ShowContextMenu(const QPoint&))); } TableView::~TableView() { } void TableView::saveConfig() { AppSettings->setLayout(this); AppSettings->beginGroup(objectName()); int n = model()->columnCount(); AppSettings->setValue("ColumnCount", n); QByteArray visualIndex = horizontalHeader()->saveState(); AppSettings->setByteArray("VisualIndex", visualIndex); AppSettings->endGroup(); } void TableView::slotReconfigure() { bool sortIndicator = horizontalHeader()->isSortIndicatorShown(); AppSettings->layout(this); QString objName = objectName(); AppSettings->beginGroup(objName); int n = model()->columnCount(); int nRestore = AppSettings->getValue("ColumnCount").toInt(); if (n==nRestore) { QByteArray visualIndex = AppSettings->byteArray("VisualIndex"); horizontalHeader()->restoreState(visualIndex); } else { for(int i = 0; i < n; ++i) { showColumn(i); } AppSettings->setValue("ColumnCount", n); resizeColumnsToContents(); } AppSettings->endGroup(); int fontSize = AppSettings->getValue("/General/ListFontSize").toInt(); QFont f = font(); f.setPointSize(fontSize); setFont(f); horizontalHeader()->setSortIndicatorShown(sortIndicator); update(); } void TableView::ShowContextMenu(const QPoint& pos) { QMenu headerMenu; QAction* hide = headerMenu.addAction(tr("Hide Column")); headerMenu.addSeparator(); QAction* resizeAll = headerMenu.addAction(tr("Resize visible Columns")); QAction* showAll = headerMenu.addAction(tr("Show all Columns")); QAction* selectedItem = headerMenu.exec(mapToGlobal(pos)); if(selectedItem == hide) { int column = columnAt(pos.x()); if(column > 0) { hideColumn(column); } } else if(selectedItem == showAll) { for(int i = 0; i < model()->columnCount(); ++i) { showColumn(i); } } else if (selectedItem == resizeAll) { resizeColumnsToContents(); } } ./chessx-1.3.2/src/gui/tableview.h000644 000765 000024 00000001670 12414047305 016432 0ustar00nistaff000000 000000 /**************************************************************************** * QTableView with some adjustments like storing header layout * * (C) 2007 Michal Rudolf * * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef TABLEVIEW_H #define TABLEVIEW_H #include #include /** The TableView class is a specialized version of QTableView with automatic header layout saving. */ class TableView : public QTableView { Q_OBJECT public: TableView(QWidget *parent = 0); ~TableView(); public slots: /** Store current configuration. */ void saveConfig(); /** Restore current configuration. */ virtual void slotReconfigure(); /** Show context menu on header view */ virtual void ShowContextMenu(const QPoint&); }; #endif ./chessx-1.3.2/src/gui/tagdetailwidget.ui000644 000765 000024 00000005542 12327533125 020005 0ustar00nistaff000000 000000 TagDetailWidget 0 0 344 302 Qt::Horizontal 4 6 Filter: QAbstractItemView::NoEditTriggers true Selected Item Filter Rename 6 TextBrowserEx QTextBrowser
textbrowserex.h
./chessx-1.3.2/src/gui/textbrowserex.h000644 000765 000024 00000001206 12234271323 017367 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef TEXTBROWSEREX_H #define TEXTBROWSEREX_H #include #include class TextBrowserEx : public QTextBrowser { Q_OBJECT public: explicit TextBrowserEx(QWidget* parent = 0) : QTextBrowser(parent) {} void setSource(const QUrl& name) { if(name.scheme().isEmpty()) { QTextBrowser::setSource(name); } } }; #endif // TEXTBROWSEREX_H ./chessx-1.3.2/src/gui/toolmainwindow.cpp000644 000765 000024 00000001372 12507517064 020063 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "settings.h" #include "toolmainwindow.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ToolMainWindow::ToolMainWindow(QWidget *parent) : QMainWindow(parent) { setWindowFlags(Qt::Widget); } void ToolMainWindow::saveConfig() { // saving subwindows does not work anymore as of Qt 4.4 } void ToolMainWindow::slotReconfigure() { // restoring subwindows does not work anymore as of Qt 4.4 } ./chessx-1.3.2/src/gui/toolmainwindow.h000644 000765 000024 00000001024 12223260306 017507 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef TOOLMAINWINDOW_H #define TOOLMAINWINDOW_H #include class ToolMainWindow : public QMainWindow { Q_OBJECT public: explicit ToolMainWindow(QWidget *parent = 0); signals: public slots: void saveConfig(); void slotReconfigure(); }; #endif // TOOLMAINWINDOW_H ./chessx-1.3.2/src/gui/translatingslider.cpp000644 000765 000024 00000002330 12507517064 020535 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "translatingslider.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER TranslatingSlider::TranslatingSlider(QWidget *parent) : QSlider(parent), m_offset(0), m_multiplier(1) { connect(this, SIGNAL(valueChanged(int)), SLOT(slotValueChanged(int))); } int TranslatingSlider::multiplier() const { return m_multiplier; } void TranslatingSlider::setMultiplier(int multiplier) { m_multiplier = multiplier; } int TranslatingSlider::offset() const { return m_offset; } void TranslatingSlider::setOffset(int offset) { m_offset = offset; } void TranslatingSlider::slotValueChanged(int value) { emit translatedValueChanged(value*m_multiplier + m_offset); } void TranslatingSlider::setTranslatedValue(int value) { setValue((value-m_offset)/m_multiplier); } int TranslatingSlider::translatedValue() const { int v = value(); return (v*m_multiplier + m_offset); } ./chessx-1.3.2/src/gui/translatingslider.h000644 000765 000024 00000001466 12300607707 020206 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef TRANSLATINGSLIDER_H #define TRANSLATINGSLIDER_H #include class TranslatingSlider : public QSlider { Q_OBJECT public: explicit TranslatingSlider(QWidget *parent = 0); int multiplier() const; void setMultiplier(int multiplier); int offset() const; void setOffset(int offset); int translatedValue() const; signals: void translatedValueChanged(int); public slots: void setTranslatedValue(int); protected slots: void slotValueChanged(int); protected: int m_offset; int m_multiplier; }; #endif // TRANSLATINGSLIDER_H ./chessx-1.3.2/src/guess/attacks.h000644 000765 000024 00000021316 12223260306 016437 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: attacks.h // Lists of attack squares // // Part of: Scid (Shane's Chess Information Database) // Version: 1.0 // // Notice: Copyright (c) 1999 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #ifndef SCID_ATTACKS_H #define SCID_ATTACKS_H #ifndef SCID_COMMON_H #include "common.h" #endif namespace Guess { // NOTE: These arrays have been automatically generated. Don't change // them unless the square or piece representations change! //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Knight Moves: // knightAttacks[sq] is an array of the squares a knight on sq // could move to. There are 9 target squares even though a knight // can only have at most 8 legal moves, so we can end the list with // an "NS" (null square). // // Example code to iterate through the knight moves for a square: // // squareT *dest = knightAttacks[fromSquare]; // while (*dest != NULL_SQUARE) { // /* do desired action.... */ // dest++; // } // const squareT knightAttacks[66][9] = { { /* A1 */ C2, B3, NS, NS, NS, NS, NS, NS, NS }, { /* B1 */ D2, A3, C3, NS, NS, NS, NS, NS, NS }, { /* C1 */ A2, E2, B3, D3, NS, NS, NS, NS, NS }, { /* D1 */ B2, F2, C3, E3, NS, NS, NS, NS, NS }, { /* E1 */ C2, G2, D3, F3, NS, NS, NS, NS, NS }, { /* F1 */ D2, H2, E3, G3, NS, NS, NS, NS, NS }, { /* G1 */ E2, F3, H3, NS, NS, NS, NS, NS, NS }, { /* H1 */ F2, G3, NS, NS, NS, NS, NS, NS, NS }, { /* A2 */ C1, C3, B4, NS, NS, NS, NS, NS, NS }, { /* B2 */ D1, D3, A4, C4, NS, NS, NS, NS, NS }, { /* C2 */ A1, E1, A3, E3, B4, D4, NS, NS, NS }, { /* D2 */ B1, F1, B3, F3, C4, E4, NS, NS, NS }, { /* E2 */ C1, G1, C3, G3, D4, F4, NS, NS, NS }, { /* F2 */ D1, H1, D3, H3, E4, G4, NS, NS, NS }, { /* G2 */ E1, E3, F4, H4, NS, NS, NS, NS, NS }, { /* H2 */ F1, F3, G4, NS, NS, NS, NS, NS, NS }, { /* A3 */ B1, C2, C4, B5, NS, NS, NS, NS, NS }, { /* B3 */ A1, C1, D2, D4, A5, C5, NS, NS, NS }, { /* C3 */ B1, D1, A2, E2, A4, E4, B5, D5, NS }, { /* D3 */ C1, E1, B2, F2, B4, F4, C5, E5, NS }, { /* E3 */ D1, F1, C2, G2, C4, G4, D5, F5, NS }, { /* F3 */ E1, G1, D2, H2, D4, H4, E5, G5, NS }, { /* G3 */ F1, H1, E2, E4, F5, H5, NS, NS, NS }, { /* H3 */ G1, F2, F4, G5, NS, NS, NS, NS, NS }, { /* A4 */ B2, C3, C5, B6, NS, NS, NS, NS, NS }, { /* B4 */ A2, C2, D3, D5, A6, C6, NS, NS, NS }, { /* C4 */ B2, D2, A3, E3, A5, E5, B6, D6, NS }, { /* D4 */ C2, E2, B3, F3, B5, F5, C6, E6, NS }, { /* E4 */ D2, F2, C3, G3, C5, G5, D6, F6, NS }, { /* F4 */ E2, G2, D3, H3, D5, H5, E6, G6, NS }, { /* G4 */ F2, H2, E3, E5, F6, H6, NS, NS, NS }, { /* H4 */ G2, F3, F5, G6, NS, NS, NS, NS, NS }, { /* A5 */ B3, C4, C6, B7, NS, NS, NS, NS, NS }, { /* B5 */ A3, C3, D4, D6, A7, C7, NS, NS, NS }, { /* C5 */ B3, D3, A4, E4, A6, E6, B7, D7, NS }, { /* D5 */ C3, E3, B4, F4, B6, F6, C7, E7, NS }, { /* E5 */ D3, F3, C4, G4, C6, G6, D7, F7, NS }, { /* F5 */ E3, G3, D4, H4, D6, H6, E7, G7, NS }, { /* G5 */ F3, H3, E4, E6, F7, H7, NS, NS, NS }, { /* H5 */ G3, F4, F6, G7, NS, NS, NS, NS, NS }, { /* A6 */ B4, C5, C7, B8, NS, NS, NS, NS, NS }, { /* B6 */ A4, C4, D5, D7, A8, C8, NS, NS, NS }, { /* C6 */ B4, D4, A5, E5, A7, E7, B8, D8, NS }, { /* D6 */ C4, E4, B5, F5, B7, F7, C8, E8, NS }, { /* E6 */ D4, F4, C5, G5, C7, G7, D8, F8, NS }, { /* F6 */ E4, G4, D5, H5, D7, H7, E8, G8, NS }, { /* G6 */ F4, H4, E5, E7, F8, H8, NS, NS, NS }, { /* H6 */ G4, F5, F7, G8, NS, NS, NS, NS, NS }, { /* A7 */ B5, C6, C8, NS, NS, NS, NS, NS, NS }, { /* B7 */ A5, C5, D6, D8, NS, NS, NS, NS, NS }, { /* C7 */ B5, D5, A6, E6, A8, E8, NS, NS, NS }, { /* D7 */ C5, E5, B6, F6, B8, F8, NS, NS, NS }, { /* E7 */ D5, F5, C6, G6, C8, G8, NS, NS, NS }, { /* F7 */ E5, G5, D6, H6, D8, H8, NS, NS, NS }, { /* G7 */ F5, H5, E6, E8, NS, NS, NS, NS, NS }, { /* H7 */ G5, F6, F8, NS, NS, NS, NS, NS, NS }, { /* A8 */ B6, C7, NS, NS, NS, NS, NS, NS, NS }, { /* B8 */ A6, C6, D7, NS, NS, NS, NS, NS, NS }, { /* C8 */ B6, D6, A7, E7, NS, NS, NS, NS, NS }, { /* D8 */ C6, E6, B7, F7, NS, NS, NS, NS, NS }, { /* E8 */ D6, F6, C7, G7, NS, NS, NS, NS, NS }, { /* F8 */ E6, G6, D7, H7, NS, NS, NS, NS, NS }, { /* G8 */ F6, H6, E7, NS, NS, NS, NS, NS, NS }, { /* H8 */ G6, F7, NS, NS, NS, NS, NS, NS, NS }, { /* COL*/ NS, NS, NS, NS, NS, NS, NS, NS, NS }, { /* NS */ NS, NS, NS, NS, NS, NS, NS, NS, NS } }; // King moves: // As for the knight moves, the secondary array size is 9 even // though there are only 8 possible king moves, so there can // always be a NULL_SQUARE terminating the list of moves for each // square. Castling moves are not included here. const squareT kingAttacks[66][9] = { { /* A1 */ B1, A2, B2, NS, NS, NS, NS, NS, NS }, { /* B1 */ A1, C1, A2, B2, C2, NS, NS, NS, NS }, { /* C1 */ B1, D1, B2, C2, D2, NS, NS, NS, NS }, { /* D1 */ C1, E1, C2, D2, E2, NS, NS, NS, NS }, { /* E1 */ D1, F1, D2, E2, F2, NS, NS, NS, NS }, { /* F1 */ E1, G1, E2, F2, G2, NS, NS, NS, NS }, { /* G1 */ F1, H1, F2, G2, H2, NS, NS, NS, NS }, { /* H1 */ G1, G2, H2, NS, NS, NS, NS, NS, NS }, { /* A2 */ A1, B1, B2, A3, B3, NS, NS, NS, NS }, { /* B2 */ A1, B1, C1, A2, C2, A3, B3, C3, NS }, { /* C2 */ B1, C1, D1, B2, D2, B3, C3, D3, NS }, { /* D2 */ C1, D1, E1, C2, E2, C3, D3, E3, NS }, { /* E2 */ D1, E1, F1, D2, F2, D3, E3, F3, NS }, { /* F2 */ E1, F1, G1, E2, G2, E3, F3, G3, NS }, { /* G2 */ F1, G1, H1, F2, H2, F3, G3, H3, NS }, { /* H2 */ G1, H1, G2, G3, H3, NS, NS, NS, NS }, { /* A3 */ A2, B2, B3, A4, B4, NS, NS, NS, NS }, { /* B3 */ A2, B2, C2, A3, C3, A4, B4, C4, NS }, { /* C3 */ B2, C2, D2, B3, D3, B4, C4, D4, NS }, { /* D3 */ C2, D2, E2, C3, E3, C4, D4, E4, NS }, { /* E3 */ D2, E2, F2, D3, F3, D4, E4, F4, NS }, { /* F3 */ E2, F2, G2, E3, G3, E4, F4, G4, NS }, { /* G3 */ F2, G2, H2, F3, H3, F4, G4, H4, NS }, { /* H3 */ G2, H2, G3, G4, H4, NS, NS, NS, NS }, { /* A4 */ A3, B3, B4, A5, B5, NS, NS, NS, NS }, { /* B4 */ A3, B3, C3, A4, C4, A5, B5, C5, NS }, { /* C4 */ B3, C3, D3, B4, D4, B5, C5, D5, NS }, { /* D4 */ C3, D3, E3, C4, E4, C5, D5, E5, NS }, { /* E4 */ D3, E3, F3, D4, F4, D5, E5, F5, NS }, { /* F4 */ E3, F3, G3, E4, G4, E5, F5, G5, NS }, { /* G4 */ F3, G3, H3, F4, H4, F5, G5, H5, NS }, { /* H4 */ G3, H3, G4, G5, H5, NS, NS, NS, NS }, { /* A5 */ A4, B4, B5, A6, B6, NS, NS, NS, NS }, { /* B5 */ A4, B4, C4, A5, C5, A6, B6, C6, NS }, { /* C5 */ B4, C4, D4, B5, D5, B6, C6, D6, NS }, { /* D5 */ C4, D4, E4, C5, E5, C6, D6, E6, NS }, { /* E5 */ D4, E4, F4, D5, F5, D6, E6, F6, NS }, { /* F5 */ E4, F4, G4, E5, G5, E6, F6, G6, NS }, { /* G5 */ F4, G4, H4, F5, H5, F6, G6, H6, NS }, { /* H5 */ G4, H4, G5, G6, H6, NS, NS, NS, NS }, { /* A6 */ A5, B5, B6, A7, B7, NS, NS, NS, NS }, { /* B6 */ A5, B5, C5, A6, C6, A7, B7, C7, NS }, { /* C6 */ B5, C5, D5, B6, D6, B7, C7, D7, NS }, { /* D6 */ C5, D5, E5, C6, E6, C7, D7, E7, NS }, { /* E6 */ D5, E5, F5, D6, F6, D7, E7, F7, NS }, { /* F6 */ E5, F5, G5, E6, G6, E7, F7, G7, NS }, { /* G6 */ F5, G5, H5, F6, H6, F7, G7, H7, NS }, { /* H6 */ G5, H5, G6, G7, H7, NS, NS, NS, NS }, { /* A7 */ A6, B6, B7, A8, B8, NS, NS, NS, NS }, { /* B7 */ A6, B6, C6, A7, C7, A8, B8, C8, NS }, { /* C7 */ B6, C6, D6, B7, D7, B8, C8, D8, NS }, { /* D7 */ C6, D6, E6, C7, E7, C8, D8, E8, NS }, { /* E7 */ D6, E6, F6, D7, F7, D8, E8, F8, NS }, { /* F7 */ E6, F6, G6, E7, G7, E8, F8, G8, NS }, { /* G7 */ F6, G6, H6, F7, H7, F8, G8, H8, NS }, { /* H7 */ G6, H6, G7, G8, H8, NS, NS, NS, NS }, { /* A8 */ A7, B7, B8, NS, NS, NS, NS, NS, NS }, { /* B8 */ A7, B7, C7, A8, C8, NS, NS, NS, NS }, { /* C8 */ B7, C7, D7, B8, D8, NS, NS, NS, NS }, { /* D8 */ C7, D7, E7, C8, E8, NS, NS, NS, NS }, { /* E8 */ D7, E7, F7, D8, F8, NS, NS, NS, NS }, { /* F8 */ E7, F7, G7, E8, G8, NS, NS, NS, NS }, { /* G8 */ F7, G7, H7, F8, H8, NS, NS, NS, NS }, { /* H8 */ G7, H7, G8, NS, NS, NS, NS, NS, NS }, { /* COL*/ NS, NS, NS, NS, NS, NS, NS, NS, NS }, { /* NS */ NS, NS, NS, NS, NS, NS, NS, NS, NS } }; } // End namespace Guess #endif // #ifndef SCID_ATTACKS_H ////////////////////////////////////////////////////////////////////// // EOF: attacks.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/common.h000644 000765 000024 00000043601 12223260306 016276 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: common.h // Common macros, structures and constants. // // Part of: Scid (Shane's Chess Information Database) // Version: 3.6.6 // // Notice: Copyright (c) 2000-2004 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // Copyright (c) 2006-2007 Pascal Georges // ////////////////////////////////////////////////////////////////////// #ifndef SCID_COMMON_H #define SCID_COMMON_H //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // HEADER FILES: #include #include #include #include "error.h" #ifndef ASSERT #define ASSERT(h) assert(h) #endif namespace Guess { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // CONSTANTS: const char TREEFILE_SUFFIX[] = ".stc"; const char GZIP_SUFFIX[] = ".gz"; const char ZIP_SUFFIX[] = ".zip"; const char PGN_SUFFIX[] = ".pgn"; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // TYPE DEFINITIONS // compareT: comparison type typedef signed int compareT; const compareT LESS_THAN = -1, EQUAL_TO = 0, GREATER_THAN = 1; // Chess Types typedef unsigned char pieceT; // e.g ROOK or WK typedef unsigned char colorT; // WHITE or BLACK typedef unsigned char squareT; // e.g. A3 typedef unsigned char directionT; // e.g. UP_LEFT typedef unsigned char rankT; // Chess board rank typedef unsigned char fyleT; // Chess board file typedef unsigned char leftDiagT; // Up-left diagonals typedef unsigned char rightDiagT; // Up-right diagonals // boardT: 64 squares plus two extra squares: one for storing the side // to move as a unsigned char and one for the string terminator, so boards can // be compared using regular string functions: typedef pieceT boardT [66]; typedef unsigned char smallBoardT [32]; // A more densely packed board, 2 squares // per unsigned char. typedef unsigned char castleDirT; // LEFT or RIGHT // Other Small Types typedef unsigned short statusT; // Fixed String Types typedef char sanStringT [ 10]; // SAN Move Notation // File-related Types typedef char fileNameT [512]; typedef unsigned int fileLengthT; enum fileModeT { FMODE_None = 0, FMODE_ReadOnly, FMODE_WriteOnly, FMODE_Both }; // Date type: see date.h and date.cpp typedef unsigned int dateT; // Game Information types typedef unsigned int gameNumberT; // Used in Index class typedef unsigned short eloT; typedef unsigned short ecoT; typedef char ecoStringT [6]; /* "A00j1" */ const ecoT ECO_None = 0; // Rating types: const unsigned char RATING_Elo = 0; const unsigned char RATING_Rating = 1; const unsigned char RATING_Rapid = 2; const unsigned char RATING_ICCF = 3; const unsigned char RATING_USCF = 4; const unsigned char RATING_DWZ = 5; const unsigned char RATING_BCF = 6; extern const char * ratingTypeNames [17]; // Defined in game.cpp // NameBase types: see namebase.h and namebase.cpp typedef unsigned int idNumberT; typedef unsigned int nameT; // Result Type const unsigned int NUM_RESULT_TYPES = 4; typedef unsigned char resultT; const resultT RESULT_None = 0, RESULT_White = 1, RESULT_Black = 2, RESULT_Draw = 3; const unsigned int RESULT_SCORE[4] = { 1, 2, 0, 1 }; const char RESULT_CHAR [4] = { '*', '1', '0', '=' }; const char RESULT_STR [4][4] = { "*", "1-0", "0-1", "=-=" }; const char RESULT_LONGSTR [4][8] = { "*", "1-0", "0-1", "1/2-1/2" }; const resultT RESULT_OPPOSITE [4] = { RESULT_None, RESULT_Black, RESULT_White, RESULT_Draw }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // CHESS PIECES, COLORS AND THEIR MACROS const unsigned int NUM_COLOR_TYPES = 2; const colorT WHITE = 0, BLACK = 1, NOCOLOR = 2; const char COLOR_CHAR [3] = {'W', 'B', '_' }; inline colorT color_Flip(colorT c) { return 1 - c; } inline char color_Char(colorT c) { return COLOR_CHAR[c]; } const castleDirT QSIDE = 0, KSIDE = 1; // PIECE TYPES (without color; same value as a white piece) const pieceT KING = 1, QUEEN = 2, ROOK = 3, BISHOP = 4, KNIGHT = 5, PAWN = 6; // PIECES: // Note that color(x) == ((x & 0x8) >> 3) and type(x) == (x & 0x7) // EMPTY is deliberately nonzero, and END_OF_BOARD is zero, so that // a board can be used as a regular 0-terminated string, provided // that board[NULL_SQUARE] == END_OF_BOARD, as it always should be. const pieceT EMPTY = 7; const pieceT END_OF_BOARD = 0; const pieceT WK = 1, WQ = 2, WR = 3, WB = 4, WN = 5, WP = 6; const pieceT BK = 9, BQ = 10, BR = 11, BB = 12, BN = 13, BP = 14; // Minor piece definitions, used for searching by material only: const pieceT WM = 16, BM = 17; const unsigned int MAX_PIECE_TYPES = 18; // PIECE_CHAR[]: array of piece characters, capitals for White pieces. const char PIECE_CHAR [] = "xKQRBNP.xkqrbnpxMm"; // PIECE_FLIP[]: array of pieces, with colors reversed. const pieceT PIECE_FLIP [MAX_PIECE_TYPES] = { END_OF_BOARD, BK, BQ, BR, BB, BN, BP, EMPTY, EMPTY, WK, WQ, WR, WB, WN, WP, EMPTY, BM, WM }; const bool PIECE_IS_SLIDER [8] = { false, false, true, true, true, false, false, false, }; // PIECE_VALUE: Piece values, K=1000, Q=9, R=5, B=N=3, P=1 const int PIECE_VALUE [MAX_PIECE_TYPES] = { 0, 100, 9, 5, 3, 3, 1, 0, 0, -100, -9, -5, -3, -3, -1, 0, 3, -3 }; // // INLINE FUNCTIONS for pieces // inline colorT piece_Color(pieceT p) { return (p == EMPTY) ? NOCOLOR : ((p & 8) >> 3); } // Slightly faster piece_Color when we are sure the piece is not empty: inline colorT piece_Color_NotEmpty(pieceT p) { return (p & 8) >> 3; } inline pieceT piece_Type(pieceT p) { return (p & 7); } inline pieceT piece_Make(colorT c, pieceT p) { return ((c << 3) | (p & 7)); } inline bool piece_IsWhite(pieceT p) { return (p >= WK && p <= WP); } inline bool piece_IsBlack(pieceT p) { return (p >= BK && p <= BP); } inline bool piece_IsKing(pieceT p) { return (piece_Type(p) == KING); } inline bool piece_IsQueen(pieceT p) { return (piece_Type(p) == QUEEN); } inline bool piece_IsRook(pieceT p) { return (piece_Type(p) == ROOK); } inline bool piece_IsBishop(pieceT p) { return (piece_Type(p) == BISHOP); } inline bool piece_IsKnight(pieceT p) { return (piece_Type(p) == KNIGHT); } inline bool piece_IsPawn(pieceT p) { return (piece_Type(p) == PAWN); } inline bool piece_IsSlider(pieceT p) { return PIECE_IS_SLIDER[piece_Type(p)]; } inline char piece_Char(pieceT p) { return PIECE_CHAR[piece_Type(p)]; } inline pieceT piece_FromChar(char x) { switch(x) { case 'K': return KING; case 'Q': return QUEEN; case 'R': return ROOK; case 'N': return KNIGHT; case 'B': return BISHOP; default: return EMPTY; } } inline int piece_Value(pieceT p) { return PIECE_VALUE[p]; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // SQUARES AND SQUARE MACROS const squareT A1 = 0, B1 = 1, C1 = 2, D1 = 3, E1 = 4, F1 = 5, G1 = 6, H1 = 7, A2 = 8, B2 = 9, C2 = 10, D2 = 11, E2 = 12, F2 = 13, G2 = 14, H2 = 15, A3 = 16, B3 = 17, C3 = 18, D3 = 19, E3 = 20, F3 = 21, G3 = 22, H3 = 23, A4 = 24, B4 = 25, C4 = 26, D4 = 27, E4 = 28, F4 = 29, G4 = 30, H4 = 31, A5 = 32, B5 = 33, C5 = 34, D5 = 35, E5 = 36, F5 = 37, G5 = 38, H5 = 39, A6 = 40, B6 = 41, C6 = 42, D6 = 43, E6 = 44, F6 = 45, G6 = 46, H6 = 47, A7 = 48, B7 = 49, C7 = 50, D7 = 51, E7 = 52, F7 = 53, G7 = 54, H7 = 55, A8 = 56, B8 = 57, C8 = 58, D8 = 59, E8 = 60, F8 = 61, G8 = 62, H8 = 63, COLOR_SQUARE = 64, NULL_SQUARE = 65, NS = 65; // NS is abbreviation for NULL_SQUARE. const rankT RANK_1 = 0, RANK_2 = 1, RANK_3 = 2, RANK_4 = 3, RANK_5 = 4, RANK_6 = 5, RANK_7 = 6, RANK_8 = 7, NO_RANK = 64; const fyleT // we use "fyle" instead of "file" to avoid confusion with disk files. A_FYLE = 0, B_FYLE = 1, C_FYLE = 2, D_FYLE = 3, E_FYLE = 4, F_FYLE = 5, G_FYLE = 6, H_FYLE = 7, NO_FYLE = 64; inline rankT rank_FromChar(char c) { if(c < '1' || c > '8') { return NO_RANK; } else { return (c - '1'); } } inline fyleT fyle_FromChar(char c) { if(c < 'a' || c > 'h') { return NO_FYLE; } else { return (c - 'a'); } } inline squareT square_Make(fyleT f, rankT r) { ASSERT(f <= H_FYLE && r <= RANK_8); return ((r << 3) | f); } inline fyleT square_Fyle(squareT sq) { return (sq & 0x7); } inline rankT square_Rank(squareT sq) { return ((sq >> 3) & 0x7); } inline leftDiagT square_LeftDiag(squareT sq) { return square_Rank(sq) + square_Fyle(sq); } inline rightDiagT square_RightDiag(squareT sq) { return (7 + square_Rank(sq) - square_Fyle(sq)); } // square_Color: // Return WHITE for a light square, BLACK for a dark square. inline colorT square_Color(squareT sq) { return 1 - (square_LeftDiag(sq) & 1); } // square_FlipFyle: // Return the square with its file flipped: a1 <-> h1, b1 <-> g1, etc. inline squareT square_FlipFyle(squareT sq) { return square_Make(A_FYLE + H_FYLE - square_Fyle(sq), square_Rank(sq)); } // square_FlipRank: // Return the square with its rank flipped: a1 <-> a8, a2 <-> a7, etc. inline squareT square_FlipRank(squareT sq) { return square_Make(square_Fyle(sq), RANK_1 + RANK_8 - square_Rank(sq)); } // square_FlipDiag: // Return the square flipped along the a1-h8 diagonal. inline squareT square_FlipDiag(squareT sq) { return square_Make(square_Rank(sq), square_Fyle(sq)); } const unsigned int rankFyleDist[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 1, 0, 1, 2, 3, 4, 5, 6, 2, 1, 0, 1, 2, 3, 4, 5, 3, 2, 1, 0, 1, 2, 3, 4, 4, 3, 2, 1, 0, 1, 2, 3, 5, 4, 3, 2, 1, 0, 1, 2, 6, 5, 4, 3, 2, 1, 0, 1, 7, 6, 5, 4, 3, 2, 1, 0 }; // square_Distance: // Return the distance in king moves between two squares. inline unsigned int square_Distance(squareT from, squareT to) { ASSERT(from <= H8 && to <= H8); unsigned int rankd = rankFyleDist[(square_Rank(from) << 3) | square_Rank(to)]; unsigned int fyled = rankFyleDist[(square_Fyle(from) << 3) | square_Fyle(to)]; return (rankd > fyled) ? rankd : fyled; } // square_NearestCorner: // Return the corner (A1/H1/A8/H8) closest to the specified square. inline squareT square_NearestCorner(squareT sq) { if(square_Rank(sq) <= RANK_4) { return (square_Fyle(sq) <= D_FYLE) ? A1 : H1; } else { return (square_Fyle(sq) <= D_FYLE) ? A8 : H8; } } inline bool square_IsCornerSquare(squareT sq) { return (sq == A1 || sq == H1 || sq == A8 || sq == H8); } inline bool square_IsEdgeSquare(squareT sq) { rankT rank = square_Rank(sq); if(rank == RANK_1 || rank == RANK_8) { return true; } fyleT fyle = square_Fyle(sq); if(fyle == A_FYLE || fyle == H_FYLE) { return true; } return false; } const int edgeDist[66] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 2, 2, 2, 2, 1, 0, 0, 1, 2, 3, 3, 2, 1, 0, 0, 1, 2, 3, 3, 2, 1, 0, 0, 1, 2, 2, 2, 2, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1 }; inline int square_EdgeDistance(squareT sq) { return edgeDist[sq]; } inline bool square_IsKnightHop(squareT from, squareT to) { ASSERT(from <= H8 && to <= H8); unsigned int rdist = rankFyleDist [(square_Rank(from) << 3) | square_Rank(to)]; unsigned int fdist = rankFyleDist [(square_Fyle(from) << 3) | square_Fyle(to)]; // It is a knight hop only if one distance is two squares and the // other is one square -- that is, only if their product equals two. return ((rdist * fdist) == 2); } inline char square_FyleChar(squareT sq) { return square_Fyle(sq) + 'a'; } inline char square_RankChar(squareT sq) { return square_Rank(sq) + '1'; } inline void square_Print(squareT sq, char * str) { if(sq <= H8) { str[0] = square_FyleChar(sq); str[1] = square_RankChar(sq); str[2] = 0; } else if(sq == NULL_SQUARE) { str[0] = 'N'; str[1] = 'S'; str[2] = 0; } else { str[0] = 'X'; str[1] = 'X'; str[2] = 0; } return; } // Directions: // Up = 1, Down = 2, Left = 4, Right = 8, UpLeft = 5, UpRight = 9, // DownLeft = 6, DownRight = 10 const directionT NULL_DIR = 0, UP = 1, DOWN = 2, LEFT = 4, RIGHT = 8, UP_LEFT = (UP | LEFT), UP_RIGHT = (UP | RIGHT), DOWN_LEFT = (DOWN | LEFT), DOWN_RIGHT = (DOWN | RIGHT); const directionT dirOpposite[11] = { NULL_DIR, DOWN, // opposite of UP (1) UP, // opposite of DOWN (2) NULL_DIR, RIGHT, // opposite of LEFT (4) DOWN_RIGHT, // opposite of UP_LEFT (5) UP_RIGHT, // opposite of DOWN_LEFT (6) NULL_DIR, LEFT, // opposite of RIGHT (8) DOWN_LEFT, // opposite of UP_RIGHT (9) UP_LEFT // opposite of DOWN_RIGHT (10) }; // direction_Opposite(): return the opposite direction to d inline directionT direction_Opposite(directionT d) { return dirOpposite[d]; } // dirIsDiagonal[]: array listing the diagonal directions, for fast // lookup of whether a direction is a diagonal. const bool dirIsDiagonal [11] = { false, // 0 = NULL_DIR false, // 1 = UP false, // 2 = DOWN false, // 3 = Invalid false, // 4 = LEFT true, // 5 = UP_LEFT true, // 6 = DOWN_LEFT false, // 7 = Invalid false, // 8 = RIGHT true, // 9 = UP_RIGHT true // 10 = DOWN_RIGHT }; inline bool direction_IsDiagonal(directionT dir) { return dirIsDiagonal[dir]; } // dirDelta: // Array giving the board delta of moving to the next square // in that direction. const int dirDelta[11] = { 0, // NULL_DIR 8, // UP -8, // DOWN 0, // Invalid -1, // LEFT 7, // UP_LEFT -9, // DOWN_LEFT 0, // Invalid 1, // RIGHT 9, // UP_RIGHT -7 // DOWN_RIGHT }; inline int direction_Delta(directionT dir) { return dirDelta[dir]; } // sqDir[][]: Array listing the direction between any two squares. // For example, sqDir[A1][B2] == UP_RIGHT, and sqDir[A1][C2] == NULL_DIR. // It is initialised with the function scid_Init() in misc.cpp extern directionT sqDir[66][66]; // sqMove[66][11]: a table of the square resulting from a move in a // certain direction from a square. // For example, sqMove[A1][UP] == A2; sqMove[A1][DOWN] == NULL_SQUARE. #include "sqmove.h" // square_Move(): Return the new square resulting from moving in // direction d from x. inline squareT square_Move(squareT sq, directionT dir) { return sqMove[sq][dir]; } // square_Last(): // Return the last square reached by moving as far as possible in // the direction d from the square sq. If sq is a valid on-board // square and d is a valid direction, the result will always be // a valid on-board square; the result will be the same as the // input square if moving in the specified direction would end // up off the board. inline squareT square_Last(squareT sq, directionT dir) { return sqLast[sq][dir]; } // The starting Board // const boardT START_BOARD = { WR, WN, WB, WQ, WK, WB, WN, WR, // A1--H1 WP, WP, WP, WP, WP, WP, WP, WP, // A2--H2 EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, EMPTY, BP, BP, BP, BP, BP, BP, BP, BP, BR, BN, BB, BQ, BK, BB, BN, BR, EMPTY, // COLOR_SQUARE END_OF_BOARD // NULL_SQUARE }; // Square colors for the standard chess board: // const colorT BOARD_SQUARECOLOR[66] = { BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, // a1-h1 WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, // a2-h2 BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, // a3-h3 WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, // a4-h4 BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, // a5-h5 WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, // a6-h6 BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, // a7-h7 WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, WHITE, BLACK, // a8-h8 NOCOLOR, NOCOLOR // Color square and Null square }; inline int board_Compare(const pieceT * b1, const pieceT * b2) { for(unsigned int i = 0; i < 64; i++) { if(*b1 < *b2) { return -1; } if(*b1 > *b2) { return 1; } b1++; b2++; } return 0; } // square_Adjacent: returns 1 if the two squares are adjacent. Note that // diagonal adjacency is included: a1 and b2 are adjacent. // Also note that a square is adjacent to itself. inline bool square_Adjacent(squareT from, squareT to) { ASSERT(from <= H8 && to <= H8); rankT fromRank = square_Rank(from); rankT toRank = square_Rank(to); int rdist = (int)fromRank - (int)toRank; if(rdist < -1 || rdist > 1) { return false; } fyleT fromFyle = square_Fyle(from); fyleT toFyle = square_Fyle(to); int fdist = (int)fromFyle - (int)toFyle; if(fdist < -1 || fdist > 1) { return false; } return true; } // Random values: // To ensure good bit distributions, we take three random values // and mix the bits around. inline void srandom32(unsigned int seed) { #ifdef WIN32 srand(seed); #else srandom(seed); #endif } inline unsigned int random32() { #ifdef WIN32 return rand() ^ (rand() << 16) ^ (rand() >> 16); #else return random() ^ (random() << 16) ^ (random() >> 16); #endif } } // End namespace Guess #endif // #ifdef SCID_COMMON_H ////////////////////////////////////////////////////////////////////// // EOF: common.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/compileeco.cpp000644 000765 000024 00000013660 12522144662 017472 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "guess.h" #include "board.h" #include "ecopositions.h" #include #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER // Parsed data containers static QMap ecoPositions; static QMap ecoNames; static QMap > gtmPositions; // Number of milliseconds to spend deciding which of two possible moves // is the better one for the guess-the-move feature to offer user #define CALCULATE_MS 20 // Create GTM (Guess-The-Move) hash data. // // This new hash has a key on "position + square" and contains the move // that the guess-the-move feature should display when the user hovers // the mouse over this square in this position. // // It can be looked up quickly by the guess-the-move feature by // combining the hash for the current position + a unique hash for each // of the 64 squares. Thus providing an individual hash key for each // ECO position / target square combination. // // Because we can only offer the user a single choice, if the ECO data // suggests more than one possibility for a given position-square combo, // then use the Scid internal chess engine to decide which is the "best" // move to display to the user. // void updateFinalGuess(const Board& board, int target, const Move& move) { int from = move.from(); int to = move.to(); QList data; data << from << to; quint64 key = board.getHashPlusSquare(target); if(gtmPositions.contains(key)) { int ofrom = gtmPositions[key][0]; int oto = gtmPositions[key][1]; // For some reason the ECO data has a few dupes if(from == ofrom && to == oto) { return; } int ret = Guess::pickBest( qPrintable(board.toFen()), from, to, ofrom, oto, CALCULATE_MS); if(ret == 0) { gtmPositions[key] = data; } else if(ret < 0) { qDebug() << "ERROR deciding between moves.."; qDebug() << board.toFen() << target << from << to << gtmPositions[key][0] << gtmPositions[key][1]; } } else { gtmPositions[key] = data; } } bool parseAsciiEcoData(const QString& ecoFile) { ecoPositions.clear(); ecoNames.clear(); QFile file(ecoFile); if(!file.open(QIODevice::ReadOnly)) { return false; } QTextStream ecoStream(&file); ecoStream.setCodec("ISO-8859-1"); QString line; Board board; QString ecoCode; QRegExp ecoRegExp("[A-Z]\\d{2}[a-z]?"); QStringList tokenList; QString token; Move move; while(!ecoStream.atEnd()) { line = ecoStream.readLine(); //ignore comments and blank lines if(line.startsWith("#") || line == "") { continue; } //if line starts with eco code, store and begin new line if(line.indexOf(ecoRegExp) == 0) { ecoCode = line.section(' ', 0, 0); ecoCode += " " + line.section('"', 1, 1); board.setStandardPosition(); line = line.section('"', 2); } //parse any moves on line tokenList = line.split(" "); for(QStringList::Iterator iterator = tokenList.begin(); iterator != tokenList.end(); iterator++) { token = *iterator; if(token == "*") { // Record final position of this variation along with its ECO code ecoPositions.insert(board.getHashValue(), ecoCode); if(!move.isLegal()) { continue; } // Guess the move is based on second-to-last move, so undo last move Board guess(board); guess.undoMove(move); // We update twice because user might put mouse over // the "to" or "from" squares. updateFinalGuess(guess, move.to(), move); updateFinalGuess(guess, move.from(), move); continue; } if(token.contains('.')) { token = token.section('.', 1, 1); } if(token != "") { move = board.parseMove(token); if(move.isLegal()) { board.doMove(move); } else { qDebug() << "failed on" << token; ecoPositions.clear(); return false; } } } } return true; } // "chessx.eco.txt" -> "chessx.eco", "chessx.gtm", "chessx.txt" bool compileAsciiEcoFile(const QString& filenameIn, QString filenameOut, QString gtmFile) { // Read in the ECO data if(!parseAsciiEcoData(filenameIn)) { return false; } filenameOut = QFileInfo(filenameIn).absolutePath() + QDir::separator() + filenameOut; gtmFile = QFileInfo(filenameIn).absolutePath() + QDir::separator() + gtmFile; // Write out the main ECO file QFile file(filenameOut); file.open(QIODevice::WriteOnly); QDataStream sout(&file); sout << COMPILED_ECO_FILE_ID; sout << ecoPositions; file.close(); // Write out the GTM (guess-the-move) ECO file QFile gfile(gtmFile); gfile.open(QIODevice::WriteOnly); QDataStream gout(&gfile); gout << COMPILED_GUESS_FILE_ID; gout << gtmPositions; gfile.close(); ecoPositions.clear(); gtmPositions.clear(); return true; } ./chessx-1.3.2/src/guess/compileeco.h000644 000765 000024 00000000246 12266723767 017151 0ustar00nistaff000000 000000 #ifndef _COMPILEECO_H_ #define _COMPILEECO_H_ #include bool compileAsciiEcoFile(const QString& filenameIn, QString filenameOut, QString gtmFile); #endif ./chessx-1.3.2/src/guess/error.h000644 000765 000024 00000003572 12223260306 016142 0ustar00nistaff000000 000000 /////////////////////////////////////////////////////////////////////////// // // FILE: error.h // Error codes // // Part of: Scid (Shane's Chess Information Database) // Version: 1.6 // // Notice: Copyright (c) 1999 Shane Hudson. all rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // /////////////////////////////////////////////////////////////////////////// #ifndef SCID_ERROR_H #define SCID_ERROR_H namespace Guess { typedef unsigned short errorT; const errorT OK = 0, // General Error ERROR_General = 1, // File I/O ERROR_FileOpen = 101, ERROR_FileWrite = 102, ERROR_FileRead = 103, ERROR_FileSeek = 104, ERROR_BadMagic = 105, ERROR_FileNotOpen = 106, ERROR_FileInUse = 107, ERROR_FileMode = 108, ERROR_FileVersion = 109, ERROR_OldScidVersion = 110, // Memory Allocation, corrupt data ERROR_MallocFailed = 151, ERROR_CorruptData = 152, ERROR_Corrupt = 152, // NameBase, Index errors ERROR_NameBaseFull = 201, ERROR_Full = 201, ERROR_NameNotFound = 202, ERROR_NotFound = 202, ERROR_NameExists = 203, ERROR_Exists = 203, ERROR_NameBaseEmpty = 204, ERROR_Empty = 204, ERROR_NoMatchFound = 205, ERROR_IndexFull = 251, // Position errors ERROR_InvalidFEN = 301, ERROR_InvalidMove = 302, ERROR_PieceCount = 303, // Game Errors ERROR_Game = 400, ERROR_EndOfMoveList = 401, ERROR_StartOfMoveList = 402, ERROR_NoVariation = 403, ERROR_EmptyVariation = 404, ERROR_VariationLimit = 405, ERROR_Decode = 406, ERROR_GameFull = 407, // Scan Errors ERROR_PGNTag = 501, // Buffer errors ERROR_BufferFull = 601, ERROR_BufferRead = 602; } // End namespace Guess #endif // #ifdef SCID_ERROR_H /////////////////////////////////////////////////////////////////////////// // EOF: error.h /////////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/guess.cpp000644 000765 000024 00000005073 12515660613 016501 0ustar00nistaff000000 000000 #include "guess.h" #include "position.h" #include "guessengine.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER namespace Guess { static bool s_guessAllowed = true; int scorePosFromFen(const char *fen) { Position pos; pos.ReadFromFEN(fen); return pos.ScoreMaterial(); } Result guessMove(const char* fen, int square, MoveList& mlist, int thinkTime) { Result r; if (!s_guessAllowed) { return r; } squareT sq = square; Position pos; pos.ReadFromFEN(fen); if (!pos.IsLegal()) return r; pos.GenerateMoves(&mlist); if (sq != 255) mlist.SelectBySquare(sq); if(mlist.size() == 0) { return r; } if(mlist.size() > 1) { Engine engine; engine.SetSearchTime(thinkTime); engine.SetPosition(&pos); r.score = engine.Think(&mlist); } const simpleMoveT& sm = mlist.at(0); ASSERT(sq == 255 || sq == sm.from || sq == sm.to); r.from = sm.from; r.to = sm.to; r.error = 0; return r; } Result evalPos(const char* fen, int thinkTime) { Result r; if (!s_guessAllowed) { return r; } MoveList mlist; Position pos; pos.ReadFromFEN(fen); Engine engine; engine.SetSearchTime(thinkTime); engine.SetPosition(&pos); r.score = engine.Think(&mlist); simpleMoveT * sm = mlist.Get(0); r.from = sm->from; r.to = sm->to; r.error = 0; return r; } // Use chess engine to decide if (from1,to1) is better than (from2,to2) move // it will start from the position given in fen and think for ms milliseconds // 0 is returned if the first move is better or 1 if the second is better // -1 is returned on error int pickBest(const char* fen, int from1, int to1, int from2, int to2, int ms) { if (!s_guessAllowed) return -1; Position pos; pos.ReadFromFEN(fen); MoveList mlist; pos.GenerateMoves(&mlist); mlist.SelectBySquares(from1, to1, from2, to2); if(mlist.size() == 2) { Engine engine; engine.SetSearchTime(ms); // Do a "ms" millisecond search engine.SetPosition(&pos); engine.Think(&mlist); simpleMoveT * sm = mlist.Get(0); if(sm->from == from1 && sm->to == to1) { return 0; } if(sm->from == from2 && sm->to == to2) { return 1; } } return -1; } void setGuessAllowed(bool allow) { s_guessAllowed = allow; } bool guessAllowed() { return s_guessAllowed; } } ./chessx-1.3.2/src/guess/guess.h000644 000765 000024 00000001037 12516124425 016137 0ustar00nistaff000000 000000 #ifndef GUESS_H #define GUESS_H #include "movelist.h" namespace Guess { typedef struct Result { int error; int from, to; int score; Result() { error = -1; score = 0; } } Result; int scorePosFromFen(const char* fen); Result guessMove(const char* fen, int square, MoveList& mlist, int thinkTime = 25); Result evalPos(const char* fen, int thinkTime = 125); int pickBest(const char* fen, int from1, int to1, int from2, int to2, int ms); void setGuessAllowed(bool allow); bool guessAllowed(); } #endif ./chessx-1.3.2/src/guess/guessengine.cpp000644 000765 000024 00000266417 12517745317 017711 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: engine.cpp // Engine class methods // // Part of: Scid (Shane's Chess Information Database) // Version: 3.5 // // Notice: Copyright (c) 2002-2003 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #include "attacks.h" #include "guessengine.h" #include "recog.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER using namespace Guess; // The Engine class implements the Scid built-in chess engine. // See guessengine.h for details. // Evaluation constants: // EndgameValue, MiddlegameValue: // If the combined material score of pieces on both sides (excluding // kings and pawns) is less than this value, we are in an endgame. // If it is greater than MiddlegameValue, we use middlegame scoring. // For anything in between, the score will be a weighted average of // the middlegame and endgame scores. // static const int EndgameValue = 2400; static const int MiddlegameValue = 4000; // Bonuses and penalties: // static const int RookHalfOpenFile = 8; static const int RookOpenFile = 20; static const int RookPasserFile = 25; // Rook on passed pawn file. static const int RookOnSeventh = 25; // Rook on its 7th rank. static const int DoubledRooks = 20; // Two rooks on same file. static const int RookEyesKing = 12; // Attacks squares near enemy king. static const int KingTrapsRook = 35; // E.g. King on f1, Rook on h1 static const int DoubledPawn = 8; static const int IsolatedPawn = 16; static const int BackwardPawn = 10; // Pawn at base of pawn chain. //static const int DispersedPawn = 10; // Not in pawn chain/duo. (Unused) static const int BlockedHomePawn = 15; // Blocked pawn on d2/e2/d7/e7. static const int BishopPair = 25; // Pair of bishops. static const int BishopEyesKing = 12; // Bishop targets enemy king. static const int BishopTrapped = 120; // E.g. Bxa7? ...b6! static const int KnightOutpost = 15; // 4th/5th/6th rank outpost. static const int KnightBadEndgame = 30; // Enemy pawns on both wings. static const int BadPieceTrade = 80; // Bad trade, e.g. minor for pawns. static const int CanCastle = 10; // Bonus for castling rights. static const int Development = 8; // Moved minor pieces in opening. static const int CentralPawnPair = 15; // For d4/d5 + e4/e5 pawns. static const int CoverPawn = 12; // Pawn cover for king. static const int PassedPawnRank[8] = { // 1 2 3 4 5 6 7 8th rank 0, 10, 15, 25, 50, 80, 120, 0 }; // Bishops (and rooks in endings) need to be mobile to be useful: static const int BishopMobility[16] = { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -20, -15, -10, -6, -3, 0, 3, 6, 9, 12, 15, 15, 15, 15, 15, 15 }; static const int RookEndgameMobility[16] = { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -25, -20, -15, -10, -5, 2, 0, 2, 4, 6, 8, 8, 8, 8, 8, 8 }; // Piece distance to enemy king bonuses: 1 2 3 4 5 6 7 static const int KnightKingDist [8] = { 0, 10, 14, 10, 5, 2, 0, 0 }; static const int BishopKingDist [8] = { 0, 8, 6, 4, 2, 1, 0, 0 }; static const int RookKingDist [8] = { 0, 8, 6, 4, 2, 1, 0, 0 }; static const int QueenKingDist [8] = { 0, 15, 12, 9, 6, 3, 0, 0 }; // LazyEvalMargin // A score that is further than this margin outside the current // alpha-beta window after material evaluation is returned as-is. // A larger margin is used for endgames (especially pawn endings) // since positional bonuses can be much larger for them. static const int LazyEvalMargin = 250; static const int LazyEvalEndingMargin = 400; static const int LazyEvalPawnEndingMargin = 800; // NullMoveReduction: // The default reduced depth for a null move search. static const int NullMoveReduction = 2; // AspirationWindow: // The window around the score of the previous depth iteration // when searching at the root. static const int AspirationWindow = 35; // PawnSquare: // Gives bonuses to advanced pawns, especially in the centre. static const int PawnSquare [64] = { 0, 0, 0, 0, 0, 0, 0, 0, // A8 - H8 4, 8, 12, 16, 16, 12, 8, 4, 4, 8, 12, 16, 16, 12, 8, 4, 3, 6, 9, 12, 12, 9, 6, 3, 2, 4, 6, 8, 8, 6, 4, 2, 1, 2, 3, 4, 4, 3, 2, 1, 0, 0, 0, -4, -4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // A1 - H1 }; // PawnStorm: // Bonus when side is castled queenside and opponent is // castled kingside. Gives a bonus for own sheltering pawns // and a penalty for pawns on the opposing wing to make them // disposable and encourage them to move forwards. static const int PawnStorm [64] = { 0, 0, 0, 0, 0, 0, 0, 0, // A8 - H8 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 4, 2, 2, 2, 0, 0, 0, 4, 6, 0, 0, 0, 4, 4, 4, 4, 4, -4, -4, -4, 8, 8, 8, 0, 0, -8, -8, -8, 12, 12, 12, 0, 0, -12, -12, -12, 0, 0, 0, 0, 0, 0, 0, 0 // A1 - H1 }; // KnightSquare: // Rewards well-placed knights. static const int KnightSquare [64] = { -24, -12, -6, -6, -6, -6, -12, -24, -8, 0, 0, 0, 0, 0, 0, -8, -6, 5, 10, 10, 10, 10, 5, -6, -6, 0, 10, 10, 10, 10, 0, -6, -6, 0, 5, 8, 8, 5, 0, -6, -6, 0, 5, 5, 5, 5, 0, -6, -6, 0, 0, 0, 0, 0, 0, -8, -10, -8, -5, -6, -6, -6, -6, -10 }; // BishopSquare: // Bonus array for bishops. static const int BishopSquare [64] = { -10, -5, 0, 0, 0, 0, -5, -10, -5, 8, 0, 5, 5, 0, 8, -5, 0, 0, 5, 5, 5, 5, 0, 0, 0, 5, 10, 5, 5, 10, 5, 0, 0, 5, 10, 5, 5, 10, 5, 0, 0, 0, 5, 5, 5, 5, 0, 0, -5, 8, 0, 5, 5, 0, 8, -5, -10, -5, -2, -2, -2, -2, -5, -10 }; // RookFile: // Bonus array for Rooks, by file. static const int /* a b c d e f g h */ RookFile [8] = { 0, 0, 4, 8, 8, 4, 0, 0 }; // QueenSquare: // Bonus array for Queens. static const int QueenSquare [64] = { -5, 0, 0, 0, 0, 0, 0, -5, // A8 - H8 -5, 0, 3, 3, 3, 3, 0, -5, 0, 3, 6, 9, 9, 6, 3, 0, 0, 3, 9, 12, 12, 9, 3, 0, -5, 3, 9, 12, 12, 9, 3, -5, -5, 3, 6, 9, 9, 6, 3, -5, -5, 0, 3, 3, 3, 3, 0, -5, -10, -5, 0, 0, 0, 0, -5, -10 // A1 - H1 }; // KingSquare: // Bonus array for kings in the opening and middlegame. static const int KingSquare [64] = { -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -50, -60, -60, -50, -50, -50, -40, -40, -40, -60, -60, -40, -40, -40, -15, -15, -15, -20, -20, -15, -15, -15, 5, 5, 0, 0, 0, 0, 5, 5, 20, 20, 15, 5, 5, 5, 20, 20 }; // EndgameKingSquare: // Rewards King centralisation in endgames. // TODO: Add separate king square tables for endgames where all // pawns are on one side of the board. static const int KingEndgameSquare [64] = { -10, -5, 0, 5, 5, 0, -5, -10, -5, 0, 5, 10, 10, 5, 0, -5, 0, 5, 10, 15, 15, 10, 5, 0, 5, 10, 15, 20, 20, 15, 10, 5, 5, 10, 15, 20, 20, 15, 10, 5, 0, 5, 10, 15, 15, 10, 5, 0, -5, 0, 5, 10, 10, 5, 0, -5, -10, -5, 0, 5, 5, 0, -5, -10 }; static const int pieceValues [8] = { 0, // Invalid KingValue, QueenValue, RookValue, BishopValue, KnightValue, PawnValue, 0 // Empty }; inline int Engine::PieceValue(pieceT piece) { return pieceValues[piece_Type(piece)]; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // isOutpost // Returns true if the square is on the 4th/5th/6th rank (3rd/4th/5th // for Black) and cannot be attacked by an enemy pawn. static bool isOutpost(const pieceT * board, squareT sq, colorT color) { pieceT enemyPawn = piece_Make(color_Flip(color), PAWN); rankT rank = square_Rank(sq); fyleT fyle = square_Fyle(sq); // Build the list of squares to check for enemy pawns: SquareList squares; if(color == WHITE) { if(rank < RANK_4 || rank > RANK_6) { return false; } if(fyle > A_FYLE) { squares.Add(square_Make(fyle - 1, RANK_7)); if(rank == RANK_5) { squares.Add(square_Make(fyle - 1, RANK_6)); } } if(fyle < H_FYLE) { squares.Add(square_Make(fyle + 1, RANK_7)); if(rank == RANK_5) { squares.Add(square_Make(fyle + 1, RANK_6)); } } } else { if(rank < RANK_3 || rank > RANK_5) { return false; } if(fyle > A_FYLE) { squares.Add(square_Make(fyle - 1, RANK_2)); if(rank == RANK_4) { squares.Add(square_Make(fyle - 1, RANK_3)); } } if(fyle < H_FYLE) { squares.Add(square_Make(fyle + 1, RANK_2)); if(rank == RANK_4) { squares.Add(square_Make(fyle + 1, RANK_3)); } } } // Now check each square for an enemy pawn: for(unsigned int i = 0; i < squares.Size(); i++) { if(board[squares.Get(i)] == enemyPawn) { return false; } } return true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::Score // Returns a score in centipawns for the current engine position, // from the perspective of the side to move. int Engine::Score(void) { // Look for a recognized ending with an exact score: int recog = Recognizer::Recognize(&Pos); if(recogFlag(recog) == SCORE_EXACT) { return recogScore(recog); } return Score(-Infinity, Infinity); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::Score // Returns a score in centipawns for the current engine position, // from the perspective of the side to move. // Alpha and beta cutoff scores are specified for performance. If // simple material counting produces a score much lower than alpha // or much greater than beta, the score is returned without // slower square-based evaluation. int Engine::Score(int alpha, int beta) { colorT toMove = Pos.GetToMove(); const unsigned char * pieceCount = Pos.GetMaterial(); const pieceT * board = Pos.GetBoard(); int materialScore[2] = {0, 0}; int allscore[2] = {0, 0}; // Scoring in all positions int endscore[2] = {0, 0}; // Scoring in endgames int midscore[2] = {0, 0}; // Scoring in middlegames int nNonPawns[2] = {0, 0}; // Non-pawns on each side, including kings nNonPawns[WHITE] = Pos.NumNonPawns(WHITE); nNonPawns[BLACK] = Pos.NumNonPawns(BLACK); // First compute material scores: allscore[WHITE] = materialScore[WHITE] = Pos.ScoreWhiteMaterial(); allscore[BLACK] = materialScore[BLACK] = Pos.ScoreBlackMaterial(); int pieceMaterial = (materialScore[WHITE] - pieceCount[WP] * PawnValue) + (materialScore[BLACK] - pieceCount[BP] * PawnValue); bool inEndgame = false; bool inMiddlegame = false; if(pieceMaterial <= EndgameValue) { inEndgame = true; } if(pieceMaterial >= MiddlegameValue) { inMiddlegame = true; } bool inPawnEndgame = Pos.InPawnEnding(); // Look for a bad trade: minor piece for pawns; Q for R+Pawns; etc. // But only do this if both sides have pawns. if(pieceCount[WP] > 0 && pieceCount[BP] > 0) { unsigned int wminors = pieceCount[WB] + pieceCount[WN]; unsigned int bminors = pieceCount[BB] + pieceCount[BN]; unsigned int wmajors = pieceCount[WR] + (2 * pieceCount[WQ]); unsigned int bmajors = pieceCount[BR] + (2 * pieceCount[BQ]); if(wmajors == bmajors) { if(wminors < bminors) { allscore[WHITE] -= BadPieceTrade; } if(wminors > bminors) { allscore[BLACK] -= BadPieceTrade; } } else if(wminors == bminors) { if(wmajors < bmajors) { allscore[WHITE] -= BadPieceTrade; } if(wmajors > bmajors) { allscore[BLACK] -= BadPieceTrade; } } } // Add the Bishop-pair bonus now, because it is fast and easy: if(pieceCount[WB] >= 2) { allscore[WHITE] += BishopPair; } if(pieceCount[BB] >= 2) { allscore[BLACK] += BishopPair; } // If there are no pawns, a material advantage of only one minor // piece is worth very little so reduce the material score. if(pieceCount[WP] + pieceCount[BP] == 0) { int materialDiff = materialScore[WHITE] - materialScore[BLACK]; if(materialDiff < 0) { materialDiff = -materialDiff; } if(materialDiff == BishopValue || materialDiff == KnightValue) { allscore[WHITE] /= 4; allscore[BLACK] /= 4; } } // Look for a trapped bishop on a7/h7/a2/h2: if(Pos.RankCount(WB, RANK_7) > 0) { if(board[A7] == WB && board[B6] == BP) { allscore[WHITE] -= BishopTrapped; } if(board[H7] == WB && board[G6] == BP) { allscore[WHITE] -= BishopTrapped; } } if(Pos.RankCount(BB, RANK_2) > 0) { if(board[A2] == BB && board[B3] == WP) { allscore[BLACK] -= BishopTrapped; } if(board[H2] == BB && board[G6] == WP) { allscore[BLACK] -= BishopTrapped; } } // Check for a score much worse than alpha or better than beta // which can be returned immediately on the assumption that // a full evaluation could not get inside the alpha-beta range. // If we are in a pawn ending, a much larger margin is used since // huge bonuses can be added for passed pawns in such endgames. int lazyMargin = LazyEvalMargin; if(inEndgame) { lazyMargin = LazyEvalEndingMargin; } if(inPawnEndgame) { lazyMargin = LazyEvalPawnEndingMargin; } int fastScore = allscore[WHITE] - allscore[BLACK]; if(toMove == BLACK) { fastScore = -fastScore; } if(fastScore - lazyMargin > beta) { return fastScore; } if(fastScore + lazyMargin < alpha) { return fastScore; } // Get the pawn structure score next, because it is usually fast: pawnTableEntryT pawnEntry; ScorePawnStructure(&pawnEntry); // Penalise d-file and e-file pawns blocked on their home squares: if(board[D2] == WP && board[D3] != EMPTY) { allscore[WHITE] -= BlockedHomePawn; } if(board[E2] == WP && board[E3] != EMPTY) { allscore[WHITE] -= BlockedHomePawn; } if(board[D7] == BP && board[D6] != EMPTY) { allscore[BLACK] -= BlockedHomePawn; } if(board[E7] == BP && board[E6] != EMPTY) { allscore[BLACK] -= BlockedHomePawn; } // Incentive for side ahead in material to trade nonpawn pieces and // for side behind in material to avoid trades: if(materialScore[WHITE] > materialScore[BLACK]) { int bonus = (5 - nNonPawns[BLACK]) * 5; allscore[WHITE] += bonus; } else if(materialScore[BLACK] > materialScore[WHITE]) { int bonus = (5 - nNonPawns[WHITE]) * 5; allscore[BLACK] += bonus; } // Check again for a score outside the alpha-beta range, using a // smaller fixed margin of error since the pawn structure score // has been added: fastScore = (allscore[WHITE] - allscore[BLACK]) + pawnEntry.score; if(toMove == BLACK) { fastScore = -fastScore; } if(fastScore > beta + 200) { return fastScore; } if(fastScore < alpha - 200) { return fastScore; } // Now refine the score with piece-square bonuses: squareT wk = Pos.GetKingSquare(WHITE); squareT bk = Pos.GetKingSquare(BLACK); fyleT wkFyle = square_Fyle(wk); fyleT bkFyle = square_Fyle(bk); // Check if each side should be storming the enemy king: if(!inEndgame) { if(wkFyle <= C_FYLE && bkFyle >= F_FYLE) { midscore[WHITE] += pawnEntry.wLongbShortScore; } else if(wkFyle >= F_FYLE && bkFyle <= C_FYLE) { midscore[WHITE] += pawnEntry.wShortbLongScore; } } // Iterate over the piece for each color: for(colorT c = WHITE; c <= BLACK; c++) { colorT enemy = color_Flip(c); // squareT ownKing = Pos.GetKingSquare(c); squareT enemyKing = Pos.GetKingSquare(enemy); unsigned int npieces = Pos.GetCount(c); squareT * sqlist = Pos.GetList(c); int mscore = 0; // Middlegame score adjustments int escore = 0; // Endgame score adjustments int ascore = 0; // All-position adjustments (middle and endgame) for(unsigned int i = 0; i < npieces; i++) { squareT sq = sqlist[i]; pieceT p = board[sq]; pieceT ptype = piece_Type(p); ASSERT(p != EMPTY && piece_Color(p) == c); squareT bonusSq = (c == WHITE) ? square_FlipRank(sq) : sq; unsigned int rank = RANK_1 + RANK_8 - square_Rank(bonusSq); // Piece-specific bonuses. The use of if-else instead of // a switch statement was observed to be faster since // the most common piece types are handled first. if(ptype == PAWN) { // Most pawn-specific bonuses are in ScorePawnStructure(). // Kings should be close to pawns in endgames: // if (!inMiddlegame) { // escore += 3 * square_Distance (sq, enemyKing) // - 2 * square_Distance (sq, ownKing); // } } else if(ptype == ROOK) { ascore += RookFile[square_Fyle(sq)]; if(rank == RANK_7) { ascore += RookOnSeventh; // Even bigger bonus if rook traps king on 8th rank: bool kingOn8th = (p == WR) ? (bk >= A8) : (wk <= H1); if(kingOn8th) { ascore += RookOnSeventh; } } if(!inEndgame) { mscore += RookKingDist[square_Distance(sq, enemyKing)]; } if(!inMiddlegame) { unsigned int mobility = Pos.Mobility(ROOK, c, sq); escore += RookEndgameMobility [mobility]; } } else if(ptype == KING) { if(Pos.GetCount(c) == 1) { // Forcing a lone king to a corner: ascore += 5 * KingEndgameSquare[bonusSq] - 150; } else { mscore += KingSquare[bonusSq]; escore += KingEndgameSquare[bonusSq]; } } else if(ptype == BISHOP) { ascore += BishopSquare[bonusSq]; ascore += BishopMobility [Pos.Mobility(BISHOP, c, sq)]; // Middlegame bonus for diagonal close to enemy king: if(! inEndgame) { mscore += BishopKingDist[square_Distance(sq, enemyKing)]; // Reward a bishop attacking the enemy king vicinity: int leftdiff = (int)square_LeftDiag(sq) - (int)square_LeftDiag(enemyKing); int rightdiff = (int)square_RightDiag(sq) - (int)square_RightDiag(enemyKing); if((leftdiff >= -2 && leftdiff <= 2) || (rightdiff >= -2 && rightdiff <= 2)) { mscore += BishopEyesKing; } } } else if(ptype == KNIGHT) { ascore += KnightSquare[bonusSq]; if(!inEndgame) { mscore += KnightKingDist[square_Distance(sq, enemyKing)]; // Bonus for a useful outpost: if(rank >= RANK_4 && !square_IsEdgeSquare(sq) && isOutpost(board, sq, c)) { mscore += KnightOutpost; } } if(!inMiddlegame) { // Penalty for knight in an endgame with enemy // pawns on both wings. pieceT enemyPawn = piece_Make(enemy, PAWN); unsigned int qsidePawns = Pos.FyleCount(enemyPawn, A_FYLE) + Pos.FyleCount(enemyPawn, B_FYLE) + Pos.FyleCount(enemyPawn, C_FYLE); unsigned int ksidePawns = Pos.FyleCount(enemyPawn, F_FYLE) + Pos.FyleCount(enemyPawn, G_FYLE) + Pos.FyleCount(enemyPawn, H_FYLE); if(ksidePawns > 0 && qsidePawns > 0) { escore -= KnightBadEndgame; } } } else /* (ptype == QUEEN) */ { ASSERT(ptype == QUEEN); ascore += QueenSquare[bonusSq]; ascore += QueenKingDist[square_Distance(sq, enemyKing)]; } } allscore[c] += ascore; midscore[c] += mscore; endscore[c] += escore; } // Now reward rooks on open files or behind passed pawns: unsigned char passedPawnFyles = pawnEntry.fyleHasPassers[WHITE] | pawnEntry.fyleHasPassers[BLACK]; for(colorT color = WHITE; color <= BLACK; color++) { pieceT rook = piece_Make(color, ROOK); if(pieceCount[rook] == 0) { continue; } colorT enemy = color_Flip(color); pieceT ownPawn = piece_Make(color, PAWN); pieceT enemyPawn = piece_Make(enemy, PAWN); fyleT enemyKingFyle = square_Fyle(Pos.GetKingSquare(enemy)); int bonus = 0; for(fyleT fyle = A_FYLE; fyle <= H_FYLE; fyle++) { unsigned int nRooks = Pos.FyleCount(rook, fyle); if(nRooks == 0) { continue; } if(nRooks > 1) { bonus += DoubledRooks; } unsigned int passedPawnsOnFyle = passedPawnFyles & (1 << fyle); if(passedPawnsOnFyle != 0) { // Rook is on same file as a passed pawn. // TODO: make bonus bigger when rook is *behind* the pawn. bonus += RookPasserFile; } else if(Pos.FyleCount(ownPawn, fyle) == 0) { // Rook on open or half-open file: if(Pos.FyleCount(enemyPawn, fyle) == 0) { bonus += RookOpenFile; } else { bonus += RookHalfOpenFile; } // If this open/half-open file leads to a square adjacent // to the enemy king, give a further bonus: int fdiff = (int)fyle - (int)enemyKingFyle; if(fdiff >= -1 && fdiff < 1) { bonus += RookEyesKing; } } } allscore[color] += bonus; } // King safety: if(! inEndgame) { if(pieceCount[BQ] > 0) { if(Pos.GetCastling(WHITE, KSIDE)) { midscore[WHITE] += CanCastle; } if(Pos.GetCastling(WHITE, QSIDE)) { midscore[WHITE] += CanCastle; } } if(pieceCount[WQ] > 0) { if(Pos.GetCastling(BLACK, KSIDE)) { midscore[BLACK] += CanCastle; } if(Pos.GetCastling(BLACK, QSIDE)) { midscore[BLACK] += CanCastle; } } // Bonus for pawn cover in front of a castled king. Actually we // also include bishops because they are important for defence. if(square_Rank(wk) == RANK_1 && wk != D1 && wk != E1) { unsigned int nCoverPawns = 0; pieceT p = board[square_Move(wk, UP_LEFT)]; if(p == WP || p == WB) { nCoverPawns++; } p = board[square_Move(wk, UP)]; if(p == WP || p == WB) { nCoverPawns++; } p = board[square_Move(wk, UP_RIGHT)]; if(p == WP || p == WB) { nCoverPawns++; } midscore[WHITE] += CoverPawn * nCoverPawns; if((wk == F1 || wk == G1) && (board[G1] == WR || board[H1] == WR || board[H2] == WR)) { midscore[WHITE] -= KingTrapsRook; } if((wk == C1 || wk == B1) && (board[B1] == WR || board[A1] == WR || board[A2] == WR)) { midscore[WHITE] -= KingTrapsRook; } } if(square_Rank(bk) == RANK_8 && bk != D8 && bk != E8) { unsigned int nCoverPawns = 0; pieceT p = board[square_Move(bk, DOWN_LEFT)]; if(p == BP || p == BB) { nCoverPawns++; } p = board[square_Move(bk, DOWN)]; if(p == BP || p == BB) { nCoverPawns++; } p = board[square_Move(bk, DOWN_RIGHT)]; if(p == BP || p == BB) { nCoverPawns++; } midscore[BLACK] += CoverPawn * nCoverPawns; if((bk == F8 || bk == G8) && (board[G8] == BR || board[H8] == BR || board[H7] == BR)) { midscore[BLACK] -= KingTrapsRook; } if((bk == C8 || bk == B8) && (board[B8] == BR || board[A8] == BR || board[A7] == BR)) { midscore[BLACK] -= KingTrapsRook; } } // Pawn centre: if((board[D4] == WP || board[D5] == WP) && (board[E4] == WP || board[E5] == WP)) { midscore[WHITE] += CentralPawnPair; } if((board[D4] == BP || board[D5] == BP) && (board[E4] == BP || board[E5] == BP)) { midscore[BLACK] += CentralPawnPair; } // Minor pieces developed: if(board[B1] != WN) { midscore[WHITE] += Development; } if(board[C1] != WB) { midscore[WHITE] += Development; } if(board[F1] != WB) { midscore[WHITE] += Development; } if(board[G1] != WN) { midscore[WHITE] += Development; } if(board[B8] != BN) { midscore[BLACK] += Development; } if(board[C8] != BB) { midscore[BLACK] += Development; } if(board[F8] != BB) { midscore[BLACK] += Development; } if(board[G8] != BN) { midscore[BLACK] += Development; } } // Work out the middlegame and endgame scores including pawn structure // evaluation, with a larger pawn structure weight in endgames: int baseScore = allscore[WHITE] - allscore[BLACK]; int mgScore = baseScore + midscore[WHITE] - midscore[BLACK]; int egScore = baseScore + endscore[WHITE] - endscore[BLACK]; mgScore += pawnEntry.score; egScore += (pawnEntry.score * 5) / 4; // Scale down the endgame score for bishops of opposite colors, if both // sides have the same non-pawn material: if(pieceCount[WB] == 1 && pieceCount[BB] == 1) { if(Pos.SquareColorCount(WB, WHITE) != Pos.SquareColorCount(BB, WHITE)) { if(pieceCount[WQ] == pieceCount[BQ] && pieceCount[WR] == pieceCount[BR] && pieceCount[WN] == pieceCount[BN]) { egScore = egScore * 5 / 8; } } } // Negate scores for Black to move: if(toMove == BLACK) { mgScore = -mgScore; egScore = -egScore; } // Determine the final score from the middlegame and endgame scores: int finalScore = 0; if(inMiddlegame) { finalScore = mgScore; // Use the middlegame score only. } else if(inEndgame) { finalScore = egScore; // Use the endgame score only. } else { // The final score is a weighted mean of the two scores: int midpart = (pieceMaterial - EndgameValue) * mgScore; int endpart = (MiddlegameValue - pieceMaterial) * egScore; finalScore = (endpart + midpart) / (MiddlegameValue - EndgameValue); } return finalScore; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::ScorePawnStructure // Fill in the provided pawnTableEntryT structure with pawn structure // scoring information, using the pawn hash table wherever possible. void Engine::ScorePawnStructure(pawnTableEntryT * pawnEntry) { unsigned int pawnhash = Pos.PawnHashValue(); // We only use 32-bit hash values, so without further safety checks // the rate of false hits in the pawn hash table could be high. // To reduce the chance of false hits, we compute an extra signature. unsigned int sig = (Pos.SquareColorCount(WP, WHITE) << 12) | (Pos.SquareColorCount(BP, BLACK) << 8) | (Pos.PieceCount(WP) << 4) | Pos.PieceCount(BP); pawnEntry->pawnhash = pawnhash; pawnEntry->sig = sig; pawnEntry->fyleHasPassers[WHITE] = 0; pawnEntry->fyleHasPassers[BLACK] = 0; bool inPawnEndgame = (Pos.NumNonPawns(WHITE) == 1 && Pos.NumNonPawns(BLACK) == 1); pawnTableEntryT * hashEntry = NULL; // Check for a pawn hash table hit, but not in pawn endings: if(!inPawnEndgame) { unsigned int hashSlot = pawnhash % PawnTableSize; hashEntry = &(PawnTable[hashSlot]); if(pawnhash == hashEntry->pawnhash && sig == hashEntry->sig) { *pawnEntry = *hashEntry; return; } } // The pawnFiles array contains the number of pawns of each color on // each file. Indexes 1-8 are used while 0 and 9 are empty dummy files // added so that even the a and h files have two adjacent files, making // isolated/passed pawn calculation easier. unsigned int pawnFiles[2][10] = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }; // firstRank stores the rank of the leading pawn on each file. unsigned int firstRank[2][10] = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} }; // lastRank stores the rank of the rearmost pawn on each file. unsigned int lastRank[2][10] = { {7, 7, 7, 7, 7, 7, 7, 7, 7, 7}, {7, 7, 7, 7, 7, 7, 7, 7, 7, 7} }; int pawnScore[2] = {0, 0}; int longVsShortScore[2] = {0, 0}; // Pawn storm bonuses, O-O-O vs O-O int shortVsLongScore[2] = {0, 0}; // Pawn storm bonuses, O-O vs O-O-O rankT bestRacingPawn[2] = {RANK_1, RANK_1}; for(fyleT f = A_FYLE; f <= H_FYLE; f++) { pawnFiles[WHITE][f + 1] = Pos.FyleCount(WP, f); pawnFiles[BLACK][f + 1] = Pos.FyleCount(BP, f); } for(colorT c = WHITE; c <= BLACK; c++) { pieceT pawn = piece_Make(c, PAWN); unsigned int npawns = Pos.PieceCount(pawn); SquareList sqlist; Pos.GetSquares(pawn, &sqlist); for(unsigned int i = 0; i < npawns; i++) { squareT sq = sqlist.Get(i); squareT wsq = (c == WHITE) ? sq : square_FlipRank(sq); squareT bonusSq = square_FlipRank(wsq); pawnScore[c] += PawnSquare[bonusSq]; longVsShortScore[c] += PawnStorm[bonusSq]; shortVsLongScore[c] += PawnStorm[square_FlipFyle(bonusSq)]; unsigned int fyle = square_Fyle(wsq) + 1; unsigned int rank = square_Rank(wsq); if(rank > firstRank[c][fyle]) { firstRank[c][fyle] = rank; } if(rank < lastRank[c][fyle]) { lastRank[c][fyle] = rank; } } } unsigned char fyleHasPassers[2] = {0, 0}; for(colorT color = WHITE; color <= BLACK; color++) { if(Pos.PieceCount(piece_Make(color, PAWN)) == 0) { continue; } colorT enemy = color_Flip(color); for(unsigned int fyle = 1; fyle <= 8; fyle++) { unsigned int pawnCount = pawnFiles[color][fyle]; if(pawnCount == 0) { continue; } unsigned int pawnRank = firstRank[color][fyle]; // Doubled pawn penalty: if(pawnCount > 1) { pawnScore[color] -= DoubledPawn * pawnCount; } // Isolated pawn penalty: bool isolated = false; if(pawnFiles[color][fyle - 1] == 0 && pawnFiles[color][fyle + 1] == 0) { isolated = true; pawnScore[color] -= IsolatedPawn * pawnCount; // Extra penalty for isolated on half-open file: if(pawnFiles[enemy][fyle] == 0) { pawnScore[color] -= IsolatedPawn * pawnCount / 2; } } else if(lastRank[color][fyle - 1] > lastRank[color][fyle] && lastRank[color][fyle + 1] > lastRank[color][fyle]) { // Not isolated, but backward: pawnScore[color] -= BackwardPawn; // Extra penalty for backward on half-open file: if(pawnFiles[enemy][fyle] == 0) { pawnScore[color] -= BackwardPawn; } } // Passed pawn bonus: if(pawnRank >= 7 - lastRank[enemy][fyle] && pawnRank >= 7 - lastRank[enemy][fyle - 1] && pawnRank >= 7 - lastRank[enemy][fyle + 1]) { int bonus = PassedPawnRank[pawnRank]; // Smaller bonus for rook-file or isolated passed pawns: if(fyle == 1 || fyle == 8 || isolated) { bonus = bonus * 3 / 4; } // Bigger bonus for a passed pawn protected by another pawn: if(!isolated) { if(pawnRank == firstRank[color][fyle - 1] + 1 || pawnRank == firstRank[color][fyle + 1] + 1) { bonus = (bonus * 3) / 2; } } pawnScore[color] += bonus; // Update the passed-pawn-files bitmap: fyleHasPassers[color] |= (1 << (fyle - 1)); // Give a big bonus for a connected passed pawn on // the 6th or 7th rank. if(pawnRank >= RANK_6 && pawnFiles[color][fyle - 1] > 0 && firstRank[color][fyle - 1] >= RANK_6) { // pawnScore[color] += some_bonus...; } // Check for passed pawn races in pawn endgames: if(inPawnEndgame) { // Check if the enemy king is outside the square: squareT kingSq = Pos.GetKingSquare(color_Flip(color)); squareT pawnSq = square_Make(fyle - 1, pawnRank); squareT promoSq = square_Make(fyle - 1, RANK_8); if(color == BLACK) { pawnSq = square_FlipRank(pawnSq); promoSq = square_FlipRank(promoSq); } unsigned int kingDist = square_Distance(kingSq, promoSq); unsigned int pawnDist = square_Distance(pawnSq, promoSq); if(color != Pos.GetToMove()) { pawnDist++; } if(pawnDist < kingDist) { bestRacingPawn[color] = pawnRank; } } } } } int score = pawnScore[WHITE] - pawnScore[BLACK]; pawnEntry->score = score; pawnEntry->fyleHasPassers[WHITE] = fyleHasPassers[WHITE]; pawnEntry->fyleHasPassers[BLACK] = fyleHasPassers[BLACK]; pawnEntry->wLongbShortScore = longVsShortScore[WHITE] - shortVsLongScore[BLACK]; pawnEntry->wShortbLongScore = shortVsLongScore[WHITE] - longVsShortScore[BLACK]; // If not a pawn endgame, store the score in the pawn hash table: if(!inPawnEndgame) { *hashEntry = *pawnEntry; return; } // This is a pawn endgame, so we cannot store the score in the // pawn hash table since we include king positions as a factor. // If one side has a pawn that clearly queens before the best // enemy pawn in a race (where kings cannot catch the pawns), // give a huge bonus since it almost certainly wins: if(bestRacingPawn[WHITE] > bestRacingPawn[BLACK] + 1) { pawnEntry->score += RookValue; } else if(bestRacingPawn[BLACK] > bestRacingPawn[WHITE] + 1) { pawnEntry->score -= RookValue; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::IsMatingScore // Returns true if the score indicates the side to move will checkmate. inline bool Engine::IsMatingScore(int score) { return (score > (Infinity - (int)ENGINE_MAX_PLY)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::IsGettingMatedScore // Returns true if the score indicates the side to move will be checkmated. inline bool Engine::IsGettingMatedScore(int score) { return (score < (-Infinity + (int)ENGINE_MAX_PLY)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::PlayMove // Play the specified move, not in a search. void Engine::PlayMove(simpleMoveT * sm) { PushRepeat(&RootPos); RootPos.DoSimpleMove(sm); Pos.DoSimpleMove(sm); simpleMoveT * newMove = new simpleMoveT; *newMove = *sm; GameMoves[NumGameMoves] = newMove; NumGameMoves++; // Change the transposition table sequence number: TranTableSequence++; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::RetractMove // Take back a move played in the game. void Engine::RetractMove(void) { if(NumGameMoves == 0) { return; } PopRepeat(); NumGameMoves--; RootPos.UndoSimpleMove(GameMoves[NumGameMoves]); Pos.UndoSimpleMove(GameMoves[NumGameMoves]); delete GameMoves[NumGameMoves]; TranTableSequence--; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::DoMove // Make the specified move in a search. inline void Engine::DoMove(simpleMoveT * sm) { PushRepeat(&Pos); Pos.DoSimpleMove(sm); Ply++; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::UndoMove // Take back the specified move in a search. inline void Engine::UndoMove(simpleMoveT * sm) { PopRepeat(); Pos.UndoSimpleMove(sm); Ply--; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::PushRepeat // Remember the current position on the repetition stack. inline void Engine::PushRepeat(Position * pos) { repeatT * rep = &(RepStack[RepStackSize]); rep->hash = pos->HashValue(); rep->pawnhash = pos->PawnHashValue(); rep->npieces = pos->TotalMaterial(); rep->stm = pos->GetToMove(); RepStackSize++; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::PopRepeat // Pops the last entry off the repetition stack. inline void Engine::PopRepeat(void) { ASSERT(RepStackSize > 0); RepStackSize--; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::NoMatingMaterial // Returns true if the position is a certain draw through neither // side having mating material. bool Engine::NoMatingMaterial(void) { unsigned int npieces = Pos.TotalMaterial(); // Check for K vs K, K+N vs K, and K+B vs K: if(npieces <= 2) { return true; } if(npieces == 3) { unsigned char * material = Pos.GetMaterial(); if(material[WB] == 1 || material[WN] == 1) { return true; } if(material[BB] == 1 || material[BN] == 1) { return true; } } return false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::FiftyMoveDraw // Returns true if a draw has been reached through fifty full // moves since the last capture or pawn move. bool Engine::FiftyMoveDraw(void) { if(RepStackSize < 100) { return false; } unsigned int pawnhash = Pos.PawnHashValue(); unsigned int npieces = Pos.TotalMaterial(); // Go back through the stack of hash values: unsigned int plycount = 0; for(unsigned int i = RepStackSize; i > 0; i--) { repeatT * rep = &(RepStack[i - 1]); // Stop at an irreversible move: if(npieces != rep->npieces) { break; } if(pawnhash != rep->pawnhash) { break; } plycount++; } if(plycount >= 100) { return true; } return false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::RepeatedPosition // Returns the number if times the current position has been reached, // with the same side to move, castling and en passant settings. // The current occurrence is included in the returned count. unsigned int Engine::RepeatedPosition(void) { unsigned int hash = Pos.HashValue(); unsigned int pawnhash = Pos.PawnHashValue(); unsigned int npieces = Pos.TotalMaterial(); colorT stm = Pos.GetToMove(); // Go back through the stack of hash values detecting repetition: unsigned int ntimes = 1; for(unsigned int i = RepStackSize; i > 0; i--) { repeatT * rep = &(RepStack[i - 1]); // Stop at an irreversible move: if(npieces != rep->npieces) { break; } if(pawnhash != rep->pawnhash) { break; } // Look for repetition: if(hash == rep->hash && stm == rep->stm) { ntimes++; } } return ntimes; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::SetHashTableKilobytes // Set the transposition table size in kilobytes. void Engine::SetHashTableKilobytes(unsigned int size) { // Compute the number of entries, which must be even: unsigned int bytes = size * 1024; TranTableSize = bytes / sizeof(transTableEntryT); if((TranTableSize % 2) == 1) { TranTableSize--; } if(TranTable != NULL) { delete[] TranTable; } TranTable = new transTableEntryT [TranTableSize]; ClearHashTable(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::SetPawnTableKilobytes // Set the pawn structure hash table size in kilobytes. void Engine::SetPawnTableKilobytes(unsigned int size) { // Compute the number of entries: unsigned int bytes = size * 1024; PawnTableSize = bytes / sizeof(pawnTableEntryT); if(PawnTable != NULL) { delete[] PawnTable; } PawnTable = new pawnTableEntryT [PawnTableSize]; ClearPawnTable(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::ClearHashTable // Clear the transposition table. void Engine::ClearHashTable(void) { for(unsigned int i = 0; i < TranTableSize; i++) { TranTable[i].flags = SCORE_NONE; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::ClearPawnTable // Clear the pawn structure hash table. void Engine::ClearPawnTable(void) { for(unsigned int i = 0; i < PawnTableSize; i++) { PawnTable[i].pawnhash = 0; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // tte_Get/Set functions // Helpers for packing/extracting transposition table entry fields. inline void tte_SetFlags(transTableEntryT * tte, scoreFlagT sflag, colorT stm, unsigned char castling, bool isOnlyMove) { tte->flags = (castling << 4) | (stm << 3) | (isOnlyMove ? 4 : 0) | sflag; } inline scoreFlagT tte_ScoreFlag(transTableEntryT * tte) { return (tte->flags & 7); } inline colorT tte_SideToMove(transTableEntryT * tte) { return ((tte->flags >> 3) & 1); } inline unsigned char tte_Castling(transTableEntryT * tte) { return (tte->flags >> 4); } inline bool tte_IsOnlyMove(transTableEntryT * tte) { return (((tte->flags >> 2) & 1) == 1); } inline void tte_SetBestMove(transTableEntryT * tte, simpleMoveT * bestMove) { ASSERT(bestMove->from <= H8 && bestMove->to <= H8); unsigned short bm = bestMove->from; bm <<= 6; bm |= bestMove->to; bm <<= 4; bm |= bestMove->promote; tte->bestMove = bm; } inline void tte_GetBestMove(transTableEntryT * tte, simpleMoveT * bestMove) { unsigned short bm = tte->bestMove; bestMove->promote = bm & 15; bm >>= 4; bestMove->to = bm & 63; bm >>= 6; bestMove->from = bm & 63; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::StoreHash // Store the score for the current position in the transposition table. void Engine::StoreHash(int depth, scoreFlagT ttFlag, int score, simpleMoveT * bestMove, bool isOnlyMove) { if(TranTableSize == 0) { return; } ASSERT(ttFlag <= SCORE_UPPER); unsigned int hash = Pos.HashValue(); unsigned int pawnhash = Pos.PawnHashValue(); colorT stm = Pos.GetToMove(); if(stm == BLACK) { hash = ~hash; } // Find the least useful (lowest depth) of two entries to replace // but replace the previous entry for this position if it exists // and use an empty hash table entry if possible: unsigned int ttSlot = (hash % TranTableSize) & 0xFFFFFFFEU; ASSERT(ttSlot < TranTableSize - 1); transTableEntryT * ttEntry1 = &(TranTable[ttSlot]); transTableEntryT * ttEntry2 = &(TranTable[ttSlot + 1]); bool replacingSameEntry = false; transTableEntryT * ttEntry; if(ttEntry1->hash == hash && ttEntry1->pawnhash == pawnhash) { ttEntry = ttEntry1; // Replace this existing entry. replacingSameEntry = true; } else if(ttEntry2->hash == hash && ttEntry2->pawnhash == pawnhash) { ttEntry = ttEntry2; // Replace this existing entry. replacingSameEntry = true; } else if(tte_ScoreFlag(ttEntry1) == SCORE_NONE) { ttEntry = ttEntry1; // Use this empty entry. } else if(tte_ScoreFlag(ttEntry2) == SCORE_NONE) { ttEntry = ttEntry2; // Use this empty entry. } else { // Replace the entry with the shallower depth, unless the deeper // entry has an old sequence number: transTableEntryT * ttDeeper = ttEntry1; transTableEntryT * ttShallower = ttEntry2; if(ttEntry1->depth < ttEntry2->depth) { ttDeeper = ttEntry2; ttShallower = ttEntry1; } if(ttShallower->sequence != TranTableSequence) { ttEntry = ttShallower; // Replace this old entry } else if(ttDeeper->sequence != TranTableSequence) { ttEntry = ttDeeper; // Replace this old entry } else { ttEntry = ttShallower; // Replace this shallow entry } } if(replacingSameEntry) { if(depth < ttEntry->depth) { // Do not overwrite an existing better entry for the same // position; but if there was no move, add one: if(ttEntry->bestMove == 0 && bestMove != NULL) { tte_SetBestMove(ttEntry, bestMove); } return; } if(depth == ttEntry->depth) { // Do not replace an exact score entry of the same depth for // the same position with an inexact entry: if(tte_ScoreFlag(ttEntry) == SCORE_EXACT && ttFlag != SCORE_EXACT) { return; } } } // Convert mating scores to include the current Ply count: if(IsMatingScore(score)) { score += Ply; } if(IsGettingMatedScore(score)) { score -= Ply; } // Fill in the hash entry fields: ttEntry->hash = hash; ttEntry->pawnhash = pawnhash; ttEntry->depth = depth; ttEntry->score = score; tte_SetFlags(ttEntry, ttFlag, stm, Pos.GetCastlingFlags(), isOnlyMove); ttEntry->sequence = TranTableSequence; ttEntry->bestMove = 0; if(bestMove != NULL) { ASSERT(bestMove->movingPiece != EMPTY); ASSERT(piece_Color(bestMove->movingPiece) == stm); ASSERT(bestMove->from <= H8); tte_SetBestMove(ttEntry, bestMove); } ttEntry->enpassant = Pos.GetEPTarget(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::ProbeHash // Probe the transposition table for the current position. // scoreFlagT Engine::ProbeHash(int depth, int * score, simpleMoveT * bestMove, bool * isOnlyMove) { // Clear the best move: if(bestMove != NULL) { bestMove->from = bestMove->to = NULL_SQUARE; } if(TranTableSize == 0) { return SCORE_NONE; } unsigned int hash = Pos.HashValue(); colorT stm = Pos.GetToMove(); if(stm == BLACK) { hash = ~hash; } // Examine the corresponding pair of table entries: unsigned int ttSlot = (hash % TranTableSize) & 0xFFFFFFFEU; ASSERT(ttSlot + 1 < TranTableSize); transTableEntryT * ttEntry = &(TranTable[ttSlot]); if(ttEntry->hash != hash) { ttEntry++; } if(ttEntry->hash != hash) { return SCORE_NONE; } if(tte_ScoreFlag(ttEntry) == SCORE_NONE) { return SCORE_NONE; } unsigned int pawnhash = Pos.PawnHashValue(); if(ttEntry->pawnhash != pawnhash) { return SCORE_NONE; } if(tte_SideToMove(ttEntry) != stm) { return SCORE_NONE; } if(tte_Castling(ttEntry) != Pos.GetCastlingFlags()) { return SCORE_NONE; } if(ttEntry->enpassant != Pos.GetEPTarget()) { return SCORE_NONE; } // If a hash move is stored, we return it even if the depth is not // sufficient, because it will be useful for move ordering anyway. if(bestMove != NULL && ttEntry->bestMove != 0) { tte_GetBestMove(ttEntry, bestMove); pieceT * board = Pos.GetBoard(); bestMove->movingPiece = board[bestMove->from]; } if(isOnlyMove != NULL) { *isOnlyMove = tte_IsOnlyMove(ttEntry); } // Only return an exact or bounded score if the stored depth is at // least as large as the requested depth: if(ttEntry->depth < depth) { return SCORE_NONE; } if(score != NULL) { *score = ttEntry->score; // Convert mating scores to exclude the current Ply count: if(IsMatingScore(*score)) { *score -= Ply; } if(IsGettingMatedScore(*score)) { *score += Ply; } } return tte_ScoreFlag(ttEntry); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::SetPosition // Set the current position. If the new position parameter // is NULL, the standard starting position is used. void Engine::SetPosition(Position * newpos) { // Delete old game moves: for(unsigned int i = 0; i < NumGameMoves; i++) { delete GameMoves[i]; } NumGameMoves = 0; // Set the position: if(newpos == NULL) { RootPos.StdStart(); Pos.StdStart(); } else { RootPos.CopyFrom(newpos); Pos.CopyFrom(newpos); } // Clear the repetition stack: RepStackSize = 0; // Clear the PV: PV[0].length = 0; // Change the tranposition table sequence number so existing // entries can be detected as old ones: TranTableSequence++; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::Think // Initiate a search from the current position. If the supplied // move list is NULL, generate and examine all legal moves at the // root position. However, if the move list is not NULL, it // contains a subset of the legal moves to be analyzed. // // Returns the score (in centipawns, for the side to move) and // reorders the move list (if supplied) so the best move is at // the start of the list. int Engine::Think(MoveList * mlist) { Elapsed.restart(); NodeCount = 0; QNodeCount = 0; Ply = 0; IsOutOfTime = false; EasyMove = false; HardMove = false; InNullMove = 0; SetPVLength(); ClearKillerMoves(); ClearHistoryValues(); // If no legal move list was specified, generate and search all moves: if(mlist == NULL || !mlist->size()) { Pos.GenerateMoves(); mlist = Pos.GetLegalMoves(); } // No legal moves? Return 0 for stalemate, -Infinity for checkmate. if(mlist->size() == 0) { return (Pos.IsKingInCheck() ? -Infinity : 0); } // Sort the root move list by quiescent evaluation to get a // reasonably good initial move order: for(unsigned int i = 0; (int) i < mlist->size(); i++) { simpleMoveT * sm = mlist->Get(i); DoMove(sm); sm->score = -Quiesce(-Infinity, Infinity); UndoMove(sm); } mlist->Sort(); // Check for an easy move, one that scores more than two pawns // better than any alternative: if(mlist->size() > 1) { int margin = mlist->Get(0)->score - mlist->Get(1)->score; if(margin > (2 * PawnValue)) { // Output ("Easy move: margin = %d\n", margin); EasyMove = true; } } int bestScore = -Infinity; // Do iterative deepening starting at depth 1, until out of // time or the maximum depth is reached: for(unsigned int depth = 1; depth <= MaxDepth; depth++) { HardMove = false; // If we have searched at least a few ply, and there is less // than 30% of the recommended search time remaining, then // continuing the search is unlikely to be useful since it // will probably spend all remaining time on the first move: if(depth > 4) { double used = (double)Elapsed.elapsed() / (double)SearchTime; if(used > 0.7) { break; } } // Set up the alpha-beta range. For all but the first depth, // use a small aspiration window around the previous score // since we do not expect the score to change much: int alpha = -Infinity - 1; int beta = Infinity + 1; if(depth > 1) { alpha = bestScore - AspirationWindow; beta = bestScore + AspirationWindow; } int score = SearchRoot(depth, alpha, beta, mlist); if(score >= beta) { // Aspiration window fail-high: PrintPV(depth, score, "++"); alpha = score - 1; beta = Infinity + 1; score = SearchRoot(depth, alpha, beta, mlist); } else if(score <= alpha) { // Aspiration window fail-low: PrintPV(depth, score, "--"); EasyMove = false; HardMove = true; alpha = -Infinity - 1; beta = score + 1; score = SearchRoot(depth, alpha, beta, mlist); } // If the 2nd search failed, try again with an infinite window. // This is rare, but can happen with hashing/null-move effects. if(score < alpha || score > beta) { alpha = -Infinity; beta = Infinity; EasyMove = false; HardMove = true; score = SearchRoot(depth, alpha, beta, mlist); } bestScore = score; PrintPV(depth, bestScore, ">>>"); // Stop if checkmate has been found, but not too soon: if(IsMatingScore(bestScore)) { break; } // Sort the move list based on node counts from this iteration: mlist->Sort(); if(OutOfTime()) { break; } } // Statistics for debugging: // Output ("Hash probes: Exact:%u Upper:%u Lower:%u None:%u\n", // ProbeCounts[SCORE_EXACT], ProbeCounts[SCORE_UPPER], // ProbeCounts[SCORE_LOWER], ProbeCounts[SCORE_NONE]); // Output ("Fail-High first move: %u / %u = %f\n", nFailHighFirstMove, nFailHigh, // (double)nFailHighFirstMove * 100.0 / (double)nFailHigh); // Output ("Pawn hash hits: %u / %u = %f\n", nPawnHashHits, nPawnHashProbes, // (double)nPawnHashHits * 100.0 / (double)nPawnHashProbes); // Output ("Full scores: %u / %u = %f\n", nScoreFull, nScoreCalls, // (double)nScoreFull * 100.0 / (double) nScoreCalls); return bestScore; } int Engine::SearchRoot(int depth, int alpha, int beta, MoveList * mlist) { ASSERT(depth >= 1); // If no legal move list was specified, generate and search all moves: if(mlist == NULL) { Pos.GenerateMoves(); mlist = Pos.GetLegalMoves(); } // No legal moves to search? Just return an equal score for // stalemate or -Infinity for checkmate. if(mlist->size() == 0) { return (Pos.IsKingInCheck() ? -Infinity : 0); } bool isOnlyMove = (mlist->size() == 1); int bestScore = -Infinity - 1; for(unsigned int movenum = 0; (int) movenum < mlist->size(); ++movenum) { simpleMoveT * sm = mlist->Get(movenum); unsigned int oldNodeCount = NodeCount; // Make this move and search it: DoMove(sm); InCheck[Ply] = Pos.IsKingInCheck(sm); #define PVS_SEARCH #ifdef PVS_SEARCH int score = alpha; if(movenum == 0) { score = -Search(depth - 1, -beta, -alpha, true); } else { // Do a minimal window search first, to try and quickly // identify the common case of a move not being good // enough to improve alpha: score = -Search(depth - 1, -alpha - 1, -alpha, true); if(score > alpha && score < beta) { // This move is good enough to search with the proper // window; use the score it returned as the lower bound: score = -Search(depth - 1, -beta, -score, true); } } #else int score = -Search(depth - 1, -beta, -alpha, true); #endif UndoMove(sm); if(OutOfTime()) { break; } // Set the move ordering score of this move to be the number of // nodes spent on it, so interesting moves of this iteration are // searched first at the next iteration depth: sm->score = NodeCount - oldNodeCount; // If this is the first move searched at this depth or // a new best move, update the best score and promote // the move to be first in the list: if(movenum == 0 || score > bestScore) { bestScore = score; alpha = score; UpdatePV(sm); PrintPV(depth, bestScore); StoreHash(depth, SCORE_EXACT, score, sm, isOnlyMove); if(movenum > 0) { mlist->MoveToFront(movenum); EasyMove = false; } } } return bestScore; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::Search // Internal Search routine, used at every depth except // the root position. int Engine::Search(int depth, int alpha, int beta, bool tryNullMove) { SetPVLength(); // If there is no remaining depth, return a qiuescent evaluation: if(depth <= 0) { return Quiesce(alpha, beta); } // Check that the absolute depth limit is not exceeded: if(Ply >= ENGINE_MAX_PLY - 1) { return alpha; } // Check for a drawn position (no mating material, repetition, etc): if(NoMatingMaterial()) { return 0; } if(FiftyMoveDraw()) { return 0; } unsigned int repeats = RepeatedPosition(); if(repeats >= 3 || (repeats == 2 && Ply > 2)) { return 0; } colorT toMove = Pos.GetToMove(); NodeCount++; // Stop now if we ran out of time: if(OutOfTime()) { return alpha; } // Check for a recognized endgame score: if(Pos.TotalMaterial() <= Recognizer::MaxPieces()) { int recog = Recognizer::Recognize(&Pos); int rscore = recogScore(recog); scoreFlagT rflag = recogFlag(recog); if(rflag == SCORE_EXACT) { return rscore; } else if(rflag == SCORE_LOWER) { if(rscore >= beta) { return rscore; } if(rscore < alpha) { alpha = rscore; } } else if(rflag == SCORE_UPPER) { if(rscore <= alpha) { return rscore; } if(rscore > beta) { beta = rscore; } } } // Probe the hash table: int hashscore = alpha; simpleMoveT hashmove; bool isOnlyMove; scoreFlagT hashflag = ProbeHash(depth, &hashscore, &hashmove, &isOnlyMove); switch(hashflag) { case SCORE_NONE: break; case SCORE_LOWER: if(hashscore >= beta) { return hashscore; } if(hashscore > alpha) { alpha = hashscore; } break; case SCORE_UPPER: if(hashscore <= alpha) { return hashscore; } if(hashscore < beta) { beta = hashscore; } break; case SCORE_EXACT: if(hashscore > alpha && hashscore < beta) { UpdatePV(&hashmove); } return hashscore; } int baseExtensions = 0; bool inCheck = InCheck[Ply]; // Null move pruning: // If the side to move has at least a few pieces (to reduce the risk // of zugzwang) and is not in check, and a null move was not made to // reach this point in the search, try making a null move now. The // idea is to pass on our move and see (with a shallow search) if // if the enemy has any move that can score better than the beta // cutoff. If they have no such move, it means our position is good // enough to cut off the search without even considering our own // possible moves. if(inCheck || depth < 2 || Pos.NumNonPawns(toMove) < 3) { tryNullMove = false; } if(tryNullMove) { Pos.SetToMove(color_Flip(toMove)); squareT oldEPTarget = Pos.GetEPTarget(); Pos.SetEPTarget(NULL_SQUARE); // We keep track of whether we are in a null move search or // not, to avoid updating the PV. InNullMove++; // Do an R=2 or R=3 nullmove search, depending on remaining depth: int nulldepth = depth - NullMoveReduction; if(depth > 6) { nulldepth--; // An R=3 null move search. } int nullscore = -Search(nulldepth - 1, -beta, -beta + 1, false); InNullMove--; Pos.SetEPTarget(oldEPTarget); Pos.SetToMove(toMove); // If the null-move score is better than beta, cut the search: if(nullscore >= beta) { return beta; } // If the null-move score indicates that making a null move // would lead to us getting mated, extend the search another // ply to try and avoid the mate threats: if(IsGettingMatedScore(nullscore)) { baseExtensions++; } } // In-check extension: search one ply deeper if we are in check. if(inCheck) { baseExtensions++; } // Now we want to generate all legal moves and order them. But if // we got a move from the hash table, it is worth trying that move // first, and only generating and scoring the rest of the moves if // the hash move does not cause a beta cutoff. // Note that we already know whether the side to move is in check, // so we pass this information to GenerateMoves to speed it up. MoveList mlist; bool gotHashMove; if(Pos.IsLegalMove(&hashmove)) { gotHashMove = true; // For now, we only add the hash move to the move list. mlist.append(hashmove); mlist.Get(0)->score = ENGINE_HASH_SCORE; } else { // No hash table move, so generate and score all the moves now. gotHashMove = false; Pos.GenerateMoves(&mlist, EMPTY, GEN_ALL_MOVES, InCheck[Ply]); ScoreMoves(&mlist); isOnlyMove = (mlist.size() == 1); } // If there is only one legal move, extend the search: if(isOnlyMove) { baseExtensions++; } // Remember the original alpha score: int oldAlpha = alpha; int bestMoveIndex = -1; // Search each move: for(unsigned int movenum = 0; (int) movenum < mlist.size(); movenum++) { // Find the highest-scoring remaining move: mlist.FindBest(movenum); simpleMoveT * sm = mlist.Get(movenum); // Move-specific extensions: int extensions = baseExtensions; // If moving a pawn to the 7th or 8th rank, extend the search: if(piece_Type(sm->movingPiece) == PAWN) { rankT rank = square_Rank(sm->to); if(rank <= RANK_2 || rank >= RANK_7) { extensions++; } } // Reduce extensions if the search is deep: if(extensions > 0 && (int)Ply >= depth + depth) { extensions /= 2; } // Limit extensions to one ply (only if deep enough?): if(extensions > 1 /*&& (int)Ply >= depth*/) { extensions = 1; } // Make this move and remember if it gives check: DoMove(sm); InCheck[Ply] = Pos.IsKingInCheck(sm); // Simple futility pruning. Note that pruning with depth of two // remaining is risky, but seems to work well enough in practise. // We only prune when: // (1) there are no extensions, // (2) we are at ply 3 or deeper, // (3) the move made does not give check, // (4) the score does not indicate mate, // (5) the move is not the only legal move, and // (6) we are not in a pawn ending. if(Pruning && extensions == 0 && Ply > 2 && depth <= 2 && !InCheck[Ply] && !IsMatingScore(alpha) && !isOnlyMove && Pos.NumNonPawns(WHITE) > 1 && Pos.NumNonPawns(BLACK) > 1) { int mscore = -Pos.ScoreMaterial(); bool futile = false; if(depth == 1) { // Futility pruning, when 2 pawns below alpha: futile = ((mscore + (PawnValue * 2)) < alpha); } else if(depth == 2) { // Extended futility pruning, when a rook below alpha: futile = ((mscore + RookValue) < alpha); } // Skip this move if it is futile: if(futile) { UndoMove(sm); continue; } } #define PVS_SEARCH #ifdef PVS_SEARCH // We do a normal search for the first move, but for all other // moves we try a minimal window search first to save time: int score = alpha; if(movenum == 0) { score = -Search(depth + extensions - 1, -beta, -alpha, true); } else { score = -Search(depth + extensions - 1, -alpha - 1, -alpha, true); if(score > alpha && score < beta) { // This move is good enough to search with the proper // window; use the score it returned as the lower bound: score = -Search(depth + extensions - 1, -beta, -score, true); } } #else // No PVS, just do a regular search at every move: int score = -Search(depth + extensions - 1, -beta, -alpha, true); #endif UndoMove(sm); // If this move scored at least as good as beta, we have // "failed high" so there is no need to continue searching // for an even better move: if(score >= beta) { IncHistoryValue(sm, depth * depth); AddKillerMove(sm); StoreHash(depth, SCORE_LOWER, score, sm, isOnlyMove); return beta; } // If this move is better than the alpha score, it is a new // best move at this point in the search tree. Update the PV // (and boost the history value of the move a little? - no): if(score > alpha) { alpha = score; bestMoveIndex = movenum; UpdatePV(sm); // IncHistoryValue (sm, depth); } // All done with that move. If it was the first move in the list and // it was the move from the hashtable, then the remaining moves have // not been generated and scored for move ordering. We do that now, // ensuring that the hash table move we just examined is moved to // the start of the list so it does not get searched again. if(movenum == 0 && gotHashMove && !isOnlyMove) { mlist.clear(); Pos.GenerateMoves(&mlist, EMPTY, GEN_ALL_MOVES, InCheck[Ply]); ScoreMoves(&mlist); int hashIndex = mlist.Find(&hashmove); if(hashIndex >= 0) { mlist.SwapWithFirst(hashIndex); } else { // The hash table move was legal, but not found in the // move list -- Bizzare! Output("# Yikes! Hash table move not in move list! Bug?\n"); } } } if(mlist.size() == 0) { // No legal moves? Must be checkmate or stalemate: return (InCheck[Ply] ? (-Infinity + Ply) : 0); } // If alpha did not get improved, we "failed low"; every move // scored worse than our lower bound. // Store alpha in the transposition table as an upper bound on // the true score of this position, with no best move. if(alpha == oldAlpha) { ASSERT(bestMoveIndex < 0); StoreHash(depth, SCORE_UPPER, alpha, NULL, isOnlyMove); } else { // Update the transposition table with the best move: ASSERT(bestMoveIndex >= 0); simpleMoveT * bestMove = mlist.Get(bestMoveIndex); IncHistoryValue(bestMove, depth * depth); // Should we also add this as a killer move? Possibly not, // since it was not good enough to cause a beta cutoff. // It seems to make little difference. AddKillerMove(bestMove); StoreHash(depth, SCORE_EXACT, alpha, bestMove, isOnlyMove); } return alpha; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::Quiesce // Search only captures until a stable position is reached // that can be evaluated. int Engine::Quiesce(int alpha, int beta) { NodeCount++; QNodeCount++; // Check that the absolute depth limit is not exceeded: if(Ply >= ENGINE_MAX_PLY - 1) { return alpha; } SetPVLength(); // Stop now if we are out of time: if(OutOfTime()) { return alpha; } // Check for a recognized endgame score: if(Pos.TotalMaterial() <= Recognizer::MaxPieces()) { int recog = Recognizer::Recognize(&Pos); int rscore = recogScore(recog); scoreFlagT rflag = recogFlag(recog); if(rflag == SCORE_EXACT) { return rscore; } else if(rflag == SCORE_LOWER) { if(rscore >= beta) { return rscore; } if(rscore < alpha) { alpha = rscore; } } else if(rflag == SCORE_UPPER) { if(rscore <= alpha) { return rscore; } if(rscore > beta) { beta = rscore; } } } // Find the static evaluation of this position, to either cause // a beta cutoff or improve the alpha score: int staticScore = Score(alpha, beta); if(staticScore >= beta) { return beta; } if(staticScore > alpha) { alpha = staticScore; } // Check for a static score so far below alpha that no capture // is going to be good enough anyway: int margin = PawnValue; if(staticScore + QueenValue + margin < alpha) { return alpha; } // Generate and score the list of captures: MoveList mlist; Pos.GenerateMoves(&mlist, GEN_CAPTURES); for(unsigned int m = 0; (int) m < mlist.size(); m++) { simpleMoveT * sm = mlist.Get(m); sm->score = SEE(sm->from, sm->to); } // Iterate through each quiescent move to find a beta cutoff or // improve the alpha score: for(unsigned int i = 0; (int) i < mlist.size(); i++) { // Find the highest-scoring remaining move, make it and search: mlist.FindBest(i); simpleMoveT * sm = mlist.Get(i); pieceT promote = piece_Type(sm->promote); // Skip underpromotions: if(promote != EMPTY && promote != QUEEN) { continue; } // Stop if the capture gain is negative or is so small that it // will (very likely) not improve alpha: if(sm->score < 0) { break; } if((sm->score + staticScore + margin) < alpha) { break; } // Make the move and evaluate it: DoMove(sm); int score = -Quiesce(-beta, -alpha); UndoMove(sm); // Check for a score so good it causes a beta cutoff: if(score >= beta) { return score; } // See if we have a new best move: if(score > alpha) { alpha = score; UpdatePV(sm); } } return alpha; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::SEE // Static Exchange Evaluator. // Evaluates the approximate material result of moving the piece // from the from square (which must not be empty) to the target // square (which may be empty or may hold an enemy piece). int Engine::SEE(squareT from, squareT target) { const pieceT * board = Pos.GetBoard(); SquareList attackers[2]; pieceT mover = piece_Type(board[from]); ASSERT(mover != EMPTY); colorT stm = piece_Color_NotEmpty(board[from]); #define SEE_ADD(c,sq) attackers[(c)].Add(sq) // Currently the SEE method is only called for legal moves, so if // the moving piece is a king then it clearly cannot be captured. // If potentially illegal king moves are to be passed to this // method, the following optimisation should be removed. if(mover == KING) { return PieceValue(board[target]); } // Find the estimated result assuming one recapture: int fastResult = PieceValue(board[target]) - PieceValue(mover); // We can do quick estimation for a big gain, but have to be // careful since move ordering is very sensitive to positive SEE // scores. Only return a fast estimate for PxQ, NxQ, BxQ and PxR: if(fastResult > KnightValue && mover != ROOK) { return fastResult; } // Add attacking pawns to the attackers list: squareT pawnSq = square_Move(target, DOWN_LEFT); if(board[pawnSq] == WP && pawnSq != from) { SEE_ADD(WHITE, pawnSq); } pawnSq = square_Move(target, DOWN_RIGHT); if(board[pawnSq] == WP && pawnSq != from) { SEE_ADD(WHITE, pawnSq); } pawnSq = square_Move(target, UP_LEFT); if(board[pawnSq] == BP && pawnSq != from) { SEE_ADD(BLACK, pawnSq); } pawnSq = square_Move(target, UP_RIGHT); if(board[pawnSq] == BP && pawnSq != from) { SEE_ADD(BLACK, pawnSq); } // Quick estimation for a nonpawn capturing a lesser-valued piece (or // moving to an empty square) which is defended by an enemy pawn. if(fastResult < -PawnValue && attackers[color_Flip(stm)].Size() > 0) { return fastResult; } // Add attacking knights. Only bother searching for them if there // are any knights on the appropriate square color. colorT knightSquareColor = color_Flip(square_Color(target)); unsigned int nEligibleKnights = Pos.SquareColorCount(WN, knightSquareColor) + Pos.SquareColorCount(BN, knightSquareColor); if(nEligibleKnights > 0) { const squareT * nextKnightSq = knightAttacks[target]; while(true) { squareT dest = *nextKnightSq; if(dest == NULL_SQUARE) { break; } nextKnightSq++; pieceT p = board[dest]; if(piece_Type(p) != KNIGHT) { continue; } if(dest == from) { continue; } // Quick estimate when this recapture ensures a negative result: colorT knightColor = piece_Color_NotEmpty(p); if(fastResult < -KnightValue && knightColor != stm) { return fastResult + KnightValue / 2; } SEE_ADD(knightColor, dest); } } // Add the first sliding attackers in each direction. Others // may appear later as appropriate, when the piece in front // of them takes part in the capture sequence. // First make an array containing all the directions that contain // potential sliding attackers, to avoid searching useless directions. rankT rank = square_Rank(target); fyleT fyle = square_Fyle(target); leftDiagT ul = square_LeftDiag(target); rightDiagT ur = square_RightDiag(target); unsigned int rankCount = Pos.RankCount(WQ, rank) + Pos.RankCount(BQ, rank) + Pos.RankCount(WR, rank) + Pos.RankCount(BR, rank); unsigned int fyleCount = Pos.FyleCount(WQ, fyle) + Pos.FyleCount(BQ, fyle) + Pos.FyleCount(WR, fyle) + Pos.FyleCount(BR, fyle); unsigned int upLeftCount = Pos.LeftDiagCount(WQ, ul) + Pos.LeftDiagCount(BQ, ul) + Pos.LeftDiagCount(WB, ul) + Pos.LeftDiagCount(BB, ul); unsigned int upRightCount = Pos.RightDiagCount(WQ, ur) + Pos.RightDiagCount(BQ, ur) + Pos.RightDiagCount(WB, ur) + Pos.RightDiagCount(BB, ur); // If the moving piece is a slider, it is worth removing it from the // rank/file/diagonal counts because we will avoid searching two // directions if it is the only slider on its rank/file/diagonal. if(piece_IsSlider(mover)) { if(square_Rank(from) == square_Rank(target)) { rankCount--; } else if(square_Fyle(from) == square_Fyle(target)) { fyleCount--; } else if(square_LeftDiag(from) == square_LeftDiag(target)) { upLeftCount--; } else { ASSERT(square_RightDiag(from) == square_RightDiag(target)); upRightCount--; } } // Build the list of directions with potential sliding capturers: unsigned int nDirs = 0; directionT sliderDir[8]; if(rankCount > 0) { sliderDir[nDirs++] = LEFT; sliderDir[nDirs++] = RIGHT; } if(fyleCount > 0) { sliderDir[nDirs++] = UP; sliderDir[nDirs++] = DOWN; } if(upLeftCount > 0) { sliderDir[nDirs++] = UP_LEFT; sliderDir[nDirs++] = DOWN_RIGHT; } if(upRightCount > 0) { sliderDir[nDirs++] = UP_RIGHT; sliderDir[nDirs++] = DOWN_LEFT; } // Iterate over each direction, looking for an attacking slider: for(unsigned int dirIndex = 0; dirIndex < nDirs; dirIndex++) { directionT dir = sliderDir[dirIndex]; squareT dest = target; squareT last = square_Last(target, dir); int delta = direction_Delta(dir); unsigned int distance = 0; while(dest != last) { dest += delta; distance++; pieceT p = board[dest]; if(p == EMPTY) { continue; } if(dest == from) { continue; } pieceT ptype = piece_Type(p); if(ptype == PAWN) { // Look through this pawn if it was also a capturer. if(distance != 1) { break; } if(p == WP) { if(dir == DOWN_LEFT || dir == DOWN_RIGHT) { continue; } } else { if(dir == UP_LEFT || dir == UP_RIGHT) { continue; } } break; } if(! piece_IsSlider(ptype)) { break; } if(ptype == ROOK && direction_IsDiagonal(dir)) { break; } if(ptype == BISHOP && !direction_IsDiagonal(dir)) { break; } colorT c = piece_Color_NotEmpty(p); // Quick estimate when this recapture ensures a negative result: if(fastResult < -BishopValue && ptype == BISHOP) { if(c != stm) { return fastResult + BishopValue / 2; } } else if(fastResult < -RookValue && ptype == ROOK) { if(c != stm) { return fastResult + RookValue / 2; } } // OK, we have a sliding attacker. Add it: SEE_ADD(c, dest); break; } } // Add one capturing king if the other king cannot capture: squareT wk = Pos.GetKingSquare(WHITE); squareT bk = Pos.GetKingSquare(BLACK); if(wk != from && bk != from) { bool wkAttacks = square_Adjacent(target, wk); bool bkAttacks = square_Adjacent(target, bk); if(wkAttacks && !bkAttacks) { SEE_ADD(WHITE, wk); } else if(bkAttacks && !wkAttacks) { SEE_ADD(BLACK, bk); } } // Now go through the attack lists (which may get hidden sliders added // as sliding pieces make captures) finding the best capture sequence. bool targetIsPromoSquare = (target <= H1 || target >= A8); int swaplist[32]; unsigned int nswaps = 1; swaplist[0] = PieceValue(board[target]); int attackedVal = PieceValue(mover); // Adjust the swap value for a promotion: if(targetIsPromoSquare && attackedVal == PawnValue) { swaplist[0] += QueenValue - PawnValue; attackedVal = QueenValue; } // Add as many captures to the sequence as possible, using // lowest-valued pieces first: while(true) { // Switch to the other side: stm = color_Flip(stm); SquareList * attackList = &(attackers[stm]); unsigned int attackCount = attackList->Size(); // Has this side run out of pieces to capture with? if(attackCount == 0) { break; } // Find the best (lowest-valued) piece to capture with: unsigned int bestIndex = 0; squareT attackSquare = attackList->Get(0); int attackValue = PieceValue(board[attackSquare]); for(unsigned int i = 1; i < attackCount; i++) { if(attackValue == PawnValue) { break; } squareT newSquare = attackList->Get(i); int newValue = PieceValue(board[newSquare]); if(newValue < attackValue) { attackSquare = newSquare; attackValue = newValue; bestIndex = i; } } pieceT attackPiece = piece_Type(board[attackSquare]); // Update the swap list: swaplist[nswaps] = -swaplist[nswaps - 1] + attackedVal; nswaps++; attackedVal = attackValue; // Fudge the value for a promotion, turning the pawn into a queen: if(targetIsPromoSquare && attackValue == PawnValue) { swaplist[nswaps - 1] += QueenValue - PawnValue; attackedVal = QueenValue; } // Remove the chosen attacker from the list: attackList->Remove(bestIndex); // If the attacker is a slider, look for another slider behind it: if(piece_IsSlider(attackPiece)) { directionT dir = sqDir[target][attackSquare]; ASSERT(dir != NULL_DIR); squareT dest = attackSquare; squareT last = square_Last(dest, dir); int delta = direction_Delta(dir); while(dest != last) { dest += delta; pieceT p = board[dest]; if(p == EMPTY) { continue; } pieceT pt = piece_Type(p); if(! piece_IsSlider(pt)) { break; } if(pt == ROOK && direction_IsDiagonal(dir)) { break; } if(pt == BISHOP && !direction_IsDiagonal(dir)) { break; } // OK, we have another sliding attacker. Add it: SEE_ADD(piece_Color_NotEmpty(p), dest); break; } } } // Finally, go backwards through the swap list and determine when one // side would stop because further exchanges would be useless: nswaps--; while(nswaps > 0) { unsigned int prev = nswaps - 1; if(swaplist[nswaps] > -swaplist[prev]) { swaplist[prev] = -swaplist[nswaps]; } nswaps--; } return swaplist[0]; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::ScoreMoves // Gives each move in the specified move list a score for move // ordering. Captures are scored using static exchange evaluation // while non-capture scores are based on killer move and history // heuristic information. Promotions are treated as captures. // The ordering has four basic categories: // (1) Non-losing captures (ordered by SEE value, score >= EMH * 2); // (2) Non-capture killer moves (EMH <= score < 2 * EMH); // (3) Other non-captures (by history heuristic, 0 <= score < EMH); // (4) Losing captures (ordered by SEE value, score < 0). // where EMH = ENGINE_MAX_HISTORY is the history value threshold. void Engine::ScoreMoves(MoveList * mlist) { for(unsigned int i = 0; (int) i < mlist->size(); i++) { simpleMoveT * sm = mlist->Get(i); if(sm->capturedPiece != EMPTY || sm->promote != EMPTY) { int see = SEE(sm->from, sm->to); if(see >= 0) { sm->score = ENGINE_MAX_HISTORY * 2 + see; } else { sm->score = see; } } else { // Non-capture; just use the history/killer value for this move. sm->score = GetHistoryValue(sm); if(IsKillerMove(sm)) { sm->score += ENGINE_MAX_HISTORY; } } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::Output // Prints a formatted string (as passed to printf) to standard output // and the the log file if one is being used. void Engine::Output(const char * format, ...) { va_list ap; va_start(ap, format); vprintf(format, ap); if(LogFile != NULL) { vfprintf(LogFile, format, ap); } va_end(ap); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::PrintPV // Print the current depth, score and principal variation. void Engine::PrintPV(unsigned int depth, int score, const char * note) { if(! PostInfo) { return; } unsigned int ms = Elapsed.elapsed(); if(XBoardMode && ms < 50 && Ply < 6) { return; } if(XBoardMode) { Output(" %2u %6d %5u %9u ", depth, score, ms / 10, NodeCount); } else { Output(" %2u %-3s %+6d %5u %9u ", depth, note, score, ms, NodeCount); } principalVarT * pv = &(PV[0]); unsigned int i; if(Pos.GetToMove() == BLACK) { Output("%u...", Pos.GetFullMoveCount()); } // Make and print each PV move: for(i = 0; i < pv->length; i++) { simpleMoveT * sm = &(pv->move[i]); // Check for legality, to protect against hash table // false hits and bugs in PV updating: if(! Pos.IsLegalMove(sm)) { Output(" "); break; } if(i > 0) { Output(" "); } if(Pos.GetToMove() == WHITE) { Output("%u.", Pos.GetFullMoveCount()); } char s[10]; Pos.MakeSANString(sm, s, SAN_MATETEST); Output("%s", s); Pos.DoSimpleMove(sm); } Output("\n"); // Undo each PV move that was made: for(; i > 0; i--) { Pos.UndoSimpleMove(&(pv->move[i - 1])); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::OutOfTime // Returns true if the search time limit has been reached. // "Out Of Time" is also the name of a great R.E.M. album. :-) bool Engine::OutOfTime() { if(IsOutOfTime) { return true; } // Only check the time approximately every 1000 nodes for speed: if((NodeCount & 1023) != 0) { return false; } int ms = Elapsed.elapsed(); if(EasyMove) { IsOutOfTime = (ms > MinSearchTime); } else if(HardMove) { IsOutOfTime = (ms > MaxSearchTime); } else { IsOutOfTime = (ms > SearchTime); } if(!IsOutOfTime && CallbackFunction != NULL) { IsOutOfTime = CallbackFunction(this, CallbackData); } return IsOutOfTime; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::PerfTest // Returns the number of leaf node moves when generating, making and // unmaking every move to the specified depth from the current position. unsigned int Engine::PerfTest(unsigned int depth) { if(depth <= 0) { return 1; } MoveList mlist; Pos.GenerateMoves(&mlist); unsigned int nmoves = 0; for(unsigned int i = 0; (int) i < mlist.size(); i++) { simpleMoveT * sm = mlist.Get(i); Pos.DoSimpleMove(sm); nmoves += PerfTest(depth - 1); Pos.UndoSimpleMove(sm); } return nmoves; } void Engine::UpdatePV(simpleMoveT * sm) { if(Ply >= ENGINE_MAX_PLY - 1) { return; } if(InNullMove > 0) { return; } PV[Ply].move[Ply] = *sm; for(unsigned int j = Ply + 1; j < PV[Ply + 1].length; j++) { PV[Ply].move[j] = PV[Ply + 1].move[j]; } PV[Ply].length = PV[Ply + 1].length; } ./chessx-1.3.2/src/guess/guessengine.h000644 000765 000024 00000034500 12426215617 017332 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: guessengine.h // Engine class // // Part of: Scid (Shane's Chess Information Database) // Version: 3.5 // // Notice: Copyright (c) 2002-2003 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// // The Engine class provides a simple chess position evaluator // based on negamax with quiescent search and alpha/beta pruning. // It is used in Scid for doing small quick searches to determine // which of the possible legal moves to or from a particular square // to suggest as the best move for faster mouse input. #ifndef SCID_GUESSENGINE_H #define SCID_GUESSENGINE_H #include #include "position.h" #if (QT_VERSION < QT_VERSION_CHECK(4, 7, 0)) #include typedef QTime QElapsedTimer; #else #include #endif namespace Guess { const unsigned int ENGINE_MAX_PLY = 40; // Maximum search ply. const int ENGINE_MAX_HISTORY = 100000; // Max accumulated history value. const int ENGINE_HASH_SCORE = 100000000; // To order hash moves first. const unsigned int ENGINE_HASH_KB = 32; // Default hash table size in KB. const unsigned int ENGINE_PAWN_KB = 1; // Default pawn table size in KB. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // principalVarT // Stores the principal variation at one search Ply depth. // struct principalVarT { principalVarT():length(0) {} unsigned int length; simpleMoveT move [ENGINE_MAX_PLY]; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // scoreFlagT // Types of transposition table score and endgame recognition score. // typedef unsigned char scoreFlagT; const scoreFlagT SCORE_NONE = 0, // Not a useful score. SCORE_EXACT = 1, // Exact score. SCORE_LOWER = 2, // Lower bound, real score could be higher. SCORE_UPPER = 3; // Upper bound, real score could be lower. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // transTableEntryT // Transposition table entry. // Apart from the type flag, depth and score, it also stores the // hash codes and other position values for safety checks to avoid // a false hit. // The best move is also stored, in a compact format to save space. // struct transTableEntryT { unsigned int hash; // Hash value. unsigned int pawnhash; // Pawn hash value, for extra safety check. short score; // Evaluation score. unsigned short bestMove; // Best move from/to/promote values. unsigned char depth; // Depth of evaulation. unsigned char flags; // Score type, side to move and castling flags. unsigned char sequence; // Sequence number, for detecting old entries. squareT enpassant; // En passant target square. }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // pawnTableEntryT // Pawn structure score hash table entry. // struct pawnTableEntryT { unsigned int pawnhash; // Pawn hash value for this pawn structure. unsigned int sig; // Safety check value, to avoid false hits. short score; // Positional score for pawn structure. short wLongbShortScore; // Pawn storm score for wk on abc, bk on abc. short wShortbLongScore; // Pawn storm score for wk on fgh, bk on fgh. unsigned char fyleHasPassers[2]; // One bit per file, indicating passed pawns. }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // repeatT // Repetition-detection stack entry. // An entry is pushed onto the stack when a move is made, and // popped off when the move is unmade. // struct repeatT { unsigned int hash; // Position hash code. unsigned int pawnhash; // Position pawn-structure hash code. unsigned int npieces; // Total number of pieces in position. colorT stm; // Side to move. }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine // Class representing a chess engine. // class Engine { private: Position RootPos; // Position at start of search. Position Pos; // Current position in search. unsigned int MaxDepth; // Search depth limit. int SearchTime; // Search time limit in milliseconds. int MinSearchTime; // Minimum search time in milliseconds. int MaxSearchTime; // Maximum search time in milliseconds. bool Debug; // If true, print debug info to stdout. bool PostInfo; // If true, print post info to stdout. bool XBoardMode; // If true, print info in xboard format. bool Pruning; // If true, do futility pruning. FILE * LogFile; // Output is to stdout and to this file. unsigned int QNodeCount; // Nodes examined in quiescent search. unsigned int NodeCount; // Nodes examined in total. QElapsedTimer Elapsed; // Timer for interrupting search. bool IsOutOfTime; // Becomes true when search is out of time. unsigned int Ply; // Current ply being examined. bool EasyMove; // True if the search indicates one move is // far better than the others. bool HardMove; // True if failed low at root on current depth. unsigned int InNullMove; // If > 0, in null move search so no PV updates. unsigned int RepStackSize; // Repetition stack size. repeatT RepStack [1024]; // Repetition stack. bool InCheck [ENGINE_MAX_PLY]; // In-check at each ply. principalVarT PV [ENGINE_MAX_PLY]; // Principal variation at each ply. simpleMoveT KillerMove [ENGINE_MAX_PLY][2]; // Two killer moves per ply. int History[16][64]; // Success history of piece-to-square moves. unsigned char TranTableSequence; // Transposition table sequence number. unsigned int TranTableSize; // Number of Transposition table entries. transTableEntryT * TranTable; // Transposition table. unsigned int PawnTableSize; // Number of Pawn structure table entries. pawnTableEntryT * PawnTable; // Pawn structure score hash table. bool (*CallbackFunction)(Engine *, void *); // Periodic callback. void * CallbackData; simpleMoveT * GameMoves [1024]; unsigned int NumGameMoves; private: int PieceValue(pieceT piece); int SearchRoot(int depth, int alpha, int beta, MoveList * mlist); int Search(int depth, int alpha, int beta, bool tryNullMove); int Quiesce(int alpha, int beta); int SEE(squareT from, squareT to); void ScoreMoves(MoveList * mlist); inline void DoMove(simpleMoveT * sm); inline void UndoMove(simpleMoveT * sm); inline void SetPVLength(void); inline void UpdatePV(simpleMoveT * sm); void Output(const char * format, ...); void PrintPV(unsigned int depth, int score) { PrintPV(depth, score, ""); } void PrintPV(unsigned int depth, int score, const char * annotation); inline void PushRepeat(Position * pos); inline void PopRepeat(void); void StoreHash(int depth, scoreFlagT flag, int score, simpleMoveT * bestmove, bool isOnlyMove); scoreFlagT ProbeHash(int depth, int * score, simpleMoveT * bestMove, bool * isOnlyMove); inline void ClearKillerMoves(void); inline void AddKillerMove(simpleMoveT * sm); inline bool IsKillerMove(simpleMoveT * sm); inline void ClearHistoryValues(void); inline void HalveHistoryValues(void); inline void IncHistoryValue(simpleMoveT * sm, int increment); inline int GetHistoryValue(simpleMoveT * sm); int Score(int alpha, int beta); void ScorePawnStructure(pawnTableEntryT * pawnEntry); bool IsMatingScore(int score); bool IsGettingMatedScore(int score); bool OutOfTime(void); void AdjustTime(bool easyMove); public: Engine() { MaxDepth = ENGINE_MAX_PLY; // A large default search depth SearchTime = 1000; // Default search time: 1000 ms = one second. MinSearchTime = MaxSearchTime = SearchTime; LogFile = NULL; Debug = false; PostInfo = false; XBoardMode = false; Pruning = false; RepStackSize = 0; TranTable = NULL; TranTableSize = 0; TranTableSequence = 0; PawnTable = NULL; PawnTableSize = 0; SetHashTableKilobytes(ENGINE_HASH_KB); SetPawnTableKilobytes(ENGINE_PAWN_KB); CallbackFunction = NULL; NumGameMoves = 0; RootPos.StdStart(); Pos.StdStart(); PV[0].length = 0; } ~Engine() { delete[] TranTable; delete[] PawnTable; } void SetSearchDepth(unsigned int ply) { if(ply < 1) { ply = 1; } if(ply > ENGINE_MAX_PLY) { ply = ENGINE_MAX_PLY; } MaxDepth = ply; } void SetSearchTime(unsigned int ms) { MinSearchTime = SearchTime = MaxSearchTime = ms; } void SetSearchTime(unsigned int min, unsigned int ms, unsigned int max) { MinSearchTime = min; SearchTime = ms; MaxSearchTime = max; } void SetDebug(bool b) { Debug = b; } void SetPostMode(bool b) { PostInfo = b; } bool InPostMode(void) { return PostInfo; } void SetXBoardMode(bool b) { XBoardMode = b; } bool InXBoardMode(void) { return XBoardMode; } void SetPruning(bool b) { Pruning = b; } void SetLogFile(FILE * fp) { LogFile = fp; } void SetHashTableKilobytes(unsigned int sizeKB); void SetPawnTableKilobytes(unsigned int sizeKB); unsigned int NumHashTableEntries(void) { return TranTableSize; } unsigned int NumPawnTableEntries(void) { return PawnTableSize; } void ClearHashTable(void); void ClearPawnTable(void); void ClearHashTables(void) { ClearHashTable(); ClearPawnTable(); } void SetCallbackFunction(bool (*fn)(Engine *, void *), void * data) { CallbackFunction = fn; CallbackData = data; } unsigned int GetNodeCount(void) { return NodeCount; } bool NoMatingMaterial(void); bool FiftyMoveDraw(void); unsigned int RepeatedPosition(void); void SetPosition(Position * pos); Position * GetPosition(void) { return &RootPos; } void PlayMove(simpleMoveT * move); void RetractMove(void); int Score(void); principalVarT * GetPV(void) { return &(PV[0]); } unsigned int PerfTest(unsigned int depth); int Think(MoveList * mlist); }; inline void Engine::SetPVLength(void) { if(Ply < ENGINE_MAX_PLY - 1) { PV[Ply].length = Ply; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Engine::UpdatePV // Updates the principal variation at the current Ply to // include the specified move. void UpdatePV(simpleMoveT * sm); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Killer moves: // We keep track of two "killer" moves at each ply, moves which // are not captures or promotions (as they get ordered first) but // were good enough to cause a beta cutoff. Killer moves get // ordered after good captures but before non-killer noncaptures, // which are ordered using the history table (see below). // // Only noncaptures and non-promotion moves can be killer moves, but // we make an exception for those that have a negative score (meaning // they lose material according to the static exchange evaluator), // since they would otherwise be searched last after all noncaptures. inline void Engine::ClearKillerMoves(void) { for(unsigned int i = 0; i < ENGINE_MAX_PLY; i++) { KillerMove[i][0].from = NULL_SQUARE; KillerMove[i][1].from = NULL_SQUARE; } } inline void Engine::AddKillerMove(simpleMoveT * sm) { if(sm->capturedPiece != EMPTY && sm->score >= 0) { return; } if(sm->promote != EMPTY && sm->score >= 0) { return; } simpleMoveT * killer0 = &(KillerMove[Ply][0]); simpleMoveT * killer1 = &(KillerMove[Ply][1]); if(killer0->from == sm->from && killer0->to == sm->to && killer0->movingPiece == sm->movingPiece) { return; } *killer1 = *killer0; *killer0 = *sm; } inline bool Engine::IsKillerMove(simpleMoveT * sm) { simpleMoveT * killer0 = &(KillerMove[Ply][0]); if(killer0->from == sm->from && killer0->to == sm->to && killer0->movingPiece == sm->movingPiece) { return true; } simpleMoveT * killer1 = &(KillerMove[Ply][1]); if(killer1->from == sm->from && killer1->to == sm->to && killer1->movingPiece == sm->movingPiece) { return true; } return false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // History table: // This is a table of values indexed by moving piece and // target square, indicating the historical success of each move // as measured by the frequency of "good" (better than alpha) // scores. It is used to order non-capture moves after killers. inline void Engine::ClearHistoryValues(void) { for(pieceT p = WK; p <= BP; p++) { for(squareT to = A1; to <= H8; to++) { History[p][to] = 0; } } } inline void Engine::HalveHistoryValues(void) { // Output("# Halving history values\n"); for(pieceT p = WK; p <= BP; p++) { for(squareT to = A1; to <= H8; to++) { History[p][to] /= 2; } } } inline void Engine::IncHistoryValue(simpleMoveT * sm, int increment) { if(sm->capturedPiece != EMPTY && sm->score >= 0) { return; } if(sm->promote != EMPTY && sm->score >= 0) { return; } pieceT p = sm->movingPiece; squareT to = sm->to; ASSERT(p <= BP && to <= H8); History[p][to] += increment; // Halve all history values if this one gets too large, to avoid // non-capture moves getting searched before captures: if(History[p][to] >= ENGINE_MAX_HISTORY) { HalveHistoryValues(); } } inline int Engine::GetHistoryValue(simpleMoveT * sm) { pieceT p = sm->movingPiece; squareT to = sm->to; ASSERT(p <= BP && to <= H8); return History[p][to]; } } // End namespace Guess #endif // SCID_ENGINE_H ////////////////////////////////////////////////////////////////////// // EOF: guessengine.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/hash.h000644 000765 000024 00000026615 12223260306 015737 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: hash.h // Pre-generated random hash values // // Part of: Scid (Shane's Chess Information Database) // Version: 3.4 // // Notice: Copyright (c) 2002 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #ifndef SCID_HASH_H #define SCID_HASH_H namespace Guess { // goodHashValues // This is a table of 12 (pieces) * 64 (squares) = 768 pre-generated // "good" 32-bit hash values, to be used for Zobrist hashing. // The values were generated using a threshold of 10, meaning that // (a) every value has at least 10 and at most 32-10=22 bits set; // (b) every value differs from every other value by at least 10 // bits and at most 32-10=22 bits. // const unsigned int goodHashValues [12 * 64] = { 0x039B11BFu, 0x4890D6A4u, 0x37539B8Au, 0xA7E3A104u, 0x8B263019u, 0xEB71AE0Bu, 0x87099341u, 0x32EF9CD4u, 0x698B8BC1u, 0x823FEACEu, 0x8E607A5Au, 0x7241E921u, 0x8E94A4B6u, 0x2670B742u, 0xD721044Cu, 0xD1FC122Du, 0xBD0CE70Eu, 0xA4159629u, 0xAE24AD63u, 0xAB5DA9E9u, 0x83D1C843u, 0x32E60A29u, 0xABF131AAu, 0x3C3CF99Du, 0x5553E1FDu, 0xD8328308u, 0x9B2FC0D4u, 0x4EDC83D2u, 0x852D84B3u, 0x068D4A5Fu, 0x35CE432Fu, 0xE4843746u, 0x2B67AF9Eu, 0xABCCC099u, 0x217F1CAAu, 0x7BF4C414u, 0x7C24E036u, 0x29E3C6EAu, 0x1053B4CCu, 0x8D96DDA0u, 0x4505DA02u, 0x47EFD3ECu, 0x32B9D1EDu, 0x4F688C67u, 0x1FFD9115u, 0xBC0156DBu, 0x28BD842Eu, 0xECE11B80u, 0x2088BE1Fu, 0x3384DFE4u, 0x05AAE96Eu, 0xE697A8F5u, 0x02E84551u, 0x6E0B75ABu, 0xC8EE1CA1u, 0x5387CC68u, 0xB0991EB4u, 0x332AD23Eu, 0x7063DDB8u, 0x844141B4u, 0x3D49AAA0u, 0xB73790D3u, 0x2009A159u, 0x43BCD4B9u, 0x3E47B851u, 0x992161E6u, 0x5C73DE21u, 0xA7185F26u, 0xEAF78BCFu, 0x9F46F244u, 0x90E2E582u, 0x2752602Au, 0x8D75AA38u, 0x4429875Eu, 0xDAB54C3Bu, 0x15F07D87u, 0x24936E7Du, 0xD26AF16Au, 0xF0C1BAA7u, 0x3A34F2E0u, 0x0A86593Eu, 0xBB870177u, 0xF1BCB046u, 0x91B63283u, 0x881BA73Au, 0x7FB62D0Cu, 0x9F06ED35u, 0x4CF4B1ACu, 0x24A21F70u, 0x509421A2u, 0xE492FD51u, 0x9DE1F22Fu, 0xFCEADB75u, 0x1244A7B5u, 0x9ACABF60u, 0xA32479B2u, 0x0396C362u, 0x0CEF72D2u, 0x9B9D27A1u, 0x3306A989u, 0x516008FCu, 0xE544EA8Du, 0xC33DBE2Cu, 0xE80D5B56u, 0xDC6FC86Fu, 0x4A3F3D4Du, 0xAE160A34u, 0x00512AA9u, 0xE6B8170Du, 0x419DE2C5u, 0x6B2E2517u, 0x89D27208u, 0x92847C09u, 0x38E38217u, 0x2821286Fu, 0x8AE2AAD5u, 0x30FDAE11u, 0x543C234Bu, 0xE3A2FF38u, 0x10194DDEu, 0x657AACB5u, 0x9B7A5005u, 0xE4F5DD9Eu, 0x43C4B54Cu, 0x7FB1E299u, 0xBA0FBFADu, 0x6650C485u, 0xA93F6201u, 0x0D27DBDFu, 0x03415B76u, 0x6BB1E5F7u, 0xFD2A98F8u, 0x3DB93342u, 0xE14B1091u, 0xBF290710u, 0xF23142FCu, 0xAB80B2CBu, 0xFB60F74Du, 0x21F3BB77u, 0x3888CAADu, 0x8A9ADBEFu, 0x789090FFu, 0x9D730E8Du, 0x49B24A39u, 0xD7910113u, 0xD106D4B2u, 0xD2EE43B5u, 0x6D341063u, 0xB61EDC4Eu, 0x9550B69Bu, 0xB31BF6E6u, 0xA77E70C6u, 0xD5A2839Fu, 0x36B5397Fu, 0xB9ECCD6Au, 0x5748A700u, 0xE55FD773u, 0x05B1D3B3u, 0x02C832FCu, 0x44475068u, 0x5A3FA331u, 0x7E98673Fu, 0x019BD400u, 0x2B500871u, 0x1B11BBD3u, 0xD9A16849u, 0x3D28C47Du, 0x5B5A17F8u, 0x11A56BBFu, 0x7A49A7EAu, 0x827A948Bu, 0x9CFCA8F3u, 0xD0139857u, 0x66934246u, 0x010B6D83u, 0x640E91CBu, 0x14F7F949u, 0x22E1DBDBu, 0xFE39F428u, 0xC1EFF01Du, 0xB7FBAA70u, 0x24D621C8u, 0x3E8CB46Cu, 0x799C9A30u, 0x9101AA6Au, 0x50057267u, 0x4ABB8084u, 0x96A69B26u, 0x64430CE7u, 0x29104757u, 0xF895CE65u, 0xACE8C5A7u, 0x8C311979u, 0xC50D43F9u, 0x74E82B12u, 0x7DD3F51Au, 0x024CB893u, 0x1082235Au, 0x267DE6F9u, 0xF07D4A07u, 0x2269E0C4u, 0x58CD4E12u, 0xA5BECEC3u, 0x548B6301u, 0x1DAD51A9u, 0xEDD5C126u, 0x82F2633Bu, 0xC03AA07Cu, 0xEF54151Fu, 0xAA6B4422u, 0x065BC9E0u, 0xC35692CEu, 0xA1D7DB4Cu, 0xD8633DF3u, 0x7298EB8Au, 0xFF0A0ACFu, 0x0DA1A674u, 0x6DE7B4C7u, 0xE761833Au, 0xF9FF6F50u, 0x84BC2B8Cu, 0xE799B3BCu, 0x16161665u, 0xF8F95501u, 0x576662B2u, 0x16C9842Au, 0xB200D414u, 0xF0B5A23Au, 0xDE336B9Eu, 0x6E2C4FCEu, 0x0DD75B71u, 0xDA5F5B65u, 0x10305BF5u, 0x25459D34u, 0x9024995Au, 0x9A35CB81u, 0xB04481ECu, 0x852EADD4u, 0x3979197Eu, 0x758912F3u, 0xC73CDAF6u, 0xDF52A76Eu, 0xC7340794u, 0x6C5684BBu, 0x9FA057F2u, 0xD740B832u, 0xB7AF5E98u, 0x0BB2995Du, 0xB58AB9B7u, 0xFE0BD190u, 0xB992ECC8u, 0x9FD77CDCu, 0xCD786AFDu, 0x9D06944Bu, 0x94DB6416u, 0xF7086164u, 0x06BA82F7u, 0x897BFB24u, 0xA3F57351u, 0x73087E2Bu, 0x05857541u, 0xA0BE3365u, 0x4FB89F40u, 0xCC8BF6FDu, 0xB6F359A4u, 0x7FFAF82Du, 0xFF05C5DDu, 0x41C88B7Au, 0xD94586E9u, 0x8ECBE977u, 0xC02DB501u, 0x085DD109u, 0xE167E374u, 0xE22877E1u, 0xFC504828u, 0x5A593E86u, 0xB82D503Cu, 0x0E23B9A4u, 0x1DA667E5u, 0xD6E88E31u, 0x87B13CBDu, 0x73A7CB92u, 0x1176EFD8u, 0x805EC39Fu, 0x0FAA9AAAu, 0xB2F707B2u, 0xB67AE203u, 0x8BCC0DAFu, 0xE1D2659Cu, 0x481CC9B6u, 0x4EA7AE2Du, 0x3F0E1BB1u, 0xA0EFE34Bu, 0xFB8D54E2u, 0xEEE20096u, 0x20F49785u, 0xA059722Eu, 0xF54885FBu, 0xBB655656u, 0xD674D353u, 0x1C2249E8u, 0xA4718FF5u, 0x61A84E05u, 0xA3126E85u, 0x61D9AD54u, 0x07198C19u, 0xB972FB1Bu, 0x5238CA6Fu, 0xA1BFB910u, 0x8645AEC8u, 0xE6C48940u, 0xAB771F63u, 0x17E50DB8u, 0x2D864432u, 0x1D832682u, 0x90B555C4u, 0xF57533F8u, 0xD7CD623Cu, 0x30F276B1u, 0x968A4BC2u, 0x43D75E3Fu, 0x232BD8E3u, 0x09D8EEF6u, 0xE43898C5u, 0x590FF714u, 0x578FB433u, 0x7CA18ACEu, 0x5E8BBA1Eu, 0x9377431Cu, 0x352D8B78u, 0x5D64CBE6u, 0xAC0E4DFBu, 0x8CC6D71Au, 0x357E5A72u, 0xE52B7EC4u, 0x8BA3C715u, 0x637A16E7u, 0xE53DE860u, 0x5D8D3992u, 0x69FA014Cu, 0xA741FD99u, 0x1D446311u, 0xD1B7AD7Du, 0xB09D684Au, 0x2AB52F38u, 0x115A6A4Eu, 0x70FA8C72u, 0x280593A6u, 0x90E51413u, 0x40D69014u, 0xFE54E992u, 0x80B0DF0Bu, 0xADCEAA5Cu, 0x2CE5D77Du, 0xC848DD13u, 0x1816469Cu, 0xF29F0F0Eu, 0x5267A846u, 0x9519EB95u, 0x36A0F7ABu, 0x47286387u, 0x1FDDB6CAu, 0xBCDB9881u, 0xC2D197BBu, 0x6EAEE818u, 0x283E0B1Bu, 0xF2E87D37u, 0x210662D0u, 0x093BAE47u, 0x7A2307D6u, 0x79876ECFu, 0x19DD55B6u, 0xC8903A3Eu, 0x00A6B10Fu, 0xF9C00FD4u, 0x494BB0A6u, 0x97FF861Bu, 0x70BD145Du, 0x7F46D4ACu, 0xE6F63ECCu, 0x707613DFu, 0x89A9805Fu, 0x98035A70u, 0xE941DB3Du, 0x84E3C899u, 0x4E8CFB84u, 0xB51B01EEu, 0xBFF2D163u, 0xC3A8202Bu, 0x18BB798Au, 0x12DF54DBu, 0xD10B9FFEu, 0xCEB08E5Fu, 0xA2250D9Du, 0x0E5C8F05u, 0x3BCB935Cu, 0x1BD051C9u, 0x46214EF2u, 0xDDF5D4D1u, 0x37A19E57u, 0x16DE6F73u, 0x25AFB2B9u, 0xDD2E7E69u, 0x082894FAu, 0x1535FCF4u, 0x7EECD60Fu, 0x6E9FCEAAu, 0x96D6D08Du, 0x79C709AAu, 0x1CA5070Fu, 0xB8A7AED2u, 0x80684E96u, 0xC7D6497Cu, 0xB93DD3FBu, 0xFA20C05Bu, 0xF55A0330u, 0x6D226F9Bu, 0x66A532A2u, 0x73FD3ABBu, 0xC77B9A07u, 0xCDC921ECu, 0xB68E327Bu, 0xB7F9555Cu, 0x30BA9B4Eu, 0x4C879967u, 0xC9A75320u, 0xFC83700Cu, 0x4027063Bu, 0x1B630D64u, 0x587C3550u, 0x1CFC5B44u, 0xA5AD192Eu, 0xFBE9177Bu, 0x1EABD059u, 0xAA4468C7u, 0x76AA58BBu, 0xB4B08556u, 0x71EE9F17u, 0xB3F5AC8Cu, 0xE6D8DBA1u, 0x8B0AF89Eu, 0xD36C2B70u, 0x128D3DEAu, 0x3D460CD8u, 0x16215910u, 0xCC0F0785u, 0x68CC3BCFu, 0xDEB2B9C7u, 0x6B633805u, 0x780E1005u, 0x09E49837u, 0x39E80ADBu, 0x012CEA31u, 0x3478872Cu, 0x413C1D1Eu, 0x233D57C2u, 0x4DED8698u, 0x2812F838u, 0xF3A213C0u, 0xDB90565Cu, 0x7B5BCA04u, 0x085A189Du, 0xD3B15A8Au, 0xCE88155Au, 0xC6583EF3u, 0x68BAE790u, 0x2B1EB054u, 0x71910CC2u, 0xD0D88984u, 0x210634A7u, 0x6A8140B0u, 0xD61986A7u, 0x777843EAu, 0x6D565FEFu, 0x243864EEu, 0xA5EB42F5u, 0xF06EFA92u, 0x37214225u, 0x7FD632D3u, 0x5270689Bu, 0x17D003A4u, 0xBFA3F882u, 0x3ABF601Fu, 0x9462B2F6u, 0x95506548u, 0xDFE5AA96u, 0x6014EF4Cu, 0x95AA0C22u, 0x5AA2452Du, 0x537E00C9u, 0xF1DA7E65u, 0xB35E0497u, 0xC000C9C9u, 0xC9041E45u, 0x43327CAEu, 0x5E1EC5E3u, 0x34618D4Bu, 0x19EAD6D5u, 0x2EFD99E6u, 0x670EBE60u, 0x9308BC47u, 0x8C167E0Fu, 0xE79510C8u, 0x7B6872B5u, 0x3E26A6CFu, 0x15C2DC3Bu, 0x2D58DB58u, 0xF146A05Au, 0x6FED31D9u, 0xB72E86A4u, 0x4C41B38Bu, 0xDBD4DBFAu, 0x1EC10AD0u, 0x4E58E234u, 0xAB4167FCu, 0x6B7E733Au, 0x097C2AC0u, 0x8B071EBAu, 0x776CFD58u, 0x6C9B3130u, 0x775F8863u, 0x30ACC2D6u, 0xF2E16ED1u, 0x7E7B4DDBu, 0xE3BE881Fu, 0xD50608E1u, 0x5BEEA67Cu, 0x2A6FDB10u, 0x532ACD1Bu, 0xEF979FD2u, 0xA7076C1Eu, 0xE5ED7E0Bu, 0xE0C08618u, 0x0A419EE5u, 0xE8A39152u, 0xF8049773u, 0x60E262CDu, 0xB64DCB36u, 0x5BC10B4Fu, 0x79ED7826u, 0xBDB0D600u, 0xA73B4945u, 0x15D99DF1u, 0x2EB2322Fu, 0x905CB323u, 0x8E9D7BBAu, 0xF589DA5Cu, 0x3239EC36u, 0xBD1A727Cu, 0x9A2B964Eu, 0x2738E521u, 0x3D32ADFEu, 0x7CCB6CC0u, 0x9408173Fu, 0x314D2743u, 0xE07F1718u, 0x07A67FCAu, 0x9A96EA79u, 0x2C83A39Cu, 0x553EFFB3u, 0xC45666F4u, 0xE870F6FBu, 0x60578B32u, 0x773C8652u, 0x05210BC4u, 0xF8D963F3u, 0xD93511B5u, 0xF1719F52u, 0x2B20CE90u, 0x9995F672u, 0x6C198588u, 0x38759A4Du, 0xDFBB53D5u, 0xD7685FBCu, 0x77513427u, 0x6180D195u, 0xAEC6B98Eu, 0x92BD89BEu, 0x9225B0FDu, 0x5739B0FAu, 0xA9033F59u, 0x141F2599u, 0xC36254D4u, 0x604A7F95u, 0x9E6C065Du, 0x31FBCC0Fu, 0x5B9ADD8Cu, 0xDFFA3B0Au, 0x0DFBFC78u, 0xF9CA5EBAu, 0x2ADB0F37u, 0xDDCCB685u, 0x8A5B515Eu, 0x41C144ADu, 0x34657B2Cu, 0x0D450F6Au, 0x826FAC71u, 0x9EC05C75u, 0x74DDC8D9u, 0x64C7389Bu, 0x09331092u, 0x3EFEA384u, 0x704FB6F1u, 0x6B4FEF67u, 0xCE61D945u, 0x9EE52925u, 0xE5A82DC9u, 0x0B78A412u, 0xDFCBC5A9u, 0x30DEC518u, 0x1F783F75u, 0x4E77188Eu, 0x40A76D52u, 0x38B18960u, 0x09891862u, 0x459A5AA7u, 0x42001B9Au, 0x0831CA1Eu, 0xF49286E0u, 0x877982DCu, 0x3B5CC623u, 0x807D7FFFu, 0x55540A37u, 0x6227F496u, 0x8A2A89B3u, 0x795F2B97u, 0xF63D1ECBu, 0x1124A560u, 0x4580D76Fu, 0xD6D5BC5Bu, 0xB116155Cu, 0x52AD63D8u, 0x9845DC86u, 0x6689C793u, 0x7EE16506u, 0xDC0190E2u, 0xC37420F7u, 0xE598CC3Au, 0x8DC81014u, 0xB6812BB9u, 0xE9F50AF2u, 0x0F41261Fu, 0x0466D7E3u, 0xDD946A80u, 0x4E326865u, 0x6E005C19u, 0x4146B339u, 0xC60EDF2Bu, 0xE0307009u, 0x0E646DF4u, 0x2654FA27u, 0xF81D24FEu, 0xC44C94DCu, 0x339B61D1u, 0x7D771304u, 0x61FF6433u, 0x7CDCFC56u, 0x76702E78u, 0x4E461F5Cu, 0x4F5E4893u, 0x41521503u, 0x7D997DEDu, 0x2F39368Cu, 0xC2A0ABE2u, 0xD8ABC763u, 0x0B196104u, 0x209549ACu, 0x34D15315u, 0x0357D995u, 0x40138F8Fu, 0xDC525599u, 0xF629FB1Bu, 0x6A62B298u, 0x3C1A805Au, 0xEE1674DAu, 0xBA19460Du, 0x3C72676Bu, 0xC34DD53Eu, 0x8DD03D72u, 0xADAA7B0Du, 0xFA0949AEu, 0x98DD7A1Du, 0x3A545F3Du, 0xF4AB0851u, 0xAA1C51A5u, 0xC4FEEB56u, 0x7E15A604u, 0x61459EDFu, 0xA64B7A31u, 0xDC4DBA74u, 0x57277D9Du, 0x0D694801u, 0xBB4B34DAu, 0xECBF05E2u, 0x5C192BF8u, 0xDF88AED8u, 0x10D59F2Eu, 0x1F4CD1FFu, 0x13C17092u, 0x34E8D820u, 0x8D0F4AE6u, 0xC22A9F84u, 0x4F757B90u, 0xF647C64Bu, 0xB8D5F5EFu, 0x4EF2ED32u, 0x08CFE621u, 0x6282A765u, 0xBB3B1A28u, 0x7A00FEDEu, 0x7EE74E77u, 0x0E72CEC6u, 0x7096E317u, 0xC53A15F1u, 0xA36CBB05u, 0x752139ABu, 0x2B28AD4Cu, 0x1AA3F3FEu, 0xA67D4188u, 0x9CB3B791u, 0x5130A6B6u, 0xF38FF94Fu, 0x4B18839Du, 0x92741FE8u, 0xA53A3E3Bu, 0x5AA03303u, 0x88E42368u, 0x7A62DB87u, 0xCB918AECu, 0x3FE0BBBCu, 0x5ED7B7A7u, 0x56148AA8u, 0x5B33902Fu, 0x8EF7172Cu, 0x5D756F5Fu, 0x67D49CA2u, 0xE5F2F3CAu, 0x45B9AA3Fu, 0x35B6D0AAu, 0xB086D241u, 0xF561EC77u, 0x817289AEu, 0x4ABC59C3u, 0x7171D0E6u, 0xAD03F121u, 0x4FB6B316u, 0x2F94FD3Bu, 0xAB9B2D42u, 0x9C39B806u, 0x139BDA75u, 0xBCFDFFA0u, 0xDE2D7D42u, 0xC314E010u, 0x91F7D7A9u, 0x961D52D0u, 0x4EEBB554u, 0x8E833C6Eu, 0xEC7FD2C9u, 0xACD9AE8Eu, 0xD31873FFu, 0x7E1551F6u, 0x809C8D31u, 0x8873E4B5u, 0x3221744Au, 0xEB3B4FBDu, 0xB17E5F84u, 0xEFD0E469u, 0xD08C2EC3u }; } // End namespace Guess #endif // SCID_HASH_H ////////////////////////////////////////////////////////////////////// // EOF: hash.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/misc.cpp000644 000765 000024 00000111365 12517745317 016317 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: misc.cpp // Miscellaneous routines (File I/O, etc) // // Part of: Scid (Shane's Chess Information Database) // Version: 3.5 // // Notice: Copyright (c) 2001-2003 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #include "common.h" #include "error.h" #include "misc.h" #include #include #include #include // For isspace() function. #include // Needed for fileSize() function. #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER namespace Guess { // Table of direction between any two chessboard squares, initialised // in scid_Init(): directionT sqDir[66][66]; ////////////////////////////////////////////////////////////////////// // Scid Initialisation Routine //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // scid_Init(): // Must be called before move generation etc is done. Sets up // any uninitialised piece/square/move tables. // void scid_Init() { // Check that we only call this once: static bool init = false; if(init) { return; } init = true; // Initialise the sqDir[][] array of directions between every pair // of squares. squareT i, j; directionT dirArray[] = { UP, DOWN, LEFT, RIGHT, UP_LEFT, UP_RIGHT, DOWN_LEFT, DOWN_RIGHT, NULL_DIR }; // First, set everything to NULL_DIR: for(i = A1; i <= NS; i++) { for(j = A1; j <= NS; j++) { sqDir[i][j] = NULL_DIR; } } // Now fill in the valid directions: for(i = A1; i <= H8; i++) { directionT * dirptr = dirArray; while(*dirptr != NULL_DIR) { j = square_Move(i, *dirptr); while(j != NS) { sqDir[i][j] = *dirptr; j = square_Move(j, *dirptr); } dirptr++; } } } ////////////////////////////////////////////////////////////////////// // ECO Code Routines //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // eco_FromString(): // Extract an ECO code from a string. // // Eco code numbering: no eco = 0, A00 = 1, A01 = 132, etc. // That is, each basic ECO code = previous + 131. // The extra 130 subcodes are the extended code: // a, a1, a2, a3, a4, b, b1, .... z, z1, z2, z3, z4. (130 in total). // // Improvement, March 2000: now case-insensitive for first letter, // for example, a41 == A41. ecoT eco_FromString(const char * ecoStr) { ecoT eco = ECO_None; // Get the basic Eco code from the first 3 characters: they MUST be in // the range "A00" to "E99" or the eco code will be considered empty. // Changed, June 1999: now accepts partial ECO codes, e.g. "C1" -> C10 if(*ecoStr >= 'A' && *ecoStr <= 'E') { eco = (*ecoStr - 'A') * 13100; } else if(*ecoStr >= 'a' && *ecoStr <= 'e') { eco = (*ecoStr - 'a') * 13100; } else { return 0; } ecoStr++; if(! *ecoStr) { return eco + 1; } if(*ecoStr < '0' || *ecoStr > '9') { return 0; } eco += (*ecoStr - '0') * 1310; ecoStr++; if(! *ecoStr) { return eco + 1; } if(*ecoStr < '0' || *ecoStr > '9') { return 0; } eco += (*ecoStr - '0') * 131; ecoStr++; // Now check for the optional extended code: a, a1, ... z2, z3, z4. if(*ecoStr >= 'a' && *ecoStr <= 'z') { eco++; eco += (*ecoStr - 'a') * 5; ecoStr++; if(*ecoStr >= '1' && *ecoStr <= '4') { eco += *ecoStr - '0'; } } return eco + 1; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // eco_ToString(): // Convert an ECO code to its string representation. void eco_ToString(ecoT ecoCode, char * ecoStr, bool extensions) { char * s = ecoStr; if(ecoCode == ECO_None) { *s = 0; return; } ecoCode--; // First the base code value: ecoT basicCode = ecoCode / 131; // 131 = 26 * 5 + 1 subcodes. *s++ = basicCode / 100 + 'A'; *s++ = (basicCode % 100) / 10 + '0'; *s++ = (basicCode % 10) + '0'; // Now the optional extensions: if(extensions) { ecoCode = ecoCode % 131; if(ecoCode > 0) { ecoCode--; *s++ = (ecoCode / 5) + 'a'; ecoCode = ecoCode % 5; if(ecoCode > 0) { *s++ = (ecoCode + '0'); } } *s = 0; } return; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // eco_BasicCode(): // Converts an ECO code to its basic form, without any // Scid-specific extensions. ecoT eco_BasicCode(ecoT eco) { if(eco == ECO_None) { return ECO_None; } eco--; eco /= 131; eco *= 131; return eco + 1; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // eco_LastSubCode(): // Converts an ECO code to the deepest subcode it could contain. // Examples: B91a -> B91a4 and B91 -> B91z4. ecoT eco_LastSubCode(ecoT eco) { if(eco == ECO_None) { return ECO_None; } // if just a basic ECO code (1 letter, 2 digits), add the "z": eco--; if((eco % 131) == 0) { eco += 126; // 126 = 5 * 25 + 1. } // Now if no final digit, add the "4": if(((eco % 131) % 5) == 1) { eco += 4; } return eco + 1; } ////////////////////////////////////////////////////////////////////// // String Routines //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strCopy(): same as strcpy(). // void strCopy(char * target, const char * original) { ASSERT(target != NULL && original != NULL); while(*original != 0) { *target = *original; target++; original++; } *target = 0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strCopyExclude(): copies original to target, filtering out any // characters in excludeChars. void strCopyExclude(char * target, const char * original, const char * excludeChars) { while(*original != 0) { int exclude = 0; for(char * s = (char *) excludeChars; *s; s++) { if(*original == *s) { exclude = 1; break; } } if(!exclude) { *target = *original; target++; } original++; } *target = 0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strAppend(): // Appends extra to the end of target, and returns a pointer // to the new END of the string target. // char * strAppend(char * target, const char * extra) { ASSERT(target != NULL && extra != NULL); while(*target != 0) { target++; // get to end of target string } while(*extra != 0) { *target = *extra; target++; extra++; } *target = 0; return target; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Extra versions of strAppend() for appending an int, a unsigned int, or // up to four strings: char * strAppend(char * target, int i) { char temp [20]; sprintf(temp, "%d", i); return strAppend(target, temp); } char * strAppend(char * target, unsigned int u) { char temp [20]; sprintf(temp, "%u", u); return strAppend(target, temp); } char * strAppend(char * target, const char * s1, const char * s2) { target = strAppend(target, s1); target = strAppend(target, s2); return target; } char * strAppend(char * target, const char * s1, const char * s2, const char * s3) { target = strAppend(target, s1); target = strAppend(target, s2); target = strAppend(target, s3); return target; } char * strAppend(char * target, const char * s1, const char * s2, const char * s3, const char * s4) { target = strAppend(target, s1); target = strAppend(target, s2); target = strAppend(target, s3); target = strAppend(target, s4); return target; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strCompare(): same as strcmp. // strCompare_INLINE() is an inline version, see misc.h. // int strCompare(const char * s1, const char * s2) { ASSERT(s1 != NULL && s2 != NULL); while(1) { if(*s1 != *s2) { return (int) * s1 - (int) * s2; } if(*s1 == 0) { break; } s1++; s2++; } return 0; } int strCaseCompare(const char * s1, const char * s2) { ASSERT(s1 != NULL && s2 != NULL); while(1) { if(tolower(*s1) != tolower(*s2)) { return (int) * s1 - (int) * s2; } if(*s1 == 0) { break; } s1++; s2++; } return 0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strCompareRound(): // String comparison function for round names. Sorts by the integer // number at the start of each string first. int strCompareRound(const char * sleft, const char * sright) { int ileft = strGetInteger(sleft); int iright = strGetInteger(sright); int diff = ileft - iright; if(diff != 0) { return diff; } // Now check if both strings are equal up to the first dot. // If so, do an integer comparison after the ".": bool equalUpToDot = false; const char * templeft = sleft; const char * tempright = sright; while(true) { char leftc = *templeft; char rightc = *tempright; if(leftc == 0 || rightc == 0) { break; } if(leftc != rightc) { break; } if(leftc == '.' && rightc == '.') { equalUpToDot = true; break; } templeft++; tempright++; } if(equalUpToDot) { templeft++; tempright++; // Now templeft and tempright point to the first character // after each dot. ileft = strGetInteger(templeft); iright = strGetInteger(tempright); diff = ileft - iright; if(diff != 0) { return diff; } } // Give up on integer comparisons and do a regular string comparison: return strCompare(sleft, sright); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strDuplicate(): Duplicates a string using new[] operator. // char * strDuplicate(const char * original) { ASSERT(original != NULL); char * newStr = new char [strLength(original) + 1]; if(newStr == NULL) { return NULL; } char *s = newStr; while(*original != 0) { *s = *original; s++; original++; } *s = 0; // Add trailing '\0'. //printf ("Dup: %p: %s\n", newStr, newStr); return newStr; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strPrefix(): // Returns the length of the common prefix of two strings. // unsigned int strPrefix(const char * s1, const char * s2) { ASSERT(s1 != NULL && s2 != NULL); unsigned int count = 0; while(*s1 == *s2) { if(*s1 == 0) // seen end of string, strings are identical { return count; } count++; s1++; s2++; } return count; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strPad(): // Copies original string to target, but copies *exactly* 'width' // bytes. If the original is longer than specified width, not all of // original will be copied to target. If original is shorter, then // target will be padded out to 'width' bytes with the padding char. // // If the width is negative, no trimming or padding is done and // the result is just a regular string copy. // // The return value is the length copied: always 'width' if // width is >= 0, or the length of original if 'width' is negative. // unsigned int strPad(char * target, const char * original, int width, char padding) { ASSERT(target != NULL && original != NULL); if(width < 0) { strCopy(target, original); return strLength(original); } int len = width; while(len > 0) { if(*original == 0) { break; } *target = *original; target++; original++; len--; } while(len--) { *target++ = padding; } *target = 0; return width; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strFirstChar(): // Returns the pointer into the provided string where the // FIRST occurrence of matchChar is, or NULL if the string // does not contain matchChar at all. // Equivalent to strchr(). const char * strFirstChar(const char * target, char matchChar) { const char * s = target; while(*s != 0) { if(*s == matchChar) { return s; } s++; } return NULL; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strLastChar(): // Returns the pointer into the provided string where the // LAST occurrence of matchChar is, or NULL if the string // does not contain matchChar at all. // Equivalent to strrchr(). const char * strLastChar(const char * target, char matchChar) { const char * s = target; const char * last = NULL; while(*s != 0) { if(*s == matchChar) { last = s; } s++; } return last; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strStrip(): // Removes all occurances of the specified char from the string. void strStrip(char * str, char ch) { char * s = str; while(*str != 0) { if(*str != ch) { if(s != str) { *s = *str; } s++; } str++; } *s = 0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strTrimLeft(): // Returns the pointer into the provided string where the first // character that does NOT equal a trimChar occurs. const char * strTrimLeft(const char * target, const char * trimChars) { const char * s = target; while(*s != 0) { if(! strContainsChar(trimChars, *s)) { break; } s++; } return s; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strTrimRight(): // Trims the provided string in-place, removing the // end characters that match the trimChars. // Returns the number of characters trimmed. // E.g., strTrimRight("abcyzyz", "yz") would leave the string // as "abc" and return 4. unsigned int strTrimRight(char * target, const char * trimChars) { unsigned int trimCount = 0; char * s = target; char * lastNonTrim = NULL; while(*s) { if(strContainsChar(trimChars, *s)) { trimCount++; } else { lastNonTrim = s; trimCount = 0; } s++; } if(lastNonTrim != NULL) { // End the string after the last nontrimmable char: lastNonTrim++; *lastNonTrim = 0; } else { // The string only contained trimmable characters: *target = 0; } return trimCount; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strTrimSuffix(): // Trims the provided string in-place, at the last // occurance of the provided suffix character. // Returns the number of characters trimmed. // E.g., strTrimSuffix ("file.txt", '.') would leave the // string as "file" and return 4. unsigned int strTrimSuffix(char * target, char suffixChar) { unsigned int trimCount = 0; char * lastSuffixPtr = NULL; char * s = target; while(*s) { if(*s == suffixChar) { lastSuffixPtr = s; trimCount = 0; } trimCount++; s++; } if(lastSuffixPtr == NULL) { return 0; } *lastSuffixPtr = 0; return trimCount; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strTrimDate(): // Takes a date string ("xxxx.xx.xx" format) and trims // the day part if it is ".??", and also the month part // if it too is ".??". void strTrimDate(char * str) { if(str[7] == '.' && str[8] == '?' && str[9] == '?') { str[7] = 0; if(str[4] == '.' && str[5] == '?' && str[6] == '?') { str[4] = 0; } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strTrimMarkCodes(): // Trims in-place all Scid-recognised board mark codes // in a comment string, such as "[%mark ...]" and "[%arrow ...]" void strTrimMarkCodes(char * str) { char * in = str; char * out = str; bool inCode = false; char * startLocation = NULL; while(1) { char ch = *in; if(inCode) { // If we see end-of-string or code-starting '[', there is some // error so go back to the start of this code and treat it // normally. if(ch == 0 || ch == '[') { *out++ = *startLocation; inCode = false; in = startLocation; } else if(ch == ']') { // See a code-ending ']', so end the code. inCode = false; } // For all other characters in a code, just ignore it. } else { // Stop at end-of-string: if(ch == 0) { break; } // Look for the start of a code that is to be stripped: if(ch == '[' && in[1] == '%') { inCode = true; startLocation = in; } else { *out++ = ch; } } in++; } // Terminate the modified string: *out = 0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strTrimMarkup(): // Trims in-place all HTML-like markup codes (, , etc) // from the provided string. void strTrimMarkup(char * str) { char * in = str; char * out = str; bool inTag = false; while(*in != 0) { char ch = *in; if(inTag) { if(ch == '>') { inTag = false; } } else { if(ch == '<') { inTag = true; } else { *out++ = ch; } } in++; } *out = 0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strTrimSurname(): // Trims a person name string to contain only the // surname, or only the surname and a maximum number // of initials. void strTrimSurname(char * str, unsigned int initials) { char * in = str; char * out = str; bool seenComma = false; while(*in != 0) { char ch = *in; if(seenComma) { if(isupper(ch)) { *out++ = ch; initials--; if(initials == 0) { break; } } } else { if(ch == ',') { seenComma = true; if(initials == 0) { break; } } *out++ = ch; } in++; } *out = 0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strFirstWord: // Skips over all whitespace at the start of the // string to reach the first word. const char * strFirstWord(const char * str) { ASSERT(str != NULL); while(*str != 0 && isspace(*str)) { str++; } return str; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strNextWord: // Skips over all successive non-whitespace characters // in the string, then all successive whitespace chars, // to reach the next word in the string. const char * strNextWord(const char * str) { ASSERT(str != NULL); while(*str != 0 && !isspace(*str)) { str++; } while(*str != 0 && isspace(*str)) { str++; } return str; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strSingleSpace(): // Modifies the parameter string in-place, trimming all // whitespace at the start and end of the string, and reducing // all other sequences of whitespace to a single space. // // Example: "\t\n A \t\n B C " (where \t and \n are tabs // and newlines) becomes "A B C". // // Returns the new string length, to save time if the caller // wants to find the length of the modified string. // unsigned int strSingleSpace(char * str) { ASSERT(str); bool spaceSeen = true; // Initially true so whitespace at the start // of the string is removed. char * forward = str; char * back = str; unsigned int length = 0; // Loop through the string compacting out unwanted whitespace: while(*forward) { if(isspace(*forward)) { if(spaceSeen) { // Already seen whitespace, so skip over this char. } else { spaceSeen = true; *back++ = ' '; length++; } } else { spaceSeen = false; *back++ = *forward; length++; } forward++; } // Now, if the last char kept was a space, remove it: if(length > 0 && spaceSeen) { ASSERT(back != str); back--; length--; ASSERT(*back == ' '); } *back = 0; return length; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strIsAllWhitespace(): // Returns true if the string contains only whitespace charaters. bool strIsAllWhitespace(const char * str) { while(*str != 0) { if(! isspace(*str)) { return false; } str++; } return true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strIsUnknownName(): // Returns true if the string is an "unknown" name: the empty // string, "?" or "-". Used primarily to test if an event, site // or round name string contains information worth printing. bool strIsUnknownName(const char * str) { if(str[0] == 0) { return true; } if(str[0] == '-' && str[1] == 0) { return true; } if(str[0] == '?' && str[1] == 0) { return true; } return false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strIsPrefix(): // Returns true if the prefix string is a prefix of longStr. bool strIsPrefix(const char * prefix, const char * longStr) { while(*prefix) { if(*longStr == 0) { return false; } if(*prefix != *longStr) { return false; } prefix++; longStr++; } return true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strIsCasePrefix(): // Returns true if the prefix string is a case-insensitive // prefix of longStr. bool strIsCasePrefix(const char * prefix, const char * longStr) { while(*prefix) { if(*longStr == 0) { return false; } if(tolower(*prefix) != tolower(*longStr)) { return false; } prefix++; longStr++; } return true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strIsAlphaPrefix(): // Returns true if the prefix string is a prefix of longStr. // Unlike strIsPrexix(), this version is case-insensitive and // spaces are ignored. // Example: strIsAlphaPrefix ("smith,j", "Smith, John") == true. bool strIsAlphaPrefix(const char * prefix, const char * longStr) { while(*prefix) { while(*prefix == ' ') { prefix++; } while(*longStr == ' ') { longStr++; } if(*longStr == 0) { return false; } if(tolower(*prefix) != tolower(*longStr)) { return false; } prefix++; longStr++; } return true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strIsSurnameOnly(): // Returns true if the name appears to be a surname only. bool strIsSurnameOnly(const char * name) { unsigned int capcount = 0; const char * s = name; while(*s != 0) { char c = *s; if(! isalpha(c)) { return false; } if(isupper(c)) { capcount++; if(capcount > 1) { return false; } } s++; } return true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strContains(): // Returns true if longStr contains an occurence of keyStr, // case-sensitive and NOT ignoring any characters such as spaces. bool strContains(const char * longStr, const char * keyStr) { while(*longStr) { if(strIsPrefix(keyStr, longStr)) { return true; } longStr++; } return false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strContainsIndex(): // Returns the first index if longStr contains an occurence of keyStr, // case-sensitive and NOT ignoring any characters such as spaces. // Returns -1 if longStr does not contain keyStr int strContainsIndex(const char * longStr, const char * keyStr) { int index = 0; while(*longStr) { if(strIsPrefix(keyStr, longStr)) { return index; } longStr++; index++; } return -1; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strAlphaContains(): // Returns true if longStr contains an occurence of keyStr, // case-insensitive and ignoring spaces. // Example: strAlphaContains ("Smith, John", "th,j") == true. // bool strAlphaContains(const char * longStr, const char * keyStr) { while(*longStr) { if(strIsAlphaPrefix(keyStr, longStr)) { return true; } longStr++; } return false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strGetBoolean(): // Extracts a boolean value from a string. // True strings start with one of "TtYy1", false strings with // one of "FfNn0". // Returns false if the string does not contain a boolean value. bool strGetBoolean(const char * str) { static const char * sTrue[] = { "true", "yes", "on", "1", "ja", "si", "oui", NULL }; static const char * sFalse[] = { "false", "no", "off", "0", NULL }; if(str[0] == 0) { return false; } bool matchedTrue = false; bool matchedFalse = false; const char ** next = sTrue; while(*next != NULL) { if(strIsCasePrefix(str, *next) || strIsCasePrefix(*next, str)) { matchedTrue = true; } next++; } next = sFalse; while(*next != NULL) { if(strIsCasePrefix(str, *next) || strIsCasePrefix(*next, str)) { matchedFalse = true; } next++; } if(matchedTrue && !matchedFalse) { return true; } if(matchedFalse && !matchedTrue) { return false; } // default: return false. return false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strGetInteger(): // Extracts a signed base-10 value from a string. // Defaults to zero (as strtol does) for non-numeric strings. int strGetInteger(const char * str) { return strtol(str, NULL, 10); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strGetUnsigned(): // Extracts an unsigned base-10 value from a string. // Defaults to zero (as strtoul does) for non-numeric strings. // unsigned int strGetUnsigned(const char * str) { unsigned long ulvalue = strtoul(str, NULL, 10); return (unsigned int) ulvalue; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strGetIntegers: // Extracts the specified number of signed integers in a // whitespace-separated string to an array. void strGetIntegers(const char * str, int * results, unsigned int nResults) { for(unsigned int i = 0; i < nResults; i++) { while(*str != 0 && isspace(*str)) { str++; } results[i] = strGetInteger(str); while(*str != 0 && !isspace(*str)) { str++; } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strGetUnsigneds: // Extracts the specified number of unsigned integers in a // whitespace-separated string to an array. void strGetUnsigneds(const char * str, unsigned int * results, unsigned int nResults) { for(unsigned int i = 0; i < nResults; i++) { while(*str != 0 && isspace(*str)) { str++; } results[i] = strGetUnsigned(str); while(*str != 0 && !isspace(*str)) { str++; } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strGetBooleans: // Extracts the specified number of boolean values // from a whitespace-separated string. void strGetBooleans(const char * str, bool * results, unsigned int nResults) { for(unsigned int i = 0; i < nResults; i++) { while(*str != 0 && isspace(*str)) { str++; } results[i] = strGetBoolean(str); while(*str != 0 && !isspace(*str)) { str++; } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strGetResult: // Extracts a game result value from a string. resultT strGetResult(const char * str) { switch(*str) { case '1': // Check for "1/2"-style draw result: if(str[1] == '/' && str[2] == '2') { return RESULT_Draw; } return RESULT_White; case '=': return RESULT_Draw; case '0': return RESULT_Black; case '*': return RESULT_None; } return RESULT_None; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strGetFlag(): // Extracts a flag (FLAG_YES, FLAG_NO or FLAG_BOTH) value from // a string. Defaults to FLAG_EMPTY. flagT strGetFlag(const char * str) { char c = *str; switch(c) { case 'T': case 't': case 'Y': case 'y': case 'J': case 'j': case 'O': case 'o': case 'S': case 's': case '1': return FLAG_YES; case 'F': case 'f': case 'N': case 'n': case '0': return FLAG_NO; case 'B': case 'b': case '2': return FLAG_BOTH; } // default: return empty. return FLAG_EMPTY; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strGetSquare(): // Extracts a square value from a string, such as "a2". squareT strGetSquare(const char * str) { char chFyle = str[0]; if(chFyle < 'a' || chFyle > 'h') { return NULL_SQUARE; } char chRank = str[1]; if(chRank < '1' || chRank > '8') { return NULL_SQUARE; } return square_Make(fyle_FromChar(chFyle), rank_FromChar(chRank)); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // strUniqueExactMatch(): // Given a string and a null-terminated array of strings // , returns the index of the unique match of the key // string in the string table. If no match was found, or there was // more than one match, -1 is returned. // // If the flag is true, only complete matches are considered. // Otherwise, unique abbreviations are accepted. // Example: looking up "repl" in {"repeat", "replace", NULL} would // return 1 (matching "replace") but looking up "rep" would // return -1 because its match is ambiguous. // // The array "strTable" does NOT need to be in any order, but the last // entry must be NULL. int strUniqueExactMatch(const char * keyStr, const char ** strTable, bool exact) { int index = -1; int abbrevMatches = 0; const char * s1; const char * s2; const char ** entryPtr = strTable; // If keyStr or strTable are null, return no match: if(keyStr == NULL || strTable == NULL) { return -1; } // Check each entry in turn: for(int i = 0; *entryPtr != NULL; entryPtr++, i++) { // Check the key against this entry, character by character: for(s1 = keyStr, s2 = *entryPtr; *s1 == *s2; s1++, s2++) { // If *s1 is 0, we found an EXACT match, so return it now: if(*s1 == 0) { return i; } } // If *s1 == 0 now, key is an abbreviation of this entry: if(*s1 == 0) { index = i; abbrevMatches++; } } // If we reach here, there is no exact match. If an exact match was // required, or there is not exactly one abbreviation, return no match: if(exact || abbrevMatches != 1) { return -1; } // Otherwise, return the match found: return index; } ////////////////////////////////////////////////////////////////////// // FILE I/O Routines //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // fileSize(): // Computes the plain (uncompressed) size of the named file, // using one of the other FileSize functions here. unsigned int fileSize(const char * name, const char * suffix) { fileNameT fname; strCopy(fname, name); strAppend(fname, suffix); const char * lastSuffix = strFileSuffix(fname); if(lastSuffix != NULL && strEqual(lastSuffix, GZIP_SUFFIX)) { return gzipFileSize(fname); } return rawFileSize(fname); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // rawFileSize(): // Uses the stat() system call to get the size of the file. // Returns 0 if any error occurs. unsigned int rawFileSize(const char * name) { struct stat statBuf; // Defined in if(stat(name, &statBuf) != 0) { return 0; } return (unsigned int) statBuf.st_size; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // gzipFileSize(): // Returns the UNCOMPRESSED size of a .gz file. // This is stored the final 4 bytes, in little endian format. // Returns 0 if any error occurs. unsigned int gzipFileSize(const char * name) { FILE * fp; fp = fopen(name, "rb"); if(fp == NULL) { return 0; } // Seek to 4 bytes from the end: if(fseek(fp, -4L, SEEK_END) != 0) { fclose(fp); return 0; } // Read the 4-unsigned char number in little-endian format: unsigned int size = 0; unsigned int b0 = (unsigned int) getc(fp); unsigned int b1 = (unsigned int) getc(fp); unsigned int b2 = (unsigned int) getc(fp); unsigned int b3 = (unsigned int) getc(fp); size = b0 | (b1 << 8) | (b2 << 16) | (b3 << 24); fclose(fp); return size; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // renameFile(): // Renames the file from oldName to newName with the same suffix. // Returns OK if successfull, ERROR_FileMode otherwise. errorT renameFile(const char * oldName, const char * newName, const char * suffix) { fileNameT fnameOld, fnameNew; strCopy(fnameOld, oldName); strAppend(fnameOld, suffix); strCopy(fnameNew, newName); strAppend(fnameNew, suffix); if(rename(fnameOld, fnameNew) != 0) { return ERROR_FileMode; } return OK; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // removeFile(): // Removes the file given the filename and suffix. // Returns OK if successfull, ERROR_FileMode otherwise. errorT removeFile(const char * name, const char * suffix) { fileNameT fname; strCopy(fname, name); strAppend(fname, suffix); if(remove(fname) != 0) { return ERROR_FileMode; } return OK; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // createFile(): // Creates (and immediately closes) an empty file. // Returns OK if successfull, ERROR_FileOpen otherwise. errorT createFile(const char * name, const char * suffix) { fileNameT fname; strCopy(fname, name); strAppend(fname, suffix); FILE * fp = fopen(fname, "w"); if(!fp) { return ERROR_FileOpen; } fclose(fp); return OK; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // fileExists(): // Returns true if the file exists, false otherwise. bool fileExists(const char * name, const char * suffix) { struct stat statBuf; // Defined in fileNameT fname; strCopy(fname, name); strAppend(fname, suffix); if(stat(fname, &statBuf) != 0) { return false; } return true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // writeString(), readString(): // Read/write fixed-length strings. // Lengths of zero bytes ARE allowed. errorT writeString(FILE * fp, char * str, unsigned int length) { ASSERT(fp != NULL && str != NULL); int result = 0; while(length > 0) { result = putc(*str, fp); str++; length--; } return (result == EOF ? ERROR_FileWrite : OK); } errorT readString(FILE * fp, char * str, unsigned int length) { ASSERT(fp != NULL && str != NULL); while(length > 0) { *str = getc(fp); str++; length--; } return OK; } } // End namespace Guess ////////////////////////////////////////////////////////////////////// // EOF: misc.cpp ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/misc.h000644 000765 000024 00000027046 12223260306 015746 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: misc.h // Miscellaneous routines (File I/O, etc) // // Part of: Scid (Shane's Chess Information Database) // Version: 3.5 // // Notice: Copyright (c) 2001-2003 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #ifndef SCID_MISC_H #define SCID_MISC_H #include "common.h" #include "error.h" #include // For isspace(), etc namespace Guess { // Scid initialisation routine: this MUST be called before such things as // computing chess moves are done, since it sets up piece movement tables. // void scid_Init(); // ECO string routines // void eco_ToString(ecoT ecoCode, char * ecoStr, bool extensions = true); inline void eco_ToBasicString(ecoT ecoCode, char * ecoStr) { eco_ToString(ecoCode, ecoStr, false); } inline void eco_ToExtendedString(ecoT ecoCode, char * ecoStr) { eco_ToString(ecoCode, ecoStr, true); } ecoT eco_FromString(const char * ecoStr); ecoT eco_LastSubCode(ecoT ecoCode); ecoT eco_BasicCode(ecoT ecoCode); // String routines. Some are identical to ANSI standard functions, but // I have included them: // (a) to keep nice consistent naming comventions, e.g. strCopy. // (b) so stats can easily be kept by modifying the functions. // (c) so some can be made inline for speed if necessary. // // Currently, strLength() and strPrefix() are inline. // strCompare_INLINE() is an inline equivalent of strCompare(). // charIsSpace: // Return true if the char is whitespace, including ASCII-160 (a // non-breaking space, = 240 octal or A0 hex). inline bool charIsSpace(unsigned char ch) { return (isspace(ch) || ch == 160); } char * strDuplicate(const char * str); int strCompare(const char * s1, const char * s2); int strCaseCompare(const char * s1, const char * s2); int strCompareRound(const char * sleft, const char * sright); inline bool strEqual(const char * s1, const char * s2) { return (strCompare(s1, s2) == 0); } inline bool strCaseEqual(const char * s1, const char * s2) { return (strCaseCompare(s1, s2) == 0); } void strCopy(char * target, const char * original); void strCopyExclude(char * target, const char * original, const char * excludeChars); char * strAppend(char * target, const char * extra); char * strAppend(char * target, unsigned int u); char * strAppend(char * target, int i); char * strAppend(char * target, const char * s1, const char * s2); char * strAppend(char * target, const char * s1, const char * s2); char * strAppend(char * target, const char * s1, const char * s2, const char * s3); char * strAppend(char * target, const char * s1, const char * s2, const char * s4); unsigned int strPrefix(const char * s1, const char * s2); unsigned int strPad(char * target, const char * orig, int length, char pad); const char * strFirstChar(const char * target, char matchChar); const char * strLastChar(const char * target, char matchChar); void strStrip(char * str, char ch); static const char WHITESPACE[6] = " \t\r\n"; const char * strTrimLeft(const char * target, const char * trimChars); inline const char * strTrimLeft(const char * target) { return strTrimLeft(target, WHITESPACE); } unsigned int strTrimRight(char * target, const char * trimChars); inline unsigned int strTrimRight(char * target) { return strTrimRight(target, WHITESPACE); } unsigned int strTrimSuffix(char * target, char suffixChar); void strTrimDate(char * str); void strTrimMarkCodes(char * str); void strTrimMarkup(char * str); void strTrimSurname(char * str, unsigned int initials); inline void strTrimSurname(char * str) { strTrimSurname(str, 0); } const char * strFirstWord(const char * str); const char * strNextWord(const char * str); // strPlural: // Returns the empty string if its parameter is 1, or "s" otherwise. inline const char * strPlural(unsigned int x) { return (x == 1 ? "" : "s"); } unsigned int strSingleSpace(char * str); bool strIsAllWhitespace(const char * str); bool strIsUnknownName(const char * str); // strIsPrefix: returns true if prefix is a prefix of longStr. bool strIsPrefix(const char * prefix, const char * longStr); // strIsCasePrefix: like strIsPrefix, but case-insensitive. bool strIsCasePrefix(const char * prefix, const char * longStr); // strIsAlphaPrefix: like strIsPrefix, but case-insensitive and space // characters are ignored. bool strIsAlphaPrefix(const char * prefix, const char * longStr); // strIsSurnameOnly: returns true if a string appears to only // contain a surname. bool strIsSurnameOnly(const char * name); // strAlphaContains: returns true if longStr contains keyStr, // case-insensitive and ignoring spaces. strContains is similar but // is case-sensitive and does not ignore spaces. bool strAlphaContains(const char * longStr, const char * keyStr); bool strContains(const char * longStr, const char * keyStr); int strContainsIndex(const char * longStr, const char * keyStr); bool strGetBoolean(const char * str); int strGetInteger(const char * str); unsigned int strGetUnsigned(const char * str); void strGetIntegers(const char * str, int * results, unsigned int nResults); void strGetUnsigneds(const char * str, unsigned int * results, unsigned int nResults); void strGetBooleans(const char * str, bool * results, unsigned int nResults); resultT strGetResult(const char * str); typedef unsigned int flagT; const flagT FLAG_EMPTY = 0; const flagT FLAG_YES = 1; const flagT FLAG_NO = 2; const flagT FLAG_BOTH = 3; inline bool flag_Yes(flagT t) { return ((t & FLAG_YES) != 0); } inline bool flag_No(flagT t) { return ((t & FLAG_NO) != 0); } flagT strGetFlag(const char * str); squareT strGetSquare(const char * str); inline unsigned int strTrimFileSuffix(char * target) { return strTrimSuffix(target, '.'); } inline const char * strFileSuffix(const char * target) { return strLastChar(target, '.'); } int strUniqueExactMatch(const char * keyStr, const char ** strTable, bool exact); inline int strUniqueMatch(const char * keyStr, const char ** strTable) { return strUniqueExactMatch(keyStr, strTable, false); } inline int strExactMatch(const char * keyStr, const char ** strTable) { return strUniqueExactMatch(keyStr, strTable, true); } inline bool strContainsChar(const char * str, char ch) { while(*str) { if(*str == ch) { return true; } str++; } return false; } inline int strCompare_INLINE(const char *s1, const char *s2) { while(1) { if(*s1 != *s2) { return ((int) * s1) - ((int) * s2); } if(*s1 == 0) { break; } s1++; s2++; } return 0; } inline unsigned int strLength(const char * str) { ASSERT(str != NULL); unsigned int len = 0; while(*str != 0) { len++; str++; } return len; } ////////////////////////////////////////////////////////////////////// // MATH functions //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // log2(): Returns logarithm (base 2) of the integer x. // log2(0 or 1) = 0, log2(2 or 3) = 1, // log2(4/5/6/7) = 2, etc. // inline unsigned int log2(unsigned int x) { unsigned int result = 0; x = x >> 1; while(x) { result++; x = x >> 1; } return result; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // isPowerOf2(): // Fast test for a power of two. Returns true (nonzero) only // if x is a power of two (0, 1, 2, 4, 8, 16, etc). // inline unsigned int isPowerOf2(unsigned int x) { return ((x & (x - 1)) == 0); } ////////////////////////////////////////////////////////////////////// // FILE I/O Routines. unsigned int fileSize(const char * name, const char * suffix); unsigned int rawFileSize(const char * name); unsigned int gzipFileSize(const char * name); bool fileExists(const char * fname, const char * suffix); errorT renameFile(const char * oldName, const char * newName, const char * suffix); errorT removeFile(const char * fname, const char * suffix); errorT createFile(const char * fname, const char * suffix); errorT writeString(FILE * fp, char * str, unsigned int length); errorT readString(FILE * fp, char * str, unsigned int length); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // writeOneByte(), readOneByte() inline errorT writeOneByte(FILE * fp, unsigned char value) { ASSERT(fp != NULL); return (putc(value, fp) == EOF) ? ERROR_FileWrite : OK; } inline unsigned char readOneByte(FILE * fp) { ASSERT(fp != NULL); return (unsigned char) getc(fp); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // writeTwoBytes(), readTwoBytes() inline errorT writeTwoBytes(FILE * fp, unsigned int value) { ASSERT(fp != NULL); int result; int v = (value >> 8) & 255; putc(v, fp); v = value & 255; result = putc(v, fp); return (result == EOF ? ERROR_FileWrite : OK); } inline unsigned int readTwoBytes(FILE *fp) { ASSERT(fp != NULL); unsigned int v = getc(fp); v = v << 8; v += getc(fp); return v; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!! // writeThreeBytes(), readThreeBytes() inline errorT writeThreeBytes(FILE * fp, unsigned int value) { ASSERT(fp != NULL); int result; int v = (value >> 16) & 255; putc(v, fp); v = (value >> 8) & 255; putc(v, fp); v = value & 255; result = putc(v, fp); return (result == EOF ? ERROR_FileWrite : OK); } inline unsigned int readThreeBytes(FILE * fp) { ASSERT(fp != NULL); unsigned int v = getc(fp); v = v << 8; v += (unsigned int) getc(fp); v = v << 8; v += (unsigned int) getc(fp); return v; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // writeFourBytes(), readFourBytes() inline errorT writeFourBytes(FILE * fp, unsigned int value) { ASSERT(fp != NULL); int result; unsigned int v = (value >> 24) & 255; putc(v, fp); v = (value >> 16) & 255; putc(v, fp); v = (value >> 8) & 255; putc(v, fp); v = value & 255; result = putc(v, fp); return (result == EOF ? ERROR_FileWrite : OK); } inline unsigned int readFourBytes(FILE * fp) { ASSERT(fp != NULL); unsigned int v = getc(fp); v = v << 8; v += (unsigned int) getc(fp); v = v << 8; v += (unsigned int) getc(fp); v = v << 8; v += (unsigned int) getc(fp); return v; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // readCompactUint, writeCompactUint: // Read/write an unsigned int using a variable number // of bytes: 1 for 0-127, 2 for 128-16383, etc. inline errorT writeCompactUint(FILE * fp, unsigned int value) { ASSERT(fp != NULL); int result; while(true) { if(value < 128) { result = putc(value, fp); break; } putc((value & 127) | 128, fp); value = value >> 7; } return (result == EOF ? ERROR_FileWrite : OK); } inline unsigned int readCompactUint(FILE * fp) { ASSERT(fp != NULL); unsigned int v = 0; unsigned int bitIndex = 0; while(true) { unsigned int b = (unsigned int) getc(fp); v = v | ((b & 127) << bitIndex); if(!(b & 128)) { break; } bitIndex += 7; } return v; } } // End namespace Guess #endif // #ifdef SCID_MISC_H ////////////////////////////////////////////////////////////////////// // EOF: misc.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/movelist.cpp000644 000765 000024 00000007722 12507517064 017222 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: movelist.cpp // MoveList class methods // // Part of: Scid (Shane's Chess Information Database) // Version: 3.4 // // Notice: Copyright (c) 2002 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #include "movelist.h" #include "misc.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER using namespace Guess; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // MoveList::MoveToFront // Promotes a move to the front of the list, pushing // all moves that were ahead of it down one place. void MoveList::MoveToFront(unsigned int index) { move(index,0); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // MoveList::SwapWithFirst // Swaps the specified move with the move at the start of the list. // All other moves remain in their original location. void MoveList::SwapWithFirst(unsigned int index) { swap(index,0); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // MoveList::Find // Searches for a move in the list. // Returns the index of the move with the same from-square, // to-square and promotion-piece values as the specified // move, if it is in the list. If the move is not found, // the value -1 is returned. int MoveList::Find(const simpleMoveT * sm) const { for(int i = 0; i < size(); ++i) { const simpleMoveT& lsm = at(i); if(sm->from == lsm.from && sm->to == lsm.to && sm->promote == lsm.promote) { return i; } } return -1; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // MoveList::SelectBySquares // Restricts the list to only contain only the two // moves suggested by (from1,to1) and (from2,to2) // Returns the new size of the list. unsigned int MoveList::SelectBySquares(squareT f1, squareT t1, squareT f2, squareT t2) { for (int i = 0; i < size(); ) { const simpleMoveT& sm = at(i); if((sm.from == f1 && sm.to == t1) || (sm.from == f2 && sm.to == t2)) { ++i; } else { removeAt(i); } } return size(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // MoveList::SelectBySquare // Restricts the list to only contain moves which // move a piece to or from the specified square. // Returns the new size of the list. unsigned int MoveList::SelectBySquare(squareT sq) { for(int i = 0; i < size(); ) { const simpleMoveT& sm = at(i); if(sm.from != sq && sm.to != sq) { removeAt(i); } else { ++i; } } return size(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // MoveList::FindBest // Searches the move list from the specified index to the end of // the list to find the move in that range of the list with the // highest score, and swaps the best move found with the move at // the specified index if it is not already there. // The moves earlier in the list (at indices 0 to index-1) are // ignored and are not moved. void MoveList::FindBest(unsigned int index) { unsigned int bestIndex = index; int bestScore = at(index).score; // Search the rest of the list for a better-scoring move: for(int i = index + 1; i < size(); ++i) { if(at(i).score > bestScore) { bestIndex = i; bestScore = at(i).score; } } // Swap if necessary: if(index != bestIndex) { swap(index,bestIndex); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // MoveList::Sort // Sort the move list by the score field in descending order, // with highest scores first. void MoveList::Sort(void) { qSort(begin(),end(), qGreater()); } ////////////////////////////////////////////////////////////////////// // EOF: movelist.cpp ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/movelist.h000644 000765 000024 00000004540 12426215617 016661 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: movelist.h // MoveList class // // Part of: Scid (Shane's Chess Information Database) // Version: 3.4 // // Notice: Copyright (c) 1999-2002 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #ifndef SCID_MOVELIST_H #define SCID_MOVELIST_H #include "common.h" #include namespace Guess { /////////////////////////////////////////////////////////////////////////// // MoveList: Data Structures // *** SimpleMove: less expensive to store than a full move as defined // in game.h, but still fully undoable. // struct simpleMoveT { unsigned char pieceNum; pieceT movingPiece; squareT from; squareT to; unsigned char capturedNum; pieceT capturedPiece; pieceT promote; squareT capturedSquare; // ONLY different to "to" field if this capture // is an en passant capture. unsigned char castleFlags; // pre-move information squareT epSquare; // pre-move information unsigned short oldHalfMoveClock; int score; // used for alpha/beta ordering. bool operator < (const simpleMoveT& rhs) const { return score < rhs.score; } }; inline bool isNullMove(simpleMoveT * sm) { return (sm->from == sm->to && sm->from != NULL_SQUARE && piece_Type(sm->movingPiece) == KING); } errorT writeSimpleMove(FILE * fp, simpleMoveT * sm); errorT readSimpleMove(FILE * fp, simpleMoveT * sm); class MoveList : public QList { public: MoveList() : QList() {} ~MoveList() { } inline simpleMoveT * Get(unsigned int index) { return &this->operator [](index); } void MoveToFront(unsigned int index); void SwapWithFirst(unsigned int index); int Find(const simpleMoveT * sm) const; void FindBest(unsigned int index); void Sort(void); unsigned int SelectBySquare(squareT sq); unsigned int SelectBySquares(squareT f1, squareT t1, squareT f2, squareT t2); }; } // End namespace Guess #endif // SCID_MOVELIST_H ////////////////////////////////////////////////////////////////////// // EOF: movelist.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/position.cpp000644 000765 000024 00000316212 12517745317 017226 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: position.cpp // Position class methods // // Part of: Scid (Shane's Chess Information Database) // Version: 3.5 // // Notice: Copyright (c) 1999-2003 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #include "common.h" #include "position.h" #include "attacks.h" #include "misc.h" #include "sqlist.h" #include "sqset.h" #include "hash.h" #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER static unsigned int hashVal [16][64]; static unsigned int stdStartHash = 0; static unsigned int stdStartPawnHash = 0; // HASH and UNHASH are identical: XOR the hash value for a (piece,square). #define HASH(h,p,sq) (h) ^= hashVal[(p)][(sq)] #define UNHASH(h,p,sq) (h) ^= hashVal[(p)][(sq)] using namespace Guess; inline void Position::AddHash(pieceT p, squareT sq) { HASH(Hash, p, sq); if(piece_Type(p) == PAWN) { HASH(PawnHash, p, sq); } } inline void Position::UnHash(pieceT p, squareT sq) { UNHASH(Hash, p, sq); if(piece_Type(p) == PAWN) { UNHASH(PawnHash, p, sq); } } inline void Position::AddToBoard(pieceT p, squareT sq) { ASSERT(Board[sq] == EMPTY); Board[sq] = p; NumOnRank[p][square_Rank(sq)]++; NumOnFyle[p][square_Fyle(sq)]++; NumOnLeftDiag[p][square_LeftDiag(sq)]++; NumOnRightDiag[p][square_RightDiag(sq)]++; NumOnSquareColor[p][square_Color(sq)]++; AddHash(p, sq); } inline void Position::RemoveFromBoard(pieceT p, squareT sq) { ASSERT(Board[sq] == p); Board[sq] = EMPTY; NumOnRank[p][square_Rank(sq)]--; NumOnFyle[p][square_Fyle(sq)]--; NumOnLeftDiag[p][square_LeftDiag(sq)]--; NumOnRightDiag[p][square_RightDiag(sq)]--; NumOnSquareColor[p][square_Color(sq)]--; UnHash(p, sq); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // initHashValues: // Initialises the table of Zobrist hash values. void initHashValues(void) { // Ensure we set up the hash values only once: static int firstCall = 1; if(! firstCall) { return; } firstCall = 0; // First, set all values to 0: unsigned int sq; for(unsigned int p = 0; p < 16; p++) { for(sq = A1; sq <= H8; sq++) { hashVal[p][sq] = 0; } } // Fill in the hash values for each valid [piece][square] index, // using a table of pre-generated good values: const unsigned int * hash = goodHashValues; for(sq = A1; sq <= H8; ++sq) { hashVal[WK][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[WQ][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[WR][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[WB][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[WN][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[WP][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[BK][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[BQ][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[BR][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[BB][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[BN][sq] = *hash; ++hash; } for(sq = A1; sq <= H8; ++sq) { hashVal[BP][sq] = *hash; ++hash; } // Compute the hash values for the standard starting position: unsigned int h = 0; // First the pawns: HASH(h, WP, A2); HASH(h, WP, B2); HASH(h, WP, C2); HASH(h, WP, D2); HASH(h, WP, E2); HASH(h, WP, F2); HASH(h, WP, G2); HASH(h, WP, H2); HASH(h, BP, A7); HASH(h, BP, B7); HASH(h, BP, C7); HASH(h, BP, D7); HASH(h, BP, E7); HASH(h, BP, F7); HASH(h, BP, G7); HASH(h, BP, H7); stdStartPawnHash = h; // Now the nonpawns: HASH(h, WR, A1); HASH(h, WN, B1); HASH(h, WB, C1); HASH(h, WQ, D1); HASH(h, WK, E1); HASH(h, WB, F1); HASH(h, WN, G1); HASH(h, WR, H1); HASH(h, BR, A8); HASH(h, BN, B8); HASH(h, BB, C8); HASH(h, BQ, D8); HASH(h, BK, E8); HASH(h, BB, F8); HASH(h, BN, G8); HASH(h, BR, H8); stdStartHash = h; } /////////////////////////////////////////////////////////////////////////// // PRIVATE FUNCTIONS -- small ones are inline for speed //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::AssertPos(): // Does a slow, thorough check of the integrity of the // data structures, ensuring everything is valid. // errorT Position::AssertPos() { unsigned char mat[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; for(colorT c = WHITE; c <= BLACK; ++c) { for(unsigned int i = 0; i < Count[c]; ++i) { if(ListPos[List[c][i]] != i || piece_Color(Board[List[c][i]]) != c) { DumpBoard(stderr); DumpLists(stderr); return ERROR_General; } mat[Board[List[c][i]]]++; } } for(unsigned int i = WK; i < BP; i++) { if(mat[i] != Material[i]) { DumpBoard(stderr); DumpLists(stderr); return ERROR_General; } } return OK; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::CalcPinsDir(): // Look for a pinned piece in the direction 'dir' relative to // the position of the king to move. // inline void Position::CalcPinsDir(directionT dir, pieceT attacker) { // Two pieces can pin along any path. A queen is always one, // the other is a bishop or rook. To save calculating it here, the // appropriate piece (BISHOP) or (ROOK) is passed along with the // direction. squareT king = GetKingSquare(ToMove); squareT friendly = NULL_SQUARE; squareT x = king; squareT last = square_Last(king, dir); int delta = direction_Delta(dir); while(x != last) { x += delta; pieceT p = Board[x]; if(p == EMPTY) { // Empty square, so keep searching. } else if(piece_Color_NotEmpty(p) == ToMove) { // Found a friendly piece. if(friendly == NULL_SQUARE) { // Found first friendly in this direction friendly = x; } else { // Found second friendly in this direction, so stop. return; } } else { // Found an enemy piece if(friendly != NULL_SQUARE) { // Potential pin: pieceT ptype = piece_Type(p); if(ptype == QUEEN || ptype == attacker) { Pinned[ListPos[friendly]] = dir; } } return; // found an enemy piece, so end search } } return; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::AddLegalMove(): // Add a legal move to the move list. // inline void Position::AddLegalMove(MoveList * mlist, squareT from, squareT to, pieceT promo) { ASSERT(mlist != NULL); simpleMoveT sm; // We do NOT set the pre-move castling/ep flags, or the captured // piece info, here since that is ONLY needed if the move is // going to be executed with DoSimpleMove() and then undone. sm.from = from; sm.to = to; sm.promote = promo; sm.movingPiece = Board[from]; sm.capturedPiece = Board[to]; mlist->append(sm); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GenSliderMoves(): // Generate slider moves along a direction, for a sliding // piece of the specified color from the specified square. // If sqset != NULL, moves must be to a square in sqset. inline void Position::GenSliderMoves(MoveList * mlist, colorT color, squareT fromSq, directionT dir, SquareSet * sqset, bool capturesOnly) { squareT dest = fromSq; squareT last = square_Last(fromSq, dir); int delta = direction_Delta(dir); while(dest != last) { dest += delta; pieceT p = Board[dest]; if(p == EMPTY) { if(! capturesOnly) { if(sqset == NULL || sqset->Contains(dest)) { AddLegalMove(mlist, fromSq, dest, EMPTY); } } continue; } // We have reached a piece. Add the capture if it is an enemy. if(piece_Color_NotEmpty(p) != color) { if(sqset == NULL || sqset->Contains(dest)) { AddLegalMove(mlist, fromSq, dest, EMPTY); } } break; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GenKnightMoves(): // Generate knight moves. // If sqset != NULL, moves must be to a square in sqset. inline void Position::GenKnightMoves(MoveList * mlist, colorT c, squareT fromSq, SquareSet * sqset, bool capturesOnly) { const squareT * destPtr = knightAttacks[fromSq]; while(true) { squareT dest = *destPtr; if(dest == NULL_SQUARE) { break; } destPtr++; pieceT p = Board[dest]; if(capturesOnly && p == EMPTY) { continue; } if(piece_Color(p) != c) { if(sqset == NULL || sqset->Contains(dest)) { AddLegalMove(mlist, fromSq, dest, EMPTY); } } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GenCastling(): // Generate the legal castling moves. // Assumes the side to move is NOT in check, so the caller // should verify this first. // void Position::GenCastling(MoveList * mlist) { ASSERT(! IsKingInCheck()); squareT from = GetKingSquare(ToMove); if(from != (ToMove == WHITE ? E1 : E8)) { return; } squareT enemyKingSq = GetEnemyKingSquare(); squareT target, skip, rookSq; pieceT rookPiece; // Queenside Castling: if(!StrictCastling || GetCastling(ToMove, QSIDE)) { if(ToMove == WHITE) { target = C1; skip = D1; rookSq = A1; rookPiece = WR; } else { target = C8; skip = D8; rookSq = A8; rookPiece = BR; } if(Board[target] == EMPTY && Board[skip] == EMPTY && Board[rookSq] == rookPiece && Board[target - 1] == EMPTY // B1 or B8 must be empty too! && CalcNumChecks(target) == 0 && CalcNumChecks(skip) == 0 && ! square_Adjacent(target, enemyKingSq)) { AddLegalMove(mlist, from, target, EMPTY); } } // Kingside Castling: if(!StrictCastling || GetCastling(ToMove, KSIDE)) { if(ToMove == WHITE) { target = G1; skip = F1; rookSq = H1; rookPiece = WR; } else { target = G8; skip = F8; rookSq = H8; rookPiece = BR; } if(Board[target] == EMPTY && Board[skip] == EMPTY && Board[rookSq] == rookPiece && CalcNumChecks(target) == 0 && CalcNumChecks(skip) == 0 && ! square_Adjacent(target, enemyKingSq)) { AddLegalMove(mlist, from, target, EMPTY); } } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GenKingMoves(): // Generate the legal King moves. Castling is generated as well, if // the specified flag is true. // void Position::GenKingMoves(MoveList * mlist, genMovesT genType, bool castling) { squareT kingSq = GetKingSquare(); squareT enemyKingSq = GetEnemyKingSquare(); colorT enemy = color_Flip(ToMove); const squareT * destPtr; pieceT king = piece_Make(ToMove, KING); bool genNonCaptures = ((genType & GEN_NON_CAPS) != 0); if (Board[kingSq] != king) return; // TODO - happens - why? ASSERT(Board[kingSq] == king); destPtr = kingAttacks[kingSq]; while(*destPtr != NULL_SQUARE) { // Try this move and see if it legal: squareT destSq = *destPtr; bool addThisMove = false; // Only try this move if the target square has an enemy piece, // or if it is empty and noncaptures are to be generated: if((genNonCaptures && Board[destSq] == EMPTY) || piece_Color(Board[destSq]) == enemy) { // Empty or enemy piece there, so try the move: pieceT captured = Board[destSq]; Board[destSq] = king; Board[kingSq] = EMPTY; // It is legal if the two kings will not be adjacent and the // moving king will not be in check on its new square: if(! square_Adjacent(destSq, enemyKingSq)) { if(CalcNumChecks(destSq) == 0) { addThisMove = true; } } Board[kingSq] = king; Board[destSq] = captured; } if(addThisMove) { AddLegalMove(mlist, kingSq, destSq, EMPTY); } destPtr++; } // Now generate castling moves, if possible: if(genNonCaptures && castling) { GenCastling(mlist); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::AddPromotions(): // Add promotion moves. // Called by GenPawnMoves() when a pawn can be promoted. // inline void Position::AddPromotions(MoveList * mlist, squareT from, squareT dest) { ASSERT(piece_Type(Board[from]) == PAWN); ASSERT(square_Rank(dest) == RANK_1 || square_Rank(dest) == RANK_8); AddLegalMove(mlist, from, dest, QUEEN); AddLegalMove(mlist, from, dest, ROOK); AddLegalMove(mlist, from, dest, BISHOP); AddLegalMove(mlist, from, dest, KNIGHT); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::IsValidEnPassant // Used to verify that an en passant pawn capture is valid. // This is needed because illegal en passant captures can appear // legal according to calculations of pinned pieces. For example, // consider WK d5, WP e5, BP f5 (just moved there), BR h5 and // the en passant capture exf6 would be illegal. inline bool Position::IsValidEnPassant(squareT from, squareT to) { ASSERT(from <= H8 && to <= H8); ASSERT(to == EPTarget); // Check that this en passant capture is legal: pieceT ownPawn = piece_Make(ToMove, PAWN); pieceT enemyPawn = piece_Make(color_Flip(ToMove), PAWN); squareT enemyPawnSq = (ToMove == WHITE) ? to - 8 : to + 8; ASSERT(Board[from] == ownPawn); ASSERT(Board[enemyPawnSq] == enemyPawn); Board[from] = EMPTY; Board[enemyPawnSq] = EMPTY; Board[to] = ownPawn; bool isValid = ! IsKingInCheck(); Board[from] = ownPawn; Board[enemyPawnSq] = enemyPawn; Board[to] = EMPTY; return isValid; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GenPawnMoves(): // Generate legal pawn moves. // If dir != NULL_DIR, pawn MUST move in direction dir or its opposite. // If sqset != NULL, pawn MUST move to a square in sqset. // The dir and sq parameters are for pinned pawns and check evasions. void Position::GenPawnMoves(MoveList * mlist, squareT from, directionT dir, SquareSet * sqset, genMovesT genType) { bool genNonCaptures = ((genType & GEN_NON_CAPS) != 0); directionT oppdir = direction_Opposite(dir); directionT forward; rankT promoRank; rankT secondRank; if(ToMove == WHITE) { forward = UP; promoRank = RANK_8; secondRank = RANK_2; } else { forward = DOWN; promoRank = RANK_1; secondRank = RANK_7; } squareT dest; ASSERT(Board[from] == piece_Make(ToMove, PAWN)); if(genNonCaptures && (dir == NULL_DIR || dir == forward || oppdir == forward)) { dest = square_Move(from, forward); if(Board[dest] == EMPTY && (sqset == NULL || sqset->Contains(dest))) { if(square_Rank(dest) == promoRank) { AddPromotions(mlist, from, dest); } else { AddLegalMove(mlist, from, dest, EMPTY); } } if(square_Rank(from) == secondRank && Board[dest] == EMPTY) { dest = square_Move(dest, forward); if(Board[dest] == EMPTY && (sqset == NULL || sqset->Contains(dest))) { AddLegalMove(mlist, from, dest, EMPTY); } } } // Now do captures: left, then right // To be a possible capture, dest square must be EPTarget or hold // an enemy piece. #define POSSIBLE_CAPTURE(d) ((d != NULL_SQUARE) \ && ((piece_Color (Board[d]) == (color_Flip(ToMove))) \ || (d == EPTarget && IsValidEnPassant(from,d)))) directionT capdir = forward | LEFT; if(dir == NULL_DIR || dir == capdir || oppdir == capdir) { dest = square_Move(from, capdir); if(POSSIBLE_CAPTURE(dest) && (sqset == NULL || sqset->Contains(dest))) { if(square_Rank(dest) == promoRank) { AddPromotions(mlist, from, dest); } else { AddLegalMove(mlist, from, dest, EMPTY); } } } capdir = forward | RIGHT; if(dir == NULL_DIR || dir == capdir || oppdir == capdir) { dest = square_Move(from, capdir); if(POSSIBLE_CAPTURE(dest) && (sqset == NULL || sqset->Contains(dest))) { if(square_Rank(dest) == promoRank) { AddPromotions(mlist, from, dest); } else { AddLegalMove(mlist, from, dest, EMPTY); } } } return; } ////////////////////////////////////////////////////////////////////// // PUBLIC FUNCTIONS //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GetHPSig(): // Return the position's home pawn signature. // unsigned int Position::GetHPSig(void) { unsigned int hpSig = 0; pieceT * b = &(Board[A2]); if(*b == WP) { hpSig |= 0x8000; } b++; /* a2 */ if(*b == WP) { hpSig |= 0x4000; } b++; /* b2 */ if(*b == WP) { hpSig |= 0x2000; } b++; /* c2 */ if(*b == WP) { hpSig |= 0x1000; } b++; /* d2 */ if(*b == WP) { hpSig |= 0x0800; } b++; /* e2 */ if(*b == WP) { hpSig |= 0x0400; } b++; /* f2 */ if(*b == WP) { hpSig |= 0x0200; } b++; /* g2 */ if(*b == WP) { hpSig |= 0x0100; /* h2 */ } b = &(Board[A7]); if(*b == BP) { hpSig |= 0x0080; } b++; /* a7 */ if(*b == BP) { hpSig |= 0x0040; } b++; /* b7 */ if(*b == BP) { hpSig |= 0x0020; } b++; /* c7 */ if(*b == BP) { hpSig |= 0x0010; } b++; /* d7 */ if(*b == BP) { hpSig |= 0x0008; } b++; /* e7 */ if(*b == BP) { hpSig |= 0x0004; } b++; /* f7 */ if(*b == BP) { hpSig |= 0x0002; } b++; /* g7 */ if(*b == BP) { hpSig |= 0x0001; /* h7 */ } return hpSig; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::Init(): // Initialise the position after it is constructed. // void Position::Init(void) { // Setting up a valid board is left to StdStart() or Clear(). Board [COLOR_SQUARE] = EMPTY; Board [NULL_SQUARE] = END_OF_BOARD; LegalMoves = NULL; SANStrings = NULL; StrictCastling = true; // Make sure all tables used for move generation, hashing, // square tests, etc have been computed: scid_Init(); initHashValues(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::Clear(): // Clear the board and associated structures. // void Position::Clear(void) { int i; for(i = A1; i <= H8; ++i) { Board[i] = EMPTY; } for(i = WK; i <= BP; ++i) { Material[i] = 0; for(unsigned int j = 0; j < 8; ++j) { NumOnRank[i][j] = NumOnFyle[i][j] = 0; } for(unsigned int d = 0; d < 15; ++d) { NumOnLeftDiag[i][d] = NumOnRightDiag[i][d] = 0; } NumOnSquareColor[i][WHITE] = NumOnSquareColor[i][BLACK] = 0; } Count[WHITE] = Count[BLACK] = 0; EPTarget = NULL_SQUARE; Castling = 0; Board [NULL_SQUARE] = END_OF_BOARD; PlyCounter = 0; HalfMoveClock = 0; Hash = 0; PawnHash = 0; return; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::StdStart(): // Set up the standard chess starting position. // void Position::StdStart(void) { Clear(); Material[WK] = Material[BK] = 1; Material[WQ] = Material[BQ] = 1; Material[WR] = Material[BR] = 2; Material[WB] = Material[BB] = 2; Material[WN] = Material[BN] = 2; Material[WP] = Material[BP] = 8; Count[WHITE] = Count[BLACK] = 16; AddToBoard(WK, E1); List[WHITE][0] = E1; ListPos[E1] = 0; AddToBoard(BK, E8); List[BLACK][0] = E8; ListPos[E8] = 0; AddToBoard(WR, A1); List[WHITE][1] = A1; ListPos[A1] = 1; AddToBoard(BR, A8); List[BLACK][1] = A8; ListPos[A8] = 1; AddToBoard(WN, B1); List[WHITE][2] = B1; ListPos[B1] = 2; AddToBoard(BN, B8); List[BLACK][2] = B8; ListPos[B8] = 2; AddToBoard(WB, C1); List[WHITE][3] = C1; ListPos[C1] = 3; AddToBoard(BB, C8); List[BLACK][3] = C8; ListPos[C8] = 3; AddToBoard(WQ, D1); List[WHITE][4] = D1; ListPos[D1] = 4; AddToBoard(BQ, D8); List[BLACK][4] = D8; ListPos[D8] = 4; AddToBoard(WB, F1); List[WHITE][5] = F1; ListPos[F1] = 5; AddToBoard(BB, F8); List[BLACK][5] = F8; ListPos[F8] = 5; AddToBoard(WN, G1); List[WHITE][6] = G1; ListPos[G1] = 6; AddToBoard(BN, G8); List[BLACK][6] = G8; ListPos[G8] = 6; AddToBoard(WR, H1); List[WHITE][7] = H1; ListPos[H1] = 7; AddToBoard(BR, H8); List[BLACK][7] = H8; ListPos[H8] = 7; for(unsigned int i = 0; i < 8; i++) { AddToBoard(WP, A2 + i); List[WHITE][i + 8] = A2 + i; ListPos[A2 + i] = i + 8; AddToBoard(BP, A7 + i); List[BLACK][i + 8] = A7 + i; ListPos[A7 + i] = i + 8; } Castling = 0; SetCastling(WHITE, QSIDE, true); SetCastling(WHITE, KSIDE, true); SetCastling(BLACK, QSIDE, true); SetCastling(BLACK, KSIDE, true); EPTarget = NULL_SQUARE; ToMove = WHITE; PlyCounter = 0; HalfMoveClock = 0; Board [NULL_SQUARE] = END_OF_BOARD; Hash = stdStartHash; PawnHash = stdStartPawnHash; return; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::IsStdStart // Returns true if the position is the standard starting position. bool Position::IsStdStart() { if(ToMove != WHITE || Hash != stdStartHash || PawnHash != stdStartPawnHash || GetCount(WHITE) != 16 || GetCount(BLACK) != 16 || RankCount(WP, RANK_2) != 8 || RankCount(BP, RANK_7) != 8 || RankCount(WN, RANK_1) != 2 || RankCount(BN, RANK_8) != 2 || !GetCastling(WHITE, KSIDE) || !GetCastling(WHITE, QSIDE) || !GetCastling(BLACK, KSIDE) || !GetCastling(BLACK, QSIDE)) { return false; } return true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::AddPiece(): // Add a piece to the board and piecelist. // Checks that a side cannot have more than 16 pieces or more // than one king. // errorT Position::AddPiece(pieceT p, squareT sq) { ASSERT(p != EMPTY); colorT c = piece_Color(p); if(Count[c] == 16) { return ERROR_PieceCount; } ASSERT(Count[c] <= 15); if(piece_Type(p) == KING) { // Check there is not already a King: if(Material[p] > 0) { return ERROR_PieceCount; } // King is always at the start of the piecelist, so move the piece // already at location 0 if there is one: if(Count[c] > 0) { squareT oldsq = List[c][0]; List[c][Count[c]] = oldsq; ListPos[oldsq] = Count[c]; } List[c][0] = sq; ListPos[sq] = 0; } else { ListPos[sq] = Count[c]; List[c][Count[c]] = sq; } Count[c]++; Material[p]++; AddToBoard(p, sq); return OK; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::CalcPins(): // Calculate the pieces for the side to move that are // pinned to their king. The array Pinned[] stores, for // each piece, the direction in which it is pinned. // // For example WK on e1, WQ on e2, BQ on e7 on the e-fyle // means the WQ is Pinned in the direction UP. // void Position::CalcPins(void) { Pinned[ 0] = Pinned[ 1] = Pinned[ 2] = Pinned[ 3] = Pinned[ 4] = Pinned[ 5] = Pinned[ 6] = Pinned[ 7] = Pinned[ 8] = Pinned[ 9] = Pinned[10] = Pinned[11] = Pinned[12] = Pinned[13] = Pinned[14] = Pinned[15] = NULL_DIR; squareT kingSq = GetKingSquare(ToMove); colorT enemy = color_Flip(ToMove); pieceT enemyQueen = piece_Make(enemy, QUEEN); pieceT enemyRook = piece_Make(enemy, ROOK); pieceT enemyBishop = piece_Make(enemy, BISHOP); // Pins and checks from Bishops/Queens/Rooks: fyleT fyle = square_Fyle(kingSq); if(FyleCount(enemyQueen, fyle) + FyleCount(enemyRook, fyle) > 0) { CalcPinsDir(UP, ROOK); CalcPinsDir(DOWN, ROOK); } rankT rank = square_Rank(kingSq); if(RankCount(enemyQueen, rank) + RankCount(enemyRook, rank) > 0) { CalcPinsDir(LEFT, ROOK); CalcPinsDir(RIGHT, ROOK); } leftDiagT ld = square_LeftDiag(kingSq); if(LeftDiagCount(enemyQueen, ld) + LeftDiagCount(enemyBishop, ld) > 0) { CalcPinsDir(UP_LEFT, BISHOP); CalcPinsDir(DOWN_RIGHT, BISHOP); } rightDiagT rd = square_RightDiag(kingSq); if(RightDiagCount(enemyQueen, rd) + RightDiagCount(enemyBishop, rd) > 0) { CalcPinsDir(UP_RIGHT, BISHOP); CalcPinsDir(DOWN_LEFT, BISHOP); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GenPieceMoves(): // Generates moves for a nonpawn, nonking piece. // If sqset != NULL, moves must be to a square in sqset.< void Position::GenPieceMoves(MoveList * mlist, squareT fromSq, SquareSet * sqset, bool capturesOnly) { colorT c = ToMove; pieceT p = Board[fromSq]; pieceT ptype = piece_Type(p); ASSERT(p != EMPTY && ptype != KING && ptype != PAWN); if(ptype == KNIGHT) { GenKnightMoves(mlist, c, fromSq, sqset, capturesOnly); return; } if(ptype != BISHOP) { GenSliderMoves(mlist, c, fromSq, UP, sqset, capturesOnly); GenSliderMoves(mlist, c, fromSq, DOWN, sqset, capturesOnly); GenSliderMoves(mlist, c, fromSq, LEFT, sqset, capturesOnly); GenSliderMoves(mlist, c, fromSq, RIGHT, sqset, capturesOnly); } if(ptype != ROOK) { GenSliderMoves(mlist, c, fromSq, UP_LEFT, sqset, capturesOnly); GenSliderMoves(mlist, c, fromSq, DOWN_LEFT, sqset, capturesOnly); GenSliderMoves(mlist, c, fromSq, UP_RIGHT, sqset, capturesOnly); GenSliderMoves(mlist, c, fromSq, DOWN_RIGHT, sqset, capturesOnly); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GenerateMoves // Generate the legal moves list. // If the specified pieceType is not EMPTY, then only legal // moves for that type of piece are generated. void Position::GenerateMoves(MoveList * mlist, pieceT pieceType, genMovesT genType, bool maybeInCheck) { bool genNonCaptures = ((genType & GEN_NON_CAPS) != 0); bool capturesOnly = !genNonCaptures; unsigned int mask = 0; if(pieceType != EMPTY) { mask = 1 << pieceType; } else { mask = (1 << KING) | (1 << QUEEN) | (1 << ROOK) | (1 << BISHOP) | (1 << KNIGHT) | (1 << PAWN); } // Use the objects own move list if none was provided: if(mlist == NULL) { ClearLegalMoves(); mlist = LegalMoves; } mlist->clear(); // Compute which pieces of the side to move are pinned to the king: CalcPins(); // Determine if the side to move is in check and find where the // checking pieces are, unless the caller has passed maybeInCheck=false // indicating it is CERTAIN the side to move is not in check here. unsigned int numChecks = 0; if(maybeInCheck) { SquareList checkSquares; numChecks = CalcNumChecks(GetKingSquare(ToMove), &checkSquares); if(numChecks > 0) { // The side to move IS in check: GenCheckEvasions(mlist, pieceType, genType, &checkSquares); return; } } // The side to move is NOT in check. Iterate over each non-king // piece, and then generate King moves last of all: unsigned int npieces = Count[ToMove]; for(unsigned int x = 1; x < npieces; x++) { squareT sq = List[ToMove][x]; pieceT p = Board[sq]; pieceT ptype = piece_Type(p); if(!(mask & (1 << ptype))) { continue; } directionT pinned = Pinned[x]; // If Pinned[x] == dir (not NULL_DIR), x can ONLY move along // that direction or its opposite. if(pinned != NULL_DIR) // piece x is pinned to king { if(ptype == PAWN) { GenPawnMoves(mlist, sq, pinned, NULL, genType); } else if(ptype == KNIGHT) { // do nothing -- pinned knights cannot move } else { // Piece is a pinned Queen/Rook/Bishop. Only generate // moves along the pinned direction and its opposite: if(ptype == QUEEN || (ptype == ROOK && !direction_IsDiagonal(pinned)) || (ptype == BISHOP && direction_IsDiagonal(pinned))) { GenSliderMoves(mlist, ToMove, sq, pinned, NULL, capturesOnly); GenSliderMoves(mlist, ToMove, sq, dirOpposite[pinned], NULL, capturesOnly); } } } else { // This piece is free to move anywhere if(ptype == PAWN) { GenPawnMoves(mlist, sq, NULL_DIR, NULL, genType); } else { // Knight/Queen/Bishop/Rook: GenPieceMoves(mlist, sq, NULL, capturesOnly); } } } // Lastly, king moves... if(mask & (1 << KING)) { bool castling = !numChecks; GenKingMoves(mlist, genType, castling); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::IsLegalMove // Determines whether the specified move is legal in this position, // without requiring move generation (except for castling moves). bool Position::IsLegalMove(simpleMoveT * sm) { squareT from = sm->from; squareT to = sm->to; if(from > H8 || to > H8) { return false; } if(from == to) { return false; } pieceT mover = Board[from]; pieceT captured = Board[to]; if(piece_Color(mover) != ToMove) { return false; } if(piece_Color(captured) == ToMove) { return false; } if(sm->movingPiece != mover) { return false; } mover = piece_Type(mover); if(sm->promote != EMPTY && mover != PAWN) { return false; } if(mover == PAWN) { rankT rfrom = square_Rank(from); rankT rto = square_Rank(to); if(ToMove == BLACK) { rfrom = RANK_8 - rfrom; rto = RANK_8 - rto; } int rdiff = (int)rto - (int)rfrom; int fdiff = (int)square_Fyle(to) - (int)square_Fyle(from); if(rdiff < 1 || rdiff > 2) { return false; } if(fdiff < -1 || fdiff > 1) { return false; } if(fdiff == 0) // Pawn push: { if(captured != EMPTY) { return false; } if(rdiff == 2) // Two-square push: { if(rfrom != RANK_2) { return false; } // Make sure the square in between is empty: squareT midsquare = from + ((to - from) / 2); if(Board[midsquare] != EMPTY) { return false; } } } else // Pawn capture: { if(rdiff != 1) { return false; } if(captured == EMPTY) { // It must be en passant, or illegal if(to != EPTarget) { return false; } } } // Check the promotion piece: if(rto == RANK_8) { pieceT p = sm->promote; if(p != QUEEN && p != ROOK && p != BISHOP && p != KNIGHT) { return false; } } else { if(sm->promote != EMPTY) { return false; } } } else if(piece_IsSlider(mover)) { // Make sure the direction is valid: directionT dir = sqDir[from][to]; if(dir == NULL_DIR) { return false; } if(mover == ROOK && direction_IsDiagonal(dir)) { return false; } if(mover == BISHOP && !direction_IsDiagonal(dir)) { return false; } int delta = direction_Delta(dir); // Make sure all the in-between squares are empty: squareT dest = from + delta; while(dest != to) { if(Board[dest] != EMPTY) { return false; } dest += delta; } } else if(mover == KNIGHT) { if(! square_IsKnightHop(from, to)) { return false; } } else /* (mover == KING) */ { colorT enemy = color_Flip(ToMove); if(square_Adjacent(to, GetKingSquare(enemy))) { return false; } if(! square_Adjacent(from, to)) { // The move must be castling, or illegal. if(IsKingInCheck()) { return false; } MoveList mlist; GenCastling(&mlist); return (mlist.Find(sm) >= 0); } } // The move looks good, but does it leave the king in check? squareT kingSq = (mover == KING) ? to : GetKingSquare(ToMove); colorT enemy = color_Flip(ToMove); DoSimpleMove(sm); unsigned int nchecks = CalcAttacks(enemy, kingSq, NULL); UndoSimpleMove(sm); return (nchecks == 0); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::MatchLegalMove(): // Sets the LegalMoves list to contain all the moves of pieces // of type "mask" that move to the square "target". // The type must be QUEEN, ROOK, BISHOP, or KNIGHT. // Pawn and King moves are handled in separate functions, // MatchKingMove() and MatchPawnMove(). // void Position::MatchLegalMove(MoveList * mlist, pieceT mask, squareT target) { unsigned int x; // This function isn't for Pawn or King moves! ASSERT(mask != PAWN && mask != KING); if(mlist == NULL) { ClearLegalMoves(); mlist = LegalMoves; } mlist->clear(); unsigned int count = 0; unsigned int total = Material[piece_Make(ToMove, mask)]; pieceT p, pt, captured; squareT kingSq = GetKingSquare(ToMove); directionT dir; unsigned int tryMove = 0; // First, verify that the target square is empty or contains // an enemy piece: p = Board[target]; if(p != EMPTY && piece_Color(p) == ToMove) { return; } // Loop through looking for pieces of type "mask". We start at 1 // since the King is always the piece at position 0 in the list. squareT * sqPtr = &(List[ToMove][1]); for(x = 1; x < Count[ToMove] && count < total; ++x, ++sqPtr) { p = Board[*sqPtr]; pt = piece_Type(p); if(pt == mask) { // Increment count so we stop when we've seen all the // Material[p] pieces of this type. tryMove = 0; ++count; squareT sq; switch(pt) { case KNIGHT: if(square_IsKnightHop(*sqPtr, target)) { tryMove = 1; } break; case ROOK: dir = sqDir[*sqPtr][target]; if(dir != NULL_DIR && !direction_IsDiagonal(dir)) { sq = square_Move(*sqPtr, dir); tryMove = 1; while(sq != target) { if(Board[sq] != EMPTY) // oops, piece in the way { tryMove = 0; break; } sq = square_Move(sq, dir); } } break; case BISHOP: dir = sqDir[*sqPtr][target]; if(direction_IsDiagonal(dir)) { sq = square_Move(*sqPtr, dir); tryMove = 1; while(sq != target) { if(Board[sq] != EMPTY) // oops, piece in the way { tryMove = 0; break; } sq = square_Move(sq, dir); } } break; case QUEEN: dir = sqDir[*sqPtr][target]; if(dir != NULL_DIR) // Try the move! { sq = square_Move(*sqPtr, dir); tryMove = 1; while(sq != target) { if(Board[sq] != EMPTY) // oops, piece in the way { tryMove = 0; break; } sq = square_Move(sq, dir); } } break; default: // Should never happen ASSERT(0); } // Now, if tryMove is 1, the piece can get to target. We need // to see if the move is legal or leaves the king in check. if(tryMove == 1) { captured = Board[target]; Board[target] = p; Board[*sqPtr] = EMPTY; if(CalcNumChecks(kingSq) > 0) { tryMove = 0; } Board[*sqPtr] = p; Board[target] = captured; if(tryMove == 1) { AddLegalMove(mlist, *sqPtr, target, EMPTY); } } } } // Ok, we've searched all the pieces. return; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::MatchPawnMove(): // Sets the LegalMoves list to contain the matching pawn move, // if there is one. // errorT Position::MatchPawnMove(MoveList * mlist, fyleT fromFyle, squareT to, pieceT promote) { mlist->clear(); signed int diff = (int)square_Fyle(to) - (int)fromFyle; if(diff < -1 || diff > 1) { return ERROR_InvalidMove; } pieceT pawn; rankT toRank = square_Rank(to); fyleT toFyle = square_Fyle(to); rankT promoteRank = (ToMove == WHITE ? RANK_8 : RANK_1); // from is the from square; backup is the alternative from square // for a pawn move two squares forward. squareT from, backup = NS; if(ToMove == WHITE) { pawn = WP; promoteRank = RANK_8; if(toRank < RANK_3) { return ERROR_InvalidMove; } from = square_Make(fromFyle, toRank - 1); if(toRank == RANK_4 && fromFyle == toFyle) { backup = to - 16; } } else { pawn = BP; promoteRank = RANK_1; if(toRank > RANK_6) { return ERROR_InvalidMove; } from = square_Make(fromFyle, toRank + 1); if(toRank == RANK_5 && fromFyle == toFyle) { backup = to + 16; } } // See if the promotion piece is valid: if(toRank == promoteRank) { if(promote == EMPTY) { return ERROR_InvalidMove; } } else { if(promote != EMPTY) { return ERROR_InvalidMove; } } if(Board[from] != pawn) { // No match; but it could be a foward-two-squares move: if(backup == NS || Board[from] != EMPTY || Board[backup] != pawn) { // A forward-two-squares move is impossible. return ERROR_InvalidMove; } from = backup; } // OK, now 'from' is the only possible from-square. Is the move legal? // We make the move on the board and see if the King is in check. unsigned int legal = 0; if(fromFyle == toFyle) { // Not a capture: if(Board[to] != EMPTY) { return ERROR_InvalidMove; } Board[to] = pawn; Board[from] = EMPTY; if(CalcNumChecks(GetKingSquare()) == 0) { legal = 1; } Board[to] = EMPTY; Board[from] = pawn; } else { // It is a capture -- is it legal? pieceT captured = Board[to]; if(captured == EMPTY) { // Must be an en passant or illegal move. if(to != EPTarget) { return ERROR_InvalidMove; } squareT epSquare = square_Make(toFyle, square_Rank(from)); pieceT enemyPawn = piece_Make(color_Flip(ToMove), PAWN); // If following assert fails, eptarget was corrupt ASSERT(Board[epSquare] == enemyPawn); Board[to] = pawn; Board[from] = EMPTY; Board[epSquare] = EMPTY; Material[enemyPawn] --; if(CalcNumChecks(GetKingSquare()) == 0) { legal = 1; } Board[epSquare] = enemyPawn; Board[to] = EMPTY; Board[from] = pawn; Material[enemyPawn]++; } else { if(piece_Color(captured) == ToMove) { // Capturing a friendly! return ERROR_InvalidMove; } else { // A regular capture. See if it leaves King in check: Board[to] = pawn; Board[from] = EMPTY; Material[captured]--; if(CalcNumChecks(GetKingSquare()) == 0) { legal = 1; } Material[captured]++; Board[to] = captured; Board[from] = pawn; } } } if(legal == 1) { AddLegalMove(mlist, from, to, promote); return OK; } return ERROR_InvalidMove; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::MatchKingMove(): // Sets the LegalMoves list to contain the matching king move, // if there is one. // errorT Position::MatchKingMove(MoveList * mlist, squareT target) { mlist->clear(); squareT kingSq = GetKingSquare(ToMove); signed int diff = (int)target - (int) kingSq; // Valid diffs are: -9, -8, -7, -2, -1, 1, 2, 7, 8, 9. (-2,2: Castling) if(diff < -9 || diff > 9) { return ERROR_InvalidMove; } if(diff > -7 && diff < -2) { return ERROR_InvalidMove; } if(diff > 2 && diff < 7) { return ERROR_InvalidMove; } if(diff == 0) { return ERROR_InvalidMove; } if(diff == 2) // KingSide Castling { if(kingSq != (ToMove == WHITE ? E1 : E8)) { return ERROR_InvalidMove; } if(StrictCastling && ! GetCastling(ToMove, KSIDE)) { return ERROR_InvalidMove; } // XXX We also need to verify that the target square does not // lie adjacent to the location of the enemy king! if(Board[kingSq + 1] != EMPTY || Board[kingSq + 2] != EMPTY || CalcNumChecks(kingSq) > 0 || CalcNumChecks(kingSq + 1) > 0 || CalcNumChecks(kingSq + 2) > 0) { return ERROR_InvalidMove; } AddLegalMove(mlist, kingSq, target, EMPTY); return OK; } if(diff == -2) // Queenside Castling { if(kingSq != (ToMove == WHITE ? E1 : E8)) { return ERROR_InvalidMove; } if(StrictCastling && ! GetCastling(ToMove, QSIDE)) { return ERROR_InvalidMove; } if(Board[kingSq - 1] != EMPTY || Board[kingSq - 2] != EMPTY || Board[kingSq - 3] != EMPTY || CalcNumChecks(kingSq) > 0 || CalcNumChecks(kingSq - 1) > 0 || CalcNumChecks(kingSq - 2) > 0) { return ERROR_InvalidMove; } AddLegalMove(mlist, kingSq, target, EMPTY); return OK; } pieceT captured = Board[target]; if(piece_Color(captured) == ToMove) { // Capturing a friendly piece! return ERROR_InvalidMove; } // Now make the move on the Board and Material lists, and see if it // leaves the King in check: // XXX We should also check for adjacency to enemy King!! Board[target] = piece_Make(ToMove, KING); Board[kingSq] = EMPTY; if(captured != EMPTY) { Material[captured]--; } unsigned int legal = 0; if(CalcNumChecks(target) == 0) { legal = 1; } if(captured != EMPTY) { Material[captured]++; } Board[target] = captured; Board[kingSq] = piece_Make(ToMove, KING); if(legal == 1) { AddLegalMove(mlist, kingSq, target, EMPTY); return OK; } return ERROR_InvalidMove; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GenCheckEvasions(): // Generate legal moves for the side to move when the // King is in check. // void Position::GenCheckEvasions(MoveList * mlist, pieceT mask, genMovesT genType, SquareList * checkSquares) { unsigned int numChecks = checkSquares->Size(); // Assert that king IS actually in check: ASSERT(numChecks > 0); bool genNonCaptures = ((genType & GEN_NON_CAPS) != 0); bool capturesOnly = !genNonCaptures; mlist->clear(); squareT king = GetKingSquare(ToMove); // if it's double check, we can ONLY move the king if(numChecks == 1) { // OK, it is NOT a double check // Try to block piece/capture piece. Remember en passant! // First, generate a list of targets: squares between the king // and attacker to block, and the attacker's square. squareT attackSq = checkSquares->Get(0); directionT dir = sqDir[king][attackSq]; SquareSet targets; // Set of blocking/capturing squares. targets.Add(attackSq); // Now add squares we can might be able to block on. if(dir != NULL_DIR) { squareT sq = square_Move(king, dir); while(sq != attackSq) { if(Board[sq] == EMPTY) { targets.Add(sq); } sq = square_Move(sq, dir); } } // Try each non-King piece in turn. If a piece is pinned to // the king, don't bother since it cannot possibly block or // capture the piece that is giving check! unsigned int numPieces = Count[ToMove]; for(unsigned int p2 = 1; p2 < numPieces; ++p2) { squareT from = List[ToMove][p2]; pieceT p2piece = Board[from]; if(Pinned[p2] != NULL_DIR) { continue; } if(mask == EMPTY || mask == piece_Type(p2piece)) { if(piece_Type(p2piece) == PAWN) { GenPawnMoves(mlist, from, NULL_DIR, &targets, genType); // Capturing a pawn en passant will only get out // of check if the pawn that moved two squares // is doing the checking. If it is not, that means // a discovered check with the last pawn move so // taking en passant cannot get out of check. if(EPTarget != NULL_SQUARE) { squareT pawnSq = (ToMove == WHITE ? EPTarget - 8 : EPTarget + 8); if(pawnSq == attackSq) { SquareSet epset; epset.Add(EPTarget); GenPawnMoves(mlist, from, NULL_DIR, &epset, genType); } } } else { GenPieceMoves(mlist, from, &targets, capturesOnly); } } } // end of search for captures/blocks } // Now king moves -- just compute them normally: if(mask == EMPTY || mask == KING) { GenKingMoves(mlist, genType, false); } return; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::CalcAttacks(): // Calculate the number of attacks by a side on a square. // This function also puts a list of the attacking piece squares // in the fromSqs parameter if it is non-NULL. // // It ONLY uses the Board[] and Material[] lists of the Position, and // ASSUMES they are correct with respect to each other, but it does // NOT use the List[] or ListPos[] information. // This allows us to move pieces quickly (altering only Board[] and // Material[]) and detect whether they leave the king in check, // without having to update other information. unsigned int Position::CalcAttacks(colorT side, squareT target, SquareList * fromSquares) { // If squares is NULL, caller doesn't want a list of the squares of // attacking pieces. To avoid comparing fromSquares with NULL every time // we find a check, we set up a local array to use instead if fromSquares // is NULL. SquareList fromSqs; if(fromSquares == NULL) { fromSquares = &fromSqs; } fromSquares->Clear(); squareT sq; // Bishop/Queen/Rook attacks: look at each of the 8 directions pieceT queen, rook, bishop, knight; if(side == WHITE) { queen = WQ; rook = WR; bishop = WB; knight = WN; } else { queen = BQ; rook = BR; bishop = BB; knight = BN; } unsigned int numQueensRooks = Material[queen] + Material[rook]; unsigned int numQueensBishops = Material[queen] + Material[bishop]; // We only bother if there are any sliding pieces of each type: if(numQueensRooks > 0) { fyleT fyle = square_Fyle(target); rankT rank = square_Rank(target); directionT dirs[4]; unsigned int ndirs = 0; if(FyleCount(queen, fyle) + FyleCount(rook, fyle) > 0) { dirs[ndirs++] = UP; dirs[ndirs++] = DOWN; } if(RankCount(queen, rank) + RankCount(rook, rank) > 0) { dirs[ndirs++] = LEFT; dirs[ndirs++] = RIGHT; } for(unsigned int i = 0; i < ndirs; ++i) { directionT dir = dirs[i]; int delta = direction_Delta(dir); squareT dest = target; squareT last = square_Last(target, dir); while(dest != last) { dest += delta; pieceT p = Board[dest]; if(p == EMPTY) { // empty square: keep searching } else if(p == queen || p == rook) { // Found an attacking piece fromSquares->Add(dest); break; } else { // Found a piece, but not a queen or rook break; } } } } // Now diagonal sliders: Queens/Bishops: if(numQueensBishops > 0) { leftDiagT left = square_LeftDiag(target); rightDiagT right = square_RightDiag(target); directionT dirs[4]; unsigned int ndirs = 0; if(LeftDiagCount(queen, left) + LeftDiagCount(bishop, left) > 0) { dirs[ndirs++] = UP_LEFT; dirs[ndirs++] = DOWN_RIGHT; } if(RightDiagCount(queen, right) + RightDiagCount(bishop, right) > 0) { dirs[ndirs++] = UP_RIGHT; dirs[ndirs++] = DOWN_LEFT; } for(unsigned int i = 0; i < ndirs; i++) { directionT dir = dirs[i]; int delta = direction_Delta(dir); squareT dest = target; squareT last = square_Last(target, dir); while(dest != last) { dest += delta; pieceT p = Board[dest]; if(p == EMPTY) { // empty square: keep searching } else if(p == queen || p == bishop) { // Found an attacking piece fromSquares->Add(dest); break; } else { // Found a piece, but not an enemy queen or bishop break; } } } } // Now knight checks: we only bother if there is a knight on the // opposite square color of the target square color. if(Material[knight] > 0 && SquareColorCount(knight, color_Flip(square_Color(target))) > 0) { const squareT * destPtr = knightAttacks[target]; while(true) { squareT dest = *destPtr; if(dest == NULL_SQUARE) { break; } if(Board[dest] == knight) { fromSquares->Add(dest); } destPtr++; } } // Now pawn attacks: if(side == WHITE) { if(square_Rank(target) != RANK_1) //if (Material[WP] > 0) { { sq = square_Move(target, DOWN_LEFT); if(Board[sq] == WP) { fromSquares->Add(sq); } sq = square_Move(target, DOWN_RIGHT); if(Board[sq] == WP) { fromSquares->Add(sq); } } } else { if(square_Rank(target) != RANK_8) //if (Material[BP] > 0) { { sq = square_Move(target, UP_LEFT); if(Board[sq] == BP) { fromSquares->Add(sq); } sq = square_Move(target, UP_RIGHT); if(Board[sq] == BP) { fromSquares->Add(sq); } } } return fromSquares->Size(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::IsKingInCheckDir // Returns true if the King of the side to move is attacked // by an enemy sliding piece (Queen/Rook/Bishop) from the // specified direction. bool Position::IsKingInCheckDir(directionT dir) { ASSERT(dir != NULL_DIR); squareT kingSq = GetKingSquare(ToMove); colorT enemy = color_Flip(ToMove); bool isDiagonal = direction_IsDiagonal(dir); pieceT queen = piece_Make(enemy, QUEEN); pieceT slider = piece_Make(enemy, (isDiagonal ? BISHOP : ROOK)); // First, make sure the enemy has sliding pieces that could give check: unsigned int nSliders = PieceCount(queen) + PieceCount(slider); if(nSliders == 0) { return false; } // Now make sure the enemy has a sliding piece on the appropriate // rank, file or diagonal: fyleT fyle = square_Fyle(kingSq); rankT rank = square_Rank(kingSq); leftDiagT ldiag = square_LeftDiag(kingSq); rightDiagT rdiag = square_RightDiag(kingSq); switch(dir) { case UP: case DOWN: nSliders = FyleCount(queen, fyle) + FyleCount(slider, fyle); break; case LEFT: case RIGHT: nSliders = RankCount(queen, rank) + RankCount(slider, rank); break; case UP_LEFT: case DOWN_RIGHT: nSliders = LeftDiagCount(queen, ldiag) + LeftDiagCount(slider, ldiag); break; case UP_RIGHT: case DOWN_LEFT: nSliders = RightDiagCount(queen, rdiag) + RightDiagCount(slider, rdiag); break; } if(nSliders == 0) { return false; } // Now move along the specified direction looking for a checking piece: squareT dest = kingSq; squareT last = square_Last(kingSq, dir); int delta = direction_Delta(dir); while(dest != last) { dest += delta; pieceT p = Board[dest]; if(p == EMPTY) { // empty square: keep searching } else if(p == queen || p == slider) { // Found an checking slider piece return true; } else { // Found a piece, but not an enemy queen or rook/bishop break; } } return false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::IsKingInCheck // Returns true if the king of the side to move is in check. // If the specified move is not NULL, it must be the legal move // that the opponent played to reach this position. This will // be used as a speed optimization, by skipping cases where the // move could not have left the king in check. // bool Position::IsKingInCheck(simpleMoveT * sm) { if(sm == NULL) { return IsKingInCheck(); } squareT kingSq = GetKingSquare(ToMove); pieceT p = piece_Type(sm->movingPiece); if(sm->promote != EMPTY) { p = piece_Type(sm->promote); } // No optimization of the last move was castling: if(p == KING && square_Fyle(sm->from) == E_FYLE) { fyleT toFyle = square_Fyle(sm->to); if(toFyle == C_FYLE || toFyle == G_FYLE) { return IsKingInCheck(); } } // No optimization for en passant capture: if(p == PAWN && piece_Type(sm->capturedPiece) == PAWN) { rankT fromRank = square_Rank(sm->from); rankT capturedRank = square_Rank(sm->capturedSquare); if(fromRank == capturedRank) { return IsKingInCheck(); } } if(p == PAWN) { if(ToMove == WHITE) { if(Material[BP] > 0) { squareT sq = square_Move(kingSq, UP_LEFT); if(Board[sq] == BP) { return true; } sq = square_Move(kingSq, UP_RIGHT); if(Board[sq] == BP) { return true; } } } else { if(Material[WP] > 0) { squareT sq = square_Move(kingSq, DOWN_LEFT); if(Board[sq] == WP) { return true; } sq = square_Move(kingSq, DOWN_RIGHT); if(Board[sq] == WP) { return true; } } } } else if(p == KNIGHT) { if(square_IsKnightHop(kingSq, sm->to)) { return true; } } else if(p == KING) { // A king cannot directly check its adversary. } else { // A sliding piece: directionT toDir = sqDir[kingSq][sm->to]; if(toDir != NULL_DIR && IsKingInCheckDir(toDir)) { return true; } } // Now look for a discovered check from a sliding piece: directionT dir = sqDir[kingSq][sm->from]; if(dir != NULL_DIR && IsKingInCheckDir(dir)) { return true; } ASSERT(IsKingInCheck() == false); return false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::Mobility // Returns the number of squares a rook or bishop of the specified // color would attack from the specified square. unsigned int Position::Mobility(pieceT p, colorT color, squareT from) { ASSERT(p == ROOK || p == BISHOP); unsigned int mobility = 0; directionT rookDirs[4] = { UP, DOWN, LEFT, RIGHT }; directionT bishopDirs[4] = { UP_LEFT, UP_RIGHT, DOWN_LEFT, DOWN_RIGHT }; directionT * dirPtr = (p == ROOK ? rookDirs : bishopDirs); for(unsigned int i = 0; i < 4; ++i) { directionT dir = dirPtr[i]; int delta = direction_Delta(dir); squareT dest = from; squareT last = square_Last(from, dir); while(dest != last) { dest += delta; pieceT p = Board[dest]; if(p == EMPTY) // Empty square { ++mobility; } else if(piece_Color(p) == color) // Friendly piece { break; // Finished with this direction. } else // Enemy piece { ++mobility; break; // Finished with this direction. } } } return mobility; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::SmallestDefender() // Returns the type of the lowest-valued piece of the specified // color that could capture to the specified square. Pins to the // king are ignored. Checks pieces in the order Pawn, Knight, // Bishop, Rook, Queen then King. If the specified square is // undefended, EMPTY is returned. // pieceT Position::SmallestDefender(colorT color, squareT target) { SquareList defenderSquares; pieceT defenders [16]; unsigned int numDefenders = CalcAttacks(color, target, &defenderSquares); // If the square is undefended, just return EMPTY: if(numDefenders == 0) { return EMPTY; } unsigned int i; for(i = 0; i < numDefenders; ++i) { defenders[i] = Board[defenderSquares.Get(i)]; } // Look for pawns first: for(i = 0; i < numDefenders; ++i) { if(piece_Type(defenders[i]) == PAWN) { return PAWN; } } // Look for knights then bishops: for(i = 0; i < numDefenders; ++i) { if(piece_Type(defenders[i]) == KNIGHT) { return KNIGHT; } } for(i = 0; i < numDefenders; ++i) { if(piece_Type(defenders[i]) == BISHOP) { return BISHOP; } } // Look for rooks then queens: for(i = 0; i < numDefenders; ++i) { if(piece_Type(defenders[i]) == ROOK) { return ROOK; } } for(i = 0; i < numDefenders; ++i) { if(piece_Type(defenders[i]) == QUEEN) { return QUEEN; } } // If we get here, it must be defended only by the king: ASSERT(numDefenders == 1 && piece_Type(defenders[i]) == KING); return KING; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::IsKingInMate(): // Quick check if king is in mate. // bool Position::IsKingInMate(void) { SquareList checkSquares; unsigned int numChecks = CalcNumChecks(GetKingSquare(ToMove), &checkSquares); if(numChecks == 0) { return false; } CalcPins(); MoveList mlist; GenCheckEvasions(&mlist, EMPTY, GEN_ALL_MOVES, &checkSquares); if(mlist.size() == 0) { return true; } return false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::IsLegal() // Verifies the position as being legal. // Returns false for any of the following: // - if the two kings are adjacent; // - if there are any pawns on the 1st/8th rank; // - if the side to move is already checking the enemy king. bool Position::IsLegal(void) { squareT stmKing = GetKingSquare(); squareT enemyKing = GetEnemyKingSquare(); if(square_Adjacent(stmKing, enemyKing)) { printf("Kings adjacent\n"); return false; } if(RankCount(WP, RANK_1) != 0) { return false; } if(RankCount(WP, RANK_8) != 0) { return false; } if(RankCount(BP, RANK_1) != 0) { return false; } if(RankCount(BP, RANK_8) != 0) { return false; } if(CalcAttacks(ToMove, enemyKing, NULL) > 0) { return false; } return true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::IsPromoMove(): // Returns true if the move is a promotion move. // NOTE that the move may not actually be legal! // The arguments 'from' and 'to' can be in either order. bool Position::IsPromoMove(squareT from, squareT to) { rankT seventh, eighth; pieceT pawn; if(ToMove == WHITE) { seventh = RANK_7; eighth = RANK_8; pawn = WP; } else { seventh = RANK_2; eighth = RANK_1; pawn = BP; } rankT fromR, toR; fromR = square_Rank(from); toR = square_Rank(to); if((fromR == seventh && toR == eighth && Board[from] == pawn) || (toR == seventh && fromR == eighth && Board[to] == pawn)) { return 1; } return 0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::DoSimpleMove(): // Make the move on the board and update all the necessary // fields in the simpleMove structure so it can be undone. // void Position::DoSimpleMove(simpleMoveT * sm) { ASSERT(sm != NULL); squareT from = sm->from; squareT to = sm->to; pieceT p = Board[from]; pieceT ptype = piece_Type(p); colorT enemy = color_Flip(ToMove); ASSERT(p != EMPTY); // update move fields that (maybe) have not yet been set: sm->pieceNum = ListPos[from]; sm->capturedPiece = Board[to]; sm->capturedSquare = to; sm->castleFlags = Castling; sm->epSquare = EPTarget; sm->oldHalfMoveClock = HalfMoveClock; HalfMoveClock++; PlyCounter++; // Check for a null (empty) move: if(isNullMove(sm)) { ToMove = enemy; EPTarget = NULL_SQUARE; return; } // Handle en passant capture: if(ptype == PAWN && sm->capturedPiece == EMPTY && square_Fyle(from) != square_Fyle(to)) { // This was an EP capture. We do not need to check it was a capture // since if a pawn lands on EPTarget it must capture to get there. pieceT enemyPawn = piece_Make(enemy, PAWN); sm->capturedSquare = (ToMove == WHITE ? (to - 8) : (to + 8)); ASSERT(Board[sm->capturedSquare] == enemyPawn); sm->capturedPiece = enemyPawn; } // handle captures: if(sm->capturedPiece != EMPTY) { ASSERT(piece_Type(sm->capturedPiece) != KING); sm->capturedNum = ListPos[sm->capturedSquare]; // update opponents List of pieces Count[enemy]--; ListPos[List[enemy][Count[enemy]]] = sm->capturedNum; List[enemy][sm->capturedNum] = List[enemy][Count[enemy]]; Material[sm->capturedPiece]--; HalfMoveClock = 0; RemoveFromBoard(sm->capturedPiece, sm->capturedSquare); } // handle promotion: if(sm->promote != EMPTY) { ASSERT(p == piece_Make(ToMove, PAWN)); Material[p]--; RemoveFromBoard(p, from); p = piece_Make(ToMove, sm->promote); Material[p]++; AddToBoard(p, from); } // now make the move: List[ToMove][sm->pieceNum] = to; ListPos[to] = sm->pieceNum; RemoveFromBoard(p, from); AddToBoard(p, to); // handle Castling: if(ptype == KING && square_Fyle(from) == E_FYLE && (square_Fyle(to) == C_FYLE || square_Fyle(to) == G_FYLE)) { squareT rookfrom, rookto; pieceT rook = piece_Make(ToMove, ROOK); if(square_Fyle(to) == C_FYLE) { rookfrom = to - 2; rookto = to + 1; } else { rookfrom = to + 1; rookto = to - 1; } ListPos[rookto] = ListPos[rookfrom]; List[ToMove][ListPos[rookto]] = rookto; RemoveFromBoard(rook, rookfrom); AddToBoard(rook, rookto); } // Handle clearing of castling flags: if(Castling) { if(ptype == KING) // The king moved. { SetCastling(ToMove, QSIDE, false); SetCastling(ToMove, KSIDE, false); } // See if a rook moved or was captured: if(ToMove == WHITE) { if(from == A1) { SetCastling(WHITE, QSIDE, false); } if(from == H1) { SetCastling(WHITE, KSIDE, false); } if(to == A8) { SetCastling(BLACK, QSIDE, false); } if(to == H8) { SetCastling(BLACK, KSIDE, false); } } else { if(from == A8) { SetCastling(BLACK, QSIDE, false); } if(from == H8) { SetCastling(BLACK, KSIDE, false); } if(to == A1) { SetCastling(WHITE, QSIDE, false); } if(to == H1) { SetCastling(WHITE, KSIDE, false); } } } // Set the EPTarget square, if a pawn advanced two squares and an // enemy pawn is on a square where en passant may be possible. EPTarget = NULL_SQUARE; if(ptype == PAWN) { rankT fromRank = square_Rank(from); rankT toRank = square_Rank(to); if(fromRank == RANK_2 && toRank == RANK_4 && (Board[square_Move(to, LEFT)] == BP || Board[square_Move(to, RIGHT)] == BP)) { EPTarget = square_Move(from, UP); } if(fromRank == RANK_7 && toRank == RANK_5 && (Board[square_Move(to, LEFT)] == WP || Board[square_Move(to, RIGHT)] == WP)) { EPTarget = square_Move(from, DOWN); } HalfMoveClock = 0; // 50-move clock resets on pawn moves. } ToMove = enemy; #ifdef ASSERTIONS // Do a SLOW, careful check for corruption: if(AssertPos() != OK) { abort(); } #endif return; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::UndoSimpleMove(): // Take back a simple move that has been made with DoSimpleMove(). // void Position::UndoSimpleMove(simpleMoveT * m) { ASSERT(m != NULL); squareT from = m->from; squareT to = m->to; pieceT p = Board[to]; EPTarget = m->epSquare; Castling = m->castleFlags; HalfMoveClock = m->oldHalfMoveClock; PlyCounter--; ToMove = color_Flip(ToMove); m->pieceNum = ListPos[to]; // Check for a null move: if(isNullMove(m)) { return; } // Handle a capture: insert piece back into piecelist. // This works for EP captures too, since the square of the captured // piece is in the "capturedSquare" field rather than assuming the // value of the "to" field. The only time these two fields are // different is for an en passant move. if(m->capturedPiece != EMPTY) { colorT c = color_Flip(ToMove); ListPos[List[c][m->capturedNum]] = Count[c]; ListPos[m->capturedSquare] = m->capturedNum; List[c][Count[c]] = List[c][m->capturedNum]; List[c][m->capturedNum] = m->capturedSquare; Material[m->capturedPiece]++; Count[c]++; } // handle promotion: if(m->promote != EMPTY) { Material[p]--; RemoveFromBoard(p, to); p = piece_Make(ToMove, PAWN); Material[p]++; AddToBoard(p, to); } // now make the move: List[ToMove][m->pieceNum] = from; ListPos[from] = m->pieceNum; RemoveFromBoard(p, to); AddToBoard(p, from); if(m->capturedPiece != EMPTY) { AddToBoard(m->capturedPiece, m->capturedSquare); } // handle Castling: if((piece_Type(p) == KING) && square_Fyle(from) == E_FYLE && (square_Fyle(to) == C_FYLE || square_Fyle(to) == G_FYLE)) { squareT rookfrom, rookto; pieceT rook = (ToMove == WHITE ? WR : BR); if(square_Fyle(to) == C_FYLE) { rookfrom = to - 2; rookto = to + 1; } else { rookfrom = to + 1; rookto = to - 1; } ListPos[rookfrom] = ListPos[rookto]; List[ToMove][ListPos[rookto]] = rookfrom; RemoveFromBoard(rook, rookto); AddToBoard(rook, rookfrom); } #ifdef ASSERTIONS if(AssertPos() != OK) { abort(); } #endif return; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::RelocatePiece(): // Given a from-square and to-square, modifies the position so // the piece on the from-square is relocated to the to-square. // Returns an error if the from square is empty, or the target // square is not empty, or the relocation would otherwise // produce an illegal position (e.g. pawn on the 1st or 8th rank // or a King in check). // errorT Position::RelocatePiece(squareT fromSq, squareT toSq) { // Must have on-board squares: if(fromSq == NS || toSq == NS) { return ERROR_General; } // If squares are identical, just return success: if(fromSq == toSq) { return OK; } pieceT piece = Board[fromSq]; pieceT ptype = piece_Type(piece); colorT pcolor = piece_Color(piece); // Must be relocating a nonempty piece to an empty square: if(piece == EMPTY || Board[toSq] != EMPTY) { return ERROR_General; } // Pawns cannot relocate to the first or last rank: if(ptype == PAWN) { rankT toRank = square_Rank(toSq); if(toRank == RANK_1 || toRank == RANK_8) { return ERROR_General; } } // Locate the piece index in the appropriate list of pieces: unsigned int index = ListPos[fromSq]; ASSERT(List[pcolor][index] == fromSq); // Relocate the piece: List[pcolor][index] = toSq; ListPos[toSq] = index; RemoveFromBoard(piece, fromSq); AddToBoard(piece, toSq); // Check for adjacent kings or side to move giving check: if(! IsLegal()) { // Undo the relocation and return error: List[pcolor][index] = fromSq; RemoveFromBoard(piece, toSq); AddToBoard(piece, fromSq); return ERROR_General; } // Relocation successful: return OK; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::MaterialValue(): // Returns the sum value of material for a particular side, // where piece values are: // King: 0 (since both sides always have one) // Queen: 9 // Rook: 5 // Bishop, Knight: 3 each // Pawn: 1 unsigned int Position::MaterialValue(colorT c) { ASSERT(c == WHITE || c == BLACK); unsigned int value = 0; if(c == WHITE) { value += 9 * PieceCount(WQ); value += 5 * PieceCount(WR); value += 3 * PieceCount(WB); value += 3 * PieceCount(WN); value += 1 * PieceCount(WP); } else { value += 9 * PieceCount(BQ); value += 5 * PieceCount(BR); value += 3 * PieceCount(BB); value += 3 * PieceCount(BN); value += 1 * PieceCount(BP); } return value; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::MakeSANString(): // Make the SAN string for a simpleMove. // The parameter 'sanFlag' indicates whether '+' and '#' symbols // should be added to checking or mating moves. // void Position::MakeSANString(simpleMoveT * m, char * s, sanFlagT flag) { ASSERT(m != NULL && s != NULL); // Make sure m->pieceNum is updated: m->pieceNum = ListPos[m->from]; pieceT p = piece_Type(Board[List[ToMove][m->pieceNum]]); squareT from = List[ToMove][m->pieceNum]; squareT to = m->to; char * c = s; if(p == PAWN) { if(square_Fyle(from) != square_Fyle(to)) // pawn capture { *c++ = square_FyleChar(from); *c++ = 'x'; } *c++ = square_FyleChar(to); *c++ = square_RankChar(to); if((square_Rank(to) == RANK_1) || (square_Rank(to) == RANK_8)) { *c++ = '='; *c++ = piece_Char(m->promote); } } else if(p == KING) { if(isNullMove(m)) { //*c++ = 'n'; *c++ = 'u'; *c++ = 'l'; *c++ = 'l'; *c++ = '-'; *c++ = '-'; } else if((square_Fyle(from) == E_FYLE) && (square_Fyle(to) == G_FYLE)) { *c++ = 'O'; *c++ = '-'; *c++ = 'O'; } else if((square_Fyle(from) == E_FYLE) && (square_Fyle(to) == C_FYLE)) { *c++ = 'O'; *c++ = '-'; *c++ = 'O'; *c++ = '-'; *c++ = 'O'; } else // regular King move { *c++ = 'K'; if(Board[to] != EMPTY) { *c++ = 'x'; } *c++ = square_FyleChar(to); *c++ = square_RankChar(to); } } else // Queen/Rook/Bishop/Knight { *c++ = piece_Char(p); // We only need to calculate legal moves to disambiguate if there // are more than one of this type of piece. if(Material[Board[m->from]] < 2) { if(Board[to] != EMPTY) { *c++ = 'x'; } *c++ = square_FyleChar(to); *c++ = square_RankChar(to); } else { // disambiguate moves here: // SHOULD handle 3-way ambiguity! Looks like it does ok. bool ambiguous_fyle = false; bool ambiguous_rank = false; char r, f, r2, f2; f = square_FyleChar(from); r = square_RankChar(from); MoveList mlist; MatchLegalMove(&mlist, p, to); for(unsigned int i = 0; (int) i < mlist.size(); i++) { simpleMoveT * m2 = mlist.Get(i); squareT from2 = m2->from; pieceT p2 = piece_Type(Board[from2]); if((to == m2->to) && (from != from2) && (p2 == p)) { /* we have an ambiguity */ f2 = square_FyleChar(from2); r2 = square_RankChar(from2); if(f == f2) // ambiguous fyle, so print rank { ambiguous_fyle = true; } else // ambiguous rank, so print fyle { ambiguous_rank = true; } } } if(ambiguous_rank) { *c++ = f; // print from-fyle } if(ambiguous_fyle) { *c++ = r; // print from-rank } if(Board[to] != EMPTY) { *c++ = 'x'; } *c++ = square_FyleChar(to); *c++ = square_RankChar(to); } } // Now do the check or mate symbol: if(flag != SAN_NO_CHECKTEST) { // Now we make the move to test for check: DoSimpleMove(m); if(CalcNumChecks(GetKingSquare()) > 0) { char ch = '+'; if(flag == SAN_MATETEST) { MoveList mlist; GenerateMoves(&mlist); if(mlist.size() == 0) { ch = '#'; } } *c++ = ch; } UndoSimpleMove(m); } *c = 0; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::ReadCoordMove(): // Given a non-promotion move in coordinate notation, // e.g. "e2e4" or "g1f3", generates the legal move it represents. // Returns: OK or ERROR_InvalidMove. // If "reverse" is true, coordinates in reverse order are acceptable, // e.g. "f3g1" for 1.Nf3. // errorT Position::ReadCoordMove(simpleMoveT * m, const char * str, bool reverse) { ASSERT(m != NULL && str != NULL); fyleT fromFyle, toFyle; rankT fromRank, toRank; squareT from, to; pieceT promo = EMPTY; unsigned int slen = strLength(str); if(slen == 5) { promo = piece_FromChar(toupper(str[4])); } else if(slen != 4) { return ERROR_InvalidMove; } fromFyle = fyle_FromChar(str[0]); fromRank = rank_FromChar(str[1]); from = square_Make(fromFyle, fromRank); if(from == NS) { return ERROR_InvalidMove; } toFyle = fyle_FromChar(str[2]); toRank = rank_FromChar(str[3]); to = square_Make(toFyle, toRank); if(to == NS) { return ERROR_InvalidMove; } GenerateMoves(); for(unsigned int i = 0; (int) i < LegalMoves->size(); i++) { simpleMoveT * sm = LegalMoves->Get(i); if(sm->promote == promo) { if(sm->from == from && sm->to == to) { *m = *sm; return OK; } if(reverse && sm->to == from && sm->from == to) { *m = *sm; return OK; } } } return ERROR_InvalidMove; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::ReadMove(): // Given a move in (possibly sloppy) PGN notation, // generates the legal move it corresponds to. // Returns: OK or ERROR_InvalidMove. // errorT Position::ReadMove(simpleMoveT * m, const char * str, tokenT token) { ASSERT(m != NULL && str != NULL); const char * s = str; char mStr [255]; pieceT p; squareT from = NS; squareT to = NS; rankT frRank, toRank; fyleT frFyle, toFyle; MoveList mlist; mlist.clear(); // Check for a null move: if(token == TOKEN_Move_Null) { m->pieceNum = 0; m->from = GetKingSquare(ToMove); m->to = m->from; m->movingPiece = Board[m->from]; m->promote = EMPTY; return OK; } // Strip out 'x', '-', etc leaving just pieces, files and ranks: char * s2 = mStr; unsigned int slen = 0; while(!isspace(*s) && *s != '\0') { if((isalpha(*s) && (*s != 'x')) || isdigit(*s) || *s == '=') { *s2 = *s; s2++; slen++; } s++; } *s2 = '\0'; s = mStr; // Pawn moves: if(token == TOKEN_Move_Pawn || token == TOKEN_Move_Promote) { pieceT promo = EMPTY; if(token == TOKEN_Move_Promote) { // Last char must be Q/R/B/N. // Accept the move even if it is of the form "a8Q" not "a8=Q": // if (s[slen-2] != '=') { return ERROR_InvalidMove; } promo = piece_FromChar(toupper(s[slen - 1])); if(promo != QUEEN && promo != ROOK && promo != KNIGHT && promo != BISHOP) { return ERROR_InvalidMove; } slen--; if(s[slen - 1] == '=') { slen--; } } else { // Check if it is a coordinates-style move, in which case it // could be any piece: if(slen >= 4 && islower(s[0]) && isdigit(s[1]) && islower(s[slen - 2]) && isdigit(s[slen - 1])) { return ReadCoordMove(m, str, false); } } // First char MUST be a fyle: if(*s < 'a' || *s > 'h') { return ERROR_InvalidMove; } frFyle = fyle_FromChar(s[0]); // Check for the compact form of capture with no rank, // e.g. "ed" or "de=Q": if(slen == 2 && (s[1] >= 'a' && s[1] <= 'h')) { toFyle = fyle_FromChar(s[1]); // Check each rank in turn, looking for the capture: for(rankT r = RANK_1; r <= RANK_8; ++r) { to = square_Make(toFyle, r); if(MatchPawnMove(&mlist, frFyle, to, promo) == OK) { *m = *(mlist.Get(0)); return OK; } } // It is NOT a valid capture with no rank: return ERROR_InvalidMove; } toFyle = fyle_FromChar(s[slen - 2]); toRank = rank_FromChar(s[slen - 1]); to = square_Make(toFyle, toRank); if(to == NS) { return ERROR_InvalidMove; } if(MatchPawnMove(&mlist, frFyle, to, promo) != OK) { return ERROR_InvalidMove; } else { *m = *(mlist.Get(0)); return OK; } } // Here we handle piece moves, including castling if(token != TOKEN_Move_Piece) // Must be castling move { ASSERT(token == TOKEN_Move_Castle_King || token == TOKEN_Move_Castle_Queen); from = (ToMove == WHITE ? E1 : E8); if(GetKingSquare(ToMove) != from) { return ERROR_InvalidMove; } to = (token == TOKEN_Move_Castle_King ? (from + 2) : (from - 2)); if(MatchKingMove(&mlist, to) != OK) { return ERROR_InvalidMove; } else { *m = *(mlist.Get(0)); return OK; } } // If we reach here, it is a (non-castling, non-pawn) piece move. ASSERT(token == TOKEN_Move_Piece); p = piece_FromChar(*s); if(p == EMPTY) { return ERROR_InvalidMove; } if(slen < 3 || slen > 5) { return ERROR_InvalidMove; } toRank = rank_FromChar(s[slen - 1]); toFyle = fyle_FromChar(s[slen - 2]); to = square_Make(toFyle, toRank); if(to == NS) { return ERROR_InvalidMove; } frRank = NO_RANK; frFyle = NO_FYLE; if(slen > 3) { // There is some ambiguity information in the input string. for(unsigned int i = 1; i < slen - 2; ++i) // For each extra char: { if(isdigit(s[i])) { frRank = rank_FromChar(s[i]); } else if(s[i] >= 'a' && s[i] <= 'h') { frFyle = fyle_FromChar(s[i]); } } } // Calculate the matching legal move(s): if(p == KING) { if(MatchKingMove(&mlist, to) != OK) { return ERROR_InvalidMove; } else { *m = *(mlist.Get(0)); return OK; } } else // A Queen/Rook/Bishop/Knight move { MatchLegalMove(&mlist, p, to); } unsigned int i; unsigned int matchCount = 0; for(i = 0; (int) i < mlist.size(); i++) { // We need to check: (a) that to-square matches, and // (b), that from-square matches any ambiguity indicator. simpleMoveT * thisMove = mlist.Get(i); if(to == thisMove->to && (frFyle == NO_FYLE || frFyle == square_Fyle(thisMove->from)) && (frRank == NO_RANK || frRank == square_Rank(thisMove->from))) { // We have a match!! *m = *thisMove; matchCount++; } } if(matchCount == 1) { return OK; } // No match, or too many (ambiguous) moves match: return ERROR_InvalidMove; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::ParseMove(): // Parse a single move from SAN-style notation. // errorT Position::ParseMove(simpleMoveT * sm, const char * line) { const char * s; char * s2; char mStr [255]; unsigned int length = 0; tokenT token = TOKEN_Invalid; errorT err = OK; s = line; ASSERT(line != NULL); // First, strip the move string down to its raw form with no // 'x' (capture symbols), etc: while(*s != 0 && !isalpha(*s)) { ++s; } if(*s == '\0') { return ERROR_InvalidMove; } s2 = mStr; length = 0; while(!isspace(*s) && *s != '\0') { if((isalpha(*s) && (*s != 'x')) || isdigit(*s) || *s == '=') { *s2 = *s; s2++; length++; if(length >= 10) { return ERROR_InvalidMove; } } s++; } if(length == 0 || length > 10) { return ERROR_InvalidMove; } *s2 = '\0'; if(mStr[0] == 'O') { if(mStr[1] == 'O' && mStr[2] == 'O' && mStr[3] == 0) { token = TOKEN_Move_Castle_Queen; } else if(mStr[1] == 'O' && mStr[2] == 0) { token = TOKEN_Move_Castle_King; } else { return ERROR_InvalidMove; } } else if(mStr[0] == 'K' || mStr[0] == 'Q' || mStr[0] == 'R' || mStr[0] == 'B' || mStr[0] == 'N' || mStr[0] == 'r' || mStr[0] == 'k' || mStr[0] == 'q' || mStr[0] == 'n') { mStr[0] = toupper(mStr[0]); token = TOKEN_Move_Piece; } else if(mStr[0] >= 'a' && mStr[0] <= 'h') { token = TOKEN_Move_Pawn; if(!isdigit(mStr[length - 1])) { token = TOKEN_Move_Promote; } } else { return ERROR_InvalidMove; } err = ReadMove(sm, mStr, token); // If not successful, and the move started with a lower case letter, // try treating it as a piece move instead. This only affects Bishop // moves where a lower-case 'b' is used instead of 'B'. if(err != OK && token == TOKEN_Move_Pawn) { mStr[0] = toupper(mStr[0]); token = TOKEN_Move_Piece; err = ReadMove(sm, mStr, token); } if(err != OK) { return ERROR_InvalidMove; } return err; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::ReadLine(): // Parse a sequence of moves separated by whitespace and // move numbers, e.g. "1.e4 e5 2.Nf3" or "e4 e5 Nf3". // errorT Position::ReadLine(const char * line) { const char * s = line; char mStr[255]; char * s2; unsigned int length = 0; simpleMoveT sm; tokenT token = TOKEN_Invalid; errorT err; while(1) { while(*s != 0 && !isalpha(*s)) { s++; } if(*s == '\0') { return OK; } s2 = mStr; length = 0; while(!isspace(*s) && *s != '\0') { if(isalpha(*s) || isdigit(*s) || *s == '=') { *s2 = *s; s2++; length++; } s++; } *s2 = '\0'; if(*mStr == 'O') { if(mStr[1] == 'O' && mStr[2] == 'O' && mStr[3] == 0) { token = TOKEN_Move_Castle_Queen; } else if(mStr[1] == 'O' && mStr[2] == 0) { token = TOKEN_Move_Castle_King; } } else if(*mStr == 'K' || *mStr == 'Q' || *mStr == 'R' || *mStr == 'B' || *mStr == 'N' || *mStr == 'r' || *mStr == 'k' || *mStr == 'q' || *mStr == 'n') { *mStr = toupper(*mStr); token = TOKEN_Move_Piece; } else if(*mStr >= 'a' && *mStr <= 'h') { token = TOKEN_Move_Pawn; if(!isdigit(mStr[length - 1])) { token = TOKEN_Move_Promote; } } else { return ERROR_InvalidMove; } err = ReadMove(&sm, mStr, token); if(err != OK) { return err; } DoSimpleMove(&sm); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::CalcSANStrings(): // Calculate the SAN string for each move in the legal moves list. // void Position::CalcSANStrings(sanFlagT flag) { if(SANStrings == NULL) { AllocSANStrings(); } //if (SANStrings->current) return; MoveList mlist; GenerateMoves(&mlist); for(unsigned short i = 0; i < mlist.size(); ++i) { MakeSANString(mlist.Get(i), SANStrings->list[i], flag); } SANStrings->num = mlist.size(); SANStrings->current = true; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::DumpBoard(): // Dump the board to an open file. // void Position::DumpBoard(FILE * fp) { ASSERT(fp != NULL); squareT s; for(int i = 7; i >= 0; i--) { fputs(" ", fp); for(int j = 0; j < 8; ++j) { s = (i * 8) + j; putc(PIECE_CHAR[Board[s]], fp); putc(' ', fp); } putc('\n', fp); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::DumpLists(): // Dump the piece lists to an open file. // void Position::DumpLists(FILE * fp) { ASSERT(fp != NULL); unsigned int i; for(colorT c = WHITE; c <= BLACK; ++c) { for(i = 0; i < Count[c]; ++i) { pieceT p = Board[List[c][i]]; fprintf(fp, "%2d:", ListPos[List[c][i]]); putc(PIECE_CHAR[p], fp); putc(square_FyleChar(List[c][i]), fp); putc(square_RankChar(List[c][i]), fp); putc(' ', fp); } putc('\n', fp); } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::ReadFromCompactStr(): // Sets the position from the provided Null-terminated 33-unsigned char // compact string. // The first 32 bytes contain the square valued, 4 bits per value, // for the square order A1, B1, ...., G8, H8. // The next unsigned char contains the side to move, 1 for White or 2 for Black. // The final two bytes contain castling and en passant rights. // To ensure no bytes within the staring are zero-valued (so it // can be used as a regular null-terminated string), the value 1 // is added to the color, castling and en passant fields. errorT Position::ReadFromCompactStr(const unsigned char * str) { Clear(); for(unsigned int i = 0; i < 32; ++i) { pieceT p = str[i] >> 4; if(p != EMPTY) { if(AddPiece(p, i * 2) != OK) { return ERROR_Corrupt; } } p = str[i] & 15; if(p != EMPTY) { if(AddPiece(p, i * 2 + 1) != OK) { return ERROR_Corrupt; } } } colorT toMove = str[32] - 1; if(toMove != WHITE && toMove != BLACK) { return ERROR_Corrupt; } ToMove = toMove; Castling = str[33] - 1; EPTarget = str[34] - 1; return OK; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::ReadFromFEN(): // Setup the position from a FEN string. // Note: the slashes usually found in Fen strings to mark the start // of a new row do not need to be present, but if they are, they must // appear at the actual start of a new row or the string will be // considered corrupt. // // IMPORTANT: the shortcut of having a two-digit number to represent // a number of empty rows (e.g. "/24/" instead of "/8/8/8/") is NOT // accepted by this function. // // It is not considered an error for the halfmove clock or fullmove // counter to be invalid, so this routine can also read positions // from EPD lines (which only share the first four fields with FEN). errorT Position::ReadFromFEN(const char * str) { // pieceFromByte[] converts a character to its piece, e.g. 'k' -> BK. static pieceT pieceFromByte [256]; // fenSqToRealSquare[] converts a fen square (0 to 63) to its real // square. E.g: [0] -> A8, [1] -> B8, .... [63] -> H1. static squareT fenSqToRealSquare [64]; // Note the first Call to set up the static arrays only once: static int firstCall = 1; ASSERT(str != NULL); const char * s = str; int count = 0; if(firstCall) { firstCall = 0; // Set up pieceFromByte[]: for(int i = 0; i < 256; ++i) { pieceFromByte[i] = EMPTY; } pieceFromByte [(int) 'K'] = WK; pieceFromByte [(int) 'k'] = BK; pieceFromByte [(int) 'Q'] = WQ; pieceFromByte [(int) 'q'] = BQ; pieceFromByte [(int) 'R'] = WR; pieceFromByte [(int) 'r'] = BR; pieceFromByte [(int) 'B'] = WB; pieceFromByte [(int) 'b'] = BB; pieceFromByte [(int) 'N'] = WN; pieceFromByte [(int) 'n'] = BN; pieceFromByte [(int) 'P'] = WP; pieceFromByte [(int) 'p'] = BP; // Set up fenSqToRealSq[]: for(int sq = 0; sq < 64; ++sq) { fenSqToRealSquare [sq] = (squareT)((7 - (sq) / 8) * 8 + ((sq) % 8)); } } Clear(); while(count < 64) { if(*s == '/') { // A FEN string does not have to contain '/'s but if one // appears anywhere except the start of a row, it is an error: if(count % 8) { return ERROR_InvalidFEN; } } else if(*s > '0' && *s < '9') { count += (*s - '0'); } else { pieceT p = pieceFromByte [(unsigned char) * s]; if(p == EMPTY) { return ERROR_InvalidFEN; } if(AddPiece(p, fenSqToRealSquare[count]) != OK) { return ERROR_InvalidFEN; } count++; } s++; } if(Material[WK] != 1 || Material[BK] != 1) { return ERROR_InvalidFEN; } // Now the side to move: while(isspace(*s)) { s++; } switch(*s) { case 'w': SetToMove(WHITE); break; case 'b': SetToMove(BLACK); break; default: return ERROR_InvalidFEN; } s++; if(! IsLegal()) { return ERROR_InvalidFEN; } // Now the castling flags: while(isspace(*s)) { s++; } if(*s == '-') { s++; // do nothing } else if(*s == 0) { // The FEN has no castling field, so just guess that // castling is possible whenever a king and rook are // still on their starting squares: if(Board[E1] == WK) { if(Board[A1] == WR) { SetCastling(WHITE, QSIDE, true); } if(Board[H1] == WR) { SetCastling(WHITE, KSIDE, true); } } if(Board[E8] == BK) { if(Board[A8] == BR) { SetCastling(BLACK, QSIDE, true); } if(Board[H8] == BR) { SetCastling(BLACK, KSIDE, true); } } } else { while(!isspace(*s) && *s != 0) { switch(*s) { case 'Q': SetCastling(WHITE, QSIDE, true); break; case 'q': SetCastling(BLACK, QSIDE, true); break; case 'K': SetCastling(WHITE, KSIDE, true); break; case 'k': SetCastling(BLACK, KSIDE, true); break; default: return ERROR_InvalidFEN; } s++; } } // Now the EP target: while(isspace(*s)) { s++; } if(*s == 0) { // do nothing } else if(*s == '-') { EPTarget = NULL_SQUARE; s++; // No EP target } else { char fylec = *s; s++; if(fylec < 'a' || fylec > 'h') { return ERROR_InvalidFEN; } char rankc = *s; s++; if(rankc != '3' && rankc != '6') { return ERROR_InvalidFEN; } EPTarget = square_Make(fyle_FromChar(fylec), rank_FromChar(rankc)); } // Now the capture/pawn halfmove clock: while(isspace(*s)) { s++; } if(*s) { HalfMoveClock = (unsigned short) atoi(s); } while(!isspace(*s) && *s != 0) { s++; } // Finally, the fullmove counter: while(isspace(*s)) { s++; } if(*s) { int i = atoi(s); if(i >= 1) { PlyCounter = (i - 1) * 2; } } if(ToMove == BLACK) { PlyCounter++; } return OK; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::CopyFrom(): // Copy another position to this one. // void Position::CopyFrom(Position * src) { for(pieceT p = A1; p <= NS; ++p) { Board[p] = src->Board[p]; }; Count[WHITE] = src->Count[WHITE]; Count[BLACK] = src->Count[BLACK]; unsigned int i; for(i = 0; i < 64; ++i) { ListPos[i] = src->ListPos[i]; } for(i = 0; i < 16; ++i) { Material[i] = src->Material[i]; List[WHITE][i] = src->List[WHITE][i]; List[BLACK][i] = src->List[BLACK][i]; for(unsigned int j = 0; j < 8; ++j) { NumOnFyle[i][j] = src->NumOnFyle[i][j]; NumOnRank[i][j] = src->NumOnRank[i][j]; } for(unsigned int d = 0; d < 15; ++d) { NumOnLeftDiag[i][d] = src->NumOnLeftDiag[i][d]; NumOnRightDiag[i][d] = src->NumOnRightDiag[i][d]; } NumOnSquareColor[i][WHITE] = src->NumOnSquareColor[i][WHITE]; NumOnSquareColor[i][BLACK] = src->NumOnSquareColor[i][BLACK]; } EPTarget = src->EPTarget; ToMove = src->ToMove; PlyCounter = src->PlyCounter; HalfMoveClock = src->HalfMoveClock; Castling = src->Castling; Hash = src->Hash; PawnHash = src->PawnHash; return; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GetSquares // Adds to the provided square list all squares containing the specified // piece, and return the number of pieces of that type on the board. unsigned int Position::GetSquares(pieceT piece, SquareList * sqlist) { colorT color = piece_Color(piece); squareT * squares = GetList(color); unsigned int npieces = GetCount(color); for(unsigned int i = 0; i < npieces; i++) { squareT sq = squares[i]; pieceT p = Board[sq]; if(p == piece) { sqlist->Add(sq); } } return Material[piece]; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::Random // Given a string such as "KRPKR" or "KRP-kr", sets up a // random position with that material configuration. inline squareT randomSquare(void) { return random32() % 64; } inline squareT randomPawnSquare(void) { return (random32() % 48) + A2; } ////////////////////////////////////////////////////////////////////// // EOF: position.cpp ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/position.h000644 000765 000024 00000035470 12430724072 016664 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: position.h // Position class // // Part of: Scid (Shane's Chess Information Database) // Version: 3.5 // // Notice: Copyright (c) 1999-2003 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #ifndef SCID_POSITION_H #define SCID_POSITION_H #include "common.h" #include "misc.h" #include "movelist.h" #include "sqlist.h" #include "sqset.h" #include "tokens.h" #include namespace Guess { static const int Infinity = 32000; static const int KingValue = 10000; static const int QueenValue = 900; static const int RookValue = 500; static const int BishopValue = 300; static const int KnightValue = 300; static const int PawnValue = 100; ////////////////////////////////////////////////////////////////////// // Position: Constants const unsigned char WQ_CASTLE = 1, WK_CASTLE = 2, BQ_CASTLE = 4, BK_CASTLE = 8; // SANFlag: since checking if a move is check (to add the "+" to its // SAN string) takes time, and checking for mate takes even // longer, we specify whether we want this done with a flag. typedef unsigned char sanFlagT; const sanFlagT SAN_NO_CHECKTEST = 0, SAN_CHECKTEST = 1, SAN_MATETEST = 2; // Flags that Position::PrintFEN() recognises: // const unsigned int FEN_COMPACT = 0, FEN_BOARD = 1, FEN_CASTLING_EP = 2, FEN_ALL_FIELDS = 3; // Flags that Position::GenerateMoves() recognises: // typedef unsigned int genMovesT; const genMovesT GEN_CAPTURES = 1, GEN_NON_CAPS = 2, GEN_ALL_MOVES = (GEN_CAPTURES | GEN_NON_CAPS); // SANList: list of legal move strings in SAN. // struct sanListT { bool current; unsigned short num; sanStringT list [256]; }; /////////////////////////////////////////////////////////////////////////// // Position: Class definition class Position { private: //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position: Data structures pieceT Board[66]; // the actual board + a color square // and a NULL square. unsigned int Count[2]; // count of pieces & pawns each unsigned char Material[16]; // count of each type of piece unsigned char ListPos[64]; // ListPos stores the position in // List[][] for the piece on // square x. squareT List[2][16]; // list of piece squares for each side unsigned char NumOnRank[16][8]; unsigned char NumOnFyle[16][8]; unsigned char NumOnLeftDiag[16][16]; // Num Queens/Bishops unsigned char NumOnRightDiag[16][16]; unsigned char NumOnSquareColor[16][2]; directionT Pinned[16]; // For each List[ToMove][x], stores // whether piece is pinned to its // own king and dir from king. squareT EPTarget; // square pawns can EP capture to colorT ToMove; unsigned short HalfMoveClock; // Count of halfmoves since last capture // or pawn move. unsigned short PlyCounter; unsigned char Castling; // castling flags bool StrictCastling; // If false, allow castling after moving // the King or Rook. unsigned int Hash; // Hash value. unsigned int PawnHash; // Pawn structure hash value. // unsigned int NumChecks; // Number of checks. // SquareList CheckSquares; // Stores list of pieces checking the king. MoveList * LegalMoves; // list of legal moves sanListT * SANStrings; // SAN list of legal move strs //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position: Private Functions inline void AddHash(pieceT p, squareT sq); inline void UnHash(pieceT p, squareT sq); inline void AddToBoard(pieceT p, squareT sq); inline void RemoveFromBoard(pieceT p, squareT sq); void CalcPinsDir(directionT dir, pieceT attacker); void GenSliderMoves(MoveList * mlist, colorT c, squareT sq, directionT dir, SquareSet * sqset, bool capturesOnly); void GenKnightMoves(MoveList * mlist, colorT c, squareT sq, SquareSet * sqset, bool capturesOnly); void AddLegalMove(MoveList * mlist, squareT from, squareT to, pieceT promo); void GenCastling(MoveList * mlist); void GenKingMoves(MoveList * mlist, genMovesT genType, bool castling); void AddPromotions(MoveList * mlist, squareT from, squareT dest); bool IsValidEnPassant(squareT from, squareT to); void GenPawnMoves(MoveList * mlist, squareT from, directionT dir, SquareSet * sqset, genMovesT genType); errorT AssertPos(); // Checks for errors in board etc. //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position: Public Functions public: Position() { Init(); } ~Position() { if(LegalMoves != NULL) { delete LegalMoves; } if(SANStrings != NULL) { delete SANStrings; } } void Init(); void Clear(); // No pieces on board void StdStart(); // Standard chess starting position bool IsStdStart(); errorT AddPiece(pieceT p, squareT sq); // Set and Get attributes -- one-liners unsigned char PieceCount(pieceT p) { return Material[p]; } unsigned char* GetMaterial() { return Material; } void SetEPTarget(squareT s) { EPTarget = s; } squareT GetEPTarget() { return EPTarget; } bool GetEPFlag() { return (EPTarget != NS); } void SetToMove(colorT c) { ToMove = c; } colorT GetToMove() { return ToMove; } void SetPlyCounter(unsigned short x) { PlyCounter = x; } unsigned short GetPlyCounter() { return PlyCounter; } unsigned short GetFullMoveCount() { return PlyCounter / 2 + 1; } sanListT * GetSANStrings() { return SANStrings; } MoveList * GetLegalMoves() { return LegalMoves; } inline int ScoreWhiteMaterial(void) { unsigned char * pieceCount = GetMaterial(); return pieceCount[WQ] * QueenValue + pieceCount[WR] * RookValue + pieceCount[WB] * BishopValue + pieceCount[WN] * KnightValue + pieceCount[WP] * PawnValue; } inline int ScoreBlackMaterial(void) { unsigned char * pieceCount = GetMaterial(); return pieceCount[BQ] * QueenValue + pieceCount[BR] * RookValue + pieceCount[BB] * BishopValue + pieceCount[BN] * KnightValue + pieceCount[BP] * PawnValue; } inline int ScoreMaterial(void) { int score = ScoreWhiteMaterial() - ScoreBlackMaterial(); return score; } // Methods to get the Board or piece lists -- used in game.cpp to // decode moves: squareT * GetList(colorT c) { return List[c]; } unsigned int GetCount(colorT c) { return Count[c]; } unsigned int TotalMaterial() { return Count[WHITE] + Count[BLACK]; } unsigned int NumNonPawns(colorT c) { return Count[c] - Material[piece_Make(c, PAWN)]; } bool InPawnEnding() { return (NumNonPawns(WHITE) == 1 && NumNonPawns(BLACK) == 1); } unsigned int MaterialValue(colorT c); inline unsigned int FyleCount(pieceT p, fyleT f) { return NumOnFyle[p][f]; } inline unsigned int RankCount(pieceT p, rankT r) { return NumOnRank[p][r]; } inline unsigned int LeftDiagCount(pieceT p, leftDiagT diag) { return NumOnLeftDiag[p][diag]; } inline unsigned int RightDiagCount(pieceT p, rightDiagT diag) { return NumOnRightDiag[p][diag]; } inline unsigned int SquareColorCount(pieceT p, colorT sqColor) { return NumOnSquareColor[p][sqColor]; } unsigned int GetSquares(pieceT p, SquareList * sqlist); pieceT * GetBoard() { Board[COLOR_SQUARE] = COLOR_CHAR[ToMove]; return Board; } // Other one-line methods squareT GetKingSquare(colorT c) { return List[c][0]; } squareT GetKingSquare() { return List[ToMove][0]; } squareT GetEnemyKingSquare() { return List[1 - ToMove][0]; } // Castling flags inline void SetCastling(colorT c, castleDirT dir, bool flag); bool GetCastling(colorT c, castleDirT dir); inline bool CastlingPossible() { return (Castling ? true : false); } unsigned char GetCastlingFlags() { return Castling; } void SetCastlingFlags(unsigned char b) { Castling = b; } void SetStrictCastling(bool b) { StrictCastling = b; } bool GetStrictCastling(void) { return StrictCastling; } // Allocating memory -- maybe these should be private?? void AllocLegalMoves(); void AllocSANStrings(); // Clearing data structures void ClearLegalMoves(); void ClearSANStrings(); // Hashing inline unsigned int HashValue(void) { return Hash; } inline unsigned int PawnHashValue(void) { return PawnHash; } unsigned int GetHPSig(); // Move generation and execution void CalcPins(); void GenPieceMoves(MoveList * mlist, squareT sq, SquareSet * sqset, bool capturesOnly); // Generate all legal moves: void GenerateMoves(MoveList * mlist, pieceT mask, genMovesT genType, bool maybeInCheck); void GenerateMoves() { GenerateMoves(NULL, EMPTY, GEN_ALL_MOVES, true); } void GenerateMoves(MoveList * mlist) { GenerateMoves(mlist, EMPTY, GEN_ALL_MOVES, true); } void GenerateMoves(MoveList * mlist, pieceT mask) { GenerateMoves(mlist, mask, GEN_ALL_MOVES, true); } void GenerateMoves(MoveList * mlist, genMovesT genType) { GenerateMoves(mlist, EMPTY, genType, true); } void GenerateCaptures(MoveList * mlist) { GenerateMoves(mlist, EMPTY, GEN_CAPTURES, true); } bool IsLegalMove(simpleMoveT * sm); void GenCheckEvasions(MoveList * mlist, pieceT mask, genMovesT genType, SquareList * checkSquares); void MatchLegalMove(MoveList * mlist, pieceT mask, squareT target); errorT MatchPawnMove(MoveList * mlist, fyleT fromFyle, squareT to, pieceT promote); errorT MatchKingMove(MoveList * mlist, squareT target); unsigned int CalcAttacks(colorT toMove, squareT kingSq, SquareList * squares); unsigned int CalcNumChecks() { return CalcAttacks(1 - ToMove, GetKingSquare(), NULL); } unsigned int CalcNumChecks(squareT kingSq) { return CalcAttacks(1 - ToMove, kingSq, NULL); } unsigned int CalcNumChecks(squareT kingSq, SquareList * checkSquares) { return CalcAttacks(1 - ToMove, kingSq, checkSquares); } unsigned int Mobility(pieceT p, colorT color, squareT from); pieceT SmallestDefender(colorT color, squareT target); bool IsKingInCheck() { return (CalcNumChecks() > 0); } bool IsKingInCheckDir(directionT dir); bool IsKingInCheck(simpleMoveT * sm); bool IsKingInMate(); bool IsLegal(); bool IsPromoMove(squareT from, squareT to); void DoSimpleMove(simpleMoveT * sm); // move execution ... void UndoSimpleMove(simpleMoveT * sm); // ... and taking back errorT RelocatePiece(squareT fromSq, squareT toSq); void MakeSANString(simpleMoveT * sm, char * s, sanFlagT flag); void CalcSANStrings(sanFlagT flag); errorT ReadCoordMove(simpleMoveT * m, const char * s, bool reverse); errorT ReadMove(simpleMoveT * m, const char * s, tokenT t); errorT ParseMove(simpleMoveT * sm, const char * s); errorT ReadLine(const char * s); // Board I/O void DumpBoard(FILE * fp); void DumpLists(FILE * fp); errorT ReadFromCompactStr(const unsigned char * str); errorT ReadFromFEN(const char * s); // Copy, compare positions void CopyFrom(Position * src); }; ////////////////////////////////////////////////////////////////////// // Position: Public Inline Functions //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::SetCastling(): // Set a castling flag. // inline void Position::SetCastling(colorT c, castleDirT dir, bool flag) { register unsigned char b = (c == WHITE ? 1 : 4); if(dir == KSIDE) { b += b; } // Now b = 1 or 2 (white flags), or 4 or 8 (black flags) if(flag) { Castling |= b; } else { Castling &= (255 - b); } return; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::GetCastling(): // Get a castling flag. // inline bool Position::GetCastling(colorT c, castleDirT dir) { register unsigned char b = (c == WHITE ? 1 : 4); if(dir == KSIDE) { b += b; } // Now b == 1 or 2 (white flags), or 4 or 8 (black flags) if(Castling & b) { return true; } else { return false; } } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::AllocLegalMoves(): // Allocate the legal moves list. // inline void Position::AllocLegalMoves() { ASSERT(LegalMoves == NULL); LegalMoves = new MoveList(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::AllocSANStrings(): // Allocate the SAN strings list. // inline void Position::AllocSANStrings() { ASSERT(SANStrings == NULL); SANStrings = new sanListT; SANStrings->current = false; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::ClearLegalMoves(): // Reset the legal moves list. // inline void Position::ClearLegalMoves() { if(LegalMoves == NULL) { AllocLegalMoves(); } LegalMoves->clear(); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Position::ClearSANStrings(): // Reset the SAN moves list. // inline void Position::ClearSANStrings() { if(SANStrings) { SANStrings->current = false; } else { AllocSANStrings(); } } } // End namespace Guess #endif // SCID_POSITION_H ////////////////////////////////////////////////////////////////////// // EOF: position.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/recog.cpp000644 000765 000024 00000151352 12507517064 016456 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: recog.cpp // Endgame knowledge recognition methods // // Part of: Scid (Shane's Chess Information Database) // Version: 3.5 // // Notice: Copyright (c) 2002-2003 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #include "guessengine.h" #include "recog.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER namespace Guess { // The Recognizer class provides score bound information for chess // endgames. static const int DRAW = recogValue(SCORE_EXACT, 0); static const int UNKNOWN = recogValue(SCORE_NONE, 0); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::Recognize // Checks the current position for a recognized endgame. // Returns a recognition value, which contains a regular score // for the position and a score flag indicating if the score // is exact, an upper bound, a lower bound, or useless. int Recognizer::Recognize(Position * pos) { unsigned int npieces = pos->TotalMaterial(); unsigned char * material = pos->GetMaterial(); if(npieces > 6) { return UNKNOWN; } // TODO: Speed up this code which selects the appropriate recognizer. // TODO: We should maintain a material signature (or hash code) in // TODO: the position and then we could use a small lookup table here // TODO: find the appropriate recognizer quickly. if(npieces == 3) { if(material[WB] == 1 || material[BB] == 1) { return DRAW; } if(material[WN] == 1 || material[BN] == 1) { return DRAW; } if(material[WP] == 1 || material[BP] == 1) { return KPK(pos); } return UNKNOWN; } if(npieces == 5) { // KRP-KR: if(material[WR] == 1 && material[WP] == 1 && material[BR] == 1) { return KRPKR(pos); } if(material[BR] == 1 && material[BP] == 1 && material[WR] == 1) { return KRPKR(pos); } // Bishop and 2 pawns on same rook file with bishop of wrong color: if(material[WB] == 1 && material[WP] == 2) { return KBPK(pos); } if(material[BB] == 1 && material[BP] == 2) { return KBPK(pos); } return UNKNOWN; } if(npieces == 6) { // Bishop and 3 pawns on same rook file with bishop of wrong color: if(material[WB] == 1 && material[WP] == 3) { return KBPK(pos); } if(material[BB] == 1 && material[BP] == 3) { return KBPK(pos); } return UNKNOWN; } if(npieces <= 2) { return DRAW; // Lone kings. } // If we get here, there are four pieces (including kings and pawns) ASSERT(npieces == 4); // Positions with pawns: if(material[WP] == 1) { if(material[BQ] == 1) { return KQKP(pos); } if(material[BR] == 1) { return KRKP(pos); } if(material[BB] == 1 || material[BN] == 1) { return KMKP(pos); } if(material[WB] == 1) { return KBPK(pos); } return UNKNOWN; } if(material[BP] == 1) { if(material[WQ] == 1) { return KQKP(pos); } if(material[WR] == 1) { return KRKP(pos); } if(material[WB] == 1 || material[WN] == 1) { return KMKP(pos); } if(material[BB] == 1) { return KBPK(pos); } return UNKNOWN; } if(material[WB] == 2 || material[BB] == 2) { return KBBK(pos); } if(material[WB] == 1 && material[WN] == 1) { return KBNK(pos); } if(material[BB] == 1 && material[BN] == 1) { return KBNK(pos); } if(material[WR] == 1 && material[BB] == 1) { return KRKB(pos); } if(material[BR] == 1 && material[WB] == 1) { return KRKB(pos); } if(material[WR] == 1 && material[BN] == 1) { return KRKN(pos); } if(material[BR] == 1 && material[WN] == 1) { return KRKN(pos); } // KBKB, KBKN, KNKN and KNNK are all draws, but may have a // trivial mate-in-one if the non-side-to-move king is in a corner: if(material[WN] == 2 || material[BN] == 2 || (material[WB] == 1 && material[BB] == 1) || (material[WB] == 1 && material[BN] == 1) || (material[WN] == 1 && material[BB] == 1) || (material[WN] == 1 && material[BN] == 1)) { squareT wk = pos->GetKingSquare(WHITE); squareT bk = pos->GetKingSquare(BLACK); colorT stm = pos->GetToMove(); if(stm == WHITE && square_IsCornerSquare(bk)) { return UNKNOWN; } if(stm == BLACK && square_IsCornerSquare(wk)) { return UNKNOWN; } return DRAW; } return UNKNOWN; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::KPK // Returns a recognition score for King and one Pawn vs King. int Recognizer::KPK(Position * pos) { unsigned char * material = pos->GetMaterial(); squareT wk, bk, wp; colorT stm = pos->GetToMove(); // Find piece squares with White having the pawn: if(material[WP] == 1) { wk = pos->GetKingSquare(WHITE); bk = pos->GetKingSquare(BLACK); squareT * sqlist = pos->GetList(WHITE); wp = sqlist[1]; } else { ASSERT(material[BP] == 1); wk = square_FlipRank(pos->GetKingSquare(BLACK)); bk = square_FlipRank(pos->GetKingSquare(WHITE)); squareT * sqlist = pos->GetList(BLACK); wp = square_FlipRank(sqlist[1]); stm = color_Flip(stm); } // Find pawn, king and enemy king rank and file values: rankT wpRank = square_Rank(wp); fyleT wpFyle = square_Fyle(wp); rankT wkRank = square_Rank(wk); rankT wkFyle = square_Fyle(wk); rankT bkRank = square_Rank(bk); rankT bkFyle = square_Fyle(bk); // Find value to use if it is a win: int winScore = 500 + 5 * wpRank; int winValue = recogValue(SCORE_LOWER, winScore); int lossValue = recogValue(SCORE_UPPER, -winScore); // If the enemy king is behind or equal to the pawn rank: win or unknown if(bkRank <= wpRank) { if((stm == WHITE && wpRank > bkRank) || (stm == BLACK && wpRank > bkRank + 1)) { // Runaway pawn wins: return (stm == WHITE) ? winValue : lossValue; } // Cannot easily determine the result of this position: return UNKNOWN; } // Black king is clearly the closest king to the pawn: draw unsigned int wdist = square_Distance(wk, wp); unsigned int bdist = square_Distance(bk, wp); if(stm == WHITE) { bdist++; } // TODO: check if the "+ 2" below can safely be "+ 1". if(bdist + 2 < wdist) { return DRAW; } // Black king in front of a rook pawn: safe draw. if((wpFyle == A_FYLE || wpFyle == H_FYLE) && wpFyle == bkFyle) { return DRAW; } // King the two squares in front of any pawn before the 6th rank: draw if(wpRank < RANK_6 && wpFyle == bkFyle && (wpRank + 1 == bkRank || wpRank + 2 == bkRank)) { return DRAW; } // Pawn on 6th rank, enemy king blocking it on 7th: draw if(wpRank == RANK_6 && wpFyle == bkFyle && wpRank + 1 == bkRank) { return DRAW; } // White king two ranks in front of the pawn, on the same file or an // adjacent file: win if(wpRank + 2 == wkRank) { int fileDiff = (int)wpFyle - (int)wkFyle; if(fileDiff >= -1 && fileDiff < 1) { return (stm == WHITE) ? winValue : lossValue; } } // Pawn-King-space-EnemyKing formation, draw if pawn is before 5th rank // and side with the pawn is to move; otherwise a win. if(wpFyle == wkFyle && wpFyle == bkFyle && wpRank + 1 == wkRank && wpRank + 3 == bkRank) { if(wpRank < RANK_5 && stm == WHITE) { return DRAW; } return (stm == WHITE) ? winValue : lossValue; } // No key KPK position was found: return UNKNOWN; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::KBBK // Returns a recognition score for King and two Bishops vs King. int Recognizer::KBBK(Position * pos) { unsigned char * material = pos->GetMaterial(); squareT wk, bk, wb1, wb2; colorT stm = pos->GetToMove(); // Set up piece squares so that White has the bishops: if(material[WB] == 2) { wk = pos->GetKingSquare(WHITE); bk = pos->GetKingSquare(BLACK); squareT * sqlist = pos->GetList(WHITE); wb1 = sqlist[1]; wb2 = sqlist[2]; } else { ASSERT(material[BB] == 2); wk = square_FlipRank(pos->GetKingSquare(BLACK)); bk = square_FlipRank(pos->GetKingSquare(WHITE)); squareT * sqlist = pos->GetList(BLACK); wb1 = square_FlipRank(sqlist[1]); wb2 = square_FlipRank(sqlist[2]); stm = color_Flip(stm); } // If the bishops are of the same square color, it is a draw: if(square_Color(wb1) == square_Color(wb2)) { return DRAW; } // If the lone king is to move and is next to a bishop, or on the // edge of the board with the enemy king nearby, it may be a draw // by capturing a bishop or by stalemate: if(stm == BLACK) { if(square_Adjacent(bk, wb1)) { return UNKNOWN; } if(square_Adjacent(bk, wb2)) { return UNKNOWN; } if(square_IsEdgeSquare(bk) && square_Distance(wk, bk) == 2) { return UNKNOWN; } } // Compute the lone king distances used for scoring: int bkCorner = square_Distance(bk, square_NearestCorner(bk)); int kingDist = square_Distance(bk, wk); // Return a suitable winning score: int score = 900 + (25 * bkCorner) - (10 * kingDist); int winValue = recogValue(SCORE_LOWER, score); int lossValue = recogValue(SCORE_UPPER, -score); return (stm == WHITE) ? winValue : lossValue; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::KBNK // Returns a recognition score for King, Bishop and Knight vs King. int Recognizer::KBNK(Position * pos) { unsigned char * material = pos->GetMaterial(); pieceT * board = pos->GetBoard(); squareT wk, bk, wb, wn; colorT stm = pos->GetToMove(); // Set up piece squares so that White has the bishop and knight: if(material[WB] == 1) { wk = pos->GetKingSquare(WHITE); bk = pos->GetKingSquare(BLACK); squareT * sqlist = pos->GetList(WHITE); wb = sqlist[1]; wn = sqlist[2]; if(board[wb] != WB) { squareT temp = wb; wb = wn; wn = temp; } } else { ASSERT(material[BB] == 1 && material[BN] == 1); wk = square_FlipRank(pos->GetKingSquare(BLACK)); bk = square_FlipRank(pos->GetKingSquare(WHITE)); squareT * sqlist = pos->GetList(BLACK); wb = sqlist[1]; wn = sqlist[2]; if(board[wb] != BB) { squareT temp = wb; wb = wn; wn = temp; } wb = square_FlipRank(wb); wn = square_FlipRank(wn); stm = color_Flip(stm); } // If the lone king attacks a piece, the result is unclear: if(square_Adjacent(wb, bk) || square_Adjacent(wn, bk)) { return UNKNOWN; } // If the lone king is to move and possible stalemate, unclear result: if(stm == BLACK && square_IsEdgeSquare(bk) && square_Distance(wk, bk) == 2) { return UNKNOWN; } // Find lone king distance from the appropriate corner squareT corner1 = A1; squareT corner2 = H8; if(square_Color(wb) == WHITE) { corner1 = H1; corner2 = A8; } int cornerDist = square_Distance(bk, corner1); int cornerDist2 = square_Distance(bk, corner2); if(cornerDist2 < cornerDist) { cornerDist = cornerDist2; } int kingDist = square_Distance(wk, bk); // Return an appropriate winning or losing score: int winScore = 700 - 25 * cornerDist - 10 * kingDist; int winValue = recogValue(SCORE_LOWER, winScore); int lossValue = recogValue(SCORE_UPPER, -winScore); return (stm == WHITE) ? winValue : lossValue; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::KBPK // Returns a recognition score for King, Bishop and Pawn(s) vs King. // Recognizes draws with wrong-color bishop for rook pawn(s). int Recognizer::KBPK(Position * pos) { unsigned char * material = pos->GetMaterial(); squareT wk, bk; fyleT wrongFile = A_FYLE; // Wrong-color bishop rook-pawn file. // Set up piece squares so that White has the bishop and pawn(s), // and make sure all pawns are on the wrong rook-pawn file: if(material[WB] == 1) { wk = pos->GetKingSquare(WHITE); bk = pos->GetKingSquare(BLACK); if(pos->SquareColorCount(WB, WHITE) == 1) { wrongFile = H_FYLE; } if(pos->FyleCount(WP, wrongFile) != material[WP]) { return UNKNOWN; } } else { ASSERT(material[BB] == 1); wk = square_FlipRank(pos->GetKingSquare(BLACK)); bk = square_FlipRank(pos->GetKingSquare(WHITE)); if(pos->SquareColorCount(BB, BLACK) == 1) { wrongFile = H_FYLE; } if(pos->FyleCount(BP, wrongFile) != material[BP]) { return UNKNOWN; } } // OK, we have it set up so white has the bishop and pawns, and we // know all pawns are on the wrong rook-pawn file. So recognise a // draw if the black king controls the queening square: squareT promoSq = square_Make(wrongFile, RANK_8); if(bk == promoSq || square_Adjacent(bk, promoSq)) { return DRAW; } // The black king does not control the queening square, so no draw yet: return UNKNOWN; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::KRKB // Returns a recognition score for King and Rook vs King and Bishop. // Contains simple rules covering many drawn positions, which were // checked using tablebases. int Recognizer::KRKB(Position * pos) { unsigned char * material = pos->GetMaterial(); squareT wk, bk, wr, bb; colorT stm = pos->GetToMove(); // Find piece squares with White having the rook: wk = pos->GetKingSquare(WHITE); bk = pos->GetKingSquare(BLACK); squareT * sqlist = pos->GetList(WHITE); wr = sqlist[1]; sqlist = pos->GetList(BLACK); bb = sqlist[1]; if(material[WB] == 1) { squareT t = wk; wk = square_FlipRank(bk); bk = square_FlipRank(t); t = wr; wr = square_FlipRank(bb); bb = square_FlipRank(t); stm = color_Flip(stm); } // Flip board so the black king is in the 10-square a1-d1-d4 triangle: if(square_Rank(bk) >= RANK_5) { wk = square_FlipRank(wk); wr = square_FlipRank(wr); bk = square_FlipRank(bk); bb = square_FlipRank(bb); } if(square_Fyle(bk) >= E_FYLE) { wk = square_FlipFyle(wk); wr = square_FlipFyle(wr); bk = square_FlipFyle(bk); bb = square_FlipFyle(bb); } if(bk == A2 || bk == A3 || bk == A4 || bk == B3 || bk == B4 || bk == C4) { wk = square_FlipDiag(wk); wr = square_FlipDiag(wr); bk = square_FlipDiag(bk); bb = square_FlipDiag(bb); } int kingsDist = square_Distance(wk, bk); if(stm == WHITE) { // Black king on c2/c3/d3/d4, black bishop adjacent, // white king more than 2 squares away: draw. if(kingsDist > 2 && square_Adjacent(bk, bb) && (bk == C2 || bk == C3 || bk == D3 || bk == D4)) { return DRAW; } } else { // Black king anywhere but a1 or b1, black bishop adjacent, // white king more than 2 squares away: draw. if(kingsDist > 2 && square_Adjacent(bk, bb) && bk != A1 && bk != B1) { return DRAW; } // Black king not on edge or b2, not sharing a rank or file with // the white rook; white king more than 2 squares away: draw. if(kingsDist > 2 && !square_IsEdgeSquare(bk) && bk != B2 && square_Rank(bk) != square_Rank(wr) && square_Fyle(bk) != square_Fyle(wr)) { return DRAW; } } return UNKNOWN; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::KRKN // Returns a recognition score for King and Rook vs King and Knight. // Contains simple rules covering many drawn positions, which were // checked using tablebases. int Recognizer::KRKN(Position * pos) { unsigned char * material = pos->GetMaterial(); squareT wk, bk, wr, bn; colorT stm = pos->GetToMove(); // Find piece squares with White having the rook: wk = pos->GetKingSquare(WHITE); bk = pos->GetKingSquare(BLACK); squareT * sqlist = pos->GetList(WHITE); wr = sqlist[1]; sqlist = pos->GetList(BLACK); bn = sqlist[1]; if(material[WN] == 1) { squareT t = wk; wk = square_FlipRank(bk); bk = square_FlipRank(t); t = wr; wr = square_FlipRank(bn); bn = square_FlipRank(t); stm = color_Flip(stm); } // Flip board so the black king is in the 10-square a1-d1-d4 triangle: if(square_Rank(bk) >= RANK_5) { wk = square_FlipRank(wk); wr = square_FlipRank(wr); bk = square_FlipRank(bk); bn = square_FlipRank(bn); } if(square_Fyle(bk) >= E_FYLE) { wk = square_FlipFyle(wk); wr = square_FlipFyle(wr); bk = square_FlipFyle(bk); bn = square_FlipFyle(bn); } if(bk == A2 || bk == A3 || bk == A4 || bk == B3 || bk == B4 || bk == C4) { wk = square_FlipDiag(wk); wr = square_FlipDiag(wr); bk = square_FlipDiag(bk); bn = square_FlipDiag(bn); } int kingsDist = square_Distance(wk, bk); if(stm == WHITE) { // Black king not on edge or b2, adjacent to black knight, // not sharing a rank or file with the white rook; white king // more than 2 squares away: draw. if(kingsDist > 2 && !square_IsEdgeSquare(bk) && bk != B2 && square_Adjacent(bk, bn) && square_Rank(bk) != square_Rank(wr) && square_Fyle(bk) != square_Fyle(wr)) { return DRAW; } } else { // Black king anywhere but a1 or b1, adjacent to the knight, // white king more than 2 squares away: draw. if(bk != A1 && bk != B1 && kingsDist > 2 && square_Adjacent(bk, bn)) { return DRAW; } // Black king not on edge or b2, adjacent to black knight, // not sharing a rank/file with the white rook: draw. if(!square_IsEdgeSquare(bk) && bk != B2 && square_Adjacent(bk, bn) && square_Rank(bk) != square_Rank(wr) && square_Fyle(bk) != square_Fyle(wr)) { return DRAW; } // Black king anywhere but a1/b1/c1/b2, adjacent to the black // knight, not sharing a rank/file with the rook; white king // not adjacent to the knight: draw. if(bk != A1 && bk != B1 && bk != C1 && bk != B2 && !square_Adjacent(wk, bn) && square_Adjacent(bk, bn) && square_Rank(bk) != square_Rank(wr) && square_Fyle(bk) != square_Fyle(wr)) { return DRAW; } } return UNKNOWN; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::KMKP // Returns a recognition score for King and Minor Piece vs King and Pawn. int Recognizer::KMKP(Position * pos) { unsigned char * material = pos->GetMaterial(); squareT wk, bk, wm, bp; colorT stm = pos->GetToMove(); // Find piece squares with White having the minor piece: wk = pos->GetKingSquare(WHITE); bk = pos->GetKingSquare(BLACK); squareT * sqlist = pos->GetList(WHITE); wm = sqlist[1]; sqlist = pos->GetList(BLACK); bp = sqlist[1]; if(material[WP] == 1) { squareT t = wk; wk = square_FlipRank(bk); bk = square_FlipRank(t); t = wm; wm = square_FlipRank(bp); bp = square_FlipRank(t); stm = color_Flip(stm); } // Black (the side with the pawn) can only lose to trivial mates // in a corner trapped by the pawn: if(stm == WHITE && square_IsCornerSquare(bk) && square_Adjacent(bk, bp) && square_Distance(bk, wk) == 2) { return UNKNOWN; } // Black has at least a draw: return recogValue((stm == BLACK) ? SCORE_LOWER : SCORE_UPPER, 0); } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::KQKP // Returns a recognition score for King and Queen vs King and Pawn. // Contains rules for many draws with Queen vs a2 or c2 pawn, // checked using tablebases. int Recognizer::KQKP(Position * pos) { unsigned char * material = pos->GetMaterial(); squareT wk, bk, wq, bp; colorT stm = pos->GetToMove(); // Find piece squares with White having the queen: wk = pos->GetKingSquare(WHITE); bk = pos->GetKingSquare(BLACK); squareT * sqlist = pos->GetList(WHITE); wq = sqlist[1]; sqlist = pos->GetList(BLACK); bp = sqlist[1]; if(material[WQ] != 1) { squareT t = wk; wk = square_FlipRank(bk); bk = square_FlipRank(t); t = wq; wq = square_FlipRank(bp); bp = square_FlipRank(t); stm = color_Flip(stm); } // There are only recognizable draws with a pawn on its 7th rank, // defended by its king: if(square_Rank(bp) != RANK_2 || ! square_Adjacent(bk, bp)) { return UNKNOWN; } // Make sure the pawn is on the queenside: if(square_Fyle(bp) >= E_FYLE) { wk = square_FlipFyle(wk); wq = square_FlipFyle(wq); bk = square_FlipFyle(bk); bp = square_FlipFyle(bp); } // Lists of squares for each (black king, black pawn) pair listing // the white king squares for which white to move only draws // regardless of where the white queen is: static const squareT drawSquares_None [] = { NULL_SQUARE }; static const squareT drawSquares_BPa2_BKb1 [] = { G1, H1, F2, G2, H2, G3, H3, F4, G4, H4, E5, F5, G5, H5, A6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPa2_BKb2 [] = { F1, G1, H1, G2, H2, F3, G3, H3, F4, G4, H4, F5, G5, H5, A6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc2_BKc1 [] = { H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc2_BKd1 [] = { F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc2_BKd2 [] = { F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; const squareT * drawSquares = drawSquares_None; if(bp == A2) { if(bk == B1) { drawSquares = drawSquares_BPa2_BKb1; } if(bk == B2) { drawSquares = drawSquares_BPa2_BKb2; } } else if(bp == C2) { if(bk == C1) { drawSquares = drawSquares_BPc2_BKc1; } if(bk == D1) { drawSquares = drawSquares_BPc2_BKd1; } if(bk == D2) { drawSquares = drawSquares_BPc2_BKd2; } } // Scan the list of drawn squares for the white king square: while(*drawSquares != NULL_SQUARE) { if(wk == *drawSquares) { return DRAW; } drawSquares++; } return UNKNOWN; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::KRKP // Returns a recognition score for King and Rook vs King and Pawn. // Contains rules for many draws, checked using tablebases. int Recognizer::KRKP(Position * pos) { unsigned char * material = pos->GetMaterial(); squareT wk, bk, wr, bp; colorT stm = pos->GetToMove(); // Find piece squares with White having the rook: wk = pos->GetKingSquare(WHITE); bk = pos->GetKingSquare(BLACK); squareT * sqlist = pos->GetList(WHITE); wr = sqlist[1]; sqlist = pos->GetList(BLACK); bp = sqlist[1]; if(material[WR] != 1) { squareT t = wk; wk = square_FlipRank(bk); bk = square_FlipRank(t); t = wr; wr = square_FlipRank(bp); bp = square_FlipRank(t); stm = color_Flip(stm); } // There are only recognized draws when the pawn is defended by its king: if(! square_Adjacent(bk, bp)) { return UNKNOWN; } // Make sure the pawn is on the queenside: if(square_Fyle(bp) >= E_FYLE) { wk = square_FlipFyle(wk); wr = square_FlipFyle(wr); bk = square_FlipFyle(bk); bp = square_FlipFyle(bp); } // Lists of squares for each (black king, black pawn) pair listing // the white king squares for which white to move only draws // regardless of where the white rook is: static const squareT drawSquares_None [] = { NULL_SQUARE }; static const squareT drawSquares_BPa2_BKb2 [] = { D1, D2, D3, C4, NULL_SQUARE }; static const squareT drawSquares_BPa2_BKb3 [] = { E1, F1, G1, H1, D4, E4, F4, G4, H4, A5, B5, C5, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, NULL_SQUARE }; static const squareT drawSquares_BPa3_BKb2 [] = { E1, F1, G1, H1, E2, F2, G2, H2, D3, E3, F3, G3, H3, D4, E4, F4, G4, H4, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPa3_BKb3 [] = { F1, G1, H1, F2, G2, H2, F3, G3, H3, D4, E4, F4, G4, H4, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPa3_BKb4 [] = { G1, H1, G2, H2, G3, H3, G4, H4, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPa4_BKa3 [] = { H1, H2, H3, H4, H5, H6, H7, H8, NULL_SQUARE }; static const squareT drawSquares_BPa4_BKa5 [] = { A7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPa4_BKb3 [] = { G1, H1, G2, H2, G3, H3, G4, H4, E5, F5, G5, H5, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPa4_BKb4 [] = { H1, H2, H3, H4, H5, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPa4_BKb5 [] = { A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPa5_BKb4 [] = { E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPa5_BKb5 [] = { A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb2_BKa2 [] = { E1, F1, G1, H1, E2, F2, G2, H2, E3, F3, G3, H3, D4, E4, F4, G4, H4, B5, C5, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb2_BKa3 [] = { F2, G2, H2, F3, G3, H3, F4, G4, H4, A5, E5, G5, H5, A6, B6, C6, D6, E6, F6, H6, A7, B7, C7, D7, E7, F7, G7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb2_BKb3 [] = { F2, G2, H2, F3, G3, H3, F4, G4, H4, A5, B5, C5, D5, E5, G5, H5, A6, B6, C6, D6, E6, F6, H6, A7, B7, C7, D7, E7, F7, G7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb2_BKc1 [] = { F1, G1, H1, F2, G2, H2, E3, F3, G3, H3, A4, D4, E4, F4, G4, H4, A5, C5, D5, E5, F5, G5, H5, A6, C6, D6, E6, F6, G6, H6, A7, C7, D7, E7, F7, G7, H7, A8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb2_BKc2 [] = { E1, E2, E3, C4, D4, NULL_SQUARE }; static const squareT drawSquares_BPb2_BKc3 [] = { E3, A5, B5, C5, D5, E5, A6, B6, C6, D6, A7, B7, C7, A8, B8, C8, NULL_SQUARE }; static const squareT drawSquares_BPb3_BKa2 [] = { F1, G1, H1, F2, G2, H2, F3, G3, H3, F4, G4, H4, E5, F5, G5, H5, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb3_BKa3 [] = { G1, H1, G2, H2, G3, H3, G4, H4, G5, H5, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb3_BKa4 [] = { H1, H2, H3, H4, H5, H6, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb3_BKb2 [] = { G1, H1, G2, H2, G3, H3, G4, H4, F5, G5, H5, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb3_BKb4 [] = { G1, H1, G2, H2, G3, H3, G4, H4, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb3_BKc2 [] = { F1, G1, H1, G2, H2, E3, F3, G3, H3, E4, F4, G4, H4, A5, B5, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb3_BKc3 [] = { G1, H1, G2, H2, G3, H3, E4, F4, G4, H4, C5, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb3_BKc4 [] = { H1, H2, H3, H4, E5, F5, G5, H5, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb4_BKa3 [] = { H1, H2, H3, H4, H5, H6, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb4_BKa4 [] = { G7, H7, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb4_BKa5 [] = { H8, NULL_SQUARE }; static const squareT drawSquares_BPb4_BKb3 [] = { H6, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb4_BKc3 [] = { H1, H2, H3, H4, E5, F5, G5, H5, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb4_BKc4 [] = { D6, E6, F6, G6, H6, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb4_BKc5 [] = { E7, F7, G7, H7, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb5_BKc4 [] = { E7, F7, G7, H7, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPb5_BKc5 [] = { F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc2_BKb2 [] = { A4, B4, B5, B6, B7, B8, NULL_SQUARE }; static const squareT drawSquares_BPc2_BKb3 [] = { A5, B5, C5, D5, A6, B6, C6, D6, B7, C7, D7, E7, B8, C8, D8, E8, NULL_SQUARE }; static const squareT drawSquares_BPc2_BKd1 [] = { G1, H1, G2, H2, F3, G3, H3, A4, B4, E4, F4, G4, H4, A5, B5, D5, E5, F5, G5, H5, A6, B6, D6, E6, F6, G6, H6, A7, B7, D7, E7, F7, G7, H7, A8, B8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc2_BKd3 [] = { F3, B5, C5, D5, E5, F5, A6, B6, C6, D6, E6, A7, B7, C7, D7, A8, B8, C8, D8, NULL_SQUARE }; static const squareT drawSquares_BPc3_BKb2 [] = { G1, H1, G2, H2, G3, H3, G4, H4, A5, C5, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc3_BKb3 [] = { H1, H2, H3, H4, A5, B5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc3_BKb4 [] = { A6, B6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc3_BKc2 [] = { H1, H2, H3, H4, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc3_BKc4 [] = { H1, H2, H3, H4, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc3_BKd2 [] = { G1, H1, H2, F3, G3, H3, F4, G4, H4, A5, B5, C5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc3_BKd3 [] = { H1, H2, H3, F4, G4, H4, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc3_BKd4 [] = { F5, G5, H5, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc4_BKb3 [] = { A6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc4_BKb4 [] = { A6, A7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc4_BKc3 [] = { F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc4_BKd3 [] = { F5, G5, H5, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc4_BKd4 [] = { E6, F6, G6, H6, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPc4_BKd5 [] = { F7, G7, H7, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd2_BKc1 [] = { G1, H1, G2, H2, A3, G3, H3, A4, B4, E4, F4, G4, H4, A5, B5, E5, F5, G5, H5, A6, B6, E6, F6, G6, H6, A7, B7, E7, F7, G7, H7, A8, B8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd2_BKc3 [] = { A3, A5, B5, C5, D5, E5, B6, C6, D6, E6, C7, D7, E7, F7, C8, D8, E8, F8, NULL_SQUARE }; static const squareT drawSquares_BPd2_BKd1 [] = { H1, H2, H3, A4, G4, H4, A5, B5, C5, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd2_BKd3 [] = { H2, H3, H4, A5, B5, C5, D5, E5, F5, G5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd2_BKe1 [] = { A1, H1, A2, H2, A3, G3, H3, A4, B4, C4, F4, G4, H4, A5, B5, C5, E5, F5, G5, H5, A6, B6, C6, E6, F6, G6, H6, A7, B7, C7, E7, F7, G7, H7, A8, B8, C8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd2_BKe3 [] = { G3, C5, D5, E5, F5, G5, C6, D6, E6, F6, B7, C7, D7, E7, B8, C8, D8, E8, NULL_SQUARE }; static const squareT drawSquares_BPd3_BKc2 [] = { H1, H2, A3, H3, A4, H4, A5, B5, D5, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd3_BKc3 [] = { A4, A5, B5, C5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd3_BKc4 [] = { A5, A6, B6, C6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd3_BKd2 [] = { H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd3_BKd4 [] = { H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd3_BKe2 [] = { H1, H2, G3, H3, G4, H4, A5, B5, C5, D5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd3_BKe3 [] = { G4, H4, E5, F5, G5, H5, A6, B6, C6, D6, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd3_BKe4 [] = { G5, H5, E6, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd4_BKc3 [] = { A5, A6, B6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd4_BKc4 [] = { A6, B6, A7, B7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd4_BKc5 [] = { A7, A8, NULL_SQUARE }; static const squareT drawSquares_BPd4_BKd3 [] = { A7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd4_BKd5 [] = { A8, B8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd4_BKe3 [] = { G5, H5, F6, G6, H6, A7, B7, C7, D7, E7, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd4_BKe4 [] = { F6, G6, H6, F7, G7, H7, A8, B8, C8, D8, E8, F8, G8, H8, NULL_SQUARE }; static const squareT drawSquares_BPd4_BKe5 [] = { G7, H7, G8, H8, NULL_SQUARE }; const squareT * drawSquares = drawSquares_None; if(bp == A2) { if(bk == B2) { drawSquares = drawSquares_BPa2_BKb2; } else if(bk == B3) { drawSquares = drawSquares_BPa2_BKb3; } } else if(bp == A3) { if(bk == B2) { drawSquares = drawSquares_BPa3_BKb2; } else if(bk == B3) { drawSquares = drawSquares_BPa3_BKb3; } else if(bk == B4) { drawSquares = drawSquares_BPa3_BKb4; } } else if(bp == A4) { if(bk == A3) { drawSquares = drawSquares_BPa4_BKa3; } else if(bk == A5) { drawSquares = drawSquares_BPa4_BKa5; } else if(bk == B3) { drawSquares = drawSquares_BPa4_BKb3; } else if(bk == B4) { drawSquares = drawSquares_BPa4_BKb4; } else if(bk == B5) { drawSquares = drawSquares_BPa4_BKb5; } } else if(bp == A5) { if(bk == B4) { drawSquares = drawSquares_BPa5_BKb4; } else if(bk == B5) { drawSquares = drawSquares_BPa5_BKb5; } } else if(bp == B2) { if(bk == A2) { drawSquares = drawSquares_BPb2_BKa2; } else if(bk == A3) { drawSquares = drawSquares_BPb2_BKa3; } else if(bk == B3) { drawSquares = drawSquares_BPb2_BKb3; } else if(bk == C1) { drawSquares = drawSquares_BPb2_BKc1; } else if(bk == C2) { drawSquares = drawSquares_BPb2_BKc2; } else if(bk == C3) { drawSquares = drawSquares_BPb2_BKc3; } } else if(bp == B3) { if(bk == A2) { drawSquares = drawSquares_BPb3_BKa2; } else if(bk == A3) { drawSquares = drawSquares_BPb3_BKa3; } else if(bk == A4) { drawSquares = drawSquares_BPb3_BKa4; } else if(bk == B2) { drawSquares = drawSquares_BPb3_BKb2; } else if(bk == B4) { drawSquares = drawSquares_BPb3_BKb4; } else if(bk == C2) { drawSquares = drawSquares_BPb3_BKc2; } else if(bk == C3) { drawSquares = drawSquares_BPb3_BKc3; } else if(bk == C4) { drawSquares = drawSquares_BPb3_BKc4; } } else if(bp == B4) { if(bk == A3) { drawSquares = drawSquares_BPb4_BKa3; } else if(bk == A4) { drawSquares = drawSquares_BPb4_BKa4; } else if(bk == A5) { drawSquares = drawSquares_BPb4_BKa5; } else if(bk == B3) { drawSquares = drawSquares_BPb4_BKb3; } else if(bk == C3) { drawSquares = drawSquares_BPb4_BKc3; } else if(bk == C4) { drawSquares = drawSquares_BPb4_BKc4; } else if(bk == C5) { drawSquares = drawSquares_BPb4_BKc5; } } else if(bp == B5) { if(bk == C4) { drawSquares = drawSquares_BPb5_BKc4; } else if(bk == C5) { drawSquares = drawSquares_BPb5_BKc5; } } else if(bp == C2) { if(bk == B2) { drawSquares = drawSquares_BPc2_BKb2; } else if(bk == B3) { drawSquares = drawSquares_BPc2_BKb3; } else if(bk == D1) { drawSquares = drawSquares_BPc2_BKd1; } else if(bk == D3) { drawSquares = drawSquares_BPc2_BKd3; } } else if(bp == C3) { if(bk == B2) { drawSquares = drawSquares_BPc3_BKb2; } else if(bk == B3) { drawSquares = drawSquares_BPc3_BKb3; } else if(bk == B4) { drawSquares = drawSquares_BPc3_BKb4; } else if(bk == C2) { drawSquares = drawSquares_BPc3_BKc2; } else if(bk == C4) { drawSquares = drawSquares_BPc3_BKc4; } else if(bk == D2) { drawSquares = drawSquares_BPc3_BKd2; } else if(bk == D3) { drawSquares = drawSquares_BPc3_BKd3; } else if(bk == D4) { drawSquares = drawSquares_BPc3_BKd4; } } else if(bp == C4) { if(bk == B3) { drawSquares = drawSquares_BPc4_BKb3; } else if(bk == B4) { drawSquares = drawSquares_BPc4_BKb4; } else if(bk == C3) { drawSquares = drawSquares_BPc4_BKc3; } else if(bk == D3) { drawSquares = drawSquares_BPc4_BKd3; } else if(bk == D4) { drawSquares = drawSquares_BPc4_BKd4; } else if(bk == D5) { drawSquares = drawSquares_BPc4_BKd5; } } else if(bp == D2) { if(bk == C1) { drawSquares = drawSquares_BPd2_BKc1; } else if(bk == C3) { drawSquares = drawSquares_BPd2_BKc3; } else if(bk == D1) { drawSquares = drawSquares_BPd2_BKd1; } else if(bk == D3) { drawSquares = drawSquares_BPd2_BKd3; } else if(bk == E1) { drawSquares = drawSquares_BPd2_BKe1; } else if(bk == E3) { drawSquares = drawSquares_BPd2_BKe3; } } else if(bp == D3) { if(bk == C2) { drawSquares = drawSquares_BPd3_BKc2; } else if(bk == C3) { drawSquares = drawSquares_BPd3_BKc3; } else if(bk == C4) { drawSquares = drawSquares_BPd3_BKc4; } else if(bk == D2) { drawSquares = drawSquares_BPd3_BKd2; } else if(bk == D4) { drawSquares = drawSquares_BPd3_BKd4; } else if(bk == E2) { drawSquares = drawSquares_BPd3_BKe2; } else if(bk == E3) { drawSquares = drawSquares_BPd3_BKe3; } else if(bk == E4) { drawSquares = drawSquares_BPd3_BKe4; } } else if(bp == D4) { if(bk == C3) { drawSquares = drawSquares_BPd4_BKc3; } else if(bk == C4) { drawSquares = drawSquares_BPd4_BKc4; } else if(bk == C5) { drawSquares = drawSquares_BPd4_BKc5; } else if(bk == D3) { drawSquares = drawSquares_BPd4_BKd3; } else if(bk == D5) { drawSquares = drawSquares_BPd4_BKd5; } else if(bk == E3) { drawSquares = drawSquares_BPd4_BKe3; } else if(bk == E4) { drawSquares = drawSquares_BPd4_BKe4; } else if(bk == E5) { drawSquares = drawSquares_BPd4_BKe5; } } // Scan the list of drawn squares for the white king square: while(*drawSquares != NULL_SQUARE) { if(wk == *drawSquares) { return DRAW; } drawSquares++; } return UNKNOWN; } //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Recognizer::KRPKR // Returns a recognition score for King, Rook and Pawn vs King and Rook. // Contains rules for some draws, checked using tablebases. int Recognizer::KRPKR(Position * pos) { // XXX INCOMPLETE XXX return UNKNOWN; unsigned char * material = pos->GetMaterial(); pieceT * board = pos->GetBoard(); squareT wk, bk, wr, wp, br; colorT stm = pos->GetToMove(); // Set up piece squares so that White has the pawn: if(material[WP] == 1) { wk = pos->GetKingSquare(WHITE); bk = pos->GetKingSquare(BLACK); squareT * sqlist = pos->GetList(WHITE); wr = sqlist[1]; wp = sqlist[2]; if(board[wr] != WR) { squareT temp = wr; wr = wp; wp = temp; } sqlist = pos->GetList(BLACK); br = sqlist[1]; } else { wk = square_FlipRank(pos->GetKingSquare(BLACK)); bk = square_FlipRank(pos->GetKingSquare(WHITE)); squareT * sqlist = pos->GetList(BLACK); wr = sqlist[1]; wp = sqlist[2]; if(board[wr] != BR) { squareT temp = wr; wr = wp; wp = temp; } wr = square_FlipRank(wr); wp = square_FlipRank(wp); sqlist = pos->GetList(WHITE); br = square_FlipRank(sqlist[1]); stm = color_Flip(stm); } // Make sure the pawn is on the queenside: if(square_Fyle(wp) >= E_FYLE) { wk = square_FlipFyle(wk); wr = square_FlipFyle(wr); wp = square_FlipFyle(wp); bk = square_FlipFyle(bk); br = square_FlipFyle(br); } // Get ranks and files of piece squares: int wkRank = square_Rank(wk); int wkFyle = square_Fyle(wk); int wrRank = square_Rank(wr); int wrFyle = square_Fyle(wr); int wpRank = square_Rank(wp); int wpFyle = square_Fyle(wp); int bkRank = square_Rank(bk); int bkFyle = square_Fyle(bk); int brRank = square_Rank(br); int brFyle = square_Fyle(br); // No draws recognized if the black king is behind the pawn: if(bkRank < wpRank) { return UNKNOWN; } // We cannot recognize draws if the rooks share a rank or file: if(wrRank == brRank || wrFyle == brFyle) { return UNKNOWN; } // Designate side-to-move king,rook as sk and sr, enemy as ek and er squareT sk, sr, ek, er; int skRank, srRank, ekRank, erRank; int skFyle, srFyle, ekFyle, erFyle; if(stm == WHITE) { sk = wk; sr = wr; ek = bk; er = br; skRank = wkRank; skFyle = wkFyle; srRank = wrRank; srFyle = wrFyle; ekRank = bkRank; ekFyle = bkFyle; erRank = brRank; erFyle = brFyle; } else { sk = bk; sr = br; ek = wk; er = wr; skRank = bkRank; skFyle = bkFyle; srRank = brRank; srFyle = brFyle; ekRank = wkRank; ekFyle = wkFyle; erRank = wrRank; erFyle = wrFyle; } unsigned int kingDist = square_Distance(wk, bk); // No recognition if the king and rook of the side NOT to move share // a rank or file, since there may be a pin or skewer. if(ekRank == erRank || ekFyle == erFyle) { return UNKNOWN; } // No draws if the side NOT to move king and rook nearly share a // rank or file (that is, are on adjacent ranks or files) and the // king is on an edge, or the enemy king is only 2 squares away. // This can lead to loss of a rook, e.g. WK=d1 WR=a2 and ...Rh1+ // or BK=d6 BR=h7 WK=d4 and Ra6+ wins the rook. if(square_IsEdgeSquare(ek) || kingDist == 2) { int rankDiff = (int)ekRank - (int)erRank; if(rankDiff >= -1 && rankDiff <= 1) { return UNKNOWN; } int fyleDiff = (int)ekFyle - (int)erFyle; if(fyleDiff >= -1 && fyleDiff <= 1) { return UNKNOWN; } } // No recognition if either king attacks the enemy rook: if(square_Adjacent(wk, br)) { return UNKNOWN; } if(square_Adjacent(bk, wr)) { return UNKNOWN; } // No recognition if the white pawn attacks the black rook: if(square_Move(wp, UP_LEFT) == br) { return UNKNOWN; } if(square_Move(wp, UP_RIGHT) == br) { return UNKNOWN; } // Philidor draw: // white pawn and king are on 5th rank or lower, on any file; // black king is on the pawn file and on the 7th/8th rank; // black rook is anywhere on the 6th rank. // Drawn for white or black to move. if(wpRank <= RANK_5 && wkRank <= RANK_5 && bkFyle == wpFyle && bkRank >= RANK_7 && brRank == RANK_6) { // Only exception: WK=a1, WP=b2, WR=b1; White may be checkmated. if(wk == A1 && wp == B2 && wr == B1) { return UNKNOWN; } return DRAW; } // Sixth-rank pawn draws: // white pawn on 6th rank; black king on pawn file on 7th/8th rank; // black rook anywhere on 1st rank; white king on 6th rank or less; // white rook and black king are not on same rank. if(wpRank == RANK_6 && bkFyle == wpFyle && bkRank >= RANK_7 && brRank == RANK_1 && wkRank <= RANK_6 && wrRank != bkRank) { // Black to move: draw if(stm == BLACK) { return DRAW; } // White to move: draw if the kings are > 2 squares apart, and // the white king and black rook do not share a rank or file. if(wkRank != brRank && wkFyle != brFyle && square_Distance(wk, bk) > 2) { return DRAW; } } // TODO: Common a-pawn draws. if(wpFyle == A_FYLE) { // .... } return UNKNOWN; } } // End namespace Guess ////////////////////////////////////////////////////////////////////// // EOF: recog.cpp ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/recog.h000644 000765 000024 00000003503 12223260306 016102 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: recog.h // Endgame knowledge recognition class // // Part of: Scid (Shane's Chess Information Database) // Version: 3.4 // // Notice: Copyright (c) 2002 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #include "guessengine.h" #include "position.h" namespace Guess { // The Recognizer class provides score bound information for chess // endgames. // Only positions with a total of 6 or fewer pieces (including kings // and pawns) are potentially recognizable. static const unsigned int MAX_RECOGNIZED_PIECES = 6; // Recognition value conversion: a recognition score contains a // regular score shifted left 4 bits to make room for a score flag. inline int recogValue(scoreFlagT flag, int score) { return ((score * 16) | flag); } inline int recogScore(int value) { return value / 16; } inline scoreFlagT recogFlag(int value) { return value & 15; } class Recognizer { private: static int KPK(Position * pos); static int KBBK(Position * pos); static int KBNK(Position * pos); static int KBPK(Position * pos); static int KRKB(Position * pos); static int KRKN(Position * pos); static int KMKP(Position * pos); static int KQKP(Position * pos); static int KRKP(Position * pos); static int KRPKR(Position * pos); public: static unsigned int MaxPieces(void) { return MAX_RECOGNIZED_PIECES; } static int Recognize(Position * pos); }; } // End namespace Guess ////////////////////////////////////////////////////////////////////// // EOF: recog.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/sqlist.h000644 000765 000024 00000003524 12223260306 016325 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: sqlist.h // SquareList class // // Part of: Scid (Shane's Chess Information Database) // Version: 3.4 // // Notice: Copyright (c) 2002 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #ifndef SCID_SQLIST_H #define SCID_SQLIST_H #include "common.h" namespace Guess { const unsigned int MAX_SQUARELIST = 65; // 64 squares plus null square class SquareList { private: unsigned int ListSize; squareT Squares [MAX_SQUARELIST]; public: SquareList() { ListSize = 0; } ~SquareList() {} inline void Init() { ListSize = 0; } inline void Clear() { ListSize = 0; } inline void Add(squareT sq) { Squares[ListSize] = sq; ListSize++; } inline unsigned int Size() { return ListSize; } inline squareT Get(unsigned int index); inline bool Contains(squareT sq); inline void Remove(unsigned int index); }; inline squareT SquareList::Get(unsigned int index) { ASSERT(index < ListSize); return Squares[index]; } inline bool SquareList::Contains(squareT sq) { for(unsigned int i = 0; i < ListSize; i++) { if(Squares[i] == sq) { return true; } } return false; } inline void SquareList::Remove(unsigned int index) { ASSERT(index < ListSize); ListSize--; if(index != ListSize) { Squares[index] = Squares[ListSize]; } } } // End namespace Guess #endif // SCID_SQLIST_H ////////////////////////////////////////////////////////////////////// // EOF: sqlist.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/sqmove.h000644 000765 000024 00000023010 12223260306 016310 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: sqmove.h // Square movement lookup table // // Part of: Scid (Shane's Chess Information Database) // Version: 3.4 // // Notice: Copyright (c) 1999-2002 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #ifndef SCID_SQMOVE_H #define SCID_SQMOVE_H //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // sqMove // Array indexed by square value and direction, giving the square // obtained by moving from the square in that direction. const squareT sqMove[66][11] = { /* UP DOWN LEFT UL DL RIGHT UR DR */ { /* A1 */ NS, A2, NS, NS, NS, NS, NS, NS, B1, B2, NS }, { /* B1 */ NS, B2, NS, NS, A1, A2, NS, NS, C1, C2, NS }, { /* C1 */ NS, C2, NS, NS, B1, B2, NS, NS, D1, D2, NS }, { /* D1 */ NS, D2, NS, NS, C1, C2, NS, NS, E1, E2, NS }, { /* E1 */ NS, E2, NS, NS, D1, D2, NS, NS, F1, F2, NS }, { /* F1 */ NS, F2, NS, NS, E1, E2, NS, NS, G1, G2, NS }, { /* G1 */ NS, G2, NS, NS, F1, F2, NS, NS, H1, H2, NS }, { /* H1 */ NS, H2, NS, NS, G1, G2, NS, NS, NS, NS, NS }, { /* A2 */ NS, A3, A1, NS, NS, NS, NS, NS, B2, B3, B1 }, { /* B2 */ NS, B3, B1, NS, A2, A3, A1, NS, C2, C3, C1 }, { /* C2 */ NS, C3, C1, NS, B2, B3, B1, NS, D2, D3, D1 }, { /* D2 */ NS, D3, D1, NS, C2, C3, C1, NS, E2, E3, E1 }, { /* E2 */ NS, E3, E1, NS, D2, D3, D1, NS, F2, F3, F1 }, { /* F2 */ NS, F3, F1, NS, E2, E3, E1, NS, G2, G3, G1 }, { /* G2 */ NS, G3, G1, NS, F2, F3, F1, NS, H2, H3, H1 }, { /* H2 */ NS, H3, H1, NS, G2, G3, G1, NS, NS, NS, NS }, { /* A3 */ NS, A4, A2, NS, NS, NS, NS, NS, B3, B4, B2 }, { /* B3 */ NS, B4, B2, NS, A3, A4, A2, NS, C3, C4, C2 }, { /* C3 */ NS, C4, C2, NS, B3, B4, B2, NS, D3, D4, D2 }, { /* D3 */ NS, D4, D2, NS, C3, C4, C2, NS, E3, E4, E2 }, { /* E3 */ NS, E4, E2, NS, D3, D4, D2, NS, F3, F4, F2 }, { /* F3 */ NS, F4, F2, NS, E3, E4, E2, NS, G3, G4, G2 }, { /* G3 */ NS, G4, G2, NS, F3, F4, F2, NS, H3, H4, H2 }, { /* H3 */ NS, H4, H2, NS, G3, G4, G2, NS, NS, NS, NS }, { /* A4 */ NS, A5, A3, NS, NS, NS, NS, NS, B4, B5, B3 }, { /* B4 */ NS, B5, B3, NS, A4, A5, A3, NS, C4, C5, C3 }, { /* C4 */ NS, C5, C3, NS, B4, B5, B3, NS, D4, D5, D3 }, { /* D4 */ NS, D5, D3, NS, C4, C5, C3, NS, E4, E5, E3 }, { /* E4 */ NS, E5, E3, NS, D4, D5, D3, NS, F4, F5, F3 }, { /* F4 */ NS, F5, F3, NS, E4, E5, E3, NS, G4, G5, G3 }, { /* G4 */ NS, G5, G3, NS, F4, F5, F3, NS, H4, H5, H3 }, { /* H4 */ NS, H5, H3, NS, G4, G5, G3, NS, NS, NS, NS }, { /* A5 */ NS, A6, A4, NS, NS, NS, NS, NS, B5, B6, B4 }, { /* B5 */ NS, B6, B4, NS, A5, A6, A4, NS, C5, C6, C4 }, { /* C5 */ NS, C6, C4, NS, B5, B6, B4, NS, D5, D6, D4 }, { /* D5 */ NS, D6, D4, NS, C5, C6, C4, NS, E5, E6, E4 }, { /* E5 */ NS, E6, E4, NS, D5, D6, D4, NS, F5, F6, F4 }, { /* F5 */ NS, F6, F4, NS, E5, E6, E4, NS, G5, G6, G4 }, { /* G5 */ NS, G6, G4, NS, F5, F6, F4, NS, H5, H6, H4 }, { /* H5 */ NS, H6, H4, NS, G5, G6, G4, NS, NS, NS, NS }, { /* A6 */ NS, A7, A5, NS, NS, NS, NS, NS, B6, B7, B5 }, { /* B6 */ NS, B7, B5, NS, A6, A7, A5, NS, C6, C7, C5 }, { /* C6 */ NS, C7, C5, NS, B6, B7, B5, NS, D6, D7, D5 }, { /* D6 */ NS, D7, D5, NS, C6, C7, C5, NS, E6, E7, E5 }, { /* E6 */ NS, E7, E5, NS, D6, D7, D5, NS, F6, F7, F5 }, { /* F6 */ NS, F7, F5, NS, E6, E7, E5, NS, G6, G7, G5 }, { /* G6 */ NS, G7, G5, NS, F6, F7, F5, NS, H6, H7, H5 }, { /* H6 */ NS, H7, H5, NS, G6, G7, G5, NS, NS, NS, NS }, { /* A7 */ NS, A8, A6, NS, NS, NS, NS, NS, B7, B8, B6 }, { /* B7 */ NS, B8, B6, NS, A7, A8, A6, NS, C7, C8, C6 }, { /* C7 */ NS, C8, C6, NS, B7, B8, B6, NS, D7, D8, D6 }, { /* D7 */ NS, D8, D6, NS, C7, C8, C6, NS, E7, E8, E6 }, { /* E7 */ NS, E8, E6, NS, D7, D8, D6, NS, F7, F8, F6 }, { /* F7 */ NS, F8, F6, NS, E7, E8, E6, NS, G7, G8, G6 }, { /* G7 */ NS, G8, G6, NS, F7, F8, F6, NS, H7, H8, H6 }, { /* H7 */ NS, H8, H6, NS, G7, G8, G6, NS, NS, NS, NS }, { /* A8 */ NS, NS, A7, NS, NS, NS, NS, NS, B8, NS, B7 }, { /* B8 */ NS, NS, B7, NS, A8, NS, A7, NS, C8, NS, C7 }, { /* C8 */ NS, NS, C7, NS, B8, NS, B7, NS, D8, NS, D7 }, { /* D8 */ NS, NS, D7, NS, C8, NS, C7, NS, E8, NS, E7 }, { /* E8 */ NS, NS, E7, NS, D8, NS, D7, NS, F8, NS, F7 }, { /* F8 */ NS, NS, F7, NS, E8, NS, E7, NS, G8, NS, G7 }, { /* G8 */ NS, NS, G7, NS, F8, NS, F7, NS, H8, NS, H7 }, { /* H8 */ NS, NS, H7, NS, G8, NS, G7, NS, NS, NS, NS }, { /* NS */ NS, NS, NS, NS, NS, NS, NS, NS, NS, NS, NS }, { /* NS */ NS, NS, NS, NS, NS, NS, NS, NS, NS, NS, NS } }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // sqLast // Array indexed by square value and direction, giving the last // square reached by moving from the square in that direction. // The last square is the same as the original square if moving // in the specified direction would move off the board. const squareT sqLast[66][11] = { /* UP DOWN LEFT UL DL RIGHT UR DR */ { /* A1 */ NS, A8, A1, NS, A1, A1, A1, NS, H1, H8, A1 }, { /* B1 */ NS, B8, B1, NS, A1, A2, B1, NS, H1, H7, B1 }, { /* C1 */ NS, C8, C1, NS, A1, A3, C1, NS, H1, H6, C1 }, { /* D1 */ NS, D8, D1, NS, A1, A4, D1, NS, H1, H5, D1 }, { /* E1 */ NS, E8, E1, NS, A1, A5, E1, NS, H1, H4, E1 }, { /* F1 */ NS, F8, F1, NS, A1, A6, F1, NS, H1, H3, F1 }, { /* G1 */ NS, G8, G1, NS, A1, A7, G1, NS, H1, H2, G1 }, { /* H1 */ NS, H8, H1, NS, A1, A8, H1, NS, H1, H1, H1 }, { /* A2 */ NS, A8, A1, NS, A2, A2, A2, NS, H2, G8, B1 }, { /* B2 */ NS, B8, B1, NS, A2, A3, A1, NS, H2, H8, C1 }, { /* C2 */ NS, C8, C1, NS, A2, A4, B1, NS, H2, H7, D1 }, { /* D2 */ NS, D8, D1, NS, A2, A5, C1, NS, H2, H6, E1 }, { /* E2 */ NS, E8, E1, NS, A2, A6, D1, NS, H2, H5, F1 }, { /* F2 */ NS, F8, F1, NS, A2, A7, E1, NS, H2, H4, G1 }, { /* G2 */ NS, G8, G1, NS, A2, A8, F1, NS, H2, H3, H1 }, { /* H2 */ NS, H8, H1, NS, A2, B8, G1, NS, H2, H2, H2 }, { /* A3 */ NS, A8, A1, NS, A3, A3, A3, NS, H3, F8, C1 }, { /* B3 */ NS, B8, B1, NS, A3, A4, A2, NS, H3, G8, D1 }, { /* C3 */ NS, C8, C1, NS, A3, A5, A1, NS, H3, H8, E1 }, { /* D3 */ NS, D8, D1, NS, A3, A6, B1, NS, H3, H7, F1 }, { /* E3 */ NS, E8, E1, NS, A3, A7, C1, NS, H3, H6, G1 }, { /* F3 */ NS, F8, F1, NS, A3, A8, D1, NS, H3, H5, H1 }, { /* G3 */ NS, G8, G1, NS, A3, B8, E1, NS, H3, H4, H2 }, { /* H3 */ NS, H8, H1, NS, A3, C8, F1, NS, H3, H3, H3 }, { /* A4 */ NS, A8, A1, NS, A4, A4, A4, NS, H4, E8, D1 }, { /* B4 */ NS, B8, B1, NS, A4, A5, A3, NS, H4, F8, E1 }, { /* C4 */ NS, C8, C1, NS, A4, A6, A2, NS, H4, G8, F1 }, { /* D4 */ NS, D8, D1, NS, A4, A7, A1, NS, H4, H8, G1 }, { /* E4 */ NS, E8, E1, NS, A4, A8, B1, NS, H4, H7, H1 }, { /* F4 */ NS, F8, F1, NS, A4, B8, C1, NS, H4, H6, H2 }, { /* G4 */ NS, G8, G1, NS, A4, C8, D1, NS, H4, H5, H3 }, { /* H4 */ NS, H8, H1, NS, A4, D8, E1, NS, H4, H4, H4 }, { /* A5 */ NS, A8, A1, NS, A5, A5, A5, NS, H5, D8, E1 }, { /* B5 */ NS, B8, B1, NS, A5, A6, A4, NS, H5, E8, F1 }, { /* C5 */ NS, C8, C1, NS, A5, A7, A3, NS, H5, F8, G1 }, { /* D5 */ NS, D8, D1, NS, A5, A8, A2, NS, H5, G8, H1 }, { /* E5 */ NS, E8, E1, NS, A5, B8, A1, NS, H5, H8, H2 }, { /* F5 */ NS, F8, F1, NS, A5, C8, B1, NS, H5, H7, H3 }, { /* G5 */ NS, G8, G1, NS, A5, D8, C1, NS, H5, H6, H4 }, { /* H5 */ NS, H8, H1, NS, A5, E8, D1, NS, H5, H5, H5 }, { /* A6 */ NS, A8, A1, NS, A6, A6, A6, NS, H6, C8, F1 }, { /* B6 */ NS, B8, B1, NS, A6, A7, A5, NS, H6, D8, G1 }, { /* C6 */ NS, C8, C1, NS, A6, A8, A4, NS, H6, E8, H1 }, { /* D6 */ NS, D8, D1, NS, A6, B8, A3, NS, H6, F8, H2 }, { /* E6 */ NS, E8, E1, NS, A6, C8, A2, NS, H6, G8, H3 }, { /* F6 */ NS, F8, F1, NS, A6, D8, A1, NS, H6, H8, H4 }, { /* G6 */ NS, G8, G1, NS, A6, E8, B1, NS, H6, H7, H5 }, { /* H6 */ NS, H8, H1, NS, A6, F8, C1, NS, H6, H6, H6 }, { /* A7 */ NS, A8, A1, NS, A7, A7, A7, NS, H7, B8, G1 }, { /* B7 */ NS, B8, B1, NS, A7, A8, A6, NS, H7, C8, H1 }, { /* C7 */ NS, C8, C1, NS, A7, B8, A5, NS, H7, D8, H2 }, { /* D7 */ NS, D8, D1, NS, A7, C8, A4, NS, H7, E8, H3 }, { /* E7 */ NS, E8, E1, NS, A7, D8, A3, NS, H7, F8, H4 }, { /* F7 */ NS, F8, F1, NS, A7, E8, A2, NS, H7, G8, H5 }, { /* G7 */ NS, G8, G1, NS, A7, F8, A1, NS, H7, H8, H6 }, { /* H7 */ NS, H8, H1, NS, A7, G8, B1, NS, H7, H7, H7 }, { /* A8 */ NS, A8, A1, NS, A8, A8, A8, NS, H8, A8, H1 }, { /* B8 */ NS, B8, B1, NS, A8, B8, A7, NS, H8, B8, H2 }, { /* C8 */ NS, C8, C1, NS, A8, C8, A6, NS, H8, C8, H3 }, { /* D8 */ NS, D8, D1, NS, A8, D8, A5, NS, H8, D8, H4 }, { /* E8 */ NS, E8, E1, NS, A8, E8, A4, NS, H8, E8, H5 }, { /* F8 */ NS, F8, F1, NS, A8, F8, A3, NS, H8, F8, H6 }, { /* G8 */ NS, G8, G1, NS, A8, G8, A2, NS, H8, G8, H7 }, { /* H8 */ NS, H8, H1, NS, A8, H8, A1, NS, H8, H8, H8 }, { /* NS */ NS, NS, NS, NS, NS, NS, NS, NS, NS, NS, NS }, { /* NS */ NS, NS, NS, NS, NS, NS, NS, NS, NS, NS, NS } }; #endif ////////////////////////////////////////////////////////////////////// // EOF: sqmove.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/sqset.h000644 000765 000024 00000004360 12223260306 016144 0ustar00nistaff000000 000000 ////////////////////////////////////////////////////////////////////// // // FILE: sqset.h // SquareSet class // // Part of: Scid (Shane's Chess Information Database) // Version: 3.4 // // Notice: Copyright (c) 2002 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // ////////////////////////////////////////////////////////////////////// #ifndef SCID_SQSET_H #define SCID_SQSET_H #include "common.h" namespace Guess { class SquareSet { private: unsigned int Bits_a1h4; unsigned int Bits_a5h8; public: SquareSet() { Bits_a1h4 = Bits_a5h8 = 0; } SquareSet(squareT * squares) { Bits_a1h4 = Bits_a5h8 = 0; AddAll(squares); } ~SquareSet() {} inline void Clear(void) { Bits_a1h4 = Bits_a5h8 = 0; } inline void Add(squareT sq); inline void AddAll(void) { Bits_a1h4 = Bits_a5h8 = 0xFFFFFFFFu; } inline void AddAll(squareT * squares); inline bool Contains(squareT sq); inline void Remove(squareT sq); }; inline void SquareSet::Add(squareT sq) { ASSERT(sq <= H8); if(sq <= H4) { Bits_a1h4 |= (1 << sq); } else { Bits_a5h8 |= (1 << (sq & 31)); } } inline void SquareSet::AddAll(squareT * squares) { while(true) { squareT sq = *squares; if(sq == NULL_SQUARE) { break; } ASSERT(sq <= H8); squares++; if(sq <= H4) { Bits_a1h4 |= (1 << sq); } else { Bits_a5h8 |= (1 << (sq & 31)); } } } inline bool SquareSet::Contains(squareT sq) { ASSERT(sq <= H8); if(sq <= H4) { return (Bits_a1h4 & (1 << sq)) != 0; } else { return (Bits_a5h8 & (1 << (sq & 31))) != 0; } } inline void SquareSet::Remove(squareT sq) { ASSERT(sq <= H8); if(sq <= H4) { Bits_a1h4 &= ~(1 << sq); } else { Bits_a5h8 &= ~(1 << (sq & 31)); } } } // End namespace Guess #endif // SCID_SQSET_H ////////////////////////////////////////////////////////////////////// // EOF: sqset.h ////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/guess/tokens.h000644 000765 000024 00000004610 12223260306 016306 0ustar00nistaff000000 000000 /////////////////////////////////////////////////////////////////////////// // // FILE: tokens.h // Tokens used for scanning PGN. // // Part of: Scid (Shane's Chess Information Database) // Version: 3.4 // // Notice: Copyright (c) 1999-2001 Shane Hudson. All rights reserved. // // Author: Shane Hudson (sgh@users.sourceforge.net) // /////////////////////////////////////////////////////////////////////////// #ifndef SCID_TOKENS_H #define SCID_TOKENS_H namespace Guess { // // TOKENS used by PGN scanner // typedef unsigned int tokenT; #define MAX_TOKEN 58; const tokenT TOKEN_EndOfInput = 0, // No more characters to read from input source TOKEN_Invalid = 1, // Unknown token TOKEN_MoveNum = 3, // Move Number. e.g. "1." or "2..." TOKEN_Ignore = 4; // Anything ignored, like "e.p." const tokenT TOKEN_Move_Pawn = 5, // Excludes Promotions TOKEN_Move_Promote = 6, // Promotions TOKEN_Move_Piece = 7, // Includes ambiguous moves and captures TOKEN_Move_Castle_King = 8, TOKEN_Move_Castle_Queen = 9, TOKEN_Move_Null = 10; inline bool TOKEN_isMove(tokenT token) { return (token >= TOKEN_Move_Pawn && token <= TOKEN_Move_Null); } inline bool TOKEN_isPawnMove(tokenT token) { return (token == TOKEN_Move_Pawn || token == TOKEN_Move_Promote); } // Tags: currently only TOKEN_Tag. Maybe eventually have TOKEN_Tag_Event, etc. const tokenT TOKEN_Tag = 20, TOKEN_TagEnd = 21; #define TOKEN_isTag(x) ((x) == TOKEN_Tag) // Results const tokenT TOKEN_Result_White = 41, // White wins TOKEN_Result_Black = 42, // Black wins TOKEN_Result_Draw = 43, // Draw TOKEN_Result_Star = 44; // Incomplete/unknown ("*") #define TOKEN_isResult(x) (((x) >= 41) && ((x) <= 44)) // Comments, Variations const tokenT TOKEN_Nag = 51, // $xxx example: $12 TOKEN_Suffix = 52, // !, ?, !!, ??, !?, ?! TOKEN_Check = 53, // "+" TOKEN_Mate = 54, // "#" TOKEN_Comment = 55, // { .... } TOKEN_LineComment = 56, // "%" or ";" until end of line TOKEN_VarStart = 57, // "(" .... TOKEN_VarEnd = 58, // .... ")" TOKEN_CommentEnd = 59; // "}" outside of comment, should not happen } // End namespace Guess #endif // SCID_TOKENS_H /////////////////////////////////////////////////////////////////////////// // EOF: tokens.h /////////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/dialogs/aboutdlg.cpp000644 000765 000024 00000004345 12507517064 017453 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2013 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "aboutdlg.h" #include "settings.h" #include "version.h" #include "ui_aboutdlg.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER AboutDlg::AboutDlg(QWidget *parent) : QDialog(parent), ui(new Ui::AboutDlg) { ui->setupUi(this); restoreLayout(); QString refPath = AppSettings->dataPath(); ui->labelDataPath->setText(refPath); refPath = AppSettings->getTempPath(); ui->labelTempPath->setText(refPath); ui->labelCopyRightDate->setText(COPYRIGHT_DATE); QString version = QString(STR_REVISION).replace(',', '.'); #ifdef Q_OS_UNIX #ifndef Q_OS_MAC version += " UNIX"; #endif #endif #ifdef Q_OS_DARWIN version += " MAC"; #endif #ifdef Q_OS_WIN version += " WIN"; #endif #ifdef QT_POINTER_SIZE version.append(QString::number(8*QT_POINTER_SIZE)); #endif #ifdef Q_CC_GNU version += " GNU"; #endif #if _MSC_VER && !__INTEL_COMPILER version.append(QString(" MSVC%1").arg(_MSC_VER/100-6)); #endif #ifdef QT_VERSION_STR version += " Qt"; version += QT_VERSION_STR; #endif ui->labelVersion->setText(version); QString settingsPath = AppSettings->fileName(); ui->labelSettingsPath->setText(settingsPath); ui->labelTempPath->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); ui->labelDataPath->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); ui->labelSettingsPath->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); ui->labelHomepage->setTextInteractionFlags(Qt::TextBrowserInteraction); ui->labelMailingList->setTextInteractionFlags(Qt::TextBrowserInteraction); } void AboutDlg::restoreLayout() { AppSettings->layout(this); } AboutDlg::~AboutDlg() { delete ui; } void AboutDlg::accept() { AppSettings->setLayout(this); QDialog::accept(); } void AboutDlg::reject() { AppSettings->setLayout(this); QDialog::reject(); } ./chessx-1.3.2/src/dialogs/aboutdlg.h000644 000765 000024 00000001110 12463164747 017112 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2013 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef ABOUTDLG_H #define ABOUTDLG_H #include namespace Ui { class AboutDlg; } class AboutDlg : public QDialog { Q_OBJECT public: explicit AboutDlg(QWidget *parent = 0); ~AboutDlg(); protected slots: void restoreLayout(); void accept(); void reject(); private: Ui::AboutDlg *ui; }; #endif // ABOUTDLG_H ./chessx-1.3.2/src/dialogs/aboutdlg.ui000644 000765 000024 00000031145 12463164747 017313 0ustar00nistaff000000 000000 AboutDlg 0 0 517 837 About ChessX :/images/chessx.png:/images/chessx.png :/images/chessx.png false <b>ChessX</b><br> Free Chess Database QFormLayout::FieldsStayAtSizeHint -1 5 5 Version QFrame::Panel QFrame::Sunken vvv Copyright QFrame::Panel QFrame::Sunken ccc License QFrame::Box QFrame::Sunken GNU General Public License 2 - GPLv2 Maintainer QFrame::Panel QFrame::Sunken Jens Nissen Further Maintainers QFrame::Panel QFrame::Sunken Michal Rudolf, Ejner Borgbjerg Testing QFrame::Panel QFrame::Sunken Bruno Rizzuti Coders QFrame::Panel QFrame::Sunken Jens Nissen Further Code QFrame::Panel QFrame::Sunken James Coons Marius Roets Sean Estabrooks Rico Zenklusen Heinz Hopfgartner William Hoggarth Translations QFrame::Panel QFrame::Sunken Byrial Jensen Bruno Rizzuti Jens Nissen Joachim Katzer Olivier Roset Marcos A. Piñas Path Information QFormLayout::FieldsStayAtSizeHint Path for temporary files QFrame::Panel QFrame::Sunken ttt false Program data path QFrame::Panel QFrame::Sunken ddd false Path to settings QFrame::Panel QFrame::Sunken sss Contact Homepage QFrame::Panel QFrame::Sunken <a href="http://chessx.sourceforge.net">http://chessx.sourceforge.net</a> true Mailing List QFrame::Panel QFrame::Sunken <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net</a> true Qt::Horizontal Qt::Horizontal QDialogButtonBox::Close buttonBox rejected() AboutDlg accept() 248 254 157 274 buttonBox accepted() AboutDlg reject() 382 790 258 418 ./chessx-1.3.2/src/dialogs/actiondialog.cpp000644 000765 000024 00000012114 12507517064 020300 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2013 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include #include #include #include #include #include #include "actiondialog.h" #include "kbaction.h" #include "settings.h" #include "ui_actiondialog.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ActionDialog::ActionDialog(QWidget *parent) : QDialog(parent), ui(new Ui::ActionDialog) { ui->setupUi(this); AppSettings->layout(this); resetList(); connect(ui->buttonBox->button(QDialogButtonBox::Reset), SIGNAL(clicked()), this, SLOT(resetKeys())); connect(ui->actionsTable, SIGNAL(cellActivated(int,int)), this, SLOT(saveOldActionText(int, int))); connect(ui->actionsTable, SIGNAL(cellChanged(int, int)), this, SLOT(validateAction(int, int))); } ActionDialog::~ActionDialog() { delete ui; } void ActionDialog::resetList() { if (!parent()) return; QList actions = parent()->findChildren(); int row = 0; ui->actionsTable->setSortingEnabled(false); ui->actionsTable->clearContents(); foreach (KbAction* action, actions) { QString text = normalizedText(action); if (!text.isEmpty()) { connect(this, SIGNAL(signalResetKey()), action, SLOT(resetKey()), Qt::UniqueConnection); if (row >= ui->actionsTable->rowCount()) { ui->actionsTable->insertRow(row); } QTableWidgetItem* firstCol = new QTableWidgetItem(text); firstCol->setIcon(action->icon()); firstCol->setFlags(firstCol->flags() & ~Qt::ItemIsEditable); QTableWidgetItem* secondCol = new QTableWidgetItem(action->shortcut().toString(QKeySequence::PortableText)); secondCol->setFlags(secondCol->flags() | Qt::ItemIsEditable); ui->actionsTable->setItem(row, 0, firstCol); ui->actionsTable->setItem(row, 1, secondCol); ++row; } } ui->actionsTable->resizeColumnsToContents(); ui->actionsTable->setSortingEnabled(true); } QString ActionDialog::normalizedText(const QAction* action) const { QString text; const QMenu* parentMenu = qobject_cast(action->parent()); if (parentMenu && !parentMenu->title().isEmpty()) { text = parentMenu->title() + "/" + action->text(); } else { text = action->text(); } text.remove('&'); return text; } void ActionDialog::reject() { AppSettings->setLayout(this); QDialog::reject(); } void ActionDialog::accept() { QList actions = parent()->findChildren(); AppSettings->remove("/Keyboard/"); AppSettings->beginGroup("/Keyboard/"); foreach (KbAction* action, actions) { QString text = normalizedText(action); for (int i=0;iactionsTable->rowCount();++i) { QTableWidgetItem* pItem = ui->actionsTable->item(i, 0); if (pItem->text() == text) { QString newAccel = ui->actionsTable->item(i,1)->text(); if (newAccel != action->shortcut().toString(QKeySequence::PortableText)) { action->setShortcut(QKeySequence(newAccel,QKeySequence::PortableText)); action->saveKeyShortcut(); } } } } AppSettings->endGroup(); AppSettings->setLayout(this); QDialog::accept(); } void ActionDialog::saveOldActionText(int row, int column) { oldAccelText = ui->actionsTable->item(row, column)->text(); } void ActionDialog::validateAction(int row, int column) { QTableWidgetItem* item = ui->actionsTable->item(row, column); QString accelText = QString(item->text()); if (!accelText.isEmpty()) { for (int i=0;iactionsTable->rowCount();++i) { QTableWidgetItem* pItem = ui->actionsTable->item(i, column); if (pItem != item) { QString currentAccel = ui->actionsTable->item(i,column)->text(); if (currentAccel == accelText) { // Duplicate item, restore old text item->setText(oldAccelText); return; } } } } } void ActionDialog::resetKeys() { emit signalResetKey(); disconnect(ui->actionsTable, SIGNAL(cellActivated(int,int)), this, SLOT(saveOldActionText(int, int))); disconnect(ui->actionsTable, SIGNAL(cellChanged(int, int)), this, SLOT(validateAction(int, int))); resetList(); connect(ui->actionsTable, SIGNAL(cellActivated(int,int)), this, SLOT(saveOldActionText(int, int))); connect(ui->actionsTable, SIGNAL(cellChanged(int, int)), this, SLOT(validateAction(int, int))); } ./chessx-1.3.2/src/dialogs/actiondialog.h000644 000765 000024 00000001671 12463164747 017762 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2013 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef ACTIONSDIALOG_H #define ACTIONSDIALOG_H #include #include class QAction; class QTableWidget; class QTableItem; class QWidget; namespace Ui { class ActionDialog; } class ActionDialog : public QDialog { Q_OBJECT public: explicit ActionDialog(QWidget *parent); ~ActionDialog(); signals: void signalResetKey(); protected slots: void accept(); void reject(); private slots: void saveOldActionText(int row, int column); void validateAction(int row, int column); void resetKeys(); protected: QString normalizedText(const QAction *action) const; void resetList(); private: QString oldAccelText; private: Ui::ActionDialog *ui; }; #endif ./chessx-1.3.2/src/dialogs/actiondialog.ui000644 000765 000024 00000005035 12463164747 020146 0ustar00nistaff000000 000000 ActionDialog 0 0 400 300 Customize Keyboard true true 2 true false Menu Item AlignLeft|AlignVCenter Keyboard Shortcut Qt::Horizontal Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::Reset buttonBox accepted() ActionDialog accept() 248 254 157 274 buttonBox rejected() ActionDialog reject() 316 260 286 274 ./chessx-1.3.2/src/dialogs/boardsearchdialog.cpp000644 000765 000024 00000005334 12515660671 021310 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "boardsearchdialog.h" #include "ui_boardsearchdialog.h" #include "search.h" #include "settings.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER BoardSearchDialog::BoardSearchDialog(QWidget *parent) : QDialog(parent), ui(new Ui::BoardSearchDialog) { ui->setupUi(this); ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Find")); restoreLayout(); ui->boardView->configure(); ui->boardView->setFlags(BoardView::IgnoreSideToMove | BoardView::SuppressGuessMove); ui->boardView->showMoveIndicator(false); ui->boardView->setEnabled(false); ui->modeCombo->addItem(tr("Find in current filter"), Search::And); ui->modeCombo->addItem(tr("Search whole database"), Search::NullOperator); ui->modeCombo->addItem(tr("Add to current filter"), Search::Or); ui->modeCombo->addItem(tr("Remove from current filter"), Search::Remove); connect(ui->btLeft, SIGNAL(clicked()), SLOT(showPrevBoard())); connect(ui->btRight, SIGNAL(clicked()), SLOT(showNextBoard())); m_currentBoardIndex = 0; } BoardSearchDialog::~BoardSearchDialog() { delete ui; } void BoardSearchDialog::restoreLayout() { AppSettings->layout(this); } void BoardSearchDialog::showPrevBoard() { m_currentBoardIndex--; if (m_currentBoardIndex < 0) { m_currentBoardIndex = m_boardList.size() - 1; } setCurrentBoard(); } void BoardSearchDialog::showNextBoard() { m_currentBoardIndex++; if (m_currentBoardIndex >= m_boardList.size()) { m_currentBoardIndex = 0; } setCurrentBoard(); } int BoardSearchDialog::mode() const { if(ui->modeCombo->currentIndex() == -1) { return 0; } return ui->modeCombo->itemData(ui->modeCombo->currentIndex()).toInt(); } void BoardSearchDialog::accept() { AppSettings->setLayout(this); QDialog::accept(); } void BoardSearchDialog::reject() { AppSettings->setLayout(this); QDialog::reject(); } void BoardSearchDialog::setCurrentBoard() { const Board& b = m_boardList.at(m_currentBoardIndex); ui->boardView->setBoard(b); } void BoardSearchDialog::setBoardList(QList list) { m_boardList = list; ui->boardView->setBoard(list.at(0)); m_currentBoardIndex = 0; ui->btLeft->setEnabled(m_boardList.size()>1); ui->btRight->setEnabled(m_boardList.size()>1); } int BoardSearchDialog::boardIndex() const { return m_currentBoardIndex; } ./chessx-1.3.2/src/dialogs/boardsearchdialog.h000644 000765 000024 00000001621 12515660671 020750 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef BOARDSEARCHDIALOG_H #define BOARDSEARCHDIALOG_H #include #include "board.h" namespace Ui { class BoardSearchDialog; } class BoardSearchDialog : public QDialog { Q_OBJECT public: explicit BoardSearchDialog(QWidget *parent = 0); ~BoardSearchDialog(); int mode() const; void setBoardList(QList); int boardIndex() const; protected slots: void reject(); void accept(); void restoreLayout(); void showPrevBoard(); void showNextBoard(); protected: void setCurrentBoard(); private: Ui::BoardSearchDialog *ui; QList m_boardList; int m_currentBoardIndex; }; #endif // BOARDSEARCHDIALOG_H ./chessx-1.3.2/src/dialogs/boardsearchdialog.ui000644 000765 000024 00000007504 12515660671 021144 0ustar00nistaff000000 000000 BoardSearchDialog 0 0 488 298 Search Board Previous Previous :/images/prev.png:/images/prev.png Next Next :/images/next.png:/images/next.png Qt::Horizontal 40 20 0 0 Qt::Vertical 20 40 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok BoardView QWidget
boardview.h
buttonBox accepted() BoardSearchDialog accept() 243 269 243 148 buttonBox rejected() BoardSearchDialog reject() 243 269 243 148
./chessx-1.3.2/src/dialogs/commentdialog.cpp000644 000765 000024 00000006270 12507517064 020473 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2010 by Michal Rudolf * * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "commentdialog.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER CommentDialog::TimeMode CommentDialog::lastTimeMode = CommentDialog::Egt; CommentDialog::CommentDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f) { ui.setupUi(this); connect(ui.clearTime, SIGNAL(clicked()), this, SLOT(clearTimeSlot())); connect(ui.clearText, SIGNAL(clicked()), this, SLOT(clearTextSlot())); } QString CommentDialog::text() const { QString s; if(ui.timeEdit->time() != QTime(0, 0, 0)) { QString s2 = "[%emt %1]"; if (ui.egtTime->isChecked()) s2 = "[%egt %1]"; else if (ui.clkTime->isChecked()) s2 = "[%clk %1]"; QString t = ui.timeEdit->time().toString("H:mm:ss"); if(!t.isEmpty()) { s = s2.arg(t); if (ui.egtTime->isChecked()) lastTimeMode = Egt; else if (ui.clkTime->isChecked()) lastTimeMode = Clk; else if (ui.emtTime->isChecked()) lastTimeMode = Emt; } } QString s1 = ui.textEdit->toPlainText().trimmed(); if(!s.isEmpty() && !s1.isEmpty()) { s.append(" "); } s.append(s1); return s; } void CommentDialog::setText(QString text) { QRegExp egt("\\[%egt\\s*(\\d:\\d\\d:\\d\\d)\\]"); QRegExp clk("\\[%clk\\s*(\\d:\\d\\d:\\d\\d)\\]"); QRegExp emt("\\[%emt\\s*(\\d:\\d\\d:\\d\\d)\\]"); int pos = egt.indexIn(text); if(pos >= 0) { ui.egtTime->setChecked(true); QString segt = egt.cap(1); text = text.remove(egt); ui.timeEdit->setTime(QTime::fromString(segt.trimmed(), "H:mm:ss")); lastTimeMode = Egt; } else { pos = clk.indexIn(text); if(pos >= 0) { ui.clkTime->setChecked(true); QString sclk = clk.cap(1); text = text.remove(clk); ui.timeEdit->setTime(QTime::fromString(sclk.trimmed(), "H:mm:ss")); lastTimeMode = Clk; } else { pos = emt.indexIn(text); if(pos >= 0) { ui.emtTime->setChecked(true); QString semt = emt.cap(1); text = text.remove(emt); ui.timeEdit->setTime(QTime::fromString(semt.trimmed(), "H:mm:ss")); lastTimeMode = Emt; } else { switch(lastTimeMode) { case Egt: ui.egtTime->setChecked(true); break; case Clk: ui.clkTime->setChecked(true); break; case Emt: ui.emtTime->setChecked(true); break; } } } } ui.textEdit->setPlainText(text); } void CommentDialog::clearTimeSlot() { ui.timeEdit->setTime(QTime(0, 0, 0)); } void CommentDialog::clearTextSlot() { ui.textEdit->setPlainText(""); } ./chessx-1.3.2/src/dialogs/commentdialog.h000644 000765 000024 00000001302 12463164747 020136 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2010 by Michal Rudolf * ****************************************************************************/ #ifndef COMMENTDIALOG_H #define COMMENTDIALOG_H #include "ui_commentdialog.h" class CommentDialog : public QDialog { Q_OBJECT public: enum TimeMode { Egt, Emt, Clk}; CommentDialog(QWidget *parent = 0, Qt::WindowFlags f = 0); void setText(QString text); QString text() const; protected slots: void clearTimeSlot(); void clearTextSlot(); private: Ui::CommentDialog ui; static enum TimeMode lastTimeMode; }; #endif // COMMENTDIALOG_H ./chessx-1.3.2/src/dialogs/commentdialog.ui000644 000765 000024 00000011270 12463164747 020331 0ustar00nistaff000000 000000 CommentDialog 0 0 440 221 0 1 Edit Comment 12 true :/images/text_clear.png:/images/text_clear.png Time Elapsed Clock true Move ArrowCursor QAbstractSpinBox::UpDownArrows 0 0 0 2000 1 1 H:mm:ss :/images/time_clear.png Qt::Horizontal Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok PlainTextEdit QPlainTextEdit
plaintextedit.h
buttonBox accepted() CommentDialog accept() 248 254 157 274 buttonBox rejected() CommentDialog reject() 316 260 286 274
./chessx-1.3.2/src/dialogs/copydialog.cpp000644 000765 000024 00000005116 12507517064 020001 0ustar00nistaff000000 000000 /*************************************************************************** * CopyDialog - dialog to choose target database when copying games * * copyright : (C) 2007 Michal Rudolf * ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #include "copydialog.h" #include "settings.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER CopyDialog::CopyDialog(QWidget * parent, Qt::WindowFlags f) : QDialog(parent, f) { ui.setupUi(this); connect(ui.databaseList, SIGNAL(itemDoubleClicked(QListWidgetItem *)), SLOT(accept())); AppSettings->layout(this); } CopyDialog::~CopyDialog() { } void CopyDialog::setDatabases(const QStringList& databases) { ui.databaseList->clear(); ui.databaseList->addItems(databases); ui.databaseList->setCurrentRow(0); } int CopyDialog::getDatabase() const { return ui.databaseList->currentRow(); } void CopyDialog::setMode(SrcMode mode) { switch(mode) { case SingleGame: ui.singleButton->setChecked(true); break; case Selection: ui.selectedButton->setChecked(true); break; case Filter: ui.filterButton->setChecked(true); break; case AllGames: ui.allButton->setChecked(true); break; } } void CopyDialog::setCurrentGame(QString title) { ui.singleButton->setText(ui.singleButton->text()+" (" + title + ")"); } int CopyDialog::getMode() const { if(ui.singleButton->isChecked()) { return SingleGame; } else if(ui.selectedButton->isChecked()) { return Selection; } else if(ui.filterButton->isChecked()) { return Filter; } else { return AllGames; } } void CopyDialog::accept() { AppSettings->setLayout(this); QDialog::accept(); } void CopyDialog::reject() { AppSettings->setLayout(this); QDialog::reject(); } ./chessx-1.3.2/src/dialogs/copydialog.h000644 000765 000024 00000003476 12463164747 017464 0ustar00nistaff000000 000000 /*************************************************************************** * CopyDialog - dialog to choose target database when copying games * * copyright : (C) 2007 Michal Rudolf * ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef __COPYDIALOG_H__ #define __COPYDIALOG_H__ #include "ui_copydialog.h" /** @ingroup GUI The CopyDialog class represents a dialog for choosing target database for copied games. */ class CopyDialog : public QDialog { Q_OBJECT public: enum SrcMode {SingleGame, Selection, Filter, AllGames}; /** Create ChessX Preferences dialog */ CopyDialog(QWidget* parent = 0, Qt::WindowFlags f = 0); /** Destroy the dialog */ virtual ~CopyDialog(); /** Set current board */ void setDatabases(const QStringList& databases); /** Get target database */ int getDatabase() const; /** Get selected mode. */ int getMode() const; /** Set the preferred mode. */ void setMode(SrcMode mode); /** Set the current games title. */ void setCurrentGame(QString title); protected slots: void accept(); void reject(); private: Ui::CopyDialog ui; }; #endif ./chessx-1.3.2/src/dialogs/copydialog.ui000644 000765 000024 00000005744 12463164747 017652 0ustar00nistaff000000 000000 CopyDialog 0 0 400 342 Copy Games Copy: &Current game Selected Games Games in &filter true &All games &To: databaseList Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok singleButton filterButton allButton databaseList buttonBox buttonBox accepted() CopyDialog accept() 248 254 157 274 buttonBox rejected() CopyDialog reject() 316 260 286 274 ./chessx-1.3.2/src/dialogs/dlgsavebook.cpp000644 000765 000024 00000004201 12522144662 020136 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "ui_dlgsavebook.h" #include "dlgsavebook.h" #include "settings.h" #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER DlgSaveBook::DlgSaveBook(QString path, QWidget *parent) : QDialog(parent), m_InputPath(path), ui(new Ui::DlgSaveBook) { ui->setupUi(this); restoreLayout(); if (!path.isEmpty()) { QFileInfo fi(m_InputPath); QString in = fi.absoluteFilePath(); m_OutputPath = fi.absoluteDir().absolutePath() + QDir::separator() + fi.baseName()+".bin"; ui->inputFile->setText(fi.fileName()); } else { ui->inputFile->setText(tr("Clipboard")); QString dir = AppSettings->value("/General/DefaultDataPath").toString(); m_OutputPath = dir + QDir::separator() + "Clipboard.bin"; } ui->outputPath->setText(m_OutputPath); connect(ui->btBrowseTarget, SIGNAL(clicked(bool)), SLOT(slotSelectTargetPath())); } void DlgSaveBook::restoreLayout() { AppSettings->layout(this); } DlgSaveBook::~DlgSaveBook() { delete ui; } void DlgSaveBook::getBookParameters(QString &out, int &maxPly, int &minGame, bool &uniform) { out = ui->outputPath->text(); maxPly = ui->maxPly->value(); minGame = ui->minGame->value(); uniform = ui->cbUniform->isChecked(); } void DlgSaveBook::accept() { AppSettings->setLayout(this); QDialog::accept(); } void DlgSaveBook::reject() { AppSettings->setLayout(this); QDialog::reject(); } void DlgSaveBook::slotSelectTargetPath() { QString file = QFileDialog::getSaveFileName(this, tr("New book"), AppSettings->value("/General/databasePath").toString(), tr("Polyglot Book (*.bin)")); if(file.isEmpty()) { return; } if(!file.endsWith(".bin")) { file += ".bin"; } ui->outputPath->setText(file); } ./chessx-1.3.2/src/dialogs/dlgsavebook.h000644 000765 000024 00000001473 12522144662 017613 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef DLGSAVEBOOK_H #define DLGSAVEBOOK_H #include namespace Ui { class DlgSaveBook; } class DlgSaveBook : public QDialog { Q_OBJECT public: explicit DlgSaveBook(QString path, QWidget *parent = 0); ~DlgSaveBook(); void getBookParameters(QString& out, int& maxPly, int& minGame, bool& uniform); signals: void bookWritten(QString); protected slots: void accept(); void reject(); void slotSelectTargetPath(); protected slots: void restoreLayout(); private: QString m_InputPath; QString m_OutputPath; Ui::DlgSaveBook *ui; }; #endif // DLGSAVEBOOK_H ./chessx-1.3.2/src/dialogs/dlgsavebook.ui000644 000765 000024 00000011444 12522144662 020000 0ustar00nistaff000000 000000 DlgSaveBook 0 0 370 339 Build Polyglot Book Input File true 0 0 Polyglot Book Parameters Max Ply maxPly 1 3 4 20 Min Game minGame Uniform Probabilities Output Path true Enter the complete target path false ... Qt::Vertical 20 40 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() DlgSaveBook accept() 248 254 157 274 buttonBox rejected() DlgSaveBook reject() 316 260 286 274 ./chessx-1.3.2/src/dialogs/preferences.cpp000644 000765 000024 00000064112 12515660613 020147 0ustar00nistaff000000 000000 /*************************************************************************** preferences - Preferences dialog ------------------- begin : Thu 18 Aug 2005 copyright : (C) 2005 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #include "colorlist.h" #include "preferences.h" #include "settings.h" #include "messagedialog.h" #include "engineoptiondialog.h" #include "downloadmanager.h" #include #include #include #include #include #include #include #include #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER int PreferencesDialog::s_lastIndex = 0; PreferencesDialog::PreferencesDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f) { ui.setupUi(this); #ifndef Q_WS_WIN ui.engineProtocolWinBoard->setText(tr("XBoard")); #endif QPushButton *addEngineButton = ui.buttonBoxEngines->addButton(tr("Add..."), QDialogButtonBox::ActionRole); QPushButton *deleteEngineButton = ui.buttonBoxEngines->addButton(tr("Remove"), QDialogButtonBox::ActionRole); QPushButton *engineUpButton = ui.buttonBoxEngines->addButton(tr("Up"), QDialogButtonBox::ActionRole); QPushButton *engineDownButton = ui.buttonBoxEngines->addButton(tr("Down"), QDialogButtonBox::ActionRole); connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), SLOT(buttonClicked(QAbstractButton*))); connect(ui.engineList, SIGNAL(currentItemChanged(QListWidgetItem*, QListWidgetItem*)), SLOT(slotSelectEngine(QListWidgetItem*, QListWidgetItem*))); connect(ui.engineName, SIGNAL(textChanged(const QString&)), SLOT(slotEngineNameChange(const QString&))); connect(addEngineButton, SIGNAL(clicked(bool)), SLOT(slotAddEngine())); connect(deleteEngineButton, SIGNAL(clicked(bool)), SLOT(slotDeleteEngine())); connect(engineUpButton, SIGNAL(clicked(bool)), SLOT(slotEngineUp())); connect(engineDownButton, SIGNAL(clicked(bool)), SLOT(slotEngineDown())); connect(ui.directoryButton, SIGNAL(clicked(bool)), SLOT(slotSelectEngineDirectory())); connect(ui.commandButton, SIGNAL(clicked(bool)), SLOT(slotSelectEngineCommand())); connect(ui.browsePathButton, SIGNAL(clicked(bool)), SLOT(slotSelectDataBasePath())); connect(ui.engineOptionMore, SIGNAL(clicked(bool)), SLOT(slotShowOptionDialog())); connect(ui.tbUK, SIGNAL(clicked()), SLOT(slotChangePieceString())); connect(ui.tbGermany, SIGNAL(clicked()), SLOT(slotChangePieceString())); connect(ui.tbFrance, SIGNAL(clicked()), SLOT(slotChangePieceString())); connect(ui.tbPoland, SIGNAL(clicked()), SLOT(slotChangePieceString())); connect(ui.tbSymbolic, SIGNAL(clicked()), SLOT(slotChangePieceString())); connect(ui.btLoadLang, SIGNAL(clicked()), SLOT(slotLoadLanguageFile())); connect(ui.btExtToolPath, SIGNAL(clicked(bool)), SLOT(slotSelectToolPath())); connect (ui.guestLogin, SIGNAL(toggled(bool)), ui.passWord, SLOT(setDisabled(bool))); connect (ui.guestLogin, SIGNAL(toggled(bool)), ui.userName, SLOT(setDisabled(bool))); restoreSettings(); // Start off with no Engine selected ui.engineEditWidget->setEnabled(false); ui.tabWidget->setCurrentIndex(s_lastIndex); ui.btLoadLang->setEnabled(false); ui.cbLangServer->setEnabled(false); if(AppSettings->getValue("/General/onlineVersionCheck").toBool()) { QUrl url = QUrl(QString("http://chessx.sourceforge.net/translations/dict.txt")); downloadManager = new DownloadManager(this); connect(downloadManager, SIGNAL(downloadError(QUrl)), this, SLOT(loadFileError(QUrl))); connect(downloadManager, SIGNAL(onDownloadFinished(QUrl, QString)), this, SLOT(slotFileLoaded(QUrl, QString))); QString path = AppSettings->getTempPath(); downloadManager->doDownloadToPath(url, path + QDir::separator() + "dict.txt"); } else { ui.labelLoadStatus->setText(tr("For updating translations online version checking needs to be enabled.")); } QTimer::singleShot(0, this, SLOT(restoreLayout())); } void PreferencesDialog::restoreLayout() { AppSettings->layout(this); } PreferencesDialog::~PreferencesDialog() { } void PreferencesDialog::done(int r) { AppSettings->setLayout(this); QDialog::done(r); close(); } void PreferencesDialog::slotSelectEngineDirectory() { QString dir = QFileDialog::getExistingDirectory(this, tr("Select engine directory"), ui.engineDirectory->text(), QFileDialog::ShowDirsOnly); if(QDir(dir).exists()) { ui.engineDirectory->setText(dir); } } void PreferencesDialog::slotSelectToolPath() { QString fileName = QFileDialog::getOpenFileName(this, tr("Select external executable"), ui.extToolPath->text()); if(QFileInfo(fileName).exists()) { ui.extToolPath->setText(fileName); } } void PreferencesDialog::slotSelectDataBasePath() { QString dir = QFileDialog::getExistingDirectory(this, tr("Select databases folder"), ui.defaultDataBasePath->text(), QFileDialog::ShowDirsOnly); if(QDir(dir).exists()) { ui.defaultDataBasePath->setText(dir); } } void PreferencesDialog::slotAddEngine() { QString command = selectEngineFile(); if(command.isEmpty()) { return; } QString name = EngineData::commandToName(command); if(name.isEmpty()) { name = tr("New Engine"); } EngineData data(name); data.command = command; engineList.append(data); ui.engineList->addItem(name); ui.engineList->setCurrentRow(engineList.count() - 1); } void PreferencesDialog::slotSelectEngineCommand() { QString command = selectEngineFile(ui.engineCommand->text()); if(!command.isEmpty()) { ui.engineCommand->setText(command); ui.engineName->setText(EngineData::commandToName(command)); } } void PreferencesDialog::slotDeleteEngine() { int row = ui.engineList->currentRow(); if(row >= 0) { // Looks like it should crash, but it first removes // the item, then it updates it by slotSelectEngine (which is obsolete) // and only then it deletes it and removes the data QListWidgetItem *del = ui.engineList->takeItem(row); delete del; engineList.removeAt(row); } } void PreferencesDialog::slotEngineNameChange(const QString& name) { if(ui.engineList->currentItem()) { ui.engineList->currentItem()->setText(name); engineList[ui.engineList->currentIndex().row()].name = name; } } void PreferencesDialog::slotEngineUp() { int index = ui.engineList->currentIndex().row(); if(index > 0) { engineList.swap(index, index - 1); QListWidgetItem* item = ui.engineList->takeItem(index - 1); ui.engineList->insertItem(index, item); } } void PreferencesDialog::slotEngineDown() { int index = ui.engineList->currentIndex().row(); if(index < ui.engineList->count() - 1) { engineList.swap(index, index + 1); QListWidgetItem* item = ui.engineList->takeItem(index + 1); ui.engineList->insertItem(index, item); } } void PreferencesDialog::updateEngineData(int index) { if(index < 0 || index >= engineList.count()) { return; } engineList[index].name = ui.engineName->text(); engineList[index].command = ui.engineCommand->text(); engineList[index].options = ui.engineOptions->text(); engineList[index].directory = ui.engineDirectory->text(); engineList[index].protocol = ui.engineProtocolWinBoard->isChecked() ? EngineData::WinBoard : EngineData::UCI; } void PreferencesDialog::slotSelectEngine(QListWidgetItem* currentItem, QListWidgetItem* previousItem) { int previous = ui.engineList->row(previousItem); int current = ui.engineList->row(currentItem); if(previous != -1) { updateEngineData(previous); } if(current != -1) { ui.engineEditWidget->setEnabled(true); // Fill edit fields with data for selected engine ui.engineName->setText(engineList[current].name); ui.engineCommand->setText(engineList[current].command); ui.engineOptions->setText(engineList[current].options); ui.engineDirectory->setText(engineList[current].directory); ui.engineOptionMore->setEnabled(true); if(engineList[current].protocol == EngineData::WinBoard) { ui.engineProtocolWinBoard->setChecked(true); } else { ui.engineProtocolUCI->setChecked(true); } } else { ui.engineName->clear(); ui.engineCommand->clear(); ui.engineOptions->clear(); ui.engineDirectory->clear(); ui.engineProtocolUCI->setChecked(true); ui.engineEditWidget->setEnabled(false); ui.engineOptionMore->setEnabled(false); } } QString PreferencesDialog::selectEngineFile(const QString& oldpath) { return QFileDialog::getOpenFileName(this, tr("Select engine executable"), oldpath); } void PreferencesDialog::slotShowOptionDialog() { int index = ui.engineList->currentIndex().row(); updateEngineData(index); EngineOptionDialog dlg(this, engineList, index); if(dlg.exec() == QDialog::Accepted) { engineList[index].m_optionValues = dlg.GetResults(); } } void PreferencesDialog::slotChangePieceString() { QString pieceString; if((QToolButton*)sender() == ui.tbUK) { pieceString = " KQRBN"; } else if((QToolButton*)sender() == ui.tbGermany) { pieceString = " KDTLS"; } else if((QToolButton*)sender() == ui.tbFrance) { pieceString = " RDTFC"; } else if((QToolButton*)sender() == ui.tbPoland) { pieceString = " KHWGS"; } else if((QToolButton*)sender() == ui.tbSymbolic) { pieceString.clear(); } else { pieceString = " KQRBN"; } ui.pieceString->setText(pieceString); } void PreferencesDialog::slotLoadLanguageFile() { if(!ui.cbLangServer->currentText().isEmpty()) { QUrl url = QUrl(QString("http://chessx.sourceforge.net/translations/chessx_") + ui.cbLangServer->currentText() + ".qm"); downloadManager->doDownloadToPath(url, AppSettings->dataPath() + QDir::separator() + "lang" + QDir::separator() + "chessx_" + ui.cbLangServer->currentText() + ".qm"); } } void PreferencesDialog::loadFileError(QUrl url) { if(url.toString().endsWith(".txt")) { ui.labelLoadStatus->setText(tr("Could not load server language file dictionary")); } else if(url.toString().endsWith(".qm")) { ui.labelLoadStatus->setText(tr("Could not load or install language pack")); } } void PreferencesDialog::slotFileLoaded(QUrl, QString name) { if(name.endsWith(".qm")) { name.remove(QRegExp("[^_]*_")); name.remove(".qm"); ui.cbLanguage->addItem(name); ui.labelLoadStatus->setText(tr("Translation file loaded - select added language above!")); } else if(name.endsWith(".txt")) { QFile dictFile(name); if(dictFile.open(QIODevice::ReadOnly)) { QTextStream textStream(&dictFile); while(true) { QString line = textStream.readLine(); if(line.isNull()) { break; } else { bool notFound = true; for(int i = 0; i < ui.cbLanguage->count(); ++i) { if(ui.cbLanguage->itemText(i) == line) { notFound = false; break; } } if(notFound) { ui.cbLangServer->addItem(line); } else { ui.labelLoadStatus->setText(tr("No further translations online available!")); } } } ui.btLoadLang->setEnabled(ui.cbLangServer->count() > 0); ui.cbLangServer->setEnabled(ui.cbLangServer->count() > 0); } } } int PreferencesDialog::exec() { int result = QDialog::exec(); s_lastIndex = ui.tabWidget->currentIndex(); if(result == QDialog::Accepted) { saveSettings(); emit reconfigure(); } return result; } void PreferencesDialog::slotReset() { if(MessageDialog::yesNo(tr("Clear all application settings?"), tr("Warning"))) { AppSettings->clear(); AppSettings->setLayout(this); restoreSettings(); emit reconfigure(); } } void PreferencesDialog::slotApply() { saveSettings(); emit reconfigure(); } void PreferencesDialog::restoreSettings() { // Read Board settings AppSettings->beginGroup("/General/"); ui.tablebaseCheck->setChecked(AppSettings->getValue("onlineTablebases").toBool()); ui.versionCheck->setChecked(AppSettings->getValue("onlineVersionCheck").toBool()); ui.automaticECO->setChecked(AppSettings->getValue("automaticECO").toBool()); ui.useIndexFile->setChecked(AppSettings->getValue("useIndexFile").toBool()); ui.cbAutoCommitDB->setChecked(AppSettings->getValue("autoCommitDB").toBool()); QString lang = AppSettings->getValue("language").toString(); AppSettings->endGroup(); AppSettings->beginGroup("/Board/"); ui.boardFrameCheck->setChecked(AppSettings->getValue("showFrame").toBool()); ui.boardShowCoordinates->setChecked(AppSettings->getValue("showCoordinates").toBool()); ui.hilightCurrentMove->setCurrentIndex(AppSettings->getValue("showCurrentMove").toInt()); ui.cbShowIndicator->setCurrentIndex(AppSettings->getValue("showMoveIndicator").toInt()); ui.guessMoveCheck->setChecked(AppSettings->getValue("guessMove").toBool()); ui.guessNextMove->setChecked(AppSettings->getValue("nextGuess").toBool()); ui.minWheelCount->setValue(AppSettings->getValue("minWheelCount").toInt()); ui.cbSaveAndContinue->setChecked(AppSettings->getValue("AutoSaveAndContinue").toBool()); ui.cbBackwardAnalysis->setChecked(AppSettings->getValue("BackwardAnalysis").toBool()); ui.cbPromoteToQueen->setChecked(AppSettings->getValue("AutoPromoteToQueen").toBool()); ui.btShowThreat->setChecked(AppSettings->getValue("showThreat").toBool()); QString pieceTheme = AppSettings->getValue("pieceTheme").toString(); ui.pieceEffect->setCurrentIndex(AppSettings->getValue("pieceEffect").toInt()); QString boardTheme = AppSettings->getValue("boardTheme").toString(); ui.boardColorsList->clear(); restoreColorItem(ui.boardColorsList, tr("Light squares"), "lightColor"); restoreColorItem(ui.boardColorsList, tr("Dark squares"), "darkColor"); restoreColorItem(ui.boardColorsList, tr("Highlighted squares"), "highlightColor"); restoreColorItem(ui.boardColorsList, tr("Frame"), "frameColor"); restoreColorItem(ui.boardColorsList, tr("Current move"), "currentMoveColor"); restoreColorItem(ui.boardColorsList, tr("Stored move"), "storedMoveColor"); restoreColorItem(ui.boardColorsList, tr("Threat"), "threatColor"); AppSettings->endGroup(); QStringList themes = AppSettings->getThemeList(); for(QStringList::Iterator it = themes.begin(); it != themes.end(); ++it) { (*it).truncate((*it).length() - 4); ui.pieceThemeCombo->addItem(*it); } QStringList translations = AppSettings->getTranslations(); ui.cbLanguage->addItem("Default"); ui.cbLanguage->addItem("en"); QStringListIterator it1(translations); while(it1.hasNext()) { QString trim(it1.next()); trim.remove(QRegExp("[^_]*_")); trim.remove(".qm"); ui.cbLanguage->addItem(trim); } QStringList boards = AppSettings->getBoardList(); QStringListIterator it(boards); while(it.hasNext()) { QString trim(it.next()); ui.boardThemeCombo->addItem(trim.left(trim.length() - 4)); } ui.boardThemeCombo->addItem(tr("[plain colors]")); selectInCombo(ui.cbLanguage, lang); selectInCombo(ui.pieceThemeCombo, pieceTheme); selectInCombo(ui.boardThemeCombo, boardTheme); // Read Engine settings engineList.restore(); ui.engineList->clear(); ui.engineList->insertItems(0, engineList.names()); // Read Advanced settings ui.limitSpin->setValue(AppSettings->getValue("/General/EditLimit").toInt()); ui.spinBoxRecentFiles->setValue(AppSettings->getValue("/History/MaxEntries").toInt()); QString dataPath = AppSettings->getUserDataPath(); ui.defaultDataBasePath->setText(AppSettings->value("/General/DefaultDataPath", dataPath).toString()); ui.spinBoxListFontSize->setValue(AppSettings->getValue("/General/ListFontSize").toInt()); ui.verticalTabs->setChecked(AppSettings->getValue("/MainWindow/VerticalTabs").toBool()); ui.iconsVisible->setChecked(AppSettings->getValue("/MainWindow/ShowMenuIcons").toBool()); // Read Game List settings AppSettings->beginGroup("GameText"); ui.notationColors->clear(); restoreColorItem(ui.notationColors, tr("Main Line"), "MainLineMoveColor"); restoreColorItem(ui.notationColors, tr("Variations"), "VariationColor"); restoreColorItem(ui.notationColors, tr("Comments"), "CommentColor"); restoreColorItem(ui.notationColors, tr("NAGs"), "NagColor"); ui.gameTextFontSizeSpin->setValue(AppSettings->getValue("FontSize").toInt()); ui.cbShowDiagrams->setChecked(AppSettings->getValue("ShowDiagrams").toBool()); ui.cbColumnStyle->setChecked(AppSettings->getValue("ColumnStyle").toBool()); ui.variationIndentLevel->setValue(AppSettings->getValue("VariationIndentLevel").toInt()); ui.diagramSize->setValue(AppSettings->getValue("DiagramSize").toInt()); ui.pieceString->setText(AppSettings->getValue("PieceString").toString()); ui.fontText->setText(AppSettings->getValue("FontBrowserText").toString()); ui.fontMove->setText(AppSettings->getValue("FontBrowserMove").toString()); AppSettings->endGroup(); AppSettings->beginGroup("Tools"); ui.extToolPath->setText(AppSettings->getValue("Path1").toString()); ui.extToolParameters->setText(AppSettings->getValue("CommandLine1").toString()); AppSettings->endGroup(); AppSettings->beginGroup("FICS"); ui.userName->setText(AppSettings->getValue("userName").toString()); ui.passWord->setText(AppSettings->getValue("passWord").toString()); ui.guestLogin->setChecked(AppSettings->getValue("guestLogin").toBool()); ui.btUseTimeseal->setChecked(AppSettings->getValue("useTimeseal").toBool()); AppSettings->endGroup(); AppSettings->beginGroup("Sound"); #ifdef USE_SOUND ui.cbSoundOn->setChecked(AppSettings->getValue("Move").toBool()); #else ui.cbSoundOn->setChecked(false); ui.cbSoundOn->setEnabled(false); #endif AppSettings->endGroup(); } void PreferencesDialog::saveSettings() { AppSettings->beginGroup("/General/"); AppSettings->setValue("onlineTablebases", QVariant(ui.tablebaseCheck->isChecked())); AppSettings->setValue("onlineVersionCheck", QVariant(ui.versionCheck->isChecked())); AppSettings->setValue("automaticECO", QVariant(ui.automaticECO->isChecked())); AppSettings->setValue("useIndexFile", QVariant(ui.useIndexFile->isChecked())); AppSettings->setValue("autoCommitDB", QVariant(ui.cbAutoCommitDB->isChecked())); AppSettings->setValue("language", QVariant(ui.cbLanguage->currentText())); AppSettings->endGroup(); AppSettings->beginGroup("/Board/"); AppSettings->setValue("showFrame", QVariant(ui.boardFrameCheck->isChecked())); AppSettings->setValue("showCoordinates", QVariant(ui.boardShowCoordinates->isChecked())); AppSettings->setValue("showCurrentMove", QVariant(ui.hilightCurrentMove->currentIndex())); AppSettings->setValue("showMoveIndicator", QVariant(ui.cbShowIndicator->currentIndex())); AppSettings->setValue("guessMove", QVariant(ui.guessMoveCheck->isChecked())); AppSettings->setValue("showThreat", QVariant(ui.btShowThreat->isChecked())); AppSettings->setValue("nextGuess", QVariant(ui.guessNextMove->isChecked())); AppSettings->setValue("minWheelCount", ui.minWheelCount->value()); AppSettings->setValue("pieceTheme", ui.pieceThemeCombo->currentText()); AppSettings->setValue("pieceEffect", ui.pieceEffect->currentIndex()); AppSettings->setValue("AutoSaveAndContinue", QVariant(ui.cbSaveAndContinue->isChecked())); AppSettings->setValue("BackwardAnalysis", QVariant(ui.cbBackwardAnalysis->isChecked())); AppSettings->setValue("AutoPromoteToQueen", QVariant(ui.cbPromoteToQueen->isChecked())); if(ui.boardThemeCombo->currentIndex() != ui.boardThemeCombo->count() - 1) { AppSettings->setValue("boardTheme", ui.boardThemeCombo->currentText()); } else { AppSettings->setValue("boardTheme", QString()); } QStringList colorNames; colorNames << "lightColor" << "darkColor" << "highlightColor" << "frameColor" << "currentMoveColor" << "storedMoveColor" << "threatColor"; saveColorList(ui.boardColorsList, colorNames); AppSettings->endGroup(); // Save engine settings updateEngineData(ui.engineList->currentIndex().row()); // Make sure current edits are saved engineList.save(); AppSettings->setValue("/General/EditLimit", ui.limitSpin->value()); AppSettings->setValue("/History/MaxEntries", ui.spinBoxRecentFiles->value()); AppSettings->setValue("/General/DefaultDataPath", ui.defaultDataBasePath->text()); AppSettings->setValue("/General/ListFontSize", ui.spinBoxListFontSize->value()); AppSettings->setValue("/MainWindow/VerticalTabs", ui.verticalTabs->isChecked()); AppSettings->setValue("/MainWindow/ShowMenuIcons", ui.iconsVisible->isChecked()); AppSettings->beginGroup("GameText"); AppSettings->setValue("FontSize", ui.gameTextFontSizeSpin->value()); AppSettings->setValue("ShowDiagrams", ui.cbShowDiagrams->isChecked()); AppSettings->setValue("ColumnStyle", ui.cbColumnStyle->isChecked()); AppSettings->setValue("VariationIndentLevel", ui.variationIndentLevel->value()); AppSettings->setValue("DiagramSize", ui.diagramSize->value()); AppSettings->setValue("PieceString", ui.pieceString->text()); AppSettings->setValue("FontBrowserText", ui.fontText->text()); AppSettings->setValue("FontBrowserMove", ui.fontMove->text()); QStringList colorNamesNotation; colorNamesNotation << "MainLineMoveColor" << "VariationColor" << "CommentColor" << "NagColor"; saveColorList(ui.notationColors, colorNamesNotation); AppSettings->endGroup(); AppSettings->beginGroup("Tools"); AppSettings->setValue("Path1", ui.extToolPath->text()); AppSettings->setValue("CommandLine1", ui.extToolParameters->text()); AppSettings->endGroup(); AppSettings->beginGroup("FICS"); AppSettings->setValue("userName", ui.userName->text()); AppSettings->setValue("passWord", ui.passWord->text()); AppSettings->setValue("guestLogin", ui.guestLogin->isChecked()); AppSettings->setValue("useTimeseal", ui.btUseTimeseal->isChecked()); AppSettings->endGroup(); AppSettings->beginGroup("Sound"); AppSettings->setValue("Move", ui.cbSoundOn->isChecked()); AppSettings->endGroup(); QDir().mkpath(ui.defaultDataBasePath->text()); } bool PreferencesDialog::selectInCombo(QComboBox* combo, const QString& text) { for(int i = 0; i < combo->count(); ++i) { if(combo->itemText(i) == text) { combo->setCurrentIndex(i); return true; } } combo->setCurrentIndex(combo->count() - 1); return false; } void PreferencesDialog::restoreColorItem(ColorList* list, const QString& text, const QString& cfgname) { QColor color = AppSettings->getValue(cfgname).value(); list->addItem(text, color); } void PreferencesDialog::saveColorList(ColorList* list, const QStringList& cfgnames) { for(int i = 0; i < list->count(); ++i) { AppSettings->setValue(cfgnames[i], list->color(i)); } } void PreferencesDialog::slotBtMoveFontClicked() { bool ok; QFont currentFont = QFont(ui.fontMove->text()); QFont font = QFontDialog::getFont(&ok, currentFont, this); if (ok) { QString fontFamily = font.family(); ui.fontMove->setText(fontFamily); } } void PreferencesDialog::slotBtTextFontClicked() { bool ok; QFont currentFont = QFont(ui.fontText->text()); QFont font = QFontDialog::getFont(&ok, currentFont, this); if (ok) { QString fontFamily = font.family(); ui.fontText->setText(fontFamily); } } void PreferencesDialog::setupIconInMenus(QObject* pObject) { QList actions = pObject->findChildren(); bool showIcons = AppSettings->getValue("/MainWindow/ShowMenuIcons").toBool(); foreach (QAction* action, actions) { action->setIconVisibleInMenu(showIcons); } } void PreferencesDialog::buttonClicked(QAbstractButton* button) { QDialogButtonBox::StandardButton sb = ui.buttonBox->standardButton(button); switch(sb) { case QDialogButtonBox::Ok: accept(); break; case QDialogButtonBox::Apply: slotApply(); break; case QDialogButtonBox::Reset: slotReset(); break; case QDialogButtonBox::Cancel: reject(); break; default: break; } } ./chessx-1.3.2/src/dialogs/preferences.h000644 000765 000024 00000010261 12465675160 017617 0ustar00nistaff000000 000000 /*************************************************************************** preferences - Preferences dialog ------------------- begin : Thu 18 Aug 2005 copyright : (C) 2005 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef __PREFERENCESDIALOG_H__ #define __PREFERENCESDIALOG_H__ #include "ui_preferences.h" #include "enginelist.h" class QListWidgetItem; class DownloadManager; /** @ingroup GUI The PreferencesDialog class is a dialog for configuring ChessX. After changes are done, reconfigure() signal is emitted. */ class PreferencesDialog : public QDialog { Q_OBJECT public: /** Create ChessX Preferences dialog */ PreferencesDialog(QWidget* parent = 0, Qt::WindowFlags f = 0); /** Destroy the dialog */ virtual ~PreferencesDialog(); static void setupIconInMenus(QObject* pObject); public slots: /** Restore Default values */ void slotReset(); /** Execute dialog, save options on exit */ int exec(); void slotApply(); /** select given engine # for display */ void slotSelectEngine(QListWidgetItem* current, QListWidgetItem* previous); /** user asked for a new engine entry */ void slotAddEngine(); /** user asked to remove current engine entry */ void slotDeleteEngine(); /** user changed the name of an engine */ void slotEngineUp(); /** User asked to move current engine up in the list. */ void slotEngineDown(); /** User asked to move current engine down in the list. */ void slotEngineNameChange(const QString&); /** user wants to use file dialog to select engine command */ void slotSelectEngineCommand(); /** user wants file dialog to select directory in which engine will run */ void slotSelectEngineDirectory(); /** user wants file dialog to select path of an external exe */ void slotSelectToolPath(); /** user wants file dialog to select directory in which DataBases will be stored */ void slotSelectDataBasePath(); /** user wants option dialog to select parameters which will be sent at startup of engine */ void slotShowOptionDialog(); /** User pressed a flag to change the piece string */ void slotChangePieceString(); /** Start loading the language file selected in the combo-box */ void slotLoadLanguageFile(); /** Download dictionary was loaded */ void slotFileLoaded(QUrl url, QString name); /** Download was not possible */ void loadFileError(QUrl); protected: /** Overridden to save size */ virtual void done(int); private: DownloadManager* downloadManager; Ui::PreferencesDialog ui; void restoreSettings(); void saveSettings(); /** Select given item in combo. If not found, select last one. */ bool selectInCombo(QComboBox* combo, const QString& text); void restoreColorItem(ColorList* list, const QString& text, const QString& cfgname); void saveColorList(ColorList* list, const QStringList& cfgnames); EngineList engineList; /** Store any changes made to Engine fields in UI, into list */ void updateEngineData(int index); /** Select engine file. */ QString selectEngineFile(const QString& path = ""); static int s_lastIndex; signals: /** Signal emitted when changes are applied. */ void reconfigure(); protected slots: /** Call restoration of layout from Settings storage */ void restoreLayout(); void buttonClicked(QAbstractButton *button); private slots: void slotBtMoveFontClicked(); void slotBtTextFontClicked(); }; #endif ./chessx-1.3.2/src/dialogs/preferences.ui000644 000765 000024 00000133106 12515660613 020002 0ustar00nistaff000000 000000 PreferencesDialog 0 0 543 580 Preferences true false 0 &Board 0 0 0 0 plain outline outline+shadow 0 0 Mouse Behaviour Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft QLayout::SetDefaultConstraint &Guess move on left-click Next guess on right click Wheel sensitivity Qt::Horizontal 40 20 Fast 960 104 120 Qt::Horizontal false QSlider::TicksBothSides 120 Slow &Chess set: pieceThemeCombo Draw Coordinates Board &style: boardThemeCombo Qt::Vertical QSizePolicy::Expanding 20 150 Highlight current move: 0 0 &Draw frame between squares Never Frame Arrow &Colors: Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop boardColorsList Show threat Game Game Text Show Diagrams Column Style Keep variations inline from level 1 200 Diagram Size 500 Pieces Courier New 14 Put the initials of the pieces here, mind the initial space. KQRBN - Mind the initial space! ... :/images/FlagUK.png:/images/FlagUK.png ... :/images/FlagGermany.png:/images/FlagGermany.png ... :/images/FlagFrance.png:/images/FlagFrance.png ... :/images/FlagPoland.png:/images/FlagPoland.png :/images/new_board.png:/images/new_board.png Qt::ToolButtonIconOnly Colors: Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop boardColorsList Qt::Vertical 20 40 Autoplayer Automatically save game and continue with next Auto Analysis backwards Automatic Promotion Always queen a pawn &Engines QAbstractItemView::NoEditTriggers false QListView::Static false Qt::Vertical QDialogButtonBox::NoButton 0 0 300 0 Path to executable 300 0 Path where engine is started - usually place of books Directory: engineDirectory 0 0 Protocol: Name: engineName Options: engineOptions 0 0 ... Command: engineCommand Command Line Options WinBoard 0 0 Options 0 0 Qt::LeftToRight ... Qt::Horizontal 40 20 Arbitrary name to identify engine UCI Database Automatic classification with ECO Codes Build index file Commit Database after saving Game 0 0 Default path for storing files ... 0 0 Default Database Path: defaultDataBasePath 10 4 Number of recent files: spinBoxRecentFiles &Edit PGN files smaller than: limitSpin MB 0 150 10 Qt::Vertical 20 40 Appearance Fonts for notation Texts fontText ... :/images/find_tag.png:/images/find_tag.png 0 Moves fontMove Font with Chess Symbols (Unicode) ... :/images/find_tag.png:/images/find_tag.png Font Size gameTextFontSizeSpin 5 30 11 Application Show move indicator Automatic Always Never Icons visible in menus false Use vertical Tabs Font Size 5 30 14 Qt::Vertical 20 40 FICS 24 Qt::Vertical 20 40 Log in as guest Credentials Login Password Try to use Timeseal App Internet Use online tablebase servers Check for updates (at startup) and language packs Localization Language Qt::Horizontal 40 20 false Changing the language requires restarting the application! Load language file from Server: Load! Qt::Horizontal 40 20 false External Tools Parameters extToolParameters Path extToolPath ... Path and filename of external program Command line, also $(InputPath), $(InputFile) lbExtToolPath extToolPath btExtToolPath lbExtToolParamter extToolParameters Sound Indicate opponent's move Qt::Vertical 20 40 4 4 4 4 Qt::Horizontal QSizePolicy::Expanding 121 29 QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::Reset ColorList QListWidget
colorlist.h
tabWidget pieceThemeCombo boardThemeCombo engineName engineCommand engineOptions engineDirectory engineProtocolUCI engineProtocolWinBoard btSelectMoveFont clicked() PreferencesDialog slotBtMoveFontClicked() 478 117 271 291 btSelectTextFont clicked() PreferencesDialog slotBtTextFontClicked() 478 79 271 291 slotBtMoveFontClicked() slotBtTextFontClicked()
./chessx-1.3.2/src/dialogs/promotiondialog.cpp000644 000765 000024 00000003145 12514745137 021057 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2013 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "boardview.h" #include "common.h" #include "promotiondialog.h" #include "ui_promotiondialog.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER PromotionDialog::PromotionDialog(QWidget *parent, Color color) : QDialog(parent), ui(new Ui::PromotionDialog), m_index(-1) { BoardView view; view.configure(); ui->setupUi(this); QPoint pos = mapFromGlobal(QCursor::pos()); move(pos); int offset = color==White ? 0 : (BlackKing-WhiteKing); ui->btQueen->setIcon(view.theme().piece(Piece(WhiteQueen+offset))); ui->btRook->setIcon(view.theme().piece(Piece(WhiteRook+offset))); ui->btBishop->setIcon(view.theme().piece(Piece(WhiteBishop+offset))); ui->btKnight->setIcon(view.theme().piece(Piece(WhiteKnight+offset))); } PromotionDialog::~PromotionDialog() { delete ui; } int PromotionDialog::getIndex() { exec(); return m_index; } void PromotionDialog::setIndex() { QToolButton* pButton = qobject_cast(sender()); if (pButton == ui->btQueen) { m_index = 0; } else if (pButton == ui->btRook) { m_index = 1; } else if (pButton == ui->btBishop) { m_index = 2; } else if (pButton == ui->btKnight) { m_index = 3; } accept(); } ./chessx-1.3.2/src/dialogs/promotiondialog.h000644 000765 000024 00000001227 12510715746 020522 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2013 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef PROMOTIONDIALOG_H #define PROMOTIONDIALOG_H #include "piece.h" #include namespace Ui { class PromotionDialog; } class PromotionDialog : public QDialog { Q_OBJECT public: explicit PromotionDialog(QWidget *parent, Color color); ~PromotionDialog(); int getIndex(); protected slots: void setIndex(); private: Ui::PromotionDialog *ui; int m_index; }; #endif // PROMOTIONDIALOG_H ./chessx-1.3.2/src/dialogs/promotiondialog.ui000644 000765 000024 00000006760 12463367255 020724 0ustar00nistaff000000 000000 PromotionDialog Qt::ApplicationModal 0 0 216 83 0 0 Promote to false Queen 32 32 Rook 32 32 Bishop 32 32 Knight 32 32 btQueen clicked() PromotionDialog setIndex() 36 40 106 41 btKnight clicked() PromotionDialog setIndex() 174 40 106 41 btBishop clicked() PromotionDialog setIndex() 128 40 106 41 btRook clicked() PromotionDialog setIndex() 82 40 106 41 setIndex() ./chessx-1.3.2/src/dialogs/quicksearch.cpp000644 000765 000024 00000006135 12507517064 020153 0ustar00nistaff000000 000000 /*************************************************************************** quicksearch.cpp - Quick Tag search dialog ------------------- begin : Sun 6 May 2007 copyright : (C) 2007 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #include "quicksearch.h" #include "search.h" #include "settings.h" #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER QuickSearchDialog::QuickSearchDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f) { ui.setupUi(this); ui.modeCombo->addItem(tr("Find in current filter"), Search::And); ui.modeCombo->addItem(tr("Search whole database"), Search::NullOperator); ui.modeCombo->addItem(tr("Add to current filter"), Search::Or); ui.modeCombo->addItem(tr("Remove from current filter"), Search::Remove); ui.buttonBox->button(QDialogButtonBox::Ok)->setText(tr("Find")); connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), SLOT(buttonClicked(QAbstractButton*))); AppSettings->layout(this); } QuickSearchDialog::~QuickSearchDialog() { } void QuickSearchDialog::setTag(int tag) { ui.tagCombo->setCurrentIndex(tag); } void QuickSearchDialog::addTag(QString tag) { ui.tagCombo->addItem(tag); } int QuickSearchDialog::tag() const { return ui.tagCombo->currentIndex(); } QString QuickSearchDialog::value() const { return ui.valueEdit->text(); } int QuickSearchDialog::exec() { ui.valueEdit->setFocus(); return QDialog::exec(); } int QuickSearchDialog::mode() const { if(ui.modeCombo->currentIndex() == -1) { return 0; } return ui.modeCombo->itemData(ui.modeCombo->currentIndex()).toInt(); } void QuickSearchDialog::setMode(int index) { ui.modeCombo->setCurrentIndex(index); } void QuickSearchDialog::accept() { AppSettings->setLayout(this); QDialog::accept(); } void QuickSearchDialog::reject() { AppSettings->setLayout(this); QDialog::reject(); } void QuickSearchDialog::buttonClicked(QAbstractButton* button) { QDialogButtonBox::StandardButton sb = ui.buttonBox->standardButton(button); switch(sb) { case QDialogButtonBox::Ok: accept(); break; case QDialogButtonBox::Cancel: reject(); break; default: break; } } ./chessx-1.3.2/src/dialogs/quicksearch.h000644 000765 000024 00000003571 12465675160 017626 0ustar00nistaff000000 000000 /*************************************************************************** quicksearch.h - Quick Tag search dialog ------------------- begin : Sun 6 May 2007 copyright : (C) 2007 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef QUICKSEARCH_H #define QUICKSEARCH_H #include "ui_quicksearch.h" class QuickSearchDialog : public QDialog { Q_OBJECT public: /** Create Quick search dialog */ QuickSearchDialog(QWidget* parent = 0, Qt::WindowFlags f = 0); /** Destroy the dialog */ virtual ~QuickSearchDialog(); /** Set default tag */ void setTag(int tag); /** Fill the tag combo box */ void addTag(QString tag); /** @return current tag */ int tag() const; /** Set default mode */ void setMode(int index); /** @return current mode for combining searches. */ int mode() const; /** @return current value. */ QString value() const; public slots: /** Execute dialog, save options on exit */ int exec(); protected slots: void reject(); void accept(); void buttonClicked(QAbstractButton *button); private: Ui::QuickSearchDialog ui; }; #endif ./chessx-1.3.2/src/dialogs/quicksearch.ui000644 000765 000024 00000004001 12465675160 020001 0ustar00nistaff000000 000000 QuickSearchDialog 0 0 392 148 Quick Tag Search &Tag: tagCombo &Mode: modeCombo &Value: valueEdit QDialogButtonBox::Cancel|QDialogButtonBox::Ok Value or Range like 2000-2300 tagCombo valueEdit modeCombo ./chessx-1.3.2/src/dialogs/recipientaddressdialog.cpp000644 000765 000024 00000005513 12507517064 022360 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 Markus Kolb * * * * 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, write to the Free Software * * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * * MA 02110-1301, USA. * ****************************************************************************/ #include "messagedialog.h" #include "recipientaddressdialog.h" #include "ui_recipientaddressdialog.h" #include "settings.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER RecipientAddressDialog::RecipientAddressDialog(QWidget *parent) : QDialog(parent), ui(new Ui::RecipientAddressDialog) { ui->setupUi(this); restoreLayout(); } void RecipientAddressDialog::restoreLayout() { AppSettings->layout(this); } RecipientAddressDialog::~RecipientAddressDialog() { delete ui; } void RecipientAddressDialog::accept() { const QString email = ui->recipientEMail->text(); const QString mailregex = "([0-9a-zA-Z]([+-_.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})"; if(email.length() == 0 || (email.indexOf(QRegExp("^" + mailregex + "$")) == -1 && email.indexOf(QRegExp("<" + mailregex + ">")) == -1)) { MessageDialog::warning(tr("This is no valid email address.")); ui->recipientEMail->setFocus(); return; } emailSet = true; AppSettings->setLayout(this); QDialog::accept(); } void RecipientAddressDialog::reject() { emailSet = false; AppSettings->setLayout(this); QDialog::reject(); } bool RecipientAddressDialog::isEmailSet() const { return emailSet; } const QString RecipientAddressDialog::getEmail() const { return ui->recipientEMail->text(); } ./chessx-1.3.2/src/dialogs/recipientaddressdialog.h000644 000765 000024 00000003635 12463164747 022037 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 Markus Kolb * * * * 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, write to the Free Software * * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * * MA 02110-1301, USA. * ****************************************************************************/ #ifndef RECIPIENTADDRESSDIALOG_H #define RECIPIENTADDRESSDIALOG_H #include namespace Ui { class RecipientAddressDialog; } class RecipientAddressDialog : public QDialog { Q_OBJECT public: explicit RecipientAddressDialog(QWidget *parent = 0); ~RecipientAddressDialog(); bool isEmailSet() const; const QString getEmail() const; protected slots: void reject(); void accept(); void restoreLayout(); private: Ui::RecipientAddressDialog *ui; bool emailSet; }; #endif // RECIPIENTADDRESSDIALOG_H ./chessx-1.3.2/src/dialogs/recipientaddressdialog.ui000644 000765 000024 00000004616 12463164747 022225 0ustar00nistaff000000 000000 RecipientAddressDialog 0 0 488 200 Recipient Address Mail Receiver Qt::Vertical 20 10 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Ok buttonBox accepted() RecipientAddressDialog accept() 20 20 20 20 buttonBox rejected() RecipientAddressDialog reject() 20 20 20 20 ./chessx-1.3.2/src/dialogs/renametagdialog.cpp000644 000765 000024 00000003256 12507517064 020775 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "renametagdialog.h" #include "settings.h" #include "ui_renametagdialog.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER RenameTagDialog::RenameTagDialog(QWidget *parent, QString ts, QString tagName, Qt::WindowFlags f) : QDialog(parent, f), ui(new Ui::RenameTagDialog), m_ts(ts), m_tagName(tagName) { ui->setupUi(this); ui->editFrom->setText(m_ts); ui->editTo->setText(m_ts); ui->buttonBox->button(QDialogButtonBox::Apply)->setText(tr("Rename")); connect(ui->buttonBox, SIGNAL(clicked(QAbstractButton*)), SLOT(buttonClicked(QAbstractButton*))); AppSettings->layout(this); } RenameTagDialog::~RenameTagDialog() { delete ui; } void RenameTagDialog::slotRename() { emit renameRequest(m_tagName, ui->editTo->text(), m_ts); AppSettings->setLayout(this); close(); } void RenameTagDialog::accept() { AppSettings->setLayout(this); QDialog::accept(); } void RenameTagDialog::reject() { AppSettings->setLayout(this); QDialog::reject(); } void RenameTagDialog::buttonClicked(QAbstractButton* button) { QDialogButtonBox::StandardButton sb = ui->buttonBox->standardButton(button); switch(sb) { case QDialogButtonBox::Close: accept(); break; case QDialogButtonBox::Apply: slotRename(); break; default: break; } } ./chessx-1.3.2/src/dialogs/renametagdialog.h000644 000765 000024 00000001621 12463164747 020443 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef RENAMETAGDIALOG_H #define RENAMETAGDIALOG_H #include class QAbstractButton; namespace Ui { class RenameTagDialog; } class RenameTagDialog : public QDialog { Q_OBJECT public: explicit RenameTagDialog(QWidget *parent, QString ts, QString tagName, Qt::WindowFlags f = 0); ~RenameTagDialog(); signals: void renameRequest(QString tag, QString newName, QString oldName); protected slots: /** Start renaming a tag */ void slotRename(); void accept(); void reject(); void buttonClicked(QAbstractButton *button); private: Ui::RenameTagDialog *ui; QString m_ts; QString m_tagName; }; #endif // RENAMETAGDIALOG_H ./chessx-1.3.2/src/dialogs/renametagdialog.ui000644 000765 000024 00000005677 12463164747 020650 0ustar00nistaff000000 000000 RenameTagDialog true 0 0 509 249 Rename Tags in Database 0 0 Rename all Occurrences ... QLayout::SetDefaultConstraint from Qt::NoFocus true to Press 'Rename' to proceed. Qt::Vertical 20 40 Qt::Horizontal QDialogButtonBox::Apply|QDialogButtonBox::Close editTo editFrom ./chessx-1.3.2/src/dialogs/savedialog.cpp000644 000765 000024 00000016034 12510715746 017767 0ustar00nistaff000000 000000 /*************************************************************************** Savedialog - dialog for saving game ------------------- begin : Mon 17 Apr 2006 copyright : (C) 2006 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #include "database.h" #include "game.h" #include "messagedialog.h" #include "partialdate.h" #include "savedialog.h" #include "settings.h" #include "tags.h" #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER SaveDialog::SaveDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f) { ui.setupUi(this); restoreLayout(); QButtonGroup* group = new QButtonGroup(this); group->addButton(ui.result1Button); group->addButton(ui.result5Button); group->addButton(ui.result0Button); group->addButton(ui.resultNoneButton); connect(ui.buttonBox, SIGNAL(clicked(QAbstractButton*)), SLOT(buttonClicked(QAbstractButton*))); } void SaveDialog::restoreLayout() { AppSettings->layout(this); } SaveDialog::~SaveDialog() {} QString formatTagValue(const QString& s) { return (s.trimmed().isEmpty()) ? "?" : s; } QString formatTagDate(const QString& s) { return (s.trimmed().isEmpty()) ? PDInvalidDate.asString() : PartialDate().fromString(s).asString(); } int SaveDialog::save(Database* database, Game& game) { QString gameTitle; QString baseName = database->name(); if(game.tag(TagNameWhite).isEmpty() && game.tag(TagNameBlack).isEmpty()) { gameTitle = "Save game to "; } else { QString name1 = game.tag(TagNameWhite); if(name1.isEmpty()) { name1 = "?"; } QString name2 = game.tag(TagNameBlack); if(name2.isEmpty()) { name2 = "?"; } gameTitle = QString("Save game '%1 vs. %2' to ").arg(name1).arg(name2); } gameTitle.append(baseName); setWindowTitle(gameTitle); ui.whiteEdit->setText(game.tag(TagNameWhite)); ui.whiteEloEdit->setText(game.tag(TagNameWhiteElo)); ui.blackEdit->setText(game.tag(TagNameBlack)); ui.blackEloEdit->setText(game.tag(TagNameBlackElo)); ui.eventEdit->setText(game.tag(TagNameEvent)); ui.siteEdit->setText(game.tag(TagNameSite)); ui.roundEdit->setText(game.tag(TagNameRound)); ui.dateEdit->setText(game.tag(TagNameDate)); ui.eventDateEdit->setText(game.tag(TagNameEventDate)); ui.whiteTeamEdit->setText(game.tag(TagNameWhiteTeam)); ui.blackTeamEdit->setText(game.tag(TagNameBlackTeam)); QList buttons = ui.result1Button->group()->buttons(); for(int i = 0; i < buttons.count(); ++i) if(buttons[i]->text() == game.tag(TagNameResult)) { buttons[i]->setChecked(true); } // Completion setLineEdit(ui.whiteEdit, database, TagNameWhite); setLineEdit(ui.blackEdit, database, TagNameBlack); setLineEdit(ui.siteEdit, database, TagNameSite); setLineEdit(ui.eventEdit, database, TagNameEvent); int result = QDialog::exec(); if(result == Accepted) { game.setTag(TagNameWhite, formatTagValue(ui.whiteEdit->text())); game.setTag(TagNameBlack, formatTagValue(ui.blackEdit->text())); game.setTag(TagNameEvent, formatTagValue(ui.eventEdit->text())); game.setTag(TagNameSite, formatTagValue(ui.siteEdit->text())); game.setTag(TagNameRound, formatTagValue(ui.roundEdit->text())); game.setTag(TagNameDate, formatTagDate(ui.dateEdit->text())); game.setTag(TagNameEventDate, formatTagDate(ui.eventDateEdit->text())); game.setTag(TagNameResult, ui.result1Button->group()->checkedButton()->text()); // Optional tag if(ui.whiteEloEdit->text().toInt() || game.tag(TagNameWhiteElo).toInt()) { game.setTag(TagNameWhiteElo, ui.whiteEloEdit->text()); } if(ui.blackEloEdit->text().toInt() || game.tag(TagNameBlackElo).toInt()) { game.setTag(TagNameBlackElo, ui.blackEloEdit->text()); } QString t = ui.timeControl->text(); QString format = "H:mm:ss"; if(!t.isEmpty()) { game.setTag(TagNameTimeControl, t); } QTime tt = ui.whiteStartTime->time(); if(tt.secsTo(QTime(0, 0)) > 0) { t = tt.toString(format); game.setTag(TagNameWhiteClock, t); } tt = ui.blackStartTime->time(); if(tt.secsTo(QTime(0, 0)) > 0) { t = tt.toString(format); game.setTag(TagNameBlackClock, t); } t = ui.whiteTeamEdit->text(); if(!t.isEmpty()) { game.setTag(TagNameWhiteTeam, t); } t = ui.blackTeamEdit->text(); if(!t.isEmpty()) { game.setTag(TagNameBlackTeam, t); } } return result; } void SaveDialog::setLineEdit(QLineEdit* edit, Database* database, const QString &tagName) { QStringList words; if((tagName == TagNameWhite) || (tagName == TagNameBlack)) { words = database->index()->playerNames(); } else { words = database->index()->tagValues(tagName); } QCompleter* completer = new QCompleter(words, this); completer->setCaseSensitivity(Qt::CaseInsensitive); edit->setCompleter(completer); } void SaveDialog::accept() { AppSettings->setLayout(this); if((PartialDate().fromString(ui.dateEdit->text()).isValid()) && (PartialDate().fromString(ui.eventDateEdit->text()).isValid())) { // dates are formatted properly QDialog::accept(); } else { MessageDialog::error(tr("Dates are not properly formatted!"), tr("Invalid Data")); } } void SaveDialog::discardChanges() { AppSettings->setLayout(this); done(Discard); } void SaveDialog::reject() { AppSettings->setLayout(this); QDialog::reject(); } void SaveDialog::buttonClicked(QAbstractButton* button) { QDialogButtonBox::StandardButton sb = ui.buttonBox->standardButton(button); switch(sb) { case QDialogButtonBox::Ok: accept(); break; case QDialogButtonBox::Cancel: reject(); break; case QDialogButtonBox::Discard: discardChanges(); break; default: break; } } ./chessx-1.3.2/src/dialogs/savedialog.h000644 000765 000024 00000003330 12463164747 017435 0ustar00nistaff000000 000000 /*************************************************************************** Savedialog - dialog for saving game ------------------- begin : Mon 17 Apr 2006 copyright : (C) 2006 Michal Rudolf ***************************************************************************/ /*************************************************************************** * * * 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. * * * ***************************************************************************/ #ifndef __SAVEDIALOG_H__ #define __SAVEDIALOG_H__ #include "ui_savedialog.h" #include "common.h" class Database; class Game; class QLineEdit; /** @ingroup GUI The SaveDialog class is a simple dialog to edit and save game header. */ class SaveDialog : public QDialog { Q_OBJECT public: static const int Discard = 2; SaveDialog(QWidget* parent = 0, Qt::WindowFlags f = 0); virtual ~SaveDialog(); virtual int save(Database* database, Game& game); protected slots: void discardChanges(); void restoreLayout(); void accept(); void reject(); void buttonClicked(QAbstractButton*); private: void setLineEdit(QLineEdit* edit, Database* database, const QString& tagName); Ui::SaveDialog ui; }; #endif ./chessx-1.3.2/src/dialogs/savedialog.ui000644 000765 000024 00000034076 12463164747 017636 0ustar00nistaff000000 000000 SaveDialog 0 0 719 567 Save Game true Players Elo: Elo: 0 0 80 32767 &White: whiteEdit 0 0 0 0 &Black: blackEdit 0 0 80 32767 Team Team White Team Black Team Time Control 6 White Start Time Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter H:mm:ss Qt::Horizontal 40 20 Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter H:mm:ss Black Start Time Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter Time Control e.g. 40/7200:3600 for 2h/40 moves + 1h Tournament 0 0 160 32767 0 0 E&vent date: eventDateEdit 0 0 &Site: siteEdit &Event: eventEdit Game Information 0 0 80 32767 &Round: roundEdit &Date: dateEdit 0 0 160 32767 Qt::Horizontal 40 20 Result: 1-0 1/2-1/2 0-1 * true Qt::Horizontal 40 20 Qt::Horizontal Qt::Horizontal QSizePolicy::Expanding 20 20 QDialogButtonBox::Cancel|QDialogButtonBox::Discard|QDialogButtonBox::Ok Qt::Vertical 20 40 whiteEdit whiteEloEdit blackEdit blackEloEdit eventEdit siteEdit eventDateEdit roundEdit dateEdit result1Button result5Button result0Button resultNoneButton ./chessx-1.3.2/src/dialogs/tagdialog.cpp000644 000765 000024 00000010421 12510715746 017576 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "database.h" #include "game.h" #include "settings.h" #include "tagdialog.h" #include "tags.h" #include "ui_tagdialog.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER TagDialog::TagDialog(QWidget *parent) : QDialog(parent), ui(new Ui::TagDialog) { ui->setupUi(this); AppSettings->layout(this); ui->labelInfo->setVisible(false); } TagDialog::~TagDialog() { delete ui; } void TagDialog::reject() { AppSettings->setLayout(this); QDialog::reject(); } void TagDialog::accept() { AppSettings->setLayout(this); QDialog::accept(); } void TagDialog::saveOldTagText(int row, int column) { oldTagText = ui->tagTable->item(row, column)->text(); } void TagDialog::slotAddTag() { int row = ui->tagTable->rowCount(); ui->tagTable->insertRow(row); QTableWidgetItem* firstCol = new QTableWidgetItem(tr("Edit tag...")); firstCol->setFlags(firstCol->flags() | Qt::ItemIsEditable); firstCol->setCheckState(Qt::Checked); QTableWidgetItem* secondCol = new QTableWidgetItem(tr("Enter value...")); secondCol->setFlags(secondCol->flags() | Qt::ItemIsEditable); ui->tagTable->setItem(row, 0, firstCol); ui->tagTable->setItem(row, 1, secondCol); } void TagDialog::validateTag(int /*row*/, int column) { if (column == 0) { int n=0; for (int i=0;itagTable->rowCount();++i) { QString tag = ui->tagTable->item(i, 0)->text(); if (!isStandardTag(tag)) { bool removeTag = ui->tagTable->item(i, 0)->checkState() == Qt::Unchecked; if (removeTag) { ++n; } } } if (n>0) { QString s = tr("Deleting %1 tags").arg(n); ui->labelInfo->setText(s); ui->labelInfo->setVisible(true); } else { ui->labelInfo->setVisible(false); } } ui->tagTable->resizeColumnsToContents(); } bool TagDialog::editTags(Index* index, Game& game, GameId id) { const TagMap& tags = game.tags(); int row = 0; foreach(QString key, tags.keys()) { if (row >= ui->tagTable->rowCount()) { ui->tagTable->insertRow(row); } QString text = game.tag(key); QTableWidgetItem* firstCol = new QTableWidgetItem(key); firstCol->setFlags(firstCol->flags() & ~Qt::ItemIsEditable); if (!isStandardTag(key)) { firstCol->setCheckState(Qt::Checked); } QTableWidgetItem* secondCol = new QTableWidgetItem(text); secondCol->setFlags(secondCol->flags() | Qt::ItemIsEditable); ui->tagTable->setItem(row, 0, firstCol); ui->tagTable->setItem(row, 1, secondCol); ++row; } ui->tagTable->setSortingEnabled(true); ui->tagTable->resizeColumnsToContents(); connect(ui->tagTable, SIGNAL(cellActivated(int,int)), this, SLOT(saveOldTagText(int, int))); connect(ui->tagTable, SIGNAL(cellChanged(int, int)), this, SLOT(validateTag(int, int))); int result = exec(); if (result == QDialog::Accepted) { for (int i=0;itagTable->rowCount();++i) { QString tag = ui->tagTable->item(i, 0)->text(); bool removeTag = ui->tagTable->item(i, 0)->checkState() == Qt::Unchecked; if (removeTag) { if (isStandardTag(tag)) { removeTag = false; } } if (removeTag) { QString tag = ui->tagTable->item(i, 0)->text(); game.removeTag(tag); index->removeTag(tag,id); } else if (!tag.endsWith("...")) { QString value = ui->tagTable->item(i, 1)->text(); game.setTag(tag,value); index->setTag(tag,value,id); } } return true; } return false; } ./chessx-1.3.2/src/dialogs/tagdialog.h000644 000765 000024 00000001461 12465423303 017241 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef TAGDIALOG_H #define TAGDIALOG_H #include #include "game.h" namespace Ui { class TagDialog; } class Index; class TagDialog : public QDialog { Q_OBJECT public: explicit TagDialog(QWidget *parent = 0); ~TagDialog(); bool editTags(Index* index, Game &game, GameId id); protected slots: void accept(); void reject(); void slotAddTag(); private slots: void saveOldTagText(int row, int column); void validateTag(int row, int column); private: QString oldTagText; private: Ui::TagDialog *ui; }; #endif // TAGDIALOG_H ./chessx-1.3.2/src/dialogs/tagdialog.ui000644 000765 000024 00000007013 12465423303 017426 0ustar00nistaff000000 000000 TagDialog 0 0 400 300 Edit Tags true true 2 Tag AlignLeft|AlignVCenter Value Qt::Horizontal :/images/plus.png:/images/plus.png Deleting %1 tags Qt::Horizontal 40 20 Qt::Horizontal QDialogButtonBox::Cancel|QDialogButtonBox::Save buttonBox accepted() TagDialog accept() 279 271 199 149 buttonBox rejected() TagDialog reject() 279 271 199 149 btAddTag clicked() TagDialog slotAddTag() 25 266 199 149 slotAddTag() ./chessx-1.3.2/src/database/analysis.cpp000644 000765 000024 00000011367 12507517064 017621 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2010 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "analysis.h" #include "board.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER Analysis::Analysis() { clear(); } Analysis& Analysis::operator=(const Analysis& rhs) { if(this != &rhs) { m_score = rhs.m_score; m_msec = rhs.m_msec; m_depth = rhs.m_depth; m_mateIn = rhs.m_mateIn; m_nodes = rhs.m_nodes; m_numpv = rhs.m_numpv; m_bestMove = rhs.m_bestMove; m_variation = rhs.m_variation; } return *this; } void Analysis::clear() { m_mateIn = 99999; m_score = m_msec = m_depth = 0; m_nodes = 0; m_numpv = 1; m_bestMove = false; m_variation.clear(); } bool Analysis::isValid() const { return isAlreadyMate() || (!m_variation.isEmpty() && m_depth > 0 && m_msec > 0); } int Analysis::mpv() const { return m_numpv; } void Analysis::setNumpv(int n) { m_numpv = n; } int Analysis::time() const { return m_msec; } void Analysis::setTime(int msec) { m_msec = msec; } int Analysis::score() const { return m_score; } void Analysis::setScore(int score) { m_score = score; } int Analysis::depth() const { return m_depth; } void Analysis::setDepth(int depth) { m_depth = depth; } quint64 Analysis::nodes() const { return m_nodes; } void Analysis::setNodes(quint64 nodes) { m_nodes = nodes; } MoveList Analysis::variation() const { return m_variation; } void Analysis::setVariation(const MoveList& variation) { m_variation = variation; } void Analysis::setBestMove(bool bestMove) { m_bestMove = bestMove; } bool Analysis::bestMove() const { return m_bestMove; } bool Analysis::isMate() const { return m_mateIn < 99999; } bool Analysis::isAlreadyMate() const { return m_mateIn == 0; } int Analysis::movesToMate() const { return m_mateIn; } void Analysis::setMovesToMate(int mate) { m_mateIn = mate; } QString Analysis::toString(const Board& board) const { Board testBoard = board; QString out; if (isAlreadyMate()) { QString color = testBoard.toMove() == Black ? "000080" : "800000"; QString text = tr("Mate"); out = QString("%2 ").arg(color).arg(text); } else if(isMate()) { int score = movesToMate(); bool whiteToMove = testBoard.toMove() == White; QString color = ((whiteToMove && (score>0)) || (!whiteToMove && (score<0))) ? "000080" : "800000"; QString text = QString(tr("Mate in %1").arg(abs(score))); out = QString("%2 ").arg(color).arg(text); } else if (!bestMove()) { if(score() > 0) { out = QString("+%1 ").arg(score() / 100.0, 0, 'f', 2); } else { out = QString("%1 ").arg(score() / 100.0, 0, 'f', 2); } } int moveNo = testBoard.moveNumber(); bool white = testBoard.toMove() == White; QString moveText; foreach(Move move, variation()) { if(white) { moveText += QString::number(moveNo++) + ". "; } else if(moveText.isEmpty()) { moveText += QString::number(moveNo++) + "... "; } moveText += testBoard.moveToSan(move); moveText += " "; testBoard.doMove(move); white = !white; } if (!moveText.isEmpty()) { out += " [+] "; if (!bestMove()) { out += " [*] "; } out += moveText; } if (!bestMove()) { QTime t(0, 0, 0, 0); t = t.addMSecs(time()); QString elapsed = t.toString("h:mm:ss"); out += tr(" (depth %1, %2)").arg(depth()).arg(elapsed); } else { if (!out.isEmpty()) { out += tr(" (suggested move)"); } } return out; } ./chessx-1.3.2/src/database/analysis.h000644 000765 000024 00000004530 12343363474 017262 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2010 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef ANALYSIS_H #define ANALYSIS_H #include #include "movelist.h" class Board; /** The analysis class contains engine analysis. */ class Analysis { Q_DECLARE_TR_FUNCTIONS(Analysis) public: Analysis(); /** Reset values. */ void clear(); /** Check if analysis is valid. */ bool isValid() const; /** order of the variarion in the variation list */ int mpv() const; /** Set order of the variation. */ void setNumpv(int n); /** Time elapsed in miliseconds. */ int time() const; /** Set time in miliseconds. */ void setTime(int msec); /** Evaluation in centipawns. */ int score() const; /** Set evaluation in centipawns. */ void setScore(int score); /** Depth in plies. */ int depth() const; /** Set depth in plies. */ void setDepth(int depth); /** Nodes spent on analysis. */ quint64 nodes() const; /** Set nodes spent on analysis. */ void setNodes(quint64 nodes); /** Main variation. */ MoveList variation() const; /** Set main variation. */ void setVariation(const MoveList& variation); /** Is mate. */ bool isMate() const; /** @return moves to mate */ int movesToMate() const; /** Set moves to mate. */ void setMovesToMate(int mate); /** Moves to mate. */ /** Convert analysis to formatted text. */ QString toString(const Board& board) const; /** Assignment operator */ Analysis& operator=(const Analysis& rhs); void setBestMove(bool bestMove); bool bestMove() const; bool isAlreadyMate() const; private: int m_numpv; int m_msec; int m_mateIn; int m_depth; int m_score; bool m_bestMove; quint64 m_nodes; MoveList m_variation; }; #endif // ANALYSIS_H ./chessx-1.3.2/src/database/bitboard.cpp000644 000765 000024 00000202560 12510715746 017562 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2003 Sune Fischer * * (C) 2005-2006 Marius Roets * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "bitboard.h" #include "settings.h" #ifdef _MSC_VER #include #endif #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER // Global data that is initialized early on and only read afterward quint64 bb_PawnAttacks[2][64]; quint64 bb_PawnF1[2][64]; quint64 bb_PawnF2[2][64]; quint64 bb_PawnALL[2][64]; quint64 bb_PromotionRank[2]; quint64 bb_KnightAttacks[64]; quint64 bb_R45Attacks[64][64]; quint64 bb_L45Attacks[64][64]; quint64 bb_KingAttacks[64]; quint64 bb_RankAttacks[64][64]; quint64 bb_FileAttacks[64][64]; quint64 bb_fileMask[8]; quint64 bb_rankMask[8]; quint64 bb_Mask[64]; quint64 bb_MaskL90[64]; quint64 bb_MaskL45[64]; quint64 bb_MaskR45[64]; BitBoard getStandardPosition(); // Calling the function getStandardPosition for initialization avoids // initialization side effects when using BitBoards in other translation // units. BitBoard standardPosition = getStandardPosition(); BitBoard clearedPosition; bool bitBoardInitRun; void bitBoardInit(); const quint64 A1 = 1, B1 = A1 << 1, C1 = B1 << 1, D1 = C1 << 1, E1 = D1 << 1, F1 = E1 << 1, G1 = F1 << 1, H1 = G1 << 1; const quint64 A2 = H1 << 1, B2 = A2 << 1, C2 = B2 << 1, D2 = C2 << 1, E2 = D2 << 1, F2 = E2 << 1, G2 = F2 << 1, H2 = G2 << 1; const quint64 A3 = H2 << 1, B3 = A3 << 1, C3 = B3 << 1, D3 = C3 << 1, E3 = D3 << 1, F3 = E3 << 1, G3 = F3 << 1, H3 = G3 << 1; const quint64 A4 = H3 << 1, B4 = A4 << 1, C4 = B4 << 1, D4 = C4 << 1, E4 = D4 << 1, F4 = E4 << 1, G4 = F4 << 1, H4 = G4 << 1; const quint64 A5 = H4 << 1, B5 = A5 << 1, C5 = B5 << 1, D5 = C5 << 1, E5 = D5 << 1, F5 = E5 << 1, G5 = F5 << 1, H5 = G5 << 1; const quint64 A6 = H5 << 1, B6 = A6 << 1, C6 = B6 << 1, D6 = C6 << 1, E6 = D6 << 1, F6 = E6 << 1, G6 = F6 << 1, H6 = G6 << 1; const quint64 A7 = H6 << 1, B7 = A7 << 1, C7 = B7 << 1, D7 = C7 << 1, E7 = D7 << 1, F7 = E7 << 1, G7 = F7 << 1, H7 = G7 << 1; const quint64 A8 = H7 << 1, B8 = A8 << 1, C8 = B8 << 1, D8 = C8 << 1, E8 = D8 << 1, F8 = E8 << 1, G8 = F8 << 1, H8 = G8 << 1; const unsigned int RotateL90[64] = { h1, h2, h3, h4, h5, h6, h7, h8, g1, g2, g3, g4, g5, g6, g7, g8, f1, f2, f3, f4, f5, f6, f7, f8, e1, e2, e3, e4, e5, e6, e7, e8, d1, d2, d3, d4, d5, d6, d7, d8, c1, c2, c3, c4, c5, c6, c7, c8, b1, b2, b3, b4, b5, b6, b7, b8, a1, a2, a3, a4, a5, a6, a7, a8, }; const unsigned int RotateR45[64] = { a1, b8, c7, d6, e5, f4, g3, h2, a2, b1, c8, d7, e6, f5, g4, h3, a3, b2, c1, d8, e7, f6, g5, h4, a4, b3, c2, d1, e8, f7, g6, h5, a5, b4, c3, d2, e1, f8, g7, h6, a6, b5, c4, d3, e2, f1, g8, h7, a7, b6, c5, d4, e3, f2, g1, h8, a8, b7, c6, d5, e4, f3, g2, h1 }; const unsigned int RotateL45[64] = { a2, b3, c4, d5, e6, f7, g8, h1, a3, b4, c5, d6, e7, f8, g1, h2, a4, b5, c6, d7, e8, f1, g2, h3, a5, b6, c7, d8, e1, f2, g3, h4, a6, b7, c8, d1, e2, f3, g4, h5, a7, b8, c1, d2, e3, f4, g5, h6, a8, b1, c2, d3, e4, f5, g6, h7, a1, b2, c3, d4, e5, f6, g7, h8 }; const unsigned char Castle[64] = { ~4, 255, 255, 255, ~5, 255, 255, ~1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, ~8, 255, 255, 255, ~10, 255, 255, ~2 }; const quint64 fileA = A1 | A2 | A3 | A4 | A5 | A6 | A7 | A8; const quint64 fileB = B1 | B2 | B3 | B4 | B5 | B6 | B7 | B8; const quint64 fileG = G1 | G2 | G3 | G4 | G5 | G6 | G7 | G8; const quint64 fileH = H1 | H2 | H3 | H4 | H5 | H6 | H7 | H8; const quint64 rank4 = A4 | B4 | C4 | D4 | E4 | F4 | G4 | H4; const quint64 rank5 = A5 | B5 | C5 | D5 | E5 | F5 | G5 | H5; const quint64 fileNotA = ~ fileA; const quint64 fileNotH = ~ fileH; const quint64 fileNotAB = ~(fileA | fileB); const quint64 fileNotGH = ~(fileG | fileH); #define SetBitL90(s) (bb_MaskL90[s]) #define SetBitL45(s) (bb_MaskL45[s]) #define SetBitR45(s) (bb_MaskR45[s]) #define ShiftDown(b) ((b)>>8) #define Shift2Down(b) ((b)>>16) #define ShiftUp(b) ((b)<<8) #define Shift2Up(b) ((b)<<16) #define ShiftRight(b) (((b)<<1)&fileNotA) #define Shift2Right(b) (((b)<<2)&fileNotAB) #define ShiftLeft(b) (((b)>>1)&fileNotH) #define Shift2Left(b) (((b)>>2)&fileNotGH) #define ShiftUpLeft(b) (((b)<<7)&fileNotH) #define ShiftUpRight(b) (((b)<<9)&fileNotA) #define ShiftDownLeft(b) (((b)>>9)&fileNotH) #define ShiftDownRight(b) (((b)>>7)&fileNotA) #define SetBit(s) (bb_Mask[s]) #define File(s) ((s)&7) #define Rank(s) ((s)>>3) // This C++ version is as fast as the assembly inline unsigned int getFirstBitAndClear64(quint64& bb) { register quint64 x = bb & -(qint64)bb; bb ^= x; #ifdef __GNUG__ return x ? (63 - __builtin_clzll(x)) : 0; #elif _MSC_VER #ifdef __x86_64__ if(x) { register unsigned long r; _BitScanReverse64(&r, x); return r; } return 0; #else if(x) { register unsigned long r; unsigned long y = (x >> 32); if(y) { _BitScanReverse(&r, y); return 32 + r; } _BitScanReverse(&r, x); return r; } return 0; #endif #else // SBE - After a fair bit of testing, this is the fastest portable version // i could come up with, it's about twice as fast as shift-testing 64 times. register unsigned int r = 0; if(!(x & 0xffffffff)) { x >>= 32; r |= 32; } if(!(x & 0xffff)) { x >>= 16; r |= 16; } if(!(x & 0xff)) { x >>= 8; r |= 8; } if(!(x & 0xf)) { x >>= 4; r |= 4; } if(!(x & 0x3)) { x >>= 2; r |= 2; } if(!(x & 0x1)) { r |= 1; } return r; #endif } /** Initialize a new bitboard, and ensure global data has been initialized */ BitBoard::BitBoard() { memset(this, 0, sizeof(BitBoard)); if(!bitBoardInitRun) { bitBoardInit(); } m_epSquare = NoEPSquare; } bool BitBoard::isCheckmate() const { MoveList moves(generateMoves()); for(int i = 0; i < moves.size(); ++i) if(!isIntoCheck(moves[i])) { return false; } return isCheck(); } bool BitBoard::isStalemate() const { MoveList moves(generateMoves()); for(int i = 0; i < moves.size(); ++i) if(!isIntoCheck(moves[i])) { return false; } return !isCheck(); } void BitBoard::removeIllegal(const Move& move, quint64& b) const { quint64 mask = 1; Move m = move; for(int sq = 0; sq < 64; ++sq) { if(b & mask) { m.setFrom(sq); if(isIntoCheck(m)) { b &= ~mask; } } mask <<= 1; } } inline QString sanPiece(int piece, bool translate = false) { if(!translate) { return QString(" KQRBN"[piece]); } QString pieceString = AppSettings->getValue("/GameText/PieceString").toString(); if(pieceString.length() == 6) { return QString(pieceString.at(piece)); } switch(piece) { case 0: return " "; case 1: return "♔"; case 2: return "♕"; case 3: return "♖"; case 4: return "♗"; case 5: return "♘"; } return " "; } QString BitBoard::moveToSan(const Move& move, bool translate) const { QString san; int from = move.from(); int to = move.to(); bool isPawn = m_piece[from] == Pawn; if(move.isNullMove()) { san = "--"; return san; } if(move.isCastling()) { if(from < to) { san = "O-O"; } else { san = "O-O-O"; } } else { if(!isPawn) { san = sanPiece(m_piece[from], translate); // We may need disambiguation quint64 others = 0; switch(m_piece[from]) { case Knight: others = m_knights & knightAttacksFrom(to); break; case Bishop: others = m_bishops & bishopAttacksFrom(to); break; case Rook: others = m_rooks & rookAttacksFrom(to); break; case Queen: others = m_queens & queenAttacksFrom(to); break; case King: others = m_kings & kingAttacksFrom(to); break; default: break; // Something really wrong } others ^= SetBit(from); others &= m_occupied_co[m_stm]; // Do not disambiguate with moves that put oneself in check. // This is an expensive operation of dubious value, but people seem to want it if(others) { removeIllegal(move, others); } if(others) { bool row = false, column = false; if(others & bb_rankMask[Rank(from)]) { column = true; } if(others & bb_fileMask[File(from)]) { row = true; } else { column = true; } if(column) { san += 'a' + File(from); } if(row) { san += '1' + Rank(from); } } } //capture x if(m_piece[to] || (move.isEnPassant())) { if(isPawn) { san += 'a' + File(from); } san += 'x'; } //destination square san += 'a' + File(to); san += '1' + Rank(to); } if(move.isPromotion()) { san += '='; san += sanPiece(move.promoted(), translate); } BitBoard check(*this); check.doMove(move); if(check.isCheck()) { if(check.isCheckmate()) { san += '#'; } else { san += '+'; } } return san; } void BitBoard::clear() { *this = clearedPosition; } void BitBoard::setStandardPosition() { *this = standardPosition; } void BitBoard::clearEnPassantSquare() { m_epFile = 0; m_epSquare = NoEPSquare; } void BitBoard::setEnPassantSquare(const Square s) { m_epSquare = s; m_epFile = File(s); } bool BitBoard::isMovable(const Square from) const { Q_ASSERT(from < 64); if(m_occupied_co[m_stm] & SetBit(from)) { quint64 squares = 0; switch(m_piece[from]) { case Pawn: squares = pawnMovesFrom(from); break; case Knight: squares = knightAttacksFrom(from); break; case Bishop: squares = bishopAttacksFrom(from); break; case Rook: squares = rookAttacksFrom(from); break; case Queen: squares = queenAttacksFrom(from); break; case King: squares = kingAttacksFrom(m_ksq[m_stm]); break; default: break; } squares &= ~m_occupied_co[m_stm]; while(squares) { Square to = getFirstBitAndClear64(squares); if(prepareMove(from, to).isLegal()) { return true; } } } return false; } void BitBoard::setAt(const Square s, const Piece p) { Q_ASSERT(s < 64); Q_ASSERT(isValidPiece(p) || p == Empty); quint64 bit = SetBit(s); if(m_occupied & bit) { removeAt(s); } PieceType pt = pieceType(p); if(pt == None) { return; } Color _color = pieceColor(p); ++m_pieceCount[_color]; switch(pt) { case Pawn: m_pawns |= bit; ++m_pawnCount[_color]; break; case Knight: m_knights |= bit; break; case Bishop: m_bishops |= bit; break; case Rook: m_rooks |= bit; break; case Queen: m_queens |= bit; break; case King: if(m_kings & m_occupied_co[_color]) { removeAt(m_ksq[_color]); } m_kings |= bit; m_ksq[_color] = s; break; default: break; // ERROR } m_piece[s] = pt; m_occupied ^= bit; m_occupied_co[_color] ^= bit; m_occupied_l90 ^= SetBitL90(s); m_occupied_l45 ^= SetBitL45(s); m_occupied_r45 ^= SetBitR45(s); } void BitBoard::removeAt(const Square s) { Q_ASSERT(s < 64); quint64 bit = SetBit(s); if(!(m_occupied & bit)) { return; } Color _color = m_occupied_co[White] & bit ? White : Black; --m_pieceCount[_color]; switch(m_piece[s]) { case Pawn: m_pawns ^= bit; --m_pawnCount[_color]; break; case Knight: m_knights ^= bit; break; case Bishop: m_bishops ^= bit; break; case Rook: m_rooks ^= bit; m_castle &= Castle[s]; break; case Queen: m_queens ^= bit; break; case King: m_kings ^= bit; m_ksq[_color] = InvalidSquare; destroyCastle(_color); break; default: break; // ERROR } m_piece[s] = Empty; m_occupied ^= bit; m_occupied_co[_color] ^= bit; m_occupied_l90 ^= SetBitL90(s); m_occupied_l45 ^= SetBitL45(s); m_occupied_r45 ^= SetBitR45(s); } bool BitBoard::isValidFen(const QString& fen) const { return BitBoard().fromGoodFen(fen); } bool BitBoard::fromFen(const QString& fen) { if(isValidFen(fen)) { return fromGoodFen(fen); } return false; } BoardStatus BitBoard::validate() const { unsigned int wk = 0, bk = 0, wp = 0, bp = 0, bo = 0, wo = 0; for(unsigned int i = 0; i < 64; ++i) { Piece p = pieceAt(i); if(p == WhiteKing) { ++wk; } else if(p == BlackKing) { ++bk; } else if(p == WhitePawn) { if(i <= h1 || i >= a8) // Pawns on 1st or 8th { return PawnsOn18; } else { ++wp; } } else if(p == BlackPawn) { if(i <= h1 || i >= a8) // Pawns on 1st or 8th { return PawnsOn18; } else { ++bp; } } else if(isWhite(p)) { ++wo; } else if(isBlack(p)) { ++bo; } } Q_ASSERT(wp == m_pawnCount[White]); Q_ASSERT(bp == m_pawnCount[Black]); Q_ASSERT(wp + wk + wo == m_pieceCount[White]); Q_ASSERT(bp + bk + bo == m_pieceCount[Black]); // Exactly one king per side if(wk == 0) { return NoWhiteKing; } if(bk == 0) { return NoBlackKing; } if(wk != 1 || bk != 1) { return TooManyKings; } // No more than 8 pawns per side if(wp > 8) { return TooManyWhitePawns; } if(bp > 8) { return TooManyBlackPawns; } // Maximum 16 pieces per side if((wk + wp + wo) > 16) { return TooManyWhite; } if((bk + bp + bo) > 16) { return TooManyBlack; } // Bad checks bool check = isAttackedBy(m_stm ^ 1, m_ksq[m_stm]); bool check2 = isAttackedBy(m_stm, m_ksq[m_stm ^ 1]); if(check && check2) { return DoubleCheck; } if(check2) { return OppositeCheck; } // Can't castle with missing rook if(canCastleLong(White) && pieceAt(a1) != WhiteRook) { return BadCastlingRights; } if(canCastleShort(White) && pieceAt(h1) != WhiteRook) { return BadCastlingRights; } if(canCastleLong(Black) && pieceAt(a8) != BlackRook) { return BadCastlingRights; } if(canCastleShort(Black) && pieceAt(h8) != BlackRook) { return BadCastlingRights; } // Can't castle if king has moved if(canCastle(White) && pieceAt(e1) != WhiteKing) { return BadCastlingRights; } if(canCastle(Black) && pieceAt(e8) != BlackKing) { return BadCastlingRights; } // Detect unreasonable ep square if(m_epSquare != NoEPSquare) { if(m_stm == White && (m_epSquare < a6 || m_epSquare > h6)) { return InvalidEnPassant; } if(m_stm == Black && (m_epSquare < a3 || m_epSquare > h3)) { return InvalidEnPassant; } // According to PGN standard, ep should be set even if no capture is possible /* if (m_occupied & SetBit(m_epSquare)) return InvalidEnPassant; if (m_occupied & bb_PawnF1[m_stm][m_epSquare]) return InvalidEnPassant; if (!(bb_PawnAttacks[m_stm^1][m_epSquare] & m_pawns & m_occupied_co[m_stm])) return InvalidEnPassant; if (!(bb_PawnF1[m_stm^1][m_epSquare] & m_pawns & m_occupied_co[m_stm^1])) return InvalidEnPassant; */ } // Don't allow triple(or more) checks. // FIXME -- need code here to return MultiCheck return Valid; } bool BitBoard::canTakeEnPassant() const { if(m_stm == Black) { quint64 movers = m_pawns & m_occupied_co[Black]; if(m_epSquare != NoEPSquare) { quint64 moves = bb_PawnAttacks[White][m_epSquare] & movers; return (moves != 0); } } else { quint64 movers = m_pawns & m_occupied_co[White]; if(m_epSquare != NoEPSquare) { quint64 moves = bb_PawnAttacks[Black][m_epSquare] & movers; return (moves != 0); } } return 0; } // Why QString throws asserts for access past end of string and // refuses to return a real c++ char type is beyond me... class SaneString : public QString { public: SaneString(const QString& q) : QString(q) {}; char operator[](const int index) const { if(index < this->length()) { return QString::operator[](index).toLatin1(); } return 0; } }; bool BitBoard::fromGoodFen(const QString& qfen) { SaneString fen(qfen); int i; unsigned int s; char c = fen[0]; memset(this, 0, sizeof(BitBoard)); m_moveNumber = 1; m_epSquare = NoEPSquare; // Piece position i = 0; s = 56; while(c && c != ' ' && s <= 64) { switch(c) { case '/': s -= 16; break; case '1': s += 1; break; case '2': s += 2; break; case '3': s += 3; break; case '4': s += 4; break; case '5': s += 5; break; case '6': s += 6; break; case '7': s += 7; break; case '8': s += 8; break; case 'p': m_piece[s] = Pawn; m_pawns |= SetBit(s); m_occupied_co[Black] |= SetBit(s); ++m_pawnCount[Black]; ++m_pieceCount[Black]; s++; break; case 'n': m_piece[s] = Knight; m_knights |= SetBit(s); m_occupied_co[Black] |= SetBit(s); ++m_pieceCount[Black]; s++; break; case 'b': m_piece[s] = Bishop; m_bishops |= SetBit(s); m_occupied_co[Black] |= SetBit(s); ++m_pieceCount[Black]; s++; break; case 'r': m_piece[s] = Rook; m_rooks |= SetBit(s); m_occupied_co[Black] |= SetBit(s); ++m_pieceCount[Black]; s++; break; case 'q': m_piece[s] = Queen; m_queens |= SetBit(s); m_occupied_co[Black] |= SetBit(s); ++m_pieceCount[Black]; s++; break; case 'k': m_piece[s] = King; m_kings |= SetBit(s); m_occupied_co[Black] |= SetBit(s); m_ksq[Black] = s; ++m_pieceCount[Black]; s++; break; case 'P': m_piece[s] = Pawn; m_pawns |= SetBit(s); m_occupied_co[White] |= SetBit(s); ++m_pawnCount[White]; ++m_pieceCount[White]; s++; break; case 'N': m_piece[s] = Knight; m_knights |= SetBit(s); m_occupied_co[White] |= SetBit(s); ++m_pieceCount[White]; s++; break; case 'B': m_piece[s] = Bishop; m_bishops |= SetBit(s); m_occupied_co[White] |= SetBit(s); ++m_pieceCount[White]; s++; break; case 'R': m_piece[s] = Rook; m_rooks |= SetBit(s); m_occupied_co[White] |= SetBit(s); ++m_pieceCount[White]; s++; break; case 'Q': m_piece[s] = Queen; m_queens |= SetBit(s); m_occupied_co[White] |= SetBit(s); ++m_pieceCount[White]; s++; break; case 'K': m_piece[s] = King; m_kings |= SetBit(s); m_occupied_co[White] |= SetBit(s); m_ksq[White] = s; ++m_pieceCount[White]; s++; break; default: return false; } c = fen[++i]; } if(s != 8) { return false; } // Set remainder of bitboard data appropriately m_occupied = m_occupied_co[White] + m_occupied_co[Black]; for(int i = 0; i < 64; ++i) { if(SetBit(i)&m_occupied) { m_occupied_l90 |= SetBitL90(i); m_occupied_l45 |= SetBitL45(i); m_occupied_r45 |= SetBitR45(i); } } // Side to move c = fen[++i]; if(c == 'w') { m_stm = White; } else if(c == 'b') { m_stm = Black; } else if(c == 0) { return true; } else { return false; } c = fen[++i]; // Castling Rights c = fen[++i]; if(c == 0) { return true; } if(c != '-') { while(c != ' ') { switch(c) { case 'K': setCastleShort(White); break; case 'Q': setCastleLong(White); break; case 'k': setCastleShort(Black); break; case 'q': setCastleLong(Black); break; default: return false; } c = fen[++i]; } } else { ++i; // Bypass space } // EnPassant Square c = fen[++i]; if(c == 0) { return true; } if(c != '-') { bool epgood = true; if(c >= 'a' && c <= 'h') { m_epFile = c - 'a' + 1; } else if(c >= 'A' && c <= 'H') { m_epFile = c - 'A' + 1; } else if(c < '0' || c > '9') { return false; } else { epgood = false; } if(epgood) { c = fen[++i]; if(m_stm == White && c != '6') { return false; } else if(m_stm == Black && c != '3') { return false; } } } epFile2Square(); c = fen[++i]; // Half move clock c = fen[++i]; if(c == 0) { return true; } if(c < '0' || c > '9') { return false; } int j = i; while(c >= '0' && c <= '9') { c = fen[++i]; } m_halfMoves = fen.mid(j, i - j).toInt(); // Move number c = fen[++i]; if(c == 0) { return true; } if(c < '0' || c > '9') { return false; } m_moveNumber = fen.mid(i).toInt(); while(c >= '0' && c <= '9') { c = fen[++i]; } if(m_moveNumber <= 0) { // Silently fix illegal movenumber m_moveNumber = 1; } return true; } MoveList BitBoard::generateMoves() const { register unsigned int from, to; quint64 moves, movers; MoveList p; if(m_stm == White) { // castle moves if(canCastle(White)) { if(canCastleShort(White) && !((F1 | G1)&m_occupied)) if(!isAttackedBy(Black, e1) && !isAttackedBy(Black, f1) && !isAttackedBy(Black, g1)) { p.add().genWhiteOO(); } if(canCastleLong(White) && !((B1 | C1 | D1)&m_occupied)) if(!isAttackedBy(Black, c1) && !isAttackedBy(Black, d1) && !isAttackedBy(Black, e1)) { p.add().genWhiteOOO(); } } // pawn en passant moves movers = m_pawns & m_occupied_co[White]; if(m_epSquare != NoEPSquare) { moves = bb_PawnAttacks[Black][m_epSquare] & movers; while(moves) { from = getFirstBitAndClear64(moves); p.add().genEnPassant(from, m_epSquare); } } // pawn captures moves = ShiftUpRight(movers) & m_occupied_co[Black]; while(moves) { to = getFirstBitAndClear64(moves); if(Rank(to) != 7) { p.add().genPawnMove(to - 9, to, m_piece[to]); } else { p.add().genCapturePromote(to - 9, to, Queen, m_piece[to]); p.add().genCapturePromote(to - 9, to, Knight, m_piece[to]); p.add().genCapturePromote(to - 9, to, Rook, m_piece[to]); p.add().genCapturePromote(to - 9, to, Bishop, m_piece[to]); } } moves = ShiftUpLeft(movers) & m_occupied_co[Black]; while(moves) { to = getFirstBitAndClear64(moves); if(Rank(to) != 7) { p.add().genPawnMove(to - 7, to, m_piece[to]); } else { p.add().genCapturePromote(to - 7, to, Queen, m_piece[to]); p.add().genCapturePromote(to - 7, to, Knight, m_piece[to]); p.add().genCapturePromote(to - 7, to, Rook, m_piece[to]); p.add().genCapturePromote(to - 7, to, Bishop, m_piece[to]); } } // pawns 1 forward moves = ShiftUp(movers) & ~m_occupied; movers = moves; while(moves) { to = getFirstBitAndClear64(moves); if(Rank(to) != 7) { p.add().genOneForward(to - 8, to); } else { p.add().genPromote(to - 8, to, Queen); p.add().genPromote(to - 8, to, Knight); p.add().genPromote(to - 8, to, Rook); p.add().genPromote(to - 8, to, Bishop); } } // pawns 2 forward moves = ShiftUp(movers) & rank4 & ~m_occupied; while(moves) { to = getFirstBitAndClear64(moves); p.add().genTwoForward(to - 16, to); } } else { // castle moves if(canCastle(Black)) { if(canCastleShort(Black) && !((F8 | G8)&m_occupied)) if(!isAttackedBy(White, e8) && !isAttackedBy(White, f8) && !isAttackedBy(White, g8)) { p.add().genBlackOO(); } if(canCastleLong(Black) && !((B8 | C8 | D8)&m_occupied)) if(!isAttackedBy(White, e8) && !isAttackedBy(White, d8) && !isAttackedBy(White, c8)) { p.add().genBlackOOO(); } } // pawn en passant moves movers = m_pawns & m_occupied_co[Black]; if(m_epSquare != NoEPSquare) { moves = bb_PawnAttacks[White][m_epSquare] & movers; while(moves) { from = getFirstBitAndClear64(moves); p.add().genEnPassant(from, m_epSquare); } } // pawn captures moves = ShiftDownLeft(movers) & m_occupied_co[White]; while(moves) { to = getFirstBitAndClear64(moves); if(Rank(to) != 0) { p.add().genPawnMove(to + 9, to, m_piece[to]); } else { p.add().genCapturePromote(to + 9, to, Queen, m_piece[to]); p.add().genCapturePromote(to + 9, to, Knight, m_piece[to]); p.add().genCapturePromote(to + 9, to, Rook, m_piece[to]); p.add().genCapturePromote(to + 9, to, Bishop, m_piece[to]); } } moves = ShiftDownRight(movers) & m_occupied_co[White]; while(moves) { to = getFirstBitAndClear64(moves); if(Rank(to) != 0) { p.add().genPawnMove(to + 7, to, m_piece[to]); } else { p.add().genCapturePromote(to + 7, to, Queen, m_piece[to]); p.add().genCapturePromote(to + 7, to, Knight, m_piece[to]); p.add().genCapturePromote(to + 7, to, Rook, m_piece[to]); p.add().genCapturePromote(to + 7, to, Bishop, m_piece[to]); } } // pawns 1 forward moves = ShiftDown(movers) & ~m_occupied; movers = moves; while(moves) { to = getFirstBitAndClear64(moves); if(Rank(to) != 0) { p.add().genOneForward(to + 8, to); } else { p.add().genPromote(to + 8, to, Queen); p.add().genPromote(to + 8, to, Knight); p.add().genPromote(to + 8, to, Rook); p.add().genPromote(to + 8, to, Bishop); } } // pawns 2 forward moves = ShiftDown(movers) & rank5 & ~m_occupied; while(moves) { to = getFirstBitAndClear64(moves); p.add().genTwoForward(to + 16, to); } } // knight moves movers = m_knights & m_occupied_co[m_stm]; while(movers) { from = getFirstBitAndClear64(movers); moves = knightAttacksFrom(from) & ~m_occupied_co[m_stm]; while(moves) { to = getFirstBitAndClear64(moves); p.add().genKnightMove(from, to, m_piece[to]); } } // bishop moves movers = m_bishops & m_occupied_co[m_stm]; while(movers) { from = getFirstBitAndClear64(movers); moves = bishopAttacksFrom(from) & ~m_occupied_co[m_stm]; while(moves) { to = getFirstBitAndClear64(moves); p.add().genBishopMove(from, to, m_piece[to]); } } // rook moves movers = m_rooks & m_occupied_co[m_stm]; while(movers) { from = getFirstBitAndClear64(movers); moves = rookAttacksFrom(from) & ~m_occupied_co[m_stm]; while(moves) { to = getFirstBitAndClear64(moves); p.add().genRookMove(from, to, m_piece[to]); } } // queen moves movers = m_queens & m_occupied_co[m_stm]; while(movers) { from = getFirstBitAndClear64(movers); moves = queenAttacksFrom(from) & ~m_occupied_co[m_stm]; while(moves) { to = getFirstBitAndClear64(moves); p.add().genQueenMove(from, to, m_piece[to]); } } // king moves moves = kingAttacksFrom(m_ksq[m_stm]) & ~m_occupied_co[m_stm]; while(moves) { to = getFirstBitAndClear64(moves); if(!isAttackedBy(m_stm ^ 1, to)) { p.add().genKingMove(m_ksq[m_stm], to, m_piece[to]); } } return p; } bool BitBoard::isIntoCheck(const Move& move) const { BitBoard peek(*this); peek.doMove(move); peek.swapToMove(); return peek.isCheck(); } inline bool isFile(const char c) { return c >= 'a' && c <= 'h'; } inline bool isRank(const char c) { return c >= '1' && c <= '8'; } // Create a null move // A Null Move is a move by a king to its own square // and is represented in pgn by a "--" although illegal // it is often used in ebooks to annotate ideas Move BitBoard::nullMove() const { Square kingSquare = m_ksq[m_stm]; Move m = prepareMove(kingSquare, kingSquare); if(m_stm == Black) { m.setBlack(); } return m; } Move BitBoard::parseMove(const QString& algebraic) const { const QByteArray& bs(algebraic.toLatin1()); const char *san = bs.constData(); const char* s = san; register char c = *(s++); quint64 match; int fromSquare = -1; int toSquare = -1; int fromFile = -1; int fromRank = -1; PieceType promotePiece = None; Move move; unsigned int type; if (algebraic=="none") return move; // Castling if(c == 'o' || c == 'O' || c == '0') { if(strncmp(san, "o-o-o", 5) == 0 || strncmp(san, "O-O-O", 5) == 0 || strncmp(san, "0-0-0", 5) == 0) { if(m_stm == White) { return prepareMove(e1, c1); } else { return prepareMove(e8, c8); } } else if(strncmp(san, "o-o", 3) == 0 || strncmp(san, "O-O", 3) == 0 || strncmp(san, "0-0", 3) == 0) { if(m_stm == White) { return prepareMove(e1, g1); } else { return prepareMove(e8, g8); } } return move; } // Null Move if(c == '-') { if(strncmp(san, "--", 2) == 0) { return nullMove(); } } // Piece switch(c) { case 'Q': type = Queen; c = *(s++); break; case 'R': type = Rook; c = *(s++); break; case 'B': type = Bishop; c = *(s++); break; case 'N': type = Knight; c = *(s++); break; case 'K': type = King; c = *(s++); break; case 'P': c = *(s++); // Fall through type = Pawn; break; default: type = Empty; break; } // Check for disambiguation if(isFile(c)) { fromFile = c - 'a'; c = *(s++); if(isRank(c)) { fromSquare = (c - '1') * 8 + fromFile; fromFile = -1; c = *(s++); } } else if(isRank(c)) { fromRank = c - '1'; c = *(s++); } // Capture indicator (or dash in the case of a LAN move) if(c == 'x' || c == '-') { c = *(s++); } // Destination square if(isFile(c)) { int f = c - 'a'; c = *(s++); if(!isRank(c)) { return move; } toSquare = (c - '1') * 8 + f; c = *(s++); } else { toSquare = fromSquare; fromSquare = -1; } if(toSquare < 0) { return move; } if (type == Empty) { // either a pawn or a piece, is determined by source location if (fromSquare < 0) type = Pawn; else { type = m_piece[fromSquare]; if (type == Empty) { return move; // There is no piece here } } } if(type == Pawn) { // Promotion as in bxc8=Q or bxc8(Q) if(c == '=' || c == '(') { c = *(s++); } switch(toupper(c)) { case 'Q': promotePiece = Queen; break; case 'R': promotePiece = Rook; break; case 'B': promotePiece = Bishop; break; case 'N': promotePiece = Knight; break; default: { int lastRank = (m_stm == White ? 7 : 0); if (lastRank == Rank(toSquare)) { return move; } } break; } if(fromSquare < 0) { int base = (m_stm == White ? -8 : 8); if(fromFile < 0) { fromSquare = toSquare + base; quint64 bit = SetBit(fromSquare); if(!(m_occupied_co[m_stm] & bit)) { fromSquare += base; } } else if(fromFile <= (int) File(toSquare)) { fromSquare = toSquare + base - 1; } else { fromSquare = toSquare + base + 1; } } // This isn't a hugely efficient way to go from here move = prepareMove(fromSquare, toSquare); if(move.isPromotion() && promotePiece) { move.setPromoted(promotePiece); } return move; } if(fromSquare < 0) { switch(type) { case Queen: match = queenAttacksFrom(toSquare) & m_queens; break; case Rook: match = rookAttacksFrom(toSquare) & m_rooks; break; case Bishop: match = bishopAttacksFrom(toSquare) & m_bishops; break; case Knight: match = knightAttacksFrom(toSquare) & m_knights; break; case King: match = kingAttacksFrom(toSquare) & m_kings; break; default: return move; } match &= m_occupied_co[m_stm]; if(fromRank >= 0) { match &= bb_rankMask[fromRank]; } else if(fromFile >= 0) { match &= bb_fileMask[fromFile]; } if(match) { fromSquare = getFirstBitAndClear64(match); } else { return move; } // If not yet fully disambiguated, all but one move must be illegal // Cycle through them, and pick the first legal move. while(match) { if(prepareMove(fromSquare, toSquare).isLegal()) { break; } fromSquare = getFirstBitAndClear64(match); } } if(type != m_piece[fromSquare]) { return move; } return prepareMove(fromSquare, toSquare); } bool BitBoard::doMove(const Move& m) { register unsigned int from = m.from(); register unsigned int to = m.to(); register unsigned int sntm = m_stm ^ 1; // side not to move register quint64 bb_from = SetBit(from); register quint64 bb_to = SetBit(to); unsigned int rook_from = 0, rook_to = 0; m_epFile = 0; m_halfMoves++; // Number of moves since last capture or pawn move unsigned int action = m.action(); switch(action) { case Pawn: m_halfMoves = 0; m_pawns ^= bb_from ^ bb_to; m_piece[to] = Pawn; break; case Knight: m_knights ^= bb_from ^ bb_to; m_piece[to] = Knight; break; case Bishop: m_bishops ^= bb_from ^ bb_to; m_piece[to] = Bishop; break; case Rook: m_rooks ^= bb_from ^ bb_to; m_piece[to] = Rook; if(canCastle(m_stm)) // a rook is moving, destroy castle flags if needed { m_castle &= Castle[from]; // question is if always doing the table is just faster? } break; case Queen: m_queens ^= bb_from ^ bb_to; m_piece[to] = Queen; break; case King: if(! m.isNullMove()) { m_kings ^= bb_from ^ bb_to; m_ksq[m_stm] = to; m_piece[to] = King; destroyCastle(m_stm); // king is moving so definitely destroy castle stuff! } break; case Move::CASTLE: m_kings ^= bb_from ^ bb_to; m_ksq[m_stm] = to; m_piece[to] = King; destroyCastle(m_stm); switch(to) { case c1: rook_from = a1; rook_to = d1; break; case g1: rook_from = h1; rook_to = f1; break; case c8: rook_from = a8; rook_to = d8; break; case g8: rook_from = h8; rook_to = f8; break; } m_piece[rook_from] = Empty; m_piece[rook_to] = Rook; m_rooks ^= SetBit(rook_from) ^ SetBit(rook_to); m_occupied_co[m_stm] ^= SetBit(rook_from) ^ SetBit(rook_to); m_occupied_l90 ^= SetBitL90(rook_from) ^ SetBitL90(rook_to); m_occupied_l45 ^= SetBitL45(rook_from) ^ SetBitL45(rook_to); m_occupied_r45 ^= SetBitR45(rook_from) ^ SetBitR45(rook_to); break; case Move::TWOFORWARD: m_halfMoves = 0; m_pawns ^= bb_from ^ bb_to; m_piece[to] = Pawn; // According to PGN standard, ep square should be always set. m_epFile = File(to) + 1; break; case Move::PROMOTE: m_halfMoves = 0; m_pawns ^= bb_from; --m_pawnCount[m_stm]; switch(m.promoted()) { case Knight: m_knights ^= bb_to; m_piece[to] = Knight; break; case Bishop: m_bishops ^= bb_to; m_piece[to] = Bishop; break; case Rook: m_rooks ^= bb_to; m_piece[to] = Rook; break; case Queen: m_queens ^= bb_to; m_piece[to] = Queen; break; default: // can't promote to other piece types; break; } break; } switch(m.removal()) { case Empty: m_occupied_l90 ^= SetBitL90(to); // extra cleanup needed for non-captures m_occupied_l45 ^= SetBitL45(to); m_occupied_r45 ^= SetBitR45(to); break; case Pawn: --m_pawnCount[sntm]; --m_pieceCount[sntm]; m_halfMoves = 0; m_pawns ^= bb_to; m_occupied_co[sntm] ^= bb_to; break; case Knight: --m_pieceCount[sntm]; m_halfMoves = 0; m_knights ^= bb_to; m_occupied_co[sntm] ^= bb_to; break; case Bishop: --m_pieceCount[sntm]; m_halfMoves = 0; m_bishops ^= bb_to; m_occupied_co[sntm] ^= bb_to; break; case Rook: --m_pieceCount[sntm]; m_halfMoves = 0; m_rooks ^= bb_to; m_occupied_co[sntm] ^= bb_to; if(canCastle(sntm)) { m_castle &= Castle[to]; } break; case Queen: --m_pieceCount[sntm]; m_halfMoves = 0; m_queens ^= bb_to; m_occupied_co[sntm] ^= bb_to; break; case Move::ENPASSANT: --m_pawnCount[sntm]; --m_pieceCount[sntm]; m_halfMoves = 0; unsigned int epsq = to + (m_stm == White ? -8 : 8); // annoying move, the capture is not on the 'to' square m_piece[epsq] = Empty; m_pawns ^= SetBit(epsq); m_occupied_co[sntm] ^= SetBit(epsq); m_occupied_l90 ^= SetBitL90(to) ^ SetBitL90(epsq); m_occupied_l45 ^= SetBitL45(to) ^ SetBitL45(epsq); m_occupied_r45 ^= SetBitR45(to) ^ SetBitR45(epsq); break; } // ...no I did not forget the king :) if(!m.isNullMove()) { m_piece[from] = Empty; m_occupied_co[m_stm] ^= bb_from ^ bb_to; m_occupied_l90 ^= SetBitL90(from); m_occupied_l45 ^= SetBitL45(from); m_occupied_r45 ^= SetBitR45(from); m_occupied = m_occupied_co[White] + m_occupied_co[Black]; } if(m_stm == Black) { ++m_moveNumber; } m_stm ^= 1; // toggle side to move epFile2Square(); return true; } void BitBoard::undoMove(const Move& m) { register unsigned int from = m.from(); register unsigned int to = m.to(); register unsigned int sntm = m_stm ^ 1; // side not to move register quint64 bb_from = SetBit(from); register quint64 bb_to = SetBit(to); unsigned int rook_from = 0, rook_to = 0; // =0 just to quiet compiler warnings unsigned int action = m.action(); switch(action) { case Pawn: case Move::TWOFORWARD: m_pawns ^= bb_from ^ bb_to; m_piece[from] = Pawn; break; case Knight: m_knights ^= bb_from ^ bb_to; m_piece[from] = Knight; break; case Bishop: m_bishops ^= bb_from ^ bb_to; m_piece[from] = Bishop; break; case Rook: m_rooks ^= bb_from ^ bb_to; m_piece[from] = Rook; break; case Queen: m_queens ^= bb_from ^ bb_to; m_piece[from] = Queen; break; case King: if(!m.isNullMove()) { m_kings ^= bb_from ^ bb_to; m_ksq[sntm] = from; m_piece[from] = King; } break; case Move::CASTLE: m_kings ^= bb_from ^ bb_to; m_ksq[sntm] = from; m_piece[from] = King; switch(to) { case c1: rook_from = a1; rook_to = d1; break; case g1: rook_from = h1; rook_to = f1; break; case c8: rook_from = a8; rook_to = d8; break; case g8: rook_from = h8; rook_to = f8; break; } m_piece[rook_to] = Empty; m_piece[rook_from] = Rook; m_rooks ^= SetBit(rook_from) ^ SetBit(rook_to); m_occupied_co[sntm] ^= SetBit(rook_from) ^ SetBit(rook_to); m_occupied_l90 ^= SetBitL90(rook_from) ^ SetBitL90(rook_to); m_occupied_l45 ^= SetBitL45(rook_from) ^ SetBitL45(rook_to); m_occupied_r45 ^= SetBitR45(rook_from) ^ SetBitR45(rook_to); break; case Move::PROMOTE: m_pawns ^= bb_from; m_piece[from] = Pawn; ++m_pawnCount[sntm]; switch(m.promoted()) { case Knight: m_knights ^= bb_to; break; case Bishop: m_bishops ^= bb_to; break; case Rook: m_rooks ^= bb_to; break; case Queen: m_queens ^= bb_to; break; default: // can't promote to other piece types; break; } break; } unsigned int replace = m.capturedType(); switch(m.removal()) // Reverse captures { case Empty: m_occupied_l90 ^= SetBitL90(to); // extra cleanup needed for non-captures m_occupied_l45 ^= SetBitL45(to); m_occupied_r45 ^= SetBitR45(to); break; case Pawn: ++m_pawnCount[m_stm]; ++m_pieceCount[m_stm]; m_pawns ^= bb_to; m_occupied_co[m_stm] ^= bb_to; break; case Knight: ++m_pieceCount[m_stm]; m_knights ^= bb_to; m_occupied_co[m_stm] ^= bb_to; break; case Bishop: ++m_pieceCount[m_stm]; m_bishops ^= bb_to; m_occupied_co[m_stm] ^= bb_to; break; case Rook: ++m_pieceCount[m_stm]; m_rooks ^= bb_to; m_occupied_co[m_stm] ^= bb_to; break; case Queen: ++m_pieceCount[m_stm]; m_queens ^= bb_to; m_occupied_co[m_stm] ^= bb_to; break; case Move::ENPASSANT: ++m_pawnCount[m_stm]; ++m_pieceCount[m_stm]; replace = Empty; unsigned int epsq = to + (sntm == White ? -8 : 8); // annoying move, the capture is not on the 'to' square m_piece[epsq] = Pawn; m_pawns ^= SetBit(epsq); m_occupied_co[m_stm] ^= SetBit(epsq); m_occupied_l90 ^= SetBitL90(to) ^ SetBitL90(epsq); m_occupied_l45 ^= SetBitL45(to) ^ SetBitL45(epsq); m_occupied_r45 ^= SetBitR45(to) ^ SetBitR45(epsq); break; } // ...no I did not forget the king :) if(!m.isNullMove()) { m_piece[to] = replace; m_occupied_co[sntm] ^= bb_from ^ bb_to; m_occupied_l90 ^= SetBitL90(from); m_occupied_l45 ^= SetBitL45(from); m_occupied_r45 ^= SetBitR45(from); m_occupied = m_occupied_co[White] + m_occupied_co[Black]; } m_stm ^= 1; // toggle side to move if(m_stm == Black) { --m_moveNumber; } m_halfMoves = m.u & 0xFF; m_castle = (m.u >> 8) & 0xF; m_epFile = (m.u >> 12) & 0xF; epFile2Square(); } quint64 BitBoard::pawnMovesFrom(const Square s) const { quint64 targets = bb_PawnF1[m_stm][s] & ~m_occupied; if(targets) { targets |= bb_PawnF2[m_stm][s] & ~m_occupied; } if(m_epSquare == NoEPSquare) { targets |= bb_PawnAttacks[m_stm][s] & m_occupied_co[m_stm ^ 1]; } else { targets |= bb_PawnAttacks[m_stm][s] & (m_occupied_co[m_stm ^ 1] | SetBit(m_epSquare)); } return targets; } Move BitBoard::prepareMove(const Square& from, const Square& to) const { if ((from >= 64) || (to >= 64)) { return Move(); } quint64 src = SetBit(from); quint64 dest = SetBit(to); Move move(from, to); unsigned char p = m_piece[from]; // Check for Illegal Move // first the source square must not be vacant if(!(m_occupied_co[m_stm] & src)) { return move; } // Check for Illegal Move // If the destination square is a piece of the moving color if(m_occupied_co[m_stm] & dest) { // If Not a null move if((src != dest) || p != King) { // move is neither legal nor a null move return move; } } move.setPieceType(p); unsigned char pCaptured = m_piece[to]; move.setCaptureType(pCaptured); if(pCaptured == King) { // This test became necessary with Null-Moves if(m_stm == Black) { move.setBlack(); } move.u = m_halfMoves; move.u |= (((unsigned short) m_castle & 0xF) << 8); move.u |= (((unsigned short) m_epFile & 0xF) << 12); return move; } if(p == King) { // if not a null Move if(src != dest) { if(!(kingAttacksFrom(to) & src) && !prepareCastle(move)) { return move; } } } else if(p == Pawn) { if(!(pawnMovesFrom(from) & dest)) { return move; } else if(to == m_epSquare) { move.setEnPassant(); } else if(dest & bb_PawnF2[m_stm][from]) { move.setTwoForward(); } else if(dest & bb_PromotionRank[m_stm]) { move.setPromoted(Queen); } } else { quint64 reach = 0; if(p == Queen) { reach = queenAttacksFrom(to); } else if(p == Rook) { reach = rookAttacksFrom(to); } else if(p == Bishop) { reach = bishopAttacksFrom(to); } else if(p == Knight) { reach = knightAttacksFrom(to); } if(!(reach & src)) { return move; } } BitBoard peek(*this); peek.doMove(move); peek.swapToMove(); if(peek.isCheck()) // Don't allow move into check even if its a null move { return move; } if(m_stm == Black) { move.setBlack(); } move.u = m_halfMoves; move.u |= (((unsigned short) m_castle & 0xF) << 8); move.u |= (((unsigned short) m_epFile & 0xF) << 12); if(src != dest) { move.setLegalMove(); } return move; } bool BitBoard::prepareCastle(Move& move) const { if(!canCastle(m_stm)) { return false; } Square to = move.to(); if(m_stm == White) { if(to == g1 && canCastleShort(White) && !((F1 | G1)&m_occupied)) if(!isAttackedBy(Black, e1) && !isAttackedBy(Black, f1)) { move.genWhiteOO(); return true; } if(to == c1 && canCastleLong(White) && !((B1 | C1 | D1)&m_occupied)) if(!isAttackedBy(Black, e1) && !isAttackedBy(Black, d1)) { move.genWhiteOOO(); return true; } } else { if(to == g8 && canCastleShort(Black) && !((F8 | G8)&m_occupied)) if(!isAttackedBy(White, e8) && !isAttackedBy(White, f8)) { move.genBlackOO(); return true; } if(to == c8 && canCastleLong(Black) && !((B8 | C8 | D8)&m_occupied)) if(!isAttackedBy(White, e8) && !isAttackedBy(White, d8)) { move.genBlackOOO(); return true; } } return false; } bool BitBoard::canBeReachedFrom(const BitBoard& target) const { if(m_pieceCount[White] > target.m_pieceCount[White] || m_pieceCount[Black] > target.m_pieceCount[Black] || m_pawnCount[White] > target.m_pawnCount[White] || m_pawnCount[Black] > target.m_pawnCount[Black]) { return false; } return true; } Piece BitBoard::pieceAt(Square s) const { Q_ASSERT(s < 64); quint64 bit = SetBit(s); if(m_occupied & bit) { if(m_occupied_co[White] & bit) { return Piece(m_piece[s]); } else { return Piece(m_piece[s] + 6); } } return Empty; } /** Return ASCII character for given piece to be used in FEN */ inline QChar pieceToChar(const Piece piece) { return piece > BlackPawn ? '?' : " KQRBNPkqrbnp"[piece]; }; /** Return ASCII character for given piece to be used in human FEN */ inline QChar pieceToHumanChar(const Piece piece) { return piece > BlackPawn ? '?' : " KQRBNPKQRBNP"[piece]; }; QString BitBoard::toFen() const { QString fen = ""; Piece piece; int empty = 0; //piece placement for(int row = 7; row >= 0; row--) { for(int col = 0; col < 8; ++col) { piece = pieceAt(8 * row + col); if(piece != Empty) { if(empty != 0) { fen += QString::number(empty); empty = 0; } fen += pieceToChar(piece); } else { empty++; } } if(empty != 0) { fen += QString::number(empty); empty = 0; } if(row != 0) { fen += '/'; } } //side to move fen += m_stm == White ? " w " : " b "; //castling rights if(castlingRights() == NoRights) { fen += "- "; } else { if(castlingRights() & WhiteKingside) { fen += 'K'; } if(castlingRights() & WhiteQueenside) { fen += 'Q'; } if(castlingRights() & BlackKingside) { fen += 'k'; } if(castlingRights() & BlackQueenside) { fen += 'q'; } fen += ' '; } //en passant square if(m_epSquare == NoEPSquare) { fen += "- "; } else { fen += 'a' + (m_epSquare & 7); fen += '1' + ((m_epSquare & 56) >> 3); fen += ' '; } // half move clock fen += QString::number(halfMoveClock()); fen += " "; // move number fen += QString::number(m_moveNumber <= 0 ? 1 : m_moveNumber); return fen; } QString BitBoard::toHumanFen() const { QString fenFormat = QCoreApplication::translate("BitBoard", "w%1\nb%2\n%3 to move."); QMap charLists; //piece placement for(int row = 7; row >= 0; row--) { for(int col = 0; col < 8; ++col) { Piece piece = pieceAt(8 * row + col); if(piece != Empty) { charLists[piece].append(QString("%1%2").arg(QChar('a' + col)).arg(row + 1)); } } } //side to move QString toMove = (m_stm == White) ? QCoreApplication::translate("BitBoard", "White") : QCoreApplication::translate("BitBoard", "Black"); QString w, b; for(Piece p = WhiteKing; p <= WhitePawn; ++p) { if(charLists.keys().contains(p)) { if(!w.isEmpty()) { w += ","; } w.append(pieceToHumanChar(p)); w.append(charLists[p].join(",")); } } for(Piece p = BlackKing; p != Empty; ++p) { if(charLists.keys().contains(p)) { if(!b.isEmpty()) { b += ","; } b.append(pieceToHumanChar(p)); b.append(charLists[p].join(",")); } } QString fen = fenFormat.arg(w).arg(b).arg(toMove); return fen; } /** Calculate global bit board values before starting */ void bitBoardInit() { bitBoardInitRun = true; int i, q; quint64 mask; // Square masks mask = 1; for(i = 0; i < 64; ++i) { bb_Mask[i] = mask << i; } for(i = 0; i < 64; ++i) { bb_MaskL90[i] = SetBit(RotateL90[i]); bb_MaskL45[i] = SetBit(RotateL45[i]); bb_MaskR45[i] = SetBit(RotateR45[i]); } // Pawn moves and attacks for(i = 0; i < 64; ++i) { mask = SetBit(i); bb_PawnAttacks[White][i] = ShiftUpLeft(mask); bb_PawnAttacks[White][i] |= ShiftUpRight(mask); bb_PawnAttacks[Black][i] = ShiftDownLeft(mask); bb_PawnAttacks[Black][i] |= ShiftDownRight(mask); bb_PawnF1[White][i] = ShiftUp(mask); bb_PawnF2[White][i] = Shift2Up(mask) & rank4; bb_PawnF1[Black][i] = ShiftDown(mask); bb_PawnF2[Black][i] = Shift2Down(mask) & rank5; bb_PawnALL[White][i] = bb_PawnAttacks[White][i] | bb_PawnF1[White][i] | bb_PawnF2[White][i]; bb_PawnALL[Black][i] = bb_PawnAttacks[Black][i] | bb_PawnF1[Black][i] | bb_PawnF2[Black][i]; } // Knight attacks for(i = 0; i < 64; ++i) { mask = SetBit(i); bb_KnightAttacks[i] = ShiftLeft(Shift2Up(mask)); bb_KnightAttacks[i] |= ShiftRight(Shift2Up(mask)); bb_KnightAttacks[i] |= ShiftLeft(Shift2Down(mask)); bb_KnightAttacks[i] |= ShiftRight(Shift2Down(mask)); bb_KnightAttacks[i] |= Shift2Left(ShiftUp(mask)); bb_KnightAttacks[i] |= Shift2Right(ShiftUp(mask)); bb_KnightAttacks[i] |= Shift2Left(ShiftDown(mask)); bb_KnightAttacks[i] |= Shift2Right(ShiftDown(mask)); } // Diagonal attacks for(int s = 0; s < 64; ++s) { for(int b = 0; b < 64; ++b) { mask = 0; q = s; while(File(q) > 0 && Rank(q) < 7) { q += 7; mask |= SetBit(q); if(b & (SetBit(RotateL45[q]) >> bb_ShiftL45[s])) { break; } } q = s; while(File(q) < 7 && Rank(q) > 0) { q -= 7; mask |= SetBit(q); if(b & (SetBit(RotateL45[q]) >> bb_ShiftL45[s])) { break; } } bb_L45Attacks[s][b] = mask; mask = 0; q = s; while(File(q) < 7 && Rank(q) < 7) { q += 9; mask |= SetBit(q); if(b & (SetBit(RotateR45[q]) >> bb_ShiftR45[s])) { break; } } q = s; while(File(q) > 0 && Rank(q) > 0) { q -= 9; mask |= SetBit(q); if(b & (SetBit(RotateR45[q]) >> bb_ShiftR45[s])) { break; } } bb_R45Attacks[s][b] = mask; } } // Rank and File attacks memset(bb_RankAttacks, 0, sizeof(bb_RankAttacks)); memset(bb_FileAttacks, 0, sizeof(bb_FileAttacks)); int file, rank; for(int sq = 0; sq < 64; ++sq) { for(int bitrow = 0; bitrow < 64; ++bitrow) { file = File(sq); q = sq + 1; while(++file < 8) { bb_RankAttacks[sq][bitrow] |= SetBit(q); if((1 << file) & (bitrow << 1)) { break; } ++q; } file = File(sq); q = sq - 1; while(--file >= 0) { bb_RankAttacks[sq][bitrow] |= SetBit(q); if((1 << file) & (bitrow << 1)) { break; } --q; } rank = Rank(sq); q = sq + 8; while(++rank < 8) { bb_FileAttacks[sq][bitrow] |= SetBit(q); if((1 << (7 - rank)) & (bitrow << 1)) { break; } q += 8; } rank = Rank(sq); q = sq - 8; while(--rank >= 0) { bb_FileAttacks[sq][bitrow] |= SetBit(q); if((1 << (7 - rank)) & (bitrow << 1)) { break; } q -= 8; } } } // King: for(i = 0; i < 64; ++i) { mask = SetBit(i); bb_KingAttacks[i] = ShiftLeft(mask); bb_KingAttacks[i] |= ShiftRight(mask); bb_KingAttacks[i] |= ShiftUp(mask); bb_KingAttacks[i] |= ShiftDown(mask); bb_KingAttacks[i] |= ShiftUpLeft(mask); bb_KingAttacks[i] |= ShiftUpRight(mask); bb_KingAttacks[i] |= ShiftDownLeft(mask); bb_KingAttacks[i] |= ShiftDownRight(mask); } // File and rank masks quint64 rseed = 0xFF00000000000000ULL; quint64 fseed = 0x8080808080808080ULL; for(i = 7; i >= 0; --i) { bb_rankMask[i] = rseed; rseed >>= 8; bb_fileMask[i] = fseed; fseed >>= 1; } // Pawn promotion ranks bb_PromotionRank[White] = bb_rankMask[7]; bb_PromotionRank[Black] = bb_rankMask[0]; // Now that global data has been calculated, we can create a start position standardPosition.fromFen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"); } BitBoard getStandardPosition() { BitBoard b; b.fromFen("rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1"); return b; } QString BitBoard::moveToFullSan(const Move &move) const { QString dots = toMove() == White ? "." : "..."; return QString("%1%2%3").arg(m_moveNumber).arg(dots).arg(moveToSan(move)); } //a charboard is a 64 length board that looks something like this: //-----B----p------p---k-pq---N---r-----P-------P--P----K---Q----- //dashes: empty space bool BitBoard::from64Char(const QString& qcharboard) { QStringList l = qcharboard.split(' '); if (l.size() < 30) return false; int n = 7; for (int i=C64_ROW8; i<=C64_ROW1; ++i,--n) { QString s = l[i]; for (int j=7;j>=0;--j) { QChar c = s[j]; Square sq = n*8+j; switch (c.toLatin1()) { case 'p': setAt(sq, BlackPawn); break; case 'n': setAt(sq, BlackKnight); break; case 'b': setAt(sq, BlackBishop); break; case 'r': setAt(sq, BlackRook); break; case 'q': setAt(sq, BlackQueen); break; case 'k': setAt(sq, BlackKing); break; case 'P': setAt(sq, WhitePawn); break; case 'N': setAt(sq, WhiteKnight); break; case 'B': setAt(sq, WhiteBishop); break; case 'R': setAt(sq, WhiteRook); break; case 'Q': setAt(sq, WhiteQueen); break; case 'K': setAt(sq, WhiteKing); break; default: removeAt(sq); break; } } } if (l[C64_COLOR_TO_MOVE]=="W") { setToMove(White); } else if (l[C64_COLOR_TO_MOVE]=="B") { setToMove(Black); } if (l[C64_CASTLE_W_00].toInt()) setCastleShort(White); if (l[C64_CASTLE_W_000].toInt()) setCastleLong(White); if (l[C64_CASTLE_B_00].toInt()) setCastleShort(Black); if (l[C64_CASTLE_B_000].toInt()) setCastleLong(Black); setMoveNumber(l[C64_NEXT_MOVE_NUMBER].toInt()); return true; } ./chessx-1.3.2/src/database/bitboard.h000644 000765 000024 00000034416 12510715746 017232 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2003 Sune Fischer * * (C) 2005-2006 Marius Roets * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "movelist.h" #include "piece.h" #include "square.h" #ifndef __BITBOARD_H__ #define __BITBOARD_H__ enum BoardStatus { Valid, NoWhiteKing, NoBlackKing, DoubleCheck, OppositeCheck, TooManyBlackPawns, TooManyWhitePawns, PawnsOn18, TooManyKings, TooManyWhite, TooManyBlack, BadCastlingRights, InvalidEnPassant, MultiCheck }; typedef uchar CastlingRights; enum { NoRights = 0, WhiteKingside = 1, BlackKingside = 2, WhiteQueenside = 4, BlackQueenside = 8, WhiteBothSides = 5, BlackBothSides = 10, AllRights = 15 }; /** @ingroup Core * Keep track of the pieces on a chessboard, provide a Move() factory. */ class BitBoard { public: BitBoard(); // Play moves on board // /** Play given move, updating board state appropriately */ bool doMove(const Move&); /** Return board to state prior to given move */ void undoMove(const Move&); // Setup board // /** Remove all pieces and state from board */ void clear(); /** Set move number in game */ void setMoveNumber(unsigned int moveNumber); /** Set initial chess game position on the board */ void setStandardPosition(); /** Set the given piece on the board at the given square */ void setAt(const Square s, const Piece p); /** Remove any piece sitting on given square */ void removeAt(const Square s); /** Set side to move as that of given color */ void setToMove(const Color& c); /** Swap the side to move */ void swapToMove(); /** Parse given FEN, return true if loaded properly otherwise false */ bool fromFen(const QString& fen); /** Set En Passant Square */ void setEnPassantSquare(const Square s); /** From a FICS representation of a board */ bool from64Char(const QString &qcharboard); /** Remove En Passant privilege */ void clearEnPassantSquare(); // Move factories // /** parse SAN or LAN representation of move, and return proper Move() object */ Move parseMove(const QString& algebraic) const; /** Return a proper Move() object given only a from-to move specification */ Move prepareMove(const Square& from, const Square& to) const; // Return a nullMove -- King to the same square Move nullMove() const; // Query // /** Is piece sitting on given square moveable ? */ bool isMovable(const Square s) const; /** @return piece sitting at given square on the board */ Piece pieceAt(Square s) const; /** @return number of ply since a pawn move or capture */ unsigned int halfMoveClock() const; /** Set number of ply since a pawn move or capture */ void setHalfMoveClock(unsigned int i); /** @return the current move number in the game */ unsigned int moveNumber() const; /** @return color of side next to move */ Color toMove() const; /** @return true if its possible for this position to follow target position */ bool canBeReachedFrom(const BitBoard& target) const; /** @return true if position is same, but don't consider Move # in determination */ bool positionIsSame(const BitBoard& target) const; // Query other formats // /** Return a FEN string based on current board position */ QString toFen() const; /** Return a FEN string in human readable format based on current board position */ QString toHumanFen() const; /** Return a SAN string representation of given move */ QString moveToSan(const Move& move, bool translate = false) const; /** @return a SAN string representing a given move with move number. */ QString moveToFullSan(const Move& move) const; // Validation // /** Check current position and return "Valid" or problem */ BoardStatus validate() const; /** Return true if given FEN can be parsed */ bool isValidFen(const QString& fen) const; /** Set castling rights. */ void setCastlingRights(CastlingRights cr); /** Return the internal castling rights data (used by hash function) */ CastlingRights castlingRights() const; /** Return square where En passant capture may occur, or "NoEPSquare" */ Square enPassantSquare() const; bool canTakeEnPassant() const; /** Return true if the side to move is in checkmate */ bool isCheckmate() const; /** Return true if the side to move is stalemated */ bool isStalemate() const; private: /** Return true if side to move is in check */ bool isCheck() const; /** Test to see if given color has the right to castle on kingside */ bool canCastleShort(const unsigned int color) const; /** Test to see if given color has the right to castle on queenside */ bool canCastleLong(const unsigned int color) const; /** Test to see if given color has any castling rights remaining */ bool canCastle(const unsigned int color) const; /** Return true if making move would put oneself into check */ bool isIntoCheck(const Move& move) const; /** Return true if the given square is attacked by the given color */ bool isAttackedBy(const unsigned int color, const unsigned int square) const; /** Return all squares attacked by a knight on given square */ quint64 knightAttacksFrom(const Square s) const; /** Return all squares attacked by a bishop on given square */ quint64 bishopAttacksFrom(const Square s) const; /** Return all squares attacked by a rook on given square */ quint64 rookAttacksFrom(const Square s) const; /** Return all squares attacked by a queen on given square */ quint64 queenAttacksFrom(const Square s) const; /** Return all squares attacked by a king on given square */ quint64 kingAttacksFrom(const Square s) const; /** Return all possible pawn moves from given square */ quint64 pawnMovesFrom(const Square s) const; /** Remove impossible moves from given bitboard to aid disambiguation */ void removeIllegal(const Move& move, quint64& b) const; /** Update move with castling details, return false if no castle is possible */ bool prepareCastle(Move& move) const; /** Generate all possible moves in a given position */ MoveList generateMoves() const; /** Grant castling rights on the kingside to the given color */ void setCastleShort(unsigned int color); /** Grant castling rights on the queenside to the given color */ void setCastleLong(unsigned int color); /** Revoke all castling rights from the given color */ void destroyCastle(unsigned int color); /** Update the epSquare value based on a new epFile value */ void epFile2Square(); /** Setup board according to FEN string */ bool fromGoodFen(const QString& fen); // Actual Bit-board data quint64 m_pawns, m_knights, m_bishops, m_rooks, m_queens, m_kings; quint64 m_occupied_co[2]; // Square mask of those occupied by each color quint64 m_occupied; // Square is empty or holds a piece quint64 m_occupied_l90; // rotated counter clockwise 90 deg quint64 m_occupied_l45; // an odd transformation, to straighten out diagonals quint64 m_occupied_r45; // the opposite odd transformation, just as messy // Extra state data unsigned char m_piece[64]; // type of piece on this square unsigned char m_stm; // side to move unsigned char m_ksq[2]; // square of the m_kings unsigned char m_epFile; // file of a possible ep capture unsigned char m_epSquare; // This is requested by hash routine enough that we keep it pre calculated unsigned char m_castle; // flags for castle legality (these can be merged) unsigned short m_halfMoves; // Number of moves since last pawn move or capture unsigned int m_moveNumber; // Move number in game (incremented after each black move) unsigned char m_pawnCount[2]; // Number of pawns for each side unsigned char m_pieceCount[2]; // Number of pieces INCLUDING pawns for each side }; enum Char64Position { C64_ROW8, C64_ROW7, C64_ROW6, C64_ROW5, C64_ROW4, C64_ROW3, C64_ROW2, C64_ROW1, C64_COLOR_TO_MOVE, C64_COL_DOUBLE_PAWN_PUSH, C64_CASTLE_W_00, C64_CASTLE_W_000, C64_CASTLE_B_00, C64_CASTLE_B_000, C64_PLY_50_MOVE, C64_NUM_GAME, C64_NAME_WHITE, C64_NAME_BLACK, C64_GAME_RELATION, C64_INITIAL_TIME_S, C64_INCREMENT_S, C64_MATERIAL_WHITE, C64_MATERIAL_BLACK, C64_REMAINDER_TIME_WHITE, C64_REMAINDER_TIME_BLACK, C64_NEXT_MOVE_NUMBER, C64_LAST_MOVE, C64_ELAPSED_TIME_LAST_MOVE, C64_PP_LAST_MOVE, C64_FLIP_BOARD, C64_CLOCK_RUNNING, C64_LAG }; enum Char64Relation { C64_REL_ISOLATED = -3, // isolated position, such as for "ref 3" or the "sposition" command C64_REL_OBSERVING_EXAMINE = -2, // I am observing game being examined C64_REL_PLAY_OPPONENT_MOVE = -1, // I am playing, it is my opponent's move C64_REL_OBSERVING_PLAY = 0, // I am observing a game being played C64_REL_PLAY_MY_MOVE = 1, // I am playing and it is my move C64_REL_EXAMINE = 2 // I am the examiner of this game }; extern quint64 bb_PawnAttacks[2][64]; extern quint64 bb_KnightAttacks[64]; extern quint64 bb_R45Attacks[64][64]; extern quint64 bb_L45Attacks[64][64]; extern quint64 bb_KingAttacks[64]; extern quint64 bb_RankAttacks[64][64]; extern quint64 bb_FileAttacks[64][64]; const unsigned int bb_ShiftR45[64] = { 1, 58, 51, 44, 37, 30, 23, 16, 9, 1, 58, 51, 44, 37, 30, 23, 17, 9, 1, 58, 51, 44, 37, 30, 25, 17, 9, 1, 58, 51, 44, 37, 33, 25, 17, 9, 1, 58, 51, 44, 41, 33, 25, 17, 9, 1, 58, 51, 49, 41, 33, 25, 17, 9, 1, 58, 57, 49, 41, 33, 25, 17, 9, 1 }; const unsigned int bb_ShiftL45[64] = { 9, 17, 25, 33, 41, 49, 57, 1, 17, 25, 33, 41, 49, 57, 1, 10, 25, 33, 41, 49, 57, 1, 10, 19, 33, 41, 49, 57, 1, 10, 19, 28, 41, 49, 57, 1, 10, 19, 28, 37, 49, 57, 1, 10, 19, 28, 37, 46, 57, 1, 10, 19, 28, 37, 46, 55, 1, 10, 19, 28, 37, 46, 55, 64 }; inline bool BitBoard::isAttackedBy(const unsigned int color, const unsigned int square) const { if(bb_PawnAttacks[color ^ 1][square] & (m_pawns | m_bishops) & m_occupied_co[color]) { return 1; } if(knightAttacksFrom(square) & m_knights & m_occupied_co[color]) { return 1; } if(bishopAttacksFrom(square) & (m_bishops | m_queens) & m_occupied_co[color]) { return 1; } if(rookAttacksFrom(square) & (m_rooks | m_queens) & m_occupied_co[color]) { return 1; } if(kingAttacksFrom(square) & (m_kings | m_queens) & m_occupied_co[color]) { return 1; } return 0; }; inline void BitBoard::setCastleShort(unsigned int color) { m_castle |= 1 << color; } inline void BitBoard::setCastleLong(unsigned int color) { m_castle |= 4 << color; } inline void BitBoard::destroyCastle(unsigned int color) { m_castle &= ~(5 << color); } inline quint64 BitBoard::knightAttacksFrom(const Square s) const { return bb_KnightAttacks[s]; } inline quint64 BitBoard::bishopAttacksFrom(const Square s) const { return bb_R45Attacks[s][(m_occupied_r45 >> bb_ShiftR45[s]) & 63] | bb_L45Attacks[s][(m_occupied_l45 >> bb_ShiftL45[s]) & 63]; } inline quint64 BitBoard::rookAttacksFrom(const Square s) const { return bb_RankAttacks[s][(m_occupied >> ((s & ~7) + 1)) & 63] | bb_FileAttacks[s][(m_occupied_l90 >> (((s & 7) << 3) + 1)) & 63]; } inline quint64 BitBoard::queenAttacksFrom(const Square s) const { return rookAttacksFrom(s) | bishopAttacksFrom(s); } inline quint64 BitBoard::kingAttacksFrom(const Square s) const { return bb_KingAttacks[s]; } inline void BitBoard::epFile2Square() { if(m_epFile) { m_epSquare = m_epFile + (m_stm == White ? a6 : a3) - 1; } else { m_epSquare = NoEPSquare; } } inline bool BitBoard::canCastle(const unsigned int color) const { return m_castle & (5 << color); } inline bool BitBoard::canCastleShort(const unsigned int color) const { return m_castle & (1 << color); } inline bool BitBoard::canCastleLong(const unsigned int color) const { return m_castle & (4 << color); } inline bool BitBoard::isCheck() const { return isAttackedBy(m_stm ^ 1, m_ksq[m_stm]); } inline unsigned int BitBoard::halfMoveClock() const { return m_halfMoves; } inline void BitBoard::setHalfMoveClock(unsigned int i) { m_halfMoves = i; } inline unsigned int BitBoard::moveNumber() const { return m_moveNumber; } inline Color BitBoard::toMove() const { return Color(m_stm); } inline Square BitBoard::enPassantSquare() const { return m_epSquare; } inline CastlingRights BitBoard::castlingRights() const { return m_castle; } inline void BitBoard::setCastlingRights(CastlingRights cr) { m_castle = cr; } /** Set the side to move to the given color */ inline void BitBoard::setToMove(const Color& c) { m_stm = c; } inline void BitBoard::swapToMove() { m_stm ^= 1; } inline void BitBoard::setMoveNumber(unsigned int moveNumber) { m_moveNumber = moveNumber; } inline bool BitBoard::positionIsSame(const BitBoard& target) const { if(m_occupied_co[White] != target.m_occupied_co[White] || m_occupied_co[Black] != target.m_occupied_co[Black] || m_pawns != target.m_pawns || m_knights != target.m_knights || m_bishops != target.m_bishops || m_rooks != target.m_rooks || m_queens != target.m_queens || m_kings != target.m_kings || m_stm != target.m_stm) { return false; } return true; } #endif // __BITBOARD_H__ ./chessx-1.3.2/src/database/board.cpp000644 000765 000024 00000014546 12516124425 017062 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 Kamil Przybyla * * (C) 2005-2006 William Hoggarth * * (C) 2005-2006 Marius Roets * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include #include "board.h" #include "guess.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER QHash > ecoGuessPositions; const Board Board::standardStartBoard = getStandardStartBoard(); Board::Board() : m_hashValue(0) { } Board::Board(QString fen) { if(!fromFen(fen)) { clear(); } } void Board::clear() { BitBoard::clear(); createHash(); m_squareAnnotation = ""; } void Board::setStandardPosition() { BitBoard::setStandardPosition(); // Just use precalculated hash values which is _much_ faster // createHash(); m_hashValue = 17059429555746339296ULL; m_squareAnnotation = ""; } bool Board::fromFen(const QString& fen) { if(BitBoard::fromFen(fen)) { createHash(); m_squareAnnotation = ""; return true; } return false; } bool Board::from64Char(const QString& qcharboard) { if (BitBoard::from64Char(qcharboard)) { createHash(); m_squareAnnotation = ""; return true; } return false; } void Board::setAt(Square s, Piece p) { hashPiece(s, pieceAt(s)); BitBoard::setAt(s, p); hashPiece(s, p); } void Board::removeFrom(Square s) { hashPiece(s, pieceAt(s)); removeAt(s); } void Board::setToMove(Color c) { if(toMove() != c) { BitBoard::setToMove(c); hashToMove(); } } void Board::swapToMove() { setToMove(oppositeColor(toMove())); } bool Board::doIt(const Move& m, bool undo) { if(m.isNullMove()) { if(undo) { BitBoard::undoMove(m); } else { BitBoard::doMove(m); } hashToMove(); return true; } if(!m.isLegal()) { return false; } CastlingRights oldCastlingRights = castlingRights(); hashEpSquare(); hashPiece(m.from(), m.pieceMoved()); if(m.isPromotion()) { hashPiece(m.to(), m.promotedPiece()); } else { hashPiece(m.to(), m.pieceMoved()); } if(m.isCastling()) { Piece p = (m == White ? WhiteRook : BlackRook); hashPiece(m.castlingRookFrom(), p); hashPiece(m.castlingRookTo(), p); } else if(m.isEnPassant()) { if(m == White) { hashPiece(m.to() - 8, m.capturedPiece()); } else { hashPiece(m.to() + 8, m.capturedPiece()); } } else if(m.capturedPiece()) { hashPiece(m.to(), m.capturedPiece()); } if(undo) { BitBoard::undoMove(m); } else { BitBoard::doMove(m); } hashToMove(); hashEpSquare(); hashCastlingRights(oldCastlingRights); return true; } void Board::hashPiece(Square s, Piece p) { if((p > Empty) && (p < InvalidPiece)) { m_hashValue ^= RAND_VALUES[p - 1][s]; } } void Board::hashToMove() { m_hashValue = m_hashValue ^ RAND_TO_MOVE; } void Board::hashCastlingRights(CastlingRights oldCastlingRights) { oldCastlingRights ^= castlingRights(); if(oldCastlingRights & WhiteKingside) { m_hashValue ^= RAND_WHITE_CASTLING_KS; } if(oldCastlingRights & WhiteQueenside) { m_hashValue ^= RAND_WHITE_CASTLING_QS; } if(oldCastlingRights & BlackKingside) { m_hashValue ^= RAND_BLACK_CASTLING_KS; } if(oldCastlingRights & BlackQueenside) { m_hashValue ^= RAND_BLACK_CASTLING_QS; } } void Board::hashEpSquare() { int epSquareIndex; Square sq = enPassantSquare(); if(sq >= 16 && sq <= 23) { epSquareIndex = sq - 16; } else if(sq >= 40 && sq <= 47) { epSquareIndex = sq - 32; } else { return; } m_hashValue ^= RAND_EN_PASSANT[epSquareIndex]; } void Board::createHash() { m_hashValue = 0; for(int i = 0; i < MAX_SQUARES; ++i) { hashPiece(i, pieceAt(i)); } if(toMove() == Black) { hashToMove(); } hashCastlingRights(CastlingRights(0)); hashEpSquare(); } bool Board::ecoMove(const Square square, int* from, int* to) const { quint64 key = getHashPlusSquare(square); if(ecoGuessPositions.contains(key)) { if(from && to) { QList data = ecoGuessPositions[key]; *from = data[0]; *to = data[1]; } return true; } return false; } bool Board::loadEcoFile(const QString& ecoFile) { QFile file(ecoFile); if(file.open(QIODevice::ReadOnly)) { QDataStream sin(&file); quint32 id; sin >> id; if(id == COMPILED_GUESS_FILE_ID) { sin >> ecoGuessPositions; } return true; } return false; } quint64 Board::getHashPlusSquare(const Square square) const { return m_hashValue ^ RAND_ECO_SQUARE[square]; } quint64 Board::getHashValue() const { return m_hashValue; } void Board::setSquareAnnotation(QString squareAnnotation) { m_squareAnnotation = squareAnnotation; } QString Board::squareAnnotation() const { return m_squareAnnotation; } void Board::setArrowAnnotation(QString arrowAnnotation) { m_arrowAnnotation = arrowAnnotation; } QString Board::arrowAnnotation() const { return m_arrowAnnotation; } int Board::ScoreMaterial() const { QString fen = toFen(); return Guess::scorePosFromFen(fen.toLatin1()); } Board Board::getStandardStartBoard() { Board b; b.setStandardPosition(); return b; } ./chessx-1.3.2/src/database/board.h000644 000765 000024 00000011003 12516124425 016510 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 Kamil Przybyla * * (C) 2005-2006 William Hoggarth * * (C) 2005-2006 Marius Roets * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __BOARD_H__ #define __BOARD_H__ #include "move.h" #include "movelist.h" #include "rand64.h" #include "bitboard.h" #include #define COMPILED_GUESS_FILE_ID ((quint32)0xCD5CBD03U) /** @ingroup Core Track a chess game, and calculate a hash for each position. This hash can be used by other parts of ChessX to do position searches etc. This class is actually only responsible for calculating a hash for each position; it derives from BitBoard to provide all other functionality. Only operations that affect the hash values are implemented here, for everything else the derived methods are used. */ class Board : public BitBoard { public: /** Empty constructor. Creates empty board with no pieces. */ Board(); Board(QString); static const Board standardStartBoard; /** Resets board, restoring startup position */ void setStandardPosition(); /** Sets position from FEN, returns true if FEN was loaded */ bool fromFen(const QString& fen); /** From a FICS representation of a board */ bool from64Char(const QString &qcharboard); /** Clear board of all pieces and other state */ void clear(); /** Sets side to move - mostly useful when setting position */ void setToMove(Color c); /** Change side to move to opposite of current value */ void swapToMove(); /** Sets a piece on the given square **/ void setAt(Square s, Piece p); /** Remove a piece from a given square **/ void removeFrom(Square s); /** Make standard move. */ inline bool doMove(const Move& m) { return doIt(m, false); } /** Undo standard move (no captures). */ inline void undoMove(const Move& m) { doIt(m, true); } /** Return a suggested move associated with given square based on ECO data */ bool ecoMove(const Square square, int* from = 0, int* to = 0) const; /** Load the guess-the-move ECO hash data which is used by ecoMove() method */ static bool loadEcoFile(const QString& ecoFile); /** Return a hash based on current and a given square number */ quint64 getHashPlusSquare(const Square square) const; /** Return hash value associated with current board position */ quint64 getHashValue() const; /** Compare one board to another for equality, based on hash values */ inline bool operator == (const Board& b) const { return m_hashValue == b.getHashValue(); } /** Compare one board to another for differences, based on hash values */ inline bool operator != (const Board& b) const { return !(*this == b); } /** Sets the squareAnnotation*/ void setSquareAnnotation(QString squareAnnotation); /** Gets the square annotation*/ QString squareAnnotation() const; /** Sets the arrowAnnotation*/ void setArrowAnnotation(QString arrowAnnotation); /** Gets the square annotation*/ QString arrowAnnotation() const; int ScoreMaterial() const; private: static Board getStandardStartBoard(); quint64 m_hashValue; QString m_squareAnnotation; QString m_arrowAnnotation; /** Play (or undo) move on board and calculate hash value for new position */ bool doIt(const Move& m, bool undo); /** recalculate hash completely */ void createHash(); /** Adjust hash value based on piece sitting on given square */ void hashPiece(Square s, Piece p); /** Adjust hash value based on which side is to move */ void hashToMove(); /** Adjust hash value based on the current en passant square */ void hashEpSquare(); /** Adjust hash value based on the castling rights each side has */ void hashCastlingRights(CastlingRights oldCastlingRights); }; #endif ./chessx-1.3.2/src/database/clipboarddatabase.cpp000644 000765 000024 00000001126 12507517064 021412 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "clipboarddatabase.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER ClipboardDatabase::ClipboardDatabase() { } QString ClipboardDatabase::name() const { return tr("Clipboard"); } QString ClipboardDatabase::filename() const { return "Clipboard"; } ./chessx-1.3.2/src/database/clipboarddatabase.h000644 000765 000024 00000001015 12437660655 021063 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef CLIPBOARDDATABASE_H #define CLIPBOARDDATABASE_H #include "memorydatabase.h" class ClipboardDatabase : public MemoryDatabase { Q_OBJECT public: ClipboardDatabase(); virtual QString name() const; virtual QString filename() const; }; #endif // CLIPBOARDDATABASE_H ./chessx-1.3.2/src/database/ctgbookwriter.cpp000644 000765 000024 00000002454 12507517064 020660 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "ctgbookwriter.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER CtgBookWriter::CtgBookWriter(QObject *parent) : QThread(parent), m_source(0) { } CtgBookWriter::~CtgBookWriter() { delete m_destination; } void CtgBookWriter::run() { m_destination->book_make(*m_source, m_break); if (!m_break) { emit bookBuildFinished(m_out); } deleteLater(); } // --------------------------------------------------------- // Mainthread Interface // --------------------------------------------------------- void CtgBookWriter::writeBookForDatabase(Database *src, const QString &out, int maxPly, int minGame, bool uniform) { m_break = false; m_out = out; m_source = src; m_destination = new CtgDatabase(); if (m_destination->openForWriting(out, maxPly, minGame, uniform)) { start(); } else { emit bookBuildError(out); deleteLater(); } } void CtgBookWriter::cancel() { m_break = true; } ./chessx-1.3.2/src/database/ctgbookwriter.h000644 000765 000024 00000001237 12376700315 020320 0ustar00nistaff000000 000000 #ifndef CTGBOOKWRITER_H #define CTGBOOKWRITER_H #include #include "database.h" #include "ctgdatabase.h" class CtgBookWriter : public QThread { Q_OBJECT public: explicit CtgBookWriter(QObject *parent = 0); ~CtgBookWriter(); void writeBookForDatabase(Database* src, const QString &out, int maxPly, int minGame, bool uniform); signals: void bookBuildFinished(QString); void bookBuildError(QString); public slots: void cancel(); // QThread interface protected: virtual void run(); QPointer m_source; QPointer m_destination; QString m_out; bool m_break; }; #endif // CTGBOOKWRITER_H ./chessx-1.3.2/src/database/ctgdatabase.cpp000644 000765 000024 00000005141 12510715777 020236 0ustar00nistaff000000 000000 #include "ctgdatabase.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER // --------------------------------------------------------- // construction // --------------------------------------------------------- CtgDatabase::CtgDatabase() : Database(), m_file(0), m_count(0) { } CtgDatabase::~CtgDatabase() { close(); } // --------------------------------------------------------- // Database Interface implementation // --------------------------------------------------------- bool CtgDatabase::open(const QString &filename, bool) { if(m_file) { return false; } m_break = false; m_filename = filename; if(openFile(filename, true)) { m_utf8 = false; QFileInfo fi(m_filename); m_count = fi.size() / 16; // Polyglot entry size is 16 return true; } return false; } bool CtgDatabase::parseFile() { return false; } QString CtgDatabase::filename() const { return m_filename; } quint64 CtgDatabase::count() const { return 0; } quint64 CtgDatabase::positionCount() const { return m_count; } void CtgDatabase::loadGameMoves(GameId, Game &) { } bool CtgDatabase::openFile(const QString &filename, bool readOnly) { //open file QFile* file = new QFile(filename); if(readOnly && !file->exists()) { delete file; return false; } if (file->open(readOnly ? QIODevice::ReadOnly : QIODevice::WriteOnly)) { m_file = file; return true; } delete file; return false; } void CtgDatabase::close() { //close the file, and delete objects if(m_file) { m_file->close(); } delete m_file; m_file = 0; } // --------------------------------------------------------- // CTG implementation // --------------------------------------------------------- // --------------------------------------------------------- // Book parser - public interface // --------------------------------------------------------- bool CtgDatabase::findMove(quint64 /*key*/, MoveData& /*m*/) { // todo return false; } // --------------------------------------------------------- // Book building - public interface // --------------------------------------------------------- bool CtgDatabase::openForWriting(const QString &filename, int /*maxPly*/, int /*minGame*/, bool /*uniform*/) { if(m_file) { return false; } // todo return openFile(filename, false); } void CtgDatabase::book_make(Database& /*db*/, volatile bool& /*breakFlag*/) { // todo } ./chessx-1.3.2/src/database/ctgdatabase.h000644 000765 000024 00000002466 12376700315 017702 0ustar00nistaff000000 000000 #ifndef CTGDATABASE_H #define CTGDATABASE_H #include "database.h" #include "movedata.h" class CtgDatabase : public Database { Q_OBJECT public: CtgDatabase(); ~CtgDatabase(); /** Opens the given database */ virtual bool open(const QString& filename, bool); virtual bool openForWriting(const QString& filename, int maxPly, int minGame, bool uniform); /** Parse the database */ virtual bool parseFile(); /** File-based database name */ virtual QString filename() const; /** Get the number of stored games*/ virtual quint64 count() const; /** Get the number of stored positions*/ quint64 positionCount() const; /** Loads only moves into a game from the given position */ virtual void loadGameMoves(GameId index, Game& game); quint64 getHashFromBoard(Board b) const; /** Open a book data File */ bool openFile(const QString& filename, bool readOnly=false); /** Closes the database */ void close(); /** Find Information to a given key */ bool findMove(quint64 key, MoveData &move); /** Start a search for a new key */ void reset(); void book_make(Database& db, volatile bool& breakFlag); signals: public slots: protected: private: QString m_filename; QIODevice* m_file; quint64 m_count; }; #endif // CTGDATABASE_H ./chessx-1.3.2/src/database/database.cpp000644 000765 000024 00000004462 12507517064 017540 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * * * 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. * ***************************************************************************/ #include #include #include #include "database.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER Database::Database() : m_break(false) { connect(&m_index, SIGNAL(progress(int)), this, SIGNAL(progress(int))); } Database::~Database() { } bool Database::isUtf8() const { return m_utf8; } void Database::setUtf8(bool utf8) { m_utf8 = utf8; } Index* Database::index() { return &m_index; } const Index* Database::index() const { return &m_index; } quint64 Database::count() const { return 0; } bool Database::isModified() const { return false; } bool Database::getValidFlag(GameId gameId) const { return m_index.isValidFlag(gameId); } bool Database::deleted(GameId gameId) const { return m_index.deleted(gameId); } QString Database::name() const { QFileInfo fi(filename()); return fi.completeBaseName(); } bool Database::isReadOnly() const { return true; } bool Database::loadGame(GameId /*gameId*/, Game& /*game*/) { return false; } void Database::loadGameHeaders(GameId gameId, Game &game) const { m_index.loadGameHeaders(gameId, game); } void Database::loadGameHeader(GameId gameId, Game &game, const QString &tag) const { m_index.loadGameHeader(gameId, game, tag); } bool Database::replace(GameId, Game &) { return false; } bool Database::appendGame(const Game &) { return false; } bool Database::undelete(GameId) { return false; } bool Database::remove(const Filter &) { return false; } bool Database::remove(GameId) { return false; } ./chessx-1.3.2/src/database/database.h000644 000765 000024 00000007254 12420425266 017203 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * * * 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. * ***************************************************************************/ #ifndef __DATABASE_H__ #define __DATABASE_H__ #include "filter.h" #include "game.h" #include "index.h" #include #include #include /** @defgroup Database Database - classes to manipulate chess game files*/ /** @ingroup Database The Database class is abstract, providing a common interface for all database types. There are methods for the loading and saving of games, and for performing searches and queries. */ class Database : public QObject { Q_OBJECT public: /** Standard constructor. */ Database(); volatile bool m_break; /** Virtual destructor */ virtual ~Database(); /** Query file format */ bool isUtf8() const; /** Set file format */ void setUtf8(bool utf8); //database operations /** Opens the given database */ virtual bool open(const QString& filename, bool utf8) = 0; /** Parse the database */ virtual bool parseFile() = 0; /** File-based database name */ virtual QString filename() const = 0; /** Returns whether the database is read-only or not */ virtual bool isReadOnly() const; /** File-based database name for display (no path and extension) */ virtual QString name() const; //game retrieval & storage /** Loads a game at @p index, returns true if successful */ virtual bool loadGame(GameId gameId, Game& game); /** Load all tags for GameId from index into game object */ virtual void loadGameHeaders(GameId gameId, Game& game) const; virtual void loadGameHeader(GameId gameId, Game& game, const QString& tag) const; /** Loads only moves into a game from the given position */ virtual void loadGameMoves(GameId index, Game& game) = 0; /** Saves a game at the given position, returns true if successful */ virtual bool replace(GameId, Game&); /** Adds a game to the database */ virtual bool appendGame(const Game&); /** Removes a game from the database */ virtual bool remove(GameId); /** Undelete a game from the database */ virtual bool undelete(GameId); /** Removes multiple games from the database as specified by the filter */ virtual bool remove(const Filter&); /** @return pointer to the index of the database */ Index *index(); /** @return const pointer to the index of the database */ const Index *index() const; /** Returns the number of games in the database */ virtual quint64 count() const; /** @return true if the database has been modified. */ virtual bool isModified() const; /** Set / Reset the modification flag. */ virtual void setModified(bool) { } /** Get the Valid Flag for a given game id from the index */ virtual bool getValidFlag(GameId gameId) const; /** Get the Valid Flag for a given game id from the index */ virtual bool deleted(GameId gameId) const; signals: /** Signal emitted when some progress is done. */ void progress(int); void dirtyChanged(bool); protected: Index m_index; bool m_utf8; QMutex m_mutex; }; #endif ./chessx-1.3.2/src/database/databaseconversion.cpp000644 000765 000024 00000020414 12507517064 021641 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 Ejner Borgbjerg * * (C) 2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include #include "databaseconversion.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER bool DatabaseConversion::playerDatabaseFromScidRatings(const QString& inFileName, const QString& outFileName, const QString& pictureDir) { // was tested and works with ratings.ssp from january 2004 // and the latest from http://members.aon.at/schachverein.steyr/ratings.ssp.zip PlayerDatabase pdb; QDir dir = QDir(pictureDir); QStringList pictures = dir.entryList(); if(pdb.removeDatabase(outFileName)) { // std::cout << "removed " << (char*)outFileName.toLatin1().constData() << "\n"; } else { std::cout << "failure removing " << outFileName.toLatin1().constData() << "\n"; } if(pdb.create(outFileName)) { // std::cout << "created " << outFileName.toLatin1().constData() << "\n"; } else { std::cout << "failure creating " << outFileName.toLatin1().constData() << "\n"; return false; } // now read from ratings.ssp QFile inFile(inFileName); if(!(inFile.open(QIODevice::ReadOnly))) { std::cout << "failure opening output file \n"; return false; } QTextStream stream(&inFile); QString line; QString lineStripped; while(!line.startsWith("@PLAYER") && !stream.atEnd()) { line = stream.readLine(); } QString name; int numberOfPlayers = 0; int numberOfPictures = 0; while(!line.startsWith("### END OF PLAYER SECTION") && !stream.atEnd()) { line = stream.readLine(); lineStripped = line.trimmed(); //std::cout << line << "\n"; if(lineStripped.startsWith("#")) //comment line { } else if(lineStripped.length() == 0) //empty line { } // else if(lineStripped.startsWith("=") ) {//name correction line // } else if(lineStripped.startsWith("%Bio")) //Biography note { pdb.appendToBiography(lineStripped.mid(5, 9999) + "
"); } else if(lineStripped.startsWith("%Title")) //title award note - add to biography { pdb.appendToBiography(lineStripped.mid(7, 9999) + "
"); } else if(lineStripped.startsWith("%Render")) //name with special characters fe. Huebner { } else if(lineStripped.startsWith("%Elo")) //elo data { QStringList sl = lineStripped.split(" "); QStringList::Iterator it = sl.begin(); it++; for(; it != sl.end(); it++) { QString s = *it; //std::cout << s << ":"; QStringList sl2 = s.split(":"); QString year = sl2[0]; QString ratings = sl2[1];//ratings for one year, separated by commas QStringList sl3 = ratings.split(","); for(unsigned int i = 0; i < (unsigned int)sl3.size(); i++) { if(sl3[i] != "?") { // std::cout << "rating for " << name << ": " << year << ": " << i+1 << ": " << sl3[i] << "\n"; pdb.setElo(year.toInt(), i + 1, sl3[i].toInt()); } } } } else if(lineStripped.startsWith("%")) //unknown code { //std::cout << "unknown code in ratings.ssp \n"; //std::cout << line << "\n"; //ignore, as all kinds of tournament names are there now. //return false; } else if(lineStripped.startsWith("= ")) //name alias { //std::cout << "name alias line: " << lineStripped << "\n"; QString nameAlias = lineStripped.mid(2); if(!pdb.hasPhoto()) { //look for players picture //std::cout << "nameAlias= " << nameAlias << "\n"; for(int i = 0; i < pictures.size(); i++) { QStringList sl4 = pictures.at(i).split("."); if(sl4[0].compare(nameAlias) == 0) { QImage* img = new QImage(dir.path() + QDir::separator() + (pictures.at(i))); pdb.setPhoto(*img); numberOfPictures++; pictures.removeAt(i); break; } } } } else //name line { if(numberOfPlayers % 1000 == 0 && numberOfPlayers > 0) { std::cout << "processed: " << numberOfPlayers << "\n"; pdb.commit();//seems binary content changed when doing this ?! } QStringList sl0 = line.split("#"); name = sl0[0].trimmed(); int index = sl0[1].indexOf(QChar(' ')); QString title = sl0[1].left(index); QString rest = sl0[1].mid(index, 9999); // std::cout << "name= " << name << "\n"; // std::cout << "title= " << title << "\n"; // std::cout << "rest= " << rest << "\n"; if(!pdb.add(name)) { std::cout << "failed adding player: " << name.toLatin1().constData() << "\n"; } //look for players picture for(int i = 0; i < pictures.size(); i++) { QStringList sl4 = pictures.at(i).split("."); if(sl4[0].compare(name) == 0) { QImage* img = new QImage(dir.path() + QDir::separator() + pictures.at(i)); pdb.setPhoto(*img); numberOfPictures++; pictures.removeAt(i); break; } } numberOfPlayers++; pdb.setTitle(title); QStringList sl = rest.split(" "); for(QStringList::Iterator it = sl.begin(); it != sl.end(); ++it) { QString s = *it; //std::cout << s << ":"; if(s.startsWith("[")) //rating, peak or estimated { s = s.mid(1, s.length() - 2); //std::cout << "rating= " << s; if(s.endsWith("*")) { pdb.setEstimatedElo(s.left(s.length() - 1).toInt()); } // peak elo is dealt with by setElo() } else if(s.contains(".")) //birth date and/or death date { if(s.startsWith("--")) //only death date(!) Baay is an example { pdb.setDateOfDeath(s.mid(2, 10)); } else { pdb.setDateOfBirth(s.left(10)); if(s.length() >= 22) { pdb.setDateOfDeath(s.mid(12, 10)); } } } else //country code(s) { pdb.setCountry(s); } } // std::cout << "\n"; }//name line } inFile.close(); // std::cout << numberOfPlayers << " players read in from ratings.ssp\n"; // std::cout << numberOfPictures << " players had a picture\n"; // for (QStringList::Iterator it = pictures.begin(); it != pictures.end(); ++it) { // std::cout << "player picture that was not converted: " << (*it).toLatin1().constData() << "\n"; // } pdb.commit(); pdb.close(); return true; } ./chessx-1.3.2/src/database/databaseconversion.h000644 000765 000024 00000002543 12223260306 021276 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 Ejner Borgbjerg * * (C) 2009 Michal Rudolf * * * * 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. * ***************************************************************************/ /** DatabaseConversion contains utility functions to convert from various formats into ChessX format. */ #ifndef __DATABASECONVERSION_H__ #define __DATABASECONVERSION_H__ #include "playerdatabase.h" #include class DatabaseConversion { public: /** convert Scid ratings.ssp to player database outFileName is filename without extension inFileName is full path for ratings.ssp pictureDir is directory where player pictures are - format can be jpg, gif, or any format that QImage(file) will understand */ static bool playerDatabaseFromScidRatings(const QString& inFileName, const QString& outFileName, const QString& pictureDir); }; #endif ./chessx-1.3.2/src/database/databaseinfo.cpp000644 000765 000024 00000017665 12521415120 020407 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include "databaseinfo.h" #include "filter.h" #include "game.h" #include "memorydatabase.h" #include "pgndatabase.h" #include "polyglotdatabase.h" #include "settings.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER DatabaseInfo::DatabaseInfo(QUndoGroup* undoGroup, Database *db) { m_database = db; m_filename = db->name(); m_filter = new Filter(m_database); connect(m_filter, SIGNAL(searchProgress(int)), SIGNAL(searchProgress(int))); connect(m_filter, SIGNAL(searchFinished()), SIGNAL(searchFinished())); m_bLoaded = true; m_utf8 = false; m_undoStack = new QUndoStack((QObject*)undoGroup); newGame(); connect(m_undoStack, SIGNAL(cleanChanged(bool)), SLOT(dbCleanChanged(bool))); connect(&m_game, SIGNAL(signalGameModified(bool,Game,QString)),SLOT(setModified(bool,Game,QString))); connect(&m_game, SIGNAL(signalMoveChanged()), SIGNAL(signalMoveChanged())); } DatabaseInfo::DatabaseInfo(QUndoGroup* undoGroup, const QString& fname): m_filter(0), m_index(NewGame) { m_filename = fname; m_bLoaded = false; m_utf8 = false; m_undoStack = new QUndoStack((QObject*)undoGroup); connect(m_undoStack, SIGNAL(cleanChanged(bool)), SLOT(dbCleanChanged(bool))); connect(&m_game, SIGNAL(signalGameModified(bool,Game,QString)),SLOT(setModified(bool,Game,QString))); connect(&m_game, SIGNAL(signalMoveChanged()), SIGNAL(signalMoveChanged())); QFile file(fname); if (IsPolyglotBook()) { m_database = new PolyglotDatabase; } else if(file.size() < 1024 * 1024 * AppSettings->getValue("/General/EditLimit").toInt()) { m_database = new MemoryDatabase; } else if(file.size() < INT_MAX) { m_database = new PgnDatabase(false); } else { m_database = new PgnDatabase(true); } } void DatabaseInfo::doLoadFile(QString filename) { if (m_filter) m_filter->cancel(); if(!m_database->open(filename, m_utf8)) { emit LoadFinished(this); return; } m_database->parseFile(); delete m_filter; m_filter = new Filter(m_database); connect(m_filter, SIGNAL(searchProgress(int)), SIGNAL(searchProgress(int))); connect(m_filter, SIGNAL(searchFinished()), SIGNAL(searchFinished())); m_bLoaded = true; emit LoadFinished(this); } void DatabaseInfo::run() { QFileInfo fi = QFileInfo(m_filename); QString fname = fi.canonicalFilePath(); doLoadFile(fname); } bool DatabaseInfo::open(bool utf8) { m_bLoaded = false; m_utf8 = utf8; start(); return true; } void DatabaseInfo::close() { if (m_filter) { m_filter->cancel(); } m_bLoaded = false; m_database->m_break = true; if(isRunning()) { bool bSuccess = wait(5000); if(!bSuccess) { terminate(); } } delete m_database; delete m_filter; m_database = NULL; m_filter = NULL; disconnect(m_undoStack, SIGNAL(cleanChanged(bool))); m_undoStack->clear(); } DatabaseInfo::~DatabaseInfo() { } Filter *DatabaseInfo::filter() { return m_filter; } bool DatabaseInfo::loadGame(int index) { if(!m_bLoaded) { return false; } if(!isValid()) { return false; } if(!m_database || index < 0 || index >= (int)m_database->count()) { return false; } if(!m_database->loadGame(index, m_game)) { return false; } m_index = index; int n = m_filter ? m_filter->gamePosition(index) - 1 : 0; if(n < 0) { n = 0; } m_game.moveToId(n); m_undoStack->clear(); setModified(false, Game(), ""); return true; } void DatabaseInfo::updateMaterial() { m_game.scoreMaterial(m_material); } void DatabaseInfo::dbCleanChanged(bool bClean) { emit signalGameModified(!bClean); } bool DatabaseInfo::modified() const { return !m_undoStack->isClean(); } bool DatabaseInfo::gameNeedsSaving() const { return (isValid() && modified() && !m_database->isReadOnly()); } void DatabaseInfo::setModified(bool modified, const Game& g, QString action) { if (modified) { Q_ASSERT(!action.isEmpty()); m_undoStack->push(new GameUndoCommand(this, g, m_game, action)); } else { m_undoStack->clear(); } updateMaterial(); emit signalGameModified(!m_undoStack->isClean()); } QUndoStack *DatabaseInfo::undoStack() const { return m_undoStack; } const QList& DatabaseInfo::material() const { return m_material; } void DatabaseInfo::restoreState(const Game& game) { emit signalRestoreState(game); } void DatabaseInfo::newGame() { m_undoStack->clear(); m_game.clearTags(); m_game.clear(); m_index = NewGame; setModified(false, Game(), ""); } bool DatabaseInfo::saveGame() { if(!m_bLoaded) { return false; } if(!isValid() || m_database->isReadOnly()) { return false; } QString eco; if(AppSettings->getValue("/General/automaticECO").toBool()) { eco = m_game.ecoClassify().left(3); if(!eco.isEmpty()) { m_game.setTag(TagNameECO, eco); if(m_index >= 0) { database()->index()->setTag(TagNameECO, eco, m_index); } } } for(int i = 0; i < 7; ++i) { QString tag = StandardTags[i]; if (!m_game.hasTag(tag)) { m_game.setTag(tag,QString()); if(m_index >= 0) { database()->index()->setTag(tag, QString(), m_index); } } } if(m_index < (int)m_database->count() && m_index >= 0) { if(m_database->replace(m_index, m_game)) { setModified(false, Game(), ""); m_undoStack->setClean(); return true; } } else if(m_index == NewGame && m_database->appendGame(m_game)) { if (m_filter) { m_filter->cancel(); m_filter->resize(m_database->count(), 1); } m_index = m_database->count() - 1; if(!eco.isEmpty()) { database()->index()->setTag(TagNameECO, eco, m_index); } setModified(false, Game(), ""); m_undoStack->setClean(); return true; } return false; } void DatabaseInfo::replaceGame(const Game &game) { currentGame() = game; updateMaterial(); emit signalGameModified(!m_undoStack->isClean()); } void DatabaseInfo::resetFilter() { if(m_filter) { m_filter->cancel(); m_filter->resize(m_database->count()); m_filter->setAll(1); } } bool DatabaseInfo::IsLoaded() const { return m_bLoaded; } bool DatabaseInfo::IsUtf8() const { return m_utf8; } bool DatabaseInfo::IsPGN() const { if (m_filename.isEmpty()) { return true; } QFileInfo fi(m_filename); return (fi.suffix().toLower() == "pgn"); } bool DatabaseInfo::IsPolyglotBook() const { return IsPolyglotBook(m_filename); } bool DatabaseInfo::IsBook() const { return IsBook(m_filename); } bool DatabaseInfo::IsPolyglotBook(QString s) { QFileInfo fi(s); return (fi.suffix().toLower() == "bin"); } bool DatabaseInfo::IsBook(QString s) { // Add here if more book formats come in return IsPolyglotBook(s); } ./chessx-1.3.2/src/database/databaseinfo.h000644 000765 000024 00000010377 12515144130 020050 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __DATABASEINFO_H__ #define __DATABASEINFO_H__ #include "game.h" #include #include #include #include class Database; class Filter; class QUndoStack; class QUndoGroup; /** @ingroup Database The DatabaseInfo class is a simple class to keep various database-related information together. */ class DatabaseInfo: public QThread { Q_OBJECT public: void run(); enum {NewGame = -1}; /** Create information for clipboard database */ DatabaseInfo(QUndoGroup *undoGroup, Database* db); /** Create information for file database */ DatabaseInfo(QUndoGroup *undoGroup, const QString& filename); /** Close database and free memory */ ~DatabaseInfo(); /** Open database. */ bool open(bool utf8); /** Close database. */ void close(); /** @return @p true if database is valid */ bool isValid() const { return m_bLoaded ? m_database != 0 : false; } /** @return Database object */ Database* database() { return m_database; } const Database* database() const { return m_database; } /** @return current filter */ Filter* filter(); /** @return current game */ Game& currentGame() { return m_game; } const Game& currentGame() const { return m_game; } /** @return index of current game */ int currentIndex() const { return m_index; } /** Load game @p index */ bool loadGame(int index); /** Starts new game, giving it @p index equal to the number of games in the database */ void newGame(); /** Saves game, replacing current one or adding new. If @ref currentIndex() is in the database, game will be replaced, else if will be appended at the end. */ bool saveGame(); void replaceGame(const Game& game); void updateMaterial(); /** Resizes the filter to the number of games in the database and puts * all games in the filter.*/ void resetFilter(); QString filePath() const { return m_filename; } bool IsLoaded() const; bool IsUtf8() const; bool IsPGN() const; bool IsPolyglotBook() const; bool IsBook() const; static bool IsPolyglotBook(QString name); static bool IsBook(QString name); bool modified() const; bool gameNeedsSaving() const; void restoreState(const Game& game); QUndoStack *undoStack() const; QList m_material; const QList &material() const; protected: void doLoadFile(QString filename); signals: void LoadFinished(DatabaseInfo*); void signalRestoreState(const Game &game); void signalGameModified(bool gameNeedsSaving); void signalMoveChanged(); void searchProgress(int); void searchFinished(); public slots: void dbCleanChanged(bool); void setModified(bool modfied, const Game &g, QString action); private: QUndoStack* m_undoStack; Database* m_database; QPointer m_filter; Game m_game; QString m_filename; int m_index; bool m_bLoaded; bool m_utf8; }; class GameUndoCommand : public QUndoCommand { public: GameUndoCommand(QObject* parent, const Game& from, Game& to, QString action) : QUndoCommand(action), m_dbInfo((DatabaseInfo*)parent), m_fromGame(from), m_toGame(to), m_bInConstructor(true) { } QPointer m_dbInfo; Game m_fromGame; Game m_toGame; bool m_bInConstructor; virtual void undo() { m_dbInfo->restoreState(m_fromGame); } virtual void redo() { if (m_bInConstructor) m_bInConstructor=false; else m_dbInfo->restoreState(m_toGame); } }; #endif ./chessx-1.3.2/src/database/downloadmanager.cpp000644 000765 000024 00000012271 12507517064 021133 0ustar00nistaff000000 000000 /**************************************************************************** ** ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor ** the names of its contributors may be used to endorse or promote ** products derived from this software without specific prior written ** permission. ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** $QT_END_LICENSE$ ** ****************************************************************************/ #include "downloadmanager.h" #include "settings.h" #include "version.h" #include #include #include #include #include #include #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER DownloadManager::DownloadManager(QObject *parent) : QObject(parent) { } void DownloadManager::doDownload(const QUrl &url) { QString filename = saveFileName(url); if(QFile::exists(filename)) { emit onDownloadFinished(url, filename); return; } doDownloadToPath(url, filename); } void DownloadManager::doDownloadToPath(const QUrl &url, const QString& filename) { if(url.isEmpty() || !url.isValid()) { qDebug() << "Error: Invalid/Empty Url"; emit downloadError(url); return; } QNetworkRequest request(url); QByteArray userAgent = QString(QCoreApplication::applicationName() + "/" + STR_VERSION_NET).toLatin1(); request.setRawHeader("User-Agent",userAgent); QNetworkReply *reply = manager.get(request); connect(reply, SIGNAL(finished()), SLOT(downloadFinished())); destinationPaths.insert(url, filename); currentDownloads.append(reply); } QString DownloadManager::saveFileName(const QUrl &url) { QString dir = AppSettings->commonDataPath(); QDir().mkpath(dir); QString path = url.path(); QString basename = QFileInfo(path).fileName(); if(basename.isEmpty()) { basename = "download.pgn"; } return dir + QDir::separator() + basename; } bool DownloadManager::saveToDisk(const QString &filename, QIODevice *data) { QFile file(filename); if(!file.open(QIODevice::WriteOnly)) { return false; } file.write(data->readAll()); file.close(); return true; } void DownloadManager::execute(QStringList args) { if(args.isEmpty()) { return; } foreach(QString arg, args) { QUrl url = QUrl::fromEncoded(arg.toLocal8Bit()); doDownload(url); } } void DownloadManager::downloadFinished() { QNetworkReply* reply = (QNetworkReply*) sender(); if(reply) { QUrl url = reply->url(); if(reply->error()) { qDebug() << "Network Error " << reply->errorString(); emit downloadError(url); } else { QString filename = destinationPaths.value(url); if(saveToDisk(filename, reply)) { emit onDownloadFinished(url, filename); } else { qDebug() << "Could not save file " << url.toString() << " to " << filename; emit downloadError(url); } } currentDownloads.removeAll(reply); destinationPaths.remove(url); reply->deleteLater(); } else { qDebug() << "Sender is not a QNetworkReply derived implementation"; } if(currentDownloads.isEmpty()) { emit downloadManagerIdle(); } } ./chessx-1.3.2/src/database/downloadmanager.h000644 000765 000024 00000005650 12223260306 020570 0ustar00nistaff000000 000000 /**************************************************************************** ** ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** Contact: Nokia Corporation (qt-info@nokia.com) ** ** This file is part of the examples of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:BSD$ ** You may use this file under the terms of the BSD license as follows: ** ** "Redistribution and use in source and binary forms, with or without ** modification, are permitted provided that the following conditions are ** met: ** * Redistributions of source code must retain the above copyright ** notice, this list of conditions and the following disclaimer. ** * Redistributions in binary form must reproduce the above copyright ** notice, this list of conditions and the following disclaimer in ** the documentation and/or other materials provided with the ** distribution. ** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor ** the names of its contributors may be used to endorse or promote ** products derived from this software without specific prior written ** permission. ** ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." ** $QT_END_LICENSE$ ** ****************************************************************************/ #ifndef DOWNLOADMANAGER_H #define DOWNLOADMANAGER_H #include #include #include #include #include #include #include #include class DownloadManager: public QObject { Q_OBJECT QNetworkAccessManager manager; QList currentDownloads; QMap destinationPaths; public: explicit DownloadManager(QObject *parent = 0); void doDownload(const QUrl &url); void doDownloadToPath(const QUrl &url, const QString& path); QString saveFileName(const QUrl &url); bool saveToDisk(const QString &filename, QIODevice *data); public slots: void execute(QStringList args); void downloadFinished(); signals: void onDownloadFinished(QUrl, QString); void downloadError(QUrl); void downloadManagerIdle(); }; #endif // DOWNLOADMANAGER_H ./chessx-1.3.2/src/database/ecoinfo.cpp000644 000765 000024 00000015124 12510715746 017414 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include #include #include "ecoinfo.h" #include "database.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER static bool sortPlayersLt(const PlayerInfoListItem& a1, const PlayerInfoListItem& a2) { if(a1.second == a2.second) { return (a1.first < a2.first); } return a1.second > a2.second; } EcoInfo::EcoInfo() { m_database = 0; reset(); } EcoInfo::~EcoInfo() { } EcoInfo::EcoInfo(Database* db, const QString & eco) { setDatabase(db); setCode(eco); reset(); update(); } QString EcoInfo::name() const { return m_code; } void EcoInfo::setDatabase(Database* db) { m_database = db; } void EcoInfo::setCode(const QString& eco) { m_code = eco; update(); } int EcoInfo::toResult(const QString& res) const { if(res.startsWith("1/2")) { return Draw; } else if(res.startsWith('1')) { return WhiteWin; } else if(res.startsWith('0')) { return BlackWin; } else { return ResultUnknown; } } float EcoInfo::toPoints(const QString& res) const { if(res.startsWith("1/2")) { return 0.5; } else if(res.startsWith('1')) { return 1.0; } else if(res.startsWith('0')) { return 0.0; } else { return -1.0; } } void EcoInfo::update() { QHash playersWhite; QHash playersBlack; const Index* index = m_database->index(); // Determine matching tag values ValueIndex eco = index->getValueIndex(m_code); // Clean previous statistics reset(); for(int i = 0; i < (int) m_database->count(); ++i) { if(index->valueIndexFromTag(TagNameECO, i) != eco) { continue; } QString result = index->tagValue(TagNameResult, i); int res = toResult(result); QString whitePlayer = index->tagValue(TagNameWhite, i); QString blackPlayer = index->tagValue(TagNameBlack, i); // The following works as QHash initializes a default-constructed value to 0 float fres = toPoints(result); if(fres >= 0) { playersWhite[whitePlayer] += fres; playersBlack[blackPlayer] += (1.0 - fres); m_gamesWhite[whitePlayer]++; m_gamesBlack[blackPlayer]++; } else { // This looks silly, but the []operator has a side effect! if(playersWhite[whitePlayer] == 0) { playersWhite[whitePlayer] = 0; } if(playersBlack[blackPlayer] == 0) { playersBlack[blackPlayer] = 0; } } m_result[res]++; m_count++; } foreach(QString s, playersWhite.keys()) { m_playersWhite.append(PlayerInfoListItem(s, playersWhite.value(s))); } qSort(m_playersWhite.begin(), m_playersWhite.end(), sortPlayersLt); foreach(QString s, playersBlack.keys()) { m_playersBlack.append(PlayerInfoListItem(s, playersBlack.value(s))); } qSort(m_playersBlack.begin(), m_playersBlack.end(), sortPlayersLt); } QString EcoInfo::formattedScore(const int result[4], int count) const { if(!count) { return QCoreApplication::translate("EcoInfo", "no games"); } QString score = ""; QChar scoresign[4] = {'*', '+', '=', '-'}; for(int i = WhiteWin; i <= BlackWin; ++i) { score += QString("  %1%2").arg(scoresign[i]).arg(result[i]); } if(result[ResultUnknown]) { score += QString("  *%1").arg(result[ResultUnknown]); } if(count - result[ResultUnknown]) score += QString("  (%1%)").arg((100.0 * result[WhiteWin] + 50.0 * result[Draw]) / (count - result[ResultUnknown]), 1, 'f', 1); score += ""; return score; } QString EcoInfo::formattedScore() const { return tr("Total: %1") .arg(formattedScore(m_result, m_count)); } void EcoInfo::reset() { for(int c = White; c <= Black; ++c) { for(int r = 0; r < 4; ++r) { m_result[r] = 0; } } m_playersWhite.clear(); m_playersBlack.clear(); m_gamesWhite.clear(); m_gamesBlack.clear(); m_count = 0; m_rating[0] = 99999; m_rating[1] = 0; } QString EcoInfo::formattedGameCount() const { return QCoreApplication::translate("EcoInfo", "Games in database %1: %2") .arg(m_database->name()).arg(m_count); } QString EcoInfo::formattedRating() const { if(!m_rating[1]) { return QString(); } else if(m_rating[0] == m_rating[1]) { return QCoreApplication::translate("EcoInfo", "Rating: %1").arg(m_rating[0]); } else return QCoreApplication::translate("EcoInfo", "Rating: %1-%2") .arg(m_rating[0]).arg(m_rating[1]); } QString EcoInfo::listOfPlayers() const { QString playersList; // Does not work due to bugs in Qt5 // if (m_playersWhite.count() > 10) // { // playersList.append(tr("Go to Black Players Score")); // } playersList.append(QString("").arg(tr("White Player")).arg(tr("Score"))); for(PlayerInfoList::const_iterator it = m_playersWhite.begin(); it != m_playersWhite.end(); ++it) { playersList += QString("") .arg((*it).first) .arg((*it).first) .arg((*it).second) .arg(m_gamesWhite[(*it).first]); } playersList = playersList.append("
%1%2
%2%3/%4
"); playersList.append(QString("").arg(tr("Black Player")).arg(tr("Score"))); for(PlayerInfoList::const_iterator it = m_playersBlack.begin(); it != m_playersBlack.end(); ++it) { playersList += QString("") .arg((*it).first) .arg((*it).first) .arg((*it).second) .arg(m_gamesBlack[(*it).first]); } playersList = playersList.append("
%1%2
%2%3/%4
"); return playersList; } ./chessx-1.3.2/src/database/ecoinfo.h000644 000765 000024 00000003417 12510715746 017063 0ustar00nistaff000000 000000 #ifndef ECOINFO_H #define ECOINFO_H #include #include #include #include class Database; typedef QPair PlayerInfoListItem; typedef QList PlayerInfoList; class EcoInfo { Q_DECLARE_TR_FUNCTIONS(EcoInfo) public: EcoInfo(); public: /** Set database and player. Automatically updates information. */ EcoInfo(Database* db, const QString& eco); /** Standard destructor. */ ~EcoInfo(); /** Changes database. Does not automatically update statistics. */ void setDatabase(Database* db); /** Changes player. Does not automatically update statistics. */ void setCode(const QString& eco); /** @return current player name. */ QString name() const; /** Recalculates all statistics. */ void update(); /** @return string with formatted score statistics. */ QString formattedScore() const; /** @return string with formatted rating. */ QString formattedRating() const; /** @return string with formatted game count. */ QString formattedGameCount() const; /** @return string with list of players in the event */ QString listOfPlayers() const; private: /** Clears all statistics. */ void reset(); /** Add statistics for game @p */ void addGameStats(int index); QString m_code; Database* m_database; /** Format score statistics for single color. */ QString formattedScore(const int results[4], int count) const; int toResult(const QString& res) const; float toPoints(const QString& res) const; int m_result[4]; int m_count; int m_rating[2]; PlayerInfoList m_playersWhite; PlayerInfoList m_playersBlack; QHash m_gamesWhite; QHash m_gamesBlack; }; #endif // ECOINFO_H ./chessx-1.3.2/src/database/ecopositions.cpp000644 000765 000024 00000003146 12522144662 020505 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "ecopositions.h" #include #include QMap EcoPositions::m_ecoPositions; bool EcoPositions::loadEcoFile(const QString& ecoFile) { QFile file(ecoFile); if(file.open(QIODevice::ReadOnly)) { QDataStream sin(&file); quint32 id; sin >> id; if(id == COMPILED_ECO_FILE_ID) { sin >> m_ecoPositions; return true; } return false; } return false; } QString EcoPositions::findEcoNameDetailed(QString eco) { foreach(QString actualEco, m_ecoPositions.values()) { if (actualEco.startsWith(eco)) { QString opName = actualEco.section(" ",1); return opName; } } return QString(); } QString EcoPositions::findEcoName(QString eco) { foreach(QString actualEco, m_ecoPositions.values()) { if (actualEco.startsWith(eco)) { QString opName = actualEco.section(" ",1); if (opName.contains(':')) { opName = opName.section(":",0,0); } return opName; } } return QString(); } bool EcoPositions::isEcoPosition(const Board& b, QString& eco) { quint64 key = b.getHashValue(); if(m_ecoPositions.contains(key)) { eco = m_ecoPositions[key]; return true; } return false; } ./chessx-1.3.2/src/database/ecopositions.h000644 000765 000024 00000001512 12522144662 020145 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef ECOPOSITIONS_H #define ECOPOSITIONS_H #include #include #include "board.h" #define COMPILED_ECO_FILE_ID ((quint32)0xCD5CBD02U) struct EcoPositions { public: static QMap m_ecoPositions; /** Method that loads a file containing ECO classifications for use by the ecoClassify method. Returns true if successful */ static bool loadEcoFile(const QString& ecoFile); static QString findEcoNameDetailed(QString eco); static QString findEcoName(QString eco); static bool isEcoPosition(const Board &b, QString &eco); }; #endif // ECOPOSITIONS_H ./chessx-1.3.2/src/database/editaction.cpp000644 000765 000024 00000002300 12507517064 020104 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2010 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "editaction.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER EditAction::EditAction(Type type) : m_type(type), m_move(NO_MOVE) { } EditAction::EditAction(Type type, const QVariant& data) : m_type(type), m_data(data), m_move(NO_MOVE) { } EditAction::Type EditAction::type() const { return m_type; } MoveId EditAction::move() const { return m_move; } void EditAction::setMove(MoveId move) { m_move = move; } QVariant EditAction::data() const { return m_data; } ./chessx-1.3.2/src/database/editaction.h000644 000765 000024 00000003157 12506211734 017556 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2010 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef EDITACTION_H #define EDITACTION_H #include "game.h" #include /** The EditAction is a ChessBrowser action. */ class EditAction { public: enum Type {None, RemovePreviousMoves, RemoveNextMoves, RemoveVariation, PromoteVariation, EnumerateVariations1, EnumerateVariations2, VariationUp, VariationDown, EditGameComment, EditPrecomment, EditComment, AddNag, ClearNags, AddNullMove, CopyHtml, CopyText, Uncomment, RemoveVariations }; /** Standard constructor. */ EditAction(Type type = None); /** Standard constructor with additional data. */ EditAction(Type type, const QVariant& data); /** @return action type. */ Type type() const; /** @return move associated with the action. */ MoveId move() const; /** Set associated move. */ void setMove(MoveId move); /** @return additonal data. */ QVariant data() const; private: Type m_type; QVariant m_data; MoveId m_move; }; #endif // EDITACTION_H ./chessx-1.3.2/src/database/engine.cpp000644 000765 000024 00000014145 12507517064 017240 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * (C) 2008-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "settings.h" #include "engine.h" #include "wbengine.h" #include "uciengine.h" //#define DEBUG_ENGINE #undef DEBUG_ENGINE #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER /*** Engine ***/ bool Engine::s_allowEngineOutput = true; Engine::Engine(const QString& name, const QString& command, bool bTestMode, const QString& directory, QTextStream* logStream) { m_name = name; m_command = command; m_bTestMode = bTestMode; m_logStream = logStream; m_process = 0; m_active = false; m_analyzing = false; m_directory = directory; } Engine* Engine::newEngine(int index) { return newEngine(index, false); } Engine* Engine::newEngine(EngineList& engineList, int index, bool bTestMode) { Engine *engine = 0; QString name = engineList[index].name; QString command = engineList[index].command; QString options = engineList[index].options; QString directory = engineList[index].directory; EngineData::EngineProtocol protocol = engineList[index].protocol; if(command.contains(' ')) { command = QString("\"%1\"").arg(command); } QString exe = QString("%1 %2").arg(command).arg(options); if(protocol == EngineData::WinBoard) { engine = new WBEngine(name, exe, bTestMode, directory); } else { engine = new UCIEngine(name, exe, bTestMode, directory); } engine->m_mapOptionValues = engineList[index].m_optionValues; return engine; } Engine* Engine::newEngine(int index, bool bTestMode) { Engine *engine = 0; AppSettings->beginGroup("/Engines/"); QString key(QString::number(index)); QString name = AppSettings->value(key + "/Name").toString(); QString command = AppSettings->value(key + "/Command").toString(); QString options = AppSettings->value(key + "/Options").toString(); QString directory = AppSettings->value(key + "/Directory").toString(); QString protocol = AppSettings->value(key + "/Protocol").toString(); if(command.contains(' ')) { command = QString("\"%1\"").arg(command); } QString exe = QString("%1 %2").arg(command).arg(options); if(protocol == "WinBoard") { engine = new WBEngine(name, exe, bTestMode, directory); } else { engine = new UCIEngine(name, exe, bTestMode, directory); } AppSettings->getMap(key + "/OptionValues", engine->m_mapOptionValues); AppSettings->endGroup(); return engine; } Engine::~Engine() { if(m_process) { m_process = 0; } } void Engine::setLogStream(QTextStream* logStream) { m_logStream = logStream; } void Engine::activate() { if(m_process) { return; } m_process = new QProcess(this); if(m_process) { m_process->setReadChannel(QProcess::StandardOutput); if(!m_directory.isEmpty()) { m_process->setWorkingDirectory(m_directory); } connect(m_process, SIGNAL(started()), SLOT(protocolStart())); connect(m_process, SIGNAL(error(QProcess::ProcessError)), SLOT(processError(QProcess::ProcessError))); connect(m_process, SIGNAL(readyReadStandardOutput()), SLOT(pollProcess())); connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)), SLOT(processExited())); m_process->start(m_command); } } void Engine::deactivate() { if(m_active) { protocolEnd(); if(m_process) { m_process->waitForFinished(200); } } } bool Engine::isActive() { return m_active; } bool Engine::isAnalyzing() { return m_analyzing; } void Engine::send(const QString& message) { #ifdef DEBUG_ENGINE if (s_allowEngineOutput) { qDebug() << "<-- " << message << endl; } #endif QString out(message); out.append('\n'); if(m_process && !message.isEmpty()) { m_process->write(out.toLatin1()); } } void Engine::setActive(bool active) { if(active && !m_active) { m_active = true; emit activated(); } else { if(!active && m_active) { setAnalyzing(false); m_active = false; emit deactivated(); } } } void Engine::setAnalyzing(bool analyzing) { if(analyzing) { m_analyzing = true; emit analysisStarted(); } else { if(!analyzing && m_analyzing) { m_analyzing = false; emit analysisStopped(); } } } void Engine::sendAnalysis(const Analysis& analysis) { if (s_allowEngineOutput) { emit analysisUpdated(analysis); } } void Engine::setMpv(int mpv) { m_mpv = mpv; } void Engine::setMoveTime(int mt) { m_moveTime = mt; } void Engine::pollProcess() { QString message; while(m_process && m_process->canReadLine()) { message = m_process->readLine().simplified(); #ifdef DEBUG_ENGINE if (s_allowEngineOutput) { qDebug() << "--> " << message << endl; } #endif processMessage(message); } } void Engine::processError(QProcess::ProcessError errMsg) { setActive(false); m_process = 0; emit error(errMsg); } void Engine::setAllowEngineOutput(bool allow) { s_allowEngineOutput = allow; } void Engine::processExited() { setActive(false); m_process = 0; emit deactivated(); } ./chessx-1.3.2/src/database/engine.h000644 000765 000024 00000011012 12401654071 016664 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * (C) 2008-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __ENGINE_H__ #define __ENGINE_H__ #include #include #include #include #include "analysis.h" #include "board.h" #include "move.h" #include "enginelist.h" #include "engineoptiondata.h" /** * @defgroup Feature Feature - assorted feature classes of ChessX **/ /** * @ingroup Feature * * Provides a simple interface to a chess engine. **/ class Engine : public QObject { Q_OBJECT public: /** Constructs an engine with a given path/command, and log stream */ Engine(const QString& name, const QString& command, bool bTestMode, const QString& directory = QString(), QTextStream* logStream = NULL); /** Virtual destructor */ virtual ~Engine(); /** Set the stream that the debug output goes to */ void setLogStream(QTextStream* logStream = NULL); /** Launch and initialize engine, fire activated() signal when done*/ void activate(); /** Destroy engine process */ void deactivate(); /** Returns whether the engine is active or not */ bool isActive(); /** Analyzes the given position */ virtual bool startAnalysis(const Board& board, int nv, int mt, bool bNewGame) = 0; /** Stops any analysis */ virtual void stopAnalysis() = 0; /** Returns whether the engine is analyzing or not */ bool isAnalyzing(); /** Create a new engine, pass index into engine settings list */ static Engine* newEngine(int index); static Engine* newEngine(int index, bool bTestMode); static Engine* newEngine(EngineList& engineList, int index, bool bTestMode); /** Set number of lines. */ virtual void setMpv(int mpv); /** Set new move time */ virtual void setMoveTime(int mt); virtual bool providesMvp() { return false; } signals: /** Fired when the engine is activated */ void activated(); /** Fired when the engine is deactivated */ void deactivated(); /** Fired when the engine is deactivated */ void error(QProcess::ProcessError); /** Fired when analysis starts */ void analysisStarted(); /** Fired when analysis stops */ void analysisStopped(); /** Fired when the engine has produced some analysis */ void analysisUpdated(const Analysis& analysis); /** Fired when a log item has been written to the log */ void logUpdated(); protected: /** Performs any shutdown procedure required by the engine protocol */ virtual void protocolEnd() = 0; /** Processes messages from the chess engine */ virtual void processMessage(const QString& message) = 0; /** Sends a message to the chess engine */ void send(const QString& message); /** Sets whether the engine is active or not */ void setActive(bool active); /** Sets whether the engine is analysing or not */ void setAnalyzing(bool analyzing); /** Sends an analysis signal */ void sendAnalysis(const Analysis& analysis); bool m_invertBlack; int m_mpv; int m_moveTime; bool m_bTestMode; private slots: /** Receives notification that there is process output to read */ void pollProcess(); /** Receives notification that the process has terminated */ void processExited(); /** Performs any initialisation required by the engine protocol */ virtual void protocolStart() = 0; /** Processes messages from the chess engine */ void processError(QProcess::ProcessError); public: QList m_options; OptionValueList m_mapOptionValues; private: QString m_name; QString m_command; QString m_directory; QTextStream* m_logStream; QProcess* m_process; QTextStream* m_processStream; bool m_active; bool m_analyzing; public: static void setAllowEngineOutput(bool allow); protected: static bool s_allowEngineOutput; }; #endif // __ENGINE_H__ ./chessx-1.3.2/src/database/enginedata.cpp000644 000765 000024 00000002202 12507517064 020061 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2010 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "enginedata.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER EngineData::EngineData(const QString& newName) : name(newName), protocol(UCI) { } QString EngineData::commandToName(const QString& command) { QString name = command.section('/', -1, -1); if(!name.isEmpty()) { name[0] = name[0].toUpper(); } if(name.endsWith(".exe")) { name.truncate(name.length() - 4); } return name; } ./chessx-1.3.2/src/database/enginedata.h000644 000765 000024 00000002213 12223260306 017515 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2010 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef ENGINEDATA_H #define ENGINEDATA_H #include #include "engineoptiondata.h" /** The EngineData class contains configuration of a single engine. */ class EngineData { public: enum EngineProtocol {WinBoard, UCI}; /** Standard constructor. */ EngineData(const QString& newName = ""); QString name; QString command; QString options; QString directory; EngineProtocol protocol; OptionValueList m_optionValues; static QString commandToName(const QString& command); }; #endif // ENGINEDATA_H ./chessx-1.3.2/src/database/enginelist.cpp000644 000765 000024 00000007451 12507517064 020136 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2010 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "enginelist.h" #include "settings.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER EngineList::EngineList() { } void EngineList::restoreEmptyFromPath(QString path, EngineData::EngineProtocol protocol) { if(path.isEmpty()) { return; } QStringList engines = QDir(path).entryList(QDir::Executable | QDir::Files | QDir::NoSymLinks); for(int i = 0; i < engines.size(); ++i) { QString key = QString::number(i); QString name = engines[i]; EngineData data(name); data.command = path + QDir::separator() + name; data.directory = path; data.protocol = protocol; append(data); } } void EngineList::restoreEmpty() { restoreEmptyFromPath(AppSettings->uciPath(), EngineData::UCI); restoreEmptyFromPath(AppSettings->winboardPath(), EngineData::WinBoard); } void EngineList::restore() { clear(); AppSettings->beginGroup("/Engines/"); QStringList engines = AppSettings->childGroups(); bool modified = false; if(engines.size()) { for(int i = 0; i < engines.size(); ++i) { QString key = QString::number(i); QString name = AppSettings->value(key + "/Name").toString(); EngineData data(name); data.command = AppSettings->value(key + "/Command").toString(); data.options = AppSettings->value(key + "/Options").toString(); data.directory = AppSettings->value(key + "/Directory").toString(); QString protocolName = AppSettings->value(key + "/Protocol").toString(); if(protocolName == "WinBoard") { data.protocol = EngineData::WinBoard; } else { data.protocol = EngineData::UCI; } AppSettings->getMap(key + "/OptionValues", data.m_optionValues); append(data); } } else { restoreEmpty(); modified = true; } AppSettings->endGroup(); if(modified) { save(); } } void EngineList::save() { AppSettings->beginGroup("/Engines/"); AppSettings->remove(""); // Clear group for(int i = 0; i < count(); ++i) { QString key = QString::number(i); AppSettings->setValue(key + "/Name", at(i).name); AppSettings->setValue(key + "/Command", at(i).command); if(!at(i).options.isEmpty()) { AppSettings->setValue(key + "/Options", at(i).options); } if(!at(i).directory.isEmpty()) { AppSettings->setValue(key + "/Directory", at(i).directory); } if(at(i).protocol == EngineData::WinBoard) { AppSettings->setValue(key + "/Protocol", "WinBoard"); } else { AppSettings->setValue(key + "/Protocol", "UCI"); } AppSettings->setMap(key + "/OptionValues", at(i).m_optionValues); } AppSettings->endGroup(); } QStringList EngineList::names() const { QStringList engineNames; for(int i = 0; i < count(); ++i) { engineNames.append(at(i).name); } return engineNames; } ./chessx-1.3.2/src/database/enginelist.h000644 000765 000024 00000002604 12375174653 017604 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2010 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef ENGINELIST_H #define ENGINELIST_H #include #include "enginedata.h" /** The EngineList class contains configuration of all installed engines. */ class EngineList : public QList { public: /** Standard constructor. */ EngineList(); /** Restore configuration from INI file. */ void restore(); /** Store configuration in INI file. */ void save(); /** Retrieve list of engine names in current order. */ QStringList names() const; protected: /** Set the content of the default engine directories into the list of engines */ void restoreEmpty(); /** Set the content of the given directory into the list of engines */ void restoreEmptyFromPath(QString path, EngineData::EngineProtocol protocol); }; #endif // ENGINELIST_H ./chessx-1.3.2/src/database/engineoptiondata.cpp000644 000765 000024 00000001357 12507517064 021324 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "engineoptiondata.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER EngineOptionData::EngineOptionData() { } EngineOptionData* EngineOptionData::FindInList(QString name, QList& list) { QList::iterator it = list.begin(); while(it != list.end()) { if((*it).m_name == name) { return &(*it); } ++it; } return 0; } ./chessx-1.3.2/src/database/engineoptiondata.h000644 000765 000024 00000001476 12375174653 021001 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef ENGINEOPTIONDATA_H #define ENGINEOPTIONDATA_H #include #include #include enum OptionType { OPT_TYPE_CHECK, OPT_TYPE_SPIN, OPT_TYPE_COMBO, OPT_TYPE_BUTTON, OPT_TYPE_STRING }; typedef QMap OptionValueList; class EngineOptionData { public: EngineOptionData(); QString m_name; QString m_defVal; QString m_minVal; QString m_maxVal; QStringList m_varVals; OptionType m_type; static EngineOptionData* FindInList(QString name, QList& list); }; #endif // ENGINEOPTIONDATA_H ./chessx-1.3.2/src/database/eventinfo.cpp000644 000765 000024 00000013423 12510715746 017767 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include #include #include "eventinfo.h" #include "database.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER static bool sortPlayersLt(const PlayerInfoListItem& a1, const PlayerInfoListItem& a2) { if(a1.second == a2.second) { return (a1.first < a2.first); } return a1.second > a2.second; } EventInfo::EventInfo() { m_database = 0; reset(); } EventInfo::~EventInfo() { } EventInfo::EventInfo(Database* db, const QString & event) { setDatabase(db); setName(event); reset(); update(); } QString EventInfo::name() const { return m_name; } void EventInfo::setDatabase(Database* db) { m_database = db; } void EventInfo::setName(const QString& event) { m_name = event; update(); } float EventInfo::toPoints(const QString& res) const { if(res.startsWith("1/2")) { return 0.5; } else if(res.startsWith('1')) { return 1.0; } else if(res.startsWith('0')) { return 0.0; } else if(res.startsWith("+-")) { return 1.0; } else if(res.startsWith("-+")) { return 0.0; } else if(res.startsWith("+--")) { return 1.0; } else if(res.startsWith("--+")) { return 0.0; } else { return ResultUnknown; } } void EventInfo::update() { QHash players; const Index* index = m_database->index(); // Determine matching tag values ValueIndex event = index->getValueIndex(m_name); // Clean previous statistics reset(); for(int i = 0; i < (int) m_database->count(); ++i) { if(index->valueIndexFromTag(TagNameEvent, i) != event) { continue; } QString result = index->tagValue(TagNameResult, i); int res = ResultFromString(result); QString whitePlayer = index->tagValue(TagNameWhite, i); QString blackPlayer = index->tagValue(TagNameBlack, i); // The following works as QHash initializes a default-constructed value to 0 players[whitePlayer] += toPoints(result); players[blackPlayer] += (1.0 - toPoints(result)); m_games[whitePlayer]++; m_games[blackPlayer]++; m_result[res]++; m_count++; PartialDate date(index->tagValue(TagNameDate, i)); if(date.year() > 1000) { m_date[0] = qMin(date, m_date[0]); m_date[1] = qMax(date, m_date[1]); } } foreach(QString s, players.keys()) { m_players.append(PlayerInfoListItem(s, players.value(s))); } qSort(m_players.begin(), m_players.end(), sortPlayersLt); } QString EventInfo::formattedScore(const int result[4], int count) const { if(!count) { return QCoreApplication::translate("EventInfo", "no games"); } QString score = ""; QChar scoresign[4] = {'*', '+', '=', '-'}; for(int i = WhiteWin; i <= BlackWin; ++i) { score += QString("  %1%2").arg(scoresign[i]).arg(result[i]); } if(result[ResultUnknown]) { score += QString("  *%1").arg(result[ResultUnknown]); } if(count - result[ResultUnknown]) score += QString("  (%1%)").arg((100.0 * result[WhiteWin] + 50.0 * result[Draw]) / (count - result[ResultUnknown]), 1, 'f', 1); score += ""; return score; } QString EventInfo::formattedScore() const { return QCoreApplication::translate("EventInfo", "Total: %1") .arg(formattedScore(m_result, m_count)); } void EventInfo::reset() { for(int c = White; c <= Black; ++c) { for(int r = 0; r < 4; ++r) { m_result[r] = 0; } } m_players.clear(); m_games.clear(); m_count = 0; m_rating[0] = 99999; m_rating[1] = 0; m_date[0] = PDMaxDate; m_date[1] = PDMinDate; } QString EventInfo::formattedGameCount() const { return QCoreApplication::translate("EventInfo", "Games in database %1: %2
") .arg(m_database->name()).arg(m_count); } QString EventInfo::formattedRating() const { if(!m_rating[1]) { return QString(); } else if(m_rating[0] == m_rating[1]) { return QCoreApplication::translate("EventInfo", "Rating: %1
").arg(m_rating[0]); } else return QCoreApplication::translate("EventInfo", "Rating: %1-%2
") .arg(m_rating[0]).arg(m_rating[1]); } QString EventInfo::formattedRange() const { if(m_date[0].year() == 9999) // No date { return QCoreApplication::translate("EventInfo", "Date: ????.??.\?\?
"); } else if(m_date[0].year() < 1000) { return QString(); } else { return QCoreApplication::translate("EventInfo", "Date: %1
").arg(m_date[0].range(m_date[1])); } } QString EventInfo::listOfPlayers() const { QString playersList; playersList.append(QCoreApplication::translate("EventInfo", "")); for(PlayerInfoList::const_iterator it = m_players.begin(); it != m_players.end(); ++it) { playersList += QString("") .arg((*it).first) .arg((*it).first) .arg((*it).second) .arg(m_games[(*it).first]); } playersList = playersList.append("
ParticipantsScore
%2%3/%4
"); return playersList; } ./chessx-1.3.2/src/database/eventinfo.h000644 000765 000024 00000004036 12510715746 017434 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2012 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef EVENTINFO_H #define EVENTINFO_H #include "partialdate.h" #include #include #include #include class Database; typedef QPair PlayerInfoListItem; typedef QList PlayerInfoList; class EventInfo { Q_DECLARE_TR_FUNCTIONS(EventInfo) public: EventInfo(); public: /** Set database and player. Automatically updates information. */ EventInfo(Database* db, const QString& player); /** Standard destructor. */ ~EventInfo(); /** Changes database. Does not automatically update statistics. */ void setDatabase(Database* db); /** Changes player. Does not automatically update statistics. */ void setName(const QString& player); /** @return current player name. */ QString name() const; /** Recalculates all statistics. */ void update(); /** @return string with formatted score statistics. */ QString formattedScore() const; /** @return string with formatted date range. */ QString formattedRange() const; /** @return string with formatted rating. */ QString formattedRating() const; /** @return string with formatted game count. */ QString formattedGameCount() const; /** @return string with list of players in the event */ QString listOfPlayers() const; private: /** Clears all statistics. */ void reset(); /** Add statistics for game @p */ void addGameStats(int index); QString m_name; Database* m_database; /** Format score statistics for single color. */ QString formattedScore(const int results[4], int count) const; float toPoints(const QString& res) const; int m_result[4]; int m_count; int m_rating[2]; PlayerInfoList m_players; QHash m_games; PartialDate m_date[2]; }; #endif // EVENTINFO_H ./chessx-1.3.2/src/database/ficsclient.cpp000644 000765 000024 00000011300 12515660423 020101 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "ficsclient.h" #include "settings.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER FicsClient::FicsClient(QObject *parent): TelnetClient(parent), m_cmd(BLKCMD_NULL) { } void FicsClient::startSession() { QString account = AppSettings->getValue("/FICS/userName").toString(); QString passwd = AppSettings->getValue("/FICS/passWord").toString(); bool guestLogin = AppSettings->getValue("/FICS/guestLogin").toBool(); if (guestLogin) { account = "guest"; passwd = ""; } emit receivedMessage(BLKCMD_NULL,"Requesting Session..."); connectHost("freechess.org", 5000, account, passwd); m_cmd = BLKCMD_NULL; } void FicsClient::sendCommand(QString s) { sendFicsCommand(s+"\r"); } void FicsClient::sendFicsCommand(QString s) { sendFicsCommandWithId(s,99); } void FicsClient::sendFicsCommandWithId(QString s, int id) { s.prepend(QString("%1 ").arg(id)); send(s); } void FicsClient::OnSessionStarted(QString guestName) { send("set prompt"); send("set seek 0"); send("set style 12"); send("set shout 0"); send("set cshout 0"); send("set gin 0"); send("set pin 0"); send("set chanoff 1"); send("set height 240"); send("set width 240"); send("set autoflag 1"); send("set kibitz 1"); send("set notakeback 1"); send("set bell off"); send("iset block 1"); QString connection = InternalTelnet() ? "Telnet" : "Timeseal"; emit receivedMessage(BLKCMD_INTERNAL_SESSION_STARTED,tr("Connected to FICS as %1 using %2") .arg(guestName) .arg(connection)); emit connected(); } void FicsClient::OnReceiveTelnetMessage(QString s) { int start = -1; int end = -1; if (InternalTelnet()) { start = s.indexOf(StartReply); end = s.indexOf(EndReply); if (end>=0) { s.remove(EndReply); } s.remove(PoseStart); s.remove(PoseEnd); if (start>=0) { s.remove(StartReply); QStringList l = s.split(Separator); m_cmd = l[1].toInt(); emit commandStarted(m_cmd); s = l[2]; } if (s.startsWith("fics%")) { s.remove("fics%"); } } else { s.remove(EndReply); QRegExp regCmd("fics%[^9]*99([\\d]*)(.*)"); if (regCmd.indexIn(s) >= 0) { QString d = regCmd.cap(1); m_cmd = d.toInt(); emit commandStarted(m_cmd); s = regCmd.cap(2); } else if (s.startsWith("fics%")) { s.remove(0,5); m_cmd = BLKCMD_NULL; } } ProcessUnblockedMessage(s.normalized(QString::NormalizationForm_D).trimmed()); if (end >= 0) { m_cmd = BLKCMD_NULL; } } void FicsClient::ProcessUnblockedMessage(QString s) { if (!s.isEmpty()) { if (s.startsWith("<12>")) { s.remove("<12>"); // qDebug() << s; emit receivedBoard(m_cmd, s.trimmed()); } else if (s.startsWith('{')) { // Filter out stuff like abort / resign / draw / play if (s.contains("Creating")) { emit receivedMessage(BLKCMD_INTERNAL_MATCH_START,s); } else { emit receivedMessage(BLKCMD_INTERNAL_MATCH_END,s); } } else if (s.startsWith(":")) { s.remove(0,1); emit receivedMessage(BLKCMD_XTELL,s); } else if (s.contains("puzzlebot")) { emit receivedMessage(BLKCMD_INTERNAL_PUZZLEBOT, s); } else if (s.contains("seeking")) { emit receivedMessage(BLKCMD_SEEK,s); } else if ((s.contains("tells you") || s.contains("says:")) && !s.contains("ROBOadmin")) { emit receivedMessage(BLKCMD_SAY,s); } else if (s.startsWith("Challenge:") || s.startsWith("Challenge from") || s.contains("offers you a draw") || s.contains("would like to abort the game")) { emit receivedMessage(BLKCMD_INTERNAL_OTHER,s); } else if (m_cmd != BLKCMD_NULL) { emit receivedMessage(m_cmd,s); } else { qDebug() << "Cmd " << m_cmd << ": ignoring message: " << s; } } } ./chessx-1.3.2/src/database/ficsclient.h000644 000765 000024 00000016222 12513145427 017556 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef FICSCLIENT_H #define FICSCLIENT_H #include "telnetclient.h" class FicsClient : public TelnetClient { Q_OBJECT public: FicsClient(QObject* parent); enum ClientCode { StartReply = 21, Separator = 22, EndReply = 23, PoseStart = 24, PoseEnd = 25 }; enum CommandCode { BLKCMD_NULL = 0, BLKCMD_GAME_MOVE = 1, BLKCMD_ABORT = 10 , BLKCMD_ACCEPT = 11 , BLKCMD_ADDLIST = 12 , BLKCMD_ADJOURN = 13 , BLKCMD_ALLOBSERVERS = 14, BLKCMD_ASSESS = 15 , BLKCMD_BACKWARD = 16 , BLKCMD_BELL = 17 , BLKCMD_BEST = 18 , BLKCMD_BNAME = 19 , BLKCMD_BOARDS = 20 , BLKCMD_BSETUP = 21 , BLKCMD_BUGWHO = 22 , BLKCMD_CBEST = 23 , BLKCMD_CLEARMESSAGES = 24 , BLKCMD_CLRSQUARE = 25 , BLKCMD_CONVERT_BCF = 26 , BLKCMD_CONVERT_ELO = 27 , BLKCMD_CONVERT_USCF = 28 , BLKCMD_COPYGAME = 29 , BLKCMD_CRANK = 30 , BLKCMD_CSHOUT = 31 , BLKCMD_DATE = 32 , BLKCMD_DECLINE = 33 , BLKCMD_DRAW = 34 , BLKCMD_ECO = 35 , BLKCMD_EXAMINE = 36 , BLKCMD_FINGER = 37 , BLKCMD_FLAG = 38 , BLKCMD_FLIP = 39 , BLKCMD_FMESSAGE = 40, BLKCMD_FOLLOW = 41 , BLKCMD_FORWARD = 42 , BLKCMD_GAMES = 43 , BLKCMD_GETGI = 44 , BLKCMD_GETPI = 45 , BLKCMD_GINFO = 46 , BLKCMD_GOBOARD = 47 , BLKCMD_HANDLES = 48 , BLKCMD_HBEST = 49 , BLKCMD_HELP = 50 , BLKCMD_HISTORY = 51 , BLKCMD_HRANK = 52 , BLKCMD_INCHANNEL = 53 , BLKCMD_INDEX = 54 , BLKCMD_INFO = 55 , BLKCMD_ISET = 56 , BLKCMD_IT = 57 , BLKCMD_IVARIABLES = 58 , BLKCMD_JKILL = 59 , BLKCMD_JOURNAL = 60 , BLKCMD_JSAVE = 61 , BLKCMD_KIBITZ = 62 , BLKCMD_LIMITS = 63 , BLKCMD_LLOGONS = 65 , BLKCMD_LOGONS = 66 , BLKCMD_MAILHELP = 67 , BLKCMD_MAILMESS = 68 , BLKCMD_MAILMOVES = 69 , BLKCMD_MAILOLDMOVES = 70, BLKCMD_MAILSOURCE = 71 , BLKCMD_MAILSTORED = 72 , BLKCMD_MATCH = 73 , BLKCMD_MESSAGES = 74 , BLKCMD_MEXAMINE = 75 , BLKCMD_MORETIME = 76, BLKCMD_MOVES = 77 , BLKCMD_NEWS = 78 , BLKCMD_NEXT = 79 , BLKCMD_OBSERVE = 80 , BLKCMD_OLDMOVES = 81, BLKCMD_OLDSTORED = 82, BLKCMD_OPEN = 83 , BLKCMD_PARTNER = 84 , BLKCMD_PASSWORD = 85 , BLKCMD_PAUSE = 86 , BLKCMD_PENDING = 87 , BLKCMD_PFOLLOW = 88 , BLKCMD_POBSERVE = 89, BLKCMD_PREFRESH = 90, BLKCMD_PRIMARY = 91 , BLKCMD_PROMOTE = 92 , BLKCMD_PSTAT = 93 , BLKCMD_PTELL = 94 , BLKCMD_PTIME = 95 , BLKCMD_QTELL = 96 , BLKCMD_QUIT = 97 , BLKCMD_RANK = 98 , BLKCMD_RCOPYGAME = 99 , BLKCMD_RFOLLOW = 100 , BLKCMD_REFRESH = 101 , BLKCMD_REMATCH = 102 , BLKCMD_RESIGN = 103 , BLKCMD_RESUME = 104 , BLKCMD_REVERT = 105 , BLKCMD_ROBSERVE = 106 , BLKCMD_SAY = 107 , BLKCMD_SERVERS = 108 , BLKCMD_SET = 109 , BLKCMD_SHOUT = 110 , BLKCMD_SHOWLIST = 111 , BLKCMD_SIMABORT = 112 , BLKCMD_SIMALLABORT = 113 , BLKCMD_SIMADJOURN = 114 , BLKCMD_SIMALLADJOURN = 115, BLKCMD_SIMGAMES = 116 , BLKCMD_SIMMATCH = 117 , BLKCMD_SIMNEXT = 118 , BLKCMD_SIMOBSERVE = 119 , BLKCMD_SIMOPEN = 120 , BLKCMD_SIMPASS = 121 , BLKCMD_SIMPREV = 122 , BLKCMD_SMOVES = 123 , BLKCMD_SMPOSITION = 124 , BLKCMD_SPOSITION = 125 , BLKCMD_STATISTICS = 126 , BLKCMD_STORED = 127 , BLKCMD_STYLE = 128 , BLKCMD_SWITCH = 130 , BLKCMD_TAKEBACK = 131 , BLKCMD_TELL = 132 , BLKCMD_TIME = 133 , BLKCMD_TOMOVE = 134 , BLKCMD_TOURNSET = 135 , BLKCMD_UNALIAS = 136 , BLKCMD_UNEXAMINE = 137, BLKCMD_UNOBSERVE = 138, BLKCMD_UNPAUSE = 139 , BLKCMD_UPTIME = 140 , BLKCMD_USCF = 141 , BLKCMD_USTAT = 142 , BLKCMD_VARIABLES = 143, BLKCMD_WHENSHUT = 144 , BLKCMD_WHISPER = 145 , BLKCMD_WHO = 146 , BLKCMD_WITHDRAW = 147 , BLKCMD_WNAME = 148 , BLKCMD_XKIBITZ = 149 , BLKCMD_XTELL = 150 , BLKCMD_XWHISPER = 151 , BLKCMD_ZNOTIFY = 152 , BLKCMD_SUMMON = 154 , BLKCMD_SEEK = 155 , BLKCMD_UNSEEK = 156 , BLKCMD_SOUGHT = 157 , BLKCMD_PLAY = 158 , BLKCMD_ALIAS = 159 , BLKCMD_NEWBIES = 160 , BLKCMD_SR = 161 , BLKCMD_CA = 162 , BLKCMD_TM = 163 , BLKCMD_GETGAME = 164, BLKCMD_CCNEWSE = 165, BLKCMD_CCNEWSF = 166, BLKCMD_CCNEWSI = 167, BLKCMD_CCNEWSP = 168, BLKCMD_CCNEWST = 169, BLKCMD_CSNEWSE = 170, BLKCMD_CSNEWSF = 171, BLKCMD_CSNEWSI = 172, BLKCMD_CSNEWSP = 173, BLKCMD_CSNEWST = 174, BLKCMD_CTNEWSE = 175, BLKCMD_CTNEWSF = 176, BLKCMD_CTNEWSI = 177, BLKCMD_CTNEWSP = 178, BLKCMD_CTNEWST = 179, BLKCMD_CNEWS = 180, BLKCMD_SNEWS = 181, BLKCMD_TNEWS = 182, BLKCMD_RMATCH = 183, BLKCMD_RSTAT = 184, BLKCMD_CRSTAT = 185, BLKCMD_HRSTAT = 186, BLKCMD_GSTAT = 187, BLKCMD_ERROR_BADCOMMAND = 512, BLKCMD_ERROR_BADPARAMS = 513, BLKCMD_ERROR_AMBIGUOUS = 514, BLKCMD_ERROR_RIGHTS = 515, BLKCMD_ERROR_OBSOLETE = 516, BLKCMD_ERROR_REMOVED = 517, BLKCMD_ERROR_NOTPLAYING = 518, BLKCMD_ERROR_NOSEQUENCE = 519, BLKCMD_ERROR_LENGTH = 520, BLKCMD_INTERNAL_MATCH_START = 1000, BLKCMD_INTERNAL_MATCH_END = 1001, BLKCMD_INTERNAL_PUZZLEBOT = 1002, BLKCMD_INTERNAL_OTHER = 1003, BLKCMD_INTERNAL_SESSION_STARTED = 1004 }; virtual void startSession(); virtual void sendCommand(QString s); signals: void receivedMessage(int cmd, QString s); void receivedBoard(int cmd, QString s); void commandStarted(int cmd); void connected(); protected: void sendFicsCommand(QString s); void sendFicsCommandWithId(QString s, int id); virtual void OnSessionStarted(QString); virtual void OnReceiveTelnetMessage(QString); int m_cmd; void ProcessUnblockedMessage(QString s); }; #endif // FICSCLIENT_H ./chessx-1.3.2/src/database/ficsdatabase.cpp000644 000765 000024 00000001101 12507517064 020370 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "ficsdatabase.h" #include "game.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER FicsDatabase::FicsDatabase() { } QString FicsDatabase::name() const { return "FICS"; } QString FicsDatabase::filename() const { return "FICS"; } ./chessx-1.3.2/src/database/ficsdatabase.h000644 000765 000024 00000001006 12437660655 020050 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef FICSDATABASE_H #define FICSDATABASE_H #include "memorydatabase.h" #include "game.h" class FicsDatabase : public MemoryDatabase { Q_OBJECT public: FicsDatabase(); virtual QString name() const; virtual QString filename() const; }; #endif // FICSDATABASE_H ./chessx-1.3.2/src/database/filter.cpp000644 000765 000024 00000024262 12516436122 017254 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 Ejner Borgbjerg * * (C) 2006 William Hoggarth * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "database.h" #include "filter.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER Filter::Filter(Database* database) : QThread() { m_database = database; m_count = m_database->count(); m_vector = new QVector(m_count, 1); m_cache.first = m_cache.second = -1; m_gamesSearched = 0; m_searchTime = 0; currentSearch = 0; } Filter::~Filter() { cancel(); delete currentSearch; delete m_vector; } Database* Filter::database() { return m_database; } void Filter::set(int game, int value) { if((game >= size()) || (gamePosition(game) == value)) { return; } if(value && !contains(game)) { m_count++; } else if(!value && contains(game)) { m_count--; } (*m_vector)[game] = value; } void Filter::setAll(int value) { cancel(); m_vector->fill(value); m_count = value ? size() : 0; m_cache.first = m_cache.second = -1; } bool Filter::contains(int game) const { if(game < m_vector->count()) { return (m_vector->at(game) != 0); } return false; } int Filter::gamePosition(int game) const { return m_vector->at(game); } int Filter::size() const { return m_vector->size(); } int Filter::gameToIndex(int index) { if(index > size() || index < 0 || !contains(index)) { return -1; } if(index < size() / 2) { int count = 0; for(int i = 0; i < index; ++i) { if(contains(i)) { ++count; } } return count; } else { int count = m_count - 1; for(int i = size() - 1 ; i > index; i--) { if(contains(i)) { count--; } } return count; } } int Filter::indexToGame(int index) { if(m_cache.first == index) { return m_cache.second; } m_cache.first = index; if(index < m_count) { if(index < m_count / 2) { for(int i = 0; i < size(); ++i) { index -= contains(i); if(index < 0) { m_cache.second = i; return i; } } } else { for(int i = size() - 1 ; i >= 0; i--) { index += contains(i); if(index >= m_count) { m_cache.second = i; return i; } } } } m_cache.second = -1; return -1; } int Filter::previousGame(int current) const { if(!m_count) { return -1; } for(int i = qBound(-1, current, size()) - 1; i >= 0; i--) { if(contains(i)) { return i; } } return -1; } int Filter::nextGame(int current) const { if(!m_count) { return -1; } for(int i = qBound(-1, current, size()) + 1; i < size(); ++i) { if(contains(i)) { return i; } } return -1; } void Filter::resize(int newsize, bool includeNew) { for(int i = newsize; i < size(); ++i) // Decrease count by number of removed games { if(contains(i)) { m_count--; } } int oldsize = size(); m_vector->resize(newsize); // Set new (uninitialized games) to 'includeNew' value. for(int i = oldsize; i < newsize; ++i) { (*m_vector)[i] = includeNew; } if(includeNew) { m_count += newsize - oldsize; } } void Filter::reverse() { m_count = size() - m_count; for(int i = 0; i < size(); ++i) { if(m_vector->at(i)) { (*m_vector)[i] = 0; } else { (*m_vector)[i] = 1; } } } QVector Filter::intVector() const { return *m_vector; } void Filter::run() { switch (currentSearchOperator) { case Search::NullOperator: for(int searchIndex = 0; searchIndex < size(); ++searchIndex) { if (m_break) break; set(searchIndex, currentSearch->matches(searchIndex)); if (searchIndex % 1024 == 0) emit searchProgress(searchIndex*100/size()); } break; case Search::And: for(int searchIndex = 0; searchIndex < size(); ++searchIndex) { if (m_break) break; if (contains(searchIndex)) { set(searchIndex, currentSearch->matches(searchIndex)); } if (searchIndex % 1024 == 0) emit searchProgress(searchIndex*100/size()); } break; case Search::Or: for(int searchIndex = 0; searchIndex < size(); ++searchIndex) { if (m_break) break; if (!contains(searchIndex)) { set(searchIndex, currentSearch->matches(searchIndex)); } if (searchIndex % 1024 == 0) emit searchProgress(searchIndex*100/size()); } break; case Search::Remove: for(int searchIndex = 0; searchIndex < size(); ++searchIndex) { if (m_break) break; if (contains(searchIndex)) { set(searchIndex, !currentSearch->matches(searchIndex)); } if (searchIndex % 1024 == 0) emit searchProgress(searchIndex*100/size()); } break; default: break; } delete currentSearch; currentSearch = 0; emit searchProgress(100); emit searchFinished(); } void Filter::cancel() { if (isRunning()) { m_break = true; wait(); } } void Filter::executeSearch(Search* search) { cancel(); setAll(0); m_break = false; currentSearch = search; currentSearchOperator = Search::NullOperator; start(); } void Filter::executeSearch(Search* search, Search::Operator searchOperator) { if (searchOperator==Search::NullOperator) { executeSearch(search); return; } wait(); m_break = false; currentSearch = search; currentSearchOperator = searchOperator; start(); } void Filter::executeQuery(Query& query) { QVector > filterSearches; QVector > searches; int filterSearchCount = 0; int searchCount = 0; QTime t; t.start(); m_gamesSearched = 0; m_triStateTree = TriStateTree(query); /* Make a list of all searches, filter searches separately */ int leafNode = 0; for(int element = 0; element < query.count(); ++element) { if(query.isElementSearch(element)) { if(query.search(element)->type() == Search::FilterSearch) { filterSearches.append(QPair < FilterSearch, int > (*static_cast < const FilterSearch * >(query.search(element)), leafNode)); } else { searches.append(QPair < Search*, int >(query.search(element), leafNode)); } ++leafNode; } } filterSearchCount = (int) filterSearches.size(); searchCount = (int) searches.size(); /* Iterates through all games in the database. * Don't worry, a search won't be performed unless necessary */ for(int searchIndex = 0; searchIndex < size(); ++searchIndex) { m_triStateTree.clear(); /* Add filter searches to tree. This could solve the tree in certain cases * making it unecessary to call searchGame() */ if(filterSearchCount) { for(int search = 0; search < filterSearchCount; ++search) { if(m_triStateTree.setState(filterSearches.at(search).second, filterSearches.at(search).first.contains(searchIndex))) { /* This means the tree evaluated to true */ break; } } /* So if the filter(s) wasn't enough to solve the tree, * lets see what we can find in the game */ if(m_triStateTree.state() == TriStateTree::Unknown) { for(int search = 0; search < searchCount; ++search) { if(m_triStateTree.setState(searches.at(search).second, searches.at(search).first->matches(searchIndex))) { break; } } ++m_gamesSearched; } } else { /* If the query is not combined with this or any other filter * there is no way the tree could have been solved, so just check the game */ for(int search = 0; search < searchCount; ++search) { if(m_triStateTree.setState(searches.at(search).second, searches.at(search).first->matches(searchIndex))) { break; } } ++m_gamesSearched; } /* Update the filter with the result of the tree */ set(searchIndex, m_triStateTree.state() == TriStateTree::True); } m_searchTime = t.elapsed(); } int Filter::gamesSearched() const { return m_gamesSearched; } int Filter::searchTime() const { return m_searchTime; } ./chessx-1.3.2/src/database/filter.h000644 000765 000024 00000007751 12510715746 016733 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 Ejner Borgbjerg * * (C) 2006 William Hoggarth * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __FILTER_H__ #define __FILTER_H__ #include #include #include #include "tristatetree.h" class Database; /** @ingroup Database The Filter class represents a set of games. It is always associated with some Database object. On creation it has the same size as database, but it is not automatically resized when database size changes. */ class Filter : public QThread { Q_OBJECT public: void run(); void cancel(); /** Possible operations on filter. */ enum Operator {And, Or, Xor, Minus}; /** Construct filter of given size. Add all games to the filter. */ Filter(Database* database); /** Destructor. */ ~Filter(); /** @return a pointer to the database on which the filter is. */ Database* database(); /** Add or remove game @p game . Does nothing if the game is not in filter. */ void set(int game, int value); /** Set all games in the filter to the same value. */ void setAll(int value); /** @return true if the game is in the filter. */ bool contains(int game) const; /** @return the ply at which the game in the filter is. Zero if game is not in filter */ int gamePosition(int game) const; /** @return number of games in the filter. */ inline int count() const { return m_count; } /** @return the size of the filter. */ int size() const; /** @return next game in the filter or @p -1 if there is none. */ int nextGame(int current) const; /** @return previous game in the filter or @p -1 if there is none. */ int previousGame(int current) const; /** @return @p index in filter of game with database index @p number. */ int gameToIndex(int number); /** @return database index of @p number game from filter or @p -1 if the game is not in filter. */ int indexToGame(int number); /** Resize the filter to the specified size, keeping current content. If the filter is increased, added game will be initialized to @p includeNew (by default - not in filter). */ void resize(int newsize, bool includeNew = 0); /** Reverse the filter (complement set). */ void reverse(); /** Executes search 'search' on database m_database, and sets this filter to contain the results. */ void executeSearch(Search *search); /** Executes search 'search' on database m_database, and modifies this filter with the results. */ void executeSearch(Search *search, Search::Operator searchOperator); /** Executes query 'query' on database m_database, and sets this filter to contain the results. */ void executeQuery(Query& query); /** Returns the number of games searched during the previous search */ int gamesSearched() const; /** Returns the time taken for the previous search in milliseconds */ int searchTime() const; signals: void searchProgress(int); void searchFinished(); protected: QVector intVector() const; int m_count; QVector* m_vector; QPair m_cache; Database* m_database; TriStateTree m_triStateTree; /* Search statistics variables */ int m_gamesSearched; int m_searchTime; Search* currentSearch; Search::Operator currentSearchOperator; volatile bool m_break; }; #endif ./chessx-1.3.2/src/database/filtermodel.cpp000644 000765 000024 00000012525 12521415120 020263 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007 Marius Roets * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "filtermodel.h" #include "database.h" #include "filter.h" #include "game.h" #include "tags.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER FilterModel::FilterModel(Filter* filter, QObject* parent) : QAbstractItemModel(parent), m_filter(filter), m_gameIndex(-1), m_gameIndex2(-1),m_lastGame(0) { m_columnNames << tr("Nr") << tr("White") << tr("White Elo") << tr("Black") << tr("Black Elo") << tr("Event") << tr("Site") << tr("Round") << tr("Date") << tr("Result") << tr("ECO") << tr("Moves"); m_columnTags << "Nr" << TagNameWhite << TagNameWhiteElo << TagNameBlack << TagNameBlackElo << TagNameEvent << TagNameSite << TagNameRound << TagNameDate << TagNameResult << TagNameECO << TagNameLength; m_game = new Game; m_game2 = new Game; } FilterModel::~FilterModel() { delete m_game; delete m_game2; m_lastGame = 0; } int FilterModel::rowCount(const QModelIndex& index) const { if(index.isValid()) { return 0; } return m_filter ? m_filter->count() : 0; } int FilterModel::columnCount(const QModelIndex&) const { return m_columnNames.count(); } QVariant FilterModel::data(const QModelIndex &index, int role) const { if(index.isValid() && index.row() < m_filter->count()) { int i = m_filter->indexToGame(index.row()); if(role == Qt::DisplayRole) { if(index.column() == 0) { return i + 1; } } if(i != -1) { if ((i != m_gameIndex) && (i!=m_gameIndex2)) { if (m_lastGame != m_game2) { m_lastGame = m_game2; m_gameIndex2 = i; } else { m_lastGame = m_game; m_gameIndex = i; } m_lastGame->clearTags(); } else if (i == m_gameIndex) { m_lastGame = m_game; } else if (i == m_gameIndex2) { m_lastGame = m_game2; } if(role == Qt::DisplayRole) { m_filter->database()->loadGameHeader(i, *m_lastGame, m_columnTags.at(index.column())); QString tag = m_lastGame->tag(m_columnTags.at(index.column())); if(tag == "?") { tag.clear(); } return tag; } else if(role == Qt::FontRole) { if(m_filter->database()->deleted(i)) { QFont font; font.setStrikeOut(true); return font; } } else if(role == Qt::ForegroundRole) { if(!m_filter->database()->getValidFlag(i)) { QVariant v = QColor(Qt::red); return v; } QVariant v = QColor(Qt::black); return v; } } } return QVariant(); } QVariant FilterModel::headerData(int section, Qt::Orientation orientation, int role) const { if(role != Qt::DisplayRole) { return QVariant(); } if(orientation == Qt::Horizontal) { return QString("%1").arg(m_columnNames.at(section)); } else { return QString("%1").arg(section); } } Qt::ItemFlags FilterModel::flags(const QModelIndex &index) const { Qt::ItemFlags defaultFlags = QAbstractItemModel::flags(index); if(index.isValid()) { return Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled | defaultFlags | Qt::ItemIsSelectable; } else { return Qt::ItemIsDropEnabled | defaultFlags | Qt::ItemIsSelectable; } } QModelIndex FilterModel::index(int row, int column, const QModelIndex& parent) const { if(parent.isValid()) { return QModelIndex(); } return createIndex(row, column, (void*) 0); } void FilterModel::setFilter(Filter* filter) { beginResetModel(); m_filter = filter; m_gameIndex = -1; m_gameIndex2 = -1; endResetModel(); } Filter* FilterModel::filter() { return m_filter; } ./chessx-1.3.2/src/database/filtermodel.h000644 000765 000024 00000006277 12507561510 017750 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007 Marius Roets * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __FILTERMODEL_H__ #define __FILTERMODEL_H__ #include #include #include class Filter; class Game; /** @ingroup Database The FilterModel class is an interface to Database used with Qt Model/View architecture */ class FilterModel: public QAbstractItemModel { Q_OBJECT public: /** Constructs a FilterModel object using a pointer to a Filter */ FilterModel(Filter* filter, QObject *parent = 0); ~FilterModel(); /** Returns the number of rows in the model */ virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; /** Returns the number of columns in the model */ virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; /** Returns an item of data given the item 'index' */ virtual QVariant data(const QModelIndex &index, int role) const; /** Returns the header information for header 'section' */ virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; /** Return flags for items (especially drag drop hints) */ Qt::ItemFlags flags(const QModelIndex &index) const; /** No tree - always return invalid parent */ virtual QModelIndex parent(const QModelIndex&) const { return QModelIndex(); } /** No tree - always return self */ virtual QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const; /** No children */ virtual bool hasChildren(const QModelIndex& parent = QModelIndex()) const { return !parent.isValid(); } /** Associated filter */ virtual Filter* filter(); /** Changes current database. Resets any views. */ virtual void setFilter(Filter* filter); /** Get the column tags. */ const QStringList GetColumnTags() { return m_columnTags; } /** Get the column names. */ const QStringList GetColumnNames() { return m_columnNames; } private: /** A pointer to filter on which the model opperates */ QPointer m_filter; /** The column names of the model */ QStringList m_columnNames; /** Map of columns and database tags */ QStringList m_columnTags; /** A pointer to a game object, to hold the retrieved information * about the game */ Game* m_game; Game* m_game2; /** Current game index - used for caching */ mutable int m_gameIndex; mutable int m_gameIndex2; mutable Game* m_lastGame; }; #endif // __FilterModelBase_H__ ./chessx-1.3.2/src/database/game.cpp000644 000765 000024 00000140021 12522144662 016672 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 Marius Roets * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include "game.h" #include "tags.h" #include "ecopositions.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER const QRegExp Game::emt("\\[%emt\\s*(\\d:\\d\\d?:\\d\\d)\\]"); const QRegExp Game::clk("\\[%clk\\s*(\\d:\\d\\d?:\\d\\d)\\]"); const QRegExp Game::egt("\\[%egt\\s*(\\d:\\d\\d?:\\d\\d)\\]"); const QRegExp Game::csl("\\[%csl\\s*([^\\]]*)\\]"); const QRegExp Game::cal("\\[%cal\\s*([^\\]]*)\\]"); Game::Game() : QObject() { clearTags(); clear(); } Game::Game(const Game& game) : QObject() { *this = game; } Game& Game::operator=(const Game & game) { if(this != &game) { clearTags(); clear(); //assign non pointer variables m_tags = game.m_tags; m_startingBoard = game.m_startingBoard; m_variationStartAnnotations = game.m_variationStartAnnotations; m_annotations = game.m_annotations; m_currentNode = game.m_currentNode; m_startPly = game.m_startPly; m_currentBoard = game.m_currentBoard; m_moveNodes = game.m_moveNodes; } return *this; } Game::~Game() { } void Game::copyFromGame(const Game& g) { *this = g; emit signalGameModified(true,*this,""); } MoveId Game::dbAddMove(const Move& move, const QString& annotation, NagSet nags) { MoveNode node; MoveId previousNode = m_currentNode; node.nextNode = NO_MOVE; node.previousNode = m_currentNode; node.parentNode = m_moveNodes[m_currentNode].parentNode; node.move = move; node.nags = nags; node.SetPly(ply() + 1); m_moveNodes.append(node); m_currentNode = m_moveNodes.size() - 1; if(!annotation.isEmpty()) { dbSetAnnotation(annotation); } m_moveNodes[previousNode].nextNode = m_currentNode; m_currentBoard.doMove(move); return m_currentNode; } MoveId Game::addMove(const Move& move, const QString& annotation, NagSet nags) { Game state = *this; dbAddMove(move,annotation,nags); indicateAnnotationsOnBoard(m_currentNode); emit signalGameModified(true,state,tr("Add move")); return m_currentNode; } MoveId Game::dbAddMove(const QString& sanMove, const QString& annotation, NagSet nags) { Move move = m_currentBoard.parseMove(sanMove); if(move.isLegal() || move.isNullMove()) { return dbAddMove(move, annotation, nags); } // qDebug() << sanMove << " : " << move.toAlgebraicDebug() << " is illegal in position " << board().toHumanFen() << " / " << board().toFen(); return NO_MOVE; } MoveId Game::addMove(const QString& sanMove, const QString& annotation, NagSet nags) { Move move = m_currentBoard.parseMove(sanMove); if(move.isLegal() || move.isNullMove()) { return addMove(move, annotation, nags); } return NO_MOVE; } MoveId Game::addMoveFrom64Char(const QString &qcharboard) { QStringList l = qcharboard.split(' '); if (l.size() < 30) return NO_MOVE; Char64Relation relation = (Char64Relation) l[C64_GAME_RELATION].toInt(); QString s=l[C64_PP_LAST_MOVE]; s.remove('+'); s.remove('#'); QString t = l[C64_ELAPSED_TIME_LAST_MOVE]; t.remove("("); t.remove(")"); QStringList tl = t.split(':'); QString emt; if (tl.size()>=2) { emt = QString("[%emt 0:%1:%2]").arg(tl[0],-2,'0').arg(tl[1],-2,'0'); } if (relation == C64_REL_PLAY_OPPONENT_MOVE) { if (s=="none") { return NO_MOVE; } else { if (!emt.isEmpty()) { setAnnotation(emt); } return CURRENT_MOVE; } } else { Color thisMoveColor = (l[C64_COLOR_TO_MOVE]=="W") ? Black : White; if (thisMoveColor == board().toMove()) { MoveId moveId = addMove(s,emt); return moveId; } else { return NO_MOVE; } } } bool Game::mergeNode(Game& otherGame) { SaveRestoreMove saveThis(*this); SaveRestoreMove saveOther(otherGame); QString ann; NagSet nags; otherGame.forward(); QString san = otherGame.moveToSan(MoveOnly, PreviousMove, CURRENT_MOVE, &ann, &nags); bool retVal = (NO_MOVE != dbAddMove(san, ann, nags)); return retVal; } bool Game::mergeVariations(Game& otherGame) { QList variationList = otherGame.variations(); bool ok = true; if(variationList.size()) { MoveId otherCurrent = otherGame.currentMove(); for(QList::iterator iter = variationList.begin(); iter != variationList.end(); ++iter) { otherGame.enterVariation(*iter); if(!mergeAsVariation(otherGame)) { ok = false; } otherGame.dbMoveToId(otherCurrent); if(!ok) { break; } } } return ok; } bool Game::mergeAsMainline(Game& otherGame) { SaveRestoreMove saveNode(*this); QString ann; NagSet nags; QString san = otherGame.moveToSan(MoveOnly, PreviousMove, CURRENT_MOVE, &ann, &nags); if(NO_MOVE != dbAddMove(san, ann, nags)) { while(!otherGame.atLineEnd()) { forward(); if(!mergeNode(otherGame)) { return false; } mergeVariations(otherGame); otherGame.forward(); } } else { return false; } return true; } bool Game::mergeAsVariation(Game& otherGame) { SaveRestoreMove saveNode(*this); QString ann; NagSet nags; QString san = otherGame.moveToSan(MoveOnly, PreviousMove, CURRENT_MOVE, &ann, &nags); if(NO_MOVE != dbAddVariation(san, ann, nags)) { while(!otherGame.atLineEnd()) { forward(); if(!mergeNode(otherGame)) { return false; } mergeVariations(otherGame); otherGame.forward(); } } else { return false; } return true; } MoveId Game::findMergePoint(const Game& otherGame) { MoveId prevNode = NO_MOVE; MoveId trailNode = NO_MOVE; MoveId otherMergeNode = NO_MOVE; bool found = false; do { if(NO_MOVE == (otherMergeNode = otherGame.findPosition(board()))) { if(trailNode != NO_MOVE) { found = true; otherMergeNode = trailNode; break; } } else { prevNode = trailNode; trailNode = otherMergeNode; } } while(forward()); if(!found && atLineEnd()) { // Both games are identical up to the end of this game // Need to go one move back in the game to merge otherMergeNode = prevNode; } if(otherMergeNode == NO_MOVE) { if(otherGame.m_moveNodes.size() > 0) { otherMergeNode = 0; } } // otherMergeNode points to the move before the game diverges // If the complete games needs to be merged, it points to node 0 return otherMergeNode; } void Game::dbMergeWithGame(const Game& g) { MoveId saveNode = m_currentNode; Game otherGame = g; otherGame.moveToEnd(); // Set the game information on the last move so that it is merged into this game QString white = otherGame.tag(TagNameWhite); QString black = otherGame.tag(TagNameBlack); QString event = otherGame.eventInfo(); QString shortDescription = QString("%1-%2 %3").arg(white).arg(black).arg(event); otherGame.dbSetAnnotation(shortDescription); MoveId otherMergeNode = findMergePoint(otherGame); if(otherMergeNode != NO_MOVE) { backward(); // merge othergame starting with otherMergeNode into variation starting from m_currentNode otherGame.dbMoveToId(otherMergeNode); otherGame.forward(); if(atLineEnd()) { mergeAsMainline(otherGame); } else { mergeAsVariation(otherGame); } otherGame.dbMoveToId(otherMergeNode); mergeVariations(otherGame); } // undo changes if(saveNode != m_currentNode) { dbMoveToId(saveNode); } compact(); } void Game::mergeWithGame(const Game& g) { Game state = *this; dbMergeWithGame(g); emit signalGameModified(true,state,tr("Merge game")); } QString Game::eventInfo() const { QString result; QString site = tag(TagNameSite).left(30).remove("?"); QString event = tag(TagNameEvent).left(30).remove("?"); if(!site.isEmpty()) { result.append(site); if(tag("Round") != "?") { result.append(QString(" (%1)").arg(tag("Round"))); } if(!event.isEmpty()) { result.append(", "); } } result.append(event); if(!tag("Date").startsWith("?")) { if(result.length() > 4) { result.append(", "); } result.append(tag(TagNameDate).remove(".??")); } return result; } bool Game::currentNodeHasVariation(Square from, Square to) const { if(m_currentNode == NO_MOVE) { return false; } QList vs = m_moveNodes[m_currentNode].variations; QList::iterator i; for(i = vs.begin(); i != vs.end(); ++i) { Move m = move(*i); if(m.from() == from && m.to() == to) { return true; } } return false; } bool Game::currentNodeHasMove(Square from, Square to) const { if(currentNodeHasVariation(from, to)) { return true; } MoveId node = m_moveNodes[m_currentNode].nextNode; if(node == NO_MOVE) { return true; } Move m = m_moveNodes[node].move; return (m.from() == from && m.to() == to); } bool Game::hasNextMove() const { MoveId node = m_moveNodes[m_currentNode].nextNode; return (node != NO_MOVE); } bool Game::findNextMove(Move m) { return findNextMove(m.from(),m.to(),m.isPromotion() ? pieceType(m.promotedPiece()) : None); } // does the next main move or one of the variations go from square from to square to // if so make it on the board bool Game::findNextMove(Square from, Square to, PieceType promotionPiece) { MoveId node; node = m_moveNodes[m_currentNode].nextNode; if(node != NO_MOVE) { Move m = m_moveNodes[node].move ; if(m.from() == from && m.to() == to && ((promotionPiece == None) || ((m.isPromotion() && (pieceType(m.promotedPiece()) == promotionPiece))))) { forward(); return true; } else { QList vs = m_moveNodes[m_currentNode].variations; QList::iterator i; for(i = vs.begin(); i != vs.end(); ++i) { Move m = move(*i); if(m.from() == from && m.to() == to && ((promotionPiece == None) || ((m.isPromotion() && (pieceType(m.promotedPiece()) == promotionPiece))))) { dbMoveToId(*i); return true; } } } } return false; } bool Game::replaceMove(const Move& move, const QString& annotation, NagSet nags, bool bReplace) { MoveId node; Game state = *this; node = m_moveNodes[m_currentNode].nextNode; if(node == NO_MOVE) { dbAddMove(move, annotation, nags); emit signalGameModified(true,state,tr("Add move")); return true; } //replace node data with new move m_moveNodes[node].move = move; m_moveNodes[node].nags = nags; dbSetAnnotation(annotation, node); //remove any following nodes after replaced move by disconnecting them from the tree forward(); if(bReplace) { truncateVariation(); } else { truncateVariationAfterNextIllegalPosition(); compact(); } backward(); emit signalGameModified(true,state,tr("Replace move")); return true; } bool Game::replaceMove(const QString& sanMove) { return replaceMove(m_currentBoard.parseMove(sanMove), QString(), NagSet(), true); } bool Game::insertMove(Move m) { return replaceMove(m, annotation(), nags(), false); } MoveId Game::addVariation(const Move& move, const QString& annotation, NagSet nags) { Game state = *this; MoveId retVal = dbAddVariation(move, annotation, nags); if (retVal != NO_MOVE) { emit signalGameModified(true, state, tr("Add Variation")); } return retVal; } MoveId Game::addVariation(const MoveList& moveList, const QString& annotation) { Game state = *this; MoveId retVal = dbAddVariation(moveList, annotation); if (retVal != NO_MOVE) { emit signalGameModified(true, state, tr("Add Variation")); } return retVal; } MoveId Game::addVariation(const QString& sanMove, const QString& annotation, NagSet nags) { Game state = *this; MoveId retVal = dbAddVariation(sanMove, annotation, nags); if (retVal != NO_MOVE) { emit signalGameModified(true, state, tr("Add Variation")); } return retVal; } MoveId Game::dbAddVariation(const Move& move, const QString& annotation, NagSet nags) { MoveId previousNode = m_currentNode; MoveId saveNextNode = m_moveNodes[m_currentNode].nextNode; MoveId node = dbAddMove(move, annotation, nags); m_moveNodes[m_currentNode].parentNode = previousNode; m_moveNodes[previousNode].variations.append(node); m_moveNodes[previousNode].nextNode = saveNextNode; return (m_moveNodes.size() - 1); } MoveId Game::dbAddVariation(const MoveList& moveList, const QString& annotation) { if(moveList.isEmpty()) { return NO_MOVE; } MoveId currentPosition = currentMove(); MoveId varStart; int start = 1; if(!atLineEnd()) { varStart = dbAddVariation(moveList.first()); } else if(!atGameStart()) { Move oldMove = move(); backward(); varStart = dbAddVariation(oldMove); start = 0; } else { varStart = dbAddMove(moveList.first()); } dbMoveToId(varStart); for(int i = start; i < moveList.count(); ++i) { dbAddMove(moveList[i]); forward(); } if(!annotation.isEmpty()) { dbSetAnnotation(annotation); } dbMoveToId(currentPosition); return varStart; } MoveId Game::dbAddVariation(const QString& sanMove, const QString& annotation, NagSet nags) { MoveId previousNode = m_currentNode; MoveId saveNextNode = m_moveNodes[m_currentNode].nextNode; MoveId node = dbAddMove(sanMove, annotation, nags); if(node == NO_MOVE) { return node; } m_moveNodes[m_currentNode].parentNode = previousNode; m_moveNodes[previousNode].variations.append(node); m_moveNodes[previousNode].nextNode = saveNextNode; return (m_moveNodes.size() - 1); } void Game::dbPromoteVariation(MoveId variation) { SaveRestoreMove saveNode(*this); // Find first move of the variation while(!atLineStart(variation)) { variation = m_moveNodes[variation].previousNode; } MoveId parent = m_moveNodes[variation].parentNode; // Link old main line to parent reparentVariation(m_moveNodes[parent].nextNode, parent); // Link new main line to parent's parent reparentVariation(variation, m_moveNodes[parent].parentNode); // Swap main line and the variation int index = m_moveNodes[parent].variations.indexOf(variation); qSwap(m_moveNodes[parent].nextNode, m_moveNodes[parent].variations[index]); } bool Game::promoteVariation(MoveId variation) { if(isMainline(variation)) { return false; } Game state = *this; dbPromoteVariation(variation); emit signalGameModified(true, state, tr("Promote Variation")); return true; } bool Game::removeVariation(MoveId variation) { // don't remove whole game if(!variation) { return false; } Game state = *this; MoveId parentNode = m_moveNodes[variation].parentNode; removeNode(variation); dbMoveToId(parentNode); QList &vars = m_moveNodes[m_currentNode].variations; vars.removeAt(vars.indexOf(variation)); compact(); emit signalGameModified(true, state, tr("Remove variation")); return true; } void Game::truncateVariationAfterNextIllegalPosition() { SaveRestoreMove saveNode(*this); QList variationList = variations(); for(QList::iterator iter = variationList.begin(); iter != variationList.end(); ++iter) { SaveRestoreMove saveNodeLoop(*this); enterVariation(*iter); truncateVariationAfterNextIllegalPosition(); } QString san = moveToSan(); Game g = *this; if(NO_MOVE == g.dbAddMove(san)) { MoveId node = m_moveNodes[m_currentNode].nextNode; removeNode(node); } else { if(forward()) { truncateVariationAfterNextIllegalPosition(); } } } void Game::dbTruncateVariation(Position position) { if(position == AfterMove) { MoveId node = m_moveNodes[m_currentNode].nextNode; if (isMainline(node)) { foreach(MoveId var, m_moveNodes[m_currentNode].variations) { removeNode(var); } } removeNode(node); } else if(position == BeforeMove && m_currentNode != 0) { if(atLineStart()) { backward(); forward(); } SaveRestoreMove saveNode(*this); MoveNode firstNode; firstNode.nextNode = m_currentNode; firstNode.SetPly(m_moveNodes[m_currentNode].Ply() - 1); // Keep variation if truncating main line if(m_moveNodes[m_moveNodes[m_currentNode].previousNode].nextNode == m_currentNode) { firstNode.variations = m_moveNodes[m_moveNodes[m_currentNode].previousNode].variations; foreach(MoveId var, firstNode.variations) { reparentVariation(var, 0); m_moveNodes[var].previousNode = 0; } } m_moveNodes[0] = firstNode; m_moveNodes[m_currentNode].previousNode = 0; backward(); m_startingBoard = m_currentBoard; if(m_startingBoard != Board::standardStartBoard) { m_tags[TagNameFEN] = m_startingBoard.toFen(); m_tags[TagNameSetUp] = "1"; } } compact(); } void Game::truncateVariation(Position position) { Game state = *this; dbTruncateVariation(position); emit signalGameModified(true, state, tr("Truncate variation")); } const Board& Game::board() const { return m_currentBoard; } Board Game::startingBoard() const { return m_startingBoard; } QString Game::toFen() const { return m_currentBoard.toFen(); } QString Game::toHumanFen() const { return m_currentBoard.toHumanFen(); } QString Game::gameComment() const { return m_annotations.value(0, ""); } void Game::setGameComment(const QString& gameComment) { setAnnotation(gameComment, 0); } void Game::removeVariations() { Game state = *this; for(int i = 0; i < m_moveNodes.size(); ++i) { while (!m_moveNodes[i].variations.empty()) { removeVariation(m_moveNodes[i].variations.at(0)); } } compact(); emit signalGameModified(true, state, tr("Remove variations")); } void Game::removeComments() { Game state = *this; m_variationStartAnnotations.clear(); m_annotations.clear(); for(int i = 0; i < m_moveNodes.size(); ++i) { m_moveNodes[i].nags.clear(); } compact(); emit signalGameModified(true, state, tr("Remove comments")); } bool Game::isMainline(MoveId moveId) const { if(moveId == 0) { return true; } MoveId node = nodeValid(moveId); if(node == NO_MOVE) { return false; } else { return m_moveNodes[node].parentNode == NO_MOVE; } } Result Game::result() const { if(m_tags[TagNameResult] == "1-0") { return WhiteWin; } else if(m_tags[TagNameResult] == "1/2-1/2") { return Draw; } else if(m_tags[TagNameResult] == "0-1") { return BlackWin; } else { return ResultUnknown; } } int Game::resultAsInt() const { if(m_tags[TagNameResult] == "1-0") { return +1; } else if(m_tags[TagNameResult] == "1/2-1/2") { return 0; } else if(m_tags[TagNameResult] == "0-1") { return -1; } else { return 0; } } int Game::numberOfSiblings(MoveId moveId) const { MoveId node = nodeValid(moveId); if(node == NO_MOVE) { return 0; } MoveId parentNode = m_moveNodes[node].parentNode; if(parentNode == NO_MOVE) { return 0; } return m_moveNodes[parentNode].variations.size(); } bool Game::atLineStart(MoveId moveId) const { MoveId node = nodeValid(moveId); if(node == NO_MOVE) { return false; } return (m_moveNodes[node].previousNode == m_moveNodes[node].parentNode) || m_moveNodes[node].previousNode == 0; } bool Game::atGameStart(MoveId moveId) const { return (nodeValid(moveId) == 0); } bool Game::atGameEnd(MoveId moveId) const { return (atLineEnd(moveId) && isMainline(moveId)); } bool Game::atLineEnd(MoveId moveId) const { MoveId node = nodeValid(moveId); if(node != NO_MOVE) { if(m_moveNodes[node].nextNode == NO_MOVE) { return true; } } return false; } bool Game::setAnnotation(QString annotation, MoveId moveId, Position position) { Game state = *this; if (dbSetAnnotation(annotation, moveId, position)) { indicateAnnotationsOnBoard(currentMove()); emit signalGameModified(true, state, tr("Set annotation")); return true; } return false; } bool Game::dbSetAnnotation(QString annotation, MoveId moveId, Position position) { MoveId node = nodeValid(moveId); if(node == NO_MOVE) { return false; } int moves; int comments; int nags; moveCount(&moves, &comments, &nags); if(position == AfterMove) { if(annotation.isEmpty()) { m_annotations.remove(node); } else { m_annotations[node] = annotation; } } else if(canHaveStartAnnotation(node)) // Pre-move comment { if (node == 0) { setGameComment(annotation); } else { if(annotation.isEmpty() && (node > 1)) // Do not remove empty comment { m_variationStartAnnotations.remove(node); } else { m_variationStartAnnotations[node] = annotation; } } } return true; } bool Game::setSquareAnnotation(QString squareAnnotation, MoveId moveId) { MoveId node = nodeValid(moveId); if(node == NO_MOVE) { return false; } QString s = annotation(moveId); s.remove(csl); if(!squareAnnotation.isEmpty()) { s.append(QString("[%csl %1]").arg(squareAnnotation)); } dbSetAnnotation(s, moveId); return true; } bool Game::appendSquareAnnotation(Square s, QChar colorCode) { Game state = *this; QString newAnnot; QString annot = squareAnnotation(); QString oldAnnot = annot; QString sq = strSquareNames[s]; if(annot.isEmpty()) { if(colorCode != QChar(0)) { newAnnot = QString("%1%2").arg(colorCode).arg(sq); } } else { annot.replace(QRegExp(QString(",.") + sq), ""); // if not first annotation remove annotation with preceding comma annot.replace(QRegExp(QString(".") + sq + ","), ""); // if first annotation remove annotation with trailing comma annot.replace(QRegExp(QString(".") + sq), ""); // if only annotation remove annotation if(colorCode != QChar(0)) { if(annot.isEmpty()) { newAnnot = QString("%1%2").arg(colorCode).arg(sq); // If only annotation don't add comma } else { newAnnot = QString("%1,%2%3").arg(annot).arg(colorCode).arg(sq); // if not only annotation add comma } } else { if(!annot.isEmpty()) { newAnnot = annot; } } newAnnot.replace(" ,", " "); newAnnot.replace(",,", ","); if(newAnnot.endsWith("'")) { newAnnot.truncate(newAnnot.length() - 1); } } setSquareAnnotation(newAnnot.trimmed()); indicateAnnotationsOnBoard(currentMove()); emit signalGameModified(true, state, tr("Colorize square")); return true; } bool Game::appendArrowAnnotation(Square dest, Square src, QChar colorCode) { if((src == InvalidSquare) || (dest == InvalidSquare)) { return false; } Game state = *this; QString newAnnot; QString annot = arrowAnnotation(); QString sqSrc = strSquareNames[src]; QString sqDest = strSquareNames[dest]; if(annot.isEmpty()) { if(colorCode != QChar(0)) { newAnnot = QString("%1%2%3").arg(colorCode).arg(sqSrc).arg(sqDest); } } else { annot.replace(QRegExp(QString(",.") + sqSrc + sqDest), ""); // if not first annotation remove annotation with preceding comma annot.replace(QRegExp(QString(".") + sqSrc + sqDest + ","), ""); // if first annotation remove annotation with trailing comma annot.replace(QRegExp(QString(".") + sqSrc + sqDest), ""); // if only annotation remove annotation if(colorCode != QChar(0)) { newAnnot = QString("%1,%2%3%4").arg(annot).arg(colorCode).arg(sqSrc).arg(sqDest); } else { if(!annot.isEmpty()) { newAnnot = annot; } } newAnnot.replace(" ,", " "); newAnnot.replace(",,", ","); if(newAnnot.endsWith("'")) { newAnnot.truncate(newAnnot.length() - 1); } } setArrowAnnotation(newAnnot); indicateAnnotationsOnBoard(currentMove()); emit signalGameModified(true, state, tr("Paint arrow")); return true; } QString Game::squareAnnotation(MoveId moveId) const { QString s = specAnnotation(csl, moveId); return s; } bool Game::setArrowAnnotation(QString arrowAnnotation, MoveId moveId) { MoveId node = nodeValid(moveId); if(node == NO_MOVE) { return false; } QString s = annotation(moveId); s.remove(cal); if(!arrowAnnotation.isEmpty()) { s.append(QString("[%cal %1]").arg(arrowAnnotation)); } dbSetAnnotation(s, moveId); return true; } QString Game::arrowAnnotation(MoveId moveId) const { QString s = specAnnotation(cal, moveId); return s; } QString Game::specAnnotation(const QRegExp& r, MoveId moveId) const { MoveId node = nodeValid(moveId); if(node == NO_MOVE) { return ""; } QString annotation = m_annotations[node]; if(annotation.isNull()) { return ""; } int pos = r.indexIn(annotation); if(pos >= 0) { return r.cap(1); } return ""; } QString Game::timeAnnotation(MoveId moveId) const { QString s = specAnnotation(clk, moveId); if(s.isEmpty()) { s = specAnnotation(egt, moveId); } if (s.isEmpty()) { s = specAnnotation(emt, moveId); } return s; } QString Game::annotation(MoveId moveId, Position position) const { MoveId node = nodeValid(moveId); if ((position == AfterMove) || (node == 0)) { return m_annotations.value(node, ""); } else { return m_variationStartAnnotations.value(node, ""); } } QString Game::textAnnotation(MoveId moveId, Position position) const { QString s; MoveId node = nodeValid(moveId); if ((position == AfterMove) || (node == 0)) { s = m_annotations.value(node, ""); } else { s = m_variationStartAnnotations.value(node, ""); } s.remove(emt); s.remove(egt); s.remove(clk); s.remove(csl); s.remove(cal); return s; } bool Game::canHaveStartAnnotation(MoveId moveId) const { MoveId node = nodeValid(moveId); return atLineStart(moveId) || atGameStart(m_moveNodes[node].previousNode); } bool Game::addNag(Nag nag, MoveId moveId) { MoveId node = nodeValid(moveId); if ((node != NO_MOVE) && (nag != NullNag)) { Game state = *this; m_moveNodes[node].nags.addNag(nag); emit signalGameModified(true, state, tr("Add nag")); return true; } return false; } bool Game::setNags(NagSet nags, MoveId moveId) { MoveId node = nodeValid(moveId); if(node != NO_MOVE) { Game state = *this; m_moveNodes[node].nags = nags; emit signalGameModified(true, state, tr("Set nags")); return true; } return false; } bool Game::clearNags(MoveId moveId) { return setNags(NagSet(), moveId); } NagSet Game::nags(MoveId moveId) const { MoveId node = nodeValid(moveId); if(node != NO_MOVE) { return m_moveNodes[node].nags; } return NagSet(); } MoveId Game::nodeValid(MoveId moveId) const { if(moveId == CURRENT_MOVE) { moveId = m_currentNode; } if((moveId >= 0) && (moveId < m_moveNodes.size())) { if(m_moveNodes[moveId].Removed()) { return NO_MOVE; } return moveId; } return NO_MOVE; } void Game::moveCount(int* moves, int* comments, int* nags) const { *moves = *comments = 0; if (nags) *nags = 0; MoveId node = 1; while((node = nodeValid(node)) != NO_MOVE) { *moves += 1; if (nags) { if(m_moveNodes[node].nags.count() != 0) { *nags += 1; } } node = m_moveNodes[node].nextNode; } // Count comments for(int i = 0; i < m_annotations.size(); ++i) { *comments += 1; } for(int i = 0; i < m_variationStartAnnotations.size(); ++i) { *comments += 1; } } bool Game::isEmpty() const { int moves; int comments; moveCount(&moves, &comments); bool gameIsEmpty = ((moves+comments) == 0); return gameIsEmpty; } int Game::ply(MoveId moveId) const { MoveId node = nodeValid(moveId); if(node != NO_MOVE) { return m_moveNodes[node].Ply(); } return 0; } int Game::moveNumber(MoveId moveId) const { MoveId node = nodeValid(moveId); if(node != NO_MOVE) { if(int plyNum = ply(node)) { return (m_startPly + plyNum - 1) / 2 + 1; } return 0; } return -1; } int Game::plyCount() const { int count = 0; MoveId node = 0; while(node != NO_MOVE) { ++count; node = m_moveNodes[node].nextNode; } // Counted one too much, because we have to start at zero // (an empty game has no node 1) return count - 1; } bool Game::canMoveVariationUp(MoveId moveId) const { if(isMainline()) { return false; } MoveId variation = variationNumber(moveId); MoveId parentNode = m_moveNodes[moveId].parentNode; const QList & v = m_moveNodes[parentNode].variations; int i = v.indexOf(variation); return (i > 0); } void Game::moveVariationUp(MoveId moveId) { if(isMainline()) { return; } MoveId variation = variationNumber(moveId); MoveId parentNode = m_moveNodes[moveId].parentNode; QList & v = m_moveNodes[parentNode].variations; int i = v.indexOf(variation); if(i > 0) { Game state = *this; v.swap(i, i - 1); emit signalGameModified(true, state, tr("Move variation")); } } bool Game::canMoveVariationDown(MoveId moveId) const { if(isMainline()) { return false; } MoveId variation = variationNumber(moveId); MoveId parentNode = m_moveNodes[moveId].parentNode; const QList & v = m_moveNodes[parentNode].variations; int i = v.indexOf(variation); return (i >= 0 && (i + 1) < v.count()); } void Game::moveVariationDown(MoveId moveId) { if(isMainline()) { return; } MoveId variation = variationNumber(moveId); MoveId parentNode = m_moveNodes[moveId].parentNode; QList & v = m_moveNodes[parentNode].variations; int i = v.indexOf(variation); if(i >= 0 && (i + 1) < v.count()) { Game state = *this; v.swap(i, i + 1); emit signalGameModified(true, state, tr("Move variation")); } } void Game::enumerateVariations(MoveId moveId, char a) { if(isMainline()) { return; } MoveId node = nodeValid(moveId); if(node != NO_MOVE) { Game state = *this; MoveId parentNode = m_moveNodes[node].parentNode; QList & v = m_moveNodes[parentNode].variations; if (v.size()) { for(int i = 0; i < v.size(); ++i) { QString oldAnnotation = annotation(v[i], Game::BeforeMove); oldAnnotation.remove(QRegExp("^.\\)")); QString s = QString("%1) %2").arg(QChar(a + i)).arg(oldAnnotation).trimmed(); dbSetAnnotation(s, v[i], Game::BeforeMove); } emit signalGameModified(true, state, tr("Enumerate variations")); } } } MoveId Game::variationNumber(MoveId moveId) const { if(isMainline()) { return 0; } MoveId node = nodeValid(moveId); if(node != NO_MOVE) { MoveId parentNode = m_moveNodes[node].parentNode; while(m_moveNodes[node].previousNode != parentNode) { node = m_moveNodes[node].previousNode; } } return node; } MoveId Game::mainLineMove() const { MoveId node = nodeValid(m_currentNode); if(node != NO_MOVE) { bool dive = false; while(m_moveNodes[node].parentNode != NO_MOVE) { dive = true; node = m_moveNodes[node].parentNode; } if(dive) { node = m_moveNodes[node].nextNode; } } return node; } MoveId Game::previousMove() const { return m_moveNodes[m_currentNode].previousNode; } MoveId Game::nextMove() const { return m_moveNodes[m_currentNode].nextNode; } MoveId Game::parentMove() const { return m_moveNodes[m_currentNode].parentNode; } MoveId Game::currentMove() const { return m_currentNode; } MoveId Game::lastMove() const { MoveId moveId = 0; while((m_moveNodes[moveId].nextNode != NO_MOVE)) { moveId = m_moveNodes[moveId].nextNode; } return moveId; } const QList& Game::variations() const { return m_moveNodes[m_currentNode].variations; } int Game::variationCount(MoveId moveId) const { MoveId node = nodeValid(moveId); if(node != NO_MOVE) { return m_moveNodes[node].variations.size(); } return 0; } bool Game::variationHasSiblings(MoveId variation) const { if(isMainline(variation)) { return false; } while(!atLineStart(variation)) { variation = m_moveNodes[variation].previousNode; } MoveId parent = m_moveNodes[m_currentNode].parentNode; return (variationCount(parent) > 1); } void Game::indicateAnnotationsOnBoard(MoveId moveId) { QString annotation = squareAnnotation(moveId); m_currentBoard.setSquareAnnotation(annotation); annotation = arrowAnnotation(moveId); m_currentBoard.setArrowAnnotation(annotation); emit signalMoveChanged(); } void Game::moveToStart() { m_currentNode = 0; m_currentBoard = m_startingBoard; indicateAnnotationsOnBoard(m_currentNode); } int Game::moveByPly(int diff) { if(diff > 0) { return forward(diff); } else { return backward(-diff); } } bool Game::dbMoveToId(MoveId moveId) { moveId = nodeValid(moveId); if(moveId == NO_MOVE) { return false; } if (m_currentNode != moveId) { //jump to node, travelling back to start adding the moves to the stack MoveId node = moveId; QStack < Move > moveStack; while(node) { moveStack.push(m_moveNodes[node].move); node = m_moveNodes[node].previousNode; } //reset the board, then make the moves on the stack to create the correct position m_currentNode = moveId; m_currentBoard = m_startingBoard; while(!moveStack.isEmpty()) { m_currentBoard.doMove(moveStack.pop()); } } return true; } void Game::moveToId(MoveId moveId) { if (dbMoveToId(moveId)) { indicateAnnotationsOnBoard(moveId); } } Move Game::move(MoveId moveId) const { MoveId node = nodeValid(moveId); if(node != NO_MOVE) { return m_moveNodes[node].move; } return Move(); } void Game::moveToEnd() { // Move out of variations to mainline while(m_moveNodes[m_currentNode].parentNode != NO_MOVE) { dbMoveToId(m_moveNodes[m_currentNode].parentNode); } // Now move forward to the end of the game if (!forward(999)) { indicateAnnotationsOnBoard(m_currentNode); } } int Game::forward(int count) { int moved = 0; while((m_moveNodes[m_currentNode].nextNode != NO_MOVE) && (moved < count)) { m_currentNode = m_moveNodes[m_currentNode].nextNode; ++moved; m_currentBoard.doMove(m_moveNodes[m_currentNode].move); } if(moved) { indicateAnnotationsOnBoard(m_currentNode); } return moved; } int Game::backward(int count) { int moved = 0; while((m_moveNodes[m_currentNode].previousNode >= 0) && (moved < count)) { m_currentBoard.undoMove(m_moveNodes[m_currentNode].move); m_currentNode = m_moveNodes[m_currentNode].previousNode; ++moved; } if(moved) { indicateAnnotationsOnBoard(m_currentNode); } return moved; } void Game::enterVariation(const MoveId& moveId) { Q_ASSERT(variations().contains(moveId)); m_currentBoard.doMove(m_moveNodes[moveId].move); m_currentNode = moveId; indicateAnnotationsOnBoard(m_currentNode); } void Game::removeNode(MoveId moveId) { MoveId node = nodeValid(moveId); if(node > ROOT_NODE) { m_variationStartAnnotations.remove(node); m_annotations.remove(node); if(variationCount(node)) { for(int i = 0; i < m_moveNodes[node].variations.size(); ++i) { removeNode(m_moveNodes[node].variations[i]); } } removeNode(m_moveNodes[node].nextNode); MoveId prevNode = m_moveNodes[node].previousNode; if(!m_moveNodes[prevNode].variations.contains(node)) { m_moveNodes[prevNode].nextNode = NO_MOVE; } m_moveNodes[node].remove(); } } void Game::clear() { m_moveNodes.clear(); m_variationStartAnnotations.clear(); m_annotations.clear(); m_startPly = 0; m_currentNode = 0; m_startingBoard.setStandardPosition(); m_currentBoard = m_startingBoard; m_moveNodes.append(MoveNode()); } void Game::clearTags() { m_tags.clear(); } QString Game::tag(const QString& tag) const { return m_tags[tag]; } bool Game::hasTag(const QString& tag) const { return m_tags.contains(tag); } const TagMap& Game::tags() const { return m_tags; } void Game::setTag(const QString& tag, const QString& value) { m_tags[tag] = value; } void Game::removeTag(const QString& tag) { m_tags.remove(tag); } void Game::setStartingBoard(const Board& startingBoard, QString text) { Game state = *this; dbSetStartingBoard(startingBoard.toFen()); emit signalGameModified(true, state, text); } void Game::dbSetStartingBoard(const Board& startingBoard) { dbSetStartingBoard(startingBoard.toFen()); } void Game::dbSetStartingBoard(const QString& fen) { clear(); m_startingBoard.fromFen(fen); if(m_startingBoard != Board::standardStartBoard) { m_tags[TagNameFEN] = fen; m_tags[TagNameSetUp] = "1"; } m_currentBoard = m_startingBoard; m_startPly = (m_startingBoard.moveNumber() - 1) * 2 + (m_startingBoard.toMove() == Black); } void Game::setResult(Result result) { Game state = *this; m_tags[TagNameResult] = resultString(result); emit signalGameModified(true, state, tr("Set result")); } QString Game::moveToSan(MoveStringFlags flags, NextPreviousMove nextPrevious, MoveId moveId, QString* annots, NagSet* nagSet) { MoveId node = nodeValid(moveId); if(node != NO_MOVE && nextPrevious == NextMove) { node = m_moveNodes[node].nextNode; } if(node == NO_MOVE) { return QString(); } MoveNode move; move = m_moveNodes[node]; if(!(move.move.isLegal() || move.move.isNullMove())) { return QString(); } // Save current node MoveId saveNode = NO_MOVE; MoveId boardNode = m_moveNodes[node].previousNode; if(boardNode != m_currentNode) { saveNode = m_currentNode; dbMoveToId(boardNode); } // Move number QString san; if(m_currentBoard.toMove() == Black && flags & BlackNumbers) { san += QString::number(moveNumber(node)) + "... "; } else if(m_currentBoard.toMove() == White && flags & WhiteNumbers) { san += QString::number(moveNumber(node)) + ". "; } // Move and SAN san += m_currentBoard.moveToSan(move.move, flags & TranslatePiece); if(flags & Nags) { san += nags(node).toString(NagSet::Simple); } if(nagSet) { *nagSet = nags(node); } if(annots) { *annots = annotation(node); } // Restore previous position if(saveNode != NO_MOVE) { dbMoveToId(saveNode); } return san; } void Game::dumpMoveNode(MoveId moveId) const { if(moveId == CURRENT_MOVE) { moveId = m_currentNode; } if(moveId != NO_MOVE) { qDebug() << "Move Id : " << moveId; qDebug() << " Next node : " << m_moveNodes.at(moveId).nextNode; qDebug() << " Prev node : " << m_moveNodes.at(moveId).previousNode; qDebug() << " Parent node : " << m_moveNodes.at(moveId).parentNode; qDebug() << " Nags : " << m_moveNodes.at(moveId).nags.toString(NagSet::Simple); qDebug() << " Deleted : " << m_moveNodes.at(moveId).Removed(); qDebug() << " # Variations: " << m_moveNodes.at(moveId).variations.size(); qDebug() << " Variations : " << m_moveNodes.at(moveId).variations; qDebug() << " Move : " << m_moveNodes.at(moveId).move.toAlgebraic() << " (" << m_moveNodes.at(moveId).move.rawMove() << ", " << m_moveNodes.at(moveId).move.rawUndo() << ")"; } } void Game::dumpAnnotations(MoveId moveId) const { if(moveId == CURRENT_MOVE) { moveId = m_currentNode; } if(moveId != NO_MOVE) { qDebug() << " Annotations"; qDebug() << " Text : " << m_annotations.value(moveId); qDebug() << " Start : " << m_variationStartAnnotations.value(moveId); } } void Game::dumpAllMoveNodes() const { qDebug() << endl; qDebug() << "Current Node: " << m_currentNode; for(int i = 0; i < m_moveNodes.size(); ++i) { dumpMoveNode(i); dumpAnnotations(i); } int moves, comments, nags; moveCount(&moves, &comments, &nags); qDebug() << "Moves: " << moves << " Comments: " << comments << " Nags: " << nags << endl; qDebug() << "----------------------------------" << endl; } MoveId Game::findPosition(const Board& position) const { MoveId current = 0; Board currentBoard(m_startingBoard); for(;;) { if(currentBoard == position && currentBoard.positionIsSame(position)) { return current; } current = m_moveNodes[current].nextNode; if(current == NO_MOVE || !position.canBeReachedFrom(currentBoard)) { return NO_MOVE; } currentBoard.doMove(m_moveNodes[current].move); } return NO_MOVE; } void Game::compact() { int oldSize = m_moveNodes.size(); QList moveNodes; QMap oldIdNewIdMapping; QList removedNodes; for(MoveId i = 0; i < oldSize; ++i) { if(!m_moveNodes[i].Removed()) { oldIdNewIdMapping[i] = moveNodes.size(); moveNodes.append(m_moveNodes[i]); } else { removedNodes.push_back(i); } } foreach(MoveId m, removedNodes) { m_variationStartAnnotations.remove(m); m_annotations.remove(m); } AnnotationMap variationStartAnnotations; AnnotationMap annotations; foreach(MoveId key, oldIdNewIdMapping.keys()) { MoveId n = oldIdNewIdMapping.value(key); #define GAME_UPDATE_ANNOT(t,x) \ if (x.contains(key)) \ {\ QString s = x.value(key);\ t[n] = s;\ } GAME_UPDATE_ANNOT(variationStartAnnotations, m_variationStartAnnotations); GAME_UPDATE_ANNOT(annotations, m_annotations); } // update nodes links to other nodes in shrinked list (prev, next, variations) for(MoveId i = 0, newSize = moveNodes.size(); i < newSize; ++i) { MoveNode& node = moveNodes[i]; #define GAME_UPDATE_MOVEID(aMoveId) if (aMoveId != NO_MOVE) aMoveId = oldIdNewIdMapping[aMoveId] GAME_UPDATE_MOVEID(node.nextNode); GAME_UPDATE_MOVEID(node.previousNode); GAME_UPDATE_MOVEID(node.parentNode); QList& vars = node.variations; for(int j = 0; j < vars.size(); ++j) { GAME_UPDATE_MOVEID(vars[j]); } vars.removeAll(NO_MOVE); vars.removeAll(0); #undef GAME_UPDATE_MOVEID } m_variationStartAnnotations.clear(); m_annotations.clear(); m_variationStartAnnotations = variationStartAnnotations; m_annotations = annotations; m_moveNodes.clear(); m_moveNodes = moveNodes; m_currentNode = oldIdNewIdMapping[m_currentNode]; } QString Game::ecoClassify() const { //move to end of main line Game g = *this; g.moveToEnd(); //search backwards for the first eco position while(g.backward()) { QString eco; if (EcoPositions::isEcoPosition(g.board(),eco)) { return eco; } } return QString(); } bool Game::isEcoPosition() const { QString dummy; return (EcoPositions::isEcoPosition(board(),dummy)); } void Game::scoreMaterial(QList& scores) const { Game g = *this; g.moveToStart(); scores.clear(); int score = g.board().ScoreMaterial(); scores.append(score); while(g.forward()) { int score = g.board().ScoreMaterial(); scores.append(score); } } void Game::reparentVariation(MoveId variation, MoveId parent) { if(variation != NO_MOVE) { for(MoveId node = variation; node != NO_MOVE; node = m_moveNodes[node].nextNode) { m_moveNodes[node].parentNode = parent; } } } int Game::compareTags(const Game& game) const { if (m_tags.count() < game.m_tags.count()) { return -1; } if (m_tags.count() > game.m_tags.count()) { return +1; } return (m_tags == game.m_tags); } int Game::compareMoves(const Game& /*game*/) const { // todo return 0; } int Game::compare(const Game& game) const { int retVal = compareTags(game); if (retVal == 0) { retVal = compareMoves(game); } return retVal; } ./chessx-1.3.2/src/database/game.h000644 000765 000024 00000047063 12522144662 016353 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 Marius Roets * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __GAME_H__ #define __GAME_H__ #include #include "board.h" #include "movelist.h" #include "nag.h" #include "result.h" #define ROOT_NODE 0 #define NO_MOVE -1 #define CURRENT_MOVE -2 #define CURRENT_VARIATION -3 typedef short MoveId; class SaveRestoreMove; class SaveRestoreMoveCompact; /** @ingroup Core The Game class represents a chess game. This is a complete rewrite, with simpler API. Moves and variations can be added and removed. Moves can have associated comments and nag values. Each variation can have a comment before the variation. The game can also have a pre-comment. Each node has a unique id that identifies it. Each variation is identified by the first node of the variation. Representation of a game tree 0 1 2 3 4 5 6 *---*---*---*---*---*---* \ \ 7 8 9 10 11 *---*---*---*---* 0 is the parent node of the game. It does not represent a move 1 represents the first move in the mainline. 2 is the parent node of the first variation 7 is the variation number. */ typedef QHash TagMap; typedef QHashIterator TagMapIterator; typedef quint32 GameId; class Game : public QObject { Q_OBJECT public : /** Flags indicating how a move string should be constructed These flags may be or-ed together to specify what should be included in a move string. */ enum MoveStringFlags { MoveOnly = 0, /**< Only the algebraic notation should be included */ WhiteNumbers = 1, /**< White moves should be preceded by a move number */ BlackNumbers = 2, /**< Black moves should be preceded by a move number */ Nags = 4, /**< Nags/symbolic annotation should be included */ FullDetail = 7, /**< Specifies all move numbers and nags should be included */ TranslatePiece = 8 /**< Translate using the user-defined translation */ }; enum Position { BeforeMove, AfterMove }; enum NextPreviousMove { NextMove, PreviousMove }; static const QRegExp egt; static const QRegExp clk; static const QRegExp emt; static const QRegExp csl; static const QRegExp cal; Game(); Game(const Game& game); Game& operator=(const Game& game); virtual ~Game(); // **** Querying game information **** /** compare tags */ int compareTags(const Game& game) const; /** compare moves */ int compareMoves(const Game& game) const; /** compare games */ int compare(const Game& game) const; /** @return current position */ const Board& board() const; /** @return current position in FEN */ QString toFen() const; /** @return current position in human readable FEN */ QString toHumanFen() const; /** @return start position of game */ Board startingBoard() const; /** @return game result */ Result result() const; /** @return the move at node @p moveId. */ Move move(MoveId moveId = CURRENT_MOVE) const; /** @return current move id. */ MoveId currentMove() const; /** @return comment at move at node @p moveId including visual hits for diagrams. */ QString annotation(MoveId moveId = CURRENT_MOVE, Position position = AfterMove) const; /** @return comment at move at node @p moveId. */ QString textAnnotation(MoveId moveId = CURRENT_MOVE, Position position = AfterMove) const; /** Show annotations on the board for the Nose @p moveId. */ void indicateAnnotationsOnBoard(MoveId moveId); /** @return squareAnnotation at move at node @p moveId. */ QString squareAnnotation(MoveId moveId = CURRENT_MOVE) const; /** @return arrowAnnotation at move at node @p moveId. */ QString arrowAnnotation(MoveId moveId = CURRENT_MOVE) const; /** @return annotation at move at node @p moveId. */ QString specAnnotation(const QRegExp &r, MoveId moveId = CURRENT_MOVE) const; /** @return time annotation (either egt or clock) at move at node @p moveId. */ QString timeAnnotation(MoveId moveId = CURRENT_MOVE) const; /** @return @p true if a move can have annotation before the move. */ bool canHaveStartAnnotation(MoveId moveId = CURRENT_MOVE) const; /** @return nags for move at node @p moveId */ NagSet nags(MoveId moveId = CURRENT_MOVE) const; /** @return next move in short algebraic notation, returns empty string if no such move */ QString moveToSan(MoveStringFlags flags = MoveOnly, NextPreviousMove nextPrevious = NextMove, MoveId moveId = CURRENT_MOVE, QString* annotations = 0, NagSet* nagSet = 0); /** return comment associated with game */ QString gameComment() const; /** Query event info and date information for display in game browser etc. */ QString eventInfo() const; // **** node modification methods **** /** Sets the comment associated with move at node @p moveId */ bool dbSetAnnotation(QString annotation, MoveId moveId = CURRENT_MOVE, Position position = AfterMove); /** Sets the comment associated with move at node @p moveId */ bool setAnnotation(QString annotation, MoveId moveId = CURRENT_MOVE, Position position = AfterMove); /** Sets the squareAnnotation associated with move at node @p moveId */ bool setSquareAnnotation(QString squareAnnotation, MoveId moveId = CURRENT_MOVE); /** Append a square to the existing lists of square annotations, if there is none, create one */ bool appendSquareAnnotation(Square s, QChar colorCode); /** Append an arrow to the existing lists of arrows, if there is none, create one */ bool appendArrowAnnotation(Square dest, Square src, QChar colorCode); /** Sets the arrowAnnotation associated with move at node @p moveId */ bool setArrowAnnotation(QString arrowAnnotation, MoveId moveId = CURRENT_MOVE); /** Adds a nag to move at node @p moveId */ bool addNag(Nag nag, MoveId moveId = CURRENT_MOVE); /** Sets nags for move at node @p moveId */ bool setNags(NagSet nags, MoveId moveId = CURRENT_MOVE); /** Clear the nags from the node @p moveId */ bool clearNags(MoveId moveId = CURRENT_MOVE); // **** tree information methods ***** /** @return number of siblings of current node */ int numberOfSiblings(MoveId moveId = CURRENT_MOVE) const; /** @return whether the current position is in the mainline */ bool isMainline(MoveId moveId = CURRENT_MOVE) const; /** @return whether the game is currently at the start position */ bool atLineStart(MoveId moveId = CURRENT_MOVE) const; bool atGameStart(MoveId moveId = CURRENT_MOVE) const; /** @return whether the game is at the end of the current variation */ bool atLineEnd(MoveId moveId = CURRENT_MOVE) const; bool atGameEnd(MoveId moveId = CURRENT_MOVE) const; /** Counts the number of moves, comments and nags, in mainline, to the end of the game */ void moveCount(int* moves, int* comments, int* nags=0) const; /** Determine if game contains something reasonable */ bool isEmpty() const; /** @return number of half moves made since the beginning of the game */ int ply(MoveId moveId = CURRENT_MOVE) const; /** @return current move. Equals to (ply-1)/2+1 for standard games, but may be different */ int moveNumber(MoveId moveId = CURRENT_MOVE) const; /** @return number of ply for the whole game (mainline only) */ int plyCount() const; /** @return number of current variation */ MoveId variationNumber(MoveId moveId = CURRENT_MOVE) const; /** @return number of variations at the current position */ int variationCount(MoveId moveId = CURRENT_MOVE) const; /** @return true if the referenced variation has siblings */ bool variationHasSiblings(MoveId variation) const; /** @return moveId of the top main line */ MoveId mainLineMove() const; /** @return moveId of the previous move */ MoveId previousMove() const; /** @return moveId of the next move */ MoveId nextMove() const; /** @return moveId of the parent node */ MoveId parentMove() const; /** @return list of variation at the current move */ const QList& variations() const; // ***** Moving through game ***** /** Moves to the beginning of the game */ void moveToStart(); /** Moves to the end of the game */ void moveToEnd(); /** Moves by given ply, returns actual ply reached */ int moveByPly(int diff); /** Moves to the position corresponding to the given move id */ bool dbMoveToId(MoveId moveId); void moveToId(MoveId moveId); /** Move forward the given number of moves, returns actual number of moves made */ int forward(int count = 1); /** Move back the given number of moves, returns actual number of moves undone */ int backward(int count = 1); /** Moves forward if the next move matches (from,to,promotionPiece) */ bool findNextMove(Square from, Square to, PieceType promotionPiece = None); bool findNextMove(Move m); bool hasNextMove() const; /** Enters the variation that corresponds to moveId. moveId must be a MoveId that corresponds to a subvariation of the current position. Compared to moveToId this function runs in constant time. */ void enterVariation(const MoveId& moveId); // ***** game modification methods ***** /** Adds a move at the current position, returns the move id of the added move */ MoveId dbAddMove(const Move& move, const QString& annotation = QString(), NagSet nags = NagSet()); /** Adds a move at the current position, returns the move id of the added move */ MoveId addMove(const Move& move, const QString& annotation = QString(), NagSet nags = NagSet()); /** Adds a move at the current position, returns the move id of the added move */ MoveId dbAddMove(const QString& sanMove, const QString& annotation = QString(), NagSet nags = NagSet()); /** Adds a move at the current position, returns the move id of the added move */ MoveId addMove(const QString& sanMove, const QString& annotation = QString(), NagSet nags = NagSet()); /** Adds a move at the current position, returns the move id of the added move */ MoveId addMoveFrom64Char(const QString& qcharboard); /** Replace the move after the current position */ bool replaceMove(const Move& move, const QString& annotation = QString(), NagSet nags = NagSet(), bool bReplace = true); /** Replace the move after the current position */ bool replaceMove(const QString& sanMove); /** Insert the move after the current position */ bool insertMove(Move m); /** Adds a move at the current position as a variation, * returns the move id of the added move */ MoveId addVariation(const Move& move, const QString& annotation = QString(), NagSet nags = NagSet()); /** Adds a move at the current position as a variation, * returns the move id of the added move */ MoveId addVariation(const MoveList& moveList, const QString& annotation = QString()); /** Adds a move at the current position as a variation, * returns the move id of the added move */ MoveId addVariation(const QString& sanMove, const QString& annotation = QString(), NagSet nags = NagSet()); /** Adds a move at the current position as a variation, * returns the move id of the added move */ MoveId dbAddVariation(const Move& move, const QString& annotation = QString(), NagSet nags = NagSet()); /** Adds a move at the current position as a variation, * returns the move id of the added move */ MoveId dbAddVariation(const MoveList& moveList, const QString& annotation = QString()); /** Adds a move at the current position as a variation, * returns the move id of the added move */ MoveId dbAddVariation(const QString& sanMove, const QString& annotation = QString(), NagSet nags = NagSet()); /** Merge current node of @p otherGame into this game */ bool mergeNode(Game &otherGame); /** Merge @p otherGame starting from otherGames current position into this game as a new mainline */ bool mergeAsMainline(Game &otherGame); /** Merge @p otherGame starting from otherGames current position into this game as a new variation */ bool mergeAsVariation(Game &otherGame); /** Merge @p otherGame variations starting from otherGames current position into this game as new variations */ bool mergeVariations(Game &otherGame); /** Merge Game @p g into this game */ void mergeWithGame(const Game& g); /** Merge Game @p g into this game */ void dbMergeWithGame(const Game& g); /** Promotes the given variation to the main line, returns true if successful */ bool promoteVariation(MoveId variation); /** Removes the given variation, returns true if successful */ bool removeVariation(MoveId variation); /** Removes all variations and mainline moves after the current position, * or before the current position if @p position == BeforeMove */ void dbTruncateVariation(Position position = AfterMove); void truncateVariation(Position position = AfterMove); /** Removes all tags and moves */ void clear(); /** Set the game start position */ void dbSetStartingBoard(const Board& startingBoard); /** Set the game start position from FEN. */ void dbSetStartingBoard(const QString& fen); /** set comment associated with game */ void setGameComment(const QString& gameComment); /** Remove all variations */ void removeVariations(); /** Remove all Comments */ void removeComments(); /* Manipulating and querying tags */ /** Removes all tags */ void clearTags(); /** @return value of the given tag */ QString tag(const QString& tag) const; /** @return a map of all tags in the game */ const TagMap &tags() const; /** Sets the value of the given tag */ void setTag(const QString& tag, const QString& value); /** Query existance of tag */ bool hasTag(const QString& tag) const; /** Removes a tag */ void removeTag(const QString& tag); /** Set the game result */ void setResult(Result result); // Searching /** Search game to see if given position exists, if it does return move id */ MoveId findPosition(const Board& position) const; /** @return true if the move @p from @p to is already main move or variation */ bool currentNodeHasMove(Square from, Square to) const; /** @return true if the move @p from @p to is already in a variation */ bool currentNodeHasVariation(Square from, Square to) const; /** Evaluate a list of scores for the complete game (mainline only) */ void scoreMaterial(QList &scores) const; /** @return ECO code for the game */ QString ecoClassify() const; /** @return true if current pos is in the ECO list */ bool isEcoPosition() const; /* Debug */ /** Dump a move node using qDebug() */ void dumpMoveNode(MoveId moveId = CURRENT_MOVE) const; /** Dump annotatios for move @p moveId using qDebug() */ void dumpAnnotations(MoveId moveId) const; /** Repeatedly call dumpMoveNode for all nodes */ void dumpAllMoveNodes() const; /** Decide if moveVariationUp() can be executed */ bool canMoveVariationUp(MoveId moveId) const; /** Decide if moveVariationDown() can be executed */ bool canMoveVariationDown(MoveId moveId) const; /** Start all variations with an initial character comment */ void enumerateVariations(MoveId moveId, char a); /** Move the variation @p moveId of the curent node up in the list of variations */ void moveVariationUp(MoveId moveId); /** Move the variation @p moveId of the curent node down in the list of variations */ void moveVariationDown(MoveId moveId); /** Copy in a game and set it as modified (different from operator=) */ void copyFromGame(const Game& g); int resultAsInt() const; void setStartingBoard(const Board &startingBoard, QString text); /** Removes the node at @p moveId */ void removeNode(MoveId moveId = CURRENT_MOVE); MoveId lastMove() const; protected: /** Find the point in the this game where @p otherGame fits in the next time. @retval Node from where the merging shall start in other game */ MoveId findMergePoint(const Game &otherGame); /** Promotes the given variation to the main line */ void dbPromoteVariation(MoveId variation); /** Find the next illegal position in all variations and mainline moves after the current position, and cut the game from there */ void truncateVariationAfterNextIllegalPosition(); signals: void signalGameModified(bool,Game,QString); void signalMoveChanged(); private: #pragma pack(push,2) struct MoveNode { MoveId previousNode; MoveId nextNode; MoveId parentNode; short m_ply; Move move; NagSet nags; QList variations; void remove() { parentNode = previousNode = nextNode = NO_MOVE; m_ply |= 0x8000; } MoveNode() { parentNode = nextNode = previousNode = NO_MOVE; m_ply = 0; } void SetPly(short ply) { Q_ASSERT(m_ply<0x7FFF); m_ply = ply; } short Ply() const { return m_ply & 0x7FFF; } bool Removed() const { return (m_ply & 0x8000); } }; #pragma pack(pop) /** List of nodes */ QList m_moveNodes; /** Keeps the current node in the game */ MoveId m_currentNode; /** Keeps the start ply of the game, 0 for standard starting position */ short m_startPly; /** Keeps the start position of the game */ Board m_startingBoard; /** Keeps the current position of the game */ Board m_currentBoard; typedef QMap AnnotationMap; /** Start annotations for each variation */ AnnotationMap m_variationStartAnnotations; /** Annotations for move nodes */ AnnotationMap m_annotations; /** Map keeping pgn tags of the game */ TagMap m_tags; // **** memory management methods **** /** Remove all removed nodes */ void compact(); /** Checks if a moveId is valid, returns the moveId if it is, 0 if not */ MoveId nodeValid(MoveId moveId = CURRENT_MOVE) const; /** Change parent of each move of a variation. */ void reparentVariation(MoveId variation, MoveId parent); friend class SaveRestoreMove; friend class SaveRestoreMoveCompact; }; class SaveRestoreMove { public: SaveRestoreMove(Game& game) { m_saveGame = &game; m_saveMoveValue = game.currentMove(); } ~SaveRestoreMove() { m_saveGame->dbMoveToId(m_saveMoveValue); } private: Game* m_saveGame; MoveId m_saveMoveValue; }; class SaveRestoreMoveCompact { public: SaveRestoreMoveCompact(Game& game) { m_saveGame = &game; m_saveMoveValue = game.currentMove(); } ~SaveRestoreMoveCompact() { m_saveGame->dbMoveToId(m_saveMoveValue); m_saveGame->compact(); } private: Game* m_saveGame; MoveId m_saveMoveValue; }; #endif // __GAME_H__ ./chessx-1.3.2/src/database/historylist.cpp000644 000765 000024 00000005423 12507517064 020367 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include "historylist.h" #include "settings.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER HistoryList::HistoryList(int historySize) : m_unique(true) { setSize(historySize); } HistoryList::~HistoryList() {} void HistoryList::restore() { AppSettings->beginGroup("/History/"); setSize(AppSettings->getValue("MaxEntries").toInt()); QStringList list = AppSettings->value("RecentFiles").toStringList(); AppSettings->endGroup(); setItems(list); } void HistoryList::save() const { AppSettings->beginGroup("/History/"); AppSettings->setValue("RecentFiles", items()); AppSettings->endGroup(); } void HistoryList::append(const QString& item) { if(size()) { if(m_unique) { remove(item); } if(count() == size()) { m_data.pop_back(); } m_data.prepend(item); } } void HistoryList::remove(const QString& item) { m_data.removeAll(item); } void HistoryList::removeMissingFiles() { int i = 0; while(i < count()) { QFileInfo file(item(i)); if(file.exists()) { i++; } else { m_data.removeAt(i); } } } void HistoryList::setSize(int newSize) { m_size = newSize; } int HistoryList::size() const { return m_size; } int HistoryList::count() const { return m_data.count(); } void HistoryList::clear() { m_data.clear(); } QString HistoryList::item(int index) const { return (index >= 0 && index < count()) ? m_data[index] : QString(); } QString HistoryList::operator[](int index) const { return item(index); } bool HistoryList::contains(const QString& s) const { return m_data.contains(s); } QStringList HistoryList::items() const { return m_data; } void HistoryList::setItems(const QStringList& list) { clear(); for(int i = 0; i < size() && i < list.count(); ++i) { m_data.append(list[i]); } } bool HistoryList::isUnique() const { return m_unique; } void HistoryList::setUnique(bool value) { m_unique = value; } ./chessx-1.3.2/src/database/historylist.h000644 000765 000024 00000004435 12223260306 020023 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __HISTORYLIST_H__ #define __HISTORYLIST_H__ #include /** @ingroup Core The HistoryList class provides a list of @p N recent string items that can be stored/restored. */ class HistoryList { private: QStringList m_data; int m_size; bool m_unique; public: HistoryList(int historySize = 10); ~HistoryList(); /** Restore the list from application settings. */ void restore(); /** Save the list with application settings. */ void save() const; /** @return current number of items. */ int count() const; /** @return current size. */ int size() const; /** Sets maximum size. */ void setSize(int newSize); /** Adds new item. If there are too many items, last ones will be dropped. */ void append(const QString& item); /** Removes the first occurence of given item. */ void remove(const QString& item); /** Removes all the first entries that are not existing files */ void removeMissingFiles(); /** Removes all items. */ void clear(); /** @return item at @p index - 0 is the newest one. */ QString item(int index) const; /** @return item at @p index */ QString operator[](int index) const; /** @return @p true if history contains given item. */ bool contains(const QString& s) const; /** @return all items. */ QStringList items() const; /** Sets all items. */ void setItems(const QStringList& list); /** @return if older repeated value is automatically removed */ bool isUnique() const; /** Sets whether older repeated value is automatically removed. Does not affect current list content. */ void setUnique(bool value); private: }; #endif ./chessx-1.3.2/src/database/index.cpp000644 000765 000024 00000026337 12521415120 017072 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 Marius Roets * * (C) 2007 Rico Zenklusen * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include #include #include #include "index.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER Index::Index() { // Dummy Values in case a index is miscalculated m_tagNames[0] = "?"; m_tagValues[0] = "?"; } Index::~Index() { while (m_indexItems.count()) { IndexItem* item = m_indexItems.first(); delete item; m_indexItems.pop_front(); } } GameId Index::add() { GameId gameId = m_indexItems.count(); m_indexItems.append(new IndexItem); return gameId; } TagIndex Index::AddTagName(QString name) { if(m_tagNameIndex.contains(name)) { return m_tagNameIndex.value(name); } TagIndex n = m_tagNameIndex.size(); m_tagNameIndex[name] = n; m_tagNames[n] = name; return n; } ValueIndex Index::AddTagValue(QString name) { if(m_tagValueIndex.contains(name)) { return m_tagValueIndex[name]; } ValueIndex n = m_tagValueIndex.size(); m_tagValueIndex[name] = n; m_tagValues[n] = name; return n; } void Index::setTag(const QString& tagName, const QString& value, GameId gameId) { TagIndex tagIndex = AddTagName(tagName); ValueIndex valueIndex = AddTagValue(value); if(m_indexItems.count() <= (int)gameId) { add(); } m_indexItems[gameId]->set(tagIndex, valueIndex); m_mapTagToIndexItems.insertMulti(tagIndex, gameId); } void Index::removeTag(const QString& tagName, GameId gameId) { if(m_tagNameIndex.contains(tagName)) { TagIndex tagIndex = m_tagNameIndex.value(tagName); if((int)gameId < m_indexItems.count()) { m_indexItems[gameId]->remove(tagIndex); m_mapTagToIndexItems.remove(tagIndex, gameId); } } } void Index::setValidFlag(GameId gameId, bool value) { if (!value) { m_validFlags.insert(gameId); } else { m_validFlags.remove(gameId); } } bool Index::replaceTagValue(const QString& tagName, const QString& newValue, const QString& oldValue) { if(!m_tagNameIndex.contains(tagName)) { return false; } if(!m_tagValueIndex.contains(oldValue)) { return false; } ValueIndex valueIndex = m_tagValueIndex[oldValue]; m_tagValues[valueIndex] = newValue; clearCache(); calculateCache(); return true; } bool Index::isValidFlag(GameId gameId) const { return !m_validFlags.contains(gameId); } bool Index::write(QDataStream &out) const { out << m_tagNames; out << m_tagValues; out << m_indexItems.count(); for(int i = 0; i < m_indexItems.count(); ++i) { m_indexItems[i]->write(out); } out << m_validFlags; bool extension = false; out << extension; return true; } bool Index::read(QDataStream &in, volatile bool *breakFlag, short version) { in >> m_tagNames; in >> m_tagValues; int itemCount; in >> itemCount; int countDiff = itemCount / 100; int nextDiff = countDiff; int percentDone = 0; for(int i = 0; i < itemCount; ++i) { if(*breakFlag) { return false; } add(); m_indexItems[i]->read(in); if(i >= nextDiff) { nextDiff += countDiff; emit progress(++percentDone); } } if (version <= VERSION_INDEX_1_2) { QList validFlags; in >> validFlags; for (int i=0; i> m_validFlags; } bool extension; in >> extension; calculateCache(breakFlag); return !(*breakFlag); } void Index::clearCache() { m_tagNameIndex.clear(); m_tagValueIndex.clear(); m_mapTagToIndexItems.clear(); } void Index::calculateCache(volatile bool* breakFlag) { calculateReverseMaps(breakFlag); calculateTagMap(breakFlag); } void Index::calculateReverseMaps(volatile bool* breakFlag) { if(m_tagNameIndex.isEmpty()) { foreach(TagIndex tagIndex, m_tagNames.keys()) { if(breakFlag && *breakFlag) { return; } m_tagNameIndex.insert(m_tagNames.value(tagIndex), tagIndex); } } if(m_tagValueIndex.isEmpty()) { foreach(ValueIndex valueIndex, m_tagValues.keys()) { if(breakFlag && *breakFlag) { return; } m_tagValueIndex.insert(m_tagValues.value(valueIndex), valueIndex); } } } void Index::calculateTagMap(volatile bool *breakFlag) { if(m_mapTagToIndexItems.isEmpty()) { foreach(TagIndex tagIndex, m_tagNames.keys()) { for(GameId gameId = 0; gameId < (GameId)m_indexItems.size(); ++gameId) { if(breakFlag && *breakFlag) { return; } if(indexItemHasTag(tagIndex, gameId)) { m_mapTagToIndexItems.insertMulti(tagIndex, gameId); } } } } } void Index::clear() { for(int i = 0 ; i < m_indexItems.count() ; ++i) { delete m_indexItems[i]; } m_indexItems.clear(); m_tagNames.clear(); m_tagNameIndex.clear(); m_tagValues.clear(); m_tagValueIndex.clear(); m_deletedGames.clear(); m_validFlags.clear(); m_mapTagToIndexItems.clear(); } int Index::count() const { return m_indexItems.count(); } QBitArray Index::listContainingValue(const QString& tagName, const QString& value) const { TagIndex tagIndex = m_tagNameIndex.value(tagName); ValueIndex valueIndex = m_tagValueIndex.value(value); QBitArray list(count(), false); for(int i = 0; i < count(); ++i) { list.setBit(i, m_indexItems[i]->valueIndex(tagIndex) == valueIndex); } return list; } QBitArray Index::listInRange(const QString& tagName, const QString& minValue, const QString& maxValue) const { TagIndex tagIndex = m_tagNameIndex.value(tagName); QBitArray list(count(), false); for(int i = 0; i < count(); ++i) { QString value = tagValue(tagIndex, i); list.setBit(i, (minValue <= value) && (value <= maxValue)); } return list; } QBitArray Index::listInRange(const QString &tagName, int minValue, int maxValue) const { TagIndex tagIndex = m_tagNameIndex.value(tagName); QBitArray list(count(), false); for(int i = 0; i < count(); ++i) { int value = tagValue(tagIndex, i).toInt(); list.setBit(i, (minValue <= value) && (value <= maxValue)); } return list; } QBitArray Index::listPartialValue(const QString& tagName, const QString& value) const { TagIndex tagIndex = m_tagNameIndex.value(tagName); QBitArray list(count(), false); for(int i = 0; i < count(); ++i) { QString gameValue = tagValue(tagIndex, i); list.setBit(i, gameValue.contains(value, Qt::CaseInsensitive)); } return list; } QString Index::tagValue(TagIndex tagIndex, GameId gameId) const { ValueIndex valueIndex = m_indexItems[gameId]->valueIndex(tagIndex); return m_tagValues.value(valueIndex); } QString Index::tagName(TagIndex tagIndex) const { return m_tagNames.value(tagIndex); } QString Index::tagValueName(ValueIndex valueIndex) const { return m_tagValues.value(valueIndex); } QString Index::tagValue(const QString& tagName, GameId gameId) const { TagIndex tagIndex = m_tagNameIndex.value(tagName); return tagValue(tagIndex, gameId); } ValueIndex Index::valueIndexFromTag(const QString& tagName, GameId gameId) const { TagIndex tagIndex = m_tagNameIndex.value(tagName); return m_indexItems[gameId]->valueIndex(tagIndex); } bool Index::indexItemHasTag(TagIndex tagIndex, GameId gameId) const { return m_indexItems[gameId]->hasTagIndex(tagIndex); } inline ValueIndex Index::valueIndexFromIndex(TagIndex tagIndex, GameId gameId) const { return m_indexItems[gameId]->valueIndex(tagIndex); } TagIndex Index::getTagIndex(const QString& value) const { if(m_tagNameIndex.contains(value)) { return m_tagNameIndex.value(value); } return TagNoIndex; } ValueIndex Index::getValueIndex(const QString& value) const { return m_tagValueIndex.value(value); } IndexItem* Index::item(GameId gameId) { return m_indexItems[gameId]; } void Index::loadGameHeaders(GameId id, Game& game) const { game.clearTags(); foreach(TagIndex tagIndex, m_indexItems[id]->getTagIndices()) { // qDebug() << "lGH>" << &game << " " << id << " " << tagName(tagIndex) << " " << tagValue(tagIndex, id); game.setTag(tagName(tagIndex), tagValue(tagIndex, id)); } } void Index::loadGameHeader(GameId id, Game& game, const QString &tag) const { TagIndex tagIndex = getTagIndex(tag); game.setTag(tagName(tagIndex), tagValue(tagIndex, id)); } QStringList Index::playerNames() const { QStringList allPlayerNames; QSet playerNameIndex; TagIndex tagIndex = getTagIndex(TagNameWhite); if(tagIndex != TagNoIndex) { foreach(GameId gameId, m_mapTagToIndexItems.values(tagIndex)) { playerNameIndex.insert(m_indexItems[gameId]->valueIndex(tagIndex)); } } tagIndex = getTagIndex(TagNameBlack); if(tagIndex != TagNoIndex) { foreach(GameId gameId, m_mapTagToIndexItems.values(tagIndex)) { playerNameIndex.insert(m_indexItems[gameId]->valueIndex(tagIndex)); } } foreach(ValueIndex valueIndex, playerNameIndex) { allPlayerNames.append(tagValueName(valueIndex)); } return allPlayerNames; } QStringList Index::tagValues(const QString& tagName) const { QStringList allTagNames; QSet tagNameIndex; TagIndex tagIndex = getTagIndex(tagName); if(tagIndex != TagNoIndex) { foreach(GameId gameId, m_mapTagToIndexItems.values(tagIndex)) { tagNameIndex.insert(m_indexItems[gameId]->valueIndex(tagIndex)); } foreach(ValueIndex valueIndex, tagNameIndex) { allTagNames.append(tagValueName(valueIndex)); } } return allTagNames; } bool Index::deleted(GameId gameId) const { return m_deletedGames.contains(gameId); } void Index::setDeleted(GameId gameId, bool df) { if (df) { m_deletedGames.insert(gameId); } else { m_deletedGames.remove(gameId); } } ./chessx-1.3.2/src/database/index.h000644 000765 000024 00000014723 12521415120 016533 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 Marius Roets * * (C) 2007 Rico Zenklusen * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __INDEX_H__ #define __INDEX_H__ #include #include #include #include "indexitem.h" #include "game.h" #define VERSION_INDEX_1_2 1 #define VERSION_INDEX_1_3 2 #define VERSION_INDEX_CURRENT VERSION_INDEX_1_3 #define INDEX_FILE_MAGIC 0xce55 /** @ingroup Database * The Index class holds a list of IndexItem instances, typically one * for each game in the current database. This enables fast access to * game header information. * */ class Index : public QObject { Q_OBJECT public: Index(); ~Index(); /** Adds an empty indexitem */ GameId add(); /** @ret number of index items in the Index */ int count() const; // Storing tags // // /** Store the tag value for the given game, tag is given by name */ void setTag(const QString& tagName, const QString &value, GameId gameId); /** Set the valid flag accordingly */ bool replaceTagValue(const QString& tagName, const QString& newValue, const QString& oldValue); // Retrieving tags // // /** Restore all tags for game @p id from Index into @p game object */ void loadGameHeaders(GameId id, Game& game) const; /** Restore the value for @p tag for game @p id from Index into @p game object */ void loadGameHeader(GameId id, Game& game, const QString& tag) const; /** Get the tag @p tagName for given game index @p gameId */ QString tagValue(const QString& tagName, GameId gameId) const; /** @ret the value index number of a @p value */ ValueIndex getValueIndex(const QString&) const; /** @ret the value index number of a tags name @p value for a given game */ ValueIndex valueIndexFromTag(const QString& tagName, GameId gameId) const; /** Get the list of tagValues for a given @p tagName */ QStringList tagValues(const QString& tagName) const; /** Get the list of players (optimized query, as it reads white and black names w/o duplicates) */ QStringList playerNames() const; // Validity of a game information // /** Set the valid flag accordingly */ void setValidFlag(GameId gameId, bool value); /** Get the valid flag accordingly */ bool isValidFlag(GameId gameId) const; // Searching tags // // /** Return a bit array to indicate which games in index have tag with matching value */ QBitArray listContainingValue(const QString& tagName, const QString& value) const; /** Returns a bit array to indicate which games in index have a tag value in given range */ QBitArray listInRange(const QString& tag, const QString& minValue, const QString& maxValue) const; /** Returns a bit array to indicate which games in index have a tag value in given range */ QBitArray listInRange(const QString& tag, int minValue, int maxValue) const; /** Returns a bit array to indicate which games in index have a tag value which somewhat matches */ QBitArray listPartialValue(const QString& tagName, const QString& value) const; // Utility // // /** Write the index to disk, using m_filename */ bool write(QDataStream& out) const; /** Read the index from disk, using m_filename */ bool read(QDataStream& in, volatile bool *breakFlag, short version); /** Clear all cached values */ void clearCache(); /** Build the tag caches */ void calculateCache(volatile bool* breakFlag = 0); /** Calculate missing data from the index file import */ void calculateTagMap(volatile bool *breakFlag); /** Calculate missing data from the index file import */ void calculateReverseMaps(volatile bool *breakFlag); /** Clears the index, and frees all associated memory */ void clear(); /** Read delete flag */ bool deleted(GameId gameId) const; /** Set delete flag */ void setDeleted(GameId gameId, bool df); /** Remove a tag from the index, do not care for the value */ void removeTag(const QString &tagName, GameId gameId); signals: void progress(int); private: /** Contains information which games are marked for deletion */ QSet m_deletedGames; /** Return a pointer to the index item for the given game id */ IndexItem* item(GameId gameId); /** Map a tags index to a tagName */ QHash m_tagNames; /** Map a tagName to an associated index */ QHash m_tagNameIndex; /** Add a tag name to the index */ TagIndex AddTagName(QString); /** Map an Index to a tagValue */ QHash m_tagValues; /** Map a Value to its associated index value */ QHash m_tagValueIndex; /** Add a tag value to the index */ ValueIndex AddTagValue(QString); /** Hold the list of index items (=holds all game header information) */ QList m_indexItems; /** Contains information which games are marked as valid */ QSet m_validFlags; /** Map tags to index items (which game has a specific header information) */ QMultiHash m_mapTagToIndexItems; /** Query the value of a tag given the tags index for a specific game */ QString tagValue(TagIndex tagIndex, GameId gameId) const; /** Query the value of a tag given the tags index */ QString tagName(TagIndex tagIndex) const; /** @ret the tag index number of a @p value */ TagIndex getTagIndex(const QString& value) const; /** Get the name of a @p valueIndex */ QString tagValueName(ValueIndex valueIndex) const; /** @ret the value index number of a tags index @p value for a given game */ ValueIndex valueIndexFromIndex(TagIndex tagIndex, GameId gameId) const; /** @ret true if a game @p gameId has a given tag index */ bool indexItemHasTag(TagIndex tagIndex, GameId gameId) const; }; #endif // __INDEX_H__ ./chessx-1.3.2/src/database/indexitem.cpp000644 000765 000024 00000003676 12510211243 017750 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 Marius Roets * * (C) 2007 Rico Zenklusen * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include "indexitem.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER IndexItem::IndexItem() { } IndexItem::~IndexItem() { m_mapTagIndexToValueIndex.clear(); } void IndexItem::set(TagIndex tagIndex, ValueIndex valueIndex) { m_mapTagIndexToValueIndex[tagIndex] = valueIndex; } void IndexItem::remove(TagIndex tagIndex) { m_mapTagIndexToValueIndex.remove(tagIndex); } ValueIndex IndexItem::valueIndex(TagIndex tagIndex) const { if(m_mapTagIndexToValueIndex.contains(tagIndex)) { return m_mapTagIndexToValueIndex[tagIndex]; } return 0; } bool IndexItem::hasTagIndex(TagIndex tagIndex) const { return (m_mapTagIndexToValueIndex.contains(tagIndex)); } const QList IndexItem::getTagIndices() const { return m_mapTagIndexToValueIndex.keys(); } void IndexItem::write(QDataStream& out) const { out << m_mapTagIndexToValueIndex; } void IndexItem::read(QDataStream& in) { in >> m_mapTagIndexToValueIndex; } bool IndexItem::isEqual(const IndexItem &rhs) const { return (m_mapTagIndexToValueIndex == rhs.m_mapTagIndexToValueIndex); } ./chessx-1.3.2/src/database/indexitem.h000644 000765 000024 00000004260 12510715746 017424 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 Marius Roets * * (C) 2007 Rico Zenklusen * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __INDEXITEM_H__ #define __INDEXITEM_H__ #include #include #include /** @ingroup Database The IndexItem class holds one item that is listed in a index It contains essential game header information that is kept in memory for fast access. It is used in conjunction with the Tags class. For most items it stores the id that refers to the relevant tag item in the Tags instance. */ typedef quint32 TagIndex; typedef quint32 ValueIndex; #define TagNoIndex 0xFFFFFFFF typedef QHash MapTagToValue; class IndexItem { public: IndexItem(); ~IndexItem(); /** Adds an index pair to the IndexItem */ void set(TagIndex tagIndex, ValueIndex valueIndex); /** Remove an index */ void remove(TagIndex tagIndex); /** @ret ValueIndex of a @p tagIndex */ ValueIndex valueIndex(TagIndex tagIndex) const; /** @ret true iff the IndexItem has a value for @p tagIndex */ bool hasTagIndex(TagIndex tagIndex) const; const QList getTagIndices() const; /** Write the data of the instance to a QDataStream */ void write(QDataStream& out) const; /** Reads the data of the instance from a QDataStream, existing data is cleared first. */ void read(QDataStream& in); /** Compare two tag index items */ bool isEqual(const IndexItem& rhs) const; private: MapTagToValue m_mapTagIndexToValueIndex; }; #endif // __INDEXITEM_H__ ./chessx-1.3.2/src/database/memorydatabase.cpp000644 000765 000024 00000007776 12521415120 020766 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007 Marius Roets * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include "memorydatabase.h" #include "settings.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER MemoryDatabase::MemoryDatabase() : PgnDatabase(false), m_isModified(false) { } MemoryDatabase::~MemoryDatabase() { clear(); } void MemoryDatabase::clear() { for(int i = 0; i < m_games.count(); ++i) { delete m_games[i]; } m_games.clear(); m_index.clear(); m_isModified = false; m_count = 0; } bool MemoryDatabase::isReadOnly() const { return false; } bool MemoryDatabase::isModified() const { return m_isModified; } void MemoryDatabase::setModified(bool b) { m_isModified = b; emit dirtyChanged(m_isModified); } bool MemoryDatabase::appendGame(const Game& game) { // Add to index TagMap tags = game.tags(); TagMap::const_iterator i = tags.constBegin(); m_count = m_index.add(); while(i != tags.constEnd()) { m_index.setTag(i.key(), i.value(), m_count); ++i; } // Upate game array Game* newGame = new Game; *newGame = game; newGame->clearTags(); m_games.append(newGame); ++m_count; setModified(true); return true; } bool MemoryDatabase::remove(GameId gameId) { setModified(true); m_index.setDeleted(gameId, true); return true; } bool MemoryDatabase::undelete(GameId gameId) { setModified(true); m_index.setDeleted(gameId, false); return true; } bool MemoryDatabase::replace(GameId gameId, Game& game) { if(gameId >= m_count) { return false; } // Update index TagMap tags = game.tags(); TagMap::const_iterator i = tags.constBegin(); while(i != tags.constEnd()) { m_index.setTag(i.key(), i.value(), gameId); ++i; } // Upate game array *m_games[gameId] = game; m_games[gameId]->clearTags(); setModified(true); return true; } void MemoryDatabase::loadGameMoves(GameId gameId, Game& game) { if(gameId >= m_count) { return; } game = *m_games[gameId]; } bool MemoryDatabase::loadGame(GameId gameId, Game& game) { if(gameId >= m_count || m_index.deleted(gameId)) { return false; } game = *m_games[gameId]; loadGameHeaders(gameId, game); return true; } void MemoryDatabase::parseGame() { Game* game = new Game; QString fen = m_index.tagValue(TagNameFEN, m_count - 1); if(fen != "?") { game->dbSetStartingBoard(fen); } m_index.setValidFlag(m_count - 1, parseMoves(game)); m_index.setTag(TagNameLength, QString::number((game->plyCount() + 1) / 2), m_count - 1); QString eco = game->tag(TagNameECO).left(3); if(eco == "?") { eco.clear(); } if(AppSettings->getValue("/General/automaticECO").toBool()) { if(eco.isEmpty()) { eco = game->ecoClassify().left(3); if(!eco.isEmpty()) { game->setTag(TagNameECO, eco); m_index.setTag(TagNameECO, eco, m_count - 1); } } } m_games.append(game); } bool MemoryDatabase::parseFile() { bool ok = parseFileIntern(); setModified(false); // Undoes changes which stem from ECO parsing, is this expected or unexpected? return ok; } ./chessx-1.3.2/src/database/memorydatabase.h000644 000765 000024 00000004526 12376404214 020433 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007 Marius Roets * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __MEMORYDATABASE_H__ #define __MEMORYDATABASE_H__ #include #include "pgndatabase.h" /** @ingroup Database The MemoryDatabase class provides database access to PGN files. Games are stored in memory, and are editable. The class is derived from the PgnDatabase class, providing methods for the loading and saving of games, and for performing searches and queries. */ /** @todo Removing from database is not implemented. */ class MemoryDatabase : public PgnDatabase { Q_OBJECT public: /** Default constructor */ MemoryDatabase(); /** Destructor */ ~MemoryDatabase(); /** Clears a database completely */ void clear(); /** Returns whether the database is read-only or not */ virtual bool isReadOnly() const; /** @return whether the database was modified. */ virtual bool isModified() const; /** @return whether the database was modified. */ void setModified(bool b); /** Adds a game to the database */ bool appendGame(const Game& game); /** Removes a game from the database */ bool remove(GameId gameId); /** Undo the deletion of a game */ bool undelete(GameId gameId); /** Saves a game at the given position, returns true if successful */ bool replace(GameId gameId, Game& game); /** Loads a game from the given position, returns true if successful */ bool loadGame(GameId gameId, Game& game); /** Loads only moves into a game from the given position */ void loadGameMoves(GameId gameId, Game& game); protected: virtual void parseGame(); private: QVector m_games; bool parseFile(); bool m_isModified; }; #endif // __MEMORYDATABASE_H__ ./chessx-1.3.2/src/database/move.h000644 000765 000024 00000040164 12510715746 016407 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 William Hoggarth * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __MOVE_H__ #define __MOVE_H__ #include "piece.h" #include "square.h" #include class BitBoard; /** @ingroup Core Moves are dependent on current position, (remembers piece, check, capture etc) and don't make much sense when considered without a Board. However, you can create a move with only a source and destination square, Such moves are considered "illegal", but can be convenient when dealing with move entry. @todo Clean or merge setPromotionPiece() and setPromoted() functions. When setting move from scratch (e. g. in @ref Shredder class), setPromotionPiece() fails probably because isPromotion() returns @p false . */ class Move { public: /** Default constructor, creates an empty (illegal) move */ Move(); Move(const Move& move) { m = move.m; u = move.u; } /** Move entry constructor, untested (illegal) move with only from, and to squares set */ Move(const Square from, const Square to); /** Set promotion piece. Default promotion is to Queen, use this to change piece afterward */ void setPromotionPiece(PieceType type); /** Set type of piece (Queen, Rook, Bishop, Knight, Pawn) pawn promoted to */ void setPromoted(PieceType p); // Query /** return Square piece sits on after move */ Square to() const; /** return Square piece sat on before move */ Square from() const; /** return Square where rook is placed after castling */ Square castlingRookTo() const; /** return Square when en-passant is captured. Undefined if there is no en-passant. */ Square enPassantSquare() const; /** return Square where rook was placed before castling */ Square castlingRookFrom() const; /** Convert to algebraic notation (e2e4, g8f6 etc.) */ QString toAlgebraic() const; QString dumpAlgebraic() const; QString toAlgebraicDebug() const; /** Get the piece type moving -- note, returns Pawn, QUEEN, etc.. not colorized */ Piece pieceMoved() const; /** Piece captured from the opponent by this move */ Piece capturedPiece() const; /** If move is promotion, get promotion piece. Result is undefined if there is no promotion */ Piece promotedPiece() const; /** Check whether a given move is a null move ( an illegal move by the king to its own square ) often used as a placeholder in ebooks */ bool isNullMove() const; /** Check whether move is special (promotion, castling, en passant */ bool isSpecial() const; /** Check whether move is a promotion */ bool isPromotion() const; /** Check whether move is a castling */ bool isCastling() const; /** Check whether the move is a pawn double advance */ bool isDoubleAdvance() const; /** Check whether move is an en passant */ bool isEnPassant() const; /** Check if move is completely legal in the context it was created */ bool isLegal() const; Color color() const; /** Return true if this move was made by given color */ bool operator==(const Color& color) const; /** Return true if this move was NOT made by given color */ bool operator!=(const Color& color) const; /** Return true if this move was made by given piece */ bool operator==(const Piece& p) const; /** Return true if this move was NOT made by given piece */ bool operator!=(const Piece& p) const; Move& operator=(const Move& move) { if (this != &move) { m = move.m; u = move.u; } return *this; } /** Moves are considered the same, only if they match exactly */ friend bool operator==(const Move& m1, const Move& m2); friend bool operator!=(const Move& m1, const Move& m2); /** Required for keeping moves in some map-like structures */ friend bool operator<(const Move& m1, const Move& m2); unsigned int rawMove() const { return m; } unsigned short rawUndo() const { return u; } friend class BitBoard; private: static const quint64 CASTLE = 9; static const quint64 TWOFORWARD = 22; static const quint64 PROMOTE = 38; static const quint64 ENPASSANT = 14; static const quint64 CASTLINGBIT = 1 << 15; static const quint64 TWOFORWARDBIT = 1 << 16; static const quint64 PROMOTEBIT = 1 << 17; static const quint64 ENPASSANTBIT = 1 << 21; static const quint64 LEGALITYBIT = 1 << 31; static const quint64 SPECIALBITS = CASTLINGBIT | TWOFORWARDBIT | PROMOTEBIT | ENPASSANTBIT; static const quint64 PTCLEAR = ~(7 << 12); static const quint64 CAPCLEAR = ~(7 << 18); static const quint64 PROCLEAR = ~((7 << 22) | PROMOTEBIT); static const quint64 BLACKTM = 1 << 26; /** Set Pawn move of one forward */ void genOneForward(unsigned int from, unsigned int to); /** Set two-squares forward move of Pawn */ void genTwoForward(unsigned int from, unsigned int to); /** Set pawn promotion move to given Piecetype */ void genPromote(unsigned int from, unsigned int to, unsigned int type); /** Set pawn capture and promotion, promote to piece type, capturing type */ void genCapturePromote(unsigned int from, unsigned int to, unsigned int type, unsigned int captured); /** Set pawn en passant capture of opponent pawn */ void genEnPassant(unsigned int from, unsigned int to); /** Set simple pawn move with capture of piece type */ void genPawnMove(unsigned int from, unsigned int to, unsigned int captured); /** Set knight move, capturing piece type */ void genKnightMove(unsigned int from, unsigned int to, unsigned int captured); /** Set bishop move, capturing piece type */ void genBishopMove(unsigned int from, unsigned int to, unsigned int captured); /** Set rook move, capturing piece type */ void genRookMove(unsigned int from, unsigned int to, unsigned int captured); /** Set queen move, capturing piece type */ void genQueenMove(unsigned int from, unsigned int to, unsigned int captured); /** Set king move, capturing piece type */ void genKingMove(unsigned int from, unsigned int to, unsigned int captured); /** Set castling short move for White with king and rook */ void genWhiteOO(); /** Set castling long move for White with king and rook */ void genWhiteOOO(); /** Set castling short move for Black with king and rook */ void genBlackOO(); /** Set castling long move for Black with king and rook */ void genBlackOOO(); /** Mark this move as validated and fully legal in position */ void setLegalMove(); /** Set source square for this move */ void setFrom(Square from); /** Set destination square for this move */ void setTo(Square to); /** Mark this move as being made by the Black side */ void setBlack(); /** Return piece type of promoted piece (or 0 if none) */ unsigned int promoted() const; /** Set type of piece (Queen, Rook, Bishop, Knight, Pawn) making move */ void setPieceType(unsigned char p); /** Set type of piece (Queen, Rook, Bishop, Knight, Pawn) captured */ void setCaptureType(unsigned char p); /** Mark this move as an initial pawn move of 2 squares */ void setTwoForward(); /** Mark this move capturing a pawn en passant */ void setEnPassant(); /** Mark this move as giving check */ void setCheck(); /** Mark this move as giving checkmate */ void setMate(); /** Return pawn2forward, castle or piece type for doMove() and undoMove() */ unsigned int action() const; /** Return captured piece or En passant for doMove() and undoMove() */ unsigned int removal() const; /** Return piece type of captured piece (or 0 if none) */ unsigned int capturedType() const; // The move definition 'm' bitfield layout: // 00000000 00000000 00000000 00111111 = from square = bits 1-6 // 00000000 00000000 00001111 11000000 = to square = bits 7-12 // 00000000 00000000 01110000 00000000 = piece type = bits 13-15 // 00000000 00000000 10000000 00000000 = castle = bit 16 // 00000000 00000001 00000000 00000000 = pawn 2 forward = bit 17 // 00000000 00000010 00000000 00000000 = promotion = bit 18 // 00000000 00011100 00000000 00000000 = capture piece = bits 19-21 // 00000000 00100000 00000000 00000000 = en passant = bit 22 // 00000001 11000000 00000000 00000000 = promotion piece = bits 23-25 // 00000010 00000000 00000000 00000000 = Extra data set = bits 26 // NOT YET IMPLEMENTED // 00000100 00000000 00000000 00000000 = White=0,Black=1 = bit 27 // 00001000 00000000 00000000 00000000 = SAN needs file = bit 28 // NOT YET IMPLEMENTED // 00010000 00000000 00000000 00000000 = SAN needs rank = bit 29 // NOT YET IMPLEMENTED // 00100000 00000000 00000000 00000000 = gives mate? = bit 30 // NOT YET IMPLEMENTED // 01000000 00000000 00000000 00000000 = gives check? = bit 31 // NOT YET IMPLEMENTED // 10000000 00000000 00000000 00000000 = legality status = bit 32 unsigned int m; // The undo definition 'u' bitfield layout: // 00000000 11111111 = half move clock = bits 1-8 // 00001111 00000000 = castling rights = bits 8-12 // 11110000 00000000 = previous ep file = bits 13-16 unsigned short u; }; // return true if a null move // that is moving a king to its same square // while it is not legal it is often used // to annotate ideas inline bool Move::isNullMove() const { if(from() == to()) { Piece p = pieceMoved(); PieceType pt = pieceType(p); if(pt == King) { return true; } } return false; } inline void Move::setPromotionPiece(PieceType type) { m &= ~(7 << 22); m |= ((unsigned int) type & 7) << 22; } inline Square Move::from() const { return m & 63; } inline Square Move::to() const { return (m >> 6) & 63; } inline Move::Move() : m(0), u(0) {} inline Move::Move(const Square from, const Square to) : m(from | (to << 6)), u(0) {} inline Square Move::castlingRookFrom() const { return (to() % 8 == 2) ? to() - 2 : to() + 1; } inline Square Move::castlingRookTo() const { return (from() + to()) / 2; } inline QString Move::dumpAlgebraic() const { QString alg; alg += QChar('a' + from() % 8); alg += QChar('1' + from() / 8); alg += QChar('a' + to() % 8); alg += QChar('1' + to() / 8); if (isPromotion()) { alg += QChar('='); alg += "XKQRBNPKQRBNP"[promotedPiece()]; } return alg; } inline QString Move::toAlgebraic() const { if(!isLegal()) { return QString("?"); } return dumpAlgebraic(); } inline QString Move::toAlgebraicDebug() const { QString alg; if(!isLegal()) { alg = "?"; } alg += dumpAlgebraic(); return alg; } inline Square Move::enPassantSquare() const { return from() > 31 ? to() - 8 : to() + 8; } inline Piece Move::pieceMoved() const { return Piece((7 & (m >> 12)) + (m & BLACKTM ? 6 : 0)); } inline Piece Move::capturedPiece() const { unsigned char p = (m >> 18) & 7; if(p == 0) { return Piece(0); } return Piece(p + (m & BLACKTM ? 0 : 6)); } inline Piece Move::promotedPiece() const { return Piece((7 & (m >> 22)) + (m & BLACKTM ? 6 : 0)); } inline bool Move::isSpecial() const { return m & SPECIALBITS; } inline bool Move::isPromotion() const { return m & PROMOTEBIT; } inline bool Move::isCastling() const { return m & CASTLINGBIT; } inline bool Move::isDoubleAdvance() const { return m & TWOFORWARDBIT; } inline bool Move::isEnPassant() const { return m & ENPASSANTBIT; } inline bool Move::isLegal() const { return m & LEGALITYBIT; } inline Color Move::color() const { return ((m & BLACKTM) ? Black : White); } inline void Move::genOneForward(unsigned int from, unsigned int to) { m = from | (to << 6) | (Pawn << 12); } inline void Move::genTwoForward(unsigned int from, unsigned int to) { m = from | (to << 6) | (Pawn << 12) | (1 << 16); } inline void Move::genPromote(unsigned int from, unsigned int to, unsigned int type) { m = from | (to << 6) | (Pawn << 12) | (type << 22) | (1 << 17); } inline void Move::genCapturePromote(unsigned int from, unsigned int to, unsigned int type, unsigned int captured) { m = from | (to << 6) | (Pawn << 12) | (captured << 18) | (type << 22) | (1 << 17); } inline void Move::genEnPassant(unsigned int from, unsigned int to) { m = from | (to << 6) | (Pawn << 12) | (Pawn << 18) | (1 << 21); } inline void Move::genPawnMove(unsigned int from, unsigned int to, unsigned int captured) { m = from | (to << 6) | (Pawn << 12) | (captured << 18); } inline void Move::genKnightMove(unsigned int from, unsigned int to, unsigned int captured) { m = from | (to << 6) | (Knight << 12) | (captured << 18); } inline void Move::genBishopMove(unsigned int from, unsigned int to, unsigned int captured) { m = from | (to << 6) | (Bishop << 12) | (captured << 18); } inline void Move::genRookMove(unsigned int from, unsigned int to, unsigned int captured) { m = from | (to << 6) | (Rook << 12) | (captured << 18); } inline void Move::genQueenMove(unsigned int from, unsigned int to, unsigned int captured) { m = from | (to << 6) | (Queen << 12) | (captured << 18); } inline void Move::genKingMove(unsigned int from, unsigned int to, unsigned int captured) { m = from | (to << 6) | (King << 12) | (captured << 18); } inline void Move::genWhiteOO() { m = 4 | (6 << 6) | (King << 12) | (1 << 15); } inline void Move::genWhiteOOO() { m = 4 | (2 << 6) | (King << 12) | (1 << 15); } inline void Move::genBlackOO() { m = 60 | (62 << 6) | (King << 12) | (1 << 15); } inline void Move::genBlackOOO() { m = 60 | (58 << 6) | (King << 12) | (1 << 15); } inline void Move::setLegalMove() { m |= LEGALITYBIT; } inline void Move::setFrom(Square from) { m = (m & (~63)) | from; m &= ~LEGALITYBIT; } inline void Move::setTo(Square to) { m = (m & (~(63 << 6))) | (to << 6); m &= ~LEGALITYBIT; } inline unsigned int Move::action() const { return (m >> 12) & 63; } inline unsigned int Move::removal() const { return (m >> 18) & 15; } inline void Move::setBlack() { m |= BLACKTM; } inline unsigned int Move::promoted() const { return 7 & (m >> 22); } inline unsigned int Move::capturedType() const { return (m >> 18) & 7; } inline void Move::setPieceType(unsigned char p) { m &= PTCLEAR ; m |= (7 & p) << 12; } inline void Move::setCaptureType(unsigned char p) { m &= CAPCLEAR ; m |= (7 & p) << 18; } inline void Move::setTwoForward() { m |= TWOFORWARDBIT; } inline void Move::setEnPassant() { m |= ENPASSANTBIT; setCaptureType(Pawn); } inline void Move::setPromoted(PieceType p) { m &= PROCLEAR ; m |= PROMOTEBIT | ((7 & p) << 22); } inline void Move::setCheck() { m |= (1 << 30); } inline void Move::setMate() { m |= (1 << 29); } inline bool operator==(const Move& m1, const Move& m2) { return m1.m == m2.m; } inline bool operator!=(const Move& m1, const Move& m2) { return !(m1==m2); } inline bool operator<(const Move& m1, const Move& m2) { return m1.m < m2.m; } inline bool Move::operator==(const Color& color) const { return color == ((m & BLACKTM) ? Black : White); } inline bool Move::operator!=(const Color& color) const { return !(*this == color); } inline bool Move::operator==(const Piece& p) const { return (unsigned int) p == (((m & BLACKTM) && ((m >> 12) & 7)) ? ((m >> 12) & 7) + 6 : ((m >> 12) & 7)); } inline bool Move::operator!=(const Piece& p) const { return !(*this == p); } #endif // __MOVE_H__ ./chessx-1.3.2/src/database/movedata.cpp000644 000765 000024 00000002143 12507517064 017566 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "movedata.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER void MoveData::addGame(Game& g, Color c, MoveType movetype) { if(!count) san = (movetype == StandardMove) ? g.moveToSan(Game::MoveOnly, Game::PreviousMove) : qApp->translate("MoveData", "[end]"); ++count; result[g.result()]++; unsigned elo = (c == White) ? g.tag("WhiteElo").toInt() : g.tag("BlackElo").toInt(); if(elo >= 1000) { rating += elo; ++rated; } unsigned y = g.tag("Date").section(".", 0, 0).toInt(); if(y > 1000) { year += y; ++dated; } } MoveData::MoveData() { count = 0; for(int r = ResultUnknown; r <= BlackWin; ++r) { result[r] = 0; } year = rating = 0; dated = rated = 0; } ./chessx-1.3.2/src/database/movedata.h000644 000765 000024 00000002057 12510715746 017240 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef MOVEDATA_H #define MOVEDATA_H #include "game.h" class MoveData { public: enum MoveType {StandardMove, GameEnd}; MoveData(); void addGame(Game& g, Color c, MoveType movetype = StandardMove); double percentage() const; int averageRating() const; int averageYear() const; QString san; unsigned count; unsigned result[4]; long rating; unsigned rated; long year; unsigned dated; friend bool operator<(const MoveData& m1, const MoveData& m2); friend bool compareMove(const MoveData& m1, const MoveData& m2); friend bool compareScore(const MoveData& m1, const MoveData& m2); friend bool compareRating(const MoveData& m1, const MoveData& m2); friend bool compareYear(const MoveData& m1, const MoveData& m2); bool hasPercent() const; }; #endif // MOVEDATA_H ./chessx-1.3.2/src/database/movelist.h000644 000765 000024 00000002025 12223260306 017261 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 William Hoggarth * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ /** @ingroup Core Low level list of moves, used by bitboard */ #ifndef __MOVELIST_H__ #define __MOVELIST_H__ #include "move.h" #include class MoveList : public QVector { public: MoveList() : QVector() {} inline Move& add() { push_back(Move()); return back(); } }; #endif // __MOVELIST_H__ ./chessx-1.3.2/src/database/nag.cpp000644 000765 000024 00000062245 12517371645 016550 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006 William Hoggarth * * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "nag.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER QStringList NagSet::g_nagStringListLong; void NagSet::addNag(Nag nag) { if(contains(nag) || nag == NullNag || nag >= NagCount) { return; } if(nag >= MoveNagStart && nag <= MoveNagEnd && nag != ForcedMove && nag != SingularMove) { removeNagRange(MoveNagStart, MoveNagEnd); } if(conditionalRemoveNagRange(nag, EvaluationNagStart, EvaluationNagEnd)) { removeNag(WhiteHasModerateCounterplay); } if(conditionalRemoveNagRange(nag, WhiteHasModerateCounterplay, BlackHasModerateCounterplay)) { removeNagRange(EvaluationNagStart, EvaluationNagEnd); } conditionalRemoveNagRange(nag, BishopNagStart, BishopNagEnd); conditionalRemoveNagRange(nag, OpeningNagStart, OpeningNagEnd); conditionalRemoveNagRange(nag, MiddleGameNagStart, MiddleGameNagEnd); conditionalRemoveNagRange(nag, EndingNagStart, EndingNagEnd); append(nag); } bool NagSet::conditionalRemoveNagRange(Nag nag, Nag start, Nag end) { if(nag >= start && nag <= end) { removeNagRange(start, end); return true; } return false; } void NagSet::removeNag(Nag nag) { if(nag == NullNag) { return; } int index = indexOf(nag); if(index != -1) { remove(index); } } bool NagSet::isMoveNag(Nag nag) { return (nag >= MoveNagStart && nag <= MoveNagEnd); } bool NagSet::isEvalNag(Nag nag) { return ((nag >= EvaluationNagStart && nag <= EvaluationNagEnd) || (nag >= WhiteHasSlightCounterplay && nag <= BlackHasDecisiveCounterplay)); } bool NagSet::isOtherNag(Nag nag) { return ((nag < NagCount) && !isEvalNag(nag) && !isMoveNag(nag)); } QString NagSet::toString(unsigned format) const { QString moveNags; QString evaluationNags; QString otherNags; for(int i = 0; i < count(); ++i) { QString strNag; if(at(i) < NagCount) { switch(format) { case Simple: strNag = nagToString(at(i)); break; case PGN: strNag = " $" + QString::number(at(i)); break; case HTML: strNag = nagToStringHTML(at(i)); break; } } if(isMoveNag(at(i))) { moveNags.append(strNag); } else if(isEvalNag(at(i))) { evaluationNags.append(strNag); } else { otherNags.append(strNag); } } return moveNags + evaluationNags + otherNags; } static const QString g_nagStringList[NagCount] = { "", "!", "?", "!!", "??", "!?", "?!", QString::fromUtf8("â–¡"), QString::fromUtf8("â–¡"), "??", "=", "=", "=", QString::fromUtf8("∞"), "+=", "=+", QString::fromUtf8("±"), QString::fromUtf8("∓"), "+-", "-+", "++--", "--++", "\u2299", // Zugzwang "\u2299", // Zugzwang "With slight space advantage", "With slight space advantage", "With moderate space advantage", "With moderate space advantage", "With decisive space advantage", "With decisive space advantage", "With slight development advantage", "With slight development advantage", "\u21bb", // "With moderate development advantage" "\u21bb", // "With moderate development advantage" "\u21bb", // "With decisive development advantage" "\u21bb", // "With decisive development advantage" QString::fromUtf8("→"), // "With initiative" QString::fromUtf8("→"), // "With initiative" "With lasting initiative", "With lasting initiative", QString::fromUtf8("↑"), // "With attack" QString::fromUtf8("↑"), // "With attack" "With insufficient compensation for material deficit", "With insufficient compensation for material deficit", "\u224c", "\u224c", "With more than adequate compensation for material deficit", "With more than adequate compensation for material deficit", "With slight center control advantage", "With slight center control advantage", "With moderate center control advantage", "With moderate center control advantage", "With decisive center control advantage", "With decisive center control advantage", "With slight kingside control advantage", "With slight kingside control advantage", "With moderate kingside control advantage", "With moderate kingside control advantage", "With decisive kingside control advantage", "With decisive kingside control advantage", "With slight queenside control advantage", "With slight queenside control advantage", "With moderate queenside control advantage", "With moderate queenside control advantage", "With decisive queenside control advantage", "With decisive queenside control advantage", "With vulnerable first rank", "With vulnerable first rank", "With well protected first rank", "With well protected first rank", "With poorly protected king", "With poorly protected king", "With well protected king", "With well protected king", "With poorly placed king", "With poorly placed king", "With well placed king", "With well placed king", "With very weak pawn structure", "With very weak pawn structure", "With moderately weak pawn structure", "With moderately weak pawn structure", "With moderately strong pawn structure", "With moderately strong pawn structure", "With very strong pawn structure", "With very strong pawn structure", "With poor knight placement", "With poor knight placement", "With good knight placement", "With good knight placement", "With poor bishop placement", "With poor bishop placement", "With good bishop placement", "With good bishop placement", "With poor rook placement", "With poor rook placement", "With good rook placement", "With good rook placement", "With poor queen placement", "With poor queen placement", "With good queen placement", "With good queen placement", "With poor piece coordination", "With poor piece coordination", "With good piece coordination", "With good piece coordination", "White played the opening very poorly", "Black played the opening very poorly", "White played the opening poorly", "Black played the opening poorly", "White played the opening well", "Black played the opening well", "White played the opening very well", "Black played the opening very well", "White played the middlegame very poorly", "Black played the middlegame very poorly", "White played the middlegame poorly", "Black played the middlegame poorly", "White played the middlegame well", "Black played the middlegame well", "White played the middlegame very well", "Black played the middlegame very well", "White played the ending very poorly", "Black played the ending very poorly", "White played the ending poorly", "Black played the ending poorly", "White played the ending well", "Black played the ending well", "White played the ending very well", "Black played the ending very well", QString::fromUtf8("⇄"), QString::fromUtf8("⇄"), QString::fromUtf8("⇄"), QString::fromUtf8("⇄"), QString::fromUtf8("⇄"), QString::fromUtf8("⇄"), "Moderate time control pressure", "Moderate time control pressure", QString::fromUtf8("⊕"), // "Severe time control pressure" QString::fromUtf8("⊕"), // "Severe time control pressure" QString::fromUtf8("â–³"), "Aimed against", "\u2265", // "Better was" "<", // "Worse was" "Equivalent was", "RR", "N", "x", // "weak point" QString::fromUtf8("⊥"), // "endgame" QString::fromUtf8("⇔"), // "line" "\u21d7", // "diagonal", "\u29c9", // "pair of bishops" "\u29c9", // "pair of bishops" "\u25E8", // "bishops of opposite color" "\u259E", // "bishops of the same color" 0, 0, 0, 0, 0, 0, // 160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //200 "#" }; void NagSet::InitNagStringListLong() { g_nagStringListLong << "" << tr("Good Move") << tr("Poor Move") << tr("Very good Move") << tr("Blunder") << tr("Speculative Move") << tr("Dubious Move") << tr("Only Move") << tr("Only Move") << tr("Worst Move") << tr("Equal") << tr("Equal") << tr("Equal") << tr("Unclear") << tr("White has slight advantage") << tr("Black has slight advantage") << tr("White has moderate advantage") << tr("Black has moderate advantage") << tr("White has decisive advantage") << tr("Black has decisive advantage") << tr("White has crushing advantage") << tr("Black has crushing advantage") << tr("Zugzwang") << tr("Zugzwang") << tr("With slight space advantage") << tr("With slight space advantage") << tr("With moderate space advantage") << tr("With moderate space advantage") << tr("With decisive space advantage") << tr("With decisive space advantage") << tr("With slight development advantage") << tr("With slight development advantage") << tr("With moderate development advantage") << tr("With moderate development advantage") << tr("With decisive development advantage") << tr("With decisive development advantage") << tr("With initiative") << tr("With initiative") << tr("With lasting initiative") << tr("With lasting initiative") << tr("With attack") << tr("With attack") << tr("With insufficient compensation for material deficit") << tr("With insufficient compensation for material deficit") << tr("With compensation") << tr("With compensation") << tr("With more than adequate compensation for material deficit") << tr("With more than adequate compensation for material deficit") << tr("With slight center control advantage") << tr("With slight center control advantage") << tr("With moderate center control advantage") << tr("With moderate center control advantage") << tr("With decisive center control advantage") << tr("With decisive center control advantage") << tr("With slight kingside control advantage") << tr("With slight kingside control advantage") << tr("With moderate kingside control advantage") << tr("With moderate kingside control advantage") << tr("With decisive kingside control advantage") << tr("With decisive kingside control advantage") << tr("With slight queenside control advantage") << tr("With slight queenside control advantage") << tr("With moderate queenside control advantage") << tr("With moderate queenside control advantage") << tr("With decisive queenside control advantage") << tr("With decisive queenside control advantage") << tr("With vulnerable first rank") << tr("With vulnerable first rank") << tr("With well protected first rank") << tr("With well protected first rank") << tr("With poorly protected king") << tr("With poorly protected king") << tr("With well protected king") << tr("With well protected king") << tr("With poorly placed king") << tr("With poorly placed king") << tr("With well placed king") << tr("With well placed king") << tr("With very weak pawn structure") << tr("With very weak pawn structure") << tr("With moderately weak pawn structure") << tr("With moderately weak pawn structure") << tr("With moderately strong pawn structure") << tr("With moderately strong pawn structure") << tr("With very strong pawn structure") << tr("With very strong pawn structure") << tr("With poor knight placement") << tr("With poor knight placement") << tr("With good knight placement") << tr("With good knight placement") << tr("With poor bishop placement") << tr("With poor bishop placement") << tr("With good bishop placement") << tr("With good bishop placement") << tr("With poor rook placement") << tr("With poor rook placement") << tr("With good rook placement") << tr("With good rook placement") << tr("With poor queen placement") << tr("With poor queen placement") << tr("With good queen placement") << tr("With good queen placement") << tr("With poor piece coordination") << tr("With poor piece coordination") << tr("With good piece coordination") << tr("With good piece coordination") << tr("White played the opening very poorly") << tr("Black played the opening very poorly") << tr("White played the opening poorly") << tr("Black played the opening poorly") << tr("White played the opening well") << tr("Black played the opening well") << tr("White played the opening very well") << tr("Black played the opening very well") << tr("White played the middlegame very poorly") << tr("Black played the middlegame very poorly") << tr("White played the middlegame poorly") << tr("Black played the middlegame poorly") << tr("White played the middlegame well") << tr("Black played the middlegame well") << tr("White played the middlegame very well") << tr("Black played the middlegame very well") << tr("White played the ending very poorly") << tr("Black played the ending very poorly") << tr("White played the ending poorly") << tr("Black played the ending poorly") << tr("White played the ending well") << tr("Black played the ending well") << tr("White played the ending very well") << tr("Black played the ending very well") << tr("With counterplay") << tr("With counterplay") << tr("With counterplay") << tr("With counterplay") << tr("With counterplay") << tr("With counterplay") << tr("Moderate time control pressure") << tr("Moderate time control pressure") << tr("Severe time control pressure") << tr("Severe time control pressure") << tr("With the idea") << tr("Aimed against") << tr("Better was") << tr("Worse was") << tr("Equivalent was") << tr("RR") << tr("N") << tr("Weak point") << tr("Endgame") << tr("Line") << tr("Diagonal") << tr("Pair of bishops") << tr("Pair of bishops") << tr("Bishops of opposite color") << tr("Bishops of the same color") << "" << "" << "" << "" << "" << "" << // 160 "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << //180 "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << "" << //200 tr("Diagram"); } static const QString g_nagStringListHTML[NagCount] = { "", "!", "?", "!!", "??", "!?", "?!", QString::fromUtf8("â–¡"), QString::fromUtf8("â–¡"), "??", "=", "=", "=", "∝", "+=", "=+", "±", QString::fromUtf8("∓"), "+-", "-+", "++--", "--++", "\u2299", // Zugzwang "\u2299", // Zugzwang "With slight space advantage", "With slight space advantage", "With moderate space advantage", "With moderate space advantage", "With decisive space advantage", "With decisive space advantage", "With slight development advantage", "With slight development advantage", "\u21bb", // "With moderate development advantage" "\u21bb", // "With moderate development advantage" "\u21bb", // "With decisive development advantage" "\u21bb", // "With decisive development advantage" "→", // "With initiative" "→", // "With initiative" "With lasting initiative", "With lasting initiative", "↑", // "With attack" "↑", // "With attack" "With insufficient compensation for material deficit", "With insufficient compensation for material deficit", "\u224c", "\u224c", "With more than adequate compensation for material deficit", "With more than adequate compensation for material deficit", "With slight center control advantage", "With slight center control advantage", "With moderate center control advantage", "With moderate center control advantage", "With decisive center control advantage", "With decisive center control advantage", "With slight kingside control advantage", "With slight kingside control advantage", "With moderate kingside control advantage", "With moderate kingside control advantage", "With decisive kingside control advantage", "With decisive kingside control advantage", "With slight queenside control advantage", "With slight queenside control advantage", "With moderate queenside control advantage", "With moderate queenside control advantage", "With decisive queenside control advantage", "With decisive queenside control advantage", "With vulnerable first rank", "With vulnerable first rank", "With well protected first rank", "With well protected first rank", "With poorly protected king", "With poorly protected king", "With well protected king", "With well protected king", "With poorly placed king", "With poorly placed king", "With well placed king", "With well placed king", "With very weak pawn structure", "With very weak pawn structure", "With moderately weak pawn structure", "With moderately weak pawn structure", "With moderately strong pawn structure", "With moderately strong pawn structure", "With very strong pawn structure", "With very strong pawn structure", "With poor knight placement", "With poor knight placement", "With good knight placement", "With good knight placement", "With poor bishop placement", "With poor bishop placement", "With good bishop placement", "With good bishop placement", "With poor rook placement", "With poor rook placement", "With good rook placement", "With good rook placement", "With poor queen placement", "With poor queen placement", "With good queen placement", "With good queen placement", "With poor piece coordination", "With poor piece coordination", "With good piece coordination", "With good piece coordination", "White played the opening very poorly", "Black played the opening very poorly", "White played the opening poorly", "Black played the opening poorly", "White played the opening well", "Black played the opening well", "White played the opening very well", "Black played the opening very well", "White played the middlegame very poorly", "Black played the middlegame very poorly", "White played the middlegame poorly", "Black played the middlegame poorly", "White played the middlegame well", "Black played the middlegame well", "White played the middlegame very well", "Black played the middlegame very well", "White played the ending very poorly", "Black played the ending very poorly", "White played the ending poorly", "Black played the ending poorly", "White played the ending well", "Black played the ending well", "White played the ending very well", "Black played the ending very well", QString::fromUtf8("⇄"), QString::fromUtf8("⇄"), QString::fromUtf8("⇄"), QString::fromUtf8("⇄"), QString::fromUtf8("⇄"), QString::fromUtf8("⇄"), "Moderate time control pressure", "Moderate time control pressure", "⊕", // "Severe time control pressure" "⊕", // "Severe time control pressure" "Δ", "Aimed against", "\u2265", // "Better was" "<", // "Worse was" "Equivalent was", "RR", "N", "x", // "weak point" QString::fromUtf8("⊥"), // "endgame" "⇔", // "line" "\u21d7", // "diagonal", "\u29c9", // "pair of bishops" "\u29c9", // "pair of bishops" "\u25E8", // "bishops of opposite color" "\u259E", // "bishops of the same color" 0, 0, 0, 0, 0, 0, // 160 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //180 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //200 "" // Diagram is displayed graphically in HTML }; const QString& NagSet::nagToString(Nag nag) { return g_nagStringList[nag]; } const QString& NagSet::nagToStringHTML(Nag nag) { return g_nagStringListHTML[nag]; } QString NagSet::nagToMenuString(Nag nag) { if(NagSet::g_nagStringListLong.count() == 0) { InitNagStringListLong(); } if(g_nagStringList[nag].length() <= 2) { return QString("%1 (%2)").arg(g_nagStringList[nag]).arg(g_nagStringListLong[nag]); } else { return NagSet::nagToString(nag); } } Nag NagSet::fromString(const QString &nag) { for(int i = 1; i < NagCount; ++i) { if(g_nagStringList[i] == nag) { return Nag(i); } } return NullNag; } int NagSet::prefixCount(const QString &nag) { QSet matches; for(int i = 1; i < NagCount; ++i) { if(g_nagStringList[i].startsWith(nag)) { matches.insert(g_nagStringList[i]); } } return matches.count(); } void NagSet::removeNagRange(Nag from, Nag to) { for(int i = count() - 1; i >= 0; i--) if(at(i) >= from && at(i) <= to) { remove(i); } } ./chessx-1.3.2/src/database/nag.h000644 000765 000024 00000016770 12454502737 016215 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006 William Hoggarth * * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __NAG_H__ #define __NAG_H__ #include /* Don't forget to add string for each 'nag' in source file. */ typedef enum { NullNag, GoodMove, MoveNagStart = GoodMove, PoorMove, VeryGoodMove, VeryPoorMove, SpeculativeMove, QuestionableMove, ForcedMove, SingularMove, MoveNagEnd = SingularMove, WorstMove, DrawishPosition, EvaluationNagStart = DrawishPosition, EqualChancesQuietPosition, EqualChancesActivePosition, UnclearPosition, WhiteHasASlightAdvantage, BlackHasASlightAdvantage, WhiteHasAModerateAdvantage, BlackHasAModerateAdvantage, WhiteHasADecisiveAdvantage, BlackHasADecisiveAdvantage, WhiteHasACrushingAdvantage, BlackHasACrushingAdvantage, WhiteIsInZugzwang, BlackIsInZugzwang, WhiteHasASlightSpaceAdvantage, BlackHasASlightSpaceAdvantage, WhiteHasAModerateSpaceAdvantage, BlackHasAModerateSpaceAdvantage, WhiteHasADecisiveSpaceAdvantage, BlackHasADecisiveSpaceAdvantage, WhiteHasASlightTimeAdvantage, BlackHasASlightTimeAdvantage, WhiteHasAModerateTimeAdvantage, BlackHasAModerateTimeAdvantage, WhiteHasADecisiveTimeAdvantage, BlackHasADecisiveTimeAdvantage, WhiteHasTheInitiative, BlackHasTheInitiative, WhiteHasALastingInitiative, BlackHasALastingInitiative, WhiteHasTheAttack, BlackHasTheAttack, WhiteHasInsufficientCompensationForMaterialDeficit, BlackHasInsufficientCompensationForMaterialDeficit, WhiteHasSufficientCompensationForMaterialDeficit, BlackHasSufficientCompensationForMaterialDeficit, WhiteHasMoreThanAdequateCompensationForMaterialDeficit, BlackHasMoreThanAdequateCompensationForMaterialDeficit, WhiteHasASlightCenterControlAdvantage, BlackHasASlightCenterControlAdvantage, WhiteHasAModerateCenterControlAdvantage, BlackHasAModerateCenterControlAdvantage, WhiteHasADecisiveCenterControlAdvantage, BlackHasADecisiveCenterControlAdvantage, WhiteHasASlightKingsideControlAdvantage, BlackHasASlightKingsideControlAdvantage, WhiteHasAModerateKingsideControlAdvantage, BlackHasAModerateKingsideControlAdvantage, WhiteHasADecisiveKingsideControlAdvantage, BlackHasADecisiveKingsideControlAdvantage, WhiteHasASlightQueensideControlAdvantage, BlackHasASlightQueensideControlAdvantage, WhiteHasAModerateQueensideControlAdvantage, BlackHasAModerateQueensideControlAdvantage, WhiteHasADecisiveQueensideControlAdvantage, BlackHasADecisiveQueensideControlAdvantage, WhiteHasAVulnerableFirstRank, BlackHasAVulnerableFirstRank, WhiteHasAWellProtectedFirstRank, BlackHasAWellProtectedFirstRank, WhiteHasAPoorlyProtectedKing, BlackHasAPoorlyProtectedKing, WhiteHasAWellProtectedKing, BlackHasAWellProtectedKing, WhiteHasAPoorlyPlacedKing, BlackHasAPoorlyPlacedKing, WhiteHasAWellPlacedKing, BlackHasAWellPlacedKing, WhiteHasAVeryWeakPawnStructure, BlackHasAVeryWeakPawnStructure, WhiteHasAModeratelyWeakPawnStructure, BlackHasAModeratelyWeakPawnStructure, WhiteHasAModeratelyStrongPawnStructure, BlackHasAModeratelyStrongPawnStructure, WhiteHasAVeryStrongPawnStructure, BlackHasAVeryStrongPawnStructure, WhiteHasPoorKnightPlacement, BlackHasPoorKnightPlacement, WhiteHasGoodKnightPlacement, BlackHasGoodKnightPlacement, WhiteHasPoorBishopPlacement, BlackHasPoorBishopPlacement, WhiteHasGoodBishopPlacement, BlackHasGoodBishopPlacement, WhiteHasPoorRookPlacement, BlackHasPoorRookPlacement, WhiteHasGoodRookPlacement, BlackHasGoodRookPlacement, WhiteHasPoorQueenPlacement, BlackHasPoorQueenPlacement, WhiteHasGoodQueenPlacement, BlackHasGoodQueenPlacement, WhiteHasPoorPieceCoordination, BlackHasPoorPieceCoordination, WhiteHasGoodPieceCoordination, BlackHasGoodPieceCoordination, EvaluationNagEnd = BlackHasGoodPieceCoordination, WhiteHasPlayedTheOpeningVeryPoorly, OpeningNagStart = WhiteHasPlayedTheOpeningVeryPoorly, BlackHasPlayedTheOpeningVeryPoorly, WhiteHasPlayedTheOpeningPoorly, BlackHasPlayedTheOpeningPoorly, WhiteHasPlayedTheOpeningWell, BlackHasPlayedTheOpeningWell, WhiteHasPlayedTheOpeningVeryWell, BlackHasPlayedTheOpeningVeryWell, OpeningNagEnd = BlackHasPlayedTheOpeningVeryWell, WhiteHasPlayedTheMiddlegameVeryPoorly, MiddleGameNagStart = WhiteHasPlayedTheMiddlegameVeryPoorly, BlackHasPlayedTheMiddlegameVeryPoorly, WhiteHasPlayedTheMiddlegamePoorly, BlackHasPlayedTheMiddlegamePoorly, WhiteHasPlayedTheMiddlegameWell, BlackHasPlayedTheMiddlegameWell, WhiteHasPlayedTheMiddlegameVeryWell, BlackHasPlayedTheMiddlegameVeryWell, MiddleGameNagEnd = BlackHasPlayedTheMiddlegameVeryWell, WhiteHasPlayedTheEndingVeryPoorly, EndingNagStart = WhiteHasPlayedTheEndingVeryPoorly, BlackHasPlayedTheEndingVeryPoorly, WhiteHasPlayedTheEndingPoorly, BlackHasPlayedTheEndingPoorly, WhiteHasPlayedTheEndingWell, BlackHasPlayedTheEndingWell, WhiteHasPlayedTheEndingVeryWell, BlackHasPlayedTheEndingVeryWell, EndingNagEnd = BlackHasPlayedTheEndingVeryWell, WhiteHasSlightCounterplay, BlackHasSlightCounterplay, WhiteHasModerateCounterplay, BlackHasModerateCounterplay, WhiteHasDecisiveCounterplay, BlackHasDecisiveCounterplay, WhiteHasModerateTimeControlPressure, BlackHasModerateTimeControlPressure, WhiteHasSevereTimeControlPressure, BlackHasSevereTimeControlPressure, WithTheIdea, AimedAgainst, BetterMove, WorseMove, EquivalentMove, EditorsRemark, Novelty, WeakPoint, EndGame, Line, Diagonal, WhiteHasAPairOfBishops, BishopNagStart = WhiteHasAPairOfBishops, BlackHasAPairOfBishops, BishopsOfOppositeColor, BishopsOfSameColor, BishopNagEnd = BishopsOfSameColor, NagDiagram = 201, // SCID compatibility NagCount } Nag; /** @ingroup Database The NagSet class stores set of PGN NAGs. */ class NagSet : public QVector { Q_DECLARE_TR_FUNCTIONS(NagSet) public: enum { Simple, PGN, HTML }; /**< format of a string */ NagSet() {} NagSet(Nag nag) { addNag(nag); } void addNag(Nag nag); void removeNag(Nag nag); QString toString(unsigned format) const; static const QString& nagToString(Nag nag); static const QString& nagToStringHTML(Nag nag); static bool isMoveNag(Nag nag); static bool isEvalNag(Nag nag); static bool isOtherNag(Nag nag); static QString nagToMenuString(Nag nag); static int prefixCount(const QString& nag); static Nag fromString(const QString& nag); private: static void InitNagStringListLong(); static QStringList g_nagStringListLong; bool conditionalRemoveNagRange(Nag nag, Nag start, Nag end); void removeNagRange(Nag from, Nag to); }; #endif // __NAG_H__ ./chessx-1.3.2/src/database/openingtree.cpp000644 000765 000024 00000021340 12516436122 020300 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "database.h" #include "openingtree.h" #include "settings.h" #include "movedata.h" #include "openingtreethread.h" #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER const unsigned MinAveYear = 1; const unsigned MinAveRating = 5; bool compareMove(const MoveData& m1, const MoveData& m2) { return m1.san < m2.san; } bool compareScore(const MoveData& m1, const MoveData& m2) { return m1.percentage() < m2.percentage() || (m1.percentage() == m2.percentage() && m1.san < m2.san); } bool compareRating(const MoveData& m1, const MoveData& m2) { return m1.averageRating() < m2.averageRating() || (m1.averageRating() == m2.averageRating() && m1.san < m2.san); } bool compareYear(const MoveData& m1, const MoveData& m2) { return m1.averageYear() < m2.averageYear() || (m1.averageYear() == m2.averageYear() && m1.san < m2.san); } OpeningTreeThread oupd; bool OpeningTree::updateFilter(Filter& f, const Board& b, bool updateFilter, bool sourceIsFilter, bool bEnd) { if(!oupd.isRunning()) { if(&f == m_filter && b == m_board && m_bEnd == bEnd) { return true; } m_bEnd = bEnd; m_board = b; m_filter = &f; m_updateFilter = updateFilter; m_sourceIsDatabase = !sourceIsFilter; emit openingTreeUpdateStarted(); m_bRequestPending = false; connect(&oupd, SIGNAL(UpdateFinished(Board*)), this, SLOT(updateFinished(Board*)), Qt::UniqueConnection); connect(&oupd, SIGNAL(MoveUpdate(Board*,QList)), this, SLOT(moveUpdated(Board*,QList)), Qt::UniqueConnection); connect(&oupd, SIGNAL(UpdateTerminated(Board*)), this, SLOT(updateTerminated(Board*)), Qt::UniqueConnection); connect(&oupd, SIGNAL(progress(int)), SIGNAL(progress(int)), Qt::UniqueConnection); return oupd.updateFilter(f, b, m_games, m_updateFilter, m_sourceIsDatabase, m_bEnd); } else { if(&f == m_filter && b == m_board && m_bEnd == bEnd) { return true; } m_bEnd = bEnd; m_board = b; m_filter = &f; m_updateFilter = updateFilter; m_sourceIsDatabase = !sourceIsFilter; m_bRequestPending = true; oupd.cancel(); return false; } } void OpeningTree::cancel() { if(oupd.isRunning()) { m_bRequestPending = false; oupd.cancel(); oupd.wait(10000); } } void OpeningTree::updateFinished(Board* b) { emit openingTreeUpdated(); if(m_bRequestPending) { updateTerminated(b); } } void OpeningTree::moveUpdated(Board* b, QList moveList) { if (*b == m_board) { beginResetModel(); { m_moves = moveList; doSort(m_sortcolumn, m_order); } endResetModel(); } } void OpeningTree::updateTerminated(Board*) { if(m_bRequestPending) { emit openingTreeUpdateStarted(); m_bRequestPending = false; connect(&oupd, SIGNAL(UpdateFinished(Board*)), this, SLOT(updateFinished(Board*)), Qt::UniqueConnection); connect(&oupd, SIGNAL(MoveUpdate(Board*,QList)), this, SLOT(moveUpdated(Board*,QList)), Qt::UniqueConnection); connect(&oupd, SIGNAL(UpdateTerminated(Board*)), this, SLOT(updateTerminated(Board*)), Qt::UniqueConnection); connect(&oupd, SIGNAL(progress(int)), SIGNAL(progress(int)), Qt::UniqueConnection); oupd.updateFilter(*m_filter, m_board, m_games, m_updateFilter, m_sourceIsDatabase, m_bEnd); } } int OpeningTree::rowCount(const QModelIndex& parent) const { return parent.isValid() ? 0 : m_moves.count(); } int OpeningTree::columnCount(const QModelIndex&) const { return m_names.count(); } OpeningTree::OpeningTree(QObject* parent) : QAbstractTableModel(parent), m_sortcolumn(1), m_order(Qt::DescendingOrder), m_filter(0) { m_names << tr("Move") << tr("Count") << tr("Score") << tr("Rating") << tr("Year"); } QVariant OpeningTree::headerData(int section, Qt::Orientation orientation, int role) const { if(role == Qt::DisplayRole && orientation == Qt::Horizontal) { return m_names[section]; } else { return QVariant(); } } QPixmap OpeningTree::paintPercentage(int percentage) const { QRect fullRect(QPoint(0,0),QSize(41, AppSettings->getValue("/General/ListFontSize").toInt())); QImage rowImg = QImage(fullRect.size(),QImage::Format_RGB16); rowImg.fill(Qt::white); fullRect = fullRect.adjusted(0,0,-1,-1); QPainter p; p.begin(&rowImg); p.setPen(QPen(QColor(Qt::black))); p.drawRect(fullRect); int percentWidth = (percentage * fullRect.width()) / 100; int remainder = fullRect.width() - percentWidth; QRect blackRect(QPoint(percentWidth, 0), QSize(remainder, fullRect.height())); p.setBrush(QBrush(QColor(Qt::gray), Qt::SolidPattern)); p.drawRect(blackRect); p.end(); return QPixmap().fromImage(rowImg); } bool OpeningTree::bEnd() const { return m_bEnd; } Filter *OpeningTree::filter() const { return m_filter; } QVariant OpeningTree::data(const QModelIndex& index, int role) const { if(!index.isValid() || index.row() >= m_moves.count()) { return QVariant(); } switch (role) { case Qt::DisplayRole: { switch(index.column()) { case 0: return QString("%1: %2").arg(index.row() + 1).arg(m_moves[index.row()].san); case 1: { if(m_games == 0) { return ""; } int percentage = m_moves[index.row()].count * 1000 / m_games / 10.0; QString approx; if(percentage == 0) { percentage = 1; approx = "<"; } return QString("%1: %2%3%") .arg(m_moves[index.row()].count) .arg(approx) .arg(percentage); } case 2: if (m_moves[index.row()].hasPercent()) return QString("%1%").arg(m_moves[index.row()].percentage()); break; case 3: return m_moves[index.row()].rated >= MinAveRating ? m_moves[index.row()].averageRating() : QVariant(); case 4: return m_moves[index.row()].dated >= MinAveYear ? m_moves[index.row()].averageYear() : QVariant(); default: return QVariant(); } break; } case Qt::DecorationRole: { if ((index.column() == 2) && m_moves[index.row()].hasPercent()) { return paintPercentage(m_moves[index.row()].percentage()); } break; } } return QVariant(); } void OpeningTree::doSort(int column, Qt::SortOrder order) { m_sortcolumn = column; m_order = order; switch(column) { case 0: qSort(m_moves.begin(), m_moves.end(), compareMove); break; case 1: qSort(m_moves.begin(), m_moves.end()); break; case 2: qSort(m_moves.begin(), m_moves.end(), compareScore); break; case 3: qSort(m_moves.begin(), m_moves.end(), compareRating); break; case 4: qSort(m_moves.begin(), m_moves.end(), compareYear); break; }; if(order == Qt::DescendingOrder) { for(int i = 0; i < m_moves.count() / 2; ++i) { qSwap(m_moves[i], m_moves[m_moves.count() - i - 1]); } } } void OpeningTree::sort(int column, Qt::SortOrder order) { beginResetModel(); doSort(column, order); endResetModel(); } void OpeningTree::sort() { sort(m_sortcolumn, m_order); } QString OpeningTree::move(const QModelIndex& index) const { return index.isValid() ? m_moves[index.row()].san : QString(); } Board OpeningTree::board() const { return m_board; } ./chessx-1.3.2/src/database/openingtree.h000644 000765 000024 00000005643 12507561510 017755 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __OPENINGTREE_H__ #define __OPENINGTREE_H__ #include "movedata.h" #include #include class Filter; /** @ingroup Search The OpeningTree class is a class to calculate opening tree for given position. */ class OpeningTree : public QAbstractTableModel { Q_OBJECT public: /** Empty constructor. */ OpeningTree(QObject* parent); /** Calculate opening tree from given position, using given filter. It sets the filter to contain only game matching position @p b . @return true if the update was not cancelled.*/ bool updateFilter(Filter& f, const Board& b, bool updateFilter, bool sourceIsFilter, bool bEnd); /** Returns the number of moves in the Opening Tree */ virtual int rowCount(const QModelIndex &parent = QModelIndex()) const; /** Returns the number of columns of the Opening Tree */ virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; /** Returns an item of data given the item 'index' */ virtual QVariant data(const QModelIndex &index, int role) const; /** Returns the header information for header 'section' */ virtual QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; /** Support sorting. */ virtual void sort(int column, Qt::SortOrder order); /** Support sorting. */ virtual void sort(); /** Do the sorting under a lock */ void doSort(int column, Qt::SortOrder order); /** Move leading to given entry. */ QString move(const QModelIndex& index) const; /** Current Board */ Board board() const; Filter *filter() const; bool bEnd() const; public slots: /** Cancel a running update */ void cancel(); protected slots: void updateFinished(Board*); void updateTerminated(Board*); void moveUpdated(Board* b, QList moveList); signals: void progress(int); void openingTreeUpdated(); void openingTreeUpdateStarted(); protected: QPixmap paintPercentage(int percentage) const; private: bool m_bRequestPending; QList m_moves; int m_games; QStringList m_names; int m_sortcolumn; Qt::SortOrder m_order; Board m_board; QPointer m_filter; bool m_updateFilter; bool m_sourceIsDatabase; bool m_bEnd; }; #endif ./chessx-1.3.2/src/database/openingtreethread.cpp000644 000765 000024 00000011606 12507561510 021474 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "openingtreethread.h" #include "database.h" #include "polyglotdatabase.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER double MoveData::percentage() const { unsigned c = result[ResultUnknown] + 2 * result[WhiteWin] + result[Draw]; return c * 500 / count / 10.0; } bool MoveData::hasPercent() const { int n = 0; for (int i=0; i<4; ++i) { n += result[i]; } return (n>0); } int MoveData::averageRating() const { return rated ? rating / rated : 0; } int MoveData::averageYear() const { return dated ? year / dated : 0; } bool operator<(const MoveData& m1, const MoveData& m2) { return m1.count < m2.count || (m1.count == m2.count && m1.san < m2.san); } void OpeningTreeThread::run() { Game g; QMap moves; int games = 0; QTime updateTime = QTime::currentTime().addSecs(1); emit progress(0); QList moveList; emit MoveUpdate(&m_board, moveList); int n = m_filter ? m_filter->size() : 0; if (PolyglotDatabase* pgdb = qobject_cast(m_filter->database())) { n = pgdb->positionCount(); quint64 key = pgdb->getHashFromBoard(m_board); pgdb->reset(); for (int i=0; ifindMove(key,m)) { Board b = m_board; if (b.pieceAt(e1)==WhiteKing) { if (m.san=="e1a1") m.san = "e1c1"; else if (m.san=="e1h1") m.san = "e1g1"; } if (b.pieceAt(e8)==BlackKing) { if (m.san=="e8a8") m.san = "e8c8"; else if (m.san=="e8h8") m.san = "e8g8"; } Move move = b.parseMove(m.san); m.san = b.moveToSan(move); moves[move] = m; games += m.count; } ProgressUpdate(moves, updateTime, games, i, n); if(m_break) { break; } } } else for(int i = 0; i < n; ++i) { if (m_sourceIsDatabase || m_filter->contains(i)) { m_filter->database()->loadGameMoves(i, g); int id = g.findPosition(m_board); if((id != NO_MOVE) && (m_bEnd ? g.atGameEnd(id) : true)) { if(m_updateFilter) { m_filter->set(i, id + 1); // not zero means success, but id could be 0. } m_filter->database()->loadGameHeaders(i, g); g.dbMoveToId(id); if(g.atGameEnd()) { moves[Move()].addGame(g, m_board.toMove(), MoveData::GameEnd); } else { g.forward(); moves[g.move()].addGame(g, m_board.toMove()); } ++games; } else { if(m_updateFilter) { m_filter->set(i, 0); } } } ProgressUpdate(moves, updateTime, games, i, n); if(m_break) { break; } } *m_games = games; if(!m_break) { QList moveList; for(QMap::iterator it = moves.begin(); it != moves.end(); ++it) { moveList.append(it.value()); } emit MoveUpdate(&m_board, moveList); emit UpdateFinished(&m_board); } else { emit UpdateTerminated(&m_board); } } void OpeningTreeThread::cancel() { m_break = true; } bool OpeningTreeThread::updateFilter(Filter& f, const Board& b, int& g, bool updateFilter, bool sourceIsDatabase, bool bEnd) { m_break = false; m_filter = &f; m_board = b; m_games = &g; m_bEnd = bEnd; m_updateFilter = updateFilter; m_sourceIsDatabase = sourceIsDatabase; // todo: if running wait for stop start(); return true; } void OpeningTreeThread::ProgressUpdate(QMap &moves, QTime& updateTime, int games, int i, int n) { if (updateTime<=QTime::currentTime()) { updateTime = QTime::currentTime().addSecs(3); emit progress(i * 100 / n); if(!m_break) { *m_games = games; QList moveList; for(QMap::iterator it = moves.begin(); it != moves.end(); ++it) { moveList.append(it.value()); } emit MoveUpdate(&m_board, moveList); } } } ./chessx-1.3.2/src/database/openingtreethread.h000644 000765 000024 00000002026 12507561510 021135 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef OPENINGTREETHREAD_H #define OPENINGTREETHREAD_H #include "filter.h" #include "game.h" #include "movedata.h" #include class OpeningTreeThread : public QThread { Q_OBJECT public: void run(); void cancel(); bool updateFilter(Filter& f, const Board& b, int&, bool updateFilter, bool sourceIsDatabase, bool bEnd); signals: void MoveUpdate(Board*, QList); void UpdateFinished(Board*); void UpdateTerminated(Board*); void progress(int); protected: void ProgressUpdate(QMap& moves, QTime &updateTime, int games, int i, int n); private: int* m_games; bool m_break; Board m_board; QPointer m_filter; bool m_updateFilter; bool m_sourceIsDatabase; bool m_bEnd; }; #endif // OPENINGTREETHREAD_H ./chessx-1.3.2/src/database/output.cpp000644 000765 000024 00000100324 12521415120 017310 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006-2007 Marius Roets * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include "board.h" #include "boardview.h" #include "output.h" #include "settings.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER QMap Output::m_outputMap; Output::Output(OutputType output, const QString& pathToTemplateFile) { m_outputType = output; switch(m_outputType) { case Html: m_options.createDefaultOptions(""); break; case Pgn: m_options.createDefaultOptions(""); break; case Latex: m_options.createDefaultOptions(""); break; case NotationWidget: m_options.createDefaultOptions("GameText"); break; default: Q_ASSERT(false); } setTemplateFile(pathToTemplateFile); initialize(); } void Output::initialize() { if(m_outputType == Pgn) { m_newlineChar = "\n"; } else if(m_outputType == Html) { m_newlineChar = "
\n"; } else if(m_outputType == Latex) { m_newlineChar = "\n"; } else if(m_outputType == NotationWidget) { m_newlineChar = "
\n"; } readTemplateFile(m_templateFilename); } void Output::readTemplateFile(const QString& path) { QFile file(path); QStringList optionDefFields; enum ReadingStatus {NONE, ReadingOptionDefs, ReadingOptions, ReadingOutputHeader, ReadingOutputFooter, ReadingMarkupTags}; ReadingStatus status = NONE; m_header = ""; m_footer = ""; if(file.open(QIODevice::ReadOnly)) { QTextStream stream(&file); QString line; int i = 0; while(!stream.atEnd()) { line = stream.readLine(); // line of text excluding '\n' i++; if((line.indexOf(QRegExp("^\\s*$")) != -1) || (line.indexOf(QRegExp("^\\s*#")) != -1)) { // Skip blank lines and comments (#) continue; } if(line == "[OPTIONSDEFINITIONS]") { status = ReadingOptionDefs; continue; } else if(line == "[OPTIONS]") { status = ReadingOptions; continue; } else if(line == "[OUTPUTHEADER]") { status = ReadingOutputHeader; continue; } else if(line == "[OUTPUTFOOTER]") { status = ReadingOutputFooter; continue; } else if(line == "[MARKUPTAGS]") { status = ReadingMarkupTags; continue; } // Hack to replace \\n with newline but leavin tags like \\newenvironment intact line.replace("\\\\n", "\\\\^"); line.replace("\\n", "\n"); line.replace("\\\\^", "\\n"); switch(status) { case ReadingOptionDefs: optionDefFields = line.split(","); if(!m_options.createOption(optionDefFields[0], optionDefFields[1], optionDefFields[2], optionDefFields[3], optionDefFields[4])) { qWarning("Could not create option. Ignoring line %d in file %s :\n%s", i, path.toLatin1().constData(), line.toLatin1().constData()); } break; case ReadingOptions: if(!m_options.setOption(line)) { qWarning("Invalid option or value in file %s line %d. Ignoring : %s", path.toLatin1().constData(), i, line.toLatin1().constData()); } break; case ReadingOutputHeader: m_header += line; break; case ReadingOutputFooter: m_footer += line; break; case ReadingMarkupTags: { QString name = line.mid(0, line.indexOf('=')); QStringList tags = (line.mid(line.indexOf('=') + 1)).split(','); if(name == "MarkupHeaderBlock") { setMarkupTag(MarkupHeaderBlock, tags[0], tags[1]); } else if(name == "MarkupNotationBlock") { setMarkupTag(MarkupNotationBlock, tags[0], tags[1]); } else if(name == "MarkupResult") { setMarkupTag(MarkupResult, tags[0], tags[1]); } else if(name == "MarkupDiagram") { setMarkupTag(MarkupDiagram, tags[0], tags[1]); } else if(name == "MarkupMainLineMove") { setMarkupTag(MarkupMainLineMove, tags[0], tags[1]); } else if(name == "MarkupVariationMove") { setMarkupTag(MarkupVariationMove, tags[0], tags[1]); } else if(name == "MarkupMainLine") { setMarkupTag(MarkupMainLine, tags[0], tags[1]); } else if(name == "MarkupVariationInline") { setMarkupTag(MarkupVariationInline, tags[0], tags[1]); } else if(name == "MarkupVariationResume") { setMarkupTag(MarkupVariationResume, tags[0], tags[1]); } else if(name == "MarkupVariationIndent") { setMarkupTag(MarkupVariationIndent, tags[0], tags[1]); } else if(name == "MarkupNag") { setMarkupTag(MarkupNag, tags[0], tags[1]); } else if(name == "MarkupAnnotationInline") { setMarkupTag(MarkupAnnotationInline, tags[0], tags[1]); } else if(name == "MarkupAnnotationIndent") { setMarkupTag(MarkupAnnotationIndent, tags[0], tags[1]); } else if(name == "MarkupPreAnnotationInline") { setMarkupTag(MarkupPreAnnotationInline, tags[0], tags[1]); } else if(name == "MarkupPreAnnotationIndent") { setMarkupTag(MarkupPreAnnotationIndent, tags[0], tags[1]); } else if(name == "MarkupHeaderLine") { setMarkupTag(MarkupHeaderLine, tags[0], tags[1]); } else if(name == "MarkupHeaderTagName") { setMarkupTag(MarkupHeaderTagName, tags[0], tags[1]); } else if(name == "MarkupHeaderTagValue") { setMarkupTag(MarkupHeaderTagValue, tags[0], tags[1]); } else if(name == "MarkupWhiteTag") { setMarkupTag(MarkupWhiteTag, tags[0], tags[1]); } else if(name == "MarkupBlackTag") { setMarkupTag(MarkupBlackTag, tags[0], tags[1]); } else if(name == "MarkupEventTag") { setMarkupTag(MarkupEventTag, tags[0], tags[1]); } else if(name == "MarkupDateTag") { setMarkupTag(MarkupDateTag, tags[0], tags[1]); } else if(name == "MarkupSiteTag") { setMarkupTag(MarkupSiteTag, tags[0], tags[1]); } else if(name == "MarkupResultTag") { setMarkupTag(MarkupResultTag, tags[0], tags[1]); } else if(name == "MarkupRoundTag") { setMarkupTag(MarkupRoundTag, tags[0], tags[1]); } else if(name == "MarkupColumnStyleMove") { setMarkupTag(MarkupColumnStyleMove, tags[0], tags[1]); } else if(name == "MarkupColumnStyleRow") { setMarkupTag(MarkupColumnStyleRow, tags[0], tags[1]); } else if(name == "MarkupColumnStyleMainline") { setMarkupTag(MarkupColumnStyleMainline, tags[0], tags[1]); } else if(name == "MarkupMate") { setMarkupTag(MarkupMate, tags[0], tags[1]); } else { qWarning("Unknown Markup Tag found in file %s line %d. Ignoring : %s", path.toLatin1().constData(), i, line.toLatin1().constData()); } } break; default : qWarning("Unknown Section in Template File %s line %d : %s", path.toLatin1().constData(), i, line.toLatin1().constData()); } } file.close(); } } QMap& Output::getFormats() { m_outputMap.clear(); m_outputMap[Html] = "Html Output"; m_outputMap[Pgn] = "Pgn Output"; m_outputMap[Latex] = "Latex Output"; m_outputMap[NotationWidget] = "Notation Widget Output"; return m_outputMap; } QString Output::writeDiagram(int n) const { QString imageString; if((m_outputType == NotationWidget) && (AppSettings->getValue("/GameText/ShowDiagrams").toBool())) { BoardView boardView(0, BoardView::IgnoreSideToMove | BoardView::SuppressGuessMove); boardView.setMinimumSize(n, n); boardView.setEnabled(false); boardView.configure(); Game g = m_game; g.forward(1); boardView.setBoard(g.board()); boardView.resize(n, n); QPalette Pal(boardView.palette()); // set black background Pal.setColor(QPalette::Background, Qt::transparent); boardView.setAutoFillBackground(true); boardView.setPalette(Pal); QPixmap pixmap(n, n); pixmap.fill(); boardView.render(&pixmap); QImage image = pixmap.toImage(); QByteArray byteArray; QBuffer buffer(&byteArray); image.save(&buffer, "PNG"); // writes the image in PNG format inside the buffer QString iconBase64 = QString::fromLatin1(byteArray.toBase64().data()); imageString = QString("\n") + m_startTagMap[MarkupDiagram] + "Diagram\n" + m_endTagMap[MarkupDiagram]; } return imageString; } QString Output::writeMove(MoveToWrite moveToWrite) { QString text; QString mvno; QString nagString; QString imageString; QString precommentString; MoveId moveId; if(moveToWrite == NextMove) { moveId = m_game.nextMove(); } else { moveId = m_game.currentMove(); } mvno = QString::number(moveId); if(m_game.nags(moveId).count() > 0) { if(m_options.getOptionAsBool("SymbolicNag")) { nagString += m_game.nags(moveId).toString(m_outputType == Html ? NagSet::HTML : NagSet::Simple); if((m_outputType == Html || m_outputType == NotationWidget) && (m_game.nags(moveId).contains(NagDiagram))) { int n = m_options.getOptionAsInt("DiagramSize"); if(n) { imageString = writeDiagram(n); } } } else { nagString += m_game.nags(moveId).toString(NagSet::PGN); } } // Read comments if(m_game.canHaveStartAnnotation(moveId)) precommentString = (m_outputType == Pgn) ? m_game.annotation(moveId, Game::BeforeMove) : m_game.textAnnotation(moveId, Game::BeforeMove); QString commentString = (m_outputType == Pgn) ? m_game.annotation(moveId) : m_game.textAnnotation(moveId); // Write precomment if any text += writeComment(precommentString, mvno, Precomment); Color c = m_game.board().toMove(); if((m_options.getOptionAsBool("ColumnStyle")) && (m_currentVariationLevel == 0) && ((c == White) || m_dirtyBlack)) { text += m_startTagMap[MarkupColumnStyleRow] + m_startTagMap[MarkupColumnStyleMove]; } else if((m_options.getOptionAsBool("ColumnStyle")) && (m_currentVariationLevel == 0) && (c == Black)) { text += m_startTagMap[MarkupColumnStyleMove]; } // *** Write the move number if(moveToWrite == PreviousMove) { c = oppositeColor(c); } if(c == White) { text += QString::number(m_game.moveNumber(moveId)) + ". "; } else if(m_dirtyBlack) { text += QString::number(m_game.moveNumber(moveId)) + "... "; if((m_options.getOptionAsBool("ColumnStyle")) && (m_currentVariationLevel == 0)) { text += m_endTagMap[MarkupColumnStyleMove] + m_startTagMap[MarkupColumnStyleMove]; } } m_dirtyBlack = false; // *** Markup for the move if(m_currentVariationLevel > 0) { if(m_expandable[MarkupVariationMove]) { text += m_startTagMap[MarkupVariationMove].arg(mvno); } else { text += m_startTagMap[MarkupVariationMove]; } } else { if(m_expandable[MarkupMainLineMove]) { text += m_startTagMap[MarkupMainLineMove].arg(mvno); } else { text += m_startTagMap[MarkupMainLineMove]; } } // *** Write the actual move QString san; Game::MoveStringFlags flags = (m_outputType == NotationWidget) ? Game::TranslatePiece : Game::MoveOnly; if(moveToWrite == NextMove) { san = m_game.moveToSan(flags); } else { san = m_game.moveToSan((Game::MoveStringFlags)(flags | Game::MoveOnly), Game::PreviousMove); } QString mate = m_startTagMap[MarkupMate] + "#" + m_endTagMap[MarkupMate]; san.replace("#", mate); text += san; // *** End the markup for the move if(m_currentVariationLevel > 0) { text += m_endTagMap[MarkupVariationMove]; } else { text += m_endTagMap[MarkupMainLineMove]; } // *** Write the nags if there are any if(!nagString.isEmpty()) { text += m_startTagMap[MarkupNag] + nagString + m_endTagMap[MarkupNag]; } if((m_options.getOptionAsBool("ColumnStyle")) && (m_currentVariationLevel == 0) && (c == White)) { text += m_endTagMap[MarkupColumnStyleMove]; m_game.forward(); if(m_game.atGameEnd()) { text += m_endTagMap[MarkupColumnStyleRow]; } m_game.backward(); } if((m_options.getOptionAsBool("ColumnStyle")) && (m_currentVariationLevel == 0) && (c == Black)) { text += m_endTagMap[MarkupColumnStyleMove] + m_endTagMap[MarkupColumnStyleRow]; } text += imageString; if(!imageString.isEmpty()) { m_dirtyBlack = true; } text += writeComment(commentString, mvno, Comment); if (m_game.hasNextMove()) { text += " "; } return text; } QString Output::writeMainLine(MoveId upToNode) { QString text; while(!m_game.atLineEnd()) { // Training mode: abort main line with current node if(m_game.currentMove() == upToNode) { if(m_options.getOptionAsBool("ColumnStyle")) { text += m_endTagMap[MarkupColumnStyleMainline]; } text += "***"; break; } // *** Write moves in the main line text += writeMove(); bool hasNext = m_game.hasNextMove(); if(m_game.variationCount()) { QList variations = m_game.variations(); if(variations.size()) { if(m_options.getOptionAsBool("ColumnStyle")) { text += m_endTagMap[MarkupColumnStyleMainline]; } for(int i = 0; i < variations.size(); ++i) { // *** Enter variation i, and write the rest of the moves m_game.dbMoveToId(variations[i]); text += writeVariation(); } if(hasNext && m_options.getOptionAsBool("ColumnStyle")) { text += m_startTagMap[MarkupColumnStyleMainline]; } } m_dirtyBlack = true; m_game.dbMoveToId(m_game.parentMove()); } m_game.forward(); } return text; } QString Output::writeVariation() { QString text; m_currentVariationLevel++; bool indent = (m_currentVariationLevel < m_options.getOptionAsInt("VariationIndentLevel")); bool willStartIndent = (m_currentVariationLevel+1 == m_options.getOptionAsInt("VariationIndentLevel")); if (indent) text += m_startTagMap[MarkupVariationResume]; text += m_startTagMap[indent ? MarkupVariationIndent : MarkupVariationInline]; m_dirtyBlack = true; text += writeMove(PreviousMove); bool mustAddStart = false; while(!m_game.atLineEnd()) { if (mustAddStart) { mustAddStart = false; if (indent) text += m_startTagMap[MarkupVariationResume]; } // *** Writes move in the current variation text += writeMove(); if(m_game.variationCount()) { if (indent && !willStartIndent) text += m_endTagMap[MarkupVariationResume]; QList variations = m_game.variations(); if(variations.size()) { for(int i = 0; i < variations.size(); ++i) { // *** Enter variation i, and write the rest of the moves m_game.dbMoveToId(variations[i]); text += writeVariation(); } mustAddStart = true; } m_dirtyBlack = true; m_game.dbMoveToId(m_game.parentMove()); } m_game.forward(); } text += m_endTagMap[indent ? MarkupVariationIndent : MarkupVariationInline]; if (indent) text += m_endTagMap[MarkupVariationResume]; m_currentVariationLevel--; return text; } QString Output::writeTag(const QString& tagName, const QString& tagValue) const { QString text = m_startTagMap[MarkupHeaderLine] + m_startTagMap[MarkupHeaderTagName] + tagName + m_endTagMap[MarkupHeaderTagName] + " " + m_startTagMap[MarkupHeaderTagValue] + tagValue + m_endTagMap[MarkupHeaderTagValue] + m_endTagMap[MarkupHeaderLine]; return text; } QString Output::writeComment(const QString& comment, const QString& mvno, CommentType type) { QString text; if(comment.isEmpty()) { return text; } MarkupType markupIndent = type == Comment ? MarkupAnnotationIndent : MarkupPreAnnotationIndent; MarkupType markupInline = type == Comment ? MarkupAnnotationInline : MarkupPreAnnotationInline; if(m_options.getOptionAsBool("ColumnStyle") && (m_currentVariationLevel == 0)) { text += m_endTagMap[MarkupColumnStyleMainline]; } if((m_options.getOptionAsString("CommentIndent") == "Always") || ((m_options.getOptionAsString("CommentIndent") == "OnlyMainline") && (m_currentVariationLevel == 0))) { if(m_expandable[markupIndent]) { text += m_startTagMap[markupIndent].arg(mvno) + comment + m_endTagMap[markupIndent]; } else { text += m_startTagMap[markupIndent] + comment + m_endTagMap[markupIndent]; } } else { if(m_expandable[markupInline]) { text += m_startTagMap[markupInline].arg(mvno) + comment + m_endTagMap[markupInline]; } else { text += m_startTagMap[markupInline] + comment + m_endTagMap[markupInline]; } } if(m_options.getOptionAsBool("ColumnStyle") && (m_currentVariationLevel == 0)) { text += m_startTagMap[MarkupColumnStyleMainline]; } m_dirtyBlack = true; return text; } QString Output::writeGameComment(QString comment) const { QString text; comment = comment.trimmed(); if(comment.isEmpty()) { return text; } MarkupType markupIndent = MarkupPreAnnotationIndent; MarkupType markupInline = MarkupPreAnnotationInline; if(m_options.getOptionAsBool("ColumnStyle")) { text += m_endTagMap[MarkupColumnStyleMainline]; } if((m_options.getOptionAsString("CommentIndent") == "Always") || ((m_options.getOptionAsString("CommentIndent") == "OnlyMainline"))) { text += m_startTagMap[markupIndent] + comment + m_endTagMap[markupIndent]; } else { text += m_startTagMap[markupInline] + comment + m_endTagMap[markupInline]; } if(m_options.getOptionAsBool("ColumnStyle")) { text += m_startTagMap[MarkupColumnStyleMainline]; } return text; } QString Output::writeAllTags() const { QString text; TagMap tags = m_game.tags(); // write standard tags for(int i = 0; i < 7; ++i) { text += writeTag(StandardTags[i], tags[StandardTags[i]]); tags.remove(StandardTags[i]); } QList keys = tags.keys(); qSort(keys); // write other tags written in ascii order, as suggested by standard foreach(QString key,keys) { QString value = tags.value(key); // workaround for problems with IndexItem implementation if(!value.isEmpty() && value != "?" && value != PDInvalidDate.asString() && key != TagNameLength) { text += writeTag(key, value); } } return text; } QString Output::writeBasicTagsHTML() const { QString text; TagMap tags = m_game.tags(); QString eco = tags[TagNameECO].left(3); if(eco == "?") { eco.clear(); } else { eco = QString(" ") + eco; } QString whiteElo = tags[TagNameWhiteElo].length() > 1 ? QString(" (%1)").arg(tags[TagNameWhiteElo]) : QString(); QString blackElo = tags[TagNameBlackElo].length() > 1 ? QString(" (%1)").arg(tags[TagNameBlackElo]) : QString(); text += m_startTagMap[MarkupHeaderLine] + tags[TagNameWhite] + whiteElo + " - " + tags[TagNameBlack] + blackElo + eco + m_endTagMap[MarkupHeaderLine] + "\n"; QString event = tags[TagNameEvent] != "?" ? QString("%1").arg(tags[TagNameEvent]) : QString(); QString place = tags[TagNameSite] != "?" ? QString("%1").arg(tags[TagNameSite]) : QString(); QString round = tags[TagNameRound] != "?" ? QString(" (%1)").arg(tags[TagNameRound]) : QString(); if(!(QString(event + place + round)).isEmpty()) text += m_startTagMap[MarkupHeaderLine] + event + ((!event.isEmpty() && !place.isEmpty()) ? ", " : "") + place + round + m_endTagMap[MarkupHeaderLine] + "\n"; return text; } QString Output::output(Game* game, bool upToCurrentMove) { QString text = m_header; postProcessOutput(text); text += outputTags(game); QString gameText = outputGame(game, upToCurrentMove); postProcessOutput(gameText); text += gameText; QString footer = m_footer; postProcessOutput(footer); text += footer; return text; } QString Output::outputTags(Game* game) { QString text; m_game = *game; if(m_options.getOptionAsBool("ShowHeader")) { text += m_startTagMap[MarkupHeaderBlock]; if(m_outputType == Html) { text += writeBasicTagsHTML(); } else { text += writeAllTags(); } text += m_endTagMap[MarkupHeaderBlock]; } return text; } QString Output::outputGame(const Game* g, bool upToCurrentMove) { QString text; m_game = *g; int id = m_game.currentMove(); int mainId = upToCurrentMove ? m_game.mainLineMove() : NO_MOVE; m_currentVariationLevel = 0; m_game.moveToStart(); m_dirtyBlack = m_game.board().toMove() == Black; text += m_startTagMap[MarkupNotationBlock]; text += m_startTagMap[MarkupMainLine]; if(m_options.getOptionAsBool("ColumnStyle")) { text += m_startTagMap[MarkupColumnStyleMainline]; } text += writeGameComment(m_game.gameComment()); text += writeMainLine(mainId); if(m_options.getOptionAsBool("ColumnStyle")) { text += m_endTagMap[MarkupColumnStyleMainline]; } text += m_endTagMap[MarkupMainLine]; text += m_endTagMap[MarkupNotationBlock]; text += m_startTagMap[MarkupResult] + m_game.tag(TagNameResult) + m_endTagMap[MarkupResult]; m_game.dbMoveToId(id); return text; } void Output::postProcessOutput(QString& text) const { QRegExp var("@(\\w+)@"); while(var.indexIn(text) != -1) { QStringList cap = var.capturedTexts(); text.replace("@" + cap[1] + "@", m_options.getOptionAsString(cap[1])); } // Chop it up, if TextWidth option is not equal to 0 int start = 0; int textWidth = m_options.getOptionAsInt("TextWidth"); if(textWidth) { int length = text.length() - start; while(length > textWidth) { start = text.lastIndexOf(" ", start + textWidth); if(start == -1) { break; } text.replace(start, 1, '\n'); length = text.length() - start; } } } void Output::output(QTextStream& out, Filter& filter) { int percentDone = 0; Game game; QString header = m_header; postProcessOutput(header); out << header; for(int i = 0; i < filter.count(); ++i) { if(filter.database()->loadGame(filter.indexToGame(i), game)) { QString tagText = outputTags(&game); out << tagText; QString outText = outputGame(&game, false); postProcessOutput(outText); out << outText; out << "\n\n"; } int percentDone2 = (i + 1) * 100 / filter.count(); if(percentDone2 > percentDone) { emit progress((percentDone = percentDone2)); } } QString footer = m_footer; postProcessOutput(footer); out << footer; } void Output::output(QTextStream& out, Database& database) { if(!database.isUtf8() && (m_outputType == Pgn)) { QTextCodec* textCodec = QTextCodec::codecForName("ISO 8859-1"); if(textCodec) { out.setCodec(textCodec); } } QString header = m_header; postProcessOutput(header); out << header; int percentDone = 0; Game game; for(int i = 0; i < (int)database.count(); ++i) { if(database.loadGame(i, game)) { QString tagText = outputTags(&game); out << tagText; QString outText = outputGame(&game, false); postProcessOutput(outText); out << outText; out << "\n\n"; } int percentDone2 = (i + 1) * 100 / database.count(); if(percentDone2 > percentDone) { emit progress((percentDone = percentDone2)); } } QString footer = m_footer; postProcessOutput(footer); out << footer; database.setModified(false); } void Output::output(const QString& filename, Game& game) { QFile f(filename); if(!f.open(QIODevice::WriteOnly | QIODevice::Text)) { return; } QTextStream out(&f); if((m_outputType == Html) || (m_outputType == NotationWidget)) { out.setCodec(QTextCodec::codecForName("utf8")); } out << output(&game); f.close(); } void Output::output(const QString& filename, Filter& filter) { QFile f(filename); if(!f.open(QIODevice::WriteOnly | QIODevice::Text)) { return; } QTextStream out(&f); if((m_outputType == Html) || (m_outputType == NotationWidget)) { out.setCodec(QTextCodec::codecForName("utf8")); } output(out, filter); f.close(); } void Output::output(const QString& filename, Database& database) { QFile f(filename); if(!f.open(QIODevice::WriteOnly | QIODevice::Text)) { return; } QTextStream out(&f); if((m_outputType == Html) || (m_outputType == NotationWidget)) { out.setCodec(QTextCodec::codecForName("utf8")); } output(out, database); f.close(); } bool Output::append(const QString& filename, Game& game) { QFile f(filename); if(!f.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) { return false; } QTextStream out(&f); if((m_outputType == Html) || (m_outputType == NotationWidget)) { out.setCodec(QTextCodec::codecForName("utf8")); } else { QTextCodec* textCodec = QTextCodec::codecForName("ISO 8859-1"); if(textCodec) { out.setCodec(textCodec); } } out << endl; out << output(&game); f.close(); return true; } void Output::setTemplateFile(QString filename) { if(filename.isEmpty()) { switch(m_outputType) { case Html: filename = DEFAULT_HTML_TEMPLATE; break; case Latex: filename = DEFAULT_LATEX_TEMPLATE; break; case NotationWidget: filename = DEFAULT_NOTATION_TEMPLATE; break; case Pgn: filename = DEFAULT_PGN_TEMPLATE; break; default : qWarning("Could not decide which template file to use. Maybe strange OutputType"); } } if(!QFile::exists(filename)) { QString dataPath = AppSettings->dataPath(); m_templateFilename = dataPath + "/" + TEMPLATE_DIR + "/" + filename; if(!QFile::exists(m_templateFilename)) { m_templateFilename = ":/" + TEMPLATE_DIR + "/" + filename; } } else { m_templateFilename = filename; } } void Output::setMarkupTag(MarkupType type, const QString& startTag, const QString& endTag) { m_startTagMap[type] = startTag; m_endTagMap[type] = endTag; if(startTag.contains("%1")) { m_expandable[type] = true; } else { m_expandable[type] = false; } } void Output::markupTag(MarkupType type , QString& startTag, QString& endTag) { startTag = m_startTagMap[type]; endTag = m_endTagMap[type]; } bool Output::setOption(const QString& optionName, bool optionValue) { return m_options.setOption(optionName, optionValue); } bool Output::setOption(const QString& optionName, int optionValue) { return m_options.setOption(optionName, optionValue); } bool Output::setOption(const QString& optionName, const QString& optionValue) { return m_options.setOption(optionName, optionValue); } /* Retrieving values */ int Output::getOptionAsInt(const QString& optionName) { return m_options.getOptionAsInt(optionName); } QString Output::getOptionAsString(const QString& optionName) { return m_options.getOptionAsString(optionName); } bool Output::getOptionAsBool(const QString& optionName) { return m_options.getOptionAsBool(optionName); } QString Output::getOptionDescription(const QString& optionName) { return m_options.getOptionDescription(optionName); } QStringList Output::getOptionList() { return m_options.getOptionList(); } ./chessx-1.3.2/src/database/output.h000644 000765 000024 00000023665 12520653767 017015 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006-2007 Marius Roets * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __OUTPUT_H__ #define __OUTPUT_H__ #include "game.h" #include "outputoptions.h" #include "database.h" #include "filter.h" #include const QString TEMPLATE_DIR = "templates"; const QString DEFAULT_HTML_TEMPLATE = "html-default.template"; const QString DEFAULT_NOTATION_TEMPLATE = "notation-default.template"; const QString DEFAULT_LATEX_TEMPLATE = "latex-default.template"; const QString DEFAULT_PGN_TEMPLATE = "pgn-default.template"; /** @ingroup Core The Output class converts game to various formats. Usage: @code Game game; PgnDatabase db; db.loadGame(0,game); Output o(Output::Html,"/usr/local/data/template-file.template"); o.output(&game); @endcode @todo Should output all tags, not just the most important ones. */ class Output : public QObject { Q_OBJECT public: /** The different types of markup that can be used. * The settings for each is set in the template file. * @see setTemplateFile() */ enum MarkupType { MarkupHeaderBlock, MarkupNotationBlock, MarkupResult, MarkupDiagram, MarkupNoFormat, MarkupColumnStyleMainline, MarkupColumnStyleMove, MarkupColumnStyleRow, MarkupMainLineMove, MarkupMainLine, MarkupVariationMove, MarkupVariationInline, MarkupVariationResume, MarkupVariationIndent, MarkupNag, MarkupAnnotationInline, MarkupAnnotationIndent, MarkupPreAnnotationInline, MarkupPreAnnotationIndent, MarkupHeaderLine, MarkupHeaderTagName, MarkupHeaderTagValue, MarkupWhiteTag, MarkupBlackTag, MarkupEventTag, MarkupDateTag, MarkupSiteTag, MarkupResultTag, MarkupRoundTag, MarkupMate }; /** The supported output types */ enum OutputType { Html, /**< Exports the game in Html format */ Pgn, /**< Exports the game in PGN format */ Latex, /**< Exports the game in Latex format */ NotationWidget /**< Exports the game in format appropriate for the notation widget */ }; enum MoveToWrite { PreviousMove, NextMove }; enum CommentType { Precomment, Comment }; /* enum CommentIndentOption { * Always, * OnlyMainline, * Never * }; */ /** Constructor. * Creates an output object for the given output type. Output can then * be generated by calling one of the output() methods * @param output The format of the output to be generated * @param pathToTemplateFile The full path to the file that contains the * the template for the output to be generated * @see Output::OutputType */ Output(OutputType output, const QString& pathToTemplateFile = ""); /** Create the output for the given game * @return A string containing the game in the specified format * @param game A pointer to the game object being output */ QString output(Game* game, bool upToCurrentMove = false); /** Create the output for the given game * @param filename The filename that the output will be written to. * @param filter A Game object. Exported, using the output(Game* game) method */ void output(const QString& filename, Game& game); /** Create the output for the given filter * @param filename The filename that the output will be written to. * @param filter A Filter object. All games in the filter will be output, one * after the other, using the output(Game* game) method */ void output(const QString& filename, Filter& filter); /** Create the output for the given database * @param filename The filename that the output will be written to. * @param database A pointer to a database object. All games in the database will be output, one * after the other, using the output(Game* game) method */ void output(const QString& filename, Database& database); /** Append output to a closed file */ bool append(const QString& filename, Game& game); /** User definable settings. * Sets the filename of the file that contains the template that will be used * when creating the output. See example template files for syntax. * @param filename The full path to the file containing the template for the output */ void setTemplateFile(QString filename = ""); /** Static list of objects. */ static QMap& getFormats(); signals: /** Operation progress. */ void progress(int); protected: QString outputTags(Game *game); private: /* User definable settings */ OutputOptions m_options; /** The name of the current template file */ QString m_templateFilename; /* Internally used */ /** Text to be written at the top of the output */ QString m_header; /** Text to be written at the bottom of the output */ QString m_footer; /** The type of output that the object will generate */ OutputType m_outputType; /** Indicator whether or not to write the move number, when it is black to move */ bool m_dirtyBlack; /** Keep track of the current level of variation, for indent purposes */ int m_currentVariationLevel; /** Character/string used for newline */ QString m_newlineChar; /** Pointer to the game being exported */ Game m_game; /** Map containing the different types of outputs available, and a description of each */ static QMap m_outputMap; /** Map containing the start markup tag for each markup type */ QMap m_startTagMap; /** Map containing the end markup tag for each markup type */ QMap m_endTagMap; QMap m_expandable; /* Setting and retrieving of option. Methods to inteface * with OutputOptions class. */ /* Setting values */ /** Set option optionName to value optionValue */ bool setOption(const QString& optionName, bool optionValue); /** Set option optionName to value optionValue */ bool setOption(const QString& optionName, int optionValue); /** Set option optionName to value optionValue */ bool setOption(const QString& optionName, const QString& optionValue); /* Retrieving values */ /** Return the value of option optionName as integer */ int getOptionAsInt(const QString& optionName); /** Return the value of option optionName as QString */ QString getOptionAsString(const QString& optionName); /** Return the value of option optionName as boolean */ bool getOptionAsBool(const QString& optionName); /** Return the description of option optionName */ QString getOptionDescription(const QString& optionName); /** Return a list of all options */ QStringList getOptionList(); /** Sets the start and end tag for a certain markup type */ void setMarkupTag(MarkupType type, const QString& startTag, const QString& endTag); /** Returns the start and end tag for a certain markup type in startTag and endTag */ void markupTag(MarkupType type, QString& startTag, QString& endTag); /** Read tag settings from user settings */ void readConfig(); /** Write tag settings to user settings */ void writeConfig(); /** Read the template file */ void readTemplateFile(const QString& path); /** Sets the default settings for the specific output format */ void initialize(); /** Reload default tag settings */ void reset(); /** Create the output for the given filter * @param out A textstream that will be used to write the results to * @param filter A Filter object. All games in the filter will be output, one * after the other, using the output(Game* game) method */ void output(QTextStream& out, Filter& filter); /** Create the output for the given database * @param out A textstream that will be used to write the results to * @param database A pointer to a database object. All games in the database will be output, one * after the other, using the output(Game* game) method */ void output(QTextStream& out, Database& database); /** Output of a single game - requires postProcessing */ QString outputGame(const Game *g, bool upToCurrentMove); /** postProcessing of a game output or a dataBase output */ void postProcessOutput(QString& text) const; /* Writing Methods */ /** writes a comment associated with a game with no moves */ QString writeGameComment(QString comment) const; /** Writes a diagram */ QString writeDiagram(int n) const; /** Writes a single move including nag and annotation */ QString writeMove(MoveToWrite moveToWrite = NextMove); /** Writes a variation, including sub variations */ QString writeMainLine(MoveId upToNode); /** Writes a variation, including sub variations */ QString writeVariation(); /** Writes a game tag */ QString writeTag(const QString& tagName, const QString& tagValue) const; /** Writes all game tags */ QString writeAllTags() const; /** Writes basic Tags for HTML */ QString writeBasicTagsHTML() const; /** Writes comment. @p mvno keeps a string representing move number (used for indentation. */ QString writeComment(const QString& comment, const QString& mvno, CommentType type = Comment); }; #endif ./chessx-1.3.2/src/database/outputoptions.cpp000644 000765 000024 00000024415 12507517064 020750 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "outputoptions.h" #include "settings.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER OutputOptions::OutputOptions() { } bool OutputOptions::createDefaultOptions(QString path) { m_list.clear(); m_type.clear(); m_default.clear(); m_allow.clear(); if(path.isEmpty()) { createOption("ColumnStyle", Boolean, "", "false", tr("Notation in Column Style")); createOption("SymbolicNag", Boolean, "", "false", tr("Show symbolic Nags")); createOption("TextWidth", Integer, "0:200", "80", tr("Text width")); createOption("VariationIndentLevel", Integer, "1:200", "4", tr("Indent variations from Level")); createOption("VariationIndentSize", Integer, "1:10", "3", tr("Variation Indentation")); createOption("CommentIndent", String, "Always|OnlyMainline|Never", "OnlyMainline", tr("Comment indentation")); createOption("MainLineMoveColor", Color, "", "black", tr("Main Line Color")); createOption("VariationColor", Color, "", "blue", tr("Variation Color")); createOption("CommentColor", Color, "", "green", tr("Comment Color")); createOption("NagColor", Color, "", "red", tr("NAG Color")); createOption("HeaderColor", Color, "", "blue", tr("Header Color")); createOption("ShowHeader", Boolean, "", "true", tr("Show Header")); createOption("ShowDiagrams", Boolean, "", "false", tr("Show Diagrams")); createOption("DiagramSize", Integer, "0:500", "200", tr("Diagram Size")); createOption("FontBrowserText", String, "'Arial Unicode MS',Menlo", "'Arial Unicode MS',Menlo", tr("Font for text")); createOption("FontBrowserMove", String, "'Arial Unicode MS',Menlo", "'Arial Unicode MS',Menlo", tr("Font for moves")); } else { AppSettings->beginGroup(path); createOption("ColumnStyle", AppSettings->getValue("ColumnStyle").toBool() , tr("Notation in Column Style")); createOption("SymbolicNag", AppSettings->getValue("SymbolicNag").toBool(), tr("Show symbolic Nags")); createOption("TextWidth", "0:200", AppSettings->getValue("TextWidth").toInt(), tr("Text width")); createOption("VariationIndentLevel", "1:200", AppSettings->getValue("VariationIndentLevel").toInt(), tr("Indent variations from Level")); createOption("VariationIndentSize", "1:10", AppSettings->getValue("VariationIndentSize").toInt(), tr("Variation Indentation")); createOption("CommentIndent", String, "Always|OnlyMainline|Never", AppSettings->getValue("CommentIndent").toString(), tr("Comment Indentation")); createOption("MainLineMoveColor", AppSettings->getValue("MainLineMoveColor").toString(), tr("Main Line Color")); createOption("VariationColor", AppSettings->getValue("VariationColor").toString(), tr("Variation Color")); createOption("CommentColor", AppSettings->getValue("CommentColor").toString(), tr("Comment Color")); createOption("NagColor", AppSettings->getValue("NagColor").toString(), tr("NAG Color")); createOption("HeaderColor", AppSettings->getValue("HeaderColor").toString(), tr("Header Color")); createOption("ShowHeader", AppSettings->getValue("ShowHeader").toBool(), tr("Show Header")); createOption("ShowDiagrams", AppSettings->getValue("ShowDiagrams").toBool(), tr("Show Diagrams")); createOption("DiagramSize", "0:500", AppSettings->getValue("DiagramSize").toInt(), tr("Diagram Size")); createOption("FontBrowserText", String, AppSettings->getValue("FontBrowserText").toString(), AppSettings->getValue("FontBrowserText").toString(), tr("Font for text")); createOption("FontBrowserMove", String, AppSettings->getValue("FontBrowserMove").toString(), AppSettings->getValue("FontBrowserMove").toString(), tr("Font for moves")); AppSettings->endGroup(); } return true; } bool OutputOptions::createOption(const QString& optionName, const QString& optionType, const QString& allowValues, const QString& defaultValue, const QString& description) { return createOption(optionName, optionString2Type(optionType), allowValues, defaultValue, description); } bool OutputOptions::createOption(const QString& optionName, bool bValue, const QString& description) { QString sValue = bValue ? "true" : "false"; return createOption(optionName, Boolean, "", sValue, description); } bool OutputOptions::createOption(const QString& optionName, const QString& allowValues, int iValue, const QString& description) { QString sValue = QString().number(iValue); return createOption(optionName, Integer, allowValues, sValue, description); } bool OutputOptions::createOption(const QString& optionName, const QString& color, const QString& description) { return createOption(optionName, Color, "", color, description); } bool OutputOptions::createOption(const QString& optionName, OutputOptionType optionType, const QString& allowValues, const QString& defaultValue, const QString& description) { m_list[optionName] = defaultValue; m_type[optionName] = optionType; m_allow[optionName] = allowValues; m_default[optionName] = defaultValue; m_description[optionName] = description; if(!setOption(optionName, defaultValue)) { m_list.remove(optionName); m_type.remove(optionName); m_allow.remove(optionName); m_default.remove(optionName); m_description.remove(optionName); qWarning("Option '%s' could not be created", optionName.toLatin1().constData()); return false; } return true; } bool OutputOptions::setOption(const QString& optionString) { QStringList temp = optionString.split('='); return setOption(temp[0], temp[1]); } bool OutputOptions::setOption(const QString& optionName, const QString& optionValue) { if(!validateValue(optionName, optionValue)) { qWarning("Option '%s' could not be set", optionName.toLatin1().constData()); return false; } m_list[optionName] = optionValue; return true; } bool OutputOptions::setOption(const QString& optionName, bool optionValue) { if(optionValue) { return setOption(optionName, QString("true")); } else { return setOption(optionName, QString("false")); } } bool OutputOptions::setOption(const QString& optionName, int optionValue) { return setOption(optionName, QString::number(optionValue)); } int OutputOptions::getOptionAsInt(const QString& optionName) const { if(m_list.contains(optionName)) { return m_list.value(optionName).toInt(); } return 0; } QString OutputOptions::getOptionAsString(const QString& optionName) const { if(m_list.contains(optionName)) { return m_list.value(optionName); } return ""; } bool OutputOptions::getOptionAsBool(const QString& optionName) const { QString value = m_list.value(optionName); return ((value == "true") || (value == "1")); } bool OutputOptions::validateValue(const QString& optionName, const QString& value) { QStringList allowValues; QStringList allowColors; if(!m_list.contains(optionName)) { // Option does not exist return false; } allowValues = m_allow[optionName].split('|'); switch(m_type[optionName]) { case Integer: /* If the allow string is empty, then any number is allowed */ if(m_allow[optionName].isEmpty()) { return true; } /* See if value is in on of the ranges */ for(QStringList::iterator it = allowValues.begin(); it != allowValues.end(); ++it) { if((*it).indexOf(':') >= 0) { QStringList limits = it->split(':'); int val = value.toInt(); int ulimit = limits[1].toInt(); int llimit = limits[0].toInt(); if((val >= llimit) && (val <= ulimit)) { return true; } } } if(allowValues.contains(value)) { return true; } return false; case String: if(m_allow[optionName].isEmpty()) { return true; } if(allowValues.contains(value)) { return true; } return false; case Boolean: if((value == "1") || (value == "0") || (value == "true") || (value == "false")) { return true; } else { return false; } case Color: allowColors.append("red"); allowColors.append("blue"); allowColors.append("black"); allowColors.append("white"); allowColors.append("green"); allowColors.append("purple"); if((allowColors.contains(value)) || (value.contains(QRegExp("^#[0-9a-fA-F]{6}")))) { return true; } else { return false; } break; default : /* Unknown type */ return false; } return false; } QString OutputOptions::getOptionDescription(const QString& optionName) const { return m_description.value(optionName); } QStringList OutputOptions::getOptionList() const { return m_list.keys(); } OutputOptions::OutputOptionType OutputOptions::optionString2Type(const QString& optionTypeStr) const { if(optionTypeStr == "String") { return String; } else if(optionTypeStr == "Integer") { return Integer; } else if(optionTypeStr == "Boolean") { return Boolean; } else if(optionTypeStr == "Color") { return Color; } return String; } ./chessx-1.3.2/src/database/outputoptions.h000644 000765 000024 00000005340 12336722710 020405 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006-2007 Marius Roets * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __OUTPUTOPTIONS_H__ #define __OUTPUTOPTIONS_H__ #include #include #include #include /** @ingroup Core The OutputOptions class manages options for @ref Output class. */ class OutputOptions { Q_DECLARE_TR_FUNCTIONS(OutputOptions) public : enum OutputOptionType { Boolean, String, Integer, Color }; OutputOptions(); bool createDefaultOptions(QString path); bool createOption(const QString& optionName, OutputOptionType optionType, const QString& allowValues, const QString& defaultValue, const QString& description); bool createOption(const QString& optionName, const QString& optionType, const QString& allowValues, const QString& defaultValue, const QString& description); bool createOption(const QString& optionName, bool bValue, const QString& description); bool createOption(const QString& optionName, const QString& allowValues, int iValue, const QString& description); bool createOption(const QString& optionName, const QString& color, const QString& description); /* Setting values */ bool setOption(const QString& optionString); bool setOption(const QString& optionName, const QString& optionValue); bool setOption(const QString& optionName, bool optionValue); bool setOption(const QString& optionName, int optionValue); /* Retrieving values */ int getOptionAsInt(const QString& optionName) const; QString getOptionAsString(const QString& optionName) const; bool getOptionAsBool(const QString& optionName) const; QString getOptionDescription(const QString& optionName) const; QStringList getOptionList() const; private : QMap m_list; QMap m_type; QMap m_default; QMap m_allow; QMap m_description; bool validateValue(const QString& optionName, const QString& value); OutputOptionType optionString2Type(const QString& optionTypeStr) const; }; #endif // __OUTPUTOPTIONS_H__ ./chessx-1.3.2/src/database/partialdate.cpp000644 000765 000024 00000012521 12507517064 020261 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "partialdate.h" #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER PartialDate::PartialDate(int y, int m, int d) : m_year(y), m_month(m), m_day(d) { m_bIsValid = !m_year || asDate().isValid(); } PartialDate::PartialDate(const QString& s) { m_year = 0; m_month = 0; m_day = 0; fromString(s); } PartialDate::PartialDate(const QDate& d) { m_bIsValid = true; m_year = d.year(); m_month = d.month(); m_day = d.day(); } PartialDate PartialDate::today() { return PartialDate(QDate::currentDate()); } int PartialDate::year() const { return m_year; } int PartialDate::month() const { return m_month; } int PartialDate::day() const { return m_day; } PartialDate& PartialDate::fromString(const QString& s) { QString test = s.trimmed(); QRegExp regExp("^[\\?0-9]{4}([\\./]([\\?0-9]){1,2}){,2}$"); if(regExp.exactMatch(test) || test.isEmpty()) { QRegExp sep("[\\./]"); m_year = test.section(sep, 0, 0).toInt(); m_month = test.section(sep, 1, 1).toInt(); m_day = test.section(sep, 2, 2).toInt(); m_bIsValid = !year() || asDate().isValid(); } else { QRegExp regExpContinental("^(([\\?0-9]){1,2}\\.){,2}[\\?0-9]{4}$"); if(regExpContinental.exactMatch(test)) { m_day = test.section('.', 0, 0).toInt(); m_month = test.section('.', 1, 1).toInt(); m_year = test.section('.', 2, 2).toInt(); m_bIsValid = !year() || asDate().isValid(); } else { QRegExp regExpAmerican("^(([\\?0-9]){1,2}/){,2}[\\?0-9]{4}$"); if(regExpAmerican.exactMatch(test)) { m_month = test.section('/', 0, 0).toInt(); m_day = test.section('/', 1, 1).toInt(); m_year = test.section('/', 2, 2).toInt(); m_bIsValid = !year() || asDate().isValid(); } } } return *this; } QDate PartialDate::asDate() const { return QDate(m_year, m_month ? m_month : 1, m_day ? m_day : 1); } bool PartialDate::isValid() const { return m_bIsValid; } QString PartialDate::asString() const { if(!m_year) { return "????.??.??"; } QString s = QString("%1.%2.%3") .arg(m_year, 4) .arg(numberToString(m_month)) .arg(numberToString(m_day)); return s; } QString PartialDate::asShortString(int part) const { if(!m_year) { return QString(); } QString s; if(part & Year) { s = numberToString(m_year); } if(!m_month) { return s; } if(part & Month) { if(!s.isEmpty()) { s += '.'; } s += numberToString(m_month); } if(!m_day) { return s; } if(part & Day) { if(!s.isEmpty()) { s += '.'; } s += numberToString(m_day); } return s; } QString PartialDate::numberToString(int d, QChar fill) const { if(!d) { return "??"; } return d < 10 ? QString(fill) + QString::number(d) : QString::number(d); } bool operator==(const PartialDate& d1, const PartialDate& d2) { return d1.year() == d2.year() && d1.month() == d2.month() && d1.day() == d2.day(); } bool operator<(const PartialDate& d1, const PartialDate& d2) { return d2.year() > d1.year() || ((d2.year() == d1.year()) && (d2.month() > d1.month() || (d2.month() == d1.month() && d2.day() > d1.day()))); } bool operator>(const PartialDate& d1, const PartialDate& d2) { return d1.year() > d2.year() || ((d1.year() == d2.year()) && (d1.month() > d2.month() || (d1.month() == d2.month() && d1.day() > d2.day()))); } bool operator>=(const PartialDate& d1, const PartialDate& d2) { return d2 < d1 || d2 == d1; } bool operator<=(const PartialDate& d1, const PartialDate& d2) { return d2 > d1 || d2 == d1; } bool operator!=(const PartialDate& d1, const PartialDate& d2) { return d1.year() != d2.year() || d1.month() != d2.month() || d1.day() != d2.day(); } QString PartialDate::range(const PartialDate& d) const { if(year() != d.year()) { return asShortString() + "-" + d.asShortString(); } QString result = numberToString(year()); if(month() != d.month()) return QString("%1.%2-%3").arg(year()).arg(asShortString(Month | Day)) .arg(d.asShortString(Month | Day)); else if(day() != d.day()) return QString("%1.%2.%3-%4").arg(year()).arg(month()) .arg(asShortString(Day)).arg(d.asShortString(Day)); else { return asShortString(); } } ./chessx-1.3.2/src/database/partialdate.h000644 000765 000024 00000006310 12223260306 017712 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __PARTIALDATE_H__ #define __PARTIALDATE_H__ #include #include /** @ingroup Database The PartialDate class represents a date, perhaps with missing month and day. All comparison operators should work. */ class PartialDate { public: enum {Year = 1, Month = 2, Day = 4, All = Year | Month | Day}; /** Constructor */ PartialDate(int y = 0, int m = 0, int d = 0); /** String constructor. Creates date from PGN date format (e.g. "1990.01.??"). */ PartialDate(const QString& s); /** QDate constructor. */ PartialDate(const QDate& d); /** Converts date to QDate. Undefined parts will be replaced with 0 for year, 1 for month and day */ QDate asDate() const; /** Converts date to string. Uses PGN date format (e.g. "1990.01.??"). */ QString asString() const; /** Converts date to string. Uses short format (e.g. "1990", "1990.01", "1990.01.15"). Optionally saves just a part of date. */ QString asShortString(int part = All) const; static PartialDate today(); /** @return year, @p 0 if undefined. */ int year() const; /** @return month, @p 0 if undefined. */ int month() const; /** @return day, @p 0 if undefined. */ int day() const; /** Sets date from string in PGN date format (e.g. "1990.01.??"). */ PartialDate& fromString(const QString& s); /** @return formatted date range (e. g. "1990.01.12-02.13", "1992-1997.11.12") */ QString range(const PartialDate& d) const; /** Test if PartialDate is valid */ bool isValid() const; PartialDate(const PartialDate& rhs) { *this = rhs; } PartialDate& operator= (const PartialDate& rhs) { if(this != &rhs) { m_bIsValid = rhs.m_bIsValid; m_year = rhs.m_year; m_month = rhs.m_month; m_day = rhs.m_day; } return *this; } friend bool operator==(const PartialDate& d1, const PartialDate& d2); friend bool operator>=(const PartialDate& d1, const PartialDate& d2); friend bool operator<=(const PartialDate& d1, const PartialDate& d2); friend bool operator<(const PartialDate& d1, const PartialDate& d2); friend bool operator>(const PartialDate& d1, const PartialDate& d2); friend bool operator!=(const PartialDate& d1, const PartialDate& d2); private: short int m_year; unsigned char m_month; unsigned char m_day; bool m_bIsValid; QString numberToString(int d, QChar fill = '0') const; }; const PartialDate PDMaxDate(9999); const PartialDate PDMinDate(1); const PartialDate PDInvalidDate(0, 0, 0); #endif ./chessx-1.3.2/src/database/pdbtest.cpp000644 000765 000024 00000024530 12507517064 017437 0ustar00nistaff000000 000000 // main() to convert a scid ratings.ssp to our player db format, // and test the content of the resulting player database. // // To use it, change the db_name, source and picture directory to fit // your filenames. The picture filenames should be = player name + extension // fe. "Larsen, Bent.gif" (any format that QImage(file) can handle will work). // // Code to query the small test database - see querySmall(). // Code to query the newest full database - see queryNewest(). #include #include #include "databaseconversion.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER static QTextStream out(stdout, QIODevice::WriteOnly); static QString db_name = "players"; static QString source = "ratings.ssp"; static QString picture_dir = "playerphotos"; void queryNewest() { //query newest full base as of 25/7/2005 (70207 players) // available from http://members.aon.at/schachverein.steyr/ratings.ssp.zip PlayerDatabase pdb; if(pdb.open(db_name)) { out << "opened " << db_name << "\n"; } else { out << "failure opening " << db_name << "\n"; return; } out << "number of players = " << pdb.count() << "\n"; QStringList sl = pdb.findPlayers("Hu", 3); for(QStringList::Iterator it = sl.begin(); it != sl.end(); ++it) { out << *it << "\n"; } pdb.setCurrent("Aaberg, Anton"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; QString s = pdb.country(); out << pdb.current() << " country= " << s << "\n"; s = pdb.title(); out << pdb.current() << " title= " << s << "\n"; pdb.setCurrent("Aaron, Manuel"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; out << pdb.current() << " country= " << pdb.country() << "\n"; out << pdb.current() << " title= " << pdb.title() << "\n"; pdb.setCurrent("Aaberg, Anton"); out << pdb.current() << " elo on 2000/5/5= " << pdb.elo(PartialDate(2000, 5, 5)) << "\n"; pdb.setCurrent("Aaron, Manuel"); out << pdb.current() << " elo on 2000/5/5= " << pdb.elo(PartialDate(2000, 5, 5)) << "\n"; pdb.setCurrent("Aaberg, Anton"); QString bio = pdb.biography(); if(bio.isNull()) { out << pdb.current() << " bio= null " << "\n"; } else { out << pdb.current() << " bio= " << bio << "\n"; } bool bl = pdb.exists("BYE"); if(bl) { out << "player BYE exists \n"; } else { out << "player BYE does not exist \n"; } pdb.setCurrent("Azmaiparashvili, Zurab"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; pdb.setCurrent("Babaev, Rashad"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; pdb.setCurrent("Zysk, Robert"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; out << pdb.current() << " country= " << pdb.country() << "\n"; out << pdb.current() << " estimated overall elo= " << pdb.estimatedElo() << "\n"; out << pdb.current() << " elo on 2000/10/5= " << pdb.elo(PartialDate(2000, 10, 5)) << "\n"; out << pdb.current() << " estimated elo on 2000/10/5= " << pdb.estimatedElo(PartialDate(2000, 10, 5)) << "\n"; out << pdb.current() << " estimated elo on 2000/10/5= " << pdb.estimatedEloNoCache(PartialDate(2000, 10, 5)) << "\n"; pdb.setCurrent("Rudolf, Michal"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; out << pdb.current() << " estimated overall elo= " << pdb.estimatedElo() << "\n"; out << pdb.current() << " elo on 2000/10/5= " << pdb.elo(PartialDate(2000, 10, 5)) << "\n"; out << pdb.current() << " elo on 2001/5/5= " << pdb.elo(PartialDate(2001, 5, 5)) << "\n"; out << pdb.current() << " elo on 2001/10/5= " << pdb.elo(PartialDate(2001, 10, 5)) << "\n"; out << pdb.current() << " elo on 2005/10/5= " << pdb.elo(PartialDate(2005, 10, 5)) << "\n"; out << pdb.current() << " elo on 1995/10/5= " << pdb.elo(PartialDate(1995, 10, 5)) << "\n"; out << pdb.current() << " elo on 1990/10/5= " << pdb.elo(PartialDate(1990, 10, 5)) << "\n"; out << pdb.current() << " estimated elo on 1990/10/5= " << pdb.estimatedElo(PartialDate(1990, 10, 5)) << "\n"; out << pdb.current() << " elo on 1997/1/1= " << pdb.elo(PartialDate(1997, 1, 1)) << "\n"; out << pdb.current() << " estimated elo on 1997/1/1= " << pdb.estimatedElo(PartialDate(1997, 1, 1)) << "\n"; pdb.setCurrent("'t Jong, Ewoud"); QImage img = pdb.photo(); if(img.isNull()) { out << pdb.current() << " photo == null \n"; } else { out << pdb.current() << " photo != null \n"; } // tests for partial birth/death dates pdb.setCurrent("Abbott, Hedley"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; out << pdb.current() << " deathdate= " << pdb.dateOfDeath().asString() << "\n"; pdb.setCurrent("Baay, JG"); // out << pdb.current() << " birthdate= " << pdb.dateOfBirth() << "\n"; out << pdb.current() << " deathdate= " << pdb.dateOfDeath().asString() << "\n"; pdb.setCurrent("Barcza, Gideon"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; out << pdb.current() << " deathdate= " << pdb.dateOfDeath().asString() << "\n"; pdb.setCurrent("Barden, Leonard"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; pdb.close(); out << "closed " << db_name << "\n"; } void querySmall() { //query the small test database PlayerDatabase pdb; if(pdb.open(db_name)) { out << "opened " << db_name << "\n"; } else { out << "failure opening " << db_name << "\n"; return; } out << "number of players = " << pdb.count() << "\n"; out << "max. 3 players starting with G: \n"; QStringList sl = pdb.findPlayers("G", 3); for(QStringList::Iterator it = sl.begin(); it != sl.end(); ++it) { out << *it << "\n"; } out << "all players starting with G: \n"; sl = pdb.findPlayers("G"); for(QStringList::Iterator it = sl.begin(); it != sl.end(); ++it) { out << *it << "\n"; } pdb.setCurrent("Aaberg, Anton"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; out << pdb.current() << " country= " << pdb.country() << "\n"; out << pdb.current() << " title= " << pdb.title() << "\n"; int start = pdb.firstEloListIndex(); int end = pdb.lastEloListIndex(); for(int i = start; i <= end; i++) { out << pdb.current() << " elo on list " << i << "pr. " << pdb.eloListToDate(i).asString() << "= " << pdb.elo(i) << "\n"; } for(int i = start; i <= end; i++) { out << pdb.current() << " elo on list - or estimate " << i << "pr. " << pdb.eloListToDate(i).asString() << "= " << pdb.estimatedElo(pdb.eloListToDate(i)) << "\n"; } out << pdb.current() << " elo on 1991/1/1= " << pdb.elo(PartialDate(1991, 1, 1)) << "\n"; out << pdb.current() << " elo on 2000/5/5= " << pdb.elo(PartialDate(2000, 5, 5)) << "\n"; out << pdb.current() << " estimated elo on 2000/5/5= " << pdb.estimatedElo(PartialDate(2000, 5, 5)) << "\n"; out << pdb.current() << " estimated elo on 1975/5/5= " << pdb.estimatedElo(PartialDate(1975, 5, 5)) << "\n"; out << pdb.current() << " estimated elo on 1993/5/5= " << pdb.estimatedElo(PartialDate(1993, 5, 5)) << "\n"; out << pdb.current() << " overall estimated elo= " << pdb.estimatedElo() << "\n"; QString bio = pdb.biography(); if(bio.isNull()) { out << pdb.current() << " bio= null " << "\n"; } else { out << pdb.current() << " bio= " << bio << "\n"; } pdb.setCurrent("Zysk, Robert"); out << pdb.current() << " birthdate= " << pdb.dateOfBirth().asString() << "\n"; out << pdb.current() << " country= " << pdb.country() << "\n"; out << pdb.current() << " estimated overall elo= " << pdb.estimatedElo() << "\n"; out << pdb.current() << " elo on 2000/10/5= " << pdb.elo(PartialDate(2000, 10, 5)) << "\n"; out << pdb.current() << " estimated elo on 2000/10/5= " << pdb.estimatedElo(PartialDate(2000, 10, 5)) << "\n"; if(pdb.hasPhoto()) { out << pdb.current() << " has photo \n"; } else { out << pdb.current() << " has no photo \n"; } if(pdb.hasBiography()) { out << pdb.current() << " has biography \n"; } else { out << pdb.current() << " has no biography \n"; } pdb.setCurrent("Aaberg, Anton"); if(pdb.hasPhoto()) { out << pdb.current() << " has photo \n"; } else { out << pdb.current() << " has no photo \n"; } QImage img = pdb.photo(); if(img.isNull()) { out << pdb.current() << " has no photo \n"; } else { out << pdb.current() << " has photo \n"; } if(pdb.hasBiography()) { out << pdb.current() << " has bio \n"; } else { out << pdb.current() << " has no bio\n"; } bio = pdb.biography(); if(bio.isNull()) { out << pdb.current() << " has no bio \n"; } else { out << pdb.current() << " has bio \n"; } pdb.setCurrent("Adams, Michael"); if(pdb.hasPhoto()) { out << pdb.current() << " has a photo\n"; } pdb.setCurrent("Polgar, Judit"); if(pdb.hasPhoto()) { out << pdb.current() << " has a photo\n"; } pdb.setCurrent("Anderssen, Adolf"); if(pdb.hasPhoto()) { out << pdb.current() << " has a photo\n"; } // checking overall estimated elo for a historic player out << pdb.current() << " estimated elo= " << pdb.estimatedElo() << "\n"; pdb.setCurrent("Botvinnik, Mikhail URS"); if(pdb.hasPhoto()) { out << pdb.current() << " has a photo\n"; } pdb.close(); out << "closed " << db_name << "\n"; } void testPlayerDatabaseConversion() { bool b = DatabaseConversion::playerDatabaseFromScidRatings(source, db_name, picture_dir); // the jpg is attached as photo to the first player in ratings.ssp if(!b) { out << "conversion failed\n"; return; } // query the converted database queryNewest(); // use this to test the small one // querySmall(); out << "end of testPlayerDatabaseConversion\n"; } ./chessx-1.3.2/src/database/pdbtest.h000644 000765 000024 00000000137 12211425766 017100 0ustar00nistaff000000 000000 #ifndef PDBTEST_H #define PDBTEST_H void testPlayerDatabaseConversion(); #endif // PDBTEST_H ./chessx-1.3.2/src/database/pgndatabase.cpp000644 000765 000024 00000053131 12521415120 020224 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * (C) 2006 Ejner Borgbjerg * * (C) 2007 Marius Roets * * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include #include "board.h" #include "nag.h" #include "pgndatabase.h" #include "settings.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER PgnDatabase::PgnDatabase(bool b64bit) : Database(), bUse64bit(b64bit) { initialise(); } PgnDatabase::~PgnDatabase() { close(); } bool PgnDatabase::open(const QString& filename, bool utf8) { if(!m_file) { m_break = false; m_filename = filename; if(openFile(filename)) { m_utf8 = utf8; return true; } } return false; } void PgnDatabase::parseGame() { skipMoves(); } bool PgnDatabase::readIndexFile(QDataStream &in, volatile bool* breakFlag, short version) { return (index()->read(in, breakFlag, version)); } bool PgnDatabase::writeIndexFile(QDataStream& out) const { return (index()->write(out)); } QString PgnDatabase::offsetFilename(const QString& filename) const { QFileInfo fi = QFileInfo(filename); QString basefile = fi.completeBaseName(); basefile.append(".cxi"); QString dir = AppSettings->commonDataPath(); QString indexPath = dir + QDir::separator() + "index"; return(indexPath + QDir::separator() + basefile); } bool PgnDatabase::readOffsetFile(const QString& filename, volatile bool *breakFlag, bool& bUpdate) { if(!AppSettings->getValue("/General/useIndexFile").toBool()) { return false; } m_gameOffsets32 = 0; m_gameOffsets64 = 0; QFile file(offsetFilename(filename)); if(!file.open(QIODevice::ReadOnly)) { return false; } QDataStream in(&file); short version; unsigned short magic; in >> version; in >> magic; if (magic != INDEX_FILE_MAGIC) return false; if (version > VERSION_INDEX_CURRENT) return false; int streamVersion = QDataStream::Qt_4_6; if(version > 0) { in >> streamVersion; } in.setVersion(streamVersion); QFileInfo fi = QFileInfo(filename); QString basefile; QDateTime lastModified; in >> basefile; in >> lastModified; if(basefile != fi.completeBaseName()) { return false; } QDateTime lastModifiedStored = fi.lastModified(); if(lastModified != lastModifiedStored) { return false; } in >> m_allocated; emit progress(1); if(bUse64bit) { m_gameOffsets64 = new qint64[m_allocated]; for(int i = 0; i < m_allocated; ++i) { in >> m_gameOffsets64[i]; } } else { m_gameOffsets32 = new qint32[m_allocated]; for(int i = 0; i < m_allocated; ++i) { in >> m_gameOffsets32[i]; } } emit progress(2); in >> magic; readIndexFile(in, breakFlag, version); bUpdate = (version < VERSION_INDEX_CURRENT); unsigned short finalMagic; in >> finalMagic; if(*breakFlag || (finalMagic != 0x55ec)) { delete[] m_gameOffsets32; delete[] m_gameOffsets64; m_index.clear(); m_gameOffsets32 = 0; m_gameOffsets64 = 0; m_allocated = 0; return false; } return true; } bool PgnDatabase::writeOffsetFile(const QString& filename) const { if(!AppSettings->getValue("/General/useIndexFile").toBool()) { return false; } QFile file(offsetFilename(filename)); if(!file.open(QIODevice::WriteOnly)) { return false; } QDataStream out(&file); short version = VERSION_INDEX_CURRENT; unsigned short magic = INDEX_FILE_MAGIC; int streamVersion = out.version(); out << version; out << magic; out << streamVersion; QFileInfo fi = QFileInfo(filename); QString basefile = fi.completeBaseName(); out << basefile; out << fi.lastModified().toUTC(); out << m_count; if(bUse64bit) { for(int i = 0; i < m_count; ++i) { out << m_gameOffsets64[i]; } } else { for(int i = 0; i < m_count; ++i) { out << m_gameOffsets32[i]; } } out << magic; writeIndexFile(out); unsigned short finalMagic = 0x55ec; out << finalMagic; return true; } bool PgnDatabase::parseFile() { bool bUpdate = false; if(readOffsetFile(m_filename, &m_break, bUpdate)) { m_count = m_allocated; emit progress(99); if (bUpdate) { writeOffsetFile(m_filename); } emit progress(100); return true; } if(m_break) { return false; } bool ok = parseFileIntern(); writeOffsetFile(m_filename); return ok; } bool PgnDatabase::parseFileIntern() { //indexing game positions in the file, game contents are ignored qint64 size = m_file->size(); int oldFp = -3; qint64 countDiff = size / 100; qint64 nextDiff = countDiff; int percentDone = 0; while(!m_file->atEnd()) { if(m_break) { return false; } IndexBaseType fp = skipJunk(); if(fp == oldFp) { skipLine(); fp = skipJunk(); } oldFp = fp; if(fp != -1) { if(!m_currentLine.isEmpty()) { addOffset(fp); parseTagsIntoIndex(); // This will parse the tags into memory parseGame(); if(!m_file->atEnd()) { if(fp > nextDiff) { nextDiff += countDiff; emit progress(++percentDone); } } else { emit progress(100); } } } } return true; } bool PgnDatabase::openFile(const QString& filename) { //open file QFile* file = new QFile(filename); if(!file->exists()) { delete file; return false; } file->open(QIODevice::ReadOnly); m_file = file; return true; } bool PgnDatabase::openString(const QString& content) { //open file initialise(); m_filename = "Internal.pgn"; QByteArray byteArray; byteArray.append(content.toLatin1()); QBuffer* buffer = new QBuffer(&byteArray); buffer->open(QIODevice::ReadOnly | QIODevice::Text); m_file = buffer; m_utf8 = false; return parseFile(); } quint64 PgnDatabase::count() const { return m_count; } QString PgnDatabase::filename() const { return m_filename; } void PgnDatabase::close() { //close the file, and delete objects if(m_file) { m_file->close(); } delete m_file; m_file = 0; delete[] m_gameOffsets64; delete[] m_gameOffsets32; //reset member variables initialise(); } void PgnDatabase::loadGameMoves(GameId gameId, Game& game) { QMutexLocker m(&m_mutex); if(!m_file || gameId >= m_count) { return; } game.clear(); seekGame(gameId); skipTags(); QString fen = m_index.tagValue(TagNameFEN, gameId); // was m_count -1 if(fen != "?") { game.dbSetStartingBoard(fen); } parseMoves(&game); } bool PgnDatabase::loadGame(GameId gameId, Game& game) { if(!m_file || gameId >= m_count) { return false; } QMutexLocker m(&m_mutex); //parse the game game.clear(); loadGameHeaders(gameId, game); seekGame(gameId); skipTags(); QString fen = m_index.tagValue(TagNameFEN, gameId); // was m_count - 1 if(fen != "?") { game.dbSetStartingBoard(fen); } parseMoves(&game); return m_variation != -1 || fen != "?"; // Not sure of all of the ramifications of this // but it seeems to fix the problem with FENs } void PgnDatabase::initialise() { m_file = 0; m_gameOffsets64 = 0; m_gameOffsets32 = 0; m_inComment = false; m_inPreComment = false; m_filename = QString(); m_count = 0; m_allocated = 0; } void PgnDatabase::addOffset() { IndexBaseType fp = m_file->pos(); addOffset(fp); } void PgnDatabase::readLine() { if(m_file->atEnd()) { m_lineBuffer.clear(); m_currentLine.clear(); return; } m_lineBuffer = m_file->readLine(); if(m_utf8) { QTextStream textStream(m_lineBuffer); m_currentLine = textStream.readLine().simplified(); } else { QTextStream textStream(m_lineBuffer); QTextCodec* textCodec = QTextCodec::codecForName("ISO 8859-1"); if(textCodec) { textStream.setCodec(textCodec); } m_currentLine = textStream.readLine().simplified(); } if(m_inComment || !m_currentLine.startsWith("[")) { m_currentLine.replace("(", " ( "); m_currentLine.replace(")", " ) "); m_currentLine.replace("{", " { "); m_currentLine.replace("}", " } "); m_currentLine.replace("$", " $"); } } inline void PgnDatabase::skipLine() { m_lineBuffer = m_file->readLine(); } void PgnDatabase::seekGame(GameId gameId) { IndexBaseType n = offset(gameId); if(!m_file->seek(n)) { qDebug() << "Seeking offset " << n << " failed!"; } readLine(); } void PgnDatabase::parseTagsIntoIndex() { m_index.setTag(TagNameLength, "0", m_count - 1); m_index.setTag(TagNameResult, "*", m_count - 1); while(m_currentLine.startsWith(QString("[")) && !m_file->atEnd()) { int tagend = m_currentLine.indexOf(' '); QString tag = m_currentLine.mid(1, tagend - 1); int valuestart = m_currentLine.indexOf('\"', tagend + 1); QString value = m_currentLine.mid(valuestart + 1); bool hasNextTag = false; while(!value.endsWith("]") && !m_file->atEnd()) { readLine(); if(m_currentLine.isEmpty() || m_currentLine.startsWith("[")) { hasNextTag = true; break; } value += ' ' + m_currentLine; } int valueend = value.lastIndexOf('\"'); if(valueend != -1) { value.truncate(valueend); } if(value.contains("\\\"")) { value.replace("\\\"", "\""); } // quick fix for non-standard draw mark. if(tag == TagNameResult && value == "1/2") { value = "1/2-1/2"; } // update index m_index.setTag(tag, value, m_count - 1); if(!hasNextTag) { readLine(); } } // skip trailing whitespace while(m_currentLine.isEmpty() && !m_file->atEnd()) { readLine(); } } bool PgnDatabase::parseMoves(Game* game) { m_gameOver = false; m_inComment = false; m_inPreComment = false; m_comment.clear(); m_precomment.clear(); m_newVariation = false; m_variation = 0; do { if(m_inComment) { parseComment(game); } else { parseLine(game); if(m_variation == -1) { return false; } } } while(!m_gameOver && (!m_file->atEnd() || m_currentLine != "")); if(m_gameOver) { if(game->plyCount() == 0) { if(!m_precomment.isEmpty()) { game->dbSetAnnotation(m_precomment); m_precomment.clear(); m_inPreComment = false; } } } return true; } void PgnDatabase::parseLine(Game* game) { QStringList list = m_currentLine.split(" "); m_pos = 0; for(QStringList::Iterator it = list.begin(); it != list.end() && !m_inComment; ++it) { if(*it != "") { parseToken(game, *it); if(m_variation == -1) { if(!(m_currentLine.startsWith("["))) { skipLine(); // illegal move in the buffer! } return; } } m_pos += (*it).length() + 1; } if(!m_inComment) { readLine(); } } inline void PgnDatabase::parseDefaultToken(Game* game, QString token) { //strip any move numbers if(token.contains("...")) { token = token.section("...", 1, 1); } else if(token.contains('.')) { token = token.section('.', 1, 1); } else if(token.indexOf(QRegExp("[1-9]")) == 0) { token.clear(); } //look for nags Nag nag = NullNag; if(token.endsWith("!")) { if(token.endsWith("!!")) { nag = VeryGoodMove; } else if(token.endsWith("?!")) { nag = QuestionableMove; } else { nag = GoodMove; } token = token.section('!', 0, 0); } else if(token.endsWith("?")) { if(token.endsWith("??")) { nag = VeryPoorMove; } else if(token.endsWith("!?")) { nag = SpeculativeMove; } else { nag = PoorMove; } token = token.section('?', 0, 0); } if(!token.isEmpty()) { if(m_newVariation) { game->backward(); m_variation = game->dbAddVariation(token, QString(), nag); if(!m_precomment.isEmpty()) { game->dbSetAnnotation(m_precomment, m_variation, Game::BeforeMove); m_precomment.clear(); m_inPreComment = false; } m_newVariation = false; } else // First move in the game { m_variation = game->dbAddMove(token, QString(), nag); if(!m_precomment.isEmpty()) { game->dbSetAnnotation(m_precomment, m_variation, Game::BeforeMove); m_precomment.clear(); m_inPreComment = false; } } } } void PgnDatabase::parseToken(Game* game, const QString& token) { // qDebug() << "Parsing Token:" << token << ":"; switch(token.at(0).toLatin1()) { case '(': m_newVariation = true; break; case ')': game->dbMoveToId(game->parentMove()); game->forward(); m_newVariation = false; m_variation = 0; break; case '{': m_comment.clear(); m_inComment = true; m_currentLine = m_currentLine.right((m_currentLine.length() - m_pos) - 1); break; case '$': game->addNag((Nag)token.mid(1).toInt()); break; case '!': if(token == "!") { game->addNag(GoodMove); } else if(token == "!!") { game->addNag(VeryGoodMove); } else if(token == "!?") { game->addNag(SpeculativeMove); } break; case '?': if(token == "?") { game->addNag(PoorMove); } else if(token == "??") { game->addNag(VeryPoorMove); } else if(token == "?!") { game->addNag(QuestionableMove); } break; case '+': if(token == "+=") { game->addNag(WhiteHasASlightAdvantage); } else if(token == "+/-") { game->addNag(WhiteHasAModerateAdvantage); } break; case '=': if(token == "=") { game->addNag(DrawishPosition); } else if(token == "=+") { game->addNag(BlackHasASlightAdvantage); } break; case '*': game->setResult(ResultUnknown); m_gameOver = true; break; // From here, cases may fall through into default!! case '1': if(token == "1-0") { game->setResult(WhiteWin); m_gameOver = true; break; } else if(token == "1/2-1/2" || token == "1/2") { game->setResult(Draw); m_gameOver = true; break; } case '0': if(token == "0-1") { game->setResult(BlackWin); m_gameOver = true; break; } case '-': if(token == "-/+") { game->addNag(BlackHasAModerateAdvantage); break; } else if(token == "--") { // parse a null move! parseDefaultToken(game, token); break; } default: parseDefaultToken(game, token); break; } } void PgnDatabase::parseComment(Game* game) { int end = m_currentLine.indexOf('}'); if(end >= 0) { m_comment.append(m_currentLine.left(end)); m_inComment = false; if(m_newVariation || game->plyCount() == 0) { if (game->plyCount()==0 && m_inPreComment) { game->dbSetAnnotation(m_precomment, 0); m_inPreComment = false; } m_precomment = m_comment.trimmed(); m_inPreComment = true; } else { game->dbSetAnnotation(m_comment.trimmed()); } m_currentLine = m_currentLine.right((m_currentLine.length() - end) - 1); } else { m_comment.append(m_currentLine + ' '); readLine(); } } inline bool onlyWhite(const QByteArray& b) { for(int i = 0; i < b.length(); ++i) if(!isspace(b[i])) { return false; } return true; } IndexBaseType PgnDatabase::skipJunk() { IndexBaseType fp = -2; if(m_file->atEnd()) { fp = -1; } while((!m_lineBuffer.length() || (m_lineBuffer[0] != '[' && m_lineBuffer[0] != '1')) && !m_file->atEnd()) { fp = m_file->pos(); skipLine(); } if(fp == -2) { fp = m_file->pos() - m_lineBuffer.size(); } if(m_utf8) { QTextStream textStream(m_lineBuffer); m_currentLine = textStream.readLine().simplified(); } else { QTextStream textStream(m_lineBuffer); QTextCodec* textCodec = QTextCodec::codecForName("ISO 8859-1"); if(textCodec) { textStream.setCodec(textCodec); } m_currentLine = textStream.readLine().simplified(); } if(m_inComment || !m_currentLine.startsWith("[")) { m_currentLine.replace("(", " ( "); m_currentLine.replace(")", " ) "); m_currentLine.replace("{", " { "); m_currentLine.replace("}", " } "); m_currentLine.replace("$", " $"); } return fp; } void PgnDatabase::skipTags() { while(m_lineBuffer.length() && (m_lineBuffer[0] == '[') && !m_file->atEnd()) { skipLine(); } //swallow trailing whitespace while(onlyWhite(m_lineBuffer) && !m_file->atEnd()) { skipLine(); } if(m_utf8) { QTextStream textStream(m_lineBuffer); m_currentLine = textStream.readLine().simplified(); } else { QTextStream textStream(m_lineBuffer); QTextCodec* textCodec = QTextCodec::codecForName("ISO 8859-1"); if(textCodec) { textStream.setCodec(textCodec); } m_currentLine = textStream.readLine().simplified(); } if(m_inComment || !m_currentLine.startsWith("[")) { m_currentLine.replace("(", " ( "); m_currentLine.replace(")", " ) "); m_currentLine.replace("{", " { "); m_currentLine.replace("}", " } "); m_currentLine.replace("$", " $"); } } void PgnDatabase::skipMoves() { QString tag = m_index.tagValue(TagNamePlyCount, m_count - 1); if(tag == "?") { tag.clear(); } if(!tag.isEmpty()) { while(!onlyWhite(m_lineBuffer) && !m_file->atEnd()) { skipLine(); } tag = QString::number((tag.toInt() + 1) / 2); m_index.setTag(TagNameLength, tag, m_count - 1); } else { QRegExp gameNumber("\\s(\\d+)\\s*\\."); QString gameText = " "; while(!onlyWhite(m_lineBuffer) && !m_file->atEnd()) { gameText += QString(m_lineBuffer) + " "; skipLine(); } gameText = gameText.remove(QRegExp("\\([^\\(\\)]*\\)")); gameNumber.lastIndexIn(gameText); m_index.setTag(TagNameLength, gameNumber.cap(1), m_count - 1); } //swallow trailing whitespace while(onlyWhite(m_lineBuffer) && !m_file->atEnd()) { skipLine(); } if(m_utf8) { QTextStream textStream(m_lineBuffer); m_currentLine = textStream.readLine().simplified(); } else { QTextStream textStream(m_lineBuffer); QTextCodec* textCodec = QTextCodec::codecForName("ISO 8859-1"); if(textCodec) { textStream.setCodec(textCodec); } m_currentLine = textStream.readLine().simplified(); } } ./chessx-1.3.2/src/database/pgndatabase.h000644 000765 000024 00000013216 12510211243 017667 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * (C) 2006 Ejner Borgbjerg * * (C) 2007 Marius Roets * * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __PGNDATABASE_H__ #define __PGNDATABASE_H__ #include #include #include "database.h" /** @ingroup Database The PgnDatabase class provides database access to PGN files. The class is derived from the Database class, providing methods for the loading and saving of games, and for performing searches and queries. */ typedef qint64 IndexBaseType; class PgnDatabase : public Database { Q_OBJECT public: /** Default constructor */ PgnDatabase(bool b64Bit); /** Destructor */ ~PgnDatabase(); //database operations /** Opens the given database */ virtual bool open(const QString& filename, bool utf8); /** File-based database name */ virtual QString filename() const; /** Closes the database */ void close(); //game retrieval & storage /** Loads a game from the given position, returns true if successful */ bool loadGame(GameId gameId, Game& game); /** Loads only moves into a game from the given position */ void loadGameMoves(GameId gameId, Game& game); // Open a PGN Data File from a string bool openString(const QString& content); virtual quint64 count() const; protected: //parsing methods /** Reads moves from the file and adds them to the game. Performs position searches if any are active */ bool parseMoves(Game* game); /** Parses a line from the file */ void parseLine(Game* game); /** Parses a move token from the file */ void parseDefaultToken(Game* game, QString token); /** Parses a token from the file */ void parseToken(Game* game, const QString& token); /** Parses a comment from the file */ void parseComment(Game* game); /** Skips past any data which is not valid tag or move data */ IndexBaseType skipJunk(); /** Skips past any tag data */ void skipTags(); /** Skips past any move data */ void skipMoves(); /** Parses the tags, and adds the supported types to the index 'm_index' */ void parseTagsIntoIndex(); virtual bool parseFile(); bool parseFileIntern(); virtual void parseGame(); bool readIndexFile(QDataStream& in, volatile bool *breakFlag, short version); bool writeIndexFile(QDataStream& out) const; QString offsetFilename(const QString& filename) const; bool readOffsetFile(const QString&, volatile bool *breakFlag, bool &bUpdate); bool writeOffsetFile(const QString&) const; // Open a PGN data File bool openFile(const QString& filename); IndexBaseType m_count; // Should actually be a GameId - but cannot be changed due to serialization issues /** Adds the current file position as a new offset */ void addOffset(); QIODevice* m_file; QString m_currentLine; private: /** Resets/initialises important member variables. Called by constructor and close methods */ void initialise(); //file methods /** Reads the next line of text from the PGN file */ void readLine(); /** Skips the next line of text from the PGN file */ void skipLine(); /** Moves the file position to the start of the given game */ void seekGame(GameId gameId); //file variables QString m_filename; QString m_gameText; //parsing variables int m_pos; bool m_gameOver; bool m_inComment; bool m_inPreComment; QString m_comment; QString m_precomment; bool m_newVariation; int m_variation; //game index static const int AllocationSize = 16384; IndexBaseType m_allocated; qint32* m_gameOffsets32; qint64* m_gameOffsets64; QByteArray m_lineBuffer; bool bUse64bit; //offset methods /** Returns the file offset for the given game */ inline IndexBaseType offset(GameId gameId) { if(bUse64bit) { return m_gameOffsets64[gameId]; } else { return m_gameOffsets32[gameId]; } } /** Adds a new file offset */ inline void addOffset(IndexBaseType offset) { if(m_count == m_allocated) { //out of space reallocate memory if(bUse64bit) { qint64* newAllocation = new qint64[m_allocated += AllocationSize]; memcpy(newAllocation, m_gameOffsets64, m_count * sizeof(qint64)); delete[] m_gameOffsets64; m_gameOffsets64 = newAllocation; } else { qint32* newAllocation = new qint32[m_allocated += AllocationSize]; memcpy(newAllocation, m_gameOffsets32, m_count * sizeof(qint32)); delete[] m_gameOffsets32; m_gameOffsets32 = newAllocation; } } if(bUse64bit) { m_gameOffsets64[m_count++] = offset; } else { m_gameOffsets32[m_count++] = offset; } } }; #endif ./chessx-1.3.2/src/database/piece.cpp000644 000765 000024 00000001162 12510715746 017054 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2015 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "piece.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER Piece& operator++(Piece& w) { if(w < BlackPawn) { return w = Piece(w + 1); } else { return w = Empty; } } Piece operator++(Piece& w, int) { Piece alt = w; ++w; return alt; } ./chessx-1.3.2/src/database/piece.h000644 000765 000024 00000002634 12510715746 016526 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2015 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef PIECE_H #define PIECE_H enum Piece { Empty, WhiteKing, WhiteQueen, WhiteRook, WhiteBishop, WhiteKnight, WhitePawn, BlackKing, BlackQueen, BlackRook, BlackBishop, BlackKnight, BlackPawn, ConstPieceTypes, InvalidPiece = 255 }; // Pre-Increment Piece& operator++(Piece& w); // Post-Increment Piece operator++(Piece& w, int); enum PieceType { None, King, Queen, Rook, Bishop, Knight, Pawn }; enum Color {White, Black}; /** Return opposite color */ inline Color oppositeColor(Color c) { return c == White ? Black : White; } /** Return true if given piece is White */ inline bool isWhite(Piece p) { return p >= WhiteKing && p <= WhitePawn; } /** Return true if given piece is Black */ inline bool isBlack(Piece p) { return p >= BlackKing && p <= BlackPawn; } /** Return PieceType of given Piece */ inline PieceType pieceType(Piece p) { return PieceType(isWhite(p) ? p : (isBlack(p) ? p - 6 : 0)); } /** Return Color of given Piece */ inline Color pieceColor(Piece p) { return isBlack(p) ? Black : White; } /** Verify that given Piece is within range */ inline bool isValidPiece(Piece p) { return isWhite(p) || isBlack(p); } #endif // PIECE_H ./chessx-1.3.2/src/database/playerdata.cpp000644 000765 000024 00000013470 12507517064 020121 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006 Ejner Borgbjerg * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "playerdata.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER PlayerData::PlayerData() { m_estimatedElo = 0; m_peakElo = 0; m_firstEloListIndex = 0; m_lastEloListIndex = 0; } PartialDate PlayerData::dateOfBirth() const { return m_dateOfBirth; } void PlayerData::setDateOfBirth(const PartialDate d) { m_dateOfBirth = d; } PartialDate PlayerData::dateOfDeath() const { return m_dateOfDeath; } void PlayerData::setDateOfDeath(const PartialDate d) { m_dateOfDeath = d; } QString PlayerData::country() const { return m_country; } void PlayerData::setCountry(const QString s) { m_country = s; } QString PlayerData::title() const { return m_title; } void PlayerData::setTitle(const QString s) { m_title = s; } int PlayerData::elo(const int eloListIndex) const { if(m_elo.contains(eloListIndex)) { QMap::const_iterator it = m_elo.find(eloListIndex); return it.value(); } else { return 0; } } int PlayerData::firstEloListIndex() { return m_firstEloListIndex; } void PlayerData::setFirstEloListIndex(const int ix) { m_firstEloListIndex = ix; } int PlayerData::lastEloListIndex() { return m_lastEloListIndex; } void PlayerData::setLastEloListIndex(const int ix) { m_lastEloListIndex = ix; } void PlayerData::setElo(const int eloListIndex, const int elo) { m_elo.insert(eloListIndex, elo); if(eloListIndex < m_firstEloListIndex || m_firstEloListIndex == 0) { m_firstEloListIndex = eloListIndex; } if(eloListIndex > m_lastEloListIndex || m_lastEloListIndex == 0) { m_lastEloListIndex = eloListIndex; } if(elo > m_peakElo) { m_peakElo = elo; } m_estimatedEloCache.clear(); } int PlayerData::peakElo() const { return m_peakElo; } void PlayerData::setPeakElo(const int elo) { m_peakElo = elo; } int PlayerData::estimatedElo() const { return m_estimatedElo; } void PlayerData::setEstimatedElo(const int elo) { m_estimatedElo = elo; m_estimatedEloCache.clear(); } int PlayerData::estimatedElo(const int eloListIndex) { QMap::const_iterator it; if(m_elo.contains(eloListIndex)) { it = m_elo.find(eloListIndex); return it.value(); } else { if(m_estimatedEloCache.contains(eloListIndex)) //use cached result { it = m_estimatedEloCache.find(eloListIndex); return it.value(); } else //search in previous elo lists { int result = m_estimatedElo;//default to overall estimate for(int i = eloListIndex - 1; i > 0; --i) { if(m_elo.contains(i)) { it = m_elo.find(i); result = it.value(); break; } } m_estimatedEloCache.insert(eloListIndex, result);//cache result return result; } } } int PlayerData::estimatedEloNoCache(const int eloListIndex) const { QMap::const_iterator it; if(m_elo.contains(eloListIndex)) { it = m_elo.find(eloListIndex); return it.value(); } else { if(m_estimatedEloCache.contains(eloListIndex)) //use cached result { it = m_estimatedEloCache.find(eloListIndex); return it.value(); } else //search in previous elo lists { int result = m_estimatedElo;//default to overall estimate for(int i = eloListIndex - 1; i > 0; --i) { if(m_elo.contains(i)) { it = m_elo.find(i); result = it.value(); break; } } return result; } } } QImage PlayerData::photo() const { return m_photo; } void PlayerData::setPhoto(const QImage img) { m_photo = img; } QString PlayerData::biography() const { return m_biography; } void PlayerData::setBiography(const QString str) { m_biography = str; } void PlayerData::appendToBiography(const QString str) { m_biography += str; } QList PlayerData::eloListData() const { QList list; QMap::const_iterator it; int nextListIx = 1; for(it = m_elo.begin(); it != m_elo.end(); ++it) { int listIx = it.key(); if(listIx > nextListIx) { list.push_back((qint32) - 9999); list.push_back((qint32)(listIx - nextListIx));//number of lists without the player } list.push_back((qint32)it.value());//elo nextListIx = listIx + 1; } return list; } void PlayerData::eloFromListData(QList eloListData) { int listIx = 1; qint32 elem; for(unsigned int i = 0; i < (unsigned int)eloListData.size();) { elem = eloListData[i++]; if(elem == -9999) { elem = eloListData[i++]; listIx += elem; } else { m_elo.insert(listIx, elem); listIx++; } } } ./chessx-1.3.2/src/database/playerdata.h000644 000765 000024 00000006500 12223260306 017547 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006 Ejner Borgbjerg * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __PLAYERDATA_H__ #define __PLAYERDATA_H__ #include #include #include #include #include "partialdate.h" /** @ingroup Database The PlayerData class holds information about single player. */ class PlayerData { public: PlayerData(); /** Players date of birth, if it is known. */ PartialDate dateOfBirth() const; void setDateOfBirth(const PartialDate d); PartialDate dateOfDeath() const; void setDateOfDeath(const PartialDate d); QString country() const; void setCountry(const QString s); QString title() const; void setTitle(const QString s); int firstEloListIndex(); void setFirstEloListIndex(const int ix); int lastEloListIndex(); void setLastEloListIndex(const int ix); /** players elo from the given elo list. */ int elo(const int eloList) const; void setElo(const int eloList, const int elo); /** the estimated elo for the player at the elo list with the given index: if the player is not in the list, the closest previous elo list is used if available; else the overall estimate is used. Non-const due to caching. */ int estimatedElo(const int eloListIndex); /** Like estimatedElo(int), but no caching is used. */ int estimatedEloNoCache(const int eloListIndex) const; int peakElo() const; void setPeakElo(const int elo); /** the overall estimated elo for the player */ int estimatedElo() const; void setEstimatedElo(const int elo); QImage photo() const; void setPhoto(const QImage img); QString biography() const; void setBiography(const QString str); void appendToBiography(const QString str); /** returns the elo list data as a QList. Useful for writing the data out to a QDataStream. */ QList eloListData() const; /** sets the elo list data from a QList. Useful for reading in the data from a QDataStream. */ void eloFromListData(const QList eloListData); private: PartialDate m_dateOfBirth; PartialDate m_dateOfDeath; QString m_country; QString m_title; QMap m_elo; // key is elo list index, value is rating for player from the list QMap m_estimatedEloCache; // key is elo list index, value is latest previous rating for player int m_estimatedElo; // for historic players int m_peakElo; // highest elo int m_firstEloListIndex; // index of first elo list where player is represented int m_lastEloListIndex; // index of first elo list where player is represented QImage m_photo; QString m_biography; // html string }; #endif ./chessx-1.3.2/src/database/playerdatabase.cpp000644 000765 000024 00000033207 12507517064 020754 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006 Ejner Borgbjerg * * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ /* Documentation for managing QDataset version, see http://doc.trolltech.com/4.0/qdatastream.html */ #include "playerdatabase.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER static quint32 Magic = (quint32)0xB0D0A0D0; // 'magic' number static quint32 Version = (quint32)100; // file format version static QString Mapfile_suffix = ".cpm"; static QString Datafile_suffix = ".cpd"; bool PlayerDatabase::create(const QString& fname) { m_dirty = false; m_mapfile.setFileName(fname + Mapfile_suffix); m_datafile.setFileName(fname + Datafile_suffix); if(m_mapfile.exists() || m_datafile.exists()) { return false; } // set QDataset format version to use if(Version == (quint32)100) { m_mapds.setVersion(6); m_datads.setVersion(6); } else //default { m_mapds.setVersion(6); m_datads.setVersion(6); } m_mapfile.open(QIODevice::ReadWrite); m_mapds.setDevice(&m_mapfile); m_mapds << Magic; m_mapds << Version; m_nplayers = 0; m_nplayers_offset = m_mapfile.pos(); m_mapds << m_nplayers; m_datafile.open(QIODevice::ReadWrite); m_datads.setDevice(&m_datafile); m_datads << Magic; m_datads << Version;//use current version for new db's m_mapfile.flush(); m_datafile.flush(); m_dataFileCurrentPosition = m_datafile.pos(); m_npending_adds = 0; return true; } bool PlayerDatabase::open(const QString& fname) { m_dirty = false; m_mapfile.setFileName(fname + Mapfile_suffix); if(!m_mapfile.open(QIODevice::ReadWrite)) { return false; } m_mapds.setDevice(&m_mapfile); quint32 map_magic; quint32 map_version; m_mapds >> map_magic; m_mapds >> map_version; if(map_magic != Magic) { m_mapds.unsetDevice(); m_mapfile.close(); return false; } // set QDataset format version to use if(map_version == (quint32)100) { m_mapds.setVersion(6); } else //unknown version { m_mapds.unsetDevice(); m_mapfile.close(); return false; } quint32 data_magic; quint32 data_version; m_datafile.setFileName(fname + Datafile_suffix); if(!m_datafile.open(QIODevice::ReadWrite)) { m_mapds.unsetDevice(); m_mapfile.close(); return false; } m_datads.setDevice(&m_datafile); m_datads >> data_magic; m_datads >> data_version; if(data_magic != Magic) { m_mapds.unsetDevice(); m_mapfile.close(); m_datads.unsetDevice(); m_datafile.close(); return false; } // set QDataset format version to use if(data_version == (quint32)100) { m_datads.setVersion(6); } else //unknown version { m_mapds.unsetDevice(); m_mapfile.close(); m_datads.unsetDevice(); m_datafile.close(); return false; } if(map_version != data_version) { m_mapds.unsetDevice(); m_mapfile.close(); m_datads.unsetDevice(); m_datafile.close(); return false; } m_dataFileCurrentPosition = m_datafile.pos(); m_nplayers_offset = m_mapfile.pos(); m_mapds >> m_nplayers; if(m_nplayers > 0) { m_mapds >> m_mapping; } m_npending_adds = 0; return true; } bool PlayerDatabase::removeDatabase(const QString& fname) { m_mapfile.setFileName(fname + Mapfile_suffix); m_datafile.setFileName(fname + Datafile_suffix); return m_mapfile.remove() && m_datafile.remove(); } void PlayerDatabase::close() { commit(); m_mapds.unsetDevice(); m_mapfile.flush(); m_mapfile.close(); m_datads.unsetDevice(); m_datafile.flush(); m_datafile.close(); } void PlayerDatabase::rollback() { m_pendingUpdates.clear(); m_dirty = false; m_npending_adds = 0; } void PlayerDatabase::commit() { if(m_dirty) //current player was changed { m_pendingUpdates.insert(m_currentPlayerName, m_currentPlayer); } m_mapfile.seek(m_nplayers_offset); m_mapds << m_nplayers; // write non-committed changes m_dataFileCurrentPosition = m_datafile.size(); m_datafile.seek(m_dataFileCurrentPosition); QMap::Iterator it; for(it = m_pendingUpdates.begin(); it != m_pendingUpdates.end(); ++it) { m_mapping.insert(it.key(), m_datafile.pos()); m_datads << it.value().dateOfBirth().asString(); m_datads << it.value().dateOfDeath().asString(); m_datads << it.value().country(); m_datads << it.value().title(); m_datads << it.value().eloListData(); m_datads << (qint32)(it.value().firstEloListIndex()); m_datads << (qint32)(it.value().lastEloListIndex()); m_datads << (qint32)(it.value().estimatedElo()); m_datads << (qint32)(it.value().peakElo()); m_datads << it.value().photo(); m_datads << it.value().biography(); } m_mapds << m_mapping; m_mapfile.flush(); m_datafile.flush(); m_pendingUpdates.clear(); m_dirty = false; m_nplayers += m_npending_adds; m_npending_adds = 0; } PlayerData PlayerDatabase::readPlayerData(const QString& playername) { PlayerData pd; QMap::Iterator it; it = m_mapping.find(playername); if(it == m_mapping.end()) { //not in committed data, look in non-committed updates QMap::Iterator it2; it2 = m_pendingUpdates.find(playername); if(it2 != m_pendingUpdates.end()) { return it2.value(); } else //give up { return pd; } } qint32 pos = it.value(); m_datafile.seek(pos);//pointing to the player data QString birthDate; QString deathDate; QString country; QString title; m_datads >> birthDate; m_datads >> deathDate; m_datads >> country; m_datads >> title; if(birthDate.contains('.')) { pd.setDateOfBirth(PartialDate(birthDate)); } if(deathDate.contains('.')) { pd.setDateOfDeath(deathDate); } pd.setCountry(country); pd.setTitle(title); QList eloList; m_datads >> eloList; pd.eloFromListData(eloList); qint32 firstEloListIndex; qint32 lastEloListIndex; qint32 estimatedElo; qint32 peakElo; QImage photo; QString biography; m_datads >> firstEloListIndex; m_datads >> lastEloListIndex; m_datads >> estimatedElo; m_datads >> peakElo; m_datads >> photo; m_datads >> biography; pd.setFirstEloListIndex((int)firstEloListIndex); pd.setLastEloListIndex((int)lastEloListIndex); pd.setEstimatedElo((int)estimatedElo); pd.setPeakElo((int)peakElo); pd.setPhoto(photo); pd.setBiography(biography); return pd; } unsigned int PlayerDatabase::count() const { return m_nplayers + m_npending_adds; } bool PlayerDatabase::add(const QString& playername) { if(m_mapping.contains(playername) || m_pendingUpdates.contains(playername)) { return false; } if(m_dirty) //previous current player was changed { m_pendingUpdates.insert(m_currentPlayerName, m_currentPlayer); } PlayerData pd; m_currentPlayerName = playername; m_currentPlayer = pd; m_dirty = true; ++m_npending_adds; return true; } QString PlayerDatabase::current() const { return m_currentPlayerName; } void PlayerDatabase::setCurrent(const QString& playername) { if(m_currentPlayerName.compare(playername) == 0) { return; } if(m_dirty) //previous current player was changed { m_pendingUpdates.insert(m_currentPlayerName, m_currentPlayer); } m_currentPlayerName = playername; m_currentPlayer = readPlayerData(playername); m_dirty = false; } bool PlayerDatabase::exists(const QString& playername) const { if(m_mapping.contains(playername)) { return true; } if(m_pendingUpdates.contains(playername)) { return true; } return false; } PartialDate PlayerDatabase::dateOfBirth() const { return m_currentPlayer.dateOfBirth(); } void PlayerDatabase::setDateOfBirth(const PartialDate& date) { m_currentPlayer.setDateOfBirth(date); if(!m_dirty) { m_dirty = true; } } PartialDate PlayerDatabase::dateOfDeath() const { return m_currentPlayer.dateOfDeath(); } void PlayerDatabase::setDateOfDeath(const PartialDate & date) { m_currentPlayer.setDateOfDeath(date); if(!m_dirty) { m_dirty = true; } } QString PlayerDatabase::country() const { return m_currentPlayer.country(); } void PlayerDatabase::setCountry(const QString& country) { m_currentPlayer.setCountry(country); if(!m_dirty) { m_dirty = true; } } QString PlayerDatabase::title() const { return m_currentPlayer.title(); } void PlayerDatabase::setTitle(const QString& title) { m_currentPlayer.setTitle(title); if(!m_dirty) { m_dirty = true; } } int PlayerDatabase::firstEloListIndex() { return m_currentPlayer.firstEloListIndex(); } int PlayerDatabase::lastEloListIndex() { return m_currentPlayer.lastEloListIndex(); } int PlayerDatabase::elo(const PartialDate& date) const { return m_currentPlayer.elo(eloList(date)); } int PlayerDatabase::elo(const int eloList) const { return m_currentPlayer.elo(eloList); } int PlayerDatabase::estimatedElo(const PartialDate& date) { return m_currentPlayer.estimatedElo(eloList(date)); } int PlayerDatabase::estimatedEloNoCache(const PartialDate& date) const { return m_currentPlayer.estimatedEloNoCache(eloList(date)); } int PlayerDatabase::estimatedElo() const { return m_currentPlayer.estimatedElo(); } int PlayerDatabase::highestElo() const { return m_currentPlayer.peakElo(); } void PlayerDatabase::setElo(const int year, const int listIndex, const int elo) { m_currentPlayer.setElo(eloList(year, listIndex), elo); if(!m_dirty) { m_dirty = true; } } void PlayerDatabase::setEstimatedElo(const int elo) { m_currentPlayer.setEstimatedElo(elo); if(!m_dirty) { m_dirty = true; } } bool PlayerDatabase::hasPhoto() const { return !m_currentPlayer.photo().isNull(); } QImage PlayerDatabase::photo() const { return m_currentPlayer.photo(); } void PlayerDatabase::setPhoto(const QImage& img) { m_currentPlayer.setPhoto(img); if(!m_dirty) { m_dirty = true; } } bool PlayerDatabase::hasBiography() const { return !m_currentPlayer.biography().isNull(); } QString PlayerDatabase::biography() const { return m_currentPlayer.biography(); } void PlayerDatabase::setBiography(const QString& s) { m_currentPlayer.setBiography(s); if(!m_dirty) { m_dirty = true; } } void PlayerDatabase::appendToBiography(const QString& s) { m_currentPlayer.appendToBiography(s); if(!m_dirty) { m_dirty = true; } } QStringList PlayerDatabase::playerNames() { QStringList result; QMap::Iterator it; for(it = m_mapping.begin(); it != m_mapping.end(); ++it) { result.push_back(it.key()); } return result; } QStringList PlayerDatabase::findPlayers(const QString& prefix, const int maxCount, const Qt::CaseSensitivity cs) { QStringList result; QMap::Iterator it; int i = 0; for(it = m_mapping.begin(); it != m_mapping.end(); ++it) { if(it.key().startsWith(prefix, cs)) { if(i >= maxCount) { break; } result.push_back(it.key()); ++i; } } return result; } int PlayerDatabase::eloList(const PartialDate date) const { const int year = date.year(); if(year < 1971) { return 0; } if(year < 2001) //2 lists in the year { return ((year - 1971) * 2) + 1 + (date.month() / 7); } return 60 + ((year - 2001) * 4) + 1 + (date.month() / 4); //4 lists in the year } int PlayerDatabase::eloList(const int year, const int index) const { if(year < 1971) { return 0; } if(year < 2001) //2 lists in the year { return ((year - 1971) * 2) + index; } return 60 + ((year - 2001) * 4) + index; //4 lists in the year } PartialDate PlayerDatabase::eloListToDate(const int index) { if(index < 1) { return PDInvalidDate; } int year; int rem; int month; if(index < 61) { year = 1970 + ((index + 1) / 2); rem = index % 2; if(rem == 0) { month = 7; } else { month = 1; } } else { year = 2000 + ((index - 57) / 4); rem = index % 4; if(rem == 0) { month = 10; } else if(rem == 1) { month = 1; } else if(rem == 2) { month = 4; } else { month = 7; } } return PartialDate(year, month, 1); } ./chessx-1.3.2/src/database/playerdatabase.h000644 000765 000024 00000016077 12223260306 020414 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006 Ejner Borgbjerg * * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ /** @ingroup Database The PlayerDatabase class is used to acces player data. @todo - optimize storage - QString is said to serialize as UTF-16 - maybe consider changing to a portable pure C++ format instead? */ #ifndef __PLAYERDATABASE_H__ #define __PLAYERDATABASE_H__ #include #include #include #include #include #include "playerdata.h" class PlayerDatabase { public: /** create a new player database */ bool create(const QString& fname); /** open an existing player database */ bool open(const QString& fname); /** remove a player database */ bool removeDatabase(const QString& fname); /** commit pending updates */ void commit(); /** rollback - cancel pending updates */ void rollback(); /** close the player database */ void close(); /** number of players in the database */ unsigned int count() const; /** add a new player */ bool add(const QString& playername); /** name of the current player object */ QString current() const; /** makes the player the current object for later query/update function calls. */ void setCurrent(const QString& playername); /** returns true iff the player has en entry in the database */ bool exists(const QString& playername) const; /** returns date of birth for a player */ PartialDate dateOfBirth() const; /** updates date of birth for a player */ void setDateOfBirth(const PartialDate& date); /** returns date of death for a player */ PartialDate dateOfDeath() const; /** updates date of death for a player */ void setDateOfDeath(const PartialDate& date); /** returns country for a player */ QString country() const; /** updates country for a player Standard is 3 character country code (RUS, DEN, SWE, etc.) Multiple countries can be provided by separating them by '/', fe. RUS/GER (earliest country first) */ void setCountry(const QString& country); /** returns title for a player */ QString title() const; /** updates title for a player gm: Grandmaster im: International Master fm: FIDE Master wgm: Woman Grandmaster wim: Woman International Master wfm: Woman FIDE Master cgm: Correspondence GM cim: Correspondence IM hgm: Honorary Grandmaster comp: Computer -: None/unknown Multiple titles can be provided by separating them by '+', fe. gm+cgm */ void setTitle(const QString& title); /** Index of the first elo list where player is represented */ int firstEloListIndex(); /** Index of the last elo list where player is represented */ int lastEloListIndex(); /** players elo rating from the elo list with the given index. In period from 1971 to 2000, there is 2 lists pr. year; The first list from 1971 has index = 1, and the last list of 2000 has index = 60. Since 2001, there is 4 lists pr. year. If player is not in the list, 0 is returned. */ int elo(const int eloListIndex) const; /** players elo rating at the given date. If player is not in the elolist on that date, 0 is returned. */ int elo(const PartialDate& date) const; /** Like elo(const QDate&), except when player is not in the actual elo list: Return rating from nearest previous list if available, overall estimation if no previous data available, 0 if nothing is available. Non-const due to caching. The cache can be useful, if calling repeatedly with a date inside the same elo list period (cf. the elo(int) function). */ int estimatedElo(const PartialDate& date); /** Like estimatedElo(const QDate&), but no caching is done. */ int estimatedEloNoCache(const PartialDate& date) const; /** highest overall elo achieved by current player */ int highestElo() const; /** overall elo estimation */ int estimatedElo() const; /** updates the current players elo for a given list in a given year */ void setElo(const int year, const int listIndex, const int elo); /** updates (overall) estimated elo for a player */ void setEstimatedElo(const int elo); /** returns true iff a photo of the current player is available; the photo can be accessed by photo() */ bool hasPhoto() const; /** returns photo for the current player if no photo is available, photo().isNull() */ QImage photo() const; /** updates photo for a player */ void setPhoto(const QImage& img); /** returns true iff a biography for the current player is available; the biography can be accessed by biography() */ bool hasBiography() const; /** returns biography for a player if no biography is available, biography().isNull() */ QString biography() const; /** updates biography for a player */ void setBiography(const QString& s); void appendToBiography(const QString& s); /** returns a list of all player names in database */ QStringList playerNames(); /** returns a list of player names in database, matching the prefix By default, max 10000000 names are returned By default, search is case sensitive */ QStringList findPlayers(const QString& prefix, const int maxCount = 10000000, const Qt::CaseSensitivity cs = Qt::CaseSensitive); /** returns the date for a given elo list index */ PartialDate eloListToDate(const int index); private: QMap m_mapping; // pointers into data QDataStream m_mapds; // contains mapping QFile m_mapfile; qint32 m_nplayers; // number of players in db - not counting pending add's qint32 m_npending_adds; // number of pending add's to db qint64 m_nplayers_offset; // position of count field in mapfile QDataStream m_datads; // contains data QFile m_datafile; qint64 m_dataFileCurrentPosition; // current position in datafile QMap m_pendingUpdates; // changes, not committed yet QString m_currentPlayerName; PlayerData m_currentPlayer; bool m_dirty; PlayerData readPlayerData(const QString & playername); int eloList(const PartialDate date) const; int eloList(const int year, const int index) const; }; #endif ./chessx-1.3.2/src/database/playerinfo.cpp000644 000765 000024 00000021575 12522144662 020145 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include "ecopositions.h" #include "database.h" #include "playerinfo.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER static bool sortEcoFrequencyLt(const EcoFrequencyItem& a1, const EcoFrequencyItem& a2) { if(a1.second.count == a2.second.count) { return (a1.first < a2.first); } return a1.second.count > a2.second.count; } PlayerInfo::PlayerInfo() { m_database = 0; reset(); } PlayerInfo::~PlayerInfo() { } PlayerInfo::PlayerInfo(Database* db, const QString & player) { setDatabase(db); setName(player); reset(); update(); } QString PlayerInfo::name() const { return m_name; } void PlayerInfo::setDatabase(Database* db) { m_database = db; } void PlayerInfo::setName(const QString& player) { m_name = player; update(); } int PlayerInfo::toResult(const QString& res) const { if(res.startsWith("1/2")) { return Draw; } else if(res.startsWith('1')) { return WhiteWin; } else if(res.startsWith('0')) { return BlackWin; } else { return ResultUnknown; } } static bool sortIntGt(const int& a1, const int& a2) { return a1>a2; } void PlayerInfo::update() { QHash openings[2]; QHash openingsX[2]; const Index* index = m_database->index(); // Determine matching tag values ValueIndex player = index->getValueIndex(m_name); // Clean previous statistics reset(); for(int i = 0; i < (int)m_database->count(); ++i) { Color c; if(index->valueIndexFromTag(TagNameWhite, i) == player) { c = White; } else if(index->valueIndexFromTag(TagNameBlack, i) == player) { c = Black; } else { continue; } int res = toResult(index->tagValue(TagNameResult, i)); m_result[c][res]++; m_count[c]++; int elo = index->tagValue(c == White ? TagNameWhiteElo : TagNameBlackElo, i).toInt(); if(elo) { m_rating[0] = qMin(elo, m_rating[0]); m_rating[1] = qMax(elo, m_rating[1]); } PartialDate date(index->tagValue(TagNameDate, i)); if(date.year() > 1000) { m_date[0] = qMin(date, m_date[0]); m_date[1] = qMax(date, m_date[1]); } QString eco = index->tagValue(TagNameECO, i).left(3); if(eco.length() == 3) { openings[c][eco].count++; openings[c][eco].result[res]++; } QString ecoX = index->tagValue(TagNameECO, i).left(4); if(ecoX.length() >= 3) { openingsX[c][ecoX]++; } } for(int i = 0; i < 2; ++i) { foreach(QString s, openings[i].keys()) { m_eco[i].append(EcoFrequencyItem(s, openings[i].value(s))); } qSort(m_eco[i].begin(), m_eco[i].end(), sortEcoFrequencyLt); } for(int i = 0; i < 2; ++i) { OpeningCountMap openingMap; foreach(QString s, openingsX[i].keys()) { QString opening = EcoPositions::findEcoName(s); openingMap[opening] = openingMap.value(opening) + 1; } QSet valset = openingMap.values().toSet(); QList vals = valset.toList(); qSort( vals.begin(), vals.end(), sortIntGt ); foreach( int val, vals ) { QList keys = openingMap.keys( val ); qSort( keys ); foreach(QString key, keys) { m_opening[i].append(OpeningCountItem(key,val)); } } } qSwap(m_result[Black][WhiteWin], m_result[Black][BlackWin]); } QString PlayerInfo::formattedScore(const int result[4], int count) const { if(!count) { return QCoreApplication::translate("PlayerInfo", "no games"); } QString score = ""; QChar scoresign[4] = {'*', '+', '=', '-'}; score += QString("%1%2").arg(scoresign[WhiteWin]).arg(result[WhiteWin]); for(int i = Draw; i <= BlackWin; ++i) { score += QString("  %1%2").arg(scoresign[i]).arg(result[i]); } if(result[ResultUnknown]) { score += QString("  *%1").arg(result[ResultUnknown]); } if(count - result[ResultUnknown]) score += QString("  (%1%)"). arg((100.0 * result[WhiteWin] + 50.0 * result[Draw]) / (count - result[ResultUnknown]), 1, 'f', 1); score += ""; return score; } QString PlayerInfo::formattedScore() const { int total[4]; for(int i = 0; i < 4; ++i) { total[i] = m_result[White][i] + m_result[Black][i]; } int count = m_count[White] + m_count[Black]; return QCoreApplication::translate("PlayerInfo", "Total: %1
White: %2
Black: %3
") .arg(formattedScore(total, count)) .arg(formattedScore(m_result[White], m_count[White])) .arg(formattedScore(m_result[Black], m_count[Black])); } void PlayerInfo::reset() { for(int c = White; c <= Black; ++c) { for(int r = 0; r < 4; ++r) { m_result[c][r] = 0; } m_count[c] = 0; m_eco[c].clear(); m_opening[c].clear(); } m_rating[0] = 99999; m_rating[1] = 0; m_date[0] = PDMaxDate; m_date[1] = PDMinDate; } QString PlayerInfo::formattedGameCount() const { return QCoreApplication::translate("PlayerInfo", "Games in database %1: %2
") .arg(m_database->name()).arg(m_count[White] + m_count[Black]); } QString PlayerInfo::formattedRating() const { if(!m_rating[1]) { return QString(); } else if(m_rating[0] == m_rating[1]) { return QCoreApplication::translate("PlayerInfo", "Rating: %1
").arg(m_rating[0]); } else return QCoreApplication::translate("PlayerInfo", "Rating: %1-%2
") .arg(m_rating[0]).arg(m_rating[1]); } QString PlayerInfo::formattedRange() const { if(m_date[0].year() == 9999) // No date { return QCoreApplication::translate("PlayerInfo", "Date: ????.??.\?\?
"); } else if(m_date[0].year() < 1000) { return QString(); } else { return QCoreApplication::translate("PlayerInfo", "Date: %1
").arg(m_date[0].range(m_date[1])); } } QString PlayerInfo::listOfOpenings() const { QStringList openingsList; openingsList.append(QString("

%3:

").arg(m_name).arg(TagNameWhite).arg(tr("White Openings"))); openingsList.append(QString("

%3:

").arg(m_name).arg(TagNameBlack).arg(tr("Black Openings"))); openingsList.append(""); for(int i = 0; i < 2; ++i) { QStringList l; for(OpeningCountList::const_iterator it = m_opening[i].begin(); it != m_opening[i].end(); ++it) { if (((*it).second)==1) break; // leave out things played only once if (((*it).second)*25"); for(EcoFrequency::const_iterator it = m_eco[i].begin(); it != m_eco[i].end(); ++it) { QString score; int count = (*it).second.count; int resultUnknown = (*it).second.result[ResultUnknown]; int cResult = (*it).second.result[i == 0 ? WhiteWin : BlackWin]; int dResult = (*it).second.result[Draw]; if(count - resultUnknown) { score = QString(" (%1%)").arg((100.0 * cResult + 50.0 * dResult) / (count - resultUnknown), 1, 'f', 1); } openingsList[i] += QString("
  • %3: %4%5") .arg(i == 0 ? "white" : "black") .arg((*it).first) .arg((*it).first) .arg(count) .arg(score); } } QString s = openingsList.join(""); return s; } ./chessx-1.3.2/src/database/playerinfo.h000644 000765 000024 00000005457 12510715746 017617 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef PLAYERINFO_H #define PLAYERINFO_H #include "partialdate.h" #include "piece.h" #include #include #include #include class Database; struct EcoFrequencyInfo { unsigned int count; int result[4]; EcoFrequencyInfo() { count = 0; memset(result, 0, sizeof(result)); } }; typedef QPair EcoFrequencyItem; typedef QList EcoFrequency; typedef QPair OpeningCountItem; typedef QHash OpeningCountMap; typedef QList OpeningCountList; class PlayerInfo { Q_DECLARE_TR_FUNCTIONS(PlayerInfo) public: /** Standard constructor. Does nothing. */ PlayerInfo(); /** Set database and player. Automatically updates information. */ PlayerInfo(Database* db, const QString& player); /** Standard destructor. */ ~PlayerInfo(); /** Changes database. Does not automatically update statistics. */ void setDatabase(Database* db); /** Changes player. Update statistics automatically. */ void setName(const QString& player); /** @return current player name. */ QString name() const; /** Recalculates all statistics. */ void update(); /** @return string with formatted score statistics. */ QString formattedScore() const; /** @return string with formatted date range. */ QString formattedRange() const; /** @return string with formatted rating. */ QString formattedRating() const; /** @return string with formatted game count. */ QString formattedGameCount() const; /** @return string with list of openings played */ QString listOfOpenings() const; private: /** Clears all statistics. */ void reset(); /** Add statistics for game @p index when player has given color. */ void addGameStats(int index, Color color); /** Format score statistics for single color. */ QString formattedScore(const int results[4], int count) const; int toResult(const QString& res) const; QString m_name; Database* m_database; int m_result[2][4]; int m_count[2]; int m_rating[2]; EcoFrequency m_eco[2]; PartialDate m_date[2]; OpeningCountList m_opening[2]; }; #endif ./chessx-1.3.2/src/database/polyglotdatabase.cpp000644 000765 000024 00000077765 12516124425 021345 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include #include "polyglotdatabase.h" #include "board.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER // --------------------------------------------------------- // statics and constants // --------------------------------------------------------- #define MAX_COUNT 16384 entry_t entry_none = { 0, 0, 0, 0 }; struct key_compare : std::binary_function< const book_entry&, const book_entry&, bool > { bool operator()( const book_entry& a, const book_entry& b ) const { return aexists()) { delete file; return false; } if (file->open(readOnly ? QIODevice::ReadOnly : QIODevice::WriteOnly)) { m_file = file; return true; } delete file; return false; } void PolyglotDatabase::close() { //close the file, and delete objects if(m_file) { m_file->close(); } delete m_file; m_file = 0; } // --------------------------------------------------------- // Polyglot implementation // --------------------------------------------------------- #define U64(u) (u##ULL) static const quint64 RandomPiece[768] = { U64(0x9D39247E33776D41), U64(0x2AF7398005AAA5C7), U64(0x44DB015024623547), U64(0x9C15F73E62A76AE2), U64(0x75834465489C0C89), U64(0x3290AC3A203001BF), U64(0x0FBBAD1F61042279), U64(0xE83A908FF2FB60CA), U64(0x0D7E765D58755C10), U64(0x1A083822CEAFE02D), U64(0x9605D5F0E25EC3B0), U64(0xD021FF5CD13A2ED5), U64(0x40BDF15D4A672E32), U64(0x011355146FD56395), U64(0x5DB4832046F3D9E5), U64(0x239F8B2D7FF719CC), U64(0x05D1A1AE85B49AA1), U64(0x679F848F6E8FC971), U64(0x7449BBFF801FED0B), U64(0x7D11CDB1C3B7ADF0), U64(0x82C7709E781EB7CC), U64(0xF3218F1C9510786C), U64(0x331478F3AF51BBE6), U64(0x4BB38DE5E7219443), U64(0xAA649C6EBCFD50FC), U64(0x8DBD98A352AFD40B), U64(0x87D2074B81D79217), U64(0x19F3C751D3E92AE1), U64(0xB4AB30F062B19ABF), U64(0x7B0500AC42047AC4), U64(0xC9452CA81A09D85D), U64(0x24AA6C514DA27500), U64(0x4C9F34427501B447), U64(0x14A68FD73C910841), U64(0xA71B9B83461CBD93), U64(0x03488B95B0F1850F), U64(0x637B2B34FF93C040), U64(0x09D1BC9A3DD90A94), U64(0x3575668334A1DD3B), U64(0x735E2B97A4C45A23), U64(0x18727070F1BD400B), U64(0x1FCBACD259BF02E7), U64(0xD310A7C2CE9B6555), U64(0xBF983FE0FE5D8244), U64(0x9F74D14F7454A824), U64(0x51EBDC4AB9BA3035), U64(0x5C82C505DB9AB0FA), U64(0xFCF7FE8A3430B241), U64(0x3253A729B9BA3DDE), U64(0x8C74C368081B3075), U64(0xB9BC6C87167C33E7), U64(0x7EF48F2B83024E20), U64(0x11D505D4C351BD7F), U64(0x6568FCA92C76A243), U64(0x4DE0B0F40F32A7B8), U64(0x96D693460CC37E5D), U64(0x42E240CB63689F2F), U64(0x6D2BDCDAE2919661), U64(0x42880B0236E4D951), U64(0x5F0F4A5898171BB6), U64(0x39F890F579F92F88), U64(0x93C5B5F47356388B), U64(0x63DC359D8D231B78), U64(0xEC16CA8AEA98AD76), U64(0x5355F900C2A82DC7), U64(0x07FB9F855A997142), U64(0x5093417AA8A7ED5E), U64(0x7BCBC38DA25A7F3C), U64(0x19FC8A768CF4B6D4), U64(0x637A7780DECFC0D9), U64(0x8249A47AEE0E41F7), U64(0x79AD695501E7D1E8), U64(0x14ACBAF4777D5776), U64(0xF145B6BECCDEA195), U64(0xDABF2AC8201752FC), U64(0x24C3C94DF9C8D3F6), U64(0xBB6E2924F03912EA), U64(0x0CE26C0B95C980D9), U64(0xA49CD132BFBF7CC4), U64(0xE99D662AF4243939), U64(0x27E6AD7891165C3F), U64(0x8535F040B9744FF1), U64(0x54B3F4FA5F40D873), U64(0x72B12C32127FED2B), U64(0xEE954D3C7B411F47), U64(0x9A85AC909A24EAA1), U64(0x70AC4CD9F04F21F5), U64(0xF9B89D3E99A075C2), U64(0x87B3E2B2B5C907B1), U64(0xA366E5B8C54F48B8), U64(0xAE4A9346CC3F7CF2), U64(0x1920C04D47267BBD), U64(0x87BF02C6B49E2AE9), U64(0x092237AC237F3859), U64(0xFF07F64EF8ED14D0), U64(0x8DE8DCA9F03CC54E), U64(0x9C1633264DB49C89), U64(0xB3F22C3D0B0B38ED), U64(0x390E5FB44D01144B), U64(0x5BFEA5B4712768E9), U64(0x1E1032911FA78984), U64(0x9A74ACB964E78CB3), U64(0x4F80F7A035DAFB04), U64(0x6304D09A0B3738C4), U64(0x2171E64683023A08), U64(0x5B9B63EB9CEFF80C), U64(0x506AACF489889342), U64(0x1881AFC9A3A701D6), U64(0x6503080440750644), U64(0xDFD395339CDBF4A7), U64(0xEF927DBCF00C20F2), U64(0x7B32F7D1E03680EC), U64(0xB9FD7620E7316243), U64(0x05A7E8A57DB91B77), U64(0xB5889C6E15630A75), U64(0x4A750A09CE9573F7), U64(0xCF464CEC899A2F8A), U64(0xF538639CE705B824), U64(0x3C79A0FF5580EF7F), U64(0xEDE6C87F8477609D), U64(0x799E81F05BC93F31), U64(0x86536B8CF3428A8C), U64(0x97D7374C60087B73), U64(0xA246637CFF328532), U64(0x043FCAE60CC0EBA0), U64(0x920E449535DD359E), U64(0x70EB093B15B290CC), U64(0x73A1921916591CBD), U64(0x56436C9FE1A1AA8D), U64(0xEFAC4B70633B8F81), U64(0xBB215798D45DF7AF), U64(0x45F20042F24F1768), U64(0x930F80F4E8EB7462), U64(0xFF6712FFCFD75EA1), U64(0xAE623FD67468AA70), U64(0xDD2C5BC84BC8D8FC), U64(0x7EED120D54CF2DD9), U64(0x22FE545401165F1C), U64(0xC91800E98FB99929), U64(0x808BD68E6AC10365), U64(0xDEC468145B7605F6), U64(0x1BEDE3A3AEF53302), U64(0x43539603D6C55602), U64(0xAA969B5C691CCB7A), U64(0xA87832D392EFEE56), U64(0x65942C7B3C7E11AE), U64(0xDED2D633CAD004F6), U64(0x21F08570F420E565), U64(0xB415938D7DA94E3C), U64(0x91B859E59ECB6350), U64(0x10CFF333E0ED804A), U64(0x28AED140BE0BB7DD), U64(0xC5CC1D89724FA456), U64(0x5648F680F11A2741), U64(0x2D255069F0B7DAB3), U64(0x9BC5A38EF729ABD4), U64(0xEF2F054308F6A2BC), U64(0xAF2042F5CC5C2858), U64(0x480412BAB7F5BE2A), U64(0xAEF3AF4A563DFE43), U64(0x19AFE59AE451497F), U64(0x52593803DFF1E840), U64(0xF4F076E65F2CE6F0), U64(0x11379625747D5AF3), U64(0xBCE5D2248682C115), U64(0x9DA4243DE836994F), U64(0x066F70B33FE09017), U64(0x4DC4DE189B671A1C), U64(0x51039AB7712457C3), U64(0xC07A3F80C31FB4B4), U64(0xB46EE9C5E64A6E7C), U64(0xB3819A42ABE61C87), U64(0x21A007933A522A20), U64(0x2DF16F761598AA4F), U64(0x763C4A1371B368FD), U64(0xF793C46702E086A0), U64(0xD7288E012AEB8D31), U64(0xDE336A2A4BC1C44B), U64(0x0BF692B38D079F23), U64(0x2C604A7A177326B3), U64(0x4850E73E03EB6064), U64(0xCFC447F1E53C8E1B), U64(0xB05CA3F564268D99), U64(0x9AE182C8BC9474E8), U64(0xA4FC4BD4FC5558CA), U64(0xE755178D58FC4E76), U64(0x69B97DB1A4C03DFE), U64(0xF9B5B7C4ACC67C96), U64(0xFC6A82D64B8655FB), U64(0x9C684CB6C4D24417), U64(0x8EC97D2917456ED0), U64(0x6703DF9D2924E97E), U64(0xC547F57E42A7444E), U64(0x78E37644E7CAD29E), U64(0xFE9A44E9362F05FA), U64(0x08BD35CC38336615), U64(0x9315E5EB3A129ACE), U64(0x94061B871E04DF75), U64(0xDF1D9F9D784BA010), U64(0x3BBA57B68871B59D), U64(0xD2B7ADEEDED1F73F), U64(0xF7A255D83BC373F8), U64(0xD7F4F2448C0CEB81), U64(0xD95BE88CD210FFA7), U64(0x336F52F8FF4728E7), U64(0xA74049DAC312AC71), U64(0xA2F61BB6E437FDB5), U64(0x4F2A5CB07F6A35B3), U64(0x87D380BDA5BF7859), U64(0x16B9F7E06C453A21), U64(0x7BA2484C8A0FD54E), U64(0xF3A678CAD9A2E38C), U64(0x39B0BF7DDE437BA2), U64(0xFCAF55C1BF8A4424), U64(0x18FCF680573FA594), U64(0x4C0563B89F495AC3), U64(0x40E087931A00930D), U64(0x8CFFA9412EB642C1), U64(0x68CA39053261169F), U64(0x7A1EE967D27579E2), U64(0x9D1D60E5076F5B6F), U64(0x3810E399B6F65BA2), U64(0x32095B6D4AB5F9B1), U64(0x35CAB62109DD038A), U64(0xA90B24499FCFAFB1), U64(0x77A225A07CC2C6BD), U64(0x513E5E634C70E331), U64(0x4361C0CA3F692F12), U64(0xD941ACA44B20A45B), U64(0x528F7C8602C5807B), U64(0x52AB92BEB9613989), U64(0x9D1DFA2EFC557F73), U64(0x722FF175F572C348), U64(0x1D1260A51107FE97), U64(0x7A249A57EC0C9BA2), U64(0x04208FE9E8F7F2D6), U64(0x5A110C6058B920A0), U64(0x0CD9A497658A5698), U64(0x56FD23C8F9715A4C), U64(0x284C847B9D887AAE), U64(0x04FEABFBBDB619CB), U64(0x742E1E651C60BA83), U64(0x9A9632E65904AD3C), U64(0x881B82A13B51B9E2), U64(0x506E6744CD974924), U64(0xB0183DB56FFC6A79), U64(0x0ED9B915C66ED37E), U64(0x5E11E86D5873D484), U64(0xF678647E3519AC6E), U64(0x1B85D488D0F20CC5), U64(0xDAB9FE6525D89021), U64(0x0D151D86ADB73615), U64(0xA865A54EDCC0F019), U64(0x93C42566AEF98FFB), U64(0x99E7AFEABE000731), U64(0x48CBFF086DDF285A), U64(0x7F9B6AF1EBF78BAF), U64(0x58627E1A149BBA21), U64(0x2CD16E2ABD791E33), U64(0xD363EFF5F0977996), U64(0x0CE2A38C344A6EED), U64(0x1A804AADB9CFA741), U64(0x907F30421D78C5DE), U64(0x501F65EDB3034D07), U64(0x37624AE5A48FA6E9), U64(0x957BAF61700CFF4E), U64(0x3A6C27934E31188A), U64(0xD49503536ABCA345), U64(0x088E049589C432E0), U64(0xF943AEE7FEBF21B8), U64(0x6C3B8E3E336139D3), U64(0x364F6FFA464EE52E), U64(0xD60F6DCEDC314222), U64(0x56963B0DCA418FC0), U64(0x16F50EDF91E513AF), U64(0xEF1955914B609F93), U64(0x565601C0364E3228), U64(0xECB53939887E8175), U64(0xBAC7A9A18531294B), U64(0xB344C470397BBA52), U64(0x65D34954DAF3CEBD), U64(0xB4B81B3FA97511E2), U64(0xB422061193D6F6A7), U64(0x071582401C38434D), U64(0x7A13F18BBEDC4FF5), U64(0xBC4097B116C524D2), U64(0x59B97885E2F2EA28), U64(0x99170A5DC3115544), U64(0x6F423357E7C6A9F9), U64(0x325928EE6E6F8794), U64(0xD0E4366228B03343), U64(0x565C31F7DE89EA27), U64(0x30F5611484119414), U64(0xD873DB391292ED4F), U64(0x7BD94E1D8E17DEBC), U64(0xC7D9F16864A76E94), U64(0x947AE053EE56E63C), U64(0xC8C93882F9475F5F), U64(0x3A9BF55BA91F81CA), U64(0xD9A11FBB3D9808E4), U64(0x0FD22063EDC29FCA), U64(0xB3F256D8ACA0B0B9), U64(0xB03031A8B4516E84), U64(0x35DD37D5871448AF), U64(0xE9F6082B05542E4E), U64(0xEBFAFA33D7254B59), U64(0x9255ABB50D532280), U64(0xB9AB4CE57F2D34F3), U64(0x693501D628297551), U64(0xC62C58F97DD949BF), U64(0xCD454F8F19C5126A), U64(0xBBE83F4ECC2BDECB), U64(0xDC842B7E2819E230), U64(0xBA89142E007503B8), U64(0xA3BC941D0A5061CB), U64(0xE9F6760E32CD8021), U64(0x09C7E552BC76492F), U64(0x852F54934DA55CC9), U64(0x8107FCCF064FCF56), U64(0x098954D51FFF6580), U64(0x23B70EDB1955C4BF), U64(0xC330DE426430F69D), U64(0x4715ED43E8A45C0A), U64(0xA8D7E4DAB780A08D), U64(0x0572B974F03CE0BB), U64(0xB57D2E985E1419C7), U64(0xE8D9ECBE2CF3D73F), U64(0x2FE4B17170E59750), U64(0x11317BA87905E790), U64(0x7FBF21EC8A1F45EC), U64(0x1725CABFCB045B00), U64(0x964E915CD5E2B207), U64(0x3E2B8BCBF016D66D), U64(0xBE7444E39328A0AC), U64(0xF85B2B4FBCDE44B7), U64(0x49353FEA39BA63B1), U64(0x1DD01AAFCD53486A), U64(0x1FCA8A92FD719F85), U64(0xFC7C95D827357AFA), U64(0x18A6A990C8B35EBD), U64(0xCCCB7005C6B9C28D), U64(0x3BDBB92C43B17F26), U64(0xAA70B5B4F89695A2), U64(0xE94C39A54A98307F), U64(0xB7A0B174CFF6F36E), U64(0xD4DBA84729AF48AD), U64(0x2E18BC1AD9704A68), U64(0x2DE0966DAF2F8B1C), U64(0xB9C11D5B1E43A07E), U64(0x64972D68DEE33360), U64(0x94628D38D0C20584), U64(0xDBC0D2B6AB90A559), U64(0xD2733C4335C6A72F), U64(0x7E75D99D94A70F4D), U64(0x6CED1983376FA72B), U64(0x97FCAACBF030BC24), U64(0x7B77497B32503B12), U64(0x8547EDDFB81CCB94), U64(0x79999CDFF70902CB), U64(0xCFFE1939438E9B24), U64(0x829626E3892D95D7), U64(0x92FAE24291F2B3F1), U64(0x63E22C147B9C3403), U64(0xC678B6D860284A1C), U64(0x5873888850659AE7), U64(0x0981DCD296A8736D), U64(0x9F65789A6509A440), U64(0x9FF38FED72E9052F), U64(0xE479EE5B9930578C), U64(0xE7F28ECD2D49EECD), U64(0x56C074A581EA17FE), U64(0x5544F7D774B14AEF), U64(0x7B3F0195FC6F290F), U64(0x12153635B2C0CF57), U64(0x7F5126DBBA5E0CA7), U64(0x7A76956C3EAFB413), U64(0x3D5774A11D31AB39), U64(0x8A1B083821F40CB4), U64(0x7B4A38E32537DF62), U64(0x950113646D1D6E03), U64(0x4DA8979A0041E8A9), U64(0x3BC36E078F7515D7), U64(0x5D0A12F27AD310D1), U64(0x7F9D1A2E1EBE1327), U64(0xDA3A361B1C5157B1), U64(0xDCDD7D20903D0C25), U64(0x36833336D068F707), U64(0xCE68341F79893389), U64(0xAB9090168DD05F34), U64(0x43954B3252DC25E5), U64(0xB438C2B67F98E5E9), U64(0x10DCD78E3851A492), U64(0xDBC27AB5447822BF), U64(0x9B3CDB65F82CA382), U64(0xB67B7896167B4C84), U64(0xBFCED1B0048EAC50), U64(0xA9119B60369FFEBD), U64(0x1FFF7AC80904BF45), U64(0xAC12FB171817EEE7), U64(0xAF08DA9177DDA93D), U64(0x1B0CAB936E65C744), U64(0xB559EB1D04E5E932), U64(0xC37B45B3F8D6F2BA), U64(0xC3A9DC228CAAC9E9), U64(0xF3B8B6675A6507FF), U64(0x9FC477DE4ED681DA), U64(0x67378D8ECCEF96CB), U64(0x6DD856D94D259236), U64(0xA319CE15B0B4DB31), U64(0x073973751F12DD5E), U64(0x8A8E849EB32781A5), U64(0xE1925C71285279F5), U64(0x74C04BF1790C0EFE), U64(0x4DDA48153C94938A), U64(0x9D266D6A1CC0542C), U64(0x7440FB816508C4FE), U64(0x13328503DF48229F), U64(0xD6BF7BAEE43CAC40), U64(0x4838D65F6EF6748F), U64(0x1E152328F3318DEA), U64(0x8F8419A348F296BF), U64(0x72C8834A5957B511), U64(0xD7A023A73260B45C), U64(0x94EBC8ABCFB56DAE), U64(0x9FC10D0F989993E0), U64(0xDE68A2355B93CAE6), U64(0xA44CFE79AE538BBE), U64(0x9D1D84FCCE371425), U64(0x51D2B1AB2DDFB636), U64(0x2FD7E4B9E72CD38C), U64(0x65CA5B96B7552210), U64(0xDD69A0D8AB3B546D), U64(0x604D51B25FBF70E2), U64(0x73AA8A564FB7AC9E), U64(0x1A8C1E992B941148), U64(0xAAC40A2703D9BEA0), U64(0x764DBEAE7FA4F3A6), U64(0x1E99B96E70A9BE8B), U64(0x2C5E9DEB57EF4743), U64(0x3A938FEE32D29981), U64(0x26E6DB8FFDF5ADFE), U64(0x469356C504EC9F9D), U64(0xC8763C5B08D1908C), U64(0x3F6C6AF859D80055), U64(0x7F7CC39420A3A545), U64(0x9BFB227EBDF4C5CE), U64(0x89039D79D6FC5C5C), U64(0x8FE88B57305E2AB6), U64(0xA09E8C8C35AB96DE), U64(0xFA7E393983325753), U64(0xD6B6D0ECC617C699), U64(0xDFEA21EA9E7557E3), U64(0xB67C1FA481680AF8), U64(0xCA1E3785A9E724E5), U64(0x1CFC8BED0D681639), U64(0xD18D8549D140CAEA), U64(0x4ED0FE7E9DC91335), U64(0xE4DBF0634473F5D2), U64(0x1761F93A44D5AEFE), U64(0x53898E4C3910DA55), U64(0x734DE8181F6EC39A), U64(0x2680B122BAA28D97), U64(0x298AF231C85BAFAB), U64(0x7983EED3740847D5), U64(0x66C1A2A1A60CD889), U64(0x9E17E49642A3E4C1), U64(0xEDB454E7BADC0805), U64(0x50B704CAB602C329), U64(0x4CC317FB9CDDD023), U64(0x66B4835D9EAFEA22), U64(0x219B97E26FFC81BD), U64(0x261E4E4C0A333A9D), U64(0x1FE2CCA76517DB90), U64(0xD7504DFA8816EDBB), U64(0xB9571FA04DC089C8), U64(0x1DDC0325259B27DE), U64(0xCF3F4688801EB9AA), U64(0xF4F5D05C10CAB243), U64(0x38B6525C21A42B0E), U64(0x36F60E2BA4FA6800), U64(0xEB3593803173E0CE), U64(0x9C4CD6257C5A3603), U64(0xAF0C317D32ADAA8A), U64(0x258E5A80C7204C4B), U64(0x8B889D624D44885D), U64(0xF4D14597E660F855), U64(0xD4347F66EC8941C3), U64(0xE699ED85B0DFB40D), U64(0x2472F6207C2D0484), U64(0xC2A1E7B5B459AEB5), U64(0xAB4F6451CC1D45EC), U64(0x63767572AE3D6174), U64(0xA59E0BD101731A28), U64(0x116D0016CB948F09), U64(0x2CF9C8CA052F6E9F), U64(0x0B090A7560A968E3), U64(0xABEEDDB2DDE06FF1), U64(0x58EFC10B06A2068D), U64(0xC6E57A78FBD986E0), U64(0x2EAB8CA63CE802D7), U64(0x14A195640116F336), U64(0x7C0828DD624EC390), U64(0xD74BBE77E6116AC7), U64(0x804456AF10F5FB53), U64(0xEBE9EA2ADF4321C7), U64(0x03219A39EE587A30), U64(0x49787FEF17AF9924), U64(0xA1E9300CD8520548), U64(0x5B45E522E4B1B4EF), U64(0xB49C3B3995091A36), U64(0xD4490AD526F14431), U64(0x12A8F216AF9418C2), U64(0x001F837CC7350524), U64(0x1877B51E57A764D5), U64(0xA2853B80F17F58EE), U64(0x993E1DE72D36D310), U64(0xB3598080CE64A656), U64(0x252F59CF0D9F04BB), U64(0xD23C8E176D113600), U64(0x1BDA0492E7E4586E), U64(0x21E0BD5026C619BF), U64(0x3B097ADAF088F94E), U64(0x8D14DEDB30BE846E), U64(0xF95CFFA23AF5F6F4), U64(0x3871700761B3F743), U64(0xCA672B91E9E4FA16), U64(0x64C8E531BFF53B55), U64(0x241260ED4AD1E87D), U64(0x106C09B972D2E822), U64(0x7FBA195410E5CA30), U64(0x7884D9BC6CB569D8), U64(0x0647DFEDCD894A29), U64(0x63573FF03E224774), U64(0x4FC8E9560F91B123), U64(0x1DB956E450275779), U64(0xB8D91274B9E9D4FB), U64(0xA2EBEE47E2FBFCE1), U64(0xD9F1F30CCD97FB09), U64(0xEFED53D75FD64E6B), U64(0x2E6D02C36017F67F), U64(0xA9AA4D20DB084E9B), U64(0xB64BE8D8B25396C1), U64(0x70CB6AF7C2D5BCF0), U64(0x98F076A4F7A2322E), U64(0xBF84470805E69B5F), U64(0x94C3251F06F90CF3), U64(0x3E003E616A6591E9), U64(0xB925A6CD0421AFF3), U64(0x61BDD1307C66E300), U64(0xBF8D5108E27E0D48), U64(0x240AB57A8B888B20), U64(0xFC87614BAF287E07), U64(0xEF02CDD06FFDB432), U64(0xA1082C0466DF6C0A), U64(0x8215E577001332C8), U64(0xD39BB9C3A48DB6CF), U64(0x2738259634305C14), U64(0x61CF4F94C97DF93D), U64(0x1B6BACA2AE4E125B), U64(0x758F450C88572E0B), U64(0x959F587D507A8359), U64(0xB063E962E045F54D), U64(0x60E8ED72C0DFF5D1), U64(0x7B64978555326F9F), U64(0xFD080D236DA814BA), U64(0x8C90FD9B083F4558), U64(0x106F72FE81E2C590), U64(0x7976033A39F7D952), U64(0xA4EC0132764CA04B), U64(0x733EA705FAE4FA77), U64(0xB4D8F77BC3E56167), U64(0x9E21F4F903B33FD9), U64(0x9D765E419FB69F6D), U64(0xD30C088BA61EA5EF), U64(0x5D94337FBFAF7F5B), U64(0x1A4E4822EB4D7A59), U64(0x6FFE73E81B637FB3), U64(0xDDF957BC36D8B9CA), U64(0x64D0E29EEA8838B3), U64(0x08DD9BDFD96B9F63), U64(0x087E79E5A57D1D13), U64(0xE328E230E3E2B3FB), U64(0x1C2559E30F0946BE), U64(0x720BF5F26F4D2EAA), U64(0xB0774D261CC609DB), U64(0x443F64EC5A371195), U64(0x4112CF68649A260E), U64(0xD813F2FAB7F5C5CA), U64(0x660D3257380841EE), U64(0x59AC2C7873F910A3), U64(0xE846963877671A17), U64(0x93B633ABFA3469F8), U64(0xC0C0F5A60EF4CDCF), U64(0xCAF21ECD4377B28C), U64(0x57277707199B8175), U64(0x506C11B9D90E8B1D), U64(0xD83CC2687A19255F), U64(0x4A29C6465A314CD1), U64(0xED2DF21216235097), U64(0xB5635C95FF7296E2), U64(0x22AF003AB672E811), U64(0x52E762596BF68235), U64(0x9AEBA33AC6ECC6B0), U64(0x944F6DE09134DFB6), U64(0x6C47BEC883A7DE39), U64(0x6AD047C430A12104), U64(0xA5B1CFDBA0AB4067), U64(0x7C45D833AFF07862), U64(0x5092EF950A16DA0B), U64(0x9338E69C052B8E7B), U64(0x455A4B4CFE30E3F5), U64(0x6B02E63195AD0CF8), U64(0x6B17B224BAD6BF27), U64(0xD1E0CCD25BB9C169), U64(0xDE0C89A556B9AE70), U64(0x50065E535A213CF6), U64(0x9C1169FA2777B874), U64(0x78EDEFD694AF1EED), U64(0x6DC93D9526A50E68), U64(0xEE97F453F06791ED), U64(0x32AB0EDB696703D3), U64(0x3A6853C7E70757A7), U64(0x31865CED6120F37D), U64(0x67FEF95D92607890), U64(0x1F2B1D1F15F6DC9C), U64(0xB69E38A8965C6B65), U64(0xAA9119FF184CCCF4), U64(0xF43C732873F24C13), U64(0xFB4A3D794A9A80D2), U64(0x3550C2321FD6109C), U64(0x371F77E76BB8417E), U64(0x6BFA9AAE5EC05779), U64(0xCD04F3FF001A4778), U64(0xE3273522064480CA), U64(0x9F91508BFFCFC14A), U64(0x049A7F41061A9E60), U64(0xFCB6BE43A9F2FE9B), U64(0x08DE8A1C7797DA9B), U64(0x8F9887E6078735A1), U64(0xB5B4071DBFC73A66), U64(0x230E343DFBA08D33), U64(0x43ED7F5A0FAE657D), U64(0x3A88A0FBBCB05C63), U64(0x21874B8B4D2DBC4F), U64(0x1BDEA12E35F6A8C9), U64(0x53C065C6C8E63528), U64(0xE34A1D250E7A8D6B), U64(0xD6B04D3B7651DD7E), U64(0x5E90277E7CB39E2D), U64(0x2C046F22062DC67D), U64(0xB10BB459132D0A26), U64(0x3FA9DDFB67E2F199), U64(0x0E09B88E1914F7AF), U64(0x10E8B35AF3EEAB37), U64(0x9EEDECA8E272B933), U64(0xD4C718BC4AE8AE5F), U64(0x81536D601170FC20), U64(0x91B534F885818A06), U64(0xEC8177F83F900978), U64(0x190E714FADA5156E), U64(0xB592BF39B0364963), U64(0x89C350C893AE7DC1), U64(0xAC042E70F8B383F2), U64(0xB49B52E587A1EE60), U64(0xFB152FE3FF26DA89), U64(0x3E666E6F69AE2C15), U64(0x3B544EBE544C19F9), U64(0xE805A1E290CF2456), U64(0x24B33C9D7ED25117), U64(0xE74733427B72F0C1), U64(0x0A804D18B7097475), U64(0x57E3306D881EDB4F), U64(0x4AE7D6A36EB5DBCB), U64(0x2D8D5432157064C8), U64(0xD1E649DE1E7F268B), U64(0x8A328A1CEDFE552C), U64(0x07A3AEC79624C7DA), U64(0x84547DDC3E203C94), U64(0x990A98FD5071D263), U64(0x1A4FF12616EEFC89), U64(0xF6F7FD1431714200), U64(0x30C05B1BA332F41C), U64(0x8D2636B81555A786), U64(0x46C9FEB55D120902), U64(0xCCEC0A73B49C9921), U64(0x4E9D2827355FC492), U64(0x19EBB029435DCB0F), U64(0x4659D2B743848A2C), U64(0x963EF2C96B33BE31), U64(0x74F85198B05A2E7D), U64(0x5A0F544DD2B1FB18), U64(0x03727073C2E134B1), U64(0xC7F6AA2DE59AEA61), U64(0x352787BAA0D7C22F), U64(0x9853EAB63B5E0B35), U64(0xABBDCDD7ED5C0860), U64(0xCF05DAF5AC8D77B0), U64(0x49CAD48CEBF4A71E), U64(0x7A4C10EC2158C4A6), U64(0xD9E92AA246BF719E), U64(0x13AE978D09FE5557), U64(0x730499AF921549FF), U64(0x4E4B705B92903BA4), U64(0xFF577222C14F0A3A), U64(0x55B6344CF97AAFAE), U64(0xB862225B055B6960), U64(0xCAC09AFBDDD2CDB4), U64(0xDAF8E9829FE96B5F), U64(0xB5FDFC5D3132C498), U64(0x310CB380DB6F7503), U64(0xE87FBB46217A360E), U64(0x2102AE466EBB1148), U64(0xF8549E1A3AA5E00D), U64(0x07A69AFDCC42261A), U64(0xC4C118BFE78FEAAE), U64(0xF9F4892ED96BD438), U64(0x1AF3DBE25D8F45DA), U64(0xF5B4B0B0D2DEEEB4), U64(0x962ACEEFA82E1C84), U64(0x046E3ECAAF453CE9), U64(0xF05D129681949A4C), U64(0x964781CE734B3C84), U64(0x9C2ED44081CE5FBD), U64(0x522E23F3925E319E), U64(0x177E00F9FC32F791), U64(0x2BC60A63A6F3B3F2), U64(0x222BBFAE61725606), U64(0x486289DDCC3D6780), U64(0x7DC7785B8EFDFC80), U64(0x8AF38731C02BA980), U64(0x1FAB64EA29A2DDF7), U64(0xE4D9429322CD065A), U64(0x9DA058C67844F20C), U64(0x24C0E332B70019B0), U64(0x233003B5A6CFE6AD), U64(0xD586BD01C5C217F6), U64(0x5E5637885F29BC2B), U64(0x7EBA726D8C94094B), U64(0x0A56A5F0BFE39272), U64(0xD79476A84EE20D06), U64(0x9E4C1269BAA4BF37), U64(0x17EFEE45B0DEE640), U64(0x1D95B0A5FCF90BC6), U64(0x93CBE0B699C2585D), U64(0x65FA4F227A2B6D79), U64(0xD5F9E858292504D5), U64(0xC2B5A03F71471A6F), U64(0x59300222B4561E00), U64(0xCE2F8642CA0712DC), U64(0x7CA9723FBB2E8988), U64(0x2785338347F2BA08), U64(0xC61BB3A141E50E8C), U64(0x150F361DAB9DEC26), U64(0x9F6A419D382595F4), U64(0x64A53DC924FE7AC9), U64(0x142DE49FFF7A7C3D), U64(0x0C335248857FA9E7), U64(0x0A9C32D5EAE45305), U64(0xE6C42178C4BBB92E), U64(0x71F1CE2490D20B07), U64(0xF1BCC3D275AFE51A), U64(0xE728E8C83C334074), U64(0x96FBF83A12884624), U64(0x81A1549FD6573DA5), U64(0x5FA7867CAF35E149), U64(0x56986E2EF3ED091B), U64(0x917F1DD5F8886C61), U64(0xD20D8C88C8FFE65F) }; static const quint64 RandomCastle[4] = { U64(0x31D71DCE64B2C310), U64(0xF165B587DF898190), U64(0xA57E6339DD2CF3A0), U64(0x1EF6E6DBB1961EC9) }; static const quint64 RandomEnPassant[8] = { U64(0x70CC73D90BC26E24), U64(0xE21A6B35DF0C3AD7), U64(0x003A93D8B2806962), U64(0x1C99DED33CB890A1), U64(0xCF3145DE0ADD4289), U64(0xD0E4427A5514FB72), U64(0x77C621CC9FB3A483), U64(0x67A34DAC4356550B) }; static const quint64 RandomTurn = U64(0xF8D626AAAF278509); // --------------------------------------------------------- // Book reading // --------------------------------------------------------- int PolyglotDatabase::int_from_file(int l, quint64& r) { int i; unsigned char c; for(i=0;iread((char*)&c,1)<=0) { return 1; } r=(r<<8)+c; } return 0; } int PolyglotDatabase::entry_from_file(entry_t *entry) { int ret; quint64 r; ret=int_from_file(8,r); if(ret) return 1; entry->key=r; ret=int_from_file(2,r); if(ret) return 1; entry->move=r; ret=int_from_file(2,r); if(ret) return 1; entry->weight=r; ret=int_from_file(4,r); if(ret) return 1; entry->learn=r; return 0; } void PolyglotDatabase::reset() { m_file->seek(0); } // --------------------------------------------------------- // Book parser // --------------------------------------------------------- quint64 PolyglotDatabase::getHashFromBoard(Board b) const { quint64 key = 0; unsigned char pieceToPolyglot[] = {0,11,9,7,5,3,1,10,8,6,4,2,0}; //piece placement for(int row = 7; row >= 0; row--) { for(int col = 0; col < 8; ++col) { Piece piece = b.pieceAt(8 * row + col); if(piece != Empty) { key^=RandomPiece[64*pieceToPolyglot[piece]+8*row+col]; } } } if(b.castlingRights() & WhiteKingside) { key ^= RandomCastle[0]; } if(b.castlingRights() & WhiteQueenside) { key ^= RandomCastle[1]; } if(b.castlingRights() & BlackKingside) { key ^= RandomCastle[2]; } if(b.castlingRights() & BlackQueenside) { key ^= RandomCastle[3]; } if (b.canTakeEnPassant()) { key ^= RandomEnPassant[b.enPassantSquare() & 7]; } if (b.toMove() == White) { key ^= RandomTurn; } return key; } QString PolyglotDatabase::move_to_string(quint16 move) const { QString move_s; static const char promote_pieces[]=" nbrq"; int f,fr,ff,t,tr,tf,p; f=(move>>6)&077; fr=(f>>3)&0x7; ff=f&0x7; t=move&077; tr=(t>>3)&0x7; tf=t&0x7; p=(move>>12)&0x7; move_s.append(QChar(ff+'a')); move_s.append(QChar(fr+'1')); move_s.append(QChar(tf+'a')); move_s.append(QChar(tr+'1')); if(p) { move_s.append(promote_pieces[p]); } return move_s; } int PolyglotDatabase::find_key(quint64 key, entry_t *entry) { entry_t test_entry; while(!entry_from_file(&test_entry)) { if (key==test_entry.key) { *entry=test_entry; return 0; } else if (keykey = key+1; return 1; } } return -1; } // --------------------------------------------------------- // Book parser - public interface // --------------------------------------------------------- bool PolyglotDatabase::findMove(quint64 key, MoveData& m) { entry_t entry; if (!find_key(key, &entry)) { QString s = move_to_string(entry.move); m.san = s; m.count = entry.weight; if (!m.count) m.count = 1; // Fix issue in advance! return true; } return false; } // --------------------------------------------------------- // Book writing methods // --------------------------------------------------------- void PolyglotDatabase::write_integer(int size, quint64 n) { int i; int b; for (i = size-1; i >= 0; i--) { b = (n >> (i*8)) & 0xFF; unsigned char c = (unsigned char) b; m_file->write((char*)&c,1); } } void PolyglotDatabase::book_save() { for (Book::iterator i=m_book.begin(); i!=m_book.end();++i) { write_integer(8,(*i).key); write_integer(2,(*i).move); write_integer(2,entry_score((*i))); write_integer(2,0); write_integer(2,0); } } // --------------------------------------------------------- // Book building - public interface // --------------------------------------------------------- bool PolyglotDatabase::openForWriting(const QString &filename, int maxPly, int minGame, bool uniform) { if(m_file) { return false; } m_maxPly = maxPly; m_minGame = minGame; m_uniform = uniform; m_break = false; m_filename = filename; m_utf8 = false; return openFile(filename, false); } void PolyglotDatabase::book_make(Database &db, volatile bool& breakFlag) { if (!breakFlag) add_database(db); if (!breakFlag) spool_map(); if (!breakFlag) overflow_correction(); if (!breakFlag) book_filter(); if (!breakFlag) book_sort(); if (!breakFlag) book_save(); close(); } // --------------------------------------------------------- // Book building // --------------------------------------------------------- int PolyglotDatabase::entry_score(const book_entry& entry) { if (m_uniform) { return 1; } else { // also possible: entry->n return entry.sum; } } bool PolyglotDatabase::keep_entry(const book_entry& entry) { if (entry.n < m_minGame) return false; if (entry.sum == 0) return false; return true; } void PolyglotDatabase::halve_stats(quint64 key) { for (Book::iterator i=m_book.begin(); i!=m_book.end();++i) { if ((*i).key == key) { (*i).n = ((*i).n + 1) / 2; (*i).sum = ((*i).sum + 1) / 2; } } } void PolyglotDatabase::spool_map() { foreach(book_key k, m_bookDictionary.keys()) { book_entry b(k, m_bookDictionary.value(k)); m_book.append(b); } m_bookDictionary.clear(); } void PolyglotDatabase::overflow_correction() { for (Book::iterator i=m_book.begin(); i!=m_book.end();++i) { while ((*i).n >= MAX_COUNT) { halve_stats((*i).key); } } } book_entry* PolyglotDatabase::find_entry(const book_entry& entry) { for (Book::iterator i=m_book.begin(); i!=m_book.end();++i) { if (((*i).key == entry.key) && ((*i).move == entry.move)) { return &(*i); } } return 0; } void PolyglotDatabase::update_entry(book_entry& entry, int result) { book_key key; key.key = entry.key; key.move = entry.move; book_value b = m_bookDictionary.value(key); b.n++; b.sum += result + 1; m_bookDictionary[key] = b; } void PolyglotDatabase::book_sort() { qSort(m_book.begin(),m_book.end(),key_compare()); } void PolyglotDatabase::book_filter() { for (Book::iterator i=m_book.begin(); i!=m_book.end(); ) { if (keep_entry(*i)) { ++i; } else { i = m_book.erase(i); } } } static const int MoveNone = 0; // HACK: a1a1 cannot be a legal move int PolyglotDatabase::get_promotion(Move m) const { const int MovePromoteKnight = 1 << 12; const int MovePromoteBishop = 2 << 12; const int MovePromoteRook = 3 << 12; const int MovePromoteQueen = 4 << 12; int promote = MoveNone; if (m.isPromotion()) { switch (pieceType(m.promotedPiece())) { case None: case Pawn: case King: Q_ASSERT(false); break; case Queen: promote = MovePromoteQueen; break; case Rook: promote = MovePromoteRook; break; case Bishop: promote = MovePromoteBishop; break; case Knight: promote = MovePromoteKnight; break; } } return promote; } int PolyglotDatabase::make_move(int from, int to) const { return ((from << 6) | to); } int PolyglotDatabase::make_castling_move(Move m) const { int from; from = m.from(); int to = from; if (m.to() == g1) to = h1; else if (m.to() == c1) to = a1; else if (m.to() == g8) to = h8; else if (m.to() == c8) to = a8; else Q_ASSERT(false); return (make_move(from,to)); } bool PolyglotDatabase::get_move_entry(Move m, book_entry& entry) const { if (m.isNullMove() || !m.isLegal()) return false; int promote = get_promotion(m); int move = MoveNone; if (m.isCastling()) { move = make_castling_move(m); } else { move = make_move(m.from(),m.to()); } entry.move = move | promote; return true; } void PolyglotDatabase::add_game(Game& g, int result) { int ply = 0; if (Board::standardStartBoard == g.startingBoard()) { g.moveToStart(); while (ply < m_maxPly && !g.atLineEnd()) { book_entry entry; // Get a move in ChessX format entry.key = getHashFromBoard(g.board()); g.forward(); Move m = g.move(); // convert into polyglot move format if (!get_move_entry(m,entry)) { // terminate game here, can happen in case of null move break; } // add to Book update_entry(entry, result); // invert result for opposing color result = -result; ++ply; } } } void PolyglotDatabase::add_database(Database& db) { for(int i = 0; i < (int)db.count(); ++i) { Game game; if(db.loadGame(i, game)) { add_game(game, game.resultAsInt()); } } } ./chessx-1.3.2/src/database/polyglotdatabase.h000644 000765 000024 00000010041 12373371563 020770 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef POLYGLOTDATABASE_H #define POLYGLOTDATABASE_H #include "database.h" #include "movedata.h" typedef struct { quint64 key; quint16 move; quint16 weight; quint32 learn; } entry_t; typedef struct _book_key { inline bool operator<(const _book_key& k2)const { Q_ASSERT(this!=&k2); if (key > k2.key) { return false; } else if (key < k2.key) { return true; } else if (k2.move > move) { return false; } else if (k2.move < move) { return true; } return false; } quint64 key; quint16 move; } book_key; typedef struct _book_value { _book_value() : n(0),sum(0) {} quint32 n; quint32 sum; } book_value; typedef struct _book_entry { quint64 key; quint16 move; quint32 n; quint32 sum; _book_entry() { key=0; move=0; n=0; sum=0; } _book_entry(book_key k, book_value v) { key=k.key; move=k.move; n=v.n; sum=v.sum; } inline bool operator<(const _book_entry& k2)const { Q_ASSERT(this!=&k2); if (key > k2.key) { return false; } else if (key < k2.key) { return true; } else if (k2.sum > sum) // highest score first - do not respect uniform probs here { return false; } else if (k2.sum < sum) { return true; } return &k2 > this; // Make sorting deterministic } } book_entry; typedef QList Book; typedef QMap BookMap; class PolyglotDatabase : public Database { Q_OBJECT public: PolyglotDatabase(); ~PolyglotDatabase(); /** Opens the given database */ virtual bool open(const QString& filename, bool); virtual bool openForWriting(const QString& filename, int maxPly, int minGame, bool uniform); /** Parse the database */ virtual bool parseFile(); /** File-based database name */ virtual QString filename() const; /** Get the number of stored games*/ virtual quint64 count() const; /** Get the number of stored positions*/ quint64 positionCount() const; /** Loads only moves into a game from the given position */ virtual void loadGameMoves(GameId index, Game& game); quint64 getHashFromBoard(Board b) const; /** Open a book data File */ bool openFile(const QString& filename, bool readOnly=false); /** Closes the database */ void close(); /** Find Information to a given key */ bool findMove(quint64 key, MoveData &move); /** Start a search for a new key */ void reset(); void book_make(Database& db, volatile bool& breakFlag); signals: public slots: protected: int find_key(quint64 key, entry_t *entry); int entry_from_file(entry_t *entry); int int_from_file(int l, quint64 &r); QString move_to_string(quint16 move) const; void book_save(); void write_integer(int size, quint64 n); int entry_score(const book_entry& entry); bool keep_entry(const book_entry &entry); void halve_stats(quint64 key); void book_sort(); void spool_map(); void overflow_correction(); void update_entry(book_entry &entry, int result); book_entry *find_entry(const book_entry &entry); void book_filter(); void add_database(Database &db); void add_game(Game &g, int result); bool get_move_entry(Move m, book_entry &entry) const; int get_promotion(Move m) const; int make_castling_move(Move m) const; int make_move(int from, int to) const; private: QString m_filename; QIODevice* m_file; quint64 m_count; Book m_book; BookMap m_bookDictionary; bool m_uniform; quint32 m_minGame; int m_maxPly; }; #endif // POLYGLOTDATABASE_H ./chessx-1.3.2/src/database/polyglotwriter.cpp000644 000765 000024 00000002471 12507517064 021100 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "polyglotwriter.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER PolyglotWriter::PolyglotWriter(QObject *parent) : QThread(parent), m_source(0) { } PolyglotWriter::~PolyglotWriter() { delete m_destination; } void PolyglotWriter::run() { m_destination->book_make(*m_source, m_break); if (!m_break) { emit bookBuildFinished(m_out); } deleteLater(); } // --------------------------------------------------------- // Mainthread Interface // --------------------------------------------------------- void PolyglotWriter::writeBookForDatabase(Database *src, const QString &out, int maxPly, int minGame, bool uniform) { m_break = false; m_out = out; m_source = src; m_destination = new PolyglotDatabase(); if (m_destination->openForWriting(out, maxPly, minGame, uniform)) { start(); } else { emit bookBuildError(out); deleteLater(); } } void PolyglotWriter::cancel() { m_break = true; } ./chessx-1.3.2/src/database/polyglotwriter.h000644 000765 000024 00000001632 12331437500 020532 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef POLYGLOTWRITER_H #define POLYGLOTWRITER_H #include #include "database.h" #include "polyglotdatabase.h" class PolyglotWriter : public QThread { Q_OBJECT public: explicit PolyglotWriter(QObject *parent = 0); ~PolyglotWriter(); void writeBookForDatabase(Database* src, const QString &out, int maxPly, int minGame, bool uniform); signals: void bookBuildFinished(QString); void bookBuildError(QString); public slots: void cancel(); // QThread interface protected: virtual void run(); QPointer m_source; QPointer m_destination; QString m_out; bool m_break; }; #endif // POLYGLOTWRITER_H ./chessx-1.3.2/src/database/query.cpp000644 000765 000024 00000022706 12507517064 017142 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 William Hoggarth * * (C) 2005-2006 Marius Roets * * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "query.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER Query::Query() { clear(); } Query::~Query() { while(!m_search.isEmpty()) { delete m_search.takeFirst(); } clear(); } Search::Operator Query::searchOperator(int index) const { if(!isValidIndex(index)) { return Search::NullOperator; } int i = m_operatorMap.indexOf(index); if(i >= 0) { return m_operator.at(i); } else { return Search::NullOperator; } } Search* Query::search(int index) { if(!isValidIndex(index)) { return NULL; } int i = m_searchMap.indexOf(index); if(i >= 0) { return m_search.at(i); } else { return NULL; } } int Query::count() const { return m_elementType.count(); } int Query::countOperators() const { return m_operatorMap.count(); } int Query::countOperands() const { return m_searchMap.count(); } bool Query::isElementSearch(int index) const { if(!isValidIndex(index)) { return false; } if(m_elementType[index] == SearchElement) { return true; } else { return false; } } bool Query::isElementOperator(int index) const { if(!isValidIndex(index)) { return false; } if(m_elementType[index] == OperatorElement) { return true; } else { return false; } } bool Query::isValid() { int i; if(!internalCheck()) { return false; } // Check if there are enough operands for the operators int operandCount = 0; Search::Operator op; ElementTypeList::iterator elementIter; for(elementIter = m_elementType.begin(), i = 0; elementIter != m_elementType.end(); ++elementIter, ++i) { switch(*elementIter) { case SearchElement : ++operandCount; break; case OperatorElement : op = searchOperator(i); switch(op) { case Search::And : case Search::Or : case Search::Remove : // These operators need 2 operands, and leaves one answer on the stack if(operandCount < 2) { return false; } --operandCount; break; case Search::Not : //Not needs one operand, and it leaves one answer on the stack if(operandCount < 1) { return false; } break; case Search::NullOperator : // Not sure if this is valid or not break; default : // Undefined operator return false; } break; default : // Undefined element return false; } } if(operandCount != 1) { qDebug("Warning: Not enough operators to evaluate all operands"); } return true; } void Query::append(Search::Operator op) { m_operator.append(op); m_operatorMap.append(m_elementType.count()); m_elementType.append(OperatorElement); } void Query::append(const Search& search) { m_search.append(search.clone()); m_searchMap.append(m_elementType.count()); m_elementType.append(SearchElement); } bool Query::set(int index, Search::Operator op) { if(!isValidIndex(index)) { return false; } int subindex = m_operatorMap.indexOf(index); if(subindex >= 0) { // In this case the given index is already an operator, so we just replace it m_operator[subindex] = op; return true; } else { subindex = m_searchMap.indexOf(index); if(subindex >= 0) { // Here the given index is a search, so we have to remove the search, // and add a operator at that position. If autodelete is set, the memory // for the search will be deallocated. m_searchMap.removeAt(m_searchMap.at(subindex)); delete m_search.at(subindex); m_search.removeAt(subindex); m_operator.append(op); m_operatorMap.append(index); m_elementType[index] = OperatorElement; return true; } else { // The index could not be found in the search or operator lists. Strange!? return false; } } } bool Query::set(int index, const Search& search) { if(!isValidIndex(index)) { return false; } int subindex = m_searchMap.indexOf(index); if(subindex >= 0) { delete m_search.at(subindex); m_search.replace(subindex, search.clone()); return true; } else { subindex = m_operatorMap.indexOf(index); if(subindex >= 0) { // Here the given index is a operator, so we have to remove the operator, // and add a search at that position m_operatorMap.removeAt(m_operatorMap.at(subindex)); m_operator.removeAt(m_operator.at(subindex)); m_search.append(search.clone()); m_searchMap.append(index); m_elementType[index] = SearchElement; return true; } else { // The index could not be found in the operator or search lists return false; } } } bool Query::remove(int index) { int indexToRemove; IntList::iterator intIt; if(!isValidIndex(index)) { return false; } switch(m_elementType[index]) { case OperatorElement: indexToRemove = m_operatorMap.indexOf(index); if(indexToRemove >= 0) { m_operatorMap.removeAt(m_operatorMap.at(indexToRemove)); m_operator.removeAt(m_operator.at(indexToRemove)); } else { // Element type does not match actual element return false; } break; case SearchElement: indexToRemove = m_searchMap.indexOf(index); if(indexToRemove >= 0) { m_searchMap.removeAt(m_searchMap.at(indexToRemove)); delete m_search.at(indexToRemove); m_search.removeAt(indexToRemove); } else { // Element type does not match actual element return false; } break; default : // Undefined element return false; } m_elementType.removeAt(m_elementType.at(index)); // Reduces index for elements after the element being remove, moving them // up in the virtual list. for(intIt = m_operatorMap.begin(); intIt != m_operatorMap.end(); ++intIt) { if((*intIt) > index) { (*intIt)--; } } for(intIt = m_searchMap.begin(); intIt != m_searchMap.end(); ++intIt) { if((*intIt) > index) { (*intIt)--; } } return true; } void Query::clear() { while(!m_search.isEmpty()) { delete m_search.takeFirst(); } m_search.clear(); m_operator.clear(); m_searchMap.clear(); m_operatorMap.clear(); m_elementType.clear(); } bool Query::isValidIndex(unsigned int index) const { if((int)index > (int)(m_elementType.count() - 1)) { return false; } return true; } bool Query::internalCheck() { int i; Search::Operator op; Search *s = NULL; ElementTypeList::iterator elementIter; if(count() != (countOperands() + countOperators())) { return false; } for(elementIter = m_elementType.begin(), i = 0; elementIter != m_elementType.end(); ++elementIter, ++i) { switch(*elementIter) { case SearchElement : s = search(i); if(s == NULL) { return false; } switch(s->type()) { case Search::NullSearch : case Search::PositionSearch : case Search::EloSearch : break; default : // undefined search return false; } break; case OperatorElement : op = searchOperator(i); switch(op) { case Search::And : case Search::Or : case Search::Remove : case Search::Not : case Search::NullOperator : break; default : // Undefined operator return false; } break; default : // Undefined element return false; } } return true; } ./chessx-1.3.2/src/database/query.h000644 000765 000024 00000007370 12375174653 016615 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 William Hoggarth * * (C) 2005-2006 Marius Roets * * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __QUERY_H__ #define __QUERY_H__ #include "search.h" #include /** @ingroup Search * Store and combine simple and complicated queries. * This is done by using reverse polish (postfix) notation. The Query class is a conceptual * list of operands (different kinds of searches) and operators (logical AND, OR, NOT), * and methods to manipulate this list. * Example (A && B) || (C && D) * where A,B,C,D are different searches and &&=And, ||=Or * would be stored as a list: * A B && C D && || */ class Query { public : Query(); ~Query(); /** @return the operator at index, or NullOperator otherwise */ Search::Operator searchOperator(int index) const; /** @return the search at index, or NULL pointer otherwise. Do not delete the result. */ Search* search(int index); /** @return the number of elements in the list */ int count() const; /** @return the number of operators in the list */ int countOperators() const; /** @return the number of operands (search definitions) in the list */ int countOperands() const; /** @returns true if the element at index is a operand (search definition), false otherwise */ bool isElementSearch(int index) const; /** @returns true if the element at index is a operator , false otherwise */ bool isElementOperator(int index) const; /** @return true if the current list is a valid expression, false otherwise * Question: What to do if there are too many operands */ bool isValid(); /** query modification methods */ /** Add a new operator to the list */ void append(Search::Operator op); /** Add a new operand (search definition) to the list */ void append(const Search& search); /** Change element at index to operator op, return true if successful, false otherwise */ bool set(int index, Search::Operator op); /** Change element at index to operand search, return true if successful, false otherwise */ bool set(int index, const Search& search); /** Remove element at index from list, return true if successful, false otherwise */ bool remove(int index); /** Clear the list of all elements */ void clear(); private : enum ElementType {SearchElement, OperatorElement}; typedef QList OperatorList; typedef QList SearchList; typedef QList IntList; typedef QList ElementTypeList; /** List of the operators */ OperatorList m_operator; /** List of the operands (search items) */ SearchList m_search; /** Holds the conceptual list index for each operator in m_operator */ IntList m_operatorMap; /** Holds the conceptual list index for each operand in m_search */ IntList m_searchMap; /** Defines whether each item in the conceptual list is a operator (OperatorElement) * or operand (SearchElement) */ ElementTypeList m_elementType; /** Test if index is valid */ bool isValidIndex(unsigned int index) const; bool internalCheck(); }; #endif // __QUERY_H__ ./chessx-1.3.2/src/database/rand64.h000644 000765 000024 00000202540 12223260306 016521 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005 Marius Roets * * (C) 2006-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __RAND64_H__ #define __RAND64_H__ #define MAX_PIECES 12 #define MAX_SQUARES 64 #define MAX_EN_PASSANT_SQUARES 16 const quint64 RAND_VALUES[MAX_PIECES][MAX_SQUARES] = { { Q_UINT64_C(0x1ec62f17201666a9), Q_UINT64_C(0xbbfacfa8b9cedc99), Q_UINT64_C(0xd52582ca4006e48d), Q_UINT64_C(0xbe5cc29389b0a011), Q_UINT64_C(0x70b7b299fa084b79), Q_UINT64_C(0x31fc91d4b888aac6), Q_UINT64_C(0x953d8d65f16a27f5), Q_UINT64_C(0xa9e1894a083988a6), Q_UINT64_C(0x21454de44a9c3b61), Q_UINT64_C(0x5f8b1149ed761b1d), Q_UINT64_C(0x175d8e3320bc756e), Q_UINT64_C(0xdf290612a1c03992), Q_UINT64_C(0xe8eb7e4dd25319a8), Q_UINT64_C(0xaf4b12ca66fd9c4), Q_UINT64_C(0xbc7a46849f1ecb92), Q_UINT64_C(0x3176f59e6d590325), Q_UINT64_C(0xba1dd7cef5e19864), Q_UINT64_C(0x66354050f7debe97), Q_UINT64_C(0xa9bf0a169bacd362), Q_UINT64_C(0x6fbcab3c9569da6c), Q_UINT64_C(0xf776879f9737354a), Q_UINT64_C(0x1bb627864a4de101), Q_UINT64_C(0x7e0e89ff7ed651a4), Q_UINT64_C(0xd60fbbffa2bc218e), Q_UINT64_C(0x9fae83ea899cdc65), Q_UINT64_C(0xe968a74b29e28a00), Q_UINT64_C(0x7441d6653deb9005), Q_UINT64_C(0x114e67f4d201286), Q_UINT64_C(0xb570a88f1bb4a04f), Q_UINT64_C(0x979a9ed22e05d8f5), Q_UINT64_C(0x5c07b95482adfa30), Q_UINT64_C(0x895a9ebc0f0425f9), Q_UINT64_C(0xeb9c39059e157744), Q_UINT64_C(0x56eaba15345d2d3f), Q_UINT64_C(0xe16e06e1d7ecc810), Q_UINT64_C(0x36e6163492b22bd2), Q_UINT64_C(0xb16091b81a2e4d3f), Q_UINT64_C(0x457ccde451eb1bc7), Q_UINT64_C(0x84d57d447975de25), Q_UINT64_C(0x9f9e74faa2ad3bd3), Q_UINT64_C(0x24c7ae8acd3ad30d), Q_UINT64_C(0xa3cbda8eb6cd6d17), Q_UINT64_C(0x92d9ee42cbfa4f52), Q_UINT64_C(0x438f893e666ffa6b), Q_UINT64_C(0x3ccc5d24464f62b1), Q_UINT64_C(0xcfa9275812d9e5db), Q_UINT64_C(0xbbf17284897c0f48), Q_UINT64_C(0xa077f2f8f190127b), Q_UINT64_C(0x5fdeec8850464c2b), Q_UINT64_C(0x9429d7f4c15885f4), Q_UINT64_C(0x4dcac2831e23e842), Q_UINT64_C(0x4e109f15c27a18bf), Q_UINT64_C(0x8999f31dcc6fe7a9), Q_UINT64_C(0x38d5a8a6044dd9ee), Q_UINT64_C(0xa744dd883d5c7225), Q_UINT64_C(0xeeb12aaf9f92ef25), Q_UINT64_C(0xb1b218b1bb67cf61), Q_UINT64_C(0xe83e436e7362d9de), Q_UINT64_C(0x537512d7cdb2153b), Q_UINT64_C(0xd6483b5692e687aa), Q_UINT64_C(0x6b0a45a3318c51d5), Q_UINT64_C(0x226771aa9189c198), Q_UINT64_C(0x53235ce529bfd016), Q_UINT64_C(0x5ca80b4f2d5e1eb6) } , { Q_UINT64_C(0x53245edcd60cf397), Q_UINT64_C(0x7f6a708b5e8c84a4), Q_UINT64_C(0x325e8b4fb9a1aa4), Q_UINT64_C(0x14887c78f2a09203), Q_UINT64_C(0xc2bb16d21c0bc8cc), Q_UINT64_C(0xe055caaa118766fc), Q_UINT64_C(0x359748cb791ec67d), Q_UINT64_C(0x3b61d875ea2b7561), Q_UINT64_C(0x2a1b6c8960df15e0), Q_UINT64_C(0x9bf0d7a44740e32f), Q_UINT64_C(0xc22bf6c21eee246f), Q_UINT64_C(0xc020519cb401d072), Q_UINT64_C(0xf0968c3468e10e2), Q_UINT64_C(0xac96e408328061cb), Q_UINT64_C(0x7f7777aa95130c9b), Q_UINT64_C(0x6ce2af6150e0495a), Q_UINT64_C(0xabf54956d8e7b2ae), Q_UINT64_C(0x5d61b62788db096f), Q_UINT64_C(0x1dd0995e3a3833f6), Q_UINT64_C(0x4830b9ec0a52efea), Q_UINT64_C(0x4b6deac9ba54aed7), Q_UINT64_C(0xd8a5b2d82eb070ef), Q_UINT64_C(0xc78f51efd50a99d), Q_UINT64_C(0xb2d750e4cc381595), Q_UINT64_C(0xcc5a3d6cc8412cf9), Q_UINT64_C(0x716449e782e7c15e), Q_UINT64_C(0x60971d4c2dd8a2de), Q_UINT64_C(0xd181dae3d9e17d00), Q_UINT64_C(0xa51553f160a644a), Q_UINT64_C(0x33c2e7d569cfe4ff), Q_UINT64_C(0xf5463eadaa35d7b1), Q_UINT64_C(0x8597d849d5df0697), Q_UINT64_C(0x54673596ef45e29f), Q_UINT64_C(0x2753a9185702bdec), Q_UINT64_C(0x68edde16eb851e87), Q_UINT64_C(0xe63abaa5324431d8), Q_UINT64_C(0x238e3822a5480bbf), Q_UINT64_C(0x569dfbff9e7a3228), Q_UINT64_C(0x583d319124ecc023), Q_UINT64_C(0x174c93c203e706ca), Q_UINT64_C(0x75515b06b221631f), Q_UINT64_C(0xa3c0046d21d3937a), Q_UINT64_C(0x786176c17d7255e2), Q_UINT64_C(0x7fe7b6e3fee8447b), Q_UINT64_C(0x36b33d94116aa3d6), Q_UINT64_C(0xa540f2adc881ad04), Q_UINT64_C(0xc8e77cabc847bb78), Q_UINT64_C(0x3bb391ff43276713), Q_UINT64_C(0x9195bbff45b7f7e2), Q_UINT64_C(0x79019d67f09cbcc8), Q_UINT64_C(0xa8f17ad8e5ff080e), Q_UINT64_C(0x345b6fbbb3a98cd3), Q_UINT64_C(0x280ec7eb3f29a129), Q_UINT64_C(0x8cf0d5580efabe5e), Q_UINT64_C(0xd74514789ff96be4), Q_UINT64_C(0xaf51af61e09dcf72), Q_UINT64_C(0x2d886dba5494feb9), Q_UINT64_C(0x47847fb8831e9742), Q_UINT64_C(0x9c4645caf979f848), Q_UINT64_C(0xbdcb1b461cbac0bb), Q_UINT64_C(0xe0f76bfdabb9f044), Q_UINT64_C(0x452df2be09d5455a), Q_UINT64_C(0x6360e134cb41175a), Q_UINT64_C(0xedf28a4ba7818d3b) } , { Q_UINT64_C(0xcadac8d042c2659d), Q_UINT64_C(0x454389d89b0bf801), Q_UINT64_C(0xec352b4584ab0ba2), Q_UINT64_C(0x7d109cb245e59d87), Q_UINT64_C(0x68a74d8f67ac0998), Q_UINT64_C(0x2da1d772e2672337), Q_UINT64_C(0x95c65d9f325a81a9), Q_UINT64_C(0x35c69e246ea2a2a), Q_UINT64_C(0x7b2584588863292a), Q_UINT64_C(0x3e7d05d5e89afde4), Q_UINT64_C(0x58171422cfdfec83), Q_UINT64_C(0xd9a2075d95f868da), Q_UINT64_C(0x1da8afd77bdee29b), Q_UINT64_C(0x8d25e865fa5d1f41), Q_UINT64_C(0x5cad8f0581b90560), Q_UINT64_C(0xb8723d6f3e47b827), Q_UINT64_C(0xe1e4abe6712a85f9), Q_UINT64_C(0x8f0c5a1f19477a43), Q_UINT64_C(0x9407dd91b7023406), Q_UINT64_C(0x570a67babc5dffa8), Q_UINT64_C(0x965a6a2c6308a099), Q_UINT64_C(0x7e873487004f9484), Q_UINT64_C(0xac9ef8359380d43a), Q_UINT64_C(0xaff31969a6d0e11f), Q_UINT64_C(0xe4b3607a61f4ebf2), Q_UINT64_C(0xd30d436ce815daa6), Q_UINT64_C(0xf2ec127dd9b24bc0), Q_UINT64_C(0x29d24cc261e39f76), Q_UINT64_C(0xfdf4d684c0def5a4), Q_UINT64_C(0x3a91401a9f01288d), Q_UINT64_C(0x3d8f6a35d8bc4aaf), Q_UINT64_C(0x125dd19b7b757b2c), Q_UINT64_C(0xbe494ce02ed6499d), Q_UINT64_C(0x1880774dacc00e63), Q_UINT64_C(0x440f9561070c655), Q_UINT64_C(0xac5d0be114b6a229), Q_UINT64_C(0xdb3375c59bf08566), Q_UINT64_C(0xa10ced9c93388160), Q_UINT64_C(0x54a4dad59cc2c007), Q_UINT64_C(0x559408bc146bbebd), Q_UINT64_C(0xb8bad0664b209c79), Q_UINT64_C(0xbf586f0e24fefe87), Q_UINT64_C(0xec6d94b7a39286d1), Q_UINT64_C(0xed7c1459a5dc2519), Q_UINT64_C(0x4978282330d42273), Q_UINT64_C(0xff3fd26a98417ca), Q_UINT64_C(0xf26c9f7ae2b230b5), Q_UINT64_C(0x8c94dbd31f38dfbf), Q_UINT64_C(0xd5a3e7288ebf4c96), Q_UINT64_C(0x6e3944a9cd85a4c5), Q_UINT64_C(0xba9c4bc7e7b5c9d9), Q_UINT64_C(0x33e8ebb8ab9dca03), Q_UINT64_C(0xaa2c2de0783569d0), Q_UINT64_C(0x2b85abd021bf9d89), Q_UINT64_C(0xa439c8d9600cd247), Q_UINT64_C(0x622af17e71ccf035), Q_UINT64_C(0x2d5461656222a132), Q_UINT64_C(0x757de25d90c312b2), Q_UINT64_C(0x5bf4142296887e24), Q_UINT64_C(0x1f57f40b682dfae4), Q_UINT64_C(0x5900905f7327b2fa), Q_UINT64_C(0x55d3cee7500a070a), Q_UINT64_C(0x28431e31c56377f6), Q_UINT64_C(0xf2bac6ac56be5bd0) } , { Q_UINT64_C(0xdf46c89083b67e29), Q_UINT64_C(0xa79e77d5e82473b), Q_UINT64_C(0x1acf90d006f2a77f), Q_UINT64_C(0x161a43fe951ed4e), Q_UINT64_C(0x684fe4624c50d017), Q_UINT64_C(0x9d56130f929b7b28), Q_UINT64_C(0x5612e8d14194e557), Q_UINT64_C(0x8317bf19e7c0ec61), Q_UINT64_C(0x4bed0c56e8ae7c16), Q_UINT64_C(0x6524d908ba6fd75a), Q_UINT64_C(0xef1a4afc64d2dec2), Q_UINT64_C(0xcc91a06a6aed0e5b), Q_UINT64_C(0xe8caf25e2e3131f), Q_UINT64_C(0xc682ff6ccc7fbce9), Q_UINT64_C(0xb90a317118687ab2), Q_UINT64_C(0x483fdd9d5943b01b), Q_UINT64_C(0xd9ab9bfdcab982e4), Q_UINT64_C(0x8c36670af77644c3), Q_UINT64_C(0xbeec4e0f0681b526), Q_UINT64_C(0xeba28e747d18b8f0), Q_UINT64_C(0x2e101a99326fea47), Q_UINT64_C(0xddda32425f702ea0), Q_UINT64_C(0xc0b14cad105e3672), Q_UINT64_C(0x359cd242522f1563), Q_UINT64_C(0xd6affd6dc37876be), Q_UINT64_C(0x35bda8df5ead1224), Q_UINT64_C(0xc20e838ad96bba45), Q_UINT64_C(0x92291e135d8e98f1), Q_UINT64_C(0xd4d628339ae65ffc), Q_UINT64_C(0xfeccbee630743e10), Q_UINT64_C(0x58e92ff7f6be6df2), Q_UINT64_C(0x1e57637797590664), Q_UINT64_C(0x7203145c2f63a685), Q_UINT64_C(0x8fec2a2b0bead59d), Q_UINT64_C(0xdd56487be5b8c600), Q_UINT64_C(0x8b11513f987dc92c), Q_UINT64_C(0x1594970f9cab8f30), Q_UINT64_C(0x1bb5f0ea58bfeff2), Q_UINT64_C(0x42ff96fc97d2ebd4), Q_UINT64_C(0x7cb5664988b73c3f), Q_UINT64_C(0xf27eb6647cd62c13), Q_UINT64_C(0x30a27ac7b6107567), Q_UINT64_C(0xeaf3b797f5e00eba), Q_UINT64_C(0xd35e513359631e1f), Q_UINT64_C(0xc9f7f89c795c345c), Q_UINT64_C(0xf400f0cb9df71b18), Q_UINT64_C(0xc82d0a7de2b8c037), Q_UINT64_C(0xf79bf08329ee7b74), Q_UINT64_C(0xcf53f738e1b27b1f), Q_UINT64_C(0x949207eb00202221), Q_UINT64_C(0xb0aac2d90efef7a7), Q_UINT64_C(0x67144a43ef08d0ab), Q_UINT64_C(0xb58a58edfc076d67), Q_UINT64_C(0xc18306361a8ae880), Q_UINT64_C(0x900136708271a8d7), Q_UINT64_C(0x4c62781522d048eb), Q_UINT64_C(0x62f096438e887dee), Q_UINT64_C(0xf35dd72cab848b30), Q_UINT64_C(0x94e3a6cdb64a1d46), Q_UINT64_C(0x38a2d0bfa0bbcb49), Q_UINT64_C(0x1e2e21c184b7a78d), Q_UINT64_C(0xcaabdc94b883b7c4), Q_UINT64_C(0xe730d8e63586e008), Q_UINT64_C(0x9b46fc7effbf9fac) } , { Q_UINT64_C(0xf3c9da6687146357), Q_UINT64_C(0xbc0fc65dbeb389bc), Q_UINT64_C(0x9be6bbd61f09bf49), Q_UINT64_C(0x2140339ed7c11b99), Q_UINT64_C(0x6fc48df6290562cd), Q_UINT64_C(0x380b4bff46db1f22), Q_UINT64_C(0x1ada26b72231ccb5), Q_UINT64_C(0x705a1f7bdedaa01e), Q_UINT64_C(0xa2d620ab9407e5d0), Q_UINT64_C(0x67ab1673e4980aea), Q_UINT64_C(0xafc2252962d550a4), Q_UINT64_C(0xf3dfaf76b775c562), Q_UINT64_C(0x5ccbef3d0397c662), Q_UINT64_C(0x1b3b57a62eeae95), Q_UINT64_C(0xaec1518190e067c5), Q_UINT64_C(0x37488a3d36314db2), Q_UINT64_C(0x961eff8f15d8504a), Q_UINT64_C(0x64ff8e2e721a603c), Q_UINT64_C(0x681143138be3ec55), Q_UINT64_C(0x5ecbdb18d4c08510), Q_UINT64_C(0xd2c8dd0b141f60b8), Q_UINT64_C(0x90906cc9ba81725f), Q_UINT64_C(0x6e6ceecf99b39cda), Q_UINT64_C(0x3833b12c83573c84), Q_UINT64_C(0x77d6cce0c53d35c6), Q_UINT64_C(0xeaec84bd94c7a906), Q_UINT64_C(0x4e438c6201dfe450), Q_UINT64_C(0xe01676f81ef373d3), Q_UINT64_C(0x90b2023a3ee105ae), Q_UINT64_C(0x6d8598e2dc2a22cb), Q_UINT64_C(0x7aec68a3a3616522), Q_UINT64_C(0xd2751bc8535dcec1), Q_UINT64_C(0x5220c84bb8c51285), Q_UINT64_C(0x57810a9091810fbd), Q_UINT64_C(0x71a46e32f4e57778), Q_UINT64_C(0x4b44d5b5d146bfc), Q_UINT64_C(0x2943475171c4730c), Q_UINT64_C(0x422be94e746cea55), Q_UINT64_C(0x2696be9f46720f2f), Q_UINT64_C(0x34588bcf5b61c2bc), Q_UINT64_C(0xdcd4a8018a685369), Q_UINT64_C(0x59e93e1485a41634), Q_UINT64_C(0xc31571199e9eb91b), Q_UINT64_C(0x4ffe620332c7095b), Q_UINT64_C(0x4bac0fa0a2cf284d), Q_UINT64_C(0x1c035a2a33cefe8f), Q_UINT64_C(0xd6ae8360e511267), Q_UINT64_C(0xc9cc8849a2a35773), Q_UINT64_C(0xc880c44800e4b171), Q_UINT64_C(0x4657625b07c46cba), Q_UINT64_C(0x9e9cae5ad99cf4bd), Q_UINT64_C(0xbcda94886adc4193), Q_UINT64_C(0x969c91aed057979e), Q_UINT64_C(0x45f618b5564b7b33), Q_UINT64_C(0x8e7c8c99777ef253), Q_UINT64_C(0x8e9e9771832e577d), Q_UINT64_C(0x91dde22a9480b4bd), Q_UINT64_C(0x70ddf3148befa451), Q_UINT64_C(0x10b84400fa414520), Q_UINT64_C(0xbc5a066b606baf65), Q_UINT64_C(0x514dd10b07527017), Q_UINT64_C(0xcbab54a0ff2c2a98), Q_UINT64_C(0xfd7421297472cf1b), Q_UINT64_C(0x59f1839342ef0fb7) } , { Q_UINT64_C(0xc75866298a6e4bac), Q_UINT64_C(0xc8ee38b2898619e0), Q_UINT64_C(0x7f979c89244eb074), Q_UINT64_C(0x6dfe79552a503ae7), Q_UINT64_C(0x84e2657e2ef4ea59), Q_UINT64_C(0x5212c47457504706), Q_UINT64_C(0xc2d6c23f1ff0fbd8), Q_UINT64_C(0xead331b5f2fbe7cc), Q_UINT64_C(0x196b78ae8fab6cec), Q_UINT64_C(0x82e9b89e64e183d4), Q_UINT64_C(0xedf8a811a8525983), Q_UINT64_C(0x81401e0a707f4a2a), Q_UINT64_C(0xe97db9ef64670a17), Q_UINT64_C(0xdca4e599aa2b2046), Q_UINT64_C(0x55997b5728384a93), Q_UINT64_C(0xefea3f38b47dc02), Q_UINT64_C(0xf7715d0117066b50), Q_UINT64_C(0x202f640d407c7784), Q_UINT64_C(0x41fc2d1db8d2c58a), Q_UINT64_C(0xf1aea04995261294), Q_UINT64_C(0x1b97ca9b94818e5c), Q_UINT64_C(0x1a604d81c6832882), Q_UINT64_C(0x29de3de90ec4b09c), Q_UINT64_C(0x833b362a95d350cc), Q_UINT64_C(0x92bb628c33d0c1a6), Q_UINT64_C(0x17b218339404dff9), Q_UINT64_C(0x8ecc53ee80c128fd), Q_UINT64_C(0xde322a7a6d6d0b7f), Q_UINT64_C(0x9a1bf2c58b17b96d), Q_UINT64_C(0x46841b0080569274), Q_UINT64_C(0x175635b631158926), Q_UINT64_C(0x97e00b81c49f16a7), Q_UINT64_C(0xb0b7c04c7b91bbf), Q_UINT64_C(0x7b6f44fe486244c), Q_UINT64_C(0x6e3abe3d9168fa01), Q_UINT64_C(0xb8e6064f060e9848), Q_UINT64_C(0x9a7407276634a98f), Q_UINT64_C(0x8dddb9a33d0af4c), Q_UINT64_C(0xf48074674a428565), Q_UINT64_C(0x4c42426a115ca77c), Q_UINT64_C(0x2e476b77c7666bad), Q_UINT64_C(0x3ff12da796160fa8), Q_UINT64_C(0xb6b1986a2ecba623), Q_UINT64_C(0x1e5bf26bac6a2cc8), Q_UINT64_C(0xe854e404456189d7), Q_UINT64_C(0xa6bc5714b0e06a85), Q_UINT64_C(0xd94634b1c5575759), Q_UINT64_C(0x22edb1d386f7a76b), Q_UINT64_C(0x5425da975aa39f5), Q_UINT64_C(0x6ad785b5f1cb9ba3), Q_UINT64_C(0x92f67a06e954aa6c), Q_UINT64_C(0x808537a95a748260), Q_UINT64_C(0x6cf997acd7762b1c), Q_UINT64_C(0x61bb904dbec76cc7), Q_UINT64_C(0xd3646f8af70ef000), Q_UINT64_C(0xdcff1f6ef367b6ea), Q_UINT64_C(0xf66e9417cc7b0cae), Q_UINT64_C(0x8399ddcbbcc6a55c), Q_UINT64_C(0xb3f777be95923c1c), Q_UINT64_C(0x6386d01553c46e6d), Q_UINT64_C(0x1d342f505e226825), Q_UINT64_C(0x8c484323c0c0c008), Q_UINT64_C(0x7a7acbc76ac93bdc), Q_UINT64_C(0x5c61d0590ea1a132) } , { Q_UINT64_C(0x2f64bef8708ccc76), Q_UINT64_C(0x8f69cb123b86b473), Q_UINT64_C(0x14629d43439b0b9a), Q_UINT64_C(0xb51615b61addd932), Q_UINT64_C(0x56083fb3f25972d2), Q_UINT64_C(0x5824911f1514af24), Q_UINT64_C(0xcc31f9a300cd86fb), Q_UINT64_C(0x106f10489953b0f0), Q_UINT64_C(0x4e0da08ed53e3f42), Q_UINT64_C(0x861454c96e778a89), Q_UINT64_C(0x85fa8e9cb37aebe4), Q_UINT64_C(0x185f7b31ecc2b80f), Q_UINT64_C(0x77b4840c225dba24), Q_UINT64_C(0x21f3044fd95b9644), Q_UINT64_C(0xb10b52c194b80c12), Q_UINT64_C(0xd3511042b3dc6e17), Q_UINT64_C(0x127c6a623e7a8096), Q_UINT64_C(0xac40b42d23979b50), Q_UINT64_C(0x24eaf6e4d79f81dd), Q_UINT64_C(0xc188cff8736251b9), Q_UINT64_C(0x12392eb101fe558e), Q_UINT64_C(0x2e402c80d947c34), Q_UINT64_C(0x8b9d039619325a97), Q_UINT64_C(0x5d9b0636b0704c83), Q_UINT64_C(0x8a94b7d08b8d601d), Q_UINT64_C(0x5733a1895681c0aa), Q_UINT64_C(0xdd5a40d653d15e74), Q_UINT64_C(0xbb054e3cf7ccbacd), Q_UINT64_C(0x6e4b27ff19f158fb), Q_UINT64_C(0x41e3901659df0572), Q_UINT64_C(0xf6e26bfacb2b1d27), Q_UINT64_C(0x4fefc0f2472ecd13), Q_UINT64_C(0x3e27d9ba892b921e), Q_UINT64_C(0x948f060bc89c832a), Q_UINT64_C(0x8baa3f0efc1c2af2), Q_UINT64_C(0x2381a923ba396109), Q_UINT64_C(0xd3b06958774253f0), Q_UINT64_C(0xb445b670f7c832e), Q_UINT64_C(0xa2be518eb068da7c), Q_UINT64_C(0x3bbb38d5b2cdd554), Q_UINT64_C(0x1da3d990a138c7b6), Q_UINT64_C(0xc8e233f9accae801), Q_UINT64_C(0xa05e74f15d3eeef5), Q_UINT64_C(0xfea7f74d1c9bcaff), Q_UINT64_C(0xae0b4bfcf6a32afa), Q_UINT64_C(0x6be0332e6af8a0cf), Q_UINT64_C(0x943177446ddd6775), Q_UINT64_C(0xba0da641f019b36e), Q_UINT64_C(0x384025f9ab18fbba), Q_UINT64_C(0x1939888bb6674ce0), Q_UINT64_C(0x59e11e6d2f07fa4b), Q_UINT64_C(0xa596f492bd8f9bca), Q_UINT64_C(0xe939068dd320fec1), Q_UINT64_C(0xdcc4c3618c975c), Q_UINT64_C(0x486fcb60f496caa), Q_UINT64_C(0xcd6e638cc3106b1a), Q_UINT64_C(0x28b8c5a56fc98845), Q_UINT64_C(0x349ddc52f07e66d6), Q_UINT64_C(0xdc5b17f35598ab96), Q_UINT64_C(0x536c255baf56d4ec), Q_UINT64_C(0x7d58b9aa06d26aa3), Q_UINT64_C(0xc479e0c6ddbc2a4e), Q_UINT64_C(0x668cbed0f5dcbea), Q_UINT64_C(0x751054ba6613a289) } , { Q_UINT64_C(0x3c7280b077d6d7a), Q_UINT64_C(0xe12382c91253cda1), Q_UINT64_C(0xbefda033140e3cb7), Q_UINT64_C(0x1b6f806491b094b5), Q_UINT64_C(0x1e98babfcc965316), Q_UINT64_C(0x57d2ade56704a531), Q_UINT64_C(0xd54fc0a170ffd7aa), Q_UINT64_C(0x354ead717998c00d), Q_UINT64_C(0xeae96f6e4b1508c1), Q_UINT64_C(0x7c0dc22bf8632b40), Q_UINT64_C(0x83bc6818b369f89a), Q_UINT64_C(0x4efc4febd26e4b42), Q_UINT64_C(0xf8ceefc9feb1874f), Q_UINT64_C(0xf845bec6c1ccf8a0), Q_UINT64_C(0x3e2b5a324714c3bb), Q_UINT64_C(0x1d9eab2892b42859), Q_UINT64_C(0xb25280c92f83b2a2), Q_UINT64_C(0xeff78ea70b1c5e36), Q_UINT64_C(0x6d4de2bb930efe72), Q_UINT64_C(0x64b95da4f88ca989), Q_UINT64_C(0xfac373fc552add76), Q_UINT64_C(0x3c841f46705e8b18), Q_UINT64_C(0xc32fb541343401f9), Q_UINT64_C(0xf2c11cce7a469839), Q_UINT64_C(0xb817729006c14c65), Q_UINT64_C(0x1071ec724569f6af), Q_UINT64_C(0x621edfa9de9439e7), Q_UINT64_C(0x1a22c4d5150f2baa), Q_UINT64_C(0x75cca15a55258a3d), Q_UINT64_C(0x24f570d7d46087f1), Q_UINT64_C(0x73a8a9518592ea87), Q_UINT64_C(0x925f5b9e52691f97), Q_UINT64_C(0xb9b2c60211b8ee24), Q_UINT64_C(0x4308bc03f750dbc6), Q_UINT64_C(0xfc913f36d178361f), Q_UINT64_C(0x63322686eb9ad5fa), Q_UINT64_C(0x58a258ad8bfe49ce), Q_UINT64_C(0x6e58e93d4969b576), Q_UINT64_C(0x4cfdeb892f7103d9), Q_UINT64_C(0xe6d396b7019b60fa), Q_UINT64_C(0x891d9d8a680b0fe9), Q_UINT64_C(0x3af29f54df3c8952), Q_UINT64_C(0x4e4ab77a442734fe), Q_UINT64_C(0x6e9ee2c78557d228), Q_UINT64_C(0x39205e41d0b4f1bd), Q_UINT64_C(0x2d7afbfd5b402083), Q_UINT64_C(0xefaaa35cfcb13cd3), Q_UINT64_C(0xd5eb1dcb6c10d071), Q_UINT64_C(0xec6670a35fef81f5), Q_UINT64_C(0xec28f44e30a9996c), Q_UINT64_C(0x20f1adb9f2960c1e), Q_UINT64_C(0x6d0d8e411f5845a6), Q_UINT64_C(0xa15d0c9740e3a337), Q_UINT64_C(0x7e2d2c54bff916f2), Q_UINT64_C(0x2af10716e9691641), Q_UINT64_C(0x1dadd22c12ff5b22), Q_UINT64_C(0x6ba5819a9948d2c1), Q_UINT64_C(0x415fc03a15510c4d), Q_UINT64_C(0x40a4b22bdc58b560), Q_UINT64_C(0x6b94dc456fc3dca1), Q_UINT64_C(0xbc04ae725dca44cd), Q_UINT64_C(0x851229741d509353), Q_UINT64_C(0xdfa93ba511ed67a5), Q_UINT64_C(0x9930157fc5022cce) } , { Q_UINT64_C(0xa14f64e7e2a08adf), Q_UINT64_C(0x6b642680b3befe04), Q_UINT64_C(0xa5cec9da49db1e5b), Q_UINT64_C(0xc8a4791b8796b72b), Q_UINT64_C(0x96dcda1732dac346), Q_UINT64_C(0xdd6a468b90154135), Q_UINT64_C(0xc92cf06b2f7cec8b), Q_UINT64_C(0x49fdd61b76fb21c1), Q_UINT64_C(0x952d68a7d37cbdd1), Q_UINT64_C(0x1d02dca5ecce6696), Q_UINT64_C(0x7947464767cc4eb1), Q_UINT64_C(0xbc5690e29707fd78), Q_UINT64_C(0x1b77de938eb37a92), Q_UINT64_C(0x82a0316874d3f3b4), Q_UINT64_C(0x438b0002bc65e99), Q_UINT64_C(0xf7165ab04168fe6d), Q_UINT64_C(0x333d75259eefcd14), Q_UINT64_C(0x8906c3ac02d0bea4), Q_UINT64_C(0xffd91e4fe65f12e9), Q_UINT64_C(0xc14b1bf2982e4aed), Q_UINT64_C(0x35d83daf48cfe68f), Q_UINT64_C(0x9ec31949cd275677), Q_UINT64_C(0x2c3ee7e34b57d352), Q_UINT64_C(0x94660b0b00324807), Q_UINT64_C(0x3f7e45098859afce), Q_UINT64_C(0x69a26300773711d6), Q_UINT64_C(0xfcf669991e52df6b), Q_UINT64_C(0xe9fe0aec1acf55b5), Q_UINT64_C(0x6a22ade2d0520453), Q_UINT64_C(0x79b4957bf7ad0aaa), Q_UINT64_C(0x10bd4cdb980db736), Q_UINT64_C(0xf851ceac6b23657f), Q_UINT64_C(0xad9451efea678535), Q_UINT64_C(0x5646fc2f7a3ccca8), Q_UINT64_C(0x12501485c46afe0b), Q_UINT64_C(0xe44bf524b8fe2551), Q_UINT64_C(0xc7b072886b0fd978), Q_UINT64_C(0x2c29835d87188eeb), Q_UINT64_C(0xebd902fb34841eca), Q_UINT64_C(0xbc8da25aafd4c949), Q_UINT64_C(0xe8e2f478103c805c), Q_UINT64_C(0xf4bfa9cbd7ed9c07), Q_UINT64_C(0xac7f6a4adad8b297), Q_UINT64_C(0xbd209ad1b5f145ba), Q_UINT64_C(0x4f9d4c0a69871173), Q_UINT64_C(0xf6e28f3f8b89aebc), Q_UINT64_C(0x4b13bc67fe616132), Q_UINT64_C(0xcfe6c79ca07bb7bc), Q_UINT64_C(0x80a3f66f2c6a0eff), Q_UINT64_C(0xe3afb253772a75fc), Q_UINT64_C(0xf40c5da6637f1c4d), Q_UINT64_C(0x29002c86cc15c154), Q_UINT64_C(0x4dfe86a1b23ee0d9), Q_UINT64_C(0x65622cdf439dec74), Q_UINT64_C(0x30fda6a5933ffba0), Q_UINT64_C(0x960092fd4722f32b), Q_UINT64_C(0x4ab30ab6a72584cb), Q_UINT64_C(0xc74a9ae8575cdeeb), Q_UINT64_C(0x2e04317419a09c84), Q_UINT64_C(0x49c487bc3b339189), Q_UINT64_C(0xf1e89841c5586c04), Q_UINT64_C(0x618a5d4557a060db), Q_UINT64_C(0x67b1f2b29381993c), Q_UINT64_C(0xdac343bda84599fd) } , { Q_UINT64_C(0xebff8b8df3c83a0a), Q_UINT64_C(0xf9942b8463438981), Q_UINT64_C(0x6c2f8a36722bbac5), Q_UINT64_C(0xa7cae83f1120ef53), Q_UINT64_C(0x6be91f12cdd0ca04), Q_UINT64_C(0xc441e4b94cecfb40), Q_UINT64_C(0xcadae4afd1198c20), Q_UINT64_C(0x47d6c333e59f0d9b), Q_UINT64_C(0x1c7fe4e60648c3bd), Q_UINT64_C(0xf61d326de86eab61), Q_UINT64_C(0x71ea832569a032f7), Q_UINT64_C(0x27b805c6b65ae940), Q_UINT64_C(0x4ab0f7d8436b08dc), Q_UINT64_C(0xd7709084e3c83ba6), Q_UINT64_C(0xeda91d50da13848d), Q_UINT64_C(0x8540270732c408e0), Q_UINT64_C(0x35efdcdef2789841), Q_UINT64_C(0xf937151d7d7be252), Q_UINT64_C(0xe95c415b888c8aec), Q_UINT64_C(0x171a6366a0e1271b), Q_UINT64_C(0x9149c05e04f7036c), Q_UINT64_C(0x414f8230851b4649), Q_UINT64_C(0xfb51808713dc84ba), Q_UINT64_C(0xf933e08fb5dfaebc), Q_UINT64_C(0x28254a305cc7753f), Q_UINT64_C(0x6e9300d69c44cb1b), Q_UINT64_C(0x1fed087462b8e3c9), Q_UINT64_C(0x311931c6cc9d371f), Q_UINT64_C(0xab3c7d461118dc9), Q_UINT64_C(0x9f67ffd0d3815586), Q_UINT64_C(0x8586a78a5a5d0daa), Q_UINT64_C(0xc35e56c16ad732e8), Q_UINT64_C(0x5dec4f660f327eb4), Q_UINT64_C(0xbeca79c300886406), Q_UINT64_C(0xaad304bb2ea3f914), Q_UINT64_C(0x4f6aec0ed980ff6f), Q_UINT64_C(0x1ddf22d9fbb4a2f0), Q_UINT64_C(0xa5faf84525bab3e), Q_UINT64_C(0xb2f339ac1074ead), Q_UINT64_C(0xceeb55e80a6a92c2), Q_UINT64_C(0x8a439d961671da6f), Q_UINT64_C(0x66467b94b6de5d2f), Q_UINT64_C(0x21505ba132d4907d), Q_UINT64_C(0x34c443b890fac25f), Q_UINT64_C(0x48c89fd2e655cdf9), Q_UINT64_C(0x15897d714819c7e6), Q_UINT64_C(0xf7a8f3d223780746), Q_UINT64_C(0x6778549c3bbb486b), Q_UINT64_C(0x889aeb3bf2632b9a), Q_UINT64_C(0xcb8fb06abda385ff), Q_UINT64_C(0x502d1ab72f606c48), Q_UINT64_C(0x29b34ae2ff2c21a9), Q_UINT64_C(0x5f6942a552a43ba1), Q_UINT64_C(0xd9b44265023be3d7), Q_UINT64_C(0x29081045ed355455), Q_UINT64_C(0x2f915936359af5a0), Q_UINT64_C(0x6c3889068abe571c), Q_UINT64_C(0x97b66c46539aa106), Q_UINT64_C(0xec346e6de2e3f311), Q_UINT64_C(0x6aadba9193ad40f6), Q_UINT64_C(0xd835cf0ef3a71198), Q_UINT64_C(0x10e62386c249b3fc), Q_UINT64_C(0x1cd290d68761f8e2), Q_UINT64_C(0xb8337434d4e694e1) } , { Q_UINT64_C(0xbd77a59f1d361ebb), Q_UINT64_C(0x3fd63cdae63a60cf), Q_UINT64_C(0xabbde3878f5d3ddc), Q_UINT64_C(0x7bd30af727464ee0), Q_UINT64_C(0xc54b2e6fd776f8ec), Q_UINT64_C(0x87536cc23efddac8), Q_UINT64_C(0xa673f8fea0989c7a), Q_UINT64_C(0x7079efe6a0393e1), Q_UINT64_C(0xd59ef63e8c0a3f87), Q_UINT64_C(0x275f3761c2b39d86), Q_UINT64_C(0xabb109a58d81d722), Q_UINT64_C(0x6fa8223d3df3b5a3), Q_UINT64_C(0xc21d3f51d871af26), Q_UINT64_C(0x9d5c9fc29803819), Q_UINT64_C(0x866d72e99c8219c0), Q_UINT64_C(0xf903690329ec9854), Q_UINT64_C(0x463c5862fd725e53), Q_UINT64_C(0xfaa2e3b9009c23ff), Q_UINT64_C(0x51ed3fa38b3e32e1), Q_UINT64_C(0x3fdd054ae621b7a9), Q_UINT64_C(0x63422f3c0fcdb872), Q_UINT64_C(0xdb599cddb7ba5bb7), Q_UINT64_C(0x29d821145131732f), Q_UINT64_C(0xa768e7bd756f318c), Q_UINT64_C(0x6c499d80db10e3f2), Q_UINT64_C(0x1ccb5e0f3dfd948e), Q_UINT64_C(0xe59cdfdfde9ae15f), Q_UINT64_C(0x9d490cddfef6d223), Q_UINT64_C(0xb8985e20b3c308b5), Q_UINT64_C(0xca4145a21a50a82a), Q_UINT64_C(0xefa50915dbc7e668), Q_UINT64_C(0x66c706d2ddde9849), Q_UINT64_C(0x9ce9a5932d0364d2), Q_UINT64_C(0x9686b7e5e8901ff7), Q_UINT64_C(0xa9a42437501eaad7), Q_UINT64_C(0x20679ed4ada474e1), Q_UINT64_C(0x367a3bbc6c11bba2), Q_UINT64_C(0xe4cfc9c30e06a14d), Q_UINT64_C(0xc589b195c383ecfd), Q_UINT64_C(0x841ce907bbb6a61c), Q_UINT64_C(0x3d731ef371ea6132), Q_UINT64_C(0xab7a347deeedc48a), Q_UINT64_C(0xa5ba154bec151ef8), Q_UINT64_C(0x17726f865e2ee581), Q_UINT64_C(0xdbca0e729ac306f2), Q_UINT64_C(0xf7ee9f7dbf54f4d7), Q_UINT64_C(0x6c10670c9169452e), Q_UINT64_C(0x5a49ee9a2bc1486f), Q_UINT64_C(0x23630d9bff542959), Q_UINT64_C(0xdcb2d15124939ab9), Q_UINT64_C(0xa5de1bef76950515), Q_UINT64_C(0x730f408f5dc85968), Q_UINT64_C(0xd8c24e6721021521), Q_UINT64_C(0xe61242e7661ab160), Q_UINT64_C(0xceb3901956105e41), Q_UINT64_C(0x9a56e7a2a9b7040), Q_UINT64_C(0x6dddfaced358af91), Q_UINT64_C(0x6d597db8d1caf88d), Q_UINT64_C(0x7dfa62e1b1760d84), Q_UINT64_C(0x8e19fa60dfeb1bf), Q_UINT64_C(0xa34875d78b045e7e), Q_UINT64_C(0xa294952e7727e87), Q_UINT64_C(0xac7d17ef5e7b791a), Q_UINT64_C(0x51d95a618d846d91) } , { Q_UINT64_C(0xc58896c783248e00), Q_UINT64_C(0xb28c400d0e64ade8), Q_UINT64_C(0xc41ecb9b99a69765), Q_UINT64_C(0xa1bcd8aae00885c1), Q_UINT64_C(0xd66f8316f2155659), Q_UINT64_C(0x8eeb7bcc71816ad0), Q_UINT64_C(0xc0fd3c6163d7ca66), Q_UINT64_C(0x3483cad9e03c498e), Q_UINT64_C(0x797e845514e40aec), Q_UINT64_C(0x9213f80bf739746d), Q_UINT64_C(0x6effa9a6b1ea0966), Q_UINT64_C(0xecf7c1c9d0e33dba), Q_UINT64_C(0x244b3a0a6a1914d3), Q_UINT64_C(0x6ff19fb917323431), Q_UINT64_C(0x1fed9c34d7fa3bfe), Q_UINT64_C(0xc374c9f28e32936a), Q_UINT64_C(0x82e29126f964e26e), Q_UINT64_C(0x5e19b04bcae033ab), Q_UINT64_C(0x8e843603dbe6f7c4), Q_UINT64_C(0xa69036d38dc44fa7), Q_UINT64_C(0xdc8900d3ffe9bb33), Q_UINT64_C(0x7df691fb44c14455), Q_UINT64_C(0x8db41acc4e059813), Q_UINT64_C(0x9b2d3d0de5b20868), Q_UINT64_C(0x4b39506de2dc33e8), Q_UINT64_C(0x497fa4ddbb3b07ce), Q_UINT64_C(0x6c5debfda2c4ba40), Q_UINT64_C(0x8fdbde6d48bf1975), Q_UINT64_C(0xff2f49b04059933f), Q_UINT64_C(0xecbe4f65b27376f4), Q_UINT64_C(0x2721d3581a8b968c), Q_UINT64_C(0x1a24f47aac88d68b), Q_UINT64_C(0x789e285d63687859), Q_UINT64_C(0x90d51721750bfb72), Q_UINT64_C(0x6ec71da00ade928f), Q_UINT64_C(0xf30d9e21516cb984), Q_UINT64_C(0x26e15240e445a13b), Q_UINT64_C(0x1f2c3c30333f106d), Q_UINT64_C(0xc112f0277a1d8d9e), Q_UINT64_C(0xb8ded447d7ac9df4), Q_UINT64_C(0xec3468c53d70f8e2), Q_UINT64_C(0xc2762a9062b4fd52), Q_UINT64_C(0x125a697ea5c928fc), Q_UINT64_C(0x699ccbae2e951159), Q_UINT64_C(0xb84b2eebee507f54), Q_UINT64_C(0x3f758e5dc86257e0), Q_UINT64_C(0x98cce7a224a0ec87), Q_UINT64_C(0x9c664fde6084eb02), Q_UINT64_C(0xd0fc175ca6c00b3f), Q_UINT64_C(0xab97afa35e0176ee), Q_UINT64_C(0xc33d3e3c9d339042), Q_UINT64_C(0xdb4d05320bec3d50), Q_UINT64_C(0x39be4f2ea598bb3), Q_UINT64_C(0x82f71649af9e5b54), Q_UINT64_C(0xa314e81e7bdd8915), Q_UINT64_C(0xef47b0e2d07c4d8e), Q_UINT64_C(0xc95b40effdb0f22f), Q_UINT64_C(0xc388499302f30a22), Q_UINT64_C(0xff906154a95d03a7), Q_UINT64_C(0x9d33ff38637e7a05), Q_UINT64_C(0x2552ea8ad2b403cd), Q_UINT64_C(0x5e613aa2d28e5a87), Q_UINT64_C(0x4ec1298ccbd07a), Q_UINT64_C(0x8315aeb53c3d81ce) } }; const quint64 RAND_WHITE_CASTLING_KS = Q_UINT64_C(0x60c5f1b38762756d); const quint64 RAND_WHITE_CASTLING_QS = Q_UINT64_C(0x38918d25eac93e11); const quint64 RAND_BLACK_CASTLING_KS = Q_UINT64_C(0xfed940d4bb964ecb); const quint64 RAND_BLACK_CASTLING_QS = Q_UINT64_C(0x4a2da478101f9d64); const quint64 RAND_EN_PASSANT[MAX_EN_PASSANT_SQUARES] = { Q_UINT64_C(0xbc5e6419e34ab321), Q_UINT64_C(0x3513a06b02fc5132), Q_UINT64_C(0xb83ea9358f46207b), Q_UINT64_C(0xe575a233ac88fbf0), Q_UINT64_C(0x64c8173b165c69ac), Q_UINT64_C(0xe361ef6d97725e14), Q_UINT64_C(0x1ad0d77aa083746f), Q_UINT64_C(0x29a2f875cbc5f61a), Q_UINT64_C(0xd929e0170d1eda7), Q_UINT64_C(0xd13dda118259fd9f), Q_UINT64_C(0xe8cb491492468f4b), Q_UINT64_C(0x9c49ffc0f1b05f16), Q_UINT64_C(0xb76ca00d646c4009), Q_UINT64_C(0x99d8482b93ac2334), Q_UINT64_C(0x9d8a11eda9fe0d09), Q_UINT64_C(0x21f507b5b6d8771) }; const quint64 RAND_TO_MOVE = Q_UINT64_C(0xb1aac26e1c3caa9d); const quint64 RAND_VALUES2[MAX_PIECES][MAX_SQUARES] = { { Q_UINT64_C(0x2a5417a98307b2da), Q_UINT64_C(0x5ac95aaf5b5a0a8c), Q_UINT64_C(0x4242b999ccb11fd), Q_UINT64_C(0xa37501fe898e0e78), Q_UINT64_C(0x9a94bcea9e2da76b), Q_UINT64_C(0xc7ce19cc5e802f83), Q_UINT64_C(0x45eeced5b680b2cb), Q_UINT64_C(0xadb6adad23017434), Q_UINT64_C(0x80800ecc4d2b87a9), Q_UINT64_C(0x642f6c3b25f7815), Q_UINT64_C(0x36bee3949859adc4), Q_UINT64_C(0xbf7edddd305cd3e4), Q_UINT64_C(0xdc832abd4ffa5cb6), Q_UINT64_C(0x93633b3bfd69c313), Q_UINT64_C(0xace24bbc5c3b597), Q_UINT64_C(0x15b724f37500f32b), Q_UINT64_C(0xf8757ae36e0f7ad7), Q_UINT64_C(0x61ad06851f14a2d2), Q_UINT64_C(0x71305111983c5848), Q_UINT64_C(0x2312fe7b04ecc10e), Q_UINT64_C(0xa83a7e4426b47c5c), Q_UINT64_C(0x57273697f8db1fe1), Q_UINT64_C(0x1ba0df2ee5b42a5f), Q_UINT64_C(0xad7c2a49bc87d869), Q_UINT64_C(0xa0c2390e8cb1f3b), Q_UINT64_C(0xc88205c839aa498d), Q_UINT64_C(0xb0d939c06b5cb858), Q_UINT64_C(0xe07cec7f3264f226), Q_UINT64_C(0x6e33f7d923c0732b), Q_UINT64_C(0xe8203d23af991c54), Q_UINT64_C(0x1c99f6b4cf6f670c), Q_UINT64_C(0x44e4ec3c02e0a04b), Q_UINT64_C(0xc6ae9553cc99e7c0), Q_UINT64_C(0x449b73fe112a976a), Q_UINT64_C(0x5c3102046f66a5da), Q_UINT64_C(0xce6ab6643d315942), Q_UINT64_C(0x2522da9df2455649), Q_UINT64_C(0xa353599c1a2e0548), Q_UINT64_C(0x47a81c545e59e8a9), Q_UINT64_C(0xd20c18c91d0c7da0), Q_UINT64_C(0xa7947c53ce8dd184), Q_UINT64_C(0x524a385ac5da3912), Q_UINT64_C(0x877c13873f329da6), Q_UINT64_C(0x16f6860b1bfacd8f), Q_UINT64_C(0xe4c71662637278c3), Q_UINT64_C(0xaf4505840b228ab5), Q_UINT64_C(0x7cf5f4dd43e540e4), Q_UINT64_C(0x19d1b3bfcbd55a13), Q_UINT64_C(0x5f0e500c0e9d63db), Q_UINT64_C(0xdc76fab4b7b3ba9d), Q_UINT64_C(0x759ffa59e9523a66), Q_UINT64_C(0x9d7cc9cf7b2e1f05), Q_UINT64_C(0xf5614ae6f8970008), Q_UINT64_C(0x7987f955c2371b60), Q_UINT64_C(0x6ca454ef2c36b0b8), Q_UINT64_C(0xbf2d843f0342bc09), Q_UINT64_C(0x35ea28b097912aeb), Q_UINT64_C(0x41e7fb83df8e4c64), Q_UINT64_C(0x77db59b0f6e384ca), Q_UINT64_C(0xd6e3c5690790b6b8), Q_UINT64_C(0x776de83e838ab515), Q_UINT64_C(0x6118c9ee6248fe51), Q_UINT64_C(0x43111ed3b71e7d0f), Q_UINT64_C(0xf10630451923e6ab) } , { Q_UINT64_C(0x565ab14f492f71b4), Q_UINT64_C(0x3a76f59247731e03), Q_UINT64_C(0xa358e41c85134db), Q_UINT64_C(0x2aa4cf9149d3eeee), Q_UINT64_C(0x4b1a708bcd67571c), Q_UINT64_C(0x960b91658e4256a5), Q_UINT64_C(0xe92d20cc7b215cd1), Q_UINT64_C(0x6a17c2b1ff6d49a4), Q_UINT64_C(0xc280f23c9628ed6b), Q_UINT64_C(0xf5f3babb8223baf5), Q_UINT64_C(0xc00174f43aad425c), Q_UINT64_C(0x212624c4251f7393), Q_UINT64_C(0x209de09fd3e84346), Q_UINT64_C(0xa1adb8f309027c7), Q_UINT64_C(0xf5bdfed74bbbe2b5), Q_UINT64_C(0xb4a5c1446224e203), Q_UINT64_C(0x189b35d7180fefb5), Q_UINT64_C(0x8b2c72f8150e4587), Q_UINT64_C(0x1196c5cb9e797a9b), Q_UINT64_C(0x27b584dae8b2e940), Q_UINT64_C(0x79364f768b360ae0), Q_UINT64_C(0x171cc6787742c0ad), Q_UINT64_C(0xab538219f3d49a73), Q_UINT64_C(0xcc82e6842ac5486b), Q_UINT64_C(0x8eb33ec2c84c5894), Q_UINT64_C(0xc90f46cacfc0229b), Q_UINT64_C(0x80ed6a306da6b300), Q_UINT64_C(0x566ea1f3681bc906), Q_UINT64_C(0xa1dd6add546b62fd), Q_UINT64_C(0x4b4e3e160e17a039), Q_UINT64_C(0xf5fec0afe974790e), Q_UINT64_C(0x6206b04ec9a5be39), Q_UINT64_C(0xd1686b1c476e8ee1), Q_UINT64_C(0x3e05d0a857bb0b79), Q_UINT64_C(0xf861f0b941963817), Q_UINT64_C(0xa3bd04a8ae26f2ea), Q_UINT64_C(0xb9ef8e89213e0019), Q_UINT64_C(0x80496d52af615a37), Q_UINT64_C(0xb1bc75fdc72f0dd4), Q_UINT64_C(0x6aaf5289dbe9e7a), Q_UINT64_C(0x2034b6428849acf8), Q_UINT64_C(0x214b79e32484ffd1), Q_UINT64_C(0xed8b807ba1d0ba7f), Q_UINT64_C(0xb146c7ef65dc112b), Q_UINT64_C(0x29273be71456bbf), Q_UINT64_C(0xb0c321a881b2978b), Q_UINT64_C(0x97e80e566ba19dcf), Q_UINT64_C(0xdb8130cd436270bf), Q_UINT64_C(0x8390455b1d03ebd4), Q_UINT64_C(0x67d87a40f489f971), Q_UINT64_C(0x11371562ed0cd5ad), Q_UINT64_C(0xc78fc67ea384d066), Q_UINT64_C(0xa2c0b78e4160c607), Q_UINT64_C(0xec157db9f45f65b8), Q_UINT64_C(0x11a23a808020842d), Q_UINT64_C(0xf4870065c7cb9058), Q_UINT64_C(0xb688f87f37be9f10), Q_UINT64_C(0x523904f08e3a1db5), Q_UINT64_C(0x6d5547d362630207), Q_UINT64_C(0xbe377a2ee9614959), Q_UINT64_C(0xa74767500f61e91a), Q_UINT64_C(0x59f4428131dfe82b), Q_UINT64_C(0xbee2763074345495), Q_UINT64_C(0x924a98bc2c03faa3) } , { Q_UINT64_C(0xa3f278a8ea3800d6), Q_UINT64_C(0x8f95861dc9e88f9c), Q_UINT64_C(0xb016c7a699f29eec), Q_UINT64_C(0x4f871a0da97bd86d), Q_UINT64_C(0x6d70153d9c3926e9), Q_UINT64_C(0xf626a9275c8edca7), Q_UINT64_C(0xa37b001c2aa636af), Q_UINT64_C(0x50552a8f13bf4b67), Q_UINT64_C(0x7f506ef8d7583d2d), Q_UINT64_C(0x2e1f50f49c4fcb4c), Q_UINT64_C(0xfc174306518aadaf), Q_UINT64_C(0xa96e138bbaf3b99c), Q_UINT64_C(0x26d2537610a1428a), Q_UINT64_C(0x5d34b24783e87351), Q_UINT64_C(0xbdae7bbc576baf7d), Q_UINT64_C(0xa7386b52075119e), Q_UINT64_C(0x902f3d3f11b71bea), Q_UINT64_C(0xd6551d6cbd316ebb), Q_UINT64_C(0xe22c47438ea26697), Q_UINT64_C(0x812ad25de614fc1e), Q_UINT64_C(0xd6a0f0961820f99f), Q_UINT64_C(0x9213716d4bef80ca), Q_UINT64_C(0x978883dde343df7d), Q_UINT64_C(0x5c88103619aa30c6), Q_UINT64_C(0xfa9cbcc1c7aa786f), Q_UINT64_C(0xa4c270ecbe8278b3), Q_UINT64_C(0x31ac3dd2c0abd738), Q_UINT64_C(0x37774370702023be), Q_UINT64_C(0x7df4cf76ade1ef4d), Q_UINT64_C(0x25396a494516dec2), Q_UINT64_C(0x69fe023ce81dda44), Q_UINT64_C(0x9bfa45df4de43313), Q_UINT64_C(0x7eb578e49c1b5591), Q_UINT64_C(0x33d3f3069234c23a), Q_UINT64_C(0x730fe0250e55b1d9), Q_UINT64_C(0x683e70b476db9c72), Q_UINT64_C(0xe628af7287eb7b22), Q_UINT64_C(0x5cc9a853f739944), Q_UINT64_C(0x33b1091a8d9831c), Q_UINT64_C(0xbcb444793c9aa442), Q_UINT64_C(0x610301f6a75e25d6), Q_UINT64_C(0xcee84a19312ab772), Q_UINT64_C(0xca84e80ce1fb32a0), Q_UINT64_C(0x246a9b91d8c018cc), Q_UINT64_C(0x262c8dbef351b7a), Q_UINT64_C(0xfb1ff9f4c31a9f26), Q_UINT64_C(0xf0792a527dd73b63), Q_UINT64_C(0xf44f0208aff4ebdb), Q_UINT64_C(0x209bacbad03a0e47), Q_UINT64_C(0x976cae0727bcdd47), Q_UINT64_C(0xc6268f2a65b666ba), Q_UINT64_C(0x9ac2e7adb3078fd1), Q_UINT64_C(0x391b492cc69d3d90), Q_UINT64_C(0x731b43a7cb531413), Q_UINT64_C(0x25fd672d91f1910a), Q_UINT64_C(0x6b9f1577ed191584), Q_UINT64_C(0x9e98198a9b435198), Q_UINT64_C(0xf9211bec7f67b9b6), Q_UINT64_C(0x7184259d9eca2d52), Q_UINT64_C(0x89b34a0107893fe8), Q_UINT64_C(0xb31a7b5beb798123), Q_UINT64_C(0xae28248f42709eed), Q_UINT64_C(0x5dd7c34ab7d1d05e), Q_UINT64_C(0xc993fe8499e8729f) } , { Q_UINT64_C(0x8af2cf20821b1ed6), Q_UINT64_C(0xb3d45a42c1eba0b4), Q_UINT64_C(0xdab6b5908ca7b6a2), Q_UINT64_C(0x1877a332f18884e2), Q_UINT64_C(0x9efc385d3fc3f4fc), Q_UINT64_C(0xebf16323d388b3e), Q_UINT64_C(0x97b696a1e4ad73e), Q_UINT64_C(0x9ac23b1823568ae), Q_UINT64_C(0x370ed86a19d5269e), Q_UINT64_C(0x73339a44eb64246e), Q_UINT64_C(0xe3004dc320fe9fac), Q_UINT64_C(0x4c416001629dde1), Q_UINT64_C(0x929c2b1daef7a4c2), Q_UINT64_C(0xe084b4b411de4dec), Q_UINT64_C(0x7fd8093ccf4f057), Q_UINT64_C(0x87f63c8ce96ad1c5), Q_UINT64_C(0x7354e0263d16bdcb), Q_UINT64_C(0xe6383a502b96c3a6), Q_UINT64_C(0x7f2fffb963dca025), Q_UINT64_C(0x81fe69658e1c281e), Q_UINT64_C(0x54fad66539b919ac), Q_UINT64_C(0x881a8e64df80dd01), Q_UINT64_C(0x23aec86c61190a69), Q_UINT64_C(0x31e87ce13389adde), Q_UINT64_C(0xee8e6d85bb237cfc), Q_UINT64_C(0x709e7ad92346f2b0), Q_UINT64_C(0x4df70546f77dfdd6), Q_UINT64_C(0xbf3f90b542d637e1), Q_UINT64_C(0x333505b3d67af4c), Q_UINT64_C(0xe1e53fa45bc1f6cc), Q_UINT64_C(0xb50331b42af6890d), Q_UINT64_C(0xadbdac6c3be7eb14), Q_UINT64_C(0xb599a56d460c4819), Q_UINT64_C(0x90e68ce5334a496), Q_UINT64_C(0xde5a36b0ca29d6e), Q_UINT64_C(0xe1d83f7011b5495), Q_UINT64_C(0xb806b49cde676d1f), Q_UINT64_C(0x596415bff969e5ac), Q_UINT64_C(0x4ecb33f92391a99d), Q_UINT64_C(0x978b3cf87693394c), Q_UINT64_C(0x47b7f5d55b0c1b2f), Q_UINT64_C(0xadbda5d618bf4fc1), Q_UINT64_C(0xd50bc780121a16c6), Q_UINT64_C(0xc01c8629fc0b5906), Q_UINT64_C(0xc2e96408c1170dac), Q_UINT64_C(0xd00268c3c112dd6d), Q_UINT64_C(0xb44a2f9833b112b2), Q_UINT64_C(0x4ad98b014e331b82), Q_UINT64_C(0x960f27e9ca01dffb), Q_UINT64_C(0x2c87d28ce4ab8ce), Q_UINT64_C(0x1913e6fa55592377), Q_UINT64_C(0xb3fc07fd633094c5), Q_UINT64_C(0x28d8f3bc1149659), Q_UINT64_C(0x17e47e9fcaa101ab), Q_UINT64_C(0xec7c64d3f35a93a0), Q_UINT64_C(0xa5579af4ef028d6f), Q_UINT64_C(0xe866dfd47419c9e9), Q_UINT64_C(0x12a90901fd4c1c61), Q_UINT64_C(0x4613bfbb58c63015), Q_UINT64_C(0x42e4466423c4f286), Q_UINT64_C(0x92f6746ca2e50366), Q_UINT64_C(0x93002fb08d04a982), Q_UINT64_C(0xa7bc2dc031876fe3), Q_UINT64_C(0x621169ba9c39dc2b) } , { Q_UINT64_C(0x85a5c445a8c4baf5), Q_UINT64_C(0xee64b9c6584a9de8), Q_UINT64_C(0xdaa1ed0eba35645a), Q_UINT64_C(0x8f5910048cbca322), Q_UINT64_C(0xe570d3024996c3f), Q_UINT64_C(0xba4ad47b280f9de7), Q_UINT64_C(0x336b7645ac7d0244), Q_UINT64_C(0x74c46e492a70974c), Q_UINT64_C(0x3352c2984e263343), Q_UINT64_C(0xb13d1482d3318812), Q_UINT64_C(0xd8f384157b12b62d), Q_UINT64_C(0xde5eb19a00393c01), Q_UINT64_C(0xd882afd8cf70261a), Q_UINT64_C(0xa3c47c92d627ce3c), Q_UINT64_C(0xb53c09a30bab17c4), Q_UINT64_C(0xaec14792f9613a68), Q_UINT64_C(0xb06f91968cfc4f70), Q_UINT64_C(0xe577859b7affd561), Q_UINT64_C(0x61cc445d91fed085), Q_UINT64_C(0x2c43b923c3b6193c), Q_UINT64_C(0x9c3d4b4945169e8f), Q_UINT64_C(0xbdb629528c1fa4e3), Q_UINT64_C(0x765764f75e136a25), Q_UINT64_C(0x9d6876cc28c40323), Q_UINT64_C(0x4f6710cb56ff4e1d), Q_UINT64_C(0x67c4537ad1694c9e), Q_UINT64_C(0x2a398547bae7973c), Q_UINT64_C(0xa9a31125194853b4), Q_UINT64_C(0x481484b747893358), Q_UINT64_C(0x7159a6b0047670ff), Q_UINT64_C(0x2a20f6513c4c6164), Q_UINT64_C(0x8e4f9f6826a7d069), Q_UINT64_C(0xa8986bbb3a03b4be), Q_UINT64_C(0x2897848201586d82), Q_UINT64_C(0x4a350cfdbf731566), Q_UINT64_C(0xda2a5d4fcf86b91), Q_UINT64_C(0xc906ebab5484492b), Q_UINT64_C(0x15873698e510c12d), Q_UINT64_C(0x4d782314d1071fdd), Q_UINT64_C(0x3b33e279a51cda42), Q_UINT64_C(0x7316ba05e94a2760), Q_UINT64_C(0x2947dbd72b62eeee), Q_UINT64_C(0x994ee8778f5bb403), Q_UINT64_C(0x65ba34e9f6e6a886), Q_UINT64_C(0xf7048c8aaafeb0fb), Q_UINT64_C(0xdb6facf385a67bf9), Q_UINT64_C(0x55387477c8566d6b), Q_UINT64_C(0x8c73d9a9b40a182d), Q_UINT64_C(0x621dd5fb126b5231), Q_UINT64_C(0xcb57d791aa28cab4), Q_UINT64_C(0xd9c89d3f4662edaf), Q_UINT64_C(0xe41ee971856c1ad6), Q_UINT64_C(0x1e9842a9f9682f21), Q_UINT64_C(0x657435bd92007385), Q_UINT64_C(0x76ee8c371bb5adfe), Q_UINT64_C(0x457d2ebeb1b7bc3a), Q_UINT64_C(0x5ced48c3073d82ae), Q_UINT64_C(0x5009cd7eac1805f1), Q_UINT64_C(0xd58efb58cb715c37), Q_UINT64_C(0xe1c8c503ec7e1592), Q_UINT64_C(0x932b5eebaea84148), Q_UINT64_C(0x477dd65b75fec5a4), Q_UINT64_C(0xc1f70dbb2324b11d), Q_UINT64_C(0x840bec343f01db29) } , { Q_UINT64_C(0xc9154a3054cb7ed7), Q_UINT64_C(0x4094ac226115302), Q_UINT64_C(0x40a17b1b3a996c03), Q_UINT64_C(0x6b075c0b979ef1e0), Q_UINT64_C(0x71944990ac67d03f), Q_UINT64_C(0x963bec4af2a26b43), Q_UINT64_C(0x26ff8b7968bc4c68), Q_UINT64_C(0x5b9e4399852cf357), Q_UINT64_C(0x44c8e4f80f6729ac), Q_UINT64_C(0x93fe2302cd9550e1), Q_UINT64_C(0xd1f2e2ff8960943), Q_UINT64_C(0x25eb08709be821f6), Q_UINT64_C(0x9ab982fcd9f28104), Q_UINT64_C(0xcdd1ec49e9360804), Q_UINT64_C(0x79ad756ecb367f06), Q_UINT64_C(0x89eb5e0836cf62b0), Q_UINT64_C(0x4ac95d9764704e3), Q_UINT64_C(0xf7882147c928a4c4), Q_UINT64_C(0xc7ce5faa50675679), Q_UINT64_C(0x7e4c3e3103de876d), Q_UINT64_C(0x35ae2a6974cacdad), Q_UINT64_C(0xaf67df6b23302a45), Q_UINT64_C(0x8d8dd335451b7a47), Q_UINT64_C(0x44beddf622d3b188), Q_UINT64_C(0xf5b6409a9f699b45), Q_UINT64_C(0x9f5188f178ebc7ed), Q_UINT64_C(0x8ceb2ff434d23c0e), Q_UINT64_C(0x83f25956f402e601), Q_UINT64_C(0x6f4d13a4f0cf30b6), Q_UINT64_C(0xb1c0502c328b514e), Q_UINT64_C(0x7a8a8ebd4ab58aa6), Q_UINT64_C(0xec0573d9d6a20975), Q_UINT64_C(0x11e38f6467dbfe67), Q_UINT64_C(0xfc4e5be49eead763), Q_UINT64_C(0x858cd5c130a8fc51), Q_UINT64_C(0x4465d21d7b916424), Q_UINT64_C(0xd92bf4909d34330f), Q_UINT64_C(0x74cb5f744b0122d0), Q_UINT64_C(0x6a3b845be9db821c), Q_UINT64_C(0x5afff0e881a8f107), Q_UINT64_C(0x4b4249fb7ba7423d), Q_UINT64_C(0x3ad9f8d8e8eed5), Q_UINT64_C(0xeb1c98f6e09750de), Q_UINT64_C(0x9daf6ca66119a894), Q_UINT64_C(0x848380da2cdc0a2), Q_UINT64_C(0x2e1af306216802d4), Q_UINT64_C(0x19abddf45e5b7ea4), Q_UINT64_C(0xb6c53281ef196767), Q_UINT64_C(0xc54c385bed2ce3b2), Q_UINT64_C(0xa817979decc2b27c), Q_UINT64_C(0x5a2a2096cae78195), Q_UINT64_C(0xa7ebee9dbf8345f6), Q_UINT64_C(0x65d51a6270c4c3dc), Q_UINT64_C(0x7da039225b9ac0e8), Q_UINT64_C(0x178f6351e8aae464), Q_UINT64_C(0xfdb1a3f8f880811b), Q_UINT64_C(0xbba52f982ead6dee), Q_UINT64_C(0x522d6eabb42098c3), Q_UINT64_C(0xd2d67588acc60fd2), Q_UINT64_C(0xab6184a29a26d467), Q_UINT64_C(0xfb2ce53d12eec200), Q_UINT64_C(0x1edcde41da3b9182), Q_UINT64_C(0x4529c0b5807e70a5), Q_UINT64_C(0x6177b11b182a5b83) } , { Q_UINT64_C(0xf4f8f7cc3a55fa7f), Q_UINT64_C(0xbcc30e2a1ae5a6c4), Q_UINT64_C(0x3a8b696603dfdd12), Q_UINT64_C(0xc51390eed137f8dc), Q_UINT64_C(0xdf897bf74b7fefb6), Q_UINT64_C(0x616e5b1d937170b3), Q_UINT64_C(0xe10f9783e6a1f315), Q_UINT64_C(0x81c9dceb7b9f923), Q_UINT64_C(0xed8ad207fa403596), Q_UINT64_C(0x9bce7c7d0ab97518), Q_UINT64_C(0xfc06351ced68604), Q_UINT64_C(0xc9e6273f2ec6e763), Q_UINT64_C(0xead5ef41ca0957b4), Q_UINT64_C(0xdf6f1fe61c62a293), Q_UINT64_C(0xf3995f29904bc412), Q_UINT64_C(0xf83305440895793b), Q_UINT64_C(0x32b29c3f5467e863), Q_UINT64_C(0x3ed4bf86f70fc4fa), Q_UINT64_C(0x886f78f6d8ccf859), Q_UINT64_C(0x14b4408582991ee0), Q_UINT64_C(0x2ff64d5a20bafe98), Q_UINT64_C(0x2c6a9f5a5b152675), Q_UINT64_C(0x749d77156c4a125f), Q_UINT64_C(0xa18c8f52fef0a2d7), Q_UINT64_C(0xf4a189bca3c87ac0), Q_UINT64_C(0xb95bffaf868dbdff), Q_UINT64_C(0xc88c3b3e52bf009c), Q_UINT64_C(0x5733f812439ad9c), Q_UINT64_C(0x169b0070baec77aa), Q_UINT64_C(0x49744d1aa6badab1), Q_UINT64_C(0xbf05ed4f17ea10d3), Q_UINT64_C(0x4b85feb634951e17), Q_UINT64_C(0xe4e039fc6cde7a5b), Q_UINT64_C(0x2a3e9b8d701289ab), Q_UINT64_C(0x3e18795e13a27dad), Q_UINT64_C(0xd75fc174992fc789), Q_UINT64_C(0x73d2fb3f725c060f), Q_UINT64_C(0x57f60d1c5c2403b8), Q_UINT64_C(0xdec6b7f4069dc977), Q_UINT64_C(0x7f31ea307d83b668), Q_UINT64_C(0xec7a56b5d3763edf), Q_UINT64_C(0x30199b8d81721c1c), Q_UINT64_C(0xef54d9d354deb3c5), Q_UINT64_C(0xe86119665f61c11d), Q_UINT64_C(0x572a32643122fb1c), Q_UINT64_C(0x6ba9658c371e003b), Q_UINT64_C(0xad015a0f08f4a9cb), Q_UINT64_C(0xd26728ca51cbccb6), Q_UINT64_C(0xa3865b917a21bee1), Q_UINT64_C(0x6d35946ba6b03017), Q_UINT64_C(0x4fc223cf3e1cd5a2), Q_UINT64_C(0xb3f2237cd7833832), Q_UINT64_C(0x86ab980f57a8df5), Q_UINT64_C(0x9a58e0c0091f362e), Q_UINT64_C(0x757cd2e0e53ba4b9), Q_UINT64_C(0xaf111d5fabce6a6f), Q_UINT64_C(0x1465f4f274997b15), Q_UINT64_C(0x3462e23246eb0d12), Q_UINT64_C(0x726452adff1006fd), Q_UINT64_C(0xac499e66fd93b059), Q_UINT64_C(0x4ecbaf6b99a2e56a), Q_UINT64_C(0x1041c97f21469fbf), Q_UINT64_C(0x6dda538750a36a56), Q_UINT64_C(0x94dca9a98cc1d99f) } , { Q_UINT64_C(0x77a211638cd87dcd), Q_UINT64_C(0xa6a31bd50991eaf4), Q_UINT64_C(0x11bfa3ec8c026b3), Q_UINT64_C(0x2cb470f801cbddfe), Q_UINT64_C(0x98dbad4e585644f2), Q_UINT64_C(0x46290af12fdc6634), Q_UINT64_C(0x9b247c6a5a0a2d77), Q_UINT64_C(0xd6bebbf2b9869edf), Q_UINT64_C(0xa4aae898140b992c), Q_UINT64_C(0x9d8a5a9cb6029dec), Q_UINT64_C(0x2d2ad61b40e30884), Q_UINT64_C(0xa90247f82bd087fa), Q_UINT64_C(0x96bf2d094e665fca), Q_UINT64_C(0xe2a49eae6dc4add), Q_UINT64_C(0x36bcf9022326df31), Q_UINT64_C(0x3d2c88e91a86b1b9), Q_UINT64_C(0x3e8841055bc756c2), Q_UINT64_C(0x4812d804754aa522), Q_UINT64_C(0xc09a37b9b5a60a6c), Q_UINT64_C(0x86b3acf3725828ce), Q_UINT64_C(0xab73f4897f4edcc1), Q_UINT64_C(0xcd0599eb02c15a3b), Q_UINT64_C(0x122c3fb7f17f1693), Q_UINT64_C(0x3efa1a3de765fe3), Q_UINT64_C(0x3c744c64f6cd0fd0), Q_UINT64_C(0xffb8a18a638c32df), Q_UINT64_C(0xce2d709075b56496), Q_UINT64_C(0xec13bd7bb907c28d), Q_UINT64_C(0x1e9cbb46ed2b79f8), Q_UINT64_C(0x6150e6c619d03a47), Q_UINT64_C(0xf8b24b23e5bba1e9), Q_UINT64_C(0x5b23491415c5731), Q_UINT64_C(0xac6fdf0b875d6f4d), Q_UINT64_C(0x9a53e5fefae9bf64), Q_UINT64_C(0x4550a6a211125ad8), Q_UINT64_C(0xc85dc7123cd9c63f), Q_UINT64_C(0xc859f0a16091cef6), Q_UINT64_C(0xf1f596bb7fcbeb58), Q_UINT64_C(0x9a97173efcf08eaf), Q_UINT64_C(0x1b02983108490082), Q_UINT64_C(0x97d4a8c6501481ed), Q_UINT64_C(0x39e16a2ee1cf0a8e), Q_UINT64_C(0x60928f452edff88a), Q_UINT64_C(0x8c5d5ddcaf147682), Q_UINT64_C(0x514eab759624319c), Q_UINT64_C(0x282d95ee564bbc7d), Q_UINT64_C(0x30c4098a2c0ea9b7), Q_UINT64_C(0x8d4be2f3c4e2c7ed), Q_UINT64_C(0xca08aa88874dc7c5), Q_UINT64_C(0xef5770f56f23ab3f), Q_UINT64_C(0xb86cc826b8a4f483), Q_UINT64_C(0xcef35fd1ba58fbf1), Q_UINT64_C(0x1c4c4d5225c6a03c), Q_UINT64_C(0x540ae3e26cd6f2e3), Q_UINT64_C(0x73c6f2e85dc5791), Q_UINT64_C(0x5a7c921272b60cd6), Q_UINT64_C(0x51e77f35b26b0f65), Q_UINT64_C(0x7873076f894c1741), Q_UINT64_C(0x58bb95f718869463), Q_UINT64_C(0x98d2c3df1b1057e9), Q_UINT64_C(0xcd1b5c04053b94f1), Q_UINT64_C(0x520ef737974a25a), Q_UINT64_C(0xb04004966560cda8), Q_UINT64_C(0xd9c460639fff593a) } , { Q_UINT64_C(0x8f84cf5e9c63a4e4), Q_UINT64_C(0x9f9cdb21e4265481), Q_UINT64_C(0xae76dce90166fcb1), Q_UINT64_C(0x2c00978be7e946e1), Q_UINT64_C(0x3edb6548e399ea23), Q_UINT64_C(0x9a2eab067b1d6389), Q_UINT64_C(0x3368d04265078033), Q_UINT64_C(0x16c8657810cb31be), Q_UINT64_C(0x8152a38826988196), Q_UINT64_C(0xff09a25603bc3685), Q_UINT64_C(0x9da9a95a084ada86), Q_UINT64_C(0x686d71730d08a5f5), Q_UINT64_C(0x9b7122f7a659c196), Q_UINT64_C(0x79cafe1cfd745ce9), Q_UINT64_C(0x450fcd2b936b21ba), Q_UINT64_C(0x65e176d0f1faaba0), Q_UINT64_C(0x9defe22c226a2937), Q_UINT64_C(0x312d522443582b81), Q_UINT64_C(0x27fd7d290abc8791), Q_UINT64_C(0x9cb424b4689b1085), Q_UINT64_C(0xb1ee7d9bc7ed638), Q_UINT64_C(0x8c4a47129f11b13e), Q_UINT64_C(0x81f99bd9881ec40d), Q_UINT64_C(0x18ca6862cc295b36), Q_UINT64_C(0xd3a012a193a0670e), Q_UINT64_C(0x38f322136e477422), Q_UINT64_C(0xd57c9805da53f9b), Q_UINT64_C(0x7c719d808b472f38), Q_UINT64_C(0xd2ebb0c1c120fd43), Q_UINT64_C(0xbafd25ccacada6b9), Q_UINT64_C(0x7a3b210b35402d94), Q_UINT64_C(0x798eecdce02da12), Q_UINT64_C(0xf7dc1295b2fdacf2), Q_UINT64_C(0x72676a76edc34f5e), Q_UINT64_C(0x2e7ab868cb80bd96), Q_UINT64_C(0xe6472bce9a471812), Q_UINT64_C(0x6dabeca8ff13c4ab), Q_UINT64_C(0x49a6a9802cf4c7e6), Q_UINT64_C(0x488851cea3bc5b56), Q_UINT64_C(0xa0036e7d09b73710), Q_UINT64_C(0x2bebc5c27d8b5075), Q_UINT64_C(0x787f3e77a964398a), Q_UINT64_C(0x1ce33aa448409dbe), Q_UINT64_C(0x905631255b7dd08f), Q_UINT64_C(0x197ec96e161d61b7), Q_UINT64_C(0xf3ee87a872c7b156), Q_UINT64_C(0x6496ab32fb360802), Q_UINT64_C(0xf7bd02665d4b2833), Q_UINT64_C(0xbf1dd354e1c16673), Q_UINT64_C(0xab7a42f389c21b59), Q_UINT64_C(0xfeeaf54f69f2c5dd), Q_UINT64_C(0xb2805d02045d2527), Q_UINT64_C(0x428f1491b65296fc), Q_UINT64_C(0xc458fec8573b6b2f), Q_UINT64_C(0x191695de290ddef8), Q_UINT64_C(0x59384d05101a51f9), Q_UINT64_C(0xb5e5973e3e6c271b), Q_UINT64_C(0xd374d2d6d48885fb), Q_UINT64_C(0x750ed047a2910e3b), Q_UINT64_C(0x23c4d2f89df98083), Q_UINT64_C(0x82ccb3a7fbd0d688), Q_UINT64_C(0x8e3055837bd395ab), Q_UINT64_C(0xe9862968513801e4), Q_UINT64_C(0xf30e1f7924b5059f) } , { Q_UINT64_C(0xaef9214a3dafaebb), Q_UINT64_C(0x595359d437555f11), Q_UINT64_C(0x864b460c3542867d), Q_UINT64_C(0xcfef6cc115b6c581), Q_UINT64_C(0x5dad64e511cef43a), Q_UINT64_C(0x87a312b6c386ccdf), Q_UINT64_C(0x316c5cf705464792), Q_UINT64_C(0xc86136ea872d8560), Q_UINT64_C(0x8a3df4dc1a5f51e8), Q_UINT64_C(0x9bae5a4593329914), Q_UINT64_C(0xaa371c7ee343e4ef), Q_UINT64_C(0xc4c973438fac7798), Q_UINT64_C(0x8e1c4f7ca8b63684), Q_UINT64_C(0x201cbdb1165441ca), Q_UINT64_C(0x96b26b38b840a691), Q_UINT64_C(0x68979d345cbe4394), Q_UINT64_C(0xf4ea3459a936a89), Q_UINT64_C(0xfb1adf39decbe51c), Q_UINT64_C(0x6675f542d506b2b7), Q_UINT64_C(0xffd179dc8b371e03), Q_UINT64_C(0xb26babad603cda4c), Q_UINT64_C(0xd85321c6d903fb5c), Q_UINT64_C(0x98f47c174e79a448), Q_UINT64_C(0x5eea28cf3254b050), Q_UINT64_C(0x24aa86493ee408ed), Q_UINT64_C(0x6e7f7f59139f0ef1), Q_UINT64_C(0x45a7fff92512be7c), Q_UINT64_C(0x4020cd989e2ad493), Q_UINT64_C(0x38e3864a180f2c82), Q_UINT64_C(0x3cd439786f924cf1), Q_UINT64_C(0x43be37dd084d404c), Q_UINT64_C(0xf661aac05df616fd), Q_UINT64_C(0x18a8112595332b81), Q_UINT64_C(0xfa38986fcce991c4), Q_UINT64_C(0x3fd06f80d4faabed), Q_UINT64_C(0xf5d2da68b6e592f6), Q_UINT64_C(0x559cfcb55d4d4495), Q_UINT64_C(0xe8e8e2b3c886ef82), Q_UINT64_C(0x8056a673a349f583), Q_UINT64_C(0x30233c3671d552fe), Q_UINT64_C(0xa6f0f430cb09b065), Q_UINT64_C(0xd359b10c11bc1b48), Q_UINT64_C(0xe05e58bd2e1cd9dd), Q_UINT64_C(0xf392cce8c43c2c9b), Q_UINT64_C(0x137f2f231cf7dd04), Q_UINT64_C(0x1b4d78fcc9f30645), Q_UINT64_C(0xae3f8cfecaec81cb), Q_UINT64_C(0x1e09828827d73bb), Q_UINT64_C(0x124ef86cea170d67), Q_UINT64_C(0xf3187a792ae2a11b), Q_UINT64_C(0x2592985dee9a14bc), Q_UINT64_C(0x10232632e736552f), Q_UINT64_C(0x8b83551daa92ef94), Q_UINT64_C(0xf75a50e2e509d038), Q_UINT64_C(0x3e19775a722b635), Q_UINT64_C(0x6687bda454e55cc2), Q_UINT64_C(0x88f6ba2fc53221b0), Q_UINT64_C(0x86a8fb4ef53fc628), Q_UINT64_C(0xc26d0e5f1dea6150), Q_UINT64_C(0xa0d2a833e75ff7a), Q_UINT64_C(0x5dedefd219e31d97), Q_UINT64_C(0x1639521ac79f991c), Q_UINT64_C(0xb693309c5a6696a1), Q_UINT64_C(0xb34ef308c176dacd) } , { Q_UINT64_C(0x8c0e48d578d0c62e), Q_UINT64_C(0xefb595c2274f8e7), Q_UINT64_C(0xb99a38710cca949f), Q_UINT64_C(0xcd2bcb6a1ce8939), Q_UINT64_C(0xc36c1bcef3b7132e), Q_UINT64_C(0xd98f8098e57c3ade), Q_UINT64_C(0x8d60d26082cc5e66), Q_UINT64_C(0x6ed67083a0986432), Q_UINT64_C(0xf0c691588aea09a4), Q_UINT64_C(0xf278dfa798343aa5), Q_UINT64_C(0x4251301408454553), Q_UINT64_C(0xc13f48761eae2cdf), Q_UINT64_C(0x1db502b921181744), Q_UINT64_C(0x51ae72db5efb5369), Q_UINT64_C(0x603ba05f5f23e864), Q_UINT64_C(0x18fa1e0c10916b38), Q_UINT64_C(0xb72dc2d7ed91b4bc), Q_UINT64_C(0x749741fd44ab2ec), Q_UINT64_C(0x598332aeab692676), Q_UINT64_C(0x2ba658fd0178969b), Q_UINT64_C(0x7604714f9a9fa83d), Q_UINT64_C(0x406b825f315fb561), Q_UINT64_C(0x48e0c576ec9ac891), Q_UINT64_C(0x96dc2caa168b8d80), Q_UINT64_C(0xfc02936de85bc77e), Q_UINT64_C(0xc9d8d730a2282b25), Q_UINT64_C(0x42ef1929d997a68b), Q_UINT64_C(0x6d4be421a819f8ea), Q_UINT64_C(0x7243d531e9d6d82f), Q_UINT64_C(0x8a45d102af05a8e9), Q_UINT64_C(0x5a46dffe3305cd02), Q_UINT64_C(0xaf414fd9b8d3e493), Q_UINT64_C(0x5fac96743afe163d), Q_UINT64_C(0x2ecbfb6e3ee6f398), Q_UINT64_C(0x53246a06bda62a84), Q_UINT64_C(0x46751f92ef74413f), Q_UINT64_C(0xf4df091448d0e5ad), Q_UINT64_C(0xb98a823a9e7d850c), Q_UINT64_C(0x4d2cb5bab4fa993e), Q_UINT64_C(0xd227213a8457a9d9), Q_UINT64_C(0x63930e3593b0083c), Q_UINT64_C(0x1f71bd25c753a781), Q_UINT64_C(0x18fe4194dad76930), Q_UINT64_C(0x34aa4e5ef625b84), Q_UINT64_C(0x8da56b3f5da4c701), Q_UINT64_C(0x1dcc1864dc2d55a2), Q_UINT64_C(0x48abe8723804b87), Q_UINT64_C(0xc9f6b7240f58cb84), Q_UINT64_C(0x1852e3c6c798c31a), Q_UINT64_C(0xccfb12a58600ff6f), Q_UINT64_C(0xdf2463ed1e69c6cf), Q_UINT64_C(0xf392029cd6251877), Q_UINT64_C(0xa584d536566f1d65), Q_UINT64_C(0x66e3156dd8742bc6), Q_UINT64_C(0x571f051721c6de3b), Q_UINT64_C(0x4c4bf4e34fa92df6), Q_UINT64_C(0xe0e5fee5152a5265), Q_UINT64_C(0xe4776589d3e12ad2), Q_UINT64_C(0x11f3605f0f87408b), Q_UINT64_C(0x2936cf11d29a4153), Q_UINT64_C(0x51c95b7f0e953cda), Q_UINT64_C(0xa44c3656302546a5), Q_UINT64_C(0x240fcfb80ee8671b), Q_UINT64_C(0x5b9f78b47b5e17e9) } , { Q_UINT64_C(0xb259769216954272), Q_UINT64_C(0x6aa6880f1589864a), Q_UINT64_C(0x4affebf5b942a96f), Q_UINT64_C(0x8b50441a2ee48136), Q_UINT64_C(0x185d0f5bfcdc8890), Q_UINT64_C(0x75448f1782032637), Q_UINT64_C(0x233ec58165e74b46), Q_UINT64_C(0xd17539644d0e1301), Q_UINT64_C(0xbde253c57e9bac3a), Q_UINT64_C(0x527f20a177e0ed4b), Q_UINT64_C(0xcdab268776e292ac), Q_UINT64_C(0x409f72f4d38b7948), Q_UINT64_C(0x7922923f76d74c7d), Q_UINT64_C(0x6b9f4d13d48832f7), Q_UINT64_C(0x6415c44d69a95b9c), Q_UINT64_C(0xf30b1c2bf0173d68), Q_UINT64_C(0x16300ca2f823614c), Q_UINT64_C(0x866eefbda718e04c), Q_UINT64_C(0xc88b32d088f799ca), Q_UINT64_C(0x113017b991c45d50), Q_UINT64_C(0x64d6fd22d032a91c), Q_UINT64_C(0x35bff9b98443df5), Q_UINT64_C(0x73626b81adb788b4), Q_UINT64_C(0x58a324553f1d5a4f), Q_UINT64_C(0x879cd6e046d5199e), Q_UINT64_C(0x844b95c1b35a886), Q_UINT64_C(0x32fe6062572b1af6), Q_UINT64_C(0x7ba66b270783da0a), Q_UINT64_C(0x724a9c4e4f2d0511), Q_UINT64_C(0x33641c19cdefa364), Q_UINT64_C(0x5f2dbe6cbbf4f98d), Q_UINT64_C(0xa2feb5bd2f354d51), Q_UINT64_C(0xe25e7dbb6f55080), Q_UINT64_C(0x3c955a6b617a923c), Q_UINT64_C(0xeaee6919b1a77668), Q_UINT64_C(0xbfc8c5bc72fe4f32), Q_UINT64_C(0x2bb960a249094616), Q_UINT64_C(0x7d101382b9dbf1ff), Q_UINT64_C(0x1fa79e3d05328128), Q_UINT64_C(0x56fb686c927681ef), Q_UINT64_C(0x522d3bb761678d90), Q_UINT64_C(0x1e37a31517264bd7), Q_UINT64_C(0xbf5bf9f64805e9ca), Q_UINT64_C(0xabaa35e4d8fc7b29), Q_UINT64_C(0x564a1669e374d841), Q_UINT64_C(0xf3894a340ca98b83), Q_UINT64_C(0xa4aec17e5565f07), Q_UINT64_C(0xa4546e38d3257fe7), Q_UINT64_C(0x29ff24bb8ee83a4), Q_UINT64_C(0x6cc60098585c2ef0), Q_UINT64_C(0x9c3bfbddb7432847), Q_UINT64_C(0x28935c25e5e93c39), Q_UINT64_C(0xfc006fa76f71e429), Q_UINT64_C(0x2e596b5a1fa162ba), Q_UINT64_C(0xe6419045dcc9a8c8), Q_UINT64_C(0x6b766b5fc1e2ab4d), Q_UINT64_C(0x8a1ad6a33fb25cf0), Q_UINT64_C(0xf232c4fa12425059), Q_UINT64_C(0xf2756284b64195a9), Q_UINT64_C(0x88a0aee4198a2795), Q_UINT64_C(0x781e9e741c2fc4f6), Q_UINT64_C(0x57a8ea4b4c76573), Q_UINT64_C(0xabea748efb8faf25), Q_UINT64_C(0xedb2d1cd3e3452df) } }; const quint64 RAND_WHITE_CASTLING_KS2 = Q_UINT64_C(0x41309eb017971c28); const quint64 RAND_WHITE_CASTLING_QS2 = Q_UINT64_C(0xd7924133b5f3c9e4); const quint64 RAND_BLACK_CASTLING_KS2 = Q_UINT64_C(0x6a61312ab2c41723); const quint64 RAND_BLACK_CASTLING_QS2 = Q_UINT64_C(0x23831c2de80baebf); const quint64 RAND_EN_PASSANT2[MAX_EN_PASSANT_SQUARES] = { Q_UINT64_C(0xdf435687057f4e6d), Q_UINT64_C(0x26024cbae9663f9d), Q_UINT64_C(0xbc9d578c9dde4f01), Q_UINT64_C(0x6a35051a173b7c2e), Q_UINT64_C(0x9bd04da145b2e7e4), Q_UINT64_C(0x44c1b954602c8d4f), Q_UINT64_C(0xb6ac54b27a14dd46), Q_UINT64_C(0x1d612c4a46c15365), Q_UINT64_C(0x3084d5ff1a7e2c10), Q_UINT64_C(0x85cac611ba340e15), Q_UINT64_C(0x15110f44ab651ff8), Q_UINT64_C(0x422a43a9d2417495), Q_UINT64_C(0xced6af0eae46e908), Q_UINT64_C(0x90a7ba36946b98d9), Q_UINT64_C(0x73a093d169724196), Q_UINT64_C(0xcb51354722fb743b) }; const quint64 RAND_TO_MOVE2 = Q_UINT64_C(0xaaed59a913f77582); const quint64 RAND_ECO_SQUARE[MAX_SQUARES] = { Q_UINT64_C(0x85c5df427ee97b66), Q_UINT64_C(0x8b08f0ba914f433b), Q_UINT64_C(0xc550169d3baf1bd0), Q_UINT64_C(0xc9e0d79a7ae18874), Q_UINT64_C(0xb8f5baef849cf8f3), Q_UINT64_C(0x9f543f73fdc3a0c6), Q_UINT64_C(0xf96811b98c36b78f), Q_UINT64_C(0x2eb88c6b12f5f076), Q_UINT64_C(0xb54536a38c33ae1b), Q_UINT64_C(0x49a8c7c27199d109), Q_UINT64_C(0x8ad6d839bd5fa5ff), Q_UINT64_C(0xc41dfc777cd078eb), Q_UINT64_C(0x26b95baa2629ff66), Q_UINT64_C(0xd6ba43a96f82e6fc), Q_UINT64_C(0x1b0b625e82c3b78d), Q_UINT64_C(0x55a429fb2efec7df), Q_UINT64_C(0x5ce3407a0e1eb8e7), Q_UINT64_C(0x40c40f1c019ffb71), Q_UINT64_C(0xf0d832a2c9d1a233), Q_UINT64_C(0x8476df43a961757a), Q_UINT64_C(0x61278190b7beee35), Q_UINT64_C(0x59c7eef14f15d557), Q_UINT64_C(0x5c76f4e6cbbe8cb1), Q_UINT64_C(0xd92014806ee5afe6), Q_UINT64_C(0x8d26aed794473561), Q_UINT64_C(0xaeab0f68699bc452), Q_UINT64_C(0xc2741575ba367181), Q_UINT64_C(0xd93525d8a810ed7b), Q_UINT64_C(0x2e514d22825b10d7), Q_UINT64_C(0x7d0ad041082c5eec), Q_UINT64_C(0x102771aee550e66d), Q_UINT64_C(0x397cef95642a6d30), Q_UINT64_C(0x56b8ae76234634b3), Q_UINT64_C(0x46ad9a921630b961), Q_UINT64_C(0x73fdf3f5f2bb9bb4), Q_UINT64_C(0xad7dc93026363c7f), Q_UINT64_C(0x10c17d77783547f3), Q_UINT64_C(0xc32038a65f19e4d4), Q_UINT64_C(0x106029125ba81485), Q_UINT64_C(0xef43147b10c5b783), Q_UINT64_C(0x9a25da8b7b3d02ac), Q_UINT64_C(0xdb0a4386ffcb973e), Q_UINT64_C(0xdea7acea1c0ff0cb), Q_UINT64_C(0xc0807f57db0a5b50), Q_UINT64_C(0xfd5d58bb8e7c7d26), Q_UINT64_C(0x54dc6b07e854d475), Q_UINT64_C(0x6c7da143dae253b9), Q_UINT64_C(0xf2267b971d787309), Q_UINT64_C(0x417407cdbf7fff86), Q_UINT64_C(0x8a9cb857e122219c), Q_UINT64_C(0x8e6c3444862bebed), Q_UINT64_C(0x17b4c866f02e3bee), Q_UINT64_C(0x7d21fbbcfa260d11), Q_UINT64_C(0x4ce19a879a1f0288), Q_UINT64_C(0x7c792043e58017be), Q_UINT64_C(0xe80476db133e01e2), Q_UINT64_C(0x70a20639306414e1), Q_UINT64_C(0x2aab26e0a7eb2dcf), Q_UINT64_C(0x300d23b842a58bf6), Q_UINT64_C(0x84804ddd113e164d), Q_UINT64_C(0xce912ec49285fb5f), Q_UINT64_C(0x73965253e568362e), Q_UINT64_C(0x137f60642df2b0ca), Q_UINT64_C(0xd5eec3fd4c28d85a) }; #endif ./chessx-1.3.2/src/database/result.cpp000644 000765 000024 00000001661 12510715746 017311 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2015 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "result.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER QString resultString(Result result) { switch(result) { case WhiteWin: return "1-0"; case Draw: return "1/2-1/2"; case BlackWin: return "0-1"; case ResultUnknown: default: return "*"; } } Result ResultFromString(QString res) { if(res.startsWith("1/2")) { return Draw; } else if(res.startsWith('1')) { return WhiteWin; } else if(res.startsWith('0')) { return BlackWin; } else { return ResultUnknown; } } ./chessx-1.3.2/src/database/result.h000644 000765 000024 00000000757 12510715746 016763 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2015 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef RESULT_H #define RESULT_H #include enum Result { ResultUnknown, WhiteWin, Draw, BlackWin }; Result ResultFromString(QString res); /** Returns a string representation of a result */ QString resultString(Result result); #endif // RESULT_H ./chessx-1.3.2/src/database/search.cpp000644 000765 000024 00000017210 12510715746 017235 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 Marius Roets * * (C) 2005-2006 William Hoggarth * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include "search.h" #include "database.h" #include "filter.h" #include "tags.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER /* Search abstract base clase * ********************************/ Search::Search() { } Search::~Search() { } void Search::setDatabase(Database* database) { m_database = database; } /* NullSearch Class * *********************/ NullSearch::NullSearch() { } NullSearch::~NullSearch() { } NullSearch* NullSearch::clone() const { return new NullSearch; } Search::Type NullSearch::type() const { return Search::NullSearch; } int NullSearch::matches(GameId) { return false; } /* PositionSearch Class * ******************************/ PositionSearch::PositionSearch() { } PositionSearch::PositionSearch(Database* db, const Board& position) { setPosition(position); m_database = db; } PositionSearch* PositionSearch::clone() const { return new PositionSearch(*this); } PositionSearch::~PositionSearch() { } Search::Type PositionSearch::type() const { return Search::PositionSearch; } Board PositionSearch::position() const { return m_position; } void PositionSearch::setPosition(const Board& position) { m_position = position; } int PositionSearch::matches(GameId index) { m_database->loadGameMoves(index, m_game); return (m_game.findPosition(m_position) != NO_MOVE); } /* EloSearch class * **********************/ EloSearch::EloSearch(Database* database, int minWhiteElo, int maxWhiteElo, int minBlackElo, int maxBlackElo) { m_database = database; setEloSearch(minWhiteElo, maxWhiteElo, minBlackElo, maxBlackElo); initialize(); } EloSearch* EloSearch::clone() const { return new EloSearch(*this); } EloSearch::~EloSearch() { } void EloSearch::initialize() { m_matches = m_database->index()->listInRange(TagNameWhiteElo, m_minWhiteElo, m_maxWhiteElo); m_matches &= m_database->index()->listInRange(TagNameBlackElo, m_minBlackElo, m_maxBlackElo); } void EloSearch::setEloSearch(int minWhiteElo, int maxWhiteElo, int minBlackElo, int maxBlackElo) { m_minWhiteElo = minWhiteElo; m_maxWhiteElo = maxWhiteElo; m_minBlackElo = minBlackElo; m_maxBlackElo = maxBlackElo; initialize(); } Search::Type EloSearch::type() const { return Search::EloSearch; } int EloSearch::maxWhiteElo() const { return m_maxWhiteElo; } int EloSearch::minWhiteElo() const { return m_minWhiteElo; } int EloSearch::maxBlackElo() const { return m_maxBlackElo; } int EloSearch::minBlackElo() const { return m_minBlackElo; } int EloSearch::matches(GameId index) { return m_matches[index]; } /* DateSearch class * **********************/ DateSearch::DateSearch() { m_minDate = m_maxDate = PartialDate(); } DateSearch::DateSearch(PartialDate minDate, PartialDate maxDate) { Q_ASSERT(minDate < maxDate); m_minDate = minDate; m_maxDate = maxDate; } DateSearch* DateSearch::clone() const { return new DateSearch(*this); } DateSearch::~DateSearch() {} Search::Type DateSearch::type() const { return Search::DateSearch; } PartialDate DateSearch::minDate() const { return m_minDate; } PartialDate DateSearch::maxDate() const { return m_maxDate; } void DateSearch::setDateRange(PartialDate minDate, PartialDate maxDate) { Q_ASSERT(minDate < maxDate); m_minDate = minDate; m_maxDate = maxDate; } int DateSearch::matches(GameId index) { m_database->loadGameHeaders(index, m_game); PartialDate date(m_game.tag("Date")); return (date >= m_minDate && date <= m_maxDate); } /* TagSearch class * ***************/ TagSearch::TagSearch(Database* database, const QString& tag, const QString& value, bool partial) { m_database = database; m_tagName = tag; m_value = value; m_bPartial = partial; initialize(); } TagSearch::TagSearch(Database* database, const QString& tag, const QString& value, const QString& value2) { m_database = database; m_tagName = tag; m_value = value; m_value2 = value2; m_bPartial = false; m_matches = m_database->index()->listInRange(m_tagName, m_value, m_value2); } TagSearch::TagSearch(Database* database, const QString& tag, int value, int value2) { m_database = database; m_tagName = tag; m_value = QString::number(value); m_value2 = QString::number(value2); m_bPartial = false; m_matches = m_database->index()->listInRange(m_tagName, value, value2); } void TagSearch::initialize() { if(m_bPartial) { m_matches = m_database->index()->listPartialValue(m_tagName, m_value); } else { m_matches = m_database->index()->listContainingValue(m_tagName, m_value); } } TagSearch* TagSearch::clone() const { return new TagSearch(*this); } TagSearch::~TagSearch() { } Search::Type TagSearch::type() const { return Search::TagSearch; } QString TagSearch::tag() const { return m_tagName; } QString TagSearch::value() const { return m_value; } QString TagSearch::minValue() const { return m_value; } QString TagSearch::maxValue() const { return m_value2; } void TagSearch::setTag(const QString& tag) { m_tagName = tag; initialize(); } void TagSearch::setValue(const QString& value) { m_value = value; initialize(); } int TagSearch::matches(GameId index) { return m_matches[index]; } /* Number class * ***************/ NumberSearch::NumberSearch(Database* database, GameId start, GameId end) { m_database = database; setRange(start, end); } NumberSearch::NumberSearch(Database* database, const QString& range) { m_database = database; setRange(range); } NumberSearch* NumberSearch::clone() const { return new NumberSearch(*this); } Search::Type NumberSearch::type() const { return Search::NumberSearch; } void NumberSearch::setRange(GameId start, GameId end) { m_start = start - 1; m_end = end - 1; } void NumberSearch::setRange(const QString& range) { int sep = range.indexOf('-'); if(sep != -1) { m_start = range.left(sep).toInt() - 1; m_end = range.mid(sep + 1).toInt() - 1; } else { m_start = m_end = range.toInt() - 1; } } int NumberSearch::matches(GameId index) { return index >= m_start && index <= m_end; } /* FilterSearch class * **********************/ FilterSearch::FilterSearch() : m_filter(0) {} FilterSearch::FilterSearch(Filter* filter) : m_filter(filter) {} FilterSearch* FilterSearch::clone() const { return new FilterSearch(*this); } FilterSearch::~FilterSearch() {} Search::Type FilterSearch::type() const { return Search::FilterSearch; } bool FilterSearch::contains(GameId game) const { return m_filter->contains(game); } Filter* FilterSearch::filter() const { return m_filter; } void FilterSearch::setFilter(Filter* filter) { m_filter = filter; } int FilterSearch::matches(GameId index) { return m_filter->contains(index); } ./chessx-1.3.2/src/database/search.h000644 000765 000024 00000020461 12507561510 016676 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 Marius Roets * * (C) 2005-2006 William Hoggarth * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __SEARCH_H__ #define __SEARCH_H__ class Database; class Filter; #include "board.h" #include "game.h" #include "partialdate.h" #include #include /** * @defgroup Search Search - different ways to lookup games **/ /** @ingroup Search The Search class is an abstract base class that represents a search on one criteria. @todo - Operators for joining may be obsolete. - Cloning may be obsolete - Type may be replaced by dynamic typecasting. - Or and And are the same, they probably should be joined. */ class Search { public: enum Type { NullSearch, PositionSearch, EloSearch, DateSearch, TagSearch, FilterSearch, NumberSearch}; /** Operator for joining filters */ enum Operator {NullOperator, Not, And, Or, Remove }; /** Standard constructor. */ Search(); /** Cloning search object - probably obsolete */ virtual Search* clone() const = 0; /** Standard destructor. */ virtual ~Search() = 0; virtual Type type() const = 0; virtual int matches(GameId index) = 0; virtual void setDatabase(Database* database); protected: Database *m_database; Game m_game; }; /** @ingroup Search The NullSearch class is empty search, doing nothing. */ class NullSearch : public Search { public : NullSearch(); virtual NullSearch* clone() const; virtual ~NullSearch(); virtual Type type() const; virtual int matches(GameId index); }; /** @ingroup Search The PositionSearch class is a search that checks for given position. @todo Performance is seriously bad */ class PositionSearch : public Search { public: /** Empty constructor. */ PositionSearch(); /** Standard constructor. */ PositionSearch(Database* db, const Board& position); /** Object cloning - probably obsolete. */ virtual PositionSearch *clone() const; /** Standard destructor. */ virtual ~PositionSearch(); /** Type - probably obsolete. */ virtual Search::Type type() const; /** @return sought position. */ Board position() const; /** Sets sought position. */ void setPosition(const Board & position); /** Return moveId the move of after which the game matches the search + 1. E.g. for standard game and chess start position 1 is returned. */ virtual int matches(GameId index); private: Board m_position; }; /** @ingroup Search The EloSearch class is used for searching both white and black player Elo. */ class EloSearch : public Search { public: /** Standard constructor. */ EloSearch(Database* database, int minWhiteElo = 0, int maxWhiteElo = 4000, int minBlackElo = 0, int maxBlackElo = 4000); /** Cloning - probably obsolete. */ virtual EloSearch *clone() const; /** Standard destructor. */ virtual ~EloSearch(); /** Type - probably obsolete. */ virtual Type type() const; /** @return minimum Elo of white player. */ int minWhiteElo() const; /** @return maximum Elo of white player. */ int maxWhiteElo() const; /** @return minimum Elo of black player. */ int minBlackElo() const; /** @return maximum Elo of black player. */ int maxBlackElo() const; /** Set acceptable rating ranges. */ void setEloSearch(int minWhiteElo = 0, int maxWhiteElo = 4000, int minBlackElo = 0, int maxBlackElo = 4000); void initialize(); /** Return true if the game at index matches the search */ virtual int matches(GameId index); private: int m_minWhiteElo; int m_maxWhiteElo; int m_minBlackElo; int m_maxBlackElo; QBitArray m_matches; }; /** @ingroup Search The DataSearch class defines a search based on a date range */ class DateSearch : public Search { public: /** Standard constructor. */ DateSearch(); /** Constructor for searching games in given time period. */ DateSearch(PartialDate minDate, PartialDate maxDate); /** Object cloning - probably obsolete. */ virtual DateSearch *clone() const; /** Standard destructor. */ ~DateSearch(); /** Type - probably obsolete. */ Type type() const; /** @return beginning of the acceptable period. */ PartialDate minDate() const; /** @return end of the acceptable period. */ PartialDate maxDate() const; /** Sets whole period. */ void setDateRange(PartialDate minDate, PartialDate maxDate); /** Return true if the game at index matches the search */ virtual int matches(GameId index); private: PartialDate m_minDate; PartialDate m_maxDate; QBitArray m_matches; }; /** @ingroup Search The TagSearch class is used for tag search. Only simple substring searches are supported for now. @todo Improved performance by creating a bit array of matching values */ class TagSearch : public Search { public: /** Simple constructor */ TagSearch(Database* database, const QString& tag, const QString& value, bool partial = true); /** Range constructor */ TagSearch(Database* database, const QString& tag, const QString& value, const QString& value2); /** Range constructor */ TagSearch(Database *database, const QString &tag, int value, int value2); /** Makes a deep copy of TagSearch object. Probably obsolete */ virtual TagSearch* clone() const; /** Standard destructor. */ ~TagSearch(); /** Type - probably obsolete. */ Search::Type type() const; /** @return tag to be searched */ QString tag() const; /** @return value to be matched. */ QString value() const; QString minValue() const; QString maxValue() const; /** Set tag to be searched */ void setTag(const QString& tag); /** Set value to be matched */ void setValue(const QString& value); /** Return true if the game at index matches the search */ virtual int matches(GameId index); /** initialize the search. Done automatically in constructor, or when values are changed */ void initialize(); private: QString m_tagName; QString m_value; QString m_value2; QBitArray m_matches; bool m_bPartial; }; /** @ingroup Search The NumberSearch class is used for game number search. */ class NumberSearch : public Search { public: /** Simple constructor */ NumberSearch(Database* database, GameId start, GameId end); /** Simple constructor. Supports "N1" or "N1-N2" format */ NumberSearch(Database* database, const QString& value); /** Type - probably obsolete. */ Search::Type type() const; /** Makes a deep copy of TagSearch object. Probably obsolete */ virtual NumberSearch* clone() const; /** Set range to be selected */ void setRange(GameId start, GameId end); /** Set range to be selected. Supports "N1" or "N1-N2" format. */ void setRange(const QString& value); /** Return true if the game at index matches the search */ virtual int matches(GameId index); private: GameId m_start, m_end; }; /** @ingroup Search * The FilterSearch class is not a real search class. It is used to * combine other searches with a filter, in order to solve the search * tree quicker if possible. For instance if a search is combined with a * filter using the AND operator, only games in the filter are searched. * If it is combined with the OR operator, only games not in the filter * are searched. */ class FilterSearch : public Search { public: FilterSearch(); FilterSearch(Filter* filter); virtual FilterSearch* clone() const; virtual ~FilterSearch(); Type type() const; bool contains(GameId game) const; Filter* filter() const; void setFilter(Filter* filter); virtual int matches(GameId game); private: QPointer m_filter; }; #endif // __SEARCH_H__ ./chessx-1.3.2/src/database/settings.cpp000644 000765 000024 00000031314 12521122472 017617 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "boardtheme.h" #include "settings.h" #include #include #include #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER Settings::Settings() : QSettings(IniFormat, UserScope, "chessx", "chessx") {} Settings::~Settings() {} bool Settings::layout(QWidget* w) { if(!w || w->objectName().isEmpty()) { return false; } beginGroup("Geometry"); QList values; bool valid = list(w->objectName(), values, 5); if(valid) // Enough values { int x = values[0]; x &= ~0xC0000000; if (values[0] & 0x80000000) w->setWindowState(Qt::WindowMaximized); else if (values[0] & 0x40000000) w->setWindowState(Qt::WindowFullScreen); else { w->resize(values[2], values[3]); w->move(x, values[1]); } QSplitter* s = qobject_cast(w); if (s) { QByteArray splits = value("Splitter", QByteArray()).toByteArray(); if (splits.size()) { s->restoreState(splits); } } else { QMainWindow* m = qobject_cast(w); if(m) { QByteArray docks = value("Docks", QByteArray()).toByteArray(); if(docks.count()) { m->restoreState(docks, 0); } } else { if(values[4]) { QDialog* d = qobject_cast(w); if (d) d->setModal(true); w->show(); } } } } endGroup(); return valid; } void Settings::setLayout(const QWidget* w) { if(!w || w->objectName().isEmpty()) { return; } beginGroup("Geometry"); QList values; int x = w->x(); if (w->isFullScreen()) x |= 0x40000000; else if (w->isMaximized()) x |= 0x80000000; values << x << w->y() << w->width() << w->height() << w->isVisible(); setList(w->objectName(), values); const QMainWindow* m = qobject_cast(w); if (m) { setValue("Docks", m->saveState(0)); } const QSplitter* s = qobject_cast(w); if (s) { setValue("Splitter", s->saveState()); } endGroup(); } QString Settings::dataPath() { if(m_dataPath.isNull()) { #if QT_VERSION < 0x050000 m_dataPath = QDesktopServices::storageLocation(QDesktopServices::DataLocation); #else m_dataPath = QStandardPaths::writableLocation(QStandardPaths::DataLocation); #endif m_dataPath.append(QDir::separator()); m_dataPath.append("data"); } return m_dataPath; } QString Settings::programDataPath() { QString programDataPath = QCoreApplication::applicationDirPath(); programDataPath.append(QDir::separator()); programDataPath.append("data"); return programDataPath; } QString Settings::uciPath() { #ifdef Q_OS_WIN QString path(AppSettings->programDataPath()); return (path + QDir::separator() + "engines" + QDir::separator() + "uci"); #endif #ifdef Q_OS_MAC QString path(AppSettings->programDataPath()); return (path + QDir::separator() + "engines-mac" + QDir::separator() + "uci"); #endif return ""; } QString Settings::winboardPath() { #ifdef Q_OS_WIN QString path(AppSettings->programDataPath()); return (path + QDir::separator() + "engines" + QDir::separator() + "winboard"); #endif #ifdef Q_OS_MAC QString path(AppSettings->programDataPath()); return (path + QDir::separator() + "engines-mac" + QDir::separator() + "winboard"); #endif return ""; } QString Settings::timesealFilePath() { #ifdef Q_OS_WIN QString path(AppSettings->programDataPath()); return (path + QDir::separator() + "timeseal" + QDir::separator() + "windows" + QDir::separator() + "timeseal.exe"); #endif #ifdef Q_OS_MAC QString path(AppSettings->programDataPath()); return (path + QDir::separator() + "timeseal" + QDir::separator() + "mac" + QDir::separator() + "timeseal"); #endif return ""; } QString Settings::commonDataPath() { #if QT_VERSION < 0x050000 QString dataPath = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation) + QDir::separator() + "chessdata"; #else QString dataPath = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + QDir::separator() + "chessdata"; #endif QString dir = value("/General/DefaultDataPath", dataPath).toString(); return dir; } void Settings::setList(const QString& key, QList list) { QList varlist; int i; foreach(i, list) { varlist.append(QVariant(i)); } setValue(key, varlist); } bool Settings::list(const QString &key, QList& list, int items) { QList varlist = value(key).toList(); if(items >= 0 && varlist.count() + list.count() != items) { return false; } QVariant v; foreach(v, varlist) { list.append(v.toInt()); } return true; } void Settings::setByteArray(const QString& key, const QByteArray& arr) { setValue(key, arr); } QByteArray Settings::byteArray(const QString& key) { return value(key, QByteArray()).toByteArray(); } void Settings::setMap(const QString& key, const OptionValueList& map) { QByteArray data; QDataStream * stream = new QDataStream(&data, QIODevice::WriteOnly); (*stream) << map; delete stream; setByteArray(key, data); } void Settings::getMap(const QString& key, OptionValueList& map) { QByteArray data = byteArray(key); QDataStream * stream = new QDataStream(&data, QIODevice::ReadOnly); (*stream) >> map; delete stream; } QMap Settings::initDefaultValues() const { QMap map; map.insert("ColumnCount", -1); map.insert("/General/EditLimit", 10); map.insert("/General/automaticECO", true); map.insert("/General/useIndexFile", true); map.insert("/General/ListFontSize", DEFAULT_LISTFONTSIZE); map.insert("/General/onlineTablebases", true); map.insert("/General/onlineVersionCheck", true); map.insert("/General/autoCommitDB", false); map.insert("/General/language", "Default"); map.insert("/General/BuiltinDbInstalled", false); map.insert("/GameText/FontSize", DEFAULT_FONTSIZE); map.insert("/GameText/ColumnStyle", false); map.insert("/GameText/SymbolicNag", true); map.insert("/GameText/TextWidth", 0); map.insert("/GameText/VariationIndentLevel", 1); map.insert("/GameText/VariationIndentSize", 3); map.insert("/GameText/CommentIndent", "OnlyMainline"); map.insert("/GameText/MainLineMoveColor", "black"); map.insert("/GameText/VariationColor", "blue"); map.insert("/GameText/CommentColor", "green"); map.insert("/GameText/NagColor", "red"); map.insert("/GameText/HeaderColor", "blue"); map.insert("/GameText/ShowHeader", false); map.insert("/GameText/ShowDiagrams", true); map.insert("/GameText/DiagramSize", 200); map.insert("/GameText/FontBrowserText", "'Arial Unicode MS',Menlo"); map.insert("/GameText/FontBrowserMove", "'Arial Unicode MS',Menlo"); map.insert("/GameText/PieceString", " KQRBN"); map.insert("/MainWindow/GameToolBar", false); map.insert("/MainWindow/VerticalTabs", false); map.insert("/MainWindow/StayOnTop", false); map.insert("/MainWindow/FilterFollowsGame", false); map.insert("/MainWindow/ShowMenuIcons", true); map.insert("/History/MaxEntries", 4); map.insert("/FICS/useTimeseal", true); map.insert("/FICS/guestLogin", false); map.insert("/FICS/userName", "guest"); map.insert("/FICS/passWord", ""); map.insert("/Board/showFrame", true); map.insert("/Board/showCoordinates", true); map.insert("/Board/showCurrentMove", 2); map.insert("/Board/showMoveIndicator", 0); map.insert("/Board/guessMove", true); map.insert("/Board/showThreat", true); map.insert("/Board/nextGuess", false); map.insert("/Board/minWheelCount", MIN_WHEEL_COUNT); map.insert("/Board/pieceTheme", "merida"); map.insert("/Board/pieceEffect", BoardTheme::Shadow); map.insert("/Board/boardTheme", "brazilwood"); map.insert("/Board/lightColor", QColor(Qt::lightGray)); map.insert("/Board/darkColor", QColor(Qt::darkGray)); map.insert("/Board/highlightColor", QColor(Qt::yellow)); map.insert("/Board/frameColor", QColor(Qt::black)); map.insert("/Board/currentMoveColor", QColor(Qt::blue)); map.insert("/Board/storedMoveColor", QColor(Qt::magenta)); map.insert("/Board/threatColor", QColor(0xe0,0xe0,0xff,0x80)); map.insert("/Board/AutoPlayerInterval", 3000); map.insert("/Board/AutoSaveAndContinue", false); map.insert("/Board/BackwardAnalysis", false); map.insert("/Board/AutoPromoteToQueen", false); map.insert("/Sound/Move", true); map.insert("/Tools/Path1", ""); map.insert("/Tools/CommandLine1", ""); return map; } QVariant Settings::getValue(const QString &key) const { static QMap defaultValues = initDefaultValues(); if(defaultValues.contains(key)) { return value(key, defaultValues.value(key)); } else { QString groupKey = QString("/") + group() + "/" + key; if(defaultValues.contains(groupKey)) { return value(key, defaultValues.value(groupKey)); } } return value(key); } QString Settings::getThemePath() const { QString themeDir(AppSettings->dataPath() + QDir::separator() + "themes"); if(!QFile::exists(themeDir)) { themeDir = QString(":/themes"); } return themeDir; } QStringList Settings::getThemeList() const { QStringList themes = QDir(getThemePath()).entryList(QStringList("*.png")); return themes; } QString Settings::getBoardPath() const { QString boardDir(AppSettings->dataPath() + QDir::separator() + "themes" + QDir::separator() + "boards"); if(!QFile::exists(boardDir)) { boardDir = QString(":/themes/boards"); } return boardDir; } QStringList Settings::getBoardList() const { QStringList boards = QDir(getBoardPath()).entryList(QStringList("*.png")); return boards; } QString Settings::getImagePath() const { QString imgDir(AppSettings->dataPath() + QDir::separator() + "images"); if(!QFile::exists(imgDir)) { imgDir = QString(":/data/images"); } return imgDir; } QStringList Settings::getTranslationPaths() const { QStringList list; list.append(":i18n"); QString langDir(AppSettings->dataPath() + QDir::separator() + "lang"); if(QFile::exists(langDir)) { list.append(langDir); } return list; } QStringList Settings::getTranslations() const { QStringList total; QStringList langDirs = getTranslationPaths(); foreach(QString dir, langDirs) { QStringList translations = QDir(dir).entryList(QStringList("*.qm")); total.append(translations); } total.removeDuplicates(); return total; } QString Settings::getUserDataPath() const { #if QT_VERSION < 0x050000 QString dataPath = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation) + QDir::separator() + "chessdata"; #else QString dataPath = QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation) + QDir::separator() + "chessdata"; #endif return dataPath; } QString Settings::getTempPath() const { #if QT_VERSION < 0x050000 QString path = QDesktopServices::storageLocation(QDesktopServices::TempLocation); #else QString path = QStandardPaths::writableLocation(QStandardPaths::TempLocation); #endif return path; } ////////////////////////////////////////////////////////////////////////////// // The singleton instance pointer of our AppSettings ////////////////////////////////////////////////////////////////////////////// Settings* AppSettings; ////////////////////////////////////////////////////////////////////////////// // EOF ////////////////////////////////////////////////////////////////////////////// ./chessx-1.3.2/src/database/settings.h000644 000765 000024 00000007031 12452032267 017270 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __SETTINGS_H__ #define __SETTINGS_H__ #include #include "engineoptiondata.h" class QWidget; /** @ingroup Core The Settings class provides a wrapper to Qt QSettings class. It allows to easily save/restore application settings and get paths for various resources. */ #ifdef Q_OS_MAC #define MIN_WHEEL_COUNT 120 #define DEFAULT_FONTSIZE 12 #define DEFAULT_LISTFONTSIZE 12 #else #define MIN_WHEEL_COUNT 0 #define DEFAULT_FONTSIZE 11 #define DEFAULT_LISTFONTSIZE 11 #endif class Settings : public QSettings { Q_OBJECT public: enum {Show = 1} LayoutFlags; Settings(); ~Settings(); public slots: /** Restore widget's layout based on its name. Optionally show window if it is visible. @return @p true if the state was restored. */ bool layout(QWidget* w); /** Write widget's layout with its name. */ void setLayout(const QWidget* w); public: /** @return directory where data are stored. */ QString dataPath(); /** @return directory where executable sub programs are stored. */ QString programDataPath(); /** @return directory where preinstalled uci engines are stored. */ QString uciPath(); /** @return directory where preinstalled winboard engines are stored. */ QString winboardPath(); /** @return directory where common chess data are stored. */ QString commonDataPath(); /** @return directory where preinstalled timeseal is stored. */ QString timesealFilePath(); /** Write integer list to configuration file. Does it by converting it to QString */ void setList(const QString& key, QList list); void setList(const QString& key, QList list); /** Appends values to the list. @return @p true if the list contains exact number of items. If @p items is @p -1 , always return @p true. */ bool list(const QString& key, QList& list, int items = -1); bool list(const QString& key, QList& list, int items = -1); /// set a QByteArray into the settings void setByteArray(const QString& key, const QByteArray& arr); /// Read a QByteArray from the Settings QByteArray byteArray(const QString& key); /// Overloading value from QSettings with a single place where defaults come from QVariant getValue(const QString &key) const; void setMap(const QString& key, const OptionValueList& map); void getMap(const QString& key, OptionValueList& map); QString getUserDataPath() const; QString getTempPath() const; QString getThemePath() const; QStringList getThemeList() const; QString getImagePath() const; QString getBoardPath() const; QStringList getBoardList() const; QString getBuiltinDbPath() const; QStringList getBuiltinDatabases() const; QStringList getTranslationPaths() const; QStringList getTranslations() const; private: QMap initDefaultValues() const; QString m_dataPath; }; extern Settings* AppSettings; #endif ./chessx-1.3.2/src/database/spellchecker.cpp000644 000765 000024 00000025424 12507517064 020441 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include #include #include "spellchecker.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER Spellchecker::Spellchecker() {} bool Spellchecker::load(const QString& filename) { //initialise data stream QFile file(filename); if(!file.open(QIODevice::ReadOnly)) { return false; } QDataStream stream(&file); quint32 magicNumber; stream >> magicNumber; if(magicNumber != 0xCD5CBD01U) { if((magicNumber & 0xFFFFFF) != 0xCD5CBD00) { qWarning("Incorrect magic number for Spellchecker file."); } else { qWarning("Spellchecker file format newer than this program version"); } return false; } stream.setVersion(5); //QDataStream::Qt_3_1 //remove any existing rules clear(); //read in data for(int ruleType = 0; ruleType < RuleTypeCount; ruleType++) { for(int spellingType = 0; spellingType < SpellingTypeCount; spellingType++) { stream >> m_maps[ruleType][spellingType]; } } //check for errors file.close(); if(file.error() == QFile::NoError) { return true; } else { clear(); return false; } } bool Spellchecker::save(const QString& filename) { //rename the file as a back up QFile file(filename); bool newFile = !file.exists(); if(!newFile) { QDir dir; dir.rename(filename, filename + "~"); } //open new file and initialise stream file.open(QIODevice::WriteOnly); QDataStream stream(&file); stream.setVersion(5); //QDataStream::Qt_3_1 //write out data stream << (quint32)0xCD5CBD01U; for(int ruleType = 0; ruleType < RuleTypeCount; ruleType++) { for(int spellingType = 0; spellingType < SpellingTypeCount; spellingType++) { stream << m_maps[ruleType][spellingType]; } } //if successful remove backup, otherwise restore it file.close(); if(file.error() == QFile::NoError) { if(!newFile) { QDir dir; dir.remove(filename + "~"); } return true; } else { QDir dir; dir.remove(filename); if(!newFile) { dir.rename(filename + "~", filename); } return false; } } bool Spellchecker::import(const QString& filename) { //initialise stream QFile file(filename); if(!file.open(QIODevice::ReadOnly)) { return false; } QTextStream stream(&file); //import rules bool imported = true; imported &= importSection(stream, "PLAYER", Player); imported &= importSection(stream, "SITE", Site); imported &= importSection(stream, "EVENT", Event); imported &= importSection(stream, "ROUND", Round); file.close(); return imported; } QString Spellchecker::correct(const QString& string, SpellingType spellingType) const { QString corrected = string; //apply substitution rules first QMap::const_iterator iterator; //prefixes for(iterator = m_maps[Prefix][spellingType].constBegin(); iterator != m_maps[Prefix][spellingType].constEnd(); iterator++) { if(corrected.startsWith(iterator.key())) { corrected.replace(0, iterator.key().length(), iterator.value()); break; } } //infixes for(iterator = m_maps[Infix][spellingType].constBegin(); iterator != m_maps[Infix][spellingType].constEnd(); iterator++) { corrected.replace(iterator.key(), iterator.value()); } //suffixes for(iterator = m_maps[Suffix][spellingType].constBegin(); iterator != m_maps[Suffix][spellingType].constEnd(); iterator++) { if(corrected.endsWith(iterator.key())) { corrected.replace(corrected.lastIndexOf(iterator.key()), iterator.key().length(), iterator.value()); break; } } //look for literal match QString standardised = standardise(corrected, spellingType); QString literalMatch = m_maps[Literal][spellingType][standardised]; if(literalMatch != "") { //found, return return literalMatch; } else { //if player name, try rearranging the name if(spellingType == Player) { standardised = standardise(corrected.section(' ', -1) + corrected.section(' ', 0, -2), spellingType); literalMatch = m_maps[Literal][spellingType][standardised]; if(literalMatch != "") { //found, return return literalMatch; } } } return corrected; } QStringList Spellchecker::findSpellings(const QString& correct, RuleType ruleType, SpellingType spellingType) const { //iterate through map looking for matches QStringList spellingList; QMap::const_iterator iterator; for(iterator = m_maps[ruleType][spellingType].constBegin(); iterator != m_maps[ruleType][spellingType].constEnd(); iterator++) { if(iterator.value() == correct) { spellingList << iterator.key(); } } return spellingList; } void Spellchecker::addRule(const QString incorrect, const QString& correct, RuleType ruleType, SpellingType spellingType) { QString standardised = incorrect; if(ruleType == Literal) { standardised = standardise(standardised, spellingType); } m_maps[ruleType][spellingType].insert(standardised, correct); } bool Spellchecker::removeRule(const QString& incorrect, RuleType ruleType, SpellingType spellingType) { QString standardised = standardise(incorrect, spellingType); bool removed = m_maps[ruleType][spellingType].contains(standardised); m_maps[ruleType][spellingType].remove(standardised); return removed; } int Spellchecker::count() const { int count = 0; for(int ruleType = 0; ruleType < RuleTypeCount; ruleType++) { for(int spellingType = 0; spellingType < SpellingTypeCount; spellingType++) { count += m_maps[ruleType][spellingType].count(); } } return count; } void Spellchecker::clear() { for(int ruleType = 0; ruleType < RuleTypeCount; ruleType++) { for(int spellingType = 0; spellingType < SpellingTypeCount; spellingType++) { m_maps[ruleType][spellingType].clear(); } } } bool Spellchecker::importSection(QTextStream& stream, const QString& section, SpellingType spellingType) { //locate section QString line; while(true) { if(stream.atEnd()) { return false; } line = stream.readLine(); if(line.startsWith("@" + section)) { //section found, exit loop break; } } //add rules in section int lineNo = 0; QString incorrect = ""; QString correct = ""; while(!stream.atEnd()) { line = stream.readLine(); line = line.trimmed(); lineNo++; if(line.length() == 0) { //empty line, ignore continue; } if(line == "### END OF " + section + " SECTION") { //end of section, finish break; } if(line.at(0) == '#') { //comment, ignore line continue; } if(line.at(0) == '%') { if(line.startsWith("%Prefix")) { //prefix rule incorrect = line.section("\"", 1, 1); correct = line.section("\"", 3, 3); addRule(incorrect, correct, Prefix, spellingType); incorrect = ""; continue; } if(line.startsWith("%Infix")) { //infix rule incorrect = line.section("\"", 1, 1); correct = line.section("\"", 3, 3); addRule(incorrect, correct, Infix, spellingType); incorrect = ""; continue; } if(line.startsWith("%Suffix")) { //suffix rule incorrect = line.section("\"", 1, 1); correct = line.section("\"", 3, 3); addRule(incorrect, correct, Suffix, spellingType); incorrect = ""; continue; } //must be bio information, ignore line continue; } if(line.at(0) == '=') { //alternate spelling, add to map if(correct == "") { qWarning("Error at line %d whilst importing Spellcheck file", lineNo); return false; } line.remove(0, 1); // remove = line = line.trimmed(); addRule(line, correct, Literal, spellingType); continue; } //must be a correctly spelled name, remove comments and store int hashIndex = line.indexOf('#'); if(hashIndex != -1) { line.truncate(hashIndex - 1); } correct = line.trimmed(); } return true; } QString Spellchecker::standardise(const QString& string, SpellingType spellingType) const { //remove exterraneous characters QString standardised = string; standardised.remove(QRegExp("[.,\\s-_()]")); if(spellingType == Player) { //capitalise first letter standardised.replace(0, 1, string.at(0).toUpper()); //standardise captilisation of names beginning with "Van de" standardised.replace("van de", "Van de", Qt::CaseInsensitive); } return standardised; } ./chessx-1.3.2/src/database/spellchecker.h000644 000765 000024 00000010744 12223260306 020072 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include #include #include #include /** @ingroup Feature The Spellchecker class provides spellchecker functionality. The Spellchecker can import spellings from specially formatted text files, or load them from a native binary format. The class caters for a number of spelling types and rules for correcting spelling. */ class Spellchecker { public: /** The rule type indicates what kind of substitution a spelling rule performs Spellings are corrected with a number of different substitution rules. Each rule type indicates where in the string it will look for a substring. When a match is found, it is replaced with the corrected substring. The literal rule is preferred as it is often the most suitable and is the most efficient. It works as a straight match and replace on the whole string. If many similar spelling mistakes are made at the beginning or end of a string, the prefix and suffix rules may be more appropriate. This results in more corrections with less rules. Finally, if a common spelling error maybe found in any part of the string, the infix rule should be used. During correction relevant rules will be applied the following order: prefix, infix, suffix, then literal. You will need to be aware of this when more than one rule may be relevant to a particular spelling. */ enum RuleType { Literal, /**< Matches the whole string */ Prefix, /**< Matches at the beginning of the string */ Infix, /**< Matches anywhere in the string */ Suffix, /**< Matches at the end of the string */ RuleTypeCount }; /** The spelling type indicates what kind of spelling is to be corrected */ enum SpellingType { Player, /**< Player name */ Site, /**< Site name */ Event, /**< Event name */ Round, /**< Round */ SpellingTypeCount }; /** Default constructor, creates a Spellchecker with no spellings */ Spellchecker(); /** Loads spellings from a native format */ bool load(const QString& filename); /** Saves spellings to a native format */ bool save(const QString& filename); /** Imports spellings from a specically formatted text file */ bool import(const QString& filename); /** Corrects a spelling The string parameter has the various spelling rules applied to it, and the resultant corrected spelling is returned. */ QString correct(const QString& string, SpellingType spellingType) const; /** Finds the incorrect spellings associated with a given correct spelling */ QStringList findSpellings(const QString& correct, RuleType ruleType, SpellingType spellingType) const; /** Adds a spelling rule to the Spellchecker */ void addRule(const QString incorrect, const QString& correct, RuleType ruleType, SpellingType spellingType); /** Removes a spelling rule */ bool removeRule(const QString& incorrect, RuleType ruleType, SpellingType spellingType); /** Returns the number of spelling rules, of all types, in the Spellchecker */ int count() const; /** Removes all spelling rules from the Spellchecker */ void clear(); private: /** Imports a section from a specially formatted text file */ bool importSection(QTextStream& stream, const QString& section, SpellingType spellingType); /** Standardises the format of a string for matching purposes */ QString standardise(const QString& string, SpellingType spellingType) const; QMap m_maps[RuleTypeCount][SpellingTypeCount]; }; ./chessx-1.3.2/src/database/square.h000644 000765 000024 00000002201 12510715746 016727 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2015 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef SQUARE_H #define SQUARE_H typedef unsigned char Square; enum SquareNames { a1, b1, c1, d1, e1, f1, g1, h1, a2, b2, c2, d2, e2, f2, g2, h2, a3, b3, c3, d3, e3, f3, g3, h3, a4, b4, c4, d4, e4, f4, g4, h4, a5, b5, c5, d5, e5, f5, g5, h5, a6, b6, c6, d6, e6, f6, g6, h6, a7, b7, c7, d7, e7, f7, g7, h7, a8, b8, c8, d8, e8, f8, g8, h8 }; const char strSquareNames[64][3] = { "a1", "b1", "c1", "d1", "e1", "f1", "g1", "h1", "a2", "b2", "c2", "d2", "e2", "f2", "g2", "h2", "a3", "b3", "c3", "d3", "e3", "f3", "g3", "h3", "a4", "b4", "c4", "d4", "e4", "f4", "g4", "h4", "a5", "b5", "c5", "d5", "e5", "f5", "g5", "h5", "a6", "b6", "c6", "d6", "e6", "f6", "g6", "h6", "a7", "b7", "c7", "d7", "e7", "f7", "g7", "h7", "a8", "b8", "c8", "d8", "e8", "f8", "g8", "h8" }; const Square InvalidSquare = 255; const Square NoEPSquare = 255; #endif // SQUARE_H ./chessx-1.3.2/src/database/tablebase.cpp000644 000765 000024 00000010364 12514425345 017712 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007 Sean Estabrooks * * (C) 2008-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "tablebase.h" #include "version.h" #include #include #include #include #include #include #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER bool Tablebase::s_allowEngineOutput = true; void Tablebase::setAllowEngineOutput(bool allow) { s_allowEngineOutput = allow; } OnlineTablebase::OnlineTablebase() { connect(&manager, SIGNAL(finished(QNetworkReply*)), SLOT(httpDone(QNetworkReply*))); } OnlineTablebase::~OnlineTablebase() { } void OnlineTablebase::abortLookup() { } void OnlineTablebase::getBestMove(QString fen) { abortLookup(); if(m_fen == fen) { return; } m_fen = fen; QTimer::singleShot(100, this, SLOT(sendIt())); } void OnlineTablebase::sendIt() { QString prep(m_fen.simplified()); QString count(prep.left(prep.indexOf(" "))); int white = count.count(QRegExp("[A-Z]")); int black = count.count(QRegExp("[a-z]")); if(white + black > 6 || black > 4 || white > 4 || black < 1 || white < 1) { return; } QChar toMove = (prep[prep.indexOf(QString(" ")) + 1].toLower()); QString requested = QString("/online/playshredder/fetch.php?action=egtb&hook=%1&fen=%2") .arg(toMove).arg(m_fen); QUrl url(requested); url.setScheme("http"); url.setHost("www.shredderchess.com"); m_requested = url.toString(); QNetworkRequest request(url); QByteArray userAgent = QString(QCoreApplication::applicationName() + "/" + STR_VERSION_NET).toLatin1(); request.setRawHeader("User-Agent",userAgent); manager.get(request); } void OnlineTablebase::httpDone(QNetworkReply *reply) { QUrl url = reply->url(); if(!reply->error()) { if(url.toString() == m_requested) { m_requested.clear(); QString ret(reply->readAll()); if(ret.indexOf("Not found") >= 0) { return; } if(ret[5] == 'w') { ret.remove(QRegExp("NEXTCOLOR.*\\n")); } else { ret.remove(QRegExp(".*NEXTCOLOR\\n")); } ret.remove(0, ret.indexOf("\n") + 1); ret.remove(":"); ret.remove("Win in "); ret.replace(QRegExp("[-x]"), " "); ret.replace("Draw", "0"); ret.replace("Lose in ", "-"); QStringList fld(ret.left(ret.indexOf('\n')).split(' ')); if(fld.size() < 3) { return; } Move move(fld[0].toInt(), fld[1].toInt()); int score = fld[2].toInt(); if(fld.size() > 3) { switch(score) { case 8: move.setPromoted(Queen); break; case 9: move.setPromoted(Rook); break; case 10: move.setPromoted(Bishop); break; case 11: move.setPromoted(Knight); break; default: return; } score = fld[3].toInt(); } if (s_allowEngineOutput) { emit bestMove(move, score); } } } reply->deleteLater(); } ./chessx-1.3.2/src/database/tablebase.h000644 000765 000024 00000004262 12514425345 017357 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007 Sean Estabrooks * * (C) 2008-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __TABLEBASE_H__ #define __TABLEBASE_H__ #include #include #include "move.h" class QNetworkReply; /** @ingroup Feature * Abstract base class for different types of tablebase access * * @todo * - Subclass to access lokasoft tablebases * - Method to return all tablebase info rather than just best move. * - Provide a configuration screen to enable and disable etc. * - Subclass to support local tablebases * - Add caching and/or prefetching of online queries to reduce lag */ class Tablebase : public QObject { Q_OBJECT signals: /** Emitted when best move has been gathered from tablebase */ void bestMove(Move move, int score); public slots: /** Request best move from table base given FEN position */ virtual void getBestMove(QString fen) = 0; /** Cancel the previous lookup */ virtual void abortLookup() = 0; public: static void setAllowEngineOutput(bool allow); protected: static bool s_allowEngineOutput; }; /** @ingroup Feature * Implement Tablebase access to ShredderChess.com 6 piece tablebases. * */ class OnlineTablebase : public Tablebase { Q_OBJECT public: OnlineTablebase(); ~OnlineTablebase(); signals: void bestMove(Move move, int score); public slots: void getBestMove(QString fen); void abortLookup(); private slots: void httpDone(QNetworkReply *reply); void sendIt(); private: QNetworkAccessManager manager; QString m_requested; QString m_fen; }; #endif // __TABLEBASE_H__ ./chessx-1.3.2/src/database/tags.cpp000644 000765 000024 00000000673 12510715746 016733 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2015 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "tags.h" bool isStandardTag(QString tag) { for(int i = 0; i < 7; ++i) { if (tag.compare(StandardTags[i])==0) { return true; } } return false; } ./chessx-1.3.2/src/database/tags.h000644 000765 000024 00000002712 12521415120 016355 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2015 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef TAGS_H #define TAGS_H #include const char* const TagNameFEN = "FEN"; const char* const TagNameECO = "ECO"; const char* const TagNameSetUp = "Setup"; const char* const TagNameSource = "Source"; const char* const TagNameResult = "Result"; const char* const TagNameWhite = "White"; const char* const TagNameBlack = "Black"; const char* const TagNameEvent = "Event"; const char* const TagNameSite = "Site"; const char* const TagNameRound = "Round"; const char* const TagNameDate = "Date"; const char* const TagNameEventDate = "EventDate"; const char* const TagNamePlyCount = "PlyCount"; const char* const TagNameWhiteClock = "WhiteClock"; const char* const TagNameBlackClock = "BlackClock"; const char* const TagNameWhiteElo = "WhiteElo"; const char* const TagNameBlackElo = "BlackElo"; const char* const TagNameWhiteTeam = "WhiteTeam"; const char* const TagNameBlackTeam = "BlackTeam"; const char* const TagNameTimeControl = "TimeControl"; const char* const TagNameLength = "Length"; const char* const StandardTags[7] = {"Event", "Site", "Date", "Round", "White", "Black", "Result"}; bool isStandardTag(QString tag); #endif // TAGS_H ./chessx-1.3.2/src/database/tagvalues.h000644 000765 000024 00000007013 12510715746 017430 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007 Marius Roets * * (C) 2007 Rico Zenklusen ccccc * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __TAGVALUES_H__ #define __TAGVALUES_H__ #include #include #include #include #include typedef quint32 TagIndex; /** @ingroup Core TagValues class holds a list of integer values. The list represents all the values of a particular tag in the database. For integer values, the actual values are not stored. The reasoning is that you have to remember the index anyway, which is equivalent to remembering the actual value. For this reason request for a value at a particular index, actually returns the index. @todo */ class TagValues : public QAbstractItemModel { public: TagValues() {} virtual ~TagValues() {} /** Adds a string value to the list, quickly if cache is enabled */ virtual int add(const QString& value) { return value.toInt(); } /** Adds a integer value to the list. Integer values are not stored */ virtual int add(const int value) { return value; } /** Returns a value from the list, given the index 'index' */ virtual QString value(int index) const { return QString::number(index); } /** Returns the index of a value 'value */ virtual int indexOf(const QString& value) const { return value.toInt(); } /** Returns the number of values in the list */ virtual int count() const { return 0; } /** returns true if the list contains the string 'value' */ virtual bool contains(const QString&) { return true; } /** When cache is enabled, adding values is very quick. It uses twice as * much RAM though. Useful for adding lots of values quickly. * Remember to disable afterwards to free extra memory.*/ virtual void setCacheEnabled(const bool) {} /** Read the values for list from a data stream */ virtual void read(QDataStream&) {} /** Write the current list values to a data stream */ virtual void write(QDataStream&) {} /** Compacts tavalues with respect to the given vector where a zero * in the vector means that the corresponding tagvalue has to be * deleted. */ virtual void compact(const QVector&) {}; /** Appends value at the end of out */ virtual void appendToStream(const QString& value, QDataStream& out); /** Abstract item model functions. */ virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const; virtual QModelIndex index(int row, int column, const QModelIndex & parent = QModelIndex()) const; virtual int columnCount(const QModelIndex& parent = QModelIndex()) const; virtual int rowCount(const QModelIndex& parent = QModelIndex()) const; virtual QModelIndex parent(const QModelIndex&) const; private: // Contains no data }; #endif ./chessx-1.3.2/src/database/telnetclient.cpp000644 000765 000024 00000015551 12513145427 020464 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "settings.h" #include "telnetclient.h" #include #include #include #include #include #include #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER TelnetClient::TelnetClient(QObject *parent) : QObject(parent) { m_state = 0; m_bInternalTelnet = true; m_loggedInAsGuest = false; m_socket = new QTcpSocket(this); m_socket->setSocketOption(QAbstractSocket::LowDelayOption, 1); connect(m_socket, SIGNAL(readyRead()), this, SLOT(SlotReadData())); connect(m_socket, SIGNAL(disconnected()), this, SLOT(SlotDisconnected())); m_extToolProcess = new QProcess(this); connect(m_extToolProcess, SIGNAL(readyRead()), SLOT(SlotReadTimesealData())); connect(m_extToolProcess, SIGNAL(readyReadStandardOutput()), SLOT(SlotReadTimesealData())); connect(m_extToolProcess, SIGNAL(error(QProcess::ProcessError)), SLOT(SlotTimesealError())); } TelnetClient::~TelnetClient() { if (m_socket->state() == QAbstractSocket::ConnectedState) { m_socket->close(); } delete m_socket; } void TelnetClient::DispatchReadData(QByteArray bytes) { QString data = m_remainder; m_remainder.clear(); data.append(QString::fromLatin1(bytes)); bool sendXON = data.contains(0x13); data.remove(0x13); data.remove(0x07); bool hasNetData = false; switch (m_state) { case 0: { QRegExp reLogin("[Ll]ogin:"); if (data.contains(reLogin)) { ++m_state; send(m_name); } break; } case 1: { QRegExp rePasswd("[Pp]assword:"); if (data.contains(rePasswd)) { guestName = m_name; ++m_state; m_loggedInAsGuest = false; send(m_passwd); } else { QRegExp reEnter("Press return"); if (data.contains(reEnter)) { QRegExp reGuestName("\"([^\"]*)\""); int pos = reGuestName.indexIn(data); if(pos >= 0) { guestName = reGuestName.cap(1); } ++m_state; m_loggedInAsGuest = true; send("\n"); } } break; } case 2: { QRegExp reLoggedIn("[Ss]ession"); if (data.contains(reLoggedIn)) { ++m_state; OnSessionStarted(guestName); } break; } default: { bool endsWithCR = data.endsWith("\n"); QStringList lines = data.split("\n", QString::SkipEmptyParts); if (lines.count() && !endsWithCR) { hasNetData = true; m_remainder = lines.back(); lines.pop_back(); } foreach (QString line, lines) { line.remove("\r"); line.remove("\n"); line = line.trimmed(); if (!line.isEmpty()) { OnReceiveTelnetMessage(line); } } } break; } if (sendXON) { send(QString("%1").arg(QChar(0x11))); } } bool TelnetClient::loggedInAsGuest() const { return m_loggedInAsGuest; } bool TelnetClient::InternalTelnet() const { return m_bInternalTelnet; } void TelnetClient::SlotReadData() { while(m_socket->bytesAvailable()) { QByteArray bytes = m_socket->readAll(); DispatchReadData(bytes); } } void TelnetClient::SlotDisconnected() { m_socket->close(); emit disconnected(); } void TelnetClient::SlotReadTimesealData() { if(m_extToolProcess->isOpen()) { QByteArray bytes = m_extToolProcess->readAllStandardOutput(); DispatchReadData(bytes); } } void TelnetClient::SlotTimesealError() { emit disconnected(); } bool TelnetClient::StartTimeseal(const QString &host, int port, QString name, QString passwd) { if (!AppSettings->getValue("/FICS/useTimeseal").toBool()) return false; QFileInfo fi(AppSettings->timesealFilePath()); if (fi.exists()) { m_bInternalTelnet = false; m_state = 0; m_name = name; m_passwd = passwd; m_extToolProcess->setReadChannel(QProcess::StandardOutput); QStringList options; options << host; options << QString::number(port); QString command = options.join(" "); m_extToolProcess->start(fi.absoluteFilePath(), options, QIODevice::ReadWrite | QIODevice::Unbuffered); if (m_extToolProcess->waitForStarted(3000)) { return true; } } return false; } void TelnetClient::StartSocket(const QString &host, int port, QString name, QString passwd) { if (m_socket->state() == QAbstractSocket::UnconnectedState) { m_bInternalTelnet = true; m_state = 0; m_name = name; m_passwd = passwd; m_socket->connectToHost(host, port); } } QString TelnetClient::getGuestName() const { return guestName; } void TelnetClient::send(QString s) { if (m_bInternalTelnet) { if (m_socket->state() == QAbstractSocket::ConnectedState) { s.append("\n"); if (m_socket->write(s.toLatin1()) < 0) { exitSession(); } else { m_socket->flush(); } } } else { if (m_extToolProcess->isOpen()) { s.append("\n"); QByteArray b = s.toLatin1(); if (m_extToolProcess->write(b) < 0) { exitSession(); } else { m_extToolProcess->waitForBytesWritten(1000); } } else { emit disconnected(); } } } void TelnetClient::connectHost(const QString &host, int port, QString name, QString passwd) { if (!StartTimeseal(host, port, name, passwd)) { StartSocket(host, port, name, passwd); } } bool TelnetClient::sessionStarted() const { return (m_state > 0); } void TelnetClient::exitSession() { if (m_socket->state() != QAbstractSocket::UnconnectedState) { m_socket->close(); } if (m_extToolProcess->isOpen()) { m_extToolProcess->close(); } m_state = 0; } ./chessx-1.3.2/src/database/telnetclient.h000644 000765 000024 00000003224 12513145427 020123 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef TELNETCLIENT_H #define TELNETCLIENT_H #include #include #include class QProcess; class QTcpSocket; class TelnetClient : public QObject { Q_OBJECT public: explicit TelnetClient(QObject *parent = 0); virtual ~TelnetClient(); void connectHost(const QString& host, int port, QString name, QString passwd); void send(QString s); void exitSession(); QString getGuestName() const; bool InternalTelnet() const; bool sessionStarted() const; bool loggedInAsGuest() const; signals: void disconnected(); protected slots: void SlotReadData(); void SlotDisconnected(); void SlotReadTimesealData(); void SlotTimesealError(); protected: bool StartTimeseal(const QString &host, int port, QString name, QString passwd); void StartSocket(const QString &host, int port, QString name, QString passwd); void DispatchReadData(QByteArray bytes); protected: //methods virtual void startSession() = 0; virtual void sendCommand(QString s) = 0; protected: //callback virtual void OnSessionStarted(QString) = 0; virtual void OnReceiveTelnetMessage(QString) = 0; private: QTcpSocket* m_socket; QString m_name; QString m_passwd; int m_state; bool m_loggedInAsGuest; QString m_remainder; QString guestName; QProcess* m_extToolProcess; bool m_bInternalTelnet; }; #endif // TELNETCLIENT_H ./chessx-1.3.2/src/database/threadedguess.cpp000644 000765 000024 00000002323 12517745317 020622 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #include "threadedguess.h" #include "guess.h" ThreadedGuess::ThreadedGuess() { m_dontGuess = false; qRegisterMetaType("Guess::Result"); qRegisterMetaType("Board"); } ThreadedGuess::~ThreadedGuess() { } void ThreadedGuess::cancel() { m_dontGuess = true; if (isRunning()) { wait(); } } bool ThreadedGuess::guessMove(Board b) { if (isRunning()) return false; if (!Guess::guessAllowed()) return false; m_dontGuess = false; m_board = b; start(); return true; } void ThreadedGuess::run() { Board b = m_board; b.swapToMove(); b.clearEnPassantSquare(); Guess::MoveList moveList; Guess::Result sm = Guess::guessMove(qPrintable(b.toFen()), (int) InvalidSquare, moveList, 1500); if (!m_dontGuess) { if (Guess::guessAllowed()) { emit guessFoundForBoard(sm, m_board); } } } ./chessx-1.3.2/src/database/threadedguess.h000644 000765 000024 00000001242 12516124425 020254 0ustar00nistaff000000 000000 /**************************************************************************** * Copyright (C) 2014 by Jens Nissen jens-chessx@gmx.net * ****************************************************************************/ #ifndef THREADEDGUESS_H #define THREADEDGUESS_H #include "board.h" #include "guess.h" #include class ThreadedGuess : public QThread { Q_OBJECT public: ThreadedGuess(); ~ThreadedGuess(); void cancel(); bool guessMove(Board b); protected: virtual void run(); signals: void guessFoundForBoard(Guess::Result, Board); private: bool m_dontGuess; Board m_board; }; #endif // THREADEDGUESS_H ./chessx-1.3.2/src/database/tristatetree.cpp000644 000765 000024 00000021346 12507517064 020513 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "tristatetree.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER TriStateTree::TriStateTree() { m_state = Unknown; m_nodeCount = 0; m_nodes = 0; m_leafCount = 0; m_leafs = 0; } TriStateTree::TriStateTree(const Query& query) { m_state = Unknown; m_nodeCount = query.count(); m_nodes = new Node[m_nodeCount]; m_leafCount = 0; m_leafs = new Node*[m_nodeCount]; Node** nodeStack = new Node*[m_nodeCount]; int stackTop = -1; for(int element = 0; element < m_nodeCount; element++) { if(query.isElementSearch(element)) { /* search == leaf node, add to stack & add to list of leaf nodes */ m_nodes[element].m_state = Unknown; m_nodes[element].m_operator = Search::NullOperator; m_nodes[element].m_parent = 0; m_nodes[element].m_leftChild = m_nodes[element].m_rightChild = 0; nodeStack[++stackTop] = &m_nodes[element]; m_leafs[m_leafCount++] = &m_nodes[element]; } else { /* operator == branch node, pop children off stack & add to stack */ m_nodes[element].m_state = Unknown; m_nodes[element].m_operator = query.searchOperator(element); m_nodes[element].m_parent = 0; if(m_nodes[element].m_operator == Search::Not) { m_nodes[element].m_rightChild = 0; } else { m_nodes[element].m_rightChild = nodeStack[stackTop--]; m_nodes[element].m_rightChild->m_parent = &m_nodes[element]; } m_nodes[element].m_leftChild = nodeStack[stackTop--]; m_nodes[element].m_leftChild->m_parent = &m_nodes[element]; nodeStack[++stackTop] = &m_nodes[element]; } } delete[] nodeStack; //stack should now be empty Q_ASSERT(stackTop == 0); } TriStateTree::TriStateTree(const TriStateTree& tree) { //assign data members m_state = tree.m_state; m_nodeCount = tree.m_nodeCount; m_leafCount = tree.m_leafCount; //copy nodes m_nodes = new Node[m_nodeCount]; m_leafs = new Node*[m_nodeCount]; for(int node = 0; node < m_nodeCount; node++) { m_nodes[node].m_state = tree.m_nodes[node].m_state; m_nodes[node].m_operator = tree.m_nodes[node].m_operator; if(tree.m_nodes[node].m_parent) { m_nodes[node].m_parent = m_nodes + (tree.m_nodes[node].m_parent - tree.m_nodes); } else { m_nodes[node].m_parent = 0; } if(tree.m_nodes[node].m_leftChild) { m_nodes[node].m_leftChild = m_nodes + (tree.m_nodes[node].m_leftChild - tree.m_nodes); } else { m_nodes[node].m_leftChild = 0; } if(tree.m_nodes[node].m_rightChild) { m_nodes[node].m_rightChild = m_nodes + (tree.m_nodes[node].m_rightChild - tree.m_nodes); } else { m_nodes[node].m_rightChild = 0; } } for(int node = 0; node < m_leafCount; node++) { m_leafs[node] = m_nodes + (tree.m_leafs[node] - tree.m_nodes); } } TriStateTree& TriStateTree::operator=(const TriStateTree & tree) { if(this != &tree) { //assign data members m_state = tree.m_state; m_nodeCount = tree.m_nodeCount; m_leafCount = tree.m_leafCount; //copy nodes Node* nodes = new Node[m_nodeCount]; Node** leafs = new Node*[m_nodeCount]; for(int node = 0; node < m_nodeCount; node++) { nodes[node].m_state = tree.m_nodes[node].m_state; nodes[node].m_operator = tree.m_nodes[node].m_operator; if(tree.m_nodes[node].m_parent) { nodes[node].m_parent = nodes + (tree.m_nodes[node].m_parent - tree.m_nodes); } else { nodes[node].m_parent = 0; } if(tree.m_nodes[node].m_leftChild) { nodes[node].m_leftChild = nodes + (tree.m_nodes[node].m_leftChild - tree.m_nodes); } else { nodes[node].m_leftChild = 0; } if(tree.m_nodes[node].m_rightChild) { nodes[node].m_rightChild = nodes + (tree.m_nodes[node].m_rightChild - tree.m_nodes); } else { nodes[node].m_rightChild = 0; } } for(int node = 0; node < m_leafCount; node++) { leafs[node] = nodes + (tree.m_leafs[node] - tree.m_nodes); } delete[]m_nodes; m_nodes = nodes; delete[]m_leafs; m_leafs = leafs; } return *this; } TriStateTree::~TriStateTree() { delete[] m_nodes; delete[] m_leafs; } TriStateTree::State TriStateTree::state() const { return m_state; } TriStateTree::State TriStateTree::state(int leaf) const { if(leaf < m_leafCount) { return m_leafs[leaf]->m_state; } else { return Unknown; } } int TriStateTree::leafCount() const { return m_leafCount; } TriStateTree::State TriStateTree::setState(int leaf, bool state) { if(leaf < m_leafCount) { m_leafs[leaf]->m_state = State(1 + state); if(m_leafs[leaf]->m_parent) { m_state = update(m_leafs[leaf]->m_parent); } else { m_state = m_leafs[leaf]->m_state; } } return m_state; } TriStateTree::State TriStateTree::setState(int leaf, State state) { if(leaf < m_leafCount) { m_leafs[leaf]->m_state = state; if(m_leafs[leaf]->m_parent) { m_state = update(m_leafs[leaf]->m_parent); } else { m_state = m_leafs[leaf]->m_state; } } return m_state; } void TriStateTree::clear() { m_state = Unknown; for(int node = 0; node < m_nodeCount; node++) { m_nodes[node].m_state = Unknown; } } TriStateTree::State TriStateTree::update(Node* node) { State oldState = node->m_state; State leftState, rightState; leftState = node->m_leftChild->m_state; if(node->m_rightChild) { rightState = node->m_rightChild->m_state; } else { rightState = Unknown; } switch(node->m_operator) { case Search::Not: switch(leftState) { case Unknown: node->m_state = Unknown; break; case False: node->m_state = True; break; case True: node->m_state = False; break; } break; case Search::And: if(leftState == False || rightState == False) { node->m_state = False; } else if(leftState == Unknown || rightState == Unknown) { node->m_state = Unknown; } else { node->m_state = True; } break; case Search::Or: if(leftState == True || rightState == True) { node->m_state = True; } else if(leftState == Unknown || rightState == Unknown) { node->m_state = Unknown; } else { node->m_state = False; } break; case Search::Remove: if(leftState == False || rightState == True) { node->m_state = False; } else if(leftState == Unknown || rightState == Unknown) { node->m_state = Unknown; } else { node->m_state = True; } break; default: break; } //only update parent node, if this node's state has changed if(oldState != node->m_state) { if(node->m_parent) { return update(node->m_parent); } else { return node->m_state; } } else { return m_state; } } ./chessx-1.3.2/src/database/tristatetree.h000644 000765 000024 00000005474 12375174653 020172 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __TRISTATETREE_H__ #define __TRISTATETREE_H__ #include "query.h" /** @ingroup Search The TriStateTree class helps facilitate the efficient evaluation of queries. The tree is built from a query with each leaf node representing a search, all other nodes representing the search operators (and, or etc). Each node can be one of three states: Unknown, False, or True. As the result of a search for the a game is discovered, the state for the corresponding leaf node is set to true or false. After each update the tree is re-evaluated, returning a value of Uknown, False, or True. In some cases the value of the tree can be determined before all search results are known. Eg. if the query is A or B, then if A is true then we know the result is true without having to evaluate B. */ class TriStateTree { public: typedef enum { Unknown, False, True } State; /** Default constructor, creates an empty tree */ TriStateTree(); /** Constructs a tree from the given query */ TriStateTree(const Query& query); /** Copy constructor */ TriStateTree(const TriStateTree& tree); /** Assignment operator */ TriStateTree& operator=(const TriStateTree& tree); /** Destructor */ ~TriStateTree(); /** Returns the state of the tree */ State state() const; /** Returns the state of a leaf node */ State state(int leaf) const; /** Returns the number of leaf nodes */ int leafCount() const; /** Sets the state of a leaf node to true or false, the updated state of the tree is returned */ State setState(int leaf, bool state); /** Sets the state of a leaf node to unknown, false, or true. The updated state of the tree is returned */ State setState(int leaf, State state); /** Resets the status of all nodes to unknown */ void clear(); private: typedef struct node { State m_state; Search::Operator m_operator; node* m_parent; node* m_leftChild; node* m_rightChild; } Node; State update(Node* node); State m_state; int m_nodeCount; Node* m_nodes; int m_leafCount; Node** m_leafs; }; #endif ./chessx-1.3.2/src/database/uciengine.cpp000644 000765 000024 00000034177 12507517064 017750 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006-2007 Sean Estabrooks * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "uciengine.h" #include "enginedata.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER UCIEngine::UCIEngine(const QString& name, const QString& command, bool bTestMode, const QString& directory, QTextStream* logStream) : Engine(name, command, bTestMode, directory, logStream) { m_quitAfterAnalysis = false; m_invertBlack = true; } bool UCIEngine::startAnalysis(const Board& board, int nv, int mt, bool bNewGame) { m_mpv = nv; m_moveTime = mt; if(!isActive()) { return false; } if(m_board == board) { return true; } m_board = board; m_position = board.toFen(); send("stop"); if (bNewGame) { m_waitingOn = "ucinewgame"; send("ucinewgame"); send("isready"); } else { setPosition(); } setAnalyzing(true); return true; } void UCIEngine::stopAnalysis() { if(isAnalyzing()) { send("stop"); } } void UCIEngine::setMpv(int mpv) { if (m_mpv != mpv) { Engine::setMpv(mpv); if(isAnalyzing()) { send("stop"); send(QString("setoption name MultiPV value %1").arg(m_mpv)); if (!m_moveTime) send("go infinite"); else send(QString("go movetime %1").arg(m_moveTime)); } } } void UCIEngine::setMoveTime(int mt) { if (m_moveTime != mt) { Engine::setMoveTime(mt); if(isAnalyzing()) { send("stop"); if (!m_moveTime) send("go infinite"); else send(QString("go movetime %1").arg(m_moveTime)); } } } void UCIEngine::protocolStart() { //tell the engine we are using the uci protocol send("uci"); } void UCIEngine::protocolEnd() { send("quit"); setActive(false); m_board.clear(); } void UCIEngine::setPosition() { m_waitingOn = ""; send(QString("setoption name MultiPV value %1").arg(m_mpv)); send("position fen " + m_position); if (!m_moveTime) send("go infinite"); else send(QString("go movetime %1").arg(m_moveTime)); } void UCIEngine::processMessage(const QString& message) { if(message == "uciok") { //once the engine is running wait for it to initialise m_waitingOn = "uciok"; send("isready"); } if(message == "readyok") { if(m_waitingOn == "uciok") { //engine is now initialised and ready to go m_waitingOn = ""; setActive(true); if(!m_bTestMode) { OptionValueList::const_iterator i = m_mapOptionValues.constBegin(); while(i != m_mapOptionValues.constEnd()) { QString key = i.key(); QVariant value = i.value(); if(EngineOptionData* dataSpec = EngineOptionData::FindInList(key, m_options)) { switch(dataSpec->m_type) { case OPT_TYPE_BUTTON: if(value.toBool()) { send(QString("setoption name %1 value %2").arg(key)); } break; case OPT_TYPE_CHECK: case OPT_TYPE_SPIN: case OPT_TYPE_STRING: case OPT_TYPE_COMBO: if(dataSpec->m_defVal != value.toString() && !value.toString().isEmpty()) { send(QString("setoption name %1 value %2").arg(key).arg(value.toString())); } break; } } ++i; } } send("setoption name UCI_AnalyseMode value true"); } if(m_waitingOn == "ucinewgame") { //engine is now ready to analyse a new position setPosition(); } } QString command = message.section(' ', 0, 0); if(command == "info" && isAnalyzing()) { parseAnalysis(message); } else if(command == "bestmove" && isAnalyzing()) { parseBestMove(message); } else if(command == "option" && !isAnalyzing()) { parseOptions(message); } } void UCIEngine::parseBestMove(const QString& message) { QString bestMove = message.section(' ', 1, 1, QString::SectionSkipEmpty); if (!bestMove.isEmpty()) { Analysis analysis; Move move = m_board.parseMove(bestMove); MoveList moves; if (move.isLegal()) { moves.append(move); } analysis.setVariation(moves); analysis.setBestMove(true); sendAnalysis(analysis); } } void UCIEngine::parseAnalysis(const QString& message) { // Sample: info score cp 20 depth 3 nodes 423 time 15 pv f1c4 g8f6 b1c3 Analysis analysis; bool multiPVFound, timeFound, nodesFound, depthFound, scoreFound, variationFound; multiPVFound = timeFound = nodesFound = depthFound = scoreFound = variationFound = false; QString info = message.section(' ', 1, -1, QString::SectionSkipEmpty); int section = 0; QString name; bool ok; //loop around the name value tuples while(!info.section(' ', section, section + 1, QString::SectionSkipEmpty).isEmpty()) { name = info.section(' ', section, section, QString::SectionSkipEmpty); if(name == "multipv") { analysis.setNumpv(info.section(' ', section + 1, section + 1, QString::SectionSkipEmpty).toInt(&ok)); section += 2; if(ok) { multiPVFound = true; continue; } } if(name == "time") { analysis.setTime(info.section(' ', section + 1, section + 1, QString::SectionSkipEmpty).toInt(&ok)); section += 2; if(ok) { timeFound = true; continue; } } if(name == "nodes") { analysis.setNodes(info.section(' ', section + 1, section + 1, QString::SectionSkipEmpty).toLongLong(&ok)); section += 2; if(ok) { nodesFound = true; continue; } } if(name == "depth") { analysis.setDepth(info.section(' ', section + 1, section + 1, QString::SectionSkipEmpty).toInt(&ok)); section += 2; if(ok) { depthFound = true; continue; } } if(name == "score") { QString type = info.section(' ', section + 1, section + 1, QString::SectionSkipEmpty); if(type == "cp" || type == "mate") { int score = info.section(' ', section + 2, section + 2).toInt(&ok); if(type == "mate") { analysis.setMovesToMate(score); } else if(m_invertBlack && m_board.toMove() == Black) { analysis.setScore(-score); } else { analysis.setScore(score); } section += 3; if(ok) { scoreFound = true; continue; } } else { section += 3; } } if (name == "upperbound" || name =="lowerbound") { if (scoreFound && analysis.movesToMate() == 0) { // Work around bug in Stockfish ok = false; } } if(name == "pv") { Board board = m_board; MoveList moves; QString moveText; section++; while((moveText = info.section(' ', section, section, QString::SectionSkipEmpty)) != "") { Move move = board.parseMove(moveText); if(!move.isLegal()) { break; } board.doMove(move); moves.append(move); section++; } analysis.setVariation(moves); } //not understood, skip section += 2; } if ((timeFound && nodesFound && scoreFound && analysis.isValid()) || (analysis.isAlreadyMate() && depthFound && analysis.depth() == 0)) { if(!multiPVFound) { analysis.setNumpv(1); } sendAnalysis(analysis); } } void UCIEngine::parseOptions(const QString& message) { enum ScanPhase { EXPECT_OPTION, EXPECT_NAME, EXPECT_TYPE_TOKEN, EXPECT_TYPE, EXPECT_DEFAULT_VALUE, EXPECT_MIN_MAX_DEFAULT, EXPECT_MIN_VALUE, EXPECT_MAX_VALUE, EXPECT_VAR_TOKEN, EXPECT_VAR } phase; phase = EXPECT_OPTION; QStringList list = message.split(QRegExp("\\s+"), QString::SkipEmptyParts); QStringList nameVals; QString defVal; QString minVal; QString maxVal; QStringList varVals; OptionType optionType = OPT_TYPE_STRING; QString error; bool done = false; foreach(QString token, list) { switch(phase) { case EXPECT_OPTION: if(token == "option") { phase = EXPECT_NAME; } else { error = token; } break; case EXPECT_NAME: if(token == "name") { phase = EXPECT_TYPE; } else { error = token; } break; case EXPECT_TYPE: if(token == "type") { phase = EXPECT_TYPE_TOKEN; } else { nameVals << token; } break; case EXPECT_TYPE_TOKEN: if(token == "check") { optionType = OPT_TYPE_CHECK; } else if(token == "spin") { optionType = OPT_TYPE_SPIN; } else if(token == "combo") { optionType = OPT_TYPE_COMBO; } else if(token == "button") { optionType = OPT_TYPE_BUTTON; done = true; } else if(token == "string") { optionType = OPT_TYPE_STRING; } else { error = token; } phase = EXPECT_MIN_MAX_DEFAULT; break; case EXPECT_DEFAULT_VALUE: defVal = token; switch(optionType) { case OPT_TYPE_SPIN: phase = EXPECT_MIN_MAX_DEFAULT; break; case OPT_TYPE_COMBO: phase = EXPECT_VAR_TOKEN; break; case OPT_TYPE_CHECK: case OPT_TYPE_STRING: default: done = true; break; } break; case EXPECT_MIN_MAX_DEFAULT: if(token == "default") { phase = EXPECT_DEFAULT_VALUE; } else if(token == "min") { phase = EXPECT_MIN_VALUE; } else if(token == "max") { phase = EXPECT_MAX_VALUE; } else { done = true; } break; case EXPECT_MIN_VALUE: minVal = token; phase = EXPECT_MIN_MAX_DEFAULT; break; case EXPECT_MAX_VALUE: maxVal = token; phase = EXPECT_MIN_MAX_DEFAULT; break; case EXPECT_VAR_TOKEN: if(token == "var") { phase = EXPECT_VAR; } else { done = true; } break; case EXPECT_VAR: varVals << token; phase = EXPECT_VAR_TOKEN; break; default: error = token; return; } if(done || !error.isEmpty()) { break; } } if(!error.isEmpty()) { qDebug() << "Cannot parse Option string: '" << message << "' looking at token '" << error << "'!"; return; } if(done || (phase > EXPECT_DEFAULT_VALUE)) { QString name = nameVals.join(" "); EngineOptionData option; option.m_name = name; option.m_minVal = minVal; option.m_maxVal = maxVal; option.m_defVal = defVal; option.m_varVals = varVals; option.m_type = optionType; m_options.append(option); } else { qDebug() << "Incomplete syntax parsing Option string: '" << message << "'!"; return; } } ./chessx-1.3.2/src/database/uciengine.h000644 000765 000024 00000004334 12375174653 017413 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2006-2007 Sean Estabrooks * * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __UCIENGINE_H__ #define __UCIENGINE_H__ #include class QTextStream; #include "engine.h" /** @ingroup Feature * The UCIEngine class provides an interface to Winboard/XBoard engines. */ class UCIEngine : public Engine { public: /** Constucts an engine with a given path/command, and log stream */ UCIEngine(const QString& name, const QString& command, bool bTestMode, const QString& directory = QString(), QTextStream* logStream = NULL); /** Analyses the the given position */ bool startAnalysis(const Board& board, int nv, int mt, bool bNewGame); /** Stops any analysis */ void stopAnalysis(); /** Update number of displayed lines. Restarts engine. */ virtual void setMpv(int mpv); virtual void setMoveTime(int mt); virtual bool providesMvp() { return true; } void setPosition(); protected: /** Performs any initialisation required by the engine protocol */ void protocolStart(); /** Performs any shutdown procedure required by the engine protocol */ void protocolEnd(); /** Processes messages from the chess engine */ void processMessage(const QString& message); private: /** Parses analysis */ void parseAnalysis(const QString& message); void parseBestMove(const QString& message); /** Parse option string */ void parseOptions(const QString &message); Board m_board; QString m_position; QString m_waitingOn; bool m_quitAfterAnalysis; }; #endif // __UCIENGINE_H__ ./chessx-1.3.2/src/database/version.h000644 000765 000024 00000002325 12522146436 017120 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2007-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #define VERSION_MAJOR 1 #define VERSION_MINOR 3 #define REVISION 2 #define XGLUE2(a,b) #a "," #b #define GLUE2(a,b) XGLUE2(a,b) #define XGLUE4(a,b,c,d) #a "," #b "," #c "," #d #define GLUE4(a,b,c,d) XGLUE4(a,b,c,d) #define XGLUEDOT3(a,b,c) #a "." #b "." #c #define GLUEDOT3(a,b,c) XGLUEDOT3(a,b,c) #define STR_VERSION GLUE2(VERSION_MAJOR,VERSION_MINOR) #define STR_REVISION GLUE4(VERSION_MAJOR,VERSION_MINOR,REVISION,0) #define STR_VERSION_NET GLUEDOT3(VERSION_MAJOR,VERSION_MINOR,REVISION) #define COPYRIGHT_DATE "(C) 2015" #define COPYRIGHT "Copyright(C) 2015" ./chessx-1.3.2/src/database/wbengine.cpp000644 000765 000024 00000017166 12507517064 017577 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #include "wbengine.h" #if defined(_MSC_VER) && defined(_DEBUG) #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) #define new DEBUG_NEW #endif // _MSC_VER WBEngine::WBEngine(const QString& name, const QString& command, bool bTestMode, const QString& directory, QTextStream* logStream) : Engine(name, command, bTestMode, directory, logStream) { m_analyze = false; m_setboard = false; // We do not support version 1 xboard protocol, so this _must_ be set true by feature discovery m_invertBlack = true; } bool WBEngine::startAnalysis(const Board& board, int nv, int mt, bool /*bNewGame*/) { Engine::setMoveTime(mt); m_mpv = nv; if(isActive() && m_board == board) { return true; } stopAnalysis(); m_board = board; if(m_analyze && isActive() && m_setboard) { send("setboard " + board.toFen()); send("post"); if (mt > 0) { send (QString("st %1").arg(m_moveTime/1000)); send ("go"); } else { send("analyze"); } setAnalyzing(true); return true; } return false; } void WBEngine::stopAnalysis() { if(isAnalyzing()) { send("exit"); setAnalyzing(false); } } void WBEngine::protocolStart() { send("xboard"); send("protover 2"); QTimer::singleShot(2000, this, SLOT(featureTimeout())); } void WBEngine::protocolEnd() { stopAnalysis(); send("quit"); setActive(false); m_board.clear(); } void WBEngine::processMessage(const QString& message) { QString trim(message); // GNU Chess always prompts ... if(trim.startsWith("White (1) : ")) { trim = message.mid(12); } trim = trim.trimmed(); if(!isActive() && trim.startsWith("Crafty v")) { m_invertBlack = false; } //determine command QString command = trim.section(" ", 0, 0); //identify and process the command if(command == "feature") { feature(trim); } else if(command == "move") { parseBestMove(trim); } else if(isAnalyzing()) { parseAnalysis(trim); } } void WBEngine::feature(const QString& command) { //break up command into individual features int index = command.indexOf(' ') + 1; int equalsIndex; int endIndex; QString feature; QString value; while(index < (int)command.length()) { //feature name terminates with an = equalsIndex = command.indexOf('=', index); feature = command.mid(index, equalsIndex - index); //string values are delimited by ", others end with whitespace if(command[equalsIndex + 1] == '"') { endIndex = command.indexOf('"', equalsIndex + 2); value = command.mid(equalsIndex + 2, (endIndex - equalsIndex) - 2); index = endIndex + 2; } else { endIndex = command.indexOf(' ', equalsIndex + 1); value = command.mid(equalsIndex + 1, (endIndex - equalsIndex) - 1); index = endIndex + 1; } //if endIndex is -1 then the end of the string has been reached if(endIndex == -1) { index = command.length(); } //process feature/value pair if(feature == "setboard") { m_setboard = (bool)value.toInt(); send("accepted " + feature); } else if(feature == "analyze") { m_analyze = (bool)value.toInt(); send("accepted " + feature); } else if(feature == "done") { featureDone((bool)value.toInt()); send("accepted " + feature); } else { //unknown feature, reject it send("rejected " + feature); } QString name = feature; EngineOptionData option; option.m_name = name; option.m_defVal = value; option.m_type = OPT_TYPE_SPIN; m_options.append(option); } } void WBEngine::featureDone(bool done) { // We've received a "done" feature offer from engine, // so it supports V2 or better of the xboard protocol // No need to wait any longer wondering if we're talking to a V1 engine if(done) { setActive(true); } // The engine will send done=1, when its ready to go, // and done=0 if it needs more than 2 seconds to start. } void WBEngine::featureTimeout() { if(!isActive()) { v1TurnOffPondering(); setActive(true); } } void WBEngine::parseBestMove(const QString& message) { QString bestMove = message.section(' ', 1, 1, QString::SectionSkipEmpty); if (!bestMove.isEmpty()) { Analysis analysis; Move move = m_board.parseMove(bestMove); MoveList moves; if (move.isLegal()) { moves.append(move); } analysis.setVariation(moves); analysis.setBestMove(true); sendAnalysis(analysis); } } void WBEngine::parseAnalysis(const QString& message) { QString trimmed = message.simplified(); Analysis analysis; bool ok; bool timeInSeconds = false; //Depth QString depth = trimmed.section(' ', 0, 0); analysis.setDepth(depth.toInt(&ok)); if(!ok) { depth.truncate(depth.length() - 1); analysis.setDepth(depth.toInt(&ok)); if(!ok) { return; } timeInSeconds = true; } //Score int score = trimmed.section(' ', 1, 1).toInt(&ok); if(!ok) { return; } if(m_invertBlack && m_board.toMove() == Black) { score = -score; } analysis.setScore(score); //Time int time = trimmed.section(' ', 2, 2).toInt(&ok); if(!ok) { return; } if(timeInSeconds) { time = time * 1000; } else { time *= 10; } analysis.setTime(time); //Node analysis.setNodes(trimmed.section(' ', 3 , 3).toLongLong(&ok)); if(!ok) { return; } //Variation Board board = m_board; QString sanMove; MoveList moves; int section = 4; while((sanMove = trimmed.section(' ', section, section)) != "") { if(sanMove.startsWith("(")) { break; } // SBE -- What the heck is "" and why does crafty send it? if(!sanMove.endsWith(".") && sanMove != "") { Move move = board.parseMove(sanMove); if(!move.isLegal()) { // qWarning("! move: |%s|", sanMove.toLatin1().constData()); // qWarning("Variation parsing failed"); break; } board.doMove(move); moves.append(move); } section++; } analysis.setVariation(moves); if(analysis.isValid()) { sendAnalysis(analysis); } } void WBEngine::v1TurnOffPondering() { send("hard"); send("easy"); } ./chessx-1.3.2/src/database/wbengine.h000644 000765 000024 00000004153 12375174653 017242 0ustar00nistaff000000 000000 /*************************************************************************** * (C) 2005-2006 William Hoggarth * * (C) 2005-2009 Michal Rudolf * * * * 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. * ***************************************************************************/ #ifndef __WBENGINE_H__ #define __WBENGINE_H__ #include class QTextStream; #include "engine.h" /** @ingroup Feature The WBEngine class provides an interface to a Winboard chess engine. */ class WBEngine : public Engine { Q_OBJECT public: /** Constucts an engine with a given path/command, and log stream */ WBEngine(const QString& name, const QString& command, bool bTestMode, const QString& directory, QTextStream* logStream = NULL); /** Analyses the the given position */ bool startAnalysis(const Board& board, int nv, int mt, bool bNewGame); /** Stops any analysis */ void stopAnalysis(); protected: /** Initialises the winboard protocol */ void protocolStart(); /** Tells the winboard engine to exit */ void protocolEnd(); /** Processes messages from the chess engine */ void processMessage(const QString& message); protected slots: void featureTimeout(); private: /** Processes the feature command */ void feature(const QString& command); /** Processes the "done" feature */ void featureDone(bool done); /** Parses analysis */ void parseAnalysis(const QString& message); void parseBestMove(const QString& message); /** Instruct version 1 engine to stop pondering */ void v1TurnOffPondering(); Board m_board; bool m_analyze; bool m_setboard; }; #endif // __WBENGINE_H__ ./chessx-1.3.2/i18n/chessx_da.ts000644 000765 000024 00000503571 12513255046 016026 0ustar00nistaff000000 000000 AboutDlg About ChessX Om ChessX <b>ChessX</b><br> Free Chess Database <b>ChessX</b><br> Fri skakdatabase Version Version Copyright Copyright License Licens Maintainer Vedligeholder Further Maintainers Yderligere vedligeholdere Testing Testing Coders Programmører Further Code Yderligere programmører Translations Oversættelser Path Information Sti-information Path for temporary files Sti for midlertidige filer Program data path Sti for programdata Path to settings Sti til indstillinger Contact Kontakt Homepage Hjemmeside Mailing List Postliste ActionDialog Customize Keyboard Tilpas tastatur Menu Item Menupunkt Keyboard Shortcut Tastaturgenvej Analysis Mate Matt Mate in %1 Matt i %1 (depth %1, %2) (dybde %1, %2) (suggested move) (foreslÃ¥et træk) AnalysisWidget Analysis Analyse &Lines: &Linjer: Pin engine to current position LÃ¥s motor til aktuelle stilling ... ... Analyze Analysér Stop Stop There was an error (%1) running engine <b>%2</b>. Der opstod en fejl (%1) ved kørsel af motor <b>%2</b>. Draw Remis White wins in %n moves Hvid vinder i %n træk Hvid vinder i %n træk Black wins in %n moves Sort vinder i %n træk Sort vinder i %n træk Analysis pinned to move %1 Analyse lÃ¥st til træk %1 Click to add move to game Tablebase Complexity <a href="0" title="Click to add move to game">[+]</a> <b>Tablebase:</b> <a href="0" title="Klik for at tilføje træk til parti">[+]</a><b>Slutspilsdatabase:</b> <br><b>Complexity:</b> %1/%2<br> <br><b>Kompleksitet:</b> %1/%2<br> <br><b>Complexity:</b> %1<br> <br><b>Kompleksitet:</b> %1<br> BitBoard w%1 b%2 %3 to move. H: %1 S: %2 %3 i trækket. White Hvid Black Sort BoardSearchDialog Search Board Find stilling Find Find Find in current filter Find i det aktuelle filter Search whole database Søg i hele databasen Add to current filter Føj til nuværende filter Remove from current filter Fjern fra det aktuelle filter BoardSetupDialog Setup position Opsæt stilling Board Bræt Tools Værktøjer Side to move: Spiller i trækket: Move: Træk: Flip board Vend bræt ... ... Mirror left and right Spejlvend højre og venstre side Mirror top and bottom Spejlvend top og bund Change colors for all pieces Ombyt farven pÃ¥ alle brikker Clear Ryd &Advanced &Advanceret Castling rights Rokaderettigheder Black O-O Sort O-O White O-O-O Hvid O-O-O White O-O Hvid O-O Black O-O-O Sort O-O-O En passant file: En passant-linje: Halfmove clock: Antal udførte træk (halvtræk): FEN FEN Paste FEN Indsæt FEN Copy FEN Kopiér FEN Copy Text Kopiér tekst Current position is not valid. %1. Den aktuelle stilling er ulovlig. %1. No white king Ingen hvid konge No black king Ingen sort konge Both kings are in check Begge konger er i skak Side to move has opponent in check already Spilleren i trækkets modstander er allerede i skak Black has too many pawns Sort har for mange bønder White has too many pawns Hvid har for mange bønder There are pawns on the first or eighth rank Der er bønder pÃ¥ første eller ottende række Too many kings For mange konger Too many black pieces For mange sorte brikker Too many white pieces For mange hvide brikker Bad castling rights Umulige rokaderettigheder En passant square is not correct En passant-felt er ikke korrekt Unknown reason Ukendt Ã¥rsag Illegal position: %1 Ulovlig stilling: %1 Text in clipboard does not represent valid FEN:<br><i>%1</i> Teksten i udklipsholderen er ikke en gyldig FEN-kode:<br><i>%1</i> There is no text in clipboard. Der er ingen tekst i udklipsholderen. BoardTheme Cannot find piece data. Please check your installation. Kan ikke finde data for brik. Tjek venligst din installation. ChessBrowser Add start comment... Tilføj startkommentar ... Add game comment... Tilføj partikommentar ... Comment... Kommentar ... Add move symbol Tilføj træksymbol Add evaluation symbol Tilføj evalueringssymbol Add other symbol Tilføj andet symbol Bishops Løbere Remove symbols Fjern symboler Enumerate Variations A) B) C) Nummerer variationer A) B) C) Enumerate Variations a) b) c) Nummerer variationer a) b) c) Promote to main line Ophøj til hovedlinje Move variation up Flyt variant op Move variation down Flyt variant ned Remove variation Fjern variant Remove previous moves Fjern foregÃ¥ende træk Remove next moves Fjern de næste træk Insert threat Indsæt trussel Copy Html Kopiér HTML Copy Text Kopiér tekst Refactor Omstrukturér Uncomment Fjern kommentarer Remove Variations Fjern varianter ClipboardDatabase Clipboard Udklipsholder CommentDialog Edit Comment Rediger kommentar Time Tid Elapsed Brugt Clock Luk Move Træk H:mm:ss H:mm:ss CopyDialog Copy Games Kopiér partier Copy: Kopiér: &Current game &Aktuelt parti Selected Games Valgt partier Games in &filter Partier i &filter &All games &Alle partier &To: &Til: DatabaseList Databases Databaser Activate Aktivér Open Ã…bn Close Luk Add to favorites Føj til foretrukne Remove from Favorites Fjern fra foretrukne Show in Finder Vis i finder Make a Polyglot book... Lav en Polyglot-Ã¥bningsbog ... : File not found : Filen blev ikke fundet DatabaseListModel Favorite Foretrukken Name Navn Size Størrelse Open Ã…bn Path Sti Format Format Date Dato Clipboard Udklipsholder Closed Lukket DlgSaveBook Build Polyglot Book Byg Polyglotbog Input File Inputfil Polyglot Book Parameters Polyglot bogparametre Max Ply Maks. antal træk Min Game Mindste parti Uniform Probabilities Uniforme sandsynligheder Output Path Outputsti Enter the complete target path Angiv den fulde mÃ¥lsti Clipboard Udklipsholder ECOListWidget <html><body><i>No ECO code chosen.</i></body></html> <html><body><i>Ingen ECO-kode er valgt.</i></body></html> <html><i>No ECO code chosen.</i></html> <html><i>Ingen ECO-kode er valgt.</i></html> EcoInfo <i>no games</i> <i>ingen partier</i> Total: %1 I alt: %1 Games in database %1: %2 Partier i database %1: %2 Rating: <b>%1</b> Rating: <b>%1</b> Rating: <b>%1-%2</b> Rating: <b>%1-%2</b> White Player Hvid spiller Score Score Black Player Sort spiller <table><tr><th>White Player</th><th>Score</th></tr> <table><tr><th>Hvid spiller</th><th>Score</th></tr> <a name='ListBlack'></a><table><tr><th>Black Player</th><th>Score</th></tr> <a name='ListBlack'></a><table><tr><th>Sort spiller</th><th>Score</th></tr> EngineOptionDialog Engine Options Motorindstillinger for EngineOptionList Engine Options Motorindstillinger EngineOptionModel Name Navn Default Standard Min Min. Max Maks. Value Værdi EventInfo <i>no games</i> <i>ingen partier</i> Total: %1 I alt: %1 Games in database %1: %2<br> Partier i database %1: %2<br> Rating: <b>%1</b><br> Rating: <b>%1</b><br> Rating: <b>%1-%2</b><br> Rating: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Dato: <b>????.??.??<b><br> Date: <b>%1</b><br> Dato: <b>%1</b><br> <table><tr><th>Participants</th><th>Score</th></tr> <table><tr><th>Deltagere</th><th>Score</th></tr> EventListWidget <html><i>No event chosen.</i></html> <html><i>Der er ikke valgt et arrangement.</i></html> ExtTool : File not found : Filen blev ikke fundet FicsClient Connected to FICS as %1 using %2 FicsConsole Form Form Messages Say to opponent ... ... White Hvid Black Sort History Double click to examine game Finger Games Partier Double click to follow game Relay Puzzle Double click to get a puzzle Elo Propose a game Get Mate Get Study Get Tactics Messages from Puzzlebot Players Spillere Rating Rating User Seeks Time Control Tidskontrol Lightning Blitz Standard Minutes Increment rated unrated Seek No play list Enter command here Accept Draw Remis Decline Abort Resign Hint Cancel Disconnect Disconnected Retrieving relayed games... FilterModel Nr Nr. White Hvid Black Sort White Elo Hvid elo Black Elo Sort elo Event Arrangement Site Sted Round Runde Date Dato Result Resultat ECO ECO Moves Træk Game Add move Tilføj træk Merge game Flet partier Replace move Erstat træk Add Variation Tilføj variant Promote Variation Ophøj variant Remove variation Fjern variant Truncate variation Beskær variant Remove variations Fjern varianter Remove comments Fjern kommentarer Set annotation Sæt symboler Colorize square Farvelæg felt Paint arrow Lav en pil Add nag Tilføj symbol Set nags Sæt symboler Move variation Flyt variant Enumerate variations Nummerer variationer Set result Sæt resultat GameList Game list Partiliste Find tag... Find tag... Hide Column Skjul kolonne Resize visible Columns Tilpas bredde pÃ¥ synlige kolonner Show all Columns Vis alle kolonner Copy games... Kopiér partier ... Merge into current game Flet ind i aktuelt parti All Games Alle partier Filter Filter Selected games Valgt partier Delete game Slet parti Hide game LoadQuery Load Database Indlæs database Currently, there are no databases configured. Shall I download a database? Der er ikke i øjeblikket indstillet nogen databaser. Skal jeg downloade en database? Large Database (9M) Stor database (9M) Small Database Lille database Start Download! Start download! Skip Loading Undlad indlæsning MainWindow Game Text Partitekst Game Time Tid Game List Partiliste Players Spillere Events Arrangementer ECO ECO Databases Databaser Opening Tree Ã…bningstræ Analysis 1 Analyse 1 Analysis 2 Analyse 2 Move Interval: Trækinterval: Loading ECO file... Indlæser ECO-fil ... ECO Loaded. ECO indlæst. ECO Load Error. ECO-indlæsningsfejl. [Clipboard] [Udklipsholder] Database %1 cannot be accessed at the moment. Database %1 kan ikke bruges i øjeblikket. Opening %1... Ã…bner %1 ... Database %1 cannot be accessed at the moment (%2). Database %1 kan ikke bruges i øjeblikket (%2). Cannot open file Filen kan ikke Ã¥bnes %1 opened %1 Ã¥bnet Export games Eksportér partier PGN file (*.pgn) PGN-fil (*.pgn) HTML page (*.html) HTML-side (*.html) LaTeX document (*.tex) LaTeX-dokument (*.tex) &File &Fil File Fil &New database... &Ny database ... &Open... &Ã…bn ... Open in UTF8... Ã…bn i UTF8 ... Open &recent... Ã…bn n&ylig ... &Save &Gem Commit Database to disk Skriv database til disk &Export... &Eksportér ... Current Game Aktuelt parti &Games in filter &Partier i filter &All games &Alle partier Export Image Eksportér billede Mail PGN... &Close &Luk &Quit &Afslut &Edit &Rediger Edit Rediger Undo Fortryd Redo Gendan Comment Kommentar Comment Before Kommentar før Variation Variant Promote Ophøj Promote Variation Ophøj variant Remove Fjern Remove Variation Fjern variant &Remove &Fjern Moves from the beginning Træk fra starten Moves to the end Træk til enden Setup &position... Opsæt &stilling ... Copy PGN Kopiér PGN Copy FEN Kopiér FEN Copy Position Kopiér stilling Copy Image Kopiér billede &Save... &Gem... Save Gem Edit tags... Rediger egenskaber... Match Match Find tag... Find tag... Find position... Find stilling... Load Sample Database Indlæs eksempeldatabase... Report a bug... Meld en fejl ... &Preferences... &Indstillinger ... &View &Vis Toolbars Værktøjslinjer Stay on Top Forbliv øverst Close current board Luk aktuelt bræt &Game &Parti Game Parti Database Database &New &Ny &Load &Indlæs &Next &Næste &Previous &Forrige &Go to game... &GÃ¥ til parti ... &Random &Tilfældig &Flip board &Vend bræt Training Træning Auto Respond Auto-svar Auto Player Auto-spiller Auto Analysis Auto-analyse &Go to &GÃ¥ til &Start &Start Go to first move GÃ¥ til første træk &End S&lut Go to last move GÃ¥ til sidste træk &Previous move &Forrige træk FICS Console Open FICS Save Database Paste into new game Indsæt ind i aktuelt parti Paste Indsæt &Next move &Næste træk 5 moves &forward 5 træk fre&m 5 moves &backward 5 træk &tilbage Enter Variation Ind i variant Previous Variation Forrige variant Next Variation Næste variant Back to main line Tilbage til hovedlinjen Refactor Omstrukturér Uncomment Fjern kommentarer Remove Variations Fjern varianter Fi&nd F&ind Search Søg &Reset filter &Nulstil filter &Reverse filter &Omvend filter &Database &Database &Switch to &Skift til &Copy games... &Kopiér partier ... Clear clipboard Fjern Udklipsholder &Help &Hjælp Help Hjælp Customize Keyboard... Tilpas tastatur ... &About ChessX &Om ChessX Following databases are modified: Følgende databaser er ændrede: Save them? Gen dem? (%1 s.) (%1 s.) Start loading database... Starter indlæsning af database ... A new version is available at chessx.sourceforge.net En ny version er tilgængelig pÃ¥ chessx.sourceforge.net New database Ny database PGN database (*.pgn) PGN-database (*.pgn) Cannot create ChessX database. Kan ikke lave ChessX-database. Open database Ã…bn database PGN databases (*.pgn);;Polyglot books (*.bin) PGN-databaser (*.pgn);;Polyglot-Ã¥bningsbøger (*.bin) PGN databases (*.pgn) PGN-databaser (*.pgn) The current database is modified! Den aktuelle database er ændret! Save it? Gem den? Saving %1... Gemmer %1 ... %1 saved %1 er gemt <html>The database <i>%1</i> is read-only and cannot be saved.</html> <html>Databasen <i>%1</i> er skrivebeskyttet og kan ikke gemmes.</html> Text in clipboard does not represent valid FEN:<br><i>%1</i> Teksten i udklipsholderen er ikke en gyldig FEN-kode:<br><i>%1</i> There is no text in clipboard. Der er ingen tekst i udklipsholderen. The clipboard contains FEN, but with illegal position. You can only paste such positions in <b>Setup position</b> dialog. Udklipsholderen inderholder FEN-kode, men med en ulovlig stilling. Du kan kun indsætte sÃ¥danne stillinger i <b>Opsæt stilling</b>-dialogen. Set starting board Opsæt stilling Images (*.png *.jpg *.jpeg *.bmp) Billeder (*.png *.jpg *.jpeg *.bmp) Red Square Rødt felt Yellow Square Gult felt Green Square Grønt felt Remove Color Fjern farve Red Arrow to here Rød pil hertil Yellow Arrow to here Gul pil hertil Green Arrow to here Grøn pil hertil Remove Arrow to here Fjern pil hertil Load Game Indlæs parti Game number: Partinummer: This database is read only. Databasen er skrivebeskyttet. Merge selected games Flet valgt partier Analysis Pane 1 is not running an engine for automatic analysis. Der kører ikke en motor med mulighed for automatisk analyse i analyserude 1. Engine %1 Motor %1 all Alle Append game %1 to %2. Tilføj parti %1 til %2. Clipboard Udklipsholder Append games from %1 to %2. Tilføj partier fra %1 til %2. You need at least two open databases to copy games Der skal være mindst to Ã¥bne databaser før du kan kopiere partier %1. %2 (%3 games) %1. %2 (%3 partier) %1 - ChessX %1 - ChessX Search ended Søgningen er afsluttet Updating tree... Opdaterer træ ... <b>New game</b> <b>Nyt parti</b> Infinite Ubegrænset Could not build book Kunne ikke bygge bog Polyglot Error Polyglot-fejl Please configure your email preferences first. Please configure your email preferences first. Hello Hej the attachment provides new game data. the attachment provides new game data. You can open the file with ChessX. You can open the file with ChessX. Edit game tags Rediger parti egenskaber EMail error EMail fejl EMail sent to EMail sent to EMail sent EMail sent MessageDialog Error Fejl Warning Advarsel Information Information Question SpørgsmÃ¥l &Yes &Ja &No &Nej &OK &O.k. &Cancel &Annuller MoveData [end] [slut] NagSet Good Move Godt træk Poor Move DÃ¥rligt træk Very good Move Meget godt træk Blunder Meget dÃ¥rligt træk Speculative Move Spekulativt træk Dubious Move Tvivlsomt træk Only Move Eneste mulighed Worst Move Equal Lige Unclear Uklart White has slight advantage Hvid har en lille fordel Black has slight advantage Sort har en lille fordel White has moderate advantage Hvid har moderat fordel Black has moderate advantage Sort har moderat fordel White has decisive advantage Hvid har afgørende fordel Black has decisive advantage Sort har afgørende fordel White has crushing advantage Hvid har overvældende fordel Black has crushing advantage Sort har overvældende fordel Zugzwang Træktvang With slight space advantage Med lille pladsfordel With moderate space advantage Med moderat pladsfordel With decisive space advantage Med afgørende pladsfordel With slight development advantage Med lille udviklingsfordel With moderate development advantage Med moderat udviklingsfordel With decisive development advantage Med afgørende udviklingsfordel With initiative Med initiativ With lasting initiative Med initiativ With attack Med angreb With insufficient compensation for material deficit Med utilstrækkelig kompensation for manglende materiale With compensation Med kompensation With more than adequate compensation for material deficit Med mere end tilstrækkelig kompensation for manglende materiale With slight center control advantage Med lille centrumskontrol-fordel With moderate center control advantage Med moderat centrumskontrol-fordel With decisive center control advantage Med afgørende centrumskontrol-fordel With slight kingside control advantage Med lille kongefløjskontrol-fordel With moderate kingside control advantage Med moderat kongefløjskontrol-fordel With decisive kingside control advantage Med afgørende kongefløjskontrol-fordel With slight queenside control advantage Med lille dronningefløjskontrol-fordel With moderate queenside control advantage Med moderat dronningefløjskontrol-fordel With decisive queenside control advantage Med afgørende dronningefløjskontrol-fordel With vulnerable first rank Med sÃ¥rbar første række With well protected first rank Med velbeskyttet første række With poorly protected king Med dÃ¥rligt beskyttet konge With well protected king Med velbeskyttet konge With poorly placed king Med dÃ¥rlig placeret konge With well placed king Med velplaceret konge With very weak pawn structure Med meget svag bondestruktur With moderately weak pawn structure Med svag bondestruktur With moderately strong pawn structure Med stærk bondestruktur With very strong pawn structure Med meget stærk bondestruktur With poor knight placement Med dÃ¥rlig placering af springer With good knight placement Med god placering af springer With poor bishop placement Med dÃ¥rlig placering af løber With good bishop placement Med god placering af løber With poor rook placement Med dÃ¥rlig placering af tÃ¥rn With good rook placement Med god placering af tÃ¥rn With poor queen placement Med dÃ¥rlig placering af dronning With good queen placement Med god placering af dronning With poor piece coordination Med dÃ¥rlig koordinering af brikker With good piece coordination Med god koordinering af brikker White played the opening very poorly Hvid spillede Ã¥bningen meget dÃ¥rligt Black played the opening very poorly Sort spillede Ã¥bningen meget dÃ¥rligt White played the opening poorly Hvid spillede Ã¥bningen dÃ¥rligt Black played the opening poorly Sort spillede Ã¥bningen dÃ¥rligt White played the opening well Hvid spillede Ã¥bningen godt Black played the opening well Sort spillede Ã¥bningen godt White played the opening very well Hvid spillede Ã¥bningen meget godt Black played the opening very well Sort spillede Ã¥bningen meget godt White played the middlegame very poorly Hvid spillede midtspillet meget dÃ¥rligt Black played the middlegame very poorly Sort spillede midtspillet meget dÃ¥rligt White played the middlegame poorly Hvid spillede midtspillet dÃ¥rligt Black played the middlegame poorly Sort spillede midtspillet dÃ¥rligt White played the middlegame well Hvid spillede midtspillet godt Black played the middlegame well Sort spillede midtspillet godt White played the middlegame very well Hvid spillede midtspillet meget godt Black played the middlegame very well Sort spillede midtspillet meget godt White played the ending very poorly Hvid spillede slutspillet meget dÃ¥rligt Black played the ending very poorly Sort spillede slutspillet meget dÃ¥rligt White played the ending poorly Hvid spillede slutspillet dÃ¥rligt Black played the ending poorly Sort spillede slutspillet dÃ¥rligt White played the ending well Hvid spillede slutspillet godt Black played the ending well Sort spillede slutspillet godt White played the ending very well Hvid spillede slutspillet meget godt Black played the ending very well Sort spillede slutspillet meget godt With counterplay Med modspil Moderate time control pressure I tidsnød Severe time control pressure I stærk tidsnød With the idea Med ideen Aimed against Rettet imod Better was Bedre var Worse was Værre var Equivalent was Lige sÃ¥ godt var RR Redaktionel bemærkning N Nyhed Weak point Svagt punkt Endgame Slutspil Line Linje Diagonal Diagonal Pair of bishops Løberpar Bishops of opposite color Ensfarvede løbere Bishops of the same color Uligefarvede løbere Diagram Diagram OpeningTree Move Træk Count Antal Score Score Rating Rating Year Ã…r OpeningTreeWidget Form Form Target MÃ¥l Filter games Filtrede partier Board Bræt Source Kilde Database Database Filter Filter Progress Fremgang Undo Fortryd (Book) OutputOptions Notation in Column Style Notation i kolonner Show symbolic Nags Vis symboler Text width Tekstbredde Indent variations from Level Indryk varianter fra niveau Variation Indentation Indrykning af variant Comment indentation Indrykning af kommentar Main Line Color Farve for hovedlinje Variation Color Farve for variant Comment Color Farve for kommentar NAG Color Farve for symboler Header Color Farve for overskrift Show Header Vis overskrift Show Diagrams Vis diagrammer Diagram Size Diagramstørrelse Font for text Skrifttype for tekst Font for moves Skrifttype for træk Comment Indentation Indrykning af kommentar PlayerInfo <i>no games</i> <i>ingen partier</i> Total: %1<br>White: %2<br>Black: %3<br> I alt: %1<br>Hvid: %2<br>Sort: %3<br> Games in database <i>%1</i>: <b>%2</b><br> Partier i database <i>%1</i>: <b>%2</b><br> Rating: <b>%1</b><br> Rating: <b>%1</b><br> Rating: <b>%1-%2</b><br> Rating: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Dato: <b>????.??.??<b><br> Date: <b>%1</b><br> Dato: <b>%1</b><br> White Openings Hvide Ã¥bninger Black Openings Sorte Ã¥bninger <p>White Openings:</p><ul> <p>Hvide Ã¥bninger:</p><ul> </ul><p>Black Openings:</p><ul> </ul><p>Sorte Ã¥bninger:</p><ul> PlayerListWidget <html><i>No player chosen.</i></html> <html><i>Der er ikke valgt en spiller.</i></html> PreferencesDialog Preferences Indstillinger &Board &Bræt &Colors: &Farver: plain enkel outline kontur outline+shadow kontur+skygge &Draw frame between squares Tegn &ramme mellem felter &Chess set: &Briktype: Highlight current move: Fremhæv aktuelt træk: Mouse Behaviour Museopførsel &Guess move on left-click &Gæt træk ved venstreklik Next guess on right click Næste gæt ved højreklik Wheel sensitivity Hjulfølsomhed Fast Hurtig Slow Langsom Board &style: Bræt&stil: Draw Coordinates Tegn koordinater Arrow Pil Game Parti Autoplayer Autospiller Automatically save game and continue with next Gem partiet automatisk og fortsæt med næste Game Text Partitekst Show Diagrams Vis diagrammer Column Style Kolonnestil Keep variations inline from level Vis varianter uden eget afsnit fra niveau Diagram Size Diagramstørrelse Pieces Brikker Put the initials of the pieces here, mind the initial space. Placer initialer for brikkerne her. Bemærk det indledende mellemrum. KQRBN - Mind the initial space! KDTLS - Bemærk det indledende mellemrum! ... ... Colors: Farver: Auto Analysis backwards Automatic Promotion Always queen a pawn &Engines &Motorer Path to executable Sti til den kørbare fil Path where engine is started - usually place of books Sti hvor motoren skal startes - ofte hvor Ã¥bningsbogen er Directory: Mappe: Protocol: Protokol: Name: Navn: Options: Flag: Command: Kommando: Command Line Options Kommandolinjeflag Options Indstillinger Arbitrary name to identify engine VilkÃ¥rligt navn til at identificere motoren Sound Indicate opponent's move Down Ned Remove Fjern Add... Tilføj ... Up Op Database Database Automatic classification with ECO Codes Automatisk klassifikation med ECO-koder Build index file Byg indeksfil Commit Database after saving Game Skriv databasen til disk efter gemning af parti Default path for storing files Standardsti til gemning af filer Default Database Path: Standard databasesti: Number of recent files: Antal nylige filer: &Edit PGN files smaller than: &Rediger PGN-filer mindre end: MB MB Appearance Udseende Fonts for notation Skrifttyper til notation Texts Tekster Moves Træk Font with Chess Symbols (Unicode) Skrifttype med skaksymboler (Unicode) Font Size Skriftstørrelse Application Program Show move indicator Vis trækindikator Automatic Automatisk Always Altid Log in as guest Login Login Never Aldrig Icons visible in menus Ikoner er synlige i menuer Use vertical Tabs Brug lodrette faneblade Password Password Try to use Timeseal App Program Internet Internet Use online tablebase servers Brug online servere for slutspilstabeller Check for updates (at startup) and language packs Tjek for opdateringer (ved programstart) og sprogpakker Localization Lokalisering Language Sprog Changing the language requires restarting the application! Ændring af sproget kræver genstart af programmet! Load language file from Server: Indlæs sprogfil fra server: Load! Indlæs! External Tools Eksterne værktøjer Parameters Parametre Path Sti Path and filename of external program Sti og filnavn for eksternt program Command line, also $(InputPath), $(InputFile) Kommandolinje, der kan bruges $(InputPath) og $(InputFile) XBoard XBoard For updating translations online version checking needs to be enabled. For at opdatere oversættelser online skal versionstjek være aktivt. Select engine directory Vælg motormappe Select external executable Vælg ekstern kørbar programfil Select databases folder Vælg databasemappe New Engine Ny motor Select engine executable Vælg kørbar programfil for motor Could not load server language file dictionary Kunne ikke indlæse sprogfilmappe fra server Could not load or install language pack Kunne ikke indlæse eller installere sprogpakke Translation file loaded - select added language above! Oversættelsesfil er indlæst - vælg det tilføjede sprog herover! No further translations online available! Der er ikke yderligere oversættelser at hente online! Clear all application settings? Fjern alle programindstillinger? Warning Advarsel Light squares Hvide felter Dark squares Sorte felter Highlighted squares Fremhævede felter Frame Ramme Current move Aktuelt træk Stored move [plain colors] [ensfarvede felter] Main Line Hovedlinje Variations Varianter Comments Kommentarer NAGs Symboler TLS encryption TLS sikkerhed Sender address Sender adresse PromotionDialog Promote to Forvandl til Queen Dronning Rook TÃ¥rn Bishop Løber Knight Springer QuickSearchDialog Quick Tag Search Hurtig tag-søgning Value or Range like 2000-2300 Værdi eller omrÃ¥de sÃ¥som 2000-2300 &Value: &Værdi: &Tag: &Tag: &Mode: &Funktion: Find in current filter Find i det aktuelle filter Search whole database Søg i hele databasen Add to current filter Føj til nuværende filter Remove from current filter Fjern fra det aktuelle filter Find Find RecipientAddressDialog Recipient Address Mail This is no valid email address. RenameTagDialog Rename Tags in Database Omdøb tags i database Rename all Occurrences ... Omdøb alle forekomster ... from fra to til Press 'Rename' to proceed. Tryk 'Omdøb' for at fortsætte. Rename Omdøb SaveDialog Save Game Gem parti Players Spillere Elo: Elo: &White: &Hvid: &Black: &Sort: Team Hold White Team Hvids hold Black Team Sorts hold Time Control Tidskontrol White Start Time Hvids starttid H:mm:ss T:mm:ss Black Start Time Sorts starttid e.g. 40/7200:3600 for 2h/40 moves + 1h f.eks 40/7200:3600 for 2t/40 træk + 1t Tournament Turnering E&vent date: Dato: &Site: &Sted: &Event: &Arrangement: Game Information Partiinformation &Round: &Runde: &Date: &Dato: Result: Resultat: Clipboard Udklipsholder Dates are not properly formatted! Invalid Data Datoer er ikke korrekt formaterede! Dates are not properly formatted! Datoer er ikke korrekt formaterede! Invalid Data TableView Hide Column Skjul kolonne Resize visible Columns Tilpas bredde pÃ¥ synlige kolonner Show all Columns Vis alle kolonner TagDetailWidget Filter: Filter: Selected Item Valgt linje Filter Filtrér Rename Omdøb TagDialog Edit Tags Rediger egenskaber Tag Tag Value Værdi Deleting %1 tags Sletning af %1 værdier Edit tag... Enter value... ./chessx-1.3.2/i18n/chessx_de.ts000644 000765 000024 00000506134 12522147045 016027 0ustar00nistaff000000 000000 AboutDlg About ChessX Über ChessX <b>ChessX</b><br> Free Chess Database <b>ChessX</b><br> Freie Schachdatenbank Version Version Copyright Copyright License Lizenz Maintainer Projektleitung Further Maintainers Weitere Projektleiter Testing Tester Coders Programmierung Further Code Weitere Programmierer Translations Übersetzungen Path Information Pfade Path for temporary files Pfad zu Temporärdateien Program data path Pfad zu Programmdaten Path to settings Pfad zur Einstellungsdatei Contact Kontakt Homepage Homepage Mailing List Mail Liste ActionDialog Customize Keyboard Tastatur anpassen Menu Item Menü Eintrag Keyboard Shortcut Tastaturkürzel Analysis Mate Matt Mate in %1 Matt in %1 (depth %1, %2) (Tiefe %1, %2) (suggested move) (bevorzugter Zug) AnalysisWidget Stop Stopp There was an error (%1) running engine <b>%2</b>. Fehler (%1) beim Ausführen des Programms <b>%2</b>. Draw Remis White wins in %n moves Weiß gewinnt in %n Zug Weiß gewinnt in %n Zügen Black wins in %n moves Schwarz gewinnt in %n Zug Schwarz gewinnt in %n Zügen Analysis pinned to move %1 Analyse auf Zug %1 fixiert Click to add move to game Klicken um Zug zur Partie anzufügen Tablebase Tablebase Complexity Komplexität <br><b>Complexity:</b> %1<br> <br><b>Komplexität:</b> %1<br> &Lines: &Varianten: Pin engine to current position Analyse auf diesem Zug fixieren ... ... Analyze Analysiere Analysis Analyse BitBoard w%1 b%2 %3 to move. w%1 b%2 %3 am Zug. White Weiß Black Schwarz BoardSearchDialog Search Board Stellungssuche Previous Vorhergehende Next Nächste Find Suchen Find in current filter In aktuellem Filter finden Search whole database Durchsuche ganze Datenbank Add to current filter Zu aktuellem Filter hinzufügen Remove from current filter Aus aktuellem Filter löschen BoardSetupDialog No white king Kein weißer König No black king Kein schwarzer König Both kings are in check Beide Könige stehen im Schach Setup position Stellung aufbauen Clear Löschen Side to move: Am Zug: FEN FEN Move: Zug: Copy Text Text kopieren Side to move has opponent in check already Seite am Zug gibt Gegner bereits Schach Black has too many pawns Schwarz hat zu viele Bauern White has too many pawns Weiß hat zu viele Bauern There are pawns on the first or eighth rank Bauern stehen auf der ersten oder achten Reihe Too many kings Zu viele Könige Too many black pieces Zu viele schwarze Figuren Too many white pieces Zu viele weiße Figuren Bad castling rights Ungültige Rochade-Rechte En passant square is not correct En passent-Feld nicht korrekt Unknown reason Unbekannter Fehler Current position is not valid. %1. Aktuelle Position nicht gültig. %1. Illegal position: %1 Ungültige Position: %1 Text in clipboard does not represent valid FEN:<br><i>%1</i> In der Zwischenablage ist kein gültige FEN Position: <br><i>%1</i> There is no text in clipboard. Zwischenablage ist leer. Board Brett &Advanced &Erweitert En passant file: En passant Linie: Castling rights Erlaubte Rochaden Tools Werkzeuge Flip board Brett drehen ... ... Mirror left and right Links und rechts spiegeln Mirror top and bottom Oben und unten spiegeln Change colors for all pieces Farbwechsel der Steine Black O-O Schwarze O-O White O-O-O Weiße O-O-O White O-O Weiße O-O Black O-O-O Schwarze O-O-O Halfmove clock: Halbzug Zähler: Paste FEN Einfügen FEN Copy FEN Kopiere FEN BoardTheme Cannot find piece data. Please check your installation. Fehlerhafte Figurendaten. Bitte Installation prüfen. ChessBrowser Add start comment... Kommentar vor Variante hinzufügen... Add game comment... Partiekommentar hinzufügen... Comment... Kommentar... Add move symbol Zugbewertung hinzufügen Add evaluation symbol Stellungsbewertung hinzufügen Add other symbol Andere Auszeichnung hinzufügen Bishops Submenu for 3 NAGs: pair of bishops, bishops of sam/oppositie color Läufer Remove symbols Auszeichnungen entfernen Enumerate Variations A) B) C) Aufzählung A) B) C) Enumerate Variations a) b) c) Aufzählung a) b) c) Promote to main line Zur Hauptvariante machen Move variation up Variante nach oben Move variation down Variante nach unten Remove variation Variante löschen Remove previous moves Vorhergehende Züge löschen Remove next moves Restliche Züge löschen Insert threat Drohung einfügen Copy Html Kopieren in HTML Format Copy Text Text kopieren Refactor Entferne Uncomment Alle Kommentare Remove Variations Alle Varianten ClipboardDatabase Clipboard Zwischenablage CommentDialog Edit Comment Kommentar ändern Time Zeit Elapsed Abgelaufen Clock Uhrzeit Move Zug H:mm:ss CopyDialog Copy Games Kopiere Partien Copy: Kopiere: &Current game &Aktuelle Partie Selected Games Ausgewählte Partien Games in &filter Partien im &Filter &All games &Alle Partien &To: &Nach: DatabaseList Databases Datenbanken Open Öffnen Activate Aktivieren Close Schließen Add to favorites Zu Favoriten hinzufügen Remove from Favorites Aus Favoriten löschen Show in Finder Zeige im Finder Make a Polyglot book... Polyglot Buch erstellen... DatabaseListModel Favorite Favorit Name Name Size Größe Open Offen Path Pfad Format Format Date Datum Read Zuletzt Closed Geschlossen DlgSaveBook Build Polyglot Book Polyglot Buch erstellen Input File Eingabedatei Polyglot Book Parameters Buch Parameter Max Ply Anzahl Halbzüge Min Game Mindestanzahl Partien Enter the complete target path Kompletter Pfad für Ausgabedatei ... Uniform Probabilities Gleichverteilte Wahrscheinlichkeiten Output Path Ausgabedatei Clipboard Zwischenablage New book Neues Buch Polyglot Book (*.bin) Polyglot Buch (*.bin) ECOListWidget <html><body><i>No ECO code chosen.</i></body></html> <html><body><i>Kein ECO Code ausgewählt.</i></body></html> <html><i>No ECO code chosen.</i></html> Kein ECO Code ausgewählt EcoInfo <i>no games</i> <i>Keine Partien</i> Total: %1 Gesamt: %1 Games in database %1: %2 Partien in Datenbank %1: %2 Rating: <b>%1</b> Wertung: <b>%1</b> Rating: <b>%1-%2</b> Wertung: <b>%1-%2</b> White Player Weiß Score Resultat Black Player Schwarz EngineOptionDialog Engine Options Optionen EngineOptionList Engine Options Optionen EngineOptionModel Name Default Standardwert Min Minimum Max Maximum Value Wert EventInfo <i>no games</i> <i>Keine Partien</i> Total: %1 Gesamt: %1 Games in database %1: %2<br> Partien in Datenbank %1: %2<br> Rating: <b>%1</b><br> Wertung: <b>%1</b><br> Rating: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Datum: <b>????.??.??<b><br> Date: <b>%1</b><br> Datum: <b>%1</b><br> <table><tr><th>Participants</th><th>Score</th></tr> <table><tr><th>Teilnehmer</th><th>Ergebnis</th></tr> EventListWidget <html><i>No event chosen.</i></html> <html><i>Kein Turnier ausgewählt.</i></html> ExtTool : File not found : Datei nicht gefunden FicsClient Connected to FICS as %1 using %2 Mit FICS verbunden als %1 mit %2 FicsConsole Form Formular Messages Nachrichten Say to opponent Mitteilung an Gegner ... ... White Weiß Black Schwarz History Historie Double click to examine game Doppelt klicken um die Partie zu betrachten Finger Finger Games Partien Double click to follow game Doppelt klicken um der Partie zu folgen Relay Live-Übertragung Puzzle Rätsel Double click to get a puzzle Doppelt klicken um ein Rätsel zu starten Rated only Nur gewertete Human only Nur Menschen Elo Elo Propose a game Partie anbieten Get Mate Matt-Rätsel Get Study Studie Get Tactics Taktik-Aufgabe Messages from Puzzlebot Nachrichten vom Rätsel-Bot Players Spieler Rating Wertungszahl User User Seeks Suche Time Control Bedenkzeit Lightning Bullet Blitz Blitz Standard Standard Minutes Minuten Increment Inkrement rated gewertet unrated ungewertet Seek Suche No play list No-Play Liste Enter command here Accept Annehmen Draw Remis Decline Ablehnen Abort Abbrechen Resign Aufgeben Hint Hinweis Cancel Abbrechen Disconnect Verbindungen abbrechen Disconnected Verbindungen abgebrochen Retrieving relayed games... Hole übertragene Partien... Observe Beobachten Examine Ansehen FilterModel Nr Nr White Weiß Black Schwarz White Elo ELO Weiß Black Elo ELO Schwarz Event Turnier Site Ort Round Runde Date Datum Result Ergebnis ECO ECO Moves Züge Game Add move Zug hinzufügen Merge game Partien verschmelzen Replace move Zug ersetzen Add Variation Variante hinzufügen Promote Variation Variante aufwerten Remove variation Variante löschen Truncate variation Variante beschneiden Remove variations Varianten löschen Remove comments Kommentare löschen Set annotation Kommentar ändern Colorize square Felder einfärben Paint arrow Pfeil einzeichnen Add nag Auszeichnung hinzufügen Set nags Auszeichnung setzen Move variation Variante verschieben Enumerate variations Aufzählung in Varianten Set result Ergebnis setzen GameList Game list Partien Find tag... Suche Partie... Hide Column Spalte verstecken Resize visible Columns Sichtbare Spalten anpassen Show all Columns Alle Spalten anzeigen Copy games... Kopiere Partien... Merge into current game In aktuelle Partie integrieren All Games Ganze Datenbank Filter Filter Selected games Ausgewählte Partien Delete game Partie löschen Hide game Partie ausblenden GameWindow MainWindow MainWindow Move Zug Evaluation Stellung Other Andere LoadQuery Load Database Datenbank laden Currently, there are no databases configured. Shall I download a database? Zur Zeit sind keine Datenbanken verfügbar.\nSoll ich eine Datenbank herunterladen? Large Database (9M) Große Datenbank (9M) Small Database Kleinere Datenbank Start Download! Start Download! Skip Loading Laden überspringen MainWindow Game Text Notation Game List Partien Loading ECO file... Lade ECO Datei... ECO Loaded. ECO geladen. Open database Datenbank öffnen PGN database (*.pgn) PGN Datenbank (*.pgn) Cannot create ChessX database. ChessX Datenbank kann nicht angelegt werden. PGN databases (*.pgn) PGN Datenbanken (*.pgn) <html>The database <i>%1</i> is read-only and cannot be saved.</html> <html>Die Datenbank <i>%1</i> ist schreibgeschützt und kann nicht gesichert werden.</html> Saving %1... Speichere %1... PGN databases (*.pgn);;Polyglot books (*.bin) PGN Datenbanken (*.pgn);;Polyglot Bücher (*.bin) The current database is modified! Die aktuelle Datenbank wurde geändert! Save it? Datenbank sichern? %1 saved %1 gespeichert Text in clipboard does not represent valid FEN:<br><i>%1</i> In der Zwischenablage ist keine gültige FEN Position: <br><i>%1</i> There is no text in clipboard. Zwischenablage ist leer. Set starting board Partiestellung eingeben Images (*.png *.jpg *.jpeg *.bmp) Bilddateien (*.png *.jpg *.jpeg *.bmp) Red Square Rotes Feld Yellow Square Gelbes Feld Green Square Grünes Feld Remove Color Lösche Farbe Red Arrow to here Roter Pfeil hierher Yellow Arrow to here Gelber Pfeil hierher Green Arrow to here Grüner Pfeil hierher Remove Arrow to here Pfeil löschen Merge selected games Ausgewählte Partien verschmelzen Engine %1 Engine %1 all alle Append game %1 to %2. Partie %1 an %2 anhängen. Appended %1 games to %2. %1 Partien an %2 angehängt. Error appending games to %1 Fehler beim Hinzufügen von Partien an %1 Append games from %1 to %2. Partien aus %1 an %2 anhängen. <b>New game</b> <b>Neue Partie</b> Infinite Unendlich Could not build book Konnte kein Buch erstellen Polyglot Error Polyglot Fehler Analysis Pane 1 is not running an engine for automatic analysis. Analyse 1 ist nicht aktiv für Autoanalyse. %1 - ChessX Search ended Suche beendet Updating tree... Aktualisiere Baum... Load Game Partie laden Game number: Partienummer: This database is read only. Diese Datenbank ist schreibgeschützt. &File &Datei &Open... &Öffnen... &Export... &Exportieren... &Games in filter &Partien im Filter &All games &Alle Partien &Close &Schließen &Quit &Beenden &Edit &Bearbeiten Comment Kommentar Variation Variante Promote Aufwerten Remove Löschen Setup &position... Stellun&g aufbauen... ECO Load Error. Fehler beim Laden der ECO-Datei. Move Interval: Zug-Intervall: Database %1 cannot be accessed at the moment (%2). Auf die Datenbank %1 kann im Moment nicht zugegriffen werden (%2). File Datei Open in UTF8... Öffne UTF-8 kodierte Datei... Commit Database to disk Commit der Datenbank auf Disk Current Game Aktuelle Partie Export Image Bild exportieren Edit Ändern Undo Zurücknehmen Redo Wiederherstellen Promote Variation Variante aufwerten Remove Variation Variante entfernen Toolbars Toolbars Stay on Top Immer oben &Game &Partie Game Partie Database Datenbank &Load &Laden &Next &Nächste &Previous &Vorhergehende &Go to game... &Springe zur Partie... &Random &Zufällig Training Training Auto Respond Automatisch Antworten Auto Player Vorspielen Auto Analysis Autoanalyse &Go to &Springe zu &Start &Anfang Go to first move Zum Partieanfang springen &End &Ende Go to last move Zum Partieende springen &Next move &Nächster Zug Start loading database... Datenbank laden gestartet... A new version is available at chessx.sourceforge.net Eine neue Version ist verfügnar unter chessx.sourceforge.net &Previous move &Vorheriger Zug 5 moves &forward 5 Züge &vorwärts 5 moves &backward 5 Züge &zurück Enter Variation In Variante hineingehen Back to main line Zurück zur Hauptvariante Events Turniere FICS Console FICS Konsole ECO ECO Open FICS FICS öffnen Save Database Speichere Datenbank Export Image... Bild exportieren... Mail PGN... PGN senden... Copy PGN Kopiere PGN Copy FEN Kopiere FEN Copy Position Kopiere Stellung Copy Image Kopiere Bild Close current board Aktuelles Brett schliessen &Save... &Speichern... Save Speichern Edit tags... Partiedaten... Match Match Refactor Entferne Uncomment Alle Kommentare Remove Variations Alle Varianten Fi&nd &Suchen &Reset filter &Filter zurücksetzen &Reverse filter &Filter umkehren Clear clipboard Zwischenablage löschen Help Hilfe Customize Keyboard... Tastatur anpassen... Load Sample Database Beispiel Datenbank laden Report a bug... Fehlerbericht schreiben... Following databases are modified: Geänderte Datanbanken: Save them? Alle Datenbanken sichern? (%1 s.) &View &Ansicht Game Time Zeit Players Spieler Databases Datenbanken Analysis 1 Analyse 1 Analysis 2 Analyse 2 Database %1 cannot be accessed at the moment. Auf die Datenbank %1 kann im Moment nicht zugegriffen werden. Opening %1... Öffne %1... Cannot open file Datei kann nicht geöffnet werden %1 opened %1 geöffnet Comment Before Kommentar vor Variante Paste into new game Ablage in neue Partie einsetzen Paste Einfügen &Preferences... &Einstellungen... Previous Variation Vorhergehende Variante Next Variation Nächste Variante Search Suchen Find tag... Suche Partie... &Database &Datenbank &Flip board &Brett drehen Find position... Suche Stellung... &Help &Hilfe &About ChessX &Über ChessX Export games Partien exportieren Opening Tree Eröffnungsbaum &Remove &Entferne Moves from the beginning Züge ab Anfang Moves to the end Züge bis Ende &New &Neu PGN file (*.pgn) PGN-Datei (*.pgn) HTML page (*.html) HTML-Seite (*.html) LaTeX document (*.tex) LaTeX Dokument (*.tex) New database Neue Datenbank The clipboard contains FEN, but with illegal position. You can only paste such positions in <b>Setup position</b> dialog. Zwischenablage enthält FEN, aber eine ungültige Position. Sie können solche Positionen im <b>Einrichtungsdialog</b> eingeben. You need at least two open databases to copy games Mindestens zwei offene Datenbanken benötigt um Partien zu kopieren %1. %2 (%3 games) %1. %2 (%3 Partien) &New database... &Neue Datenbank... Open &recent... &Letzte öffnen... &Switch to &Wechseln zu &Copy games... Partien &kopieren... MessageDialog Error Fehler Warning Warnung Information Hinweis Question Frage &Yes &Ja &No &Nein &OK &OK &Cancel &Abbrechen MoveData [end] NagSet Good Move Guter Zug Poor Move Schwacher Zug Very good Move Sehr guter Zug Blunder Grober Fehler Speculative Move Spekulativer Zug Dubious Move Zweifelhafter Zug Only Move Einziger Zug Worst Move Schlechtester Zug Equal Gleich Unclear Unklar White has slight advantage Weiss hat einen kleinen Vorteil Black has slight advantage Schwarz hat einen kleinen Vorteil White has moderate advantage Weiss hat einen mässigen Vorteil Black has moderate advantage Schwarz hat einen mässigen Vorteil White has decisive advantage Weiss hat entscheidenden Vorteil Black has decisive advantage Schwarz hat entscheidenden Vorteil White has crushing advantage Weiss hat überwältigenden Vorteil Black has crushing advantage Schwarz hat überwältigenden Vorteil Zugzwang Zugzwang With slight space advantage Mit kleinem Raumvorteil With moderate space advantage Mit fühlbarem Raumvorteil With decisive space advantage Mit eintscheidendem Raumvorteil With slight development advantage Mit kleinem Entwicklungsvorsprung With moderate development advantage Mit Entwicklungsvorsprung With decisive development advantage Mit entscheidendem Entwicklungsvorsprung With initiative Mit Initiative With lasting initiative Mit anhaltender Initiative With attack Mit Angriff With insufficient compensation for material deficit Mit unzureichender Kompensation für das geopferte Material With compensation Mit Kompensation With more than adequate compensation for material deficit Mit mehr als ausreichender Kompensation für das materielle Defizit With slight center control advantage Mit kleinem Zentrumsvorteil With moderate center control advantage Mit Zentrumsvorteil With decisive center control advantage Mit entscheidendem Zentrumsvorteil With slight kingside control advantage Mit kleinem Vorteil auf dem Königsflügel With moderate kingside control advantage Mit Vorteil auf dem Königsflügel With decisive kingside control advantage Mit entscheidendem Vorteil auf dem Königsflügel With slight queenside control advantage Mit kleinem Vorteil auf dem Damenflügel With moderate queenside control advantage Mit Vorteil auf dem Damenflügel With decisive queenside control advantage Mit entscheidendem Vorteil auf dem Damenflügel With vulnerable first rank Mit geschwächter erster Reihe With well protected first rank Mit gut überwachter erster Reihe With poorly protected king Mit schlecht geschütztem König With well protected king Mit gut geschütztem König With poorly placed king Mit schlechter Königsstellung With well placed king Mit guter Königsstellung With very weak pawn structure Mit sehr schlechter Bauernstruktur With moderately weak pawn structure Mit schlechterer Bauernstruktur With moderately strong pawn structure Mit besserer Bauernstruktur With very strong pawn structure Mit sehr guter Bauernstruktur With poor knight placement Mit schlechter Springerstellung With good knight placement Mit guter Springerstellung With poor bishop placement Mit schlechter Läuferstellung With good bishop placement Mit guter Läuferstellung With poor rook placement Mit schlechter Turmstellung With good rook placement Mit guter Turmstellung With poor queen placement Mit schlechter Damenstellung With good queen placement Mit guter Damenstellung With poor piece coordination Mit schlechter Figurenkoordination With good piece coordination Mit guter Figurenkoordination White played the opening very poorly Weiss hat die Eröffnung schlecht behandelt Black played the opening very poorly Schwarz hat die Eröffnung schlecht behandelt White played the opening poorly Weiss hat die Eröffnung schlecht behandelt Black played the opening poorly Schwarz hat die Eröffnung schlecht behandelt White played the opening well Weiss hat die Eröffnung gut behandelt Black played the opening well Schwarz hat die Eröffnung gut behandelt White played the opening very well Weiss hat die Eröffnung gut behandelt Black played the opening very well Schwarz hat die Eröffnung gut behandelt White played the middlegame very poorly Weiss hat das Mittelspiel schlecht behandelt Black played the middlegame very poorly Schwarz hat das Mittelspiel schlecht behandelt White played the middlegame poorly Weiss hat das Mittelspiel schlecht behandelt Black played the middlegame poorly Schwarz hat das Mittelspiel schlecht behandelt White played the middlegame well Weiss hat das Mittelspiel gut behandelt Black played the middlegame well Schwarz hat das Mittelspiel gut behandelt White played the middlegame very well Weiss hat das Mittelspiel gut behandelt Black played the middlegame very well Schwarz hat das Mittelspiel gut behandelt White played the ending very poorly Weiss hat das Endspiel schlecht behandelt Black played the ending very poorly Schwarz hat das Endspiel schlecht behandelt White played the ending poorly Weiss hat das Endspiel schlecht behandelt Black played the ending poorly Schwarz hat das Endspiel schlecht behandelt White played the ending well Weiss hat das Endspiel gut behandelt Black played the ending well Schwarz hat das Endspiel gut behandelt White played the ending very well Weiss hat das Endspiel gut behandelt Black played the ending very well Schwarz hat das Endspiel gut behandelt With counterplay Mit Gegenspiel Moderate time control pressure Mässige Zeitnot Severe time control pressure Erhebliche Zeitnot With the idea Mit der Idee Aimed against Gerichtet gegen Better was Besser wäre Worse was Schlechter wäre Equivalent was Gleichwertig wäre RR RR N N Weak point Schwacher Punkt Endgame Enspiel Line Linie Diagonal Diagonale Pair of bishops Läuferpaar Bishops of opposite color Ungleichfarbige Läufer Bishops of the same color Gleichfarbige Läufer Diagram Diagramm OpeningTree Move Zug Count Häufigkeit Score Rating Year Jahr OpeningTreeWidget Form Formular Target Ziel Filter games Partien filtern Board Brett Source Quelle Pin Pin ... ...... Database Datenbank Filter Filter Progress Fortschritt Undo Zurücknehmen (Book) (Buch) OutputOptions Notation in Column Style Notation in einer Spalte Show symbolic Nags Symbolische Auszeichnungen Text width Textbreite Indent variations from Level EInrücken ab Ebene Variation Indentation Einrücktiefe Varianten Comment indentation Einrückung Kommentare NAG Color Farbe Auszeichnungen Main Line Color Farbe Hauptvariante Variation Color Farbe Varianten Comment Color Farbe Kommentare Header Color Farbe Kopf Show Header Kopfzeile anzeigen Show Diagrams Diagramme anzeigen Diagram Size DIagrammgrösse Font for text Font für Texte Font for moves Font für Züge Comment Indentation Einrückung Kommentare PlayerInfo <i>no games</i> <i>Keine Spiele</i> Total: %1<br>White: %2<br>Black: %3<br> Summe: %1<br>Weiß: %2<br>Schwarz: %3<br> Games in database <i>%1</i>: <b>%2</b><br> Spiele in der Datenbank <i>%1</i>: <b>%2</b><br> Rating: <b>%1</b><br> Rating: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Datum: <b>????.??.??<b><br> Date: <b>%1</b><br> Datum: <b>%1</b><br> White Openings Eröffnungen mit Weiß Black Openings Eröffnungen mit Schwarz PlayerListWidget <html><i>No player chosen.</i></html> <html><i>Kein Spieler ausgewählt.</i></html> PreferencesDialog Light squares Weiße Felder Dark squares Schwarze Felder Highlighted squares Ausgewählte Felder Frame Rahmen Select engine directory Wähle Engine-Verzeichnis For updating translations online version checking needs to be enabled. Für das Nachladen von Spracherweiterungen muss der Online Zugriff aktiviert werden. Select databases folder Wähle Datenbank-Verzeichnis Select engine executable Wähle Engine-Programm Could not load server language file dictionary Verzeichnis der verfügbaren Sprachdateien konnte nicht geladen werden Could not load or install language pack Die Spracherweiterung konnte nicht geladen oder installiert werden No further translations online available! Keine weiteren Sprachpakete online verfügbar! Translation file loaded - select added language above! Sprachpaket geladen - siehe in den verfügbaren Sprachen oben! Select external executable Externes Programm auswählen Clear all application settings? Alle Einstellungen zurücksetzen? Warning Warnung Current move Aktueller Zug Stored move Gespeicherter Zug Threat Drohung [plain colors] [Grundfarben] Main Line Hauptvariante Variations Varianten Comments Kommentare NAGs Auszeichnungen Use online tablebase servers Online Tablebaseserver verwenden &Board &Brett &Colors: &Farben: Board &style: Brett &Stil: &Guess move on left-click &Zug vorschlagen bei linker Maustaste &Draw frame between squares &Zeichne Rahmen zwischen Feldern &Chess set: &Figuren: Database Datenbank Commit Database after saving Game "Save game" is not an appropriate term and was translated as "Partie-Änderungen anwenden" Datenbank auf Festplatte speichern nach Anwenden von Partie-Änderungen Number of recent files: Anzahl der letzten Dateien: Default Database Path: Standard-Datenbank-Verzeichnis: Default path for storing files Standard-Pfad zum Speichern von Dateien Font with Chess Symbols (Unicode) Font mit Schachsymbolen (Unicode) Font Size Font Größe Colors: Farben: Check for updates (at startup) and language packs Updateprüfung nach dem Start und Laden von Sprachpaketen Preferences Einstellungen Appearance Ansicht Fonts for notation Fonts in der Notation Texts Texte Moves Züge Game Text Notation Arrow Pfeil Show Diagrams Diagramme anzeigen Column Style Hauptvariante in Spalten Keep variations inline from level Varianten in Fliesstext ab Ebene Diagram Size DIagrammgrösse Pieces Put the initials of the pieces here, mind the initial space. Initialen der Figuren eingeben, aufpassen auf den ersten Blank. KQRBN - Mind the initial space! KQRBN - Aufpassen auf das erste Blank! ... ... Application Applikation Show move indicator Zuganzeiger einblenden Automatic Automatisch Always Immer Never Nie Icons visible in menus Icons in Menüs anzeigen Login Login Localization Sprachanpassung Load language file from Server: Sprachpaket vom Server laden: Load! Laden! Use vertical Tabs Vertikale Ausrichtung der Reiter Log in as guest Als Gast einwählen Password Passwort Try to use Timeseal Versuche timeseal zu verwenden App App Internet Internet Language Sprache Changing the language requires restarting the application! Die Änderung der Sprache wird nach einem Neustart wirksam! External Tools Externe Tools Parameters Parameter Path Pfad Path and filename of external program Pfad und Name eines externen Programms Command line, also $(InputPath), $(InputFile) Kommandozeile, z.B. mit $(InputPath), $(InputFile) XBoard XBoard New Engine Neues Schachprogramm plain einfach outline Umriss &Engines &Schachprogramme Name: Name: Command: Befehl: Options: Optionen: Highlight current move: Aktuellen Zug hervorheben: Mouse Behaviour Maustasten Next guess on right click Nächster Vorschlag bei rechter Maustaste Wheel sensitivity Mausrad Geschwindigkeit Fast Schnell Slow Langsam Draw Coordinates Zeichne Brettkoordinaten Show threat Zeige Drohung Game Partie Autoplayer Vorspielen Automatically save game and continue with next Automatisch Partie-Änderungen anwenden und fortsetzen Auto Analysis backwards Autoanalyse rückwärts Automatic Promotion Automatische Bauernumwandlung Always queen a pawn Immer in eine Dame verwandeln Path to executable Programmpfad Path where engine is started - usually place of books Verzeichnis, in dem Engine startet - normalerweise der Platz für Eröffnungsbücher Directory: Verzeichnis: Protocol: Protokoll: Command Line Options Kommandozeilen-Optionen Options Optionen Arbitrary name to identify engine Bezeichnung Sound Ton Indicate opponent's move Hinweis auf gegnerischen Zug Down Hinunter Remove Löschen Add... Hinzufügen... Automatic classification with ECO Codes Partien automatisch mit ECO Codes klassifizieren Build index file Indexdatei erstellen &Edit PGN files smaller than: &Nur PGN-Dateien kleiner als: MB Up Hinauf outline+shadow Umriss+Schatten PromotionDialog Promote to Umwandeln in Queen Dame Rook Turm Bishop Läufer Knight Springer QuickSearchDialog Quick Tag Search Partiedaten Suche Value or Range like 2000-2300 Wert oder Wertebereich, wie z.B. 2000-2300 Find in current filter In aktuellem Filter finden Search whole database Durchsuche ganze Datenbank Add to current filter Zu aktuellem Filter hinzufügen Remove from current filter Aus aktuellem Filter löschen Find Suchen &Value: &Wert: &Tag: &Element: &Mode: &Modus: RecipientAddressDialog Recipient Address Empfänger Adresse Mail Mail This is no valid email address. Mail Adresse ungültig. RenameTagDialog Rename Tags in Database Tags in Datenbank ändern Rename all Occurrences ... Alle Vorkommen ändern... from von to nach Press 'Rename' to proceed. 'Umbennen' drücken zum Ändern. Rename Umbenennen SaveDialog Save Game Partie sichern &Date: &Datum: &Round: &Runde: Elo: Elo: &Black: &Schwarz: &Site: &Ort: &Event: &Turnier: &White: &Weiß: Players Spieler Team Mannschaft White Team Team Weiß Black Team Team Schwarz Time Control Bedenkzeit White Start Time Bedenkzeit Weiß H:mm:ss Black Start Time Bedenkzeit Schwarz e.g. 40/7200:3600 for 2h/40 moves + 1h z.B. 40/7200:3600 für 40 Züge in 2 Stunden + 1 Stunde für den Rest Tournament Turnier E&vent date: &Veranstaltungsdatum: Game Information Partie-Daten Result: Ergebnis: Dates are not properly formatted! Datum ist nicht richtig formatiert! Invalid Data Ungültiges Datum TableView Hide Column Spalte verstecken Resize visible Columns Sichtbare Spalten anpassen Show all Columns Alle Spalten anzeigen TagDetailWidget Filter: Filter: Selected Item Auswahl Filter Filter Rename Ersetzen TagDialog Edit Tags Partiedaten Tag Element Value Wert Deleting %1 tags %1 Werte löschen Edit tag... Bezeichner ändern... Enter value... Wert ändern... ./chessx-1.3.2/i18n/chessx_es.ts000755 000765 000024 00000506404 12513255046 016052 0ustar00nistaff000000 000000 AboutDlg About ChessX Acerca de Chessx <b>ChessX</b><br> Free Chess Database <b>ChessX</b><br> Database de Ajedrez Libre Version Versión Copyright Copyright License Licencia Maintainer Soportista Principal Further Maintainers Otros Soportistas Testing Pruebas Coders Programador Further Code Otros Programadores Translations Traductores Path Information Ruta de Información: Path for temporary files Ruta de archivos temporales Program data path Ruta de datos del programa Path to settings Ruta de configuraciones Contact Contacto: Homepage Página web Mailing List Cuenta de Correo: ActionDialog Customize Keyboard Personalización Teclado Menu Item Elemento del menú Keyboard Shortcut Atajo de teclado Analysis Mate Mate Mate in %1 Mate en %1 (depth %1, %2) (Profundidad %1, %2) (suggested move) (Movimiento sugerido) AnalysisWidget Analysis Análisis &Lines: &Líneas: Pin engine to current position Motor fijado a la posición actual ... ... Analyze Analizar Stop Parar There was an error (%1) running engine <b>%2</b>. Se ha producido un error (%1) corriendo motor <b>%2</b>. Draw Tablas White wins in %n moves Blancas ganan en %n movimiento Blancas ganan en %n movimientos Black wins in %n moves Negras ganan en %n movimiento Negras ganan en %n movimientos Analysis pinned to move %1 Análisis fijado para movimiento %1 Click to add move to game Tablebase Complexity <a href="0" title="Click to add move to game">[+]</a> <b>Tablebase:</b> <a href="0" title="Click para adicionar movimiento al juego">[+]</a> <b>Tablebase:</b> <br><b>Complexity:</b> %1/%2<br> <br><b>Complejidad:</b> %1/%2<br> <br><b>Complexity:</b> %1<br> <br><b>Complejidad:</b> %1<br> BitBoard w%1 b%2 %3 to move. b%1 n%2 %3 para movimiento White Blanca Black Negra BoardSearchDialog Search Board Buscar en tablero Find Buscar Find in current filter Buscar en el filtro actual Search whole database Buscar en toda la Database Add to current filter Añadir al filtro actual Remove from current filter Eliminar de filtro actual BoardSetupDialog Setup position Configurar Posición Board Tablero Tools Herramientas Side to move: Lado a mover: Move: Movimiento: Flip board Girar el tablero ... ... Mirror left and right Espejo izquierdo y derecho Mirror top and bottom Espejo arriba y abajo Change colors for all pieces Cambiar los colores de todas las piezas Clear Limpiar &Advanced &Avanzado Castling rights Enroques derechos Black O-O Negro O-O White O-O-O Blanco O-O-O White O-O Blanco O-O Black O-O-O Negro O-O-O En passant file: Al paso de fila Halfmove clock: Reloj propio: FEN FEN Paste FEN Pegar FEN Copy FEN Copiar FEN Copy Text Copiar Texto Current position is not valid. %1. Posición actual no es válida. %1. No white king Ningún rey blanco No black king Ningún rey negro Both kings are in check Ambos reyes están en jaque Side to move has opponent in check already Lado a mover pone en jaque al oponente Black has too many pawns Negro tiene demasiados peones White has too many pawns Blanco tiene demasiados peones There are pawns on the first or eighth rank Hay peones en la primera o la octava fila Too many kings Demasiados reyes Too many black pieces Demasiadas piezas negras Too many white pieces Demasiadas piezas blancas Bad castling rights Enroque derecho malo En passant square is not correct Movimiento al paso no es correcto Unknown reason Razón desconocida Illegal position: %1 Posición ilegal: %1 Text in clipboard does not represent valid FEN:<br><i>%1</i> Texto en el portapapeles no representa FEN válido:<br><i>%1</i> There is no text in clipboard. Ningún texto en el portapapeles BoardTheme Cannot find piece data. Please check your installation. No se puede encontrar datos de piezas. Compruebe la instalación. ChessBrowser Add start comment... Añadir comentario al inicio... Add game comment... Añadir comentario al juego... Comment... Comentario... Add move symbol Añadir símbolo al movimiento Add evaluation symbol Añadir símbolo de evaluación Add other symbol Añadir otro símbolo Bishops Alfiles Remove symbols Quitar símbolos Enumerate Variations A) B) C) Enumerar variantes A) B) C) Enumerate Variations a) b) c) Enumerar variantes a) b) c) Promote to main line Promover a la línea principal Move variation up Mover variante hacia Arriba Move variation down Mover variante hacia Abajo Remove variation Eliminar variante Remove previous moves Eliminar movimientos previos Remove next moves Eliminar movimientos restantes Insert threat Insertar amenaza Copy Html Copiar Html Copy Text Copiar Texto Refactor Modificar Uncomment Quitar comentarios Remove Variations Quitar variantes ClipboardDatabase Clipboard Portapapeles CommentDialog Edit Comment Editar Comentario Time Tiempo Elapsed Transcurrido Clock Reloj Move Movimiento H:mm:ss H:mm:ss CopyDialog Copy Games Copiar Juegos Copy: Copiar: &Current game &Juego actual Selected Games Juegos seleccionados Games in &filter Juegos en &filter &All games &Todos los juegos &To: &Para: DatabaseList Databases Databases Activate Activar Open Abrir Close Cerrar Add to favorites Añadir a favoritos Remove from Favorites Quitar de favoritos Show in Finder Mostrar en buscador Make a Polyglot book... Obtener un libro Polyglot... : File not found : Archivo no encontrado DatabaseListModel Favorite Favorito Name Nombre Size Tamaño Open Abrir Path Ruta Format Formato Date Fecha Clipboard Portapapeles Closed Cerrado DlgSaveBook Build Polyglot Book Construir Libro Polyglot Input File Ingresar Archivo Polyglot Book Parameters Parámetros de Libro Polyglot Max Ply Max Ply Min Game Min Juego Uniform Probabilities Probabilidades uniformes Output Path Ruta de salida Enter the complete target path Introduzca la ruta de destino completa Clipboard Portapapeles ECOListWidget <html><body><i>No ECO code chosen.</i></body></html> <html><body><i>Ningún código ECO elegido.</i></body></html> <html><i>No ECO code chosen.</i></html> <html><i>Ningún código ECO elegido.</i></html> EcoInfo <i>no games</i> <i>ningún juego</i> Total: %1 Total: %1 Games in database %1: %2 Juegos en database %1: %2 Rating: <b>%1</b> Puntuación: <b>%1</b> Rating: <b>%1-%2</b> Puntuación: <b>%1-%2</b> White Player Score Resultado Black Player <table><tr><th>White Player</th><th>Score</th></tr> <mesa><tr><th>Jugador Blanco</th><th>Score</th></tr> <a name='ListBlack'></a><table><tr><th>Black Player</th><th>Score</th></tr> <Nombre='ListaNegro'></a><mesa><tr><th>Jugador Negro</th><th>Score</th></tr> EngineOptionDialog Engine Options Opciones de Motor EngineOptionList Engine Options Opciones de Motor EngineOptionModel Name Nombre Default Por defecto Min Min Max Max Value Valor EventInfo <i>no games</i> <i>ningún juego</i> Total: %1 Total: %1 Games in database %1: %2<br> Juegos en database %1: %2<br> Rating: <b>%1</b><br> Puntuación: <b>%1</b><br> Rating: <b>%1-%2</b><br> Puntuación: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Fecha: <b>????.??.??<b><br> Date: <b>%1</b><br> Fecha: <b>%1</b><br> <table><tr><th>Participants</th><th>Score</th></tr> <mesa><tr><th>Participantes</th><th>Score</th></tr> EventListWidget <html><i>No event chosen.</i></html> <html><i>Ningún evento elegido.</i></html> ExtTool : File not found : Archivo no encontrado FicsClient Connected to FICS as %1 using %2 FicsConsole Form Forma Messages Say to opponent ... ... White Blanco Black Negro History Double click to examine game Finger Games Double click to follow game Relay Puzzle Double click to get a puzzle Elo Propose a game Get Mate Get Study Get Tactics Messages from Puzzlebot Players Jugadores Rating ELO Avg. User Seeks Time Control Control de tiempo Lightning Blitz Standard Minutes Increment rated unrated Seek No play list Enter command here Accept Draw Tablas Decline Abort Resign Hint Cancel Disconnect Disconnected Retrieving relayed games... FilterModel Nr Nro. White Blanco White Elo Elo Blanco Black Negro Black Elo Elo Negro Event Evento Site Lugar Round Ronda Date Fecha Result Resultado ECO ECO Moves Movimientos Game Add move Añadir movimiento Merge game Combinar juego Replace move Reemplazar movimiento Add Variation Añadir variante Promote Variation Promover variante Remove variation Eliminar variante Truncate variation variante Remove variations Eliminar variantes Remove comments Eliminar comentarios Set annotation Escribir una anotación Colorize square Colorear cuadrado Paint arrow Pintar flecha Add nag Añadir símbolo Set nags Añadir símbolos Move variation Mover variante Enumerate variations Enumerar variantes Set result Resultados GameList Game list Lista de Juegos Find tag... Buscar un valor por etiqueta... Hide Column Ocultar columna Resize visible Columns Cambiar tamaño a columnas visibles Show all Columns Mostrar todas las columnas Copy games... Copiar juegos... Merge into current game Combinar en juego actual All Games Todos los juegos Filter Filtro Selected games Juegos seleccionados Delete game Eliminar juego Hide game LoadQuery Load Database Cargar Database Currently, there are no databases configured. Shall I download a database? Actualmente, no hay bases de datos configuradas. ¿Debo descargar una base de datos? Large Database (9M) Database grande (9M) Small Database Database pequeña Start Download! Iniciar Descarga! Skip Loading Saltar Descarga MainWindow Game List Lista de Juegos Game Text Texto de Juego Game Time Tiempo de Juego Players Jugadores Events Eventos ECO ECO Databases Databases Opening Tree Arbol de Aperturas Analysis 1 Análisis 1 Analysis 2 Análisis 2 Move Interval: Intérvalo de movimiento: Loading ECO file... Cargando archivo ECO... ECO Loaded. ECO Cargado. ECO Load Error. Error en carga de ECO [Clipboard] [Portapapeles] Database %1 cannot be accessed at the moment. Database %1 no puede ser accedida al momento. Opening %1... Apertura %1... Database %1 cannot be accessed at the moment (%2). Database %1 no puede ser accedida al momento (%2). Cannot open file No se puede abrir archivo %1 opened %1 abierta Export games Exportar juegos PGN file (*.pgn) Archivo PGN (*.pgn) HTML page (*.html) Página HTML (*.html) LaTeX document (*.tex) Documento de texto (*.txt) &File &Archivo File Archivo &New database... &Nueva Database... &Open... &Abrir... Open in UTF8... Abrir en UTF8... Open &recent... Abierto &reciente... &Save &Guardar Commit Database to disk Guardar Database a disco &Export... &Exportar... Current Game Juego actual &Games in filter &Juegos en filtro &All games &Todos los juegos Export Image Exportar Imagen Mail PGN... &Close &Cerrar &Quit &Salir &Edit &Editar Edit Editar Undo Deshacer Redo Rehacer Comment Comentario Comment Before Comentario de inicio Variation Variante Promote Promover Promote Variation Promover variante Remove Eliminar Remove Variation Eliminar variante &Remove &Eliminar Moves from the beginning Movimientos hasta el inicio Moves to the end Movimientos hasta el final Setup &position... Configurar &posición... Copy PGN Copiar PGN Copy FEN Copiar FEN Copy Position Copiar Posición Copy Image Copiar Imagen Paste into new game Pegar en juego nuevo Paste Pegar &Preferences... &Preferencias... &View &Ver Toolbars Barra de Herramientas Stay on Top Mantener en Top Save Guardar Load Sample Database Cargar ejemplo de Database Report a bug... Reportar un defecto... Close current board Cerrar tablero actual FICS Console Open FICS Save Database &Game &Juego Game Juego Database Database &New &Nuevo &Load &Cargar &Previous &Anterior &Next &Próximo &Go to game... &Ir a juego... &Random &Al Azar &Save... &Guardar... Edit tags... Editar etiquetas... &Flip board &Girar tablero Match Partida Training Entrenamiento Auto Respond Auto Responder Auto Player Auto Jugar Auto Analysis Auto Análisis &Go to &Ir a &Start &Inicio Go to first move Ir al primer movimiento &Previous move &Movimiento anterior &Next move &Movimiento próximo &End &Fin Go to last move Ir al último movimiento 5 moves &forward 5 movimientos &adelante 5 moves &backward 5 movimientos &atrás Enter Variation Ingresar variante Previous Variation Variante anterior Next Variation Variante próxima Back to main line Regresar a línea principal Refactor Modificar Uncomment Quitar comentarios Remove Variations Quitar variantes Fi&nd &Buscar Search Buscar Find tag... Buscar etiqueta... Find position... Buscar posición &Reset filter &Resetear filtro &Reverse filter &Reversar filtro &Database &Database &Switch to &Cambiar a &Copy games... &Copiar juegos... Clear clipboard Limpiar portapapeles &Help &Ayuda Help Ayuda Customize Keyboard... Personalizar teclado... &About ChessX &Acerca de ChessX Following databases are modified: Siguientes Databases serán modificadas Save them? ¿Desea Guardarlas? (%1 s.) (%1 s.) Start loading database... Cargando Database... A new version is available at chessx.sourceforge.net Nueva versión disponible en chessx.sourceforge.net New database Nueva Database PGN database (*.pgn) Database PGN (*.pgn) Cannot create ChessX database. Chessx no puede crear Database Open database Abrir Database PGN databases (*.pgn);;Polyglot books (*.bin) Databases PGN (*.pgn);;Libros Polyglot (*.bin) PGN databases (*.pgn) Databases PGN (*.pgn) The current database is modified! La Database actual está modificada! Save it? Salvarlo? Saving %1... Guardando %1... %1 saved %1 guardado <html>The database <i>%1</i> is read-only and cannot be saved.</html> <html>La Basedata <i>%1</i> es de "sólo-lectura" y no puede salvarse.</html> Text in clipboard does not represent valid FEN:<br><i>%1</i> Texto en portapapeles no presenta un válido FEN:<br><i>%1</i> There is no text in clipboard. Ningún texto en portapapeles The clipboard contains FEN, but with illegal position. You can only paste such positions in <b>Setup position</b> dialog. Portapapeles contiene un FEN, pero con posición ilegal. Sólo puede pegar esas posiciones en <b>Configurar posición</b> diálogo. Set starting board Establecer tablero de inicio Images (*.png *.jpg *.jpeg *.bmp) Imágenes (*.png *.jpg *.jpeg *.bmp) Red Square Cuadro rojo Yellow Square Cuadro amarillo Green Square Cuadro verde Remove Color Quitar color Red Arrow to here Flecha roja aquí Yellow Arrow to here Flecha amarilla aquí Green Arrow to here Flecha verde aquí Remove Arrow to here Quitar flecha aquí Load Game Cargar Juego Game number: Juego número: This database is read only. Esta Database es de sólo lectura Merge selected games Combinar juegos seleccionados Analysis Pane 1 is not running an engine for automatic analysis. Análisis Pane 1 no se está ejecutando un motor para el análisis automático. Engine %1 Motor %1 all Todo Append game %1 to %2. Anexar juego %1 a %2. Clipboard Portapapeles Append games from %1 to %2. Anexar juegos %1 a %2. You need at least two open databases to copy games Usted necesita por lo menos dos Databases abiertas para copiar juegos %1. %2 (%3 games) %1. %2 (%3 juegos) %1 - ChessX %1 - ChessX Search ended Búsqueda finalizada Updating tree... Actualizando árbol <b>New game</b> <b>Nuevo juego</b> Infinite Infinito Could not build book No pudo construir libro Polyglot Error Error Polyglot Please configure your email preferences first. S'il vous plaît, paramétrez les EMail paramètre. Hello Hola the attachment provides new game data. the attachment provides new game data. You can open the file with ChessX. You can open the file with ChessX. Edit game tags Editar etiquetas juego EMail error EMail erreur EMail sent to EMail transmettre à EMail sent EMail transmettre MessageDialog Error Error Warning Advertencia Information Información Question Pregunta &Yes &Si &No &No &OK &OK &Cancel &Cancelar MoveData [end] [fin] NagSet Good Move Bueno Poor Move Malo Very good Move Excelente Blunder Malísimo Speculative Move Especulativo Dubious Move Dudoso Only Move Unico Worst Move Equal Igualdad Unclear Clara White has slight advantage Blanco tiene una ligera ventaja Black has slight advantage Negro tiene una ligera ventaja White has moderate advantage Blanco tiene moderada ventaja Black has moderate advantage Negro tiene moderada ventaja White has decisive advantage Blanco tiene una decisiva ventaja Black has decisive advantage Negro tiene una decisiva ventaja White has crushing advantage Blanco tiene una aplastante ventaja Black has crushing advantage Negro tiene una aplastante ventaja Zugzwang Zugzwang With slight space advantage Con una ligera ventaja de espacio With moderate space advantage Con una moderada ventaja de espacio With decisive space advantage Con una decisiva ventaja de espacio With slight development advantage Con una ligera ventaja de desarrollo With moderate development advantage Con una moderada ventaja de desarrollo With decisive development advantage Con una decisiva ventaja de desarrollo With initiative Con iniciativa With lasting initiative Con iniciativa duradera With attack Con ataque With insufficient compensation for material deficit Con insuficiente compensación por falta de material With compensation Con compensación With more than adequate compensation for material deficit Con compensación adecuada por falta de material With slight center control advantage Con ligera ventaja por control central With moderate center control advantage Con moderada ventaja por control central With decisive center control advantage Con decisiva ventaja por control central With slight kingside control advantage Con ligera ventaja por control del flanco de rey With moderate kingside control advantage Con moderada ventaja por control del flanco de rey With decisive kingside control advantage Con decisiva ventaja por control del flanco de rey With slight queenside control advantage Con ligera ventaja por control del flanco de dama With moderate queenside control advantage Con moderada ventaja por control del flanco de dama With decisive queenside control advantage Con decisiva ventaja por control del flanco de dama With vulnerable first rank Con vulnerabilidad en primera fila With well protected first rank Con buena protección en primera fila With poorly protected king Con mala protección del rey With well protected king Con buena protección del rey With poorly placed king Con rey mal colocado With well placed king Con rey bien colocado With very weak pawn structure Con mucha debilidad de estructura de peones With moderately weak pawn structure Con moderada debilidad de estructura de peones With moderately strong pawn structure Con moderada fuerza de estructura de peones With very strong pawn structure Con mucha fuerza de estructura de peones With poor knight placement Con mala colocación del rey With good knight placement Con buena colocación del rey With poor bishop placement Con mala colocación del alfil With good bishop placement Con buena colocación de alfil With poor rook placement Con mala colocación de torre With good rook placement Con buena colocación de torre With poor queen placement Con mala colocación de dama With good queen placement Con buena colocación de dama With poor piece coordination Con mala coordinación de pieza With good piece coordination Con buena coordinación de pieza White played the opening very poorly Blanco jugó la apertura malísimo Black played the opening very poorly Negro jugó la apertura malísimo White played the opening poorly Blanco jugó la apertura mal Black played the opening poorly Negro jugó la apertura mal White played the opening well Blanco jugó la apertura bien Black played the opening well Negro jugó la apertura bien White played the opening very well Blanco jugó la apertura excelente Black played the opening very well Negro jugó la apertura excelente White played the middlegame very poorly Blanco jugó el medio juego malísimo Black played the middlegame very poorly Negro jugó el medio juego malísimo White played the middlegame poorly Blanco jugó el medio juego mal Black played the middlegame poorly Negro jugó el medio juego mal White played the middlegame well Blanco jugó el medio juego bien Black played the middlegame well Negro jugó el medio juego bien White played the middlegame very well Blanco jugó el medio juego excelente Black played the middlegame very well Negro jugó el medio juego excelente White played the ending very poorly Blanco jugó el final malísimo Black played the ending very poorly Negro jugó el final malísimo White played the ending poorly Blanco jugó el final mal Black played the ending poorly Negro jugó el final mal White played the ending well Blanco jugó el final bien Black played the ending well Negro jugó el final bien White played the ending very well Blanco jugó el final excelente Black played the ending very well Negro jugó el final excelente With counterplay Con contrajuego Moderate time control pressure Presión moderada de control de tiempo Severe time control pressure Presión severa de control de tiempo With the idea Con idea Aimed against Dirigido contra Better was Era mejor Worse was Era peor Equivalent was Era igualdad RR RR N N Weak point Punto débil Endgame Final de partida Line Línea Diagonal Diagonal Pair of bishops Pareja de alfiles Bishops of opposite color Alfiles de diferente color Bishops of the same color Alfiles del mismo color Diagram Diagrama OpeningTree Move Línea Count Cantidad:% Score Resultado Rating ELO Avg. Year Año OpeningTreeWidget Form Forma Target Objetivo Filter games Filtro de juegos Board Tablero Source Fuente Database Database Filter Filtro Progress Progreso Undo Deshacer (Book) OutputOptions Notation in Column Style Notación en estilo de columna Show symbolic Nags Muestra etiqueta simbólica Text width Ancho del texto Indent variations from Level Margen de nivel de variantes Variation Indentation Margen de variante Comment indentation Margen de comentario Main Line Color Color de línea principal Variation Color Color de variante Comment Color Color de comentario NAG Color Color de etiqueta Header Color Color de cabecera Show Header Mostrar cabecera Show Diagrams Mostrar diagramas Diagram Size Tamaño de diagrama Font for text Fuente del texto Font for moves Fuente de movimientos Comment Indentation Margen de comentario PlayerInfo <i>no games</i> <i>ningún juego</i> Total: %1<br>White: %2<br>Black: %3<br> Total: %1<br>Blanco: %2<br>Negro: %3<br> Games in database <i>%1</i>: <b>%2</b><br> Juegos en Database <i>%1</i>: <b>%2</b><br> Rating: <b>%1</b><br> Puntuación: <b>%1</b><br> Rating: <b>%1-%2</b><br> Puntuación: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Fecha: <b>????.??.??<b><br> Date: <b>%1</b><br> Fecha: <b>%1</b><br> White Openings Black Openings <p>White Openings:</p><ul> <p>Aperturas Blanco:</p><ul> </ul><p>Black Openings:</p><ul> </ul><p>Aperturas Negro:</p><ul> PlayerListWidget <html><i>No player chosen.</i></html> <html><i>Ningún jugador elegido.</i></html> PreferencesDialog Preferences Preferencias &Board &Tablero Highlight current move: Resaltar movimiento actual: Mouse Behaviour Comportamiento del mouse &Guess move on left-click &Adivinar movimiento con click izquierdo Next guess on right click Indicar posibles movimientos con click derecho Wheel sensitivity Sensibilidad de la rueda Fast Rápido Slow Lento &Chess set: &Juego de ajedrez: &Draw frame between squares &Dibujar contorno entre cuadros plain plano outline contorno outline+shadow contorno+sombra Never Nunca Frame Contorno Arrow Flecha Draw Coordinates Dibujar Coordenadas Board &style: Tablero &estilo: &Colors: &Colores: Game Juego Autoplayer Autojugar Automatically save game and continue with next Guardar automáticamente el juego y continuar con el próximo Game Text Texto de Juego Show Diagrams Preferencias Column Style Estilo de columnas Keep variations inline from level Mantener variantes en línea del nivel Diagram Size Tamaño del diagrama Pieces Piezas Put the initials of the pieces here, mind the initial space. Poner piezas de inicio, recuerda espacio inicial KQRBN - Mind the initial space! RDTAC - Recuerda el espacio inicial! ... ... Colors: Colores: Auto Analysis backwards Automatic Promotion Always queen a pawn &Engines &Motores Path to executable Ruta de ejecución Path where engine is started - usually place of books Ruta donde se inicia el motor - generalmente lugar de libros Directory: Directorio: Protocol: Protocolo Name: Nombre: Options: Opciones: Command: Comando: Command Line Options Opciones de línea de comando Options Opciones Arbitrary name to identify engine Nombre arbitrario para identificar motor Down Abajo Remove Quitar Add... Añadir... Up Arriba Database Database Automatic classification with ECO Codes Clasificación automática con códigos ECO Build index file Construir archivo índice Commit Database after saving Game Comprometerse Database después de salvar juego Default path for storing files Ruta por defecto para guardar archivos Default Database Path: Ruta por defecto para Database Number of recent files: Número de archivos recientes &Edit PGN files smaller than: &Editar archivos PGN más pequeños que: MB MB Appearance Apariencia Fonts for notation Fuentes de notación Texts Textos Moves Movimientos Font with Chess Symbols (Unicode) Fuentes con Símbolos de Ajedrez (Unicode) Font Size Tamaño de fuente Application Aplicación Show move indicator Mostrar indicador de movimiento Automatic Automático Always Siempre Icons visible in menus Iconos visibles en menús Use vertical Tabs Usar pestañas verticales Log in as guest Login Login Password Password Try to use Timeseal App App Internet Internet Use online tablebase servers Usar servidores con tablero online Check for updates (at startup) and language packs Chequear actualizaciones (al iniciar) y packs de lenguajes Localization Localización Language Lenguaje Changing the language requires restarting the application! Cambiar el lenguaje requiere reiniciar la aplicación! Load language file from Server: Cargar el lenguaje desde un Servidor Load! Cargar! External Tools Herramientas Externa Parameters Parámetros Path Ruta Path and filename of external program Ruta y nombre de archivo de programa externo Command line, also $(InputPath), $(InputFile) Línea de comando, también $(Ingrese ruta), $(Ingrese archivo) Sound Indicate opponent's move XBoard XBoard For updating translations online version checking needs to be enabled. Para actualizar la versión de traducción chequeada necesita ser habilitada Select engine directory Seleccionar directorio del motor Select external executable Seleccionar ejecutable externo Select databases folder Seleccionar carpeta de Database New Engine Nuevo motor Select engine executable Seleccionar motor ejecutable Could not load server language file dictionary No pudo cargar del servidor el archivo diccionario de lenguaje Could not load or install language pack No se puede cargar o instalar el paquete de idioma Translation file loaded - select added language above! Archivo de traducción cargado - seleccionar el idioma agregado de arriba! No further translations online available! No hay más traducciones disponibles en línea! Clear all application settings? Borrar todos los ajustes de la aplicación? Warning Advertencia Light squares Casillas claras Dark squares Casillas oscuras Highlighted squares Casillas destacadas Current move Movimiento actual Stored move [plain colors] [Colores planos] Main Line Línea Principal Variations Variantes Comments Comentarios NAGs Etiquetas TLS encryption TLS seguridad Sender address Dirección electronica PromotionDialog Promote to Promover a Queen Dama Rook Torre Bishop Alfil Knight Caballo QuickSearchDialog Quick Tag Search Búsqueda rápida de etiqueta Value or Range like 2000-2300 Valor o rango deseado 2000-2500 &Value: &Valor: &Tag: &Etiqueta: &Mode: &Modo: Find in current filter Buscar en filtro actual Search whole database Buscar en toda la Database Add to current filter Añadir a filtro actual Remove from current filter Eliminar de filtro actual Find Buscar RecipientAddressDialog Recipient Address Mail This is no valid email address. RenameTagDialog Rename Tags in Database Renombrar etiquetas en Database Rename all Occurrences ... Renombrar todas las ocurrencias ... from de to a Press 'Rename' to proceed. Presionar 'Renombrar' para proceder. Rename Renombrar SaveDialog Save Game Guardar Juego Players Jugadores Elo: Elo: &White: &Blanco: &Black: &Negro: Team Equipo White Team Equipo Blanco Black Team Equipo Negro Time Control Control de tiempo White Start Time Tiempo de inicio Blanco H:mm:ss H:mm:ss Black Start Time Tiempo de inicio Negro e.g. 40/7200:3600 for 2h/40 moves + 1h Ej. 40/7200:3600 para 2h/40 movimientos + 1h Tournament Torneo E&vent date: &Fecha evento: &Site: &Lugar: &Event: &Evento: Game Information Información de Juego &Round: &Ronda: &Date: &Fecha: Result: Resultado: Clipboard Portapapeles Dates are not properly formatted! Invalid Data Las fechas no están correctamente formateadas! Dates are not properly formatted! Las fechas no están correctamente formateadas! Invalid Data TableView Hide Column Ocultar columna Resize visible Columns Cambiar el tamaño de columnas a visibles Show all Columns Mostrar todas las columnas TagDetailWidget Filter: Filtro: Selected Item Elemento seleccionado Filter Filtro Rename Renombrar TagDialog Edit Tags Editar etiquetas Tag Etiqueta Value Valor Deleting %1 tags Eliminando %1 etiquetas Edit tag... Enter value... ./chessx-1.3.2/i18n/chessx_fr.ts000644 000765 000024 00000511757 12522147045 016055 0ustar00nistaff000000 000000 AboutDlg About ChessX À propos de ChessX <b>ChessX</b><br> Free Chess Database <b>ChessX</b><br> Gestionnaires de parties d'échecs open source Version Version Copyright Copyright License Licence Maintainer Mainteneur Further Maintainers Autres mainteneurs Testing Testeur Coders Codeurs Further Code Autres codeurs Translations Traductions Path Information Chemins Path for temporary files Fichiers temporaires Program data path Données du programme Path to settings Chemin vers les paramètres Contact Contacts Homepage Page principale Mailing List Liste de diffusion ActionDialog Customize Keyboard Définir des raccourcis clavier personnalisés Menu Item Entrée du menu Keyboard Shortcut Raccourci clavier Analysis Mate Mat Mate in %1 Mat en %1 (depth %1, %2) (profondeur %1, %2) (suggested move) (coup proposé) AnalysisWidget Analysis Analyse &Lines: &Lignes: Pin engine to current position Repère de position ... ... Analyze Analyser Stop Stop There was an error (%1) running engine <b>%2</b>. Une erreur est survenue (%1)durant l'execution du moteur <b>%2</b>. Draw Nulle White wins in %n moves Les blancs gagnent en %n coup Les blancs gagnent en %n coups Black wins in %n moves Les noirs gagnent en %n coup Les noirs gagnent en %n coups Analysis pinned to move %1 Moteur analyse le coup %1 Click to add move to game Cliquez pour ajouter un coup Tablebase Tablebase Complexity Complexité <br><b>Complexity:</b> %1<br> <br><b>Complexity:</b> %1<br> BitBoard w%1 b%2 %3 to move. b%1\nn%2\n%3 à jouer. White Blancs Black Noirs BoardSearchDialog Search Board Trouver la position Previous Précédent Next Suivant Find Rechercher Find in current filter Rechercher dans le filtre en cours Search whole database Rechercher dans toute la base de données Add to current filter Ajouter au filtre en cours Remove from current filter Retirer du filtre en cours BoardSetupDialog Setup position Inspired from Fritz GUI Définir une position Board Échiquier Clear Effacer Side to move: Trait aux : Move: Coup : &Advanced &Avançé En passant file: Rangée en passant : Castling rights Droits au roque Tools Outils Flip board Inverser l'échiquier ... ... Mirror left and right Mirroir gauche et droite Mirror top and bottom Mirroir haut et bas Change colors for all pieces Changer la couleur pour toutes les pièces Black O-O Noirs O-O White O-O-O Blancs O-O-O White O-O Blancs O-O Black O-O-O Noirs O-O-O Halfmove clock: No equivalent in French Compteur demi-coups : FEN FEN Paste FEN Coller FEN Copy FEN Copier FEN Copy Text Current position is not valid. %1. La position n'est pas valide. %1. No white king Pas de roi blanc No black king Pas de roi noir Both kings are in check Les deux rois sont en echec Side to move has opponent in check already Le camp qui a le trait est en échec Black has too many pawns Les Noirs ont trop de pions White has too many pawns Les blancs ont trop de pions There are pawns on the first or eighth rank Des pions se trouvent sur la première ou sur la huitième rangée Too many kings Trop de rois Too many black pieces Trop de pièces noirs Too many white pieces Trop de pièces blanches Bad castling rights Roque non autorisé En passant square is not correct La case en passant n'est pas correcte Unknown reason Raison inconnue Illegal position: %1 Position illégale : %1 Text in clipboard does not represent valid FEN:<br><i>%1</i> Le texte dans le presse-papier n'est pas au format FEN : <br><i>%1</i> There is no text in clipboard. Pas de texte dans le presse-papier. BoardTheme Cannot find piece data. Please check your installation. Impossible de trouver les pièces. Merci de vérifier votre installation. ChessBrowser Add start comment... Ajouter un commentaire au début... Add game comment... Ajouter un commentaire... Comment... Commentaire... Add move symbol Ajouter symbole de coup Add evaluation symbol Ajouter symbole d'évaluation Add other symbol Ajouter autre symbole Bishops Fous Remove symbols Supprimer les symboles Enumerate Variations A) B) C) Enumérer Variations A) B) C) Enumerate Variations a) b) c) Enumerer Variations a) b) c) Promote to main line Promouvoir vers la ligne principale Move variation up Remonter la variante Move variation down Descendre la variante Remove variation Supprimer la variante Remove previous moves Supprimer les coups précédents Remove next moves Supprimer les coups suivants Insert threat Insérer une menace Copy Html Copier Html Copy Text Copier Text Refactor Restructurer Uncomment Décommenter Remove Variations Supprimer variantes ClipboardDatabase Clipboard Presse-papiers CommentDialog Edit Comment Editer le commentaire Time Temps Elapsed Ecoulé Clock Heure de l'horloge Move Coup H:mm:ss H:mm:ss CopyDialog Copy Games Copier des parties Copy: Copier : &Current game &Partie en cours Selected Games Parties sélectionnées Games in &filter Parties &filtrées &All games &Toutes les parties &To: &Vers: DatabaseList Databases Bases de données Activate Acitver Open Ouvrir Close Fermer Add to favorites Ajouter aux favoris Remove from Favorites Supprimer des favoris Show in Finder Montrer dans le Finder Make a Polyglot book... Créer un polyglot livre d'ouvertures... DatabaseListModel Favorite Favori Name Nom Size Taille Open Ouvrir Path Chemin Format Format Date Date Read Accès Closed Fermé DlgSaveBook Build Polyglot Book Créer un polyglot livre d'ouvertures Input File Fichier Polyglot Book Parameters Paramètres passés à polyglot Max Ply Nombre de demi-coups Min Game Nombre de parties Uniform Probabilities Probabilités uniformes Output Path Enter the complete target path Chemin de livre ... ... Clipboard Presse-papiers New book Nouveau livre Polyglot Book (*.bin) Polyglot livre d'ouvertures (*.bin) ECOListWidget <html><body><i>No ECO code chosen.</i></body></html> <html><body><i>Pas de code ECO choisi.</i></body></html> <html><i>No ECO code chosen.</i></html> <html><i>Pas de code ECO choisi.</i></html> EcoInfo <i>no games</i> <i>Pas de jeux</i> Total: %1 Total: %1 Games in database %1: %2 Parties dans la base %1: %2 Rating: <b>%1</b> Classement: <b>%1</b> Rating: <b>%1-%2</b> Classement: <b>%1-%2</b> White Player Joueur Blancs Score Score Black Player Joueur Noirs EngineOptionDialog Engine Options Options du moteur EngineOptionList Engine Options Options du moteur EngineOptionModel Name Nom Default Defaut Min Min Max Max Value Valeur EventInfo <i>no games</i> <i>Pas de parties</i> Total: %1 Total: %1 Games in database %1: %2<br> Parties dans la base %1: %2<br> Rating: <b>%1</b><br> Classement: <b>%1</b><br> Rating: <b>%1-%2</b><br> Classement: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Date: <b>????.??.??<b><br> Date: <b>%1</b><br> Date: <b>%1</b><br> <table><tr><th>Participants</th><th>Score</th></tr> <table><tr><th>Participants</th><th>Score</th></tr> EventListWidget <html><i>No event chosen.</i></html> <html><i>Pas d'évenement choisi.</i></html> ExtTool : File not found : Fichier introuvable FicsClient Connected to FICS as %1 using %2 Connecté à FICS en tant que %1 avec %2 FicsConsole Form Formulaire Messages Messages Say to opponent Dire à l'adversaire ... ... White Blancs Black Noirs History Historique Double click to examine game Cliquez 2 fois pour examiner la partie Finger Finger Games Parties Double click to follow game Cliquez 2 fois pour suivre la partie Relay Relayer Puzzle Puzzle Double click to get a puzzle Puzzle = problem Cliquez 2 fois pour avoir un puzzle Rated only Human only Elo Elo Propose a game Proposer une partie Get Mate Voir un mate Get Study Voir une étude Get Tactics Voir tactiques Messages from Puzzlebot Messges du bot Puzzles Players Joueurs Rating Classement User Utilisateur Seeks Recherches Time Control Contrôle de temps Lightning Eclair Blitz Blitz Standard Standard Minutes Minutes Increment Incrément rated Evaluée unrated Non evaluée Seek Chercher No play list Pas de liste de jeu Enter command here Tapez votre commande Accept Accepter Draw Nulle Decline Refuser Abort Can be read as "Cancel" Annuler Resign Abandonner Hint Conseil Cancel Annuler Disconnect Déconnecte Disconnected Déconnecté Retrieving relayed games... Récupération des parties relayées... Observe Observer Examine Examiner FilterModel Nr N° White Blancs Black Noirs White Elo Elo des blancs Black Elo Elo des noirs Event Évènement Site Lieu Round Ronde Date Date Result Résultat ECO ECO Moves Coups Game Add move Ajouter coup Merge game Fusionner des jeux Replace move Remplacer coup Add Variation Ajouter variante Promote Variation Promouvoir variante Remove variation Supprimer la variante Truncate variation Tronquer variante Remove variations Supprimer variantes Remove comments Supprimer commentaires Set annotation Note Colorize square Couleur de case Paint arrow Flèche Add nag Ajouter NAG Set nags Ajouter NAGs Move variation Remonter la variante Enumerate variations Enumérer Variations Set result Ajouter résultat GameList Game list Liste des parties Find tag... Rechercher un critère... Hide Column Cacher colonne Resize visible Columns Redimensionner les colonnes visibles Show all Columns Montrer toutes les colonnes Copy games... Copier parties... Merge into current game Fusionner dans la partie en cours All Games Toutes les parties Filter Filtrer Selected games Parties sélectionnées Delete game Supprimer la partie Hide game Masquer la partie GameWindow MainWindow MainWindow Move Coup Evaluation Evaluation Other Autre LoadQuery Load Database Charger la base Currently, there are no databases configured. Shall I download a database? Il n'y a actuellement pas de base configurée. Dois-je télécharger une base ? Large Database (9M) Grande base de parties (9M) Small Database Petite base de parties Start Download! Télécharger! Skip Loading Ignorer MainWindow Game Text Texte de la partie Game List Liste des parties Opening Tree Arbre d'ouvertures Move Interval: Interval de jeu auto: Loading ECO file... Chargement du fichier ECO... ECO Loaded. ECO chargé. Opening %1... Ouverture de %1... Database %1 cannot be accessed at the moment (%2). La base %1 n'est pas accessible en ce moment (%2). Cannot open file Impossible d'ouvir le fichier %1 opened %1 ouvert Export games Exporter les parties PGN file (*.pgn) Fichier PGN (*.pgn) HTML page (*.html) Page HTML (*.html) LaTeX document (*.tex) Document LaTeX (*.tex) &File &Fichier File Fichier &New database... &Nouvelle base de données... &Open... &Ouvrir... Open in UTF8... Ouvrir en UTF8... Open &recent... Fichiers &récents... Commit Database to disk Ecrire la base sur le disque &Export... E&xporter... Current Game Partie en cours &Games in filter &Parties filtrées &All games &Toutes les parties Export Image Exporter image Mail PGN... emailer PGN... &Close &Fermer &Quit &Quitter &Edit &Édition Edit Editer Undo Effacer Redo Rétablir Comment Commentaire Comment Before Commenter avant Variation Variante Promote Promouvoir Promote Variation Promouvoir variante Remove Supprimer Remove Variation Supprimer variante &Remove &Supprimer Moves from the beginning Coups depuis le début Moves to the end Coups restants Setup &position... Définir une &position... &Save... &Enregistrer... Save Enregistrer Edit tags... Données de jeu... Match Match Auto Respond Réponse automatique Refactor (Ca devrait être REcontruire / refaire / réorganiser) Restructurer Uncomment Décommenter Remove Variations Supprimer variantes Find tag... Rechercher un critère... Find position... Trouver la position... Clear clipboard Effacer le presse-papiers Load Sample Database Charger des données d'exemple Report a bug... Signaler un bug... Start loading database... Début du chargement de la base... A new version is available at chessx.sourceforge.net Une nouvelle version est disponible sur chessx.sourceforge.net &Preferences... &Préférences... &View &Vue &Flip board &Retourner l'échiquier &Game &Partie &Load &Charger &Next &Suivante &Previous P&récédente &Go to game... &Aller à la partie n°... &Random A&léatoire &Go to Aller &vers &Start &Début &End &Fin &Next move Coup &suivant &Previous move Coup &précédent Game Time Temps de la partie FICS Console Console FICS Players Joueurs Events Evènements ECO ECO Databases Bases de données Analysis 1 Analyseur 1 Analysis 2 Analyseur 2 ECO Load Error. Erreur de chargement ECO. Database %1 cannot be accessed at the moment. La base %1 n'est pas accessible pour le moment. Open FICS Ouvrir FICS Save Database Sauver la base Export Image... Exporter image... Copy PGN Copier PGN Copy FEN Copier FEN Copy Position Copier Position Copy Image Copier image Toolbars Barres d'outils Stay on Top Rester au dessus Close current board Fermer l'échiquier en cours Game Partie Database Base Training Entrainement Auto Player Joueur automatique Auto Analysis Analyse automatique Go to first move Aller au 1er coup Go to last move Aller au dernier coup 5 moves &forward 5 coups en a&vant 5 moves &backward 5 coups en &arriere Enter Variation Entrer variante Previous Variation Variante précédente Next Variation Variante suivante Back to main line Retour sur la ligne principale &New &Nouvelle Paste into new game Coller dans une partie nouvelle Paste Coller Fi&nd &Rechercher Search Chercher &Reset filter &Réinitialiser le filtre &Reverse filter &Inverser le filtre &Database &Base de données &Switch to &Basculer vers &Copy games... &Copier les parties... &Help &Aide Help Aide Customize Keyboard... Définir des raccourcis clavier personnalisés... &About ChessX À &propos de ChessX Following databases are modified: Les bases de données suivantes ont été modifiées: Save them? Enregistrer les changements? (%1 s.) (%1 s.) New database Nouvelle base de données PGN database (*.pgn) Base de données PGN (*.pgn) Cannot create ChessX database. Impossible de créer une base de données ChessX. Open database Ouvrir base de données PGN databases (*.pgn) Base de données PGN (*.pgn) <html>The database <i>%1</i> is read-only and cannot be saved.</html> <html>La base de données <i>%1</i> est en lecture seule et ne pas être enregistrée.</html> Saving %1... Enregistrement %1... PGN databases (*.pgn);;Polyglot books (*.bin) Base de données PGN (*.pgn);;Livres d'ouvertures (*.bin) The current database is modified! La base en cours a été modifiée! Save it? Sauvegarder ? %1 saved %1 Enregistré Text in clipboard does not represent valid FEN:<br><i>%1</i> Le texte du presse-papier n'est pas au format FEN :<br><i>%1</i> Le texte dans le presse-papier n'est pas une FEN valide:<br><i>%1</i> There is no text in clipboard. Il n'y a pas de texte dans le presse-papier. The clipboard contains FEN, but with illegal position. You can only paste such positions in <b>Setup position</b> dialog. Le presse papier contient une chaîne FEN, mais avec une position non réglementaire. Vous ne pouvez coller ce genre de position que dans la boîte de dialogue <b>Définir position</b>. Set starting board Définir une position Images (*.png *.jpg *.jpeg *.bmp) Images (*.png *.jpg *.jpeg *.bmp) Red Square Case Rouge Yellow Square Case Jaune Green Square Case Verte Remove Color Supprimer couleur Red Arrow to here Flèche rouge ici Yellow Arrow to here Flèche jaune ici Green Arrow to here Flèche verte ici Remove Arrow to here Supprimer flèche ici Load Game Charger une partie Game number: Partie n° : This database is read only. Cette base de données est en lecture seule. Merge selected games Fusionner des parties sélectionnées Analysis Pane 1 is not running an engine for automatic analysis. Le panneau d'analyse 1 n'a pas de moteur d'analyse actif. Engine %1 Moteur %1 all tous Append game %1 to %2. Ajouter partie %1 à %2. Appended %1 games to %2. Ajoutée %1 parties à %2 Error appending games to %1 Impossible d'ajouter des parties à %1 Append games from %1 to %2. Ajouter parties de %1 à %2. <b>New game</b> <b>Nouvelle partie</b> Infinite en boucle Could not build book Une erreur est survenue durant l'execution du polyglot Polyglot Error Erreur de polyglot You need at least two open databases to copy games Vous avez besoin au moins d'ouvrir deux bases de données pour copier des parties %1. %2 (%3 games) %1. %2 (%3 parties) %1 - ChessX %1 - ChessX Search ended Recherche terminée Updating tree... Mise à jour de l'arbre... MessageDialog Error Erreur Warning Attention Information Information Question Question &Yes &Oui &No &Non &OK &Valider &Cancel &Annuler MoveData [end] [fin] NagSet Good Move Bon coup Poor Move Coup faible Very good Move Très bon coup Blunder Gaffe Speculative Move Hasardeux ? Coup spéculatif Dubious Move Coup douteux Only Move Seul coup Worst Move Plus mauvais coup Equal Egal Unclear Pas clair White has slight advantage Les blancs ont un léger avantage Black has slight advantage Les noirs ont un léger avantage White has moderate advantage Les blancs on un avantage modéré Black has moderate advantage Les noirs ont un avantage modéré White has decisive advantage Les blancs ont un avantage décisif Black has decisive advantage Les noirs ont un avantage décisif White has crushing advantage Les blancs ont un avantage écrasant Black has crushing advantage Les noirs ont un avantage écrasant Zugzwang Zugzwang With slight space advantage Avec un léger avantage d'espace With moderate space advantage Avec un avantage d'espace modéré With decisive space advantage Avec un avantage d'espace décisif With slight development advantage Avec un léger avantage de développement With moderate development advantage Avec un avantage de développement modéré With decisive development advantage Avec un avantage décisif de développement With initiative Avec l'initiative With lasting initiative Avec Initiave durable With attack Avec l'attaque With insufficient compensation for material deficit Avec compensation insuffisante pour le déficit matériel With compensation Avec compensation With more than adequate compensation for material deficit Avec plus qu'une compensation suffisante pour le déficit matériel With slight center control advantage Avec léger avantage au centre With moderate center control advantage Avec un contrôle modéré du centre With decisive center control advantage Avec un contrôle décisif du centre With slight kingside control advantage Avec un léger contrôle de l'aile roi With moderate kingside control advantage Avec un contrôle modéré de l'aile roi With decisive kingside control advantage Avec un contrôle décisif de l'aile roi With slight queenside control advantage Avec un léger contrôle de l'aile dame With moderate queenside control advantage Avec un contrôle modéré de l'aile dame With decisive queenside control advantage Avec un contrôle décisif de l'aile dame With vulnerable first rank Avec faiblesse de la 1ère rangée With well protected first rank Avec une 1ère rangée bien protégée With poorly protected king Avec un roi faiblement protégé With well protected king Avec un roi bien protégé With poorly placed king Avec un roi mal placé With well placed king Avec un roi bien placé With very weak pawn structure Avec une structure de pions très faible With moderately weak pawn structure Avec une structure de pions faible With moderately strong pawn structure Avec un structure de pions modérément forte With very strong pawn structure Avec une très solide structure de pions With poor knight placement Avec un faible placement du cavalier With good knight placement Avec un bon placement du cavalier With poor bishop placement Avec un faible placement du fou With good bishop placement Avec un bon placement du fou With poor rook placement Avec un faible placement de la tour With good rook placement Avec un bon placement de la tour With poor queen placement Avec un faible placement de la dame With good queen placement Avec un bon placement de la dame With poor piece coordination Avec une faible coordination des pièces With good piece coordination Avec une bonne coordination des pièces White played the opening very poorly Les blancs ont très mal joué l'ouverture Black played the opening very poorly Les noirs ont très mal joué l'ouverture White played the opening poorly Les blancs ont mal joué l'ouverture Black played the opening poorly Les noirs ont mal joué l'ouverture White played the opening well Les blancs ont bien joué l'ouverture Black played the opening well Les noirs ont bien joué l'ouverture White played the opening very well Les blancs ont très bien joué l'ouverture Black played the opening very well Les noirs ont très bien joué l'ouverture White played the middlegame very poorly Les blancs ont très mal joué le milieu de jeu Black played the middlegame very poorly Les nois ont très mal joué le milieu de jeu White played the middlegame poorly Les blancs ont mal joué le milieu de partie Black played the middlegame poorly Les noirs ont mal joué le milieu de partie White played the middlegame well Les blancs ont bien joué le milieu de partie Black played the middlegame well Les noirs ont bien joué le milieu de partie White played the middlegame very well Les blancs ont très bien joué le milieur de partie Black played the middlegame very well Les noirs ont très bien joué le milieur de partie White played the ending very poorly Les blancs ont très mal joué la finale Black played the ending very poorly Les noirs ont très mal joué la finale White played the ending poorly Les blancs ont mal joué la finale Black played the ending poorly Les noirs ont mal joué la finale White played the ending well Les blancs ont tbien joué la finale Black played the ending well Les noirs ont bien joué la finale White played the ending very well Les blancs ont très bien joué la finale Black played the ending very well Les noirs ont très bien joué la finale With counterplay Contre-jeu blanc Moderate time control pressure Contrôle de temps modéré Severe time control pressure Contrôle de temps sévère With the idea Avec l'idée Aimed against Dirigé contre Better was Meilleur était Worse was Pire était Equivalent was Equivalent était RR RR N N Weak point Point faible Endgame Finale Line Ligne Diagonal Diagonale Pair of bishops Paire de fous Bishops of opposite color Fous de couleur opposée Bishops of the same color Fous de la même couleur Diagram Diagramme OpeningTree Move Coup Count Compte Score Score Rating Classement Year Année OpeningTreeWidget Form Formulaire Target Objet Filter games Filtrée Parties Board Échiquier Source Source Pin Pin ... ... Database Base Filter Filtre Progress Progrès Undo Effacer (Book) (Livre) OutputOptions Notation in Column Style Notation en style Colonne Show symbolic Nags Montrer lesNags Text width Largeur du texte Indent variations from Level Pas certain. Indenter variantes depuis niveau Variation Indentation Indentation variante Comment indentation Indentation Commentaire Main Line Color Couleur ligne principale Variation Color Couleur variante Comment Color Couleur commentaire NAG Color Couleur NAG Header Color Couleur entête Show Header Montrer entête Show Diagrams Montrer Diagrammes Diagram Size Taille Diagramme Font for text Police pour les textes Font for moves Police pour les coups Comment Indentation Indentation Commentaire PlayerInfo <i>no games</i> <i>Pas de jeux</i> Total: %1<br>White: %2<br>Black: %3<br> Total: %1<br>Blancs: %2<br>Noirs: %3<br> Games in database <i>%1</i>: <b>%2</b><br> Parties dans la base <i>%1</i>: <b>%2</b><br Rating: <b>%1</b><br> Classement: <b>%1</b><br> Rating: <b>%1-%2</b><br> Classement: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Date: <b>????.??.??<b><br> Date: <b>%1</b><br> Date: <b>%1</b><br> White Openings Ouvertures blancs Black Openings Ouvertures noirs PlayerListWidget <html><i>No player chosen.</i></html> <html><i>Aucun joueur sélectionné.</i></html> PreferencesDialog Preferences Préférences Database Base de parties Automatic classification with ECO Codes Classification automatique avec les codes ECO Build index file Construire le fichier d'index Commit Database after saving Game Ecrire la base après sauvegarde de la partie Number of recent files: Nombre de fichiers récents: Default Database Path: Chemin par defaut de la base : Default path for storing files Chemin par defaut de stockage des fichiers Appearance Apparence Game Text Texte de la partie Show threat Montrer les menaces Show Diagrams Montrer Diagrammes Column Style Style Colonne Keep variations inline from level Limiter les variantes au niveau Diagram Size Taille du diagramme Pieces Pièces Put the initials of the pieces here, mind the initial space. Que peut vouloir dire l'expression "mind the initial space" ??? Mettre les initiales des pièces ici, garder l'espace initial. KQRBN - Mind the initial space! KQRBN - Garder l'espace initial! Colors: Couleurs: Auto Analysis backwards Analyse automatique en arrière Automatic Promotion Promption automatique Always queen a pawn Toujours damer un pion Log in as guest Se connecter en tant qu'invité Password Mot de passe Try to use Timeseal Essayer d'utiliser Timeseal App App Internet Internet Language Langue Changing the language requires restarting the application! Changer la langue nécessite de relancer l'application! Load language file from Server: Télécharger la traduction: Load! Télécharger! Sound Son Indicate opponent's move Indiquer le coup adverse Use vertical Tabs Utiliser tabulations verticales Highlight current move: Surbrillance du dernier coup: Login Identifiant External Tools Programme externe Parameters Paramètres Path Chemin Path and filename of external program Chemin d'un programme externe Command line, also $(InputPath), $(InputFile) Paramètres de ligne de commande &Board &Echiquier &Chess set: &Pièces : plain pas certain. Simple outline Bordure outline+shadow Bordure + ombre &Draw frame between squares &Bordure entre les cases &Guess move on left-click &Anticipation du coup au clic gauche Board &style: &Style du Plateau : &Colors: &Couleurs : &Engines &Moteurs Fonts for notation Police pur le texte de la partie Texts Textes ... ... Name: Nom : Command: Commande: Options: Options: Mouse Behaviour Comportement souris Next guess on right click Coup suggéré sur click droit Wheel sensitivity Sensibilité de la roulette Fast Rapide Slow Lent Arrow Flèche Draw Coordinates Dessiner Coordonnées Game Partie Autoplayer Joueur auto Automatically save game and continue with next Sauver automatiquement partie et continuer suivant Path to executable Chemin vers l'executable Path where engine is started - usually place of books Chemin lorsque le moteur est démarré - Place des books Directory: Dossier : Protocol: Protocole : Command Line Options Options ligne de commande Options Options Arbitrary name to identify engine Nom arbitraire pour identifier le moteur Down Vers le bas Remove Supprimer Add... Ajouter... Up Vers le haut Moves Coups Font with Chess Symbols (Unicode) Police avec des Caractères unicode d'échecs Font Size Taille police Application Application Show move indicator Automatic Automatique Always Toujours Never Jamais Icons visible in menus Icônes visibles dans les menus Use online tablebase servers Utiliser table de finale en ligne Check for updates (at startup) and language packs Vérifier les mise-à-jour au démarrage Localization Localisation &Edit PGN files smaller than: &Modifier fichiers PGN inférieurs à : MB Mo XBoard Xboard For updating translations online version checking needs to be enabled. Une vérification de version en ligne est nécéessaire pour la MAJ des traductions. Select databases folder Choisir le dossier des bases New Engine Nouveau moteur Could not load server language file dictionary Ne peut charger le dictionnaire de langue du serveur Could not load or install language pack Ne peut charger ou installer le pack de langue No further translations online available! Aucune autre traduction disponible en ligne! Translation file loaded - select added language above! Fichier de traduction chargé - Selectionez la langue ajoutée au dessus! Select external executable Choisir l'exécutable externe Clear all application settings? Effacer tous les réglagles de l'application? Warning Attention Light squares Cases claires Dark squares Cases foncées Highlighted squares Cases en surbrillance Frame Bordure Main Line Ligne principale Variations Variantes Comments Commentaires NAGs NAGs Select engine directory Choisir le dossier du moteur Select engine executable Choisir l'exécutable du moteur Current move Coup actuel Stored move Coup gardé Threat Menace [plain colors] [couleurs simples] PromotionDialog Promote to Promouvoir en Queen Reine Rook Tour Bishop Fou Knight Cavalier QuickSearchDialog Quick Tag Search Recherche rapide de critères Value or Range like 2000-2300 Valeur ou Rang comme 2000-2300 &Value: &Valeur : &Tag: &Critère : &Mode: &Mode : Find in current filter Rechercher dans le filtre en cours Search whole database Rechercher dans toute la base de données Add to current filter Ajouter au filtre en cours Remove from current filter Retirer du filtre en cours Find Rechercher RecipientAddressDialog Recipient Address Destinataire Mail Mail This is no valid email address. Adresse mail invalide. RenameTagDialog Rename Tags in Database Renommer les Tags dans la base Rename all Occurrences ... Renommer toutes les occurences... from De to à Press 'Rename' to proceed. Cliquez sur 'Renommer'. Rename Renommer SaveDialog Save Game Sauver la partie Players Joueurs Elo: Elo: &White: &Blancs: &Black: &Noirs: Team Equipe White Team Equipe Blanche Black Team Equipe Noir Time Control Contrôle de temps White Start Time Temps débutt Blancs H:mm:ss H:mm:ss Black Start Time Temps début Noirs e.g. 40/7200:3600 for 2h/40 moves + 1h e.g. 40/7200:3600 pour 2h/40 coups + 1h Tournament Tournoi E&vent date: Date de l'é&vènement : &Site: &Site : &Event: &Evènement : Game Information Informations sur la partie &Round: &Ronde : &Date: &Date : Result: Résultat : Dates are not properly formatted! Les dates n'ont pas le bon format! Invalid Data Erreur TableView Hide Column Cacher colonne Resize visible Columns Redimensionner les colonnes visibles Show all Columns Montrer toutes les colonnes TagDetailWidget Filter: Filtre: Selected Item Item sélectionné Filter Filtrer Rename Renommer TagDialog Edit Tags Données de jeu Tag Critère Value Valeur Deleting %1 tags Supprimez %1 lignes Edit tag... Editer tag... Enter value... Entrer valeur... ./chessx-1.3.2/i18n/chessx_it.ts000644 000765 000024 00000517044 12522147045 016055 0ustar00nistaff000000 000000 AboutDlg About ChessX Informazioni su ChessX <b>ChessX</b><br> Free Chess Database Translated as "free as in beer". <b>ChessX</b><br> Database Scacchistico Gratuito Version Versione Copyright Copyright License Licenza Maintainer Sviluppatore Further Maintainers Ulteriori sviluppatori Testing Controllo Coders Programmatori Further Code Ulteriore programmazione Translations Traduttori Path Information Informazioni sul percorso Path for temporary files Percorso per file temporanei Program data path Percorso per i dati del programma Path to settings Percorso per i settaggi Contact Contatto Homepage Pagina principale Mailing List Lista di discussione ActionDialog Customize Keyboard Personalizza la tastiera Menu Item Oggetto del menu Keyboard Shortcut Abbreviazione da tastiera Analysis Mate Matto Mate in %1 Matto in %1 (depth %1, %2) (profondità %1, %2) (suggested move) (mossa suggerita) AnalysisWidget Analyze Analizza Stop Stop There was an error (%1) running engine <b>%2</b>. Si è verificato un errore (%1) durante l'esecuzione del motore <b>%2</b>. Draw Patta White wins in %n moves Il Bianco vince in %n mossa Il Bianco vince in %n mosse Black wins in %n moves Il Nero vince in %n mossa Il Nero vince in %n mossa Analysis pinned to move %1 Analisi fermata alla mossa %1 Click to add move to game Clicca per aggiungere una mossa alla partita Tablebase Tablebase Complexity Complessità <br><b>Complexity:</b> %1<br> <br><b>Macchinosità:</b> %1<br> Analysis Analisi &Lines: &Linee: Pin engine to current position Ferma il motore alla posizione corrente ... ... BitBoard w%1 b%2 %3 to move. w%1 b%2 %3 per muovere. White Bianco Black Nero BoardSearchDialog Search Board Trova scacchiera Previous Precedente Next Successivo Find Trova Find in current filter Trova nel filtro corrente Search whole database Trova nell'intero database Add to current filter Aggiungi al filtro attuale Remove from current filter BoardSetupDialog Current position is not valid. %1. La posizione corrente non è valida. %1. No white king Re bianco assente No black king Re nero assente Both kings are in check Entrambi i re sono in scacco Side to move has opponent in check already Il colore che ha la mossa ha l'avversario già sotto scacco Black has too many pawns Il Nero ha troppi pedoni White has too many pawns Il Bianco ha troppi pedoni There are pawns on the first or eighth rank Ci sono pedoni sulla prima o ottava traversa Too many kings Troppi re Too many black pieces Troppi pezzi neri Too many white pieces Troppi pezzi bianchi Bad castling rights Diritti d'arrocco errati En passant square is not correct La casella per la cattura en passant non è corretta Unknown reason Motivo non noto Illegal position: %1 Posizione illegale: %1 Text in clipboard does not represent valid FEN:<br><i>%1</i> Il testo negli appunti non rappresenta un FEN valid:<br><i>%1</i> There is no text in clipboard. Non c'è testo nella clipboard. Setup position Setta la posizione Board Scacchiera Clear Svuota Side to move: Colore a cui tocca la mossa: Move: Mosse: &Advanced &Avanzate En passant file: Colonna per la presa en passant: Castling rights Diritti d'arrocco Tools Strumenti Flip board Inverti scacchiera ... ... Mirror left and right Inverti sinistra e destra Mirror top and bottom Inverti alto e basso Change colors for all pieces Cambia i colori per tutti i pezzi Black O-O Nero O-O White O-O-O Bianco O-O-O White O-O Bianco O-O Black O-O-O Nero O-O-O Halfmove clock: Indice delle semimosse: FEN FEN Paste FEN Incolla FEN Copy FEN Copia FEN Copy Text Copia testo BoardTheme Cannot find piece data. Please check your installation. Non si trovano i dati relativi ai pezzi. Controllare l'installazione. ChessBrowser Add start comment... Aggiungi commento iniziale... Add game comment... Aggiungi commento alla partita... Comment... Commento... Add move symbol Aggiungi simbolo alla mossa Add evaluation symbol Aggiungi simbolo di valutazione Add other symbol Aggiungi altro simbolo Bishops Alfieri Remove symbols Elimina simbolo Enumerate Variations A) B) C) Enumera le Varianti A) B) C) Enumerate Variations a) b) c) Enumera le Varianti A) B) C) Promote to main line Promuovi a linea principale Move variation up Muovi in su la variante Move variation down Muovi in giù la variante Remove variation Elimina variante Remove previous moves Elimina le mosse precedenti Remove next moves Rimuovi le mosse successive Insert threat Copy Html I rather prefer "HTML" to Html Copia HTML Copy Text Copia testo Refactor Riaggiusta Uncomment Elimina commento Remove Variations Rimuovi varianti ClipboardDatabase Clipboard Appunti CommentDialog Edit Comment Modifica commento Time Tempo Elapsed Trascorso Clock Orologio Move Mossa H:mm:ss H:mm:ss CopyDialog Copy Games Copia Partite Copy: Copia: &Current game Partita &corrente Selected Games Partite selezionate Games in &filter Partite nel &filtro &All games &Tutte le partite &To: &A: DatabaseList Databases Database Activate Attiva Open Apri Close Chiudi Add to favorites Aggiungi ai preferiti Remove from Favorites Rimuovi dai preferiti Show in Finder Mostra in ricerca Make a Polyglot book... Crea un libro Polyglot... DatabaseListModel Favorite Preferito Name Nome Size Dimensioni Open I am not sure if it is the opposite of Open or Opened... Apri Path Percorso Format Formato Date Data Read Accesso Closed Chiuso DlgSaveBook Build Polyglot Book Crea un libro Polyglot Input File File di ingresso Polyglot Book Parameters Parametri del libro Polyglot Max Ply Massima semimossa Min Game It is not entirely clear what this refers to. Min partita Uniform Probabilities Probabilità uniforme Output Path Percorso per l'output Enter the complete target path Inserisci il percorso di destinazione completo ... ... Clipboard Appunti New book Nuovo libro Polyglot Book (*.bin) Libro Polyglot (*.bin) ECOListWidget <html><body><i>No ECO code chosen.</i></body></html> <html><body><i>Nessun codice ECO scelto.</i></body></html> <html><i>No ECO code chosen.</i></html> <html><i>Nessun codice ECO scelto.</i></html> EcoInfo <i>no games</i> <i>nessuna partita</i> Total: %1 Totale: %1 Games in database %1: %2 Partite nel database %1: %2 Rating: <b>%1</b> Punteggio: <b>%1</b> Rating: <b>%1-%2</b> Punteggio: <b>%1-%2</b> White Player Giocatore Bianco Score Risultato Black Player Giocatore Nero EngineOptionDialog Engine Options Opzioni Motore EngineOptionList Engine Options Opzioni Motore EngineOptionModel Name Nome Default Default Min Min Max Max Value Valore EventInfo <i>no games</i> <i>nessuna partita</i> Total: %1 Totale: %1 Games in database %1: %2<br> Partite nel database %1: %2<br> Rating: <b>%1</b><br> Punteggio: <b>%1</b><br> Rating: <b>%1-%2</b><br> Punteggio: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Data: <b>????.??.??<b><br> Date: <b>%1</b><br> Data: <b>%1</b><br> <table><tr><th>Participants</th><th>Score</th></tr> <table><tr><th>Partecipanti</th><th>Punteggio</th></tr> EventListWidget <html><i>No event chosen.</i></html> <html><i>Nessun evento scelto.</i></html> ExtTool : File not found : File non trovato FicsClient Connected to FICS as %1 using %2 Connesso a FICS come %1 utilizzando %2 FicsConsole Form Da Messages Messaggi Say to opponent Dici all'avversario ... ... White Bianco Black Nero History Cronologia Double click to examine game Doppio click per esaminare la partita Finger Finger Games Partite Double click to follow game Doppio click per seguire la partita Relay Trasmissione Puzzle The word in English is sufficiently well known and used in Italian. Puzzle Double click to get a puzzle Doppio click per avere un puzzle Rated only Human only Elo Elo Propose a game Proponi una partita Get Mate Ottieni Matto Get Study Ottieni Studio Get Tactics Ottieni Tattica Messages from Puzzlebot Hard to translate Puzzlebot with a single word. Messaggio dal programma bot del puzzle Players Giocatori Rating Punteggio User Utente Seeks This is not really clear without context. Cerca Time Control Controllo del tempo Lightning Lampo Blitz Same in Italian as in English. Blitz Standard Same in Italian as in English. Standard Minutes Minuti Increment Incremento rated con punteggio unrated senza punteggio Seek Cerca No play list I am not sure which play list it refers to. Nessuna lista di gioco Enter command here Inserisci comando qui Accept Accetta Draw Patta Decline Rifiuta Abort Annulla Resign Abbandona Hint Suggerimento Cancel Cancella Disconnect Disconnetti Disconnected Disconnesso Retrieving relayed games... Recupero partite trasmesse... Observe Osserva Examine Esamina FilterModel Nr Nr White Bianco Black Nero White Elo Elo Bianco Black Elo Elo Nero Event Evento Site Luogo Round Turno Date Data Result Risultato ECO ECO Moves Mosse Game Add move Aggiungi mossa Merge game Unisci partita Replace move Sostituisci mossa Add Variation Aggiungi variante Promote Variation Promuovi variante Remove variation Elimina variante Truncate variation Tronca variante Remove variations Rimuovi varianti Remove comments Rimuovi commento Set annotation Immetti annotazione Colorize square Colora casella Paint arrow Paint in "paint arrow" and colorize in "colorize square" are translated with the same term Colora freccia Add nag Aggiungi NAG Set nags Imposta NAG Move variation Variante di mossa Enumerate variations Enumera le Varianti Set result Imposta risultato GameList Game list Elenco delle partite Find tag... Trova etichetta... Hide Column Nascondi colonna Resize visible Columns Ridimensiona le colonne visibili Show all Columns Mostra tutte le colonne Copy games... Copia partite... Merge into current game Includi nella partita corrente All Games Tutte le partite Filter Filtro Selected games Partite selezionate Delete game Elimina partita Hide game Nascondi partita GameWindow MainWindow MainWindow Move Mossa Evaluation Valutazione Other Altro LoadQuery Load Database Carica database Currently, there are no databases configured. Shall I download a database? Al momento non ci sono database configurati. Devo caricare un database? Large Database (9M) Database grande (9M) Small Database Database piccolo Start Download! Inizia a caricare! Skip Loading Salta caricamento MainWindow Game Text Testo della partita Game List Elenco delle partite Opening Tree Albero delle aperture Loading ECO file... Caricamento del file ECO... ECO Loaded. ECO Caricato. Opening %1... Apertura di %1... Database %1 cannot be accessed at the moment (%2). Non è possibile accedere al database%1 al momento (%2). Cannot open file Impossibile aprire il file %1 opened %1 aperto Export games Esporta partite PGN file (*.pgn) File PGN (*.pgn) HTML page (*.html) Pagina HTML (*.html) LaTeX document (*.tex) Documento LaTeX (*.tex) &File &File File File &New database... &Nuovo database... &Open... &Apri... Open &recent... Apri file &recente... Commit Database to disk Commit is not easy to translate... Metti il database su disco &Export... &Esporta... Current Game Copia partita &Games in filter &Partite presenti nel filtro &All games &Tutte le partite Export Image Esporta immagine Mail PGN... Translated as "Send PGN by mail". Invia PGN via mail... &Close &Chiudi &Quit &Esci &Edit &Modifica Edit Modifica Undo Annulla Redo Ripeti Comment Commento Comment Before Commento prima Variation Variante Promote Promuovi Promote Variation Promuovi variante Remove Elimina Remove Variation Rimuovi variante &Remove &Elimina Moves from the beginning Mosse dall'inizio Moves to the end Mosse fino alla fine Setup &position... Setta la &posizione... Paste into new game Incolla in nuova partita Paste Incolla &Save... &Salva... Save Salva Edit tags... Modifica etichetta... Match Match Auto Respond Auto-rispondi Refactor This is difficult to translate Riaggiusta Uncomment Elimina commento Remove Variations Rimuovi varianti Find tag... Trova etichetta... Find position... Trova posizione... Clear clipboard Cancella appunti Customize Keyboard... Personalizza tastiera... Load Sample Database Carica database campione Report a bug... Segnala un bug... Start loading database... Inizia a caricare il database... A new version is available at chessx.sourceforge.net Una nuova versione è disponibile all'indirizzo chessx.sourceforge.net &Preferences... &Preferenze... &View &Visualizza &Flip board &Inverti scacchiera &Game &Partita &Load &Carica &Next &Successivo &Previous &Precedente &Go to game... &Vai a partita... &Random &Random &Go to &Vai a &Start &Inizio &End &Fine &Next move Mossa &successiva &Previous move Mossa &precedente Game Time Tempo della partita FICS Console Console FICS Players Giocatori Events Eventi ECO ECO Databases Database Analysis 1 Analisi 1 Analysis 2 Analisi 2 Move Interval: Intervallo di mossa: ECO Load Error. Errore nel caricamento dell'ECO. Database %1 cannot be accessed at the moment. Non è possibile accedere al database%1 al momento. Open in UTF8... Apri in UTF8... Open FICS Apri FICS Save Database Salva Database Export Image... Esporta immagine... Copy PGN Copia PGN Copy FEN Copia FEN Copy Position Copia posizione Copy Image Copia immagine Toolbars Strumenti Stay on Top Lascia in alto Close current board Chiudi la scacchiera corrente Game Partita Database Database Training Allenamento Auto Player Auto-gioco Auto Analysis Auto-analisi Go to first move Vai alla prima mossa Go to last move Vai all'ultima mossa 5 moves &forward &Avanti 5 mosse 5 moves &backward &Indietro 5 mosse Enter Variation Inserisci variante Previous Variation Variante precedente Next Variation Variante successiva Back to main line Torna alla linea principale &New &Nuovo Fi&nd &Trova Search Trova &Reset filter &Resetta il filtro &Reverse filter &Inverti il filtro &Database &Database &Switch to &Passa a &Copy games... &Copia partite... &Help &Aiuto Help Aiuto &About ChessX &Informazioni su ChessX Following databases are modified: I seguenti database sono modificati: Save them? Salvarli? (%1 s.) (%1 s.) New database Nuovo database PGN database (*.pgn) Database PGN (*.pgn) Cannot create ChessX database. Impossibile creare un database di ChessX. Open database Apri database PGN databases (*.pgn) Database PGN (*.pgn) <html>The database <i>%1</i> is read-only and cannot be saved.</html> <html>Il database <i>%1</i>è di sola lettura e non può essere salvato.<html> Saving %1... Salvataggio %1... PGN databases (*.pgn);;Polyglot books (*.bin) Database PGN (*.pgn);;Libri Polyglot (*.bin) The current database is modified! Il database corrente è stato modificato! Save it? Salvare? %1 saved %1 salvato Text in clipboard does not represent valid FEN:<br><i>%1</i> Il testo negli appunti non rappresenta un FEN valido:<br><i>%1</i> There is no text in clipboard. Nessun testo negli appunti. The clipboard contains FEN, but with illegal position. You can only paste such positions in <b>Setup position</b> dialog. non sono sicuro della traduzione di "dialog" Gli appunti contengono un FEN, ma con posizione illegale. Puoi solo copiare questa posizione nella finestra <b>Setta posizione</b>. Set starting board Imposta la scacchiera di partenza Images (*.png *.jpg *.jpeg *.bmp) Immagine (*.png *.jpg *.jpeg *.bmp) Red Square Casella rossa Yellow Square Casella gialla Green Square Casella verde Remove Color Rimuovi colore Red Arrow to here Freccia rossa verso qui Yellow Arrow to here Freccia gialla verso qui Green Arrow to here Freccia verde verso qui Remove Arrow to here Rimuovi la freccia verso qui Load Game Carica Partita Game number: Partita numero: This database is read only. Questo database è di sola lettura. Merge selected games Includi partite selezionate Analysis Pane 1 is not running an engine for automatic analysis. Il pannello di Analisi 1 non sta eseguendo un motore per l'analisi automatica. Engine %1 Motore %1 all tutto Append game %1 to %2. Aggiungi partita %1 in coda a %2. Appended %1 games to %2. Aggiunto in coda %1 partite a %2. Error appending games to %1 Append games from %1 to %2. Aggiungi in coda le partite da %1 a %2. Infinite Infinito Could not build book Impossibile creare libro Polyglot Error Errore di Polyglot <b>New game</b> <b>Nuova partita</b> You need at least two open databases to copy games Occorrone almeno due database aperti per copiare partite %1. %2 (%3 games) %1. %2 (%3 partite) %1 - ChessX %1 - ChessX Search ended Ricerca terminata Updating tree... Aggiornamento albero... MessageDialog Error Errore Warning non sono sicuro se la traduzione va bene Avvertimento Information o al plurale? Informazione Question Domanda &Yes &Sì &No &No &OK &OK &Cancel &Cancella MoveData [end] [fine] NagSet Good Move Mossa buona Poor Move Mossa infelice Very good Move Mossa molto buona Blunder Svista Speculative Move Mossa speculativa Dubious Move Mossa dubbia Only Move Mossa unica Worst Move Mossa peggiore Equal Pari Unclear Poco chiaro White has slight advantage Il Bianco ha un leggero vantaggio Black has slight advantage Il Nero ha un leggero vantaggio White has moderate advantage Il Bianco ha un vantaggio moderato Black has moderate advantage Il Nero ha un vantaggio moderato White has decisive advantage Il Bianco ha un vantaggio decisivo Black has decisive advantage Il Nero ha un vantaggio decisivo White has crushing advantage Il Bianco ha un vantaggio schiacciante Black has crushing advantage Il Nero ha un vantaggio schiacciante Zugzwang Same in Italian as in English. Zugzwang With slight space advantage Con leggero vantaggio di spazio With moderate space advantage Con moderato vantaggio di spazio With decisive space advantage Con decisivo vantaggio di spazio With slight development advantage Con leggero vantaggio di sviluppo With moderate development advantage Con moderato vantaggio di sviluppo With decisive development advantage Con decisivo vantaggio di sviluppo With initiative Con iniziativa With lasting initiative Con iniziativa durevole With attack Con attacco With insufficient compensation for material deficit Con insufficiente compenso per il deficit di materiale With compensation Con compenso With more than adequate compensation for material deficit Con più che adeguato compenso per il deficit di materiale With slight center control advantage Con leggero vantaggio nel controllo del centro With moderate center control advantage Con moderato vantaggio nel controllo del centro With decisive center control advantage Con decisivo vantaggio nel controllo del centro With slight kingside control advantage Con leggero vantaggio nel controllo del lato di re With moderate kingside control advantage Con moderato vantaggio nel controllo del lato di re With decisive kingside control advantage Con decisivo vantaggio nel controllo del lato di re With slight queenside control advantage Con leggero vantaggio nel controllo del lato di donna With moderate queenside control advantage Con moderato vantaggio nel controllo del lato di donna With decisive queenside control advantage Con decisivo vantaggio nel controllo del lato di donna With vulnerable first rank Con vulnerabilità della prima traversa With well protected first rank Con buona protezione della prima traversa With poorly protected king Con infelice protezione del re With well protected king Con buona protezione del re With poorly placed king Con infelice posizionamento del re With well placed king Con buon posizionamento del re With very weak pawn structure Con stuttura pedonale molto debole With moderately weak pawn structure Con struttura pedonale moderatamente debole With moderately strong pawn structure Con struttura pedonale moderatamente forte With very strong pawn structure Con struttura pedonale molto forte With poor knight placement Con infelice posizionamento del cavallo With good knight placement Probably in English is "good placement of knight(s)", translated in Italian with singular ("of knight") only. Con buon posizionamento del cavallo With poor bishop placement Con infelice posizionamento dell'alfiere With good bishop placement Probably in English is "good placement of bishop(s)", translated in Italian with singular ("of bishop") only. Con buon posizionamento dell'alfiere With poor rook placement Con infelice posizionamento della torre With good rook placement Probably in English is "good placement of rook(s)", translated in Italian with singular ("of rook") only. Con buon posizionamento della torre With poor queen placement Con infelice posizionamento della donna With good queen placement Con buon posizionamento della regina With poor piece coordination Con infelice coordinazione dei pezzi With good piece coordination Con buona coordinazione dei pezzi White played the opening very poorly Il Bianco ha giocato l'apertura in modo molto infelice Black played the opening very poorly Il Nero ha giocato l'apertura in modo molto infelice White played the opening poorly Il Bianco ha giocato l'apertura in modo infelice Black played the opening poorly Il Nero ha giocato l'apertura in modo infelice White played the opening well Il Bianco ha giocato l'apertura bene Black played the opening well Il Nero ha giocato l'apertura bene White played the opening very well Il Bianco ha giocato l'apertura molto bene Black played the opening very well Il Nero ha giocato l'apertura molto bene White played the middlegame very poorly Il Bianco ha giocato il mediogioco in modo molto infelice Black played the middlegame very poorly Il Nero ha giocato il mediogioco in modo molto infelice White played the middlegame poorly Il Bianco ha giocato il mediogioco in modo infelice Black played the middlegame poorly Il Nero ha giocato il mediogioco in modo infelice White played the middlegame well Il Bianco ha giocato il mediogioco bene Black played the middlegame well Il Nero ha giocato il mediogioco bene White played the middlegame very well Il Bianco ha giocato il mediogioco molto bene Black played the middlegame very well Il Nero ha giocato il mediogioco molto bene White played the ending very poorly Il Bianco ha giocato il finale in modo molto infelice Black played the ending very poorly Il Nero ha giocato il finale in modo molto infelice White played the ending poorly Il Bianco ha giocato il finale in modo infelice Black played the ending poorly Il Nero ha giocato il finale in modo infelice White played the ending well Il Bianco ha giocato il finale bene Black played the ending well Il Nero ha giocato il finale bene White played the ending very well Il Bianco ha giocato il finale molto bene Black played the ending very well Il Nero ha giocato il finale molto bene With counterplay Con controgioco Moderate time control pressure Moderata pressione dovuta al controllo del tempo Severe time control pressure Grave pressione dovuta al controllo del tempo With the idea Con l'idea Aimed against Non-literal translation. Per contrastare Better was Era migliore Worse was Era peggiore Equivalent was Equivalente era RR RR N N Weak point Punto debole Endgame Finale Line Linea Diagonal Diagonale Pair of bishops Coppia degli alfieri Bishops of opposite color Alfieri di colore opposto Bishops of the same color Alfieri dello stesso colore Diagram Diagramma OpeningTree Move Mossa Count Conteggio Score Risultato Rating Punteggio Year Anno OpeningTreeWidget Form Context? Da Target Destinazione Filter games Filtro partite Board Scacchiera Source Sorgente Pin Pin ... ... Database Database Filter Filtro Progress Progresso Undo Annulla (Book) (Libro) OutputOptions Notation in Column Style Notazione nello stile della colonna Show symbolic Nags Should not it be NAG instead of Nag? Mostra NAG simbolici Text width Larghezza del testo Indent variations from Level Indenta le varianti dal livello Variation Indentation Comment indentation Indentazione del commento NAG Color Colore del NAG Main Line Color Colore della linea principale Variation Color Colore per la variante Comment Color Colore del commento Header Color Colore dell'intestazione Show Header Mostra intestazione Show Diagrams Mostra diagrammi Diagram Size Dimensioni del diagramma Font for text Carattere per il testo Font for moves Carattere per le mosse Comment Indentation Indentazione del commento PlayerInfo <i>no games</i> <i>nessuna partita</i> Total: %1<br>White: %2<br>Black: %3<br> Totale: %1<br>Bianco: %2<br>Nero: %3<br> Games in database <i>%1</i>: <b>%2</b><br> Partite nel database <i>%1</i>: <b>%2</b><br> Rating: <b>%1</b><br> Punteggio: <b>%1</b><br> Rating: <b>%1-%2</b><br> Punteggio: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Data: <b>????.??.??<b><br> Date: <b>%1</b><br> Data: <b>%1</b><br> White Openings Aperture del Bianco Black Openings Aperture del Nero PlayerListWidget <html><i>No player chosen.</i></html> <html><i>Nessun giocatore scelto.</i></html> PreferencesDialog XBoard XBoard For updating translations online version checking needs to be enabled. Per aggiornare le traduzioni occorre abilitare il controllo di versione online. Select external executable Seleziona eseguibile esterno Select databases folder Seleziona cartella per i database New Engine Nuovo motore Could not load server language file dictionary "server" has not been translated. Impossibile caricare il dizionario del file di linguaggio Could not load or install language pack Impossibile caricare o installare il pacchetto di linguaggio Translation file loaded - select added language above! File di traduzione caricato - selezionare il linguaggio aggiunto sopra! No further translations online available! Nessuna ulteriore traduzione online disponibile! Clear all application settings? Azzera tutti i settaggi per l'applicazione? Warning Avvertenza Light squares Caselle bianche Dark squares Caselle nere Highlighted squares Caselle evidenziate Frame Cornice Main Line Linea principale Variations Varianti Comments Commenti NAGs NAGs Select engine directory Seleziona cartella per il motore d'analisi Select engine executable Seleziona l'eseguibile per il motore d'analisi Current move Mossa corrente Stored move Mossa conservata Threat [plain colors] puri? [colori puri] Preferences Preferenze Database Database Automatic classification with ECO Codes Classificazione automatica con codici ECO Build index file Costruisci il file di indice Commit Database after saving Game Commit is not easy to translate... Metti il database su disco dopo aver salvato la partita Number of recent files: Numero di file recenti: Default Database Path: Percorso di default per database: Default path for storing files Percorso di default per conservare i file Appearance Aspetto Game Text Testo della partita Show threat Show Diagrams Mostra diagrammi Column Style Stile della colonna Keep variations inline from level Conserva l'indentazione delle varianti dal livello Diagram Size Dimensioni del diagramma Pieces Pezzi Put the initials of the pieces here, mind the initial space. Metti qui le iniziali per i pezzi, attenzione allo spazio iniziale. KQRBN - Mind the initial space! .RDTAC - Attenzione allo spazio iniziale! Colors: Colori: Auto Analysis backwards Auto-analisi alla rovescia Automatic Promotion Promozione automatica Always queen a pawn Promuovi sempre un pedone a donna Fonts for notation Caratteri per notazione Texts Testi Moves Mosse Font with Chess Symbols (Unicode) Caratteri con simboli scacchistici (Unicode) Font Size Dimensioni del carattere Application Applicazione Show move indicator Mostra indicatore di mossa Automatic Automatico Always Sempre Sound Suono Indicate opponent's move Indica mossa dell'avversario Never Mai Icons visible in menus Incone visibile nei menu App App Internet Internet Language Linguaggio Changing the language requires restarting the application! Modificare il linguaggio richiede il riavvio dell'applicazione! Use vertical Tabs Usa tabulazioni verticali Highlight current move: Evidenzia la mossa corrente: Log in as guest Guest is ok in Italian. Accedi come guest Login Login Try to use Timeseal Teamseal was not translated. Prova a usare Timeseal Check for updates (at startup) and language packs Controlla aggiornamenti (all'avvio) e pacchetti di linguaggio Localization Localizzazione Load language file from Server: Carica file di linguaggio dal server: Load! Carica! External Tools Strumenti esterni Parameters Parametri Path Percorso Path and filename of external program Percorso e nome file del programma esterno Command line, also $(InputPath), $(InputFile) Linea di comando, anche $(InputPath), $(InputFile) &Board &Scacchiera &Chess set: &Pezzi: plain non sono sicuro proprio per niente! puro outline non sono sicuro bordo outline+shadow bordo+ombra &Draw frame between squares &Traccia cornice tra le caselle &Guess move on left-click &Indovina la mossa al click del tasto sinistro Board &style: &Stile della scacchiera: &Colors: &Colori: &Engines &Motori d'analisi ... ... Name: Nome: Command: Comando: Options: Opzioni: Mouse Behaviour Comportamento del mouse Next guess on right click Indovina successiva al click del tasto destro Wheel sensitivity Sensibilità della rotella Fast Veloce Slow Lento Arrow Freccia Draw Coordinates Segna le coordinate Game Partita Autoplayer Auto-gioco Automatically save game and continue with next Salva automaticamente la partita e continua con la successiva Path to executable Percorso per l'eseguibile Path where engine is started - usually place of books Percorso dove il motore inizia - di solito posizione dei libri Directory: Directory: Protocol: Protocollo: Command Line Options Opzioni della linea di comando Options Opzioni Arbitrary name to identify engine Why is there a space at the end of the string? Nome arbitrario per identificare il motore Down Abbassa Remove Elimina Add... Aggiungi... Up alza e abbassa... non so se va bene Alza Password Parola d'accesso Use online tablebase servers Usa server per le tablebase online &Edit PGN files smaller than: &Modifica file PGN più piccoli di: MB MB PromotionDialog Promote to Promuovi a Queen Donna Rook Torre Bishop Alfiere Knight Cavallo QuickSearchDialog Find in current filter Trova nel filtro corrente Search whole database Trova nell'intero database Add to current filter corrente o attuale? Aggiungi al filtro attuale Remove from current filter Rimuovi dal filtro corrente Find Trova Quick Tag Search Ricerca rapida Tag Value or Range like 2000-2300 Valore dell'intervallo come 2000-2300 &Value: &Valore: &Tag: &Etichetta: &Mode: non sono sicuro &Modalità: RecipientAddressDialog Recipient Address Indirizzo del ricevente Mail Mail This is no valid email address. Questo non è un indirizzo mail valido. RenameTagDialog Rename Tags in Database Rinomina etichette nel database Rename all Occurrences ... Rinomina tutte le occorrenze... from Context? da to Contesto? a Press 'Rename' to proceed. Premi 'Rinomina' per procedere. Rename Rinomina SaveDialog Save Game Salva Partita Players Giocatori Elo: Elo: &White: &Bianco: &Black: &Nero: Team Squadra White Team Squadra del Bianco Black Team Squadra del Nero Time Control Controllo del tempo White Start Time Tempo iniziale del Bianco H:mm:ss H:mm:ss Black Start Time Tempo iniziale del Nero e.g. 40/7200:3600 for 2h/40 moves + 1h es. 40/7200:3600 per 2h/40 mosse +1h Tournament Torneo E&vent date: Data &evento: &Site: &Luogo: &Event: &Evento: Game Information Informazioni sulla partita &Round: &Turno: &Date: &Data: Result: Risultato: Dates are not properly formatted! Le date non sono formattate correttamente! Invalid Data Data non valida TableView Hide Column Nascondi colonna Resize visible Columns Ridimensiona le colonne visibili Show all Columns Mostra tutte le colonne TagDetailWidget Filter: Filtro: Selected Item Not sure if "oggetto" is the right translation for "item" here. Oggetto selezionato Filter Filtro Rename Rinomina TagDialog Edit Tags Modifica etichetta Tag Etichetta Value Valore Deleting %1 tags Eliminazione %1 tag Edit tag... Modifica etichetta... Enter value... Inserisci valore... ./chessx-1.3.2/i18n/chessx_nl.ts000644 000765 000024 00000243766 11500002613 016043 0ustar00nistaff000000 000000 AnalysisWidget Analysis Analyse &Lines: &Varianten Analyze Analyseer Stop Stop Error Fout There was an error running engine <b>%1</b>. Er treedt een fout op tijdens gebruik van de engine. Draw Remise White wins in %n moves Wit wint in %n zetten Black wins in %n moves Zwart wint in %n zetten <b>Tablebase:</b> <b>Tablebase:</b> BoardSetupDialog Setup position Zet stelling op Board Bord Clear Wis &Reset &Reset Side to move: Kant aan zet: Move: Zet: &Advanced &Geavanceerd En passant file: En passant rij: Castling rights Rechten om te rokeren Black O-O Zwart O-O White O-O-O Wit O-O White O-O Wit O-O Black O-O-O Zwart O-O-O - - a a b b c c d d e e f f g g h h Halfmove clock: Halve zet klok: Paste FEN Plak FEN Copy FEN Copieer FEN &Ok &Ok &Cancel &Annuleer Invalid position Ongeldige stelling Current position is not valid. %1. Huidige stelling is ongeldig. %1 No white king Witte koning ontbreekt No black king Zwarte koning ontbreekt Both kings are in check Beide koningen staan schaak Side to move has opponent in check already Degene aan zet heeft al een tegenstander die schaak staat Black has too many pawns Zwart heeft teveel pionnen White has too many pawns Wit heeft teveel pionnen There are pawns on the first or eighth rank Er staan pionnen op de eerste of achtste rij Too many kings Teveel koningen Too many black pieces Teveel zwarte stukken Too many white pieces Teveel witte stukken Bad castling rights Ongeldige rokkade En passant square is not correct Veld voor en passant is ongeldig Unknown reason Onbekende reden FEN: %1 FEN: %1 Illegal position: %1 Illegale stelling: %1 Text in clipboard does not represent valid FEN:<br><i>%1</i> Tekst in klembord bevat ongeldige FEN:<br><i>%1</i> There is no text in clipboard. Er is geen tekst in het klembord BoardTheme Error Fout Cannot find piece data. Please check your installation. Kan geen gegevens vinden van de stukken Controleer uw installatie alstublieft ChessBrowser Add start comment... Voeg startcommentaar toe Add comment... Voeg commentaat toe... Add move symbol Voeg zet commentaar Add evaluation symbol Voeg evaluatieteken toe Add other symbol Voeg een ander teken toe Remove symbols Verwijder tekens Promote to main line Promoveer tot hoofdvariant Remove variation Verwijder variant Remove previous moves Verwijder vorige zetten Remove next moves Verwijder volgende zetten Small font Klein lettertype CommentDialog Edit Comment Bewerk commentaar CopyDialog Copy Games Copieer partijen Copy: Copieer: &Current game &Huidige partij Games in &filter Partijen in &filter &All games &Alle partijen &To: &Naar: GameList Game list Lijst met partijen HelpWindow ChessX - help viewer ChessX - hulp raadplegen &Open ... &Open ... Opens a help page Opent een hulppagina &Print &Druk af Prints the current page Drukt de huidige pagina af E&xit Sluit af Exits the help browser Sluit de hulp af &Forward &Volgende Next document in history Volgend document in geschiedenis &Back &Terug Go back in history Ga terug in de geschiedenis &Home &Begin Open the start page of the helpsystem Open de startpagina van het helpsysteem &About &Over About ChessX Over ChessX History Geschiedenis &File &Bestand Na&vigate Na&vigeer &Help &Help Ready Gereed Select a help file ... Selecteer een helpbestand Help pages (*.html *.htm ) Hulp pagina's (*.html *.htm ) MainWindow Game Text Partij Tekst Game List Partij Lijst Opening Tree Openingen boom Analysis Analyse Loading ECO file... ECO bestand laden... ECO Loaded. ECO geladen. [Clipboard] [Klembord] Database %1 is already opened. Database %1 is reeds geopend. Opening %1... Opening %1... Cannot open file Kan geen bestand openen %1 opened %1 geopend Export games Export partijen PGN file (*.pgn) PGN bestand (*.pgn) HTML page (*.html) HTML pagina (*.html) LaTeX document (*.tex) LaTeX document (*.tex) &File &Bestand &New database... &Nieuwe database... &Open... &Open... Open &recent... Open &recent... &Save &Bewaar &Export... &Export... &Games in filter &Partijen in filter &All games &Alle partijen &Close &Sluit &Quit &Afsluiten &Edit &Bewerk Comment Commentaar Variation Variant Promote Promoveer Remove Verwijder &Remove &Verwijder Moves from the beginning Zetten vanaf startpositie Moves to the end Zetten tot einde Setup &position... Opzetten &stelling... &Copy FEN &Copieer FEN &Paste FEN &Plak FEN &Preferences... &Voorkeuren... &View &Bekijk &Flip board &Draai bord &Player information... &Spelers informatie &Game &Partij &Load &Laad &First &Eerste &Last &Laatste &Next &Volgende &Previous &Vorige &Go to game... &Ga naar partij... &Random &Willekeurig &Go to &Ga naar &Start &Begin &End &Einde &Next move &Volgende zet &Previous move &Vorige zet 5 moves &forward 5 zetten &vooruit 5 moves &backward 5 zetten &terug Back to main line Terug naar hoofdvariant &New &Nieuw &Save.... &Bewaar &Analyze &Analyseer Fi&nd Zoe&k Find &tag Zoek &tag Find &position Zoek &stelling &Reset filter &Reset filter &Reverse filter &Omgekeerde filter &Database &Database &Switch to &Schakel naar &Copy games... &Copieer partijen... &Help &Help &Report a bug... &Meld een fout... &About ChessX &Over ChessX &Debug &Debug Following databases are modified: De volgende databases zijn gewijzigd: Save them? Bewaren? (%1 s.) (%1 s.) Compiled with 'fastbits' option<br> Gecompileerd met 'fastbits' optie<br> About ChessX Over ChessX <h1>ChessX</h1><p>Free chess database available under GPLv2.<br>Version %1<br>%2Copyright 2005-2010 ChessX developers<p>Current developer and maintainer: <a href="mailto:mrudolf@kdewebdev.org">Michal Rudolf</a><p>Testing, usability and website: Bruno Rizzuti<p>Additional coding: Marius Roets, Sean Estabrooks, Rico Zenklusen, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<p>Homepage: <a href="http://chessx.sf.net">http://chessx.sf.net</a><br>Mailing list: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net <h1>ChessX</h1><p>Free chess database available under GPLv2.<br>Version %1<br>%2Copyright 2005-2010 ChessX developers<p>Current developer and maintainer: <a href="mailto:mrudolf@kdewebdev.org">Michal Rudolf</a><p>Testing, usability and website: Bruno Rizzuti<p>Additional coding: Marius Roets, Sean Estabrooks, Rico Zenklusen, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<p>Homepage: <a href="http://chessx.sf.net">http://chessx.sf.net</a><br>Mailing list: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net New database Nieuwe database PGN database (*.pgn) PGN database (*.pgn) Cannot create ChessX database. Kan geen ChessX database aanmaken. Open database Open database PGN databases (*.pgn) PGN databases (*.pgn) <html>The database <i>%1</i> is read-only and cannot be saved.</html> <html>De database <i>%1</i> is alleen lezen en kan niet worden opgeslagen.</html> Saving %1... Opslaan %1... %1 saved %1 opgeslagen Text in clipboard does not represent valid FEN:<br><i>%1</i> Tekst in het klembord bevat geen geldige FEN:<br><i>%1</i> There is no text in clipboard. Er is geen tekst in het klembord. The clipboard contains FEN, but with illegal position. You can only paste such positions in <b>Setup position</b> dialog. Het klembord bevat FEN, maar met een illegale stelling. U kunt alleen zulke stellingen plakken in <b>Opzetten stelling<b> scherm. Queen Dame Rook Toren Bishop Loper Knight Paard Promotion Promotie Promote to: Promoveer tot: Load Game Laad partij Game number: Partij nummer: This database is read only. Deze database is alleen lezen. <b><a href="tag:white">%1</a></b> %2 - <b><a href="tag:black">%3</a></b> %4 <b><a href="tag:wit">%1</a></b> %2 - <b><a href="tag:zwart">%3</a></b> %4 <b>%1</b> &nbsp; %2 <b>%1</b> &nbsp; %2 %1: %2/%3 %1: %2/%3 You need at least two open databases to copy games Er moeten tenminste twee databases open zijn om partijen te copieren %1. %2 (%3 games) %1. %2 (%3 partijen) %1 - ChessX %1 - ChessX Updating tree... Aanpassen boom... Tree updated Boom aangepast MessageDialog Error Fout Warning Waarschuwing Information Informatie Question Vraag &Yes &Ja &No &Nee &OK &OK &Cancel &Annuleer PlayerDialog Player Information Spelers informatie &Players &Spelers &Find: &Zoek &Show player &Laat speler zien &Update list &Ververs lijst &Information &Informatie &Update player &Ververs speler <html><i>No player chosen.</i></html> <html><i>Geen speler gekozen.</i></html> PreferencesDialog Preferences Voorkeuren &Ok &Ok &Apply &Pas toe &Cancel &Annuleer &Board &Bord &Chess set: &Schaakstukken set: plain puur outline rand outline+shadow rand+schaduw &Draw frame between squares &Teken rand om velden &Guess move on left-click &Voorspel zet bij linker muisklik Board &style: Bord &stijl: &Colors: &Kleuren: &Engines &Engines WinBoard WinBoard UCI UCI ... ... Name: Naam: Command: Commando: Options: Opties: Directory: Directory: Protocol: Protocol: Down Minder Remove Verwijder Add... Meer Up Omhoog &Advanced &Geavanceerd Use online tablebase servers Gebruik online tablebase servers &Edit PGN files smaller than: &Bewerk PGN bestanden kleiner dan: MB MB XBoard XBoard Light squares Witte velden Dark squares Donkere velden Highlighted squares Opgelichte velden Frame Rand Select engine directory Kies directory van de engine Select engine executable Selecteer programmabestand van de engine [plain colors] [pure kleuren] QuickSearchDialog Quick Tag Search Snelle Tag Zoekopdracht Game number Partij nummer White Wit White Elo Elo wit Black Zwart Black Elo Elo zwart Event Evenement Site Plaats Round Ronde Date Datum Result Resultaat ECO ECO Length Lengte &Find &Zoek &Cancel &Annuleer &Value: &Waarde: &Tag: &Tag: &Mode: &Mode: Find in current filter Zoek in huidige filter Search whole database Doorzoek hele database Add to current filter Voeg toe aan huidige filter SaveDialog Save Game Bewaar Partij &OK &OK &Cancel &Annuleer Players Spelers Elo: Elo: &White: &Wit: <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Player name in <span style=" font-weight:600;">surname, name</span><span style=" font-weight:600; font-style:italic;"> </span>format. Some examples:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Kasparov, Garry</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">Tal, Mikhail N</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">Granda Zuniga, Julio E</p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Player name in <span style=" font-weight:600;">surname, name</span><span style=" font-weight:600; font-style:italic;"> </span>format. Some examples:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Kasparov, Garry</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">Tal, Mikhail N</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">Granda Zuniga, Julio E</p></body></html> &Black: &Zwart: Tournament Toernooi <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Date of the first round of the tournament in <span style=" font-weight:600;">YYYY.MM.DD</span> format. Replace trailing part with ?? if necessary.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Some examples:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">2007.03.03</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">2006.05.?? </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">1935.??.?? </p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Date of the first round of the tournament in <span style=" font-weight:600;">YYYY.MM.DD</span> format. Replace trailing part with ?? if necessary.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Some examples:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">2007.03.03</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">2006.05.?? </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">1935.??.?? </p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Site of the tournament in <span style=" font-weight:600;">Place CNT</span> format, where CNT is three-letter country code. Some examples:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Ontario CAN</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">Warsaw POL</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">New York USA</p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Site of the tournament in <span style=" font-weight:600;">Place CNT</span> format, where CNT is three-letter country code. Some examples:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">Ontario CAN</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">Warsaw POL</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">New York USA</p></body></html> E&vent date: Datum e&venement <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html> &Site: &Plaats: &Event: &Evenement: Game Information Partij informatie <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Round number. For rounds with more than one game (usually in knock out or team tournaments) <span style=" font-weight:600;">X.Y </span>format is used.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Some examples:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">3</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">1.4</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">8.15</p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Round number. For rounds with more than one game (usually in knock out or team tournaments) <span style=" font-weight:600;">X.Y </span>format is used.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Some examples:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">3</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">1.4</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">8.15</p></body></html> &Round: &Ronde: &Date: &Datum: <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Date of this round of the tournament in <span style=" font-weight:600;">YYYY.MM.DD</span> format. Replace trailing part with ?? if necessary.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Some examples:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">2007.03.03</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">2006.05.?? </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">1935.??.?? </p></body></html> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Verdana'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Date of this round of the tournament in <span style=" font-weight:600;">YYYY.MM.DD</span> format. Replace trailing part with ?? if necessary.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Some examples:</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-style:italic;">2007.03.03</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">2006.05.?? </p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-style:italic;">1935.??.?? </p></body></html> Result: Resultaat: 1-0 1-0 1/2-1/2 1/2-1/2 0-1 0-1 * * TableView Small font Klein lettertype ./chessx-1.3.2/i18n/chessx_pl.ts000644 000765 000024 00000216345 11477003270 016053 0ustar00nistaff000000 000000 Analysis Mate in Mat w (depth %1) (głębokość %1) AnalysisWidget Stop Stop Error Błąd There was an error running engine <b>%1</b>. WystÄ…piÅ‚ błąd podczasu uruchamiania programu <b>%1</b>. Draw Remis White wins in %n moves BiaÅ‚e wygrywajÄ… w %n posuniÄ™ciu BiaÅ‚e wygrywajÄ… w %n posuniÄ™ciach BiaÅ‚e wygrywajÄ… w %n posuniÄ™ciach Black wins in %n moves Czarne wygrywajÄ… w %n posuniÄ™ciu Czarne wygrywajÄ… w %n posuniÄ™ciach Czarne wygrywajÄ… w %n posuniÄ™ciach <b>Tablebase:</b> <b>Tablica koÅ„cówek</b> &Lines: &Warianty: Analyze Start Mate in Mat w F2 F2 Analysis Analiza BoardSetupDialog No white king Brak biaÅ‚ego króla No black king Brak czarnego króla Both kings are in check Oba króle pod szachem Invalid position NieprawidÅ‚owa pozycja White BiaÅ‚e Black Czarne Setup position Ustaw pozycjÄ™ Move: PosuniÄ™cie: Clear Wyczyść &Reset &Resetuj Side to move: Strona na posuniÄ™ciu: Move: PosuniÄ™cie: &Ok &Ok &Cancel &Anuluj Side to move has opponent in check already Król strony nie na posuniÄ™ciu jest pod szachem Black has too many pawns Zbyt dużo czarnych pionków White has too many pawns Zbyt dużo biaÅ‚ych pionków There are pawns on the first or eighth rank Pionki na pierwszej lub ostatniej linii Too many kings Zbyt wiele króli Too many black pieces Zbyt dużo czarnych figur Too many white pieces Zbyt dużo biaÅ‚ych figur Bad castling rights NieprawidÅ‚owe prawa do roszady En passant square is not correct NieprawidÅ‚owe pole bicia w przelocie Unknown reason Powód nieznany Current position is not valid. %1. Aktualna pozycja jest nieprawidÅ‚owa. %1. FEN: %1 FEN: %1 Illegal position: %1 NieprawidÅ‚owa pozycja: %1 Text in clipboard does not represent valid FEN:<br><i>%1</i> Tekst w schowku nie jest w formacie FEN:<br><i>%1</i> There is no text in clipboard. Brak tekstu w schowku. Board Pozycja &Advanced &Zaawanasowane Ply: Półruch: En passant file: Kolumna bicia w przelocie: Castling rights Roszada Black O-O Czarne O-O White O-O-O BiaÅ‚e O-O-O White O-O BiaÅ‚e O-O Black O-O-O Czarne O-O-O - - a a b b c c d d e e f f g g h h Halfmove clock: Licznik ruchów: Paste FEN Wklej FEN Copy FEN Kopiuj FEN BoardTheme Error Błąd Cannot find piece data. Please check your installation. Nie można znaleźć obrazków figur. ProszÄ™ sprawdzić instalacjÄ™. ChessBrowser Remove UsuÅ„ Add start comment... Dodaj komentarz poczÄ…tkowy... Add comment... Dodaj komentarz... Add move symbol Dodaj ocenÄ™ posuniÄ™cia Add evaluation symbol Dodaj ocenÄ™ pozycji Add other symbol Dodaj inny symbol Remove symbols UsuÅ„ symbole Promote to main line ZmieÅ„ na główny wariant Remove variation UsuÅ„ wariant Remove previous moves UsuÅ„ poprzednie posuniÄ™cia Remove next moves UsuÅ„ nastÄ™pne posuniÄ™cia Small font MaÅ‚a czcionka CommentDialog Edit Comment Edytuj komentarz CopyDialog Copy Games Kopiuj partie Copy: Kopiuj: &Current game &AktualnÄ… partiÄ™ Games in &filter Partie z &filtra &All games &Wszystkie partie &To: &Do: EngineData New engine Nowy program GameList Game list Lista partii HelpWindow ChessX - help viewer ChessX - przeglÄ…darka pomocy &Open ... &Otwórz... Opens a help page Otwiera stronÄ™ pomocy &Print &Drukuj Prints the current page Drukuje aktualnÄ… stronÄ™ E&xit Za&koÅ„cz Exits the help browser Zamyka przeglÄ…darkÄ™ pomocy &Forward &Naprzód Next document in history NastÄ™pny dokument w historii &Back &Wstecz Go back in history Poprzedni dokument w historii &Home &Spis treÅ›ci Open the start page of the helpsystem Otwiera stronÄ™ poczÄ…tkowÄ… &About &O programie About ChessX O programie ChessX History Historia &File &Plik Na&vigate &Nawigacja &Help Pomo&c Ready Gotowe Select a help file ... Wybierz plik pomocy... Help pages (*.html *.htm ) Pliki pomocy (*.html, *.htm) MainWindow Game Text Tekst partii Game List Lista partii Loading ECO file... Wczytywanie pliku ECO... ECO Loaded. Plik ECO wczytany. Quit ZakoÅ„cz Do you want to quit? Na pewno zakoÅ„czyć? [Clipboard] [Schowek] Database %1 is already opened. Baza %1 już jest otwarta. Database %1 opened successfully (%2 seconds). Baza %1 odczytana pomyÅ›lnie (%2 s.). Open database Otwórz bazÄ™ <html>The database <i>%1</i> is read-only and cannot be saved.</html> <html>Baza <i>%1</i> jest tylko do odczytu i nie może zostać zapisana.</html> Saving %1... Zapisywanie %1... %1 saved Zapisano %1 Text in clipboard does not represent valid FEN:<br><i>%1</i> Tekst w schowku nie jest w formacie FEN:<br><i>%1</i> There is no text in clipboard. Brak tekstu w schowku. Queen Hetman Rook Wieża Bishop Goniec Knight Skoczek Promotion Promocja Promote to: Promuj: %1 - ChessX %1 - ChessX Updating tree... Uaktualnianie drzewa... Tree updated Drzewo uaktualnione Add move Dodaj posuniÄ™cie There is already next move in current game. What do you want to do? W tej partii już jest nastÄ™pne posuniÄ™cie. Co zrobić? Add variation Dodaj wariant Add new mainline Dodaj nowe posuniÄ™cie Replace current move ZastÄ…p aktualne posuniÄ™cie Game %1: <b><a href="tag:white">%2</a> %3 - <a href="tag:black">%4</a> %5</b> Partia %1: <b><a href="tag:white">%2</a> %3 - <a href="tag:black">%4</a> %5</b> %1(%2) %3 %1(%2) %3 <i>%1(%2), %3, %4</i> <i>%1(%2), %3, %4</i> (Start of game) (PoczÄ…tek partii) (End of game) (Koniec partii) (End of line) (Koniec wariantu) Last move: %1 &nbsp; &nbsp; Next: %2 Poprzednie: %1 &nbsp; &nbsp; NastÄ™pne: %2 (&lt;-Var) (&lt;-War) <br>Variations: &nbsp; <br>Warianty: &nbsp;(sp) Loses in %n move(s) Przegrywa w %n posuniÄ™ciu Przegrywa w %n posuniÄ™ciach Przegrywa w %n posuniÄ™ciach Wins in %n move(s) Wygrywa w %n posuniÄ™ciu Wygrywa w %n posuniÄ™ciach Wygrywa w %n posuniÄ™ciach Draw Remis <br>Tablebase: <a href="egtb:%1">%2%3 %1</a> -- %4 <br>Tablica koÅ„cówek: <a href="egtb:%1">%2%3 %1</a> -- %4 Load Game Wczytaj partiÄ™ Game number: Numer partii: <b><a href="tag:white">%1</a></b> %2 - <b><a href="tag:black">%3</a></b> %4 <b><a href="tag:white">%1</a></b> %2 - <b><a href="tag:black">%3</a></b> %4 <b>%1</b> &nbsp; %2 <b>%1</b> &nbsp; %2 %1: %2/%3 %1: %2/%3 ChessX - %1 ChessX - %1 &File &Plik &Open... &Otwórz... &Export... &Eksportuj... &Games in filter &Partie z filtra &All games &Wszystkie partie &Close &Zamknij &Quit Za&koÅ„cz &Edit &Edycja &Copy FEN Kopiuj &FEN &Paste FEN Wklej F&EN Position &Setup... &Ustaw pozycjÄ™... PGN database (*.pgn) Baza PGN (*.pgn) Cannot create ChessX database. Nie można utworzyć bazy ChessX. PGN databases (*.pgn) Bazy PGN (*.pgn) Opening %1... Otwieranie %1... Cannot open file Nie można otworzyć plikui %1 opened Wczytano %1 Comment Komentarz Variation Wariant Promote ZmieÅ„ na wariant główny Remove UsuÅ„ Setup &position... Ustaw &pozycjÄ™... &Preferences... &Ustawienia... &Player information... &Informacje o graczu... &Game P&artia &Load &Wczytaj &First &PierwszÄ… &Last &OstatniÄ… &Next &NastÄ™pnÄ… &Previous &PoprzedniÄ… &Go to game... &Idź do partii... &Random &LosowÄ… &Go to &Idź &Start &PoczÄ…tek &End &Koniec &Next move &NastÄ™pne posuniÄ™cie &Previous move &Poprzednie posuniÄ™cie 5 moves &forward 5 posunięć naprzó&d 5 moves &backward 5 posunięć &wstecz Back to main line Powrót do wariantu głównego &Save.... &Zapisz... &Analyze &Analiza Fi&nd &Znajdź Find &tag Znajdź &znacznik Find &position Znajdź &pozycjÄ™ &Reset filter &Resetuj filtr &Reverse filter &Odwróć filtr Following databases are modified: NastÄ™pujÄ…ce bazy zostaÅ‚y zmienione: Save them? Zapisać je? (%1 s.) (%1 s.) &Current game &AktualnÄ… partiÄ™ &View &Widok &Database &Baza &Player Database... Baza &graczy... &Flip board &Odwróć szachownicÄ™ &Help Pomo&c &Tip of the day &Podpowiedź dnia &Report a bug... &Raport o błędzie... &About ChessX &O programie ChessX &Debug &Debugowanie Export games Exportuj partie This database is read only. Ta baza jest tylko do odczytu. Opening Tree Drzewo debiutowe Analysis Analiza Database %1 successfully saved. Zapisano bazÄ™ %1. Compiled with 'fastbits' option<br> Skompilowane z opcjÄ… 'fastbits'<br> About ChessX O programie ChessX <h1>ChessX</h1><p>Free chess database available under GPLv2.<br>Version %1<br>%2Copyright 2005-2010 ChessX developers<p>Current developer and maintainer: <a href="mailto:mrudolf@kdewebdev.org">Michal Rudolf</a><p>Testing, usability and website: Bruno Rizzuti<p>Additional coding: Marius Roets, Sean Estabrooks, Rico Zenklusen, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<p>Homepage: <a href="http://chessx.sf.net">http://chessx.sf.net</a><br>Mailing list: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net <h1>ChessX</h1><p>Darmowa baza szachowa na licencji GPLv2.<br>Wersja %1<br>%2<p>Copyright 2005-2010 Autorzy ChessX<br>Główny programistai opiekun: <a href="mailto:mrudolf@kdewebdev.org">MichaÅ‚ Rudolf</a><p>Testowanie, dopracowanie interfejsu, opieka nad stronÄ… WWW: Bruno Rizzuti<p>Fragmentu kodu: Marius Roets, Sean Estabrooks, Rico Zenklusen, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<p>Strona domowa: <a href="http://chessx.sf.net">http://chessx.sf.net</a><br>Lista dyskusyjna: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net &Save &Zapisz &Remove &UsuÅ„ Moves from the beginning Ruchy od poczÄ…tku partii Moves to the end Ruchy do koÅ„ca partii &New &Nowa Tree updated (%1 s.) Drzewo uaktualnione (%1 s.) PGN file (*.pgn) Plik PGN (*.pgn) HTML page (*.html) Strona HTML (*.html) LaTeX document (*.tex) Dokument LaTeX (*.tex) New database Nowa baza The clipboard contains FEN, but with illegal position. You can only paste such positions in <b>Setup position</b> dialog. Schowek zawiera FEN, ale z nieprawidÅ‚owÄ… pozycjÄ™. Takie pozycje można wkleić tylko w oknie <b>Ustaw pozycjÄ™</b>. <h1>ChessX</h1><p>Free chess database available under GPLv2.<br>Version %1<br>%2<p>Copyright 2005-2007 ChessX developers<br>Core developers: Marius Roets, Michal Rudolf, Rico Zenklusen.<br>Additional coding: Sean Estabrooks, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<br><p>Homepage: <a href="http://chessx.sf.net">http://chessx.sf.net</a><br>Mailing list: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net <h1>ChessX</h1><p>Darmowa baza szachowa na licencji GPLv2.<br>Wersja %1<br>%2<p>Copyright 2005-2007 Autorzy ChessX<br>Główni programiÅ›ci: Marius Roets, Michal Rudolf, Rico Zenklusen.<br>Dodatkowy kod: Sean Estabrooks, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<br><p>Strona domowa: <a href="http://chessx.sf.net">http://chessx.sf.net</a><br>Lista dyskusyjna: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net</a> You need at least two open databases to copy games Do kopiowania potrzebne sÄ… przynajmniej dwie otwarte bazy %1. %2 (%3 games) %1. %2 (%3 partii) &New database... &Nowa baza... Open &recent... Otwórz o&statnie... &Switch to &Przełącz &Copy games... &Kopiuj partie... MessageDialog Error Błąd Warning Ostrzeżenie Information Informacja Question Pytanie &Yes &Tak &No &Nie &OK &OK &Cancel &Anuluj MoveData [end] [koniec] OpeningTree Move PosuniÄ™cie Count Liczba Score Wynik Rating Ranking Year Rok PlayerDialog Player Database Baza graczy Player Information Informacje o graczu &Players &Gracze &Find: &Znajdź: &Show player &Pokaż gracza &Update list &Uaktualnij listÄ™ &Information &Informacja &Update player &Uaktualnij gracza <html><i>No player chosen.</i></html> <html><i>Nie wybrano gracza.</i></html> PlayerInfo <i>no games</i> <i>brak partii</i> Total: %1<br>White: %2<br>Black: %3<br> Razem: %1<br>BiaÅ‚e: %2<br>Czarne: %3<br> Games in database <i>%1</i>: <b>%2</b><br> Partie w bazie <i>%1</i>: <b>%2</b><br> Rating: <b>%1</b><br> Ranking: <b>%1</b><br> Rating: <b>%1-%2</b><br> Ranking: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Data: <b>????.??.??</b><br> Date: <b>%1</b><br> Data: <b>%1</b><br> PreferencesDialog Light squares BiaÅ‚e pola Dark squares Czarne pola Highlighted squares PodÅ›wietlenie Frame Obramowanie Select engine directory Wybierz katalog programu Select engine executable Wybierz program [plain colors] [dwukolorowa] ChessX Preferences Ustawienia ChessX &Board &Szachownica &Colors: &Kolory: Board &style: &Styl szachownicy: Preferences Ustawienia &Guess move on left-click &Zgaduj ruchy przy lewym klikniÄ™ciu &Draw frame between squares &Obramowanie miÄ™dzy polami &Chess set: &Zestaw figur: &General &Ogólne Use online tablebase servers Użyj zdalnych baz koÅ„cówek Confirm before quit Potwierdź zakoÅ„czenie &Ok &OK &Apply &Zastosuj &Cancel &Anuluj Show Tip of the day on startup Pokaż podpowiedź przy starcie XBoard XBoard Select Directory in which Engine will run Wybierz katalog programu szachowego Select engine command file to run Polecenie uruchamiajÄ…ce program szachowy New Engine Nowy program plain zwykÅ‚e outline z brzegiem &Engines &Programy WinBoard WinBoard UCI UCI ... ... Name: Nazwa: Command: Polecenie: Options: Opcje: Directory: Katalog: Protocol: Protokół: Down W dół Remove UsuÅ„ Add... Dodaj... &Advanced &Zaawansowane &Edit PGN files smaller than: &Edytuj pliki PGN mniejsze niż: MB MB New Nowy Up W górÄ™ outline+shadow obramowanie i cieÅ„ QuickSearchDialog Quick Tag Search Szybkie wyszukiwanie Game number Numer partii White BiaÅ‚e Black Czarne Event Turniej Site Miejsce Round Runda Date Data Result Wynik ECO ECO Length DÅ‚ugość &Cancel &Anuluj &Find &Znajdź Find in current filter Przeszukaj aktualny filtr Search whole database Przeszukaj całą bazÄ™ Add to current filter Dodaj to aktualnego filtra &Value: &Wartość: &Tag: &Znacznik: &Mode: &Tryb: White Elo Elo biaÅ‚ych Black Elo Elo czarnych SaveDialog Save Game Zapisz partiÄ™ &OK &OK &Cancel &Anuluj &Date: &Data: &Round: &Runda: Elo: Elo: &Black: &Czarne: &Site: &Miejsce: &Event: &Turniej: &White: &BiaÅ‚e: Players Gracze Tournament Turniej E&vent date: Data &turnieju: Game Information Informacje o partii Result: Wynik: 1-0 1-0 1/2-1/2 1/2-1/2 0-1 0-1 * * TableView Small font MaÅ‚a czcionka TipOfDayDialog No tips available! Brak podpowiedzi! Tip of the day Podpowiedź dnia Show tip on startup Pokaż podpowiedź przy starcie &Previous &Poprzednia &Next &NastÄ™pna &Close &Zamknij ./chessx-1.3.2/i18n/chessx_pt_BR.ts000644 000765 000024 00000165211 11477735274 016461 0ustar00nistaff000000 000000 Analysis Mate in Mate em (depth %1) (profundidade %1) AnalysisWidget Analysis Análise &Lines: &Linhas: Analyze Analisar Stop Parar There was an error running engine <b>%1</b>. Um erro foi encontrado rodando o motor <b>%1</b>. Draw Empate White wins in %n moves Brancas ganham em %n movimento Brancas ganham em %n movimentos Black wins in %n moves Negras ganham em %n movimento Negras ganham em %n movimentos <b>Tablebase:</b> <b>Tabela base:</b> BoardSetupDialog Setup position Definir posição Board Tabuleiro Clear Limpar &Reset &Reiniciar Side to move: Lado que move: Move: Mover: &Advanced &Avançado En passant file: Arquivo en passant: Castling rights Black O-O Negras O-O White O-O-O Brancas O-O-O White O-O Brancas O-O Black O-O-O Negras O-O-O - - a a b b c c d d e e f f g g h h Halfmove clock: Paste FEN Colar FEN Copy FEN Copiar FEN &Ok &OK &Cancel &Cancelar Current position is not valid. %1. A posição atual não é valida. %1. No white king Sem rei branco No black king Sem rei negro Both kings are in check Ambos reis estão em cheque Side to move has opponent in check already Lado que move tem oponente já em cheque Black has too many pawns Negras tem muitos peões White has too many pawns Brancas tem muitos peões There are pawns on the first or eighth rank Existem peões na primeira ou última linha Too many kings Existem muitos reis Too many black pieces Existem muitas peças negras Too many white pieces Existem muitas peças brancas Bad castling rights Sem direto à rocar En passant square is not correct Casa do en passant não correta Unknown reason Razão desconhecida FEN: %1 FEN: %1 Illegal position: %1 Posição ilegal: %1 Text in clipboard does not represent valid FEN:<br><i>%1</i> Texto na àrea de transferência não representa um FEN válido:<br><i>%1</i> There is no text in clipboard. Não existe texto na área de transferência. BoardTheme Cannot find piece data. Please check your installation. Não encontrado dados sobre peça. Por favor verifique sua instalação. ChessBrowser Add start comment... Adicionar comentário no começo... Add comment... Adicionar comentário... Add move symbol Adicionar símbolo ao movimento Add evaluation symbol Adicionar avaliação ao símbolo Add other symbol Adicionar outro símbolo Remove symbols Remover símbolos Promote to main line Promover para linha principal Remove variation Remover variante Remove previous moves Remover movimentos anteriores Remove next moves Remover próximos movimentos Small font Fonte pequena CommentDialog Edit Comment Editar Comentário CopyDialog Copy Games Copiar Jogos Copy: Copiar: &Current game &Jogo atual Games in &filter Jogos no &filtro &All games &Todos os jogos &To: &Para: EngineData New engine Novo motor GameList Game list Lista de jogos MainWindow Game Text Texto do jogo Game List Lista de jogos Opening Tree Ãrvore de aberturas Analysis Análise Loading ECO file... Lendro arquivo ECO ... ECO Loaded. ECO lido. [Clipboard] [Ãrea de transferencia] Database %1 is already opened. Base de dados %1 já está aberta. Opening %1... Abrindo %1... Cannot open file Não foi possível abrir o arquivo %1 opened %1 aberto Export games Exportar jogos PGN file (*.pgn) Arquivo PGN (*.pgn) HTML page (*.html) Página HTML (*.html) LaTeX document (*.tex) Documento LaTex (*.tex) &File &Arquivo &New database... &Nova base de dados... &Open... &Abrir... Open &recent... Abrir &recente... &Save &Salvar &Export... &Exportar... &Games in filter &Jogos no filtro &All games &Todos os jogos &Close &Fechar &Quit &Sair &Edit &Editar Comment Comentário Variation Variação Promote Promover Remove Remover &Remove &Remover Moves from the beginning Movimentos desde o começo Moves to the end Movimentos para o final Setup &position... Definir &posição... &Copy FEN &Copiar FEN &Paste FEN &Colar FEN &Preferences... &Preferencias... &View &Ver &Flip board &Inverter tabuleiro &Player information... &Informação do Jogador... &Game &Jogo &Load &Abrir &First &Primeiro &Last &Último &Next &Próximo &Previous &Prévio &Go to game... &Ir para o jogo... &Random &Aleatório &Go to &Ir para &Start &Iniciar &End &Fim &Next move &Próximo movimento &Previous move &Movimento anterior 5 moves &forward 5 movimentos à &frente 5 moves &backward 5 movimentos para &trás Back to main line Voltar para a linha principal &New &Novo &Save.... &Salvar... &Analyze &Analisar Fi&nd &Procurar Find &tag Procurar &tag Find &position Procurar &posição &Reset filter &Reiniciar filtro &Reverse filter &Reverter filtro &Database Base de &Dados &Switch to &Trocar para &Copy games... &Copiar jogos... &Help &Ajuda &Report a bug... &Reportar um problema... &About ChessX &Sobre ChessX &Debug &Depurar Following databases are modified: Seguintes base de dados foram modificadas: Save them? Salva-los? (%1 s.) (%1 s.) Compiled with 'fastbits' option<br> Compilado com a opção 'fastbits' <br> About ChessX Sobre ChessX <h1>ChessX</h1><p>Free chess database available under GPLv2.<br>Version %1<br>%2Copyright 2005-2010 ChessX developers<p>Current developer and maintainer: <a href="mailto:mrudolf@kdewebdev.org">Michal Rudolf</a><p>Testing, usability and website: Bruno Rizzuti<p>Additional coding: Marius Roets, Sean Estabrooks, Rico Zenklusen, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<p>Homepage: <a href="http://chessx.sf.net">http://chessx.sf.net</a><br>Mailing list: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net <h1>ChessX</h1><p> Base de dados gratuito disponível sob a GPLv2.<br>Versão %1<br>%2Copyright 2005-2010 Desenvolvedores ChessX<p>Atual desenvolvedor e mantenedor: <a href="mailto:mrudolf@kdewebdev.org">Michal Rudolf</a><p>Testes; usabilidade e página da web: Bruno Rizzuti<p>Código adicional: Marius Roets, Sean Estabrooks, Rico Zenklusen, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<p>Página:<a href="http://chessx.sf.net">http://chessx.sf.net</a><br>Lista de discussão: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net New database Nova base de dados PGN database (*.pgn) Base de dados PGN (*.pgn) Cannot create ChessX database. Não foi possível criar a base de dados ChessX. Open database Abrir base de dados PGN databases (*.pgn) Bases de dados PGN (*.pgn) <html>The database <i>%1</i> is read-only and cannot be saved.</html> <html>A base de dados <i>%1</i> é somente para leitura e não pode ser salva.<html> Saving %1... Salvando %1... %1 saved %1 salvo Text in clipboard does not represent valid FEN:<br><i>%1</i> Texto na área de transferência não representa um FEN válido:<br><i>%1</i> There is no text in clipboard. Não existe texto na área de transferência. The clipboard contains FEN, but with illegal position. You can only paste such positions in <b>Setup position</b> dialog. A área de transferencia contain FEN, mas com uma posição ilegal. Você somente pode colar posições na caixa de diálogo <b> Adjustar posição</b>. Queen Dama Rook Torre Bishop Bispo Knight Cavalo Promotion Promoção Promote to: Promover como: Load Game Ler jogo Game number: Jogo número: This database is read only. Essa base de dados é somente para leitura. <b><a href="tag:white">%1</a></b> %2 - <b><a href="tag:black">%3</a></b> %4 <b><a href="tag:brancas">%1</a></b> %2 - <b><a href="tag:negras">%3</a></b> %4 <b>%1</b> &nbsp; %2 <b>%1</b> &nbsp; %2 %1: %2/%3 %1: %2/%3 You need at least two open databases to copy games You precisa de pelo menos duas base de dados abertas para copiar os jogos %1. %2 (%3 games) %1. %2 (%3 jogos) %1 - ChessX %1 - ChessX Updating tree... Atualizando árvore... Tree updated Ãrvore atualizada MessageDialog Error Erro Warning Aviso Information Informação Question Questão &Yes &Sim &No &Não &OK &OK &Cancel &Cancelar MoveData [end] [fim] OpeningTree Move Mover Count Contagem Score Resultado Rating Rating Year Ano PlayerDialog Player Information Informação do Jogador &Players &Jogadores &Find: &Encontrar: &Show player &Mostrar jogador &Update list &Atualizar lista &Information &Informação &Update player &Atualizar jogador <html><i>No player chosen.</i></html> <html><i>Nenhum jogador escolhido.</i></html> PlayerInfo <i>no games</i> <i>sem jogos</i> Total: %1<br>White: %2<br>Black: %3<br> al: %1<br>Brancas: %2<br>Negras: %3<br> Games in database <i>%1</i>: <b>%2</b><br> Jogos na base de dados <i>%1</i>: <b>%2</b><br> Rating: <b>%1</b><br> Rating: <b>%1</b><br> Rating: <b>%1-%2</b><br> Rating: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Data: <b>????.??.??<b><br> Date: <b>%1</b><br> Data: <b>%1</b><br> PreferencesDialog Preferences Preferências &Ok &Ok &Apply &Aplicar &Cancel &Cancelar &Board &Tabuleiro &Chess set: &Conjunto de xadrez: plain plano outline contorno outline+shadow contorno+sombra &Draw frame between squares &Guess move on left-click &Sugerir movimento com clique esquerdo Board &style: E&stilo do tabuleiro: &Colors: &Cores: &Engines &Motores WinBoard WinBoard UCI UCI ... ... Name: Nome: Command: Comando: Options: Opções: Directory: Diretório: Protocol: Protocolo: Down Para baixo Remove Remover Add... Adicionar... Up Para cima &Advanced &Avançado Use online tablebase servers Usar tabela base de servidores online &Edit PGN files smaller than: &Editrar arquivos PGN menores que: MB MB XBoard XBoard Light squares Casas claras Dark squares Casas escuras Highlighted squares Destacar casas Frame Frame Select engine directory Selecionar diretório do motor Select engine executable Selecionar motor executável [plain colors] [cores planas] QuickSearchDialog Quick Tag Search Tag de procura rápida Game number Número do jogo White Brancas White Elo Elo das brancas Black Negras Black Elo Elo dasnegras Event Evento Site Local Round Round Date Data Result Resultado ECO ECO Length Comprimento &Find &Encontrar &Cancel &Cancelar &Value: &Valor: &Tag: &Tag: &Mode: &Modo: Find in current filter Encontrar no filtro atual Search whole database Buscar por toda base de dados Add to current filter Adicionar ao filtro atual SaveDialog Save Game Salvar Jogo &OK &OK &Cancel &Cancelar Players Jogadores Elo: Elo: &White: &Brancas: &Black: &Negras: Tournament Torneio E&vent date: Data do e&vento: &Site: &Local: &Event: &Evento: Game Information Informação do Jogo &Round: &Round: &Date: &Data: Result: Resultado: 1-0 1-0 1/2-1/2 1/2-1/2 0-1 0-1 * * TableView Small font Fonte pequena ./chessx-1.3.2/i18n/chessx_ro.ts000644 000765 000024 00000517747 12513255046 016074 0ustar00nistaff000000 000000 AboutDlg About ChessX Despre ChessX <b>ChessX</b><br> Free Chess Database <b>ChessX</b><br> Bază de date gratis pentru ÅŸah Version Versiune Copyright Copyright License Licenţă Maintainer Manager de proiect Further Maintainers AlÅ£i manageri de proiect Testing Testare Coders Programatori Further Code AlÅ£i programatori Translations Traduceri Path Information Calea pentru informaÅ£ii Path for temporary files Calea pentru fiÅŸierele temporare Program data path Calea către datele programului Path to settings Calea către setări sss sss Contact Contact Homepage Pagina principală Mailing List Lista mailuri ActionDialog Customize Keyboard Personalizare tastatură Menu Item Item din meniu Keyboard Shortcut Scurtături tastatură Restore the original keyboard assignment Restaurare asignările iniÅ£iale ale tastaturii Reset ReiniÅ£ializare Analysis Mate Mate in %1 (depth %1, %2) (adâncime %1, %2) (suggested move) (mutare sugerată) AnalysisWidget Analysis Analiză &Lines: &Linii: Pin engine to current position PoziÅ£ionează motorul la poziÅ£ia curentă ... ... Analyze Analizează Stop Stop There was an error (%1) running engine <b>%2</b>. A fost o eroare (%1) la motorul care funcÅ£ionează <b>%2</b>. Draw Remiză White wins in %n moves Albul câştigă în %n mutări Black wins in %n moves Negrul câştigă în %n mutări Analysis pinned to move %1 Analiză la nivelul mutării %1 Click to add move to game Tablebase Complexity <a href="0" title="Click to add move to game">[+]</a> <b>Tablebase:</b> <a href="0" title="Click pentru a adăuga mutări la partidă">[+]</a> <b>Tablebase:</b>. <br><b>Complexity:</b> %1<br> BitBoard w%1 b%2 %3 to move. w%1 n%2 %3 la mutare. White Alb Black Negru BoardSearchDialog Search Board Find Find in current filter GăseÅŸte în filtrul curent Search whole database Caută în toată baza de date Add to current filter Adaugă la filtrul curent Remove from current filter BoardSetupDialog Setup position Aranjare poziÅ£ie Board Tablă Tools Unelte Side to move: Partea la mutare: Move: Mutarea: Flip board RoteÅŸte tabla ... ... Mirror left and right Oglindă stânga ÅŸi dreapta Mirror top and bottom Oglindă sus ÅŸi jos Change colors for all pieces Schimbă culorile pentru toate piesele Clear Curăţă &Reset &ReiniÅ£ializare &Advanced &Avansat Castling rights Drept la rocadă Black O-O Negru O-O White O-O-O Alb O-O-O White O-O Alb O-O Black O-O-O Negru O-O-O En passant file: Linie en passant: Halfmove clock: Ceas jumătate de mutare: FEN FEN Paste FEN LipeÅŸte FEN Copy FEN Copiază FEN Copy Text Copiază text &Ok &Ok &Cancel &Cancel Current position is not valid. %1. PoziÅ£ia curentă nu este validă. %1. No white king Fără rege alb No black king Fără rege negru Both kings are in check Amândoi regii sunt în ÅŸah Side to move has opponent in check already Partea la mutare are deja oponentul în ÅŸah Black has too many pawns Negrul are prea mulÅ£i pioni White has too many pawns Albul are prea mulÅ£i pioni There are pawns on the first or eighth rank Există pioni pe prima sau ultima linie Too many kings Prea mulÅ£i regi Too many black pieces Prea multe piese negre Too many white pieces Prea multe piese albe Bad castling rights Fără drept de rocadă En passant square is not correct Câmpul en passant nu este corect Unknown reason Motiv necunoscut Illegal position: %1 PoziÅ£ie ilegală: %1 Text in clipboard does not represent valid FEN:<br><i>%1</i> Textul din clipboard nu este în formatul FEN:<br><i>%1</i> There is no text in clipboard. Nu există text în clipboard. BoardTheme Cannot find piece data. Please check your installation. Nu au putut fi gasite date despre piese. Vă rugăm verificaÅ£i instalarea. ChessBrowser Add start comment... Adăugare comentariu de început... Add game comment... Adăugare comentariu la joc... Comment... Comentariu... Add move symbol Adăugare simbol mutare Add evaluation symbol Adăugare simbol de evaluare Add other symbol Adăugare alt simbol Bishops Nebuni Remove symbols Eliminare simboluri Enumerate Variations A) B) C) Enumerare Variantele A) B) C) Enumerate Variations a) b) c) Enumerare Variantele a) b) c) Promote to main line Promovare ca ÅŸi linie principală Move variation up Promovare variantă Move variation down Retrogradare variantă Remove variation Eliminare variantă Remove previous moves Elimină mutările antrioare Remove next moves Elimină mutările următoare Insert threat Introdu ameninÅ£area Copy Html Copiază Html Copy Text Copiază text Refactor Refactor Uncomment Eliminare comentariu Remove Variations Elimină Varianta ClipboardDatabase Clipboard Clipboard CommentDialog Edit Comment Editare comentariu Time Elapsed Clock Move Mutare Elapsed time Timp scurs Clock time Timp ceas H:mm:ss H:mm:ss CopyDialog Copy Games Copiază jocuri Copy: Copiază: &Current game &Joc curent Selected Games Games in &filter Partide prezente în &filtru &All games &Toate jocurile &To: &ÃŽn: DatabaseList Databases Baze de date Activate Activare Open Deschide Close ÃŽnchide Add to favorites Adaugă la favorite Remove from Favorites Elimină din favorite Show in Finder Arată în Finder Make a Polyglot book... DatabaseListModel Favorite Favorit Name Nume Size Mărime Open Deschide Path Cale Format Format Date Dată Clipboard Clipboard Closed ÃŽnchis DlgSaveBook Build Polyglot Book Input File Polyglot Book Parameters Max Ply Min Game Uniform Probabilities Output Path Enter the complete target path Clipboard Clipboard ECOListWidget <html><body><i>No ECO code chosen.</i></body></html> <html><body><i>Nu a fost selectat cod ECO.</i></body></html> <html><i>No ECO code chosen.</i></html> <html><i>Nu a fost selectat cod ECO.</i></html> EcoInfo <i>no games</i> <i>nu au fost găsite jocuri</i> <i>no games</i> Total: %1 Total: %1 Games in database %1: %2 Jocuri în baza de date %1: %2 Rating: <b>%1</b> Clasificare: <b>%1</b> Rating: <b>%1-%2</b> Clasificare: <b>%1-%2</b> White Player Score Scor Black Player <table><tr><th>White Player</th><th>Score</th></tr> <table><tr><th>Jucătorul cu albele</th><th>Score</th></tr> <a name='ListBlack'></a><table><tr><th>Black Player</th><th>Score</th></tr> <a name='ListBlack'></a><table><tr><th>Jucătorul cu negrele</th><th>Score</th></tr> EngineOptionDialog Engine Options OpÅ£iuni motor Reset Reset EngineOptionList Engine Options OpÅ£iuni motor EngineOptionModel Name Nume Default Parametri iniÅ£iali Min Min Max Max Value Valoare EventInfo <i>no games</i> <i>nu există jocuri</i> Total: %1 Total: %1 Games in database %1: %2<br> Jocuri în baza de date %1: %2<br> Rating: <b>%1</b><br> Clasificare: <b>%1</b><br> Rating: <b>%1-%2</b><br> Clasificare: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Data: <b>????.??.??<b><br> Date: <b>%1</b><br> Data: <b>%1</b><br> <table><tr><th>Participants</th><th>Score</th></tr> <table><tr><th>ParticipanÅ£i</th><th>Scor</th></tr> EventListWidget <html><i>No event chosen.</i></html> <html><i>Nu a fost selectat niciun eveniment.</i></html> ExtTool : File not found FicsClient Connected to FICS as %1 using %2 FicsConsole Form Formă Messages Say to opponent ... ... White Alb Black Negru History Double click to examine game Finger Games Double click to follow game Relay Puzzle Double click to get a puzzle Elo Propose a game Get Mate Get Study Get Tactics Messages from Puzzlebot Players Jucători Rating Clasificare User Seeks Time Control Controlul timpului Lightning Blitz Standard Minutes Increment rated unrated Seek No play list Enter command here Accept Draw Remiză Decline Abort Resign Hint Cancel Disconnect Disconnected Retrieving relayed games... FilterModel Nr Nr White Alb WhiteElo Elo Alb Black Negru BlackElo Elo Negru White Elo Elo Alb Black Elo Elo Negru Event Eveniment Site LocaÅ£ie Round Rundă Date Data Result Rezultat ECO ECO Moves Mutări Game Add move Merge game Replace move Add Variation Promote Variation Promovează Variantă Remove variation Eliminare variantă Truncate variation Remove variations Remove comments Set annotation Colorize square Paint arrow Add nag Set nags Move variation Enumerate variations Set result GameList Game list Lista jocurilor Find tag... Hide Column Ascunde Coloană Resize visible Columns Redimensionează coloanele vizibile Show all Columns Arată toate Coloannele Copy games... Copiază jocuri... Merge into current game Fuzionează în partida curentă All Games Toate jocurile Filter Filtrează Selected games Hide game Selected game Jocul selectat Delete game Sterge joc LoadQuery Load Database ÃŽncarcă baza de date Currently, there are no databases configured. Shall I download a database? Actualmente nu este configurată nicio baza de date. Să descarc o bază de date? Large Database (9M) Bază de date mare (9M) Small Database Bază de date mică Start Download! ÃŽncepe descărcarea ! Skip Loading Sari peste încărcare MainWindow Game Text Text Joc Game Time Timp Joc Game List NotaÅ£ie Joc Players Jucători Events Evenimente ECO ECO Databases Baze de date Opening Tree Arbore Deschideri Analysis 1 Analiză 1 Analysis 2 Analiză 2 Move Interval: Timp Mutare: Loading ECO file... ÃŽncarcă fiÅŸier ECO... ECO Loaded. ECO ÃŽncărcat. ECO Load Error. Eroare la încărcare ECO. [Clipboard] [Clipboard] Database %1 cannot be accessed at the moment. Baza de date %1 nu poate fi accesată momentan. Opening %1... Deschide %1... Database %1 cannot be accessed at the moment (%2). Baza de date %1 nu poate fi accesată momentan (%2). Cannot open file Nu se poate deschide fiÅŸierul %1 opened %1 deschis Export games Exportă jocurile PGN file (*.pgn) FiÅŸier PGN (*.pgn) HTML page (*.html) Pagină HTML (*.html) LaTeX document (*.tex) Document.LaTeX (*.tex) &File &FiÅŸier File FiÅŸier &New database... Bază de date &nouă... &Open... &Deschide... Open in UTF8... Deschide în UTF8... Open &recent... Deschide &recent... &Save &Salvează Commit Database to disk Scrie baza de date pe disc &Export... &Exportă... Current Game Jocul curent &Games in filter &Partide filtrate &All games &Toate partidele Export Image Mail PGN... &Close &ÃŽnchide &Quit &IeÅŸi &Edit &Editează Edit Editează Undo Redo Comment Comentariu Comment Before Comentează înainte Variation Variantă Promote Promovează Promote Variation Promovează Variantă Remove Elimină Remove Variation Elimină Varianta &Remove &Elimină Moves from the beginning Mutări de la început Mutări de la început Moves to the end Mutări până la sfârÅŸit Setup &position... Aranjare &poziÅ£ie... Copy PGN Copiază PGN Copy FEN Copiază FEN Copy Position Copiază PoziÅ£ie Copy Image Copiază Imagine Find tag... Find position... Load Sample Database Report a bug... &Paste &LipeÅŸte &Preferences... &PreferinÅ£e... &View &Vedere Toolbars Bare de instrumente Stay on Top Mereu Deasupra New board Tablă nouă Close current board ÃŽnchide tabla curentă &Game &Partidă Game Partidă Database Baza de date &New &Nou &Load &ÃŽncarcă &Next &Următoarea &Previous &Precedenta &Go to game... &Mergi la partida... &Random &Aleatoriu &Save.... &Salvează.... &Flip board &RoteÅŸte tabla Training Antrenament Auto Respond Răspuns automat Auto Player Jucător automat Auto Analysis Analiză automată &Go to &Mergi la &Start &Start Go to first move Mergi la prima mutare &End &Final Go to last move Mergi la ultima mutare &Previous move &Mutarea anterioară FICS Console Open FICS Save Database Paste into new game Paste &Save... Save Edit tags... Match &Next move &Următoarea mutare 5 moves &forward 5 mutări &înainte 5 moves &backward 5 mutări în &urmă Enter Variation Intră Variantă Previous Variation Varianta Anterioară Next Variation Varianta Următoare Back to main line ÃŽnapoi la linia principală Refactor Refactor Uncomment Eliminare comentariu Remove Variations Elimină Varianta Fi&nd Gă&seÅŸte Search Caută Find &tag GăseÅŸte &etichetă Find &position GăseÅŸte &poziÅ£ie &Reset filter &ReiniÅ£ializare filtru &Reverse filter &Inversează filtru &Database &Baza de date &Switch to &Comută la &Copy games... &Copiază jocuri.... Clear clipboard &Help &Ajutor Help Ajutor Customize Keyboard... Personalizează tastatură... &Report a bug... &Raportează un bug... &About ChessX &Despre ChessX Following databases are modified: Următoarele baze de date sunt modificate: Save them? SalvaÅ£i? (%1 s.) (%1 s.) Start loading database... ÃŽncepe încărcarea bazei de date... A new version is available at chessx.sourceforge.net O nouă versiune este disponibilă la chessx.sourceforge.net New database Bază de date nouă PGN database (*.pgn) Bază de date PGN (*.pgn) Cannot create ChessX database. Nu se poate creea o bază de date ChessX. Open database Deschide baza de date PGN databases (*.pgn);;Polyglot books (*.bin) PGN databases (*.pgn) Baze de date PGN (*.pgn) The current database is modified! Baza de date curentă este modificată! Save it? SalvaÅ£i? Saving %1... Salvez %1... %1 saved %1 salvat <html>The database <i>%1</i> is read-only and cannot be saved.</html> <html>Baza de date <i>%1</i> se poate doar citi ÅŸi nu poate fi salvată.</html> Text in clipboard does not represent valid FEN:<br><i>%1</i> Textul din clipboard nu este în formatul FEN:<br><i>%1</i> There is no text in clipboard. Nu există text în clipboard. The clipboard contains FEN, but with illegal position. You can only paste such positions in <b>Setup position</b> dialog. Clipboard-ul conÅ£ine text FEN, dar cu poziÅ£ie ilegală. PuteÅ£i doar lipi astfel de poziÅ£ii în dialogul<b>Aranjează poziÅ£ia</b>. Set starting board Images (*.png *.jpg *.jpeg *.bmp) Red Square Câmp RoÅŸu Yellow Square Câmp Galben Green Square Câmp Verde Remove Color ÃŽndepărtează Culoarea Red Arrow to here Săgeată RoÅŸie până aici Yellow Arrow to here Săgeată Galbenă până aici Green Arrow to here Săgeată Verde până aici Remove Arrow to here ÃŽndepărtează săgeata care indică aici Load Game ÃŽncarcă partida Game number: Partida numărul: This database is read only. Baza de date se poate doar citi. Merge selected games Analysis Pane 1 is not running an engine for automatic analysis. ÃŽn panoul 1 de analiză nu rulează un motor pentru analiză automată. Engine %1 all Append game %1 to %2. AtaÅŸează partida %1 la %2. Clipboard Clipboard Append games from %1 to %2. Adaugă partidele de la %1 la %2. You need at least two open databases to copy games AveÅ£i nevoie de cel puÅ£in două baze de date deschise pentru a copia partide %1. %2 (%3 games) %1. %2 (%3 partide) %1 - ChessX %1 - ChessX Search ended Căutarea finalizată Updating tree... Actualizează arborele... <b>New game</b> <b>Joc nou</b> Infinite Infinit Could not build book Polyglot Error MessageDialog Error Eroare Warning AtenÅ£ionare Information InformaÅ£ie Question ÃŽntrebare &Yes &Da &No &Nu &OK &OK &Cancel &Anulare MoveData [end] [final] NagSet Good Move Mutare Bună Poor Move Mutare Slabă Very good Move Mutare foarte bună Blunder Gafă Speculative Move Mutare Speculativă Dubious Move Mutare ÃŽndoielnică Only Move Mutare ForÅ£ată Worst Move Equal Egal Unclear Neclar White has slight advantage Albul are uÅŸor avantaj Black has slight advantage Negrul are uÅŸor avantaj White has moderate advantage Albul are avantaj mediu Black has moderate advantage Negrul are avantaj mediu White has decisive advantage Albul are avantaj decisiv Black has decisive advantage Negrul are avantaj decisiv White has crushing advantage Albul are avantaj covârÅŸitor Black has crushing advantage Negrul are avantaj covârÅŸitor Zugzwang Zugzwang With slight space advantage Cu puÅ£in avantaj de spaÅ£iu With moderate space advantage Cu avantaj de spaÅ£iu moderat With decisive space advantage Cu avantaj decisiv de spaÅ£iu With slight development advantage Cu uÅŸor avantaj de dezvotare With moderate development advantage Cu avantaj moderat de dezvoltare With decisive development advantage Cu avantaj decisiv de dezvoltare With initiative Cu iniÅ£iativă With lasting initiative Cu iniÅ£iativă durabilă With attack Cu atac With insufficient compensation for material deficit Cu insuficientă compensaÅ£ie pentru deficitul de material With compensation Are compensaÅ£ie With more than adequate compensation for material deficit Cu mai mult decât compensaÅ£ie suficientă pentru deficitul de material With slight center control advantage Cu un uÅŸor avantaj în controlul centrului With moderate center control advantage Cu avantaj moderat în controlul centrului With decisive center control advantage Cu avantaj decisiv în controlul centrului With slight kingside control advantage Cu un uÅŸor avantaj în controlul flancului regelui With moderate kingside control advantage Cu avantaj moderat în controlul flancului regelui With decisive kingside control advantage Cu avantaj decisiv în controlul flancului regelui With slight queenside control advantage Cu un uÅŸor avantaj în controlul flancului damei With moderate queenside control advantage Cu avantaj moderat în controlul flancului damei With decisive queenside control advantage Cu avantaj decisiv în controlul flancului damei With vulnerable first rank Cu primă linie vulnerabilă With well protected first rank Cu prima linie foarte bine apărată With poorly protected king Cu rege slab apărat With well protected king Cu rege apărat bine With poorly placed king Cu rege plasat rău With well placed king Cu rege plasat bine With very weak pawn structure Cu structură de pioni foarte slabă With moderately weak pawn structure Cu structură de pioni moderat de slabă With moderately strong pawn structure Cu structură de pioni moderat de puternică With very strong pawn structure Cu structură de pioni foarte puternică With poor knight placement Cu poziÅ£ionare slaba a calului With good knight placement Cu poziÅ£ionare buna a calului With poor bishop placement Cu poziÅ£ionare slabă a nebunului With good bishop placement Cu poziÅ£ionare bună a nebunului With poor rook placement Cu poziÅ£ionare slabă a turnului With good rook placement Cu poziÅ£ionare bună a turnului With poor queen placement Cu poziÅ£ionare slabă a damei With good queen placement Cu poziÅ£ionare bună a damei With poor piece coordination Cu slabă coordonare a pieselor With good piece coordination Cu o bună coordonare a pieselor White played the opening very poorly Albul a jucat foarte slab deschiderea Black played the opening very poorly Negrul a jucat foarte slab deschiderea White played the opening poorly Albul a jucat slab deschiderea Black played the opening poorly Negrul a jucat slab deschiderea White played the opening well Albul a jucat bine deschiderea Black played the opening well Negrul a jucat bine deschiderea White played the opening very well Albul a jucat deschiderea foarte bine Black played the opening very well Negrul a jucat deschiderea foarte bine White played the middlegame very poorly Albul a jucat foarte slab jocul de mijloc Black played the middlegame very poorly Negrul a jucat foarte slab jocul de mijloc White played the middlegame poorly Albul a jucat slab jocul de mijloc Black played the middlegame poorly Negrul a jucat slab jocul de mijloc White played the middlegame well Albul a jucat bine jocul de mijloc Black played the middlegame well Negrul a jucat bine jocul de mijloc White played the middlegame very well Albul a jucat foarte bine jocul de mijloc Black played the middlegame very well Negrul a jucat foarte bine jocul de mijloc White played the ending very poorly Albul a jucat foarte slab finalul Black played the ending very poorly Negrul a jucat foarte slab finalul White played the ending poorly Albul a jucat slab finalul Black played the ending poorly Negrul a jucat slab finalul White played the ending well Albul a jucat bine finalul Black played the ending well Negrul a jucat bine finalul White played the ending very well Albul a jucat finalul foarte bine Black played the ending very well Negrul a jucat finalul foarte bine With counterplay Există contrajoc Moderate time control pressure Criză de timp moderată Severe time control pressure Criză de timp severă With the idea Cu ideea Aimed against ÃŽndreptat impotriva Better was Era mai bine Worse was Era mai rău Equivalent was Era echivalent RR RR N N Weak point Punct slab Endgame Final de partidă Line Linie Diagonal Diagonală Pair of bishops Pereche de nebuni Bishops of opposite color Nebuni de culori diferite Bishops of the same color Nebuni de aceeaÅŸi culoare Diagram Diagramă OpeningTree Move Mutare Count Total Score Scor Rating Clasificare Year An OpeningTreeWidget Form Formă Target Å¢intă Filter games Filtrează partide Board Tablă Source Sursă Database Bază de date Filter Filtrează Progress Progres Undo (Book) OutputOptions Notation in Column Style NotaÅ£ie sub formă de coloană Show symbolic Nags Arată semne de comentariu Text width Lăţimea textului Indent variations from Level Indentarea variantelor de la Level Variation Indentation Indentarea variantei Comment indentation Indentarea comentariului Main Line Color Culoarea Liniei Principale de Joc Variation Color Culoarea Variantei Comment Color Culoarea Comentariului NAG Color Culoare NAG Header Color Culoare Header Show Header Arată Header Show Diagrams Arată Diagrame Diagram Size Mărimea Diagramei Font for text Font pentru text Font for moves Font pentru mutări Comment Indentation Indentarea Comentariului PlayerInfo <i>no games</i> <i>nicio partidă</i> Total: %1<br>White: %2<br>Black: %3<br> Total: %1<br>Albul: %2<br>Negrul: %3<br> Games in database <i>%1</i>: <b>%2</b><br> Partide în baza de date <i>%1</i>: <b>%2</b><br> Rating: <b>%1</b><br> Clasificare: <b>%1</b><br> Rating: <b>%1</b><br> Rating: <b>%1-%2</b><br> Clasificare: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Data: <b>????.??.??<b><br> Date: <b>%1</b><br> Data: <b>%1</b><br> White Openings Black Openings <p>White Openings:</p><ul> <p>Deschiderile Albului:</p><ul> </ul><p>Black Openings:</p><ul> </ul><p>Deschiderile negrului:</p><ul> PlayerListWidget <html><i>No player chosen.</i></html> <html><i>Jucatorul nu a facut nicio alegere.</i></html> PreferencesDialog Preferences Preferinte &Ok &Ok &Apply &Aplică &Reset &ReiniÅ£ializare &Cancel &Cancel &Board &Tablă de ÅŸah &Colors: &Culori: plain simplu outline contur outline+shadow contur+umbră Highlight current move EvidenÅ£iază mutarea curentă &Draw frame between squares &Desenează spaÅ£iul dintre câmpuri &Chess set: &Set de ÅŸah: Mouse Behaviour Comportamentul mouse-ului &Guess move on left-click &GhiceÅŸte mutarea la click stânga Next guess on right click Mutare sugerată la click dreapta Wheel sensitivity Sensibilitatea rotiÅ£ei Fast Repede Slow ÃŽncet Board &style: &Stilul tablei de sah: Draw Coordinates Desenează coordonatele Game Partidă Autoplayer Jucător automat Automatically save game and continue with next Salvează automat jocul ÅŸi continuă &Engines &Motoare de joc Path to executable Calea către executabil Path where engine is started - usually place of books Directorul unde motorul de joc se iniÅ£ializează-de obicei locaÅ£ia cărÅ£ilor Directory: Director: Protocol: Protocol: Name: Nume: Options: OpÅ£iuni: Command: Comandă: Command Line Options OpÅ£iuni linie de comandă Options OpÅ£iuni Arbitrary name to identify engine Nume arbitrar pentru identificarea motorului de joc Down Jos Remove Elimină Add... Adaugă... Up Sus Database Baza de date Automatic classification with ECO Codes Clasificare automată cu ajutorul codurilor ECO Build index file Constituire fiÅŸier index Commit Database after saving Game Scrie baza de date după salvarea partidei MB MB &Edit PGN files smaller than: &Editează fiÅŸiere PNG mai mici decât: Number of recent files: Numărul fiÅŸierelor recente: Default Database Path: Calea prestabilită către baza de date: Default path for storing files Calea prestabilită pentru salvarea fiÅŸierelor Appearance Vedere Fonts for notation Fonturi pentru notaÅ£ie Texts Texte ... ... Moves Mutări Font with Chess Symbols (Unicode) Font cu simboluri de ÅŸah (Unicod) Font Size Mărime Font Game Text Text Partidă Highlight current move: Never Arrow Show Diagrams Arată Diagramele Column Style Stil Coloană Keep variations inline from level Limitază variantele la nivelul Diagram Size Mărimea Diagramei Pieces Piese Put the initials of the pieces here, mind the initial space. de văzut Pune iniÅ£ialele pieselor aici, păstrează spaÅ£iul iniÅ£ial. KQRBN - Mind the initial space! de văzut KQRBN - Păstrează spaÅ£iul iniÅ£ial! Colors: Culori: Auto Analysis backwards Automatic Promotion Always queen a pawn Application Show move indicator Automatic Always Icons visible in menus Log in as guest Login Password Try to use Timeseal App App Internet Internet Use online tablebase servers de văzut Utilizează serverele onlinel pentru tablebase Check for updates (at startup) and language packs Verifică update-urile (la startup) ÅŸi pachetele de limbi străine Localization Localizare Language Limbă Changing the language requires restarting the application! Schimbarea limbii necesită repornirea aplicaÅ£iei! Load language file from Server: ÃŽncarca fiÅŸierul de limbaj de pe Server: Load! ÃŽncarcă! External Tools Parameters Path Cale Path and filename of external program Command line, also $(InputPath), $(InputFile) Sound Indicate opponent's move Use vertical Tabs Utilizează taburi verticale XBoard XBoard For updating translations online version checking needs to be enabled. Pentru actualizarea traducerilor onlinie opÅ£iunea verificare versiune trebuie să fie activată. Select engine directory Selectează directorul motor de joc Select external executable Select databases folder Selectează directorul baza de date New Engine Motor de joc nou Select engine executable Selectează executabilul motorului de joc Could not load server language file dictionary Nu se poate încărca de pe server fiÅŸierul dicÅ£ionar al limbii Could not load or install language pack Nu se poate încărca sau instala pachetul pentru limbă Translation file loaded - select added language above! FiÅŸierul traducere încărcat-selectaÅ£i limba adăugată de mai sus! No further translations online available! Nu există alte traduceri disponibile online! Clear all application settings? ÅžtergeÅ£i toate setările aplicaÅ£iei? Warning Avertisment Light squares Câmpuri albe Dark squares Câmpuri negre Highlighted squares Câmpuri evidenÅ£iate Frame Margini Current move Mutarea curentă Stored move [plain colors] [culori simple] Main Line Linie Principală Variations Variante Comments Comentarii NAGs NAG-uri PromotionDialog Promote to Transformă în Queen Damă Rook Turn Bishop Nebun Knight Cal QuickSearchDialog Quick Tag Search de văzut Căutare Rapidă Tag Game Number Numărul Partidei White Alb White Elo Elo Alb Black Negru Black Elo Elo Negru Event Eveniment Site Loc Round Rundă Date Data Result Rezultat ECO ECO Number of Moves Număr de Mutări &Find &GăseÅŸte &Cancel &Cancel Value or Range like 2000-2300 Valoare sau Rang 2000-2300 &Value: &Valoare: &Tag: &Element: &Mode: &Mod: Find in current filter GăseÅŸte în filtrul curent Search whole database Caută în toată baza de date Add to current filter Adaugă la filtrul curent Remove from current filter Find RecipientAddressDialog Recipient Address Mail This is no valid email address. RenameTagDialog Rename Tags in Database RedenumeÅŸte Tag-urile în Baza de Date Rename all Occurrences ... de vazut RedenumeÅŸte toate cazurile ... from de la to la Press 'Rename' to proceed. Apasă 'RedenumeÅŸte' pentru a începe. Rename RedenumeÅŸte Close ÃŽnchide SaveDialog Save Game Salvează partida &Discard Changes &Respinge schimbările &Cancel &Cancel &OK &OK Players Jucători Elo: Elo: &White: &Alb: &Black: &Negru: Team Echipa White Team Echipa Albului Black Team Echipa Negrului Time Control Controlul timpului White Start Time Timpul de începere a albului H:mm:ss H:mm:ss Black Start Time Timp de Pornire Negru e.g. 40/7200:3600 for 2h/40 moves + 1h de exemplu. 40/7200:3600 pentru 2h/40 mutări + 1h Tournament Turneu E&vent date: Data e&venimentului: &Site: &Loc: &Event: &Eveniment: Game Information InformaÅ£ii despre partidă &Round: &Rundă: &Date: &Dată: Result: Rezultat: Clipboard Clipboard Dates are not properly formatted! Invalid Data Datele nu sunt formatate corespunzător! Dates are not properly formatted! Datele nu sunt formatate corespunzător! Invalid Data TableView Hide Column Ascunde Coloană Resize visible Columns Redimensionează coloanele vizibile Show all Columns Arată toate Coloannele TagDetailWidget Form Formă Filter: Filtru: Selected Item Item Selectat Filter Filtru Rename RedenumeÅŸte TagDialog Edit Tags Tag Value Valoare Deleting %1 tags Edit tag... Enter value... ./chessx-1.3.2/i18n/chessx_zh.ts000644 000765 000024 00000202162 11477003270 016051 0ustar00nistaff000000 000000 Analysis Mate in (depth %1) AnalysisWidget Analysis åˆ†æžæ¡† &Lines: 行(&L): Analyze åˆ†æž Stop åœæ­¢ Error 错误 There was an error running engine <b>%1</b>. 引擎è¿è¡Œæ—¶é”™è¯¯: <b>%1</b>. Draw 和棋 White wins in %n moves Black wins in %n moves <b>Tablebase:</b> BoardSetupDialog Setup position 设置ä½ç½® Board 棋盘 Clear 清除 &Reset é‡ç½®(&R) Side to move: 先走棋的一方: Move: 走棋: &Advanced 高级选项(&A) En passant file: 过路兵: Castling rights çŽ‹è½¦æ˜“ä½æƒåˆ© Black O-O 黑方 O-O White O-O-O 白方 O-O-O White O-O 白方 O-O Black O-O-O 黑方 O-O-O - - a b c d e f g h Halfmove clock: åŠæˆæ—¶é’Ÿ: Paste FEN 粘贴FEN Copy FEN å¤åˆ¶FEN &Ok 确定(&O) &Cancel å–æ¶ˆ(&C) Invalid position 无效ä½ç½® Current position is not valid. %1. 当å‰ä½ç½®æ— æ•ˆ. %1. No white king 白方王ä¸å­˜åœ¨ No black king 黑方王ä¸å­˜åœ¨ Both kings are in check åŒæ–¹çŽ‹éƒ½è¢«å°†å†› Side to move has opponent in check already 走棋方已ç»å°†å†› Black has too many pawns 黑方多兵 White has too many pawns 白方多兵 There are pawns on the first or eighth rank 兵已ç»åœ¨ç¬¬ä¸€è¡Œæˆ–者第八行 Too many kings 王太多 Too many black pieces 黑方棋å­å¤ªå¤š Too many white pieces 白方棋å­å¤ªå¤š Bad castling rights æ²¡æœ‰æ˜“ä½æƒé™ En passant square is not correct åƒè¿‡è·¯å…µæ–¹æ³•错误 Unknown reason 未知原因 FEN: %1 FEN:%1 Illegal position: %1 éžæ³•ä½ç½®:%1 Text in clipboard does not represent valid FEN:<br><i>%1</i> 剪贴æ¿ä¸Šçš„FEN无效:<br><i>%1</i> There is no text in clipboard. 剪贴æ¿ä¸ºç©º. BoardTheme Error 错误 Cannot find piece data. Please check your installation. æ— æ³•æ‰¾åˆ°æ£‹å­æ•°æ®.\nè¯·æ£€æŸ¥æ‚¨çš„å®‰è£…æ˜¯å¦æ­£ç¡®. ChessBrowser Add start comment... 添加开始评论... Add comment... 添加评论... Add move symbol æ·»åŠ èµ°æ£‹ç¬¦å· Add evaluation symbol 添加棋局评估符 Add other symbol æ·»åŠ å…¶ä»–ç¬¦å· Remove symbols ç§»é™¤ç¬¦å· Promote to main line å‡çº§ä¸ºä¸»çº¿ Remove variation 移除å˜ç§ Remove previous moves 悔棋 Remove next moves å–æ¶ˆæ‚”棋 Small font å°å­—体 CommentDialog Edit Comment CopyDialog Copy Games å¤åˆ¶æ£‹å±€ Copy: å¤åˆ¶: &Current game 当剿£‹å±€(&C) Games in &filter 使用过滤器(&f) &All games 所有棋局(&A) &To: å¤åˆ¶åˆ°(&T): EngineData New engine GameList Game list 棋局列表 HelpWindow ChessX - help viewer ChessX - 帮助 &Open ... 打开(&O)... Opens a help page æ‰“å¼€å¸®åŠ©é¡µé¢ &Print 打å°(&P) Prints the current page 打å°å½“å‰é¡µ E&xit 退出(&x) Exits the help browser 退出帮助æµè§ˆå™¨ &Forward å‰è¿›(&F) Next document in history 下一页 &Back 倒退(&B) Go back in history 上一页 &Home 主页(&H) Open the start page of the helpsystem 打开帮助起始页 &About 关于(&A) About ChessX 关于ChessX History åŽ†å² &File 文件(&F) Na&vigate 导航(&v) &Help 帮助(&H) Ready 就绪 Select a help file ... 选择帮助文件... Help pages (*.html *.htm ) 帮助网页(*.html *.htm) MainWindow Game Text 棋谱 Game List 棋局列表 Opening Tree 打开目录数 Analysis åˆ†æž Loading ECO file... 载入开局文件... ECO Loaded. 开局文件已载入. [Clipboard] [剪贴æ¿] Database %1 is already opened. æ•°æ®åº“ %1 å·²ç»æ‰“å¼€. Opening %1... 打开中 %1... Cannot open file 无法打开文件 %1 opened %1 已打开 Export games 输出 棋局 PGN file (*.pgn) PGN 文件(*.pgn) HTML page (*.html) HTML 网页(*.html) LaTeX document (*.tex) LaTeX 文档(*.tex) Edit comment 编辑注释 Comment: 注释: Loses in %n move(s) 在 %n 步时输棋 Wins in %n move(s) 在 %n 步时赢棋 Draw 和棋 <br>Tablebase: <a href="egtb:%1">%2%3 %1</a> -- %4 <br>æ¡Œé¢æ•°æ®: <a href="egtb:%1">%2%3 %1</a> -- %4 &File 文件(&F) &New database... æ–°æ•°æ®åº“(&N)... &Open... 打开(&O)... Open &recent... 打开最近(&r)... &Save ä¿å­˜(&S) &Export... 输出(&E)... &Games in filter 过滤器中的棋局(&G) &All games 所有棋局(&A) &Close 关闭(&C) &Quit 退出(&Q) &Edit 编辑(&E) Setup &position... 设置ä½ç½®(&p)... &Remove 移除(&R) Comment Variation Promote Remove 移除 Moves from the beginning 回到开始 Moves to the end è·³åˆ°ç»“æŸ &Copy FEN å¤åˆ¶FEN(&C) &Paste FEN 粘贴FEN(&P) &Preferences... å好(&P)... &View 视图(&V) &Flip board 翻转棋盘(&F) &Player information... 选手信æ¯(&P)... &Game 棋局(&G) &Load 载入(&L) &First 第一局(&F) &Last 最åŽä¸€å±€(&L) &Next 下一局(&N) &Previous 上一局(&P) &Go to game... 选择局数(&G)... &Random éšæœº(&R) &Go to 跳到(&G) &Start 开始(&S) &End 结æŸ(&E) &Next move 下一步(&N) &Previous move 上一步(&P) 5 moves &forward å‘å‰èµ°5æ­¥(&f) 5 moves &backward å‘åŽé€€5æ­¥(&b) Back to main line &New 新建(&N) &Save.... ä¿å­˜(&S)... &Analyze 分æž(&A) Fi&nd 查找(&n) Find &tag 查找标签(&t) Find &position 查找ä½ç½®(&p) &Reset filter é‡ç½®è¿‡æ»¤å™¨(&R) &Reverse filter å转过滤器(&R) &Database æ•°æ®åº“(&D) &Switch to 切æ¢åˆ°(&S) &Copy games... å¤åˆ¶æ£‹å±€(&C)... &Help 帮助(&H) &Report a bug... 报告缺陷(&R)... &About ChessX 关于ChessX(&A) &Debug 调试(&D) Following databases are modified: 以下数æ®åº“已被修改: Save them? ä¿å­˜? (%1 s.) (%1 妙) Compiled with 'fastbits' option<br> 编译是添加'fastbit'选项<br> About ChessX 关于 ChessX <h1>ChessX</h1><p>Free chess database available under GPLv2.<br>Version %1<br>%2Copyright 2005-2010 ChessX developers<p>Current developer and maintainer: <a href="mailto:mrudolf@kdewebdev.org">Michal Rudolf</a><p>Testing, usability and website: Bruno Rizzuti<p>Additional coding: Marius Roets, Sean Estabrooks, Rico Zenklusen, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<p>Homepage: <a href="http://chessx.sf.net">http://chessx.sf.net</a><br>Mailing list: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net <h1>ChessX</h1><p>Free chess database available under GPLv2.<br>Version %1<br>%2Copyright 2005-2010 ChessX developers<p>Current developer and maintainer: Michal Rudolf <a href="mailto:mrudolf@kdewebdev.org">&lt;mrudolf@kdewebdev.org&gt;</a><p>Additional coding: Marius Roets, Sean Estabrooks, Rico Zenklusen, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<p>Homepage: <a href="http://chessx.sf.net">http://chessx.sf.net</a><br>Mailing list: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net <h1>ChessX></h1><p>基于GPLv2çš„å…费国际象棋数æ®åº“.<br>版本 %1<br>%2 ç‰ˆæƒ 2005-2010 ChessX å¼€å‘人员<p>当å‰å¼€å‘和维护者:Michal Rudolf <a href="mailto:mrudolf@kdewebdev.org">&lt;mrudolf@kdewebdev.org&gt;</a><p>其它编ç äººå‘˜: Marius Roets, Sean Estabrooks, Rico Zenklusen, Ejner Borgbjerg, Heinz Hopfgartner, William Hoggarth.<p>主页: <a href="http://chessx.sf.net">http://chessx.sf.net</a><br>邮件列表: <a href="mailto:chessx-users@lists.sourceforge.net">chessx-users@lists.sourceforge.net New database æ–°æ•°æ®åº“ PGN database (*.pgn) PGN æ•°æ®åº“(*.pgn) Cannot create ChessX database. 无法创建ChessXæ•°æ®åº“. Open database 打开数æ®åº“ PGN databases (*.pgn) PGN æ•°æ®åº“(*.pgn) <html>The database <i>%1</i> is read-only and cannot be saved.</html> <html>æ•°æ®åº“<i>%1</i>是åªè¯»çš„并且无法ä¿å­˜.</html> Saving %1... ä¿å­˜ä¸­ %1... %1 saved %1 å·²ä¿å­˜ Text in clipboard does not represent valid FEN:<br><i>%1</i> 剪贴æ¿ä¸Šä¸æ˜¯æœ‰æ•ˆçš„FEN:<br><i>%1</i> There is no text in clipboard. 剪贴æ¿ä¸ºç©º. The clipboard contains FEN, but with illegal position. You can only paste such positions in <b>Setup position</b> dialog. 剪贴æ¿ä¸ŠåŒ…å«FEN, 但是ä½ç½®æ— æ•ˆ. åªèƒ½å¿½ç•¥.. Queen çš‡åŽ Rook 车 Bishop 象 Knight 马 Promotion å‡çº§ Promote to: å‡çº§ä¸º: Add move 添加一步棋 There is already next move in current game. What do you want to do? 当剿£‹å±€å·²ç»æœ‰ä¸‹ä¸€æ­¥æ£‹äº†ã€‚ 你想åšä»€ä¹ˆ? Add variation 添加å˜ç§ Add new mainline 添加新的主线 Replace current move 替æ¢å½“å‰çš„一步棋 Game %1: <b><a href="tag:white">%2</a> %3 - <a href="tag:black">%4</a> %5</b> 棋局 %1: <b><a href="标签:白方">%2</a> %3 - <a href="标签:黑方">%4</a> %5</b> %1(%2) %3 %1(%2)%3 <i>%1(%2), %3, %4</i> <i>%1(%2), %3, %4</i> (Start of game) (棋局开始) (End of game) (棋局结æŸ) (End of line) (分支结æŸ) Last move: %1 &nbsp; &nbsp; Next: %2 上一步:%1 &nbsp; &nbsp; 下一步: %2 (&lt;-Var) (当å‰;å˜ç§) <br>Variations: &nbsp; <br>å˜ç§: &nbsp; Load Game 载入棋局 Game number: 棋局å·: This database is read only. æ•°æ®åº“为åªè¯». <b><a href="tag:white">%1</a></b> %2 - <b><a href="tag:black">%3</a></b> %4 <b>%1</b> &nbsp; %2 %1: %2/%3 %1: %2/%3 You need at least two open databases to copy games å¤åˆ¶æ£‹å±€è‡³å°‘éœ€è¦æ‰“开两个数æ®åº“ %1. %2 (%3 games) %1. %2 (%3 棋局) %1 - ChessX %1 - ChessX Updating tree... 更新目录树... Tree updated 目录树已更新 MessageDialog Error 错误 Warning 警告 Information æ¶ˆæ¯ Question 问题 &Yes 是(&Y) &No å¦(&N) &OK 确定(&O) &Cancel å–æ¶ˆ(&C) MoveData [end] OpeningTree Move Count Score Rating Year PlayerDialog Player Information é€‰æ‰‹ä¿¡æ¯ &Players 选手(&P) &Find: 查找(&F): &Show player 显示选手(&S) &Update list 更新列表(&U) &Information ä¿¡æ¯(&I) &Update player 更新选手信æ¯(&U) <html><i>No player chosen.</i></html> <html><i>没有选择选手</i></html> PlayerInfo <i>no games</i> Total: %1<br>White: %2<br>Black: %3<br> Games in database <i>%1</i>: <b>%2</b><br> Rating: <b>%1</b><br> Rating: <b>%1-%2</b><br> Date: <b>????.??.??<b><br> Date: <b>%1</b><br> PreferencesDialog Preferences 选项 &Ok 确定(&O) &Apply 应用(&A) &Cancel å–æ¶ˆ(&C) &Board 棋盘(&B) &Chess set: æ£‹å­æ ·å¼(&C): plain ç®€å• outline 轮廓 outline+shadow 轮廓阴影 &Draw frame between squares 棋盘方格间带线æ¡(&D) &Guess move on left-click 点击左键,预测下一步(&G) Board &style: 棋盘样å¼(&s): &Colors: 颜色(&C): &Engines 引擎(&E) WinBoard WinBoard UCI UCI ... ... Name: åå­—: Command: 指令: Options: 选项: Directory: 目录: Protocol: 通信åè®®: Down å‘下 Remove 移除 Add... 添加... Up å‘上 &Advanced 高级选项(&A) Use online tablebase servers 使用在线象棋æœåС噍 &Edit PGN files smaller than: 编辑的PGN文件å°äºŽ(&E): MB å…†(MB) XBoard X棋盘 Light squares 浅格颜色 Dark squares 深格颜色 Highlighted squares 高亮显示的棋格颜色 Frame 边线颜色 Select engine directory 选择引擎目录 Select engine executable é€‰æ‹©å¼•æ“Žå¯æ‰§è¡Œæ–‡ä»¶ [plain colors] [简å•颜色] QuickSearchDialog Quick Tag Search 标签快速查找 Game number æ£‹å±€å· White 白 White Elo 白方得分 Black 黑 Black Elo 黑方得分 Event 比赛 Site 比赛地点 Round 轮数 Date 比赛日期 Result 比赛结果 ECO 开局 Length 长度 &Find 查找(&F) &Cancel å–æ¶ˆ(&C) &Value: 值(&V): &Tag: 标签(&T): &Mode: 模å¼(&M): Find in current filter 在当å‰è¿‡æ»¤å™¨ä¸­æŸ¥æ‰¾ Search whole database 查询整个数æ®åº“ Add to current filter 加入当å‰è¿‡æ»¤å™¨ SaveDialog Save Game ä¿å­˜æ£‹å±€ &OK 确定(&O) &Cancel å–æ¶ˆ(&C) Players 选手 Elo: 得分: &White: 白方(&W): &Black: 黑方(&Bf): Tournament 比赛 E&vent date: 比赛日期(&v): &Site: 比赛地点(&S): &Event: 比赛项目(&E): Game Information æ£‹å±€ä¿¡æ¯ &Round: 轮数(&R): &Date: 比赛日期(&D): Result: 结果: 1-0 1-0 1/2-1/2 1/2-1/2 0-1 0-1 * * TableView Small font å°å­—体 ./chessx-1.3.2/data/chessx.eco000644 000765 000024 00003523144 11216274615 015637 0ustar00nistaff000000 000000 Í\½(wÿôÔšpBA41q Neo-Old Indian: Modern, 3.e4ÿóo¡YV.û$A84 Dutch: 2.c4 d6ÿæ.DþUà—zC06r French: Tarrasch, Closed, 8...f6 9.exf6, 11...Qc7 12.Bg5ÿØAÙ—01ò8E11e Bogo-Indian: 4.Nbd2 O-OÿÔ‰ç«îPA09c Reti: Advance, Anglo-Polish, 3...g6ÿÔ)k—«@A70e Benoni: Classical, 8.Be2 a6ÿÓZ6í®'-:A01 Nimzowitsch-Larsen AttackÿÓJHkkdC87b Spanish: Closed, Averbakh (Russian) VariationÿϘ.-#@«*A80t Dutch: 2.Nf3 Nf6ÿΨ­—R˜Å$B20 Sicilian: 2.g3ÿÇ*‚¨²wXE14r Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-OÿÇ·ž¾Ÿ´LA26 English: Closed, 5.d3 d6 6.Nf3 Nf6ÿÂÛ}¹¡• TA66 Benoni: Mikenas Attack, 8...Nfd7 9.Nf3ÿÁé9˜³DE10g Neo-Indian: Blumenfeld/Benoniÿ°8z¾§îvC09h French: Tarrasch, Open, Main Line, 9.c3 O-O 10.Nb3 Bd6ÿ¨åI6ß]^C97b Spanish: Closed, Chigorin, 11.d4 Qc7 12.d5ÿ¦»iB§Pä|A45r Trompowsky: 2...c5 3.Bxf6 gxf6 4.d5 Qb6 5.Qc1 f5 6.e3 Bg7ÿ¦kcoRC16f French: Winawer, Petrosian Variationÿ£Œ€zÅcbA39k English: Symmetrical, Main Line 7.d4, 9...d6ÿ˜"Š16vônE14t Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.Nbd2ÿ‹ÅYu7SXB51p Sicilian: 3.Bb5+ Nc6 4.O-O Bd7 5.Re1 a6ÿƒ &$;=§.D73 Neo-Grünfeld, 6.Qb3ÿQçF@VB06r Modern: Two Knights, Suttles VariationÿÚÏàVE04j Catalan: Open, 5.Nf3 a6 6.O-O Nc6 7.e3ÿ}3Pq.ND02j Queen's Pawn: Krause, Reversed QGDÿz…"ç0•ZB42n Sicilian: Kan, 5.Bd3 Nf6 6.O-O Qc7 7.Qe2ÿzLˆ:ÙÛjXB37g Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3ÿxHábÇšXDD00u Blackmar-Diemer: Lamb Defenceÿl°ê¿ÕÙÁHC82b Spanish: Open, Berlin Variationÿkx.’ Ûé0E00t Catalan: 4.Nf3 dxc4ÿXiÇ´^NB04e Alekhine: Modern, Schmid VariationÿT*<¾üÄ6D11m Slav: Slav-Reti SystemÿPæ7Ò‹3 VD31w Semi-Slav: Marshall Gambit, 5.Nxe4 Nf6ÿPfY½‚bNC40f Elephant Gambit: 3.Nxe5 dxe4 4.Bc4ÿHkІÀêJD90 Grünfeld: Three Knights VariationÿE'1in>§TE21 Nimzo-Indian: Three Knights, 4...Bxc3+ÿE –õEíFD35i QGD: Exchange, 5.Bg5 Nbd7 6.e3ÿDƒFøIËND77g Neo-Grünfeld, 6.O-O dxc4 7.Na3 Na6ÿ3¸â&þBRC83 Spanish: Open, Classical, 10.Nbd2 Nc5ÿ(ãɦðÍ~†C09p French: Tarrasch, Open, Main Line, 9.Nb3 Bd6 10.Re1 O-O 11.Bg5ÿ#DtõkĆB84 Sicilian: Scheveningen, Classical, 7.O-O Be7 8.f4 Qc7 9.Be3 Nc6ÿ[ûgõ2FE50 Nimzo-Indian: 4.e3 O-O 5.Nf3 b6ÿ?X´…±0A45s Trompowsky: 2...Ne4ÿe@mÑP6\E61o King's Indian: 4.Nf3 O-O 5.e3 d6 6.Be2 c5ÿX˜¹k€JE12y Queen's Indian: Botvinnik, 8.Qc2ÿLG“gDC44l Ponziani: Leonhardt Variationÿ¶nr 2C55d Two Knights: 4.d3 h6ÿ " ¥•8G6D11m Slav: Slav-Reti Systemÿ,Ü‚xì@B30h Sicilian: 2...Nc6 3.Nc3 Nf6ÿ+F(kRÁŽB49m Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O Bb4 9.Na4 Be7 10.Nxc6þ÷Æ÷gà³dD36t QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O h6þîZó¯²f ‚E19i Queen's Indian: Old Main Line, 9.Qxc3 f5 10.b3 Bf6 11.Bb2 d6þæ»iÈÜÕá@C01s French: Exchange, 4.Nc3 Nf6þá‰Ø'¡ioZB97b Sicilian: Najdorf, Poisoned Pawn, 8.Bxf6þÙÑ©¡xåh4A25 English: Closed, 5.Rb1þÙŽ³D8Ž \B20 Sicilian: Wing Gambit, Marienbad VariationþØ>oQQL®HC78t Spanish: Archangelsk, 7.Re1 Bc5þ×CO‹Ã¸õPE73h King's Indian: Semi-Averbakh SystemþÒÚÈãã\B02q Alekhine: Sämisch Attack, 3...Nxc3 4.dxc3þÎ5LlRŸ4C57e Two Knights: 4.Ng5 d5þ•—ܬ³¥0A55c Old Indian: 5.e4 c6þ¿©ÆÀ·‘VE61x King's Indian: Smyslov System, 6.e3 c6þ¿Q`§MŠÜZA31 English: Symmetrical, Two Knights, 4...e5þ»qÅiR’bE05t Catalan: Open, Classical, 8.Qxc4, 10.Bd2 Be4þµ1ø"˜çµFD94 Grünfeld: Slav/Schlecter, 6.Be2þ²·Ý»õ>¦bC19n French: Winawer, 6...Ne7 7.Nf3 Nbc6 8.a4 Qa5þ£‘ʧ qkbC95n Spanish: Closed, Breyer, Main Line, 15.a4 c5þ£+÷§Â·ŠHE32c Nimzo-Indian: Classical, 4...d6þ–Ú3·â×­4D31a QGD: Alapin Variationþû1È@nPC65j Spanish: Berlin, Kaufmann Variationþy)ÃlÿQ@NA17 English: Anglo-Queen's Indian, 4.e4þxˆªÊ8D23f QGA: Mannheim, 4...Nbd7þq$M3þËTA16 English: Anglo-Grünfeld, 4.Nf3 g6 5.g3þhÞ §Z—úpB01z Scandinavian: Marshall, 4.c4 Nb6 5.Nf3 g6 6.Be2 Bg7þ\Ä;!ßö·bE45 Nimzo-Indian: Nimzowitsch, 5.Ne2 Ba6 6.a3 Be7þU«E)#ÍbC69e Spanish: Exchange, Gligoric, 6.d4 Bg4 7.dxe5þU+9½ãä6A13n English: Wimpey SystemþCÈ w&ÒK`B56q Sicilian: Open, 2...d6, 5.Nc3 Nc6 6.Be3 Ng4þ?d“FÔNC61k Spanish: Bird's, 5.O-O Bc5 6.d3 c6þ?X£çŽîdPB00u Nimzowitsch Defence: 2.d4 e5 3.dxe5þ>C4lTëLA94 Dutch: Stonewall, Botvinnik, 8.Ba3þ9¬ˆ»ñsBD00n Queen's Pawn: Veresov Attackþ0g€ŸõÑ|E48 Nimzo-Indian: 4.e3 O-O 5.Bd3 d5 6.Ne2 c5 7.O-O cxd4 8.exd4þ0{l¹z DB45b Sicilian: Taimanov, 5.Nc3 Bb4þ+öq—ëxÜPD46p Semi-Slav: Chigorin, 7.O-O O-O 8.e4þ!·)r¿>E41 Nimzo-Indian: 4.e3 c5 5.Nf3þ èê¤`ǪlB12h Caro-Kann: Gurgenidze/Modern: 3.Nd2 g6 4.Ngf3 Bg7þò§­ÝýJB41j Sicilian: Kan, 5.c4 Nf6 6.Nc3 d6þ‰Ôèºß,B03b Alekhine: 3.d4 d6þ­1,¤““:A45s Trompowsky: 2...Ne4 3.h4þ §zzrQÓfE62g King's Indian: Fianchetto, Larsen System, 8.b3þ©:hXëB^E20 Nimzo-Indian: Romanishin, 4...c5 5.Nf3 cxd4þ%Uð4¨bA46o Indian: 1.d4 Nf6 2.Nf3 e6 3.g3 c5 4.Bg2 Qa5+ýü cFÆÐF<C10n French: Rubinstein, 7.Bd3ýðÆ:ª+‘<LD78j Neo-Grünfeld, 6.O-O c6 7.Qb3 dxc4ýíȲg† jC29h Vienna Gambit: Oxford, 5...Bb4 6.dxe4 Qh4+ 7.Ke2ýÚÁY"-|XC14e French: Classical, Rubinstein VariationýØ'ž‡1LE32a Nimzo-Indian: Classical VariationýÔ;÷æâÍñfA67g Benoni: Four Pawns, Taimanov, 9.Bd3 O-O 10.Nf3ýÒ½:Ã%Z^B20 Sicilian: Wing Gambit, Santasiere VariationýÏ} š>(B08a Pirc: ClassicalýÅgA/N$C29a Vienna GambitýÀFb'Õs`D07m QGD: Chigorin, 3.Nf3 Bg4 4.cxd5 Bxf3 5.gxf3ý¾Xp”Þ¯8C78b Spanish: Möller Defenceý¶þ 7\9ND36o QGD: Exchange, Main Line, 9.Nf3 h6ý°NÌ[|ÊVA56w Benoni: Czech, 5.e4 Be7 6.Nf3 O-O 7.h3ý¯¸õ£@NÑNE18n Queen's Indian: 7.Nc3 Ne4 8.Bd2 d5ý­Ë)ÉøbLDC55u Two Knights: Max Lange Attacký©Å‰¶3žnB09v Pirc: Austrian, 5...c5 6.Bb5+ Bd7 7.e5 Ng4 8.Bxd7+ý§êÉãÕÛ6D11o Slav: Slav-Reti Systemýš"6Ëþ²s6D01a Richter-Veresov Attacký–õI˜UÁºLC49f Four Knights: Svenonius Variationý•Þÿ«lQ"B00d Owen Defenceý,‰ï¬Ö rD91m Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Qd2 exd5ý0¸O†‹$D04g Colle: 3...c5ý…2³8¢_>JC96g Spanish: Closed, Chigorin, 11.d3ý„\úñÌ]SDD11f Slav: 3.Nf3 dxc4 4.e3 b5 5.a4ý·î0„hC48f Four Knights: Spanish, Classical Defence, 5.O-Oý Rzhw…4C37 KGA: 3.Nf3 g5 4.Bc4 g4ýi„¤íjMRD46i Semi-Slav: Chigorin, 7.Qc2 Main LineýcþU”˜›iDB41i Sicilian: Kan, 5.c4 Nf6 6.Nc3ý`–âmÐ)û8C26i Vienna: Smyslov, 3...d5ý^!ÓsO¼s(B02n Alekhine: 3.Bc4ý]†c;*ÞbDA00p Polish (Sokolsky; Orang-Utan)ý\vâ"Ñ{´TD31s Semi-Slav: Noteboom, Koomen VariationýZx$ÝíÝPE94w King's Indian: 7.O-O Nbd7 8.Be3 Re8ýW‘=ô\„ÇE99 King's Indian: Mar del Plata, 10.f3 f5 11.Be3 f4 12.Bf2 g5 13.a4 Ng6ýWM?h`sE00g CatalanýPþ+=Ñg1hC24 Bishop's Opening: Urusov Gambit, Panov VariationýIÛtc#eHD06t QGD: 2...Bf5 3.cxd5 Bxb1 4.Qa4+ý@ëšM¥ZVC91f Spanish: Closed, Bogoljubow, 10.d5 Na5ý=›TêÇô:A04 Reti: Lisitsin: 3.Ng5 Nf6ý7êµÄÔÄëˆB33q Sicilian: Pelikan, Chelyabinsk, 9.Nd5 Be7, 11.c3 O-O 12.Nc2 Bg5ý5E²EŸ¹Ã\B33m Sicilian: Pelikan, Chelyabinsk, 9.Nd5 Be7ý/¥áôKp@B50m Sicilian: 2.Nf3 d6 3.c3 Nf6ý-Ô™&x†ÛZA86 Dutch: Leningrad, 4.Bg2 Bg7 5.Nc3 d6 6.d5ý+Û’‡ÂDzBE73d King's Indian: 5.Be2 e5 6.d5ý%Ö.V.E20 Nimzo-Indian: 4.Bd2ý#³ëŒzøXA83h Dutch: Staunton Gambit, 4.Bg5 e6 5.Nxe4ý"¨•(l–.A57b Benko Gambit: 4.a4ý°á4´ä`C57f Two Knights: Lolli Attack, Pinkus Variationý;l ©2D05b Colle: 3...e6 4.Nbd2ý—$? nA94 Dutch: Stonewall, Botvinnik, 8.Ba3 Bxa3 9.Nxa3 Nbd7üúT‘Q«lXA52g Budapest: Adler, 4...Bc5 5.e3 Nc6 6.Be2üö}•޼ÕVB53m Sicilian: Chekhover, Zaitsev Variationüíôd7# 1TB46k Sicilian: Taimanov, 5...a6 6.Be3 Nge7üésÝÕéüá†A88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.d5 e5 9.dxe6 Bxe6 10.b3üçôtÄãäófE67k King's Indian: Fianchetto, Classical, 8.h3 Re8üæùŸ¨#ÖLC49c Four Knights: 4.Bb5 Bb4 5.O-O O-Oüäh|Áj>C77i Spanish: Exchange DeferredüÜŽQÍšuTB17f Caro-Kann: Steinitz, 5.Nf3 Ngf6 6.Ng3üØ€rC€—÷bA39j English: Symmetrical, Main Line 7.d4, 9.Qxd4üÒfõ9oJC77o Spanish: Centre Attack, 5...exd4üÑ‘f™Õ´(B07b Pirc: 2.Nf3 Nf6üÅ ‹rö«hE45 Nimzo-Indian: Nimzowitsch, 5.Ne2 Ba6 6.Ng3 Bxc3+üÃe¤Î6̵RD85t Grünfeld: Modern Exchange, 8.Be3 Nc6üÁƒÉ;Óô-0C55a Two Knights DefenceüÀ°'0à/>C67e Spanish: Open Berlin, 5.d4ü¹Ç«B5ßrVA94 Dutch: Stonewall, Botvinnik, 8.Ba3 Bxa3ü·hÒJSQ:B24 Sicilian: Closed, 3.g3 g6ü«Ý!öÇqb8D16j Slav: Smyslov, 6.e4 Bg4ü¨Fýq.í‰6C87a Spanish: Closed, 6.Re1ü¥'»)ÖŽF`B70s Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-O 8.Bg5üŸ¾o%L£^C73 Spanish: Modern Steinitz, Richter Variationü™. ^±jE14o Queen's Indian: 4.e3 Bb7 5.Bd3 d5 6.O-O Bd6 7.b3ü—»šF#ŸA07 Reti: KIAü–0¨Ž"J>C41m Philidor: Berger Variationü…(aj±JpA14 English: Neo-Catalan Declined, 5...O-O 6.b3 c5 7.Bb2ü…’=Õû+ZE29 Nimzo-Indian: Sämisch, Capablanca, 10.O-Oü (†X/HD33l QGD Tarrasch: 6.g3 Nf6 (Prague)ü~³Úe¼bjA30v English: Symmetrical, Hedgehog, 9.b3 Nbd7 10.Nb5ü|‘šydC09c French: Tarrasch, Open, 5.Ngf3 Nc6 6.Bb5 cxd4üs‘)a%C\E90s King's Indian: 5.Nf3 O-O 6.h3 e5 7.d5 Na6üs:í|‹ ZA07 Reti: KIA, Yugoslav, Main Line, 6.Nbd2 e6ümjþË·zE29 Nimzo-Indian: Sämisch, 5...O-O 6.e3 c5 7.Bd3 Nc6 8.Ne2 e5ügÏLR9PQRA87 Dutch: Leningrad, Main Line, 7.Nc3 e6ü`ìœþ]nW^E05h Catalan: Open, Classical, 7.Ne5 Nc6 8.Nxc6ü\0;.³Â7†E88d King's Indian: Sämisch, Orthodox, 7.d5 c6 8.Qd2 cxd5 9.cxd5 a6üX¢A?÷RE50 Nimzo-Indian: 4.e3 O-O 5.Nf3 c5 6.Be2ü@øQ‘²(HB20 Sicilian: English, 2...Nc6 3.Nc3ü=®”[)Uå\E87b King's Indian: Sämisch, Orthodox, 7.d5 a5ü4[ž>oøUZD75 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O c5 8.dxc5ü3ù fvý>B47b Sicilian: Taimanov, 6.Nxc6üW@tYÝ´8A13c English: 1...e6 2.g3 d5üŸŒ¤ÝHHB00g Owen Defence: Matinovsky Gambitü‰Ð´¢¶ZB42n Sicilian: Kan, 5.Bd3 Nf6 6.O-O Qc7 7.Qe2ü@zœ]þ^B37i Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6ûóÙðË” uNB57a Sicilian: Sozin, Magnus Smith Trapûåθį^à0A10 English: Wade GambitûÍMŒÆý¿3`A58s Benko Gambit: Fianchetto, Main Line, 11.Qc2ûË kµ"ZïtA45o Trompowsky: 2...e6 3.e4 h6 4.Bxf6 Qxf6 5.Nc3 d6 6.Qd2ûÊ»`[.f±`E85c King's Indian: Sämisch, Orthodox, Queenswapû»¼R^hµw4C60p Spanish: Cozio, 4.Nc3û¸ÇUÒúy FB08h Pirc: Classical, 5.Be3 a6 6.a4û´IMÐ à<B08g Pirc: Classical, 5.Bc4 c6û¬çü¸ ÝXE96 King's Indian: 7.O-O Nbd7, Old Main LineûsÑ¥+t`ZE13d Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.Nd2ûWßߟóŒ8A44l Old Benoni: Czech, 3.e4û–Åo5½ÏR^B76b Sicilian: Dragon, Yugoslav, 7.f3 O-O 8.Qd2û”Æfù&¡(A60a Benoni: 3.d5 e6û“#œ1LÇdC06e French: Tarrasch, Closed, Leningrad, 9.O-O a5ûŠÄÌn0q8A09m Reti: Accepted, 3.g3 e6û…"nOY–<B02r Alekhine: Chase Variationû„S­$&*ý6C70 Spanish: Cozio Deferredû€š„ˆÄ§BC36 KGA: Scandinavian, 4.exd5 Bd6ûr µ#¯\C48p Four Knights: Rubinstein, 5.Ba4 c6 6.Nxe5ûm“ñÛ#À.C57a Two Knights: 4.Ng5ûiÂYKýNêLB30r Sicilian: Rossolimo, 3...e6 4.O-Oûb´Ó#ÅGF^D68 QGD: Orthodox, Classical, Maroczy Variationû_"†lÓ>C57a Two Knights: Traxler, 5.d4ûUa«40¾æDC64p Spanish: Classical, 4.O-O Nd4ûPÌáI:9RD96 Grünfeld: Russian, 5...c6 6.cxd5 cxd5ûF$˜¡àSŸ0E70a King's Indian: 4.e4ûB».JÞ¶DLA45n Trompowsky: 2...e6 3.e4 h6 4.Bxf6û8ÊPA±K6B07h Pirc: 3.Bd3 e5 4.c3 d5û0úíWRa’E59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 11.Bd3 e5 12.Qc2 Re8û-úìÄ$JE09h Catalan: Closed, Main Line, 9.e4û'4'TF†VB66b Sicilian: Richter-Rauzer, 7...a6 8.Be2û%ÀúÙ+¨\:D25d QGA: Smyslov, 5.Bxc4 Bg7û!ýŽã 18ND86 Grünfeld: Classical Exchange, 8.Ne2û!zÉ0ûŒZC87h Spanish: Closed, Averbakh, 7.c3 Bg4 8.d3û帅Õ`B39c Sicilian: Maroczy Bind, Breyer, 8.Qxg4 Nxd4ûšƒ,xuÔ´E13q Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 g5 8.Bg3 Ne4 9.Qc2 Bxc3+ 10.bxc3 d6 11.Bd3 f5û§tœÊXC72 Spanish: Modern Steinitz, 5.O-O Bg4 6.h3ûãP)œ…N@C54c Giuoco Piano: Bird's AttackûáY!–°‹tE15k Queen's Indian: Nimzowitsch, 5.Qa4 c5 6.Bg2 Bb7 7.O-Oû .'ø=~|E09p Catalan: Closed, Main Line, 9.e4 Bb7 10.b3 Rc8 11.Bb2 Qc7ûÐbuAº¦rB90o Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.f3 Be7 9.Qd2úýNr+øa40A54 Old Indian: 5.g3 Be7úóB;b¶'”0C12a French: MacCutcheonúãÈ"­SÜ>C40s Latvian Gambit: 3.Nxe5 Nc6úÝ¢SYDB83 Sicilian: Scheveningen, ModernúÚ¹ćAµ^D44l Semi-Slav: Botvinnik, Lilienthal, 11...Qa5úÙõîË+@B23n Sicilian: Chameleon, 3...e5úט%Sø±·rD31v Semi-Slav: Noteboom, Abrahams, Main Line, 14.O-O O-Oú×ietôË´bA70w Benoni: Classical, 8.h3 O-O 9.Bd3 b5 10.Nxb5úÑ@å9£îµ^C75 Spanish: Modern Steinitz, Rubinstein, 7.Be3úÈÿç ¡Žì@B21a Sicilian: Grand Prix Attackúȼrë3þTB21y Sicilian: Smith-Morra, 5.Nf3 d6 6.Bc4úÇ€î6È**A55a Old Indian: 5.e4ú»Àoôd_õ\E81c King's Indian: Sämisch, 5...O-O 6.Nge2 e5ú±q1/ƒG8vB78k Sicilian: Dragon, Yugoslav, Main Line, 12.h4 h5 13.Kb1ú©:—É­PVB55 Sicilian: Prins, Venice Attack, 6...Bd7ú¨®µ¿Î‡†8D47h Semi-Slav: Meran, 8.Bd3ú”6X£³“pE87j King's Indian: Sämisch, Orthodox, 7.d5 Nh5 8.Qd2 f5ú‡ A ŸvLC45v Scotch: 4.Nxd4 Bc5 5.Be3 Qf6 6.c3úpü‹Z¢Vr<A01 Nimzowitsch-Larsen: 1...d5úoÐѺi®&ZE30 Nimzo-Indian: Leningrad, 4...c5 5.d5 exd5ún>Ý™2¸›LD27m QGA: Classical, Spassky, 7...Qxd1úcª—é†u$D35b QGD: ExchangeúXˆi_7»F^A32 English: Symmetrical, Two Knights, 5.g3 Qb6úL ‹cñ~˜LB00u Nimzowitsch Defence: 2.d4 e5 3.d5ú3†–èùVA45y Trompowsky: 2...Ne4 3.Bf4 c5 4.f3 Qa5+ú2¼V@—KbA41h Neo-Old Indian: Wade Defence, 3.c4 Nd7 4.Nc3ú(ÝõÖJT<A95 Dutch: Stonewall, 7.Nc3 c6ú #ÿƒó!n@C40c Open Game: Gunderam Defenceú$óT‰ÅújE31m Nimzo-Indian: Leningrad, Main Line, 8...e5 9.Bd3úžjê¿øLA64 Benoni: Fianchetto, 11...Re8 12.h3ú¨ðõ]ÏRA75 Benoni: Classical, 9.O-O a6 10.a4 Bg4ú»ë _¤A07 Reti: KIAúSt¹˜42pB56n Sicilian: Open, 2...d6, 5.Nc3 Nc6 6.f3 e5 7.Nb3 Be7úƒ ꥛*B06j Modern: 3.Nf3 d6ùúhFõ¤ŸYHC86b Spanish: Worrall Attack, 6...b5ùùTÓ«øšwzD99e Grünfeld: Russian, Smyslov, Main Line, 9...Nb6 10.Rd1 e6ùí»Û–”?úZB01q Scandinavian: 2...Qxd5, Main Line, 8.Qe2ùÎbÕ4ÍtB44z Sicilian: Taimanov, Szen, Hedgehog, 11.Be3 Bb7 12.Qb3ù¶ñýÃU¬ë2A13b English: 1...e6 2.g3ù«kù8\ÏZC33 KGA: Bishop's Gambit, Bryan Countergambitù¦®êj—ˆXB45h Sicilian: Taimanov, Four Knights, 6.Be2ù£ý/wÛZ\D21u QGA: Alekhine, Borisenko-Furman Variationùš 6ÙêÓÀJA44q Old Benoni: Czech, 3.e4 d6 4.Nc3ù™}ð³÷¤LB29j Sicilian: Nimzowitsch, 4.Nc3 Nxc3ù—êæv±bC99a Spanish: Closed, Chigorin, 12...cxd4 13.cxd4ù}þÓàƒ$B06i Modern: 3.Nf3ùw£]÷-D8A85 Dutch: 2.c4 Nf6 3.Nc3 g6ùuXÏ,®øbA20 English: King's, Nimzowitsch, Flohr VariationùjWŠÛ¡ßÄDD73 Neo-Grünfeld, 5.Nf3 dxc4 6.Na3ùVjÀ¡6б@A55l Old Indian: Main Line, 8.h3ùSÃB®b ŽND12l Slav: 4.e3 Bf5 5.Nc3 e6 6.Bd3 Bxd3ùPÌ…¹æò(C15a French: WinawerùO§ýc”tA45r Trompowsky: 2...c5 3.Bxf6 gxf6 4.d5 Qb6 5.Qc1 f5 6.g3ùK»lØ—6„6D15e Slav: Chameleon, 5.Bg5ù@ŽÔ Æ—#ZE11t Bogo-Indian: Nimzowitsch, 5.g3 Nc6 6.Bg2ù<:層îDND41s QGD: Semi-Tarrasch, 6.e3 Nc6 7.Bc4ù9Ö¡ÃVE63l King's Indian: Fianchetto, Panno, 8.d5ù7g;6ßthC97k Spanish: Closed, Chigorin, 12...Bd7 13.Nf1 Rfe8ùbWVfC86i Spanish: Worrall Attack, 7...O-O 8.c3 d6 9.Rd1ùX'LÂd*B20 Sicilian: 2.d3 e6ùu¤©NÑÀ`E78 King's Indian: Four Pawns Attack, 7.Nf3 cxd4ùý²@ ‡'DA36c English: Symmetrical, 3.g3 e6ùõäÖN'~A77 Benoni: Classical, Main Line, 10.Nd2 Nbd7 11.a4 Ne5 12.Ndb1ù×Ë–!‰<C40n Latvian Gambit: 3.exf5 e4ù0:=™QˆHC55e Two Knights: 4.d3 Be7 5.Bb3 O-OùÀz‡/9|6D70 Neo-Grünfeld: 4.Bg2 Bg7ùª•×µ³BB10j Caro-Kann: English, Exchangeùt”äµÂdC46l Three Knights: Steinitz, 4.d4 exd4 5.Nxd4 Bg7ø÷6ÂSÈ‚B58r Sicilian: Boleslavsky, 7.Nf3, 9.Re1 O-O 10.h3 Be6 11.Bf1 Nb8øô뢈d,(E00n Catalan: 3...d5øôNÊ ¹ª€B39g Sicilian: Maroczy Bind, Breyer, 8.Qxg4 Nxd4 9.Qd1 e5 10.Bd3øñ¤H” ÆRE18y Queen's Indian: Old Main Line, 8.Qc2øí³© „E12u Queen's Indian: Petrosian, Kasparov, 7...Nxc3 8.bxc3 Be7 9.e4øæ…_@£µ%FC63l Spanish: Schliemann, 4.Nc3 Nf6øå¸ékÿPE62b King's Indian: Fianchetto Variationøä’. FWjxE12o Queen's Indian: Petrosian, 5.Nc3 d5 6.Bg5 Be7 7.Qa4+ c6øß¥8¼2BA14 English: Neo-Catalan DeclinedøÛ¿>@â?M2A03 Bird: Williams Gambitø×­ l¢Í¯`E31e Nimzo-Indian: Leningrad, Main Line, 7.e3 e5øÉü4Ò[vRD08 QGD: Albin, 4.Nf3 Nc6 5.a3 Bg4 6.Nbd2øÅ•Ï|A¡áTB12w Caro-Kann: Advance, Main Line, 6.Nge2øÃ0_ÚÜX¤<C26c Vienna: Smyslov Variationø¿)è;›%"fE19k Queen's Indian: Old Main Line, 9.Qxc3 c5 10.b3ø¤Öáà…zA32 English: Symmetrical, Two Knights, 5.g3 d5 6.Bg2 e5 7.Nf3ø•Ÿ),È™Ñ<A92 Dutch: Stonewall, 7.Qc2 c6ø”ë´?Lì@C15k French: Winawer, 4.a3 Bxc3+ø”ÓD “ "<D24p QGA: Bogoljubow, 7.a4 Nb4øŒª,Ÿ"hpfC45q Scotch: 4.Nxd4 Bc5 5.Nb3 Bb6 6.a4 a6 7.Nc3 Qf6ø„ù¼$âÿXE15g Queen's Indian: Nimzowitsch, 5.Nbd2 Bb4ø‚b™û¨ÔLC64f Spanish: Classical, Cordel Gambitø°6sö~¿vB78n Sicilian: Dragon, Yugoslav, Main Line, 12.h4 h5 13.Bg5ø{¸)‹@ATE34 Nimzo-Indian: Classical, Noa VariationønÉ,qIC’vC95g Spanish: Closed, Breyer, 10.d4 Nbd7 11.Nbd2 Bb7 12.Bc2øeâ8\À•X6D00f Hodgson Attack: 2...g6ø^ÒÊøòa`E30 Nimzo-Indian: Leningrad, 4...c5 5.d5 d6 6.e3øVl…î5As\A16 English: Anglo-Grünfeld, Smyslov VariationøUa¿/òt½FB43m Sicilian: Kan, 5.Nc3 Qc7 6.Bd3øR¤ÆQPÚ*D08 QGD: Albin, 4.Nf3øM”mH:]XB13h Caro-Kann: Exchange, 4.Bd3 Nc6 5.c3 Nf6øIå¾å±Z`E18p Queen's Indian: 7.Nc3 Ne4 8.Bd2 f5 9.d5 Bf6øF„o8döDA56u Benoni: Czech, 5.e4 Be7 6.Bd3øDÜIULt>‚A67s Benoni: Four Pawns, Taimanov, 9.a4 O-O 10.Nf3 Na6 11.O-O Nc7ø>ÔÔo“wUHA42g Modern: Averbakh, Kotov, 5.Nge2ø:¿ØvÏHþFA25 English: Closed, Tröger Defenceø'ïÁLôV…ZC55v Two Knights: Max Lange, Krause Variationø'\Èá›ÓR@C20 Open Game: Portuguese GambitøÔk€àDA52j Budapest: Rubinstein, 4...Nc6øôÊDQ¦(FD28e QGA: Classical, 7.Qe2 b5 8.Bd3ø HL?ŽHE18m Queen's Indian: 7.Nc3 Ne4 8.Bd2ø ›Þ‘ ¸C44a Open Gameø…ùûkF†(D11g Slav: 3.Nf3 Nf6øë…eÀ”µ\E92k King's Indian: Gligoric-Taimanov, 7...Ng4ø®3ÿ–ûãVA45n Trompowsky: 2...e6 3.e4 h6 4.Bxf6 Qxf6ø i¾H)LJA31 English: Symmetrical, Two Knights÷÷.HvþÁ^D38d QGD: Ragozin, 5.Qa4+ Nc6 6.cxd5 exd5 7.Bg5÷ôA¯ÇN=WBC02p French: Advance, Euwe, 6.Be2÷é¬2ˆwÀÅPE83g King's Indian: Sämisch, Panno, 8.a3÷à*AÓËì 8D01c Richter-Veresov: 3...e6÷ÞÊDg%FA21 English: King's, 2.Nc3 d6 3.Nf3÷Ýâ¾ûàO¡6D11o Slav: Slav-Reti System÷ר«SÅ4D02u Queen's Pawn: 3.g3 g6÷Óµˆ.,AÌ^D35s QGD: Exchange, 5.Bg5 c6 6.e3 Be7 7.Bd3 Ne4÷ÓEta*A^D90 Grünfeld: Three Knights Exchange, 6.Bd2 O-O÷Ȣ˭Tí0C45b Scotch: 4.Nxd4 Nxd4÷ÈtÖûÔ"jD35v QGD: Exchange, 5.Bg5 c6 6.e3 Be7 7.Bd3 O-O 8.Nf3÷ÄPì …I^C99c Spanish: Closed, Chigorin, 13...Bd7 14.Nf1÷»ëáöÖ]…<D17h Slav: Central, 6.Ne5 Nbd7÷¹L$6oúé@B93e Sicilian: Najdorf, 6.f4 Qc7÷¬`?º•Z¤8D02d Queen's Pawn: 2.Nf3 Bf5÷ªø •|¥fE84e King's Indian: Sämisch, Panno Main Line, 9.Rb1÷¦Ú§´;F€4A03 Bird: Lasker Variation÷¤'ãÞRÊ^E38h Nimzo-Indian: Classical, 4...c5 5.dxc5 Nc6÷¢„†ÞÿRA03 Bird: 1...d5 2.Nf3 Nf6 3.g3 g6: 5.O-O÷‘=ÂkF¶ÌDC59a Two Knights: Morphy, 8.Be2 h6÷ƒÖçˆëÓ¿TE19a Queen's Indian: Old Main Line, 9.Qxc3÷~+m¸t?rB63f Sicilian: Richter-Rauzer, 7.Qd2 Qb6 8.Nb3 a6 9.O-O-O÷}©T«°eÆ|C15i French: Winawer, Müller-Zhuravlev Gambit, Kunin Variation÷}r(¾`‹«nD37q QGD: Classical, 5...O-O 6.e3 c5 7.dxc5 Bxc5 8.cxd5÷w±[ÕƒJE92o King's Indian: Petrosian, 7...c5÷v¬lV ·TB93n Sicilian: Najdorf, 6.f4 e5 7.Nf3 Nbd7÷v˜ÏJ‹Ž<E00r Catalan: 4.Nf3 Bb4+ 5.Bd2÷v.ÖEk]–@E11k Bogo-Indian: Vitolins, 6.g3÷oE˜¼wÁ`B33s Sicilian: Pelikan, Chelyabinsk, 9.Bxf6 gxf6÷mä ¬–ð2C67a Spanish: Open Berlin÷l×ä–uä,C55l Two Knights: 4.d4÷d§=Ú¾|öPC97f Spanish: Closed, Chigorin, 12...Re8÷c²}z› ¹RB25j Sicilian: Closed, 6.f4 e5 7.Nf3 Nge7÷ag¿‘:jC43d Russian Game: Modern Attack, 3...exd4, Main Line÷[—«Án¦~jE12f Queen's Indian: Petrosian, 4...c5 5.d5 Ba6 6.Qc2÷Võb;0ŽPA43m Old Benoni: 2.d5 Nf6 3.Nf3 g6 4.Nc3÷R õÖØoHC80b Spanish: Open, Knorre Variation÷HSôÚ×RC53 Giuoco Piano: LaBourdonnais Variation÷C@‘xKŽE66j King's Indian: Fianchetto, Yugoslav Panno, 9...a6 10.Qc2 Rb8 11.b3÷B MøNB43k Sicilian: Kan, 5.Nc3 Qc7 6.Be2 Nf6÷A³ÇÓõù;@C81 Spanish: Open, Keres, 10.Rd1÷A˜¬‹þ¢ßbC56a Two Knights: Classical, Nakhmanson Variation÷2êBªƒ\›^C73 Spanish: Modern Steinitz, Richter Variation÷-Í—$% 4pD18t Slav: Dutch, 8...O-O 9.Nh4 Nbd7 10.Nxf5 exf5 11.Qc2÷"s‘¸ ·BA45u Trompowsky: 2...Ne4 3.Bf4 d5÷¤èËefA38p English: Symmetrical, Main Line, 7.d3 d6 8.Bd2÷­Hȱþ¨6A24 English: Bremen, 3...g6÷±Œ+ƒHLC29t Vienna Gambit: Breyer, 6.Qe2 Nxc3÷_‚îôÅ«D37a QGD: 4.Nf3÷³8Œƒ¾ûlC33 KGA: Bishop's Gambit, Lopez-Gianutio Countergambitöü3Ͷµ3A43a Old Benoniöû½‘€ uBD03i Torre Attack: 3...e6 4.e3 c5öú#b6XaÞNE08j Catalan: Closed, 7.Qc2 c6 8.Bf4 b6öó3s;âÅ<A60c Benoni: 4.Nf3 exd5 5.cxd5öòk$x&ö$A84 Dutch: 2.c4 e6öí³í^ÁaA07 Reti: KIAö홥›˜xæZA31 English: Symmetrical, Two Knights, 4...b6öåW7ýäþMXD75 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O c5 8.Nc3ößxaçâƒdA14 English: Neo-Catalan Declined, 5...O-O 6.b3 b6öÞødÛ®¢—"D25c QGA: 4.e3 a6öÕ!;½îÕhC30e King's Gambit: Norwald Variation, Schubert lineöÒô×Îg½:C37 KGA: Ghulam-Kassim GambitöÌèr¢ÖévD76j Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.d5 Na5ö¿GÞó:ñMvE59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 11.Bb5ö¿/~;×­FXD51 QGD: Capablanca's Anti-Cambridge Springsö½ô}+.T½ŒB35q Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3 d6 9.f3ö½¼®`€FC05b French: Tarrasch, Closed, 4.e5ö»Ãü>îHC39 KGA: Allgaier, Blackburne Gambitö¦†tIøÄZB17g Caro-Kann: Steinitz, 5.Nf3 Ngf6 6.Ng3 e6öŸv‡ÉfþeXC78x Spanish: Archangelsk, Main Line, 10.Be3ö˜¦£9qåÁJA82 Dutch: Staunton Gambit, 4.f3 exf3ö˜G‡ÿpˆõ^C15t French: Winawer, Alekhine Gambit, 5.a3 Be7ö’:U"c GlA67i Benoni: Four Pawns, Taimanov, 9.Bd3 O-O 10.Nf3 a6ö‘ÚVPçSFB06t Modern: Pseudo-Austrian Attackö)Š;¯ëï2E01 Catalan: 4...c6 5.Qc2örCõ–Þ)PB00b Reversed Grob (Borg/Basman Defence)öfÅq­T.D34d QGD Tarrasch: 9.b3öa’rŸ<‚RHE44 Nimzo-Indian: Nimzowitsch, 5.Ne2ö^âöÝU“fE39f Nimzo-Indian: Classical, Pirc, 6.Nf3 Na6 7.Bd2öWžJ„Ð_@A34 English: Symmetrical, 2...g6öJs¤’gh¾ND77c Neo-Grünfeld, 6.O-O c5 7.dxc5 dxc4öH[x~ºÕND74 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nc6ö=Ðe“„ît`C28l Vienna: 3.Bc4 Nc6 4.d3 Bc5 5.f4 d6 6.Nf3 a6ö;ãnœ"vC83 Spanish: Open, Classical, 10.Nbd2 O-O 11.Bc2 f5 12.exf6ö8ŠÒÊA&"B00d Owen Defenceö39„L^ÕºPA16 English: Anglo-Indian, 2.Nc3 g6 3.g3ö2.z9.‚9.C55s Two Knights: 5.O-Oö-¸ 7R²tC39 KGA: Kieseritsky, Brentano Defence, Kaplanek Variationö,”Ò«% FE61p King's Indian: 4.Nf3 O-O 5.Bf4ö+C›DØ£Ç^A32 English: Symmetrical, Two Knights, 5.g3 Nc6ö&;kCëFC23 Bishop's Opening: 2...Bc5 3.Qe2õà6ܲâJA85 Dutch: 2.c4 Nf6 3.Nc3 e6 4.e3 Bb4õÞ[W<;›RB05c Alekhine: Modern, Alekhine VariationõÚ"44Õ»uLB02t Alekhine: Two Pawns Attack, 5.Nc3õØÛØÁèeº<D07s QGD: Chigorin, 3.Nc3 dxc4õÒë¾ù[`á6A65n Benoni: Sämisch, 8.Bg5õ΂õ¢Ê­6VC78v Spanish: Archangelsk, Main Line, 10.a4õÆùQÎ%øPA68i Benoni: Four Pawns, 9.Be2 Bg4 10.e5õÆôè…)ŽhC67s Spanish: Open Berlin, 5.d4 Nd6 Queenswap, 9.Nc3õÄŸY©áëw:A45m Trompowsky: 2...e6 3.Nd2õ¾4èϸq>A00m Van Geet: 1...d5 2.e4 dxe4õ½á]]³LD36b QGD: Exchange, 5.Bg5 c6 6.Qc2 Na6õ»¼3¢öXA46j Indian: 1.d4 Nf6 2.Nf3 e6 3.c3 b6 4.Bg5õ¸ïIÐ9‹^D23t QGA: Mannheim, Main Line, 10.e3 Ne4 11.Qe2õ¸\[½[`ÎBD41c QGD: Semi-Tarrasch, 6.g3 Nc6õ±‡‚¨°úupC44w Scotch: Goring Gambit, 4...dxc3 5.Nxc3 Bb4 6.Bc4 d6õ±a¾I´jVD35o QGD: Exchange, 5.Bg5 c6 6.e3 Be7 7.Nf3õ®ÅÿÑ)–E18w Queen's Indian: 7.Nc3 Ne4 8.Nxe4 Bxe4 9.Ne1 Bxg2 10.Nxg2 d5 11.Qa4 Qd7õªO[pëÜ¢FD00e Queen's Pawn: Stonewall AttackõªH&)¥8A13d English: 1...e6 2.g3 d5õ ½ðXXB00u Nimzowitsch Defence: Bielefelder GambitõŸV¡sSTÑNE17q Queen's Indian: 6.O-O O-O 7.Re1 d5õ†Bì‘ri:E10b Neo-Indian: Döry Defenceõâ’ õV4E10c Neo-Indian: 3.Nf3 Be7õvwØ mtžPE12l Queen's Indian: Petrosian, 5.Nc3 g6õ_”½¹tU.A45p Trompowsky: 2...c5õZ±Ñ]MÉï<C79 Spanish: Steinitz DeferredõW˜ ’\£˜LE61q King's Indian: 4.Nf3 O-O 5.Bf4 d6õR¹ z¾AtXE72 King's Indian: 4.e4 d6 5.g3 O-O 6.Bg2 c5õLU!Õ\&A25 English: ClosedõK’c¡bXxDD71 Neo-Grünfeld, 5.cxd5 Nxd5 6.e4õI"ˆk­4C55t Two Knights: 5.O-O d6õHDTÖög9dB73 Sicilian: Dragon, Classical, Richter VariationõGÛ<¡‡¬Û@C78t Spanish: Archangelsk, 7.Re1õGKG ³ÇvB44u Sicilian, Taimanov, Szen, 7.N1c3 a6 8.Na3 Be7 9.Be2 b6õ=Ýî2‹ªXD46r Semi-Slav: Chigorin, Main Line, 10...h6õ<6Yç¬-”ND47c Semi-Slav: Meran, Freymann, 8...b4õ4ÐE—›~PC91c Spanish: Closed, Bogoljubow, 10.Be3õ,íQûó\s0C37 KGA: Sörensen Gambitõ'Ž˜#)ÒbDA41e Neo-Old Indian / Modern: 3.g3õ"[.Á@wzB22h Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nc6 5.Nf3 cxd4õyW\¼20E60e King's Indian: 3.g3õY§sé6ÜhA68l Benoni: Four Pawns, 9.Be2 Bg4 10.O-O Nbd7 11.h3õpYŠ8…“0D23b QGA: 3.Nf3 Nf6 4.g3õ >¿±i ñ˜B39l Sicilian: Maroczy Bind, Breyer, 8.Qxg4 Nxd4 9.Qd1 Ne6 10.Rc1 Qa5 11.Qd2õI¤­ÜK,C37 KGA: Salvio Gambitõ g‰I²*C38 KGA: Greco Gambitôþ‹[°*¹HD97n Grünfeld: Russian, Prins, 8.Bf4ôøÚ±®U+ZE19b Queen's Indian: Old Main Line, 9.Qxc3 d6ôð0m¢šÐfD36u QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O Nf8ô賸k`‚@HA21 English: King's, Keres Variationôä†6GöQÕbE62p King's Indian: Fianchetto, Spassky VariationôÉäiF¤vC81 Spanish: Open, Keres, 10.Rd1 O-O 11.c4 bxc4 12.Bxc4 Bc5ôÅüó´’ÝFnA59o Benko Gambit: 7.e4, Main Line, 11...Nbd7 12.h3 Ra6ô°K¦èõ‚6D17e Slav: Czech, 6.Nh4 Bc8ô¯š®=FóTC57b Two Knights: Traxler, 5.Nxf7 & 6.Kxf2ô¥iÀÇÜ‚D58o QGD: Tartakower, 8.Be2 Bb7 9.Bxf6 Bxf6 10.cxd5 exd5 11.b4 c6ôœmÿ§þ+lvB00r Nimzowitsch Defence: 2.Nf3 d6 3.d4 Nf6 4.Nc3 Bg4 5.Be2ô›ÚÈãÁŒRC89p Spanish: Marshall, Main Line, 15.Be3ô˜|¢#åKJD81 Grünfeld: Early Russian VariationôèæÖú¼n@B01a Scandinavian: Böhnke GambitôwˆxRìårB93s Sicilian: Najdorf, 6.f4 e5 7.Nf3 Nbd7 8.a4 Be7 9.Bd3ôrd3ì_0TD55j QGD: Neo-Orthodox, Gligoric Variationômö°8gÆÅBE24 Nimzo-Indian: Sämisch, 5...c5ôjÈ¢yú2C26b Vienna: 2...Nf6 3.d3ôjºÎÜ-Ò3pB27q Sicilian: Accelerated Pterodactyl, 4.dxc5 Qa5+ 5.c3ô`º ¬²ÕTB47l Sicilian: Taimanov, 6.g3 a6 7.Bg2 Nf6ô`[sW‚²4D14h Slav: Exchange, 8.Bd3ôVIš¸(A53 Old Indian: 3.g3ôAÛ”¹Å'wpC47t Four Knights: Scotch, Main Line, 7...d5 8.exd5 cxd5ô?ê@ÌΨ‘XC88l Spanish: Closed, Anti-Marshall 8.a4 Bb7ô+aÛŒXñ\B52i Sicilian: 3.Bb5+, Sokolsky, 5...Nc6 6.O-Oô P˜qŸ£ FC56d Two Knights: Classical, 7.Bxd5ô Ôê7ð³JB42k Sicilian: Kan, Gipslis Variationô«rÿ@HD14k Slav: Exchange, 8.Bd3 Main Lineóóu3Š,4A53 Old Indian: 3.Nc3 Nbd7óïÊ“zX½"LA59b Benko Gambit: 7.e4 Bxf1 8.Kxf1 g6óá’Ò‰x÷Ú>C60k Spanish: Fianchetto, 4.O-OóÔq1ÍO‚:A61 Benoni: Uhlmann VariationóÓ °<²hŽD85s Grünfeld: Modern Exchange, 8.Rb1, 10...Qa5+ 11.Bd2 Qxa2 12.O-O Bg4óÊ$¯w>ôlA67r Benoni: Four Pawns, Taimanov, 9.a4 O-O 10.Nf3 Na6óɸ÷¼›ëjB21x Sicilian: Smith-Morra, 4.Nxc3 Nc6 5.Nf3 e6 6.Bc4óÇíå¢EÍ)LC68n Spanish: Exchange, 5.O-O Bg4 6.h3óÁ²Öf¡RdA03 Bird: 1...d5 2.Nf3 Nf6 3.g3 g6: 5.O-O O-O 6.d3óÀWhÛ(V|A77 Benoni: Classical, Main Line, 10.Nd2 Nbd7 11.a4 Ne5 12.Re1ó¾ ÒÍUVE92s King's Indian: Petrosian, Stein, 8.Bg5ó¸1¡]¹ì\C85i Spanish: Closed, Exchange, 7.Qe1 Nd7 8.b3ó¸¡B ípNC07g French: Tarrasch, Open, 4.Ngf3 Nc6óµy°Lá*ZE95i King's Indian: 7.O-O Nbd7 8.Re1 c6 9.Rb1ó¯2…}×ÇÅ4B08f Pirc: Classical, 5.a4ó¨^Dî9tHA30c English: Symmetrical, 2.Nf3 Nf6ó§Ïó<ª¨µ&C44r Scotch OpeningóŠåL=ÃjDC20 Open Game: Portuguese, 2...Nf6ó‡ ‰³z‚B39j Sicilian: Maroczy Bind, Breyer, 8.Qxg4 Nxd4 9.Qd1 Ne6 10.Rc1óƒ\¤³ÍÄ tD99d Grünfeld: Russian, Smyslov, Main Line, 9...Nb6 10.Rd1ótʦìiZD48f Semi-Slav: Meran, 8...a6 9.O-O Bb7 10.e4ón,ƒÜzdêdD36t QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O h6óiôò±t0D26b QGA: 4.e3 e6 5.Bxc4ógPPT÷:t$B20 Sicilian: 2.d3ógœc¹ÖBD56 QGD: Lasker Defence, 9.Rc1 c6óf@¯"Ž­JD36k QGD: Exchange, Main Line, 9.Nge2óaõÅX>Ù]>A36a English: Symmetrical, 3.g3ó\Õ * ¸Ñ:C26e Vienna: Smyslov, 3...Bc5óVÅ6ô ¤xB78h Sicilian: Dragon, Yugoslav, Main Line, 12.h4 Nc4: 14.g4ó?v¦›³*A54 Old Indian: 4.Nf3ó4ZÔ½Õ”ÁZC00e French: Steiner (Anglo-French) Variationó2xÚ6»`B47v Sicilian: Taimanov, 6.Be2 a6 7.O-O Nf6 8.a3ó1EÅJÑ ºXC12e French: MacCutcheon, Chigorin Variationó+'Î>‹–BA46t Torre Attack: 3...c5 4.c3 h6ó)Y¢Nõ=tD67 QGD: Orthodox, Main Line, Capablanca Freeing Manoevureó'à« \ËHB82 Sicilian: Scheveningen, 6.f4 Nc6ó ÿ¨w¦DB27c Sicilian: Quinteros Variationó ç`˜ýPE97e King's Indian: Mar del Plata, 9.Bd2ó %Ÿé½=çjC45y Scotch: 4.Nxd4 Bc5 5.Be3 Qf6 6.c3 Nge7 7.Bc4 Ne5ó R;KVC44j Ponziani Countergambit, Schmidt Attackó4ª4  ¿zD75 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O c5 8.Nc3 Nxc3 9.bxc3 cxd4òþíqáWàÇDD18b Slav: Dutch, Lasker Variationòõ_ƦG]!BA56s Benoni: Czech, 5.e4 Be7 6.g3òõZ ¸«EHE73j King's Indian: Averbakh, 6...c6òò?®Ü¶V ^E49 Nimzo-Indian: Botvinnik, 7...c5 8.cxd5 exd5òèç$ö,àJD54a QGD: Anti-Neo-Orthodox VariationòæºzæMjDB43h Sicilian: Kan, 5.Nc3 Qc7 6.g3òåF@ruÕfD34u QGD Tarrasch: 9.Bg5 cxd4 10.Nxd4 h6 11.Be3 Re8òàáÖæÐDFC65g Spanish: Berlin, Mortimer Trapò߬‹÷xFÞ~E99 King's Indian: Mar del Plata, Benko Attack, 11...Nf6 12.Nd3òÕ^”SR2A46x Torre Attack: 3...h6òÄEÿÓBA58h Benko Gambit: Accepted, 7.g3òÃ&bRý%µA07 Reti: KIAò¿[A_ಎB11n Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 e6 6.d3 Nf6 7.Bd2ò»6ÜÔzB96v Sicilian: Najdorf, Polugaevsky, 10.Qe2 Nfd7 11.O-O-O Bb7òº³ø<¡ VC42q Russian Game: Classical, Marshall Trapò¶"¨xíÒÇZA31 English: Symmetrical, Two Knights, 3...g6ò«&Ñ×JfD58l QGD: Tartakower, 8.Be2 Bb7 9.Bxf6 Bxf6 10.cxd5ò•ÂãØVyõ(A56i Benoni: 3.d5 d6òŒ©ß{³I,`B10v Caro-Kann: Two Knights, 3...dxe4 4.Nxe4 Nf6òÕ,zè<A45u Trompowsky: 2...Ne4 3.Bf4òiøQXòfC29l Vienna Gambit: Paulsen Attack, Heyde VariationòhÆÜj–>B51m Sicilian: 3.Bb5+ Nc6 4.O-Oòd‰Ø ¼™TC01p French: Exchange, 4.Nf3 Bd6 5.Bd3 Nf6ò_A“æ¼Äl^B54k Sicilian: Prins (Moscow), 5...Nc6 6.c4 Qb6òYØ¿\, ®XA52l Budapest: Rubinstein, Main Line, 6.Nbd2òV'úPíýVA34 English: Symmetrical, Rubinstein SystemòQy+"¯ášHA95 Dutch: Stonewall, 7.Nc3 c6 8.Ne5òO»ßîðZVB99m Sicilian: Najdorf, Main Line, 10.g4 h6òLR!5dE69c King's Indian: Fianchetto, Classical, 9.h3 a6òBóÁ]ÒhA32 English: Symmetrical, Two Knights, 5.Nc3 a6 6.g3ò?ËËÖÔ«>`D67 QGD: Orthodox, Main Line, Janowski Variationò7žTVù“GhB17u Caro-Kann: Steinitz, 5.Bc4 Ngf6 6.Ng5, 8.Bd3 h6ò6>Í«¬ïjE15o Queen's Indian: Nimzowitsch, 5.b3 Bb4+ 6.Bd2 Be7ò,ºTp.:/^E67g King's Indian: Fianchetto, Classical, 8.b3ò)7 ïª¥WnD19e Slav: Dutch, 8...O-O 9.Qe2 Bg6 10.Ne5 Nbd7, 12.Rd1ò(Äc¹gï4>D05c Colle: Zukertort Variationò(§ªîãÚ<A60h Benoni: 4.Nc3 exd5 5.Nxd5ò'Ç=`õR*JD69 QGD: Orthodox, Classical, 13.dxe5ò»Î•q’'PD00j Trompowsky: 2...d5 3.Bxf6 gxf6 4.e3ò@ôÅŽ5Ñ<C96a Spanish: Closed, Chigorinò h!ËDBB33d Sicilian: Pelikan/Sveshnikovò ½4&{\:A45j Trompowsky 2...d6 3.Bxf6ò¶C+CX\C93 Spanish: Closed, Smyslov, 10.d4 Re8 11.Be3ñðÌ»vI 2A09l Reti: Accepted, 3.g3ñîÎáÿa"A56f Benoni: 3.d5ñî¯{Oj0DD48b Semi-Slav: Meran, 8...a6 9.a4ñìà˜û&ZD43k Semi-Slav: Moscow, 6.Bh4 Gambit Acceptedñç¼¥s®ÖlfA37m English: Symmetrical, 5.Nf3 e6 6.O-O Nge7 7.e3ñ㘠úÐ.A54 Old Indian: 5.g3 c6ñÙÞ¸ù^A88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.Qc2ñÒ9ž•f‘1>A43s Old Benoni: Schmidt, 3.Nf3ñΈAc4Ø6D25d QGA: Smyslov VariationñÃ=FªÆˆhE12s Queen's Indian: Petrosian, 6.cxd5 Nxd5 7.e3 Be7ñ¸’f`º ŠB92m Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O O-O 9.Be3 Be6 10.Nd5ñµ€ çó(`B77h Sicilian: Dragon, Yugoslav, 9.Bc4 Bd7 10.g4ñ¬hŽ+ kœ~C10w French: Rubinstein, 4...Bd7 5.Nf3 Bc6 6.Bd3 Nd7 7.O-O Ngf6ñ©•R¦™ò×<E06 Catalan: Closed, 5.Nf3 O-Oñ¡UÒÙ<¤¦NE90l King's Indian: 5.Nf3 O-O 6.h3 Nbd7ñœLþãktGZA57n Benko Gambit: 4.cxb5 a6 5.e3 g6 6.Nc3 d6ñ“­9‚Ž>&A25 English: Closedñ‘a´fÊ_8A20 English: King's, 2.g3 d6ñ3­Ô¾jC48e Four Knights: Spanish, Classical Defence, 5.Nxe5ñnè·‡$NB32m Sicilian: Lowenthal, 5...a6, 8.Qd1ñŒ³õ»UŽoXA33q English: Symmetrical, Geller, 7.Nb3 Ne5ñ„ØÅ‚"dB44e Sicilian: Taimanov, 5.c4 Nf6 6.Nc3 Bb4 7.Nxc6ñw¥±F6]{LD13s Slav: Exchange, 6.Bf4 e6 7.e3 Bd6ñsƒÄ:d3rB08u Pirc: Classical, 5.Be2 O-O 6.O-O Bg4 7.Be3 Nc6 8.Qd2ñrtŸCïÀКB34s Sicilian: Accelerated Fianchetto, Modern, 6.Be3 Nf6 7.Nxc6 bxc6 8.e5 Ng8ño<« zVD85c Grünfeld: Exchange, 5.Bd2 Bg7 6.e4 Nb6ñiNñÆ^LA66 Benoni: Four Pawns, Mikenas Attackñc˜†YŒFD52b QGD: Cambridge Springs Defenceñ_ˆ 3°té<D00t Blackmar-Diemer: 3...dxe4ñ]º,XtócDC44x Scotch Gambit: London DefenceñYÑM‡rŒ\B44r Sicilian, Taimanov, Szen, 7.N1c3 a6 8.Na3ñQ„x]Q.dE12n Queen's Indian: Petrosian, 5.Nc3 d5 6.Bg5 Be7ñQB1x‡ ZC93 Spanish: Closed, Smyslov, 10.d4 Re8 11.a4ñPÔä2nLA26 English: Botvinnik System, 6...Nf6ñN)uR>!8C70 Spanish: Alapin DeferredñKôrïå=$E01 Catalan: 4.Bg2ñK%ei·bC14h French: Classical, Steinitz, 7...a6 8.Nf3 c5ñHšC…÷Τ4D11e Slav: 3.Nf3 dxc4 4.e3ñ68Ï€€JC92o Spanish: Closed, Zaitsev, 12.Bc2ñ6%¡d±4D.D24b QGA: 4.Nc3 e6 5.e4ñ3…°íEHLD32o QGD Tarrasch: 5.Nf3 Nc6 6.Bf4 Nf6ñ-{ )tGù&D06a Queen's Gambitñ(uÅtžKHA57s Benko Gambit: Zaitsev, 5...axb5ñø­«LŸbA39f English: Symmetrical, Main Line 7.d4, 8...a6ñÆÕÆã|C76 Spanish: Modern Steinitz, Bronstein, 7.O-O Bg7 8.dxe5 Nxe5ñ©Ù³OtA00i Saragossañ |S¡ZHE05b Catalan: Open, Classical, 6.Nc3ñ ,‹ÜÁI€xB90u Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.f3 Be7 9.Qd2 b5ñöIº>uµXE84a King's Indian: Sämisch, Panno Main LineñÓKù>¯TPC44g Open Game: Inverted Philidor, 4.Be2ðþÆ÷{”–6B08h Pirc: Classical, 5.Be3ðòv¢+ÊõdC57a Two Knights: Traxler (Wilkes-Barre) VariationðᆠüÖý^C64u Spanish: Classical, 6.c3 Bb6 7.d4 c6 8.Ba4ðÜQ9/Ž[¸8A20 English: King's, 2.g3 g6ðÛ ß 8}çdA79 Benoni: Classical, Main Line, 10.Nd2 Na6 11.f3ðÍ¥%"®aVA23 English: Bremen, Keres, 4.Bg2 d5 5.cxd5ðÂEô³™þjC79 Spanish: Steinitz Deferred, Boleslavsky Variation𻾟ªªn^E14g Queen's Indian: 4.e3 Bb7 5.Bd3 Bb4+ 6.Nbd2ð¹Ú myŒxD21q QGA: 3.Nf3 c5 4.d5 e6 5.Nc3 exd5 6.Qxd5 Qxd5 7.Nxd5 Bd6ð·_$åïOFE18g Queen's Indian: 7.Nc3 d5 8.Ne5ð²´…Þm„ZB21y Sicilian: Smith-Morra, 5.Nf3 d6 6.Bc4 e6ð²_nÅæŒ@<A11 English: Caro-Kann Defenceð¬ïC’s«q6A16 English: Anglo-Grünfeldð§ªoKlOfHB58a Sicilian: Boleslavsky Variationð‹÷–PUA05 Reti: KIAð€±zˆÒ`A41s Neo-Old Indian: Modern, Rossolimo Variationð_^&‘Ü£Ä8A04 Reti: Lisitsin: 3.Ng5 d5ðQ‹ð¥öÏvB45l Sicilian: Taimanov, Four Knights, 6.Nxc6 bxc6 7.e5 Nd5ðHöŸD•–E87n King's Indian: Sämisch, Orthodox, 7.d5 Nh5 8.Qd2 f5 9.O-O-O Nd7 10.Bd3ðG>XTK=tE11v Bogo-Indian: Nimzowitsch, 5.g3 Nc6 Main Line, 8...O-Oð>Sg¯‡C8A41m Neo-Old Indian: 2.c4 e5ð=-ú‹‰a!RC59c Two Knights: Morphy, Main Line 9.Nf3ð<ðÄ_%ŽHE17p Queen's Indian: 6.O-O O-O 7.Re1ð;Oî«•¼ÏJD00q Queen's Pawn: Anti-King's Indianð8Ÿƒ¼îN*`E59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4ð1~žˆMÂÿ<A08 Reti: KIA, 2...c5 + 3...g6ð'xQr2£Ÿ`D36m QGD: Exchange, Main Line, 9.Nge2 Re8 10.O-Oð'l¾Õ˜N\E22 Nimzo-Indian: Spielmann, 4...c5 5.dxc5 Na6ð#a=!•\C32 KGD: Falkbeer, 5.dxe4 Nxe4 6.Nf3 Bc5 7.Qe2ð -þÛ\=bC21 Centre Game: Maroczy Defence, Philidor GambitðÅ~ãUèNA87 Dutch: Leningrad, Main Line, 6...c6ð£\K‘]rB31l Sicilian: Rossolimo, 3...g6 4.O-O Bg7 5.Re1 Nf6 6.c3ðd "ã—dE84k King's Indian: Sämisch, Panno Main Line, 9.h4ðøÉŸã_YJD06c QGD: Austrian, Rubinstein, 4.Nf3ðúb÷dgêZD61 QGD: Orthodox, Rubinstein, 7.Qc2 c6 8.Rd1ð£)l®»BRA29 English: Four Knights, 4.g3 Bb4 5.Bg2ð É\Zä£>A08 Reti: KIA, French Variationïÿ™ºk‚‚“dC84n Spanish: Closed, Centre Attack, 7.Re1 b5 8.e5ïÿj×´Âú>D10t Slav: 3.Nc3 Nf6 4.Bg5 dxc4ïø¿¶˜?‘$@A15 English: Anglo-Indian, 2.Nf3ïö„’ªýZE95j King's Indian: 7.O-O Nbd7 8.Re1 c6 9.Bf1ïõ0]+ÿïP`E14n Queen's Indian: 4.e3 Bb7 5.Bd3 d5 6.O-O Bd6ïó>&›JA57g Benko Gambit: 4.Nf3 g6 5.cxb5 a6ïèãSÉqE LC03o French: Tarrasch, Guimard, 4.Ngf3ïÌdÉ{Ÿ‹JLD74 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O c6ïË»íe@•@B15f Caro-Kann: Gurgenidze: 4.e5ïÉ@{5tx›^C06d French: Tarrasch, Closed, Leningrad, 9.O-OïÅ•Ír±ƒND97e Grünfeld: Russian, Alekhine, 8.Be2ïĵi«ò€HC42p Russian Game: Classical, 5...d5ï¾|!·Ð@_<E91q King's Indian: 6.Be2 Nbd7ï¤RÞîJF®rC98h Spanish: Closed, Chigorin, 12...Nc6 13.d5 Nd8 14.Nf1ï¢\‚9×'6A56c Benoni: 2...c5 3.e3 g6ï¡ßtžµìÿTA82 Dutch: Staunton Gambit, Balogh Defenceï¾¶à›®ovC19o French: Winawer, 6...Ne7 7.Nf3 Nbc6 8.a4 Qa5 9.Qd2 Bd7ïœxP±ZÁ>A30a English: Symmetrical, 2.g3ï—±£açbA40c Queen's Pawn: Polish Defence, Spassky Gambit 7©–S,A05 Reti: KIA, SpasskyïŠ'æ?÷ÔÓHA12 English: Caro-Kann Defence, 3.b3ï‰fÄÎNC42d Russian-Three Knights Game, 4.Nxe5ï‚:÷w >D90 Grünfeld: Schlechter, 5.Qb3ïp#]Âz¯ XC30j KGD: Classical, Senechaud Countergambitïo׺ˆ$/4A45a Indian: Gedult Attackïió¤¢dí)0D31o Semi-Slav: 4.e3 Nf6ïi§Ö†à \A28 English: Four Knights, Nenarokov Variationïi#Ô>6HD18r Slav: Dutch, 8...O-O 9.Nh4 Nbd7ïh“0iUÛd4C25f Vienna: 2...Bc5 3.Nf3ïe‹¥ŒuäÿHA90 Dutch: 2.c4 Nf6 3.g3 e6 4.Nf3 d5ïU³ùaºèNA35g English: Symmetrical, Four KnightsïRŠ‘ ¾¨ë^E92u King's Indian: Petrosian, Stein, Main LineïNµ­:F5<E08b Catalan: Closed, 7.Qc2 c5ïMdƒb?”~2A03 Bird: 1...d5 2.Nf3 g6ïL~MíNQBC02c French: Advance, Wing GambitïK+y9&iXE98h King's Indian: Mar del Plata, 9.Ne1 Nd7ïHõLb™VA83l Dutch: Staunton Gambit, 4.Bg5 Nc6 5.d5ïF¢-1”–î\E56 Nimzo-Indian: Main Line, 7...Nc6 8.a3 cxd4ï%ü”ã´HD83 Grünfeld: Grünfeld Gambit, 6.Qb3ïôôˆÇUÈ\C67m Spanish: Open Berlin, Showalter VariationïÔ¾ë<A52e Budapest: Adler VariationïåçUÂJ˜FB06s Modern: Pseudo-Austrian Attackï/5CÞ~]A05 Reti: KIAïûÐÉÈ3NHC32 KGD: Falkbeer, 5.dxe4 Nxe4 6.Be3îîPã…”ÏGTD66 QGD: Orthodox, Main Line, 8...h6 9.Bh4îê=b)}¹©NC52 Evans Gambit: 5...Ba5 6.O-O d6 7.d4î׬0{2€D65 QGD: Orthodox, Rubinstein, 9.cxd5 exd5 10.Bd3 Re8 11.O-O Nf8îÌVø[*ÿà@E11g Bogo-Indian: 4.Bd2 Be7 5.g3î»ãBg7Þ<A90 Dutch: Dutch-Indian, 5.Nc3œ%€«ŸVB56i Sicilian: Open, 2...d6, 5.Nc3 Nc6 6.h3î·"Š„CN B07h Pirc: 3.Bd3î³À¨p~5DC63a Spanish: Schliemann (Jänisch)î³ô™ãsjB48s Sicilian: Taimanov, 6.Be3 a6 7.Bd3 Nf6 8.O-O Ne5î¯Q÷Ë!DC80k Spanish: Open, Harksen Gambitî®9ïIfóqJE46 Nimzo-Indian: Reshevsky VariationîœÕ ”ÁÝHD46g Semi-Slav: Chigorin, 7.Qc2 dxc4îœ õ]úqjD77i Neo-Grünfeld, 6.O-O dxc4 7.Na3 c3 8.bxc3 c5 9.e3î•…ªKºè|PD48o Semi-Slav: Meran, Reynolds, 10...c4î”=÷^V€“ZD31u Semi-Slav: Noteboom, Abrahams, Main Lineî1à_äEHC80e Spanish: Open, 6.Re1 Nc5 7.Bxc6§|%5S\C42x Russian Game: Classical, Krause Variation3/u¤?^B31h Sicilian: Rossolimo, 3...g6 4.O-O Bg7 5.c3îˆÖaæòKNB03n Alekhine: Four Pawns Attack, 7.Be3îC&u+ƒå<D31e QGD: Alatortsev, ExchangeîuǾqR>eDE91p King's Indian: 6.Be2 Nc6 7.d5îrm]ØmÎLE24 Nimzo-Indian: Sämisch, 5...d5 6.f3îq¯ÊÈ £«>D15k Slav: Chameleon, 5.c5 Nbd7îp#ÖxœÒˆB90j Sicilian: Najdorf, 6.Be3 Ng4 7.Bg5 h6 8.Bh4 g5 9.Bg3 Bg7 10.Be2îlQÍnûã]nA44k Old Benoni: Czech, 3.c4 d6 4.e4 g6 5.Nc3 Bg7 6.Bd3îlH€é/LA64 Benoni: Fianchetto, 11...Re8 12.a5î\îý)ú¥©FD02i Queen's Pawn: 2.Nf3 e6 3.g3 c5îW7|®$'§tC08e French: Tarrasch, Open, 4.exd5 exd5 5.Bb5+ Bd7 6.Qe2+îQ¨J#XfC45t Scotch: 4.Nxd4 Bc5 5.Nxc6 Qf6 6.Qd2 dxc6 7.Nc3îPÉùÛ£ø VB48m Sicilian: Taimanov, 6.Be3 a6 7.Bd3 Nf6î2ËUARblA37v English: Symmetrical, 5.Nf3 e5 6.O-O d6 7.d3 Nge7î(ްr *Ž|C93 Spanish: Closed, Smyslov, 12.Nf1 Bb7 13.Ng3 Na5 14.Bc2 Nc4îÆÄtGBXLB01w Scandinavian: Marshall, 4.Nf3 Bg4îg¢MÞ¦%ND32c QGD Tarrasch: 4.Nf3 cxd4 5.Nxd4 e5gÍ,A48d Neo-King's IndianîÛ tÞß8B93a Sicilian: Najdorf, 6.f4îù­wä¥^zE81p King's Indian: Sämisch, 5...O-O 6.Be3 c5 7.Nge2 Nc6 8.d5îB9ŽA29 English: Four Knights, 4.g3 d5 5.cxd5 Nxd5 6.Bg2 Nb6 7.O-O Be7 8.d3îC¬„5µeBB12p Caro-Kann: Advance, 4.Nf3 e6î¶vp—m2D16f Slav: Smyslov, 6.Ne5î¶™ÎS58A45k Trompowsky 2...g6 3.Nc3î‰>{~ø8B28f Sicilian: O'Kelly, 3.c4x6P>D45u Semi-Slav: 6.Qc2 Bd6 7.Bd2íò  e)B26D11m Slav: Slav-Reti Systemíär˜©î†ÂXB94j Sicilian: Najdorf, 6.Bg5 Nbd7 7.Bc4 Qa5íãGŒ´ðAklB66g Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Bf4íÜ͘$Bƒ:D35i QGD: Exchange, 5.Bg5 Be7íת’–‚ö0A10 English: Anglo-DutchíÔ¸ ïÝÆhB76r Sicilian: Dragon, Yugoslav, 9.O-O-O d5: 12.Nxd5íÑòÛÙ¯­RA52d Budapest: Alekhine, Abonyi VariationíÏ#½nàÊž‚A14 English: Neo-Catalan Declined, 5...O-O 6.b3 b6 7.Bb2 Bb7 8.e3íɊźQS‹BB01b Scandinavian: 2...Qxd5 3.Nf3íÇvZúïüJA17 English: Nimzo-English, 4.Qc2 O-Oí¿§a¶<E20 Nimzo-Indian: 4.f3 (Kmoch)í½é=ÑgCXD50 QGD: Semi-Tarrasch, Pillsbury, 6.Nxd4 e5í¸S¼U/«|D25r QGA: Janowski-Larsen, 6.h3 Bh5 7.Nc3 Nbd7 8.O-O Bd6 9.Be2í¶•Q©¤î <A00o Grob Gambit: Hurst Attackí°ä>G-5ÉhB31k Sicilian: Rossolimo, 3...g6 4.O-O Bg7 5.Re1 Nf6í®¤$m(vC16i French: Winawer, Petrosian, 5.a3 Bxc3+ 6.bxc3 b6 7.Qg4íªõ"«¶£©BB15j Caro-Kann: Gurgenidze: 4.Nf3í©Ö¢M.ïÂ$A00c Kadas Openingí¨·\Œ7›vhE88b King's Indian: Sämisch, Orthodox, 7.d5 c6 8.Qd2íŠÂÚîæš~C69g Spanish: Exchange, Gligoric, 6.d4 Bg4 Queenswap, 9.Rd3 Bd6í{b«x•3.:C40h Elephant Gambit: MaroczyízêY§f6C34 KGA: Fischer, Main Lineín@„н‹8A20 English: King's, 2.g3 g6ílŒ nEÜ‹&A25 English: Closedík£èÊ%E:xC19q French: Winawer, 6...Ne7 7.Nf3 Nbc6 8.a4 Qa5+ 9.Bd2 Bd7íiÅ}Ϊ7‰PD53n QGD: 4.Bg5 Be7 5.Nf3 O-O 6.Qc2 Nbd7íbÅR”Õê^B62c Sicilian: Richter-Rauzer, 6...e6 7.Be2 Be7í`¹‡BÓZE62f King's Indian: Fianchetto, Larsen Systemí\XßĶäTB42b Sicilian: Kan, Swiss Cheese VariationíP~ãgÀX&A51b Budapest: 3.e3íI 9lÔöfA37y English: Symmetrical, 5.Nf3 e5 6.O-O Nge7 7.d3íE‚Ø_£ BA57t Benko Gambit: Zaitsev, 8.Nf3íAÒÒPVøDB15t Caro-Kann: 4.Nxe4 Nf6 5.Nxf6+í=íZ#1ATA13v English: Neo-Catalan Accepted, 5.Qa4+í7béØˆ8RD39h QGD: Ragozin, Vienna, 6.e4 c5 7.Bxc4í2&7ª3ëÿFA22 English: Bremen, Reverse Dragoní/潆²U˜<A45q Trompowsky: 2...c5 3.Bxf6í"{Óç"KôdB78e Sicilian: Dragon, Yugoslav, Main Line, 12.Kb1íõ‚cHA96 Dutch: Classical, 7.Nc3 a5 8.Re1í½]Û’Ë’B97p Sicilian: Najdorf, Poisoned Pawn, 10.e5 dxe5 11.fxe5 Nfd7 12.Bc4 Bb4ìÿ.+[Ø9^C92i Spanish: Closed, Zaitsev (Flohr) Variationìý}ôî“Ã*A03 Bird: 1...d5 2.g3ìûVò(û<A90 Dutch: Dutch-Indian, 5.Bd2ì÷GæëW ÄZB08q Pirc: Classical, 5.Be2 O-O 6.O-O c6 7.h3ìôkº@ïÐÀHB36c Sicilian: Maroczy Bind, 5...Nf6ìêsõdTO¼^E71h King's Indian: Makagonov, 5...O-O 6.Bg5 c6ìéÐ+¸©PE08h Catalan: Closed, 7.Qc2 c6 8.Bf4 Nh5ì娰½UDA36e English: Symmetrical, 3.g3 g6ìâb%”zS>D95h Grünfeld: Botvinnik, 7.Bd2ìâbŸExÆJC00c French: La Bourdonnais Variationìßz‘Œ™PC90l Spanish: Closed, Pilnik, 12.Nf1 Nc6ìÞX6‹óLB13p Caro-Kann: Panov-Botvinnik, 5.Nc3ìÚÓÒz¾N@B94c Sicilian: Najdorf, 6.Bg5 e5ìÏÈ¿cYFC52 Evans Gambit: 5...Ba5 6.d4 exd4ìÌATJÖäâPA22 English: Bremen, Smyslov, 4.Bg2 Bxc3ìÅjv+ZB45k Sicilian: Taimanov, Four Knights, 6.Nxc6ì¿DËÕyà&A00a Start positionì»·vÔTÙl&B07c Pirc: 2.f4 Nf6ìº9âPL¸îbD25o QGA: Janowski-Larsen, 6.h3 Bh5 7.Nc3 a6 8.g4ì³Y”ò |ƒ†C06o French: Tarrasch, Closed, 8...f6 9.exf6 Nxf6 10.O-O Bd6 11.Nf3ì§ï`硲NC27e Vienna: 3.Bc4 Nxe4 4.Qh5 Nd6 5.Bb3쓣ؿ#JZE83j King's Indian: Sämisch, Panno, 8.Qd2 Re8순ÍsxC18s French: Winawer, Poisoned Pawn, Euwe-Gligoric Variationì†7d»5šâ&D12a Slav: 4.e3 Bf5ìg<÷4fŠ8D11n Slav: Slav-Reti with b3ì\äiÄÍ;q*D10o Slav: 3.Nc3 dxc4ìYxi tCÒbD52i QGD: Cambridge Springs, Bogoljubow VariationìX¾91¶VC33 KGA: Bishop's Gambit, Classical DefenceìRðb±¦¨pD64 QGD: Orthodox, Rubinstein Attack, Carlsbad Variationì?m¼ŽôLD78n Neo-Grünfeld, 6.O-O c6 7.Nbd2 Bf5ì=\,ÀÝÉÎRA93 Dutch: Stonewall, Botvinnik Variationì9Ï'kn5jA42m Modern: Averbakh, Kotov, 5.Be3 e5 6.d5 Nce7 7.g4ì6çBddr¸4A00p Polish: 1...Nf6 2.Bb2ì/HhM¥glD41m QGD: Semi-Tarrasch, 6.e4, San Sebastian Variationì(µHÞ_ZB98h Sicilian: Najdorf, Browne, 10.O-O-O Nbd7ì!¼„'Ø$&A25 English: ClosedìžÒvñEZE85b King's Indian: Sämisch, Orthodox, 7.dxe5ì|M)½¸RA86 Dutch: Leningrad, 4.Bg2 Bg7 5.Nc3 O-Oì!yÒý ŽlB04m Alekhine: Modern, Fianchetto, 5.Bc4 Nb6 6.Bb3 Bg7ìàËÿ ÒŒB35n Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3 a5 9.f3ì—±¡I‹›lE39l Nimzo-Indian: Classical, Pirc, 6.a3 Bxc5 7.Nf3 b6ì7´J^¹6B70b Sicilian: Dragon, 6.g3ëú×{¬cgÿFB57g Sicilian: Sozin, Benko, 7.Nxc6ëùÔiÇLA93 Dutch: Stonewall, Botvinnik, 8.Qc2ëó$IÝ&8A65l Benoni: Sämisch, 8.Nge2ëòòÙOšOL&A00r Polish: 1...e5ëëÑYÙ©jA39o English: Symmetrical, Main Line 7.d4, 10.Qd3 Rb8ëè)XT )sVC41s Philidor: Improved Hanham, 6.dxe5 dxe5ëᾕq'v2A40b Queen's Pawn: Jadoul룋'Ê—Ä8C26q Vienna: 3.Bc4 Bc5 4.Nf3ë¢1A22ÞcxB04o Alekhine: Modern, Fianchetto, 5.Bc4 Nb6 6.Bb3 Bg7 7.Ng5ë›U'þmþJE80a King's Indian: Sämisch Variationë›˨c ŽB58t Sicilian: Boleslavsky, 7.Nf3, 9.Re1 O-O 10.h3 Be6 11.Bf1 Nb8 12.b3ë–-še¦]DD63 QGD: Orthodox, Swiss Variationë(9éÑ3‰PA16 English: Anglo-Indian, 2.Nc3 g6 3.g3ë|¾Ø¥ÓÍVC57m Two Knights: Fritz, Berliner VariationëoðEì&Ž¿FE11g Bogo-Indian: 4.Bd2 Be7 5.g3 d5ëm,øp‚xjE18z Queen's Indian: Old Main Line, 8.Qc2 Nxc3 9.bxc3ëlNR|¡BE70c King's Indian: 4.e4 O-O 5.e5ëfmúØ/›¯2D02o Queen's Pawn: LondonëdnUËÛ‹`vE54 Nimzo-Indian: Main Line, 7...dxc4 8.Bxc4 cxd4 9.exd4 a6ëc¿1ßn|lB99n Sicilian: Najdorf, Main Line, 10.g4 b5 11.Bd3 Bb7ëc¨Öò%é+@C42k Russian Game: French AttackëW}{k<µÜVA77 Benoni: Classical, Main Line, 10.Nd2 a6ëTyì ³Ò\B04h Alekhine: Modern, Larsen, 5.Nxe5 g6 6.Bc4ëJvó,{nFA28 English: Four Knights, 4.e3 Bb4ëC2ê‚ÏnbB78d Sicilian: Dragon, Yugoslav, Modern Main LineëA>=a¨*^C07k French: Tarrasch, Open, 4.exd5 Qxd5 5.Ngf3ëAƒNB96i Sicilian: Najdorf, 7.f4 Nbd7 8.Qe2ë:#¢‘x˜vrB37j Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6 8.Be2 Nd7ë8#s(3¤>B25f Sicilian: Closed, 6.f4 Rb8ë*—é­giRB22t Sicilian: Alapin, 2...Nf6, 5.cxd4 d6ë(Bb²| º>C28e Vienna: 3.Bc4 Nc6 4.d3 Na5ëV@k°bB65a Sicilian: Richter-Rauzer, 7...Be7, 9.f4 Nxd4ëG‘»‡Èö8B91a Sicilian: Najdorf, 6.g3ë ŸRþj‚.JE46 Nimzo-Indian: Reshevsky VariationëoRgýäs<A08 Reti: KIA, 2...c5 + 3...g6êùA¶Ë()4D28a QGA: Classical, 7.Qe2êõi­^ãÃÎ,A44a Old Benoni: CzechêôTk’ñÜ<D03e Torre Attack: 3...e6 4.e3êð!øÇ¹"Ì6C54a Giuoco Piano: 4.c3 Nf6êÓ´ká;2Ø’B96w Sicilian: Najdorf, Polugaevsky, 10.Qe2 Nfd7 11.O-O-O Bb7 12.Qg4 Qxe5êÒå6>uÛvE14x Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.Nc3 cxd4êÒ-ÊÔ¢º:D30u QGD: Semmering VariationêÉ!ÚçöÒk^B73 Sicilian: Dragon, Classical, Zollner GambitêÇk`Ù'/JB01s Scandinavian: 2...Nf6 3.Bb5+ Bd7êÇ›MÎ:B20 Sicilian: English, 2...e6êÆ-;y• BA90 Dutch: 2.c4 Nf6 3.g3 e6 4.Nf3êÄÅ70²„–@C26o Vienna: 3.Bc4 Bb4 4.Nf3 O-Oê·£ÚdTC64q Spanish: Classical, Zaitsev VariationêªñÄ÷µ¦VA19 English: Mikenas, 6.d4 cxd4 7.Nxd4 Nxe5ꢱn/ÝôÜ`E12r Queen's Indian: Petrosian, 6.cxd5 Nxd5 7.e4ê¡òî¥Uå$D50 QGD: 4.Bg5 Bb4ꛎw°)¹€:C29q Vienna Gambit: 5.Nf3 Nc6êÓÁ9¡¬ZB56e Sicilian: Open, 2...d6, 5.Nc3 Nbd7 6.Bc4ꌗ‡Lxx¤8D17m Slav: Central, 7.f3 Bb4ꃲÇ=Ñ44A25 English: Closed, 5.Rb1ê€ 6¦I¥³bC48k Four Knights: Rubinstein, Exchange Variationê}|wÒ3–‚NB03p Alekhine: Exchange, 5...exd6 6.Nc3êw#¦¢êx„A29 English: Four Knights, 4.g3 d5 5.cxd5 Nxd5 6.Bg2 Nb6 7.O-O Be7êt’;ðÀ™’XC16k French: Winawer, Advance, 4...Ne7 5.Bd2êtŽÀJšZA34 English: Symmetrical, 3 Knights, 5.e4 Nb4êcæÏafçXA37u English: Symmetrical, 5.Nf3 e5 6.O-O d6ê]ãtW¾rº A04 Reti: 1...c5êU ƒ^YLbB78g Sicilian: Dragon, Yugoslav, Main Line, 12.h4êT3Ù-FYLA41r Neo-Old Indian: Modern, 3.Nf3 Bg7êQý³wS `C13n French: Chatard-Alekhine, Maroczy Variationê?Ä@B»8BD33h QGD Tarrasch: Swedish, 9.Bd2ê:RX0ÃPJA98 Dutch: Ilyin-Zhenevsky, 8.Qc2 Qh5ê/{ašrD23n QGA: Mannheim, 4...c6, 5.Qxc4 Bf5 6.g3 e6 7.Bg2 Nbd7ê,òš`AU,PB12n Caro-Kann: Advance, Short Variationê%*…-’‘@B15e Caro-Kann: Gurgenidze: 4.h3ê v¨DÈLÝlD03t Torre Attack: 3...g6 4.e3 Bg7 5.Nbd2 O-O 6.Bd3 c5ê`ÑLQ:D36c QGD: Exchange, 6.Qc2 Be7êX5±r8ódD36p QGD: Exchange, Main Line, 9.Nf3 Re8 10.h3 Nf8ê Å…äy.ÕnD76d Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.e3éÿ^7¬œ"‡LD31y Semi-Slav: Marshall Gambit, 8.Be2éû35ʨ%ZC98b Spanish: Closed, Chigorin, Rauzer Attacké÷9¦L+GtD85x Grünfeld: Modern Exchange, 8.Be3 O-O 9.Rc1 Qa5 10.Qd2éèYv)HC44a Open Game: Paschman Wing GambitéÝVHWÊó†B67o Sicilian: Richter-Rauzer, 7...a6, 9.f4 b5 10.Bxf6 gxf6 11.Nxc6éÙ6Á¶Äó€dE05q Catalan: Open, Classical, 8.Qxc4 b5 9.Qc2 Bb7é×>ùžÒZ8D33m QGD Tarrasch: 7.Bg2 Be6éÅýñ8X\9pE96 King's Indian: 7.O-O Nbd7, Old Main Line, 10.Rb1 Re8éÄý¬Ð‘ä§fB27o Sicilian: Accelerated Pterodactyl, 4.dxc5 Qa5+齩¥ô.8µRC01f French: Exchange, 4.c4 Nf6 5.Nc3 Be7鱸œZ À2A20 English: King's, 2.e3éª=¬ò  DB57i Sicilian: Sozin, Benko, 7.Nb3é¨À†FŠGZD60 QGD: Orthodox, Botvinnik, 8...c5 9.O-O a6é¤çÃôMþö‚E38j Nimzo-Indian: Classical, 4...c5 5.dxc5 Na6 6.a3 Bxc3+ 7.Qxc3é›è/UåZA42j Modern: Averbakh, Kotov, 5.Be3 e5 6.Nge2é™~-XÊ75VE16c Queen's Indian: Capablanca, 6.Nbd2 O-Oé–hQ&ºvTC30k KGD: Classical, Soldatenkov Variationé9Ôb{xE15n Queen's Indian: Nimzowitsch, 5.b3 Bb7, 7...a5 8.O-O O-Oé…|—ãI|ZB51i Sicilian: 3.Bb5+ Nd7 4.d4 Nf6 5.Nc3 cxd4éÖevI}d$A81 Dutch: 2.g3 e6é€ÖÍWIJLE15u Queen's Indian: 4.g3 Bb7 5.Bg2 c5éq|C{—®`D97f Grünfeld: Russian, Alekhine, 8.Be2 b5 9.Qb3ém`÷#vº<A11 English: Caro-Kann DefenceéfŠÑV_È^C83 Spanish: Open, Classical, Breslau Variationéb{Ó®+=’nB97g Sicilian: Najdorf, Poisoned Pawn, 8.Nb3 Nbd7 9.Qf3éUoçy)ÙDD32l QGD Tarrasch: Marshall GambitéS—Ô&SFw”B99y Sicilian: Najdorf, Modern Main Line 13.f5 Nc5 14.f6: Perenyi's 16.Rg1éSYР-3/hC15i French: Winawer, Müller-Zhuravlev Gambit, 5.Qg4éPW„fÊú<B47q Sicilian: Taimanov, 6.Be2éNö;o’tFA02 Bird: From Gambit, Lasker, 5.g3éIMg‡èE#:B24 Sicilian: Closed, 3.g3 e6éEcûÞØ”YZC40q Latvian Gambit: Poisoned Pawn, Main LineéDŽ Íw™FA95 Dutch: Stonewall, 7.Nc3 c6 8.b3é=’db˜2-lD48f Semi-Slav: Meran, 8...a6 9.O-O Bb7 10.e4 c5 11.d5é4¬3]NÓçLD00w Blackmar-Diemer: 4.f3 exf3 5.Nxf3é/?+߇2A40w Queen's Pawn: Moderné%6eÉgæ&DD20a Queen's Gambit Accepted (QGA)éèd×°gLC80k Spanish: Open, Schlechter Defenceé^=ÓënÈ&A25 English: Closedéêòö$àsRA37u English: Symmetrical, 5.Nf3 e5 6.O-Oé¶B™ŽªPA11 English: Caro-Kann Defence, 3.g3 Bg4鉨AÞ›bC19m French: Winawer, 6...Ne7 7.Nf3 Nbc6 8.a4 Bd7éùѶè·<B27f Sicilian: Hungarian, 3.c4é`þä¹HRB71 Sicilian: Dragon, Levenfish Variation韊k{fD42h QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.a3 Nf6éC­ˆÃ=LB72 Sicilian: Dragon, Classical Attacké|PÕZ$ö&D31c QGD: 3.Nc3 Bb4è÷n‡ºŽ±ÈLC10s French: Rubinstein, 4...Bd7 5.Nf3èôö³Qñÿ{HC79 Spanish: Steinitz Deferred, 6.c3èï‘[U,^C42r Russian Game: Classical, Marshall, 8.c4 c6èé<“wøH[NB02r Alekhine: Chase, Steiner VariationèÝjxJñ½>C50e Italian: Hungarian DefenceèÖ·Á×pB22j Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nf6 5.Nf3èÕe]|d‹gBB53l Sicilian, Chekhover, 4...Nc6èÇ;ñ7èVGJE53 Nimzo-Indian: Main Line, 7...Nbd7èÂü¹‡ ÍBB40j Sicilian: Marshall Variationè± Ùò/3•FA06 Reti: Tennison/Zukertort Gambitè‘€Š?š 4A22 English: Bremen System艈s6ý’EDD29f QGA: Classical, 8...Bb7 9.Rd1è†ze`xòŠ4A41b Neo-Old Indian: 2.Bg5è™$äšÏÖ>C81 Spanish: Open, Keres Attackèp[O½!ì¡<A25 English: Closed, 5.d3 Nge7èjÖ¶¨¦H :B10c Caro-Kann: Breyer, 3.Nd2ègÍúòla¹VE87a King's Indian: Sämisch, Orthodox, 7.d5èdÀ ½bº0FD17l Slav: Central, Hübner (7...c5)è`/9#Á´U6C30g King's Gambit: 2...Nc6è^ø))2µx2A45a Queen's Pawn: Indianè\×à2ËLC19h French: Winawer, 6...Ne7 7.Nf3 b6èX”e ¼ÿt\C26h Vienna: Smyslov, 3...Bc5 4.Bg2 Nc6 5.Nge2èX+ Vïz‰RA20 English: King's, Nimzowitsch, 2...Nc6èWb•_}>ÆTD41m QGD: Semi-Tarrasch, 6.e4, 8.cxd4 Bb4+èR¼#T«ìDC45j Scotch: Mieses, 6...Qe7 7.Qe2èM2çŒÙ5ùTC53 Giuoco Piano: Centre-Holding VariationèH'ÈqÁ$VC83 Spanish: Open, Classical, Tarrasch TrapèF›9ž•óDZB36b Sicilian: Maroczy Bind, 5...d6 6.Nc3 Bg7èFÉ0·¯>D47a Semi-Slav: Meran Variationè4Î U2è³LD85j Grünfeld: Modern Exchange, 7...c5è+F9&_³»xB44v Sicilian, Taimanov, Szen, 7.N1c3 a6 8.Na3 Be7 9.Be2 O-O裩mþé2E20 Nimzo-Indian: 4.f3 d5èûQ8b2A46r Torre Attack: 3...b6è¬ûw©#0D91d Grünfeld: 5.Bg5 Ne4èoÌfQ_tE69h King's Indian: Fianchetto, Classical, 9.h3 Qa5 10.Re1è |í]yÙ×TC12j French: MacCutcheon, Lasker Variationèkp²Ö~|C43k Russian Game: Modern Attack, 3...Nxe4 4.Bd3 d5 5.Nxe5 Nc6çÿ%ɃN)®8E04e Catalan: Open, 5.Nf3 a6çý×ÝY_ örB09x Pirc: Austrian, 5...c5 6.Bb5+ Bd7 7.e5 Ng4 8.e6 Bxb5çìOlE(ºNC18l French: Winawer, 6...Ne7 7.Qg4 Kf8çßLñR·Š^C42t Russian Game: Classical, Jänisch VariationçÚØòÆXlJD32r QGD Tarrasch: 5.Nf3 Nc6 6.e3 Nf6çÚ%—1NU‡hA91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3 d6 6.Nc3çÆûOH¦NHD38f QGD: Ragozin, 5.cxd5 exd5 6.Bg5ç·OUÁ #DB42h Sicilian: Kan, 5.Bd3 Nf6 6.c4ç¶Sí‰Á$DB01j Scandinavian: 2...Qxd5, 5.Nf3çµNÓÊShC30e King's Gambit: Norwald Variation, Bücker Gambitç¨Änæ­ƒ4B06h Modern: Geller System稳'êï„RD85l Grünfeld: Modern Exchange, 8.Be2 O-Oç”Äè‰ æfE19c Queen's Indian: Old Main Line, 9.Qxc3 d6 10.b3ç’ýp@ÄtbB77g Sicilian: Dragon, Yugoslav, 9.Bc4 Bd7 10.Bb3ç±Y!i9DC67f Spanish: Open Berlin, 5...Be7ç²A èGªrD36q QGD: Exchange, Main Line, 9.Nf3 Re8 10.h3 Nf8 11.Bf4瀗·ÎX§JB44p Sicilian, Taimanov, Szen, 7.N5c3çxWˆ5èPŽPA81 Dutch: Leningrad, Carlsbad Variationçt8¸õÍ÷4D02s Queen's Pawn: 3.g3 c6çp‡•ì%ô_bC09d French: Tarrasch, Open, 5.Ngf3 Nc6 6.Bb5 Bd6çlq0x*â‚HB95c Sicilian: Najdorf, 6...e6 7.Be2çi¤ÅH—hNB16e Caro-Kann: Bronstein-Larsen, 6.Nf3çeœƒ{|E61z King's Indian: Smyslov System, 5...O-O 6.e3 Nbd7 7.Be2 c6ça•¤hL ªtE93 King's Indian: Petrosian, Main Line, 8.Bg5 h6 9.Bh4 a6ç^õ4åaYì8D11n Slav: Slav-Reti with b3çW ü…=®LHE11f Bogo-Indian: Grünfeld VariationçSi.^;Cc~B83 Sicilian: Scheveningen, Modern, 9.f4 e5 10.Nb3 exf4 11.Bxf4çR¥>IA÷^C96n Spanish: Closed, Chigorin, Keres VariationçRzö~)-HC92j Spanish: Closed, Zaitsev, 10.d4çIÇj“Êô`B25v Sicilian: Closed, 6.f4 e6: 9.Be3 Nd4 10.Qd2çI@=ôÜŠ8D21s QGA: Seirawan VariationçGµc n(HE90h King's Indian: Larsen VariationçF’e%[HB19g Caro-Kann: Classical, 7.Nf3 Nd7ç?óÝO”>>lC47x Four Knights: Scotch, Main Line, 10.Bg5 c6 11.Qf3ç>ÀS·sLfA59n Benko Gambit: 7.e4, Main Line, 11...Nbd7 12.h3ç;i•ŸðnÑtA45z Trompowsky: 2...Ne4 3.Bf4 c5 4.f3 Qa5+ 5.c3 Nf6 6.Nd2ç-¼ÕYUûFD19g Slav: Dutch, 8...O-O 9.Qe2 Ne4ç'w'Tð\HvD36v QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O Nf8 11.Rae1ç$³d³U_2B89 Sicilian: Velimirovicç"å¥ܸFC12p French: MacCutcheon, Main LineçìiCh ÿ:D41k QGD: Semi-Tarrasch, 6.e4çyÀP¨ ìBC29d Vienna Gambit: 3...d5 4.exd5çæx©iØ,A40a Queen's Pawn GameçÛd„Qv‰bD58i QGD: Tartakower, 8.Bd3 Bb7 9.O-O Nbd7 10.Qe2ç ôȃܛJE54 Nimzo-Indian: Main Line, 7...dxc4æÿ“H«¦ÏZC16d French: Winawer, 4.e5 b6 5.Qg4 Bf8 6.Bg5æþÂÀë]Ii|D87o Grünfeld: Classical Exchange, 10.Be3 Bg4 11.f3 Na5 12.Bd5æüwPgâÄ“JD00u Blackmar-Diemer: O'Kelly DefenceæúàäÄèÎ PD30i QGD: Tarrasch without Nc3: 5.g3 Nc6æÚ”uë îTA90 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 d5 5.Nf3æÏoNy—unB32x Sicilian: Lowenthal, Kalashnikov, Main Line, 9.Nc2æÊ·)ïÜóND28i QGA: Classical, 7.Qe2 b5 8.Bb3 Nc6æÉ/*æg%÷`B12t Caro-Kann: Advance, 4.Nf3 e6 5.Be2 c5 6.O-OæÃe¾mÌå|JE03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4æ¹øy JÊ‚E98p King's Indian: Mar del Plata, 9.Ne1 Nd7 10.Nd3 f5 11.Bd2 Kh8æ®Eìç¬üŽD65 QGD: Orthodox, Rubinstein, 9.cxd5 exd5 10.Bd3 Re8 11.O-O Nf8 12.Ne5æ©X0·»ÞJC21 Danish Gambit: Schlechter Defence榒äWh1NC03n French: Tarrasch, Guimard, 4.c3 e5æ¥eÔW¸8ÚVA33o English: Symmetrical, Geller Variationæ¤ÞQòQQæBD85a Grünfeld: Exchange Variationæ¤PA“,K‰NB14i Caro-Kann: Panov-Botvinnik, 5...e6æ‘Ùlñ¤Á.D06l QGD: 2...Bf5 3.Qb3æŒ7éÓ2›œ6A09e Reti: Advance, 3.e3 c5æ„yQœ;j0fE67i King's Indian: Fianchetto, Classical, 8.Qc2 c6æ‚|²¯îDC51 Evans Gambit: Normal Variationæ [±¥e‡BA45t Trompowsky: 2...Ne4 3.Bh4 c5æ_ì¡ <£8D16e Slav: Smyslov Variationæj:Á)ƒ"&A10 English: 1...b6æLï5|Q,Â:A00p Polish: 1...Nf6 2.Bb2 e6æ>l7 ·Ùï2D30l QGD: 3.Nf3 c6 4.Nbd2æ>XV-ëyNA75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.Bf4 Bxf3 12.Bxf3 Qe7 13.Re1æ=Pz9•Ræ˜A68n Benoni: Four Pawns, 9.Be2 Bg4 10.O-O Nbd7 11.h3 Bxf3 12.Bxf3 Re8 13.Re1æC52 Evans Gambit: 5...Ba5 6.O-Oæ6y¤í„$ÞJE05p Catalan: Open, Classical, 8.Qxc4æ59õÈ`kXC47m Four Knights: Belgrade Gambit, 5...Nxe4æ5Z. pBB23o Sicilian: Closed, Grand Prixæ0”Ã4,ÚÝdA88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.b3 Qa5æ/œ=ö'ÇSPB03k Alekhine: Four Pawns Attack, 6...c5æ(6ØEjB49h Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O Bb4æ ó Qú-0A10 English: 1...g5 2.d4ædÊœp]\E30 Nimzo-Indian: Leningrad, 4...c5 5.d5 Bxc3+æÉ §HÇHA30e English: Symmetrical, b6 Systemæ µ6¿I^B62h Sicilian: Richter-Rauzer, Margate, 7...Bd7æºÌ@ÊýŠA72 Benoni: Classical, 8.Be2 O-O 9.Bg5 h6 10.Bh4 g5 11.Bg3 Nh5 12.Nd2æ’ERD85u Grünfeld: Modern Exchange, 8.Be3 Qa5å÷×ô1ÅVB21i Sicilian: Grand Prix, Toilet VariationåóX=\Ž+8A09h Reti: Advance, 3.g3 Nc6åñJŽŸ:C45q Scotch: Geller Variationåï¼Ìn) tJB26c Sicilian: Closed, 6.Be3 Nf6 7.h3åêRѧ˜¯HC47s Four Knights: Scotch, Main Lineåéa°Ü?³HA30e English: Symmetrical, b6 Systemåãç¾5 (B07c Pirc: 2.f4åãÝ×W+XE32i Nimzo-Indian: Classical, Adorjan GambitåÒîÉGœžrE31o Nimzo-Indian: Leningrad, Main Line, 8...e5 9.f3 Nbd7åÎ ?“ÃJB01y Scandinavian: Marshall, 4.c4 Nb6å±)!\t¿ªBB53e Sicilian, Chekhover, 4...Bd7å©HH³C51 Evans Gambit Declined, 5.b5å²4-@éŽC85q Spanish: Closed, Exchange, 7.d3 Nd7 8.Nbd2 O-O 9.Nc4 f6 10.Nh4 Nc5äù3…4ölD37r QGD: Classical, 5...O-O 6.e3 c5 7.dxc5 Bxc5 8.Qc2äøçԶǪÐZA35g English: Symmetrical, Four Knights, 4.d4ä÷«.ÐY|B97o Sicilian: Najdorf, Poisoned Pawn, 10.Bxf6 gxf6 11.Be2 Bg7äè–jÌyPE17k Queen's Indian: Opovcensky, 7...Bf6äâ»5 ì#NB96f Sicilian: Najdorf, 7.f4 Qc7 8.Bxf6äá/|P×dB76i Sicilian: Dragon, Yugoslav, 9.O-O-O Bd7 10.g4äÝíQDffXB19h Caro-Kann: Classical, Spassky VariationäÛDí RjB19l Caro-Kann: Classical, Spassky, 10.Qxd3 e6 11.Bf4äÒÒ0aè\C15o French: Winawer, Alekhine Gambit, 4...Nf6äÑ@ß–qzß2C45k Scotch: Mieses, 8.c4äÈCðD ÖXA51e Budapest: Fajarowicz, Steiner VariationäÆWá³¶àX`A46o Indian: 1.d4 Nf6 2.Nf3 e6 3.g3 c5 4.Bg2 Nc6ä¿ÌníCHxB64e Sicilian: Richter-Rauzer, 7.Qd2 Be7, 9.f4 h6 10.Bh4 Bd7ä·ô¹dÆàfpC84k Spanish: Closed, Centre Attack, 7.e5 Ne4 8.Nxd4 O-O䵩¤¥Þ2ñ<C41j Philidor: 3...exd4 4.Nxd4䴲𳂿^C67p Spanish: Open Berlin, 5.d4 Nd6 6.Bxc6 dxc6ä•pätøHD27g QGA: Classical, 6...a6 7.Bb3 b5ä’€ši¢ÍÔDD85e Grünfeld: Exchange, 7.Bb5+ c6䉬í•¡S*A02 Bird: From Gambitäƒ1Rðh ø:A52f Budapest: Adler, 4...Bc5ä{| O¢±ç,B07p Pirc: Czech, 4.f4ähKÛœë<B12p Caro-Kann: Advance, 4.Nf3ä_‰)åRèÚ B07y Pirc: 4.Be2äJútG—1D:B50g Sicilian: 2.Nf3 d6 3.Bc4äG+âu5±QfA44y Old Benoni: Czech, 3.e4 d6 4.Nc3 Be7 5.Nf3 Bg4äEû6t‘óŠzA77 Benoni: Classical, Main Line, 10.Nd2 Nbd7 11.a4 a6 12.Ra3ä?$ hÎ{nB14l Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3 Be7 7.Bd3ä3ß4%3D10a Slav: 3.g3ä/^l@¥J†‚E66i King's Indian: Fianchetto, Yugoslav Panno, 9...a6 10.Qc2 Rb8ä©’}ZÑ<D11e Slav: 3.Nf3 dxc4 4.e3 Be6ä65r0`ˆE92x King's Indian: Petrosian, Stein, Main Line, 10...Qe8 11.O-O Nh7ãÿ®™¸Ê§\B63p Sicilian: Richter-Rauzer, 7.Qd2 Be7, 9.f3ãýÊ·Jõäk,A47 Neo-Queen's IndianãûÞn|#A81 Dutch: 2.g3ãúî‘Ô ûp4B29a Sicilian: NimzowitschãúqîôN÷؆B38k Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 b6 9.O-O Bb7 10.f3 Qb8ãô˜­œ bsND01p Richter-Veresov: 3...Nbd7 4.Nf3 g6ãòXWœŒófLA57q Benko Gambit: 4.cxb5 a6 5.f3 axb5ãí´xXAÒÿFB27k Sicilian: Hungarian, 3.d4 cxd4ãç²a—DD13m Slav: Exchange, 6.Bf4 a6 7.e3ãà|wL/£PC81 Spanish: Open, Keres Attack, 9...Bc5ãßCJ„“ù6D11p Slav: Slav-Reti SystemãÐ5p´ÇþZJB57j Sicilian: Sozin, Benko, 7.Nb3 e6ãÆ x• :B20 Sicilian: English, 2...d6ã¾ÅbT<¾¼JE61m King's Indian: 4.Nf3 O-O 5.e3 d6㼂7·ß8 pA67a Benoni: Four Pawns, Taimanov (Alatortsev) Variationãºî»†vB12h Caro-Kann: Gurgenidze/Modern: 3.Nd2 g6 4.Ngf3 Bg7 5.c3㌻/IJ¢>E10e Neo-Indian: 3.Nf3 a6 4.Nc3㌠÷Q@ RE80k King's Indian: Sämisch, 5...a6 6.Be3ã†ü³x^p4dA88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.b3 Qe8ㆈåaLîV\E91n King's Indian: Kazakh Variation, 7.O-O c6ãƒÍ˜ÆŠ6£<D24o QGA: Bogoljubow, 7.a4 Bb7ãmÆs\ûqHC41q Philidor: Nimzowitsch Variationãg”|žÜjBE17s Queen's Indian: Euwe, 7...c5ãb´'7“iº(A65b Benoni: 6.e4 g6ãWïu# ¼VB01f Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.Nf3ãWZk"\A34 English: Symmetrical, 3 Knights, 5.d4 Nxc3ãN¤DE{DD00x Blackmar-Diemer: Euwe DefenceãHµj"XB97d Sicilian: Najdorf, Poisoned Pawn, 8.Qd3ã@ÈùRÞrB34c Sicilian: Accelerated Fianchetto, Exchange Variationã>Ýf‘<E17a Queen's Indian: 5.Bg2 Be7ã=ïàÏë…>A53 Old Indian: Dus-Khotimirskyã71†Î]üR>E94j King's Indian: Glek, 8.Re1ã3{Ž4jtC08c French: Tarrasch, Open, 4.exd5 exd5 5.Bb5+ Nc6 6.Qe2+ã3EŸÝY4B24 Sicilian: Closed, 3.g3ãT‘…Ãá~E69m King's Indian: Fianchetto, Classical, 9.h3 Qb6 10.Re1 exd4ãƧhªXE55 Nimzo-Indian: Main Line, Bronstein, 9.a3ã¶3Ÿ6À;6D31d QGD: Alatortsev, 4.Nf3ã*î£ÄZE56 Nimzo-Indian: Main Line, 7...Nc6 8.a3 Ba5ãeÙíézÕ8A22 English: Bremen, 3...Bc5ã ‰ñÊGÊ-^B32t Sicilian: Lowenthal, Kalashnikov, 6.c4 Be7ã þ¥‡»Ê\C21 Danish Gambit: Accepted, 4.Bc4 cxb2 5.Bxb2ãû‡–ßG4C02g French: Advance, 4.c3âþ]ˆûAƒ(C02a French: AdvanceâûµàoÛ‚¡XE36 Nimzo-Indian: Classical, Noa, 5.a3 Bxc3+âî:~:¯€B13z Caro-Kann: Panov-Botvinnik, 5...Nc6, Normal Variaiton, 8.c5âä=¾ÍjTíBA41f Neo-Old Indian: Wade DefenceâÙå)œ TA45v Trompowsky: 2...Ne4 3.Bf4 d5 4.f3 Nf6âØòè¼}UJD58g QGD: Tartakower, 8.Bd3 Bb7 9.O-OâÐï•‹Yz®RE11g Bogo-Indian: 4.Bd2 Be7 5.g3 d5 6.Bg2âÐägX„øHA42f Modern: Averbakh, 4...Nd7 5.Nf3âÍù”YñšhC86j Spanish: Worrall Attack, 7...O-O 8.c3 d5 9.exd5âÇr6µ»ñDA43u Old Benoni: Schmidt, 3.e4 Nf6â¹O-íog¦bC46k Three Knights: Steinitz, Rosenthal Variationâ¸`cúÅÅ<D03m Torre Attack: 3...g6 4.e3âµï£,‰¦¿2A40u Queen's Pawn: Modernâ´Lùöf1Ž6E11c Bogo-Indian: 4.Nbd2 b6⫱ÉÀí#˜E18x Queen's Indian: 7.Nc3 Ne4 8.Nxe4 Bxe4 9.Ne1 Bxg2 10.Nxg2 d5 11.Qa4 dxc4⋆å=OºNA50l Indian: Queen's Indian AcceleratedâŠSMIá>A86 Dutch: Leningrad, 4.Nf3 Bg7â} mD×]‰HC87e Spanish: Closed, Averbakh, 7.c3âw6ƒFus2A02 Bird: 1..Nf6 2.Nf3 c5âqÄusa]ýLC26j Vienna: Smyslov, 3...d5, 5...Nxc3âoó&+f,A47 Neo-Queen's Indianâlá6ð'LC18h French: Winawer, 6...Ne7 7.h4 Qc7âjþÊ)Wé8B07v Pirc: 4.Be3, 150 AttackâaßL!Ÿv?2A80u Dutch: Barcza SystemâYotÊuÌ2D45j Semi-Slav: 6.Qc2 Be7âUçDèV>C51 Evans Gambit: Göring AttackâU…u>ÜTE34 Nimzo-Indian: Classical, Noa, 5.e3 O-OâT~ƒ)ZA69d Benoni: Four Pawns, Main Line, 10.Nd2 a6âJÓ#ŒWƒe.A07 Reti: KIA, Yugoslavâ8û‡~àüLA72 Benoni: Classical, 8.Be2 O-O 9.Bf4â6Å*(RpËrE79c King's Indian: Four Pawns Attack, Main Line, 9...Ng4â6“0UÑvB05o Alekhine: Modern, Main Line, 8.h3 Bh5 9.Nc3 O-O 10.Be3â2w‚Óf‡8‚B58q Sicilian: Boleslavsky, 7.Nf3, 9.Re1 O-O 10.h3 Be6 11.Bf1 Qa5â+“lŒu¿‡^B22v Sicilian: Alapin, 2...Nf6, 5.cxd4 e6 6.Nf3â±Hy®÷BD35d QGD: Exchange, 5.Nf3 c6 6.e3áþdÌRÒ¼ÿrD46j Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...Qe7 10.Bd2áøK„pžIrZC23 Bishop's Opening: Calabrese CountergambitáóßЃM÷fB21j Sicilian: Grand Prix, Tal Defence, 3.exd5 Qxd5áñû6”§Bõ`E26 Nimzo-Indian: Sämisch, 5...c5 6.e3 Nc6 7.Bd3ááù¶Z‰2LC29o Vienna Gambit: Kaufmann Variationááv޲œFÀpC40x Latvian Gambit: 3.Nxe5 Qf6 4.d4 d6 5.Nc4 fxe4 6.Nc3áàË…¯){ÛVC41s Philidor: Improved Hanham, 6.dxe5 Nxe5áÜÊÛÉâsZD87n Grünfeld: Classical Exchange, 10.Be3 Bg4áÑtFßWÉdB99c Sicilian: Najdorf, Main Line, Keres VariationáÎOs;oßåHD81 Grünfeld: Early Russian, 5...Be6áÊÇ=l¬µÝFA46u Torre Attack: 3...c5 4.e3 cxd4áÇ$€ Œ=ŠB69 Sicilian: Richter-Rauzer, 7...a6, 9.f4 Be7 10.Nf3 b5 11.Bxf6 gxf6áÅÒ0[zQLB38d Sicilian: Maroczy Bind, 6.Be3 Nf6á´’k* +ˆD89e Grünfeld: Classical Exchange, 14.Rc1 Bxa2 15.Qa4 with 17.Qb4 b6á¡ ðiD5³@D95c Grünfeld: 5.e3 O-O 6.Qb3 c6á –šAä!zB17m Caro-Kann: Steinitz, 5.Ng5 Ngf6 6.Bd3, Main Line 10.Qxe4áŸÖNý±¡‚ A04 Reti: 1...c5á•Q¿ááA‚E19o Queen's Indian: Old Main Line, 9.Qxc3 c5 10.Rd1 d6 11.b3 Bf6á“»j==èBhB70p Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-O 8.Re1 Nc6á…5›x÷½HC36 KGA: Scandinavian, Modern, 5.Nc3ᄳ ä¼FA53 Old Indian: Ukrainian, 4.d5 Be7á}ÕÊ·~V\C77u Spanish: Wormald Attack, 5...b5 6.Bb3 Be7áwQáq$Ù¹ŒB67r Sicilian: Richter-Rauzer, 7...a6, 9.f4 b5 10.Bxf6 gxf6 11.Kb1 Qb6ás§ú…ÖdB76p Sicilian: Dragon, Yugoslav, 9.O-O-O d5 10.Qe1ám^Ø…}2&A25 English: ClosedákO棲–ŒbB80p Sicilian: Scheveningen, Fianchetto Variationái W;žáüdA28 English: Four Knights, Bradley Beach VariationáfÔg]…'xE98f King's Indian: Mar del Plata, 9.Ne1 Ne8 10.Be3 f5 11.f3áe|W×n×oTC43f Russian Game: Modern Attack, 3...Nxe4á_ð þƒŒNC41v Philidor: Improved Hanham, 7.a4 c6á]uÕj2ô.C54j Giuoco Piano: 5.d4áV0/E%†tD66 QGD: Orthodox, Main Line, 8...h6 9.Bh4 dxc4 10.Bxc4 b5áPÕEË¥P‡\C11g French: Steinitz, Brodsky-Jones VariationáPŸžµ09dB22w Sicilian: Alapin, 2...Nf6, 5.cxd4 e6 6.Nf3 d6áNÔ3ý1”£xC24 Bishop's Opening: Urusov Gambit, Forintos/Haag VariationáJ\©Š¦È~B79f Sicilian: Dragon, Yugoslav, Old Main Line, 12.h4 Ne5 13.h5áG¢T¹KtNB49a Sicilian: Taimanov, 6.Be3 a6 7.Be2áA¨ŸÇäDB09r Pirc: Austrian, 5...c5 6.Bb5+á@)OŠ[òXD63 QGD: Orthodox, 7.Rc1 b6, Duras Variationá7ÐêN´\B01v Scandinavian: Portuguese, 4.f3 Bf5 5.Bb5+á)c= ¾@C55g Two Knights: 4.d3 Be7 5.O-Oá&Æêäü• TD57 QGD: Lasker Defence, Main Line, 11.Qb3á$Jиèh„B35k Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3 Qa5áI?¾<TA90 Dutch: 2.c4 Nf6 3.g3 e6 5.Nf3 d5 6.Qc2áûEaeú·^B13q Caro-Kann: Panov-Botvinnik, 5...Nc6 6.cxd5á^º‡þJ:B28b Sicilian: O'Kelly, 3.Nc3áùoÞþ<C45v Scotch: Blumenfeld Attacká eQOHØZVE74b King's Indian: Averbakh, 6...c5 7.dxc5á ¢…Qµ{PE51 Nimzo-Indian: 4.e3 O-O 5.Nf3 d5 6.a3á „3bŽ€^6E10p Blumenfeld: 5.Bg5 exd5á ½dÅÓ^D85m Grünfeld: Modern Exchange, 8.Rb1 O-O 9.Be2á \_áJE|`B97q Sicilian: Najdorf, Poisoned Pawn, 10.f5 Nc6àøhó¿RnšB36n Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2 Nxd4 8.Qxd4 Bg7 9.Be3 O-OàõÝïP/)vB51s Sicilian: 3.Bb5+ Nc6 4.O-O Bd7 5.Re1 Nf6 6.c3 a6 7.Ba4àòø®ÊÖâ*\E66c King's Indian: Fianchetto, Yugoslav Pannoàîhp½0C00m French: KIA 2.d3 d5àêˆÄ ®ßÖ>B15r Caro-Kann: Alekhine GambitàåE­%ƶB07a Pircàá¶$*A02 Bird: 1..Nf6 2.g3àá‘ÝFFR4D10c Slav: Exchange, 4.Bf4àáJœ«q\B21n Sicilian: Smith-Morra, Andreaschek GambitàÔ/\e¦ç!RC85h Spanish: Closed, Exchange, 7.Qe1 Nd7àÈj¼å/\ XE71e King's Indian: Makagonov, 5...O-O 6.Be3àǰˆÆ¥n;,D20t QGA: 3.e4 c5 4.d5àÇZhÍò7K>A08 Reti: KIA, 2...c5 3.Bg2 Nf6àÅÉmy8(DE61m King's Indian: 4.Nf3 O-O 5.e3à»hˆŠ@ÛND30t QGD: 3.Nf3 Nf6 4.e3 c6 5.Nbd2 Nbd7à»8ï9]2D53c QGD: 4.Bg5 Be7 5.Nf3ວ¥,ˆ ^C66 Spanish: Closed Berlin, Showalter Variationà·ìA¢Òi©ND41r QGD: Semi-Tarrasch, 6.e3 Nc6 7.Bc4à´¨j%•HD16p Slav: Bronstein, 6.Ne5 Bh5 7.g3à²Tx–܈üLA46o Indian: 1.d4 Nf6 2.Nf3 e6 3.g3 c5à¯]>»#"9JD66 QGD: Orthodox, Main Line, 8...Re8à|à•Ž×³HD30i QGD: Tarrasch without Nc3: 5.g3àz­øj>2`B66f Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6àw÷ÓɶsnB01z Scandinavian: Marshall, 4.c4 Nb6 5.Nf3 g6 6.h3 Bg7àr5;@ˆ5^B60j Sicilian: Richter-Rauzer, Larsen, 7.Be2 a6àj âS;UVC40p Latvian Gambit: Svedenborg, 6.Nxg6 Nf6àe»¿Öóh­4B12g Caro-Kann: 3.Nd2 dxe4àeFŸåήXC47l Four Knights: Belgrade Gambit, 5...Nxd5à^¼0³ãPD33p QGD Tarrasch: 7.Bg2 cxd4 8.Nxd4 Be7à[º„r> ^A32 English: Symmetrical, Two Knights, 5.g3 Qc7àX®ßÖÛ’¡pD74 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O c5 8.e4 Nf6 9.e5 Nd5àI¿ïf«éðXC47t Four Knights: Scotch, Main Line, 7...d5à9QQ@qújD26m QGA: Classical, Furman, 6...a6 7.dxc5 Bxc5 8.O-Oà5i•‘×ND38m QGD: Ragozin, 5.Bg5 h6 6.Bxf6 Qxf6à.eO¹Ó|\E20 Nimzo-Indian: Romanishin, 6.Nxd4 O-O 7.Bg2à…ЖnyLD17r Slav: Central, Main Line, 15.Nxc4àá2&Ì\B21j Sicilian: Grand Prix, Tal Defence, 3.exd5à,²;`øPB18q Caro-Kann: Classical, 6.h4 h6 7.Nh3à–=V½”ä>D31w Semi-Slav: Marshall Gambità˜b™šDC78d Spanish: Möller Defence, 6.c3àšy¯ !^B36e Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 Nxd4à uÿd¨ü®XC78u Spanish: Archangelsk, 7.Re1 Bc5 8.c3 d6à ʱPA87 Dutch: Leningrad, Main Line, 7.b3 c6àz*¼ÿF*C44k Ponziani: 3...d5ßöŸÆ¤óõ*C37 KGA: Muzio Gambitßî ‡ünùTRE15m Queen's Indian: Nimzowitsch, 5.b3 d5ßçõ@¹—[§PD16l Slav: Bronstein (Steiner) VariationßãG¹œc¯6TB81c Sicilian: Scheveningen, Keres, 6...a6ßß$åüT¬=JA86 Dutch: Leningrad, 4.Bg2 Bg7 5.Nh3ßÚ½Ýf¾€:†B14s Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3 Bb4 7.cxd5 Nxd5 8.Qc2ßÑúÛ?”jB47x Sicilian: Taimanov, 6.Be2 a6 7.O-O Nf6 8.Kh1 Be7ßÌã½úfOˆE92w King's Indian: Petrosian, Stein, Main Line, 10...Qe8 11.O-O Bd7ßÁôÝòA08 Reti: KIA, French Variationßr³^©-ÃbB80u Sicilian: Scheveningen, Fianchetto Variationßþs/f C25a Vienna Gameßý Ç;2ØdE60m King's Indian: Fianchetto without Nc3, 6...c6ß èzCÎãÚ@E11l Bogo-Indian: 4.Bd2 a5 5.Nc3ß ã5;Oé2A65b Benoni: 6.e4 g6 7.h3ß üKë ÁFC37 KGA: Muzio Gambit, From Defence߈0è´ôZC48d Four Knights: Spanish, Classical DefenceßÖšÖÛ36C77j Spanish: Centre AttackßœõÖ òŒ@C01n French: Exchange, 4.Nf3 Bd6ßï €LšrhD65 QGD: Orthodox, Rubinstein, 9.cxd5 exd5 10.Bd3 h6Þáþ «7xÞtC69l Spanish: Exchange, Gligoric, 8.Nb3 Queenswap, 9...Bd7ÞÞÝv D¾RRE83h King's Indian: Sämisch, Panno, 8.Nc1Þ×2L1°‰ZHA96 Dutch: Classical, 7.b3 Qe8 8.Bb2ÞÕã)+6ÂÓ\C47r Four Knights: Scotch, 4...exd4 5.Nxd4 Bb4ÞÑÁÑÌÓ>dD83 Grünfeld: Grünfeld Gambit, Botvinnik VariationÞÎ_’8´^vB67m Sicilian: Richter-Rauzer, 7...a6, 9.f4 b5 10.Bxf6 gxf6ÞÍ Ö=q@B03g Alekhine: Four Pawns AttackÞ¼ZÔü¼m>D94 Grünfeld: 5.e3 O-O 6.Bd3 c6Þ¸\ ¡ô¯gHD68 QGD: Orthodox, Classical, 13.Bb3Þ·ƒßœþOÐNE09b Catalan: Closed, Main Line, 8...b5Þ·Òþ’4ZHC41i Philidor: Morphy, 4...Nf6 5.Nc3Þ«\øc#±<D08 QGD: Albin, 4.Nf3 Nc6 5.a3Þ©î¤À´t A04 Reti: 1...c5Þ¤ëï›Ï8A00p Polish: Schühler GambitÞ¤š"‘r‹,A47 Neo-Queen's IndianÞ¡ƒˆÔ þÒhA70o Benoni: Classical, 8.h3 O-O 9.Bd3 Re8 10.O-O c4ÞžQ¢€­iJ:B12m Caro-Kann: Advance, 4.h4ÞégÁGƒâVB80g Sicilian: Scheveningen, English AttackÞŠ [gÈ›`B46q Sicilian: Taimanov, 5...a6 6.Be2 Nge7 7.Be3ޙЙ|D36z QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O Nf8 11.Rab1 a5Þ—Ñòm4ctE59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 11.a4ÞbZ¬SE`B45o Sicilian: Taimanov, Four Knights, 6.Ndb5 d6Þ-Æ9\½jB67f Sicilian: Richter-Rauzer, 7...a6, 9.f3 Be7 10.h4Þ|ÕJ²Ó˜\A26 English: Botvinnik System, 6...Nge7 7.Nge2Þz #¸Û€<C55b Two Knights: Deutz GambitÞtk¥ (|ƒFC07c French: Tarrasch, Open, 4.dxc5Þq>>oØŸTjB37i Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6 8.Be2Þp’0løÇÃPC88j Spanish: Closed, Anti-Marshall 8.a4Þeê°({°DD44a Semi-Slav: Botvinnik AcceptedÞXæP’±&FC05m French: Tarrasch, Closed, 5.c3ÞWF->¶†fC24 Bishop's Opening: Urusov Gambit, 7...c6 DefenceÞUx cS»ø‚B22s Sicilian: Alapin, 2...Nf6 3.e5 Nd5 4.d4 cxd4 5.Nf3 Nc6 6.Bc4ÞO +†¦Ì`B92g Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.Be3ÞKm‡C:~FE48 Nimzo-Indian: 4.e3 O-O 5.Bd3 d5Þ?S•énBD78b Neo-Grünfeld, 6.O-O c6 7.Na3Þ.œ»×kVB01z Scandinavian: Marshall, 4.c4 Nb6 5.Nf3Þ.i‚Ô´lE34 Nimzo-Indian: Classical, Noa, 5.cxd5 Qxd5 6.Nf3 c5Þ)¼ª?NB02p Alekhine: Sämisch Attack, 3...Nxc3Þe++ù…jC41b Philidor: Lopez Countergambit, Jänisch VariationÞËBÛZ>C55f Two Knights: 4.d3 Be7 5.c3Þ »®òQÛZ\E24 Nimzo-Indian: Sämisch, Botvinnik VariationÞ /ã­[^E29 Nimzo-Indian: Sämisch, Capablanca VariationÞwI DÂ’D91r Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Nf3 exd5 9.e3 O-O 10.Bd3Ýöh*@}HA57l Benko Gambit: 4.cxb5 a6 5.b6 e6Ýô¨ö ÚˆÒZE92c King's Indian: 6.Be2 e5 Queenswap, 9.Bg5Ýô£Äz:ÅrD50 QGD: Dutch-Peruvian, Prins, 6.Qxd4 Be7 7.e4 Nc6 8.Qd2Ýën¨•ƒÑZB45o Sicilian: Taimanov, Four Knights, 6.Ndb5Ýå¦Ç¿È,*B23b Sicilian: ClosedÝÛ…†ö îPrB93r Sicilian: Najdorf, 6.f4 e5 7.Nf3 Nbd7 8.a4 Be7 9.Bc4ÝÆdXtq|DD31q Semi-Slav: Noteboom VariationÝĈFÁ8>TA63 Benoni: Fianchetto, 9...Nbd7 10.Nd2 a6ÝÁ3ŠqÆîPD53f QGD: 4.Bg5 Be7 5.Nf3 h6 6.Bxf6 Bxf6ÝÀŸìh–Á¢E13l Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 Bxc3+ 8.bxc3 d6 9.Nd2 Nbd7 10.f3 Qe7ݺ„ö±ÛÑ=JC90g Spanish: Closed, Pilnik, 9...Na5ݸÇnóÜMoRA30v English: Symmetrical, Hedgehog, 9.b3ݲÒRÌŒu\E05o Catalan: Open, Classical, 8.a4, 10.Bg5 a5Ý®ð‰€1lE82c King's Indian: Sämisch, Fianchetto, 7.Qd2 c5 8.d5Ý£ñû4³ê>D24q QGA: Bogoljubow, 7.a4 Nxc3Ý£§/Ž |A59p Benko Gambit: 7.e4, Main Line, 11...Nbd7 12.h3 Qb6 13.Re1ÝŸ¿æO¤ËXD44g Semi-Slav: Botvinnik, Ekstrom VariationÝ•tÁÈ’ÜLC92m Spanish: Closed, Zaitsev, 11.Nbd2Ý•c¾R,DA21 English: Kramnik-Shirov, 3.Nd5ÝŽy}‰õlC68p Spanish: Exchange, Alapin Gambit, 7.d3 Qf6 8.Nbd2ÝŠ²E¥—U2A10 English: 1...b6 2.Nf3Ý…µ4”å&¹2B52a Sicilian: 3.Bb5+ Bd7Ý„Vø“{WÄ@B01b Scandinavian: 2...Qxd5 3.d4ݹí þ’E68g King's Indian: Fianchetto, Classical, 8.e4 exd4 9.Nxd4 Re8 10.h3 Nc5Ýyà}@@׸JA10 English: 1...b6 2.Nc3 Bb7 3.e4 e6Ýv`Ì‚éÐhB47n Sicilian: Taimanov, 6.g3 a6 7.Bg2 Nf6 8.O-O Bc5Ýdq& 'ÎÞfE48 Nimzo-Indian: 4.e3 O-O 5.Bd3 d5 6.Ne2 c5 7.cxd5Ýdma¹:¯,BC45p Scotch: 4.Nxd4 Bc5 5.Nb3 Bb6Ýaí“F_«.JD54b QGD: Anti-Neo-Orthodox VariationÝ\½m«²œÐfA30g English: Symmetrical, Mutual Double FianchettoÝWÞ«½úNC59k Two Knights: Main Line, 11.d4 exd3ÝVéÓAø(>C12l French: MacCutcheon, 8.Qg4ÝN1#@ÆÄXA26 English: Closed, 5.d3 d6 6.Nf3 Nf6 7.O-OÝNݨà A04 Reti: 1...c5ÝJ—¿8Á\·VB91k Sicilian: Najdorf, 6.g3 e5 7.Nde2 Nbd7ÝDØQ _þZB14j Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3Ý@ìnHUú6:E60h King's Indian: b3 SystemÝ@^V<Îu}>C63a Spanish: Schliemann, 4.Qe2Ý;‡ÈZ‚0ŠB66m Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Be3 Be7 10.f3 Nxd4Ý5KÇîâ˜DD01i Richter-Veresov: 3...Bf5 4.f3Ý4§Ððð hD91o Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Nf3Ý1êßbMP¿VE34 Nimzo-Indian: Classical, Noa, QueenswapÝ/óJ'B±^E67j King's Indian: Fianchetto, Classical, 8.h3Ý+ðÏYp}pLE10l Blumenfeld: 5.dxe6 fxe6 6.cxb5 d5Ý%ĬI¶3í A04 Reti: 1...e6Ý#Djùé¹"NC37 KGA: Muzio Gambit, Holloway DefenceÝ!¡Îj6J&RC86d Spanish: Worrall Attack, 7...d6 8.c3ÝêÊéQ@C05o French: Tarrasch, BotvinnikÝ,›üŽPC79 Spanish: Steinitz Deferred, ExchangeÝPŸ ƒñôXD63 QGD: Orthodox, Swiss, Karlsbad VariationÝ»ÖúÚr`B26q Sicilian: Closed, 6.Be3 e6 7.Qd2 Rb8 8.Nge2Ý…±ÑJÀJA31 English: Symmetrical, Two KnightsÜïJ’ýÊ‘^D36k QGD: Exchange, Main Line, 9.Nge2 h6 10.Bh4Üé_Á^SöšxA65y Benoni: Sämisch, 8.Bg5 h6 9.Be3 O-O 10.Qd2 a6 11.a4 Re8Üé¿Ü'RJB57d Sicilian: Sozin, Benko VariationÜÔ3ç/ãbB66d Sicilian: Richter-Rauzer, 7...a6 8.O-O-O Be7ÜÑ~–ú^£§&B20 Sicilian: 2.Bc4ÜÅO¼NÜ%8D94 Grünfeld: Slav/SchlecterܶgG­›Ø,C11a French: 3.Nc3 Nf6ܲëÓ°èq<A55c Old Indian: 5.e4 c6 6.Be2ܰ•­¼î]lRA45w Trompowsky: 2...Ne4 3.Bf4 d5 4.e3 c5ܰ.ÒA‰£A|B70v Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-O 8.Bg5 Nc6 9.Nb3 Be6Ü­G쨫TD14i Slav: Exchange, 8.Bd3 Bxd3 9.Qxd3 Bd6Ü’NS)£ŸHE94u King's Indian: 7.O-O Nbd7 8.Be3܉,ÕÌ™@B16a Caro-Kann: Bronstein-Larsen܈O•úH†2A00o Grob Gambit AcceptedÜ…¬”•qÏDB40u Sicilian: Pin, Koch VariationÜ~b!¹$ÇÚ|D91p Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Nf3 exd5 9.e3Ü|[pUk^B01e Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.Bc4 Nf6ÜzðhÉ\B22f Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4Üx‹;+B97w Sicilian: Najdorf, Poisoned Pawn, Main Line, 13.e5 dxe5: 15.Ne4 Be7Üw¸­rÑycjE63g King's Indian: Fianchetto, Panno, 8.b3 Rb8 9.Nd5Üqìåh§¼>A51g Budapest: Fajarowicz, 4.a3ÜoŽç›âç1<A01 Nimzowitsch-Larsen: 1...e5Ülò$J©ò&C25c Vienna: 2...d6Üh;`Y”<Ú`D00r Queen's Pawn: Anti-King's Indian, Main LineÜ`~Agì«WtB47p Sicilian: Taimanov, 6.g3 a6 7.Bg2 Nf6 8.O-O Be7 9.Re1ÜWP£(­¾`A61 Benoni: Nimzowitsch, 7...Bg7 8.Nc4 O-O 9.Bf4ÜVÛý ’ÕS\B01i Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.d4 Nf6ÜVͺ䳱àDA07 Reti: KIA, Petrosian VariationÜV7Yj¹á§LD58q QGD: Tartakower, 8.Rc1 Bb7 9.cxd5ÜR]S'p½BA40c Queen's Pawn: Polish DefenceÜHL~b•¹ô"B06g Modern: 3.c3ÜBaÆó>ÿUhB91n Sicilian: Najdorf, 6.g3 e5 7.Nde2 Be7 8.Bg2 O-OÜA5—TÝÂ-NC48c Four Knights: Spanish, 4...d6 5.d4Ü@œñn…&jD37p QGD: Classical, 5...O-O 6.e3 c5 7.dxc5 Bxc5 8.a3Ü;ÒµH³>‰fB13v Caro-Kann: Panov-Botvinnik, 5...Nc6 6.Bg5 dxc4Ü'½TI©dB13s Caro-Kann: Panov-Botvinnik, 5...Nc6 6.Nf3 Bg4Ü%äVÏâô\B62f Sicilian: Richter-Rauzer, Keres VariationÜ#PKÏsÁ+8C50n Giuoco Pianissimo: 4.d3ÜXÑä.h§dC18q French: Winawer, 6...Ne7 7.Qg4 O-O 8.Nf3 Nbc6ܧÁU+VLC57e Two Knights: 4.Ng5 d5 5.exd5 Nxd5ܘ/¢¦ë nC92g Spanish: Closed, Karpov Variation, 10.d4 Bf6 11.a4Üz¥¼ õ)ŒD85y Grünfeld: Modern Exchange, 8.Be3 O-O 9.Rc1 Qa5 Queenswap, 12.Nxd2Ü Á~Ì1hPA01 Nimzowitsch-Larsen: 1...e5 2.Bb2 Nc6Ü ±Džò8D11n Slav: Slav-Reti with b3Ûþû®rŽì¬rE33 Nimzo-Indian: Classical, Milner-Barry (Zurich), 6.Bd2ÛèË£0OK!@E47 Nimzo-Indian: 4.e3 O-O 5.Bd3ÛäjIªGã`E18s Queen's Indian: 7.Nc3 Ne4 8.Nxe4 Bxe4 9.Bf4ÛÜæd·ÐcÆ$C26l Vienna: 3.Bc4ÛØD(UmHA23 English: Bremen, Keres, 4.Nf3 e4ÛÖЮXU"JB45d Sicilian: Taimanov, Four KnightsÛΟSêɇ€B76q Sicilian: Dragon, Yugoslav, 9.O-O-O d5 10.exd5 Nxd5 11.Nxc6ÛÊÒ2gWVC25p Vienna: Hamppe-Muzio, Dubois VariationÛ¢»—7^B00x Nimzowitsch Defence: 2.d4 d5 3.e5 Bf5 4.c3Û¡\`Äü’ÁHD47j Semi-Slav: Meran, Lundin, 9.Ne4Ûœ®ãáÕøTC55i Two Knights: 4.d3 Be7 5.O-O O-O 6.Bb3Û“ ;;È’tE69q King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Be3Û‘&CsF.pB35b Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 Qa5Û‘÷””LB60d Sicilian: Richter-Rauzer, 6...Qb6Û{ĸ4ÛOBB15d Caro-Kann: Gurgenidze: 4.Be3Ûo¼YwÄÉJB01i Scandinavian: 2...Qxd5, 5.Bd2 c6ÛnÔ HSÑ8D00i Trompowsky: 2...d5 3.e3ÛmüßРݬLB13n Caro-Kann: Panov-Botvinnik AttackÛh¨£1Ä|ÆND85g Grünfeld: Exchange, 7.Be3 c5 8.Qd2Û_¡Ó„Y§HE12y Queen's Indian: Botvinnik, 8.e3Û\­§Àß­0A86 Dutch: 2.c4 Nf6 3.g3Û[°kµ*&D53a QGD: 4.Bg5 Be7ÛQ—äUZA59j Benko Gambit: 7.e4, Main Line, 11...Nbd7ÛD+ÿv§ @C45g Scotch: Steinitz, 5.Nb5 Bc5ÛA2IAš»ÚNC92r Spanish: Closed, Zaitsev, 12.a4 h6Û7a™¬ÐYvNC33 KGA: Bishop's Gambit, Boden DefenceÛ3‘˜Þ¥¦`A22 English: Bremen, Reverse Dragon, 4.cxd5 Nxd5Û!ÍUgœé¡LB45c Sicilian: Taimanov, 5.Nc3 d6 6.g4Ûnú0möjA70x Benoni: Classical, 8.h3 O-O 9.Bd3 b5 10.Nxb5 Re8ÛØ„uQ<B06d Modern: Norwegian DefenceÛ8¼%ÑmM<D30v QGD: 3.Nf3 Nf6 4.Bg5 dxc4Û:R{W¢4<D31f QGD: Alatortsev, 5.Bf4 c6Ûs¾R†o°`D79i Neo-Grünfeld, 6.O-O c6 7.cxd5 cxd5 8.Ne5 e6Û C[‰; €E97j King's Indian: Mar del Plata, Bayonet Attack, 9...a5 10.Ba3ÛË¥ŸQ\A16 English: Anglo-Grünfeld, Smyslov VariationÛ«wþ Ë:C01u French: Exchange WinawerÚøc“ô#ŠE59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 11.Bd3 e5 12.Qc2ÚñÙàÃðp~E11i Bogo-Indian: 4.Bd2 Be7 5.g3 d5 6.Bg2 O-O 7.O-O c6 8.Qc2 b6Úð¹Ê{)2ÿNB82 Sicilian: Scheveningen, Tal, 8...e5Úë`Õõ zXE63b King's Indian: Fianchetto, Panno, 8.Re1Úèei?ÔG(B20 Sicilian DefenceÚç$ý05ÜT4E00h Catalan: 3...c5 4.Nf3ÚâÈ;‹¶;\A91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nc3 d5ÚÞƒ(C—îJA99 Dutch: Ilyin-Zhenevsky, 8.b3 Nbd7ÚØpõµvïRD81 Grünfeld: Early Russian, 5...Bg7 6.e4ÚÕgß7ÿ&bD65 QGD: Orthodox, Rubinstein Attack, 9.cxd5 exd5ÚÔ¹¹OiÏ¡FB57f Sicilian: Sozin, Benko, 7.Ndb5ÚÒa|ꬆE87l King's Indian: Sämisch, Orthodox, 7.d5 Nh5 8.Qd2 f5 9.O-O-O f4ÚÎ:îÕˆZE10j Neo-Indian: Blumenfeld/Benoni, 4.e3 cxd4ÚÅùkú¦c’<C60l Spanish: Fianchetto, 4.d4Ú¼o ö<;lZD95j Grünfeld: 5.e3 O-O 6.Qb3 dxc4 7.Bxc4 Nc6Ú¹KC³*‚îNB52t Sicilian: 3.Bb5+, Bronstein GambitÚ¶Mõm©Æ XD31x Semi-Slav: Marshall Gambit, 5.Nxe4 Bb4+Ú¯Ø'îzB34o Sicilian: Accelerated Fianchetto, Modern, 6.Be3 d6 7.Qd2Ú§ºboÝeFD45m Semi-Slav: 6.Qc2 Bd6 7.g4 dxc4Ú¥òòU#~LA26 English: Botvinnik System, 6...Nf6Ú™¢¶rD19n Slav: Dutch, 8...O-O 9.Qe2 Nbd7 10.e4 Bg6 11.Bd3 Bh5Ú˜·è?Êä\D91k Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6Ú— r&±¿FC26u Vienna: 3.Bc4 Bc5 4.d3 d6 5.f4Ú…!ÜÊ4»þPE17i Queen's Indian: Opovcensky, 7...O-OÚzåšýHz'DC44c Open Game: Inverted HungarianÚv`ËÃ(NC72 Spanish: Modern Steinitz, 5.O-O Ne7ÚhNç‘Ú9TE38b Nimzo-Indian: Classical, 4...c5 5.Nf3Úe½‹šôãÊLC29d Vienna Gambit: 3...d5 4.exd5 exf4ÚbF¬äÐpÌ\B44r Sicilian: Taimanov, Szen, Kasparov GambitÚa,JöšWbD58h QGD: Tartakower, 8.Bd3 Bb7 9.O-O Nbd7 10.Rc1Ú_ý3Žìé–”B97y Sicilian: Najdorf, Poisoned Pawn, Main Line, 13.e5 dxe5 with 18.Nxf6+Ú_l;ÆïŸVD23l QGA: Mannheim, 4...c6, 5.Qxc4 Bf5 6.g3ÚV)1æh8BBA14 English: Neo-Catalan DeclinedÚU9{‚ªNC37 KGA: Muzio Gambit, Brentano DefenceÚM­:Kbˆ NE15l Queen's Indian: Nimzowitsch, 5.b3 ÚM~ø:ÇMNrB33o Sicilian: Pelikan, Chelyabinsk, 9.Nd5 Be7, 11.c3 O-OÚGÅïñ©¹lE98m King's Indian: Mar del Plata, 9.Ne1 Nd7 10.Nd3 f5ÚCNÓÖ¨^2A53 Old Indian: 3.Nf3 Bg4ÚBÑ“ÌÃ40A10 English: Anglo-DutchÚ,õˆô¨³ DA40d Queen's Pawn: English DefenceÚ(WºPZÁëFA82 Dutch: Staunton Gambit, 4.f3 d5Ú ›#w… ‡DA36m English: Symmetrical, 5.e3 e6ÚêÃXùä¹dA14 English: Neo-Catalan Declined, 5...O-O 6.b3 c5Ú ,,.K0VB01s Scandinavian: 2...Nf6 3.Bb5+ Bd7 4.Be2Ú™®%•tHC45b Scotch: Ghulam Kassim VariationÚ— LAÌBD63 QGD: Orthodox, Swiss, 8.c5 c6Ú6åã™!KPE98a King's Indian: Mar del Plata, 9.Ne1Ùü‰aåF•FA42p Modern: Averbakh, 4...e5 5.Nf3Ùî©æZ9ãAFD13g Slav: Exchange, 5.Nc3 a6 6.Bf4Ùå[®àƒZD03o Torre Attack: 3...g6 4.e3 Bg7 5.Nbd2 O-OÙàýÍ•…Êš@B30n Sicilian: Rossolimo, 3...e6ÙߺT;û­NC11x French: Burn, 6.Bxf6 gxf6 7.Nf3 f5ÙÜÌ­;{³]lA79 Benoni: Classical, Main Line, 10.Nd2 Na6 11.f3 Nc7ÙË|ù«ðRB22v Sicilian: Alapin, 2...Nf6, 5.cxd4 e6ÙÄxNµ‹ÿu*A46j Indian: 2.Nf3 e6ÙºqÙ¦`gpD46j Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...Qe7 10.a3Ù¸KõA—FD46q Semi-Slav: Chigorin, Main LineÙ¬ÿnS,,FD25e QGA: Smyslov, 5.Bxc4 Bg7 6.O-OÙ¬2ýãŠXB82 Sicilian: Scheveningen, 6.f4 a6 7.Be3 b5Ù¦ÎFÿåÐNC95h Spanish: Closed, Breyer, Main LineÙ¥#¼éÒ DB89 Sicilian: Velimirovic, 9.O-O-OÙ ©­,mÏ(|B99r Sicilian: Najdorf, Main Line, 10.g4 b5 11.Bxf6 Nxf6 12.g5ÙžEøð ó"C37 KGA: 3.Nf3 g5Ù›{>Ò­ãNE14w Queen's Indian: Averbakh VariationÙ™ÞÍÿî4ûhE15j Queen's Indian: Nimzowitsch, 5.Qa4 c5 6.Bg2 Bb7Ù‘ÞË‚/98E40 Nimzo-Indian: RubinsteinÙæ» "pB59n Sicilian: Boleslavsky, 7.Nb3 Be7 8.O-O O-O 9.Be3 a5ÙŽh‡6Û‹hA41h Neo-Old Indian: Wade Defence, 3.c4 Nd7 4.Nc3 e5ÙŒi–ºäPLC18h French: Winawer, 6...Ne7 7.h4 Qc7ÙŠ¨%øÍXE46 Nimzo-Indian: Reshevsky, 6.a3 Be7 7.cxd5ÙŠ•W×`ìHE50 Nimzo-Indian: 4.e3 O-O 5.Nf3 Ne4Ùˆ,‘ zîõND85i Grünfeld: Modern Exchange, 7...O-OÙƒ¿×‰jç0D21v QGA: Alekhine, 4.a4Ù€ë{l†'@B26b Sicilian: Closed, 6.Be3 Nf6Ùy;¯T*ðÓHC39 KGA: Kieseritsky, Berlin DefenceÙsO>úTB00n Nimzowitsch Defence: Colorado CounterÙoö6'F-ÉjC17r French: Winawer, Swiss, 6.b4 cxd4 7.Nb5 Bc7 8.f4ÙmŠˆYý×HC63n Spanish: Schliemann, 4.Nc3 fxe4ÙeÊ$˜‡ëDB23n Sicilian: Chameleon VariationÙcÏfÍWÛ‘DC41b Philidor: Lopez CountergambitÙc[ú_R|TA45x Trompowsky: 2...Ne4 3.Bf4 c5 4.d5 Qb6ÙX|Þ°RÀDB21m Sicilian: Smith-Morra, 2...d5ÙWJco„,JB66a Sicilian: Richter-Rauzer, 7...a6ÙUšáÃ×6A24 English: Bremen, 3...g6ÙIk“›µ[©JC41d Philidor: Philidor CountergambitÙHÀ#´‘BC30f King's Gambit: Keene DefenceÙC¨kµ1|B48u Sicilian: Taimanov, 6.Be3 a6 7.Bd3 Nf6 8.O-O Ne5 9.h3 Bc5ÙCnŸ4 ÚFnE76p King's Indian: Four Pawns Attack, 6.Nf3 c5 7.d5 b5Ù0ŠôãÔ<A42f Modern: Averbakh, 4...Nd7Ù-¿h’èó¡ND79l Neo-Grünfeld, Main Line, 10.f4 Nc6Ù-b)Œe´vE62h King's Indian: Fianchetto, Kavalek/Bronstein VariationÙ$É%7òäþ8D02e Queen's Pawn: 2.Nf3 Nc6Ù ˆ´Ö×BE00c Neo-Indian (Seirawan) AttackÙ=ÃÖPåÅFC10j French: Rubinstein, 5.Nf3 Ngf6Ùßz­1nC41e Philidor: Philidor Countergambit, Berger VariationÙ’?ÊšND79a Neo-Grünfeld, 6.O-O c6 7.cxd5 cxd5Ù’: :-¦VE00a Queen's Pawn: Neo-Indian, Devin GambitÙ¾‚(ŸéVE81b King's Indian: Sämisch, 5...O-O 6.Nge2ÙÜÆ¼]4D18f Slav: Dutch, 8...Nbd7Ùx½µà‚B47y Sicilian: Taimanov, 6.Be2 a6 7.O-O Nf6 8.Kh1 Nxd4, 10.Qd3 b5Øÿ`Q¸ÒL^C97i Spanish: Closed, Chigorin, 12...Bd7 13.Nf1Øüýö%¹:hE81n King's Indian: Sämisch, 5...O-O 6.Be3 c5 7.dxc5Øû1k%VîµDA42h Modern: Averbakh, Kotov, 5.d5Øø>#ºÔL<D31d QGD: Alatortsev VariationØß;SÑëý¶JB01r Scandinavian: 2...Nf6 3.Nf3 Nxd5ØÔXóÛu©UBD27d QGA: Classical, 6...a6 7.Bd3ØÍZ²~G’·.D00d Queen's Pawn: 2.e3Ø¿¶UÞ¬+$D21d QGA: 3.Nf3 e6ؽ yÀÿBE24 Nimzo-Indian: Sämisch, 5...b6Ø·jÎÓßÄËFB00m Nimzowitsch Defence: 2.Nc3 Nf6Ø·gñ¯ËJB01e Scandinavian: 2...Qxd5 3.Nc3 Qa5ØœIY Ä‚<rB59l Sicilian: Boleslavsky, 7.Nb3 Be7 8.O-O O-O 9.Be3 Be6Ø•ó¾e•ðPA65q Benoni: Sämisch, 8.Bg5 O-O 9.Qd2 a6Ø•"@îºbE14k Queen's Indian: 4.e3 Bb7 5.Bd3 Be7 6.O-O O-OØ“ÇQ ͵FE47 Nimzo-Indian: 4.e3 O-O 5.Bd3 d6؈Vrî| /FE10k Blumenfeld: 5.dxe6 fxe6 6.cxb5Ø‚<7³}Í,A70a Benoni: ClassicalØ€Ù~[Fé`A65s Benoni: Sämisch, 8.Bg5 h6 9.Be3 O-O 10.Nge2Ø| \¬àº;zE66h King's Indian: Fianchetto, Yugoslav Panno, 9...a6 10.Qc2Øc3Ôâó› HA04 Reti: 1...c5, Nimzowitsch-LarsenØU°îó1cbA74 Benoni: Classical, 9.O-O a6 10.a4 Nbd7 11.Bf4ØTfërÅ6ÑRE09e Catalan: Closed, Main Line, 9.b3 Bb7ØN{‘úfÕBC80i Spanish: Open, Friess AttackØGëÖ:ÎÈRC01e French: Exchange, 4.c4 Nf6 5.Nc3 Bb4Ø:ÞÞ2æa±0A46e Neo-Benoni: 3.c3 e6Ø9¢´Åö2jC63s Spanish: Schliemann, 4.Nc3 fxe4 5.Nxe4 d5 6.Nxe5Ø60«¯à¢æfB13o Caro-Kann: Panov-Botvinnik, Gunderam VariationØ'¡ž…Y96A86 Dutch: 2.c4 Nf6 3.g3 d6Ø%£Y9ö©YDE49 Nimzo-Indian: Botvinnik SystemØÔSèˆ>D93 Grünfeld: 5.Bf4 O-O 6.e3 c5Ø@‰€* ^NE11n Bogo-Indian: Nimzowitsch Variation؃˜Æ,kdD29l QGA: Classical, 8...Bb7 9.Rd1 Nbd7 10.Nc3 Qc7Ø Ä((ð¢xB23u Sicilian: Closed, Grand Prix, 3...g6 4.Nf3 Bg7 5.Bc4 e6Ø:qŒ•`D10g Slav: Exchange, 4.Nc3 Nf6 5.Bf4 Nc6 6.e3 a6×ÿÀ¼XÅŽ`B81p Sicilian: Scheveningen, Keres, 6...h6 7.Rg1×òÀ”ÒÝF[XA00l Van Geet: Sicilian Variation, 2.Nf3 Nc6×ïô]­1 ÏLA87 Dutch: Leningrad, Main Line, 6.Nc3×ï3:7J®t„B19p Caro-Kann: Classical, Spassky, 10.Qxd3 Qc7 11.Bd2 e6 12.O-O-O×ìaºù{ÒDC48b Four Knights: Spanish, 4...d6×éVE„””ZC29t Vienna Gambit: Breyer, 6.Qe2 Nxc3 7.dxc3×ç8¥„ÅkVC44w Scotch: Goring Gambit, 4...dxc3 5.Nxc3×פE¹°Ù8RB22f Sicilian: Alapin, 2...d5 3.exd5 Qxd5××ez‹¹]ZE31b Nimzo-Indian: Leningrad, Main Line, 7.e3×Õ]›3iTŒ0D20n QGA: 3.e4 Nc6 4.Be3×ÒtqñõÿjB49g Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O Be7ׯ‹‘0¥@<2D03l Torre Attack: 3...g6×Ã<7 ¶|r2B01a Scandinavian: 2.exd5×¼ly@A/6D11e Slav: 3.Nf3 dxc4 4.Nc3×»D¾®®½eHE60a King's Indian: Mengarini Attack׸-áµJ)bA39m English: Symmetrical, Main Line 7.d4, 10.Qd3׸ÓæÔBfB27h Sicilian: Hungarian, 3.c3 Bg7 4.d4 cxd4 5.cxd4×µóìøn<C57f Two Knights: Lolli Attack׳˜…Mƒ LC70 Spanish: Taimanov (Wing) VariationײÝ$@ýß%JC85d Spanish: Closed, Exchange, 7.Nc3ײ£:ÿL|8D96 Grünfeld: Russian, 7.Bf4×§‘+¾ã~DD06h QGD: Marshall Defence, 3.cxd5×£1£z“4¸@A61 Benoni: Fianchetto Variationן×ÐŽÚ§|NC87c Spanish: Closed, Averbakh, 7.Bxc6+מ¶nîði6D16m Slav: Bronstein, 6.Ne5דÖÚöÁÌH"B07d Pirc: 3.Nbd2׎£I@ípžE76m King's Indian: Four Pawns Attack, 6.Nf3 c5 7.dxc5 Qa5 8.Bd3 Qxc5 9.Qe2 Nc6׌`b2u]BA57i Benko Gambit: 4.cxb5 a6 5.b6×yÆÉ4ºZA32 English: Symmetrical, Two Knights, 4...e6×uÊ$©yþ>D05l Colle: 5.c3 Nc6 6.Nbd2 Bd6×u­ªµ&÷BD30g QGD: 3.Nf3 Nbd7 (Westphalia)×sÝ«œ>D39c QGD: Ragozin, Vienna, 6.e4×q`Óï¦gHD60 QGD: Orthodox, Botvinnik, 8...a6×l‡ãé¸*NC39 KGA: Kieseritsky, Long Whip Defence×a–åä Õ&B07i Pirc: 3.Bd3 g6×_ÌÛQƒm—A04 Reti×WÝcj”HôBD44j Semi-Slav: Botvinnik, 9.Nxg5×CMP”±WJC49i Four Knights: Symmetrical, 7.Bg5×8¸vÈ~|C44w Scotch: Goring Gambit, 4...dxc3 5.Nxc3 Bb4 6.Bc4 d6 7.O-O×0œJwÃ\FB21r Sicilian: Smith-Morra, 3.c3 d3×-‘khÈlíNB90h Sicilian: Najdorf, 6.Be3 Ng4 7.Bg5×*…ÁþÍ@NE05l Catalan: Open, Classical, 8.a4 Bd7× YèðHîÌ@D06o QGD: 2...Bf5 3.Nf3 e6 4.Qb3ÖûàFY2E01 Catalan: 4...c5 5.Nf3Ö÷Ÿ«I?+VA67d Benoni: Four Pawns, Taimanov, 8...Nfd7Ö÷ „Õd8A57e Benko Gambit: 4.Nf3 Bb7Öí }eœ³¨€A79 Benoni: Classical, Main Line, 10.Nd2 Na6 11.f3 Nc7 12.a4 Nd7Öì»ËºéÆjB00r Nimzowitsch Defence: 2.Nf3 d6 3.d4 Nf6 4.Nc3 Bg4Öé…ŸrÊ ¥`B47m Sicilian: Taimanov, 6.g3 a6 7.Bg2 Nf6 8.O-OÖæJ~œî‘&>C45e Scotch: Steinitz VariationÖâé‹A|à¡`A97 Dutch: Ilyin-Zhenevsky, Winter, 8...Qg6 9.e4ÖØôùÞþs‹^E13m Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 g5ÖÑÝo©s_£LB75 Sicilian: Dragon, Yugoslav, 7...a6Ö¿I\ŹNC42s Russian Game: Classical, 6.Bd3 Be7Öµúbc°8LC54g Giuoco Pianissimo: 5.d3 d6 6.Nbd2Ö³Š>3Dÿ€E69f King's Indian: Fianchetto, Classical, 9.h3 exd4 10.Nxd4 Re8Ö²ÿ‰I~\D38n QGD: Ragozin, 5.Bg5 h6 6.Bxf6 Qxf6 7.cxd5Ö°9tª'úæ`B84 Sicilian: Scheveningen, Classical, 7.O-O Qc7Ö¬ÂacœŒðJC39 KGA: Allgaier, Schlechter DefenceÖ¬ WTzÚ´bC97d Spanish: Closed, Chigorin, 11.d4 Qc7 12.Nbd2Ö§Ô¨ìúœ„BD73 Neo-Grünfeld, 5.Nf3 c6 6.cxd5Öî&)ûÞ>D02j Queen's Pawn: Krause, 3.c4Ö”õôÜPB52h Sicilian: 3.Bb5+, Sokolsky, 5...Nc6Ö’ h¢0²xLC44a Open Game: Irish (Chicago) GambitÖŒ6})½Êk<C00n French: KIA 2.d3 d5 3.Qe2Ö}G¸Nõèt8E61a King's Indian: 3.Nc3 d6ÖxÝc“Íåå(C68a Spanish: 3...a6Övúž $NXB97p Sicilian: Najdorf, Poisoned Pawn, 10.e5Öd%`§œB67s Sicilian: Richter-Rauzer, 7...a6, 9.f4 b5 10.Bxf6 gxf6 11.Kb1 Qb6 12.Nxc6Öb-L¯çB>A08 Reti: KIA, French VariationÖYxÊuK«ðFE06 Catalan: Closed, 6.O-O c6 7.Nc3ÖTUšÏAeÄbB65a Sicilian: Richter-Rauzer, 7...Be7, 9.f4 Nxd4ÖQW› E^E15m Queen's Indian: Nimzowitsch, 5.b3 d5 6.Bg2ÖN"¼QEYNC00x French: Alapin-Diemer Gambit (ADG)ÖJ}2/:·ÞBB15c Caro-Kann: Gurgenidze/ModernÖ@,JPœ‡8A04 Reti: Lisitsin: 3.Ng5 e5Ö=š§'Ûâ¶HB22f Sicilian: Alapin, 2...d5 3.exd5ÖÝGü6B01b Scandinavian: 2...Qxd5Ö ²d71¯3’D41j QGD: Semi-Tarrasch, 6.g3, Main Line, 9.Nxd5 exd5 10.dxc5 Bxc5 11.Bg5Öš·¸C¬D58o QGD: Tartakower, 8.Be2 Bb7 9.Bxf6 Bxf6 10.cxd5 exd5 11.b4 c6 12.O-OÖ7á*2c0A10 English: Anglo-DutchÖ£[Õ¾ ŒE75j King's Indian: Averbakh, 7.d5 e6 8.Qd2 exd5 9.exd5 Re8 10.Nf3 Bg4Õú0-{OaDC32 KGD: Falkbeer, Keres VariationÕñùpÿcîÎFA82 Dutch: Staunton Gambit, 4.f3 e6Õêé¤ãˆÉ^B25k Sicilian: Closed, 6.f4 e5 7.Nf3 Nge7 8.O-OÕê6´>‰)ZNC48o Four Knights: Rubinstein, 5.Ba4 c6ÕæÚf åLE30 Nimzo-Indian: Leningrad, 6.d5 exd5ÕÛßm>rdHE11y Bogo-Indian: 4.Bd2 Bxd2+ 5.Qxd2Õ×Y}(8C50l Giuoco Piano: 4.O-O Nf6ÕË5†“b|rZB43l Sicilian: Kan, 5.Nc3 Qc7 6.Be2 Nf6 7.O-OÕÂÞxî íölC86l Spanish: Worrall Attack, 7...O-O 8.c3 d5 9.d3 Bb7Õ»~ãä¥ùRB96n Sicilian: Najdorf, Polugaevsky, 8.e5ÕµæKò‚jZA07 Reti: KIA, Yugoslav, Main Line, 6.Nbd2 e5Õµ 4Õj©nDC29k Vienna Gambit: Paulsen AttackÕ±#“ 9BC45o Scotch: Romanishin VariationÕ¥áT€¨5‘^C51 Evans Gambit Declined, Hirschbach VariationÕ B èH>tC50t Giuoco Pianissimo: Italian Four Knights, 5...d6 6.Be3ÕŸ2À›àJC85f Spanish: Closed, Exchange, 7.Qe1Õœ\∭ýdA39h English: Symmetrical, Main Line 7.d4, 8...Ng4Õ˜‚Ýåq§RB26n Sicilian: Closed, 6.Be3 e6 7.Qd2 Nd4Քؑ¢üLt0A54 Old Indian: 5.Bg5 c6Õ’×~pD89b Grünfeld: Classical Exchange, Main Line, 13.Bd3 Be6Õ’‰mK1bB80t Sicilian: Scheveningen, Fianchetto VariationՊĈ¶nº¦bE12t Queen's Indian: Petrosian, Kasparov, 7...Be7ÕŠ"Ã3J‹ù@E60i King's Indian: b3+g3 SystemÕ‰2€>/XA41i Neo-Old Indian: Wade Defence, 3.c4 Bxf3ÕˆRÌ ÞˆvB19s Caro-Kann: Classical, Spassky, Main Line, 13.Ne4 O-O-OÕ„?ë« ÿý4C02n French: Advance, EuweÕvX¸:Ãì[rE82g King's Indian: Sämisch, Fianchetto, 7.Bd3 Bb7 8.Nge2Õu-Y©¤-dC05t French: Tarrasch, Closed, 7.Ngf3 Be7 8.O-O g5ÕP[›·ÂwÕHD23r QGA: Mannheim, Main Line, 10.e3ÕKè(±Å–R`A32 English: Symmetrical, Two Knights, 5.g3 Bb4+ÕJ^ä§“ nE70v King's Indian: Accelerated Averbakh, 5...O-O 6.Qd2Õ8°1èP˜@B18d Caro-Kann: Classical, 5.Ng3Õ6…îžÕÍTC33 KGA: Bishop's Gambit, Fraser VariationÕ,Þèߦë—@E00l Catalan: 3...Bb4+ 4.Bd2 Be7Õ+»cDA03 Bird: 1...d5 2.Nf3 Nf6 3.g3 g6Õ!‘êa”*ã\A44g Old Benoni: Czech, 3.c4 d6 4.e4 Be7 5.Nc3Õz‰ŽX†D91n Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Qd2 exd5: 11.h4 h6Õø3®;}PC18m French: Winawer, 6...Ne7 7.Qg4 cxd4ÕKJw°nà2E61a King's Indian: 3.Nc3Ôþ&÷Ñ) åTE12j Queen's Indian: Petrosian, 5.Nc3 Bxf3Ôü\„2ÿú,A52a Budapest: 3...Ng4Ôø\¯¯Iõ TC67n Spanish: Open Berlin, 5.d4 Nd6 6.dxe5Ô÷l 0Û“HA57k Benko Gambit: 4.cxb5 a6 5.b6 d6ÔõÚ;ÐîG]$B07g Pirc: 3.f3 g6Ôõm÷ÑN^ïFB06t Modern: Pseudo-Austrian AttackÔë dáã‚B17o Caro-Kann: Steinitz, 5.Ng5 Ngf6 6.Bd3, Main Line 10.Qxe4 Nf6Ôäw>¬UxuFE06 Catalan: Closed, 6.O-O c6 7.Qc2ÔÖ#¹Úºç‘<D30v QGD: 3.Nf3 Nf6 4.Bg5 Nbd7ÔÔ%1þKÜrE94d King's Indian: 7.O-O exd4 8.Nxd4 Re8 9.f3 Nc6 10.Be3ÔÒÔÚ­«íTC84l Spanish: Closed, Centre Attack, 7.Re1ÔÒVáéS»6hA75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.Bf4 Qe7ÔÐÒMèQ0tB70q Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-O 8.Re1 Nc6 9.Nb3Ô»îçVI6C55l Two Knights: 4.d4 exd4Ô¨‚·ºpË 8C77a Spanish: Morphy DefenceÔ£¼+ÃK(æNC23 Bishop's Opening: del Rio VariationÔ—mHÀ>THC48a Four Knights: Spanish VariationÔ–è9 —HA58m Benko Gambit: Fianchetto, 9.Bg2Ô”ø¯”tŠ[RA87 Dutch: Leningrad, Main Line, 6.Nc3 d6Ô'ˤh•HA19 English: Mikenas, Sicilian, 4.e5Ô‰{´&èù^(D45a Semi-Slav: 5.e3Ôˆ íÙÏ(C25d Vienna: 2...Bc5Ô„•¬â*+`jD48p Semi-Slav: Meran, Reynolds, 10...c4 11.dxe6 fxe6Ôy\`›ÊÚNB33j Sicilian: Pelikan, 7.Bg5 a6 8.Bxf6Ôt}tU|qÜXE74g King's Indian: Averbakh, 6...c5 7.d5 a6ÔrueèßÂbE92e King's Indian: 6.Be2 e5 Queenswap, 9.Bg5 Re8ÔS׉S,sJB34a Sicilian: Accelerated FianchettoÔD tcWÝyA29 English: Four Knights, 4.g3 d5 5.cxd5 Nxd5 6.Bg2 Nb6 7.O-O Be7 8.Rb1Ô.A!œÁM`C89b Spanish: Marshall, Herman Steiner VariationÔ+3iéTâTB15k Caro-Kann: Gurgenidze: 4.Nf3 Bg7 5.e5Ô$À)hÆë A04 Reti: 1...d6Ô!D r‰fQHD02d Queen's Pawn: 2.Nf3 Bf5 3.e3 c6Ô! J¶kfZ`D31w Semi-Slav: Marshall Gambit, Gunderam GambitÔ7¦³…S2A15 English: Anglo-IndianÔ ŠS"VNC96f Spanish: Closed, Chigorin, 10...c5ÔkCMýQWPC03l French: Tarrasch, Guimard VariationÓñ®³BÅ¢âLB00a King's Pawn: Hippopotamus DefenceÓï°Þ„ÀçHD02t Queen's Pawn: 3.g3 c6 4.Bg2 Bg4ÓîFÔ*÷œHE17u Queen's Indian: Pomar VariationÓæ_l'm¨PA33p English: Symmetrical, Geller, 7.Nb3Óã"Ékl:C60d Spanish: Pollock DefenceÓÙ‰‰ íÍPA76 Benoni: Classical, Main Line, 10.Qc2ÓØÀ_ÉJdA59f Benko Gambit: 7.e4 Line, 9.Nf3 Bg7 10.h3 Nbd7ÓÍ´@^ëFE50 Nimzo-Indian: 4.e3 O-O 5.Nf3 c5ÓÄ=•wž{FA70b Benoni: Classical, 7...a6 8.a4ÓÁ%~©uëÇRB46l Sicilian: Taimanov, 5...a6 6.Be3 Nf6Ó¾p9­¾¡$A46a Indian: 2.Nf3Ó± ÌõŠLB22t Sicilian: Alapin, 2...Nf6, 5.cxd4Ó¯ëÞ'!Šâ.C37 KGA: Blachly GambitÓ¢û=§ßk;:D07h QGD: Chigorin, 3.Nf3 Bg4Óšõº°”à0B30k Sicilian: RossolimoÓ•möj3 pC09o French: Tarrasch, Open, Main Line, 9.Nb3 Bd6 10.Re1Ó”•q½)®<A58c Benko Gambit: 5.bxa6 Bxa6Ó’%5cÐÜ,lD69 QGD: Orthodox, Classical, 13.dxe5: 15.f4 Qf6 16.f5ÓŒMb×~ò:A60l Benoni: Snake, 6.Nf3 Bc7Ó‡”Ø!wVC52 Evans Gambit: Alapin-Steinitz VariationÓ}Äþø:J@A46p Indian: London, 3...c5 4.e3Ów­•zmþBC44e Open Game: Inverted PhilidorÓmº¯èâÃâtE29 Nimzo-Indian: Sämisch, 5...O-O 6.e3 c5 7.Bd3 Nc6 8.Ne2Óg\‹è˜.:D94 Grünfeld: 5.e3 O-O 6.cxd5Ó[¶ïð WNC65o Spanish: Berlin, Benelux VariationÓY´Eç±PB25s Sicilian: Closed, 6.f4 e6: 9.Be3 b6ÓXÉÃw'É*ND02j Queen's Pawn: Krause, Reversed QGAÓWBݘ‡(ÇfD98i Grünfeld: Russian, Smyslov, 8.Be3 Nfd7 9.O-O-OÓOéŽÛ¼ëpD49g Semi-Slav: Meran, Sozin, Stahlberg Attack, 13...Bb4ÓO_Šx°ŽA67c Benoni: Four Pawns, Taimanov, 8...Nbd7 9.e5 dxe5 10.fxe5 Nh5 11.e6Ó8»48e_5<C10q French: Rubinstein, 7.Bg5Ó6§E dB22j Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nf6Ó2÷JsÚÊ@D25i QGA: Janowski-Larsen, 6.Qb3Ó-A|ζӗ^D34t QGD Tarrasch: 9.Bg5 cxd4 10.Nxd4 h6 11.Be3Ó&ãÆ§â¥ûHC78c Spanish: Möller Defence, 6.Nxe5Ó ¼ÁÜt!,dA94 Dutch: Stonewall, Botvinnik, 8.Ba3 Nbd7 9.Bxe7Ó ªÆxáv§4E06 Catalan: Closed, 6.O-OÓ~¾= zDB58e Sicilian: Boleslavsky, 6...e5Ó32\ óTB01g Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.d4Óæ—>¥¿@C10r French: Rubinstein, 4...Bd7Ó֙ѤFC55n Two Knights: Perreux VariationÓ‚¡­·&E12a Queen's IndianÓ$ i0Ò@B01r Scandinavian: 2...Nf6 3.Bc4ÓÆÛU…>2A57h Benko Gambit: 4.cxb5ÒüjfæÈ A06 Reti: 1...d5ÒóeÐ"làÈ:C89i Spanish: Marshall, 12.d3ÒÜMC›KUDtB48t Sicilian: Taimanov, 6.Be3 a6 7.Bd3 Nf6 8.O-O Ne5 9.h3Ò܉EðãPD41n QGD: Semi-Tarrasch, 6.e4, Main LineÒ×Ô+'(ÌJB56h Sicilian: Open, 2...d6 5.Nc3 Nc6ÒÏ·;Ëð2A40u Queen's Pawn: ModernÒÏWL(Ã/xB08v Pirc: Classical, 5.Be2 O-O 6.O-O Bg4 7.Be3 Nc6 8.Qd2 e5ÒȾ7Âà‹dHB01b Scandinavian: 2...Qxd5 3.d4 Nf6ÒžuMëòQD21a QGA: 3.Nf3ÒÄŸ ïð+RE16a Queen's Indian: Capablanca VariationÒ¸û­2Ó!aŒD65 QGD: Orthodox, Rubinstein, 9.cxd5 exd5 10.Bd3 Re8 11.O-O Nf8 12.h3Òµ-jÚq°8A20 English: King's, 2.g3 f5Ò®GŬJ'ïRD36l QGD: Exchange, Main Line, 9.Nge2 Re8Ò¥*=g*yúBC68k Spanish: Exchange, 5.O-O Ne7Ò‹>ûê°£ÊFD53e QGD: 4.Bg5 Be7 5.Nf3 h6 6.Bxf6Ò€ýà¶ð”îHE83a King's Indian: Sämisch, 6...Nc6Ò{Ñj´ð @D33g QGD Tarrasch: Swedish, 9.a3Òr‹äýâ3›FD11d Slav: 3.Nf3 Bf5 4.Nc3 e6 5.Qb3Òp³0®ØrB23t Sicilian: Closed, Grand Prix, 3...g6 4.Nf3 Bg7 5.Bc4Òi:aÄ¿bD46i Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...e5Òa^uòÅi0A81 Dutch: 2.g3 e6 3.Nf3Ò]!µp¢,ÂRC01f French: Exchange, 4.c4 Nf6 5.Nc3 Be7ÒZ)«§Ÿ¢`B84 Sicilian: Scheveningen, Classical, 7.O-O Be7ÒWóÚ)A<E00g Catalan: Hungarian GambitÒRÀ—_?}$A56o Benoni: CzechÒK¾4T{É'dE64e King's Indian: Fianchetto, Yugoslav, 7.d5 Na6ÒF5ˆŽüÑ—"D32a QGD TarraschÒC»lžÚã8C61a Spanish: Bird's DefenceÒA¾ØÄ,¹8D82 Grünfeld: 4.Bf4 Bg7 5.e3Ò@Ö©*Ó?Ë*A46d Neo-Benoni: 3.c3Ò;‹‘[¦éôfB21y Sicilian: Smith-Morra, 5.Nf3 d6 6.Bc4 e6 7.O-OÒ7þ×_uÏ^A28 English: Four Knights, Romanishin VariationÒ0‡.r7 VC16m French: Winawer, Advance, 4...Ne7 5.a3Ò/JcvÔ lB52p Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Qxd7 5.O-O Nc6 6.Re1Ò'æ+ðëuÐ’B97v Sicilian: Najdorf, Poisoned Pawn, Main Line, 13.e5 dxe5: 15.Ne4 Qxa2Ò%m!N–+TC44w Scotch: Goring Gambit, 4...dxc3 5.Bc4Ò#M½ð½VFA37b English: Symmetrical, 5.Nf3 a6Ò»-?¶ŽZC84d Spanish: Closed, 6.Nc3 b5 7.Bb3 d6 8.Nd5Ò¿nQ¥lB27i Sicilian: Hungarian, 3.c3 Bg7 4.d4 cxd4 5.cxd4 d5ÒNÌØÀuvD77l Neo-Grünfeld, 6.O-O dxc4 7.Na3 Nc6 8.Nxc4 Be6 9.b3 Bd5ÒóùPmÖ@A45s Trompowsky: 2...Ne4 3.h4 d5Ò ?õ¾j/TC48n Four Knights: Rubinstein, 5.Ba4 Nxf3+Ñýõx”ŸLD48i Semi-Slav: Meran, 8...a6 9.e4 Bb7Ñø˜pUX&FD36c QGD: Exchange, 6.Qc2 Be7 7.Nf3Ñðáûï $HD00u Blackmar-Diemer: Vienna DefenceÑð©¸+B$ 0D30r QGD: 3.Nf3 Nf6 4.e3ÑèÞ'ç+INC09a French: Tarrasch, Open, 5.Ngf3 Nc6Ñç÷¨‹¢x2A10 English: 1...g6 2.Nc3Ñå»6þóñ<D50 QGD: Dutch-Peruvian GambitÑà¸iñƒoqLC18e French: Winawer, 6...Qc7 7.Qg4 f5ÑßM!R_ê,C33 KGA: Breyer GambitÑÒ•e…“¯=6D77c Neo-Grünfeld, 6.O-O c5ÑÍç&+¶JŽE13k Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 Bxc3+ 8.bxc3 d6 9.Nd2 Nbd7ÑÈÙJ•Þd`C52 Evans Gambit: Tartakower Attack, 8.dxe5 dxe5Ñ¿ÈÛ(Sšô|E76r King's Indian: Four Pawns Attack, 6.Nf3 c5 7.d5 e6 8.dxe6Ѷí£þ=?6D08 QGD: Albin, Lasker Trapѯñµ×:Æ8D51 QGD: 4.Bg5 Nbd7 5.Nf3 c6Ñž\Ý~FB57e Sicilian: Sozin, Benko, 7.Nde2Ñ›U¦m²ËXA22 English: Bremen, Smyslov, 4.Bg2 O-O 5.e4јdó²DÉR‚E08q Catalan: Closed, 7.Qc2 c6 8.b3 b6 9.Rd1 Bb7 10.Nc3 Rc8 11.e4Ñ—ƒÉ4]\oBC22 Centre Game: Berger VariationÑŒa‚äLœ÷\C23 Bishop's Opening: MacDonnell Double Gambitшã0 —ýDB27d Sicilian: Katalimov VariationÑrÿÕ}ýGhVB21h Sicilian: Grand Prix, 2...Nc6 3.Nf3 g6Ñl›ã9xéDA46t Torre Attack: 3...c5 4.c3 Qb6Ñk{ÉJ³1ÊZD79i Neo-Grünfeld, 6.O-O c6 7.cxd5 cxd5 8.Ne5Ñh­FWsªTC60j Spanish: Fianchetto (Smyslov) DefenceÑe©:RDöuVE32e Nimzo-Indian: Classical, 4...O-O 5.Bg5ÑaåªXFA16 English: Anglo-Indian, 2.Nc3 c6Ñ`Éu…2 bC45x Scotch: 4.Nxd4 Bc5 5.Be3 Qf6 6.c3 Nge7 7.Bc4Ñ]¥÷¨ÅBD40f QGD: Semi-Tarrasch, 5.e3 Nc6ÑYÁÌ¥¡:jC44y Scotch Gambit: Anderssen (Paulsen) CounterattackÑU¨ô=Ê÷ØFC52 Evans Gambit: Tartakower AttackÑOuÊ÷õŒ+‚E14i Queen's Indian: 4.e3 Bb7 5.Bd3 Bb4+ 6.Nbd2 O-O 7.O-O d5 8.a3ÑMÇ)ì9Û¡HD26s QGA: Classical, 6.O-O Nc6 7.Nc3ÑKˆé'†‡ÓFC07i French: Tarrasch, Open, 4.exd5ÑAzþ!Ùñç0D38h QGD: Ragozin, 5.Bg5Ñ;æÆ¨U{èxB49i Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O Bb4 9.Nxc6Ñ0É;Wí(}zA37p English: Symmetrical, 5.Nf3 e6 6.O-O Nge7 7.d3 O-O 8.Bd2Ñ.•Uú†Z£<B44g Sicilian: Taimanov, 5.Be3Ñ(Ô eÂñ(A45i Indian: 2.g3 c5Ñ&¥¿õ×6A90 Dutch: 2.c4 Nf6 3.g3 e6Ñ#clÙ\‡_<E15b Queen's Indian: 4.g3 Bb4+ÑÜ{} «>D00i Trompowsky: 2...d5 3.e3 e6ÑnŒ’ÖrB52s Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Qxd7 5.O-O Nc6 6.c3 Nf6Ñ “×£Zõ¶&D04b Colle: 3...Bg4Ñ QÑ-·èfA75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.Bg5 h6Ðü:¥ŽºÔ4D10e Slav: Exchange, 4.Nc3Ðû«Ûž&¶HC30c King's Gambit: 2...d6 3.Nf3 Nc6ÐøÄƒÕH2RPC33 KGA: Bishop's Gambit, Bledow, 4.Bxd5Ðð Üé®/hE98o King's Indian: Mar del Plata, Fischer VariationÐè"šs.=™BA13t English: Neo-Catalan, 4...c5ÐáùH´õt2B51k Sicilian: 3.Bb5+ Nc6ÐÛôx GÕ8C45g Scotch: Steinitz, 5.Nb5ÐØŽ$û5Q‘NE11q Bogo-Indian: Nimzowitsch, 5.g3 O-OÐÓñKÁš«ÞfA89 Dutch: Leningrad, Main Line, 7.Nc3 Nc6 8.d5 Na5ÐÐ|×§_³(A00d Clemenz OpeningÐÊù)‰sRB22t Sicilian: Alapin, 2...Nf6, 5.cxd4 d6ÐÅ|Ë”û'›*A46g Indian: 2.Nf3 d6Ð¥í÷À¼¿(D80 Grünfeld DefenceТqÓH7ÑTC55k Two Knights: 4.d3 Be7 5.O-O O-O 6.Re1С¶ ¹í¼]PC07j French: Tarrasch, Open, 4.exd5 Qxd5ИQéÿ—PB08p Pirc: Classical, 5.Be2 O-O 6.O-O c6Ð7×ìñfD42f QGD: Semi-Tarrasch, 7.Bd3 Main Line, 9.O-O O-OÐŽ0QÏ#‚B11k Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 e6 6.d3 Nd7ЄÞ_x«ªôFA29 English: Four Knights, 4.g3 Bc5Ðp ùM‰Jé*C44t Scotch: 3...exd4Ðmg zPE08i Catalan: Closed, 7.Qc2 c6 8.Bf4 Ne4ÐižrgÂqVE12p Queen's Indian: Petrosian, 6.cxd5 exd5ÐaT‘×ÇzáRC78m Spanish: 5.O-O b5 6.Bb3 Bc5 7.a4 Rb8Ð_¦7ÄÜVhC49m Four Knights: Symmetrical, 7.Bg5 Bxc3 8.bxc3 h6ÐSÕhY@2A04 Reti: 1...f5 2.d3 Nf6ÐJöŒ…¡ÅA07 Reti: KIAÐC7Gƒ³,C26p Vienna: 3.Bc4 Bc5Ð?ÞD×e^D\B71 Sicilian: Dragon, Levenfish, 6...Nc6 7.Bb5Ð?0 CYÕRNE17e Queen's Indian: 6.Nc3 O-O 7.Qc2 c5Ð*^C5$D24h QGA: 4.Nc3 a6Ð%dLgó±å\D23m QGA: Mannheim, 4...c6, 5.Qxc4 Bf5 6.g3 e6Щ„åI-TB70l Sicilian: Dragon, 6.Be2 Bg7 7.O-O Nc6ж]ѧEvzE29 Nimzo-Indian: Sämisch, 5...O-O 6.e3 c5 7.Bd3 Nc6 8.Ne2 d6Ð/ÊŠDÂ[dE65f King's Indian: Fianchetto, Yugoslav, ExchangeÐ)÷ŠŠ&C20 Open Game: 2.c4ÐÞ)@Lë\D76b Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3Ïì5ïow;vC16n French: Winawer, Advance, 4...Ne7 5.a3 Bxc3+ 6.bxc3 b6Ïßgº¬‚gŸnA35l English: Symmetrical, Four Knights, 4.g3 d5 5.cxd5ÏÞcü33{òhB90s Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.f3 Nbd7ÏÆ±sO¦btB31f Sicilian: Rossolimo, 3...g6 4.Bxc6 dxc6 5.d3 Bg7 6.h3ÏÀ2­²|P†ZA37t English: Symmetrical, 5.Nf3 e5 6.d3 Nge7Ï·-r93JB32n Sicilian: Lowenthal, Kalashnikov϶/¸?H vpB38p Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O a6ϨºR íëzBC68n Spanish: Exchange, 5.O-O Bg4ÏšˆÏ; ~PND31g QGD: Alatortsev, 5.Bf4 c6 6.e3 Bf5Ï…Gºzqù²,A47 Neo-Queen's IndianÏ‚LKGDB04d Alekhine: Modern, 4...c6 5.c4Ï|C=Îÿh@C01i French: Exchange, 4.Bd3 Nc6Ïsd£1îhB29m Sicilian: Nimzowitsch, Rubinstein CountergambitÏr•[ˆT¤ê(C00x French: 2.d4 d5Ïn]x€ª£~D62 QGD: Orthodox, Rubinstein, 7.Qc2 c5 8.cxd5 Nxd5 9.Bxe7 Qxe7Ïn[•G¾ÐDC16e French: Winawer, 4.e5 b6 5.a3Ïif“ñîVC41p Philidor: Exchange, Sokolsky VariationÏgJ0­yÛhBB10r Caro-Kann: Goldman/SpielmannÏf [~R:B94a Sicilian: Najdorf, 6.Bg5Ïe¹è©’êfC92t Spanish: Closed, Zaitsev, 12.a4 h6 13.Bc2 exd4Ïa$Θ>óVRC54i Giuoco Pianissimo: 5.d3 d6 6.O-O O-OÏY ±y¿ýdA38q English: Symmetrical, Main Line, 7.d3 d6 8.a3ÏEN¦Úìíb4A21 English: King's, 2.Nc3ÏEKe£Ä³€E85j King's Indian: Sämisch, Orthodox, 7.Nge2 Nc6 8.d5 Ne7 9.Qd2ÏC%1ýjÐ)\A34 English: Symmetrical, 3 Knights, 5.e4 Nxc3Ï9ÿ=»ŽïjE63f King's Indian: Fianchetto, Panno, 8.b3 Rb8 9.Bb2Ï7Ì¥Cáä7LB50h Sicilian: 2.Nf3 d6 3.Bc4 Nf6 4.d3Ï22:_JJaDD53h QGD: 4.Bg5 Be7 5.Nf3 h6 6.Bh4Ï,çB}ˆÐ\‚B45t Sicilian: Taimanov, Four Knights, 6.Ndb5 Bb4 7.a3, 9.ed5 ed5Ï*ŸÎÖüãŽZB50w Sicilian: 2.Nf3 d6 3.c3, Torre VariationÏáFeÛ8B70f Sicilian: Dragon, 6.Bc4ÏÎ@»M<C52 Evans Gambit: 5...Ba5 6.d4ÎûñÓШE<E60j King's Indian: FianchettoÎö9á/ŠTC36 KGA: Scandinavian, Botvinnik VariationÎðBä?¦Â8B07b Pirc/Reti: Wade DefenceÎí=¹ Œ€„A91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nh3 O-O 6.O-O d6 7.Nc3 Qe8Îçúf©ÅµvpD88 Grünfeld: Classical Exchange, Main Line, 11.cxd4 Bg4ÎäáK¶ |ND61 QGD: Orthodox, Rubinstein, 7.Qc2 c6ÎäÙä&CöÄFB51d Sicilian: 3.Bb5+ Nd7 4.O-O Nf6Îâ+|'r8ìLC18a French: Winawer, 5...Bxc3+ 6.bxc3Îß:˜õVÍ)dD66 QGD: Orthodox, Main Line, Fianchetto VariationÎÔÙ“Ë}¢\A30u English: Symmetrical, Hedgehog, 8.Qxd4 d6ÎÑ4Aì¬z.8B07v Pirc: 4.Be3, 150 AttackÎÊjHÊ­ÌÖ`E55 Nimzo-Indian: Main Line, Bronstein, 9.Qe2 b6ξA´<ûÎzrE69j King's Indian: Fianchetto, Classical, 9.h3 Qb6 10.c5γç1¾ÂhE16d Queen's Indian: Capablanca, 6.Nbd2 O-O 7.O-O d5ή«È/U!KJD53v QGD: 4.Bg5 Be7 5.e3 O-O 6.Qc2 c5Ωßëª`džDD17g Slav: Central, 6.Ne5 Na6 7.f3Σñ'~ØlpC09n French: Tarrasch, Open, Main Line, 9.Nb3 Bd6 10.Bg5ΠZÌ×!3PC11r French: Burn, 5.Nxe4 Nbd7 6.Nf3 Be7ÎŒ3Ë9:.JB22d Sicilian: Alapin, 2...e6 3.d4 d5΃éãbäD~jE81h King's Indian: Sämisch, 5...O-O 6.Bg5 c5 7.d5 h6Î{A´F;ƒ4A46r Torre Attack: 3...Be7Î[i^ I€&A56a Benoni: 2...c5ÎX~ño õhB98j Sicilian: Najdorf, Browne, 10.O-O-O Nbd7 11.Be2ÎX&ô^D§ÆdE73y King's Indian: Averbakh, 6...h6 7.Be3 e5 8.d5ÎT(Ê ëÒÈ4B40e Sicilian: 2...e6 3.g3ÎS}OÐ&™lE16h Queen's Indian: Capablanca, Nimzowitsch VariationÎR‰œzû~f6A12 English: London DefenceÎQé®Í8~vJD35o QGD: Exchange, 5.Bg5 c6 6.e3 Be7ÎMq¹”n0ND59m QGD: Tartakower, Main Line, 12.Bd3ÎIË×\é(RE18f Queen's Indian: 7.Nc3 d5 8.cxd5 exd5ÎHÀ×Òþ3ˆ&A25 English: ClosedÎG|DEçRB13p Caro-Kann: Panov-Botvinnik, 5...dxc4ÎB²Ÿÿk|E95m King's Indian: 7.O-O Nbd7 8.Re1 c6 9.Bf1 exd4 10.Nxd4 Ng4Î?,‹ýU±8rA45y Trompowsky: 2...Ne4 3.Bf4 c5 4.f3 Qa5+ 5.c3 Nf6 6.d5Î>ƒø$9²ÃbE95k King's Indian: 7.O-O Nbd7 8.Re1 c6 9.Bf1 Re8Î8SÈEdqÍHD07u QGD: Chigorin, 3.Nc3 dxc4 4.Nf3Î1ÙwßÚpD85q Grünfeld: Modern Exchange, 8.Rb1 O-O 9.Be2 cd 10.cdÎ*9–/§PHB54d Sicilian: Open, 2...d6, 4...Nf6Î$ð¸'“DD00c Queen's Pawn: Mason VariationÎ ÷oû dE39g Nimzo-Indian: Classical, Pirc, 6.Nf3 Na6 7.a3ÎÆI‡÷‘jA91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nh3 O-O 6.O-OÎ A”AåpFD46o Semi-Slav: Chigorin, 7.O-O O-O΀kO4–BD51 QGD: 4.Bg5 Nbd7 5.e3 c6 6.Qc2Îù&þ3ihpE82i King's Indian: Sämisch, Fianchetto, 7.Bd3 a6 8.Nge2Îßp9ÝhÞšE12i Queen's Indian: Petrosian, 4...Ba6 5.Qc2 Bb7 6.Nc3 c5 7.e4 cd 8.Nxd4 Nc6Íïæ Ä•>D56 QGD: Lasker Defence, 9.Nxe4Í퀵ŽÚþ&A00q Polish: 1...d5ÍÞö_€@B40n Sicilian: Kveinys VariationÍÞN›A5|}4C44t Scotch: Goring GambitÍÊzˆNIjB59k Sicilian: Boleslavsky, 7.Nb3 Be7 8.O-O O-O 9.Be3͹Þ}RõAÕpA33g English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.Ndb5͸ï˵€"Ÿ`C41z Philidor: Improved Hanham, 7.Re1 c6 8.a4 b6Í·Z\ (@A34 English: Symmetrical, 2...g6͵{Ñ¡6s)lD97d Grünfeld: Russian, Alekhine (Hungarian) VariationͰ*”ä¶X=4D26p QGA: Classical, 6.O-OͯñÉ +Ô‰DC37 KGA: Lolli Gambit (Wild Muzio)ͯÕaò8•6VA30r English: Symmetrical, Hedgehog, 8.Qxd4ͬÑBºj8xC43e Russian Game: Modern Attack, 3...exd4, Main Line, 7.Nc3ͪK¬”ØSpD87k Grünfeld: Classical Exchange, 10.Be3 Qc7 11.Rc1 Rd8Í HJ “ŒYPD30h QGD: Tarrasch without Nc3: 4.e3 Nf6ÍÇ“ÖþXBC51 Evans Gambit: Anderssen, 6.d4Í––tB<²VnD79g Neo-Grünfeld, 6.O-O c6 7.cxd5 cxd5 8.Nc3 Nc6 9.Ne5Í”€,B01q Scandinavian: 2...Qxd5, Main Line, 8.Qe2 Bb4 9.O-O-OÍŽ:ñ+wRD96 Grünfeld: Russian, 5...c6 6.cxd5 Nxd5Í-‘Ã,B15q Caro-Kann: 4.Nxe4͆úÖÆ¹Ö+NE95h King's Indian: 7.O-O Nbd7 8.Re1 c6Íw+H¢oŠBA21 English: Kramnik-Shirov, 3.g3Ív+Ò¸ ¹cRC05q French: Tarrasch, Closed, 7.Ndf3 Qa5ÍrGB¨›fD99c Grünfeld: Russian, Smyslov, Main Line, 9...Nb6ÍmRãÆò–lE86d King's Indian: Sämisch, Orthodox, 7.Nge2 c6 8.Qd2ÍeÒ%èõCJC39 KGA: Kieseritsky, Polerio DefenceÍcÊ»¾SqpA91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nh3 O-O 6.O-O d6Í[¤yV{…RE83i King's Indian: Sämisch, Panno, 8.Qd2ÍUò*Ïè˜D˜B45u Sicilian: Taimanov, Four Knights, 6.Ndb5 Bb4 7.a3, 9.ed5 ed5 10.Bd3 O-OÍPéÀQ ¾fE11t Bogo-Indian: Nimzowitsch, 5.g3 Nc6 6.Bg2 Bxd2+ÍClX lÏóDC59h Two Knights: Main Line, 11.f4Í@ïë üëPC06b French: Tarrasch, Closed, LeningradÍ7eâY9d#dB31i Sicilian: Rossolimo, 3...g6 4.O-O Bg7 5.c3 e5Í7Cµi¨Ä/HE91s King's Indian: 6.Be2 Nbd7 7.O-OÍ.ȧ ³HHA55n Old Indian: Main Line, 8.Be3 a6Í*-*E—ŽHA57w Benko Gambit: Zaitsev, 8.Bf4 g5Í'ØKÍ”O\C33 KGA: Bishop's Gambit, Bogoljubow VariationÍ > bg8E91c King's Indian: 6.Be2 a6Í—ÆélÞ£>B47c Sicilian: Taimanov, 6.Ndb5Í—§îsDA54 Old Indian: 5.Bg5 Be7 6.e3 O-OÍVSYå¹TA30h English: Symmetrical, Hedgehog SystemÍã4üªâb0A84 Dutch: 2.c4 e6 3.Nf3Í ö[fȃR&B07h Pirc: 3.Bd3 e5Í ² j½Á÷BA55e Old Indian: 5.e4 Be7 6.g3 c6ÍÔr§’àUDC10i French: Rubinstein, 5.Nf3 Be7Ìõ] Žú4C29f Vienna Gambit: 4.fxe5Ìó+0ºW²zE09q Catalan: Closed, Main Line, 9.e4 Bb7 10.b3 Rc8 11.Bb2 c5Ìòdh£TJ8E00i Catalan: 3...Bb4+ 4.Nd2Ìñl›ëNÉWDB80f Sicilian: Scheveningen, 7.Qd2Ìñ:÷פD.2A41c Neo-Old Indian: 2.g3Ìï ¬Ì"žæ>A02 Bird: From Gambit, 3...Bxd6ÌíÂw‚ËAÇxE60l King's Indian: Fianchetto, Yugoslav without Nc3, 7.dxc5Ìä×’jxÑÜ&D35a QGD: 3.Nc3 Nf6ÌäY‚ ˳fB14c Caro-Kann: Panov-Botvinnik, 5...g6 6.cxd5 Nxd5Ìã2%Ûótˆ:D34r QGD Tarrasch: 9.Bg5 cxd4ÌÙömÛ|ÐbB48n Sicilian: Taimanov, 6.Be3 a6 7.Bd3 Nf6 8.O-OÌÑF|©°àJJD02g Queen's Pawn: 2.Nf3 Nc6 3.g3 Bg4ÌÌßK|µš>B32j Sicilian: Lowenthal, 5.Nb5ÌÆê$[¼E><C60n Spanish: Fianchetto, 4.c3̪»À,…z‰vC05h French: Tarrasch, Closed, 5.f4 c5 6.c3 Nc6 7.Ndf3 cxd4Ìo¸€€òXB01w Scandinavian: Marshall, 4.Nf3 Bg4 5.Be2Ìj™¯À5î^C80s Spanish: Open, Bernstein, 9...Nc5 10.c3 d4Ìb»Ã¯ÂŽÆ,A47 Neo-Queen's IndianÌb=èèqwÏNB12q Caro-Kann: Advance, 4.Nf3 e6 5.Be2Ì^…ÍIé|adA35e English: Symmetrical, 2.Nc3 Nc6 3.Nf3 g6 4.e3Ì^0uÑQÇrD62 QGD: Orthodox, Rubinstein, 7.Qc2 c5 8.cxd5, Main LineÌVì(S7sÒ<D09 QGD: Albin, 5.g3 Be6 6.Bg2ÌFR·0·R÷4A03 Bird: Lasker VariationÌA-Riü+ðDC32 KGD: Falkbeer, Keres, 5...exd3Ì?ôÒü§D„BA62 Benoni: Fianchetto, 9.O-O Na6Ì>BTã©kö:A21 English: King's, 2.Nc3 d6Ì9p{ËVE30 Nimzo-Indian: Leningrad, 6.d5 b5 GambitÌ(üÆX6n^D35v QGD: Exchange, 5.Bg5 c6 6.e3 Be7 7.Bd3 O-OÌ& $Ñ ,A48b Neo-King's IndianÌaÊù cšHD14q Slav: Exchange, 8.Bb5 Nd7 9.Qa4ÌùHݱÀzœD85s Grünfeld: Modern Exchange, 8.Rb1, 10...Qa5+ 11.Bd2 Qxa2 12.O-O Bg4 13.Bg5ÌwЉbE12h Queen's Indian: Petrosian, 4...Ba6 5.Qc2 Bb7̘îXÐ!ûZB75 Sicilian: Dragon, Yugoslav, 7...Nc6 8.Bc4Ì]’m<^xzB90i Sicilian: Najdorf, 6.Be3 Ng4 7.Bg5 h6 8.Bh4 g5 9.Bg3 Bg7Ëþ}„Ê`ÚZA17 English: Anglo-Queen's Indian, RomanishinËýo){©%fDD08 QGD: Albin, 4.Nf3 Nc6 5.a3 Be6ËüÔ²é>¨—8B50e Sicilian: 2.Nf3 d6 3.d3Ëûi¶LBŒVD71 Neo-Grünfeld, 5.cxd5 Nxd5 6.e4 Nb4 7.d5Ë÷pÙoK.PD06b QGD: Austrian, Rubinstein VariationËööùò¾´®`E23 Nimzo-Indian: Spielmann, Stahlberg VariationËòæ¬bE);HA12 English: Caro-Kann Defence, 3.b3Ëñ+9è"¯5&A25 English: ClosedËÖgÞêˆ@B10e Caro-Kann: Breyer, 3.Nd2 e5ËÎ ×ÞæáVB53x Sicilian, Chekhover, Main Line, 11.Qd2ËÆ‰µOâXC80t Spanish: Open, Bernstein, Karpov GambitËÃÂïj½ˆ—vD76g Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.e3 Re8Ë«˜~Êš tC57c Two Knights: Traxler, 5.Nxf7 & 6.Kf1, Beyer's 8...Bg4Ë–è ¡ìÞ)JD26k QGA: Classical, Furman, 6...cxd4Ë–g B„é|C43s Russian Game: Modern Attack, 3...Nxe4, Main Line, 7...Qh4ËŠ>×sðGMLB72 Sicilian: Dragon, Classical AttackË„`{Á»—&bA33a English: Symmetrical, Two Knights, 5.Nc3 Nc6Ë} WÂzE4D14f Slav: Exchange, 8.Qb3ËkŠçÜ"$A00t Benko OpeningËkëoÂ^hC42w Russian Game: Classical, Chigorin, 8...Bg4 9.c4Ë`†"Ý̾ŒrC89q Spanish: Marshall, Main Line, 15.Be3 Bg4 16.Qd3 Rae8Ë@ ™±Öb³VB22p Sicilian: Alapin, Heidenfeld VariationË-Pø†›¨|B92r Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O O-O 9.Kh1 Qc7Ë Eˆø t(šE86i King's Indian: Sämisch, Orthodox, 7.Nge2 c6 8.Qd2 Nbd7 9.O-O-O a6 10.Kb1Ë )Àz"PXB47a Sicilian: Taimanov, Bastrikov VariationËNç’÷€á(B07u Pirc: 4.Be3 Bg7Ë®r"Ýå\E93 King's Indian: Petrosian, Main Line, 8.Qc2Ë+Ú3 2¹hB92g Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.Be3 Be6Ë ’áYŸ;ÔJA83d Dutch: Staunton Gambit, 4.Bg5 g6Ë 03_"`2>D05f Colle: Rubinstein's AttackË H¬V×.,C13a French: ClassicalËÂQ³ÕÊ%ZE81l King's Indian: Sämisch, 5...O-O 6.Be3 c6ÊûNTëíN*ŒB11m Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 e6 6.d3 Nf6 7.a3Êú !üvD97k Grünfeld: Russian, Alekhine, 8.e5 b5 9.Qb3 Nfd7 10.Be3ÊñDfee.YbE04o Catalan: Open, 5.Nf3 c5 6.O-O Nc6 7.Qa4 cxd4Êñ?–Êf…OBD08 QGD: Albin, 4.Nf3 Nc6 5.a3 a5Êð0Ìy¾»:@B18b Caro-Kann: Classical, 5.Nc5Êê3ÂX Â´8A45p Trompowsky: 2...c5 3.d5ÊâàŸùÇtñ A04 Reti: 1...c5ÊânU°¦lE04n Catalan: Open, 5.Nf3 c5 6.O-O Nc6 7.Ne5 Bd7 8.Na3ÊßÈosZ}ÎVA54 Old Indian: 5.Bg5 Be7 6.e3 O-O 7.Qc2 c6ÊÚOi‘náhD36r QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O-O h6ÊØ‹AÒNC19d French: Winawer, 6...Ne7 7.Nf3 Qc7ÊÐZ¼Ï¡S60B41f Sicilian: Kan, 5.c4ÊÐ,±O~bB30t Sicilian: Rossolimo, 3...e6 4.O-O Nge7 5.Re1ÊÏчèµã–DB07j Pirc: 3.Bd3 g6 4.Nf3 Bg7 5.c3ÊŘ8p®$lJE46 Nimzo-Indian: Reshevsky VariationÊذý¾vD46k Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...a6 10.Rd1 b5Êóp¨W­ÑvD36y QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O Nf8 11.Rab1ʺռø7…2A30a English: SymmetricalʱW«yH:lE87h King's Indian: Sämisch, Orthodox, Bronstein, 9.g3Ê•;vø‘¨¬<C15f French: Winawer, 4.Bd3 c5Ê”ñ?è6A57f Benko Gambit: 4.Nf3 g6ÊŒã0­$”WJB30o Sicilian: Rossolimo, 3...e6 4.b3Ê|-S,9ÄêbA64 Benoni: Fianchetto, 11...Re8 12.h3 Rb8 13.Nc4Êz{ƒê[sjA52m Budapest: Rubinstein, Main Line, 6.Nbd2 Qe7 7.e3Êv$f;y“5\D19j Slav: Dutch, 8...O-O 9.Qe2 Nbd7 10.e4 Bg6ÊrÁ^~ƒ{@(D15b Slav: 4.Nc3 Bf5Ê^¸è¥K“<D96 Grünfeld: Russian, 6...O-OÊ]â=|:’FC42o Russian Game: 5.Qe2, QueenswapÊQ.JqÁë)fE96 King's Indian: 7.O-O Nbd7, Old Main Line, 10.h3ÊI§$e»A»ˆD85r Grünfeld: Modern Exchange, 8.Rb1 O-O 9.Be2 cd 10.cd Qa5+ 11.Bd2Ê@(ÔÂÔNA64 Benoni: Fianchetto, 11...Re8 12.Nc4Ê<¯JqLqVB53q Sicilian, Chekhover, 7.c4 Nf6 8.Nc3 g6Ê2±Žê…F0A43s Old Benoni: SchmidtÊ,þˆ¼8;,D92 Grünfeld: 5.Bf4 c6Ê'Užú 7TB18n Caro-Kann: Classical, 6.Nf3 Nd7 7.Bd3Ê&ÄŒ¢ú5ð(D11b Slav: 3.Nf3 Bg4ʈÁ¾­ö^A83e Dutch: Staunton Gambit, Alekhine Variationʪ%¶Æ‡¨DD15i Slav: Chameleon, 5.e3 b5 6.b3ÊþÃ5jZVA41k Neo-Old Indian: Wade Defence, 3.e4 Nf6ÊgÇàÿTB42g Sicilian: Kan, Polugaevsky, 6.Nb3 Ba7ÉìÏáØï*C33 KGA: Keres GambitÉë@fÇÝËjE19e Queen's Indian: Old Main Line, 9.Qxc3 Be4 10.Ne1ÉæY74tB70t Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-O 8.Bg5 Nc6 9.Nb3ÉÏÐûS&pJA21 English: Kramnik-Shirov, 3.Nd5 a5ÉͨYZðì]NB88 Sicilian: Sozin-Scheveningen, 7.Bb3É̵èf¼Yñ4D24l QGA: Bogoljubow, 7.a4ÉÉ?Õ|ŽçäZA77 Benoni: Classical, Main Line, 10.Nd2 Nbd7ÉÅò}YQl’D88 Grünfeld: Classical Exchange, Main Line, 11.cxd4 Bg4 12.f3 Na5 13.Bd5ÉÂ]“›€D0D51 QGD: 4.Bg5 Nbd7 5.e3É¿¥"uÇbŠlE54 Nimzo-Indian: Main Line, Karpov, 10.Bg5 Bb7 11.Ne5É¿Uvð£fnE03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 a6 7.Nf3 b5 8.Qc2ɽ¼Ÿå°/@D86 Grünfeld: Classical ExchangeÉ·T’5îÉtD76e Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.e3 e5ɶ•¹JÎtA33m English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.g3 Bb4ɪ?S!:B07d Pirc: Lengfellner Systemɦ,!AAgÃHC03m French: Tarrasch, Guimard, 4.c3ɘn}, NE30 Nimzo-Indian: Leningrad, 6.d5 Bxc3+É‘/]Xᨒ”B35p Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3 d6 9.h3 Bd7ÉŠ†×‹füÇtB81s Sicilian: Scheveningen, Keres, 6...Nc6 7.g5 Nd7 8.Be3Ɇ>, ëïlD38p QGD: Ragozin, 5.Bg5 h6 6.Bxf6 Qxf6 7.e3 O-O 8.Rc1ÉvqA\A68k Benoni: Four Pawns, 9.Be2 Bg4 10.O-O Nbd7ÉhcÍâq¸`C77u Spanish: Wormald Attack, Grünfeld VariationÉ^ ׉VA42k Modern: Averbakh, Kotov, 5.Be3 e5 6.d5É\ßÏüÓå7XD85f Grünfeld: Exchange, 7.Bb5+ c6 8.Ba4 O-OÉU¥·оI@B01e Scandinavian, Mieses GambitÉR¿I+tÙ^A71 Benoni: Classical, 8.Bg5 h6 9.Bh4 a6 10.Nd2ÉKkW`åo)FD15n Slav: Chameleon, 5.a4 e6 6.Bg5ÉI½|(¯Ò*A43e Old Benoni: 2.d5É@bC¼Ÿ˜4C84e Spanish: Closed, 6.d3É:W}„Š|ZE94o King's Indian: Glek, Main Line, 11.h3 h6É8Ï—ô…ËTE61q King's Indian: 4.Nf3 d6 5.Bf4 d6 6.h3É.™‰F¡ð†HE12w Queen's Indian: 4.Nc3 Bb7 5.Bg5É)ÞsGÀ©hB78c Sicilian: Dragon, Yugoslav, 10.O-O-O Rc8 11.Bb3É$žUœ™ë¤NA58k Benko Gambit: Fianchetto VariationÉ!³ÇsÃÖÆjE15d Queen's Indian: Nimzowitsch Variation (4.g3 Ba6)É <³Ò®2D60 QGD: Orthodox DefenceÉ/àìÚX\RB08o Pirc: Classical, 5.Be2 O-O 6.O-O Nc6Éá¿¡kXD42d QGD: Semi-Tarrasch, 6.e3 Nc6 7.Bd3 cxd4ÉpÐÿOöIND63 QGD: Orthodox, 7.Rc1 dxc4 8.Bxc4 a6É Ñ‘|B05p Alekhine: Modern, Main Line, 8.h3 Bh5 9.Nc3 O-O 10.Be3 d5É Â:”SÿÄ|B63i Sicilian: Richter-Rauzer, 7.Qd2 h6 8.Bxf6 gxf6 9.O-O-O a6É4|)ñz{hB33c Sicilian: Open, 2...Nc6, 5...Qb6 6.Nb3 e6 7.Bd3Èò4þ¿Z+2A80s Dutch: 2.Nf3 e6 3.d5Èî0ä$wŸ`E12g Queen's Indian: Petrosian, 4...Ba6 5.Qc2 c5ÈåÚ<ÏHA16 English: Anglo-Indian, 2.Nc3 Nc6ÈÂÊ_üsãZB20 Sicilian: Wing Gambit, Marshall VariationÈ¿ºzOªîˆD85q Grünfeld: Modern Exchange, 8.Rb1 O-O 9.Be2 cd 10.cd Qa5+ 11.Qd2ȼ®h *¿RC14b French: Classical, Pollock VariationÈ®_)ú²HA82 Dutch: Staunton Gambit, 3.Nc3 g6È­“@ÍËê>B91f Sicilian: Najdorf, 6.g3 e5Ȭ–"Æ‘ÇHC61h Spanish: Bird's, 5.O-O c6 6.Bc4È«´¢Q›yŠBA61 Benoni: Nimzowitsch VariationȪŽöÜYH,C10e French: 3.Nc3 Be7È¢(E¸©øYZE85d King's Indian: Sämisch, Orthodox, 7.Nge2ÈŸg¡o ¼ƒrD36w QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O Nf8 11.h3Èž 0×lÖfE19h Queen's Indian: Old Main Line, 9.Qxc3 f5 10.b3ÈšÃÜè·údC69i Spanish: Exchange, Gligoric, 6.d4 exd4 7.Nxd4È™ª¯¥ìã¼DA03 Bird: 1...d5 2.Nf3 Nf6 3.g3 g6È‹0.6·5RB19d Caro-Kann: Classical, 7.Nf3 Nf6 8.h5ȉ|â5“`j"D20d QGA: 3.e3 e6Ȉ\À¾õ—}ZC56h Two Knights: Classical, Moller VariationȇåÙ-¥ù€B38s Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O Bd7 10.Nc2ȆžtÚµ4C40l Latvian Gambit: 3.Nc3È}è&ö9 "DC44u Scotch: Goring Gambit, 4...d5ÈylÁ¦¼>C54b Giuoco Piano: Albin GambitÈvw&È–è8B70e Sicilian: Dragon, 6.Bg5Ès§˜ÌlÍrB75 Sicilian: Dragon, Yugoslav, 7...Nc6 8.Qd2 Bd7 9.O-O-OÈp~"P­qFD26l QGA: Classical, Furman, 6...a6ÈUÈÞÜ‹æ~A68g Benoni: Four Pawns, 9.Be2 b5 10.e5 dxe5 11.fxe5 Ng4 12.Bg5ÈO Lÿ;írND38g QGD: Ragozin, 5.cxd5 exd5 6.Bg5 h6ÈMÇUäño¯,A47 Neo-Queen's IndianÈD î¨BR\C95i Spanish: Closed, Breyer, Main Line, 13.b4È?D¶;?\Z\E18y Queen's Indian: Old Main Line, 8.Qc2 Nxc3È4~õõ'!Ü^B15m Caro-Kann: Gurgenidze: 4.Nf3 Bg7 5.h3 dxe4È0¯ñaúLFC32 KGD: Falkbeer, Alapin VariationÈ,¶]?VC38 KGA: Philidor Gambit, Schultz VariationÈ'öˆ!ÞâFE80e King's Indian: Sämisch, 5...e5È$÷DsO‰:A00q Polish: 1...d5 2.Bb2 Bf5ÈxÀåù0ŠvA33i English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.Ndb5 d5È·³ù¬R‚A91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nh3 O-O 6.O-O d6 7.Nc3 c6Èû‚X/,l~B49l Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O Bb4 9.Na4 Be7Èý#8t@A53 Old Indian: 3.Nc3 Nbd7 4.Nf3ÈBƒþÔ©UFA59d Benko Gambit: 7.e4 Line, 9.Nf3È‘ªÖ‹ó”XB90f Sicilian: Najdorf, Fischer-Sozin AttackÈ ú›¶œú{hE96 King's Indian: 7.O-O Nbd7, Old Main Line, 10.Rb1È ­ÇŠ|xç(B07d Pirc: 3.Nbd2 g6Çö\…PíQæ*B12g Caro-Kann: 3.Nd2ÇðPa7‚ïtB66j Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Be3 Qc7ÇìžZ ì,tD79h Neo-Grünfeld, 6.O-O c6 7.cxd5 cxd5 8.Nc3 Nc6 9.Ne5 e6Çá8ò%›«PA09f Reti: Advance, 3.e3 Nc6 4.exd4 Nxd4ÇÜf.HÍ0E60d King's Indian: 3.f3ÇÜQrµ ÿÔBC29s Vienna Gambit: Breyer, 6.Qe2ÇÓyœ;"èMhC24 Bishop's Opening: Urusov Gambit, 7...Nc6 DefenceÇÐÖJ?G]TB05n Alekhine: Modern, Main Line, 8.h3 Bh5ÇÎe©.ê?BA68d Benoni: Four Pawns, 9.Be2 b5ÇÄÚ<ŒÉgôxC49o Four Knights: Symmetrical, Metger, Capablanca VariationÇ£¨†Y©ì<A61 Benoni: 6.Nf3 g6 7.Bf4 Bg7Ç£ŒOK =1<A86 Dutch: Leningrad, 4.Bg2 d6Ç£7ñ.nË4A80b Dutch: Krejcik GambitÇ øž=~7‰>A08 Reti: KIA, French VariationÇ æýÝë`B44m Sicilian, Taimanov, Szen, 6.Bf4 e5 7.Be3 a6Ç™£5fQE_FC30l KGD: Classical, 3.Nf3 d6 4.Nc3Ç“yN{ÎDA21 English: King's, 2.Nc3 d6 3.d4ÇŒž€Ù •º"A80d Dutch: 2.Bg5Ç{ð¤ܺ™NC72 Spanish: Modern Steinitz, 5.O-O Bg4Çx^êrà+VE90t King's Indian: 5.Nf3 O-O 6.h3 c5 7.Be3Çw3ŠÂ¯‹l$A00v Benko OpeningÇq.XÌ,‡VD81 Grünfeld: Early Russian, Adorjan GambitÇfšTQÿ>DA40n Queen's Pawn: 1...e6 2.Nf3 c5Çaß>JA48j Neo-King's Indian: London SystemÇ`³Vñù=ØrA13w English: Neo-Catalan Accepted, 5.Qa4+ Nbd7 6.Qxc4 c5Ç`^$l»ÃHA30e English: Symmetrical, b6 SystemÇ[€çpÐWdA65v Benoni: Sämisch, 8.Bg5 h6 9.Be3 O-O 10.Qd2 a6ÇU,O*› &8B50f Sicilian: 2.Nf3 d6 3.g3ÇNª'…áöLA65o Benoni: Sämisch, 8.Bg5 O-O 9.Nge2ÇA¸¶Ž¡³=DC44y Scotch Gambit: Vitzhum AttackÇ=÷Ñ×ňXE15f Queen's Indian: Nimzowitsch, 5.Nbd2 Bb7Ç9e7¼R"B07q Pirc: 3...g6Ç9!´ÇJ`C82o Spanish: Open, Dilworth, 12.Rxf2 f6 13.exf6Ç5DÜÄ¿`E08p Catalan: Closed, 7.Qc2 c6 8.b3 b6 9.Rd1 Bb7Ç+=×Ö¾NB40o Sicilian: Open, 2...e6, 4.Nxd4 Nf6Ç&Û2®Ù•TE81e King's Indian: Sämisch, 5...O-O 6.Bg5Ç$µôO¨cBC20 Open Game: Napoleon's OpeningÇ!Öd)BC80o Spanish: Open, 8...Be6 9.Be3ÇrJzK¿XD00k Trompowsky: 2...d5 3.Bxf6 exf6 4.e3 Bd6Ç€»Ñê¯ XA83i Dutch: Staunton Gambit, 4.Bg5 e6 5.Nxe4Çب²¡–Ê^C15l French: Winawer, Winkelmann-Reimer, 6...c5Æö+6 7µ‹RD27p QGA: Classical, Rubinstein VariationÆõp?(á^ÝfA76 Benoni: Classical, Main Line, 10.Qc2 Na6 11.Re1Æôœ{b>£\D62 QGD: Orthodox, Rubinstein, 7.Qc2 c5 8.cxd5Æó1¦Y±±U^C19f French: Winawer, 6...Ne7 7.Nf3 Qc7 8.a4 b6ÆÂt1Ë~¹:D63 QGD: Orthodox, 7.Rc1 dxc4Æ¿ÊdaáN8B43b Sicilian: Kan, 5.Nc3 d6ƪ î,Å¢Ÿ\E46 Nimzo-Indian: Reshevsky, Simagin VariationÆžßårM¦BD06f QGD: Marshall Defence, 3.Nc3ƙŬÒ=ªº`C42u Russian Game: Classical, Jänisch, Main LineÆ—pÆ\»VB44e Sicilian: Taimanov, 5.c4 Nf6 6.Nc3 Bb4Ƒ‘ÂlfE60n King's Indian: Fianchetto without Nc3, 6...Nc6ÆŒ3æ§'Ót‚A14 English: Neo-Catalan Declined, 5...O-O 6.b3 c5 7.Bb2 Nc6 8.e3ƄƃQK]HE43 Nimzo-Indian: Nimzowitsch, 5.Bd3Æwÿ²ò]{œ^A75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.h3ÆvÉ®hB™«@A64 Benoni: Fianchetto, 11...Re8ÆthEì@ð7XB99f Sicilian: Najdorf, Main Line, 10.Bd3 h6Æh#AEY#AHA48q Neo-King's Indian: Torre AttackÆ]¢Ô;ý~DC30q KGD: Classical, 4.c3 Nf6 5.d4Æ[ÓgÞ·ZZB02h Alekhine: Scandinavian, Exchange, 4.Nxd5ÆSì¯`ºÛc’C92u Spanish: Closed, Zaitsev, 12.a4 h6 13.Bc2 exd4 14.cxd4 Nb4 15.Bb1 c5ÆOη*àÿDD30x QGD: 3.Nf3 Nf6 4.Bg5 Be7 5.e3ÆJÌ)†¯OETA64 Benoni: Fianchetto, 11...Re8 12.h3 Rb8ÆE|3&0ÇVB42j Sicilian: Kan, 5.Bd3 Nf6 6.O-O d6 7.c4ÆE`¯—à&äLA34 English: Symmetrical, 2...Nf6 3.g3Æ>”vô,QPD59b QGD: Tartakower, 8.cxd5 Nxd5 9.Nxd5Æ<ÎÞA@Gß^E65a King's Indian: Fianchetto, Yugoslav, 7.O-OÆpî`JC51 Evans Gambit: Anderssen VariationÆ/÷m‰*p"B07q Pirc: 3...g6Æ$þ×E™XC51 Evans Gambit Declined, Vasquez VariationÆ"s†óT¬VB96j Sicilian: Najdorf, 7.f4 Nbd7 8.Qf3 Qc7Æ¢¤åKoÜ8B33g Sicilian: Pelikan, 7.a4ÆfèTBVB84 Sicilian: Scheveningen, Classical, 7.f4Ƴ´·÷м,A47 Neo-Queen's IndianÆ9 q‡ÉJPC56d Two Knights: Classical, 7.Bxd5 Qxd5ư÷6Þˆ^B01w Scandinavian: Marshall, 4.Nf3 Bg4 5.Be2 e6Æ üz©¡£TB00x Nimzowitsch Defence: 2.d4 d5 3.e5 Bf5Æ pøŽJD27i QGA: Classical, 6...a6 7.Bb3 Nc6ÅÿOÍbD§È,A47 Neo-Queen's IndianÅúõò–"ÑBA15 English: Anglo-Indian, PolishÅù¸2]p/DC09d French: Tarrasch, Open, 7.O-OÅø#è¶ PD87e Grünfeld: Classical Exchange, 9.O-OÅï‚•E˜bD79f Neo-Grünfeld, 6.O-O c6 7.cxd5 cxd5 8.Nc3 Nc6ÅïĘd®¨>B04a Alekhine: Modern VariationÅì*…ßä ˆE61z King's Indian: Smyslov System, 5...O-O 6.e3 Nbd7 7.Be2 c6 8.O-OÅä Ó&ôÊhzD42m QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Nf6 11.a3 b6ÅâQ¸}Ö\A34 English: Symmetrical, 3 Knights, 5.d4 cxd4ÅÞa!rh<LD49e Semi-Slav: Meran, Sozin VariationÅÕv41ž®íVC56i Two Knights: Classical, Moller, 10.Bg5ÅÑ+`/ÀƒDE27 Nimzo-Indian: Sämisch, 5...O-OÅÎi¬k?k D05h Colle: 5.c3ÅÉôî߀ô"jB59i Sicilian: Boleslavsky, 7.Nb3 Be7 8.O-O O-O 9.Kh1ÅÄ8]$gÚ2B43a Sicilian: Kan, 5.Nc3Å´!ã\=Ù“<B22o Sicilian: Alapin, 2...Nf6Ū¦¶ªÉšÆVD32t QGD Tarrasch: 5.Nf3 Nc6 6.e3 Nf6 7.Be2Ŧó§ÚœÃˆB32r Sicilian: Lowenthal, Kalashnikov, 6.N1c3 a6 7.Na3 b5 8.Nd5 Nge7Å£{ ÐqðNB22a Sicilian: Alapin, 2...g6 3.d4 cxd4Ř'™hJB20 Sicilian: Keres Variation (2.Ne2)Å’Zôæß,A47 Neo-Queen's IndianÅ„@Öø -ôŒB90q Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.f3 Be7 9.Qd2 O-O 10.O-O-OÅv]]6­ÞDE04f Catalan: Open, 5.Nf3 a6 6.O-OÅfålœjÕlbC55w Two Knights: Max Lange, Schlechter VariationÅcïøð#oNC25p Vienna: 2...Nc6 3.f4 exf4 4.Nf3 g5Åaˆêd€Î2E24 Nimzo-Indian: SämischÅagg”ü{–<E04c Catalan: Open, 5.Nf3 Nbd7Å_}Ó®™å RC90i Spanish: Closed, Pilnik, 11.Nbd2 Qc7ÅS”Jù÷|pE94c King's Indian: 7.O-O exd4 8.Nxd4 Re8 9.f3 c6 10.Kh1ÅN4õ‡¦ý¤6C02f French: Advance, 4.Nf3ÅID>ÖeødC55j Two Knights: 4.d3 Be7 5.O-O O-O 6.Bb3 d6 7.c3Å<+ rè\[`B97f Sicilian: Najdorf, Poisoned Pawn, 8.Nb3 Be7Å9p½ŒšbE05v Catalan: Open, Classical, 8.Qxc4, 10.Bf4 Nc6Å9=w£žöâ4A55k Old Indian: Main LineÅ5ZY?f:D30t QGD: Spielmann VariationÅ!Œ³4—^D85l Grünfeld: Modern Exchange, 8.Be2 O-O 9.O-OÅtn (<B95a Sicilian: Najdorf, 6...e6Å3yLPÁ–LC01s French: Exchange, 4.Nc3 Nf6 5.Nf3Äÿ¹‚?Ñá8D22g QGA: Alekhine, 4.e3 Bg4ÄûaÊG®4DE90i King's Indian: Larsen, 6...e5ÄóèáÁVD43v Semi-Slav: Moscow, 7.e3 Nd7 8.Bd3 dxc4Äð‚Ü4 ÎàœC85r Spanish: Closed, Exchange, 7.d3 Nd7 8.Nbd2 O-O 9.Nc4 f6 10.Nh4 Nc5 11.Nf5Äàh¢{:A21 English: King's, 2.Nc3 f5ÄÚ÷0áË„FC55q Two Knights: Modern, Main LineÄÚgúiõ«+lE15r Queen's Indian: Nimzowitsch, 5.b3 Bb4+, Main LineÄØ€½rN»¥6A86 Dutch: Leningrad, 4.Bg2ÄÅê!>X2A46s Torre Attack: 3...c5ļ¸ah4XD18s Slav: Dutch, 8...O-O 9.Nh4 Nbd7 10.Nxf5ĸU‡hXNA44h Old Benoni: Czech, 3.c4 d6 4.e4 g6Ľ™ß˜{VB98l Sicilian: Najdorf, Gothenburg, 11.Nxe6ĽRYJ¸ïLE14m Queen's Indian: 4.e3 Bb7 5.Bd3 d5ͧ§&î°vE59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 11.Bb2ĵZ)cæ«u2C52 Evans Gambit: 5...Ba5ĦR^×gôTC63m Spanish: Schliemann, 4.Nc3 Nf6 5.exf5ÄžÝ$52=\C58f Two Knights: Morphy, Blackburne VariationÄ… áÃöì E11a Bogo-IndianÄpó¤…S\@C80n Spanish: Open, 8...Be6 9.a4ÄlúÁäQò÷VE08f Catalan: Closed, Zagoryansky VariationÄj?,¹7Éá4A46j Indian: 2.Nf3 e6 3.c3ÄiÈ»6Þ¿zE92l King's Indian: Gligoric-Taimanov, 7...Ng4 8.Bg5 f6 9.Bh4Äd⡈7ŒÏ<D15v Slav: Geller Gambit, 6.e5ÄU×ä7HC77n Spanish: Centre Attack, 5...Be7ÄNtÎÚ çÛA02 Bird: 1..d6ÄKÆ9¢\4dD03p Torre Attack: 3...g6 4.e3 Bg7 5.Nbd2 O-O 6.c3ÄJ©ÝÙŽÅ4^E76b King's Indian: Four Pawns Attack, ExchangeÄJ‡sÛPGW*B02a Alekhine DefenceÄ7‹df-Ïö0D45i Semi-Slav: 6.Qc2 b6Ä0Ï<ìR–¯0D05d Colle: 3...e6 4.Bd3Ä)àW>ˆÙe|E84n King's Indian: Sämisch, Panno Main Line, 9.h4 h5 10.O-O-OÄ&ƒVD€mÅFD45o Semi-Slav: 6.Qc2 Bd6 7.g4 Nxg4Ä"Sm=-|HA66 Benoni: Mikenas Attack, 8...Nfd7Ä!úKßã¼xE84i King's Indian: Sämisch, Panno Main Line, 9.Nc1 e5 10.d5Ä FÅ@Æj¤HA48u Neo-King's Indian: Torre AttackÄDO«{õ¾:E17m Queen's Indian: 6.O-O d5ÄO~¡–ǦˆE74c King's Indian: Averbakh, 6...c5 7.dxc5 Qa5 8.Bd2 Qxc5 9.Nf3 Bg4ÃùàäÛÞ(uvE62k King's Indian: Fianchetto, Kavalek/Bronstein, 8.e4 Bg4Ãö¡2ž²‡²NC05d French: Tarrasch, Closed, 4...Nfd7ÃövÏŸð TD98c Grünfeld: Russian, Smyslov, 8.Be2 Nc6Ãôê^_Ïú&TC86b Spanish: Worrall Attack, 6...b5 7.Bb3Ãã=™ŸfD15s Slav: Accepted, Alekhine: 5...b5 6.a4 b4 7.Nb1ÃÃ~pNÛ5LB86 Sicilian: Sozin-Najdorf, 7.Bb3 Be7ÃÀ°d®žVE15e Queen's Indian: Nimzowitsch, 5.Nbd2 c5ò™´BÝD­2D08 QGD: Albin, 3.dxe5 d4ñ˜?°íWTC30i King's Gambit: Adelaide-Wahls, 4.exf5íuDÞÀlB35d Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 Qa5 8.O-O O-O 9.Bb3í}̶*dB13i Caro-Kann: Exchange, 4.Bd3 Nc6 5.c3 Nf6 6.Nf3á ³;•cBB99a Sicilian: Najdorf, Main Lineà\©Ng$Î4C55e Two Knights: 4.d3 Be7ÞZ8$@<E08c Catalan: Closed, 7.Qc2 b6Úà™ÌÄt£bE16p Queen's Indian: Capablanca, 6...Bxd2+ 7.Qxd2Ùz6©öJD69 QGD: Orthodox, Classical, 13.dxe5Õԓítå¯XA68f Benoni: Four Pawns, 9.Be2 b5 10.e5 dxe5ÉW¡¢p€0A10 English: Anglo-DutchÃzà ©—OµRD85m Grünfeld: Modern Exchange, 8.Rb1 O-OÃz­¸ƒÇ¤j:A03 Bird: Lasker, 3...c5 4.b3Ãt¾m“cœ^E71f King's Indian: Makagonov, 5...O-O 6.Be3 e5ÃlkËê[-C:D30t QGD: Stonewall FormationÃeÕ‘`ÛYgZA42b Modern: Averbakh, Randspringer VariationÃ]‹ÿΙ':C00j French: 2.Nf3 d5 3.e5 c5ÃR»"ÌŽ ÿZC30m KGD: Classical, 3.Nf3 d6 4.Nc3 Nf6 5.Bc4ÃR0¿¥F†ÅND48e Semi-Slav: Meran, 8...a6 9.O-O Bb7ÃL ƒYÜ‚D57 QGD: Lasker Defence, Main Line, Bernstein, 12.c4 dxc4 13.Bxc4Ã8 Êô<C01c French: Exchange, 4.c4 c6Ã7ÜÕ¶µBB48c Sicilian: Taimanov, 6.Be3 a6Ã6»'%=¨ND43g Semi-Slav: Botvinnik, 5...Be7 6.e3Ã5b/ˆ± ÙbB74 Sicilian: Dragon, Classical, Stockholm AttackÃ3µ 0š]¨0A43f Old Benoni: 2.d5 e6Ã/Û†`¶†B23x Sicilian: Closed, Grand Prix, 3...g6 4.Nf3 Bg7 5.Bb5 Nd4 6.Bd3Ã'ДPD50 QGD: Dutch-Peruvian, Prins VariationÃ4öº’A>C41f Philidor: Hanham VariationÃ@¾::·ütB66m Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Be3 Be7ÃJ­Xj–‡^C42x Russian Game: Classical, Maroczy Variationà rÀ>"ÌwZD87j Grünfeld: Classical Exchange, 10.Be3 Qc7à r{¬Ÿpi@C25p Vienna: Hamppe-Muzio GambitÃñpÝ^»hE09g Catalan: Closed, Main Line, 9.b3 Bb7 10.Bb2 Rc8بeˆJE61g King's Indian: 4.g3 O-O 5.Bg2 d6Ã]8°r¤ø$A80i Dutch: AlapinÂýÐ7ÈNpy4B40f Sicilian: 2...e6 3.d3Âûu¢Ä‡“PPA36c English: Symmetrical, 3.g3 e6 4.Nf3ÂøìŠÎoHA48t Neo-King's Indian: Torre AttackÂøÌŠÇ]éTD82 Grünfeld: 4.Bf4 Bg7 5.e3 c5 6.dxc5 Qa5ÂçHj£- .D73 Neo-Grünfeld, 5.Nf3ÂãäòÀ"[­FC94c Spanish: Closed, Breyer, 10.d3Â׃ŽÉH7“PD33p QGD Tarrasch: 7.Bg2 cxd4 8.Nxd4 Be7ÂÖ¬pº9'æfB80h Sicilian: Scheveningen, English, 7...Nc6 8.Qd2ÂÓSû ;£–E69n King's Indian: Fianchetto, Classical, 9.h3 Qb6 10.Re1 exd4 11.Nxd4 Re8ÂÎKu+æèB06b ModernÂÈK´é{uJD02d Queen's Pawn: 2.Nf3 Bf5 3.Bf4 c6ÂÆiUͼõ²xD40n QGD: Semi-Tarrasch, 5.e3 Nc6 6.a3 cxd4 7.exd4 Be7 8.Bd3½WÙ+ø±RD50 QGD: Semi-Tarrasch, Pillsbury, 6.Nxd4¼6ÇÀ²:C30o KGD: Classical, 4.c3 Bb6Â¥·Õ[à€*VA36n English: Symmetrical, Botvinnik SystemÂîWl ôB06f Modern›±dœyñ|D89i Grünfeld: Classical Exchange, Main Line, Sokolsky, 16.Bh6—+Ms¡›3DA85 Dutch: 2.c4 Nf6 3.Nc3 g6 4.Nf3–ÞTB A03 Bird: 1...d5”|™-Ù©ÜFC62 Spanish: Old Steinitz, 4.d4 Bd7ÂO±ƒè>C51 Evans Gambit Declined, 5.a4Â…äÜíe˜:A61 Benoni: 6.Nf3 g6 7.Bf4 a6ÂÀ¡™Dr’TD70 Neo-Grünfeld: Alekhine's Anti-GrünfeldÂvD£Ð@\¹^B81o Sicilian: Scheveningen, Keres, 6...h6 7.g5Ât™Ýξ­î6B86 Sicilian: Sozin-NajdorfÂp8ðßnÁ±BA46f Neo-Benoni: 3.g3 cxd4 4.Nxd4Âk:ÑÙ/ÉŽJB26e Sicilian: Closed, 6.Be3 e5 7.Qd2Âfhì×»»&A25 English: ClosedÂf/åŽöXA99 Dutch: Ilyin-Zhenevsky, 8.b3 a5 9.Bb2 c6ÂWÕ‘ ´Ž{pB99j Sicilian: Najdorf, Main Line, 10.Bd3 b5 11.Rhe1 Bb7ÂVLƸÉ5SVC32 KGD: Falkbeer, Main Line, 7...Bf5 8.Nc3ÂU¢tøLy‚|E99 King's Indian: Mar del Plata, 10.f3 f5 11.Be3 f4 12.Bf2 g5ÂO¿]¦ÈáùvB12h Caro-Kann: Gurgenidze/Modern: 3.Nd2 g6 4.Ngf3 Bg7 5.h3ÂNeüг;JA08 Reti: KIA, 2...c5 3.Bg2 Nf6 4.O-OÂ7O3b„†šbD35h QGD: Exchange, 5.Nf3 Be7 6.Bf4 c6 7.Qc2 Nbd7Â/X §ÏJJB72 Sicilian: Dragon, 6.Be3 Bg7 7.Bc4Â/8=n¬äå(A80d Dutch: 2.Bg5 d5Â&„©0Éü:B12n Caro-Kann: Advance, 4.c3Â~ÓH%"dC49j Four Knights: Symmetrical, Tarrasch VariationÂ…]I“>C10b French: Marshall Variation ±u#l©'dD29n QGA: Classical, 8...Bb7 9.Rd1 Nbd7 10.Nc3 Qb6ÂÂó %R@A40i Englund Gambit: ZilbermintsÂ~N ÿÕ?~D37s QGD: Classical, 5...O-O 6.e3 c5 7.dxc5 Bxc5 8.Qc2 Nc6 9.a3Áþh ÙŽÉ\\A31 English: Symmetrical, Two Knights, 4...Nc6Áú6^˺ZD36i QGD: Exchange, 6.Qc2 Be7 7.e3 Nbd7 8.Bd3Á÷Å,Ö·fB81l Sicilian: Scheveningen, Keres, 6...h6 7.h4 Nc6Áôm¨mñ=R\E56 Nimzo-Indian: Main Line, 7...Nc6 8.a3 dxc4Áì RBSÐ:<C45w Scotch: Meitner VariationÁç…IHëYç.D32j QGD Tarrasch: 5.g3Áß{YÔ8™LA56w Benoni: Czech, 5.e4 Be7 6.Nf3 O-OÁÚSåÎt?FA30b English: Symmetrical, 2.Nf3 b6ÁѸ¨g€âæ`A28 English: Four Knights, Nimzowitsch VariationÁÐõÝÇ8Ø‘$D20o QGA: 3.e4 Nf6Áλ&8x|VE61n King's Indian: 4.Nf3 O-O 5.e3 d6 6.Be2ÁÌí¨ç)§ZB78b Sicilian: Dragon, Yugoslav, 10.O-O-O Ne5ÁÆLÔ¢¾ÉD^E54 Nimzo-Indian: Main Line, Karpov, 10.Bg5 Bb7Á¹Ñ¯Å’Žr.C31 KGD: Falkbeer, 4.d3Á·âòw„á4E17l Queen's Indian: 6.O-OÁµG}Ln`|B06b ModernÁ‘Ö»£üÞhC89p Spanish: Marshall, Main Line, 15.Be3 Bg4 16.Qd3Á†²UbÅE|B70r Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-O 8.Re1 Nc6 9.Nb3 Be6Áƒ"‡€e’2D35d QGD: Exchange, 5.Nf3Á|÷µ¦‡jB32u Sicilian: Lowenthal, Kalashnikov, 6.c4 Be7 7.Be2Ás \b‘Y[\E03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 c5 7.Nf3Áh)©IYI¸HA51j Budapest: Fajarowicz, 4.Nf3 Nc6ÁgZT5ç„{8D66 QGD: Orthodox, Main LineÁY äj¿z*VB57m Sicilian: Sozin, Benko, 7.Nb3 e6 8.O-OÁQËåÎ-ËZD29h QGA: Classical, 8...Bb7 9.Rd1 Nbd7 10.a4ÁFuT§_“MjE83c King's Indian: Sämisch, 6...Nc6 7.Qd2 a6 8.O-O-OÁAgbPú‘…LD12p Slav: 4.e3 Bf5 5.Nc3 e6 6.Nh4 Be4Á@ò¶ã\m#JB50n Sicilian: 2.Nf3 d6 3.c3 Nf6 4.h3Á@Å€sâ÷çVB96o Sicilian: Najdorf, Polugaevsky, 10.Nf3Á>>Œ$Œl"D20f QGA: 3.e3 e5ÁA00m Van Geet: 1...d5 2.Nf3 Nf6Á'k·À§¯‹LB16i Caro-Kann: Bronstein-Larsen, 6.c3Áôäý´žWFE14e Queen's Indian: 4.e3 Bb7 5.Bd3Á7Ó‰Ào`A41g Neo-Old Indian: Wade Defence, 3.c4 e5 4.Nc3Á;êùñöXC40p Latvian Gambit: Svedenborg, 6.Nxg6 hxg6ÁÝ¡&¡Î;>C42c Russian-Three Knights GameÁŸª[5B,LD84 Grünfeld: Grünfeld Gambit AcceptedÁ©ÉYpk\D64 QGD: Orthodox, Rubinstein Attack, 8...dxc4Áó,,®NpB36i Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2 Nxd4Àñ;¶*¤zE92k King's Indian: Gligoric-Taimanov, 7...Ng4 8.Bg5 f6 9.Bc1Àî¾ ¸ÐÑ6E01 Catalan: 4...Bb4+ 5.Nd2ÀåSÈê!“ÍhC99e Spanish: Closed, Chigorin, 13...Bb7 14.Nf1 Rac8ÀÞÌ oò«‚fC48h Four Knights: Rubinstein, Bogoljubow VariationÀÜæ„µp‚B22n Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nf6 5.Nf3 e6 6.Be2ÀØé0‡sï~E68d King's Indian: Fianchetto, Classical, 8.e4 exd4 9.Nxd4 Nc5ÀÖq6'ÄŽB47z Sicilian: Taimanov, 6.Be2 a6 7.O-O Nf6 8.Kh1 Nxd4, 10.Qd3 b5 11.f4À˽›ÙC0»rB85 Sicilian: Scheveningen, Classical, Main Line, 9...Nc6ÀÊ<¶”·{;^A69e Benoni: Four Pawns, Main Line, 10.Nd2 Nbd7Àº<’ƒFC16c French: Winawer, 4.e5 b6 5.Qg4À´k˲Λ,C70 Spanish: 4.Ba4 Be7À³¥@Ejî`E18t Queen's Indian: 7.Nc3 Ne4 8.Nxe4 Bxe4 9.Ne1À¯ÿ‚ÁÞÊ>C78p Spanish: Archangelsk, 7.d3À¯ã;ùiÎzE57 Nimzo-Indian: Main Line, 8...dxc4 9.Bxc4 cxd4 10.exd4 Be7À­à”Ón lB67l Sicilian: Richter-Rauzer, 7...a6, 9.f4 b5 10.Nxc6À§ø_–”ÙTC50f Italian: Hungarian Defence, 4.d4 exd4À¥Ù YwÃBC90d Spanish: Closed, 8...d6 9.a4À ö”2׺56D02b Queen's Pawn: 2.Nf3 c6À*ÑB_iZA46z Torre Attack: 3...h6 4.Bxf6 Qxf6 5.e4 d6Àœ,¡v*¨§€B63n Sicilian: Richter-Rauzer, 7.Qd2 Be7 8.O-O-O Nxd4 9.Qxd4 O-OÀ”¥‘qØÐ‚TE15i Queen's Indian: Nimzowitsch, 5.Qa4 c6Àæ¬fŠ|²HC86c Spanish: Worrall Attack, 7...d6ÀŒd‡Ö‘ HC52 Evans Gambit: Sokolsky VariationÀŠ(ñ¥ÇìC6E10o Blumenfeld: 5.Bg5 Qa5+À„^«ä×hVD32d QGD Tarrasch: von Hennig-Schara GambitÀáãžðØä^A16 English: Anglo-Grünfeld, Korchnoi VariationÀ~”Z© ùDE61g King's Indian: 4.g3 O-O 5.Bg2ÀtNv}ªµl$A60b Benoni: 4.Nf3À]"†Ï~MZB18o Caro-Kann: Classical, 6.Nf3 Nd7 7.Bd3 e6À\e"I{ü—LC32 KGD: Falkbeer, Charousek VariationÀQÍ|bÑý>D58f QGD: Tartakower, 8.Bd3 Bb7ÀD–X– Tù~D49k Semi-Slav: Meran, Old Main Line, 11.Nxb5 axb5 12.exf6 gxf6ÀDj¾C—îëLC33 KGA: Bishop's Gambit, Grimm AttackÀ"'9[‰`¹DC57d Two Knights: Traxler, 5.Bxf7+À eéè@>NC13l French: Chatard-Alekhine, 6...Bxg5ÀaqÝ9ñö:D92 Grünfeld: 5.Bf4 O-O 6.Rc1À ù}~ÐàáLB54i Sicilian: Prins (Moscow), 5...Nc6À ‹Û µ±$NC35 KGA: Cunningham, Three Pawns Gambit¿÷ ó-ºg*>A53 Old Indian: 3.Nf3 Bg4 4.Nc3¿õ*ˆ™ „upC25n Vienna: Steinitz Gambit, Fraser-Minckwitz Variation¿ïPSî}C PC37 KGA: Salvio, Anderssen Counterattack¿Ý¢¸jCÖ`E15n Queen's Indian: Nimzowitsch, 5.b3 Bb7 6.Bg2¿Ýwî8Ø^¸\B67h Sicilian: Richter-Rauzer, 7...a6, 9.f4 h6¿Ý ®õœüLE90m King's Indian: 5.Nf3 O-O 6.h3 Na6¿ÛͬнYZB60h Sicilian: Richter-Rauzer, Larsen, 7.Bxf6¿Øh ãý ûTE60k King's Indian: Fianchetto without Nc3¿×uxS®ÃN:D07p QGD: Chigorin, 3.Nc3 Nf6¿Íí%˜Cž<LB24 Sicilian: Closed, 3.g3 g6, 5.d3 e6¿É´oÈ¿qd>C47f Four Knights: Glek, 4...d5¿ºG³¢æÅ0€E97n King's Indian: Mar del Plata, Bayonet Attack, 9...Nh5 10.g3¿¯EŸ³¶{âlA46n Indian: 1.d4 Nf6 2.Nf3 e6 3.g3 b5 4.Bg2 Bb7 5.O-O¿­ê‚›ÏnB34n Sicilian: Accelerated Fianchetto, Modern, 6.Be3 d6¿©Š¡* l?fE98d King's Indian: Mar del Plata, 9.Ne1 Ne8 10.Nd3¿¦ˆ댤ÈHA11 English: Caro-Kann Defence, 3.e3¿ +ý¬n¦6D34p QGD Tarrasch: 9.Bg5 c4¿œµã@fiÛBB10h Caro-Kann: English Variation¿šXbJ¢"hD91l Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Qd2¿’Lèy7OŸvB64f Sicilian: Richter-Rauzer, 7.Qd2 Be7, 9.f4 h6 10.Bh4 e5¿ƒ£wC¼¿2C30n KGD: Classical, 4.c3¿¦†¬¬RC54o Giuoco Piano: Möller, Bayonet Attack¿udC`£ 7fE65d King's Indian: Fianchetto, Yugoslav, 7.O-O Nc6¿uDˆ\’¦ÊlE66e King's Indian: Fianchetto, Yugoslav Panno, 9...a6¿qˆ;èiTE33 Nimzo-Indian: Classical, 4...Nc6 5.Nf3¿R'ócÕÏÝbA55e Old Indian: 5.e4 Be7 6.g3 c6 7.Bg2 O-O 8.O-O¿QÚÔlNÞLB88 Sicilian: Sozin, Fischer Variation¿@±QUfBD27f QGA: Classical, 6...a6 7.Bb3¿<yòŠC07s French: Tarrasch, Open, 4.exd5 Qxd5, Main Line, 10.Nxd4 a6 11.c3¿4_ðßIV,C33 KGA: Orsini Gambit¿*}ã.˜PvrB47k Sicilian: Taimanov, 6.g3 a6 7.Bg2 d6 8.O-O Bd7 9.Re1¿’,lŒT.C27a Vienna: 3.Bc4 Nxe4¾ú†ù>ža<B25i Sicilian: Closed, 6.f4 e5¾õ¯´ñÊ!ULD00w Blackmar-Diemer: Gunderam Defence¾óˆs2º×ë6B36a Sicilian: Maroczy Bind¾íTzfÑJB32e Sicilian: Open, 2...Nc6, 4...Qb6¾ç°ÆÞFžªnB17e Caro-Kann: Steinitz, 5.Nf3 Ngf6 6.Nxf6+ Nxf6 7.Bc4¾æÙS1ø,ï6A24 English: Bremen, 3...g6¾Ø±Å¤‡¾µFB21s Sicilian: Smith-Morra Accepted¾ØFÎXuŠC10x French: Rubinstein, 4...Bd7 5.Nf3 Bc6 6.Bd3 Nd7 7.O-O Ngf6 8.Ng3¾Õ¿kjÉÓ~TA38b English: Symmetrical, Main Line, 6.d4¾Êâe/‚á’D91r Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Nf3 exd5 9.e3 O-O 10.Bd3¾¿×0ÂÞ<6D63 QGD: Orthodox, 7.Rc1 b6¾¸FËê™Û PC48q Four Knights: Rubinstein, 5.Ba4 Bc5¾¨œ ½¢90D24b QGA: 4.Nc3 e6 5.Bg5¾¥yÂTâÉDA43u Old Benoni: Schmidt, 3.e4 Nf6¾¥4ž{ê Ä8D79j Neo-Grünfeld, Main Line¾™¦GoâCƒrA13w English: Neo-Catalan Accepted, 5.Qa4+ Nbd7 6.Qxc4 a6¾—„·bµ/÷$D55c QGD: 6.Nf3 b6¾‡ lµ4i#\E47 Nimzo-Indian: 4.e3 O-O 5.Bd3 c5 6.Ne2 cxd4¾…Aâ½~ 2E73a King's Indian: 5.Be2¾„.(×ÓTE61t King's Indian: Smyslov System, 5...c5¾‚Aé`oÇé^B67d Sicilian: Richter-Rauzer, 7...a6, 9.f3 Rc8¾–œN¯ZC55x Two Knights: Max Lange, Berger Variation¾qÏøØz$8D94 Grünfeld: 5.e3 O-O 6.Bd3¾oq…M•}\E81f King's Indian: Sämisch, 5...O-O 6.Bg5 Nc6¾k»÷Á DA68a Benoni: Four Pawns, 8.Nf3 O-O¾jó Ì5yFC54l Giuoco Piano: Krakow Variation¾h¡Dž¼¬²HC24 Bishop's Opening: Berlin Defence¾]  }¦|D40r QGD: Semi-Tarrasch, 5.e3 Nc6 6.a3 a6 7.dxc5 Bxc5 8.b4 Ba7¾M”ÿlÞóZE54 Nimzo-Indian: Main Line, Karpov Variation¾F~É|¿íÎbD85h Grünfeld: Exchange, 7.Be3 c5 8.Qd2 Qa5 9.Rb1¾6¦àh¸µTE32h Nimzo-Indian: Classical, 4...O-O 5.a3¾6ŸDk 6xpB11g Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 e6¾)Z¦ pR–hB25x Sicilian: Closed, 6.f4 e6: 9.Be3 Nd4 10.e5 Nef5¾$€k¹·OŽnB11c Caro-Kann: Two Knights, 3...Bg4 4.h3 Bh5, 7.g4 Bg6¾ È”A¿6A24 English: Bremen, 3...g6¾Óá#Û[YzE69u King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Re1 a5½øÊßš}¤h`B01d Scandinavian: Schiller, Bronstein Variation½øjç¦LB09l Pirc: Austrian, 5...O-O 6.Bd3 Na6½÷qˆ†Š$A45g Indian: 2.Bf4½âf2náP’dE67l King's Indian: Fianchetto, Classical, 8.h3 c6½ÔR6æòªŒC08m French: Tarrasch, Open, 4.exd5 exd5 5.Ngf3 Nf6, Main Line, 10.Nb3½ÓÍÉ pVæ6B06n Modern: 3.Nc3 d6 4.Bc4½ÓÂ>AmãDA69a Benoni: Four Pawns, Main Line½Ê¹à‚jC16i French: Winawer, Petrosian, 5.a3 Bxc3+ 6.bxc3 b6½É©§a‚(ŒE17y Queen's Indian: Pomar, Polugaevsky, 8...c6 9.cxd5 Nxd5 10.Nf5 Nc7½Ç žÞ…«ôBD78g Neo-Grünfeld, 6.O-O c6 7.Qb3½¾ã`k_ÆÉTC82l Spanish: Open, St. Petersburg, 11.Bc2½¼É¼YзŒB35o Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3 d6 9.h3½µÃö+dÝ|TC17f French: Winawer, Bogoljubow, 5...cxd4½¯WïÕï9bC87k Spanish: Closed, Averbakh, 7.c3 O-O 8.d4 Bd7½¦©©Fï*HE11o Bogo-Indian: Nimzowitsch, 5.Nc3½£}IûÙÕA02 Bird: 1..g6½ˆzß¿¥@™4D06b QGD: Austrian Defence½z}(Ð>ŒRdE25 Nimzo-Indian: Sämisch, Keres, Romanovsky, 9.e4½k|sø‡2ÂXB02g Alekhine: Scandinavian, Exchange, 4.Nf3½gŠ 2=ÀZ6B30d Sicilian: 2...Nc6 3.g3½W0Xø@ì–D76l Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.d5 Na5 10.e4 c6 11.Bg5½U’¯á¨V·NC69j Spanish: Exchange, Gligoric, 8.Ne2½MªQý !dE32j Nimzo-Indian: Classical, 4...O-O 5.a3, 6...d6½K\ð5Ò"û|A30g English: Symmetrical, Mutual Double Fianchetto with ...d5½B¿!ŠÅ™dD31x Semi-Slav: Marshall Gambit, 5.Nxe4 Bb4+ 6.Bd2½9=Ú.šñ`E92d King's Indian: 6.Be2 e5 Queenswap, 9.Bg5 c6½6¥º sA05 Reti: KIA½#i-d|¶9^E76k King's Indian: Four Pawns Attack, 6.Nf3 c5½!e`Ç®ÖÎnE14l Queen's Indian: 4.e3 Bb7 5.Bd3 Be7 6.O-O O-O 7.Nc3½ bŒšÕ’W`E92m King's Indian: Gligoric-Taimanov, Main Line½•Þu"av‚E66g King's Indian: Fianchetto, Yugoslav Panno, 9...a6 10.Rb1 Rb8½HAÔ›@û`C42q Russian Game: Classical, Marshall Variation½ ú~%/þ\C18u French: Winawer, Poisoned Pawn, Main Line½«8r÷œ¯@E11c Bogo-Indian: 4.Nbd2 b6 5.a3¼ù¿çm¶P:B12c Caro-Kann: Mieses Gambit¼ù:ݽ­¯}`C95f Spanish: Closed, Breyer, 10.d4 Nbd7 11.Nbd2¼÷ؽå/HA55s Old Indian: Main Line, 8.Re1 a6¼ìÏ‚mÒ!ä:C11a French: 3.Nc3 Nf6 4.exd5¼á‡;Ø;ÓfC89w Spanish: Marshall, Main Line, Classical, 18.a4¼ÞÖ þ­’â>A86 Dutch: Leningrad, 4.Nc3 Bg7¼Ø3¾ëê=¯@D43k Semi-Slav: Moscow Variation¼Öæ}»ÞI–hB34m Sicilian: Accelerated Fianchetto, Modern, 6.Be3¼µÏÁÈ’PC65g Spanish: Berlin, Mortimer Variation¼±‰u—êQðXD87f Grünfeld: Classical Exchange, 9.O-O Nc6¼ªûÀB6Å‹`E55 Nimzo-Indian: Main Line, Bronstein Variation¼§–»Ù÷>A45u Trompowsky: Borg Variation¼¦Õ´¦UpZD79b Neo-Grünfeld, 6.O-O c6 7.cxd5 cxd5 8.Nc3¼¦«Y¹‡â@<B04b Alekhine: Modern, 4...Nc6¼žÉ€ ŸÖ‰^C48a Four Knights: Spanish, Spielmann Variation¼š³>»?7LB02f Alekhine: Scandinavian, 3.e5 Nfd7¼”%Åœ€äDhB92j Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O O-O¼'¥|Ç+2>B46a Sicilian: Taimanov, 5...a6¼‡Ã1JÜDƒ(D05j Colle: 5.c3 Nc6¼†Äæ©|þs4C60s Spanish: Cozio, 4.O-O¼}lÆ"ðtE58 Nimzo-Indian: Main Line, 9.bxc3 Qc7 10.cxd5 exd5 11.a4¼x«† ¢Á`B25u Sicilian: Closed, 6.f4 e6: 9.Be3 Nd4 10.Rb1¼uŸ“„ÙqJB01x Scandinavian: Marshall, 4.Nf3 g6¼pÚ™œ~ÀrZE05u Catalan: Open, Classical, 8.Qxc4, 10.Bf4¼md’UQH¬^A65g Benoni: 6.e4 g6 7.Bd3 Bg7 8.Nge2 O-O 9.O-O¼h&.tL—fD85l Grünfeld: Modern Exchange, 8.Be2 O-O 9.O-O Nc6¼eÈ-Ø—“hC42x Russian Game: Classical, Chigorin, 8...Bg4 9.c3¼cø—) ™ZA83f Dutch: Staunton Gambit, Lasker Variation¼_êbwï±¼NE94x King's Indian: 7.O-O Nbd7 8.Be3 c6¼V–£Ýß2D03k Torre Attack: 3...g6¼Tºí¼éîLB30p Sicilian: Rossolimo, 3...e6 4.Nc3¼MIãÀ<íXB01t Scandinavian: Icelandic Gambit Accepted¼K6„˜þwÏND42a QGD: Semi-Tarrasch, 6.e3 Nc6 7.Bd3¼J˜¿¥¼YÔ<C89b Spanish: Marshall, 9.exd5¼A7±±‚¶xBB00v Nimzowitsch Defence: 2.d4 d5¼?°À|Õá6LE04i Catalan: Open, 5.Nf3 a6 6.O-O Nc6¼/ÉQ¬;¯$VC54o Giuoco Piano: Möller (Therkatz) Attack¼.ä´YréNC80p Spanish: Open, Bernstein Variation¼+ÛøEi›c*D46a Semi-Slav: 6.Bd3¼•Pšf9LC19b French: Winawer, Smyslov, 7...Qa5¼v¾.–\C12c French: MacCutcheon, Bogoljubow Variation¼JåØ tÞFB24 Sicilian: Closed, 3.g3 g6, 5.f4¼>uÕÄ„ HC26t Vienna: 3.Bc4 Bc5 4.d3 d6 5.Na4¼Sïú1{–JC17a French: Winawer, Advance, 4...c5¼ z­ïxE33 Nimzo-Indian: Classical, Milner-Barry (Zurich) Variation¼Új7<$D94 Grünfeld: 5.e3¼‘ŒËk;<D35i QGD: Exchange, 5.Bg5 Nbd7»þê­8|FDD78k Neo-Grünfeld, 6.O-O c6 7.Nbd2»ýBÚ8¯}[HE06 Catalan: Closed, 6.O-O c5 7.cxd5»ïáö5nœhA36o English: Symmetrical, Botvinnik, 5...Nf6 6.Nge2»ìñ¬õ ‡pD26o QGA: Classical, Furman, 6...a6 7.dxc5 Bxc5 8.O-O b5»é¬Y¨©Ï¼@E00m Catalan: 3...Bb4+ 4.Bd2 Qe7»è½eˆ–xRC41u Philidor: Improved Hanham, Main Line»á%kh]ýÐlB45q Sicilian: Taimanov, Four Knights, American Attack»Ö¯~_‘°6D31e QGD: Alatortsev, 5.Bf4»Öxñ-ê]FA17 English: Anglo-Indian, 2.Nc3 e6»Ò¤ŽvèQTE36 Nimzo-Indian: Classical, Noa, 5.a3 Be7»Ð‡Ûë¯íáFC65e Spanish: Berlin, Nyholm Attack»ÊêSþiÖDB37b Sicilian: Maroczy Bind, 6.Nb3»¼uœqLÆ+pD30i QGD: Tarrasch without Nc3: 5.g3 Nc6 6.Bg2 Nf6 7.O-O»±ªÝ'ä|ïNB18r Caro-Kann: Classical, 6.h4 h6 7.f4»©çIÀ×Ë\C49h Four Knights: Symmetrical, Maroczy System»¢))}±ÖêDB01i Scandinavian: 2...Qxd5, 5.Bd2»¡šÐþ_¼ "D16a Slav: Alapin»ž¼ÓÔoÂWHA48w Neo-King's Indian: Torre Attack»“ù>µ·åXB33u Sicilian: Pelikan, Sveshnikov Variation»|§goÎÃ\B58k Sicilian: Boleslavsky, 7.Nf3 h6 8.O-O Be7»mætpwó^B38h Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 b6»fò˜(Dƒ¢RB72 Sicilian: Dragon, 6.Be3 Bg7 7.Bc4 Nc6»G4ã±hPD11q Slav: 4.e3»<ÇŠŒŽA8A02 Bird: From Gambit, Lipke»/Ç?;¶®ÈbE35 Nimzo-Indian: Classical, Noa, Exchange, 6.Bg5»+bDJ"bE57 Nimzo-Indian: Main Line, 8...dxc4 9.Bxc4 cxd4»(=­TÑŠjA36r English: Symmetrical, Botvinnik, 5...e6, 8.d3 d6»!“’Jv.ElD72 Neo-Grünfeld, 5.cxd5 Nxd5 6.e4 Nb6 7.Ne2 O-O 8.O-O»¨È&"Ü·VE30 Nimzo-Indian: Leningrad, 4...c5 5.d5 d6»â¼G`PC33 KGA: Bishop's Gambit, Bledow, 4.exd5»ømW„?8C25n Vienna: Steinitz Gambit» Â‹?šVB19i Caro-Kann: Classical, Spassky, 10.Qxd3»Ïa2iÿÓRA08 Reti: KIA, 2...c5 3.Bg2 Nf6 4.O-O Nc6»€þšyš·JC39 KGA: Kieseritsky, Paulsen Defence»_ò×þû.<C41i Philidor: Morphy, 4...Nf6ºÿ‡f}L©:A43i Old Benoni: 2.d5 e6 3.c4ºõæU¥ëJA91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7ºÚ2N+ΦBD43v Semi-Slav: Moscow, Main LineºÒ£5ŒäÞZE33 Nimzo-Indian: Classical, 4...Nc6 5.Nf3 d5ºÊ'h‡Þ<<D63 QGD: Orthodox, Swiss, 8.c5º¿³ëî|¼åLD98b Grünfeld: Russian, Smyslov, 8.Be2º©kD‡+…&XB31d Sicilian: Rossolimo, 3...g6 4.Bxc6 dxc6º¡ºîWý¬XE62d King's Indian: Fianchetto, 6...c6 7.O-OºœÞò#1RDC80g Spanish: Open, Riga Variationº™þ?ËA³BB00t Nimzowitsch Defence: 2.d4 d6º•Þ㆑\£RB93g Sicilian: Najdorf, 6.f4 Qc7 7.Bd3 g6º’© $®TB49b Sicilian: Taimanov, 6.Be3 a6 7.Be2 b5ºŽ~EDô‹Í4C65c Spanish: Berlin, 4.d4ºƒÒðJ\‹nD66 QGD: Orthodox, Main Line, 8...h6 9.Bh4 dxc4 10.Bxc4ºþîˆlZA31 English: Symmetrical, Two Knights, 4...g6ºЊ™·XXC57l Two Knights: Fritz, Radchenko VariationºyVãTÆÚfE98e King's Indian: Mar del Plata, 9.Ne1 Ne8 10.Be3ºr¬–o|åbC96l Spanish: Closed, Chigorin, 11.d4 Bb7 12.Nbd2ºo'sÀ”<ûBC64e Spanish: Classical, 4.c3 Qf6ºnl—JâŸÂ†B22u Sicilian: Alapin, 2...Nf6, 5.cxd4 d6 6.Nf3 Nc6 7.Bc4 Nb6 8.Bb5ºjÒ³;BC47e Four Knights: Glek VariationºeÁ¯ Y™pD46j Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...Qe7 10.h3º`P«k€B59m Sicilian: Boleslavsky, 7.Nb3 Be7 8.O-O O-O 9.Be3 Be6 10.Bf3ºR]Íòtd9nD19f Slav: Dutch, 8...O-O 9.Qe2 Bg6 10.Ne5 Nbd7, 12.Rd1º<„ë1à0<B12v Caro-Kann: Advance, 4.Nc3º0,²]šž¨tC95k Spanish: Closed, Breyer, Main Line, 13.Nf1 Bf8 14.Ng3º"~ÜÁ\É1HD37l QGD: Classical, 5...O-O 6.e3 c6º áŽÎÏ¿OjB57o Sicilian: Sozin, Benko, 7.Nb3 e6 8.O-O Be7 9.Be3¹îm4²aVDA16 English: Anglo-Grünfeld, 4.Nf3¹íµ2:bRA72 Benoni: Classical, 8.Be2 O-O 9.Bf4 b5¹ÚÙwÃÞ lRC05s French: Tarrasch, Closed, 7.Ngf3 Be7¹×Seâ:9nE90w King's Indian: 5.Nf3 O-O 6.h3 c5 7.d5 e6 8.Bd3 Na6¹Ò”Y ¨E<D45k Semi-Slav: 6.Qc2 Bd6 7.e4¹ÐL¸ÍŽD48p Semi-Slav: Meran, Reynolds, 10...c4 11.dxe6 fxe6 12.Bc2 Qc7 13.O-O¹Ð $‡ÌÇ"B07q Pirc: 4.Nge2¹ÇµÚôeß:D17g Slav: Central, 6.Ne5 Na6¹¬çDârš$pB01z Scandinavian: Marshall, 4.c4 Nb6 5.Nf3 g6 6.Nc3 Bg7¹¡á²æ@àøHD30w QGD: Capablanca-Duras Variation¹ îé,8dD29m QGA: Classical, 8...Bb7 9.Rd1 Nbd7 10.Nc3 Qb8¹4_¥ÇïWND20y QGA: 3.e4 e5 4.Nf3 exd4 5.Bxc4 Nc6¹’)-a†\bB48k Sicilian: Taimanov, 6.Be3 a6 7.Bd3 b5 8.Nxc6¹Œ‹O@PÙhE69e King's Indian: Fianchetto, Classical, 9.h3 exd4¹‰ÙQ/|D88 Grünfeld: Classical Exchange, Main Line, 11.cxd4 Bg4 12.f3¹†âÏ•Yè¿fA78 Benoni: Classical, Main Line, 10.Nd2 Na6 11.Rb1¹‚ø |S`B85 Sicilian: Scheveningen, Classical, Main Line¹“™ç'ËÀjA83m Dutch: Staunton Gambit, 4.Bg5 Nc6 5.d5 Ne5 6.Qd4¹wê:T,æ?BC82j Spanish: Open, Motzko Attack¹d‚W˜e€C23 Bishop's Opening: Calabrese Countergambit, Jänisch Variation¹aû‡%‚°¼ŽE57 Nimzo-Indian: Main Line, 8...dxc4 9.Bxc4 cxd4 10.exd4 Be7 11.Re1 a6¹^öã®æ3PE07 Catalan: Closed, 6...Nbd7 7.Nc3 dxc4¹^„6â[tˆB96w Sicilian: Najdorf, Polugaevsky, 10.Qe2 Nfd7 11.O-O-O Bb7 12.Qg4¹\ Ø CÖÏ8A71 Benoni: Classical, 8.Bg5¹Z¿ n*óAJB01y Scandinavian: Marshall, 4.c4 Nf6¹XÌY›µ©‚B45m Sicilian: Taimanov, Four Knights, 6.Nxc6 bxc6 7.e5 Nd5 8.Ne4¹V†%ˆkDB09h Pirc: Austrian, 5...O-O 6.Be2¹O•'¯UI­NC50u Giuoco Pianissimo: Canal Variation¹DSà_3¬ NB54f Sicilian: Prins (Moscow) Variation¹7Ùkä„ÜZC15h French: Winawer, Müller-Zhuravlev Gambit¹)cü¬)ŽNA02 Bird: From Gambit, Lasker Variation¹ ”K:ðTNE95b King's Indian: 7.O-O Nbd7 8.Re1 a5¹o7ì}åÝ\A86 Dutch: Leningrad, 4.Bg2 Bg7 5.Nc3 d6 6.Nh3¹x¯£:ÏdC14k French: Classical, Steinitz, 7...O-O 8.Nf3 c5¹SG?Òn*B10a Caro-Kann: 2.Ne2¸üÆÑ#+ˆp\D44q Semi-Slav: Botvinnik, Main Line, 12.g3 c5¸úR6_ ùsXE14q Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.Nc3¸øbØÒUhh\C99g Spanish: Closed, Chigorin, 13...Bb7 14.d5¸èúM‚ÞS¤fA30g English: Symmetrical, Mutual Double Fianchetto¸è0ª=qRA29 English: Four Knights, 4.g3 Bb4 5.Nd5¸äpŠSƒäÞVD85h Grünfeld: Exchange, 7.Be3 c5 8.Qd2 Qa5¸Óõ –ÌœËzB14r Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3 Bb4 7.cxd5 Nxd5¸¹‚{ŠyDC46f Three Knights: 3...Bc5 4.Nxe5¸¹|2Ñò”`A30k English: Symmetrical, Hedgehog, 6...d6 7.b3¸²X{µoËWfD83 Grünfeld: Grünfeld Gambit, Capablanca Variation¸›ºÔBhYHB95j Sicilian: Najdorf, 6...e6 7.Qf3¸•N:=…ÞŽzE34 Nimzo-Indian: Classical, Noa, 5.cxd5 Qxd5 6.Nf3 Qf5 7.Qb3¸”í´pènA36u English: Symmetrical, Botvinnik, 5...d6 6.Nge2 Nf6¸v |J”ÃTE09j Catalan: Closed, Main Line, 9.e4 dxe4¸sPð{®^C85m Spanish: Closed, Exchange, 7.d3 Nd7 8.Nbd2¸r%%_Èc(PB98g Sicilian: Najdorf, Browne Variation¸lÜœãg’6B07h Pirc: 3.Bd3 e5 4.c3 d5¸l [VÏNA01 Nimzowitsch-Larsen: Spike Variation¸iÞ|¡çrp$D35b QGD: Exchange¸e¤:gZ#PE30 Nimzo-Indian: Leningrad, 4...c5 5.d5¸e´`éwHC93 Spanish: Closed, Smyslov Defence¸Xp>B\™Ù\D19i Slav: Dutch, 8...O-O 9.Qe2 Nbd7 10.e4 Bg4¸WNãjŒ‡hA41g Neo-Old Indian: Wade Defence, 3.c4 e5 4.Nc3 Nc6¸S1_m”†dA36q English: Symmetrical, Botvinnik, 5...e6, 8.d3¸PVƃ‹‹ÐfB01h Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.d4 c6 5.Bc4¸F57zÖÄ^D84 Grünfeld: Grünfeld Gambit Accepted, 8...Nc6¸9’ºÀ{1nA30y English: Symmetrical, Hedgehog, Flexible Formation¸1ÆÞH7Ë„^E09m Catalan: Closed, Main Line, 9.e4 Bb7 10.e5¸!ƒ4hºP@A51h Budapest: Fajarowicz, 4.Nf3¸þj6hB35a Sicilian: Accelerated Fianchetto, Modern, 7.Bc4¸ß´¡þPÐBD45l Semi-Slav: 6.Qc2 Bd6 7.g4 h6¸ X+¿!ËRB50o Sicilian: 2.Nf3 d6 3.c3 Nf6 4.h3 Nc6¸äR0žŸÓlC69i Spanish: Exchange, Gligoric, 6.d4 exd4 7.Nxd4 Ne7·ðú¼/7T@D17e Slav: Czech, 6.Nh4 Bc8 7.e3·ïÊ&舦VC33 KGA: Bishop's Gambit, Classical Defence·ìèôY“¶4C41h Philidor: Bird Gambit·ës–Y¿c¤`E78 King's Indian: Four Pawns Attack, 7.Nf3 cxd4·äÆA¯!V€`E70t King's Indian: Accelerated Averbakh, 5...h6·ä+x v0ò4C61d Spanish: Bird's, 5.d3·àÁ§Ò:CJA06 Reti: Nimzowitsch-Larsen, 2...Nf6·Þ)§2¬jlB03i Alekhine: Four Pawns Attack, Fianchetto Variation·ÎéÇP¸A80a Dutch·È³I¼Š8C70 Spanish: Bird's Deferred·½´mÔˆdB23p Sicilian: Closed, Grand Prix, 3...d6 4.Nf3 g6·±穤áœLC80q Spanish: Open, Bernstein, 9...Bc5·®sg 8D11n Slav: Slav-Reti with b3·¬)/xÕé€E18u Queen's Indian: 7.Nc3 Ne4 8.Nxe4 Bxe4 9.Ne1 Bxg2 10.Nxg2 d5·¢|Oš7Û(A50k Indian: 2.c4 a6·–ÚE ß»î\C29j Vienna Gambit: Oxford, 5...Nxc3 6.bxc3 d4·”š´ad ÆvC15u French: Winawer, Alekhine Gambit, Alatortsev Variation·‘ù£­ÄÓ@A72 Benoni: Classical, 8.Be2 O-O·‹y‚‹®èfB22f Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 cxd4·‰Ênâä.D56 QGD: Lasker Defence·‚R0Vw|NA70b Benoni: Classical, 7...a6 8.a4 Bg4·‚jìm|TE83b King's Indian: Sämisch, 6...Nc6 7.Qd2·6ÛŠ_>D96 Grünfeld: Russian, 7.Bf4 c6·{ð¹ã„2A40x Queen's Pawn: Modern·zßÛÃìpE16m Queen's Indian: Capablanca, Riumin, 7.Nc3 O-O 8.O-O·zÄø00rE56 Nimzo-Indian: Main Line, 7...Nc6 8.a3 dxc4 9.Bxc4 Ba5·rÈH½EOWˆB85 Sicilian: Scheveningen, Classical, Main Line, 9...Nc6 10.Kh1 Qc7·nl[WTª‘^A32 English: Symmetrical, Two Knights, 5.Nc3 d5·myq‘4:¿BC41m Philidor: Antoshin Variation·jz´`RA4A03 Bird: Dudweiler Gambit·i¼÷òÚO™RC90j Spanish: Closed, Pilnik, 11.Nbd2 Nc6·d¶‘¨ïTD43q Semi-Slav: Moscow, Hastings Variation·dIg¶´uzD39k QGD: Ragozin, Vienna, 6.e4 c5 7.Bxc4, 8...Bxc3+, 10.Bb5+·^…Á°¦b_TA90 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 c6 5.Nh3·I’ZÁ wLD29k QGA: Classical, Smyslov Variation·DY¯6ПZE90j King's Indian: Larsen, 6...e5, Queenswap·@ꋌ{œMVD88 Grünfeld: Classical Exchange, Main Line·3}t£jC41e Philidor: Philidor Countergambit, del Rio Attack·+1[sÁ 4E11l Bogo-Indian: 4.Bd2 a5· n]X:QÖpE43 Nimzo-Indian: Nimzowitsch, 5.Nf3 Bb7 6.Bd3 Ne4 7.O-O·Øà§·…TE27 Nimzo-Indian: Sämisch, 5...O-O 6.f3 d5·!µYªFC64l Spanish: Classical, 4.O-O Nge7¶þ¢=j‰unC18v French: Winawer, Poisoned Pawn, Main Line, 13.Nxc3¶ü•D ý—vE15j Queen's Indian: Nimzowitsch, 5.Qa4 c5 6.Bg2 Bb7 7.dxc5¶üb%®Uà›<E41 Nimzo-Indian: Hübner, 8.e4¶åÄé_Ïè–4A00m Van Geet: 1...d5 2.e4¶äK”d‰~x2D91b Grünfeld: 5.Bg5 dxc4¶ÜÝh¬“ `D79c Neo-Grünfeld, 6.O-O c6 7.cxd5 cxd5 8.Nc3 e6¶×‘¸©„æ<E15b Queen's Indian: 4.g3 Bb4+¶Ð-qö§ódD86 Grünfeld: Classical Exchange, Larsen Variation¶Ìé ¹3FÒHB25a Sicilian: Closed, 3.g3, 5.d3 d6¶Ì¡n¾BCTD46d Semi-Slav: Bogoljubow, 7.O-O O-O 8.b3¶ËX)ZH4A65c Benoni: 6.e4 g6 7.Bf4¶Ä;ï'Î+ÄnA37o English: Symmetrical, 5.Nf3 e6 6.O-O Nge7 7.d3 O-O¶²›‘Qˉ×0D31c QGD: 3.Nc3 Bb4 4.a3¶­KôÀõNC65q Spanish: Berlin, Beverwijk, 5.Nxe5¶¨â£° ·MVD80 Grünfeld: Stockholm, Taimanov Variation¶¦÷òŒ†Í^D91g Grünfeld: 5.Bg5 Ne4 6.Bh4 Nxc3 7.bxc3 dxc4¶¥A¢ˆÁÊÃ4E12w Queen's Indian: 4.Nc3¶›•ý^ÚeŒA79 Benoni: Classical, Main Line, 10.Nd2 Na6 11.f3 Nc7 12.a4 b6 13.Kh1¶™Ôâ"ßÕpjB91m Sicilian: Najdorf, 6.g3 e5 7.Nde2 Be7 8.Bg2 Nbd7¶˜â>ÅïIÿdB58n Sicilian: Boleslavsky, 7.Nf3, 9.Re1 O-O 10.h3¶€³ jÙ>PC96e Spanish: Closed, Chigorin, 10...Bb7¶~;õVÜŠE68f King's Indian: Fianchetto, Classical, 8.e4 exd4 9.Nxd4 Re8 10.h3¶yÙ(ž}ͨVB57l Sicilian: Sozin, Benko, 7.Nb3 e6 8.Bf4¶y¼ÞnÞè>C12i French: MacCutcheon, 6.Bd2¶láî¢6ê„HE30 Nimzo-Indian: Leningrad, 4...O-O¶f]5]ÖåQpC95m Spanish: Closed, Breyer, Main Line, 14.Ng3 g6 15.a4¶ZÃ0ó Ñ LE11c Bogo-Indian: 4.Nbd2 b6 5.a3 Bxd2+¶5é ïT€8C01h French: Exchange, 4.Bd3¶1çVkÖ^HE05e Catalan: Open, Classical, 6.O-O¶/ô®m¹¯"<C63d Spanish: Schliemann, 4.d3¶/­ž-¸2ºJB60e Sicilian: Richter-Rauzer, 6...a6¶+Dƒ˜€DD09 QGD: Albin, 5.g3 Bg4 6.Bg2 Qd7¶(ß².³NA00o Grob Gambit Accepted: Fritz Gambit¶ SµXÑæÚDA58e Benko Gambit: Accepted, 6.Nc3¶):~†NTE61r King's Indian: 4.Nf3 d6 5.Bf4 d6 6.e3¶¼޳¤OFD07j QGD: Chigorin, 3.Nf3 Bg4 4.Nc3¶’ÂGêLD53o QGD: 4.Bg5 Be7 5.Nf3 O-O 6.Qc2 c5¶ @nUÌ|HD19h Slav: Dutch, 8...O-O 9.Qe2 Nbd7¶ ä;û¡Š&A25 English: ClosedµöšNl7þˆfB44x Sicilian: Taimanov, Szen, Hedgehog, 11.Be3 Ne5µïCá!“0D€E86f King's Indian: Sämisch, Orthodox, 7.Nge2 c6 8.Qd2 Nbd7 9.d5µíÁÑ ùðzA45o Trompowsky: 2...e6 3.e4 h6 4.Bxf6 Qxf6 5.Nc3 d6 6.Qd2 g5µÕç D1èŠFA15 English: Anglo-Indian, 2.Nf3 g6µÏ]iê¶ÁRD47k Semi-Slav: Meran, Lundin, 9.Ne4 Nxe4µËÞfSv|Ã8E61a King's Indian: 3.Nc3 c6µÇÄÓ"3GYŽA29 English: Four Knights, 4.g3 d5 5.cxd5 Nxd5 6.Bg2 Nb6 7.O-O Be7 8.a3µÆ_2Q;fPC50n Giuoco Pianissimo: Dubois VariationµÅõi3¼Š4C24 Bishop's Opening: 3.d4µ¹™:KiÅ"RE48 Nimzo-Indian: 4.e3 O-O 5.Bd3 d5 6.Ne2µ·åR€vÀFFB24 Sicilian: Closed, 3.g3 g6, 5.d3µ¶™",ƒŸPD76a Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6µ«Èž·à\E20 Nimzo-Indian: Romanishin, 4...c5 5.Nf3 O-Oµ£ QmI JC01q French: Exchange, 4.Nf3 Bd6 5.c4µ Ã}ÕÖ>Ž^A58j Benko Gambit: Accepted, 7.Nf3 g6 8.Nd2 Qa5µ˜ÂzûáhC79 Spanish: Steinitz Deferred, Rubinstein Variationµ›ËiƬ&@zB11h Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 e6 6.d4µšC—JìÃã^D48s Semi-Slav: Meran, Old Main Line, 10...cxd4µ•'ÔL@Mš>D21m QGA: 3.Nf3 c5 4.d5 e6 5.e4µˆ»0¼åÐdB63r Sicilian: Richter-Rauzer, 7.Qd2 Be7, 9.Nb3 a5µxëFÇoÃFHA38a English: Symmetrical, Main LineµxG3»š¥vE25 Nimzo-Indian: Sämisch, 5...c5 6.f3 d5 7.cxd5 Nxd5 8.Qd3µsPçAÍúPE04w Catalan: Open, 5.Nf3 Nc6 6.Qa4 Bb4+µrýÝ<Á`C57g Two Knights: Fegatello, Leonhardt Variationµ[_Ga”`NJA58g Benko Gambit: Accepted, 6.Nc3 d6µYM½†:^W*A54 Old Indian: 5.Bg5µRDÖCüÔ…`B61d Sicilian: Richter-Rauzer, Larsen, 7.Qd2 Rc8µHÓ­Z®Ž8A45i Indian: 2.g3 c5 3.d5 b5µH}…§üu &D10b Slav: ExchangeµC“~—@âZB96n Sicilian: Najdorf, Polugaevsky Variationµ:ºËC|A05 Reti: KIAµ2J¦n@÷‚B97s Sicilian: Najdorf, Poisoned Pawn, Main Line, Timman's 13.Be2µ0mÁ|Ìó’LE16e Queen's Indian: Capablanca, 6.Bd2µ'£˜O;yHC48n Four Knights: Rubinstein, 5.Ba4µC2Ë£JblC89y Spanish: Marshall, Main Line, Classical, 18.a4 f5µèµÀbê>B00f Owen Defence: Smith Gambit´ù€ ÅUÕ<D26r QGA: Classical, 6.O-O Nc6´ùvëD_"PB63c Sicilian: Richter-Rauzer, 7.Qd2 Qb6´÷Ï%oZC58c Two Knights: Morphy, Yankovich Variation´õ=Þµ>“4D30v QGD: Vienna Variation´ò ̺SfB83 Sicilian: Scheveningen, Modern, 9.f4 Bd7 10.Kh1´ñÍL¤À.s^B81i Sicilian: Scheveningen, Keres, 6...h6 7.h3´ìÑ%VOtrBD02d Queen's Pawn: 2.Nf3 Bf5 3.e3´æüÓÛÙÞ^A30t English: Symmetrical, Hedgehog, 8.Qxd4 Nc6´ã™"#T@C70 Spanish: Fianchetto Deferred´á ´àD€Œ`D28k QGA: Classical, 7.Qe2 b5 8.Bb3 Nc6 9.Rd1 c4´ÜO5D%bxE82d King's Indian: Sämisch, Fianchetto, Bronstein Variation´Ù+ž>yl<8E91f King's Indian: 6.Be2 c5´Ø~¥ÉìÅâ2E61c King's Indian: 4.Bg5´ÐÁ]ýxñ<@A76 Benoni: Classical, Main Line´·¨¡SÌTD19d Slav: Dutch, 8...O-O 9.Qe2 Bg6 10.Rd1´¯WKqXJD81 Grünfeld: Early Russian Variation´§ª¸U£ÓQRB91h Sicilian: Najdorf, 6.g3 e5 7.Nb3 Be7´¤aô?"Ó dE04x Catalan: Open, 5.Nf3 Nc6 6.Qa4 Bb4+ 7.Bd2 Nd5´’â(–™N£BA90 Dutch: 2.c4 Nf6 3.g3 e6 4.Nc3´u8“%B½RB46g Sicilian: Taimanov, 5...a6 6.g3 Nge7´t*ÈJ®¥€B66m Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Be3 Be7 10.f3´iA EoÚXD22j QGA: Alekhine, 4.e3 Bg4 5.Bxc4 e6 6.Qb3´U#:,°†<A11 English: Caro-Kann Defence´S°ˆ¢ám &A10 English: 1...g6´L—3s?hjB11d Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3´Lf} ˆmÄlB84 Sicilian: Scheveningen, Classical, 7.O-O Qc7 8.Bf3´5|Âä¿hC42f Russian Game: Boden-Kieseritsky Gambit Accepted´&Ê[რ|<D63 QGD: Orthodox, Swiss, 8.a3´&±æ;„sÍLD14c Slav: Exchange, 6.Bf4 Bf5 7.e3 a6´Ÿù7Ä,8B33a Sicilian: Open, 2...Nc6´ž#Å}Ø^C04b French: Tarrasch, Guimard, 4.Ngf3 Nf6 5.e5´&Q§T"krA55h Old Indian: 5.e4 Be7 6.g3 c6 7.Bg2 O-O 8.O-O a6 9.a4´Ö;‚Ó;x6A16 English: Anglo-Grünfeld´ œ!z¦LbA67n Benoni: Four Pawns, Taimanov, 9.a4 a6 10.Bd3´á¨CþAJD93 Grünfeld: 5.Bf4 O-O 6.e3 c6 7.Qb3´ü逦‚LA41t Neo-Old Indian: Modern, 3.Nc3 Bg7³õ÷ìIP2A40t Queen's Pawn: Modern³í?ê\'d„:E06 Catalan: Closed, 6.O-O c6³ë K¾ðH\pD79e Neo-Grünfeld, 6.O-O c6 7.cxd5 cxd5 8.Nc3 Ne4 9.Nxe4³ê±Ëï“éò‚E66l King's Indian: Fianchetto, Yugoslav Panno, Main Line, 12.Bb2³â£57®pD64 QGD: Orthodox, Rubinstein Attack, Grünfeld Variation³Úiâmà+x2D18n Slav: Dutch, 8...O-O³Ð¬§JX|DC23 Bishop's Opening: Lopez Gambit³Ï&½¡-©HC30k KGD: Classical, Heath Variation³Ëÿ1N)ànDA10 English: 1...b6 2.Nc3 Bb7 3.e4³È[=ÆùOFC93 Spanish: Closed, Smyslov, 10.d4³¼¶½uœôBA23 English: Bremen, Keres, 4.Nf3³¸ÄgMïž\B15n Caro-Kann: Gurgenidze: 4.Nf3 Bg7 5.h3 Nf6³²Ã7Ž×àtB13y Caro-Kann: Panov-Botvinnik, 5...Nc6, Normal Variation³¨ ˜ê£©œHB17c Caro-Kann: Steinitz, 5.Nf3 Ngf6³Eõ±ˆˆBB01b Scandinavian: 2...Qxd5 3.Nc3³“»4…ØÒ1:D47a Semi-Slav: Meran, 7...b5³çKËä²fC04i French: Tarrasch, Guimard, Main Line, 6.Nb3 a5³nðD¾‚¦a6D58k QGD: Tartakower, 8.Be2³h@V!t„RB48f Sicilian: Taimanov, 6.Be3 a6 7.f4 b5³[SðV\e+B99r Sicilian: Najdorf, Main Line, 10.g4 b5 11.Bxf6 Nxf6 12.g5 Nd7 13.a3³R¾¹Æ‡ý»†E89h King's Indian: Sämisch, Orthodox Main Line, 10.Qd2 a6 11.g4 h5³R ^µ‚^R8C45f Scotch: Steinitz, 5.Nc3³C¢ƒÏhD39j QGD: Ragozin, Vienna, 6.e4 c5 7.Bxc4, 8...Bxc3+³>[—GòsJB54g Sicilian: Prins (Moscow), 5...e6³=ÈjøãüJPC33 KGA: Bishop's Gambit, Paulsen Attack³*Æ@p_ã4B89 Sicilian: Sozin, 7.Be3³ SÕ,˜õ\B52k Sicilian: 3.Bb5+, Sokolsky, 5...Nc6 6.Nc3³£ QžÔÁ,A00f Anderssen Opening³cü¶È jE38k Nimzo-Indian: Classical, 4...c5 5.dxc5 Na6: 8.b4²ýÁ#¸æNC78i Spanish: 5.O-O b5 6.Bb3 Bc5 7.Nxe5²õþ » !RdE97u King's Indian: Mar del Plata, 9.Nd2 Ne8 10.b4²Ùy¨¯×²³vE16n Queen's Indian: Capablanca, Riumin, 7.Nc3 O-O 8.O-O d5²Ø™ùÿ]ô‚D32v QGD Tarrasch: 5.Nf3 Nc6 6.e3 Nf6 7.Be2 cxd4 8.Nxd4 Bd6 9.O-O²×|t šÌ³FA16 English: Anglo-Indian, 2.Nc3 d6²ÕŸ.Ô—>bB97p Sicilian: Najdorf, Poisoned Pawn, 10.e5 dxe5²ÒøTÕAá:D10v Slav: 3.Nc3 Nf6 4.e3 Bf5²ÍÊæàXÛÎXA32 English: Symmetrical, Two Knights, 5.Nc3²¿~]»bÚNE27 Nimzo-Indian: Sämisch, 5...O-O 6.f3²¸¤ÉÁãÝFA22 English: Bremen, Smyslov, 4.Bg2²§ ¿Ÿtøº\A37l English: Symmetrical, 5.Nf3 e6 6.O-O Nge7²C3þ€)8NB88 Sicilian: Sozin-Scheveningen, 7.Bb3²‘y´ìtRŽB97x Sicilian: Najdorf, Poisoned Pawn, Main Line, 13.e5 dxe5 with 18.c4²€¼ƒd~¡ÿVE97w King's Indian: Mar del Plata, 9.Nd2 c5²y>Æø¼véNC78i Spanish: 5.O-O b5 6.Bb3 Bc5 7.Nxe5²jy%ÌqËVC51 Evans Gambit Declined, Pavlov Variation²h#ÓêwBƒVD55k QGD: Neo-Orthodox, Petrosian Variation²g „‰UK>A86 Dutch: Hort-Antoshin System²[³}„]ûPA87 Dutch: Leningrad, Main Line, 5...O-O²Y«ƒ'!pó‚E90w King's Indian: 5.Nf3 O-O 6.h3 c5 7.d5 e6 8.Bd3 Na6 9.O-O Nc7²Qš-#ZíFC51 Evans Gambit: Paulsen Variation²Il±q䮊C63t Spanish: Schliemann, 4.Nc3 fxe4 5.Nxe4 d5 6.Nxe5 dxe4 7.Nxc6 Qd5²Eš®~Á,ÚPD05g Colle: Rubinstein's Attack, 5...Nc6²ÏU¼C^E90r King's Indian: 5.Nf3 O-O 6.h3 e5 7.d5 Nbd7²’ÏÙ˜zE18u Queen's Indian: 7.Nc3 Ne4 8.Nxe4 Bxe4 9.Ne1 Bxg2 10.Nxg2² žÆ.¢0FD00s Blackmar-Diemer: Hubsch Gambit²+Yi-àr*D11e Slav: 3.Nf3 dxc4²ši‘Q<C85b Spanish: Closed, Exchange²x £ò$BD00s Blackmar-Diemer Gambit (BDG)²ýQêfñ}\B71 Sicilian: Dragon, Levenfish, 6...Nc6 7.Nf3±õ÷eàN@C47g Four Knights: Glek, 4...Bc5±ë‚Ø™J´±bE85g King's Indian: Sämisch, Orthodox, 7.Nge2 Nc6±ç_÷ ?ãnB34f Sicilian: Accelerated Fianchetto, Modern Variation±ÎrÝñ˜bë6B30c Sicilian: 2...Nc6 3.d3±Íl{kÉ&4DB13b Caro-Kann: Exchange, 3...cxd5±Ì$÷]·_=^C95c Spanish: Closed, Breyer, Simagin Variation±Ç5xs¸L2D21e QGA: 3.Nf3 e6 4.Qa4+±À–ÁO-ÇÈFE30 Nimzo-Indian: Leningrad, 4...h6±¸˜¸kV1„B34u Sicilian: Accelerated Fianchetto, Modern, 6.Be3 Nf6 7.Be2 O-O±¬p†5ßJ'@A16 English: Anglo-Indian, 2.Nc3±Ÿ&~öCVdB21y Sicilian: Smith-Morra Gambit, Chicago Defence±ž’qÄͤPC23 Bishop's Opening: Lisitsin Variation±ž}`Ó0|pnB61i Sicilian: Richter-Rauzer, Larsen, Main Line, 10.f4±¯Ÿ0·2RA01 Nimzowitsch-Larsen: Ringelbach Gambit±›N@‡§(bD85g Grünfeld: Exchange, 7.Be3 c5 8.Qd2 O-O 9.Rc1±‘Ÿ£^–ìÑbB01n Scandinavian: 2...Qxd5, Main Line, 6.Bc4 Bg4±š2ÕX7š€B39f Sicilian: Maroczy Bind, Breyer, 8.Qxg4 Nxd4 9.Qd1 e5 10.Nb5±…jlüv±…2A13r English: Neo-Catalan±‚æ ÑÐÿCvA37w English: Symmetrical, 5.Nf3 e5 6.O-O d6 7.d3 Nge7 8.a3±v’þá™0dE74g King's Indian: Averbakh, 6...c5 7.d5 a6 8.Qd2±rÿs¨ÏvxD93 Grünfeld: 5.Bf4 O-O 6.e3 c5 7.dxc5 Qa5 8.Rc1 dxc4 9.Bxc4±r¨µ ¾aà\B19k Caro-Kann: Classical, Spassky, 10.Qxd3 e6±bd™óÖ(å2D51 QGD: 4.Bg5 Nbd7 5.Nf3±^ Ôy«¼ñFD00j Trompowsky: 2...d5 3.Bxf6 gxf6±SòUûûfB74 Sicilian: Dragon, Classical, Alekhine Variation±IFaõï„pD43n Semi-Slav: Moscow, 6.Bh4 Gambit, Main Line, 9...Bb7±?Ý»éu¤õhB60b Sicilian: Richter-Rauzer, Bondarevsky Variation±=³äbafâZD87i Grünfeld: Classical Exchange, 10.Be3 Na5±=<”„6*6D30s QGD: 3.Nf3 Nf6 4.e3 c6±1D•!•?üHA90 Dutch: 2.c4 Nf6 3.g3 e6 4.Nc3 d5±,áK~GóŸ:D28d QGA: Classical, 7.Qe2 b5±#*héR›õ8C65a Spanish: Berlin Defence±Å—“^C77h Spanish: Four Knights (Tarrasch) Variation±í~™Åð*C21 Centre Game°ÿ¯˜©Y&HE20 Nimzo-Indian: Romanishin, 6.Nxd4°øKEy¸¢¥TE49 Nimzo-Indian: Botvinnik, 7...c5 8.cxd5°ÙD9 µ€TLB07c Pirc: 2.f4 Nf6 3.Nc3 g6 4.Nf3 Bg7°Í‡›jC43e Russian Game: Modern Attack, Pillsbury Variation°Ç‘D„0`HA23 English: Bremen, Keres, 4.Nf3 d6°Äçlèh>B91b Sicilian: Najdorf, 6.g3 b5°¼ò@nózRC27d Vienna: 3.Bc4 Nxe4 4.Qh5 Nd6 5.Qxe5+°¹‡‡J þz€D03u Torre Attack: 3...g6 4.e3 Bg7 5.Nbd2 O-O 6.Bd3 c5 7.c3 Nbd7°² j^Ü¡”$E60a King's Indian°¨§BäÚVB16f Caro-Kann: Bronstein-Larsen, 6.Nf3 Bf5°§ÍÀrð¯—bA44u Old Benoni: Czech, 3.e4 d6 4.Nc3 a6 5.a4 Be7°¥¬RÀñ”2C25m Vienna: 2...Nc6 3.f4°£7Ô¿”900D34f QGD Tarrasch: 9.Bf4°¡³fûF7×ZD59d QGD: Tartakower, 8.cxd5 Nxd5 9.Bxe7 Qxe7°¡Rö¡ß#OpD58l QGD: Tartakower, 8.Be2 Bb7 9.Bxf6 Bxf6 10.cxd5 exd5°œ¸³EVF6D00h Hodgson Attack, 2...h6°•ÖÊHøå—PA44f Old Benoni: Czech, 3.c4 d6 4.e4 Be7°Žûå*©ÏÄ8A41e Neo-Old Indian / Modern°Ž¿Hù<µãXA82 Dutch: Staunton Gambit, 4.f3 exf3 5.Nxf3°Œe,OAH‘PA40d Queen's Pawn: English Defence, 2.c4°†WCjÉ:A21 English: Lukin, 5.Ng5 Nf6°wPj%š3–LB01l Scandinavian: 2...Qxd5, 5.Nf3 Bf5°n8Ž\"†@A42v Modern: Averbakh, Queenswap°f¸î:OÅrB33p Sicilian: Pelikan, Chelyabinsk, 9.Nd5 Be7, 11.c3 Bg5°c.<_\DC50m Giuoco Piano: 4.O-O Nf6 5.Nc3°_¢·ä4¢ÒTB74 Sicilian: Dragon, Classical, 9.Nb3 Be6°Vy©cãˆ6HA48m Neo-King's Indian: Torre Attack°U…}Í9´JB08n Pirc: Classical, 5.Be2 O-O 6.O-O°RÓó?h ·6C44z Scotch Gambit: 5.c3 d3°LƦ ¨ßîPA87 Dutch: Leningrad, Main Line, 7.d5 c5°H±nB:{ÌbE70u King's Indian: Accelerated Averbakh, 5...O-O°FŒœ)ÕnfBB12v Caro-Kann: Advance, 4.Nc3 e6°?ÑÇ$C áLE08m Catalan: Closed, 7.Qc2 c6 8.b3 b6°5Q¯ñŽ qZC33 KGA: Bishop's Gambit, Anderssen Variation°/*³,̆½\D91j Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 c6°/¬í‰–ËbB10l Caro-Kann: English, Exchange, 4...Nf6 5.Bb5+°$"ä¾nD32f QGD Tarrasch: von Hennig-Schara Gambit, 7.Qxd5 Nc6°"ÉàðI›jC69j Spanish: Exchange, Gligoric, 6.d4 exd4 7.Nxd4 c5°ÝM9ðVörB76m Sicilian: Dragon, Yugoslav, 9.O-O-O Nxd4: 11.Kb1 Qc7¯ÿõÑ9ÕW6A00k Van Kruijs¯ÿ§{ŒXBBD43k Semi-Slav: Moscow, 6.Bh4 Be7¯éœwy®ÏsHA18 English: Mikenas, Flohr, 4...Ne4¯â:WÁëœÒlE11z Bogo-Indian: 4.Bd2 Bxd2+ 5.Qxd2 O-O 6.Nc3 d5 7.e3¯Ú¥Uåñ ÀRB86 Sicilian: Sozin-Scheveningen, 6...Qb6¯Ô–€R:C41j Philidor: Paulsen Attack¯Ós}qíb¦LE24 Nimzo-Indian: Sämisch, 5...b6 6.f3¯ÊFÏ.Sµ‡JD35c QGD: Exchange, Sämisch Variation¯ÄFO^óÐ>D94 Grünfeld: 5.e3 O-O 6.Be2 c5¯Á±+P³*å(A45h Indian: 2.g3 g6¯¿¡RÂ^'PB98f Sicilian: Najdorf, 7...Be7 8.Qf3 h6¯±D]ÚOn=`A75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.Bf4¯¯\“­&rE13h Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 Bxc3+ 8.bxc3¯¬TpȤ¿0B06d Modern¯žàe¤œbËFB42h Sicilian: Kan, 5.Bd3 Nf6 6.O-O¯›º\³`DA29 English: Four Knights, 4.g3 d5¯˜ž1åÝXNB96i Sicilian: Najdorf, 7.f4 Nbd7 8.Bc4¯” K5×tdB63v Sicilian: Richter-Rauzer, Podebrad, 10.f3 Rd8¯†ö®8†J2>A43s Old Benoni: Schmidt, 3.Nc3¯…Å­”MJZB00w Nimzowitsch Defence: Bogoljubow, 3...Nf6¯|…ßly¦HA95 Dutch: Stonewall, 7.Nc3 c6 8.Bf4¯€Uô>ü¯þ^E78 King's Indian: Four Pawns Attack, 7.Nf3 Bg4¯t…ƒeÐ\C82e Spanish: Open, Berlin, 10.Bc2 Bg4 11.Nbd2¯fÊÜ}l!ÖXD06k QGD: Marshall Defence, 3.cxd5 Nxd5 4.e4¯a žËÛöò2A25 English: Closed, 5.e3¯Y)N·^E12x Queen's Indian: 5.Bg5 h6 6.Bh4 Be7 7.e3 c5¯S(íîáDD00v Blackmar-Diemer: Ryder Gambit¯@20ŠhàÇlE51 Nimzo-Indian: 4.e3 O-O 5.Nf3 d5 6.Bd3 Nc6 7.O-O a6¯/1ÎbƒVDD10w Slav: 3.Nc3 Nf6 4.e3 a6 5.Bd3¯-¥”–GéN$D20i QGA: 3.Nc3 e5¯"µØƒÅ<D00v Blackmar-Diemer: Accepted¯Us(§4D10o Slav: 3.Nc3 dxc4 4.e3¯GF¥HTÁJB59c Sicilian: Boleslavsky, 7.Nb3 Be7¯ &mõ€ÉùXC43c Russian Game: Modern Attack, Tal Gambit¯§,Y»®fC04g French: Tarrasch, Guimard, Main Line, 6.Be2 f6®úóûÚK!{JC05p French: Tarrasch, Closed, 7.Ndf3®óÔÿ à\E95e King's Indian: 7.O-O Nbd7 8.Re1 Re8 9.Bf1®î ³PA00l Van Geet: Sicilian Variation, 2.Nf3®¸ˆ>¯Ø”dE84b King's Indian: Sämisch, Panno Main Line, 9.a3®°£*£ˆç˜fB30w Sicilian: Rossolimo, 3...e6 4.O-O Nge7 5.c3 a6®œ|‚éþlUDD35j QGD: Exchange, 5.Bg5 Be7 6.e3®•³Øz‚µåjE73y King's Indian: Averbakh, 6...h6 7.Be3 e5 8.d5 c6®“)ÔoǾ%JB10t Caro-Kann: Two Knights, 3...dxe4®’§‚:äHxA14 English: Neo-Catalan Declined, 5...O-O 6.b3 b6 7.Bb2 Bb7®ˆ qMôØ<HD60 QGD: Orthodox, Botvinnik, 8...c5®{oÃ;tþN.A07 Reti: KIA, Yugoslav®wz».vMl\B13r Caro-Kann: Panov-Botvinnik, 5...Nc6 6.Nf3®i~Èò¼=°FE70g King's Indian: Kramer, 5...O-O®RòàOÉ!ôDB22a Sicilian: Alapin, 2...g6 3.d4®R‡×6¢dE43 Nimzo-Indian: Nimzowitsch, 5.Nf3 Bb7 6.Bd3 O-O®Jh¢MwÞeZE73y King's Indian: Averbakh, 6...h6 7.Be3 e5®H‡úNèíOLD60 QGD: Orthodox, Botvinnik, 7...dxc4®:íZgž•vD34n QGD Tarrasch: 9.dxc5 Bxc5 10.Bg5 d4 11.Bxf6: Main Line®5îµóm\E72 King's Indian: 4.e4 d6 5.g3 O-O 6.Bg2 Nbd7®.ÐG’–ƒLD20p QGA: 3.e4 Nf6 4.e5 Nd5 5.Bxc4 Nb6®)tg"p_ND61 QGD: Orthodox, Rubinstein Variation®(ûƒ±Ê7NE15d Queen's Indian: Nimzowitsch, 5.Qc2®ÃRÆ‹fébC41s Philidor: Improved Hanham, Larobok Variation®¡mÈjh 8B07u Pirc: 4.Be3, 150 Attack®“¥>F+pC52 Evans Gambit: Compromised Defence, Paulsen Variation®fFp`!"A04 Reti: 1...Nc6®ØRÅÙ>RA34 English: Symmetrical, 3 Knights, 5.d4­ü‘t¾âwBA34 English: Symmetrical, 2...Nf6­úÖ™MnÖ NE91t King's Indian: 6.Be2 Nbd7 7.O-O c6­ôÞÑg•å,C78e Spanish: 5.O-O b5­óÑJs¶0C25g Vienna: Fyfe Gambit­ò»sƵJ¡FC24 Bishop's Opening: Urusov Gambit­ï²ºÓXC17q French: Winawer, Swiss, 6.b4 cxd4 7.Nb5­îW\†VbC52 Evans Gambit: Tartakower, Levenfish Variation­ìR£u2/…~E69m King's Indian: Fianchetto, Classical, 9.h3 Qb6 10.Re1 exd4­ê‹ôo †lVC33 KGA: Bishop's Gambit, Jänisch Variation­å‹‡6WÅNC02y French: Advance, 5.Nf3 Qb6 6.a3 c4­äx5b€!¯\B13j Caro-Kann: Exchange, Rubinstein Variation­Òì%Ü@sBpE23 Nimzo-Indian: Spielmann, 4...c5 5.dxc5 Nc6 6.Nf3 Ne4­Ìää¨`æ HE12b Queen's Indian: Miles, 5.e3 Be7­Ç'&N{ÓÔ<A55e Old Indian: 5.e4 Be7 6.g3­ÅѶóX“ÔBA46w Torre Attack: 3...c5 4.e3 h6­½Uð˜BzD85q Grünfeld: Modern Exchange, 8.Rb1 O-O 9.Be2 cd 10.cd Qa5+­ºªcY }8A45n Trompowsky: 2...e6 3.e4­§º0j÷4A53 Old Indian: 3.Nf3 Nbd7­V÷ü.žHC51 Evans Gambit: Stone-Ware Defence­oz³ éÃxbD50 QGD: Dutch-Peruvian, Canal (Venice) Variation­nóUE5 ô:C18b French: Winawer, 6...Qa5­NÓ†P_¹BC33 KGA: Stamma (Leonardo) Gambit­KoúâÄHE95a King's Indian: 7.O-O Nbd7 8.Re1­IþFƒß‹²8A00s Polish: 2...Bxb4 3.Bxe5­C¯Ý#Ú9TtD90 Grünfeld: Three Knights Exchange, Romanishin Variation­AÁÞl¿*C03a French: Tarrasch­<¢ÏJÐHbB52d Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Nxd7 5.O-O Ngf6­2V˜ƒžvC09i French: Tarrasch, Open, Main Line, 9.c3 O-O 10.Nb3 Bb6­‰Üa»JÜ\A25 English: Closed, 5.Rb1, Taimanov Variation­²J¨°`›TB27l Sicilian: Hungarian, 3.d4 cxd4 4.Nxd4­¡óî›[aJE46 Nimzo-Indian: Reshevsky, 6.a3 Be7­à è¯IN`B16l Caro-Kann: Bronstein-Larsen, 6.c3 Bf5 7.Nf3­:kÓÔN@LA02 Bird: From Gambit, Langheld Gambit­ŽÈ‹7XC57d Two Knights: Traxler, 5.Bxf7+ Ke7 6.Bb3¬ü ©ô‰å†VC29k Vienna Gambit: Paulsen Attack, 5...Nc6¬åì—Ùä_LB42i Sicilian: Kan, 5.Bd3 Nf6 6.O-O d6¬ÜU0Ëp<B25m Sicilian: Closed, 6.f4 e6¬Ü-½Šÿ-Ð~D87m Grünfeld: Classical Exchange, 10.Be3 Qc7 11.Rc1 Rd8 12.Bf4¬Ù9é0ÙÕLB47s Sicilian: Taimanov, 6.Be2 a6 7.f4¬Ô®ªè ’xE13i Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 Bxc3+ 8.bxc3 d6¬ÎñË7‹Õ^D30b Diemer-Duhm Gambit (DDG): Alapin Variation¬Ìšá½ÜÇøtC95f Spanish: Closed, Breyer, 10.d4 Nbd7 11.Nbd2 Bb7 12.a4¬Ào8Ý ]ALC54n Giuoco Piano: Bernstein Variation¬¿Üt¸ž],LC64i Spanish: Classical, 4.c3 Nf6 5.d4¬¿gNësƒ{BC07b French: Tarrasch, Open, 4.c3¬´ÙI—lVbE31f Nimzo-Indian: Leningrad, Main Line, 7.e3 Qe7¬—b¬;VlB05d Alekhine: Modern, Alekhine Variation, 6.exd6 cxd6¬–àlÍkÎÕrE66k King's Indian: Fianchetto, Yugoslav Panno, Main Line¬–df²íŒD34y QGD Tarrasch: 9.Bg5 cxd4 10.Nxd4 h6 11.Be3 Re8 12.Rc1 Bf8 13.Nxc6¬‚Ÿ²0šVB47v Sicilian: Taimanov, 6.Be2 a6 7.O-O Nf6¬u7ÍÐ%wà<D31e QGD: Alatortsev, Exchange¬e«µƒÜ4^B81i Sicilian: Scheveningen, Keres, 6...h6 7.h3¬XAïÈ~›@C33 King's Gambit Accepted (KGA)¬Pö‚çjRA40j Queen's Pawn: Bogoljubow-Miles, 2.d5¬E¹ìèhþñ<B06p Modern: 3.Nc3 d6 4.Be3 a6¬C`c8¯ÎëZE62s King's Indian: Fianchetto, Simagin, 8.d5¬7}r'™lPD10k Slav: Winawer Countergambit, 4.cxd5¬2fÿ²ABbD34k QGD Tarrasch: 9.dxc5 Bxc5 10.Bg5 Be6 11.Bxf6¬/QͦFܶjC89u Spanish: Marshall, Main Line, Classical, 18.Bxd5¬+ ïeVêPE43 Nimzo-Indian: Nimzowitsch, 5.Nf3 Bb7¬ä²!oñHE02 Catalan: Open, 5.Qa4+ Nbd7 6.Nf3¬¨™U‰·üXA36p English: Symmetrical, Botvinnik, 5...e6¬ã÷»”>ZA35h English: Symmetrical, Four Knights, 4.e3¬n²Z8™ˆE32r Nimzo-Indian: Classical, 4...O-O 5.a3, 6...b6 7.Bg5 Bb7 8.f3 h6¬æ¦Ò¯ùàNE93 King's Indian: Petrosian, Main Line¬Ñê-gw>C28m Vienna: 3.Bc4 Nc6 4.d3 Bb4¬ Õ™Žåº¨<A03 Bird: 1...d5 2.Nf3 g6 3.e3¬Æ}Ïþ|`B48l Sicilian: Taimanov, 6.Be3 a6 7.Bd3 b5 8.O-O«ÿä%µzrD49j Semi-Slav: Meran, Old Main Line, Botvinnik Variation«ôfÇŽ@Å6D94 Grünfeld: Flohr Defence«êûØbmcrDA06 Reti: Tennison Gambit Accepted«ánv ¤–:¦B49n Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O Bb4 9.Na4 Be7 10.Nxc6 bxc6 11.Nb6«á\ûój€E92w King's Indian: Petrosian, Stein, Main Line, 10...Qe8 11.O-O«Ü𱇞¿RBA60p Benoni: 4.Nc3 exd5 5.cxd5 d6«ÕA¡4uÎZC30i King's Gambit: Adelaide-Wahls, 4.exf5 e4«Õ p¬YVA30j English: Symmetrical, Hedgehog, 6...d6«ÉW}—ØTE81j King's Indian: Sämisch, 5...O-O 6.Be3«Æ4”äÏ}V,E00q Catalan: 4.Nf3 c5«¿ ™ç¯Ì8D31b QGD: Janowski Variation«µ;VùDE20 Nimzo-Indian: 4.f3 d5 5.a3 Be7« K£å²§*A43r Old Benoni: Hawk«ž~¶ËÁ$DB56a Sicilian: Open, 2...d6, 5.Nc3«”¼÷D¤_•dD43j Semi-Slav: Botvinnik, 5...Be7 6.e3 Nbd7 7.Bd3«…h ð ^vD42l QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Nf6 11.Bg5«„-do÷C>D45v Semi-Slav: 6.Qc2 Bd6 7.Be2«€Oðá€ýúbD82 Grünfeld: 4.Bf4 Bg7 5.e3 c5 6.dxc5 Qa5 7.Qa4+«zeÁ&þúlB39d Sicilian: Maroczy Bind, Breyer, 8.Qxg4 Nxd4 9.Qd1«uß[9¹qäVD49a Semi-Slav: Meran, Blumenfeld Variation«pB\}=Q¶DB92b Sicilian: Najdorf, 6.Be2 Nbd7«^¢ #?ÀË,A05 Reti: KIA, Spassky«Zí 4v¶TPC85k Spanish: Closed, Exchange, 7.d3 Bg4«V¸ê§m©A07 Reti: KIA«=Ç¢—1ŒE76q King's Indian: Four Pawns Attack, 6.Nf3 c5 7.d5 b5 8.cxb5 a6 9.a4«6Î’öÑwNE11f Bogo-Indian: 4.Nbd2 O-O 5.a3 Bxd2+«4íŸèK+"LD71 Neo-Grünfeld, 5.cxd5 Nxd5 6.e4 Nb6«!´**ŸXD36f QGD: Exchange, 6.Qc2 Be7 7.e3 O-O 8.Bd3«!§ïV•u0D21i QGA: 3.Nf3 c5 4.Nc3« ɬ޿}>A00t Benko Opening: Symmetrical«¬½1tj`D47f Semi-Slav: Meran, Capablanca, 8...Bb7 9.O-O«I3Åè›®"A45d Indian: 2.e3«UÚ%K¯^C95d Spanish: Closed, Breyer, 10.d4 Nbd7 11.Bg5«}•äâÓ½~D59h QGD: Tartakower, 8.cxd5 Nxd5 9.Bxe7 Qxe7 10.Rc1 Bb7 11.Be2«u檲ËljE63j King's Indian: Fianchetto, Panno, 8.h3 Rb8 9.Be3« h-sˆ¡mND01o Richter-Veresov: 3...Nbd7 4.Nf3 h6« 3ç"¿vB51t Sicilian: 3.Bb5+ Nc6 4.O-O Bd7 5.Re1 Nf6 6.c3 a6 7.Bf1ªúR](1¢½TB19e Caro-Kann: Classical, 7.Nf3 Nf6 8.Ne5ªùé1ølE71l King's Indian: Makagonov, 5...O-O 6.Bg5 Na6 7.Bd3ªø¹–1/¹bTB22t Sicilian: Alapin, 2...Nf6, 5.cxd4 Nc6ªë¬$LÜ®hB49e Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.a3 Be7ªæACÂÆ .C37 KGA: 3.Nf3 g5 4.Bc4ªá‡Ò¬z*&D92 Grünfeld: 5.Bf4ªÜŒvi®“rB90t Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.f3 Be7 9.Qd2ªÙ ÓBÌn÷PB02s Alekhine: Two Pawns (Lasker) AttackªÌAªÄûbC69k Spanish: Exchange, Gligoric, 8.Nb3 QueenswapªÆmP•ˆÅJE90t King's Indian: 5.Nf3 O-O 6.h3 c5ª¾³ÊªòñjhA40q Queen's Pawn: Keres Defence, Kangaroo Variationª·×:Š/vˆ*A00l Van Geet: 1...e5ª¥Z|X±vB78s Sicilian: Dragon, Yugoslav, Old Main Line, 11.Bb3 Rac8ª:¾0˜::D11f Slav: 3.Nf3 dxc4 4.e3 b5ªœ¸QõœxE77 King's Indian: Four Pawns Attack, 6.Be2 c5 7.d5 e6 8.Nf3ªšÓ!ÇI2ÖHD02t Queen's Pawn: 3.g3 c6 4.Bg2 Bg4ªšÁ L‡6B09o Pirc: Austrian, 5...c5ª—zå”Ð|4C80l Spanish: Open, 8.Nxe5ª“âfï¦#bˆB92l Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O O-O 9.Be3 Be6 10.a4ªŽ ïOã]ÿˆB34r Sicilian: Accelerated Fianchetto, Modern, 6.Be3 Nf6 7.Nxc6 bxc6ª‡ÇŒëütC15u French: Winawer, Alekhine Gambit, 5.a3 Be7 6.Nxe4 Nf6ªshxÃ/ÒX0A00n Grob: Alessi Gambitªnü~­ÛbšB38w Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O Bd7 10.Qd2 Nxd4 11.Bxd4ªféNOQãi2E01 Catalan: 4...c6 5.Nf3ªe‡%½ÈðD20b QGA: 3.e3ª[!±gz@Á:D01h Richter-Veresov: 3...Bf5ªVhΡQù*B23h Sicilian: ClosedªS7ЧsÈxD34m QGD Tarrasch: 9.dxc5 Bxc5 10.Bg5 d4 11.Bxf6 Qxf6 12.Nd5ªN{|v)t2XD30b Diemer-Duhm Gambit (DDG): Keres DefenceªJ°ŠžotE69s King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Re1ªGõÁ?>,_tE85i King's Indian: Sämisch, Orthodox, 7.Nge2 Nc6 8.d5 Ne7ªGË c¾tŠVB96t Sicilian: Najdorf, Polugaevsky, 10.Qe2ªF6@â5ëhD46p Semi-Slav: Chigorin, 7.O-O O-O 8.e4 dxc4 9.Bxc4ªB¯–U/€•.C41h Philidor: 3...exd4ªB¬–e–VC68m Spanish: Exchange, 5.O-O Bd6 6.d4 exd4ª>’´™!.C42b Russian Game: 3.d3ª;nìT|%ÿ"A57a Benko Gambitª;!¶F»³ND80 Grünfeld: Stockholm, 4...Ne4 5.Nxe4ª8¢¸PÂ?>A29 English: Four Knights, 4.g3ª6N 1Û“TJC74 Spanish: Modern Steinitz, 5.c3 g6ª0ÐR¸DaNA27 English: Three Knights, 3...f5 4.d4ª%+»§ØjC57d Two Knights: Traxler, Chigorin/Pithart Variationª$xXÑND17j Slav: Central, Carlsbad, Main LineªF…¥×XC82k Spanish: Open, St. Petersburg VariationªH¡>ªhzE81s King's Indian: Sämisch, 5...O-O 6.Be3 Nbd7 7.Qd2 c5 8.d5ªkÏ$öl6D02h Queen's Pawn: 2.Nf3 e6ª]CWœoíPA54 Old Indian: 5.Bg5 Be7 6.e3 O-O 7.Qc2ªTÙdMÿ¬PB63k Sicilian: Richter-Rauzer, 7.Qd2 Be7ª$c»qLD00f Hodgson Attack: Welling VariationªŸæ—;y>DD32l QGD Tarrasch: Marshall Gambitª ˘ÚX3NE17j Queen's Indian: Opovcensky, 7...f5ª Ø¥Wô$$ŒB78q Sicilian: Dragon, Yugoslav, Main Line, 12.h4 h5 13.Bg5 Rc5 14.Kb1ª Âol}öÔPB28d Sicilian: O'Kelly, 3.d4 cxd4 4.Nxd4ª}¶ân€\E75c King's Indian: Averbakh, 7.d5 e6 8.Nf3 h6ªT [UüzZB32p Sicilian: Lowenthal, Kalashnikov, 6.N1c3©üÝÑÂÈÃfD32f QGD Tarrasch: von Hennig-Schara Gambit, 5.Qa4+©ùÁCš­YaLC40o Latvian Gambit: Morgado Variation©ø¯u§BD00n Queen's Pawn: Veresov Attack©÷þðéÎ+·^E53 Nimzo-Indian: Main Line, Keres, 8.cxd5 exd5©óƒ±Ó!»JB80e Sicilian: Scheveningen, 6.Be3 a6©ãT~‰6žNA22 English: King's, 2.Nc3 Nf6 3.e3 Bb4©á.W}åõëRC33 KGA: Bishop's Gambit, Greco Variation©ÚA‹„¬º.VD37n QGD: Classical, 5...O-O 6.e3 c5 7.dxc5©ÓO€=n$D24d QGA: 4.Nc3 c5©Ê3gJŒb>LD27t QGA: Classical, Rubinstein, 8.Qe2©Ç§—¯ËbB05d Alekhine: Modern, Alekhine Variation, 6.exd6©µ2÷†fA88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.d5 cxd5©´åq~+7 2D03d Torre Attack: 3...e6©²F¿ëj^@C30c King's Gambit: 2...d6 3.Nf3©­ÌvC°ŸZC41x Philidor: Improved Hanham, 7.Re1 c6 8.a4©¨SÕ•^œ*B51a Sicilian: 3.Bb5+©¥_—j€D76e Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.e3 e5 10.d5© Ú³+Z=:B33i Sicilian: Pelikan, 7.Bg5©””ÿ€œã\C17h French: Winawer, Bogoljubow, 5...Ne7 6.a3©“%¯‹s¦0:A43h Old Benoni: 2.d5 e6 3.c4©’zÏ™9ª&FC00i French: Chigorin, 2...c5 3.Nf3©v-6¼4o°hD89a Grünfeld: Classical Exchange, Main Line, 13.Bd3©t¢©’ §ÁTC40w Latvian Gambit: Nimzowitsch Variation©qÎU8p@FB54c Sicilian: Open, 2...d6, 4...a6©X¡z=Jb‡DD36f QGD: Exchange, 6.Qc2 Be7 7.e3©QÄöÅLB70l Sicilian: Dragon, 6.Be2 Bg7 7.O-O©LCÆ äð¦LA42j Modern: Averbakh, Kotov, 5.Be3 e5©KtŸ£dD76c Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6©B#½6 :HA06 Reti: Nimzowitsch-Larsen, 2...c5©?9ìiÈ:B10t Caro-Kann: Hector Gambit©9£dlj,C21 Centre Game: 3.Nf3©4L>V Ý6C15c French: Winawer, 4.Qg4©2*èúuÜ$TC66 Spanish: Closed Berlin, Wolf Variation©0P„exïõZB21l Sicilian: Grand Prix, Tal Gambit, 4.Bb5+©ò•·$wJE90d King's Indian: 5.Nf3 c5 6.d5 O-O©_ó•žÒ5BA43b Old Benoni: Cormorant Gambit©ÓTõ³%nB04i Alekhine: Modern, Larsen, 5.Nxe5 g6 6.Bc4 c6 7.O-O©È¿¿Fg6D51 QGD: 4.Bg5 Nbd7 5.e3 c6© @V\DµJ4D17c Slav: Czech, 6.Nh4 e6¨ï·T›¦¥ØNB30q Sicilian: Rossolimo, 3...e6 4.Bxc6¨å›q—ÂíJA82 Dutch: Staunton Gambit, 3.Nc3 Nf6¨á%áXÊdpA59m Benko Gambit: 7.e4, Main Line, 11...Nbd7 12.Re1 Ng4¨Û>·¡&B >D58p QGD: Tartakower, 8.Rc1 Bb7¨×›—?¾q|A91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nh3 O-O 6.O-O d6 7.Nc3¨¼$U i).B00c St. George Defence¨·“ ?Õm½JC06k French: Tarrasch, Closed, 8...f6¨®s35*ÍTA30h English: Symmetrical, Hedgehog System¨¨¤&ÎE»ö~D87l Grünfeld: Classical Exchange, 10.Be3 Qc7 11.Rc1 Rd8 12.Qd2¨§üC¾Û9Æ<A60i Benoni: 4.Nc3 exd5 5.cxd5¨¡tg¡^C08g French: Tarrasch, Open, 4.exd5 exd5 5.Ngf3¨›@¦¸ y:C84f Spanish: Closed, 6.d3 b5¨“Yøb¡[;NC33 KGA: Bishop's Gambit, Cozio Defence¨ƒ³$s&A00p Polish: 1...c6¨X„BÐ¥PE12y Queen's Indian: Botvinnik Variation¨¥½üÍŠ¾LA21 English: Kramnik-Shirov, 3.Nd5 Bc5¨„ˆ7,JD02d Queen's Pawn: 2.Nf3 Bf5 3.Bf4 e6¨xˆý ³ÓÜHA01 Nimzowitsch-Larsen: 1...d5 2.Bb2¨q+À=V3‘NB94e Sicilian: Najdorf, 6.Bg5 Nbd7 7.f4¨o½iœoêz`E86a King's Indian: Sämisch, Orthodox, 7.Nge2 c6¨fNŽìJhãbA69g Benoni: Four Pawns, Main Line, 10.e5: 12.O-O¨c&帛unE70p King's Indian: 4.e4 d6 5.Bd3 O-O 6.Nge2 c5 7.d5 e6¨aG L0[,\E05m Catalan: Open, Classical, 8.a4 Bd7 9.Qxc4¨YKó æmäDE83f King's Indian: Sämisch, Panno¨Y ÂJ §þXE30 Nimzo-Indian: Leningrad, 4...h6 5.Bh4 c5¨YubÖzSLC23 Bishop's Opening: 2...Bc5 3.c3 Nf6¨NbNIjïtjB10n Caro-Kann: English, Exchange, 4...Nf6 5.Nc3 Nxd5¨K^,<‚[ŠfB36h Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2¨>úø’z¡@XC11i French: Steinitz, Boleslavsky Variation¨8`îÁ÷¢`E76f King's Indian: Four Pawns Attack, 6.Nf3 Na6¨5Ï ›§APE80g King's Indian: Sämisch, 5...e5 6.d5¨4ì=–0RD^C62 Spanish: Old Steinitz, Semi-Duras Variation¨4ºÕÃùá¥PE62a King's Indian: Fianchetto Variation¨4µaÈ’7HD78q Neo-Grünfeld, 6.O-O c6 7.b3 Ne4¨4¦•xÒ ~E48 Nimzo-Indian: 4.e3 O-O 5.Bd3 d5 6.Ne2 c5 7.cxd5 cxd4 8.exd4¨2¬úFá4C29f Vienna Gambit: 4.fxe5¨.Þ‚}|vE17x Queen's Indian: Pomar, Polugaevsky, 8...c6 9.cxd5 Nxd5¨+tlIr_RC67k Spanish: Open Berlin, Winawer Attack¨*p}DàäJB01u Scandinavian: Portuguese, 4.Bb5+¨NÌF¬s^D72 Neo-Grünfeld, 5.cxd5 Nxd5 6.e4 Nb6 7.Ne2 c5¨j‰ÿC-:D40a QGD: Semi-Tarrasch, 5.e3¨ôï%ù&u:B24 Sicilian: Closed, 3.g3 g6¨"iê•“DA18 English: Mikenas, Flohr, 7.Nf3§õÂeØ£2C33 KGA: Villemson Gambit§ñ‚7Jr(B07x Pirc: 4.Bg5 Bg7§ï4½Ë‚¹rzE88h King's Indian: Sämisch, Orthodox, Polugayevsky, 8...cxd5§â æ‘¥ú'JC32 KGD: Falkbeer, Main Line, 7...Bf5§àöÕð¸¿LhE04h Catalan: Open, 5.Nf3 a6 6.O-O b5 7.Ne5 Nd5 8.a4§Ú§}Ð>–>D09 QGD: Albin, 5.g3 Be6 6.Nbd2§Ø ºý‡¨ã A04 Reti: 1...c5§Õ`‰âŽÐî`C04h French: Tarrasch, Guimard, Main Line, 6.Nb3§ÔCúà¤Ï hB80h Sicilian: Scheveningen, English Attack, 7...Nc6§Ð!Ü€7–ò¦B45w Sicilian: Taimanov, Four Knights, 6.Ndb5 Bb4 7.a3, 10.Bd3 O-O 11.O-O d4 12.Ne2§ÎÄt ÃJA44n Old Benoni: Czech, 3.e4 d6 4.Nf3§¿°eT÷n„B34i Sicilian: Accelerated Fianchetto, Modern, 5...Nf6 6.Nxc6 bxc6§¶®ûˆC,A48a Neo-King's Indian§¦³×û’jò4A09o Reti: Accepted, 3.Na3§ž—ÂYÙhE75c King's Indian: Averbakh, 7.d5 e6 8.Nf3 h6 9.Bf4§™ó¼W3bBD58s QGD: Tartakower, 8.cxd5 exd5§˜7HÀ‰?žfE50 Nimzo-Indian: 4.e3 O-O 5.Nf3 c5 6.Bd3 Nc6 7.O-O§f†áz¯M.A07 Reti: KIA, Yugoslav§Šu@`@6›*A03 Bird: 1...d5 2.b3§„L‘ù`ZA30o English: Symmetrical, Hedgehog, 7.Re1 d5§}æÄA78C88a Spanish: Closed, 6...b5§|èWðš4fB16n Caro-Kann: Bronstein-Larsen, 6.c3 Bf5 7.Nf3 e6§yõVÊ®W>D08 QGD: Albin, Alapin, 5...Bg4§w—ú@C68c Spanish: Exchange Variation§j ~õ RD48n Semi-Slav: Meran, Reynolds, 10...Qc7§f`hï|nB80l Sicilian: Scheveningen, English, 7...b5, 8.Qd2 Bb7§R_+ÔÀé€B85 Sicilian: Scheveningen, Classical, Main Line, 9...Nc6 10.Qe1§A ¬ýf‡™(A80d Dutch: 2.Bg5 c6§?v9ÈÿEqNC91e Spanish: Closed, Bogoljubow, 10.d5§=‡çÒ©¿>D96 Grünfeld: Russian, 5...dxc4§C54e Giuoco Pianissimo: 5.d3 a6¦Öª|çæŒRB99b Sicilian: Najdorf, Main Line, 10.Qg3¦Ãå?ZïÑLC45g Scotch: Steinitz, 5.Nb5 Bc5 6.Qf3¦Â[šÆµü\HA82 Dutch: Staunton Gambit, 4.f3 Nc6¦¼$Y¤‚°ÓbD46l Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...b5¦º}è£VB29l Sicilian: Nimzowitsch, 4.Nc3 e6 5.Nxd5¦·Y£¤‹ÌÛVC51 Evans Gambit Declined, Hicken Variation¦­ÒžàbE NC90n Spanish: Closed, Pilnik, 12.Nf1 h6¦©1é®ÁFFC29h Vienna Gambit: Oxford, 5...Bb4¦£P[ŠšE13k Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 Bxc3+ 8.bxc3 d6 9.Nd2 Nbd7 10.f3¦¡%ÛÂæÕ@B03a Alekhine: O'Sullivan Gambit¦ŸyÔù2C40m Latvian Gambit: 3.d4¦›R äÄÐbB94i Sicilian: Najdorf, 6.Bg5 Nbd7 7.Bc4 e6 8.O-O¦”|F?dA43z Old Benoni: Schmidt, 6.Be2 O-O 7.O-O Na6 8.h3¦“@G]ÌÒŽB14t Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3 Bb4 7.cxd5 Nxd5 8.Qc2 Nc6¦‘Zú{õ`Ž^A28 English: Four Knights, Capablanca Variation¦ašI ,A07 Reti: KIA, Pachman¦ŽPˆx‚ޏjE34 Nimzo-Indian: Classical, Noa, 5.cxd5 Qxd5 6.e3 c5¦…¸bïŽvC57c Two Knights: Traxler, 5.Nxf7 & 6.Kf1, Palkin Variation¦ƒG•Õh|ÍbC55b Two Knights: 4.O-O Gambit, Holzhausen Attack¦}fÃÞhyüNA73 Benoni: Classical, 9.O-O Na6 10.Nd2¦wÉhÞœV²RC12m French: MacCutcheon, 8.Qg4 Kf8 9.Bd3¦n­@Ç ÓšŽB14w Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3 Bb4 7.cxd5 Nxd5 8.Bd2 Nc6¦^Tî<ìcŽ(C25g Vienna: 2...Nc6¦WD­õPwZD15r Slav: Accepted, Alekhine: 5...b5 6.a4 b4¦SJÉV‹…(D10r Slav: 3.Nc3 Nf6¦P¿æ^I”jE15f Queen's Indian: Nimzowitsch, 5.Nbd2 Bb7 6.Bg2 c5¦=¾\¹ªqRB33v Sicilian: Pelikan, Sveshnikov, 11.c3¦=1οô0A10 English: Anglo-Dutch¦9©®fjûNA01 Nimzowitsch-Larsen: 1...e5 2.Bb2 d6¦6´0ËUTLD30b Diemer-Duhm Gambit (DDG) Accepted¦53š’^YNB48g Sicilian: Taimanov, 6.Be3 a6 7.Qd2¦2 òØßå­hC43c Russian Game: Modern Attack, Steinitz Variation¦%Oê÷´KpC40v Latvian Gambit: 3.Nxe5 Qf6 4.d4 d6 5.Nc4 fxe4 6.Be2¦²‰³›˜ø^E94y King's Indian: 7.O-O Nbd7 8.Be3 c6 9.d5 c5¦qجSÅ2TB50t Sicilian: 2.Nf3 d6 3.c3 Nf6 4.Be2 Nc6¦ Ld¬\C99k Spanish: Closed, Chigorin, 13...Nc6 14.d5¥ÿ¦Íâo1Ì:B22a Sicilian: Alapin, 2...g6¥ýõߥÇ"rC82f Spanish: Open, Berlin, 10.Bc2 Bg4 11.Nbd2 Be7 12.Re1¥óÔ1!Já^C31 KGD: Falkbeer, Marshall/Nimzowitsch, 4.dxc6¥ë1^f4q‰PD15w Slav: Geller Gambit, 6.e5 Nd5 7.Ng5¥é³!&A36f English: Symmetrical, 5.d3¥ØþyISòjE61y King's Indian: Smyslov System, 5...O-O 6.e3 Nbd7¥ÊÓz€L6h0E60e King's Indian: 3.g3¥Å´§è³.B12b Caro-Kann: 2.d4 d5¥ÁÔ™. ‘XD53k QGD: 4.Bg5 Be7 5.Nf3 h6 6.Bh4 O-O 7.Rc1¥Àà ‹ˆð"jD42c QGD: Semi-Tarrasch, 6.e3 Nc6 7.Bd3 Be7 8.O-O O-O¥¾Œ¿cÉZA34 English: Symmetrical, 3 Knights, Exchange¥¹¾]W¼/•VB56l Sicilian: Open, 2...d6, 5.Nc3 Nc6 6.f3¥¹a©*ÊZE80i King's Indian: Sämisch, 5...c5 Queenswap¥¬ô-9PâHC93 Spanish: Closed, Smyslov, 12.Bc2¥¤¾Ó‰F€™fC33 KGA: Bishop's Gambit, Boren-Svenonius Variation¥¢ý× Ž¡ZC82d Spanish: Open, Berlin, 10.Bc2 Bg4 11.Re1¥  \VŽJD46c Semi-Slav: Bogoljubow, 7.O-O O-O¥™zœ\ `B95g Sicilian: Najdorf, 6...e6 7.Qd2 Be7 8.O-O-O¥špÊãõüRB71 Sicilian: Dragon, Levenfish, 6...Nbd7¥–[m÷iElB48o Sicilian: Taimanov, 6.Be3 a6 7.Bd3 Nf6 8.O-O Nxd4¥”kêHC92q Spanish: Closed, Zaitsev, 12.a4¥’£¶/=HD00p Queen's Pawn: Veresov, 3.Nf3 g6¥6­5h¬TD00u Blackmar-Diemer: Elbert Countergambit¥Œe™íTHA45a Indian: Gibbins Gambit Accepted¥ˆsçÏm(-BD33e QGD Tarrasch: Swedish, 7.Bg2¥„ð=˜©òVD45s Semi-Slav: 6.Qc2 Bd6 7.b3 O-O 8.Be2 b6¥~ó˜0K1fC69d Spanish: Exchange, Gligoric, 6.d4 Bg4 7.c3 Bd6¥zç¦'cñjB38f Sicilian: Maroczy Bind, 6.Be3 Nf6 7.Nc3 d6 8.Be2¥vÖu¼¦ŸBD80 Grünfeld: Stockholm Variation¥mKÇRž˜Â~C05j French: Tarrasch, Closed, 5.f4 c5 6.c3 Nc6 7.Ndf3 Qb6 8.h4¥l¢)¸àÈFE90f King's Indian: 5.Nf3 O-O 6.Bd3¥eâ°ßÐwý<D14p Slav: Exchange, 8.Bb5 Nd7¥`¹Ï±ÇáJD36g QGD: Exchange, 6.Qc2 Be7 7.e3 h6¥[ìádbBB58h Sicilian: Boleslavsky, 7.Nf3¥YI”ž]îBD80 Grünfeld: Spike/Gibbon Gambit¥TòLÅÍ$OZC18q French: Winawer, 6...Ne7 7.Qg4 O-O 8.Nf3¥Q‹Ýz\ÞdA45r Trompowsky: 2...c5 3.Bxf6 gxf6 4.d5 Qb6 5.Qc1¥MÐñÝx<C11t French: Burn, 6.Bxf6 Bxf6¥K÷Cá–rWHA48s Neo-King's Indian: Torre Attack¥K]/±¥½®ŽA66 Benoni: Mikenas Attack, 9.Nb5 dxe5 10.Nd6+ Ke7 11.Nxc8+ Qxc8 12.Nf3¥B¥\_/}€HA01 Nimzowitsch-Larsen: 1...e5 2.Bb2¥ByFó¢”<E04b Catalan: Open, 5.Nf3 Bb4+¥?îöMÓu0D16g Slav: Smyslov, 6.e3¥?ÃÙ˜že8C60e Spanish: Lucena Defence¥)mñk3¦tfA46z Torre Attack: 3...h6 4.Bxf6 Qxf6 5.e4 d6 6.Nc3¥"”è¼¢¼‹:B04c Alekhine: Modern, 4...c6¥óaöc©LB92e Sicilian: Najdorf, 6.Be2 e5 7.Nb3¥‚Z†ráS`E12x Queen's Indian: 5.Bg5 h6 6.Bh4 Be7 7.e3 Ne4¥ƒ‰ÉÐÈ–VB32s Sicilian: Lowenthal, Kalashnikov, 6.c4¥¬tùoXA36s English: Symmetrical, Botvinnik, 5...d6¥ ‘fü¾6§LB74 Sicilian: Dragon, Classical, 9.Nb3¥«¿sÚ¬~C89x Spanish: Marshall, Main Line, Classical, Spassky Variation¤îf—K{™^<B32f Sicilian: Flohr Variation¤ìRÈ®QWXA67l Benoni: Four Pawns, Taimanov, 9.a4 Qh4+¤éûé™·€ÕpB97l Sicilian: Najdorf, Poisoned Pawn, 9.Nb3 Qa3 10.Bxf6¤ã¶0ÉÄJC90d Spanish: Closed, 8...d6 9.a4 Bg4¤ÌZ="FÛPA40g Queen's Pawn: English Defence, 3.e4¤³ŸyŒ´`ä\E77 King's Indian: Four Pawns Attack, 6.Be2 c5¤¯S1Ðvõ(`A44w Old Benoni: Czech, 3.e4 d6 4.Nc3 Be7 5.Bb5+¤­ñíŸäTD99a Grünfeld: Russian, Smyslov, Main Line¤ª$H§U3 PE09c Catalan: Closed, Main Line, 8...Re8¤ŸÉsDË”PC06a French: Tarrasch, Closed, Main Line¤ž>Í´†½TA90 Dutch: 2.c4 Nf6 3.g3 e6 5.Nf3 d5 6.O-O¤œ<ûqË/0D15t Slav: Geller Gambit¤š¾¦2¨Y:A21 English: Lukin, 5.Ng5 Be7¤š üZ"ånNA73 Benoni: Classical, 9.O-O Bg4 10.Bg5¤™ÿ?†WµNA45s Trompowsky: 2...Ne4 3.h4 c5 4.dxc5¤™ûCm+éŽ6B72 Sicilian: Dragon, 6.Be3¤™ŽÈOþü2C11p French: Burn, 5.Nxe4¤•z— &þlC37 KGA: Muzio Gambit, Kling and Horwitz Counterattack¤’;Pñˆ‚BLD06b QGD: Austrian, Rubinstein, 4.dxc5¤­?NZó 6D63 QGD: Orthodox, 7.Rc1 h6¤nÅçðq@A34 English: Symmetrical, 2...b6¤l+¯È¥DB48b Sicilian: Taimanov, 6.Be3 Nf6¤d²ýîTå0D20o QGA: 3.e4 Nf6 4.Nc3¤]fîE0ù|JB02c Alekhine: Scandinavian Variation¤Wþ¸îøÇ@D55g QGD: Neo-Orthodox Variation¤U_²É0ÝæJE58 Nimzo-Indian: Main Line, 8...Bxc3¤U)½Y¨rE97i King's Indian: Mar del Plata, Bayonet Attack, 9...a5¤S§s‡ùG>E41 Nimzo-Indian: Hübner, 8.O-O¤RLIxB22i Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nc6 5.Nf3 Bg4£½\0Y”ÖúVD27j QGA: Classical, 6...a6 7.Bb3 Nc6 8.Nc3£»pÇšîýÞXD64 QGD: Orthodox, Rubinstein Attack, 8...h6£§CçM¢ZfHE20 Nimzo-Indian: Romanishin, 4...c5£¤Nø ¯ñFD25g QGA: Janowski-Larsen Variation££›Ïƒ ó•jA64 Benoni: Fianchetto, 11...Re8 12.h3 Rb8 13.Nc4 Nb6£¢~*Xë>DC56d Two Knights: Classical, 8.Nc3£Ÿ»2-×TE91h King's Indian: 6.Be2 c5 7.d5 e6 8.O-O£›SÄ‹ û @D43t Semi-Slav: Moscow, 7.e3 Nd7£–uLJ48ˆ8B00h Owen Defence: 3.Bd3 Nf6£aý2‹NC26g Vienna: Smyslov, 3...Bc5 4.Bg2 O-O£‰‹f©æÁ:B90g Sicilian: Najdorf, 6.Be3£…xŠ£þ:E61k King's Indian: 4.Nf3 O-O£€Kù… ºœB65g Sicilian: Richter-Rauzer, 7...Be7, 9.f4 Nxd4 10.Qxd4 Qa5 11.Bc4 Bd7 12.e5£uØ}Â0XD38o QGD: Ragozin, 5.Bg5 h6 6.Bxf6 Qxf6 7.e3£uM%§n9S`D52m QGD: Cambridge Springs, Argentine Variation£qR5³6õU.E11g Bogo-Indian: 4.Bd2£qH!Dqë0.D17b Slav: Czech, 6.Nh4£i0©¡xö$>D37d QGD: 4.Nf3 Be7 5.cxd5 Nxd5£^e\Ž-I#~E98g King's Indian: Mar del Plata, 9.Ne1 Ne8 10.Be3 f5 11.f3 f4£WlK€!!ý*B23c Sicilian: Closed£Qi Õñí:C50b Italian: Rousseau Gambit£Of<ÆÿÄRD31w Semi-Slav: Marshall Gambit, 4...dxe4£IÓŸÕ9RC40p Latvian Gambit: Svedenborg Variation£IŠœ83>ÿhB87 Sicilian: Sozin-Najdorf, 7.Bb3 b5 8.O-O Be7 9.f4£I¢Íý01XA85 Dutch: 2.c4 Nf6 3.Nc3 g6 4.Nf3 Bg7 5.Bg5£Gf°ŠãbC28k Vienna: 3.Bc4 Nc6 4.d3 Bc5 5.f4 d6 6.Nf3 Bg4£6¢1ÝïähjA74 Benoni: Classical, 9.O-O a6 10.a4 Nbd7 11.Bf4 Qe7£/ýûW™‡`C04f French: Tarrasch, Guimard, Main Line, 6.Be2£*˜Å[!@Ò4D06e QGD: Marshall Defence£%…±ër£gZE62n King's Indian: Fianchetto, 6...Nc6 7.O-O£¢O:îx$B07d Pirc: 2.d4 c6£<¡U…†ÐXE97u King's Indian: Mar del Plata, 9.Nd2 Ne8£px¡Ï9G.B00c St. George Defence£M7òÇHVC68q Spanish: Exchange, Bronstein Variation£ðØÇ€t[,E10m Blumenfeld: 5.Bg5¢÷†>óz”Ã`A58q Benko Gambit: Fianchetto, Main Line, 11.Rb1¢âf³v¯ÿtC05i French: Tarrasch, Closed, 5.f4 c5 6.c3 Nc6 7.Ndf3 Qb6¢ÓØ‘Ø5O­6B32g Sicilian: Flohr, 5.Nb5¢ÈwíùŒ·˜RE38c Nimzo-Indian: Classical, 4...c5 5.e3¢±`{ñŠñ”\E45 Nimzo-Indian: Nimzowitsch, 5.Ne2 Ba6 6.Ng3¢«ˆÁHŸÕRA99 Dutch: Ilyin-Zhenevsky, 8.b3 a5 9.Bb2¢ª Œívç<\D47t Semi-Slav: Meran, Wade, Main Line, 12.O-O¢©ßÄ5-uS‚A26 English: Closed, 5.d3 d6 6.Nf3 Nf6 7.O-O O-O 8.Rb1 a5 9.a3 h6¢Ÿz3'»ÊZB40r Sicilian: Open, 2...e6, 4.Nxd4 Nf6 5.Nc3¢•Lù–3/.,C28a Vienna: 3.Bc4 Nc6¢’]eÅ1f~C07r French: Tarrasch, Open, 4.exd5 Qxd5, Main Line, 10.Nxd4 a6¢ŠæsÉ ·ß@B06l Modern: Mittenberger Gambit¢Šï'8‹³BB93c Sicilian: Najdorf, 6.f4 Nbd7¢…Ì¡Ëy· B07a Pirc: 2.Nc3¢…¦ý{B @B18l Caro-Kann: Classical, 6.Nf3¢ƒ»«ÿH sHB19c Caro-Kann: Classical, 7.Nf3 Nf6¢F¶U‰¢‘PC97h Spanish: Closed, Chigorin, 12...Bd7¢ õí ËnE08p Catalan: Closed, 7.Qc2 c6 8.b3 b6 9.Rd1 Bb7 10.Nc3¢7åÞ—\C31 KGD: Falkbeer, Marshall/Nimzowitsch, 4.Qe2¢pb9å0˜³^D35p QGD: Exchange, 5.Bg5 c6 6.e3 Be7 7.Nf3 Bf5¢d‘j+Ý)`B05o Alekhine: Modern, Main Line, 8.h3 Bh5 9.Nc3¢ckÁ› •JC41s Philidor: Improved Hanham, 5.Bc4¢Eà§œÑíRB93l Sicilian: Najdorf, 6.f4 e5 7.Nf3 Qc7¢DŽiGÖtJJC40t Latvian Gambit: 3.Nxe5 Qf6 4.Nc4¢DD6YµRûbD85c Grünfeld: Exchange, 5.Bd2 Bg7 6.e4 Nb6 7.Be3¢:¦Ûàˆ÷O»zA36x English: Symmetrical, Botvinnik System, 5...d6, 8.d3 Rb8¢*ÝF'e?(4D73 Neo-Grünfeld, 5.Nf3 c6¢'ê­&ˆ?TA30n English: Symmetrical, Hedgehog, 7.Re1¢&ëç±Äõ’B99e Sicilian: Najdorf, Main Line, Keres, 13.Qg3 dxe5 14.fxe5 Nd7 15.Bxb5¢$õ«qW×{VA56s Benoni: Czech, 5.e4 Be7 6.g3 O-O 7.Bg2¢$xa7ÁvB33s Sicilian: Pelikan, Chelyabinsk, 9.Bxf6 gxf6 10.Nd5 Bg7¢.týÅhE70p King's Indian: 4.e4 d6 5.Bd3 O-O 6.Nge2 c5 7.d5¢uXä„\:B03c Alekhine: 3.d4 d6 4.exd6¢7aFE52 Nimzo-Indian: Main Line, 6...b6¡§¦StÂ{bND70 Neo-Grünfeld: Alekhine's, 7.Be3 O-O¡§GTH†"JFA29 English: Four Knights, 4.g3 Bc5¡¤Æ:CUn3NB21e Sicilian: Grand Prix, 2...Nc6 3.d3¡¤Œ¤!°z;NA41f Neo-Old Indian: Wade Defence, 3.e3¡£Ü("Ô’lC44w Scotch: Goring Gambit, 4...dxc3 5.Bc4 cxb2 6.Bxb2¡›W€Ã›¨*A80m Dutch: 2.Nc3 Nf6¡•& 5SØŽJE00f Queen's Pawn: Neo-Indian, 3...c5¡“Å(‘|6ÒPD02j Queen's Pawn: Krause, Reversed Slav¡Œ¦gB¸M'†D37t QGD: Classical, 5...O-O 6.e3 c5 7.dxc5 Bxc5 8.Qc2 Nc6 9.a3 Qa5¡ŠÚî†ß,ÛPE94k King's Indian: Glek, 8.Re1 c6 9.Bf1¡†Ý\÷‚HC48j Four Knights: Rubinstein, 5.Bc4¡|¯ÛáÅlE52 Nimzo-Indian: Main Line, 6...b6 7.O-O Bb7 8.a3 Bd6¡x??q‰x.E00s Catalan: 4.Nf3 Be7¡vÿu®Ç,ZA44h Old Benoni: Czech, 3.c4 d6 4.e4 g6 5.Nc3¡q„’L~žtE14x Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.Nc3 O-O¡ožýŒé WPB04k Alekhine: Modern, Fianchetto, 5.Bc4¡kÓˆÁ…F¶LE30 Nimzo-Indian: Leningrad, 6.d5 exd5¡j¯Õ‰ÇÎ`E16f Queen's Indian: Capablanca, Yates Variation¡dADÝÝÅÔ(A45d Indian: 2.e3 e6¡\ƒ³÷kGFC18r French: Winawer, Poisoned Pawn¡Wgš¦KND97m Grünfeld: Russian, Prins Variation¡Vèçvx ¿4C30j KGD: Classical, 3.Nf3¡TÄIyŽÃSHC86a Spanish: Worrall Attack, 6...d6¡N·«¤£€!8D35d QGD: Exchange, 5.Nf3 c6¡MOGŽŠ}VA53 Old Indian: Ukrainian, Queenswap, 6.Nf3¡L]c(¼ØNB04f Alekhine: Modern, Larsen Variation¡C^Oú„Í|D58n QGD: Tartakower, 8.Be2 Bb7 9.Bxf6 Bxf6 10.cxd5 exd5 11.b4¡@݉gj0DC30q KGD: Classical, 4.c3 Nf6 5.d4¡8wæ(ÉFDD12j Slav: 4.e3 Bf5 5.Nc3 e6 6.Be2¡1çÁêy9˜>E21 Nimzo-Indian: Three Knights¡-óTÅ-LéBD44f Semi-Slav: Botvinnik, 9.exf6¡%öí·óÚjB59h Sicilian: Boleslavsky, 7.Nb3 Be7 8.O-O O-O 9.Bg5¡%zÆbPFA96 Dutch: Classical, 7.b3 a5 8.Bb2¡X¤³{ÃHC28i Vienna: 3.Bc4 Nc6 4.d3 Bc5 5.f4 šhæŒQšôHE71a King's Indian: Makagonov System ™T+íš ´2B07s Pirc: Holmov (4.Bc4) ‹ÚB̈À3,A46c Neo-Benoni 3.dxc5 !d†:IDE06 Catalan: Closed, 6.O-O c6 7.b3 |ƒ¥4ï8A58b Benko Gambit: 5.bxa6 g6 xI¬§Ö¼a`A30l English: Symmetrical, Hedgehog, 6...d6 7.d4 r»q0!Ÿb0A10 English: Anglo-Dutch pÊtH¨®8B41a Sicilian: Kan (Paulsen) mc¸¨0D02a Queen's Pawn: 2.Nf3 h¦¡œÓBE11f Bogo-Indian: 4.Nbd2 O-O 5.a3 d­îÙŸ„R6A24 English: Bremen, 3...g6 [Ð ={¡Š:C45o Scotch: 4.Nxd4 Bc5 5.Nb3 Y0½U¡NE15h Queen's Indian: Nimzowitsch, 5.Qa4 EªHŽšQ‡<D34i QGD Tarrasch: 9.dxc5 Bxc5 >ÿrs'F'RC66 Spanish: Closed Berlin, Tarrasch Trap =ˆ–Š"D20d QGA: 3.e3 e6 àþNóÈÄHB95e Sicilian: Najdorf, 6...e6 7.Qd2 Œ¢ Â6JC16h French: Winawer, Petrosian, 5.a3 /ŠIÖÊ‚xB29n Sicilian: Nimzowitsch, Rubinstein Countergambit, 7.dxc5 ÓBâtÕDC51 Evans Gambit: Cordel Variation  ¾@~NurD33q QGD Tarrasch: 7.Bg2 cxd4 8.Nxd4 Be7 9.O-O O-O 10.Be3Ÿþš _\¨ÍNC05w French: Tarrasch, Closed, 7.Ne2 a5Ÿøìœdo<7<E18l Queen's Indian: 7.Nc3 Ne4ŸìN¦&§0hD64 QGD: Orthodox, Rubinstein Attack, Wolf VariationŸåôÃßË{¡2A00q Polish: 1...d5 2.Bb2Ÿân 1n¶fE69i King's Indian: Fianchetto, Classical, 9.h3 Qb6ŸÙ·ž®ºÎW>D41a QGD: Semi-Tarrasch, 5.cxd5ŸØÚˆÇ'>>C57j Two Knights: Fritz, 8.cxd5ŸË­ú‰¢>D25g QGA: Janowski-Larsen, 5.h3Ÿ¶ú×\ÚxfB02l Alekhine: Brooklyn Defence (Retreat Variation)Ÿ³Jyå ‚äHD30i QGD: Tarrasch without Nc3: 5.g3Ÿ²Ä,ÃÉTcDB06r Modern: Two Knights VariationŸ«béµüÚrtA33f English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.a3 Bc5Ÿ¡Íȵ;PC50c Italian: Blackburne-Shilling GambitŸŸêMT Q£6A12 English: London DefenceŸ”dߪŸîNC40d Open Game: Gunderam Defence, 3.Nc3Ÿ’²âœÁrB23w Sicilian: Closed, Grand Prix, 3...g6 4.Nf3 Bg7 5.Bb5ŸŽœÕc”ä@A34 English: Symmetrical, 2...b6ŸˆµºÑ×WÎLD35n QGD: Exchange, 5.Bg5 c6 6.e3 Nbd7Ÿˆ–Ž«Æ˜‚C16o French: Winawer, Advance, 4...Ne7 5.a3 Bxc3+ 6.bxc3 b6 7.Qg4Ÿ†ûviû„vVA41h Neo-Old Indian: Wade Defence, 3.c4 Nd7Ÿƒ´Î?ZFD28h QGA: Classical, 7.Qe2 b5 8.Bb3Ÿ}½N³j!±”D37u QGD: Classical, 5...O-O 6.e3 c5 7.dxc5 Bxc5 8.Qc2 Nc6 9.a3 Qa5 10.Rd1Ÿv×7SÚbE62o King's Indian: Fianchetto, 6...Nc6 7.O-O Rb8Ÿpƒõ‡_|XE53 Nimzo-Indian: Main Line, Keres VariationŸn‘ Ø•@,C34 KGA: Fischer, 4.d4Ÿg¼’¬}jrC48f Four Knights: Spanish, Classical, Marshall VariationŸZýªË9é“TA69b Benoni: Four Pawns, Main Line, 10.O-OŸOêÔ=tN"nD57 QGD: Lasker Defence, Main Line, Bernstein VariationŸL„bг>B30i Sicilian: 2...Nc6 3.Nc3 g6ŸK¾Û’¾ZA01 Nimzowitsch-Larsen: 1...e5 2.Bb2 Nc6 3.e3Ÿ>¬.[ÄŸ;\D41m QGD: Semi-Tarrasch, 6.e4, Kmoch VariationŸ0’_Y¦!8A45a Indian: Paleface AttackŸ$t®ñXD63 QGD: Orthodox, Swiss, Karlsbad VariationŸÍ- Zw D11i Slav: 4.Qc2Ÿ ­U­¹`^ZE90v King's Indian: 5.Nf3 O-O 6.h3 c5 7.d5 e6žýYáƒé˜JB46m Sicilian: Taimanov, 5...a6 6.Be2žûó:H`TE32f Nimzo-Indian: Classical, 4...O-O 5.e4ž÷ƒð—sÔ8A00r Polish: 1...e5 2.Bb2 f6žòñ¿%ØT÷HC61j Spanish: Bird's, 5.O-O Bc5 6.d3žïÕ®ë ZB14f Caro-Kann: Panov-Botvinnik, 5...g6 6.Qb3žêØè_ BB01s Scandinavian: 2...Nf6 3.Bb5+žä[‹)ÌÜRA65g Benoni: 6.e4 g6 7.Bd3 Bg7 8.Nge2 O-Ožß€Ë-ÒðZD00h Hodgson Attack: 2...h6 3.Bh4 c6 4.e3 Qb6žØÎhÍÈä™RA51k Budapest: Fajarowicz, 4.Nf3 Nc6 5.a3žÊk6Ü[çPD71 Neo-Grünfeld, 5.cxd5 Nxd5 6.Nc3 Nxc3žÉåá￲hA45o Trompowsky: 2...e6 3.e4 h6 4.Bxf6 Qxf6 5.Nc3 d6žÉy¦Ñ—kbC15s French: Winawer, Alekhine Gambit, Kan, 7.Bb5žÅÐ %ñm4C46c Three Knights: 3...d6ž¹8› VÑXA36p English: Symmetrical, Botvinnik, 5...e6ž´z\AA08NC18n French: Winawer, 6...Ne7 7.Qg4 O-Ož¤>QbšåKZC15h French: Winawer, Müller-Zhuravlev Gambitž£Ðpƒ{´™XA40d Queen's Pawn: English Defence, 2.c4 Bb7ž£º èYw@JE04g Catalan: Open, 5.Nf3 a6 6.O-O b5ž£küA®` ^E13g Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 c5žš ™íiŸjA55f Old Indian: 5.e4 Be7 6.g3 c6 7.Bg2 O-O 8.O-O Re8ž”*åo '¾RB76a Sicilian: Dragon, Yugoslav, 7.f3 O-Ož‘‡ÚðGg(FD25d QGA: Smyslov, 5.Bxc4 Bg7 6.Nc3žŒ*9<™ô¿JE70l King's Indian: 4.e4 d6 5.Bd3 O-Ož‹ƒX<ÒGwnB80m Sicilian: Scheveningen, English, 7...b5 8.Qd2 Nbd7ž‡¦WÑ¡í:TA55t Old Indian: Main Line, 8.Re1 a6 9.Bf1ž‡˽xø&C45a Scotch: 4.Nxd4žƒÿXÈÉA(D08 QGD: Albin, 3.e3ž‚ÀÞZD53g QGD: 4.Bg5 Be7 5.Nf3 h6 6.Bxf6 Bxf6 7.e3ž~äÀÒ²¿rA36w English: Symmetrical, Botvinnik System, 5...d6, 8.d3žx\_1û88B30g Sicilian: 2...Nc6 3.Bc4žk§Eé VD41c QGD: Semi-Tarrasch, 6.g3 Nc6 7.Bg2 Be7že©ë¿#ñ|C08l French: Tarrasch, Open, 4.exd5 exd5 5.Ngf3 Nf6, Main Linež_qø<HA99 Dutch: Ilyin-Zhenevsky, 8.b3 Qh5ž^Ç•·=ºÈJA74 Benoni: Classical, 9.O-O a6 10.a4ž\C²Ï·¢VD58q QGD: Tartakower, 8.Rc1 Bb7 9.cxd5 exd5žO~ÿ¡žJD36a QGD: Exchange, 5.Bg5 c6 6.Qc2 g6žCÐŽ¢ýb4C27h Vienna: Adams' Gambitž@)=Q@D20l QGA: 3.e4, Schwartz Defencež7¥Ñn ½VB67g Sicilian: Richter-Rauzer, 7...a6, 9.f4ž0Ó3’Èáw<A13f English: 1...e6 2.Nc3 Bb4ž.æ±\E5ýRC44q Ponziani: 3...Nf6 4.d4 Nxe4 5.d5 Ne7ž-Œ#ë¤ÔnA33b English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.Bf4ž*[jÀ"TE60k King's Indian: Fianchetto without Nc3ž FÐJno$A60g Benoni: 4.Nc3žEÊôKG@C10d French: 3.Nc3 Nc6 4.Nf3 Nf6ž.Ýfã%»<B27g Sicilian: Hungarian, 3.c3ž-ÅèK½D8B43c Sicilian: Kan, 5.Nc3 b5ž˜“ïH$&lA70w Benoni: Classical, 8.h3 O-O 9.Bd3 b5 10.Nxb5 Nxe4žûrwz6C60o Spanish: Cozio DefencežhêWoÔü6C88c Spanish: Closed 7...d6ž?è/ÜRJfB90o Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.f3 Be7žƒYÐm1çpD88 Grünfeld: Classical Exchange, Main Line, 11.cxd4 Na5ž0ØUWõ8E04k Catalan: Open, 5.Nf3 c5ž~ÛÿÀÛVB01x Scandinavian: Marshall, 4.Nf3 g6 5.Be2ž°g†3’ŠA33j English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.Ndb5 d5 QueenswapøÿœÞøâ|A77 Benoni: Classical, Main Line, 10.Nd2 Nbd7 11.a4 Ne5 12.Ra3öALúâjÞ`B74 Sicilian: Dragon, Classical, Bernard Defenceô“™ã‡ÿÍ>C28d Vienna: 3.Bc4 Nc6 4.d3 Be7áï8qÞ RXC68h Spanish: Exchange, Romanovsky Variationá&Ÿž»É:B42d Sicilian: Kan, 5.Bd3 Qc7ݘ‘µB«ƒ0A10 English: Anglo-DutchÛg½­K­VA55e Old Indian: 5.e4 Be7 6.g3 c6 7.Bg2 O-OÚ#+“ŽõcPA16 English: Anglo-Indian, 2.Nc3 g6 3.e4Ò/@á8äëbE54 Nimzo-Indian: Main Line, 7...dxc4 8.Bxc4 cxd4¾Üþ¸`wù.C46a Three Knights Gameµk¬æVD|E58 Nimzo-Indian: Main Line, 9.bxc3 Qc7 10.cxd5 exd5 11.a4 Re8³ÂÙÒ‰ò D15a Slav: 4.Nc3²éÖú4—bA45o Trompowsky: 2...e6 3.e4 h6 4.Bxf6 Qxf6 5.Nc3°¯±U6xC64t Spanish: Classical, 4.O-O Nd4 5.Nxd4 Bxd4 6.c3 Bb6 7.d4¬‰;”sî^E70o King's Indian: 4.e4 d6 5.Bd3 O-O 6.Nge2 c5¦z-h¯,!TC13g French: Classical, Tartakower, 6.Bxe7šØ3®rP(E00g Catalan: 3...c6ý|’U¬°XA46o Indian: 1.d4 Nf6 2.Nf3 e6 3.g3 c5 4.Bg2~;¾‹·yjC91h Spanish: Closed, Bogoljubow, 10.d5 Na5 11.Bc2 c6†¡¾µx-ŠC63u Spanish: Schliemann, 4.Nc3 fxe4 5.Nxe4 d5 6.Nxe5 dxe4 7.Nxc6 Qg5†U)Æo PB46r Sicilian: Taimanov, 5...a6 6.Be2 d6~Ñeú\¡PA37f English: Symmetrical, 5.Nf3 d6 6.d3zoY HÖÌ€D42q QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Bf6 11.Be4 Nce7sdn*RhDC88a Spanish: Closed, 6...b5 7.Bb3W·ï8 P8D01f Richter-Veresov: 3...c6V† 9Só•VC18r French: Winawer, Poisoned Pawn, 10.Qd3Q m¿ô‚A70y Benoni: Classical, 8.h3 O-O 9.Bd3 b5 10.Nxb5 Re8 11.O-O Nxe4QW˜=…¤‹TE60k King's Indian: Fianchetto without Nc3PeøýÚÁ$dB53j Sicilian, Chekhover, 4...a6 5.c4 Nc6 6.Qd2 g6>oôÙ²¦¾ZC19m French: Winawer, 6...Ne7 7.Nf3 Nbc6 8.a4A43x Old Benoni: Schmidt, 6.Be2œÌ;Ÿm„ÚðRE51 Nimzo-Indian: 4.e3 O-O 5.Nf3 d5 6.Be2œÊ \’«êŠB78p Sicilian: Dragon, Yugoslav, Main Line, 12.h4 h5 13.Bg5 Rc5 14.g4œÄX6£ÂPA58p Benko Gambit: Fianchetto, Main LineœÁ·–‹%@CzB13v Caro-Kann: Panov-Botvinnik, 5...Nc6, Spielmann Variationœ¼ç,šK(ðA00b Fried foxœºªÅ¿ÂÃ0A09g Reti: Advance, 3.g3œ¸ àB’øxD46m Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...b5 10.Be2 Bb7œ±Ä%6äê±dA39e English: Symmetrical, Main Line 7.d4, 8...Qb6œ¬øE"«>B28j Sicilian: O'Kelly, 3.c3 d5œžwÙg2A02 Bird: 1..Nf6 2.Nf3 g6œ‡;ÑQž”LB48d Sicilian: Taimanov, 6.Be3 a6 7.a3œƒ¥Ðè >D91h Grünfeld: 5.Bg5 Ne4 6.cxd5œ‚`§§]ø6C45w Scotch: Paulsen Attackœ~ÒÝ›®jE74o King's Indian: Averbakh, 6...c5 7.d5 h6 8.Bf4 e6œv@Q=¶]¢JC37 KGA: Salvio, Silberschmidt Gambitœk…DN’ŽD64 QGD: Orthodox, Rubinstein Attack, Grünfeld Variation, 9...h6 10.Bh4œjýPäÌ"ì>A03 Bird: 1...d5 2.Nf3 Nf6 3.b3œf"·¨zVA34 English: Symmetrical, 3 Knights, 3...e6œez•‹Úï@C78h Spanish: 5.O-O b5 6.Bb3 Bc5œ^ñ ‘¦E8B56c Sicilian: Venice AttackœZ.¶bå8A07 Reti: KIAœIflê“àFA18 English: Mikenas, Flohr, 4...d4œ8s[SN^A89 Dutch: Leningrad, Main Line, 7.Nc3 Nc6 8.b3œ6¦—f€šJE12c Queen's Indian: Miles, 5.e3 Bb4+œ4tþ ¯I2A81 Dutch: 2.g3 Nf6 3.Bg2œ3å+ÎÁÛ‰HA12 English: New York/London Defenceœ.Lð†´>A44m Old Benoni: Czech, 3.e4 d6œ*U÷¶-BD37f QGD: 4.Nf3 Be7 5.e3 O-O 6.b3œÅT›…Ë¡<A68c Benoni: Four Pawns, 9.Be2œ&Ƚ:ŠÇLD29e QGA: Classical, 8...Bb7 9.a4 Nbd7œ䨨»ì‡RE20 Nimzo-Indian: Romanishin, 4...c5 5.d5œ´5ˆÇ *B23e Sicilian: Closedœ~uÆLéŒ(D08 QGD: Albin, 4.a3›ÿ¹‚ý.D21g QGA: 3.Nf3 e6 4.e3›ä¦š4‡¾fC06f French: Tarrasch, Closed, Leningrad, 9.O-O Bd7›ãâm¨´·`E55 Nimzo-Indian: Main Line, Bronstein, 9.Qe2 a6›Úm³5r¢—,B00a King's Pawn: Fred›Øö:Óœ¡XB04l Alekhine: Modern, Fianchetto, 5.Bc4 Nb6›Ñ.½¥›Û¹&A00b Barnes Opening›Ðåb…)Ò›NC80m Spanish: Open, Zukertort Variation›ÅÇ<ÇxÄ4HD27n QGA: Classical, Spassky, 9.Nbd2›¿øÁ²VC59d Two Knights: Morphy, Steiner Variation›²}N8ÎIjE36 Nimzo-Indian: Classical, Noa, Botvinnik Variation›°XWáhÖJnC19n French: Winawer, 6...Ne7 7.Nf3 Nbc6 8.a4 Qa5 9.Qd2›¡î‹ÈÅoò:E10k Blumenfeld Countergambit›ýÑ~4$XE74j King's Indian: Averbakh, 6...c5 7.d5 h6›†[³oô3FC63j Spanish: Schliemann, 4.Nc3 Nd4›…Ä ö“·|D34x QGD Tarrasch: 9.Bg5 cxd4 10.Nxd4 h6 11.Be3 Re8 12.Rc1 Bf8›¸úXBxBD15t Slav: Geller (Tolush) Gambit›€Üö€ ÈbE46 Nimzo-Indian: Reshevsky, 6.a3 Be7 7.cxd5 exd5›|M#£É‰)@C66 Spanish: Closed Berlin, 5.d4›yÜ;iÃ6B08g Pirc: Classical, 5.Bc4›q¹|¯0{ˆB96s Sicilian: Najdorf, Polugaevsky, 10.exf6 Qe5+ 11.Be2 Qxg5 12.Qd3›b9ñ­–óofB22v Sicilian: Alapin, 2...Nf6, 5.cxd4 e6 6.Nf3 Nc6›^lñ¿O<8B21m Sicilian: Halasz Gambitš„ÉTYQÑ£FA46k Indian: 1.d4 Nf6 2.Nf3 e6 3.e3š‚Jæ˜À4àRC83 Spanish: Open, Classical, 10.Nbd2 O-Oš\8z†©xC07p French: Tarrasch, Open, 4.exd5 Qxd5, Main Line, 10.Qxd4špúâlÛÿöXC78w Spanish: Archangelsk, Main Line, 10.Bg5špͱ! %Ø~E16i Queen's Indian: Capablanca, Nimzowitsch, 7.O-O Bxd2 8.Qxd2šk^ºïÕ‚:C88g Spanish: Closed, 8.d3 d6šhŸX•Û .|D85p Grünfeld: Modern Exchange, 8.Rb1 O-O 9.Be2 Nc6, Main Linešem§0‡4ddB14e Caro-Kann: Panov-Botvinnik, 5...g6 6.cxd5 Bg7š`»Å™™þ<A44b Old Benoni: Czech, 3.dxe6š^EÝpÂ;BB00u Nimzowitsch Defence: 2.d4 e5šLžª¯†cq2B18a Caro-Kann: ClassicalšLܧ´-DC55m Two Knights: 4.d4 exd4 5.Nxd4šIQ.u“¯:C02k French: Advance, 4...Nc6š$lî}=õBC47i Four Knights: Scotch, 4...d6š™BTµ ¤XC56c Two Knights: Classical, Canal VariationšLÀwkqPC90m Spanish: Closed, Pilnik, 12.Nf1 Bf8šɇÕg HE08e Catalan: Closed, 7.Qc2 c6 8.Rd1™ô¿q¸Þ_\<B20 Sicilian: English, 2...Nc6™ñØßΉB`E31c Nimzo-Indian: Leningrad, Main Line, 7.e3 g5™íÿǪƒyVD49d Semi-Slav: Meran, Trifunovic Variation™èo[@ZóHB58d Sicilian: Boleslavsky, 6...Nxd4™äÙà¡óƒjB38i Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 b6 9.O-O™âQh¬ÙAº‚B11i Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 e6 6.g3 Nf6™ÔÝœ°ÑGTB26o Sicilian: Closed, 6.Be3 e6 7.Qd2 Nge7™Ôl9´®¿6A16 English: Anglo-Grünfeld™Ì»CÍð‘€2A02 Bird: 1..c5 2.Nf3 Nc6™¿^¨ôZpáLA45y Trompowsky: 2...Ne4 3.Bf4 c5 4.f3™¶Y¢èçí”:B44b Sicilian: Taimanov, 5.g3™¯Zê @õÄ8D37i QGD: Classical, 5...O-O™¨¬”ª5`D72 Neo-Grünfeld, 5.cxd5 Nxd5 6.e4 Nb6 7.Ne2 O-O™š7=±ý9\A29 English: Four Knights, 4.g3 d5 5.cxd5 Nxd5™ç|û¹&RJA48i Neo-King's Indian: London System™‹:òªyjLB53g Sicilian, Chekhover, 4...a6 5.Be3™ƒÇ&ؘBB10i Caro-Kann: English Variation™}»¹`J²²NE05j Catalan: Open, Classical Main Line™yaåΈ4A04 Reti: Herrström Gambit™uÄé¿;YHC47d Four Knights: Italian Variation™pûÌa’¶ñrD26n QGA: Classical, Furman, 6...a6 7.dxc5 Bxc5 8.O-O Nc6™ik"Z€VB93i Sicilian: Najdorf, 6.f4 Qc7 7.Nf3 Nbd7™eD±OõÀ4B07b Pirc: 2.Nf3 Nf6 3.Nc3™e. y÷V}HB18e Caro-Kann: Classical, 5.Ng3 Bg6™_mÍf-fa|B01g Scandinavian: Anderssen Counterattack, Goteborg Variation™\F§r“stE75h King's Indian: Averbakh, 7.d5 e6 8.Qd2 exd5 9.exd5 a6™\ßUž‡BB10i Caro-Kann: English Variation™Y¸O5×i‘>C65d Spanish: Berlin, 4.d4 exd4™Va(¦ÀÙ­^D44k Semi-Slav: Botvinnik, Lilienthal Variation™M}Øš$×NC40u Latvian Gambit: 3.Nxe5 Qf6 4.d4 d6™M;Ê@Ââ.2D35a QGD: Harrwitz Attack™KøR°Ñ0C80f Spanish: Open, 6.d4™FE ËÖ=pC19p French: Winawer, 6...Ne7 7.Nf3 Nbc6 8.a4 Qa5+ 9.Bd2™A8@‘öø®`C17i French: Winawer, Bogoljubow, 5...Ne7 6.dxc5™=gÛ\æar6A65m Benoni: Sämisch, 8.Be3™7wsšr¿á†E86g King's Indian: Sämisch, Orthodox, 7.Nge2 c6 8.Qd2 Nbd7 9.O-O-O™5J¯4B[dD30i QGD: Tarrasch without Nc3: 5.g3 Nc6 6.Bg2 Nf6™4n:WÕúdA83b Dutch: Staunton Gambit, Nimzowitsch Variation™)Þ=½ƒNfE84f King's Indian: Sämisch, Panno Main Line, 9.Bh6™RHÖ4C88g Spanish: Closed, 8.d3™^ø¢.³ô8B28h Sicilian: O'Kelly, 3.c3™ d@ÒðÔÎ8C15b French: Winawer, 4.exd5™ã‡{Ñ%*B23d Sicilian: Closed˜ê»zjSrA87 Dutch: Leningrad, Main Line, 7.Nc3 Qe8 8.d5 Na6 9.Rb1˜ê¤ºü &¨€E87k King's Indian: Sämisch, Orthodox, 7.d5 Nh5 8.Qd2 f5 9.O-O-O˜àZ¢L›ï@BC15b French: Winawer, 4.exd5 Qxd5˜ßùŒz9 #XD65 QGD: Orthodox, Rubinstein Attack, 9.cxd5˜Ú÷Þ¤ª`B70p Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-O 8.Re1˜Ø.ÓI¿ÅFC14a French: Classical, 6.Bxe7 Qxe7˜×¹u½ôT8B41h Sicilian: Kan, 5.c4 Nf6˜Ð2RšICZB51q Sicilian: 3.Bb5+ Nc6 4.O-O Bd7 5.Re1 Nf6˜Ïͯ‚8~ORD98a Grünfeld: Russian, Smyslov Variation˜ËçrS¸ñ4C37 KGA: MacDonnell Gambit˜ÊÕß­T¥BD06g QGD: Marshall Defence, 3.Nf3˜¢ÐñºÖÍ¢HC39 KGA: Allgaier, Thorold Variation˜œ{3 HVD97b Grünfeld: Russian, Levenfish Variation˜tšfUJXLD48c Semi-Slav: Meran, 8...a6 9.O-O c5˜s¼`áÖÀ_>B18p Caro-Kann: Classical, 6.h4˜pßG#§öTD27r QGA: Classical, Rubinstein, 8.Nc3 Be7˜iì´§ŠFC21 Danish Gambit: Chigorin Defence˜gŸ®kïµ:A92 Dutch: Alekhine Variation˜^Æ‚É8‡ŠDC45m Scotch: Mieses, 8.c4 Ba6 9.b3˜Zˆñƒl:E91u King's Indian: 6.Be2 Bg4˜Yôd3©ù¸XC59c Two Knights: Morphy, Main Line 9.Nf3 e4˜X ‹ò6A92 Dutch: Stonewall, 7.Qc2˜TcÈ$Ò…J>D24g QGA: 4.Nc3 c5 5.d5 e6 6.e4˜S>¦SJÖBD43v Semi-Slav: Moscow, Main Line˜R™·ÿ"l®LC16g French: Winawer, Petrosian, 5.Bd2˜OþT3À‘ÜBA18 English: Mikenas, Flohr, 7.d4˜Cùä0Á÷fD85o Grünfeld: Modern Exchange, 8.Rb1 O-O 9.Be2 Nc6˜B²L‰áLBC17n French: Winawer, Swiss, 6.b4˜@öÂÀ© ”XB97q Sicilian: Najdorf, Poisoned Pawn, 10.f5˜?Æ‚_ñ }LB70d Sicilian: Dragon, 6.g3 Nc6 7.Nde2˜5ð¯ÇüÿðRC65m Spanish: Berlin, Beverwijk Variation˜*Ê‹(uJC49c Four Knights: Gunsberg Variation˜).€EIrE12o Queen's Indian: Petrosian, 5.Nc3 d5 6.Bg5 Be7 7.Qa4+˜(…”0/yÜLE62c King's Indian: Fianchetto, 6...c6˜%Am­„0dE98r King's Indian: Mar del Plata, 9.Ne1 Nd7 10.f3˜2ÌD‚tB81f Sicilian: Scheveningen, Keres, Perenyi Attack, 7...h6˜‡‡o;ü0D53p QGD: 4.Bg5 Be7 5.e3˜{ÝPbüJVB58g Sicilian: Boleslavsky, Louma Variation˜ƒ‰Ö®RA14 English: Neo-Catalan Declined, 5...c6˜ >Špª9N4D12c Slav: 4.e3 Bf5 5.cxd5˜CöhúVB13g Caro-Kann: Exchange, 4.Bd3 Nc6 5.c3 g6˜ÀÙR—X)<D55b QGD: Lasker without ...h6—ûeªµpQl„E52 Nimzo-Indian: Main Line, 6...b6 7.O-O Bb7 8.cxd5 exd5 9.a3 Bd6—û/’ï»(>B98n Sicilian: Najdorf, 8...Qc7—úŸÆ{ ðš8C78e Spanish: 5.O-O b5 6.Bb3—ùl 6­{†<E02 Catalan: Open, 5.Qa4+ Nbd7—÷µŒP%C©TE73k King's Indian: Averbakh, 6...c6 7.Qd2—ö´átxh\A32 English: Symmetrical, Two Knights, 5.g3 a6—ñÔÒG6VA38c English: Symmetrical, Main Line, 6.O-O—îYú©ëJC28n Vienna: 3.Bc4 Nc6 4.d3 Bb4 5.Nf3—쮯BE30 Nimzo-Indian: Leningrad, 6.d5—é u®Ö£LC56f Two Knights: Classical, 8.Nc3 Qh5—å5ZãÎú¨rD84 Grünfeld: Grünfeld Gambit Accepted, 8...Nc6 9.Ne2 Bg4—ß™Ìto@B96c Sicilian: Najdorf, 7.f4 Nc6—ÍR¶z¾©’XA70f Benoni: Classical, 8.Qa4+ Bd7 9.Qb3 Qc7—ÉÊ®Ê2׈D43a Semi-Slav—¼í hèÑ,6A52b Budapest: 3...Ng4 4.e3—¸ÉÿLòì:C34 KGA: King's Knight Gambit—°¢ÜøÀîZB11b Caro-Kann: Two Knights, 3...Bg4 4.h3 Bh5—¬%€ƒ¬fC96o Spanish: Closed, Chigorin, Keres, 11.Nbd2 cxd4—ªCÏË«ôpE89c King's Indian: Sämisch, Orthodox Main Line, 9...Bd7—œv×ðñO^B44x Sicilian: Taimanov, Szen, Hedgehog, 11.Be3—š ÄFqhhE56 Nimzo-Indian: Main Line, 7...Nc6 8.a3 Ba5 9.cxd5—˜’sàY¼:A70h Benoni: Classical, 8.Bd3—‚yí‚ÀÌ›vE15o Queen's Indian: Nimzowitsch, 5.b3 Bb4+ 6.Bd2 Be7 7.Nc3—l} Î#‡ˆE14w Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.b3 O-O 8.Bb2 cxd4—a5!ïùsÈ:E11x Bogo-Indian: 4.Bd2 Bxd2+—S,óB=§HA57n Benko Gambit: 4.cxb5 a6 5.e3 g6—EÛºÀÄ5;^E92i King's Indian: Gligoric-Taimanov, 7...exd4—Cm¡??é>C11d French: Steinitz, 5.Nf3 c5—B4ât*‚]`B97r Sicilian: Najdorf, Poisoned Pawn, Main Line—<Ý —G<B25l Sicilian: Closed, 6.f4 e6—9ø%2¼è E97q King's Indian: Mar del Plata, Bayonet, 9...Nh5 10.Re1 Nf4 11.Bf1 a5 12.bxa5—5Ú¸ø„u*A65a Benoni: 6.e4 Be7—!ó o“—hD10k Slav: Winawer Countergambit, 4.cxd5 cxd5 5.dxe5— V°´¦NhB48q Sicilian: Taimanov, 6.Be3 a6 7.Bd3 Nf6 8.O-O b5— `L§p}^E89a King's Indian: Sämisch, Orthodox Main Line—ÏÆ^0·\B97o Sicilian: Najdorf, Poisoned Pawn, 10.Bxf6—O,8œ&ÏlB62i Sicilian: Richter-Rauzer, Margate, 7...Bd7 8.Bxc6—eˆQ³ZA31 English: Symmetrical, Two Knights, 3...g6–õÃ{†dD4D15l Slav: Chameleon, 5.a4–òñ—˺D,‚B35l Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3 a5–æh0l#]9TB16j Caro-Kann: Bronstein-Larsen, 6.c3 Bf5–効æFH>:A84 Dutch: Rubinstein, 3...d5–à⿘õÃÄ`C10t French: Rubinstein, 4...Bd7 5.Nf3 Bc6 6.Bd3–Ü®òÈý<A11 English: Caro-Kann Defence–Ö]Ïp]aHE94f King's Indian: Donner Variation–ÐRnÊRA88 Dutch: Leningrad, Main Line, 7.Nc3 c6–Μ-÷±°ž^D84 Grünfeld: Grünfeld Gambit Accepted, 8...Bf5–ËT^D `E94r King's Indian: 7.O-O Nbd7 8.d5 Nc5 9.Qc2 a5–¾ÊÆDXÑ}NB63h Sicilian: Richter-Rauzer, 7.Qd2 h6–¶IÝù)ZXC06i French: Tarrasch, Closed, 8...Qb6 9.Nf3–­ÿ–Nö„xPC89h Spanish: Marshall, Kevitz Variation–£GЉÙÊÕ@A46i Indian: 2.Nf3 d6 3.Bg5 Nbd7–¡tKM™jB42o Sicilian: Kan, 5.Bd3 Nf6 6.O-O Qc7 7.Qe2 d6 8.c4– Ý†Vëî&4E06 Catalan: Closed, 6.Qc2–—!sªxg^>C44h Open Game: Inverted Hanham–’‘"x–B34v Sicilian: Accelerated Fianchetto, Modern, 6.Be3 Nf6 7.Be2 O-O 8.O-O d5–z ˆ¼²óa^D33d QGD Tarrasch: Swedish, Rey Ardid Variation–wÏfœíNA17 English: Anglo-Queen's Indian, 4.g3–u̱·ŒYnE34 Nimzo-Indian: Classical, Noa, 5.cxd5 Qxd5 6.Nf3 Qf5–rBLþiÜdnB45l Sicilian: Taimanov, Four Knights, 6.Nxc6 bxc6 7.e5–f¼e‹.D24e QGA: 4.Nc3 c5 5.d5–_Ï’!W(VjD67 QGD: Orthodox, Main Line, Capablanca, 11.O-O Nxc3–N|‰•ñ38A81 Dutch: 2.g3 Nf6 3.Bg2 e6–JË:XøtynE55 Nimzo-Indian: Main Line, Bronstein, 9.a3 cd4 10.ed4–IvO1§u7xC46m Three Knights: Steinitz, 4.d4 exd4 5.Nxd4 Bg7 6.Be3 Nf6–8 tõGòŽA39r English: Symmetrical, Main Line 7.d4, 10.Qd3 a6 11.Bd2 Rb8 12.Rac1–1D?¡åZA38m English: Symmetrical, Main Line, 7.d3 d5–0èð  :D90 Grünfeld: Flohr Variation–!9­H¶—Œ6C46e Three Knights: 3...Bc5–ûœøº&¨nC64s Spanish: Classical, 4.O-O Nd4 5.Nxd4 Bxd4 6.c3 Bb6–d:‚öFA34 English: Symmetrical, 3 Knights–¶ÛëÓªÕ4A45e Indian: 2.c3 g6 3.Bg5–ûT´ÐÏŽ>E00u Catalan: 4.Nf3 dxc4 5.Qa4+–ê[YLD23p QGA: Mannheim, Main Line, 9...O-O– ѦÂ×¹VC30f King's Gambit: Keene Defence, 3.g3 Qe7– Ï%;FE22 Nimzo-Indian: Spielmann, 4...c5–ÑP)Zý\C51 Evans Gambit Declined, Showalter Variation–¥Å®[ÔdE74n King's Indian: Averbakh, 6...c5 7.d5 h6 8.Bf4•ûtn9RÀ.VC13e French: Classical, Frankfurt Variation•óàÆ£GœdE16l Queen's Indian: Capablanca, Riumin, 7.Nc3 O-O•ò,A\µÖZA70c Benoni: Classical, 7...a6 8.a4 Bg4 9.Be2•îEý#íZVC27h Vienna: 3.Bc4 Nxe4 4.Qh5 Nd6 5.Bb3 Nc6•í#ça«žË\C74 Spanish: Modern Steinitz, Siesta Variation•ç;z ’ãÞjA16 English: Anglo-Grünfeld, Andersson-Böök Variation•—ò«ªúYPB13q Caro-Kann: Panov-Botvinnik, 5...Nc6•3l³/q™NA17 English: Anglo-Queen's Indian, 4.g3•‡úKÑZ„VB87 Sicilian: Sozin-Najdorf, 7.Bb3 b5 8.O-O•ƒK¥+ƒ±ÙrB84 Sicilian: Scheveningen, Classical, 7.O-O Qc7 8.a4 Nc6•tö±á>…&PA93 Dutch: Stonewall, Botvinnik, 7...Nc6•tÅZ, 8D30n QGD: 3.Nf3 c6 4.Qc2 Nf6•s¥"µŒ>$TE90u King's Indian: 5.Nf3 O-O 6.h3 c5 7.d5•lN~ô¿ÁDB09s Pirc: Austrian, 5...c5 6.Bb5+•h„!,ƒáU>C46d Three Knights: 3...d6 4.d4•hâ”Ì:A21 English: King's, 2.Nc3 g6•d³] :A09t Reti: Accepted, 3.e3 Nf6•cËÃò`E21 Nimzo-Indian: Nimzo-Queen's Hybrid, 5.Qb3 a5•Y1½©*jBB15p Caro-Kann: von Hennig Gambit•K©•o|ã ‚B11l Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 e6 6.d3 Nf6•H)^©Q>B70c Sicilian: Dragon, 6.g3 Nc6•=õ@À2±`E38e Nimzo-Indian: Classical, 4...c5 5.dxc5 Bxc5•5ýpøXC41k Philidor: 3...exd4 4.Nxd4 Nf6 5.Nc3 Be7•ê˜M®ø.C45n Scotch: 4.Nxd4 Bc5•Æ7s¼W~8A73 Benoni: Classical, 9.O-O•'\Y²âNA45u Trompowsky: 2...Ne4 3.Bf4 d5 4.Nd2• še@9·LD66 QGD: Orthodox, Main Line, 8...dxc4• Ìm‰Ç2D02c Queen's Pawn: London•ò»CZ<ˆE57 Nimzo-Indian: Main Line, 8...dxc4 9.Bxc4 cxd4 10.exd4 Be7 11.Bf4•°°=øâ*B23g Sicilian: Closed•WÛl÷‘ZVD17d Slav: Czech, 6.Nh4 e6 7.Nxf5 exf5 8.e3•†¯w1}ŽD42r QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Bf6 11.Be4 Nce7 12.Ne5”þ´l!›DVE97d King's Indian: Mar del Plata, 8.d5 Ne7”ù+þà:6D11m Slav: Slav-Reti System”ô:^jÕVB09k Pirc: Austrian, 5...O-O 6.Bd3 Nc6 7.e5”ðjøua4 TD59n QGD: Tartakower, Main Line, 12.Qa4 c5”î4`yð†0D09 QGD: Albin, 5.g3 Bg4”ׯã*4BŸ\C67e Spanish: Open Berlin, Rosenthal Variation”Ò› §“Í`A40g Queen's Pawn: English Defence, Polli Gambit”ŪVpnß<C60h Spanish: Alapin Variation”Ãë[\þ^E21 Nimzo-Indian: Three Knights, Euwe Variation”ÃÅ u·…x0C34 KGA: Fischer Defence”»Ž HÖœ4A46b Indian: 2.Nf3 b5 3.g3”¸`{Z‡½{\D38n QGD: Ragozin, 5.Bg5 h6 6.Bxf6 Qxf6 7.cxd5”¸;sˆR.:E05a Catalan: Open, Classical”·€i»wüPE07 Catalan: Closed, Botvinnik Variation”³§þ¹4¤Ì@B94b Sicilian: Najdorf, 6.Bg5 b5”¯p§AG&B03e Alekhine: 4.c4”¦Íˆ‹ÅåôtE35 Nimzo-Indian: Classical, Noa, Exchange, 6.Bg5 h6 7.Bh4”žèi}¹’ˆC43p Russian Game: Modern Attack, 3...Nxe4 4.Bd3 d5 5.Nxe5 Nd7 6.Qe2”—¢–Q—‹NE31a Nimzo-Indian: Leningrad, Main Line”—PË90‘ð^C75 Spanish: Modern Steinitz, Rubinstein, 7.Bb3”‘Ämé,hþhB63o Sicilian: Richter-Rauzer, 7.Qd2 Be7 8.O-O-O O-O”ŠØ RÁ¢\A38e English: Symmetrical, Main Line, 6.O-O d6”Š#µ.‰â>C31 KGD: Falkbeer Countergambit”“4BIv>C78f Spanish: 5.O-O b5 6.Bb3 d6”ÕàÛ,HOPA37j English: Symmetrical, 5.Nf3 e6 6.d3”}¡&S…€_HA18 English: Mikenas, French, 4.cxd5”e5ŽŠ[’¹.C00y French: Schlechter”c­²oî.ßHB89 Sicilian: Velimirovic vs. 7...a6”_N8ËæFA41o Neo-Old Indian: 2.c4 e5 3.dxe5”ZO/˜ÿì4@D46b Semi-Slav: Romih, 7.O-O O-O”N‚Õ‚ ¿ÞDA10 English: 1...g6 2.Nc3 Bg7 3.g3”?ñüõæÍhFE72 King's Indian: 4.e4 d6 5.g3 O-O”:=†pV:HC03g French: Tarrasch, 3...Be7 4.Bd3”9<Ü%î:lVA32 English: Symmetrical, Two Knights, 5.e3”4‡ºE*:lA33e English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.a3”2ùË€ DD22d QGA: Alekhine, 4.e3 e6 5.Bxc4”*ۯ݃ÈJC63h Spanish: Schliemann, 4.Bxc6 dxc6”!9;Ô?>’PA49 Neo-King's Indian: Fianchetto System”!2§¬ÍÉ"PA37r English: Symmetrical, 5.Nf3 e5 6.a3”×"”»DRvD58j QGD: Tartakower, 8.Bd3 Bb7 9.O-O Nbd7 10.Qe2 c5 11.Bg3” ÞQGËãFA65k Benoni: Sämisch (6.e4 g6 7.f3)”Šm•”ó©NC90b Spanish: Closed, Lutikov Variation”R޹._`A53 Old Indian: Ukrainian, Queenswap, 6.Nf3 Nfd7”Ù¼:úð1ŠD32i QGD Tarrasch: von Hennig-Schara Gambit, Main Line (11.Be2 O-O-O)” Ș­ö\E18r Queen's Indian: 7.Nc3 Ne4 8.Bd2 Bf6 9.Rc1“ôƒƒ!ðø¤JA31 English: Symmetrical, Two Knights“ñÌ»@ÖdND04d Colle: 3...Bf5, Alekhine Variation“ë¢92’&`D93 Grünfeld: 5.Bf4 O-O 6.e3 c5 7.dxc5 Qa5 8.Rc1“ãÙj­¼Ñ+FA30b English: Symmetrical, 2.Nf3 g6“ßp õ!QItB11e Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 dxe4“ÛÝXØ’÷BB21b Sicilian: Grand Prix, 2...g6“Ô2ÅGuõÒ6E61f King's Indian: 4.g3 d6“ÓÛ~Ò³ì>C21 Centre Game: Queenswap line“Ò$ê‘Êõh2C29n Vienna Gambit: 5.Nf3“Ïš¥ôœÏrE79d King's Indian: Four Pawns Attack, Main Line, 9...Bg4“ÉŒýÿ)ƒ’E38l Nimzo-Indian: Classical, 4...c5 5.dxc5 Na6: 8.b4 Nce4 9.Qd4 d5 10.c5“¿Î²Ä—…FdD31x Semi-Slav: Marshall Gambit, 5.Nxe4 Bb4+ 6.Nc3“¿¿Ùއ_FA34 English: Symmetrical, 3 Knights“°ë+êËeé<D28c QGA: Classical, 7.Qe2 Nc6“ª—°8¥«õ<D56 QGD: Lasker Defence, 9.Rc1“ªü7*…6C65k Spanish: Berlin, 4.O-O“©€c`Á_NA87 Dutch: Leningrad, Main Line, 6...d6“¨è¢éš-P^C13p French: Chatard-Alekhine, Breyer Variation“¨8HÁ°VC58c Two Knights: Morphy, Maroczy Variation“œžËû9ÑËZC41e Philidor: Philidor Countergambit, 4.dxe5““Q÷‘CLE15u Queen's Indian: Buerger Variation“’â‚¡­”HTA38k English: Symmetrical, Main Line, 7.d3“‡~¤e2ÎDA15 English: Anglo-Indian, 2.g3 g6“…Ò':`ø\C98c Spanish: Closed, Chigorin, Rauzer, 14.Nf1“uVºíŽ>B28i Sicilian: O'Kelly, 3.c3 e6“t¨¦nqFA42d Modern: Averbakh, 4...c6 5.Be3“e°îEæ¶–`C94e Spanish: Closed, Breyer, 10.d3 Nbd7 11.Nbd2“aGù-såFD02i Queen's Pawn: 2.Nf3 e6 3.g3 c5“\“£%¼pB99q Sicilian: Najdorf, Main Line, 10.g4 b5 11.Bxf6 gxf6“LÊcçhA92 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3 O-O 6.d5“F,QJ9a>A84 Dutch: Rubinstein Variation“Aü‚ˆsÖPC08a French: Tarrasch, Open, 4.exd5 exd5“2¥‘Ÿ2”*A03 Bird: 1...d5 2.g3“1§,µ. AB34v Sicilian: Accelerated Fianchetto, Modern, 6.Be3 Nf6 7.Be2 O-O 8.O-O“+û·œM·ôZB06r Modern: Two Knights, Suttles, Tal Gambit“|Ÿ¼ 6D24j QGA: 4.Nc3 a6 5.a4 Nc6“ 'úBg@¢VA03 Bird: 1...d5 2.Nf3 Nf6 3.g3 g6: 6.d3 c6“ë¸! hµLA21 English: Kramnik-Shirov, 3.g3 Bxc3“l¦ÿ¦à²<A11 English: Caro-Kann Defence’ÿE94l King's Indian: Glek, 8.Be3’ê!ºâiÛ,RC50j Giuoco Piano: Four Knights Variation’æLÕÿ´ é$C80a Spanish: Open’ä2§¹u)RD47e Semi-Slav: Meran, Capablanca, 8...a6’ãýKó ÿJ>A08 Reti: KIA, French Variation’âûB‘*û^A49 Neo-King's Indian: Double Fianchetto System’⸴+BiXA97 Dutch: Ilyin-Zhenevsky, Winter Variation’â²BqÿúDA43m Old Benoni: 2.d5 Nf6 3.Nf3 g6’ßÙb‹WÕý2A00r Polish: 1...e5 2.Bb2’ܺéAÄ>B08l Pirc: Classical, 5.Be2 O-O’Ù+tèævC21 Centre Game’ÒÿºßŽRHE80c King's Indian: Sämisch, 5...Nc6’Èý\1e â,A48c Neo-King's Indian’Ôò"™µŒE08r Catalan: Closed, 7.Qc2 c6 8.b3 b6 9.Rd1 Bb7 10.Nc3 Rc8 11.e4 dxe4’´Ü xÞ8öTA40j Queen's Pawn: Bogoljubow-Miles, 2.Bg5’°¢Ç˜ ß&D30q QGD: 3.Nf3 Nf6’ª z*åC>C44a Open Game: Dresden Opening’¨ß'mÂѧND47i Semi-Slav: Meran, Lundin Variation’¡øž¨”!ÌzE97p King's Indian: Mar del Plata, Bayonet, 9...Nh5 10.Re1 a5’œÀÙL0A43e Old Benoni: 2.d5 b5’•¾¤ÓE:C84f Spanish: Closed, 6.d3 b5’e0¸ˆšãXD31t Semi-Slav: Noteboom, Abrahams Variation’c=tŒæ+fB22t Sicilian: Alapin, 2...Nf6, 5.cxd4 d6 6.Nf3 Nc6’Xí šd„@B91d Sicilian: Najdorf, 6.g3 Nc6’R‰V;g~)4C30c King's Gambit: 2...d6’Rro®6i\A38d English: Symmetrical, Main Line, 6.O-O d5’QH¸•£@VB39b Sicilian: Maroczy Bind, Breyer, 8.Qxg4’Gñ]>‰ÿÉTD15y Slav: Geller Gambit, 6.e5 Nd5 7.a4 e6’8Ï*.~¹f8E73i King's Indian: Averbakh’*É»ó£ìjD64 QGD: Orthodox, Rubinstein Attack, 8...Re8 9.a3 a6’(mb§§?~D58m QGD: Tartakower, 8.Be2 Bb7 9.Bxf6 Bxf6 10.cxd5 exd5 11.O-O’'ãT7L1¨vB62g Sicilian: Richter-Rauzer, Margate (Alekhine) Variation’oBûþr³RC36 KGA: Scandinavian (Abbazia) Variation’PðBDE73g King's Indian: 5.Be2 O-O 6.g4‘þ±_ÑôÁPD45q Semi-Slav: 6.Qc2 Bd6 7.b3 O-O 8.Bb2‘è;¬˜Õo0A10 English: Anglo-Dutch‘ä2?ùhHE17u Queen's Indian: Pomar, 7...exd5‘á /y«ND59j QGD: Tartakower, Main Line, 11.Rc1‘áƒÓÚôšVC18r French: Winawer, Poisoned Pawn, 8.Qxg7‘Ø*<ÜÖH&A25 English: Closed‘ÎRe ª«FE07 Catalan: Closed, 6...Nbd7 7.Qd3‘Íÿý±-SLB00x Nimzowitsch Defence: 2.d4 d5 3.e5‘Ë÷léÍ ¿<C02d French: Advance, Steinitz‘»»ÅÅC% RC84h Spanish: Closed, Centre Attack, 7.e5‘»©¡ãöT¶FD01j Richter-Veresov: 3...Bf5 4.Nf3‘¶Çý7B[JD23g QGA: Mannheim, 4...Nbd7 5.Nc3 e6‘µíœ«çH\C66 Spanish: Closed Berlin, Hedgehog Variation‘ªî6†þV*ZE39e Nimzo-Indian: Classical, Pirc, 6.Nf3 Na6‘¤Õ²Si8A00r Polish: 1...e5 2.Bb2 d6‘¤·8é|j2A03 Bird: 1...d5 2.Nf3 c5‘£³SªÈÀsRE12b Queen's Indian: Miles, 5.e3 Be7 6.h3‘ ÍÕk²RJC32 KGD: Falkbeer, Tarrasch Variation‘ ÊBÙiÅ`E76e King's Indian: Four Pawns Attack, 6.Nf3 Bg4‘œÏÀ]‡ÇDB53d Sicilian, Chekhover Variation‘†a^ËÝ÷&E01 Catalan: 4...c6‘|y·lÈ`ý`B45i Sicilian: Taimanov, Four Knights, 6.Be3 Bb4‘rU§¶¹6C40n Latvian Gambit: 3.exf5‘lcæ¸ÿDD45n Semi-Slav: 6.Qc2 Bd6 7.g4 Bb4‘kO©ÓM½DA46v Torre Attack: 3...c5 4.e3 Be7‘iYÁ·ìQpB96r Sicilian: Najdorf, Polugaevsky, 10.exf6 Qe5+ 11.Be2‘e“šzyábA42s Modern: Averbakh, 4...e5 5.Nf3 Nd7 6.Be2 Ne7‘TŠ‚'¦]XD61 QGD: Orthodox, Rubinstein, 7.Qc2 c6 8.a3‘IÁ‰QQš–tC43j Russian Game: Modern Attack, 3...Nxe4 4.Bd3 d5 5.Nxe5‘A M‘yè`E15l Queen's Indian: Nimzowitsch, 5.b3 b5 6.cxb5‘<ó'O.€NC61f Spanish: Bird's, Paulsen Variation‘. /1æèó(A54 Old Indian: 5.g3‘"u–\¼i A04 Reti: 1...c5‘ŽÒÆdË6D58a QGD: Tartakower System‘ÜÐÕ)è`D47o Semi-Slav: Meran, Wade, 9.O-O b4 10.Ne4 Be7‘Uu/ lE^B81j Sicilian: Scheveningen, Keres, 6...h6 7.h4‘1†µ£­`B22t Sicilian: Alapin, 2...Nf6, 5.cxd4 Nc6 6.Nf3‘–w 6a@A20 English: King's, Nimzowitsch‘°ý-ß' pD46k Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...a6 10.Rd1‘ 2¤-SPD30b Diemer-Duhm Gambit (DDG): Main Line‘Â(ö>o.D82 Grünfeld: 4.Bf4 Bg7ûÖ¤/ò7 pD19l Slav: Dutch, 8...O-O 9.Qe2 Nbd7 10.e4 Bg6 11.Bd3 h6õ}8 ZJZC13d French: Classical, Nimzowitsch Variationéîp˜èÜZA38n English: Symmetrical, Main Line, 7.d3 d6墺!EøDA85 Dutch: 2.c4 Nf6 3.Nc3 e6 4.Bg5âJ'KEíDD07i QGD: Chigorin, 3.Nf3 Bg4 4.e3àdÞGìþZE21 Nimzo-Indian: Nimzo-Queen's Hybrid, 5.Bg5Þ¼TÃ/}¬:C16b French: Winawer, 4.e5 b6Ûg–èø}|\E58 Nimzo-Indian: Main Line, 9.bxc3 Qc7 10.Bb2Ú¼/)ºì®^A30s English: Symmetrical, Hedgehog, 8.Qxd4 O-OÓžÍè>6C11f French: Steinitz, 5.f4ÒŒéZ%GËLA87 Dutch: Leningrad, Main Line, 6.O-OÑo™4C66 Spanish: Closed BerlinË‘È}M1^C05f French: Tarrasch, Closed, 5.f4 c5 6.c3 Nc6À…Ù(ò A04 Reti: 1...g6¿pEEqdTA28 English: Four Knights, Stean Variation¯>7~0sF0E61f King's Indian: 4.g3ªêAô>Q“XD39f QGD: Ragozin, Vienna, 6.e4 c5 7.e5 cxd4’ò-o;mpB64d Sicilian: Richter-Rauzer, 7.Qd2 Be7, 9.f4 h6 10.Bh4½}r›¨ßpD25r QGA: Janowski-Larsen, 6.h3 Bh5 7.Nc3 Nbd7 8.O-O Bd6Œ9à„!δDC21 Danish Gambit: Accepted, 4.Bc4…oíÈDXA56m Benoni: 3.d5 d6 4.Nc3 g6 5.e4 Bg7 6.Bd3‚}L¿iˆ70E00r Catalan: 4.Nf3 Bb4+zÊÁÇýlLE18h Queen's Indian: 7.Nc3 d5 8.Ne5 c6z{ñ bPC12o French: MacCutcheon, 8.Qg4 g6 9.Bd3g üÊœNC11w French: Burn, 6.Bxf6 gxf6 7.Nf3 b6Z#ˆù¢’sXC19k French: Winawer, 6...Ne7 7.Nf3 Bd7 8.a4Ve™ß)îˆE66m King's Indian: Fianchetto, Yugoslav Panno, Main Line, 12.Bb2 e5Rß1º^E12e Queen's Indian: Petrosian, 4...c5 5.d5 Ba6Q·˜Mw+a2E14a Queen's Indian: 4.e3Q) '‡Ù„vD32v QGD Tarrasch: 5.Nf3 Nc6 6.e3 Nf6 7.Be2 cxd4 8.Nxd4 Bd6J«ÞŒkÕTB73 Sicilian: Dragon, Classical, 8.O-O O-OD24g QGA: 4.Nc3 c5 5.d5 e6 6.e4ç%ÿÅ-J¢pE32n Nimzo-Indian: Classical, 4...O-O 5.a3, 6...b6 7.Bg5àtù*–gXA41u Neo-Old Indian: Modern, 3.Nc3 Bg7 4.Nf3ÚÙjgäê`D10a Diemer-Duhm Gambit (DDG) vs. Slav/Caro-KannÊ $Ò\J4A12 English: Torre DefenceÉ;Wû_YöBB03o Alekhine: Exchange, 5...exd6ÆVC €÷HB17i Caro-Kann: Steinitz, 5.Ng5 Ngf6¶½ˆÎN2žBD29c QGA: Classical, 8...Bb7 9.a4³Et.ë¶z>A25 English: Closed, Hort, 7.d3³8˜&my{&A10 English: 1...g6ªø™ 7vC48f Four Knights: Spanish, Classical, Bardeleben Variation©ÚvMÌ’âLB01t Scandinavian: Scandinavian Gambit©Ö2÷T"`A35i English: Symmetrical, Four Knights, 4.e3 e5¤fˆ†¢ÿ 0D35a QGD: 3.Nc3 Nf6 4.e3˜ÅÏÛîLA43j Old Benoni: Clarendon Court, 3.c4þ¨ãØNKXB27s Sicilian: Accelerated Pterodactyl, 4.c4‰¤×!ÃizA94 Dutch: Stonewall, Botvinnik, 8.Ba3 Bxa3 9.Nxa3 Qe7 10.Qc1‚m›ó_`«DA46u Torre Attack: 3...c5 4.e3 Qb6~>yãB&hNA95 Dutch: Stonewall, 7.Nc3 c6 8.b3 Qe8z¡±Å+·FVA73 Benoni: Classical, 9.O-O Na6 10.Nd2 Nc7wläZ$â"C21 Danish Gambitnñæ0šˆ·BC46h Three Knights: 3...Bb4 4.Nd5Tm¦kïBÃTA89 Dutch: Leningrad, Main Line, 7.Nc3 Nc6Rb­ÊUªBE97a King's Indian: Mar del PlataP.`Œ‹mTA70m Benoni: Classical, 8.h3 O-O 9.Bd3 Na6N©õø·N´pD44r Semi-Slav: Botvinnik, Main Line, 12.g3 c5 13.d5 Qb6KuÿäøšLC41s Philidor: Improved Hanham, 6.dxe5F¨Ï èà8D37f QGD: 4.Nf3 Be7 5.e3 O-OB»4 %ÞžZB00c Basman's Creepy-Crawly System (as Black)A‹u^ UBC41b Philidor: Steinitz Variation5*š¼ùƒ<A11 English: Caro-Kann Defence'íuEµÜÌ"D25b QGA: 4.e3 c5&0åМkRB23s Sicilian: Closed, Grand Prix, 3...g6 ÐÚ‘FAÐ^D42g QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.a34×¥3R·ZA35d English: Symmetrical, 2.Nc3 Nc6 3.Nf3 g6 M·4•X8B28c Sicilian: O'Kelly, 3.d4t'ÄÅsZC84m Spanish: Closed, Centre Attack, 7.Re1 b5ã­Üm|!4A03 Bird: 1...d5 2.Nf3 Nf6ñå_Y™iFD74 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-OŽþp×®B•Á>B70j Sicilian: Dragon, 6.Be2 a6Ž÷|¤¢¤fB31q Sicilian: Rossolimo, 3...g6 4.O-O Bg7 5.Re1 e5Žñ`¥D˜v6B00f Owen Defence: 2.d4 Bb7Žñ"Çm\ļ4D70 Neo-Grünfeld: 3.Nf3 d5Ží~ÿ±P"VE38d Nimzo-Indian: Classical, 4...c5 5.dxc5ŽíB6,¢äLD40i QGD: Semi-Tarrasch, 5.e3 Nc6 6.a3Žèb§Dÿ¨¶‚C07p French: Tarrasch, Open, 4.exd5 Qxd5, Main Line, 10.Qxd4 Qxd4ŽÉ¡(ôM:²ZB01p Scandinavian: 2...Qxd5, Main Line, 8.Nd5ŽÉŠ'ð±zPC10p French: Rubinstein, 7.Bd3 c5 8.dxc5Ž»×Wåt9DA58i Benko Gambit: Accepted, 7.Nf3Ž»ºÀbŸ dD39i QGD: Ragozin, Vienna, 6.e4 c5 7.Bxc4, 8...Qa5Ž­©F¯k¿CZA09j Reti: Advance, 3.g3 c5 4.Bg2 Nc6 5.d3 e5Žª íähŒû.A54 Old Indian: 5.g3 g6ލõ•#pa×4D10d Slav: Exchange, 4.Nf3Žœƒ6x÷OI†B85 Sicilian: Scheveningen, Classical, Main Line, 9...Nc6 10.a4 Bd7Ž™Ù2 ×}FE94q King's Indian: 7.O-O Nbd7 8.d5Ž—`ÙFÆ3iDA27 English: Three Knights, 3...d6މÐ뎼º¤HB37a Sicilian: Maroczy Bind, 5...Bg7Ž„ÜvÈ^(4DB55 Sicilian: Prins, Venice AttackŽ„^ž„ÇijD30c QGD: 3.g3ŽyC7T‹ÈhA75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.Bf4 Re8Ži`õØÅG~B84 Sicilian: Scheveningen, Classical, 7.O-O Be7 8.f4 Qc7 9.Kh1Žhª±Ë©ÚPB94g Sicilian: Najdorf, 6.Bg5 Nbd7 7.Bc4Žg»?ï)wû<B25p Sicilian: Closed, 6.f4 e6ŽPÐK×¥\E20 Nimzo-Indian: Romanishin, 4...c5 5.Nf3 Ne4Ž5oÀ½üýDA15 English: Anglo-Indian, 2.g3 g6Ž-ÄÆçð9ZE05s Catalan: Open, Classical, 8.Qxc4, 10.Bd2Ž(?«¤:Õ1XC33 KGA: Lesser Bishop's (Tartakower) GambitŽ&oî\&£Ñ8C61c Spanish: Bird's, 4.Nxd4Ž"-–d>C00g French: Chigorin VariationŽÉ+‡¹-BA85 Dutch: 2.c4 Nf6 3.Nc3 g6 4.f3ŽâLjC85p Spanish: Closed, Exchange, 7.d3 Nd7 8.Nbd2 O-O 9.Nc4 f6 10.Nh4ý~EÖ¶]zC57c Two Knights: Traxler, 5.Nxf7 & 6.Kf1, Menovsky Variationü\ÕÄI‘TA74 Benoni: Classical, 9.O-O a6 10.a4 Nbd7ö¼s;;yTE73w King's Indian: Averbakh, 6...h6 7.Be3ìl+ƒµý4A27 English: Three Knightsê¿ ^z $A45f Indian: 2.Nc3鳋L”dC49d Four Knights: Nimzowitsch (Paulsen) VariationámB7y…lC39 KGA: Kieseritsky, Brentano Defence, Caro VariationÖBéyG²\^C41w Philidor: Improved Hanham, Sozin VariationÕî*àt×.D21j QGA: 3.Nf3 c5 4.e3Î:Š POãHB23l Sicilian: Closed, 2...Nc6 3.Bb5Ë6«0a¸`D33f QGD Tarrasch: Swedish, 7.Bg2 Bb4 8.O-O Nge7ºv ç…õ”PC99c Spanish: Closed, Chigorin, 13...Bd7®Í° úö´rE65g King's Indian: Fianchetto, Yugoslav, Exchange, 9.Be3˜xÒ{0бVB59f Sicilian: Boleslavsky, 7.Nb3 Be7 8.O-O“2†\RC@A46q Indian: London, 3...c5 4.c3‹£ô^HBB10i Caro-Kann: English Variation‡“‘¥Å^hC92n Spanish: Closed, Zaitsev, 11.Nbd2 Bf8 12.d5 Nb8‚}—|îjE74i King's Indian: Averbakh, 6...c5 7.d5 a6 8.a4 Qa5YSÇ1*¡PA19 English: Mikenas, Sicilian Variation€`ï€ãš+LC16j French: Winawer, Advance, 4...Ne7ÜUé^qbC42s Russian Game: Classical, 6.Bd3 Be7 7.O-O Nc6|ÊýeÍŽÿVA55j Old Indian: 5.e4 Be7 6.Be2 c6 7.O-O a6|µª7µ:å<A02 Bird: Batavo Polish Attacky²(ëèVFE53 Nimzo-Indian: Main Line, 6...c5r”d9 A04 Reti: 1...g6kk9Ë/RL>C40a Open Game: Damiano Defenceb1âË,W~B49k Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O Bb4 9.Na4 O-OQÒ{1ç¾6D31d QGD: Alatortsev, 4.Bf4N…‹[š>XB19h Caro-Kann: Classical, Spassky VariationH-ôŽD½œ^B09u Pirc: Austrian, 5...c5 6.Bb5+ Bd7 7.e5 Ng4G#ñÚºû^D28g QGA: Classical, 7.Qe2 b5 8.Bd3 cxd4 9.exd4Eɲ MÞ´JE00e Queen's Pawn: Neo-Indian, 3...b6%Ǫ4SUÔ:A20 English: King's, 2.g3 Nf6"¹uŸB\™’E89i King's Indian: Sämisch, Orthodox Main Line, 10.Qd2 a6 11.g4 h5 12.h3ßñzäæ»:B42h Sicilian: Kan, 5.Bd3 Nf6H€†B85 Sicilian: Scheveningen, Classical, Main Line, 9...Nc6 10.a4 Qc7ŒýL¿lÑiÝfD87c Grünfeld: Classical Exchange, 8...c5 9.Be3 Qa5Œõñ³üÑëfD85x Grünfeld: Modern Exchange, 8.Be3 O-O 9.Rc1 Qa5Œóô)'? 8D11n Slav: Slav-Reti with b3ŒòPWå z>.A07 Reti: KIA, YugoslavŒñöÆœ¸,&:D41c QGD: Semi-Tarrasch, 6.g3ŒðÉäÛíNA93 Dutch: Stonewall, Botvinnik, 7...c6Œð0Xj13B06c ModernŒÝ¥úR^I^C55x Two Knights: Max Lange, Marshall VariationŒÛ' N&tpE43 Nimzo-Indian: Nimzowitsch, 5.Nf3 Bb7 6.Bd3 O-O 7.O-OŒØèÕy’xzDD41p QGD: Semi-Tarrasch, 6.e3 cxd4ŒÃ“}­t=4B08b Pirc: Classical, 5.h3Œ»‘1»+1ÏJC88c Spanish: Closed, Noah's Ark TrapŒ® Ñʵ'‰*A46c Neo-Benoni: 3.e3Œ®12 rÎHB00k Owen Defence: 3.Bd3 e6 4.Nf3 c5Œ¨¥VKoÇË*A00m Van Geet: 1...d5Œ¡áC%<¨–<E12d Queen's Indian: PetrosianŒ ”Vž\B82 Sicilian: Scheveningen, 6.f4 Nc6 7.Be3 Qc7Œ”@9G)¾ùJC02f French: Advance, Ruisdonk GambitŒ“Ë«$.uTB91l Sicilian: Najdorf, 6.g3 e5 7.Nde2 Be7Œ‘qEà )RD20i QGA: 3.Nc3Œd+£ÓZZ A04 Reti: 1...c5Œ%}H× DD02f Queen's Pawn: 2.Nf3 Nc6 3.Bf4ŒŠŒ0ôå*&D13a Slav: ExchangeŒŠl&äì· A04 Reti: 1...b5ŒˆŽ¼XsÝ™ZD61 QGD: Orthodox, Rubinstein, 7.Qc2 c5 8.Rd1Œ‡>Â/ŸsÕ4A46f Neo-Benoni: 3.g3 cxd4Œƒhl»bJPE95d King's Indian: 7.O-O Nbd7 8.Re1 Re8Œƒ0ŸÄðñK>B17p Caro-Kann: Steinitz, 5.Bc4Œ|üÃ7eÞ°>A44d Old Benoni: Czech, 3.c4 d6Œz˜ÊM½­ø6A24 English: Bremen, 3...g6ŒpºŒùý+ÓrB27p Sicilian: Accelerated Pterodactyl, 4.dxc5 Qa5+ 5.Nc3ŒmÁUæ8.ŽRE41 Nimzo-Indian: 4.e3 c5 5.Bd3 Nc6 6.Ne2Œm”Ÿ1̇4A46p Indian: London SystemŒYw°XHÉDD85d Grünfeld: Exchange, 5.e4 Nxc3ŒKê [ˆÊND00u Blackmar-Diemer: Weinspach DefenceŒGE¾pƒÐ³:D13e Slav: Exchange, 5.Nc3 a6ŒG=Þ€“Q pB09n Pirc: Austrian, 5...O-O 6.Bd3 Na6 7.O-O c5 8.d5 Bg4ŒCúGt%WDE61j King's Indian: Smyslov SystemŒC¿<ùçç-HE18e Queen's Indian: 7.Nc3 d5 8.cxd5ŒC>'Ü rðRA28 English: Four Knights, 4.e3 Bb4 5.Qc2Œ= /Û_ÐY8C37 KGA: Double Muzio GambitŒ/÷SRhpRD95e Grünfeld: 5.e3 O-O 6.Qb3 c6 7.Bd2 e6Œ'æÙ@’]ŸXE71g King's Indian: Makagonov, 5...O-O 6.Bg5Œ%ÕÌö°ƒ`C57g Two Knights: Fegatello (Fried Liver) AttackŒ K•è)`B12t Caro-Kann: Advance, 4.Nf3 e6 5.Be2 c5 6.O-OŒä–¦SýšB36l Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2 Nxd4 8.Qxd4 Bg7 9.Bg5 O-OŒú¸# ”<D30h QGD: Tarrasch without Nc3ŒVjƦƒ1VE10i Neo-Indian: Blumenfeld/Benoni, 4.e3 b6‹Ü*KiöpB99r Sicilian: Najdorf, Main Line, 10.g4 b5 11.Bxf6 Nxf6‹Ø<޵@B70k Sicilian: Dragon, 6.Be2 Bg7‹ÐºÃuß ÃpE64b King's Indian: Fianchetto, Yugoslav, Early Exchange‹ÅbdM_ºFHD90 Grünfeld: Three Knights Exchange‹ÄªÓ Œª`zD32h QGD Tarrasch: von Hennig-Schara Gambit, 7.Qxd5 Nc6 8.Nf3‹ºâô-A=`D10n Slav: Winawer Countergambit Accepted, 6.Bd2‹¶ñ¹çoœA,A45k Trompowsky 2...g6‹¯çÇn‚@B47h Sicilian: Taimanov, 6.g3 a6‹¨9~ƶo»NE90g King's Indian: Zinnowitz Variation‹¤ùÎöœ‘HC05v French: Tarrasch, Closed, 7.Ne2‹£ÇÛ~l•kFA20 English: King's, 2.g3 Nc6 3.Bg2‹ŸO¬óN‰¸<A53 Old Indian: Ukranian, 4.e3‹ž÷a ƒUŸLB46c Sicilian: Taimanov, 5...a6 6.Nxc6‹{ºK}ñFD46h Semi-Slav: Chigorin, 7.Qc2 O-O‹ˆÝfò‘`“0A10 English: Anglo-Dutch‹„¹±S6YóBC57i Two Knights: Fritz Variation‹ƒýUÝ—ãXB84 Sicilian: Scheveningen, Classical, 7.Be3‹sñØbcØ5jC55b Two Knights: 4.O-O Gambit, Rosentreter Variation‹lŒÑÛ`ÚÝBE91g King's Indian: 6.Be2 c5 7.d5‹cDÙŽC”¾VC62 Spanish: Old Steinitz, 4.d4 exd4 5.Qxd4‹`G\ÀédE48 Nimzo-Indian: 4.e3 O-O 5.Bd3 d5 6.Ne2 c5 7.O-O‹_…÷êdEä`C70 Spanish: Schliemann Deferred, 5.d4 exd4 6.e5‹W5›´NFüDD90 Grünfeld: Schlechter, Exchange‹VÀ Ú« ÝFE80l King's Indian: Sämisch, 5...c6‹S³Ì:ä«×^B02l Alekhine: Mokele Mbembe (Bücker) Variation‹SDe®µDE41 Nimzo-Indian: Hübner, 8.O-O e5‹R„zÚPµã2E60f King's Indian: 3.Nf3‹P0½ú_#\D52j QGD: Cambridge Springs, Bogoljubow, 8.Qc2‹OÎ\ÍCRVC00t French: KIA, Reversed Philidor, 4...b6‹E$BD}€pHC25p Vienna: 2...Nc6 3.f4 exf4 4.Nf3‹C#Ùƒ)q~C67v Spanish: Open Berlin, 5.d4 Nd6 Queenswap, 9.Nc3 Ke8 10.Rd1‹B×,CYÓ^rB79b Sicilian: Dragon, Yugoslav, Old Main Line, 12.h4 Ne5‹9ކé6·lB45o Sicilian: Taimanov, Four Knights, 6.Ndb5 d6 7.Bf4‹8hwTR.Ë@C70 Spanish: Schliemann Deferred‹7G)YéÂtC07m French: Tarrasch, Open, 4.exd5 Qxd5 5.Ngf3 cxd4 6.Bc4‹2Øñ™ÙG:C45l Scotch: Mieses, 8.c4 Ba6‹«U·yêDD95g Grünfeld: Botvinnik Variation‹hÜÛÛRB09c Pirc: Austrian, Ljubojevic Variation‹ ¾Î2ªé2A10 English: Myers Gambit‹¤&k øª^A90 Dutch: Dutch-Indian (Nimzo-Dutch) Variation‹ vO+Ay,A47 Neo-Queen's Indian‹ Y\|÷žôrA33l English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.g3 a6ŠüK<º‚rˆB51u Sicilian: 3.Bb5+ Nc6 4.O-O Bd7 5.Re1 Nf6 6.c3 a6 7.Bf1 Bg4 8.h3Šñ¨C03a French: Tarrasch, 3...dxe4ŠÊö9’.ˆå|D99f Grünfeld: Russian, Smyslov, Main Line, 9...Nb6 10.Rd1 Nc6Ь5)µé|E11w Bogo-Indian: Nimzowitsch, 5.g3 Nc6 Main Line, 8...a5 9.e4ŠšiXõ³X•ŠE13o Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 g5 8.Bg3 Ne4 9.Qc2 Bxc3+Š—ý¹6B®¤pE14s Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O cxd4 7.exd4ŠR ¢94D26h QGA: Classical, 6.Nc3Їâ¤âŒƒ<A00l Van Geet: Tübingen GambitŠ„kÉþž…Ö6A12 English: Bled VariationŠ‚ì‰wZ<’&D51 QGD: 4.Bg5 Nbd7ŠvÜ;ºûÿñ2A54 Old Indian: 4.Nf3 Nc6ŠoÉî2D34h QGD Tarrasch: 9.dxc5Š] º6Ë×fE62v King's Indian: Fianchetto, Uhlmann/Szabo, 9.e4ŠY‚3LìñX@B10b Caro-Kann: Breyer VariationŠVq ”ýTB18j Caro-Kann: Classical, 6.Bc4 e6 7.N1e2ŠH%…²Ö|¿\B27n Sicilian: Accelerated Pterodactyl, 4.dxc5ŠHª­³`ªlE76h King's Indian: Four Pawns Attack, 6.Nf3 Na6 7.Be2ŠAw}“ $lE14p Queen's Indian: 4.e3 Bb7 5.Bd3 d5 6.O-O Bd6 7.Nc3Š; hPÆ™ ZB36g Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6Š4Ø*/›RÜ@C02o French: Advance, Euwe, 6.a3Š.úÍuvœ,B20 Sicilian: 2.d3 Nc6Š-äkïE2C>B13c Caro-Kann: Exchange, 4.Nf3Š)A)žé¯VC47l Four Knights: Belgrade Gambit, 5...Nb4Š$ÿ€ÃïXC58a Two Knights: Morphy Variation (5...Na5)Š¢»èfBA56d Benoni: 2...c5 3.e3 g6 4.Nc3Šæ¢5Ÿ,ÎTA94 Dutch: Stonewall, Botvinnik, 8.Ba3 Bd7ŠHŒ]p~E68e King's Indian: Fianchetto, Classical, 8.e4 exd4 9.Nxd4 Re8Š ÃVVÁX@A46s Torre Attack: Wagner Gambit‰ù9yˆÁÄJD00w Blackmar-Diemer: Ziegler Defence‰ôni+5é2D45k Semi-Slav: 6.Qc2 Bd6‰æŸ`øUûýXB09q Pirc: Austrian, 5...c5 6.dxc5 Qa5 7.Bd3‰ã¤¾7Š2D09 QGD: Albin, 5.g3 Nge7‰áeªÌöÞ E13p Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 g5 8.Bg3 Ne4 9.Qc2 Bxc3+ 10.bxc3 d6‰ÙS®Sñì"D20e QGA: 3.e3 e5‰Ñ®¢EŸBB02d Alekhine: Scandinavian, 3.e5‰¿6É®f=>C51 Evans Gambit: Mayet Defence‰½Hå?m‘úVC12d French: MacCutcheon, Advance Variation‰¤uPðp,8A10 English: 1...b6 2.Nc3 e6‰£Ó•ùœ¾bfE31h Nimzo-Indian: Leningrad, Main Line, 7.e3 Bxc3+‰¡ô†ßM7HA18 English: Mikenas, Flohr, 7.d4 c5‰ päc¬FÎJC17m French: Winawer, Swiss Variation‰—“cIðTD47f Semi-Slav: Meran, Capablanca, 8...Bb7‰•iœ$ bÉ&C41c Philidor: 3.d4‰“(†q°Ø¡PA49 Neo-King's Indian: Fianchetto System‰v²÷î2Ô|LB22q Sicilian: Alapin, 2...Nf6, 5.Qxd4‰kÆÈZÌXK4C60i Spanish: Alapin, 4.c3‰j¢uÚ‡PB13o Caro-Kann: Panov-Botvinnik, 4...Nf6‰h:È%‹šrE92v King's Indian: Petrosian, Stein, Main Line, 10...Qe8‰dш¦pD59e QGD: Tartakower, 8.cxd5 Nxd5 9.Bxe7 Qxe7 10.Rc1 Bb7‰_…Ì”­°hB98i Sicilian: Najdorf, Browne, 10.O-O-O Nbd7 11.Qg3‰WÅs>mbC06n French: Tarrasch, Closed, 8...f6 9.exf6 Nxf6‰EÌ8y}ÇärE71l King's Indian: Makagonov, 5...O-O 6.Bg5 Na6 7.Bd3 e5‰@,šiƒ´TB36d Sicilian: Maroczy Bind, 5...Nf6 6.Nc3‰7òÓƒ¶hTC49l Four Knights: Symmetrical, 7.Bg5 Bxc3‰2pD’YU–2D12i Slav: 4.e3 Bf5 5.Nc3‰+<ºþ3©\C98e Spanish: Closed, Chigorin, 12...Nc6 13.d5‰)·zX,lqzB14n Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3 Be7 7.cxd5 Nxd5‰ÁI>? _vE35 Nimzo-Indian: Classical, Noa, Exchange, 6.Bg5 h6 7.Bxf6‰e(…°×ZC78k Spanish: 5.O-O b5 6.Bb3 Bc5 7.c3 d6 8.d4‰†vÞ8{PD41n QGD: Semi-Tarrasch, 6.e4, Main Line‰³†WLÂP,A02 Bird: Hobbs Gambit‰ˆø„(Ï6D21a QGA: Ericson Variation‰ðVý82B07c Pirc: 2.f4 Nf6 3.Nc3‰¶«Ê«GzC06p French: Tarrasch, Closed, 8...f6 9.exf6, 11...Qb6 12.Nc3‰U!.pB¾^C93 Spanish: Closed, Smyslov, 10.d4 Re8 11.Nbd2‰ ëüc¶”:A00l Van Geet (Dunst) Opening‰ÎîéÙ‡nJB10s Caro-Kann: Two Knights Variationˆð*Ñ×>¡TE80f King's Indian: Sämisch, 5...e5 6.Nge2ˆíž;؉V:E15t Queen's Indian: 4.g3 Bb7ˆìÆ™P^¢nE76r King's Indian: Four Pawns Attack, 6.Nf3 c5 7.d5 e6ˆÙÛ+°yкzB66e Sicilian: Richter-Rauzer, 7...a6 8.O-O-O Nxd4 9.Qxd4 Be7ˆÒ '¶;°BVB84 Sicilian: Scheveningen, Classical, 7.a4ˆÌdSZ1E77 King's Indian: Four Pawns Attack, 6.Be2 c5 7.d5 e6 8.Nf3 exd5 9.exd5ˆÆ±Ò·j>ærB39e Sicilian: Maroczy Bind, Breyer, 8.Qxg4 Nxd4 9.Qd1 e5ˆÄÑa-a¹ðlA33d English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.e3ˆªXÖÖªsš\E88a King's Indian: Sämisch, Orthodox, 7.d5 c6ˆ¢ü;MbŸPA16 English: Anglo-Indian, 2.Nc3 g6 3.g3ˆŸœà°6°TA82 Dutch: Staunton Gambit, 4.f3 d5 5.fxe4ˆšÈ",(zB65c Sicilian: Richter-Rauzer, 7...Be7, 9.f4 Nxd4 10.Qxd4 Qa5ˆ„Í6f:\B11d Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3ˆVlýxÆRnC11m French: Steinitz, Boleslavsky, 7...cxd4 8.Nxd4 Qb6ˆ£¾g\‚hE63k King's Indian: Fianchetto, Panno, 8.h3 Rb8 9.e4ˆw Á­,|\B82 Sicilian: Scheveningen, 6.f4 Nc6 7.Be3 Be7ˆuƒ¬á_^E85a King's Indian: Sämisch, Orthodox VariationˆsP—H0abB57h Sicilian: Sozin, Benko, 7.Nxc6 bxc6 8.O-O g6ˆrΔƒóî“>C40p Latvian Gambit: 3.Bc4 fxe4ˆr¨Á™­)žDB43d Sicilian: Kan, 5.Nc3 b5 6.Bd3ˆmßàrRüéRD25m QGA: Janowski-Larsen, 6.h3 Bh5 7.Nc3ˆkÐÄÑ{‘*A46b Indian: 2.Nf3 b5ˆcí²¿îR‚0A10 English: Anglo-Dutchˆbô!yþØ;bE21 Nimzo-Indian: Nimzo-Queen's Hybrid, 5.Qc2 Bb7ˆb“°’`XÞtB49e Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.a3 Be7 9.O-Oˆ\¦9ùˆƒBA23 English: Bremen, Keres SystemˆSÅøz«JD12d Slav: 4.e3 Bf5 5.cxd5 cxd5 6.Qb3ˆIÀL´ ÚBB12i Caro-Kann: Advance VariationˆD­vƒ¯uNA41g Neo-Old Indian: Wade Defence, 3.c4ˆC¦9‰îŠlVE63c King's Indian: Fianchetto, Panno, 8.e4ˆ>YC‹n¬âDC64d Spanish: Classical, 4.c3 Nge7ˆ=¶¢ˆt¦µfE25 Nimzo-Indian: Sämisch, Keres, Romanovsky, 9.Nh3ˆ:¾³)Ø©hJC10f French: Rubinstein, Ellis Gambitˆ8ª5¬†‰•6D63 QGD: Orthodox, 7.Rc1 b6ˆ0®Ug54ãTD46e Semi-Slav: Chigorin, 7.e4 dxe4 8.Nxe4ˆ)ˆˆã3w8E60f King's Indian: 3.Nf3 d6ˆ"ªgp‡8JB56b Sicilian: Open, 2...d6, 5.Nc3 e5ˆ!@ÁŽ o8B41g Sicilian: Kan, 5.c4 Qc7ˆ=’Çù<B27j Sicilian: Hungarian, 3.d4ˆR$1ÜØ:A26 English: Botvinnik SystemˆÌÂ=3FC09e French: Tarrasch, Open, 7.dxc5ˆ—`]'2A40s Queen's Pawn: Modernˆìµ1¶¦HD02t Queen's Pawn: 3.g3 c6 4.Bg2 Bg4ˆĽ±¬Ç4A82 Dutch: Staunton Gambitˆù² $x^<D55e QGD: 6.Nf3 b6 7.cxd5 exd5ˆ g„rmËhrC43g Russian Game: Modern Attack, 3...Nxe4 4.Bd3 Nc6 5.d5‡èR€î–#K,D80 Grünfeld: 4.e3 Bg7‡åœGLHD35i QGD: Exchange, 5.Bg5 Nbd7 6.Nf3‡âr+4>…:B42c Sicilian: Kan, 5.Bd3 Qb6‡×pç$ŠÄä.D20k QGA: 3.Nc3 a6 4.a4‡Ðuú~ìÂFE30 Nimzo-Indian: Leningrad, 4...c5‡ÅØãi1LC90e Spanish: Closed, Pilnik Variation‡¿ˆâü÷ºÍTC33 KGA: Bishop's Gambit, Steinitz Defence‡¹­”ÑÂßÔ.D02r Queen's Pawn: 3.g3‡µa©P¬ß¾XA78 Benoni: Classical, Main Line, 10.Nd2 Na6‡²ÝÞ†VqNbB46d Sicilian: Taimanov, 5...a6 6.Nxc6 bxc6 7.Bd3‡°q”eñ5\E91x King's Indian: 6.Be2 Bg4 7.Be3 Nfd7 8.Rc1‡­IãfrFyXE26 Nimzo-Indian: Sämisch, O'Kelly Variation‡¨€=%Z‘XvE61y King's Indian: Smyslov System, 5...O-O 6.e3 Nbd7 7.Be2‡`̺œ¦fE84g King's Indian: Sämisch, Panno Main Line, 9.Nc1‡Ò+áyá NE15t Queen's Indian: 4.g3 Bb7 5.Bg2 Qc8‡}—ÏY `±FA55i Old Indian: 5.e4 Be7 6.Be2 O-O‡{ÆÁ­ØÓLB01m Scandinavian: 2...Qxd5, Main Line‡s56Ùt…DA43u Old Benoni: Schmidt, 3.e4 Nf6‡n.Ú4Ñ×\A66 Benoni: Mikenas Attack, 9.Nb5 dxe5 10.Nd6+‡RîðyFÃ@RD43x Semi-Slav: Moscow, Main Line, 11.Rc1‡Lßêž tE03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 c5 7.Nf3 a6 8.Qc2 b6‡Bóö „¾<bC55x Two Knights: Max Lange, Rubinstein Variation‡>^0z!†•JA86 Dutch: Leningrad, 4.Nf3 Bg7 5.Nc3‡)ÙFò‘1<C11f French: Steinitz, 5.f4 c5‡‚^¯ 6A13n English: Wimpey System‡>²»;:U6C00a French: Bird Variation‡L;èp×8B33g Sicilian: Pelikan, 7.a4‡c7Heq\E19d Queen's Indian: Old Main Line, 9.Qxc3 Be4‡ðÐÇèfB58l Sicilian: Boleslavsky, 7.Nf3 h6 8.O-O Be7 9.h3‡ ™âK'3±^B38e Sicilian: Maroczy Bind, 6.Be3 Nf6 7.Nc3 d6‡¶ówÇbE93 King's Indian: Petrosian, Main Line, 8.Bg5 h6†û›ðÑ‚E97o King's Indian: Mar del Plata, Bayonet Attack, 9...Nh5 10.Re1†ùiüwS›/`E08n Catalan: Closed, 7.Qc2 c6 8.b3 b6 9.Rd1 Ba6†ó*2Ò'°œPD41t QGD: Semi-Tarrasch, 7.Bc4 Main Line†í³Ç^ NAjE37 Nimzo-Indian: Classical, Noa, Main Line, 7.Qc2 c5†ëy2ø>w($D20j QGA: 3.Nc3 e6†Ú˜­ÿ}7VE41 Nimzo-Indian: 4.e3 c5, Hübner Variation†ÙSu—¾iHC41o Philidor: Nimzowitsch Variation†Ó&?°ôdC98d Spanish: Closed, Chigorin, Rauzer, 14.Nf1 Be6†¸êÚ‹6EHE12b Queen's Indian: Miles Variation†¸ÎÑã+YlB32v Sicilian: Lowenthal, Kalashnikov, 6.c4 Be7 7.N1c3†¯…AW–f2`E25 Nimzo-Indian: Sämisch, 5...c5 6.f3 d5 7.cxd5†‘¥1ŒõîUNE28 Nimzo-Indian: Sämisch, 5...O-O 6.e3†‹ôc| &µJB02g Alekhine: Scandinavian, Exchange†ŠšFëcÏå4E17b Queen's Indian: 6.Nc3†y[¨‰ ¼DA15 English: Anglo-Indian, 2.g3 e6†jîé8',~B84 Sicilian: Scheveningen, Classical, 7.O-O Be7 8.f4 Qc7 9.Be3†f].ËÑVD80 Grünfeld: Stockholm, Taimanov, 5...Nxc3†Uÿ$g6 LD95d Grünfeld: 5.e3 O-O 6.Qb3 c6 7.Bd2†U‹9£¶4Ÿ(B10a Caro-Kann: 2.f4†N©±ýa4BB29c Sicilian: Nimzowitsch, 3.Nc3†Iì}¸ýx`E67h King's Indian: Fianchetto, Classical, 8.Qc2†E =k~î!FB51n Sicilian: 3.Bb5+ Nc6 4.O-O Bd7†;`õ…óRC02s French: Advance, Milner-Barry Gambit†8ü(¨}Ö2E10d Neo-Indian: 3.Nf3 a6†1â|C$Ö°4D00u Blackmar-Diemer: 4.f3†+º^Vf•ÐTD19i Slav: Dutch, 8...O-O 9.Qe2 Nbd7 10.e4†#¬Êž!Šõ.D00b Queen's Pawn: 2.c3†Ôonæ‚xA10 English† –"ñ¿FdD46j Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...Qe7†¶_R_þàfA40g Queen's Pawn: English Defence, Hartlaub Gambit†jŒ!ðï‰\B56m Sicilian: Open, 2...d6, 5.Nc3 Nc6 6.f3 e5†=*¢ÄrB81m Sicilian: Scheveningen, Keres, 6...h6 7.h4 Nc6 8.Rg1…ñÖãßÖsä>C17l French: Winawer, 5.a3 cxd4…î‘h’/¤FD52d QGD: Cambridge Springs, 7.cxd5…ì&5®`B70s Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-O 8.Bg5…ãx®SÏBpE99 King's Indian: Mar del Plata, Benko Attack, 11...Kh8…Ô\‹ÔafE28 Nimzo-Indian: Sämisch, 5...O-O 6.e3 c5 7.Bd3 b6…Ì‚üKýý¢xA14 English: Neo-Catalan Declined, 5...O-O 6.b3 c5 7.Bb2 Nc6…Á€Ò‹I5JA06 Reti: Nimzowitsch-Larsen, 2...Bg4…¼LêVkBÅ\A88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.b3…ºÄÑ=´S²fC05u French: Tarrasch, Closed, Nunn-Korchnoi Gambit…²ß]çOBD33i QGD Tarrasch: Swedish, 9.Ne5…°SÊi\04A12 English: Torre Defence…®#qs€¸©8B07y Pirc: Chinese Variation…›·ÍË@ÉdJC65n Spanish: Berlin, Beverwijk, 5.c3…•V\jquXA17 English: Anglo-Indian, 2.Nc3 e6 3.Nf3 d5…”SÙeVeNfE12s Queen's Indian: Petrosian, 6.cxd5 Nxd5 7.e3 g6…‘ÑŠg™Ç,A47 Neo-Queen's Indian…ŠÏ9ïÕ€]JD85t Grünfeld: Modern Exchange, 8.Be3…ˆ)T0¸ÅHC42e Russian Game: Italian Variation…ƒ$ŠzJxbC94b Spanish: Closed, Breyer, Matulovic Variation…‚‘¨ú1­@C44p Ponziani: 3...Nf6 4.d4 Nxe4…€"tî.K“BD00b Queen's Pawn: 2.c3 Nf6 3.Bg5…ÙßóQ ‚:D77e Neo-Grünfeld, 6.O-O dxc4…~u0&×dB51r Sicilian: 3.Bb5+ Nc6 4.O-O Bd7 5.Re1 Nf6 6.c3…|¸Ãß>#0A57c Benko Gambit: 4.Nd2…r ƒM‰õÞ^C63o Spanish: Schliemann, 4.Nc3 fxe4 5.Nxe4 Nf6…qQ¯{[æbrB14g Caro-Kann: Panov-Botvinnik, 5...g6, Main Line, 8.Be2…b#")‘•N>E09a Catalan: Closed, Main Line…aó¼%ðéNC69k Spanish: Exchange, Gligoric, 8.Nb3…]sršAx>C89g Spanish: Marshall, 12.Bxd5…Q#éÄ.8ElA32 English: Symmetrical, Two Knights, 5.Nc3 Bb4 6.Qb3…H÷Œˆ1¶N&D50 QGD: 4.Bg5 dxc4…H_…PŽDC64m Spanish: Classical, 4.O-O Qf6…HIšt(Y|fB80j Sicilian: Scheveningen, English Attack, 7...b5…Fˆ…ôŸânD46p Semi-Slav: Chigorin, 7.O-O O-O 8.e4 dxc4 9.Bxc4 e5…> û±§=JA43q Old Benoni: Neo-Benko, 4.Bg5 Ne4…=º½˜ŠBA13m English: Agincourt Variation…8š,}® «lA78 Benoni: Classical, Main Line, 10.Nd2 Na6 11.f4 Nc7…5¥CÄ$²BB50k Sicilian: 2.Nf3 d6 3.Nc3 Nf6…×*j¦ RD09 QGD: Albin, 5.g3 Be6 6.Nbd2 Qd7 7.Bg2…zÝ€ÖFB40t Sicilian: Pin, Jaffe Variation…ׂ<ÆbE97f King's Indian: Mar del Plata, Bayonet Attack…Üñ»îZE50 Nimzo-Indian: 4.e3 O-O 5.Nf3 c5 6.Bd3 Nc6…­ÆUÎ):D30x QGD: 3.Nf3 Nf6 4.Bg5 Be7…QCµt8˜6A24 English: Bremen, 3...g6„þèÇ0æ¦fD62 QGD: Orthodox, Rubinstein, 7.Qc2 c5 8.cxd5 exd5„ûŸ‚¨à˜#VC42f Russian Game: Boden-Kieseritsky Gambit„à—þã…:(C40e Elephant Gambit„Ù‹Iþ‰Šô”B13z Caro-Kann: Panov-Botvinnik, 5...Nc6, Normal Variation, 8.c5 O-O 9.Bb5„ÔfÊÒ€ÊØXB08d Pirc: Classical, Spassky System, 6...a6„¶Èø–km8\A91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3 d5„²z}ðëTnA59q Benko Gambit: 7.e4, Main Line, 11...Nbd7 12.h3 Qa5„®«|ó÷]¨’A65y Benoni: Sämisch, 8.Bg5 h6 9.Be3 O-O 10.Qd2 a6 11.a4 Re8 12.Nge2 Nbd7„­8_ñ`D41h QGD: Semi-Tarrasch, 6.g3, Main Line, 9.Nxd5„£ì(i½ÝPD34l QGD Tarrasch: 9.dxc5 Bxc5 10.Bg5 d4„¡š®’…`@B28a Sicilian: O'Kelly Variation„‘˜¿d}öHE33 Nimzo-Indian: Classical, 4...Nc6„ŠLŽJŸ7CFB58b Sicilian: Boleslavsky, 6...Bd7„†Õà,yrïhB00q Nimzowitsch Defence: 2.Nf3 d6 3.d4 Nf6 4.Nc3 g6„s¯½…®¡rB84 Sicilian: Scheveningen, Classical, 7.O-O Qc7 8.f4 Nc6„q•rbµ%XB38d Sicilian: Maroczy Bind, 6.Be3 Nf6 7.Nc3„f7o‚ÉøVB45f Sicilian: Taimanov, Four Knights, 6.a3„d¡œŽ™^C56o Two Knights: Classical, Moller, 10.Bd2 Bb4„_¶Mdß÷>D85e Grünfeld: Exchange, 7.Bb5+„VóQÕîg°<A00r Polish: Tartakower Gambit„U1®›ð‰´dC40u Latvian Gambit: 3.Nxe5 Qf6 4.d4 d6 5.Nc4 fxe4„PtZ´ \PB33d Sicilian: Pelikan/Sveshnikov, 6.Nf3„Ja¨ôXº÷>A56j Benoni: Bronstein's Gambit„En ì›&DA13u English: Neo-Catalan Accepted„?•+añ}HZD14m Slav: Exchange, 8.Bd3 Main Line, 12.Rfc1„>¬H§ú{}FD13f Slav: Exchange, 5.Nc3 a6 6.Ne5„7ýh×"×9FD07q QGD: Chigorin, 3.Nc3 Nf6 4.Nf3„6gç`P©ZC56i Two Knights: Classical, Yurdansky Attack„1r»78ÉNC36 KGA: Scandinavian, Modern Variation„! ÷ÆJA48g Neo-King's Indian: London System„ Ãsû€„`B12u Caro-Kann: Advance, 4.Nf3 e6 5.Be2 c5 6.Be3„¢ÆÓœ@ VB94h Sicilian: Najdorf, 6.Bg5 Nbd7 7.Bc4 e6„4÷Mâ;®XC13f French: Classical, Tartakower Variation„ þÌÿ($PC21 Centre Game: Maroczy Defence, 3.dxe5„ m?üÍ,A02 Bird: Swiss Gambitƒú¤ªê›îqDE94k King's Indian: Glek, 8.Re1 c6ƒørÉÝ(LQJA55o Old Indian: Main Line, 8.Qc2 Re8ƒ÷".ÔíBjC43r Russian Game: Modern Attack, 3...Nxe4, Main Lineƒñp¡×;v@B05m Alekhine: Modern, Main Lineƒð{Æuÿ(`D37o QGD: Classical, 5...O-O 6.e3 c5 7.dxc5 Bxc5ƒí JmE[HB29d Sicilian: Nimzowitsch, 3.Nc3 d5ƒß¼ÿ²¢ÃÒZB15g Caro-Kann: Gurgenidze: 4.e5 Bg7 5.f4 Nh6ƒÞ}'èELV2A10 English: 1...b6 2.Nc3ƒÁ $ì6'2A51d Budapest: FajarowiczƒÀø‰îãÄmvC84h Spanish: Closed, Centre Attack, Basque Gambit Acceptedƒ¼NXâÆ×”pB13v Caro-Kann: Panov-Botvinnik, 5...Nc6, Herzog Defenceƒ¹4'íõËjA69k Benoni: Four Pawns, Main Line, 10.e5: 12.Bg5 Qb6ƒ±i¿j_/DB27e Sicilian: Hungarian Variationƒ°} ' bD52h QGD: Cambridge Springs, Rubinstein VariationƒªbâN46C40r Latvian Gambit: 3.Nxe5ƒ¦/ˆ[Óâh@C88d Spanish: Closed 7...d6 8.c3ƒ¡¼{¸L—4C60r Spanish: Cozio, 4.O-OƒžGÏ‹ú˜®dE12t Queen's Indian: Petrosian, Kasparov, 7...Nxc3ƒ”…rº]ôBB83 Sicilian: Scheveningen, 6.Be2ƒ†‚€–7Ö8B07r Pirc: Sveshnikov (4.g3)ƒƒu¿»p‹¼bB84 Sicilian: Scheveningen, Classical, 7.O-O Nbd7ƒ~ð Æ°Ù‡ZD28l QGA: Classical, 7.Qe2 b5 8.Bb3 Nc6 9.Nc3ƒxš%ÂïºyFA22 English: King's, 2.Nc3 Nf6 3.e4ƒséñÍpi\B68 Sicilian: Richter-Rauzer, 7...a6, 9.f4 Be7ƒfUŒD™nŸ$D04e Colle: 3...g6ƒ]¼Vjw9¼xD86 Grünfeld: Classical Exchange, Simagin Improved, 9.O-O e5ƒXv-ÿLA07 Reti: KIAƒN§Äí„x\D33a QGD Tarrasch: 6.g3 (Schlecter/Rubinstein)ƒKiŸ\˜b^A87 Dutch: Leningrad, Main Line, 7.Nc3 Qe8 8.b3ƒKÉEŠüuVE91m King's Indian: Kazakh Variation, 7.O-OƒH’›D‰’/JB24 Sicilian: Closed, 3.g3 g6, 5.Nge2ƒHx3Šl ì8D12i Slav: 4.e3 Bf5 5.Nc3 e6ƒA5Ûu†²8XE80n King's Indian: Sämisch, 5...c6 6.Be3 a6ƒ6Q°UÞ`š>C51 Evans Gambit: Morphy Attackƒ2¡ ÎÙÊ\C12i French: MacCutcheon, Tartakower Variationƒ)<û\o¾º:E17b Queen's Indian: 6.Nc3 d5ƒ'GöâÛáHD97o Grünfeld: Russian, Prins, 8.Be2ƒ!‡wÙ9œzE11s Bogo-Indian: Nimzowitsch, 5.g3 Nc6 6.Nc3 Bxc3 7.Bxc3 Ne4ƒ!(™av/>A08 Reti: KIA, French Variationƒ b ŽÔNRE52 Nimzo-Indian: Main Line, 6...b6 7.O-Oƒ3ôb -dpE65e King's Indian: Fianchetto, Yugoslav, 7.O-O Nc6 8.h3ƒ æñ•-žBA57v Benko Gambit: Zaitsev, 8.Bf4ƒQ±›E:A57d Benko Gambit: 4.Nf3 bxc4ƒøš×ð©^D85u Grünfeld: Modern Exchange, 8.Be3 Qa5 9.Qd2‚þh’ÛNà"A50a Indian: 2.c4‚òÈS=ùDC47l Four Knights: Belgrade Gambit‚ßoò^ƒºTB76c Sicilian: Dragon, Yugoslav, 8.Qd2 Nc6‚ÝKí”UT<C00p French: KIA 2.d3 d5 3.Nd2‚ÕØ@±o~|B47y Sicilian: Taimanov, 6.Be2 a6 7.O-O Nf6 8.Kh1 Nxd4, 10.Qd3‚ÊÖÎÀüÄš<A43v Old Benoni: Schmidt, 6.h3‚Ê™WÍ/Ž8D43p Semi-Slav: Moscow, 7.g3‚Çö¬õ°{TE15c Queen's Indian: 4.g3 Bb4+ 5.Bd2 Bxd2+‚½ ™P XRC03j French: Tarrasch, 3...Be7 4.Ngf3 Nf6‚»¶F;5\B31p Sicilian: Rossolimo, Gurgenidze Variation‚°1¾# ïPC78j Spanish: 5.O-O b5 6.Bb3 Bc5 7.c3 d6‚¨’ùbÿpp|B35i Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3‚¦þÚý%›œHE07 Catalan: Closed, 6...Nbd7 7.Nbd2‚¦«|¦‚ß-lE25 Nimzo-Indian: Sämisch, Keres, Romanovsky Variation‚–ÎbeØhE76n King's Indian: Four Pawns Attack, 6.Nf3 c5 7.d5‚‘T—d¢¯íRC42n Russian Game: Milner-Barry Variation‚‘70íO8CZE94r King's Indian: 7.O-O Nbd7 8.d5 Nc5 9.Qc2‚œ*Ý,˜”B35r Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3 d6 9.f3 Bd7‚Œõ¡çS®BA43t Old Benoni: Schmidt, 3.e4 g6‚†eM§”fD85m Grünfeld: Modern Exchange, 8.Rb1 O-O 9.Be2 Qa5‚½x-@B^E74b King's Indian: Averbakh, 6...c5 7.dxc5 Qa5‚y¿æ‡’9RB82 Sicilian: Scheveningen, 6.f4 a6 7.Be3‚wý¸­AŸntE93 King's Indian: Petrosian, Main Line, 8.Bg5 h6 9.Bh4 g5‚wŸ{b“(FC25k Vienna: 2...Nc6 3.Bc4 Bc5 4.d3‚nb·"šó\A91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3 d6‚i<¨\µÏjE84l King's Indian: Sämisch, Panno Main Line, 9.h4 b5‚hWÂC}ÐdD86 Grünfeld: Classical Exchange, Simagin Improved‚WÝKj}¼ì6A42c Modern: c4 Pterodactyl‚W¼X“馕\E91i King's Indian: 6.Be2 c5 7.d5 e6 8.O-O Re8‚Uc¶ñ'=:A43h Old Benoni: 2.d5 e6 3.c4‚UÏ!OVC15g French: Winawer, 4.Bd3 dxe4 5.Bxe4 Nf6‚P«ù ‡TE41 Nimzo-Indian: Hübner, 8.e4 e5 9.d5 Ne7‚K(àÉWöRB25t Sicilian: Closed, 6.f4 e6: 9.Be3 Nd4‚Cª®Ð…|Þ@A63 Benoni: Fianchetto, 9...Nbd7‚8=±‰ªrñ*C41a Philidor Defence‚8‹JàdbBC68l Spanish: Exchange, 5.O-O Bd6‚#U=æ’B36j Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2 Nxd4 8.Qxd4 Bg7 9.O-O‚"~>@‹[°PB71 Sicilian: Dragon, Levenfish, 6...Bg7‚ObÕö3Ž:D96 Grünfeld: Russian, 6...a6‚†rKiá8C80h Spanish: Open, 6.d4 Be7‚k›b±8#pE51 Nimzo-Indian: 4.e3 O-O 5.Nf3 d5 6.Bd3 Nc6 7.O-O dxc4‚4+Æì:D34r QGD Tarrasch: 9.Bg5 cxd4‚{c1ZhB46e Sicilian: Taimanov, 5...a6 6.Nxc6 bxc6 7.Bd3 d5‚ ©›ëä6­^E42 Nimzo-Indian: 4.e3 c5 5.Ne2 cxd4 6.exd4 O-O‚‡K]g&ÖZD07w QGD: Chigorin, 3.Nc3 dxc4 4.Nf3 Nf6 5.e4‚•Ñ—‚Â@A17 English: Nimzo-English, 4.g3‚´\ j2B41d Sicilian: Kan, 5.Be2þ|RìØFD21k QGA: 3.Nf3 c5 4.e3 cxd4 5.Bxc4þoyq3P±VC47j Four Knights: Scotch, Bogoljubow, 5.d5ë=MSÜ´,JC32 KGD: Falkbeer, 4.d3 Nf6 5.Nc3 Bb4梃2‘yXE07 Catalan: Closed, 6...Nbd7 7.Nc3 c6 8.Qb3ßÑIWºÆŠB66p Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Be3 Be7 10.f4 Nxd4ع9_‡ínRE12k Queen's Indian: Petrosian, 5.Nc3 Ne4ÔÅœÛNJC28h Vienna: 3.Bc4 Nc6 4.d3 Bc5 5.Bg5Óž [ºöä‚B35o Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3 d6Ë=÷‡f&{JC78j Spanish: 5.O-O b5 6.Bb3 Bc5 7.c3Ê/Q3ÇQ¯VB33e Sicilian: Pelikan, Haberditz Variation¾¯«±! zB58p Sicilian: Boleslavsky, 7.Nf3, 9.Re1 O-O 10.h3 Be6 11.Bf1¾‹l”ÛO5dD41f QGD: Semi-Tarrasch, 6.g3, Main Line, 9.e4 Nb6ºLS4Š›p\B63d Sicilian: Richter-Rauzer, 7.Qd2 Qb6 8.Nb3¬º%5 'NE62l King's Indian: Fianchetto, 6...Nc6«M†“^BC32 KGD: Falkbeer, Reti Variation¥a¨eñìlB83 Sicilian: Scheveningen, Modern, 9.f4 Bd7 10.Nb3 a6 ~Ð’RcZD61 QGD: Orthodox, Rubinstein, 7.Qc2 h6 8.Bh4ŸiÍ %Ë_DC52 Evans Gambit: Lasker's DefenceœQ©Œ…¼¡vB78t Sicilian: Dragon, Yugoslav, Old Main Line, 11.Bb3 Rfc8—R©º…—@fE82e King's Indian: Sämisch, Fianchetto, 7.Bd3 Nfd7ŠšÂû?L:C26d Vienna: Smyslov, 3...Nc6w~8,A47 Neo-Queen's Indianu‘k•Xi„XC41o Philidor: Nimzowitsch, Locock Variationt£DÅ{×ühE23 Nimzo-Indian: Spielmann, 4...c5 5.dxc5 Nc6 6.Bg5r¢²©/÷ˆD62 QGD: Orthodox, Rubinstein, 7.Qc2 c5 8.cxd5, Main Line, 11.Bd3 g6oÞY|éiÀ>C44r Scotch: Cochrane Variationlæ<p‡æPB44q Sicilian, Taimanov, Szen, 7.N1c3 a6lÒn²Q¶2"D20e QGA: 3.e3 e5l˜ÜM‚':D95a Grünfeld: 5.e3 O-O 6.Qb3jiFI¬/jE81h King's Indian: Sämisch, 5...O-O 6.Bg5 c5 7.d5 a6_ƒ¿;Ýß-RC04c French: Tarrasch, Guimard, Main LineU°I®ˆÌFA52h Budapest: Rubinstein VariationP,…‚rR_<D85b Grünfeld: Exchange, 5.Bd2KxØ5­F'NC77g Spanish: Anderssen, 5...d6 6.c3 g6FÇî™g‘ËzE66f King's Indian: Fianchetto, Yugoslav Panno, 9...a6 10.Rb1C1C°ïôeC40a Open Game9¨­¬·)HZE21 Nimzo-Indian: Nimzo-Queen's Hybrid, 5.Qb38 ³Çæú XE81l King's Indian: Sämisch, Byrne Variation3xÁØVB98d Sicilian: Najdorf, Danner, 9.O-O-O Bd7!GÃý™QRE12j Queen's Indian: Petrosian, 5.Nc3 Be7 Õ uTE16o Queen's Indian: Capablanca, 6...Bxd2+vùÀÞ:A43i Old Benoni: 2.d5 e6 3.c4»9ç²22D08 QGD: Albin, 4.Nf3 Nc6„¦ÃU„§HE91h King's Indian: 6.Be2 c5 7.d5 e6nE!ggVA91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3–ç Ì;$D80 Grünfeld: 4.g3€ú~«K|INB93d Sicilian: Najdorf, 6.f4 Nbd7 7.Be2€÷v]oTC86e Spanish: Worrall Attack, 7...O-O 8.a4€å«qï9–DA05 Reti: KIA€Åžæ[ÁŸ’JA87 Dutch: Leningrad, Main Line, 7.b3€Àæ¾ÆšwRA30p English: Symmetrical, Hedgehog, 7.b3€³[Ûš_lC89r Spanish: Marshall, Main Line, Pawn Push Variation€§¼ó“=|'&D10h Slav: 3.e3 Nf6€¦÷/ž³Á·JC77q Spanish: Wormald Attack, 5...Be7€¤NŠÈØYê<E18d Queen's Indian: 7.Nc3 Na6€™Q`>c{nE62t King's Indian: Fianchetto, Uhlmann/Szabo Variation€™),q]z§ZB27t Sicilian: Accelerated Pterodactyl, 4.Nc3€˜°ý㈠vC48m Four Knights: Rubinstein, Exchange Variation, 8...Qe5+€ŒK^-NA43j Old Benoni: Clarendon Court, 3.Nc3€ŠÃÀ¤*ƒjB79a Sicilian: Dragon, Yugoslav, Old Main Line, 12.h4€„ú‡‚¡¦gdE93 King's Indian: Petrosian, Main Line, 8.Be3 Ng4€V£¾ þ!^D68 QGD: Orthodox, Classical, Vidmar, 13...exd4€}½™õ’>8A06 Reti: Santasiere's folly€zS+ÿ hVB01y Scandinavian: Marshall, 4.c4 Nb6 5.Nc3€y.fÎÛ¦jA39n English: Symmetrical, Main Line 7.d4, 10.Qd3 Bf5€v­¡Ëÿ~DD43f Semi-Slav: Botvinnik, 5...Be7€s($ZÓX"LC45w Scotch: Paulsen, Gunsberg Defence€p‹fºZE94n King's Indian: Glek, 8.Be3 Ng4 9.Ng5 Qe8€]µïºòA D20a QGA: 3.Qa4+€]&õxðÇHA30e English: Symmetrical, b6 System€\^‰Ð)!HD26g QGA: Classical, Early Queenswap€Tá5›Ü·WhB59j Sicilian: Boleslavsky, 7.Nb3 Be7 8.O-O O-O 9.f4€E)²|¿Q^^E61h King's Indian: Fianchetto, Flohr Variation€6ðá©f*RA17 English: Anglo-Indian, 2.Nc3 e6 3.Nf3€5_·ßª¿Ý@B90k Sicilian: Najdorf, 6.Be3 e5€*Ù옾x\B78r Sicilian: Dragon, Yugoslav, Old Main Line€#63cLLD47r Semi-Slav: Meran, Wade, Main Line€ .£R3t>C42n Russian Game: Cozio/Lasker€ F™¿¹X6C26l Vienna: Horwitz Gambit€ ÓþûÔÕLD78f Neo-Grünfeld, 6.O-O c6 7.Nc3 dxc4€Ëÿ²`†XlC43n Russian Game: Modern Attack, Trifunovic VariationþX {”(qVB29e Sicilian: Nimzowitsch, 3.Nc3 d5 4.exd5ü>hU#L.A00g Amar/Paris Openingèنôª:D24m QGA: Bogoljubow, 7.a4 e6ÞôûyI¾ˆD99g Grünfeld: Russian, Smyslov, Main Line, 9...Nb6 10.Rd1 Nc6 11.d5 Ne5Û^K)†öZA29 English: Four Knights, Main Line 6.O-O e4ÌÆi<.¶fD10l Slav: Winawer Countergambit, 4.cxd5 cxd5 5.Nf3³^»{øçg2A53 Old Indian: Ukrainian²y°„:|TC52 Evans Gambit: Sanders-Alapin Variation«Z±ˆÑº8D80 Grünfeld: 4.e3 Bg7 5.Qb3«dÁqÙ½ A04 Reti: 1...c5¤Â dC75 Spanish: Modern Steinitz, Rubinstein VariationŠ.ÃÖ¿5JD23q QGA: Mannheim, Main Line, 10.Bg5‚r™fÏLã(A45e Indian: 2.c3 g6rãi’oÄ[zB11j Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 e6 6.d3a|òHúq@D08 QGD: Albin, Alapin Variation]ùq 7O2A09r Reti: Accepted, 3.e3[}OР fD46r Semi-Slav: Chigorin, Main Line, 10...h6 11.Bc2Q\åûñ³œ6A24 English: Bremen, 3...g6M¦î?#]0D30m QGD: 3.Nf3 c6 4.Qc2L)¸”çB^A86 Dutch: Leningrad, 4.Bg2 Bg7 5.Nc3 O-O 6.Nh3G‰$™¶·hC48i Four Knights: Rubinstein, Henneberger VariationCÓ†WY³HC40u Latvian Gambit: 3.Nxe5 Qf6 4.d4:Çñ×¹ ¾šB37o Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6 8.Be2 O-O 9.O-O Nd7 10.Bd2 a532ª£Kt^D72 Neo-Grünfeld, 5.cxd5 Nxd5 6.e4 Nb6 7.Ne2 e5.ïv­Iu^E69a King's Indian: Fianchetto, Classical, 9.h3,ÝigÙ^‘4C24 Bishop's Opening: 3.d3)üViÿnE62j King's Indian: Fianchetto, Kavalek/Bronstein, 8.e4S2ë0ÓÐjE86b King's Indian: Sämisch, Orthodox, 7.Nge2 c6 8.d5’s„V‘ò>B02f Alekhine: Spielmann Gambit ¼È®÷üö:E90b King's Indian: 5.Nf3 Bg4ñ#ŽB58s Sicilian: Boleslavsky, 7.Nf3, 9.Re1 O-O 10.h3 Be6 11.Bf1 Nb8 12.a4~Ò…ÖçÏœÍXD00l Blackmar-Diemer Gambit (BDG): 2.e4 dxe4~ÑZn[E¹slA77 Benoni: Classical, Main Line, 10.Nd2 Nbd7 11.a4 a6~Ï÷É ·%HC41t Philidor: Improved Hanham 6.O-O~Íï‘È¢ˆpA47 Neo-Queen's Indian: Marienbad System, Berg Variation~Å—ŸQˆ&€:D15q Slav: Accepted, Alekhine~Àt?=¬ãCvD32u QGD Tarrasch: 5.Nf3 Nc6 6.e3 Nf6 7.Be2 Be7 8.dxc5 Bxc5~½…§±çúŸND38i QGD: Ragozin, Westphalia Variation~»(}°ÎÜ`.D21f QGA: 3.Nf3 e6 4.e4~µåŇ5 HA96 Dutch: Classical, 7.Nc3 a5 8.Qc2~³ÕeÑ>C27g Vienna: Alekhine Variation~³’ÜÝAæòRA37g English: Symmetrical, 5.Nf3 d6 6.O-O~«;²PpB21x Sicilian: Smith-Morra, 4.Nxc3 Nc6 5.Nf3 e6 6.Bc4 a6~¡Ö„ÿ±VwPA71 Benoni: Classical, 8.Bg5 h6 9.Bh4 g5~œ7ÿJuñLB02u Alekhine: Two Pawns Attack, 5.Bc4~›]rGgDE91j King's Indian: 6.Be2 c5 7.O-O~•ßá«ß¡lZC11w French: Burn, 6.Bxf6 gxf6 7.Nf3 b6 8.Bc4~“Ó¬ÓuATD06d QGD: Austrian, Rubinstein, 4.Nf3 cxd4~…z^;ÍÔÝdC84h Spanish: Closed, Centre Attack, 7.e5 Ne4 8.b4~ƒTbbãw8C77p Spanish: Wormald Attack~~k Óí¥D6C21 Danish Gambit: Accepted~wÈ)˜ŽPA16 English: Anglo-Indian, 2.Nc3 g6 3.g3~YK=F…`¶tE93 King's Indian: Petrosian, Main Line, 8.Bg5 h6 9.Bh4 a5~WÔJMx:ötC55r Two Knights: Modern, Main Line, 8.Bxc6 bxc6 9.O-O Bc5~SìG.1¾LD43f Semi-Slav: Botvinnik (Anti-Meran)~Hù74]»PD59c QGD: Tartakower, 8.cxd5 Nxd5 9.Bxe7~DcÃz cn,C20 Open Game: 2.d3 d5~?udAü~6D00f Hodgson Attack: 2...f6~5šÄü9©nD76i Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.d5~1» ½2„E13j Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 Bxc3+ 8.bxc3 d6 9.Nd2~'::i6B25e Sicilian: Closed, 6.f4~&7=@Jd,A05 Reti: 1...Nf6 2.e3~kgî-žRD00h Hodgson Attack: 2...h6 3.Bh4 c6 4.e3~´@ñ…^B15m Caro-Kann: Gurgenidze: 4.Nf3 Bg7 5.h3 dxe4~ D&ó¬ZE45 Nimzo-Indian: Nimzowitsch, 5.Ne2 Ba6 6.a3~ I6“-]6D26c QGA: 4.e3 e6 5.Bxc4 a6~g)Å"S^PD36c QGD: Exchange, 6.Qc2 Be7 7.Nf3 Nbd7}ÿ굦=*fD50 QGD: Dutch-Peruvian, Prins, 6.Qxd4 Be7 7.e4 Nc6}ýÖ7@¼¶j@C39 KGA: Allgaier, Walker Attack}ý„DÉ®ocrE11s Bogo-Indian: Nimzowitsch, 5.g3 Nc6 6.Nc3 Bxc3 7.Bxc3}ð€R7!ðØ*D31p Semi-Slav: 4.Nf3}á~Z?NoÂJE90n King's Indian: 5.Nf3 O-O 6.h3 e5}ÏD­ˆÓPD45r Semi-Slav: 6.Qc2 Bd6 7.b3 O-O 8.Be2}ÌÀŽ$§RA35b English: Symmetrical, 2.Nc3 Nc6 3.e3}ŘÌà&DB58c Sicilian: Boleslavsky, 6...a6}ÃÞ±ª®wFB05j Alekhine: Modern, Flohr, 6.O-O}» aùÌ÷d@A51f Budapest: Fajarowicz, 4.Nd2}¹—LâÏ’>jB61e Sicilian: Richter-Rauzer, Larsen, 7.Qd2 Rc8 8.f4}³ $Ͼ7DE07 Catalan: Closed, 6...Nbd7 7.b3}±«Èþk4BB83 Sicilian: Scheveningen, 6.Be2}°ŒÝÀ§&õBA58g Benko Gambit: Accepted, 7.f4}¬–$d°ŽLA21 English: King's, 2.Nc3 d6 3.Nf3 g6}£…Nù­†Õ†D46m Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...b5 10.Be2 Bb7 11.Rd1}ž®·™Ö:FA54 Old Indian: 5.g3 Be7, Main Line}±…‰ô?€FC63e Spanish: Schliemann, 4.d3 fxe4}Ô¼^#`0B32i Sicilian: Lowenthal}ÅÈs©|@bB64c Sicilian: Richter-Rauzer, 7.Qd2 Be7, 9.f4 h6}« åô‘BA00l Van Geet: Sicilian Variation}‹K1ÿUÄJC22 Centre Game: Kupreichik Variation}†ÊÕºô­DC51 Evans Gambit Declined: 4...Be7}ƒ±á$¼2C34 KGA: Schallop Defence}D‹ Æ‚„TB81b Sicilian: Scheveningen, Keres, 6...e5}C¦~Ävœ:D15c Slav: Süchting Variation}r£tr£²dB99n Sicilian: Najdorf, Main Line, 10.g4 b5 11.Bd3}r;§ZðX'pE68k King's Indian: Fianchetto, Classical, 8.e4 c6 9.Rb1}dÑöá=}rfE97d King's Indian: Mar del Plata, Odessa Variation}c5iŸVDA41e Neo-Old Indian / Modern: 3.g3}_ˆºdñ0E60e King's Indian: 3.g3}]‚£J.bC49p Four Knights: Symmetrical, Metger, 10.d4 Ne6}[SDJaûGbD28n QGA: Classical, 7.Qe2 b5 8.Bb3 Nc6 9.Nc3 Be7}J¡ë'ÈxC85o Spanish: Closed, Exchange, 7.d3 Nd7 8.Nbd2 O-O 9.Nc4 f6}C‡ù¸KŠLB52f Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Qxd7}BÖ;Ü7†RB74 Sicilian: Dragon, Classical, 9.Nb3 b6};Ã8åãHN$B07f Pirc: 3.f3 e5}:´PÞ$kpB35f Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O}9A,ÝÕù)&D21b QGA: 3.Nf3 Nd7}'åéQFS8D16h Slav: Smyslov, 6.e3 Bg4}ó<0¤xŽB99c Sicilian: Najdorf, Main Line, Keres 10...b5 11.Bxf6 Nxf6 12.e5 Bb7}üGØ*A51d Budapest: 3.dxe5}´SÛYudC69h Spanish: Exchange, Gligoric, 6.d4 exd4 7.Qxd4}+Ø¢i ´`A32 English: Symmetrical, Two Knights, 5.Nc3 Bb4}3~uÆâ`E18s Queen's Indian: 7.Nc3 Ne4 8.Nxe4 Bxe4 9.Nh4|ýukL0$ FA37q English: Symmetrical, 5.Nf3 e5|úªÍÓ¢ŽPC81 Spanish: Open, Keres, Adam Variation|îž0â;DD30o QGD: 3.Nf3 c6 4.Qc2 Nf6 5.Bg5|åVRÛ%­PA11 English: Caro-Kann Defence, 3.g3 Bg4|à@;žÁBPA43j Old Benoni: Clarendon Court Defence|ßáÛ²Íä†C43u Russian Game: Modern Attack, 3...Nxe4, Main Line, 7...Bd6 8.c4|Ü¥¤HD81 Grünfeld: Early Russian, 5...Bg7|ÜUŸèß}ß:E07 Catalan: Closed, 6...Nbd7|×kNßì­9VC47n Four Knights: Belgrade Gambit, 5...Be7|ͦ+F©Þ TB33x Sicilian: Pelikan, Sveshnikov, 11.Bd3|ÈaQ”) >C57j Two Knights: Fritz, 8.Nxf7|ÆÜ®9zM9<C63c Spanish: Schliemann, 4.d4|¹Wiª|åLA18 English: Mikenas, French Variation|²{zOg[=DA41p Neo-Old Indian: 2.c4 e5 3.Nf3|¦9.é¬O2D02q Queen's Pawn: London|‘oŸÛ*@qrB22u Sicilian: Alapin, 2...Nf6, 5.cxd4 d6 6.Nf3 Nc6 7.Bc4|<ªú@¸•LA00s Polish: 2...Bxb4 3.Bxe5 Nf6 4.Nf3|ŒsæfŸ¦!(A56g Benoni: 3.d5 a6|}EZš'ßRA39c English: Symmetrical, Main Line 7.d4|w«M¨NFS D10a Slav: 3.Bf4|pL]P)ÉVLD97h Grünfeld: Russian, Alekhine, 8.e5|pKK£R6ÿRA40i Englund Gambit: 2.dxe5 Nc6 3.Nf3 Qe7|p<³Ì´RgpC46l Three Knights: Steinitz, 4.d4 exd4 5.Nxd4 Bg7 6.Be3|Uÿ²Em•~2A40x Queen's Pawn: Modern|Tá*ˆF•FB01v Scandinavian: Portuguese, 4.f3|Q D65òdE76c King's Indian: Four Pawns Attack, 5...c5 6.d5|Ju…¢‚E97i King's Indian: Mar del Plata, Bayonet Attack, 9...a5 10.bxa5|=ÿ±™En,zC06t French: Tarrasch, Closed, 8...f6 9.exf6, 11...O-O 12.Bf4|7bÌÁ¹D$:C77e Spanish: Duras Variation|*Â/èÕ@‘FC47i Four Knights: Scotch Variation|$ä™Ï<Â2ZA59e Benko Gambit: 7.e4 Line, 9.Nf3 Bg7 10.h3|ò*˃<ÛLC05p French: Tarrasch, Closed, 6...Nc6|Oºü`Z>A19 English: Mikenas, 5.Nf3 Nc6|ïé¹üÇLE58 Nimzo-Indian: Main Line, 9.bxc3 b6| 6é'æ¿-\B13v Caro-Kann: Panov-Botvinnik, 5...Nc6 6.Bg5|䪥òòµ|E52 Nimzo-Indian: Main Line, 6...b6 7.O-O Bb7 8.cxd5 exd5 9.a3| 9]Ÿ›¹dB15t Caro-Kann: Tartakower (Nimzowitsch) Variation|0–Ɉ=HC92p Spanish: Closed, Zaitsev, 12.a3{ø³àባ<C65j Spanish: Berlin, 4.d3 Bc5{ïUÞª¼“ådC41l Philidor: 3...exd4 4.Nxd4 Nf6 5.Nc3 Be7 6.Bc4{íi~NwbB31e Sicilian: Rossolimo, 3...g6 4.Bxc6 dxc6 5.d3{çÅ~Í1&C20 Open Game: 2.d3{㦑d`ZB02h Alekhine: Scandinavian, Exchange, 4.Nxd5{âÁ>ëñÂBA43o Old Benoni: Neo-Benko, 4.Bg5{á`ëÁÏñ&A25 English: Closed{ÜmìZS.—`B54j Sicilian: Prins (Moscow), 5...Nc6 6.c4 Nxd4{ÖʱۢŽÄFE41 Nimzo-Indian: 4.e3 c5 5.Bd3 Nc6{Ĩu‘E¼JC50v Giuoco Pianissimo: Canal, 6...h6{¼E“\"û×D25a QGA: 4.e3{«WÚêeAš4B15p Caro-Kann: 3.Nc3 dxe4{ªy¸ ¶Ð—BC53 Giuoco Piano: Close Variation{¦pÖñjopB22h Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nc6 5.Nf3{¥…< ”àßBB53k Sicilian, Chekhover, 4...Nf6{¢ h£b_P:E73f King's Indian: 5.Be2 O-O{œâR0n(A56h Benoni: 3.d5 g6{šYFξrLD74 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O c5{™9‰Â¬rdA80p Dutch: 2.Nc3 Nf6 3.Bg5 d5 4.Bxf6 exf6 5.e3 c6{€œþÏ(8A61 Benoni: Uhlmann, 7...Bg7{&½ó°ÕpB52m Sicilian: 3.Bb5+, Sokolsky, 5...Nc6 6.Nc3 Nf6 7.O-O{†j>­j¹|fC13l French: Chatard-Alekhine, 6...Bxg5 7.hxg5 Qxg5{{ŠÔ1·…NRA43x Old Benoni: Schmidt, 6.Be2 O-O 7.O-O{z (’‘šî^E73o King's Indian: Averbakh, 6...Nbd7 7.Qd2 e5{u„í¶Öò&2D45f Semi-Slav: 5.e3 Nbd7{rÌúÞ¿2zA36y English: Symmetrical, Botvinnik System, 5...d6, 8.d3 Ne8{o§lÀÍ\ÍHE05g Catalan: Open, Classical, 7.Ne5{nr¨{ž5NC95a Spanish: Closed, Breyer, 10.d4 Bb7{jp±©(ïNA58m Benko Gambit: Fianchetto, 9...Nbd7{f–ž#ÚZD.D06m QGD: 2...Bf5 3.Nc3{cà*1ýRC88e Spanish: Closed, Leonhardt Variation{bðD²·~PC30m KGD: Classical, Svenonius Variation{bz!ªl@¹ŽB90j Sicilian: Najdorf, 6.Be3 Ng4 7.Bg5 h6 8.Bh4 g5 9.Bg3 Bg7 10.Be2 h5{aü‰ßŸLB31g Sicilian: Rossolimo, 3...g6 4.O-O{_m’·4ZC28j Vienna: 3.Bc4 Nc6 4.d3 Bc5 5.f4 d6 6.Nf3{R9¼yëÔHA48o Neo-King's Indian: Torre Attack{PA"ì2NA17 English: Anglo-Queen's Indian, 4.g3{Lñm¶(V<A68a Benoni: Four Pawns, 8.Nf3{JŸK‹¾ƒÉRB53s Sicilian, Chekhover, 7.Nc3 Nf6 8.Bg5{I,ÏÛãEpBC39 KGA: Allgaier, Cook Variation{=Ž8Oð÷AbE62r King's Indian: Fianchetto, Simagin Variation{=o?¾¿~D39g QGD: Ragozin, Vienna, 6.e4 c5 7.e5 cxd4 8.Qa4+ Nc6 9.O-O-O{<ݬ$¡q^D44i Semi-Slav: Botvinnik, Alatortsev Variation{7N6¢6>ZD81 Grünfeld: Early Russian, 5...Bg7 6.e4 O-O{5G•#®¼JB70g Sicilian: Dragon, 6.Bc4 Bg7 7.h3{/•Þ1'ßGlA32 English: Symmetrical, Two Knights, 5.Nc3 Bb4 6.Nb5{.HõÂÞÀVA40j Queen's Pawn: Bogoljubow-Miles Defence{*ÜàJ„ìé2D30v QGD: 3.Nf3 Nf6 4.Bg5{'ZÝ¥[€ð6B32a Sicilian: 2...Nc6 3.d4{ˆgèx†dHNB95n Sicilian: Najdorf, 6...e6 7.Qf3 h6z.n;AÏ"~E90x King's Indian: 5.Nf3 O-O 6.h3 c5 7.d5 e6 8.Bd3 exd5 9.exd5z½ PÒ[<D14a Slav: Exchange, 6.Bf4 Bf5zNöÒHD4TC33 KGA: Bishop's Gambit, McDonnell Attackyú"¡Å ~C91i Spanish: Closed, Bogoljubow, 10.d5 Na5 11.Bc2 c6 12.h3 Bc8yïž§Ó»½´8D11n Slav: Slav-Reti with b3yâÎòqRE51 Nimzo-Indian: 4.e3 O-O 5.Nf3 d5 6.Bd3yÓ„Æp©ñ¯`C42v Russian Game: Classical, Chigorin VariationyÎqFÔ°›þBC11g French: Steinitz, 6.dxc5 Nc6yÍ͆ð`p .D32a QGD Tarrasch: 4.e3yËG¬óËRB00k Owen Defence: 3.Bd3 e6 4.Nf3 c5 5.c3yÅjï8âL$PD41d QGD: Semi-Tarrasch, 6.g3, Main Liney¾4X˜!=ž0A10 English: 1...g6 2.g3y³o¸Ý_Å`B92h Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-Oy°ýÚæVâœvC99d Spanish: Closed, Chigorin, 13...Bd7 14.Nf1 Rac8 15.Ne3y¥‡“åu ˆLE07 Catalan: Closed, 6...Nbd7 7.Nc3 c6y¤úm—r¢ÙhE35 Nimzo-Indian: Classical, Noa, Exchange, 6.Bg5 h6y¡Jr,àûJA06 Reti: Nimzowitsch-Larsen, 2...Nf6yŸBYFÌÃVA97 Dutch: Ilyin-Zhenevsky, Winter, 8...Qh5y˜»›³m¯jA97 Dutch: Ilyin-Zhenevsky, Winter, 8...Qg6 9.e4 fxe4y‘ çÄ2vB03m Alekhine: Four Pawns Attack, Ilyin-Zhenevsky Variationyfø¬Y18A85 Dutch: 2.c4 Nf6 3.Nc3 e6y~×5•èöBC20 Open Game: Portuguese, 2...c6yz œÊð¹LE21 Nimzo-Indian: Nimzo-Queen's Hybridyyµ;Øà5µPB76g Sicilian: Dragon, Yugoslav, 9.O-O-Oyy6jNÀh†PC93 Spanish: Closed, Smyslov, 12.Nf1 Bd7yu®úr:Ë`B61g Sicilian: Richter-Rauzer, Larsen, Main Lineyr|ÎfªF|B68 Sicilian: Richter-Rauzer, 7...a6, 9.f4 Be7 10.Nf3 b5 11.e5yn[?xâ×$&A51c Budapest: 3.d5ym•"¬9bZE73x King's Indian: Averbakh, 6...h6 7.Be3 c5yaý“­¾«N`B46p Sicilian: Taimanov, 5...a6 6.Be2 Nge7 7.O-Oy^ƒˆÞæœJˆC69n Spanish: Exchange, Gligoric, 8.Nb3 Queenswap, 9...Bg4 10.f3 Be6y]¥›Dä ÷XB17d Caro-Kann: Steinitz, 5.Nf3 Ngf6 6.Nxf6+y?ò3oàÂZD25e QGA: Smyslov, 5.Bxc4 Bg7 6.O-O O-O 7.Nc3y<ț܋óbB40p Sicilian: Open, 2...e6, 4.Nxd4 Nf6 5.Bd3 Nc6y:O¬'ø†[zB94k Sicilian: Najdorf, 6.Bg5 Nbd7 7.Bc4 Qa5 8.Qd2 e6 9.O-O-Oy:8äØBC39 KGA: Kieseritsky, Rice Gambity8&ZµÇâ<A11 English: Caro-Kann Defencey5ä~`N<A68b Benoni: Four Pawns, 9.Bd3y/í+Åa,D94 Grünfeld: 5.e3 O-Oy-‹NA05 Reti: KIAy$ƒ9SwH•LA45t Trompowsky: 2...Ne4 3.Bh4 c5 4.f3y!s=MTFC93 Spanish: Closed, Smyslov, 10.d3y8RDA36e English: Symmetrical, 3.g3 g6y‚zô¼¯pB99w Sicilian: Najdorf, Modern Main Line 13.f5 Nc5 14.h4y õ;¼ ±;|E97q King's Indian: Mar del Plata, Bayonet, 9...Nh5 10.Re1 Nf4y 㜟j,<B02r Alekhine: Chase Variationy ïmb!8Ä*A03 Bird: 1...d5 2.g3yÙ¸ÀÂæhE90s King's Indian: 5.Nf3 O-O 6.h3 e5 7.d5 Na6 8.Be3xü.Ó€Y2D70 Neo-Grünfeld: 3.g3 d5xö<ð†¦ëœ6A46p Indian: London, 3...c5xóÀû6è8C40g Elephant Gambit: 3.exd5xðç’=²–NC45g Scotch: Steinitz, 5.Nb5 Bb4+ 6.Bd2xéõû±B¯>B53r Sicilian, Chekhover, 7.Nc3xØ[GÜ2êB93t Sicilian: Najdorf, 6.f4 e5 7.Nf3 Nbd7 8.a4 Be7 9.Bd3 O-O 10.O-O Nc5xÓËŽU¿Ž^E49 Nimzo-Indian: Botvinnik, 7...dxc4 8.Bxc4 c5xÓkFzü|TC50i Giuoco Piano: Three Knights VariationxÂÞ}”SÎo\D57 QGD: Lasker Defence, Main Line, 11.Qb3 Rd8x¼N?Yz„^E71m King's Indian: Makagonov, 5...O-O 6.Bg5 c5x¼FVAvS`D98h Grünfeld: Russian, Smyslov, Keres Variationx·ñ©ÅJJE03 Catalan: Open, Alekhine Variationx¶Û—[T0ÜBA58h Benko Gambit: Accepted, 7.g3x´q-Eäi`B74 Sicilian: Dragon, Classical, 9.Nb3 Be6 10.f4xª/Ú<²ØxD86 Grünfeld: Classical Exchange, Simagin Improved, 9.O-O b6x›¯ÿ’à©~B38j Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 b6 9.O-O Bb7 10.f3x™ÍÌÒ_wVHA43p Old Benoni: Neo-Benko, 4.Bg5 d6x˜ ”ÎŒ8A20 English: King's, 2.g3 g6x‰R^:‹-D30f QGD: 3.Nf3x…ë_od=LA42w Modern: Averbakh, Queenswap, 7.f4xƒÂ¹b©}lpE08o Catalan: Closed, 7.Qc2 c6 8.b3 b6 9.Rd1 Ba6 10.Nbd2x‚5;¯põïHC78s Spanish: Archangelsk, 7.c3 Nxe4x€»qBÊ*‡ZE72 King's Indian: 4.e4 d6 5.g3 O-O 6.Bg2 Nc6xw^wê×Ü`B77b Sicilian: Dragon, Yugoslav, Byrne Variationxuh1²“ü08D02a Queen's Pawn: 2.Nf3 Bg4xlRÔÖìÅ<D13j Slav: Exchange, 5.Nc3 Nc6xiã5¸ò6FA50d Indian: Mexican Defence, 3.Nf3xatÏÍkÀQ>D44c Semi-Slav: Botvinnik, 6.e4xWK>ò›ž³\C58f Two Knights: Morphy, Bogoljubow VariationxV™uûÈ™<E17g Queen's Indian: 6.Nc3 Ne4xV8ž”‰2rB01s Scandinavian: 2...Nf6 3.Bb5+ Bd7 4.Be2 Nxd5 5.d4 Bf5x=Ò~l„ŽvDD57 QGD: Lasker Defence, Main Linex:I¥<«LE12e Queen's Indian: Petrosian, 4...c5x5¿×+žUÕBB00j Owen Defence: 3.Bd3 e6 4.Nf3x/)Þ&~^C66 Spanish: Closed Berlin, Bernstein Variationx)Á~†þjC50f Italian: Hungarian Defence, Tartakower Variationx š¹“4j:A45p Trompowsky: 2...c5 3.Nc3xø$}Ox·^C17j French: Winawer, Bogoljubow, 5...Ne7 6.Nb5x²–†ZìðLA20 English: King's, 2.g3 Nf6 3.Bg2 c6xî$¼¤LËJA08 Reti: KIA, 2...c5, 3.Bg2 Nc6 4.d4xldB99v Sicilian: Najdorf, Modern Main Line 13.f5 Nc5x:”5PcîVC47k Four Knights: Scotch, Krause Variationx´• þHE70k King's Indian: 4.e4 d6 5.Bd3 e5xGV£(ýJE49 Nimzo-Indian: Botvinnik, 7...dxc4x¯/¸VÎ6D11p Slav: Slav-Reti SystemxnQM’BJA98 Dutch: Ilyin-Zhenevsky, 8.Qc2 Nc6x ½Îásæ€D00m Blackmar-Diemer: Lemberger Countergambit, Rassmussen Attackx Ù£ùœI$D20i QGA: 3.Nc3 c5x ÇODŽ€E37 Nimzo-Indian: Classical, Noa, Main Line, 7.Qc2 c5 8.dxc5 Nc6xê°óæé56D11m Slav: Slav-Reti Systemx`Š i¤vC69f Spanish: Exchange, Gligoric, 6.d4 Bg4 Queenswap, 9.Rd3wÿ\ä¸ |©ŠD32w QGD Tarrasch: 5.Nf3 Nc6 6.e3 Nf6 7.Be2 cxd4 8.Nxd4 Bd6 9.O-O O-Owþb *‹×*JA51i Budapest: Fajarowicz, 4.Nf3 Bb4+wýÆqi4vC<B53p Sicilian, Chekhover, 7.c4wèï䈿}|8D01e Richter-Veresov: 3...g6wäÒmHQŒÓ0A10 English: Anglo-DutchwâJÄqçÐtA45r Trompowsky: 2...c5 3.Bxf6 gxf6 4.d5 Qb6 5.Qc1 f5 6.e3wßÂÐ37ÏvE59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 11.Be2wÞ …©JXŠxA37y English: Symmetrical, 5.Nf3 e5 6.O-O Nge7 7.d3 O-O 8.a3wе/\Ûn\E91m King's Indian: Kazakh Variation, 7.O-O c5wÍ7W†Q®¬>A36j English: Symmetrical, 5.b3wÊB8BÞÆ:D48a Semi-Slav: Meran, 8...a6wÆ„>±™\bD30b Diemer-Duhm Gambit (DDG): Exchange Variationwù4h4W*A08 Reti: KIA, 2...c5wÃh+Š;ú›@E20 Nimzo-Indian: Mikenas AttackwÀkÕ§:›9.A00g Amar: Paris Gambitw²–Yü1>RA37l English: Symmetrical, 5.Nf3 e6 6.O-Ow²—Q²pbHA19 English: Mikenas, 5.Nf3 Nc6 6.d4w¬"nùeÙ@A97 Dutch: Ilyin-Zhenevsky, 8.b4w«oÊ2JTD51 QGD: Alekhine 4.Bg5 Nbd7 5.Nf3 c6 6.e4wª…gj¾ZB21y Sicilian: Smith-Morra, 5.Nf3 d6 6.Bc4 a6w§Í€ŦMbA41g Neo-Old Indian: Wade Defence, 3.c4 e5 4.dxe5w¢müÀ P\C15p French: Winawer, Alekhine Gambit, 4...Nc6wŸËÙˆ€NA22 English: Bremen, Smyslov, 4.Bg2 O-OwŸÓFdSrB38o Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O Nd7wœúŒWT¹vE08q Catalan: Closed, 7.Qc2 c6 8.b3 b6 9.Rd1 Bb7 10.Nc3 Rc8w˜^}š~ûØVE78 King's Indian: Four Pawns Attack, 7.Nf3w—|â.;=@B18i Caro-Kann: Classical, 6.Bc4w‡–EsP©,C47a Four Knights Gamew†þvò9zHRD47d Semi-Slav: Meran, Capablanca, 8...b4wŸ«ray->B25g Sicilian: Closed, 6.f4 Nf6w|ùÅ‚âæ>A87 Dutch: Leningrad, Main Linewuþd;ФýNC93 Spanish: Closed, Smyslov, 10.d4 Re8wqáQ׳dD77j Neo-Grünfeld, 6.O-O dxc4 7.Na3 Nc6 8.Nxc4 Be6we{Õô (OPA16 English: Anglo-Indian, 2.Nc3 c6 3.e4w^0Ç`i¡ûPA43l Old Benoni: 2.d5 Nf6 3.Nf3 e6 4.Nc3wWšé‡RB05c Alekhine: Modern, Alekhine VariationwT+ŠPb|<>E11m Bogo-Indian: 4.Bd2 a5 5.g3wS¥i‘ZD29g QGA: Classical, 8...Bb7 9.Rd1 Nbd7 10.e4wDËvfœKHC51 Evans Gambit: Ulvestad VariationwB3½[ ÅŽhE75c King's Indian: Averbakh, 7.d5 e6 8.Nf3 h6 9.Be3w2ës¤Ëý>^D50 QGD: Semi-Tarrasch, Old Pillsbury Variationw-÷4sÛªî E69y King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Re1 exd4, 11...Nc5 12.Rb1w-߃±7rtE60p King's Indian: Fianchetto without Nc3, 6...Nbd7 7.Qc2w,-§5E„¾B36q Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2 Nxd4 8.Qxd4 Bg7 9.Be3 O-O 10.Qd2 Be6 11.O-Ow*öl¢¡`~fC93 Spanish: Closed, Smyslov, 10.d4 Re8 11.Nbd2 Bf8w(§ªKK¢-LD27e QGA: Classical, 6...a6 7.Bd3 Nbd7w&>¿9p؇VB24 Sicilian: Closed, 3.g3 g6, 5.d3 e6 6.f4w ­‘U4JêJB02e Alekhine: Scandinavian, 3.e5 Ne4w š'µ€TÞJD90 Grünfeld: Three Knights Variationw 7ÔýN±RD41p QGD: Semi-Tarrasch, 6.e3 cxd4 7.exd4w¿wbX ‹A00h Durkinvý#Ÿ,? %.D18e Slav: Dutch, 8.O-Ovüxf<¨òzrB66e Sicilian: Richter-Rauzer, 7...a6 8.O-O-O Nxd4 9.Qxd4vú®#Rg`$A84 Dutch: 2.c4 g6vú«ERJ34TC67o Spanish: Open Berlin, 5.d4 Nd6 6.Bxc6vøUÔSFÜNA22 English: King's, 2.Nc3 Nf6 3.Nf3 e4vñc•º`îˆE48 Nimzo-Indian: 4.e3 O-O 5.Bd3 d5 6.Ne2 c5 7.cxd5 cxd4 8.exd4 Nxd5vì"î]/ˆ4C54k Giuoco Piano: 6.e5 d5vå¸Èñ4bC14i French: Classical, Steinitz, 7...a6 8.Nf3 c5våvHbP6A07 Reti: KIA, Neo-GrünfeldvàZ®­ XC75 Spanish: Modern Steinitz, 5.c3 Bd7 6.O-OvÝèß™š¼m.B01a Scandinavian: 2.d3vÙkjš@ãS\B80n Sicilian: Scheveningen, Vitolins, 6...Bd7vÓr„ê#|ºDD27o QGA: Classical, Spassky, 9.b3vÉŒ£‘¹äÐhE99 King's Indian: Mar del Plata, 10.f3 f5 11.Nd3 f4v½÷,2ŸŽò8B07r Pirc: Sveshnikov (4.g3)v¬ £¿$a4A96 Dutch: Classical, 7.b3v¥K\¿ §BC45h Scotch: Tartakower Variationv WUòÂÑBC61c Spanish: Bird's, 4.Nxd4 exd4vŸÊ4bƒc dE74j King's Indian: Averbakh, 6...c5 7.d5 h6 8.Bh4v“ßwaŒ0PD28f QGA: Classical, 7.Qe2 b5 8.Bd3 cxd4v“3n˜vOq>B13e Caro-Kann: Exchange, 4.Bd3v‹§ÆA¨]—`B10m Caro-Kann: English, Exchange, 4...Nf6 5.Nc3vƒrÞ?ê DC24 Bishop's Opening: Greco Gambitvw>ž?ÓáWtB13y Caro-Kann: Panov-Botvinnik, 5...Nc6, Normal VariationvuXY>!übRC14j French: Classical, Steinitz, 7...O-Ovoq2ŠôJdB13s Caro-Kann: Panov-Botvinnik, 5...Nc6 6.Nf3 Bg4vl{0N~*GTC58d Two Knights: Morphy, Polerio (6.Bb5+)vdG— ŠždB12h Caro-Kann: Gurgenidze/Modern: 3.Nd2 g6 4.Ngf3v^â“aâeWJB53h Sicilian, Chekhover, 4...a6 5.c4vYþzÓmlFB30e Sicilian: 2...Nc6 3.g3 e6 4.d3vWŒb0x) 6A04 Reti: Lisitsin DeferredvRëUØñ$JD07o QGD: Chigorin, Tartakower GambitvR¨Œ!ý,¼TB82 Sicilian: Scheveningen, 6.f4 Nc6 7.Be3vKšZ;ZC59j Two Knights: Main Line, Knorre VariationvFã Â#OBC00q French: KIA 2.d3 d5 3.Nd2 c5v;ü!*DÏPA17 English: Anglo-Indian, 2.Nc3 e6 3.g3v5Õ"~s³ÿTA16 English: Anglo-Grünfeld, 4.Nf3 g6 5.g3v4§‡b ]hA70s Benoni: Classical, 8.h3 O-O 9.Bd3 a6 10.a4 Nbd7v25ƒÒó_'NB20 Sicilian: English, 2...Nc6 3.Nc3 g6v.!û3~(D24k QGA: Bogoljubowv,/”ÚÎhB01z Scandinavian: Marshall, 4.c4 Nb6 5.Nf3 g6 6.Be2v+£6¾c¬<B44c Sicilian: Taimanov, 5.Be2v+S,ñ°JD30b Diemer-Duhm Gambit (DDG): 4...f5v'•x§v@LNA50n Indian: Queen's Indian Acceleratedv%þ‹€<ò¥@D21n QGA: 3.Nf3 c5 4.d5 e6 5.Nc3v:ä/íÿ.D91a Grünfeld: 5.Bg5 c6v4 ï÷:B02o Alekhine: Sämisch Attackv ×TKrB19t Caro-Kann: Classical, Spassky, Main Line, 14.g3 Nxe4v ^-›»\QZD30b Diemer-Duhm Gambit (DDG): Duhm VariationvÔ•˜P¢Ú:C40b Open Game: Greco Defencevv8uxíNA42q Modern: Averbakh, 4...e5 5.Nf3 Nd7uüèñN÷íîvB00r Nimzowitsch Defence: 2.Nf3 d6 3.d4 Nf6 4.Nc3 Bg4 5.Bb5uüs¼Æu‰ZB13k Caro-Kann: Exchange, Rubinstein, 6...Bg4uî§KЖnQ D30d QGD: 3.cxd5uܾ?"Ø\ñ:A00q Polish: 1...d5 2.Bb2 Nf6uØåuÙvx{PE20 Nimzo-Indian: Romanishin, 6.Nxd4 O-OuËpa˜žVD44p Semi-Slav: Botvinnik, Main Line, 12.g3uÅ›³´®v©VD02c Queen's Pawn: London, Alapin Variationu¼eÔWÊ$B20 Sicilian: 2.g3u» IÕàWbC09k French: Tarrasch, Open, Main Line, 9.Nb3 Bb6u®k¨ª‡Å¸tC67q Spanish: Open Berlin, 5.d4 Nd6 6.Bxc6 dxc6 7.dxe5 Nf5u¥sx…G{lC82j Spanish: Open, Motzko Attack, Nenarokov Variationu¢Kµ S`E21 Nimzo-Indian: Nimzo-Queen's Hybrid, 5.Qb3 c5uœÛºØ-KBD97a Grünfeld: Russian, 7.e4 Nfd7uœqå~jxC99m Spanish: Closed, Chigorin, 13...Nc6 14.Nb3 a5 15.Be3 a4u–±[¢ëÚs3(B08a Pirc: ClassicaluŠ…¥´HD30i QGD: Tarrasch without Nc3: 5.g3uW©²¶­~B78o Sicilian: Dragon, Yugoslav, Main Line, 12.h4 h5 13.Bg5 Rc5u|@刉RC96h Spanish: Closed, Chigorin, 11.d3 Nc6uu-Y×Þ)o~A70t Benoni: Classical, 8.h3 O-O 9.Bd3 a6 10.a4 Nbd7 11.O-O Re8uuc~ñé<A90 Dutch: Dutch-Indian, 5.Nd2us+H+†½PE94v King's Indian: 7.O-O Nbd7 8.Be3 Ng4uoûåZ‘^E70s King's Indian: Accelerated Averbakh SystemuiÒÃ`X=¢tC39 KGA: Kieseritsky, Long Whip Defence, Jänisch Variationu^г† fS*B10o Caro-Kann: 2.Nf3uHÒ0kœM\E11y Bogo-Indian: 4.Bd2 Bxd2+ 5.Qxd2 O-O 6.Nc3uEÍЂîø:D10q Slav: 3.Nc3 dxc4 4.e4 b5u;Ö6‹”ux`D61 QGD: Orthodox, Rubinstein, 7.Qc2 h6 8.Bh4 c5u*LV¯˜*ŠE99 King's Indian: Mar del Plata, 10.f3 f5 11.Nd3 Nf6 12.Bd2 f4 13.c5u"þÚ¸}œ–@A99 Dutch: Ilyin-Zhenevsky, 8.b3u©u¤ÐjLD37j QGD: Classical, 5...O-O 6.e3 Nbd7u †ƒL—<ž:C03c French: Tarrasch, 3...b6tø¶Á^fŠ€PA44t Old Benoni: Czech, 3.e4 d6 4.Nc3 a6tó™y2e:B24 Sicilian: Closed, 3.g3 g6tñ@‡9¼zjzB13u Caro-Kann: Panov-Botvinnik, 5...Nc6 6.Nf3 Bg4: Main Linetî‡4+ñI‹>C40t Latvian Gambit: 3.Nxe5 Qf6t×}fÂá7`D69 QGD: Orthodox, Classical, 13.dxe5: 15.f4 Qe4tË)DuŸ»»2A40v Queen's Pawn: ModerntÄíÎÈRB46n Sicilian: Taimanov, 5...a6 6.Be2 Nf6t¾E7@kßÝ.C45h Scotch: 4.Nxd4 Nf6t­h½!^gDA59i Benko Gambit: 7.e4, Main Linet¬Îˆ¬XB67b Sicilian: Richter-Rauzer, 7...a6, 9.Be2tŸÒÅ*‰¬l|B34t Sicilian: Accelerated Fianchetto, Modern, 6.Be3 Nf6 7.Be2t˜gÏ d\@A73 Benoni: Classical, 9.O-O Na6t–ëÝq1Å\A90 Dutch: 2.c4 Nf6 3.g3 e6 5.Nf3 d5 6.Qc2 Bd6t~ïOCWºk,A47 Neo-Queen's Indiant~l@úþ¨LD16k Slav: Smyslov, 6.e4 Bg4 7.Bxc4 e6trFQdWtA22 English: Bremen, Reverse Dragon, 4.cxd5 Nxd5 5.Bg2 Nb6tqo­"cìFB22o Sicilian: Alapin, 2...Nf6 3.e5tj-`—Ç fD42i QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.a3 Bf6tfô?Ýôm‰HB46b Sicilian: Taimanov, 5...a6 6.f4tdS•5Vj`E75g King's Indian: Averbakh, 7.d5 e6 8.Qd2 exd5tNè*!ŠjE97y King's Indian: Mar del Plata, 9.Nd2 a5 10.a3 Bd7tLÚàÞ|âúBA80k Dutch: 2.Nc3 d5, Euwe GambittKé{¤n¥1HB82 Sicilian: Scheveningen, 6.f4 Be7tD2¥8s84C30j KGD: Classical, 3.Bc4t?U+–åÌ#@B93b Sicilian: Najdorf, 6.f4 Nc6t">ì~Ø*^E38g Nimzo-Indian: Classical, 4...c5 5.dxc5 Qc7tHÝyŪu^B56p Sicilian: Open, 2...d6, 5.Nc3 Nc6 6.Be3 e5tD”€s5@C32 KGD: Falkbeer, Morphy Gambitt Q#ïÉH€D59f QGD: Tartakower, 8.cxd5 Nxd5 9.Bxe7 Qxe7 10.Rc1 Bb7 11.Nxd5tõòüÇdrNA87 Dutch: Leningrad, Main Line, 5...d6súXÇda\LB30f Sicilian: 2...Nc6 3.g3 e6 4.d3 d5sõƒVlÒënE03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 a6 7.Nf3 b5 8.Qc6sô:ÆXI>D46b Semi-Slav: Romih VariationsòÔþ”» |D89h Grünfeld: Classical Exchange, Main Line, Sokolsky, 16.Rb1sîj[ú¿øPC12k French: MacCutcheon, Lasker, 7.bxc3sê> áÇÀHC78u Spanish: Archangelsk, Main LinesèÆäš«ÏPA44s Old Benoni: Czech, 3.e4 d6 4.Nc3 g6sãq’f ™fA37n English: Symmetrical, 5.Nf3 e6 6.O-O Nge7 7.d3sÛBfj¾JA06 Reti: Nimzowitsch-Larsen, 2...Nf6sÛ”QÊfêzB11i Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 e6 6.g3sÌBGXÿÊ<C11u French: Burn, 6.Bxf6 gxf6s¸ìœ ò_rD19m Slav: Dutch, 8...O-O 9.Qe2 Nbd7 10.e4 Bg6 11.Bd3 Re8s¸n’bŠDJE73p King's Indian: Averbakh, 6...Na6s·º \ó@A08 Reti: KIA, 2...c5 3.Bg2 Nc6s±¹EøìuIXC17o French: Winawer, Swiss, 6.b4 cxd4 7.Qg4sŽ~s½[fˆE94e King's Indian: 7.O-O exd4 8.Nxd4 Re8 9.f3 Nc6 10.Be3 Nh5 11.Qd2sŒM¦×ãµÚJB37d Sicilian: Maroczy Bind, 6.Nc2 d6sŠ/ÏõqÀzfB03g Alekhine: Four Pawns Attack, Planinc Variations‚ ·šù'NE82a King's Indian: Sämisch, FianchettoszŒÑÿÏÈ>C89d Spanish: Marshall, 11.Rxe5sosgÁýRC63k Spanish: Schliemann, 4.Nc3 Nd4 5.Ba4sk)˜·úS>C54n Giuoco Piano: Greco Attacks`ò³ÈÄNÁ8C44t Scotch: Relfsson GambitsZyG†×:TDB18p Caro-Kann: Classical, 6.h4 h6sV ýÝ82JC48h Four Knights: Rubinstein, 5.Nxe5sP ùƒIÆXE97v King's Indian: Mar del Plata, 9.Nd2 Nd7sO„Sê#j×.C54k Giuoco Piano: 6.e5sM ù‰ã¯ú0D73 Neo-Grünfeld, 6.cxd5sK«“ãéËÙ6E30 Nimzo-Indian: LeningradsJ.NÂßNônE81n King's Indian: Sämisch, 5...O-O 6.Be3 c5 QueenswapsIJ‰ˆ\XDD08 QGD: Albin, Janowski VariationsBæ)ôârHC85j Spanish: Closed, Exchange, 7.d3s4ûù­3r`8D35l QGD: Exchange, 5.Bg5 c6s/%R(ZlPB71 Sicilian: Dragon, Levenfish, 6...Nc6s* )!@D18k Slav: Dutch, 8...Nbd7 9.Qe2sZ·)rïB:C65h Spanish: Berlin, 4.d3 d6sɾk ¼0D07b QGD: Chigorin, 3.e3sPXáN5hE99 King's Indian: Mar del Plata, 10.f3 f5 11.Be3 f4s9:É[_ŒfA78 Benoni: Classical, Main Line, 10.Nd2 Na6 11.Re1sNš´÷PE05f Catalan: Open, Classical, 6.O-O O-Os ma¯YèBD45f Semi-Slav: Rubinstein Systems ôR'e \D30i QGD: Tarrasch without Nc3: 5.g3 Nc6 6.Bg2s ä$«‡¥0A00o Grob Gambit: 2...c6sn´l@K2A85 Dutch: 2.c4 Nf6 3.Nc3røÂna"±BA52c Budapest: Alekhine Variationrø%Å¢ª/aZC09b French: Tarrasch, Open, 5.Ngf3 Nc6 6.Bb5rñ–Å2r<A45p Trompowsky: 2...c5 3.dxc5réx®ò‰nRB51o Sicilian: 3.Bb5+ Nc6 4.O-O Bd7 5.Re1r䃜 +xãdC99l Spanish: Closed, Chigorin, 13...Nc6 14.Nb3 a5rÝ*NõŠ® tE97g King's Indian: Mar del Plata, Bayonet Attack, 9...Kh8rÔÈFTÝtC69m Spanish: Exchange, Gligoric, 8.Nb3 Queenswap, 9...Bg4rÉÿ”ÙTEËdC84h Spanish: Closed, Centre Attack, Basque Gambitr¶³ÞìòS:A70e Benoni: Classical, 8.Be2r¶hæ¨ÿWÏLB91i Sicilian: Najdorf, 6.g3 e5 7.Nde2r®üf CfTE73q King's Indian: Averbakh, 6...Na6 7.h4r¨ÙÊ©ÆrNA40q Queen's Pawn: Keres Defence, 3.Bd2r¥\éµÜPD48m Semi-Slav: Meran, Reynolds, 10...e5r¢W]q7ºÍjB19r Caro-Kann: Classical, Spassky, Main Line, 13.Ne4r¡že¶´Ä|D47p Semi-Slav: Meran, Wade, 9.O-O b4 10.Ne4 Be7 11.Nxf6+ Nxf6rœØð£ß*A02 Bird: Symmetricalrœ¶WyÑ0RD12e Slav: 4.e3 Bf5 5.cxd5 cxd5 6.Qb3 Qc7r‘f𠹌[NA53 Old Indian: 3.Nc3 Nbd7 4.e4 e5 5.d5r‚بcËfð4D02s Queen's Pawn: 3.g3 c6r~âÇëÓ·O6D11m Slav: Slav-Reti Systemrz8  žpE99 King's Indian: Mar del Plata, Benko Attack, 11...Nf6rv!GšiZdE37 Nimzo-Indian: Classical, Noa, Main Line, 7.Qc2ro|Á| õàRB33d Sicilian: Pelikan/Sveshnikov, 6.Nxc6rXIÛùg…U\E76d King's Indian: Four Pawns Attack, 5...O-OrWÃc˜&•¢tE97l King's Indian: Mar del Plata, Bayonet Attack, 9...Nh5rNY‰:?`B90m Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.Qd2rHjÉ•P¦©$C30a King's GambitrD87câF\A30v English: Symmetrical, Hedgehog, 9.b3 Nbd7r,MÈQ“Õ>C01d French: Exchange, 4.c4 Nf6r&¶ö4EØtC95o Spanish: Closed, Breyer, Main Line, 15.a4 c5 16.d5 c4r"wÁ/O ¡hB49f Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O b5r¯‡Bý4NB46h Sicilian: Taimanov, 5...a6 6.g3 d6r/êZWVD00f Hodgson Attack (Trompowsky vs. 1...d5)rëB Çh~LA50e Indian: Mexican Defence, 3.Nf3 e6ro‘ðˆ—bB22q Sicilian: Alapin, 2...Nf6 3.e5 Nd5 4.d4 cxd4r ºS:ïØ <C64k Spanish: Classical, 4.O-Or ÉeÁÓñëVC41p Philidor: Exchange, Rellstab Variationr וbÉNTE28 Nimzo-Indian: Sämisch, 5...O-O 6.e3 c5r¯ËljpyXD23k QGA: Mannheim, 4...c6, 5.Qxc4 Bf5 6.Nc3r&ñµh§7:D33o QGD Tarrasch: 7.Bg2 cxd4qÿ4؈3ä¿:E61d King's Indian: 4.Bg5 O-Oqî’ïË`˜)XC89n Spanish: Marshall, Main Line, 14.g3 Qh3qÎ§Š©Îc|>D24g QGA: 4.Nc3 c5 5.d5 e6 6.e4qÉq€)zxLC60q Spanish: Cozio, Paulsen VariationqÆMäD¥­"D26a QGA: 4.e3 e6qÀ¤«Æ‹:^E63m King's Indian: Fianchetto, Panno, 8.d5 Na5q¸ Ê×§š#JC52 Evans Gambit: Leonhardt Variationq²X®Û@dB01g Scandinavian: Anderssen Counterattack, 5.dxe5q£”S¡Vs¼6D04i Colle: 3...c5 4.c3 Nc6q‚7V«~‚E75e King's Indian: Averbakh, 7.d5 e6 8.Nf3 h6 9.Bh4 exd5 10.cxd5qw¶¡ª^4BC64n Spanish: Classical, 4.O-O d6qwž¢NŒpCFD39a QGD: Ragozin, Vienna Variationqoš Õ–% LA73 Benoni: Classical, 9.O-O Bg4 10.h3qnâ\;\]PC99i Spanish: Closed, Chigorin, 13...Nc6qn¬O‰Ç<VA63 Benoni: Fianchetto, 9...Nbd7 10.Nd2 Re8qk¶µ£=Å*C01b French: Exchangeqi*ñ™ó ¿€D64 QGD: Orthodox, Rubinstein Attack, Grünfeld Variation, 9...h6qbû÷ç©árC85n Spanish: Closed, Exchange, 7.d3 Nd7 8.Nbd2 O-O 9.Nc4q`£uF{ HB46f Sicilian: Taimanov, 5...a6 6.g3qR®µó.A43b Old Benoni: 2.dxc5qR9Î[A^B93p Sicilian: Najdorf, 6.f4 e5 7.Nf3 Nbd7 8.a4qG1¡» $"BB10i Caro-Kann: English VariationqC1×´otH.D70 Neo-Grünfeld: 4.Bg2qC[›-˜obE14s Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O cxd4qA…9×Uøö\C46l Three Knights: Steinitz, 4.d4 exd4 5.Nxd4q5ĬéIsŒB45s Sicilian: Taimanov, Four Knights, 6.Ndb5 Bb4 7.a3 Bxc3+ 8.Nxc3 d5q0—<“‹Ý³XB53t Sicilian, Chekhover, 7.Nc3 Nf6 8.Bg5 e6q+œlDø6žHC54m Giuoco Piano: 6.cxd4 Bb4+ 7.Bd2qžé;ï>4D06m QGD: 2...Bf5 3.Nc3 e6q|û¨èe>D53b QGD: 4.Bg5 Be7 5.cxd5 Nxd5q yú“ð¾Ü,A47 Neo-Queen's Indianq‚£)‚Û4XA43x Old Benoni: Schmidt, 6.Be2 O-O 7.O-O e6p÷ATî¦3NDB37c Sicilian: Maroczy Bind, 6.Nc2pö 5#LjD42o QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Nf6 11.a3 b6 12.Bc2pômS`œÑJD27k QGA: Classical, Geller Variationpò­tîÉ×FA15 English: Anglo-Indian, 2.Nf3 g6pëtÜíbE11y Bogo-Indian: 4.Bd2 Bxd2+ 5.Qxd2 O-O 6.Nc3 d5pëF˜Í¢xB78i Sicilian: Dragon, Yugoslav, Main Line, 12.h4 Nc4: 14.h5pès žÅæfC64s Spanish: Classical, 4.O-O Nd4 5.Nxd4 Bxd4 6.c3pæwô¤lêVA97 Dutch: Ilyin-Zhenevsky, Winter, 8...Qg6pá‚GÐõEýrB63w Sicilian: Richter-Rauzer, Podebrad, 10.f3 Rd8 11.Kb1pÒ*­“žÓ6D11o Slav: Slav-Reti SystempÉ[§Ûƒ"LC80u Spanish: Open, Bernstein, 11.Bxe6p½É#,7¿uvE74f King's Indian: Averbakh, 6...c5 7.d5 b5 8.cxb5 a6 9.a4p·ñóaOD>C70 Spanish: Brentano Variationp¶†an”±lA67h Benoni: Four Pawns, Taimanov, 9.Bd3 O-O 10.Nf3 a6p£$Ž‚¢VB50u Sicilian: 2.Nf3 d6 3.c3 Nf6 4.Be2 Nbd7p—uGÝ<³,D31j Semi-Slav: 4.cxd5p•%›Î£bB22d Sicilian: Alapin, 2...e6 3.d4 d5 4.exd5 exd5pŒ‚ã[hÁZTE20 Nimzo-Indian: Romanishin, 4...c5 5.Nf3pŠðýÈ,B30a Sicilian: 2...Nc6p~b})Æß8A85 Dutch: 2.c4 Nf6 3.Nc3 d6piã¨HºopE73o King's Indian: Averbakh, 6...Nbd7 7.Qd2 e5 8.d5 Nc5pgVE7iÖ4C65f Spanish: Berlin, 4.d3pE_ÇmªxxVD22l QGA: Alekhine, 4.e3 Bg4 5.Bxc4 e6 6.h3pA˜b¿ |ÛTC91b Spanish: Closed, Bogoljubow Variationp?–½|˜2?PB33d Sicilian: Pelikan/Sveshnikov, 6.Nb3p6çfìGü‘NA70i Benoni: Classical, 8.Bd3 O-O 9.O-Op2Œ¶ûcùçzB96l Sicilian: Najdorf, 7.f4 Nbd7 8.Qf3 Qc7 9.O-O-O b5 10.Bd3p1A<&ôTD40j QGD: Semi-Tarrasch, 5.e3 Nc6 6.a3 Ne4p*O:âeRE39c Nimzo-Indian: Classical, Pirc, 6.Nf3pþAñÈUHC62 Spanish: Old Steinitz, 4.d4 exd4pÂQ6'bî.D20o QGA: 3.e4 Nf6 4.e5p&(v¸V.žB38y Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O Bd7 10.Qd2 Nxd4, 12.f3 a5p ôž=šã4D12c Slav: 4.e3 Bf5 5.cxd5p 9S–a3 bD46k Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...a6pÍ\ŒïDD12n Slav: 4.e3 Bf5 5.Nc3 e6 6.Nh4p¶àU¢&A10 English: 1...g5pü"mSE’ŒD85x Grünfeld: Modern Exchange, 8.Be3 O-O 9.Rc1 Qa5 Queenswap, 12.Kxd2pÜ—¤¡* ŒE66n King's Indian: Fianchetto, Yugoslav Panno, Main Line, 12.Bb2 bxc4oî¿ùüÀk)fE98l King's Indian: Mar del Plata, 9.Ne1 Nd7 10.Nd3oáîn¼%c&B07m Pirc: 3.Nc3 e5o×}"¡EàzA46z Torre Attack: 3...h6 4.Bxf6 Qxf6 5.e4 d6 6.Nc3 Nd7 7.Qd2oÖÔäÝÔzÉ@D10j Slav: Winawer Countergambito͘[ I÷¯0A10 English: Anglo-DutchoÆÍ¯í¥ E.D92 Grünfeld: 5.Bf4 O-OoÀR¨N»ÈNE95c King's Indian: 7.O-O Nbd7 8.Re1 h6o¸“.qNC92c Spanish: Closed, Kholmov Variationo´Ù•åÈ\\E44 Nimzo-Indian: Nimzowitsch, 5.Ne2 Ne4 6.Qc2o°KbÐ~#DE07 Catalan: Closed, 6...Nbd7 7.b3o®hyÉøA^A32 English: Symmetrical, Two Knights, 5.g3 Qb6oªÌ¥µÈoâNC41g Philidor: Hanham, Krause Variationoª™'b£¶g6A56b Benoni: 2...c5 3.e3 e6o¡ãðºi¾ DB00o Nimzowitsch Defence: 2.Nf3 d6ožÛ¼ø’‘ÎFD46q Semi-Slav: Chigorin, Main LineoŽ–½öã§dD85q Grünfeld: Modern Exchange, 8.Rb1 O-O 9.Be2 cdoŠÂŸ¬uæy*D43d Semi-Slav: 5.Qb3o†Œƒ¥ QÂPC99e Spanish: Closed, Chigorin, 13...Bb7o~×Ëy]ÛE97s King's Indian: Mar del Plata, Bayonet, 9...Nh5 10.Re1 f5 11.Ng5 Nf6o|[P¬Ñ`çRD16r Slav: Bronstein, 6.Ne5 Bh5 7.f3 Nfd7o|C•»ËÑîBA43t Old Benoni: Schmidt, 3.e4 g6om,[C­c^E38i Nimzo-Indian: Classical, 4...c5 5.dxc5 Na6olœY9®vHD10e Slav: Exchange, 4.Nc3 Nf6 5.Bf4olbÄÝ€¸V|C43l Russian Game: Modern Attack, 3...Nxe4 4.Bd3 d5 5.Nxe5 Be7og¸öÕès_ZC84h Spanish: Closed, Centre Attack, 7.e5 Ne4of?û2HËElE76i King's Indian: Four Pawns Attack, 6.Nf3 Na6 7.Bd3od¯þ “¥æ4D21g QGA: 3.Nf3 e6 4.e3 c5od' (¶çzTB44j Sicilian: Taimanov, 5.Nxc6 bxc6 6.Bd3o]ï"ÄhA69j Benoni: Four Pawns, Main Line, 10.e5: 12.Bg5 f6oZ¨ ò¹¼RA72 Benoni: Classical, 8.Be2 O-O 9.Bf4 a6oSú ÙÝõ–E11w Bogo-Indian: Nimzowitsch, 5.g3 Nc6 Main Line, 8...a5 9.e4 e5 10.d5 Nb8oNìä_œŸÅ<A46u Torre Attack: 3...c5 4.e3oK$ÏP+œND00l Blackmar-Diemer: Grosshans DefenceoIc•ÿ´×\E44 Nimzo-Indian: Nimzowitsch, 5.Ne2 Ne4 6.Bd2oI) „¾¶jD98k Grünfeld: Russian, Smyslov, 8.Be3 Nfd7 9.Rd1 Nc6o9YøÊÂXD47o Semi-Slav: Meran, Wade, 9.O-O b4 10.Ne4o8 øäÇöUXC82k Spanish: Open, St. Petersburg Variationo7Ù¡¼|THB95d Sicilian: Najdorf, 6...e6 7.Qe2o6Ãï‰pCTA69c Benoni: Four Pawns, Main Line, 10.Nd2o åñA\¸@D47h Semi-Slav: Meran, 8.Bd3 Bd6oöFS"¢bC87o Spanish: Closed, Averbakh, 7.c3 O-O 8.h3 Bd7o•¶‰¶ÿm~C05l French: Tarrasch, Closed, 5.f4 c5 6.c3 Nc6 7.Ndf3 Qb6 8.g3o ï¿97•À:B50i Sicilian: 2.Nf3 d6 3.Nc3o ÄE?ZuønE18p Queen's Indian: 7.Nc3 Ne4 8.Bd2 f5 9.d5 Bf6 10.Rc1o ®b½7Ê30A54 Old Indian: 5.g3 Be7o .9ÀHE00b Queen's Pawn: Anti-Nimzo-Indianní¦Ô>ÈåDªB38z Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O Bd7 10.Qd2 Nxd4, 12.f3 a5 13.b3nêvBD¨o¢2D25f QGA: Flohr VariationnåÔUI´Š‘nE89b King's Indian: Sämisch, Orthodox Main Line, 9...a6nÞ%íDmö7BB18h Caro-Kann: Classical, 6.N1e2nÛ`Éú„×%<A53 Old Indian: Ukranian, 4.e4nÙ?©‘¹Z”pB27r Sicilian: Accelerated Pterodactyl, 4.dxc5 Qa5+ 5.c3nÐE0—^²LA70k Benoni: Classical, 8.h3 O-O 9.Bd3nÊ'ÓÛt*bE70i King's Indian: Kramer, 5...O-O 6.Ng3 e5 7.d5nÇdvæŸýþ>C41n Philidor: Larsen Variationn¹w†äH=`B32w Sicilian: Lowenthal, Kalashnikov, Main Linenµ‡tß%52C25m Vienna: 2...Nc6 3.f4n³öŠ{~ÈHD60 QGD: Orthodox, Botvinnik, 7...c6n²Õ%ÎÙÖDC65i Spanish: Berlin, 4.d3 d6 5.c3n¢È\EÉIÏpC76 Spanish: Modern Steinitz, Bronstein, 7.O-O Bg7 8.Re1n˜Ž?;e„knE03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 c5 7.Nf3 a6 8.O-On˜SàöÅ4ˆ‚E32q Nimzo-Indian: Classical, 4...O-O 5.a3, 6...b6 7.Bg5 Bb7 8.f3nPÀãEªKND74 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Na6nÝÞ[™z<D35e QGD: Exchange, 5.Nf3 Nbd7nuXÜZ,NC45g Scotch: Steinitz, Berger VariationnqjMJnŽÑBC02j French: Advance, Wade, 6.Be2nn‹Mð”ú\C42x Russian Game: Classical, Berger Variationnksom¹šˆRE24 Nimzo-Indian: Sämisch, 5...c5 6.f3 d5ni1û~’wäJE18s Queen's Indian: 7.Nc3 Ne4 8.Nxe4nhüZ»cFlDE61l King's Indian: 4.Nf3 O-O 5.g3nO´•…DÿHB20 Sicilian: English, 2...Nc6 3.Ne2nLƒÚò‡hÉ*A02 Bird: 1..Nf6 2.e3n=]oî}ŒPA49 Neo-King's Indian: Fianchetto Systemn5Õ¶d#?VC01t French: Exchange, Bogoljubow Variationn&âÃô‡jE15t Queen's Indian: 4.g3 Bb7 5.Bg2 Qc8 6.O-O c5 7.d5na²@Æö¸LA46k Indian: 1.d4 Nf6 2.Nf3 e6 3.e3 c5n s<•wÂ@:A45m Trompowsky: 2...e6 3.Nc3n8GÊ™:C36 KGA: Scandinavian, 4.exd5mþdÅÍõ(ùvE59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 11.Qc2m÷‡§רHC29r Vienna Gambit: Breyer Variationmñd÷m‘ rA41w Neo-Old Indian: Modern, 3.Nc3 Bg7 4.Nf3 Bf4 5.e3 Nc6mçãµÇ÷™„C92h Spanish: Closed, Karpov Variation, 10.d4 Bf6 11.a4 Bb7 12.Na3må›tpìÚºfC99h Spanish: Closed, Chigorin, 13...Bb7 14.d5 Rac8mâb®u ô,ZD45y Semi-Slav: 6.Qc2 Bd6 7.Be2 O-O 8.O-O Re8mউ}9Ÿ\C31 KGD: Falkbeer, Marshall/Nimzowitsch, 4.Nc3mÕ‚é.üHóLC80s Spanish: Open, Bernstein, 11.cxd4mÑÛP¯ÝSçVC25r Vienna: Pierce Gambit, Rushmere Attackm˰jòºâXD35h QGD: Exchange, 5.Nf3 Be7 6.Bf4 c6 7.Qc2mȨÀËïI¿@B47e Sicilian: Taimanov, 6.f4 a6m¼^MÑóoZC44j Ponziani Countergambit, Cordel Variationm°YNÁµ¢Ï6C84b Spanish: Closed, 6.Nc3m§GüüŽn½`E71k King's Indian: Makagonov, 5...O-O 6.Bg5 Na6mNÈNˆø<0B41b Sicilian: Kan, 5.g3m“˼)ev.B20 Sicilian: Mengarinim¶±»û=E>C65l Spanish: Berlin, 4.O-O Be7mÞn Ñ™`D67 QGD: Orthodox, Main Line, Alekhine VariationmzO':¾æO`E28 Nimzo-Indian: Sämisch, 5...O-O 6.e3 c5 7.Ne2mx]‹à K¢E97k King's Indian: Mar del Plata, Bayonet Attack, 9...a5 10.Ba3 axb4 11.Bxb4 Nd7mw›ùmò€RC31 KGD: Falkbeer, Milner-Barry Variationmw’ÐOóõRB11b Caro-Kann: Two Knights, 3...Bg4 4.h3msPË\„©§*C11c French: Steinitzmcæ3S±FA41e Neo-Old Indian / Modern: 3.Bf4m^}A û‚EBA26 English: Closed, 5.d3 d6 6.e3mVr¥jümŒBC35 KGA: Cunningham, Euwe DefencemOîü4^ޤE97s King's Indian: Mar del Plata, Bayonet, 9...Nh5 10.Re1 f5 11.Ng5 Nf6 12.Bf3 c6mFQ×RûPA49 Neo-King's Indian: Fianchetto SystemmF4Â’yБ\C64s Spanish: Classical, 4.O-O Nd4 5.Nxd4 Bxd4mBŒ=PËôWfB01h Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.d4 c6 5.Nf3m@› eŠË°8B40s Sicilian: Pin Variationm?ÀÖæ VB32l Sicilian: Lowenthal, 5...a6, Queenswapm7“ųåˆZC89m Spanish: Marshall, Main Line, 13.Re1 Qh4m4œnÒR6JB98b Sicilian: Najdorf, 7...Be7 8.Qf3m2.»#?’A69l Benoni: Four Pawns, Main Line, 10.e5: 12.Bg5 Qb6 13.O-O Nxe5 14.Nxe5m,`T÷Á.`D82 Grünfeld: 4.Bf4 Bg7 5.e3 c5 6.dxc5 Qa5 7.Rc1m$I’A¦\HB22b Sicilian: Alapin, 2...Nc6 3.Nf3m«PPÕPC94d Spanish: Closed, Breyer, 10.d3 Nbd7m0“îçwÍXD53j QGD: 4.Bg5 Be7 5.Nf3 h6 6.Bh4 O-O 7.Qc2mõïa˜-TC54o Giuoco Piano: Möller-Herzog Variationm…+ØìMúJC77l Spanish: Centre Attack, 5...Nxd4mð¨‚&ÀøPE62a King's Indian: Fianchetto VariationmˆÌǃÑuXB60i Sicilian: Richter-Rauzer, Larsen, 7.Be2m êíN33ÌDB07z Pirc: Bayonet/Mariotti AttackmñÐ;Ô^ØHC48g Four Knights: Rubinstein, 5.Be2lü®›AµBB44d Sicilian: Taimanov, 5.c4 Nf6lêÓÇÄ1é³B06c Modernlê´HAæ2È`D40q QGD: Semi-Tarrasch, 5.e3 Nc6 6.a3 a6 7.dxc5lèÔ¶W5v©~E69v King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Re1 exd4lå\iÅÕQlhB92h Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O Be6låÉ=QjVA38g English: Symmetrical, Main Line, 7.Rb1lÜÇL‘M95tC43i Russian Game: Modern Attack, 3...Nxe4 4.Bd3 d5 5.dxe5lÚïƒ,8˜>B00n Nimzowitsch Defence: 2.Nf3lÙñÃh LC64o Spanish: Classical, 4.O-O d6 5.c3lÍÅÏ-hºúzB34h Sicilian: Accelerated Fianchetto, Modern, 5...Nf6 6.Nxc6lÊãâ·6ÐXD43i Semi-Slav: Botvinnik, 5...Be7 6.e3 Nbd7lÊoZÞf(C41b Philidor: 3.Bc4l¿fH÷|ßHrD79n Neo-Grünfeld, Main Line, 10.f4 Nc6 11.Be3 Nb6 12.Bf2l¹²Üü²[õJD47m Semi-Slav: Meran, Wade Variationl¹Ÿ¦æv¯FB06s Modern: Pseudo-Austrian Attackl¸ÂcL)L–E14w Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.b3 O-O 8.Bb2 cxd4 9.exd4l¶nÄ› <$NE11r Bogo-Indian: Nimzowitsch, 5.g3 Nc6l±p^w!!žRB42f Sicilian: Kan, Polugaevsky Variationl«ÖïÉô¡4VA90 Dutch: Dutch-Indian, Alekhine Variationl©š-‚÷ª8A70j Benoni: Classical, 8.h3l¢I5Ž´NND61 QGD: Orthodox, Rubinstein, 7.Qc2 h6l›;9žsùV@C37 KGA: Salvio, Herzfeld Gambitl–™g›YNC41s Philidor: Improved Hanham, 6.Bxf7+l•è‰Ûmï<D12h Slav: 4.e3 Bf5 5.Bd3 Bxd3lë|•CÚLD36f QGD: Exchange, 6.Qc2 Be7 7.e3 O-Olxrú/6‚•>A28 English: Four Knights, 4.d4lv¥yÉçâ2C40k Latvian Gambit: 3.d3lvId…)$˜TB70o Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-OlmVö­Q.jC24 Bishop's Opening: Urusov Gambit, Karpov VariationlUº B|JA09j Reti: Advance, 3.g3 c5 4.Bg2 Nc6l>»‡ €–VA97 Dutch: Ilyin-Zhenevsky, Winter, 8...Ne4l6/ñôúõ <A43s Old Benoni: Schmidt, 3.e4l1¸ÎÛQ§lB05e Alekhine: Modern, Alekhine Variation, 6.exd6 exd6l-=C’èJLB77a Sicilian: Dragon, Yugoslav, 9.Bc4l,È:Ž#&B07d Pirc: 2.d4 Nd7l&Fý¤/IDD29b QGA: Classical, 8...Bb7 9.Nc3lx„Ö¥î B07y Pirc: 4.Be2læ6c2­¥6D00b Queen's Pawn: 2.c3 Nf6lAÐE:`DJD35j QGD: Exchange, 5.Bg5 Be7 6.e3 h6l ´õ‚vÄ‚B21z Sicilian: Smith-Morra, 5.Nf3 d6 6.Bc4 e6 7.O-O Nf6 8.Qe2 Be7l ò$>ÏÌbB80o Sicilian: Scheveningen, Fianchetto Variationl„×¼ÔXD52n QGD: Cambridge Springs, 8.Qc2 O-O 9.Be2kýžFÎS¬ RB03m Alekhine: Four Pawns Attack, 6...Nc6kú7-Q›\E39d Nimzo-Indian: Classical, Pirc, 6.Nf3 Bxc5kñ:zy˜¨ fA65u Benoni: Sämisch, 8.Bg5 h6 9.Be3 O-O 10.Qd2 Re8kíš ¬á8lE54 Nimzo-Indian: Main Line, Karpov, 10.Bg5 Bb7 11.Qe2kì'gËÝ¡lD49c Semi-Slav: Meran, Old Main Line, Gligoric, 12.Qa4kê‘Á³Í^B09m Pirc: Austrian, 5...O-O 6.Bd3 Na6 7.O-O c5ké Ã?ÔݤRE95f King's Indian: 7.O-O Nbd7 8.Re1 exd4kÓœ(‘Žn–JD36g QGD: Exchange, 6.Qc2 Be7 7.e3 h6kÈÕÒÚµë×LE24 Nimzo-Indian: Sämisch, 5...c5 6.f3kÅBƯAá`B53w Sicilian, Chekhover, Main Line, 10.Rhe1 O-Ok¼.ƒVï$2A41l Neo-Old Indian: 2.c4k»6ÿ¨!MLD35k QGD: Exchange, 5.Bg5 Be7 6.e3 O-Ok¹“DWi1+XD56 QGD: Lasker Defence, Teichmann, 9...Nxc3k·9`2b?onD03q Torre Attack: 3...g6 4.e3 Bg7 5.Nbd2 O-O 6.c3 Nbd7kµu« åÐ52A20 English: King's, 2.d3k³Ð>,3<C25h Vienna: Paulsen Variationk¢Y™xD^B87 Sicilian: Sozin-Najdorf, 7.Bb3 b5 8.O-O Be7k¡ØIê@¼<PE03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 a6k”©Îú<ÀŒA89 Dutch: Leningrad, Main Line, 7.Nc3 Nc6 8.d5 Ne5 9.Nxe5 dxe5 10.Qb3k“¤NI²õ2D25f QGA: Flohr, 5.Nc3 c6kz{¿MüÓ5FC42a Russian Game (Petroff Defence)kuRú–éƒY\E43 Nimzo-Indian: Nimzowitsch, 5.Nf3 Bb7 6.Bd3ktŒ4è})dE69d King's Indian: Fianchetto, Classical, 9.h3 a5kj4±ÌžýJB76d Sicilian: Dragon, Yugoslav, 9.g4k`¤Ÿ~ü>â”B37o Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6 8.Be2 O-O 9.O-O Nd7 10.Bd2k^Ú¹^f¾DC47h Four Knights: Glek, Main Linek^5’ëFðo8A09f Reti: Advance, 3.e3 Nc6k\¸.G¾{~D19o Slav: Dutch, 8...O-O 9.Qe2 Nbd7 10.e4 Bg6 11.Bd3 Bh5 12.e5kX]vÔq/XB97i Sicilian: Najdorf, Poisoned Pawn, 8.Qd2kU˜’OB‘b"D20g QGA: 3.e3 e5kQ' Ûd–Ž>C54o Giuoco Piano: Greco AttackkN6š¨™6)tE69k King's Indian: Fianchetto, Classical, 9.h3 Qb6 10.Re1kN4µ³cí4E70f King's Indian: KramerkNÌ¡­–šNC72 Spanish: Modern Steinitz, 5.O-O Bd7k@_FTr”VB00p Nimzowitsch Defence: 2.Nf3 d6 3.d4 Nf6k8¤xq¡ÚÕPC41k Philidor: 3...exd4 4.Nxd4 Nf6 5.Nc3k.Î æ·>A13k English: Romanishin Gambitk%ùŒ ±|FC01v French: Exchange, Canal Attackk!9°ˆXE94y King's Indian: 7.O-O Nbd7 8.Be3 c6 9.d5k>‹Í¬bdC13j French: Chatard-Alekhine, Teichmann Variationk ;4rØJA05 Reti: KIA, Reti-Smyslov Variationk&pE&ÕVB99n Sicilian: Najdorf, Main Line, 10.g4 b5k}¤Á·“HD06s QGD: 2...Bf5 3.cxd5 Bxb1 4.Rxb1kú;Á~Þ.C33 KGA: Schurig Gambitjü‘ÎÉ…ˆ©<D03m Torre Attack: 3...g6 4.e3jøYUƒX­²PC02w French: Advance, 5.Nf3 Qb6 6.a3 Bd7j÷~ŸÅ›ØXC64g Spanish: Classical, Cordel Gambit, 5.d4jï®e¹(TTC59e Two Knights: Morphy, Göring Variationjé” ýæJ©VE61w King's Indian: Smyslov System, 6.e3 c6jèæÂ–£Ñ\C63r Spanish: Schliemann, 4.Nc3 fxe4 5.Nxe4 d5jäuX"E›d>B53c Sicilian: 2...d6 3.d4 cxd4jÐ$H[MXA16 English: Anglo-Grünfeld, Czech VariationjÎè½` Õ6A86 Dutch: Leningrad, 4.Nf3jÉ™nÝÔþEVE07 Catalan: Closed, 6...Nbd7 7.Nc3 c6 8.b3jà P`ØS9HC36 KGA: Scandinavian, Modern, 5.Bc4j¯èÐ~§ž8D08 QGD: Albin Countergambitj©ˆ³65ìŸXE00b Queen's Pawn: Anti-Nimzo-Indian, 3...d5j¢ËI„|xŸHB82 Sicilian: Scheveningen, 6.f4 Qb6jžön.[wD10h Slav: 3.e3jžSNd¥@C26a Vienna: Mengarini Variationj˜>Âpî2E04a Catalan: Open, 5.Nf3jœ¨jB&JA18 English: Mikenas, 3...d6 4.d4 Be7j›øž–Í"A00e Ware Openingj_µ¯oiFB57c Sicilian: Sozin, 6...Bd7 7.O-OjV”3Û4¤B34w Sicilian: Accelerated Fianchetto, Modern, 6.Be3 Nf6 7.Be2 O-O 8.O-O d5 9.exd5j~Ÿc7i•6C28b Vienna: 3.Bc4 Nc6 4.f4j|Úžññ»RC45q Scotch: 4.Nxd4 Bc5 5.Nb3 Bb6 6.a4 a6jx¿h&Œ–B90r Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.f3 Be7 9.Qd2 O-O 10.O-O-O Nbd7jxX<‡À‡4D10o Slav: 3.Nc3 dxc4 4.a4jmçòí÷‘×lB03h Alekhine: Four Pawns Attack, Trifunovic Variationj_ØPÁ)6œ0D06r QGD: 2...Bf5 3.cxd5jXªw©==\pC67u Spanish: Open Berlin, 5.d4 Nd6 Queenswap, 9.Nc3 Ke8jO|DKYD8BB27b Sicilian: Mongoose Variationj>c^5˜ÁÌfE98j King's Indian: Mar del Plata, 9.Ne1 Nd7 10.Be3j8ÃX9GXE13f Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3j2–õû*D05i Colle: 5.c3 Nbd7j*,‘ð½xdB04n Alekhine: Modern, Fianchetto, Keres Variationj®óë‚`E54 Nimzo-Indian: Main Line, 7...dxc4 8.Bxc4 Nc6jm’&ƒ0FD35g QGD: Exchange, 5.Nf3 Be7 6.Bf4j Ê ¸•£:HA09s Reti: Accepted, Keres Variationj éw¯IEwfB01u Scandinavian: Portuguese, 4.Nf3 Qxd5 5.Be2 Nc6j(SïÀTênE93 King's Indian: Petrosian, Main Line, 8.Bg5 h6 9.Bh4iß<‹÷ÝÒZ@C78g Spanish: 5.O-O b5 6.Bb3 Be7iÞŒßcj ÔLB96g Sicilian: Najdorf, 7.f4 Qc7 8.Qf3iÙ r#³³$D04f Colle: 3...c6iËþöÀáì#*A03 Bird: 1...d5 2.b3iÉÎÖpŽÒÖ<B25n Sicilian: Closed, 6.f4 e6iÃê•Ç®2.C45d Scotch: 4.Nxd4 Qf6iÀ1‡Ñ~L§hE65c King's Indian: Fianchetto, Yugoslav, 7.O-O Nbd7iºë±ÒNB44o Sicilian, Taimanov, Szen, 6.c4 Nf6i·‰ø¨LXC49n Four Knights: Symmetrical, Metger unpini¡‘ì—$NC22 Centre GameiŸyªðRB21n Sicilian: Smith-Morra, Morphy Gambitij²À#!,6C35 KGA: Cunningham Defenceiœz(i<B40d Sicilian: 2...e6 3.b3 Nc6i›•ú^#JÕ\B33x Sicilian: Pelikan, Sveshnikov, 11.Bd3 Be6iïtUÅöHC22 Centre Game: Charousek VariationiŠðwÜB»NC50n Giuoco Pianissimo: Lucchini Gambiti‰”*ú¸÷ZB01n Scandinavian: 2...Qxd5, Main Line, 6.Bc4i‰o蛃P„ŠC43q Russian Game: Modern Attack, 3...Nxe4 4.Bd3 d5 5.Nxe5 Nd7 6.Nxd7i†UßL­|HD01n Richter-Veresov: 3...Nbd7 4.Nf3i‚½$P4@¡lB01q Scandinavian: 2...Qxd5, Main Line, 8.Qe2 Bb4 9.a3i{NqÊ»XB08e Pirc: Classical, Spassky System, 6...c6iwí8—&(HD33l QGD Tarrasch: 6.g3 Nf6 (Prague)ivÐ×ì#<HC29g Vienna Gambit: Oxford VariationiqzŒ³,·VB12f Caro-Kann: Maroczy (Fantasy), 3...dxe4ia[ŠÐì4A07 Reti: KIAi]†1´U:6D58b QGD: Tartakower, 8.Qb3i[8?l+XdB13x Caro-Kann: Panov-Botvinnik, 5...Nc6 6.Bg5 Be6iAˆÂÜœÔV:B24 Sicilian: Closed, 3.g3 g6i@¬ŸD§^0D20m QGA: 3.e4 Nc6 4.Nf3i7!ÝTõXE70m King's Indian: 4.e4 d6 5.Bd3 O-O 6.Nge2i4³ÖM3·ævC43h Russian Game: Modern Attack, 3...Nxe4 4.Bd3 Nc6 5.Bxe4i)]GS£­NB13n Caro-Kann: Panov-Botvinnik, 4...e6i#ן‚ F`E31i Nimzo-Indian: Leningrad, Main Line, 8...Qe7i'Ô@XœE14w Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.b3 O-O 8.Bb2 cxd4 9.exd4 d5i<¾ŠÂyÂ4B40b Sicilian: 2...e6 3.c4i¥[¿ÍÙå@B82 Sicilian: Scheveningen, 6.f4i¬3ñ<¿N†C67j Spanish: Open Berlin, 5...Be7 6.Qd2 Nd6 7.Bxc6 bxc6 8.dxe5 Nb7hñÊÆÂ÷@bBA54 Old Indian: 5.Bg5 Be7 6.e3 c6hîgHg1Ê\E23 Nimzo-Indian: Spielmann, 4...c5 5.dxc5 Nc6häiF#DC00r French: KIA 2.d3 d5 3.Nd2 Nf6hà…Ü<þèI>D24r QGA: Bogoljubow, 7.a4 Nxc3hàm[¤ò‰DA55e Old Indian: 5.e4 Be7 6.g3 O-OhÍREÅà±ãBD94 Grünfeld: Makogonov VariationhÀùJE…z@B15s Caro-Kann: 4.Nxe4 Nf6 5.Ng3h¾)¾5nÖðLB43e Sicilian: Kan, 5.Nc3 b5 6.Bd3 Qb6h™t„×äÈ2C31 KGD: Falkbeer, 3.exd5h•^2KßÓ<D00j Trompowsky: 2...d5 3.Bxf6h”XÕE3˜-JD33k QGD Tarrasch: Swedish, 9.e4 dxe4hŒ@äNIb‘VE75b King's Indian: Averbakh, 7.d5 e6 8.Nf3h„êƒdC+JC03j French: Tarrasch, 3...Be7 4.Ngf3hy¦ˆ+ÇMEXB02i Alekhine: Scandinavian, Exchange, 4.Bc4ht–šÊ-ÀFE08k Catalan: Closed, 7.Qc2 c6 8.b3hqF$=Ýê8D10w Slav: 3.Nc3 Nf6 4.e3 a6hlY3܃hRNC15g French: Winawer, 4.Bd3 dxe4 5.Bxe4hh]˯x#ð`A58r Benko Gambit: Fianchetto, Main Line, 11.Re1he\löoN'JC30l KGD: Classical, Hanham VariationhaB/™r ÈLC18d French: Winawer, 6...Qc7 7.Qg4 f6hS¯…£™”RA34 English: Symmetrical, 3 Knights, 5.g3hNÕ‡Ÿ€=x>C28g Vienna: 3.Bc4 Nc6 4.d3 Bc5hMŽôi»@’RB08t Pirc: Classical, 5.Be2 O-O 6.O-O Bg4h9þ åMT:B41e Sicilian: Kan, 5.Be2 Nf6h5%áø\E54 Nimzo-Indian: Main Line, Smyslov Variationh3~úö>7fB01z Scandinavian: Marshall, 4.c4 Nb6 5.Nf3 g6 6.h3h3\{ƒŒ³vA65w Benoni: Sämisch, 8.Bg5 h6 9.Be3 O-O 10.Qd2 a6 11.a4 h5h+Ó¸"[Õ™VC41o Philidor: Nimzowitsch, Klein Variationh!zȇî#pC64v Spanish: Classical, 6.c3 Bb6 7.d4 c6 8.Ba4 d6 9.Na3h!#(åØ6A09j Reti: Advance, 3.g3 c5h–:ºÝbE^E27 Nimzo-Indian: Sämisch, 5...O-O 6.f3 d5 7.e3htÂqœ±ù$B20 Sicilian: 2.g3h Šü2\E66a King's Indian: Fianchetto, Yugoslav Pannoh òn>PDC82n Spanish: Open, Baguio, 12.Nb3gúï4ä¦þ@D02i Queen's Pawn: 2.Nf3 e6 3.g3gðÄô›¬ífA76 Benoni: Classical, Main Line, 10.Qc2 Na6 11.Bf4gì+L–ƒg§LC01m French: Exchange, 4.Nf3 Nf6 5.Bd3gÚG5êflC91g Spanish: Closed, Bogoljubow, 10.d5 Na5 11.Bc2 Qc8gÙÐçñ•¸‚B22m Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nf6 5.Nf3 e6 6.Be3gÕ&ׂ’­2A28 English: Four KnightsgÒ^óó‘iÙpB99x Sicilian: Najdorf, Modern Main Line 13.f5 Nc5 14.f6gÐ;¾MÆhsHB58i Sicilian: Boleslavsky, 7.Nf3 h6gÌâ1)ƒ˜>0E60c King's Indian: 3.d5gÆö—ÄA:8:D96 Grünfeld: Russian, 5...c6gÀÞÝ=c¨èvE15p Queen's Indian: Nimzowitsch, 5.b3 Bb4+ 6.Bd2 Be7 7.Bg2g³ô6ož1`B97m Sicilian: Najdorf, Poisoned Pawn, 9.Rb1 Qa3g£‰~úc2jE49 Nimzo-Indian: Botvinnik, 7...dxc4 8.Bxc4 c5 9.Ne2gJ¾Þ% ¡@B15f Caro-Kann: Gurgenidze: 4.e5gˆþeå6ND77j Neo-Grünfeld, 6.O-O dxc4 7.Na3 Nc6g†+CPs&”BE40 Nimzo-Indian: Taimanov, 5.Bd3g¾cœŠ–hE37 Nimzo-Indian: Classical, Noa, San Remo Variationg|ƒNñ^ùäRA40h Queen's Pawn: English Defence, 3.Nc3gp°â¾Q­RE15v Queen's Indian: Rubinstein VariationgosÀHdtC47y Four Knights: Scotch, Main Line, 10.Bg5 c6 11.Qf3 Be7gk¤çÉ„«FB00f Owen Defence: Naselwaus Gambitg^×(—ó!dE85f King's Indian: Sämisch, Orthodox, 7.Nge2 Nbd7gWKûÁ¥ròBA61 Benoni: Nimzowitsch, 7...Nbd7gOй[ɽbTE32h Nimzo-Indian: Classical, 4...O-O 5.a3gKÞ˜pž3iA05 Reti: KIAgGÕùï ù‘BB01y Scandinavian: Marshall, 4.c4gCÛWôüthB05o Alekhine: Modern, Main Line, 8.h3 Bh5 9.Nc3 O-Og@Nî<Ö’`A46o Indian: 1.d4 Nf6 2.Nf3 e6 3.g3 c5 4.Bg2 Qc7g.• ‡÷Áë2B42a Sicilian: Kan, 5.Bd3gjƒ‰`¹šDC35 KGA: Cunningham, Bertin GambitgVÉ@r„2A20 English: King's, 2.g3g w¹´®8A45j Trompowsky 2...d6 3.Nc3gWNÐyVPB51h Sicilian: 3.Bb5+ Nd7 4.d4 Nf6 5.Nc3fùèÐyáG¾FE80j King's Indian: Sämisch, 5...a6fù¦B17h Caro-Kann: Steinitz, 5.Ng5eöYIß½µIXE36 Nimzo-Indian: Classical, Noa, 5.a3 Bxc3+eôݧTÏx6A10 English: Jänisch GambiteîÕªð•ÎDA30a English: Symmetrical, 2.g3 g6eî˜öîJB15k Caro-Kann: Gurgenidze: 4.Nf3 Bg7eçC9úaEFA29 English: Four Knights, 4.g3 Bb4eæÉ¨Û<Éá:D17q Slav: Central, Main Lineeá:7Œë4B09b Pirc: Austrian AttackeÙ>ù9±78E61i King's Indian: 4.Nf3 d6eÓ/¶ÿ~¬ŸLB70h Sicilian: Dragon, 6.Bc4 Bg7 7.O-OeÑ9î…€•BLC26f Vienna: Smyslov, 3...Bc5 4.Bg2 d6eБPz–è0A56b Benoni: 2...c5 3.e3eÈ£wI–­6A06 Reti: Old Indian AttackeÅÂQ‚2hC07l French: Tarrasch, Open, 4.exd5 Qxd5 5.Ngf3 cxd4eÀ^‡…?Þ(A96 Dutch: Classicale¿ûºª¶†H–C56k Two Knights: Classical, Moller, 10.Neg5 O-O-O 11.Nxe6 fxe6 12.Rxe6 Bd6e½"›ÍŽ»©LE71d King's Indian: Makagonov, 5...O-Oe¶˧Í4æ(D08 QGD: Albin, 4.e4e³P08Í lE11h Bogo-Indian: 4.Bd2 Be7 5.g3 d5 6.Bg2 O-O 7.O-O c6e²³3ÂúBA34 English: Symmetrical, 2...Nf6e²-Bµß¦BC30b King's Gambit: Mafia Defencee gíš'±wtD34w QGD Tarrasch: 9.Bg5 cxd4 10.Nxd4 h6 11.Be3 Re8 12.Rc1e–Žçô³^A70r Benoni: Classical, 8.h3 O-O 9.Bd3 a6 10.a4eаߵ²BB10i Caro-Kann: English VariationeŒèÊì!shLB52b Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Nxd7eŠrdÛ~^+FA15 English: Anglo-Indian, 2.Nf3 g6e~&bI¼6DC55o Two Knights: Modern Variationez'…’ˆ~„„B33t Sicilian: Pelikan, Chelyabinsk, 9.Bxf6 gxf6 10.Nd5 Bg7 11.Bd3evçÈ!˺@B50j Sicilian: 2.Nf3 d6 3.Nc3 e6etør¼ ήLA72 Benoni: Classical, 8.Be2 O-O 9.Nd2eW»͉¯çPC46h Three Knights: Schlechter VariationeP”DõlB99h Sicilian: Najdorf, Main Line, 10.Bd3 h6 11.Bh4 g5eDh¶ò 6Å6C70 Spanish: Caro Variatione?©Q!~[q,A03 Bird: 1...d5 2.Nf3e7+tÕŠ-ã<A43g Old Benoni: Franco-Benonie1xZ#öܲpD21p QGA: 3.Nf3 c5 4.d5 e6 5.Nc3 exd5 6.Qxd5 Qxd5 7.Nxd5e.=,ñöjD35q QGD: Exchange, 5.Bg5 c6 6.e3 Be7 7.Nf3 Bf5 8.Bd3eå#¥¢fPC01w French: Exchange Winawer, 5.Bd3 Nc6e `fAê¤W<A11 English: Caro-Kann DefencedÿṆEDD13q Slav: Exchange, 6.Bf4 e6 7.e3dìЬ Å~çRB76e Sicilian: Dragon, Yugoslav, 9.g4 Be6dÌöÑXˆÎNB05r Alekhine: Modern, Main Line, 8.Nc3dÅïXSÅŒA&B07i Pirc: 3.Bd3 g6dÅ Ñx´’eLD43u Semi-Slav: Moscow, 7.e3 Nd7 8.Bd3d¿#ÚÖ×ZC12g French: MacCutcheon, Bernstein Variationd¼BìɼA~@C02m French: Advance, 5.Nf3 Nge7d¡)ª¾ððaDA36e English: Symmetrical, 3.g3 g6d–KMº—wë4B07p Pirc: Czech, 4.f4 Qa5d“B€"d–D32x QGD Tarrasch: 5.Nf3 Nc6 6.e3 Nf6 7.Be2 cxd4 8.Nxd4 Bd6 9.O-O O-O 10.b3d‘¿iÞcF‡&D13b Slav: Exchanged‹/ñýμè`A87 Dutch: Leningrad, Main Line, 7.Nc3 Qe8 8.Re1d‡IÃÈ—:E18e Queen's Indian: 7.Nc3 d5d}joø>D28b QGA: Classical, 7.Qe2 cxd4d}A—˜#BC66 Spanish: Closed Berlin, 5.Re1dx/ LZcjC39 KGA: Kieseritsky, Salvio Defence, Cozio Variationdr@Ê´ÌVB21v Sicilian: Smith-Morra, 4.Nxc3 e6 5.Nf3dg¤ðô8A20 English: King's, 2.g3 d6df˜—IUä§bA74 Benoni: Classical, 9.O-O a6 10.a4 Nbd7 11.Bg5deM)A•&A25 English: CloseddVÎï  _ÃlE14x Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.Nc3dIEFßýbr˜B38x Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O Bd7 10.Qd2 Nxd4, 12.f3dIUâ²­áFC18d French: Winawer, 6...Qc7 7.Qg4d<íÏêwqçdA88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.b3 Na6d;yÒ-]Uf4C88h Spanish: Closed, 8.h3d2ês‘ꓺBB47r Sicilian: Taimanov, 6.Be2 a6d&ïÌL¦I±HC90k Spanish: Closed, Pilnik, 12.Nf1d&#ÏuØidA65h Benoni: 6.e4 g6 7.Bd3 Bg7 8.Nge2 O-O 9.O-O b6d%-[Š‹“\D40h QGD: Semi-Tarrasch, Symmetrical Variationdÿ¬ï1X~nD77k Neo-Grünfeld, 6.O-O dxc4 7.Na3 Nc6 8.Nxc4 Be6 9.b3d­¼«¦ÅPE21 Nimzo-Indian: Three Knights, 4...O-OdxƒïQ×.A54 Old Indian: 5.g3 c6d ·ÝÏ®4NB00o Nimzowitsch Defence: 2.Nf3 d6 3.d4cþW©Q¢‹;8E92a King's Indian: 6.Be2 e5cú!¢ŒiœÆJC56b Two Knights: Classical, 6.Re1 d5côìÑ'g8fFE14c Queen's Indian: 4.e3 Bb7 5.Nc3cëýKNl’HLD84 Grünfeld: Grünfeld Gambit Acceptedcæ 0\Î6B30b Sicilian: 2...Nc6 3.b3cåqÝ5CŠ6B40k Sicilian: Open, 2...e6cÝ£‹ÒÀ^A32 English: Symmetrical, Two Knights, 5.g3 Nc6cØÅG&¨ºò8C11d French: Steinitz, 5.Nf3cÖEBgÚÖÊXC49f Four Knights: Double Bishops, 6.d3 Bxc3cÒ2@¡mÙInC11n French: Steinitz, Boleslavsky, 7...cxd4 8.Nxd4 Bc5cÑ0ÔoVÝ 6C28c Vienna: 3.Bc4 Nc6 4.d3c¯s‘ó©FåtA32 English: Symmetrical, Two Knights, 5.Nc3 Bb4 6.Bd2 Nc6c¥³œÿ¹|C84n Spanish: Closed, Centre Attack, 7.Re1 b5 8.e5 Nxe5 9.Rxe5cžÂ±xO|·VB12r Caro-Kann: Advance, 4.Nf3 e6 5.Be2 Nd7c™à[­Ú¹MHE17o Queen's Indian: 6.O-O O-O 7.Qc2c/X„ý{G€E82k King's Indian: Sämisch, Fianchetto, 7.Bd3 a6 8.Nge2 c5 9.e5c~vðÿ²½VC68t Spanish: Exchange, Bronstein, 6.Na3 b5c{‘#]´9ûLA60d Benoni: Snake Variation vs. 4.Nf3cwý]¼*Ã@C15k French: Winawer, 4.a3 Bxc3+cuµX¿. ¥bA69i Benoni: Four Pawns, Main Line, 10.e5: 12.Bg5cp3LŒˆþùvE81i King's Indian: Sämisch, 5...O-O 6.Bg5 c5 7.d5 e6 8.Qd2coJ˜ÌÀ2D32k QGD Tarrasch: 5.dxc5chðÕ_á<D60 QGD: Orthodox, 7.cxd5 Nxd5c_?j³3B44i Sicilian: Taimanov, 5.Nxc6cFaáèPD00y Blackmar-Diemer: Bogoljubow DefencecDЉÁT;âZD14l Slav: Exchange, 8.Bd3 Main Line, 12.Rac1c<pv6ÑLE92b King's Indian: 6.Be2 e5 Queenswapc7Ã⋦)fD27v QGA: Classical, Rubinstein, 8.Qe2 cxd4, 11.Nc3c5¨»š­µ2C54l Giuoco Piano: 6.cxd4c2Ip‘Ä,A00l Van Geet: 1...Nf6c*Ûíá&œXD45w Semi-Slav: 6.Qc2 Bd6 7.Be2 O-O 8.O-O e5c&¡)_ùVÒXB38g Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2c½ ÌÈ<A92 Dutch: Stonewall Variationc&1j~ºJC02t French: Advance, 5.Nf3 Qb6 6.Be2c íĤwšŠvE16r Queen's Indian: Capablanca, 6...Bxd2+ 7.Qxd2 O-O 8.Nc3b÷ŒÙæËÎ~B79e Sicilian: Dragon, Yugoslav, Old Main Line, 12.h4 Ne5 13.g4bölçB²¯ A04 Reti: 1...f5böjÍaUO:A96 Dutch: Classical, 7.b3 a5bõ»—Jñ—ZE58 Nimzo-Indian: Main Line, 9.bxc3 Qc7 10.h3bãMX^~U¯6A24 English: Bremen, 3...g6bÕïl^‘µ”ZC13q French: Chatard-Alekhine, Breyer, 7.Bxe7bѬ6lö¬¯8D73 Neo-Grünfeld, 5.Nf3 dxc4bÏUšVþc[dA39e English: Symmetrical, Main Line 7.d4, 8...Qb6bË6•òå&„@B25c Sicilian: Closed, Botvinnikb½*wý7Ê<A40o Queen's Pawn: 1...e6 2.c4b²ËQml&DdE97v King's Indian: Mar del Plata, 9.Nd2 Nd7 10.b4b²kòÚ±×\D06u QGD: 2...Bf5 3.cxd5 Bxb1 4.Qa4+ c6 5.Rxb1b«‡Pz~bE17w Queen's Indian: Pomar, Polugaevsky Variationbª'ùðç€ 2A40b Queen's Pawn: 1...c6b©¾©Hæ VB83 Sicilian: Scheveningen, Modern, 9.f4 e5b¢nÔL“F0>E72 King's Indian: Pomar Systemb–Ðv„’î[0A53 Old Indian: 3.Nf3 c6b’gà²JE22 Nimzo-Indian: Spielmann Variationb‘­ºVÌ îvE86e King's Indian: Sämisch, Orthodox, 7.Nge2 c6 8.Qd2 Nbd7b‘ƒÑ˜^FDA57g Benko Gambit: 4.Nf3 g6 5.cxb5b]7­~ë7FC89c Spanish: Marshall, 9.exd5 Nxd5bŒ©ÎB"D(pA59l Benko Gambit: 7.e4, Main Line, 11...Nbd7 12.Re1 Qa5b|ÿ§ý¼4‚B76u Sicilian: Dragon, Yugoslav, 9.O-O-O d5: 12.Bd4 e5 13.Bc5 Be6b| „÷=œ:^A88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.Re1btE7kÃ".D73 Neo-Grünfeld, 6.Nc3brh¦Z{Âb@C78g Spanish: 5.O-O b5 6.Bb3 Be7bqbt“<š»DB17a Caro-Kann: Steinitz Variationbcx`ŠoÙ·|E15p Queen's Indian: Nimzowitsch, 5.b3 Bb4+ 6.Bd2 Be7 7.Bg2 d5baÛ(Òܹ@B15e Caro-Kann: Gurgenidze: 4.h3b_ã]Mì\:E18c Queen's Indian: 7.Nc3 d6bT1 ¢ékNC68r Spanish: Exchange, Bronstein, 6.d3bL ÒszðÙXE12c Queen's Indian: Miles, 5.e3 Bb4+ 6.Nbd2bJ`µÊ€DB58f Sicilian: Boleslavsky, 7.Ndb5b>ŽŸVÒ´‹ZC05c French: Tarrasch, Closed, 4...Ne4 5.Nxe4b=í8øV#§fE98i King's Indian: Mar del Plata, 9.Ne1 Nd7 10.Kh1b2ýA50i Indian: Slav-Indian, 3.Nf3aêø ²¼ÆíNC18i French: Winawer, 6...Ne7 7.h4 Nbc6aæ|¸É@cc>A92 Dutch: Stonewall, 7.Nbd2 c6aàjlaˆhdE97x King's Indian: Mar del Plata, 9.Nd2 a5 10.Rb1aÜ=Ù%*&D16b Slav: 5.a4 Nd5aØ{éU€²˜A75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.Bf4 Bxf3 12.Bxf3 Qe7 with 14.a5aÍHU´â¥—šB14u Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3 Bb4 7.cxd5 Nxd5 8.Qc2 Nc6 9.Bd3aÊ»áp<¸rA71 Benoni: Classical, 8.Bg5 h6 9.Bh4 a6 10.Nd2 b5 11.Be2aÆÎÊ|AäÌLB01w Scandinavian: Marshall, 4.Nf3 Bf5a‰ô¤¼öRE56 Nimzo-Indian: Main Line, 7...Nc6 8.a3a¼w€„m«‘hE52 Nimzo-Indian: Main Line, 6...b6 7.O-O Bb7 8.cxd5a¨g[Q#­-@B15v Caro-Kann: Tartakower, 6.c3a¥ÔT1ú]FC77k Spanish: Centre Attack, 5...b5a¤Ù­Îz¬¾nE73z King's Indian: Averbakh, 6...h6 7.Be3 e5 8.d5 Nbd7aš'ƒ²;NA20 English: King's, 2.g3 Nf6 3.Bg2 Nc6a–“JçÜçÏxD48p Semi-Slav: Meran, Reynolds, 10...c4 11.dxe6 fxe6 12.Bc2a•t_ÛØÏã>A08 Reti: KIA, French VariationaÍŠkDxJ2E10n Blumenfeld: 5.Bg5 h6ax´8¨ÊFA99 Dutch: Ilyin-Zhenevsky, 8.b3 a5al9áQµ7-DE00k Catalan: 3...Bb4+ 4.Bd2 Bxd2+acŠCøÆù>B91c Sicilian: Najdorf, 6.g3 g6a]cÔQ¹ýs`B16k Caro-Kann: Bronstein-Larsen, 6.c3 Bf5 7.Ne2a]ªwûn$TA42b Modern: Averbakh, Randspringer, 5.Nf3aQ¾Z²ßLD66 QGD: Orthodox, Main Line, 8...dxc4aJ¶Œç<A07 Reti: KIA, Keres VariationaIñÎrïDE70d King's Indian: 4.e4 O-O 5.Nf3a7G®]°;’jE81r King's Indian: Sämisch, 5...O-O 6.Be3 Nbd7 7.Qd2a4¨]LvTB17r Caro-Kann: Steinitz, 5.Bc4 Ngf6 6.Ng5a0M•6*ñÏHD64 QGD: Orthodox, Rubinstein Attacka)–}-#?÷FC12l French: MacCutcheon, 8.Qg4 Kf8a$ï¯tÄjÈ4E18a Queen's Indian: 7.Nc3a Ñà úvq6A24 English: Bremen, 3...g6aS¨ý¯)GHA21 English: King's, Keres VariationaàZü"Ì:C44l Ponziani: Caro Variationa*tΖï@A02 Bird: From Gambit, Schlectera5ì¶:òfA27 English: Three Knights, 3...g6 4.d4 exd4 5.Nxd4a†Õp*³sB06c Modern`úè„ͨÒDC20 Open Game: Portuguese, 2...Nc6`í™Á“50E60e King's Indian: 3.g3`çXÔkIüdE81m King's Indian: Sämisch, 5...O-O 6.Be3 c5 7.d5`ãIá †¢XC72 Spanish: Modern Steinitz, 5.O-O Bd7 6.d4`຺0œDB21e Sicilian: Grand Prix, 2...Nc6`݀ߡEÍiBC55p Two Knights: Modern, 5.e5 d5`Ú¿¢ÑzæzC82h Spanish: Open, Berlin, 10.Bc2 Bg4 11.Nbd2 Be7 12.Re1 O-O`ؾ%ÏRÌHA30b English: Symmetrical, 2.Nf3 Nc6`×/’àZà VC43a Russian Game: Modern (Steinitz) Attack`ÑnˆµæyeDA41e Neo-Old Indian / Modern: 3.g3`˘ÓT‘òä‚D58n QGD: Tartakower, 8.Be2 Bb7 9.Bxf6 Bxf6 10.cxd5 exd5 11.b4 c5`ÈâÀžP†ÈNC07f French: Tarrasch, Open, 4.Ngf3 Nf6`ǬOèZ'ND58t QGD: Tartakower, 8.cxd5 exd5 9.Bd3`¯ÆÛöæÕ<A11 English: Caro-Kann Defence`©«Ò-JD22e QGA: Alekhine, 4.e3 e6 5.Bxc4 c5`¡•` çq!NC03h French: Tarrasch, 3...Be7 4.Bd3 c5`šøZœeu*DB94d Sicilian: Najdorf, 6.Bg5 Nbd7`‡G!À=ÓBD46c Semi-Slav: Bogoljubow, 7.O-O`“«½íg0D34g QGD Tarrasch: 9.Be3`sˆ}–ÙÖ~PC99b Spanish: Closed, Chigorin, 13...Rd8`pŽÜ@^!PE44 Nimzo-Indian: Nimzowitsch, 5.Ne2 Bb7`o5ö‡äí\B18k Caro-Kann: Classical, 6.Bc4 e6 7.N1e2 Nf6`kÂlöND59n QGD: Tartakower, Main Line, 12.Qa4`e^´•|A77 Benoni: Classical, Main Line, 10.Nd2 Nbd7 11.a4 Ne5 12.Qc2`d*JŽxz`A61 Benoni: Nimzowitsch, 7...Bg7 8.Nc4 O-O 9.Bg5`]­Ûf¼ÐF^B38l Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6`\î«7Áï/vC49r Four Knights: Symmetrical, Metger, 10.d4 Ne6 11.Bc1 c5`[ ÇKGú—~E69h King's Indian: Fianchetto, Classical, 9.h3 Qa5 10.Re1 exd4`U5’AÃPB00b Reversed Grob (Borg/Basman Defence)`H-—mwIjA13v English: Neo-Catalan Accepted, 5.Qa4+ Nbd7 6.O-O`A5œ­¹(®<D45l Semi-Slav: 6.Qc2 Bd6 7.g4`=en’RÂïzE35 Nimzo-Indian: Classical, Noa, Exchange, 6.Bg5 h6 7.Bh4 c5`-èT‚i+^E23 Nimzo-Indian: Spielmann, Carlsbad Variation`,5möúÓi:C25i Vienna: Paulsen, 3...Bc5`*£öt»ƒF2A55d Old Indian: 5.e4 Be7`'Œ§²qwÌdC12f French: MacCutcheon, Olland (Dutch) Variation`$…-²lpRDD92 Grünfeld: 5.Bf4 O-O 6.Rc1 dxc4`"â–™éyB|A26 English: Closed, 5.d3 d6 6.Nf3 Nf6 7.O-O O-O 8.Rb1 a5 9.a3`"œ¥£ pŠ^B90n Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.f3`Æ[kþpC29l Vienna Gambit: Paulsen Attack, Bardeleben Variation`®—VFB13d Caro-Kann: Exchange, 4.Nf3 Nf6`¤„βåLA34 English: Symmetrical, 2...Nf6 3.g3`(Kv¥çbE11d Bogo-Indian: 4.Nbd2 b6 5.a3 Bxd2+ 6.Bxd2 Bb7`Êí)Ž„E15s Queen's Indian: Nimzowitsch, 5.b3 Bb4+, Main Line, 9.Ne5 Nfd7`j”­Õ¾pRB36b Sicilian: Maroczy Bind, 5...d6 6.Nc3_ý%™ö¢ÍFC47l Four Knights: Scotch, 4...exd4_ú“@4Ñ>0C82a Spanish: Open, 9.c3_øpøxv«xA79 Benoni: Classical, Main Line, 10.Nd2 Na6 11.f3 Nc7 12.a4_î°´Z€Ï@JC92b Spanish: Closed, Keres Variation_æ¾FûgXLE26 Nimzo-Indian: Sämisch, 5...c5 6.e3_Ø.Θï?bE27 Nimzo-Indian: Sämisch, 5...O-O 6.f3 d5 7.cxd5_Îë“yk—RC23 Bishop's Opening: Classical Variation_ʸmÎÀÏúXB52n Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Qxd7 5.O-O_Ä1ÞÏ4FVC75 Spanish: Modern Steinitz, 5.c3 Bd7 6.d4_¿:éqUJyDD45p Semi-Slav: 6.Qc2 Bd6 7.b3 O-O_¼#ø“ßnTB48j Sicilian: Taimanov, 6.Be3 a6 7.Bd3 b5_¶’ܽ¦Ô>C61i Spanish: Bird's, 5.O-O Bc5_³ÖÎ`ID¯LD93 Grünfeld: 5.Bf4 O-O 6.e3 c5 7.dxc5_³‹ƒŽ¦ |B35h Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.O-O_¨Å‘ ŒbA39l English: Symmetrical, Main Line 7.d4, 10.Qd2_§‚Êg«4D21t QGA: Alekhine Defence_¥›Ù½JC83 Spanish: Open, Classical, 10.Nbd2_”7󶈺d&D31a QGD: 3.Nc3 Nc6_’È‘N8ØJB21u Sicilian: Smith-Morra, 4.Nxc3 e6_ŽV¦Fù<E14a Queen's Indian: 4.e3 Bb4+_†qƺ¬ÕTC14c French: Classical, Tarrasch Variation_‚z<å 2D03l Torre Attack: 3...g6_‚r¼€Q&\C95j Spanish: Closed, Breyer, Main Line, 13.a4_r‰ß2òÂhC43g Russian Game: Modern Attack, 3...Nxe4 4.Bd3 Nc6_]œrýXZM&E00o Catalan: 4.Nf3_WWùä\8A06 Reti: Santasiere's folly_Rÿ›Ž„ÿZE81m King's Indian: Sämisch, 5...O-O 6.Be3 c5_K }u?ä7PE18i Queen's Indian: 7.Nc3 d5 8.Ne5 Nbd7_Já%td*LB05h Alekhine: Modern, Flohr Variation_A¡º:|ä@A37a English: Symmetrical, 5.Nf3_@î`Ý\ LA21 English: Kramnik-Shirov, 3.Nd5 Ba5_:˜í+×M%|A36v English: Symmetrical, Botvinnik System, 5...d6, 7.O-O O-O_*õêõë&¸XB99j Sicilian: Najdorf, Main Line, 10.Bd3 b5_%gH×I˜6&B07i Pirc: 3.Bd3 g6_]Õ1bA74 Benoni: Classical, 9.O-O a6 10.a4 Nbd7 11.Nd2_˜KÊ,7nE03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 c5 7.Nf3 a6 8.Qc2^þ/™<*ïë"D20c QGA: 3.e3 c5^öfÅ€ä{FD13i Slav: Exchange, 5.Nc3 e6 6.Bf4^ìèvÅf° <A11 English: Caro-Kann Defence^éŒÌLdLzE12u Queen's Indian: Petrosian, Kasparov, 7...Nxc3 8.bxc3 Be7^æèiï7fE69o King's Indian: Fianchetto, Classical, 9.h3 Re8^ãþy@Šb{|A59q Benko Gambit: 7.e4, Main Line, 11...Nbd7 12.h3 Qa5 13.Re1^Úâl¬|ÏtNE28 Nimzo-Indian: Sämisch, 5...O-O 6.e3^ÕÓšo¾S)FD30b Diemer-Duhm Gambit (DDG): 5.f3^Õ›Ù«\S"&D04c Colle: 3...Bf5^Ôw=L¡þ…bD75 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O c5 8.Nc3 Nxc3^ÔXõ»óx°hB74 Sicilian: Dragon, Classical, Spielmann Variation^Á)6<¯ TRD41l QGD: Semi-Tarrasch, 6.e4, 8.cxd4 Nc6^¼Š~7<@B29g Sicilian: Nimzowitsch, 4.c4^¹Æ)£MÍúFC60a Spanish: Spanish Countergambit^·…_ âÏQJC77m Spanish: Centre Attack, 5...Nxe4^£˜‰.ù²‡XB45i Sicilian: Taimanov, Four Knights, 6.Be3^šì HY§ÄNE58 Nimzo-Indian: Main Line, 9.bxc3 Qc7^‡铯ˆRB07e Pirc: 3.f3^…rVXfXB01l Scandinavian: 2...Qxd5, 5.Nf3 Bf5 6.Bc4^~ yŒ*fA30g English: Symmetrical, Mutual Double Fianchetto^|“ðÙÏàaVE15h Queen's Indian: Nimzowitsch, 5.Qa4 Be7^{K­FÏú FE91r King's Indian: 6.Be2 Nbd7 7.e5^uÝÏŽ,ORrB11f Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 Nf6^hêù„Ñë¢^A58j Benko Gambit: Accepted, 7.Nf3 g6 8.Nd2 Bg7^dôJs•ä›nE87i King's Indian: Sämisch, Orthodox, Bronstein, 9.Bf2^a{ä\ÙÜ~8A57h Benko Gambit: 4.cxb5 a6^]ª‹I¯ÞDE90k King's Indian: 5.Nf3 O-O 6.h3^\Û<§³Ü,A47 Neo-Queen's Indian^UÒá‰P PC98a Spanish: Closed, Chigorin, 12...Nc6^;C³Â"êPB95f Sicilian: Najdorf, 6...e6 7.Qd2 Be7^747í 3ÅbB93j Sicilian: Najdorf, 6.f4 Qc7 7.Nf3 Nbd7 8.Bd3^#ꑯ¸dE39h Nimzo-Indian: Classical, Pirc, 6.Nf3 Na6 7.g3\FÈŒØ3URC41s Philidor: Improved Hanham, 5.Bc4 Be7\E(|‚ù>B28g Sicilian: O'Kelly, 3.c4 e6\BñžŸùlC24 Bishop's Opening: Urusov Gambit, 6.Bg5 Nc6 Defence\<Ã0áƒBA45t Trompowsky: 2...Ne4 3.Bh4 g5\:­H9b‚FA37e English: Symmetrical, 5.Nf3 d6\8°àl{xÑ*B15a Caro-Kann: 3.Nc3\/öás ƒND07r QGD: Chigorin, 3.Nc3 Nf6 4.Nf3 Bg4\Šj ´'{*A53 Old Indian: 3.Nc3\ ÅÔÓû':C29p Vienna Gambit: 5.Nf3 Bb4\CÇ“Õ.‘XD45t Semi-Slav: 6.Qc2 Bd6 7.b3 O-O 8.Be2 Re8\—½çÄÎ8D77d Neo-Grünfeld, 6.O-O Nc6[÷8! ‹E»>B30c Sicilian: 2...Nc6 3.d3 Nf6[êØ´÷ä¸JC41s Philidor: Improved Hanham, 6.Ng5[éÙÓ{nMirD47p Semi-Slav: Meran, Wade, 9.O-O b4 10.Ne4 Be7 11.Nxf6+[èÂsÆ/>TB46o Sicilian: Taimanov, 5...a6 6.Be2 Nge7[è¨ÿמHD29d QGA: Classical, 8...Bb7 9.a4 b4[äÃ4°y6’D91s Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Nf3 exd5 9.e3 O-O 10.Be2[ä×ä4ÑXA57s Benko Gambit: Zaitsev, 5...axb5 6.e4 b4[ãJ õä·Ñ2C33 KGA: Eisenberg Gambit[âØ[yÅŠ<D31r Semi-Slav: Noteboom, 5.a4[àªÝÌŒÈ`A63 Benoni: Fianchetto, 9...Nbd7 10.Nd2 a6 11.a4[Þ ],ÄWlB34g Sicilian: Accelerated Fianchetto, Modern, 5...Nf6[Õ‚ì~dNC59i Two Knights: Main Line, 11.f4 exf3[ÒU‡úªHB29k Sicilian: Nimzowitsch, 4.Nc3 e6[Ï)µ…i`†E90y King's Indian: 5.Nf3 O-O 6.h3 c5 7.d5 e6 8.Bd3 exd5 9.exd5 Re8[Εà‚Ó2C51 Evans Gambit Accepted[Íù…QBC99n Spanish: Closed, Chigorin, 13...Nc6 14.Nb3 a5 15.Be3 a4 16.Nbd2 Nb4[Ì$'õàÈárB68 Sicilian: Richter-Rauzer, 7...a6, 9.f4 Be7 10.Be2 Qc7[ÈŸÔG8bB30u Sicilian: Rossolimo, 3...e6 4.O-O Nge7 5.Nc3[Æÿ5OHÿ(lB84 Sicilian: Scheveningen, Classical, 7.O-O Qc7 8.Kh1[Ã{ÊöíJA65g Benoni: 6.e4 g6 7.Bd3 Bg7 8.Nge2[¾$ÿQ¶NHC88d Spanish: Closed 7...d6 8.c3 Bg4[¼ e–ÕBA13o English: Agincourt Variation[µÚý¯=JC28p Vienna: 3.Bc4 Nc6 4.d3 Bb4 5.Ne2[³`˜.ÿãJB75 Sicilian: Dragon, Yugoslav Attack[«`D}FÕâBE70j King's Indian: 4.e4 d6 5.Bd3[«%Rz®cåTD32k QGD Tarrasch: 5.dxc5, Tarrasch Gambit[ªÕF¬»ð`@D80 Grünfeld: Stockholm, 4...Ne4[œÍe«FÍáLA65e Benoni: 6.e4 g6 7.Bf4 a6 8.Nf3 b5[• 1_û/jE90r King's Indian: 5.Nf3 O-O 6.h3 e5 7.d5 Nbd7 8.Bg5[“0!žeFC18j French: Winawer, 6...Ne7 7.Qg4[··âþ±ðXD85d Grünfeld: Exchange, 5.e4 Nxc3 6.bxc3 c5[ŠU¢]—)LD36d QGD: Exchange, 6.Qc2 Be7 7.Nf3 g6[‚s¸}’#XB32h Sicilian: 2..Nc6, Nimzowitsch Variation[ú=´0«€E38l Nimzo-Indian: Classical, 4...c5 5.dxc5 Na6: 8.b4 Nce4 9.Qd4[|ÐÖÍ’+uNE12g Queen's Indian: Petrosian, 4...Ba6[wsºøKM·XD56 QGD: Lasker Defence, Teichmann Variation[pÜË6bB80r Sicilian: Scheveningen, Fianchetto Variation[p9uñJA44p Old Benoni: Czech, 3.e4 d6 4.Bd3[oº0'µPTDD57 QGD: Lasker Defence, Main Line[_î©GÔË8D94 Grünfeld: 5.e3 O-O 6.Be2[TÂS*[p¦^E09i Catalan: Closed, Main Line, 9.e4 Ba6 10.b3[@Ñ4ú7ÚLC45p Scotch: 4.Nxd4 Bc5 5.Nb3 Bb6 6.a4[@ÿ‰}GjA07 Reti: KIA[:P,'AiTB92f Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7[.Z9ñ\4¼DC51 Evans Gambit: Normal Variation[+ŸN|¾@A60f Benoni: 4.g3 exd5 5.cxd5 b5[+TàšÐG^D52e QGD: Cambridge Springs, Yugoslav Variation[' åPõ½:E60h King's Indian: b3 System[`”A¼¥0C60a Spanish (Ruy Lopez)[ ö+ð]XD73 Neo-Grünfeld, 5.Nf3 c6 6.cxd5 cxd5 7.Nc3[vhò—z.D30k QGD: 3.Nf3 c6 4.e3[2>¼ˆgPB21f Sicilian: Grand Prix, 2...Nc6 3.Nf3Zø˜G “X €E79e King's Indian: Four Pawns Attack, Main Line, 9...Bd7 10.Qd2Zð”#ÏrDB12v Caro-Kann: Advance, 4.Nc3 Qb6Zä#%Q.º>XA16 English: Anglo-Grünfeld, 4.Nf3 g6 5.Qa4+ZàÊ6ÖbfC96m Spanish: Closed, Chigorin, Borisenko VariationZà•Î7îGHD01k Richter-Veresov: 3...Bf5 4.Bxf6ZÛx»«7NB47f Sicilian: Taimanov, 6.f4 a6 7.Nxc6ZÚ2ÆpThA39p English: Symmetrical, Main Line 7.d4, 10.Qd3 a6Z¿ë¾y:™2A21 English: Lukin, 5.Ng5Z¼-…Ã/><:C11s French: Burn, 5.Nxe4 Be7Z»€e¤}nA91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3 d5 6.O-O c6Z¶ˆŒj‹¸‚E32s Nimzo-Indian: Classical, 4...O-O 5.a3, 6...b6 7.Bg5 Bb7 8.e3Z²Ü;ç>DND61 QGD: Orthodox, Rubinstein, 7.Qc2 c5Z©yÞöcn8E70b King's Indian: 4.e4 O-OZ–ž´ÂH“dB81d Sicilian: Scheveningen, Keres, Perenyi AttackZtgxÔ±<<C45w Scotch: Blackburne AttackZ<Õ+«7í6D53t QGD: 4.Bg5 Be7 5.e3 h6Zrj¯ŽÃ"žE69z King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Re1 exd4, 11...Nc5 12.b3ZI32WD°NjE31l Nimzo-Indian: Leningrad, Main Line, 8...e5 9.Qc2ZH{Ý .MZD87h Grünfeld: Classical Exchange, 10.Be3 Qa5Z7FÌRqgÅHD16q Slav: Bronstein, 6.Ne5 Bh5 7.f3Z7$zá«_VbC92f Spanish: Closed, Karpov Variation, 10.d4 Bf6Z2øîIÕTÍ<C21 Centre Game: Halasz GambitZ*|®Žû(˜D37v QGD: Classical, 5...O-O 6.e3 c5 7.dxc5 Bxc5 8.Qc2 Nc6 9.a3 Qa5 10.O-O-OZ$N~ðò‡(D43b Semi-Slav: 5.g3Z£—Tcÿ'ZD60 QGD: Orthodox, Botvinnik, 7...dxc4 8.Bxc4Z T”9[|¸0A50h Indian: Slav-IndianZ p60ÒšNC18i French: Winawer, 6...Ne7 7.h4 Nbc6Yÿl|Á ¸DFC25q Vienna: Hamppe-Allgaier GambitYó×iŒGs!DB12w Caro-Kann: Advance, Main LineYòµ@ïÏ>FA43x Old Benoni: Schmidt, 6.Be2 O-OYðÃÄn_ò.hC04j French: Tarrasch, Guimard, Main Line, 6.Nb3 Be7YðJdšŠP6A41q Neo-Old Indian: ModernYëÆC¡d lD45e Semi-Slav: Accelerated Meran (Alekhine Variation)Yê%I²þY}ZC18o French: Winawer, 6...Ne7 7.Qg4 O-O 8.Bd3Yè8hÎñ[ï@B31a Sicilian: Rossolimo, 3...g6Yç7i{ˆD:<E94p King's Indian: 7.O-O Nbd7YÚi8u‰:¤6C07a French: Tarrasch, OpenYÖ_…^…™DB13a Caro-Kann: Exchange VariationYÒêÒõÐ0¨LD17i Slav: Central, Carlsbad VariationYÍ„~SÎ>“ˆE32t Nimzo-Indian: Classical, 4...O-O 5.a3, 6...b6 7.Bg5 Bb7 8.e3 d6Y̽ëîÿn,A48a Neo-King's IndianYÃ/`…:ô}DC11a French: Henneberger VariationY¾æ)X!zD32g QGD Tarrasch: von Hennig-Schara Gambit, 7.Qxd5 Nc6 8.Bg5Y¼ey&³IünB01p Scandinavian: 2...Qxd5, Main Line, 6.Bc4 Bf5 7.Bd2Y¸0)Co HC29i Vienna Gambit: Oxford, 5...Nxc3Y¶•tfPE41 Nimzo-Indian: Hübner, 8.O-O e5 9.Nd2Yµ†¸œbK±~B76n Sicilian: Dragon, Yugoslav, 9.O-O-O Nxd4: 11.Kb1 Qc7 12.g4Y²(aNH¶BA40c Queen's Pawn: Polish DefenceY£¸ÍïL:A10 English: 1...g6 2.Nc3 Bg7Y  8ÅøØÕ0D09 QGD: Albin, 5.g3 Be6YžXÅt‚¬„C09j French: Tarrasch, Open, Main Line, 9.c3 O-O 10.Nb3 Bb6 11.Re1Y‘êd°ŽÌ>B17b Caro-Kann: Steinitz, 5.Nf3Y‰â€BÉ@@D63 QGD: Orthodox, 7.Rc1 c6 8.a3YS8š^ÈÎTB15l Caro-Kann: Gurgenidze: 4.Nf3 Bg7 5.h3Y{Ê‚õnvSRA39a English: Symmetrical, Main Line 7.d4Yf …½2ïhTB77d Sicilian: Dragon, Yugoslav, 9.Bc4 Nd7Ycš }¸tÌ:C44p Ponziani: Fraser DefenceYagÅâVB00o Nimzowitsch Defence: 2.Nf3 d6 3.d4 Bg4Y`ç˜Ý 4þ6E01 Catalan: 4...Bb4+ 5.Bd2Y_ßáKTC45g Scotch: Steinitz, Rosenthal VariationYZÈs¤š’RB01u Scandinavian: Portuguese, 4.Be2 Bxe2YSû6¡ÒrnE77 King's Indian: Four Pawns Attack, Florentine GambitYQT=KT§îjB48r Sicilian: Taimanov, 6.Be3 a6 7.Bd3 Nf6 8.O-O Bd6YPMÊåHB01u Scandinavian: Richter VariationYK„¯ë-NPC02x French: Advance, 5.Nf3 Qb6 6.a3 Nh6YJ¯étk”|>A40b Queen's Pawn: 1...c6 2.Nf3YD44b Semi-Slav: Botvinnik, 6.a4XB01t Scandinavian: 2...Nf6 3.c4WJTÅÏ‘WZC71 Spanish: Modern Steinitz, Keres VariationWCDs*jC{zB75 Sicilian: Dragon, Yugoslav, 7...Nc6 8.Qd2 Bd7 9.O-O-O Rc8W<ëT5}}8E20 Nimzo-Indian: RomanishinW:g ,ï0B00l Nimzowitsch DefenceW9Ò¬£ÙZC11w French: Burn, 6.Bxf6 gxf6 7.Nf3 b6 8.Bd3W7A×MLKÝbD41o QGD: Semi-Tarrasch, 6.e4, Main Line, 12...b6W2»Þ¡D$D24b QGA: 4.Nc3 e6W2:îoŒ@C60c Spanish: Nürnberg VariationW(JxpScebB17s Caro-Kann: Steinitz, 5.Bc4 Ngf6 6.Ng5, 8.Bb3W$$¹É'DC12n French: MacCutcheon, 8.Qg4 g6Wïá„×`‡VE67a King's Indian: Fianchetto with 6...Nd7W °Õ/ãHE10q Blumenfeld: Spielmann VariationWÇ8%BIJC68i Spanish: Exchange, 5.Nc3 f6 6.d4W| Tsß4C80m Spanish: Open, 8.dxe5WC¿ N@C21 Centre Game: Maroczy DefenceVï¬FÍnÆpB34p Sicilian: Accelerated Fianchetto, Modern, 6.Be3 Nf6VëñÝzî¸VPB33d Sicilian: Pelikan/Sveshnikov, 6.Nf5Vè¶R€cÄÈ@D78o Neo-Grünfeld, 6.O-O c6 7.b3VäûÎ[‹{A<D13d Slav: Exchange, 5.Nc3 Bf5VÜvK¢]JbB67a Sicilian: Richter-Rauzer, 7...a6 8.O-O-O Bd7VÒT~BU½XE62m King's Indian: Fianchetto, 6...Nc6 7.d5VÈJ¹údFD34o QGD Tarrasch: Stoltz VariationVÄÁ‚€Í²+<B22b Sicilian: Alapin, 2...Nc6V¼¬ªò²aZB08r Pirc: Classical, 5.Be2 O-O 6.O-O c6 7.a4V¯<>\öfD12m Slav: 4.e3 Bf5 5.Nc3 e6 6.Bd3 Bxd3 7.Qxd3 Nbd7V¢-ÔGà ZB01h Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.d4 c6V¡=ùaBD85g Grünfeld: Exchange, 7.Be3 c5V“ÌoH‘JB21t Sicilian: Smith-Morra, 4.Nxc3 d6V‹²>¿ä TA30m English: Symmetrical, Hedgehog SystemVƒm/xë ælE54 Nimzo-Indian: Main Line, Karpov, 10.Bg5 Bb7 11.Rc1V‚Ù5¬r6B70a Sicilian: Dragon, 6.f3V€"liJC47j Four Knights: Scotch, BogoljubowVh·Ž-lX3VA21 English: Kramnik-Shirov, 3.Nd5 Be7 4.d4V`ox¨]ìó.D00a Queen's Pawn: 2.g3VGÏìxzÊXE90m King's Indian: 5.Nf3 O-O 6.h3 Na6 7.Bg5V@Ñ!y Ž6D58e QGD: Tartakower, 8.Bd3V>ö€2±TŒC07t French: Tarrasch, Open, 4.exd5 Qxd5, Main Line, 10.Nxd4 a6 11.Re1V7ýÀ«•|C67w Spanish: Open Berlin, 5.d4 Nd6 Queenswap, 9.Nc3 Ke8 10.h3V3?2!9LD80 Grünfeld: Stockholm, 4...Ne4 5.Bf4V1¬'.aíBD40b QGD: Semi-Tarrasch, 5.e3 Be7V,¤,ã$ëfE67d King's Indian: Fianchetto, Classical VariationV"&¢Ÿw ¸lB45j Sicilian: Taimanov, Four Knights, 6.Be3 Bb4 7.Bd3V² ]÷Ã.D24i QGA: 4.Nc3 a6 5.a4U÷ëLxš\H>A53 Old Indian: 3.Nc3 Nbd7 4.e4U÷èF)7’RC47c Four Knights: Van der Wiel VariationU÷NIâ©PJA65p Benoni: Sämisch, 8.Bg5 O-O 9.Qd2Uî?„®½ä2D07n QGD: Chigorin, 3.Nc3UèÀæV †FB21s Sicilian: Smith-Morra AcceptedUè°WN‹ î<C31 KGD: Falkbeer, 3.exd5 exf4Uâû%¹xÛuVA16 English: Anglo-Grünfeld, Smyslov, 7.Rb1UàÀ4“$<A70b Benoni: Classical, 7...a6UÔ< †·?BC41p Philidor: Exchange VariationUºé‹¾’›ï:C30p KGD: Classical, 4.c3 Nf6U²à¥"2ÄRA42v Modern: Averbakh, 4...e5 5.dxe5 dxe5U¬!¨íáFD19c Slav: Dutch, 8...O-O 9.Qe2 Bg6UªO'óîƒNE21 Nimzo-Indian: Three Knights, 4...c5U¥3ÖMÁô°B36p Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2 Nxd4 8.Qxd4 Bg7 9.Be3 O-O 10.Qd2 Be6UŸÂýŸƒ˜PA11 English: Caro-Kann Defence, 3.e3 Nf6UšFÝ ÐÊ2A53 Old Indian: 3.Nf3 Bf5U™þÙÆpFòtD85v Grünfeld: Modern Exchange, 8.Be3 Qa5 9.Qd2 Nc6 10.Rc1UˆtJ?ïR8E61g King's Indian: 4.g3 O-OU'¿^TÙ<D85d Grünfeld: Exchange, 7.Ba3U|^õ z±°8E00j Catalan: 3...Bb4+ 4.Bd2UsóMUsÌHC83 Spanish: Open, Classical, 10.Re1Up¡|¦[ë:A42n Modern: Averbakh, 4...e5Umá£Í´®ˆLB73 Sicilian: Dragon, Classical, 8.O-OUeËj þ6A09n Reti: Accepted, 3.Qa4+Ue‡†”ÌHZD10f Slav: Exchange, 4.Nc3 Nf6 5.Bf4 Nc6 6.e3UY‚Žìµ€C05k French: Tarrasch, Closed, 5.f4 c5 6.c3 Nc6 7.Ndf3 Qb6 8.Ne2UQS÷%õéNB42l Sicilian: Kan, 5.Bd3 Nf6 6.O-O Qc7UI×qø0.¬zE15s Queen's Indian: Nimzowitsch, 5.b3 Bb4+, Main Line, 9.Ne5UC,Öæ:Z¶FD48c Semi-Slav: Meran, 8...a6 9.O-OU?dK˜r€2DC44v Scotch: Goring Gambit, 4...d3U;©Í"IºlFA37i English: Symmetrical, 5.Nf3 e6U6 { ­Ì,`B84 Sicilian: Scheveningen, Classical, 7.O-O Nc6U3ô­à6ýTC34 KGA: Becker Defence (Anti-Kieseritzky)U-—ÎñFÕRB50v Sicilian: 2.Nf3 d6 3.c3 Nf6 4.Be2 g6U#í'á´÷8A10 English: Adorjan DefenceUËŠp.ΈRC89o Spanish: Marshall, Main Line, 15.Re4U­€ÛfE73s King's Indian: Averbakh, 6...Na6 7.Qd2 e5 8.d5UŽï,Äÿ•:E00d Queen's Pawn: Neo-IndianU_³¨”mÀtE97h King's Indian: Mar del Plata, Bayonet Attack, 9...Ne8U=Êoñ^Ã>C18a French: Winawer, 5...Bxc3+U§ìE¥HD90 Grünfeld: Three Knights ExchangeTù/;å±Þ|B90p Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.f3 Be7 9.Qd2 Nbd7Tøî†ì:ôXC12h French: MacCutcheon, Janowski VariationT÷P54³‘6LB33k Sicilian: Pelikan, 7.Bg5 a6 8.Na3TöË^† FD02j Queen's Pawn: Krause VariationTìÅœGµ¬A<D55h QGD: Neo-Orthodox, 7.Bxf6Tìg¯½»·*B23c Sicilian: ClosedTÕý¨±³Ï6C70 Spanish: Graz VariationTÐÒºc¸3ü6A84 Dutch: Bladel VariationTлoÃiP jA42l Modern: Averbakh, Kotov, 5.Be3 e5 6.d5 Nce7 7.c5TÎiÀÉþn`B49d Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.a3TÍôu\âÚˆD76k Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.d5 Na5 10.e4 c6TÄý3–ä–vD40m QGD: Semi-Tarrasch, 5.e3 Nc6 6.a3 cxd4 7.exd4 Be7 8.c5T˜[L‰åºTE15j Queen's Indian: Nimzowitsch, 5.Qa4 c5T·È,\îò˜E19p Queen's Indian: Old Main Line, 9.Qxc3 c5 10.Rd1 d6 11.b3 Bf6 12.Bb2 Qe7T­® xÀ,|JD10y Slav: 3.Nc3 Nf6 4.e3 a6 5.Qc2 b5T«kvßXábC26k Vienna: Smyslov, 3...d5, 5...Nxc3 6.bxc3 Bd6Tµ1ÎÀdhC36 KGA: Scandinavian, Modern, 5.Bb5+ c6 6.dxc6 bxc6T@k¯ý=jˆB22h Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nc6 5.Nf3 cxd4 6.cxd4T‘ Põý÷nzE60q King's Indian: Fianchetto without Nc3, 6...Nbd7 7.Qc2 e5T€eåñ‘bC82q Spanish: Open, Dilworth, 14.Kxf2 Qxf6 15.Nf1Tx\CÂäž”E48 Nimzo-Indian: 4.e3 O-O 5.Bd3 d5 6.Ne2 c5 7.cxd5 cxd4 8.exd4 Nxd5 9.O-OTt òGŽUFD18d Slav: Dutch, 6...e6 7.Bxc4 Bb4Tp|<ÆGZA42r Modern: Averbakh, 4...e5 5.Nf3 Nd7 6.Be2Tie:si$~LC75 Spanish: Modern Steinitz, 5.c3 Bd7TeíÀ°â1KJC82i Spanish: Open, Italian VariationTcZÆ>ß{¯DC23 Bishop's Opening: Lewis GambitT_6W$,hB09m Pirc: Austrian, 5...O-O 6.Bd3 Na6 7.O-O c5 8.d5T\QÉø^d\B01z Scandinavian: Marshall, 4.c4 Nb6 5.Nf3 g6T[ÝrÒ'½.B44a Sicilian: TaimanovTW‡gÙ\a—xE12u Queen's Indian: Petrosian, Kasparov, 7...Nxc3 8.bxc3 c5TRÀÍ0ú.S`B97k Sicilian: Najdorf, Poisoned Pawn, 9.Nb3 Qa3TQë¸c¯‹â(C23 Bishop's OpeningTL”°gõBR:A13g English: 1...e6 2.Nc3 d5TKÌî—†„fC96d Spanish: Closed, Chigorin, Rossolimo VariationTJ7æ/¢PE10h Neo-Indian: Blumenfeld/Benoni, 4.e3TF0š‰(3fC59l Two Knights: Main Line, 11.d4, Honfi VariationTDFXQk\ÎDE04k Catalan: Open, 5.Nf3 c5 6.O-OT?´Ùö(bB27t Sicilian: Accelerated Pterodactyl, 4.c4 Qa5+T9èéŽnï„6A16 English: Anglo-GrünfeldT7X ¦­A×€B79c Sicilian: Dragon, Yugoslav, Old Main Line, 12.h4 Ne5 13.Kb1T5÷”èœÝlhB63a Sicilian: Richter-Rauzer, Rauzer Attack (7.Qd2)T5nQŽò°ÿŠB48v Sicilian: Taimanov, 6.Be3 a6 7.Bd3 Nf6 8.O-O Ne5 9.h3 Bc5 10.Kh1T)hÁ,kF¡6C61f Spanish: Bird's, 5.O-OT&ÓK¿¸í¦,A47 Neo-Queen's IndianTìË/ÊúJE76a King's Indian: Four Pawns AttackTàŽ«{8E91b King's Indian: 6.Be2 a5TB›8 8C11h French: Steinitz, 6.Nf3TÀ•ƽïJE71b King's Indian: Makagonov, 5...c5Sû›$ãªÄÿ€B38v Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O Bd7 10.Qd2Sû”DxªVÊXC67i Spanish: Open Berlin, 5...Be7 6.Qd2 Nd6SÌ8K€¢* >C62 Spanish: Old Steinitz, 4.d4SÆÂ0’£ZŽE69r King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Be3 exd4 11.Nxd4SÆm>††tB01p Scandinavian: 2...Qxd5, Main Line, 6.Bc4 Bf5 7.Bd2 e6SÅqS‚†ClB84 Sicilian: Scheveningen, Classical, 7.O-O Qc7 8.Be3S¾‰ž[›_°@D27b QGA: Classical, 6...a6 7.b3S¹4™Ýßå0JA09h Reti: Advance, 3.g3 Nc6 4.Bg2 e5S´Ý¿%‚RvC88o Spanish: Closed, Anti-Marshall 8.a4 Bb7 9.d3 d6 10.Nc3S²è(g—á›8B06l Modern: Nc3 PterodactylS®]— )XC50r Giuoco Pianissimo: Italian Four KnightsSŸ Â#w±†\C02z French: Advance, 5.Nf3 Qb6 6.a3 c4 7.Nbd2S›à£¢ür%NC19g French: Winawer, 6...Ne7 7.Nf3 Qa5S™[œãcvB00s Nimzowitsch Defence: 2.Nf3 d6 3.d4 Nf6 4.Nc3 Bg4 5.Be3S‘Î4¹Qþd4D15g Slav: Chameleon, 5.e3SާâË8E90c King's Indian: 5.Nf3 c5S†ðá°ºIlC87d Spanish: Closed, Averbakh, 7.Bxc6+ bxc6 8.d4 exd4Sz¶ ÅiVC27i Vienna: Frankenstein-Dracula VariationSlÈôÊÅvæJE75a King's Indian: Averbakh, 7.d5 e6Sf823®úÚ.D00a Queen's Pawn: 2.f4Sdb“àÏ?<C03f French: Tarrasch, 3...Be7Sdw)±ÞVB58g Sicilian: Boleslavsky, Louma VariationSR—èÌ'˜°TB12k Caro-Kann: Advance, 3...c5 4.dxc5 Nc6SO Dr(3:D71 Neo-Grünfeld, 5.cxd5 Nxd5SDª8ô'>^4C25r Vienna: Pierce GambitS@õf–DÒe\A16 English: Anglo-Grünfeld, Smyslov VariationS?5›P{BB15d Caro-Kann: Gurgenidze: 4.Be3S=1âMé:A09q Reti: Accepted, 3.Na3 c5S7 üÇx^:D23o QGA: Mannheim, Main LineSöÛÆ$Ž@B23n Sicilian: Chameleon, 3...g6SïÌë%½hE23 Nimzo-Indian: Spielmann, 4...c5 5.dxc5 Nc6 6.Nf3S€õËåTD27u QGA: Classical, Rubinstein, 8.Qe2 Qc7S‰íÊ7sFC00s French: KIA, Reversed PhilidorSúWº#1,dA87 Dutch: Leningrad, Main Line, 7.Nc3 Qe8 8.d5 a5RîêÜÚÅQÄ`B97j Sicilian: Najdorf, Poisoned Pawn, 9.Nb3 Nc6RíàÉ4XdA94 Dutch: Stonewall, Botvinnik, 8.Ba3 Bxa3 9.Nxa3Rß@ $o•jB67i Sicilian: Richter-Rauzer, 7...a6, 9.f4 h6 10.Bh4Rݧò@©[ zA65x Benoni: Sämisch, 8.Bg5 h6 9.Be3 O-O 10.Qd2 a6 11.a4 Nbd7RÖž¯XÈfk^A38f English: Symmetrical, Main Line, 6.O-O O-ORÎÎOt²W³`B02k Alekhine: Scandinavian, Exchange, 4.Bc4 Nb6RËGndE15f Queen's Indian: Nimzowitsch, 5.Nbd2 Bb7 6.Bg2RÀÙ)ZžÄHE40 Nimzo-Indian: Taimanov, 5.Ne2 d5Rµ}¶ªHþTE35 Nimzo-Indian: Classical, Noa, ExchangeR­§øIcÏXfA36t English: Symmetrical, Botvinnik, 5...d6 6.Nge2R­R/·ÅJHC34 KGA: Bonsch-Osmolovsky VariationR ¼ȳ)$D20m QGA: 3.e4 Nc6R‘·"õPD00k Trompowsky: 2...d5 3.Bxf6 exf6 4.e3RñºŸŒ ‡HB21m Sicilian: Smith-Morra, 2...cxd4Rpëöƒ6;jD19k Slav: Dutch, 8...O-O 9.Qe2 Nbd7 10.e4 Bg6 11.Bd3Rm-”ËæíjA45o Trompowsky: 2...e6 3.e4 h6 4.Bxf6 Qxf6 5.Nc3 Bb4Ri:~˜¬€JB01i Scandinavian: 2...Qxd5, 5.Bc4 c6RfÝo[À¹ <D01l Richter-Veresov: 3...Nbd7RfctAikõNB44k Sicilian, Taimanov, Szen VariationRa=ÀúQ¥ƒ6C46g Three Knights: 3...Bb4R^ΩßËÒv<D30h QGD: Tarrasch without Nc3RTƒOA|»RA53 Old Indian: 3.Nc3 Nbd7 4.e4 e5 5.Nge2RPÁ!qÅ*bE74h King's Indian: Averbakh, 6...c5 7.d5 a6 8.a4RB"Ú»%7õVB76o Sicilian: Dragon, Yugoslav, 9.O-O-O d5RAw Ô¬²¸VE97x King's Indian: Mar del Plata, 9.Nd2 a5R?Ù%A@B29f Sicilian: Nimzowitsch, 3.e5R=Ï~݇8D17k Slav: Central, 6.Ne5 e6R:⢉aÞHA18 English: Mikenas, Flohr, 7.d4 e5R:ÖŒx†±tA36d English: Symmetrical, Keres-Parma, Main Line ExchangeR&;²ˆ×{D|B59o Sicilian: Boleslavsky, 7.Nb3 Be7 8.O-O O-O 9.Be3 a5 10.a4Røna©£dE34 Nimzo-Indian: Classical, Noa, 5.cxd5 Qxd5 6.e3R 4ZÂä•^D54c QGD: Anti-Neo-Orthodox, 8.cxd5 Nxd5 9.Nxd5Qü3â»§wpVB37e Sicilian: Maroczy Bind, 6.Nc2 d6 7.Be2Qüþd³×,A00n Grob: Double GrobQû»sÅì¹ÁND40e QGD: Semi-Tarrasch, 5.e3 a6 6.cxd5Qò¯†Õ¹@C39 KGA: Allgaier, Urusov AttackQñ}<æñ`DA46x Torre Attack: 3...h6 4.Bh4 g5Qï2 Ðù3 4A13e English: 1...e6 2.Nc3QêU= }jÈVB97c Sicilian: Najdorf, Poisoned Pawn, 8.a3Q翃o,—XE92g King's Indian: Gligoric-Taimanov SystemQÚ[÷]z‚HD43k Semi-Slav: Moscow, 6.Bh4 GambitQÙV®ó]ÊPA01 Nimzowitsch-Larsen: Indian VariationQÏ#°#iZTC33 KGA: bishop's Gambit, McDonnell AttackQÆè“¤æ¦ŠB70w Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-O 8.Bg5 Nc6 9.Nb3 Be6 10.Kh1QÂÿ¤R_“VA94 Dutch: Stonewall, Botvinnik, 8.Ba3 Nbd7Q¼ö© ·×XD20q QGA: 3.e4 Nf6 4.e5 Nd5 5.Bxc4 Nb6 6.Bb3Q¹,ÿ‘¼sÄ^D41v QGD: Semi-Tarrasch, 7.Bc4 Main Line, 13.h4Q¶Ž¨óI£`B63l Sicilian: Richter-Rauzer, 7.Qd2 Be7 8.O-O-OQ®¡®ƒ&|FD60 QGD: Orthodox, Rauzer VariationQ¨öqcwˆvD42p QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Bf6 11.Be4Q¨]ú²¤ÐBB29i Sicilian: Nimzowitsch, 4.Nc3Q£=ÆŠ¶2D38b QGD: Ragozin, 5.Qa4+Q¡mº_¬ydE94d King's Indian: 7.O-O exd4 8.Nxd4 Re8 9.f3 Nc6Qš 7ݵt`B89 Sicilian: Velimirovic, 9.O-O-O Qc7 10.Bb3 a6Q—;çeåÀœHC32 KGD: Falkbeer, 5.dxe4 Nxe4 6.Nf3Q’©7ñÓ:=8B90d Sicilian: Najdorf, 6.f3QŽý“ØÄÆRB18f Caro-Kann: Classical, Maroczy AttackQ‹•Ãwøè`A34 English: Symmetrical, 3 Knights, 3...e6 4.g3Q„wó–%Áf8D23c QGA: Mannheim VariationQ}.€Nd™"E01 Catalan: OpenQ}RÙ Íi8D46b Semi-Slav: Romih, 7.O-OQ|O|·'Ð6A42c Modern: c4 PterodactylQz´¡Û©„ºVC67i Spanish: Open Berlin, Cordel VariationQz:p&‰ÖVB21g Sicilian: Grand Prix, 2...Nc6 3.Nf3 e6QsóÒãPÍõ<A02 Bird: 1..Nf6 2.Nf3 g6 3.g3Qp†GmqÊLB92d Sicilian: Najdorf, 6.Be2 e5 7.Nf3Qm@kl=^¦HC53 Giuoco Piano: Eisinger VariationQXîõÿI*÷0C45c Scotch: 4.Nxd4 Bb4+QW×ÛVWZbD41o QGD: Semi-Tarrasch, 6.e4, Main Line, 12...b6QW.&’Q8A09b Reti: Advance VariationQQ­L RGdC82e Spanish: Open, Berlin, 10.Bc2 Bg4 11.Nbd2 Be7QHB“#¼nD35t QGD: Exchange, 5.Bg5 c6 6.e3 Be7 7.Bd3 Nbd7 8.Nge2QG¢ÑC»´PB95i Sicilian: Najdorf, 6...e6 7.Qd3 Nc6Q>…Ïz؃LA08 Reti: KIA, 2...c5, 3.Bg2 Nc6 4.O-OQ:*íÜ~>C41i Philidor: Morphy VariationQ5ŸDi™ŒJA18 English: Mikenas, Flohr VariationQ4ä )™vBB59a Sicilian: Boleslavsky, 7.Nb3Q1ê>ï˜Ê`B19j Caro-Kann: Classical, Spassky, 10.Qxd3 Ngf6Q.`­ä¢<A86 Dutch: Leningrad VariationQ&Pð¡òËÖXB34e Sicilian: Accelerated Fianchetto, 5.Be3Q%½p› £bA67o Benoni: Four Pawns, Taimanov, 9.a4 a6 10.Be2Q$XiŸýÌXE08n Catalan: Closed, 7.Qc2 c6 8.b3 b6 9.Rd1Qõ×%)Ö ŠE14i Queen's Indian: 4.e3 Bb7 5.Bd3 Bb4+ 6.Nbd2 O-O 7.O-O d5 8.a3 Be7Qo†x,íaJB44k Sicilian, Taimanov, Szen, 5...d6QÅgM[ÓHHB11a Caro-Kann: Two Knights, 3...Bg4Q»´9ì5>E72 King's Indian: 4.e4 d6 5.g3Qˆ mÐ:A21 English: King's, 2.Nc3 f5Q¥Dyƒ“LC82c Spanish: Open, Berlin, 10.Bc2 Bg4Pû÷%ØbB22p Sicilian: Alapin, 2...Nf6 3.e5 Nd5 4.Nf3 Nc6P÷ÝS5«3?6D11m Slav: Slav-Reti SystemPöõ[6†^FA84 Dutch: Staunton Gambit DeferredPöáV¹59~B81g Sicilian: Scheveningen, Keres, Perenyi Attack, 7...h6 8.f4PÚ½§Ž…ÊLB15r Caro-Kann: 4.Nxe4 Nf6 5.f3 GambitPÕQe"I¯›hC50s Giuoco Pianissimo: Italian Four Knights, 5...d6PÔªü‡|fÁ\E16k Queen's Indian: Capablanca, Riumin, 7.Nc3PÓñ ß]q†C13m French: Chatard-Alekhine, 6...Bxg5 7.hxg5 Qxg5 8.Nh3 Qe7 9.Nf4PÓœÑRؤ’BA57e Benko Gambit: 4.Nf3 Bb7 5.a4PÓ#þ r‹ÝbA67k Benoni: Four Pawns, Taimanov, 9.a4 (Zaitsev)PÈê`7·Ã\E17v Queen's Indian: Pomar, Taimanov VariationPÈv GÆ™U‚D76k Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.d5 Na5 10.e4PÆÍš€_0ù>A70d Benoni: Classical, 7...Bg7P³òx‚ºµwHE73v King's Indian: Averbakh, 6...h6P²½‰‚!»5hE91i King's Indian: 6.Be2 c5 7.d5 e6 8.O-O Re8 9.Nd2P¯¾– åæPD41t QGD: Semi-Tarrasch, 7.Bc4 Main LineP¦«ÁMa~NA63 Benoni: Fianchetto, 9...Nbd7 10.Nd2P”…!é*NjB84 Sicilian: Scheveningen, Classical, 7.O-O Qc7 8.a4PÉoó{ôXNC68g Spanish: Exchange, Keres VariationP´Sg ÝNC41g Philidor: Hanham, Delmar VariationP‹AÍ/@Ö@D03c Torre Attack: 3...Ne4 4.Bf4PˆÙØTèæ^C75 Spanish: Modern Steinitz, 5.c3 Bd7 6.d4 Nf6P……Çä—\Ð>C64a Spanish: Classical DefenceP… ÷'|E69t King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Re1 Qc7P{u'‚›ÿ%FD17n Slav: Central, 7.f3 Bb4 8.Nxc4Pp­5Á‰²-bD79m Neo-Grünfeld, Main Line, 10.f4 Nc6 11.Be3 f6P[ÊÆ<ÔûlD46r Semi-Slav: Chigorin, Main Line, 10...h6 11.Bc2 e5PY4ìøWg RC89l Spanish: Marshall, Main Line, 13.Re2PAPYn̨K\E03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 a6 7.Nf3P>ýN±‘ý30D17a Slav: Czech DefenceP<Çl‚ àTC59f Two Knights: Morphy, Geller VariationP:°Ûj`C42q Russian Game: Classical, Tarrasch VariationP6Y÷ô‘¸ÿRD99b Grünfeld: Russian, Smyslov, YugoslavP3ýI范+TC14f French: Classical, Steinitz VariationP0A‚û0A10 English: Anglo-DutchP-¦<§¤1ënE68l King's Indian: Fianchetto, Classical, 8.e4 c6 9.b3P,µXú(Û‹lE86c King's Indian: Sämisch, Orthodox, 7.Nge2 c6 8.Qb3P(7Ÿ•#GÿVE77 King's Indian: Four Pawns Attack, 6.Be2PÇX±È„TA99 Dutch: Ilyin-Zhenevsky, 8.b3 Qh5 9.Bb2P |€ŽL‰6C44j Ponziani CountergambitOý>ÓGL®ŽjD84 Grünfeld: Grünfeld Gambit Accepted, 8...Nc6 9.Ne2Oü\c:$uyLA46m Indian: 1.d4 Nf6 2.Nf3 e6 3.g3 b5Oø–psƒÈnVE90n King's Indian: 5.Nf3 O-O 6.h3 e5 7.Be3OôÃ%ßfE88f King's Indian: Sämisch, Orthodox, PolugayevskyOîOkPo&fA31 English: Symmetrical, Two Knights, 4...e5 5.Nb5O타?ƒSfA77 Benoni: Classical, Main Line, 10.Nd2 Nbd7 11.a4OéßëWÒP4A17 English: Nimzo-EnglishOçt…½ZC40u Latvian Gambit: 3.Nxe5 Qf6 4.d4 d6 5.Nc4OçY+jéWØ4A61 Benoni: 6.Nf3 g6 7.Bf4OѶؓ0?@B21o Sicilian: Smith-Morra, 3.c3OÐÿô†˜NñhB58m Sicilian: Boleslavsky, 7.Nf3 h6 8.O-O Be7 9.Re1OÉŽ‹Û—{³4D10s Slav: 3.Nc3 Nf6 4.Bg5OƇ&qkx`,C10c French: 3.Nc3 Nc6OÅÙ”¤ Œ´tD36n QGD: Exchange, Main Line, 9.Nge2 Re8 10.O-O Nf8 11.f3Oºîš­R<A02 Bird: 1..Nf6 2.Nf3 g6 3.g3O¹G…ü¨½Â6C37 KGA: Rosentreter GambitO´oÙ"!‰ÓhE35 Nimzo-Indian: Classical, Noa, Exchange, 6.Bg5 c5O¥/ÞæâDLC92e Spanish: Closed, Karpov VariationOÌÛ%a§VB04j Alekhine: Modern, Fianchetto VariationO““Û",Ô|JC42m Russian Game: Nimzowitsch AttackO’õÝò®LA45p Trompowsky: 2...c5 3.d5 Qb6 4.Nc3OB( €èYhD97j Grünfeld: Russian, Alekhine, 8.e5 b5 9.Qb3 Nfd7O‡*X£éjsBC13h French: Classical, 5.e5 Nfd7O‡€ãÎPµnC63q Spanish: Schliemann, 4.Nc3 fxe4 5.Nxe4 Nf6 6.Nxf6+O¿Lºú…¡RC45i Scotch: 4.Nxd4 Nf6 5.Nxc6 bxc6 6.Bd3Ou™ÝÁ·«tC48l Four Knights: Rubinstein, Exchange Variation, 8...Bc5Ooᙌ5BBB03r Alekhine: Exchange, 5...cxd6Ofõ _9àÐZD63 QGD: Orthodox, 7.Rc1 b6, Pillsbury AttackOaµJ :gÃXD20p QGA: 3.e4 Nf6 4.e5 Nd5 5.Bxc4 Nb6 6.Bd3O`öˆ«Çß^B60f Sicilian: Richter-Rauzer, Larsen VariationO^²3ñŸ™dA78 Benoni: Classical, Main Line, 10.Nd2 Na6 11.f4OXŸØK©jVA83k Dutch: Staunton Gambit, 4.Bg5 Nc6 5.f3OH¸À$Õ{PC97g Spanish: Closed, Chigorin, 12...Rd8OG—Ñ~ÐiDD30t QGD: 3.Nf3 Nf6 4.e3 c6 5.Nbd2ODåöˆJJC41x Philidor: Improved Hanham, 7.Re1O@ú½ˆù(C60b Spanish: 3...a5O=–d°/qjE87f King's Indian: Sämisch, Orthodox, 7.d5 Nh5 8.Qd2O&èy GÍE97q King's Indian: Mar del Plata, Bayonet, 9...Nh5 10.Re1 Nf4 11.Bf1 a5O!¨,w–mD20l QGA: 3.e4OöÄÙ4Ö2A92 Dutch: Alekhine, 7.d5Oˆ/¾SøðTA70n Benoni: Classical, 8.h3 O-O 9.Bd3 Re8O$*I2ô®@B86 Sicilian: Sozin-ScheveningenO ¿>'9…~E13n Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 g5 8.Bg3 Ne4 9.Qc2N÷9Y׎DYFA25 English: Closed, Hort VariationNôžBbŠpB61f Sicilian: Richter-Rauzer, Larsen, 7.Qd2 Rc8 8.O-O-ONâ¶5ƒüVB12d Caro-Kann: Maroczy (Fantasy) VariationNà% üôšDC42j Russian Game: 3.Nxe5 d6 4.Nf3NØ´¿êÁNã^D66 QGD: Orthodox, Main Line, 8...h6 9.Bh4 dxc4NÓ§FwH :XE12c Queen's Indian: Miles, 5.e3 Bb4+ 6.Nfd2NÓ;J;lB80l Sicilian: Scheveningen, English, 7...b5 8.Qd2 Bb7NË/Y‰ÔEÌfB01v Scandinavian: Portuguese, 4.f3 Bf5 5.Bb5+ Nbd7NÈÇØá[DE61j King's Indian: Smyslov SystemNÈgìp̯hB74 Sicilian: Dragon, Classical, 9.Nb3 Be6 10.f4 Rc8NÅõ¡lA22 English: Bremen, Reverse Dragon, 4.cxd5 Nxd5 5.Bg2NŸ[<ñïO@D25k QGA: Janowski-Larsen, 6.Nc3NÄ'VJVÛ<A11 English: Caro-Kann DefenceN ¹±-7YhB09w Pirc: Austrian, 5...c5 6.Bb5+ Bd7 7.e5 Ng4 8.e6N¿:¿?I·D®E13p Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 g5 8.Bg3 Ne4 9.Qc2 Bxc3+ 10.bxc3 d6 11.Bd3N¾X£…r$B10a Caro-KannN»v|÷X™ÿhC82s Spanish: Open, Dilworth, 14.Kxf2 Qxf6 15.Kg1 g5N¹¥EEŽ.>A08 Reti: KIA, French VariationN³3Pð`dH"D20f QGA: 3.e3 e5N¬Û‹ìVQŽ^E71i King's Indian: Makagonov, 5...O-O 6.Bg5 h6N«„TD ¹³dC95k Spanish: Closed, Breyer, Main Line, 14.Ng3 c5Nª1|û”\¬>D46f Semi-Slav: Chigorin, 7.Qc2N©U\…ŸÅåZC00e French: Steiner (Anglo-French) VariationN£›¢LY|ËJE11x Bogo-Indian: 4.Bd2 Bxd2+ 5.Nbxd2N£#×DQê8D32n QGD Tarrasch: 5.Nf3 Nc6N‘¸1;ÈüQHC13i French: Chatard-Alekhine AttackNŠÊõ6‘LJ<C27b Vienna: 3.Bc4 Nxe4 4.Nxe4NŠzšsHÞÉHA48n Neo-King's Indian: Torre AttackNŠQwì¹rFA52i Budapest: Rubinstein, 4...Bb4+NƒXÃm “HC82n Spanish: Open, Baguio VariationN‚‡f0ZC71 Spanish: Modern Steinitz, Noah's Ark TrapN{X¢OhA†C19r French: Winawer, 6...Ne7 7.Nf3 Nbc6 8.a4 Qa5+ 9.Bd2 Bd7 10.Bb5NyIÒÜ^5TA90 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 d5 5.Nh3Nwèo«“4†B14o Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3 Be7 7.cxd5 Nxd5 8.Bd3NwzÀ»Ù~~LD52l QGD: Cambridge Springs, 8.Qc2 O-ONtC77c Spanish: Anderssen, 5...b5N4ÜsífVBC32 KGD: Falkbeer, 4.d3 Nf6 5.Nc3N0H"Êß…DD47n Semi-Slav: Meran, Wade, 9.O-ON/_¬Ï¾pB40q Sicilian: Open, 2...e6, 4.Nxd4 Nf6 5.Bd3 Nc6 6.Nxc6N,ÌC}\ÌNC23 Bishop's Opening: MacDonnell GambitN#ÿº±Ç ørC17s French: Winawer, Swiss, 6.b4 cxd4 7.Nb5 Bc7 8.f4 Bd7N«'ÞÏ6âhE95g King's Indian: 7.O-O Nbd7 8.Re1 exd4 9.Nxd4 Nc5Nü/èMÙ¨tE38f Nimzo-Indian: Classical, 4...c5 5.dxc5 Bxc5 6.Nf3 Qb6N=Π"jfE09e Catalan: Closed, Main Line, Sokolsky VariationN»_ÊÜͧ(A80k Dutch: 2.Nc3 d5Nur×%ýp2D32d QGD Tarrasch: 4.cxd5MþSRšáZµ(A80g Dutch: 2.Bg5 g6MýAYo»1ËBD78c Neo-Grünfeld, 6.O-O c6 7.Ne5Mú€^©-Ö‹$D80 Grünfeld: 4.h4Múaú_~+±RA30p English: Symmetrical, Hedgehog, 7.b3MòùèØG¥LD35e QGD: Exchange, 5.Nf3 Nbd7 6.e3 c6MåÖIÍÊîvB78l Sicilian: Dragon, Yugoslav, Main Line, 12.h4 h5 13.Bh6MáMñש 8šB66n Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Be3 Be7 10.f3 Nxd4 11.Bxd4Mà[D$ïÈ nC74 Spanish: Modern Steinitz, Siesta, Kopayev VariationMÛ¨à~¼ÍZC12e French: MacCutcheon, Grigoriev VariationMÉᔜ)njD59i QGD: Tartakower, 8.cxd5 Nxd5 9.Bxe7 Qxe7 10.Nxd5M½{Ú<,5u€B85 Sicilian: Scheveningen, Classical, Main Line, 9...Nc6 10.Kh1M»gŒ‰{cPC67h Spanish: Open Berlin, 5...Be7 6.Qe2M·=ó!ðLD77h Neo-Grünfeld, 6.O-O dxc4 7.Na3 c3M³?¼SË*A03 Bird: 1...d5 2.b3M®Ÿs&…tB€E89g King's Indian: Sämisch, Orthodox Main Line, 10.Qd2 a6 11.g4M¥¾t}ýNE18o Queen's Indian: 7.Nc3 Ne4 8.Bd2 f5M£û̧*<>D50 QGD: Dutch-Peruvian, 5.cxd5M¢5áºÓ Á<A80o Dutch: 2.Nc3 Nf6 3.Bg5 d5M—¶Ž»_õ tB13y Caro-Kann: Panov-Botvinnik, 5...Nc6, Normal VariationM—”¯IÝ‚ÇHE06 Catalan: Closed, 6.O-O c6 7.Nbd2MŠöá+ȱúrE69p King's Indian: Fianchetto, Classical, 9.h3 Re8 10.b3M„‘W¬žéVB12h Caro-Kann: Gurgenidze/Modern: 3.Nd2 g6M„hWS¶üŠlB45r Sicilian: Taimanov, Four Knights, 6.Ndb5 Bb4 7.a3MƒìZz¾$A00v Benko OpeningMyšNžªBú6D23e QGA: Mannheim, 4...Nc6Msá¤)’nE71o King's Indian: Makagonov, 5...O-O 6.Bg5 c5 7.d5 e6Mp~”«aðWnC76 Spanish: Modern Steinitz, Bronstein, 7.O-O Bg7 8.d5MGµî ®@A02 Bird: 1..g6MD§Ïþ1sß0A10 English: Anglo-DutchM@Ž<0õoÔ^C12r French: MacCutcheon, Main Line, 11.Nf3 Nc6M@T†Ãð ,A02 Bird: Swiss GambitM>äç´Ø_Û6A24 English: Bremen, 3...g6M:xÉL¤¾pC74 Spanish: Modern Steinitz, Siesta, Kopayev, Main LineM,1Ø·ªÓ 4C91a Spanish: Closed, 9.d4M+Â¥è+jD:C64b Spanish: Classical, 4.c3M(»D®òî`A87 Dutch: Leningrad, Main Line, 7.Nc3 Qe8 8.Nd5M%@í‚z=jtB33v Sicilian: Pelikan, Sveshnikov, 11.c3 Bg7 12.exf5 Bxf5M$ ±,C^õTD58h QGD: Tartakower, 8.Bd3 Bb7 9.O-O Nbd7M#ó1k°ë’>C41g Philidor: Hanham, 4.Bc4 c6M²· ù@X:C20 Open Game: Alapin OpeningM“öA-tÌXA30f English: Symmetrical, Double FianchettoMeÝÌ¡}#<B89 Sicilian: Sozin, 7.Be3 Be7MÍŸà!pB79a Sicilian: Dragon, Yugoslav, Old Main Line, 12.h4 h5Mzq #æRnE39k Nimzo-Indian: Classical, Pirc, 6.a3 Bxc5 7.Nf3 Nc6MJŠÂâúÊ@C10g French: Rubinstein, 4...Nf6M;×>X@A73 Benoni: Classical, 9.O-O Bg4LÿÎð£ÇbhB81r Sicilian: Scheveningen, Keres, 6...Nc6 7.g5 Nd7Lù›+>CRC40m Latvian Gambit: 3.d4 fxe4 5.Nxe5 Nf6Lö?éÝrL (D09 QGD: Albin, 5.g3Lò†ÕmÝ÷6B07h Pirc: 3.Bd3 e5 4.c3 d5LñžN¶³ì&A25 English: ClosedLð†Ùp1úŠE97k King's Indian: Mar del Plata, Bayonet Attack, 9...a5 10.Ba3 axb4Lè¼jäL”WRB13p Caro-Kann: Panov-Botvinnik, 5...dxc4LÚë*D YrE76j King's Indian: Four Pawns Attack, 6.Nf3 Na6 7.Bd3 e5LÓ?ÞMÜÃ6xC40p Latvian: Blackburne Variation (Corkscrew Countergambit)LÉ Âˆ ÿ¬nB32y Sicilian: Lowenthal, Kalashnikov, Main Line, 9.Be2LÁâoFß+Æ<A02 Bird: 1..Nf6 2.Nf3 g6 3.g3LµÔص!PC01e French: Exchange, 4.c4 Nf6 5.Nc3 c6L´bû0oùüPA49 Neo-King's Indian: Fianchetto SystemL§Áqb'¡ HD00l Blackmar-Diemer: Zeller DefenceL¦/ÊÍ„—VE12r Queen's Indian: Petrosian, 6.cxd5 Nxd5L¢»­ß€ÑùjE74l King's Indian: Averbakh, 6...c5 7.d5 h6 8.Be3 e6LŸ»öímZJB25h Sicilian: Closed, 6.f4 Nf6 7.Nf3LœqAö‘>A86 Dutch: Leningrad, 4.Bg2 Bg7L˜Ñz‚ù‡dC97c Spanish: Closed, Chigorin, 11.d4 Qc7 12.d5 c4L‘9*ÌÅze<C41r Philidor: Improved HanhamLEG*…y:A04 Reti: Lisitsin: 3.Ng5 Nf6Lˆ ø©hïBD17o Slav: Central, 7.f3 Bb4 8.e4L{–û^Ø©rE89d King's Indian: Sämisch, Orthodox Main Line, 9...Nbd7Lj5«˜ºÕ D10i Slav: 3.Nc3LcšB§“)<D43o Semi-Slav: Moscow, 6.Bxf6Lb£×Ï›ÆéLB38b Sicilian: Maroczy Bind, 6.Be3 Nh6L]:¿ÊWå B07k Pirc: 3.Nc3L[*ìŸ4¿A07 Reti: KIALV·RgZ´}2D38e QGD: Ragozin, 5.cxd5LTê°¯ÎÖZA36o English: Symmetrical, Botvinnik, 5...Nf6LP­¦ÈV)XVA41s Neo-Old Indian: Modern, 3.Nf3 Bg7 4.e4LKé™%¹7°>D93 Grünfeld: 5.Bf4 O-O 6.e3 c6L@}n'á3qVA67b Benoni: Four Pawns, Taimanov, 8...Nbd7L7T­&ZhÀ4A45a Indian: Arafat GambitL.ŒØríbC02u French: Advance, 5.Nf3 Qb6 6.Be2 cxd4 7.cxd4L*eÄûÈRnRD45v Semi-Slav: 6.Qc2 Bd6 7.Be2 O-O 8.O-OL*po^+LD22h QGA: Alekhine, 4.e3 Bg4 5.Bxc4 e6L)ð¬øìLfD83 Grünfeld: Grünfeld Gambit, Capablanca VariationL(uµ§`Û:E02 Catalan: Open, 5.Qa4+ Bd7Lï `“HzC47m Four Knights: Belgrade Gambit, 5...Nxe4 6.Qe2 (Old Line)LæžBáÂVC89d Spanish: Marshall, 9.exd5 Nxd5 10.Nxe5L±«åbE03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 c5 7.Nf3 a6LNó%Ÿv8ŒC58c Two Knights: Morphy, Kieseritsky Variation, 6...h6 7.Nf3 e4 8.Qe2L磲kÝ;HD66 QGD: Orthodox, Main Line, 8...a6L &*L{4C02i French: Advance, WadeKð™[칩°XA40y Queen's Pawn: Modern, Beefeater DefenceKב,PýÈé`E79a King's Indian: Four Pawns Attack, Main LineKÊǾnqXE39a Nimzo-Indian: Classical, Pirc VariationKÊ/c5H¡N:C29o Vienna Gambit: 5.Nf3 Bg4K¾=ª³‚'¶dB66e Sicilian: Richter-Rauzer, 7...a6 8.O-O-O Nxd4K»@¢Ì¡KbVC56l Two Knights: Classical, Moller, 10.Bd2K®'|ì¾>؈E12f Queen's Indian: Petrosian, 4...c5 5.d5 Ba6 6.Qc2 exd5 6.cxd5 g6K¢â}мø"A80j Dutch: 2.Nc3K 0” ³°JD11f Slav: 3.Nf3 dxc4 4.e3 b5 5.a4 e6KÆXÜ£]kVA41f Neo-Old Indian: Wade Defence, 3.e3 Nf6K›®~ÙK&:A10 English: 1...b6 2.Nf3 Bb7K™aÓ §‰>D18o Slav: Dutch, 8...O-O 9.Qb3KŒ¥ÞšÏS\A31 English: Symmetrical, Two Knights, 4...Nc6K†%p·oÐDfB47j Sicilian: Taimanov, 6.g3 a6 7.Bg2 d6 8.O-O Bd7K€ d+½“JA06 Reti: Nimzowitsch-Larsen, 2...Bg4K|îð ë|—2A54 Old Indian: 5.Bg5 Be7KwýWY°§qBD31k Semi-Slav: 4.cxd5 exd5 5.Nf3Ku˜5B·vnB22d Sicilian: Alapin, 2...e6 3.d4 d5 4.exd5 exd5 5.Nf3Kt&Фì«ðZC41w Philidor: Improved Hanham, 7.Qe2 c6 8.a4Kq¨Fòí5^D95f Grünfeld: 5.e3 O-O 6.Qb3 c6 7.Bd2 e6 8.Bd3Kh¦%CÍlB84 Sicilian: Scheveningen, Classical, 7.O-O Nbd7 8.f4K`lÒy¦!^C58b Two Knights: Morphy, Kieseritsky VariationKVåG:ÿDbE16g Queen's Indian: Capablanca, Yates, 7.O-O O-OKOµ‰Sà|6A56q Benoni: Czech, 5.e4 g6KL„eÏ4ZC19i French: Winawer, 6...Ne7 7.Nf3 b6 8.Bb5+KCÀêújàhE60l King's Indian: Fianchetto, Yugoslav without Nc3KBòŒñáuû\C66 Spanish: Closed Berlin, Chigorin VariationK@ñB®öV¦<B25o Sicilian: Closed, 6.f4 e6K6u·“©ëVC12d French: MacCutcheon, Advance VariationK.o™ù°Þ`D32v QGD Tarrasch: 5.Nf3 Nc6 6.e3 Nf6 7.Be2 cxd4K+_‚ñÐ@C63b Spanish: Schliemann, 4.exf5Kªn€[Î¥jB33y Sicilian: Pelikan, Sveshnikov, 11.Bd3 Be6 12.O-OK ê3œœ¸â\B25d Sicilian: Closed, 3.g3, 5.d3 d6 6.Nge2 e6K¢Óî¶¹Ù8D20w QGA: 3.e4 e5 4.Nf3 Bb4+KWD몡JA83g Dutch: Staunton Gambit, 4.Bg5 e6K`8Ð/2PD31w Semi-Slav: Marshall Gambit, 4...Bb4JÿgÛMª²{VE56 Nimzo-Indian: Main Line, 7...Nc6 8.cxd5Jüù¿cI@D06p QGD: 2...Bf5 3.Nf3 e6 4.Nc3JâÊ0qwRB01t Scandinavian: Icelandic Gambit, 5.d4JÜœÊ+¤¨nE75b King's Indian: Averbakh, 7.d5 e6 8.Nf3 exd5 9.exd5JÓÚà@áÖLA85 Dutch: 2.c4 Nf6 3.Nc3 g6 4.Nf3 Bg7JÏn߸™,ÔjB76l Sicilian: Dragon, Yugoslav, 9.O-O-O Nxd4: 11.Kb1JÌÅýY†:D09 QGD: Albin, 5.g3 Be6 6.b3J»Ú´0 « B00a King's PawnJ² o]bØ~*A00s Polish: 2...Bxb4J¡/8RòŒY„D48g Semi-Slav: Meran, 8...a6 9.O-O Bb7 10.e4 c5 11.d5 Qc7 12.dxe6J ×‰+ä6B06n Modern: 3.Nc3 d6 4.Bc4J—ÇE(QuÌfB99p Sicilian: Najdorf, Main Line, 10.g4 b5 11.Bxf6J—ƒ¾†dH2D02p Queen's Pawn: LondonJã ‹<LC41g Philidor: Hanham, Kmoch VariationJ‹õ wO”é^E70q King's Indian: 4.e4 d6 5.Bd3 O-O 6.Nge2 e5J‹>¥˜/)²8C01k French: Exchange, 4.Nf3J†1ð&]k|E69l King's Indian: Fianchetto, Classical, 9.h3 Qb6 10.Re1 Re8J‚ õÙrñ‘JB91g Sicilian: Najdorf, 6.g3 e5 7.Nb3J™¯Ëc¥dE52 Nimzo-Indian: Main Line, 6...b6 7.O-O Bb7 8.a3Jzú þŸå½NA01 Nimzowitsch-Larsen: Dutch VariationJu}óÓkPC27j Vienna: Frankenstein-Dracula, 11.d3Jre$C01d French: Exchange, 4.c4 Nf6IËZë©lHC55w Two Knights: Max Lange, 6.e5 d5IÇG$^&ýÅzD03r Torre Attack: 3...g6 4.e3 Bg7 5.Nbd2 O-O 6.c3 Nbd7 7.Be2I¸ÁË}ë‘"hE76e King's Indian: Four Pawns Attack, 5...O-O 6.Nf3Iµ±¹ö6xŠB92n Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O O-O 9.Be3 Be6 10.Qd2I¯?°·'Ø0B00g Owen Defence: 3.Bd3I¢ú±]iÂTB06e ModernI•â«"^ùPnC30i King's Gambit: Adelaide-Wahls, 4.exf5 e4 5.Ne5 Nf6I“¯x14‡øVB32o Sicilian: Lowenthal, Kalashnikov, 6.a4I’!NáB6A40i Englund Gambit: SollerI}šÚRí´!BD63 QGD: Orthodox, 7.Rc1 h6 8.Bh4IePW [fV`A69h Benoni: Four Pawns, Main Line, 10.e5: 12.e6IdüÄEž;hA34 English: Symmetrical, 3 Knights, 5.e4 Nb4 6.Bb5+Id°:5úv\TE61u King's Indian: Smyslov System, 5...d6I^’áX¦ÕPC19l French: Winawer, 6...Ne7 7.Nf3 Nbc6IUÉ]òOEê8D56 QGD: Neo-Orthodox, 7.Bh4I=¡æTJC23 Bishop's Opening: Pratt VariationI0®ë[yr ’B36k Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2 Nxd4 8.Qxd4 Bg7 9.Bg5I#,jrcªJE90g King's Indian: Zinnowitz, 6...h6ItR¶.ï’E69x King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Re1 exd4, 11...Nc5I­Õ&&;fC08b French: Tarrasch, Open, 4.exd5 exd5 5.Bb5+ Nc6I·ítB66k Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Be3 Bd7I«žŽý¶dD71 Neo-Grünfeld, 5.cxd5 Nxd5 6.Nc3 Nxc3 7.bxc3 c5I-¼/`«rC76 Spanish: Modern Steinitz, Bronstein, 7.O-O Bg7 8.dxe5Hþ…PÁ#â8A45m Trompowsky: 2...e6 3.e3Hó2€Ã¦òêDD57 QGD: Lasker Defence, Main LineHßÄ55Ô®rC84j Spanish: Closed, Centre Attack, 7.e5 Ne4 8.Nxd4 Nxd4HÔsé)¿fDD35l QGD: Exchange, 5.Bg5 c6 6.Nf3Hɓ̠³"è<D85a Grünfeld: Exchange, 5.Na4H¿2¯:ïñì^B59g Sicilian: Boleslavsky, 7.Nb3 Be7 8.O-O O-OH¼†]6j)ç B07a Pirc: 2.Nc3H»ôZG ÁlB47y Sicilian: Taimanov, 6.Be2 a6 7.O-O Nf6 8.Kh1 Nxd4HºñW[.#@B19a Caro-Kann: Classical, 7.Nf3H¸årpmÇhE65b King's Indian: Fianchetto, Yugoslav, 7.O-O cxd4Hµ†~aí®ø,A47 Neo-Queen's IndianH¬k ~4C25j Vienna: 2...Nc6 3.Bc4H«IX ­b|B92q Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O O-O 9.Kh1 Nc6H¦ÙúräkÇHA82 Dutch: Staunton Gambit, 3.Nc3 e6Hœ€RF1±rE69i King's Indian: Fianchetto, Classical, 9.h3 Qb6 10.d5H˜ Vù?t²TB17j Caro-Kann: Steinitz, 5.Ng5 Ngf6 6.Bd3H•û ã¦\NC16a French: Winawer, Advance VariationH‰éžM¯û¹NB00v Nimzowitsch Defence: Aachen GambitHp·¢Q8»fD62 QGD: Orthodox, Rubinstein, 7.Qc2 c5 8.cxd5 cxd4HXæîž3VE91l King's Indian: Kazakh Variation, 7.Bg5HQ-4»l‚RB81a Sicilian: Scheveningen, Keres AttackHE{ŸŠóvKvB49j Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O Bb4 9.Na4H<Æ›mw`<^C67h Spanish: Open Berlin, Trifunovic VariationHX½<Ÿ¥DD37g QGD: 4.Nf3 Be7 5.e3 O-O 6.Bd3H`!qž:B57b Sicilian: Sozin, 6...Bd7H¥~X|`C83 Spanish: Open, Classical, 10.Nbd2 O-O 11.Bc2H“\ ß}ž6A80n Dutch: 2.Nc3 Nf6 3.Bg5Gÿz:O(¬JC05r French: Tarrasch, Closed, 7.Ngf3Gý¡çç—ü>D24s QGA: Bogoljubow, 7.a4 Nxc3Gø%U¢çZB75 Sicilian: Dragon, Yugoslav, 7...Nc6 8.Qd2G휳#åÇ<A43v Old Benoni: Schmidt, 6.h3Gìér;èCjDD48h Semi-Slav: Meran, 8...a6 9.e4GìÝ–Ÿ.ÂPC36 KGA: Scandinavian, Modern, 5.Bb5+ c6Gç‰G½y!VE04g Catalan: Open, 5.Nf3 a6 6.O-O b5 7.Ne5GÇ„óôXD00k Trompowsky: 2...d5 3.Bxf6 exf6 4.e3 Be6GÅÛˆCÅ'0A34 English: SymmetricalGÃï4(É,\RC23 Bishop's Opening: Lewis CountergambitGÃ~OÔ&6B20 Sicilian: 2.d3 Nc6 3.g3G³Ž¸ÔŒõ.C00w French: St. GeorgeG¨QÙ¤ï B07a PircG›H1¡ÑÉ A04 Reti: 1...c5G›2£bRjÁ`E87d King's Indian: Sämisch, Orthodox, 7.d5 Nbd7G•Àvʨˆ€C15v French: Winawer, Alekhine Gambit, 5.a3 Be7 6.Nxe4 Nf6 7.Qd3GîêÙ²9lVE12e Queen's Indian: Petrosian, 4...c5 5.d5GŒØ<è|dC23 Bishop's Opening: Lewis Countergambit, JänischG|à nXsc>D44c Semi-Slav: Botvinnik, 6.e4Gx‹"‘ :ï:C05a French: Tarrasch, ClosedGuw*¦Ã™=ND29g QGA: Classical, 8...Bb7 9.Rd1 Nbd7Gp´º~̬â@A00s Polish: 2...Bxb4 3.Bxe5 Nf6Gh×ÇÀCîë(A10 English: 1...Nc6G_ò”5sOÚRA29 English: Four Knights, 4.g3 d5 5.cxd5GZ"!(ï@B70f Sicilian: Dragon, 6.Bc4 Bg7GY™9fp^A87 Dutch: Leningrad, Main Line, 7.Nc3 Qe8 8.d5GD:Ö­Ÿ©^E68a King's Indian: Fianchetto, Classical, 8.e4G>MIs¾ `C89d Spanish: Marshall, 9.exd5 Nxd5 10.Nxe5 Nxe5G<—lZY_8D63 QGD: Orthodox, 7.Rc1 Re8GD96 Grünfeld: Russian, 5...dxc4G;Ĩ§Ö]?RE53 Nimzo-Indian: Main Line, 6...c5 7.O-OG2e“Ò_YND22b QGA: Alekhine, Haberditz VariationG1€AîéÃ<XD17t Slav: Central, Main Line, 15.Nxc4 O-O-OG*ãæª;ðVE42 Nimzo-Indian: 4.e3 c5 5.Ne2 cxd4 6.exd4G*Í¢(vþfC59k Two Knights: Main Line, 11.d4 exd3 12.Nxd3 Qc7G(ÝoY;×O^A56t Benoni: Czech, 5.e4 Be7 6.g3 O-O 7.Bg2 Ne8G#ûÕ¯NE04t Catalan: Open, 5.Nf3 Nc6 6.O-O Rb8G ¿¤WN¿DD39d QGD: Ragozin, Vienna, 6.e4 c5G'z&ÉÂHD34h QGD Tarrasch: Tarrasch's GambitG ép¼ÌehE71m King's Indian: Makagonov, 5...O-O 6.Bg5 c5 7.d5G µ¹(¾ 4TC33 KGA: Bishop's Gambit, Bledow VariationG×^2Y÷XB52c Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Nxd7 5.O-OGJSþ:)­hE75d King's Indian: Averbakh, 7.d5 e6 8.Nf3 h6 9.Bh4FïΚN„M~B85 Sicilian: Scheveningen, Classical, Main Line, 9...Nc6 10.a4FسÚǵƒdE74k King's Indian: Averbakh, 6...c5 7.d5 h6 8.Be3FØ¥ºé…‹mPB00l Nimzowitsch Defence: Wheeler GambitFÖ«fLb|E96 King's Indian: 7.O-O Nbd7, Old Main Line, 10.Rb1 Re8 11.d5 Nc5 12.b3FÑ©#Ø¢W¸jC24 Bishop's Opening: Urusov Gambit, Larsen VariationFÎÞ”qAtÌ@B05g Alekhine: Modern, 5.Be2 Nc6Fİ üÐëö>A43k Old Benoni: 2.d5 Nf6 3.Nc3FÁwˆ d=ÿ:A40i Englund Gambit: HartlaubF¾ ÷X“J™PB95l Sicilian: Najdorf, 6...e6 7.Qf3 Be7F»ÕçO’ÊNB47t Sicilian: Taimanov, 6.Be2 a6 7.O-OF¸÷Í–f@ïZA40q Queen's Pawn: Keres Defence, 3.Bd2 Bxd2+F±Z“uÙpB61h Sicilian: Richter-Rauzer, Larsen, Main Line, 10.Bd2F¡ý´ƒÍý|B17l Caro-Kann: Steinitz, 5.Ng5 Ngf6 6.Bd3 e6 7.N1f3 Bd6 8.Qe2F–˱ bE45 Nimzo-Indian: Nimzowitsch, 5.Ne2 Ba6 6.Ng3 h5F›Mh¸ŸfB81k Sicilian: Scheveningen, Keres, 6...h6 7.h4 Be7F™ÌûG…_T8C42g Russian Game: 3.Nxe5 d6F‹ƒ(T²÷VB59d Sicilian: Boleslavsky, 7.Nb3 Be7 8.Bg5Feõ Ã58C90a Spanish: Closed, 8...d6Fkáó c |E95n King's Indian: 7.O-O Nbd7 8.Re1 c6 9.Bf1 exd4 10.Nxd4 Re8F`×÷쬴G>C51 Evans Gambit Accepted, 5.c3F`.dÀÑ5£dC13r French: Chatard-Alekhine, Breyer, 7.Bxe7 Kxe7F[˜ۣ€nC17p French: Winawer, Swiss, 6.b4 cxd4 7.Qg4 Ne7 8.bxa5F4Ÿesöø0A03 Bird: Lasker, 3...g6F)nS7³KfE15i Queen's Indian: Nimzowitsch, 5.Qa4 c6 6.Nc3 b5F&X„_Z‡zB22u Sicilian: Alapin, 2...Nf6, 5.cxd4 d6 6.Nf3 Nc6 7.Bc4 Nb6F#2šc§ç\D68 QGD: Orthodox, Classical, Vidmar VariationFe}é†äPE97t King's Indian: Mar del Plata, 9.Nd2F<rû¹ÀbD65 QGD: Orthodox, Rubinstein Attack, 9.cxd5 Nxd5FB³­ä¯D31i Semi-SlavF ­(i„ÌóLC29e Vienna Gambit: Steinitz VariationF ûµnTåPPC85l Spanish: Closed, Exchange, 7.d3 Nd7EÿÌ‚ªü“d(D11c Slav: 3.Nf3 Bf5Eúi#IE¡4C88q Spanish: Closed, 8.c3E÷‚rÊÂó3ŠD59f QGD: Tartakower, 8.cxd5 Nxd5 9.Bxe7 Qxe7 10.Rc1 Bb7 11.Nxd5 Bxd5Eç¬Ã‡EVÀRA30p English: Symmetrical, Hedgehog, 7.b3Eãÿjjïe^C03k French: Tarrasch, 3...Be7 4.Ngf3 Nf6 5.Bd3Eã$Þúp’@C68c Spanish: Exchange, 4...bxc6EâÀ ~ÀÙÀ2C42g Russian Game: 3.Nxe5EÚVÄXŽkˆE57 Nimzo-Indian: Main Line, 8...dxc4 9.Bxc4 cxd4 10.exd4 Be7 11.Be3EÓ„\ñ<âhD23m QGA: Mannheim, 4...c6, 5.Qxc4 Bf5 6.g3 e6 7.Bg2EÏ+!¸ ¥>C62 Spanish: Old Steinitz, 4.c3EÇWÏmÈÌ®@B26g Sicilian: Closed, 6.Be3 Rb8EÊrW\›ZB97n Sicilian: Najdorf, Poisoned Pawn, 10.Be2EÂá ®æ·A05 Reti: KIAE¿¼RÅ•mbFA43s Old Benoni: Schmidt, 3.Nc3 Nf6E¼Qi^&\B00w Nimzowitsch Defence: Bogoljubow VariationEº{z5!»k8A40i Englund Gambit AcceptedE³†üâ%É"D50 QGD: 4.Bg5 c6E¤ }.–#È€B78m Sicilian: Dragon, Yugoslav, Main Line, 12.h4 h5 13.Bh6 Bxh6E”aâ¼µÿjA55e Old Indian: 5.e4 Be7 6.g3 c6 7.Bg2 O-O 8.O-O Qc7E™ÖÑýäëRD30i QGD: Tarrasch without Nc3: Main LineE”¨ {éAJC28o Vienna: 3.Bc4 Nc6 4.d3 Bb4 5.Bg5E’W¡W\øBxB78f Sicilian: Dragon, Yugoslav, Main Line, 12.Kb1: 14.g4 b5EŠ"ä_³Ö\E93 King's Indian: Petrosian, Main Line, 8.Bg5E„¨¯¸Âš6D78a Neo-Grünfeld, 6.O-O c6E„`˵bWŽZB20 Sicilian: Wing Gambit, Carlsbad VariationE~vü#4>B12j Caro-Kann: Advance, 3...c5Eu7\C4úRB03l Alekhine: Four Pawns Attack, 6...Bf5EY*“¾ìTB58j Sicilian: Boleslavsky, 7.Nf3 h6 8.O-OEW£:›äÖ'FD03f Torre Attack: 3...e6 4.e3 Nbd7EN$ŠO­=HC90f Spanish: Closed, Pilnik, 9...h6E<ï5„ûnC84p Spanish: Closed, Centre Attack, 7.Re1 O-O 8.e5 Ne8E7ƒt™­"m:A21 English: King's, 2.Nc3 g6E.n4múú–NE11q Bogo-Indian: Nimzowitsch, 5.g3 O-OE"ï 9RE22 Nimzo-Indian: Spielmann, 4...c5 5.Nf3E"Ù½“*¹LD78m Neo-Grünfeld, 6.O-O c6 7.Nbd2 Ne4E7DÙ† 8dB08s Pirc: Classical, 5.Be2 O-O 6.O-O c6 7.a4 Nbd7Eôû#f¡ì`D77h Neo-Grünfeld, 6.O-O dxc4 7.Na3 c3 8.bxc3 c5E ޝ#b(B12a Caro-Kann: 2.d4EÃÕ’Üô1JD26j QGA: Classical, Furman VariationE«2ϤFD03f Torre Attack: 3...e6 4.e3 Nbd7EÁÉ/;Ø,C39 KGA: 3.Nf3 g5 4.h4Dä8Û¢ˆXC15k French: Winawer, 4.a3 Bxc3+ 5.bxc3 dxe4Dà£Á(z$¦NA41j Neo-Old Indian: Wade Defence, 3.e4D×qJLNˆÆ4D07c QGD: Chigorin, 3.cxd5D×n@?øõJA87 Dutch: Leningrad, Main Line, 7.d5DÐE):*ÐBA90 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2DÏÊÁùÅZE02 Catalan: Open, 5.Qa4+ Nbd7 6.Nf3 a6 7.Nc3DÊ#¸CÀ\DVD32s QGD Tarrasch: 5.Nf3 Nc6 6.e3 Nf6 7.Bb5D¾PN¡BA13s English: Neo-Catalan, 4...c6D¶ÊfïUˆA84 Dutch: 2.c4D±Ôõ}§ë6A24 English: Bremen, 3...g6D©óä^ŽË2C51 Evans Gambit DeclinedD©ª‰HãBD03j Torre Attack: 3...e6 4.e3 c5D˜•Á-¶K†RB12e Caro-Kann: Maroczy (Fantasy), 3...e6D„ ôÞntzB70u Sicilian: Dragon, 6.Be2 Bg7 7.O-O O-O 8.Bg5 Nc6 9.Nb3 a6D|á©6ÛfC08d French: Tarrasch, Open, 4.exd5 exd5 5.Bb5+ Bd7Duo¿VUAXE04o Catalan: Open, 5.Nf3 c5 6.O-O Nc6 7.Qa4Dq!»AÍtˆE99 King's Indian: Mar del Plata, 10.f3 f5 11.Be3 f4 12.Bf2 g5 13.a4Dgª~nS†JE80d King's Indian: Sämisch, 5...Nbd7Dbú‰âCX”,A48b Neo-King's IndianDb×Ú1âtJB59b Sicilian: Boleslavsky, 7.Nb3 Be6D_‡ß\úÈÏfC89t Spanish: Marshall, Main Line, Classical, 18.c4DSH èÖ4úLC06g French: Tarrasch, Closed, 8...Qb6DC½.;àdÂtA89 Dutch: Leningrad, Main Line, 7.Nc3 Nc6 8.d5 Ne5 9.Nxe5D<õÊ"l$Á^B71 Sicilian: Dragon, Levenfish, 6...Nc6 7.Nxc6D< 7~ü>æ|B13t Caro-Kann: Panov-Botvinnik, 5...Nc6 6.Nf3 Bg4: 9.gxf3 Nb6D:ÞkÁH’NC19j French: Winawer, 6...Ne7 7.Nf3 Bd7D2$8`¸=:^A92 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3 O-OD&ʶ1~ŽA69m Benoni: Four Pawns, Main Line, 10.e5: 12.Bg5 Qb6 13.O-O Nxe5 14.d6DjΆ9Û}dE80p King's Indian: Sämisch, 5...c6 6.Be3 a6 7.Bd3D$e €V*C00f French: 2.Nc3 d5Dt`z©1UlA35f English: Symmetrical, 2.Nc3 Nc6 3.Nf3 g6 4.e3 Bg7D'&yÓb©DD12k Slav: 4.e3 Bf5 5.Nc3 e6 6.Bd3D¤éƒ•š¦RC96k Spanish: Closed, Chigorin, 11.d4 Bb7DÎÝ?Ÿ‡DA68h Benoni: Four Pawns, 9.Be2 Bg4Cöá°ÌææJD36g QGD: Exchange, 6.Qc2 Be7 7.e3 h6Cä«@¡/ƒZE76b King's Indian: Four Pawns Attack, 5...c5CàXý t#Ÿ2A40x Queen's Pawn: ModernCÕüª/ zpC87l Spanish: Closed, Averbakh, 7.c3 O-O 8.d4 Bd7 9.Nbd2CÕ7ǯA¢6B00i Owen Defence: 3.Bd3 e6CÓ­u1…dC86k Spanish: Worrall Attack, 7...O-O 8.c3 d5 9.d3CÀ‹¿g¾~14C40o Latvian Gambit: 3.Bc4C­Ð;ª¼î¸<E17c Queen's Indian: 6.Nc3 O-OC­•ó0/¡p<C45h Scotch: 4.Nxd4 Nf6 5.Nxc6C©JiªfE81k King's Indian: Sämisch, 5...O-O 6.Be3 a6 7.Qd2C ·…4ãrD62 QGD: Orthodox, Rubinstein, 7.Qc2 c5 8.cxd5 exd5 9.Bd3Cž;åÒ¾¢ZD49f Semi-Slav: Meran, Sozin, Rellstab AttackC—±^ØòÏ‹ŠB45n Sicilian: Taimanov, Four Knights, 6.Nxc6 bxc6 7.e5 Nd5 8.Ne4 Qc7C”ˆ IštB22r Sicilian: Alapin, 2...Nf6 3.e5 Nd5 4.d4 cxd4 5.Nf3 e6C‰k%<~"s`A50b Indian: Mexican Defence (Two Knights Tango)C‚ÎýU0¿þFA80b Dutch: Krejcik Gambit AcceptedCiÚN¾9øDD30a Queen's Gambit Declined (QGD)CZ¿J¡·ÍÕ B07t Pirc: 4.Be3CM¤”yÉqrB85 Sicilian: Scheveningen, Classical, Main Line, 9...Qc7CEßmä_êk4A43n Old Benoni: Neo-BenkoCA¸ÁŸo&dE68j King's Indian: Fianchetto, Classical, 8.e4 c6CAŸ]¾RB33e Sicilian: Pelikan/Sveshnikov, 6.Nbd5C>m+ÒyÒZFC54m Giuoco Piano: Krause VariationC8P‰3¨nÝTB50r Sicilian: 2.Nf3 d6 3.c3 Nf6 4.Bd3 Nc6C4M׆r%ND26q QGA: Classical, Steinitz VariationC3ãV›öè <C25j Vienna: 2...Nc6 3.Bc4 Bc5C-´ávî¦bB61c Sicilian: Richter-Rauzer, Larsen, 7.Qd2 Nxd4C+)&}T¬÷ZA99 Dutch: Ilyin-Zhenevsky, 8.b3 a5 9.Bb2 Na6CºAÁ´È&^D52o QGD: Cambridge Springs, 8.Qc2 O-O 9.Be2 e5Cú˜$yá]FD79k Neo-Grünfeld, Main Line, 10.f4C阑y!Q@C43b Russian Game: Modern AttackBÿ®_N–êtC83 Spanish: Open, Classical, 10.Nbd2 O-O 11.Bc2 f5 12.Nb3Býht_&¢À6D05k Colle: 5.c3 Nc6 6.Nbd2Bíªs,KsŒxD36x QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O Nf8 11.h3 g6Bëg}æ­,³>A03 Bird: 1...d5 2.Nf3 Nf6 3.g3Bâ!á *ÈZB17k Caro-Kann: Steinitz, 5.Ng5 Ngf6 6.Bd3 e6BÜÑjÑ5½BA82 Dutch: Staunton Gambit, 3.Nc3BÚÛ®/âóA05 Reti: KIAB×öûÆUÁÜ~D89c Grünfeld: Classical Exchange, Main Line, 13.Bd3 Be6 14.Rc1BÔ’O¸ÄT6jB38n Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-OBÏŽ yØð‚,A47 Neo-Queen's IndianBÍQ¼ŽpE36 Nimzo-Indian: Classical, Noa, 5.a3 Bxc3+ 6.Qxc3 dxc4BÁ³„9^A13v English: Neo-Catalan Accepted, 5.Qa4+ Nbd7BÀù npYFB19b Caro-Kann: Classical, 7.Nf3 e6B¾ ÙYíŸ xA77 Benoni: Classical, Main Line, 10.Nd2 Nbd7 11.a4 a6 12.h3B±B¶DºULA93 Dutch: Stonewall, Botvinnik, 8.Bb2B«2=øücXC89j Spanish: Marshall, 12.d3 Bd6 13.Re1 Qh4BªŸ²|k0C33 KGA: Bishop's GambitB§äc“ŠjB72 Sicilian: Dragon, Classical, Nottingham VariationBŸîè(Õ FDA85 Dutch: 2.c4 Nf6 3.Nc3 e6 4.Nf3BU•¯¸¢³ŽE18v Queen's Indian: 7.Nc3 Ne4 8.Nxe4 Bxe4 9.Ne1 Bxg2 10.Nxg2 d5 11.Qa4B˜>îû@ñfC08j French: Tarrasch, Open, 4.exd5 exd5 5.Ngf3 Nf6B•:$^”<ñFD53m QGD: 4.Bg5 Be7 5.Nf3 O-O 6.Qc2B‰E[7f¯\E42 Nimzo-Indian: 4.e3 c5 5.Ne2 cxd4 6.exd4 d5B‡dUµª)hˆD47p Semi-Slav: Meran, Wade, 9.O-O b4 10.Ne4 Be7 11.Nxf6+ Nxf6 12.e4Bƒ‘˜¨WI>PC95b Spanish: Closed, Breyer, 10.d4 Nbd7B‚Ò›Ê9ätPC41g Philidor: Hanham, Steiner VariationB`«´¥kpD67 QGD: Orthodox, Main Line, Alekhine, 11...e5 (Lasker)B{›+ê#ä<A80n Dutch: 2.Nc3 Nf6 3.Bg5 e6B{'Ôq,r8D20x QGA: 3.e4 e5 4.Nf3 exd4BzÖ,¤ bD79d Neo-Grünfeld, 6.O-O c6 7.cxd5 cxd5 8.Nc3 Ne4ByÅi‹Fƒ8C45j Scotch: Mieses, 6...Qe7Bwjxt½8A21 English: Lukin VariationBn•É/UVD42b QGD: Semi-Tarrasch, 6.e3 Nc6 7.Bd3 Be7Bmž®Ð/S‚C67x Spanish: Open Berlin, 5.d4 Nd6 Queenswap, 9.Nc3 Ke8 10.h3 a5B`I‰ŸÅ]PC23 Bishop's Opening: Philidor VariationB_1® ƒÛxjB68 Sicilian: Richter-Rauzer, 7...a6, 9.f4 Be7 10.Nf3BZݲÿAì>A55i Old Indian: 5.e4 Be7 6.Be2BTOñLˆçª6C80n Spanish: Open, 8...Be6BHF”§\FNE08f Catalan: Closed, 7.Qc2 c6 8.Rd1 b6B;´F›õæ½jA38r English: Symmetrical, Main Line, 7.d3 d6 8.a3 a6B3=²g‡FA27 English: Three Knights, 3...Bb4B.µP‘lC05g French: Tarrasch, Closed, 5.f4 c5 6.c3 Nc6 7.Ndf3B*vÛ›Ú/ZE19f Queen's Indian: Old Main Line, 9.Qxc3 f5B'+Jœ§JœNB01v Scandinavian: Portuguese, 4.f3 Bf5B$_É5í‹RxB97u Sicilian: Najdorf, Poisoned Pawn, Main Line, 13.e5 dxe5B¬O‚ìFhhD42l QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Nf6BxµÉ¸¹£HD46c Semi-Slav: Bogoljubow VariationAê‘7K"µ’<B06q Modern: 3.Nc3 d6 4.Be3 c6AéÔ rND97g Grünfeld: Russian, Alekhine, 8.Qb3A昿·ªÎFB12a Caro-Kann: de Bruycker DefenceAåºMz˜:A43i Old Benoni: 2.d5 e6 3.c4AÌiɈš>ylE04n Catalan: Open, 5.Nf3 c5 6.O-O Nc6 7.Ne5 Bd7 8.Na3AÊ Å;­Ã0D20c QGA: 3.e3 c5 4.Bxc4AÇP“âE¸^B19m Caro-Kann: Classical, Spassky, 10.Qxd3 Qc7A½‚Øñ $C00f French: 2.Nc3Aº€R`i8¦TA38h English: Symmetrical, Main Line, 7.b3A¹œBó>|8C44r Scotch: Lolli VariationA¸^VàÜZB00v Nimzowitsch Defence: 2.d4 d5 3.exd5 Qxd5A®¼L•%¢\A88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.d5A®¢(ÌðìÚ@B32k Sicilian: Lowenthal, 5...a6A«Å'e[Ô‰RE16e Queen's Indian: Capablanca, 6.Bd2 c5A© ,lXg·BD00o Queen's Pawn: Veresov, 3.Bf4A¨³G¸/dË@E94g King's Indian: Donner, 8.d5A¡×\\dgA05 Reti: KIAA¡cä,9CLB33k Sicilian: Pelikan, Bird VariationA—ØÉ£ŽJ~B38t Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O Bd7 10.f3A˜)0‘×\jE96 King's Indian: 7.O-O Nbd7, Old Main Line, 10.dxe5AP“X¨Ó4D15j Slav: Chameleon, 5.c5A‹’rýØò4A12 English: Torre DefenceAŠw³!?¶XA46l Indian: 1.d4 Nf6 2.Nf3 e6 3.e3 c5 4.Bd3Aˆüÿþn§vHE08p Catalan: Closed, Spassky GambitA€+~!æ46A12 English: Bled VariationA_3ÞôÛ^A83a Dutch: Staunton Gambit, Staunton VariationA<²3ÝãùpA65v Benoni: Sämisch, 8.Bg5 h6 9.Be3 O-O 10.Qd2 a6 11.a4A{­åæ`iNTE30 Nimzo-Indian: Leningrad, 4...h6 5.Bxf6AwâD„©æ˜VB25b Sicilian: Closed, 3.g3, 5.d3 d6 6.Nge2As㥞6[HA90 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 d5AjÌÚ²3ÿBB96i Sicilian: Najdorf, 7.f4 Nbd7AeXu:x¶>C02r French: Advance, 5.Nf3 Qb6Ab€í ÇâžnE04q Catalan: Open, 5.Nf3 c5 6.O-O Nc6 7.Qa4 Bd7 8.Qxc4A`oø¯Ù¦NA58k Benko Gambit: Fianchetto VariationAVßm3½”xLB38g Sicilian: Maroczy Bind, 7.Nc3 O-OAPÀ„2Pª`A82 Dutch: Staunton Gambit, Tartakower VariationAOž6×OXB01t Scandinavian: Icelandic Gambit AcceptedAGfD¯2GzB01g Scandinavian: Anderssen Counterattack, Collijn VariationA5X™¾F"`B12u Caro-Kann: Advance, 4.Nf3 e6 5.Be2 c5 6.Be3A"1ÜRþâ9XE48 Nimzo-Indian: 4.e3 O-O 5.Bd3 d5 6.Ne2 c5Aª5:.âbB63t Sicilian: Richter-Rauzer, Podebrad VariationAr¦x|´HD41c QGD: Semi-Tarrasch, 5.cxd5 Nxd5AYWF¶´”E32r Nimzo-Indian: Classical, 4...O-O 5.a3, 6...b6 7.Bg5 Bb7 8.f3 h6 9.Bh4A #qÇNA45l Trompowsky 2...g6 3.Bxf6 exf6 4.e3AÙähg"`0D45b Semi-Slav: 5.e3 Bd6@ÿžþé%3érE57 Nimzo-Indian: Main Line, 8...dxc4 9.Bxc4 cxd4 10.exd4@ÿDÇ~˜/Â$B20 Sicilian: 2.g3@ý7Ë qŽHE14i Queen's Indian: Dreev Variation@øJÿ¸îWZD64 QGD: Orthodox, Rubinstein Attack, 8...Re8@ó!âÎÇU¨B36o Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2 Nxd4 8.Qxd4 Bg7 9.Be3 O-O 10.Qd2@ïEbÛ4¾@A61 Benoni: Nimzowitsch, 7...Bg7@ê¥ÓxÛJfE32k Nimzo-Indian: Classical, 4...O-O 5.a3, 6...Ne4@æ<íR©Ì0A57d Benko Gambit: 4.Nf3@ÚÚ&¯;Û^B81i Sicilian: Scheveningen, Keres, 6...h6 7.h3@Õì§b⦊2D11j Slav: 4.Qc2 g6 5.Bf4@Ò—cc:}6D27a QGA: Classical, 6...a6@ÎXqNÊ·TA40l Queen's Pawn: Bogoljubow-Miles, 2.Nf3@ÇæSïïÔùNA46w Torre Attack: 3...c5 4.e3 h6 5.Bh4@½¼>ÇPC97e Spanish: Closed, Chigorin, 12...Bb7@µì½ÈZ5ÓNA09c Reti: Advance, Anglo-Polish Attack@­…D® ¡RD85w Grünfeld: Modern Exchange, 8.Be3 O-O@¬Ÿö—3,C25b Vienna: Zhuravlev@¬y}2’D18p Slav: Dutch, 8...O-O 9.Nh4@‘DôU-͈D42m QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Nf6 11.a3 b6 12.Be3@‡D_°©àDC42l Russian Game: Vienna/Kaufmann@zEíòA¶B35e Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 Qa5 8.O-O O-O 9.Bb3 d6 10.h3 Bd7 11.f4@|‹Ó&Þ$ZA31 English: Symmetrical, Two Knights, 3...g6@{Á“DLè0D16i Slav: Smyslov, 6.e4@sëlé‚M¿BD23i QGA: Mannheim, 4...c6 5.Qxc4@\̓خï $D20h QGA: 3.e3 Nf6@\:@nÐnNC96c Spanish: Closed, Chigorin, 10...c6@YϺ”E4þHC89a Spanish: Marshall Counterattack@R`´€{ÛRPB00v Nimzowitsch Defence: 2.d4 d5 3.exd5@LuP‹?GBA55m Old Indian: Main Line, 8.Be3@FøÆ™}~dB22h Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nc6@Bƒx'îK'2E91a King's Indian: 6.Be2@:ñ¦FÛ*hB33f Sicilian: Pelikan/Sveshnikov, Pelikan Variation@6B¡_.š³RE41 Nimzo-Indian: 4.e3 c5 5.Bd3 Nc6 6.Nf3@4¥ ;º¨h~C05l French: Tarrasch, Closed, 5.f4 c5 6.c3 Nc6 7.Ndf3 Qb6 8.g3@3ˆ“‘nÑ„XB28e Sicilian: O'Kelly, 3.d4 cxd4 4.Nxd4 Nf6@2†‹ûÖ¥)8B70e Sicilian: Dragon, 6.Bg5@"½k!XÐhE81o King's Indian: Sämisch, 5...O-O 6.Be3 c5 7.Nge2@ LáI/`­\D09 QGD: Albin, 5.g3 Be6 6.Nbd2 Qd7 7.Bg2 Nge7?úwÍQ°ÌrE79e King's Indian: Four Pawns Attack, Main Line, 9...Bd7?ñÃSžãqXB42m Sicilian: Kan, 5.Bd3 Nf6 6.O-O Qc7 7.c4?îòèn·x0C50k Giuoco Piano: 4.O-O?èxöøÚ÷jVB53n Sicilian, Chekhover, 4...Nc6 5.Bb5 Bd7?åü¢åŽdÇ@C33 KGA: Tumbleweed/Drunken King?ß>Íi§HThB13q Caro-Kann: Panov-Botvinnik, 5...Nc6 6.cxd5 Nxd5?Új'@i0A54 Old Indian: 5.g3 Be7?ºv&º-I„D41i QGD: Semi-Tarrasch, 6.g3, Main Line, 9.Nxd5 exd5 10.dxc5 Bxc5?¹´7³Ì>A50j Indian: Slav-Indian, 3.Nc3?¶I³»ÉJE58 Nimzo-Indian: Main Line, 8...Bxc3?±N÷†x{œ@B29h Sicilian: Nimzowitsch, 4.d4?¯wgÔ‚Ž^A32 English: Symmetrical, Two Knights, 5.Nc3 a6?®Xd-œ•LB01j Scandinavian: 2...Qxd5, 5.Nf3 Bg4?«Ã‘¶œ¨a^B47i Sicilian: Taimanov, 6.g3 a6 7.Bg2 d6 8.O-O?¦Ê ´°Â:D35g QGD: Exchange, 5.Nf3 Be7?œq_÷A¸HA85 Dutch: 2.c4 Nf6 3.Nc3 e6 4.e3 d5?’›í"IYÐVC45w Scotch: 4.Nxd4 Bc5 5.Be3 Qf6 6.c3 Nge7?ÎA/ðŸ.JC90h Spanish: Closed, Pilnik, 11.Nbd2? ^ÙžHn,E00p Catalan: 4.Nf3 c6?‡t P¢8$8B05f Alekhine: Modern, 5.Be2?|©©ænXê^B57n Sicilian: Sozin, Benko, 7.Nb3 e6 8.O-O Be7?w”+y /ÄHD18l Slav: Dutch, 8...Nbd7 9.Qe2 Bg6?q¯LìÙNVB16g Caro-Kann: Bronstein-Larsen, 6.Nf3 Bg4?ksqä^C52 Evans Gambit: Tartakower Attack, 8.dxe5 Bb6?\­aãað6E11b Bogo-Indian: 4.Nbd2 d5?TIåÝÊhpB06c Modern?Oð‡V¬\ÇJC52 Evans Gambit: Compromised Defence?MžS±}ùRB26m Sicilian: Closed, 6.Be3 e6 7.Qd2 Qa5?>·\uËœLA44o Old Benoni: Czech, 3.e4 d6 4.Bb5+?=Ã[›˜5HD36o QGD: Exchange, Main Line, 9.Nf3?;W©qe¼—NE14j Queen's Indian: 4.e3 Bb7 5.Bd3 Be7?:ÏÜWL_¯>B90c Sicilian: Najdorf, 6.a4 e5?u$M72C33 KGA: Eisenberg Gambit?Ûœ‡ ³8A56r Benoni: Czech, 5.e4 Be7?ñîýp"ß<A03 Bird: 1...d5 2.Nf3 g6 3.g3?dg:¾b8D01d Richter-Veresov: 3...h6? !Ëõ!XE98c King's Indian: Mar del Plata, 9.Ne1 Ne8? >ªÜMø:B43g Sicilian: Kan, 5.Nc3 Qc7>ûMÖiÎFž:B44d Sicilian: Taimanov, 5.c4>û ë[ <A11 English: Caro-Kann Defence>úXËHE94s King's Indian: 7.O-O Nbd7 8.Qc2>ìøspz1VC62 Spanish: Old Steinitz, 4.d4 exd4 5.Nxd4>Ù‰@݈WaPC49g Four Knights: Symmetrical Variation>Ê"ÞâZžx6D58p QGD: Tartakower, 8.Rc1>¼çÖm?)LD73 Neo-Grünfeld, 5.Nf3 c6 6.cxd5 cxd5>»ªOe“|E96 King's Indian: 7.O-O Nbd7, Old Main Line, 10.Rb1 Re8 11.d5>¶m7Y{8ÅPA19 English: Mikenas, Sicilian, 4.e5 Ng8>µ>ÐÁo‘î|C43o Russian Game: Modern Attack, 3...Nxe4 4.Bd3 d5 5.Nxe5 Nd7>²«Œéx¯˜B69 Sicilian: Richter-Rauzer, 7...a6, 9.f4 Be7 10.Nf3 b5 11.Bxf6 gxf6 12.Kb1>¦0Ù1hMqbC87c Spanish: Closed, Averbakh, 7.Bxc6+ bxc6 8.d4>£”ÜŒ½jA64 Benoni: Fianchetto, 11...Re8 12.h3 Rb8 13.Nc4 Ne5> z2Û›‰)bC14l French: Classical, Steinitz, 8.Nf3 c5 9.dxc5>Ÿ‘‰ï1ZSVA64 Benoni: Fianchetto, 11...Re8 12.Nc4 Ne5>”Úbw±+PC68e Spanish: Exchange, Lasker Variation>”½ §è28„B31n Sicilian: Rossolimo, 3...g6 4.O-O Bg7 5.Re1 Nf6 6.c3 O-O 7.d4>”L­*7G*E01 Catalan: 4...Bb4+>“øÌœ$lB76t Sicilian: Dragon, Yugoslav, 9.O-O-O d5: 12.Bd4 e5>‘ÈKGcì[$C70 Spanish: 4.Ba4>Œqbþ‰Ï2A35a English: Symmetrical>Š\ÏMÄü FC78q Spanish: Archangelsk, 7.d3 Be7>‰ô¦(Õ`D10m Slav: Winawer Countergambit Accepted, 6.Nd2>‚[E!$C44x Scotch Gambit>|odÇŒO@€B66l Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Be3 Bd7 10.f3>|Y¿(¸ˆLVB30s Sicilian: Rossolimo, 3...e6 4.O-O Nge7>ufm ,¯½dD13t Slav: Exchange, 6.Bf4 e6 7.e3 Bd6 8.Bxd6 Qxd6>s_ÛX7ß‘DC51 Evans Gambit: Anderssen, 6.Qb3>rn5†5×HE56 Nimzo-Indian: Main Line, 7...Nc6>nï˜(ž`D67 QGD: Orthodox, Main Line, Capablanca, 11.O-O>`,=&üÒ*A02 Bird: 1..Nf6 2.b3>J›&Ïò®4C00w French: Franco-Benoni>H—­VJEbB01o Scandinavian: 2...Qxd5, Main Line, 6.Bc4 Bf5>H{gÇü£:B89 Sicilian: Sozin, 7.Be3 a6>EÚ”).iæRA30d English: Symmetrical, 2.Nf3 Nf6 3.g3>0¯Óør„PC14g French: Classical, Steinitz, 7...a6>+¼p&sPD32l QGD Tarrasch: Marshall Gambit, 6.d5>)»jÀMu«XD52f QGD: Cambridge Springs, Yugoslav, 8.Qd2>"š4ž›ûzB90q Sicilian: Najdorf, 6.Be3 e5 7.Nb3 Be6 8.f3 Be7 9.Qd2 O-O>“á·6C15e French: Winawer, 4.Bd3> ¥—n¿prE13e Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.Nd2 Bxc3 8.bxc3>Eè¸DDBD08 QGD: Albin, Krenosz Variation>NC@˜í°DA59h Benko Gambit: 7.e4 Line, 9.g3=úvË]¥["4B01r Scandinavian: 2...Nf6=ø\ØyÏoTA14 English: Neo-Catalan Declined, 5...O-O=êĹ~&jÏHC71 Spanish: Modern Steinitz Defence=æ¿3üŸùõDB86 Sicilian: Sozin-Najdorf, 7.Bb3=ق쓜“ChC15r French: Winawer, Alekhine Gambit, Kan Variation=Ø›þ1øíøzD00m Blackmar-Diemer: Lemberger Countergambit, Sneider Attack=ÖyÆÊY‰$ZB19q Caro-Kann: Classical, Spassky, Main Line=Ì0Ër"ŽHC41v Philidor: Improved Hanham, 7.a4=ÉÓHx÷ÝnC52 Evans Gambit: Compromised Defence, Potter Variation=Ä0s¾@²LE73m King's Indian: Averbakh, 6...Nbd7=Áö±%T|ªrA89 Dutch: Leningrad, Main Line, 7.Nc3 Nc6 8.d5 Na5 9.Qd3=ÀÐêþn^ê`D68 QGD: Orthodox, Classical, Maroczy, 13...exd4=·‹@vµKpE92t King's Indian: Petrosian, Stein, 8.Bg5 h6 9.Bh4 Na6=³9×nË>qND34o QGD Tarrasch: Bogoljubow Variation=¢…²äÍÑõNC49e Four Knights: Double Bishops, 6.d3=•`¿TlÞPD94 Grünfeld: 5.e3 O-O 6.cxd5 Nxd5 7.Bc4=jå©[èjE84m King's Indian: Sämisch, Panno Main Line, 9.h4 h5=‰‚;­»¦E68h King's Indian: Fianchetto, Classical, 8.e4 exd4 9.Nxd4 Re8 10.h3 Nc5 11.Re1 a5=‰u×wÌ*ND00l Blackmar-Diemer Gambit (BDG): 2.e4=…ÿä¶,C55c Two Knights: 4.d3=…&…½RV&D15o Slav: Accepted=‚7o¹š˜PE22 Nimzo-Indian: Spielmann, 4...c5 5.e3=zZ”ø°ÈùRB63b Sicilian: Richter-Rauzer, 7.Qd2 Nxd4=f†'¬JÇ"A05 Reti: 1...Nf6=_õˆÂª©Å&D10h Slav: 3.e3 Bf5=Zq¨Øå$—&A10 English: 1...d6=S°q‹4HHD00h Hodgson Attack: 2...h6 3.Bh4 c6=DÖ3)ø}ˆZD36h QGD: Exchange, 6.Qc2 Be7 7.e3 Nbd7 8.Nf3=@{æ§6¬¿^E31j Nimzo-Indian: Leningrad, Main Line, 8...e5=?ãó¶ë•<lB66i Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Be3=/^ðTâø8A60j Benoni: Snake Variation=.bÂBåsívA39q English: Symmetrical, Main Line 7.d4, 10.Qd3 a6 11.Bd2=+&»T_¤êVE63d King's Indian: Fianchetto, Panno, 8.b3=&ñ†r—4PD86 Grünfeld: Classical Exchange, 7...c5=æFsL'¨LB05n Alekhine: Modern, Main Line, 8.h3=|ü–!HE02 Catalan: Open, 5.Qa4+ Bd7 6.Qxc4= @¯{'ý8D58d QGD: Tartakower, 8.Bxf6= ‡ómò†SLA26 English: Botvinnik System, 6...Nf6=€lýVpD58r QGD: Tartakower, 8.Rc1 Bb7 9.Bxf6 Bxf6 10.cxd5 exd5<÷_!ЛörB84 Sicilian: Scheveningen, Classical, 7.O-O Be7 8.f4 O-O<öR¡š„>C52 Evans Gambit: 5...Ba5 6.Qb3<óÑçÂ÷ƒ>A40i Englund Gambit: 2.dxe5 Nc6<ó=6è&fB80i Sicilian: Scheveningen, English, 7...Nc6 8.Qd2<ò ÃE™SHD33o QGD Tarrasch: 7.Bg2 cxd4 8.Nxd4<íÀr={ŽNB96j Sicilian: Najdorf, 7.f4 Nbd7 8.Qf3<íANße;ñBC44d Open Game: Inverted Philidor<æ¡vaX‘ßJA26 English: Closed, 5.d3 d6 6.Rb1 a5<×I†v‚ýÛHC44w Scotch: Goring Gambit, 4...dxc3<ÕŽî A¨K<A00p Polish: Birmingham Gambit<Å’º? ¢©HD47i Semi-Slav: Meran, Lundin, 9.Na4<ÂF)r5X0A53 Old Indian: 3.Nc3 c6<ÀY6=Eß"PB70j Sicilian: Dragon, 6.Be2 a6 7.a4 Bg7<µ|Ô®í;DC00o French: KIA 2.d3 d5 3.Qe2 Nf6<•ˆž« 0C39 KGA: Allgaier Gambit<|û¥Ë$¢^D36s QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-OC22 Centre Game: Paulsen Attack;©åˆš¥:A65d Benoni: 6.e4 g6 7.Bf4 a6; Qr‚=±JC17b French: Winawer, Advance, 5.dxc5;“÷"B–$lD35v QGD: Exchange, 5.Bg5 c6 6.e3 Be7 7.Bd3 O-O 8.Nge2;’{…cGÆèND94 Grünfeld: Slav/Schlecter, 6.Be2 O-O;û&¸^D32u QGD Tarrasch: 5.Nf3 Nc6 6.e3 Nf6 7.Be2 Be7;Œ+4$¶ <A11 English: Caro-Kann Defence;‡àvø>óZD63 QGD: Orthodox, Swiss, Karlsbad, 9.Bd3 Re8;‚ÛçV¬Ó\&A10 English: Vector;‚™¹\ª²vLE36 Nimzo-Indian: Classical, Noa, 5.a3;‚xAA˜âð$D80 Grünfeld: 4.f3;rÂÚ• ƒTC07i French: Tarrasch, Shaposhnikov Gambit;qµ¼%£„ö<A13p English: Kurajica Defence;kpn—X0Þ&D24a QGA: 4.Nc3 Nd5;bÛP`B48h Sicilian: Taimanov, 6.Be3 a6 7.Qd2 Nf6 8.f3;X¯Vì T<A11 English: Caro-Kann Defence;VBf›u„BD59a QGD: Tartakower, 8.cxd5 Nxd5;Miª4kú:B60a Sicilian: Richter-Rauzer;GísDß94D14e Slav: Exchange, 8.Ne5;-U’㟵†jB52r Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Qxd7 5.O-O Nc6 6.c3;)V”¿$-’D91s Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Nf3 exd5 9.e3 O-O 10.Be2;hNyÜéûHD48q Semi-Slav: Meran, Old Main Line;ˆDþ9~›XB97e Sicilian: Najdorf, Poisoned Pawn, 8.Nb3;ß©•}óDB44h Sicilian: Taimanov, 5.Be3 Nf6;Îk:a]@>A36g English: Symmetrical, 5.a3;u4¤#çFE94m King's Indian: Glek, 8.Be3 Ng4;o.Ý «r”E88e King's Indian: Sämisch, Orthodox, 7.d5 c6 8.Qd2 cxd5 9.cxd5 a6 10.Bd3;ÂËÁo„E29 Nimzo-Indian: Sämisch, 5...O-O 6.e3 c5 7.Bd3 Nc6 8.Ne2 b6 9.e4:ÿ ¤Öï¯0E11a Bogo-Indian: 4.Nbd2:ü67ièË4A41d Neo-Old Indian: 2.Nf3:ö­oyèo‚nB44f Sicilian: Taimanov, 5.c4 Nf6 6.Nc3 Bb4 7.Nxc6 bxc6:é·^³È&6hE19g Queen's Indian: Old Main Line, 9.Qxc3 f5 10.Rd1:ä9nã‚\BA73 Benoni: Classical, 9.O-O Nbd7:à¯ká%BZE83c King's Indian: Sämisch, 6...Nc6 7.Qd2 a6:ÅpYsƒ„<D10e Slav: Exchange, 4.Nc3 Nf6:Å;BxÕ%lC89s Spanish: Marshall, Main Line, Classical Variation:ÃÂâµMrãŠE33 Nimzo-Indian: Classical, Milner-Barry (Zurich), 6.a3 Bxc3+ 7.Qxc3:ÁŽ([TC33 KGA: Bishop's Gambit, Morphy Variation:Ár­‚ìëa\C65p Spanish: Berlin, Benelux Variation, 7.Bg5:¿¯¡°¨ˆ`D00c Queen's Pawn, Mason, Steinitz Countergambit:¸) êÜñ~E09k Catalan: Closed, Main Line, 9.e4 dxe4 10.Nxe4 Nxe4 11.Qxe4:µJ¨r`¢8C02b French: Advance, 3...b6:´6$ó†ÑjŠB38w Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O Bd7 10.Qd2 Nxd4:¡J<ÞŸGƒXB34b Sicilian: Accelerated Fianchetto, 5.Bc4: hÞKf\r^D66 QGD: Orthodox, Main Line, Fianchetto, 11.e4:žQÀç¤NsvE82i King's Indian: Sämisch, Fianchetto, 7.Bd3 a6 8.Nge2 c5:šª°·°„ZE74e King's Indian: Averbakh, 6...c5 7.d5 Qa5:k°ÝðlE76l King's Indian: Four Pawns Attack, 6.Nf3 c5 7.dxc5:ŒëçÌâwâ^B13m Caro-Kann: Exchange, Rubinstein, 7.Qb3 Qd7:‹ÂÀ,±ã4E12v Queen's Indian: 4.Bg5:ƒcpm#JPB46j Sicilian: Taimanov, 5...a6 6.Be3 d6:zI˺¤ã4C25e Vienna: 2...Bc5 3.Bc4:v¬¹£¶^hA91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3 d5 6.O-O:tCh­±î0C00k French: Wing Gambit:rˆÇš¿(º8A21 English: Lukin, 5.Ng5 c6:qúK"5LB50q Sicilian: 2.Nf3 d6 3.c3 Nf6 4.Bd3:jXá({~*A04 Reti: 1...f5 2.d3:fØÙA>)|B99i Sicilian: Najdorf, Main Line, 10.Bd3 h6 11.Bh4 g5 12.fxg5:eäàU ¯PC87f Spanish: Closed, Averbakh, 7.c3 Bg4:aÄ–ÎË=<A08 Reti: KIA, 2...c5 + 3...g6:`Ô1¬üž¦dB22x Sicilian: Alapin, 2...Nf6, 5.cxd4 e6 6.Nf3 b6:]õ{ú7`B37h Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 O-O:V¥5‚ûŽTA37d English: Symmetrical, 5.Nf3 Nh6 6.O-O:?×â@ƒ0çBA85 Dutch: 2.c4 Nf6 3.Nc3 e6 4.e3::†&*6oHE43 Nimzo-Indian: Nimzowitsch, 5.Nf3:5.6ÂPDD53v QGD: 4.Bg5 Be7 5.e3 O-O 6.Qc2:/ù¹FuÝ÷<A03 Bird: 1...d5 2.Nf3 c5 3.e3:#!ÖŦ?ZC42p Russian Game: Classical, Close Variation:*˜?¥¾>D24f QGA: 4.Nc3 c5 5.d5 e6 6.e4:ýý?tnPE53 Nimzo-Indian: Main Line, 6...c5 7.a39ÿBÏK£ ”D89d Grünfeld: Classical Exchange, 14.Rc1 Bxa2 15.Qa4 Be6 16.d5 Be7 17.Qb49øo‚TfÌ—JB46i Sicilian: Taimanov, 5...a6 6.Be39óZ0ê$GbE12q Queen's Indian: Petrosian, 6.cxd5 exd5 7.Bg59ï $îÄöHE00v Catalan: 4.Nf3 dxc4 5.Qa4+ Nbd79ámâ´!átB92k Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O O-O 9.Be39ßK×ð:y~B37l Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6 8.Be2 O-O 9.O-O9Ú•€Ö~E!ZE55 Nimzo-Indian: Main Line, Bronstein, 9.Ne29ÄÁR¿K¶UfD87g Grünfeld: Classical Exchange, 9.O-O Nc6 10.Be39éð‰§ÿ >B26k Sicilian: Closed, 6.Be3 e69Á³â\w‹DC49b Four Knights: 4.Bb5 Bb4 5.O-O9¾òÂéÉ"bE82h King's Indian: Sämisch, Fianchetto, 7.Bd3 a69¾Nং$ž<A70f Benoni: Classical, 8.Qa4+9»ÍJ$ØèA53 Old Indian9¹ì bB41k Sicilian: Kan, 5.c4 Nf6, Bronstein Variation9³ nIˆžWBD00b Queen's Pawn: 2.c3 Nf6 3.Bf49±fðR¤bE64d King's Indian: Fianchetto, Yugoslav, 7.d5 e69¯Ú…ó‘ëLA45x Trompowsky: 2...Ne4 3.Bf4 c5 4.d59£¿Fp£³°BB30m Sicilian: Rossolimo, 3...Nf69£®Z“®3lB34j Sicilian: Accelerated Fianchetto, Modern, 5...Bg79žl»YfRD97l Grünfeld: Russian, Simagin Variation9“¤ô¸+»5\E58 Nimzo-Indian: Main Line, 9.bxc3 Qc7 10.Qc29;=ßMPˆB85 Sicilian: Scheveningen, Classical, Main Line, 9...Nc6 10.Kh1 Bd79ŽxP4ØoBB21m Sicilian: Smith-Morra Gambit9„æ_<ÞXB83 Sicilian: Scheveningen, Modern, 9.f4 Bd79~ÃõªºÝBA25 English: Closed, Tröger, 5.d39kö»œôpE81o King's Indian: Sämisch, 5...O-O 6.Be3 c5 7.Nge2 Nc69_¸‰çÁ­6A46i Indian: 2.Nf3 d6 3.Bg59QJHã²hZ‚B39i Sicilian: Maroczy Bind, Breyer, 8.Qxg4 Nxd4 9.Qd1 Ne6 10.Qd29NçóhiJ®BC44d Open Game: Inverted Philidor9DRå@á$¶RE15l Queen's Indian: Nimzowitsch, 5.b3 b59D ¼*FD14b Slav: Exchange, 6.Bf4 Bf5 7.e39Aú9åZ¬>dD85n Grünfeld: Modern Exchange, 8.Rb1 O-O 9.Be2 b69;JIØÞº]TE32h Nimzo-Indian: Classical, 4...O-O 5.a39-©Ç´Ç}ZA37h English: Symmetrical, 5.Nf3 d6 6.O-O Nh69æËȼhC10u French: Rubinstein, 4...Bd7 5.Nf3 Bc6 6.Bd3 Nd79×Õ¸ZV›:C45j Scotch: Mieses Variation9§¤Ü®VC56h Two Knights: Classical, Moller, 9.Nxe49 )å Ï:E91o King's Indian: 6.Be2 Nc68ÿmxßXCJE32d Nimzo-Indian: Classical, 4...O-O8üô‰°øÕ&D23a QGA: 3.Nf3 Nf68ù#¸ß\6jB63m Sicilian: Richter-Rauzer, 7.Qd2 Be7 8.O-O-O Nxd48ô(E6ù½áDB00m Nimzowitsch Defence: 2.Nc3 e68ÝúQ) uì0A03 Bird: Lasker, 3...c58Û¾¼¬ÅÑ"D38a QGD: Ragozin8Ú'¸ï“¥ZD00m Blackmar-Diemer: Lemberger Countergambit8ÍšW¦ˆ•PC80c Spanish: Open, Tartakower Variation8«¶‹Eh#PC68s Spanish: Exchange, Bronstein, 6.Na38«³âÔ´.íhD36m QGD: Exchange, Main Line, 9.Nge2 Re8 10.O-O Nf88‡ wZoLVA45a Indian: Gibbins Gambit, Oshima Defence8ƒ¤ÇP†uVB02g Alekhine: Scandinavian, Geschev Gambit8j™$ÛÔDA36i English: Symmetrical, 5.a3 d68eÁ?ŒVA28 English: Four Knights, Marini Variation8aÙú“ãBD85a Grünfeld: Exchange Variation8X‰ÖNC8A81 Dutch: 2.g3 e6 3.Nf3 Nf68WX#ŒãuœbA57u Benko Gambit: Zaitsev, Nescafe Frappe Attack8EÌl²wmDA27 English: Three Knights, 3...f586õ®;=¸3LA83j Dutch: Staunton Gambit, 4.Bg5 Nc68Ÿ‹Ç$ptB52q Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Qxd7 5.O-O Nc6 6.Re1 Nf68ˆP£ÅHA48o Neo-King's Indian: Torre Attack8 pf>øRÿ€B69 Sicilian: Richter-Rauzer, 7...a6, 9.f4 Be7 10.Nf3 b5 11.Bxf68 JÕÀHÑ^E73l King's Indian: Averbakh, 6...c6 7.Qd2 Nbd78“T¦“pþ2E02 Catalan: Open, 5.Qa4+8×x_  6E20 Nimzo-Indian: 4.Bd2 O-O8Ám¦µÎ¤nB21z Sicilian: Smith-Morra, 5.Nf3 d6 6.Bc4 e6 7.O-O Nf67ꉉö§0D32m QGD Tarrasch: 5.Nf37çþÞQ0„:D53r QGD: 4.Bg5 Be7 5.e3 Nbd77äÓ u˜šT D30d QGD: 3.cxd57ãdþÀ•MbC00v French: KIA, Reversed Philidor, 4...Nc6 5.c37Þj²Óè >FE94o King's Indian: Glek, Main Line7Ý2qö,—žXA62 Benoni: Fianchetto, 9.O-O Na6 10.Nd2 Nc77Û²Æ#ŒA79 Benoni: Classical, Main Line, 10.Nd2 Na6 11.f3 Nc7 12.a4 b6 13.Nc47Ù’`ƒhz|DE42 Nimzo-Indian: 4.e3 c5 5.Ne2 d57Ò»ç˜||JA56s Benoni: Czech, 5.e4 Be7 6.g3 O-O7Æ# Y¾<4C00j French: 2.Nf3 d5 3.e57ÃDz¬xÝBfB93q Sicilian: Najdorf, 6.f4 e5 7.Nf3 Nbd7 8.a4 Qc77Ã÷iÛ¤ì^E62e King's Indian: Fianchetto, 6...c6 7.O-O a67¾Z”)u^D74 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O c5 8.e4 Nf67¶à¼žÙ‡»FD46q Semi-Slav: Chigorin, Main Line7²Y‚ÒR+[TD23h QGA: Mannheim, 4...Nbd7 5.Nc3 e6 6.e47¯%š·Þ|B81t Sicilian: Scheveningen, Keres, 6...Nc6 7.g5 Nd7 8.Be3 Be77¦öBùïù`D41u QGD: Semi-Tarrasch, 7.Bc4 Main Line, 13.Qc27’,o›u€õBA12 English: Bogoljubow Variation7‹iDæ›#VC39 KGA: Kieseritsky, Berlin Defence, 6.Bc47ˆU¦–jD…TB98o Sicilian: Najdorf, 8...Qc7 9.O-O-O b57}ŽÅbÈZA46y Torre Attack: 3...h6 4.Bxf6 Qxf6 5.e4 c57z‡r”âú¼jE90r King's Indian: 5.Nf3 O-O 6.h3 e5 7.d5 Nbd7 8.Be37l³la½%JC96i Spanish: Closed, Chigorin, 11.d47eÛ×`°NC00b French: Reti (Spielmann) Variation7\ïªÄX&ŽD32e QGD Tarrasch: von Hennig-Schara Gambit, 5.Qxd4 Nc6 6.Qd1 exd5 7.e37[‚f90…PE15e Queen's Indian: Nimzowitsch, 5.Nbd27YÖìUŸlð<A65r Benoni: Sämisch, 8.Bg5 h67Mɺ°A%ŸnC67t Spanish: Open Berlin, 5.d4 Nd6 Queenswap, 9.Nc3 h67IwxÈÔ‡eZD45x Semi-Slav: 6.Qc2 Bd6 7.Be2 O-O 8.O-O Qe77A¡(+Í`ãRB25r Sicilian: Closed, 6.f4 e6: 9.Be3 Rb87>BòŠpIÜPD42e QGD: Semi-Tarrasch, 7.Bd3 Main Line79Yfx_8A44c Old Benoni: Czech, 3.c476e¸vX£º<B08k Pirc: Classical, 5.Be2 c671A+lD|C07o French: Tarrasch, Open, 4.exd5 Qxd5 5.Ngf3 cxd4 6.Bc4 Qd67*ý©ÆAî`E15m Queen's Indian: Nimzowitsch, 5.b3 d5 6.cxd57[ãl2-ЈE87m King's Indian: Sämisch, Orthodox, 7.d5 Nh5 8.Qd2 f5 9.O-O-O Nd77 @µ³½TE25 Nimzo-Indian: Sämisch, Keres Variation6ûKB30j Sicilian: 2...Nc6 3.Nc3 e56|àŒ4 4D73 Neo-Grünfeld, 5.Nf3 c56{~-±·ˆB79d Sicilian: Dragon, Yugoslav, Old Main Line, 12.h4 Ne5 13.Kb1 Nc46yB¶Ãæñ‰"A60e Benoni: 4.g36pÜE®Œ»\B63u Sicilian: Richter-Rauzer, Podebrad, 10.f36n'~Xž VE75f King's Indian: Averbakh, 7.d5 e6 8.Qd26eù³tÚxQ<C84c Spanish: Closed, 6.Nc3 b56_Ž·hѸF@B88 Sicilian: Sozin-Scheveningen6W"æðK>B01u Scandinavian: 2...Nf6 3.d46HÐÛ7¿OPC64b Spanish: Classical, Boden Variation6G”Ó€z÷DC71 Spanish: Modern Steinitz, 5.d46E±êð‘E69w King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Re1 exd4, 11...a56E5ô¦cr;VB01e Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.Bc46>Jò?Ð]H^E67e King's Indian: Fianchetto, Classical, 8.d56=˜>½â/TB12l Caro-Kann: Advance, Bayonet Variation62ZåÔ¥í€bB01q Scandinavian: 2...Qxd5, Main Line, 8.Qe2 Bb461ÓˆÅoÐÙ8C40f Elephant Gambit: 3.Nxe56)\Š$_7XB56g Sicilian: Open, 2...d6, 5.Nc3 Bd7 6.Bg56(×*Ù++XD20p QGA: 3.e4 Nf6 4.e5 Nd5 5.Bxc4 Nb6 6.Bd36%‰=1$D11s Slav: 4.e3 a66·2`æ{@C50o Giuoco Pianissimo: 4.d3 Nf66áGË1fD41g QGD: Semi-Tarrasch, 6.g3, Main Line, 9.e4 Ndb46ÍMÐÅ~DB01w Scandinavian: Marshall, 4.Nf36šŸ îÜ&hC88n Spanish: Closed, Anti-Marshall 8.a4 Bb7 9.d3 d65ý|~H—f^>B05k Alekhine: Modern, 5.Be2 e65üÏsj+£˜4D15p Slav: Accepted, 5.Ne55öü:{ÛþqvE75i King's Indian: Averbakh, 7.d5 e6 8.Qd2 exd5 9.exd5 Re85ò#Ïj±ZB12x Caro-Kann: Advance, Main Line, 6.Nge2 c55êqÏÑŸDB05i Alekhine: Modern, Flohr, 6.c45ê)Á«6D11l Slav: Slav-Reti System5ç«ÌèBC44b Open Game: Konstantinopolsky5ÙŽ.‰FÉ4lE73t King's Indian: Averbakh, 6...Na6 7.Qd2 e5 8.d5 c65Ó?€yØ}zŠA89 Dutch: Leningrad, Main Line, 7.Nc3 Nc6 8.d5 Ne5 9.Nxe5 dxe5 10.e45ÐÞW*íý±nC24 Bishop's Opening: Urusov Gambit, Marshall Variation5Â{à¨â’’FD91f Grünfeld: 5.Bg5 Ne4 6.Bh4 Nxc35¯IÅwz/:jE56 Nimzo-Indian: Main Line, 7...Nc6 8.a3 dxc4 9.Bxc45ŸF³ªµ4A54 Old Indian: 4.Nf3 exd45œôâë ‹3fE14h Queen's Indian: 4.e3 Bb7 5.Bd3 Bb4+ 6.Nbd2 O-O5™ò/šNfND51 QGD: 4.Bg5 Nbd7 5.e3 c6 6.cxd5 cxd55˜‡½J„“'4A45c Indian: Lazard Gambit5‡AÓP#{dD79n Neo-Grünfeld, Main Line, 10.f4 Nc6 11.Be3 Nb65…\ä#¹LLE14q Queen's Indian: 4.e3 Bb7 5.Bd3 c55„[a¦î4e0A10 English: Anglo-Dutch5ƒZ­f]‡dA88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.d5 Bd75~óY>j>C52 Evans Gambit: Waller Attack5{¢ Ì{¿êLD34b QGD Tarrasch: 7.Bg2 Be7 8.O-O Be65{–m5«Z²bC88m Spanish: Closed, Anti-Marshall 8.a4 Bb7 9.d35jG;IIvlE54 Nimzo-Indian: Main Line, Karpov, 10.Bg5 Bb7 11.Re15bï*•"HDA42t Modern: Averbakh, 4...e5 5.d55`íÜ®©µbE16j Queen's Indian: Capablanca, Riumin Variation5`t%”YbE11v Bogo-Indian: Nimzowitsch, 5.g3 Nc6 Main Line5[Ï÷N"IRA63 Benoni: Fianchetto, 9...a6 10.a4 Nbd75UŽh1˜ArVD74 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O c5 8.e45UÀ!ï[ \E61o King's Indian: 4.Nf3 O-O 5.e3 d6 6.Be2 c55FÐD"MLC11g French: Steinitz, Bradford Attack59ŽOÚ;,@C68d Spanish: Exchange, 4...dxc651ÂçÍû“¤BC46e Three Knights: 3...Bc5 4.Bb550TU-‚@C37 KGA: Salvio, Cochrane Gambit5.´à6(C26a Vienna: 2...Nf65,£ ‡õî8C11o French: 3.Nc3 Nf6 4.Bg55(WÞLõjE97z King's Indian: Mar del Plata, 9.Nd2 a5 10.a3 Nd75âðz¬xA@D24j QGA: 4.Nc3 a6 5.a4 Nc6 5.e45¾Aê“Ál6C44y Scotch Gambit: 4...Bc559ôÝ(ý@A19 English: Mikenas, Nei Gambit5B/ì,n,@C54c Giuoco Piano: Bird's Attack5-gÈ6XÏjC89q Spanish: Marshall, Main Line, 16.Qd3 Rae8 17.Nd25Ç‚ºÝ>C58h Two Knights: Morphy, 8.Be25·™sðFD18j Slav: Dutch, 8...Nbd7 9.Qb3 a55-·µ .>C70 Spanish: Classical Deferred5 DQWš©FC29g Vienna Gambit: Wurzburger Trap5UT¾³¢´\E73s King's Indian: Averbakh, 6...Na6 7.Qd2 e55/¸…ø„,RA70u Benoni: Classical, 8.h3 O-O 9.Bd3 b54õÃW¨zTC64j Spanish: Classical, 4.c3 Nf6 5.d4 Bb64ñ=˜ É(ÔbE99 King's Indian: Mar del Plata, 10.f3 f5 11.Nd34ðÜ÷v4œ4B20 Sicilian: 2.d3 e6 3.g34ê‘£Þ6õ&C40j Latvian Gambit4äýí­T‚<C61g Spanish: Bird's, 5.O-O c64ä²[´Æ:èFA45q Trompowsky: 2...c5 3.Bxf6 gxf64Õ²ŽÝZAlC47w Four Knights: Scotch, Main Line, 10.Bg5 c6 11.Na44Ôõñ’'±jB34k Sicilian: Accelerated Fianchetto, Modern, 6.Nde24Î}Påi^B23q Sicilian: Closed, Grand Prix, 3...e6 4.Nf34ÇÞ1kᨩNC14m French: Classical, Steinitz, 9.Qd24´Ù2Ë¿GPA16 English: Anglo-Indian, 2.Nc3 g6 3.g34¢ûÞ=3jA45r Trompowsky: 2...c5 3.Bxf6 gxf6 4.d5 Qb6 5.Qc1 f54Ÿ©§µ\6D20u QGA: Linares Variation4 *ÒIIRC67g Spanish: Berlin, Minckwitz Variation4œ~”Gi™ÁXC23 Bishop's Opening: Philidor Counterattack4šß›[d±0D20c QGA: 3.e3 c5 4.Bxc44š'ÍíßÖ6A86 Dutch: Leningrad, 4.Nc34Žß/çFÓŠ4E06 Catalan: Closed, 5.Nf34‰É—Ä®Öí@D92 Grünfeld: 5.Bf4 O-O 6.Rc1 c54±å´ž,A03 Bird: Sturm Gambit4vqàTèïNA93 Dutch: Stonewall, Botvinnik, 7...b64t^ìQU˜B49m Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O Bb4 9.Na4 Be7 10.Nxc6 bxc64eW Ö…ÃhFA42g Modern: Averbakh, Kotov, 5.Nf34[u-ù•üy(A13a English: 1...e64Q§DÞI‰MFA29 English: Four Knights, 4.g3 Bc54LêÛ.@)dE13h Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 Bxc3+4JÐìÀªºfE39j Nimzo-Indian: Classical, Pirc, 6.a3 Bxc5 7.Nf34BV~2;#6†B23y Sicilian: Closed, Grand Prix, 3...g6 4.Nf3 Bg7 5.Bb5 Nd4 6.O-O49]‰ïÜГPD56 QGD: Lasker Defence, 9.Rc1 c6 10.Bd346½æg‹]çdB78e Sicilian: Dragon, Yugoslav, Main Line, 12.Kb14/Š`%2 JD21o QGA: 3.Nf3 c5 4.d5 e6 5.Nc3 exd54-˜î¦BÎ:C18c French: Winawer, 6...Qc74+6.à ¼PE05c Catalan: Open, Classical, 6.Nc3 O-O4&îØ¿õIJB54h Sicilian: Prins (Moscow), 5...a64Ú+Þk¤HB29f Sicilian: Nimzowitsch, 3.e5 Nd54 $¡#<VC12q French: MacCutcheon, Main Line, 11.Nf34Fp¢éüˆE57 Nimzo-Indian: Main Line, 8...dxc4 9.Bxc4 cxd4 10.exd4 Be7 11.Re13ý2²H˜Ø%>A40n Queen's Pawn: 1...e6 2.Nf33û°ènÃlA13w English: Neo-Catalan Accepted, 5.Qa4+ Nbd7 6.Qxc43ìŠe^—.\B54o Sicilian: Prins (Moscow), 5...e5 6.Nb3 d53çI²±”áÏZB71 Sicilian: Dragon, Levenfish, 6...Bg7 7.e53ây†£*ëVC69h Spanish: Exchange, Gligoric, 6.d4 exd43ÕÃnTrÚÂbB75 Sicilian: Dragon, Yugoslav, 7...Nc6 8.Qd2 Bd73Ñ,EpiÍ@C15d French: Winawer, 4.Qd3 dxe43Ëègú\E64c King's Indian: Fianchetto, Yugoslav, 7.d53½sþ+9þŽZE81h King's Indian: Sämisch, 5...O-O 6.Bg5 c53¹¡‡‘’¡w8B26a Sicilian: Closed, 6.Be33±ETùµoHA46p Indian: London, 3...c5 4.e3 Qb63®ÐÚúÙFTA02 Bird: 1..c53©ñ´;꣬ZB96p Sicilian: Najdorf, Polugaevsky, 10.Bxb5+3¡6g±¥÷^LE08l Catalan: Closed, 7.Qc2 c6 8.b3 b53 \„N"¦XC09g French: Tarrasch, Open, Main Line, 9.c33œ _wó®YJA16 English: Anglo-Grünfeld, 4.Nf3 g63–´|Jª‚ÒZC91d Spanish: Closed, Bogoljubow, 10.Be3 exd43Žl8HLg^B25w Sicilian: Closed, 6.f4 e6: 9.Be3 Nd4 10.e53ŠpN«6±ÑhC15l French: Winawer, Winkelmann-Reimer Gambit (WRG)3ˆ~% ©.\D09 QGD: Albin, 5.g3 Bg4 6.Bg2 Qd7 7.O-O O-O-O3…J¸S–ßpˆD89f Grünfeld: Classical Exchange, 14.Rc1 Bxa2 15.Qa4 with 17.Qb4 e63uZ, «lŠbB22g Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 e63aÂ^¹­ÉÀ*C01a French: Exchange3VtÅ!skŽBB30l Sicilian: Rossolimo, 3...Qb63R;Ìà×zE97r King's Indian: Mar del Plata, Bayonet, 9...Nh5 10.Re1 f53FØÞã£JE46 Nimzo-Indian: Reshevsky Variation3@qS©9׃(C39 KGA: Kieseritsky3>f¤=t÷LD14d Slav: Exchange, 6.Bf4 Bf5 7.e3 e638ó5Ç©[<HC51 Evans Gambit: Steinitz Variation31è/T÷dTC17e French: Winawer, Bogoljubow Variation3.«[ƒµéænE73u King's Indian: Averbakh, 6...Na6 7.Qd2 e5 8.d5 Qe83)×m¡À… fB93r Sicilian: Najdorf, 6.f4 e5 7.Nf3 Nbd7 8.a4 Be73#TÉÀƒNC31 KGD: Falkbeer, Tartakower Variation3ôç÷Œ=yVC67d Spanish: Open Berlin, 5.Re1 Nd6 6.Nxe53"I¦%%HE53 Nimzo-Indian: Main Line, 7...Bd73Hƒ-§‘A02 Bird: 1..g63 Ux#öÔBD47m Semi-Slav: Meran, Wade, 9.a33 LœÐ@B91e Sicilian: Najdorf, 6.g3 Bg42÷´Ôþ˜œmlE70n King's Indian: 4.e4 d6 5.Bd3 O-O 6.Nge2 Nc6 7.O-O2ôU85¾ VD90 Grünfeld: Three Knights Exchange, 6.Bd22ôNƒTµç6D00d Queen's Pawn: 2.e3 Nf62ðÄfð¿È6A42c Modern: c4 Pterodactyl2ï~÷.ÃWdB55 Sicilian: Prins, Venice Attack, 6...Nbd7 7.Nf52áÚI¤ ûñLC02q French: Advance, Euwe, 6.Be2 Nge72Û–€bÍFC10m French: Rubinstein, Capablanca2Ï]«Î]×XD42d QGD: Semi-Tarrasch, 6.e3 Nc6 7.Bd3 cxd42ÅC»,J»ZA31 English: Symmetrical, Two Knights, 4...g62¾a£~XÆvE59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 11.Ba22¼kÖ©ILB41k Sicilian: Kan, 5.c4 Nf6 6.Nc3 Bb42±®y \2C44y Scotch Gambit: 5.Ng52¥ïZ¼IxBD90 Grünfeld: Three Knights, 5.g32¤‰Z^¾£DB01i Scandinavian: 2...Qxd5, 5.Bc42ŸdÎ>ÀWXB22d Sicilian: Alapin, 2...e6 3.d4 d5 4.exd52ž js†Â2C25c Vienna: 2...d6 3.Bc42¬x2G,D31j Semi-Slav: 4.cxd52”– ÂôæBB45c Sicilian: Taimanov, 5.Nc3 d62Ž 2.Ìã›>B00m Nimzowitsch Defence: 2.Nc32‹ü¼'ÆòN>C01a French: Exchange, 3...Qxd52ŠChjÖ§»RA39b English: Symmetrical, Main Line 7.d42ˆ¬!}Y² ,E00i Catalan: 3...Bb4+2…ÎûŸÄ ¢ZA03 Bird: 1...d5 2.Nf3 Nf6 3.g3 g6: 5.O-O O-O2‚ܳðEêZD06j QGD: Marshall Defence, 3.cxd5 Nxd5 4.Nf32¬¤d,@A34 English: Symmetrical, 2...b62{~>›×òïNB16d Caro-Kann: Bronstein-Larsen, 6.Bc42z4Ý4d #>E42 Nimzo-Indian: 4.e3 c5 5.Ne22v)›ÞÊHB25j Sicilian: Closed, 6.f4 e5 7.Nf32oÏîû ÊFD96 Grünfeld: Russian, 5...c6 6.Bf42fùº’*ØfHC81 Spanish: Open, Keres, 10.Rd1 O-O2_L³ýb$ZD48d Semi-Slav: Meran, 8...a6 9.O-O c5 10.Qe22\" 3‚¢VD00k Trompowsky: 2...d5 3.Bxf6 exf6 4.e3 c62[× ï1Š`D27s QGA: Classical, Rubinstein, 8.Nc3 Be7 9.Qe22Y(¬±ÞïXA76 Benoni: Classical, Main Line, 10.Qc2 Na62VÙC× Û>C51 Evans Gambit: Fraser Attack2MÚ»¯Í´bE67f King's Indian: Fianchetto, Classical, 8.dxe52Lì‹D³XB45e Sicilian: Taimanov, Four Knights, 6.Bg52?ÕfÐI¸³^C16l French: Winawer, Advance, 4...Ne7 5.Bd2 b62<2¨>¡ûžvB22d Sicilian: Alapin, 2...e6 3.d4 d5 4.exd5 exd5 5.Nf3 Nc62;„ÁøJ`C07n French: Tarrasch, Open, Eliskases Variation21ÉoÄJ±4D15b Slav: 4.Nc3 Bf5 5.Qb320šäY–hA55g Old Indian: 5.e4 Be7 6.g3 c6 7.Bg2 O-O 8.O-O a62"þã92A81 Dutch: 2.g3 Nf6 3.Nf32Š{lÉfB76q Sicilian: Dragon, Yugoslav, 9.O-O-O d5 10.exd52ùÛÿŠ\E66b King's Indian: Fianchetto, Yugoslav Panno2 ,"ÖÐJRB96h Sicilian: Najdorf, 7.f4 Qc7 8.Qf3 b52ØÅœûÝ_vD65 QGD: Orthodox, Rubinstein, 9.cxd5 exd5 10.Bd3 h6 11.Bh42›Vm©9ÄrA26 English: Closed, 5.d3 d6 6.Nf3 Nf6 7.O-O O-O 8.Rb1 a51üøË í–DJC51 Evans Gambit: Anderssen Variation1ïšRûKrr<B45a Sicilian: Taimanov, 5.Nc31í}ýŽJ¼PD36k QGD: Exchange, Main Line, 9.Nge2 h61èéÑ2×hB01z Scandinavian: Marshall, 4.c4 Nb6 5.Nf3 g6 6.Nc31âã„yïáŠtB92o Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O O-O 9.Kh11ÄšTb+~LD27h QGA: Classical, 6...a6 7.Bb3 cxd41ĉ0]¬LýJE61e King's Indian: 4.Bg5 O-O 5.e3 d61¿hAü×TdD49i Semi-Slav: Meran, Old Main Line, 11.Nxb5 axb51 œ¿ú‡‡<A46t Torre Attack: 3...c5 4.c31›+/(ÕNkNB16b Caro-Kann: Bronstein-Larsen, 6.Qd31•eä:ivÐBA55q Old Indian: Main Line, 8.Re11”ü‰´ŒŠ:"B07q Pirc: 4.Nge21’Ù~Vì㇨E12o Queen's Indian: Petrosian, 5.Nc3 d5 6.Bg5 Be7 7.Qa4+ c6 8.Bxf6 Bxf6 9.cxd5 exd51†~{,pDÎXB21i Sicilian: Grand Prix, Tal Defence, 3.e51w|¬ìLdB80k Sicilian: Scheveningen, English, 7...b5 8.Qd21vwEs·—<JB01l Scandinavian: Grünfeld Variation1pâ¦{ǘ„D88 Grünfeld: Classical Exchange, Main Line, 11.cxd4 Bg4 12.f3 Na51mÛí¸éh6dB23r Sicilian: Closed, Grand Prix, 3...e6 4.Nf3 d51kÆ"T:DA36h English: Symmetrical, 5.a3 e61dç+{Ó€ÓPA47 Neo-Queen's Indian: Marienbad System1c4‚´E4_FD60 QGD: Orthodox, Rauzer Variation1b»ö„ç7NE15d Queen's Indian: Nimzowitsch, 5.Qb31`Y¦²®ô6JB33b Sicilian: Open, 2...Nc6, 5...Qb61_Lca‹Ž 6A61 Benoni: Uhlmann, 7...h61] 7ûY¸vFE04s Catalan: Open, 5.Nf3 Nc6 6.O-O1Iâß²ãÓE4D23i QGA: Mannheim, 4...c61IfÂåÂ#0D46a Semi-Slav: 6.Bd3 a61H8ñ­ªp8E04d Catalan: Open, 5.Nf3 b51AÞêÇàçnB51j Sicilian: 3.Bb5+ Nd7 4.d4 Nf6 5.Nc3 cxd4 6.Qxd4 e517²5€JB62a Sicilian: Richter-Rauzer, 6...e615ù1Tð§_$D11r Slav: 4.e3 g615€ºÝÁD\E92s King's Indian: Petrosian, Stein, 8.Bg5 h610™hc·ÃoZC98b Spanish: Closed, Chigorin, Rauzer Attack10=®âîË5RB01u Scandinavian: Portuguese, 4.Nf3 Qxd51,§ºù̇ÁPD00w Blackmar-Diemer: Tartakower Defence1**¯9©>´ZE92h King's Indian: Gligoric-Taimanov, 7...c61(Œ¥+ íBA43t Old Benoni: Schmidt, 3.e4 g61!á?Å‘‚1bE99 King's Indian: Mar del Plata, 10.f3 f5 11.Be31‚URÐTž>A30a English: Symmetrical, 2.b31$ö,ÞlC43c Russian Game: Modern Attack, Bardeleben Variation1œ_;]ƒ\A90 Dutch: 2.c4 Nf6 3.g3 e6 5.Nf3 d5 6.O-O Bd61rØHÖTrLB01s Scandinavian: 2...Nf6 3.Bb5+ Nbd71¼’ê²´HA42v Modern: Averbakh, 4...e5 5.dxe51<µ‰b(ZC42s Russian Game: Classical, Mason Variation1ÙeÒÝìdA65j Benoni: 6.e4 g6 7.Bd3 Bg7 8.Nge2 O-O 9.O-O a61 ½Ë=–ÚŒHA11 English: Caro-Kann Defence, 3.g31 òácÁÄ,A47 Neo-Queen's Indian1 ¡As]9©DD79a Neo-Grünfeld, 6.O-O c6 7.cxd50öQTÖ¿^C69c Spanish: Exchange, Gligoric, 6.d4 Bg4 7.c30öO0Ǿ{bB98e Sicilian: Najdorf, Danner, 9.O-O-O Bd7 10.e50öL›ã·P™TD31s Semi-Slav: Noteboom, 5.a4 Bb4 6.e3 b50õ¡Ã¸„A¼>A65n Benoni: Sämisch, 8.Bg5 O-O0ç1ÅГ¬LB93f Sicilian: Najdorf, 6.f4 Qc7 7.Bd30å× ™×ZB43o Sicilian: Kan, 5.Nc3 Qc7 6.Bd3 Nf6 7.O-O0Û¿ÍŽÜÓRD05m Colle: 5.c3 Nc6 6.Nbd2 Bd6 7.O-O O-O0ÚL|…ð»HB01u Scandinavian: Portuguese, 4.Nf30Λ>eƒUñxB22k Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nf6 5.Nf3 Bg40Ã^ö1¹bC76 Spanish: Modern Steinitz, Bronstein Variation0¼£ú=ŸVbB17t Caro-Kann: Steinitz, 5.Bc4 Ngf6 6.Ng5, 8.Bd30ºÉϨ0á:E00a Queen's Pawn: Neo-Indian0¹¬ 6Vî<E94b King's Indian: 7.O-O exd40«gÚõű´6D05e Colle: 3...e6 4.Bd3 c50©œ30Òœ\C83 Spanish: Open, Classical, Malkin Variation0§*â4ŸÐvB22r Sicilian: Alapin, 2...Nf6 3.e5 Nd5 4.d4 cxd4 5.Nf3 Nc60›ó|†ÃWJA06 Reti: Nimzowitsch-Larsen, 2...Nf60…ù[LóHC11q French: Burn, 5.Nxe4 Nbd7 6.Nf30~“÷Y¢ƒ*HD33c QGD Tarrasch: Swedish Variation0z¥øv!Uš(A00o Grob Gambit: e50u¼ÍeÃ.XC74 Spanish: Modern Steinitz, Siesta, 6.exf50tJãAé\¶BD35m QGD: Exchange, 5.Bg5 c6 6.e30^¼ 8—C"A46r Torre Attack0Zx¤‡Ñ+j4D07a QGD: Chigorin Defence0X‰^W¦|d`E04p Catalan: Open, 5.Nf3 c5 6.O-O Nc6 7.Qa4 Bd70PdüƱ†ÓzC93 Spanish: Closed, Smyslov, 12.Nf1 Bd7 13.Ng3 Na5 14.Bc2 c50M0OÈØPC45s Scotch: 4.Nxd4 Bc5 5.Nxc6 Qf6 6.Qd20Bá`ÛQ§dC95l Spanish: Closed, Breyer, Main Line, 14.Ng3 g60<ù¹ØIµàdA58n Benko Gambit: Fianchetto, 9...Nbd7 10.O-O Nb60;}¡|QJC39 KGA: Kieseritsky, Green Variation0+…Ý?óLì\A11 English: Caro-Kann Defence, 3.e3 Nf6 4.Nc30)€€ìA‘ƒXC40q Latvian Gambit: Poisoned Pawn Variation0(óy~éÉò`B93o Sicilian: Najdorf, 6.f4 e5 7.Nf3 Nbd7 8.Bd308ŠÀ»ê=FC19c French: Winawer, 6...Ne7 7.Nf30d®ý¢LC88i Spanish: Closed, 8.h3 Bb7 9.d3 d60äljdâXC64c Spanish: Classical, Charousek Variation0¸?”ÿVA16 English: Anglo-Indian, 2.Nc3 c6 3.e4 e50)€>#.@:B33f Sicilian: Pelikan, 7.Na30!µ†C;RE47 Nimzo-Indian: 4.e3 O-O 5.Bd3 c5 6.Ne2/ðà’žIh&xC07q French: Tarrasch, Open, 4.exd5 Qxd5, Main Line, 10.Nxd4/ðP ø®IdPC42h Russian Game: Cochrane Gambit, 5.d4/ì˜àéäKJD48j Semi-Slav: Meran, Pirc Variation/ä3ÞàGˆ–XA27 English: Three Knights, 3...g6 4.d4 exd4/ãJqm¥Ë8C26n Vienna: 3.Bc4 Bb4 4.Nf3/àndÂn@2BD00p Queen's Pawn: Veresov, 3.Nf3/Þ*hëtƒTC55x Two Knights: Max Lange, Loman Defence/ÔÚ¸@;ù‚E19o Queen's Indian: Old Main Line, 9.Qxc3 c5 10.Rd1 d6 11.b3 Bf6/ÑãæqØûnE55 Nimzo-Indian: Main Line, Bronstein, 9.Qe2 b6 10.Rd1/ÏP=pÃTA30w English: Symmetrical, Hedgehog, 9.Rd1/Ⱦ؞–îòTC81 Spanish: Open, Keres, 10.Rd1 O-O 11.c3/ÆÁÍç+§8A21 English: Smyslov Defence/ÆÕ•ÆVC91f Spanish: Closed, Bogoljubow, 10.d5 Na5/½¤;ØÛܱ4D43e Semi-Slav: 5.Qb3 dxc4/·Üê‰ÝÈLD27l QGA: Classical, Spassky Variation/µ3/ ÌF,B07w Pirc: Byrne 4.Bg5/¤‘Õ“Ð.E"C00w French: 2.d4/ ë/`bgBA10 English: 1...b6 2.Nc3 e6 3.e4/k¡.þÃ*B22a Sicilian: Alapin/scE)Øl:FE47 Nimzo-Indian: 4.e3 O-O 5.Bd3 c5/]:ÿÊæõbB80r Sicilian: Scheveningen, Fianchetto Variation/[ #(ri{lA46z Torre Attack: 3...h6 4.Bxf6 Qxf6 5.e4 d6 6.Nc3 g6/YÜVå›Ý¢jC63p Spanish: Schliemann, 4.Nc3 fxe4 5.Nxe4 Nf6 6.Qe2/RÈTÔ`³SHA55p Old Indian: Main Line, 8.Qc2 a6/HQÙ–ß=4D06n QGD: 2...Bf5 3.Nf3 e6/<ðº[fÇ:B08f Pirc: Classical, 5.a4 c6/;Òš­Áæ£PA65r Benoni: Sämisch, 8.Bg5 h6 9.Be3 O-O/3°v/±ÇHD38j QGD: Ragozin, Westphalia, 7.Qc2/35ô„1Ö\6D77b Neo-Grünfeld, 6.O-O e6/&Æøô4¿FA02 Bird: From Gambit, Lasker, 5.d4/LŠét%|E15p Queen's Indian: Nimzowitsch, 5.b3 Bb4+ 6.Bd2 Be7 7.Bg2 d5/HÄUn0C38 KGA: Hanstein Gambit.ú„¬ï½LhD58h QGD: Tartakower, 8.Bd3 Bb7 9.O-O Nbd7 10.Rc1 c5.è¹G”N:ŒC33 KGA: Bishop's Gambit, Lopez-Gianutio Countergambit, Hein Variation.ÞÁÀ¥KË<B23k Sicilian: Closed, 2...Nc6.Þ¿Íð'\C99i Spanish: Closed, Chigorin, 13...Nc6 14.a3.Û¦jCØ#@VD40k QGD: Semi-Tarrasch, 5.e3 Nc6 6.a3 dxc4.Ê+gÁJ@×>B93k Sicilian: Najdorf, 6.f4 e5.¼Z¿²?£HE81a King's Indian: Sämisch, 5...O-O.±d?Ñ@ÿHE08g Catalan: Closed, 7.Qc2 c6 8.Bf4.¬ õ»¶Hó~E69h King's Indian: Fianchetto, Classical, 9.h3 Qa5 10.Re1 exd4.©¹>œåÌ0B10q Caro-Kann: 2.Nc3 d5.¨9Ú„¦î’B93u Sicilian: Najdorf, 6.f4 e5 7.Nf3 Nbd7 8.a4 Be7 9.Bd3 O-O 10.O-O exf4.¦bD¨ÔPA16 English: Anglo-Indian, 2.Nc3 g6 3.g3.¤ýªÈ±VB33s Sicilian: Pelikan, Chelyabinsk, 9.Bxf6.›žúPVE98b King's Indian: Mar del Plata, 9.Ne1 c5.›ƒ€Æ43‘hD87p Grünfeld: Classical Exchange, Seville Variation.”B%Anâ^A14 English: Neo-Catalan Declined, 5...O-O 6.b3.”ð‰èTi|A59o Benko Gambit: 7.e4, Main Line, 11...Nbd7 12.h3 Ra6 13.Re1.‹VFÅbBA40c Queen's Pawn: Polish Defence.{=Á‚,É^E63i King's Indian: Fianchetto, Panno, 8.h3 Rb8.yOñŠêÌEZB33v Sicilian: Pelikan, Sveshnikov, 11.c3 Bg7.u6q¶…k‘ZE93 King's Indian: Petrosian, Keres Variation.tCü ü HD37m QGD: Classical, 5...O-O 6.e3 c5.pp|“Ù42D02p Queen's Pawn: London.mBàõ¥#RC33 KGA: Bishop's Gambit, Chigorin Attack.i{ÊwzLB40l Sicilian: Open, 2...e6, 4.Nxd4 d6.Z7E½°DB22d Sicilian: Alapin, 2...e6 3.d4.GëÛ‡ZD68 QGD: Orthodox, Classical, Vidmar, 13...e4.G8Flþú'^E63a King's Indian: Fianchetto, Panno Variation.<á¡kìpB01z Scandinavian: Marshall, 4.c4 Nb6 5.Nf3 Bg4 6.Be2 e6.7èØé¼HD44o Semi-Slav: Botvinnik, Main Line./Ãê;=ÕFD02i Queen's Pawn: 2.Nf3 e6 3.g3 c5.LI>fd»@E00m Catalan: 3...Bb4+ 4.Bd2 Qe7.Ì[ç!¬“8A26 English: Closed, 5.d3 d6.|-Z7àfC13c French: Classical, Anderssen-Richter Variation.‡AÜ-^C42v Russian Game: Classical, Chigorin, 8...Bf5.S>ˆò2LC09f French: Tarrasch, Open, Main Line. УÔ#¦6C61b Spanish: Bird's, 4.Bc4. ˜Ú”1 ,A05 Reti: 1...Nf6 2.b3-ý…Z]üVXC68u Spanish: Exchange, Bronstein, 6.Na3 Be6-û­óˆLº­^C56m Two Knights: Classical, Moller, 10.Bd2 Qf5-û8æ,j‹ÃA00j Mieses-îfOvù±8C41f Philidor: Hanham, 4.Bc4-ê_r0Mé]DC82b Spanish: Open, Berlin, 10.Bc2-ã5¯“WJC57j Two Knights: Fritz, Paoli's 8.h4-áh‘Ó £FA42e Modern: Averbakh, 4...c6 5.Nf3-ßÕKd¨¯jD36r QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O-O Nf8-Ð$Å%WzJA00s Polish: 2...Bxb4 3.Bxe5 Nf6 4.c4-ÆP’ó¾o½:B03f Alekhine: 4.c4 Nb6 5.Nf3-žŒüVöé4D13k Slav: Exchange, 6.Bf4-¿U÷@»w¦:A62 Benoni: Fianchetto, 9.O-O-½ß7¾ºˆE57 Nimzo-Indian: Main Line, 8...dxc4 9.Bxc4 cxd4 10.exd4 Be7 11.Qd3-·}ýFU@C50h Giuoco Piano: Jerome Gambit-µÔ|$³²ê*A80e Dutch: 2.Bg5 Nf6-¦1<Âmt1DA81 Dutch: 2.g3 Nf6 3.Bg2 g6 4.Nf3-£ ƒ$VÅ_VA50f Indian: Mexican Defence, 3.Nf3 e6 4.a3- qŸÆÓÛ|C76 Spanish: Modern Steinitz, Bronstein, 7.O-O Bg7 8.dxe5 dxe5-œ¼X›¿¸ò\E81d King's Indian: Sämisch, 5...O-O 6.Nge2 c5-›ÇJ€ÍDA36m English: Symmetrical, 5.e3 e6-Á Í ZB39a Sicilian: Maroczy Bind, Breyer Variation-Œá3~œF TE99 King's Indian: Mar del Plata, 10.f3 f5-€q©¾0^B09w Pirc: Austrian, 5...c5, Seirawan Variation-p›¾g_XÇlD80 Grünfeld: Stockholm, Taimanov, 5...Nxc3 6.bxc3 Bg7-eÀ©Þd*2A25 English: Closed, 5.d3-d½Tt¤Í•RE70h King's Indian: Kramer, 5...O-O 6.Ng3-bs ½÷ð2A46a Indian: Döry Defence-Y,º"åÅœ>D16n Slav: Bronstein, 6.Ne5 Bh5-X6Ú¦›TC69b Spanish: Exchange, Gligoric, 6.d4 Bg4-Q¡¿Œ›H&A84 Dutch: 2.c4 Nf6-Nyv?¼¬<$A00v Benko Opening-DOÃDRD39h QGD: Ragozin, Vienna, 6.e4 c5 7.Bxc4-?lÄü·¬FD35e QGD: Exchange, 5.Nf3 Nbd7 6.e3-4\i­  DB09p Pirc: Austrian, 5...c5 6.dxc5-y´´}õPC11r French: Burn, 5.Nxe4 Nbd7 6.Nf3 Be7-wïóÄñîFB40l Sicilian: Open, 2...e6, 4.Nxd4-GBÖ`B30s Sicilian: Rossolimo, 3...e6 4.O-O Nge7 5.b3- ìÅpˆ&LE04l Catalan: Open, 5.Nf3 c5 6.O-O Nc6- 2À]F A02 Bird: 1..Nf6- Dg€’æpB44u Sicilian, Taimanov, Szen, 7.N1c3 a6 8.Na3 Be7 9.Be2- v-›¸$"2E41 Nimzo-Indian: 4.e3 c5-Á}æ“B07a Pirc,ü+ÕžŽbBD78d Neo-Grünfeld, 6.O-O c6 7.Qa4,÷=¨®lìZC87j Spanish: Closed, Averbakh, 7.c3 O-O 8.d4,ögí˜kxW:B22e Sicilian: Alapin, 2...d6,õ+©é™Ã/†E11s Bogo-Indian: Nimzowitsch, 5.g3 Nc6 6.Nc3 Bxc3 7.Bxc3 Ne4 8.Rc1,õ\7²‘uXC57i Two Knights: Fritz Variation, Main Line,çæ¢AôL(jD42k QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Ncb4,Ý î^k¤º>B72 Sicilian: Dragon, 6.Be3 Bg7,՛ŊûJC21 Danish Gambit: Copenhagen Defence,¾4PhNE16b Queen's Indian: Capablanca, 6.Nbd2,¾ ¿ aŽBFE49 Nimzo-Indian: Botvinnik, 7...c5,·^3¬«—”|B92k Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O O-O 9.Be3 Be6,°C"uˆÌdB63s Sicilian: Richter-Rauzer, 7.Qd2 Be7, 9.Nb3 a6,¡j{wîÊíLB21w Sicilian: Smith-Morra, 4.Nxc3 Nc6,¯“î‘÷\,B07n Pirc: Pytel/Czech,‰xèõ® †B37m Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6 8.Be2 O-O 9.O-O Be6,†|µ%“8D93 Grünfeld: 5.Bf4 O-O 6.e3,„DBµíE8A05 Reti: Santasiere's folly,ƒÑAGC+ªZC89p Spanish: Marshall, Main Line, 15.Be3 Bg4,Šæ+N€ÄXB84 Sicilian: Scheveningen, Classical, 7.O-O,~È‘«è,^ˆD42n QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Nf6 11.a3 b6 12.Bg5,x‚øüsJC01e French: Exchange, 4.c4 Nf6 5.Nc3,oU b$B06f Modern: 3.Bc4,g¡ Ä0UFhB72 Sicilian: Dragon, Classical, Grigoriev Variation,a'ÁÌjK‰`D69 QGD: Orthodox, Classical, 13.dxe5: 15.f4 Qf6,Y†t_&»œnE62u King's Indian: Fianchetto, Uhlmann/Szabo Variation,O²v¼‚HÛ^C56h Two Knights: Classical, Moller, 9.Nxe4 Be6,Iéóûô{rB19o Caro-Kann: Classical, Spassky, 10.Qxd3 Qc7 11.Bd2 e6,ÑŽë4–>B96b Sicilian: Najdorf, 7.f4 h6,­‡kzT¨B36m Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2 Nxd4 8.Qxd4 Bg7 9.Bg5 O-O 10.Qd2, q•a&Õ\A37x English: Symmetrical, 5.Nf3 e5 6.O-O Nge7+ç;øV·NA29 English: Four Knights, 4.g3 g6 5.d4+áÛXäqe›DD41k QGD: Semi-Tarrasch, 6.e4 Nxc3+Ü<&ãÅ‹ü`B12u Caro-Kann: Advance, 4.Nf3 e6 5.Be2 c5 6.Be3+ØhqHŠó§2D12g Slav: 4.e3 Bf5 5.Bd3+Ðk2‘OXDB01a Scandinavian (Centre Counter)+ÏêöôZ~E52 Nimzo-Indian: Main Line, 6...b6 7.O-O Bb7 8.cxd5 exd5 9.Ne5+ϨÔÕqÈÊ@D33j QGD Tarrasch: Swedish, 9.e4+ÍsLjŸXD07e QGD: Chigorin, 3.cxd5 Main Line, 7.Bxc3+ÍÛ¤ŒàHA48x Neo-King's Indian: Torre Attack+ÈPÓ: ºžVB81q Sicilian: Scheveningen, Keres, 6...Nc6+Á̽Ø-èÇXC56j Two Knights: Classical, Moller, 10.Neg5+´]Õ>ÜÐï8C54d Giuoco Pianissimo: 5.d3+¯gÅ:¿˜fdE12t Queen's Indian: Petrosian, Kasparov Variation+®ÝýRê²tC88p Spanish: Closed, Anti-Marshall 8.a4 Bb7 9.d3 d6 10.c3+§@Aû&,XB97j Sicilian: Najdorf, Poisoned Pawn, 9.Nb3+›?O¨èA£tB38q Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.O-O Nxd4+ŒX¨§i!*PD23s QGA: Mannheim, Main Line, 10.e3 Ne4+‰g½– /:A66 Benoni: Four Pawns Attack+€›S8©"6C32 KGD: Falkbeer, 4.d3 Nf6+{m—S1ibC57k Two Knights: Fritz, Gruber Variation (8.Ne4)+v_ ð÷·fB99h Sicilian: Najdorf, Main Line, 10.Bd3 h6 11.Bh4+qÿ{ ;HD25h QGA: Janowski-Larsen, 5.Bxc4 e6+fÔá•SÞ‡ND52k QGD: Cambridge Springs, 8.Qc2 dxc4+ZNVæè:C60u Spanish: Cozio, 4.O-O g6+IÆÿPÈR„B35j Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3 Ng4+IZÈ‘t:D85a Grünfeld: Exchange, 5.g3+AWÍé]®ÿJE00e Queen's Pawn: Neo-Indian, 3...b6+5:÷Èà8B20 Sicilian: Snyder, 2...e6+3_?_Ç[ŽA29 English: Four Knights, 4.g3 d5 5.cxd5 Nxd5 6.Bg2 Nb6 7.O-O Be7 8.d3+2'1ñ9UNB16c Caro-Kann: Bronstein-Larsen, 6.Ne2+(Q)˽bD63 QGD: Orthodox, 7.Rc1 b6, Capablanca Variation+'¹ÓcjLA05 Reti: KIA+'š-6”ÄbA37v English: Symmetrical, 5.Nf3 e5 6.O-O d6 7.d3+Û·ätèFjB01f Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.Nf3 Nf6 5.Be2+ ƒ+é½P*B10p Caro-Kann: 2.Nc3+Ò†>SŒª6A00m Van Geet: 1...d5 2.Nf3*è&´þÑshC95f Spanish: Closed, Breyer, 10.d4 Nbd7 11.Nbd2 Bb7*ãÏÖ¸[ð¾BB09f Pirc: Austrian, 5...O-O 6.e5*Û¦¹¥YsNB03s Alekhine: Exchange, 5...cxd6 6.Nc3*Ä |3²:A09p Reti: Accepted, 3.Na3 a6*¿°2/`z8RB26p Sicilian: Closed, 6.Be3 e6 7.Qd2 Rb8*¸Õ˜Œœ,§@B02a Alekhine: Krejcik Variation*¶þ g(–JLB80d Sicilian: Scheveningen, 6.Be3 Nc6*µÁd C“fE34 Nimzo-Indian: Classical, Noa, 5.cxd5 Qxd5 6.Nf3*­èß² ^B38c Sicilian: Maroczy Bind, 6.Be3 d6 7.Nc3 Nh6*¬Øùª9Ûž0D45c Semi-Slav: 5.e3 Be7*™»Zd|íJhE70r King's Indian: 4.e4 d6 5.Bd3 O-O 6.Nge2 e5 7.d5*™6\öaHE90a King's Indian: 5.Nf3 Nbd7 6.Be2*®öëeí|B14h Caro-Kann: Panov-Botvinnik, 5...g6, Main Line, 8.Be2 Nbd7*ŒÛΣeQ«tB84 Sicilian: Scheveningen, Classical, 7.O-O Qc7 8.Be3 Nc6*†4ëG–”`E75b King's Indian: Averbakh, 7.d5 e6 8.Nf3 exd5*„­?.sùœ\E92j King's Indian: Gligoric-Taimanov, 7...Qe7*åNóK¯4A22 English: Bellon Gambit*xb¼Òu®ûHA44e Old Benoni: Czech, 3.c4 d6 4.e4*m‹û4O9Ç6B06n Modern: 3.Nc3 d6 4.Bc4*daé³dVB59e Sicilian: Boleslavsky, 7.Nb3 Be7 8.Be3*bñZû3XB61a Sicilian: Richter-Rauzer, Larsen, 7.Qd2*`‰=RwZõnB33s Sicilian: Pelikan, Chelyabinsk, 9.Bxf6 gxf6 10.Nd5*Ux‡6C¯¡0D45d Semi-Slav: 5.e3 Ne4*S:ÂQ'¿qPA86 Dutch: Leningrad, 4.Bg2 Bg7 5.Nc3 d6*Ni©Iá^@D18g Slav: Dutch, 8...Nbd7 9.Nh4*M#œÌ){›XC00u French: KIA, Reversed Philidor, 4...Nc6*Až˜P<A08 Reti: KIA, 2...c5 + 3...g6*?yîê²™ï^E87e King's Indian: Sämisch, Orthodox, 7.d5 Nh5*1ƒÕ›¥j:D11c Slav: 3.Nf3 Bf5 4.Nc3 e6*0¶¬]p  4C68b Spanish: 3...a6 4.Bc4*.Í¢"œ:B22f Sicilian: Alapin, 2...d5*+B¨üŒ}TE15n Queen's Indian: Nimzowitsch, 5.b3 Bb7*&²½ôc=Ú@A45p Trompowsky: 2...c5 3.d5 Qb6*®jUPg6D02a Queen's Pawn: 2.Nf3 g6*=uíÄÔXLB12j Caro-Kann: Advance, 3...c5 4.dxc5*å΃Æh^E58 Nimzo-Indian: Main Line, 9.bxc3 Qc7 10.cxd5*co@êVãB06d Modern*Q÷©ˆ$PB99m Sicilian: Najdorf, Main Line, 10.g4*Nw^uÁà2A58a Benko Gambit: 5.bxa6)÷×<š ×?bB49f Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.O-O)é}Ÿã;* &B07d Pirc: 2.d4 Nf6)ã1ðJa‹ŽD48g Semi-Slav: Meran, 8...a6 9.O-O Bb7 10.e4 c5 11.d5 Qc7 12.dxe6 fxe6)ÞG¢p»ß…~B99u Sicilian: Najdorf, Modern Main Line 13.f5 Bxg5+ 14.Kb1 Ne5)ÞG‚ôu¡"D10a Slav Defence)Ê ?,¥?+HA80i Dutch: Alapin, Manhattan Gambit)ÇÞùw(sÒNA26 English: Botvinnik System, 6...Nge7)¼ Ô%_¦2D03k Torre Attack: 3...g6)¶³ ±R¼VA91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nh3)²]¸'b]0ZB22p Sicilian: Alapin, 2...Nf6 3.e5 Nd5 4.Nf3)°]å±WÐ0A10 English: Anglo-Dutch)ª š¨ç¡VA67p Benoni: Four Pawns, Taimanov, 9.a4 O-O)£y¨ æ@]@D46e Semi-Slav: Chigorin Defence) T'…9vE74m King's Indian: Averbakh, 6...c5 7.d5 h6 8.Be3 e6 9.Qd2)žOPFn‘_XD22k QGA: Alekhine, 4.e3 Bg4 5.Bxc4 e6 6.Nc3)-쯼xB65b Sicilian: Richter-Rauzer, 7...Be7, 9.f4 Nxd4 10.Qxd4 h6)˜\qÖ‰WÉTD43k Semi-Slav: Moscow, 6.Bh4 Be7 7.e3 O-O)”é³ÿ]ÞlC06s French: Tarrasch, Closed, 8...f6 9.exf6, 11...O-O)Žòu4áSlA94 Dutch: Stonewall, Botvinnik, 8.Ba3 Bxa3 9.Nxa3 Qe7)yyq›0EnE89e King's Indian: Sämisch, Orthodox Main Line, 10.Qd2)xr´ãiÀNE13a Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4)x [©=ó\C15q French: Winawer, Alekhine Gambit Accepted)n&ÿ#'UsDC62 Spanish: Old Steinitz, 4.Bxc6+)e®úE\E93 King's Indian: Petrosian, Main Line, 8.Be3)cÈQRB91j Sicilian: Najdorf, 6.g3 e5 7.Nde2 b5)Tà«wV -dE95l King's Indian: 7.O-O Nbd7 8.Re1 c6 9.Bf1 exd4)Jõ”M&fHB01u Scandinavian: Portuguese, 4.Be2)<é6\,ÁNTD44n Semi-Slav: Botvinnik, Szabo Variation)5Ú¡¶åøˆE57 Nimzo-Indian: Main Line, 8...dxc4 9.Bxc4 cxd4 10.exd4 Be7 11.Bg5)2ØDŠbA44i Old Benoni: Czech, 3.c4 d6 4.e4 g6 5.Nc3 Bg7))LK´GC4B08b Pirc: Classical, 5.h3)(60hb9åJA86 Dutch: Leningrad, 4.Bg2 Bg7 5.Nc3)!QOßê+ÝJA84 Dutch: Rubinstein, 3...d5 4.e3 c6)!,¨Lö&JC90g Spanish: Closed, Pilnik, 9...Na5) Å[Æ)BC52 Evans Gambit: 5...Ba5 6.d4 d6)–§œS­bB44s Sicilian, Taimanov, Szen, 7.N1c3 a6 8.Na3 b6)äØ$›0C38 KGA: Hanstein Gambit)’,M~'BA57o Benko Gambit: 4.cxb5 a6 5.f3(ý©Ôá=@o`A75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.Nd2(úš&I‘bƒXC48a Four Knights: Spanish, Ranken Variation(õ\4T›ðXD20q QGA: 3.e4 Nf6 4.e5 Nd5 5.Bxc4 Nb6 6.Bb3(õÝEZFhB48p Sicilian: Taimanov, 6.Be3 a6 7.Bd3 Nf6 8.O-O h5(ñ˜T9žÈVD98f Grünfeld: Russian, Smyslov, 8.Be3 Nfd7(èÇ'8¼à‘\E94c King's Indian: 7.O-O exd4 8.Nxd4 Re8 9.f3(çrñÀÒ4­NB31c Sicilian: Rossolimo, 3...g6 4.Bxc6(àY %ΡBA17 English: Nimzo-English, 4.Qc2(Ý¥†ÞÚA€2B07s Pirc: Holmov (4.Bc4)(Ö A€<÷RC97a Spanish: Closed, Chigorin, 11.d4 Qc7(ÕÑ»’ò²äLA43j Old Benoni: Clarendon Court, 3.g3(ÏQ'™V{>C54f Giuoco Pianissimo: 5.d3 d6(ÍÝn·ÆŽ6D23d QGA: Mannheim, 4...Nc6(Ì&Òþ+ehB47o Sicilian: Taimanov, 6.g3 a6 7.Bg2 Nf6 8.O-O Be7(Â?^9”´ZA36c English: Symmetrical, Keres-Parma System(ÀEª¶Ù;tA05 Reti: KIA(¼ÂÈ¥ƒDA26 English: Closed, 5.d3 d6 6.Rb1(¼j®»ÕíbC15q French: Winawer, Alekhine Gambit, 5.a3 Bxc3+(³ù#æ/÷ø0C44z Scotch Gambit: 5.c3( ´¯ËLé(hD39j QGD: Ragozin, Vienna, 6.e4 c5 7.Bxc4, 8...Bxc3+(šêš›ÅFC42q Russian Game: Classical, 6.Bd3(š­&0Í_FC93 Spanish: Closed, Smyslov, 12.a3(—´BÜ$æVC41g Philidor: Hanham, Schlechter Variation(‡»î'N±XB01v Scandinavian: Portuguese, 4.f3 Bf5 5.c4(s¿“ –<C41i Philidor: Morphy, 4...Nc6(o3ºÊŸÌFA13j English: 1...e6 2.Nf3 Nf6 3.g3(nGD-Ûõ«nA37y English: Symmetrical, 5.Nf3 e5 6.O-O Nge7 7.d3 O-O(k,‘{2oçRB74 Sicilian: Dragon, Classical, 9.Nb3 a6(dÝJUmÿ†PE91w King's Indian: 6.Be2 Bg4 7.Be3 Nfd7(_"*Žœë&A25 English: Closed(Xž[›fúœ&A00j Mieses: 1...d5(S&¸üT#‰VC06l French: Tarrasch, Closed, 8...f6 9.Nf4(Jr³•Á4A80h Dutch: 2.Bg5 g6 3.Nc3(IC„¥6g!^C80k Spanish: Open, Schlecter, Berger Variation(=¯‰wû7 E59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 11.Bd3 e5 12.Qc2 Re8 13.de5(7qÃÁâýˆJC47b Four Knights: Gunsberg Variation(3íjšõNB21d Sicilian: Grand Prix, 2...e6 3.Nf3(.USÂ:D43r Semi-Slav: Moscow, 7.Qc2(,þs;fn^C97l Spanish: Closed, Chigorin, Yugoslav System(+=K¥yzwLA45w Trompowsky: 2...Ne4 3.Bf4 d5 4.e3(|«QµiFC46b Three Knights: Winawer Defence(Žð ÷\HB95h Sicilian: Najdorf, 6...e6 7.Qd3($euÿBD07g QGD: Chigorin, Lazard Gambit(÷ÊÎU%trE13m Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 g5 8.Bg3 Ne4'ù0‡’gjB23v Sicilian: Closed, Grand Prix, Schofman Variation'÷¥èʆ[óZE11h Bogo-Indian: 4.Bd2 Be7 5.g3 d5 6.Bg2 O-O'ï쉽ÞHD02t Queen's Pawn: 3.g3 c6 4.Bg2 Bg4'ëÆñ뾇%:C02a French: Advance, 3...Ne7'ë6Kõ‘¿6C80i Spanish: Open, 6.d4 b5'çg¼&[-@C44o Ponziani: 3...Nf6 4.d4 exd4'å7yÿ²TZD30u QGD: 3.Nf3 Nf6 4.e3 c6 5.Nbd2 Nbd7 6.Bd3'ᘰR*Þ·>A36k English: Symmetrical, 5.e3'Üÿ.£ünE36 Nimzo-Indian: Classical, Noa, 5.a3 Bxc3+ 6.Qxc3 O-O'Û®F‘RÀhB78j Sicilian: Dragon, Yugoslav, Main Line, 12.h4 h5'Ìåœ,HjC24 Bishop's Opening: Urusov Gambit, Estrin Variation'Ép{Ď܈B13z Caro-Kann: Panov-Botvinnik, 5...Nc6, Normal Variation, 8.c5 O-O'¿¶ûäc¨“:D13p Slav: Exchange, 6.Bf4 e6'» avQ¼:E06 Catalan: Closed, 6.O-O c5'¹· † VA41r Neo-Old Indian: Modern, 3.Nf3 Bg7 4.g3'´×Ñþ¶“4B15r Caro-Kann: 4.Nxe4 Nf6'°ƒ7Œ‹ÄfE18k Queen's Indian: 7.Nc3 d5 8.Ne5 Na6 9.cxd5 exd5'¥ú¥Ö-‡wLD54d QGD: Anti-Neo-Orthodox, Main Line'™¶]€« HD30h QGD: Tarrasch without Nc3: 4.e3'˜kÍ' FA01 Nimzowitsch-Larsen: Symmetrical'” 7 SdA88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.d5 Qe8'‘ ¹âl÷‘\D25p QGA: Janowski-Larsen, 6.h3 Bh5 7.Nc3 Nbd7'ˆƒ«Lì¼JD41k QGD: Semi-Tarrasch, 6.e4, 8.cxd4'„.”4ƒ>D44e Semi-Slav: Botvinnik, 7.e5'‚uWÑÈ FD19b Slav: Dutch, 8...O-O 9.Qe2 Bg4'rÏb4á1LE34 Nimzo-Indian: Classical, Noa, 5.e3'h–­C½úÉFA82 Dutch: Staunton Gambit Accepted'h,Eª@ZC89k Spanish: Marshall, Main Line (12.d4 Bd6)'ZG|ÔPC87i Spanish: Closed, Averbakh, 7.c3 O-O'XZ¶ñ3÷^D43m Semi-Slav: Moscow, 6.Bh4 Gambit, Main Line'V¦G|6@E50 Nimzo-Indian: 4.e3 O-O 5.Nf3'OîüÈ)ÛßZD85d Grünfeld: Exchange, 5.e4 Nxc3 6.bxc3 Bg7'Na´_HÚFA22 English: Bremen, Smyslov System'N¾y¼H&VD27v QGA: Classical, Rubinstein, 8.Qe2 cxd4';t2Í¢ ŒC99o Spanish: Closed, Chigorin, 13...Nc6 14.Nb3 a5 15.Be3 a4 16.Nbd2 Bd7':Ýúü.®ˆFB12g Caro-Kann: Edinburgh Variation'95eóÄŠ'bC09l French: Tarrasch, Open, Main Line, 9.Nb3 Bd6'0è@r™XŽC09q French: Tarrasch, Open, Main Line, 9.Nb3 Bd6 10.Re1 O-O 11.Bg5 Bg4'0iÔ›OšÒ@B92c Sicilian: Najdorf, 6.Be2 e5'+©È¹Å28A84 Dutch: 2.c4 e6 3.Nf3 Nf6'*ñŸj¤Ñâ:A43h Old Benoni: 2.d5 e6 3.c4'%Øß´)†A46c Neo-Benoni'"%§ç€cÜ^E05n Catalan: Open, Classical, 8.a4, 10.Bg5 Bd5'!«¼F'TA27 English: Three Knights, 3...f5 4.d4 e4'!‰ñ²Y<áLC36 KGA: Scandinavian, Modern, 5.Bb5+ ' h‰LV.RB15g Caro-Kann: Gurgenidze: 4.e5 Bg7 5.f4'‘”–­›%`A35k English: Symmetrical, Four Knights, 4.g3 d5&üÃAG˜d,B90a Sicilian: Najdorf&à²ÏÅÊE84o King's Indian: Sämisch, Panno Main Line, 9.h4 h5 10.O-O-O b5 11.Bh6&Ýn—köŒD31a QGD: 3.Nc3&Ú>Ý»7¢>D82 Grünfeld: 4.Bf4 Bg7 5.e3 c5&Ï9(ȳBA85 Dutch: 2.c4 Nf6 3.Nc3 e6 4.a3&ºÑ!¡J‹XXC11l French: Steinitz, Boleslavsky, 7...cxd4&¯¤#g+°TE26 Nimzo-Indian: Sämisch, 5...c5 6.e3 Nc6&«êŠŸFZE81k King's Indian: Sämisch, 5...O-O 6.Be3 a6&¥•P² ö«B07d Pirc: 2.d4&™ãŸáBE61i King's Indian: 4.Nf3 d6 5.e3&‘ âïL<E20 Nimzo-Indian: 4.f3 c5 5.d5&$³ºÏi5DD40c QGD: Semi-Tarrasch, 5.e3 cxd4&÷ä^·ùRDA21 English: Lukin, 5.Nd2 Nf6 6.e3&’¼›NB40m Sicilian: Open, 2...e6, 4.Nxd4 Bc5&ˆòtíhB03l Alekhine: Four Pawns Attack, Korchnoi Variation&‡n…58"nB97t Sicilian: Najdorf, Poisoned Pawn, Main Line, 13.e5&„{îKÕ›ÀtE38k Nimzo-Indian: Classical, 4...c5 5.dxc5 Na6: 8.b4 Nce4&ƒêA!sˆ7\B67k Sicilian: Richter-Rauzer, 7...a6, 9.f4 b5&ƒðï#ƒ`B52o Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Qxd7 5.O-O Nc6&|î:½-*fD47g Semi-Slav: Meran, Capablanca, 8...Bb7 9.O-O a6&q>Áð·¬DB83 Sicilian: Scheveningen, Modern&^“T|ÕJ$D21h QGA: 3.Nf3 c5&Zø8Äì ˜lA26 English: Closed, 5.d3 d6 6.Nf3 Nf6 7.O-O O-O 8.Rb1&K³'™­ 0TE92r King's Indian: Petrosian, Stein, 8.h3&? šk”‚z@C29b Vienna Gambit: 3...d6 4.Nf3&>6¸-õh¿„A30y English: Symmetrical, Hedgehog, Flexible Formation, 11.e4 Qc7&=,íFA50c Indian: Mexican Defence, 3.Nc3&;ÿ'jÏ"ö6A00l Van Geet: 1...e5 2.Nf3&;#B$Ѿ*`C43g Russian Game: Modern Attack, 3...Nxe4 4.Bd3&3á„ãÁFlB19n Caro-Kann: Classical, Spassky, 10.Qxd3 Qc7 11.Bd2&0üÚðÆ‰¤JD47n Semi-Slav: Meran, Wade, 9.O-O b4&/Ó:ž›cXD31h QGD: Alatortsev, 5.Bf4 c6 6.e3 Bf5 7.g4&!âÄBûBy2A61 Benoni: 6.Nf3 g6 7.h3&®’òÓÎJB96c Sicilian: Najdorf, 7.f4 Nc6 8.e5%ùºþFtB11e Caro-Kann: Two Knights, 3...Bg4 4.h3 Bxf3 5.Qxf3 dxe4%÷ch¹ ¹:B22c Sicilian: Alapin, 2...e6%ô;|{Ç…=DA43s Old Benoni: Schmidt, 3.Nc3 g6%îahyÑä·PC51 Evans Gambit: Fraser-Mortimer Attack%ß"ŽþÄs3’B36n Sicilian: Maroczy Bind, 5...Nf6 6.Nc3 d6 7.Be2 Nxd4 8.Qxd4 Bg7 9.Be3%Ü3ƒyµ#áXB41m Sicilian: Kan, 5.c4 Nf6 6.Nc3 Qc7 7.Be2%Ü#Lι¥Ù`B03t Alekhine: Exchange, 5...cxd6 6.Nc3 g6 7.Be3%̬„´¹sVA30i English: Symmetrical, Hedgehog, 6...a6%ÆLæô2Ç€`D72 Neo-Grünfeld, 5.cxd5 Nxd5 6.e4 Nb6 7.Ne2 Nc6%ÃÉåˆ>ádC08h French: Tarrasch, Open, 4.exd5 exd5 5.Ngf3 a6%¼Ïf\ó–HA48o Neo-King's Indian: Torre Attack%³|ùòåê"A45h Indian: 2.g3%³‡xhC36 KGA: Scandinavian, Modern, 5.Bb5+ c6 6.dxc6 Nxc6%œrð®æ :D53l QGD: 4.Bg5 Be7 5.Nf3 O-O%“`X¾?HE32b Nimzo-Indian: Classical, 4...b6%„ÿ-H-°PD47l Semi-Slav: Meran, Lundin, 9.Ne4 Be7%„teÇÝ>»ˆE15q Queen's Indian: Nimzowitsch, 5.b3 Bb4+ 6.Bd2 Be7 7.Bg2 c6 8.O-O%ì-ýþz>D58k QGD: Tartakower, 8.Be2 Bb7%~Ðçd7êD50 QGD: 4.Bg5%|Z'ÿÊ2<A22 English: King's, 2.Nc3 Nf6%yögVï’¾PD33p QGD Tarrasch: 7.Bg2 cxd4 8.Nxd4 Be7%v²sm@D40d QGD: Semi-Tarrasch, 5.e3 a6%t3§ñ»èXE04m Catalan: Open, 5.Nf3 c5 6.O-O Nc6 7.Ne5%fÐCJVÎ BD27c QGA: Classical, 6...a6 7.Nc3%\GöøTC11j French: Steinitz, Boleslavsky, 7...a6%[v‹@š¼ NC31 KGD: Falkbeer, Rubinstein Variation%VôŸ§ 9éHC77r Spanish: Wormald Attack, 5...b5%VÖ´ä%Œ#RC89m Spanish: Marshall, Main Line, 13.Re1%Sv¹IªÞBD17k Slav: Central, 6.Ne5 e6 7.f3%M:©ãŒª_ND38g QGD: Ragozin, 5.cxd5 exd5 6.Bg5 h6%I=ƒœˆ&0D77a Neo-Grünfeld, 6.O-O%Hh‰ž—sî.A43k Old Benoni: Woozle%>™÷†€ôBD31m Semi-Slav: 4.cxd5 exd5 5.Bf4%<Ï­×ßO$TD17s Slav: Central, Main Line, 15.Nxc4 O-O%;ö‹j4¤VE83d King's Indian: Sämisch, 6...Nc6 7.Nge2%3ÄŽ€Id,jE96 King's Indian: 7.O-O Nbd7, Old Main Line, 10.dxe5%2Y®Ž:G.D06n QGD: 2...Bf5 3.Nf3%1qTÿ±gHA23 English: Bremen, Keres, 4.Nf3 d6%1 Ò›olLB09j Pirc: Austrian, 5...O-O 6.Bd3 Nc6%%d˜!u·étC41d Philidor: Philidor Countergambit, Zukertort Variation%·+TRFD01m Richter-Veresov: 3...Nbd7 4.f3%‚?\éO 2B41c Sicilian: Kan, 5.Be3$ñf¦XÃX-$A00v Benko Opening$Ý“ÛPÑ”>B51c Sicilian: 3.Bb5+ Nd7 4.O-O$Ö±KÕxc¨hE29 Nimzo-Indian: Sämisch, 5...O-O 6.e3 c5 7.Bd3 Nc6$Åc,2G_(D45g Semi-Slav: 6.a3$ÂgD¬Öd\@B33i Sicilian: Pelikan, 7.Bg5 a6$ÂZí678C01g French: Exchange, 4.Bf4$´ÐUaeuÿ|B92p Sicilian: Najdorf, 6.Be2 e5 7.Nb3 Be7 8.O-O O-O 9.Kh1 Be6$ªãùäD[HC83 Spanish: Open, Classical, 10.Be3$©yòöë¾VB09t Pirc: Austrian, 5...c5 6.Bb5+ Bd7 7.e5$¤˜ïZÎòIHE17d Queen's Indian: 6.Nc3 O-O 7.Qc2$žô‹1öwbB05s Alekhine: Modern, Main Line, 8.Nc3 O-O 9.Be3$™¡"ÚÙ FD33n QGD Tarrasch: Wagner Variation$•—ÍnJ¼{>A28 English: Four Knights, 4.e3$‘>æ6_xûDB80b Sicilian: Scheveningen, 6.Be3$vcë:àK~E99 King's Indian: Mar del Plata, 10.f3 f5 11.Nd3 Nf6 12.Bd2 f4$v])¤£’ÿdD67 QGD: Orthodox, Main Line, Capablanca Variation$sŠ|j¹‚2A13s English: Neo-Catalan$k¿ý2=¾TpB01v Scandinavian: Portuguese, 4.f3 Bf5 5.Bb5+ Nbd7 6.c4$k¥: ~‰4zE98n King's Indian: Mar del Plata, 9.Ne1 Nd7 10.Nd3 f5 11.Bd2$dµe/î9ôrB13t Caro-Kann: Panov-Botvinnik, 5...Nc6 6.Nf3 Bg4: 8.Qb3$c3Åö’ND15x Slav: Geller Gambit, 6.e5 Nd5 7.a4$a\òß e\B93m Sicilian: Najdorf, 6.f4 e5 7.Nf3 Qc7 8.a4$T—Qtv>}C00a French$‘ªKI@C47g Four Knights: Glek, 4...Bc5$ÀUÇ“XÅHC24 Bishop's Opening: Paulsen, 4.Nf3$4¸wVPD07v QGD: Chigorin, 3.Nc3 dxc4 4.Nf3 Nf6#ïß_Ô2tŸPC92k Spanish: Closed, Zaitsev, 10.d4 Re8#î÷Ü1’éFC54n Giuoco Piano: Aitken Variation#Ü´Ì…"ãQ`B12t Caro-Kann: Advance, 4.Nf3 e6 5.Be2 c5 6.O-O#ۀЬVçbE71j King's Indian: Makagonov, 5...O-O 6.Bg5 Nbd7#ÕL3ÿ¿8C29a Vienna Gambit: 3...exf4#ÒÝ$¾Ø`B30v Sicilian: Rossolimo, 3...e6 4.O-O Nge7 5.c3#Ê*ý„ ª0A10 English: Anglo-Dutch#Äd=HJŒ A04 Reti: 1...c5#ÁîÕC·oÕ2B20 Sicilian: Wing Gambit#½Kð¡“¾@C01j French: Exchange, 4.Bd3 Bd6#¶k!c_”rE52 Nimzo-Indian: Main Line, 6...b6 7.O-O Bb7 8.cxd5 exd5#´"‡­£0C38 KGA: Philidor Gambit#šhm0©hZE62q King's Indian: Fianchetto, Spassky, 8.d5#˜…ÿ“ÝÏufC43i Russian Game: Modern Attack, 3...Nxe4 4.Bd3 d5#—*f…qßö&B07t Pirc: 4.Be3 c6#†™WHE‘¨DD52g QGD: Cambridge Springs, 7.Nd2#uå4x ]HA57p Benko Gambit: 4.cxb5 a6 5.f3 e6#p÷€Õ¼$‚2A43k Old Benoni: 2.d5 Nf6#jºÓÃ)RD86 Grünfeld: Classical Exchange, Simagin#j.h»¸/LB89 Sicilian: Velimirovic, 9.O-O-O Qc7#a{›q}>bB14k Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3 Be7#M)Ï[sJA48k Neo-King's Indian: London System#KÉ¥ü@ND61 QGD: Orthodox, Rubinstein, 7.Qc2 a6#7ý¢þöB’@A45s Trompowsky: 2...Ne4 3.h4 c5#.ÿ&zjpC95l Spanish: Closed, Breyer, Main Line, 14.Ng3 g6 15.b3#.%™¤ëŽE60r King's Indian: Fianchetto without Nc3, 6...Nbd7 7.Qc2 e5 8.Rd1 Re8#!Ò(aê¯r6E11g Bogo-Indian: 4.Bd2 Be7#iÒ¯E®¨jC25q Vienna: Hamppe-Allgaier Gambit, Alapin Variation#¯u2qF.A07 Reti: KIA, Yugoslav# ìÞ•³íÀE97m King's Indian: Mar del Plata, Bayonet Attack, 9...Nh5 10.c5# Šj<¬®hC89v Spanish: Marshall, Main Line, Classical, 18.Qf1"ýoêp‘tÚpA92 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3 O-O 6.Nc3 d6"úÊJ NB75 Sicilian: Dragon, Yugoslav, 7...Nc6"õºðpGLFE51 Nimzo-Indian: 4.e3 O-O 5.Nf3 d5"ô‡oWÚq–B85 Sicilian: Scheveningen, Classical, Main Line, 9...Nc6 10.Qe1 Qc7 11.Qg3"ñª£®2#ZB66c Sicilian: Richter-Rauzer, 7...a6 8.O-O-O"ì¶É†½§tD12f Slav: 4.e3 Bf5 5.cxd5 cxd5 6.Nc3, Amsterdam Variation"ë?% å--fC14n French: Classical, Steinitz, 9.Qd2 Nc6 10.dxc5"Üçé/!Ÿ4A10 English: 1...Nc6 2.Nc3"Úš¼!}]PC18k French: Winawer, 6...Ne7 7.Qg4 Nbc6"×\c™£Ë±ŠB97p Sicilian: Najdorf, Poisoned Pawn, 10.e5 dxe5 11.fxe5 Nfd7 12.Bc4"Õ1‘ýšöÉBA60o Benoni: 4.Nc3 exd5 5.cxd5 g6"ÍS\YLdE82f King's Indian: Sämisch, Fianchetto, 7.Bd3 Bb7"Á0 ¯VI\D29j QGA: Classical, 8...Bb7 9.Rd1 Nbd7 10.Nc3"¾’¼-h S@B29b Sicilian: Nimzowitsch, 3.d3"¸7)!¡êzZA35j English: Symmetrical, Four Knights, 4.g3"´FG"ñêtC47s Four Knights: Scotch, 4...exd4 5.Nxd4 Bb4 6.Nxc6 bxc6"¦5ƒ¶·\FD07t QGD: Chigorin, 3.Nc3 dxc4 4.d5"¢°î5‚‹>6C38 KGA: 3.Nf3 g5 4.Bc4 Bg7" àSXÿÄì<A03 Bird: 1...d5 2.Nf3 g6 3.g3" OœX˜B45v Sicilian: Taimanov, Four Knights, 6.Ndb5 Bb4 7.a3, 10.Bd3 O-O 11.O-O d4"š“†ôµ\D36p QGD: Exchange, Main Line, 9.Nf3 Re8 10.h3"˜<,@ÑÝ|tE79b King's Indian: Four Pawns Attack, Main Line, 9...Nxd4"—¼_.oÛZE04u Catalan: Open, 5.Nf3 Nc6 6.O-O Rb8 7.Nc3"—Hž<9SÏDA55j Old Indian: 5.e4 Be7 6.Be2 c6"ùZ«0¥RJD85l Grünfeld: Modern Exchange, 8.Be2"U¨n«³ÀtB84 Sicilian: Scheveningen, Classical, 7.O-O Qc7 8.Kh1 Nc6"LÜ6É‘ØXB08c Pirc: Classical, Spassky System, 6...d5"|(º[†;^D86 Grünfeld: Classical Exchange, Simagin, 9.h4"z‚`gšNfA90 Dutch: 2.c4 Nf6 3.g3 e6 5.Nf3 d5 6.O-O Bd6 7.b3"wlôÄŨ(A00p Polish: 1...Nf6"uÅ=e¦sXE72 King's Indian: 4.e4 d6 5.g3 O-O 6.Bg2 e5"hà·xÄ~bD58h QGD: Tartakower, 8.Bd3 Bb7 9.O-O Nbd7 10.Bg3"g†(»tnHVC33 KGA: Bishop's Gambit, Ruy Lopez Defence"]³Lê ˆB97u Sicilian: Najdorf, Poisoned Pawn, Main Line, 13.e5 dxe5: 15.Ne4"\ÛÛ|±,„D21r QGA: 3.Nf3 c5 4.d5 e6 5.Nc3 exd5 6.Qxd5 Qxd5 7.Nxd5 Bd6 8.Nd2"\«”Cº±aDD10r Slav: 3.Nc3 dxc4 4.e4 b5 5.a4"SˆÒ§JMt<B12b Caro-Kann: Ulysses Gambit"Oxõ¾Û`C04e French: Tarrasch, Guimard, Main Line, 6.Bb5"I4ÞèCŠ!VD22f QGA: Alekhine, 4.e3 e6 5.Bxc4 c5 6.Qe2"5Ò–Rƒ N^D09 QGD: Albin, 5.g3 Be6 6.Nbd2 Qd7 7.Bg2 O-O-O"4>r¬v8B20 Sicilian: Snyder, 2...d6"3qºdÈ4D51 QGD: Rochlin Variation"0ßCý L8D53d QGD: 4.Bg5 Be7 5.Nf3 h6""Ç ä¹‡fE51 Nimzo-Indian: 4.e3 O-O 5.Nf3 d5 6.Bd3 Nc6 7.O-O""de{Ò½ºdA88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.d5 Qa5"Ò„§ÄÄÍ~E69v King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Re1 exd4"¤9L§qnA33c English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.Bg5" i\É CrB14d Caro-Kann: Panov-Botvinnik, 5...g6 6.cxd5 Nxd5 7.Bc4"iÃ_ÃÁ|>C34 KGA: Gianutio Countergambit"ïCÜü.è^B01t Scandinavian: Scandinavian Gambit Accepted"r¢¬^fB98q Sicilian: Najdorf, 8...Qc7 9.O-O-O Nc6 10.Nxc6"Fâb‘™¯>A53 Old Indian: 3.Nf3 Bg4 4.Qb3!ûû*oÓHC30n KGD: Classical, Marshall Attack!ôYZWî5TbB47w Sicilian: Taimanov, 6.Be2 a6 7.O-O Nf6 8.Kh1!íð^#TË@xE82g King's Indian: Sämisch, Fianchetto, 7.Bd3 Bb7 8.Nge2 c5!ì³dEŠ+*B70a Sicilian: Dragon!Ûf¢mR4&A40i Englund Gambit!Ó¸K>ŸŒÕZB96b Sicilian: Najdorf, Delayed Poisoned Pawn!¼£çw’±PE45 Nimzo-Indian: Nimzowitsch, 5.Ne2 Ba6!²Ê>æø^A83c Dutch: Staunton Gambit, Chigorin Variation!²=ÒÉè_VB67c Sicilian: Richter-Rauzer, 7...a6, 9.f3!¨.|¾óUŠJC80i Spanish: Open, Richter Variation! TˆxbbŽ,C37 KGA: Quaade Gambit!ã¬n'Iû8E61a King's Indian: 3.Nc3 c5!˜]ú>NÜÝLB05b Alekhine: Modern, Panov Variation!¾Ä%Á;hC84i Spanish: Closed, Centre Attack, 7.e5 Ne4 8.Nxd4!ŠÏ^ê´3’BC64a Spanish: Classical, Exchange!Š€Ö¦æ 08C42p Russian Game: Classical!†cIÔòNjA92 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3 O-O 6.Nc3!Æ÷6YÌŸzB34q Sicilian: Accelerated Fianchetto, Modern, 6.Be3 Nf6 7.f3!{Yê5­6±NE02 Catalan: Open, 5.Qa4+ Nbd7 6.Nf3 a6!x#/X`#LXB55 Sicilian: Prins, Venice Attack, 6...Nbd7!wgºCÀ!{<A00o Grob Gambit: Spike Attack!l„ᆩT¡(A45d Indian: 2.e3 g6!\-´\,G݈D76f Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.e3 e5 10.d5 Na5!Z|€"צ4DD95i Grünfeld: 5.e3 O-O 6.Qb3 dxc4!RÀïÏ)r$A00t Benko Opening!O2€•3–š(B20 Sicilian: Snyder!BÔ÷ÚF0¬@D18i Slav: Dutch, 8...Nbd7 9.Qb3!=]f—©#û‚B67n Sicilian: Richter-Rauzer, 7...a6, 9.f4 b5 10.Bxf6 gxf6 11.f5!:K¼Ñ(rE11w Bogo-Indian: Nimzowitsch, 5.g3 Nc6 Main Line, 8...a5!*zN“Õû|LD68 QGD: Orthodox, Classical Variation!'oä§±6B06o Modern: 3.Nc3 d6 4.Be3!%1ÿå|6RHC42g Russian Game: Damiano Variation!µªe¿ÓhC24 Bishop's Opening: Urusov Gambit, Keres Variation! v±|·k6D11o Slav: Slav-Reti System!>RíƒNE17f Queen's Indian: 6.Nc3 O-O 7.Qc2 d5 ïçM.c.D20j QGA: 3.Nc3 e6 4.e4 §bÄ\B12f Caro-Kann: Maroczy (Fantasy), Gambit line ѯíù‰:D15m Slav: Chameleon, 5.a4 e6 ˺ ÕçÅ<A80i Dutch: Von Pretzel Gambit ŸE7U$BLB26h Sicilian: Closed, 6.Be3 Rb8 7.Qd2 µZŽãVA56l Benoni: 3.d5 d6 4.Nc3 g6 5.e4 Bg7 6.f3 µ+³ˆóÃ6A45b Indian: Canard Opening ´]Ë˽°<E12w Queen's Indian: 4.Nc3 Bb7 ±GZþõH¿:C44i Ponziani: Reti Variation °¨B³;Ú‚žB67p Sicilian: Richter-Rauzer, 7...a6, 9.f4 b5 10.Bxf6 gxf6 11.Nxc6 Bxc6 12.Qe1 £Ô“•dC18p French: Winawer, 6...Ne7 7.Qg4 O-O 8.Bd3 Nbc6 ‘¯lJMLC96b Spanish: Closed, Chigorin, 10.Bc2 ‘bH*¿Ú!^C56n Two Knights: Classical, Moller, 10.Bd2 Qd5 >ç)q^D84 Grünfeld: Grünfeld Gambit Accepted, 8...Na6 T(Y8E91d King's Indian: 6.Be2 c6 ŠÁ¡ XA65e Benoni: 6.e4 g6 7.Bf4 a6 8.Nf3 b5 9.Qe2 ~ŒI4\ŸßFC84g Spanish: Closed, Centre Attack |ÙAÔÑhB70n Sicilian: Dragon, 6.Be2 Bg7 7.O-O Nc6 8.Nb3 O-O yr(']i®DC60f Spanish: Vinogradov Variation x„Öp«¯fE45 Nimzo-Indian: Nimzowitsch, 5.Ne2 Ba6 6.a3 Bxc3+ mqT›¥¥¬XB15h Caro-Kann: Gurgenidze: 4.e5 Bg7 5.f4 h5 W”NC26h Vienna: Smyslov, 3...Bc5 4.Bg2 Nc6áHECL²JC24 Bishop's Opening: Paulsen DefenceÜѵ(K3ÒZC49n Four Knights: Symmetrical, Metger, 10.d4×¶»ˆäR>A46x Torre Attack: 3...h6 4.Bh4ŲgÛÃõË:A04 Reti: Lisitsin: 3.Ng5 Nf6¥~>úÄáK^C06c French: Tarrasch, Closed, Leningrad, 9.Nf3¢k¡‹ëš£RE17h Queen's Indian: Opovcensky Variation¡íhËžÄ>A53 Old Indian: Ukrainian, 4.d5ŒÚ¥È9(A80r Dutch: 2.Nf3 e6†ä 5,iVD47d Semi-Slav: Meran, Capablanca Variationƒ8åçü–·(A54 Old Indian: 5.e3îÀE¡'5xB13w Caro-Kann: Panov-Botvinnik, 5...Nc6, Czerniak Variationz6¸j[åõXA85 Dutch: 2.c4 Nf6 3.Nc3 g6 4.Nf3 Bg7 5.Bf4uÝêÆ¨ &A25 English: Closedu¸ËÚÍdhD59e QGD: Tartakower, 8.cxd5 Nxd5 9.Bxe7 Qxe7 10.Rc1j4…{ljB33n Sicilian: Pelikan, Chelyabinsk, 9.Nd5 Be7, 11.c3cû- ^î¿FC72 Spanish: Modern Steinitz, 5.O-Obp¢ç«¬\@D27a QGA: Classical, 6...a6 7.a3_Ñ¡ º…ëHE17g Queen's Indian: 6.Nc3 Ne4 7.Qc2ZhœKöCDPE07 Catalan: Closed, 6...Nbd7 7.Nc3 dxc4Yì#GDFE05k Catalan: Open, Classical, 8.a4X·Ã£O~B99k Sicilian: Najdorf, Main Line, 10.Bd3 b5 11.Rhe1 Bb7 12.Nd5QQðL|‹V:A00m Van Geet: 1...d5 2.e4 d4H­><ú¬dD64 QGD: Orthodox, Rubinstein Attack, 8...Re8 9.a3ExÞÚ2õlD03t Torre Attack: 3...g6 4.e3 Bg7 5.Nbd2 O-O 6.Bd3 c5DA§9¤Æ>B40h Sicilian: 2...e6 3.Nc3 Nc6? úJEWÃBB10f Caro-Kann: Breyer, Main Line:PûèÝ^VB56j Sicilian: Open, 2...d6, 5.Nc3 Nc6 6.g37¯«Dø5w\A32 English: Symmetrical, Two Knights, 5.g3 d569[QôwßtE29 Nimzo-Indian: Sämisch, 5...O-O 6.e3 c5 7.Bd3 Nc6 8.Nf35ÅÀæ!DA36m English: Symmetrical, 5.e3 e6&x×>þ‰PE94s King's Indian: 7.O-O Nbd7 8.Qc2 Re8"~x ©} JA48l Neo-King's Indian: London SystemFM‘•¯BC45g Scotch: Steinitz, 5.Nb5 Bb4+ýÁçú9åFE80h King's Indian: Sämisch, 5...c5ü‚R›mU%2E15a Queen's Indian: 4.g3õÄ1\“ÒPD36p QGD: Exchange, Main Line, 9.Nf3 Re8ð_u&!ÍZA38l English: Symmetrical, Main Line, 7.d3 a6í{¶Œc ûnA76 Benoni: Classical, Main Line, 10.Qc2 Na6 11.Re1 Bg4äzù‹ó¤^\B97i Sicilian: Najdorf, Poisoned Pawn Acceptedá.^:4ˆHA48v Neo-King's Indian: Torre Attackß?Ò^hR÷BD85d Grünfeld: Exchange, 5.e4 Nb6ÞAü¥ œ°ZC86j Spanish: Worrall Attack, 7...O-O 8.c3 d5Ûb9[æØDD94 Grünfeld: Opovcensky VariationÙ±Ó3QÍñzE33 Nimzo-Indian: Classical, Milner-Barry (Zurich), 6.Bd2 O-OÕ¿´‚«Õ—HC02v French: Advance, 5.Nf3 Qb6 6.a3ÒѾ ¶•0"D06l QGD: 2...Bf5ÒVÜmG<©HD26t QGA: Classical, 6.O-O Nc6 7.Qe2Ä"cDzéFD77f Neo-Grünfeld, 6.O-O dxc4 7.Na3»ÞN]_kÆfD03s Torre Attack: 3...g6 4.e3 Bg7 5.Nbd2 O-O 6.Bd3¸vûy8tXC19e French: Winawer, 6...Ne7 7.Nf3 Qc7 8.a4°~ß1Ë:E04a Catalan: Open, 5.Nf3 Bd7œŒJ£sÞEHA22 English: King's, 2.Nc3 Nf6 3.Nf3š)߯º=lNC44f Open Game: Inverted Philidor, 4.g3’O .KiND41r QGD: Semi-Tarrasch, 6.e3 Nc6 7.Bc4yEK}y<BA58c Benko Gambit: Accepted, 6.g3v.,\+ÀDA85 Dutch: 2.c4 Nf6 3.Nc3 e6 4.Qc2sèH:‚HZE21 Nimzo-Indian: Nimzo-Queen's Hybrid, 5.Qc2oü‹f>ÇBD03g Torre Attack: 3...e6 4.e3 c5g?¦:B42e Sicilian: Kan, 5.Bd3 Nc6c+[”ÔBRE39b Nimzo-Indian: Classical, Pirc, 6.Bf4[êî ¼]jB84 Sicilian: Scheveningen, Classical, 7.O-O Qc7 8.f4Yð÷Q¡ª…LB47h Sicilian: Taimanov, 6.g3 a6 7.Bg2XÉ+¡49lRC90k Spanish: Closed, Pilnik, 11.Nbd2 Re8U'Ëè£>l:A20 English: King's, 2.g3 Nc6S°}aå­dDB09g Pirc: Austrian, 5...O-O 6.Be3OâÞp]›VD85g Grünfeld: Exchange, 7.Be3 c5 8.Qd2 O-OAbÖ%RC10k French: Rubinstein, 5.Nf3 Ngf6 6.Bd3= n_Ð znA30x English: Symmetrical, Hedgehog, Flexible Formation9ÏWä~hjD05n Colle: 5.c3 Nc6 6.Nbd2 Bd6 7.O-O O-O 8.dxc5 Bxc56l;%)Ï.C33 KGA: Carrera Gambit68Û§”~\bC10f French: Rubinstein, Frere (Becker) Variation4&t£6ª*–B69 Sicilian: Richter-Rauzer, 7...a6, 9.f4 Be7 10.Nf3 b5 11.Bxf6 gxf6 12.f5.Á˜Ç{‹ND39e QGD: Ragozin, Vienna, 6.e4 c5 7.e5)+‰Ì»NA46t Torre Attack: 3...c5 4.c3 h6 5.Bh4(Dã‹>ÿ(A56h Benoni: 3.d5 g6$Êö±žÊkRA99 Dutch: Ilyin-Zhenevsky, 8.b3 a5 9.Ba3$a&Ÿ¡dB52j Sicilian: 3.Bb5+, Sokolsky, 5...Nc6 6.O-O Nf6ëx=—´ÎFB22c Sicilian: Alapin, 2...e6 3.Nf3&ÜöØFA00f Creepy Crawly Opening (Basman)‰ø/«NB53k Sicilian, Chekhover, 4...Nf6 5.Nc3÷ M<æúŽ<B05a Alekhine: Modern, 4...Bg4ó0 ,}aTE90p King's Indian: 5.Nf3 O-O 6.h3 e5 7.d5ñD±Ð*PLD78i Neo-Grünfeld, 6.O-O c6 7.Qb3 dxc4èƒ7Ÿ¼‰@A34 English: Symmetrical, 2...g6瀸š6XÑNA22 English: King's, 2.Nc3 Nf6 3.Nf3 d6å˜.ážôÀ2C80j Spanish: Open, 7.Bb3ã¦ÂpC‰OzB96u Sicilian: Najdorf, Polugaevsky, 10.Qe2 Nfd7 11.O-O-O Nc6ß„Šï– 4C29b Vienna Gambit: 3...d6ÒæŽÈúd(A18 English: Mikenas¾ßfW,4|E59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 11.Ba2 e5º…ˆª™™êLD98e Grünfeld: Russian, Smyslov, 8.Be3µz3Gæá@A43w Old Benoni: Schmidt, 6.Bb5+´ú»‚sËwbD75 Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O c5 8.dxc5 Na6´—Í ”øœ2A40w Queen's Pawn: Modern²uòbÈIPE48 Nimzo-Indian: 4.e3 O-O 5.Bd3 d5 6.a3²h=¯8çZE14k Queen's Indian: 4.e3 Bb7 5.Bd3 Be7 6.O-O±ì°1ŸÕNA09u Reti: Accepted, 3.e3 Nf6 4.Bxc4 e6¯KŽ}ëItD42m QGD: Semi-Tarrasch, 7.Bd3 Main Line, 10.Re1 Nf6 11.a3¬Hô?ÐfB99g Sicilian: Najdorf, Main Line, 10.Bd3 h6 11.Qh3ªõ¶¯6#„BA23 English: Bremen, Keres, 4.Bg2¥è‘i™º6D11p Slav: Slav-Reti SystemŸ[I(aÐ4A03 Bird: Lasker Variation©‹—ìb8A20 English: King's (1...e5)š"¬1²HA48v Neo-King's Indian: Torre Attack‘5rFs¥fC23 Bishop's Opening: MacDonnell, Four Pawns Gambit„¢]Á’ã`E12p Queen's Indian: Petrosian, 6.cxd5 exd5 7.g3{@î° ßRFB43j Sicilian: Kan, 5.Nc3 Qc7 6.Be2sHYv4¼€E79f King's Indian: Four Pawns Attack, Main Line, 9...Bd7 10.O-OqöÓ@K¯-lC87d Spanish: Closed, Averbakh, 7.Bxc6+ bxc6 8.d4 exd4pŒLA20 English: King's, 2.g3 Nf6 3.Bg2 d5nuúýÍTTB47u Sicilian: Taimanov, 6.Be2 a6 7.O-O b5jËî!^dD85l Grünfeld: Modern Exchange, 8.Be2 O-O 9.O-O b6g,f63"C50h Giuoco Piano]VÕÒÝÛnB53o Sicilian, Chekhover, 4...Nc6 5.Bb5 Bd7 6.Bxc6 Bxc6SH²{yŽ:A56j Benoni: 3.d5 d6 4.Nc3 g6S;›´_Ä0A54 Old Indian: 5.g3 Be7DÓÃøf}ŒB35m Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.Bb3 a5 9.a4~E69r King's Indian: Fianchetto, Classical, 9.h3 Re8 10.Be3 exd4/ÀÖ«Íø¤FE91v King's Indian: 6.Be2 Bg4 7.Be3/, ]\8fB76s Sicilian: Dragon, Yugoslav, 9.O-O-O d5: 12.Bd4)nöÐ1í.B07f Pirc: 3.f3 e5 4.d5(ø®;w 4A46h Indian: 2.Nf3 d6 3.g3&X¥+eˆadC13o French: Chatard-Alekhine, Maroczy, 7.Qg4 Bxg5"ühä,RB47i Sicilian: Taimanov, 6.g3 a6 7.Bg2 d6!Êþ°ò¨BA57m Benko Gambit: 4.cxb5 a6 5.e3k*C‹ÚBD44h Semi-Slav: Botvinnik, 9.Nxg5~+NÞ"Q:E15t Queen's Indian: 4.g3 Bb7þr7Ú žÏ@B53f Sicilian, Chekhover, 4...a6üeëûF¢\E87c King's Indian: Sämisch, Orthodox, 7.d5 c5ù‹±mºŠpB67j Sicilian: Richter-Rauzer, 7...a6, 9.f4 h6 10.Bh4 g5ù>ŸÇÁDC45g Scotch: Steinitz, 5.Nb5 Qxe4+óÁŒlæ[±`C44w Scotch: Goring Gambit, Bardeleben Variation粘&½…Ç0D22a QGA: Alekhine, 4.e3ÜI sûnE71n King's Indian: Makagonov, 5...O-O 6.Bg5 c5 7.d5 b5ÅôÇûæºp\B96h Sicilian: Najdorf, 7.f4 Qc7 8.Qf3 b5 9.f5ÂË&ï?#ÞRD03n Torre Attack: 3...g6 4.e3 Bg7 5.Nbd2½,´â±=‚D76h Neo-Grünfeld, 6.cxd5 Nxd5 7.O-O Nb6 8.Nc3 Nc6 9.e3 Re8 10.d5¸\ͦ“ LC80r Spanish: Open, Bernstein, 9...Nc5¶þÐõ4UÃJD31l Semi-Slav: 4.cxd5 exd5 5.Nf3 Bf5¶”¶Ãð"d4E46 Nimzo-Indian: 4.e3 O-O¯fìL¥Ï¨<D85i Grünfeld: Modern Exchange¢7_ÿêÑmfE69g King's Indian: Fianchetto, Classical, 9.h3 Qa5“I†æ­ðLC28f Vienna: 3.Bc4 Nc6 4.d3 Na5 5.Nge2¿Ìên‘\D49g Semi-Slav: Meran, Sozin, Stahlberg Attack‹µFŒ qND25e QGA: Smyslov, 5.Bxc4 Bg7 6.O-O O-OŠÎ‹½Å#nC15l French: Winawer, Winkelmann-Reimer, Hübner Defence…‡í;[{&LD71 Neo-Grünfeld, 5.cxd5 Nxd5 6.e4 Nb4…`‘m|wÄZA31 English: Symmetrical, Two Knights, 4...g6‚ZíïôsJA45s Trompowsky: 2...Ne4 3.h4 c5 4.d5|Ì9F¤î×*D45h Semi-Slav: 6.Qc2nÔ¶yÃ9VA34 English: Symmetrical, 3 Knights, 3...g6eÈ–çs¦PA49 Neo-King's Indian: Fianchetto SystemaEV‡¨ÎDC46j Three Knights: Steinitz, 4.d4^Ö¢j[È:B07m Pirc: 3.Nc3 e5 Queenswap^O¾„AIŽHC01v French: Exchange Winawer, 5.Bd3TšÒZþþÓnA67j Benoni: Four Pawns, Taimanov, 9.Bd3 O-O 10.Nf3 Na6KðDJDÀ„E14v Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.b3 O-O 8.Bb2 d5H/ütG†×:A65k Benoni: Sämisch, 7...Bg7GÝñÏÀÖ%lD69 QGD: Orthodox, Classical, 13.dxe5: 15.f4 Qf6 16.e4EÄÍ4Ì}>C78r Spanish: Archangelsk, 7.c3ErµR¡“ND59k QGD: Tartakower, Main Line, 11.Rc1?1“¦‚KÄNA25 English: Closed, Taimanov Variation'¶ÓpÔ^VE36 Nimzo-Indian: Classical, Noa, Main Line!xq™¾èÀ:A46j Indian: 2.Nf3 e6 3.c3 b6?¤*<Ç>D47a Semi-Slav: Meran Variation ¶7,ß¡§LB21i Sicilian: Grand Prix, Tal Defenceæ'97öøLA45v Trompowsky: 2...Ne4 3.Bf4 d5 4.f39¡ž[>D24t QGA: Bogoljubow, 7.a4 Nxc3úëî ”cp<B51b Sicilian: 3.Bb5+ Nd7 4.c3îÿk¤+LD97l Grünfeld: Russian, Simagin, 8.Be2ëÄImp Ø>E72 King's Indian: Pomar Systemësbhu¶aFA43s Old Benoni: Schmidt, 3.Nf3 Nf6è8R^$z8C11b French: Swiss VariationÛÍ})QPöHE22 Nimzo-Indian: Spielmann, 4...Nc6ÕK­a.6E08a Catalan: Closed, 7.Qc2ÔÎ%Z¤/VC27h Vienna: 3.Bc4 Nxe4 4.Qh5 Nd6 5.Bb3 Nc6ÒCÅì´8BA53 Old Indian: Ukrainian, 4.dxe5Í7Ø„’XW˜E17z Queen's Indian: Pomar, Polugaevsky, 8...c6 9.cxd5 Nxd5 10.Nf5 Nc7 11.e4Ë&§JÆ]6C01c French: Exchange, 4.c4Ãô9oPˆHC03e French: Tarrasch, 3...a6 4.Ngf3·¾˜:¼Ä³PA71 Benoni: Classical, 8.Bg5 h6 9.Bh4 a6´MÅŠ›Å‘LB22c Sicilian: Alapin, 2...e6 3.Nf3 d5®Ÿ—ð?8“PC02e French: Advance, Nimzowitsch Gambit­a~[“εZA46y Torre Attack: 3...h6 4.Bxf6 Qxf6 5.e4 b6›©½cLZFD94 Grünfeld: Slav/Schlecter, 6.Bd3˜ë¡¯uTC69a Spanish: Exchange, Gligoric Variation–¡‚,QîJC54o Giuoco Piano: Steinitz Variation•"rÖ³LÌtC10v French: Rubinstein, 4...Bd7 5.Nf3 Bc6 6.Bd3 Nd7 7.O-O‘Ô@¿fC49k Four Knights: Symmetrical, Pillsbury Variation‹xúÊrfC11k French: Steinitz, Boleslavsky, 7...a6 8.Qd2 b5ña¬ÙFC44i Ponziani: Romanishin Variation}çA¬íïTC86f Spanish: Worrall Attack, 7...O-O 8.c3o­(ž‚B17n Caro-Kann: Steinitz, 5.Ng5 Ngf6 6.Bd3, Main Line 10.Qxe4 Qc7hE~¢ãMhE73o King's Indian: Averbakh, 6...Nbd7 7.Qd2 e5 8.d5fÂöΣS¹JD00l Blackmar-Diemer: 2.e4 dxe4 3.Nc3\Àýr§'ü.A54 Old Indian: 5.g3 g6Zj7þ~ý6FB50b Sicilian: Wing Gambit deferredVtC.¾ rB37k Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6 8.Be2 O-OT­¾Q^A80p Dutch: 2.Nc3 Nf6 3.Bg5 d5 4.Bxf6 exf6 5.e3MþÆa32%fD87d Grünfeld: Classical Exchange, 8...c5 9.Be3 Nc6M I¿l(FB01b Scandinavian: 2...Qxd5 3.d4 e5Lf˜AÓ8A00m Van Geet: Hector GambitKWøƒm´^D19d Slav: Dutch, 8...O-O 9.Qe2 Bg6 10.Rd1 Nbd7K>c¾ü瀒B34r Sicilian: Accelerated Fianchetto, Modern, 6.Be3 Nf6 7.Nxc6 bxc6 8.e5HŒv‚†û8C49a Four Knights: 4.Bb5 Bb47@]hA58t Benko Gambit: Fianchetto, Main Line, 11.Qc2 Qb6ýi¤1d&—TA70l Benoni: Classical, 8.h3 O-O 9.Bd3 Bd7æÙ ÒJ lA32 English: Symmetrical, Two Knights, 5.Nc3 Bb4 6.Bd2߬´¹`·›zE19n Queen's Indian: Old Main Line, 9.Qxc3 c5 10.Rd1 d6 11.b3Òx¢–VlBB21c Sicilian: Grand Prix, 2...d6ÇñMŽJÏ`HD46g Semi-Slav: Chigorin, 7.Qc2 dxc4· ¹¨8tE04r Catalan: Open, 5.Nf3 c5 6.O-O Nc6 7.Qa4 Bd7 8.Qxc4 b5±ú1¬ä¿jB84 Sicilian: Scheveningen, Classical, 7.O-O Be7 8.f4°ý*f@tåNE12j Queen's Indian: Petrosian, 4...Bb7®F‡ÀŽ¥øLC56e Two Knights: Classical, 8.Nc3 Qd8ªT?6¢NA13t English: Neo-Catalan, 4...c5 5.O-O  =_SÊXC06m French: Tarrasch, Closed, 8...f6 9.exf6™'êuä¤nC15l French: Winawer, Winkelmann-Reimer Gambit Accepted˜ï¯‰/6^E09n Catalan: Closed, Main Line, 9.e4 Bb7 10.b3˜P ® ž—‚E12u Queen's Indian: Petrosian, Kasparov, 7...Nxc3 8.bxc3 c5 9.e4—æc`ëÊËTA54 Old Indian: 5.g3 Be7, Main Line, 8.Qc2•çD™ÑðÜ\C47q Four Knights: Scotch, 4...exd4 5.Nxd4 Bc5” óôD(VA32 English: Symmetrical, Two Knights, 5.g3“”öƒï¾7HB90e Sicilian: Najdorf, Adams AttackŒ ñ%@Ö,A48c Neo-King's Indianynùga—"A00o Grob: 1...d5fëÍXæ9^A91 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nc3 O-O^þ™>|]ÛZA90 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 c6 5.Nf3 d5]†«ûýpE90x King's Indian: 5.Nf3 O-O 6.h3 c5 7.d5 e6 8.Bd3 exd5Z‘fßÊ eDA59g Benko Gambit: 7.e4 Line, 9.g4OŠø<˜±RD63 QGD: Orthodox, Swiss, Karlsbad, 9.Bd3Nµs@Sd*(A61 Benoni: 6.Nf3 g6JëU ö[U*C00j French: 2.Nf3 d5D³8´>ÊôxD58j QGD: Tartakower, 8.Bd3 Bb7 9.O-O Nbd7 10.Qe2 c5 11.Rfd1AÆÀÈפJC78l Spanish: 5.O-O b5 6.Bb3 Bc5 7.a4<±†ËwVB56k Sicilian: Open, 2...d6, 5.Nc3 Nc6 6.f4ÿ…HYXB22p Sicilian: Alapin, 2...Nf6 3.e5 Nd5 4.d4þ£Ö74«³nC39 KGA: Kieseritsky, Berlin Defence, Riviere VariationýWb0èjE76g King's Indian: Four Pawns Attack, 6.Nf3 Na6 7.e5úÅÑ.Î,A47 Neo-Queen's Indianö9–†Q–ÑxE32p Nimzo-Indian: Classical, 4...O-O 5.a3, 6...b6 7.Bg5 Bb7õ³v&sÕÁ>A15 English: Anglo-Indian, 2.g3ñ¿7Åò>D19a Slav: Dutch, 8...O-O 9.Qe2ë±Ü±ec«.D21l QGA: 3.Nf3 c5 4.d5èVùý5ŸjE14u Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.b3ÚN0Go,¼dB03l Alekhine: Four Pawns Attack, Fahrni Variationغ«7¥‚zA77 Benoni: Classical, Main Line, 10.Nd2 Nbd7 11.a4 a6 12.Qc2ÖÏWíC3À„A30y English: Symmetrical, Hedgehog, Flexible Formation, 11.e4 O-OÔéMjB55 Sicilian: Prins, Venice Attack, 6...Nbd7 7.Nf5 d5Ô¶b(úy8B50c Sicilian: 2.Nf3 d6 3.b3Æ,¸x8D34o QGD Tarrasch: 9.Bg5 Be6¼Ê’›ÚJC65h Spanish: Berlin, Duras Variation³B±.ä:BC20 Open Game: Portuguese Openingtªg¶ü@C15g French: Winawer, 4.Bd3 dxe4’©?DD6ªdB15i Caro-Kann: Gurgenidze: 4.e5 Bg7 5.f4 h5 6.Nf3‘¸îý$@A30b English: Symmetrical, 2.Nf3Ǭ_ÆóXD13o Slav: Exchange, 6.Bf4 a6 7.e3 Bg4 8.Be2Š‘SìæpB68 Sicilian: Richter-Rauzer, 7...a6, 9.f4 Be7 10.Nf3 b5…ƒ˜LÝñ<D46e Semi-Slav: Chigorin, 7.e4ƒG‘'¶'ZA02 Bird: From Gambit, Lasker, Queenswap Line³ù*ݦõZC33 KGA: Bishop's Gambit, Bryan Countergambit|ikÑ®‡A51a Budapestvƒ é\éRE50 Nimzo-Indian: 4.e3 O-O 5.Nf3 c5 6.Bd3qG8Ó¨¦¢DC42h Russian Game: Cochrane Gambith¤4g/ÄXE83e King's Indian: Sämisch, Ruban Variationh¿Á³²«FE07 Catalan: Closed, 6...Nbd7 7.Nc3eÎÛ‚»¤QDD57 QGD: Lasker Defence, Main LineY(\øû懄D91q Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Nf3 exd5 9.e3 O-OX¿9¥-þ FA36b English: Symmetrical, 3.g3 Nf6RòÂO(!NB18s Caro-Kann: Classical, 6.h4 h6 7.h5MtqjXÇLC70 Spanish: Schliemann Deferred, 5.d4Eþo¶s[&D82 Grünfeld: 4.Bf4DØ÷{¼c \D84 Grünfeld: Grünfeld Gambit Accepted, 8...b6:äݳôÂKpA29 English: Four Knights, 4.g3 d5 5.cxd5 Nxd5 6.Bg2 Be61‚4žnLC90c Spanish: Closed, Suetin Variation$­Aö¨­2E20 Nimzo-Indian: 4.f3 c5\Á†BC44m Ponziani: Steinitz VariationD½?B˜ZD94 Grünfeld: Slav/Schlecter, 6.Be2 O-O 7.O-OI‘Ú@M`B77i Sicilian: Dragon, Yugoslav, 9.Bc4 Bd7 10.h4 úΤi<A11 English: Caro-Kann DefenceD#E~Ÿ0D18c Slav: Dutch, 6...e6õN}cÿTB76f Sicilian: Dragon, Yugoslav, 9.g4 Nxd4èaâ/ß/TC03b French: Tarrasch, Haberditz Variationßð†žj:LB43i Sicilian: Kan, 5.Nc3 Qc7 6.g3 Nf6ßš¡SúþHA37c English: Symmetrical, 5.Nf3 Nh6×*ÒÀ:WRC57c Two Knights: Traxler, 5.Nxf7 & 6.Kf1ׄ=Æ•nVB54m Sicilian: Prins (Moscow), 5...e5 6.Nb3ÖœÞë3–-<B12o Caro-Kann: Advance, 4.Bd3Ö–[Ì‚ Ì`A23 English: Bremen, Keres, 4.Bg2 d5 5.cxd5 cxd5Ó'º¢œþÓFA20 English: King's, 2.g3 Nf6 3.Bg2Êä¸ú‡¹ÿVD36e QGD: Exchange, 6.Qc2 Be7 7.Nf3 g6 8.e3ÅLH¾¬’ßND00t Blackmar-Diemer: von Popiel AttackÄí òÉ!ŠB22l Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 Nf6 5.Nf3 Bg4 6.Be2 e6½­¼¬hòdE84d King's Indian: Sämisch, Panno Main Line, 9.g4µã#† n|XB10u Caro-Kann: Two Knights, 3...dxe4 4.Nxe4©!æý„0ªNA73 Benoni: Classical, 9.O-O Bg4 10.Bf4¨Ð­æ5Å6C26p Vienna: 3.Bc4 Bc5 4.f4¨–Ø‚ò{|6D15f Slav: Chameleon, 5.Ne5¨„p(-ðíPC85g Spanish: Closed, Exchange, 7.Qe1 c5¥ï& £\”TB98m Sicilian: Najdorf, Gothenburg, 11.Qh5Q00õ>A43l Old Benoni: 2.d5 Nf6 3.Nf3,ú˜â›ÚbB96h Sicilian: Najdorf, 7.f4 Qc7 8.Qf3 b5 9.O-O-O„ttB¿> A04 Reti: 1...g6‚0sz™zNE12x Queen's Indian: 5.Bg5 h6 6.Bh4 Be7z{Àô0>>A73 Benoni: Classical, 9.O-O a6jv”_ì×—`B99e Sicilian: Najdorf, Main Line, Keres, 13.Qg3i{^:™`A26 English: Closed, 5.d3 d6 6.Nf3 Nf6 7.O-O O-Og¦ ŠÛk:E60h King's Indian: b3 System^€éïuÑ<A02 Bird: From Gambit Accepted]Ãà%›ÉLC01o French: Exchange, 4.Nf3 Bd6 5.Bd3Ftº¤Ï­NXB97m Sicilian: Najdorf, Poisoned Pawn, 9.Rb1F>“V’…Ÿ8C80k Spanish: Open, 7.Bb3 d5DÇrM?¬$D30j QGD: 3.Nf3 c63ÃBA45t Trompowsky: 2...Ne4 3.Bh4 d5¶z‘ëÔÆÄ\E92q King's Indian: Petrosian, Stein Variation²èëE¿ LD23j QGA: Mannheim, 4...c6, 5.Qxc4 Bf5°±Ûo¿\:C68j Spanish: Exchange, 5.O-O©òÎ;àwaJB08m Pirc: Classical, 5.Be2 O-O 6.Be3§¬b‰«§ XA50g Indian: Mexican Defence, 3.Nf3 e6 4.Nc3 9I]‰jJVD81 Grünfeld: Early Russian, 5...Be6 6.Qb5+ -uñÙ€4jE15c Queen's Indian: 4.g3 Bb4+ 5.Bd2 Bxd2+ 6.Qxd2 Ba6fö= TA87 Dutch: Leningrad, Main Line, 7.Nc3 Na6›iWª|`DE94i King's Indian: Glek Variation”Õ4ëE2C44y Scotch Gambit: 5.O-O|+EÀ3×TC01t French: Exchange, Svenonius Variation{Ù˜dEžhB16h Caro-Kann: Bronstein-Larsen, 6.Nf3 Bg4 7.Be2 e6tCê–ïâ.JB05l Alekhine: Modern, 5.Be2 e6 6.O-Op'ƒjã+.B07o Pirc: Czech, 4.Nf3güãD|c!RB95k Sicilian: Najdorf, 6...e6 7.Qf3 Nbd7fô¥…ó1ä:D83 Grünfeld: Grünfeld GambitfbQSbÃp,A47 Neo-Queen's Indian\7ñ‹qpTLC39 KGA: Kieseritsky, Brentano DefenceGØž"úRvB97h Sicilian: Najdorf, Poisoned Pawn, 8.Nb3 Nbd7 9.Qf3 Be7AâkóbÞšXB21w Sicilian: Smith-Morra, 4.Nxc3 Nc6 5.Nf33Ç­(rhB38m Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 d6 9.f30ÜTcmbD85h Grünfeld: Exchange, 7.Be3 c5 8.Qd2 Qa5 9.Rc1%×â‡$^B13l Caro-Kann: Exchange, Rubinstein, 7.Qb3 Qc8"¨*¾›+^B53i Sicilian, Chekhover, 4...a6 5.c4 Nc6 6.Qd2¨Ì5h>D25l QGA: Janowski-Larsen, 6.h3î6S•¹DE10f Neo-Indian: 3.Nf3 a6 4.Nc3 c5ïýçl 8B50l Sicilian: 2.Nf3 d6 3.c3ÿñï GáPhD88 Grünfeld: Classical Exchange, Main Line, 11.cxd4þç"é‚&A25 English: ClosedþqîKC—CLA26 English: Botvinnik System, 6...Nf6øÉ5ÆÀÓ}"C50a Italian GameìºÐšÑRh,A02 Bird: 1..Nf6 2.Nf3èIm›Šòä B07b Pirc: 2.Nf3â¥>OáŒåPC14d French: Classical, Alapin Variationßn¸4Û5'<C54l Giuoco Piano: 6.cxd4 Bb4+Ò¯È ÜÿÜ(D91a Grünfeld: 5.Bg5ËiêìC§FzB23w Sicilian: Closed, Grand Prix, 3...g6 4.Nf3 Bg7 5.Bb5 Nd4ÊxK›°#0JC50h Giuoco Piano: Rosentreter GambitÈg_þ Ì6A09i Reti: Advance, 3.g3 g6À6”½ D30e QGD: 3.Bf4º…Èÿb¨VE73r King's Indian: Averbakh, 6...Na6 7.Qd2±)¯?&A84 Dutch: 2.c4 Nf6¡îj¸8dRC58e Two Knights: Morphy, Polerio, 6...c6ºï>ˆÛ½6D22c QGA: Alekhine, 4.e3 e6˜XˆÆ¤ñÌRD80 Grünfeld: Stockholm, Lundin Variation—òhzP¿¼>C77d Spanish: Anderssen, 5...d6¯¦âjVB01s Scandinavian: 2...Nf6 3.Bb5+ Bd7 4.Bc4ˆ°{#‡ÁfhA32 English: Symmetrical, Two Knights, 5.g3 d5 6.Bg2-ê$í÷ZE55 Nimzo-Indian: Main Line, Bronstein, 9.Qe2€ÿªíË\E82b King's Indian: Sämisch, Fianchetto, 7.Qd2€E`[6||C43t Russian Game: Modern Attack, 3...Nxe4, Main Line, 7...Bd6|êsI¡lC06q French: Tarrasch, Closed, 8...f6 9.exf6, 11...Qc7{×Γ”ºPA37k English: Symmetrical, 5.Nf3 e6 6.e3eõñ‘lf˜8C02c French: Advance, 3...c5bùÒ!ì˜\B37f Sicilian: Maroczy Bind, Simagin VariationZ:ihKíPC81 Spanish: Open, Keres Attack, 9...Be7VPS• PgPC37 KGA: Muzio Gambit, Paulsen VariationU\l ?¦6A80v Dutch: 2.Nf3 Nf6 3.Bg5F¹,Fá`F8A81 Dutch: 2.g3 Nf6 3.Bg2 g6AvÌ€Vï^B01x Scandinavian: Marshall, 4.Nf3 g6 5.Be2 Bg7;T~<˜°VB45g Sicilian: Taimanov, Four Knights, 6.g36–8ëHE6D20o QGA: 3.e4 Nf6 4.e5 Nd54bæ ’eõtB22f Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 cxd4 5.cxd4&Ø‚w2{Ê.B03e Alekhine: 4.c4 Nb6%UÈY,05jB87 Sicilian: Sozin-Najdorf, 7.Bb3 b5 8.O-O Be7 9.Qf3%6œxÚâžPD10f Slav: Exchange, 4.Nc3 Nf6 5.Bf4 Nc6$Sl<ÈS;$A45c Indian: 2.Nd2í]Òdìi`E09f Catalan: Closed, Main Line, 9.b3 Bb7 10.Bb2ÊSUY0¼VA16 English: Anglo-Indian, 2.Nc3 c6 3.e4 d5úâ[£f€ND40g QGD: Semi-Tarrasch, 5.e3 Nc6 6.Bd3àW,‰Ô:A42d Modern: Averbakh, 4...c6ƒ=¥ëò^bD98j Grünfeld: Russian, Smyslov, 8.Be3 Nfd7 9.Rd1ÿÄYºêpÌFE11p Bogo-Indian: Nimzowitsch, 5.g3þDKc­¸äDA26 English: Closed, 5.d3 d6 6.Nf3úO-¹Ñ…|B97o Sicilian: Najdorf, Poisoned Pawn, 10.Bxf6 gxf6 11.Be2 Nc6øªdH˜!^C99e Spanish: Closed, Chigorin, 13...Bb7 14.Nf1öÒÒÐ0gû"A80q Dutch: 2.Nf3ïköœ»ŽµFA99 Dutch: Ilyin-Zhenevsky, 8.b3 c6ìþšC9(BC77b Spanish: Anderssen Variationêʽ}PA01 Nimzowitsch-Larsen: Indian VariationéUk}ÃuhE90s King's Indian: 5.Nf3 O-O 6.h3 e5 7.d5 Na6 8.Bg5ÓEІÍ2TB01g Scandinavian: Anderssen CounterattackÏaN«9%:A10 English: 1...b6 2.Nc3 Bb7ÂF&Ðmz\C73 Spanish: Modern Steinitz, Alapin Variation©a2©gÕÑ&C44s Scotch: 3...d6§ •\P»¨HA42o Modern: Averbakh, 4...e5 5.Nge2¦Yf¸—¦®^C73 Spanish: Modern Steinitz, Richter Variation¤JÔ·QU—JD12f Slav: 4.e3 Bf5 5.cxd5 cxd5 6.Nc3£”"9t‹©FA29 English: Four Knights, 4.g3 Bc5—¶"£”Ôü2A02 Bird: 1..Nf6 2.Nf3 d6’L SZqVE15o Queen's Indian: Nimzowitsch, 5.b3 Bb4+‡ÍkÙâÎ2D02n Queen's Pawn: LondonƒÅÇÿ…Ué(C50d Italian: 3...d6oì`…ÌôbD28m QGA: Classical, 7.Qe2 b5 8.Bb3 Nc6 9.Nc3 Bb7kþ¤⤚^D97p Grünfeld: Russian, Prins, 8.Be2, Main Linei¬Ë/˜ZND31w Semi-Slav: Marshall Gambit, 5.Nxe4_DÝ¡0øó:D24n QGA: Bogoljubow, 7.a4 c6]EY~iöÔhE67c King's Indian: Fianchetto with 6...Nd7 7.O-O c6\b ºŠÅË@A40p Queen's Pawn: Keres DefenceZãÏËoIYTB01e Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.g3YOñ*cFC89e Spanish: Marshall, 11.Rxe5 Nf6KÙ§N;`‰LA52c Budapest: Alekhine, Balogh GambitFêT,‚£PA16 English: Anglo-Indian, 2.Nc3 g6 3.g3F©WHaLHA61 Benoni: 6.Nf3 g6 7.Bf4 Bg7 8.Nd2@XŒ݃$bB80q Sicilian: Scheveningen, Fianchetto Variation>IÐ!‘_¼8B30h Sicilian: 2...Nc6 3.Nc3<«. Cº@C60g Spanish: Brentano Variation6»ýÑ´76C44l Ponziani: 3...d5 4.Qa42èZŠ JfA39j English: Symmetrical, Main Line 7.d4, 8...Nxd41~nOò=ZE52 Nimzo-Indian: Main Line, 6...b6 7.O-O Bb7%‚ç‘ãTA93 Dutch: Stonewall, Botvinnik, 8.Qc2 Ne4 ÊÞ}v.<A41o Neo-Old Indian: Queenswap}¢§õ¤zA92 Dutch: 2.c4 Nf6 3.g3 e6 4.Bg2 Be7 5.Nf3 O-O 6.O-O c6 7.b3_ÆæÒóVB98p Sicilian: Najdorf, 8...Qc7 9.O-O-O Nc6ì k´vN^E61t King's Indian: Smyslov System, 5...c5 6.e3ÞôÔˆÈË`D29i QGA: Classical, 8...Bb7 9.Rd1 Nbd7 10.a4 b4ôÑç½iðç6B06k Modern: 3.Nf3 d6 4.Bc4àÜ[ßÿwÓPA01 Nimzowitsch-Larsen: Paschmann Gambitßñ•5Ïò±8C01r French: Exchange, 4.Nc3ßÒ Ãy{ND36c QGD: Exchange, 6.Qc2 Be7 7.Nf3 O-OßHÑ¡è>¸<D55f QGD: 6.Nf3 b6 7.cxd5 Nxd5Ö±#¶©<6NB88 Sicilian: Sozin-Scheveningen, 7.O-OÖ¢ä÷GäJA41p Neo-Old Indian: 2.c4 e5 3.Nf3 e4ÉMõ 2´lBD02g Queen's Pawn: 2.Nf3 Nc6 3.g3Ç“Ôý°¼ã\C77s Spanish: Wormald Attack, 5...b5 6.Bb3 Bc5Å?UÝr«2D12b Slav: 4.e3 Bf5 5.Qb3¸ÎjLrì—jA41w Neo-Old Indian: Modern, 3.Nc3 Bg7 4.Nf3 Bf4 5.e3¥¿i$ó2OŠE14z Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.Nc3 cxd4 8.exd4 d5£®b”·îBA58g Benko Gambit: Accepted, 7.f4“%#ìb LC50p Giuoco Pianissimo: 4.d3 Nf6 5.O-O’^Ïœû %jE56 Nimzo-Indian: Main Line, 7...Nc6 8.a3 cxd4 9.exd4’GCò©½vE11u Bogo-Indian: Nimzowitsch, 5.g3 Nc6 6.Bg2 Bxd2+ 7.Nbxd2‰=?`Ï/¥vA66 Benoni: Mikenas Attack, 9.Nb5 dxe5 10.Nd6+ Ke7 11.Nxc8+ˆ÷-¸Àɧ^D98d Grünfeld: Russian, Smyslov, 8.Be2 Nc6 9.d5€šƒŸ ü§dC15m French: Winawer, 4.a3 Bxc3+ 5.bxc3 dxe4 6.Qg4}Íi»+n‰0A55b Old Indian: 5.e4 g6|zÒmð¿K:C26d Vienna: Smyslov, 3...Nc6z Â:ÿÜ^PE39i Nimzo-Indian: Classical, Pirc, 6.a3r Äm{jÙ.D24c QGA: 4.Nc3 e6 5.e3oÇ?ù÷¬PA03 Bird: 1...d5 2.Nf3 Nf6 3.g3 g6: 5.d3^Y>”5Ñ2A03 Bird: Lasker, 3...Bg4Y€£FB¥@B96f Sicilian: Najdorf, 7.f4 Qc7Xß:^â´BVB03q Alekhine: Exchange, 5...exd6 6.Nc3 Be7UÊ„þ桌E86h King's Indian: Sämisch, Orthodox, 7.Nge2 c6 8.Qd2 Nbd7 9.O-O-O a6RÒ/9h#9^C49k Four Knights: Symmetrical, Blake VariationR€_*sȸ|A29 English: Four Knights, 4.g3 d5 5.cxd5 Nxd5 6.Bg2 Nb6 7.O-OBËöw1†6C15d French: Winawer, 4.Qd3>ûPõX3nE75g King's Indian: Averbakh, 7.d5 e6 8.Qd2 exd5 9.exd5=³-]An‘DD36a QGD: Exchange, 5.Bg5 c6 6.Qc2=iqà¨T!VD00u Blackmar-Diemer: Langeheinecke Defence:î™Ê'X^B21y Sicilian: Smith-Morra, 4.Nxc3 Nc6 5.Nf3 d6:Çʽu+ždB51e Sicilian: 3.Bb5+ Nd7 4.O-O Nf6 5.Re1 a6 6.Bf1.3¬Äö<A96 Dutch: Classical, 7.Nc3 a5)üžK¯çFA46m Indian: 1.d4 Nf6 2.Nf3 e6 3.g3"_fÞx#ÛˆE82g King's Indian: Sämisch, Fianchetto, 7.Bd3 Bb7 8.Nge2 c5 9.d5 e6!§>zÀAvE88g King's Indian: Sämisch, Orthodox, Polugayevsky, 8...b5NçÆëòHE05i Catalan: Open, Classical, 7.Qc2Zõá±¼,C26m Vienna: 3.Bc4 Bb4ü³=w>ND78l Neo-Grünfeld, 6.O-O c6 7.Nbd2 Nbd7ætFâTEBD00n Queen's Pawn: Veresov AttackþÈl@Õ‚…pC98i Spanish: Closed, Chigorin, 12...Nc6 13.d5 Nd8 14.a4ùnÕ‰õ`C2D35i QGD: Exchange, 5.Bg5õñ{W\ždD36t QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O h6óO=Í£Õæ~E12i Queen's Indian: Petrosian, 4...Ba6 5.Qc2 Bb7 6.Nc3 c5 7.e4ò!öãñHtD48g Semi-Slav: Meran, 8...a6 9.O-O Bb7 10.e4 c5 11.d5 Qc7ñϘ`âMÄXD40e QGD: Semi-Tarrasch, 5.e3 a6 6.cxd5 exd5ï®}&b‚ZvC47u Four Knights: Scotch, Main Line, 8.exd5 cxd5 9.O-O O-Oêí%ÆÇ}.A12 English: Capablancaê8Àx@®VC10l French: Rubinstein, 5.Nf3 Ngf6 6.Nxf6+Ý÷ê¶8 €LB50p Sicilian: 2.Nf3 d6 3.c3 Nf6 4.Bc4ÜýzœI3DE90h King's Indian: Larsen, 6...c5Ô2£%!<:E04s Catalan: Open, 5.Nf3 Nc6ÓýƒæŽ‚BB21d Sicilian: Grand Prix, 2...e6Ï:TûŸV;.E10k Blumenfeld: 5.dxe6ÊG¬ýö6D38l QGD: Ragozin, 5.Bg5 h6ÆÐþ‰OTA41g Neo-Old Indian: Wade Defence, 3.c4 e5Æq)m•† A00o Grob Gambit·ýÛ ëDC89f Spanish: Marshall, 11.Rxe5 c6²TŸxʬbHA95 Dutch: Stonewall, 7.Nc3 c6 8.Bg5¯Þ›„¦ZmnD14j Slav: Exchange, 8.Bd3 Bxd3 9.Qxd3 Bd6 10.Bxd6 Qxd6®¾0ÏZ>B50d Sicilian: 2.Nf3 d6 3.b3 e6¬s8$ƒ×ƒ.B02m Alekhine: 2.e5 Nd5«¿ž†O{CdC86h Spanish: Worrall Attack, 7...O-O 8.c3 d6 9.d4¦¡ë÷ïp6A16 English: Anglo-Grünfeld¥§´P;Ý4D16d Slav: Murey Variation£AÊ$ùôRA44r Old Benoni: Czech, 3.e4 d6 4.Nc3 Nf6£;çѺÄBE94h King's Indian: Donner, 8.Be3”s‚ÆQ’hD58j QGD: Tartakower, 8.Bd3 Bb7 9.O-O Nbd7 10.Qe2 c5‘¹«©P=Ñ4D21m QGA: 3.Nf3 c5 4.d5 e6»>F‹»DA15 English: Anglo-Indian, 2.g3 e6ÍýƒS`B96h Sicilian: Najdorf, 7.f4 Qc7 8.Qf3 b5 9.Bxf6„UZÑáëñ\E91y King's Indian: 6.Be2 Bg4 7.Be3 Nfd7 8.Ng1‚lG}é»ù`A75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.Bg5€ÍuÉE´,A47 Neo-Queen's Indian~LT]KÓå4D18a Slav: Dutch Variationx2Z†TƒJA41q Neo-Old Indian: Modern, 3.e4 Bg7_Á8„„.A59a Benko Gambit: 7.e4XòázoÈGBA43t Old Benoni: Schmidt, 3.e4 g6Wcíß_$HC25l Vienna: 2...Nc6 3.Bc4 Bc5 4.Qg4V™ÒÎóXE54 Nimzo-Indian: Main Line, 7...dxc4 8.Bxc4LÂéRJ¦NA20 English: King's, 2.g3 Nf6 3.Bg2 Bc5GfZÞE÷*VB62b Sicilian: Richter-Rauzer, 6...e6 7.Be2@Cꎪ Ÿ^B01u Scandinavian: Portuguese, 4.Nf3 Qxd5 5.Be2?àæhÄ’ãTB10k Caro-Kann: English, Exchange, 4...Nf6,ìö_jÊdB74 Sicilian: Dragon, Classical, Maroczy VariationY7U>æFxA36z English: Symmetrical, Botvinnik System, 5...d6, 8.d3 a6¶Å}w_¯\B99s Sicilian: Najdorf, Modern Main Line 13.f5YÊÖ~¯xB81n Sicilian: Scheveningen, Keres, 6...h6 7.h4 Nc6 8.Rg1 h5 Ö¥¡e†¨bA46o Indian: 1.d4 Nf6 2.Nf3 e6 3.g3 c5 4.Bg2 cxd4ýÆœ‹ ûhB51i Sicilian: 3.Bb5+ Nd7 4.d4 Nf6 5.Nc3 cxd4 6.Qxd4ðY;T˜bE31g Nimzo-Indian: Leningrad, Main Line, 7.e3 O-OêwçInDA43l Old Benoni: 2.d5 Nf6 3.Nf3 e6é>ðØ®êbB44w Sicilian: Taimanov, Szen, Hedgehog Variationæ1½IQÂhB72 Sicilian: Dragon, Classical, Amsterdam Variationä…g÷îjB95m Sicilian: Najdorf, 6...e6 7.Qf3 Be7 8.O-O-O Nbd7ßÏ£½°’u>C63i Spanish: Schliemann, 4.Nc3ÚºÆ;GHt6D00g Hodgson Attack: 2...c6Ô›D›ÐGTC49l Four Knights: Symmetrical, 7.Bg5 Bxc3Ò†ÈÈžonA44j Old Benoni: Czech, 3.c4 d6 4.e4 g6 5.Nc3 Bg7 6.Nf3Îeµüô¸zC82g Spanish: Open, Berlin, 10.Bc2 Bg4 11.Nbd2 Be7 12.Re1 Qd7Ç2+F¯ŽHD91i Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5¿D?¦™Ì¥6C11o French: Burn Variation»w‘Y7šFB18c Caro-Kann: Classical, 5.Nc5 b6¶mË‚Ô~xE14i Queen's Indian: 4.e3 Bb7 5.Bd3 Bb4+ 6.Nbd2 O-O 7.O-O d5´4Ûï°àHTB03j Alekhine: Four Pawns Attack, 5...dxe5­jnúò?öNA70g Benoni: Classical, 8.Bf4 O-O 9.Nd2¨ù‰Z*AVD15u Slav: Geller Gambit, Spassky Variation¤^ +îPC20 Open Game: Lopez/Mcleod, Lasa Gambit›9oU‘„bB14p Caro-Kann: Panov-Botvinnik, 5...e6 6.Nf3 Bb4št»Ñô”2B00e Owen Defence: French’Å´ù|‚A75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.Bf4 Bxf3 12.Bxf3 Qe7‘é bÒÔŠA68m Benoni: Four Pawns, 9.Be2 Bg4 10.O-O Nbd7 11.h3 Bxf3 12.Bxf3 Re8Ž—2mÎzjE14u Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.b3Šݼzÿ•vD68 QGD: Orthodox, Classical, Vidmar, 13...exd4 14.exd4 Nb6ƒ(¦ŠõøDA53 Old Indian: 3.Nc3 Nbd7 4.e4 e5‚L-Ž6ƒrVC27f Vienna: 3.Bc4 Nxe4 4.Qh5 Nd6 5.Bb3 Be7¬¦‚bRA95 Dutch: Stonewall: Chekhover Variation|sè‡&÷<C26s Vienna: 3.Bc4 Bc5 4.d3 d6z݃3UrC09m French: Tarrasch, Open, Main Line, 9.Nb3 Bd6 10.Nbd4y uVUß6A80c Dutch: Korchnoi AttacktÞ‘µ)5 PB13f Caro-Kann: Exchange, 4.Bd3 Nc6 5.c3qåPB–=ZC47p Four Knights: Scotch, 4...exd4 5.Nxd4 d6l+CÒáSíNB43n Sicilian: Kan, 5.Nc3 Qc7 6.Bd3 Nf6_ÏÒŠ.BE17t Queen's Indian: Euwe, 7...d5XÍXt[ÂgPE03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 c5W.÷GñG0A10 English: 1...g6 2.e4RÕ¨£îIGNB22o Sicilian: Alapin, 2...Nf6 3.e5 Nd5J…Š,k ÖdA67q Benoni: Four Pawns, Taimanov, 9.a4 O-O 10.Nf3Jabï~„É\C76 Spanish: Modern Steinitz, Bronstein, 7.O-OE|ut;ÅB65f Sicilian: Richter-Rauzer, 7...Be7, 9.f4 Nxd4 10.Qxd4 Qa5 11.Bc4 Bd7BŸºåDJ8D11n Slav: Slav-Reti with b3@Å#±ØMfE31h Nimzo-Indian: Leningrad, Main Line, 7.e3 Bxc3+>ÏxaÖ D11a Slav: 3.Nf34–×'Q«bB45p Sicilian: Taimanov, Four Knights, 6.Ndb5 Bb4)tZBikdB02u Alekhine: Two Pawns Attack, Mikenas Variation)~¦fE81d King's Indian: Sämisch, 5...O-O 6.Nge2 c5 7.d5(oñnVÜtVE63h King's Indian: Fianchetto, Panno, 8.h3!œ ÇyP\B14b Caro-Kann: Panov-Botvinnik, 5...g6 6.cxd5½¨2Bœ<A45t Trompowsky: 2...Ne4 3.Bh4ŸÊ¥¼‡0A09d Reti: Advance, 3.e3 õg·>|2B07d Pirc: Roscher Gambitb–e¶ò[*A42a Modern: AverbakhöûJ¿l‘PD86 Grünfeld: Classical Exchange, 7...b6õž§ìt>°\C84o Spanish: Closed, Centre Attack, 7.Re1 O-Oõ|•oÈFA80c Dutch: Korchnoi, Janzen GambitꯈŸÅmdA58d Benko Gambit: Accepted, 6.g3 d6 7.Bg2 g6 8.b3Ñ8è/¾WFD00k Trompowsky: 2...d5 3.Bxf6 exf6Ãk° m¾JC41w Philidor: Improved Hanham, 7.Qe2À¢rÎX×FA29 English: Four Knights, 4.g3 Bc5¿úN*¢LC59j Two Knights: Main Line, 11.d4 Qc7³²ÒÕ««ZA87 Dutch: Leningrad, Main Line, 5...d6 6.Nc3±Å•xÉ,ÊLA58o Benko Gambit: Fianchetto, 9...O-O°‚ü}ÌŽüvD36r QGD: Exchange, Main Line, 9.Nf3 Re8 10.O-O-O Nf8 11.h3«-®­R?–lE66d King's Indian: Fianchetto, Yugoslav Panno, 9...e5§Í›i„}"TE22 Nimzo-Indian: Spielmann, 4...c5 5.dxc5Ž©›ja¡VB96i Sicilian: Najdorf, 7.f4 Nbd7 8.Qe2 Qc7ޤû©fk4D70 Neo-Grünfeld: 4.Bg2 c6ŽˆìN+%XRA40k Queen's Pawn: Bogoljubow-Miles, 2.c4ƒÀá3ÀB¨B37q Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6 8.Be2 O-O 9.O-O Nd7 10.Bd2 Nc5 11.b4y¾Lrƒuu<E73e King's Indian: 5.Be2 Nbd7yî½0>ºŠE13o Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.e3 g5 8.Bg3 Ne4 9.Qc2 Bxc3+]œGŠäOXD41b QGD: Semi-Tarrasch, Keres CounterattackUItχuZE34 Nimzo-Indian: Classical, Noa, 5.cxd5 Qxd5K`ˆÔ\qrE70n King's Indian: 4.e4 d6 5.Bd3 O-O 6.Nge2 Nc6 7.O-O e5:‰GÃâˆE88i King's Indian: Sämisch, Orthodox, Polugayevsky, 8...cxd5 9.cxd5 Nh57þYÜmNE18j Queen's Indian: 7.Nc3 d5 8.Ne5 Na66{ MãÏHD16o Slav: Bronstein, 6.Ne5 Bh5 7.h3.ݬW\½NA50m Indian: Queen's Indian Accelerated(”$ô@e\E05m Catalan: Open, Classical, 8.a4 Bd7 9.Qxc4 ¸¦òÞŽ‚E98q King's Indian: Mar del Plata, 9.Ne1 Nd7 10.Nd3 f5 11.Bd2 Nf6ÊÖ– Ã.C10f French: Rubinstein µ[°rC41e Philidor: Philidor Countergambit, Steinitz Variation i©TC47o Four Knights: Scotch, 4...exd4 5.Nxd4¾cq6C26r Vienna: 3.Bc4 Bc5 4.d3Ô“ÿC„E14y Queen's Indian: 4.e3 Bb7 5.Bd3 c5 6.O-O Be7 7.Nc3 cxd4 8.exd4ýÛ?K$Ñ/>B03d Alekhine: Balogh Variationü•BáS9PE11y Bogo-Indian: 4.Bd2 Bxd2+ 5.Qxd2 O-Oíoý(C25b Vienna: 2...Bb4ÅdPK·TB94f Sicilian: Najdorf, 6.Bg5 Nbd7 7.f4 b5¿w–¤¼ûPE34 Nimzo-Indian: Classical, Noa, 5.cxd5¼?ð•™û<C00f French: Pelikan Variation´Éì+ë~¬\D36o QGD: Exchange, Main Line, 9.Nf3 h6 10.Bh4³Î®þG>B98a Sicilian: Najdorf, 7...Be7ž _|}{¿`D66 QGD: Orthodox, Main Line, Fianchetto, 11.O-O—eŽ:p‰:C40i Elephant Gambit: Paulsen–¹ú‘Sâ<A96 Dutch: Classical, 7.b3 Qe8•m·½· zC84q Spanish: Closed, Centre Attack, 7.Re1 O-O 8.e5 Ne8 9.Bf4ˆû#™gøRC60m Spanish: Fianchetto, 4.d4 exd4 5.Bg5~‹@ à`E70n King's Indian: 4.e4 d6 5.Bd3 O-O 6.Nge2 Nc6zk*ѱ¦:E60h King's Indian: b3 Systemyqû7 öè4D02u Queen's Pawn: 3.g3 g6r”1"õg|C08f French: Tarrasch, Open, 4.exd5 exd5 5.Bb5+ Bd7 6.Qe2+ Be7m¢¿eÿ]:C45u Scotch: 4.Nxd4 Bc5 5.Be3e¥M¯ : >D44d Semi-Slav: Botvinnik, 7.a4]bŽ´­Ð’JA55r Old Indian: Main Line, 8.Re1 Re8Zàkùú¡% D30d QGD: 3.cxd5TºBzÅ&s<D30h QGD: Tarrasch without Nc3T>°^Âw6>C22 Centre Game: Hall VariationFâC\¦÷74A12 English: Torre Defence6;ÈÌ ZB76j Sicilian: Dragon, Yugoslav, 9.O-O-O Nxd45¿ŒÒ MLC69b Spanish: Exchange, Gligoric, 6.d4$—UsÃ+ƒhE60o King's Indian: Fianchetto without Nc3, 6...Nbd7 ØsW¾ý\fC97j Spanish: Closed, Chigorin, 12...Bd7 13.Nf1 Nc4Ï £âBD43v Semi-Slav: Moscow, Main LineuVçÞak>B26d Sicilian: Closed, 6.Be3 e5õʼnât/ðrB38i Sicilian: Maroczy Bind, 7.Nc3 O-O 8.Be2 b6 9.O-O Bb7ôs•éY˜nE76o King's Indian: Four Pawns Attack, 6.Nf3 c5 7.d5 a6æž &ªA`E12s Queen's Indian: Petrosian, 6.cxd5 Nxd5 7.e3â•ë¶CJC49f Four Knights: Janowski Variationڙ󹕙FB13f Caro-Kann: Exchange, 4.Bd3 Nc6Õ‘±Õú@A43a Old Benoni: Nakamura GambitÐ+L!ãdA30b English: Symmetrical, 2.Nf3 b6 3.g3 Bb7 4.Bg2ÈOú·>Ï^C45q Scotch: 4.Nxd4 Bc5 5.Nb3 Bb6 6.a4 a6 7.Nc3»ý=}è4A13h English: 1...e6 2.Nf3ºUhú7#RD87a Grünfeld: Classical Exchange, 8...c5±/TZÅ:&A25 English: Closed¬£-ÝÖn$D80 Grünfeld: 4.e3ªÖ­ä‹RC85e Spanish: Closed, Exchange, 7.Nc3 Bg4–@`£©I,C44n Ponziani: 3...Nf6›CÚe@%ÇFB01d Scandinavian: Schiller Defenceši—Îü—fD50 QGD: Semi-Tarrasch, Pillsbury, Krause Variation…ß0R ×LA42g Modern: Averbakh, Kotov Variation„KEÖÀQ|LC23 Bishop's Opening: Anderssen Gambit}ÞNô¸11DE07 Catalan: Closed, 6...Nbd7 7.b3|r ÄPLdB44t Sicilian, Taimanov, Szen, 7.N1c3 a6 8.Na3 Be7xðͯöâDD10x Slav: 3.Nc3 Nf6 4.e3 a6 5.Qc2t'5„Œsî\E12n Queen's Indian: Petrosian, 5.Nc3 d5 6.Bg5nW?cÊÇý&E06 Catalan: Closedf—¿o‘ŒNE71c King's Indian: Makagonov, 5...Nbd7Qnz¦²hTD18m Slav: Dutch, 8...Nbd7 9.Qe2 Bg6 10.e4G}Aå¼Þ^D44m Semi-Slav: Botvinnik, Lilienthal, 11...Bb7?´ìiCá¡JC90g Spanish: Closed, Pilnik, 9...Na56jcžÃóÖBA62 Benoni: Fianchetto, 8.Bg2 O-O2Í"ñ¸©ž(A56n Benoni: Vulture.õ@‹i RB23q Sicilian: Closed, Grand Prix, 3...e6"ðÈÜK¨ZB33l Sicilian: Pelikan, Chelyabinsk Variation¯”u¦$ðfB49d Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 8.a3 b5‹†q L¶ A04 Reti: 1...b6wYçô›ºNC84c Spanish: Closed, 6.Nc3 b5 7.Bb3 d6öµrõ6´JB84 Sicilian: Scheveningen, Classicalô2o8½àbB00q Nimzowitsch Defence: 2.Nf3 d6 3.d4 Nf6 4.Nc3ò­§Iðl $A00v Benko Openingîg9&ê¥xA41g Neo-Old Indian: Wade Defence, 3.c4 e5 4.dxe5 Nc6 GambitëÇa/#F¸JC15n French: Winawer, Alekhine GambitáëàËoÂLB44o Sicilian, Taimanov, Szen, 6.c4 a6Øi…è ‰XE70i King's Indian: Kramer, 5...O-O 6.Ng3 e5Î<ŸdA>C42c Russian-Three Knights GameΖG2NÁ,D08 QGD: Albin, 3.dxe5Éöò©ÈÇw6D11p Slav: Slav-Reti SystemÄ$÷(%lË4B09a Pirc: Austrian AttackÁÚ¿…L-PE14f Queen's Indian: 4.e3 Bb7 5.Bd3 Bb4+¸D) •Ê.PB98c Sicilian: Najdorf, Danner Variation°BzÕ;y2C32 KGD: Falkbeer, 5.dxe4­tª2/fLB72 Sicilian: Dragon, Classical AttackœPå¥ÄIm`B60k Sicilian: Richter-Rauzer, Larsen, 7.Be2 Qa5˜çñpËH¼FD19g Slav: Dutch, Sämisch VariationŒãXXÍ¡DC41k Philidor: 3...exd4 4.Nxd4 Nf6„ûô_’6å8B07f Pirc: 3.f3 e5 Queenswap~c¦!½lëLD60 QGD: Orthodox, Botvinnik Variationhww7x™PD34s QGD Tarrasch: 9.Bg5 cxd4 10.Nxd4 h6dÓq"b 0A10 English: Anglo-Dutch^F–…?i^E90o King's Indian: 5.Nf3 O-O 6.h3 e5 QueenswapZ²üŽìÇéJB97a Sicilian: Najdorf, Poisoned PawnYkiÚN>\B33b Sicilian: Open, 2...Nc6, 5...Qb6 6.Nb3 e6Y}ìf–,<B53b Sicilian: 2...d6 3.d4 Nf6Xsý±ŽqCVA41f Neo-Old Indian: Wade Defence, 3.e3 Nd7OêæQ ±Ý˜A75 Benoni: Classical, 9.O-O a6 10.a4 Bg4 11.Bf4 Re8 12.Nd2 Bxe2 13.Qxe2 Nh5Gì7Z&Kß&A00j Mieses: 1...e5)½vÁójTC58g Two Knights: Morphy, Colman Variation(çÕÜx"‰BD34j QGD Tarrasch: Reti Variation#ˆ,ò ëxRE80m King's Indian: Sämisch, 5...c6 6.Be3uœåMÞZA38j English: Symmetrical, Main Line, 7.a3 d6t*ÿWê„E75i King's Indian: Averbakh, 7.d5 e6 8.Qd2 exd5 9.exd5 Re8 10.Nf3?—UŠÑLE06 Catalan: Closed, 6.O-O c6 7.Nc3 b6ëïù™pDC59j Two Knights: Main Line, 11.d4d×+ ÏBzB97n Sicilian: Najdorf, Poisoned Pawn, 10.Be2 Be7 11.O-O Nbd7L|eáõdE85e King's Indian: Sämisch, Orthodox, 7.Nge2 exd4 ùø¡¨ŽEÜ<B51f Sicilian: 3.Bb5+ Nd7 4.d4 ÷Üîµ]f“8B96a Sicilian: Najdorf, 7.f4 ö ”R+šÉ6A24 English: Bremen, 3...g6 öø ­'ÁtA33n English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.g3 Bc5 õ$¼ûåm*A06 Reti: 1...d5 2.e3 çE]TI JB01w Scandinavian: Marshall Variation ã’;ž<BD32r QGD Tarrasch: 5.Nf3 Nc6 6.e3 ØnÎbŽÏ"A65a Benoni: 6.e4 ÔkžqcbB80r Sicilian: Scheveningen, Fianchetto Variation Ï^P C20 Open Game Ë`F’ƒÛ4D02u Queen's Pawn: 3.g3 g6 ʌ޴+`8D33b QGD Tarrasch: 6.g3 cxd4 ¤ÕÜÂì6A43r Old Benoni: Hawk, 4.e4 ¢™àZµÍ:D94 Grünfeld: 5.e3 O-O 6.cxd5 …ö¾ QûDD16c Slav: Soultanbeieff Variation ‚ˆÂØòL­žE97s King's Indian: Mar del Plata, Bayonet, 9...Nh5 10.Re1 f5 11.Ng5 Nf6 12.Bf3 .U%L^B54n Sicilian: Prins (Moscow), 5...e5 6.Nb3 Be6 yY@mEIrHB18m Caro-Kann: Classical, 6.Nf3 Nd7 u:FÁ²:C27c Vienna: 3.Bc4 Nxe4 4.Qh5 fynÜYËJTA38i English: Symmetrical, Main Line, 7.a3 TЋO3£HC93 Spanish: Closed, Smyslov, 12.Nf1 TSÚÙMXB76h Sicilian: Dragon, Yugoslav, 9.O-O-O Bd7 QLƒTpý!LD37c QGD: Westphalia: 4.Nf3 Nbd7 5.Bf4 IUöš^™HE20 Nimzo-Indian: Romanishin, 8.cxd5 6ÝUVdC03i French: Tarrasch, 3...Be7 4.Bd3 c5 5.dxc5 Nf6 #^Ú^ù“ûxC49q Four Knights: Symmetrical, Metger, 10.d4 Ne6 11.Bc1 Rd8 ä¼2;åß`E35 Nimzo-Indian: Classical, Noa, Exchange, 6.a3 øÄu˜»ŠDA43u Old Benoni: Schmidt, 3.e4 Nf6 õaÊhÞd‰`C95g Spanish: Closed, Breyer, Gligoric Variation æ…/Þ,uA07 Reti: KIA à”âãªAhB34l Sicilian: Accelerated Fianchetto, Modern, 6.Nb3 Øñ¤³Â0bB63e Sicilian: Richter-Rauzer, 7.Qd2 Qb6 8.Nb3 a6 ÈBµõ;žFD18p Slav: Dutch, 8...O-O 9.Nh4 Bg6 ÇÜ5/騬fB83 Sicilian: Scheveningen, Modern, 9.f4 Bd7 10.Nb3 Å=¬šñãÃFB15p Caro-Kann: Rasa-Studier Gambit ³ëØPp:vC67l Spanish: Open Berlin, Main Line 9.Nc3 (Rio de Janerio) ¯0cŒÜYTLE06 Catalan: Closed, 6.O-O c6 7.Qc2 b6 ›] j£ºpB98k Sicilian: Najdorf, Gothenburg (Argentine) Variation šöjÞ:‘rRD86 Grünfeld: Classical Exchange, 7...O-O ”VKß=[†B37n Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6 8.Be2 O-O 9.O-O Nd7 Î2ìô0D34o QGD Tarrasch: 9.Bg5 …îÎØ3”Š C51 Evans Gambit ~vñÓŠÎrB32q Sicilian: Lowenthal, Kalashnikov, 6.N1c3 a6 7.Na3 b5 Øë^ãƒílC06o French: Tarrasch, Closed, 8...f6 9.exf6, 11...Qb6 ~¸^ ~Lä^E64a King's Indian: Fianchetto, Yugoslav System |LW@ pŸBA20 English: King's, 2.g3 c6 3.d4 {•²½ ÄjPD85e Grünfeld: Exchange, 7.Bb5+ c6 8.Ba4 wÅ jXˆLC92d Spanish: Closed, Kholmov, 11.Qxb3 wRÎÑäBA62 Benoni: Fianchetto, 9.O-O Re8 l× «~V>hA29 English: Four Knights, 4.g3 d5 5.cxd5 Nxd5 6.Bg2 k{«Þ±.HC84c Spanish: Closed, 6.Nc3 b5 7.Bb3 kTG™žÐ~HA99 Dutch: Ilyin-Zhenevsky, 8.b3 Nc6 g¬5ðX8D43s Semi-Slav: Moscow, 7.e3 eQ³ÄE]òJA48f Neo-King's Indian: London System YÖÃ5vCæ"D20s QGA: 3.e4 c5 UPãóùrC33 KGA: Bishop's Gambit, Classical Defence, Cozio Attack L#û2ký±ND71 Neo-Grünfeld, 5.cxd5 Nxd5 6.Nc3 Nb6 D¾C!‡›)RA14 English: Neo-Catalan Declined, 5...c5 7×5ô´o—PA30b English: Symmetrical, 2.Nf3 b6 3.g3 3õÔ‘djÊNA27 English: Three Knights, 3...g6 4.d4 1¿Î×b>ß:B22a Sicilian: Alapin, 2...e5 #súIÖFíHA52k Budapest: Rubinstein, Main Line Ý'pÍÍÑ@C43c Russian Game: Modern Attack õ²ä^לRA69f Benoni: Four Pawns, Main Line, 10.e5 [˘üÞ¦JB44q Sicilian, Taimanov, Szen, 7.N1c3 ™r+ u<D32j QGD Tarrasch: 4.cxd5 exd5 ԱΠHodE81h King's Indian: Sämisch, 5...O-O 6.Bg5 c5 7.d5 vΓÝ$óFD53s QGD: 4.Bg5 Be7 5.e3 Nbd7 6.Nf3 /A@UFC52 Evans Gambit: 5...Ba5 6.O-O Nf6 „?ÚLD70 Neo-Grünfeld: Alekhine's, 5.e4 Nb6 ü˜Ì¦]DB38a Sicilian: Maroczy Bind, 6.Be3 ù€ ã“Â>A45n Trompowsky: 2...e6 3.e4 h6 ÷°šD7þJ:C18f French: Winawer, 6...Ne7 õ7d7€.,A47 Neo-Queen's Indian ñ“$› ñG€B66o Sicilian: Richter-Rauzer, 7...a6 8.O-O-O h6 9.Be3 Be7 10.f4 ãKa‘›YœRA99 Dutch: Ilyin-Zhenevsky, 8.b3 a5 9.Qc2 Ü»z’‰<E60j King's Indian: Fianchetto ÜŠt<ðLB48e Sicilian: Taimanov, 6.Be3 a6 7.f4 Ήí¡0ÕÉ0A53 Old Indian: Janowski Âs½³Özâ8B07r Pirc: Sveshnikov (4.g3) Á‚©ˆ¹ëXA76 Benoni: Classical, Main Line, 10.Qc2 Bg4 ¾4¼ 4.A45m Trompowsky: 2...e6 ºð´]?2D07f QGD: Chigorin, 3.Nf3 ·ÉšJ˜“–RD10m Slav: Winawer Countergambit Accepted ±=Ñ@†mTE94o King's Indian: Glek, Main Line, 11.h3 ¦œ²¢†Ò A04 Reti: 1...c5 ¥*÷§.«@D95i Grünfeld: Pachman Variation ”ð¤Û£rÕbE03 Catalan: Open, 5.Qa4+ Nbd7 6.Qxc4 a6 7.Nf3 b5 ŒPd1mRDD73 Neo-Grünfeld, 6.cxd5 Nxd5 7.e4 ~è¨DXSOVB49c Sicilian: Taimanov, 6.Be3 a6 7.Be2 Nf6 zÿ8™}é_JB01d Scandinavian: Schiller, 4.d4 Nf6 zvªúqëÿJA09i Reti: Advance, 3.g3 g6 4.Bg2 Bg7 zI¸3¬ƒàFD38k QGD: Ragozin, Westphalia, 7.e3 uý:ìæYü4C17k French: Winawer, 5.a3 r©’—šÖMXD69 QGD: Orthodox, Classical, 13.dxe5: 15.f4 eq‘ßÀ„<C11p French: Burn, 5.Nxe4 Nbd7 bxq-VŽZC88b Spanish: Closed, Trajkovic Counterattack _ð>ï:׉:D13h Slav: Exchange, 5.Nc3 e6 _]>†ù2ßHC88e Spanish: Closed 7...d6 8.c3 Na5 ^1bmÄ Ö,D25f QGA: Flohr, 5.Nc3 \©Qû2bD67 QGD: Orthodox, Main Line, Alekhine, 11...N5f6 ZAß$$–,E10a Neo-Indian: 3.Nf3 HòÐô96RA01 Nimzowitsch-Larsen: English Variation ?±¼fy%²lE37 Nimzo-Indian: Classical, Noa, Main Line, 7.Qc2 Nc6 ;ëŽEÝHA40i Englund Gambit: Soller Deferred :‹\ø äÌNB01u Scandinavian: Portuguese Variation 9µ vì‰(HC77f Spanish: Anderssen, 5...d6 6.c3 *F<ÕžÄ->D46n Semi-Slav: Chigorin, 7.O-O &ýòÈkâÃzE29 Nimzo-Indian: Sämisch, 5...O-O 6.e3 c5 7.Bd3 Nc6 8.Ne2 b6 r¨?Á FC05e French: Tarrasch, Closed, 5.f4 1¹ÂxE97z King's Indian: Mar del Plata, 9.Nd2 a5 10.a3 Nd7 11.Rb1 óLj^JB25q Sicilian: Closed, 6.f4 e6: 9.Be3 Ä»ÖÎ-Û^C99j Spanish: Closed, Chigorin, 13...Nc6 14.Nf1 /©®ëdô^B01s Scandinavian: 2...Nf6 3.Bb5+ Bd7 4.Bc4 Bg4 o`ên8‚‚D62 QGD: Orthodox, Rubinstein, 7.Qc2 c5 8.cxd5, Main Line, 11.Bd3 þ”0á*A08 Reti: KIA, 2...c5 ÷,=‡4hE59 Nimzo-Indian: Main Line, 9.bxc3 dxc4 10.Bxc4 Qc7 á"óÜhhDC18g French: Winawer, 6...Ne7 7.h4 ݵüéi¦w&D21c QGA: 3.Nf3 Bg4 Õ©KÑ9– PA37s English: Symmetrical, 5.Nf3 e5 6.d3 Õ’¨û ­ nA46z Torre Attack: 3...h6 4.Bxf6 Qxf6 5.e4 d6 6.Nc3 Nd7 гìOÜwœFA96 Dutch: Classical, 7.Nc3 a5 8.b3 Ê\‡n•ÈPC89i Spanish: Marshall, 12.d3 Bd6 13.Re1 Ⱦ»¸„oÂhE19l Queen's Indian: Old Main Line, 9.Qxc3 c5 10.Rd1 çèµÃÚpfA78 Benoni: Classical, Main Line, 10.Nd2 Na6 11.Kh1 Âø¾È‘LD35h QGD: Exchange, 5.Nf3 Be7 6.Bf4 c6 ¸¨Ÿ[Z´.B50a Sicilian: 2.Nf3 d6 ®,€v€ÃºjE84c King's Indian: Sämisch, Panno Main Line, 9.O-O-O ©‰oN‹pD46m Semi-Slav: Chigorin, 7.Qc2 Main Line, 9...b5 10.Be2 ¦N'&5D$tD34v QGD Tarrasch: 9.Bg5 cxd4 10.Nxd4 h6 11.Be3 Re8 12.Qb3 žå@‰abB36f Sicilian: Maroczy Bind, Gurgenidze Variation –òmÿ?©fA99 Dutch: Ilyin-Zhenevsky, 8.b3 a5 9.Bb2 Qh5 10.e3 ‘}XÔ+NJB01c Scandinavian: 2...Qxd5 3.Nc3 Qd8 ŒÔD'¤RLC37 KGA: Lolli Gambit, Young Variation †’îHÌÁÞdD66 QGD: Orthodox, Main Line, Fianchetto Variation æP8}\bbD98g Grünfeld: Russian, Smyslov, 8.Be3 Nfd7 9.Be2 vÔtö_OO>B06u Modern: Three Pawns Attack i ]Âoú¤6A12 English: London Defence hß`ÑIÇãBB90h Sicilian: Najdorf, 6.Be3 Ng4 TÞa J†2zB35g Sicilian: Accelerated Fianchetto, Modern, 7.Bc4 O-O 8.f3 Fׂ•Ö<Ñ>C78o Spanish: Archangelsk, 7.d4 Fn³ÙáÒ JC54h Giuoco Pianissimo: 5.d3 d6 6.O-O .‡»]¾"ÃVC88k Spanish: Closed, Anti-Marshall 8.a4 b4 *KP°~/BC30r KGD: Classical Countergambit '*ŠâôäPE97c King's Indian: Mar del Plata, 8.Be3 &{üÄ­ ÑTB18g Caro-Kann: Classical, Flohr Variation $ ñ² üHC66 Spanish: Closed Berlin, 5.d4 Bd7 $ Ù XŠPE61v King's Indian: Smyslov System, 6.e3 «Îà5ëÝJB21k Sicilian: Grand Prix, Tal Gambit ôBq-ÜHE80b King's Indian: Sämisch, 5...Na6 [€Ê™Q:A13l English: 1...e6 2.Nf3 d5 xG•k<LD53i QGD: 4.Bg5 Be7 5.Nf3 h6 6.Bh4 O-O ‘ô Zê0A46d Neo-Benoni: 3.c3 b6 ëc=^BC57e Two Knights: Kloss Variation *9=®¯lE98d King's Indian: Mar del Plata, 9.Ne1 Ne8 10.Nd3 f5 øÀïËå¤K@D25j QGA: Janowski-Larsen, 6.O-O ôñR¹(qûRE09l Catalan: Closed, Main Line, 9.e4 Bb7 Ìåù&ÿGh(E00h Catalan: 3...c5 ÇÝÑ΋F\C92s Spanish: Closed, Zaitsev, 12.a4 h6 13.Bc2 Å(~z‹²\E20 Nimzo-Indian: Romanishin, 4...c5 5.Nf3 Nc6 äm)Ü (B27a Sicilian: 2.Nf3 ”î“oN&A81 Dutch: 2.g3 Nf6 ¼ï —[>”FD00l Blackmar-Diemer: Gedult Gambit º¾^õ b9ZD61 QGD: Orthodox, Rubinstein, 7.Qc2 c6 8.Bd3 ¶Û=U “˜HB08c Pirc: Classical, Spassky System ³²IÁéVnE19m Queen's Indian: Old Main Line, 9.Qxc3 c5 10.Rd1 d6 ©Sb…8"=ZE90q King's Indian: 5.Nf3 O-O 6.h3 e5 7.d5 a5 “kú¬;øÑVA85 Dutch: 2.c4 Nf6 3.Nc3 g6 4.Nf3 Bg7 5.e3 ’ÝC†h8D29a QGA: Classical, 8...Bb7 …⨷ NC41g Philidor: Hanham, Berger Variation }¹C"FòöpE92f King's Indian: 6.Be2 e5 Queenswap, 9.Bg5 Re8 10.Nd5 vÊ…øMÈbD36j QGD: Exchange, 6.Qc2 Be7 7.e3 Nbd7 8.Bd3 Nf8 tfƒÜgTB54e Sicilian: Open, 2...d6, 4...Nf6 5.Bd3 n¥óˆ0*ì^B01f Scandinavian: 2...Qxd5 3.Nc3 Qa5 4.Nf3 Nf6 iÔ¶ñ ŠwfC77t Spanish: Wormald Attack, 5...b5 6.Bb3 Bc5 7.c3 gˆ…_Q÷]BC10o French: Rubinstein, 7.Bd3 c5 bT£˜|QND06i QGD: Marshall Defence, 3.cxd5 Nxd5 b(”3@È5FC52 Evans Gambit: Richardson Attack [ˆ óiVÿzB63g Sicilian: Richter-Rauzer, 7.Qd2 Qb6 8.Nb3 a6 9.O-O-O Be7 V¾–æS„B31m Sicilian: Rossolimo, 3...g6 4.O-O Bg7 5.Re1 Nf6 6.c3 O-O 7.h3 U²=½Œ`B12u Caro-Kann: Advance, 4.Nf3 e6 5.Be2 c5 6.Be3 Oï& X(¼jD40q QGD: Semi-Tarrasch, 5.e3 Nc6 6.a3 a6 7.dxc5 Bxc5 Hé?2÷ŽÁNB44e Sicilian: Taimanov, 5.c4 Nf6 6.Nc3 Cã‡HE38a Nimzo-Indian: Classical, 4...c5 Bb½,D@UfC79 Spanish: Steinitz Deferred, Lipnitsky Variation @’øÑ7­2A06 Reti: Ampel Variation 3´Yz¨íÑHC21 Danish Gambit: Classical Defence *ܤn¾ÜCA07 Reti: KIA %â€C¡NE90a King's Indian: 5.Nf3 Nbd7 6.Be2 e5 !üÏb%çk&D37d QGD: 4.Nf3 Be7 !¬Ê\='^D30v QGD: 3.Nf3 Nf6 4.Bg5, Capablanca Variation ˜^Ø¡0D04a Queen's Pawn: Colle AdJ+uVD59l QGD: Tartakower, Main Line, 11.Rc1 Be6 ¶»>‡3VD35r QGD: Exchange, 5.Bg5 c6 6.e3 Be7 7.Bd3 )ä²eóPZE11r Bogo-Indian: Nimzowitsch, 5.g3 Nc6 6.Nc3 ŠÐÒi•h8D01g Richter-Veresov: 3...c5ëV¿nJ&2E61b King's Indian: 4.Bf4ê>΀µ?T.D04h Colle: 3...c5 4.c3éHšK£¨<E90a King's Indian: 5.Nf3 Nbd7àýi‰šZA21 English: Kramnik-Shirov, 3.g3 Bxc3 4.bxc3Í”‡ÙÞFJC20 Open Game: Patzer/Parnham OpeningÇkŸM ›€C47m Four Knights: Belgrade Gambit, 5...Nxe4 6.Bc4 (Modern Line)Æÿ/¯ÏÖâ@C10h French: Rubinstein, 4...Nd7½‘A—Ô­PE44 Nimzo-Indian: Nimzowitsch, 5.Ne2 Ne4»êôÞAD91t Grünfeld: 5.Bg5 Ne4 6.cxd5 Nxg5 7.Nxg5 e6 8.Nf3 exd5 9.e3 O-O 10.b4ºÆB½$ð6D34e QGD Tarrasch: 9.b3 Ne4±Ìº ­ÁLA57j Benko Gambit: 4.cxb5 a6 5.b6 Qxb6•Ò<$'xýnB22g Sicilian: Alapin, 2...d5 3.exd5 Qxd5 4.d4 e6 5.Nf3ˆŸ³ç´k^A30s English: Symmetrical, Hedgehog, 8.Qxd4 O-O‡”>ŸXÛ•JB38c Sicilian: Maroczy Bind, 6.Be3 d6„°Q¡ñZC09k French: Tarrasch, Open, Main Line, 9.Nb3ÿ€¥TD31z Semi-Slav: Marshall Gambit, 8.Be2 Na6s™ßqD¤5DA07 Reti: KIA, Yugoslav, Main Linea¿p¹ÖoLC05c French: Tarrasch, Closed, 4...Ne4\ÍìæAªLC11c French: Steinitz, Gledhill AttackUkðLg?Ý"D20v QGA: 3.e4 e5Tá0 öëjC31 KGD: Falkbeer, Marshall/Nimzowitsch CountergambitRNkÙ,$rD16s Slav: Bronstein, 6.Ne5 Bh5 7.f3 Nfd7 8.Nxc4 e5 9.Ne4DnÉ >$ú:D15h Slav: Chameleon, 5.e3 b5<_êæ1RA<A54 Old Indian: 5.Bg5 Be7 6.e3º¢ÌÌR2A40m Queen's Pawn: 1...e67µÿ ù6C55s Two Knights: 5.O-O Be7C\xnYZC82m Spanish: Open, St. Petersburg, 11.Bc2 f5ø7œ’b4B40i Sicilian: 2...e6 3.d4 Ìò”á¹¶FC95a Spanish: Closed, Breyer, 10.d4 ·]K{“<A40b Queen's Pawn: 1...c6 2.c4nèÙm»6C84a Spanish: Closed System÷É5-4O&A10 English: 1...g6õáÜ\i\vFC67m Spanish: Open Berlin, 5.d4 Nd6ò\¨ˆS:D26f QGA: Classical VariationòA,³tŒ"nA59p Benko Gambit: 7.e4, Main Line, 11...Nbd7 12.h3 Qb6ðÀ9GBtÛJB01b Scandinavian: 2...Qxd5 3.Nf3 Nf6ïï×”.Jy:D26i QGA: Classical, 6.Nc3 a6íÙ¢OPB15b Caro-Kann: Gurgenidze Counterattackì¶(ÑÏ@6@E60i King's Indian: b3+g3 SystemêðõVC81 Spanish: Open, Keres, Ekstrom VariationÔ©áx¯òÎ`C61m Spanish: Bird's, 5.O-O Bc5 6.d3 c6 7.Bc4 d5Ò÷ƒS¤+ïLE91k King's Indian: 6.Be2 c5 7.O-O Nc6Ñ>‡TbÞZD28j QGA: Classical, 7.Qe2 b5 8.Bb3 Nc6 9.Rd1Ñzí†`§8A20 English: King's, 2.g3 c6Ähc-ãw,D00a Queen's Pawn GameÀB| V6D73 Neo-Grünfeld, 5.Nf3 O-O¿¨{U;ñRA44v Old Benoni: Czech, 3.e4 d6 4.Nc3 Be7¾OlwjÈ„E81t King's Indian: Sämisch, 5...O-O 6.Be3 Nbd7 7.Qd2 c5 8.Nge2 a6³·¡íÌüKpC08i French: Tarrasch, Open, 4.exd5 exd5 5.Ngf3 a6 6.Be2¯§»¤øéFB54b Sicilian: Open, 2...d6, 4...e5¬MÇñáKLB41l Sicilian: Kan, 5.c4 Nf6 6.Nc3 Qc7¨r D ¹RA66 Benoni: Mikenas Attack, 8...Nfd7 9.e6§= PµB)`D32l QGD Tarrasch: Marshall Gambit, Modern 6.Bc4ŸJׯîbdLE92b King's Indian: 6.Be2 e5 Queenswapž¡ù<ÂzòDA27 English: Three Knights, 3...g6“ËäÏøØLC07e French: Tarrasch, Open, 4.Ngf3 a6‘þåŒ98|B99d Sicilian: Najdorf, Main Line, Keres, Queen Sacrifice Line‰®Âº>™`B31j Sicilian: Rossolimo, 3...g6 4.O-O Bg7 5.Re1Ý—ëhExB83 Sicilian: Scheveningen, Modern, 9.f4 Bd7 10.Nb3 a6 11.a4~¡7ºj(TB26f Sicilian: Closed, 6.Be3 e5 7.Qd2 Nge7l^Äñ,¨dnA77 Benoni: Classical, Main Line, 10.Nd2 Nbd7 11.a4 Ne5\ÓÑ‘¹¨tE87g King's Indian: Sämisch, Orthodox, Bronstein VariationZ06ušVA03 Bird: 1...d5 2.Nf3 Nf6 3.g3 g6: 6.d3 c5WÖl]„s³HD26e QGA: 4.e3 e6 5.Bxc4 a6 6.O-O b5T®|´·µTC54k Giuoco Piano: Ghulam Kassim Variation4êâšurD86 Grünfeld: Classical Exchange, Simagin Improved, 9.Be3 dú{£PC64r Spanish: Classical, 4.O-O Nd4 5.Bc4KwgXø4nB52e Sicilian: 3.Bb5+ Bd7 4.Bxd7+ Nxd7 5.O-O Ngf6 6.Qe2Y÷NãôJA40i Englund Gambit: 2.dxe5 Nc6 3.Nf3 À¹–U4q^D47l Semi-Slav: Meran, Lundin, 9.Ne4 Be7 10.O-O Kñ¥ºË|E15q Queen's Indian: Nimzowitsch, 5.b3 Bb4+ 6.Bd2 Be7 7.Bg2 c6 ÷Á¯3Þ±FB82 Sicilian: Scheveningen, 6.f4 a6 c»à‡(>D96 Grünfeld: Russian VariationxHxîRB72 Sicilian: Dragon, 6.Be3 Bg7 7.Bc4 O-O t gÛ.lB67m Sicilian: Richter-Rauzer, 7...a6, 9.f4 b5 10.Bxf6ñx·"übE21 Nimzo-Indian: Nimzo-Queen's Hybrid, 5.Bg5 Bb7ï4l92’JA92 Dutch: Stonewall, 7.Qc2 c6 8.Nbd2îÑ@×(ÁÏ.A54 Old Indian: 5.g3 g6ëxJš_ó&D11t Slav: 4.e3 Bg4ëãé~’$LA26 English: Botvinnik System, 6...Nf6â©ùà’•U A04 Reti: 1...c5Ýd©]6D63 QGD: Orthodox, 7.Rc1 c66—’ƒM^B01z Scandinavian: Marshall, 4.c4 Nb6 5.Nf3 Bg4/ñŪÕðRB23o Sicilian: Closed, Grand Prix, 3...d6$ÈÚÂEK-ZB62e Sicilian: Richter-Rauzer, Richter Attack$¸c:̦iHE91q King's Indian: 6.Be2 Nbd7 7.Bg5"ÒÕѺ^ÕBE61f King's Indian: 4.g3 d6 5.Bg2¼­Ù±À>8D51 QGD: Manhattan VariationGJ!µ)C\A34 English: Symmetrical, 3 Knights, QueenswapþÛÙ)OU@B01r Scandinavian: 2...Nf6 3.Nf3}ʈ]óBA45x Trompowsky: 2...Ne4 3.Bf4 c5VÆfúõVD43h Semi-Slav: Botvinnik, 5...Be7 6.e3 O-O QSâý/üZC87g Spanish: Closed, Averbakh, 7.c3 Bg4 8.h3LÉh"™Ï~D88 Grünfeld: Classical Exchange, Main Line, 11.cxd4 Na5 12.Bd3öÐEVA22 English: Bremen, Reverse Dragon, 4.cxd5ë÷Qí->C54n Giuoco Piano: Greco AttackÕ„áºiEÝ\D54e QGD: Anti-Neo-Orthodox, Main Line, 11.Be2Ñ©¯4bbpTC04a French: Tarrasch, Guimard, 4.Ngf3 Nf6Ð\”öŒÂ&&E01 Catalan: 4...c5ÉôtùðY>E01 Catalan: 4...Bb4+ 5.Nd2 O-O»fÜ7õ‰újB63m Sicilian: Richter-Rauzer, 7.Qd2 Be7 8.O-O-O Nxd4¶-´„¹qFB36b Sicilian: Maroczy Bind, 5...d6´¬JX¿Ü¡XB15k Caro-Kann: Gurgenidze: 4.Nf3 Bg7 5.exd5³„"b 8ÛrE88c King's Indian: Sämisch, Orthodox, 7.d5 c6 8.Qd2 cxd5¨¿Âª_‰HHC59g Two Knights: Main Line 10...Bd6§Éêø}?JlB84 Sicilian: Scheveningen, Classical, 7.O-O Nbd7 8.a4¦+XÁØ"PB04g Alekhine: Modern, Larsen, 5.Nxe5 g6›Só,Um­xE39m Nimzo-Indian: Classical, Pirc, 6.a3 Bxc5 7.Nf3 b6 8.Bg5šßoè<E01 Catalan: 4...c6 5.Nf3 Nbd7˜6@>œ÷lD40l QGD: Semi-Tarrasch, 5.e3 Nc6 6.a3 cxd4 7.exd4 Be7Œ”ÒÎü(A`A42l Modern: Averbakh, Kotov, 5.Be3 e5 6.d5 Nce7~”rzœáPC50g Italian: Hungarian Defence, 4.d4 d6t¬‡šjåhC94f Spanish: Closed, Breyer, 10.d3 Nbd7 11.Nbd2 Bb7o!ªå :A70g Benoni: Classical, 8.Bf4lùær¸TA35c English: Symmetrical, 2.Nc3 Nc6 3.Nf3e‰Ž6‹ÎbE80o King's Indian: Sämisch, 5...c6 6.Be3 a6 7.a4bS¾ýßVB77e Sicilian: Dragon, Yugoslav, 9.Bc4 Nxd4Vå'Ý÷,²6A19 English: Mikenas, 5.Nf3Uøë–üBE24 Nimzo-Indian: Sämisch, 5...d5P¹X_wÊy(D31n Semi-Slav: 4.e3P´¥¨qb3XD00k Trompowsky: 2...d5 3.Bxf6 exf6 4.e3 Bf5I4Já,öêjE49 Nimzo-Indian: Botvinnik, 7...c5 8.cxd5 exd5 9.Ne2HÂìñˆkáZA31 English: Symmetrical, Two Knights, 4...b6+ö½ø’€E82j King's Indian: Sämisch, Fianchetto, 7.Bd3 a6 8.Nge2 c5 9.d5*ªÎfÖŠJD54c QGD: Anti-Neo-Orthodox, 7.Bh4 b6šV2šÐVC14m French: Classical, Stahlberg Variation-<sáhD25q QGA: Janowski-Larsen, 6.h3 Bh5 7.Nc3 Nbd7 8.O-O%…ÃŒ‚nD27w QGA: Classical, Rubinstein, 8.Qe2 cxd4, 11.Nc3 Nd5bõÞ¥©XD25n QGA: Janowski-Larsen, 6.h3 Bh5 7.Nc3 a6û^"5µt@B02b Alekhine: Maroczy Variation )| Ï«Ÿ>A81 Dutch: Blackburne Variation ›Àî<D91e Grünfeld: 5.Bg5 Ne4 6.Bh4 >pd§A00n Grob£Òud™«(A80f Dutch: 2.Bg5 h6ÿU@„ü&RB99f Sicilian: Najdorf, Main Line, 10.Bd3øS ÄDA56v Benoni: Czech, 5.e4 Be7 6.Nf3ø/íµ ÛœTC51 Evans Gambit Declined, Lange VariationÝKK!ç:D36k QGD: Exchange, Main LineÉ…¦Y»6JA58i Benko Gambit: Accepted, 7.Nf3 g6Èðà=LD58r QGD: Tartakower, 8.Rc1 Bb7 9.Bxf6ÁcÙÞA¨|C43m Russian Game: Modern Attack, 3...Nxe4 4.Bd3 d5 5.Nxe5 Bd6´ƒÞR–Þ“HB44l Sicilian, Taimanov, Szen, 6.Bf4¨þ'm î÷8C05n French: Tarrasch, 5.Bd3¢íi€K—|RD14g Slav: Exchange, Trifunovic Variation¡š@,ÞòNC17c French: Winawer, Russian Variationžg ë}R„B05u Alekhine: Modern, Main Line, 8.Nc3 O-O 9.Be3 Nc6 10.exd6 cxd6—ár.)¥PB23m Sicilian: Closed, 2...Nc6 3.Bb5 Nd4¨]¨¥¼<E17n Queen's Indian: 6.O-O O-OŒ½íZÎ:B92a Sicilian: Najdorf, 6.Be2еÂê‚^E23 Nimzo-Indian: Spielmann, San Remo Variation†Ue—†ñãfA34 English: Symmetrical, 3 Knights, 5.e4 Nb4 6.Bc4uƒåPs‹€PC07h French: Tarrasch, Open, 4.Ngf3 cxd4t"¦ÂÔŒòdB62d Sicilian: Richter-Rauzer, Podebrady Variationiƒ&°ßðNB48i Sicilian: Taimanov, 6.Be3 a6 7.Bd3gšÖ"".D00i Trompowsky: 2...d5c»î¦e\BPE59 Nimzo-Indian: Main Line, 9.bxc3 dxc4bï–õÊ\NB56d Sicilian: Open, 2...d6, 5.Nc3 Nbd7_p¥¡€E97h King's Indian: Mar del Plata, Bayonet Attack, 9...Ne8 10.c5]La$f«nA36l English: Symmetrical, 5.e3 e5 (Botvinnik Reversed)TÁwGÂhHA59c Benko Gambit: 7.e4 Line, 9.Nge2MýÊ®±œ~fE69b King's Indian: Fianchetto, Classical, 9.h3 Qe7@sþêoÒSvC99f Spanish: Closed, Chigorin, 13...Bb7 14.Nf1 Rac8 15.Re27eÂÑP“ƒhB19f Caro-Kann: Classical, 7.Nf3 Nf6 8.Ne5 Bh7 9.Bd35¨$-Ó~^E81q King's Indian: Sämisch, 5...O-O 6.Be3 Nbd70Âm͹q,C44n Ponziani: 3...Nf6.ʪ}O&A25 English: Closed*ð95IòhB56m Sicilian: Open, 2...d6, 5.Nc3 Nc6 6.f3 e5 7.Nb3#cÂ{MDVB33b Sicilian: Open, 2...Nc6, 5...Qb6 6.Nb3 y³èudE14g Queen's Indian: 4.e3 Bb7 5.Bd3 Bb4+ 6.Nbd2 c5Û:W~h0A10 English: Anglo-DutchªÇ=NA05 Reti: KIAÀÁT/z@D08 QGD: Albin, Balogh Variationññã6”8A56p Benoni: Czech, 4.Nc3 d6ìg™#ˆjHD66 QGD: Orthodox, Main Line, 8...h6ìÿB‘ò˜HE92n King's Indian: Petrosian Systemâ_hÛ…|BE20 Nimzo-Indian: 4.Bd2 O-O 5.Nf3áå²âžJBPD27p QGA: Classical, Rubinstein, 7...Nc6Ìzø£U )<C02h French: Advance, 4.c3 Qb6ËúZÛNë:B47d Sicilian: Taimanov, 6.f4ËÖ%  ŽE84j King's Indian: Sämisch, Panno Main Line, 9.Nc1 e5 10.d5 Nd4 11.Nb3Á¼™5ap%@C67c Spanish: Open Berlin, 5.Re1ÁÓ/4³QFB01k Scandinavian: Lasker VariationºZs¹MRA34 English: Symmetrical, 3 Knights, 5.e4¹¬1+‚Z*B40a Sicilian: 2...e6¬Ò<ñ3ždE15n Queen's Indian: Nimzowitsch, 5.b3 Bb7, 7...a5©JCE}ƒFC84g Spanish: Closed, Centre Attack§˜ß9G©ŽHC94a Spanish: Closed, Breyer Defence§<—JÕDÖ\C67j Spanish: Open Berlin, Zukertort Variation£ŒþÆjFE47 Nimzo-Indian: 4.e3 O-O 5.Bd3 b6Ÿ÷d÷câ°.D40a QGD: Semi-TarraschœÍ )ÎÌ8B70i Sicilian: Dragon, 6.Be2™ESL ì*A43c Old Benoni: 2.c3ÿÁ«û¤RD40o QGD: Semi-Tarrasch, 5.e3 Nc6 6.a3 a6n)íÿê$D05a Colle: 3...e6j,]>pC15j French: Winawer, Müller-Zhuravlev Gambit, 5.Qg4 Nf6ixëuíªDB47q Sicilian: Taimanov, 6.Be2 Nf6[§ÞêMüáND12l Slav: 4.e3 Bf5 5.Nc3 e6 6.Bd3 Bxd3YØoMC†@6B06g Modern: c3 PterodactylVÝoZü,XA45r Trompowsky: 2...c5 3.Bxf6 gxf6 4.d5 Qb6QÅDÐ^Ï8D21j QGA: 3.Nf3 c5 4.e3 cxd4Oi<†HA48r Neo-King's Indian: Torre AttackFãòÍiTPE18q Queen's Indian: 7.Nc3 Ne4 8.Bd2 Bf6F!ÛUäŒ:D01b Richter-Veresov: 3...Ne4.µ¯g¢d6A00r Polish: Bugayev Attackåh[Ô4VE32g Nimzo-Indian: Classical, 4...O-O 5.Nf3¦Î·À‰rB84 Sicilian: Scheveningen, Classical, 7.O-O Be7 8.f4 Qc7F8UTDDD17p Slav: Central, Piece-Sac Line~‘|ô¤ZE19j Queen's Indian: Old Main Line, 9.Qxc3 c5u×éø×:E60g King's Indian: 3.Nf3 Bg7SÅÁdž’DD17m Slav: Central, 7.f3 Bb4 8.Bg5ùš#±øÛPA67e Benoni: Four Pawns, Taimanov, 9.Bd3æÿÉN›TB33l Sicilian: Pelikan, Chelyabinsk, 9.Nd5ãŽç€XE18p Queen's Indian: 7.Nc3 Ne4 8.Bd2 f5 9.d5þªFÇmV„E54 Nimzo-Indian: Main Line, 7...dxc4 8.Bxc4 cxd4 9.exd4 a6 10.Bg5ô‹›³›v^B80n Sicilian: Scheveningen, Vitolins VariationîÊ™ƒén$A00u Benko Openingì9[k_<Ô€D89g Grünfeld: Classical Exchange, Main Line, Sokolsky VariationâxÜAkºædB13s Caro-Kann: Panov-Botvinnik, 5...Nc6 6.Nf3 Bg4Îz2è9‹ÍVD50 QGD: Semi-Tarrasch, Pillsbury VariationÈÄnØ26VA40e Queen's Pawn: English Defence, 2.c4 e6Ã`~gŸòXE74f King's Indian: Averbakh, 6...c5 7.d5 b5¿0™kÕÚ,A45j Trompowsky 2...d6ºG„ÀJÑQxE11i Bogo-Indian: 4.Bd2 Be7 5.g3 d5 6.Bg2 O-O 7.O-O c6 8.Qc2µnù™|DB51g Sicilian: 3.Bb5+ Nd7 4.d4 Nf6¤®e ‰¯ï8D34a QGD Tarrasch: 7.Bg2 Be7¤¬­Åú3HD37k QGD: Classical, 5...O-O 6.e3 b6Ÿ`,úAÂ,>E41 Nimzo-Indian: 4.e3 c5 5.Bd3—jÚ †uXˆA88 Dutch: Leningrad, Main Line, 7.Nc3 c6 8.d5 e5 9.dxe6 Bxe6 10.Qd3”‹]AÉÆpD49b Semi-Slav: Meran, Old Main Line, Gligoric Variation‰ÎaK “F\E43 Nimzo-Indian: Nimzowitsch, Keene Variation†±u§¶› ZA58d Benko Gambit: Accepted, 6.g3 d6 7.Bg2 g6}.H–RUáfB15o Caro-Kann: Gurgenidze: 4.Nf3 Bg7 5.h3 Nf6 6.e5w\Ï£ƒ‘ZC61l Spanish: Bird's, 5.O-O Bc5 6.d3 c6 7.Bc4tqó¸ª[hB99t Sicilian: Najdorf, Modern Main Line 13.f5 Bxg5+nºz=»Ô@A46y Torre Attack: 3...h6 4.Bxf6lÐÁ›£Ò<B12b Caro-Kann: Ulysses Gambitj-Nn8úàHD97c Grünfeld: Russian, Szabo, 8.Be2f?CÄ“¯xA33h English: Symmetrical, Two Knights, 5.Nc3 Nc6 6.Ndb5 Bb4f|^ßl3^E17w Queen's Indian: Pomar, Polugaevsky, 8...c6\à J¢Rb:D41p QGD: Semi-Tarrasch, 6.e3[EZ Tüx*A53 Old Indian: 3.Nf3F[yZMJA48j Neo-King's Indian: London SystemD*‡5ÛGfE68b King's Indian: Fianchetto, Classical, 8.e4 Re8BPaçÑImHB95b Sicilian: Najdorf, 6...e6 7.Bd3AÑORbTC58d Two Knights: Morphy, Polerio, 6...Bd76ðšÐR¶~rA89 Dutch: Leningrad, Main Line, 7.Nc3 Nc6 8.d5 Na5 9.Nd2+}ä/nBC80k Spanish: Open, 7.Bb3 d5 8.a4* ù… ‘4A46c Neo-Benoni: 3.e3 cxd4ÅËF¦LB90l Sicilian: Najdorf, 6.Be3 e5 7.Nb3.'Q€RC65h Spanish: Berlin, Anderssen Variation)ÀÝPÝtDE91e King's Indian: 6.Be2 c6 7.O-O¯YÍ*A46f Neo-Benoni: 3.g3Tñâ·¶o\A32 English: Symmetrical, Two Knights, 5.g3 a6öéBĺIÝJC79 Spanish: Steinitz Deferred, 6.Re1õ £M6 `PD43w Semi-Slav: Moscow, Main Line, 11.b4ó̲g‡p$D20k QGA: 3.Nc3 a6íDïbE97y King's Indian: Mar del Plata, 9.Nd2 a5 10.a3aIogÀœB37p Sicilian: Maroczy Bind, 6.Nc2 Nf6 7.Nc3 d6 8.Be2 O-O 9.O-O Nd7 10.Bd2 Nc5Z’Š:œZº@A34 English: Symmetrical, 2...g6Wñnð“Ö.`E13c Queen's Indian: 5.Bg5 h6 6.Bh4 Bb4 7.Qc2 g5S[(ÿEARHA18 English: Mikenas, Kevitz DefenceN°€?LC21 Centre Game: Kieseritsky VariationDÈ,ww D11h Slav: 4.Qb3Còƒ;ضZE05r Catalan: Open, Classical, 8.Qxc4, 10.Bg5)kTRÝ.D30a QGD: 3.e3w âA׿PA55j Old Indian: 5.e4 Be7 6.Be2 c6 7.O-O*ÚZ¤Þ6A12 English: London Defence./chessx-1.3.2/data/chessx.gtm000644 000765 000024 00001031352 11216274543 015651 0ustar00nistaff000000 000000 Í\½LÇÿþ¼—UK* ÿü!}OäV ÿúÂjH é›#ÿóŒlJšOÿó MüÙ£¯ÿòiëŽÖ¢Ó&ÿð¯ËÇeí@ ÿîÉI9{J ÿèžj‰ÿË÷¦÷"eú$ÿÉ)Ñ0Ù…#ÿÈEû.%9‰#ÿÀvhº¤Æ^<>ÿ¹[Bëøû>/ÿ¸‡lš(þ; ÿ·ÏËÈ[%B<>ÿ·5Þ{C É4,ÿ¶Ï™‰ceL*ÿµ¾“¡!2"ÿ´ú¿L²^ ÿ±¬ƒ 1×ÿÿ±^6ãÅv»ÿ°¹PN>’ÿ¯ªÍ¥šÐÿ­VHÚ§2¾:ÿ©´\Ñí¥‘-ÿžÑÌÄN ÿ•fÄH,†Tÿ”9ƒª9šÒ ÿgãmŠW32"ÿŽc¾ç“*£ÿƒZeH%« ÿ€¨ñsëWz2*ÿVÏå¬$ÿ~œ…‰x#€ ÿ}#ä“¢ ÿuÆÓ: 6&ÿl‚°°²æ2"ÿk3Kül81#ÿcëL Zi-;#ÿc¶Ò kðÿ\¶×‡3"2"ÿSõ°KáÅŸ*ÿSÓ$8¼="ÿS>6Œ¹Ì÷ ÿSøíäÍ·Å`*$ÿ>$}Hpÿ¬;2ÿ=n[§Ê-7ÿ=@ÆÓ©«93ÿ<½5‰âkÿ7ùåÒÈSr$ÿ7¸c÷A©ÿ7.91ð*ÿ4§á¬Éÿ0¨ˆ“BHÓ ÿ/“2DŸ¥2*ÿ%Hìí¡N3#ÿ!15Èò6.ÿ åPéÅý"=ÿ†Ôr„¡9*ÿñt¢@£Ù* ÿôðÜg™ü#ÿ£4ÃÖ¤g ÿ’›Ï-Ôû1)ÿbùU„,0 ÿÄ¥Ša1!ÿŸ#ÝÚmbÿHmˆ'Iÿ‡Ðˆj&ÿ¤Hhpÿ#)ÿK ¨ì=<ÿ[®·‡\ÿ«QpD¡ª ÿúEp¨Œ þÿ†›cAG4,þö\-Ýç´©þï§zz÷Ñ«0(þï/[2gQ3*þæWñAÙ-jþÞ?îãå|Ä#þÛÁ:-þÖm¬XA™,4$þÍLÌÌ-_Ä:þÌwu€,¡þ»¤>°+ù#þ¹ìxÍé…>-þ¶ê¡—£ãA>-þµó9ˆœPå=4þ³¨˜—s~93þ¬"” Û3+þ¬ÑïTøþ¨®ÎJ»Ùþ§Ü¾ì5Mþ£\óÌ´ŒZþŸ÷ÃÉÐ<.þšM­$¾ä‰þ”å€xÈ#Nþétëi^1#þñ 2]ßdþÀš¬ÝU=6þйZûWþ‰ÕŸÉxÓþ‰¥þ³\ÕP þ‡J¶.”´&-þ‡HÎw[Y^6.þ}©ÐàŸ1þ{C|œCSâ þzSkíÓ2þz>xšëƒÓ=þxú“œ…qD þw§#Oõ–þv_ýh±½4$þobÈ­‘¯ þeZH•“ Dþ_ µ<–Ô–=4þZBd¿ê’þTÑú‘·’þS;\ÈEžÊ$þL5c&}#+þKFßV×I‚þJÌDW@ãÌ4$þJlÛl‰þHe£ëJ þ=©žý X93þ6m]Aöd<<>þ6†Võ†2*þ.¯&ÓX;f7/þ(hØ[ïc"þ& >ܪ0[0(þ%ó,í}Z þ"]TÔ‘93þ”,%€ä·&þR«â@9 þÑmHN@Á$þ·œi· 3+þý9ko"þ ½[Ôg\þ O†É€…Í2"þ .² Ç#þí¨s÷SM þL 3_w©þ_?W3I— ýü.UþÅ ýúLüA[°¤1!ýøçì|‚3"ýôê;öh@X9*ýñ‚ºF+yýï=/屨-ý掘˜(Qýâë7MœêL ýßàØdßµ2"ýÞU‡õw‡æ ý×Þèh a²1)ýÓXÐLÕòýÍOtÜúʺýÈ!G¼#É=<ýÇY0Pë¿:,ý½»¥Êµû*ý¸òéЖ¦+<:ý·r+£½õiýµZò“"–hý±ðíz5%ý¯¼p’æký¯{åä÷ “&ý•¢ÍP•Cý’‚'Õ@ïý(×õ)¡Ðý‹¨!—j &ý‰Ð9$sS<;ý€¾•A§5:%ý=ÝìD`ý~þ(V'—"ýtqˆÃ¡µ³ýrå~ËW®N3#ýo‹ qªD ýh!þý´' ýfÂO¶i)Kýd*Çþlæ$3"ýa’1=G ý_Ü5údå0(ý[¨—ìÙy4$ýYO®‚¤cýS¬lë»J6.ýCëŸVïš#ýBHÁM*²=ý@œ bß"293ý=Ä´c—ý<à –fÓ ý-ü’û=öÏr3#ü‰œø/Ô¨ü†rCãÚ…¾,#üZæwÇzzü}îP³Ô>-ü}ÞªÅçÆ ü{®™ª±º2*üx òysôÕ4,üvÝõ B*'$ünk‰U &ükø×¹È$-üe{ü§;ðC<>üd¸c ¸ù=<übÊÿJÉùt;4üa¾£úáŸ&üa`«{ñ‰Ç<>ü`wìø±–5#ü\_ ¸·¡-1)üX0`b† üV<@¿¡Âè*üQ>Ãý¸z üQ0uÚËE"üMc`·¤*4,üKqrÙ:üHVtO3¥ó#üDæ ôzì¾üAÙâÙðøœ6.ü4<ðT9ò$;:ü/AC%93ü. @æzåê1!ü&ÞZWšâvü%jËÃOU=6ü$^{MD2"ü# )7jÐŒ0(üm”UN_üâ"ƒÞ›ä;9ü/eÁ±‚·2"ü—î09(üts,s½é ü µùèyÑT-#üU°Ir–~-ü{@<`V#ü>þ¿ö$üæñû²=ä ûÿÅ à¢Í:%ûýH ZUd#ûüä1Ü„2*ûöîAÙKÃÚ ûôÚSFZ*"ûóÁŒÁ9ð»0 ûñZá‡ç<>ûñK± ýK|'ûî‘i€ xí9*ûê\†2Ü(93û狺-ÞÈ' ûäíW1¹¹ûãoMg#` ûáÎg5B˜£"ûá]¡ãvì<;4ûÙ¿:ûkÇ!2*û×Qdáuâ ûÕ½ÍQ(*0(ûÐ:æÃ²4$ûΠùT5Òˆ1)û̿܆¿`ûÈý»¾°­1!ûĵr ¾ßX*ûÄÑ–…,— ûÁôÚÂ%S^5%ûÀ×4BÈj6.û½nŒ¡ü˜: û¹6&?qû´3¹F³–n*"û²‚Ôp„o û®¢«Œ“_8;)û­Ï˜%7ûÏû¬›†£s¹Ú9*û«}4¯ _¶û¥‡E_;Ç=û¡n˜¾õûË û—•6’fE û‘±<ák3+ûgš^™!; û‹£Z³£<,ûŠÑ¸–ü!:,ûŠoÁ"‘59=6û‰ŸÝæ'L±&û†œn׺7/û‚þJ™²Óóû€Ï—Éîs3&ûz,dTW 3#ûxh Wïn ût˜ãA;4,ûrŒ‚1€+ûp?w ðkE>-ûf¾uʯû\T¸z òû\$€+Øå86.ûZ©ÐÒžG>-ûZ(P†XY 4$ûS¾ò÷ué93ûQÍ” Õ”#ûNÊž>Vw{2*ûDUZ°]Ü$$û>/Ó”Ài4,û66?^×.›:û3¾× ÆTÖû0Gú×U7!û'ƒ¦RÆæ û'ã`¦.¢5,ûŸâë룮;4ûýNrÙØû0m?Q• û—Móc0(û…,%¬Âû+ôë¿+;4ûÀ¹Û¡4$û ÒtH~bó-#û UÓYc;6.ûGGsŸå&û^ÈÛÕe#û5$ùhd9(û¹5™g-úûÂZM$APúöðØ- 2"úö—W7«úív44•…ú쾕Ðl!&ú콕¬ë§úëeÛòV^ úê`»‚RÕ&úê\Ìe ž$úÞÓüÞÜüƒúØ6–¤³é‰-úÕA C&0 úÔ&–v¶êI2*úÐ퟈>Ñ¥7/úʸòœLi&4$úÈ´ê%c™ö;4ú¿±èX€R úº|AɊʸ&ú¸}÷,é³9*úµDqÔß-ú³|J¢°ƒú²TkXåÎ ú¯«ÉófP#ú®›p@º«4$ú­ ';Í"$ú­?©‚Cú­3iï- ú«‘@%«@. ú©øâŽ«a$9*ú¨¢,gÒÎJ.&ú›Ãb/œ*ú™rËt4=ú—ìãPÎA3"ú”Ýôbk¿$ú“L¶vÐ;Ó;)ú‘»ÂvØâí-#ú‘*±ó’"ôú‰é;ÑúO¬ ú‰%<Ó´¯93úˆˆÍ‰êT ú|wÅ &-ú|hõÚy úw·wœwúvq'êÚ,v&úm=Oaäô•úgŠ–ÛÖP¹>4úgIG1éBF úfô,‹f•Æ6.úcFì~þúa¸'à`¥¹6.ú`­·1ú`š=ÙŠø‡ú\¼ðZ:¯úUkÚ*@2® úSP³¯Í‘œúP\úæ4 úMêð4M?W$úK¤2Ÿ8È úEø(-¾µ ú9Xa-ùø¼9*ú6’ *Pˆ09*ú4¨ì7“|Êú33.¨Î—Ö0(ú0wê2fy ú/7à;”z0>-ú,¿4ÝÁC:ú,9´ßƒå>-ú*ì:  ú( ÷Rï?úñëuÃ(Õ<>ú¶‚¸`Óä3#ú ÍÁîO´X3#úŠ*¿<ï úØzVæ¯é"ú®ÙËceúyÊþú¤ôùüÒ£%Ïaþ>/ùühæ€ÐDùú؉×÷¬'-ù÷8Îö$ ùí+G+ì1!ùë>»¦¼Â:,ùèL?5†zù犼!u#É ùâ#Àlן ùÜ3dÙ’ŠùÚã[»e.>/ùÚF{´QcùÙÌÂÊõ ù׋3ÖbÊùËsŒpdÁw;)ùÊ‚Ž”-J½ ùÈx™tÝE·ùáê_ªŠxùÃS2&V-3ùÁ–P$Ò:1ùÀ–£ªëRü ù¹Óílç&ùªw7f¦Í  ù§I¼ë®€&ù£Ø½ÐZå193ù£r^ ä# ;ùªÙ„JÉÊ>-ù™FɃä* ù—F’Ì8õd7/ù••Ak‹_Ç>-ù’cðrX4"ù‘hzn;è½ ù‹Œ&ß [h93ùŠ@¬í—Å")ù‡äIÿ*R!ù†%®VÌ*2*ù¯Ö£Šj ùJ SàK ù~;¥L0b4,ù} a4Òñ4ùyÏ<ÓI,;ùxžž«Ä3#ùxÕl—Ç3+ùr¯iªáÀ9(ùo '‡¹&è<=ùoz9¡ÇgùdÅŽ~JÂ\:1ùcøƒÁìw4<>ù`®c3«¿32*ù^õÙS‚G:3ù[¥UæÄå²<>ùJ3D’$[ùB›weðBŸ*"ù8‘Yßu™D ù1ÏK·Ä6¿&4ù//ACw9*ù.-ó3–J–ùø1ˆ+EùßT}bù5ë·'ØE9*ùÇüt[úÁùvYÂeÉÈ ùZ³wó¾ùݸ5Š:ù [É‘ø:,"ù •4ÐFòF ù6ÁwFÍûù8Éݕ>4øþH]Ä#ƒC<>øýŽpû7[8 øý‡‹’;)øóLgêpÙ#øò6´¡jÅ øñá$Qçº:øîCÜ }¿O$øçËE’Ð>÷ øç!𮋢,øä5CÓŸ®4<>øÜ±RO| øÜ,Ì!ψø×Ï„Èà½ôøÏ»(¬$øÄÖ)?8ƒÍ=6øÁ|‚ÿþØ/*øÀ|x’ôóËø¶Tc'£áOø´YZg¥\ê0(ø³¤©Ã'ðv%ø²ˆ/.•—ø±.7Âãþ¤ø­ ªFRø««ÁГþ4$øªŠÜA¾¥ø¥› ,@*øœ¨8ÞNá9*ø›-øy‰‡ÌbSøt¯žaR£3øn˜•êßž93øn…é@ß½¦&øh͆ž!ÿød¨¼ÆEb^>4ød‚iÊŸ­7 øcc©ÍiøW±Í(//þ$øSÊrº(ç:%øM÷ðpÎ7%øDHgሰ øB]ù È; ø>Ñ;rš¡ý&ø>œÈ§ÖÇQ;2ø>,»ÐL«>4ø=šá×lЮø3qx–  ø0T-àLS0(ø-õ×q!|&ø*бIÝvS1!ø$F«=|xü*ø_–;Å$ø0­a§ $ø hL#g”#øµ¸Ò øëÔd[¨!ø9º®¯`2*øOtÈUÁª2*÷ÿ¿iZ­¬÷û${yhEG÷ôÏcûŒ]÷ó–ü¿ÍÉò5-÷ñÜŒxγT÷ïþ±°Kr19*÷î#“““:1÷ìåóz¶y0(÷é\i“®Q@÷èíúªÑ‚y÷ؾ70§b ÷غ¼Fö©Ù ÷ÕySÐtø ÷Õ·(K$÷Ô¥%y>ä ÷Óm‘œ.+4$÷Ñl«€Ž=«4$÷Ñ>SÐÌ%÷ϱÑ;#÷̺Ն\E6; ÷ÊÉÀˆ,‚;>-÷Ê©ÙüÇÒ!%÷¿_²¢V¥Î0(÷¹&SZl#3+÷´&•WÌÎm÷©Çx„™Kf=:÷¨¬ý½Ž× ÷¨£Qvêg9*÷ž¤Ëy³;÷šÍ¿—è’3#÷™.-¦¥ˆ÷•_À­çîu ÷‘"ClN'I:÷Ž.ŠtTšò2"÷†Èl>)Û4$÷|/ Kuc ÷ržÄî\#÷qöWÆ3+÷pÃP7 u>-÷l¬Ø àâf(2÷jP£º¿å?0 ÷g,ÆUÁ÷\àœØÚï— ÷[:¿íªËš÷Z¡úZ*y·÷Zšìßès÷VðÍ*è× ÷UéJ»Žš ÷UàaA²«´-÷TÇ% Òkr&÷Süúü3©O1)÷QÌ.Y\~ì$÷P&ÎòùÔ<>÷O¾Iï]=÷NÕk­Çk:÷NpáT õ-÷Nk¹…ïο4"÷HvŽ-ÆsÅ ÷F8ˆh ÷AfÎTr"÷>ìöÚ1W=<÷<¡ý—Î6&÷9pÔ=™p¹+%÷7k즷6 ÷5RG¼¾ÓÙ0(÷4RæL‡‚4,÷.N–¦›Õ0 ÷+¤9?Т]=6÷*n¶aYñ5÷%yWÀJÕ÷&ʪüAD÷÷ÏyÑ„ ÷0µ‹­®e÷ªñ9Å  ÷ñR;m­û9*÷áŽT7` 93÷†ŽJ½-÷yRÀ»I±÷ p7+oè÷ ͪ0 ³–÷ >1йÅ?öùhþçêõ¿öøž¬™-<öøS‡jDÕ+:öö§Sƒ„0(öõ`ùö)ü :3öôqqÌù£`=<öðJÚ¡ºµ] öîû ×…¼ü öîK>}Œ9½ öíΉÞ?`öêI·óA¦& öåf¼ Æb2*öå[)ÒV’öäùCfù  öÜœ…T1¸-6öۼذB>Ó>-öÙ.€]ü/7/öÖî«' B‡ öÒDÑv¡¬öÑÖˆ³ýäÏ9*öÑHWeíöÐøàÀ>F öÊ9ž²òÀ:%öÈ'„n°ä;-öǺ,­z¯?6&öÂIE‰z Bö¾"›Ù<{P$ö³GD²c:1ö¯œ½<±ÆÕ#ö©¤d쯗9*öž„ èGtöœrƒ“Çâ>-öœ …«¦9(ö˜™SÇÚU!ö˜2ŒãØI ö•PV‰Êâ ö“Uô81¼S ö蘲›%!öŒ÷Ž+ÑÎí;-öŒž.Ìù÷× ö…ÕóoÝÁö„µxe¹öƒféÄuZ93ö|Ò”<¼4övª¬•Z»jörLwX¨Ñ¤ öl"éxÜs2"öh¯‘è% ög©¤2w€Ú3#öe˜FDÊ÷Íöe"Ú öaŸ)ÅšzÝö`¤2ÕÆÿ-ö^{ÚõDYö[¶`k²ËnöY‹“­µ¾82"öOkÍ$³Z9*öMwm!F×Ì4,öL “$—ý92"öKü°yñ²öFäù_º‘ö@ÞÜÝÄf3*ö:Á—/¼5%ö6Åy†Ád½ ö5dù-/”Úö,óò Lh4,ö,(š_Í`0(ö$óX¸2@•<>ö#ÒKíT†îö¶]æ•àÙ ö W+ï8¸ ö4i fÐ;)ö’Íí¶$ ö·±!_töÖðjoßÏ3-ösƒl+,#ö çH¿à~äö ’×ÁyH ö ¦U€Ø  öO˜KØ1)öF†ïüprögáÖ^h.õýŸñ6$‘íõûé:î¡â3+õøàµ øºõôý¥*[¤9*õòçÓR &ý õðBF§‚-õìˆÅ±X¸€õëß4@Sˆ õêßR>+1&õéê¥iõâ'šœ]Ì2"õâ"|ÚÁ%^:õÚulv€ßöõÖIÞï,aõÔ©¼ÎL=õÒ]äße ;2õÐq×Ú :2"õÎö¥³S’˜ õÉüCpÁæ0 õÉ?brÚ õȘß6OÈ õÀ6„Ÿ¢|õ¾^®äÆ@è; õ½|\4Ýù–õ¼Ø“ºä©9*õ»'¹é×Á1)õ±oü}Úx÷=õ°#ï!ïy¾ õ¨](‡„úÑ õ¨HøûZoä0(õ Š¸A÷Æ'õŸ¯‡kÂÌõŸ[ |[„i3+õžìôrØÙ2 õž¡ìòê õž£¾¥Tœ1)õ˜]®š 1õ—¡Àï ¯fõ‘)YD„0-<õ‘$¯Ú^-3õ¤©?¶—7/õ«F5‹s-õŒ!=A²½9*õ…ó½šF¸d93õ(R*uu1õxç£Éä®N>-õtïêxÂîn õq›=ÁU­õ9*õnMhÓ7õlVÄ~Nuá2"õl:ŽLSnc93õjòžÎ†G&õeV¦Œ¥¢d4$õb þ¾úõT’ÿšo:1õG+Yù£P“!õCÙlŸÏ>-õ;©˜øÑÉ>4õ3øÛRÿ¨)-#õ*äiÎÑMk õ*;px05d,#õ'õëÜòª:%õ ×ç@½{9*õiöµÂH¿õ —ö”] õÐ\{­2# õ©çHûkõ÷_åýuÅ õd´rï0(õ1¡aÛ€F õ •Tþšõì«ç)íç9*ôÿÁËIôÿn"¨Õ.ñ ôüѳ¡œå² ôüš¼hô±#ôõUÎKª\9(ôô>I¾À ôìÂ,õ?Pº-<ôè]´ÄT9W ôç×ïòÖ÷ôä DaøèôãÏ¡Ÿ© ôÙ¬ÕJó93ôÔªty‚lôÔ*³I …"ôÏíè–På3ôÈ€4CÓ$ôŵèíU ø*ôÄö3™Úk3+ô±k­ÃAÔ3+ô¾6Ãw•ño3#ô¼‘ŸñË$“9*ô¼Ò˜¨Æìôº ‰øÕô±¿þE|c>-ô«–5£h¹æ*#ô©™€3¯U‰#ô§ S¿Û#ô§çÜ9”ô ¬|Ý×$Ë ôžüÖ§b¡4,ôšþY]¾xE#ô™7%¹ŠÏ=+%ôT䨵†ô\äwC6.ôy8:Ljzôy˜ÒÑ<ôvì‘¶¦4– ôqjÚk ý?"ôp÷™_´‡Ì>-ônrª ôn%`Djëð<>ômp‚U[Ù>-ôm3îrKà$ôié}ù® ôeÑ"y©=6ô^ѧ™¢ eô^S|‹%œ ôIÀ剤ܶ4,ôHÑší7æ $ôHš-”yôFÝàü#óôE1ÌÀ¦ã® ôEþ††ôDj ó 0 ôAØ´óô?kúöÍô=䥷 è ô=y÷EÀÙsô;…ñ7 ô9¦JÙkˆ ô6χf¬®-9*ô3¡Ä>è?:3ô/3æêªùi5%ô.®ÔVO¯4=ô.D̰?sóô+¼R:'úÒô+›ÂÒçÉÇô*øWE»…4$ô$çéÄ¡:j ô nÖŠ Ö­ôì5ó@Âë1!ô‹øhX‡4,ô bsGìôJQGñç-3ô‚WæŒ óü€ið¨óû;y¤ÿ~ñóîƒWÄúvQóîfÁLN f3+óëhRͼóéÕœ#³\÷2*óç%no›»#óækq×¥ ï>-óâQ·fÊœâóÞÅíÁµøø"óÊÛÃínÅ=6óÄXéÂ˱—<>óÄSV–?m.óÀÃÏrPg:óÀr3ŒÓ3+ó¹Í+_'$H0(óµÛïË%9*ó±C"Ÿ‚¦v$ó±?ßø0 ó­Æ–þ“6.ó¬x¥w¯½F ó©¾Á»Î ó©b3‚˜7Ãó ¢²L6=óžÜ‘JØ–óœÏ@(o•– ó˜À.àŽGg2*ó—™2p&äê ó—[žÍW / ó…Ag:UÂóÞFÈË? ó~¢™]Pƒ1)ówœ0 €ò¨,$ósŸŸ3ó(·ós.B?—óp9ËÅ:£ßóg|Föêa“*$ófV0Ô|G>-ófù7R #ódå´»òÞ³<>óbLxï öPób9ðÙž¾75%ób ¢“¢~#óaž¸øú ió\5ì$ß3#óW´(„G)@óW¯B­"Z93óW<ÚYJH*óUšw«ñõóIÊ÷Sy z2*óIQ 1Ë4,óH&°n·5%óGVPˆÑŽ ó?Wg~:l5ó=÷ªÕ¢Äó=dA#› ó;“æ¬8¼ƒ$ó:ø+%Ä.ö9*ó9×+Oèqó9‹Ê¬]44,ó7Ù\Üz‚!ó+ÔtVãó*ÐÄðÛI0(ó)0ö]¸Ÿõ ó(ѯf6|#ó"vxê„^ó!Ü~:Â)<>ófþlÐ óñ#£Pös ó˜*S~£–ó÷Ó¾M¶5óHE‰_ 4$òý̘,IáÍ1!òú€=W9€=òùq³7=÷°3#òóxMÎ{òíºo ûm òêC}¯zÓ òçÖž)Ì33=òç*e/À$òäˆÙÅçTø òß.à|þÉ2*òØ& 7Ap9*ò×*¼ —ô89òÖˆ[r·« òÓ?—Ž©¡‰òÓ®è›E=6òÒåQ0Ã:ñ;2òÐ3ƒÌs5-òÄ[X^ ²ü2"òÃâKàú&=òÂ÷˜c‡6.ò¸‰íŽÕMò³†QQôØ ò¬¥÷~Åó¤ ò£TƒîËŠ<>òŸ¡#ÈIÅò‘b&_B ‚ òŠ^\bþ4F<>ò‚¦…E4òVY½ít<>òRšåt?SCòQëû{xÝòGÏÛå`>òE»¢œ ò?ú•¿ã‘93+ò9õªâkÝxò8Â0”¹ÄÕ>-ò6%X›0>-ò0A‰*ð7&ò/6«¨²Ãb#ò.mÑ=çZë#ò,œ+í åò,D~®w^;<ò!Ð_pÕX2*ò äÉ;ùNc ò UBÛnf2#òŠ.9± òºÐy°+>-òAE¾uø´ ò@È‹jò™Éü}|:1òÔ×9'òùÈnäÀòa41’uòÙœY4m òöÌ㔣òÚmžµ÷3#ò@ï#ν#ò°Ì$ ò `(Sö  ò¢¹S|S7òÙ™šˆfå%ò+fk`LÁ4-ñøÀqH{? ñö“”Þ=ñõB ZS4HñíHõ‹À ñìÅGÒ½eñìœ4VÃñêúŒ0¨3#ñèîWØîñäÁש…*89ñã.ÊéÑŒ#ñÚ¼%e  cñÍGu–N‘Ò:,ñÃ}½b‚$@6.ñÀÖlïëÜ ñ·<íÅ%Fêñ³QI;4Ý$ñ°æ?¸½˜?+"ñ°Šù-$C4,ñ¯ñ¦«Êd<>ñ¬íŸ ÎÏ=<ñª½rTDrê-ñ©SçñÖ!ñ£\Ô ‰WÙ ñ ƒS¸5£Èñ F)qËöd#ñž,ö}g¦0 ñ™ÑÌ^:Çnñ•Lhš¢C6.ñ‘ÃUIàéä+$ñ‘ZéK<>ñàÚ’ c-%ñŠe’u°nÆñˆ­ÛM°ë3+ñ‡ØOë¹qÂ* ñ‡¦.–×!ñ†ÜûN?ƒñ…fÇ@VQn>?ñ„Õ„B)2k<>ñÚ<ô6ž3+ñ=s¥ ñI>4ñwÀ„;N 9*ñvgѸHëñu«@"{Ýñoå A)"3+ñmÎÿÁÈä]0 ñeƒúâ¯Å ñdšP¶U¹×=4ñaüœ€¢kµ<>ñ`²ŠDüÅ=6ñ_yçñ@ÄA5%ñ_Q‡¯…îžñ]Âöô!ñUŒ @\5I4,ñT›¸•Ëä-ñM•ÿx¯Ž_ñK^Á½V~ñEyÐJMD®#ñ@é-áòµ|2*ñ>z)¼iu4&ñ;i&Ö$Ÿ¥ñ:Á½ÂÑ'ñ:»mí2„ñ3± ñ¡ŽÚ ñ3HøœÌpÝ ñ1·%+:,ñ.&u»¹Óõ;ñ+„‰4ž%ñ*Çõ½!9*ñ*H‚$}:%ñ'ßú*Îñ$r8¦ÇCÇ ñ$VvžZë ñ"u€Ø×Ǻ ñ ¸fîŸà2"ñ#Ê]uñ˜ƒà%¢ ñ”x‘“Po ñ›x``ÕT2"ñ¼ÉÚ:%ñm i%íC<>ñà…½udq=<ðÿ½k¦@ê ðÿGj-¯¶ ðýÚÎõ‹fêð÷mßN ðöŒ”Ìe\}ðè¢Z#Øï©=4ðæÆáo²êð×GÏÁh4$ðÒ³ðXÉñ ðÑ>™:Sö+;+ðЃh ý?ðÈ&NðSÕ0ðÇ †Æ]‘z6.ðÅ1ûz…<ðºÕ×°ø·ð¸BµÿrB0(ð¶î<·1gÁ2"ð³T1?šÌ"ð®'ÊgQ¨³4%ð­u†1Û£äð­M¿§^—ú ð¬cÔÃ÷=+𪺈AKÿ380ðª…WY³Áð¨ú¤ü5:ð¨ÕT,Yå=6ð¦Ø€ˆ‡R63#ð¥âƒßDˆø2"ð¤ô@ªÉðçð”óy3sUð’©¹×ýIð‹•¿¬Ö²&-ð…F<ÐrG ð„¾vCŽ“Ô>-ðƒ€'W’_ ðQy£”=<ð~Üò%—{=ðv. µË_=+ðužÁªIzK>-ðrŠù†Äú:1ðp?X[Òˆ!:(ðd’nå92ðd1%Ý™ªðaßa¼Ÿˆ}ðapF˼Ûl=+ð_‘@ôjõðUHí“  ðIÕ½ßBüð6.ðF€èîÅ~˜ ðDÍBqöÝ93ðC¢t¬Aá5-ðB:Q +#ð5z™¿¢& -#ð4§’ª  Í ð4màþÆôì ð.‡Ëo]êr*#ð+žZ &¡Šð(kXѽv>-ð&òØ”ýVF0(ð&ŽRŸHÐZ ð#~jóFwy ð„êTÂ*·&ðìÏ(©ç ðxÝ­$06 ð À31qÝ5ð EJæð bÞŒ€ ð Ëÿ4$ð—áGbvÕ=ðZÖ—ÒkÚ=4ðæ­WO ð¡Ç9[5%ïú§a÷ ";2ïìUK˜tïã½Á‡»ê}4,ïâJ!%ê$¦ïàœ¥‰ŽžÌ#ïÞT~!%-ïÞ1ƒõ>0ïÝ<½úÝ€9*ïÙ868°ï×Ú4¹„@3#ïÔü¼!tŽïÔËÅúßëï>-ïÓû5àÊLš ïÎg|͆5-ïÍ—EíŸi³ ïÌQv'Áh ïË Ê´tÝïĘh¨JÄ”2*ï¸Ö.äb`3#ﯱ[ïgù3ª$S¯ïe×igh_ ïeOLÌÔ%¤9*ï_ k¢“Ëï]sªæÙ0(ï[sêÛ›Ð2"ïU÷™ñ7¸ïSâ0×9*ïQØÞäÇP93ïO‹ö×Ù&ÁïNÉ;ûÌEïL処ќ2*ïK=j~ 2 ïHÛëòï%2"ïGY0îYw2"ïEOneàA9*ïD'$?ƒg9*ïAg“s¯]%ï@“j~ =„1)ï@:¯X—™Îï9eü7;øÓ/&ï1>fú#œ* ï/f6_Ë;93ï.¨•Ê××Éï(B˜Ýh o&ï%°5÷@õ6.ï"híEl¨3-ï pbâ¶ ïâ³!&‚º1)ï˜?c¥k,$¹óa|3#ïÈëÜ($ï'A•›`Þ4$ï’gC +:ï äHZÑï Hz$¥“3+ï ¤üä¦O ïìôëÉ=4ï·œ:d<>îþ~2½ ØîùoÜéà*îö«¢ʇ59*îôœÿÂØÉ îóßVkìøy=4îêß[“ xrîç $^L7`93îå×t*,hà îå†*£O=:%îààÙ·Ø93îÜâùâÖ«ç89îܱR+fŠð1!îØŽœ1‘ îÎô£dÝý,$+îÊÊšWÿÃ#îÉG˜#Î&m3+îÈçäÊ|åîÂîñÝóp9*îÀ( ”¤¶‡:%5FtÐÀ<>î»æìÚî…2*§@Ë=4î·œÃCÍaL î°”`Ü´ö9*î¯yMm5)#,î©›ä]Õ;î§Ga³uÔ<>î¦@!†:å:î¥P2G1…; îžÚ\®!„ î‘͆Bà#î™bp‡¿l#î—ïåîY?kÄqP^"îVRâÑY îT‘–€¾÷»4îC/ JÛìM="îB;³i#-::,î?‰Æá`î;ûpP¡ )!+î:Ý/ÆŸýÀ î:(Œwcã î9µG¼‚ î6´°‚ä;:1î,ìÆ¡êeïî(Ž­]A×=î$»@3’¹=î#¿£ùº\:î#XŒX¶_:3î#ïÓ7®Ã4,î"æØn¨>-î"²‚Ùç’ î"…™–bá î!b=kÓ’ îÁרÚîÈêëâ÷Œ î~˜1‡#îðK»6È îIÕŸ ¿î ãÃg7î üˆ…ïîöZêÝøÿ2"`ki)<'î9›3{—3#íÿiEÎ,–OíôèŸëRà íñº’Õpy#)íébD—¶  íçݹµ6'H9*íå¿þnqW3+íäŠÊšíãÔ–À†Tz íâ/-ØÁÝ,#íàÕ2Oý€$íß´§ ÎÛŽ í݉1wÒ#íØEÉ/‰È…(!í×^¹çMZ+íÖ×lô-&íÑ—ƒÖד#íÎ"¦ÕBŸíÊQœjW<>íÈ8ÊÍÆî/íÇϳWGí¿ÄÿÇ‘;í¾Ý%]0v$í¸ !ÈÅ¥$í´ñ ƒQ2"í¨ùÓiØ-¾,$í¡÷‚æ:“=4í¡Ü£YÞ” í¡Ž‰o–…íœûC™‘4$í™rj\ ÷6 í˜vãîŸS$,í–0hG]'€,$í”yÐT¿°N$í”^yíô¸[í“,ˆ¨-õ=6í’¸(Ϊ¾3+í膮óϨ;)íýø•EôZ9*퇑¯£:1í…dw /èí%ìëèý$í}Ú­X¸;‰í|7üµ3#ízü>OÃc9="íq_¤–>::;4ímãÐ ^w0(ílx5|\$-íkãy×3íh÷ÍÊÔãÊíeŽwÈ3+ íbø)²ÁM í^2¤h¡iˆíZ7l3(QíW-lÔfÿM6.íP¨ÜRÑ9íPZfÈ¡¹¢1!íG×Á€pçU#íFÌì–Ãß>-íE›)^=À,í@{Ÿ„GÑ9 í=;Ñç’h@ í<ÐgÔœŽÍ í7Wuý¡, í6{ÙæñK í5{(”¢ä¡ í4Ë×nÂäVí2…ÕÁºh93í0ÂÐøn”í/©„¦Mç-;#í)?ƒÎ†ß í$ E鉆ö í$вs#í"Õ‚X§„È1)í4¦Ýˆ0 í/¬²m$k í]˜XΣ="íÆ£ÆÝ.í v¨¤%“ í âùô¹[U,#íb9 ~$íüeå5dí}'–ìÿ„q¶¡vm ìþS¤Ž™÷ó2"ìû#ÌSºýÄ7/ìøáCuìóÄ#ŸÓ¦ž>/ìòìþQÎhq3+ìë¯q$…ê ìàMiUZî.ìÞäè©úƒìÞÊÖˆ(?ìÛþý™gÀ$ìÙ[—+2.3#ìØrÕ*  ìÖ/SJYYáìÓu|?£Ý*#ìÒ­P{I. ìÒ„•å”ìÍšÎ@…/q;)ìË÷e=PD ìÉÀªV¾Ø~=4ìdzü2•ý2*ìÇ“£ÖÇ ìÄøŒ•b-%ìÄtˆPFìÀKè1,Ív3#ì»Ti û…ì¹¥šÍ‚å´=6ìµµ{I³¦-#ì±…oH93ì¬:RÀ\—ç>-ì¦|†ckB:졪Û`{à¨&ìœßÕ÷õÜ윱¶.µìœNóÉáìê ìšlßjÂA"ìškõ­uó¼1)ì˜8=ƒg¤ ì—è>æ«j9*ì–ô~BLœž!ì“tèé ÷ìŽQˆ¹[nqìŒÊ *$b2"ì‹ê$7Ãz  ì¦ävÛv¦ì|¥jÔ¨t ì{}¯ëúª!ìqäž*1!ìh:5«w—‡=4ìh(:¼Þ1)ì_øìtÈÞF#ì] ևܘD9*ìS‡±]¯BìF¶X`"Ýù&ìEXâæ’¼›6.ìBÞgV^ä ìAtãW¥¢V ì@{½£/J1)ì?h7];Ž0 ì>A,4Þ°2 ì=®ÉÕ,aT=4ì;éiœ.‚B&ì9î¢æ•ª<>ì7€S<õæ!ì5ÆÓaâ90(ì3pŒ£OÏ#ì)Ÿ¹/±Èb3+ì$Dk\Uã"ìüÃÕ-¯"ìמ9µ^ <>ìý¡d«æìvÍÉ; ì¸;ËÉ1Æ&ìîÇ”:ìö“ËÀåâ=4ì Ìù¢^Ï{ ì «—rÖW ì …¾è¿· ìÊž'†Í‡ ì™g”¼Ÿiì,ì+k <>ì%üFQNh2*ëú8…Þ°¬ëú8OÈ´JC ëño•b’$ëìd¶¢ÀÔ5%ëì Ç„$sëëÔVD·@ì9*ëë9”¼Bw ëålÁÞfÉD$ëÔ8Çì iU4,ëÐ$ôì(*#ëΡ9N¢‰ˆ;)ëÈJ|ù!‘+ëÅlõu;|ø=6ëÄD:½TÝ‘ëÄ × Œm6.ëÁ鼩rR6&ë¿f°ÂÆJÀë¸æ ®Ü ëµ3ebí 9*ë² ¡Á{ h2"ë®E¬g 5 ë«Òá$ò=6ë«#yîŠNj6&ëªR`8 #ë¥mÀäÒ§ 뤹JüÞoã9*ë£âjбi;ë£É¤[ðµ$ë vÁâ ø<>ëœú¾—AW5%ë™>À#6˜ë…ØÀÑ7 øë…#×>¤[" ë{ABp9pÑ&ëzãØp½>-ëmÁr•›ØÐ#ëmš‹{g.$ëlH³®¬3+ë`Ä׫1÷1*ë_Èp«ÕhÊ>-ë]ŽÑÍM¸ëX¥€º¡?6.ëTÿŠÇ\Ž}1)ëS§U°œ2"ëN JlAˆl<>ëKf–)t´† ë?¡|à)M ë>·B5áƒ0 ë=âØÀ¤û4,ë:Ä/ØþÈë9”`ß÷¸ë4"‚åÖ‹¿3+ë0Üáømuèë++\¹¼7ë*ÛÄw>-ë(g'Ž¿Í93ë&.íÑžH ë%ì?ˆVÅ4,ë{ ?p}1)뎛Ög3+ëWGÒ™Û0(ëŸuý ë ïW( ë”Uì;'<6.ë {‡ŒO ë¿üS|Ä#+ë:ú^×äbëeWEJ§—;)먂ìª%êýaòÓõl,3êóÁ!8¢ ñ4$êíÂ…ñ‡¥p5-êí|ÏZq9*êêÍç€ìYÀ-êêy{¹´>¢0(êéíªã §$êéNËåŒ3#êèú]—ãM]êèÜÌE-ò;êåkRôc >-êã¿–t³§ êã…yÏF[3#êâ5!FT êß±£ÃÓõêÞ?öåÛrêÝJ«·z†ÿ=4êÛdz*ý‹=4ê×\^ :jê×63d¶ ‡3+êÑM¸N]Ìèê¿ûc$WÙ ê½P°(l'€0(ê¼#©‹‰ê» DÐ9 ê¹7/s‘ÿ"ê¹8K¡ ê·˜5?¹Ï ꮈK Ó÷9*ê®OÝc$á>4êªY@1¹;)êž‚.Í>ß#ê™2C¶Ôý=4ê˜ÏgM‰šê–R &x¼‰4,ê”YÈ£[. ê’Ù÷Ä'ùfê‘§lYqÉ êŒÚ$µØ½êˆV&ƒ)õ#ê†Ì;÷­ÿèê…aîïIê¸"#ÏŽp9*ê{Jp@¡î‚=êzÝ0±-;êyÊ~¸%y>-êx«]IJ&êt|‰ˆ1K#êq¯s±uc3#êqA›mâèêlïcn© ð3#êj«ÔN‹ì0(êi¾ñ駃Âêhψ¯‘ÖÖêgy³€Ì©”<>êe9'ßá¾6.êbu,´ÑÁ6.ê`=›9Æ… :1ê]Œ8LQ.º êW*ÖŒ +3#êVŒ„Æi%.êJb¶£€êH¹Ï®~^Ñ&êF ˜àa@#ê5îdƤê2?Lƒ`g$ê/ãtÚîž>-ê.êP;Љ93ê";¤Es¥-#ê!žgfÙÛZ3+ê‡"õþ/êºÐ}£¼4,êÊQY W€$ê¯Iô"l٠ꕘAßg¤9(êÍ÷°D"ê”8ýÂ8ꃅ_A’ð&êí“Lp#êüŒ7L!éû«å{`éø`olþ/¼>4éøMÝ_P« éãᦦdÊÞ<>éãÌ2ëk@éÚ¾ŒJÕK0(éÙ\Œý¹ï”éÙb¤–réÕsß¹{˜'0(éј¿UïÇéÎe(´“mê é˶YpnMî *éºeWÜŠ¨}3#éº~¾ÛwN1)é´ÑÝìD{;2é±m_]=øÅ"é­Œ( ¯3#é¬ê™»HC2*é¨Ig³hbµ3+é§íkŠ*åé§§Ò¶A1#餣οãéŸ(‹¬±è$é:[€Îg93é›,á6 é–Û[²ÏM2"é•ùÂVZwÖ#%鑱òjŒ¡$éÅÖ½Ç8; éP7RïéŠÈ%ÄBo93邬ùêéÅý;2é‚. Ñþ<>éy:¡«êJ2"éw½+÷éŸévо¨K°  éuâ›ÉtÃérsÐ-•K&éq^ZñÉrw-#ép¹Ok™i2*énQøóŠ%.ébÕŽeã¦?:3ébB£äAPé`§6€¼«0(éTIKˆ»¤+ éOíFŽE#éM%cê¨íÉ9*éJý5-^Æ0(éGæRs‡8!éB¡IÜ*;2é@±› n¾!-%é=\“)o´bé6m.®@"é-«¡ª*ìÿé"tÒÄÕ=+é¤ë‡-S  éÿnÀ[«éŠO¬…›Á&éšù¬Ö¯’é= cÖžx éñ^ÅA‹èùaŸžô¦z#èøPדs%èòÑ&ßýèåC´ažô9*èä¨Íø› ¯èâ2ô"#¶æ èÜ÷®E3]pèÙËBÉèuþ¢‡Ü]=6èp?(` ¤#ènž‰^c3#èg’P€Ã3#èg6'NW”âè^·t-RÞ<;èXx1¿),=6èWÏÐ"|MèW·R¨É\èU|~¾MèSÁޱvj‰ èR^žOª354,èRNÀR00 èHÂgÉvb93è@X$ H:ü")è=¯fUj=è=XÍù0úè9DüŒãU<>è6`ÏM,#è(QL‡ÄC9*è%Dni_á½èK“ØŽ› è¤Bt]5è•FAÀ•=+è¢=fþ >4ècé±^> èM«˜ƒ‹.è zSŠã>-è ‚Š$Üócè 4DÕô6 èX¹¾éÚ&-èôíK¿I2"è=ÆØû*çý…A“çü8ÒÄÌÇ€>-çù»ê‚u™ì:çùˆûŽMRÎçö<ç·kh1W¼=6çµY÷ï¢â:%ç­ª“î@£æ$窎ȱ®Š²3+ç¨t.Ó Ÿç¤í“ïs *ç¢Õé B )="ç ŒæT˜ìçÕˆ™j$]皌¢oýÍ=6ç“°7‚˜q3=瓨 ÔûÈpç“™x  $çìû/&un çˆ8z4q`3#çƒHïñkÕ¾ ç¨:¥Œ[$ç~„—6" çvYç½×æü#çtËŸ÷}é-çt¯÷+%Û5%ço®ž6&çjÚIŒ×>çfBÑýÇÿ çcm¸£DFž* çbKö~è;>-ç[>}y~~@2"ç[™‡(¿2"çSïèÃoÒçQË>þ=;çNnº1:¡:,çIìSÎ&?!çI™CýçIn¤æD{çIdäoý-?4,çI¬åO¿<>ç=ïw¶+K6ç=-OäaJ#ç=(ö&2ù§#ç:µ¸ÜíS€2"ç/ÅF/q;)ç,á —ƒS1!ç*Æ ø&™¢6&ç'ziÿj³Ð ç&»Í¤é¼ 93ç%¡Þš.nk"ç!7¢~íù¸ç5öšj9ç tC]uò9*ç˜ ®Á&çcìôš8…çb »Btˆ:3çSy â ­ ç ¥]RFk#çóUÓ¸ù9*çA¨XŸ£ç—B/Ô¡93ç§è´Ekì#æö—Bèy:dæõ@Xü%2*æô,^|¦’Xæît÷ãh²4æí46ÕQ{4,æëPå:2§¯æç6rsÌ2à æßÔÒ[怇3#æÝ†—3£½°-3æÛ× n× æÚµG“ƒ±$æÙâ<®‡ªæØ K¦ð{-æÒ´Dí•t0(æÎù\F¾÷æÉOšZ93æÈOí‹…4$æÆ‰’ê—w #æÁM Â'¿‡1!æ¿L™IRóÕ æ½ÇSX½Ä« æ­‹ÚÔ©Ð+<>樆CìîWIæ§¾5ŠY´« 桃ïßQB:1æ¡gD]ñ/h0 æ—-vza&掔d–ÔaP=<æŽLäCy:ä拎8è± æ‰YüÏ)û=愆Qîh€; 惦Ӵ§é惘ÿ "bQ>-惕Ôâ#MD<>怳¤ëÓÚ} æ}Є@Oü æ|µäf÷B&æ{¯žÖ¶§æz<5köðbæu›ã<œZ`=+æqwω 5þ<>æi TÑ- æawàÉÇ#æ_ÐŸâ˜æ\bÌl« æZw=Ä3+æXŸÑás0(æW pó<@e;æQ}˜ÌJ›f1*æOÀʳ æGdæ¼¶”æD"âËü÷æ35E:'?–>-æ1šˆ™/H æëÁSî æRó—õÄæ¨ð¹lª=4曉»æŸ Ðk#æ|9^?cr+$æ\ý —ævž¥ ‘Ê"åõ­2ï4Ü$åô<óãž ±"åóª5¦cgq7/åð†-¹çÆ’ åîÔÁY˜Sª åîhF}À­9*åè® •@ŽåäKVð `&åâ†øÕç,™åàtûô xD%åÞ…OÆ•ëåܺš£­ê:3åÖóø§ƒ1!åÒþ’A“›| åÑùÕ_pbIåÏUÛ@ =#åÍ'+ßLMÓ4,åÍ!ã«°S93åÃ˜Š¾°Ó åÂ}VÞ¾lå¼Ã¶L€î åµë¼Ì+>-å³»Ù[C?|+$å±`Ïh·Ö  å­ðV(Òuœå¢qûÍBã<>å™%SÇÕÆ!åŽúòˆ°Ôæ2*厇ºó&IÓ åŠî¡³¢Î åŠE?³ºèH:,幈ÖV’Ï&å|Zl+éAá3#år°>,Ngåo„á,›ê¤#åh".!B8åd@W€çÿ åcÛ=¢£ÞåaÛ2¥§Sš!å_—à7¥?å_I>„BJåXMj. Çù$åW‰©ÖJà åSˆj*É=3+åO™ÖåþØ1)å?½Ÿæ`Ð&-å>'®¼òÜ å=Ýt$Š,Î å=…ì^å•h4$å;û‰rª^å;?ò²Å å;4ðHk7r>-å; _J}Ê4å5Jÿ1A3#å1zx5þ,$å'aKóÓp¥å%ëƒ4÷¼;# å >Eøq1X å&l/ |h$+åýƧy½&-åQ¨•j åâ*n åÞ—öâñ‚;2åÚ̶ž>-åOÊ¥:0=å Âdô»Ë å 5ýæKÙ0(å!Ž@»þó äÿh©¦á\ä÷»ÍOnäõ¸2ÚÕäóù¯Š 93äñ¬z‚é›2"äí;_ i˜RäëlüC— äßáaÖ6‡´ äÝäâóé15<>äÝ¢jMÚÆ:,äÖVþDÒþ9*äÔè¯6d 3+äÓQ–›¬ÿ1!äѤF¥¬F•2*äÏSõµ¶Y äϧ‡¥šq侞TÍ„]"伫f‘™á:ä¼¥ù~%û&ä·•3c.!‚ä¶ég?4,ä³rc“D˦äª?p¢Å7v4,ä¨ëͨ¨ç4,ä§¹_Rfè4,䢧:%°‹Î#䟰ov&ä–eTQéj 䋾Àk6ˆ÷93ä‹!Ëê¼>4䊮‹·\C-ä‰îÙ¦†y_4,ä‰Ýä>6.äˆÖ4;qéåäƒ#ç'Ÿt ä‚R)Vûü¦1!äÓSùtlá ä}–«CÁÉ!0 äwSÓ.8`, ävÉçlAá9*äpŒp,…säoþHqÛ‘ äo¯¿Y˜ù älÍ•ždÆ´="äjãD¨4½À=4äcü¬“±•‘ äcYÖ %hÝ2*äW“¢‡ÁuÛ äT÷^Þ¬û2"äPWa~D½äL·Á¨ÓËäL7ѵ.1!äJí¼äÒ›žäD á̬b=6äC Ô®gäAVâ–‚¾Lä>Ó£þIñ<>ä0cÞŸ:(ä/…+rkïv ä.¥DX¾å4,ä.›¬©š5Â=4ä,™²ãݲª)!ä*–Ç¢øaN+ä*åuÓ]h=6ä(þ=që  ä!»žKRàä¡v4aÐ äܸYÁ¢93ä,ÏZT¸´ ä•Ì„“[3+ä=ߺ „‡ä ¢jÝI7/äê'°]§N1)äl3‰·k.="ãÿ‰ü §¦¡ãþ Ñã-ôê$ãçÒD¡0Ðãä6ó#mcþ$ãß®tS› ãÝîgkÉÂ="ãÜ¢]ê¥ä‰>4ã×øLÝ¢`Ó#ãÔª1O¯f;:ãÔœl£©ùš3#ãÓ+› Y§ )ãÑt Lc± ãÑTOáDŠãÏêÇ»¹šãÉ-5;:ãÈ»=Ÿ[OãÇå˨O=ãÇaq¡“| ãÆ®¾"ß09*ãÄÞû‡¤<>ã¸<±('2Þ#)ã¶OÁ¸dX="ãµKÞÂ~‡7/ã³$¢g›í &ã®ØÐ–Éצ;)ã¬Õܺ胴&ã«tO´£#ã©G–ÁbD”6.ã¥TÞ2GßN ã£ù”+ñç× ãŸT†µ)ƒ#ã"€õi¹<>㘦ÿ¼ªã—M°Bôj:ã”÷&žîÊ ãx#N„¦—)!ã\aN®±³ãˆÃ·_ŠÇ!0 ãü[–<ã}¼BñÁ,#ãtAšíRu°ãnÕ`}ü8];2ãk­Ú×}ÒE2*ãhOF?å ãf²„DŸïF$ãd»}-ƒ¸5%ã^o;)ãŠýãX¨Dèù¹Û;2ãV׊ÍjÄ$=6ãRJ \;ãOÖƒuý“åãMhSb)š*ãK%×)ÄÅãKÜH–Ÿ&ãI‹ `ŸâãG»gyØ? ãF€CO¤›ãEdް¦IãDrnì“•0(ãB4ˆ‚H+H1!ã=zzÒŇ ã75p–Tcþã6ï ²JêTã2¤êþÝGã.{3Ò>Œù=<ã.m8ñ¬sŠ2"ã.iõ˜á×µã%BÝö '(2ãâ\FXí!ãxè÷Z×Íã^mùH¬=4ã!z‰7ß$ã ç§y¨ñ ãªH1‡4,ãù€ÏâõI´h41)âïÆð*b3+âêDôÍo–ÿ âè.Íåè \1!âáü>T·nm6&âߓڴ9¬¸=+âÕ«â`]íB2*âÈÍNy§:âÆv?ú'€6.â¾ïwþ2*â½Åè±~( â¸_|ÔŽÞÝ=4â¶ýlOù­ ⵨LÏû×&â´G»ý¡GÌ#â²ìQ ßRéâ­Yú¸”!û>-â¬èµl3#âªV†0GÏ:3⨱‡Ýòµ+â§ž€‚Oì â¥×6: -3⥙ Z|,;)â¤AJN÷U7â¤. ¡Z-â §OÄÁ’4,âœa˜÷Œÿ¹ â‘(áo|¨O⌠%@ʘ'⋸۪µIâŠ&ÊbZk=4â‰Îó#& *#≦7Nô;,â~iEIðãA=4â}ÚC{é}P â|^˜@ e=6â|O@)Á> âs7Œ-<>âj;éî—gâi#øÈk‘÷&âgvoHn–â`LÉB`!V â[“Gµ‰5%âX‰yǘ%âW0) ~ç7.âRh†÷3>-âQ‚|T \á0(âH0ýÖþéu3#âGfn¿{Æ·âDúú+˜$ð#âCü]K ?!âAO]T¥ =+â@k¢ ´ºÉâ>eú¢1 †â> txU+#â2EE€Ô̼â/”‹í7<>â+M–ÑÌ€"â'Öñ#äGâ&]mÍ8¡<>â Ï91tâøaó†Àâ:yÎÓƒâ–bÿÁ â\‰`süuâ ¥BÕ–9*âUø I Ó0 â’BöpTE93áÿï†ÕâK áõH")$‡‘1)áòŒ"òsà)#áì£ÆUÌVáì{QA 4$áêŸÅËØR áä P´´­ áßsgD@ f#áÜ&VUÈÿ2*áÏM×N9ÍÊ3+áÌÈϱM áÇü½]à`G6.áÅ<ßÜÅ"Ò2"áÄø#G¯ðáÁ|À‚”°#&á¿T1·ú«›1!á¿EëëÏÐö=4áºê#¨Áøá4,á·‹ßÌÈqá²þ³BQDÀ4$á¯V˜t¬93á¨3†»¸Á­+$á§ÓøÉMý9*ᦰvW¼ý×á¤Ð`‘Èð7/á¡MLtᜉ á [Yö75%á™ÚËý >-ᙟ'ù{0(á˜\´[7â3+á•uE”&t•3+á‘Íh¥aæD6.áçy‘ƒŸ áŠ?¢‹µíë<>á†æɹ×3+ᆺ¥ < á~CaÛG3+áz·o5µ˜0(áwpWà átø`¾²€ár¡Žãè^”<>ápéÏÄ¢š áh’6FÛ>/á^P_JЇâ9(áWÁ@I4bT#áSê7Ýô ËáQ,1|AýK áI‹1n?ãÓ=á?¡h`l&á7b«3ÿoå *á3$Èxm¤.7á/³f™&¸’4$á/‡ç_n“Øá*Tx..‚á#÷Z‚Ý8Há#Øy ´=$á"*—yìNI2"á ØãL­Èï9*ႇJm£á*ÜÝî&:,áÉ®†ª#áBÿ†¢X4,áni!G ¿#á5•ÑäL3#á†ÿ¼ÉáOŽ.ؼá ÿ}ìP`+#á tÈ<»~-3á <ÛoS:3á¯kSùÍáO’Þ©3+áÐv“-UH#á±”%˜&-àÿ<<²y{àÿ.ײH°$àüPó¼&Ò$àûÓC·y§ƒàöw_!lN]àòàÓ†x£N7/àñäŠ[[."àí•ô/ÃqàéI ³WòàèwM sl3+àâíМÚÍÃàÝ~éb*ù#àÛí¬\*·àØwD!KÁa#à×öé‘… àËèÉc™çÊ( àÈõ$-) z-3àÆ®¼¯M-3#àʆù?Õ}6.à½+f¾Xïà»]ˆ¨$5"à¶ZjíN†·3+à±ÃU÷,ü¥à°—äÚþE93à¦ù&†. 0(ॷc¸ Š–àŸÓxv¢=àŸ¤8{å–à›‚ KQ×!à˜¥šÎá´ à–¬Ç¯?Õ à–‹‚;oCH à”Ö‰©˜ÂÂà’_°pb×0&5àü4›k¼w>-ànbÀ÷$àŽßpµ*;Šà}3SØ+lmàr‹ܳàn%ïNçi'àmvøæàf×3Y•4$àdØ[³Q& #à^2.¨«q#à\‰³-fÂ4,à\Acõ§àWæ Å‘„1="àVš²·ÒÈ#àMT½à ¸÷6.àIÓW—õ¨2*àI»ºL(}làH¯¨×1¯àGSïUÿüÄ;)àDv¹t¢ÃF=àC®2qÈ) àC7ÖµÊï à@øQ)Ø!· à> =®ê´#à-àŒÕ¸ï‡\ à9B¦F– à¯S¸J{ô=4à§A€åPåà iåàQr1!à[l•á°ˆ à$2¬qD-3ßý%¬©û{KßøFÏQœç!ßö 1çßë Ãảßé—/4” ßèC·*‹2*ßæ‚jD" °1!ßä°:£ø­9*ßàl¡.a9*ßß”{*:1ßÙss¶uü¾$ßËg› ?‘VßÄcÃwÑóm:3ß¿ƒ3cHï¶-ß¾dwôËšß½ùaÞY˜=ß½­%Sëñ ߺíóªeb߸½¸ˆ*¸Íß·ÍEƒž~Î6.ßµaw6£·Pß³è,ðaã$ß²–gç†Y7/ß®P±jj®4$ߪBïFl¼X ß§zttn9¡4$ߣ•¾¢–9æ ߟœ¸žq ߚ-Iªè;4ß“’ÌÝI* ß’6¸ÍæÞ 1)ßc{_Þ}ߌE~ñ‰‹2*ß‹‹Ç›DÇz2*߇‹Î˜ª½ ߇^}R_%:ß…Q· æ[Ñß…"këîìß…Öaž ߃8†Ð‹ ß‚T£ëy89*ßx•ÕSÍ ßwÃEE"ßtjnÅf˯2*ßn½&–¤9*ßmz!­rp ßlFSÁ;þ ßjš¾;H4&-ßc1_Ÿž·—*"ßa‰T­8¸Ÿ ßT¡si[_ßSœr鹨sßS-ÈChþ=ßOÿiQañaßL’3óâßB}a/„=4ßB/J%Ƙ")ß8ÕÈ«È4,ß7Rq”eµlß7^éáö0(ß6ÖÔ`°9(ß5£ù³fšÖ3#ß/X¾˜°ˆ#ß)C hëüZ ß'4TGÔÇ$ß%QÉZ€ß$wÛj dG4,ß"K^â(©Àß|Ä¡µBd93ߣî{üú&ßo¢:‚k>&ßÒ²- ß c¥ n3-#ßà#H‡Ã·93ß}ü (;2ß;¼{áàß9Œ B‰5ß ã mÍ@€0(ÞýuØ8<3+Þý[ë ç{w Þù1nZ@Þùè9˜4=ÞòýI.ð! >-Þñlæ6>-Þﺜ8da4,Þî7·ÂçDfÞçÚkØ2_:Þåd¥ÕÔ+ý,#Þä=¢E–Ü ÞÝ=©ò&=<ÞÚq¯«ês”:1ÞÙ Š«ñÕ3+Þד‰v+‘=4ÞÖ©` ƒŒ1)ÞÖaœA#¶ ÞÒÎìágO09*ÞÒÆp¤CÞеßÊ%ü<>ÞÍS~1!ÞÈRW â)V ÞÇy̘¾}"ÞÆ¥!ÍlÛ˜ÞÂÚ¢¿' ÞÀÄôy± $Þ¾ÞSÝB¹à Þ¼2+ž¥† 2"Þ»ZÈ@:¨Þ¹.c¶(‰3+Þ·f‹Í(ªÞ³Àt·%Gë Þ¬!I©xZ§ Þ«„!”Ò—‰ Þ¨pÚSÀrÐ4$Þ¤BIÁír¸2*ÞP(oVº9*Þ—2G‡ÐÀ£ިˉHÞ\¡C Å ÞKoxù ÞŠgB`=ïN ÞŠvãÀÈ>-Þ†#?ÿ¹Þ@{Sy¡Z"Þ|‘HXLÚ=6Þy×ÁYå{ß-6Þu´A_|ñ!ÞrX¹ é ÞmƒPÑXR¨>-Þl`Ø Òqö$ÞkèbÕ‘°ª1!Þi*Ñ kFÞeì­¤y*9Þc¯¢*šåÞaQ Ó0oØ3+Þ\1«ç 1)ÞTÓvˆÎÞSI<ƒÁ ÞR·>!ëßò1!ÞP³¾Wæ!4,ÞP©‰IøD;4ÞM¥Fhâ¤(0(ÞLc…3=6ÞH¬þ­¥0(ÞDÛ¬2"Þ>ó©OÒ“9Þ>CåH×u5-Þ:á›öOHk'Þ4P‹RVÞ2McÌV¨3#Þ1gûùØp Þ-Ã;‹uí>-Þ'ÿEDlPÞ'â§¶·6.Þ!Ø‘ë§Î‰Þ w1é\'Ý9*Þ g²Ù*ò Þ^7:a ;$Þóxy…3+ÞëGh³ 6&ÞEáÙù<·#-Þ~ T®v4$ÞàÎ~4¾ ÞÌ©rþæÝû‘êÒE” Ýù„¨8l!ƒ4$ÝøûC鬤ÕÝôà²2ú)ê3$Ýî+§à~BŠ"ÝíÔ=:íK=4ÝèêYk1)Ýçu{{²¤ÝàcM˜ÝÙž”°êÏÝ×hì7bá>-ÝÔ‡’ÐË‚ë2"ÝÑÑÅï=ž6.ÝÐóßÖ×D ÝÎäŠ}ML‚ ÝÈå5Üÿ3)ÝÈfÜ¥žqÌ1!ÝÂ68b‹>*$ÝÀ“;æô±4$ݾ òYNÔ'ݹW‹Ù§ÊÑݳ¤U+> qݯybIèd93ݯ½rº@"ݪ¦5ËyÅݪ4a¢;À:(Ý¥Wõ¸HÇ#Ý¢8Ñ<Ô ÝK €ˆ&>4Ý›±z„PDÝ–^ÃÎ>Ñ; Ý–å T¿ÅݦFn?!Ý„‘cþ"<>Ý€Èõ—‹0 Ý€$”Ò¨ Ý~I¨f±éÝ|C²h[Ü9(ÝyR%h½‹›Ýx˯8ϰ=4ÝuÁÊ|Ýt¦Ù4Ú$Ýs9adêZ!ÝpÉJZV¹:,Ýn;„C£Î$ÝmOß, ƒÝh a^‘-#Ýe¢[Ù Ýc§-°PŠ;)Ýaà]Ö¢0(ÝaÔA²@‰òÝa¯±,àW}:,Ýa#â×9E$-Ý\>§öÚðy ÝVÒv¸JM ÝVciðq¨¡ÝVØ”`“Ô;#ÝR™Ùð?F3+ÝPÍey΋¿ÝL˜ì7¥4,ÝKèêà4«:1ÝI]¤é‡‘Â4ÝI›ÌX¶¼>-ÝG3¬h–Á>-Ý?B´ÕÅÕ=4ÝÜÑI]…à.aÜͱ¸ëš4ÜÇÅmxvt0(ÜÇPœvkIÜÆ9#êe­>-ܶáÛíç#ä9*ܰîÐL]b9*ܰ7þ0 hܧ#DÁ3…b2"ܦÄ˰€ä±#ܤ‰ßvœˆ«3#Ü¢^NL(q%!Ü¡ªÁ8¤"ÜŸrÑ5-6ÜšOd3 ÜM Å=6Ü”“6â=‹ù-ÜŒÑìø ž´*܈"¶PߊÉ>4Ü„þ€1ÐÅY&Ü‚SÔò~w5%Ü¡ý!àî$*Ü|bžÜ&" ÜzΣAæÏ~* ÜyÌ*ç>BN2"Üy¸ÙÆôÜx]¡k-Ù%Üol‘ez5§#Üa#Õç´š:Ü]·B’ŠG§Ü[¾ù QøÜY;bGG ÜV¯·ƒÔg4,ÜU£?OÕt!ÜMR^r¸ú«<>Ü?Çn Aá5Ü:ø‘?]*#Ü:.Â÷]¨>-Ü:#-̉=6Ü8ÌÆæN2ç9*Ü6•NSrÜ3T”}o·Å!Ü2—¨–ïoÔÜ-!þþc3FÜ'?'X=<Ü"ñ&†”O ÜŸŠö5¡«ÜÄW9 Ü‹}î;#*$Ü÷Ïm9[òÜCû󑿨6.Üã«É}½Ü+ljay#Üj;Oë¼4,Ü ˜ƒsÉÜ °Ÿôh!k&Ü è V½‚;2ÜŸ±£2  Üe(¹ü`7'ÛÿY'°ä@Ûý˜ɦ¶¿3+Ûü»Ýy•¥4-ÛüÐÞ;và1)ÛøÍë<Ü‹4,Ûönögžaè-#ÛóŸ—ÎRãÛñô]öo€ø9*ÛñIÍÁøÜy9*ÛéüŸ{DØ™"ÛèG‘õùÒÎ*ÛäIišƒ£&ÛÙ6–ñ/H2*ÛÖõŽ_L!93ÛÕ—‡ÏV:ÛÓÚæd»ÛË·¿ÅsHž ÛÉ lÿ+ vÛÈ}?ÔcÝ$Ûà `Á:ô"ÛÀRÑuÜÓ® Û¸à>~ß9P:1Û²šáØÎ\Â>-Û®Š> ^<>Û©ÍÙÜL‚Û¥óL : Ã$+Û¥Ò¬.óˆÛ¥Bå‹oûž Ûš¾>>^£ Û–þ«ÇÝ´ Û–Ò¢³vóà-#Û‘ÝY#ÂÔ!ÛR©Üüs Û3º%hi»Û†]쎟j69*Û„D_Ÿ©‰ Û‚v졬;4Û‚]9l—u=4Ûx×¹»RŽt3+Ûx/F+«0ú2*ÛwUgón:U#ÛuZ÷?Fç Ût3” ô•áÛnê(o‹“<>Ûn¹?m½;'4,Ûl̰F›} ÛiæÔⲿ"Ûi)Z÷þë&-ÛfCcWÅq; Ûeý(+Ù$ˆ#Ûbº«ªïx2"ÛYSxÖíd5%ÛX©ññP ÛX7»¦ ÎÚ,#ÛT„¯4À=b ÛLG®‚¶8_ ÛDˆºÖa7'Û=üÃþÅ'&Û9uÒßêu=Û8C Ö]ã=4Û60ô¿´¶"Û3›qwRâ; Û2ºæ«ñpö<>Û1®[³è=+Û-‚Œeˆ>-Û&S¢Æ6ó<>Û$7Jõ[P|3#ÛôCK´FKÛXÞL?ƒ*ÛÔ„™Sü Ûd)ù"C:ÛÊ{…Ã*#Ûé11AíD Û¸¬Â%5#Û íFÕ>sÈÛVœ¬S‡¸ÛÌí‘éóý:1ÚÿæY‘¹;Úþ€=²ŸéÚô›5¨Ýÿ=4Úë[`Qå–#*ÚéÖb,ï¡ÚäjåëAt"ÚÝèî‰×1!ÚÙš…6Ü9x93ÚÕZI-¥81Úч‘šëçÐ%.ÚÑ1»L·ˆˆÚý‹Ùpä[ ÚÂÜs²å<>Ú½P$T ƒ3$Ú¼À ÜV£‘4,ÚºÚß"Ú¸Ð%µ¢˜ Ú¶_ƵrÀ1!Ú´WØ¥>Ú±“",±é;)Ú±EF+uYô$Ú¯Õ”gš£l=<Ú«,zP“¹¼ Ú¡˜ØÛ,õ1;)Úœo›íoø$Ú•>øÙ¨ Ú’½‘WDõ Ú–ÂÅyÞ»ÚŒ‰Â™;o! ÚƒÖ„æ¶¥Õ!ÚU£ºáU÷3$Ú}p˜¦g-0Ú}F~¢ #Z#Úyf¯´Â@ ÚtÎøWáîÚt¤ç'ÙæÚrØ©áñ2"ÚkÍnQߌÚj†ý±G“3#Úi¯Ûðë0(ÚgYó\ÓI‹9(ÚdUÒPñÚ]òö‚3µc6.ÚZÃEQÙ–I2"ÚWÓZc+Ò5-ÚTÛv>Ž ÚS]þYÈù/ ÚQh7M€öÚFEú™_Ï‘ ÚE\…ª@­L2*ÚE5\ÝäA‡ ÚDž\*–Ï=6Ú=ßüå„`2*Ú<ˆ-(à—dÚ9UKó,ª-93Ú9)X‘œ2‚ Ú7À’¸7ùŠ"Ú6Ý]³>-Ú4å9_À´rÚ2+æì¤ô Ú1)1ÄÙv‘-Ú*SÙ¡9=i#)Ú'²~v!š4"Ú&uÎS™Ú! !-Ù®ðT]8ô="Ù®dªá¤…Ù¬ÏQüˆØÐ2*Ù¬/w8Ì3+Ù¤lG¬Ä†e7/Ù¼ßÖ§Ùœ™¥ýO±eÙ˜tŠ×SD2"Ù˜1V èï1)Ù—ÄÐÔµZt2*Ù–z€ÇÆûÐÙ”PF<óžÖ9*Ù°  íÓ ÙŒO#ãŠQa6.ÙˆÀ PšD!4$Ù€Uüë<ô ÙzÐJÆKã Ùx²“¾šüë Ùq˜Éÿt½1#Ùqnì¢ó&Ùpãªð$=6Ùn@zòîbA<>Ùjµ“Ÿçâ¶ Ùgé4ã·×3"ÙgQV9t 0,$ÙYƒàp÷ !ÙY8c¼±ÙY$áMïÙXœ}Oiø ÙV¢“¤äN¥-#ÙSGTÔ’3ÙRM6@f¬½!*ÙPßEÒ–2"ÙPM²Ž³±Ê6.ÙO† öÉ  ÙMJP±ŸM=6ÙKmg¤ópÙKK",øÛ;4ÙI‡±EãñƒÙ>ňKŠo´4,Ù9‹ëX:Ù6Ò+`gKW2*Ù5PÞÀžzø; Ù1O=*êˆ8Ù0,—×aˆ>-Ù(È×%ßuhÙ(zD&éÂ9*Ù&>ø…›kÙ%üDî¢|c;2Ù±mý¥<Á4,Ù>7  Ì; Ùš¥`Vp#Ù9aOè&Ù vcXsßø1!Ù ß_‹_“-#Ù Ðm.ñä Ùu·K%×’Ù`í“#Ù2‰ïœ×ƒ93Øù”¸¸YaÇØòyÏ yÁW-#Øñ†À*ÂÖŒ3+ØñHÄÃùVš0(ØìñŒâIG-ØàÛˆ«þ0=6ØÞÿ¾4ŠW3+ØÞ¦w`Á’ ØÛ³ƒ¤Š!:ØØá‡¶ÕÖ‰ØÔ”Üü,KÎ=4ØÓLV!Ú'  ØÒÏeüuE¼93ØÐÇèï*i; ØÎ 6-åÔÉ ØÆ/ ÔìØÃnð†ðˆ3*ظÕÝéž´7/جÆb>n€£3+تh\1ø"îØ©)ƒ"Ó¬x ب4â (µØ£&ú}æÂ Ø¡Žù Ø¥P ùÉ Øš?C^µÜ1!Øš2‡­¥Yƒ4+ؘs÷‰ÑÑؘEá­š"„4$Ø‚5ÿšaÇ ØXBR/œë3+Ø{Î=ú…Là Øy˜dtE|:Øu%'æqZ#Øt€sY”îyØpðæS_¬-ØoFüa4,Øf –%7­ØcÈòD7€ØccX»u’î-ØcU2Àœ¿ª$Ø_[˜,¤%>>-ØZÊ×+©¡7/ØZ—ù1êe ØX¥q®ØWbÓæÌÎ>+#ØOµsñàã=<ØMB_ý'>-ØLöÛš´âH ØLr ªXø ØHÜ ‘^ØGü¦Õ=kØFúP‘º·m:%ØEüež9*ØCp¾% @g0(ØA §Â¬; Ø>ÝuÐn¸=4Ø7ˆS/ÔDØ-Ø6x53öŇ=4Ø5M» 23#Ø4¤ˆe¨C²2"Ø2*` Ñû-7/Ø0ßPg’…-Ø$¼d"My3"Ø#x˜…à'-#Ø#>w?Òù#Ø Ùjí§÷"ØïÌ~/½Øpú¯#³ Øe8xõ4,×þ)€9/ì"×ýê}}ø$' ×û>Nï"£º#×÷ó‰‰Ã5 ×ô d%W<>×òs2Xc4×ïµÌè»fQ×íL]ªøàò#×ëh0¨ç×ê“Ã{ï¿^ ×ç^õãKÖš6.רãUõ é4$×Ôã3„ˆ, ×Îsý$8¥[×Ê\-×­H'ø´")׊hàÏè¶ׄ¨IªEÉÞׄŸ…B^Ò3 ׄzqÅ«Ç9>-ׄp™~ˆ¦%×Ûñû0 ×€4œ~zÞ28×A à>9(×vÝâk×v åëËA;-×så9lÑ9*×o—$&ü*’×gip hŒ6.×f”ŠTµÁ#)×d‡} 2ž:×d‡5,ë9*×U»­¾!@ ×Pä½P2"×EkõÄy¼#×D|Ãß›Åá4$×:• ÍS;é6.×9µ€ˆ¦4r7/×8"´¤Õ\×6ŽT £Ê×5 ajÜ{×2$pWD×1ÖlŸ¼93×0ÎŒßeä =+×+e«L±O¿ ×*ÁþâræI×&íD«4-×w½?^)!*×Aí&! ×½ÐI®J׉'*J_š ׊­uìj7×w×IcS2*×Ü›ª–*Ò=4שˆCß =6×ÞVßVÌ$× Å²Ë­,ù× ­÷ê¡0l&×lžôܰ“=+×Ý’g+“; ×£¹Ü1)×§?u>yD:%×§âö%$ÖýŸhJ–ñ­;)Ö󄡘ùÚÉ9*ÖóMÚ¼ #*Öíë/‚(}ÖêÙÔxèFÒ<>ÖèÎx9+—Öè¬Ám5Õ4$Öægq›C@";2ÖÜß[ðX¾q>-ÖÒ‘ͱ¸°:ÖÑÈhœa+:ÖÐŒüOÓg; Ö¿… üíÌ54$Ö¼t‚Ÿ½¥Ö·È}Âø¥ò%ֱí¶¢b Ö°úèú:d#Ö¬ùìbîU1*Öª<‚ š¥¹3#Ö¨³˜È³D2 Ö¦§Õ¬8 š$+Ö¤·YYM1!Ö£²„ôÖp*Ö¢8@±w#Ý=6Ö éjF0Ö Aìñ© ÖŸ}~™„Õš9(ÖŸaãBÑ´=6Öžo¡=RC;#Ö›óú>¢Š2*Öš Në0.N3#Ö‰¡2jžU‡=4Ö†$1­wyÖ…*$è­©ÖÑÚ,¸þ¸=4Ö~6ââ‡6-Öx¶bʈ-3+ÖtùþŠ«¤-Öm­$";4ÖlŇAÛ 83+Öc=3ãbpñ=4Ö\IL‚9óÖ[ž¿;óë4$Ö[ R&ò!! ÖX+¾ªú-ÖWÐl²Ð–#ÖVà¿¡,.íÖSÑxÓôâ¿#ÖSÃ#!÷Q, ÖQqEÓ[;^ ÖOÞÒ¾>õ&ÖO)ßß>1¬ ÖNûìp)ÖNÉP®å;T3=ÖM’$œºÏŸ9*ÖMñ‡xÍ6.ÖA‚D]ÐÕ6.Ö@GiÆË>#Ö?²?Ζ¿4,Ö;Yp ý° Ö7êápK©ì93Ö4®†l¶u±7/Ö.£»i[Œ-#Ö.Íõœ…9*Ö,8AĹ'Ó<>Ö"¯òâ»2*ÖÎÆ Ɉ±1!ÖF ѱÎ2*Örü¥îÛµ ÖÌAl[3%Ö] oUçy ÖAW·èä²&ÖôîeÝÖ´§¦‘#րǑ—Gš-#Ö*”ìY¿3#ÖÐTè~vzÖ¼@[’3+Ö ê|Ð!>-Õÿe†µúˆ;2ÕýÕÑŒb!É/ÕüQ’m‰1; ÕùˆqËP2*Õø¾*b§@ÓÕäÌT)óÕâ#ã÷è* ÕÜå„L1ã‰ÕØñ“™Ù7©5%ÕÐÔ‡N}82*ÕÉ{ÂûØ}bÕÈpj}4HÅ:ÕÈbéÂ+ßûÕÈY D¾Q¾0(ÕÆ¯gª¾H2 Õë^±%ÐÕƒ ÔUt0(ÕÁ‡3Fû#Õ½CH7ù3Q Õµ_òÛ‡`•*Õµ~+p7|#Õ°¹iZbG>-Õ®µ-ò\A2"Õ«ì\·_=6Õ¥:°""Õ¢9VÈ`I Õ¡`¸ª.+ ÕŸZDX» >-Õœ9É;ø Õ› +5 «1)Õ“ÌÎîP2ï6.ÕêÏÉ'Ü=4Õ¿”t‚Õ‹p©Å©‹}'6Õ„%Á}\Þí&Õç7õ&¼&#ÕÓˆ#(»=Õ‰?шì7/Õi³n$Ëb&Õ€«O?–ä$Õ|·"nSÔó#Õ{h¸Š¢›©(2Õz¶é§ÙFÄ1)Õu\”$ž`$Õt ÞvûÕ1)Õr€²»²FTÕoK§zœÕl͘bx3+Õi‹^Í–ŸEÕgò^ Q:Ú;4Õdȯ™T&71)ÕW,”0 `C93ÕV‘9\qBD ÕV?·Œ*ÕK†¥n¡Ÿ"ÕJ.™»£Óe ÕGÙ–˜¼2ÕG€•³ò#ÕC¢‰P=„Õ@Ð3`Ц‚Õ?$AÚ;ä"Õ6°À¨ Ln Õ5ôÖsÙN<=4Õ3þ¡2ö0(Õ3ÚíÁª?&2"Õ3\NǬ‚*Õ.|³àQé[+$Õ.õíp^k$Õ,øÿØÝ ªÕØkøô8¥:%Õþx•ÖÛ* ÕGþ~`¦Z2*ÕÖÒ.&Îh ÕC%h«“‹<>ÕáÐ?Å@e#Õ³«Î»Ä3+ÕÐ 9t‡±$ÕQ.u'>/Ôþ ÿžVÎ+9*Ôûº7~Š·?4"Ôú<†øM` ÔóþäôR%p>-Ôó~Æ)7B ÔïìÓ·r ÔíH±£p¶ ÔíEækÍ*ö4,Ô鯚„¾ª<ÔèD´øÎ3d2"Ôæ\+Uí 4+ÔäÛYå=1#ÔãçÀfÎ= Ôã.EÆ$,Ôßy 'i׸#ÔÞÜ[[.x6.ÔÞ!Nj¹cî=<ÔÜcgÔÔñ):(ÔÔ³;Œ»]42"ÔÓÂíŸýŒ2"ÔÓ)¯8RÑt2*ÔÒJ¬p‚ÔÑ÷Z÷§œNÔÍFÜ€3\`"ÔÌÝyž¨§"ÔÄÛˆ÷²†¸5%ÔÀckF¯’@:1Ô¸£ßÔp[#Ô´bº@õþý0(Ô°Ù)>EƒÔ¯µ¿0ò=4Ô®o‹mr0ÌÔ¦º½±êŽ]#Ô¢àí7C$Ôž _IUwzÔ•&£“‡y$93Ô’™(¾b<ԑꑹÊÉÝÔ‹ú£e¤$Ô‰ÏÏš0õEÔ†$Gö¯Ûc-Ôƒó‹µÜkÔƒ­ÊÅ/¨A2*Ô‚ÔÝ× F93Ô—ÓÒHÊ2"Ôx~Ø@7/Ôw·ðuD1;Ôq*¬¹\d#)Ôp»l)¾íY0(ÔlÁúÌèø0(Ôd#y’kñÔbg”Ž“­Ô`ÐÄ“0QÔ_ÿÁ@ôy–Ô[@" )ñF2"ÔY¼~,îàÐ9*ÔUËq賓ÔSn#L;ÔRÀM¼Š ÔRYÝ ó*#ÔRI)¢14,ÔL4õ; ÔL3x.£ÔKdúŸ©Æ ÔFŽÀ˜£9*ÔC2ÚææÀ=4Ô@"8¯áÁÈ3+Ô;²$‹\ׯ Ô8xR¢{{~Ô./Ò}œ— Ô)™FÎ ð0 Ô Ôõ”)à<>Ôq`6-ŽÚ<>Ô$"Óo÷ Ô‰!›€ ÔZt79[3+Ô-Ó®¿ã x™Ó­ï»ÛX'Ó«"‰Ìz­–8:Ó¨Å"m†±Ó§÷V ®Ö1!Ó¦#ÕÏÀ:>"Ó¤ÃH§¥Y2"Ó¤yj¡Bu0 Ó@Ö“Ž9(Ó‘Þm•"aÎ<>ÓMäª3¢2"Óx%t.÷ ÓŽóŽ®jŒÏ")ÓG¸K·Ï ÓŠxÔ3Ò 1!ÓŠJŒX':3Óˆ²­«›þê=4Ó‡ƒˆÛ·†89Ó†{¬VksÓ€Œ/(Ê Ór›­dG@ó,$Ór?éU=6ÓpåHÈ!ª¤$ÓpKÓðÓmbÿ:. ÓlHÛ‚`€K3+Óg›~ê@2"ÓZ}Ò%£p¢=4ÓU+zÛéì½ ÓRûB«Ø¼]ÓQölƒ’ÓQ ¤¯Iª8 ÓPp©R–X9*ÓEx8OéÅÓCßo54T;!ÓAD”k¾Ó;+{ÝþÓ2aOÌ“´î; Ó1ïPÆ×áÅ Ó1Üt2pÝ82"Ó/ªÉÞ“G Ó.ÇÜa Á#Ó,ü›Hæq&Ó(NÅ ýó,Ó%$(Äý¼f2*Ó$‡í¿ñ˜2"Ó#Fù=˜Ã¸<>Óü¶¾ m<=<ÓeÒS Ëÿ Ó®ãWö@ÓükÅÝo´ Ó \u”8U!Ó ±ÈÖŸ[ Ó¹×i™…!3Óâœu-vv; ÒÿÇÍvu^€>-Òù7Daº}9*ÒøºÞ ÅCkÒæåOÒkÎ0(Òæl Ð{Ý&ÒãÒ?Sú`…2"ÒàÈÒ_¾ÔÒà­&Klñ=6ÒÔ­N9£ ÒÐ3¤/Rƒå4,ÒΗ‹]ÎÛ#ÒÌ4¢,2"Òˈlg°ÒÉçëÖÕK1)ÒÈ‚–1…4+<>ÒÆ±Ëè`>¸>-ÒĶü3<*ÒÄMQ°-;Òÿh†²V >-ÒÂ’ÏH MÌ Ò¾c«½Ay2"Ò½"êVø Ò·´_[ŸÎ Ò´ðÁ - û!+Ò´-ŸoóÒ‚ö\’ªÖÊ ÒÍGN„Ã=Ò­U^ žpÒ|*®SÍTB,$Òz¡Ê›3…93Òys:i‡î3#Òx}>Ý®´k Òu7*„MÒt÷¿ÀQ€µ0(ÒsîF¿Â²G-#Òr=·~?Ó,,#ÒpE^­ \43+Òp.ÕrÖ:ÒlšÍï¯*#Òh¿}7uk9*Òc¾.‹ŸÌ–2*ÒbОBŽíî:1ÒVñA7-ÒUõ½¥hÁ=4ÒTò=c‰+'ÒSåâ}ºØ<>ÒQÍ¢¥L¾wÒQYAïbî3#ÒO3—½„µÄÒN6X³F09*ÒKΨc —[$Ò@ØâDö´‡"Ò?ÝæU¢^Ò>H(Þ 4÷<>Ò6â8¾\*4Ò0ˆ°93Ò,N,×Çm5Ò)©J~p|-Ò'ÖÀo˜}%*Ò#ʼn*8:Ò—´Ò  ÎÜæä Ñÿ÷â©v¡%Ñý®Œéía>4Ñü(D§ý;4ÑûAé—L<>Ñõ9’~a'»=4Ñìÿö)2~Ñ즯ý|#)Ñè™Wh[#°="Ñæxþ;þT Ñæ<)QãÑä 2Ã^zÑߤ#•$,$ÑÚ×±v0à>-ÑÚÓYŸºÑØfMžµ¦ÑÔ¿ Š¿q ÑÒ‘öØuˆpÑÒÿ &Õ¯3+ÑРÖ^”‰È$ÑÇU.3§Î2"ÑÄž8Oœ@š#ÑÀ¼jPè³-'Ѹ¼0¦Ì‡$ѱ·âzô2•Ѱå0â9Û+Ñ®ö‚Òª—i93Ñ®a„¥Ý!«-ѪïpÍŽŠ ѧ@ž‹¯áôѦ'ð¶„Ü==<Ѥèd¬·Ø Ñ£kHü|”‚Ñ£€…ú<£=6ÑM b, Ñ›ûWvì]ÔÑ›(;ž:ôÑ ÑšòRåöîãј(.QÁ<>Ñ”Vß¼¾ÍZ;<Ñ” }°©œ:%Ñ“°H°mJ=6ÑŠÛnDK÷9*ÑŠ}@² Kù3+ш¸±n|193чMei*À3+Ñ„Æéu#š>-уCë9–z"у8ñˆŽ*="Ñ~WÁ ¯‹ Ñ}·®À/¥* ÑrCn]Ä&ÑpÿÙЃR#Ñn/Ú¿²&Ñc •Žý"ÌÑ_Fy"uq5%ÑPðé}MO•ÑP8a$U€<>ÑMvŽ‹(Ï ÑL‹'D¢L:3ÑC÷Ñ2úozFûÑ-#Ñ1¨6{s± 2*Ñ1;¶@É€À Ñ(vÑ>fÑ& ¸2 ZQÑ$Z0:¯5%Ñ#E³FÞ¸ Ñ!Ýï4"Ñ÷£Ya…:%Ñ VB7„@:%шúo q>-ÑH¬]O', Ñ;•œ¼¥Â ÑZµôÝyD>4шª¿ Ÿb$Ñkh)ŠG Ñ ÌóÙ[H Ñ (`ÂÓ/ä=Ѩ*QUä=1!Ñ1£Ú‹Ž·$ÑÜ&QýqѤ.¨?ƒÐûe¥sž­Ê6.Ðòø ff=$ÐèÈ âø8 0(ÐègZ¦¦!Ðç!¥Ö0(Ðå€ýá6Äi<>Ðãx~e¦Ç« ÐÙÏL=²œ 2*Ð×ë=¾ÖA*7/ÐÑ<Œx¸-#ÐÏ7ñ`Q}K&ÐÎæõI˜=;ÐËh‡Ð÷ÒÐÉóe&æÁaÐÂ#$Ñ®.йçÞ镸Ä2"зɾ1”{,жV¬ÂÂ.еºIù¢Ë!;)в¸ùÍ’789ЯÏ@ûÄ] Эþš6aP-ЧKNš˜hÂ4Р>cy » О?K" 0(М·jxS½#Иæ7r*‹Ï4,Ð%Cx «ÐޤÂôt¤ÐIb̧#ÐŒ£?^†.í!ÐŒ¡ÀAná2"ЋŠ:r=Jì<>ЇÊ(2‹š 0 Ð…AøZ,%Ђ¨¼Q‘®:Ðl&o „Ðz»S°h #Ðy‹DÎRÄ Ðvª;/û~"Ðu³Ø„ÿx Ðm†cް€q2"Ðh®zÞf8#3#ÐcÙ«J£#9*Ð`:b–8®=4ÐZar=—ÐX dlgÄÐR­]÷A&"ÐPY~ﳨ1)ÐNºò÷w£#4=ÐMè,ȤŽ?+%ÐMáAL9‘;2ÐLk‹3,¶s9*ÐK0Ž^ s ÐJÚp¼NW#ÐI|ß ×b<>ÐF ÃÕt1#ÐEA™ëŸJU ÐC5†"—!#0 Ð8Væ)Ž®T3#Ð4ÉûV³ Ð1žÏÏ)D32"Ð0†+#rN4$Ð-kS–~±93Ð,bs÷ލÐ+Kžøá¿ÝÐ'œ‰D_4,Ð"AŠB*Íy3#Ð盌a ã0(аž8C`1)ЦhÔ¥å<:Љzêc Ð2ƒƒD1Ð t%Þ Ð éaøE6ù=<Ïó Šà""ÏîÏ^…†í; ÏìdŠpú5‘#Ïì.ø} ¥Ïë>•ûJÆ(=<ÏêYÖˆX! Ïç¼Ô'H±XÏæ×\£BÛ$Ïã9ž%à,$ÏÝñ±*ý<° ÏÝd×}–Aá=4ÏÙÒÛ¼¹eJ ÏÖ†7â+%õ<'ÏÕÝ’ ,‹ÏÓ±E\­„&ÏÓx‰ °ž½4,ÏÓA«Éš]"ÏҔ™$«ü0(ÏΛlê±U ÏÎ!÷^0îRÏÍìínÐ>*ÏÍãwŠ2"ÏÉõlHÝó$ÏÄ«íoãœÀ$ÏÂì±Ýò‡P ÏÂ-Ï[W1i¹+P,#ÏPÐ)9|‹ã"ÏNaôN¹oŸÏLz?éÓp- ÏEÓÊè™;3ÏEnÚ%:pìÏAÝ^tIUœÏ@] ï=Îä0(Ï?©­¼Þ&5Ï<žR7Á3#Ï:Ô‚ñ÷~Ï7ŸäçÉÏ5f„¯‘{ Ï&ˆ7Á¢T$Ï%ÀqäUFˆ:Ï$R_hÌ7'Ï!†Á#6ˆnÏkwœõ62*ÏUøžp2ÞÏdØ—PÒ Ï cœ4cöW*ÏðÞ×DR; Ï 9äyÊ>-ÏE”Öw<>Ïaqu‹é9*ÏTSÚÙ Îüº ='¿Ì:1Îû6œ¾‰ç>-Îû3ÑØRÕPÎù4ôS1U Î÷<8;³Ð_Îê‚Ù–‰ GÎê:ôÄ"ìü+Îê´í4,Î磃J Îå~ºP×h':3Î×(õ%JÌ÷,$ÎÎVGƒF‰ÎËJwµäã4$ÎÈn߇ÝÕç ζÝ:YÊ­#έ" ©)ô6&Ϋ“Ñ6ÊÐÎ¥Tèl‹"_ Î¥!ù¶˜›þΤkái*Ο5›³[«ý&Ζn…1i"ΖGªf‡#4,Ε0§º¶0ô!Îïg›g‡ ÎYÎpÄ,à<>Î0õf·¸Y!Ε sÕ ÎŒ‰^‹Í  ÎŒX)Ù>ÎŒ-V†sW~:Ή%áQ3#·蒪_ ¹#΃ž™w”·D#Îz_ÞB°dÎr …,\9*Îk+@¡Z‡‡!Îgp’³u<>ÎeðeÑ¢2"ÎdÕt˼ÎZš7mº#UÎZ€2Ö\d«7/ÎUíºv:"ÎO#©§:™;2ÎMß÷#AÕÎJ Ò­9šV-#ÎHAh4{93ÎF(íñ×Å$5ÎEÛÔæ„3#ÎBºk:¸VÎ@³=Z“@4$Î?Œ e§Jü<>Î>‚üy¸®ÑÎ<šå7Ñ´æ,#Î6ÆÖöºôÎ40ùTøã:%Î3#ûvÉß:3Î1ÏÕ|ïÙ.*#Î1QGm4«<>Î0²N:å\=Î.·<¡Å Ê2*Î'Xh£'QÎ#’â¢Åò°6.Î Õ8„"΋ŽÒiÛr Î-“¡ßÀ0(Îæ£Ô•ÌYÎ vo®4z‚+$Î =,ºVRò=4Î 42{м#Î íµ^O1:Î’?ô‘çÖÎÙz&˜Î»âYõR Íùe\»L³å3#Íøë˜XK’ùÍø›Ø‡t#4"Íô9´÷}4Íñ¨sÎ>89*Íí‡Ü´8Ï} ÍìS“Ñi_*#Íçï’¥ùT9*Íæ9S3+Íåvˆ_tÖÔ0(ÍÜÐM@Ú›ÍÕ¾}Ì[  ÍÕPÅÐ_]™6.ÍÑ”f·v)f ÍÂøÆ©4 34$ÍÁÛá™2Pi( ÍÀƒˆ%kÐ!3$͹6ßBD9*Í´þƒ·¥-3Í­žµgE€4,Í«£³VVë§$ͧ|ÿFô|£1)ͦlƒÃ“  Í¢«Ä*ðöí5-Íž§Óó›iç"Íž´E¿ô¹=6͘ýGéÉÚè:1Í—މ[9…:%Í•Q']>íù1!͑ȔUòÜ Í‹“ ô ÁÍ‹n“ïzÉ1)Í„+¤"…‘(Í‚×^±4„<>Í‚C 4†¤Íz·-sÆÍz?¼Í_=Íx²àå¹2"Íp'I-È ÍpQ%ÚÊbö:1ÍlÜ”¢øŽš3#ÍeÚ ×ÒáÅ=6Íd脵p|j ÍaÝÃbeM2*Í^Â?•úˆ2*Í[#–´àü93ÍYcߢ?ä»1)ÍV*œ¦9½© ÍUröìü> ÍMÍèú;\µÍMȯØè.¬;:ÍI®LˆàîÍÍE+ëN74$Í<ü¬‹Ñ#Í9ûE#4NÍ7g6eÕÍ6‹'œ&82*Í3d”u£KöÍ2ö·÷ÈüÍ/¡gp¸<>Í"™ì! ´Í_à ¤¼Í°&2îK͸̆àF™7/Í?r—>Í*Í^ZB*/ž<>Í ÿ¦k Ìú±çæÌù`Ø¿×2"Ìíhs o¦u ÌíM»hÃÌëü»F~3+ÌèeWîäC3+Ìç¿Ìüì-%Ìæ`.Ýßd$ÌÜšbýШÃÌÛ«ÈÇæ‰ÌÖNUö3]&ÌÑ¢óXŠòç;2ÌÇj€o;ï‰-ÌÆ'@™—†2*ÌÄu †½ùó=<ÌÂqùv£ÿ>-ÌÁ¾°¢[—î,#ÌÁòW ‘¢Ì¿»?÷“œ¬:,Ì¿@Ä$’€‰#̽Bx£ ÎÒ"̵pœO1D: ̵à¶yEò-̰3åÖªLL9*Ì­î0-Á$1)̪øÂ퀒v-̦ ÌÁèóuÌ£Î|y¹9*Ì¡KÊ÷¹³7 Ì m6óG¬F Ìžíƒ÷íIþÌš˜"†í:%Ì•mÇÄ¡ÑÑÌ‹:ÏùG64,ÌŒ.ÄýÙ:,̉Šm–óVc!̈—¶’ƒ"Ì~P‚±:' ")Ì~0Êÿ2ØI! Ì}‡7ŒÚÌ|Cê i®„ ÌxŽÓƒ™Ó&5Ìxxô’? ÌxcI¡¿b¾*Ìw0Õ®T+$Ìw 7¸ªX=<Ìu¯øf¥vãÌrï˜K÷£7ÌqêRYŠü»Ìne¨ ”ÜÞ ÌiGú…˜< Ìhž0ýŸ¬>-Ì`'}Q ­ÐÌ^øí¡G-Ì\ÅÀapÏ3#ÌY&ŸRòV·3#ÌW½Ì§SfÊ ÌQŸöV!Œ£ÌPZåïŒLÌM„¥Ͱ#ÌL2xÊ<¨ ÌFTWWx±ÌE…ÖS ?3%Ì>Á¡uw®<>Ì=ü.Í1ÅKÌ=y­Ùì‚Ì:P[ j°*Ì8Fø`ab:Ì6éöžÔª2*Ì5Ì-jQ‡Â Ì0jHV^¶Ì0]à Ÿ¹Ì/Yê†cŸˆ=6Ì+ Å–L–”Ì(ÞLÞ9$;2Ì'm°®°6V1!Ì%›ùF»O2"Ì!zªö?ˆ*Ìâ” P Ì£ÊbðZ7/Ì%nfó˜=̶Ôò˜JÀ;3̘1ó¿ƒ9*ÌÂûÌóû¯6.Ì{$¿S_èÌ ® –öª;Ì vÓ›‹j#ÌÍ‚"í1Ì’‹’mßV-#Ëþ8ºíåÃ1!ËùUí¬Ýì¿0(Ëö×cð"6 Ëêê{ *Ëå·f˜tý!3ËãçdûüÕG1)Ëáƒýç+fðËÞ®üߢ#ËÚgÙòuBFËÓìzyöæËÑ\Ôînæƒ#ËΕ8ËÆÒœ˜ö…53#ËÆ9á±> Ë¿>HŒ[9˽۹¡gN;˻ͮ1_9*˸}dq Ë·ÑgÒ3~=˶ù¼]ðA§&˶ ~°šƒ#˳ó,é"8*˲:ÖSµ"}>-Ë®©B¨2Ë©nËðyxb&˨ªuT„Ì0(˧Ë"ŽKöT˧i›:QJi˦£ïΙdË¡›„b8 Ð9*Ë€,z$”/Ëœöà¾c{93Ë–i÷X âã;)Ë•g§tr«~Ë‘mävˆf%ËŽpÄØJ×·#ˉY]ĨÃb#ˆÁ‚úô’ ; Ë…¯ñÜ<^0(Ë€j7sÑ¢ Ë|ç›}Q3+Ëu=N£ŸEu9*Ët\Ç;÷A²ËsäŽCÍÇ Ëo!~ _V‘>-Ëkù±¸8W-#Ëgðp þ¤< ËfkÑèejR*4Ëe–2# ½å Ëbü,åÂuüËZ«•{EËXh³¦å€9*ËRÝLCýOa$ËO«ŽGÔPã2"ËFµ¼±P ¤ËB敞¤Ë< ÙLYd#Ë9ŸÄ7Ÿ¯Ô>-Ë7S ±˜; Ë3Å$ã,,#Ë3 Ml0IaË.å0hË*H¥pr¥<>Ë$N/SÑæ3#Ë#P¡v©Š¬-Ë ü&U3€µ&Ë Ù¸®­OÒ:(ËÅ…§óÇ!ËŠNË r<;Ëâ/äÀ Ë Qé1*^w=4Ë Õ$ùû[¨&Ënº¸¢ ËÜ™Fî"-#ËõŒ¤˜Ve1*Ë‚âäÀ`:(Ë€)ƒÄ±êÊþNèôù€ð5%Êüvuà9t¼+Êú/[Àq÷=6Êø©›ë|ÐÊøžúK—Þa&Êø|U.¥'ÊöùuqO‰q0(Êõæq°3Á7/Êóõ&'™¢i$Êó‹ZQTº"Ê¯Ý³ó<>ÊêCõÁ˜ óÊå¿ÃâäÄ ÊÜé­ÃU4Æ ÊÜK9Â,òÝÊÕÉ­i¦ÌÏÊÓŸ *¡œæ<>ÊÐþIfc0 ÊÎ6¢‹çÂÊȇà«ä^ Êä埳™+3#ÊÂÒ®I1p1!ʽíU”—3#ʼq\¯Á=2*Ê»pD¬t•Ê»Z’2"ʹ‹ûäçr,#ʶ å»tXʵ6™­p¬<3$Ê´Ø(.ɰ+#ʰ®ì_£çÊ®küC ;™Ê¥ ýk p:1Ê¢Ç:æks-<Ê¢yŒºmQÊ›)â¥èâÊ™VàŒ“:ø ʘç.('B Ê’w±çš×Ö9*Ê‘[%a!9 Ê‚ä’ómÊ‹X(oOO¼ʆ¶/ƈ#}*ʆóͦʃqôºpcÒ0(Ê‚<%sÿ Êæ~ï1# Êz„º³‹í‹:1ÊnLÿÆTnÿ Êi¯×v"½Ó Êi}ŠŽâ›<>Êc!Az#ˆ"Ê_¦Îe8¸?3+Ê[dÌU,,ø>-ÊZmÞúFÊYsö½Qñd6.ÊXòÕÎ-C÷$ÊWÈ[wæ¦&ÊU¶7*ßP,ÊSÙý2„¬\ÊHÁìcŽ4’3+ÊGN‹ò<¿ Ê:ÉÉ–Åî#-Ê9_F1pײ<:Ê6€ úcI§ Ê5ËLþ[)&Ê4 øXÁED:%Ê3pË ç Ê3mrnå-óÊ.7>Køð§9*Ê-ÈÓÏ*áÊ-ÇV=66ZÊ%DˆÑsT³Ê!2æø×=í>-Êb€P}\9*ÊK•,ÛÊ à±-Êw›Î5%Ê'“±‡0(Ê òv93Êaó&†† Ê2(˜Â6 Éü@šÛ6="Éú€"åþ'è#É÷8dL«EÉö;^)„@æÉô?)Dk ÉìèS=HEŽ Éä…Ñ2Ry0ÉäD”fJŒ²2"Éãöï’ó¼cÉãxën ÉàåÑa•T*ÉßMB'¨ËÉÝ©×ïÉܶu¥ë:AÉÛÓÁYÏÃ9*ÉÙêtòF°ÜÉ×€Á%Ûâ;ÉÓïHåÿÝ÷$ÉÒå),ߨð ÉÒØv‰ž‡nÉÑFù†Hè56.ÉÍßG¯!2"ÉÆà“û\Ò93ÉÆiÉúØ4$ÉÅöXŸö¤º-3ÉÅÊúk²·OÉÄ@Ö5p&‹ É»“ò»ÎɸÅá^‚®#ɸCÈÀŠÉ«Ýg¨}òˆ9*É«xù| ;-É«OO½0·6ɨéïab[ìɧsØGÆ%<>ɤ·Sಬr4$ɤQ\î#ëð&ɰz4²ö3 Éš³R¤ÓG:1É—á'›="É]3ÊÉþÉŽ6Û[PLÖÉŒÊE±MÔ‚ É‹a"9  ɉÏ!ÒihɈç9ˆ©ÙàɈÎ#Üèf6.ɈI8_žêÀ Ɉäã€Z$É{ãKG Éml‰e4,Ée–åk.ÆÌ3+Écÿèí J<Éb·ùP4£Œ>-É`6œÉd,#É_ûGZwM>4É\¿KÝǤ‘ É\3膜_­1!ÉT̲±ÑõÍ6.ÉQª {xÉOzFLW:1ÉD»··^@Ù9*ÉCÛ:ò‡p3+É=6-#8;2É6¤jŽÈÈ+#É2i çœåÉ0au ´Î˜ É,OBiÓþ93É(’+´ÿD2*É#¶¶*[;)Ép¼U§yÉ(Oü`ÚÉ'Ø~‹ÿ!ÉØ-Í-o0(ɤ×4Æ93É 9Ah˜f É1¼Ø’ˆ¼ÉšTzä6$Èõ“sp A1 Èõi|©üŠ3#Èñós!øïc ÈíYº–é‰Í*#Èë#}ž²493ÈåïOéG  Èä]3ulÈäR$ò]ÂÉ=4ÈáÒóRª%“ÈÙM£ÄcÍÈ×Îê Vl2*ÈÒ4ÊÉ 5|2"È̽êªm+5Ȩ̀™zÍ•·<>Èʺ¦™rg1ÈÇ>ß´´C¾,#ÈÉùA¡úä1!ÈÁ„=²?ë=6ȽüzB5aÖ*9Ȼް>](È«¢J Ȫ(êöD#;4ȧ/×¹ä•9*ȦnRn½> È£6í!ˆ3+È¢x,…¯dÈŸvËó~ž#ÈšŠ ÜW,:#Èš;̓®E93șꮀ|ëç*È—º(¢¾ ¶=È–îzPÍW4,ȓͿ¾ÀÒâ#È“dáÉ•Ù? È‹´›ÈŒ“Ž1SõI:"ȉªÈ›Ÿ­1aHÈ€µŒ+ž’H9*È|ÏQ¹ÚsÈx¶|SF=4Èw !ûÂm 2"Èu"Ó2*ÈtÜÞ…ÈsÔ–xB93Èq©Vgܘ(3#ÈprÿziáÈm½$É’¥HÈlõ¿î6 Èc|ò\“±­7'ÈcO&&ÔYã2"Èa*ô/HzÃÈ_eßÚÏ#¶*ÈZdáâ1|‰8:ÈX”—KЊi ÈX]H›* ÈQi¸>¢ ÈP“È0¯n9*ÈN‚»¡¤§BÈIH{J,ÈGuÜFJ%é<,ÈB­Ä¯Ð+LÈBW T>È3#ÈA¯„È"IÈ?9ax‹Z3#È>5> È6«S~]÷1!È.Î#R,t È*'Ï”$ð=4È$Æ+y)w2È#ÜÎÀì½DÈdÜ#n²:ÈÈÇ6Ì <>Èœ»ýÒmf>-È–}†êþƒ;4È ›!YS ÈÏ_Š«@¡"+ÈïR0€I3#Çø§tÊYÀ"Çõ+ÖïNm Çò--ífL!ÇðG¯‰š¯_->ÇîΖwfËá>-Çì#5„5ív"ÇéïŒä½]<>Çæ«¯*×|ê ÇæY+ÍV9;&Çä`¬îÈ>@ÇãßõÜ)’6.ÇÞ|ŽÕMJÇÝß¿…¸×n=ÇÝ¡ò4Ç>-ÇÕб{¹<4ÇÔõûÀzÏ2"ÇÓéü%€ôw:ÇÒ>râ÷©£ÇÑ_!#ãI%ÇϾUݼB`2*ÇÁ|® @>‡!Ǻefô O Ǻd¨E—Ñe ǹm‹¾'Ç·:w!#­Ø6&Ç­´¾€Y¯'<>ǤPmMûú± Çž˜¬ìl<>ǖ˺„Ú¢Ž93Ç•¬Š¥­9H:Ç”ªÐAµªÇœ=¾®ê0 Ç‹)bÊvƒ&Ljí#ºY¾2*Ç€ð'}Ò2*Ç{+Íá¬)#Çv¿¹oyé1)Çv~ûß~Ëð-ÇtËYá5s° Çt{GK<öñ Çs”­TåoÇsl^c=‡ Çmi"â©Ù0(Çl;Îz<|ŽÇdTQ§L¢$Çcèp È6.ÇVÝá,ôÆeÇKc“®²Q90 ÇE<2—q Ç?åÉ +y6&Ç>fé÷Ž Ç> ò1î6.Ç<{ÚúÉÔ7/Ç6¸Ròòîï9*Ç.ö-²ë{=6Ç,‹døùÀ“1)Ç,]œï Ø:Ç&äÛ˜^ä Ç"øÊþMÇ5€ä94+$ÇWËÆ= 4,Çä@o–ð"Ç"ÚHÄnc Çn¾þ®,$Çîó­!ñ2*dž´É±54&ÇA@؃;4$Æþóê²Õ®Æüªdv“Ê ÆùÏMe·`2"Æù,óz!Ì9*Æö£è ®ŽÆõôënÆõ²˜Ñ÷Ê 93Æô3K8;xÆîÀj¾¹9é Æã–“²BF<>Æá`’ÍäÌ6;3ÆàFûpt#B#ÆàTŽûKN;&ÆÚPmèô Í="ÆØ¨=Å?~ÆÏîcRhy=4ÆÍž4Žwh&2"ÆÇ˜ÒAxÚ#ÆÇi’XB¥ä ÆÄ§ÕƒËÄ„;2ÆÂ(û±DHÆÁe oøÆ¿ž*[â-#ƹÿ}`Ôú#ƹQJй…øÆ·¾Íæ9c½+$Ƶâüƒ×¨3#Ƴ†KäüƲ¶æ÷æƱñËÿ' W="ư×Åi‹ßK:3Ưmô·ÛÆ®ÝÄ‹FÜ;)Æ®$o­ô­( Æ­q.t´©<>ƪTØ¡sv9*Ƨ›7¥K¡^Æ¥ù¶|w1)Ƥ¿ .Ì®<>ÆŽ ‹jË:=4Æ—X(ç>²#Æ–zÌg6ä9*Æ’ftÝ8CÆ(Ôp?g0(ÆŒ2?·1á± Æ‹EWð-$Æ„gƒáì@Æ€aly±±4,Æu~Ö,ò8<9*Æt‹P¾“9*Æp÷(w’!h Æpʯ±º<Æl±ÊÝ™ ¤:1ÆdÐÍЯh&ÆbÍæ£ÅÓC Æ]}ÄÁÆ!(9(Æ[Õ~úzÆWDÂV6Bg ÆSûËíùö=4ÆSFýS ÆO°S+ÛYÆO©T¯Ò­ß+2ÆL–д f4,ÆLP¥2cÈ93ÆIr$,1QÆI ñ¸‰6.ÆEDb²‘†6.ÆDjϹÒ^–2"Æ>Ó³ñ–-Æ=ÛjÏŸG;2Æ:jLd8ïÀÆ3?Ö‡ˆÏ <;Æ2J5—_O°-Æ2/«`ë•Æ.¦òËu„`Æ,î:ýRªñ#Æ,;–#ì“O Æ+‹úÿ¨©Æ*'˜/„€s5%Æ)[~è­2‹4,Æ#yž¤ÏEt#ÆH¾†´þ;3Æšw|°:1Æ®›S-ÃÆõo)br„Æ”š,ûÝÆHÒ$HÜ4,Ƶ «i¥¯ Æ É€¥ Œ}9*ÆËâTõçüƲecˆ5-Åÿu¸Xè\ ÅýÕX‘¢3‚Åù ½ ,E¥Åöî0Ëì:,ÅöØD T Åó´ÿ± Nš2*Åó°£í]:ªÅóVOz¡>-ÅñžJ°{q Åñ‰Ôh^î,#ÅñHf)•ÃÍ Åé¢ç¿“ÉãÅá¼íÆ™ÅÝL)&!ÅÕ]tÉú"ÅÏøÔBܘÅÅŒã#Bc_ ÅÂå:’°¾-ÅÀ·×=}źø.deH=4Ÿß~gÁ †Å·„dJOÍ<>Ŷ¨“Ê1Ŷ=”$³yŵÒ[ìn5K Å´bøJ}×#Ų5}†óJ1)Ű¢5“K–]#ŰÙ’ö Å®îç™Õ=¸ŨÌö–2×Ë-ŧÜs޹W ťև݇^ÕÅ¥+òîTs_"Å£»ó tb®=+Å¢˜ß3§Å¢”dÄÏŸ$Ål™Àë&× ÅZ)E]ì»;2Å›À^˜ô@ Å›®À¯m~å2"Ř`zç(±=+Å—MÎÑ2vè6.Å›+ƒ¡ô²7/ŃìÎèNÍh3"ÅvÎZ±Yš#ÅvÿźÅuͬðû®!Åtó¾`A5%År±¡¢‘å2*Åqv½ÅÉ¿93ÅlŠû»E6–2*Åh¿”Ä7;C1!ÅgÐÂ-ñÕ-Åd{1AAæº0(Å]n -òÅ[â#Èf|è ÅYô ²Yê=+ÅX•‚ ä ÅC·áõ¿ Å@¤ÇµÓú>-Å?ÉæVw¯ Å2Ñ ÁìiðÅ.ñ‘«3ï;<Å+KÃF¼n©$Å'+gàèüö$Å]KÀëPg=6ŽX‚Ž÷×:3Ň6¯[ ÌÅžÈrAÚ Åo¸ ñq:#)Äò”+É$¤ª-3Äê6™ÉÆ4& Äè£`ä3hz2*ÄåiÙ~­NÙÄä Ø)’GW Äã¼ …ÓZÄ≆ÄàQõ@'º ÄÝÚ¥Î#hs ÄÛ8ü¼þÌ&ÄÚ]d9j6.ÄÙÂÕЛË>:1ÄÙrÉÌø 3+Ä×îð¶4âF2*Ä×@wKd)T<>Ä×ÍRUhÄÔ%t‘¢€u1!ÄÒ-i‘EÍ;#ÄÐo;¡ì†$-ÄÌ*“–¢À 2*ÄÊœSvT±&ÄÆ0Aè¤ø ÄÄ(xâÉ—Ľ¨ï]›$Ľf1Ö(A¿ļ\SD̸>-ļ6;‡Ÿó93ļ5Y:]~Ç:,ĨsWy —<>ĤH Ê[tĤ$ܸÓ Ä£Z›>²Ç9;2Ä¢tÅßü,4,Äš]ˆÜˆmqÄ–ùp¡dôz:Ä•_a@Àf:,Ä”b ˆÏMI93Ä”1Hÿâ Ä“Ìr1¢ƒDÄ’grÑ“ì­ÄS^¸¾>-ĆîKXŸ02"ă¡•šOHåăG0D^JÄ‚ÕòÝ@Ä‚l~G_:,Äzl™ŸcAº$Äxp2?­r9(ÄxBÒ§ Ö1!Äx<Àu“´ÄsˆŒŠ”%2"ÄhÐÑ={Ã@0 Äh€š¿Ú×Û Äg#z<Äe¨\¥¡4$Ä]fëC«‹ ÄWîÙŒ £; ÄV†® ë.*4ÄSJ 2+ÄR ¾žÞs ÄL¨ºÖËl&ÄGOª|bUwÄDÙ*t¡ˆ:,ÄDÓ è[BVÄD¡o'äÞÒ!(ÄB‚祫òÌ"ÄAuæÎEúÆ9*Ä;Tð—U¹¹1!Ä6—VmY´¼=Ä5b>eÂ]ð!Ä3¥üïû´ã9*Ä2£Ýj”ÆÄ2`TÓ“Ä/ÎÄ*î(o'Ä-&o•˜€Ä+Ôÿ·oóÄ(j_+0Ä(bƒµO‡ Ä ¬¿|qÝ]>-Ä÷`4‹à3 Äë´ ÐÒÄTª2tW«4,ÄYȦxÒ3#ÄÃjÿ Ë Ä ¸_]šá3+ÄτȬÜùÄÛmàâÎd3+ÄÅ`õ|ñÄ~û¯IÄ ÄáÚNsüEÃþø'èZ  :ÃûWíâd‹6.Ãùä <†ø2"Ãõ¯ÝdtãH Ãô—q¨P4Ò2*Ãå0ýR0ÇÅ0 ÃãL;’Îv:Ãâɯ>ÿ^0(ÃÜ•4Ý€ö0 ÃÛNE$-Æa ¢‚ôŽ7/Ã]Ž@ ÃZÁ£b >-ÃâÀ­£ÃuJdÔõ”Ý9*Ãq¢³üÐ Ãq޽áÍŸÃq/ú2&Ãn¡ó.¶ËÌÃj)óŒK]Ãh«RWRe= Ãd¢ø¤¦×™>-Ãbq–ò^ Ã^'><ß³{'.ÃTx× wH9(Ã=³ÒÖÆÂ°93Ã;ŸýTXÒ&Ã80R¯²‰9*Ã5E2ì%x Ã3©Í*00(Ã)µˆu,9*Ã'"_XÆ[*$Ã$“‘éµ84"Ã#¥.0oo3+Ã"GŽÉ86y93Ã"/$x)g Ã"×é—ÓÃû‹Gf¼| ú_K¦÷#à !àø¸Ã·†eu  ê£z\#$#ÂýDK]t*#ÂûE³ƒÂâÏÛ¨»<:ÂàHÍÅ¢r0(ÂÚ,²ÞÞE4,ÂÕî·>ÔÝ0(ÂÏ7HHøÂΧj±öØfÂÌëU‡Lv93ÂÇ=doÀÐ Âů—ªg“ ÂÄ5bDP‚M ¡É@þ²¾Ë[ûzU ·ý9|€™I&²ƒ,‡žU3#°r=¸Ê!1)®«»qÞ ®)K=-#­Îy׿ô «ÔûâF¶#©tŸc  ¢ù6øË ÂH³S b“<;œè)!$¨!œAÉl-þ×&›W>6‰1)šؑçEì_7/š½€N ”õX‚ø§Â%á´qpÝЍ0×:ÀU=6‡øxîèì<>Â…B7ƒ"$ÂxÇ›%ïjJ7/Âwç>§¡¿3#Âr(Ë%; ·9(Âq¯èÈJC2"Âq ¤EWÕ)=6Âpñ¦¥ZÈó ÂoÀÏ.’ÎeÂoL‹p’;2Âo ±ªÅnþ Âj"ÚJý/5-Âeåd((ò:3ÂbÎ3ÕTQ9(Â\á\”œÅaÂV5{§­²ÂQõ1×têi>-ÂIPûyø- ÂEØýY%‘ÂDý}íîý»; Â<`!RÓ7LÂ6‰O–¬îñ3#Â4è t7>-Â1ûL|’2*Â0ÈÇ·¹ æÂ/«{µ1SsÂ+ú¦k(Ûí-3Â)>)€Ïd:1Â"®“‘¿Š93Â]ôURS Âg>Öv>„è'aÞÔÂ',—‰Æ7/ ©KF–+¦  C^„}1)ÂÀï¨m':%ÁþÜ+\nT93ÁøÎ¦ªîZ«$+Áöµz¼4/ Áó§ÌÖÁòpD÷|-'Áò^ˆé*§$Áñöke…T=+Áï15‹Pˆ$ÁëâMU“1#ÁäÉô’8åÏ Á䉚f‡B;4Áã7½ð‘ÁÖñb¨mÃÂ-#Á͹o‹óÛ ÁÌ·ž¼s·  ÁÅHòEz33#Áöã·ö>ï:1Á¿Q,m×¥0(ÁºÞ`B›>-Áºaqlå99*ÁµCµÖñ£ Á´6ªÚð~Ÿ Á²×oîªOñÁ²ž4Ù$* Á«lw~ü'2ÁªêÁéO-Á¡´q °uÓ*$ÁžJ ?Ó;)Áž•|¼,ï$Á›Œ£:B$\ Á—|ÁSn§ÌÁ–ºUÂO0(ÁŽêûQ¦¬IÁë9aÛz£Á‡÷ätëuÞ Á‡.£N€Xa4,Á± îJ¦9*Á€‚ëÌdAœ Á|»|ÎPT80Á{}üÿM¬:%ÁsKþ‚hä$Ám¥®fXL«4$ÁjÍ8bØzÞ=4ÁjÆÁÓ?¸„Áe ¿ v0(ÁcƒXध  Á]FÛõv\Ù Á[˜µ0íà=ÁWKˆÃöF›ÁSÙõªpÀùÁP*[&³ê>-ÁNÝÍ3è!L2+ÁMœ^ª\}€2"ÁE¹ûÇRER:,ÁDëõvTY>>-ÁDC<$3+Á?ºo|¾ 0(Á>Þ¼éÞ s<>Á3Îkƒù† Á2†ww´rè(2Á0sÇY†319*Á)êó@Æy Á%Ð1£æ/NÁ X´kÑÌ:%Á>ß7ÙÙ>-Áh1¤TáZ:3ÁÛb3'=ºÁ ö¬åœ·u5%Á D¿O–r=4Àÿä¥LüéÍ6.ÀýŒu½ã¼2"Àü DsY¹"ÀüFL–9*Àø*N{[ËÀ÷H’ G&&7ÀõuBÐx Àó–þ0ÊÀñP«Þ5D¬Àì÷4Ó ¦QÀ뚌–ê¿ À뽡­Vy3#Àèƒä.ÖÀå•Þ B$*>-Àã{‡ùKèS À⊅+nâ%Àà D¿9*Àß^Íçfö1)Àݲð„›â¯ÀÝs!UØä"ÀÖã{OŸ~­ ÀÔæòÚ‰ÃÝ ÀÓÜó¨î_€Àθs²éÝ(ÀÎKž‹õdö0(ÀÌ=<®éçÀʤ]¦X´"ÀÆF‡ ÃÅ ÀÅÄå› :&ÀÄÂAÀÿj¦1!ÀÃ÷Q©@qkÀà 2+Éî$À¼”Ã¥iÍ=4À²NýxÖ;1!Àª‰× ÉÄ:3À¥UÙÏS3&À¢Àø6âƒ*ÀŸJ0¢ga Àœ›+°6 ÀšÃŒ«¤¡" ÀŒb_  ÀƒË·EG0À‚ñ}V]*¹ À‚œY%ìùÒÀ‚JN‰YÀzf¡oòZú Àtç"eé#Àt _„ý3ÀsUx<‡ ÀrÖG÷¢Ài6;n ÀeSVqû¹9>-ÀcމX Š"9*ÀbûmÌy’ÒÀ`øeвÓ%À_r‹5493À^ nü®Ïa=<À\©«y²äà À[<;]7!3+ÀTS8A]µyÀRgVlÃÎ9*ÀOæ6Å5LT"ÀM¯`ÈÖÎ0 ÀI0±ÃÁCü$ÀÀ8¨Â[fé3+À8wÏ+À6y/^ý‹0(À3Q€÷ËŠ À.+Ù„ƒc:%À(TS{ý«• À'bãÑ=(71)À#:j;éË@ À…ûÔx®€ À+ƒ£JÏ"Àˆ™¯æEÖ#Àåõé $ËÀ ѵ¯ï¬3#À Wˆok À ‚ºUëP3+À ·`<©Öô&À·&5—Ç À^+«íæ#-ÀûsÝV¿þá–>¼É‡#¿øñ9B8¿÷WÌ@*÷=4¿÷ *ÃÑ&¿õL•º²l½ ¿íWAF‘:¿êöçG5w-¿êG‡ˆÁT:1¿çŠßµKÇ ¿çTùWRÇY6.¿âaÅ2‘uοÜu£_Þ© ¿ÙU©0>-¿Õo¼`Â3*¿Õ¼÷ö›¶¿Ó)Š9ØmW,¿Ï-¤ Ã6 ¿Í]´» }·;)¿ËfxWÌd“ ¿Èמ¬JO=6¿ÃÑzw\ò¶6.¿Ã­Þв6/¿Ã¬N]]ã3+¿»¡B ÉC2"¿¸±îéô$¿·Ó;Eäà4¿³à×ÔWz±9(¿²²±´š¿­ÔöŽ9¤º>4¿¡ œÔû=¿ŸÎÊì{*"¿™ä+u°P—¿—ׯ_@W ¿–BŸùs"¿–5ó?ˆP¿Ž×ÀÿÄ g;2¿Œd–‡_⛿‡})<õ†º2*¿„•'Y#¿„Li¡Æ;4,¿ƒ®}`™Ÿ;2¿ƒiíâ€o{¿‰6ä­H›4,¿xû?›S ¿w8j/=ãK¿tٌׄ¢A%¿qnTþà@D&¿gÁŽ~ã3#¿eÆ¥‘H*)2"¿c¾°Ü9žÞ¿\U:%ñE/-#¿[Я*†à 1*¿Uqd‹G; ¿TÝñ¼/d: ¿S…—hÚ¿B¿O¤>à³Jþ=+¿N¡bêèUê¿Nlyÿ¿˜Œ ¿MäÛž÷ : ¿M‘òWrøÕ-¿Mˆ,­hÚa ¿JÁm# ÄŸ>4¿FNªþ°°Ð ¿C5 N]©#¿@Ì´õW&¶$¿7’ŒªŽ:  ¿5¸øÆàô¥¿*³:ÉŸ?¿%êÓü=i-¿#Cw%í©Ç$¿ ø€GSÏ ¿,ðW60(¿ÙÃ#3+¿4Óp£ü¿ê`º‘(Ÿ¿4%Nõ(3+¿¦ØÔÞˆ¿Æ2nß²2*¿ „zZá ¿ûÃ7ètÑ¿æû,«õ¿t@» æ ¾üqs–žÙ^ ¾ô–.ðÛ„ ¾óÆ4oª &¾ò'µžž£¾òõ˜ÍD€¾î –!Œ=6¾ìiÍdYi93¾ç¬±¾å THÉmW¾à*€Ö ¾ßcŒÑ*U 0 ¾ÙûUžè¥9*¾×ãš/ð3#¾Öh»`â‹&1)¾Ô 5Ìy¾Íö*³³&=<¾ÍÁÌs8µ> ¾ÍB}Óœ d#¾ÊÐÍý?.”#¾ÊÂã–Î[ ¾ÉZua X ¾ÄÆ)+ÝA¾Áð_ðÀ¸¾¼Àcʈ𠾺ˆã´›8¾¸Œ¸I®í¾¸GBc‰c<>¾µî!= ~‹¾´ämMbzW0(¾´7kW ¾³äÑ´ú_¾²Kw¥Þ ¾¨¥‹ÛN’s¾§L‡<ì!¾¦KcN∠¾¡c´­¾”5¨°Ã ¾“ªI>…Î ¾èÆÅÇtp#,¾¬¸ulúw¾‹b?Ï41)¾‰ÿΊû£Â:3¾~ÕÎmÅ&¾}ð#—]~÷&¾{ ÎFÐ;2¾y#œÐά#¾v–¤) ¾t#ç b–ù ¾r5Lç©ê8¾p™Hvþõ£2*¾hf?_ꎾfjËTо_M…܆¾W ƒøx‰i¾S/ÏÌ%²¾P Ë&«:¾MÙa É"¾HžúÄhݾH ‡­ ¾>¡ºAì­u>-¾=wêð1lr6.¾= QÝ#èY ¾;Þ ÈkýT¾: –KÛAi9(¾6©á©‰+¬0(¾6ž"®-;x>-¾66I)è¥ë-#¾4r–xi»s"¾2ˆH¾¼ò®2"¾2›­0Ÿ`¾1~õKXx¾/Œ.·wû=¾ ãíO¶'¾¬'Éí:<>¾›³e8er:3¾¥òúm¾Ù§I4|Õ ¾ÿ2é ¾Cóßò¾ ’v±ˆp,$¾ ­i-¢Œ ½þÓëUh#1)½ûÁ“¢aI¡½ûXÞµqR-½ù¢@f‘é89½øû9"‡!½ø Ó ˆòÜ2"½ð¢äCœ¹:1½ëªFÖš*#½æD -Z<2"½ãæÄ ÜŸ<>½ày4ßÛQ,½Ú…Wql0†<>½ÙôJœ'2"½Ö€l½÷™è1)½Ò!(¿؇93½Ðà¡8¬4$½Ìg>©îwÂ=6½Ç Õ‡(1½Ã ›‡ÐÇÂ:½Â¾¦5’€„,#½Á#É\¶¸l#½´·ê¾O©0(½²X5âàÏŽ;:½°ÍO(ÏG4,½®õvòßêͽ®¾ c-„»; ½®yY@»(§:,½ªþ°èMó¹'½ª&Õ:ûäÙ½¦š«ö±Ò4"½¥ø¤¨ð‡Q&½¥Î¢3Õ7"½¥ÊíJæi6.½¡…h ³çнŸ£ðomµ§ ½hßÃlp™<>½šš©d@Ö;4½—/ônEñ.2"½‘æ×%ýí½‘öγ3È2"½2×HyçZ>-½Ž=+wzAž½Ž>;3ÓÛ=4½–3Um—]½ŒjaH~ùÑ3#½Œ<ƒþ2>-½‹f¢äô½ŠšJƒû$½‡HO<Þâ6.½†ìÝ“æ ½…93þ Ÿ6.½~'‰ÃáI½xÐ'Zê;:3½vœ>sY-Æ* ½t­(Ân ½r_Vô”ñÆ<>½kßd³1(½i ^ö= ½hRÓB & ½dO·Šœdƽcë7¥°²¸"½\“l÷Înf93½Z5쎊µ½U6°¾/Ô½P×À7„" ½H1­çÝ ½DŒ®u ;2½D_À†N½-¼ù’ï™Áp¼øGåìVô 0(¼ø Æ¢Öæ£=¼ò:Ò¦Óü¼æ²Æx= ¼ÛÏÁÛIÝŽ¼×7~p(s¼ÖB¦±±yÙ ¼Ô”ŽÓÍ4$¼Ó4åVú>-¼Óõ?„ÛL=¼ÏBø;'¼ÎöA{¼Ë|òÃ¥KX ¼È½RÜuUN2*¼Á=É—J 3$¼¿ˆ:è¦d ¼»¦ý8µÌ-'¼¸Ý´;âA93¼´.SFN2j1)¼³õ–›pR¾-¼¬Âûg™#`:(¼ª½x3ßÁ3+¼¦£]ùíL¼¤p ÿ•2"¼£ø±\ߎ9*¼¢Ù;zCŸ=4¼ <:Y2w0(¼Ž—öQŠ˜Z"¼ˆ³Ü÷.Sõ=6¼†›ý~ø©å+¼‚—jíèóA¼†pj ± ¼}Ÿg=ãè93¼{ÐäµÉo3#¼xñX™w;=4¼sG ©,&¼pÏ´‰íe&¼oL&¤æ$¼nøøvÏò&¼m‡€f·í#3"¼m6mS'ñ¼h4{HÜÒ‰ ¼e`Ù4]O¼a(§(Iu7¼UÍ: Ý%„:3¼N¼2ÐfMÌ;¼M–kn¯#)¼KÄ_?î 93¼Ke‡áñ ¼J"`y¥bd#¼DC²ˆßT¢¼?X’“F=4¼;±+{å‡0 ¼;L¾éˆ ¼5Ë ½ìÕ9*¼5Dof²Ýø¼3y™ã²A’<:¼1Oû¢ÜŽ7/¼/¬—h‰ì ¼/pe—öá&¼*ºÿ Õ›¾4,¼*¶ÐöåúÊ:3¼*¶ñ_i&¼*oHȃ™ ¼'~ž <>¼'™ý@?#¼$Ö‹xPœ¶û9*¼4'©þ>ç!»þÕב`¡Î<>»õ¾Ã< ‚6.»îßõëã»îw™,#Ÿñ6.»íÚžÅåpÏ#»ëÄVMÎm“:1»âçiöº·Y93»à%u-þÞ3=6»Þv+ö×k>-»ÝeæË:’»Ü©x±x0(»Ö¥H»išF#»Ä6ÝÓ,1!»Â££FÐ=»¼»¿"”Ìx0(»¼nÅãðŽ%»»t¹¹ 4$»º§vÐç®9*»·s•ˆáAŠ9*»´¢,AŒ63$»³Ð*øgÉ<'»³ƒÑyª¯»²9u”çsÚ»¯fø-êã#»©º?93¶»¥YÕ¥øë»¤ˆbþÜä•#»œ›qàöðr»›¨ÈSôÌU=<»ÌŸ#ž¼‹; »|ƵmFX6.»…ëaIÉò¥4,»}áéu,h‚»{¨Fö‹#»zÁbb”T»s…á…Àí»nU5æxÉ»fi EŽ,»b¾i0ª’3+»bL`ôÑ75%»_Á~þ†×4$»]ú‹Ãµž»!»[…˜‘ógà#»Z3,!%»R®õÜé—‰-»RˆžhQ»L ’‡!Ëw »KÚ±î Qo<>»CWdàM0»A-rNÆíç »?PÃý:} 5%»=æñ´óO¤=6»=\…¯¯$»9HMÑÝ­4,»9(µ3„âY%-»7é úlê@9*»7†ž³"»7<`¬ÐEy*#»4ˆT!%‘U>-»%',:tœ »"m˜‹a>.6.»„_ßiò»~gçì¬}6.»3·´È»é¼%O&k»ƒœ>Ήc;2» X¼ùK}w4,»* ï&Ÿõ4$»ÞÙ¥0(ºýíZ¾zo>=+ºûŸÙ¤ß ºö™mUw ºô_*­Àºó¼`/°{:%ºñ­f*’$ºñQ>±æ»ºïŸœ=(ÓºìŸÁôI±% ºëiïO”æ–:ºázœ°H•üºß¹oîå,$ºÛn;7u™5#ºÔ,c×Òú ºÒd]`W3&ºÒ*·9ïÝWºÐ•¶c9“U93ºÐT«%®ñºËrqù²f@$ºÂ[Ùµ8ß1)ºÁÿîr´EŽºÁ0íã’ g&º½&~#$ö-º¼Æ;·pz‚#º²ÌyñÝŠ=6º¬}ÁË~ðe º¬% ÊE•Ǻ«¶2*\¹†-3º¥ïÝ[*“ º¥ZÖx†¼íº¤ú]ˆ4$º˜ÖÝ õÿ#º—ö–|Kž' º5@,%º³ìãÉ]2=4ºŒæ"Ó-u º‹Íøò«(ö$º‹Í€Jþ€r;º‹€Ý!™Ë¡1)ºˆ;ri&ñØ#º‡K7š¬ã,$º†hQ]jÒ&ºBC?Ç3#ºC&P©¹z *º}¿ãHšK º|1 Ü û ºwV£¦ñ7/ºu㊢™`ºtþý\T6ã=ºt-:ÿ7/ºhFî3<3#ºgÖ¡J«L1!ºgT¤¹%z&ºbǺÍ{qS º`7ñW /º_ÀªW· ºX¹•èƒ0 ºT±Ë2`±C4,ºTÀ~è$j=ºQŠŽWºOt˜7Ö $ºLdû¨ÐCÁ ºKc ˜š·!*ºA¥˜øJ¶Ò4,º@Oâm^+›2"º<\pðy6.º;£<ÒTD&-º8ežw@ 4$º4—¦îFfܺ.c}éµ<>º*Z‰T¨º'Á¸ÒM<>ºpŸ‚L˜:1ºÔ„nÊé=4º=•£Å ›#º=lŒD»– ºü¸ W3<>º  µM¯5l9*ºÜogTè1!ºË÷21Žw¹û›PšÛ‹v¹û)Û‹`@!¹úÑ¥|ç§Ñ¹ùÊlênå+#¹÷ÄV_9¼t0(¹ôC'K´Cï¹óºnæí6-¹ðÚnäÜ—¹íàü²Úbʹí×ÄW¹<>¹ëîÉ쀻y¹ë’Ýa)õ24,¹és81µr¹ânÉvEÁ ¹â JHJ.v$¹ßB¯PS0¹Ûí^ØëO"¹×ô;²Ì¹×-ƒà#Ô¹Ähľ¤‹®¹Á‡ì½Ðo; ¹¿®.§Õƒq;2¹»ä,vÐ* ¹»!¼ÕO‚O9*¹ª]‹rUÑ2"¹¨ü2|„8¢¹¤ä8X1"Û5-¹ 1·ßÆŸÒ¹žç¶ˆšÒ<>¹¹Õ¸Ç4-¹˜7’â`B ¹–!‡}ä¹6.¹ŽÔ<—d¸$¹‰9ç›ø1 9*¹‡ˆ‘s×j ¹€\›ìñ2 ¹~À¤ûžžL1!¹|'g9“ :3¹y 6!ا9*¹u¢ AF>-¹qî 2L(0 ¹q ¤7ÖÊ0(¹gr7!lX#2*¹a|äÑwo ¹`&áˆêgÂ<>¹`#í:Q.c ¹^É•ð²h#¹Z =Oô¯A ¹Rð;ÅF*4)¹Q\˜Yd‰Ý,¹N*䉻 20 ¹MB<5ù6ð !¹IæúF¡Z¥ ¹ErÎ !%.¹?OÐA ù#¹>gZô;d(¹7,ÆàÛh2"¹6¤¥WÙŹ5_…Ã7} ¹.éKÉ—¹)%ÐnK†… ¹(´äÐW»93¹9@¼ìÔ¹m0ûñ¾?¹çOx:>-¹áÂR‡þ>-¹÷zÎcE¹yÀöq’Š$¹bÕF.a¹ ŽÑîâ7/¹ׯ޹q_ ¹ íV«| ˜:¹.÷êJVÈ;2¸ù™¹Âåó$¸÷¬,ª´Q"¸ñÅÖ+î'± ¸îR˜ak*!¸î ûf•,F0(¸ë^'s(=¸éœbcømT3+¸ãùÞ5@ ¸ãÿÖ£ße2"¸àè¢ÒU¸à¾<è¯Ñ‘¸à‰0à\á ¸Þ´q˜bªÙ4,¸Ñž¨¨x,8:¸ÐOï’&WS¸Îú™ø÷¢Ê ¸ÃŠåúô½÷¸ÃL³€yhÉ#¸Âêßr’ô€¸Á©è”4 ¸ÁXMžÖÌ5%¸±hÇát¸°!ƒ/u}™ ¸ªGÐH½å9*¸¥ËaÚðq;)¸¡ þ—ά=6¸Op†.!¸—I84mø7¸“éʉ•”©9(¸’þ.ÿµ!¸ŽÔ`¡s¸‹] Pï—×=4¸Š/ýÜ<¸…²cÌjh&¸‚Ý{c™ô=+¸öÞ@å›;)¸vî~Gà*N$-¸s¿¬í³@=+¸mÉcmÃ;2¸m *á¸l [¾ºñz<>¸^ ¼WŸS<‡þ‘Ö2*¸R“ ; )¸MZý‰~óQ¸L·^iÄ4B#¸J eÞÈU¶¸Dãôö­†,:%¸B=E™Æd ¸='g-¡šL;<¸5q“° Ù ¸3 *‘]¨¹ ¸2Àiò}Ð*4¸,⯠2Áì1)¸+" wPÙ¸*(T²Y%3+¸'á°À¸·F¢ÏI2*¸òì¸Ý:cƒè3+¸Ñ5ê{¸^Ç¢Í踜8Š„Þ3+¸ß5B~Ä ¸‡ë¿YŽ,#¸Ëò±}3½!¸ ™ö Êã9*¸ ƒ,éÔК"¸ >ø%V”¸ULvÙ»+0(¸³Í€Ä± ¸]·SD0 ·ÿ›¥„ì²·ü†Wˆ¹¶3+·üwƒÜŽñ5,·ûÉÝÎÒwœ·û}GÄši,$·û|`cµJÚ&·÷õC%™,+$·ò'4‘`"Õ ·éÀ&ÕÂxW3#·æ‚¾ct4,·åÑ“ÇwÅ1!·ã••ì’ºD·áƒ¨“ß;#·àd‡kôE0(·ß¹<ç;à·Ö•¢oïô>-·ÖI޳ū·Ö:?jþ‰|6.·ÒŠ­}ÈO#·Í<Éé 2"·Ë’+|ó·ÃÐŒ_ %·À<ޏÁÎ;4·¸ThßÁ  ·µË'lìé; ·²敹¬; ·°åe ’LØ·®„šŠ{¢¡·­Eˆo;·­Ì‡;-·¬YsBËlß7/·ªF~mÒ$ ·¨õ9`]¸;2·¨ ±£Â).9*·§Õªôï›­ ·¥§g©ú> ·¥’xî²ò¯ ·ŸìWËJÌ ·š|;†u 9(·˜aɺŸžA<;·˜¡Ø‹£·—¸ä™Ó·—+±P»·–£ßi @ ·”zÙK›²·7 ¤>9*·òÍT˜‹·‹Æï‡Å>…6.·‹„wÙÉ>-·†:plç- ·zd½Øi1!·umàk º·mü¢˜„Yë·agQ7“Q¹ ·`é0_‹ì|-3·_.¡ðÚ·Qo> ̬3+·Oï‡~«îзNÒî—&‹=6·HÛ% \·CTƒ÷#F1!·AÆ Àv·<€ÃyÏ0 ·7­dˆùóB0(·6?ï-:|2"·2â}VÝ 8:1·2Æïï%N½:·1ô!¤1 ·1i„ä׽ѷ. €|¡93·,®òàúþÝ ·'µ†(÷k>-·$Ûœ5¾9*·"A|OÚ>F<>·! <}"Œ6.· O›Ý>Áa#·ZÀƒ  ·ÞÈ–?1!·¸ÑÝŠZ¢·²£A„÷«·BënÒe$·œWk¤v ·ýédÜ-&4,·=‹+¾V9*¶ù‡t· ±“-3¶÷ó*<ÍUú¶ó¸6¥ÕØ ¶é UÜÂ(1¶çîr >6º ¶ãñº ¶”ch¨¼RŸ¶Ž°:É—ÉʶŒÅˆR,ó> ¶Š\0ëgðã;&¶‚Ï *5À¶‚•»½Wwè<>¶{É<÷Œr¾"¶zçõGg]¹#¶ußfê ¶f#¶f1«`‡*Þ¶^ V~Šú ¶WUCXrr"¶R.}øž$¶RIªg¬¶JSèKÿÔ93¶JL¥4++-¶J5³Í3#¶>Øö˜Ø2*¶<ôåO¡¬è=4¶<ÁÄ]F:%¶3cÛ #‰&¶*ùrV¼ ¶)æ×T²W¹ ¶'Þç‡VÔ-¶&˜e€`£41!¶%ñ…›ýŸ¶"Ç?æøÕ¢¶ »óóç“Ö ¶lZ×¼6:3¶Œ%»Tï 9*¶DÂÑžAÕ93¶qªüG¶¼8ÿ<|2"¶.q4šÑ3#µýk8‚"°µô`©Í8AµóƒwÿE!(µïîDL] µèÞÅï‘ÓÞ4,µç©ìŒ'S4,µåóQ¦s 5%µä³MüÖ&È µá<*ÛDœµÝñnÿ%›ÒµÝß©$›Ó <>µÜsB¼YNsµÛÝ3ŒÏ µÚZ^$¿à`µÕ:åtjŠ0(µÍ˜í­Ãn6*µÉψèÜÙ&µÇcÚæ“¨ÖµÆB‰1.Â-#µÅQíwC ”4,µÁ=+³ûÜk"µ¿±³ËßÔ”>-µ´l“"|µ®îŠ„ªÂ¬3#µªÔ´ð©+#µ '%¹•÷l µŸîOv$cÖµœåö-µ›Ý°å~)3+µ•F=T¬>-µ“"ËÖ=³Ñ3#µ‘ö®´ì1)µ‡ì­p «:µ†¨Ó¿xÝ*"µK^èí,é0(µ€ü•â  µ}ÛOÝÀµ|u‘r0T3-µy i+·”µxÃ*/‰hf4$µxª:𬷵wµxËZ$µt©¹÷Ëwµtš;> n¤#µt™G>íÂFµs+GŒ%í µo×êud?;2µnúUºáòW µb®YhÑ÷Ç;2µ]¾yü=6µ\Ë烣¸4,µ\š q86µEb\”ÏÀ2*µDCÔŸü/ µAÇ]`@úµ<û«<™yY µ<‚’>õ«µ1n Uyä93µ(;TiÔwÔ9*µ'þ c-1Wµ"XßvB,$µ!¿„‰µ WA®Ä‘Ê;)µ¯G­™Ó; µŸX¨ƒô:µl™Bà¯+9*µkgBe¸86.µÁë‚1*µô¿hÏ-ý<:µŽÿ„g µ u5ÿ?,$µ oŽ…‰"µ=å­²âµuwÌ’¯@$´ýcÿ¤Ä*´õáuÖ—93´òüB؈À´òg 9[bþ4,´í„ÏŽS=5%´íNTœšTà4,´ì€îŸš)f´êš©iŸ ´æG⊊«=6.´Û(íÀB!2"´ÙbÃÈ Hz1)´Õ uY’É89´ÔB H%³P!´Ò”á´n4=6´Ñ ðg»6;+´ÅŠ5õrø>-´Ãèb;½™;´ÂyÀlñv© ´¿?­î,sû´¾„rðσù´½–š~r%!´¶úë´Þ ´³ØÄ›áÆ4,´«}kq@ñÖ=4´«]‡¯É´ª†•ç-³ ´¨Áx:sû2*´œ™=¾$´—ò‡t-è# ´—uWÑ…üp; ´–ª©Ä4}=<´•ŸÉÛ% à3#´’Úö ²¾´,$´‹±‰â´´ˆk «¿&ä;)´‚6±úÊ—:,´ö,åñ„*4´~y-êx^N ´~a,[!/§7/´j×%'‡<>´hFÀÒ‰Ã4,´_Ù_ ´]rKƒDŒÜ$´ZN‘m»æö;#´YhWÕí ´Ydq!À”Ò#´Y7j°éí½2"´Vš‰x¿ä:1´Kâˆç†\´E`mP>-´D¯b Wû;)´A«arÅ93´?~šo€z=´>D¸2üë ´<Õ °1®Z ´<µ(fGh´< à¬<´í#´; (' &´:ÞЕ‡\Ï:´:4ÔÍ€%9*´:ü‡f =4´7תµPB&-´2¶“#Tö¾=:´-KK7š:ô( ÏâŒ9É´„-òç‰&´o tÛ D´Óˆ-Ýs¦´dG0ÂhË#´#iJ1—Ô´J—)ry÷ ´<è?ˆ]³2*´U{¸–š;´Ûç…ŽÔ#´\#bìe´We-ÿ£=6´ p¦AÍÇ1!´ Cá±õ¹ ´ÜYMç’ø#´Ýt½¯î:3´{œ¡( ³ù"@oR ³ô3!·–:³ñƃx€í7 ³ðU»–cù³ï’„/‚jB2"³îù/¥`³í’pe¢ ³ìWn}_«h;2³åQ˜Ú {&³å‚¡£*><>³äøÆ“Gä”4$³ßþ‘ž…™³ÛëöQ1òý ³ÚëÔ3=ÃZ(1³Ø;I+;‡{ ³Óüúšãs>-³Ó^ŸªàÇ :1³ÑP€ŠUv³Î{áý½­>-³Ì#_÷Z ³ÃÐÀÝT5ý>4³¿Å »ÿhÚ4,³²X‘þ!Ô,³±èìw֛˳°qC'Eæ=³¯Ž,€©O#³®úÈL¶™¬-³« 0viž:³¤\ŸÛYs ³£ˆÌƒ– Ï#³ 5tMYÉc2*³ŸT?QJ5,³šju9£(B ³š#0xnJå$³––€’#u`³‹RGÀÄ«¼³‰5£¨|³…Øof3+³€W„O›] ³~Õûºþ1)³|3âJkC%³x¾÷ÇØ’º³såÔ Ú{#)³sÓ±„Rq:1³o*×à¹t*³j"H¡ˆ±3#³hGZÜ ³gÁÌ÷Ære=6³cú˜ª –1)³a´9B?¢ ³`„ ÅSXª³^ji”sŒ=<³]-ÉYY€V,#³\£ú¦2é0(³YG%.¥ð/'³U2ÎoZ˜º:³S×·0À~Ñ;2³QY‡õ¯€@³HöÑÓ824$³G”•®p®;)³<«ìÇÞWu³-³ô"E :²ÿ?%¸I¹3+²þ…²ËáI²ý¦iE©oï ²ûez¯7ת=<²úY±? nÐ9*²ù1éY: ð!²ø_ýFŠûy²öm:¯Fn3+²ôÖºfÂɲñ•î3þ#²ñвU=<²ðgQ u ²ðXTšö=;²ì™b7ÍØ$²ëÐ"gB$[9*²ëÅp°©\>"²ãã2"²àºUÊûp>-²ß´Ài^¶#²ÜžØÕ–’-#²ÛìÀ BÊñ>-²Ö¹n‡ 7>4²Ôi¾05²ÓOèÄΠ ²Òè7R³X&²ÑA±[_ê…²ÏX·×L=4²ÈžNZýù3+²ÄP=íü`ý ²ÃÒlä…T; ²½¿:ä–0(²½«"ŽÃº: ²¸£àe—i¨5%²µþhÝ8µñ=+²³=ðµ—«4²°ª[ ãnÈ6.²°'g „393²®^û81?9*²¢äŽmÜ¡¼²¢Öº2XÆð²¥—›š93²•SwÌ7zR ²”„ØœÌu3#²’yE§üIq7/²ŒÅáåƒð3+²Œ}S…YE™ ²Š‘ó_*$²ˆ©ÚþhuF ²ˆ¦·ܨy=²…z­a… ²ôPôc;2²€‘¯Fû3#²}B榉<>²{8 ½{á ²{B‰ÛR$²x½9º(Ôá3+²xZ’y t1=+²uA Så92*²s(ÌP9-²q7»5‰e9*²lSe»£6”3=²ji%1gJ11*²dÒst{õ#²_ßÜs†*²^I^f{„ä²[£:a†ë ²S=Xaý„Ò6.²O^gåì>N ²NÖzèyäm4$²NŒ­Òî$*²N‡¥Ç‹‰R<>²MùUÿtÅ" ²IòS½ Fà"²I=¹`‹üÌ;3²Gü¿ö}sC4$²BÆÜ‡}N€$²A‚Z[ç g93²>8¹'s¾n'²;×¥qªÃ=²7ܤ²I¿1!²6‡ë‚ ²3HÓÊÃç¢2"².ùÕ°xhí ²-å¬>ÀÇŸ ²'tÝS²á&²%èù%¿-²#.©VR=6²!I A펤²âÖ›6&²3Lúyöd9*²ó?`‹›0(²¬F»ËÜi2"²pÔe ¤,=4²IZ„am¦9*²æÝ@NÛ;)²6™ d§:1±þ«GŸ¬z ±üú©ÛtÃ;2±û~ Ûk-&±ûoHR}; ±ùŒ 1c^…±øNÝmGY#±ïs é|>U±îÚn4­*1!±îÓbT0±ë@MÖ‰ÓÉ2*±àÜ" ð3+±×#¶ÙFc±Ó­¢ô°à0(±Ë0ëE6^½9*±ÅX"YswG:±Ãoû®y3±¿Á²(²*=<±¼&°e“}ű¶Nï)n ±®v„¦N#±«gRS1†:,±ª|’õ ÎŠ ±©¡¾æ4,à±§m…˜ü!  ±¢\à•i„ ±¢ OÀZl€&±ž:Õàwu 5±™Øf'`/±‘‡^EáÒC0(±áØ—½<Ü!±‹ f~;‹±Šþ³XÞë !±†n%<ñGÿ; ±‚lgwñŠ ±~$ò ãy6.±{òd§*6±x·»uäZl>-±w éØ#±w=u´/H,$±sðû,™ñV!±p‘ì(î ±hO“DžÃ ±g© Ê‘_æ4,±gi”‚{.·7/±`q˜ý!)–±`lô×ÁBï±_Âôá[‚Á ±^½D@á߈3#±XkÌI}}L ±Oìéñ -#±NC<â%ã4,±MC²LE=±Ks:Ã¥Ä}±@þ#_QÈ=4±@oaÁ^3}>/±?yàVat]>-±<,vd¦å ±;æ¼Ø‚,ø±6Áõ-Ð:6&±3Ђ“éè?8<±-€ŒI®è;!±+H›U‘6.±'!Úqd¸¥*#± Ì[¦æ“3#± ‘ŒçAá±ñ;Ùmã<>±»Ÿñ¶¿2"±çˆÌqÓÙ2*±5‘=Zá±¶XÁÎ)~7/±y–É­=6°õssàÁõœ#°ó{CW!1` °ñ¤lE•H°îeÃJŽ °íÌ ¥Žz°êS_Í?! °ç)Ë=2†3+°âØ”†r3q°â,So—y#°áñºB¡Þ:,°Û˜Muhã°×<†‰û3#°ÓÈ3ò¿nÊ>-°ÏÒÔ åZ‹°ÏGwQ$ž°Ìjnêa_®*°ÊC»Í€&°É°-±õQ°Ã_œmÀ±I3*°Â:¦IMþÄ °Á§p[GüÊ&°·mȸ¿G4,°±°¿¸h°°”¬7 Äc °¯/¾îÌXi3#°ªŽlcÈí°©±+}1¦e °¦©ÑÇó:1°¤ÔaY)vù°£ˆR)=7°¡'ú[“>93° ›íœô ö°Ÿ±bÖ¸–E °ˆ¨Ž.ýn3+°œN< ¿C °šù~h½Ö3+°šÉÜ^lç0(°šw°Í°™2 —¨ °˜QǨȿ3#°ŽÈÏßæt:3°Œ'±r8ö1!°‰é[m!ˆ£!°…›e³p· °‚Kù ѳ&2*°~$è:N+5-°{‚£àÃ<>°z+Æù°xrŒÞƒž#°w>5¬h3+°no ,x;3°jÀ—=°i£MŠæ„>-°c³ó7Í131)°b×[ u·¥-#°b§Ôg-dZ2"°_3šJ ¢_ °^ôSÈöRî°^ÙÜ[%Lz<>°\±ÛÁ°W:òö‘w=°UÀT¡üwF°Rð+º¸;) °JóAN{:°GÉŠgùŸ0(°F8”9\¨3°EP Ÿ”(ü°?rôÕ7EI6.°;®àT”£93°2‰ëY,R5°/A4‰¯­}°+”ü%HÃL:(°'¥Ž¬ikß=6°%ƒZÕ2E&°#Ö"ä#"° ðd¾S4$°cºka4$° ¥Áªë£N° 2µK Íõ%.°ôKÜÓpí°Lx’KX$¯úפÜ5ÜL5%¯öD‘àÜX¯ó‘É\pίêìþp¡¯êWüýÕ5%¯è×{nðW:%¯çù9º½ð3+¯å¢ÎÚ "¯ä=¨`„ƒ2*¯äEÉ·Íÿ@4,¯ãÕùh0ƒ^6.¯àK§Ôé*#¯Þª¢ØPµÅ¯ÝX{®îq ¯Ýj/Ó  ¯ÚwOܰ˭93¯Ø¾±Ó‘™å ¯Ñl\ïIaÍ3+¯ÏíSÜ7 ¯Ì‰í§:,¯Ê”XqW¯¯ÇPzH>¶±6.¯½^ücpJ=&¯½"¼®¶ˆy&¯¼þÞ š¯®·2áë†Ý%¯®7½ú=J/ ¯¬Ð; û¤¯ªÅG–®Û4-¯©†–,ù\>-¯¦úËßqaK¯¦´q8.d" ¯¡Ü‘¦6A€<>¯¡cQ¤¯ =<¯ «y{ßÊ-#¯Ÿ±ìg]†™-#¯žÐ)¢Šb1;-¯@öTÏݳ<>¯™>u±æ1“¯Ž> ŒšÑí:1¯‡æ­R´"¯…X›ÏâÁy¯ƒ‘©IŠÃ ¯‚“="")¯xk8ç÷>* ¯|èγ´§µ ¯yÁ>§èޝwºôGè‡ö<>¯nÓúÓ6„“¯g‡È1,«Þ ¯b5#CƒÓ$¯a-Ðõ2Ú4,¯_HRvd0–¯\2+rðhJ3#¯Y ×®M¯XÒÖ "Ú¯Sá»Ý}îq ¯QàÊ;£É4,¯Pù꯳üè ¯M5Ã.Ê ¯LB~²¹Rˆ¯K0_éÏL\2*¯JªÉ¹…ÿ ¯G«Æ¯Þïa9*¯Ab<ì×Y] ¯5…Õ73#B¯2'oÏ­D$¯1?A*`! ¯/ËÜ$lS·93¯/>œÅ0¹ *¯*¬„¤a#ì¯*Ñ#ÿ E¯'¥jÚÆÏ;¯%6‡P'þ#¯!éÙH>­’9*¯.úÖYíJ ¯ñ^Op`Ú¯j ñ€o 9(¯TÑUÞÏ#®ßÁƒ)›‚ ®ÒŠòÈiÐ=®Ñûï»Üǃ®ÌØÇvç| ®Ê !£’ ®È\I‘[xÄ®ÇÛ0|E…2#®Àú¯ 8™*4®À»€¤0<=®½G¶Š ‡0 ®½"85&Ü3+®»w–™ñ4,®¹¡M¯OtŸ=<®¹IF•~M®²³Úíc½Ò ®­ˆÛõü·p®­{¥2n£"®Ÿ‹…W˜¬4,®™T˜CQÒ!®–y€Ù^…}®è·êêø›4,®‹åŸÔ­K93®ˆG DÉ=+®ƒiJÑÄbY1)®‚ƒ_‚ë0 ®~¢Õyz/¾®}<ûp~µÿ=®|·ÃSìj<>®|³Öëèª+ ®y;¼’¬œÿ$®v„™XÒ* <>®qþXá×®hK ­‰˜"®dÝ-kó ®c'mO•F!®\l`Ug]L7/®VÓ3$Sc›&®UË?êJß®Sä-õ˜1>:®Rv«‹–›`®Q ¸¢!nr ®P=ãW×îGwC`J‰2"®DÓhß_µ®<(É#Tz/'®;ÈŽ¦/â4$®9öêÏS(u6.®7Ì<7ùc* ®4ÚÔ ·®-½í7vç„&®+. Gg1‘9*®*ÔW°GÍÔ®&œûÙ3ëP0(®Öé[[®iå…EÆŒ<>® bœ Á-® þ3®’à( ®Î-Fç­ú!qÏOÎÇ<>­óæ v#ë ­ílÝdj­ë¶3´ ÍR­çf¨¾ëg#­ÞÚ´;Õ3#­Ý ;ãÀð2*­Û¢ìƒá¤ð ­ÚÁ}ƒaÆ>-­Úœhàç-­Ê¤ñ¦^1)­Äâ_WÓk:1­ÃVÝÆ?é ­ÃD#ò,™4,­ÂÀü‹ ª± ­¾áa¢:%­¾q›sÈ*&­¼Ý­·q—1!­¼B.È6UŒ#­»ö]5}‰!*­µ·Ü¥UÆ-#­¯=¶ÈAS­ªAwr’ ­¦Äˆ?… ³ ­¤¶›CLôo ­¢Á‘gâ H#­¡Kíu¢n6.­¡+„„à­ /=~—!­Ÿ¢ÜJZ_q­ž×ën µÆ=6­ŽT?L47/­ŒèHg!>-­‹—fÆÝ¡3#­‹`ïè{2¦*­ˆ‰äN'ª§*­‡™®1<› ­†Ë`{ô¤­„v168 ­ƒÉOlšå6.­¸3°œO˜6.­<”„¥ø; ­~ 2)(1­~G ,Ùž:1­gÚ-'—>/­\tµ L¬½ ­Væ)Å3–q­J:œÌ=ó-­IÓvO*Ý_ ­I*dŸ¨ƒ$­F`11¾µ>-­DÑ›4%ÿb­Cêüst*ž­?Mcx %­4GV*Ðå®­3LL›-H:3­Ã¤/&¨&­ ²~q9Ú­ýæW¥Ä­¿Imt*$­h3è}#­s…ç§f ­ ßLÕ~)­†eyÌ­0Ú¡+„­tƒÿ_“ñ¬üÃns u>-¬÷æ^$ÙÏú ¬õAŒÎÙö4,¬ïÆ#‰_Vb9*¬ê †ï´´Ò="¬ä¨xjK£+¬âäW'ò>Û¬Û‰ÿƒ0<¬ÙèeÆ~>-¬ÙÖz#r!¬Ó^üUû¬Ñ·Ë[•™‘9*¬ÐuOüëû4-¬Î‡_£Ùý5%¬ÍŠZ{v{¬Åp·EÓç5¬Å&`ON‚‚¬ÂW/î E¬ÁÈ Ÿý ã9*¬¹õ[‚o13#¬¸‡ØÅ£…=4¬¸¬°B)*&-¬·KRÄEþÊ<>¬´òÉ ¯·9*¬°ƒŽªœ2*¬­N „½¤;2¬«šPP?ÜÕ¬«¹&à(k*¬¦ãÈKÄç,#¬£…!ÑfŸ.-¬¢Nä·ÛË ¬šÄœäÏû9*¬“„Éò¾í=4¬Ê<#f½/¬#eäKI4$¬‹åÈ݉'$¬‰y f¬‰ ¸Ç¦ È>-¬‚{ÂvïfF ¬¬ øgH="¬€JÆÉ·ñ‹$¬}è\%f¬{K×Ô‚‘ ¬vm!4rûç*¬s3ÂÐKg$¬nŽv Ó:4¬kÒŸŒý#¬jñòÏ+žN!¬j¬;²ã3+¬j;YþÔ1!¬i¼°§å ':,¬`fÒò¹ò¬]ÙoxÄ–(#)¬[ÎIà \Ä$,¬ZUX&cÈ3+¬XŸ~YJ}¬UÊÉR|&í ¬TÛ$Ý`1!¬SØÊJÙEÔ ¬S¸t® ã¬JËŒ]G¨93¬J€u°•<Û4,¬J@W­#Y ¬DÁ¨ÌNË<4¬B8xºªa“¬A%9vI×1)¬;·#QsÃô ¬)ýSƒïé‘ ¬)"Aaû¬ S˜°v„¬f×ë #¬5)Žý°í¬eÂK æÏ$¬°Å‰ìd¬æìÙ @W:¬½»ž,h(#«þ–© cáÇ9*«üÚLqD¨°«ü¢w.Š^ƒ «ü’*d!Ò «÷µ ·B.²0 «óŠaâ¶kP5%«ñ?ÃBÆ6.«íá>Œ¼89«êö™AÛö6.«è£Ùª9*«â0&aq;)«à'¦êS™<"«ßH½•Ù2"«Û™È×õ«Úm–­«ØP¬ËM2í2"«×âù'4«×ÉK¾ Ïn«ÒÉW Å^P<>«Í ºÂ"«Ìóó­í«Ê@Ù€vpÞ0(«È~#ˆì´=4«È—þ¦«Æ9zÜü[!«ÂÏßhI£B=4«Á;0“=Z!«¿«ÒÕ%W‚=6«¾® ^–3«½{ï£Í]¼:3«¼‡Æ¹Æç «ºé5¢ ¤  «¹n4Ü«°¿oATt|0(«¯Ú‰Ó@€«¯A1šï„«®3&Ÿ ®ã6&«›pôÙÚ)) «‹ýÆŠ_6.«ˆ›Ë }œ%<>«†ë~ZÍ:«…™»¨jxI«…R0¤rl]9*«„ÁŠžu«€÷¾?\— «uwšM‡½G«s¹FK ÎÏ «rçäejRS«rmHGç «qn›álß:3«lÜ‹ŒhU*"«i2]säb=<«g´ú0¾aŒ#«g7ëÿs*-#«bž<óµü<>«b.Kðrx3+«`EMòáŽ=:«T—e~-´;4«Mî«Ùë«Fòu—2Ëû<>«EdØŒ=\\7/«=œÅäk *«;-·9àeì«9Ÿ‹’ÿ5Û*«7‘7˜ãÞ\;«7|ŸF <2*«0»ψ[•7/«0)xJL«/ËC+ô‚ª«&옴z)6.«% Ç/cË2*«#G¡ÏÒå -«!ˆL¡½Äõ«ÿgØŽèz6.«àº¾«¢7)Á à «‰KÊ2ï*9«ndVwKã=6«'”aOÜ2*«11úóX>-«ÌÖ×ö„« n[ÛW‘")« ¿»3á{« g/ÓVX™#ªþ•ß ¦WêúçKp“]2"ªøj‹s-@a ªöèÙ€­´L;4ªöá4c^Z ªïRêAáx0(ªïòƒ0(ªåÇS¥§`>-ªâÇ‹Zqc4$ªÕf6ðŠÞ‹ªÐd[-”£ªÍ´áß²¤ÞªÊ3æ ‚z4,ªÈ¬«Üå¤2"ªÇà+Ÿ%¤œ<>ªÇ3³u‰%ªÅ§iL!Ö ª¿­£fÌÿ„0(ª¿ % Ž<ª½Ë'dJ0)#ª¼£š{Ânª·ßŽz 4,ª±ÚÜ…¸•í#ª­›ÞÈSP4,ª¬²XdÇx93ª«¡5õò ªªÒ *»ˆôª©¬Œ¥ \#:%ª£áëvy ª Èpáüoª™‘¬V}«ª–Û2Ö •ªŽ2~µª…Åoȹ=ª‚ŸÑ¹±ˆ ª~7g«¥`†4,ªz‹üߨðªzmÇè2•²ªvª‹Æ±d#ªsåY¶Í¨(2*ªs©P¤âuŠªl->p”˜2"ªgº*0€ªd²$þ*'ªd-8 U¯O"ªb¶¾ª²¼F*4ª_$›Ú~ù:,ªYÖwÞ1!ªX[(JÜd*1)ªUTh€¨¡4&ªU;R±(=6ªO2<ÁÌ>$ª:3:J’, ª8ÝpüÒL~6.ª8£òÔ¶2"ª4›ÂÒŸùTª($b5Mhuª"Šôš¸Gª¾8ì’ño2*ªÖú8·*ªéÝ\d/*ªþümF8­ ªÂ꧘¡`<>ª ;«4$Ñ:1ª s*lùˆðª ”o"ªÚ©<ëY:3ª¾Ôh0Ýœ4,ª¨PÍœæeª‘~ŠUbÙ2"ªÙMFóÁi©ýÅ"ºÿ2"©ú>p×ý3Ú©ù½–à’Ú©öŒPŒ¡©ó7–Š>ƒ9*©ò×{*õ9©îÅš“Zø©9(©í”~h¡ë_©ía¿{ž™Ã#©éúXã­xu:1©ÞÁ;“So0(©ÝVx6Õ ~)©Ûÿi® ¾%=©ÕÍ/©….—'ëú4$©‚n†˜–¶[3+©ídÓ~ >-©k ’0y^=6©~4û"lÒÛ ©|èž?6( ©|©n2ÙQX©v(‰Ó—W©t½º°‘ #©qnEì=™$-©nGÆû =<©jFÅSOš ©fnðFã ©[BäeR[:1©RNu$ˆí—:©M½µ4r× 2*©Kf±‰s¶é:3©Jð«X¶u©I|…¨ö¥b ©G@”ì3+©FI1#ªf-©EF;¯Œ‘5%©?.eÕQp;9*©:(âÁWÝþ2"©2È]"D=<©2“8ý²ìg ©1‰s“Eã93©1>ºk>)"#*©0 Ê ùÜ©.Û™Y‘%.©(xÆS[¢c©&_ù¾†?H&©$–E`˜ ©[øj%5%©I'.Ì3©Ê7Mž?0 ©!@¦2"©¨ÅÔ:m©nÊ÷Ê¢´© íÂBY/È©çÜ,Ì(> ©[š¼X˜— ©D¤¥2û9*©ajÊV†9*¨ÿÇ;:p–‰;2¨ü"où-¨v$ƒ3=u¨r÷ˆ}á×#¨l jÓ93¨hƈMz1 ¨e¾©pB=<¨ba•¶ì û-¨`¯^ÁÆg¨]¯NEÃÿ3*¨[Ç„“L°}#¨V¨ðÕ(:%¨UNm50c/9*¨J´7R¸Uè=¨Fqh·§-¨CÕhïq˜Ö5-¨Bd‘ñ¨=–ÌÎx0H ¨;Ø.@è‰<>¨73!”¤ï=4¨4Ÿ„„y¿º9*¨33RùÌü<>¨2#ô #ý&0(¨0éÂùLÍq1!¨$PI©5|0(¨!‘Ekør="¨Z:@ÇT!*¨8VÂôЕ2"¨— xÓ¨z´³'¥;-§ûà^ÙR•½;§ûИèﮜ §÷¼~9©{l:1§õ8rr+û §ó[hçЧñбölÇ‹&§ñNî5 •§ê8Ư{Í~1!§écG"@¶Õ§æØô K §ãæW[lJ“=§âµ(7øð §âU°ÎqŽÜ§â2€2˜-ª§ÞÑÄïÅ~*§ÞD¢YCl §Ò»?UœÍ{6.§ÏGË'M>§Îˆcj–Fo§ËW%:¾5µ,$§Èg%Sýoˆ§Á»'mc>§½žÂ°j (>-§·bsÒ³ú0(§±·´gó³§®Û¶ø£V\ §®;ûœ¸D=&§©zÁ[‘'ü§©&ŒÛþ7§§Áäu(<>§¦|P-ÎNŸ §¥#KŠp%>§œòJ)Ô3+§›dqÀ„Ø*§›,$á×O#)§•/B6!j§‘Uo²ªz¹:1§´†¢³z1)§G︧z‚6.§ŽÎg\d §Š¯ÿ—AéÉ9*§†Eûþœ¿§„ùÏIP¯§€ã€ÇÄ Â-§~—‡…àâŽ4,§}$ˆ@„ˆï=6§xpMÜS< §wÜeì‚á;)§q¹5[ÿ°§m¨|b;3§jž½2…Ï5="§i ó½«I55%§cÕá-_f„!§bë¡p’]&§QƒÌk‚—¹#§IncÕ®Ÿ+#§H`ƒfõÀx0(§E¶$îpÔ9*§CÙ·Ž<ˆO:3§3÷W^ÍØÈ>-§%¨ÄE§uoØ-(;)§Afu°þ §`Ÿ£-–>4§?%Vb¯=¦üR3Ax­ :,¦û¸¿… õT2"¦úÙ(Âoð¦ó\gyþj#¦ò¾î(ÇJ·:1¦ðçÔî”nx*!¦ì½Ó×$÷ã-#¦ë>b×ì ¦Ô2Aé²á¦Ïö íÖì ¦ÊSÈúšÆG ¦Å+âÚí1)¦Ãx-án÷8;¦Â™‹y„¦º%iëËÄ3+¦±¤Â‚ãä#¦®A4j 릪‡miÃX@<>¦”ËÃVACx1!¦’ØXÎ=6¦Ž­{Ëü3$¦pY` úæŒÀ9çypP9(¦‹«MÈxwï2"¦†{cÓè $¦„óc¾— |2*¦ƒeXY26¦€§Ü>ÚŸÐ=4¦}VÃ]æÒ¼4,¦u;Q?À;ì93¦bÁ5i½{·*"¦ajÈV'ë¦]÷ŸZf>Y ¦]j¼°ÀõA4,¦ZÐ&;Sé9*¦Yv·BçWñ93¦PB‰FÝ5((1¦O/°ôn^À4,¦Lc*н4,¦G #R‘š2"¦C‰Ÿ3÷%¦A}מ‘@;9¦;dûeÊâ3+¦:î"²H’ ¦:Ñ}Ù™>-¦8,Ï·1·;#¦2â‹©É-r,#¦.þ´&„ÝD2*¦-ªâœÑs% ¦*JKgÏH†3+¦"ðœøRˆ¦"M vló3+¦Ê®5½¤$¦µˆ2O[-¦¸àÅñqÉ3#¦ÝÇY¢* ¦Œõä®e7/¦ Ï?cðýî¦ êY|Á'&-¦~Þ‘Àk!¦1ÇŽI¥¨¥ù‹ßÓG€¥ö@HºÅ¥òîb–Š ¥ñN·è¿àÄ=¥ñ#™¬EôŠ ¥ñ Á “Œ>-¥ä|>lx<>¥â•z–¾Ðm ¥à:îéUܨ ¥ßq!æç²<>¥ß^:Ív=<¥ÞòR…}®¥Þäb˜Né4,¥Ùh¦ üð ¥×FêìxÔâ¥ÎÔ”±ñ³ ¥Ê²[>ä ¥ÃS¼”s‹2"¥¿ó±ÙX}&-¥»Gô?÷£s3#¥ºIRù¸=6¥µ%ö+ÙR+-3¥³Œÿ§^¥± øü‡â=+¥ªøšÚx*ç+$¥ªé¨5»u 7'¥ª×ø²´¦9*¥”IÙ¸~©¥’–‰²ŠËû¥‘1…/㥂î ïu¥ê$¥ vÞB³.#)¥×Ì—¢?‹="¥y€và 3#¥uf0w˜}=4¥tK1Õ¥H`‚27ø¤*¥Gð_ßN!«¥Cÿ̲ ¥?§jªõN¶; ¥=ýéÉõ¥:ò±ìš=<¥4j QóG ¥2¥ G+-¥0æZsn+¥.Ù5›î„Ú¥*jbT! ¥)(†'Ê”#*¥ç÷@Å­ê$¥›hi¥Q93¥êg}ü?6.¥Lè”+Û4,¥Bí˜%º ;)¥ƒ ¤–¨é ¥<ávn逸å1܈:¥vj€q’="¥ܶ¨Š09 ¥R™}2ED>-¥ ¶;à•Y43#¥ ªûÐzt=,#¥ ?³ëe†f%¥m8tÆ!z&¥Ã… ®N%¤ýF`Æàäû ¤ûtVŸjs=6¤ö•»×‘.¶ ¤ö‘mìUAŒ.7¤ëQpA:±÷ ¤âÆâµèï:6.¤á=¨Ï4Ú4,¤Ùõ hxï2"¤Ø‹5­±Í ¤Ø€‘rn«}#¤×JR¨ë¾+¤Ô[‚—^‚¹#¤Î¨½§¡™¤Ë s:¯ç+#¤ÊÏÁ¶ÐQ ¤È~E3JÞ ¤ÃC‘J$]¤¾š§ÿå7+$¤¸N£5}¢Ò$¤´CfÓVŒ4,¤³:«¯€ÍÜ"¤¯X6E<:¤¬ß²”À²j¤«†›ÎAuŸ ¤¨$ NÎ!¤¦§ B×…H¤¢?.£8ö#2"¤¢ÈóßÌè ¤˜ÁÂ'•ø¦¤•i‘NY1!¤“Ì0 zå%¤’êVcŸ"ê$¤Žó(Y'›¼2"¤Šà ˜CS$¤…r“ýîÖ ¤„ck1ºW¤ƒïÐö5¤€…X¨Žœ#¤x¶Ó³Ý=+¤|o8Z²4<¤y¶ÛËzY$¤y€àŒ$' ¤qq0ÕÊ7¤qjöa`óE=¤gü.LÕ0(¤W°{v)ž¤TZCJ†­.¤PÙÂÕÍv=6¤K˜8\ŒUº4,¤Iž¨«­* ¤HúBî‘»ó ¤F«žXZ}í9*¤D1˜b¡æ4$¤@¡c@œ¤<µð–Y–P5%¤/ú–oµû93¤.ùüÆW-> ¤.d?Þº¤-Üh÷óac1)¤*«^ÈÆ”[¤(‹)*—³¤' yäÏ!¤&ïx’ø4$¤$¬ðbfÞK;)¤#¡¿å«@=¤ðÖ€« K ¤¼ç פîç%äþ:1¤P=gú_Ü ¤§÷yÀžæ ¤æàMó¥5#¤ ¨ü Së  ¤úr Lâ>1)¤UÐM[§3+¤üº‹ £ðNâîy—Œ"+£ï~,ºÃŸ$£ß}¿  \ù#£ßFô¿àˆ˜ £ßRÓo~ž:£Þû¨ÐÏÌ £ÚHu¦ßy>/£Öv+šeî£ÐqEj:v$£ËQ)k  ¸ £ÈÚ þ@êF £Ç¡–Ö@ £Å-Ô&‰Îµ£ÄÓ0?ê²%£Â’WpÃé£ÁhgzU¬á£½6™“~£¸}íÓܵ(£¶œ¸’Íw#£¶$à|1O £³Ò¦ar¾#£²Ó^OÔ©¾*"£±_ãüþ% £®ª9 ¼Ì? £©þMBN\n£¦Þ~„ó ‚3+£¥ µ$Þ1ö#£¤DfKüS"££Î¬ª›Fú£ VE5Sãá-3£ 5öØ€ ù4$£›õµð@{;3£š²¤[©£š{‰²:¨V £—dm›ˆ\Ÿ £—>¾£Š£–Q zÇ#£ T·.m‚£ˆ6jeŸë:,£ƒvõ‹A]£‚RYÉ]\2*£€Ïlµ[éì<>£}àÁÅ@Û$£zh#J;Õ£yd³x¨m$£uÙVmÔÄ £u¡‘¶¹å¢ £kok{ö£1!£h“VC=`:1£h‡S´ «Œ-3£eE-µmË7£c‰©"àj(1£ba¢ºe£aÖšÇ5(!0(£Xæ:¶ óÅ £SX€zª\A2*£M¦+êÈqû=£L68z0(£E+×ð£DXàŒ€N#£>ŸlM~•[£>O|ƒçO93£;£™.‰£8ïå¾Û6.£2l€—œ 7/£-÷ sž·D&£-–ï(£+̼—¦®4$£&ûh0žd6.£&*Nf·uM3#£&ýÜa="£%«}à„t^£"M2¹—GÑ2*£_¬÷Wµµ#£ãîb‚Ík £„ŽÎc £¢ÂX¤£ª–‹P”#£`Çã}*"93£„o² Œ£ƒ‡)ñÎú4,¢ýÖ$Œ\›-¢ùètÉ4× ¢øt?ë`#¢ónoqG,W0(¢ï‹úÑh‚º93¢îí/&S«¢îE}ÑzVL-¢í‹6@ÃÁ7'¢ìj½ÙvÒ ¢êHñ‡TÎ~2*¢èYH ´æ!1)¢á%rti0¢áDI½&¢Ý@9:rì 4¢Û+Gªëç¢Úé°†(å*¢Ù{`Îy^Ê¢×dz^6þä;4¢ÖæÜdÏ%… ¢Ö·¯»6š¢Ò/ós €‹ ¢Ò¸ÿkæ€ "¢ÆùÕ¹Ñ&93¢Æ4 [/Ôq3#¢½ùuwhV'-¢º®vEÛ€z-¢¹b3€°#¢¸ÊU¾Ú›i93¢´Ðn´åD ¢´+[3*Ï6.¢±¹ÜjÒ!>-¢¯Þ ¡ 1¢¯|ÛîÞS "¢®I¸ fûä!¢«Dvºà¥(¢ª–,d~Âu<>¢ª »p½¥4,¢§ÃV]«´ ¢˜û´Ñ,ï  ¢˜?“ÍSÍ>-¢–à ÿî!袕8µÜ}{²¢“Uµá‡"¢’Z{%k±¢½Ÿn_3…!¢€Ó¾ÿ𘱢u±/øhð¢q¥ûnå”V=6¢oæGçë œ&¢m¾iÁ§Å#¢aשˆFTå-3¢_9ø§êw×#¢Z5>žE ¢W¼X^ŸÀÕ6.¢S(—¶3tL¢RA•öæ¢OÔm®é3 <;¢O.ð:w•#¢IÚÖ‘Ô™ ¢BŽœãáð0¢?’tµ!¢5 éY/#¢.ᦱ¨PØ"¢-±áµ>Îg ¢*Àìuéº^:3¢)ܪ9µ ¢$-&íðÖ"=4¢"8'Û‘½ ¢"X~ož¢ù´™04,¢=]Ò3»#¢àwy¡¨”>-¢¶¼zXåï2*¢D•Zõ y¢ÍŠl[礢¾¢­ek);2¢ Km‹"¢‚iH X ¢.áÇ‹˜º=4¢«àçà:#¢ `¡»%#)¢-4pXû¨3+¡ø'þþ¨õ3#¡öR-P²‘¡ðæOˆ¦(!¡ð®O~R\š¡ê½_ãÄl5%¡Ö›iõšn;¡Ï áð·Ù$¡Íu/ÞmÚ$¡Ít{.@å-3¡Ê×]êÛm23"¡È¥‘ûŨ2"¡ÇáÀä3S<>¡ÀÜEóˆØç:%¡¿Štn™Ð¹1!¡½%\Øh¤"¡¼M-6—‹ 2"¡¶ÿØ÷?#*#¡³ÂHmÌ× ¡§výÔ í><>¡¥»/,àÞ ¡¤ø¯Î1˜3+¡¢®RZœ ¡ ¿Ó…ÓM&¡™¸*zô&5-¡˜%©¸øU0(¡”›Ó¨ÿÝ43+¡‘ðä8ì¢õ¡‘ìx"Ly:3¡‘‘¾G&ÿ[)>-¡Ž4×6_íG#¡‹qƒ{Ö®Z2*¡Šzœ/Ç ¡‰kçñ—ÿ#¡ˆŸsŒG‡û¡„Ýû[€ƒ!¡ƒÿŠUí  &-¡z¥ò4]~6.¡wB`нá !¡poXËcã#¡hÊâÑ iV0(¡[ Ôî0Ä4,¡W´v<¢3¡V9šŸÕ¤$¡TíC\]¡P\î. ¡J~#cj="¡HÂ[¨ÿ1¡8M€¿Piå2"¡3SÇqÄ{¡/ɤx–6.¡/$AšX3¡.Be,~á¡)e̫ͫõ ¡(fÌÕ{(Š¡'OLÆcSc,$¡!¾¶iðÎð="¡ “œÎ„î>-¡- À.‹È:ì+ ¿~-–¡ãˆ# ¼ÕÝ ˆŠ  ¼®Ö²3- »/+Þå¹=< ´˜¨0=4 ²xù¿+ °M¬¸8Z §Ÿ' ðì!* ¥­Di]ZÕ4$ ŸÑ•-»°›:3 œµæ•S–4 ›û¥qvÞd  š¤ùcù¶± ˜[ݼ·ß ’6.cóÉb*  ‰(˜Â–ªç& ˆé ÷‹©¸1! ˆké©Îê €)ÑBÇì` »—K  |‰7D¼àî1 yÁ„Òc tHÍÃÁ¦& rôÓ(iòÙ: q]½ƒ* e3÷ Ø= e#íí†Rï=4 aý2Ì…ˆ  _éÇì¨_Ô3) _3±j£?>- _Ù!޽>  ]·e-Fþã  \” Ò —:1 ZŽÜĨŒW9* Z‡ÑL+g• VažNH7/ U[ï¨Rƒû7/ R"˜ÞˆN  LäeaD­u LãpðØÎ* D Ñÿ¨ª’& CƒÌ_:»2" A¡¢¥í=< ?Õ@¨è¦ >þCŽÖñ  <ñônH—Ì9* ;óôêUN6. +BäÏ%G * N×f‡  '¬ãÜ °› "~ +'GÑ4$ ÁœÝ;M ëègS4, o¶Ê÷º  @d9P   íCt›h* w) ë:Ÿÿ£GÓü1ŸüPûéA>-Ÿó]-{ ÑŸñn¤x\P¤=4Ÿðe|†­”›93Ÿî!Íù™˜>-Ÿì+–K¥66<>ŸèœÆÿ'Ÿç­IˆÏÌi Ÿä›‰{¿× ŸâÊH%”Ÿâ­þök{,#ŸàÈœ^{|,#Ÿà¡ÆÇ¤ÉŸß¦«rÝL’>4Ÿß[5Ü\N•0 ŸÙ†‚|Ç93ŸØóÙÑ9*Ÿ×þäx…ÒŸÕkOD[&-ŸÔœjÛRŸÑ¤ìEª¯"ŸÌÓ>V¬Ÿ ŸÌŠwXrÔŸÊÉzmîŸ ŸÇWázp :ŸÆ P`ñ‚€$ŸÄ„]DnmsŸÄMà}6 ŸÁÞíáv¿F3+Ÿ¿ŠT9Ñl Ÿº£Åt×CF!Ÿ´@-².N Ÿ³†´£U%`Ÿ­râÝŸ©’ñÁ4Ü—!Ÿ¨F»Øš å Ÿ§$ÓéH93Ÿ¦ ÛA‚8)3+Ÿ¡qutélÓŸ–€ÙR³$Ÿ“Ú²`DY$Ÿ’·Çõ,(+#ŸŠ†‹ ik„ ŸŠˆœÍÝð+$Ÿ‰•E&¼j<>Ÿ{ƺÁój ,#ŸzŠ;Afïà:,ŸsŠThØ‹{=6Ÿqñ†È0¼ ŸpFÍ¢7´1!Ÿfqéñ<3+Ÿe‹ Š:Ã<>ŸdšVfðbŸa=®=R¢ª5%Ÿ]:>Œ±¥šŸ[wÅÆ”äŸZÝ?aÂeŸV¤?24ŸQÙÎLÃüJŸMg_ƒµsû!*ŸJeSz] ç6.ŸD•:’ж =ŸAÙ§ƒþ“ Ÿ>‹¿ãNï+"Ÿ:á1Yµ‡21*Ÿ8"¬6oü0!Ÿ6¨—æå¬ Ÿ1½3ç—œ=4Ÿ/²ÌR­Ã¯:%Ÿ' Ô:v²ü<>ŸT†‚ÜŠä6.ŸBË· ö$ŸðÄŸ¨‰«Lgè>/Ÿç—sª!?7/Ÿ ¦šÕi*#ŸýíR7\3#žÿn\ÿñ¢ žøë)ºóa  žöÞpçlúSžõÌ^œt+™*žôäü™­$Z3+žòœt±f gžç¶VÂ`{<>žç™$ä"$žæh©/ í¸ žå/’;á»ì9*žâÎŽšé4$žà*gŸüœ¡žÚå1¼ë ¶žÚ%®”Z.4,žÌÏàÉ ±=6žÇlaN¿ žÆæ^A~X.-#žÅ̹‹¼:3žÀºÎ Âñ#ž¿Ë Mz3#ž¿¼ÜųŒ/ž¸ÔšHi4*ÁðßüžµDÉniŽ{1!ž©»waü ž¢Óz xt<>ž¡ªR¸,3+ž“ ORq7>-ž‘I·0b&žŽ¦å_e‚Þž…=W ×9*žzYlÓÆš:žz¢O㇠žy;z´ž; žv¨k¿{ážr Úsù žq9Èúk- žqùÒ$žoê1~÷ß žjF±8ˆZ¹žhdf?¿7Vžefĵ±'û-3ždFw¼Ï» žE„8ùž<>žBöRìÚ2"žB :˜÷p‚<>žBÜoÑÓ ž=¸cëü3#ž<§qNÞ•‡=6ž7…»SÈš!=<ž2Ýù­îBÔ5ž2DàyÍ‘ž1·ì’òò;2ž+}Ç;4ž#Ï!ü¨„æž!¡úÔ"Y'93ž!!w ÊžŽA´¸<93ž nŸ›õ¿,#žDËâÊRe;2ž¾¬eûH4,žKí@ï ž 1»'õ‡C>-ž4‹á¸˜á-žqUm ž,+>. ý ½¸=2*ùíºhø¹K-÷ÑùÁÌåÓíД?.Œ#$ë«éÎyÆé‘ Q4$é[ %ªY:éTæåÿI$彜r8T+ãS ¿Õ ù9*מ¥”vÕy˜`tö2"ÑAœ’/ë É82ÆGîÁe/KL‰=4½ðO¹( > ¹Ù O̰ðdm*TZ ­þáßó;ά§ʳ´¬¤ðAÿªäŠt+É*4ªEm†F~k2*¨¶FEeÕ§ób #Ñ §Ê|Z³ÌÄ;#¦Ž8ˆBƒ<>¢Vr8v–9*ž`[¨r¢ œuÇŸá&–ýXôd¸=4•Ö{Àû×§>-•Z‘Þ‹®2*“oR;ñ¬Ø6.’íÒCàè<>3S‹+<µŒ± åå²0(‹iÓGGñ_‰Pƒöqúo$,…:Zʹ?{J<hìC!q|ö¡àÚ§1!qEÂ̱Hòp}¹F`Þ&o#[ Ãë; kÈÛ[s7/h—sBäìÌ7/[2bæáKZûÊÜ$5T¹'ßËvQæÏ®Vi P.Þ4“ÒÚ"E¦&ª˜_±;&@JgþEé:"@$$¿mR$>ôPÎR[† ;é?.Äw†1)7ÁCYŠ4$/÷Qš“ý.¡>c{3++qç¡è[°+-ŠÒo÷&)‰Gn+Ì#'±”¡ç#k¡4 ×º$Æàjd §Ã¿‹ Ï^VÒÓ<> KÜHTÿr$àȨÐA#Bª*pž<&œþO“_kœýqXð±'2*œû“¯U\yœö£´L²Iì6.œõæ•á÷VN œîùUòoÖE#œèw›;ßZn0(œæL*~Ž 3+œäùs`Äçœã²HH6ótœáÅ2³ÀB=<œádsíiíª0 œá/; Ö·,#œá'ôòp9="œàpv?|€Ñœà7¨]R1j)!œÛá…[{õœØŸi› ¥2"œÕv ,œÒ'ë_¿×PœÏ˜¼ÖR1)œÍôÁ cc%œ¾(wë½G7/œºQÔIü6œ·!ô@'_ꜳ-È,3Ãg œ±„m_ œ¯o´¸ž œ©X|Ý“ƒ œ¨Iõ¹ u"œžÏ@H÷yO9*œœ«vÕPuМ™}f¦¶Hs=6œŽ‰ïè7>-œŒâPÕHé œŠ†RåÖÝ£="œŠ:솞jœ‰+Ž!Èdœ†8ɶ—@$œƒçÆ ?j œ|QÔBÚ œ{Õ$ ´«}#*œ{«KLŽWj2"œ{‹™b0 œv<ù.©q2"œthqUkÖ*#œs>¥¤Ë¤ý*œn\fRØžœnæ;=ÄÒ#œl&qÛË%œiXBˆˆùœhVÒã¶2"œfYèCmy>4œ`ÖÁO•"¯=<œU5)!©4Ù#œP 2˜>n¡4$œLö•Ò •œLArl¿TbœL> €FÅ0(œKS$¯3ðO"œIÒS% Þ œA*QÇC œ:¯Zâ._,œ8¥D®Eøé œ3¥,§\ës=6œ1‡.XÊ1)œ-£Ý¸â#œ(‘sÚPÌÏ$œ'æ :ÌJ"œ$œ½ÒJ㆜•B Ìk1)œm<–×'œLhq g‡3+œúÚ/:Ô œ‘‚h8}>-œ ¿îƒ½Œ 9*œ +–"Mûç#œ rɨ”(>4œ=VÚ˜±4+œú7äþ ›ÿT>›bdC'›üÏg_1U×<>›û[¼®V›&›ø•ê[ùB ›ôeªÓ®›òä‹v¾÷#›ì&ä¹V•œ:3›éËwòùø="›á·—Ô¹M*›ÖØ«¼ÇˆÄ&-›ÕeYØ{±í›Óòœï©| ›Êú½sö¼ ›Ä—ü kz›Â6@|Ñ7„›ÀûBt¢b›¾V\Ëœo5%›¼®}s&›»Té´ý ,›¶þ(Æô盳¡Ô} ›¯¬ÈÁ†þ›«qå mÞ? ›ª¨èж“#)›£k½Ç,86.›¢I„-q› .èÂ4Þu7/›Ÿ×ú 2"›šÃÏKçõ3+›™%¡2¸9>-›˜m°…Ч›“]DnJÒ:3›“.¿°¼fq93›;`F¡[,›Žè’1èU㛌©gè—›Š=œò&ý›‡¬mI1¼=›‡)ÃT¹=›†‚ K(Û8#›†h‚ ô¶«=4›…=U@@« ›…5Æ? H;<›‚jÑ!Tb="›rÔþ1"ú0 ›pò G«×z ›lsï„="›kU.ùñÔ›k0¥)~f6.›jÕ×h-Í93›e¦‚¦ 53›e2@/Ãl>-›\œh9u%Ÿ;,›ZéyÜ£›T­¤—ÍÁ ›Q0pWÅG›OÝHð×Ê;7/›Kh:rS,#›Jäuǔޮ›F˜1"AÐ93›D•brˆ›A’{m ‹d=6›6¾œk6jš›*ëÖÖ5we-#›'dšW5Î ›%­±°Êë* ›% PÕ”õ6&›!¥»õß8›×).K 9*›µÁ·¥½ê"›sÍ -4›éæþa4,›îN¶n¢u,#›Þ\òÎ$› eãÏp™ › =Q‚iÌN'›ÒÙøW¬Ž="›Vf’4gè9*›F­áëh ›"ÂŒ2‹_0(šÿdžEÉÜ!šþ£jÒ9{9*šüå’~j†r!3šöCš¡ðŒñšô)€KC ¼=4šòOlΜŽ| šòt¥xäšï,tJúQ© šìHâ\Bhk<>šê ø þÒ>-šä8Ï­0¥¸>-šàñ¸‘èå%šÞ³}R¬6&šÝ®Ou/b« šÕ}%dÎä#šÒÌÞæ¸D32"šÑŽ˜ ?nh"šÏ« E¢2"šÌ[5µ­& šÌFy¹}ªršÌ 3ÃÀ<1šÁ;ùèa‹ :š¼Ê&?â”] š¸}:…A_=+š¶:ÏŸõ šª;sS1˜7/š¨ž¿ ÁéÊ š¤:xW Sˆš¢;`/ÎŒ0š™S®¦+,#š—ÿŽøÚ³ä>/š–FÝ”<´š‘2­Ñ~¾=6šÂ½OC<>šXišø&šŒn°$þ’ š‡AÏIS/š†ëjZüP šøœyü£Ášwéò55Ú2*šuwE È‘úšuµåcå1)štcÑ‘^>-špª0>2*šls:ê'šfäóü.@4šfN§™-c94$šbòq¸¥«<šaꡨ¸+<'ša¬AñàÀÀšZX®F&KšYÓc´z “=6šY‹B¨¦ÁšX¤M­Ž3+šQ±Ëý’Ç šNƒ¹›ÌÐö šL2á®Î6.šEÈÚ `D 2"šD-Ê 3!š;­™|Õ0(š7„›®p/`9*š6÷Û±ãW3+š4|ZîÔT š3ëZ‚dÉ4,š1ê`wI4$š. mJ«`$,š,ju>K¼m š,÷ËŸtr=<š&º”DgŸò š©X„R$šaµ²3/4šÚñdxÕ#š"µðöw$š jd:í šY1 ¿[µ7/š†r¬Šë‚šÙgeq«¿š “©Ž,¥š ³ëPk–;3šýª º}Û ™ö;ú `‚K0(™ófi $:u ™òh ˜9™ñhÝvŸKw+1™ðaPP·É9™ðê¢ô×=™î Ñ ,LG0(™ëvÈ>e ™ë.$7[ ¬=4™ç²»Ë*ì"™ã–<±äb2*™â‡]ØJ-´™ßž‘8í}™Ýa÷dÅ…&™ØÔü0à ™Ô ¬–47™ÓÇí{Ó„™Îˆ3þ6>-™Ê~œ„Vñg4$™ÅÓÚ½žú,™¹«RóÎ-0(™³´`)Ó%3#™³xÖÈú§£=6™±Ü„îé"%3"™®âu%ò±™¨LæbR1!™¦øD›YØ*™¥pm׳Õj:3™Ÿ_ËEK@o ™žÇÒ:ŠÉ&™—Öû=<™œhB»Ù­ô9*™›3ö_à4;:™™{k’ð—#™“Ÿb0‰£±&™‚6ã"œ2"™…N¤/÷ ™ŽÈXN±R>-™ÿlÐU6.™ˆ«®6+Ÿ™ƒ|¬.ÿ¿$™|5’GXÖ $-™z«™Ür| ™m:2;›Mø™k§®£qK‡™jÞPÀJÆ<>™bwb_5ì9*™b.IxA³á™aÅ ºe>3+™^7þå“ëˆ=6™\(ž5®t ™XÆú+™T:ÑŸs3©$™T:³Ou«æ5%™Të\9%:$™R„·‚‰>-™Qö*ëVE¶>-™Oi s|m’ ™KE˜'糡*"™I°gf&æ4,™@§aM%X,#™5¼bêŠgÉ™08pÚ:3™/Rôû‰K™-TüùF~3"™)&fsw>-™'¿@ ‰a:™&ú¾¸™$òÑ”1ë ™$ÓŸà~ǯ;)™ iLÕ¨³ ™”‚óÈWÔ™ó%ŸwFr ™ûãC¥Xî+$™ñ¤"f•Ÿ ™ ´åxíNæ;+™ VÕI(2"™ §ž`J‚h2"™²C9“²µ"™³_‚€›f™lâÏÖ9*˜ÿ½™Ö¡í3$˜ù¯2W§š˜ør´è2A ˜ë—¨øQÆ!˜ç¯Tþç,#˜Ý¢zÈ~¢!˜Ö3Pi´l$˜ÒàºÑèöm ˜Î DÆ )˜Ì‰ç@^%O6.˜Ë5õ¡‡þ-'˜ÆÉôÑOÅ#˜Ã¤pt 3#˜ÀKõj‘W˜¾›Œ÷12*˜¾/¶‘ì#$˜¼ÍîÏÚ3ž"˜¸obôk*š ˜·A,¶‘.˜µ¶æÒn¯ ˜´þÛ™j_é$˜´‰ËÝ”øA#˜¤ƒ‚µÌ”¸˜Ç´ú¯ì혛ʹ=<˜™I8~ꘘrâÕ˜y$˜Éëôê•;4,˜‹6¦°Àg,˜‰#¯T™î©; ˜…Ðm¶è†4$˜…'g–ƒ=4˜€Ž”ú¹…2"˜È€ð‘o˜~¹Œïâ¿õ%˜{œd˜…žË#˜z»î5Çê4 ˜z¬»‡´¡÷˜l]gýq˜kàçƒ]o½˜kÞo—©=é"˜fìG³ö9*˜f¦Ò Ö…J2"˜cÜ´“ÓI˜]Ò';µw"")˜\M4°œÜ˜\ L×—«˜Z… 4 _; ˜S÷%ðÓôi˜Qj5±É‘#˜Nìè λé3#˜NYµÅÿø] ˜@{xÁ< v˜=O„3(µ ˜:X2KXXq5%˜8a· 7\ù‹Ñؘ0sõ×w:ƒ1!˜/PÙ×ôïé<>˜.ßDœÐ‘ ˜)6 f®Úø-˜(GX®} #-˜'Q?éi ˜&©jÒÿd=6˜$"Ó9ðÚ=˜"õS«[÷˜.1p«$˜ÚÓä}¯ ˜VDrw<2*˜¬z_8&˜ m”Ø ˜ÃŽÍqhŸ3+˜uî>` p93˜¢%í«$˜ ÍT.—ü644Kv—ò” ——ð! g¨ù—í×g`²Û —çQ~_‚C— —åàS.&—ã˜ðÁ’r #—ßv]7×2*—Û›£z[ —ÖIDÃ6ؾ;4—ËK驆a‘—ÉÛz:Þô=6—Æ„ŠæÎ6.—Áƾrhg‘ —¾ìÄ‘ž'‚;4—½wkgˆn —¸òr^ã³Z#—³\Þ3ÆÑY93—±ô_‹I–÷ —°Œ¸|CéW—¤V3`*$—¤<Z¸È —œÆj/Óg­8(—šqÂÏ{d“ —š*ñ‹•Ÿ#——¸’Q—–_‚-«!—‹Žìo‚($ —‹}{ª•Ÿ_ —ƒE©×ÃNJ—‚”ðÙ,Ð3#—‚8‡YH;Ä3#—z;º2¸/° —wJÆ¢A"—qÓ<¶o65%—q4ƒ¶  —nWHtº¾—hgÒ^ßH6.—g Ï¥/Á—a6¤¨ßB&—_£^ 0N>4—\‡Ë(›“=4—VÝ&±œ„á—P!Í}—N»Â©áð4$—Kh‰ç#É52*—I,• sl+9*—H÷´yi†Q!—ED1×’(!—Cu }¥«2*—BÒfµ ˜3#—7#Î}TVl:3—5Pª5 "—3óÙç_ÊÕ1)—*>9_#Ä4$—%F‚ŸÃih —!Òt¹_q — —æÐ`! —ˆt¹^f&—”ùHÐ#&:—…ï‹Ù§Ù— _ô\s3+—»Á,½#Ø —õt_ï<>—&ûG˜YF2*—F½âœ–÷ù%@ÁÏ‹3+–÷(yg•‘v"–öÞ§crÒ9*–õáôÁ*–õ¯]Â'0—<>–ôSËÀ¯ý9*–ó5È­Pñ–ñnêÂ/q¡ –ðŸ ;‘C4$–ä“; Òh–â¾TÔª0(–àtn§†ÏK1)–Þ©ÓÅ‹4$–Ý“k[¹óˆ!–Ûüy;•í½9*–ÐùªŠ.g"–Ì*, 5Ö’0(–Ì!Z3‰ ©–ËbØ$€ –ÆBròºec9(–Æ>®p€&®–ÅL«<Šó3=–Àˆþ !Î;4–¿þ$·>2*–º¶Ã4Ô›“6.–º®›Kï4$–ºpµæv11)–ºë?ÉoÎ>-–¹¨A.?ªì&–µ^¤ÖCÝU6.–²‚©èbÔ–±Eîå{Ê=6–®­,.3P3+–­µ&Ú –©¸JXá«(;)–¥‰â¬@ –¡¦#ÑI'‰3#–›’®ÆÙ¶ý ––«n¬¤ˆ–•Y1£!$–‹á¯ +´‘ –‚Þ+µ°þŒ –ý}5N–ý6&–õ‘wH•3+–GÏ;W¡Ì0(–~ãד}|…–{ ÏÇŸ¤[1!–yÜÒ³´T_>-–oÜܧYp3–m|Þn÷‘¯<>–c·x¯öŒ >?–`·c˜Á>4–_Þ­ÇõO –\ ÆÈ†3=6–X|ÇÍ=–Wx7T0\7/–UÓP×þ¤–U¦oC’Îà–TÖ™Š>Æ ;4–Lcڢū!*–G~·è§³–CMU›0V$–;ËbOÌ(ø–:š€uóŠ* –:3d‘ß…>4–7l¼?°ãÛ:,–2Žïxظ7=4–0¼-A¡Åç4$–/Èḣ –.Ùqé˜ãã –.¥ô¶âY–-:µJÃ0(–+‹V7­Iû#–+@ãÁÜ 0(–(ªgT;0 –'¥,ÓG%>-–%ffÊ•ï70Mã9•ì—ìí˜úr!•ìŠC¼çe•ë—möðx©9*•é§ï*øìø:1•çªu€y6.•Ú!›ùÖ •Ò4ßMG½9*•ÒIÝú|„•Ñ£ep„ìz•Ñ_À5·,#•϶ñÚ™Ÿ#)•ÈŽôßz :%•ÇI%ê{68 •¼e/ëYw•¹)ž†ŠÃ2"•¶ä,+6!•¶¡s´’*=6•³rXÃΠ•¯NÈ/cl‘-•®Ë© Ë™q<>•­¾— …f0:•­w|àÕà¹&•§U!a-°2*•¦wŒŠó+®#• |/ýmÑ •—Ê6_K÷· •–Û»ð+)•‡5Ó¯±Š •…Gøæ´K&•~@½9_.=6•y[Üú¾S•t”½öK!•sNìD 49*•q„—Iw—=<•p=ÆLò8"*•o'>+U©&•h¿±ÝU3+•eº¨-ÆZ>-•c2HKÉÔ •`´ C2²>-•`DÂÕ°þ•^b˜¼ÂÇ=4•\Õ`w;_•\Ì®³Ó:?>-•X%P˜à¹ •T(h!딕R?¿XsÞ<>•MŒp¸ÎÄY6.•K<ž „L#•K- R€E4$•J ëbõu3+•Jw Ù(ð •?q›3°²v#•>–KŸw~È2"•:N€ïÃ.½<>•8,Q+/U¼2*•6Ø»ºˆ’Æ•2ÍNv™ƒ:•1Ámº”=•.këlz •.6yIê"!•*àž£ñ-W •)–Ñ51v$•(…ÁD–Õ •$þ3¥»0c4,•$®z¬Tz«•#9c%m‹•"N\¼zý¼<>•-¨Ç³P#•ÒéÜ¥ßz-#•ZŸ’ÑKž3+•7³Á õ:1•%üNTí•ê«»Žn1!•Y3ì©ûx • ðçñÍ•²Þ¾½Q:,•|º[÷Ï&•å’ê:<>”þ”Õ}å’À4”ú¸}_D}ß7/”ù•Dû¡¯ª”ø=Ru߯Å;2”ó±`&ä3#”ò(‘vêí=2"”ñ{'"ð·©”ïãŠòl2"”ïPÛ %Ô:1”î!þ ®c‚!”è Éø¿6.”à8µ„«;2"”ÝÎu€‡R;2”Üœ`¼Q’Õ ”ÖXnq‘¡”Óæ€¾è­l”ÒëúÿæŒ7/”Ð³Ì 7X ”Ä(U=<”¿Á®O¸ï7 ”¼Shàˆ”»Qtâ :"”ºFî‘°õœ2"”¹>#—rþä&”¸Ð8¹áŒ; ”±póO ”®àkmãªô=6”›¹ôüûG”–Þ:Ñm"””ØŠ)ôµ=”›¬¯me#”t`žoë"”‹Æ»VÔ­14,”ˆ„ oÌ)Þ”‡‘¤)¼ ”„‚©Dy¤”|#?†¥¡”{0€w*ÿF”x«*dªzõ6.”vàÕ ;;°#”pø«OIß”p×)7é?”påJ/+&4”p°%âM­ ”n´/ÊD  ”mKHã2 ;4”h$ç[ÛK01!”c7}¥½{‡:1”`:zOt¹:1”Vä¾—2SH-”MyCƒö±”I˲䴔I9þ+±5%”C€oT 0ƒ=4”?:Kšª¶;#”9N íb>4”3.ÃN_vÑ3#”1õá½*‰j9*”.gõEVSÂ93”$ά˜±è1)”#;Î~s\2*”!ê‰ÖÂÉ$”!Š%òË” Ù>¹Û¬¾”V¹]Ü ”v^,ù`9*”g¬¶ùc;)”>šÔ²,P$”ÞÆ& ‹#”W§hÞö4,”öõM&_³6.”ŒÆ2r1T:”X=ºú>-” ó^®Ë¬”‚G˜›#”²= †Û/2*”R§‰7éÔ0(“ýIB¸:H+$“õ_^ÿP“ôâÄDY“ï®BéÖ “ïuøØÆ9*“è .ïÒ¨ “æüeZÒ>Û“æ~æR#ÞŒ0(“å8;µ1M6.“âíG½Ÿ( “ßq¢<¿t “Ü×<§´Êã=6“Ù1eÆÚ§$“ÒàUF¼^t“͉OÅ Ž• “Å]v‚LŽË3+“À³Àj&“¾Ý¯å©±3!*“¾ÒÊNÑû2"“¾ÐÔß_y’#“¹õâ t6“¹6ªö:3“·ÖÀUËP$“³ îM°Ë|6.“±¹¸ò” ×0(“±ƒÛAt3#+“¯g†8B4“®.Mk #“ªJÕS©.4$“§-)`5° “Ÿ¸m˳1)“˜ä…ãÙ8Ë “–Ù6ê¢N_4$“” ƒÕ»j93““¶.1‘40(“‹Þ–§èí¯“‡ ÈzâžE“„E”‘ØÈ“‚Än³Õ¢Ê=“‚—}4$“Ÿõ}¿†š6.“^&¾ƒ:“`ØÈ¯õ!:“};M·"PO“|k™Ô`Æ%:“{’#†§°&“wJoÈõɼ2"“vÌÀT*¶=4“vv¦^iã=6“u“g}Ý “sZ Ç0³È#“lÏ‚ª=96&“kcM¢Œ„ “izóÂœà “a‹äVy¢“`²ššÌ“Wwø»:?“R A¶0“Põ‡1ôAÏ>-“MâTm!“L7È|— “@¢«NM– “?ß2t/ô2*“>µ3ñ7ø#“6ëgÚRÓÎ4$“0üQ©;+“.ª;Yºí 7/“."ÀÀr_3+“)†ÉgYs“)1æ_KQœ9*“(¦ ©×(‘:“'›e{pT “&‰Ñ#Q|ƒ1)“"E¸>õ“!¾Gº_‡=4“ r‚ï]sé4,“¢Nm_cd“6+R‚Æ7/“y‹ “&¨¶$á#“ °Ž†÷:“§ -¨#“ ¬ïß?¸1)“ ŠÚV§“¾»28:’ÿ 7Šè‚d’ú–UÖX´2*’ø\ñe×’÷˜=6ýE§-’÷N‘7h«"’êë"„È’j ’êD™ šä„7/’æ#šc0¥3+’ãI8¾C$’â´ôøí%’*’ßÙ_*"}F’Ù=õüÊÀ ’Σ‹½¼È’ÎÉõTð6.’˃zà13 ’ËJ;’ví#’Ê|Šîƒ ’ÉÉðfv ³’řɋuÝŒ93’ÃR¨ÊŽ$E2"’ÁkRåIy ’½¶©E"Ò<!’¼òJ…ÏcŠ ’¹§C¦}v ’°”¹”£Ž=;’°Jk‚M *$’©ù3+ø`’¤gÌÏ”fª ’£+çûJ‚’ŸBhæ'1!’œL·s£ ’›&-­ÌÝ’–NIÃ4pæ ’’K£šS ’æªëÍ ` ’ãW‡¯–-’Œ ˜·H€=8:’‹r’ÊÍ ’Š¥ÔÏQ(Ÿ9*’ŠU—±b±ë$’ˆÞÚÖ(=+’©–Û)>"’NH»›¦Œ1!’|ÿѧE• ’wÁÞd*z¸0(’vå2Rzê›"’j! •¬­<>’gN °Á[§7/’fÏrÛ’¾$5’b­Cº_ß&’a÷X3¼„Û’_ŠÛ „ÒÔ1)’^Y‘´ õt ’Q··Kèæ4,’I2jEË© ’Fw¦"i÷’@Û£ã|ë³ ’?úêî 4$’-’9d¢¯—§Ì ’8ezçç¹ ’0ž(Tzžy’0%Zs©E–93’-f3†é´’,®ËaÔü” ’,©®Žu2’(÷|ŠjÆÖ-#’È¿GTp7<>’Õ'çI$’>SÚ/Æ<>’\d”ÀM3+’² Ÿ£ø>-’ÈußÿËÑ=+’z“3Ù¦¯#’ Çǰi1!’¡1¨³›’™„‘ K7/’a;¾â%,‘ÿ£Šq?â4,‘þ›-ˆMc2"‘ü¡)\çØ ‘úa× Oê3#‘òVIG³Ôö1!‘òv¹íC÷$‘ï 4þ†Ü:‘çƒuáÊ6.‘ádpÚá–æ%‘Ú­Náö4‘ØšÍØÅ&ñ‘Óí Ï#‘ÓÕaN6´=6‘Áâ¼Ë↙‘¸ ÷7Þ‘µ¶ªítP<>‘µ”ŠÝ#'  ‘±™2ÏÔž•1)‘±„[ìtU:%‘±ˆÀU=e9*‘« žÈ¹–3#‘§Ñ"Å /;-‘§üÂBã ‘¥ƒJžìã ‘¤ú²è\ .:3‘¢+‰¹§´ž>-‘â‡Nóù &‘‘ñXG“WY2"‘Œ¨åp”‹‘Š—S%µ\¥‘ˆpÔCQ3#‘†v¿ÄQ†E‘†ÜøÁ¬£=4‘†ð0xf¦9*‘Ô85þÚÎ>-‘›Tú&:0(‘wICá9¯Þ ‘a¢‚qªÉ[ ‘Z\?YáÁò,$‘VÆþc2B&6-‘VÃGz¸®‘V#¯3à‘U% ÓQ‰93‘S«)9ê*#‘R#ýi…H ‘JZ°®7œƒ‘I¥ù@²1)‘FÇKgk›=4‘Bn‘>R Mô 3#‘; ¯ˆ ‘8ò‘µÖF6-‘4._Kšîâ<>‘&Uº^™Â‡ ‘%˜“÷×Á‘#½ðÉá‘=6‘ Ý€6È ‘[›9MpN ‘»VËuÅ‘þžB©4,‘ T'³ø‘ Ëï鈦Ö‘ ¼0Y´‘o9(‘ò^.m9#‘®âz@Ú72"ù=FÏ4Þ&5ô¼çQ»ðU#ó„CÒýZêKÒ«–ZÊ#êÙœÁÌ¢6.ܦ˜äв\×ê Ût€+2"ÕGñ…ý\„!ÎgØK­ ÇÆÞä°ÂÊÌUlã5%».\nÊK›4$¶ÁGkD²É(2µ¿‘Ý&^ì §xun™M6.¤r¹E­¶¡ßoü¸eYŒ`1=œøDh0ªë=6œ¬öbÓü¯=’#t¡Æ]mœãšÃ<>Â`««Ï=<ˆ& ƒ#ø$ ƒ¿8pR×x·Ì2I  u² Ÿ¹´ t™M¹\• qHýÝ)2"gëÂêãb-aâëÁ#äÎ`@T´#à:%`)nªpé4-]>B  Z9_O†J!P±q~2u KÐìŠÞ(G!K¾·l‘mp*$IµrÁšdÓH½;ªµòO H¶²(çGH:ä“ A‰)ÝŠP§!@ž…êöhã3*=YKPÑ6.:ëȃ®ˆ:Ç#.ø( =9œ=z‡Ó–9&çvÝ*;)1Ç Àv±²>-/wÙ €›€/)TzsÞåK=(MsöðŠ 'q £†>-%žQÓ,]*4"†Õƒá¬¿,$êØòo?")‹X • I—‘*9* „Ž4Ù àóiÌN ¸vxJ 3#"ûÐ¥f;ÿÔ¬b& €9*ýñ(çM3g=4õl*ÍÀ òFø¯³½Pò/5.Šÿe ñäZ(Ý_P îì$qÈ’«îv¡X¦=<íøÑŒ&ù1!郼øÄPO9*ä'î>Ÿº³1!âàsº¥âÝÞ¨Û(¤=4ßÍ…°Œ K*$ßYc÷*Ú‰Yî݃½*ÖO‚k¨t:%Ч`|ZÊàà BQ¯1)ÈFì~%u^Åþ—Ö3#ÅÁø¿…;#üíD2>+#¿òÀ_BЉ2*¾—æôåv ½dAf­Êµ¤ú®|„`#²%ŠÕQü§±—Ø8t Ù>-¯ÉáwA93­Qr(Ï•¢=6ªŸYƒâ©<>¨©ñº¬±;2¨1^öqì;%¨/"¸£2"¥%¨å‚2"£ÁÝÏR_] ¢–ÞnÉ‘ñ2+¹ä6â,µ9*™r,Œ×a˜X5Ìçæ‡“Ã`/b‰ƒÌ}{NÍׂKÌØ‹»93€ áôæ!>}7g,¨F´-|þÝtã›"x)ß¿œ¬w×…å2/± ojl‚ma* gòdj‰ci—x&Ô¨5%bä9”:Ë;_F÷+Ò…ø#^lÜ "F93]Œ¸ >ÄFZ<®É–&VâtäXÖ=4NäSE?Hà6.GÝÐk­š­2*@R±ä5.1)@i`Ü\2*?´WJR;)?’ˆ‹Þý;<4“¢w%zå#ÛŠ*1­9*!¤ÓûDq!:¯;I=6/'³åVØZC¼¸'Ó9*!|„óÉ$Õ†½¾Îã6._{c0»=4Ý0¡eWñph 83#"ú´ü¹h*Zñml‡C*4 ¾ÛXÈl  $B‹ ?ÙЭ”–Yé^ÄáOc_„·³-ŽûPgns­×#ŽøõoêŸmV6&Žö Á¾²ITŽõ¾3á’ÀŽõ¬qð­G=Žõ;RÇ’þl1!Žòo;øñ:3Žðæ¶ñ þÿ7/Žï X¶üˆŽå,_vó äŽàY*Ï’‚ ŽÞ2šþ8‚¾:ŽÜ]â Íõ>-<ŽØµ1Q47/ŽÔv„:Ò£ŽÎwܹ:/Î ŽÊ† Õ‘S¶ŽÇà P9sŽÅõ.}žj¤,#ŽÁÈáØ9*ŽÁ¼š•’Ç3>-ŽÁLÚV]=Ž¿Í.àË8޾Ýö2?Ž»–žRˆ3#Žª¾êÍÓûÇ2"Žª4XìM@µޤš.&¾ºø3+ޤ|Ì»;‹àŽ¢§IëÉ4,Ž¢û´tiIŽ¡ Íì–}Ž u–É‘EÖ2"Žž`O?®åm=6Žœ©^zåÖŽšÑž…Áj¯Žšj§Û 32"ŽŒÏŽŸúwŽŠž€-1yŽ‚þͦHy ŽóR”æArŽ;DçÞ]f Ž6­œïާ‘ï³€Žy¶;Rm\¥:Žr2i¬ßTÝ ŽoÚç[Éiž2*Žlªéª‡È\ŽjåÕzK ŽgÑÃ9E)Ç2"Že¤Þ_+qš Žcí@¡¦Ýº1!ŽbÇ×l0³$Žao.Í(~%;2Ža#½†*xÛŽ\`ÀVyZŽY-.èò)=6ŽX64:=m4,ŽJ4’ØÀ~í#ŽJZ Pƒ…;ŽGÎ'›]æÿ ŽF«ì®Ñ7e4,ŽFp¶à÷C ŽCÿwÜj¥ÜŽ@y¢ÔL4,Ž:ÜÅœûé^0(Ž5fg¤`5$Ž3)Ëõ%¾Û9*Ž2¨(è1393Ž.$p—´;Ž-|£@{0(Ž&d‰‘U ¸ Ž%Ôðl<ªª2"Ž")-ø˜¬!*Ž@®ËT#޲,½GAA#Ž!ÛŽ"ZŸ0(Ži¦&|l=9(ŽŽþW΢ŽÖÊâèÓ ŽBʯ°Á” ŽÈ£ü’Û Ž |CØâ¢<>Ž ú·2Ž5%Ž ˜q£’w/1!Ž ·t.>þŽÍiÓh«1)ŽÓ–´}Kò2"Ž_½1öu3+Žw¯Ÿ±iB:ùôtYÁ „øo¯ŠHG>-ó^ÄÞ'2"ï$2@ê<éÙca&èÀG2UD=9*è®n9Ÿçvܨ[Èå=6ä/ S²:%ßÙWS¦PÐÕ‚Hu; Ï…²è„Ì4 ^‹Ã߯?¶IßYºÅ7š]¡rÃ–bv"â5A1*ÃVÄ>1°-ÃS»©íbì«V5uÐ="¾å¦·"¾‘¡­ž…93½›þa¡ 2#»§ËVî¦ ».Ø}‘?$º†ýLs › º[ÛSk¾X¸ôJ0(µZ^Tűí-ª]º ±ê·[A:3±>9Ð^b*© ðæØJ="£%ëñÅǸ9* ©/¥s£þŸ $äEy§-Ÿ`PS5%œ63|ׇ¯ ›ˆÆõ%…ê ˜Å[b±—Õ —îR“èß6.‘&–˜ðU93¶5ÎbÔD ³Rl±1!‹tx3,*f†QÓ±JBw4$‚9…=qYR>-€-»Äºu2"4ïN?Ok"|ÿ¨CÓ|EI–»·‚{eùssÕD qtÍ ©ˆXpæí`¿A¿nøªz7P}*e«¡·@4 ež'ãJrbݹž‰íˆ9*\@âÛyÉ \7Îÿ¥44*SÄ„½­OõÑ¢ÌDM&¿·˜i#H[KŸD´)F=lÅ0æ DÒn‚ªò%=-ŒËóvŠzº³<>ŒÊMÖ¸³¥ ŒÈò­Ó3OmŒÈ…ESç²Ç:3ŒÇL# ¤ýÂ%ŒÄ-Y[ɧ»0(ŒÂ¨ðHñ`ŒÀLñ`ñTŒ¿:,3â4M Œ¾}E­1éÏ0 Œ³ˆ-_E«*Œ®–‘®_Ο,Œ¬¡ÊP÷?bŒ¤÷ž‘ï[0(Œ¤âóïW$Œš”§ò9Ëk>-Œ•éKÀ9•û>/Œ•CÕQ¨"&ŒÌS‚v” Œ‰KÒ¢î¢kŒ‚ô•§ëÀŒ‚tµ¸wð Œ~®°´É1)Œ|S ð8ã=Œx*ñ}3=4Œuu{ZVB·7/ŒswaÉTŒrÁ-A¸Á Œkß••2%!ŒjÎ=è,=4Œd®~`cë_ Œd5Â#qŒb†HšòF5=6Œ[Ó‘adr*4ŒU¼Ädžé"ŒRxxÀB"4$ŒQxÑMu„Y=4ŒE„¤­¶¶#ŒA8Õp–3+Œ@j[‚™‘:,Œ<´ú~Õ-Ì:Œ:ÙwZ¦)Ã"Œ:+¾Ög,Œ9k­غy!Œ8/âòOcqŒ7q&•2*Œ6Èú`J2*Œ/ +Éù 3#Œ.©Ã¼™2"Œ-ØEqœü $Œ'€U)DÚ Œ$€BAøŒ"™_˜HS7/Œ"\Ï3"<;Œ!¸á×ÈnR$Œj”¬¿NÀŒ®Âï6•×5%Œ8¥"ôã%*$Œ1µ–FÂ>-Œ €°ÓRJè4,Œ ¾uù‹Œx£O~„ Œ1Fí¤:3Œg=!ß쌼snr¹5%‹ýÔÃ%œ0&‹úÊ^£]-#‹ùâ OH‹øùœLó²ø"‹ø›”!u¼=<‹øyÑgÒnŒ=‹õd¦‰.›î‹õôŠWî‹ó5‰ìëJ:‹ó Rï÷°:%‹ïÁ]=8ÙÑ ‹ê?¶ê=œ"‹ç…-1q 2$‹ä€<ú5ª}*"‹ã»wðØ‹ ‹Ù½ÿ‚F-‹Õ¸Žÿó¸=‹Ë•tõ[û>-‹Ê¡Aá;™[‹ÊfP;±C ‹ÁÇ™“m{w&‹¼‡úÕ{å2"‹·´½(RW0 ‹´˜k6ioÞ ‹³·è±+Ü2*‹¬¹h¼ú7V:‹§ê‚¥h?6.‹šÏD?·ù•‹™c…½Õ3é&7‹™óñ§ ä ‹”E"6üød#‹“:ÙƒòØ&2"‹…Æéc/. ‹„UU‹´‹‚¹Ž9(‹ÛyÁéÀ‹}·žiEBì‹} ÿ×k4 ‹|CÃMå :"‹z cúod0‹x¦0@ƒ,#‹vˆÿ­./6&‹v‚À­Ÿ<>‹sex#´ã©‹o±¥¢K:a6.‹nÑê7äøÈ‹m  »Ö…#)‹l -1é=6‹fÖÆ?‹da㪋6<>‹b×Òx>Òï ‹bnT~Á ‹azš³©Ç@>-‹W ƒóI¿¥ ‹U½nÜéõ93‹Ub ?´nŠ="‹SÏÈ‹Q­ÂñsÖw&‹Ol JvÎ9*‹J[Uã¦:%‹H'¦£(‚;-‹Fêrç‚U3#‹D1akƒ’]‹Bk¡A‹?‘ðf.¢d ‹>ê(gÃ="‹>C%ÛÁ ‹=[–…/‰ ‹<<‡°*:4,‹;†*x?&‹8f:Žú:U*"‹7X– ¿Ì‹3ÏñFš™6&‹1•Û§â ‹0XbuQ2Ú‹-ÍÈqP&Ÿ ‹(É&ž˜Og4$‹'›W>K¶H-‹#ߣrJé5#‹"åPÊ«'†2"‹ yÐî"1‹ãMæRðK2"‹ó~gåÀ‹ÕÆÃ(=4‹®8’Õ4n2*‹:Úh=X› ‹ªD†[Wô93‹y Š˜ ‹ òñƒƒi-%‹YÊßš§‹FŸž.Bj=4Šþ–ÍR™(¹Šüq˜Î(MÍ*ŠüÆB°4,Šù“(²Çr$ŠöGR {)2*ŠõL=eWH. Šôx%§ ©Ž%ŠñöV ˜À÷ŠêÅ.«^<² ŠêyuµƒÓŒŠãê²Md¬9*Šâ=ø.ã˜ç1!ŠáEîWèý Šß«°4ë|ŠßTµ/ó‰ŠÜOr5Z-ŠÕÕÏÿ 6ã1!ŠÕº=h0F>4ŠÕ' ½ŠÓO È.i!ŠÓHI¾aÅŠÓ4Ìá`ŠÐfqpèŠÏí¸¤ Ž$ŠÎ¾üKº)„*ŠÍBy*Ûø$ŠÇ¬~ži†3+ŠÆËG@mÃ#ŠÆEX±ú…Ù9*ŠÁA5ÑE²­ Š¿[YTÏ4+Š»˜ ZŽ«89Š·Š@ Nð жÎB€1Š´EL ú€бFÃ5]9j&Š­U9‡ŒK!-3Ь™¸¬òvZ:%Ь’C5Š&Ц°~²¹HЦ†w ÊFHФSþÔ HEŠ£¤Ô~U Ï Š¡Œh=á§ŠŸÃŸ×µ«˜3+ŠŸ8ª÷@È$Šží/¿½rx Šžu{¥é× Šœ+‹nþ–Š—`à廨‘*Š–ÓmíÀ#Š’[~ô“-§*Šè>û 5%ŠŽÄ+0d¶j2*ŠŠ§’)œP:3Š…¦2Ç=;2Š~Ú ù¨~i Š{éˆsü Ô=Šw”|1 Ug:,Štlÿëű1!Šs4¬®˜ì ŠpAKà«BÀŠjæÀÒÀB1)ŠfX¤°›§Z#Šb‡äLU‡¼1!Š_ÐÑ…žy.=4Š\ê@!ÅïŠM¡Ð]fÌ ŠJÇ©ÞÂ=6ŠH³ÞÌ^É6.Š>˜¥Ñx)=Š;¥ãëRû3+Š3–‹pæ @Š2hþ áÛŠ1N+º·;93Š/´*s/fDŠ,ê06r8·Š,m¿'²“Š+Õ–aJ l3#Š%¤>ÒȺ=4Š Ye<‚åî=4Š +ÌÇké«$Š AòC%râ=+Š ˜HNL3+Š!u&Ôy3+ŠoËåcn ŠæøiþL+й»Ÿ=;‰ÿdþQ ‰‰ýJ…úCPq2*‰ýœøŽ‰êóG&93‰çðxÛî<>‰æÙ‰å¼Ûr\-·‰ä3¯Óþ߉ä‚éâ$,‰ÙQß|øÎ63#‰Õ?ïö=<‰Ë‘kÇ31!‰É…œÃK{{‰À4ÔI}u«‰½àÔhZÚG‰»Í"8¾ì¯<>‰¹ÆùnÕa ‰·çœŸ¾‰·À# $–ት”–Øp,1!‰¯Øm˜h²‰­+Û¬éŒ<>‰¥ÐÊH ƒ*4‰¥À@[9(Å=+‰¥) 7¯'‰ž“ ôîñ3+‰žv ®5¢9*‰›âoí5%‰™±¹Ù§ã ‰Ž£QL™Ž¨89‰Œ¯k¯c$$‰‹QËɕቊe*'÷"$‰‰ŸÀ”R6.‰„íÆV䉃Rëô;û+$‰yy¹žŒ[M ‰xcƒ}€ :‰w‘3¤cpÞ;)‰p.þ±rÛ¾#)‰ot#Œt'¥ ‰hÌ2Šà„9#‰g‘¥G‰gWÿf¬Ãö2*‰fXúöøi ‰c7ŸZµÃ3#‰b²ôGúܲ<>‰b©Êè‰^ãvp4ZK9*‰^Eç(Ædä:3‰\\~N‘AR2*‰[–ß&vÑI9(‰Xyó=±!‰X=ÿ{/ƒ±>-‰QEÓ ^þ=4‰I‘‡à­Òv3+‰A¦¸ªP¼#-‰A;6‘œýš=<‰>üæZ¦±¨=+‰<îø'ª¤4 ‰4;N%ð-7/‰2@ùÛ‰  ‰0Ç·˜ñ÷è9*‰/ã_›Ê’; ‰)^aR $3#‰#ŒÃt×(î=‰XMñ3î#‰ÿ,`‰ºŽ~‰ ‰OšâŒ†‰†Ä$<‰CLL&ý#‰•ˆMЉ ñfœ¦I‰ §wWüŸà7/‰ wp>ž#ˆÿ_}¬ï#ýˆÿ;L''^>-ˆûÁ¢>tî="ˆù½UáëÄ3#ˆõA`ðãž8:ˆôؿɸ$ˆésÑ yˆåàÜ¥U,E ˆá\áÆe\.=6ˆáKùðàT€ˆàÄ,EGˆßP›Å¶B_ˆÝ'Üöߊ4$ˆÜ{ªŒ2"ˆÛ8M3[:‚ ˆÖýÒ¾‘åˆÕíä*Ø8Q9*ˆÒš[µÁì$ˆÐ%bÔ•ÂÖ ˆÏVfªiܦˆÈIÕÜ–o7/ˆÈç-ˆ¦`ކ¯#ˆ£âGòób+2ˆ›x“¸¯¶ %ˆ˜‰Kœ¾K$ˆ’Îæ|Ȳ0(ˆ`)§¸t="ˆŽƒ#KõÖ/,$ˆŒ+ªÐ·<;ˆŠ:¡ïl}»-<ˆŠ@È𻋈ƒ«Èã¤Ø*ˆxÑ›½â""ˆv’þð2Þ=ˆt,ìE%ˆo_WVz9(ˆnÃ@× âˆj%§¯°6hˆiœ\ÌTó›ˆfjŒ"Ö B ˆf`“Ž¢¼Ñ ˆWÅñ©C¥:%ˆPÛ#쑈ˆNI»}wê-ˆHkZž *ˆECG¾‡)L7/ˆAÚ¼Ë)1!ˆ8Ñç#¾|®ˆ6䵚øJˆ6É ¤. ˆ4ô³º2´Y#ˆ4JÚz‘Ï&ˆ.€ùZoÅ93ˆ.ROwI¯ ˆ+Ç^Wºˆ=4ˆ(7.ê“b*ˆ&ÿÓ!hðÍ1)ˆ&”MŠ×x 7/ˆ"UDZæÅ¦ˆòŽ@e… 0 ˆ«ÞÊûÿx ˆ1Š ‰>?ˆʇ M1)ˆ .¥[U³ ˆ {­(E&#ˆ ×d c ˆÚàÁR •#ˆ§ •ŠJˆ·õ~Ù ˆºœÁt÷#ˆ®ãf£²9(‡þ] : *‡üQíóþ”ª!‡ûý?Íqªë#‡ù¤ÎOiÙŒ‡÷삊G ‡ó2H%V¾ ‡ð½Úôë„#‡î<©¼æ- ‡êç>Ëõ0p9*‡éGÎgÍ>ï4,‡é[ö‡ƒý4,‡æì<Å;=4‡ÚïyÓ'xu2*‡ØàíZi6&‡Öê‡W@Í9(‡Ó‡“øRî&‡Ñ‚Æ©Ài‡ÑGœ&Üô ‡ÐKæø‡Ï{04ü…t93‡ÏsY˜J÷  ‡ÎíFõùDd‡Ìüsžçwú<>‡ÈhÜ®1?:1‡ÈT/u¯}#%‡ÆX5´]݆>-‡Âœ»è¢É6.‡¾VTèIΫ-'‡¼ÀõÍ2@=+‡ºø &¼"‡´/œV%2%3#‡³jù–ؘ@:,‡²*(P¢MQ6&‡¯)¯57Í;2‡©ã¼‘šÃ &‡¦û·»*’g>4‡¡€/Éü‰ÿ<>‡ $HÍæÙ“‡š7JÑ^K1-3‡—I;.–I‡ "‡–—´S:ã1!‡•\[S*ꇄð³Ó½üÏ#‡ƒI• Å®$‡|Qºä« ‡x¬óJ}2*‡u÷£®÷®?<>‡u¬§hj8†‡sýÐ ÖJ‡qóï™QuR*#‡msM t÷‡læÒae›O6.‡kd¹TG1!‡izÖ ÅØ™‡fDª |%3+‡cX¼º¥šÒ‡b>Eêuz-‡`÷9!@çx#‡]-k8×`8 ‡]  ˆ:¶¼*$‡\ØTó»m=‡XÞ|·Ò– ‡S’0³ã#‡RÔÀÖ*˽‡R´ÉE‚ƒ:3)‡R|U[½ý !*‡OºÒ¹C]¸&‡O”‚Òþ«$!*‡M‰£®ñ©¶9*‡Jš?L¢ž'7/‡I€„)˜7/‡Fž½eä@•>-‡E­õᚗ߇8N ”AY ‡6€&ʆ}%‡5ÔFíŇ1dé§ö ‡/¾àš‡.óòwƒ#‡.!ç&à ‡-xC,‰›‡+ƒ@Ø™Ö ‡)Å€ ŽE‡&:KŸ0ƒ:3‡"@œýú¸‡äi{ù3œ$‡öQŽH¨3+‡ÁgíPä ‡Oj¶ŒŠ‡G꺱F4$‡xDøÙ#‡Í"Õ’H?‡.ñÆ}¾=6‡Ylw'üz†ý ï¡¡x93†û+3;i†ì †ú voë#+†ôXö?ï†ó!dž€×U>-†éhÆd2*†çà–³ò=>-†á(Ò^†ñ:,†à¨ 7¦ï+†àDÚ0ƒÐ$†ß0®l l†ÛO÷ÎPè†ÙÔäkš 1!†×Þ°õªè2*†× ð°c†ÖúÏ7†ÔU[v<>†Ò®õ‰¤#†Ñ‰oDïšõ="†ÑMÐpË+†Ïfêýa£$†É‘²RaWÈ †È!ý1æO¶†ÇéäÁ@ã †ÇÊVú†ÆÀŒ1 Êú!*†ÀºÄ>ºÄ#†¾òØZ5… †¾7à ¶ß”6.†½5r‘½f>-†º(ÉS<7o="†µù6l© †µ*}昉v.&†²aäóGôµ#†²ìr¾ÔU:,†±ß¤é!™R6.†­¢·y-'#†¨bÊdA5:1†¢gxOïá"†¡˜{\ò3ˆ&†ž‘ôjË­†žmïÔ‡1Õ †œn±Hô³&=4†œ%;åû5j7/†•Á†‡J :,†•XP P¸~1)†/¿‹¢* †‹ ¡ÊË*4†‰ãP¬$p¿†‰ ;Ïè*†ƒ<°l$2†€!Ñ&›« †wÖ³ ß/3#†pÓ°M†&†i-ÌC¬²×$†gÚC&”f"†a/ü…å°· †[É4Ùº-×-#†WUüäw¿4-†RÜÕÑ&0(†Pk®`¹¬2*†O-:W™*?†Lö¨Ceã†I³†0XŸA †H9å±ÛCû>4†G¬­"¹#†;Î%­¦'b4,†9ÌÓ…¨"(†9M\wdž-ÑÁR©Lí †(¦­©üa:3†&Òo¿Ëøh4,†$3 tÃ9*† ±ö‚Žð$†XÑ]óPÏ †Õr¥¿&$>-†ÇðÂþï4,†Éðßðñ»&†&˜Së?†õ8ä}pᆠ/8FA † %1Êÿû† ÆE‘¶Z$ …ÿÿl‰›žú…÷Û¹ñRMž&…ôc¢{*úš*…òþRÒŽÖ>-…ñgM¢p …ê³WƒD^ …ä¶§,×~1!…ã+u…ÐßPäD½|2*…ÏÝË•="…ÊßêãÖ_…Éå`.Ê …½Ì~NLn* …·ïp`yU="…²Œ¨~5sÄ…­3 Áø2$…¬FÕ ÇWb…«Â"g¶ˆ#…«>_X¿Ä…¨'û²°Z5%…¥kש6ã”=6…¤Ü+ÀPŸ&…¤|)ÜF´="…£Uo[.Å0(…\ì‘Y“ …›Aa$çPÝ …˜™­þ¥Ì;3…—ãîÏÒS¦>-…—^kÍs!#…•dÒÀ“……“+2Çb F:3…‘5 B‡…¶Í «¿  …¢-€l£…½“ů… …ŒLÞP‚ˆ93…†ö¹·å…„âÉ‚Vš…€<:1[Ê}; …} Ì’ˆ|µ#…zPøCñ3+…y¹áA#4œ*…wã“Gµ‹T…wŠEûL"ì …síT¿ÈÞ.$…mwµGBø0(…k8b£K@!)…k{yî3+…jléÀú&…eÐ -Çè…ea öSÔë=+…b¿^¥Ê‚3+…aSßSGã9*…[u­ =vÀ …Y² }š”4,…Tªua?>…RbAᤠ…R=ÃüLhO…OÑÝà,¾#…O2/àÃ>*…NÂ$ƒLH…N´sµ×ÈŒ4…I p‡¬€^6.…GD,@L±…Fø‹°, ã …DÐh’¯Q;2…Bl7¥aY …?·™–ì±:…<9ªÇÁH…<# §Šé˜ …;CÌÙ0š;)…:fíö!…:-î+à;3+…6•éGÌb…6u›Ï{2"…4»Ž6ŽK"4,…4œË‘á®9*…2&ëïK;2*…0êÛ}ìSÔ7/…-åôîj2Ÿ4-…-QŠšÑÁQ…+–ƒ5ÙtB;)…"°¹|žXÚ*…~Vúº’<…þ ìÿé")…Œzjf2*…ìHH„ˆ&…Ìr2ðö(9*… AÊʦf …×Ã’èÿ¼…Zô^¡‚;4…¡ÏÄúÝc …éÆ? .‡"…Ä îBØ`„ÿ/ˆ–R[ˆ(2„üªüPÝ4,„û“hfñß¼„ù¬wO^2"„øº´iÂ&„ô£¿×æç;<„òäb¡d3#„ò3~‡½•1)„ðÆ{(Ú¥p „ð“— ·™:>4„ðcz2â<>„ï²G¶@õW „î7S#¸?:,„íß.UŸÔ“=<„íÙŽý³.Õ$„ìM8¹0ðf1)„ì!ÉÇÝÉ6.„èy>šÐB=4„âÛñÀŸMw1)„áøè?;xE9(„ßÇP5ÆA„ßDÍ͸M($„ÜžÆ4B_÷ „ÙXÙàPW‰:(„Ñl€”:1„ÈX\Ùp…„Ç©›a³&>-„Ųðï{ „ÄÚ+V¢Ö „Á“ù:•z„»ðŠ#ÌÞÑ=4„¸ï°ÐIø6„·†N|=;„´¯ ³ „¨ÔeÙõ=<„£Ž%¤ÂIÞ#„ž<¦7‰Á&„—ͨM^h „”ˆÖcæ.„’ Ñ œó…=„Ž´¶4å÷ü<>„·Z=ƒ…;2„‹rÁ•– + „‡_f_î{ „…oJE2¯3#„…e,º8Ôx „ƒÿ-ÙȆ=6„€‰¾Rº„~%zPH 2"„|**[È>ò6.„qU5byP„l™ÞÏHŒW9*„d´oK”¬ï„d7 ›•.#„a3ÐãT¶$„an›U¯6÷„_ÒÄ`ié#„_,{LöS+&„[JÌ•_P™ „R¥®Üè“ä„R->i+!„J}¦°[<>„I&Ù+”Ñ;4„H5d_ ³g2*„GËJÊ!j„EGwÿC/ „7ZbNAš93„6µ14_ÓD3+„5ï³Þl2„3[EtÕ „-Z"ä÷„+–@œŽü„&*äQƒ¯¦3+„$¯„=æ'>-„ Q¢fÄn¡>-„ÝšÇ$k3+„±¢vÊR2*„wõrD´6.„Èè{Û  „LéTÕ'|9*„ ÛÍ5Ü» 1)„ÿŽd‡:ƒý¶oÌE_&ƒü.†UÜÅ4ƒú%ùc( 9*ƒö,)q«ƒõUDtš:ƒôâUd&Æ*#ƒó‡šš¡OH93ƒï¹KO¼ƒî¼†^Ù§@2*ƒîTÉÄpƒê 3‚¢ƒá¹;ŠS x6.ƒÛ€ÏK¿1!ƒÙƒSz Î ƒÖK¯õY64,ƒÕ‰ l´ˆ€<>ƒÑªrņ•ƒÐ^SSÂÃŒ<>ƒÐ¥aq1ÕƒÈÁ°²29Õ&4ƒÄhà£Mq ƒÃ¼.zO ƒÁmTD î3+ƒ·ˆîrÒ{6.ƒµä+ÇÙ¯%ƒ±*—Z•±3=ƒ¯÷¶RÐt ƒ¤Ô!@óïê5%ƒ¡ ¹QkX=+ƒ›èª3v~;2ƒ—§`Ì8ù탓*põ¹;4ƒôXšg¥=6ƒ‹Pnб˜ƒ…õBÝÂ6.ƒƒ§Ü¹×¹â>-ƒ{ú,xê7 -#ƒ{ieà ç ƒzb–|}O4,ƒwlFX–C›ƒvñdëá2"ƒjÞsЯDC ƒiªKÞ»1!ƒgÁjçÛ>ƒcÓüü'-—:1ƒa¥Óo7¬” ƒ_Y_*³&ƒ_:È<ý¼1)ƒ\Š1^µÐƒY<Œ³Ýô4,ƒV$©èÈ“¸#ƒSÓʶ›©k:%ƒFMjXÄ1Ú2"ƒ:ñvJÈÆX#ƒ9‰·³ýá 2*ƒ8·<è”ß‹9*ƒ3X=ßz>-ƒ1÷å¼Ó`ƒ/‹˜pÁ’Kƒ'þu2‹Œþ3#ƒûÿÎJYú4ƒW0Hâ¨>-ƒÙ¯'B~ƒ'¦G‘9*ƒ´ˆù~A„*$ƒ~‰®T ƒŒüîE h#ƒ îÔy–.€ƒ×Õ™J6` ƒu52ýsS9*‚ý—§T)"‚÷´àyo‚ò¡Šˆ*<4$‚ð¢/‡¼3#‚ë0Óõ<),*‚é©vêEÑù;)‚é £ˆ›¡3)‚æÑ>R;¿f=4‚㯤puwE>-‚ßg6m›‚ß ¥¦ôÓO9*‚Ý»TÞŽ*‚ݦ! sÓ=‚ÙX嵿:3#‚Ö:ÍX!*¤‚Ó•èÊP=‚Ò`…‚ЈùÛÏÜM2"‚Ð1°œ0Z&‚σb}D¢=4‚ËÙàiÊM‚Ëb›qKi­ ‚ʃÉÊf÷6.‚ÉPœš[}¨-‚Ę«Zé¶ ‚¿)Š.nâ9*‚¾ÛW”9K‚»KiM©1=<‚¶|ЗÒ,§"‚¶‡ ~‰2"‚°–ÁÏ!VŸ‚°r] qz&‚¬Qƒ’l93‚©†ÅÓ‚¨-d‰]‚™‚¨&€»×°2*‚¦‚Ù pü‚¦ù¨Žü"‚£5>Á%ZH ‚œ™‚fÜ»Þ ‚œ^l$ À}‚œ •ª3ä$!‚šñg ÅS‚—í¢O?1*‚–t¥uØ*:1‚– ª,Z1!‚”³36¶OŒ‚’)˜èŸ½–!‚‘UB¿rJ´‚Éÿ+8!‚ƒÿÚ°cr÷‚}#„,ù=+‚x  IS ‚oÕo” &‚kIx2ÈqR ‚fêÏ5ç**‚V$Ò9gK ‚RÑUÝëa ‚R¬<Öu’u,#‚P]zÁé>-‚OÚo9˜D‚F ñyôiO‚B»ËŽìG‚:p tÀì‚6t²§j‚h‚4†«_6B˜'‚/EL¼QQÞ*‚*øùO©): ‚(J‘ÉÞ{£9*‚rï}ݱ‚„» ‚I[]&‚ë#‡!3‚Í6…çø‚ ùb Y\÷‚ Rò¡ïJn9*‚̨³éu=6‚%ô^iÝ/,$‚Ÿþ6ª§þ-‚¡Ê.cJi:,ýu¿«ë—d4,ú0˜áWª†2*ùåye!ÐÎ îé—béíFDDh£q* é§ ŒW0OãH;gÊ “2"ãu.~¥Í6.áK›ûí>=4Ú«¸´E Ú/8¥—%B Ú ì6šbØ;ÚN‡ÆÕ ÕÄŽð§óÍ&Ðüá9q’$Ê—Š«ë#Æùˆ` 1)ÃÂW²=#»Ú7Ù‰ª ¸tA16Û® ¶_>è)¹=6¶@&¼’ 4,³„ÕrŸö³s"߃þã$°X%¯„Ê{ü «Þ5Ï}:1¨ÑʬÍî3#§32Dþô`93 ö”|~€>=4™TØÄâî ˜V¼liÑó—ƒtJ¦S þÈÕ£†:,ŽKO&ª±Â1)Œ0œ_–£ -ŠÅ…ö²ü:%Š+¢À«˜¿5%‰ú"Þv3# ‚#¤Ìr¬ž7/|&Ùý¤á\2"z÷úNl¨ t:åAÜÓq\bÛ é-q_?FÄý=6p‰î¾ºÌœmÐþ‘¸Ð7/m‡ÒÏ?19*hh þ|¸Å3+c¯Ê3!ãÀbq0øõÉ9*asQõË¡ _e÷D9ª"],h¸ÔÐ&[§¨EÑWk Ut1·•›=4TI¾…×J T*ÙhÛø*93S0J‚¿\PnR©šÂ :,NŸA, Ñ$JXÇøX=4CYÇsR4v-3B(fü×* A¢TZô—“9*@·Ý•Ñ’1!?ÐÒT¯5XV¡ ìë9*-©5 i!¨ ÍV?73+Ï;1Hy#®VÏZ×Ðõ¥*è&¦ðâ  öX\÷™ª éWH›Ÿ <;¸`žª€ú2i<·8W:3€ùÍú&›Á€øzO\dzb €÷„ía8¿€÷d¬ÁEØ€ôφìœï¨2€ðüÇæ·ƒ=<€ïLàÝ™×ß"€î›Ù££ˆ¥6.€êcp¢bã €é@àŽÓ2#€áuh½‰„#€à³8§šå%€Õ|ÎÒßOS$€Ò±Ó˜©A#€Ï·TIa$€ÎH‘¯Óhï=6€ÍÏ®èºÎ¦93€Íya«À$-€È?VWì8ЀÆ~צ²?<>€Æ27óÔ €Ã ~£ÊÎà €Âdö휮ò€»ÙŠ1Ø¿b4,€¶Ä¦-TN€µv 9õ¸€´%CQJ\4,€±ÓˆÉF„0(€¥§F êPB4,€£ùuQûFJ6.€”µ"”×’%; €”C¤ï©2"€‰tZÏ €ˆ6?]wcs7/€†ñÖ \·¼3#€F” äÃg:1€~ ÂÒTPx>-€|}ßÁ Ós4$€np¦­ÿK €l—r¨Ÿ+€k‚,l/¦-€jîìƒîâ&€iß«Òr;2€f5âÍ߬ú €cع;•±€X¦ÅœŸB:€Xfë_:*ñ3+€Uï()Oˆ: €U³Î¼-+-€SZ+|ž,$€SLÌL<Ëà->€S>?&‘; €R-€Mg£¡)ëÅ9*€K‡åÙ¯1€JHˆã- €HëËg\;4€E´é9|Ø3+€DÈ Ò·í™€C}ê  xG93€B#b('´2=6€€9Øt2‡–6.€5¨ÞàMo:1€1T}ù)^7/€1œÍWqÊ€-¶²R{ &€(¾±!Ê¡:3€!ô(€Ø‘÷ €wA o©¾€d­)8€XžÿEâM € ‡¿—4ì €!w<î *€]™Š˜{ý0(€Wâ§–‡2*€ õGì~§€ ™¼Ü83#€ ‘Ýî¦Ý0(€ó‚«Oµ €–õ©M<>ýL¬µ‰± *"úkØÅÝ-#øÀ¬üíÙë÷òl€’Á"óà!-kÜ=6ñzßàâ2Ñ3+ðké%x:ïWûwƒ{×ë×B.U éÈwVÑ×!æk k(:åícÌNÛ?=6äz¢žnHy4ä<´Sõt2*ãåÚð=‘:ݹÖXß>-Ûw1XI>-Û¨- # 6.Ë–Ù}þ4,Âöó[à  ;-Á¿±dÁß5%¼¿$_Ì7/³µëd³Úu#²ÛƒªÆ=²‰¬!Éʸ¯^´-‹†Ñ¬…Lß}0 §²—ÍÚ3)§BŒJ}Œ¶4$£06§3Æ4,•Šõ»Þ\ª;)” O§®´+-Œièàl ˆEˆÇ'ƒK«ÿÅ×P"}Ž9´ûŠó x;*ˆ>"uæAÈÖ‘f mì;ê‰w@"lãúrÆCkq6”üŽõ kO±®»0 dÒfë^‰[-_46ûJØ1)W&ΪT#ÃUC/}çsS—-CûQ3¦_ë‚{$MQ×é~;)IÀ¸ÞQÇG IO•ÙEÇ>-Iμ£ÿ6 DØŒÛ ‰à<>Cæñæ«Ê9*AOH¯_¬2*;ü¸¨Êíè#;-°ÎRM3 6!XÁl±ÿ0('À6i0Ð2*&&Œâæ³P4$©“¥á=:$ õ2ŽûÅ I‚Gg·Ð ~þœWI2j2*~÷‡%ÔZO…~ôšTíLxs:(~ï`¸ö€q9*~ì!gx¢§È~ç6³{ñ¸2"~ß2 éWD#~ÝpÜšh1~Ûk`c*¢2*~׊Û,TAƒ2"~ÕÖ€;cçä~Ò\[{úº~ÑXžpC3#~ÊÏR XÝ9*~É4ŸïÝ-:%~Äì¯ÆÞm ~ÁVØMˆ9=~¾ó6 ô±%~¼â:º#Ž€-%~¹º'(^ß\=6~¸V£)'s= ~·?›¦– (2~¶Ù·³²Öå3+~´—3ûûýÍ ~­ò¥g÷oá ~¬Æýy'¯$#~žÛÆ4F",%~™OÁ*Ô5~“ä Á i,#~’ò³P{2*~ˆ ‡<ˆ~ƒ%œf91p4,~|3üa‡±5-~x½îñ¹¥6.~túåêbÆ$~s÷$é°Œ»3+~s9 ±cÄ ~pûf;ƒ‡=~nÌ ,¢y<>~i8¾}Q[»~eÐi]$7/~a޽P5P½=4~_ØØø@ô ~_Îÿ_êâ#~Wd7,ö7n~T«Ç:Å¥Ç;2~N<‡æù7=4~Lþµ4a¶~L³z›Æ¤+>/~HY:saT:1~AÈÿÄ&¾~=}ÓOi—$~1C$*­w©~1C3h–=4~.Ås½ñØÌ~,ôÇàDè$~*¡7§ˆÈ)!~'­½( o ~#ã[û0™;2~"㸨ê‘4-~úaþnÿ«~ ÒoËf´6.~,S ÑB1!~ñÚ˜*¯"~lnë[‘00 ~ TZ5Þh"~Òàu¡™1)~N]ê.–7/}ú›žéiµ.}ùœ!3RÊy}ø§³$÷ÿk }è¸ÀŒ;4}äÄ(ª·‘  }ßøÆ™&5×1!}ÞÙA]Ú·}ÛCOãkt%!}Ú>ÅBéí¤}Ùó§mµpú}Ø$ÇæŠ#À#}Î+ qcë*}̇˜'}ÊW¼, }É–œ)Ê: }Å‹|ë»Ô }ÃÁûü,(2*}¾£u¨–j,$}½(A®Dð6.}¹Å†ZÊ0-}´fh,ÿ}±Š¹Ë›W:,}°Xb~‰¾ƒ:3}­†’àŠ¹l2"}¢‰;­±¶ }¡¬Ï îõê<'}šG‚Ž4‚š}’üÑ9*}’“ýCgWt>4}‘x!ždÅ5} 6Eýç}Œ:ü›æÊ<}†º¡$¤Ÿ#}…ûº/"7/}ƒã”­c‡ }æz¿ŒC$}z³_ª÷/}x¦Vc…ªk(!}wX#çõ¯S>-}o®lÃùhâ}lvZ 僥>-}_ãyŒ¹V}_¢4N°5j-}Yuù‹C=<}XnÌø*o=}Tå“ßÇÉ}Rv¤ÍMZå=6}Ri|ËЇO9*}Pã~ª£v}Æ)8ä }ØdŠqà8(}W“¿´œ¡ }Ý7÷H›ü=;}„Øßê·å }_ºšm¶ÿ}‘ÅdÀ‹d#}À¶74Ÿð2"|ý*%~£Î:1|û\¶í~Ãr|ûQŸ×ÇV:|íáh‰4‘2"|ì@n;§¯¹*$|êú©ÿz |èêP™k~4$|æ¿5ñçÐ0(|åÇ×^^_4,|å­Ã”rõ-#|ä…¦Ú-^6&|âufaäEÀ=4|ábø¦= |ÞD‰S% |Ùgî‘<åU9*|ÔlùŽÒ 3"|Î ~êä  |ʃJÜ· |ÊX`v†¥.4$|Æyó¯¨û',$|Â`'ÕË&|½t…*nç1!|»ê«hêe|º( RŒ* |¹WÅf$|±…³ß |«¤¯žcÀ3=+|¦ì•µ—ºÞ;4|¥”ëúþÚ 9*|£›Ñ˜Xk5%|¢ Œ ™2*|› …ØÐÃ|˜rØÅ,Ž#|Œ vð½Iÿ|‹©§s$} |ŠŒuÔûn:1|‰²uˆë5%||D8mÍ÷ ||´*›Ð93#|zÏ$8š¹ &|yAbg"“5:|ye’Ç a|xógȰ‘œ |w*¯œdO|v%“ûØÐý |sÛÅ% >-|rŠZyÊ2"|pÌXÜo=4|]ŽŠó¢®:|X¶‚7„jë |WeØš |V™*`ÔÆ3+|Uœàíh]# |S÷5ƒé˜_ |PróJIÓ=4|L`›ß®=„ |I8]kz¦«<>|Hè¶Î$û|@àÆçzS†|<³Îï͘#|< *3BCƒ|:ñ~8¾XQ=6|8vOÎ&|6‹TÊPÉ||6AÙ°»¬;#|4 hbD>-|1ÀgÃþZ¶4,|0™öuî|* péÌ |*ƒ+)\HŒ |)¯`[D‚<>|(]0è¡Ö$*|$rž’1)|½Å¢·=R0(|Šä Ÿ®93|`vÞ0&|oø9~'"#| $éÝGo2*|õ )„â4,{ÿ~ Ì}${ûáMbÙܲ {ûŠçI±›Â>-{ó^¦ÙÂÔ„9*{î‘Ç/¬55%{ë+ãðnž1){é==Ó+¥õ93{é Ân6 Ö"{æMžp˜%{å ¶C K9*{ã½B=ø{Ú²”XC:3{Ú˜ÊÌ û*#{×–„¢ÚZ™{ÕSÃÓ¤d{Ô"dÕï81!{Îä}ÈPp'>/{κÅ*´h¢{Ëy‰‚›;Ì${Ƚ¯»Œ¹:3{Åif7S1){Â#75¯:"{¿Û¡û}>â{»È5É”Æ${°õ!÷ì„¿89{°øþK·é {¬®†Æ7c8{¤¤…t%b…{¡×芅¥g{œ3Kë+­à;2{™õ³¼Ó¤-3{‘Ú‹íŒÕ¹#{‘3îñ±9*{?Õ/1K  {KíЬqÚ${…ÃüœÜÕ€ {MkÆW( {}Sô.¸¨×4${|+7ïçÌ6-{zÞï,‡:%{yCý£€E"){wíèÈÍ¡! {t~…¬*"!{rvF1Þý1!{qbXí2P&-{nÃ.¾>r{n'dsv3+{lºÇÍX«–4,{fô$<®{_ idy]’6.{^¡4Ò]3+{WìYK•âC!{UæFÊûÜ={T8€ºâ¦? {S,9— ¥{R- q”…:1{Q“¦Â°6´"){QIz*¶>-{PïÄ;@ {LžÑ'=6{K%¡ê¯@”1!{HLé²aá=4{DÉÍÖ´Õ<>{BŒÔàšÿ^4,{Aj˜zæ  {@Å|t@‰{@S—íÞÉ;#{?ÌòæK c{=Ý™ªž|{/Q1Îì©9*{-uPþšR${)3Ý)ÚÂ1!{!Á¨öx4Ë{‚bWqèÑ&{`’á Š1*{ÐI\ú×9*{9Wñqؘ>-{ I¤“b¢3#{§Ÿ—K,4,{FªNuÊ_zõAX9×'zò%Žþ zék«õc:$2"zâF§üñg zÞ»lן¸ï=zÚX¶ˆß-#zؽSf2F²;)zÎÄ)k½›zÍBÄ9*zÉøï|ºé0(zÇãZ:lzÅÐãÀ·è=3#z¾õ†€@ ;#z¾|u«±"z·elͪ' z·qš©ñÕz³8Îu(A z¯_fÒLé$zªÚU\½…",#z©`¦¨z¨U~@ˆ4$z£šŒU2æ;)z›‰º‚ë6.zš{p­êlé"z’f?å²·#z‘“@3Ñ6.z3α‡,&zŠ7§JùÕz„Zš–EzƒÍöȹ"r!z‚ÜwÃ= 1!zx ”¶ 93zzÒU-G zz¥î†ZézxzúBœÌÄ6-zu]3âlÔY zqíšnvŠÃ$zqÔhn¼"w;#zn{Ÿ¨Kàm$zm8þ…”Š-'zeÝ{s"i#)zcA´h@o.&z_kÜÈ"$z\û³’@ð93zXê‘S“6&zXL?`°kÉzP»•ÖzLdÛ;C# zIPa[i>½<>zEÔ*•†šzD‘3¸±Wz?£ÁNÁcß9*z<¹ñ=@¸„7/z-z4^yJtT#zó+q6Žyý¹ÀqŠyû·àR)ZG5%yúQ‘–üyö\ªy64$yó.hž–7T yïâ£À8R2"yï¿PR[ yë¤1¨­{ yê&¢oB€® yéÉyÓ|;4yèBj9uyè/ܽâ"yä’Ø¤‡‘¨yäJM‰±™99*y㳈…¦$;2yáŸè¬EJ yá–kCÜë½>-yß]^¢„•yÝ18Gh0âyÙòÕ+›Ã>2"yÒM²A#Ii‘ yÎè%›>-yÄ3X§/ÿ”yÀ¦Ê‹s³;:y¼1sAw³$#yµâs?NÔ:y²«˜y—Ò y²-´k¤x´y¯¯áJ!¼9*y®å„D^š:y®ß—9+nÊy­F¹%Wß4$yªŸ¥Ô°pûy¨fô8Ûó¸ y¢³)µÑ}0(yžˆZ¶5y˜ÚÓÔðµº* y’q×èxI>-yŽBéÛβ7/y‹@¦ &œõ)!y‰ùv;¦ù³y‰• 9Fb3+y‚¦±Nx:%y| }y{á70MQ ywUAµP”ñ ys?}•s6&ynW³%m0Œ9*yhkÆhß.F2*yg¡F’àUBydG#À¹e\:3ycöüúTØ ycFâ©óÑ™ ya†5BÀ­y^ErÁž`F yZç9ôÅ yYzBH•> yRÛð$=)à yQ:§LVªyL7Íí“9=yK'¡¿8ÔÃyCè“ûs 6.y@é‘^£ê¯y@'ƒ¾45^ y?4yà±!y>Îw:ã@Ôy3ö;&"1·y0ÂÇ•… y `ðïìS+yü„‘Y<=yX(ìNTw yWO'äD yÙFòŠ6.y¼Uλã½#y …Ïoã=4y ð¼ìAFƒyaCW|µ y „\`½ y˜¢8]@U4,xÿˆ@´é`3#xýA Cxï0:69#xíZèD!4,xåÛmÄms3+xÞ;Lò!˜’:%xØ Nzð# xÖÁÕPÔ¿MxÓN¶žÝN3+xѸ1ïxä xÌŒdL¸=xÄ«œ¹<˜xÃýò“³ xÁ˜ÍxÑ. x¾æhq¦.3#x¾[_.¢ŒŠ x»ßv?ð±x¹ûp8Ô-x¹fåè Ö²x¸¥Æ#H%:1x·\Š’²W x§²*sŸ¿"2"x¤w“æ™)x¢oƒ¢sפ x *#Äî-<>x›V,,Ùe#xš?F6 t]ßÈHxx0 ÜwÕ 0(x.ü•Ä()ý&x+䂊»i¶4$x+]• ŸÛ| x*ïx‡Ò·Mx!'>¢ÈÜ»!x ËÇm1xƒp~»œÕ!xÏpüCâP0(xõM(¿Ž xõ ~}—þ x¯˜†á} xé'n½k> x 2ž»3“<>wÿŒJïêõ<>wúzù0 wö¯óØùõ9*wõ<óðÏKÑ1!wõ7$):3wôR÷+›1>4wðà ÷o wîu¿Vm7 wã_ ãXa wáÊÊyMÈœ:1wÙó+÷Ö–wÙ"ª¨4yÄwÔž}Y!YE wÓÝ$4»Š´&-wÓ9òX¨æû="wÐØ#w½ šÊ‹©w¼¢jÐ! Ü=4w»SþVVm\=6w¸˜TO{Ka="wµŸòGUÊ")w²)¡¼N‘µ$,w±7ÓzœIw¥ÝÂtà‰ 3#w¡Fч wš‚Œ¤1Œá!w™qÈ®Áw–TÃS#Kd93w‹$÷Ò*s#w„—7b÷Y$-w‚ÍR›²š:(wMzåg3#w~îØƒà93wyO#î/<6.ws×¹:=þ>-wr‰A&ÙÂ$wnWÏÓðXwkåô£¤wh€I) ñ wg×8çÙÌ"waŒµçǃw`ñy¨ñHu!w_ÙȇìÉw^5hq|y¢ wYè£#t wHñá8I÷µ4,wDŸR¥‚1)wD;õ8¥Ë w@•I“lž–6.w6çåsÖÉ:3w4=6Sp9*w0d mT´t3#w)®‹ Rï <>w&ýŠºÕ4E"w&aà’gáw ™T>›³w­¬£äš•9*wÝßµ̬w”×t×™wÚTÑcwÿ?‰®W9*w Å–Ž_•€w Á.–!‚ w •UßóN&w f¨JNp‚:1w@¤ñkÚ!wDÁ˜lH; w™|Láwóè g¡* w· Ïd « vÿç%…ÞÂvûÅÍÇÃCvûÀV 'v÷¯Îîê¶vïªmU¡3’vìòÆ «A*vìnØ«©Ù9&-vé4!ÿœ¬vâ"vØë»:3vàΊÏyßåvÚSqbKž&v×Qé ýþ vÓ¯K9*vΓ(í×ׯvÆëãP?«ç3*vÁÈöY’rcv¼è…à’Uv¼3Æ"nVvºñÈ㤀Q vµ–÷4Ð=+v³£€•ð³æ9*v³"á¾;Wß2"v¯ F7k°ã v¨¼Õ(E€n<>v¤¬Šª_ ´93v¡ö¯uEƒ v ,âƒÛ½Š3+v›«iNC7v› ù{2 4$v•“&s.¾ v•“yw^3#vtÅò°*Î$v'É„êQ&3#vŽM~Ù|EÏ=+vŒÐ®ƒ„þi<>v‰$ü’€2"v‡¦ä—¸U vƒ‡°†À< %v€|ÛÚaŠm>-v÷-ùoÃv–0¦vÏŸ v{ÃN8åJù#v{ºc{)‡=4vwPèë'4¾vsl>-vrê³Y<®vqg'-vj`štÑ:.89vfÕk ×°<>veŵ̸C"vd°Â+œvVôd½¹Ôê1!vU ç‰evSÆÁµÚ„†#vP.ô†W<_4,vOÙŒ`4”=+vM©úB-3Î+#vM=øzGv vK‚X“ÕŠ1)vG‰1d×.lvAyñÔ3;v@É5 Œë»>-v<ñ_GpRv<‡÷µ²Å<>v4þª Ì1!v3Ó P _7/v1ÔjU§û4,v-Ô6ŽE ¼2"v,úž ´1Ü v$À›r:¦§9*v#Ý/¯R]ÁvŽÆð*jÀ vȯ™¸&vhw˜4Ý™ vfsAhº v’öåwuvØø —j9*výh÷b¨2"v³ñ¼FZvP”úº‰uÿå`öüZÞ=4uÿ¶øñš="uû˜d.àà·uöW¶b[×U uõŸBÈJ0P3#uõ%•©}"ÿ uñ¥ûÀé,uî„u€Ðóâuìµû4M6.uëúºyG6D+$uçÌ畇ç=6uãbOþB7/uâ÷esºD&uÞíxÔuÝR“펇i<>uÝ ‰–&¯,&u×>Ö»E±ø;)uÕUx‘7£<>uÑ«á…f©uÑUÖ+wOýuËdgí&ù"uÀ´ïÇYpDuº„.̞˞6.uºhÓŠ|> uºœ}&!9 u¹¢‘¥²&uµÅou±ž®,#„#,u¨³óIJùu¢L3à€ÿ[ uš“ÉIs]1*u”^ À\="u“ÌK‚§{-u“žô² Í–!uŽ«›ý>-uŽ‹8Upž uŒš z)$4-uŒtP½%.uˆ5ü‘†x6.u…÷=Œè3#u6¤¯èà uxUo¦›¸}uwé ÞK§”=uwA½qz0(ut4^Ÿ¯¥Ç&unû—‹(Í9*um¸âX¶.6.umd7`núà uhÍ•b#uf„Š8ûºuaži+â59*u][t”²xÃ$uXù–4I—uXjiÀ•&#uX™‰â-uWAb¡„" uVëÑN²ßE-uOâa Œ±1)uMÉÊe‹ÚÕ2"uMÈjIÃg uM(^áJ—9*uJ,Z8×Mÿ u?ÏûÆí³Õ u>Ö•‚ã u9Ò\Ä1ï9*u7š[|›3+u0½]€&u/yøàén$u&>˜z]`u ÀãsTNÁ u 8ý=‰:Õ!uä~qí u@|åT uQ"(¸ >-uÌ2 Kö%uñq½+u’6õ4Îâ tù’¼>Ô²õ tø4üt8 ¹$t÷a-2IJ,#töŒkîé‚9(tö0Ó?bU tíÞÓ‹ÒcL6.tìðdÆ…IÆté@þÅšútæ¢R"ùLY=tå/®Ò©|tâ_ÑÓ8Ñ14,tÜÆ‘aãª8tÙw{Ý"ÂþtÙQí¡·  tÏš ÌîÍ9;2tÏ/ŒP3ÄtÎAåÝ ›Î t͘ÜÔ­ñutÍ) Ä×ÓtËÜ1QH“HtÊ4?Åq$t¸Ò^­ÐXg;2t¸P%¼!ìì tµñ©K“Ÿ&2*t«#Äh#Ç2*t§|ò„‚ð~0 t£ìÁÏ6‰=6tžÂKmðË t’iO¯×m<3+t>#ÅMLt R!+‡tŒoÐ]øi’ tÎHöÒQ4t~J"Jo)s$ty+8gC'StxLð·:3to(ÿ%(°4,tm!âž ¦:1tcí2ä²ÂN>-t\»<Š#Ï"tXâ$Hi3ÅtUM>ê' tQõiªq!>-tP›VLf tF4e»ý\d$tF+8°uÚÓ2*tCjVOƒN tAí©Í6Á9*t@$·×Iˆ3#t;Ï6å.yt5câýþ¬4,t/Pù±ÉÒ t- Åjç£t,Ír¦Ù™j"t+ÆsòŸHY:t+,Žj ¹‡t*Ê#šl st${ª7ºÑÍ/'t#­ a1:t"¾(1z0tÑ«éø#)t^{-U2*tsèªëãß0 t£‘gÞá‹tŠÞé`¦ t¯áZ3Ȳ"t Å3Ù6ë²*tÒ°4Ú{| tÌsörMÕYž2*só'µø…e¾#sï×9~;›¬=sìÃþp4Ã2*sêý0ûl‹sè]Üç sæm4pít9*sÞá©ïкs:1sÚ„¼×¡ +9(sÕƒn8VyÁ=6sÒFö:$sÏ“gŸ“sο`oøßsÉúÖ#¤ s¹yÑÿWµ s´A¬Úó2"s¯?¹¡ü"sªe {Zìs¨µ*“È=M!sŸ¾H×½ÿ6.so“½‡Úê sœÿ=‚œ]s˜Ê9ç¥aµ<>s˜Lm)ö*s”-ra0 s’ùcìa§ÿ<>s’+ƒb›Z©2s'Àí;«2"sŒÔÑ«å sŠw¡¯(âf-s‡`£¾[s‚òg`E  s•W"Ž‚~$s„8÷l¿¾sK©Û%O s|?Æþ‹~™ sx)]‹C¤¸ swŠNý?mîsum[ÈV0(smÕt8®:1 si[£Ž± shèKÄq‚sX꺯¹_»sFumB+: sEi±µÔ|>-sE(ÍØD-4,sA©t²9*s@aÀüGƒ=s?*Þ)—ÌÈ$s>lÖ;Ö~"s<âáfǤ3+s;y[¹C‹ž2"s6¤.¡u#s5ò EÕcü4,s4L³—q/ s1²'½52*s,ßSfN·2*s:¢Ì»ÓØ#+sA2î_Þ4s8¹ä w©s÷ÅÆ«3 sʳp„;2suCj$½s^‰nÙ¸Øs ­£ÓKzj2"s (½T¬-:1s Õ­ÈÊÛ skdCû¶s~ VØæË ss/$7ÕÍrþnë+ö» rüÔ ùí$Ô9(rûÞÀtö2*rö87Á`ŒË3#rõäØÜ,^|*rñýy§ý~rîÜÍÿužñ rìBŒ§ Y=–kÈÞr½´Í¥{u=6r¼= ûÄ#)r»Cô €Iô r¸¨±ÄŸ¹3#r¶PÑó8Àr°×:é"!“ r°-4–¸6:r¨5&n£Çzr§Þ›ëÃÝÞ:%r§ ‰ˆ'¡1)r¦5Ó˜êâôrŸˆá™‘À ržtü¿Kh&rŠæ[2f;r“·ÚXÅ+#r’Ä݉}¨¶ r}WåE0(r8qЏª^6.r‹Vö‚&ÏŠ3#r|f’T‘¥ryþWZô"Þ>-rsV븖&<>rpRÌÝ|îÓ5%rnÅ]‡,‹rj9ÔR/ƒ‘riýÂî h#r_FÉ'\B&-r[himaìW-#rU܉~ª~ÿ=4rU<›’~Ñ rRÔ.&rO’1A <>rOô)¯pk rO@Ûi6,rN @ÕK¬Ä$rMÖùJîˆrJêœ^_cÛrIgíã!rG?Gp©à r?œ›7æåü!r&rÞ÷Šä¥#rjÿòž  rEŸ¬Bröi?"ù>-qþæîîÂy"qöþ¾â5>‡ qöN H<»Æ qôM¹[Dj"qó³žÎñqîp墎®0(qíOyËKÖw3#qç®A?qÜRò…Îx:3qÒ“^¤¦ò qϺáyì@qÌ)þnwTt4,qË®w‹­/§#qƶ¸¦a"qÄt0eè„&qà 7ñP4‚=j&qŽ’)BÏ«z3+q‹àt§ˆ»i q‡±ò } qêž×r93q~{ô”’¶ñ*q~5›Ô¸j"q}n¾Vê¨qzÆ&ÕãÊ®qu=“X¹¤å qpp ÏG•d=P@;2qmÙÕè£Òç9*ql,âJ…#qjûø´iø=#qh Œ²5893qe1»¿»­ q\k½já¡6.qZ˜±4#qYò{2µ_<>qW-pÍ=*¨‰× pÅÉX#þ÷ púز—°-3pÃûhØO81)p¿œñûö¼— p» ‡Ôe˜Æ2*p¸ÁîÎAt› p·Î=ä*]A3-p± ‰ÀckŽ p¨E09nIj3+p¤F’÷cæpœ6Ühiâ p›ŸD4ô0(p•_ ÊÛ pŠw”hRFpŽØ>é”2*p‹E`¡µí;#pˆüVœhë.>-p†î|DªÖ p†´¬,&­-=4p„ž¸íåCþp~ÈÔ«'ÆI:%p~QG ³íx#p|WP?$' p{ËVúY,#pyf¤ôÝ#pwÊ»òèÁ½7/pvâ+¼Ç:puõ¿ÑË-pt»ÍM“3#prÈä:qi@ pr 4Yº`"pohÆôZJÅ pmãkçòÌöpfD2HéÎÃ-pe-á„tµ` pb™uªx~2"p`Ôt¬QS9*pV÷+`ä‘  pO ÀeKÀÑ:pO˜ä¾ï1- pI5e¯Ýë p4â^ì¦:1p.“n¬.ÿ\ p-0@Hdëgpw\”Q:7/p CD‚°)&-pÆãï1úx9*pqð!ÅJL=6p©äÍá öpkœSnppRå˜o„þ$puO8Àº$,poÑp8…R<>pê °*i,2"pDbP“ñŠp ¥³I«žº3#p Ÿșú¯=6pRKxSÏUpø3á>-p+q©½-•oû¶5ån, oúÄŒUé™!oõ`øa&ÝV;4oñ>• Ëaó>-oï’嘆$oêžj£ÌØù=4oêT¹¼M"èoâ[‹=gXf&oߨog§6.oÝëÓ‰: oÝ+SHÜ ê3+oÜ{ÀY!FÂoÜlÅ#•«-oŸÆóášJ4,ošZ%•t#oš8¨ çú,$o–]‹QU¦E; o–ðk:“o“IâYÑ‘<>oŽy‰àê¶oŒ^Å—$Lo}ö4µvƒ# o|o$œ ‚æ* oz"ÚÎéYox¢¼V×7-93ovÕK½×V4$ov£© ©è os´†T­*à#or¢2!¯J>-or#ÌÍ ”$oo)§ î oaÞ¿ŒŠoa”%+‘ÂŒ>-oa>ŸK9Õ\;4o_pšýÅî o^ÉÔ *&EoZM®Œn^1!oR•¾T2"oOŽçÀ‰–¬&oN§Ý bM oM?4$#lc oFaÒ:o@BD_âä|o>²"LsKR,#o>š_ö"ùD o=š8Ê¥a93o4Á/Œºo/j H§}V3+o,+'®ä`3+o*¡/‚²#o&m0‘£F¼o%™*ŸÿJ4$o Þ>­¾žoŸ2–9›3+o]š’Ê–¤9*o\×áFâ­>-oøŒPó’:o Ül)кì9*oZì)‚X¿=o “Jn· ný4_°É,ö$nò)—Ñ6ä9*nîi©õÿ^n犕úK˜—4$næÞ¼e¹å2"næGM`5Gš4$nãÛ,c·#ná‘ M[|ˆnØ•isÓmR=4nØMi©FÞ:,n×ÉÐ¾ÕØ0n׹żUýY nÓ‡+[µÏönÓ-ÐÅô$$nЖ,¯ÑÃ0(nÐZHž¾vÏ nÍ}](Î[:3nÊ\"‰mïC nÇ’JMžÑnÆä±®Ü€'n¾\Z#¾õ“n·§pèãZn¶3æÀ/ªe>-n¯8 ™ÂRà>-n¢^ å·9*n¡‡ïî-4nfæ$cú;=4nc(þM²U"6&naùx3ùk5%naÆk]†ú* )na®h$rn_·è§mÞô4,nZ ¶CîT´ nX¼IæGnî=6nTÌ™q·ˆnQø„å(8*:1nP…Œ£>¢n;‘”òd9*n9My‡QR¾4&n4”`šEG~ n/{:Aÿ¢2"n,TšrHfn&’›(¬] n%ž¶É~öèn /XDåÓnZ¥z†<Þ;4n€!Éà M=n‚˜$)#nŽIB„Ñå#nüQß n ­I'®-3mÿŸPðï  mö„—}U]u mõ¾‰r_I; mò¿Ù´(¿9(mñH+Û“ÕmðìÚ(hÅ&mïϵjÂá#mï; {FEmîfÍYP mìØß¯µiP$mìF–iG#mâ2 9>mmàL©ïYO2"mÞý„ÿý|mÜŽKèã‹$-mÚ;=–Ÿpò/mÔ¨ãm;–å:mÓ2m5µà?"mÓ ±%b;mÐ*Ê%å¡mϪ–ábFK,$mÌý))V;4mÌò¸ð³V8>/mÌS3ìOÏymÈ=ܽn mŵZ,ƒñ mÄÃýÜIÔ;m¡:Oïït m½Ñ½ëŒ mœ›Ü¶€).m𡲂‰SÕ5%m—é¬íø¥T m•X"»Ô«V<>m’Œô€=žÛ>-m‘Æåånæ%mâH=pð9*mލ±™‹HD1)mŠæ*íýìÕm|ئC[ mxÿ¢­gV¿-3mstÉa^( mp—Ò.Ô•-3mo¨Aû͉#mnýhäöèè9*mm’²Vó'¹; mjÐ~c =mbʽPfÀmb¾Vo£)m[ÂHv¿2*mZú$èŠÞˆ-3mXZ^5ò°£>-mW¬b|PÅ=mF-»¯äðr2"mAâ¾øÞ*m:y¹Í¡µ-m8—l<\)/ m-ŽìËã¢$m(LApN#"m&ÿgЗêm%UìÚ  m$…¼2â>-m!ÔÖ¾ûÊ'm•ö¨ûˆ=lírîÍ+p  lë¿Xàb$lãøås¾KËláb'ãMó3)lÚP°¥†;&lÕ/E78ŒlÐaÖ¬†Š6-lÎ$Ôèj¸="lÌ=)μPlËR:ÿĈ 0(lÊ+Â:A¸ž3#lÈÛ櫃ÚlÄþñÈ« lÁ@p tb)l½pÞÇ7p-#l½H7B ²Ü l¹Ëe™1E1!lµÛoãÒ,$-ì3ølZÅ2( ò‚lZ4ôwó²-lY‰µ ¶ˆlV X4Ê,3+lUäùL4…>lS =()ß3#lN«cÊþºlMΞo.= lD·„p6 lDHùä€þ:(l>»‹Mî9(l<’ôÞœÎl:¦ÇSÍdŠ<'l8°11 ‡9(l7B¾£¨ê=4l3=ïá l2ïÂÃÍ“—>-l1Ë4Î+&l/Pi–™ô l+›&VXl"™퇅>-l“dѸ#l†@²_ÖlÞF´7/l ƒ ¿t‘>-lê×Él©ÒO¬:%l6é3'2"kþáWš5®œ2*kùdG¨Mþ; køOw j’kö2:yE>-kó²cD)×VkíÂsë6Í#kæïÒáPþ: kß«6µ\y  kÛXiUƒ1!kÙ2‰<æÞl=4kÔyÓ½5Ù9*kÔR”6Î693kÒÇL€¾¦;wꈂE kµðgÛJk´ùšÎãµÕ$k´«PŸw'Kk³+ü›É-k²jGÀʇúk±:ÍdÐ¥ùk¬)0¡[Ú:,k¬ "2ˆL¶>-k¨›À˜úb4,k¡~ÿr/ëkž Iû{3+kV j¡“ k›z92Ùo¹4$k›4=¹rº:k–3$ñ¬ƒ1)k,ÿ?ùÜ93k‰UKD.Ü-#k…zÆF2¹=k‚p†fd‡kl®Š>'Ekxø¡Œ:k€r@˲2*kx<ñXQY:kmŒe£‹«A"klÛ <}<>k[ˆi[•6.kYOKÒ&ò4,kU”æÂ_†kPÞ{<ÆŠ"0kO^ðf÷)Ö&kN1Z®jÊE&kM­™%ÃrìkEuéGôÈý="kAAß´þ‹&4,k=ô:´XSk:˜ï·Qɦk8©Ÿ±Ö›#2k2xõ:c >-k.ÔOP'eg="k,Ã%& k&vsÿõ…93k ܤHk‚Q(.‚kÏN%µ0(k˜ÕLV0$k[½ p”ek¨ÐÆî^*4$k ÉÝ 5 jþÑT[K(2jùê—ë(¡ $jõŒÉš:ùjñW°ÿ–©Å3#jðÖhÐtÇs=6jí±¸–†1° jë@Ü”2Êè3#jêñ'R"̾4,jê ›2N·jê c= ¨rj饘€fè9*jãÀùø³°ø89jÕý¬Ù<"jÓ¬<þÞEu=6jÓ†"V¡ån*jÒ¶ô:‰n jÑŸÚ»UgjÏÔ:Ã~´jÎyãøDFÿjÍ"ŠÊA9jjÌÜð­uÓ<>jÇ5¥£ˆÞK&jÅë® O jÄ̤֮jÀZ£/i0(j¸O£³ j²´Ýï¾¹Ýj±ö6!hl9,#j¯Ctû©·G4$j¯+Â3Š#j¥é¡SÛ…1!j¡¯,~?²3#jŸº:pÆì6.j™µŒ ¥ã j—]1JÈ’;2j•š“QEÖ6.j’…¯ž<íã9(j‘JgþI²M>4j‹•µvÛm™#jŠ»ÀP6kj‰›‹†³ýÓ9*j‚pä0QMÊ0(jø½3]$js±ëÞêr¤jrª9¨bR]jl£ÿ9›… j`ͱFiÔ|j`× DÓ‹4,j_Ãg’Á‹E-'j[ý*(ÖßjUÇ÷ü®³V7/jRƒÿ½\P$jOFdªŸôjM£L¯78.>-jMž¿ä#d†jK}ÏJ@„¹2*jG(ÃljAQÛžçOj>úm?ë´93j=zšHõ7/j7d EÍÎ j,)¨ÿNˆ j)í»¾ÄYj'&Ñš’ë>-j%—wì?>Fjt»ìä{ñ j9 Úd¶-j¥ ¨®+"jŽ¢ Ži)j qŸbRÝjrpüóÂË"j|bÕ öiü”åÿ$iøwðJ]/. iôõh•ùÂ:iïÙ1Ôý9*iìb|Ǧé¼0(iå8ÀÔûÀ],#iäcÆYè£BiÚg©5*É2*iÙ­"îì¹ iÙ]ÙT®Ÿ=i°ÙkІ¦ i¯ÌknXæí;i®Üxƒ’Ì’9*i¤¶‰8ü i ©‡iH:é ižF-ÑÆ!è i–UÈÄþ=i©Óœ‹Yi‰Šháy| iÐÍÁäi‡)²öÌLï#i…ÐK†Ü93i„¿}ãRÌ•4i„™…˜ðS<>i‚éªÂ ÚiÙ 4øè93i~$¢þ‚‚52*i}'>J½å¶iw®Œ÷ÁxÀ is{ãÐUÅ©=4iqÿðžÛb2"iqò"& ^h$icï zd2"ibÖ¥;Mèi^Çwȧ&i\¡=å"/iXø›ªåã#iX@i+¢„‡iL.yÊ"v±0(iGØÀtÁ^H4+iGi“ÄH6.iBÛÕ»iAF:G/'i@ð;éâ0i98´«±n i-Ž+ìc´$i,Óqýoi+_å …Å2"i)ÆV*8$i(`7 ¶« *i$:$˜‰êi"ºg]8ZiOê÷ñ ´&iH‘§gc€=4i‰Ž‘X <&i^¢çMvø=6iìÜHà¤ài‡è)«.N& iXF<Î6.i 65NÎ ©i[Eœr=h÷vyb]3+hóKqá G„:1hò+EB¸Khðè'Tï˜hîpçGë@‘hí -]à hísWˬZ/híCm.7YÒ hà<‡L—ˆ*4hÞ§1ZYÊ#hØAå·¼ëRh×)n*jê4,hÔ8Vƒ¿·hÒâíñ>JN hÎ!jð hÉåÙÖ8Øy hÉ›ˆ|n š hÆ+bAÿµ93h¿£Y6h¸àõìõ2Á h·+;mWž1)hµ Öî#=Ó5%h±·×±XÖ=4"h°rl¿€3#h¯Qúëç‘2"h§æ³-—pJ0 h¤­¬f\Á`1!hžì=AÒ>-h˜—÷e3#h•¶‹sxù3"h’Èô¾R’×#)h’EJó¤K9*h޵š+a7'hƒR­ÔGßgh +Êò–%hvо@tË”hs[R³-òª!hr¸áü÷Z$hlqý8YÅSheô‘Khds0®ø0 hbå@iÙ`1)hWcÇŽ`­^ hO{™îJT~!hIãšvÛÕ>-hE½˜´®op hD“n¸Áy/6.hAE`1öôx h>Äù>93h;Ȧ1ÕQ$h9ÛyQUPÑh6-ÜS@Cªh5—U¦e¹h3‘ ›ì˜œ<>h3IãjÎ;)h2å‡p5ñ h2½ŒN/¯ã$h.ý™;ðC4,h.n$è?q3+h-Ë2+pÈh(î¾êúš2"h'ƒeÑb–=+h"“p•qh![Â5 7h²lÛ·R­4$h˜u÷²Åjhx¾ñm®Œ hµ›Â!+h°ABvŽ hC§0iê‡h!øý®?ðh‹×t%ö.h ~¼»äÏÃ0(hðÆKëp h $¬B h}_Õ› ^ hyK[‰h5ä8YQ¤9*hq€ng£!gþWCFºŠ4-gý:yò[qVgý2ô´tLgü›Ñ “ûgú8Ãà>-gôfÈšÐa£gñá|ßÏ]9(gñ1U5nE=;-gïÿ„g+. gï„Ç”k gì¢öû„p4$gë¹]vÏgä;€°¯C0 gãÿ C<\Â9*gಡ{¦<>gÜkåÍw‡·gÜß ‡Ð gÚs£gžÁ:1gÚW*˜P¿€gÔk}ð4S2"gÓž#àR83+gÓ—p”8Ì™ gÐFÐH#ô*4gɾ¯Ï™Ø<>gÄÒ Ïþ–=4gÝìŒlgÃùVgÀ-ÝVsþš<>g¿/Ó.µ:g·´qD@:Ûg¶÷c†¦ +$g³GÌEšWg®NO¶LÝh3+g«á~¸)X¿=4g©š£( 0(g©?™¥ Ð3+g¨©wn=-g‘¶´¬ý´t gŽÇÞ*zÙÙgŒJ¿{SgŒ1Ò}lŽ  gгx–…ÜÌ;4g…•ù¬±M/g€¶Z¨É ;)g}Î#0Œk;6.gqƒÆní’gn!a‘càzgl®BÏæ¾ giRûòÖ=ggêËû2ÍŒggº€'£#ggDi°$-#gg'ªšß’1)gf<úr6 geÊ€yÆu>-gaã¼äÙè¹g^¤­lÏK!g^l1dû2"g]„œ6¬AÉ gYoRØÜÝ>-gX˜wÛe8 2*gV”Í  gQ¦ ä³ÙÀ;2gOî/¾Aï,#gL^/jÐhá0(gKŸä-ë\˜gI£ÆÐ§ÄŸ=gFëu=FZ$gDe2H:ÆgDI¬Ú‘6.gC‰2ˆ 3+gC o’(4j2"g5Çã§]4,g4œ/fų,g/*JjjÎg.ÿõ{“ò0 g.<úÅ^çä* g)L>¶N›g&LìŸá0-; g%»ì䯌˜9*gÝÒ§;)gkdžòÀg_˜§ø):,g ±@Žc£ g ŒÝA¬ g„pU=-gºœÃÛ fÿþ˜Êð"t=fý´Î›qM2*fü¶0F¹Ô#,fù•ég1‡¨fö_m¼È°93fõ,²ç¥Wh=6fðЛ½Mâ->fí^à´µfælï¢S‰fåá‹¶D. få•êÂÆO>:%fåj¬z âƒ0(fã•øÔ“ B fß5çÓ’ØäfØôΜ¯èõ f×G%>Q?&-fÕnº .fÔ{lÒÞÄz fÔk¶)@N3+fÑhzÊqp¦fÍã!N<Ê;)fÂbBçâ ±f¾ ßL‹´è#f·ëdâøˆ8:f¯–üãýÞŽ; f¥”Q|ú<>f¢¢Aýâ=f¡ä{!ÿèR1)fÞ`ÄfœºÁ)YÚz f‘—1¡ xL4,f P·+æ- fŒâ ΓJ#fˆ°ŽêãWÅ f†/Þtµõ›9*f{RA&ö fu”Uù ¸"fq³{%E:Â-%fqmúh±ŸÅfm¿ž¹Å@˜4"fmˆ‰ „:3#fkÌÉEþ fiÅ7•œ·±fiœòhPÜ fh"×!e#1!fUpÃF¤ÑfT0!-ž«¬fRK5Ƙ7î>-fMò­c܆x:1fG9J4…^¨4$fF£_ºE.;f þ„i}?*$f ù¾tGŠT2"fOÃ1^Gh f¾Ä(šfóöïzF4eü¢¯e~G3#eú|4íÊF&eù}öÝ·Y¬e÷acxFõ2"eð1<¨Nq” eï@Ãix3–$-eì±1½•ý¦93eè4û } š6.eå9+‰ ‡}0(eÝ&òęŒeÖ?«áT=eÕ¸™äBêeÐä˜.Æž eÍ9¬ïfd¾eˈ:œ)3+eË:ܯDÌ@eÂÚ „%&Ð3+eÂW©°5‹ eÁ“—U=”5'e¾.óü™6.e½ÊîÙÙa9*e»0–?=e¸–u²ŸŸï'e¸r5ÊÁãN3+e¸}ÔׯI*e±„,«=ä4,e®0vS$“Re¦‹7õƒí=;e£òf[XTež²hQŠpå7/e.èÏ (e˜c×ý,"eŽ”ÇÙÿ< e(Œ^vÎ; eŒ“5ÃóÂ6.eŠð¹Ôí›R; eŠŽú‹œ»¢9*e‚¡7ôEv,#e‚Cûͺï<>e~\0îš´"e|ªwýÝ/ezÑtuþ}ex£lªu#!eq”Cž@Ü2*eo8ý’+í.en›f#¨åS="ekÖЙ¼C0(ejϺßÿ\Ç#ei9Ý:ò)6.egt§mËÖ†0(eZ¬]xü5þ8:eZHÆ®â#eX&WPPÀeTf€°ºveR¼f;ÑeQ­"š£4$eNn¤ŸÑ@:1eL=Oƒtzð1)eL ‘ ´_3+eJóPH¤?ÿ.7eI’’5äØ>eHa"-’=-e-.Kœ(ðn;2e Ü…Oç³~e SK‹òl;2e¤xМæã=6e¼Õµ5JW&e£~¢e¦ï½¼ìú,$eI%hjÉÜ2"e ·¢ô€e…Ãa¾&!2*e:À4{HÉ="e €XÑl!93eµgñO5dýÀ纰¬kdûL5 Q93#dúsvÀ:,dö.O`ÚÙœ-3dõMÞÒÜ h4,dí[j¡Ì dé_Ó´°'K6.dè°â¿A7¯dܰúyV÷dÜJ8µ«X< dÛ>¾+ß4,dÛ {ŽÄ•âdÖœwÖŸGA4,dÔHÊÜUØÐ4,dÍö=ÑÃŽÖ>4dÍÊä?éÅ  dÍ·Ë#!®kdËAƒ»l€x&dÊØd´Ò¶#dÊJ`KCnº4,dÊ&\Ð_z’dÈ1,´ÁR dÃíšN-/dÀžÃ­o|ö d»ª1"øôd´`\%Q„Žd³ Þ1›ü"d±¦éDB{¥3+d±|Ø@ŠeŽ#dª¬8¨˜d)d¤õoÄ— d a:C²n0dŸY—ðñÀd›² e£<>-d›‘¤¡ÙXÄ2"d™¬ï ÚÀ;#d˜`/Úò12"d’4À ]cÕ&d½C÷Jè.dŽhA7,W<>dŠo{FY°d‰àñ¼J+")d‡•è#yèdx!NäKÓ7$,duZooqä8 dp©>ÿÑG<>dpe±Uc` dm®Ítˆ.÷2*dmbYMS„  dg£^¸Ð Ý$d` ÑAÂðd]‚joyÊv d]XŸR§ 5%dRïf´ŽÚ:dR»|ÿ+ÑdRC,RÎÒ4,dOñÉ4Ë"0(dNk²áøHdKê@mÙþ:1dGŒœgVã7/dBÈtòGÝ$d=˜:°Žud;a¯[”,>4d9F!±³d5®C+^J*d/úCSÄx$d.ï¶^Î%;d-Æ—gÆ2R5%d*A›†Úd&ãˆá‰r=+d#S¬\}7/dAšÊ¾Ýí=+d³Ÿ¡Ìì d-ÑF¨¤d`uëß–·d“T$/¡ÞdòsL.9*dLõÌl[B"dqž¡ ›d™dèpR,<>d˜²] ÓGdË^UŒ1!dÃWSœdÝ'dE‡—²`Å2"c÷LYQÓ7Ôcõ×&Týcóâ‡všq<>cñúû)Q#cê*® ´+cè,~2y cá cÞqN~¯GcÜ$ ˆ«ØcÛÙèÛʆ cÚA>pú?W=-c‡8ž§ae c}ÊLó‘Ic{ÿ·aâ©ácy¬­cV“¸}öCcU þ_ý8 cM[ILÂ:%cE¦Ÿ²—±/9*cAh3‰š}rc<>°Ä}«ˆc,•«ÁûaÈ&c,ŒÛ§0K"c+ÑšÀDvsc& n"-b—ŠíkÕ¤ÿ( b–6¼HS§x93b‘.Oˆ+©0b‹IáWŸo-#bŠiÈ^2È•89b‰¹qµÚîY6.b‰¾íeáZ$bˆ ”m‡ bƒqÍ—²4-b€ëQ’í“Õ=4b{šr7ë¶ bzCIýgáby;÷@Q‡=4bpí…¤s”boýÖºæÝ=!b\³çqŠa%bSF¼¸Üàý>-bQhhFö"#2*bF|Ï ñx×,#bC¨™@<e bB‘Zxã®>4b>~w6eÚb:€àÛ ]Éb8'^§ .¼b7þµ›f™ò b11aêƒ*bb0^DúѼ::b-í.kCϘb-ÆßX(¥b*‹O`ÈÛù*b ÐâÅu+à0(bÃkõËj>4bGÄìZèYbZI™¼¡ßb×·¥°ì93b‡ƒŠ¿Ì% b\k®b˜•#bßmÎ~Ù/ byõ¨©¥»9*bÖ!7°E b3àâIaù‘c— iï2"aò­{WÒb×añ_t(md aîuR’J aîAγw)0=aí6#CWí3#aêlú8'32"açûHZ‰Ù(2"açgM¥­9*aâtnÞb¾!aâZºž¿I' aÞ¾Õ¸©š¹9*aØôwÈwX aسV¾P©:3aÖ—°­rWï3+aÔ´ÅO'‰– *aÒ{`o§ikaÉÓºÁéB™<>aÆI$Ü›ˆÖ4,aÅTý.%ß=aÅ9‰Ú\a¹œivå a·ÎYæ¯O~=6a¶9§ýæ Á%a¥Ï¸lœ 6.a£pó±í a¢ðŒëŒ|ßa  ç•aœ®Ê‘$Ëþ a™êAHLa™¢LNí£#a–ªä!oc a–Êß{ÞÙ>-a‘'H£²1)aW2nY—:1ajóæŽbaÿÆZ¥éj1!a‰åoÙÌ•#-aÓ¨7í©CaÄæÿòÐ09*azJ¾PŠasÚ7hj>4ald"{rÌal]›¡ûº ai,E‹ÜÒo4,adê‘mô7½!ac¢€÷}Ïa^°á1S#a]7…¼‚ãÆ=4a[¶§á+aXê½Uƒå6.aQ^º$LÈaP*Èp  aNc#¢dÚ3*aLzWÈ^¶ aIëùÜ1Ë93aIÇ. {ü2"a@”-¼ÎSa@ Eʽg$a9dzk<ý÷:,a8ƒ‰MÅa7 ­¸¢c>-a6ÇmÎ+§";)a1K×ÙOßÇa){ÑÝX“::(a(®Fº<ïa j™HÊ•b=-`£‡«g@3#`ÀÚ$°åß`œÂ?w’ˆ `œ®È4èèÓ`œöKãºS<>`•óc`t>Äó…*0(`…7ppI#)93`|#»kÍ=X`{$Ÿ¦_52;2`vª Ö± . `s`ÕÕÁ>-`s&|; <>`rQ”ÊÜ};+`r Èìä‰`o<†lVm=4`k¼‡{•(`eùá* 1!`eØ ¥¬3+`^È3SN©#`][±#õÔ`SÖЛX70(`Qp‡hä%:`Pö}H‡Ýp `OàOz»`Ã`KÂP0ŒU`D¾¶ìð¯2"`=ëÎTn9*`;]w *"u"`:…—´ø/@=4`6Ó:e9Ï*0 `4Ë÷Î{<>`1©ö¹áÞ`-VŸäü¡3-`$d?cÒ|3"`#±”ã¼f1 ` ¼òšÜû‚%` *´zwõ4,`´½3Êo7/`ü*Ò×ã `FÞT¼Äõ `‰Û­­“ý&5`T‹Ë2©Ï `üT—ô$d9*`סó{Q)4$` RF{{— <>` ?°õÁáò`½´kG³:%_ü))F—3#_û!Æ:É_ò£²‡<Ã9*_îЫ8,=_줋݇S$_騵Î&¶ê=4_èå~ új‹; _䩬à®9*_àû†€!o=_àÕmTBÑž4$_Ý“;Yˆ¤ _ÚO}¢Hã:_Öï-"çë5,#_ÐkYˆ?2=4_Ð0ÓDC$_ÏXüú•ë_Í23àõ·‘ _Ë46Q×[2*_ÊÄ™Zà <4"_Ç׬h1øs#_Æ=RŠpáW _¿ßÍI;ˆþ_ºT lZ9s#_µ[:ýñFp3#_®Â•Î8$-_«õÈèvg†->_«ð…Õ@gú _ r +?ˆ0_Ý“^5Šx _œÑôDsv7/_œü­iÏä2*_›X["«Ä_–ËG ìé _¯þ…{ˆ_‰Ø:–±Y9*_‰_ð€üj>4_†*Øipðã-_…=zh¹ ¬_yLUZ6?&_} g†—=>4_|HðýÌÓ=4_|1E˳B _{@óľ'2"_{  Xè“; _z÷µèöR§>-_vÏèÞŸU±_mmÿ·7/_c°Òâa¼¨_`1"®tf_] Èns|ü_[èmoH_XÔÜSp4,_MäFé-#_DvÏsñ¸)4,_CMwCqÝ9 _2±*‘Dc_0…+”| _0OT‰àò_//È$Qi(2_,þ÷G¶á3$_,á¦kGs_*‚˜L _&Ó€Ì×`” _%ë ÇÌ·&-_!3oˆgc;3_ óËNI‰t>-_A­.ïë*9_`Q†j >-_ÇüÆh_91òuÍ93_ Ÿ&ÒÑ]_½4`|Ú_ßšðoZ&-^ýOpî@>4^ûA  0z-^òˆ)ŸJÓï0(^ñøójt"&^ñ‘#``èÔ4&^ï„jZ="^åøÿ©ðÓ5%^å&­Rn¹#^ãf‰³°¶:^ß©´„2Ó^Þ³zð¢ô¨ ^ÝÏÁÙ3Ñ-^ݬýr2ÕD:3^Ó9é!F^Ì“¦%U ^Ì_ذ¡¡>-^ËêðÛ{ #^à ŒìEo&^¹¼÷1¢‹ð"^·ÄzéáW^·:Ö&7€= ^¬½‡Ÿ~Ú1!^ª$=ßÊyO3+^¥<Ëbf"!^žäXçy“-5%^žº*–µ2f ^”ðÇScÙ¿2*^“úm&:%^“µ½èbV4,^’s§_}i‚^-õ÷Èp>-^Ž‹ÛŽ!s2*^‹&¤˜_ ^…Àî4 ‰Œ ^„%¼¬ÇÀ="^⻕û¼ ^}&¶Ë‰²È3+^xÏiMwYé1)^xFŠ.$W^vîÇrëQ^j$s–âè ^h`¤ÖZp1)^gÒÓ$ ð’>-^b2 GÎoY2*^a’M‘tÙ"&^[êüoú`M^[¨cIü },#^[(9Qжß^V€~ý× 8%^T¢ÁÅÙÚŽ>-^S™ajÉ9•^RM•_uŽŸ ^P»Î²Áñ^OgZ ú ^NlL‰>q1!^Kv¦^>ó쵈<>^=åG‰”1!^<ªóƒ*0(^;Ç«ÓÃÃ<>^7þÈI‡Þ ^.‹I‹\R ^-o*«ÚH*$^,šÊ –4,^+Ÿ±|KÏJ^+„Ö,Žw^)4°Ó_ü^)¤¥ÓAˆ=<^"{“صÄn>-^ uåŠl_/^üž%â|J"^SÒàqjû&^Þ¢ )nA^Æ9a´6&^#ö//Ä^N]*Ês¨93^ú™,86 ]ÿ½œ1ðã‡9*]ý’˜ª3* ]ü]-|¡h¿ ]óOµ 83+]îØU:L›<>]îºÄ ¡Ò]ì±#Y… ¾2*]ìf5—†Ø$]ÛŽÀ‚×k]ÕQÖfìf<>]ÓݼÖÓÃF-]ÒD}+•Jâ2"]Ñù(_¿v]ÐÞ±g¿uÃ]ÍSLÏ mO ]É8ª¯©2]ÃtŒ°¡L 1)]¾¾†}¸3ö]·NÜYVpý ]°l#’*#]«t®ü‘Ë&3+]©C¤º ]ŸÛ2¹—eŸ]œäO”»Ÿº]›æ·s>yk1)]šÙö'Œ593]–{|‹XÇš"]”£©cj,©3+]:Éûû{÷¬ ]:]…Ës÷›]5KÞ°OÑ!]5'Øî9;)]3¤onµ­?9*]2–D ðoÇ3+]0;˜mÕ04,]+àX O>Ì6.]*ƒq_?>-](0wÅWª<>]%naøìÔ@;2]##ØN"3-]#©`çA ]!òo¯’Ç]ÏjÁJU>-]Û_XˆÇ@]¥ºPô°]—é‘-F1)]ÒÀ12E3#]ôtéLna ] ÎAïÿ9*] ë`¿.‹‚9*]  ‰Š_vT] @vRú5`:] žl¸ÃÑ] ‡æý—]uU}žš&]“I“Û90(]ƒbGÜ£* \õ5qNø5¥ \ðÓG4[¤\ì[~Sc³©\볃ý,$\æc%M¦PÇ \Ö›öæw¦1*$\ÕýPÿÍ'.;4\Õ¢æ­È8E=4\Õm£×ˆR6.\ÑNG8"ªÍ:\Í•"r$³ \ÅÒ¤5o½{ \ÅÌe€ÒŸu:%\ÅÀ”iŠl1)\ÂR«|ì¢.\½æ¡vûû= \ºô†\7/\¹‡¼ þ´d5\¸¸–°˜\± c,!$\®Ö¼¾ÂÙ>-\­¹8‘_<\«}BÓ­ý&4$\©Š1ËÀ¼2"\¢§ ìæc \¢žAcq't\œGȲb¢Œ4$\š²r2À6.\“ç(ïåN=4\’ÙéEÖ \‡7Á“éç0 \€™¯F\€sM¯µ¨\~½¥øÏØ \zäèÒ»—^ \wÜ-Ï5:\t1á<Ší} \s–p‹®¹6<'\s;§é$c4$\r–,j[@f\q}|X{W\qVq ´¡:3\q ¹ð@4-\nÉ-\YÄgŽÔ¾+9*\Yb akµñ2"\V‹Ô'ê93\UdéO22*\P²<B{†#\O Ý·>^-\H …åy2‡\GJóYiŠí\A·.¤ò \=£˜—Kå6.\=¤ß,Z\8Ž?b¾9*\6=BÉ-ÙB#\0µXû(:1\.üSTTïs \-ŠœBûT2"\* °÷ŽsP4,\$}¡#Nó+#\#a|ábúh=6\ ¡7c¼:3\*B(^=4\Q¶»°w#\²e¹™q\©}¢•\Õ„þ‡3#\ð?jV7/[þ›ÏiˆŸÝ&-[þˆ±íŠ[üfÒmMû=4[÷Òú;©#[ö‰kƈ [ðà‚µ­.„-[ê›mÎTìG>4[êXx`|•C [éòÙ:yÞ‘93[æax& L7/[åë¿DÜ [à Èùœ*#[àÛL‹»®0([Þýݨíÿ-[Ü4ÃÈÉãÝ3#[ÖξWÂáÃ2"[ÑŽS…’%[Ñ1|Ý8 J[Ëg‰F“øb[Êœ£Â|%[Å‘3/©žé>-[Ãæ9˜™->-[¾uê_ÖU [´Wî`aÛÂ[²àލ“oÆ[¡Í)~ÖÎí>4[˜žÛÒÂ2#[–—£>`χ[“·´D8?_[¾ÿ2ƒ[Šß?@p [‰èóá9¬!=<[†¿üÈgpË[…Ý3M” [„nìH†ûº4,[Ó뀉L#[~Úí 2Ž7/[{³îÈ”h6:%[xÉWMïŒ=6[w7hÙrüy[vÒµ.å¸;4[u* ¶ñ(3+[jñ›… 2*[g–:•M<{>-[g¿ói :,[^s´ŠÐ„![VÖ׬[÷0([T/?'œ‘ [Q+\žp½Ô5-[K÷Õ;²w®=6[K!Ì:2e9*[B€ßNÚ†×0([<³gV­—1)[:û§Æ<>[9üî’š­©¬UV$[0ѯ;úÊ"[0†…)–=6[-cÓóÚp–9*[*E! @€9([*'7Z”[%Ÿ0[©[!σ+—[¸&“ç‘[lü¼è¶2"[¤mãèl; [$ý_Éêº;-[8çK4,[;|ÃÁ'ü[ìÿ ì [ i!ºŸŠ [ ¸B|­ë=+[ ®ÌÚ|Ã3 [›O…U( [y©2´`ä5%[Mq#ÀOcZÿ#oÊpÝù+Zø¹\Qk/<2*Z÷“ B¾]ù$ZòÎf±0ƒZÛó¦k·.6&ZÚE;ÈFUÙZØ,{ýõ‰† ZÔ–“oÊè ZÒET‹ðñZÐ_ÔšÕ¯>-ZÏR^Á”íéZÀc ¨ Ó¦4,ZÀ;Á>ïÒ8:Z³óòI‚&Z© ™mñ‡ Z¨ú_À'ç Z¦ÑÀðÖï Z¦©€íªÃ½ Z›¹€åª<>Zš4œþ"¦ Zš_ÂZv7/Z“Õ·,‹Ð:%Z»†Fgû:3Z‰Ö’ð_U Z†Ùûf¸œ&-Z„LgÂOþT Zió HÇ9(Z{‚E”ì"Zz§ÃH*NX4$Zzl 'EÇ6.Zxm¯û@çZs]%WŸ $ZmOw@^,\Zm^]V$Zk ¦-Zj7X»Mó#+ZgXͱ ¼,$ZfÛZ²I°®1)ZeÖ¥6Œù Za…oHá=ZXÆkbJ{:(ZOÎv‹Âj<>ZJ( 0<¦1!ZH0é­€î ZFÌ)°ÝZB‰|×÷]Z7¬fÇw’Í>-Z7veæ)…EZ5·· zØ#Z4YÖú·{c=+Z4V°ª›Ã&Z3UJÏeÿ4<:Z.U².ºÂìZ*ƒ¥*á£6.Z'¤üƒì•9*Z"²Ó!ZßS *¡ ZS²\ßÑõ5%ZH$»Ë9Z”+¿¬ ZŒ+¾ŠK¾#Z¯êyU*3#Z bÓÁ¹ Z ³¼Ì›:3Z´úUŠ YúrhY<×ûYöÛn·lÛ=6Yô^ÁµÝ™x>-Yô+ mÙÞ1)Yñø Àâ~1)Yî0ï7˜Õ=4Y믑ji YèOÝØLú YÞ—~ygë‘2*YÛuF;4 YÙ*Cqp¸"0Yל-YÄRÙ®¶´± YÂ{ZS#YÂPËW+'X*$Y¿ÉÒŠÖë Y½;nwjda>-Y²åKý2û Y°eï/úø^ Y¯Pê‡où=Y®µ÷yžúrY®‚’^þfY«ó.„¹‰¡Yª|DöŠ¡ Y¥)̵V§w&Y¤3¨Ç—<>Y¡Áǃ$_ YŸ°e˜»wO:Y›^`ºÎY™OaÀmª#Y- šÚF3+YŽ,`.7þj*Y„·’¸±3:Yƒv’‘ ƒ>-Y~òa¸-#Y{ÈtÕŠ¶Yw÷ö{ êYvÄßA ·3!Yv™¨W©Ÿß;#YulíŽ2J4$Ytå+䞟;YSú ×£Æ3*YRÓ£Á;D½YRqÀŸ“=4YKÚ^Χ•YH2‘ûø¶2"YBf?Ѓ4,Y?ù ÓÊ«I>-Y?3»CJ„­4$Y>~8àˆ‚ë Y>kιÎõØY5¥n––Ë3+Y5 ”ç+7 Y3øŸ×¨†z2"Y2ˆÖ(’$4$Y+v6•!Y%“¦@Ú‘©>-Y"ÈnLœ€“1)Y4™-·ëå2"Y-±£ yw<>Y~ÍÍ/2*Y:u±þ 3#Y”4vaÒ4-YÒÊHþ•jYÆÁ=•”Y,×9Ua“2*Yÿ:ýû„a,$Y ]Ñ Y¹6Z`‘ YzowºR¦Xÿó–ezìeXþYš¨'ì¿XóŠ‹5_YXó_·êPë‡93Xî@—¤òˆØ2*XãL)2»‹f9*Xß¼0d,mßXß½aGåi&XÝ}†P" 2>-XÝ=ÁàqD•9*XÜnþËñW1)XÛPÖ¢qÁëXѸ,Ì©ï³ XÍB$×ç9*XÄÔäCþkXÂu‚HÂiIXÁL*^Àç±XÀ¸úf¢XÀ¤ÀZ×àX¿îcmç7‡X¾}Ñò–L—,$X¸x…rér³9*X³ÿç½PeXª3äÄÏŠXª ‡6(X¥èçÞYÅ#Xœä/àòj•Xœâ‡†¼¹¨/X™ŸýÊl#X–N–_+&{9*XPCÃYÅê,$X„/Ê$Á@X1«æîä3#X`óvxXiÈc,eNXhÆ?f"…74,Xf¶Ä±<j Xe~¾cý3#Xb¸<ÄŽuX_èlB:û=4XYKæÏ­hü3$XY"¬ÉÓÍ1!XW[¤-qa XTÉÝrÂK:,XR”0ÈÒ2"XKkZ«pùX?‘&ƒæl<>X95–ß×®H=4X6[S‡Td#X2à‡InϸX-·‘¼(å6.X+ZàPnq X*²_[й7 X"]½›H*#X5îsÈ/=6Xwgí³÷OXNz93Xö80âFŒX 8|šÞ½X¢tŒV4,WÿVâ¶ù Wÿ0> ‹Úú$WýêèÔ2"Wý‰#é\L;)WýUħ}в1)WöK×ÀpÉ93Wõ*ØU[q0(WñzZzUŸ•WðGþs 8¿=6Wë¼d]Sq WçèrU=Ú> Wç€puŒï*WåØ/Ñ,¬=4WãçÞÌ(š#WáÂwÜb L$Wà?ü7&Wßs Ú3õ4-WØgî„OŸ"WÕÑf×_†$WÎÅh¥% Wɪ§8Þ>-WÉøoù)à;2W¿ã´AUݸW¾‘–™¥ÞšW½¾~m4$W¼õ3&¬WßW»k÷ŠdrW¹öUé8}$W¸ß‘#èƒ; W¸Íà )l4$Wµ6×*—²“3#W²•lwã7/W©d¤†‡¤ï2"W¢û¹„lÊ•WŸÃ¥ˆ”l>-WŸ=æ0#k\1)W¨ÒJFë¨WœÑ{ÝJ W–VÏþÅ€2"W•ðŸ‹Z‘0(W”'ͺ¹\ó WŽ‹ D€ë#WŽy‰˜62"WŒ¬t(î‹WŒPâÃb* W‹í{ÿ"W‡XqT¼Q15%W…G¡ÕªSZ$WƒÃ‚F‰ ŸW€M”= ~/&W}}{üzk7/Wzà‘ «Ê3+Wx£É(í=š#Wx'ßoVsWuËúGeÉ WtýÁ¯Ê Wq«…Âf3+WlÑÚtJO3+Wk út2"WiÝ¢48 Wi@GF‰”WY™(S£ê=4WYk¨uiý2"WKÆÎ3L¸¬WF´³ÿû¨=WCœ£IßÓ,$W:9DXtXW: >[‹W8ßÄ«ÁµÖ4,W8¶¨—øX¼3+W0±*pÖ8C6.W)2{•^:w W!ëh.•93WnûlI–6,$W¸gœŽ‚­;)W @¤‡¶É:1WðàJ)F­W~z·BIÁWJ6ô6Nª$Wx«k ¥q Wãw ¤6&W³­ñÆ7@ WÙ½ŒWÅž‹"ŠU=Vû°¢ƒdØ V÷;(©éVîl¦¨ý*"Vê’îaZ›S$-VéÅT0A·60(Vé±Ä|ØIVèAƒ Ä=Väœ l]ÓVãþ=žôt3"VâOí’ ~$Vßè™l;ho VÒI8öÛ«$VÏŠ„aŸ ¨VÎ\yÛåÖVÍA>²z%VÌþ¯Ä0 VËôÔÃóØ93VÅ$êë!œð=VÄ@§&jÏ4VÃï5D¬–Ð>-VÃ& ˆ·¼4,V½hƒÓ<>V·ÐxÏôùV´Îvn¿’2"V®…Lüò1j*"V©¹Î,ߪV¥s_?SV¢Ù´AøÇ$V¡”¶ø—|ß V˜Ì§ª·æ <>VÂyh×ïý93VvÝ$òDVŽœyÀ™•w=4Vе%Oîi² VŠ/CêÀ£<>Vƒà%߬^2"V‚¶Ÿç.øD0 V—t³ Sr6.VyVÿ)~ãNVwn4»õÖ^6.VtÀ/Á¥hVn¯f«àVm¶ JYkšVllê‚ÑÒÖ>-VgGubEîÑ#Ve¹,7EÈ:3Vc[žu?¯&-VaH~Ãÿ¯¸#V_ôìqD<à V_,^‚EoŒ V^—/(¥íy V\ßÕXØ{3+VX±Œ?°§$VTM×:ýßëVR/'ú¨t VP30Ê>ø[#VN áI~^2"VKÆ‹BÇÈ%&VJ¤a54JVI—¿ÝB´2"VCˆK”æˆ4,VBIÎLJÉ™VB1ÁHV>Û©?n“-#V9˜õ¨0“=93V8æ_ùéàV2+x­aú§ V'=¸OZƒÜ,Vt*é»L:3V©~·÷MK=6V;Ž´C VË¿pÑ V:ær_‰3+Vlk3™ŒïVZÁý*¿3#V J¾ç4Êç3#Va‘Ì"™Õ>4VBÿ7õ¹E6.V Nµ½ëÀ-#UþnÃ]«z´ Uúøh>QMUíÍ Ñ‚•Uꎢ>·‡UÞ¦ êžx~&UÜàÈ1E-UÙʼn5„é”93UÕå),ôá•;3UÕDÌkÿWs UÔïoëfí3#UÒkфƓç UÏ™V6Þš,*#UÎÔ>ô©«&UÍïh=>Ü"UÍ5ús•¼n3=UËÅ46¸‘ž;#UË!Ä•®¥ UÉ—µU©žù>-UƯ(©\÷eUĵƒb`§>-U¾ùoüêdÛ3#U»­`2–Ô=4U¹øí£G  U·Aú..Á U³ŒiAá-U²‡ž®U¨AJU‡ægU› b¥Êò"U™ð=» E89U™nÍöôú¯1!U™ÕÁ™™JU’zt~ô+‚!U S‹ UyxŒ› U‰Nb%&+1)U…zN*ƒÝ3 U„ÿç¶d Ì2"U!%‡Ÿ7'Ut3sL®U}ò&kaé4$U|Ó:gD½Q0(UzLÉÝ]zù#UypÞPÇÌ Uq×x2zñ3#UkƒX¹t0(Ug—²8ÈÞUfÀS¡Q¸ø Uc¶çþ7=+UbÌL0Aç U`Z)HêoØ:3U^ò¥ÓZ— UXÛz8òŒUUô蕽Ç %UT·‰aׯ+0 UKÏ=rÀ¢=UJüJ`§µ0(UHšÄ oŒš3#UEÕØÀ÷Ýö$U96Ôòm@ U7ÈÛdô|J-U6|¹Ì°°2U5 ñÊJ¼ U1ƒïíÑl U0PVDH U,•S;)U+z´}z¿U)ó_–™];3U$ÒÂLn+¶ U"ÁN²¶¾† U!òB®º93U n›eÐm82"UÛboœG…3#U:¢}vJ€UWlLz‡;-U &{ZúD UHˆ½|>#U8ë ¯C TûRˆ@¢˜*Túø«½QMú Túbz¯<†<TõÚeo-fP3+Tôä8j7 TòÑÊߎ Tí3ä…}2$Tì*gÚæ_:1Tê< 3?‡ Tåû ü˜&Tâsi”eÝTáqßNz3 TàßÈ ª–TàËE‚ð™¬"Tßô•Á¬=6Tܘ _Æ$TÛ=@ë TÙ2ÿ¬Ó ;TØ+*F’ "TÖm¿r­5Ú TÖ,€`Ú.=4TÔ—TŠØ+MTÏë¤Gâ TÌåyr¿áú TË8Íåc”3#TÆ5:nÝTÃk–>òõåT³ªG2Øt$T¿eÌȸ&K-3Tº»ìnïuí>-T¶·1/LtT³V}³K6( T°vØ#øˆƒ$-T«ïSµÇ­§2"T§/çNQ:1T¥.hûÞ¤T¤…Å;ZV>=6T ÀC¢îÍN TŸ;ùðÜ TžÃ¨»Ó2Tzæß}†-Tš>ŸËý93T™ÁèÊ!+T˜ñYëç85%T—»G¥Î=6T”€Í28UøT’Ž93¤T‘æá—ZÁ4,TŒüTø—'<>TŒÚ¿ë-¦89Tƒß´c±0ÿ2*T€`‘kÊбT€3q‰Ã¼STz·:«GÒ>-Tt³‡á¨– Tn—°Ø "0 Tl¡e²Ê¦2"TeÌ?~¯ * TdC2Ýò‹T`7ŠcXîÉ93T]ñF9 TWW©ð»÷> TVÖLQS9*TUƒ‚‡É§:<>TN˜éiTCe{¹Û¢<>TCó5ÙÚ>-T5ÜtîgöÉ T0{þÕ¬JÈ9*T.ê.Öks64,T-µ4Ú#T,Ùu,iT+u2H–,T+ùIT ƒ-$T%ƒªÖV\¹ T «¬\×^TÑøø$Ú’=TÄh‹D)à*"T-B—$šö TÒþÑé>-T!ǽÌ-#T /ÍàðH³ T p=qº2"T ²c ’W#)T ^P¢{<>T÷¯uLT¡ÝÖUCÔ!T”eUj%Â:TQ0 e¢~1!SüBwVó¤!=SôK\D®é}6.Sò˜K…YSòªg’ðâáSñÆ’1YØSîz Ó¾ÿ#SèœÍp³âSâJÜü¯©7<>S߯ƒÁSÙ`sâ3[6-Sס ©¢ÀJSÖ°²7ð:Ð2"SÔ­1' SÏ2ðx75-SÌláŠÛø=6SÈñ=ý_;=SÄäËSLã"SÃLj">5˜0(SÁí;åèf>-SÁ§Ù¦{?¯:3S°fñöÆkuS¬ÉfKõ´-S¢“l+ŒP'Sžž4ú¦‰ÖSÒúZS™N''îWŒ6.S˜œ²Œñc?2*S—Tž.f0S•·ºGÁJÉ,$S¨/½íSŒP…Y´E;#S†KôßF±S†%õ,¥4Í9*Sƒ½À.k!S|ÉV“) # SxëGff¾ ;)Ssd ’¯ì3#SsáÚ–éš#Sq1û3¬‡Sl\™¸­žù2"Sj›uhðJ#Si–`<_¿(*Sh|$%,ò Seå•ñ£— Sd~Ù>3#Sb|â!¼” SZµÝ×Ù.Õ#SX(‰õYþ;SW^¸kµ¯;4SV?A±ÝD£#SUÅÅRjÆì>-STbáÿþ¾ SSUØJ’pSLE5~ÆW-SI<.U”\Ð9*SCñ&ô˜+5%SCÇZÌ ©\2*SCq걈j?;#SCDg¼<…{SAdU%€I1!S@ü`·BÓ&S3Yb¿§| S30ëL÷NS2ÕzóŒU S1¸K¥›S1\ v¸ßiS+±ä(ˆ¯*7/S*j«ì DÕ3+S%ö¿÷þî&S°3eceS’ø~¦fS wÔZŠ SÕz§Ï3+S fœc "¥1)S -¿#KKJ;)S äñS=䇎Tñ;&S{³ú3+RþK ÕHr2*Rý¾«$ „Rýe­·1› RümÞUp³|89RõÖ·†ì( Rõ!åf6è;4RíÇ[î4·Å:%Rìi¿â6.Rè*ëñl2$Rè wʉ¡Rç1)êÂJ5 Rä¨È­Ù^ R㸊óÿ]»&Rã6XÍRA›) ú’R8ò0"Þ1þ7'R5¢º ö%•#R1Ûegûö“ R0‰5  f;9R0^k "+R- ý,ûá*#R,íŠEDÌù=;R*ñ8¿0:,R$Nn7¡Þq=4R"t¾`@93Rpa§€Rb… …Ù?RÓ‰¯E1)R˜F%»R³Å€…3+R M¯üBð R›C%Ú?R`›ÄmI†;&Rë„j^C QÿÇS*ÿ Qó¹Š_Ô•± Qî³xÕV|G QéÕc#¨›«Qâ!qU_y3"Qâ™ù£÷° Qà•Ó®›'QÚTSƒQÕs`²@Ì¡>-QЬ4–\¨9(QËáâ‚?ì=4Qɾފ[ÁÆ=+QLjNN˜ Q¶Ÿ3üœ¡k4$Q²Ø–ôw’>6.Q°Þ8ûu«ºQ°’&IÍ>-Q¯Üǽ -3Q®)WŽ€”&Q¦]CVi¢9*Q£±éG#…w>-QžU;7nlQšÒ潩° Q—êpüÅ% Q”Mü/ðÂ, QÖE=Â/‚ QŒïU„:QŒÒ_·# >-Q†¶á¬ 1€5QúíoÁ&93Q€æà6¾³dQ~åÒd®–Q}ù40oÅ_ Q}­3¡›O")Q{‘©­F¬QtsôÑmj½1)QoÁ;a bQ4$Qk÷€ÄFe%QgÂùFÆ =4Qa~°Bâ]Q_KiÁ8ËQ^qZÑhÕ=4Q]dQ©põ Q[ɨj`¿£:3QZ½C™pVQYyDU=4QWbYjÇ`g=+QVU⬛à QU÷(Íw«F-QKãü¼kHO7/QK¾i•™ëeQI騩òQA0|ËýŸ=Q@¦tIOõa$Q@^3VòBZ1!Q>ͨcZ¯Ï Q8ùI3^MäQ,Y$^üQ*»xHÃ0-#Q)Joéîl"Q(ov^Y Æ,#Q&s®7=æ Q%½Ö5 ñ&<>Q%¡&q}F Q ‹OÚøR7/Q)í²7íÉ>-Qÿ¤/=“NQÌÐR^¶™4"Q½íúº Qâ­ü¾8:Q"?.9B QvœQÃb)#*Q ÁÕòœƒ¯3=Q 7ºiŽ,úQÖÝ0ûÞ°QÇyª£K Pú-±I÷ö PòJïKK^ PòáÎ,äœ>?Pñb7Ž Pñ¦tšA/c:1PïÊ@7DY--PäE0pûø4,PãéÃñ㯠Pâ¸_Ò† _PàÊÙÌ3DPÞ]ô¾q PÞ9z gý“ PÚÃZÖL†Ò4$PÑmª@©—(1PÊW MÙ&"PÇä6‘UBË&P¿ëÛJLÎû>-P»ñÑûvöd&-P¹-’SQû‹ P¸®%grò3#PµèÎä …>-P²­#}PÛ%P¯Ü)WOÛ€ P¨øº½™ P¥î5¸± a3#P¥ºR×i„ÊP bÅ?Ú &=+P b~OV™!$P LDŒ²$PŸuaÇ|i»7/Pž+€Z,3#P˜êGKó´P ÎWøfÑ:3P‰4È‘ŽP-3-P„aÈÃRPƒþ_Û Ô4$P|õ¹•…ÄP|ØÉúàW, PvÚRÆa W4Pu BÁ“òÏ*PsS§¸úŽ1)Po‚ÊÅš¡-4$Pm J§{Ò$Pl9)“4 PkC od/2*PgÙ3p·èPfóxús'!PeòÖ¾­J:PaÒá Y[Á7/P\°=¡Iª…:P[¸›fÓ4h4,PZ7ãýîϯ&PXé<©;×'PWBbé~PRó¾/›3+PLí饯™ :3PLPrº©„4 PJ!”ã¾ é9*PHüv(PEF莂À„4$PE¢¿OÈ©*9PD;$B'>4PCù žáRPBö-}šMP>½P‚‹âã P4»£ÎO7bP/A`¥:(3+P*„/^\ 3#P&ª(u—,P$ÓÇ(ƒÝ&P$R€ÒG) P OSâ3#P¿TÓøÛ PƒÃÉ,‹Pt’ñÔð¾>/P(6ÐZPË­-§†=P iê’?PzÜzÑP<*¸ Oÿ¶ä~gž#Oødr?ÜÐ O÷póemdS<>OóÜÞ–Æm93Oð†ø#;¢<>OïåNÁS OïÃNyï2*OîmcM^j]9*Oë¬fÁ ê7Oê©ö.L!Œ3=Oê¢ ¼ŒB1!O꜈n­£õOçñ?x6:OåwÏÆÚñs#OãxÄg`°#Oâ‡dVxÝ#Oá6s8'®Oßm u° OÞb]SÜüOÞIBëŸz` OÖ¤Kª¶m>-OÖOh¾‘|4$OÒ_VŽù =6OË ¨?òÁS+$OÊHï'KcOÆp9\ƒOÅ ·¤:1OÄhèL7OÃ%0å½.gO¿g‡ ÷C&O¾&þȧ+>4O½4äÕµ!ã1)O»ùŸ3œŽ9*O·°ýɆñO¶-|kƪ9*OµÜNœa•8:O°‡¦Ã>²O¯ÛŽÔêîŠ4,O¥ZöXÊÖy#)O¤ø5ñ] O¢b¾S—û2"O¢Þy³ÏO›žÊ Ñ–O˜^å( äO—UdV¨3õ->O–’þôJO“û2(Ë#)OP[RZµ× OŒ±WöñWO‰¡Å-é82*Oˆk÷Ï[¬02"O‡ˆqM7‡-3O†|ÐIí¾Þ#O„@³âç8<>OWÝ ôµO€ÜÍBI£å4$OvÇ^ÒZhOu¢öŸz-Os £l LãOrÀ {Ÿuº2"Oq[?š0#Onh sp^ÕOl3İíq‡:Ofž|Ò¦ ¯#Odõ‚w9Odr ñ#}=4OcÊ„ÀÒ—: Oa·´qá-O\¼Q5­ÂüOX5o¼FF1!OWÒ'ãøÇ>4OWáMuþ0(OSøí¹:€OPÚÉ⺼¹:,OP¿,Pä ‹ONå3~õ^ OKZYc'®+#OIIu>瘹>-OBwÉJlO>›SíF!93O=¨SýžË93O<êÞ¹5Ö~"O;c*Aˆ7D9*O9QL¹À==6O9MËPŸB¦ O7t¿æU!3+O6Ã!8ò›4$O2Ôꛫo— O, '™FY£ O(ÞDPªËÓ O%”(‚V  O$ßî+¥ž :O$6аJê/OMO(>-OXQÛ€A OAv·ƒ!*O É Sh O lÜ)g OücÞ)ަ%Nùè!òdNö‡{Xè}1)Nêä­A÷4,Nê¼Æ«Ü™*Nà¨r²'¤4$N×ÏìÙ9éLNÔ_e 1Ú>-NÌT šQ)5%N¿™U?&P¶=N¼áüÚ$‹!N¼/^¬]=6N±RU’šŸö!N¯äÐÂnAv4%N¬¡?]Õûò0(N©± Sƒ£=4N§qew„¢~ N§-Ï]>Âò1!N¦ë?l­Ù>-N¦PK&ç7Nž½às<˜Nž’‰ePÈ>?Nœ×ü17è-4$N˜Z;k´¬f4,N–§ŠÀUH4,N”?ÜP¦‹ N‹"œŒ„ N†b°bÓÚ-Nƒ½,å–N~U5[2"N|äÕ ‡¿3-Nw7•¡öþ3#NvHy—/p’"Nu F*·2*Nrš{B6!Npí`÷ÏÛ=4Njͫ؟»#Nj~IžÔù;)NfïÍ™*{#Nbmz&=#l NaŠïSÚ’;4N_²»P¤ãz NYXøf3òüNW‡C‡~¹q3)NU6ô‹ž€3+NU-±ŒÊÆûNPaÞŸE{;2NF†6nb: NFjžëšÏ¡4$ND~D0<‰³ N9ìˆü—é N7@Pù‘ðÈ#N-ešZ&6o*N$!NhPÅöNÌÓœ_›§ N­·'Þ0 =4NÁ±xöÈŽN“ârúu>4N š„U߯N…”w«?NŒƒÑeÏ„=4NÖ–á NdzQ4cî4-NYJç¦ù;)N*¿öKèh9*Nû%’æONƒgmV†MþúõÊÎû~:MöàÕݧh Mó`e½2"MòtáOF7'MíÜÊQ „=6MíLMÚMé’tûM MèœxÑ(V<'MÒÈÜìþ\( MÑ=—Á=5·4,MÊÞâƒ3ÀMÇ×:pû _MÇ… ÷MÄ髺ôdëMÀ¯Ðï¾ð'M·«¶n«_K9*M³Ûø–W*0(M²3•ñýÓM±:'²OÛ³M¯ >ÙÑ1M¥¹º RM¥þ÷Ä߃,#M¤òlŸW°M¤áµA<……M¤=¡jâ=4M¢ð|pRâ M¡ñÍî Ó=M ´’C½é& MžnàìS—òM÷jÎw+¸0(M—Îî9]­!M‘6ª4²À®=6MÙ*7/MŒdûrg 89M‰ ‚d;° 89M…³í ì$9*MƒëXÚë- MƒŽª¢_\+-3M¨çèþº­="M€Ì09ù:1MG°Â±R=4M~ÒC%iÛV<>M|Ó|q_·é0(Mz\'ƒ! 0(Mx-în’nå=-Ml;¾µØwï="Ml|¤‰î­3+Mi_ p‹¨›#MhíP 5ŸMgÇ‚åŒ÷MdÌ-Ý,$Md(;ðò;#M_p7ò-MVúTý¸Õ“&-MVãð{cpÔMU±_»ÏQ§=4MSÌUiï3#MM¿©ÊQ>-MH ¥·."¨#MF¦Q{Ô¥¼MD=m,,†M?Ÿ-‹EÈM>·¥¸îZM;¡1.×ÚƒM8oM,1tµ M/aX5-zË6.M.š‰ÿ\æ0(M-Ô0-¦×q-M&° ßç:#M"“õX7Q&MɰàÈŠqMZâÅIa>1)MéÌúç8 M Aÿ-7=MEo‡sŠ·<;MËǶÔu4$MbÊKÀ  M ;Z$ª[>2*Mš¢ Úu="M@ꚥƒé3+Mëªá·ZµL÷‘`ÛÍ¢"LöäR‰¬ô‹*Lñ(=»£74,Lí^xŠ*&LétÉ@¤7A&-Låãñ¬ë~ÈLájQH.±½#'LÛ`%‹! LÚ`ÿôí¥w<>LÚ$C ö\ LØ&ð®QfLÑì£èê6.LÎ÷u`ˆ4$LÎè]Ç@+ LÂ.5•” LÀ…“ UV:,L»j€0*i¶,$L»Qsó=„Œ>-L¹½ÛJ“o-L·¤¡ªz q L®ø•²=…œL®¨òäo‡K3+L«‘~ð¾=-L}¸ñö¹ÿ* Lwå å×#93Ltª…š\GLrÉb‹çg¸ Ll3O e¨ÐLk,xwË Liˆ$nôº >-Lhöí\?/Lg2uGSÆÈ-#L]µ‹@v‡3-L[ø Ry?Å<>LZ¶ƒ+·i!LVNHÒ3{$4$LUkí”ëvLN› ­äÌ›4$LAØ¥3–`; L>ÁÞŽTÜ>/L=´ºM·„L9"˜¨xâ6.L3cø[§èL3Nþí¢×ÁL0F0%µL-Ï@å¾õƒ*L+³P©ã¨* L+1~ͽÜÝ%L(7jÔèT–>-L&ážLp'Ð&L#Í©Ÿ˜•…L#’|h¹Í8 L"¨«Ã :1L!שF”6893L l<+ÊÂ/L /VgŠl&LªØ³}"Š L]BöWXø Lú&žŠHéLUð…`éL2 kãÕ!L«!ÉØçHLúÿKYtÉLœʘ©=b#Lü.>9*LQeC4Û:,Kÿß Z„“‘#Kü3’º…=Kúè åE*Kó æ»n=K~¦c¿NÖ4-K}<ïôu˜-#KzI†Oé¨ 6&Kj3s’4$Kiøêëé:%Kiî°²-:¤7/KfÁ°52¸((2KeO4ðï5±=Kdm`=³é;*KbƒÌF?z!KZF|£mßò1!KRN*V­<Â:KQíÊ;¢T KPgyü¬Ê KNÜ ;2(Î KKËœ|ÇÖ KKžz;"Ò0 KAÁ.¥/¬ K7­¢Ô†l+K4…\ñzË™;K3¢Äkt4K2üîµç%K.v·Ö/J© K-b.Ä; x_pK cC«"KŒ»RË1Káý}P{<>K çÇßûN=6K'¤tŒµKJ!5ÑK̓vH»BK†Ô¾u¹7/Jþ3\·¬x>-Jðdˆ<«à¶ JîÝ ˜Y‘JîŠ:B>>-Jèö!œˆ”ð1!Jã]À2Á JãúZn:1JàÁÁà|| Jà»ÔàçNz<>JÜTœËŠb  JØgVw›ªJס6vlŸ JÕq_%ò5¡9*JÒ4ðqž¢GJИVÉ_; JÇÝIV¾ŽJÄšöHçtJÁ¦[‰àßJ¾²˜‰)Þ J½x-É:P7/JµQ:{†5%Jµ â´ðv7'J´Gµfýt°!J±ÀfáÌW; J°¹Ãàå%­ J§ø^Y J%2"JwzŸéJœ¥ÃËp,$#J›ÓßtÅQ 5,Jš¹éóš J˜P—”¸C=6J’>¯×~J‰ºEæ]E93J…›ð¹õ~ð>-J…QÍî/J~í5EÀ6.J}.0ä—bnJ|§ƒÄ¡Å JxEi£0Js‹¥òCÛ"JoÙÖ^ŸU§3#Jh©ŽV\$Je%Ye^0€#Jbf¡6L.¡; Jajr-V,¦ JaŸº•Á93J\ûxjy}B2"J\æÕ†Æ{*J\LK¤¼%ÜJY>•ÛÕÙM JWréÌ÷`,$JU:‹¸ŒC=3-JO|øá{Z[ JCß­)*7/JA¯\öã€J:¡¿`0á J9a­Üšü=[Û0(J.¥ƒ\¤6.J-Ô÷l:ª#J- Ö® $J'8Ú˜*­ J'6ídY J&–ÒâýWd'J%ófB§/J!ܾ–×™S J.¹Å3+Jö Ìó[ÕJkØ@²SS J¬\ s Jt0ñúzIþºÔ+«UIýL¦>¢FIüSv7ïa9(IûíÙåv8%Ió«ÑC™,Ñ-3Iñ5»&쾪Ië…¹ê‚f/5%Iébí¹,”093Iåm2ÅøW Iä<Ö¦tj Iâ¹íHŽæ$Iá ¢¸™zz IàªÄ_‹~W2*IÞ§~2 zY:%IÚÓÒêIÖÊÜL±Àj IÕ”bÛŸOƒ1!IÒ>Aì°ÚIÎݺɶS6.IÎÅ¥‰ž—æ$IͽëLÇ#ˆIÉÅ‹¶É IÉCO-é”ÀIÈðÛÄyä2"IÇŒa_t$é IÃulÂ_¯-#IÀ}“‹ŠS>-IÀSͲ‰Dä3+I¿ì¨î9+ß*I¾LŸúNï:,I»Åè«Ãu× I¸,È6yI!I¬”ùµWz…&I©…±¥ëÉ=I¨‘ØèT I§Š|›U I§+éX] '>-I ßß´À= Iœ˜ü3âÀ IœŒ#¼–êçI•÷TÆ#JÏI•c:<Ø’3#I”üµ&úl4I“…‡FoíI„kõË‚z I–ËŒô# IŽ${b®Ix5ôĤ*Iw½U€^' Iv„ó81 It–ƒšE¾C:3It~?áëÏIfîBÍMŸ-3I\/½" $IU¬÷]eûIOùÃàšDM+$IL3z(6 ˜IKœ–Åà IJï\´…2x2"ICû\¡|µ¥>-I<ü{³I¢6&I;Ú=ì„*$I0þN¸·ŠŠ I*ÓœÙÎUI&˜ h‡’0(I$%È@0.¢#I y #í"M IS#K,ËcI‘ßžå$I8JLÀ¿ ;IRºÌ)Ñ¡#IψýC$4,I=Æuö„OI ¼¨&ÎÝÁ7/HùÆ…5J›” HõiÜÊRßø3+HðjèÞƒž\#HîÙ–Å/Õ  HîNÞ?oû-#HìPE-l¡¯<>HëþŠd…<š*$Hë7A»¸ÆÌ&Hê½é ½`4,HêVŽ<›©-Hè Ä€»@ Hã›»‹grO"HãÎ(mÈh=6Hàdþ6Öðý0(HÞjìâö`æ>/HÚè{öÐà;HÙ Ñc"-HÙŒ»†²f3#HÔ P´e(<>HÓÃEá§|>4HÑç'é…hHгIɃ…^ HЉç`:¾HÐvr»Lû HÌü ¶)<>HƆt6rf HÃ@ô,—&>-HÂÜðêsl0(HÀÝOZâý{ H½–˜Ö¶øH¼qç]K<>HºJ0‘  Y$H¹R•¢oŸ;:H¸âáƒì:nH·£ –a#¦0(H·˜Ï<öÓýH¯r»ç;S9*H¬JHÿæA&H¥}Âçÿ‘»Hœ8|¨”EH›¡D’áHJ H› 6 ΣQ H™¯ÊܘÎ-H—Ðb÷‘¤Ð3#H–_®í ÿ H’»êj¦X—3+H’§…ÂÚR"HÚQHµ=4HŽÈÀg-Hˆ&_×:1H„ø8¼X®hH§‰í3»H€aÕ ¡ß‹ HxJ76're%HrÜHçjðHkGõÌc‡U=6Hgd½1mÕ Heð9³ o>-HcŽW âÄ#,H_ó]‡õ HS#¶=QHRÆØ¶Õ\¶3+HPŠ:õžƒ!HL¸žˆXH@¸éµï H?ðmKð‚H9A¯Y1Ñ9*H0påá%ð!3#H)TëËÍ #2H)6®Þlâ6.H(ï6°°$½H$dÎè0VÚ H<ùGtHèH´‚yæ4º<>HÅdýÙd&H}!uÌ#H X¹Ú¡øÿ=4H œVŸIè=H áfv+ H H4ëxkÿ9*H¢Žœè4$HDÞ}ê$H,,ÂaÂ` Gþ%ÏÕ•¥~GóùÓ¢c:GðõÔ)5 GãXl l¹ GÜ÷SæiÌ GÛBÑ6ùvQG×ÕAZàGшSÎ[Â2"GÏ {¯ÃhGÍÍ®±Öã G̃øÐé+„GÈ롉åìGÁ>Èt=ʽ$G»ä(O©ß3#G¹ªÝÿ§D0(G²*hö*G®i׫ù©2*G¬•ÈkÄ G ¬à—²2*G˜Ø)Eª>~G—”~çŠMá-#G•}ÅØÛp.:G’?u)îGyo/ñ˜jGŽÈê½Î›`Gˆ xÕÿ±#,G…í¢êÙŒ-G„5åÌ‹¦Å=6G€~q7ÓòÈGy—ãÂ; Gt`îX[ƒ4Gcá{w¼-š4$GaÜP¿œM:4,GaŒ¯8JÖ<>G`–ŠUQ -93GV¡ºHžÚ! GV¥™ök>4GSK BºÛGR’ÌÚ PŠ&GKYÿîY(^GC5Å…Ñ93GAS|nÃÏG=M2ÿ9‡ G=ȹ´’ûG8AŽùìfG40*O´|D6.G2´X"gGG.‹ÜN];(>-G'ïýÒ£·:,G'õnxëG sé»c($G唋޼GãfD820(G KÁò‹G?OE£@gGh4Îv>4G uÞ(…éø=6G Cã÷'GBã5#þ<>Fÿ¦ï{92*Fý÷ ë“­%-#FüÂkp#Á†4,Fü/Ö&¤¼õ/FöÓ»„î³Ô9*Fòñ5NE Fðèwãéi) FíyÓTÖc$Fì’Fª#,"FëäªC$š"#FçZ(ܦù_9*FætîÔFä÷ ®1!Fâ¤î,µ£>-FÝlK!§î˜0(F×KÑ™~[`#FÕŒ…!à8 FÕ ï¤ôá FÓ=Ùñ1!FÎ>‚´2*FÊ=635FÈ9>Œô$FÁ‡MÝœå—!F¿dÁߘtÁFºñVÅïÃÀ=F¹_-ÌÌ;)F²œ›™P F±¾(S#¢EF±D‘0ì+@'6F¯”Ñ×Ei<;F­ÍrÂóØ F¬’`l¥É…*#F¨µ–]}áx>-F§—ÊJŒ,{*F£b¦Œ¿g4F¢ÔñƒÕâ9*F¡Ž¿¿|ÛFŸ«8µìÙ(3+F˜7kSÝF¦ F˜ YúÀm·7/F“ø\R’|  F‘_àƒOTÔ>-FwÄ’i FŽ«è2µ‚2*FŽ lWö•F…tŒhu6.F€C+jöãÍ,#F€3“1ÁÃr; F}½ÑTa9*Fw¹Úë½x•4Fsï4„—’Y6.Fq‘êâª"LFpÐyÝ~FpVbØ\¾Q3#FnGòÝS!ž:FlëÕPfë4,Fk:/2>Fhol—5êFc= -Ó FaXˆ Û¡±:3F^VÙ¬U5 F\ÖÜ`/á¿.&F[úk ×ã3#FXzÀFR… FVÔ—µ‡Žó FUøyœ÷B¼4,FS¥!»GA1!FRº0…Á´Ž"FP7*ÇÅ0!FK°+“EFJжžÛŒFJ@/ï9Þ~ FIعÆ3”YFEgÎ"IHFEN:äù]L1!FAüU~Y.è$F:ât¤^ò=F8søsŠ=4F8A•‹íè›F3Èê“Dç%.F0¿•f úˆ93F05×ÀGPQ4,F-Ü©éPF-¼1N½7/F&¦´ ™åF&cWF%ÁÆõz  F!$Û!Æø5FÃP?…°¢9*FqÐÏ*n FŒÝìÖW(FðîÝW„Å9(F¹FA+`9*F¦é‹¦‚FÇàFB<>Fðµô>Òp FÃÿ—ýB6.F¤¤UäF>-Fu’Ó$ê FYO—h! Eü4|¶SËEú¿Tíy_Î1!EìIº; ¦ß3#EëŠv,Tr#EçŠ(G¥­EæG Æº•=;EÞpÑuè2*EÛ£V^ÈñD5%EÕ+ÑàAEÒ«±GP3+EÌÂéÔê#EËÕ;ȯÌEǺáþÒƒ¹9*EÁyhƒ¤|<>E¾Ü¸J5|7/E¼ZÂçÚE±Ü }“$Eª†q¡è)¡EŸtéƒbeö;)Eå£b]Œ93EO'n-דEнþôvE„áýžôÊ E„¶S/bšÑ1!E‚²ëÄH(Ew"‡|™Ó=6EseË=A•\#ErÞN¢3¯<2"EqzGŒå÷3En«€Éý!¬Em€5•ýÜ´Em\xÐØB$EaËÏf–ñ EY(¯÷4¶93ERP&gIé(EO!ñAÅê7/EBÈG §Æ EBq5ƒ=aÐ!E?ìÉ1ÿf¬5%E=ö¢\Ó ä E8ü‘',#E6–;¯»4$E4†Ç/›V,#E/BóÖˆ£í4$E$ز“Ž-E"É,¾èMkE"hJ ùc|*E!ë°O° ó3+Eèµà¦=E&)†0Kß EÚÚ=2d:%EšžúS™ EÓ´E ‚ø q%.EGN›bdÙ E}),ZsDÿáÆ=W4DøW“éî¯ Dö*ó©vÄiDö%WÞ˜$$DñêG©hîu3+Dï‘èÉÒ…Dì*]ƒp&Dç ˜I( Dä•×ßuÚÞ=6DÞ¹s±…Œ4,DÙÁ ’˜´DÙ”>®@Á†>4DÒ¾ò°asDÍJуQ«=D¿ã—ãvp5D¼nøIЏÛ;2D»Ó‡™wÚlDºØ¤:EAË"D¸4Án`F#D¶"^zzD­Ý.ôö_&D­”&Ï¡ÏèD¦ëw”‚«12"D¥4ÀªÑ© D¢Zµ<JG:3D™¬ã°„ž•#D•çQÙ‘Á|>-D”!4¿êù !D‘éFžÚ&‘"D‹¦–mƒvë D‹‚*k0Ï?D„ðlS<>D‚ïÝû›õä D{©¥—|s}9(Dz˜ä5ÎÌ$-DzeáçÑDxð-pŒç:3DxGùÁAãA:DuP%ÛxEA6-DpøÛKÙ†Ô1!Dh\°ðTë™<=Dg*âe`De÷­F.'œ4,Dch݇dôŠ D^w÷áQ|‹D[…ÊA$ D[.®"æž DZGzØù·HDT§“\7^Í DT/ØŠ=€ DR:†uxg#DO7Md›Pa DN¥J”¬¸µ-DMÀê6 Û®DF¡ ‹¥âÛ$DB©Í¨¼2*D;Ðìÿâ%ˆ2"D;,iB|[Š;4D6N bøD2éßkR:Ö&-D(¦×!O¦#D!²« „¶æD•ñë"á3+D [ÑOÑ/4,Dj{  CZDRõÂ4WÚD °<áSj#Dç„ã§D“–ÜW²"CþÒ@t¿Ø"Cþ(ÐÙ®C÷kþΜs9 CöäŠo] Q Cõ^aÝÍh6:1CðÊ\{Ì­z6.Cð$x~h$Cås‡è͈-7CâX4PX³Câ°¤j˜=4Cݦ1Ø9ÙCÜÚðž¾1!CÜqãÕ CÜCÕã ¥˜CÛ?qãNŠCÕ+É"N1!CÒzËè¦ CÐz]·P¯CÍ¢éonCÊ„úô³¸U>-CÊ\¢¦CÈî_Ýÿ/m=4C¼KbT½+$C»å钀΂CºNÐ"¡m‰=+C²‹Ây)C±ŸÈ}ß3#C°œB»ŒHX C°3÷½EáJ>4C¬Cš'€;<>C«Ê˜ªŽÖ <>C¤ƒ»&ô*9*C£OùÊ,‚÷2"C¢> áÁ0 C÷ì)Ý¿ŸCÏ'Œ‹6.CœmiCLjCœ=¦èy:9*C›»J-4 C“™Ó£¢ó8#C‘pϳ…ÙC‰[‚F±} C†e•>ŠiëC}Ýb$‡o£! C}£0´y+ C{ÀRItV-3Cw]BõÞ¶=+CvÕâ ,–†CvT”D(â CvXAÓG«;)ClÚÜì;k)5-Ck`ØÒê@#CaEj÷"ŸÙC`e¯ßNQ C`3צ!=+C_ëÓLå C]âP§¶£ÄC[wñïƒ/Â2*CZ€…^¤– CP ¿‡žxm:1COÅ‘ÒQi„:CL-Å~3á<>CKðݪžÕ CK*œÍæ¢2*CJyà¹jkÒ+C;µt.$†#C9LXwì½ì C8ÍòÙ‰ 4C5 H•öÆ·C(Q–ŽZ\{9*C!@~Ç‘³1)C§¾¡öµ–89CU”Ø» 'C©÷´V#C«Ò¾$5Ý=4C@Ñ?'„ê CÖ/çÑÛg$Co]a‹½ C E<ø—mú$C · 0ÏcR9*C Véµ+î<>Cbg®äÐ{!CäŽðQu•BýB-3BôåØZp2"B霆`ù¥ Bèÿþ~éK"Bèè¢ãûå6&BèÊí–±30(Bä•‹ ƒãÄ BÞ¨¦ @²bBÕ*oí\{&BÐû üBABÍj‘ XÛ+"BÉît…ùi<>BÇßµl<ÙBÇÙÄÞ_.,#BÄ—0€f‘1!B¿ý—dn±m0(B¿iÇ 6&B¾iH¡Ü£ÒB°áx¾æ~Ì*B¯tå3’1;<:B¬Q‹˜î.B«nfG;oXB¨d[:XÁB§æ¼È"a0(B¦µª„554,B¡Ž7¦ K#B˜2ýî 0 B‘½úæ~oBû!ní:BŽ8†°ÉÔB‹Å«5MWV<>BƒßMŒaˆBƒS†–UǺ>/B~Dº4Zá>=6B~ÚIѰ3+ByÈ#D\=Bué8FÎT*$BpPiu©ä BgÛå™Ë\ÿ<>Bew¤qF”Z'-Bc åïö±5%BaŒ·'‚K`B`³AîB\€¦#½ë3+B[O" ^ó¸-&BRÏ…V´EG1!BPYšr³?A4BEujl´>-BEoìö@Q2BB¾i¦)`Ñ B:º´T€ïÒ1!B4"jsÞ&‘>-B3šÏe¬B+‡Ä†®Ž B*f󶜹2"B)C}⌕ý B)?Ø­m’B$B(í®¹õ+ 3+B%ÌM» ­3*;B$¢2.”>-B/°29*B R]$Ñ¡:Br˜Ù Bjo^!Ç­ BK£¼”½² BSjÅ*BÄÏãˆ+©-B÷ÍóFÀ|B7·ß@þ=Aÿ Ë=¬—89Aþ' ó§AûþT¦#Aû¤:Ú(V4,Að¥dßRÒMAì© }§õó Aë]m\Rî®Aêm¼…`B5-Aâ"×ÉÅ‹É>-AÞ¦À’É AØ}¯ÖgáAÓÛ¿¿B=4AÒÇœd‘’>-AÐ.VIå?AÇë…5Cf$,AÅ|ÊÐib® AÄl4(Ov§7/AÃNkå¯53+AÀÎ-ø?Êú-A¹Ô¶¾s*$A¶Y–ËÖ96.AµÇÌÇÌÀ/>-A³z²LPš3#A²%ixÆ#A£‘­/)Œ#Aš0£3+A—Ü[×͆A•úmG73+A’Ó•¿ A„n³ÏÉY†#AÐb‡PÈ$Al}}¤¹mË AjÐ7½URAjpÇ]>(90(Aeÿ†·k½AdÎWLéîNAcÄô{UÈ=-A&ÂôeZkd$A&†Ó%SkÆ A$±^Ò0ªÐ9*A"/L‹ùl‘>-AhÆßƤ¨2*Aæ“ùr/9*A2éC Ha!AXN@gË:,A ¯œI:aW A BOxð1)AdbZ܉93AW³–,0 @ÿ€9ɤºÀ$@ê×Slœ$@ã»Ûå#»ï,%@â;©(Vô@àþé¥UF<>@Üü¸åO_®@Ùwa¨±_ý@ØøóXÏé&@×·ÔnxÔu3#@Ö#LQá­=6@Õ~lª§ *#@ÓÛjÙ¡ò&@Ï]ÐËÎB¸=<@ÌÚêïlÐ"@Ë2ôò4à@ÇD¹ôä=4@ÂÌ—8W³É3#@¿BÜn,¶@¼åíÒBý‹ @º4ô­Y’@¹mÎ#íâV;@¸RŽW(7/@·èW86v")@µxwyá»&@°%lÎ+ô»=4@«z‡®hò;@¨Žk«Á;4$@¦äˆÛ÷$|&@¤X8 =4@‘–O°³Rå @Ž8¡YÓ;2@…ëK–Ð&-@~= ú]ª$@|£ºm4«}<>@yÄ2—•ä#@wƒ»Y*e2"@lˆ›˜œš¦1)@j>È— §@iÍbx‚…2"@hw±0_Ч(1@hv˜Lƒý· @`’öøWA'.@\6ȱ ò @U]U9פ<2*@Qÿ„Hpvu0(@OïŒ×€#@Mäh)G¤@L(Ä3œp@HÀ˜75È”<>@H²>¤8¢Ð @H3´> d~2"@G_™.Õã* @E:‰ù›@>ÁúW1)@=-VfØš=6@<\i‹Õh- @-@ÁGº#C‘2"?ý*1÷8¬4,?üƒŒ‡Ãúƒ?úúuVíkÅ3+?ú3ßáÓ€:3+?úøÚï ?øïnÕœý 4,?ñp³TWî?æK*˜ÿ®$?å&}wŸ?àÙØÌù‰ç?àsöÞÒá ?àhY¼Úm2"?àb¥„n—,$?Õï{Ó§ä ?Ðý m+)r*?ÍMwëò &-?Éç¼1×l ?ÈÍrOêƒ<>?ÅNÃMøQá ?Ä Å˜±¨C?ÁiŒ¤×?ÁT44禢<>?ÀD³ô¡Ê2*?¼7— d@=?@ ÿ¨Õ¡?ŒK%^ï?‹è¸e”qz>4?ˆíµ)×;2?y·D{˜q9*?x†@ÎyQ„&?ug/d†}$ %?o!»è‘=?k{‡M«?f¦rÝÈNÌ#?`Þòa?\¢^îXn ?[°t[Â:ñ?[@23®.7?Tâ¹]9*?Sº—0üC3*?Ob< xi· ?M‡£TÍ?LhÙ¹04$?H¾˜ËZF?GæÔ ÿ?Fútëg2K ?@ÛFÔ0'M?3¼ ?F¥&?,K퇃4 0(?$õk‰‹h ?#Ÿ D7Úk=6?!â£ÞÝU{'? êa M¢ ?#©ä9 -#?DšÍC§‘?Úpè>*?]æ}Ý £:%?PÝuýÃ2*? µ'À^5>ýœØ8dÀÊ >úѬä«'Ò*!>ú¸ð$ìï3=>ù;Š-6:>öµm…žXß5->óx'µE‚Œ>ò 4æv¬c>ï+²‡›¨73#>î¾a’z&,$>什F°S„ >ß´.Jð\ >Þý¹/£$  >Ü6Hä+&&>Ù&“¦ ׺ >Ö1Pñð")>ÔI+EVý #>Ìî]Û[y01!>ÅI²Æ‹7/>Ķô;!´6&>Ãoþ£|->¾i˜‘cÀ¤>¼É6 Þ&Q;)>º”çV§:%>³$n4º.* >°šÒïâÒ>°I²ã=?˜!>¥ñÎQ"6.>¥”‰yÔd$>žý»\~ Ò9*>žÅ8¨ÊR>œþV˜L 3+>–•ÍúªC^9(>’G>-; 6.>öƒÇâá$+>3Öwxc >‹”­1&S8>€˜‰ #¶>€‚}ÙE$ >wf¥<}¿>uœ¥”Ç€ >s‡Y¸¹õ">sl Jr",<>>m‹Þ6A$>->h#¼Hs¡2">c ¶+g>^9U‘§¢">Zè»"Ò¶ó0 >W›&ɹ­  >Ln“5>3#>K~Í>„&>E¢MD5$">B†z>->@÷b¥±þ:1>@?6³6›>;å4w|3#>9±9KÿY2*>2ìLbèH>1Nö>->/"ú)c…Ä>,³Ü’ê*4>*[8úQ1<>>"½4ð-£9*>!÷Ýÿiëá; >b±å D™!>W’½òað:> Íó–šÍ>4>P­;fï»>èŠë™ÁX9*> JµYÔh¤.'>d@'Tà >TrŒ%%$ >Xpge¹ >äÝ^7Ã=4=þ» QAß=ý†‡%žfÄ"=úÿV÷øíe:3=÷¡„/é=÷nk° zò=<=ä²3šmC=äo¼˜VT =ãO’À93+=ÞeB>ø4=Þ?œÚû+u =ÝKïÐú=Üð<ŒétÜ"=ØOH¥£ä;2=Ø é]º Q0 =×YËâ+9*=Ö$Ä£öòÅ=ÕyŨJW =ÕCàÆŽX‡=Í.ÜÕ0,=Ì‘²½WÕ$=ÌnH\•7#4,=Èá…4œ©Ë=Æbä‘ =ÂdñÓˆGŠ=Àô‰+ - =»øw‚Ó6=·°¸ïëj=¯êkÌ͹=«›Ì Í=§Wm™/Œ9*=¦BMCìž>-=¥À# ‘Šf4$=¢Ž ô…Px==›ÝÎ&-=™kA¢6áh$=lÒR ™2*=G‰ëÏ4$=ƒi\€¯h^0(=ƒap ø«i5-=}.Ê€=5´3#=y+‚øQ1:==yÁ ‘ô5%=pGãœô·=lKÄÉsgå2"=fÇ[ñå%6=cxÄÝÈF64$=]r£qïÈ =Z¾RB¥#=Yó3 –›U:1=XXREjN3+=M0òniž =JBÔ±6ó=H1½ ºÝ9*=EBš%Ý3+=@§ãŒÝÎÀ$=<~ÿ<öhk#=:E‘T_Ì04$=$]Jó8u=!¯È-jŸ¸=‚ðs• =ó#Þ ªŠ=”.äè—Á:%=ÊÐzOõG =)VMý»ä3+= B—%XêY0(=pÿ^ãe6.=|9ˆäÞN=ZÛéžj;2=©ÐY=­Û’ÐÖ«*$<ób²·Ãù5%<ò {ŒÜN >-<î $ÂÜr<êÉÒîóy+<ç)W¸S<æœC“çm>93<ß°¢ëq_ <Ü[ïÞÌ Ù2"<Ù2==XY¹<Ïl·vÈ[æ<ÌÌþ-Ú"m6.<ÆâSV_ƒ<¾×åÛdž¾3#<»†%̆`Y0 <¹ßÌ«þm|;2<²«/f—Ý<±vpùѼÒ*9<°244×¼'>-<«¥Ýß‘9*<Ÿžî‡ÊÐ? <Ÿ®·)Û©6.<³·?{; <<šîœ ¦}L <•:Nl…ð&5-ç¹"<9ùõiãë_:1<7BÛש¢6.<6|)\¼"m=6<4ƒÕà|är;)m <Zƒé@†® <S`‡bþæ1)<KÔð!X¨"<g©íÜÀf <1WöH+$<ÐSœ  <Ú)ý" <•³Îòë3+;þÏ8Øt§Ÿ;ùHf=“‚’4,;÷$^âÄÓ 0(;õWÛZ¾{;ïÈ¡$Da#;ï&p ­8¯;ìw—}`=#:;êÊ^Tš6.;â¡@€Z%v ;܇{=ôˆ| ;Ø|?Éæ;Õ­~ÍB.Ï2";Òj.rëÙ;2;Є¸ÑcAµ>-;ËB€Û`»*93;ƽùºQñ%;Æ[ÏzêÏ3+;¿±J´Y°Õ!;¿’7E~€;¾p÷iˆ ;¼û˦ҙ6.;»—óÑü ;ºüÐÏ“â¯;·Ó Aø´ë:;¶­ôósÎ1&;¶Œ…Ü)Oì;­›'Hü w#;«”,éFa#;©ÄÀìBo…,#;¨&ºäÅåÆ; ;£Ò1I.;Ÿ9o6×~k<>;ž,l)b€ò ;&pÙ·¦¬;—+xXÎû>-;Œ2vM”f…; ;ª'†Þ3y ;wŒ¥³–°) ;qû» @4,;nÈ„kûŽæ;mÛt]TÑ<>;mÉ¿òU\;hüÇ92";aÐT´Ê3#;\Y…úç2";WÚ,ŽÒÑ;<;Qõð™›“Ê=";NQçÏè ;K—ÜœdД2*;H³Æâk>`$;Eë9‹­š4,;CÛ[X€W:3;CÅzkÞ›¾<>;A,KйV4;:TVŽH>P=";:EÚl¨:1;6f­ŒŽ*J;5yùµº2*;0›Fªnš!;.r”\€Û«#;,&îKUÛZ5%;)›!ó #;(Ö‹—?Ûå;(eGP=ô;$ò!±Åy ;#yVMz ;(ˆ•¨Ü3+;r›.`:3;´BÖ–ƒË ;ä†Â´$;Þ}ÙE@¬ ;v²«_£Ÿ6&;œpY#1 ;EézV«$;‹|Ø_à-#; ë{ÎoPí9*;sOº†àÒ;‘Œ:“ý¡:øÎ;òÐPÏ :ö}þ´®tÇ :õ§æNeD“:ñtVRny± :êƒ,Ø;'u:çÑ:ÇI¹¦:Þ†µ)%½=4:Úˆ Îëó":Ùc¨²Ÿ{93:Ø‘ ðQ?„:ÔS@"SËì>-:ÑÏ.Jé3+:Ï}9ÈCç>-:ÏC—ÄxÁ :ÈMÂQ“A:ÈB^ã]Q0(:ÅÏjÄ?“3#:³íDe[E»=+:°›Ê"{ݬ:¯KªÇ%FM :­Ô2¡ãy :§X Z8Æ*<>:§HtÈsÛó:¦¿‰êÊ3+:¤31CÊÅ}:1:ŸŽ³Œ[{&:íüFß…#:•“o`ÔÜù0 :‘g½‰"-`,#:ˆ“ý åZ&:ŒÁ ´Ýó4 :Œâ?!{I3#:Їøì’Ü£:€åaÐdŸŸ2*:¬¸w·!Ì#:~”®añX9*:~Ž«+:É :sŒA]7#:s]C1":i/ŠoÚȧ:dÔSãƒk :bç1æ'+:[QFz,Å@ :XK+Ž:&ñ4$:WVTE‰/<>:Uܺ_ :Q«VĹD’ :Oð€ÜD°-3#:H€°×«Õ¼3+:E2>P –2":EO§ þ$:B §YvÆ\:A^áe¦ƒ.&:@@ÂkC :=ŸŒÆå4,:5Ì.žËu :+j_«wH²0(:*ÕÂ{I:(ÑâdÄÜÖ=+:(ÌF:Át4,:$Qpcuí[5%:"Ÿ,L –Ý:~7ÝÙÈ :Ѽ´™¯\:dS^ |q:}½o:&:†]t,!Q#:Ý{®ci :1:ÏåÙÝ :”Í“½1À#: Ä(ìíîè: O°Ì2ù: ‘°•LH93:bºŸ :þâ:!1)9ýð©êFÓ3+9ý"yuãã<939÷ê)“µ#9ô‘w0Ö½1)9òH_ ‡ý:19ñ¾¤Ó'Á=49ñhÐr»À• 9ñ7õog"9îÿ#ä“‹o3#9î›âqR¸$9ëŸñ*Zí9ëe )A$P9*9꣹"râ=<9äq°ëÕ¥Š#)9ã>IGÉ|T9âO=þk|2"9Õj´ú þ*9(9ÒÐ@7}8#)9ÐApd<>9ÍM+ ¿ 9È|ÂWüRœ 9Ç(3ºžl9Å©K|±,#9¿Qøìb19¾¯€ËoãÈ9»áê!‡' 9µ¼ d¦™9*9°ù5x¹¾ 9¯Êã2‡=†9¯oC48a=<9£µiåÉì#-9£¬"Uu‡49Ÿäïn,%9šC*)© 9—1Ús…4,9 Ö³QüZ$,9v‰×%Ò¬&9qøº‚ç¦i 9m„¶qÀ  9eû‚2‘;29e‰alk† 9b\%¸n 9aˆäê[ù9ZÄ+» X 9Yʱ–ßä9SCÇ€€9RH5.MŒ939PåAgÀe4.9LéýC·~ê:9GíCÏ»½¹;)9G¡åÆÕM9F)A¤’2"9E %2çð7/9Bß/^ø(-9;çÓáxÁ{ 99ÜÅî3fr93ªBLžz <>93(Ÿö`~² 9)€O±„ÿm4-9'Tæõ%IG9#‡´«Î>“9"É2ydAÁ 9!Ðês¾(¹1)9!tÞŽÏg!9+ÕUßZæ9lö}Gœ=+9»æE}*f:9Ä_?Èïi2"9ô$¨:Þº 9‡J¯mûÂ#9[¦<Ç¿=49ÿ•1ï2*9j¾øÞSj9 Öæü)&9 kÁ/ÃH9Ûãøb£I9_:O¡Ë0(8ûèax[= 8ñV«Æ-8ê;›ŒÌed#8éò™:ÈÎý:38çvòîþi 8åÏPÍh'¿8á£j‹€ 9(8ÝÍ~+Gê'8ܾGŒÆ 8ÖŒ÷·’›¿8Ñ&xb ö#8Ðê€CÓó·8Ïê% ÕŸª6.8ÏcÊ×ý8ÍÌvA”“¤8ÅVL Ð408À¶ùÌ6ª8¾›·–88¾3ÑœT"8¼¹ïmN‘H9*8±Sâr¼ÙZ8¯DvÂ]ß”9*8­©_*°¹F!*8¦ž²•-98¢vì8Úî4,8¡¹Nã' 8Ÿ$Ia88tí“x+ 4$8“[PŸRA&78†-8xÿ–i˜á=48xôþö>-8wSUf+È-#8r–yP“ê–8nyIwœñï8XúIö$>48U˜êÜ„ 8Pnbw$5N8L?[r5¨‘<>8IBÈÜxz£ 8E¬èq~œ;48Bt9Ù44Â*8BiаîH†8?˜¼mÃ`d"8=Œ|»üò=68<„‹gÛø89£yQÅ-3#86Q®=+Ú8.ÎðRZ1!8-ñ)É}L=8*°vã)ÿ8;H[͇9*8ÚÊÃO*=68¯((Ñè¿0(8Y³cþ«3#8 ¸ð]Hy;)8 iqÛý¼2"8ïJÖD2@:17üK×ÞFš43*7ùß~í¬(P1!7÷¸š^ž¨Ô7ô¨Ú+nº=67ó±Çt7òf [ž27ðK½‚´gµ:37îùp£>› 7î#B~‹—¾;27ív¢PfŒ7ìÞ«æx 7ë¨åc[r\-#7è D,ê1J7ådw,¹§K7Ü­Ff.Ò3+7ÛÜq—·1$7Ù ¡H͈ë7Øn[ž•0 7Ô#΄É)×;#7Òþl»%b=67ÎñÇ@b÷ƒ &7Ì9ˆåC¦+7Ê!u»Éð7»‡TʲFE&7¹ ëë½;)7¸ ¸.Ž=I&7µîMÖý 7µ¢3o>AŸ 7µP‹{Ýn7ªíÁ4±ï:17©Þ_WzÞÐ5-7©Qç|pí³$7¤hÂŽ½O7£òI#Tü€=47¢ó|ö¢a^>-7 òG©Ó-7 Ìø¶¸[9*7š!Ê9º4,7—ô’0í» 7—?Fq”?#+7–ÔÇeTNR7“t÷Üñ7“ÙAA#,2*73‹Û“¸ 7‰7?»â<>7ˆœJ¤îŸõ"7†åp¯`“N 7‚í[Æjæ 3+7}“Dä^ÛÞ6.7|.ÝÔ }^="7z^î†]4,7z'‚!âˆE 7yÀnoIÙ9*7v·wC!è$7sYÿúõ‚#7o†e‡ô¶,#7nGo&Ê.ù7l_<4Æ7lÿF™Ê>-7h]’ÎA1 7gÁ×Σï6.7dU#0(7aŸG}Lµ1*7^ùã.Ѫ7Yw¨lž¢&7Xì‹–;®9(7R`GÁ¶Ò 7JE"lC]ª6-7IÇ ÍõC7GÕâ'Vñ},#7FKÌRþ=7;îUxI…3$7;Sø¹¿‡Ø 79øAÉù77ª?^ð1)74ºXVP9*746ˆß°^D;272°rdpŸ÷2$7+÷5YΑ>-7*£†.“”I7/7*µæ„cA2"7*gA3ÀÖL$7'…}.¾M- 7%—¿3‘ñ9*7#ŒíVô;D#7 åÇ*™D4$7 Ñ+Sщ7ß²uãHX4+7(žÅ#;7ör¸tàô 7{ÃÚÐÄ="7Å^!Œ9þ>?7 p~Âéðæ7 £^ñvyó7äèö–°n7cÐ|Ø]ç7©°Sáˆï3+7úl[Ðó5%6ÿçèã̸Í=<6ûúæe­t3+6õi^#ªdA9*6ñÜÅ´si01)6ï0 `go…"6îçÍÑbr6-6éèf¹€ñO#6è¦qvhÓ® 6æ}áœ3#6ãÃSzÛœ²&-6ßþà,t 6Þl?3D º2"6Ü'»îóS#,6Úï#>ë—16Úª»Z%×M:,6ÔÎØÔx 6ÑÒü6À 6Ñ)²¹)»½6ÏVyvÖÚ-=46β8£6Î ¨¸Vky6ÆC7C%§6áJíùú$6Âú÷ÕŸ6.6Àaîc‘r2*6ÀB¶B/“6¹9:6HØ 6¸<þa(6µMeù̆6²Q-â$Ùi3+6¬ë…p~\3+6¨¼ü!‘ž6§§U”š¬ 6¡Ât¿+3+6 Všý¦6 BêÓ6Ãù<>6œêSÚïŒá&6‘Y­ŽÕ:%6‹¯´èìS6ЧHµ§@¶ 6‡ƒmü_ñ-6„=‡`¿<6ƒ… õ˜†€"6wö62óÐÉ6s‡õ™„{•6sL$È1¹•=+6pEGÀðe+ 6h$„s¢/Ô 6e‚Š\Žá:16`–!³qW“ 6U¦U<ëÜ;26T)ÔÕ6RNä &r6N8aª•Gm<>6Jô'Jÿ'±3+6F~ýÑ+$6<>–Ém]0(66,`0jk2*64›>±EWÍ-62«~¹úÉ 3+6'”bÍ)©!6 ¾õ<è!6:N6ª: 6À#÷Á8«'6Pžœžñ’6xùµ#6£#ÅQ5ÿVñ©s6>45ø„¨œ¾½-5ö…¤ Ä‚i=5ò¹ùø|#ß+$5òˆ—RD)º2"5ðp¥ã-(Ÿ$5î¦cfjg5î^>}ÙØÍ935ì&’Þ~%º-5èjOÛ¾ZQ*5æçRP2"5âeþxH5à~äÖ¶.— )5Ü Ú°9tú1!5Ûq>Û©3+5Úõ4ŸRFa>-5Ø÷ŽXF 5× \3e¨À<>5Õ£ž'ÞüF5ÑJθ8a8 5ÐA5ÈýŽ5Î%²ìÏìA!5Îmûš=2*5Ê óóÈÔn 5»³8¨SN5º›:Ùº[ú2*5¹òêy£4,5¶ë{§ˆ8=9*5µâî2ï 5´µ€Qœ>45±À%?BV#!*5°.–|)5«âWêÿ#3"5ªåÄØæ³7/5£œ±áÍ5 5¢ý º™FF>-5¢0¼\7\-#5Ÿ±ø-Ž&5ŸPK»êÖ5› ëø}#24,5–_®5 75”þ¦çÄAù<>5”}›ˣé4,5;± —¢9*5ŒÆ+æNfS5ŒÇot®÷5Šfºm‰n5Ša}”› 5‚¿œDã !5~dñ%]ôã 5|\âe™S35v÷ºVœ1*#5t’]™F¬Ö 5rÀÜaÛd‘ 5iž¢Lé¾* 5d”†” Ôw;25d€#pÕ{Z45dl$…¯L±5^$LŒ6`Ë$+5Z>×&†å5Vcçã q#5VSíoŸÜy5Uõ+@3î 5EXÌS€ Í:35Có{½E%2"5@íóná5<ùÍâbî59*5/hÍGX·^5/:G £þ5.[àçÚŽo3=5-»¸$¾Ú&5(ây· 5 hà÷ùp4,5ѯˆ]ÓÊ#5.¼¥Ó65 ÿOÑÑ”3#5 §@š½¿5RÛ“ 5ò]Ùí˜}=4þòâ8<›U5%4þÑ_(ÖHŠ4þ¿§äç#4ûtšÏ=å,$4úaÏôü#O!4ùRðŸ¬L 4ñCOâ“¿v&4ð̬ÿ‘’9*4ïŠÕW»^ 4ì… b1*4颥uÒÿv!4æbÒprÃ>-4àWa$V_÷4ßµpÁYÎO4$4ßãŒj½§4ÞÂð8¶%4ÚÆžÌR1)4Òh…H÷"‡=<4Òªnó4$4Ï{ÃïZ‘ñ4,4ȸFCyŽ$4¼ú-c–J~; 4»E¸×J:,4ºqºÖYÏ 4µ{€ ÁYK934°|!æ L4ª"Ä˯_>=+4ª·‰š¬)1)4¦6cî¬5Ñ2*4¥R:áP§<:4¤Ë´3ƒ !4¤(0ñ^}4¤&}©g 4£îA×ò7k5%4¢NV÷~pÙ&-4^›EíüÛ-4•ê& x¨4$4’µÑåd4‘íSèÀ$×4,4ŽÄ MÉ4,4Ž\»ãÓ-4}´2ÍÝåñ4w­pôÆè±;#4uƒ%Úüë2"4r—È„‹3#4oƒãíW&9*4l`¶¹}šk<>4i(iªg‚=44h|ªu Ø¿934_ía¤¶ä>/4^í\×'ÙÊ9*4^šk²)4\öÛ±uE2"4Y-¹ll8Á;34XàÔ‘ne 4Vùc0 4FG¡æq0ë=<4:s >£ ž 48 ³Õ¶¥¨:45ÁnÄÊö!44¾C/”+Þ6&4(nVg:Kd4&HèÑœk 4(]•÷TY 4òt¾Ïî®1!4¦w­K‚$4Š÷N¹ªk4åǦÓ~ô4,4‡ÉSØÞ*"4ž—o9&4 ¯K<>4 ˉySíÉ#4 ®ìYMó0(4 D•x-4 yÞü` 4î…2Ð3ô7<AÒ@2"3òþ o£ž>-3òHPY| 3ï25ÕŠ3ì€0Â̧å3çÀî–€˜ 3à_7„µ3#3ßm\üP²Ú3-3Ü—uÖ9ô0 3Ù÷aD¬Ù4#3Ù9\Tý=63ÒÄt2—3Î [ óÇ933Ìdnc8Äz"3Ëo޳$¢Ë 3Ë'ô4Œù3ÈGG7  3Å o©Ï· 3Ãf Ï¥í4,3´Sd Õ0(3ÀæQ!¦ñ>-3¿pÕUГ2"3¹T-gÿ6.3¸Íªnq%Â3¶³xDøø;3´³ÁŒSÕ <>3´ˆâ ©,È 3°]®|¼3°CÁîñ@4&3«{ÀÈx+-33ªaIB²R3#3©óUßh3£É5 Ò*43žyhi@f=63cMö‘•0(3›¾þô-ä#-3—H£\;¿ç!3öMš`&3‰‚¥jç1;23‡”,¬v]3…8Pg?°0(3€ŠûhWøù5-3žoók<-32œ˜•JÚ3xn ‡¶†ý 3w~YVg$3v:äoC 3p}ÐFˆü 3oŸ1‡GJD&-3lV/¯WY3k]ƒiëZ 3Z 7Ü2É3Z™×b.Ë933Yøˆë舆$3Yny“B6x#3Rñ•ù›U<>3QeÑsÒ³3Q礈S 3O »®Â]3I Á ÊA<>3Fûønv£ 3A!Ã(Ÿ÷r7/3?áU-”¼#3?æÄÃs\ 3>·’ÿþÇ×6.3;6û^ðÅ5-3:2XI3ë9*3/d–‘šÉ"3/5ÖS$p 3/3Hƒv†$3.“Wc% 3-†bžyF3'°¤ç óå3+3#æ`}ùë1!3#›©mPN33æ{¿aðÅ=3dùÅÉõ9*3óã»ý‰#3Ó–Ñû³«=3P‰ªàɧ3#3Mûfûû£ 3¶8k½*#3 ~œ5½·]30Çb8ìA:%2þ2"ÿn™¡2üv¢:At2ú¶ªIMÛë6.2ù®3Ù€:32õ¦ HžüÈ9*2õCVC–Î 2ñë0ü»VÁ0 2ïÞ ëqñ<>2énáÖµÕ×=<2ç1ÊLîW¢ 2â/nÿÆðÂ2Õ%K7Â,2ÊÛ¶J 932Ê[†vZú]-#2ÇÛo© ó2½•Néb$2¹½Þ`Ë«# 2±ZAËŽÜ´>-2°O¥Mò¢ 2ªÅ—? T.3"2¦›^cE®r9*2¤~®ˆŒò(-#2Ÿ§9XŠd#2Ÿa`—Yü¡2žAºoà} *2šðÆÜÒ99*2ç3Àe,H#2‹ËøH(a0(2‹_ “z2†cבü²452„®™}9e 0(2ƒ ØOÎ1‘2‚ò–¸Ëb¦#2zã}o¡Gá*2yôÜ—å89*2xZwÓ9*2tÕqEQ"2gp«V”m?-2g?[$©ƒ3+2fíDˆ»9Ž,#2f?%e@¢X2f6¸¥Uik2e·÷Ö­2dîÔì1ÜÑ2*2\tFð°Å6.2\$©äçÿÓ2"2[û®„±p#2Z7üêV…á 2VfââñwŽ:2T«»læ/-2R}Òír›2P,ÍUÉ&-2LN;ä ï2E5Lž½«Ç2;_¸‚'t4,25xj° Y5 24èJº'ó 21ÕáòÂA0(20¼7óU3#2- Â=™¸>-2'§„`©ÎS&2%v¥z9Í 2 séG£ì0(2Ëõ¶®`2‰ï¶— ª-2 Cªvm£-:%2—¡b6&2-0+“94 2¨íªhÚ£-2S¦ÖQ›|4$2CŠèQy9*1ýï4¤K+1òÐõ•÷A®1ð™>†Â˜<>1ï¯ÏfÓ±®3=1ìöì.Úª0(1ëbL¨\ 5<>1ë9ëà¼$1é1¦‡Ý+$1çRcŠÎò1ãÂVÉ*>-1ÚÔiÝ%:1Ù®\)Ü+#1×ÄU'TA±>41× /‘Þ?<>1ÓcìíË%"1Ð a©¾p">-1ÏVzår÷ð>-1Ën9¶I(Y1!1»¤=}öÈ0(1´\HeÖË2*1° mòåß;41¯%ŽÐhyU&1ªí@:æw 1€'¡bé1œö (Jù¡6/1•¼_ 1”sè5[B&1“½l—ún4$1‘mD®„ˆ1ë$Ôÿ…Ä3#1Œšv"®&1‹[„¯àŠ1~ѽ ¬1)1|Á0qèn4$1zº?5>$1n±F:¤13+1k:'ºN”î=+1hÉѬ/§E2"1b)bçÕé1X5PwrX*$1Q½ï ®ä1PÐB„sH(!1OOim 1Mœ3t¡þ931Kû‰Q¾·Ä4$1E!I 1Agç i91>·åþ$0;21;v’Æ vÆ0(1;JÎ ¼$$17Á6!¼HÈ,12à;–ýÔ4,104®78/%1* SCéÈ!1)‰÷rä1(Ûñµª:%1#ïà&SöS1#»¿QCªæ>41#w¸ÇîÒ>-1 jJó޽- 1 ö~OÊ‹1 ¾Ë/Ñ4,1sÚXÇ$1|Þ/ 1]6BŽÍE931 žxî_;41Çéz¢0öçEœêOH2*0ðØ)H±B#0êà o<‰Ö890éuQd–•à2"0âÔÀ·R ý3#0×)4w'­_ 0ÔtÙ5&0Ô蟢a’0Ñ@ >¢O‘#0ÐÜÚÿ›zA>-0Î éô1µ#0ÍÁh!(Î’$0ÌíDßûû=60ËÎÏÌ@Ïp4,0ÀB¾)j0¿ñ>LiØ,$0¹‰2â¦à 0·&½?3&=+0¶M2Ayø1=40±†¶Qš&0°¼1<{.9*0°YOKY‘k0°hXn†0¯•NTàmØ;30ªbT6Å{¨")0£Ô¨¨ÐS›>40ž9ùšŠê 3+0œm6^óø 0—"3œ2ko:,0•sR æy”5-0 Þ'ûŒg#0‡W/Z\Çh 0†ì*®áBL0p¯…‘Á|d 0n-sbIyÈ:30lALÝ‹­ 0f|=ÞT;0`J?¯iÄ¢#0Zò¦ò¬ã0WÔ¯[Þ 0Nì bk¹ 0Mÿìu¡'Â9*0JŠ@dñ0(0J-t¶)B0GYe¢"l½ 0Es‹ŽË30E£¶™+h6.0D\ô²Ç‚n#0C®ùõG?T=<0AœDš.0?/öTiç9*0;ãòÞ'ƒ{ 0,£Ôã<ß=0$<°ê<>0$ü/×òÁ6.0"7°Ðz 0(…h}1!0û¼^Q”É2*0XµS”§"0lBŽþ!*0 ÍÇä#{°!0 @Q”ìq 0 ¯HF±¸0 9 gU;40 ÿß]´0ÜÔ¡1)/þ¿!ÇZ=/ýÃÇz}9*/ý~WM‹]ü9*/üL‰Âk/üäåX $ /úÔI¡9éc /ôLÑýt /òsðʦž/ðæ¤ƒ7B:%/ìX˜óö2*/êèù³}j>-/æÀŠ÷s1 /æ'åñER /Ý„OwH™¨*4/Üw×ct&/Û ¾U®û /Ú_4á…]€&/Ø(Í&Mi/×þY®ÕŠ /Õîo²`è /Ñò jî¸$:/Íàô˜¯i¸ /ÍqW©ã/Ìuý<9I;4/ËŒ—Ô,Þ%/É?ëe¦XH"/ÇÝÛÊr`=/ÃO¼÷lÖ0 /¸Mùš[á<>/±[2V½K:3/°ÐopÆ4/©™€þ„‹/§"ð_õ¯-#/¤ˆˆè¡40(/¡——TƒÒH/˜æÎ×w4,/˜§eD   /˜:Ž×÷°:3/•qI&uC™-/•)1œ;1)/”YrâÆƒô/”/ß%1-5-/“®7yóº¦/3u ³†-#/ÙçšÌÈ /‹¬\b§Ÿ:1/Š×æ5{·29*/ˆè[Êž”X7//„¢„`ú¿ß /{âE æ¤ /x<‰F’:1/u!û— Wk /sMuZ³µ1!/rŽ'jÜ2"/o£ñò¢Y.;2/nØ•âûeI:3/kî´Ù€¬'/dü݉Ó<>/cNpFäŒ/a±¼“/]Ó…lRÒu2"/T$Taâ²:3/PñiÑ]][/Ps{VKô/M#Q´À<>/F3Bš~#/FVâGÅ=6/Bß–a­E/Al²ëðs/?RÑ¡!Q2"/>ª9N%·-/= ì)›%m>-/6ˆî®Ï//¤ÉÑo 2*/.íèC¦¢9$/-C¾aÓþ4,/*`³•=ž‡/#t/ÒÝ1*/#oØY“P/"l‹£ Q/ޤ¯Bí4,/†y§ ¨³!/VÓܹ"/ ¯ ®Ú¬] / ðçôMì3/ó­þ’}#.ú/•˜Gq@3#.ù•¾?’Î0(.ùìÖK~•=6.ö\¢ zq2".ò¬’:Ñí:1.ò"ëc#.ñáYËøÞ6&.ñ¡êÙÈÞÓ:(.ñ&°u{º  .ñÏBe †.ð«8®ÙЙ.íÝ»iZ' .íºš†8  .ìK°ž°ˆ¬4,.ëpïéÉúC93.ã(‚#ÂÜ)4,.Ù ú”¡1!.Øœ À^a:3.ÑUµC.Ï’Þ…µH¼<>.Íøº%諈.ËQ¾o9a .ÊýR› yH;2.Éçå(üz1).ȼÞ—Éñ=4.Ç­ÌéÆ4,.ÆZ.꘽8.½EÄÎð’Ý .¹ R† Cä&.¸¦b×þ"s.¸qZ=t¬z.µ@\k/Á2".³o¤‹á0,#.±)B£*&.ªMC1/dr#.¨Ã¸—>l.¦`HÁï+6&.¢äDt5Tœ .¡Èòr¦@ˆ.¡pΰ3f6.. ÅFà­a2".ÿ‰ÀýÄx=.™S– †ò.–Æ>.~Ëðx'¾:1.~w³±  .tC§¹ZÖ$3.pfÃ[ˆ±k .kƒ±Q—-3.jßeÚr’“ .j Ï>^ª*#.gM®I] ‚$.dËêÎÿ  .Yò<>e n$.Yj td]2*.XÁÒ†l .XBl 'ñš".P²¼b\Î .L§ä¤H÷y3+.J×F.nÐ .BÄ"»öÅ0(.AÑå^©ÏF#).@xó f…þ$.:°6ðã3#.5ùÓ5)L2".4xÈðt°&.2YEðð1-3.0âfž¾Ä,$.-$Ô 4;).+4šå"05%.*I}¼ú<>.)¦AvTú.'›åJèw93.&å Ù#.%èøêVäû.%ÖÑbß¿».$x®Ý%†§2".!7…S˜.gï¶õª$.4³6t;-3.$w¹ÐÔ¾.óÎù„2*.\õ¹$-.2Líéà. ß[fAÐÚ* .Ïš“±à .Wü:Cû2*.œ@Q0» .…Wc¿­*-üAÒú ð(2"-ú…A3=–ç-øjIB-î¨/j‘\‘>--ë/­|Ì«;1*-êNSác")-æÏB¶xhÎ -à ™aïxœ-Ù«T}^¬´4-ØO`yõW-ÓWk`±Æ-ÑȦ>5ui-Ñ£îïæ¼®#-Ð$–G56-ÌÛˆsn-ÄʶÊ‹k -ÀüºHøÊ¿9*-À“6F|„-¿ç$†vé¸4,-½9èBcÁR-²‰OŒd§¤1)-¨!{ë‘·"-§Èá—P~®0(-§*¥B0ÿ- Y~»¹4j2"-˜ÚL‡CÒ9*-”M¨Hu-“øXišá%-Žvô@è3f1!-¢&5Båá-‹„°­ 3#-ŠzUFf¾=<-„Ïbc>ã-„-²D<öT>--ƒÐöÞ ª -®}sj¢ -}õÜ›A0J0(-x‘j&v¬&--p&…2Ü-h¸kµ3È5-3-f,êû\ê¹,ê‘ d1:,éà`†¤ ,èÀU.÷¬‰,è}ÎBânÂ%.,çC F>=Ú=+,ã¦^tR‚4,ܸý½e”=",Ùwåe[Ëñ,Ñs<h#,̳ÕëB,ËÎ!0lc=,ÈMþ¸fj6.,ǼGGct82*,ÆD?çI!†;4,ÅáŸþÉu ,Å{„ÉÒø%-,½8µ¾ÒKS0(,· ât.;*,·[ªÜÈ=",³52!®=6,¯ n|?d©",©²Ä‹§Vâ$,¥ ÊOf®3+, o‡ãÁù2",›®ˆKŸ®6.,šE–?¢¾Æ#,™‰LZi&G ,‘s–Åœ²>-,²,‰¦Fø”©Á4,,‰ \kèP,‰ §‹Ez™*4,º¨žTÞ<>,x¨~gܬÆ ,xQÅ4ç:,wŒ ü¹ ~,lZÀ¥\ç=",j±U©™.",j›$ý^yþ<>,i¸#‚»2*,hМöî× ,h§uQ 3#,dxü.ó0(,c@Cã^89,\AçÕÇþ;2,YÇk:¦K«*,Xón+¤Ž ",WÀF†¨<;<,Vœ4;âÑÕ* ,V’Ÿf£×—2",U9YÒßùú>-,QwÊ;, ,N¿­h–×z,Nw»®Ën ,Mœ ªÝ,Mö&‡Ž= ,L§_rhûE,IGy¸š9*,I<jì¯6.,IrW'Ò×%,HQ ö:,,Ds¹¼'”e ,Cª«ŒU²,C±–RŽ +",C^UâÍ“ ,AÁQÜñ<>,>øs–ÙÈ3#,8ìy©,6#rÄÏLì4,,3ÃÛèïí¥6.,0¬òÉ1!,gOG±v:,¿Çp³,«»£ó~ ,~׆ѭ ,ÐR©úúõ,#,·Ó¿{=4,Qìk´ï#,A÷.( >-, ¯[è½c·,ûf²JŠ=",õ?v$+ý;AB9$*+ýÑS_p 5%+øåÒu;¾$+÷SvÍUóš3#+ö=SZ=Ê#+ô[p÷_82 +ñbäŽÍÜ+îKa~6.+ìŽ×Eóe9*+éŸó»½h0(+èìY:Æ#a +è—ºG%©9*+ØÑ §xoä-+Ö¦ ªqê +Ô XËv†O#+ÒLqq ZM-#+ʽøE <>+ÉæžÞå]À+ɶ¬¿Ø™+ÉA›W̓+È3Ã; ,L3=+ÆV| |`+ÂÈú}r`+½{{.5-+¸zË™ÿ–ž6.+±«‘‡k‡l+®ˆnz;.>-+­_– [1)+§¦‚¹|+Ÿ§*¶rP+›q¡Õ 3++—³<­ïOe"+”{ßj¹«G+‘ä¡k÷(>-+‘N¦€ÊÝÒ:3+ŽÞ©Pä¤<9*+’vHKã:>-+Aqi›k1)+€ä¶9r§$+x:¢åë•+w/žP¿«l0 +vBôv&_} +uñ©Ûa4§+us•u»~¬+t—ƒ‘R +s¨Ô\¼as +káNŒØO:%+dÖxKmèN+b7 ÄÂK 9*+b_Hо3#+^­gø„F +]Ö<…›þÙ+[æÃéxH™#+Y±·%èhÈ&+HOŽg±Â +AqJ[ŠÀ3#+9àœŒ–-+83EÑq:3+50 ü”›M+3`ÛW{3#+1 €Ëqxp;4+/U»N„˜5+.$1Êf+%õÒ ±o +%)ÐÀ1&?!+!z’½OXX+­¸µ¢t†;2+ÃÜ×…®1!+Wvitv +Ÿ>|‚pí;4+Ç{,\&85-+¤(þ!„u-#+ùt ‡ž*ûQ=ðTÔ>-*óâ&§7*ðoÉ55'z1!*îj¼Œ[&*èËÿ=;*èœùì<¢*ÞDæZƒ’49**ÛG™Œ¸æ¦:*×[d]ª°Å *Ñ kX¡"T$*Ñ8Ù¼ !4,*Ïî `M13#*Ë|‰E|§4,*ƃAxÊ|‹ *Åë,¹a!l; *ÂVdîÑ­†&*ÁÅUk-t 2"*¿-=ä-. *¾Ó†q…²A<>*¶á~Ø 24,*µ˜Ÿ ‹ž; *³Z3Tö *°zÓxU *®<ß{ Þ *­ÊEÜHн#*¦!É Q * †Vä2· *—¶ÉÂï*{œ»þÔ *›|qÍ m*’ê+”ºEÎ$*‘Ú"Բ;9**‹+•FÅ®Ò:3*ŠKÞô÷Ä{,#*‰òD#ë•×*‡æy”|]>-*†9wÕíç"*ƒg°õ¯gx4$*÷.²40*}ÐÐýØ<1)*{Ój­«4,*z¾&Ëu76; *z¹Ž¡AØ¢#*rL…ůñ=*nW¤xd*i•æ&Iy}*9*cÍLþð$*aOO^©¦-*_,·Ÿ‘ €$*^ É»¢/*]0U°0‹;)*[Ï cN¸h$*[o`½U’¢ *[H×Pv*X;÷öy*S’ËxÞå²1)*RÚá—äÄC*RŽv? ‚b*>X¹ç‰˜5*9köO6 ;2*1‡—E›úd>-*0WËöå/*,ý;R¸úÙ9***í\“Äù *)—Ýh7*'šÍ‡2¡"*#­Àøn *#‡œ®$~Î*4*¹ÞèÌq:,*=ä&–=¹*MÔãê3+*£RÁƒÁd0 *”•W73:%*ö:{(X*¹õOX"0* ¬¶** S~3^b$*”`ßÿ±4,*ec&•X)ïôÕ:ïó=4)îPb¦Ød“2")ç­›P]w2)ç'Æê?~1!)æ·îµ—ß[ )ä ‚)¾ö;3)ã°üZP8:)â8ïß$×Ü#)ܰ¾”)ÍüNLЍ0)˵Î6Ù|{4")Ê T87)ʇ“}¹2")ɧ²5Û Ò)ÇÅgòþÍ )ÇSzƒÚ.Î )Å)ª-í¯* )ã/ð£D? )ÃTÂdûÒr=<)Á˜;xdp $-)ÁcÉ“­-)®P>»l,!=+)£óhòû5`2*)¢@¥¿Ä‘)Ÿôþ@ÍCk)^Î!Õ¹E#)˜³?QÙ)˜•¥-.»#3+)–A¾ë}Æ; )•YJávó  )’·ã|¢*)‘Y1Rdùš)ÙiÔ,:,)‰èñ8Ã¥û)†­ýù‘_;2)€kÀû e<>)€3#ÿŠ)yƒŒ^C=2")pž&Aî²-#)c,&Ù…™7/)`#éØ$ã¤)RþÔÔÛvV)QóÀãËV>4)Q,šæK&)P›¶’)fQ)Nuñ5;)Náµ1…Ò28)JÍG¡|T)G?åzßW93)F0ç1!À)EtŠø+-m2")B\ëmmÕ2")>!­ÿ+;2)=³ùg1 ° )<„št (y )8Ïo\Th©)7ëÀŽ%áN9*)+ŽË04<))O¸[ ·=4)%¯ÞrÉ)%-·M×µ3+)"Ý7ó²"")"O³J)!ïC!ú»-) L6é¾ô)K¿¡YT )y2hÈC )Jì|Z]F )j)˜å»8:)8…‰ÎÚ>-) (ºÐ}=4);M]O0()Èò þ5u ) 3n\d6_>-) v¿—â8$)“}ÖMK°>4)tþ|ìb\ )‡ )ö¶1Aª$3(û<,òb/Ô (ø‚òöN %$(÷åìíI­9*(õ¯,(]Ö(ñó86›ÿJ (ðcº¿Ñ·93(èm›eÙb0((ç“aæú'="(âÒ\'Aþ (âsSl41!(Ûû, s¶;<(Ú><c˜:,(Ömv͕׺ (Öð‚¼QY4$(ÒÍà¥Ä)(Ñ©Qä¼Ëõ>-(ÐZv`¡yà (ÏÄ8T›é4$(Ëk%5·Û­6.(Êr+Iû‚m(É;Z¬+‹4,(ŸFî7¦3>-(¿'Ÿv ø (¼dÚ÷¹¿‰9*(»—®÷mT&(ºkÑVþà9*(³~c-V®!(³pì¡éd[1!(¬XDS¶è’(¬W´$à†>-(¨‚Òx­¯i5-(¤“â£!w(¢¸¼©ß  (¢\µ:O2"(¡.]rsÁª-(ŸDj„ðÆ&(—Âõ0Ô(“XX´$Û-#(ªrŧ~(4²\º * (Œ2Çñ)Š‹="(|ØäÕ²O (~ªýÍyZh"(~óÅûp!(}×&§çÓ1!({¢–²&c0((z&¢4ñ-(vøŽà¤ºæ=<(nÃÔò%ŠÑ"(]Ò¬Ì7Ÿf(]¥I÷\¼¡;4(Sì¡øÞ:o (R5öÎmL>-(N´±3Ã6X(Mâ'»‰(D…\¤š”™ (CLgK—Bœ(C1ª‚D˜i (?rœdb,2"(?1þuñ_ (<@ó[Ñ Ï (5ǺýÔ"æ"(4FÌ]ªïã9*(.ž¬abá($£áŠóaâ("hÊné(!µö h(Í$( ÷F²“:3(½cˆXs(R‡XC’(2( ¿ba£žÍ4.(bråö'K<=(¼ÿÛ6Ä%(ûz|ë’'üŽ]â›D}'ù¶­BƒÓ¢#'ñ¿KÊ´c@<>'ñè¢ã;4'팇"jŽZ'çæ¨Ýƒ› 'åÏ.÷ëL:3'åË£\2’ 'ã>Ýqa¨2"'Ýy‰<<#1)'Øh>û=;'Õ ä_òïÆ;<'Ô›4ÞÐÝ="'Ðkóºs±~>-'Ëô%Iæ2"'ǹë†Ç½Ì="'À‚…±ÇgX93'¿:’Ép="'½’cFÊ4ª:'»”i¤ß!['ºžãöŸ!'¹¤G-Øw1 '·â”9¤"'¬M‘V="'«“Ó)àîõ2+'¦çÖ›Ô½#-'¦–ò®õoû#'¦#̧‰Ó;2'¥¼p;sa,$'£ðì0•ÑÓ:3'£¥Ç ôëB=4'¡¿d嶉'žæWD_7ˆ=4'ž.x 6-3'žz÷®3F* '› ™Ed'–Ä—¸ÈJÁ'“ôÍ®  '’o±££2ˆ3+'Št¸]g§!'†½Ö¾b; '€— ]á›0('yDÛ<ŸÙ6.'rÔoó(-¦0('f’t[¦n2 'eÏo>¾'Î 'd>¿o›ÈÔ'cÂ<„Ý~ 'c@×ñÁ«6&'^û™¼Üä-'\ú¶K\9*'Y{yâÄR 'X]:%¡È@=4'S2}‘öA 'P±UY1T 'B`‚x„ØÝ! 'AÇASÏ0('=ŒâÀH9'7‰Ò š '3'AJ '0<úy}z *'+x`¼r¹=<'#|§ uñ '"3÷IÕs#;'À;À;ž'ÔæµòNè'½‡>DêÞ4"'*5ή'k'¨ÚIš 'Y5YÿÿÑ#'!dzZn' Œ 7‚œ ' 8«ý=¹"'p“¹ž²Ÿ>-'4€ñº’¹4,'üjÊ…hL&þ¬FZ/öt"&úAó˜‚ð&õ½NÚ^ 9*&óŠ7™É¯&ó}Þd!2"&òÒWOâj¦:&òZ _ "&ñ0w÷ åÏ&í{=§Âþ &åjÕÙ/y:&㓺?RZT &àÒr”ºHç&ßùÙ¯‡ÃD5%&ÕFuí…£ &ÒdƒaL¦ 1)&ÐÑTÒ» Õ;-&Ï4¤q¢V &ÌŠ}¼ÞÝ—93&ËDí÷ÕŽ"5-&Æ{÷êýZ6.&Æ>Ÿoð\ &ôg\Âwá93&ÃTû9nÆ1&¾ß#Á*"&¼êf”tU3+&»¹ßUœ2*&¸«Tki†9-#&µm ß$V 3+&°8~BÒü^;2&¥œ†½v & ¤—®Œ&&˜Ü¼É¬É»=&–²´äfË&–©XÒÕü &”Î}rÜ;-&XÁ’5§>4&ŒÝb»¼‘ &Šï;C9* &Š›ø‡`Øó4$&„ä©jÍ5%&€#íhåŠ&xºO$Lù2*&t°J4í20&pSHS­w:&mäy.SýJ&hšøÉÇ!&eºº—©*X&dœµÆÓ¨o9*&b9%`NQ**"&`™¢¼Þ{&\”‡3±¤+:&[R4 eIœ3+&Röº}w&R§ÓÈVb»&L&WÌ%~²&Jޫս#;&H¾.lJ0(&B¼Ræ›49*&>xÜU?3&;›(îg±´=4&5©ݺf>-&3ÃuåHW‡:%&3Œ·€4.÷4,&34® †A  &2¢º &Gô¼œM›&~¯ŠoU&ÎåÁgŸ8:&üŒ çV˜*#&áéµ4/&s>T™Ï0(&½zLQíÉ&õÄ)¼¢‹4,%ö2–"¯ýz %õ‰Ü =ªé8:%ô¦“ÃV %ôY~´$gÈ; %òpšvæ?%ðMß}z„B>-%ïy>>@ã %ç$EûWã4$%å·ó N1™ %á=l@-. %Ø?kÍ¿Î%ØÛ„–éŒ %ÓÀäéRa%Îü»ÄJ0Í3#%Íp‡$ûðy:%¾ðx³}”5-%¾z<¾µ,0(%¼ñ‡”MX %¹¯óp•˦ %¸×$CÐ>õ%´(ð.H`T"%¬ØÓÛ¼Ç%¥c983ë2*%¤íw¹\x%¢Geì]>Þ4,%œ±–lïyq=<%œ&‚¢G¦Ö%›Š÷OÓ·%‘%¿fbÝ#,%cÆc=%‡Kà=>B%†Qdÿ¯Áó9*%ƒÚhe·¤Ž;2%}—S±;Õé&%{ceÓÙ %y5rµ­%wýxèÍq0(%w°ÐJ0ò%m’–» ]%jüûQèmõ %fïœÎ[ì4,%fàþÁÔ–%X¾Ä·µ$ %R³ˆÇÇÁ;)%>ÊD¤bÜ%=B‹`‚ô0 %;%¿t?Á:3%:U‹‘Âñ>-%2ªði %1i…)²?™9*%.¢ˆ91³^%)”׻Ǒ•;)%&¬ÎÑJÖ %%õHÅ›J™6&%#ä°ÁÆš$% ]Çî£{%ý{TÈÖ<>%k¬Ü¬2% wJG,7*4% M¤”Çñ‡3+% ý4A-% {ãlèå¡<>%JœÇi$e#%B†į $ÿÓ|)à+ $ýZæËñ< $ô¹5Yìm3#$óã ÏÅê $ñmRë.c $ðÉ=Ëû w $ïØ• Íø1$ïÙ¶šÁ $ë.Ósœ`‚$êKY˜•ûô$$çDþÈÍuj7/$唄ÃË*… $Ý€¶å}27'$ÚÑðgj@Ø3+$ÚÍß%q/$Ù°e°1)$×ð¦«x…ë,#$×ßÌÊ—Ñ $ÒÆÕ·q”§2*$ÐYá„,ód $É©VÞs¶›-#$Èà‰&»4,$ÇÆMHÕ#$ÆmªæÓ0ì$ÅG“„Nú‘ $Ä«Ì]{˜$ÄnMO—?š:$Áô¦ŽæÉ2"$ÀÕb'`$¼‚u¼6¾$µëõY³®'<>$®« ­:«$ªGÇ!\}ñ#$§'€¹Ï #2$¤Oå5$žÅÜ•Dí4,$œýñ¤N”O$šëAvüÕŠ=<$—27#&_$–kKÖ%ð:%$¶#~›<¡<>$³–*QÁõ2*$O|¤2ÚŸ$Œ2gVŸ“T93$‹*u@‚Ž@$€à )¦¬þ !$~iÑ·„2*$}ÞÏï»#$vÊÛÚUŠë3#$rcÞþ‘`;+$qŸÄþÉö $p°s¡i8$oS ®~'9*$e&¶¿o  $`»jò98á2*$WEüªáDØ$Péä³</-$P)‚$m $MPθ«– $J…ŠÒxšþ $IœcŽi¼:%$Iy%-$(˜â¬n$&„Ë µ„è;2$Êá®-h#$¹HDº>$>¯éïòÁ0 $±ä–$E¦Ünza&$ é@CK¤£$ ³;£–#2"$º©Á î:$[Ý)ÝÔ$h“ù‡Žù$$\ô^Žªu#ÿyÜ3$#ú*‰'%.©2*#÷–×2;bŒ#öZ†ç!j3+#öCí_Ì5:,#ôÈÌÉþJ6 #ðáõ#g¸2*#ðA<½ºÕ3+#ï,F6F#çGý†BU‘2*#å„£ç¡À0(#ܲ S3d #ÙÖ‹ô #Ù†¥˜ #Ø#ýþ/©<>#ÕÄjg˜ÜK2"#ÒX‚:êÖ¤;2#ËR‘BÈp:#É4 h|§„#¾°O,=Eð:#½T;O#ø6.#ºZY®d!#ºM«.ÏË×;##·Ç4G‰ê7#¬š7â)e#«bÈP892*#¦ìUi‰…C4$#¤[™l:ü93#£ç`@&V #ŸqV5Ôu'#›©Bóî#šâËS7'#šP¬›;¨%0 #™$4Üžxr7#‹ »ž›##‡•Ï¡ù$#€tгâð“#‹ï‚ˆÁÕ9*#~U:ÀæäM#} €]«¾Í4,#|Q7³$¢Ï4$#zÉŸnÉ#zµ6ÿË"‡3##xÜðé§æ„4$#sÎaû6 Ÿ#jÔdn„¢£;2#iZž)¤! #h‚Žõñï9*#gi<¡‚î7/#a‰k$®¥0(#\G 2Ɉ=6#Zê Á<(Û;3#TJ‰Yþ-'#L&7¸l‹#K 9Óö",$#GcCq¯=#Eõþüç:3-#>8ˆj^Í#=ŽÜ×ñB¸2*#:6’ÀœƒÐ6.#8¼…žò)#8¹j X¦>-#1tØ—a‘1)#0ù,$%WP=<#0O!¦Ëìž##-õšê5öR2"#'[¾dT/å2*#"žY$­¯õ *#!?ìnGy· #ç^Ñ“M4#@°¥úÛê:,#fØIw#%~fßi¡5%#9Ÿ‹8¯$#.¹04îm4$"ÿ«#Í9*"þ7ªv/Ÿì6."û* X¢1"ðš´¥èþ ) "í“—Üt 1!"éö¹º× —"è1Oµ’¶¢"ç&S•Ù[%"åÊ«$é9W>4"åÈî<¹¨"ÞÁ|5 Ýw "Ûó/ºÜ/=4"×µWå 9 "Ö©¼i*Í’4,"Ö„£+¸y4$"Ö'L滦93"ÔFkú®#*"Ï^ Å…a\3+"¹"&Ž)  "¹c­k¾:%"¶ìg¤_@+#"³ç'^‹"²jùÃ'q$"°¯¦_‚"«ì;Wä×3+"ª¡iVšæu "¢¶XÌñ@/=4"¡ê3 ”y93"™Â$«¨Í¦$"ú6ֹ¸>-"Œó|m];"‡í¾ÝÖ¼x3#"ÔhK5,$"|gÎ~W\=4"|8Õyo¥#)"|#߸ut "y`^5‘#="u8<«1z93"m±µIyæx"l¹+¥p”Í "k0­ÄÏ&-"j8ÿ¡ñò+;&"dá9=Þ "`ZÀZé4,"`Dsœ S"]ê·p}¯#-"[L»ðp¢ "Ykw,n×<>"XõF/’ôÂ6."WÌÁ©ü‰â-#"W‘ ‹Õª=$"N[Þ ¹×Í "LV5L¬=4"FìÁLDaó%"A|à+.oV#"AUu§Ó!*"A.'^›9*"7p•}ê-#"7=ô¥pÙ"6É£†­Ûž4$"4»H_‹ëb:%"3ì½DÝê :%"3¡$烢¥"2U[”"0pZ,oÐ2*"/«ìc?Õ#".8ÈÓË<>")¤–MÙ~¼#"#ÀJ´^;4""„‹vA9*""wP`¥‡Ü<>"ëgñB`® "…™Y^iÃ"$@”·[“" ¥&Âl3#"7"EG¿$!þ—ªv$#ä!÷E'ÂÙU*#!õóÔ„ïH!òÔ!"·‰&;2!òV³ù $-!ñ¾ ?—B !ñ@V>SQ>-!è ›“®22"!æ¹¥f^ 3=4!ßv¦}™®D!ÐÁuêßõG+$!ûğv1 !äU™;S´;!TïÕâ™9&!‹5\L»Ö<>!„@[…b¾ 9(!‚Ú4Vç--#!}¸›Ño;3!}OÂE !}Kü÷Å®h:!|4m&Ký_!tæåTd›Ö*!o3ˆ*6ë#!kÚ[Ž(É!j- h¢—="!gªV8xïÞ=v ßÑÛR,#!6äõµ£õ;2"!3žVÅ3fÄ !0/±XÄ7"!.qÖ÷’*j4$!,ÌeØÆ<á:!'¨Óšj´&4,!"ÑìAKS"!!\~j93!²à§ÕöÌ!!jüÖ£_=6!m3Ø- ! oâäÅœ,#! Iÿ4,zÕ>4!åq᦯=+!ŒÕ =" úd1³¸b>- ÷¤j†¦¯-# öjÄx~*`# ò‡õ%²/9* ñÏts؃t ê£*É4ã‡;4 ç³k”çµ  äx­ŒSß Ý?{´³/ ÚàÝ^$d& ØÒÕœO†Ë-3 Õß ô]2¥ ÕoØË«;2 Ò³ E  „ Ç 96( ;) ÆÁã¼`½>- Åáÿ³†nR ºŠC­xVo# ¸ˆ ãLËf ¯kñ€¥nG  ­}hEv·™-# ©gFâófU=6 ¨;[„XèÚ  £ Å„Ï ŸBšë˜h ¸aàøÖŒ –é¦ð Mó ”w¯èp%j  (Ëw\%l   •Õíó # Fõ%‰×.7 'À~ËuE93 ‘bqHC±3+ ˆìt³} „`‹•jÿ0( úÁÙòÎ= p•)NAƒà2* kÉÇ÷y.y  iHc²d4, e« ™¨ôd ^Ý _}7æ4, [Z™þ°&,# ZÍ®& Y[±r_>- X›Moâ' U6t— =Ô9* T¦Í…¢‰§ RTIÏWmB NˆK5¦G®>4 J{ýE§9* Hj¦LÜ}8 F‚–*”p" E¶Ç¶scx3+ E@#¤[ò²2* DJX‰UI0( A£‰ûoo6. @4!ˆŒ²‚1! ?7„ËgI>- ;󆯒  ;Ü¢…ø#: ;u…3:5% 8œ4¬‚»: /§+$´ì +õÝDy‰5% +¾k¦1) +¹©ç«¾ )P|^<» ›üµ¶Æ6. „®U+ÝÙ;) 5B.œí >t~™ac& §ÕœbU 0 Ÿ6ãOM ód@ø†&ôФ·¸…<4ïfa—ža6-ìhVz ÷&ç^\ÿSè9*æ[hVÝð Ø ¼«º!׿³ü¸1øÌAøüÉÉʱ~‡93ÆAªgP/1·m6^¥3#ÂxÛ$š »Á¹£Ê.ÿØ"¾”dÏ‚X93»ZÄÀ‘ý1!¹›9Þ†0¤9*³li0”pg³?Û€Úd03+°ËÉ\°“ûÑ8 °ÖÆnç±3#¨3@G:²ç9*¢-ÙØÖ±À* 0Ql£©Œ3#™–a-V@i9(—$Æt63+–"2¡6+1!Žqðù…䯄Ãf]zõâ ‚Ó£$aÊÙ~vå•„h>-~XOØO‹ä|椎æ="zn ð…!z yž“F… y±;…Äq#xÏÌnŽò6.rF¢éï¤â3#jÖºüôl!93i¶´Ç™£y<>`|ªFü^ß1)_ü^cVÿi ^ö¨p›º93^" Š$]p[2ÚT7'XJ-Q‚´ !*W«PÎñz˜%.VÝ.§6MT|Å‚¥_ÑP'à%?»PGˆC~å:3E¢úØÁâŽ!*BÙÚÚt_-&-B9k·Í2*9¨ÙÃñt9-ÿâ.Mc'7!p™ç %·ã}«C=6$ŽmœjbÉ2*#uüÎ}Ù .¨u¹µIÈO ŠÃõðµVQU G½³]©|=" XÔ^²i ¹X¸”Éå ú+¸©œ- ëéPª¤"©hå€6D äæRôÞT|&r2–` õÖþt <>híj%ÿ5%+¾M4­ý9 v-èžüì5ŒòþüZc/Ì9 õ™C?÷ ðËh•pÐ=4î¾Ê$UKÌ.ìü®œˆ› ë¹üýÉÈ},$åBBg¯9–#)áö &+‡u9*àŒÅ1‡´÷#+à@±Ûr8Ì>/Þ¥±ü´ŠÓiœŠh[:ÓBà-÷Í"$Ìöô;4ƒP!*À¢žfÙ3€¿ª‰…<Ó2"¾¸­Ü¬&2*»~ÝΩ,Ý93·ZK1Ùyµ²iÌ"ýf«Ó®vŠ:d «±‚y¾Ë §°’Ç”X•¦†©à^84,¤Ì? Dü&¤À*Á'>4¢A¶ýó9*œòjlÏö>-—4pxž!”ß+ÌF R ’ Ðv9ýæ ‡öŒL?ŸÌ†Æ3=÷Nò&†˜Å…|õ>-†uþD¢N”:1…KŸlï² ƒ‰R¦¼ç%~òn ºrZwl Ù0çÎ3+vÝuLO]© s2(˜+St9*n«¡f4,lDN’ç4"kò ΡÜjŽ©Åc î6.iâ7û†™=6g±³ØKÝÞ>-cMžÆlà ^àØÏrëë#[ä$j9Z㲓!ÑR WU¢p{ýÇ>-Q!Ô@ ¦r3+MtO f!+$L)Öbû¹›;2K¬BÀ¡¹3-Jô‹êF6Òùqï% E¯#–Ñ*g <ê«™üTý&:›îÕDÓl&-5¦w…0(1„ k:/ÞÕÛù“ý +Ï5Ë\—A1))§#³Áå;#"çöF "Έ·¤¤Ò }þW7Ä<>-0 ²ÌÞ>-É!x¤è=4çôž|Øs–,`CÐY“ë/Ë   ¨ª4ô ¼ÌÆë! ]žÈDç &e,Ÿl&»³9´h=6Iw$ü$[£Ña5ïPKÉ * îg4g PŠ%íkc‡O í3¾‰Ù¥:%ë ˆÓ¥ï–éŸ d“¬žÜzVÝp ¨#Û=l)m¡Öeêea7/Ö,õ·þÏà; ÒÎÝÖÚ<>ÏÅZxêë#Íí}õ¨¾Ž È4¾ó}:%Æ£ô¾Ž@2*‚3»(l7/Áõ’´}š20(¼o¸\3(È=<»21ƒ]; ·ÑH6Ý( ¨(¾ Ïœ¤õ§ÅÉ{= žj/o)·=+šji î¬ šòFXˆÕ#”ªî/ù¨ ”§Ñör>-”¦ý§Ãá­ ÉF)cd93(”I+Æ ‹Pé#|Š)Ã΃;#‰¢Z‘Ÿ-†$ÀQ…‚u_ŽžÚ,#ƒþ2„ Ø €ñËöF |vÝHªT,3+w‰€l–ƒ  sT·_sË­>-s"tÏv6áîTúÆÿʈð÷ÄYPëXÄ>-·/žšoŽ>-³í& |>2"³­'q"¯-μüì=4®ñàÞ°ê®›ÙXN· ª›ha  ©úhÊ ¦²³¥t“¥™ß)¥¾x:3£ˆ Óüì %ŸƒnÙw½"–Kè¿|ˆÎ#”nÓŽ$ä¥&ˆôï¨?9*„ùž²€zª7'ƒ972ä9*p P"ˆ<€¡3۠ל1)}©õ©Gèq{J×HU©Î=6t߸ ]ÿ.lSèidöÐ5-iÅ›~¶0ó iÝIhy&gviÞÛÓfÅŽ‰Ãœ=fšPêúV>-c…Ô…{_c%‹@àÝ:1`íZÞ>ý’>-^Ærä8ÑW±z¯%VÊ XoÎ VXAïÛ/'Tûn¨UR‹2"Jþ3u®|HPªV3fï3+CF^÷×OR$A@õt )Š2*@䀬ÝÀ2*?xk=uKÿ#>²›)Ê|793<´d&ëåó0(1×m$¹š1Õ<‡¦Ço&,Y‰>ró*9!€á;'Ö‚åЯ $ [÷cG9*G@w¯«* …¶ðïj)÷Í{Y ¨ˆEþŽÌ Z'r¾/tí¸  •2ÀÎ^ˆ\þT¿ŸüŠ.Ó•¹÷ ‚¶ó¦=4ýÃÄ#B>-öjý;¥=6ö+×\²•¹89êëÛ­ü. ê0BÆÑráÊ §QçßÝŠ¹µ¡ ß³Í.Ÿ&À3+Þ_{Q¨æÜÒ(|Ê„ý3+ÜZá aÀ93Û…@´Ó="Ô_@_ýqMÓdûë˶93Ѷ·A9]9*ÐÁ4¡g'ÐêÞqƒþ7/ÈV9o™Á4 Æ%Ú•P¸:Û>±{ÌË7'ÀtÇ—ü•¿–³,=Ó½8ÝëÖØ$¼C“Ǫ&-ºV 'Ì·7/´—?3€ *4³Ôå﯑¾$°$棢ˆ="°¿Tá+#¯ Ó\¤¨&ª×ã:óF`¥T-ž=6Ÿ¯¨€nÌŸ–ØO·™Ü0(žI¼¯Žæ Ùp:›b©W7À4™©¸; G&-˜ ÙyùÔé#–¹Ö}ž •”WîˆF•vÖŸ”«&‘ÍÆˆ•ŒªÌý¼1!ˆ›ßÍ-WT5%† Y(˜ð´9*rØ$~Ym)Q·b }î'¢Üå9#{Ã{hxî4$zCr¤¦¥ÁtªØÚ(ftY.1Ôˆ'=4iÅFw0ø 9*h´ôëEq3+hJáŠRpV4,g¤Zë¡0(f•®Œö7:e­,Àe:6.eMÈÊט!c,"ØÑ‹¦!bÇñÝ\òb6t1°€O7/`*zÌš _ªíÓ9*WµNbwÖU6.P¹gv‚Rá LêJ'×`|&Jñ©‘»‰;<>IÅdÞÌE9*H­.„k^c9*DiçBœiD‘Šfr£%C?ŽËÃâ‹<><}/›{÷0 1&¨(¯d3#*+bw1v%)ìÚ`¢/¸ %}²)M;&#<›çlên —?Z®Žá Ýß{dëf>- Ø3£Å Ó<> .ÚîRÝf3)r ú!¨ .Z19*øD îî ò]zi™: ãŽÊ<—¢Ñ&à‚„ K%=àí¿+M:3ßÂÚ¢êNçßlæqy93ß2†W_g–Ò±,wð¤3+Ïr2tk÷Îdû§9.t9*ÍϬU ý:1Ì&ÖÌmdÔÊùÌ î2"ÊÒ(ó¸ÏA2"ÇgU‘€ùe0(ÃrjK™hJÃ<®gv#Â¥è EB¼Ä ìlê>-¼jgPÇò9*»Ü]!…&"%¹$wg?ÀÝ%¸$É8ñIÕ¶.”AŸÖ ³Q$§Ì´æ®4¿ñ쯫r ¨}#Ù2"¤Ájìæÿ ™÷Z¥ïË=4•*rzKÁ°1!“bè/*0(Œ+V¡Œ¥Í#‹u$-£Í ‰ àº×;€>-…Šøܱe„FŒCp ~†%¦ÿT-|܉¦Îß:1pÖßu§ù<>p\y Do:º³ÿpÅ8:ngY«>C#0 gò†A*È>gçŠYÉ•b%{ÒaÐ/ú#^7½M«áà2"VÌßN9·V •[½×2"Q¶,ƒÀØØ#OH]öÕþ4,N…Ôsk÷$MÓ6Óœ($5-Eüeí«žK Cú?.ä²<>CˆEs]}:34èeÀz`Ô 4ÖùEHä\0(/ìþÛL1!#£­¬Üyo§£1UF§})z²m—ä…;)Ù6à”õ ¥ž»¥Þ5örŠáÓf&Œ²o0Œ0 ¡,«“öÈ<>B¬FîÀ;%>íÿ“3#Ü,¤þÕ1)mÏÐJ:([$¤b-ý/63Ý.ýǶDù¹¤Ä— :1÷©¢¾1>-ï+°¯rÜ3#î¼onûãÒëW³ÒúL9*êBøƒ>¼ÁæqÚ–4&ßËȆsÞü]òŸ‹T=4Õ½ÍÅ똇3+ѽ`1© ÏÚn0¾vœ Ç©¸>²žÅ0廒ܢ2"ÄÙ°á­”->-¾")ÈŒ°ó; ²eúdâž ±Ò ‡_X0(±{sL:¯KÑAĀĪÉ/üË&ê>4©±Ÿÿ£6.¤â®OPC#žFgZLs~ “ÜáZ…u93Ž!‹Aü™ô¾ ˆT¯‹§nt0‘Á„3Ws|)÷0(‚L{øæÒýwò.¡)^9*pð Ñ>-7Öh«OyˆÆ$µÔx sß‘vr ¤å#oT»už>-k—Œ}‡évjÃ,í¾‡=6gèÕ¶Ü"âf»ëäBq:d$Äg#¤ `kËöyëZ2"`9ñOŒ×Ê9(\ç|Vj¨ÍXºî…e2û=6F‰ÄþLÏ6.F=¡èB<>E:mº]—Ë?˜z Müá >× #kg9×ôbÁ<>8:2™ÆÍV 7˜²n€ö5Œ%Á6$5`|–94,3éðâˆGý:3Ã9Ÿ¿;)3&Ñ»{#ª1^U T}#0kÁ]Ã7/,&–2²¬Ï>-+2jůeq2**1Hy Ï@F” ö´Æùc‡g6yŒ¸89N–½Nç°¡ƒkºý;  ÊmáªFÀ=p¶€D 4=Í`6=΃  ¦¶7̵$ÚHfؤÿé×WæCX ÿ û71—üÚî—Ÿñj쀰å 4,ñ ÍáÕùÅ ê\VþÑC–á^Ú­oxÞ`™ÒÓ$_#Ü÷Ìò ¢*"Û²éæLL0(ÙüÖ-P6>-ÙžÏV*ÿÙ‘[z/ûµ ØdÉMñ=<ÕNO”¨{ä Ò³u·õºÑuÃydÒ3%ÎßU—%ºA,#ÌávJée!(·2T° ¶k2CÌn >-´—¢Ð³ F-´ TÑ#ŽØ³éúXt0(²ÎD³è5×°q?ù°‰j5%®ö+”Éìû=4­"+ý樥ÉPE¢=>/¤äEùÀć¡p¡ò/‚dWjŒG¥V3"œp…â6›b4]O·9*z?@%è¬ ŠM[rgˆpÇÒÂ҆ʋàãK†M+¸‹gj"0…sÍ,{"Yƒø¨‹ïíË>/ƒà'˜ÉÝœQ`¼f4=$~ç‹0/"°§Q5‹|žÐÀä@´ {Õ…­Øï*bÇNm×0(`Òêû¡¨ _ÐFRùle^¦‘¶ä“w ]¹ÏÆGSŠ ZD[LÙJé&YÊÄõ8XX<>Xçhçð XàýNžÂˆ X“UYçiÎU&Xøltç<>Q‡Ü<8E@9*N#Ëô—¨¨="K'ŠqB­¸ C–ÿC£#,A‘w.LJ =éÀ˜Ð“=Ž“Æÿ!ë=<9.ïèž> 5ÛÔ„;ôX$5*¿D×v© 3ð—=S=60¤ëlɬp*/ù²PsÁ%‚mãD2="‰kÓOZmjñÁ‚®=6û1!âu7'óMU¹·‰ 5[7Óà3#-Ëò2w½  ezçFnˆ þ«-Ð9->tf†?ž¡[¶)ûõ½ -z¶:Kµ*;þg¥+iÓ\ûúŽ^¾-5-ù¡zØyÎ*4ózñ)£>=6ñuË„a Ñ ïÜOsô:1äý©!Ô¬2ß³ŒŠ‰6Ç3+Ü‚‡Õr”=6ׯ­ÐÂÉÐ:3Î÷ ßïˆÖÌõâ§ÀàùÊ$´™ì49*ÅÀ³ øš6.ÁäІÀ¨n6.ÀÞËŠ¹®Ì#¼c‚þä}ÿ=4¹¡H%Ò)´^ƒÀßb°½Ÿ©ÎŸ4=«=ÿÄw"¨1П¾è#,¤=z8…÷ò& }Î9)#žQÄÿC.œÁ¨-¢¡6.”‰ˆ7@ëû ’ϰ,”›#’Ž¡J©ž ‘×0õ‹ ‘úC±Žr™H0b*$ŽC´”(Êæ ‹ß*´†L"‰fÄÇ4S ‡Â¶‡–&‡3b5ù©<>…D"å^"89€[ó´‰%89y¶RM§sv•D¡þ!sÒBÉ 0o‹ v;WŸ3+nL†¬¤û"l•FQE)Skz³©:2*iU²íѰk=4f³I#Ô¥ƒ6.eñy‡â2*^7 ¾Û%—+$Uy°ôT¸:1N/Þbð>> J\Tô·HIw“å…5>-Hӵ Uj4$Cú êä‰0 B–0ÑÞÚ03#>V-÷ÏU¡ >5‹*q‹î3+=Ѫ•Ö×s<>-ÛâY…-::Ó;  5éW3+*ÕÄ:(EÅ ÈcÇðè¾øðªøf<>Ö2öüUWï¾’ú-¨”0 ö¼íE+$ð À§ví’Òü0óìÊËxü*1!è ¸-|ßš å‘:±û¨ùã#¡øÔ  á–š_d# ÜSàØi€ß-#Ùcbp?ˆÀ Öm˜;æ÷ÐΫRvüžqÇÈ]‹|L ĸ90<>ÂZ¤ÓÅÀÅ2"¼"Žw‘‰v>-·Èþ…k=6µZÙ15~Ç´«Î›6+þ0(³¢¬6…µ ²WhD ܧ*²¥ø!® Z]” ¬ˆo;3¨‰G‘,&¨ §¢hSªZ÷§* Æžêœ=+ Ò Â¼¢”,# ºŒ'(ÁR! Qõè•/ Õ?¬«â54$—Ê ì •˜’ŠsMº5%ŽÕ,¿è½Œ¾Áêr}ŠŒ\!Á=Š\F¸ŸGˆ®ÒÎDœ‡}z§ê=1!…±,Ÿ=6„;È^ª::(}ô^Ùôý}ÙŠ“]93}ˆ ¥ïÌ·|ìó;€óÕvxwæ¨>-pô Th 3#o r*ô]; nN•*ž)=<g‹»ON fÉ)âພ _1„[ÐúZ$2µc ÝRôŒ4JÈO½"¾{ó| Lúiž­¾Ú FAÛ !î•"E3F¨«®¤2*AãY½¹P¨6&Ašg&65¾O‡Y4=4>AŽ%`2*0<¢ue±Ñ/Ù--+ÜfPV6$(Uò§å±!*' ¢3e]ò#ʵëz12"#:À‘‘æ"Ý¢ ¼÷KJŽƒ_Ä‹‡×Ä=4ˆ—Kñ´L%.ý+Ì›p ™aË€-r>-Ýa‹Ð= …‹& ´À  r4_‡&ùHP€C-3„¯¤¦’9*-ÿu<:̺Â6.ùèdÕXÄnù†g£A‡™<>õûjûoõ\®‘ààïšÕãj#¾ïo­9æ j6,+5p"6&iûO¶úkhQC{§±gmô¥‹¯7bÂ>öÉ3=<_¼UÐØ•^”9ÅRÉ"^a{ȼÁ [Ÿá#ÆX]4Ñá@T4,Ußש@eÝQš‰™Â" Lâ›ñ0aN DÆ—¬c” AðYWã"ê0(@Eík ˜:3>Ÿ¥Œÿ´ ¥ã/{‡:1m 9Qf\,#&©öBa/èï=ó.2*L‡ÑN,#ÔØLW%ƒ$ ·6@ð¬  gŒK¹†  ¦ôÅ©‡ ãb\ê=  ÈæK98¤ƒy°ï ü¤»"Âͼ"û?¯•f²Ä û/”:­¡D÷e¼"ŽÝ4,öΦ—Ì¢S>-òÂî éŠwñ¿µ0þ‚$ì~q®_Ä?6-ëkCé%‘èýßz:N2"äÀ$¥>Å&Þ°Óê0q ÛQB¬/­Ù#KÊ[ßü ÓføuLZ_="ѽaoíÐéÅ}&!f;4Ïâeÿ^¤$Î <½JÓ5 ËÿY™ ïL$ËzÔ¶ce6.Ș½W° H0(ÈWõ„ŒRŽ9(¾•׳s´ ¸Ç^bŸ÷Å="¶Ÿþ&(Ó´Ü!‰õ °A·øoœ­ûLâïh ¬@‰d«†âL-!1! POõîD;;™"({Ò ˜GêSÍÀ:%‘!qÚ-<Ž Ìø´ÇM‰1µW;³š2*…LL¦µF"ƒI„]fVÖ0(£½xef ô}š‰C5%suñâóœ l9“½¼S>>4iôˆÓ2®Á4,i;Tñ|=<bæwþCŒÙ>-^ÿ@;ÖûX [nô ‡ÓXÑ™²¿Év93MÀr•6=4$J&=v)‰=6I=´g0°<>C¦\¹K¾5´Êbωg=<.^çEëÔô=4'DG8îï í;M;=6Ò´xJc%4Ñ3+Úaû%Yä4$ò¥rCÈ3:€K+3Î0(RIUr¿æ È)û”d! ãýâ¢=+³ÄHŠ6”&-êÆ_=J2"õUà€¼ôži¾ ìb93ñÍ…«ªþ íÅø3蘲3+æïÄ Þ¢¢ãÉ8~G];2á—©‰ô¿¶3-à/鑈á6àÆ“½e>-ßIÏ,»&ßçÒCà›<>Ù¼YÚ #m>-ØîÎüýç=4Ø8õõÖÜý#× ¯³0‘M1!×Wã‘xÂŒ Ô»S–hÔk§?  ѪÚÐi<>Ì%”³ê¯>4ÊÙGâø1:1ÊX2Å`¡Ó ÇÇÓ}ýw<=¿W5•ó{Ù$¿ícS¢ò¾ÝÚØ¢¹î=<¼&ðò¶ `XµV>-´ÎöFeF¤=4¯¤PlXý «c€ÝM ¦LÝ{ìÆÔ ¤ç¥!<*$£™I~7 *Ÿå9 é^á˜0AK•C–1ëžMˆ¦2"”8ÇH½ˆ^=6‘®CDÅap#ï_u§4ä2*ŒN‹œï&‰>2 Q<>‡4äH™ó†õ¾Zñƒ™“Ý'›¯-#€²2WÂd„2*~1rò/ {È ü‘ȶyI•Îè(6.xa·@*Ò:1x`rjÞB u ŸwÇ–pÙ]¦ûÞoè%?$¬Ž kW‚­& h74=J:p$e†2˜_s;<anϳgu<>`ý,:Dø\Ñ…›Þ4,Qéanv´ú_3+:¯-Ù“* 8uc-a 935o‹›ï€f#1l\ËÆ®Ú3+%L4òê"Ü3ÜYCJÖ1'u k¯•¬°«IR>-†~ø¹¨ö9*y‹î7eý9*þ9Ùøï0üÃöݧP´ ü³á ¹Õ:3üq*uŸ2ƒ1!üOË)‘gùËÒfô÷ ÷„žñ;Õ$-öç7­eì#öGàÄg!ïLå+¡<…<>îIxFUR ç‘Rl”w,#çp†™WÖ$*åî6àÑ_ã(–z£Z ß‹ÆÃÁ_&-ÙZ†ñ|2"Öžš”).2"Õ×òúÝ[Ñø‚zŠn>#Í¿0Vy÷õÊ´[¯  &2"Éö°¬³ÃÉÈðÕ”ÒŽ Çb•½R‘-<Æ G`õù²4$Å‘ô~‡*"ÂU³¦U"¾×X€³_I3#·ÿ‘`.'1)±µmÝøÈ™=4±E£i«z]!®µ´x]193¦ÆÓBÇá=<¤Æ±…—/ÔCòArT7/‘m]3!ø™€Ô,ò_1=~Z‡ÔŒ*|4ôE:qøÙÉõoiÎCÕÊ%oX¥º’Ô=4jœÖúF>-g¾à§ÆÃ¿>-c•ûÖùG1!^8ž03pg Zʧ"ƒ(W1!R+²šœëÒI©í³‘/ Hk oþE0(GÄGÈnÆT4$@SÛ>Jº5 ?zð'B"9‚‘qÉÆ$4þ¢B ? /vLŠbA‘-ØÑ4,+ã&Ñ[!¾úì}kÎ@”ÖdÂËÈ„$] t»Ì` „!£ÞÇÓ=4 Ò2å+!ziœU ‘³YW  )òñ{¤( ̸ÞUþ3#­sF•7H#êk²Åì¼ Œ÷¿;hQŠÁ¬XÀ=<úsJ†u,1)ùDRŒé11!ô‡!,WLdïŒ(Íù€ êÉ£9\0ø=6ââLÆã©9*á7O0 1Ã0 àpD§kUŠ;)ÞðhE⿎2*Ù±À8Qv˜5ÖîHéº#Ò¬²~2žø0(б<;<>Ð |jÑ ­3*Ïg‰Gw¶i>-Í-žEuL6.Ìõk?' ÌÒriðNR-Ê¥yi­èà Æû‚úW%¿?…lc©8:¹Ì† ÑF$+³ÊÁ’˜í9¬JŒ¿ä*¨:+ì õ1)§$3µ t[0(¥_Ö¹[Ö[˜¶˜eÛå‘—êH]õd— ¹"$‰W SŸŠ;)†'ûn" =6ƒehÕ4,qì6TWa!|—5¶Ì9&vnÕÓòSÔ3)o”ú ‡ª2"k¿ùêž4,fò’îf}Ýuo5-`äV òo>-_a˜/?$_VÈc_§#SŒÍsWwFRùWçýÒDGú„Wó|­0(CÔB%Ž>«–” µ-<þ—´Š#7QƒŠe«-#6é¥÷6Ge|³}d +xU’•ä=*ðg·†¬ *Þ«ô•ïÌ4$'IÅ5:]-&Ù ûW?"#RQÙÃ# ÞZð?Á*à’’ßØb º^´;2"­¹`Y1!IþR®v¯9ÞHÖ.ܤ. 13™#6wkóIl›!œ4$J²ü7£ÿŠBKW 2*þU:ô7£ý”Ôò.e6&ùw3Æ1$0(éÇÜúÊëá \Æà‰)àúý]d <>ÚÜôµ ú9*ØyÏê€ô ×Ù$Ì>•Õëãø 8N Ôr·~£40(Ôô£ö& 4-Ðüm?«š}-#ÊÅó}îŠÓ=6É|ÞvÈ[Nh»6"ÂÁ'¯®Áïµ¾;-<>ºi®ø³—‹#¹mÈ VŒ5-µ~ÀÆ ³à ­`¨³™$-¬`ñ>6Ÿ×=4«Âå\'¨ˆ«hŸ•0(¨&ˆ)!ƧR Ç1Ý5£Á^üM£º^¯²W0  ŸøTDö5%Ÿ¹žf÷F¼1)žÅû£ó¿2*œŒÔ³Ž»:1–œìa$c†•´Äæ”ÌŒ ’i0÷C½1Â@ÇÈWh"+ˆ\¹mI ‚4Œ:%²#|Öß–ßE; zœÃ\ˆœå9*l™þCH<>j¡a\a>-i)¬ 7 d€Ë,“vZ_Þ²c]Ÿ`#^ BJŠF#V¤¿iT’ß%Ÿ‘ O²zâ³6.M'ÜEQQ©I c0?×­:3Gb‡Š>ë#=G)€ ômG ?hÞy=;<ÈÆÀ.ðÓ>-7® ¨«b!6‰Ù5Ÿ-$2 ý4Ê #1Ô²à9¡­:,,Ã!íF¹="%6²Ô!F2" ²I–T i:,?eaÄß ûý/QZ½ aëô¢&8Û2ãH& 7Ê«Áœ—  +)š !Ëú´a Ü ·èÓªˆ qN¯@ª5þ›uȳ´Ò1!üíØÚÛ=<û ÍÕ¿:ö~¦Š­ªl,#öt§b$=<ó®²²dÙ ð·µGRNî4¸SžïK1)êH[êé3+å¿ü„·×0(ã›öp%ÿâc;ï¥é9*ÛÍô$½ç-Ù6ccª½#Õ50@%93Óo¦4þ|]!ЀpD‘fЈaWb<>ÌJ”(¹Ž2"ÇeìiŠÂë*$Æ “ühÐ>-Å1ñæ¶23+Âq \v§¬7/Án¤¨Á)ª’Ê–¦ ½«BÂÍ“<>¼| ½v¿=¼Y¡Ö†Áz7/º;kýS ·Ÿ©ÓLFú6&· ôH£ÿ#;µïsy üU3+®nõñ¶/; ©é ?ÝÆ[¦à)ô9#—:3¤ù”ªXè® Œ—dÞ9*šè©ƒâýÊšzôAš™…üj7Ï"˜qSJà3+—“ZRÙZÞ=4Ðä,k89…&}ó¬9×~…SQŒ´ }zU¡Æg |NÌQìWõ6.sH™úœkZi>Š8Ò k/òÌNûå<>ji²Aß8gïÜR²Å=3#g¿¤ÝŠÇ eêÜ›R5wdCL)X+ýapBgQˆ¿ `K—é1B >-]Á ¿ÊZ#%´@3#X\N§åwO WvSW#WR7MÔÂ2*Uœé*œÂ¥2"GoÓIy¼L$GElƒVTÙ4G.L÷T2 DŠƒEÒ:Bºˆ|øE$=¼UÒ0(:ZgàzÔÇ9‚¦[{ò5²Ô“:™3-3²yÐjZ-AïÀÉÕ±>4)P¤fJSý (Bp Ø»‘ &Ì6Žò¾<>!f*íüs0(ên~cÙ-' –ͪ‡ ˜ºíHŸQ ùÏîÝþ‚8:ëòÖ=6ªŒäò☠ x­ºÉ.  — °x–-&{~vY ²î'ø  /sÏØg|ø18<¬˜Ë©Ì}2*ÿè…  ý‰ãHµù¸øÚHm±e™ ÷x'JZµ9 õ-fõ©x=6ðßHTàeØ"ë-˺%³°-3èŒA¡`ÂÁ*"â 4C áL?Zåp àð?dÚÑ>-ß·~Ý:A# Þ=±¹+4,ÚŒØ9ÃÎ;2ÚŠ×k”f#ÙDbQk?n ÔvæúŒöÑãÝBÏåæ93ÍY‚ïˆ-<>ÉÚétÇ(=6ÈhX£èjò; Çf ÿŽ:1épz:X4´÷ý— n 9*­¥‹\u:%­‹ÆL8c©ª¢Ýêt2*¥Ûh/7¾Ý¥rè5O¼ 9*¢7qÚ² _™„M€ü¬”0(˜¹\¬Á3+“^æÕ–¨^0(’-‹?öOÚ* ÂçÐN ]#L÷±3º2ŒdÁvŽ…<(dˆ89‚ÂÓ±§÷ Í*U*[<>{ì†õ+»"{9èá¶H$,#wÁ£Í Ÿ w)ebJ¹p?]A€n©úMé6.g› áÁ‡YcvìV-îì>-b#çöM (0(_hiÉG™2*]ñ=ÛF™¶$\žŸ =q3#Yþøy¾ý=<WQõ}|­#VC¸´ðRϼ)¢šx QýtYÑÀP©Žûd¸ Lž§}d– K‰ƒ­~ã5%J±s/Ä Hþra® GDÂòñâ FU¢¨úâ¿!*EwQ5Ü8ê93EudU2*C#H’˜<­~ÖB¤{4,;â†Ð³ :‘´U49*:ëÚ‹GR4,5ÞÕVÖÞŒ5Òk–%¸9*/Ák¶$*«Á,O(FÄ‘ À;(:Ou^Ç$•3NJMZ4,Þ =bø   ÃLžÂ r& £Äö­»6Z¢nû&  Šûo˜>- õ´ åöpS ñ™FæØ ðž ´ê îQjqhË4$ Ú]]Ú­14 Ù÷‰H2|o; Öœê@²½  Ó ÇcØ£K ÑqéäØýR È3¶y\ Å\¿¢F=4 Ä% ó G"0 ÃÎX¥ ÃXÈB  ½ŸØ@ù82* ¼ÒT!/±* ¼3É<B‚  ¼.¯Ð£‚‹ º£¨¨{* ºKñÃ8² ²s¦w/ «qgï1%ä*; ªßЯYe]>/ §þ9Ç`,v §’ð³¹Õ¶ §2µ Æ÷<> £y’õZ¡R:1 ¢Îâ7ˆ* ¢Hh.¹ú* ¡àÿ_QÍm ž3LK µÀ §o`&p  ¥Õíê ˜YõßE —ºée—«{ —¬PÞcLè& Ž46OFë2 Q©Có;µ ‡,dî†l2* ö¿;ÈQ! 7yqëŸ_/& | Ó\h fjÒ] =  f=!CÁ* eÄšÍJy<> _h9ñM  ]8?r »>- Wמ$¸  U³# S;LŠ€<Î1) McÿäZ¹>- F­ùêdÇ*4 Aó†;bqc*$ @2&¼…p$ ?"Rû‘Ï-  í /ª6)2Îf3+ ')á˜2" &“|SO>- $ôQµ(=4$ #¥Kº§Ás9* !ÚóíÁà !¿`ªLçt4 ÁpÚÆ3# Ø’?æÙ¨  ¿á ÃA9* 1÷ ÕY=4 GoÍqh$3- Ü’!Çdm Î]^Aü<> «² „:Z ˜Ï§IV-" 4&/ üØîn¨\ õà„7íò[1! ò刓?Ó;) ðÙäÆ Ÿ_0( ï\6Sènm=4 ï+7Ø-3 îln¥Z íRÖ°c–=4 â|Ö½m}S  Ý Å¦*i<> ÜqŒØ£3" ܇•Ëà ÙêíÙ~– Ù§žÇ|î Ù–;$†Mú ÓHéD½_;2 Ò >hW:3 ËË@TêæT$ É/'â‚Ö3# ÀÃ6Ãícª: ¾÷ Rl¨{<; ¾vÁ›"4<> ½‘Á㜅 ¹¶HB)¬‡ ¹ŠµÇÅ€ ¸½%xÅ[=< ·OJ³Ž¼ ³–ªoo‚G4, ±©~ï¹2" °ÊaMÞÒ5 °n‘ Kœ ­”øy4-4, ©?à$™ž §òØ´è# žQ-iän ’èYªD¿=4 ’\Éð¥ 2" ’Zìœ@#-# ¢ƒ:“å9* æ…$&ÌÁ †ë}&¦Ny  †#ä;Ê9;) ƒÏ<"Ä ƒl8Ä£ä1) ƒ cÔ ´\3# ØÁ÷Žai:3 € ¶º¶U v»Ž0€ÛC9* vf®‘&ÖT<> së…4}P=4 p*.é­~ p#·§:ß4, kÏþçøÐ¶$ iÖS]xµ ev…õ ¶5% afôc) [»¯ê³}\ Y‰:ÞÑ'€=+ U]®Hú©1) Rrµ#Ñ·ß93 R&ÀPV¡à  RÓ“n: Nuvçüï L`ˆvîÊ3+ H®<1v¡Ý  AXɼ!v±>4 AQcÂüE& 7¨×õTx; 5xŠÐ°!# 4u[N ݘ= 15YàDuí: .­¥;ÑÜM=: ,‘qºå”Ï ,omÉ[K   (¥x2AmÊ:3 (î/ï’R& ›I¬^u>4 o˜5Æ ·_Ÿ©? Âø ‹³‚:, TáVêÜÙ<> Wͪß6(#) ³°KÛd93 fm×ÏÉ1) 13¯Hw‡ ë˜ I…^ H±8Ii3# ýòXú o ýåX Lr*2" úò>1ÈÝÐ  ÷À«IÍ"* òÏ–Có4œ 𠋬  1) éÍ pá3# é<&׊ßÃ4 äñl®`$+ ä`2Ø»U9* âUI>fº ÝÊ"P`2" ÝƒÚÆŽÿk=4 ÔðdÒµ[ó4 ÏÝy`ö-0( ʃG«RÞ¶>- ÈL"Ù%Îa2" ÆS²d&5$ Ä6šL™Œ” ß‹Oã Âvá{ÎlF<> ¼ÁÊEÑ¥h ¹K&ºÅ#0( ¸KЙÜÐ ¶\Çåç+-0( µij8t¹y  ´ë×ï–ø™!* ³-‡½‘ÛD °‰£áh §¿¶–J4$ ¡ç k¿ž+2* ¡3žÕl\ ʽÒ(0c>- ›j‡”g n=6 š.P€á/ —ú~ˆt%¾ —¼–ùØ3# ”2ÙEôŠ=+ ‹< N0)>- ‰[††‚zÒ  ˆ‡xgÀI«  ‚±êCÀ&  ~Ñl§=GÅ:% vž´²Ž7˜ uóq‚ÃÒ°" uºdPC`=6 t¡«È0¶;2" sS0ÛÛ!­=4 oi,ô„Ü kÎ%m® gûMTÝf~ e’¨ÓrÞ>=+ a,¢!=6. `@ðC»$ Tj!êÂ?P4, S4N]’R6. P2gV×:Þ M€Þe@º M:ÝH#ñÉ0( LôÄ0÷( I£Œå/$ EAslúÖS @Ÿ€Äps 4, @3Ñè‘à :3 >ÅÛf§` 8ž*‡ È*" 0ØëfAš -Ix¥¤Úå  $ÿ"ÓÞ-3 #Ýœ>`+2; "Ëml6« "£„í+>- Z6›à3>- ½¼aé  ÞÉeY¥9* òÇù¦ ¢=6 ³uòæX; þ‘ã ›") —tÇŸ G<> þq@&ú ý¾"F7 >- ø]J"ƒ] ö¢O^ú4$ ô´=•\ܸ* ó ëí è¢ ñ+M‹=: îtÜîî>- é/  èçlÚ——; àÝÞyDú  ÚÖyíB• × Š¯î>Á ÕžŸ†4 Ì"}œÜTð>- Äïm´b_( ±LhN×”  °Ù·sV‰  ® ’Á;H «&…У± ªH¶HD!¶1) ¦›_ᦜf;) £Œb¯Úê( ›dм›Œ ›°[ãÃJ-3 “må3 >4 ŽKJþ–µ  ‹–"uæ$ ‡Û*ön ­ ‡¿æíùç €ºuœ2‡4, yè ð|#R; xV|Ýš]Ü$5 nr-ì  mÀ£îFo;2 i…Úw¶ç5% f.è8Ô_ø3# eúwŒ@‘Z>4 dQDxB[Ü a˜Ä²/rx XˆÚ¼-.ª$ UÎqšÍp=6 T‰þX6úÿ3# QPH°Ï.3# PT:,FJ  I8F³XÓ GøjÜS-93 GÉFÇáå;# D€i/%^4$ 72>d½™:1 3!òËO42* 0Á¢Ü1¤J* .œaûp¯& .[f•0b* (úo±L64 ' &ø‚( "ƒÆ³û¿: é;Äê«2" =Ð_j3# 9r  =6 ¢Z£j²— KߟnÂ<> Kƒvý_  .]¦;À* MîZ·¢-3 $=y—:c4$ °OѺG¡  ùI>q?l‰  ù¿þ„(d$ ø`1MŒ\9* òDØ{!g * ð?À‰ZÅO<> ïÍcÎk í8‘¡‘k3+ ì€QdLº$ ìNZö„ˆ:, ëÀ^€@=+ ê¸ANDc&- æ8â-vÌ$ åšó|J¦D- äáèL›Aœ*4 âH^'’ø:1 Ú¥¼ èÚ  Ú{N·±fž  ÖΙ ¢åi% Ö‡mÎc Õ™ÐWé492* Òho²Ú±:, ΚU+^Tu<> ÎVIª‚\›# Ê8ïñ“\ Éâêýî=£: ÉÂ+ó¥X‚3+ Å$­™6¶:, Ä´y£qzµ2* ½häét$ ¼ÚPí¬õÒ:1 ¸ч©q ··Ûè+ñ ·8 Ú–ä0( ´ÁQ×Ê & ­0 t»¤6. ª•[Oj93 ¥Âéà]y;& £#͹ 3# ”Ø®qÀÎ-# ‘|=Þ)ù =< ™R1’H73+ „md“ ¼Î ‚‰0‹èÅ zP¡£Ðt  w’,"ÉΞ93 wTX¬Ue>- uÞµu7J! g±†×¶Ð  f’ ‰mÙÈ d‰1žô_ cÀ÷‘«®G awÒr…îy:3 ^ Èe½Së; ]ƒ˜—Ü„  [áý¯>¹ã5- Y·ö!-þÊ YQ3%£¾1! Y;K’ÿÁÀ VBÞ#±¸Ì Uæ8øf3+ OÉyAẠO?ÙŽžA N}-êæZ`# M"WïÊu M·-ÙiU Kì$mÙF$ KeLvÕ J•/Õ¨õ1) E,!å™§’ CØZXµ# BÅp gmÊ:1 BûœÈ6. ?6P±{R5;3 =™ê ö¬¦3- :ãŠæ”O= -Œ\M¤V +j£¢¸Ï (–‚ïá™# (D,S]å«3+ &£ÿÈ ø %*ù}Ÿ0( ¯ÞcÅ# 5ã>Â3& ÓQi´Ø ÐãCð·2* ¢æ­WX:, x¸Cp; Q„Å'&Ä- à\ÇÊÉf>-þcìJ×A ý‘u Þ¸2"ý;k{\­n üÓ²eÕ ù …×ÜØ<>õMÂÿŠR89ñ°¸*Îì93íÏŠÓi=ª:3êBûAü>-éŽ\«”Åõå±f°ˆ1!àäJ«Þr™!ß·[2ºäµßq‰Â.!*Þœ‘6GYÐ Ý5 ­”Ä Ú©(WàD"×3KPpÕQ:3ÒÞ =\Íï:%Ò©|XݾÍW¾ŽÉûž}yR Âfk¤:Ó¯ Á„ë*¯EX¿NVü¿7/½–(µuåß ¼Ž³¯ìÚÇ=ºþßÏ[±Î¸Á0’‘ÔÌ#´FuЏv—>-´3¿Ru611)±+É ‰éæ4$­_´ã|;+,$¨p,u{ §—ñÁSõ ¦•35ãÕ:,¢‹’‰»½®Ú4úfä!š“Iv — ˆw±öú “­vƒã³Í:1‘’hê`àŒ&¶-sà+èÍi•2"o–+§Ž83!jê(D{†;9gù))TÜ1)gªö´u%Æ"gšjƒ4´­ bÐÚsùo|1)a±ør™s]Ö8Å=]2*]ˆžÿžÑ ]…ŽJÔä3#[ƒ#ïJñÛ"Y(¨3 U6ÜóX÷±&-Tè%CÛ¼LÙÜîîß K$,ÿ³IBy^j3#I`P2Nâ1!A¶f®™`c2"6>sÇ N(3#4^“WJ->-)”™1·)–ê]Ì‚õ'ªV§1v&›NØ_A0 %Ø9>Ö“þ2*#¾#Ÿy !ÑPe|¿¨:3!:¶¶œ­ 9îŽ'í² ¡UC»Ê9(wucðˆ8: ‘‰é"›  G‰äÜØ‚  ½Hu* * v5`G!D1!°ìä6û:3Dð™›ÀÅ u‚ ’Ø'1Oâ´xBðõlO*#ûzJY%*ô)ä#è7/ò4Љ½PŠî Ñ£· â„>q÷à,%àýZ‡7/Þi@Î_©‹ÖSƒ°|ÒA&Ò„$¿ñÈ-Ï÷[ÿ1!ʃ.Óú!{ Æ.Sw‰Z93Åeй¢ìi6.IJ9_ñc; ÁÀŒo¼6.ÁÈÇ»CD »Ë]v£´º#¹QT/Ü!9*·w¹QmÕò#¶Ú¶ ¤˜#2©lTÔb ¨ÚüòòM¦•Ì )  ‘ñ=B{>-›òÜûÞ‰ ˜@¨$Oæ¦6.—Àuá?Y1:–R©:‹^0(•äÉ—NØ4,•§\‚ÝóÊ4, 7¯ev Ž÷¢·¾~ŽªÐDêbnŒ ´|eVƒLášø×c ~«·‹§p# ~–7ê˜ÜçÇB6r!ž óò9*4 ±œ›Ö,’Ó `Kp<>+‡Šsew*½Ò°LD¢*/?p y;-* g©ßÎ^ $Ùâ©Ö:-'sçPZi9(=k «†~øMQ»þ× 6Ñ|Wƒ&vÈg¥<;üAk²À“ñ!ù@ž(„eO ó2Y[©1!ò§G5.|˜ ï_ƒÝ¯…Iî'ïÚ“‘ë!ç¥õ<9$+ç 7¹¢3H-&æ°Î‹µ3+å.DýÈ4$äX5§ìBúã²ÍF•z-#ÜôF†;c<>Ø€Aè=:Ô¬Œ¥­ 9*Ò™pD?Í&Ï8Ã~Ú‰:ÎoÀr]ÿË<01y"Èyú}f<>¾Êq™)+G3+³·|NMJ~3+²Ñ²cÑxþ3#¯ˆ(;¨qòö3£ $UÇ, ¾/¦öÆ4,œÔ_$$=<—„c°vbK!–ËÕ/Õ’‰²¶ýÂ×1>-$/N_.>-€¤=—À<>~‰5"S.&}2Ú¹ªÉA {üò°Ê%[4${ÈÙ#tÁxÏV×1 qÌÿ¡7->-k®¹”<1)kd÷q˜ŽØ4,dZ‡àJA^cJXÆì­="ZqhË‘ˆ_4,Z@3ª #5%Z^²¦Àì:U&`- (K¦D™uv!IfßÐ#ý>-HÒ+VíU0(Gm"ÙüWU4,G2‹¬5¡#Ejé“8D B„_t<€õAC =—Ÿ A)´ cïv>-@Ä-q@Ë<>@µ¿ÈíŽÑ5,?1~Q@ÿ;2>´fIÒó† >’af6Ö=e•45\~#=Yĉ :1=TQãÜúF:êÔÖãwš6ƒ”b»**"5ÂìOA7="1¯|ã @+ 1z„4ö»0óB¿Æ6H$0=àë/0(-žô¬úö0 *Y†±÷T&(ß$sÁf=; &9YD~ $(‘g ®^¯>ùC Ã(á$&̯j¤>-X&4G-á Á¯•ŽÿO '\°¢áø=4 îõ’`ˆ:% Æ7.ÊÝþ1)ãï$¢…@!ÿ4§Y¤O4$ÿ~Vr&ûô<®þÅ6.úi­çâDòKrH¼°=6ðà x¡åéôCQMù-ç"‘ƒâ:%æ~ ¹ >-ä'Ü™e“6.â_„7¸Ü"gt7ô)*ÕòãsscýÑÖqºÚ¹õÄúßÄ•’=4Ã|ž¡Ñâ(;-º}Þqrìà=6ºr-‡©Që2c·>-‡¦/thÖf†¨: NT ‚ƒs”œkÜ &}XÍæ&&#{¨$k>:1{Jޫߓ 9*rô/J "q|DW¥é*o~“Cnõø+$m-qŽÇP1!j*5ÙÀÄT=4f‚•ÞÀ›÷bäa®¡÷&^E•j`‰áZ¯¼!ýi;OÕ°¼${"N¥7-8P5%Io-³Nîr-#H‰BÔ;4,Dòo†.<Š3+@§³¹]at>âv  m; ;Ô„õ;øâ--‚ý;`- &xёݕ&MÿÅÓ 9*% Àä$4,$Àòl;›#â8Á¼ôx¬ Y0(ÊêǼP0(´ø ›îÏ7'tYºYÖ#8§þøuì$ —m'c"9þ¿•N‡_ û Ýûh û¥ ‰¥Ïöò«<¶³b1!î<[èbR:èÇnÓ9± èoW57ñ™; âÌÿ"&õ93á€×ùN2=6àjÈDø Ý,ò"¿Ó×y-i†C#Ôã"£8#&ÏûÔ¾Ô'b6.Ïûpoã¦TÏÑ¿)–>4Ìž—3LY Ë·"9«Q#) öª»*ÁËíjͼìœc¥—ºT40´¥Å ±|B'ÅÑ¥1®Ò¦5#¬~£YdA3"§BÇ$¸ šÈtPèbð=6š£ z0Uœ–ZI™Ò”“­oÑËm=“t2FXã> ’8þ ؊—óý!…T åöƒƒ9‘®7Š%€±­ˆ íê4,€ÚM™)Ô<>€€”yŸK#~»z/d' zLOàóÐ t—”+þ=6tö!p³w rÇ)´‡êm—‚Hªk0 m5÷=ör&3"i™1Üê>-fÄ-£ ·0(e­ˆhÅ`l"`ÏfJ@À&_Ò3ã[ [â3 [ñ[>K©½ª0(Xÿê©Dàõ3+U—È—êZ½ Q¢h/ -5-M¦³yÛ[­93Lá±ÖY¸* Jœ6î9Ûn HGù•+Ù2*>Ù\<™>Ä <ÍõÆ;‚ú9©øîV &-6õA‚,>n;26½¯.•<|#1Šö*ÒÌÙ#"è¿fëdu:µ³;Ï¿1)zŠX©áD µL7a3#62Vé> ±ëö^À ¢ò’íK CZBQ­º XAô牖‰‚Å 1!ÜÛÒtè* ýÄóê0˜ úÞ`V«[")ô´ùHó²Z'$ñõ__ø="ì3“¿Ð2>éÖÐ3±ëM:(ãt» ¯¯59*á‡å=së:Ý@±—Īg Ü ã*0s‹5%×¼æÈYþ¼"×ãØ ¯ß Ížêy%ÍʺevN©ïÊŠ½Äþ~W=<Å_ðÖ5T À2¶h”å5%¾Tñ%yb ª³LÛ¯)4,¤)[ͺ 9*¢¯ÞèDîf=4¡"s:a  •‚»«°0(š¥°âŒòb="šˆ7½õ”2"˜\›ûì”âY‹È(k:’8ųck+’Äbó4:+ËL*™³‰ˆ›ó60ˆ_ôV(²z2*ˆ-_ã4…·Ýžš”W €xÝ×ÇLÓ€(Ñ—üç1)áð²¹1 &~÷ çݾ-}šIª¬¬/6.z’O§¡Á‡ zse E¼r!xŸ×&ßK*4&t• „Å¡v3+rõP½<¯=4qq©ÓZî"n—/¹vÎ9nb4óåA#lÄM‹Ilæk.¡¹i¤ý°”7ºi‹Î{‚ª;4b#ðø$¶ "SÕx2*>û¥`½ni<>7¡’kAâ#6ì27¥Ã>-0õ¸º ç-#.Þ§F¼/-¿š %¡4'íE6Yå3+%Ÿ‹ùé­Ã4,%m»hÖS*#$ÿ•¶Ö‚<:Š ãn‹ç­,û w ${X€‰pÿ9*€æµí;$|¬üg¸“Ð †¨O!Ñõú#­øáO½M0(fSU±ê7/ ».ˆß1ú ¹¦À¢'â­‰÷¼á$ ^xXÒu4$Á†â& x4,þ™}è• ýEf ¿2"ü×ßu”îyÇšEê^ î ob}¡Üè¦ÇuȨ èƒÌÈÖæÍŠ)j#ãõv®H¸Y*Ý\‚9Ë9*ÙÖ9æe××j2=ÎØ=6Õc„QBf=6ÍÕ£C{2"Åჵ¨4$ÄBj+3"o=4ç>*?øØ ¿)ƒó¸ò;)¸Bžž^©û ³¡Jó¤w;4°žR_Á «pC†Šù-#¦…ã“Øåé$¥.nWKÚ“9*¤^~µé¢&›M}ä”1)šØ<‘–S€?ÄZ´4$„ &|6$‚ÎÝ ÿÙ:3¸TÉ*Ÿ¾,$}…uµAñäz!¯óšV6&qƒdsúúùp¾ë.E¤Øp"¶¡×þÙ5-oêáóQœÎ mŠgrS_#)k5Ù’á@ ftg€w#bï¬3:™¼^ 8¥VµÌ5%Zû9¯-­8=4XõÙL¦UR=4X6ü³;Æ3+W0^ú7® QÖX `X®7'N«UÀ(é™*MÑCUÓKÒÆ¹¶r2"CáÇŸWÍ^9*@ëÀn÷`;4<»xä¾g4$;4åŸM 5Ó¤O&ST2*4ÝUh7½-0jãN1[^/»ÝÊ·6U/§ ,¦ø:%-«B –‹ *­óu±´4%È‚€êÛz3+%A¶µ ¶€=4$W,ÊÑx2"#–>+25Ñ5,¯˜ƒ½§?#ÿT>ÙX &¾«ã(‡»:Êg‹Dd;4ËVÝ}«K SŸ¾K_:%ivH¾r! R'j2"ÿ£¦í1{ÒùrÅÄ"{93øx2Ö ß»øw¯‘¿y9*ò ¦Ð7ñ7/ïÀ<;Jj|:,ëR+a6zèüÓñÈå¨vQL,1)àE/¼‚þÞ8šp8‡="ÜU“$ð :,Õ¶|øºí< Ñw:"lU&$ Êã!È_â=4,ÊX"r4hÌ5%ɬž%'1K6.µ™<>¢zp Ù+ø* ¯ÇB"¿>-œúR¦£œƒu’yr ›—ÌWuÕè˜[E a¾\7/•¼vdúÙ-3lccÿb ‹èÔµ!òî2"‹¿ Up;|ˆGKAX;= ‚BÇY¿ô° ָ߱çS4,€«7úào¹9*~Œ¯[„ }7z±pñ9*{¶zG_¼å(2z_¹îIÇù:1r §åÑÖnw–GÂO=+mÅ¡Ùrr„2*h!ƒ¢ŒãÀ\¯ÁIfv( [õïÙ|.)Xr¶jÿi†3+WêP0Ãó:Qr‰Ý£²c LS6îè“3+Gî¼´©5)!G ~Ь,) E×-ÂÓ§E¶ˆ‚DÜ7 A¯a+ŠÑ>-Asà-Øú !@;8?öò¤7/<7GUTˆ;<;ÈÉçˆÙ„38r4@îÁ0(6„µ˜‘´¡0(58*—d;,3+4NN¯e37­½+Q/'2TƒFé0k>-,ÍUÝÀ²<4,,]íûY@9*(ñ‹°øïó"&¨ùœæ¸=6%…ÔÄ ¥Ò"éŠf†ÂÊ :µM—aá=4¡ðx _võéˆè=6 f¡\Í0ã9* ¾õ˜Û…Ç>- ‚äþë–; þýöKŸ,#íQÂJWõ žs3Qz:Ö0P´Õ"óh¾Xà þë r*¢L3+÷cÓF=6÷/f*U õ* Låt3+ôÂûª©cñeȆD%,84,ÇzE‚ÏU4,Ád] "^²Àë)¨ãÚ¾v ßz¶³Ç·Læ ¶XfRPm2"¶Qz̭ݵ}À˜4дN[Ѹ±V<#Ä7&°•J/ù—9*¬ûWþÙ€"«'PàMˆ ¨¦^6Óž ¢Ë¶½ 2ô5%¡Åö4­3# ÿûd)Á Û£K 2*˜\–¿ÅŽ ˜@ƒWKãV “]¹•\Š#S¶ˆÓ/¼0 Ž«ÊØ®ú&&-€¿‹û_—>-ŒŸ<æò:1‹Ê’oãæ!‰³)9tTüˆ7ÓnQ“ܹ:yš»Ï;2€-ÜcÞ#¨|NK3¥¶Ò$zhÃÈ­g#sì Ì=0¨oÑà ŽójßÃAUS<>ióx$D•*i+ê˜1í2gŽÿtT]J$-]’&PzÀ˜\$ðE`ü:3W¢£ðdqW{§€?¼ Oyez¼D N'iOýì2"K޲.¦´6.J'–ÒeH~•'ÀŸ3#E˜ë§ng <îJ(!À#:EÝHs)9*8Ý<žQ} 7¤•ÕŸÕ4ÜŸ‘k,$4„©ýTd>41‰Å'ÌÞ>/*pãH< &c4¥ë9²ä{8ˇÉ:œïó2‚aË:3˜b¥ú udî¥êð OuY¢®«1!ñ/­§Q¤,3c3ˆ3›Í-3Î"7Yï :Ž´²p•¸:Y-¾—A$ v©âõÊR zÝÅ¥  ¤±U,$TœúD»‘S/Öµ†$,Œ¨tˆÜo./chessx-1.3.2/data/help/000755 000765 000024 00000000000 12522204501 014552 5ustar00nistaff000000 000000 ./chessx-1.3.2/data/images/000755 000765 000024 00000000000 12522204347 015077 5ustar00nistaff000000 000000 ./chessx-1.3.2/data/lang/000755 000765 000024 00000000000 12522204336 014551 5ustar00nistaff000000 000000 ./chessx-1.3.2/data/players.cpd000644 000765 000024 00000205265 10622423665 016020 0ustar00nistaff000000 000000 °Ð Ðd1972.01.17????.??.??SWE-ÿÿØñ(»ÿÿØñãã   üüüüüüüü + E T T h h d d d d O O)I hÿÿÿÿ1971.11.17????.??.??ENGgm4ÿÿØñ÷ÿÿØñ 8ÿÿØñ œ Î É û  ( 7  2 F F d P _ d d } i x n › œ ” › à º ¾ ¸ « ¶ ¸ À ¹ ® £ Ÿ ¥   « ² ´ µ ± ŸO ÉPNG  IHDRMdLÈ* IDATxœt»y$Ùyö{GÞUyTU×ÑÝÓÓsîÌÎÎÌ.ö^Ë]‹%`@4HA&MÉ “²%;¦éÓÒ…d-[’MÉEÛŒÍ$AR$‚Ä.° âÞköœ™žé«î̬ª¼3ßóÙ3»¦¨Ù¯2²³ò÷~ß÷{ß÷¾—äçæ±rU. ±=ð¨Æˆ¬ ÀèÆëæÌhU‰0°·:ULC•A–Óe!¤q @7õ»ý6ˆ–ˆÊ õ™ºÿÁ34 š3V¶+^Tó\‡Ú¡XTùS'uß¡v}q(-Ã8º&ŠcG÷Ñ8I{DŒŽ~ëŸÊòBc¤ ËQe%唋¼@tìÄV«Ýj6]µcIQ¦Á4Y­‚´+ÉD%‰L‰1á•$#–®ÆÐ8-î`S¨’+ºp…€nêªèr¶RØzÎV&[·‘¬°A”ÌPcL*€B‘•©Ê<×}pžÉ,“™V--‹:T窮ªqÂ)áG£FdÀb¬’=ûáÓ*ã•*-¢ˆd¦sUTB%¼Æ¬sµá5Cë´šŽã2sƒ$»Ñ²“T~”ûqVÈÜÊH¬1BxGkÞT«¦ª+–®T,hšnʂͦM-»K+aEVØ„WEžÅ!WH“4ÒxÁÙJ!Ô"+a9¦‘ˆ£¹\¹XÌ&¹HIO¹Ušr:#•š)ZR¤Ì 5qtë.‡G4ʨ>ÚŠ½*S‹1öìž­²R%Üó,ÃP‰¤MS*³M­”@™•UVŠJˆJ°p7Îm{©e©\ dîÇr)³dµZY´Ô⬨X 1Kc–Xä}®†T‹|^TEV¤I˜ eÒ+¢Iêûyšæ2M‹„@Š•óªcwæI&J)J™FN^,=€O2FÙÈÖ]x„8“QE8€2+ë‡6 YqVH’¯P¨DÔ4µeü¾Å/ã¬Æ¼Œ³Ù4œW\SÍ¡4KDåû«¤`¤þÐ÷$Ia{ÚQ‡RF×6ôh.Ät1lKµ)]Ä€ÃPz–KP¤b6<œíþ`QLle­~Œ…¼a“SÓðÍŽsÁÈ5z—RÇQƒ`ò>Ÿl¡ ›D[é‰IHMc ,NyCò)›æÑ•¥ïχq+æªÄy™ y&I±ˆò^Ǫ/Su‡Q¤ËZQc¤W+¿jÄå°2¤°ï0<šF¶¥¦¦èjFvQL¯²‰É ج°Ç5ÞÑ.ˆ¬L4.âŒj¼†]ÿ®Ý@€ë®qf¨ð£⬹ª’¦Kirä´Z±BaBY'\N÷æó²¢­~ƒ.74qeš2U5ÛRï*ÊL¹@Ð4 ±@z{˜ë¼HJŸÀlKµ-¨AÖnÌb̰hSÃPšž—ÎÂzR‰HcȰɰ¦‘•iµ‹RÛ Ãn<äºkÌ®óAPÜ$ñžE]é]jÞ±ä¿d«±”(¾…û‹ÚP ’GAÅóE”c µœ$I‘$Xᮢ€ ÛR€M)€…ÎmK…ÁÝ• ¤¦ð¤àÆ^l¢ :wÛæBˆ…H U$f¼1𜠶bÝtœ#Õ›­t9‚Éb•¼ríMdûYl½5#4ÈÒZÌ&aüåÈ»n¤´F»Œ³pXfI3C.ä²Eä¢Ö÷,MÑéÂÏQƒý.I™ GQ¾JIC—ê·¡:^ÇÆ²°„‹(·¡Ž¢@‘”!à „¥Ú”Ö çiÈ<@?Ü_ÌýÃ,¶hŽs-O}¿\àÈ9w¦ù¾hÓN ë¥ô–!¼#_ªYýà¥w)à4;¢ZŠXˆE¾ôýnk-‘e”ªîdD`5P[ìÞ,©Õ²giû»{Tç`°ÞVBä“2€é]Q]¥D¤1­IDZ~Ðþ}jèÑ"%Ãnb¬õ³aø­×o’ÃÀ¡Øî¨|??yÞ®ýE¼ã×m*¸IÈA§íê_ òn£¬)ª¥¨–È\ñã,Ȳô)i–™HS¶JIC?6›Ò -c(˜FÇ6¤)Sµ@Õ# JQ^;ªm© !Ö-ºˆdʶԅÁÔC è´qa( ×@ÆÂpŽ{Kßuõ×<ô—ªah"_B¥’Hå͵“Í+µêü»@ªN§\ewmX¶ @À3Z5Dñ<˜Å ‹´yþ ;·UE·° ÏV!©Ä$µìM5{çú ]X¥Š‰¢6Ú"I2 ƒ&(€peHJkv;ÓŽôÆ4èfÛXˆ, áõu@6(k Q˜.hM5jy¯Ð¦©…YrÓ%ú!¹‹£›ÖžÉZW·Ãåôµk ?£Áx)ó4€y©Šc-î¶Í‘nEošO>zúä¥ó¶s²6.Ç¡?­Ädåù2XøGVÍg=LT?šŽ¦À2[>5lJk×-3QfÂ-5Ë1…áè:J–jV~UßÐÎò,ÕÊxÎ5ÀBP|gŽfÔ ʰ‰;€ʸ¿O骀ƒqºðýˆÆ@CAÔDPÒ¢•©4âB˜8¶¹ÞʃWn/¨ÎŸ¼ï²ç¬ùáäæþ~èOfE=+@R.€†Çk¥µb"-·)=šc…0ä²§9P;e&¸F´ò`X.›¡Wù¾åÙ,³Ü  PÈWX¥”Yž'‰åèeõ‘3«"ïªm©ÔÙ¤RÆ)ç,¥¬I¨¶ðWšf©ª’Ù2/÷å`»­®Þ` ¡ºÂÂå’†…f"—R(\7¼[×o§Ÿ‡é|‘Ϭâlž@å0R)ÔÔ0$ÒÌ<Â%åÄbFS5;U" 5—Ò#œdBÕ™¦2«±®"13Oêè:›ËdR•Ù4 …¹fSzñ|´S!ÜRÊIlTL"Õ¸M…æ¶â”B%´í®EµÊ¬\‘òƒžiêe=aÖ}XÁ(˜ìï³8LúÓ >’F×Ðâ-Ei¹ˆòݽÃñ:Ç6×ݶyjÓŒ¡Ia[jçÜ:€l”´ˆtí^èOkkr9—„.JÛR…͜ڼìxJL,³¥ h™‰W®~çÚž¦èÔgû7ß9ôÙ€­ŒlµÔ €Ú@–jµOÖv{Diý§p¾Ö9'´E#5Ð@œò†…)+!ænÛ¤Q¾ˆrËÜZ+夑–7x¯ã>×Q,o ƒ"GÛ¼¯ÃçRiiaÖ"2éŽz–6ùñÆúѸ–ÝÉ|{Z ÷h)'®©–Y‹kô n9›—ypË÷¨8Pð¤QH¸ÖÐp¤jù l*Êxž'yÛ` ä9ûô“LÓ²¡š”¹B€‚U&!/¸Ì‹’ª9 C'1ÃnYy„Å<ˆXÞœb¥îí'¢Òx„'¢rÝÓI$Û-ÕThº›ê„ÜÛud«BHô½°þ°kkŽ®p¡šÌŠ«˜ëk†mÛ’ÃÒZ¶fò©Ÿ¨iQQNBªäDé°T†ÃØáùm÷ E)M­CV¥N•RÎ+²Êš&QXFJÅ„©ÉU¬ ÍÐô¬ÑÐYO 5iÉ*Íeâ§¹¬„¦p…ÊšjL‰näE©64•‚³´(©"ÄÁ¡å±g Ž;áÞb/•rÝâž©¬2ãܺ‘"[T'¼æ÷_8Ḵ ýã§=ßèž½Ð÷Â<:Nè" 5©¦”XM†kz¶]°5äûšêè K‹ŠS]·Èþhô½ïNòá(˜æz»`š¾iicIãyÕг¸PZjJ«b"ÎHUò–ZhnËŸe”3UPËQÙÏüØúC0’Îçó0 «é¨ÜM®%C•4˲$8Kk¶µBÍ•ôàGîíý÷^}+æZ^6íåJʬ:Šç•¼a®z^)Šd«¬*i:쓟œe&Á@½¨©)ÜÐ=]3{î Û3t®–\•¨8JaºÈÈÈ3¯‚¼<®•k^;ìÚÞ:‘LoØ ·ßÛïh­î=gζ6ÉP1Í–í6öF¡Û0Øöf±ÃÜ‹&;œÂ¾ñÖ·¯¼4Ïý"lÓœ6®wz¾×pÏ·uåÆkáÎÍ·?ùñG>ùw~Rîí¾õRïáîm>ôw¾…vˆµH2”G89¯LMú)Ue¢bš¥U•ƒµ::ûÁ·¬2Ô(J*e¡)<–R©`±”9eM]3í†í:nà Še9¶Ê¼þÊR"p’$§N?¥9aé@Üdôôúæ9¯²i²ÕéœdíŽrv»y¡Ë{}ÖixÛ}êvÁíŸ$ÊWo;FUt>šævvÓXħ+´56=ŒãøÝ×ßxüÙÓ?õ£?\Üxƒ6-Ëdå(°/®©ÔüóײÖF0ž´=,óʦ‚©à…L©l6%7Íhg—•«H«c±g;Y@èMŽŠIYT•.òŠ%-JªªÊ*JTU%%j³:.謔R.£žbiZ\• eQÞp0¸zKwT6š¤Á‰¥£ ·† ]A)Àdueá¹^Ïn©f{ý”æu65•û ÿp´§57N°* n>ú£ù›½¬¦Ó w/ÒÆfµ3¤œ÷’×w^#™š‰BVŒi9€L’šOš+†Yu(n/YU–¦ÝДG½”)Ð –Y½¿˜½Š’»G¢›2‰n.Ó[\_si\©3dÛ*ÛÖZ¤…c­¶Ôh’’$õÝzÀQ)é>Bè‡ÌÕìwÄïܾúo¿}å­oÎçW¦ß¾÷øßþñOPï”xá×¥sIÈC’9Tg2”ƒ&ßfäé.´’ªbS±´ÎTz`Î =ñóz=…¸´vËJD&!•ˆ Õ‚ÂÊÀÿ¿É4¾{ " ­>ƒ×ûU¤€ž0Í‘coÖ ™ëÑÌ@Ò:¤Î¡s©+ÐB™Æ"Î}ïÜÙóOÜ»uÿÖtQÃô“ÎQï”ðoT⸅$sªá¡Ð3áŽì0²U*ÔPǸ“ ”ñ\1Õ0„Z@¼®1jÅ)€¬‘u Ø SÀº-1ú~ d6ÈÍ€j¹·Ý\gV"[„Ácn¯âÝLk>Ç‚vó¼_22T'݈î 9víÆÉ©4Ñ´ ÊWŸ›¨ÝVZí_žèŸaý ¨ H¶B@„©¨1žÄõËQ%ÛkSa]9(÷™Vçbܾ¸ÞÌ,GÖ¦{—Ϻ--ã9¥|@Mz×-kTËÊeÔªkJ dTUáR2j¹a U‘²™ =+ÔþÛ®Gt @È1ô-’uHVax Ã[$H0ôËÅ;¯TAXÝ©ÚPÒ=úMVA87Bb‘V¿ š½!«2O&j–w}øFX¡g[aV–ñ¼×.À7„Õ0]кâˆp”Tñ& –qaÅ¢®ÃˆXpš À±¨kõòtTUc¶bY°\žnÊdÿko¾vk‡ÿÂOþfÞªÄñ*ð]gÕ»ßÚÛÝœO攢z¯ã^ꯗT„U]Ú×ÙK”’A•½GeA–§7Zpà€ÂW#¤Œœº¯|ü~¬?tþà_|î·þìÒÖY@Fqrj4SšTÿÐ1íÕw€F#Ø€ TÃP,Ua'ìß{ì´ –h’§¨‹¹5à*ʨI뚯¦ð•ì˜i¼*òÕrÙt[iž¦m˜ö{ï\»òj·û»'N=TLn1¬ÓA¸|ãêK_ýæ÷¾òü7æ“Ûm“=pî™ËOži;›&Ói©³ˆuŠK\…’‡tÕ«±DŠ2 ÃT “iªt¬?`KlI*Ú_þçÚ¾¼ÿáóq0¾u«¿F)[i¬UVש —qFLM4Bî4¤©I^3f0€št%; 2­MÔb,\ÚM4Ì)LÚ„&ÌFÙɳÍ=ñ±ëÏ?pñܹ¦óÆÎmgÅ·šËq‚K—\¼w˱7]jÛÇ J™†£YÒãÀ”½õ‡¨Ûƒá¹‹Ð)RP¸RUH&eB Êl§ÛKé`S¦‚F«7ÿðK¯½¾si#Ùê®ÙjÌ?Ò#ÆÆ—_x»ÙÂV·s¾ÜÚtlÈ“Ä2 šs cO?°¥ISÁS¬Š\)¨RF«"×E»PÒ,-´ˆP(]¤Ž®eD!RyQWYl|«wJ'ÝÉôàKÏ_km¶]]ÇAçâcNƒ3—×ï<¾ù寿ðÕo~åê÷¿s{wÄC;ypù Òé’¾]ÑZ“ñ¤&á–(ç¨<*sƒf)oµÔñTêÍÊ’r¯¸ºóï^üžÍvgãpþF÷ž¾Cœ+7Þ.s#/ °Ô êÖ“H:ª†‡u0D2‡¤ÍúR ïÌæ.Ñ‚*Êtm>.%²–Ñ_sÎÄÐ(óªà@c#w›áaþÖ:³LW²Á2¿q™W zÿpM­—Ÿ· #»çÀ ÓÈsœÞÚCš6e§X±»Š¬æa–à¯áÕRTo6ñ‹CÊÀÄ÷£®Íݳ'èÛß­–{ˆð$éŠtBá2ý¨‚>¥´\™¦©Íî@§¿…_ùî(¥fé\e,MV¢Ô­Xø4 I™åêp£Ê²TãsÂD[N^’tÓsó3þûüEîÏz&èúæºlØ®ÓD¸Œ/a@$3‹h‘0šªKÙ$L#Ëâ³hdËT@ú$+d"K"™6…^½O¦«ÕòC2G!5úH4‰ H; DtÄüº2EN&;ÂEo\¥èÝw™Øæï~÷¥ƒùØY?; Ý@¼L#wÊ*–£Ó¤Ôõ²° jQVÌäU:½¹|ñù¯Ö¥‡!¬Þu^‡ç©?²uzs ÀÂËU?jd.׋fåR6àèVIÊPÆ(hUÁëb$È£ú±?¡0ÅZ͹‡D7‰4êü‘’îûæ L)•‘2m€é„ôÍw^‰ŸÿêwëbB˜Œ’Ù¬ØÙÊ/³¼0˜£5ꌴ. s”Y¹­•b±ü£çžß™æÃvGÝ8±¶ÝQ©{TdÆ\®ú¨7Ÿ‘ L”`ìú7çÉIDATó믿»»j¬ŸPæK® ʳx  0Ø]5™uµ—†u¼.â¥Lãö ûØÅKuõ펺Ú?¼»wåÊ~ùÞ»;‘Ìäª? cÑÊÍgË[>§â -9€™ì„Ù* û¬‚}¡gÄ ªLPg öO1·‡´€N‰n·A2§–e) мWb=WYý/$n•É+ƒ™ Ìc®×9œ'Ï}ù·Ã4ëXU8߀¨,Se¶òDÈ-¨êúg˜­j25³ÉÛ'BéÝÅÞrø®9ä±Í¶äÄåAžoG“›³}âPø„ïí; »Ó0ÕÞ­w X€ÞÂAºÖÑ'·Y˜_»î¼þÍ·»[›îŽ(ÙXÅEvOÿÆ©Õë†GnCRWL™JüÈžƒ9'oùï½råæöÉÍóÇK8¹ôþùÿøsצËîéû¦“1€4^†çn±<CI^Si»4©²øÈ\kÌ ê±Óga°º~sÿêÕ×níÎ 3[®dº\¬ÕîYoNµ,/$MÂbû·nÍæ³h¼(w3jð$,n­ª ®VÓå©¶z¸(_ÚÝýó^¼yewZ,;Þ §!¨Þ"Ê:°B*Äj,¦s9MdQp¬R¢«Ò5d1$3"ÒáÖáÁ~(“þâ%õO^Øl;38u‚èôÿúå/“}Íífùâ ñ«$U ÕE¹,–1)…8 )ÕÉ'UÉ—Uâh ÊYUrAC~ó»o¬RR$Å v­ Ìü\„¹ë¤ú¦™Z¶m©m¢\÷gáA€ºúyðý<¬°¥àÂ<ò‰§O9öÄîäöîíâêÍ×ÚQÚXë»(EæäWÇ“òб*'¡ÎzÅôÖÁøfÏvÈ0;s›kU0b¶óÍß{îöá+Ÿùø#÷Ü÷ÐúædøÂ¯ü«¾ò]åì†Ñi¼sõáSªW+Q6,ÎVTËk IU»¥UÓ³,Õ4=ípß/CQZN;‰k´b˜¸WúF‘·öb öÖõV'ë%Nž$¾Ÿ‘wàôºñ‘Ë]¼¯û?ø©õ‹Û ~ùѼwƒŽo%û£†œïïýEȃ¸åÚ]¯/Ÿ»g Ó¾æ"#˜Þª`„”Mu|ýÅ·^yãû}æá~ò§Ð?NFò ô»ÏýÙ•U·éã©>¥ž`§a*•¤²ÖÛÊT©Ä¼Ìòˆ˜Ž†¬žŸhbʽu}•jHb¦‚ØNŠ…£*kx º¬=I©SõÁ‹k{ׄï¿× ÄéuãÇÿú'ž¸ïò=ƒúM£ÛïÞZÓéX€þúÙ¾1)0!œ”Ë=§ÙÚj¶+/Gò.3·ªa’§ïÜ].“©(Ó‘9T[\YßxéKŸý»ÿÁ“Ï|zÃ[¿ñõן{á¥3û(_Þ8¸~‰ù„-‰n˜Í[éX‰g¦ë|$×Ôµ+1?RÝx©™¾Jµb*†‚$nxle˜íäH$êm=Š¡ò VÌk‚âà¸Çÿþ¿ÿ#ëÏ9ùÞ‹_øõ?ꙿõÔgÿ¶®¿öòõ·¯½óçßþZªkë;ãr8]Ub>0›eªñÀM×ÑÌ&MÃJÐ2Ë#äTÓœv*1g´U‰y/ɳWÄB/¡6ñþȆ.W·` Õ†>àyìü?üÿÍÁlÑ+fcâ­ÑÞ G‚énS·)‚ëΪá!ÓB¼*#e"<”Êè ª³:F§:çÀúÙsD7¿öµ7~å‹ÿâµ7¿ð Ÿë¨Ç^Þ¹,ƒyªM#Ö˜ãÃø`vµå ¦Qx`4 .t§L•, ¬ÑW1­Ã=MÏÊ|%CòhÏô<¾"VCF‡©¦'ÑT„9uÔ:€ŠƒÐ÷ómŠ{jw[kÏ<úøS>†TcL{Hý&™qLj vf‹îdÃaàjHEŒÊTT˜ÐT@tß>…¾uðæá?ÿÂÿùk¿}Å¡øÌgž}þ¹¯a©÷^»×X?Ûí?ýÞKl%¬^—'·n/ó$Q £i¼Ÿ<i[Ñgw¿á4›4 AÉù^C5Œ:hG©½ïç=ïTÞž¼hÿì'>¾Ö\<Ô§²/µd‚¬ BU:ez‡¹N„U: :÷ô6›Ù’òöu¢ž)B½[,;ʧ)Ý[9½ô×þåÿðÿ·_ù_T»ÿ‘­A›|ék/õÚ½=ñüs_½å—=ïTdÆ-Ý&©l¬Ëy:OµOÖÁÍ•äμv'ž;Š„ro†¥%c®©ärï<Œ)×T#[-¡âN¼¯F: CŸúÑgÿ“§~ Û† ëwª`$Ó…H+9Ë€J“3}½Û¯˜Û#nÆ1$»È)‰nJ]!¡ wGê&u…¸ëñ¯ýç?÷Oz›ìä¥{DRfQzx°ÿÔ#íN»{óõùp¾û›ßÜðÄc—ƒéAílµœžl5ÔaPÝ *ê-¨5È:NàšZ+ŒƒvR(ÈgI$ªa„’:ähñâþ“úç?õ¡~¯—ûUøn 4y²ßS{Þzß“®1´gv pd²O܆t 1!}$¡Ô•º¾Bô.Õm¿óÅ/Œü>ý‰K¾üõ?°}æÔö–³¾±õè–åI’¦¿öû/߈dòÚ_-¢Á-¨ÊT!:éIÝiP¾Ò:eù šÙŠ*¿‹­m°YRhÉÊaøñOu@±³Cc¢@Há~þ™g¾úýo½øöÁàÒI¥Í„O³x@s›4 Mé€ò &€R{)¡;Sš+yª¨˜j¦ó~©°!Å<,’â¸Çïùزøâ6ò«ãjèh—c™úåÍתá”Òͺ¶WêÇ'«€ìåX'HZ$",‘ùP»Ò`p%hiv\{ío~ûµ³Sã ñ<õïýÌß}ôÙ'¡y£ë£²OÉ€ºnìtÛøÉgÄaˆüM*®e–×FŽ,¾¥Ši=&‚šfûÈÑÉ’¡Ð-=H ÀI6–çÞF*%nÓÁi £U°×Ðx•®ZWW'•ìl\ý„“K$%мÝÇœG[í_í-R©0ãc1éå€#K¦ùõßü€ÈŒ÷oþÄg?ñ¹Ïý’9¼ÑïTbÎá: =¤¶LÅ>ù᯽øÎ¯_½rÑès½ˆˆ Æ5µÌ†0{¸3[TÝ¡â‚Ò\©C¿2U\SR桤¡¤JË ÂÒzð$ÉœzÙNº†sîb°PÆïí²Q1ÞÚäç¶éã÷)ç*èœ &™¾yœ9Ô.Þ®Ü_û“ý+/ßÈ ×Ü_Ï~ï…ò¹×å—^l½° e¾ó*+6<ñá‹’j–Ú½¤Ý¦ë úÍÏñÁ‡XíÝ_üù‡†Û7®Voé6¥íßj1Éâe›4ë|bZ˜§¼wR­Ä|%JJZt4—$18m™LcäD§õJd>°*·7ÈSô÷ÌÐ :-I:ÎZ+Y…éŸ"Iñýßýúô§×Ïž;ƒ>.»Ú³O«÷ôLJáü;/sìóe?÷·þ³³SïNolwÔGx€Ì8Ôný02î#¢½#Æô mÍøÌçÊõ×T‹˜ÓpášÒ ¯—Âh®dó½8žÙ*B®©šž5(çD˜ë}'Bî$UA¶CñîÓ—šýí'ájD7¥Îe*ˆÛh_jUõ×g£ûCO¾ãóí´]µLD&RÅýú÷ß.T}­×=8: ©FSÚ;MË2Žg«²_¤!¦(\S;8¯rèY¼<2bßÏCIË,a~ÂæÝ÷à4íHyHÒ‚è]XБrHúÞÅ'Î7âèÞ8ø_ÿðÅ¿ÿó¿ô?ÿw?6Î^ùu)‡‡_þZïÙu<ùŸýi¹œ{k]Oé)ÉÇ\ΩÛ½óÊ}ücÃÉ 'ïJ=IªQ "§ˆ°¥Á%éBçÄØ‚N©Ñ§™÷©G.]:yrµÅ£5¼ßÑN²4 b²LÊ,ÖÓ¦åÈvÃíd©6öË,§áòÔÝXïâ½g:ŽNÈ.!Ç€)©<™Ž éË4&d 9|7¬ÀYw:ý-™Ü÷·ÖÛÆãÞS?ý_¦BÿÕÿôüɘ4»DwZ·nìÉt¡ö¼YBÇãÀ8H¸^ø~þƵ?B {kžŒ{r9—ṫÃkY¢- ×1I…w{ýÁg>~¿C±óýkšÙœ­üU/^‰²–V®©õ›U9„˜–Y®$U„œ:"Ì=OU #O8yé|· WêE"¥6:2}è º™ûÁ+{×vŠ6ýoÿÁõw~é—Ù½O¾ýÕwÿõŸ\Á‡¶–ä¼÷¹ŸýŽßÿöö{È„CÅkW¾½#ßy“ÒM¿óû_˜ÞÙHåyêõï¼³ÿÖ+€é]†¡yp8i¶¤v/¡ m Aöé'>öă?PK«¦gidFþŒç×TÍl Ý)óA–jQHêU5 GkPÔQÛ³©†ÝçOÜwY¦‚;]Å ˆný$Ò} dŽb}£ ÌÄîíâà»o½ùþìç~ñ_þ“¯Üø¿ÿñ?‚ÃÉèí\eãïýìKÿÏ ù×vÆ[6žÐ¼'·Ö¸üµ7Þë¢3hdñrýôù0Áµ7¿u/º“d>i0¢•Ô=MŒÒYךß?váÇ>ñáû]…äÌÖƒ«rÈ5UêD3›eªdñ2K†a½ï¹åHË‘šž±ûŸzŒ^Û¥ ¥i’éÎò3=ýȉ˖æ1Ý& IÈü%#zDEš•ÃßxþÊKïÝ>{ÌùÚ+ßùí_ÿÃ_ýÞ‹#I¨«ñKo¯-ÂK EYëwŸí??ÿÞ¯üÆï}îÄÓÚ'½°ÑÞ=¸Ö}àþ_ýÕ/~ûåo»y¡´ÝÅÁþj–ôNâ#ÊeLøDEÒ12:7 PT «)t’o¹Ÿ8·©,ï~ûí Š&Äpu‹Òq–TE.«DKv¦ªáUyôaœÑAä4éáJ)WÙ“O_þð9%¡zƒèªl(»¤Žö3)ý÷d&þä›oì¨F«¹®s÷Ô™µööÖîÎÁÛ¯¾=¼µ»Ör*ÍúŸþßxùíýÅbÿé{/ÿÖÿàŸý«_ùò¿ùÓ/}ó]_Kú¶Î´œTFÇXÓÜ6³O>úí¹Œ©¶§£€v'¹YL$$-Á3RuÀ#”EËê„Áð¯ßêÙ:W4šiZ°É:´ÂÂUˆ.%%†” ³W)€¢µy0Î øôù¿Ñá.*ꌧ¥Þ$ú0eJH%Ë•*F;ÿúÍ7÷÷ûÝ •Fš·õÙ’[9òþf±·¿{ãŸñ òÇ·âJ¦åáLù7ßø­/ÿék¯û"žú\o<æ)Š™É' d¬\ÌÃG.ŸèžÈ„À"ÈèU n T't&¥]‘ì:%ž¨v›'îQ ñòs/-ÂØlWi¡ˆªâšª4•ªÈpÕ£\P.(CtÙ… £LÊ¢µ &ŸxìñÏ~ôI™F„§´ÓƒaƒOŽø, ÀÑh2ýâ+ßg —(%Ƀ8)Ëpé/%³uF;XÍF‰8¶qjóôf<Ï_¾9¢ž~ví¤uÌQ›°-gB,ØM*rqýö¢Ryô‡> ?"2#Jô¾ÝP(a-0IŒ¶LviÙAšÓ˜ç‰W_¹+ºÑ(U³ÃÍ0›å¦jèrH;«Y´RKVÒg>r¿ëð4¼àÄÅ€2Õ¥;©1¢w‰~TÂÚa®²™H•ž§Î%̹‘­”–Ã5µjxu0é´pÏÃn?tf–ËyºXK.ž½g{c]ê¤Li¼¬8¼? ­5À[oíâ`B[R¦kÿ_W#É•–¿÷b{‘‘±dTeVUWWuuµ»Ýncd0‹f˜‹‹…8Ì.\X,H „> Ò`5‹,!3 ã1Ì`ÌÐxlvÛ]î®jWefeFfäñb{ÃË®2¡T"cyüû÷ÿH+Gza}%Á×çdùZ©ÈûÁË_yå§_¼Íû)M«¸ÚާñÕ • ›êYÌÍlÇ£µ¸³}u§§¿´ã|¡ý,¸ÐxŒ*? @r"9!E³‚y€tr `C[øf- Gú¢ª |ÚgÃãÑÙbC[œkó m‘ðYÍ„Ïε¹íx Q·ô^Kï©yÞeÓ CóÁ'“÷?”$¤¹€@šîÊÍX¡ì§@ɵ{š€ÑW~îåç¶ERžÍÇ‹‰:´É³ùBÔ£¹ @ÛoËkm}?Þ½¹½wûÙg3# ±×Œ$wIÑ@§t©†LñÑgÇ÷¾ñ6ašÝî5U‰¦%ÈD’Ž”¹-D±XÌ›Üow\f€8t–VñìN#¦‰ÀÌ™`óe*hZ‚Ôϸçdù˜Ålzm·sçæÝ•‹"=-"i~®Ê› "€€1Ò¼¸Û¶ÜÇÒ³áõüd)Ä|â·iûRäM±X”eF§i3:<°·ÅÚTL§Jh….ùaRÊ>)ÉSfÙÔù€‰íši©.+Þ!\&†Ñ!že÷"û*€åd\sò{ŒtMŒ²iZå2% QwZ¡òò‹º¯³jJŒˆµ'“òÑÉŸÛH^ÉB'Ÿ‡¯ü§hí Lssšþ§?ñc/omhzQ¼³¹žJz”ÌG³[z@™çÙ4¥ÙFôAà|çÑÇBÁÁω½EŠÕ:!=ä'U.¥j•˜}¥ŠfmÈ.µ9Yk¼±œ01Rªs”ˆU À ­¢±úÙœpéEìêõ›ï¾ñÍÓ£‡ÀˆûÄHm‚r(‹ÿׯ#ƒ$a´qN„Õò ¡„•~õÅ—¦i]—Íz¹Ø½x£Upkð¤é´Âí+»NàÓr>¼¶{믃5‹)X©Â×%'„ØÛ†MèlMˆ'tÝMõݰR£lG·Ì´Ô>ÓËPQÕˆ„p @£—ƒF$ª€‘.€…¨[9.à9ÉÈ<á„ËY¿þèýC’Él…뫾déSJœF7¯ ”lÓV¿Øî…ÏæK(¤¯Ó ½hªg9]Lš F¬ÙSÛk¦“† æŠæé:$áDÊ3!ž k=ÔšgâMµh£17s²åD‘¤®ªÍɵ:ðTt¶âª=TP•F£„Ïp9˜ÿrÿ 9-%ÊÞXEöÂ,ÚÊÐĵ:ê{e/ƒ¶¾µË§³%s¼õÍëJƒZT§r«îhΗ%e€3¡z„Jg¤<®y¯f;ëzya/v»öcž5* 3Ç ñnS›^†µ9A+²ë¢¼lݤQGféÇŘ–ÈSÉSÂÉ«¯þõ‡‡ïüÅoþÒ¯þÆk¯Ý“ÒHrQ—/YšG—†WY#;!^D¼H!r 1Çó[ˆ‘ÁÆÝˆÙ%â\Pzý¦o0Ú‘S3ÛÞp†°{°}Â|ÉÓªïÿ¡/·éèí£ïþë7^—ÝPëZ-ò] À<¿œÒWŸ‹Y5=˜gJ?Õ_H\™UNG¼hN =ÏÖ 6ÞŒÖôGù x­‰k—,-‡—Ò{¡«t¶2QÅDÚÀêÎuï¬iµXÁ³yÂsÒßüÑ/ßþðþùïîÿ“}ãG`%ÈSy“¿€ß¿÷Íÿû¸ó²i¥Äck®B+8Ï Ukå‰r˜´4„­ g.€¡»P R2ldcFºgÙª[›“…y^W¼ã8£Óðî·ONÇ30¼®Ë‡—¤ÚɥГW­xò(Ú¾åÙ§«×Ç‹­¦8Ïì —ˆ5?ù$ŸœI1(Ë£ûï¯=w°¾uõ­×ßú›¿}óý{_–ON5çšäÍÁZ×£ŽçFç|ù÷|:4¢N4Z,Mº,„³°ÊÙtá:›>…h²´Ôc­=-*¦ Ñ4\ó —b¬7pˆ™òʰXÑÒÚ…¦çU•K‘Z.óѵí›ß{°R ¢¨8„µê–³ÂU£Û(&à.ñÖÿáë¯ë“›½º2½z±è†ÌׂٌyUURäË!}^Ÿ“D[­ädùæ{GýÜ Aë¯þñß~ûOÿ@ •h_u4öÖ·¾ýk_û•Wÿì/klö6îN+ &>‹X[£QÄÚSHÚBÔi©»2KøÌ•™²´Æ«o‡Agh¬š{Tÿá<¯KÄq+¶–eòð?¿ ^“‹¶F§‘\9BZ¯Øø”±D´‰·.|øî›o3<–ìJ]6ÌÍLÛö"V—KuWá×wzW|9ýlm»·¿tëæþ.Ùý¾_øå¯¾xc/ˆZÇ'ÿq|øÉñÑ{`{kç‹?ùãÆAXåRÌkŸÂÈ.û( \Nƪš±¶ €4)««ö*;-Ƕ€‘n +žÍ]â8nxÿ£wÏ’œ°=ð€8û#meuŠ ¬p•ǘ›~ñw~ïðô¼ûÌmÉ žÍucÓ ;.½ 5ÑÞ~pÿÆó“†<:Éî>û%اw^¸ûÒ«2"wŸß ¾àZ[ÿÙŸyå{~ꇑ ;WÚ/<¿kÚöñÃTÂUdsE^—uº¡ôPy_2±¶b»z¤:¹æ†°µ"›· 2Ïk.puæx°ÍÍõÿ9â*»\ë:ÉbŒá9ÑHÓ•ó¡ÚÿÁ×~÷½wîÅMÄlÌÍÓ©°µÑb²µšhDBµÍ«þ•(ÔdR¶‡›Ž.å±ä3{ÛæK_ùùƒUi5쬯 ŒÄ,›ÿþ¯3+ß2*ŸŸµÏíÄ0?çV·Ÿ1o÷¬+áýôÉøqÂgx*¸se±ö†¶ÐYEóF%«êÕXŠÚ·tئOñÚ»ô“#ì¯$ Œ–éëR Ó4Ç!Í(вX,اayžÏçó¢(lÛf}„JY–aʲlš¦¦i‹Åb½^×ëu×u“$!:Œ0™L²,‹¢¨^¯gY¦(Šïûº®‡a˜$ ¾ÍÑã_eY®V+¬š$‰mÛ˜ˆišF|­V+w³ÙX–Å7qO¾_«Õ¦Ó)éSã Ó4UUUUÕ4M˲äh1¯H ›Í"â8Æëʲıñ¥,ËðêÅb‘¦)Ï‘ZùZ­F9P…‡òE†µZô†g’W///É‹iš.—K\FUÕf³é8au]_¯×I’¸®‹ñ±¶FœäyN-IÓ4Ïó¢(0ˆ$I«Õ*Š¢Z­–¦iš¦äLœ*MSVoYÖz½fÜE‘ëºÂÕ‰ÕZ­¦ëºišyž‡aX–%ƼDÔ*‘ÿ%IÂ}(3x&®«ëz³Ù4M³,KÂ^Q” põzX›FÙäøeYÆ…ÈÉ!®þ÷ð[± gÌçóF£‘ç¹,ËXº®ËŠ£("ãêx U]×u]×ñ)ìLñ cð8޳,SUµÓé¬V«,ËV«éÃuÝz½ŽŸs aE÷ɲ¬îìm³ÙƒH’„Á "ÝQœ‰Ï8ŽÉ“’$ñbŒP)˲ÝnK’Ôn·jµšïûªªÎf32³¢(›Íæúúz6›aI¢ßK``Æjµ¢Œ ðÀ¡ÄqŒ¯V«4M)+º®ã,Š¢ÔëuŠ™E&IR’$“É„u¸®‹‹’TU],”ïår麮ðü(ŠlÛ¶,‹ZÕjµvwwI¦iÎf3PDQäg¢ˆév»‡‡‡‹Åb2™ŒÇcPŠ(r¬{³Ùxž'ìL†‹ã˜=“–p–(Š–Ëe’$¾ïû¾/ 85¯( õ·¿ýmžç|–¨7@"ìÌâ(žÌó<Ïó\×õz½nšæÁÁÁîî.Ñ<”$IUÕV«Õh4Z­–çy”€õz†ayž×ëõ»wïîîîÞ½{—_!G,ã8^¯×óùœ2ƺ1>¹‡È˜Ì4MÂg½^³yœT’$õ“O>Ùl6†a`dUUÁø¤ÈC”;"M;!ëxž×ï÷»Ý.®¡ë:G$Iß'! ‹±Öz½Þn·÷÷÷MÓœL&„(È×u=Û¶Ûí60N¤•$I-X (’ņ¡¾÷Þ{$ö išã8²ˆ¡Qœ„,ŠB×õV«åºn³ÙTU5ÏóZ­ÆfpÝ,Ëx^’$JDªªFƒJÓôúúz8>N§^¯ƒó’$!z N]×£(ج×kÒ .A³Ù$ÿag7”$I=>>&ŠðæÙ$»%‹FQ„cX<Š•u»]çyüЦib}·“ŠeY _»®k۶뺆aL§Sò9é°ßïïìì½à‡z½n†ïû–erÅ’6›Íjµ*˲Ñhø¾ONÁ„؉$w“Q±Òjµ Ãжmصçy´à\Š¢p]W;¨B½^ç¤dYÍñŸ¯×ëX n4,‚tBÍ›L&Dìp8,Š¢×ëc¥ÙlÆ")E”7ø™aµZ#€â>dD²+Q?þøcEQ a†aÛ¶¦i›êÔŒ•ÕëuXN’$–-R1/ˆ¨xžGn‡ôðó–eQ„Åé'LÓ”$i4yž÷î»ïêº>V«•$I–eQÞ“–eéºN*êÏçs>Yœ;GiY–p…C²‚<Ï‹¦6 ƒãäg ÀFnmmQè€ ívEÄ žÌSñ±Z­F–Ýçk¾ ›¥Äq<qΣ££ËËËçÏŸ/—K¨¯ªªd8†mÛÄp𦀢ÅbÁ‰çyÞét’$¹á@ Ü€ÂÈ @ 숕eùë_ÿzŽFXJ’äºn·Û…jP«u]7 ƒÓ%=½È€J1߇9²,˦Óéd2 ‚Ë#'€CÈIä3žHª£”RA;I’P¢mê£GØêz½?ŠcS!îDË|>o6›[[[¬k`¥íímЍ®'/PåJÈ¡uH~¬yD=I’ǹ¾¾r~HÎP<k @NqˆµZM=99šâèü² ¿èUËå’š`ÜÛÛ[­Vp@xÆÎÎÎÎÎå—ݺT²‹pŠ6%™B×uèÆÁ#øjé|>GyAÜBaW(›Í†šwƒ"T5«þönh)@â6ÂZ.—TZŽ€X"´€)¨ Ž£ÙlÂæáb|4…QdK#SÉÀáü+iÂ4MÛ¶ÁºoÞ¼A"e ÐÁu]g1¬p8š¦Iiiê&špnß÷Çã1®ˆ‚ºâ_-ËšÍfÐ`Û¶‹¢€=â«€dÖí8ލþ$ xG@Á¤º’öˆR&˜l¹\rpìÁ¶mÃ0^¾|ɪ8)þi6›ÁÀjƒÁÇ!à ½^õPAÕgÏž5›MÁ§I›dfÏó„ÔJ²Ñ4íÁƒyžÏf3jF£ÑØÝÝå0k¢Bض-Ö½Ùlü.G ÁKkµ\²( ¾ÏµZ-EQ&“I·ÛÝÙÙ ‚`8‚qâ…£‡E bhš€ФáD7ºÞ»\.Î Ž# †aÈi P†²4Á3À·Ba+Ë.EÉqDz,¡N·ªªâxø6å: 0 £Ûív»Ý·oßFQHE‘×ëu«ÕbW­VKø°išH%™@Ðn2äl6ãkà!e“¼E£HwQÕ {¸5_ó“¨9(˜¤è±Ð(È(€ ŒÌq7*|š¦ì’Ì¡cÒ4Mçó9Ù‘pSUÿ'ˆP88m<c4‚aâHD³,«(Š_~ùe¹\¢zSèLÓÄ ù1v…›p(ä'r,ç‚t o40;¡H¡l6(ŠÂ0¤†[8µ ,ËÆ@űmQèUÒ,Ô Ð~ã?D,åž|MáÙ´Z­$I¨CQM§S~o„mQNù>GNm fz„ngš&ú–HZ}P®€Dœ8`Fw¸¼“Z–Eq¡DQAšišÖëuí6çsa!€õzÝn·AQ¾ïÃïÉ™(²äº  ÃØÝÝÅ-Ëê™Cä-ÂÛó¼ñxŒO ínµZù¾Ê'ئÓ)¹¿Šl–rg¹\≤Lß÷QTðá’BgVE+˲ÓéPЄJñ€v“Í)q8OÓ´ÙlThÀ>/ Éœ’H#S³8ö¦ª*z¥ ©§§§óù\’$Ïó¢(j·ÛaòDdm23[å×ÅâPZ§Ó! uX0 Ïóétª(J»Ýf¡y‰ãØuÝF£„å b s„¯Rly: ÀH†‡rº¡_²,ïîînmm]]]!î¶m“>XN.ØüÄò¡‡òùW\Q½$IvwwW«»BëÀÉá Ä0Çé8ŽIe¥Å“iÙ )„t ²‹ÐY)”j^§Ó¹sçÎÑÑÑÙÙÅýàM`CP+×u¡Íóù\}ÿý÷©´äA¸°ƒÀ±ämÚ¤ KH\»Ý]À Irx/)gYýAv‚÷QQñ1,€ò8àÎ,EñáǾï¯×ë7oÞPÛІ¨1@1˜Œ¢(ü$š3¥‘ú§Ó)>Aò¤ZâØJÐh8ÇÎÎÎöö¶mÛ4š[­ßG¯”e9ŽcÊ€O%¥ãl<Ò²,Ê yï~À4D1±C$ÅqüâÅ $×uß¾}‹ÌB©Ç0@ ¢(-Š\EÕ–Ë%rs£Ñ°m; C‘Ù@Ä6N=Ï£ÊÇãz½N¯Uü|–eÀ7>¬_gÏ9Š8ÑËšÐL&“ §¿Z­ˆFD©Á`€§lmmišÖn·Qjn·vG &àn°±6O eYÆÉÑ¡ãIº®“·mÛžÏçðA¶º.Š{¶Z­V«… žî½¨pBeÑ{±2*R´X,`¹¬Ö0Œ“““ƒƒƒ¢(Æã1Àð´´¥i7õ„@¿‡uÁçÁ°V«4@Q”f³‰›‘Àʲ ‚Ñnå›qzó¤.A ÂÈ@Y/..X+iµZAL§Ó Þ{ï½{÷îÑ[Ýl6`Ñ7 ’$Áé¨s´¼5py£ÑÃ@Y¯×SI’‰„ ŽºX,Þ¾}ë8N’$X-MSÚƒÁê³µµ%â y€À‡óÀÁ`@Ê¥üRr}ßßßß—$éùóçŸþ9§F@Äï¨Ûx ‚©®ëD\Q^Ê‰ŠŸ¾ººzñâ…ïû²,îÄ•ëºÈÖ86ü> ÃÉdbÛ¶ã8Žã ‡C21É Š¢ÃÐ4ÍV«ÅI‰ X…µ€˜h©v:­­­²,OOOÏÏÏ_¼xÑï÷dð»®Ûjµ@ TàÍfƒÄ£ªªFz Ëûi4¤D€Tš¦t ¸¤ÑÁùtÀPI’$ß÷»Ý.‡ÍדÉäââù/ŽcÏóø©„´ošf¯×Ã÷’$i6›xp Óéø¾ÿùçŸóÍ7ívûèè(Š¢Ñh„ñ)Âü0]ðºiÕS qò¸TÏógŒŒ¢ªjÇA\]]ÁiHi7§i ã¯ÕjF£ÛíÚ¶Çñöööt:ýꫯpHºòð2Ïó\×dža¼óÎ;h@ šæc¯×[,gggZ'K’ü;,š£ˆ®×³gÏ \€UÇq@瘔HC”eŠ5Z)ÅàŚʪÅ<G£‘PÒ‡Ãá`0¸ºº:??¢(€(b{{[Q”Ùl¶X,Xýf³A²0MõPUÕv»ýæÍ›£££Çs⺮Ïçóñx 3kŽ t¥T½oõƒ> 䄺-6†ÎƆÃ!]& Bî¡Fb¼¾¾¶,«ÛíA@2ÀN<Ï# dYF€¡Ë;ŽóôéÓ?þñLQ<Çi·ÛÛÛÛd>Îe2™|þùçÓé”±öHÔˆŽã0;P­×ëB$”$I ‚®G%ë’ÊDaõ jz'™³¦>}úôìììÇDU–e¹Ñh$IÒn·Ÿ‚ÄQH¥¤þJq¢ÀÐ>G1ôèÑññ1Ê%h 73û¾šO’¤×ëí¢ÓjµØ*ûgæ“ÜÁzʲ¤QŒb ©$Wøá‡Íf3ÏóÓÓÓŸ~ú …ˆ<Í H$Õtœ$I¢²,ù}Âb›Ò9ò7ŸRc%GGG³ÙìåË—,¤}8Cív»ÓéÀv‰Ïóööö°àDèæt˜‚ áØÈ,ý~ÿÞ½{?ÿü3Ÿÿúõkø3ØòÏóœ¾ ILªÓ”¤}XR }d×íííÉd‚#ŒÇã²,ïß¿ßl6©‚:ÿüóψšwåx<†o`Cß÷›Íæîîîb±‚E2Ïsr2–d&IÍTvÒjµæóù7ß|s~~NɤöPY8VÀ/!à8ÎjµòŸŸ]^^FQÔï÷9Ê~¿xx¸»»Køá¥Ô¼óóóÅbAšè“™²€œ,¤:)ÿùÏ^½z…ÜÅ/ŽF#Ž xÏa(.¨ÿÄ€a| ‹އgYæûþl6HMá=T‹«««««+¡¿ÂŠÃ0œÏçô/„êK©Õjáç¹RMéò[T,ØXQÏŸ?ÿ÷¿ÿ  "Yó8x±X€¡~«Õª^¯Ó—½éVgÕô; ex­¬æþE;dÇ1Å\EÑp8FÐw6EÑ`0€rÄq<‚ À-W«ÕÅÅ…eY¾ï§i: ذªª´cЩI(8ƒÁ૯¾šÍft=£(šÏçpõs” ÑôÐDÚ3„ûf³¡Ý@0 rÛn·¹rÀýˆUô»³³ƒÃ´išžžžn6›³³3äY–Q´„ò}Ÿâ`00 c{{›& ¸DÅñáÒËå’Qw8&iK)UU•Ê›hš¶··§>|øPȨˆ`@:ˆŒð0T|jê®@š¬‰Ö¸®ë×××A3É$MÓ†Ãáf³¡Ktÿþý££#8 ©K ¦ ž¢ œŸŸcÂ8®Æá¡”+šïÌšôz=j O7 C=99¡I!z3¸ƒ„ÔXòfAÑDõåûbš„!<Öóõ}ÿ Ã[µê …iV«AX8`†gggJ5Þˆ…0lQwÚ¶Í<8j%Ë2mª›y)R‘¸^aúmuÖ-Uè’jôŸz¤0ŸÏûý>¸‡`îv»õzýììÌ0ŒF£îgŽ æèC¾X,¤7ÐÄ• [–5)Tiuû¬<æhèQ‚7ðDúryž“5nÕ” ¾ÇçRl‰´5µºIEÙA§D___3SEÑÖÖUª×ëíïï·Ûm6öâÅ‹,ËBÎHÄ­ã8 €C¹]–v]t…Ñò<'døNÇ€6Ø›mÛ³Ù ä£TÅ7ÝDP‹^ pâÂ°š§§§¨PŠ¢L§ÓF£Á#³,›L&H^Hmœ"‰ôêêêôô”Æ÷r¹¼ìÑ´õz½µµÇq»Ýn·Ûd;\ÐÂŒv¦t¥¤IJE•¦!mÑ.GŸ¹¹Ü#cœ,' Uײ, /^¼@VUu±XÐ":;;ãÇÅ,Ë...PEØ“Éïâ|á÷áõzêùt:¡ËÓã˜kÜ@Qª¡.&Kò<‡â)`;à=[X­V ¨0Uè5 _Tò0 éÐk$”x`™àOÍfóÎ;ÛÛÛÍf“ë²,#/3 Ü Ã°Ýn—e k§Ú‹)M³æóy­VËqáüÌÜ4µ4 =i²ETóigÚdÏ$ô,ËF£p„‚†á›7o¸ ¥( Ûl¬V«AS¡WÝnOIó›Í4È+ð}4a.1ƒ?ÿòË/ß~û-Y–eÇqÆã1˜Žfš&­0ª…è¾Íf³ëëkÈ@Y–Žãìììôû}Abip¡îSÏ žä^|þää¤ÕjmooF#~ †<™LC¤"jnBÏe>ŸS5j´\ ú"3À)péóçÏ/..¨æ¸Ë-ª› m±m=~VM%Ó4 Z»X,Úív¯×kµZ½^i"<!’C¸Þ½{÷ððÐ4Í~øÌ tñ<G ·Šv_kÉÃáP¤ž„(Š:@Ÿ¼rvv†ÙEÅ/«9G¾†Q ‡ÃÕjµ··Çcð.‚ :‚Õívü 2!¯ æà¢ßõõu†ý~ÔÁ…1úU„›T:–®®®t]ïv»´c½f‘„·†¨ÁT‡(ÐEQ\^^^__O&UUÑÍÄ)Žõ.isŽF#À…´‡Á™ØÛÛãZ ?3þ€¸ 렀ݻwO\¼ZàÙÛӋʼnŠJߌϧîhº®ƒÝ©¨4¦q*X€F gõÖå6È뾁 @E¤‡ƒƒƒýý}Œƒ®`#®.z’Øè¹Ð+jµZŸ|òI«Õ¢¥ÂEI’ÈFä?ÑŽ¼ ã)³DêTQ¦ijô©é—M§Óóóó0 i@0ÕIÓçGÝż¢õŒ@Ac‚ò«ë:É(Y¿ßßßßGýB.u •0ψ7²¬Åb¨~ôè¯Âˆãx½^w:N§3Á§P%EQHi|,™<œeÙÕÕ¥¦ñÍ †Á`ðý÷ßá òÔ(1!K ĄÆÉ[H§lãÃ.hIdYÆlD”[˜ävÃ0¸ _%AИ=999>>òPéøø8ü†¬ÛjµíŒjÀ"E‰ÂòëõZ½ÿþùùùëׯ9Q~Y°M ™xnµZ€29–ÄçÙýK¼ˆ O(š(úr1°™u`úw½^ïÝwß}òä Èœ³\.'“Él6£F#qõG¾õÊÀFQ ÔÐsG‹TE9==«Ë»¢‹€”U7,i¥ ¡VÈþµêM"xH{ÂS¸ÊDc\(,´...’$ÙÞÞ><<|üø1¯y`¬Š´ïºîr¹ Ãðââ‚Ù h¼Oè4ÊôêrÆ7·Òi‹#(2)ŽLG‘«¡HŽA¢/A¤ cà“‹Åâàààþýû[[[ggg/^¼`Ÿxèºzyhµ ÏÂ07o(«!L|È*ÄÂN‡ÂÍtýÐKAà½ö@Ë,˨ØXš¦(oB.p=£~fYF¯™„÷fÚs8ú¾ÿÑGýðóÙìòòrG‡Oà(ÉÆX<«îìì ¸$I08! ¡¬ÞPSša›àzju hšæöö6Ý'°.`F¯×cÀ˜<×Z±@z^TSçžç}ðÁ=¢nQ™iÐyž÷Ã?\^^rQžâRÜz‡ÌNP¨˜K"M®®, }ßÈäUšc‚ÓàùðÑæ!pšÜ¿f'<‚Æ;.DÀ߬LUvøë_ÿJE!t±Žãðډׯ_SÛqLÄ@8´ß¢«bØœ?BÚôƒ]á7øªø¦\Ä‹acJ䓺UTnI³¶m_]]¡òõz=ò ºººâ ñ2Û¶÷ööþò—¿<{öLôÇã1—lá•p†ü‘—Ú{ÀÉ Y¡ÜðsâX©&3¡o"C ô“ ¡¼º T䯔(éÖ|~V½äˆ¬Cyk6›h+|>®Î,T\½þ‡hßÙÙyøðáŸÿüç>ø@©îôC•Â0d< ¹ßïÇãï¾ûN¼S‹½Ìf32ßm¹[åÒ¶"$D£kr¤µ²zß ¹„>C^ݘƒƒ„:o7!h•ꦉp H‚@æqu³ßïß½{÷³Ï>ûÛßþöé§ŸÒ‘€c‹á ª£X›$Ißÿ=/×# ’5ÉíÔ'f§5Xò77^n×L* Ë¥”ÕÍ6‘N8Ž¬š†»‘u0 îÇr0,«Ýnóæ@ÕÑÑÑáá!Šť „8?ýôÓëëk–-âˆ(£iˆ²­‘ÖqN¤­¬efŽ\BÜϬChÎ\# ªh[¤iÊø)sTEQt:V«õìÙ3šŒݹs§ßïÓVÆh"Ø "Ÿô¡ª*£I’ à7 NNN¨ ##”âûþ|>ר'ÐB­®`á¸e×­Uoå99yðàÁ—_~ Ôel%«†â•ê¤ÿïÝIü© ˆGnn]¹NX%ôŠUÒ[{*ÕLÖŠ€>;??gê˜á:rоE Q©ÿ.Ê»pFœÜÆe½/¾ø¸":1§ rTJu±q3¥ Ýt܇-ê85†~BVݼ…fÕ=Š¢h6›Eõ)¨9ˆZ¯ÞÇÁñA*x:ùŒ„"üЮq ³•ÕeÈÁ`ðÏþID2ÁdoÆÍiÕò]ê{R]J"ï%Ù†¨`dcáoh?¤Ôs G£Tsè\b”eùÍ›7§§§‡‡‡¤̈H‚ˆO"Õ«;šažµZ­¦Ó)b*O,Ër6›}ùå—˜í¤A¡®Õj®ëªôZÔê® LE€öíÀ æ"2™pŽ+·^]Ɖy¤<çBO¬Õj³Ù,‚n·ëº.³jTZŽØ¨ÞXÊ”º`3yõGŒ\]§<==}õêÕW_}Å€P°%1%àyÞÍûZQ!D]“%89²(!¡WS ˜‚“c²êvM.ªw\ !Þ3–KÈÁõÆáá!â3€A©^R$ê³yâ_õj&—šÇ”òx<Ebœ2’óªÕj7o‡Ç¡0ŠÔÅ? ‘C¤eÕ+‹ñgJþBQå×)c$ÒVšL&Èë¨<óù¼¼õÂdŽ„$¼äQÂy)®Ÿl6›W¯^1†$z7Y–á¹7ˆˆI@0Ö'Ñ'Õ{Û*äb)+­\tøÝÛ4¸ }ßÇDè «ÕêçŸð¤ÈÕLS!>ŠZ˜U¯?Y.—¨ˆóùüÕ«W¼¥“–7`©ˆ€u{{;«.ãŠÒ‚䃟PI}È"‚0P±DBC e%[‹V]žç›Í†[ÂY–AÜh;Р€Íârôßð—´zå* OˆUju)ÒÏ·ß~‹'—Õu Î…ôQ…ÚétÈï¢ZëÅ+fÿÍª× ê¨T—ÏÃ*«‹Â4SÈj°°òÖbr6›-—KüYÓ4ò6Å‚»¨ô¸¤ª™L:à iš`€/¾ø‚Öq^]wU«!÷ÿUI©;ßTÁIEND®B`‚ÿÿÿÿ1968.12.09????.??.??SCGgmÿÿØñ# ÿÿØñ Q G L ƒ ’ ’ œ ¿ ¯ ¾ » Ö ± µ ª   ¦ À ± ™ ’ ¢ ¢ ¸$I Öÿÿÿÿ1924.02.16????.??.??NEDim $ ÿÿØñ ÿÿØñ  $ÿÿÿÿ1956.08.15????.??.??NED-ÿÿØñ6À‰™––šˆ††††mmmžžžž7IÀÿÿÿÿ1911.08.171995.05.05URSgm F F F‰PNG  IHDRPdú· IDATxœ­}I“×uõ©Ì¬ªÌ𲿡4Ðh4âlˆEÓ³Ã\8Zhã…7ÚiãÀ_à_à…·\xÁ CÊ–  hbw£ÑóP]ó\Y•UYù-šçâU–¾…2‚Ñ`U™÷Ý{î¹çÞ÷*ðïÿþïþx&“ ‚Á \×Å7ß|ƒ~¿F…BˆD" ð\×Å`0ƒO&„B!ƒAŒF#†!÷N§™L&ƒ0MƒÁ–eA×uÌf3$ >ùä?Âó<œœœàúõëÈf³hµZƒ°, –e!™L"Â4Mã¿ø|ßÇÂÂ,ËÂp8D"ùÏu]lnnbooº®£Ûí¢\.£Õj¡×ëa4‰Gñ¦Ãá0‰"‘<σïûÐu£Ñ“ÉÉdRÞ‹Üï÷aYÂáðœÇc„Ãa8ŽƒñxŒñxŒÙl†@ ß÷ iÆã1t]q€Éd]סiLÓD(¯p8Œ~¿£T*a6›Áu]¬­­a8BÓ4hš†H$‚X,MÓä =ÏC½^G>ŸG±XD<G:Æp8„çy˜N§8::ÂÎÎÐétÐn·1åF»Ý®@†çy‡Ã…Bp]“ɱXL~· !Ò|XÓ4‘ÏçŃ|ßÇ`0À`0€iš²€µZMBž°E˜1 ŽãÀó‚Á Z­lÛ†eYp]¡PÑhÍfÝn‘H–eÁ0 ‡C˜¦‰Éd"÷ÃÇq`š&¢Ñ(úý>âñ¸üíd2A½^G @<G¡P@8ÆÙÙ&“‰`™ã8‚ ë:|ß—ç…B˜N§bðP(„Z­Ó4a"" a8JÔëu¬¬¬À¶m8Ž#/ây*• B¡ÜÈh4’E¨V«ØÜÜÄ“'O°µµˆÇãÐ4 ®ëJHò¿`0ß÷Å(“ÉD<~0¶õû}„ÃaD"˜¦)‡‡F qrr‚Éd‚l6‹B¡]×ea˜˜˜XÆã1,ËÂh4’(àåû>Æã1B¡ À®ëÇp¾ï#‘H@Ó4Ïž=C:†aè÷ûèõzXXXÀp8D¯×Ãúú:²Ù,,Ë‚¦i¨T*8:: ÃããñãÇØÞÞÆéé)Úí¶¬½WÍ–ñx©T NN…BétZ2{³ÙD§ÓÁl6ƒ¦i(•J0 𦠆yžMÓ áy,ËB©TÂÁÁêõ:šÍ¦%¢Ûí N3‹:Žƒh4ŠN§#É’Ùï›Ig<c8""ðàÁ6›‰ËZ–…x<.1¯i’ɤö¯ýkœžž"›ÍJZŸN§øçþgœŸŸ nø¾ÑhÓ4‘ÉdÐíveUé½L Á`p.F"èº×u‘N§áyž¼n0D¯×ƒëºb þ®ëºp‰Dãñ­V äï-ËB&“A³Ù”ÄBÏ¿|1¸R"‘ŒV«%á¤f®H$"«E/j·ÛØßßGµZ…çyh4˜N§¨Õj8;;Ãt:E$Áh4þÆÐ¿rå ,Ë fºR©„z½‚y4ôÙlb:lÛÆx<zbÛ6¢Ñ(Òé4 ™LâôôT’1k8Š‘;âñ¸Ð5&(5;Ó©†Ã¡,,369¦þ·û·‡Ãaxž'!1Nôéäj'''H$(‹ˆÅb¨Õjøì³ÏÐív|É×Òé4VVVày†Ã!&“‰c.q•ž9$ëƒAèº.ÿæ‚$“I ¸®+ ƒ0NÅ«-ËBµZÞ7N…¸®+_Ãá0,ËÂd2‘,ÎdåyB¡@A G ƒ0Èûœ$°¾ï æèºÃ0Ðét …N§‘L&ÑjµpïÞ=T«Ut»]D£QñÒŸr¹Œ““¡IÓéÕjUVÔu]$“I¡2ôÏó.ÂÄ0‹Å0N¥Zq]W~ƒÁív@¥R ¦i€P¢ét ×uÇ1$©1*z½ž8Àl6Ü&>jš&ŽÁ¯¡PF:–•ö}_\˜„“LßqœŸŸKVu]?Æææ&Êå2B¡ÐfFÇqÐh4ëõºd1˲ä½XJƒAy°p8 Ã0„”kš&ԇ܎! …ÐívåÁ«Õ*–——¡ë:–––prr‚P(„D"!Êç¥1é(ÌL"š¦!‘HÀqYìP($0dŠEÇã1"‘Òé´T ñx,@K£}ú駨Õjð}ápÓé™L‰Džç¡Õj¡ßï uèt:Rsš¦ Û¶¥´ ‡ÃÐuý‚Ý’Ùlñx\½Â²,©eONNÐëõ0%‘ƒAÁ;MÓÍfaÚí¶$×u1›Í`Y–dg: ߣnˆÅš¦ÁÇò®ë —Ò4 ¹\@®ëâüü\BçÛo¿Å£G$™°ž4Ms.0ƒû¾/˜Ã$Eoc’¢G2„âñ¸¬<½ž…¼a˜N§0 ÉdR²:Ë-–‚Ñh†a  ïcR›N§S¬­éDd jHóo‰ñü¾aÛ6ŠÅ"šÍ&†Ã!òù¼à¹áp8D­VC«ÕÂéé)ŽŽŽ$+Z–…l6 ß÷‘Ë儞°b‰Çã¬p’ɤdy–oLb±X ƒÁ`.!›¦‰k×®Á4M8ŽƒÃÃCñ Rz2“ ™L&…[Òx̼Óé±XlθÓéT£Ê =Ï“0÷}F¹\F§ÓÁd2A·ÛE³ÙÄòò2²Ù¬¤êñxŒ££#´Ûmá‰äb¥R ÃáÙlÉd‡‡‡‚Ÿ@Ãáét‰D–e!N#‹Áu]ñ"†M4ê@Þ•N§1 ÄÛòùT£1;€qíÚ5Iñx\pƒ` Ož<Áîî.êõº¼ád2mÛè÷û¬½^Žãˆñ‰âñ8r¹b±LÓ“/Ë²Ä ˜€\×…a°m+++p]ív H¥Rx÷ÝwÑl6%R˜€Hƒ(8ŒÇc¡@Ìܽ^†a  "•JIR qX©0d‹º›•0•Ñh„ååeT«UC™Qi”½½=4 ôû}8Žƒn·++J°&‡4M³Ù ³Ù ét…BÙl+++°, NG ¢ßï#•JÁ4M1Ñf³)2d2I<¶mÃ0 ¤R)Á<]×qxxˆP(„““èº.„¸ …‚†BCÙ²,Ôëut:ü_=W €qÿþ}¬¯¯‹šF1 prrÃ0ð»ßý;;;ðb±z½žÈB$ôoܸÅÅE8Žƒ`0Ò$˲à8b±˜¬n$Áâ⢅^“H$Íf…+Îf3L§SÁ5þ›¼•@ŸH$àº.Þxã †§OŸ In·Û¨T*¢p3ûƒÔ¸ÝnWî—Lár8ó2VVVprr‚áp(Üh4 iz½ÎÏÏÑl6‰Dİ*Íh40M©T +++¸zõê\c)Nò,ÑÓÚÌÜl'Ð+ èT<˜ø·*¡w†!^OObÇîÞ½{Â0ªÕªÔ·étZˆ=ñ|4‰ÂMc§’­Ë—–J¥`Û¶e×uÅxµZ ý~_?TPXUø¾?×ë0MžçÁq\½zU2,±* ßï ôÙ RßžÂ#Åâk1ÔH+ø^†aÀ²,\½zU”v–›ápÙlV(ï†ÇâÌàìнìÒ,ËB4E2™”î—®ë ð}_È-K"…åÛd2A³ÙD»Ý¥9“Ɉ²B üŠY˜-B5¬T£&GCGU­ŽïÁÖ#¥vÏóÏç ÃÀÂÂÇE$ ‡Ãxå•W‡%[ó}¸ˆ|/U„ ì,Þù‹¦iJc‡^BrÊ?œL&òFj8“ N§S‘´ÇKÎÆÞ AYýú²ë÷ýŒ±¸ æÁ`ï½÷ŽE,€X,&¤YÓ4<{ö •JEÞƒ¯Ãgã÷xj6Öz½ž(¹©TJ”«Z«Õà8ŽÃáp®9D W³­ã8Èf³‚›ì¯ªÙW­1ÿ1ŠÙy8" áúõëH$èõzs!@äüz½MÓ¤PP›K¤‘eY–D_Ãèt:B[Fãñ¹\GGGò‚\È™((­O§S„B!¤R)QxI¸Ú 'ýu©U‡Ê碃Á@ I˜2 W®\A:–¶„ªì>™LælAO7Ì=PÚ€…… V«IéÃúTm´èºŽH$"8¢iƒ¨34—KÍj*Ö_.è…8½BÍîÉdkkkBwöööàyz½¢Ñ¨$0*6ççç’DYiñ}©ÖÌÁ–çy(—Ësª»j‘HW¯^•v'`«†%ù=oJ1€“ ľlÄ—]ôüß÷s^Â…Îçó¨×ë’Ý S«««’hF£¾øâ ´ÛmÉÂt* l@©¸h0EóTÆ?Ç…ƒÑ“hÓ4Iމ‰¾ïc8 žªÞÉ.à󢼯äè›æº®£ÓéÈ"†ÃaܼyëëësÏ·µµ%•KX@QÜcº®ãøøXFr¹LÓD¿ßwæ Pá勨RO§Ó1¢1Q½;.yßë¢'Rßd;<<Äéé©<Ëîî®ÔòÀů¯¯£T*‰Áƒ“¯EãIT1\ɼC¡Ð\/áøøív[^õ'é A—8J˜$–ž –dL&ª2|U‚̯4ŠÊ™mÕ‹¡Ë¯ôxÏóÐét¤$u+++X__â(]>Ÿ=1‰H$ÒÃùÚŒZ£ÑhˆÊ_&]988ÀóçÏ…ÒãÈô&ß÷ÑëõÐl6±¸¸ˆF£……¹ƒ8ö²„ð²ÿgâQ'Ãè¹—“Œ ªYN¾óÎ;h4ØÞÞF,ÃÏ~ö3”J%‘¸XQ¤§ò=9Þ@è›®ëÐè]ñªT*8??oÒu–eÍ)´—Teï¬)/{=‚ô²1Š—„ÿ±”ãB¿ì>øsâëåÙl†B¡€³³3<}úkkk(‹R0P.cÁgæ=«¯Ë¥df4 t:ø¾x<Žõõuñ¶V«%R½+¥z‘š¹ÕbWR Ó—áò¥z+AþrtÙè¤/ä ÌÆN;;;R°MÓHÇ Sœ¢¸ 7¢k¶Z-Äãqܽ{‹‹‹Ò?­Õj8>>Æ÷¾÷=<|øPR:9šú@ÄNv½šÍ¦L»ª®Ï°¤¢£†íå°V…Þ°Š…*¦VT žn0D»ÝÆùù9jµ^ýu-B¡¼¾®ëØÛÛ“–.ûôBÞ˜ñ÷ÿ÷¸rå 2™Œdœd2)óÒÃáß~û­x©êEêƒ1ɰ Y¯×±¶¶&+§ö&.ƒÿï aÕ°*T¼ÌûÔ{ ‘T¯×ñàÁƒ9ZÆö§ú<Ïž=“Á(2.iš†½½=éTŠèñÚk¯Á4M‘|8¢âßõë×Q.—Å›ˆaêC#é©\A‚¾ê]*¶ü!ªx©._“˜¨þœ}à¢Êzøð!Z­îÞ½‹\.'¬àeï÷§ú§H&“¢pΦÓéà_þå_„Ú‘Mœüt¶m‹Q¦Ó):ƒ²Ù,R©ªÕªP•Öùûu£^¨Dâ~™Æ\¾.{žÊþUyI-+yOjƒýÑ£G888ÀG}$CB/{ßÙl†……üèG?%¾ËŒ£T*áüü\n2™¼¨DÒé´ôƒÙóu·nÝÂÆÆ2™ŒX_í)!ä³°°07C¢ò'5QäÏiz FÒ`|z>/.œçy¨Õjøâ‹/ðÚk¯aii ­VK¶?°±N ‡( sã)”ü¹0«««ØÜÜ9/ Bc/‚Çj9î`Y–ì# ‡Ãò0Ä£Ë|­ßï£Z­ i¥±è _ªdýjÒ›9€y6.7¾UuˆjÏh4½{÷`Û6îÞ½+Ÿ*-¢úÎrôÊ•+(‹H§Ó°m[fmB¡LÓÄÍ›7%2Xæi”¯ºÝ®ð7MÓd0œ£Åb™LfŽ‹1ÔT™ø7qtt„^¯7×ágøò{œ’W©_@O¤DƒÓÃù@jtøàD"7ÛßßÇþþ>vww1 °¼¼Œõõu™Ïf†ÕÓDZ»»‹jµŠŸÿüçøþ÷¿/áÊmdœl ‘Qêü6£€h¾ïöm|ôÑGxüø±P$ÎÏϱ¸¸8·GC¦¾ó”H$"X•JEÀZus×Ùl†ضååe‘»r¹qõêU¸®‹J¥ØÚÚÂýû÷‘J¥pçÎ/Dѽ½=ŒF#é7 #Á¦i¢×ë᫯¾Â矎r¹ Ó4ñÑGáƒ>á ßï£Ùl¢Õj‰GÒ8”ÛØv¥âB¢MØ-|çw°°°€óóó b—Œ „`·`/•JH§Ó’­U僠ÎI¥R¸qã^}õU¬­­ ¨s!8&R¯×e8hwwÿöoÿ†_þò—ØÝÝÅ£GðùçŸãìì ×®]C6›•ÝT¥R Ùlãñ¿ýíoe˜s8âý÷ßÇ?üÃ?H¶eåà åyj•œŽ`äpχ¨ˆÕlú‹E¼ýöÛ/h ½–toiàb£I<G±Xĵk×°··7·§î2™-‹²—¢ßïËØEŠd2‰›7obaaAÙÿùŸÿ‰ƒƒÙàsxxˆ \½zKKK¸rå ž={†F£!\ŒSøñx?ýéOQ«ÕðÑGɈ1ûØÍf•JEôIzw`ªj¹®‹f³){Dèq¼TFÀ$Ãö­Ú R{4µZ ׯ_Ç~ðœ](ÒlçqN)ŸY1öm¤Óid³Y”J%ÉÚjæâ›u:I*Žã #N£T*Í©ºƒÁÃá­V ¾ïãêÕ«"ý///ã¯þê¯d²‹Ix1SÃqaöŸ=ÛÍfOív[F:ÈQ9$E©%£Úûàÿ3à'?ù Þÿ}è‹‹‹«Ú\Û¶çÔàÅ^Œ~¿Z­&{+Ôðå•Íf%0ô9>ëûSR­V [[[ØØØÀêê*^ýu‹Epÿ2wƒ—J¥’,Êh4B0Ä`0>ÇÑ:±ßïãôôÝnW<0KAÀâCj…¤–{ªÊªÉ²,ܽ{†ã8±˜}(Ï«{9HEÂ!â©• jowîÜA"‘@½^—$î-®T*ØßßG£ÑÀÊÊ Þ~ûmÉêªûá‡âììLø·y±{ÆûåÌ 1G3ºÝ.úý>ž>}ŠÿþïÿÆ•+Wdl˜Õ9%‡•ÔZŒ0ÎVÓk#‘Œ¥¥%T«UœÉ ÷h4B¯×“š\MÓÏç±°°€ååeœžžÎy¨ÚpªT*ØÛÛÇ~ˆW^yEð•c"Žã`uuÅbQêR.+zÉÒÒ’ô_ø•!gš&nܸ!B9ª:0DÈ›èOž<'X]]•l¿¸¸ˆ………¹­±Ô&Õ¡#Ïó RI§ÓA4Åh4B,“Í…BaŽ™³E™H$dÿ3˜šµG£¾ùæ\½zUø#Û¥ªxpzzŠƒƒT«UdâÍÑ ©ã±Ç¢ëºlÀá‚1Rh,ß÷…“f±¾ŽF£²s}8b4áää÷ïßG$ÁÒÒnß¾?ù“?ÁÚÚš´;8ÈĦS8†~çλݮô …‚ܼ®ë¢LÐHìp<—“üÑhTjÄË”©TJ*UÄ$Ym48==•yjö#ØÜîõz"r^®SUìUÃÌ÷}Ôj5yONN¤væœ#aˆ˜ËÅi·ÛØÝÝÅÓ§O±³³ƒV«%³1³ÙLåu]‡ñÞ{ïá¿øö÷÷qzzŠR©4ç)̘ì p+ìÂÂlÛF¹\–vàd2\â‘Fp÷87ب ÂsHÚi vyÜ9ÀƾÚf$†óuHˆÊ ˱³³3™å ɇEï¥Ùl¢Ñh`cc>èZ[[C"‘¸€½Ñh„wÞyårårFÅbµZMø%¢x<.ÕG"‘@.—ógÏ$³‘{ñßN½^O²$±N»FB¶ù„¾'õFB)  *6¼gn¸î÷û( xÿý÷ñÙgŸÉ¾jµŠf³)|” $™LJû‚=ñüùsœœœàÁƒH§ÓÈçóS±Ì>ù|;;;h·ÛršYíPñM¶¶¶Ðíve’¼0 ‰œïº®()Ütȱ ò0Ï»8ƒ!—Ë!N θ Íbbù¿.U)&Þñ„‘õõulll`ssëëëòs&µ·“J¥d²A=+‚xOµÉ÷}h•J£Ñ·oßF(ÂÆÆž?.¥Wˆ+|zzŠ­­-|ýõ×h4rÞ»c,ãx5 ´Z-”Ëe¡7Œ‹}À,ÚyŒ =˜ O‘÷÷]$Íý~_úÜìÆiš†••üøÇ?–-lÜd­z2á‰{ú …–––P,eƒ97;Cœ¯WWWñÊ+¯àÞ½{ÈårX]] ¨×ë¡ßï£Õjáøø'''²s]íÚsw¥aÂ#Çã±Ì[ߺuKïÜ:?N‘Íf±½½·ÞzKšÛ³Ù ½^õz]æ ÿ.jë4…e³Y¬­­akk étZzÀ7æB’¾Q ±HÞy&ƒa08÷§ë:nÞ¼‰¯¾ú ÛÛÛÈf³Â™¸‘ 'È÷/f©c±Êå²èydú\ÇqdŸÉh4’dµ¼¼ŒíímÜ¿|ðÁ\ —Ë!•JÍ•UT“Õ‡dÀPd›‚\Ñ0 d³Y|øá‡r†—a¼8—†Ø,g!(d,i)úº®‹~¿z½ýÇ?þñÇ­V ûûû"1µZ-T*œÉÉÌ€¤Ä/*¶mc0Ì·D,¢êÌ Öf½J™ìôôTÞs6›IKQÝÉN¦¼OÜåæB––õz»»»po½õlÛ†ëº(‹8??GµZ•‘>uæ›Ô†ò•ºšÛÝIDAT¹Fm9Ȉ履~*ƒƒ ­L&# €xœmÛ…B"Ñ‹R©”|Sžqà8ŽŽŽ`Û6ŽeÛ=wp'øÂ …Â\†¦w©=s›ŸÕQîíõzxüø±œGsãÆ ‰Œd2‰?û³?“q^ ®|?’eÌó{j’abËd2mM¶2ƒÁàœbK6Oa•¢%E5—‡±Õétä§Ó©$f. ªL"º®Ëž:r1C=‚û¹Å–µ9qŽõ/!Èçó(•J"©‘CÇÂá°(<Á`pî,.ÖÃŒµïLtç‚ÆÐÔm®ì“žÐP©«q¼w8 ¤{ó¶ñxŒ³³3T*4›Mضz½.ÕÆææ&²Ù,nÞ¼‰\.'²V½^G·Û• 1étKKK"˜òa9ºË}+ét¦iâ7ÞŒ§g©• ‘šN§h6›sMu6±ªnHÛè·oßþ˜4€!‘J¥$ûgX2\èòÜЬeTw^S(`Û¶”vÌÆê¼IµZ•¿'Å`&¾|Þ1ªÕjáàà@°¸’¿r労kÕ¬ú›ßüF<Šç)ÐYdöï;O#>2³³_£ë: jjdûÄ–F£!¥K&ö{ùjwŽÉ„‹@%¥h·Ûxþü9nß¾7n •J ˆs—çÊÊ åf9ƒÝétdG%uJ"Æã18¦GXH¥Rxýõ×EáQûÌTßi(•¤3¹q&’Nh!Ýá÷õ×^{íc#r †ÀÍ14–:jb ŠÌ­¤ÜI’ÌòÏó<kynÌÊÊŠœM˜ËåäLÒ6~8w]©TP¯×‰D¤¹¯Ž„¸®‹ÓÓSÔëu¤Ói‹EQQèÉ„ö¿ù曂Àw4…üu8ŠÐJÝŽ:0`Ìf39éšnL¼cØò…8“BÕ…á‘ÍfŵI’‰!Ñh©T '''ØÞÞÆòò²¼ÞÛo¿-øÈi>P0”#x߃™y2¹8¯0cuuUö<Ó`jƒˆbðbކ Çh£‡q+-F(K:ß÷a¨=`&u:AÓ´¹I{JEL8ÑhT^<‰ÈŠSA¡¨™Íf‘ÉdÐétððáCI¥R žçáÕW_•Ðb¸©çɰ5ʺ•¤Þó<<}úñx¯¾úª5 ö4È%‰õŒBÛƒÁ±XL#“-[>3KEÓ4¡©ò¹zшücò;žíô|(–K¤ê ÄEžpzzŠÏ?ÿ\p–¡išn.¤:5@£2qø¾ŒÇcܽ{WÎ~`‚ÔÁ#&,˜s±’^Iï&7æOÜ$7ÈŸ^f@*+<J< »S1æ‰|Põ¸S“8jÛ6ðÅ_H‚gùQã}q7©*xr±ªÕ*ÇÁ›o¾‰¥¥%10TÔËzjÛ–·™,/z_N&iyÐ9ô[·n}Lp¤§Ð½©ˆ?‘vÐ À,Àùwì°U_çêº.[(ˆ+ä_–e‰çªÀE¡ŠÝl6±ººŠÅÅÅÿ5WÈjôH­ 8—ó?ÿó?H&“òL—7ÿP¦CñuèýÀwg&P–W%w>,Á–žÈTN¯$ÿS'³ÔÝæê˜®ê…wîÜÁ·ß~‹O>ù_ý5þüÏÿš¦ÉŽJîgã„=½ýìì µZ ù|^j\µÄb–T#ŠU„LT}'R„B!‘¿˜,ÕΠ:¢†’'F£‹)}†%(Nê3”ø\Yf#ò$žþˆ6É4WŠÉˆìBç_þå_"™LbssŸ|ò îÝ»‡|>/}ZžAH•Ð÷¿ÿ}¼óÎ;R q‘þÐÅ×ð}_x(+®—¸CŠCæä§áp½^ïÂi(õ°¾¤ÁHRÕF3»Sêä(u@nF&ozuàßqïٻヒüÇÄÉÉ ªÕªLkÑÀÍfSÎä+L\o¿ý6®_¿þ¦^¬é)Þr$™}^õ"¤QHP“K2™¼8x‡'R²ŽU›5 QjpjÀe¢PÏS‡s'ý0Máp_}õÞzë-|ï{ßC.—“j†¼Ëó<üæ7¿ÁgŸ}†F£!Íõn·‹ý×ÅßýÝßáÎ;R5ð~ÔHQ¿ªá e€”RŸbÿ˜Î¥Ò<¶L}ßG«Õºñåˆ-ÃÆ3MSæ¤yp_”¿G€g…Bµ–mu–Z=o2™ R© Z­"‰Ì%+]בÉd0™LðøñcxÞÅ~·T*%ƒš'''øôÓO±½½ý¿ftTj¦F•Ú?Ö4 ™LfN]&Æñžéqj³ŸM.Þ§Æ1†+W‘|‹d–Âïûr"$y" áˆHaˆ_Ò¡ž×ét°±±!㺠_–†¿úÕ¯°¹¹) –o“ÉgggøôÓOqttôÒ­ 4 ¿ªÍu0 8³Cêuù"©¦8ŽG‘N‚0ëñÍÙ´áÐŽºgN|窤TÝ*@ÊÂs ö÷÷¥ñÃ÷& àöZÖ¯ê–u0”Ÿ ¡^ªç]V“ù•CÑhT>t Í“€Õ×£¡~ÕR©”Ô¤4  ¢ê³›Åç lj„´#ù¹˜ÊÓX¬ãË/¿”P•ß÷ß_²$ ¾§ïûxå•WðOÿôOxã7dO³ê-jªaÍg凯éa¬ÝU•‰•FrúP¼qÞ°ZlS,%O¤¤Ï•¸(šð(,–¿Æh4’^¡"t}uïoh<‹:M¬RÛ‹¼Q–eL,|.û±Žã`cc?øÁN§WMÓÄòò2<Ï“FpQbݹs¥RiŽ£©Q¤–oê³ðÿ}ÿÅÉ•Žãˆ÷sä˜B0kaÞ4•É‹T*Ù€°lÞ© Ý•“ž”´8þÁ>0ðBÕ`C*ÏpfŸ„šYqkk årynÈ;âÖ­[‚i̘³Ù ¯½öšÐ)†«º‹êrøª0Åû ªDõˆRÏÒæßóL.. ¡ 4†™aË~)3*1†+Ésš …®\¹"^«RvðXªÕ õ=ž|Y.—ñàÁᓤľn·+FH$X\\ðâÀDNͺTZ(O©• Îm4&{.\â±§ÑA4MÓdUÙqçÉ"_”BÁ¹† &¦r2¼Y–LŸÚ!Ãéw¿ûšÍ¦< C+J48Ž#¿ïbÉ¥ÊXêW&Fî?a†çÌ ïŸ0£*;ÐuÚåÞG¯×“™i¦kf?U½¦âº€œÁE^GìRAš4‚SZ¬Og³™ì á÷ɹš„[U~ßE°¿l8•Úär99O‹ÑF} CU©ÈebŒ.•7©'•«2EVŠžªz‹Å°¸¸(=bõ†5€ÿµ'W;þÿø¹£:)z²¡Ä3U¹«ž‹C¯U¤n\$©¥%ú*ÙWi–z&µúýp8,çÐh<þ€”`jBÏ$FªsÅjÆ#¤ÓiÑÚèö—;ûÔÚÔs ¸Ôûè¡qMÓ¤‰Dd–‘˜M#]ö@w¹ êÏYßówY qXŠ 6·IøþEë“Vjs`¸P)!Çã«®Ï$ÑTgKÈØÛà›T*…X,&F!ß䃩aÁ»" Ÿ(“±Ezÿþ}™¤ ‘ÔD¢f\²."ƶmd³Y4›MhÚÅü«+œ‹Ãýêá»z<ÿ€LçsŸeuVe¥B%šµ4%ü\.7'[‘š±;ÆÓ.ƒÁ‹#J8vÌþð—_~)‹ÄlÏyEžc­z1Ø‹­f]Õ# Þ»½½ 9¦ž£"|V5q.ˆ 1½óS8 ÊBx±Õ€xC,a†¥q,Ë‚mÛs\Òu_|Ì$¡€¯§fV$¥Ói´ÛmÎá7êЈñxƒÁ<1X­0èÝ/“éÔ$ …P,ÑëõD¼àÈ2ù¯z87Ûó‚Ï懚Ð9MÀ0`-L&HÓåùIY­åkÐËÔM{¤ êÉä 1ÿîoä—¿ü%NOOe‰“j¸^ÏÊOSEÎC«ýfc.Ðp8¼8|ŒuŸ¦iBrÙ…'Q›Ýdíl]ü¹†aÈ€:?ô„`Ï¡!UV"ŒSù!+{{{øê«¯d;‚Jì™=ÏÃÁÁþë¿þkn”ƒ 𲜥ÊS:TRœ já‡ôé»YêyÕ‚/Ì>ì¨ ­ŽƒQ Rû¥„frµ%ȬÎÌ …dó"½ó.>”ð$¸¹Hüþoû[ ®.Ô½lLUTÈçóÂ-g³‹w:‡Ê¹ØüÄ- ÊÇÕªé™Få …æ4w“Šû4¸:¤1KÒ3¦Ó)¾ýö[yâñF­ g³™ôl5M“IsÊKNGÚlÖ·Ûmù¹&½QMüP.žzÑ+øwŽãà믿O§0›¾ìïùŒKKKRq¨µ¸Zi©J7ÉÿÝO ÐZð)IEND®B`‚rgm:1950<br>World Champion, 1948-57, 1958-60, 1961-63.<br>1962.11.03????.??.??POLfmÿÿØñ& ÿÿØñ G G     = = I I T > ? ? ? 6 ; : : : + + + " 'I Tÿÿÿÿ1971.12.12????.??.??NEDfmÿÿØñ0    .ÿÿØñ .ÿÿØñ . . 1 . . . . . . . . . . . . . .1I 1ÿÿÿÿ1975.07.10????.??.??ARGfmÿÿØñ/  . Q L 8 ) 3 B B B B B B B B B B VÿÿØñ V0E Vÿÿÿÿ1923.04.211987.02.02RUS gm+cgm  `ÿÿØñ tÿÿØñ ’ ’ˆcgm:1966 gm:1984<br>Winner, 7. World Correspondence Ch (1972-78)<br>1947.03.03????.??.??USAfmÿÿØñ7 L P J a 8 J Z G J > \ L 4 8 8 .  8I aÿÿÿÿ1952.12.18????.??.??NZLfmÿÿØñ ÿÿØñü üü 8 8 8 D 8 8 @ @ 7 7 7 7 7     I Dÿÿÿÿ1960.06.09????.??.??HUNgm?ÿÿØñ¶ÿÿØñ GÿÿØñ °ÿÿØñ ƒÿÿØñ « ° É « º ° ¦ ¦ÿÿØñ ÎÿÿØñ ÓÿÿØñ ¿ Ø Ý ÓÿÿØñ Ø Ø û  ñ ì â É É ² ° ¦ ® ³ ³ ½ Á   » ¯ ¶ ¶ Æ Á ÌI ÿÿÿÿ1964.06.04????.??.??NORfm%ÿÿØñÔÿÿØñ  )ÿÿØñ ÿÿØñ  üÙÙÙÙÙÙÙÙÙóóóãÔÔÔÔÔÔÐÐÐI )ÿÿÿÿ1970.01.08????.??.??GER-ÿÿØñ(¶ÿÿØñ¬¬¬¬¬ÀÿÿØñÀÃÃľ¾¾¾¾¾¾ÎÎÚåååó)Ióÿÿÿÿ1976.05.04????.??.??DEN-ÿÿØñ<z’xyy=I’ÿÿÿÿ1953.11.30????.??.??USAimÿÿØñ `ÿÿØñ =ÿÿØñ ÿÿØñ ÿÿØñ                 I `ÿÿÿÿ1965.05.11????.??.??GERfmÿÿØñ0 8 ) = L L     - "       1I Lÿÿÿÿ1982.06.09????.??.??POLimÿÿØñ0ýC\\a\¢¬’¯ûú + + + V c p s { € Š • |1I •ÿÿÿÿ????.??.??????.??.??LTU-ÿÿØñ9¤¦º“†€~ˆ˜ÊããÿÿØñÞÞ:Iãÿÿÿÿ1972.07.13????.??.??SLOim!ÿÿØñ+ 3ÿÿØñ QÿÿØñ 8 ` ` o e ƒ ~ ) U [ { w \ ^ ^ ^ F = = : D D D F A,I ƒÿÿÿÿ1977.03.01????.??.??RUS-ÿÿØñ6Ê„| £“’’’¥¥©ÏÑÔÏÏÏ®7IÔÿÿÿÿ1985.04.16????.??.??UKR- ÿÿØñ>Ò¿{{ww……••?IÒÿÿÿÿ1967.07.15????.??.??BULgm"ÿÿØñ .ÿÿØñ Î Ä º ¿ É Ä Î Ø ñ â ì ö í þ ô      ü ü ï â ì I ÿÿÿÿ1951.11.01????.??.??ARG-ÿÿØñ0ÔÿÿØñÞÞÿÿØñèúúú ÿÿØñ 1E ÿÿÿÿ1936.04.08????.??.??LTU fm+cgmÿÿØñ0 ) $  . . $  þöôô    ôôïïï ÿÿØñ  1I .ÿÿÿÿ1960.07.31????.??.??RUS-ÿÿØñ<ϱ§§˜˜˜˜¨¨=IÏÿÿÿÿ1969.06.07????.??.??GEOimÿÿØñ0   ) . . .  ƒ … ˜ q q t s m m | Š ž § ª   ¦1I ªÿÿÿÿ1968.06.29????.??.??RUS-ÿÿØñ0   òèèèèèèçÿ             1I ÿÿÿÿ1972.12.19????.??.??USAimÿÿØñ.¶ÿÿØñ B íÅíè G =   I N G B V Y v | Š Ÿ Œ } k g a/I Ÿÿÿÿÿ1966.06.14????.??.??ESP-ÿÿØñ3 $ò ÙÚÓ¿ÓÌ“Œyyyxxx‚‚‚4I $ÿÿÿÿ1979.08.09????.??.??ESP-ÿÿØñ6±±    ¤¢­Ä»»»¬°ÀÀÌì7Iìÿÿÿÿ1987.07.28????.??.??ARM-ÿÿØñ8ÔÔÜÜÜÜêàààÿÿØñ õõ > ` “9I “ÿÿÿÿ1988.10.24????.??.??UKR-ÿÿØñFÿÿ GI ÿÿÿÿ1960.08.05????.??.??ISRfmÿÿØñ ÿÿØñ ÿÿØñ ÿÿØñ ÿÿØñ         û ) ) " . ? ? ?I ?ÿÿÿÿ1954.06.09????.??.??ITAfm-ÿÿØñ ÿÿØñ  )ÿÿØñ ÿÿØñèÿÿØñ ÿÿØñ òòòòòü     æÙ×ÞáÑäØìÛÛæï÷îI )ÿÿÿÿ1976.07.23????.??.??HUN gm+wgm0ÿÿØñ 3ÿÿØñ û û ö ì ì ö ö  # F F F F K s i U n s i u o b ` t w ~ ~ u u y } Œ › ž ¢ ¨ ¨ ¨ ¨ ¨ ¬ ¯ O ¯‰PNG  IHDRPdú· IDATxœŒ¼I“äHš¦÷@¡PU,Û|-—ªÌ¬¬©ªf÷°»ÙÍ É®7òÄ…7þŒúU<ñ2"äaf822Âì\"#2ÂÃ7[±(À`æîQÅ‘Q‡¹Ã±¼ú­ï÷©z—_þUÏa8R`¤ÄZ‹’5=­Ò'è»ãé'è\‹>k.Õ4ôJ>œok”<¶~o´ î:>]㨜žïÉßz€wí0 âŸîñߎ¢ µÁŒ€u¶¤qœÁÃM” @Jjzjzš@áa4}ƒôTø¸¦yž ð`|Ùx‡cíËp—#%¾#è;¼@Ó-°›²kˆLH¤$®×¨:£n{B#hìŽÀÄ({êžÅí®ñ£€H†@B$­6DnGé4P9› Þa´³A«šæø]’`ñc;øX…ôÑA@9~ï›æÉùÞ'_þu_»a–Œ1Ǩ]st IC>€÷ģ껖¾©ðµ–Xtƒ=¤Ý ù3íC ƒË0 ÓÞö›~Be-»Gê°r‚ÆæÄqBÝö¬lG[çùJ!Œ¡³ƒ¤ì½¨?åî#ûù«îÛè¿ú³^ûƒúz~âq#ˆFJ¬sÇŸàž@ûàÊM‹o"cPõž$èpyA^dœNfËW,–‹gϸ\.ñäpÿÖv8×b¸&ï&Ð|)ÒgSA±ßñöæŠëMg÷ìlMÖÏ™çyݡӥm¨=A„ôZÔØšj” ƒWþ¥ó1p^Òs”6Õw”ÄÚ5é£\û¼ÎVcÐA@Ð7HFI#ÔD^‹LS°9/Ã=^xAt:ET+”™™”³eÌI¡½5‡%ë ¼þ„™Ú%èÏ™¤>uß`ü¯ùÇÏ7?þÄýV1+›í–›NQþôu;LD˜Îhw9~eŸ¨t`Jê £mš–òÚÀà J9üÏc5~üý^ß4ø‹óO~ë!}úîÁ°úbøÞ7®qˆÖáw-RxеL”a"éI©ÖDIÊL´Pm!ß21Ȉ Û0›Lxq#hÊ[–H_Ð6ŽI˜âÚ†À´Ôµe½)iªü¶¥k-NÍ8›*f©!è=Ó1,誂Æ:Ùhƒ–¡5uÕPtž/hû_ú4£km×1£Á‰`x÷@ÒwN<ØL)m× tý¤çA×áùþðó³_þí±ƒâ‰è©=z½¢OLÄpjd ’žÔ‡^‡L¼ €¶ªŽªu{wC*jÂ(à“¹ ˜½@™ —§)Ïf’UVaüK K¬’a¦õ£˜¬jq «hª7äÝ„eÜ2;ýŒPk²í7…ÏêfÅëÕ=m›à×·¬JŸ›ýž›­eeûwðäûn²íÞãxññ¨œ;J¨‚£ÔœŒ>Ò>2šæ#»P{®,MÀ¨é »bÍ\h4áôb÷-ùº¢øð#}á±ôâÁLsr:c·oÙnv\¾ø ¿|5%+sŒxInñú ¯¤ |²í»|þ:h>¥Û7tAËjsÒ†$\pi ­ÖD7%›ý -°XœQô36Ù5¢ÎÑé F›Ø5Ž©ö©ÆÐ`Ö”¬>Š•€ÎhØ1€UñÇ™JçZüÉòùo”¸®CŽ®?è[ÚÚ’@"¤b’ÄøBJÅÔË™*ÄkÐÕŽI(0¥£Ûýˆò<<P×KÓq˜äs¢ö»WW8I%ŸÿüÏ ¥‡§ZÂø%U·Á‰¯ ñ¢€µõùéê|¿åd~Æla‚ÐDˆ.b“ÝÒö=Ï–1ŠŠŸn¶¬ïWTeAàö,/>ÅS!Õæg&¸¶ÅH1d)­£î½!= 4ž/ð|A?‚Úw"4ø¸?‘ªÌ\ß4ø§çŸüö …]Û3=²ÊRqb|´2œ…Ö[^0 ÎL¦gP¼§-nØä²Ûðrþ5¯Î{L²äìü„‹gK”Tx=dUÃ>·,§Ï9»¸@ˆg×èð¯­ñü–ºvLBÃÕõ5ïßßr1KH’®mñ•@ꄨ@Ñö TÌrãl†Wm¨P¸õ;„ˉ£”¶i¨]uE3: [`è@Òö Aô|­k´”!Oˆ'<ï!•{ËL‘oR£™ËžsQ03†øÙ§ìŠŠ|ó¢ZWߣÌ€ËE„4g¬í7œóê“%Ÿ½üsÎN^1M.ÁŸ°¾_ñ~û#uãpvMÝ:¤…OYU¸ê@h´tõžûbOÝ7øJÐÖÛÝð€Y9Ä…©n‰Â _ý“_ò›ßü'üò³SŠF øüù 3¼ª_ vì< ™jŸºëèFÇR5Í(y =tçZ¼ãñ19€75ÛºÞQàêQg¬1$:"4'óB6ÕœÚJ„rDþ¡o¶áv•£Í-ÓÙÏPƒo¾L'-Ì®|Íþöޫ߱/ÊÞðâ³€¼¼eµSEIèK²ÒcWAU /¯¼€ª»e³jÙItà+ÌíªnÎBö\¾X-^ñÿüÛËÕ¶f6…³å%÷Ü®¶„XÊ0¦¦E ¨yŒ«ñ§€*å;ărãÁu‡ú!sU‰T!EÓÕ–lÛó&œá—%'3Áœ3òÆ"eÏóYÇ|Éø—¤Óçœ<ÿ„Cæ(¤‡ŽÞH¦É%i´£\CѼ¹ºãæ‡5}°Ç‹ô•âþê︮kZ/¥Ý^±½þê³ ¢ð¯(ÊÞmz¶» e;}x#oÎ̬y}'ù4†_ÿâ3Êʱý×ÿ†wß|ÃôtÁ2ÒÀ”mÕR?Êm•“!~Lx”Î9Þ"à^ ^ø1Úæñ± ‰D‡šÎÐB@½ƒrC›Kz3! NµW9z5ãÕsxûþgo¸|ù+´¢UJmµ…ÂmS‰9÷ÛŒ|·æýw‡o&Lg)¹ÍÉn>`½ ëûëUu>zqJþÝ7¬7Êì'öÈÝð "í33{Zo޶ßñþfÆ—3øêÓ >¼ÎíÝk®ÞÿDE„Óç”v ÞÖ(!<wxC<9zä£*7LQøóÓ—¿µÎ ¦Õó¾h_RVUgè6ÃD §IÂ<ŽÙì÷È@ÓŠ€}–aÇéé)M[ñá6cy2g~~‰Ž&Ø:É–Þ¶ä»–·ï¿g}…¨3*×°¾¹§h{ÂhJ³½áÛûšbsGÕt´vÏë\ñë/^ðùó—|óýxóú-›6ïG¯–LdAL©«cbúzÇݶ Ï*’$"œ,(êŽìíwdzJèñŒMå˜Ô¹Ô·í:¤ï?ÕPÛuA€èZ¬}×4àŸ<û-½‡7FÝm×áÚžPJL ñ|…–šib°A¤Oï/°ù{š:GHÁ~W‘¦_¥œ,¦¤³3RÝQ6 싆¶Ù“¹–›þ×WËÙÖš|»Ãˆ–I¨Y­Þs}›“ÙŽ¦k©sKI>ÿä%eÓpõæ¹YíÙìvØ”òiY0mßžTMs/ÀÃ?u×âã!…ÀÇ;‚ ÏGȧ´A¾CáHF&y)îØí[lÍrš’ê–ÜæLg)¾žój&Ùlzn‘ר0Àk2r›suݱÛYÀãÊE\–7”@ÞIœ½¡q‚¶ÈR!‘ñYιÍYøŽ}½­1õ¦·Lô­`G¨$!°™-(7+Þ_ß±ÏJv÷–i¤(M–•l«£Û)ÙσÃσºê ¤´´OÈU-%ò@T£Ó™Ê;r«ž2hi8°ê÷¹¤´ŠÐ¾ž‘G’Ë$Æ$3Ö› Z$øzÎ&¨«>Ë›[èê=Ö›ÐØ[òN’ø©,èLÈ…©)¬c›K\=Ìâ3ÿ9‹´£"E³cí^Œ¯ö–p¶ ÈkòÝçŒÍ6#o=|,y`xL™FôºëFÒáüˆ<Œ†)Ô€Žf0 ë‘O3Æàw Ds ”J[ÑVñü…í0^I?b;›mø`ïIç &ÜÜnÙ°Ùïi6?‘µÂm £¢€TõLcÁ6ˆ=ÔÅRqy1C›!?VBÑRª”ToHŸ-êT»…ú5ûã^]üŒIã÷k¶£ôûkî» ·¥ÆÔŸ€´¢íÆä¡~(‚©J]ã$ ÍåÌCè?ÌÅc”•- 1ÌŒ!Ûî04˜(¢°5«Òç´‘”8úzÇõî3Ë21äÖ²½ù}ŸPå-»Ý-‘ñIh‰Ï_p‚2¹­Ùmßô‰t€6 ʦ³ ‘蘨ÊYû¶¨v‹ž !LWïèÕ ´pԕÊôîG>¬×ØBPÚ ðÙnVM ÞY‹0×4È  W¯vOê8‡²Áãïõè•Ä«<¸íPkhŸÖ\UPöÌÅ)¾Þ²¶Áj¸hâmø°]p•T´Ü¿ù–»ðä˜tû+@°\("_|ÍYØã'SºzÇÔäìÃs¶EÁ4Š˜¤Q<Äe&žŸBJæ:†*§h¡¯{¼® Zœ1?[Pu !N5Ĉ¶päë÷t•¦Ë÷YÅ’w”æ 1rž2†Ø#©:d'GYZ¥,!ýc\è}öË¿íFÒŽ•¸YÚÕÕ÷œŸ¯¿ü§þßøvoš2©K`2L¿gWÁ¾°tû+öþ’—ñÃìi“pzqJÅ)YÌ'dΣ¸¾c—݉Y¤XT4n¬‡:Àul7{V÷«#¸j’òÃÛ÷Ç{íœâþÝn]Lwÿû*æv·â¾éH’9Éb`”JÛ RèùTí (~c©ðÑ´TøO$°r޾iž8’c ­ƒûQ=@õ¸é­S¬EÌ/?{É÷?|ÛÞC8$>¢¼c0½Åó2H'œ…2CA(âYÂùlÂl±$Œ4ε,€fž²Y @DÉ UÕ`FWÈ!P"¢–ÓÙ Ù…αrÊêÝêÝਮßýž¼—(jnGðlë·Âgj 8¦nÚ÷Èm}¬m@¬ëµ”4caÿPÄ—* µ’z¢ªAp¿yÿ†/y…—ÌÌ@yÏÏÎIu;Ø¡º‡(ÁSƒ”õbŽ1>UqdzÓ9Z¥Ä“€åìK"£±õŠªjÙñÓ‹A…«}5ª²×¡õ¤ '¢3+F¸Àc·^a톲ó±ÞƒÈ0b ä•ðòn´íÙš¹”dáË'^Ø 4ÊOR¼ 5Ò-Ûw þ*~ôÓ›,;Æ?e5ÌË4ŽÉ«Ñäì¶ð °ò6×לÎRú²Å‰g$Q‹I%‘ñ™N/ˆ'ž™¡¼-~AÏ ÔK¦ÉxÇ”ÜnÑŸªjqUM4‡Â­ äðä±IÉíŽØ¤Çc-ä 2Ѭ\BWï`â3f¶=ÚßlÝ+Œß“?*έ7·LUŒš/@Û22P]Ð -*òUO ç®qHãûx‡BùGm µs¥Ï¢Þ²Û‚­3ò|Êy¨‘æšeô‚˜NcâIÀéâ9B¦JaTKl¦O®›$Ñ“ŸUá±å­}Ø-ÉÓ¢öAaTå®Î%¬·xgŸ"6ƒ]ÌÉIÍ`“ÕútJÜض:J¡Ÿœ=\¯ï‰’Û¶ˆÃr¨dA]Uüÿ ‰kdÍãlä Æ0”*»ÙjÃÍz‡ÈïÉÅÐh?Ä«7¼<¿DhÓÅstt‚Q-“tN¤Š1ÆŠÔÃõ}ehkËùÉ%YV £ž›ë;¤VHN©º–¶Y±ÍÖO ”$`Ä6«XÌ'Ør³Ú®1ÉsîïÞQ¯o¸u1^yCg&ä»âx6»¡•ÏðË=;Oá ûPp7šzŸà&íi3ÔÁK‹@"]]›ž””Uut(eU ña` 0xJ#uH½{ xLD,`ŒžhÒø‚él~îÒáøÉ>ÐÖö(‰Z¯¤m‰:¨íãã Q¢A t~]â #]—–fìðÒAð@¾ò`¥g‰Û[ ]Kš‡Üصˆ&Gy-èJ‡Èü÷œ¡ Qø ‡Þ [ûÀ្—pä.ê'ûñ<çÑ*XU-Euûä|­}l¹§ bB mãŽÀ-Tû-uyM§F¯n' Gë·ÐJð!ê{à©4*»3Å1ÓhMãõOrâ'TßGCöÎk ½¯¬K”rTI™ÝQmYa½KffKh†Ùîo ã9 èûÛ´„8HfcÑRfÕj£F­¸£íØÑ®}4ªªÅ1áX½;¤xÅ£Óm'¨6wO'Ê„`FýÓÂP,|tµ…ðéh¶ ["l«ö¡¯q”ÈÀ(øˆ¥é•ÊšÚhB­©šæè}»ÚÒŽ3yYï³ë~¨™›éòkܘ/vnG‰Äk*L0€dê{Öµ¦ì#Ê,£*îx{uÍÛ«ë#hUÕRuO¥O>"6¾ÁÙélÂgŸž L}ñº²ÇO ;^ˆÒØ'ñu_øýñÎO9óJnÄqhZª}14‹~dó”Çßyµsa[áê’¹×QàII\ß5»¹¡±9eiùê¹âôù”Y8€'µ¢¨nÙ·¢~OH¢@ckŸ>ÐDõ0e]]"iæøõîø`EuK¤O)Å”šá…†eGõÈTU‹ÎÏ/¸Þìauƒ–=OǦ{  NCM˜É éOèÍz‰õ=t;š"ú¬ 1zæ‡T£ÆÃééû„šÆh¤ô1]ƒ¨3”ï‰)¹ÅE¯¸˜ŸÐô!7d%~°€fœQ7¹}‡“S’G#NNQ€™âªj‰ôP ô)®ª JéA¨òÁÆÎX☪qœ²àv½Âx¯Pé ÚF¼–;ïä¼8îWÙ=‡ÖƒC«±ÑŠ^OZ›«ÖôOWé#k!¡k1=²ÛßÕØÕ© $uFb]áéúž«jÒ4¤§ÇV¿¤ž®ø€“C*'Ý–n<®‡ô èc"ýÔÕh²+k"1d$°"6)Mí@glˇ¸nš„Ø|ËåóW¬nÞ³- ò› jñ§–¨{0±pt Aö[¶EÍí]Cd¨ ‹ù”M9ØÿCCýaLd@íšc›3 ^úá écÛ–PJÂ1+ñ” ŽZ%c±üfd9ÂSj5¾$øñâÈp/Äèú’ÂÍHT qL1*D3BoÅÖƒ“†ƒ µ}JÝ7t]Œ<`aË‚ÆÕLO¦,Ü‚@*"ó’ªqüãîGôöºb97„Usœ8ᶈh¸¶©Ö@‚§#fÊJj³ï¼#X <7AïAT¡yPa\‹‘>ý¡}×÷ j‹ÃCÔ–”šŒ1ý)Þà{•Œ4T™"Tˆ |lÓ"ëçEt}IÝÇà]½E¨AúT éêKˆ—,é«’PôÁslÓÒÕ%4Ž(<£à%|áöÈâ:L8<Ël±Ä„uiùö§[‚ªc–N(ª†Ä/PÚ´ë›+6µÏéITÔ(2Êëо†jôàwíUYÊA…‹ÑB ï!ô¤„ÚQX‹ó|¤NIú‚=pߤøÚg²8£Ìרéóáz@)øäε@¨ÎõQœÔ;G-$ÊëHu€õ>OÓ° HñÆFËRx•¥×†ºÉÛ†¬,ðT@Ëœ¬,èIñ³oÙ— uã(ò O‡ˆG^Ï IžåôU9\s2'Y¾b²øŠdz‰ìÃã¹UÕ¢T‚Ö>u±Þ}àÅ'Ÿóõ¯¾¦2×lvÃ$NãA0QG]Y"0}¤ X_ßb÷¼rK=¶öñ˜wŽ ©Ÿüî°¢AÖÒGS·?ØÛ˜ ­ÃÈ”]§øYOm÷ìòåmX¦!ÞdŽ<Ãì߃۳©Ò–ÄÀ»¢ú†B1‰‚}Ù×pc÷øÙ·|wµb3¦sÚ,£„å| J3S>k” ´OÊŒ| ê®È×Q‘n1aD¤¶yK ÇôK&³jk1¢Ãv¥3|#hížý£Œ3è;s0ÍØ&ܹö¸„­sí@gIB<£é;‚§€Jú¤Ñ lŽ«-ýì”(ˆ`ö‚²‘\¯ïùñõ7¼^ݓΞ1Y\r’Nñg)aV »'BÖ›" ê*Dö†™±ÿð=›lÇ~Óña[rwýŽÛÍŽtì‚ÐÆp–^’Ìÿ@¤'Ð8t<%Q3³=ÕR2öC×»ü±JPÚ°»º?ª”6ˆºJµcÝùt¹`ùjÁÝí{·ã¦öˆDÃ>Ðàš‡ÕYÃ*§ÓPkÔôù@^¨–ífM_°cb:› É~ûžýNç :qÿöw(m˜Î ŠÏQÁŠÞB]::3!‹êa×ÛË@u5zê¥2‘úQð|8Ƶ¨H£…HoÞONOžñÙ³ oê9i”0S=‹çŸröì%mUñÓÃ%lëñá»ßQþçË«O_1™œ Þ}]§\Ýî¨6÷d]GÆåù‚ú›_‘ï÷ü«ÕQñõ—Ÿñ³g—œ$ž™1z,Ξsz²À>¡W`ñ±õÔ]!+Å¥ªc‹Èé|èòÚ”×Ü|Éée:æn§°µ¥±7»§4)‘ ©=m‡Å“}S Ëàä7(¤ÔRR9‡™ˆ#/}6uÇ…WÑëÂT·DA…ž‡œñkè< IDATNc¼YÂÕ/þ 1Žô¦œÜÚŸó‹Í=·w7ôEI??Gû çç'˜IÍ~?¼@dæô“%“fËé3ÚõŽ¢é8}öœÿz2A«˜“å OK.Ó”taÔ &'ôŠcêwUÕ¢˜R¸]Õ"½ÓùšA}+Ë—/ÿšO¿N©Šˆ¼º¦/Þ²ÞɱƒkµçÑx>~ѹïÑràÚ5}‡uùxyçãî„Ѻp°2R‡uKÜ ò¢D§)_?¿dJ®nsº6æóg)/úßps_±¯É:½ø9ÑÙ ’rÇújÁ4‘ç‚`Êyø •šÂfKO8ÑŠ}«·oH–—ìzAFDº¦#<æÎ‡¡£ªâ­}\‘\Pq€ :è`pÏé…G¬ªb}¶û„×ï¾ÅÕ5áò’q Aß²¯†…˜}S=‰ÇÅm5GXY‹'%JJ>æˆS£è§C9s½µ„ñ³©.çÝÕ;Ц£·%7»kæaÄülÂÏ¿úd¸q˜²œ§üìù+„ô°ë’ÔÖlƒå¯ÉmI– ²77$~Mo$±Ý› i죣x¯*î0j¥0ßýñv:¤ÉÐP$»K\Q³Ë7,f3Nô þðýk®ßýH^ôÈÙaïsߎ«4e\­`86æØµ&aàþBìaï•kÑãßzRÜßPDo{OѼ Fùœ?¿ ·¶þŽ|?äÕŸÏ—\žÌIž=g±XÐÄ3‚|Ãd±`±L±ý+ÚiÁ®Ìˆ‹’¦1Ä庰GQA`æ,/žs6‹¹8] Ó±À>vüWÅaÕÑê˜ K­Ž y^gÈH‘rBºÙ­Jœ¸N8½8'’ Þ¬2~ÿ»7Üì=úpìÁé$ †¾í•ÊÆ„uë/R=l$áÜ1´m;„6#QuÝ‘:wuMV×0Öhmí+Ÿgg¤Ó„Oì mÕr6‹©ÅD´ùQîˆÛšÉlÁ§B’u)ñý–Ìûž‚˜—_›¡jü¦%LNʧîöî5F-ÐÑÞcàÃ=jG‹UŠ=½w `öE„ ŸSí+îúŒõjGÖu¥k²Z›¡ÃÁpÕ•CCÔ At)‹ð²¯-µ{HWÔ!~\&‚ÊÄ6duF]4¬+…aàÚ~.YœÍ†Ó!ÞfEÝ9²>!/JÒrŽs_1‰ E± &&'(4-aœ¢„¤î®nQbx¦¢‹©;ŸL-¨>ªà$°p+vÖ@JÞèϘÊôòeÞm[nnGÑxá²\c½ˆZÃú; ñ|”丨܎ҨàØÅ00Ò<õ#à¿Û ™7{œ×â€Ý¸F­ëK<çcT‡úš*÷ޠTN>HE[C2öì‹ÏuœL4uì³Ë[¦=Ú¹ž…Y;ˆ%ät4Vöjç:l½:ôá¡0Õõ!Hñô=}à£ÍKöUÅÍmF>$›ÍžuY[õ$v¿fß ”IÈ…|X±® ]m ššzÜ7çàXäL 6uw”¾€v ìjÖzÂÈ€M糩Z>]&t Av”UIœÄtxM…õ†nzaè'ov‚»ù‰}ÑPív|¸]‘Û’Ø õ•;N8a1w€Û’3=‚8Ô‘»£úVº 娸Þ):üží¶çõ»Ÿxó»ÇmááÌŒ¢(ˆ‚ˆé³3’d†õ"²@Ó*pÍ“­„2xíÐ[Ý÷ÝT{YvܸœîÀÄŒøø`À 7ăeÆÝû?°Ï¾Ä¦3æ‘¡lʦÁÓ!]U³ÞZЬÄÙïü’X @”;|e°Å ¥­È6ßóýë‚Ṵ̀¼xNÜçÜWw„É 0¨gdvT@1Öh…È麘VãjÏv‚ž¨%¾zƒ¨fØþž7W;>Ü×ÜtQvOáyø³ ²FÀ¸²]y‘ލ…OÐXìAU9öŒžYVΩ¬j\âpäÿkKd›¢áZúœI§~( YQa+ÁUUƒÛbâ ¬¯(¢÷nˆî8¥ÁëóÁ.ÓÒ„Èü§¬6ÿš«?°ÙXN.Lgs6åÝQ*wûág3©¶÷0Þ`FrÛb{ŸÄtô¤Dº¢¬€±}Øĵ{üPwŠÎL8-½ï!•Á¶Ž‚£%m”`óœƒoR2÷ kÊ<ôPʃ>Ø>)^¸·Õ¾(C)$ÈŽ™ˆÙÕuTÅžßßm¹<’q¿nèê=Îæä¶BšÍé'_ Lx”¾xmm™ž_0],(lÅÕ(·îg ¤‰ÈMGÄ5çÄfX±Ðö·øÞƒ]õÕžívÂtº£<4%©%Œ¶Úk2ŠFãü§‹«\õ V»ª¼É‚¾È0½‡1ë™có½Ìxüxky¸£ÊJI%6›á¸J¡H­£3•Íyÿ‡ÏþÕ“dÊ&kèUxä¶ÃÙ-)Æëé¶÷xòºí=û¢!– ê†I2a»Z±ÛçøÉ„6ÛSn7ÀŒÀtĦÀÒl¹ß<ϹíˆÍÕ`‡¿hQ•-x3Ó@}Ï®‰ñزkRòâ¡ËâЪòÄTµ¥g3œéjK÷Q&ññ¾ò@×TÖ¢GýV#ìjÊN°aX6S’ÆHØäÔHn7%YQ[¼2ã8»e»ÉhlÍï_CŸ#²aiÄn;¼ÄjóÇ-GÉò’>ilMݶ`kò± ÈG-&YëAÛàKz¿¡&@é =—xì0Ý=ÕX¹ˆœ}cUBRïÈPHÁ«‘xÊ€­†Í6¶+ZõPy<÷GX;wxÌc ‡2lj‡êêá¢R""M`•2¨bOVZîv[’èŒÜëè+‡éÊ#x»,ci~ø=Ùûwló–Ü6x¥e»Ûo2~þg_óêÅ )ž™½¡ÍöÔÉ„zìÅ~ÈLeo ½‡þðoi𩃎‰nqá§xܲᔪÛR4~˜S¤?ƒÍÈ÷r؆«*ÒØªPtÔF#¼A5û±sb:®£ùSC(xRWãg¦^”ŠŽ(ðÑ^0H`mÑÑ¥¿ÙX²¢"î¶ëÙYIck¶ÎaÂÏÌH”B^ÊH„ô¨Â J·Ô㎦»Çs[Šª% ÇõuÍBvHT½& B’d6Ķ€m~]Á‹Â!}B­1¾Ït2ÁCзL|ï`| k±T£èV =ƒHIøM c—i*l I„›rPãO/ JO9©wù–]V 69ß~ûñ¸åH²¼$¶›'’>͉MÈúæŽífÍv3¬C)úÛ–ˆUG'Ç,zŸj$Û<·eÇ3vïX±Äë¶Oî'‹¨P’÷ç”¶â§×ÌÍéÉ9?'Ø›+d/p:Ä“O Á‘ Ò3ÜKzrØpÊÎ J¡è(ƒÀg¦$ußS4-} 1c'BTïøñÍO¼ž>½8£$](v”ÆPonXqƽÝ{Ëí?™ |Ÿr»áÿú鯴ô¡Á+-ß­¾¥µ{–ËK³O‰M@9IðƒšXŽ+@]ÏÞUHé#¤GÑDDl±r Õ=‹u>ó°‡îžÈ+yq’â§'ÌõŠÉ«?C×?ñýÒç>—¼½ßãê[º %6š(Ô\mvGÇqØ¥v E–cŒ9¶BK5Ö:a,¦@"!5&6ØÜ¢<ïHcîZ8{þ’ÄÞQÚß¿¿âÓÅ”$ÒÀ±tÄvƒ^œbº’3ÊëoØîÊÑûþ#ï‹·<‹^Ï^¥—„'—¼üb _c#hE½·”½Å4†–_ *¯×Ñ‚º=ZôX†âù¾tx£E©:‰ñ³ÉÏ8¢ä]ÿDúÉ_ò¿ü7_ñn¿åßÿŸÿ·~÷æ÷ONH¦)Ó0äñJ®Ã:š¨þ—Ÿÿâ· ã¦ÊÕxž@ƒp-û¦Åø‚i@ëÐAÀóÙ“®wÕÝÕôœ4$l–ãIÃ4™$Rô&%Ô‚t¹`9KP&âÙÉK¾øÕW\¾zÎâdB2K1F‘ÌN‘f‚ß5ô@ú.ðUKçyø@?²0nTuë<&² h w=t ý-–Ô~G^¬è=Vooîx÷<;?%Šæ|ñõ¯9ýôý—Nã vÛÙ.£È ¬¾çáÆš‘ô}Œ«©ÚçþùóŸÿö ßU]ƒki}‰TЦ6`œ¤}ÓÒŽ‘ûÄ«“*Iyÿö5¿«*^|ö ¢‡uÛbZGiË9ÒsH`Œ`’ÆÄ‰æä|ÎÅ'ÏQ²§È*Z‡«è\EÙ:œkéû˜Î&@Ñõ(!h=ÐìP~ˆkžðèê¡Ò 1Þ†º4uÉt6%™L© ¹½¾¦‰/x>´ë-{ðWÿâ¿äøçÿŒŸýê7 =~|÷›·ï˜Hи®%۵úžªÀñò‹#€¨… ·ž6ÄÒ§c.|ɤËÙ÷­’†·{G #þâWÿ„ÿñ¿úç¨å’ëŸÞÒ6IÒ!І2Û°Ýdd›Œõõ-’"+Y_ߘaW\c$™ 镯yž¯4ø¾£«;*JZ~}G'|š^`üŒŠ¿ßâ C×lý„Öï‘^E&–ôÍ5m]0?yF¢:¦±¡nd“ñòì‚»¢£ýéß°)5áÙó7Á_ýõ_òë/Á‹‹S~÷ãO|÷ú-ŠŽªkIÃÇØÞÃ?»üì·þ–´]wÌJâ$¦ézlÛa|A'J‡®÷©šŽ¼—\\.øïÿ§ÿ™ÿíÿ_ùüÕ3~ÜöôùšÌ:¢É% ±B”ìqr‚6ûðâÏÎÒõ AAèu¸~ØWU@(D'±ÎCН44×i<û9»«÷¼¾]±Þe$ñ°ƒ¦Q ÿ“O¾ú-p¬‰H5ìmP”Aøƒ ÈwÜeo®>àûa:ãó_|Á÷ÏþŠ_ýgÿEÕñ‡oß³+Öí³ÏJ,†¯*qã2›íž¬z<|éÓ>Jv­•1t5B„4uKõÿõu&=’×ÿEäR¹ÖÒ{OO÷ìjHΔD‘”DZ ,Z°¡»O>ù ø èæ³_  Y†À¶$‹„AË‚44E‹Ö4gz¦·ZsÏÈ "«º‡@¡ YYÙÿ|[¼xïäxޤÔ56iVŠZ)Ð6‚º²q<[”Ø¢E«=;@7ð¬!bN§Sd=ãÖíûìo…\ÝÝ X_g:™PLNp FkÜ»}WÜcwoW+~õñ§Lóœ .$ÐêˆmÛÔ­6N¨«šÃÉ”Ó$ÇAðÊýyã[ïòöþŒwÞûƒõm~s”ðч?cZ×$•"ŒûŒbY™µTG,$Y+;éꂦÁºÔ‡aÙÒж6‘Ë…ËѱÉÖmÓ °eƒR!,h=49®ãѨ–Ðr¶GÙjtSг4­É'8NŸ[·^@ ¨K‡×_»ÍöÝ—ÑÉ„½QHÜe¿1ãï^åöÍk¼úÖWyï;ïPO?æ·‡O°v¶¯ýжm¦!¡Ìršªæl¾àlX–"Ž ÝÃksl­°‘ÔMKÛjã}ÛŒž¢u-ÊH¤ m\×F÷ÀF —Mƒ8¦¶oú5q¼ŽP3NÏ ö6"¶û>I–Óó}¼Ñýˆdžs4žÀø”ÆØèGDQÄ+÷_dçÆ ôžI¨.Õw’¤EAÏìnn±»y‹/¿ó&¯}çO¸·Õc­Ó†>™<ùè Ÿ%„>¼öÊ‚á dÓ‘Î8-²Óß`%cÆÀPX„º¡qGÕ ýADãIÒbЕ’„x@èÅfúøNF^ûH+¥)Z|Ë&l J4m­GQ¥xžE`_ÐÀ+Õ`!±D@Z¨:¢ß†ßAΙÍR†ý„¬ìQMO˜”¯²Èr²º%,rbyŽÞ¸Ê‹7wáSøù/?fÿl‚xó önÞ`{{›÷þð^yé>öå^á›»[¼ö•×Ù»q‹»o~“;/\aÓ·È„ КøÝÔd>æþáz‚í:”noÅ>”6.U6æÜ:`!>&Ö-“$ƒ(€dˆü"¿§Š¶7ÀêY¤E³Jï(²®ü¢ ªsŽqvzFkùl^¿ËFd£¼¿¿ÆxŽE[临&C=Üäæþ>;™ðÁûïãIÉþ›,¾`zj3!H3EyÏ„ç òÌÄg±LLßPIÇ—y7A°ÇÞö£®Öå~Èßÿä>94KQw¿º^Ð÷CŠÕòc)4eQ?÷j”™…ÐzFUñ)ãY+Ûd†ÚîšU׫ Tg3…‰?³|Á¼ñÝœ)›L¦'œ'F‡VB–&èÅ„¬VÈ"a1›‚€Žž@æs‚Àçkß|ƒþÆ.?ý¯ùï‡!3!¸ü›&«™)‡"×¹¦Ë›RÕU Eö|+ÿȺÈ8M4£u§cY›Ï;^a­œHiEä"oMѢ닆Õ\8•Q'Ë–8ÝRq¡¶­‡«LõX­rjZ´cQwí—#Aw´R~Œ×žÓˆÃnÁ>²Þ·ðÂØ´£uã,«V]õ©å¢Ó‹õì¯ÜØçÛモgüøïþõ¢Ù0ÍVg«²¹¦À1öæÒXRÄ2!g¹†°¶Î†ÓNH‹Û·ÞàËï<"OÏx+ÍL}áéSzM²rmÓípã9”¾MXyˆ &S)(#u­m,;úÍÉÄ|2Àûª¦¶[dÞRú64š6_ Ãë5xÒf2žƒ5"–U )Òõ¡,¹%c1 žC/ÇÇEæsʾõú‹?ùŒ_ÿÏgÏ«p6×dsMª4j©*AU=ß# F/w“;^€ã™@&ô üþ`õy3\õ»lìnp<žñááq·j$0£ãô<iÅfÞ[ùÆqÒóã•÷E,X©s+.<¦ÔsŠ*E*(ªtåËR"ÔŒÝ~Ÿ´h9|zÂÚú×®½tñÛ¬c®Lùb~Fšå,’ÅJ•tJùê[ßàÛï¾ý<€=»kï‘\j¥ï@\f³]Ï0Ù—˜ˆVç²fÀ ö¨X#´Ì¾sû;N»ZˆŒ:Å*¾ëulp­›Ó8Ò¨ @™Ð¨E ­Ge—8¶O­rJr|]“ ‡’ÝÕÈUŠp%Ód†U·´Ò#°F4eÆïžž Å  ^‹ôÂt螇vzˆžOá®ZÚ0.u‹ø2Ÿãlm1Ú\ãààvq‰z06 ,AéFü¾q™f¹¸£VËæ?RªÁvduLÚø&´Äöž=f+²¸uýLÔµ¹`® ŒŠ¶´8fÆL ()°%¸NHÕñ€ÈÖØ]µ”nŽ(SÚÞ†¥gˆ:ÁÂt‘¦Õo0 ©*’ &O c6¶vW÷21ì_A–…'2d¸IÚ@š+B‘#ƒÎV%k:g6 ôÐXƒUƒjXÙ¾^•Pλ”¿Ûu5Rü£`ˆ¬Ž±m‹´ð˜*Ÿax{‹Û[;ô¼Ùù1"SZJ,ÈògÆ9`¼j­r2•¢0Ÿ%m­p;ûWI®Z„+ÑU‹"¦Z¢ôŒ&ŲJ)«E 2¦Êjž>"i\67®°=Z{éd¶®E »Zš0ð‘žO$j"Qãd OtWöP Xä]ÑtgÚ–Þ.€º<.s騮ƒô°]Ç h]Ãz'-½±ô}ŸðÉ¡á2(ØTvI–I´jW6ÍuB;$vlzøŽ™Âéî/Á+t‹Ò3TÑÔ6YkµÍíöÆ+ÉùSNÎK¶CÍþNLÅ L½š+¯:gs²é ÂÀ‡^@ìt›,æ«B©ªÛÜå9dT‹zU D«X/ìw\•è¤P¬¤ðò%–’¸t0­»M=ŸA$p†/?! ÿàÿ÷!£0fóʧG ó¶b#ÊÑ ÊbŒ'$E5Cã¸a—,j ÝI¤V-y©hjØL)ýMzyN }2$A×ዚô Í3"K±qõ.ƒáEÇà»”¼À‘´^4È®!ì £‚­«ÔáEçƒØÇ^J^] Ý‚qáaæFÆžU…½²}U%VÒwD׃xh@_©¶jpÚ ™òÙi>ñÚæþÁ:ù¬ÏOõ¯s«gAg‰E *la˜„7…ÊØ¹¼Tø=›¼¼T‚\'d¥EЋI‹”FXd@ }FaLßi=›ÅdÆâ±!Ã}éî]®_ÛFF#†C3 Ihidà6ÆÒ^è"V›©'ð~ô¼^‚³Œâ/Ê—íßê˜wD3צ®yV’ÏgÔrDÅÃþ›†‚ØŽÜå¢Xð³ÿxŸ³ñ”nzÒÔ6“tAY¥$ (=£Ð-™öWà-’œEvQ/˜• k—@úÒ§Và%“Ÿž°(ÇìlqãÎUúë»x²e5Ü+uXÔŸïŽ1c,|™æÛs âYׂ"ïâ¾3¿­ê•:^vUyV®Tû²$.ÍD¸ˆëÂdc®¼ð%ö7×yv>csw—·¾û}ÞÿÏ_ðÑ£1M^RÚ#Éê–¬nij›E’Ó¤cšÚîTÒòœfÿÉ]¤äþšiÊé:?>b|þŒ0l¹wçEÜ¿Ëþî&^ÏtˆžO…ÆÎ>qàJV5Ý¢£ð[JßätÌižá>yG3*?0_–ºåƒ‘Î%pJ5+ ëJáz\ eX·›‘ S9ë›;¬ï_còìf\ßÙâÞëoÓ÷\}ú Ç3æOÛ5XKhS²rA Í euKV.Ðù„Ðñ pÝòJÇ„Ñh€,‡iÁɳ”4•¬­ïðàþ]âxƒiÒí‡äôðZEëE_¬-rÚ"g~jàf'Où͹b²8Ãõ\Ü(ZåIíd.V7­ÔïÝË’¥TóœtÚ®ÃllŽ-–NäR€m»Ó êBÄ>·ö¶8úõC¦v£¯î­3”_ã³Ã~ýèc’á:£ì ®o³>Ú6 " z1YÝ’ÖºX‡ÂFèùàH‚¸¿RÙñù3ÒT†-ׯÞâÆ«lì]A$ÏÏÝóº&,fD´²A¶¼Gg36—¬n™Ì-zÕ˜ÖB‡­«W â‹ÂKŒ ««/ÆsÿßX~_Žp9¥» òåkmbF;ëœ?zÄS8둱Y¾äìø G“‚-1ÂÉJ,« tá!¼@{¤@´î“œç$ÀÖ:|úø™?¥®g8΀ýƒ-®Ý¼Éþ® –óg§È`€'[³ç‘c‚Úô”Édθç3ü¶ép>™£{^yÄOE:¸‘ í2!{{wVIDAT(0Eê+[f»Îs ®Àª®g~zL]äœOp<ŸÀ“*€û·_൯‰l~ʇç9™?¥®ÍCk€á0æúÕ¬ C4ðÙù˜mQ`{!mfhMçVİšâ: “Z¡ŠcloD–Ÿ ;ºH(+¦¥fakªaÀõƒ[q°ÊZyh¾!óû¥/«çê¥sˆ¼‹24§PÝ»­ÒûN—¡>Ê®„°>\ãpó > > > 4 4 4 4 4 4 4 41I >ÿÿÿÿ1961.06.03????.??.??SUIim8ÿÿØñ 8ÿÿØñ QÿÿØñ ƒ ƒ yÿÿØñ eÿÿØñ ÿÿØñ ƒÿÿØñ ~ÿÿØñ ˆÿÿØñ [ y t ° ¦ ¡ œ — ˆ y x ‚ t p r r w w ~ Œ s d [I °ÿÿÿÿ????.??.??????.??.??NORim" ˆ ˆÿÿØñ yÿÿØñ y ~ÿÿØñ ’ÿÿØñ( ’ÿÿØñ ’ ’ ’ ’ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡ ‡I ’ÿÿÿÿ1982.03.05????.??.??GER-ÿÿØñ5¶»ÔÚèãÞÝåñçççïÜéé ' ' '6I 'ÿÿÿÿ1974.10.06????.??.??GRE-ÿÿØñ.ÅÿÿØñÊÊÊÊÊÊÅÿÿØñÅÅÅÑÑÑßßßßßßßßÜÜØ/Ißÿÿÿÿ1956.03.09????.??.??POLfm!ÿÿØñ&ãÿÿØñ ÿÿØñèèí   üü  ÿáááááááÞÞÞÞÞÞ'I ÿÿÿÿ1966.05.04????.??.??GERim!ÿÿØñ ÿÿØñ VÿÿØñ ’ ˆ ˆ ~ ~ ~ ~ „ „ „ „ „ „ „ „ „ „ „ „ „ žI žÿÿÿÿ./chessx-1.3.2/data/players.cpm000644 000765 000024 00000004646 10622423665 016031 0ustar00nistaff000000 000000 °Ð Ðd??Aaberg, AntonAdams, MichaelÜ Anderssen, AdolfAAntic, Dejanj$&Barendregt, Johan TjþBarendse, Tedk|,Botvinnik, Mikhail URSl,Cichocki, Adamœ&Den Boer, Berœü$Dos Santos, RamiroÊEstrin, Yakov BžˆFigler, IlyeŸ–Garbett, Paul A D$Groszpeter, Attila¡Grotnes, Nils R¢tGruber, Thomas£f$Grubert, Christian¤> Gruchacz, Robert¤ÖHeinatz, Thomas¥°"Jedynak, Radoslaw¦z,Jegorovas, Aleksandras§DJelen, Igor§ì Karalkin, Maksim¨Î&Karanda, Konstantin©~Kolev, AtanasªLapicki, Raulªô&Lapienis, Donatas P«¬&Manaenkov, Vladimir¬‚$Managadze, Nikoloz­Manakov, Ilya­ä&Paschall, William M®¬,Pascual Arevalo, Ruben¯‚.Pascual Paredes, Javier°> Pashikian, Arman°î Pasko, Alexander±šPasman, Michael² *Passerotti, Pierluigi²äPolgar, Judit³ö$Polugaevsky, Lev AöÃ*Poluljahov, AleksandrøRosito, JorgeøïRoskar, RobertùÁ Rosmuller, Antonú•"Saverymuttu, Sethû9Savic, Marijanaûí Tetenkina, Irinaü™Teterev, VitalyýaTeufel, JuergenþThal, OlafþÑ&Van Houtte, Thierryÿ›Van Hul, Chrisg$Van Kemenade, Rudy/Wen Yang»Wenaas, Eric?Wendel, StefanïZude, Erik¯Zudov, OlegyZueger, BeatAZwaig, Arne$Zwanzger, Johannese"Zygouris, HristosZyla, JanuszñZysk, Robert Ó./chessx-1.3.2/data/sounds/000755 000765 000024 00000000000 12522204501 015135 5ustar00nistaff000000 000000 ./chessx-1.3.2/data/styles/000755 000765 000024 00000000000 12522204341 015147 5ustar00nistaff000000 000000 ./chessx-1.3.2/data/templates/000755 000765 000024 00000000000 12522204501 015620 5ustar00nistaff000000 000000 ./chessx-1.3.2/data/themes/000755 000765 000024 00000000000 12522204371 015114 5ustar00nistaff000000 000000 ./chessx-1.3.2/data/themes/alpha.png000644 000765 000024 00000145053 10633464147 016731 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖsBIT|dˆ pHYs66Bï®tEXtSoftwarewww.inkscape.org›î< IDATxœìyxUö÷¿§»ª÷l$ö‰ ›‚€ˆ²È"¢8(⠌㊀âˆ(®(ˆŒ £èOAÁ ”EQ–AQU¶@¤“^ÎûGBÞt-ÝNuW%ÔçyιUuï¹çÜ®ª[w9ÄÌ011111111111Ñ‹Þ ˜˜˜˜˜˜˜˜˜˜˜T̆‰‰‰‰‰‰‰‰‰‰‰f˜ Í0;&&&&&&&&&&&šav0LLLLLLLLLLL4Ãì`˜˜˜˜„ˆÒˆ(Mo=LLLLLL* fÃĤQ}"òè­‡Iü ¢Ô¤¤¤g6løSJJÊi§œJNN>™žžþM4Û€‰‰‰‰‰‰:dÆÁ01‰"|`3ÏÒ[íq8·ˆ¢øïsçÎ%…;/))éT^^Þ@à“DéfbbbbbRY0;&&QBD/xÀ1sPg•L4‚ˆ,6›miQQQÿò\çt:ßÍÏÏ¿5^z™˜˜"²HV9|Æ|6˜˜˜S¤LL¢‚ˆnð`ÉŸMôÓQ±X,–·s#ÒÒÒˆ‡N&&&†¥>€¹HG½LL ƒÙÁ01‰Õð_T&Ù|©¬"QGSc½þܹsÏQk U211111©Ô˜ “0‘Àbé’C‰¨½*™hŒ ³‚Á µlšÇãÁ¤I“°}ûväææ"77Û·oÇĉár¹B®÷ûý‚Çã™›P¥MLLLLL Œ¹ÃÄ$ D4 ÀD•˘yD"õ1Ñ"¬VkA ʦ/]º P¼fñâŸå–[BÒDQ,òù|NsIÕ‡ˆøSåpKfþ5qÚ˜˜³ƒab¢õ° ¡S£ÊâЈ™%N+-)™ÚôKÙ´úõëcÿþýa¯«U«Ž=*MÎbæÚjhRQJäÖp‚™ ôÖ§,DäPÀ!³sZy0;&&‘1§H™˜(@Dµ¼õÎîMŒF&qâRiBÆ #^Ô¬Y3¥dsÊœA b®ÉÌÌ|ÇétæØ ßn·{“’’ö8Ž;J:‰ÖËBD· ‚°CÅ|ùö»Ýîœôôô·ˆ¨3…»ç˜€¥K—öÐ[£#D>ÅÄä¢äÅã]5¢8} Meæ¼8«ed~ËË‹ìʳgÏ*%ŸÓ@“ BDBRRÒ{gÏžxüøñcEEEö¢¢¢ÆÞJOO’ˆþÆÌ_&H¯kÝn÷œ¼¼¼f@ äX^^^r^^ÞîHMM]LD·š#úBDím6Ûs@€@€ˆ(===¥V­Z5ÓÒÒ¨]g·Ûÿër¹ò¥é^¯·ˆ™'2óñÕÜÄĘS¤LL$Ñ3“¦1Ÿ|ò‰ÒËå}ÌüZB”3Ñ"º@È´¦ŒŒ 9r‚ üý¥¨¨5jÔ@nn®ôPsfÞMM¢ˆìiii+srrºEs¾Õj žÌ¼6Îzu·X,«¥› ¨Ñ¤I“o÷ìÙÓ™ýñÔËD"ê `¥ÆÙ^ÏÌ«4ÎÓÄĘS¤LLJ ¢úD´ ‹-Z`îܹ=z´Ò¥ÿÐcº…‰&üa±XB¾gggã7ÞP½`Ö¬Y²Î…Åb)BqFq¹\EÛ¹€@ `±Ûíˉ¨E¼t"¢‡ã³h;°gÏžÎ5kÖü ^:™˜˜˜Ä›„Ž`”Ì-m£a–{˜Yq®B™2ë xœ`æÃÊKBq 6­ø…Ía¦¸RÒ.ÿ`:ô¸ÍfÃ?ü€¶mÛâÏ?ÿD³fÍ âà&fþ8êšhŒ(Š3ý~ÿ}’4<ðÀ¸çž{P¯^=ÀþýûñÚk¯aæÌ™ðûC?,[­Öi~¿râ´6‘BD]|U6ÍåráÎ;ïÄÅ_ —Ë…½{÷báÂ…øã?B®EqOQQQÓxèåv»ÿÌÏÏoX6­iÓ¦¸õÖ[ѸqcäççãÿûæÍ›‡üüÿ?³†ˆÀÌm™ùçxèesÃĤ‚0sÂÅ fX#éE™¯hXÞ+Q”×[Ãò(éš·6y€oÂùá…^ಠ4H鼯õ®‹)1·—Óé<¨æ»ÝÎv»]µ}8ŽmD½ëq¡Krrò/eý’™™Éûöíc)^¯—û÷ï¯äË6Zë„âj!åôïߟ½^¯L¯}ûöqfffȹիWß ·]/TÑøYõ;‹)•KPÕ},€Ç{ÉÉÉßÛíö¯‰è/ ŽÞzêbœq&‘?VTîÆ½HUV(çƒ>}úp0䲬_¿^íüöz×Ë”˜ÛC3—Ëõ{y£ééé»/Ô‡‡‘ÀÕRß¼ñƬơC‡XE©?×Z/›ÍödÙ2DQäC‡©êõÆo(µ³Kô¶ï…(?ËÍFn¹Ýîߢõ½ÍfûÀzëŸ(ÑcÞxØ)M&!˜¶Š%±6¢xJ”Céœääd¼öÚkøôÓO!Ý5òª«®Âe—]&»F„5Dt—¹£òÁÌ¿ççç_š––öI´×$%%½wòäÉK8´I“„Ð\špÍ5רž\§N4m:#ÊjµöÕZ)»Ý>°ìßM›6E:uTÏWÑ9K[­L¢ä°Ýn×ét.áÿµÛíï6mÚtMïÞ½O«]$§¢(.”ŠÕj}€y¯¨Ä‘`±Xîq8‡<“——wQ´×µð’Ëå:HD·_ï zlSk¾4Gi+ !"€É&ÕÎ0`fÍšöEàÀ°aÃBÒü~€¹ÆÑ?˜ù;M7IÌœGD7Ùíö¯ ;‡;×jµ®=sæÌ°pç˜$ÙõüÚ5êÕ«‡]»v•þ-Šb5­•bæ´òê¤@Cí42‰fÞàV¥cÆ k à'¥c~¿ÿ6íU9ˆ(CÅO}>ß^¯7æ|òóó3,p:wÑM̬ÚY­ì¢ƒÑ³gO¸\®°mÙ²‡kÓùoÛ¶-êׯöœ`ëÖ­š”W§NtèÐ!ì9ùùùX³f4Ùì`h]àM«S·n]¼öÚkèß¿Äü „úõëãÀJ‡Ûø–ˆx„ÍHß•"ªát:„í\@ è^­Zµ¯srr3ó‰Dèg¢%—L](eÿþýhÑB}s(…híšo KD!JEНr\óŽIÅxï½÷rôÖÁ$qÑÅv»}uaa¡úWÇrRPPÐ599y']ÃÌ¿k•¯‘0DcÆŒhÕªUØ‹† †÷Þ{OÆQ£F…=gÁ‚¸ãŽ;4)ïꫯƒ%Kž³sçNdeÉFÂÍF!"€§ü*Û2[,Œ7Ó¦MCRRRTù ‚€ûî»?üp¸Ó†èODÓ¼À̱ö0‰+DtÃáXRPPí5999]\.×D4˜™e_L+ì´´zõjÕÆÞ½{±gOè®Â>Ÿï­õ ƒ;”KìÙ³{÷îEãÆÏ_½zµR²˜ÍÄD'ˆ¨…  e;L€ÕjEóæÍÑ®];´mÛíÚµ3ã§Ÿ~*•Ý»w#”ÇÍŸçÍ›Ç5Šf‘ןémSdmÄæt:g–|iVZÄÍ~ø!øá‡œžž®xqrròL˜;IéédžR¦¦¦òÖ­[YÊ©S§¸[·nJ¾¼+zÝ'-§[·n|êÔ)™^?ÿü3§¦¦JÛV@m½íkм½…¹×·Ð[?S4ós5QÿTóõ AƒøèÑ£‰ƒòõ×_¯ú~àñxöHÑ»¾Z‹!F0Μ9£ƒÆBÅæF ‘ÀË(Þ:N§Ó‰)S¦àÁTØ A0zôhÜ~ûíxûí·1mÚ4ìÝ»Wíô†> ¢uþÁÅó{Mt„ˆZ$%%}röìÙfJÇ{õê…  V­Z€+®¸£F’Medfœ9sæ¾”””^DÔ—™ÿPÊÏ$~0ó>·Û½"??¿Ïù´Ó§O£C‡4hPHŒ¥K—âøñã!×;ŽS^¯wQTû¯ Sü~úù„uëÖ¡E‹8p`HŒ?üP_G„ÿ+**ú+z™˜˜„ˆ,V«õCŸÏ×Pz,##³gÏÆ!C¢Ê«nݺX±bæÏŸx§O‡.»8wî\Çó1uã’žM•@‡áHzoK–,‰Ø4†Íf›Ey1`,Y²D©~s´²û…"(Þqe§‚-K¥W¯^¼gÏžˆ>)/>ŸçÏŸÏ7Ž4šáðw½mu!‹Íf»[Å"%ÿ8~å•WdÛ33ƒA~ùå—UãbØl¶BQGé]¿ QdY­VEŸF!Ãã¨×±è$‚ÀEzÛÕEŸ6 ã;s£ €‘JþíÖ­?~œcåСC|ùå—«µ¡z×[K1ÄFnnnLuïÞýDiÎtÔÛˆE¢uëÖÇ………²0Îeˆ)R¹Š ÌŒr@D÷ xäBqëÙêÕ«cÆŒ1bD\Ê£F°aÃðÔSOá…^E|>*€ÙDÔÀ8f.Š‹B&2ˆ(-99ùÝ¢¢¢ë•Ž·nÝ‹-R]FDøç?ÿ‰=z`Ĉؾ=t ª¨¨È`~jjêM¹¹¹·1³9<› ˜y °X,ƒAk´× ‚0Õçó-Ž£^óívûEEEE¢½Æjµü~ÿ̼;^z™˜˜(CD¢ Ó¤ÏïêÕ«cÉ’%¨^½zÌyשSï¿ÿ>Z·n-{ï³ÛíÏÑRföÅ\€‘HtÀãôÚ¤‘’•PÁˆI*°#&‰fã…^PºVóÀOUQ¤ø0œFŒÁ'OžŒè-Ù¶m[¸/çe=€šñ°‹)²vÒÕápœPòñƒ>È………Qû×ëõòý÷ßÏjë7\.×Wè]ï Mtq»Ý‡¢¹7Ûíö³„xë4xð`›Ú©¸Ýî®ÒÛŽ¦„mc ÃøÐÁ¨ä‚âèÛ2ß.[¶ŒµbáÂ…jígŒÞõ×J h/ÖŒª„9‚DÔÀÏ*w»Ý˜?>.\ˆjÕ»Ûã%—\‚ 6`æÌ™ðx7 €«ˆèG"ê˜HÝ.$J‚#=MDë¼^o†ôxݺuñÅ_àÅ_„Íf‹:_»ÝŽ3fàóÏ?/]§Q–üüüš‹e=M¼‚*fþ&//¯© G"[XXè±X,·Ä[§ï¾û'OFŸ}öY­cÇȳ_ÌŒòAD=ˆ¨Ï—,%)) o½õ¬zí±cÇЯ_?lÚ´ ðþûïcöìÙ;VuW[MHOOÇêÕ«qÿý÷cöìÙj§=à’’àmæÐ^ŒQ›Í¶ª¨¨Hö¶Ÿ™™‰Ï>û íÛ·×¼ÜÑ£G£U«V¸ñÆ‘rÌï÷×Eqõdæ-šnRÙM·C‡hÒ¤ † †wß}7äXJJʳ(^Ç¥9¢(NñùB×l6 Mš4A‡°{wè:n›Ív€ïã¡Ke†ˆl®Eq°ÃáèõzK_T6Óù,ËÌü ŠãJÅ<º@D9Ž·t’n3Z–üüü>õx<ßåååâ P+é °ÛíX,–ŽÁ`0â;›ÃáȱÙlÿçóùþÀW̬y„ú*NiB›61íÝíڵî]»¤ÉUãCT¢}¸’E-Ý»wfML¬gæqñ,@!å½ {÷îJ‹}®f,Ô1’p[­ÖÙDÄ¢(Êê~üñÇaí¼sçNnذ¡â⪧žz* OiÃO<i±çלl›W6±X,EQô+ÙµE‹üçŸÆâ²rñûï¿sÓ¦M}+Š¢@O½íT•…ˆÞ‘Ú}ÆŒÌ\|PY˜½Öz¸^ZñÎ;™™yÆŒ2=jÖ¬¹\oûIdÑ,Qó"Ü3ÃJRRÒq«ÕúOÉ1èp©Õj=YÞ2m6ÛI—ÄP^jffæ“)))9©³ÕjÍð<ª`·xIFFƤv|þùç9^¼ôÒKJ¾‹¡2Hâ ,ÞÆ5ĘíÛ·É1åà·xPÑòÚ·o¯ÔÈÚ°‰Q@7Aö—µ‘Ëå*ýÿã?ÖÆk֬ᔔ”°7äéÓ§Gã.M;vl¤Äg0£C—Kˆèn‹ÅT²gçκ“ØñãÇùŠ+®P{ðìvû­‰°É…(v»}Ôæß~ûm©o(óIJJÊÏZëa³Ù6JË8p`©ß~û­L´´´¿ô¶Ÿ€ˆ­hÇB*‚ 䘎(?à¸R„³±–g³Ùθ<ʲ’Çë6›-Öx.Šâp8Îz<žÌçIdIIIùHj¿U«Vq¼X·n’ÏþOo;h!‰/h,5f³fÍbrLU¢Y³fJ¬1 ‘è-<^ {q´Z­lµZùúë¯ç@  jßyóæÉFUÿº\®—¢©§)Q·‡nRgeeÉüÒ»wo™/’““×k¥‡Ýn_ͽ%++K©]tÓÛŽ:ùNt:s¢¹O×­[—o»í6ž4iÏ™3‡—-[Æ .ä—^z‰ï½÷^nÞ¼yÄ<¬VkÀív? …8j:Î\¥ëDQ<`€Â5CEQ<§t ÙPˆy@p»ÝÓÕF^ËÊÅ_ÌãÇç—^z‰.\ÈË–-ã9sæð¤I“xäÈ‘\»víˆu&"®S§ÎëJu6…‘žžþºÔfóæÍãx¡ã½í …$¾Àâ(Ë!Æt819¦*áp8”™ƒ ÐHôI(Þ%Jõ¦ëp8øùçŸg¿ß¯hÓ‚‚2dH¹:çeýúõåöa¬ìÝ»—Ýnw$nV³Õ…,ìþOÉf‹…gÍšU!ßhÉ‹/¾¨”OÅÿ"ß.ðˆÔ¾£F’ùCizR‰tÔ@‡ŽJy—¦užQ£F)½>ª·uð[ÍÔÔÔŸÃÝkÔ¨ÁÿøÇ?xýúõQ}4سgOž<™NgØû«ÃáØ  Q]¬õêÕûUé\›Ív@Ý0õhh³ÙG_l6ÛzÖ2ç6KKKSùÀIIIVžzê)%ÿ<¬·´} |RƒŽ7Ž bñO¥¦  €Ç§ÔÀ|l€¢‡è `¸›c§Nø·ßÂ/uÙ¸q#Ïž=›gΜɯ¼ò ¿üòËüâ‹/òsÏ=ÇÏ>û,O›6§NÊO>ù$?ñÄ‹…GÍG©Î¹¹¹…¯ÃP]” €ûôéÃÇŽ‹ÁeÆæØ±cܧOŸH/‘³q¬¿àÍpöHJJâ9sæèºP7Q¼úê«‘Ú†@6€ïôÕÔv˜7.Ñ!obgôèÑjíý €$6€­c5œNç¦í¸ì‹äÐhÇ<½¥ù·k×.¬–-[&Ó©dÁmÓÊoZò2$¿eË–…Õ¡]»vJ¶é­‘M.NKK;­?ÒÒÒ~š€vÒÜápœQÒ¡eË–¼k×®°6«(ß~û­ê¶åV«U:Êød¬õaÚù|ˆˆAP,³^½z§ýV”-[¶pƒ Ëw»Ý§ÔµžUIÜ)µO£F4Åðù|ܤI%_ŒÓ»þšÙQ×Â~N¨Ýè233yåÊ•åvœQY¹r%gff†»¹ŸÐ Ð0!ú8îa׫W/Þ¿¿V.0<Á`;wîé%à6€ÿôär¹¾T²KÏž=ÙçóiáÞµk—ªýµzñ)**Rçt:+­-Ëòh_fÏ‹ÃáØ öèð¸4ï1cÆ„õC0TÜÉÉårý·¼å‹¢ø–4Ÿ¬¬¬ˆGÆŒ£d—Ç5°‡=555ìȰ’T«Ví³x¶ul6›b§çúë¯ç³gφµ—VüüóÏ\³fMU;”Œø¼]Ñú&%%}nô袋.JØs.;;›¯¼òJµNÆh8rVY€³d1ˆ}ž{; „çž{Nf»Ý~€GïúkfGÝjø"Üüþûï×e{­ðz½|ÿý÷«î S"_¨Íhñ©æ‡{À¥¤¤ð›o¾©™*¿ÿþ{4S¥®cø2ÑbµZŸP²GóæÍ9''Gû3'¦ƒÁ\ü°oܸ±ZY²l^0Z©.5â^½zq¯^½TëkµZ+<ýOÅÒ|çx¹I IDATÎÑ‹-RÒÇ0»)Ô½®Õj•­%X´hQÄòçΫÔÁù¼¢öHIIyMÉÖ7.õG£Fýáp8îˆS!QP*³sçΜŸŸÑ^ZòǨ¶IQÏHӠΩÉÉÉŠëLÚ´i“ðÙ§OŸæK/½T­Î«*Zߪ ú+ÙçÑG­ÐlŠ`0È>ú¨Ú=ÞõÖÔ†z+ÀÅŽ$o-¨½²M›6¼sçÎòyÒìܹ3좲’:?‚Î{ÕSô [„YVúöíˇÖÌ•‘'žx"RcÀŸ‰mˆH¶x6--wïÞ­áKHTƒ¹ø‘œœ,+§dhK6€í£AòËÖ!%%…?øàYW¬XÁµjÕ’Ö7XÑúÚl¶“R;F³XVi±%¶ÛíQïì%Â,éõM›6UÝF»,[·nU*»B}h)ý½ÔªU‹W¬X!+ÿƒ>ME1qøš à6¥ßÕ¥—^ʧOŸŽh«xpäÈnݺµâïÝét΋¥žeÅétÎWÊûª«®ÒôÃHy8~ü8·hÑBí>wÁ̤'v»}µ’}Ìyyyå¶y^^ÿüstïÞ]Ó²~ýõW´lÙRñØ®]»Ð¢E MË[µjúöí‹@ ’ž’’òÑéÓ§jZXœ ¢Î¾)›öúë¯ãž{îQ<ÿ£>ÂÀ²ªaæÿÄX~O¹,ÅápàìÙ³!âõo¾ù&î¼óÎ4A|~¿¿.3Pv «Õz0ØÊ¦Ï›7£GŽX¶ßïGRR¼^¯ôP]f>1eî0·lÚÒ¥K1`ÀÅóçÌ™ƒ¿ÿýïÒä.Ìüm,å«è”l³Ùþ,**ªV6½qãÆØ°a233µ*ªÜœ>}—]v~ÿýw¥Ã}˜ye,ùQˤémÚ´Áúõëáv»cÉV:„N:áÀ!éN§óHAAAcf–5È "Jw: šHU«V ÇǨQ£Ð¡C‡°ùlÙ² ,ÀâÅ‹qêÔ)Ùq·Û½///¯3ŸÔN{ wG*<3}&Â4#CI]ç£ Íµ‹àÓ~þ g«ƼßwUå‘G‰ÔÆ–°ü›Â×XüÄOheî9‚q¥aó’ÅÆÍØ>ˆ$Dt¿Tÿ3g΄­³4À¤(Šsc-ÀMÒò/¿üò¨í_TTÄõêÕ“ù@Åç#•m±X¦K¯«W¯^¹…^~ùåJíí¦Xíáv»CÖƒ¸Ýî°åŸ9sFV¾ÓéÔtš€J¿©µk×Fm§x²~ýzÅ-¤ÇIİu(€Z6›M \EͶ¡­(+V¬P»×MaÜWôµNgØYýû÷WÜ:?pÿþýÃ>ÇÇ!TÑéñº+ƩÄlqHD•®ƒ¡ ¯À0½í› V°0œªW¯—­õfÓ¦MÎãØ±c‘"ÐúÔcø:ÞR½zõ¥õ¯[·nLÃÔÑ GãìÙ³²iC% …lD‡Ãò[ÏÈȈXgéâꤤ¤m±–`šÔv÷Þ{oy\ ðÒf³å#Ì®JRK¦…\WÞ(ò÷Þ{¯R{›«=\.×Ö²yeeeEÔAý955õýXËW°S¥¸Ç/—âÍÃ?¬ö"ø—ÿ7±V)¯x}‰•Èt´X,…j²î-z €NjσÎ;svv¶ªm³³³#mÜÒIïúÅÍnz+Æ¡IÃjµêÞi(¯(èìǰÞÀŠ[‰ž—aÆñ‰'¸ª±gÏ:t¨&y?>R«t Ë+š”|É©û»ï¾[aûú|>.((É/¿ü¢jó_~ùEñ-v°zûí·•ôXg?D’ôôô9’²ˆ‹!ëׯR×jÕªýkù‡ã+©í,XP.ûççç+îôg±XžP+—ˆddff–{±²Êžø_ÇjÔÔÔ eóª_¿~ØòƒÁ ,6“Çã™kùR0QZ¿¤¤$Í‚èi…×ëå‹/¾Xí÷ߣ¯ïµJy´nÝ:.AÛ*ÂþýûÕ6¹ poÑS´-ÙÝIfŸ‘#GraaaDûòÈ‘#Û”Íf;†*M]wÂ8µšÔjûGYTt®¦·}ãè·t¯£QµI­Zµ"î _™yùå—¹ZµjšD?tèÛl¶pmì 6€ßã))))‹¤õnß¾½&qQ¦L™¢Ùo}Ê”)Ö' rûöíeyQÌS‡%‹e„TïpûúçääȦ£$%%Å\OQe1vìØQn¨ly€[Z&·Íf“•Ëv–;vìPzù8«=A‰5e±XÂ.(þí·ß”Úµf‘åívûviþÿú׿Êm§D°yófÅg·ÓéŒzg/‡Ã!Û)Kþé§ŸôªVX&Nœ(«¯ÛíÞ̸·è%nA’ˆø©§ž*·Ÿzê)ÅY8%eÄ<Ò¨yå›~¤KZ´h^xA]bæá‡ÆŽ;¤Ééä+}ªÏ¢xz›"·ß~;f̘´´´ª”X–-[†S§NaóæÍ¸üòË+”W:u0jÔ(Ì;Wí”ÎDäaæ°«Á++DTÛjµ•¦7D¤‡Jq…ˆ0nÜ8üío“ºƒˆždæ¿ôÐ+‚ÁàÒ´É“'ãý÷ßW<ÿñÇG0 I;{öìºXÊ&¢&’ʦ¹ÝnÕ…úá¸çž{0}útää䔦& à%Ééc‹ŠŠBÊMKKS]ØŽ–-[Âãñ„lìPTTä!¢&̼§¼ùùýþï”®ÚƒxüñÇ1kÖ,Åó'Ož¬”üSyËU‚ˆÈ’¦ßrË-Zd¯9:tÀ„ ðôÓO‡¤ô"¢vÌÖ.DÔ€ìæÿØc¡mÛ¶Ú*«#FŒÀ3Ï<’–——מˆêpŒ Tf,Ë£D4Ýï÷‡¤;,X°C‡ÊKyüñÇqÑEaÔ¨Q!:øý~;€¥D4™Ÿ¯¨î†A¸’^Þ 7ܹ‹h0n¸á¥¯BW°lAñNQ²:×­[W¶=â¾}ûxùòåüî»ïjòµßdgg—N‹›>}º&yîÝ»7Òè]•ÝR qRRR4[{a´ æâ­ U" føDMX<ì+u=xÕªU¼wï^Þ»w/¯^½šûõë'«ŸÃá8ƒí¡ø£FH~;wŽÙJí¢d¡¯½L™v»Ý.Û·"í@e®vLköˆ.—+[š_¿~ýxõêÕ¥þXµj÷èÑCV®(Š›Xb)[A—¤ù·nÝ:f;%‚üü|Å5Qn·;â(†(Šë¥×Õ©S'á1>Ê‹ÊÔ°°î/‰6›ÍöŽÒ=¾Füý÷ßWØÎßÿ=רQCñ9"ŠâÛlzÛA[ê­€ªbÅñB Ûm·•Ã…Æà¶ÛnSjD}Ù6އxFZß>}úpnnnˆ]rrr¸zõê¥çÜxã ‹ÞOÊΣž7ožfùöíÛ7ÜËí6€ïã!IIIIë{Ï=÷hfW#v0˜™ï¹ç¥2±|N´A¶7ÉÈȈ9z4€¥ùýóŸÿŒÙþ'OždÇ£¤çØ2eŽ•÷x<|òäɘËýç?ÿ©Tæ‹°KØéªj"Š¢@ÓXË•Š +¥euzTYfÏž­f#Õ9ó®Qº&š€z£t?Eq%àÞ’®4µ ·jÕŠÿüóO,ÍüçŸr«V­Û—Ýnÿ1ìZf41r@ Ù©ôtY’áQѹòU$zò¥ —_~9’““CÒ¦L™‚'N”þýé§Ÿ¢{÷î²)•eËþÿvç±LÏP㪫® wøzÍ 2DD>ŸOà¢}ûöz¨“PÚµk'K³X,=Éàó˜yW ˜˵ÙÙÙ}4hð•;‚Ëåê,MëØ±c,j(Þã^iš“ÓéœBD ‡ã éñ{î¹ÕªU“]-J:»Ýî.å͇ˆ2AX…0ÓUÃáóùîgæ?b¹V ›ÍÖPšvà 7h•}ܸ뮻ШQ#YºÍf“ùþQ‹Ê{íÚz<ž?].Wÿh¯!"KQQQkiz¤àW‘xðÁáp8BÒ j¸À-^¯·VÙc‡>ø`…ÊTÒ¹°°ð"ŠúÆHD}AØ®+où6›Í àoÌüïò^Ž@ PSšÖ A-‹ˆ ¢(âÉ'Ÿ”¥ûýþ‰Hv“ ¢Œ`0(û(2mÚ4X­Öø(©!J/Ð>Ÿ¯Fâ5I,DÔSŽ^o]é±±cÇâ³Ï>“}$Õ‚ääd|öÙg;v¬ìXaaa]Q$¢žšœ(ôBQ(Lµ™3gN´£O†aΜ9JC`ϰlp·´¾<ð@ˆM¦N*ÛIaâĉ¶µÞÜ}÷Ý¥õÉÌÌÔ4ïsçÎEÚ¦ù6€ÿµ¨L5عs§¦¶UB8e ³Mî5lßD#;Îïb]”’’2€3ŠrZI¯MMMÕd—1¥ØN§óO§Óù§4½¼17”ƒœššªdVÙN"š­}Ë ±Ëåú qˆ«À* ’i³Ù4ñO"Q¯MEqŒô¼Ž;ê[r e»–øÎʸ§ÄCÜS²xH½- Ϙ1CKó†eÆŒŠAKt»'¶ÐZŒü¹ØÁ¨œDÁ˜Xn¥#“ÉÌ!ΨY³f¥ÙÎb±à‘G‘¥;Ž»¥i5jÔÙ_ew.CBD¨Y3t°©Äwåž¶htˆÈj³Ùfx= †¼ {<,[¶ ÷ßÂô¹ÿþû±lÙ2ÙHx‰n¯‹¢8›ˆŒ? V#w0doæ™Ûª*:W¾žRôÈÖ`H;@ñô¡·Þz {÷îÅÛo¿]i6jLœ8e·³«èö´J\qÅákÛ£1©Ò„ääd$%%)[¥¨V­šlzN 2›f>ÃÌß1ólfž à«Õz:škóóóX­ÖMDôˆÚ4!"ºLšVÑéQç©_¿>FŽñ¼‘#G¢~ýú𔩤»ÕjU¼¡‘…ˆ±X,›|>_“hò·Ûígý~ÿmÌ<µÄ'ë™ùlÕ‡¬ÍÖªUKé<ÃrÓM7Áf³…¤y½Þ–e;¿D”vìØ±KËž“ššŠÞ½{'HKmPñM¥»ï„ƒˆ’ÇjŸÏ÷w鱺uëâÛo¿Å7Þ˜p½n¼ñF|ûí·Š˜ü~ÿßÇj"Ò~®Vœ¨TŒ*4‚Qù*=²ŒÂÂÂÒÿƒAÌš5 _|ñ€â¹æ.—+qÚÅ7âÃ?,ýÛáp`üøñš—aF]"²k^¨¾Èêãv»õÐCT~6¥ÄÊ3Ÿ F{~ À̉ŒÃ”#M(((H`ñ'%%Eq1.ÝqþÿmÛ¶½Ëï÷‡|)0`€¬cbtT|#óae…ˆ9޽^¯â"7nÄ¥—^ªtiB¸ôÒK±qãFÅ‘L¯×ÛÝápüHDò ˆ‘í™S¤*'ª#;wîÄwÞ‰~ø.— «V­Bçβçf¥"??_Ö™3fL\¾ÐEÁ°h `—æëÇi‘#GpðàÁ*?Mj÷îÝ8uJñ0SXô`ž(Šc}>Ÿlú“ÕjE ]PTTtµ(Šÿ#¢;™ù} "ÑjµÊ68Ðjš5k†›o¾K–,Q<~óÍ7£Y³f𕧤{AAA "™ÙD4DÅy>ŸOq8O͆n·û—¼¼¼7.‰'ÙÒ„cÇŽ%X…ŠsóÍ7cùòå!i6›í〙eS¦b Ʀ7*¾‘ù°2BDl6Ûg^¯7EéøÙ³gѧOŸD«¥ˆZ'Üëõ6µÙl[‰èf^Ÿ`µÊ‡Þ‹@ÔÀH»h\+‘äåå)-;°q<@;i}{öìÉS¦L‘-KNNæM›6iiî„ræÌY`,‡ÃÁ‡Ž[™éééákÞÈhZ €–Jõ|÷Ýw5¶ª½yÏ;W­ü–lßh!:JÿÅ1q”ñ•«Õú6Š#wËî7Õ«W×Ú¼mÛ6ÙÆ(Y½mÛ6ÍË+#¨Œ´$‚b°óÒ¯_?îÓ§ÒbÑ ÂÄoˆ§ˆ¢˜'Ñ…ý~¿æv‹'§OŸ–=ÃJ$kÔ¨Q™v»=$===}>ŸÞj— ¿ß/[hl·ÛóÙ÷‹Š €‘V«Õî·S™¤¤.#õ¶k8©4S¤G¥œJãr¹”æRW¾¡˜è‘`¬Y³ÿú׿PTºkå™3gpÝu×aÛ¶m SN+rssÑ«W/|ûí·!éwÞy'j×®·rÛ´iîpUÛ¯|¿Râ7ß|“h=Î×_­vHÑ&•fÞlµZe_ÓW¬XéÓ§ã7ÞP½ç‘6›m'Šw­ AËÑ‹ó\rÉ%èׯŸ,½_¿~‘6_ˆ •:Üm·Ûÿç÷ûoU:èr¹ðÆo`êÔ©Xµj•ì¸Ífû3oÕXÕ¨°Z­'Êþ qøða=T‰™””ôì)ßK#55µ¿ÝnªìT`4hÁÈ“Dä>|X‹Êf³UêéQDD¢(> àí’é–U‚’º¼-Šâ³FdÈFÉ"–­;*ãô¨ó(è.V¦…:åD¶#999èÙ³'~ýõ×xé£9GŽA=ðÃ?„¤{<Mçb+!ÝáCBT‹<+ ÌœOD?KÓ¥ºªˆRC„íÌ,ëÀWfü~ÿ»Ý²À8`òäÉ3f ¶nݪÚa(**ª`Œ4= ˜4I?M1M Tê0¦°°Pq{±:`ëÖ­3f &L˜ {It8¹^¯7êu/Zãóù~¦­]»VU*ÄÍ7ß,KKMM±wï^ÙÊ8=JÉ'>Ÿï;TÑ"r ‚°Ôï÷Ç÷Á¬#~¿‚ K‰Èp_àÚ›“­Q¨Œ;H§ZµjJ_k2œÑAxSî ãÇ£Gøæ›oиqãxèTaŠŠŠ°|ùr,X°+W® Ù1ê< ,P ¦%™™aw ¬j#`æ%BVÜíÚµ ÙÙÙaƒáUföîÝ‹C‡ÉÒý~ÿ»:¨W˜ù$=à²éK—.ŦM›pÙe—aÆ xòÉ'1}útÙ‹³ñê`tìØ={öÄš5k={öÔt1yY¢­ƒÅbÁ„ ðä“OBE¬[·+W®”çõzÇ3sT;wŃ@ ð5€7îU«VaÔ¨Qú(#ýû÷‡(Šðù|¥iýõW‹cÇŽ…|AÎÌÌÄ5×\“hõ*ŒÒÈ—×ëýBU´¢ßïÿ ÀsÍH„;ý~é×âŽ;¢{wÙ:ñ°¬]»›7o.ýÛjµžoUT·’÷‘>>¨h^ZbÔF•ØAê|×^{­êmåáÔ©S8pà<ˆàÀ8wîA€(Šp:¸òÊ+Ñ¥KÅèË̌͛7cçÎØ·oöîÝ‹•+WâäÉ“ªeNš4 ƒ ªÞÑP£FØ ªU®ƒà=ÓË&03,X€‡zH'•âËüùóÕ½—H=È›N§sbAAAƒ²‰=ö¾üòKˆ¢ˆiÓ¦¡wïÞ9r$öï?K,^/ý@ñïü|#^£@tuhРÞyçÒ2˜Y1^ƒÓéü­  àÍ•,²ykÖ¬A ¨®Ï“ššŠ6mÚ`Ë–-¥iEEE²é):u‚ÅbÈ "ªÒ¶-Au¾¦Ñaæ ÁK7 B‚bŒ9÷Ýw_¹ò™5kVH£d&Ëdf–±¬ è½De1Îõ,h4hWV ¤´Hçz6€­ã!dQ1Aà©S§–.ì{ï½÷X™].ºè">zôhTv ƒ¼k×.~óÍ7yôèÑœ••Ån·;êER¢(òÕW_ÍK–,)*ûïÿ›kÕªuDÄÏ>ûlTújÁ›o¾N д»Ýþƒ´®ÉÉÉ|ìØ1m[†Ý»wsJJŠ¢ìÞ½;nåîß¿Ÿ‡Ì·‚ ¬gø"^àV¥6½zõêûäææò­·Þªú¨]»vE]‘N:q§Nâ^NíÚµUëyë­·rnnnÈù‹/V; ëï_EñŒT·µkׯÉzñcìØ±Ÿ Ó¦MÓ[Ír³víZY=l6ÛI6ÀýAoAq ËÛ|ùå—å¶ñ—_~©Ô^Úé]¿¸ÙMo•RxØŒ3&J1cÆ(5ª[Ù¶Ž‡8W¶®Íš5SÜ-êÃ?dQe¶ÉÊÊâììlU{=z”ÇÏÕªU‹º#I.½ôR2dH¹®©[·.üñÇÑ5X¾|y$½j±Ú€–àr¥|î¼óNmk†ªäÓ €ËÙ¾ˆ—°:Ž?¥uïСƒ¢/^Ì©©©2[õë×/VÓGÍŠ+xÅŠq/Gi'­ÔÔT^¼x±ìÜ¢¢"nܸ±Ò âNÄÆðñ[Rýú÷ﯽáâL„< €W­Z¥·šåæÆo”ÕÃb±Ìa´½À?¤¶‰å×±cÇ”ÚË}z×/nvÓ[E¥œùØcEéBãñØc)5ª°lpì|=ïºë.>wm|ðAÅtûöíeÛŸ 9Ê”)‘^ªý~°À'x Àãf x‘×&o”öR’Áƒó‘#GÊáåÄpâĉHºg±Ú@<ÄápŒWªó’%K´4±.ÌŸ?_ÑŸN§s<Àö‰¨Œbìܹ3¬ý~úé'nÙ²e¥ûrŽ'NpË–-#ŽÒ­Y³Fí^Ð àÓ²à¥{þ_ý¥ÅG§NTïÁ Ð[½r¡¶î ÀßÙmFoÐHËNñ¸qã”l]WïzÆÅvz+ ¨ð¾Ô‰žë®%ü±RƒzŸ `ë8Ê%ÌüµÔ3gÎT»™qýúõùçŸ.=×çóñwÜîeúÔ‰V/¶’Æ jùfee…Ö¥'ûöí‹ÔÁ¨²CÚ,ÉÉÉ»¥uNKKã;vhi愲uëVÅѹôôô½,lÛ'JX“’’ImÍz=¦,Æ›hêÔ»woYÛIMMÝÍð§TdX­VÙHäðáÃ+f¨sÿý÷«Þƒ+Û4½þýûËê Â9)l€6£·(}ô˜3gNÌöž3gŽR»¢w=ã!FÝGíBÙ¦¶*³@WýüzüøqÜpà ?~<¼^¯ìä+¯¼›7o‰T}Ûm·)nÙIDÿÐ @3f~†™£ ËÌEN£ø¦!#}­Ëz IDAT55}ôÜnw´Y&”sçÎE:Å–=ô€™ƒgΜ% Zš““ƒë®»ÐI³ØÙ·o®¿þzœ9‡ˆpòäÉÌ9ðC‚™yyyKÓ.\ˆ'N(]RŠÝn›^z©N;wîTŒ]púôiù~µ€™³À‹ÒôÅ‹cݺuz¨áâ”´oß>šTŒåË—ãã?–¥ûýþg˜9W•ŒH'iB«V­bÎLéZ«ÕzuÌ£v0d´ª`£jF “ó‰Ûí~¸Q£FgV¬X¡zÒµ×^‹”””Ò¿ÿõ¯añâÅJ§þÉÌ=™ù+.ù¼/…Ä&",\¸M›7œÄ…ÜÁfÞ ÂÛÒôÇ£wïÞ8uê”jÅDvv6®»î:=zTvÌjµ¾ÍÌßë –îƒÁ%6›-$`§×ëÅœ9sôRɰ̘1C–ær¹r|šxm¢æ‡Ã!»‘7.$€‘i׮걶mÛ&P“Ø)((PŒã`µZx%ñ—ËÕKš–••s~J׺\®ž1gh`(öw´øAD‡„„D>~ü8ªW¯®“FãĉJÒ3sÅ"ÊUˆ¨'Š_ê[‡;¯I“&xõÕWqöìY >\锣®fæ=Ð¥;€/•Ž=þøãxê©§bÍ:!¬]»×^{m¸Sz2se޼"rÛíö………²OAW\q¾üòK¸\®ˆùüöÛoØ»w/rrr““ƒÓ§O«þÒÒÒššŠ´´4Õÿ7mÚÍš5‹Xv^^ºwïŽM›6ÉŽ9Žÿy½Þ˘9lÐʪŒ ¯qeÓ233±ÿþ*9R ÇŽCƒ PXX’.Â4ŸÏ7Y'µ¢Âb±ü“™_–¦O›6 'NÔC¥rqúôi¤¥¥ÉÒ‰>Ÿ¯R|ä‘Gð /(º‡™ÿh}Œµ°«lZ­Zµð×_U(ßÚµkãÈ‘#e“@cfÞW¡Œ†Þs´”@ÊÌO#"öù|²¹l•ŸÏ§´\ÀÖ‰–ý À_P™»z^,‹RzÀeÔÁ‰âu²ü›5kÆ………±º8a¨¬ç)+}ØþŽ·¨c·Û³•lpà 7Èî~¿Ÿ·lÙÂ3fÌàr5"Ù1fÉÌÌäAƒñ+¯¼Â?þøcipÉóø|>¾þúë¯u:'QŽ5EUUd)Ù§*,è׊çž{Nf" ¨Ïða8`EQ¶ÖÆjµVŠà{Á`Pñ9•””¤·jQññÇ+nKKD¿£ kUˆhšÔFZÄÚQŠq`’ÞõÕZtW@¦à–>%%%zÏ”””¥åfØ<‘Râß)ã‹BjPöójù'"p–¼ûìd˜}ïã-Ú‰¢X¨d‡Ûo¿×­[ÇO=õ÷ìÙ“=OÜ:‘$))‰{õêÅS§NåuëÖñí·ß®xžÍf+B^¤_^±Z­²î‰¤WYhÛ¶­¬ ‰¢¸š à»h@/¥ßAõêÕùàÁƒñ2›f(z­W¯žÞjEä·ß~S{ èÊhFäp8ŽHí´hÑ¢ z€yáÂ…J¿Ýßõ®³æ6Ô[™B@}©á7n½ç ŠR”UT‚/MñµÌˆâ%Í  AËû;T¶¨íÛ·o,.Õ…¹sçF²ÕÍlÿ&JÜTòÕV·„BDA‹Å2@o{IŒ’ÚÉf³ñÉ“'ùBç·ß~SkK•êƒÅbù·R=.»ì2Ãï Ö´iS™Þ—\r‰Þj…åìٳܪU+µ¶3ƒ Ð&Œ"ºHmäñxd€cáܹsj±TªÔ&#.ò®R ¼Ïs/ô–ÁÌG˜ùN—Xáô™Ì¼?Ö²ˆh€ÙHzÌn·ã•W*Ïz¶(yŸM„F™—y<CÏ7»Ý>1|¤·ã}QC{áƒ>ÐKðdÉYš(Š',O¼6± ´Ùl‡¤é›6mR\€l$ªU«&KKMMÕA“è=z4vîÜ)KEqŠ·|7)ˆFJÓ Õú¾H¸Ýnôë×Oéâî–•Ao¨R[Ôžçݪ6"̼ÀuDtŠcS\"9å€gbÍŸˆž0Aíø¤I“ФI“X³O8Qt0²¡‡‘8sæÌ35jÔh}âĉ¡å¹Îb± M›6hÛ¶-ÒÒÒ’’‚ÔÔT¤¦¦–þÿü¿@ñÂÎÜÜ\œ>}:äÿ¹¹¹8uê~úé'lß¾Á`ùv–u:ÿÍÏÏŸ^®‹.˜9ßår-ôù|cʦ/Z´cÆŒQ»ì‚@©ƒáóùæ2³_ub†™óˆè"úš™C>ýç?ÿÁe—]†;ï¼S/õ¢´ÈÛÈŒ_|ï¿ÿ¾,ˆ‚>Ÿïf.ÐA-CBDvA†ùý¡?§#FhVÆðáÃe¿c«Õz+=ÌÌÍ Ò#v0ÌŒ fþœˆÖ x!øS(žBS™ùtyò"¢L·  ¹Úy—_~y¥Ø±¤,yy7:™=ŒÆ‰'n­Y³fó£G^ªvŽ èСºté‚.]ºàꫯÙ9 4ˆxÎéÓ§ñÝwßá›o¾Á7ß|ƒüÒ‡TYœNçwÆ|ƒ2ïéM|óÍ78tèêÖ½ 6ᓱmÛ6ìÚµKé¼×Q `æoEQœî÷û“»÷Þ{ѦMtìØQÕÂR™F0Ö­[‡ ”¿³Ñ¿‚Á |;» ›ý~¿§lBff&zôè¡Y½{÷FZZrrrJÓ@u×"ò¬ŽJ§HÉÞÄ•~È• •:Tþž“†0s™çhà_(Ö÷z´×QW"Z à Št«v.6lˆE‹UŠíËbŽ`(ÃÌþ£GvEQö6?yòd¬Y³§OŸÆ÷ßçž{7ÜpC¹:Ñ’ššŠ¾}ûâùçŸÇ?ü€Ó§OcÍš5˜4i’ì\«ÕZTPPpceûêœ`¾·Ûí!½jfVü‚¡ Tw":ÀÌ;tPGü~ÿ$—Ëõ¹4½°°ƒ ŠdQ*KãàÁƒ:t(ùGqQ? ƒSuPËÐØíö¿IÓ† ¦éû‚ÍfÃàÁƒ•Òo׬1bÃÁ¸Àaæˆ &TÚ`]:äô¨2Ô…d!ýúõuREN:uJƒö•@jˆyƒ ¼¼¼„|êÛ²e 5ýçää`Û¶møå—_°cÇdgg#77W&EEÅß|óT###cZvvvÈÇ÷‹.º(.ÓôºvíŠÚµk‡îóù|v«Õú0ù°w%È sÃ$jˆè9„;Çãñ`ôèј4iR¥ž³gÃP\èŒz²„z²$ݨ[·®Ò.u`v0"±Êb±ƒÁ`éC¿°°›7oÆÕW_S†‡Â÷ß_~ù¥T)MkÕªzôèk¯½]»vErrrTymØ o*̼š™ 5SXg˜ù["ºÉjµ. ÿ½3¢ÊöøïÔÞî,„}—]PETQ‘ÔDÇe…§ã6êS*£Ž+ã.à:#Êsp”ÁQQ@VEÙ$,!I§÷óþHà%ÝÕI§»º«:Üïçs>ŸäÖ­{Ï=çVuݪ{Ï­õŒòùçŸcÈ!øàƒRzYäóùðé§ŸbéÒ¥Xºt)Ö¯_ßà¨oV°{÷nìÞ½K—.=’&Iúöí‹¡C‡bèС8í´ÓRúÝÚµkÎ>ûlÓ/]²,‡#‘Èhfþ4­4RÚ´ióÈŽ;jM³5 W^·$Ã2®¹æ<ñĵ‚„ÃaCUÕ;Ü”±Š³ÝqÄ €µˆÙ|dÍš5œë¬Y³ÆlS•µì›ç¢ j¸é†AÅÅÅüå—_¦â&ÇÓ½{÷º6lû;;À7v‰¢(¯ÇÚä/ù‹V·†ûî»/ÎgŠ¢¼È°ÓÀ´XÛþù mFùÓO?å;3O9å–eÙö͉¢(ûŒï½÷^>ãŒ3XÓ4Ûý¬hšÆgœqß{ï½üÙgŸq$©·½Û¶m3ÝWÛr˜Ý~uªè¢(JÜÆ¿·Þzk½vO—É“'›Ý‚Hsƒa»Åv⪚.PËÐ[¶li˜·È–-[Ì.úŸÙ6Ï50)ÑM¹I“&¼~ýú”|” ´lÙ²®¥gØþ±K Ãø5Ö&+V¬°ÀêÖðÑGÅùÌårmgØÎé g¬íŠŠŠâÆW­ZÅÓ¦Mã¶mÛf졯E‹Ü¢E‹Œ=¬¶mÛ–§M›Æ«V­ªÕ¶H$Â^¯×ìœÖvû'S"ËòYº®ÍìÔ©S§„Ïß~û-ßvÛmÜ®];ÛVK»víø¶Ûnão¿ýÖ´Í?üðwèÐÁô\]×Cš¦e·?*¤¢¢¢¯bíÖ´iS>xð ©½­ä×_åüüü8¿¹ÝîÈnû¤*ÄUÆu DT V¸—ÒÒÒ¤?!;•C‡™Í¯¬`æÌ¯XkDÑ9Ãdz_aa!þýï㤓NʾbYÂív×Me3çü°T ¢N~¬™æñxpàÀ(Š3f‚ƒAšù¯ 3ï4;GP)’$ù£Ñh­é 6lsUØÚ àÇLTD½¸Ýî#/öîÝ-Z´@QQš4i‚¢¢"ÅE"«¨¨ÀþýûqàÀ8pû÷ïÇîÝ»ñå—_býúõøê«¯ÒŠ8Õ¹sgŒ7ãÇ3£OŸ>µŽË²\‡sûDZˆè4]×—-öX›6m°téRtïÞ%%%˜?>æÎ‹Õ«W§U§ªªèر#ºv튮]»¢sçÎ(,,„Çã1 *G¬TTTààÁƒøñDZyóflÞ¼[·nE(JK¿“O>&LÀøñãÑ´iSlÚ´ C‡­µXø0†aC¡ÐÙápxYZ•6bˆèOâ6;}üñÇqà 7dE‡|·Ý· ü3?’%,ÆQ "2ÔúõUUõHÔŽ\GÓ4³‹‹™í‹y˜CQw«Äý `É’%ŽÜÉ*B¡4-î7¶&Ó™ùѺ24VˆèÕL;÷Üs±xñb›42gذaX²dIlòTf~Â}r‰¼¼¼­>Ÿ¯cÍ´âââ¤ÕÆâv»1pà@ôíÛ'žx"úöí‹nݺA’¬Ü‰D°iÓ&¬[·ëׯÇúõë±bÅ  _2aÖVY–W‡ÃáþVéëTˆh€®ë#öXóæÍqÊ)§à½÷ÞKéÁ½}ûö8ýôÓÑ¿tëÖ ]»vE‡2öb"‰à§Ÿ~ÂæÍ›ñý÷ßcÕªUX¶l¶mkøškUUqî¹çbåÊ•øõ×_㎆ðûýg0óçVèÞ!¢ãeY^‰Dj½¼èÞ½;6lØU­3ê½eøý~ôìÙ[·n­•.IR(žÈ9¸ÏÓmüR3ÍívãÏþ³MYË}÷ݟϛܖ™wØ¡O.AD2€Ï ˆ=æõzñÁà”SNɾbY¤¤¤¤¾…W1ó ÙÒÇ)‘¢ëúÎ@ PË83gÎÄÍ7ßl—Z¦<ôÐCq;ꆱËï÷·cæø°GÐ4íP(42Õóo‚8fÌ >ܶÀåååX¼x1.\ˆÅ‹ãСCé7—™'Z¥›“!¢“ ÃøØï÷§µ¡Í±Ç‹ÓO?ƒÆé§Ÿî˜PÖÛ¶mòeËðÉ'Ÿ`Ù²e‰vkOÃ0|~¿03¯µHÅFx<ž/ÊËË;ÖLWUŸ}öYÖ_X._¾ƒŽÛQÓ´ïƒÁ`f®3Ê‹ÓpÚ£€ø¸j›˜ùK»•p:Dt+€bÓu]ÇÒ¥Kqê©§Ú UvùñÇÑ¥K—º²Œaæ…ÙÒÇ)Ñ¥^Mwât¹µk×âì³Ï6;ô[fþ{¶õÉ%ˆèÜÞsZµj…Q£Fa̘18óÌ3³ö62Y‚Á –.]Š… bÑ¢EسgOC‹¸ƒ™gdB7'BD} ÃøÄï÷'=-L×u >_|1†ަMs#:|II Þÿ}¼ñÆxÿý÷ôÕËår•UVVž.ž-CDºaùýþ¸7“3fÌH4])ãÜwß}¸ë®»âÒ Ãø¼úkTîDŒ³{HMp°˜*ËržÝvwºèÀof?'E Ê4k×®­¯/ aø+Û¢ëú—¸ŽÓ]×ED¹zÀåÉØ²sçÎü_ÿõ_¼|ùò:#29H$ÂË–-ãiÓ¦ñ1Ç“lß¹ˆà›l €^†a¨Ë.š¦ñˆ#xîܹ\ZZjƒl¤´´”çÎË#FŒ¨7¸€aôbøÊ©@Ò4í3ûyæ™IEìÊ‘H„lê[·Ûý.)™6:AlWàˆ"Àhûíþ¡·Aöm·ý,>7³Ýi§fë Û|øá‡õõ¥Øþʦì€kØ*d·=,NNd»>}úð=÷Ü“•ðÔÑh4+—/¾ø‚ï¾ûnîÝ»w]}æ¨|Ð]×õ’X{tíÚ•_z饬Dþaf>xð O:•GŽÉ?ÿüsÖê|饗¸k×®qýÁ0ŒÝÙ>rª —Ë5ÛìzjÒ¤ oß¾= ïXömÛ¸I“&¦×|^^Þ È‘ÈRö+hwÀ»Ýò8Ín8Mœof/ÇÃ?þø#M,\¸°¾>Ô‘à³lŠ,Ë‹píZ"²,/´ÛžNÞX›¹Ýî¬ÞV­ZÅýû÷çfu¯ü‘Ýnw­¶Q€Îð‚ªérµlrÇwXaîz‰F£üòË/s‹-ŽÔ——Ç<ò‡Ãá¬èpÇw˜ÝGngøÆ©@Óuý ³ûo^^ž£Âš¯X±‚óòòL+Ün÷ßsáyÑÖøDÔÀ¦¥eYÆäɓѺuëì*–!vî܉Y³fÅ-à©æ§Ñ8fN=ÖbãÃ4ìêÃ?ŒN:e[[©go8 =œu!¢vëaÑhtu׿9Ì\&Ër4 õ$ËrVî%%%¸ýöÛ1gΜ#;?ŸtÒI¸ñÆqÏ=÷Ä…¯µšN:A–k¹¢(Á`0˜;ó±-FQ”ãjî~ ={öÌx½_~ù%þøÇ?â³Ï>«•^QQéÓ§ãÕW_ÅsÏ=—ñõ_fmÕuýøŒVšÃQ‘®ëïA±Ç4MÃ[o½å¨@1§œr Þzë-\pÁq‘T}>ßE^¯÷3"ÆÌŽýÝ·m€ADx&!GªøÖ¯½öœ]Å2ÌØ±cq饗bÇÓÀQ'XGDW3óYVÍqÑcÓó›ßàÚk¯µA#{©g€V8šä|MÓ6)Š" "Bõß "Ò4Ms¹\†a.]× I’䯾úêðÛ¬#ôèѺ®ùÆ G$c‘$ Çÿÿ¿ã@›6mª•‡ˆÐ»wo03ƒÁ@ ¨ôûýþ`0ªù–*Zc®M( ¨úš)ˆˆ$µâȆÃa¼ð ˜4iªÝn)ÑhÏ>û,î¼óNìß¿¿Ö±p8Œ‡~o¼ñž|òIŒ™r€«:af¼øâ‹q!XÃá°³V¬g]×Oˆ`tïÞ=cõß;&¢„¶–$‰ƒÁà‘ü>Ÿ=O\¾I“&=ÄÌGí«€ÛÌxРAüÅ_°•,_¾œûöí›ô·Ñ£Gó¶mÛ,Õá‹/¾àAƒÕjkŒ(ìßd[H²,bíÑ©S'~÷Ýw-±ýa¢Ñ(¿øâ‹Ü¼yóO{l×®¿óÎ;–êÃÌüî»ïr§N̦YC‹€³!F†Q‘è^þüóϧéÌ3{öìD×?W·ív€­c%ێ0´¦†RU•}ôÑœŠü‘*Ñh”yäVUµ®Ôº±:J¶@1€p¬Mî½÷^K쟋̙3§¾4/;ÀwN•êûO\ ‰x –·lÙRïƒCì‚Î3f˜åÛ ‹Ýín, ¨.ŸÈ²ÌS§NM;jО={øŠ+®¨s™H<%óðKKKyêÔ©,Ëò‘²u]×üÿ÷…ᶨé¯Q£FñÖ­[Óò3sYYŸ~úé î±2fÌ.++K[Ÿ­[·ò¨Q£LÛ\C:³|d·Ðu]Oø2;//-Z”¶O²Åÿþïÿš¾È:,Š¢<@eØþ°dÓÙ—(KdœN:ñêÕ«-qD.±zõjÓ75¤ Àeì€Î’M0Á솰oß>k Ÿƒüýï¯ï‡¬;ÀwN…¾‹µY—.]8Ô²óG}÷àZóA/_¾¼Ö9~¿?Ñu¼@¾Ýío  e2s-[¶äW_}•S¡¬¬¬¾¨MIIÿþýS~ |õÕW¹eË–qe&`4Ë–ý$FÆÚ"ö ¯Ëåâûï¿?îún(ëÖ­ã~ýú¥ÜºvíÊÿú׿ÒÒ!ðý÷ßÏ.—«Î6WËÈdíØX@wÃ0¾Mä“Ö­[óºuëÒò‰|ñÅܶmÛ„}MUÕuŽaø€9K ÏÔuŽ7®QĪN•ÒÒR7n\}7ªgØ&[à­XL:Õ"‹ç&K–,©¯ eøÎi )-5³™ÙtŠØ/EíÚµã6mÚÔJ3{€}ûí·ÝôßPd·r]tŒµm~~~ÂëaÈ!¼qãÆ8?ÕGyy9O›6-nP™¬œsÎ9üÝwß5¸Þ7ò!C–ûpY-ííö‹à¶X[$òW×®]ùý÷ßo°?j‰Dø±Ç«ó r¬¸Ýnž1cFÚœ÷ßß4$mm¾-Y;6Fp¡¢(•‰üÒ§OG„¢M•;wòI'”°ßɲ|À9ì_d¼‚ªEy¡D7ÌgŸ}Ö2Ãç:Ï>ûl¢®¶áQ1·UëtÊcmÊvcbõêÕõý¨MdøÏ @pL^^Þ£ªªšnÒxþùç›Ú¹æ|ê©§rÿþý#5ÓÆgzî°aÃL}£iZe‡žÐGqhÑ4}Ú=Ö®­[·Nx=äççóìÙ³Mý” }sݶm[~ã7R®oöìÙu˜Š‹‹ÍÒÊ)´Š¢¼k EQêôÏ•W^™öôëíÛ·ÇÝÌdìØ±i¯Ç‰F£|å•WÖYY›5M›Ÿ¬›)IRÜÔêš}ÀŠ©jvSQQÁ×\sM]ƒ ?€Ál³?ˆ«œ’1ˆ¨ €_bÓ{öì‰ à¸ãŽËhý¹Æ×_qãÆaãÆf‡Û2³iø©Æ àÓšiݺuÃwß}g“FÎ`óæÍèÖ­[]Yî`æÙÒ'Uˆ¨ €stÐ @I†a¨º®k’$Q´ŠÃ›šE™lp­¹ÑYbó4UUµ%37 ‡ÃF]:hš†o¾ù]ºt©•~ðàA´hÑ¢VXÀ /¼°lëÖ­Û¾øâ‹^‡ÓÜn7öìÙ!æÛo¿EïÞ½Ý&]×ƒŠ¢‡Ã»C¡ÐNf.ã7cI’HUUEUUY©Bfæh0 P( WŸ[ `'€ÍÞc|{ IDATæƒu*‘cщÖÖLóx<(//Ë;räHÌš5 mÚ´I«Îh4Чžz wÞy'ÊÊÊL󨪊›nº wÝuWÚájwìØÉ“'cÑ¢E¦õÄF’p3¯K«ÒÄãñlª¨¨¨F)} I&Mš„3f yóæ–Ô¿páBL™2%.d÷îÝñä“Oâœsα¤ž_ý·ß~;^|ñEÓ¨vfmöx<ß—••e.œ–C!¢seY^‰D⢣ãùçŸÇ…^h‡jcÑ¢E¸êª«PRRwLUU(:“™?·Aµ*2=‚01£«ž={rEEEªƒ·FOEE÷ìÙÓld:€ð– Óà±mŸ6mšeöÍUöìÙSß›³Yìÿ%},A‚/šÙI’~9}þùçãò1âÕ6mÚÌŒMŸ7ožiO<ñDJ „-ncX×õk·ß-ì?“êkw‹-xÁ‚¦~I‡íÛ·óèÑ£ãê;묳Rš†U ,¨µ‰öz½fmžÄðM6U¤‚±×´Ùt¡Aƒñš5k¬qJ ‡â)S¦°$Iœ——Ç>ø`­èrV²fÍš#ÑÄjŠ,Ëqë0ªmsTÌv8,ÎŽí‡eøðá¼sçN‹<á´MhÕªUªÍmØ(Ζ¸è?:u²CGÒ¯_¿ú² ðRæ5I µWeQ8Ž\téÒÿøÇ?лwo;T‹cÆŒ¸ãŽ;âÒ%I VTT\rxpÌ!¢Ë$IZF´Íï÷cìØ±xüñÇqýõ×'U¯,Ë(**BQQ‘Í8Âá—«V­Âرc±}ûöZÇ#‘ˆ®ªê{Dt3ï´´òÌrJ\Â)qIžAƒ™ 0Np4 0úƾ k”N‘fÍšáŸÿü'Ž=öظcD4‰ˆ²úc“*DäŠD"§ÖLkÛ¶-h—J¶qÆg eË–±É§‘Ë}l Kì>]»v­ï¥K£FUUtíÚµVZµº˜ŸÑhˆ{á:räHñB€×ëÅÈ‘#Íu̦™þ‚Ñ@­+ß0 ˧4FŠŠŠ`qÏÚ*ªlÚ˜‰k´,7ö1 #‰iRgeCÜûVIQÌ™3ÇV?F£QÌ™3]»vÅC=„@ `šO×õÙÌüG®c13G#‘È$MÓ^3;^YY‰{ï½ݺuüyóÒZW‘.º®ãÅ_Œ³=3+¦Û£Uƒ …j=@_tÑEhüïZâ‘$ ¿ýíok¥…Ãa7€qöh”uzÅ%ôŠK:êH`ƒÆn˜¸FÛ¶GÃ,òäH`‹ŽÙÔ!Ó¯†Åú‹4hÕª¶nÝ›ÜÀnÔÉqŒ’’¬\¹Ò]I~~~}YƘUâÐu}tìÃû-·Ü‚>}úd]—@ €õë×cåÊ•˜;w.Ö¯__ß)³Àõu .ÃÌQ"º\–eŽD"—™åÙ±c&L˜€'Ÿ|¿ûÝï0`ÀôíÛš¦¥Òœ”0`¦OŸŽ™3gÖJw»Ý¿àøù²,_»`ýâ‹ýúÕ„Œ7O>ùd­4"º6¯½Êb€aB¯^½ðæ›oÆ%xËu²µ‹½U‹Æÿcf EQ²:»!ëŒC‡áŠ+®ÈpµƒC‡™%·°&˪d“¸Æo¼7ÞxÃ]r•³‰¨3ïÊf¥DÔ@³ši²,#âž{îÉšÀªU«°nÝ:ƒõ¯gSŇÿÀ̦ӞQ½üwD´\–å¿F"Ó‘ÃêÕ«±zõjU_úöí‹þýûgõK.A–åZ‘¥|>_K"êÄÌ[²¦H!¢ã ˆM?õÔSMr½0ó@":ž™7Ø­K&Ñ4­wì5ýÓO?á™gž±I#gðÓO?Å¥išfÿb· ¢ëz¿ß_+möìÙX¼x±M9‹;ãcxx<žìNŸÎd \×#˱Þ¹>Û±Œ³)†9ÀÆA¦Ûà»ß; Ý ·Û½U‹Óm{—˵Áîö¤ WÙ}Í×c×§`£\‘§ìöW¦%//o³ìœ’——÷ƒÝþʤ¨ª:Ïnçš¾™Mez †ø^e=ݦq_0)q¹ uv´¡Î”Ð4m€?ú|¾ÌüSºå1ó¦ÊÊÊL×4m_Ú fcêÏbDä–ey¢Ýzä ’$M "·Ýzd "R*++;Ú­G®PYYÙˆm„”H$­?— Îfeb€‘{4v›Š†5ô!¢¬~"W¥¸þ\ö¢(Ê/® ƒí™yרç"]˜9Ä̃Á¶¦hšæøµRº®7«?—mŒ‹D""$L’D£Q/÷bï.Ñh´Ñ>0[Mµ­m$©h4šÕ‡åÆsvM–é‹õhØ·!Û4v›–xßn% Çø*[•¹\®VeeeÙª.Y"D´†™?°$¯`æp&+df?€§ˆèYƒˆè¯×;¦¬¬¬3;*ôQ^^ž“c†O”$)T6Áa¢ÑèD/Ú­G†«¹N/›ìVBà ‚Á`Fûb¡LŽhˆè,õ†¼4ˆCÌü¡ÝJ±ÑXØÿÆ,àWTEZÛ àgfvĨ‡ˆò´вZšÈnH©x~`æ¿Û¬ƒ@P/Dt:€óíÖ#Çø'3/³[‰L@D=Pu$ÏnfÎÚ€3£ @ @pt‘é5@ à(B 0@ eˆ†@ @ ° 1À@ –!@ À2ÄC @ X†`@ Ë @ @`b€!@ ,C 0@ eˆ†@ @ ° 1À@ –!@ À2ÄC @ X†`@ Ë @ @`b€!@ ,C 0 ˆ¨ˆˆŠìÖC ‚\A 0 DTXPPð@»víV–Ø`~~þ¾&Mš|DD·‘Çn=@ p*ÄÌvë ä D4 ÀgÌü¹Ýº¬Çív_*IÒ3Þºòy<ž}>ŸïÊH$²([º @+ˆ†@$DÔ_’¤åªª.òûýcìÖG`D$©ªúV(ÕóTU 'fJ/@à<ˆˆè XŸ¯_6tX]àïw3¿eQY‚4 ¢ u]>›ÏËËó{½Þ‡vïÞý3²¤“®(ÊTEQîòûýyfy\.WIeeåDf^œ ‰!¢¾š¦ÝF9Gˆˆš6mšß®]»¶ÅÅÅ—,Yb:4 c™$I±é•••Af¾‡™×g^{À~ÄC ˆÁív‰DÖƒÁd§? `æUUJˆ¨'€o,*®;3oQY‚1 cB(z1Öû…Þëõn+++;™dR'"*’eye$éV_^EQ¢Íš5»|çίeR'AÝÑo¼gq±ç2ó¿,.S p$bŠ”@PƒÖ­[ŸYPP°¢ƒ èºþ§Lê$È(?H’M·I’‚~´@AȲ|U0|)™Á”••µ/((XBDZ¦t""Íëõ¾ŸÌàÂá°ô믿¾RXXxi¦t‚L“öâÆ†@D’¢(iš–öÍ<‰DÀõ½9&¢ë›5kvõáÿ«¿ØÔÜh³Þ¿ÿQZZú3?UO}ýu]ÿ«,Ëi/þ ƒÁp8|&3§ý$¨"Êóz½VTT\6ÌÜ¡Ph4µgæmRO!˜9¨ªêÓÑhtJ:åD£Ñ™Ì±J/AÃ!¢Š¢Ì ‡Ã ZÇPZZz’¦iϘ” ½Ün÷œ²²²“rN$¡p8üý“™K3¡—@ d’¬0˜9ª(Ê)>ŸÏ4*O 4I"O—½{÷Zµ Ö§IäiYQ™,Ë!1¸È»uhÌTG’yÀ•áp8­²dYþÝÃÌå–('ÈÌì#¢³òóó?8tèPdžœ[PP°©´´ô7ÌÊz‚$ ¢ö²,§ü‚™ Àù^²L©*ί.;%öïßÝÇÌ%V*%R§zJå5^¯÷÷DÔûð5îóùàó™>¶±aëÀ\Ïf+°„Ýd}€Q]A 0’À,…Àˆh´¢(φÃáæV” …Ü&¢iÌ,†93o&¢ãºvíºxóæÍƒ“9'??AiiéÄ£åÇÂᜉDÒš–ª(Ê…°x€QTTtÙ©¯¯Þ_e €ÿµL)A²ìr¹\ ‰ˆB¡P8 Et]W[·nÝ´S§N'.]ºÔcv’,Ëÿ"¢¸MÌÌ‘HdWæÕdŠê0Ò»ÝîÇ|>_˲²²¤O '8ÉårÝJD71ó‚Ìiê ì`ˆ7¼I"le=DÔ\–å§ŒM÷«… ×êº>šˆn`æ7¬.\Y˜¹‚ˆÎl׮݆íÛ·÷ª+¯$IKKKKÇgK7A½´I·Y–ëôy*„B¡¤v×CG Ê4fþÀ³cãÇï `Ù±H$r3oʤn‚ìCD^UUß …BÃ|¥HŠÊÊÊVæ{½Þß———_ؘg=ØE*é!Ÿ‡ìV 1AD¿SåûH$26Sux½ÞωȪµ?‚,@DÍ Ãø ¾ÁD£Ñ¡………ÿ©ž+°"j•nŠ¢X³ˆ¬ømoA Y°`AFà œu0 cM(nU™åååg|EDöúÎú#—#b(Š’U{E£Q1À°"j«iÚ¿Ì ‡ÃY™žW^^Þ_’¤/ ^$¢d‚l„ˆ†ëºþßï?;ÙsJKKÏt»Ý›‰èœLê&¨fÞ‘nápx§ºÔ$‰ì± ˜_,(C ¤µWUu­ßï·âkd-JKKñx<ë #ëŒp8|0ÛuZE~~¾+›õå²­œUq¢(ßYùæ!Y¢Ñ(:tè —Ëõ‹Çã™JDi‡.X in·û "úW (lèù>Ÿ¯€ˆ>ðz½‘UÑñ gyº%V(RŸÏgŦjË,(C 4"rkš¶8 gªŽòòòü‚‚‚‰(/SuØEÖ¡PȲ‡æñãÇ[>¢¬‹¾}ûöÈf}¡PH|†M"ê¢ëú§þ‡ÝvêRYY骨¨x,//oi§.‚ÿ‡ˆzx½Þ¯+++§ÔØÿ¦Á03ÊËËoÈÏÏÿŠˆºX¨¢ yV»ÝbH’‰uSó‰(åP㺮oð……ú‚$Qe^0´|mV,¥¥¥=Ï›™®'ÛØ1Eʲi?£Fº@ƒß:¦J·nÝNpB¶êƒX¯’D4QUÕ VíGÒºu놑#GB’â/­ŠŠŠ.þ#Ëò‚ê¹›0 ã:UU¿*++ëjU™‡ê¡iÚ7š¦]aU™‚ä`æˆÏç»5Õó ÃxŽ™¿·R'`æ¯Ey!ÕóÀíb/$ ûшp8lºÈ?”——ŸKDe«¾l@é¼¹K©B¢ûÜiEYEEEP%âóù*Ãápˆ™!IE"‘H(:"È À’7Øn·^¯—++++ƒÁ`0‰D$I’˜¡P(T½ã· ÈŠúÜÏ̶¨¬FyÝn÷ŸÏ÷[;õèÛ·/fΜ‰—^z óçÏG$¿Á³®ë?s™ù[TöìÙC‡r®çp½Ìܼº>«€ø‚‘4DÔO×õ¯í\Àúõë1aÂÜxãØ¸q#.¿ürÈríå@ ƒ¦iëdYi“šGDt†ÛíÞœéÁ”——q¹\›ˆè”L×%¨‚™Ùï÷Oôx]×}Ì|ViiéÕbj”@`†aL´«n]ׯ°«n« g#lU?x8:.BSee%.¾øb̘1]ºtÁË/¿Œ÷Þ{-Z´8’‡™±oß¾ÛòóóßmŒQ$솈:hš¶"‰ÜÎÌYÄE£Q Àÿ¨ªú1µÌvýG1F£Ñ¤Ð‹ŠŠfdZ™ï¿ÿ>©õ!RÕâ­2«À¢'j$IÁ0 †?'V3‘+ ¶«þ`0xrc moÇŒQÞÎj¥¹Ëhf~Çn%œ ]ào©ž_PP€Ž;â믿6]'a%W^y%fÏž "¯¿þŠI“&añâŵò¸Ýîï}>ßo˜9ÑÜ^A ¢Þš¦- ƒMíÖt]߆0óf»uiìQWI-Ú&"fæc™ù» éÒˆ¾mÀ·›è#õCDÇ¢j¶¨Úɽ-€ ªü~X~ffKoîD4¬iÓ¦/”””˜îïr¹6WVVNfæ[\¯  €n5DCÕ>)¿Øà§Lõã£":À?mVãfžo³éÃÌYg`!IÉYÙöO®Ýív—¦jÛ .¸€KKK™™yåÊ•\PPqÞrË-\“'žx‚ è•GUÕRáwKúÇ`MÓ|¸†k‰a‡ô³Û>]\Ú¿¾‘)]$Iz¹ýäR»íçD ¢iÚÓ.—ko2¶$¢ }`4)Íú;†±4Y?æåå-Ð>Í:%cÜn÷ç²,‡“©W×õš¦=à´tÛ|4 €íþðg»í`‰-mpÞÉp^®ÈÉvw' €®­ZµÚ”ª]/»ì2®úu„l 2žzê©Zõ~õÕWÜ«W¯Zyˆ( à·vÛ9WÅ0Œ±ªª&õcl‡èº”ey˜ÝvjÌ"IÒc ñIõ>­Ö@GI’Ô›7o>Ûnû9IPŠ~¦¢(Ó¹îòòòv¸@^ :¯(ʯ)\ë¿è™B}^7º\®é´YQ”÷ðØíÇ\‘üüüÝ;2$OÛm+$û=à¼\‘vw' ª¦(OS%˜ªM'OžÌÑh”ÍÈÆ C’$^¸pa­z}>2$6_À¹vÛ<×DQ”ë$IŠ:àÚ­SdYލªz™Ýöj¬âñxÖ6Ô'^¯÷«õ$éo Õ£yóæßÚm?'À º®—Yyí)ŠrÀ=´$õP}NJõUëß?ɺܲ,ÿEUUK¿¾†q@Q”kÈvûÕéâñxæÛýû@DoÙm+$ûVÍ•´Õy9$mìî NÝÜn÷štìyûí·s}Ì›7/ã~u¹\¼|ùòZõ:tˆO:é¤ZùdY8ÝnÛçŠH’t·®Ù¤…ˆXÓ´ivÛ­± YQ”@Cý¡(J@+ õh%Ër¨¡z¨ªÄQþ à|—˵-“ןÇãÙ à¸zô8MQ”ÊDe 6ŒŸ|òI~â‰'xèСuõ­J§ÕS×I†alÍd› ~‚˜‚[§äåå½n×oB Yh·¬;yç(Íj¥¹Kåu‘DD7ɲü@8VS-gæÌ™¸ùæ›ëÍÇÌ0`V¯^jUIQ\\ŒåË—£[·nGÒöîÝ‹ÓN; ßÿÿkSeY®ˆD"§3óúŒ*”ÃT÷‘'™y²Ýº¤‚®ëûýþú;§ )ˆèx_¥rn^^Þ“ååå7X¡‡,ËD£Ñi)žN¿FŸ IDATÞ›™7X¡G.AD²×ë}´¬¬¬^4oÞC† A‡СC´nÝ;vìÀ·ß~‹7bãÆØ³gOe(Š‘eù¶@ ð0Ç< QK—˵©²²² ö¼ÂÂB<ÿüó;vl­ô×^{ ×]wÊÊâ@*в/ÇÌ»cê‘E¹=ÞS_4ÄV­ZáØcEÏž=qì±Ç¢U«Vعs'¶mÛ†­[·â?ÿùJJJêl3qqqñ_JJJnm³(((xôСC7Ù¬Æ3Ìü›uHŸlhPµhÉñS Qå ´tw¹\i}µ$‰Ÿ{î9nË–-ËŠ;µ ?ÿü3·mÛ¶V>Y–·hb·?œ(to:àzMKt]Ÿ@±ÛžA\™ª4M (¶@‡âºÞ|'!WÚmGüÖ,??e]viÒ¤ _{íµ¼téR‡Ã\kÖ¬áqãÆ±,Ëõ]Ë´­¡‹Ü¦M›fyÛ¶mË[¶lIXç÷ßÏ-[¶4­GUÕOQã뀎^¯w]]º©ªÊ&Là 6ÔÛÞP(Ä|ð_}õÕ\XXXg›Û´i³U/1m÷½“D×õ©vÿ¸Ûn;X!¶Tª(Šßt´(Šâ·»sØÖ)«¡ÿ%ËrÊk-P}cž?>§Âi§–??úè£quoܸ‘‹‹‹kå“$i1ªÃJ ©ÕWæÚ}­ZxÍϲ۞AdY~6?†ñ?éê@DÿŽÅÅÅóì¶c6ÀÉn·»¤Ÿð-·ÜÂäTزe _ýõìv»ëºþö£êËN?ýôEfy¼^/ùå—õÖ·víZÎËË3­‡ˆ`fœìr¹®µðz½<}útÞ¾}{JmÞ¿?ßx㬪jÂ6íA=ÓÄŽ60Êîß¿·ÛVHÖ§H€aû@£ØH$Shš¶?dm×a§@D=t]%œ”nYƒÆÐ¡CADµäðÆH‰¤¼¼O<ñD½Ÿš­ ??ß}÷Z¶¬½Û¼yó0a„Øìw0sÆ7ˈèZÏØ­‡Å\Ê̯ۭ„•Qs'8QÓ4¢(ë|>ßjfþ9õy½ÞoÊËË{¦z¾®ë•@ 3§´Ñ)yUUÝ …RÞ8³¸¸øÇ’’’.©ž_DÔÕþP `-€u̼7õ%¡ÏŠ¢ü;+fÇ/¹ä<øàƒhß¾}ÚuíÞ½&LÀ’%KLkšV6zôè¼ùæ›WÄ>)Š‚wß}ǯ•þÏþD„óÎ;/.}Ô¨Qq{,úöíûà?üpó¡C‡L§D5 sæÌAqqú?üðn¾ùf¼ý¶ùöcº®#‘Èi¡P(³ó‚s"*”$©ÄæÍ{;0ó6ë·›FˆcUUµ42Dc’jÛŒµ{ô™å>!¸9ݯ¹(&LàX"‘ˆYøÚ€Síö•@¿êE¹¶ûÏJ©þºÛËnûZ䣮ùùùëµÕãñlG’ÑuP§&IRƒV›øá¶4tøSºõWïyT”£dE×õS=OÂ…Ó²,‚ „ê­ÇV'hšf:•ÌívóܹsÙj¢Ñ(?øàƒ¬(Š©òóó¹uëÖqéfSmï¿ÿ~–$‰%Iâ‡z(îø¬Y³âÊiÙ²%{<Óºu]çÇÜò633?õÔS ¿fx<ž Tmðhû}à âñx>¶ë7À0Œõv·ß*±¯b a+ìr¢SE×õåÚÙÝ1²ÜŽÕu½Îy¨Yˆˆ?ýôSŽå­·Þ2ë!"Ì4ÉËËÛc·ß2%.—ë'^»íœ†H×õ5M«÷A_’¤ˆÛíþX´þí³är¹J¸R¨ß¥iÚ‹ú‚%û К7oþt2á›u]†qM–úIgÃ0LmÕ¥K—¤¦"¥ÃÊ•+ù˜cŽ1µƒ¦iµ ·ÞzkÜù3f̈;ïᇎËwóÍ79.Ër‡ü®]»òºuë2ÚæåË—›ž°×ë-ˆ\y¸o^cãoÀÍv·ß2;ÚìD‰ˆî¬ÞäÈ.g:B$IŠÑ8Šv£ê«ÅŸR 娨ä„NàH$±œ|òÉfù'Ûí;û ¹Ýî¤wÓMUºwïç‹ÃtïÞ=ãýÁårý¯Ý¶NU$Ijð|Y–Ÿ´¨üÁ*Ñ )Ô?ÅÂ~ð+lRTT´ ¡uçåå5¸í ´SK—˵ìî³Ï>;©µ‘H„—.]ÊwÞy'Oœ8‘‡Η\r ßrË-¼dÉ’¤œ'NœÈþóŸù£>J¸ÇSMvïÞÍýúõ3ÕÃãñlPĸØ)<Š¢ìÊô}>V4M+E# èb»ÕΠëú/Ùv¦SD×õíØí‡,û¼§®ë §OòÑGq,|ðA\>Y–‚H7¹(’$ý9¾°{€€Eɹ7Yz¥2u­úá+íÝÍUU}Ù*û»Ýî½Ô´]Õuݲ/kMš4yÂëå‚Tê®þúÔ=SýDQ”OÌê8p ———›_xÕƒA¾çž{¸U«Vu¶¡eË–pàŸp ¦e4mÚ4n°ãóù¸Y³f ëmÞ¼9WVVÖ:gß¾} 7qíׯ—––Ö©c$á¿üå/Ü´iÓ:ÛÜ®];ž9s¦é˪X}Ž?þøD¾—p/±[Œ±êZn€4ŠÅ݇ŖEÞf‘WÓ´gƒÁà%uåëÓ§ ÃÈ–Ziá÷ûñå—_Ö™GUÕ×B¡Ðuœâ‚Â\ƒˆ¯µ¸/‰˜.ê;Z™:u*{챸ôþýû›íËñ3Û«;«Q"ZÏ̔麺wïŽM›6™ëÑ£¾ûî»L«I’¢Ñhô8fþ6ã•YI†a|å÷û{¥r¾ªª{C¡P7f>˜ªçÇŠŠŠN©žoÂï™yN2‰è*³­ª¸°°pÛ:¤z>†±Åï÷¥r~~~þ¦C‡õbæhª:$Ðë¯Å¦÷îÝü1 ž»iÓ&\vÙeX·n]ÒõwÞyxá…ТE‹„yöîÝ‹3Î8ß~©ÝtÓMxôÑGk¥3 .4-ëꫯÆsÏ=W+íÚk¯K€^½záã?®s1÷O?ý„ &`Ù²e óÄrÆg`Þ¼yh×®]Â<{öìÁàÁƒkí»Tƒó˜ù½¤+l¤èºþA0<'u¹Ýî/}>__vÊC¹Ø=Â15^¢ªjŒð~ùåÎ~ùå—„#Õê6^°y¶@/Ã0¾Hd“£]:vìhÚx฼²,ûp”Å0w»Ý¦¡#3!Nø‚€EyÍn»'+zZÐæ1iÔŸWÁ2ûçååí@kžÈ†aXºótõš‰¼4ìaÅØž÷¦i{cëéÔ©ïÞ½;á5ÇÌüôÓO³ËåJ©Íš5ã·ß~»ÎòwìØÁ:uŠ;—ˆxÉ’%µònÞ¼Ùt-EÛ¶mã¾F¼ýöÛ¦:uêÔ‰wîÜY§NsæÌa¯×›R›‹ŠŠøÍ7߬³üíÛ·sûöíãÎu¹\Ûèì€ûŠ ™a?Zy]›‰ÛíÞ ½ÝíµÜ~v+À© ÃXmæŸÏǹ‚Ïç3íLÕmëȰu6€BDwXÝ¥±ËúõëãúÑ7ß|“(ÿt»}›Å>t,emƒN§ 0ª˜»Úmÿ$}ô»tÛ+IRÊ{P8-C~¨÷E€K2T÷i©ÚCUÕÒ­_–åË-î#3ÍêYºtiÂëmÏž=|ÞyçYbÏ)S¦Ô¹NaÓ¦M¦{e´iÓ†÷íÛW+ï7Þ—ïÝwß­•gçΦӚÜn7oÚ´)¡Á`ÇŽkI›¯ºê*®¨¨HX×âÅ‹{{ª~nL µÛíÞ™¡ë›u]ß  ³Ýí̈íìV §Ê±¤º®s®¡ëz­ÎTݦ£& €ã Ãø*S§S%QÂúä®»î2íG;wŽË+Ëò/GK_***Z˜Mÿ9e€€E™k·ý“—Ëõ”×ÍG©Öঠ]Ë? ŽM.Ëåú>Cþ¿)U{äååý'Ýú ž±ª8†ˆâ^27.áµvðàÁ¸pÝéÊ´iÓÖÇlZÖLÏýû÷s“&MŽ¿à‚ âÊ>|¸iYu­ ‰D"<~üxKÛ|Î9çp0LXç¨Q£âΑeÙ y"M‚ª=c2õ‚ë »Û—1»Ù­@uÅ:¢U«Vœk$XˆÖàð‡¹&¨újqçÑøÕBQ~衇R:·OŸ>¦ýÈìmYµŒ´Û×YèK“ ±™ŠÈ²Ìº®ÇIïÞ½MýÀÌÜ»woÓsdYÎHªŽ²wŒÝ~¨Oòóó_K·­………ߤZ¿®ëofðºUGÿÌØÎ¿………ï¤j¯×›ö‹ÂÂÂ×-¼Žã¢‹y<ž„ÓžƒÁ ŸuÖY±ë½÷ÞkZça}1Y³fM­|ýë_[±bE­cK—.5-ã¼óΫ³îÉ“'g¤Í—]vY¯7[·nM4ýì©ú»±€n†aüœ©kÜåríp¼Ýí̈íìV §¶uD¯^½8×Hðö¥-;ÀÆ™Ç뺾!S¤Óåì³Ïæ;v¤t®ªª¦@>üðCÓüDô¼ÝþδäååÍË”¯î¾ûî8[§ÊÝwß±>¥ªê»ýPŸLO·EEEOµ~·Û±H„gC¢z].×—™ª×ëõîJÕ†a¼j×[Õ?t][—è‹-3óõ×_Ÿ±ë ?ùä“ ëÞ½{·i¤¨‘#GÖÊ ¹k×®ù$®Üçž{.a4«gžyÿýßÿjs’âþûïÇøñãÑ¥K—¸c—_~9fΜY+Íçóõ#¢V̼+£Š9"ºZ’¤g‚Á ”éºB¡ND‹dY¾9‰<’éú²†Ý#œ:FŽC‘áQ£2ÔnûfÐo³`_ÛD’$Þµk3›¿JF–/_ÎfôíÛ7Ñ9ÇÙí÷ ö§«2é¯\ù‚Q-WÙíz|åÖu=aÀúD–å0€–)Ö}v¦¯mdz2¶^—˵<Óõ8;E›´¬¶iJõ*Šr€Û¢¾15¶üã?Þô:ŠF£<`À€LÛ”°×ëåmÛ¶%¼¦Í¦h]xá… ófÈ!qçÕ55êûï¿gÃ0²ÒæáÇ'ÔãØc5;Dz¯X¹ $UUφ/ÌÄ0Œ—Ѐýwœ,™¥AÜŒFDcn›¯¾ ………øá‡°sçNüúë¯øé§Ÿpê©§fC·Œ3pà@´lÙ޼åj(Û·o7M¯£¼sSª(e9+1Ès§Û‚™}ápxrªç˲<Ÿ™w§xúɩ֛,åååˆhÐáÿ‰hPeeåÀL׋ÛÆÌ»UU]j¥ápø:f®÷~ž D×wÇŽkšwÅŠøüó”>d5˜²²2\sÍ5 Ϙ1#.íí·ßÆW_}•ðœeË–á?ÿùO­4"Šû:pfÆÕW_ ¿ßŸ¤Öéñþûïã›o¾1=vñÅǥɲÜh_b!"¯aÿ …B7Ø¥ƒßïŸèv»?&¢&vé`N`$Þy&÷iÌm«¨/Ãå—_ŽÎ;£U«VhÖ¬:tè€?ü'N̆~e̘1GþÞ¿JelÛ¶Í4ýÄO4M/((ømJ9""Y–‡Û­‡Seye|“Át‡Ã/{<žS9WQ”±ùùù¿Kå\—Ë5¨þ\é“——w_:ïÍFùùùƒS9ˆÆ…Ãá R9WÓ´·˜y~*çšár¹:Ǧþù¦yÿþ÷¿[UmRüë_ÿÂË/¿lzlÀ€¸à‚Ú&df<ðÀ Ë{ðÁãÒ.¼ðBôêe¾ÿäìÙ³ññÇ7@ãô™?ßܵ#FŒˆKËËËëši}œup¹\ký~¿í/r|>ß@—Ëõu³[—´°ûJŸ©î‚MŸ¨² wÙmß ú-.RH¬lØ°ÍøøãY’$»}“²È²Ì?ÿüó‘ö¤:efÊ”)¦öY¾|¹i~I’¼vû>}©G¦}6}útÞµkWœìÝ»×ÔÌÌ{÷î5=gúôéÙèg=ìöK~kåv»SÞP³I“&o5´?»\®_³x­÷­–¬Ôçv»÷6Ðþ^I’æ¦ZŸaŸhbeŸp»Ý¥±õ$ºÆ:vì˜-?‘¢¢¢#S[cY±bE\~MÓ¸¤¤$.ï¾}ûXQ”¸ü+W®4-{çÎ\XX˜õööèÑÃTŸ½{÷Æåu¹\­ì N§èº~ Û~¨O4M+GO©·]:nÛ¸,ÈãvÛ7ƒ~»¾®¶4ˆÍøá‡¸¸¸Øn¿¤%_|q­6ýáH©œQ£F™Ú¨¢¢¢®Øh»}Ÿ¾t¦]¾tÒ>1r¦Ý~IÒw²®ë·É²œR˜ê¼¼¼Ý%YW‹lúÀår½ãr¹Þɲß[$i‹AªªnO¥EQ‚Т܄:öüHµ/Än’©išiÈÔÊÊJÛ®­k¯½6á5߯_¿¸üO<ñD\¾9sæÄå0`@Âr¯¹æ[Ú*I‡B¡8}¢Ñ(kšV+oµïí~K.Qűáô%IŠÑuvÛ)qì)I’í:…ÆÜ6Ô³ÃåráÃ?¬]«´´\pöíÛ—qå2É-·ÜRëÿÝ»S›NžhŠ”ÛíF³fÍLɲl>ß ·)²[’6aæˆßï ‰ôpCqqñÅÅÅ?¸Ýî]ªªÖ©¢¢¢…$IŸjšvÕ‘.ãë/jâ÷û/ðûý)M=Jƒ:ÛHD ý7- …Bmë+LÓ´R—˵³iÓ¦[Z·nýׇÃá¡Pè¯\ýÔe!Í™¹ÖÔ¾–-[Âl¶ßŽ;,®:yæÍ›‡ƒÍ»æõ×_—ö /Ä¥ýãÿˆK›:uªi™û÷ïÇ+¯¼Ò@-­!â—_âYÑ‘5„‡©ö]ó,©–5ˆˆTU½ÀkápرQ/£Ñ¨ÄÌÓuýI"’íÖ§AØ=ÂI$†a|Œ3!†a|h·}3%Æ%cƒÂÂB¾ôÒKyþüùLcn’ˆ"Äk¯½†ñãÇãƒ>È´NçOúS­ÿwî܉Ÿþ9¥²JJJàó™›1Q õP(Ô!¥Êœn·D³[taæåªª&ýêÖï÷Ÿ¨(Ê×Dt…Ùq·Û}ºeÊ9ÇcºÐ›ˆ®Påë`0xR²eéºþ 3/·N»z9›PYYiš±iS{?î?ýôÓˆF£q麮ãê«ã·ªùcÑ¢EƒµŽOž<ªªÆ‰DðôÓO[ qê›ÇšIà›8æ*DÔÒív^YYyaý¹EeeåY.—ku´[—dpì#6ÚHK¹mH"ŠTc£oß¾8çœÚ'V¬HoϱD¡jë`èDÔÒô`îb>WìèÆ¼cäÁ`pº¦iI‡@ ‡Ã€ Ãx›ˆjM‹D"ý,WÐa„B¡Z"*ú¿öÎ<<Š*mû÷éZ{ÉfX"DvD`€%(¸‚HDeDDf@†_tpßYfPÆe&‚*dED\Pvd…@’Nz«~¾?ò‘îê¬]uª;õ»®û«êÔyÎóœêÊ©³)Š’àß復²,{}>ߣq7°j~Œ@à×DôCü-Œ %Iªô^8{ölÔ×~ lžYFßiFÿûßugggcذa•Ž8qûöíCqqqTOü½÷Þ³Gæ…^ˆ±u$##.—+êx ˆš ©(J)ͲÍ(c·K’´ÃçóéOdL ü~š [c£yÛR–l`0ÆäP(ääm‡Q„B!'c,á‡:Ä Aõ`L™2}úô©t¬°°‹-ª×}ËljFѤI•£ëÚÕ+SëQ·1fÉM2ùd®ÛíÞ_ÛD~¿¿cl“,ËϰüW¼8r½$IÏ1Æ6ùýþZÿ‘äv»¿0ß»ªÅápœ¹ôÿ‰(æ"½{›²¥IL6n܈¯¾úJ÷ܽ÷ÞulýúõX½zuÔFy£FÒ½ÇîÝ»±uëÖúZbùøôéÓQïY–~x”$I3ÆVƒÁ¤v«iš`¡,ËÏZu$K60ÜÑ]$YËØ`z0:wîŒgžy&êø‚ P\\\¯{˲~û3Öñòsê•©Å ¢‡Ãño;¬‚(Š{)N;+["Ò¼^ïÏêòn$"ƒÁ)Œ±`š%aŒý; =ëãC5iÉëõ>DDÑ L  EmÍké Aƒ ·§:^|ñEÝã¹¹¹p:+û\·n]Ôð¨ÌÌLôíÛW÷±zHÌ$–õb¢iZýÆûr¤l¡(é_¡Ph&E¬d–,ƒÁ'%IZÁ‹î’âŒU—æJÖ?¾/%À)ÞF@ƒèÁ$ ‹-‚¢Tþ RZZ—ˆÞÄ@º/¢(J§zgl1ÂáðÝxÛaB¡ÐbÞ6Ä"Ú–ššº´¨¨hdÓ'kOpõ)«ªªy%%%»âiOmÐ4í}”­0XÁêÕ«qÏ=÷D]k…ÆÂ… 1}út¤¥UÍìv»1hÐ äççWûïÿ ‡£ò·ÚÛo¿¢ýçÕ?ü€%K–ct-ˆåãÕ«WG+))IäUX‡B¡B”í«V/A¥iZ\‡W ‚p^Ó4ýmäkA0€»ðY÷8¼—±Š±„X_X`I0ƒÕ—·Ÿ Š]jue¿âŠ+xû¾^’e™/^LzŒ?>.y|òÉ'º÷Ÿ5kVÌ4gïøPŸZñˆ±E—©mÅ;Ÿ©$IÞÏu²ª|þC&çw‰´+33“4MÓ}ÆzöìÉÝo³gÏÖµíõ×_¯6í;ï¼£›vÚ´iÜËÕ³gO]Û4M‹µÙmžuÇ*R¥0Þ±Á$ÞÄÐ"Åd-cÌŒ¬¬,¬Y³ûöíã>殤¥¥áÝwßÕ‹»lÙ2üóŸÿŒK>±z0¨ìe­‹ßïo—Ì-q»Ý›o8ÆùóçuUU/’Q8މèˆé›}ODúcRlêM0œED¼w1Ý'IRÑ¥Ξ=‹íÛ·ë^üÔSO™bTU¼ôÒKº¿·C† ©r¨jjj* u< bîܹqµ±.ÄòíöíÛ£&x˲\@Dµž'•l0Æ®ðûý)ñ¾¯¦i2€«â}_ËÀ»…£'ãÁ¹•o‚Æóö³a­V‡#YÞaÆÑ?ü@)**¢o¼‘w j¥-Zо}ûHÍ›7SJJJÜòúúë¯uó©ÁæLé¼ão¸¶6³%¡Â®åƒcÜDEŸ|TE±ùMaQ¤}ãÆ#=Âá0uîÜ™»ÿbõD <8fšûî»O7ÍâÅ‹¹—§sç·uí7nœ^ýy™w½±‚ 30.£y—Ï(Ù=üHÚ2:ŽŠzÜn7æÏŸ•+WVZ²Ïãñ`íÚµ1'ÂY‰öíÛcÞ¼yØ¿?:wîuþ7ÞÀ AƒPTT¤“ºnÔ¥£œ¸eá íÈÌÌ|‹·¼$éU"Šš$›LÑ™p8Ìwç±$$ Í"¢ó¼íMÓ¢V°ÊËËÓ]’›1†ßþö·¦ØUo¼ñ†îñáÇÇLëÜÒ¥KãbS}øío ½ENœ8¼¼¼¨ã¡PˆËªcVC–å£î’’Ò˨{s‡w 'Fkñypné› çyûÙ(I’tåääÐ7ß|C±8xð õêÕ‹wbªW¯^´bÅŠ˜ã„‰ˆžþy2âëúñãÇuó{úé§«KÛ–wü€FN§³„w0[ªªz4âí ¢NÆ IDAT“bÜDE?oŸ'‹dY.Æ;®—ÊétŽ´sÊ”)‹[o½•«5j¤ûûöìYE1êz·ÛM%%%Q×—––’ËåâZ–[o½5¦Ÿ§L™u½¢(_ñ®/VQffæGÖ±/y—Ï(q7@OŒ±…<D3Ä[ÈÛÏFI’¤oþïÿþ‚Á ÅâÕW_ë¢>×6,Ë4lØ0úàƒbÚNTÖ…ÿØcfûéÓ§uó}øá‡«KÛ‘wü’ÓéœÌû¹5[n·ûÞ~7SŠ¢ü·Ï“E‚ üw<#`ªN¯4|öRŽ9Bn·›«·mÛ¦k›Þß¡C‡ê^»fÍ®ep»ÝtäÈ]Û~øá‡X>žÄ»¾XAd#?|‚ pó.§²ä)EQ²xÛ`4É\ÆœœœáÓ¦MÓ]¦ïüùó9r$ÆŒ—!E‚ ˜à^\ 5€Ôp8쎲LxØãñÌÊÎÎ^“ýeÏž=Ï1?ü0þö·¿á£>Baa!V®\‰ë¯½ׇ~ˆ>}úà¹çž«·ý±ˆ5‰0rž^Ò¸cJKK_LOO?ÀÛ³¸ì²Ë{½Þð¶ÃLü~ÿtI’~×`Þ¨ªZ¢iÚó¼íÐáU‡ÃQiG:¯×‹™3gê^ܲeKݽ†ÌDoéVºïˆXïX÷0‹gžy-[¶Ô=7sæLx½•×fE±V[ò”×…B!ÃÞ«š¦9Ü`Ôý¹Â»…£'—˵[ûfÈåríáígƒõùèÞÿ}jÑ¢E\üçñxv ÀYGûd":Lµ`÷îÝtÛm·™R?ŠŠŠtm¸ù曫K›cØ&½„ïò2öâíoJKK{‰·ÿ]n·ûO¼ãXÅ3<=Ò^Aèã?&=4M£Ûo¿›/»víªkתU«¢®}ÿý÷u¯×{¯.ºýöÛcóýøãI½t¿ã]O¬"4:F’$Íâ]NC|ÇÛ=9Îã¼F³ät:óö³ jNDs€ÿ7¿ù 9ޏøÎáp<Ûþ—j€¦i´mÛ69r¤!s-b)Öð²®]»V—öz ÄÝP‰¢˜gð³IÙÙÙÔ­[7êß¿?1‚FŒAýû÷§nݺQvv69NCã/Šbo?ó€VuÞh«L‚ „4æÇ*â›&ŠâùH»»víJ@€ô(**¢.]ºpóéÑ£G£l:sæL¥k$IÒ±wï^nvwéÒ%æÇª@  û>áGÞõÄ*JII1üƒwjjjRÎÃàn€ž$I*æõ@š%I’ŠyûÙ,eeeÍ—ßDQüslJ%¢)çΣŋÓ}÷Ýkã!Cåñxb™FÍ›7¯.}?Þñ6ZÜŠ¢ì«;vìH'N¤×^{6nÜH»wï¦cÇŽéþ ¯×KÇŽ£Ý»wÓ† hÑ¢E4aºꪫêUU÷!IÇäÖTn·û}޿щ*dz’wüª€_ëÙþÇ?þ1æóväÈjܸ1ŸÎ™3GצöíÛW\“““£{ÍôéÓ¹ØÜ¸qã˜ó.ˆˆþøÇ?ÆJû+ÞõÃ*ÐÔ¤aÍx—7ÞbåN´ Œ1@@ôZjɈHãmˆ0Ɔªªú‚Ïçk]×{H’ôÏ@ ðp=í¸vÚ´i¾âŠ+„B!ƒAœ:u ÇŽÃÑ£G+¤iüÂ’ãÇëžs:ðù|ºçÊDDë 1ÌB0Æš«ªº×çó]V“ëÛ·o~ýúU¨iÓ¦†Úwúôi¼÷Þ{:p fSGœNç¹ÒÒÒ®D½vg‚1v€å¼íHPúÑfÞFTcL•eùH ¨ô ʲŒ?þ]ºtÑM÷á‡âæ›oF 0Å΋ 6 +W®Œ:>fÌ,\¸0yòd¼ð Q×ôíÛï¿ÿ¾á6^Š,ËØ¼ysÌ9!Ÿþ9zôèåGÆØa"ê@Dö<(Œ± 昔ݯˆ(¹–êæÝÂÑi16ç/@&ª o›[ÀDY–/ÔÖWN§ó µžù÷×ÛÐjêÒ¥ éáõzk’~(ï8›XŸ®–e9ËcÆŒ¡E‹Ñwß}§ëO39~ü8-Z´ˆÆŒ3våe¹š,à[Þ J’ôïg1Ѥ(ÊQ ìáՅ²…7¢ÊЮ];úñǘÌ”——gº_;uê¤k˼yó*®Yºt©î5ÙÙÙ¦Û›——Ó?þø#µk×N/]ÀÞõÂJJKKÛiVÌÜn÷6Þå·¸eÐÑ쇑£’vIÑjbœ&Â_A¨ÍûõÚíÀ5‚ x-ójuã7’ÇŽ«Iúá¼ãk¦DZº°gÏž­ëGžÌž=[7nŒ±°Ãḓ,àS«:“mU«ÇyÇ­6R%O¯7Ýtùý~½Gˆˆˆ¦Njª_c [½t~űcǢ·B!Ýý2ŒÔÔ©ScúÍï÷ÓM7Ý+틼냕 ‰Ãá0m.cLƒ…çNÕɇ¼ Ð ê ~”yéÞþæë–²,¿YÝäi·ÛýêñUÀ•‚ œµ@¼k¤Ûo¿ôؽ{wMÒ7¸?RUU}RÏG÷¥Ï‹cÇŽ‘ÇãÑ›¢(O|i%hƒ²¯ªÜŸÉDÃá!ÁzŤȲ|B¯<>ø ÎST†¦i4tèPSý{îÜ9];RSS©yóæºvž8qÂT‡Z寰>ø n:I’pñ®V€Ižã‰¼ËOEoTÀŸF¼ 0‘†TÖ(ˆè(€Œ±žªª¾èóùrô®óz½¿¢ò'¾¶0Æ:¸Ýîÿz½ÞÕ·éééºÇk°Ôè¢d¢´´t†Ûí¾ª¤¤d̥Nj‹‹1qâDüç?ÿ‰™6 b×®]Ø¿?Î;SpÙe—ÅTÇŽÑ£Gݽ_.2qâDGw:¯–””èoЀ!¢C²,o ƒýxÛ’ äÑÞFÔ"*bŒÝ`"æ]æååáÊ+¯ÄSO=•Îáp`É’%2d¶lÙbŠ­GEFFF”Ý»wGZZšnšï¾ûÎ Ó”ÍõX²d ýíÍž}öYäååEgŒQ0¼ŸˆJ 61¡p¹\“JJÌu‰ªª“$Ï< Þ-VãXpþd¢Æòö·•`¸ªª•–(v¹\›ëx/AŧDQ´üœ‹HMž<™ôXºtiMÒwâGNuGt¹\[õ|²lÙ² úý~Úºu+ýùϦËåŠ[ÜÜn7 8žyæúàƒ* ñX¶l™n§Ó¹€ÈÛV€Q¼ŸÇÒm¼ãU8ÿE¯LŒ±JÏo$%%%4hÐ Sü»jÕ*]FŽIãÆÓ=·|ùrSl4hP•+à-[¶,æ2ë‡#+3&•ôäø_Ç»üñ’݃Á—†TÖj!¢åŒ±·Q6üOÁ`Ð]RR2¹6÷`ŒuaDjjê¸ÂÂÂlƒL5”ȯd±{0bCD!ÆØPA¾×4­Ò®«“'OÆ—_~‰-[¶à£>Bii©!6x½^¬_¿ëׯP¶âWï޽ѧOÌ›7/êzA¥¥¥C‰(dˆAÉÁZƘFDoC¬ c¬„,¾rT5<)IÒÿƒÁ[.=HD=z4Z´hœœèn§Ó‰U«VaäÈ‘ÈÏÏ7ÔÀcÇŽéoÒ¤ <î93z0î¼óN,]º²¬¿Ùô®]»0zôè‹8WB’¤w‚Áào¶1ÑPe‚ßïç’·Óéœ`;—Ì㌙¼ 0‘†TÖAD³cyѾš¤cŒeʲü6€^𦡰°ÐH3 Å"UgJ5M“"žÐí-E‹-‚ÓéÄ‚ jœgjj*zö쉶mÛV4$.6*býGÒ¤I¨ªª{®W¯^èÕ«W¥c•‡Æ°sçNÕØö±cÇbþüù1ç\cèС8uêTÔ9Q/ƒÁÛˆ¨æ6222~WPP ßdÁ`PáI”mF™Øð£)UUׂߨ7S¥ªêZÞþNt¸ÒåráËxjÅŠ¤Çý÷ß_eº”””ïyǃs]èË;vuPoÞ~³ºtˆ—¿;tè@'N¤üü|:uê™Íwß}Go½õ?žÚ¶m¯:py<|m¸Ùáphze¢gŸ}–Hn·›ÐOZRRÒ‚·fàr¹Žy½Þ–¼íHDcEùÄï÷;yÛoÞ~ûm 2$êøµ×^‹;wÆLçv»ß+..¾ÙHÛ¬Œ¢(KÀ=—kÒ¤ &L˜ÀˤJÌ;gÎT^ETż`0ø'“Af‡Ãáÿ­Éµ­[·ÆÈ‘#1bÄtëÖ Œ%ƨ9"ÂîÝ»ñæ›obéÒ¥8z´Æ#ç~OD2Ò60Ɔˆ¢˜ …¢†r_ýõX½zuÌùjðùçŸãª«®‚$EMËŠ+„ hÕª•¡ùƒA|ýõ×èÒ¥KÌkΟ?!C†àÃ?Œ:'Š¢ …î ¢„NgŒ±², –XPBÅP(ê@D‡xÛRgx·p"%ËòX õh†dY¾ÀÛ߉(Y.—ë{Þñ3J«W¯&=ªRáp8ñŽ O©ª5Tn„ º¾äÁ„ ¢bæt:“|gu¸¹ªºŸ••E“'O¦>ú¨Îñ±áp˜¶mÛF“&M¢¬¬¬ê~3®& ÄȸU’$ݥƻuëF§OŸŽ§ÛëDaa!ñ6ƒNŸ>Mݺu‹õ·FH’¤Ad˜ZQXZZÚÞï~÷Ã.Þþ©«,ÕƒÁs0ÆBD”Ÿœê cŒˆH$¢0o[ƘÛãñì*..îÈÛ£X³f rss£Ž§§§W·É߈hŠa†YÆX#¯_¿·Ür‹N óÙ°a¨wª9™»ìP‚ÁKUùGŒqãÆ¡_¿~1'»Ö–‚‚|öÙg8sæ Ο?‚‚œ?¾’€²ç1==•þÝ´iStëÖ-æækµEÓ4lÙ²óçÏÇ›o¾Yé\ùûÒII¼Ô1cìfEQÞõûýQ]íڵÆ âÞ{@D8qâ<ˆàСC8{ö,Š‹‹QTT„âââ 1ÇS¡”””Š7jÔmÛ¶­P³fÍâÞ«väÈÜrË-8pà@Ô9EQBD4Èï÷ë/ggÆØd/ð¶#OÑ ÞFÔ«­"•Ù¸hܸ1öîÝËËž¸ÒµkWüðÃÿ_^Öt縕@0Æ·Û½2™t_>¡P¨&Kï&ü²võà§‘222ЯŸu6îׯ222ôVú)€¿s0)a ¢B§ÓyÖçóUZÚûÁDÿþýë|ß3gÎàÓO?­Ð'Ÿ|‚#GŽÔ×\0ÆÐ¶m[\}õÕ•”™Yû•ÉA@ÿþý¢‚  ƒIÛ¸"Ú,ŠâUU7ú|¾JŒà†nÀúõëÑ©S§:ÝÿÌ™3ضm¶mÛ†¯¾ú ÄáÇáó³ê¯ªªhÓ¦ Ú¶m‹N:¡wïÞèÝ»75ªÛ¢’_~ù%ˆ'NDS%à÷ûÑÖúÚ¬0Æ:ˆ¢8+²æcäp8¦1ÆÞ%¢=¼m©5¼»P"º©®DDQÇŽ)YèØ±£^7Ø•dß'‚üFÇI§wß}7ªî|ÿý÷5IûKÞ1âT/D½áQ£GŽò#oF7UUOȾ´²Ün÷¶HßÍ™3§Vþ/))¡•+WÒ˜1c¨yóæ¦?Û-[¶¤ŸÿüçôÎ;ïÏç«•ísæÌÑ»çJÞq1K®SUÕ§ç×ÌÌLÚ±cGµ> ‡ÃôÅ_ÐüùóéÁ¤öíÛsÿ½¿¨:ÐC=D¯¼ò }õÕWU®u‘;vPff¦îýE)Eí m„¸SRRöóŽ}uRå Ê>Às÷Y­üËÛ€ˆ`÷Štìõ×_OÉÂõ×_¯Wyz‘|ouø‰ÃáЋ›lZ¿~}TÝùòË/k’vï8qª£ôü‘ŸŸåGÞäççÇŠÝOɾ´²cs"ýöøãWëó‚‚Z´hÝu×]är¹¸?ß•’’B#FŒ Å‹Óùóç«-Çã?®wŸ¼ãb¦ôPUÕ«çOÇC7nŒò[  uëÖÑÃ?\“ù,–Q³fÍè—¿ü%mذAwõ«7Æ\ÊVQ/€¼ãee¡ìÃÔÞq®©\.×N o¿ÕÊǼ ¸$ت  #:dÈJ† UiÊˬ’b`UEùŒ÷n–6lØUw¶nÝZ“´¹¼cÅCŠ¢ìå³úJQ{ÉêjàW‘~»ûî»I'NÐK/½D I’¸Ç·:ɲL·Þz+Í;—Nž<©[¦»ï¾[/íC¼ã¡ü¢(ºË“+ŠBË—/'¯×KË—/§û￟ÒÓӹǷ¾ÊÈȠѣGÓŠ+*ʦ(J¬ß’ þ‡wœ¬.UUóxǵ¶òx<«‘@“¾¹@DÐAQ”/õúÀP²ðÀÄúAø@²@,¬(4¡QµiÓ¦¨º³fÍšš¤mpÝánâ¯8ÊÞt¯êXˆôYNN]ä믿¦3fе×^KŒ1Þ±¬³ctÝu×ÑÌ™3iÿþýåËÉɱëÌÿ¯ E9§ç?AÈétš«ÌÌLš?>Í›7Ï´†ŒÓé$AtÏ•û¤3ïøX]çÞÏy]•ššú2oÿÕTÜ'y3ÆF‹¢8ßï÷«zçEÁéÓ§Í6ËEÑ=î÷û;Š¢¸‡16Žˆ™l–¥aŒ5q8¿ ‡ÎB[z“¼kXþóq7Æâ‚ðkMÓx›A˜ àNÞvX˜¯#8pO?ý4òóóñÕW_n€(Šxä‘G iþñÀˆºGDؾ};¶oߎ'žx:uÂwÜ¡»B€ýq7  ¢/c³<yNÓ4”––š?c cÇŽÅŒ3*&îßyçxôÑGñú믚wUeóûý³ˆè C H`c§ÓùBiié¯xÛRW žžžžváÂ…ûˆ(ÈÛž*áÕ²à–$)jHTCW¹Oܼ[žV€¼cb¶Þ~ûmŠdÕªU5IÛ”w¼L®ícaÞñŠ—ÊËÒ–·_­,‡Ã¡ñŠOß¾}é‹/¾ ‹|úé§±zL‘$I~Þñà)Q_ãá÷îÝ»W¹ßÊÆ¹MEñ5Þq±ª¸Ün÷Z^Ïk¼•‘‘± ŸøÍ¥ƒ1ÖEQ”|¿ßß–GþV& ŽV¥7cìN"úœ·=ÿüs<û쳘1cü~¿!öè•UQ”î†d–à0Æš¦¦¦¾WXX˜4KÜôHKKÛÇ»‘ˆó¶G­Èq‚ øa •Uî£q¼[ <àw¼ãÀC¿øÅ/¢þø|ë­·ªL#IRw¼A—_~ùfÅ177÷ ÞåM&Ptê=]¸py䑘ãÒë*I’è׿þuvi>uêÝsÏ=q¯C‚ Ð#a¼ãc%¸Íív_0ëwßl9·Ãqo?ëúÞÄ §Ê²¼Œw0Må>Kå]Q8ü(0Q¿çíºé¦›(’7Þx£Ê4‡# {/…êêÔ•(ÛÔÒ¬XžÐŽw¹“ER#}ìv»é"{öì¡Þ½{Ç%výúõ«4ª¦¼ûî»Ô¶mÛ¸ØÐ»woÚ³gOŽUUÕ»ÎÅ;.œêB›H_´mÛ¶ÂWK—.Ë>'‡6oÞ\ëzÉ¢E‹b.)[5oÞœ–.]Zqßu­ ïøXAœ²,/0ñ÷ž«$IZ …·ß+ÅÀ¤@_£(ÊqÞHT•ûîÞ•Åä‡kyû—š4iB‘|ðÁ5I›Í;nV€t”Mˆ­u<A¨Ï×ñ/Ñ?Ã&‘þÍÈÈ K ‡Ã´`ÁjÔ¨QâåñxhÉ’%TJKKéé§Ÿ&Y–ëdC£FhÁ‚Q­¥¤¤è]ï¸ð€¡‘¾:th%Ñc=«ç§ÆÊÉÉ¡O>ù¤–µàÿsäȺãŽ;êeƒ(ŠôØcEõ¦ :Tïú¡¼ãÃ[ZÇZ™4™%IÒ×°Ð<>SÆpŠ¢¸Åï÷g›‘W2â÷û³EQÜÂÛ“ÆÛ^œ9s¬t¬sçÎ5IÚ܃ÆX#ËPÖƒQk²²²••U×ì;Š¢øc,£®7°© j¾È•ùcøÙÏ~†ýû÷cüøñp8j÷Š+..ÆâÅ‹qìØ±:‡ë4Àáp`üøñØ¿?~ö³ŸE­&'I’^2gݬLx¢~;uêTéÿ=fÍš…={ö OŸ>uÎh×®]èÙ³'yäÕ8] ÀôéÓÑ©S'¬\¹²Îù÷éÓ{öìÁ¬Y³àñx*‹,s95zY$+Œ±~’$}æ÷û“f¾EM ƒDQü”1V÷ OLhIFukÛª³Ì—P·Û}Èþæ¦I“&Q$5èòÎ;nVÊþm––ö7I’|õ‰Åµ×^K=zôÕç²,—¶k×nNjjj+$Øn¬V€ö‘~mÙ²%UÅÌ™3ë/·ÛMÏ=÷U1'_—üü|jÑ¢Eòœ9sf•÷ޱ µe¾Vš)QGúbáÂ…UúoÞ¼yõÞ¥Y³fôæ›oV™ѺuëèÊ+¯¬W^Œ1š7o^•ù,\¸0*(Š‹yLJ—Ü%B°>~O ‚0„w<ÌXEÊÙ(r‘Ô0ÆZhÍÙ ®üûßÿÆŸþô'¤§§Wëܹ3Nœ8QU²„èÁ`Œ] @;—HEQðx++k-ïØÅø TUý}"¾Ê_Þ­ ³jM"H’¤PÓ¦MŸF,] `zdù^xá…ŠçãäÉ“t×]wú<æççWä·víZj×®aùÝu×]tòäÉŠüž{î9½ë¦óŽ ‡zÐ.Ò­[·¦K9yò$3¦ÞC¢j¢:ÐUW]ex>Œ13fL¥:ADÔºuk½ëÌêu®EÑk´ÿU²,ŸЈKlLþïy;8‰ô{Þ³jܸñV øÚúÃþ@ ƒ±ÆaÊÊÊú–wìtžÿö—]vY®æÑ¸qãÏ.–%++«N«PYAMš4Ù ïúP ‚°%²\ëׯ'"¢W^y…ÒÓÓMñå°aà mÈ\ªôôtzå•Wˆ¨¬Ay^–å­¼ãÂá7eX¤LDe=JÓ§OË’°V•Çã¡éÓ§“Ïç#"¢Áƒë]7ŒwœÌcìÞ1±ºœNçr.Ϫ Á™·s“H/ó~˜ÍPJJJ|m 9Z³f ]äÉ'ŸŒy­ ,´.>€{DQLôM5¸¤<¿°€=u–,Ë%ó®u¬K‚ %‘eÚ¼y3õë×»oV¿~ýhÓ¦MQÇË}Ò ö¿ð›H?L:•V¬XAmÚ´á+³Ô¦MZ±bM:UïüoxÇɤº0€wH×›£3p:›,àØ¤ªª›x?Ð&ü`¨¼ýl5eddСC‡ˆˆèÛo¿­®ÛÿÞ1,ã ‚ $ܨKåt:?Æ%c™.—ësÞvÕGå ¾„ÛS@7½òÄsîƒÕUEY»ñŽ™’$iI¤233¹Ç‡—ôÊ.IÒÞq2CŒ±|ÞþO -5;>†¯"Åkit ÆX Þ6˜€‹·V£  Ã‡ǶmÛЮ];ôíÛï½÷^¬ËûØ`¢yQ0ÆZˆ¢øŸP($ð´£>8Ž@iié}DT±¡iŒ±Q‚ ìÖ4-!Ë …dAÖ0ƺÑIÞöÔ‚^‘zöì‰ÜÜ\¶pcíڵعsgäá^>ã`dYî +ëÒ¥KÔž( ¿ß-[¶T:&ËrÒ¯$ÅË`Œ åmG¢ÀÎK'3W4ákC1ø·Ü’B’$óþb`´4ãíg«jäÈ‘ u‡J\”(Š;yÇÐáp,âí«8èñXåcŒýÞöÕWóyדÚHÅ…‘exë­·¨¡ñÖ[oEÅ’1–Gˆ‘BÙP¹À¥å—e¹Òb `0µk|¹’zèìáQu‘©# ]/˜1æ ƒn#óhHƒA7cÌSý• ÊÛ«²téR 2999x衇t¯Ñ4íjžu„1ÖžˆFñÊ?0Ææøk¬óD4­üÞ„…1öP"õ.«ªzË¥ÿïr¹pÛm·ñ2‡·Ýv\®Ê¼Š¢ôçdÚhšViKóöíÛCÍØÒËšˆ¢ˆ+¯¬¼EO¹Úð±È4’¾—ÆrÌÌÌè IìMöâO²ûÔn`TÁºuëpà 7`Ê”)hÚ´iÔy"Üh¾ee0ƦQÂnt¤(ÊËD4‘Ê?‘éADáP(ôªªKÍ´-ž‘à1ÞvÔÆXïâââ¬KåææFý¡Ýp¹\QÃÂ|>_6c¬7'“̦sÔÎQ‡16LvÇ4âm@r¹™™Ù ŒÄ#Ù}j70ªaïÞ½ÈÍÍÅØ±cuÏ+ŠÂm\ª,ËwðÊ;Ìñûýã«j\\„ˆÂ>Ÿï>A^7Ã0#p¹\wó¶¡&¸ÝîɑdžÎÃK£ìãͶƒvC‡>HvÇȼ H4DQL75?ƒïŸì ó Ù}j70jÀ‰'ðü©©©(,,Œ<}cl2…Ì´‰1Ö@c3óŒ¢(–„B¡ DT«aOT6ü~ÆØ6Qÿ …¤jYˆ’’’,ÆX":ÄÛ–X0Æ2DQ¼+òøŠ+°nÝ:&qÇëõFcŒ`Œý/p0É4$Iê9ÁûðáØ7o'‹¬ÁáÇ£ŽI’Ô•ƒ)¦!Š¢ ™úŠKxRRR2ÍÌÏn`$ÉîS»QCŠŠŠtûýþTƒ¬6Õ  ÉùÕ·Ûý‰×ëý)©ë=ˆhcl³ªªoú|¾.q4Ï ú°lÀz ·eË–ñ°Å²‘ à/ð¶ÅHôVÊËËC^^ƒ,L²¯$¥iZµ=Í6|±‡H%ÉîS»AÃ!ÛVò¬²,`¢×ëíYŸÆÅEˆèkŸÏw €ÇdY>[oÍ£5oªBUÕI¼mHcI=LŠ1&ø|>K×W+áóùZ3Ær9íšPƒ‘¬6œ1´¡ªj²¯b`:’$µâmƒÁØ Œ8@D·3ÆRÍÌS–eËEñ;ã@ "šC—ìsQ_ˆ(HDÏl“$I:¯{…(Цv™×ÆØ>Ÿ¯-o;"êÈã¶Àƒ ´Ó4­á.UKÊ}ÕŽ·6Ö¡&ó ㉡k0<æñxv™GC£´´ô;Þ6ŒÝÀˆápXðSÿ2+OEQ𳲫)cìc"Z`C(úÈè¹)Däð"cìŸz ‚0ÐårÝQ\\Ü‘ˆ˜‘y×·ÛÝœ· UÔ_ä b<€­¼0ˆdŸ´lìçm„5æÎË´»™l¬c¬½¯–zµ>ÇŒ¸§Õò. ¢ïcäwc?ÿ/fgœ.×Q"ÒŸ¬b2å=J-d•« ø¯„r€ˆ,9¡16ö‡Úâ#¢wyaŒ±~†ñ¶#ÁXEDïñ6Âc]‘ü{}Ä›DdÚG»acccccccccc7vC,ëa70lllllllllllâ†ÝÀ°±±±±±±±±±±‰vÃÆÆÆÆÆÆÆÆÆÆ&nØ ›¸a70lllllllllllâ†ÝÀ°±±±±±±±±±±‰vÃÆÆÆÆÆÆÆÆÆÆ&nØ ›¸a70lllllllllllâ†ÝÀ°±±±±±±±±±±‰ÿ&ø±pôÚB¼IEND®B`‚./chessx-1.3.2/data/themes/berlin.png000644 000765 000024 00000100625 10633464147 017113 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖsBIT|dˆ pHYs66Bï®tEXtSoftwarewww.inkscape.org›î< IDATxœìwxE÷Ç¿'Ò¤¤‡z•¥Hï (BèAE»?PxEAQé¾"‚JGH ‚” JQ:JPBH9¿?ö&orïì-ÉÞ»{oæó<ó(³»3gg6{÷ÌœBÌ ‰D"‘H$‰D"Ñ/½H$‰D"‘H$žƒT0$‰D"‘H$‰fHC"‘H$‰D"‘h†T0$‰D"‘H$‰fHC"‘H$‰D"‘h†T0$‰D"‘H$‰fHC"‘H$‰D"‘h†T0$‰Ä DÔ„ˆšè-‡D"‘H$î‚T0$‰D“b±ÀF"j¬·<‰D"‘¸RÁHrADíåjµL ÅF¦²‘ˆé+•D"‘H$ÆG*I^JA®VzLó¿ Šb‘M€MRÉ(ÜQK½eH$£# ‰$/ÞP>*7I%£pbR ²w.ÌÉV2u­T‘@D!z !‘H$FF*‰˜l“©d"LÊÅ&(Š„ÙJÆ#®‘Jb0¨¯·ý!"/"ªLDõˆÈOoy$#! ‰D H»ûBƒÊE6Á6Q¼s¥’ "* %CR!¢GˆhípÀï¸MDˆh.uÕWJ‰D¤‚!‘XGÚÝL&OBå¢C‡ˆ‹‹] Q*…ŠºP~7è-ˆÄµ‘7½ àG/x yß~ê` }ND"3K‰¤P  ‰Ä6ÒîÞƒ1Íëf”‹Î;cÍš5ؾ}»5%c3ÉíÂAö:ç®+V¬&OžŒ7nàÈ‘#X½z5–-[†ýû÷ãæÍ›X¶l¢££Í›ª à-‰-‘bf½eH  °ØŽSS´cæ½Î•H¢5Ö”‹6mÚ`ݺuð÷÷·ÚÆ… ТE œ:uJtø&€ÖÌ|P y%Æ€ˆÚAÙñÊ&‘™Ûé%ĹQIǔ̮óóóCrr2ªW¯nõÚÛ·o£V­Z8wî\îêLñò½ ),È ‰$È0¥nˆi¾„ÊEëÖ­±víZ›Ê`÷NFÝ‚Ê+1æŽür§Ê³é€\ÊŒ?Þ¦rAAA˜5k–yµ7€¾šI'‘©`H$6¨U«j×®-:$Ôº¦yJ„@¹hÙ²%Ö­[‡€€»Û³¡d<`‹T2< s“¨âDTAI$® –yÅèÑ£í¾¸K—.(S¦Œyµ|H RÁHlðÐCaÛ¶m¨__¸`™­dHŸ ãÓå*V¬èr‘MñâÅEöÖÏDäs!Ã{.yV•Š-Ѝ¨(‡¨T©’yÕÃDD”K"q tU0L‰kü5(¾:߇—F÷áODRé3 ŋǖ-[ðÈ#B="Àn"ÚHD]‰ÈÞ8éÂÌ3¼":öÙgŸa̘1µwïÞ=téÒ;vì¾Å#ÙaA%†ƒˆbDIGoÏ%‚Q®\9‡¨X±¢yU”е…ˆJ‘è]QèðѹÿgÌÔ ÍÚ‹˜äü¡AP™™Ï êÛبQ½,ר-‰ˆÈÀê›J5Ó¿…„„„ 11:u®]»Ì{AyÛ¸HD ,`æ N^’/˜yªiñócŸ~ú)¼¼¼D¶Ód+Û¶m¾  T.< 5EB*ˆé‘gKóÎ;·£rEΉûBD¥<%‹{]ѦúËPò§0›™¯è&¤N†ÕrPD£"·6Ý"Š ¢ÁD´À?öXàE(ÊA¸µëƒ‚‚°iÓ&´lÙÒÚiÑÞpŽˆÖQG¹3e˜ù]¯‰Ž}üñÇ;v¬ÕëíT.d¤ÏBM‘¨+w,=VÂkîË]wᤧ§;ÔΉ'Ì«îøµ@ÂI = à”Ä]`R.LDè%ûûQ"zÚåêŒüè‘x<&¶^D´À%( Å“ÈçJRÑ¢EñÝwß¡}{á¦Yn¼<à;gˆèU¹uj ˜ù¯‹Ž}ôÑGxñÅ…×Ù©\ÐLP‰QPóµ( e÷Sâyä Až™™‰#GŽØ}ñýû÷qüøqóêƒÌ옖"1DHDˬfÇ%%|EDß‘ÐБ †Äc!"S^‹ãPÌÎâ¡Ñ.”¿¿?Ö¬YƒÀÇÇ.KÃ2¦ø‹ˆ¾%¢ÖZÈ!É?Ì<Êê’3gÎÄøñãóÔÙP.nh+• ÏÃd.SÏÊ)ÒLÊ3±Èq4iÒ$»/ž6mnݺe³M‰[òsvGy À§ËbXtM´GDc‘Ë#44½zõ²yÝâÅ‹ñàÁƒÜU›™YÍ£,€³¹ë:vìˆØØX«},X°™™™æÕå˜ùœ ö0óÁhÚ´)ªU«fµ-[¶àôéÓæÕ½™Yú`"*`€—”ÍO±±±¨[·.êÖ­‹æÍ›ã±ÇS=÷Ò¥KX°`æÏŸ r¹Øàf>œ%Ú@Dox[tl„ xï½÷ìU.ö‰JÜ"ªë~|ó˜y„«ä‘8"š i®*?žÝ3fÌÀرca-Ô¶mÛЩS'Ü¿ßüÐ(;Ù¤0³ŒDæFnæP²dIT®\^^^8qâ®\Qu»xŠ™W:MH£À̺cpv©\¹2ÛCHHç¾ÎÛÛ;ÑJesŸ €7nÜh³"EаùuʪôÑÞüÜ9sæØì£W¯^¢>žÖzœ SP Ào‚qU-¡¡¡ÜµkWž:u*oÞ¼™¯]»fsîDdddðš5k¸}ûöìååeoÿ™æÓ{ì s²»$œ£qãÆqË–-Õæï€†zË_X ô‘`ão8Ù2xë=Öž^ |4ÚõÞ®_¿>¯^½šOž<Ééé霕•Å.\àmÛ¶qÏž=íþípSïû–Å¡g$À_æóبQ#NNNfsŽ=Ê­ZµÍû5ázß³‹ÞQ¤4!222’ˆBUkiï¬ÒO1 ûä"ê `løV¢I“&hÙ²%Z¶l‰‡~^^·ôööF×®]ѵkWœ={óæÍâE‹põêUk—y M0ƒ™³ ,ŒÄQT·r?øàk×ù°ú[â,ZÑ¿ì\§z[&P5‰ÈŸ™-–«5äy3œØ¾Ä8€'žxàãã???Ü»wOg©$. '€˜ÜµkׯÎ;áímë¡Zµjزe š7onμ$€þãDYuÇ#|0.\¸PJÜyQÑÒüä°Jßj؇ÄAˆÈˆfX+ÊEãÆ±fÍüûï¿Ø¸q#&L˜€zõêi¢\˜S®\9L:ýõ–/_ŽæÍ›Ûº$Àt(ÙŸ#5H¢Ši¼_(@S´’Eâ0 ŒsAÖðPÇYQ(a0%:ðì³Ï¢aCu+¦ŒŒ «ÊEÉ’%1uêTgˆ&q=µÍ+>øà¡r‘›O>ùDT­ßSðCRx!¢ÒvBÉ©b——ž|òIìÙ³?þø#ºví __×åeôóóC¯^½°}ûv>|­[Ûôínà0upxIñ¬HDm‰h$ý‡ˆVÑ"ÚGD¿›b•ŸAÁv!›Ñ ":ID{‰h}NDÑ+D4Àä &Ñžz‘u§º|BD>°ïCÀ™vôã”'¢¢NìC¢BË–-±{÷nLš4ÉáŨöíÛã·ß~ÃÈ‘#$ÄÅX,$<úè£6/ªQ£‚ƒ-Œiêj$“añ)IᄈÚX%œåʕÊ+Р1‚¼ÔªU ?üðÖ¬YƒqãÆáÌ™3j§–ð½`›Œ?%Ö1å#¨%ñe[ €ï8???DDDü÷Ï?ÿ€~PBj*qVä; `+€-¶3ó?‘M@Q0| ˜·qn~¨³„kVäÐS¢Ø§ ¦hrµr×EFF¢hQûôþ *àСC¹«âˆ(ˆ™ok'¥±;·„ˆºXåâ‰'ž@rr²a”‹ÜtëÖ ÇŽÃÔ©Sáï¯j¾OP¢`-IúÔ1íRô'¢oñ¿Ä‰ÿ   \Ú´isñøñã÷Ο?ߌ™ëîÝ»÷F“&M ¢ìU0À×®ÑA"z‰ˆ¢ Ðf¡ÅdÚ–Øj˜“âËÛûqÖ‹æy(ùtEÙ‘èHË–-qòäIìܹ3gÎDBBªT©‚âÅ‹£fÍšèÔ©.\ˆK—.áÙgŸµiJâ^˜úò˜?˜E3µŠà\‚‡ƒ»åÆàÁƒ äPUºti›ç 6Ìᬹ©^]æ^rDÔ ÊGš…­“ŸŸÞ{ï=<ÿüó9uû÷ïÇñãÇÑ¿Ji"EŠ`âĉèСzöì)ÊøšÍ`þD4€™3\(¢¡!¢‡Œð”Œ©šÑ¬Y3¼ÿþû¨_¿~öÇkˆÇ®]»°råJ¼ôÒKÖv ì l‘×0•ˆ~ð_«™9µ "rÔ í¡íU*Q3[$>È/Dåž²©©UÛ’üS´hQ4mÚM›6µ}²ÄÓ¸ çòúõë¸uëBBB¬^Ä̢ߋ;Z¾/ ‰Î!¿ò¦ÖSajóõÌ<%4¨ÅØ•-[–÷íÛg1Î{öìa///^°`#Óã2nß¾Í}ûöµÎp%_6ÀèY „þÀmãåp©Zµ*¯_¿Þ®9KKKãéÓ§[„ÌÖ ü  ’ÞãìÀd³±;ÃÖ8d>G*!Ì@+ûoÖ¾j8vY„ãW @„e›h^W­ZÅåßÿ>3D”â ŒáZ?ã²8ôL}g>‡Ë–-³9ÿ[¶lÍÿ½ïÇÙÅ-w0$…"zJFn‹‹¦M›bݺu G+ÎÊʰaÃðàÁŒ5ÊÉ’:F`` ¾øâ 4nÜ£GFV–0Jí“VQwfNs±ˆºCD~¦AÙ±°²ÃŒ°°0T­ZÑÑш‰‰Att4¢££„bÅŠå”òåËÛŒ’ŸŸÆ#FàŸþAVVVNù÷ßqâĉœ²ÿ~œ?Þžf3<Ë̪ÛY’<˜ï.”ÐÀWZ4ND˜%õíÛ .T“g«F}û@yÖs#w0¬@Dµ4ƒ’,¯ ”òsøð᜴iC3¸ì`swˆh€]¦²›™óon!q„å:殘0a:tè úíq÷î]Œ=ZtH&Ús²6(w0䆽ÏJwé‚ñâÚµkóÍ›7UÇyÏž=yÎÿè£ì› Xºt){{{[[áþ@Q6Àœ¸ª@Iž˜leLò”Ê•+óàÁƒyÑ¢E|âÄ f¦`üù矼xñbP“;@`¼Ý¥@ñ¹1ǶßH4WëÖ­ãòåË‹æp•†}÷QyNJè=îF*P†NpÚÞ÷ƒ£¥I“&\P^{í5§Èf*ÿ˜ 5dBFg?o.šÏAxx8/Z´ˆ/\¸3ç—/_æ/¿ü’cccEs– JïûqúxéÝŽÒ‡¯¿þš}||¬ý ìàǘg`‡9TéÒ¥ùõ×_çÓ§Ok6Z’––Æ?þ¸T.´{.ÊYyšiÔÇó¢ö¯^½Ê ¢~ÿÒðþªÜ[s½Ç^ïÅwt€ßøÑžS|}}ùÎ;\yä§Ëi*x@ˆÞó䩊5êrpp°­yzFïûpEñhv‰ÇЂ€áááØ¼y3""ß Ÿ0a‚a“õèÑß~û-üüüÔNy йÇBDAD´À(«F)R½{÷Fbb"Ξ=‹ÿû¿ÿCùòå]*§=*T¨€R¥J©Å¾!¢›åQs¨ÇÈ/´‘¤ˆÈ›ˆøÀ<•]Ñozz:vîÜ™ïëSRR°¿Ë¢ ‡xÀ"zYæNÑf^+Á$îܹƒ””kMüÀ­å2"RÁ¸%ÁÁÁظq#ââTÓØä•W^ÁÛo¿­¡TÚѵkW¬^½ÚZÛ±DÔΕ2¹ " ‚²K“ vNûöíqüøq,[¶ mÚ´qJ6v-ÐX¹˜`·)‚VaÇš‚щˆ´øø´è#[±°’\K‹„{Ö2“J? "z ÀQ( ._Eغ5ÿ®5IIIÈÌÌÔP»(eê4‘¡Îµ…™ÇµnÝúh>.ýÀ@6m…x:ò¡“¸EŠÁÚµkñðÃö$صÎ[o½…W_}U©´§cÇŽX¿~=„y¾À"*åb±œŠÉ™{5T²'GFFbÅŠظq#Ê•+çZáÄ ÊÅËPlÎ7;)çƒ;aMÁ /¤q" PѼ>[±¨U«–Z‚­åà ¢*:Y9¥Pí`äÚÉü6v,ªT©‚aÆaþüùøõ×_‘‘‘‘/³ŽíÛ·[´]Ctí€ò%[zz:Ž;†¯¿þcÇŽExx¸­î#| `+EÛ:Yb"ªäçç÷ùŽ;ò“‹à K‰¨pä1ÐÙ–Mú`H {ž“0UêÔ©Ó&ÇÊ•+såÊ•ù矶9Î" ó2~üx›íèżyó¬É¾ 0GZ‹D÷IDüÌ3ÏXuæ7Zú\ø ÝímÃÕʇ°—“Úö‚m¿œT¥ ÐGkQ»ÉÉÉ9sܬY3Q¿› xoŸÙ¸¯[Nž·šz?;¹dià”µñ(W®Oš4‰>ÌZqïÞ=öóó³xÿ\»v-_íU«VÍBîE‹i"kzz:¯[·ŽŸ|òIöõõµõ;÷€.l€¹uÇ%‹÷r(‹Cõ•ɰ @=½ïË©c¦ó„IC*ŽW¬Xáp;—.]ÊïŒ`çÎã!C†Ø Â>P„užgw)ŠAÙA³:®>>>ÎÕ«WçFqõêÕ9<<ÜVTH°@°Þ÷éŒb¨<wîÜÁš5kôÃe\¼xQoÜ|elö÷÷G•*U´–Å¥,X°ûöíÃ¥K—D‡ß#¢µÌü§«åÒ˜÷Ì+¼½½±bÅ tïÞ]yFc³¨÷L°rJ ílrXPçsÀDô=3Ó¸m{ÍFјù¾}Ô¯_>>ÿûÉTñÃ(ND˜ùt>ú|€ªÓU.jpÆßú‡PvÆtÔÿc”H=DEEá7ÞÀ!CòÌ…Ö4kÖ »w犭[·¢gÏžµ³mÛ6‹º˜˜§£(S¦ ,X€‰'â­·ÞÂW_}¥–Sé9QöôLÒÄdŠú=€Æ¢ãU«VE·nÝСC<úè£Âg2==?þø#¾ûî;¬Zµ gÏž5?åqÛˆ¨3_×útEgÍ0φ,`È µg¥!”xßyÆËž Oá‡~`"R]•bÌS~ €–¢ûzî¹çœ0’ÎAã‹÷ì|_¬±·MW(+sû¡}víxŸÏg™·5qâÄ<ó}åÊÍÞáP‹«vÞÓËN˜«Î¦¶«êø¼xC1AÞ÷SO=Å)))ì 6mÚdÑ… ngàÀí$$$8AbK~ùå®Q£†µçh7€bl€w… Gùý¢±+_¾|¾vÐÒÓÓùÓO?å°°0Ñ|¡÷}k:†:O T04øqòô%,kŠh¼ “‚ÁÌõw€·ýurð~îC#³3³¾Çéôœ| ºÏÈÈH‡w ´D´[ܧO»¯Ÿ={¶ðžôâÂ… §öL}ãÈ3ëÉÀhÑ-]º´Às BdF`µÞã E!VTˆ¨l'&  ~®k0þ|x{{;U¶‚2jÔ(Ü¿ŸÇ·ðW3í¸t3ŸuŽTîõ…’TÉb¢Ÿzê),[¶ ¾¾¾.—Ëܺu ¥K—VË:œ™ç»Z¦‚@D¬Ï]W·n]ïß¿G}¿üò‹ù¡f^æ”N]…ÞŽ­à riv±±±Ö”AÃP·n]sô`<Ý¡•XÓ œ‘‘‘ßiñ^zé%µ•¨l€9t¤l~tÎÀiȽ{÷¸eË–jópÊ›=÷/\Á-Y²¤0¾Ïž=Eý2ž:òîdhTÀöf‰Æ***Šß}÷]k«þËèãóë?ùäá3žžÎE‹õ7ÄξêªÉ\²dIž>}ºÚýôÐ`n–äjï.4vÆ·£ÿ²øÖùúúrbb¢p¼]Éõë×…A5~ûí7›×fffòC=dqíœ9s\ ¹uþøã5'ãÿ}º{ l*D —Ê1 >ÜZ¿Â‡Àˆ¨?”EœÜìëDz°øÚ>|8úõëçbQÔyì±Ç,êìQ0¶lÙbQf˜ï—&MšàùçŸ*%ÉaaäE(Õrèܹ35jä’Î_{í5ÑÉ .éÜIýkÍb»Â]v0T> ´êäɘlÐßfp­ IDAT7n>ùä(Z’lÔVUá~»æþþöä3X·nÚªk¶’‘çWŠˆf@ \„……aûöíjï@hh¨¨:Ø!¡]3߆î17Ѷ˜|ð¡*á.p¶²=bÄk×3%β†Å–y‚=sTþk‘­‡ø9@œì¶U«Vˆ‹‹Chh¨š²¯ß"ê`”ÈU¹ù1?퀉æE‹Å[o½åb1¬#R0vìØÌÌLÁÙÿC¤„ˆÚÒ“wÞy•+Wz¶îbXLЀDç9…Ò¥K£I“&æÕuL n‰Ñ uß(+¶PY}” †¤0W@Ñêß_¸©Qè±¢`Tp¥’ÿ)mÛ¶°‰ˆ9Ê…ÅÊTXX¶mÛ†êÕ«;WX×#úx-àr ¡y€'ø–-[¢bÅŠj§CÉ7a ‹+gÖŽûŠÙ®v|äÈ‘9ÿŸ}of”wÄä–ˆ|‰h €/a8#ÊN“K ¢Žì¸;‘‘‘®Ã.DJAJJ öï߯zMZZ~üÑò‘7‚yTn°xñb‘U@qXy6=˜<Ú–¯¯¯ÚûÜi´oß^T- á]ÁpÛŒ¨¨(/^ܼZ*¹0™<üŠS·ï¼ó&OžìZ¡Ü+öÙ> çãïïµk×¢]»v¢ÃÙJÆr”‹ððpl߾ݕ @Ýü&Àl"Zm²¶…PÁ@¥J•üÏ´È Ï‘p×Àô>ªk^oKÁ(Uª*TêôÖ̤†ˆˆˆÈ½HEÁ°Ûä–ˆjØàU¢ò8ÄÌwíiK#„ÑÒ^zÉÂü]wÂÃÃ…«üÖ̤~úé'¤¦¦ZÔMÁ”g[Å$퓟L¡€ˆB`9ªaÆvíÆpË–-EÕÛî‚Ñ <ÚDhh("""ÔÎ5‚] ©`˜ "?_è+:>cÆ ¼òJ"Zz<ÑÑÑj‡¤‚¡þþþX³fÚJT 6÷ؾ};ªUóX-[æ7Ý""[!Ë… FÍš5ó¬Â8EŠQk#@•cUaæóÀsû0¨GDÍõû_Ø8¯’ÉôÂ5íÛ··X9­P¡…>·Â%q"z JbWah3®tðîj^ѪU+k;Nº#2mRó³¸uë8`WFBe£0)eÍ+‚‚,"(;Q€{ÌG ‰a ¸±ƒw62’T^ˆè![ ˆÖàãュK—bРA®ÌQùð€"EŠ`ÕªUèÔ©“ű¨¨($%%©EqñDY%ïàe³:UoQ¸æ¦M›Ú29}ä[˜4Ù«`Ô¬YÅŠYXW€úy*ˆšˆúÉF‹ˆì^¬"¢×|ÅQ×þ`ækvž[ L6ý¡Ö\4¿ÄÆÆ óòˆv*’’’„¦Œ®`´jÕJô½Ržˆ Ë êóŠ+W®¸\ˆ{÷î‰vÆ\/ˆFYÁp[ïl¤‚ñ?ˆ( @?®¾¾¾X±bz÷vëœ2‰ÙJFçÎs겕‹lÇäB‚£«äSˆ(wC¡‚ADª¹"l„¬íDD9?(DT‚w³½ †êׯ/:d¾+¢º{#TFU3©H"ÊQ$ˆ¨+€·m ›WšGÅAàãÒ¸±ñ£jÛ›CTjÍÌÍ0¨<¿»Z8g^qùòe— ¡¢ÔœwµZ! ',r*t †)Žó._þþþX½z5ž|ÒÂC"ñüüü°råJtéÒÑÑÑHJJ²JÕ#aæ®:p‰7€¯rÅ€*åÊ•S5eèß¿¿š ì.äö÷¨ 3Ó€€‡> mùaQE«]?lØ0x{‹‚<ÙöÃ0eGÿ–ù-láJÃâý¬šPÒHˆŒääd‹lÝ"ï&Mš¸E‚X•kÁ<‰sæGu¹ÇŽUŸs±šaä§>=”ŸŸÊ—/¯—,ùFðò¬.°/öXˆ¨”1‹·WÑ¢E±~ýzÕU;‰ÄSðóó÷ß~‹={ö:å"Žîb”ð­)(„p%U%›=eå¸W/a¢ìlúç ºaáa+Áž9vD’ •ß\ooo 2Dµmk‘¤L~«¡„BvWú_X(ñññnññ-2qÊÊÊBRRRο/]º„ãÇ[œ×¼ys'J¦*ï¥Â¢`XìœøBVVÖ¯_/:d+Ÿa1¤‚aÊ‘ç#ÜÝÌ£²)¬‘¤ˆèa;D™ Å?ü úB–H$ꈜHÝ„ü®–«¦Óµ¥`ÄÇÇÛ:ç"ò‡ †„{#¡¢$6ýE¨Öö ]ì—2®4÷oOŽ£ ú½º|ù2>ŒÃ‡ W»ƒ‚‚ððÃîáÆ ²øaá3ãÁ|n^1sæL¤¥¥¹¤ó/¾ø/Zè8Áõ§šaH@E˜ÅÊv·RÙbGïíJšW–(Q[·nE||¼K„HKKÃG}„±cUóZIôç¦yÅŸþ©‡nÁŽ;DÕîiä€;Z6hÍD*»¥ŒÀç/?¿*JISSBÊ•+‡¶mUu¨T%_{eàJó(!FM®'"?;Mš4Qõ«1…Èr[9ò¬Þœ?³gÏvzÇiiixã7D‡æ2³Û®(UÁp{ïlªT©__‹ß€Â `Xür„‡‡#)) uëÖuzç˜?>*V¬ˆ±cÇâ£>¼yóœÞ¯$_$™W¬]»V1܃o¾ùFT½ÝÕr8Šé‡r¯y½O¾}CCCíʶ›`+œóÿÁì·°lÙ²ˆˆˆpX&c ÕÆ† f—B~"…‡‡[Û)vÛ•Q=ÈÏŽ»»˜GIf¾Å3o¿ý6~ÿýw§ö=aÂÑ¢Ú œÚ±“1ª‚áö90²ñõõź/ F¢¢¢°cǵÍÈÊʲeËPµjU >ýõWαçž{ÉÉÉNí_’/vHÏ]±wï^\½êHСÂÁÑ£GE?vépŸE 9322°hÑ"´lÙÒ¡†ÔÂÓš„>}úX;Å"Ô”£æQ6®S eåëë‹ÁƒÛÕ¶£ F³fÍðË/¿¨­ ßð›C rªU«†%J8tT0ÜŽÍ+nݺ…Î;ãúõëNéð“O>ÁÇ[t ß0³[ÿUÁ°Ø®pç„T‚Õ¹Š&»ßBÃ;wpíšsó9­Y³µk×FBBN²ô‹JKKÃSO=eZP¢/&»Ÿs×eeeaݺu:Id\Tv/öšÆÐšåüþûïØ¸q£C¹pì1ÊÆ–ƒ9ùU0jÕª%J¸§J·nÝn×¹ŽÜïË/¿Œ­[·",,L˜YÀOÌœewƒ‘C»ÅŠSË-!1(̼À\óúÓ§O£cÇŽ¸té’¦ý}öÙgjæÛW¼ªig:à FLLŒ[g,(ÞìÒx2)))h×®0NxAILLDÆ ñÄOàÈ‘#VÏ={ö,ú÷ïfÖ\I°ÈPµjÕ*=ä0,YYYøê«¯D‡,³{—½0Û­€ýû÷ÃÏÏ_~ù%ÆSÍE—GVôëÖ­‹ ,ü¸Uɯ‚áíííP?6üCòPºti„††ÚÔ­[»vüO'-- C† ÁÈ‘#EA;Ò<ÁÌnž6Ã)¦y w5ʦF’ºo^qïÞ=tîÜY-›ÃüøãhÖ¬Úµk‡ýû÷Û}݆ 0mÚ4MdhÆFóŠÍ›7;ÝöÕX¼x1Nœ8!:ä6 3߃âì‡}ûöPV‰ßÿ}̘1æө£&Cöîb8š`Ï{•“J•*¡E‹µmK®?üãÇÏù÷Ï?ÿ¬vªT0ò# †4rO˜9@˜»rå Z´hþýûãäÉ“·™™‰%K– jÕªX´h‘ÚiC™ù'‡7"Ìl¨ ç.Ï>û,»3gÏžeó{0 0ÞÎ*ƒÈâÞ}}}yÅŠùσr‡Dc**w l7æ©÷ööæmÛ¶å[£P¹reÑ=ïe<Ž(žyîeÀ€Î6·ãöíÛ¡ö|û²æÏÞà}óûð÷÷çä¹çåË—³ŸŸŸðïÚÇLJïß¿ïÐÞ½{—CBBl¾3š4iâP»æ¬[·Î®wÓûï¿ïpÛÏ=÷œj{ü±Åù#FŒ{@vý¼o2—eÏž=ždffrpp°]ó»k×.½Åuˆ7nˆîã&à¡GÍô/µùõööæ'žx‚çÎË'OžT×´´4Þ¶mOš4‰+V¬hë¹y[ïûÖt õ@0©mÍ}öìÙª“çdeeqPPùƒ´‰ 0ÞÎ,P²€þ­öǹxñb‡Æñèѣܽ{w&"{^ð÷| @cæç„‡‡óŸþé FÃÃŒÁæ÷âëëËçÏŸwÊØ¹¯½öšÚsþ)`î)ºŠîåÀ÷½mÛ6ö÷÷·8·zõêùÇ1cÆØ|wL˜0!_mgsõêU›})R„ÿùç‡Û^¸p¡°½~ýú ϯS§Žèü]¬Ï¼»½‚ÁÌܱcG›óÀiiiz‹êRÁ>³øÚŽï æ *p||<·lÙ’k×®ÍÑÑÑìëëkÏ÷Ê5Ýô¾_­‹áL¤àA!j³!"Qô$O7‘3ÿ  €³æÇ2331xð`»bLŸ9sýû÷GÍš5±råÊì?|52ÌÇÌc™ù*3ïð¦ù‰W®\A§N’’bï-IœËWò„êHOOÇôéÓuÇ\¸p|ðèÐ}ï¸X-Ø-ªÌ6“ÊM‹-0þ|‹úüš0Ùc&•_ÿ‹l¬$ÜËá©§žr8" ¾ïòåËãÓO?µ¨¿wïžšOš4*ö˜I=òÈ#ðóós4gÂÌ7˜¹'”„–Vsø¤¤¤àôéÓøù矱mÛ6>|/^Dzº…Ë™9ߨÁÌ!rÝ©`¸F×CWÂ̧ (¿ťѣG«~@^¼x£FB•*UðÅ_ +ËjГ,_¨ÂÌÃY‰i›©¶™_ôÛo¿¡GÈÈȰóŽ$΂™S,4¯_¸p¡(Ãi¡aÒ¤IHMMšÍÌÚ†5qÌü€ãæõj~T}ûöÅ„ òÔ9Q)75jÔ@ãÆ­ž£Evi[JŠ#Îݹ©^½zž°³>>>øòË/dqnrr²Ú{M÷{îŒ= †ô¿ð,˜y €–PÂ;kÉÛÌÜ™™Ý!QªÃQÁÈãÑ‚ÈÈH½dÑŒBêè 0}=@è¸ôÒK/á­·ÞÊù÷µk×0nÜ8ÄÅÅaîܹö¬¬P‹™û2ói²ô…²™‡ÄÄDŒ5ÊÖΈÄ5̆Y6ÕÔÔT 8°PÎObb"–.]*:t€;G*°øÈí`d3mÚ4´oß>çßq¶¶‹Q¦LM~o¬)Õ«WG“&MòÕ®¿¿žío¾ù¦ªB¤âà•$‰}Ô¯_E‹µzŽT0<"ªHDãˆ( À7ˆh/M$"÷Žf$Bo-ÍÛeä²M‹gO`ûöí"»»1l€1wUPÀ÷‚q`ü /ðk¯½ÆöØ,2›ÞzÊÐʬE{?þ8ߺu« Óìr<É#»˜,šŸéÓ§;aË­[·866Víٟ˜«üýÌïÉËË‹SRRTÇãâÅ‹9¾lÿýw¾Ç555•‹/.×§Ÿ~:ßíæ&99Yõ½5kÖ¬µÝ»woÀM›6åÌÌLÕózôè!êÿÖoÎ=ƒ™¹U«Vªó[¤HNMMÕ[D‡‘>9Ïi€±PvYíýѪüà¡zƒÅP;D "w»‡¨Í¦0ï`dÃJˆÊ®–‰ŽÏœ9S¦LÁ;VM`'€Ç˜¹=3tP†PI`³nÝ:4hÐÇŽs¤I‰ö¼ %_B^}õU:dáÔc7n\žLô¹¸%“;c±ƒ‘••…ƒÕÿœ£¢¢0yòdDDDØœN„¿¿?  ŽFâæÍ›£öü-bÌÀróûëÞ½»ÍñÉÈÈpxLE4oÞ{ö¬Ãc|óæM^·n;–k×®moÈ}†² ;Xï1s´mÃÂÊSL¤ÅL*11Ïâ{€2Îé"Î0óÛDô€×`¶“`â*”•…å¬8ikÝÿB"ºà 8¸r!q>̼”ˆ:è“»~Þ¼y8}ú4||ŒöúÒ†K—.áÂó h€3žw±8Îd€^¹+Ô"Iå&w¥‚0räÈ<; õêÕ³ºsé(ææVuêÔA|||Ûµç¹W1:Ë:FcæDt@Ž}Û¥K—ðóÏ?k¶sä*üýýѰaCüøc^‹3___ÍÌì\IVV–/_.:”äbQ\Uð”YV BBBFŒ‘ïèuÙ„„„ K—.èÒ¥ %ù¼yó0þ|üý·Uk´‡,4YŒ`fÇÓˆëÞNî`-rim¾¾¾v­Ö¸ K–,i¦]Øc_˜ €ÎRs#w0ôŸ›`(yTÚeòÀ’ ‘Þó¡ñÜÖÝkA¸!--ÃÂÂrú?~¼¦í›'Ü›;w®¦í[£uëÖ¢gèsÖÎ-’–4±¡^¼òÊ+cܨQ#½ÅÊëׯ=/ÇÙï ­ €ÑØzçÖ­[—?ûì3¾}û¶¦c-âÁƒ¼bÅ nÖ¬™=¿©Fé=ŽöC9yÃl£bÅŠµJ)H¶B? £ÁÌt‚âÜu%wñöö¾§§l…fN°Yo9 À\f†yvc~ƒ ®¼µpµZâçç‡Aƒåü[ëUôR¥J!..ˆ>}úظB˜Ym'È ö,d˜;w®&~5®&66Ö®:£“‘‘)S¦ˆmwµ,΄ˆ|ˆèSŸÀŠÅBãÆ±k×.$"£}ÃçÁ0‘€ò¹ë<ÅÁ;›jÕª‰¢~HÃ0ó6f.Í̹Kff¦0â”Dâb„6Sî +fJÓ޽ĜÆðáÃA¤Xg:ô%»Í„„a20#$ØûÊêq·o߯K/½¤“8’W^yE-gŠ0Ú£;bŠPú=€gÔΩ\¹2V¯^ü1ßyj´ V­ZØ´iÖ¯_J•*Y;õyk‰ÈùP>1Œ‚ @ãZOS0rV´r! ‰DRX±XÑv¥‚Q¾|y´iÓ¥K—FTT”æíg+Ö’ûiÊÐ5fþÝeB¨ÀÌ—|e^¿téRìÞ-óÿ¹šï¾ûï¿/Œx}™ "Š…ö¼èxDDæÎ‹#GŽ [·n®Î ;wÆ‘#GðÁ $D5¿_g?‘ö// 0’ý‘G;xgS³fMœ8q"wUe"òcæj×H$…œÿX¢·:ó§Þ8 aFשּׁ,«9´däÈ‘X±b…SÚ~ôÑGѰaC<üðÃNi_„Êj´‘>g`^9fÌìÛ·OSG{‰:›6mBÏž=³ýÌùÐÕò8"zJ‚ÇÊ¢ã}ûöÅœ9s\b•|}}ñâ‹/¢_¿~2dÖ¯_/:­6€ÍDÔ” ¾ÜH †ÇæÀÈMÍš5±råÊÜU>PîýW}$’HŒ 3Ÿ…âè-ñ<öHP$»âÎ;8räjÕªåºt邌Œ §´]³fMŒ7Î)m«atƒ™%¢ä˜_~ù øê«¯4‹&³lÙ2 8ééé¢Ã‰ðó("ò°@5óc~~~˜9s&žyFÕbÊP”*U k׮Żヒ7ÞxYYA5k@1—jËÌi:ˆ(ÄH&RÛžª`ˆª]-‡D"‘èéÇÐ"×+ͤ|||УG§´íííž={:¥m÷ïßÇo¿ý&:dïÜL`aõÍ7ß`ذaj«ê ˜5kúöí«¦\\ÀN ïJLÎÏ_°p¦ˆÅ®]»ÜF¹È†ˆðꫯbÓ¦M(Y²¤è”Ç,5’ã·aÙFLLŒa·­ ‚Œ$%‘H$y°øøÝ³gr¸=ÉÉÉ¢Ç»é Ž*Ìœ%Ê5óc‹/ÆØ±c]/T!àµ×^ÃóÏ?¯¦ÀeèÅÌÿ¸X,g0À“æ•mÚ´Arr26l¨ƒHÚЦMÅVþŒù±ãÇ£aÆøøã]/˜pûömtìØÑ<°LnîèÈÌß¹P,g2JT¥|||ðõ×_#::Z'‘œGÙ²eÕ‚"T0I‘ò`”(R…"Dm6V½ é£0CD=¼+:6gÎtêÔÉÅnˆ¨.€V0[•r2‹˜ùªŠ<í¸.î(ð/€Ub­Æ.˜íäîÙ³íÛ·×Iœ¼03†ŠåË—®_¿Ž6mÚ`ÇŽ¨\YÓå\»v gÏZ[Ë`,MM3Ÿ5™u¬ŸûXZZž{î9¬]»S§NU³=w9"êMÇ$ IDAT'é»wïê ‰˜“'O¢W¯^8tHÕýæ€îÌ,Üör7Lù.Þ4¯ÿàƒðØcé ‘khÓ¦ ÞyçLœ8ÑüÐ+D´Œ™Oê!åÅ©w0ÊyN¹té{*‰‰‰l~¿F±械HÌ¿ùæ›¶¦ÖåT®\Yô,íeŒeA €RÆ8,š ”:Vd›«ƒá¶mÛ²———ß^^^Ü·o_Þ¹s'gffj._6IIIÜ£Göññ±&Ï%MÙs«u`~¿±±±†ýÝvYYY'š÷a¬×¼èÕqŽÊ‡]ž0`€Ãmlš7onþÜ`ü¡zr²ý^ŠTÝ ð€¢—ò#<¢ëGƒ-ÜUÁð€gìwñ¹½Å]ŒìrJb©Ö¼ôžß|>Iæ÷µpáB;ÿ´ãÊ•+*T¨ ‘Dÿ#33Û·oÇõë©Ì ÐÇTþ$¢Ï,af‹È<îÄž={0x°E07§pëÖ-LŸ>}ôîܹ#,ÊÎÜb_1ó§¨D” Yîº5j85ì½{÷pðàAlݺ³fͲú‘>|øpÌ;J^X%çDûöí­^óÄO !! 4@éÒ¥5—?›/¾øýû÷R}ŽÝ"zÀWzËaN©R¥ðâ‹/bôèÑ  (8Ë—/Ç”)Sðûï¿ë,¡Ï˜Ù9/)!¢¾Ï]תU+lÙ²E'‰ô¥OŸ>øê+‹?™î̼ÊÕ²¸r£€p{NLII)ðŠ¢›RÜÁúBbÚÔÒT⡘æ 3~~~èÞ½;ºwÿþ_|ñ–,Y‚cÇŽÙº” |°7ƒªÔ_=Ö8vì˜ÓBÕ^¾|GµKa3f fÍš•çylذ!öìÙƒ„„ÕÄ{«W¯ÆêÕ«(ɾjÔ¨ívO:¥y›F¥hÑ¢hÕª¶oß®ºÓä,"""0aÂŒ9E‹ÍsÌÛÛ èÝ»7¾þúkL™2Gu©|¾¾¾xôÑGqáœ9ãÖ›—ŽÐм¢|ùòzÈaTÂf×àrÕ6r¿C;ew-IzÙÐé]Ôð)”hNk???Þ²e » îàƒàC[ãÏŸ}öß¼yÓÉ#fI™2eD29äƒ1gΗËýóÏ?ó¨Q£844Ôžg»ŠÚý¥@àƒ¡w ·!êÁƒ>•*U’/_‰ÄÃyóÍ75m¯X±bˆEll,J—.˜˜§¼G*V¬ˆ?ü€òyñâEœ:u §OŸÆÅ‹55eÛ²e vïÞ­Y{žJÉ’%Q²¤Å‚·îÂÃÃŽºuu±fqW„ß°¶Ì=ÀÀ@sP‚âHCR80…/Ý qøbÊÂСC1jÔ(§†y”¬¬,lݺÕé‘X´ˆX·páBó¼6š‚>}ú Y³fNëè¼õÖ[z‹P`ˆ111ˆ‰‰AóæÍ5oÿþýûRÁH$ÖpJÔMkHC¢ &GîõPQ.jÕª…±cÇ¢wïÞ2Y¸gΜÁ’%KðùçŸãÏ?]ž(_8ppjóæÍC¥J•0tèP 0aaaNíO"‘H$ƒË¿÷íÎj,‘hÌ ÕEúôéƒýû÷cРAR¹($ܽ{Ÿþ9š7oޏ¸8Lž<Ùm” WrâÄ ¼ôÒKˆ‰‰A=¤#±D"‘HìA*χˆjf?~<–.]*£dvïÞ¡C‡"22ÄŽ;䳤§§ãÛo¿E»víP¾|yL™2EFŽ’H$‰.ÿa• †D„ÊÅСC1}úté¸]X¹r%*W®Œ&Mš`áÂ…¸}û¶Þ"¹-çÎÃ믿Ž2eÊàñÇÇ¿ÿþ«·H‰D"1.O$}0$zÐWTyíÚ5,Y²rV±s¯f›×Y;VXο~ý:Ü‘-[¶Ø{j*€U¶Áµ/HköYŸØë*A„è ‘Ö233±~ýz×H$‘H$å»ï¾Ë“óÊ|WÜÓÿ}ÿþ}(< Æ¡C‡°|ùr½º74*‡'!Œ!·víZ¬]»ÖÕ²HŒÉnK€ÿoïÎã«(Ïþ®$@«\P\P\AéãFQY¬ Z­V¬ µ­vs)VíCµÖ.Jû«vq{D‹ÖV­¢bUPEÁWPÙ!HHrýþ˜ †pNr–™¹gιޯ׼”œ“{¾9sr2×̽p¿ªæ?ÍS€Tõà…ˆw{£ˆôÆãè;E¼g/^ì:BìÓ]«êêꂘY,LÅþ;söÙ)¯a»È ‰ª¿³ˆ,ö‰dg…çYUæ:DPDÄ:Ù‡kžªu¢‘ˆÜ\”ÁS?¦w©êûá¦J.)ŽÃ+6Æí2ø¶þªë³™ß<¼á¨ª ]‡È•ˆœ Üë:G¸MUSvON*iüÙ€t‰úbu‘2ƸTƒ×j 0SU#¿Ê’4ªZ<Éž äŸ Þ?óSS%%%ÜyçœsÎv¥ÕJ‘q.VdšæFG`?AL$~p{çÚ] SLìŸ1¹±"#y~…wwa;&L`ܸqY7xÞyç1a„tŸ |/ëFM\ Nñ5ë&U€ü…óÂ(…Ц1±d†1¹³"#YnÞMõÀÍ7ßÌܹs³npöìÙÜrË-é~I8Ù Ø!ÅCV`¦}v!´{HmKV`“ŸÆ"ãh×ALËTõ3àëÀûÍ«®®fÔ¨Q¼ð ·7{ölFMuuuª‡¾­ªu¹æ5±’nÆ(›Iª0R»V`˜¢át¡=9¸$€¦^PÕ”íˆHO¼r‚0NU?O±¡@P‹éLTÕ§jËD£#0KDf·ªêÇ™L ªº\D¾Ìölú؆ 5j3fÌ`èС-¶cÅEÑIw§â i§ª›#McÂÖ=¤v³]KÃ$€?¶f ^¸}ÀUýÂe6—\¯äÝ8,€vÖµðX{`dûhl+•®ós@xl¦iw²¿¿í ȣɯûÛçþâJÿ£ªKóÍi‚¥ªŸøEƳ@ߦ­_¿ž‘#GòŸÿü‡CM}qÚŠ‹¢”®Àhƒwµû¥³˜ð½œ°v"²7p;pT ÏY|WUF,&¬‹”)*"²›ˆüPD¦kð®dß‚7cÈ`ÇvÓ¸ø@D¦‹È‰þªÑ&&Tu^1¸´ùcëׯgĈÌŸ?»ï³â¢øø¿»[xŠu“*< €0îB¿B›&bâ¹XH Å…oð’ˆ\íOP4¬À0ODÊDäYˆwBypnþXUU#FŒàå—¿ºàhÅEÑÚ¨háqè]`Tu°(„¦­À( àu‹oés¡©6x³>SLEFÑü ¦øˆH`ÞÝ„=ÇÙø5p•ˆü¸ÅÆÚ¸§ªK›t—Ú¥écëÖ­cĈ<õÔSÔÔÔXqC"ÒÞ? SkDèFD?gÑ‘=€››}y—TÏÍCpG³usîTÕûÞ ‘ˆœœšã·‰w>rmp‰âË SpD¤ppÐÇqœæÊð>œN‘YÀ¥ªúªÛHÅMU?‘±xEÆ6Ö®]˱ÇË–-[Òk°âÂ¥cDd£ªÎ q­uÚGD:©ê†3üøEˆí»Î7V3’û˜ò>M€D¤pCžÍüRD¦«ê‚ 2Å™u‘2EDúá ¤»™øÍ ^‘É"²“ë0En}ºÖ®]›®¸ØbÅ…SC€ŸE°–”z¾@ˆÈ±ÀÙaµoŒÉØ_ñŠÑ|´î KìÊŒ#DdqšÇÚ¸Ÿ§E$ÕÀ¯îÃäHD¾…7£C'×Y²P‚·ºôé"ò{àz;a ˆT»ãÍüÖ oŠáŽÀ>96Y!"ßǛɮÊÿïÖͦ/ Ý`”ˆôWÕ·ƒn\DÊ2ÌÖ]”Ÿ»ŠHU­ i&…nݺqòÉ'3yòdT5§6† BÛ¶m™3gNÀéL”ÄëÛöõ€š;XDvTÕ•µK…R`t ÷„l¸îÇoR‘¶ÀŸ¸Î’‡Ào€Ñ"r–ªn7ðØdNDºGãuoÙo:Ú¾?}'à¶rlæâu¿z˜ok¤j À¥À÷Bh™]¤ e†ˆìŒòÿy`g©êÞ½;wÜqgœqãÆcÅŠoii)W^y%W_}5'N´#ùö Ø‹—¶;…R`˜"å÷‰¼ŸàÖ!qíp`¡ˆœ§ª¹“þ•æÃcüí SwÂëwÝØ÷ºFD^À+6žPÕíçÂ5‘ÝùjÝ ³Eä¿C¸"˜iáÖTµ—6ù+01b¯½öãÇç±Çkõù}ûöåî»ïæðà ‰H>kd¥2+0Œ‰'Lº¹Î°€EäÏxƒÀ\Š+\ |‹ð§B_A¿‘÷ñÞÃÓTõ§É’§éÉ9ð#àê÷Ñ’>Awy‘žÀØ&_:0¨¶MözôèÁôéÓ™5kóçÏç•W^áå—_æƒ> ´´”ž={rðÁsþùçsÒI'QVf§Wf¯€ÛÛ;àöbÇ~L"‰È)À}dÐ}aôèÑ<þøãᇠÞE@7¯ªõ®ÃÄ…ˆ”'—àuƒJ²½€«ð¦/~¯Ø¸§Ðûæ¤ùÉÿE亀§sÍæÎÄ`z€ûþ1Юɿ3 bB6lØ0† ¶õßÕÕÕ´oßžÒÒ8Ü05!Zp{«n/vl)“8þ`îûÉpÿÝwßÍØ±c[b< Üë¯éQÔD¤ˆüxxˆäÍ‚7à?·Ñ¤Å§yÑoÝ›@ˆHg _ßX7)2‚ ›}Ùî`ÄPÇŽ­¸(ËnoYÀíÅŽÝÁ0‰""gSÉ¢}ii)S§N¥M›6L™2%´l!:h+"ßRÕZ×a\‘þÀ=xýV ÕëÀpU-ø+[ùòïb’â¡KDäêV8oy¦‚è=Ží»~VŠHoUý,Àý†Ÿñ2;ÂßzdÓDª/~ôÑG|ùå—”—ç×ûrñâÔ“\–””üVD~•ES_óçýíE[€12Ïâ½þAuÅ-èñ`w0L‚ˆÈ8ànr¼[RRÂwÞÉ÷¾ÆD3‘8xÈÌ\4Äócà »¸x +.²±©gté‡×}.Ù ~ñtIš‡í.†Ïÿl*"7Ÿ‹€¿gâ­ÂÝ.‹­mª}|ùå—yÏþT__ϬY³R>ÖÐÐP’eÎ.À±À5À3Àj¹_DN-¶¿ QóÒ|$ æ¨ê»µ[V`˜D‘ïâ-N“ó{VD¸í¶Ûøá\°hõ»O<é <Ž·¸Q{ÇqÂôpŒYiéd>¨…÷²-º‹Hßö{é€ý8 éê_õ_¼€7V-´…JŸ~úé¼¾ÿ•W^¡ª*´åKÚãÝáþ'°Ò_´5Š)û‹Õ/ Ö6º2€6bÏ {"òmà àý*"ÜtÓM\|ñÅùsãàqí‚%"£ðº lí¹ —qq!"{‰È©dJ‚–Nþ‘ î&ä2¦"ˆý¶T í é$"ñ ‹«Ý¢Øo¾ÆSO=P’VuÂÃõ¦ˆÜ)"‘¼>ÅÄŸéïš<›™¢ªO‘'î¬À0IpÙõ…nÕ 7ÜÀÏþó ›ŒÒQÀu®C„ED¾áݹXÝÚýâb^¿ò2¼"cT‹ß䘈*"¡tkógTkmÑ«oú ñå*×B!ß™¤ZëÞµŸ?F#"rdXmçÂ_É|>p=Ž.8´4†¢5›6mr¹‚w[¼µaÞ‘o¸ QhDD† ¶´sçÎÙ~kðE4K ¦¨]{íµ\sM¾w<`Šˆd3SJ¬ùƒ õàÝB’kqѨ-ð/Jº`|ü6¤¶dÛõ!R)Å뛟«\ ŒA¹~AôÍVžVì‘Kûì7¼É$bAD¾W\8¿k“ë]ˆ9sæ°ys]öóÒoìÞ …Þµ6L"RêÏbùÚ¬Y³þ¶~ýúl›(îÀ»³ôií3,ñb?Mí5×\ÃI'ä:FÞf̘ÁW\á:FR] üêðÃ2gΜÀû.^uÕU´mÛ–+¯Lܸ«^Àdà×Aò ë![›aq±^·¨]R<ÜoV±>ªšõ_º°©ê9MDTÕçn>Ó“ÿóEäWªšKÿ–\ ŒŽ@à;÷"2›!ï@àýÚoÍíÀ]!´›éêgi­ØŠL®F„ã/2q1p´ˆœ®ÑÈ  IDATY 3Å¿c:¸Ø3€&û·â-®úà¶Bj8öFŸ>}0 µ»áñ—nlÓ:ÿ—o“ˆä´0Í믿N§N-_5j‹/æ®»œÿ}ÍÖ7Dä'ªúW×Aò!"•À/\çY¶ÅÅ,ZÐ8ojÎ8š‹w—í UÝ`»ƒ3|^GàÀ¤ö‘ÏXŠCɲÀ‘.Àw3|úxc”ãß-88?ÈvsÈÑx’ˆpgê­·Þâ³Ï>£wïÞY}Ÿƒñ­,ð×TzÌu˜¸óïªÿ8>„æwnΑѪº.„}8ûØ&ÒMÝØ¢£Ž:*èq3IDþ­ª¹’‡±DåÀ¿Ed¨ë q$"ñd‡]\4<'";G´¿HXabODNþMa/¶–¯ïŠH>W]ñæ:GH^Åë•IqÑoÌE¶'Y?È%X^ªð&$¸Ãÿ£¯6Y~Ï¥Y>?ßã ,pžAêq6éìÔQ¿kÔqþ?þDOÒàõ d[`İ{TsñÖT:Øu8‘ðÞ-M†}çý‹LÁ Œ˜)++ t½‡¤‘±Àýx3ç˜ô*ðI'ÑQ€ÓÒ–––¾FvÅÅ,rä«©E©jÞ8 ð~®h6›îQˆH6W"ó-0ÚÙœ´e[•áŒä¥IרF³Ó=7,þ€î'ñÆÇÚ²eËxï½÷2~~Ìx§ÓxÒVÿÞÆ$‚Y03}G e†)×c0ޢɬeee%]ºtéÐ¥K—;vìСC‡Žï¿ÿþ.S¦LIä•Ù¦>üðÃ5‡~ø²šššš7ÖlܸqÓúõëkª««¿TÕ­ó"×ÕÕ}è2gœøW×nÁ áLýXD&< 6 u[ ¢¢¢¡¦¦æ¸Š €Þ"Ò[U?ËñûÃô<0Úÿÿóü±BçÑ^.x][½¤ìO1›ë>š¼”Áþ†ã ¼ÍÖxÓ磱kÀZà<ÛËŠˆð/Z_Ó$6ž~úiöÞ»õ¡€Ÿ|ò ï¾›˜‰švfˆÈ€Bhœ ’sÇØoµðäO;ªª±Þ °oa’Doûì³Oµë×2IÞU=çÇ-Û®]Çú²¼nalÿÊZùÙû°¯\Ç4?ß‘ÍrnŽÌ£½Wr|}€ý3h¿€Žý” žé9¶]žÇeR³öqðÞHÜgüi§¦™˜ƒéÀ팿HåÛþBrEID§»Îá+¥î`ĺÀ8÷Üsw_³fM¬3fª¶¶V ”˜[Á®ø Ï$rií˜8Üu€ts D)‹ ¿¸˜Epóý÷ ¨@©êfàåf_î <‘ÃÌR‘ýï¦ÆŠH¯VžTßë}D¤µ‹c—â>¹Èi&)¹ øUЇ¢à}­¯Æ;«W¯fáÂ…­>/¡À_D¤£ëŽüŽÜÃpšÿw"±b}ò^ZZšÄ«±iUVVÔÏ$ñÜLp%ávJà‡R¬?‡°M‘Bq™­íJª“×îxƒKÿ”Å€Æ|ïÒ´~ÜÊs‚*0ZË!";ßÉ£ý>þâ|‘J™FêE¿dû"04"ò_ÀÑQí/h­‹ò%T7¼5YŠŠÿ™<ÊqŒæJñ®Cä#ÖØ««« jŽæM›6¹š™ Öü®cw¸ÎR ’x£Ð5{|qwéºßp ð¢ˆd²ˆfÝÀ.ô§EÞ>Œ×+È);[ê&õ#ò¿‚¿&O‘ðVÿv𧼤ªµyfÉÆ•î+p­ ¾{ÑèRÿw¡˜ìç:@‰¾(룪ª*®='ëÖ­+¨Ÿ'þÙýäw5ÏlkO×LJ§áèSq0oàb:€WD$Ý p£ ŒJÒ_<ˆ`§ÃNyAIDÚã­Àž¯ÇaˆH¹ xh©kXdÝ£Dd?àQí/ Ï?ÿ<µµé뱄LOÛ’±®CD,ïiŸCr˜ÿy‘H±.0V¯^½»ë AZ¹relW)uÁÿÅy8Õu–ÓÓu“V±]D½©/[›µ0MDn‘íÖDñ/Dµ‚õ%þt´Í5À»Qº;Öãðºˆå+íë!"Cðy̤»K”ã/N'^ýܳVSSË/¾˜ò±úúzž}öÙˆ…â ×"×u@Úßâ§U±.0–/_žøõ/šZµjUç"@µ äãįßc!°ÃÄM¦'±ßžNÑEã@‚+ÎöNNñõ »°îæµØÊ_ûá’€Úß”ŠÈD¼3évÖ¼PžLœá¾B“®Ôüù󩪪Š8M(†g3ƧÄù$¾‡ë¹Šm!"åŸ}öYâf™h‰?ÏrFýf ™ˆìKãâ&×òËcóæÍÝ…hÆ »‹H,_{c¢æb{¶Õ'štžñ»%Á+À&×!ŒzÆ4¥ª›?¸Îáû ø»ëùŠåInUUÕ®3„©®®® PtÓÕÓ‚g\H°¤tBU·ó\ç0vØþˆw'Ã¥/1ªZã8GÞbY`¬\¹rG×"PÐwiŒÉÒxs~›ì%¦ÀðÙÉ­[ÕÀB×!Œ‰ÿNðxÜ øV`¼?è<ñbW`ˆH÷õëׇ±¨R¬”––ú6Ö§ÞdLU—ÿr#«ê‡®Cdɺç¸5WUë]‡0&ŽTup2ð‰ƒÝ_£ª÷9Øo(bW`”––öw! ]ºt)èìÀ0às×!€õxýMüýÅu€úë9x°\wì’1-PÕÏ€áD7ýw=ðU½&¢ýE"vÆž{îYÐSÔ6ª«« suZçTupîVȬ&á- u ÉXˆ¬¨©ê\°žCŒ¼ Üë:D¶Tu°ÈuŽ"fwŒi…?ó×€ë0WÓþ8JUâ>œˆ]Ñ®]»Á®3DaÆ ½D¤ÂuŽ0©êûxEÆ[î¶ø°§ª^®ªkTu01 &wv#sWû3p%‘äºaƒìɪnQÕ+€c€e!ìâv`€q­àÄ®ÀØ´iÓ¾®3DAUØÏuް©ê§ÀQ@؃–êÉ@?Uý‰ª®höø$à©3˜üÝ,q"ì1+ÖMÇWü>æÆ˜ ˆH7`Wà퀛þo ¨®·±+0Ö­[×Çu†ÅLRªºï @³Ý(Þ´rû«êyªúQš |XB.ò³°.m­ùe‚Ö¾HÅ 7ìΑ1­‘ÝEd‚ˆ<‡7–t*0"àÝ쌷˜Þ2™/"E¤ .:ǪÀ‘òÕ«Wwr#*:uâ:CTTµøð`€ÍN©êªúNVãðŠSªú"ð+×9bìQU}Ìuˆ|ø¿‹ï»ÎQ„\v6«`2­u J"r˜ˆüï³éÀ‘@i» \ ¼)"OŠÈðöºXÀ>~ס¢P^^~˜ë Qò¯NŸŽ×•)³€ÃUõUÍj>wU}øï<÷oÂ÷{luïTVßu" v5=ZŠ£CU—âu 1Éòœëa‘#"³Óˆ¦¨Hç8ài™'"§ˆHbωcU`ôêÕk ë QÚ¸qc?×¢æÏ¿þ]àO9|ûKÀqªúõ|E©êïK°;±å^>[DìÊç¶ÎWÕBéægݤ¢õ–ª®q¸ÿ‚?Y-0+T5èq±""sðzVî8Ns‡â³{ED9ùQ¬ Œ=zÄ퇪¦¦¦£ˆêåÛPÏÏÈ|f§×1ªz˜ª2P[Uo¾G¸ÓÏ™<¨ê'ªZ(Wëƒð?ªúˆë²;Ñr]ÐY‘,³\‹ˆTˆÈuxÓ¢u§EäO"ÒÁu˜lĪÀ¨¯¯/ôÕ­S)ŠÞ©¨êo+ðR5ß^ÆâMãöpû¿o@ñ– Û6ÁPÕáµ)vï—º$žù8,ÆY,\tV`$Ë,× "Ço—eŽãdª¯×Å›"2Êu˜LŪÀX¿~}_×¢VQQQTÝšSÕ›Uµ·ªöJ±¤ªÓœë_UïN¾ k&o«\ˆiªºÑuˆ¸¾ª^L\oc¿ËI2Óu€ ‰È%À ¼x“h7à1Iĺ^±)0D¤dåÊ•Ý\çˆZ÷îÝr¡Ø©ê£x3\-£Ù]”ÒÒÒB<©3&.¬ÀˆÆ2UýØeZå$¯ÝRL^WÕw]‡Šˆ´‘ÿÅû›óÞ p­ˆÜ%"m]‡iIœníV[[›ôŸµÚÚÚ¢í"'ªú °Ý,"r1pCô‰L‹±¥–º×WÕ‹E\^çÆ±o‰§HüÅu€ ˆH%ðO`˜ã(A;Ø]DNõ׋Ø;î¸ã€•+ er”Ì­Y³f) ³1I¦ª××¹ÎaB±¨:ºRàbQ`¨êÛ"2HL?ò"´ø»ëA‘®x§p%$GsEäÈ8Î.›;»îºë‘®3¸P[[[ìá:‡1ÆDÍŸ¶ú×9Š@œº¢]Ô¸aÒºLU7¹‘/it)#±¼C¤ªµxkMK÷œ}÷Ý—^x«¯¾:v'òmڴᢋ.bÅŠL:•>}¶›„Щ²²2&MšÄ£>J·nÝÀ+Sy8Êõ4ÆA‘.À_]çpìw"²‹ë¨ªó­W¯^ÃñÞüE¹•””4它mÛnÀd×ï·]¿v¶Ù–Íü1¿7é¶ÍÀÒäÞ x-Óm5@[×Ç·•c_Ü’*ÿ«¯¾ªæÍ›§ûì³ë×SýÆ7¾¡‹/Ö¦6mÚ¤“&MÒvØÁy¾>}úèܹs·ÉWVV¶,ÅsçÝ\¿|/ÝæúµÉö°ëc¡ª8 ªvØa×Äà€¸Þ¹>¶}µ¿ŒÁ{"×­  -p0ïDéË·~-äúCÄY>õ÷¹Ÿëcâ±>9¿7©¶¥À¡­d¯¦Æ kªm–ëc›Å{à×xc\¶æoZ`¨ªÖÔÔèÿøGÝy缞ƒÖ3fhKÖ¬Y£&LÐÎ;Gž¯¢¢B/»ì2]³fÍv¹JKK›O]÷ß?G6ÿùöMçÇÄuUeèСÆà`8ÝöÛo¿K]Û¼ ëúýç–è„w›{µÃ×pßòÝè0×KÀ…@W×Ç)àcÞø< Tfñ3\€WºÎÝt»Öõ±Íò}p<°ª1ó£ÑæÍ›õöÛo×~ýú…þvíÚUô£é‚ RfIgãÆ:yòd=âˆ#BÏX^^®]t‘®X±"mž’’’ýç׿J\ï 7`n ~ßâ´-J×o Uå€x/Ãé6xðà‡\Û¼ií6»~?ä¹%®Àz‹bðú)ñ-0·MÀÿ#)àí¼®Š7­ëÅ€äð3 ÆëvâúghÜFº>®9¼†»–””Ì…ôF£úúz}àô”SNÑ®]»öºuìØQG¥ÿûßuÓ¦M-fÈÄâÅ‹u„ Ú·oß@oçÎõ /ÔO>ù¤Õ "ò°8®¥×?‰0 ¿kqÜNtz\\¿1T•ž={VÇà@8Ýú÷ïÿ¾ëãPìÞ‚5.¯šµ%¢ÀÊ€“€Ú¼nM·¸M·O€ßÑB·®$lÀ,ǯãFà÷´rw(Ëàgù&ÞT¶®ß\×\?úöí;eáÂ…µš¡ºº:}ñÅõÚk¯Õ£>Z+**2~z÷î­§všÞxãúòË/k]]]¦»ÍÚÒ¥KuòäÉzÎ9çè®»îšõ1Ýÿýõ²Ë.Ó™3gjmmÆ/–””Üì¤18¾AoÀÿÆàw-ŽÛt—ÇEüƒãŒˆ”—””ljhhpšÃµÊÊÊ/W¯^ÝÞuŽb%"Ý=]g À°¤Ù¶¯tØ–«jmû‰•E‹±hÑ"&Mš@ii)}úôaï½÷f¯½ö¢®®ŽåË—oÝV®\ISå×ÖÖòøãóøãoýZee%;í´;í´;ï¼3:ubéÒ¥¼÷Þ{|øá‡lÞ¼9ô\ f=`2ãd‚çƲe˸âŠ+\Lj…/¾øÂu'D¤¸¯[B±ÌôdŒÙÖÿý:aë„7fÌ•x¥‹Z}}=K–,aÉ’%<ùä“®ãlcÍš5¬Y³†7ÞxÃu”$²nÓ™qò:9/0–/_Îõ×_ï:†qÄ¿jùÞBcŒ1ƘLØD/™qr®ï¼À0ÅKDöfà­QaŒ1Æc‚åd©úðæu3¦"Òx+.Œ1ÆcÂb†)*öqÂcŒ1¦€9éJf]¤LäDdpžë&1´mÛ¶+jkk£œ §¥y ×… ¤¤DÊÊÊÚjkk;†½?cŒ1)ü)ÒR°øpë&–S»6oÞü¡ã,[©ê¯_Gµ?)Fâ­ s"6sŠ1ƘÌYaR)¸‰ƺ`bk#ðO` 0KU£X+ ÖTµ˜L‘JàL¼bÃV±5ÆÓ'†ÁH€òòòB»biÝ=LS < œ ôRÕqª:ÓŠ‹í©êU½YUö&ËÇ2ÆìoDf¬À0©µoßÞŸ3…h p °§ªSÕ)ªZí:TR¨ê[ªz9ÞjÔ£û€/ݦ2ƘÈ89qN '…˜u‘J€öíÛÚ S¼ªðº@=gw)ò§ªõÀÀ"Ò8¯ ÕP—¹Œ1&du®$„Á0©•——Û “d À,¼¢âUÝè4MSÕuÀmÀm"²0øŽÛTûxÇuˆcw´L!³#3_`|tpN‰?2»%Uo6âIDAT…ÿ¶ôð6_Û¸qãÇQfÀ箸ծ4s©ªÚ‰NÄTõà"2(u§5ªzŽë &vfâÍ&gòWã:@Öc癨r±S± ÆcŒ1Ƙ Ø ocŒ1ÆcL`¬À0ÆcŒ1ÆÆ cŒ1ÆcL`¬À0ÆcŒ1ÆÆ cŒ1ÆcL`¬À0ÆcŒ1ÆÆ cŒ1ÆcL`¬À0ÆcŒ1ÆÆ cŒ1ÆcL`¬À0ÆcŒ1ÆÆ cŒ1ÆcL`¬À0ÆcŒ1ÆÆ cŒ1ÆcL`þ?‘+($ç;«IEND®B`‚./chessx-1.3.2/data/themes/boards/000755 000765 000024 00000000000 12522204370 016365 5ustar00nistaff000000 000000 ./chessx-1.3.2/data/themes/fantasy.png000644 000765 000024 00000430417 10633464147 017312 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖbKGDÿÿÿ ½§“ pHYs  šœtIME× '¨ IDATxÚìw˜UÖÆ·»'Ï0¤!IŽŠˆ*tÍiQÁ°æUW\V]u kZÓò™Ó¢(‚e(»**˜0!&@‚"" irìPçû£îí¹]S=Š.}Ÿ©§¦»ª««ë†sÞÞ©–j©–j©–j©–j©–j©–j©–j©–j©–j©–j©–j©–j©–j©–j©–j©–j©–j©–j;lS©Gj©–j©–j©–j©¶J“RÛToI=ÕTKŒTKµTKµTKµTKµL(Ÿ½òy?)–Ð[cÿ§@Gªí0-”z©¶†_ÜR ~ª¥Zª¥ÚÎ)N|¶@’½lØ Â±À„“dŸ’3©¶CMœTKµ\¨$ãÜûžßÂn ‡ÈHµTK5¿5æµÔº²Ý÷± "@0Éÿë\¯q¬-æÙÛ›975.R­Ù·”#Õvdðì·%’XÄ­KJ)•ZôS-Õvz0á ‘Ù*<áݧ֕f!G ˜0[¾ˆ´òµVJUå>rE4˜0[ÔçóGÿŸ©–©–jÿCAß”`ðZ•¼ Acö:‘©¶ ÆdCm35–šKß& ‘i*ßko‡ÂˆÏÚ“jÛ'ÀH‘ÑÀñÀ Ð«?‰ˆTË€•R¯eºÏ£ž-¢÷æúQR!R©¶NžTKµæ$ìÕŒáw¶ˆŒú³•Rßo2àguŠ»°SJá3†¶tý“$ÿ«-®4b%5¦¶ëñâ~›j¢Ï†É8©5¥Yô‰È•À­[y‰"¥Ô@f {ö t¯FjL¤Z³o)Fª5'Å0Y"ßÿA .ÎîÖï…EäF¥ÔS(¶÷"Š—C)•²<7Eqk˜_lE€ØÂkz¯W<•R²ÀyKî156·=µÁ„&“)"]€.@©Rêë$àÂŽ½%œ©¶½õèÞ½;—\r ¤C‡Brsr¡ºªŠ Ö³|Ù2ž}þÞyw6€ ¡ªÖ`"¬Á†½VØc$@}¸Tjl¤Z `4cÁñs„¹ï¤O ôßt¡oŠµÃ‘üPééé„Ãát`œˆD”Rÿ%¹EÙ(€‘ •jžà¢1˳ÚBÀéÐЃáMôÜ’ëùZ±}ÆzS1þâs¢ÁJʺmל n˜Ì¾ÀáÀ¾À®@®>7&"Gj© øl/¨w-Q)e²ÙŒƒZ€p饗ºè88N Ñ[n»°÷^CX°à+0~ÒõçÓ´LJ.bü¼œžTKµÀø ¿8ÙÆ6ðÍ÷ óø{F {§ü¯"ìƒ"Ò×ý\¤ÿ‚¸ní=¥³gÏæÊ+¯äã?·ŠÈ*¥ÔrŸ~³½á$}¯R £Ù£$fèñÓX­”ZOãÔ’FI4J€X†…ÀyÀ!@+à;àßJ©Oñg’ñ*ÉÆ–„ß4V´WDÇ…§Ú/[sÒDä*à@ç$ç Ó£<š—¨§ïŒµ:ÕšÇ8X °bÅ 3÷q@oîk! óÒôÿšÏ-‘Ý÷µJ©@’±‘Œ}*ÕR-0¶Sp‘Œ«:àó:YÒžÁ/žVð§™KY%QDþÜÔŠÈÀD¥Ô'^¢-FƒÚµkÇÞ{ïÍK/½Ä^{íÅÚµk³€qÀ "üú1Bð³9¸lʼ%ûýõÁE@DNnvÑÇb"òpRjS# ¼m6sº;ð ›õ™AÀ "r·Rj¢°ø]Ï-¦ÿ³E$W)Áµšú ¿ky7Ä”RÈøE- "'7hÙBn»pÀ>CØs`?^ë}Þ|ïc´Ác®×Ôk¨ð*–MyºRmû™K À(//'77'¾ ñú3ù©¨ÈôõW€1뇣”2à"¤åUj<¤Z `4paƒ† Ï>˜äXÀ~ÃÃ:Fã¼ÖŽúsâ«wv%Ôôçúu&n¨Âa"ò¦Rêz ”úð¨t @¯^½´oߞǜ#<ÇqúŠÈyÀÓº€²ÆKX¿Ž’È.µ¥á5~ÿ‹ TR ã×SDä\àAÓ_:& tFãï±2JbD3ý÷ Ð-#= xóíÙ,Yú]¸BD>VJ}çüÈ2Dä àd —~6ÏY×Â\x™iÔ[Ìc©±õ‹×œaýúôæÑñwÒ§{bá6m\Ïuÿw¿9÷M\†Ýß1½vØ}$Ñ›‘jÍ£-$‰¨/¿ü’ì8âˆÞ\ 1aâ$sþ*¥T%£ç²²ÆDÔ#_|C6›b¨KÍéTKŒ-<”©)ÅÛ»Oˆ›‘| Ð7Œ!O[™2,eTy„~-PT(¥Šq¹­ëhh%4‚=æ³÷»×_òO(ÖθÀ(´õyäÈ‘ñé§Ÿ*à(Ùø³Rj ®÷"èбcG–/_δiÓ8ÿüó¹à‚ xä‘GNÕV¦•"󀌈¾ŽÙê,Î ~}ØkŒ_hL<¯#%8~•Dçâì;lÿ÷«èЮ5ÿ}íM®w?ÑX¬¯ˆ¦”zÛ8£ƒ™Û{Üvó5œqÒH¢áZ.8ýöøð#óÙy@¶–Ûmäð[b>HôzÙk)£Tª¥Fã@ šJàõ dÖa3Ù"²¿¶2v×Âúg5=«´²ð‚RêMµÐ÷ Þ' ±ÿ¬­³¶Rg'æY¥rÈ!üå/áá‡æŠ+® ¶¶và1àB ×ÃÑ }ûö\sÍ5¼ôÒK¼ûð ̜9“ï¿ÿ> ¸ø'.Ô 2"ú»jõ>D ±±L%ÏNØôóvy ,Ù¥AØUJpls€Ñà¤ãe@ߞĵõ»ý¸åî D«kÀMÖMO2ï”gþ °èñåü…œvâ1H,Â[³çPå^ `ˆdèµÏ—þXDv&ùiiiœy晌9’¶mÛRQQÁ§Ÿ~Ê”)SX¹re8SD:*¥îôA’‡xúåŽmïó|Kóã¼ ÒÖ›0"¨±¹åÃÔcƒì¬LœX'aéòLyáó±WD¤–Äü ›1*–Û!“-gJëH&·fÐuîܹñ ±r0|èôÐ*SJý¤ÇPï­PÖ­4¦#©LæýN‘¤ÚÎ 0’x&üò¼€~¡J~‚#™UØ\÷, ¯¹@  ##´´4ÒÓÒ…B(¥:9+B$%‹‰F‡#8Žcî? •×9$ç´é½ýûŸÅ£)FoìvSáX;º‡Ã~.åeeeþò—¿Ð·o_N8á*++ Eä¥ÔUú´(,,dŸ}öáå—_æí·ßæ‘Gá‘GᨣŽÂqœnÀIÀkžg E¤³¶`vÂ-®T Çƒ™;&”åK¥Ô¿užqmbó‚ 2ØÁúðÙb¸¡FÇ>òøÓŒ>î0eÜý@PÌ7€€úü)[IôæK< Üòü˯2欓hÕ"››îš`¾ïs`¹,º M¨¤Y»òq=ù………¼ôÒK 6ŒùóçóÍ7ß …8ûì³¹òÊ+ùÛßþÆÃ? pˆˆü¨”zÑuIÖ?*Üæ¢Œ4–7÷sXºlŠá¤JYp2s= À‰E‰FÂ\;î~"‘(Àf`†¶VÛýkæ·ù?è‚©ö¿“#åaz ž†07ãØÏ?ÿÜeŽŠ{/„¢¢"^|iºùž¥¸p†H(‰Ñkt5ã.JãžohH‘j©¶ã ¾ùÆŠys! ¯x;­ÌµÕ–ƒMJ©Ï=ˆÞ[ܶ+Ü(Ž9êpþyãµ´nÕŠÌŒ ÒÓB¨€ÒîMAÜ?÷u,% S[[Gyy6mâñ§žãù—_1ŠJK P„=ÿ‡=ï›E" "½´‚¼J/B‹”R‹’{3ÄÇúí§˜:^«‡åáØQU¬v_µjUüÍC=”gŸ}–N8h4ÚSD.Ó–áV`œvÚiÌœ9“§Ÿ~š›nº‰Ù³g3fÌ£¸¦¯»BDbÀîÀÁ@‡-PÒq½dÝEäPàF¥Ô¢$#’d3ÖM/hLm§TÜ µì»•Á鯾A×Níyñ•™æœ§q+ðÆ="â(¥‚+tÐRÖÿ-"D£ÑÎO}‘6­Z°©¸Ä€•û-‹%ö´¢à®Úåääðúë¯óã?²Ûn»ñí·ßÆo<--‹/¾˜x€ŠŠ ¦N pªˆ|¢Šëš0LxüœfÔ_Am5ŽÒ0W÷ø6æ%ôUÊ’€ 0€HÄõ^<ùìt>›¿Ø|ô߸aP`ˆÄDÜù®×`cÁNy0þ*Q/ÙÒ¼L³¥i€‘ü°~ýÖ­[G‡öíâùOLyŠºpÝçÆ{aÆdDêû?h§ó¿bÀf¥ÔÂ$Ö÷ÁCHQ§ÚÎ0šà›z¶ Ù×+Ð×ÓÐS‹ìRCä^¥Ôs$÷\ØJ·¹|€žÝ»Ñ³{7âú™^¹¤ƒA2ƒ™dfdвE]:wà­wÞDzV·L*ê|Þ‹Žˆô~¯¯Ñ·hÏ‘ú·ÅôÂ5˜§”ú 7ÄÇ 0bMXÁ£$O6—惽…ÊÇr€E‹%8öØc¹å–[¸öÚköÖk¡@çÎQJ1~üxæÎËòåË9óÌ3ùàƒøàƒX²dI7ãi­ þO²¿~ý9r$Ý»w§Më–ded N”ò²2-^ÌÄÉORRZÚ¸WDf(¥žÅM:‘Nç¦!k¬D}@c£V×TÛâåi¡ˆ¼ 1}Æ[´kÓ Ç€ï—€»†‰»D¸óÖxìµËÔG‰¯cç-\B~ £O0Ø ”ÒCT|ÙÑŠ¥ˆ À¥¶å¶ÛnãóÏ?gìØ±Äb13ß«€`$ɺ÷Þ{‰D"Œ?žY³f±aÆt`¤ˆLÕŠmcàÂË*ÕÃ7 8^Ï㵸5~+¥¾°À•\x½Ú ¥LydVš¦4n ðå‚E<1õEî?Ùœÿ%ðR*Ǻ®cÀ…~/ª•T¯CýLëwÏMµTý&·™¼Ì–À~@Ý·ézpĺŸÖ#Nܘ¿Bën¦ .ÁTBñ+GmÖ4óá¶éi´iÙÂ\ow­HÔ+À’ PfTÿþý:t(#FŒ0àbðRjˆäáÖ]8h„ \xá…üéObܸqày{ 7qKï”$Šv†…Þ¶÷¾¡•2³6Ú ÙFà¥Ô+I†ïà÷lš´pëÐÈ»cÌ:²èëoYôuÜÃà «Ì©ÿ.K%2ªÇ‚7Dæç‚‹ÆÂÄÔ€‹•¹Î׸aÎÝEdîs)×àv5nèëFÜœ¼ìü1"õå¼ù¬Y»Ö|´…ˆ ×ã"Ô˜Ž G"ûè1þ½¥?…=rÞk@0É”#Õvl€áY 3Ddà@-÷B‡+y[VV½zõdàn»1`@úöîM÷ÝéÔ¡¼¼<=âhæ~úz²ö´hGOÀZ­|×è-j-&!¿W¼2FšXÂaÃ^I\:K[Õ‰H^ŒŠõšÉh=õ5ÚäåäpÉgbˆFJËÊ™¿è>ýò+>ù|‹–.'Ž<€£ø×»ñ…^„jižå¶ånK¬wÍEH|HMMZ°`ÇOX´Ÿxâ †ÊêÕ«­[·f—]ܲuuutëÖk¯½–o¼‘'žx‚±cÇòüóÏ1räñÔÕÕµÂÍÇXÌÒ` #®g-·´´”·Þz‹·ÞzËŒ{Ú·kÇqGÁ5W\Ì»3¦1þ‘É<ôè“TVUçg‹È1ÀKJ©÷ô5À"”Īé—ü—"¿|Ü(à €íÛV÷ïÝ5üþ'_´Ä …›ŽÈÄã—Tsm…Žè PU]óqœ€¿è±ÒUD~P “ta‰¼è …˜0aãÆ3ëË:¥Ô z=ÉÐçOÇb±üéÓ§3jÔ(0òµÑeµÖ…¼Å>mÖ¢P…{{ï¯" óÐ!ƒÙc÷]YýÃj–¯øžUk~Äqœà6ɲ@†ý»mÏq™O¦^JOàuýŒ)hÛ–]ô£®®Ž…‹–PU]ž·gÏX×5Þ‹ ‹bÍw3×·´J{2pÑT 2aæGŒâìDÌuæyŸtôèу¶mÛ …¨©©¡¤¤„ 6P]]ã8& "·b{CMBŒù ¾²´¶_ädgÓ§WwôíE¿Þ=èÙ}véXHë–-pœûs:eåÙ[)µÑµ–ñ)à3ŽR¡v©¶3 3uþÄG$ŸrÍvÙÙì¶Ûn ²'{Ìžƒ÷ wïÞdefÆóês"ܪ˜ÅnL3ÀÑ"rt2cƒ¶•?*¥&àº)@Ìq¬Bvй40tY#ÚÔƒÐku¹VT¿ÐVKBi¡„ïÎo‘ÇAÇrÐð½**«øbÁ">œ;>ϲ•?à8N°°‡æòߤÁƈ±='¶•,Bóc‘iL@ ”Z'"E@‡?þ8`€[ToÚ´irÈ!TTT0bÄÒÒÒp‡#FðÙgŸ‘——çš c1^yå¿üã†ðÜsÏrÚi§SSS“­ÇA0~£”ú·2x!n^F ˆ„ŠÖ¯gÒOñży¼öÂS\qÑüáÄc¸gü£<7ýu"‘H[`ŒÏ(¥æÒ0¤Åëó)ñË \æ§ïòå½ïòe7,®7F:C]°=¤&ïÂx íеëa_/[é|½lå`àa}ÞO¸aJ$áû†Ü|óÍ„B!Þxã s»/jpaÀgš.’·¼páB®¾új222¨««袔Zo¨/íüëÞÓH$PÍÀjmÆûb`/¥wÜr=‘ÚJ"5•|÷Ýwœ}Éõü°¶HáRÏò™Gk¾ø½ß˜š*Ù%''‡;oÇé§Ž&'¡´¤˜»î{‡&=‰ˆôŽÞÑ¡uqï…î Ó~õØ’ùì.£D €þ¬‹6êÎàͰçàñ§Ÿ~:O=õTƒ£Ñ(›6mbÅŠ,]º”¯¿þšE‹²hÑb6lØ€ã8ƒî¶è:{í¹:v  Ò«gwú÷éÅnýû²Û€¾ôèÚ™´PÐM wb8Žÿ_œCvÀ»}Š6(æÒ` ÙXnNÉQ®@ò’[Zz Áÿ;ÚÜÖ,R ¸(,,dÿý÷g¿ý†³ÏÞû0pà®dffi/²§„–úüo+r+bnÉâ‘©·v"r¤Rjš9‰Dü—q©ïW¡±ã˜0-Ú´Êg@ïî„‚PàÄê"jjê(¯¬¢¸´œÊêZîТ7[ìïj¨ïçådsð~Ã8høP@øiý&>útÌÇÇŸ/`sq)¸a‡‹È&¥ÔóԻߓ 0{aRÍ\˜I<8fîܹ®6è8̘1ƒû￟cŽ9†Ë/¿œ3f0iÒ$þþ÷¿'E¡¼¼Ü5Wì¹çžÂï;ŽOæ|Ìã?Áôÿü‡5kÖkÔ~"2 7|e>nr¾ —i‹[møü¯«{Æ?Â5—¥°]wÜx%#<˜¿\}+ë7n6sã*™©”z„䕘½ì7âµ6zÀl t4=f —ý "ò.p»6ÌUJݯ=Y`=ï¨ÒíÿÍ\*‘ý h+¥n‘LמۣFͰaÃ=z´Y+ÖêjôAë^M5új€ââbB¡¬uÃ1Zz:' y””æÔg³€s¾˜·€Å_/¥o΀¢kç†!šµÔSÃÚE ƒ> £©01Bs"°G àßO?ɇþ'Á‰…qÈËÍá¦k.'#=Ä=NØ]D¾VŠ2}ý:ë~"$z+·ª’€‹®"?7lçV¥ÔJ&¿{•Û«e{·-;;À:f¼Gq„¿B QXXHaa!ǯ±?ý´Žo¾þš¬¬Lvíß× ³‡Awåëystá½zðàˆõZ³MÙu3D„]:š¯.`”Röxñ2¦þwƪde’±&ú ö¶'zGíÛ:ã{m1KŸ8ñŽ;ö¸zï„káñÇrú…¥ÓSQQIUUw»¡{ $”ÒÖ!P[SKEUÅÅ%Ü|çxV¯]‡8-MçºT‚ C¢<˜œ1¯=lüë–Ëã–8PҜ؈P^YÅšuXüíJ^Ÿý)Ÿ.ø&¾èG¢QŸß.þD °]F{(£=”h4Ê’¥ß1æªq¹ k†15øS úYïb;ˆ²¸8Æ$z_tÑE† ŠuëÖqùå—sÀpÀÄ?øðÙ?>«V}Ouu5ƒ÷̽†Äûàn»qï½ws×·óá‡ñä”§xyútª««`ê¬ÄMî,Æ Ï›[¼q÷‡&=ɰ=wgõšµ¼üê›|>‘Q ív(nèK þ!R6›‰[ó©â|[.pÓöHb­¬=‰Ô·RJÙJºòX Ù‡¦BƒÄb±¹ ¸Ï«_û¢YªæÌ™ÃK/½d.Å®åôð l<‚Õæ`o–.Uwd7…Ÿ~ú‰p8ÌêÕnÁä8€ûî»/éµ²³³Ùo¿ýØoøðzÀ›~%þ¬GŒ8#äî»nç‰'§0aÂ#¬Y»6 ==p“ƒjEòk W]]8ûÔs/ò~m —+¿R÷Ç­8æ)¥ìð ã¯Õ{ã™2ŠJŸÚ'¤Šó56nâ‹¿öB=dwêÔ‰³Î<ƒ{î½p8ܸ7–þ›ú))1íÁ“X1¨éˆ¯Òòòr¹÷î»(lߞѧüºººBÜz9“•"ª½à†g•-Ö­[gnsRêqàG=&D[. ¸è¨ÇpEEEXŸ­ÔJ‰Ÿ…:-‰Õ¼9å`D;€ ï}0‡'Ÿy‘3FÃ÷«´ 5ñÔŸÐý"±ˆí!L(ŠéQê¸ |ÐPXФ 2ÒBAö2ˆ³fƒëM2ýôQ,üksØE•¨Hð\à¦ü hÓº7mÎ.‘ƒtýŸbüáŒ.YòûŽ‚©¬¾iD–ë‡âh€ ÁBØðñDÔ-<_²ŠÊ¸z ”KmëYÅíºLvÈcªžÊo ,¼”ÆÆÃÜRDÚR_÷¤F)Uêû^,æ³&%dhÎ@#ô+Lâ¥@ϯ¿þ¦}¹‰ç$Buuµ¥f5¹òU×WÐ iº €P0ï^ññØÝßà¸þWÓYP*‰ÊrXìSfÐ6±„K²Ôד‹QRZW\5ÓŒm•ó£i y„js& žôôtÏ=÷+V¬`àÀIG}H–W +l­þ=ûÜ6­[ó·Ë.㢱æ™gžåö;ïæûU«@o\&’¥¸ž»/pós²ôó.¾V)¥*qãëë4€ÈÓÊB.=ª £yÀE ¦l¥!Å2µeàbn]”œÎ;1ëÍ7éÝ»'‡v(§~&?DjTY IDATeâ&¾©àS©‰ŠZJ‰ñ\¨Þ½zñÂsSп? xdƒœ÷§18ŽÓê—‘JÀåÇXDvÅ mú^š:=L_ ÙQßS¨cÇŽœvÚi<øàƒ¦øg7+ÃXí5Ýu”†á’Í1”Bi 5CDÞ»ùŽ1¨/Þýð3sŽä96µ°õ ÌÒ饸6Êø™™Œa* ÆCZðˆC°~­Q:_&`Ök-nlÏoö{ Zà"$"cqIF¸úò‹óÇ3¸áÖ;˜úüˈȞ"ò„RêmÐp<¿=b+Ø~FŠ`(¥ªD$ dmÞ¼¹Qý$¡¿ã^ˆ†žñó\ø€I>¾þv…ùÚ =Ÿ£JÓù<ÆÀá5D¥¼¿ü°AEš&0:—ùk€6.(Ïø k#èܼs€2Ÿ9é­‘åWv î5oŽ, Û:DJi¥JŒ’F–,iB¡n\÷¾®¨Š’,m…ji¬Ö~¦q¸‘¸Öš>ý±h#‹¿]IŸînâÒø}…#фיõGIúåÉo.)5Å|Œe<ÏÚzçWÜ­9Çk&XDdˆ¶sÜqÇ …ÈÍÍeРAMÚdàBòm’›‘žÎ9çœÅN=…G'?ÆÿÝ~'ÅÅÅ!`7 «Rj)ð‰Vª¨göÊZ‰H¶þßXW#Ú ½^D¾SJ­ ±r°—iÊ™2`#aä)K›MYžèF§- xcÆkôîÝ DØo¿á|ôÁlF| |Ž77ã}=l¥LDäpàt@í»ÏÞL{îß´iÓF‡P(N;õd¾ýö[n¿ón€=5Áê &†•Ró,‹dв|£Ï ŠÈPÜZ,YÙÙÙ<ûì³lܸ‘Ûo¿ÝüÌeŒˆˆÉ×ð«?ÔÜç{@)õO^S[›sÔ©xçõH¥ø¨óP ×ZJ´·È¥Íªe+ù¶üêþñœ9Œ½à¼zë´dD£Q¾X/¶Wi†žž~¦P£_èƒ×ƒáýÍ^Ki†îçqI8æÈCùÛEcX„»n¾Š}ïÊe7ÜF8é""ÿPJ]ëQblšS£´4[¯ö/hQ\ObŸ%K–püñÇ's_$€ƒòò2–.ý–Õ«W‹E9ôàÉÍÉFD×Õ2mú«üðÃj"‘ÙY™´iÝ’ÂvméÜ¡= ÈHÅÁE½—ÃaÕšu,Y¶B¯[¬§a½°€žß[’ÌŸjÛF~øû|98íQn¢¥ãÒÜwÅ%(ŠhÝ`º.¬ì]“¼, F6xkc) 2œæò< Æ €ï¾ûŽh,·ò4®P7<ž‘žÿÿåWÞ E^.uuuÔÕ…© ‡©««£Fç`”––SVVnNO jÕ2«=vÜ–à&~Ì[ü-'œ5™éôìÚ‰^Ý:Ñ¥c{Ú·iEÛÖùäåd‘“•IZ(H0 X¿±8á²m[·$éÃØºÜ5ëÖÇÁŽR8w©z=ö õ ¡jnÞ CÙxHëÝ»w£áP604Þ ‰ƒË†à"ñÜä@$##‹Ç^È©'憛naÊSSq'ODöÂe1[£ o¥‹HG §ˆ¤7‰™]eôy¥Ôû>ÃÞG,Ðh_2îÔ„P‡pØŠZžsrrøÏË/Ñ¿ÿxL5"téÒ‰·g¾ÎégžÃÌYo[€+KDÞÑŠ{PÛa¸¬Sêàƒä…gž&7'G[&J ‚â†ë®aÞüÌzëmp+Äo6Zùvm Gã#sDä4S]Û¶myùå—8p #FŒ ¬¬ W™V_EÖ¿öZ³µF{ç|K¹úØt»eÇ‹°¿RL6 Ék-%ßôpØk¯½Î§Ÿ}Æ^ƒù‚Œ'Ÿ}‰uEÌZµ–ú£x-•vèƒøx/ì\¡]1À@¡LÙ@¨oïž™û9sæ~F]8œ†[¶á@ùB3€þ@b‰o¡f<$íÄJÛî×ø_`¬(++£¨¨ˆN;²ÅùVËÏÏ'à8·ÝûÐÖvéÒ‰ƒGÀi'¢ñ{Òøq.ºàlªªªøäóy—”R[fɲïY²ìû­º¯ݺøñÃ5¾ ãû5ñøk™ë 5¢"ñYG½Kõg±—l‡Ê¢±$Œ srrxñÅiÕªUÓàBl×;á[qnÛ6mxxüýüᔓ{Ñ_ùnÅJt‘–:ü¥7±7ì:vìH·n]ÉÌÈ PZVƪVp\üUDr•R3uš~4ÿ×ùX<¦AøÎ2,KŸI’¾Ø3ðøc“Ù{ïaÚŠ˜8Åòòò˜öü3œ?æÏ<ÿÂ4€=µ¢÷®_ë œìz.†ñ¿§“÷\(”[KO P<öèÃì½ß¬[÷Sn¡¶©¯‰cú O_ Â-ô˜0bĦL™B,ãàƒfáÂ…PÌÆ §ðs¥'c"£Ó‡é"ò0n(Gygœv2]»tbㆠ¼2ã ž~öE"‘h[þ<†›ãb„Íüe îe½o è+¥¦‰ÈÅ‘h´ûI§ÅÄñ÷rȈýâÀ"‰ðØSÏróãÍg~ÀÍ{ð+õùßIâ91 Q×âæ÷ز9ÏVX7¬/¢ª¢‚÷>ü˜æ|Î SYïÁ87×+lb$2Š5UCcGmï£?úè#ÆG^^¬]»–o¾ù†… RRRÒˆEõÕÂEq/ijޱerÄ’UA@9ŽÃú›Y¿q3ó% ¤Ôüÿ9¸0 \òà†cuœÆÑŽê=šõ!p¸[Ž;ò0D„ÒÒR¦¿2ƒ‰?Å7ß.ØKDvžUJ½®eºÙjI PŸ±Œ&ÐL¢Õ6ê…ëÊ‘.¸ajöì÷8`ÿý³ãÊŸýžÏq‡FŸÂ‡Í!';›ìì,222ÈÈÈ ==ÌŒ ²²2ÉÍÍ¡e~>mÛ´¡S§ôêÞ~ýúЮm[l:\‘†ßï¥Ë[‰ô9î8+W­fá’oXºì;V|¿šÖüHцl..!s|óK”R„‚AÆß~=Ç~PÃDu¯ÕÜ÷ÙÀžäá)ÓÊuh@™ªe"”eJ©rý~…>V Tá&#Wáí]áô†¹hÁ{pÀc=ƹçžÛ¸°AA½.g'sÿ¼si^UYÉÕ×ýƒÇŸ|ÊœUJý sdÚÅÑ|(DÝÙsAŒ9ÿ ´‘º¾øòKnw7s¿˜P¢”ºÂZlj­Í¯Z¼Q ¢I”KÙ†¸Ü pà ×sã 7Èúf¯ F£Œ½è¯Lyúßæ² p ;ž dõéÝ‹wÞ|…Ö­Z¹ÃS©ú*ÚÊè¡ûîìÙwüh“3±ø0‰ã1ÛR¥“ÆTnn.ãÆcìØ±L:•K/½Ôx.7tëkír¯j•Rµšf·7/ÁÌõ*½TXó¿VŸlÇB>]{þÜ¡”â¾»ïä‚óÏÁ‰Fqbw‹F˜3÷SN9ûBªÜü»%ÚûQJÕXë_™µNVèõ°ÚëF± á†#eioä3¸árôïÛ‡A»õ§.\ÇÜÏçñ“ö\è¹ú¶¾–¦¨•**õZ\ ˜­Ìúþ* Ú1{ ð7€®]wáôSO¦o¯”••2ó­wyã­wu† ;úÚ?¯àÖ©Ó¯Zê‹ÑÚcÁ^Cb¸y}²® Ó·¸õ‹>A³³5Ò¸ÞÇbC‘N@¯ž=º1ïãw‰Å¢ô¸7Å%%(¥Vã2byÆÒ4PNóýLñΠH)–Xc¢¨¡ ¨Ôß]i›JK–×àæpÅHµm);öÁej+øýqÇrûÿý“ž=z4ȯ©÷jЇBH,åÅ—_á¦Ûîaý†æ«?QJ=F}±èZÏVçñlØ…”æ0_·9ÀZˆÈ åc“'sÎ9gÿl…:ùq(õì@MOP8¶ø¸?@‰ÅbTVVQYUM$&‹PŠ`0@fF:9ÙYdf¤7p¼!9‰ÇÇ\ýÌšý À&¥Xd ÏR 0JµPóªUÍ`X¡Q6ïû`à= ýôÓOçé§Ÿ&IhHÓÉÜvþMp±e‰ßÉÎ}yú{Éå¦Î†à†LUé}-ìù–žžÆ«ÓžaèàÄ¢a^yí λøj´z…g¡©ñ±rø-@^Û‰†- †o™G}Ó_~™`@5œk>Œt±X” þ|ÿ~öyséj ;¿E fÏzÞ½zja\ÕhPÿ¿Þ_qÕ5<ôÈ£ÆÚô:nOÔb§ 뼎=†Δ)SÈÈÈ`̘1v¾Z¥Ô[À"b>WE¤ÖÕ–bÀE•%À¢Û9ÀÈІª¾'Ÿ4š§ž˜¤kQDêA†~ýèãS¹öÖ;Í3žTègPa)ö¥žõ°Ê€-ê‹'†,%4W[o×^H?Kö÷J©Ï¨¯bŒŠF†­àò £Ô¼N=Ї¼ŸÌô±¨þ­Ñ0o¿÷>üóeP¡¯õ½ÞVë•RÆøP§ÇE­g\Øã¡ÎZ7¢; ÀÈ‘#€?i2]?ƒ2í‰*VJ•ège>“£?×è1xÐ@Þ{c:±h”.}S]SƒöZ—Ò°þˆyí“Ì+a (Ø[•ÕÀ¨ò€Œj$¦Æ6A9—F>/77—‡ü8åäbor?š,áµ ôÅŽCqI —^}#3fÆ=_‹u]¬rŸqPÓˆœËúíyÎþqùn$V¬XŸi¾9&x7ΨÔxþD#!È’x•ÆŽ'¿@Ãp¯@ @‹¼\:°K—ŽôèÚ…n»t¢sÇBÚ¶nEVfF£Ÿ·_$»…•?¬År“eé-S„L½P¦“<<ª¹±È˜D«tàA ½k×®<ôÐC¾àB’W/MtýÀÝ–‹úsO<þ÷¼ÿöëôíÓÛü2µL)õ™Rê+Üêî5áp„ñu?ë8lظÉú)ržˆüUDn‘û´57W º\ ä³p“Æ3<ýÞ\ûü—*&©».cTæ.»tá‰Ç·Ù~– ¿yy䡸ý±G›·²Æß{;½ztk(DŒkÜEËáæ¯£gîfÝO÷_–.Ä—)"{pqî¹çòÞ{ï±xñb dƒ‹J©'Dd™f!«ÃM7Jde©®óXº¼qÿÍ¢iÀ>çžsV|¾&2ð¸¯O>á“#À-f™%"ñgl­‹[3G”Rêí Ca{rrâi Ë•RÏ)¥ÞÓÂ?!yÛJ4ßšü \ èϤ‰ÈÊÌ´Â.Üíàý÷áæk.³¥Æ`.YR*«~] ¥ê³ˆøå^ÀÎÓoÂF?PJýY)u†Rê\mйxI)õ9n>„­È™-ÝŒ#2µ\×2!fy‚ì-¢·:½Õº5HCER¤‡:‚ˆ]*¤jÛè&dz?ðàÂëN÷hl.IÿmÌîÒ¥K½À¶7\——›M~‹xŠB®µ¦Y¡)öÚØØ<k½ á&frÖé§Ò¦u<ßëÙŒoÎ…4ÆmoŸïm!`€ Î?Œô´¸Å3¾é1vòñG™ß«4˵’l.DHiPlQ%·ríà‚Äz1vŽN-`‡oOµˆT‹HµVôèÑ­k<¬² m<Ò*¨½‹1Ÿk×Yé„ðE ‘„-î¥Ð¡~µ>ž¦ÀØö²#7,ªeÛ6mxkæ› 4УWxtCñÓaíœÞÄÐ{4”RÜpåÅ\2ææ‚CDä0ÉÇt°A†mHÌð‘õ•,œc€±jÕª¤ ³$7áûXôÞq!SS[Ceeeåå—”°ys1›‹Kظi37nbæMlÚTLqI)¥e床x5uá°‰¡n”R¶KÜ/:n#˜uE›¨­‹SÔFñ/ÆÔ¬™A¬ ¯4¸h\pê©§røá‡7.|Šç%†¾%?·a˜œˆ´à97?¿/=÷4§2ÚÜf[éi)–ôú$?¯u]Äáà÷甓F™Ëö×VªL`w 333“x€3fpÑE™ØúŸteæEÄâ”RÜ< ;qÙM‚Œf n6÷ºvíZÏœLôfTTVQ^^aÖ°7YÓgKFãë±MÉn@RŠ‘Ç]/êcŸ<"©·vë08o’·¯CDr4¥oß>‰Åýâ2wK éÚ¹£ùlkÛè "™".¸ðYT#Ï{g^¶Å„pC JD*E¤BovX].@¿¾½âýÒµK'sít™ÊâÆ½Õ*¥ªuŽT%õ9Bf«°6“gá~^ÉÈØ6²ãz _(âÙgþMÿþ}=Þ XˆÇ«a-/†X@Ë7×¹öò±}ØÁæ^Žºz@†Ÿ#ÝãÅØ®e}hO^3]ƪUIfïò‹E)--£¸¤˜âÍÅ”–•RVVFYi¥eeTTTPYYéæ9TVRYUEuu 5µ5ÔÔÔPSSKmm-uá0áp˜p8B$±¬Í?GáuÇ`0$=-DZZY™™dff™‘AffÙY™äæd“““Mnv6¹9Ùä·È%¿E^|ߺe>­[åÓºe 2ÓÓý]á`?¬ýÉ>ö· 5]1¶™Mü󂌌 n»í¶äm+‹çm}¾E¢B¶àÜ´´Œ¿ü-xxÒãÆ*+"²ÂôEIiSžy‘‚6-‘X%Çv =:·'@Œ«Ç=h~ªÉ©I'±Rs¨€±³X Œ€h‰Kaü6mÞÌ™çý™™¯¼@FF&hî(Ñë»B¹—V‚…X…™ÇÝ|¯¿9‹²²²4ÜâLß cûÏ;ï<Ú·oÏØ±c ¸X¯”zVÇÏ›dÐ8Å­¶’&(2:îÞ\Dðg.ÚÞûµDD¾z?ùÔÓ0|/†Óþûº©ìíh`‚fN3FŠ€Åm¿%3 èÕ³;»öïg{³rÐaGæ3ñ~±ÀEÔòüC¥”ŠèþÎÝ´qc½—Ì4Dœ˜Cqi™ý¬²5X÷·pZÖMñÙv&‘ \ØÌ¯P­!È5Œ}{Ç‹îõéÕƒYï~€Vc4¬¢njÞS«ÁLИc—,×®¹ ¶{ï…ˆôÄ¥…毗\ÂÁ” â†H/ˤo¸”g:yk®I½®§Š»o½†Ïç/dã¦ÍiÀáÀ4—Ñ\yÇ­_ðxí•-r› ÍñnOªµ6làλîâòË.# Àk¯Íà½÷Þcý† ¬_¿žõ6°qã&JKK‰ÅblOÏÈ Çq4X©¡´¾ÞÆÖ»‹rs²)hÓŠömèо€í èÜ¡;¶§k§¶kCZ(±[æÎ[Ä­÷O²½6]iØl¶âáç¢o Rœ¦ÒLú³Î:‹®]»6ôZüÂâyMë›oaåÆÎ5 Èãn" 1þáGÚê~X DÂápÚå×ÞÜà´l‘ËÞƒweæûŸÆ‡®«Ô¬!‚› îø-6ÔÓp°j%ìH œÞjÝÀ @×ôôt&OžLzZz"ˆ¤Ñ‰ ñ½õ¢_ŸÞLšð§žy.ó¿Zĵ7ŽãîÛn®B¼F=e­{sN»v\ý·K¹ö7ƒ[¡; HÏÊÊâꫯæ‰'žp-õn_½­ë(Ä©T“€‹°•sá òKüÕŒ ¿‚‹Þžþï¹ç_dÿ}÷áìÓO©÷^èý¼¯óÏ{â櫵¢f™™Éj à4lêØŽ9Òõš:>ƒúp'GÏG¿ÂY~Uz½4µQàk`Ø´—^æÄ‘Ç$$†ÖWv˜÷ÕbÖ®+2ϽÈÔ•ÜÑß´•×ð—¬ÐßÎ佰ãÂ6¸°ÖS/8D[– ƒ,[¾‚y "Ž÷ži€a?W\„-°`'ðÆÃ°<óØëLŒ_§Ùq)Ѿ}{®¿îZ·¢d„¦Ã¥±* Z·jÉ•ÏU7Ý6:í¬,ÚôÚ3“…^nÊܶ2!ðs€N"ò Ð à€ý÷ç±É“èС6mÛ6ž…&”ñœœòòrÉoÑ‚¼¼$*¦çm<^\ÇgÛŒQvß'ÍÇØÖýï)ˆùKdŠM홉[=w°— S:ý”QìÒ©›6näÕ7fñÄÔ¨ ‡ÁMp~CϘ~•:¼Åfs²Ùõl˱ †ÁjOàM€Y¯½ÌÞC÷¤ß ½ù©h=¸°‹ô}šßêèÊïuÔÇ×û­Ãµžþ},9 ¸O)ÅćîçÔQÇãÄ ,R›7oæÄ³Æ²tùJpó¹fë{ˆÔZÔ¦&ÔÆ½ñʯÒe;g¤ù…cÔx{Ó=[†Ï>ÓÚg»ŠÈIZùk¬mÒtµ›Lå]¬²À„ÍUéãÁð[ó«ö¼C3ýFò#$"­oÿ¼õþþ÷«RÏ6¨uá}-IØ¥Ãgm¶)ûsuuuì}è‰mØ„^[Þ3ë†.;PŽ?#hÜöXá{[Œ žŒ†Ö­£ˆÜТE &<8ž_}Å—óæÑ® €öíÚÑ®];Ú´¥u›Ö´nÕŠ6­[Ѻu+òòò\P`IÆ””òu ûÐÙ&c Úšã1'F4¥¤´ŒM›KØT\¦ÍÅlظ™¢›øiýFÖý´‹6°¹¤Çq¯ùÄý7SQUÍMw?BqIÜUŠÍZ1µùÝK,€ájvŒ 0¢Û9Àár‡ONÙk¯½øüóÏýÁÅÖÔ¬°Ý•¿ Ðž7¤jKAK,åc.æ?¯¾n~ò*`ƒVL½@¦’θ1˜ë•b¾Nü³yìÍBS©F•gÑ©õ(3 !2Í] YÞ‹nÂô;À>}ú0ïË/ÉÊÊH ü¨i“Îoëu$áÈãFñéç_кUK>~ç5:¶ÇKM>u2^þÏ«œ}þŸÈÎÎfÙ²eLŸ>‹/¾Øx/^‘ ¦ïŒrbŽ:ýž .lÚÓßœÒГ7å~¤’€ ïÿfoèb³µ ™ iä*•Rïê5Ï„ÕâÆÒ€QFCºÚÊFÆåÀßÛ´eéWŸ è·G`ü·6JH‡%€a<ËÕÖúlÓÓ€a[¡¡ž 5_D>:Î=ë4þxÆ)tëÒ‘Šò2Þ™ý!w<0‘Õk×™±2—VU{.¤F¯`xãú½5Qêhµ#Œ 2LþZºÏÞ€Œ ODÆâ†ËÅÇqNN6ùyy  ¢¢’ŠÊ*ïWnÀ­}Sc‘/xkY؆¢Ö9ŠàKm{Ü¡ûì7A\"ˆãgC¡+W,§c‡>Ô³6ÐðPÏ&­…á$žóÈBDøçÝñÐcSá`šˆÄ×½~%fÍltÅÛ:Ãvç+¥þ!"sËËËËóÏ<ûþqÃõÌ|} kñ·:zÙžäs7–Þôq;>Ÿsª©ãÉ•Á@€`z:í ÚÒ¾ ª´U­ IDATMÒz Ž£ªº†Õk¢²ºšþ;“_}Ëþ’j¥âBю߬©íôQ0’UÝnç½ô™˜žzê©`ðÉ‹ØÊŠ­)´çŸoÑñ¯»™8þ^ŠÖo`îg_ ­aQ)× #ˆB•®ûl³Þw×ÀrƒŽÃIÎNãÕôºNw·º{q0D)Å¿þõYY™ q®ž)îÏXg»Á=ÉxæÿP(Èä‡ÿÅðƒ ¸¤”¿^y=ÏM™ˆR”H<ç"!D …ˆ ÂûíKzz:áp˜1cÆÐªU+î¸ãs?êy›nõ[Ô ‰K¨ŸAbF¿XmoB¨ó+{/ìäih:ùÐ[/ÀñÁ­ës¶Ÿt§!1ɧZÑVÖµìÚ/ª‘-Yð»ƒ$ "Žà‰‰ŽY×6÷Þ 7ÿ){ÚôÊ£qÃçp‡ÉONå±'§ …\ïzb’ù—¸EàÌ÷G|Æ„_Ñ.o˜M¬9®>!y~€Ö»÷&ú{ûÎ;."ò7`_€þýúpÎé§ò»÷¥s‡v(‰‹†‰ÔÕðãëxÎg<ÿßY|õõrp‹«>ãÝŠ&é§Ã[85æ3f„ú_G?Iجx)@’°f°Ç{ЩcG &wÛ2¥a¸”' [߆çù„O:b¸¦8¯ßzbÆH²RÛ]Û–,Rvìa<ÆQ)õŽRê"àáæ[nå®»ïñù´$Çžwý)_§”Mv¼AEŒ­¦Ëõ&ñlýq¥¹9Ùtߥ÷Mœjƒ‹¨R”(E™gAªöX1k’X®“ìmh5Ô´¿Z(¥8ñēԬ&kVH’JíçPÔŸëŸÌí­ ïDü 7ff¦óôä tÝ¥‹™{]µ•,KDº»âÒÑöÂÇÜ]„ýDø½g ü^ §¶xfiÞ{ãÆÏ°¶ôæ´ýLïEP»·o5j‡z(&p7BMÛ`ŠKÃ)Ü­kn¿õÌzg6Ͻ8ÝÇEž¼NÆ„‰“ ‡Ãäæærå•W2iÒ¤xînÜm¼vƒR*$"K‰ˆ5¡HÖù~ +§=wÓEä ù»”ikqºç½É)–òVJ½ª”ºx uëÖ <Ø|a H\ø­‰ùÀž‡rP|0xtÚ˜¥4z7oî…wŽy”Å .êw#À®ýz â7F ¸p€µJ©·tcDƒxiP½ÅÛ¼a“üsA”R*°•›úµi2Ub³si¼^ Ûa¢)²H¤öö«ôÔ˜f¤ÛàÊËÿÊÇïÎdÌygÑ£{WBÁ`üA:uhÏ©#çÅGÆqý%g›¨‹V'‹£Ð0äÉ;>lÏ‹÷we[›ßïJ*ì~Ûž)N}Cá’n0lè^V>¶7)ûgÔ¾HÂ6%>lS ìÚ¯éiiæ ”Rq)ilܬ~Ýîú2´¯çHF ®SJÝ("WCn¼éfm jAÐTÅo—ø-´á©IqÔñ§P]S“†›§´†úP¦8èoWP@uM •••襇Z_àÆ‚GðOüò¾çX‚N5s/†m-¿(ÈÎÎæÎ;n÷Ÿf[AMë=Q<ŒSˆpÆNæ?¯Îà­wfsý-·sÈAPжor7âVø„M›‹™øØ“\xá…´hÑ‚;ï¼Ó|a±î› êCC–µÒÁ‡³ß£<Ö&Qhm¯• ø&gèyÐE)õw 34d3ŠYòCÑÑÇ ! qøa‡1þ|ôü‰Yë[LÇ";¸¡DÉ@†/P‘}ŒP(ÄÁîtúbÊãqñÊ;?¯…Ÿ¡ÇŒáÀC@VÇÂvŒØoK–.7îai£‰Z«"uÐúÞPmò/H Á©Jb!zž™=§$IŸ‘Ä2þ«°z”%?€ðñœy7/…{Ð&~ÔîögpܱGsÃ5W±hñ"¾ürË–-çÇu?Q^QŽ‹‘•AAë–të\È€Þ]9åØß±äÛ•LŸù!¸¡®K|ž“ãC~`Ýx]’=kdz÷Kä÷Ý^fI±õNäÝ0Ϲ @Ïž=¬õøPÍ&FCøÕÂhX3#Ñ-vFdüÝÜì,Ú¶iź¢ ˆH ¥T¦R*Sƒ‹Ú&Œ‡Û-Uí¶ɨàjqcËþ%"·Ec±Ž7üã&f¾1ãçy ~a½¦ ìÑ„7¤1³ô¬Wïò%¯ÎzßU4dŸ¨¶„I<[)åÇ™öQ2¤LøxxÔèQ£’†#EcQf͜ųÏ=Çû|HQQ‘¡ùD)E^^|€“GÞF‰ßMœÛDˆ}î ý¹kÜüåò¿£-Pmpãv—j…) sçμ<íy*ÊJxçwxìÉ©,ZòµÂu¿oÞ×s,ÃÇ"f”Ô¨%`šµµÊfŽÒÅ Ç\vÙ¥tíÚ ÿ¢[GMÛ@¾z–"Üç8öq8Å%¥ÜøÏ;yè¾Û@ês1B¤pÆø “¨¨¨$//+®¸‚‰'²nÝ:sÙbê)ˆ#J© å½ËZn»Ék=j¿ð‡Äp¡_mÞŠÈÀéÖûg‹È›J©OŽTÇ<çØL½zRQQAÑúõü´î'ŠÖ±aÃF6mÚÌæâbJJJ(//§¼¢’ŠŠ **+©¬¬¤®¶Ž¨¶† ö—4>z …‚deeÆ)s³³2ÉÉÉ&/'[SêfÑ"/—–ùy´lán­[åSЦ%ùy¹deeR\RÆÜy õBgøˆÇÕ*Eµa1›æ@·„üB¤¢¿¡%ó—Nt#ìFì¹çžôèÙ#Aѯ­«å²ËþƤɓÿŸ¼ó“¢èºø¯&mNÀ’Ã’ƒDQ@AA%'EP¢"¨ Š æ¬¯á3ç¨ˆŠ¯9+*ˆ"&” 9ç´ì²y'Ô÷GWÏÖôôÌT–×}žy`wzº{º««î¹çžsQ>Ñtî܉ ÎL§ÓO§fÍš8Ž9̾ýû9·G¿´yÞñn«<úÀ]üôËJ¶íØ)0ž›Ôu8 îaãŸù•?ù”!û€ô—440b(±2ÕY +꣤¯•µ)O9Ø‹S€‹îºóN’’’´kkŸ{•6@!*³A(En­ œ0îþûî¬Y»Ž;þó0_}ú6.—Km/´f{ðìô—ÉÍÍ#%%…n¸éÓ§³0#£îcF¡•¦7¿8Úõ¾I&üƒ÷× üz ؇ÓÛŸÂK®& e+)å !ÄW–EPR}ƒ¡—KÙ‰§}æ[žÝ»wgî—_¢´ß´}{m˜[»Ò+ SCãÄ9gw y–Ý®`}´KËDKÂ5Ñ2ÄA #¥Lžڴ⺫ÆrǃO™ÇØlSA²´€-¿öM×*Ó9ÊÊZx5Sw^3Á… êóLà2 ð¢â"—ÝX3ã> ót<àBDêþœ£Îó4uß+ègd/° øF±£LîsLV«V•q—ŒæÂ Óªesœ‡­¾.ð³eÛv>þt.¯¼6‡ýšñÕ)VKõ «~€f%TÎ ž;ê>oÁ(Ãú]±Š«fö==ìÊöìGÐø驿¡CíY…w^¥bÓ3ê玿?Ø@Óè®d<›Bà’2TœTÍuÿ€!-“O±v1Ü*@Þœú=Ê#>Á‘#‡).þûÛ3DÓÀ”õù±8zØÙÔ•éÇãv“˜ORb<~pŸº%©^´Ô|έžÈÑØ‹J7AظÐ$ýFŒ˜Ë9Æ ‡²x±QFÖ©Óé<ùøct:ýt••żyóéß·õ˧¡ø›íÉRåI‰‰<ûø\0â2üþ@ PC-xR‘)¥¬ ÄìÙ³—€ÏËÛï‚…ß›—ïw3;f>-ø0³g&ÈÐSë'3{q;àlܸ1—_>¾ nÍhÁ*ó*³A‰Ìåròð}w1hØhþXó'ï~ø)£.¢Ê¤3{Î;Lž<™ØØXžxâ ë÷J°[¬†4Ù#Ô?Ä¡è LÝB= ±5gvéD‡SšrîY]øæûÆK)—j¼´IDkcÓ«eÑ­ £ÐÈ6zABïÞ½L€ÑÀÂÜø¤”>Í:Ry”´Œ­®€#..–Ó:¶G¯ŸÖ ¸ -pÑNÙ€i3†jÅÅÆòÔƒ·ã÷˜ûu°Dv…Æ^@¸Ó‘yÍ ƒga-" ýÙw)¶x ÐNÛ÷õRÊ,!Ä‚RŸeNù+€…°a*Ò¤”ª„BGkÌâp8HOO§AƒÔ­S‡êÕÓIMM%!!ÑlÓïó“_ϱcÇØ¿ÿ[¶laý†äåå Å~] “R®~V¿3x`^xæ ª¤¥Zúä„Φ @“F ¹éºk¸rü&O»•Ï¿\†aÇA g Æê9 ^/—ÓI½zuhÚ(ƒÚµj–šB|\,N‡“€ PTXDN^GfsàÐavïÝÏÞýÈÏ/@±,­Õk¸ê¿øN±\ ;Ay´&vÌÆÿ"›aŽ·­@‹µkÿ ]·#h'dÄÎÜáâmûr)lÌC‡ÉÊÎ1 /H§ c©ô¯ÒþüÝ †5a¢¯=À© ÛÓé ÖÒŸ~úé4mÒ„”£ÑžñJ$1!¸¸8âÌ{±±Äx<¸Ý.;ýòòóIMMeÚ´iLŸ>ãñÐãì®,øæ[À8¨‚u¡}o»Ò» ¤Ù$íD=çáñxhÓúŽ/aŒ–®LëÕ÷3=z)­Ëdú°Q’¾}ûY Œ“m–WiÚ3=86Úµ%>.>d<ÄÄÄóBê™Ò©­wvwHð,¥ì ¸qòå4kœÁü…K8j¬!Ä/ªn#¸# eIЧ &Ãg³xU,Ø´Àp¤9 èEÀxŒr0ЦUs|>ë6nq÷ªšïE6™p=`uç3mÇZ˜Í3k“1JÈ’ÍÏÅÇÇsÆgн{w:wîDÛ¶m©Vµ B8Bþlœuæ¡  €_~ù/çÍçƒ?açÎ]h£^´lÑœ×_™ÇãÖæëÐLthZ2÷§$%ñÊ OrÆ9ýÙº}‡ÐEg*Ò«U¥_¯sèuÎÙt:­=UÓR-%8á ‰þ½ŠŠŠÙ¹{/«ÿ\ϯ¿¯áÇŸW²aóVüþ@,†óÕªÌB!Ä#®''ô8Á :Ú3$ôçèÍXôÿᇥø|>œGXÙSt1·EËWÞr)µÝ?ÿVþXLtc;-Ñ¿`è ÃoÉp'!ćÊ£-JdcÇ$ó´Ò¨\%à³6MÒË£ #€‹J'ð¶a/œ(šžçGíÚµBîmŸÞ½9ï¼s6t(WŒǼùóvñ’““¹ýÖ›ùòËy$%&òOh(*"ßÚ¶·ß8…/¿ZÈî=ûÌR©­z浸¸ˆ€ÏKÍêAñ`U Šjâd‚ dx5aާeB:™ }ŒÜ8š5kÆÈ‘#²Gµ5­þž³q÷­72ÿ«EìÝ€W^›)WÃ쇱wßA^ë=ÀèÚíñxxòICÄ;|ØŒ»d_-\Œ”Ò¥²‘Ç"p'V1§U´)O ¸@g€êéÕˆ‹CúŠ8ãôSiœQŸ-Ûwôv˜ãO =岌Íb È0yÅ`hÔ0ƒÍ›³~ÃTvx£Ò³XË<¢õÁÐË3ÏèvfgËó q±1:˜qYîQ ”Å>˜iT%2OŽömZrå%#¥ä3CW…IGÕq¬ †Ôz¡jë„YeÎÿ©RÊÿÃ0ƒÐªbØrŽ5ÿйc{®Ÿ|Ý:uàðáÃŒ¸bë6muw(Qù"ö̪’Ç1÷[Y‹$)åuÀ5flË€9r$½zõ"))14xÓ½°ƒ–,Ж„ØØXºu=ƒ®gvá?÷ÜÉ—óðÈãOòÛJÃÅqäðax:_[-çCRóŸ‡Áûòôó3Á(}äÌΧ1aÜzŸ{¶.ú:>/…¹êWÇM“†õi’Q ú÷)Ùwà ¿[Æg ±üçßñùýÉÀ)å4>^^©'%FCu‰ŽAþAÆ÷À­{÷ícÙË9«ë–!\;ZÍ`­~ $%ÃÐFÜ­¶ûâ«Åæ ï tÒþü¥ôŠ,YÁítæ¤XlBüG1x à g?à×Ëbãb-A䲆Šá º,eß² Ç–6A9½>¿þ)ŸZŽÁn!Ø!â2 ³$*£›cáÝõšÛHÍ”*³þBÏêµÄ¨­eüøñaŽLÍš5eþ—_pÅøq€¤eËÔ¬YƒcÇŽqëíw²gï^bb<Œ¸ø"›žDèY¡î.¢l(¤ˆÈR· ïßa|Ǥ„x¼Ûtô$HU×¥àUkø½L¼t©ÉI`Ôí÷ĨÑÖ;ÓÚõ°s8i&. {ÑÂd/n½õœ.¶¶Ö²¦…HÖ´‘§’F ë3vôÅ<ÿÒkdee{`<3c…T©R…©S§†°×]}mOiÁ)-››OÖÙ "wÀ¶Þžèg{7Àî={™|ýíàt»Ü÷óýn*}¡b3’Uð˜¨Æ{ÐóÕ„P­€ùóÍæç烄þýúšj½¨ÚÊ"Øf¥”Õ1jã9³K§°Lull¬•Á°ë1àˆp<=€¾Èð¸Ýÿ­›76ÙÓ)RÊúÊ¥Kï¯`ýÎŽ ÎýÂÂZtQÝÌo«V­Ê=÷ÜömÛøàƒ:t¨Ò[iÙ_‹s\x‚!”y6̃ËédÐÀ~¼2ãùàÉÛ£{Dð–•Î+¡o{JËàþ>xóe>{÷uöíe—àAÚ0$Zpš¬ÒΩfõjŒ¾hï¾ü?Ì}‹)WŽ¡JZŠ9^ûI)Ÿ‘RžÑŸ#E½’ÔË|öÌž¥öRú_éŸ!„X‡Q²Ï‹ÓgXÄÝ¡‹Fôr©ò÷¾0÷½c×^ý°Ü<Ÿ\-…£¼þ÷† ƒ¡»IéÂe3ó’)„X*„˜-„ø?àaàÃ`ªÈS®ƒF vACq\`%êO}ïl kÊ£@Ž”¨W¾”äªWŽ”A@‘­½ìl£‰»+þ"BàI€¨[·.ƒ*µy^ƒúõYúýbÆŒIêÕiѼ9s^ŸM³fM9®æyúĵyž¤¨°k¯¿•‡&4Û…æ¶-’þ½ÏᜳÏ4/Q uM޼÷É\Ö¬]OíêUyæþÍFOiRÊs'ÊÑH„]í¦Ó†Á8Y=Ã<p6hЀQ#G…1 ¡ By­ie¹“ æ{Ó®½Š„øxŽfe3sö‘2Àî=ûxóݘ:u*n·;¨½>t0 êÕ`Ø̽&Uò>á Œ¿ð0iÚm¬]¿™%Ë57IŨ¡ Ü <&¥ì¦8Iذ‚ ]žg>_ª7 ¯_5õÒ“*Ö9ÆZV —åœ8Ýn7§¶kÂ^H ñqqV#’›‹•qh¹-ÊZyâe#hÝ¢)HÉËåXN®™%^cîSÉy0×QUþh2ºö"X%¥œ 4öx<¼úòLæñ ×^=1#/âžÛnäÇ…_0ôüþ,Y¶‚)·Ü˃O¼ÀŒ×ÞæýÏæ³ü×ßÜ«‡0¿k7 V鼎Û"3sí’RŽæMÝn7S§NeãÆÜ{ï½Ô¬YÓùô3~ûí·òõ¾ØöÌoÎgÙ¶ÝÓgãõúÌç?—è¦ v•öç//‘RvµXèíH¾Û²¤ 5¸Õƒî)cæÑúÜGw²,î YΈeÄcDjÿ^hY0r4Ãj?h]T¬âî°úãJÎ^8”˜y8ÀäÉ×àV™éОáŽLuëÖaÖK3-¥geižW Ed1÷Ê?VóÆ[ïâp8¸öªËUý}ôF{zI•¾­î»ãFÎYv>Ÿß£‚¥#@z^~ë‚K¯áâÁ½éÙµ#F æÅ94VÌÏJÂ]%Q€ÅI±@h¢g§”²– R¹îº©%µÑÇaM+¥dÏî=¤¦¦¨{g“-ŒÒtÏ|¯Fz5Æ_:’çfÌâ•7ÞaÂØ‘<;ãU ‹¨Zµ*S¦Laúôé‹ñ´°ØÁF{hq·Ò \òñóùô˯‚fééÕ¨W·™™GÙ±sRÊÀ$)åÊaJo*h7q› #È`äåæ"«§sF—Τ§§sèÐ!€SAˆôÿÎ-š7%%%ÙH"j÷ØâQïÒ\èÃ<¸ë×­ÍÔ‰cƒCtÁ·?èLPà¸&jLêbø"ÃtLQ,wÞ~+#‡_DÀï5:Ê«.óñq1<ûÈظi+«ÿ\ÏûŸÎ+íÖš~üRJiv”·kTW!æZ‹©À}€£Q£FÌ™3‡3Ï<Ó¦2 <Ë/£fù#±Ø‚‡ìlC G\|\Tð`4Ø0¦í¨‡ÓQ*x  à!ú÷ ^ qL¾|$ÃõâîGžcÞÂÚH)ïB¼lÂTD»·¦áÉ,ú2ÁBˆ¥”ãý~ýk¦\Çâo(S{‘vH¹våRvbnKÁ£3 IDATªÆîâ¥?ññÜoÌ Ži1œr ³öÙñë_Á`­õYY » 2Ä~U½gpÑ •AÐÜbÊ "<㥀YþE8 „ð !¼BYB «“kÙš°Ûê•O”Ò()e ²M2XS€Ø*iiL¸âòðÀܶüH†§—öÅ^aþɨÛÚ±ƶÅÅÅ%|)ÛÊ‚=}¡iÑ´1#‡o~›tum¶¾ü‚B^{÷3ÆL¹‡—ÞúL¿¤ -_°ó̶ Nš[ЮbÒÒÒ?n|ÜÑ­i·lÝJï~ƒiÞæTš·>•Åß/¡4kÚhÌÆ5W^FB|n{µkÕâ½·æ°ùÏ?øîë¹ü±â;Ïÿ˜N;˜÷v ”²£–AµfQÍñìPÃ5h×w,'$8ôïgþ¹6¬í‰¬Ïƒþ{G€Î§u c/uÿö †]&ßz]RÊQÀBî»m*ñq± 4zZyÔŸÚwvjës$€¡›J)Ûž˜˜®š8!,‚óbÀк]NƹHÊ{£nj8 1L~‚_õ T/ß*ïØ³ö*m³¿ `è@ÃBïØŒ``-„ÈB” ·;·Ÿ,ˆ(7Pùë´Ú_}„wåµ9B³3«\èeQaM¶*#°(…½¸ àÚk'“œœUC!m4! E8Qoñh(L·3£Ë¯€åWÑŽõ;ÜxíDâŒzo†µ¡Cô}HÝk|þÛy³v6–’ž v€ÃhTòÂ'ñÀ8€ñãÇ)‘gÅ­issr4äb–þ¸)%G³²¸ÿ¡GKI6Dާ§Wë¡Ìy÷c ‹Š¨V­“'OæÅ_ ²S®§e”±Ñ¯gP«*„pª27«%¡]öÝ¡ߢÜ«àOjj*_/˜Ë ý’>õµ=¥%ý÷:¶oc~¦¿ n’lœËØ v0;zôhð¦¹`°ùç:ŠùÓ{'¸,Ï€]Ã*Óî“ÓNmgË`æA€aÞ#¹¾81êÞoèsîYôêÑ58ÌÖ¬Û̃‡Í}oеóqRÒ™º4½P´qbê^:âœsÎaîܹT«VÍ.Ž <%Böº•½µkÕ0ر¼<:\va·Í9Ià×ßÞVM74܉,çTawÙY{à%ŒÒÿ¾ø0i©É`ˆé'I)3´çOM€Ëÿf©TˆCŸb©™™ùò,yì ^.…½ÕlÈïË¥JnæƒG¸dÒÍ<œi&g² íq¤Ç‡Eª<Òêª7Ь”ñžëo¿‹%%S~50íìüLšÙ¥. qrAšÊx8x€Í›6³wß^öïÛÏá#F3¾œc9à÷ÂhûþŸ»o§zµjQáÚŒò”²1p!;±våÕ‹|•¡Ëµ°:ºÞÂڽ׎µ¨´ÀÂ.ƒÜ ÄU­Z•)×N.¥‚øŠlkÉ@T`[3ËåÂhÞ,#9P…7Ú³+¿’HjÕHçÒ‘C™9û¿fÀ™-¥ôa”KR.„¹…`“‘Y uëVµ‘@F¥¶ÔÇŠ”ò Ýétrõ¤«Ë$àŽfM;ç­wض};111Œ3†Y³f±fí:ü~Ÿ‹‘­i£1W_q)³ß|'ØÓçúë¯GtŽºxÈêÕ©¥-@FC¾¾=»óГϣîQ²zÂE麚½X› «^Ó®›BãFJJtT`+¥$6ÖÃýwÜ@ÿ‹.¨®‚œíj¡×mQõ Sý­ˆÉÊÊ ÎÝçöèN•*UÈÌÌRÊBˆï(q2ÏÏX¸Ô3ØL]wNm×Ö–ÁJII¶2æþý„ íÄËS€±±1Ü}ÓduRÆÎ/]aî×ÔåyÌóVåÒ†Á(Ò’tæ:Pã†ìcÙøý>DðºBÀ2`˜”€—X :ó8B M}æ5à”Ç1Öl:¿Ç/17æƒ> >>>ê«h–?œy¶àá”V-q¹\ø|>–þ¸œ ÏT6a·Ý9,^² €.§w,3x à¡,ÀËÜÇií[ñÆs2jÒ-ääæ'c¥”3´9Æ:¢”Kmܲñ×ÞÊÖ»Íg#ÛHK=¾+2$Þ‹fâSiµ®äN ü™‘4&•\ÒªØíÆf›·l¡ãéÍ3¥þœvj{.¿ìR˯¸è>:Ka—EÅNOníÊ[„Ñ,Ig0t‘ga-Š,ƒLïìz2€ }vJ)[¡¬io¾éF’““)›†"<0çižª¡h˜QŸÄÄ7ÌõK/ÃyEÛöš+.áµ·> ¨¨È©l-³1|þÝRÊõû~à”ä K€K–tæu !ô`Êê0¥g>*ëä¤iãúôéCÆ ƒ×®¢Ö´Ë~4JR ÄðáÙ5kEEE’ ‚œhÖ´D8nÝÚµèÔ±?üøÕ«Wçšk® Ñ^\;a¬‘AV€@"4oÚˆúõê°sפ”U„ûmakÆÜdÈ´P›ÿVÅ(· wÏž%:†à«$Èmߦ©)ÉdeÚù FÓH¯²Y¶–˜ß1ˆ9zôhðȇ âÕ×^h,U1û°/#}Ÿ‡ªU­Â)-›qàÐaòòòÈËË'7/ŸÂ¢BŠ ‹(özââI¯’FíšÕ‰‹‹ù[µ=ÏîÌ¥ äµw?CÇ·Ø£5ÂŒ.N qãQ+pÏBÜ+¥¼èýòå¢ËÙ½˜xùeL¾êrª§W-¥Sw¸ÛT `éŠ_xøé™üòûêàñ…¦qž0(Ф c)‹"0•ºÁ?0,¨Ños³M§à{5eü4lØ-›Öã-.&55—Ói×lâ• D” lDäe,ví©ž6ŸPážÕ†ÖšÙ«Ôè5{aj/ú}î¿ï^¥;(Kéÿ`ó¼Ò·5jËZ"|‡ÛN7Š9ï~L p©9£6‡Ãa Ã’1ĩ̀0º%;£d¿­YðÊL¯šó(@Ô¬YÓóþÖ´©©©dggýÔ\ãñxJM4Ø3Æ1ž|á%Š‹½Ô¨QƒI“&…°“¯¼D¹ Aª)  qv×Î&ÀHTwPhŒ”®#³H=A¥ ºËŰŭøégZ4kR¢5±€í;wqäh–9?¨1£z.Äj í±0Œyíºžy ؾ}ªLê–aEÍ• ¸0ƒéSÚ´nYcS­Š$'¨ç5Û•~:¥”§Ýn:åLd¿­ú“¢"ó+짤C¸ùL ÂûJYEžRc.BõòX¿a#=zõçîÛnâ¼î]ñ¸ìÛ»—9oÀó¯¼ÏèÉtL±p-¦Yú¢ÏVkÌŠ˜fÒà ÃáàÆo,-pàxJ„¤”lÞ¼™/çÍgÅO¿pàÀò Râr9q»Ü¸ÝnÜ7·ËdÔÈËËç“ÏçrÙè”GØmŽó?7ܹŽd¥I»®”ç±t»Ý4ʨG®¹tÄ5¨WnÖÆîÚé·WJÉ WaÞÂ8p8Ó…aGü¥¨Zb5ýåÓT*±À¸¬ó– p/BÌT`ýÒ‚‚‚ä§ŸŸÎŒWf3x@.ØŸ®gœNrbbh¹sÕ0L.¶mßÉü…‹ùð³ù¬Y·Q?¶_‘OIi£_Å„¦s”ãy5핵t4Ì-ôßÎ`è¨Ñ.æPAt`¸\®O¦¦¤hH1rŸ)YƉøKlh)ï1ì©n+‹a'ÞÓE|>;äZ™FרDà!€3ÎèÂð‹.âDh(ÊZì5þ@€·ÞýF 8³óiöÛ¹ŸG´ŽßÔ£Wn,Xô=RÊd!Ä~)¥pWO¯Æ<À~Âçó¾Âçó%atKv¿atŽuj¨Ë†ÅÐKO*Û"alnà"€Q£Fâr¹ÊlMëóù(..Æãq+]…6¤å.G Î1€!Úw9”ÅšÖê}¾uûNÞûès€`Ðd²Ã÷¥^íšAkZ)DÐèÒ±N§¿ß/0ܤ²#°On"»ùOp&°Xœ÷äÓÏ2ôüÄÇÆ¥Rº›‘ ðøó/› ¹Pû®f “Õ¤@¤³>¬9µHÁ˜Q#yàÿF†%BˆbŪ˜s¯Çò2AGS€¶­[…ƨÚ7¬Q=]ÿÎ jÞ–D¶†öW¢]ë Ø›Pu±dÅo«Ìýe A±ú®ð+ý…õúúm’K¨ }†`:˜•Û¶}'ã&^‹Ûå"&6†¼¼|=ÐÍQÂÖ€6D (}QŽ_Ö…ÂtèÐ6mÚDa/*^"$¥dÑ·‹yøÑÇYòÃR*‚»ß}ÿ#ÆŽQ.a7ÀÊ?Ö°}ç®ÐõEûq:8ÕkDPd€Ìà×ëeæ­lØ´•Ùo}ÀÔ c™2q¬ŠG^D^Ö~ ‰ññ\1z>3 •¤úÉÐZï»5ÁY)l²ÿ"ÂÒ!~v©nè] =ï}ø)ï}ø)n·‹¦Ѹa5ªW#!>¯×˱œvîÚÃúM[9¨%A4Ö§‹0ð®šjš ÐK›çëß 0,ÈØzƒjÒ„36îNe°-Kߌ㵡•eÚwÈ;V€a2¬Â“³k´r2”GY­ §M\.O?ñ8Â!*Ô‡¢üŠÒ€Hd]„hùnÉ2¦Üt'ÉIIlX¹¤Äõ̪·(´Øßñc†±`Ñ÷PâE¨½ÿÀAñëo¿3{Æ3¬Z³†k®¿Õk×  »âO5^ì\sÜXŒÊ¶@˜™ÎÎå.Œ9ªLÖ´G23¹þÆ›˜7yyy¤¤¤P¯^=7lHËÍ©S»&+WþfééFàX\\ÌÏ¿üJzµjdeg³wï>vìÜÅÞ}û9vì‡æM3føPbccÂŽûäs/áõz©U«W]u3fÌàÀxÜn&_>ÊJuaŠ»¥ª\JR5-•ÆõÙ¸e› (Í2©H%n‘š¼ý“÷QÚÀ3›6mv1†—_xšZ5Òƒ™Ýüü|xô>(é¿°A Ô]ÚwÖ€O[Ž_¬”²•b­ymT+À`ØA§€Q"©÷I•ÔbbbÌ`0A¢á6¦°»;ÐLÁ]7NÆ©ú HY’ ÿeåó ¤LÉÊ^XK9üp!¤”ý€§gFÝZì;x˜"Ãh Hðú|on°ò¸Ø"„Ø ˆvI/}ݱÓþYGyÖ3úöí[êèªH‰ÐѬ£\síu|øÑÇÖ±*Z¶lÉÈ‘#ñz½x‹‹(**¢¸¨ââb?ä‹/ç³\15ª§—IØmþmÁ7†¾¥~ýúÌœ9“¸¸8HLL$11‘˜n§—CøzѾY´ØLÈy))7t{ÅcÏ¿ÂÆ-Ûxîá»4Á± ðŠÒL0Òµ»°ÿ¹<1c…EÅ. ¹Š9üRJÓpAº]ª™¤ ºž,Bï(½…ì~ …¿(f¶›YEàõúøsýFþ\¿±Ìs¥beøÜ)M“J©mkvu!/[WªR)× 8¦´¿È85d§ŒŠÛÐF>ô_oC[m‘ÅzvΠׂ֗f+s½ˆì…v_0áÊ+èpj‡2j(þÊæyM£½ý*È9–“ƒ·Ø‹Çí.À)Mø}V—Ói”QŸ­Ûw"¥LB–RRæ¼õ.·^7‰VÍ3eâ8®œr %&ñŽdV)«Ë”N»:ÌIíD'5fÌ@퀦M›jã$º5í½÷ÝÏÛï¼ÜßáÃG8|ø+Wþv¬AƒѺukÈËË£÷À¡¥žß’eËymÆ3!ÌÆ–­Ûùà“/¸é¦›‚}/bcc¨Z%U œ›)µ†thÛŠ[¶¡± Ñ]XʤÜvêDºI…d<…«¤”O7,ùa™èÐ¥;çvïFFýº9’É¢ï~ààá#æg÷ !¶®[°U&‹qÔxöö‡1JõêÖ¡_Ÿ^|>wbïÚu±2fó¸æ`4umÔ°AD‡0—ËIÍêéìØµ)e¼Ò7ìÀF‰Û(€žÝÏäÌNÂØ ¯×Çê’²‰Ã:{¡ìfPbe‚Š”ò `:àjѤM3ê±}÷>€b!Äÿ©±ÓH±b> O»‹Ð¬båb“Q"¢ëÿ ,I/«Ð´¬ ¨C±× N;í´RØ‹òë öíÝG¿ç³n}PÛâBx¥”ˆq:¼úê«tî܉€ß‡ôûøýÆÿ>~ÙYGi²h1……,þ~)Ç]P.KÙ%Ë~2ç2š5kF£FJ¾[À8VÀç%à÷ð;˜þÜ“t>ë<23"¥t!ŠÌ`T• Æ|:o!ÉII<|÷ vcÕ©¯‘–’D—SÛ°øÇ_ê Áf)ÍR鵨£š/·º÷'Ú`âx€E$W¾x)eà4 mVc ÇÆã>¼ê!ãÔXY©J¢¤ÍyZYQ§eÎwZæF4æ£RĆÿ8Àо´_]È€vÃÚápPk÷è,EÙmhË]VeëØV*ø±ÙÿXϧ¨²g ìtjQˆ­S§ÿ¹÷îˆZ‡ é-* ü¡±Ë©¡È>fÔëcµ bî2œ`ø)`Ô°A<ðø ¨IΉQûrèðÖ¬ý“Ö-›ðÛAᘹÅH)‹•+¶Ú023H0oÛ _úÐ`È!öé Âc5kÖгgOn¸áöîÝ˶mÛØ¸q#ëÖ­ãÀ¤¦¦2dÈF…Ãáàé§Ÿæúë¯''''ÄÅÅQ·n]êÔ©CJJ [¶laõêÕ|óí÷H)C"ù'ž›‰×ç£víÚLœ8‘3f°ÿ~>s™÷Íw ÔÓ>Ðhݲï~<×¼×®2¾N4¸›Ó„sTÆojAAAòÜù_Gú|¡L—2̵Âû„ëa$\5á `T7&±G—R1”ˆÇ›Ô«[‡„ø¸Ö"¬êÕ­ÍŽ]»MC¯C·²ç5N'·N8«óݱkÙÇÌñÆQJœ©$2D\mÇ^˜k@SàU ¶^íÜ2鮼ù!ópŸcØÞ& !¶J)Íþ"1Ñ-p‹¤ &ÀÈ#´c¸2t&£Lϵ”²–:š6m\P!awnn.ƒ.¸P…*@– Øpá…Ò©Óé*À÷…‹€ß‡Ï[Ìó3^š?ü¸â'.z¾í9Ù¹Bù~V¯]ÀŽ;èÔ©o¼ñýû÷GÊ@Ì%À¦FzUî¼y×ßz7* '5àV¤Î=þÍ÷?åœnèsN×ãtÔ ½v]:F A¼R†%>‹8‰ûah‰+k2À%¥¬©’Y½°ëðìñ¸iÒ¸1-š7£aFujפzz:©)ÉÄÅÆàr¹ðü’“›CfæQ<Äž={Ù¶c'7oaÏÞýfï,¡;£wO±J4ìPÏšÓf.´ÚÐû-Œ§C_Ó©tBËŸ]'òàR+T.áoË3ððz‹ÉÌŸ¿ßÂp‡qºHNNbPÿ>Ê)¦L¢m¥—eÙÁ®¾5Ò+˜e–Rú9I~"€ —”ò ‹‚gŸ~’eKkÄÿýŠãÝöO• :HUPoíûÔ—‡Ÿž‰Ïç@¼"Wç?® UÓ â<Á†”1*{Ì0j¶Ÿ> sæµÉŠ´Ì鉢¼u÷¨†Ó00Ìn:’5mçÎXºìG¾ûî;jÖ¬ÉÀ¹øâ‹©_¿>III¡z õsÅW0fÌöíÛ‡×ë%99™jÕªár¹(..æ›o¾aêÔ©4oÚ8Øó)Ù´e~ö%7ß|3RJüqcs8ð¼óñ—\8 êƒ%k²H BЬq†yJæbâB¸lܤNx? Uîª'ˆô9­Xñð“*ßi§þ&€hÚ´)›6mh$¥ÌBl63ÜZ–Ï 2ÐÆá#G(**"ÆãI$õ8»íÚ¶áU«u±·CsŒböL€!Ì1Ö¢YS[öBã2ê×å‡ÒÁ¾ÓÈ@J‡voâQƒ ö¦eó&ª¥DhY}zU@o–€ ~íÿæYVfi©)I¼òØm<ðÌl³ ç!Ä|5†Àò«Ì´Ô®§Y^¨›%@µšèL†ÎªûËÁ`5BP«V­Hƒ‹òê @r÷=÷±Z%S¬UG8®¹zŸW1F oþ?/7‡+¯™Æç_.qÕš?-ɧèbóý’§Œ#Ž9 Aƒ¸óÎ;¹óŽÛAúƒ`& ›QáÉ禳{Ï>3.+Юm¦1<1sÏêl^Y^a·ÝµkÖ¨¾ù[,%ú¢B NJY¨ú¤FŽ“ ±‚ 3¸?˜¨€…[û Ô§ëgpæéо-š7#.66èÈ&MÛm´ÝÖ÷t" 7/­Û¶³jí:~ÿc +W­åÏ ),,B]ÛÚ@m)e{àO!Är5Ì9ËÊJKœ¦Ñ5ÁNTÂÐU‰Æ‚9ú&ÀÐŒuëÖ1æÒqìÞ³‡ììlS X®Ÿ§}ËÇŽ‰ *ìKŽC›öQigùg÷:¾Æ•àÙ&TwѸ`äˆá 8àohžW> E$Ð^º¾­ Xòã •Ý𼿠ўuÛêéUè~æé,üþG³4#W-ñËVü£/¤W÷3xzæë$ “b‰b0¼6 Cv5Ýr ó¿sÜœ––FçN(«5íÍ7\Ï7 ±jÕjÞ|óMÞ|óÍà¢Q£F ÚµkÇ!C¸ôÒK‰‹3œý~?ßÿ=+V¬`Û¶mdff’““Cff&[·nå˜bªŸ:uê0aÂf̘Á¾}ûp»]ÜzÝÕÜÿس¬øm5[wì¢QƒºAkZLT›eRQ¯¶~ â,Y,W”ßC:zÿS‹‰2ô`XgÊ2…Ÿߪ~.·ëÔ©CÆ ùꫯNU aŸvÞBá°|W©X+Õ¾½ûhQ?äþ !˜6å.»â*0ô;ÕUf½ˆ¡Äà Ý–‰â>’Æ ˜_Ýd˜|–·Ò ¥xÜn®¿z|ès®›õ›¶šûÊÑî!`]tp#¥|¨ïñ¸™þ7±ÿà–üô‡¹ÏwÕv‹Èݧ/Ih‰®ÙìUw.´ŽXK¤¬‰‰²0“‰`8%Å+\R’ IDATÄÄØ°eÓXK„¶oßÁK¯Ì2·0O Ó€zõêÒÅd/4`a‚‹á—^Á÷?üˆv½[·mc,‰Òt/S9£©Aì•R:€ã¾ûîcýº?™õÒt\Nôû‘Š=‘~?n§ƒ‘CÏç±gg€Q:ãU‰$óúênݱ‹ù —0°w »í´UKz¼8ÔØÎ‚)ƒÏеÜÖ®ƒ}eNBõQw‚t|<}ûô¦_ß>œ{NêÖ©Mˆ‰ˆ aQ`ðR–>å&ÄÇÓ¦UKZ·jÎÈa烔±jÍ:¾_ºœ/¿þ–Uk×£,é;J)Û¿ !Þ÷æ×« 3é#Ð8!Z]W%ÎCÝÄå?ýÌê5kì‘QÒK\\ž.§‡Ó‰ ø|>ââbéЮm„È©b6´eÑfüÛ~"¸F%/±õêÕå©'+Uq¢šç•UC±rÕvîÚ@bbn·ë/k´gÝö½Yøýf†É¥ùøe?ýF~^.§4kÈè û1烹-Uï"Õ4Ë (ô²;«X3X¾X „®gŸ}6N§‹0A%Ö…Òø7-5…o¿žÏ«³_ç£?áÕ«)((DJÉþýûÙ¿? ,àý÷ß端¾Âápp饗òÖ[oE;/:uìÀ½wÜHçÓN 7má#eGyë­·†°CõãÊËF0ãÕ79t$“ç~Ãõ“.E·¦µôªix†êÚ:륙¤¥¦F ¶Oló¼²j(fÏy7ø~­šÕò[m´gDzõ8“¸ØX ‘RÆ A¾”F}ÿüEß3ð¼nÜuÝådÍbî¥ͥ”iÀ'*ûhµ¬-­/Ɖí™ú‹Ž]»žFüE²¦5ÿ›Ïäk®bòÕñù¼ìÙ³—»v±aã&¾úz!ŸÏÇÂ… Y±bmÚ´áý÷ß qà NiÕ‚´ÔIKM¡~Ý:œÚ¾ 6[€ÇŸßï§^½z\qÅÌœ9“½{÷âr¹˜:i1nƒûõdÖ›ïñéüEL½r4N§#”¹„DHÛå$-%…‡ƒÄƒNNm4í‡íÊ£Nt¹B$}Y°ÔI±BJ9Ìï÷§½÷Þ{|üñÇtëÖìììXà<à#Ö0ŠU¿k÷î°5\.§“Ûn¾žqW^ FCÊÚ}&|””J ÷¨D`dDe/@Ò¢Yc}Œ&hʥ؋v@BLŒ‡©ÇF¯[wì2Ë·°!û¾æ\2 0qÌ.èÓEKfÕ:³ÊŒ÷Õœk>×fž^VPÚ„"B{0™¯H ¾ìô[å}¶ Á°bU€ TðP}Á× š»²v€ŒÍšð{C˜ é÷ñÑ'Ÿó±*sŽªòªx0ì®ó HLH«p°;§´Ôë3áS #ˆûä³/xà¡G¹óæiÈ€b1“ѬQ}’É1:ÔçL§H¸Nøñ—?ðùýAÛÚò »­×® °È…8J)]Ê`Âu2°6àÂ%¥<xCgBûöí¹ï?÷Ò¿__u #†ÈYdiç²þG‚ ÒÆr9t‹&2¸ï¶ë˜6i3_{›™¯½C~AA0L%Kfcè4ôµÜ…ÕöZ’ü“ £2ÖÏ9§+ôÔÜ.7£FgÔÈáôîՓާv #£@€£Ç2rÌel۾݆Á²Öi—Õ,͆V–¦ÍøwÑzÚ%¥¼pÛ-7Ñ£ûÙ¡*=ØvЕ–I°d[©o‹Ý¶Ú* éW KÛ6ì¼ôÏ–¼¿yK‰k@ÓFá@Äf?AKÈ÷ ß6!.Žsº•°¹”ôà…Yo“••…ÉwNf¨Á¦&¤:0£V[ØÜ=ûd}ÿDއ”²š 9õÔŽ¥>‡ÒšIÔ®¡Óé¤~½ºt;£ ãÇŽá­×gQ³f V¯^d8ž{òaæÌšÎ³?ă÷ÞÎS¯æ¢ Ó¸aFØq7lÚÌ's燰=öêC£Œú€dèà~lÛ¹‡•«ÿ4îqÀ¬Ñ „Öí"©’–lÂmÜiç"bú}<á½))•²ZpçßÌ™3‡ºuë2gÎf/’ª@OJê…í2tæz`ÇÎDêSráùƒiצµ€uB˜ÀÂì§Æ˜CAÃúõ¢²uk×"9)ÑÜg’v/Üê¹<`ø¨S«fD¶­°¸˜½û©`ˆ"=`“2bÇlTã¾kÎëz×_9 <ÿÚæAÖ !¶(›_F“x¤&äB˜Z‹\u?Ži¯õ÷\Â5Vç9Óå(Pƀś™fP|èÐ!-@¦b»UpøçŸëÌàÒKxßœ”HÀçÅïó]œ¼ÅE<üäs:sqPûžH)U9vda·Î>WO¯†ÛíÖg(¿ÇÔ5å©g_dý††§CP«fºyM†–IwY`$–vïÝ_&ð@HM†½6ãÀ¡Lýù5b0iûÜÙÍ?• `Ø”E¹¥”÷s€*ÉÉɼðüóü´b9ú÷·É¥Ù€i¹¾#;f¤”=šUvöào°¡ý7WGÙY«)Õ#½zöäöÛn‰ ‹°«}¦”m‰ u° Ô#o‹ h‘Q¶ È7ßý ÅZö­u«æö &¢x=´DÛ$}Ï;+Ȫ.!8°nÓ6Îr%“n{˜ûžy•c9¹ÔHO3·MN/ÃóVY 󜚙CªeKûÞØ$ÂÖ›g\8 T0¹aÃbbb‚ZŒ£YÙØ Çíšî=öÌ üþõë×çòË/ç•W^aÏž=¸\N®»êòà±Û·mIU»ÿÉüo D)ÉI:»¬„Ä!ePvÖ…•áJBûüè,†Ù04_ñ5àÍÎÎæ¿o¾ÉÀxäá‡Í}4zhA§Ã&SçF¹¥íܹ+<¯£î¿ÓéàÿÜiêøª(Ç¥ áj†eM€øø8ªVM‹Ê^H)q:œÒ²¹y®‰–ójÄ»Ý.®¹bLTö"33‹‚ÂB=ãî´Ü»0pÔnœM2êñÄÝSB°ä§ßY½~‹ù¹¹ªÇ8EÉúnZklEž9TP8ªðlÛ¶­TðPjÇn)ÉË˧  À|ÇÎ@Ÿeëóâ÷ÿ®øù6ÖÐ!öhß׆C G5ãŒ$ìÖ¿ƒÓé f`€;£\5ðy½^^˜ñŠÆ^”0q%º”áö°¹æ›{ö(x]ËìAÑæí»ô±´p6½´y¦R–FYÀEŒ”rp :wîÌï+W2iÒU¡=Ö"€Ú²ŒŸ,CI•í¯¡ïÕ¬‘ÎÌ'îã•§¤jZ* 8Œ“RÒ,@à 2b, ÃùOƒŒÊÈ`8Ì»Ô^b1³2§HYË•D” *¦Í('Ú¨ôoRÊÀk€§IãÆ¼ñÚ+8β‰¹¥Ô:6GÚ¶$0—È Åh´mí@KcPJC¼é¯¼Áw%µºtí|z EÙ@‹ h·•RrN·Îf¦×«@Kæäæñõ’Ÿy듯yçóEì;˜©ÂÝFfT–Ö\¨2ÐÝæâÐ 55•š5ª—jMkÿìY¯kÉõn”aü;vìÀãñ–f²ƒ…î;BO„õ7óé\Ãiæ¶ÛnCJÉ£> ÀúиQƒàxrÁùý{°àÛeø¼^ P˜@Cý? )!^:˜pD`/*H´µ«µ0f`»ø`úŒéøý¦NÂUƒv®1Ä—B ”í¬3¶ïع˺r”º`Ðs¿­0zAĪ8£ÉÕÓ«iM2£Œ- §¶kmnµˆ·:¨õêÔŠªÚðPHŽŒð~¦®ÅÜKœ”òV 9%)‘ßBbB y鿟šûÙ lWçâªÏ…,}^í^äk€By€a._.-Øðûï¿—°Ûü€Ûí²ŽÅ ÈRšçN~^±ñò¯y_/2?W€Q‚dó ĤĨÂnë9Õ­]KŸÏŒó(Ñ¿e|öå ò-¶µ¾ ›j2N„ÛÕ³\¶Tðмíµ¿¯ :šA°1Oy^•’½R>‡êG3zôh/^L†•yDeÙªO´meDÝ…:Ê(ùnijZñI¿žg³àýYœÖ¾µ9®zK)'*‘¤æ³21æ}eéñ¿ 0„åúÛÝ —ËD£ªËjÙAD)‚ÑŠ‚†“ai`ãPz:žœœÌï½M•´*(°fò£é"JsKɓϼ@ÝÆ§ðøSÏEÝVQuVKBõû7ß.á¾GžùîõëÕ¡b0ì¾C(h‘¥ ¿#¹J¥%'ѱ]+óc±Æuç°M-؇UàuØ ,‚׬ .=ái·H@ãD?ÿu4hÁîב­ií™ÈÉ…:u ·¦Ý»w#„ nݺÆï{÷ÚÎ Öã>öÌt 4`ܸqÌš5‹Ý»wãr:™võåa‹ÑÀ>ç"„àÀ¡#üºÊ(“"^"%e€¸’.áŽr¾Nô‚¯ëüQFðÀÚµòÝwß!€§Ÿz’~ý‚{a4¹2Á…µYd¦‘ßnË^èËÄ#ÜCZj*êóÕ¯üç«Ô©U³TöÂü§SÛ™G0p7Pˆs8\=~4¥i…gféYjlÀaˆSJ9hàt:xòÞëȨ[ )aíÆ­,ÿ-h|²ÈrNºÀÛ¯J‡LÍ…Ù×"—ð>„k.|6 Æñü¬Xºti©à¡4mRâñx¨Q½zXPoe1233KÊ£T©ÔŠ_VšŸËÔ•¡ft+V¬`×î=‘5[jßë6lâ³/¿ a/yäÎЛ&2Âιy“F4ʨǖm;ùú»åtjJI/5ÕÃ}‡ðE!ÒBQYJô©¨ì¦âw)åV ÑôÓéÑ£;.—‹·ÞœC¯Þ}ùå×_p!'¥\¯Æª®Êص{^¯W¹àHÛ$Q­š5xäÁ{˜xÍ4¤ÑÐê`µZû’j¨ñP{!.§w0û›Œò„"  W®4iÔ zÃW)9–“«ŒHâ|³1]?T™ãõFÓ½KIGû×ß “)#£´ÅìÔâ'œÁО¨°² x<ÞF¯R1Xý¿ÿþ{ ‰ñw㸶mZóõÂE¨Ž÷VW³b“¡Ô{`±qs°<ê(%‚X‡9Ç6mÒ¸Ta·µ6³QF°¯„“ðF‰æuöüòֶۜEЪÖïõ’¥š/ª{¢¬€¥ÐÎÉ>Õ«q<ÂnsË_þø“윧Ó·½Å·Ká¶kÇ!„ÞC›î¹ÝN;vÉ ("-•Á0ÏÝg3) mñû˜úùç_°{÷.êÖ©Cbb"Ÿ|ü=ÎíÉæÍ[\å ³¥”ÛÔâ FýpŽ”ŸÏÇŽ;iܨaDà)ưhñÞyÿ#€æ%A{0J ¨^­j™Ø ¤$-%™¶­[²rÕZ¤”ÉBŸ¹ŸIãG…‚ÙËì’ •—_`¶¥'RÊ6@€=»1aôÁSÌÌÊæËEËÌý,WÌ…Kh¬…y uŽÅ6L’Þ[×X5 !÷±‚àBßÇ ••åXüí·ôéÛ‡² »í™EèyÞ¹|½p”taÖR1ÀÞ}ûƒ¼eÀÇ¡C‡ÈÉÍ3wxLfÃDÚµnEiÂn«^¤EÓÆ:À„wbÏ<6o ±ªÍËË#/¯ÀœU£@°¬­ÄÅÆR¯vãv›×î‹o–šô"ƒÖÃåéÑU—›±mAA3gÎü_Oî¶Å€¯QÚŠhàâ]'N€¡²·Üv'{öì!++‹¬¬l²² ±\@õ»8žŸµë60ëÅ'#³¶ó¤Ð‹ãO0ø‘RŽjÇÄÄðèCªTÚ_Ð<Ï&`nÇ›¯Ngì•×бC;[pQ‘F{â–»ä‹ õ»ë7Ÿ›ë&'-%¹ÜÍó*ÚX°UóƤ&'‘u,)‰‚\!HYÒ‘[áWuÇ>Jj½'ÈÐÆQ@•*i”Õš6*{aYc«W«†¹ø;vŒ¦M›†”{l°ü¹~#_Ìû€Ûo¿)%+òà~=iÚ¤axí³úõܳÎ`ú«o±mçvíÙG½:5¸0†1VÜ.—•Á(Oô 6 ÷"e]‚I1_J9¾¸¸8iÖ¬W¹çQ½_|ö)çöìÍÞ½{c€Kפ”{U.ÃAI¿ ±ió7Ê(x“ÜϺõøcõZáö$UÆŸjU«”‰½0ÿܳ{WV®Z ¤›hߺ%:´-•½@Jü~¿u½sØ€ÈZÀ0ÀѺycºíê’òH>ür1EÅ^Tð¼ˆÕDÝ&c ´'‰0ò-ì…µC°m-Çq6ë2-rwH)×­þûÖ[ôéÓÛ6P/O㸋† á®{þC±×ëR&*×&s<ìÙ·Oi0Œ þàÁƒz•A>¡cÎètší9E@mOi²”th÷k×·`çî½!ïÃGŽà-aÈs@z5êDuAoߺ¹Ò U\ØmÝùßþ¨?áÝãK{Uƈçeµ†ÄnŠ¡ëºœ”Í¡Ï|ʼnN§“^=ϳL–d!’M›·²uÛö`.ÜfN Øü?åÿÖ2Tóß”h-–’õš€ªÄüÆ ûìó¹¼óî{eÛÃALŒ·ÛÛåÆårât/—ú×érât8q¹œxLóæ†3PVv6‡!½ZUÛã>úô‹¤¤aÆŒ;–Ù³g³sçNœNÓ®¾‚hNWÛŸBRb9¹yüøë*êÕ®aœžê!Õšàt:ìWi â„‹-m@†Ý"ª;¼d_C_ý·Þrs0hjÔ0ƒ/>û˜>}pèðáx`,ð¦”ò°b2*㜲yóèu^DöÂ|Œâãyûµÿgï½ã£¨öÿÿçÙ–^I€Ð„Þ›XPÅ‚ bCÅ^¸^±_±÷k×ëÇví^*/ˆJGEQQPé-ôJÒûÖóûcf6³³³%€°áûÛÇcHØÌîÎΜ9çýz¿Þï×ë]Î:<{öZU!¥´6 öBûÛ˜3Gòâëïjëg2Àu.ò&…c/$øý ŒŽEJ “"¥Äe·Èà­gï#!>¾QÔBúøb¶?é±A]bŒ™{½%l4Ï 0Ûü‹\õÒ, ×W_}EII Y-ZДÆncANëÖ\~Ùx>žò(½5Ås¡~G ‹àlhÀ*“;M„FWsÍs"ÉII?tPPb#Ò1µkÓš¶mZ³gï~TcGc`è(-«hðÞ£*C)ûÉ:Ýõ(åQ9£O?9jàî8g-ü™*…Á‘BaU¼†Í¿ž¯ ›;Áˆ¢H´;hô½‰GKH¤Qä!I¡oŽN¢Q}Io0è@Q¤êôhÙ2›¯fLóòiþjª€Êó¯üû-yâåü*òÐúž £ ®Ëð»±J÷7©õçèžÆðAŠ ãˆ?šƒ!ñ_ÄÎ]»ðz½¤§¥)[zªÿ÷Ô”d’S’INJ$Îáð‹€Õk×áõz< _ õ»Ñ Þ”n9!CÆMM´šÀRä !øÛÄB”#Á!™çEÑC±k÷^ë=þ\±ŠÁúqî9gqüÄÇÇ…-µµµ,Yú'ßÌ]À7s¿Õ7ÛI VeRÑ"#w^~›ÝzÐæyä÷=n@ÀÐZ™”Ge2.Ž7Ÿ¹œVY§ôÏÕùì,Øï'ßÕûE;Ïxν&÷¿ ó~‹¿\øI1[Jy[mmmâ|È=÷LnRcwàµQž{ð¾ÉLŸ1“Úº:«”²­b›z^] øG”——‘™šŒÏëÁëq‡ºwZŒ:m8I ‰&ãIOª›÷fœ>|OŽ´˼ ΀ï½ûüC»Nú ¤+`MNJdÜèÓ9”Æn%¹âã£ÿÍAÀ\˜7ÇëÁE(ÑÒ¤WG»OôòÎúïihÛ¦MãЫD-Úiû)ãJŸtîE3Pá2Y«=*«¥7‘42Iš„´Yiþgºc ` -á?Ê‘žžÆ3ÿ|Ü?Y»ƒ‚Ô¿•—•sæ˜ ñú|¬ýórZµ 1çE/CMo†>Í84õÚ —×™ú#¥O?›ÊÛï¾OCƒ“î½›‹.8?|¿…!jlJ…Óåäå×ßá•¿í×™_µfÿùäsâãéѽ+;v 33‡ÝŽÓ餤´Œí;v‘¿e®@™c‰Ò<]ƒbÖ“ X’’ùøíÿ#·CÛ&÷PDÚ7šÆoMIJGñ³cf‹„Y‰”ƒq´³Q†9 | |ÿ…–¦ÕŸÉII$%%Q]]þ}û8ùä“iÙ²%………lÙ¶‡š"^TÙ‹Î;ûÙ‹]»va±XøÇ¤ý;‡Sº:aÈ~\ò;Ë׿#}>¥ŒÂP"U]S§Ëbƒ†Æ>"Ø8j CÍ"š mqµ¢8{o‘R®¿ûÞû\tÁ¸€ó6p@f3“sϿҲ²D`<°@JY‚ÒGÁ¦M["²úk™×¹#³¦Êø+odûÎ](LYBxU2ÌbdÀ< IDAT_váX{NQ”»pì™j£rdö ™iz€a'Ðñ|0m±XxááÛÔ·{$æÌù‹µ×—å¢QôA»ÿµÊÌ“ÄMe(ù×*“èºR`.pñ¿ßø7·Þ:‰„øø&5vöíÛñÈC÷sÿC¤K)[Ñèà@AÁ^ÒztFz=8lL’ê¦.ÓQš÷¹âÒ‹ˆ¶±Ã1]|þh `8Ôìx½q~µX„¿Á[2u†{?UºûÚËÎ'=5ù»Aòý/¿³uçíCjk† ^+"­1 &TQÔ˜*ãýáÔͽnUì4VÃ/>¨Aeìy—tèÐÎ8/z Ÿ¥±ŠF9b§hx1—7€2,5áÓÔùág b0XUŒCd¤RgÝàtâv»)))!ZZÙ¤ËÜ—!B&ѤïÞLÁ…8^ÉüŒÄ"o½ý»ùV–¯XÉú øhʧižGDó¼u72jÌE<û¯W4p¡Õºz@Ñ _¹z-3¾žÃ{~Êï~ÈûÎW³ç³fýF=¸¨Š„Û…E(ªX-KJrŸ¾û Ç êÆ,hŒ748Y°x™öú-¢1ð±{á3a/Œ‰÷ÞÿzFŧ²S÷Þ½ûxÿýÿ˜êÆ·ˆÔ›qëÍ㜳ÏÔþÒE9Ìß´{Ï^ÕÃMzr‚þ½ãAZ¥$ G·.Œ>,à˜dŒ‡îÏÀ~½µ{¡•‚¹ýë» )!Þßà­”Hë†Î,Žãk›VÙÜ|Í¥ÝØ­WŸ×§wךÿÝ&›^"×m²nx›ƒa μ&÷…±?Éè£9Þ'tÉË 8ÊŒ¼N,‚ Ej ŸW©þÔ6½_M$3Ìp‰Ã#¶vÄ,Àð_˜&ô;èÿ¯-(ŽFÙGœNסU0 p"±Ç|ç·VKÜ `ðÀÔ××óÔ3Ï!¥äÔá§ðäðâ³OGiž'#4h뜵½>ÞzÿCFskÖmÐŽ§AQ*„(BìBìBìC©Ë-×ݸ(BˆÍBˆUBˆõê¾õRÊ,)eK@ä´nÉ—SÞá¤ãéj¡#õ—„7Ï‹ÆhÏø}ãããèÚ¹ƒö1q!‚·Pµž.—IÅ {QP§•©iZcðÙ¾­¢U¿sçN€F%©»ƒÞû…WßTÓ¼<®ºê*¦L™ÂŽ;öâ–C0*Ÿ+¥¤O.Øí6|>·ìÐy`4zbè‚ OhˆvvŠ©É& ÈÐú~J½^/}ü±¡Bùµ_¿¾|;o–æÀnNF•2.+/gßþýQ±úkÓ"3ƒÏ?x“Åó¿$«EFÔì…ö·´´æ}ñ³§¾Kï]ˆ¤¥?¦ömZë创”tE-Í™xÅL¼b\pl,^¶R_7¿[Pô¾¡Àœ±4JŸñü«Ù L’ »€yÏ?ÿ•••4¥±Û¬DHÁÞyƒAúksJ.Js´`ϾBÕÃEFj"q²&Yݯ%Àä;&aµX¢nì2PEðÀ]“´8Fu÷+üÄde¦¸yï-< OrY朓€4«ÕÊ‹O&%9ñ »µó4wÑ6lÞ¡g/À§4/×q‡ILÅb€ÔP-„ðª›GáB8… Bˆz!D¢VQ#„¨BT©[¥ºÕjÌVîÝtç=4¦ËÌH§ev–?ÖÖ>[wNŸoöÙºc¨Rÿ^£k­úÚõ»¸ÔïåQ?ë¨7âÇ>À8èñ¤<ôÃårý%2´‘®^”ߥ9—O  ½4€6mÛp äeåJ6öÌ3Nçî;n§{·.ÑíEaˆw ¤„˯ý÷?ò¤ŸµPoÈ2›ŸjU ±_±C±AÀj!Äru[#„بà£pH)»¢PÓœ4t0óg|L¿Þ=‚Ù…C0Ï3í·0"‹EŸîþ JP£·Isw¸f²X],jªªª‚²o+Mk¼ç;wêÀæÍŠ‹mçÎÀ±kwÀ X³vó.ò³ÐØ{qÎ#éÕ½+fÒ´fCjr²âò äoÝ¥3ÛSŽ¿¾®ž½ûh7”+$=ZÊ.–3úR>ýø¬æ|úÙTÅ,Õ8çJI·®]ø~Áôï§Í7þçuë6ú¸hŠ[¼ºo^§ èÛ«Éåz‰ I‚d)ÉU3í\}Éî›tu úžîµsùUJÔó¨™êé£|ºò(³ún½bÔ‘ @‚@¦âÀYXTÄ‹ÿzéãRSR˜ùÅg èßW+íT FaÑUªÖÃ&Èi™©]‡L)é0h@?ÆݤÆn³3bØP.>o´ö.mP˜p› *i—Ó2Àhoÿ2=«(%'­„<ò›8åøA‡ÜØít¹ø¿÷þkd/\†ÍâwcyüÈØ2ý’†¹Ó8ïèŒìA•.ù¨m•4–Jѯoë·4Íïhk@¿>þ’f« è73!ÕŒJu«Ð%EµMÛ§Ö„Ípš\#y´Ö÷˜vòÏ ƒ óˆ?.ÎAJJ ñqq቉ëyt½¡–x;4ûÞ )¥M»v»¶99Œ:m¤rgiånú C?Åúõ5fÿùh f%FƬÿ?/aø™ç1ÿÛE~‚J¡Õf×›QŽRÊJ)e¥„Jõ÷*)e•ŽvtJ);J){q»ûï¼™ÿ}ü&­³³0í‹0€!•;¸4"¦û‘^Ý:kß9Þdáö†a/Ìjûì3¶mÛ†œ½0ɤëÿг«rí¶ì,ð«h@#ÛN\nwãâ/ñ5NrM±67¥% ³_aa!sç/È êO_›69,œóãÎðþ«Ö¬m{uÙ]ö ÌH˜ ;V%œr í)jöœ'ŒãÑ»n LHéÆq½ÓÉOKýÎÓûtì…E÷fÝÆ-¨4êˆ2»²¥ÙŸ×^{íÛ·rHZ´Èdö—Ó9─5¶¨¤ Ÿ·ÑÍ»gçöÚßÛ v»=ý˜¢æÖÄÆn³czö±{èݳ€ÐYeH’ºvlëg/\N'e~U«d)d !¸ï¶¸þò x!á“ésÙ½·PÏ^˜ §ºž:C€ŒX,­f¼éÁE=æåIU†à¾%^ÈHNN¦[×.¦`" /T * ÔD€v,nÃù6zÓ˜G¹þxh,™2úÙ˜•LyÖúC¦ø…ú¤amˆNÝÉãñPW_Oee%¥e”–•ñÒsÿäáûï&11‘õ7±vÝÖ®W¶5ë7°výFÖoÜĆM›),:pP ‚܆¡ó˜mòV¤JJJ±X,Ìœ>•-Vs뤛ÂöP¸\n®»é–.ûƒÏ¦þÏ$ØnÜ×íróäó/qáåײo¡vÚ«MX‹Z#°0d´´ZJY#¥Œ—R:¢W®ÌýßGÜuË ØTéÐ`æÌû-dØþó~ Bô—È }»ååê'-+}f#œÞ‘®ÅŽæQ°wß¾€ëP¤iƒÔÌ’R]XXÈÞ½{i£*~ÔÖÕR£J¯Z³žùßýàg/„<óÌ3œ}úúôìF8iÚÀàSù_ç\% Ùµ§ÐÏ^håQ¬Þ¨ž¶) ¤lÌBéhocm,/öf,†¡UÕ~Ö|2eJà|oèeHNJbʇïñäãcW{‘­ù¦³òØ‹ð xd±óÏ:UU:T2Þ5QgÀh>ž~[¾–ŤO ¥´ÓŒ½ðê¤i=˜K^ öBö¼†ëÿ PZW_Ïä{ïo,<ã8ýµKOKcúÔO¸õæ‰þ„å÷K–óÒû_PYY…ÏëfHïÎkó“og`ÿ>Ñ7vŽÉØ›‘œ”Èçï¾L·¼ŽÚgtT¯}»wRz0¼jjkipj=Ætâããxñ±»™tÝ¥Q‡HÀ«¸¤Œ7?™¡}Fƒ½pNÙ¤êåŒc¹DJ†Hºû-€‹ “`>`ð ÄÅŮӺ¾‹ÇnàÄã5lêõ÷êØEW#Ø1Õ:€Qg¸®¡*ŽØ5‹E™Z¥ÉÛ Bâr¹™7{ö쥸¸˜%%”••QVVNEe%UUUTW×ÐàlÐ9vûôF:<õÜK?Üa·³ðë©ôéÕ=JAÄÞ ËÿFê`ÞôYüóϜެ mÛäD4Ï{ÿÃOذqã/g¾/’]» ¸é¶»ùí÷?ýxRQI£Y”þfm¤”Ný §s»–ª’‚¢‹o±ÙlLºñ*&ß:Q©“–Qšç£=mß¼ÜvXT‡=åj!¸‰ÍØ—aÌdˆXY,öìÔÇà MkÌ÷íÓ“ø¸8œN–,YB=Ô…—ʪ*’“yQí½èÚµ+W^y%S§NeË–- {qëDó÷&|ð™Û^2ûŠ•¤Ôùá·åëô‹¿HD2¾Ši# Ó¦Þ9À€o¿ûž}ûö“ÓºUÈëk‚»n¿…áÃNâãO?禮mµ?úìztéÈW\Ⱥü­Ü;éjúõìªKT˜³pßÿ²\ûµZ=ZÙ…öƃY ý‘VŽ 0õsRð>pßì9s˜=g.çŽ9',xˆ¦DH[ÏŸý磜6âî˜ü{öòŸ/æ3sá®7’í~å&.»xwÜ<1íŠÔØm8&³ÞŒ–Ù-˜ññ›\ûýü±bŸÕ¯ª®Áãq±jý¦ÎúŸ¯ñu}ztáÅÇ'Ó»{÷¦7v#áù·¦h*uR(A¬‘µðƒ •½0‚‹£Y^w(ì…nf{Xׄkêþ½FœrJÔåQ 9nð@✊ˆL¼ Œ÷¨>n©Õ ÍÓâ\Õ#ÍÖ}/ÁÍßGìÛF{ºÓùö»ïsÏ}üõ®ñEî͈\ ÓûODÆ"ÄïÍá1èóɧS™pÙx† Ñ=üׯ)JW9­¡ªšZêêëILP._mm®É×núz¢wÒuW]ÿ¸2H×›½¿—RÞér¹“¾˜>;nV‰ )<¨?ƒö3¿ö¦ì…Œ öB;¦n»ÎDÚÖœ½ðú¼ü´l•öIj\¿¢„* .äQºÏYe—b®”ò)eßÉ÷ÜÇÈS‡“”˜šÂw‹~ôOÆ£ÏE¿>½‚ø¹ó¿ãîÕz-@i<+'Ф¦^·ÕªàÂßô¤kTÓ&F!¥ œXÒRSxþ‰¸`ì™:€ðW˜ç5ÅX02Ài—Ó’5· N€úlL¤MOÇjZŽR&Õ~Ù²ßqÊɇEšÖ˜I¾ìâq¼ðòë”——sÓM7ùïÕ»v±O?ý4§ ?‰Aýõ*"ÁYN&hMOKi¼Y*khÓ²R fïWrØã•¡uÍFì^Ø@Ã,‹7½fí:Ö­_OŸÞ=›ÎNUö‚¨Ù‹èŽ·ño¿ü±Zû$½Y¡ö5BÉÒUb¡9׬6Þ¥²ùRÊ™À%¯ÿûM.»äbúöíucw¤!r¦};^{éY&ßq •ôíÝ+¸wî»19&}yÕñƒú1oÚ{L›9—~YÆ W\Äñƒû)ÁAU¡Â±6Ús~1›MÛwk‘s{aXGëM G¿Ä®)L¸~ž1ã†Éïš &¨ÂãÎ;·Qº8„{·™áÞ¹çœÉC?ƒÇ뵩êúª¤ÑX²¦õUxBÜ·f%Ρž;×-†ŒàVnQ¨¨¬dÏÞ½ì!3=-jfA›ŠJ*XòçZm—:B{š˜ÕÕU•C Je„H)H)³§Ï˜IŸ^=›{!ÿö ¿6öçÔ²­Ú=޹0-:ÊåÆcv!ÄÇRÊS\.Wë;þ1™oçÏVT±DÈ,Ëß¡}[Ú·k<4µ±;šÞ »ÍÆ•—œË%P؃ƒcm0^{öéMõ´õÒÈ^ø…*ÖT^Œ¹Á^ÌÍ7ß-i$šiÉ:”òT ½‚+.¿4"˜ð_o]ãwN«–œ:|ßýðRÊ,Õ—KÛ„êKÓ w”ó¼Œp^Ž<[³KP2´»ÃÏ8]Î(ÏxàãPÍv\.wÓݽCd1õã@Xı ,Œ'Ô+„Ø%„¸xÅ_B644PYU¥ ‰¢ãž¯½A¿>½(>PÌSÏ¿ÄÐSÎà˯çh7`°]5¿«2l•@…”RSW¨*„ª,ÔiRÊ{5pqÅøqÌúïèÔ±} Ìì!›çEÞ×ÌX02h tün­–ڨËa2buù€_–,ùÕï‡q¨Ò´fÁâä;&ñàä;hÕ2›N¹˜xÝ|ûÃb?{aµZyê©§8õä2°_“¥iõl›ÍŠÍ®äuê>És~Äíñ¢~ï:‚ó=(‚fí^b¿&ڸЅjö­~˜þåL|>ß±Ï^™½p¹]¬\·Yû´ýëNt&^nö⨗µD+Öª à-@þúÛR>þäÓC.Š&ËO8€ÒDðmyÕ¡‚óï(…þÏW> ®¾‚»ƒX paT$rÇHmÒ¸ ñð7Ãý!€ È@ż1TT¤¤ è¸îÊKµj~a6“Íl½6©ûÌŽ[·™>ŽÖ¹i#ÁjSú*¼^¯b¤ô³E)ð=ì6å4x½^|R61ò21&Âî6]Ç2ÈУðz!Älà')e' O½±|êDfZH)»âê&±uûv½Ûº¦‘^¢S~ hŠÒ5rû¥iUæ¢^?1ª¾wɇ'¼›k'\ÜxÛ±ŠÃ×øÝ2+C‡jXÓoVÄ«Ã§Ž‘ÅRJOƒÓi›=g..O´ Ü¡¤iÍ‹…{îœÄ?n» ¤äʉ·âóIºuëÆ„ øê«¯X»vm#{¦;”4­þs-Bø{²ÜnERû‹¹‹õÁc@€(Í} ÌæÄ`€¹d­XŒß¾c'+W¯fЀþ‡½ vÙ ™½X¿yµŠ<-B Âà"”Jœ' Ȉ•k¯£Mv!ÄÏRÊ_a<þOÎsYY™]"Dú_ÑØmò0€‡¦°6 /cÑ¿âb­Žh0c/hì[¬7¬¡úãf‘È8ÄÈS ô2FÜzóMŠâŸô…uï6OnKÎ<}]:wdëöH);!ŠQJ°RJ‡¡& õ›]Ý´’HÙÜæùØ5Ú3å!­‘Àçõ™,‘ÉI‰•†×ë C„ÎŒ…;VK#ƒ!rÀ7×`Á…Ò±øX ¬—R©ÌB °`ýÆ| \xPän¶Ñ¨ý¬wÖ4e-Ôª*kQ+¥ Ü$·ÈÌ`Ú‡opí—¨à"²…4ñ¡ðïk”¨Úá8Ž20l°>»I­¶ä‹¹‹5ƒ-©ŽY3 3ïÓ’…æQ4„Ö²b-P(¥ä«¯g&öB6[ö$Ë×lÒ>M;Wþ9Wš+G…*«;êuóQ² Bˆ·úÒÒ2žxê™YþèÁC¨,?‡ìØ-xà0€‡hY›Úúzž~íC²N4*Gù%Quà¢N—˜3–G9‰²¿Y(¥0šz” x°tîÔ‘‹.×$yÚ@E)°Z¬Ü9É/œ dÀDœº…š¡¦SòõÿŒ¨ƒé(OaBB<Ïüó1nùûDŽ:$”4](Ž4€›o¼†g½›Êf$dh#­¢aiê÷oŽì…1X˜ÌÔ Ìo"£ºhW U0±ø ˜ ¬PL­Ü)X¨àÂïn©îc.Îîìyr™3íN:ór¤HæyFó¼à}€Hûf¦§p€Ù ¤”f%QFÚ5VÇ‘xLXüÓϬ^½&àæ=iÚHA拯¾À^Ì™3‡+Vð[o \Jš M«ÿ0¯×‡Ï§$1êë|0}¡vúÅÜ*\ªšЈuMúPA&!‚L'ð#ÀW³æ(Ê7±È^pdØ ¬\ï/r™$sŒÃ€ÆÒ 0´ {ð_€>žÂŠU« àá`Y›7>šÎ¾¢-˜¨&¸±[¯Tdd0ôÍݱàŸr$Á…°J)G¢6w?pÿ½ªºe4`"´¢Ô%Œ¥g÷®Úµì*„ˆ× ãfú*Ks±T"%"Eð õ ”––P^QAeE%ÕÕÕT×TG§Ž¹¼ñö{Ô××ÓÐàÄérât:q9]¸=¼òÓ«ð)Ù‡ôIJ©DÁž}üúûŸX-l6‡ »ÝŽÃnÇn·1ö¬ÓÔ¯WHÖ"Ôÿ­VK4ß½9÷e˜QÞúzB­©X^)¥±!q™á&ÒŸ0ÿbª¾N¯:R"ëâ–R^ \ˆÁú2å—i‘™A½):Š¿¶ñ;ЄP†Ø7%9 £˜TFäÍL=#Ç‘VSþƒ”r·”²ÃcO<ÉÌÓ8TiÚPŠS«Ö¬cá÷‹ýì…Ífó³ÇÈÉ'ŒJ¢ $õÇèñ¸ýflñ IDAT"Ÿ~½ÈÏ^¨‘`!ýÌF¬•¾  ÔÏ ‹€Ë¶mÛÎÆüMôêÑ­IìG‚½ÁìÔ_Á^ø|’µ›¶kŸê.Bõç˜ö_íÀP'Y `ÚTcº”òL×Ûöþeþì™í`»Ãê¡ÀCpMÌÁöfpz3¶î,àÃ/fkŸZO êb(öÂÈ`èçœcž½Ðƒ ¥§—1pÀ&\:>,D#Okl·Ù¬<õÈ=\|ÕMH)S¤”yÀZ ^J¯ýfæ?â(êúÓ×ÂËW[3nÚ¼™á§Ae£ÑÚ,þeßýiLFà‚aµZ›ÈËD¾b7ëì%ÐÈÆbý‹¡”Ò­ËXÙ…~€!ƒji–©Ó96&D·”ò2 \Œv<¾ñ"II‰ÕCq¤Ìó0m½obBœ¿÷Hâ‹P@#½0´±äÞžž¿ð[¦Ï˜ÉÅŽ "IÓš–OúÙ ŸŸ½X°`Ë–-SÙ‹‰æA¦ž¡Š2+^SS‡×§$8ÖoÝÝA2…¡6c]t³b0 Af/‚bµ”²LJ™9gî|zöèÖ$ð(8{!{aò]ŠJÊ(*öû_¸víÔŸËÔ0­:aGa¤ßÿyɯ̙7Ÿ1£Ï>ÌÝ¡u0/}"滟~í#-‰áÓy^»ëTpaÖa luöBß§h“R>t±Ùl¼öò¿°Z­Hé QÈÓ¢c6´òªÃNàÒ Ïå¿3¾¥/µH½.ñ@¥iÆ5#ÀóÆ:ȈE€!Ì‚÷ªª*jjju¬€ÒÜí°ÛIJJ"11„„≋‹ÃápçÀaw(Ê-6+6« «Õâo²‰Äçõâõùü?=n.— —ÛËåÂãõ2~ܘÈ"¼T¦µÑhO4õû73C[ô,êä#(Ý[µ`*. ƒ0Tpbˆ¹TÐr‰.Îy ï¿ö<ññŽÃlžf߃5Ï‹r_mÁŠwرZjË5ca±¬" .$„˜/¥¼t×ä{~òIdggq°Ò´fàª5ëX``/4å¨ÁúrêÉ'’4­þ?%eÆïìÂß{áϲ1ÛèÔi§ ƒ¡—©=ØOä,Î;!“ïºíð±Ä0{aÒG²nÓvýG;õs¡Œ,e³ c€) €ÉJcÃ÷/RÊÕ@ÿ'žz޳Ï¥z xˆ¦¼J$¶7ƒ#ÜØýï+øù÷UÚÂkAìÁeRF娘cÀ3¸Ð¯‰6Õ#ëf€ÛoÄÐã†(à"˜aÀD(E©§¹‡¥¬`çî=`J ›SJéTMqM¸Rؘ¶]p‚jQ2˜•üJ]mii©¤$'“O|œÃP¿®¬Wz³½Ï§MÇårqÍ—šší™™ïÍúÿ½†)Ñ0Ñ\À†4úG¨Z[mâÓj µF&‹A'Ú«S’26Áúo@)åàï€8}Ä0þóúóÄÅ9»ED£=S Òt£=c¹þw›ÕŠÍfÃ¥dªÌÊŸ¡K£b½CŸ¡u !ž‘RN)))M¸ûÞùäƒwƒD“ºõh²ÑÚœñâ«o°‹-bÉ’% {qËD½ØXhø@²°ø€a Ž4š_7[tšcƒ7!æýýý3p«(>p€–YYA—ø Ø {A ° Éod¹Œ(Ñn±êÍÐ<ºL²ÆbÔÿ^]¿a£øræ7\rÑ8_cw¨ò*Bšîù|>UM(PŠ\KZr˜ÁCðÀ6gm¼^//¼5E?^ê14ÏKsö"œr”>°õq =Tp¡g.ºoÖþýûñÈCšƒ cy” ˜0c4´¿¤¥¤ðÞkÏsþ„©««Gq ÿpI)]:gïý/ÆùSá‹ÅùßÖ\ƒºvébô£ýf2´EŘtç½ v"sÛGÌãHÓ˜'Déa½&%RF×Èæþ†LT8vÃ¥‚ mÒ3kdÒ÷l˜•_}¼RÊ{Ë Ç âýן'ÎáéYñ—›ç5Ñhψ„ßW“W–`Ú9!CŠXú`ÓHw¡”JÜ>ýË™\|áùœ7f4¡êÖ#IÓêÿ¯°?š²ýûôdÔ©Ã8TiZý‡ïÞ[¨Ffì…¦¦\4çþ‹PµøS¹TJéôx½qß}ÿ#—_z‘9SÐDöBJ‰Ë墨øû ‹)*>@IieTVUSSSK]]= N'.·¯×‹”«Å‚Õj!Îá >ÎARR")I‰¤§¦‘žJv‹ ZfeÓ2›ä¤ y(ìò·íÒN—Û„•ðÐèÊ€1fƒCgw_c­”r)pâó/½Â…ãÎUªKc7x=^””R°w/{öøEÅ(-+§¼¼‚Šª*ªkj©­­¥¡Á‰ËåÆíñàó) G¡JOÛ¬Vìv;qq’HJJ$-5™ôÔT23ÒÈj‘AËä´ÊV¶–YØ6Ä¡4vëÀÆW ³eGž½pÞ­ÛÈ`47×îCz¦ß&¥Ìþdfdd0õÓOHLŒtínjy”™G†úúþ}zòÆ‹ÿäÆÛïÃëõ¥#o1—™ÅB }Ì¥úæÆÔ}nk>«‘!# £c”lƒòLuMuˆÂä½#•@D*º©ˆã¾¹±&‹D8p¡é»h”_ÓK±4…cÞßDý«ÍRO¶žÝºðñ[ÿ"1>ž&÷P4ɳ‚(LùÌ÷5í·ÐEAÑ6~ë˜1Ñ„-fÇ—:–LÕe„3¤”§}î¸û^NzÙY-MAÈ„½øùçŸùñGpÜuËDÅÄSÊC’¦ÕöÖþŒ´Wê LœÓèY 3Ñ]¼Ã%(ôÙù `50ôÛï)£ ì…”’òòrÖmØDþæ-lÚ²m;v²cg…ÅÅþFû¿â‘žšB»6­èؾ yÛÑ­SºwÉ%·mkÕ•::ö$›Õ€Ñp½CŠp CÆøõטKAp÷ø 8acþ&1wþBÆŽ>«ÉÝ>Ÿ—]»÷°fÝ6æo&ó¶nßÁÎÝ{¨­­;â_Ún³ÑºU:´¥KÇtíÜž]:Ñ-¯‰ ñDš°6êwv{|†€J¢(>ü Hn™Õ‚OÞù?ÒSS9hó¼(ö=øЦ5‰‡oü0„‡°Åz°©esê…/J)ß)**Ž¿ù¶;ùâ³Ð°íÁ(­Z»>ˆ½xòÉ'èݳg¸´¤4­þ’nÜâWÒ+þÁ…Æ^8 Ã"»èkæ™Edü ýañ/x=5Qcžñ÷¸=¬Y¿ß–ýÁËW±bõ öì#ÜiBç 3#Ìô4RSSHIJ$!!ø8v»ÍŸòù|x<œ. Njj먮©¥¢²Š²Š*ªªkçq ¢ªšŠªjÖåo ø¼ä¤zuíÌ€>ÝÜ·Cúõ -%)${QßàÒK4xKóR)oö"fÇFâKF5¨,Æj`À¿ßz—±£ÏŠ˜åwº\,_±Š%¿-céËY±j eåaÇCBB<­²³h™E‹Ì 2ÒÓHOK!9)‰ä¤Dâã”ÞN»Í†ÅbÁbøTéi—ÛƒÓ©¨WÖÔÖQS[GeUµ:F*9PRÆ’2ªjjñù|¸= öR°·Ÿ~[Þ”Y­téÔž½»3d@/Ž؇6­³FªKD}³ð' öÙ —ƒ¦4ê˜nì6ø\hÌEk`Ðßb±ðÎ[op棔¸p1i½rÆžêk¯¾ôpßÏãõú2€so¥”[Ô²pŸá>6öQjñ’[Çfø´ê£}Íb`ø” ÝÄ&1R9’ÉŸí#ÀTšPVa¾h ¢ykppMÞ16L íw‹.h06 Ût@ÃjFCš,–šÛæ@®Ãnç½×ž£CÛBúPDÛCaZº ˆÚ¾Z45"“±bX›KIž™t©XoÞnŸ·à[ž~þ%¾rTêBR*5Ê TVVR]]ó/½ŽÏç£k×®L˜0_ý•ï¿ÿP¤iøéWì6v» ‡ÝN|œƒÄ„xâHJL$ÎnC_‘<³átºØ´u§ºØ€ —” …\Dì¿h¶È"xîÐÎK€;JJKYµz-ƒö8Çû ™ÿí"¾ÿá'~^²”ʪ`…A‹ÅBÛ6­éÑ5¼N¹tÊí@ûv9´ËiM«–-HKMQ=7¥_¶Üérár:•2¯’ϰX,ØmV»èh¯CJœNJJËÙWXÌžýEìÞ³»÷²eGÛvPßद¶žßW­ç÷Uë…ÙîÕ­3§ íÏȓѷ{gÕ”UÐû‹ôL‹+Ká 4üóf¬ˆºR9c¾§‚–ü¶Œu6лg ¾†²²2æ.ü޹ó¿ã§_~¥º¦&èóâããèÖ%žÝ»Ò-¯;v ·C;Úæ´&3#Í_FW\RBIIå•TVVQS[Km\.—âi#}X„Àjµøçˆ¤¤DZeg‘–šLFZ*-2Ói‘‘¦$%ÔÔÖRX|€Ý{ Ùµg/ÛwíaëŽÝäoÝIiY¯—ü­;Éߺ“ÿ~½€NÚ0ü„AŒ:e(Cû÷Âf³ê–ïMýF?NÂÊÒš ciT³U§ .,æÂ&¥ìLò¬V+o¼þ*WL¸\-¹ ãÞn~@_jeè˸rüù´ÈLçÖ{§¶®>QKÕùϨN-Ò­þô3ÛG»7#¦U¤šR†dú)‰s8HHH ¾¾^ß ˆˆ*’Ä™Ù{ÛÆÁd˜›ÈªG™5[õ4%æêGf4“ÿõRÊ«3½÷vN2 0£uPýæØ}£iænʾ¦@Äð¤ÄãñêG›ÙX ÅŒÅúx23s!Ä×RʾÀÈçÿõ2‰ ñÜuÛ$ÿur:äoÚÌúùlÙ²;wQ°w…EÅ”–•QWWôa<ðv»'Ÿ|Ò->˜2¦L {qq’“IMI&#=Ì´TZ¨uÖÙY™ä´Ì¢MëlÚå´"-5™ü­;¨mü|§!€2–F·c\„a®´>Œ-RÊ" Õ¢Å?3h`?ö2ã«Y|ùõl–¯\ÄP´ÌÎâ„ã1x`?öëCïžÝHKIÁår±sw;w°«`/¿-[Îþ¢b””RZVNE¥ÂBÔÕÕãñz#^÷¤ÄRS’IOM!+3ì´n™EN«,Úç´bè€^´ÊnE€Çãeû®=¬Ëßʪõ›X¾6ŸM[wáõùX›¿•µù[yó“´ÌÊà¬áCsúI è™Ç΂Bý¹qØwN¢¶9•G™-ëÖ%Ÿª¢T‘”²ÕGS¦òâ3O ·ÛÅœy ù|Útýø3.w ÆHn‡vœ8tÇ7ˆAýûÒ£k6»ššZ6mÙʦÍÛøjÎvìÜÍ®‚=ìÛ_DiY9‡3.³Z­d·È Më–th—CÇömèÒ±=Cöåòq£qØmH$ÅJY»q+«Öå³|ÍFV®Ë§¾ÁÉŽÝûر{1›ÌôTÆœ~2IŸnøuùZ¶6ö^Ô‹:©€ŠZ VQ‹¹r”Yée³g/ %Qzpq–š¬Êp8¼ûÎ[\qùejó>Á%OáÞ < ïsöé§0sÊ›ÜôGرk8IJ™+„˜ ì.Ìb(·.†ò©ç਱"FH’¥”w÷õìÙƒ•, lÔ2UuÒþï ¤šu›·ð{ öìåú«.W2DMVòª„y½Ù±^ÇÃ|»ø7€J!؉â:]!%å@¹¢Å•ZÛ* v¦v7—›Üà2.ðÆÎØÔ¤9mvAiŠJ<{Ô>zãE¥Åù°™ç5¥‡"9ˆ}#4~{}^œ}=.·{€ýhn瘎« ݸªV·:)¥7F³MV”Ò¹85“Õ-SJùÐ`Ìè³:d ß-ZÌŸ+VR_ßõgååå±aÖ/_ΰaÃRúe¬ÀŸá÷¦>ÒÓRINL`Ïþ"Ÿª‹~5P)%•4:Ók×KÝ´¹ –Ær)ŠÀA³WwQç íšÇk×ZJù0¶G÷n´o׆E?þ¬y¿˜Àð“Oäô'3üäéÒ¹#EEŬX½–5ë6°>3ù›¶°«`‘GB|út*ï}ð1…EÅpø°9ûŒÓ9âd:uh”>6äoæWµ„nåšulß±Ë_Ö鑤6m'%&çˆÃá°c±„ø| ;êr¹hpº¨­SÊ£œNWTïm·ÛèÚ)—þ½»1¨oŽ؇öm[) —›•kóY¼t9‹~ùƒÍÛw¼v@ïn€dÕú-n¡¬uêµWæu]PÇ‹~Œç•zL|Žp¡Ä㥔÷wÖŒŒ ¦MýŒ‘§žª‹óJUDHš=ï‹ðw“ç‘æuUÕ5<øäK|9ç[íkx€_„?¨÷¸þzÕbî]â•h8Ò×RÄЄ’¤H)oîïÚµ ¿üø=µµŠzƒâÐÝ€³¡§Ë‰ËåÂíráv»ñxªtë€6¯$.´ xsœ_t󉾙;E†öD€¾}ûò¿iSÉËËóûaÁ‚ï ÀÄA¼NJÉÜoóð3¯P\â³%Bˆo€5ºû»&eGdˆÀx¸J›4Ž!O-°Øn*BŒ ÀpÒ êiÃa6N…ŽÞ¢Î;/?Íùçœ.¢ âvETû†øJ+>þ6 ï+ÄÅpè@F’d¤©ÆHé<ÿÔcÜ`rÛµU‹ô‚ÙÉ&ÝÅÌYóèØ±#ùùù¬^½šN8Ae/”Œ¤ÙcԩØòÖ¿"3—êï^¯—â’RV­Íço“Ÿðg¤„ðƒÕê=^¡› ôÌE¹áši£øŽöÂtЂJ LæJ)çq¹Ú—¶ïÚË–»Ø´uë7o§`_QÐz&„ KÇvŒ8~#OÄ€^]X›¿ÉO¿áÛ³ÿ€F¥UEª¹Êä¯0ILicE ><Íý¶ ÚxH‘R~tU÷sµj™?ï«iýò:uÄãõòý‹ù|Ú æ·ˆ†gÀûgffpÜ þ ØŸþ}zÒ·W²²2Mæ_iž˜2šîI+ücI?¿Ë@E"õ9éó±wë7mc͆ͬ\›ÏÊuùÔØô´Æœ~2—ž;ŠÞÝ:!‘,þm…÷†ÉOkªŒ6@êÆHcâ"`èhµˆ$.š9{¡/²©åÔÏ)B®¿þ:^~é%üÁýŽ;øÇä{©ªª"ÐËÄÌðH/‡¨M.Mö5{/›ÕÂß®½ŒÓ‡ŸÀˆhÇSQYɳ¯¾ÇÔ™óôLÛj!ÄÿÔ„¢þ>7J ; ,ŸÔ«n±5Ãv'=ueWéϧ þKAÄn·c·ÙWo•I°X­X-V¬V‹êö-„úSi¢Ó~AŒôéèÁëõâóùðù|Jc—ö»Ï§²%^<^òÓVþ0^JÚ ÁÝäéÐPf›æ¡WRò !ší ³®gC7†Úb›< 0òä8oô¨¨~3àп­‡âàA‹¤¢ªZDëäÍ¹Ž™aB£t¥¦@¦õbø!Ä·RJpsUU5ÇHNë–Á†jj¿y ßÌ]À}÷ÝG\\œ¿÷¢m›Öì/,$ýz÷ mNk,V ;vîfæ­¬YŸ¼Îά^šÖb´ÎnC'4!Õ4z_¸ lÈ4s§¥ÕÜ¥iƒæ³³¾Á¿P1HËÌÈèôçòU>üø3( x}rr'7˜ÂÐÁèß§' z©ê Pxíô7ÆòÕë©­­Ãf³qÍ¥çóéôYÔ78ùcÕZÚå´ÂL-LD&&ÄÑ£KGºçå2šýŸ_QYÍê[X±&Ÿ?Vo`õ†-48]lÙQÀ–¼ÿßYde¤qÆ)C¨¨¬ñÐØwQŠ®çB›ºÃe,›á80kú×÷+}Üü&„øî@I©%>>î¡·Þÿ0ãí÷?fç®ÝŒÕ Ç âŒÓF0ò”“èÙ½kc™4_ƒ0¾…c·‚v9­h›Ó’3G( ·ÛÍêõ›ý%Q·ì ¢²šÏ¾œÇç_ÎcP¿üýª ™µðgM ¢N=O j…2·èý-Bõ^„ëë:J£´äuœ”òu-i••Å›o¼ÁE^ \ŸÏßk1gî>%C/!بÞì”’mKqã ‚°ü@ƒfØŒͱ›´¤”×¹6›Ç¸“Æj¶ÐA¼\£½ƒ4Ï ¹¯ˆ””WêO“×”‡Úš ¸Ð cç™™]ñ‡”ò¯×ëXúûŸ\pî9!¥i_~ý¼^/:tàÚk¯åÏ?ÿdî\eQ™xõå<þÜ˼øÏéÒ9—„ø8Þýh*?ÿ*)ÉIŒ4í¶~/Ÿ”²¢.a¡]}ò£wuãÓhº¶H[¹zÍ +W¯ñïØ½kÎ>c$gœ6‚!ûá°ÛÑ’sú¹9iáâ%üºl%ee¬^§I‹EpÿãÓé³X¾zÙ™tÊmG›–Y¦ „á½ÓR“>t§ íRR_ßÀòµùü´t%?.]ÉŽ‚ý””W2õ›ïQ“Oµj†Ùe*ŒÀÂh@ÚÜ€Ì V5OœYÀ:³ã€ãOuhÍÝB† ìÏe—ŒãÜÑg’Õ"3Jð€‰¦µÑàJËÊùðóé¬ÏßBˬL.¿h,ýzuçp8vÛm6†ôïÉà~=øÇÄ ìÚ»ŸoüÄ—ó±kO!Ë×ä3ñžg°X„þþpª±„ß©[@­l¬Ó¯Õ =À8fL;C$$­RÊW4pqÖYgñŸ÷ß#''ÇàÀ®ü¼êŠ TVVRYYi’t U Í:o^`³Z¹ø¼³!Œë7öéÁ×½ÂG_|à ÿþ§+CJ9Qñ*rµfÕ fJœâH]ã¿ `˜ÔÙ›‹ÖÀýÀ€Õjµ2ùî»xôáÛ¬©:$@ÐNÞ OÏ}$‰ZÃØHÝ%Ô˜‹Rb!v«•ÄÄx2ÒRýÇÙ¯W7:ç¶ãÙWßÇíñÄKÉ X¥ÞìZݱ1˜Ð‡5Ä"ué@@; IDATй_ËcD·Z?a$©™+Æ;‡î]:ý¥=GÃ>Ž´”dºvî|Ö"šîIŠKü×Ê4`2f[À8FÁ„öAq¡”d÷èÖ•Þ}n]:HÅÞsÒü™\¿Uë6rÑ5·™­e¤¥b·ÛIKM¡ø@)ÿ÷+>þïW!vÜÞ}é1’ãØ‹P®Ýfäññ† éËIƒûpߤ+غsüë}V* »R€GŸWˆ±cVÑ,ÇHëû®z?%»”2Ñåv'Œ}&÷Þu }{õ<ð`P…”Á1ZÁž}œåßU¦Sy|6}¯=û0ãFŸ<ÐTÇn CÛÖÜzÝ%Ü|õ…Ìúögîþç«Úþ^¡²Q…®Ž`å(3paLbÒc½RŽ®˜4i¯½ú*‹z5§”Ô¸o²i¹RT½ú¿ûšØ0 kK¤­ÕjáúËΧKÇv\×ãx<ÞlU k–&™²ûˆiÛyXþŠ ¬³a×7jje@ñRÊ)åCÀ2àjÀÚ£Gw¾[8'LïÁ5ûàÌñB“6ò'DðÉn˜0Žiï½H^ÇöÚ€ÈÎQœl`èYS [²ú7m?õˆ£ÑÛï'!„°úšk6Bó¼¸hc³Y¹ío×ÕÚÕÌêKVŸÏÇŒÙß±lÅšˆûÕn‡ÊRÕæš‘ f-Ñ×Þ"‰ˆ§ à¢Y1R˖̵ñµ·*€òŠJ“ Ne/þý.‡¶mÛrà 7°|ùrfÍR²ÓwÞ| ñ\~ÑyÊIõxj–¹°X9×§;>Ð Í0š3PU]ëƒBà—0BW„ìô±&M-ÈÐÎÉû ‹èÒ¹£–ê sÓ{ôƈ_ÏýV-‰²’Û¾-=ºvæŒ'ñús`³ZxãùG8íäãiÝ2 «EI$ýòûJf-ü1jö"œ¹6ÉuÉmKM­_ÆØ%õ(m b0„áJ¤Ž…~½pž8NãÖ«Á3'Ÿ8”¾½{F vïÙ÷‹~bÁ¢Åì.Ø«FÒ0ÿ*Ï<ûòÛì/,&99™k®¹†®]»âõzyèé—©oh ŠKJùaÉï|÷ÓRvîÞ<%޾¼Êb±çÐu§ÔhŠ€æua¶ER:VÊ.5ñ À°aÃxíµ×°ø åHÆ >¢{wP)н[†ŽIMí ôŸâsµgN9~ ×]zžöê¡@ )¥>6LB©‚ÑâB;ÁFÆG,&<¬ FÍa¿©š”²+p=p¹0“žžÆ}÷ÞÃm·Ü¢Ô*KÙ„y'J Í_Û”;IšdÅš>O ¾=˜ûéë¼ÿùLÞùd:U5µv ”²JMÝ*!Ä* †rê U6aÔ?7ök4gN½zÔD€³NN§mº‡Âlß…?þÊ?GrR"ëšÄÞÆï¦ôŒ˜3-»öêFSŒfµˆ˜”JylúoPÁµüj+Æ nûÎ]Ìøz“'O&!!'Ÿ|ŸÏG«ì,úöîÁ†›¹dÜZfµ º¦†™éÔÖÖ!„ `Ï>†Ÿt¥eåÄ9Ä9ج–Ð><:|ª“«ôùƒ#Ùès!„0šêi÷yPù±Ê^èú0ÌL÷Ü(æS·UVU±výFôímpÁn:{!ιíµõ‹«ÇŸOÇÜvtéØÞÿü ƒú‘ÇÆÍÛX½~Sþ§€ÒiÍ^U(¯¬f{_ˉÂ`4–!\RÊpýÿ/0ºt1†¥Œl p¢ſpÓõW'qcÉšuxðŸÏ³ìÏ•þyÖb±pþ9gðÊsïpDZ"è÷J‰Þc=Æäɓٶm]ºt¡¢²ŠÍÛvÒ¯W·À²m5yõäKoóñ_û¥’… èÝ'î¹™¾=»˜šÀ‰DòûÊõú9ß­ŽàZ²Eˆ:¡±RÖ©ì…Qi¨0†zÍ|~€PMôúk×ÊjµúË'+aX`êÞ\roõ€‰ÈH G!`äÚñcù`ê×x}¾8 ;°VKÆ©k¥™ù¦MýiÑx€#qmÁÅÕwï[¥”-€s€Kaêó¤$'sÓßoâî»îò«8Dú¾2¥!£åšp>åA¾“,ÃââLºv<—;‹þû5Ÿ}9²Š* Ð è$¥<¥îx=°N±E)¤Á$ûà ±ÀèÍy±ÑØ‹~Ú„qÕ¥vŠO¾PœP{uËkœd¤÷…ÃÑo]ãwà¾[vîõg:u‹°”4¨Ï|4ÇÚl}a4kÔ24én·‡~ú…}û )*.¦¨ø”²nc>n·›œœ&NœÈŸþég/Š”pê˜ñbê—³±U0BXpØm$%%’’”Hrri)ÉÊ–šBfz*é©de¦³¿¸Dš‡®0ãÿkì…ñzûËɄۥ”å@ÆŸ+VÓ¿oïCf/’ ÆžÉ[|Îö]<ùÒ›þð¦«Çóð?þÎ?nj٠p`ßœ6lèaa/þ?öÞ;¼óJ¿)¨ÁÞ©BÒꢺå’8vÜÛ±·¸Çr6²ãäf¬77×ÏîM~Iöî>{7ÙÍÞ8»IìØ±#%îE®’\âªÞ-Q”Ø;A˜ù~Ì øa0€2%‘Ôœç™ Êp0ßùÎ9署±qøx+$If÷uÊ0= Ä@iœ‰tÅsˆtÑ) 2Rk±XÇ› ÀnlÙ¶‰D|t¨.[t­®ûg‡ŽàúÛîC Duu5V­Z…-[¶à³Ï>ÃK¯½‹W.ctÌè"EùèèêÆ»ï¾‹›nº /¾øbòB òÓ"”ï~¸¯W>W__‹/¾›6mÂîM¸ãÁÿ…—þð 4̨5M¯Òøgç¾&#ÞˆAI‘Š`4‚¡ÔaŒ‚ =À`Ò‹^h6Ãrðx<¸ôÒK Œúô¢jýãØ¦wëä‹)˜ÈÉö= ²¬Ój*ÐÒÚ ÕPºHÊPf"I„ŒqòH09½P#7ø”žÃvís••X»v-¸ÿ~”–§G2ZìŸ'­‰šóŒ©1¦`¥MÏ|UEÞ||ÿþ»ðÀ=7ã­÷>ÆKo¾­» žHPÚð`µê±jð1!d½hÍK›0Ðdš"ùRUQŽ/¬\fâÙ?µáyÇ[Úðñ¶]€{nýêéž—S½E6 B‰ÆÐÜ֥ݠŒA…Ù1á¢9¤ñÓc¬ ~ó»?à7¿ûƒé‰~ðƒÀívã§?ýiÎC¶R:¥€¤\F"‘@(A_ÿàXNaä]’>ÉHñÍût*þŽIä™Ì”×àÂýŽKôP†õ=óøàŸ~ù_ضk}ÈD¢øóKoàáïÞ‡ ß  K¬ª(Å…Ëáo¿u‡’r1.Ñ åJŽ´$›H„qeè¥ï06©;HåÅÐ@Úèa¥þ‘8x‹Î35ÔŸ\÷,A%mñÙgŸÅE]„_ýêWx衇’à2µéè:}ãöñðÿþ¼ù曨««K^ë—¿xj«*RÒ\´õÆFgáÜwß}xä‘G°iÓ&\uÕUCxñwñÃïIeR]zU(ÁÑÑiÝ)ƒŽF%Ø”Q£#+¸˜ÑQÍf(€êêjˆ¢¨³3MŠªÇ}zw`Âäÿf?D‰žªÃMÜ”6ˆ2ú‘í65)S¤4CÐ`€Ú6› —_~9¾ñ{pýW¿ »ÝÆ„—²xw } @–dȲ”l!«<ªƒõ$ ’,+Ïe¶Ål²$!¡}Fý.¥ÊûT¦Õ|ÉGIBRŸ3‹# êæxÂp¼:€Oà9pDi‡Ëóxõ5žçÒV×é°cõªË°úê/aÐ7Œ¶ìÆGÛö`ÛžƒèìîU¼4uê±ÀQU`0Ï­c=ÖäL¶&;MQ±kàš+¿^UìæÃóÆ2‡xú¹W!Ëå¥ÅXuéEŸ£ð{,ƒö²‘ÔßÀ~¶éX+b£J+:F€qÖ=›º€ùÀE£÷Ùi²aºù˜ôÚEp”––âþûïÇöíÛñúë¯ë¥ÍçºÙZ,kÏpïõ¿O`¢36õ;F ôˆ¹?Üø`@@I#˜p342¤IiÊó€ >’öë) È5z¡½_]YŽGÿõÇJ}Å–¸í[?@0B LFþóç?—.^žlÆ#zP4·véAhÊtædkZ“º }{ªµ1Ö×bèò‰ŽC™ñàݾk-œ«³ÍF×½¦ª"yân¸¥¥¥8|ø0`ÅÒE¸é««tÀpô*n¿é: ùð«ß>…`(ŽãpÕ¥ã?ý¡ia÷—\€K`ûîø‡ø<ùä“èí-¯Ÿ^mZ/¢½vøøIÄâ)2?S=šTD>!­ÛØJ½$ê}A8N†`‚ŽL¤oÌ‘ ƒzÜÀÒòšù­.B£TfQ!„hã2Ùˆ“ `@UZ 5pqË-·à«_ý*V­Z…’’âdèzÝúõøÙÏ~†D\)¤”U='ˣƟ ¨ FçNh¯æE"9‘›2ÃlR^ÎøÀ>BHÊ¡ Žã ì6µí®ÃfCýŒüË#ßE‘77\} n¸ê‹d]=}Ø{ðþ÷/~a”ÒE„nÆ1ÈÒS¦&¸ ”VBÉ5J3æ9ÆF| Âó¯mÜþµUDþôÏc½…´l •kÞMÛª#TbŒ€ÝçR†Aé…£9ҸО“ýn”g0¡ú&ªQaV‡ÑÇ›O¤D@Ó²\¢úè5PTèU6—,c`Ї¤ÉdîÅxD/@¶®í2¿[è#S.‚‘!ŠA˜} Í‰Š8à‚»÷âoî¹Ý´°ûÛß¼C¾aüé™ÑßßL¯­Æí7]û×܇VL­K¯¢  øîßÜ…{oÿN¶v ¸¨e%EHI©A*ȵ‰"žþõÿÁoŸzϽº G”•á¾ÛnÀ×¾òeÎÍ`tÀþÃÇ“AT&Ó }#ãáki0õ¨ÚÚÚÐÕÙ‰ÊÊʱƒ Œ3˜@Ž`™ÁOWïZ´ ‚Òg§± „³¹8Œ/@EEþüç?«Å5©þµ×^ÃÑ£Ç0•‰æPSÂÒÃÇñ{oAÝ´ªQëƒT——¢ª¬O=ÿvî? UP äyF¤ bžÈ“Ù1Çq–-Z€Ï7ø >ùä¼õ–Òªváü9¨,/‡×ë'Ï ·Ó »ÝQÀqJ¤Q’$Äã DcQ„Ba‚! ûG0äÆÀàú}ðôéVj¡!À€‚ NVšvÚÓy¢ F‡mš =ˆ @'û7™àއdôUglŸ”naC> ¼ÞϽп7£¶ynÁ®¹ã$J{FmUZb¼¢EgÏ 0’Í 42xO!¯´ž(#4û3ìÙwÀÔP§”BEüø>„ÿõƒ18èƒ( ðæ{”¬³‰ÝÌ‚RJáv91ovCšN1¹N‡ û­;ñ?î»>¿’$£Ð›—ìJ–ÊT§€CGO°QP£áƒQBH”ú¨[·yÖuÁP5[)¥AY–Ýþæ7øùÏ~šLE(NWšS&0A3€Jñ›?>I’4c@sL‘Ò$¨8kiQ§`,€óÏ?´ÐJG¿üÅ/pÉ¿IR¢! PÓŽãšpšçŸSöoå‘WßÓR“F_#à9%m‰ãFÓ•’ßgþýߣ„€‡dúT²õ)•!K£©U’šn%©©W IB"G<‘@"‘@<ž@,C,G,¦úT¯ML5*ʬ„2´•å¸÷®Ûðµ¯^ƒ×ßÞ„ÿïÿüœN'¾÷½ïáƒ>ÀæÍJ:Üßÿí·Õ–¶Ê½m9Ù†GÿG<ÿò†R®å¹]øú×®Ãw¾y'*ÊKR žçàq»à©›ŽóꦥìéX<޽šðÂë›ñÒ›ï"ŽpPæÝ”b´J÷0‡ :rÚ·”Ò0€#„¼‘Á(%é>ö37Ñõ J£âÞ”a{ BGW7Ì5^PŠP8ŒÞÞ>ttv£«§=}ýèÂàà|~?†ýAÃa„ÃQÄb1ÄqÈrjúÍbó[a·‹pØíp;Ès»àÉs£À›‡Bo>Š ½(-.@yI!*ËJPRè…Ãa˽]Žp$Š`8ÂF0²íéL{}*Õ_E1ØG£sAQJ‘H$pøè1,i\0¦‰Ý¡pþ‘ aÈ7Œa¿þ‘‚¡B¡0¢Ñ¢±‰„Z» P5홇MM{v:Ès9áÉsÁ›ïA¡×ƒÂ‚|x\Nˆ¢Ì »53žH Em_LÒ»‹±Å¼1`¡oy=)[–ŸBã?(¥WE£Ñé7¬^î¿÷ÜsΫ¯‡ÝnÏqÙÁNL ·£ïɲÒ@$!b`p»ö³¯nÂÎ}‡´Ÿ íHoô͉xF×ût´©u€ÃáÃÏÊ‘Ïé)~Ïð§2ÅÛüæÖ]êÔös0F[W²(,L€<š±ÐwZ9kE=§‰ŽA™^ÌíÜû¾tÑŠSª·Ð×EüQ^Ìi˜ó—,Ð ÏÃi«¡8ÕÏʲŒg^{_»'½'“š{6õ@ãl+–_¨ç8uu3QZR B€@ €Á¡! ùTº¼hò¤Z=LÉf³á{ßþ~ð½oÃår"â±'×îºë.TVVâöÛo¥ æÍÁu«®(p¬ù~õ_ãùWÞ@|´ˆ’2ŠX Cäñ?=‹õÏ¿Š»n½®¹e¥ÅY¦xSˆå‹çaÙ¢¹xè[wâ÷zÏn؈aÍ—Í, yyn' òóPŸ‡<—’Æ%Ë}#8Ü܆H4æð#(³z0:'@o˜q‘ ‰nPB'碔u÷ô&÷¶ÄC‡á³CGpøè1k>æ­èí`çœ2C€nÒw6²ÛD”`FM%fN«BÃôjœ7³çͨ×ã›ãaÓìâF Q-ðÎÔšv"8Î?P¤ÖahÛÔÈ ûð‘cX²p~Š¡.Ë2zûúqôx Ž7Ÿ@ËÉ6œlï@{Gºzz1ìA,;-‚‘#‡E…^T•—¢¦² Ók*1£¶ 3j1­º.‡Ýuõô§ `d‰4µÅµÙ¡çjàÈ™Š¼2`-€ßÆãñÿï׿Æÿûõ¯a·Û`³Ù ðlvå‘çyåx%ó…­¡…VS €(ϵ÷ ¾G#T–M•zãÔÇQ@+/’,C’d$qÄ’Qªý0!8¦òzéóÑ&JÆÂiƒÐßߟ#NÈ`Ñgâ} Ðì,Lñ6ê‚•ë¿¢ ØwèØè€eÓØˆZÈCS§4ò“ЈÈÅÑO)= `îK¯mÄ—.\ŽÜê-` D$Y§Û÷î¾ùÚŒŸ5Ÿ£†âTí½ñþ6¶=mÙ[Wf2@ΖR!¦ÀÂ… ðËÿû¯Xyþ ų§z£Ñ|¾a´w´£­­íííhïè@Ww7úú0ìF4…(Š(//â…óðõ›¿†ú™3’÷ê¥Wß@GgxžÇC=„ 6àÃ?<ü½ðá§[ñÄÓÏàíwþŠD"ÁFGÔCSä€1, G"ÂïŸzO?û2V_sî¼é:,Z0aùÐxöMYI!ùÛoâ÷߉ýMÇp´¹=}…•é¿v»·Ó¯'EÅ^äEA~6GR¢¾áì:pë_}+59"¥´œ2À¬±Vƒ¥— ^6hF.ýSë"4 lÓ»`߃ؾs޵œd¢1PËs£´¸%E…(*ô¢ÀëǓۗӇû(Bx<Ÿ,î–d RBJ¦¶†#„BaŒC Âç÷cÐçÇÀà0††… I2¢±8:ºûÐÑ݇wì½GmeçÖcé‚YX±p6FAörõ3Pr©»˜ªµFQ-d°Qû(”& ŽkAÿàvìÚƒí»öb÷¾8Øtýƒ9ÕFò<‡Ý‡Ý—Ë —Ó¡¦*p—¼ I–s,Žp$Šp$‚ ñˆÆ#’*’P8‚öÎlÛF§×Tbáœ,ž–7ÎEÝ´Jp‡ã'ÚYi5Ÿ™Å93¨ÓˆBN¸—RºÀuеu™d$!$É©#µ¨ŸÒ$Јèý³ÓÔe@;¥ôç¾7wî\lݺ5Ù╨ëNÔÐ"ëÁ•A¢O=b^ƒAÚ’ŠÓÒŸÔóʲlž*%+©NÚù’ŸUÓ˜d&-н®äwTô™Ìégþ•GÓ $Iy]A­²ÚWVR¥Ôç4‰t•ÏJÉk‘ñ‡g^ß^|Fðªjùø©úœ¢Fõb´UgJû²I%X!¼êÁvQJðQ°aýaÁœóãÛ܈׃ö³/¿õšŽžÀCkï€]q¶‡çeúìÀ7ç§èSò´£èÒxJ.¾*Ã}„!¨ÏÕ÷†Þ©ü;ÓmJ !Rúÿ¬½^TTˆ%‹cîœÙ˜1}:ª«*QVVŠ¢¢BäçÃápÀf ‚ÖΆµÅô—®¾ûÄu×]‡^xK–,ÁÁƒ!J‹‹ÐÕÓË^ZB½G~(©F‘PJ+ÔBõ€i5U¸ô¢åX¾xf7Ì@yI1v8Ž$ Tè&¾R9µ~Kó`% D¢Q„Š2Â?ÄÏþ¡aô ¡£§'Ú»ÑÕ3 ¥Êi´‡òHOˆš ˜ˆ­ju<Ãv sÈ£”®p‘‘—¸´´³ê0«¡3j«QXà…( ¥†Ãðù†18Ħ¿„ …ƒ0C<G,‡”¯#3åYxˆ<AàtØ“‡’ãFA~ò=n¥ ¥H$$D"Qô ¢ùd'ŽhCï€/mþ !@~žÃ#AÅ(RÚ1ûÚ`ˆÙ×ìÞö32? 1Ñ×tœyCP#oü Àu.—ñ˜R™6e¥Å˜9­ÓjªQSUÊòR”—• ¤¸ùyn‚€h4†H$‚@0ˆP8‚H$¢¦Ð%HH TRË)hÈqxÞé©¡ÈZÌmZ†ý|÷'¿ÆîƒÇ5¤ƒQ ~ÃTU8ª²ñéÀ…_ÇѳaˆhCõ¶ßàï ´Î(‡A€(ŠAÍu¶Aày‚"78Ž(Æz<öN%Òóî»ïâðáÃøö·¿mtêˆz¯F(¥Z±ÑŒI½WT ÔBiÅí1ø°‰¢ 0ˆRO—gZ“Y —Ë’Ò†{Œ$Aéªô.€ÍŒ‘jg½g+6ɆÖEË ÀM)ý€{DëgN\·êŠâÊòRPJÑ?0ˆcÍ'püD+Ú;ºŒ:|QE%…^̨©Dýô*”@xCaì?ÜŒ½ß½ p€Ù¿z€ácVækžÌÄ9à¡fyƒgÀ§›Rú#°÷V}–-^ˆE çbÞœY˜Q[@ ˆ£Í-h>ÑŠ“­hïìBWOzúúá÷ŽDÆ…o!pØmÈs»PZ\ˆŠÒbTU”¢¶ª3j*1­¦"Ï£¹µÇÞÏŽbïÁ£ðùGŒNf†Ï|²²ŸµÂêÞ§çÀ1ZËæÒxCy”Ò<í97!D!.UÆØ‘š bd+w˜Ø·zÂN³h Ò$È@iÙÐÙÉ(FSª“ `ˆŒxÀX4® H€Tƒ"‰TsŒ`„Uõdšòø€Ç8œ®þòŘQ[ ç•a†<§äQr\r¸¡ÖaŒpx]2e> Rf•h¹•ŠGttwv834£¯k‘'9b:i³\$99ãEû[’e$J2­#YB’áóðú{[Ñ;àÓnK7ú4¯ÉÒÀÄ0!dX.FtücŒæ³0ÔÃN)àBó¡}WC)Øv }¾Ë˜hÑ¢Exûí·ÑØØ¨ ¶’Õ½ág¢œz”¡f ÀP rS'¤å¶(ݯj š²‘q"Ö[5¢ZÁ{€Võ5³ ®lûJ}$cR ÆÔô‹ €—Rº”2P7cÚ÷cñøÕí]:6› yn'Š PXà…7?OiM¬¦¿¸œØm"DQ„˜L‘Ýó²,'s¤ãq%&Ž ‰  a$„Ï?‚!ß}~„Â}„)… òó°rÉ<\~Ѽ²ñ£ÐÇ;?“Ôß8L”¡q¬—zØÄq0ÂìmMÎKçÀàÞp« $~  ïÇ?úþÌ;oýÚŽ#øtëN|º}'vî9€¦#Ç0llÀ’½xσ#¼ÊZÂh7I )‘Θ ¹œÔϨÁ¢¹ XÞ8KÎÆÀnÝ‹õ/o”»û498@€:ÞІO.†ufç@tKÕ1"p2rCnJ©›yÍÅ€ ‡` ~52¢µ‚ŒÌ‚²nÉœ#úùFZ:`˜‰L„„Ô9PAF߇ôŽfõû“`ha©JJé2Œ†Ÿ\Ìs7'!D–²«ÆGÖ=5dxJŸ¥cû ËwÍÞOE­4‰ZPê[Bˆ H ‰`cSb&+ÀÐx(Rú%?‡2ù\"@‡ .ÂŒÇb„ŽÌ~\ø`¡÷pF¯<=Ãë©6æ°SJ59à&„¨@£Rêa6”Gú ”Ð÷ÅðÛßþýë_±~ýz¨Ñ‰O(¥qíûêõ@*¸ˆPJ [;B’Ê™RªŸe!ª1!p"}&Ûù†M¿ŠˆSšþaRÐ!;ÐÈ£•ÒQ†2d †–"52‰†Àè­uo¡êÌÊZK˜ïÉCeE¼Xä¹Ýp»Upáp()-v66›Q ŠÆQÁq¬“ªÎÕ¨L$‹Ç“à£Їö®^;ÑŽ£-mˆdÎùŽ©`1 @RA°d~ÇAS<Æ€/ã±v2žêü{ï¼åk­mßÿhËvÜ{Bjª+ÑPW‡šê*TU”¡¼¬%Å…(*ð&çã¸t œZ %½9™b­ðA"G\mE‡á0<<‚AufNoÿ ºûÐÙ݇¶Îtöô#‰¦]Ïóhœ[ë.¿O>÷ú@[goLu0ö²ë¯‹Z³N%}JlèLz­'ÀÚö›•Ú£Kmîdí³6€ANƒMsxmtAyÏÎ: BB&úCK‹J™…r&xa¼ÛÔjä#„lacJXŠ’ǼÇ"GqœÁÅi‰$œáóiITÇ,fíÉdL­t)Æ!d€»ÕjËT#T3X ONÇSc u’Ó$8Œ‰Ñ!©FGjLÄši À¸ÿùdia™ ”ލ†A5ý’]_Vèó ¸°«ùùùðûýøóŸÿ¬ó3ÕûŸÒaM•±’bäÓÒTÅÕšŒ”nš÷”RÊËó´aG„$¯ :”¾ó[‚]a/M)ÐÓøšñ&=»2ìLÉöÞÅU%úSPV@‰(0Ϊ$ùGð+3I&ªóÀ¯þž 5Os˜ìé)[Ü‘!Fçcȼ{âOÏVe1F1ìAÓ‘£èêî†ÇãAžÛ·Ë—Ë §Ã‡Ý®w °‰j?:wKB£s•dIJ}'â Ä Dc1µà;ŠDBBžÛ…5•È÷¸q¬¥]éPÆ$IØ}àv8¢Ùh½B _h 4hàŽ2‡)5ÕýT줷íOz T‡QB'ûí&c¬¶G'·Q#¦:Ø îYqÖ ý…q^ØL ¬y×J)Ï(L‰ñä g\Ð x^í±ˆUöÊÖ¢l*xïYo­ò<€·xðê!d4 ÊWÁÄa$8Ì‹¸hN¼9–¨Íáú½cx ˜¢t†a8£ƒ”™¬H*|FîQFfÍúiÏóÀn·ã‘GÑÎ×`¯*wx!Df^¡ˆÑд¾ÝQÏÃ12M› *ª@èU´~ fÂäѨ͠‘Œ5zÎ ’)éhÀhJÛf[9àQÅêQˆÑ…ZLsHð&‰LžK’ƒ1`4UÝh^¦ƒ:¹®Ï¡N‰Dgq,‹ÄÞó¤½AyAJ[­Ÿ< ´­õûGà÷ «»g¢þ¦A( Í©4%{!ˆô4h–?&rë\âm¿éúè¯V«¦ ÁÀfø¼NÇS¹ØÔQ¤XÔ;#ΊœNóÂjH:JáUoŸXhŠÝÎxûÈfƉ|nížFaƒ’w7Ñ Êñä)V1ë(…LHš1.ŒÁAr\IršxÁ(Î`ÐQÃC+ìbs±£:eö«›žN£ôõõiçî   Ó I½Á¯ñU”ÙKzem0´sªé|Z»Æ—ìÿ#ÆÞ•uûV6™Î“¼‡0ŠMOuL Q‚¦cTðƒèÅh޵Ãd]Ærí}šÅ@0Õ’ÎÐQä¹j<‘Y#ç8ÀÐëˆVBÈ¿éÀg1€BH1”»|Õ9å4ŸÃ+\~È–;O ö¹ÑPEÍ&Š‘Ñ¿Ã OhéÐAýoêh<¢[ª¬ÐË b.X[Âf°þFƒœf>Î0dÀ0ª½‹8"ÎJƒp6¹lØj|3p!(ÿÉ2Æ `Hˆ5%ï.’EùLfïE&ä.˜x£eJSxËÆŒSéAÎïÑ,1 0™#Èx:#ÜÓ©÷¼§ʪ’Ð$Ç( ­þ=XàÑ`‘ú?ŽxS'ƒ8&R"«9Ë/únq`苼9ÆÑ@… Ö£%AãX!9üv=°Ð§fQ“}!!=ò!e“U°r@°Æ3kKà(ëôŒ`¤ŒÚ\-˜G9s36hºÁI O6²¡ô³7.ØÔËø©©=ÉÖ$E™=É®w”RêCz¤›MÃä2L†Ï Yu¥[—êSc%ª<Æôà„)¥™µÀgroi‘m#pÁÚT"RÓ¬œ½©L@UÏãf3rbHŸ¥“Ôÿghž‰FÒ»Ì KÖPԣƱ.0qR>N×yd¤Ô1 ‹™†Ä&±÷´ê BdJ©Þ·ç0Î&¸È´îFžjM€°i+ÀHÀ8l®“OV™ 7¾r*ÞdŒÇ0!d,<˜dŒ{fð¦Ê0/ÚŒ =RmTWu®×`dÊžÈ>“Î(J©¾ðÿLó2Œ¨ :õƒôÀó\/ð6¬c‚g䇾¹ƒþ8SEÞÙ²ÌH˜Õí¥E®Ï†Þ?]ŒLE5fJ˜?ËHq¢þ/#c‹#½ÍT0FÊÃ(B6¤GƲMåÌÆo!‚!ëÖZ_àeô|¢µ*d×’¨¿ÅÌ80“F]~ØYBCÖÕxÄ<È:eM3 Îà:…,±\†¸0J¥`å‚ÑóÖ$L›ÔçVdzx° 8ù30hŽÆ+¿Œ"ÒFsL˜x‘ɉÀZ„3žÅIãµv*À2ü^žÌkYséÅÔí$yJ £ô´Z=ޱQ9“G‚3½Èd˜ÉþLSl¿³%ëOg †Ñ¦æ Œ}§†©0>ïÿ3òv546Ññ•Qº„ÖQ&“¡yj]¤ÆtÐ1~†ê€T©^fÞj}çˆ 4™f¼Íz–XÏ.FaZíûy¦°›ÍÙÖuVaë;péµÜ]k¶ö§c0Q0’‰l‘¹c²Ê£ýgf”±QÌ\<Ô¹¤Ã|^o5`œî`T¨©4­¿8—f`ä 'Íš*dê¤:æ 8så‹l]‚Œ†dà<Š"{× sv>J Á6A–uý<{~¼mÆ\"^iŸ›k.Œç"2ŠÛÈ£`ŠâužÀÏkôMqº®![xÌ,T–4B&«pQyŠxÍÀ«Åƒœ \œé: :á¢Ï׋·zB)dPÆ£D9‘Ë‘ `HÎÆ3ÍeMè<ÇúaUFCz$ƒË ïÈ8 j°×síF5™k0 sbÆ)%fõ0z‡Öç©¿ËL³T7¶]©QD:Ž©¥>ÀE¶îAÙ¢[§tê3ô)1 ªçÙâ C 1&»Œév¶¯yRÒéˆ`@§Ô4œ@æ0ÁÄÞ}6L¦áZf¯M5¯–`°Ç éýË3åSN„R™xÈ,Â,še汞P¼`âQ2ê eö·ÑtvÞ`ègfÀÀ(7ò Ñj÷p מéºÍø,×V–cí@…)âlúŒºñ9¹¦G—1iͺ§å:€ÑJJç šÅ• |f«—ú¼|‘kÃÈ¡d@Í:Yµ9–?µ†Îp@– ùyº0œkÀ#›Á‘ö8U6†ACop›y‰Áó‰.2ñ‹Þ1òTgzmB{«c:]’iî‰Q«Y‹/,šÔdE0,šêŠÀ|¸V.ƒU ЀɰȢsZæÍFÈOè-y2±—ŸÑ#É|+W®ôVWW—Ùív¯,ËB0ŒuvvŽìß¿ßljÉ6,0:F?³Ç"‹&åÆ±È¢É¨èsn”<Ïóßýîw¿d·Ûç¶··¿¿~ýú– ßÓßÇ7n|µ¹¹y£“ÄÙ#nð«k,ž°ÈYt†•=‡Ü¦ª¨Þ¦‡~øoÜn÷¿©¯Å|>ßõ«_=efï!5za¤,£`ê€Ô\å Ù`C³ô;’ãy,#sbóŠT$ËzMê–-‡Å¤Â#<ò÷¢(þl,ßO$Ýÿþïÿ~W(Šª€B;bºÇ8:´¨†ÅMj²R¤,šŒ 8—Â: ˆµµµN—Ëõ#D’$ð¨¦,1©ÀE&ïs&@@ t(Ü=ÚfÞì\"#™®¿VTd|üôéÓm×^{í…ç*Q/ä8n>!$Oý¬´jÕªUo½õV‹ì±i/zG±ŒÉÉÁ”ÒôõõaË–-ª\áÀq8ŽÇEá÷ÑÝÝŠŠr̘Q‹H$Òá÷ûmꋪÍe.$œZMEYã  £ÜØl]…ŒŠ}õÊ;ùš¦Àõï[ ý´+|níڵ߱Ùlÿ·¬¬,rÁ|Ð××÷ÛÇüSI’صæˆùùù‹  ¢££Ï>û,Ö®]‹üü|çòåËÿiË–-÷ŒŒÄ`œÆGºWZ;d†²€¹gæ5'Ù¢ñå/ÿðÃß¾téÒgòóóÿÎívßYUUuÿE]´ˆ²£µµ5Ƭ™`²×5ãŸÜsÏ=õ .Ü$ÂÇÍ „TðàMäÇÈ-¿páBÏ‚ Š=½··—èd–Í@6™EO€-ðzŠúä›ßüæÍ‡ã?!ùà÷‡ÐÚ:ˆ–ááñØ IR÷úõë“eY0Ø÷ìý7rdXk3±uްtéÒ"§Óy‹ÝnÇÖ­[!Ë”‰^h<Î;¯s€¾õÖ[/ DU^`”¢oWËÖøY±í.Ùî4F½æ’•ÊwÊ|à ‚p> ùñþû» RØlyðx¼X¼¸ Ð××÷V"‘°ëÖZbyÚzñHfX4 èøñãû‹ŠŠ(Ï󤪪 ­­íà8Ž9xp‡¥KO>|8À­îIÂð„¶OÍœ$‡“µŸ-²†9 ÌS™²ÞúÇd®,Ïóü¥—^ê­©©©v8å<ÏB<œì²,s”RA–e"©”H$¤X, ‡ÃÁ‘‘‘‘îîîÁ¶¶60Œê V‘KF×úy~£¬KÅ:×…Š mÐÒÒ‚mÛ¶aÅŠ¸êª« ´/|á ?°{÷îAžçK%EêòË/Ǽyó0sæL<÷Üshhh@AAx饗~wÿþý?D"1Ȉ«ÿ+‚QÏq@¢  €ËÏÏç !Nø|¾RsªePš0à)­÷yJÚ•¥@ÆJKKy›Íö#¤»{Û·E,F0sf–,©† ³¯ºêª+Ÿzê©Í€@Ö9!$—ËžçWÀ–-ÑÜÜQt¡¥e×\3‚Àq•••K´š–¤çòÆoœ=þüG9Ž›©»lÇq5n·ûö•+WÞÚÐаþñÇÿm8Ö{>5ƒ%Î+ ¹+Odž2h {*Î#ýpª™Và[£€|¾0ìvxÞ†Y³J!dYoÚ´éuõ_¤4‰`äIÙkt,:3ü• o%–›7oZ¶lY+ÇqÓkk§¡­­+™¥¥H•••¢¶Vœ;wîÜÀÅèb²ÿty£OÕ„¥#,²L[Bê»ÿ˜uÒ+ jàd7÷ýïÿ çׄ™šzŠDeYÆãñÖÖÖÖgׯ_ÿ–Î;¨)sžÄDÉ¥R5¯šõpËç(àH5J©Ÿ»ÝJ)¶mÛ†þþ~ÜvÛm°ÙlW_}õ/ÚÚÚ~ØßßOA(€@ €öövÌ›7uuuX¾|96lØ€»îº n·{ÆM7Ýt˺uë^c!$^WWW1oÞ¼šòòòÇSm·Û+A(å8.ÙCqI’zƒÁàÎ?þxÝöíÛ;õFd–C¯`4byªÆ‰ÊËËy-Å¥¹¹ ÃÃØl.tuÑØH!ò¹¡ß‡„Ý¡PˆÊ²ÜÆq\]YY!NžôAl¨ªòBÛ ³³³RjWe¡á|•¯~õ« ,xŒâ•$ ûöíCSSB¡ìv;ª««±xñbòÅÅÅw¯]»¶êÑGý×D"‘0EfEëFµd~Ÿ#{­œ>õ+Ó¼ 䲟 ºGñ*_@’(xÞA°¡  3gzµu~õøñã¤Ö_°£$ \Lp‘Km&ûžÀ‹Å‘Hd¿Ëåš^SSB¶§Ô^ÂaÙ²F¨Î¬á-[¶t©|C1­ Ì¥d²xŒÖzÉ&vÕÉТs `˜D&ˆ‘­Ïg7JU2Rfi&çr¹î!„Ìfþx7¢Ñ$‰B–“!Ú%+µŸ °ày‚ÀÃf³Áé´cîÜihh¨†¤´&*`EL÷<¦{=@.++ã¾õ­oý–çùå”R¿$I'¢Ñh“ÏçÛ¿ÿþ;vì’eÙ,šÁæjš¥ÖÈ:ƒGᘪ)‰ÇãGA@yyyÊGŽÁ{gË/¿%%%_¸ñÆ{xžwJ ¼ñƨ©©Aqq1n¼ñFüáÀôéÓQVVÆ]qÅ·uvv>Â+W®¼éúèïïGSS††|ˆF£ªGS€ÓéDii-š»Ý^pÁü²®®îõ 6ü¹££Ã§®ýŠ™€T}DCÎÅ0²(7â§§ç—UUU_ñzÝüÌ™‡)¦MKz¡ŸnjjÁ ”Ê„^ç‰æµýöüóϯ[³fÍZŽãjfÏ®B,Fa·  ”†7oÞüjÁoJW*J©éªU«æy¾,‹aݺuðxUq7GÅUyyy¨©©‘®¼òÊ“Á`pW__ß®={öì=xðà c;R¤×|¥Õ$`^lN'zÎõ©²]0üÌét¢¬¬ ¢(BY"…>úè#L›6 çwæÏŸÿ5 $ ¢Ñ(^|ñEÜwß}(,,Äe—]†çž{ßüæ7áp8Ü·ÝvÛן~úéW;;;[«ªª¦³y»%%%X¾|9:::ÐÙÙ…¾¾~ô÷!éFKK;NžìÀ•W^‚‚‚|¾¼¼üú5kÖ\ÖÒÒò↠Þôûý!†‡l ¿hà‚Çh$L«ç²FåÎ7¿ÿýï÷=òÈ#›EQ¼zúôD£¢Ñh˺uë^@z·YÐÉ3 ×ÞÞ…B¯æåå=X\œ‡x\±Ý‡††ÞßµkW/s>¢3 ðå/y^~~þåðÎ;ï ªª ×]wA¥’$ !<ÏóÎ /¼Çá7Þ@}}=Ün·íÒK/½¡¹¹ùOPrü3 ý†‰n”ÜC=ô{ŽãV_{íµ=²,·'‰ŽX,vÒçóظqãŽööö(ŒÓÀôQC2£ŒÕe°hJG0ˆ (((/»ì²éUUUË].×QA˜K)0•€”"‘H€çy-¢P«ö™¢qFyp”R§æõ3Ðå1û¾ ðÀ)¥…z A‰ê@F”‡£d™âàÁ.äç;QPàD^žGxAê¼^o×ë½¹¡¡AŽF£'|>ß®¶¶¶Ý[¶lùl`` €ÔŽútš¸ à`Á¦ È ÍÍÍ{KJJ¨(Ф¢¢mmm)|ôòË/cíÚµðz½„Ãa CñBòðù|øàƒpÙe—aÉ’%ضm[2½*//¯pÍš5·9räèîÝ»7æççÛf̘QU^^^m·ÛóêëëQ__ŸüŸÁ`ÍÍ'±sç~¼òÊF,Z4óçÏ‚( ž†††o|ç;ß¹öÈ‘#/¼öÚkïE£Ñ0,ÃÃ(?×òVïD"‘Ý¢(^írÙ@ˆ¢¯C¡ÐñP(¤µƒÕÁb'ëÆ™õR½ÚJYb1eyòòò‹‹‹óÕ•i¹ß………®+Vü-Ò××‡ŽŽ¬Y³„„Ãá#Ÿ|òÉ£[¶lis:žÛn»mMUUÕ¥çŸ>vìØ;wâ’K.Aeeå…ǽ Ë2¡”‚±=©‰±Í#}ØÛÄTL‚@!_à&„Ôñ<_Çó<ìv;<Ö¬YÓ×ÕÕõ‹ÇüUS†5ð9˜×¡dõpýë_¯©¯¯ÿ7Q¯U_Ca¡……nMÎH¯½öÚk*¸`[ÑjzI3"ªnЧȜ*¸È”&FrÉûpŽED îšk®É_¾|ù'jf¢ªª óæÍ£×^{­?‹µƒÁÖþþþÎööö>Y–#<Ï»<ž|ÒB8TT”ÁãÉÓ¾ŸÿÀ\TTTä¶ÙlB&{‡R€ã .˜3gN]SSS cKÅt:_ï<Т‘–^°hê V(766Ú/¹ä’Ån·ûA.äy~9!¤Üè{‰DƒƒCèííCÿ‡àóù‹ÅqÇ7¡ªª²,»êív;'Š"@–$)‰D"~¿?¡P(L)ÕP=QS’‘ £ˆE®ïó¼¢\.WñÝwß}3Ïó”"B²,GeYÇãq8ôûý=ííím'Ožì‰ÅbÚжr HhjRæxB`³ (*r£¤ÄÒR7 œà8ÂÙíöºòòòºòòò›—.] ƒ‡úûûw555íØ½{wK< ==K:XoÝT4L lܸ±sùòåÝÇUN›6-`(Ï<ó î½÷^Øl6œ8q’$‚5kÖ ¦¦Ñh4 *çÌ™ƒ¿þõ¯xþùpóÍ7Ááp¸566.ljj:ôÊ+¯|àõz…óÎ;¯¢ªªª²¨¨¨Òívs'¸Ý.,\8exã÷°wïa´´t¢±qfά‚Íf+Y°`Áý ×îÙ³gýÆ·¨CØŒŒYí0–2ù|¼CœNç¥ ¨ˆ‡üþx¬¬ÌUPPPpÙÒ¥K_ÚµkW‡Éšpêß"ãÔ ˆ(Š‹Àï÷½ÜÞÞ²ªjþwl6[u}}ýô“z€Áó<çwþ‡Ã1]–e¼þúë¸ä’KÀótïgÚGnÍš5õµµµoBj^‰```‚  ¤¤¢(€¯^½úîÇ{l}(bsâ50GÔõˆé ¹Nh7ÙrøÍÀ…Q“ùj‹­Ù*÷BfRJ144„P(Y–!Jª«Ûí†(Š „Žã¼‡Ãëp8æcöìÙ)ÎH­£¼¼4ùzMMMQ*/Kðù‚ðù‚cd$ŠP(xœ‚ãx\}õØl<7þü•MMM} ÀÐô=ôÚT¶öÔ"‹¦nã¾ûî+«©©ùˆ2Cÿf<GooºººÐÕÕƒžž %=Íè¸d:“á4⨪ªºæÎ;ï¼ÆÌ ËrT’$,ëxï½÷~³sçε¦zgy7ió÷5€áp8¼õõõ+r¹’$ùƒÁàÑžžž6›Í¥y*Ržžôöˆ"Ÿ¥¥.xýíßýîwÿm,ŒfdP½A ó†Y #G.·ñ<¿Ðïïüe0L„B³nE±t`` eöÇ‹ÚÚhuZä0Y³gÏž¨¨¨8_’¢òܹ•K>ûì³ÿŠF£‰íÛ·w©çKùÿ·Ür˪âââ‹à½÷Þƒ,Ëhhh>|ø9\hÑ-1rÍ•••KÊËËñÑG!‘H@TUUÕ6)Þ Ê€ =8‘Ú„‚LpÏ5Y–p·œRŠO>Ù§Ó ‡Ã‹ââb¬\Y—‹'^¯w%€&€PßTʰ´©Ýöššš§ !µñxï½÷j!"Á—+Ë–ÍÂu(**ª»é¦›®{úé§ßÑT€nÔuÐî¿Ñ¼ä"› À['`4`,Ø{!³ïOñhFrÿ‰¢¸öíÛ‡—^z)ar\. QRR‚²²2”—W ¬¬n·„PJÑ×7˜¬¿èé@ ¥>_>ß `dDQÏ©ùõ  £¼<………uPê6R dàåI´ÈŸ‹òóók4pÐÚÚŠÖÖ6ttt ··‰„LèëÂY“)/Ï“Àà8ÎÁqœCŲ ¬Ú¹sçóZjÇñ¦{o´C\æ÷5¹‹ÉI@½Dí>EÀó‚@`³)Ï xžÏÏÏÏ_–ŸŸ¿Ì\y¤Ö$2zzèé ‚§SL‚’'ìv¢(–”””\uñÅ÷777?ƒÑ»™Òb…™bʃàÀgN§óÚ²²2À5×\ƒ+èñxðé§ŸâäÉ“8yò$kˆãø*++QPPQ´¡»»IžìííÅÛooÂæÍï`Ú´iX´hæÌ™ Qņ††ùõõõs[[[›ß}÷Ý'OžJKK‘HÈðãx£¿ß‡§žzÕ`²·À7ÚqŠgÚÛrãš#³”RÊ Žh]hÒVËã³ë°Ò‘$ ȇɞLy>Õô÷¸D0Ž9Ò²bÅŠÛ† päÈ‘dD‚5ÔÓ üt²ÙlEð駇Ð×çOæ*BÀqJ§'Qàpذxñ äåÙ‘H$ ‰„RÉæ÷ÙÞ×®{h(ŽýûGt‘.¥•(rp:9x<JJxŒþHŽcÏ—½þ#‘ÐÖ6‚öö8Žƒ×kDzeep8x¨“bó„aÜöÐÈc'MÁMÍŒŒt•––Âãñ€çyh-k[[[ñÖ[o™ž+£µµUM«R€aj#…ge™âäÉVœ<ن͛ßÁ¢E‹°|ùRäççsÓ§Oo¸÷Þ{ëŽ;vüí·ßÞ×ßßÚ°aÃÁiÓ¦5¸\.×W\¤WZR ˆF£BˆÜÙÙùÙàà ÀCa=œš×*¢>j@R •'`ЪÖड़Àþ¦›nº`öìÙ¿ÐK^p÷ÝwÏ|ã7þ{ß¾}ÝŒ¡F !¬‘NtžCùúë¯_ÚØØøO<ÏkÖf³•Þxã?|òÉ'ÿ½»»;Äòm}}ýlŽãlP[[‹yóæ)noI nÚ´é¿Âá0ÔèË ‚ÛíNÎraI’$^0Ô(†fHŠ0o>¡éå—_~çî»ï>ÉqÜô•+çã½÷>KÊI§SÁ}}}½ZÝ͆Ä:c @9@ìvûÐÜ|ÍÍ'!ö¤Q¨Ml&„Ãí˜5«‡È566Îjoo߯ÞsobY@EZ„ÙdÐ` ÿ®X±"Ú´ië8Ž[ÄqÜâÙ³g_þýïÿÑ'Ÿ|òwCCC ] ô×ÛÕçBcñâÅùP»}i5y™õ§a„ÃI𠟃a|ð^ã¡ÝmBˆJ=O’•­LŒj©x \œqûèSªÙl³lsˆd£G6Åu*ìÃqo½õVhùòåm„ú²²r9r4'^ÿ¾–¥Éؾ¾a “©S£Fýh:Õ‚µ€h4*(T.Ò³HÉ<°3i³²ß„D‚" eHAAŸÒA–ñ=aßWB®±äëj+;Îh€N™²yÀ“>Œj.p§N5²@)ÅsÏ=‡ÂÂBôöö"óÞ$iQ*ö_¤¾¦|6Ž`ëÖmرc'.\€ /¼^î¼óÎ;oÆŒ3wìØÑôî»ï¶¼øâ‹;V¯^½"//Ï™H$Ý<¶ÿþÁ`0 †¨ <DJ©@ „Œ·“Q¤w˜bÓ¬.S™y'™VrÇwœßÐÐð(!Ä522‚½{à χÃá(¿á†þgqqñú÷Þ{ï’ÛJj#†ÔIëüwÜqECCÃßBÄX,†Í›ßG ÄM7]‡ÃQqûí·?ðßÿýß…Ãá¤Ñ·gÏž¶åË—ûív{¾ÇãÁÿÏÞ›GGqŸkÂϯÖnõ¦}EZXÄf±X`6ll ;6Nr³Î$“™ù2sgî|÷;÷›9ç»çf’Üì‰ã±c'Ž· ƘÝf7b ´ïûÒ{w-ß]Õª®®–Æ©sêHê*Uw×òû½Ïû¼ïó( ¡ãСC¿¿víZ—.ÔNS\\œ™’’Rmmm°Z­Pÿw``À¥Ú矑9Ÿ ãimm†‡‡ÿWrròϳ²’1gÎ,´µ9a±0á¤MkkëtþÊ5S¡Q ¢ Kd]POQU:×á€Pïy@Q4d™``À‰ììD$&&&*çZÖ±|9ŒL‰¨ˆ`.xžgׯ_ÿŠ¢Ȳ Ÿ/³™çívû÷¿ño¬Ù·o߬­­†q9”ʾÅj~¿ßû»ˆ$I4¦Ý÷2('ü²"_› ¨Œy’.€f&™ôfÊóNýêW¿Úÿƒüà°ÉdZ¿hQ>ÆÇo!-ͬ²7Þëׯj²¾Z)Fóš^î[}Ž´% C¸šXŠTÔß1î5(ª^±€…#!`dGkÁæ7¿ùÍo²,» .^¬G]];*+硸8 Ç-züñÇ_ƒßmhh2¸'‚šûYÔû]ö”444¸+++Ìf³yŠybj6"€Ä"“ms8B½€###NåYÖû_tÉ‚¿±Ÿ?°Ð—­Ò‹…---OOOOæ8ÎäÑÑQo}}ýèðð° ˆ¸%Eƒ„GÌÌ™ 4î–L-áVHa#9*€¿=æ€LùvÚÝU)YQÍóçÏ/1›Íñ Sð‘}“³™‚ÝÎÀí–Â}ÆÇ3Oª{øÄ¶©û?´Û9Ž—| ŠJæ;Q²Ü·hšÎÏÎÎBMM½TÒQ ƒ¢h$%YÕàÐ¥gÿ£ì¤žÁЃ‹p0CQíp8xÇC?óÌ3Uv»ý¿†˜›nÔÔ4ƒaL¸p¡##,]š–e³7oÞüß$˲¨ûîêçSƒ˜û‚á¾¥µµU$©ƒ¢¨âÔÔTܸq#æ\¡}¦¹¹yÌðëã5#³p9îL´`îÖ5ñù|M&“ ‰‰‰ (*f >s õ¯ÈÏOG0òÅ­nÛ,KƒãXð|è+TVVF½ûýi™“õZ:,–-‹‡(Êðx$¸Ý"|>~¿Œ`ITÕQž––¶<þô§?¡¿¿_ýêWa2™ü‡º#¯ÍšÉ3𺅯_IIIü£>ú? !QÊ4M›KJJžÈÍÍ]õÎ;ï¼róæÍ~D–‡±}„hMÆ=ϛͶ¾°0™™ UQT”ޏ¸PΠ¶¶¶Ɔ°¢.p Àtà‚~ñÅËÒÒÒ¾NÓôƒ„tY–}JÏ32âĉ5`,kØÐÛëC¥®ÎŒ IDATKË âaµZ+Ö¯_¿üàÁƒ4Z#Ï/JÀJ‚ÁàUžç‹óóóqâĉ¨(ŠFJJ ²³s‘= YY™J\3qŠnÜhÆ‘#gA…ŠŠR,]Zó C¥l¼Þ¼^€Q”A…¤$3|>Ÿ·¦¦¦±ëûo' û·åÎÁEs¸|ùrÇÊ•+Ÿ5›Í/RU8cp ÃäÚíö\»Ý¾1???8>>~öÚµkï;v¬V±UÐŽIã“~Ü È¾pcdd¤9>><ÏÃjµÂétÝs0ŒûUz·õ!dp:ÝèììECCKTÇt öÔ¥¶¶,Ë --<Ï‚¦ l66}[ŸËéôß‹£ßÕb 5½àØØ« mM­*UËâS(–ÜãYh ½gÏžï0 ³>øàôööN¯L€ý¹&Ód2¦Þ·³³ ¯¾úÖ¬yóç—###úgÏžÒ÷Þ{¯­¦¦f°¢¢"Uý‹Å‚`0ˆ¾¾~ÔÔÔahhgBFF–-[€ÔÔ$opF*ô@CÛŸaT÷© t€/Po†&E›L&fݺu?¦(j‘,ËØ»÷}tuu+JDŒE@ï¼ó>6mZÒÒ9(**Z´sçNú7Þ8€Y²dIÁÒ¥Kw ÝÝ}Ø»÷0DQ!4ô½{²,ノà¹çvÂjµ°?þø¦ý×ý‹Æ#G4´@@^·nÝ‚ÊÊʧY–µ)YM¼÷Þ{ „àùçŸGZZdY–9òÑÐÐ3FÆ+–ÔñL¹ˆ’Là¶nÝú –e+CŒMêëoÁåòÁb±¢  %%¹0›ÍÉÛ¶m{éw¿ûÝïúûûÇ5´¬#Õ•Ñdï£ý}ûö½µsçÎïP•¿eËÃ8rä,ººÃÀ‚¢h””daáÂ5óÜÖÚÚ:< ¸Ðÿ.1'(‡ÃÁ|ó›ßüÇq?ÔÎÏ„›öY­6ð|²²R‘¤$K¸\Š‹‹9xðàuY–6SD¤šØT÷å2>>~,%%e[nn.ªªªà÷ûÁó¡$Orr2ÒÓÓÃRù`A&„””Äp™Snn&Àår].WeYÊl63f³™&¡f3 ³™ù™.\¸pMéÁø[Ý_\„c„„îÅ_|...îGZO7§Ó…¶¶Nôö`tt‚ ¦'’…ÉÉ ÈÈHAFF hšbGÕªU«ªæÏŸáرc/×ÔÔ´!ÒË̯£Ô1‹Ò$ML2#J¦îÀhjjêÈÏÏ— !$!!N§kÊÞh»ÏçGKK;²³3 ˆ¢¨¬DQ„ øýx½~¸\Œ91<<¯×ú"«k#€Ý`=:êÂñãWAQv{íHH°Ân7Ãb1#.Žϳ™ ý"I2:;Gc²8Ó*ÀóŠ¢hA$­¦‚ ¡²½j ™¡{Tc÷×¾öµf³ùGpíÚ5\¾|ù6ÀE,vbê2©éî 8rä8ÚÛ;±~ýZ˜Ífæé§Ÿž}ôèÑ®×_½¡ªª*}Ö¬YvŠ¢Hbb"Q\\Œ½{?Äàà(GpãF RS“À²¬¢(»$IœæºêÁÅtÅ/Ð$H¿ûÝï¾Ä0Ì.8yòêëo Z{b ߆ H˜7¯ÅÅÅ ¶oß.ŸFMM½"ËatÔƒÞÞ1´¶öãᇗ€çyû¦M›~ùå—`‚Ñuc¤> £õ‚/7oÞô_¿~ýÛeee¯›Í&Çc=„ááq ƒa¤¥% .ŽWæˆÑ‘·ß~û<¢k¬õ=qF×BÖ³ßüæ7ÿ㸄Æ{'êëobtÔ“)yyYÈÍMGB‚ O>¹Òpîƒ.—ËÕuáÂ…É÷ª.ïZf‡ú2áåàÁƒGžyæ™!Š¢’Ö®]s?AƒƒƒÝÝÝÃmmm®¶¶¶À¢E‹²ªªª f¢ÌÉn‘küqOuuõˆŠEX–%ñññlRR—ÀÆÇdzv»±X, Çq”,˲Ïçóvvvö?~¼AxµFˆúûåo ä³4zçÎ9………¿¤iz5ª¬¹qã&®\©Eoo¿2w¨þý9N§CCãhmí!L& ²Q^^€„ìvû’Ç|~iiéo¾ùæ’$ù)ü¢Oªâ"AÝ\>#Æó»0põêÕ±uëÖBâÑÞÞ1ekû;ï¼#¾Hà@ ²YÑÛ§ÀO߀O–ñq/ÆÇ}hkˆø\EÀ² XVÕ»ýŸ,‡À… È J&ýÎzà¡Ýnµ†.Óððp!Å” õú5¨ .f<{¡;tff&—––ö3ÜØØöïßÿ©ÁElvâÎ{3‚›7›044ŒÇ{‰‰ dýúõ³ª««û^~ùåF‹Å"ååå™222âæÏŸ?Ëjµš.,ÇÑ£§ùMS8SöÒK/½È²,Ãó|Ã0ÜàààÅßÿþ÷И°5ûé/‚:LTöýo|c‘Ùlþ§PÐx 'OžŽºîF C–C‡Žƒ¢(”•ÍÁܹsΞ=»˜ã8³ßÀûï‡ß ƒ íª-“’emm]¸|ù-š²²²ùW¯^í¼yóf¿,Ë‚2!„<ûì³åææ.€ŽŽ¼ûî»EÏ<óLØ„/ úŽ9røüùóm ¸Ðf¼Œ2`Úº^£Àöž½†ÇQ‡ã¨¯oÀåËWAÓ|”¢`ÿ(._nÆÒ¥EÈÎÎ.MHH8¯4˪’ÂÍÉ!¶é9½scxxøùÊÊÊÿÉóüœÄD;íÏUkkkËÛo¿}Þét»À£ü4*¥Ó?·_”†üÏ;)¥ù•ÉÉÉ$„¤@cã-|ôÑ)ŒŽŽiúgôóÑM¼qãF;PX˜¥KKÇssæÌyîë_ÿzñþð‡ßy½^B¶,¢›ù:T1—{žÅ¸kÃétJ¢(v2 Ÿ€Oã =õöé7hÇàcûí5`Ë2ˆ¥à¡>ÑÁéô¿—Ê` ˆÊ`§N &åÆä»ø`qRRB8 Òß? Q”@Ó“žž^®ý^³fÍÚTVVvº¶¶¶5我=•Œ²³_”,ÔªU«ì©©©¿`ÇÞ½û4 ¢&­Šú\<øxžCaa>L&S?þ ÆÆ\Q=-Ñ€ãÔ©ó˜=;ññêÑG]ÙÒÒrH„€,ËABõÈ#T¨àâòåËxÿý÷QTT„'žx"\ªÑßßßôÎ;ïÒøjº$Cx%„øu #V`{Ï.«V­Š§(ªjjj5ã*¥I,…~onîÇâÅ… (Šš={ö¬‹/¶*o¢#F¬1’|ôÑGmåååµ<ÏÏq»½à8,Ë ««ëæ‘#G.´´´x©.öiú/ˆÃáø.jpp|p„0`6"KÚÓ3‚‹›ñÀE ¿öÚk¯´µµ©€JRæ½R” ¨4 ±_$C ¿úê«'\R€ƒ€UQgTÿŽSVm-¼`·Û9p»}ák""†Çqа@´<©`þýÊýéÕd°ýº¤vq†% f¸3ßùÎwV%&&¾ÀðᇇQW×¾Ö±â:­MÆD$òkjêFW×V­š‡œœT¤¦¦.ñÅm¿ûÝï~éõzǧ9>Éšñ_¾×¿ïf0 ƒ×øXãä oÜAÿÇ5`Ogûô„/E`6‡pààà ¤¹ 9âe&A¼35£@P«W¯¶›Íæÿ •FÅr`ÕƒcÂè'tì×싨}öîýõõ€òòòäíÛ·PÅ`}>Ÿ Ä$§ÓƒcÇ.àæÍ.tv¡£c}}ãáï'«d&9ƒ{€¾_îO›…ªªªúGBÈI’ðÞ{ÿÇk𬑨¤ƒ¶N–%|ðÁQtuõª¬¼Þ@LC­HºœÒ Ž9 Y–‘˜˜˜°fÍšR%4Y,[EEÅpãÆ ìÝ»xúé§a2™ ‚ïôéÓïýâ¿øSooï("û ´ˆ\øuL†ÞþžWËÌÌLR/Äø¸3‚µÐ ‚¤¨V«Õªy&Tý89YšŠB‰Ùlfâãã« ®î|¾Awggg[KKËÐ4 ±{b"–ôôt†¢¨U!y’z­°ã¡µµu€¤°°°X Õ,»’xâ5ãƒsñE N¼b´¥Æ>eU~·òÓÀ“˜˜h Ý“îðóîó…el¡æLA,µ%zúã:c¬.õ} !Zà¡e9þ0îrsÏž=¥ `s¹ÜxõÕ7pýú a²¿óµ@@ÀñãWQ[ÛHJJ*ß½{÷W !ñ)„ªÏ²þyžqU*wUa(t@||ügÀcZ|¨t‰RÔ¦XE‡‡ÉÄÁlæ`6óáU}çYp– ©U•Ïĺ?§ãïa¼}êò1“‰ KÔ 06}¹_Õ@ª²²r!$E=ztŠë].§}ȧ:îæ¾’$ãÈ‘”,,PRR’´}ûöBëõzeày%%ÈÎÎ@VV*ââÌèîB]]{ÃF~¿¬±±q,¸Œ0¾hý½ï}ïK,˾§OŸA{{».¹ ±K¦AÄÞ½‡1::B6lX»Ý.Œ@…Ñ¶ŽŽܸq °lÙ²ÒøøxÓêÕ«çsg@QQ6mÚ¤([÷üáøõáǯ)€ÀH1N_&¥Ï~Æ÷r Ø××7¤~N»Ýn.&ŒÊ˜°’ËåÒšÑ1ÖX¾çåá‡.§i:ššÚµ›b1Ò“J œ¾ÉÛÁ(//·B`xx$ì•`Xe™Àíö«€*Qˆ˜uà‚™f0òE Rž£€ÎUpáV‚|5àà¤(Êo€‘gøz8^5Xä© „ø•ÕGñB´Ç׬záÑ1ê³<ö·å’R«V­²effþ‘ïñxñÇ?þ }}ýQ BÑ" 7úŽÞ'’Ѹ|¹ ׯ·«É”Å›7o^/˲€]2´Ï4oÀpPdòõ¯º0wé•H~¿? 0bàÑ9Ôc6›a6›`2™`2ñàyuåÀqX–Çqà8 ÀaB` ô{(³’±4@š¼ ËàËL8@–eH’¬4—G®‚ AB¥Q‚ B$¥T*´¡Õïí#ŠÑ~JÓ)S%jeYÆÐÐP FÖlJ—Ø™0fddp<Ïjjj0::\Äb¢ƒÈÏn_ãÞ 8yò,$IFEÅ<”””$?ñÄÒÁƒÛ½^oÐl6³+V,ŽúVÁ ˆ‘RSC2ׯ_?'Š¢Y£8+5²§zWPU)‡‚âÁ0²×w8QPè‡z(ÞápüoToo/Nœ8£¨Û>Ÿ{÷ÆÓO?³™Ç† +ñî»Ç =™„H“–IɲŒ“'«1{v.xžcy䑹ï¿ÿ~ýüùóçÀ¥K—àv»±yófB066Ö÷»ßýîññqŸzý[–:H‰Õ¡-“š1ÍÞ'Ož©¬¬¼EQTÑüùeèÌhÑåŽ>ÝÏ™˜,˜I©ªªªÿJ)‘$ ï¾û‡4qäTŒEä<2Ù>Ú¿¯\i…ÝnAvv,X°áêÕ«-­­­š^)2 û¦]ïÙËO0ɶðƒäv»; çŠ+pîÜ'ွ¸¸yy¹°X,ʇ¸¸8˜L¼ŽFúk+‘Àˆ¢&Ìüîü<…\É}>!¼†Lxe ÂçÃ>ê’˜hÂܹ ·Û-øý~¿.k©NfÚ¬‰-?c!½4íŽ;ÖBfÀùóçöÇ›çMÝoq·öΜ9–eP^^Šùó秺\.áµ×^»ñðÃÏJKK³rJÔ <„eé0¸èëëëüàƒêXdYŽ˜ 5Þ ².ˆÔDÀ}扡WZ¾|ùßBrEQÄÞ½û I"¢K#õ™(hf¡†‡GqèÐIlÞ¼))‰X¹²'O^Ò€ ‚è&oI“ð–áõúpþü<øà2”””drÇò<σAœ:u °ÛíeYÞ·oß‘ññq-HŒÉ`hz.ôåQêªÍ¤&I‡»Eóù|’Óé|ÙápüSii1ººúQ_ßÅ`$';°pa ¥¥¥}ttÔ‹=ˆöbÔ8sGl6[47wêï-ÀÐ^dQ3ëkçõFZ2µõõõ‚(Šu4M/+))FSSGÌR¼¤$,–ÿF{{»KÉpªê2AÚ^‹É‚“/ZöÛ¨<* šd¢¸¸Ø¡&ûâãmHMM!!?®Ð|haFA=¯Zp¡ð¸ + ÷cü `ÜÅ8ã…^(`Yöë¡£­­íÐæ#ŒÙˆhàa¼Oä~ú!çüù[HI±ÃdbÙ/}éKÿö·¿}KQB6ºg%ƒØN„b¬{/ÎéÌÝ|hkjj.çäätÑ4µnÝC(**ľ}ûár¹±uëÐôÔº,˃‚ðûB¿ƒÁ°l­  k *l‚I’ I2$)ÄH’ Yž0Ë ýnäk@*š„)i•¡iZù*·RMþhZ¥å'LÿÔ¿Õ2«ŒÝh íCÃfã ¿w0(áÌ™.8Að<ÒÒDÌše Ÿ“ššš1:ˆÑ:i3Ø ( Bî™Û »»}}}†àân›çMßÛóØefÏÁl6£  Ë—/Ï ¼üòË7)Š !’šùLNNæ*++g¥¦¦Úº»»û>|Y“ò¼Qš F2€b1Záßï#ÎBýÝßýÝ–e_€3gΠ··OS«oÌN³ÚCO€’ææv\ºT‹Å‹ç¡¬¬]]ýhnɛ(Û&¤kkjn`Þ¼ÄÇÛIAAAªÊ^x<ž°Cw{{{sSSÓ8Bt84ÁŠd.‰’€ä®%$Zœ|й$ü¿¯¿þúë{öìÙʲì’õëD~~Úàv`±XŸŸ…9sf¦)ø|>ï|p Æì-1F F¸9wÆ 4M熀K§~Wõ:h!BDDëØÇb’ôŸ{#11qYaaæÎƒ›7;"X BB:ûK–ä"ĬŒ:•’I ‘Å“9 ,ÊAþ4«@b0åo¹KÔñbÍšŠ¨7 išúÊW¾2ÿܹsíuuuƒLˆdx4«Ë€ÁÐßGÁIÆß@Æ-:##ãßà].·¢4ÃFmãr©è¿'oøŽ,~¿€k×:°téldeeÍÉËËËimmíP¤¥õâ-úgX5ͼg]îf‰”XSS3äõz·oÞ¼ùïm6Û£99ÙØ³ç«8pàΟ¿ˆŒŒtx<¸Ý¡ÕëõÂëõÁëõÃç ­@²,kÀÀDÝ­‘$턚ùL¶kßwºÛÕúYžgÁó,L&& “‰ î˜Í,ââB}!BÁlf`³ñ(/OÇ…ÀX¿pàÀ!¥©Ð§£MµÇ3ÕÍ—*--51 ó(ÔÖÖFl¾SC<# qw÷Ü7C–£GO ..©xä‘Gr…–––qBˆHQ=wîÜ䤤$Îãñˆ­­­CÁ`P\°`AþÀÀÀPggg0$º Y,P¡ˆH©ßGY¨ŒŒ .99ùŸ0CCCaIZý=1}a¼ÿÙ³W™™ŽŒŒTU-FÿÜn/"½0b—II’Œ³g/ãÑGW+‰…{±hÑ"8Ȳ,;v¬N–eNw ¡ Œ”L¹X“¶ŸÅ3«üˆÄ˜7¢{íkýýý½{÷~cóæÍ¿ây~qaa. s£äñx\o¾ùæ±ÁÁA7"¥<€è´zÕfÏž½&tlBí L— 0´ßM¯¤wç&a0(Ôk¯½¶ï[ßúÖišÎ\¿~23›pãF;Üî L&²³S±`A,²,ˇ¾ª-•D´©àdÒÅ¢n~ø¢”HiÏ•^úSŸ!¬V+µ{÷î=iiiio‚P)tèjòrrr’srr’[[[ûÿò—¿\q»Ýƒk£e2ܘ(‘òÅ`+ƒ{HÂߌO=^­_¿ÞÎ0Ì6¨®¾¿?0Ii0uÃ70Y©”Ñk--ƒ(/Ÿ³™#K—.­hmmE¨2A2`Ô´«^iêþf0ˆÃÿò/ÿòß¶mÛvnΜ9ßçyÞ±eËfœ_˜½hnnîjoo÷#Ô¤«-çP¯›Ú<Ð+±êµõM¡Ÿ•¬¡¶TŠ9HÆ` 4óˆ6h—kkkG›››¿öÔSOmÏÌÌÜÎó|¾Rþ^Nœ8ñ‰â¤M`Üc@&Y —¸¸¸ÕÐÑÑ£\ˈûHÖ€>mö[@t“¯Q‰T¸@ïÚµkMÓ™ê½X^^ˆòòBH’Q¢%I’tôèыׯ_мÐà~ð$¢1@ÆLL. ˆÅ¨éýõ×.â¾ä8ŽúÚ×¾ö›Í¶†‡ÇP_ß‚îîx½’âObËš`³Y‘žš¿yyy©Ï?ÿüÒ_ÿú×'ƒÁ Ên 1®“WÇ`uó¸ •1!G,©îΓöˆï>ëûÓñjÞ¼ykØ%IÂիצ©-"«|*šÞ'ä—4„’’ äæææBlr¨¾VTük‚ºqEŸ¸¸g]è»ð CóÀÒ h¡ëêêºúúúÎæçç—r—’››QÑÙÙ5 ½O»=–Ÿ1cq{Û©,Èt¶G.YDQÆ‚©ÈÈ9‚¶µµ ¯½öÚXCCƒ[–e?&ê4]ˆT·pp)ªÚ,ˆl3aÑ ³nݺÿ@Óô¼žžœ>}ÑJNѽÙlF||<¬V+hšRq1%è˜ê¸±÷%w´¯( èééGqñl˜L&:++Ë|õêU—Éd"%%%vZ•àv‡|š”’=Ún·'”–––Íš5Ë¢xbˆˆ6a2b1&›€fb€A`6lØ”——÷:!ÄRWW‡Ó§Ïê²FTÄ3¨ÎõÏíTû<?fÏž‡Ã §Ó‹‘‘qDÖÚFÿT_²d²²ÒðÖ[oaáÂ…(++ƒ$IòÛo¿]§·Á€WK¢´¬…±uô£êþ?‹ÀBë?’››Ë}ýë_¦ªªj£Çã¹ÚÓÓ#k‚:F7WhÕžˆ4*û3Á`¾zõjÛ™3gŽ%''»RSS—x½^ Áf³Bommm‡.á¥5#ÕŸ7}f_ fÅŠÉEEEÿ€¹t©ÃÃc „‚sÀq,zzzn466vi®‘Ú¡z©Sm"(¨ êiÜÎ;eggÿ’ÂŽŽzÀóLÔ8"˲ÔÝÝÝõÞ{ï»zõj¿æûªß3 IDAT^|òIµNýobˆ|M¯ðF ߢ_‹þ›h”á€üüdpÇ×××w»C2qê¸"!v©£¾‚á¾c0€è:± €@CCCwWW×á…þSBBÂ⪪•hoïDwwï=lÀkû§ñïÀ¤sÁ‚T$'›§Nò;vÌ%I’‘v¶W3Qxu«QÖr&š­TAAA¸<ª®®.f_EQ(((@yy9rss`±X7õ“2Ë9„úúøüz3¦·ïÐÐNªÆš5Ë‘››·fÍš¤cÇŽõÿüç?¿±eË–¬¼¼<8N¼ýö{0›-˜=;åås‘œœH —nܸ±ÿþý+ל‘å`t´úý0¡„ŒŠŠŠÿ@I ƒ8|øˆá3y;ªQSïܸьÂÂäæf¢²²ðz}S²&yóŠ.\@ ÀÊ•+ ÃÝÝÝ’rE͵£ ²äƒ@EÄNÖTü™\ B³{÷îŸ3 ³yä‘ìË—/ÿgÓõ;hWQ3—ÕÅ«Ù>¢(ú÷ïßÿ žç“<ÝÚÚ꣔ûƒÖ¼oP—„ÒþtÇÈë™MmÀ.°ˆ‘ ¥Ju·Y #ö‰2`Î(ƒ Zû»ÀÕ“@eee=·nµàìÙ HKKGFF:ãaµZÀó<(Š‚(€ ¯p»žv»ˆ´4sæÌ™uèСëçIÒÝCúïI$';Æd*CF½xÇÒžêûÝÐúlQ5õxÆ’–Nƒ÷tJ¡´s‰~~õB’dPAfffJ__ߘ:Î˲Ðø©k”¿Í½ØWy·|0bÉ¿ù\.—ó•W^ù‰×ëí¦( «W¯ú øÏÒ€/rœ½Û|©©de…Ê¢Ž?î;räˆ[.|:P¡ÍD¹Mm½Nv3° L_µqãÆ5ª.|}}=ŒLî ±gÏìÜù4ÊËË`³ÙÂàB=¿<Ï###“âÝŽyžÞcãvö5òÍhllÆÍ›-€U«V%åää˜GFF„W^y¥éĉ²,ËéééØºõ x<>Ô×ßÂÞ½‡ÑÖÖ ())Y¦ÉÊéW}–î¾0ßÓ*G=ûì³ùÇ}Ξ=‡±±1Í@~çÒ´Ó|Á “‰Ã”…q'ËZ-\XŽcá÷ûqúôi,^¼6› ’$ÉÇF¤bD)‡¦ÌBÏbhŒ˜ÞŸáäCPßþö·«†ù²ú"ÇqÏ=ÿüókbÜ›ü™d Z‰' 0 ¹9ôÜØl¶øŒŒ “°Ò¨«é™;9Æ@M¬Vëj×ë×0÷ŸQ07™Éž¾ÔEeô† þoŠ¢Š$IÆùó-ÈÌ É¼÷õõ]º|ùrǹsçnÕÔÔtŽy4ÇÖ×ñ‡}!ã¶Û£K@ :E ¶YÍ51!R{_oì©w¦ïb,¡ÏªKÁè B^f„äzÃÎÜù Ø1á-`G´)¡ú¿æ„‹ÅÄq\>ÄÅ™ñâ‹;±sç&¬^½óæ ??™™ HOw +ËüüxÌ¥Kã±|¹KètX,–8B%Ë2¥¨ÿ±/”Ž•Ð².¼æ;}?ýwTW½Y›ú=õÏ]”WJ5uãŒP®€Ê€‘‘QÜ^£6¹C/ èö ½&2|¾qíp8ìšgP½nŒ†ý½'¯Õ§f0ôRµ:€ÁðÕÔÔü¹²²òßçäÌBbb‚rAï$@'5'&l¨òÁ •2Et†WÆAåÄ”KÂJSj“¹,#¬F%IÐmÿ4|ß©°0$CÛÙÙ)ž8qƒèÚj-ÀPA†›â1 ½²SÒ {è Úf³m€žž Dæ Ãàá‡Æ¢Ej麻»ÑÐЈ®®¸ÝnȲŒ¸83¬V+ÚÚÚ§-aûù÷qgÎ\@ZZ ìv+Ù²eKæ/ùË›Á`;v¬Ïét6nÜX‘‘Žââ"´¶v)Ô<¥fSY¼¦VSËbè#µ1LT'òš­ 999ÿ€ÉåráÌ™3†@`zÒ´·J\.Ο¿†•++PX8 èí5n D†ÙÌ¡¼¼P]]`0f/ºººüýýý€qɆ¬ËVǪµ×?ÿálùg| Êf³= €ŒŽº!Ë qTffæ·X,[Ýn·#)%k¾ €€¨e”2$BÐÑщ@ Žã0oÞ¼¬žžžZ £ öªÄ*4ü<ÏÓ,ËV…Æä¾ˆk/I’úÌÑ“$Ùb¹zëÁ@}÷»ß}”ã¸gC¬X$I†Ýn\¹rå B>F½ê¹Q™," ÛôÃZ`¡-·Ñfõ©„„fddĨ_KŠ‘95¬“p— #†"Â4qéÒ¥IÅÅÅŇ£ˆçù\†a2hšN"„8!q„N½ÿeYöI’ä ƒ#^¯·{dd¤¹±±ñÆ•+Wz¥ÐÅ•5÷²¢(3df¦‡?”×ëÃÐÐ(Ün"H°, ‹ÅŒÄD¬Ö8°,«è¿Ñ4MB8Y–ƒ8Y–9å3q¸ôôôÄ ”efffÛl¶ žç“iš¶Q¥²T²,ËI’<‚ ŒƒÁ!¯×Û766ÖÙÙÙÙvíÚµn¥¤r*°+`zó’ŽÙ ÷)«¡ÞWVðûý*QúX*Lå…1}À"¡ÇŽeY=°çeYæ5÷M”ÙÞ} 0 ×(€€ûøãÏ/Y²ÄÅ0Œ5??##cày‹6›MãaŽ0Ûã8V1ÛcÁ²¬"ÿªÖ¯}~þ câ§ HEQù2ßÓïƒæ{€¤1Þ 5s¤¤8À'Ÿ|âQú-ôeQÚž '!DK}ëéïÏ;sy·©p€Z¶l™a˜@H=J¬ó<;v //W ̺qøðtw÷Ìf ÐÔÔŒ±±qÒ‡éâÝŽyÞÔ^Óß7pòä'ظq-’’’øµkצ§gŸâ8ަiz ´´ôcx؇µkKÁ0ÌÜmÛ¶=öÊ+¯ÒM‚’.hÖ³€Aó4EQá V%´µµ£¨¨yyyÙ.iŽDl9V#ƒ 6oÞœEQTttôFÌ1’.‘btàÏHh2Ï €Þ¼ysŠÃáø1jhȺº,Z”£²Þž‹/¶`ÂDO ¶DÍwT{/œ„§k¡Ž’&¨Òf>Žã˜;w®ÈÌÌ|žã¸U###?ÿéOú[Ä.»-…+ÞÅ9 &¨Ø°aCVqqñCqqq«X–]¢d o+Ž1™L°ÙlHMMÅœ9sä 6tŸ©©©9röìÙVäñÇV½'½^jkpóf+††F£.µýZññ6æ ¼¼qqf°,Ëlܸ±ìý÷ß¿¦>¿¹¹¹ŽeË–ÍÎÎÎ.¶Z­³”~€i/ ÈÌÌDii)Ö­[çõûýMããã×»»»¯œ={öêÀÀ€Ær»F%{B 4îS!(@“»uß «1y©”þµ ‘èX,VÇò2I¨{r¹›CÖ 8ÍÀÀú|>§Ûínt8‹V¬xË—/ƒÙlš–7ÆÝÆ,ôÀ¨^Š4{ÛŸE’ä0 )ÓH¸yó¦K,T¶Â©f¥” DD܈l ŒÅ^È3èa'è•+Wn&„Ø$IBmíõˆqáÂ…ÈËË…,Ë8{öœEçC·µÇã‘1y¿¾¬í Ç`è³ Æçóu9ŽEKœ!PŸ¹îîn (¾ªÙ^ ÊdO5Ú ÉªF{‘ÆzFhQ¯£úV¨¿kK­hzâï‰Ò, ÀaB?' ÷˜°áË2HK³+@i¦Š"à8:ìu188ðù|n¸piÖqBȘ4\C¯{o$M:#Ø Š¢h‹Å²;” mÓéŠÖ›ššÑÒÒŠúú¸rå ±mÛV¥¦ý,  ãÆ}S±ŸÇ¾ÆÞ—.Õ"7w¬Ö8²qãÆÌßÿþ÷Ͳ,K’rS3 šfáóIIIIYYY‰þ #¨ê½qÏkgO‡½øÚ×¾¶€a˜ÇTöB%l`4ÛðYõetw ¥¥ ³ggaÑ¢B´¶öA{Q–eàóùpîÜ9,Y²‹¢(¡««99éX¸p¡íã?î—$)"Š10\cd!…µøÜŸûôôô D% ƒaâÐØØ‡Œ ;8Ž+]³fÍ¢#GŽÜP&uõoÞ¼åsçÎïíí=úÑG½ëÖ­>@[úT}†ˆö9ºOØ €‚ÐÌq\IJJ²Aœˆ)Ù=ÐŒ >0)`1›Ù°—ÊÀÀ@ºR@Ä' îå“ÌÜÅcéû0ôÙ¦ººúíU«V%Ùl¶ù4M[cèøñÑÒÒŠH)ÉhéÈéÉKRwA®òöå,)ŠÂ“O.é-~¿_joo÷ž?~X3A¨“…ZåRšöœšU_åÃÌvù ß'_ùÊWJiš^—/_‰ ʇ‡‡ñúë ¿>88—Ë «Õ‚µkר#êêê?“~‹Ïrß`PÀ'Ÿ\Áºu+mY°`Aü•+W†ÇÇÇqqqlrr"::pëVrs3Àq¿cÇŽ/ýú׿~Ûårô ÑòŒA×÷Ï8ö"%%凡Ғ!\»Vû™•@M”œ?¹¹ˆ‹3aîÜ\\»ÖÁ^Ì™“f/DQ ³7ov ¾¾99ép8LAAùæÍ›ãv}V\_ª¢²¤1›ÍËdY†×ëC0è!,úúÆàtúa³ñ(..ÞpäÈ‘6õ¾S@†6)¥!è@†Œ’”OÍHB022†¡¡!$%%aΜ9ÕÕÕP¢'óÁ ˲4Ã0ËCI®þ¨{GE`ðš¹SÖ¼ßd" á``õêÕŽøøø@ »ÑØ*ãÌα.—«¥©©i¡l=ƒ!k|P|ˆTRûñåååñ›6mú'“É´Tû!(ŠJ²Z­sKJJžS_ëïŵkpÃb±`õêbØí<[RRò_¶nÝj~çwŽ0gú1ä¶Æ‘à‚@/Y²Ä¶nݺg2™¾¥F^466¢¶¶MMMárÈh)hÄ”‡ÖW,„dó»ÑÕÕ‹S§Î£  ••‹‘––¨¯¿N\DŽd’÷˜¢(¡¥¥ ‡Yèžž!ÔÕµ £c@I†Cñý±õê™’$c|Ü §ÓööPßW\‡ÌÌxdg'"%Å š¦íYYYOîÚµkSooïѼÝÙÙ9ˆèÒJm‚’Ö1‘ o¸@|>ßUŽã6æäÌR ö¦Ó¨==ŒÛQ–JI±‚@E¹»»;€ÉUÓôÊh÷w‰”®Ñ[ßì8.^¼xóâÅ‹ÿÃn·'=ðÀK³³³%&&Ή‹‹KÑÖ!†2Õ_aÜ>Õï±â”Ïïêçr¿ØÙÙhjjò¶µµ¹€¶,*ÊëBSWá}ãò¨Õa Beddü2>>ކ†FÚzm°>66Žÿó^EUÕƒÈÏχÏçɧ0<<‚϶A{bš¦QUµn·.ÔàÓôf´·w£««YYiX»vmšb46žžžn™=;ííðx‚¸r¥K–Ân·'<ýôÓýþ÷¿ß«Q)¡”牞$Bf‹¡e/^xá…•½8uê”bDF>siÚÉ@Éø¸7n´¢¬l6ÊÊrÑØØ ¿?@Æüù³Á04¼^o{QSs N§CCcHJr`áÂ…ö›7oöO1IUþU“ ‚ t1 «5«WWà̙Š:;GQZš†ÄÄÄU_ýêW=~¿ßÛÙÙÙvîܹ[ÁÐ@/é˜5ýá6 =êµbY‚ àÖ­f$%%!33³„ò¾2䕈Nf¸G­_¿>•¢¨Ù¡@p êyW=ut †¤TŒ÷SçA¬X±âG„ù¤<»¥ËÊʾ[[[{«¡¡¡[ã?¡en(ƒï}[YdmòßøÆ)))¿ (ªH)Áùóçqá¸\.ݳiÔKtŒÂô@,K¸u«££ãxî¹€ööîIŠžµ0z¡¡±ðþœCw÷à´ÊÔ`)’AñzƒhnBsó0,³g'!?? <Ïp™™™>ÿüóUõõõo¾÷Þ{GDQT™.Ÿ’|òiÊoT°¡Ÿ'ôòÏ3dtvvž˜;wî¶Z­˜5+ ݘºŸ“¾»4*voGVV¼Z½ãõz½Ò4ƒÐ{~ù,ŒX™›ðÍ:>>N>|@ »ÝnO›;wnÉ#<òTù †“zlÐk»ÞE1¤oŸÎñŒ@qOǹsç„+W®øƒ‚ h)I?"›¹Ý:¦b\*Ü:p¡—œ‰ýáûcÛ¶m³8Ž{ª«/ ”Œ:XwaÿþÐüÞI¿Åí쫸RS“QZZY–QSSDî´7£ºú*22¾»Ýέ\¹2ùôéÓC)f³™Y³f:;18èF[Û0òò’]°zõêÒ>úè2Œ –b‹™4€…{tÒÓÓ¿€Ó°ÓgîdL¾ÿ•+(.Îϳ˜;755-ˆ‹ãP\}õõ:_¢(ãôé: ‡úÛòò’1gNÊËS±pa .L@qq\øQÔéx„dVcIdÞî½.~øÃ~Ïb±ü?22‚—_~~ø¡¸¸»Y}€Ïó|¸Š"(o èOƒ*'®œÇÏüóëÿW$46àèÑ&tw; óž{/--À¡¬ÚgP}þ´Þ úû(CóLβË@@|æÌ)DzzzÄ\~'*Q“ùcyaÌ›Š"ðxc€q/³ÆÇ3X´öÁ©— 04Ýzå(ÏdàB–ei†P—áÉwûöí³8Ž{Ο¯ëRß-“»Okˆ7è ”þ‰ “zǽzõDQ„ÙlfV¬X‘ÚÖÖ&þìg?k>}úôÀÈȈ_+ŠÊærq4MÇ©“‚6(€±™YиÇ'Šð}RPPðÞçóáòåËŸšˆwàé§Çž=»°gÏ.dggN”×®5CDpƒŠŠÙ(,̳²,cùò倦¦¸\~؆ÛíÇÐP¨õ¢´´4Ær±2ð÷#å÷ûåŸüä'ÿkttô/ê9s¹Üxï½øÍo^ÇŸÿ¼¯½ö>ÞyçúúF€Ì;wóƒ>¸x’G½w)dll,‚Á©ðɸu+Ôì=o“6Ú P ÿͲìbèí2¼ŸC€K^ý˜çŸþŠ¢–ÀåËmŠî=E¤§‡Ê£:::êm´8ÀÐ ƒø–,Y² ‚ˆK—®F ­ù£,46ö„§î‘‘‘n—Ë5 }¢(Að¹\®þŽŽŽóÇŽ»¨ùLŒ®|ë¶î;½¡*ú?øÁWM&Ó? Z[[ñ›ßü·ÍZ|Ú¬h ŸPš¨»ó_´ñûašÛ(Ÿ–AQ÷óùœ?߉+Wz!Š2xžO~òÉ'¿_VVV¢voÒÌ!†÷ú á„ø[o½õ® í„<òÈCŠ€0Ýþ‰;ñÂP_KO·‡{¯Îœ93î÷ûƒˆö.‰åab$}O-ÌgråB\ªÖ¸&8 ÕF!´ÉdҌ閠}~,E4è˜äÜÌ¢]x†SiêVW}3·Wóÿz`1#(K£I¦¨¨è?0{½^ñ©[¤ IDATTW_ø«7]ßIoÆÄé'ŸÚcÃãñ¡±±¥¥X¶lYüéÓ§Ç<pøðá¡#GŽ 89;;›)((ˆKHH`¯]»vS‘MÝÝßF c&¨ƒÔ‚ â8Žû*\ºt@‘eá·28ŽÃ¶m›2NL&Ë—/Æ_þò¦S2M‹>_ í(+ËGQQ†’½Õ‘kÙ‹ÚÚ6%Л`¹ÛÛœì@~~~îÃpáÆì¡¡q|øáylÜX‰”Y¶lÙÆÓ§O·H’¤öˆ0ö »»»ÕB|˜L¦ðyoh¸…ùóËa³Ù²òòò’[ZZ†ÕIWÓ#¨Þûzf™™™žN÷ó|ƃh2™àt:a±˜a6›a0`0Àq,†‘j1KðÙg§‰DÁRVr2qÕ&„d5w#³™[íÖÿ’ƒ åSJ¿ôÒK-:îyÅŸ@,n‘ÉÝÂöÕîÍðûƒH$ðù Õ‘ëïùèììGSSôz=½yófÛçŸî{á…Êív»ÎãñD†‡‡}§OŸž!¨Êª2‚ èšýÊÀJé‹‘Bf½ç’£÷Þ{bApúô¸^¨U«VÀf³"™LââÅ‹hooGQ‘E0W•´ð’©ŽŽ47צË#Nœ8‘Á^\½:‰PHGs†|##Óhoo„ÑhÔÕ××[¯\¹}ABƒù÷oçb Žã(›ÍvŸÈDž×ëÃd¹bƒs?vï^³Ù\ÒØØX×ÓÓ3 ¥pàV/¢´×ëM ‚#„pƒ^8 #‰Â`Гõë×· V@òùi™U1pçw6ÉR¨SS³š@2Ëb0äã+›Õì €¹ÿþûL)M¥xœ?-c씕Ye@æëééñHCÙ{!h01“!¯ ¼ é>€¢èt&^‹ÅKÌžçùX,¦—® Ÿ Kˆâ3µÜå¯çY&¨ÖÖVƒËåúgœÇãÁ¾}ûò‚‹[‘õw»gÁó<(ŠBee)úú†®TVŠŠT““ž›Òؽ€"ÿëñDqòäî¼³,ËZŸxâ‰ÿå_þåg±XL}É<àâËlÄ—!ýýûßÿþ³þð‡¿w¹\O¯[·¡P§N]Ðd´½/æ+ŸÊ¼O‹»îj€^Ï ‹ ï¼óŽOêÏUªz¥ŸsÉ×JmE \¿¿: † dÈ)­Za%ÀH(†ür8ø‹¿øtºÂNurr—.u#·šÓ| ã…ƒŽìã©4éã¨]xc ’Ô=êfP6ˆßj·Þ‘&h–eéÊÊÊÿ €Îçóáôé³·Üäîz÷ ‚øÍoÞVŒÛBXù ±AðêÕ,_^‹M›6Ù®\¹©ªª2€Ùl¶ÔÔÔX¶nÝZåv»ý.\è;yòdO<Ï(û–S5¸÷ɘ !KÍH)íb4_€þþ~©“àzT *+E†¡··—/_F{{{ÚÛfÎaá #Šbjjåå.„B¡,ö¢³s$‹½x½ƒ˜Í¬X±ÂyåÊ• Ìo´¤2„Û°X€°fÍEQ6H ©êÿ3A†ÇD<žË2(//¯èé陂èHŸ|Ô;*™Lžçƒ4Msz½>½p§R>‰«W‡ÐÝÝ‡ŽŽn\ºÔŽŽœ={ ½½Ws†[WR5/ƒS ¥k·Ö{­fîÔ—¹Ð`/(Ô÷¾÷½]4Mï€C‡§ÄÓ}ã÷-¼#‘Hf™½Öo‘ß®®«f³™)--åzzzB p¹\Ö;w®ÿñüðúõëë]_^ˆ(Y¢ã… ^|ñÅrýú™3gq#T XV,K ‡ÃéF}q¾°X¿ °XLéÒˆãÇ@š½˜N³ÙA7Áؘ¨4S[[ëÈ“q×jÞ¿ÝŽ®<^¯×§ÏAd¢©¬MYß.×¥Bôk¾ ‚ È ¦Ê&Sšçy’J¥|`43î{gg$ð]²råÊjdOê4€EÚ'Æ`0Hæj¾¬RGy È— ÃèX–eÕϪ?Í^lÚ´é¿BØp8Ž®®±Œ±¨ÓÑp8ŒÒظ¦8Gå}Õ2[T;/ Èï~÷»îT*Õ÷Þ» F£QÅ^ˆ¬FE…õõbv½³³sPõ¹TŽjƒ|òÈ…®CÕÔÔÄéõúÀ¥K—píÚµ¼r+³þ}}ƒ€úúê4˳¥¡¡Bb¦âðx0ô°ZMp:­()±£¢Â…ªª"ÔÔ” ¦¦••E(-µÃj5‚aèÊZhí79Æà Ø÷ÕÜܼ¹ººº€U¹JÝ‹Á!³?hÉ®ó%¾‘m …B‘×^{íÓÐÞ¾?þìvkÁr³ù¾)44cçÎf˜ÍR©Þyç_gggÙ%颹<ϾZ †ŠÅPfc b0XŽãRêÀ ðz}øçþWÐ4n”*Ä|ïÖ°ó³"ŠÅAÉ`¨khÃÈlÖSËÐ&4h±/‹ m.pA¯[·Îl·Ûÿ1Ã3ŠÎÎ.,uC<­Þ Š¢ÐÔ´ ~Ó7Àccîw@££S¨ª*ŦM›¬¿üå/'^yåÖétêÂáþ +V,G}}-Ìf³å¡‡zÀb±P‡: €–ü0àP³éì0–f-'€*--} ƒèëë»!ҴѨ(!©×ëÓ R‚ H ²(CÁÚµ  i Á`_|ñEš½ày]]ãéÒ(å&—IMLÌ¢©©ÅÅÅf£Ñ¨‡ÃŒ2H–JÞ”½jq;ú0Ò vggçäŽ;"„CEEEÚZk³XŒà8ñºOMME€B@/•BÉ.õòؤ’ɤeY†Œ{1::ŸÏ›ÍŠööö¶ÎÎÎiE†ҼɪÀE Ųì*‘ðæ3‘H<=—Y­VÓÌÌŒ öÐv£¦wïÞ½Ád2méa$“¼*ËmMSAèììœ@¦¿†²Æ=#Ò(‘ èï|ç;OÑ4½ œN;ž~ú!|þù%ŒŽºˆ>%+VTcÕªjBàõzý‡ÔH6Ê¥/Ê ©º/f1M¦µgÏž„ZAðÙgŸÝÖ"Ößét ±±e0™Œ`„ˆ—çy¤RéÞ(´ö”ÝI­õ%¤%3à]»výWBH#Ïóøøã?e4ÁÝ C¼B€Äbö­¬,öm›'ð›ß¼“ÑCt#ü8z{‡PUUв²2®¨¨ˆ{óÍ7§¾ýíoW˜LFRVVŠŽ¢¤¤Û·oÓi'[·nÝ~âĉÎx<ƒvc«–tíR¤º âr¹t,Ë>%g;ç2ãóKÓRš¦ .s×^.yÑëõåmrOW.æ#ȰZMhl¬È`/dß‹ÁA7Âá(І¨&d•IMO (Š"õõõöË—/û ]Þ¦Cn%£ÔíZ¬Ýnw$7 _Û´©ýýCàym€ÑÚZ#ÍïÑh__Ÿ™Îój´t L&½s ÆÜ½—/wãÎ;7¡¶¶v•Á`8Q²äˆUm)“ÉÄ2 ³\d0¼šì…\²(¿l6›iff&&“¦ï Ã0ìš5k~€x_}ضm#†áôz½1‡‘­"¥V™RN^””µ\*}õôÓOo&„T‹££ vÂ`0àÞ{w ¡¡,«C4C „×ëƒÛ=‹`0ŒÒÒ"@,C(’z eeňDbà8f³V«f³,Ë‚çyÌÎÐÛ{ ©”u.k×6€¢DöâôéÓi×nžÐÝ=•—½Äb)øýØlFTWW[/_¾¬ÓZeSê>€[Í`¤Ó®®®Ÿ···ßãtÚéG}úÓqD"É4°`64¢¾¾âó¶' ,›r¬Ê®ßˆÇã³$ ÐÌç§££[¶l€N§ÓßqÇ-¼,_AxBˆ`ðÍÍÍÅrßÈÌŒ7瘊ÅH¥xÐ4›Íf‚èQÄ#[B˜ÀìÙ³g»^¯o€óç¯I ”ÌãÊ>!“Òùh±êlkJ.È~ðƒÝ.—ëÐáp z=Š"H&“š¦M”øé–D"ÞÝÝ}eÿþý=¡PHµ`Ê5H«P < ~¦iš¾û©òíºXµ$½^]»¾†ææåé}¢Ñ¨ ×ë LOO£££%ö\1Œ.½BÁl6aÙ²”—Ãd2 Ž.¨,©¦¦àóùðþûï#™L"§7qî @šÖáñÇBmm‰~ûÛß&†áëêê¨ÖÖVÆb±Õ««`µñùçW5ÆQ!%R¹ÙèhMMvÐ4ͬ[·nÅáÇ£R‚ È‚ Êq¡T4’ð´\í—°Ñ[È[¥>úè£SŸþùð®]»\¶lÙ†aØåËk±|y-xž‡×„ßB8C*Ń¢h°¬ÈÚí& lƇMLLLöööÆs0¿SÄÌZl¡7»ýc0 º(j€W e“÷âYŠù†[w ‰fÖjÐËG…)¥h³œ¿Äà‚ª¬¬ä*++ÿ €>àÈ‘£ó° ÖÖH½¸}3ÏM¦Ôçj÷sï»ã*Ò«WG°ví 4779Ž£Ï;Ú´i“Í`У¸¸^oÅÅ.€Çãqû|>HYà8Njš«Æ_–`€´(¤w…Û8n(´Íf{Tú^/Hšöî»ï„(ñ.¾ŒFŒFJK‹³>«§§SSSˆÇã`YO<±kÞó«¬,Á_d$¬VIJ¹ìCf/R)ñx*ÝÜ­Å^È¿s»ƒ°ÙŒ(í]3ú.TeRÊZýëVù¹ƒ|ÿý÷/–——ÿcyyù«ª*'/¼ð(†‡' F`0PYYœ^|‡††Æ>ùä“+Põ-äT)B4³Ù”•H‚¸zõëÐÚÚºîÓO?íA¾&jƒ TWW¯ï‘ßB. bAå£-#l6›sÞYàB¯×ë[ZZž€±1/¦§YsEQ°Ûå&à‘™\ì…býÐÊ\⥗^º£¸¸ø`$B¡ŒF<ÏÇ÷íÛ÷ƒA]MMÍ2Ngw»ÝÉ«W¯†¢Ñ¨<®”%Xrénbí·V/`TÁ¬+…–ÉP[¶l1SU/^›±æ¨æÃüAµÅbÆÓO?Ž¢"±‰}tt4uìØ±„Ùl&>ø 'Þ}÷]ŒŽŽ¢ÄncAQ: F¼ür%†Fuu9z{Ä TT¥×·ÛÙÙYÅßQ’³:+)ÍÑ8pà8ž{îèõÚÚÚ¨·Þz+ÖÛÛË>|XxðÁõkÖ¬ájjœH$R8{öZVbsþÆn­22¹P€ÇCq±õõõÕ‡î—Á£$¸ T0’· Ùâ/ƒA´PkŽ9Óï÷G?~zzz:ÒÞÞ~—Á`0‰ §Ó §ÓZÐgööö §OŸægffŠ¢À‹”º4$[ÆTKþ:c“É’Š oÀP|é”tƒå’ @‚eYAÉ^|XŠ|Ÿ—'çf1â9²Dò–T¾/{S7æ¹çžûKŠ¢¶Àþ矦zó1¹ðÛÙ›átÚ5ÇæìùGkkX–%«W¯6ž={6‡SF£‘.//E K—qÇ1 £WÈÞ)•y’* ›Ð\xÅDw»²R1´N§{ºººPhÃuII±Ì®âøñã°X,p8p¹\(..†ÉdB4EWW.]ºA°ÿ~<ðÀûwŹ(™LÂï÷Ãï÷#‹Áét¢¤¤ÕÕ¥YãoݺFPA H³f³X£ÓѨ¬tàÚ5ONöbNMJÔâw¹\FÌߨÏÜfp¡œß’ò|þ‹_üâWÏ?ÿ|¤®®î¿0 m­¯¯ÔüÃH$MÍ9«Î2> I †)kΟï@ccGÉêÕ««/]º4ª€d`ÁIcv»}9¡´{s®Ò¸`0" 2ëÐ3ÆîÝ»wrW&.^Î êÌf,+–Æ Ì*‹Z^W‹½àá‡^^]]ýïô‘H ýýa¬[g•ù~__Ÿ€y||üª rÓ.§2Ê{S `„ r W€ åœRÐ3Ý(ºOràv» b/ UKbY_ÿú£(*r"•Já“O>‰ž8q"@øÁ~`€ÎÎ.ŒŽŽƒ¦Ù pAQ⿠â­­%-3]^^ŒÞÞ!,DW<ív;^yå¼ýöÛRïQ}ŠÒIFx—±m[;V­ZE9rD˜žžNÆb1þí·ßŽÅb1óÆ Ř˜ðc|ÜÅ4vg ž@JJ‰£HDe¦IдEn»Éç"€…¦ÜwII‰±½½½­¬¬lƒÝno5™L ï÷³›ššHSS €ŽÅbº©©©Ôøø8;>>NŒŒ$fffEåƒf?2Å[”ïS pÂ/% ÁÜŽUtñƒ’’k•n—êɆ¦ièõb&R¯}0X–…N'?¨”ÂUY âñ®^A楾9LGžOÚ5­¹¶tÙŠ )|¹_Ê+¯¼²Ö`0üwè踌¾¾þØoq³öÍͦBP^^"e©S d) ïùˆF㘜t£¼¼­­­Æ3gÎGFFbMMMƲ²b\½:މ‰Y´´0›Í–Ç{lÓ›o¾yT„4S¡jóuÙ…²œñ¶›§Ÿ~z!¤^dz î…GUUêêê ÑÛÛ‹ŽŽø|>ÄãqhͽgÏžÅÅ‹a6›%Q‰Âá0xžMÓX¶lvïÞ ˜ d$–l63–-«È`/¶nÝš*„Ô×;1<ìÍË^"Àï=GM&“Î`0°‘Hd1Rµ·ò¥®ÝOˆÿú׿~¯¢¢âÔöíÛw;޵,Ë–Øl¶FÄãñÀét¢¹¹yÙŽ;<Ÿ~ú©\+C©O%ÀÞï÷Ï€Á Ã0 õ6ñkajÊ’¶lÙÒvéÒ¥i鸓ʤd€AL&SýÜ=Õf/äqDP^ØEêA}ÝŒÑh4677?(24nø|áômQWf/‰Dbll,¢x p‘R¼ëÖ­s­]»ö5Bˆ#‘àqþ¼MMf©¿(6ùöÛoï—BYáJYª+(î]RÁ^„$öBKxD­jS1 =×&“©Dþ! ÞÖBþwûö­(..ÏóxóÍ7C]]]q|ee%]\\LÀéÓg$ö€ÍgÀ½÷nÁ²eUés)*rh‚ˆ\çb2Ò½.ÉdF£Ï>û,Ž9‚£G§?knAF_ß(ÚÛWÂl6`Ó¦MÌ|‘bþ£>ò”——ÓUUUÜš5U˜œìÊO½^å¬`PćƒAÏqœ)&šQE!*ºE%•·h€A-ù dާTI æ®»î*[»ví£f³ù>Žã6B8õß§R222ÓÝÝ=tùòåP2™ÔšÕº)UB‚R& ¥ÜàmmÀg–À½EÑâÀg<EE.<òÈC°ZÍà8nQZ‡ÂåËý7Ü|O}¼Ü EÓœ&—¦ôb¤ÿ¾ ì}ÇwXËÊÊþ€Þï÷ãÀƒ·Ôo±ûj—e‰ÿ¹`±˜¥@!)©œÝ?Ž¡¡q”—¡¦¦Fo±X˜ÁÁÁhSS“±´Ô–åD144…ººR¬Zµj%ÇqÔïÿûƒ±XLË t>ãàÖ7 gŒ¢¢¢R¦££c(´áúäÉÓ¨¯¯AII1Ö¬Yƒ5kÖ¤ƒýP(„‰‰ twwãÂ… is/Š¢P[[‹ªª*ØívÉÌ“ƒÁ`€Ãá€h –pž:Õ™1'Èì…ßïÇ™3gÒìÏ 8~ííËàr™`± Fs²€€P(}>ÄårFFFԲù~¾ŽÞšòrtllÌóÛßþö]Ÿ°ýä'?ù?l6[ƒßïÇìì,p÷Ýw·ONNÎvvvŽ+Æ!b-œò{ RSSS³ò}7›Íðù÷^€Ó§/bÏž¨¨¨¨nhh(¹råÊŒ´§Ø’(ƒÁP ã8¹Æ™ß–3Ó2»”T"Ý}÷Ý·™eYÏ èèÑ|Ö !°Ùô¯×H$´"PKª¯‡ƒÛ½{÷ÿKÓt Ï ¸pÁŽ£ár‰8ìâÅ‹¿ …B‚.(˜€‚ÑQfªeãW¥Š¡Z|D]"µ7a€Ð4m–2sI™¬ÝÜØm·ÛÐÖ¶Fù±®®®˜ ¦ššš8ðûý›Ãp `ÁJàB={îFe¥ˆÜn7ïr¹(›Í¢™õÏU–4'm üæ7¿IìÚµ‹.++£¶oߎââR|øát°¡iQøÊ•1¬]Û€•+W²}ôQ‚çù”8åðüG}4ýñU ‡Š ;FG}š Ê|ÝZ×Rìóhš¦ ƒ1‹…TÏŠº—O9ï,YCƒ  0,Ë2/¿üò6§Óù]NwŸ"q.ðcdd ££˜šš†Ç㓼‘¨ Sõ{YŽVkN»Ý—ˆ¢"qs8, i f³™mnn®hnn®xàÖõööv=zôäÌÌLDÁºªKUŒ•%$=C·Í`–Ê@˜BÛPYY’’¢\L’É$’Iq¢ây!-”d’É$¦§=³7ZÖö«øR€‹ôCͲ,³cÇŽ¿§(j%ÏóøàƒÛ*Z~ IDATF±4Íó ïÍX¹²!ý½ÃáˆjŒÜØžññ¤R)Ð4U«VºººÂ÷Ýwt:UU¥˜˜ð¢»{z=‡²2;W|ÿûßw¼ùæ›ïŒŒŒDTôj¾Œøm5PR. ,Ën3Áפä…B¤ic±^ý-¬Y³+V4¢¤¤:“JÑØØˆ––üêW¿‚ xì±ÇÐÚÚš÷Ü&'=øüóËc\ñ3 –-MûŽ;`®÷b``ÝÝ£hi©‚^Ï¢ºÚŽîîi öb.·‹‰sEØíÃÈÈÈ|À‚V¹·œÁD<´X ÙT4…ëêê:¸eË–†ÚÚZ¼öÚkp8p:Ô#ñeÿÖB¾ÏóÔ<Ï?ÓØ½víjP…P($9r$¢dW*++i‘ÝMŠL&ÅΛQYYApèÐ¡àØØ˜ðÜsÏYX–N§K—ÏÍW–¤|y<žÔ«¯¾ß»w/ÛÚÚªkii†NÇâÃ?M¾ò’InTV–`åʕƓ'O†††"uuu†¦¦jx½ð<…ÎÎqÄãjj°Ûí%/¼ðÂso¼ñÆ«!{£eªµ2RÄh4Ò4M¯ƒáy½º/#‘HâìÙ 8{ö"hš†ÅbÕjÓé@}}5j±lÙ2TUUarr«V­‚œÉv»}ˆÅâˆÇ“ˆÅØžö*‚Ð9™ÜuëAÏçÃÙ³g±aÃX,ˆìkàyCC3X±¢ÕÕVôöº•Bšá– A‹%a0è`µZXÝÙs•GÝÎ’µä£œOŒÃ‡ÞÞÞþ$˲ŽÕ«Wã7ÞÀ·¿ýmp§æ™g¾ö‹_üâ¡PHμi ·Ûçy>LQ”Ñjµ`tt" ¬ ‚€“'Ïa÷î{P]]]µråÊŠ®®® é¼d¯ ÁårÙ䌺ìà%ózƒiv©´´Ô4::S\º;v¬eYÖ$:¶æd/³YdÄfffÂ*6„@ÛwðÒK/}ÃjµîALããQs°ZÅåüÔ©S¿çyžQd˜Uæ“—šwcÈôc’·\üZâ z®ãñxTf å’fõú©ÕŒ<_‰T]8wvv&‰„²ä˜·Ûí´ðû@ÓœªDI‡åËkÑÐ –E9rdöðááêêj£|ž:#e°ç/KŠÇéoc6›ŸÏ—|ë­·â>ŸO×]w–/_†;ï âÔ©ËY%Z@‰DJêÙª¤”CtwwÏVWW›Š‹Í (AX\c·z?†™›7ãñ8•¶ Œ$.Á|Ø UI €~â‰'*›››ÿŽa˜GäsžœœÂéÓgÑÝÝ‹x<¡b##föÎ3aòff|p»¸|y6› åhh(…NGë·|ï{ß[{éÒ¥>øàƒƒ)Q~L=7Ê÷$®4Ò‚·£dj)ÕÎ¥ eÐÀó<::ºqùr7®^ÂÄļ^?¡°wï.<üðý°Û­yoza ã‹g)´ej¿ÒìEÆÃýÃþp›Édú;qAÀgŸ(Àé*'í…í«4¼)ı{¡ûBpÇí ¤ÇãE¶[xáÍÜÚNâ™ûŽŽŠ•UUU¬Á``Ž;æV«÷ÜÓŠ¶¶z¬XQŽF,&VCpgºë®»6—J&Š ¶oß^D©Ù›ñ,𸠞à÷1::ŽŽnüñŸ Ë]JJJÒŒ'|úé)ìß ‡Ɖpölúú†3¤|l‡Ã‚úú9ö‚’D @08(jý›L,œNc'ï¹-ÙF£Q‡ÜÍ~jPAaU”[ 2²<¢Ñh`xxø0¬Y³>ŸøÃÀó6›5+± ‡¾¾Á4{ýµ¯}­¢¨´‰DwbCYYY…œÜ ÂyÙ B€P(†x<)±ë•Å}ÐéõzãêÕ«Ûeö"Žç£4MA¼µ€ä§A«À€–Ê vïÞ½¡ªªê/`z:†+WB’©›QǾËG½"9—3ÈôIˆIÎÀ!A~Å~DvÏ…¦ƒ° | @|>ŸG~Ne/“Ìg;w3r>µ¤¢"QEoxx8•oÇqDL:¤À0,†Ko:ë׋ŠsCCCÁC‡MAìYKÎ}.…Bý&"‘xZ Óf³¥û^8à?þ|Ö¯_ —Ë™ÕAH$!³d™"0ñÁÁA/ ŠFìu5v+¯%ÇÑr&ŸD"Ð`K™üÛ¿ý;Ο¿±å$ß1ÓeÛÌ¿?Œ³gðÞ{gqùò(’I ÃÚÚÚžüÑ~ô×õ,ª-ŸëzF -QÉ}Á\½­fó¥V€/g?!Ðë¹¼€áöÈÓ~¥™Œ´RóÏ>[ët:ÿ;;;‹÷Þû -çZhP½}Y–Íø}!ÇÕÞ7?8X½º ¥_zbbæº+H¹þfrÒž@Ó4ijj2ô÷÷Ç?þøcw2™†Fq±••v”—[ÁqŒD ÂðððD/€ù$ú–{€ÔÖÖ6I猙™âQ¨›·8™‹Ù袢"¤R©t/Ff¯—ºé7sáX·nyš½8wîÚÛÛÓìÅ¥K×Òû»ÝAøý Z³… 4äe'½^¯î±Ð4u[" ¾«M¹ä2œ€ðÑ£Gÿ$BB¯×cíÚ5èííÇŸÊËËëŸyæ™{k`èè"‘ˆ[ Â,9ǃ ÇŽ–ï±sÛ¶mË¥…× ‚€Ñáp”Él—h¤—o,‰ÌˆÜà_QQaVž×ÝwßÝÂqœ‘çtuçe/8ŽI«y<ž„\(¯e¸hii)_¿~ýÿI¡ƒÁ$::üÀåb•ìÅ‚ È%-´`H¬…ÌV„$@X °À"k»{zz¦¤ãÁápd­Û mì–Õ£äÆê`0¨%¦"1OŒ,æ@Fyy l6±îСC£²0Ã0)yΙ§Îï7!Ê‹«Ýn' p—øðÃ=@ IQÖ­kÎ`/äå$µ$ÝŸ!ëv»Ó]ñF#‹ù» c€Ìf4'úÉd’äI`(瘥 .Ò‰ «Õªû›¿ù›ÿi³Ù~EqÆb1|øáGø·{ýýW4׊Ì÷ù“Ë /»Ïõ9™ëM<žÄ¥K#øðËž•Áê²o|ãÿ}×®]÷°°JÛ| #£)ÿV‚Œ¥Ä`Psó*æ Ô xžÏpÁ¼u,Ea²¶Q®ì@ë–-[ö¿!űX o½õŽfßEî zaøúõëð( Öe)=iøÚªPÙŸ¹oUU9Ö¯_“ñ݃Áfgý9„òÜsŸ‹Peÿx< GlîkllÔÀ‰'ü?ýéO<8ÞÕÕ5síÚ5ÏðððTooïÕ“'Ožüå/ùËC‡u¥×?…Š›j†[*™@l¾mD#<±&6¿4mö3šdÈM½6› ÉdRæF£¾ #²e€£G€‚½˜B ÎØÿÚ5‘}*+Uªr±„PH&yì0*0AåXüo7 ¥e§f0"ÂCCCcn·û ظq#(ŠàóÏOáÌ™³ò¸^¿wïÞM¸Ô’­eÃá°Gf0´ ø~xxýýC€;ï¼³¥¨¨È.-¾F&‹ÅR ‘H,ËÇ&»ÌDüyfƯ:†a¸¶¶¶•b|F 0sƒ_ƒa®§tvv6‰l?ÙœVƨᡇú𦭢b”ɤØoXWgƒÃþãÇJ…T(Õ£Š{V %À©†¸XHÏEÖ«££#”J¥ÆÅg¡Ls Z¨c·Ò;‹¦i¥à@@2)6P€ãô öBT’’Mñ¼^odpppVæÍf³ˆ BbÅUá~¢C`¤Ï#ÇÏž=ë€úú ètÙR¹•ö ’¥ƒÓ F*•ŠóÒ—e*ëÚi÷¯dO¯êó·ÙÄñ855Ë‘€šo[JÉM ]UUÅýèG?úÇqÿ ÅÏ~ösœ>}F‘Èž8düÌÄÂ{3ò½D8qâ*Ž¿ŠX, š¦õ[¶lyéù矚¦i‡ h¨A§·œÉX2#“Á ó5ÀX<«ð¿{0nÖþâ‹/>GÓôvøøãp»= ª€ëõzB°yózÔ××άçúœ|ûVV–aÇŽ;@Q¡P(=ûú®¥r”BʽæßwrRÌhÔ×׳²J„Ïç‹9rdzß¾}W^{íµ ¯¾úê©×_ý‹ýû÷_tC%u©(kÐK"á Ó骤…¿`v"Û %Á`ºaWЋ± ¦¤­-›½°Z­CYû_»æ–Æ) ‡Ã·LJÎbêt:*O1Wfñv-úʾT.€ téÒ¥?@qq1jkëû÷ÿ)Ulkk»oçέ p‘áD/—ÙØíÖ¼÷ˆàèÑÓˆÅâ`YV÷øã¯§(ÊÀ(‚Ñd29 ŠäÙÅô´_fEôƒ Û°aCÑh4æe/Ä@W è’É$/&]²€a:¢(Šzþùç¿c0j¸tɇHDìß´X8â±Î;wP½`(K®R’DµÜs!ûZ‘ísAvÏERƒÁXô+‘Ht@MMͼ ";Q˜]–”Jñé’G‡ÃAÔ F4M€Á`¤Äa8”–Š,ÊÐÐG„4c#ápTê -Üo"Œ¨FZ]­££Ã+8N‡ÒRWZ¦V “.WÊê}¡(*)‹¨¤RX°Ò–Ë!ŠIˆchxx8º€u~©&8)½^O¿øâ‹?eæY¸xñ"^{í5i-Éõ÷ +…šKv¢ uSåñçû,õ>cc^|òIÜ†û_yå•ïêõz‡Ä`˜ e00W5tÓïáó³ Éd ‘HTjˆŒÄ*ÜZó½9eòhÈPËÒnݺÕb4ÿV ¾ûÑÙÙ}]Au!û~ñÅ9LOÏ€‚mÛîP4âÞˆ>‚ææFÜ{ïV0 ÙÙYarrRY…z{Ùo±ð}%•N˜Ífº¤¤„Qu’2L>¿•\ÁÂR’D&R`U!þ -*d1¨, @r?W8DçfJœN êêæØ‹ÌÞ‹)Éû ó\|¾ˆÔ“”•™@³LJNÈÒb ÉÁR(ÅR([ÈW"SŒð±cÇÎG"‘«"‹±bù·ß~ãã „»îºëñÍ›77IýJxnffÆ+Þ;3(ŠÖd/ä÷¡PGž–Y‡¢x`•´› ƒU"µÁ@öXššòAPEm„vÓ¦Mu066›î»É7eƒ½d2É'“É\ùyê©§vm€þþffâécÕÔ¤LgdZr`Ö«2–Z †²DJ \h)Fe±סJ#/ ¶¶ £ËX?ÒØ­|F§§E†°®®N§bÓR‘H$.²“Æ4°û/DSv`lllV1^㥥¥¬˜à`a~HË»\.ZÍêMOO‡‚Á`JJ / ÑU\‘RUö`$œN'-¯µÑh×ÓØ-¿w8XètA@___Xõ,Ï÷¬KPNÿ¯þê¯þŠa˜àôéÓxûí·%°Â’É‹e)Ô‰„|¥Pjþù>'IàèÑ«EôJKK×¾òÊ+ß5ŠL:dËÓyÖ‹[òb–ИH Ñ´$?h¦(‚÷ßÿv» ‚TT”B§ÓI¦{4F4Þ“Kæz6¨ õŠþþ)ÛpsÌ÷¾‚ì… 0^$„T¤R)Üù~£Ñ€-[ÚP[+ºÏÌÌ_|ñEê` £cNâfúqÈï}¾âñ$X–ACC799D¦DhŠ’’(v-p±dA†2 EQ”KÌ.‡Qˆ4íBA†TŠYMŠ¢àñˆ Ár=v¾ã˽^¯7Í^Øl6‚€K—†r&#FG½hn6 ¤Ä€înŸäÛí…¡DDy˜‹ÛÍ`È>‰lO€æyžyùòåÿ¥©i9¬V+ âñ8öí{ ßüæ³p8Ìý÷ßÿl$yíâÅ‹’rPcccq `³YA 6kÐÓ3ˆêê ¬XQ‡7®˜˜˜œ={vT¯×›D€+ˆ½%“ðx‚p¹,X¾|¹5‘H$N§ º»çg/DÓX* 0¤20ÍÒ“»ï¾»uÅŠ{`b"а¤Pb`tuuäyžCvY *F)ÍôÔC–¥U‚ uHÆ}\$¸H£§§çhqq1¯×ë©úúz‰¹Zxc·òº£®® Çqˆ‰æ<>ÄÅä1ÃdO4Å£%à8å—¾?0Fq¾÷æHBæ.K’åŒív;Ͳ¬UÒª>SSS!‹ÅÂÚl¦ ö‚eYˆ<BÒ=‘%麺:‹È^ð‡“9”…\˲2½¼®%¦§§ªû^ˆ_×’zýõ_ÿõN÷?$°gÏ*Ÿù>ÿߺ¦/ì3óÿ=Ï ˆÇS`YN§såË/¿üŸýìgÿ¨0磗 «½ädjçT¤ gi±sç6X,fèõôz=8ŽÃÐYéž\.>ùäÌXŠB{7¾’`ƒ ÊËËuz½þ;ÐÙٕΠߊ<áÍ7?X¤y^&èà8+W6bõê&°¬˜eëëëK=z4ùì³Ïr„ÌÌÌ¢«ëê-óã¿§ÇãGY™555Üñãǵêß“„¤d$Ù¹¥«÷Rc2d ×!fò¢9™ÅëéËË0 8ŽS K^ãtZQWWžÁ^Üu×]€¡!‘½ÈdÀæþv|Ü‹æær˜L L&$d›îÉᛂÁXH-ô-Ÿ|$/ ¢B€A >ùä“ý /Ó4mik[‡#GŽIŒCo¼ñžþ°XÌÜÃ?üÍD"ñ]]]cÒõ¤†††Âòg:v©Ÿ&?°_TŒoô Þ›^5Ë?€^¾|y ÌÎF¦®X4Ä0JKE€qùòå02ãSy†¦„òRX; ÷åØV§ÓaÆ ÖA—ËåZÓÖÖ¶ìÔ©SR\ÜR°±$ eœ±|yZZVºÈI†{úè£ Ãp±sçf‘J ¹T‚ÊJQ=qxx¸Óï÷ˆ5×@¦³6OÑ” Fv)TRÁ^à&s =x·Ûý~YYYËÊ•Íøøã?¥E2×ÒÂË’‚Á0ººz±zu3¶nÝêp‘>§Ã‡ÿñë_ÿút:±­mŽ?™D¢–tâĬXуÁ@?òÈ#•¯¿þú”Ç㉋mƒÉ$IöZÏͪU«ÊDð6©0Ø[˜ßÄè¨MM•hnn68p@P$xYÕŠa¨Œ)Ù%'¢‘Jz.Þ±cÇr†aèd’ÇȈÿº»åXHîáéííù|¾8r÷î%ÿ§2–ÌëþáNxR¿Þ7‚ !)È©6ùw²ú’Ò½œÀmÛ¶­~çÎÍápo½õÇy½ŒÚÛWáÎ;Û …„_ÿú×щ¾¬ÊÕó™Ðxvåæ% ™TÌÁ$ȸ=¬ÁRJç.@æ¼FqøðgøôÓc8yò Οï@ww†1>>gÁ`±X\b/ÄÅšãX<ùäýxâ‰û`2çe&n´¬­êo¿ FšÚ§iz3 åíímؽû~”••¢¨¨­­«nš!žËåÀãïÁÆëÀ04‚Á æÌ™èÌÌLRˆ^.44ÔbÕª&´¶6£¥e9êë«ár9@Ób³ÛÔÔTäÓO?ü§ú§«|ðÁdSSý­o}Ë%ƒ‹O?ýÓÓ³ƒ¤Åûqhïë÷‡ÓÒŒ555zd×˦ ÝØ­5¡-5#ç¤x½Ò´ÊÀ/‘H¦å'- "‘B!¹vÚ¢(ÊìÅìì,.\¸€uëÖÁn·+Ø‹üÙk1pJŸ¡ËXœ”=b¢xÇy-Ð ù™ °q[@†"@4@oz‘üì³ÏúÂáð9qžX—uŸ&'§±oß;ˆD¢`YÖøÔSO}}ÕªUu‚ ÝRŠËå(èºË—Çç âý÷Âï) ©‚Ù ùýÕ«S鿜‘†ùÙ ñ¾Ší:ŽÒétrC6Ã0ŒîÙgŸÝêr¹ŠèèðÂëMd«¼\ÌtOggç,²»!e>µîÈ£ u“ÀÔã¡»»Ûíóù>€M›6B¼ ù\4?š IDAT÷ùÕ’ ŽÿÐÔÔdß¾}{)Úãñ$å¯e±ÓMÞ¢9µ¸F3 àì%%%6èé*˜AQï700 q|ºØåË—• K>† @U"%bÞP(–Η jjjì­­­â¸ó ‘àq=ÝPRÂÁdb Ž?B~ABS_¦—cnR®J–/"»ÁƒÁ¬ØEk“¢a"EQ¼jþÓbåÒňƦö£IB»LMÈóßòÚ¥Ä`1c'`~ŧù|†a$ùZÀ`àÒå¹Ãüïç#²ß/@EêÏ€‹ÅBSÕ“`¶nݸvmCC×påÊ®§éZ‹É „Bkk36o^†¡!Î;ýÓŸþˆD" BHÒn·£¶¶–)--e‡Îh4R4M“T*ŇÃá„×ëNLLDÃ^¯7 €6 º'Ÿ|²jõêÕv‘~âСSðx|7¸Ükaûò<@ ›Í„ŠŠ îâÅ‹‚°È•1‰#™ÔR)ñ;S7LšV9wð¼€p8 –Õ¥Kœ<Ìfs`(ïËeËb/î¾ûnilOÃë e©iYIjz= Žc‹¥²È#YI& &U ¢rÄR^ØåUNU6•ð¿³bÅŠõµµ5p¹œðx¼úÄÄ4öí{O=õ0ŒF#÷Øcí1'¦¦¦Â---p:íšFй‚{€ÀïáÝw`ûö6˜ÍFLO{ f/äc]½:…ÖÖ0 …™1k‘HR^§ˆÙlf=OŒ¢(æ©§žZ[SSS&f•ý˜˜ˆ@) &7ˆ—”ˆÍÝ===} ö"¥bŒxÀ)¡ÊަnarAɨðRŸþù¯î¿ÿþG,‹®­m¾øâLÆz¾²$y¿sç.£ººË–Õàž{î© ƒÉsçÎy’É$¯Óé(‹Å€H$ šÖççB ‹Å¢÷ù|‰mÛ¶5ˆ ¼##S bP”¯©)?Üî\. vîÜYÚßßïáyž+=à©@ÓŒ´é`0Ð2p Ë7Þh42?þøfš¦éH$¾>O¬4Y å~Ë–‰ìÛÀÀ@\’§MheÖ%sFõ±³äÁ„Âÿ)WN¶ó楟•ÙœÝngÙ •äI(‹›Ø£/ö˜ÍfÁï÷§TŸ¥d#b*à¡\£SÐöŠkÜ Aù}U±ç-_+–R)<€Ÿ?ØWïÜ–"ÿÿ5›¼×­[g!„Ød¤o2¡×ë¥,ßNŸ>wÃpƒÁ€;¶¢¶¶ âàçßÿ}¿$¹—!1;;›˜Ugî”dF Gss³ëÁl´X,LNºqìØD"±‚Ô(òõ‡Z–o_Ÿ/ ›Í„ÒÒRN‘A®›MäZ8ò,·d¤WAA"ò½Pvb¾ýe „`·[`·Û555°ZÍY d>ö¢ÐsñzÅMŠ"°XtˆÇ¡(“/¿ÑÈHûz“Àb>ùÈ%<4z32‚Þýû÷jlltÓ4íZ»¶‡ͺvSS3xãwñä“Ájµ0{öì¹kppp\jÌf‚ÁÈ‚”Æ¢Ñ8>þø”ªd¶p&$‘Háã/e™ti\!ì…¨`–LŠŠ ƒÏç‹<ñÄËW¬XQ$}A 5¥/].†@áÔ©SפH¾ß©|`Ù¥QÊ äf³Pw'OžÚ¼yóGv»}ïÖ­wâҥ˒ì|aÝZAµ Ø¿ÿžxbJK‹Èƒ>XËq ‡ƒ3õ`˜8hšÏëÀóEN§Ól³Ù 555%pî\¤hIí7qþü¾öµ5(++3îܹ³ìÀ£(“ÉĉL– pòf ×‹Ì¥Ïç‹ Y–%Ï=÷Üv»Ý&&ÍÆ%ÎűòþeezX,"{qøðá´ËsâɨÄNJåµJp«œ) W*¯Å¥ßS €s8FxzUq"Ñd4|¾´é:Š‹‹¡j†$ª¹$¢•Ït\ƒÙÐêÉ)Øp³_KÉÉ[U"EèK‘ùð‹¼J€q«Í÷®X}y_:±+šï`0”.•’×®|æyÅÅ.<ùä#hmmɱo¦!^UUžzêá4¸èîîŽýìg?›éëë `ÎPJéVëàSm~i éõúØO(7ÒÿB¹¿¼¸\®4ÀimSÆþ.— Rb9‹½žÁìl°àE"‘‚Ô{ ‹…QyaÐ`:hÌȦÚr¡BŽEd)/öje£„×ë y<žý°zu hšÑ Ðgg½øíoßÁÔÔ !¤¾¾¾B>pQ‘³`öB‹e*t ©Dáñ„<þR)’r*š››ÍÏ=÷\mKKK ÑÓãËy,1ŸLOOÏLMM%1WE)¯³¢C¼ù{(º¯VoF0(N^f³Yg¹õ|ôï|d·º\¢€áÇ‘é:¥i‘dÌÎúÒ&Ù•[¼¦†ŒýÛÛ›@ˆ@.\¸€5kÖÀáp@€‹ fås÷ûEÅ“‰Îj´XD©JA0>>Gn?‚ù€ÆÒYí3»Ø³XŒsçν€7›Mhl\–3@…ÂØ·ï}ôõ d¿¤ÄµHŸ,н˜Ï=|>€#±F{õêÕ–eË–™Eæ"€®._ÎcÑ4Ë%2z===cRv•Q ­Ænõ–õ¬ß‚QSNûܹs#ÓÓÓoÀ¦MàpØ]–¤Ü/‰áí·ÿÃÃãr¢‘ˆ &݃Á0Âa±ÂaýúõÕV«ÕÀó<Ž»€9ÈBY h€ ‚/¾¸‚ÙÙ(Š"{÷î]¶qãÆ’¢¢"Ée®ƒatÈZ8ów¿ûÝmeeeEpùò®\ñ\wc7 6v4xžÇ'Ÿ|Ê.bRË2–¢ú ‹«•ÔPö?„UIH9ÙèUl¾ÚÚZ†a¦¦fæ#ßÓϼì¡RQQAC»$KíK#Ç"r|â0«ŠYä}äø&¢b@ÔP¸]IÃÛ 0”ÍÏò{Yò3?K‘ 4(Š’ôìY zèõŽ9Ï?¿ˆd2 §Ó—Ë.é ÛÓïN+œN+ŒFý"XŠ‚Ù¯L½ÔÕ«W<ψ¡*"‚F¹y6_P½fM \.' ·÷JÎ}­V öîÝ…õë×H®ÓÉW_}ÕsêÔ)Ÿ aÕÃêך4”Y†aÂ<òHó7¾ñ{­V«…çttôᣎÀãñç`#²Oîuí}•D!îÞÊ}ƒÁhšÂ/))áT¬’ÅP÷ehùÇnË+‘HLŠY~3®Oš–ä%ò`6›a±Xˆê\ ä½OŠŠì¨®.Õd/FF”ìEáÌJ –ûtV“·Ã!~n(Jy½Þ„j‘LKBÛøj).ø¹XŒ´|êÉ“'¯D"‘‹Ò"¹ôD"‰>8ˆcǾH—ÂÚlÖ² gÀ  Ÿ££ÁtBçtuÍ¢»Û—•WËédÓåQ.\˜ÎÁ^¤Ò´Ih«Ò$oÓs®.UIˆ¿ÿþûÿ_*•rët:Ü{ï,¤±;_P‹%ðÞ{ŸàܹÎ4ƒîrQ¨¯c†á é2bÓ§»0=í]4k¡.KJ&S8t¨~4M“|°Î`0èÄ$Òì…NÇ@ªæFkkkÉd2¤R<ΞC_Ÿû†œ‹^O¡¾^d/.\¸˜˜ˆj‹hŽ•rÆK½D*W2CþžU`ÔHDzå÷ÍÍÍE€(g-÷ˆi µ7›¨` TVVêÔsžê\ò%DeáÕHŒªÍ2µJ¦R·ë-É å@QêaµZ`2™`4 ×ëa0ˆ†{Ç‚eu’ñžìÒÏoÞ¼¦l)Þ{ï¸,,Œ¥ÈÕ€¾€&ï?«W$Ùo6›W¯Zµ=˜œœÒ\¬3hÿòÞ<:Žû¼¼µöŽF76bßApEŠ’HQÖ.[‘l+¶,;Ï»lÅyvŽ{¸ê¸€wwwàÁ÷Ãåb¡ª*Î;—=xð`\kí¢“ ƒyóú †††à³Ï>û±êêê&-øKãØ±3XXXÂZøqܪ}A‚$iž 555îëׯ%&Yû–güT$ã|GÇMFÄÚHÓÚ÷FceE¡¥¥óóóz‚€ËÅB’8³÷"âÂ… èëë3KªòÙ‹ræ BÏÄ ú‚oÈfçüÀ˜œœä¬Ò––ë¶œéÕz¯‰.PnQUU˜™™ùMggçîööøý~ÓÁÝùÚ155‡;{páÂÕ2‡•€Ñµa/н7™16G0èÂà` ‰„¸lGM66’ ².d‡ïÖZ§½¬jÜm¼ßíe €855µ822òÞžžïvww¡»» ÃãkTkŒÄ&'gñè£ûøÐР¢¶–G$BÀíÎU8\»6ó篭 ƒbÝ8NÄo{>¸ÕÕ3>`‚À ¤PW'ç)ãpöì4âqÞaÝ\]cww·4M€ã8õ·¿ýmª¸ÐÙ ;¸¸“åu+e/Œ{DΡÝ~ЖÍê¦"¦þº»©©©ææ"PYO 庋±š‡  …芊 Bïð«éq ÃÊLØ×hëº.Ù”Óó“¡_çF{ÀÝwïÂc=tË?\“·]-KQÌñ{EF{·¤ÁãN<Þ~ûízúé§¿È0LݳÏ>ƒ7ÞxccãEôŽŽ6<þøÃp¹\P‡¿YVòöu¹\xðÁýèîn7@ŒòÚk¯%/^¼hL’V©7'§Z΢†aR‡è}ä‘GžeÆ ÃÃ8}ú$IÂZâ•ëÝ‘_Tþ¾™ `Ћp8l¸øš¦]ºéN1gOr= ‡ÉSÇã£555ðû}p»Ýày7+Mkß_eD"K¨¯¯FWW¦¦¦ÌazYöbq1¹lP˜nu¦„MSeÍ”¦] ###Y”僚^uó@«Í##¯Œç­·Þúm{{û·)ŠòmÛÖƒÓ§Ï-/2¾ïHdo½µèP‚lârǺUìE©÷^¹²d¹¯É’Ç"ˆ\yÔððpLg/¬”±Ò¨RàB½C÷¸•Á¿øÅ/^ûö·¿ý´×ëí{â‰G011e1Ù\}Pm‚ ‚eEKbEÂÕ«\¿ƒ¢ `\çFùÝ¡‹-[´JwÞy'“J¥ŠÉ¥:mvc]•Ó.Ã^E˜3TPÈ7»„ediš–Ãáðv˜˜˜Ær¾§Ö¹hnn²¬€¢Htww»bpnÔ6b—´…Q1b±È÷lO:U,È(lþþd0t­Þ-•JCQd2Yd2Yp¯›¤©E©T¢(C’´M–Ó©[U‘·Yö4v¤±X‘HL7["J'@Q8¸ñþN<bõõõߨ³gÏ߻ݮªgžy×®à…ˈDæ!Ë X–Ecc=úú¶£µµÙ|ïõë“XXXÌ ªÛÚZðÐCûM?“‰‰ þW¿úÕÒÒÒï@yf-”¡IZjIE2MÓÄg>󙧺ºº#‚§N]ÀõëÓkjˆw«÷Íf5€QYYé²L’T›u2]YnõÊ•+C]]]*AD]]-&'§Šx7×—11qõõÕèííʼn'òŽae/.^¼ˆ;v ººÚÆ^¬<Àä8IgJ–%ÁqÚ¿]UE‚$µ¬ëÕ«W³ H©m]:ë–ËbÌÌÌÄ’ÉäÑ`0øÔ޽8¿ŒÃÊKéVËÝ꿟‚˥ݲƒƒƒI[ÆÕüN-®Ëå¨ÿܶƒE6ÓÞ'&DQÌ;vìûO<ñÄßVVé؇·ß>¶*Ö¢˜ò” H8qâ<._ÁÞ½;ÐÓÓ ’$páÂ5ô÷_±ôÙ­¾±»”w‡¢çÎMbf&†»ïnE0è«)#‘à0:ºˆ‰‰%݈‘ÈsnwþŒò’$ÑÛ«)ãÍÍÍÉï¿ÿ~º¸ÈÁ¡°¶ßÞ¯·žË£”"`ƒBN‚–´­…$òe@)ì‡>ô¡†ajŒøÄ‰Å*ÆfNð5èééñ “¶^#1šÒ¯!U«–`íì¶uM¸c ‘ë”ÁÈ]¥‰‰iüíßþúM“sãfÏ?ÿiÐ4ú§_êÒv˹uç~&--u¸ï¾íH&3øùÏ߆³ªHa†¤\Ða¿K5R*åÕW_ý ¾ððÃÿ…ËåêíééBOO—e0 mº[ÃÃcæ÷ê÷ûqàÀ=èêÒX I’Ô£G.½÷Þ{qEQ¬7¦½ŽÑ|&¨M4²5ruuµç³ŸýìWÂáðNX\ŒãèÑÓH¥ÒËJã–ÇNܾ}³Y­ÔFWH)P°AëŒÅõüùóKO?ýôEQÍ ˜œœ^iZ{744½{·Ãívããÿ¸y¾<öBUU<ôƦNOG¡ù¼«:ÃhMcJHð¼#jb#Àää$ŸL&E‡ì”“»®ÀXŸ“Ã2’µcccwïÞýTMMª««.®’q(¯ÑzµMÚkÁ^¬ô ‡µÌH“““‚~_¥eií=Vë¡9×0ÍšôãÇöõõýjË–-Ÿ¾çž=¸re‘H«)KrZvï7™ÌàwNãÌ™+p»]XXˆ¯’µ(ŸA±ŽÍùùÞ|ó ÚÚªQ_ÄððÒYðµbPZ[=ðû5YÚƒ¦dYvb/œÊŠ­ †€;_b·ÜÜboh¶—J¶õÏþl½i®;w€d2…¹¹yËübï•rÞÆÇo ±±ííí>—ËEðûÙO˜àbff&óÃþpôèÑ£3Š¢X·f(Sñ¹Fîl*Q;vì¾ð ÿ«.†‡ÇñÆï"•Jé‘z9¥§Ò²´+Ù—XÕ¾Ü/IÒ2ÓÓóhn®Åž={ªûûû'J°yvµ+hˆe&Ôe¾—ÛúXÇÃÉ—"wskMÙš¤(²(KQŠ<0$I²Pe¤°²rvÀòVß„8IPŠEQ¸¡¡¡‰«W¯.ððé›?«×[[[Û«ªBQ¥‹/N¾õÖ[“©TJ,’ñmH?C„Í(^üä'?ù¡¾¾¾oÁpœ€£Gû17]Ó¦ë;Ñ›a”Ú0 C2 cŒ•lëzõ÷÷¿ÓØØ(Ñ4Ewwwê“üÍIÓ:UÕœ{Ï»‚ ñáß›§ÕÛÛ‹ºº:öbµ VÖJ4 SEæüùó¯!Çå6'Fc£0Eç‹ááá7ªªª>SYD]] ææJ÷«c 6{ÐÐm0::Ê;€‹bÔR ±^®½ÝU™yõÕWßíèè8^YYùÀCÝ‘‘ëÈf9ÜLYÒJ²þk Pœ§sYk€R[ëBMV¡ñæ›o¦Óé4Bé¬-IgV‰ã ‘Ä(3¸V BN‡$I"ÿ!ÌÎFôò(ké=á(œòvƒƒãhn®ECCC ½½=866–B¾‚U±†sã`fÒm–3}¬›CW»)èÁ(o˲l²vùÂò¿5G]ã3 ƒ¸b §|ó½›ìÁ؈@îS ’ 3 ºÓ?ùÉO?~üøÅ‹/>|øÄ÷¾÷½W_~ùå3©Tjù¦7NÛr%QVèAéÏþóÞµk×·‚`‰Þxã]\¬­!^~ÖòVï«=‹¢dþÝï÷3v¡ªªSI”}òZo‹™Õ9þüB6›=»víXƒÀ~yWçêê š›kÙ‹ÙÙ%D"1¬FšÖ d¯ÕÕ £õ8q"g 'sDDz… ²9Íâ‘#G.J’4 h²Ô7 otö‚ ƒZ.0™LÊ ’CöSZ|®›ºùeL¼ªªÜ¡C‡~ (JÖãqã àf n1@cKÓ$¶nõÆÇÇ¥³gÏfP¨Zd ëo/â±~ÈnGf›@¾ð »iš~Μ¹P”ÓšÛädñ¸æöÐCµ@S€c°ªª²Ð 3í›±tl¨¸\GuE¼$É8zô}œ={7n̯‚m"‘%\º4ŠS§®@QÔ5b) {0œš™WÈjlDÃÉ5Ó˜ÈRAXÍdb<ÏG:t꥗^zûرcçÓéô<ò f–,?‹"à"óüóÏ¢««ë? –ðÆï!™L¯‘!^9ý·j_í<%)§:çõz™2Y‹â©–õx*ä™™™_šqc]]횃 ûþ{öh.ò{ÑÓÓƒúúz“½X¹oBá|f @)Š@}½¢ÿ‹Åx8;® ºÔ²ÐX¯ºôËe ‚Lžçùx<þ¶0Úo:@ßèì³×Óø(0Ü•+W&'&&^€¾¾m¨««±÷õ[–´ÖâæŠsŸHG‡n7Y–ñ›ßü&©ªªgï…Œƒa­ã_þ)·#Ém|™MÓtmmí@Æbq\½:\‹˲ªªâÂ…@[[[¸»»»Ú&\úV dÐÆÚ½‘DƒÖC‰Ô²_MÓðx¼p»5‡n–eár±eñx»wo×]0iÐ4ŠÒ6Ít/g¾g½)s,ƒ ¿ß‹-[Âf]´!qkü<9¹€h4UF¦2R(Ãho½x7"Wò`—D5KŒZrUU……ÀašÞXæ/Õi1µ˜¦a¦'~õ«_ýMMM_@ܸ1wÞé·ø[8|k\ IDATÎ,­Ú÷æû8d9W*èv»)äû\”b/ì@c½ya˜ã襗^:òï|g‚¦é–¼/½ôj^ žŸ1Â2LdéàOó½pf/"‘fg—–õ+('ƒMQ9Cк: £BEõèÑ£)'`|©ÈbÎ̪tÁaÞ0YŒëׯ¿UUUõB¡ ª«CˆF㛀½X96ŽUQ¡Œééi±¸(Ö›ãØq§Ãez1x=6á~ùË_þâ›ßüæGX–m|ä‘ûñóŸ¿ §žÇÛU–´˪œÞë÷ÓhiñÞÿýl$áË`/ì †u¾ÙÔì…\¨o|ãÒ4ý{pâÄiÝ—‹,(–sGFf°sgB!?ž|òÉîÑÑш,Ë. ¸pÖï_ÕÏwC”J­{Œp8„/|áÓp¹Ø;v. a¼öÚ™²„©CÚ­Å×|­SÃX,HýælZíÖ ­ž•åõË@ë”aËúbj¾LÕ„¯|å+Ÿ6ÀÅôôÞy§_ï¹¹3†x·b_M‰DÕý]–e©e ;¨XÏ”«9V²Ù,?>>þwÿµ££½½Ý¸zudÕÙêR äî»óÙ‹ÎÎN466æ±kÁ”hÊQÚ_|>½8uêT6‹qEƵÓf¯Þ0 †-È,ðE8räÈùÝ»w/RîìlÅââ… Ì^¬d\Ëå"Mÿ Á‹0e—G­c€IY@“L&/^üû½{÷þySS:;Û022qÇÊ’ c”õÛØM’‰„òöÛo§áÜØmô-:õ_Øõ65{a÷ßEeeåÿ €˜›‹˜ÍÝ¥ü.–3Ü3„=úûñá߃êêêÀã?ÞyèС‹Üªªº ‚p°nNæ†fy¡vÌõ} èuv 2Ž. –e¬‹TU…,+E’$é&{dYÑMöÓlÏØ_+*ü(‚ȱ¡ÒhÙÅÜóèèVc¾·ÂŒÍÀd¨ Âú(F‡ŸØ :Ôo"`aw€íÙÜ/~ñ‹mnnþº."%ÀÅínÐ^­ÇF©ãæú–†!áÜmV¬4j=—Hå) ½øâ‹¯ç;ßù”Çã¹û‰'ÄÔÔ d2ܪÃbû—b/☙Y,p‡^¹<6¡ÏkùSïÒÒ’la/ì@‚À[Ø:ÞÁ°ÊÔnÄy#ïz§Óél*•: ?ÞÑÑŠþþ‹™äÛÉ^¬”qȰ7w¬@@c/dYÆÌÌ Ò¾(ÅüŽ>ÖJ-ŸÎ¦{N™™EŒŒÌ ««ûöíëæt@áA~ß‹½ÿÅÎÉëdÐël‘)ˆ¹o܈àG?ú)X–Ï‹EÉtë¶›ïåJ´×z{;@Q®\+Û|¯ÔßËÁ…ŸÙƒ±ÚFŽ(‹E)vC@Žþã‘_sh0†\±ò+»Œ§üÜsÏÝßÞÞþ¿ çæ¢x÷Ý~³¿æNâ95倎röÕäNJ“S#V¸­g jR’$ o½õÖÿõÔSOý³Çãñ<öØøÍo~["°_9Ȱö^\¼xíííhii±±«—¦µ~–Ç“Kš(Š‚W^y%%‚½$ÊZÍ9,>ŽÀ]üí÷¶8;;ûn0üxmm5¼^²YþŽ)GÝj÷ðRcÅKKK’ R™àbÝ–G-³nH–`À(Š’íïïÿ‡G}ô¯ª«ÃDOO††F×<ë¿’Æn­(tßpò/º•ÝÖýH’@w·æy111!]ºt)‹"½6ö¢”r”µ¿KÙD¬…½4ŠþÖ·¾õ˲߀ӧÏáÆ9pQÈf”kºGNŸ¾†ººùì³ÏÞó£ý(¹°°À«ªÊëêÅæx'†z]ƒ zý`i)îèÐ]JñÉëuãÑGïA˜™™G"‘)#»xó>ùÃî¹Y {6ÊZU \’„,j (TM(hsÈʙٹǼsÛ¶mÿ'At,–Ð{.”5ìoGoÆJöÍ #}œ­X¬×qXP6súôéñ;vü}[[ÛŸnÝÚ…«WG122¾jiZëý[]]‰––{!˲É^D£ILOG2Œ«Ïnû|¹’Ï÷Þ{Ó½ œØ ·Ì³Qû/ŠÕâˤcÇŽìééáI’pµµ5áÊ•ÑUè…×HëñzÝðz=ðz]p»Y¸Ý,X–ý|‹m=žÆž›QT Š2AÏËàyÙ¬¬{,­ â÷k#‰ˆ󞄜ÿE1óÅu:¬Š‹qôèÑ‹wß}÷É`0xÿ}÷íÆµk×õõumÊ’‚„ÇãB à…ßïÇã6Ç…ËÅÂåÒÆ…Öë™ß×iô[Z«%dY…$É$‚ Ce𼞗Àq28ND6+!›•,•…ç¿ÒÆîúúœc÷¡C‡Òzc)·n;ƒ±!\»×\˜ÌÅ¿øÅî`0øÔÜÜ<Ž;U0¦òçš•1Ƶ ï¾{ùÈx½^÷ç>÷¹?úÑÞL¥R‚ªª‚ÅÙ»hs½}­\¯=ëÞ£¼¿;êå&k‰Õj”¢V :ŒëM”Ó´ñÙ ;˜€ XƒE«Þ3ma-ìýdb<›õˆ===û÷ïÿK’$ýÙ,·ß~‚ ÞR“»Õí»ö½–i…¸‰m½Ž 3?ùÉO^úö·¿ý˜×ëÝùøãÂKf{õÙè={ºóØ‹ÖÖV´µµ.^Óû\ÖBš–Ð%…5€1==-9r$ƒüR?ÞXY '±Ñ\¼KÍfv~rr2ÆqÜyÇs_kk#GW »Ý,Âá Âá*+}¼ðzÝX}kÜòQ”‘ÉHH§E¤R"R) ɤˆlVY1ãóiÓàÜÜœˆÂò(; (2Ôu~ý Ö’@aÃ7{öìÙ}ä‘GöWUU-ÄJË’H’@ àGuu%Âá „Bƒ~^0Ìí‡EÇIH¥¤R’I‰„€TJ4€Ëmì&I^Ààà 055eïç*%Kkw¶7v+ØDÝ–²(ýû¿ÿûõmmm?'"Ìqþýß_ƒ$I–ê–å—Í•0Ñh ÇâÁ·#ŸþùGüãN&“N6Åîa〲þ?©ªª®«$½N/~|é¿[{.ì2±+ «< †Ó›6 ¸pÈF?“–àÁÞ€L[€evCu˜ì†aÈO~ò“ÿ;MÓ­Š¢àÝwO#•Ên ó¼rû-œ÷5þlI`%Æ×FaÐ5þEQÌ9räÿyê©§þÎçóº?ò‘‡ðòËoâfv5ö¢.½xøá‡KK)LN.¬‰4­õ+¯¨Ð̯&'' 5É\ìoB‘ £²³‹N¾R,;áñxîkn®I’¦ Óu IÕՕز¥uuU¨©©D à]fÎÒJÔx^Ï‹ÙÌ< mV5@’$@’hšM“` ,Kƒe)0 e^w†¡ R]yŸ'I* ñ¸ˆXLD,&A’Ô¢ìEfƒ÷‚P„ÁX®ïb#8»;±Æú àŽ=zñÞ{ï=ïóùvïÙ³££“Ëfý)ŠB]]j°eK5jjBp»K ÆH’Œl–G6+€ãŒq¡•f‹b®¿Óˆ1ŒäƒÁjh*–ÚØ ic|Ðp¹h¸ÝŒÎ†hc…$ x½ ¼^µµ>ëw‚TJÄÒ¥%‹‹<²YÙÆZ䃌úz7< ªªâÈ‘#i–F™ F‰Ò¨MÝØmW‹@=ùä“5»víú9I’]²,ãå—"‹ëÕ2¥Ž…2ÌöŠ—VMNFÑß?‚{ïíDuuuø«_ýêG^|ñÅCsss¢‘T†Óȼ^®½Ž&Å)Ø_]’Ÿ0]ºµIš¼å¥Q¥@N™*RÄ )œ°X¨ÈWrê ¬7;œÕ`ªõýôGô%·Ûýa8sæD"‹kÚH}«{3V²¯S —1¼d£.Ãù†qºÖós’/§OŸíééùÝÝÝÚÞÞ‚ýûïÆÉ“çPnÃ5I iZ`±woo{ÑÒÒ‚ŽŽ=kCCC•Eº˜„Q¡@QàP_]¼æŸ¢H`ÌÎÎZÁ…]9Ê.–í¿Ø$‰ 3p>V__ÿ-ÇÚÚ*ÌÍ-æ}—>Ÿmm hn®Gcc­Îké4‡X,…D"ƒD"‹tšC:̓ã4Paï½3¤ÎµµƒÔU`sägsïq»ix½,<> ¿Ÿß¯=Sš&»»Ìà4™” XXLÊyãÇí&aäÇæçç…eX ¹Ð0AÆz -¥r@ ó½k×®½´{÷îÝu¨®#°n· ííhkkDcc­ã˜eKK)ÄbIÄbi$¤RÚ¸àyɼžµ|ŽÑˤr2øù’÷°”G)à8ÉR%Cd¨ªvž CécÄ¥€ .¸\”ÞÜÏ"`ÑÒ¤Ó8D"––D ØÖÆK[›¦¯^½*,'Kë,ì¥QR™®LpaÄôÇ>ö±-{öìy‰$É»TUÅÁƒ‡166nåù\ ¥K«†‡5¡{ïí@( =ÿüóõÕW_¾|ùš.h£Ø®]Òˆ•D ›¡}«wú~_§*Rå±¥ƒ,+$4Mݤ‰Þê0(ŠZmÉʆ–Ú ”"o9Fpvj@=óÌ3­UUUÿIËÏâêÕëe—3ݪ¦ëÛÙÇ‘ówDQÜlΪNFb<ö§?ýé¿ó›ßì ‡ÃîÛ·’$ãÌ™Ëæ÷CÓÂáJTUU" "ôÃï÷ÂëõÀãq¦©‚³³ÐÛÛ„ÞÞ¦’'©Í5 DQÒ í™ã´šk£Ö:›• Š***\ im›žžæm™F{i”}ÛTà¢k%Þ{ï½k˜£(ª®¹¹‘È"|>/º»[ÑÕÕ‚ÚÚpÁÜŸÍò˜]Äü| q,.&!Š2(ŠB àCE…€uu!x½nx<,Ün,Ë€eµ¬óre­F½Ñƒaô_pœ„lVF6+ai) žWLvÅçc ºPYÉ¢²’E À€ €Š 4ÚÛžW0?/"‘H¨ðzI3y°¸¸È#_Ô¢”DíF*rF°dôbÐØ×_ý½;vÌ1 S·cG7Þ}÷´ÉT´·7aÛ¶47o)¨ZH&Ó¸q#й¹EÌÏÇ‹%¡ªÃ0…´ò¹öö-|<ðùÜË2«Xõñ!"‘Nk¥PÑh 3QávÓ¨¬t£²ÒpØÊJ(Š€ÏGÃçó£µÕAP0;Ëaf†C2)!fáóisÚñãÇS6ÆÂè±HH‘†³r”SÙå¦`/ˆ\§¶µçbk[[ÛÏH’ìTU¯¿~—.]ÉkêÎË…¯Ä \œ;: ÈØ¿¿ Çû©O}êã'_{íµcŠ–)W˜ '9zQ6KfïtoÆæ•c0ȲY ûÏVÐ!Ë2>@À‡Hdö™òY ”d)JÏ0ÊqW.xÐ ë62ÐpöŒ‚‚ò›ÍI‚eY¢¯¯ï¿áå8ï¿ÁvÖ!^9û®¦CË¢iŸÄkÑ̦x”êÃг™Ì?þã?þ÷¯}íká@ p×ìE}}-fgÐÚÚ€ººjGQ챸¸ˆ‹/¢¹¹f@Pj>°2¤EÂå¢á÷—þ­G»L©TJ‰F£E†ÞØí.6“z”=ƒÇZ ‚Àg2™þ@ 𱞞vÔ××¢¥¥>o®•$ÓÓLME03³€x< ¯×ƒššêë«°cG;B! `®UßE (.–"é´ˆdRëÃH$$\»–‚,«` á°&)Z]ÍÂíÖü.šš\hjr!“Q ª1VdI’ì`B€f6Z dlåŸL–ññ<Ïg^¯¯¯ÿrOO.aûönôõõÀçóäþééÆÇo`j*‚d2‚ W ¾¾»vu¢¦¦>”kŒ¬JYg-s%tƼ¬±CIÓZ&ì—‹<ƒp¸0™L ˆÅxÄb<¢Q©0J¯B!jj<¨­uÃïgÀ²$ZZ¼hiñ"Ï©ÁÏÎΊÀ°‹”eKë[1p±iJ£l%Q&¸øæ7¿ùd8þA„4§ó7pùò ž°[½×År-V6úÿôt o½5ˆ:á÷»È½{÷hkkk}å•W^Ÿ(.œª?DKW΢1R**+½è쬅ÛMƒã$ŒŽFsõõ”^_O›×Üå¢L RQÁ¢¢"?žNKˆÅD,-IËâêÕ µµ,jkx½¤¾iûǵ(Ò‰±(e²·Q½ ì,F^ráܹs¯×××Éãq_þò'AQ”™˜™™ÇÐÐ8ÆÆ¦!X–EkëÜsÏv47×ÂívF„' O#™Ìê¥Rö±!™ ƒµ²PÕ2ÿgŠ¢ÌÞ ml°ðzY³,ÊïgAÓZïF0èB0èBk«vN™Œ„ùù,"‹‹<––D %á÷3¨¯÷ ¾Þ¯—B0˜+»páB ¹†îŒLXÙ +ƒ±¸ØÈ¬EAvcc£û _øÂwÝn÷ÿ €â8¿üå¿c||²,¯ £ìµ”×E1FÙÕÈ=b± Þ|swßÝ‚––ªªª¿ô¥/½pùòå÷~ó›ßáy¾ Ķ9•KY˦n;P¤ïÐEÏC“h†a ®Ä·¾õ7U”TYYÉ$I)ŠB#§–Tl£m›¬m>KYŒá°d­°Ì„fŒìÞ½ÛSQQñ_àÆyLLܸ¥Ô뵃a(KÐ’.×h­œïz½d4­âF¯‚9oÄãñØßüÍßüÅ3Ï<óÔ¶mÛžcY6ÄqÞ{o³³Q=si÷»Ñ†Ñã·ë{ çÏŸGcc#ººº^¯ ÷ß¿Íñ¼Âa?Þyg°àxNRÚÆ>‹PȃûîÓ\ÁÇÇÇ¥£G&Q\=Š/òû¦c/Š€J³LêܹsÇZZZ8‚ \ K çÎ]­¿šš0ÚÛpÿý» úD,–ÂâbKKiÄãi$Yd2¼^¿^Ü÷ÈëeñàƒÝ& Ʋ4úúêqèвYqÙkNÓ|>Æ " ¼^mÉÕÊ]hè&ñH§eD£$Œ ¨¨ ávßPººšI†a077g5Ü*`1þ¶!€Š4|[Uùþþþ‘Ç{lØåruSEQ„ÑÑëƒï¿?¸+O$I47oAooZZê ˜Lމ,a~>†h4ÅÅ$8N„“J“ˆX‰4®¢¨Èf5iZ€w(^/ƒ`P+‰ …Ü…\ºŒ2ÖÖZ[E7nd1=E"!ad$3geA¸*ÞÿýtGG-I’zñâÅ8ò{-Ò›\lJöÂ!Τ>ÿùÏw¶··ÿ€¢¨û ‰à¥—~­Û (VÂT(– …‰ìç™·I’‚þþ ÌÌ$°{w#Ünšîëë{¤££cç»ï¾ûò©S§.a/ìý«ÐÈ›o7È oãņ…º1¾ ¦³³³âÙgŸý¯^¯÷seN@P»K·ba uÕ*ßiR™ù_-á`\ã|áó`qþÎ={訹ùç?ÿùµl6k ÃXÎUd3Ìç¬ Êf+a½>ò‘|… ˆVEQ10ðÁ²Yÿ•öÎ=+Ù÷öõq°,mŽïT*%Û‚´bÛºENCâØèÅ tö“þõ¯}˜ã8iß¾}ßp¹LOG,Nß… ×ápííõyìÅÃ? ‚ NsðzµLçâbé´VTxPYéC(ä[±4-ÇIfɤ,ËøÙÏ~–Ìh'(ZþÁölÂfÌ2:—°3çΛõx<Ÿ!(Ij{ggïyàÝðxÜyïE ³³‹˜]D$²„h4YÒÕ:ÏÛ“ UU³ottííU (ÕÕ>LNƱœ¸,«H&E$“‚3ÿÆ0*+]¨¬d ±i$Ÿ‚ÏG¡¥ÅAP1?/áàÁw¤—_ŽðmmmÒððp´ƒ!8°±ÿ¢ÈÈc1TU姦¦þµ­­í[‘HäÄ«¯¾úæÌÌ Y_¿í?ïÚÕêëëFE…/hÎÍE19Áôô<––R¦ò“ul¬Äoâf ñ¬ÇÎd$d³iÌÍe`ˆ@TVºõ’(**X0 ‰–ZZ|ˆÅŒepíÚUi~þšpíÚµLCCƒ"I—L&ÓÈ/*Õ{Q \lô8ÃÌôÓ4MûÛßþ’×ëý ‚ pöì9:ô[SŠVKñÄÀeÖ=æ­Å·›1þžÿ^UU144‹7@df&h4‹;¶ µµ>Ÿ¯ú÷~ï÷¾ºk×®ó¿úÕ¯~¾°°0‡ââ8$Šw ßÖùà– "Ÿ²— Ñ/¼ðÂþ†††¿"I²®_ŸÀÀÀyðÆõ"ÌgC;]h2Æb1©”ˆíÛ« Ý_øÂvðÁáC‡K$œ.¼ÁƒøQE޼LƒÑÈ³ÙØ Û…"=öا ‚hPU|0²æ†x--uÈdx,.&°Þû8Ün-ØJ&“’~ÝW²m&Ãh ƒÀ$‰Çq7¼^okeeÀá~Ö¾ÓÊJ?::´Ú”cÇŽA’$<ôÐC ‰DW¯Nc×®0 …'ŸÜ’$L•( p%3àNì ©ÃZs·SÐd ¶€±IïuÇ&_Y–I’憩YZJàðáSˆÅRëDñkQŒq‡ýxüñå4Fí½¦BE¢££ ؘŸOãý÷gÌ~»r]»­ç¡“b1ÃÃ<ü~[·ºPQA!“ɨ’$I6æÂ>„",†Õ|q£²YD!èÌ¥‘½eššš¼.—˧%fpæÌ ¢Ñ8òû"–gò÷ƒmÍ0ŒÝxâ‰ðzs}55xÿý똘X*  äFésÉddŒŽ&16–F}½}}Aã;²«ëñ%Ø 'paOhæÒÎ^A}êSŸúž.FFFðò˯ •JçÅ”ÆãÒ¥+p¹ÜzŸNáup*Ÿ+ÿï…û©*0>u(«Ê,-qx÷Ý)´·W¢·7 ·Ûzî¹ç¾öƒü௒ɤU È©ÕÉCŒ¸]óšŒeØ õ¡}¨zÿþýäõzÿÈ ª¢Ñ(<Œ©©KÆ©ègK¸©÷Ø3ÅÇìêÞ3:º„XŒÇîݵðûYbÇŽ­=== y´õ IDATƒƒƒW?~F×·ƒ ë5°¼ ¡ba76#Ð0' Çó5˜ššC*•ÁZ6R74TcïÞ­$¿ùÍÉ[nžws}€ÇÃè“Ð’„ü’™•€Œl£TdŽa°²,'Àår9“ÚñvïîIH$8{ö,êëë±uëV=[}’$cdäz{›ÌÒGÍXM (fgce›øYJ†Ñæ6žçåR`‚ a™ õfkì.d„H$r¤µµu§ÏçA<ž* òŠ]‹bŒCkkµY•Ée™Œ€¡¡y¨ªŠ÷ߟ@OO-‚A7ÜnA ¦Æ‡¦¦ Œ'Êb/Ê9tZ&:¨ù¨ªjM,0º‚”PbŒlôR—b~8ÖÚsf``àòc=–¡(Ê{ãÆ|¸X®oÂï÷  € Äbi¤Ó<œ ÒŒÇ]wµÀëÕDh¶oߎÉÉID£QìÙÓŒ™™D·õÜn••nTJD&#•Í hï\™åðð0o›G¬~™"›ñ÷b=]›¡±›@~ç;ßùMÓÏ@?|]߇tÌ]ò¼€“'ûuðQl# ^ˉ •·åX“ÜkιÔ|`rýzé´„{ï­…×ë­yúé§Ÿ|ñÅ_!òƒQµ°°Ç‰·åA¯áEu’Ï¢PÏ=÷\wGGÇWÝn÷g `Áq<Ž?‰þþ3Pe™¦©òAÅjÞS¨pv÷.ÿ=KKŽBGGA0 ÃôõõíܹsçöH$2>44tîÌ™3çb±˜U“„Ö¯Q¬LÂ6ìý›©tŠ@~ík_ÛE’ä]0<<µn¤nooгÔé[ÐDZö½>Ÿôê.¿ª%ðT¶RŽè dÈ aôtqX]Ú4Ú´qÁ {qüøqˆ¢ˆGyA ›å& 0::ŽÁ04x^Ò›é ø|.ÌÎÆár1¦bœÕéÙ™-5ÔäLOE|/tõ(§þ‹‚†ÍÈ^8ÈÕZÍãÄÁÁÁ“­­­² ªª*±°/;¸/Æ^’IÎ<‡‘‘y¤RŸïþp¸bÕì…SpŸÍ 8yrA¢®®=Ô†ÑLõŒ]f‰¤m"$kÃ^h%xÚÚFe:Y‹È9w—b/$l2 cöbX/6€9wîÜÈÓO?§(*X[«±[…ñ„öݧӹ’¸_|^¯Ñh0?ŸÀØØ|Ñõtt.ƒíÛ5 Un܈ãôéIëû˜M!Í¢ªÊƒ#GŽàܹsH§Óæ9¤Óvö¢°DÊï×$UUÅôô4_ƒa/‰²&(íce³”]ÐJ¤êôy²,—0Ñ+æu¢KÒJÝ»­óM¹eUË“ (ðù–e}|pV˜3*^¬±"‰X"õä“Oöàâòå˵k×ÉdÍÀ½¯¯?ü ¼['k€UzƒC°æ HV“™\›R›óÀUÓé[–U½~[E*%áÒ¥8AÅfgy ‡FEÞ^†@kkë]gΜ™uÅ&a…%SzâØ²eË6¤ªªˆFãkÚHÝÔT†¡¡(*ÆÇ#+`?ÖÞ<¯Ü}C!Í­xrr’×E 6‚ –w\Ø0ìr{ög;À0žYì•+WÒo¾ùæûýþæéééôìì¬ÚÒÒÒÙÔÔ´µªªª‰¦é-pêÔ)ðsRĆ´5Ø+ïX+c/ÀíÖ¦t]´A.Â`Ø™ Å{ò6<À(Âb–{€À*ŠÂe³Ù+~¿mmW®ŒU‡º|y.ƒîîFd2$“YŒŒÌbppÚÒáÌ( Îbdd~¿k¥’чÁðûýZ)ÔK/½d6YZÿŸžžn„ÃalöG!ðÑ~§¨Â}+*XŒŽ¦Nç_'ƒãT´´Èix½ÞÛ@±ÊY³×ns3ÏíxPU¡pŠn U¸˜¯¶‘º½} `vv£D ÀuüøñémÛ¶¹8ð‰ºººý Ã䡎ãÐßßææfÓµ;M “á!"DQë¥È™yjß½Æh¦Ï ÃP`Y,KÃífàrÑ`Z/‡   ‰öövã<©ÅÅEúüùóèïïOg2 Pƒ¶ ·-M g¾Y `ØA„ŒâÍ~Fb½‚ “‰µÛ±Xl\.. Anš½°+ø¤Ód.¯YÜùœÜn ^¯6nܸÁ¡Ð¤™Õ×\ÜvæbÍEQ}0==my‰=:t“–ò#'*JÕˉò€|6 ð5§¿çJ– v4vº«°|*¿”ª°‹0K+Œ¢´- y[6+#.ŽŒsVÅ­ªj…u Ø\o€Áhæ!°¹Áó|LËJhž(Êk¬WUMç×ññ9Üó¼›í㨮öé ”¨fPXÏ/•ÈlZ—;r-‘3Mô<ôÐC±,ÛGDµªª¤$IYQ™L&º´´4?99¹044”ˆÇ㠜̈́(®ÚÚÚªO~ò“Ï×ÕÕ}” :*¸Ý@6›5Ù‹¥¥^yåDž³/A`YõõaS¾2Ï`v6®¹B‚ Á04¼^>Ÿ ~¿¶UT¸ ºÀ0Âá0ùè£ú8à={ölt``@šŸŸO;€ €Ûår©555þúúz¦¶¶Ö …ü^¯·‚eÙ MÓ>‚ \QãÉdrìÔ©S'£E€¥=#îÄ|¬Ç€²€Å˜žžžØ½{·Îõ©§žâeYŽŠ¢E1*ŠbLÅ”¢(ÖårÕƒÁ}4M‡ ÎâƒF1::…¶¶FìÛ·¢(âäÉ“hmmEG‡æØzîÜ5¨ªjÉz±sg::¶˜®I’ŒÑÑ®\¹޳—kfl‰„!mš+y (¡ÍÍhj Àår‘û÷ï¯Ù·o_M6›å³ÙlV’$ž$I™¦i0 C³,ë¦iÚM’$SÎ}\UU…ÖÖÖìÈÈÈ_þë¿þëk%SÂ!x_wóD‰æ^ipppî£ý¨€öù6”¼ñ!Úï9u«ò I’ðz)ƒÁ°«‹Yëí…"ÀÂ.w½áüVòÈ<öØc?ñz½_;pà&'§022vÓìÁíjwœÚÚühnöÿã,Çqr‘ƒkç×pG†~onm––ù2ÐãJ¿ƒ[÷žÕ)ʬÕ{ò_£i0fgg³ü6ÆB²e1îX­Ýíx¼ñÆ ÷Þ{ïUŠ¢¶µ´ÔcnniM‚õêê Î^Dn‘!ÞÚöfTUyáñÐPU'OžLayu»|庨½ …Bÿ ˆNUU‹ÅÉd¡ªË²ðx4GU†aÌù…¦éFš¦=OÑcʲ‚sçqö숢š¦°c‡†_.\¸€T*…çž{A`q1ë×55²`Ї¾¾ttlÑV@–euaaARUU­©©ahš"zzêÑÙY‡‘‘çt á”ÏÝçŠ,.f±´Äch(†ÎÎJ47À0$¼^¯Ëëõº–¸µ’ -`Q!ËZકËðù$áéììü³žžž CCCsÈy؃3²´^Y Xç¼L&Ã˲¼HQT­ÏçF®.™A(äG8\ÊJ?‚A/**¼p»Ù<ŸU/–4 z…+¦¢h€#›UÉÈH§¤Ó 2’”?f&·FSÒ¼KIÓÞivòvù}4áìÙ³“O=õTš _(ÈKãÄëu#ô¡¢Â‡Š /ü~7|>7¼^X–^“±RìV<¯€ã$d³ÒiM(–ÉÈ0š|ºÝ$hš0 ÁÁ(j܉BIû‡÷Íè©sðàÁï}âŸøEQ­ðŸÁÀÀY\¼x KK1ȲbÞ)=(ÇçbuâùŸ«v¡àvÓ…Ühjò#Ò–Š™™™Ô[o½5…B¹åÊŸoëu^3€¡(Ê¢†²½·1ˆ_ÿ.ÞË¿§øq**rê%£££IäÊ'¬tåÀZl:paüO‰Dâg¡PèÏ[Z¶`xx±XꦂuUÕþ**¼˜šZÀz0Ï+õÙ,K¡­MD###üäädÚ–©2Öµòù" Œ9 ݡŅТeäæñæ›ocffÖÔ+'4MÃív# ¢"€Š ?|>ÍÛÂåbAQEA&Ãa~~ CC×§Ìctv6Ãï÷@QœŠº°°À;€ÏR€âw¤Ó~ù.]º”¬®®þ£xàïhšn»ï¾{pß}÷@–e‹ Öo§ªªÎ@©0¾šÜ7dünų°í“L¬¥‘ößó÷³Ž|1#ã5ûcdd$þ‹_übXÅ4r¥pN@ãŽ{á¬U‰$IºJÓô“---`YÖüò‹Õ#æ—'•*g²–öB8ïWº<©TiS9+Uö”SÈ"õÁáÜ¿‘`IÇŸkj´ï1‘H$y87½–RÚÙL@C€_ÿú×?ûÒ—¾ô‡E5ÝŽ»€d2{SÔ33QÌÌD±v Ú7çÇQl_†¡ÐÓS¥÷Ÿˆêo¼1 mÛì†JËM>wì!IÒ†ùouuµøüç?ƒl–ÃÜ\Ñè"âñ$R©42ÇãÆ9LNÞ0Õµx‰¢öýíÚÕ Æââ">ó™Ï˜‹ùþýÛáõºÍóI$ÒÉ“'ãýýý Q­åR2™”Þ|óÍ…cÇŽ=øàƒ[öîÝÛìr¹˜ööj´·W#07—D4šA2)€ã$=H-œßŒ&Óx\@"!šsENJ›È b=Rbs›ÛMÀë%árå3³Édò܉'Æ‘S›*Ö0¿ç³TJQ”%¦´´uÁç8±Xñx©Aô€P»‡´æð\y”ÛÍš`Ás‹=l…>T³Æ(•J&5ÉbIRu l”>‘p¹Hø||> €ô@“D]q?ÀdÎAp2Y,Uµ™œ˜—¶$b^ŸŽ(Š×Y–ݹ}{vîìp ҌދT*‹TŠC:Í#›ÍŠày ¢(CU’4@$­üžJëmd˜nZˤ  J’¤>ö(x< < ŸO{fíx~? ¿ŸFc£GOH(ˆFżäÏóvfZ(ÂnIØ|¦‹+b¹Þ~ûíñáááçŸ~úé¯ÔÔÔ|Œ¦é*Š¢ /¢ óEQ™žžNž>}:rùò娪ªËšo¬÷Ö$£}­¿#×~ÍŒÅÅÅ·þ´¦¦ßýîwÍÉØ:1ç@lP-{­+×¹{9–¤ØqJ™òkè¹Õj¸SSSój~‡úfeMÙ>øàÏvîÜùCŸÏóÿ·w-=rTYúÜxfVdUºªLÙ¸‡c™öàáÑ ^ô–@³rÿ „Ä¢™Кå,zbÚî ƒ aS2òàaÐÈÓàGUÙUT¦3#37n/""óÄÉ{##«²òQY!…òQYYqÏ=ç|ßy•Ξ} nݺ Íf›°¢“KÛË@£Ò+GL²î2€ RȘ ÌXÈÞKÃÐàðá9°,„ðᇮ߹sç—DÁ4’“‚ Ùø‰™ýꫯþùÅ_¼ë8οkšv²\.±ãÇ ÇÿZî]FÝîN)û;|QÏÚ¥¬P¥GT¿üòKxâ‰'à¾ûî€ø¾¦àb}}½ýÍ7ßl¯®®Þ ãÏäsx«ÕŠ>úè£ÍÏ?ÿüΜ9óÀéÓ§/,,Ì;Ž'N,ÉË'¦— “ëŽîãàúDÁ]×ýûõë×?}ÿý÷ÿž£¡€Æ²àa uG¦à;‚ÿµmû9!„·µUoܺµµìº^’NbAµêÀÊJNœ8’̱ßåF€ïÇiRwï†àûq#]g0?G  ƒuÒ¯¢(AÈŠt½œˆä¬9‘T6"$7 SCEjµܹS‡ÍÍ{ðË/ h6Û`F’*5•J––*P.Ç5:–ƒ‰aÉMZ“·´ÛÚÖj>ܾÝ×ÁŒã˜P­šP­ZP­Æ Ã¶58v¬›A¹µµ%›w(¢*ù˜)™¸qãFíõ×_öí‹'OžüÍòòò?kšVeŒÍ3Æ!DYQ‚n&ÐÄk@3`Ó' ÿl-NÆéëã÷R¼,„œsE‘àœ§gäy÷<»®Þ½{·2ÙR‹m×èX–1ÈD)4Yâ G¹»22X*8çñL¬z=NÚÞÀ¶u°õ«XÐIDATX^¶ Z ¢åå1_}õÕæ|ðÿD6¶à$X>0ñÔ€p’÷ù|âߥÄ_˜ƒx]*BˆJú a†o¼ñÆkkkô¬ŒPôBý‰cxcgfY†a.--U–––æK¥RY×u#ùÿ´4ƒ1%Ó´ÃDчB?mιA«Ýn»­VËmµZ­v»Ýò}߇lZ›Ìð2p¡™èÌŒtÞI‡h¨T*‹¯¼òʧ¸-±êðýZ­¸ö" £ÎÌ“4Ͼ›ÖÒÝZ @E¡¸»CmËY&ÅͶ5(—ã´¨JE—¦ê ì¿öÚk?%©©.¯#G²µ„8 äe0£ 9•eäL.<þø™?<õÔãlAv€ÙTÁ´ÖÀûüùó¿ð<lÛ†Ó§OÀ×_ýßkkk› ï¸Æ‘ƒN‡TŒ±ì³ƒšD@ô0 úÆÆíG®“u”u‚“=â‡TîĈ¢iÓtFývíÚŸVVVΘ¦yÔ4ÍæiÒuÝÖ4-cßRgoÛ¶#ÆXåVË"ÒX&•)³.Òk•̃êD!Ÿ}ö_­¬Î)Û6aqq§œ€OAfÀgœš (‚Á: SV–‡ÅHíFÜÎu9„¡ÇÑ3þiT¤Z5 Z5 Ù|Öx÷Ýw7677)É(“<­;€ÙN¢¶:ö ÅQk/ñ, À¸(ê ò˜®Gÿkfj{b÷eõ—Œ)MÊÒbÊØ4šj€A%cÌàBLà÷¦÷ uûuØÏJ#$²egQæŒgFâܳ]* ¶G2!$ÏU£*M"ZM(¥E_ãvF„ÌÑ%ÑKÊà¨@tfâóƒ>x n›}îÜ9¸}ûöO>ùä d ŸÙoTy·“n\éý£JšA·ÆÁBèHMP·Ž¦2CÅ£,¿^¦sU÷H@5ÙÄƒÔÆ¼óÎ;€Ëˆd˜wgi~~~y~~~ÙqœÅr¹\µmÛ±m{ζm˲,39uÓ4uÃ0tÓ4u]×5t2Y´“¬c†HH#Žœó( Ã( Ã(‚(îû>÷<·Ûí°Õj…®ë†ÍfÓo6›ÞÍ›7›Qáý,s"]Èϱž%'Re2iŽ—/_þësÏ=·`YÖ¯0øL¢ŠöÆ–e‚ã”'<A­­­mA‘H#Ö8"-kìAg^ÌZ·ÌíÑ÷I$:€@‘ÚS[0µõl‡~ P\`øG¥ÛØV)ˆˆ±u3†¼¹ñ‚É Ðv‹ÔÛˆÝc#ÄIþîôžz2´ q8lªê!(ÌìÆC©I”™°ÀØI^%“< ÅKÁUG ›“é"™™dgDNÓ¢$mGvÒféï2ÐÊåò€ãÄC‰êõú·Þzëçcó•Jeyaaáp¥RYž››[,•J ¶mW,Ë*Û¶m™¦iZ–e†¡'§f†®ë:Ó4­<‘LtäG©S°‰'ç\„aȃ ˆ|ßç¾ïGžç…žçñtº®6 Ñhx­VË¢(„ÞÂÞ4%¶)ñ”¤ãŒD·¨,h2 ï9?Iµ‘Ÿ`€ºÛ-„¼Ç>"}.«œº†,<égN.L‰±Ÿv1,€Á%‚Ô†8Öîcpöc)X‰ 3Á‹„Ô · Œq‚‹<¹‘9’)€Ç,{ Y˜tR§üRæ=ã('Nrj$µäRcNÂðØÞÞ¾¾²²òÀÆÆÆo¿ýöµZ¶zÎÈV’àF<b–È8I}Zd ¢…¸v ,hj–P½‘ž4¦‘hÀ:ÀHäwÌbDgÐC¢;¤gÜŽ–3Î9(˜L6Àž VG±2„É©–íéYLég3q=’‡ö£Z£Ñ`÷îÝó ®] i´²¨£¬s#Û¡<äÉ• ¼} >cM!DCB(y³ >"‚ú L.°@gŒé €ÁöX~û ÚˆDÖÔCÖÄc,¶/#§Orcèb9Ø££("Ç©¦-èdhU‰T÷c¡’1þœ8Šmd ÈÏ«dÊß(äHä\?e/d'.æ¤)¿"GR§K6»!b½#V; áÍ7ßüËÓO?}ªV«µ¿ûî»5!„ÎÓˆ“#&¸¢= €$M*up$މ€üT°¼DúY:‚Œ"ÑiÕž„¥Œ(K ÝÎÂC²V;I—9rO#8Rí !Z95UcoC9AN¥ŠèÌ€Oa…Á§‰ö±¶CyØ èT‘¶>– è¦ÄÊdßqÙM™• ¬LÈ6ˆ1`|)R*}!$Z5€Ó‡ÞZ¾Ž¥O8̾p–Ã*¤ÅBX›BÅ÷DDP|ũ̵ÛG Cöìq‰B¶¡wòy‘­QA»ID„Ñ¢Ñ-2Í56>…ĘòpAu 5Zz­V+úì³Ïþ‹°Q²ï‰$¬'é>ã9CS |j9ÌXg@C–žš7ÉWUÏ1MÎv¥)Œ1jsJ`%©k“ 0hýOKx} è=ˆ`¨sïóRdR]iÔ‰"ŒP> ØÀ5w*ð9KG¤pÒ±|TdíÇ1;HÅÀ‘l\§Wä[”sX_8 GqèÍ—íW9Í aXß+Ë) œûU©È„Œ­LåÌ’Ù~½­û)‘Iˆ`DDh˜Tö|»‰`#Ê@ÆVäì ÅgeàB@ñ¢{ŒË)ç`H† dè9£_‡’AF¨`·(›5Ì&u¾ åW#ç±VÒÒ¶(ÀØ]:L¿5Ä)lª¼ê6ôF­eMf½#/“"|v"ÝBɆ>™€€á% “õRà9«ÞñÍËÖk©ü©Tød½u (WŠäèúAÎNäzÔ¤â°#y¹n*£«y'õoÉ”Œ µÐÛyf?*öT1àt‹>eìDQVb¯ºH• U)Ì` ðB/ƒ=Ir!Èz†9‚Jghç0uàóÖˆ£!‹`Д3l°EÀÐ$ÿ§ÑÇp*p!K§àdÝCw§šFæ›ê ƒ-˱ÖG0ŠÔ`PrD–Í0 a²Ò'E6ÒèfÐÇ'鑤n*`¨#à u]k‘¢^f{‚· dàû©#rB'ú›ž£*ò.2hOU§§JƒÍ¤ÄŽ#ca/j0dY—8øq?ŒÝþ=Ã5(bÝOÊ‚Iœ;•¬}¼»´5²½¨rÊpŠd†ºH:ÌnÙjP0’²\jú¨¬¿˜¥l¦ª¡B^/8œEå¢_!¯ `àh‹H~…½3;]oªçÓ& ’ MñÈ`ôÑ‹~2¢ªÓSµ(ωãZ{c‹ˆ µŒE!D0»e‘Ç "öêè‡ZUVÀþmIG¾7qêô>¬Ä$tÊ“ã èPNŒ‚@†@ëÇÞ(ræ C0ºsU!ç°Çt`•,¤Ao$CËÑlˆCHö~ÑnTÓè”Ò™0ø}šR¢ª…¡äÖnê/vÛE “ªèt³±À€pѯÀ·_tk/A§¬‹”,-6¼Æ2ÈFhàNƒÐ4îfm‡í I§ëùÜ$èõ¡Ü0I7ÖÂàMº¡ÛëïÏë,©^ïG¶µŸd9 „Ì™Ó$Ÿ4p‘'W”Ù9Îc?‡râ˜,ɺ²]!Ó#øwuÀ 33@rßd,²´6½‡9º¯ˆþS9)ƒ™t šZ6S¡ŠDT¥½E@¢ªsZÑá‹8Z=Ó ´A! FÁSƒbmjw"E#²hµ €ªŠzù “¦oÆ Ž¦÷þí¡òW=î¦ó¬~ÆD¢Önx6À A-›PY9ÎeDfÙg¦JaíB—è &RVدŠÒú–ÂrŠÿ»Èµ MP´É&yç Ѥau ê·v²Ht¿GY»á}»Ö»° tí15 €ÏAR¤•‹"uy©Ñ¡â¹,£aæeãàØãà88&€Y`¼f´WmY[ôg3c\™1— ò;‡©zwŒöqž Ú/zÔ/оÓ{Vp?÷ë&%‹D ˜ÈD©dS)Zªç¼Þ ¸("EÒç(`à9ïÍBšôÁ1EÇ?Ò¼ÅRSIEND®B`‚./chessx-1.3.2/data/themes/leipzig.png000644 000765 000024 00000113561 11172700607 017277 0ustar00nistaff000000 000000 ‰PNG  IHDRv=š]bKGDÿ‡Ì¿ pHYsÝuÝu¬‡ÃƒtIME× ;ÇóP^ IDATxÚì]y¼MÕÿžsßà=<žy#s2dHÈPhÐ@¤yžhR‰(P¤”„LEBÃÏPšD¤‰$ %ó”ñyxÃÙkýþ8ó½çNïÝ{Ï}Üu>åÝ{÷9gïµ×Þk¯H@€$ 8Ô’8H@€„ †‘€$  H0Œ$  H@‚a$  H@ # H@` H@€ÃH@€œÙäòû=Úv`äèq &GP“š€3dm p ¡,2‘‡ýÈ-ª c<î ðëèâ÷·#H…G{·¤¡ÃûPÕïÝ_ã¢ïŒ{ÔUdEWôF=GþÄ<üìõ{1ôB”aVâkÐ+õ÷Ámh‹ äc#æã-OÇY|lèëq1ÊÖãLÞ¢7‰à×êw漓ÁØàîï|'AaE2ð¹m& Sl²gWì±ý¾çž‘x¨„å^4½'Èã,…öøÃa—;…‘.é†j%Fâ>r˜ÍgŒ_á”ϯ»µS×™eñ—rÐ5A g!Ü‹|¿;Ý7®P‚a$ .à\œÊýÄ`î-<ã8Ò´ßçªó[’.RÚ*©úl?}Æáá0ØCwÐÇbµøR¼@•ULü‡Š "9Ëà>uMø½~B‰Ø3Œ6SÉ4A¬¢©!?±5Ýàe¾žŠ !¿õv¥ƒq7á΄¿Wц‹U;Öbê*§‹Û<2ÐßÑ.âÿ¡”ØÅy»  ž=£°Ð½ Ð[RñÑ ·S;Þ.£†á¡™œEÐtÛnsºJj‚L)»x%-”³Õï[c ú†`f(¡K·ä³ôC˜n¹[aCtKHEFƒÁ5IŸÑ|NUOWUÕÙýÒøý5õ×ÃgÞƒ{’}UÌ`0&ŽDg$ëªÉ4zŸìqz Cʸ<ÖF‚ @ºñ1 )ú–ª¢¬æDWü ÃÂÐÝëË®ê¨Ë£öOKFS}M ßýu•Ð)kfŒû•`.0 Æï¨¢),òÁà¯h†¹9æc!ºâìÐÖJ¸ ‡ô‘7Úœ‰_FšA¾ÀømyÔïŵÍç|äÁmèC±UÙ£¬¡áœFZrê`‰·müç‡Æ^zÓ"úWÙ¥|+î"Y½sdÑȩ¸§…á–¥5Ä|Ö0 `š>ò‹ÅO–ä ÇùuÎÐqpu ãl`ŒÝèà 08MœdâöÓèFÜã£É>Ó ™#¾]œv˜Ù_E] /%h½±jFéìõó8f¬ÿƒ;‰<Ëh– ™BR<¾l£…À’TvÁmÌö Ò6”²E—a0çpecU¼,ô ó,a¥ñ·IUÄ%ÔŸ¯áV"ÕºOÜó^%FŒ5$Cûø0NƒÁ·3óá£À8„çPþŒ]±Wi ¿ã—ˆŽ²žj­˜ÑJá‹Èµ%dªù½WàÕ•êXf¹{–±3\ŒŽÚÞ#¸ºˆkü„Ä0˜‹’÷St–1  ABo»Ð§hîå"‹²%Ùž”-g㤒›t§D.+²")’¡e ‘áŒ$xØÃIœDiÉ©HAª(.—ÒD ¹„TB”ô”¥ä )¹(4R>èA ^€V­·mänü•½mY Ç£˜Š—°ûŒ[ ÷ãuÝC¯Œ²ÿƒÖÿä!üŠäày—=ð`:šñI À8üÿÅáøš! Hâ6^Pé3Ï8g¨à“7´€Æ^sd´ã]ê¯ÓŠ.‘|Å’AÛÏÉg‹[­ ;ƒØ ö¹Ñ©0Œ…œÅYòQ‘å9*NxŽŠžctB>F¹’åáï‘d|ö»¡B²´ðxý߀Ó)•¢2R&JSyO*'erÑÑùÿ†å¢3íז¨¥õýnþÊwé„»1cÏ ¦!c<éêÓR9°"Öƒ—¥út¿$$àMù¦Ãƒ:ÒÓ<Êày܇c,%$ïåUF¥Ô`ÊÆpFi(IÞ«*ÓcþZñ*@çÀEš#íๆ“íY‚DÉ5,¢ £¯¹É{,ì!ZÞÒÒiœÆ^;+* dTLÅõN†t®gwA.€z4ÜÀÓår:ŸrI*Àx cΈì¬ÌÀ ú‡6´XEÍ~·\…¯ãÓ0©ü®$áai2ÿ#¸¯`KÜò$dqž”bûú?u~Ea€c>tsˆ Èreô™(2ÈD”AY”E%ÈÈÂAlÇ&ütôNá.ú@Jc9Hù¸ _cµt>Ϧö¡ì+j¡ê£Ê"Ù8€Ã8‚£8‚£8Šýj’Ǹ-SšÄŸðoÒ6Î’“¹ 7“?çy’õ÷¢ÃH»+^mIøXíáH-i¢êYnO.ÖAÓØ–wvÇ<†¡E>Œ戺ò ÝRõ¢k´ŸÌÌs„K®…¡@µo_x¯«ÚçÑïMñŠ©œ“·#œDûlïÉ¥ * ŒùÈ[b¡OLˆ=e=Æ¡ã!O³a\HÍ…êf½B³Zä® Ëü°ІQýñ>öÜ#ŽaŒOVx­Ê}/ûÞ;&vωyŸjüÖ¶>AIî_YA]ÝÚ&gê}œil!7*Wz‘Â]¤Ö­>Éã¹²óÿE¿"írûš9–n|Ê6úskz]¯çÙñó}¾Ê2d^$˜7V4Gäšq8Òu`p3qÌÂ2æ(šcCË€wVõšó-AŽ"»Àà¾dMþ ð—+ij,ï%æÙúÒ‰Ç<¿7¨}«A/ˆÏé;e6õSdÝ80´ðÂÉ íªíΣñâ+ñ­ò.uq#¬+ OâTؼÑ6+‹…aÈá)â9ñ]K­©"9½Ü§ÒÅD3Zy~@ä& ü˜A ÿÑýÂã4æ\Œ)‚‰Zšn‚ è°ÏèU†‘)j*5•ò™a0/ê¶{­`Î#ÍOÿ?¤Äá1aŽŸM²^;/÷¹§DÀö|ågCŒ]F ¬* Và?ÜeØ;­!ÇçÊsd0£ GW<·éW—©}Ì S>kàasOhU´ðºm¨ u§‡è ±Tl¹·8Í›èb¼x€.¦ Þ$òR\N{)5ù‡zM²2O'ýj;QüA„‘¾{‘béØlFíþã0z•aLPÙûc̯ ³¸ÌÓ:n®‰Ã'c¢Ãç¶ ÷ÝísO0]uüá ‡VŒÙH;â¿B©’—kõÊ R@©Ÿ™+ @×gAر;Ð\§œû¬|˜Gç‹ÃðèÆ\0øNŠe¸^?ëF:/.O å°Éìã}!`ç8ÿíóñLr4ƒÞEÉ"Ã0^2å¬eŽŒ3T†Á|ƒPù¼“´Øé¹1IUÜŒÑx ¯c. â†Ð ¼Â¯úüá>3Ý!è=?ØÚ¯Å€€–. Í1ãðÆàºBo˜W«¨…ºŽáÚ0Œ4L€åó§8Œ‡_¨iix£ãZéJ† A³¢Å0€tüh"ÿ˜…}O´²‹Õq© IÁ ³-èt!FûÝ଎ûE£ªLSðŒÆ:ÃȦÏ fM_°ÀW)ÑTtRzp×ü ¨I!¸Þ–å^3žÏO†bÚ¦òJK¾XéÉ+-¸\èÆð·âfµ¼ ÷é’‡ÌÏÍ‘Q‹-%†t45µ5x±x‡‹«è<Ê!ûe¹ÒECêEűT´3Ÿ™ƒ‹âr‹¬ˆƒ&»ø1b’•àçôäÞÞñ-â˜a¼§÷óáK <†‘MÕÜS0·V©aiÔGÑZC[e»1ŠEJiud¿¼ó¯Ó|`øG ÅËç•ú¦05`ûó½há’à²È:i8’ šJ¨cØYlÕ§ÄÚÉöi?Á+èYÑ*ÐÞ@_;RÊÀ¹bˆøBöºï}"îeBÙ…zÇÅZéb|P+q¡|°IEa×GŠ5„¥÷¼>N·HÃ¥²„X™YuÜ2QÖ Ó'quœâ¢´®¶(͇"Æ0˜§°L;i¤º‰D?Ûu>ÚÆ0[ßÂÕæd›©løžl0¸ª`Þ«Ïóâ€í_ö¢„@© W‚Á—{çÐUß3?L|ô ¼:3yŒ8’ÿ¢EqÇ]ÃßÙz‡îä`»’ù&ñö¯|GT ¶?튩 ¦Ò³›6¢}â{ñ½C¯ó~WÌËÅN"f^aÏè¢Ç0€¡ö H£ÆÔAtRÚR-¿BhijÉ•ŽJs*éçìà¡:¢=uR. )Õû)Ãât‹ìfŒ/‚Ò… kF_Ÿ¤ Æ%6îÐ{8< KD¸ #jðHZ£ã"Új¹¹`ðu^Sk[Þ¥Oö™ê m µMkb&Ö(þ×í=j¤·Å„Èžr þÈk ÍS)œIÖz ¾Woq $Z>@)Éçî‰~·ÿ–ÞûõstÒö…|_0}Çp—WJ¾4{ó¸xL\L¥÷Åâ¢3õ„eí_Qô0Yãøt7ý`3nãù¢3ÙÙÉcô‡ ‹²å7z˜ŠÙÚt§ÏÈšm(WŠÛMòš§ì"Y×){h¹ð§ZÚBŸ ~ÔÈ;åuŒC||¦U½ ý¶Sš°õRãW­ £Ù[ÜáÅ@^&pMÊÓë|·Žò8¾ƒŸò™ÑsÕ™¸. ‚Ò>Kh[Gms%13×TŸ½'”Év­ ¸! 0øw¯ü®ßŽ¯Ð€@’ÿ(q¯ÓrG™×r¿G‹›m-kÒ—a­¢™"™º[´l|!´-ÇѤè1ŒwÁà*ô‹ŸIœBzÜr þÓ‘$6‚£‡¦ 2ZÐÞ»qÊ0Œø÷'ÉŒ¯xSÜLÝEjDµs«+ÅxH¡\OñåÎ,cLܱÏ,µg×x÷f'oÃð¾.öÊ-u’ ü­PSªàª(d<ÔgÖê‹ RL‹–©ï?ùÝ…j›[3sudywßóÂÒä€ÒH>ü›×ú\¯ß[* l|çó6eçò 5¯÷ÛòAK«kèh؇®Š'˸9$ñ^Ûbà-Q†ÑNâµÈåyR™ÁZ¿½š$ƒ_ ð”UjÍb ’ÄÍ(¯;Q–¡zžUáx'Ó?…t´Í£¾Î9·ž‰+|´Õû5ŸœFEQÕvM#fæ%dÿ¶ŠpbÌ=ðýB¥ª¨§†™ _åE—9¬f· "ß|«§Ë ê(«Yefæú6ê/j;ÝVø—Áx(`?¶ƒÁxa®Ð¼mBWIUóŸŒã¶„¦‹ãþ-÷èï¥g”‚- WyN-um\‚Ü@2›G)ÎÅÈÑ%Ú›R¼(1Œ`ðõø\œA¾gMß(ÆÊ"°¥øÒø•1&éÓ÷6Ê­TÂáLÓ7!Žù|3 Œ#|< —a=áÈ06†4ÒãìÌ0&¸-U©á‰(äI08öØÆñ.i›mà8†7U, Ëk(´ˆ ÈG*ÌÌ×ë”ÓÜOëëÕßSu}î»ìÇ{`pW/…QwµOsÂÀÅ]þ6­Ú”]àƒÐ2Jׯë?çš*MÊ<¹Ào!îæ_ÆÈqI)ÕF—ÃÁÈÕý¤®¦9bý-Žq>3 >É{é7ZB“Lwk$Ì’(Ç“D”aüO ²ö$ðëÛ<+À‚oº%j®ÐjtË—«åé}6ϨâáO:~^ýýûyº§ŸÖKÕ븭>÷Uö£•jö}€Ž¦àu·Ú6aàb¦¿-wn¡BË…Ê2"Ru&e~¯P«gÉþOé]X#Íq Â:¼„hM³=à(ïÐicâÌW°Ѭa]+’1Âå |'–@Y ØB*yJEAcfcOéÚæ¹žÇè3G3GãˆTµHÁGhźêÙh'QÓÊEÉ"]O*ÉÀïR)¢î‹þ>€uh,7§+øªÁýå“*¥žz/ Ïs­T‘´3º3TPÿÉ HÓ×sÕ½ªjÊžl G‚¸ÿªz\M”*óEÔ©2OPß1?† ?ugjsßBí(äyÌÆqvú}ŽJÀ‹tk¡VO©‡;²(Âù˜‹Å€Ê8Oàs QUƒ½¹fÀQ” Žb€‰èƒò¸CQÄaîfGø ž„÷÷àIO!c |[§LAÝ Ý€îºÛ^IÚMºÚ¨„δu¡òJùÆWq’26ÄI~­ß5c69KUójåZ¯Bcµ[#×YÂPÝ,{ˆFÆó1°Omò[Gî²€w–ÒOöÌOêÙ¯œ½þÿ§>ñ#bfFȇ©¿.Ìu…ÂñÓÿ©AòaÙAö—dD­ªÒéÊ÷¡˜¿DYŸK…ÉGþíoÇx}Èhe;ê\ª÷duP)ÊHA¸Ìf}*ÅJ|UIMƒï¥À•.*Š`ìàj×â–×OEÕ+qÅ.*b·>Ù3,4}­q^@ÿE8.ãGJu"ý7ã+Z¹Ìý0ŒÂxIéAgå©m¬’ƒdb‚Ÿªnǃ”µÚ ÷ KÅ´»ýÈ ¥03Öiç ‡–’š0¾*)œË)êS'ìCG£éް}ƒÊûÛn×D€aÌÓ”ºíÄ KB 4‘T÷é±xÇqç| jºs7¡¤ž—¯{J·o(Œ¤ùqÈ0ZƒÀÅiW€¡¾G`p:ïôÛb+©¤ÿQ€§hmD\UžKÇ}únWìñ¬õZÝ=é=áÀoßܽf|×8À‹fÌûÆ×ßEÉ`ë•æÃ0RÙÞâò<©Îë38fa‹é膊Á¸Ê–/õƒKÕÍ™¹y p¼½VÇÒ7õg;EawÒ¼ˆùO}þèAM›sï·xC1Â’-T¨ï¼Ù¦R^h9‹Mo© ÔEô嫹•0ƒvÿŠˆõ¯©?c¥««eŠžÖüÇØbga¤‡¯Uô†f ;Ÿ÷ù™Ò•¢$éJ™#Ž-sKÒ ¬"*˜¦j›wâˆ]¤b‰Y|4ÇÁh»'?;ªù{{“£gvq×1£U~ÿ6è27Ò[…›0X` patýløþ6€öxœÚæ1¿¨»C·qPPhÉÂw fæ÷õ á{‡'ÎRû…˜çè³ßÅïûÓtÙ%ÆÝfΛmãeª¾0@¤Dõ½£Ÿ?†ñ³‹kÅH¶Ò/D)ê'Ó|ÿCTÝÈlbì!ÈÖ¡9¦Ð)o‰œç.Ò M×ö³Ô‚ç‰|[‹<žÃçó¯Z‹£èŒ¡ämÁËæIt6HrñTܰ‹b˜¯û±4Çÿdßêò¨’T°½ûCÆÇBÒ:ĂՎƒ˜Œ<õŸÓRtŸ+Ë@ÀxèhÁì°|êŒI~c4³÷ÏúÈš¹ò~ŸVe´eϪÛGýi•}Z–V« Öã°N7ânôÛÓI¶ô”¿by!FíÇi¥G© ø[8P] ol1€ÚzÐe âji-Ý,´?ÛÍiˆ¬gÉ>lùÀé.i·á†R¦”Ä9Ò>^ËJö¥´]êç)Åâd€¥ã¼«qÂÖ"_+½ÄM¹¹\©œ/æMøYÛ ü‹CqÂ.Jâc]ùÓˆ¾”3#øèÝÜ_NÒëA{é%ºÝ·ÕØŽ?]ÅN¶špâ(E§jÇ6èj· £S0ÑVø6ìÀ¨@ ã'ô@é|^×áQ¶µª¨›JÔC‡¡ãªÝ'F‡jÄ@HÖª88„ƒ~úù—b|!ÕŒŽ¡CÁì?„°m¤­âçDžåÚ¡sžžšeWy­Œ“ó*¶Ã“ÎÄ!T×êLÊt,*ZI4¦f\KIñ+t¦P-¥7¢ŠŽ‰Â2…ñÜœÖ,•MQ¿~þ¾W\N`p§žJÜÞ «‹]ÆÏoj?^Ž’JʨI‘TWÆWFWº–£;Û¥«±Ñ½ˆ™ùE]!ò˜W+-3TS [;Mʼnwž§õê÷눙8Sm÷Ÿ>^âeì>PH\¥Â1ÇÀ!Ðéq~n£(%'ø7€Jj%òO·Ð(ÚÂjëO%5Ã¥uò®éC©„µG|hb++êVÝZ‘}Ü<0ØÃÓ±àw„d™ˆÎ4ŸŽ™FpDiöŠü ý(L³Ùaš+.Ì·Vàš® ž&4½]<Äy·4s…6åý/P;I€ÁׄØz ãÆu±«úDíÅ" #—“ôå²ÝµNö©x¹c»­jÂbæµ8øÛKîºI}F¡OÒ76{\VÌ´¾`fÞ,jªM2®Â; osÚlû=|j$ÉñÐ ‘ç÷è“áo;§ãäïž±BO]š$4˜™ùÙü¸ÊXÛÏ,@·%l+Ͳ8Ó+: £¶z†ºÝ˜¬þB·ù;§+ÞLµ,)¶8"ã }iY¢¿o%-„Þí:s7˜þè-8ÒβÌÌ|oÈŒèZ§³ÙjWq4ΞÝ?² ã7scùÒµ¶ÒûÐHµI.òÏ:U/Ÿ‹ô¶=lm†¨ßÞi`«9²ýéZÁÌH÷;ê$ëK’¬™R>A=LJ”if(3t?U››°A´!ã1[Žk+¾€´à°AÕô…¬á¤ümç*ž43ìo‡ÿ"yÛ\€_Ôz{™ü‡<™= ÿsˆþCo7è=¿ÏÖF‹è6wô¦êÓ„ÒZn\VŸ²Ú¿É;KQ¨±Hÿîs›¡¾`àè|zˆ³î”„<ʯû117ôó¤~¾_įx9?…-"Po³›”Ç«çô<³wÒ°eHóØ,£N4»I†qžúéŒÑJR™Á0¿H¸@îÆp 7óÛæ))‰ …Ñ¢µd£+–‹o̼ ½ø+Oé(¼„5ïsûø½ÄPò¿.Ï“.uZ‚nšÒÜÉ;¢À2V"Ԫǰï’f©,£–úÔš×¶suNû"EÅÇe61߇aTõúp³jðnÏçHðü0ŒâX„&@^Éͤ_ÙP¡>wúrOÀÍn.ôùýéˆ#Ë8×Ï“œ¿ìó]¾ôvÀ½Í‡Ä8sê©¡[½êÐëth.?§ã1O†Q’DYcЕ$IM¨B4¨’öÅ6“ R ÊÆSÊH©jû .míñ‹éßw¥p‡ù¨ ÀP_ä+°Ô3VÞ[ŽÑkÃJ,Yø GÕ?"tc|c~p3MÌÈXšÊÀõò4uQUÄ^e[5–¦:Ž—‘´Ò›Œ¡9rTgS£ä#aHz"÷Û%ÈÃêÊ8ˆÿlïKÅÇhÔÀ7R zàÿ~,‰Àˆ7ãw†Ü·è:à ~œFqC€Ò r±ß&Ôóó ;>DÙ Kh‹Ui=C54Ü- x@ù×yOúÈêyPÞôû™=,7ÒÇ; Hʸ/Ô¢¤VH×Ò!ø‡i üIà · Nµ©;3U}Ý®Œózä˜:ÏÇq´à=-kå)í³4½÷ž¯\ÃI;û¾‹t±À[/)Æd©hžä*íσËi9`'’a‚,cÛÀsÁàÒÅ|¥·:dÉú¥åªÚlPû+z«ÙF›Îê7Z"qÃŽó­GIªÍ¤©¹u¿Ñ[E*Î`' ÀúÖ6-¾ß&fæ“ÜŒTW…o)î$rÍ’N~, K,4t›Ët±8ÊýIé>µ¢Ž6Òd!Bq–°'7/sÊIÑíí•Âí›ö¼!QëmDm9GÖ`>'rúÓ2dls’kŽ;‚©½[ÀïÉIßÊOÓ€{5­]c wùrŽß¾üΊÓZèBlWWÝ~ñp!÷â+åZúÞÛ·hHj2S`#¸tÀ 3wžÇ™ 5öÂtÊ=ÍZŒÆ¸˜ñYkM‹©QMö‘«Å²Ü­{/«õˆû9©ov> u.ÊéÑ9ˆÈJíÌ‘Žr™ö“p@uèÔ‹†Þ«ç~ÓÑñ}-± Öf¼~&\§ù*¤«t]Þ2ÿécÜh°”\ÕÉ\Ï©ô”Þâ>Ë©a–J¡ŸjÿNS$-=³|©ÌYŠ\ÍÓé8·Ðú¹Î(¦VR“Œ(+K‘-GÇZ£†%qaFn©ÿn%]zP±˜F§y}î¨xÝÙm·£ ”£ÕñÎpH(.Œ0ªFMY_+’ÓR'›åWWkS9ÇïFqTÛ+¨Ó5[x§û]«#æÎOîp“¸’Ä\%ªü‚hØ[¨ûaíóô N¶MœXÆVH®m§KÕ>¼@ÁÆ•ô¿Ä7Qp†±-Q'îëÕjêMz^æ+u*ýÄP—=©~£W‹;Î¥í™ê¨Ÿ.²àé{ôš~*h)Í/3¨ /ymw²ö–ñœ…(ƒ6n¯´ù¾×¥v>ÖOÏkšñ[#‡-½”ñëw>wžgüvÂpÔW+¢?#œsû\ë]Y!?j8# ÙþÑÄÙUEa4U;û¼1ô§´”¥?…sý¬«É,Yšïˆ²¢œÖf¸ñŒçôaçÄtjï°J ¢Ì.ˆ/ Õ&¤ÖÎX/’Yõ§^ø~„óù©“k›éÞ‹Ú?ð^Æs”ÿ¸È u¸HíË%•žäVz§kýÓ ª>e´yZ§5¥Cw{q_ÎW4j/À£Vå¶F<·ÑŸQ]cZ á#´kiS"½bÖøRÙŸ9îàµ9Ï5ZLÑ~©Aè{‘Ià+…O­Ëu®ñë#NæÅ6j¥IrOOÝàEý>=:ÍÅÆ].P¬ç x%"%›Óôq=U°ZMI¼G03ï¤LËÙ`"òÞ*jk›Úv»dÈI~ƒ2Œ©-C{3ó*'´Ü ±„vf‘vE[º`~SÃÍ`bf> 4<ÜÂId³Rʽì¾i8\).ÃhdŽ2ÒPÊjåd:dôp0J[M@Òôp·ÛóM » i˜îÇÅúió3ÛÕŸ1ðŠ niQS_E7¨€ê§+…bYi†ê+²ÐÏ—Êžö™áz^ø£ï[´_^Ì̃\Ú¨€q½ w4žÝRè¡ ŸkíOés§7}ê´>þs¥šweýýË"’%¢)±ŠøPín51’žñ©—AWÐñ ç‘â:Çñ|ޏ…F‰ñü ?..£’^O¨.FÒ3TM?-µ‹áÄ–´$C w)Úìâk¡jfKÓbÞFÍH××þÂÝ —r^É®m§/©}s;Ä|¶_hý“°xH• Þ[jÞµ,ý_¸¸ÞÏ\Ý’cO¡1ÙgdzÕcüƒ¼³ª¥Ð&ËÊš¿dC{Z :aiñ(E)íEþõî}òž´&^-L…q)Å,®5›ÀàmÚ¯ƒ(øCb*Fàá 3óVmM4žz¯F=>[q_§Õñ¼+4c$Šß‘}£—>²EEƒaÀ—€¢výÓ‰}Å|ó°¨KÓ…^Ao âÑ Ÿ ‘U]ꬔºÄµÍ´¶šþ®E yw˜#|=Nœ>.QûÓÓ¶A-&ÏöÔצzìá•Ôâ]é5›/ÙÞPÁçùÕ4Y\‡:úý‘OM÷€/•yŸ•; 0¸ - …Zë¤ñ[GÕY–™™%0ø ÂG8¤7¼MÃÌ.2U[Û ®hyç¹ ®Ä ÄÂ,ZeÂrH}zÚOÕôèë-´ìŠH]µþúȾŠȬ÷z*´ÜÞ|5w–êry) §¥=´K¥oA6Ms¾P›3%à¶aÏ—IöL7ê)5äÊr1ÎÇAþ[úŸéIÐË 5`œP$¡Š™¥çJzÎS°‡L¦…|ŸÔ;ˆó\£7´6—‹#¨)ýgÜÑ…†‡¨«o'}áôuï(ø¶†zø}€ÝÒÜ+ö†£Ê÷éç¥'b6®zŸª k¥Ài‚Øâ™_p:+ óûÕP>Á%l§¬Kĉõœ‹%Œ.‡Ûx{÷Æ™ã{,Žè®æ×æÕÛÉ,Ûæájñ¨¸Ž:Šú¢<{”°ek’•²\ÚpOºQy„[ØžPŒ¿õÂð+:®^ʘ}ø$þÍFä“ ^ª03«VËÆïjÍòñ¤¹Ã 3iàdµÑMÂø@€Á13óƒo5žøÁ•E®!‰=.&‹åd–I6Ô“Ý¢2æbøÇ'k­muÿC`ð–\¦óíL•U9‡Ór–#Õw •)lÏgf~]ƒ‡O¼œÀàg‰™yа›Ã™™Ç;aí ×(¦²S {ÁÁ8nN) c(ÜX t„Ü$$7 ´ŸGÕ8™v@`ÕVóxL&µ¼nJln‘öQEƒÏ q¢$0¸¬Ÿ_·Ðƒ¢¸Ÿ- šxQ ›tÊ:˃]ÜNµ”ZÆøÐÛ=q%aWT)¥½L7P‘\06Ar~:gp).Å%9‘_0ÖQŠÚŠ;i<¥“æ­J ]áMk´Â¶*š1¸å0ó)ÍC—A¾ µVŽú 9ൿç;Œh¼vÇ&ø›Àà×µ_²©eÚMÌÌ­¸¤Í;ó¸ƒÅ;QÊ5Šñèi†^‹¬[íÓEa¬ƒÇx ¸ÉàîA¶áÇUÄ|“I½B'­qF¯rŒ(ã±!Nô,Õ¿…çSŽel9ü¥¶Ç­%‰{‹Etš7‹y4Tt£)tªºÐyYäê†úµY’UÈ…ÑZÇÖOð ¾à—pCjI×Ò -¦(Ÿñ*ñïU²8Ÿ…—23ònåþN,¤IâYq7õ¢†”&Âb K£8êç}Ãè¬òðK ž$˜™o'0x„6ÄŸIr̬0òÁ´Õñ‰Ã&jÏ{‘ÀàÍSÏÐ^7ŸT;3óWš'ÁoŒ<ã“àwµý" aX<û†±ß[iãxF@€ ~ ÈS¦ŠzJ 5‚’„¾„oÖ¦¦¡— ¤?ø™K™•©“èÇ}¸+Õ£@gPYt¤ŽTÇvNÝ2ǸÕùÉÇ]ÝbÛªŒñUÈÖ“Ïù,Ø?|C†gKÄŒ ¼mKT›®OŠ™ô“¥þdÁ@ð.ñ5½I÷R*\–y4Š£–1Çû}ã„Í/I€«Óif^F`pmƒß¬µþvÑ×¢ë¨5ã:N²6×Sšr7ÑRƒgó6:¡y<-´EoL&fâv ZoÁò&'ÿ(·eÔÉz”Y^¡Æ3¦¯NQ`ûLŸjÿpƒÏ ¨ŽƒÁƒ fš°å׉.LS'!U;ßçòÕB,ÙÒ¢ßFåBQNœ6ën9_W„‘÷yoláêòXW§\#ïϯb&=E7ˆŽJQ‘Ó„V-ZI¸žh/úÐ`š$¾³”æìN1Ø —8JŠÔT¹&Ð ¿F Ÿ`}¬ =Œ¨>WÓ¨Ž; ³íïK³ÅЍУ±Ä¬peÿ.¶ˆè!¡›ê ¦vK%=²e6ý.²¸$“é01L`»¦BøÄœƒâÀe¢¿Þ›ODaiÀˆmÛµÞF”a|¿dI´"§hP+<¨€/ ò”'TÔ̋ɔj™ªklÎHKÍ Bšâ\>?8»ÈÂ[¨…R¾D•°Òƒ´˜Â¡¨÷ý½s«Ë£ž/ÿ¶X#†S{J YË/Q#DŸÓ ýõy¤ñ…âfx¸²èK¯ˆUFzúXñVñž¸Î±cv_Ô±%á»bõ|KºòmœÄà’´“¿ &BÍ–yƒ¿úÌŠô1ÓŠ–.·z‹)>µ×)…Ój:’J™}©h0Œ`pSh[ÛB2ƒ4z×fp í ”¿–êªÈ¹.všwpa|¨ÞÃ!º-=cjá5«©¦==€µ˜‡çp™VIÆnûÉ´Ý/> = ¥ü-È9./Wµ³]A·õ΃.Z‡ŸÕ^N¦bÈ&#çé=2¹bs´ºÅÊ.uï'®QTŠ.À|SøÔ¢æ]«§˜jžu”jo“Ëâ„b uÞ—…1·1&kEòÜQ[Q xN ÷£'ÏEZ.ÀXâ'€m”àRúLNñó¢ü¼à/4I„Ïp”âcÃy| /ð!UÂØÆ‘£6<…nø@yÃiœÆix—§ì¢šñïWjÊU¥ÜX.¸c˪æŒám¨ëò‰j³5Ô+‰ë .WG%”“KSºœStǤÿ°—wà_iØŽì«ñIœ2Œ ª ·†ÚÈîwfwPñ6H/¸u•Ü|KÌ ›å,Ì£™ø^öK–ÌÕQ“« ŠT希œ!JyŠsš’–œŒdÈT%r‘“w*9[:.ŽÊGp€b´›·Kà_zªÀ×ãFn%gq+lµ¶:ŒË±&N(¦Þ“´®À+~" ” MO×¢!aYIï%'7Ð?E{a÷<®8îÑcŠyšè@[ÎhGè.½E—Mèzvš÷Ó!òý|#òùèš,™ôy, ?'¶2./ÍD'ëEnH£9IkÄa¸DÎ@ü j_tY¾PaŒŽ±óc6þ pÈFx‹pÊ ›Lç‰ÛéUúBü+ Kí'y½˜G#éª#$GY¤‘hoÿ~w’¤D@é ¾·€2Æ2j E±§f²ê).EwÑô+ý«ì[è;š zÙk2+Ñ`ñ mà]ÊNåwZ "oédî-&Ñ÷´•ö(ÛÄO4‹n3³×îˆý7Ùï&ð;å8ê“ï4Gt_Ð÷\ž£n0¨àO¿Øåå!á+Õ™27ÌÝKZÅ2qÌ0êi qÁ0´ ½1-`ÛÄ¢võºŠQW1Z¬ŒšUç/£Q¢;¤ÄúÇ,c'Ð@·cèlÃ\×<F·lu´F ®ýˆ•È_AºœÚ7(àÖ>Y:óø“lÇ}KyÕˬœÈŠÐâiæÏOÿa×Èb0øú°—†––ú¨‹YwCa‡GÔ<Êëì"K¨4°"Æ8hâku(E7‰O”I‹,äòr1D4pJ»²ÕâjŒ+žæñ Ÿg•ÊF—aDöäq“ªnÁ÷€ñ6ÖÛt‹-éRÔ—ÊK§Ò^"åxé‹q/n'ÕD†$p¶HŸcý |ˆß‘ÖI*¢_Œ ¸±WÀ*i9wö곂ëħ`-Û>¶ûc…Þö}³¤²_V;C5ã¾`U *ú_ÎîBqUƹŠ!åà/ÚŒ¥=ø‡(ËsÙ¹$OICIQN®ˆ*¨…zhŒt©‹šo²4:ĸJ8ÀXÎÀ1é:Ïe+ÆOœ­öà׿x§ÍªÀp/_%‹¡W[ :É0›ð>Í”vYß¼»ãj^E{\·Èûi°*²¶ðl¤®ÌE_F‘$ìPëb©é‹Oè <Ü˜ÖøðÍCtŸí |¿8ìsþXEf™œºtRÓYÖWïû+fŽ•ô>4ñQ=é•ζñ­ÕÌ3ÖüNÄct»ˆØ)«¿?Ùl•Ëtr•ÚÅyº×Œ‡Ò]¢š:ó/Çõ:Ъ4Ot])5J?aßc ´±Z1¾p¹Æƒ±)N©&?˜½¼VüÖæ¥òÀ QïeD%ŒÎ¨HjéªÒC¬j?êó÷RiŸÍ½¬ô–Tœ^Ö¸ãSô¼Ãy¬½ô=Úò i%±Òñ¨t/œ‹Öø)&“ùþ§zJý!Ý+¦yÌ¡¼ÁïJàá±–ñÍâ»åýÃÜÔ—ë6 € ̈ ž­4ùyع./ËÕf;ö®÷C2Ï‘NzÑ‹6a“d<á1Ä/hIÄ¿çûC>ÐããÈ–²E¶|ZÊG¾"HH<”œœ*§r1J—2ä *-§…qJZ!Û{3°PØÃtI$-pœŽIYÒ å´'GÊCn$ÀÃII©r Ò(3<”)§‡Œ‡LÄ—Ø®<²wb<À)ôÀçh«~X /ç‘|—”à†ß0„–ÉUÇ]xE Fªœn³0MÁZ&FÅ¿‡ƒZ¢²ùϲH“CÖÏÕK;ÆpÛ¨bònz˜)¤§­~Î"¼d¦hÏÅC!<»·f#¡y=‹ õ^/ç"•èv.Ù¢.‡ˆ™ùOœ¥uîëÅñ:è ×ž  w¦•b:¤Û¨›hBåI9/TЍ,Zp/qMÒ¯¶ÊzvPôj%bŒžf¿ hÊ9@+h [¨‹h(ÊùóìsŒñ®&ZÑt?½HÑ:q’‚%$Ò®½qL9éz_Ý-h8ýîÝá8Í— Éžò'6Q%µ"ù05Eɵ°¸L@ǹ> @£p†ƒ³-Ϊa½ÃÉìff ­AoÒb`lh}I%*,©>B™ÄKu‰¡"²¢øÿ‹¯‹‹¢ê-s€¾¥Ñt…Pë³Ë|-õ ç$þŽú 5«¤èBOÒB±‡nqb¸÷tGïD »i.=&ºQùHF9SM¾\tK ¯ÚöåèR1ˆž¯ò8&n¤fÂã=ú_bv€Š(ÃX—´MTŠ_p#|˜ÁàÙÏ-œ¤X›”Šeüª÷;“j #aŽ‘”ŒýèÂ3/ÓÙEa~Áý/¯..‰çÕj'z/ÿ"µpg;š%r¼bXPW!1¸ªøÉh¿¢Z‚22‹þ¸ŠçÕZ¯ñ‡âª[˜øöXGñ™žHŸèoûÆdY–í!ž-n¦ê.+·}SzP,&³ìQ*Ž{»Ûðb˜ó~*†ƒˆ2ŒoÔäÕVH#pÏ€Ì` ÁŸÜúÚ18ŶŸfª¨Šu´ï¾K^2’¬í¤vd©8^3„ç]«fV÷¤Üˆû¦û¯£0ÌÅå° ~ƒÔ/c¨˜£åi¨Pƒ#÷Ò(ª"¬&ïǵ jÅäºXà 8h)«GŠ}|úÃo›{´§˜鈺ڕI-W¼å Ëu ·UÞÖÛ_)r¢äþ¥ÿ“éZ×ÄÓØ€·Ë~dR1äå[…¾MŽôãõ´•(ºGÞaf$NS½]ÂÂå¾›{#*‚¼tƒâ? ág¥…¢Ž:ß)%Hù8gÝuC1ÚÒïcbó1Yeåp ¾Dè á"c8·‹m䛘oš(.L_€w…¯bæ2ÍÈ'tS¿;¬f¸ç`ºn°]ÿ¡YÐ{Óñ©ÞþFÊZXÓ·þmû\ÂZ†·H '®§áâ]ZD?ˆ¿h—rˆrá´]ÙÀ+Ä|1ÓÂ!±\Û¸]ø“¼1žA’×7ÖœA; N¡ÏÒÂË Ü@ø*tÍ«%UñÝNov ¿Ù{òåQ.-¡[E™ÀÉÉéúÛ˹Kv‘F׊•l"ë-Ã>çì¢>;Õ+ ˜„*šc|®¨1 àµëÐ~ÚK¯"@¢ŸÌO+£òž÷‹že%Ó¨Ý%†‰QùÏ(Qj ìg”Á´ŸöÑÃ¥€€ŠŒŸm=ü6„´f°Æ¨ Ž¬ð/å»t:¿ÖTãu¡Åš°LýGy©BMM|?·K³ßÄÚE¯Q; ÛXa«È©®™û‰-Ž$±–º‘SíçÆ+IwѯÄü7׊‹•„]ֈ琢5ËÕçtŽì ØëY~-:‘+ZÑa•оe­ïx)®ÙElÑ{zi“ËŒX0n+J #OãhÌRª§ù¡Èp}¢«à¼Šƒö!´n [@$~!šÜ‚™WåÀ;ù^§«âö“bw!䪵tzø-N—~5ûA鋹ƒÇQ+rf*+½Û ;;è&al ^ c¸P»'YRVî¤zö£ÚÏ.ᡱهªâGá]à«jPå”Ì×ÒZuëW:„`òN§9^tµÝZVè÷8f¥¥ IDATð“ÞÏšt0¬Õñ´°¯* £†šâTHU´rÓ¹$—æL.§]™\šKpª@^XLã†ÅÓ:ëXJ¦™QfÌ?›‘Ò§ÐÛ¡z\Îroëöy§¼Qxü&YÙì’t?Nj^µ£ü„—i»ž- ö ƒ¯Uì’Ú>ÑÔ^+>Å< 0™àûùöà݉"5ä½¢—Ã?Šv%ïTÖô%J‹[v±Ú4÷ÿæaJ°EVËUÓ¤Æ3ÃHÇc8h´ò|¡¸šïó b"OÏ_ÈËÄjeÿC»óÿã,Îabÿ8!|Šñ~Ú©l¡µ¼BYJóhª2G‰GùVq%µ§rÞLã©"Á4nÕ­¥ù먳‹ ÃXï U-{$Æ–­n±÷Æå9è5JÄ!µ40Ýô=üA’‡­51OÅ#ÃHÅýØí#H ޤ‡)Å›i<§ñ¿ÅÌBïmÅ¥{þ1ÐÂt#ìm¢n½¹–VPA‘pšçRK}Þ¿ŽËÙNÇFûFÕJŒ£4[¤G55Èù|óùу¼j[Nu - œJ)õDKî.®Ó1F ƒùq£Ò‡{ÑEù­¸ž’~DÆö8¤•.j¹-•]L/ÄÎpmjÈ™QŠ8)Ãxݼv'펳0u¿·’—ëܤ8$вXi˜,Åé˜agg u« x¨i•F+ÑÍ4•6ˆ¼G“E«éeq¹µøfZǩ̶ÐeQ™÷Z/A4÷ëÚ–køynàRÕ&…ë'ãž8#ŠZXŠÎÏʱ+;FÈ “þfe` óϘPpµ½A2×E]TáJ¨ —¢r1$A!§ø“bvc+vƒí¨ûñWܪ ûan\ô#çâ_×Þ~¦¼¹_,u@k”(ä²8ŽÕü5–òŸ’ß2YhgµönÂ4½Öz/@·Bo §p Í7Wü \‰ãñ#aLÔyÙš˜KÞ°Fé”߉³£¹~ÖLáé1ÇSÿç®'\ÄÈ[v'‰°¯#˜’ ³›Tàêö”$2¸,WàŠ\‘+p.ÁR~b|ê*$¼ëܯòtXB§"®œÝL#©º“*6ÚÞCáÃ-f øš¼!B{ñëè×DÜ®‰Š{­]OÑÐJ†—‰":âS”€2XÀcÞþøÜ¿UÅ-ø ÷ãA´C7t@«°: k± ß`%òï `1nÜ$ëpMÔ@5©*¡ •–Kqq9]Jö=i&åâ$²ÅqÏ1qHÞ}ؼCÚü`§RwÝw£úÛyH¾=¤¤¨ˆÚõ¥gð”4‡ó¿öÕv>‹+úè‹©úŽu}#UÐÞ a¬œAOéOkƒE¸§#{J@´àrÌS=¿ëðœ+žýñv~¯»é Vb%5ÑõPuô­àºÈçæZ€Ýø[ñ¶ÇeiMðµ3è@H­q>7“ªK6ý¤ð_u4©(ãÑZé{l£ X‹_¥_ø°ó–ó“ËX`|neh¼ÜÜï(ÑòaÊ’ORò5Es2X«q,#™ÒåR)*+UB†$ùÙÒH×HÑDÙ6ñ0SŸÉZü­T-¢{Ã0™x„þÄ‹0 ×ErÝ„Ï0úhœñý‹ ¹Œ2—Z-7çi×ëÛ^‡ÙH€Ö´Xv'ëYºô4û©›\ÈG'£Z¡j£%ŒNz͇ÖÂMe”¶Pkï³Yx"z+|ªžî<|žèOCÅ[´ÕqlÇiž¸Ê^Ög~'ùj¦€Ã¶gPÕg•Í #àbÔŸ>!gÜo¦‰ü¤èGM„ê•‹Ñ$â4pŸ¥+4ð’U!Q×µµð„‰‡ë-xȧnFÿšÐ3bU!äð}ôÝF™}O¶Is%LºWPÑuv!›ê¨î}±s¹%Ëq„’œa È;Îñw]î6èÿtEÄ8aªNócquSŒR²¡«¤ŠáMÓc<4!z™Væ}i@EÒx½:ˆ÷snÖ{;2 Ót/çàrb4©S¬I¡Ÿ°·à4s£¼×*xËšÞïz×6È–Z{–ýñ!m^Ûˆï"´kžâ7© ©éû¾õ*m\—¹Î0®7SKîŒ  ·ùMž&Òr±ÕK“û•µ=¡ýjû=·Ð·ÊšJoò$ž#VÐ ¯7¬ ÆáÅ ç£kib°³ z1êDOÐ\±¹šìÓü›˜NжÞÊÓæÓaΊMðÅôgIJ´~(*’ßÂI­âZö4Šýþ0hŽj(‡*h†k1F÷a³ÅëD3ÍW üˆa¥PºL<@cÅlZF¿ÒvåŸfß!+œÍh«X#óT)î¤nTK³ÎøK’Ž(‹x¶ººÖWÚè-ð‰B¹wÒkäWæU0©Ð§êH@½G}\Øþ2ñña‚aÄØb$@ˆk†1Gßd.s|K¼ª ¼a&Ÿô‚æ˜ÅÔÝ_&fûdùñ†?Eo²¨š¡³y&½VÙdLxªèfõˆÉÁ›Ö˜o¯…;Õë¼;+Ê–­›±%¼zÈOçL­Fy.Å)J˜OX†6ˆ/HÂþ3|¥Ð…ôˆ˜Nkè`ˆvž|ÞA_Óâ6:שVÂgh'ãPïÕû®(¬±/ÎSªà©Aú䎗wpGÒª·~¬SƒìDu¨.~’äIöXæÅšà )"Ñ3 @ÚÿíùI…ý¦3šèÈ5-™N ùþKZÏßKëÍ»U_”Û°%`ïa2.´<ª 6E™iôÆ tŠIRçÓø°ñIèƒh©T‘+È¥¹´œÎ©¢XR2$M{xZÉKÊÆQqÌs€BN«‘9xâfìóÐWýã;v#sõ³˜«c½þvEÂH¤±@¥"ëžÏÈ+–;_ ©TU^³»T†jQEÔÊ©•S+§z~1ò1Nš’ϽÞçêbT#_½³ŠHu>UžÀs!Ål'Û*ÁŒ ÔÃHüÅÍÇ7¸+.Ô/¡!^°fòø•‡/pk]¤#Ûãfå.î?Á0"ŠÃ(ÖøÌχqWŒÆ0úô——¡;ö†q÷.Œ@¹0L±ïwΉ!¥4À`,éÓúlÜÆØãšâI|ã|¤(ðµ31eâp´ ¸YùÏ%†û ãÊ"Æ.Â-'3IÓ 3)¸ ³CH‰~O:”-—,qþçzz† JÆ«aF½GRq!ÁûØäÏ(„+k0·¢$U(†‹ð8>Äæ0­4ö€ËUx7ãœ8ÆCË8Zû…«’Ho¸"Î*ƒ?Ñ8¬öMð=Žâ,)àûd4B 4FÔAdÚ–ö1¬ÂG˜“~îÍÄõ¸ mmJÂQìÁ6lÂFüŠÍ^fœÐa^£vº6©¨‹sPûÿí]g˜ÔT~3³»l¥÷^;"Š"‚Š‚ ŠXE,`¨X?QQÅ^ADPQÄ.¨€ (½wXڲ˶¹ç|?&3“d’Lf§$yó<ÊNn’ÛϽçžó4A}ÔE-TCed‡M}…8ˆ}Ø؆MX‡5ØšRk#«0AK4Ec4@¹2uê¡°{‚õ°[+ÜúÉÃe˜é˜¼ÄFw_Ñž耥Iâ[ÃqV)æØ§:Ķ‚ª(Œ[hS/j¢>jƒBlÁKÞƒÆhˆäc;öBÄ)/éÈrTøNýd!éð(G)JŽ(á`iÈB%¤Á¡,…롊퀆n'9Êð@„Yrª%_`¸VR.œ€Îº¿æà4€Ý 6ìGÎ3('PÃÝNrT¡þq‘õnò³å N@cƒßê#W÷nó#¬®1¹wµ©U¢‹# •𺅹ù\•쌥¹mãÂ`ÓÑ_öV §™Ü«ŽæXs„÷oPâˆ69î‹f–Ò=ŽO ÇŽ+0ŽHxп¡ø(¯…µ¿¯ìëxë»°Z¨bz·Úß Î0=ûTc!:Á5q½Åt'âT,9F \@ò)øßÈ[­L“­VÍ#¬k4Ä<,BWÕc6Š‘öëF,ÀÝÕ÷ü#¬›Þ=䮮ޤG! ÏI®À¨8&D´u²ãJ=+©óÁ`|~ÔŸ&=Ö–„Ë[t=kôSް:øØ¤gª¼RŽLtˆb¤/8‚ë¡™cg<×JÊvè‰'òz…)š_ÞÄÌà¿?Ägš»Œ!øç«ƒÏM÷`eî`9Jò17¹Ys†Ý8]þÿ#¸ì¨®ÆJSÍÕ_„Þ˜xÄÕÁtùÌ&"¢‘å…1™rHûë0žŽ‹ù((~4KŸ+0Ž.t‘ÿ/aŠlDz´B{:ÕFõ—ú c‡b÷átxPÍQK÷Ø^;QÜ``þð„¥ÝT¢É‘À²u>nñ|‰l•pÉÏI½Ñ\: FÂö(,Ÿ¶¥J¡Ü3ŒhqÒÃ~k®Êý÷G­÷ Ö‡aô Þ¿=Œ 5ìûŽÇ»A¬½øçE|¢ö‡õê—,›®˜ƒ"0eø W!'ÖàÆRbæù"›¿Œ`Vÿ²àˆë,Ïx½“𝦮ÀHâ>FwÕPî¯ÉÿýG¥¸8‹t[Sàm\kt‰AƤ@¹† ,,߯E\4Æ\Õƒ"~'¯…}g6*§®À.#fþ–² ~˜™çQ‡ÞÀ‹ç»â$·²+0’*0üyüUá¡ü¥&ÿ‡Ñî(1³B-M¸Úá%{Ð ç‘°nR¥o!µd`]õ›MŒ¦q‘ñ Í3‰™y.g-VRÀ±(·4 &'9_Mã°±ÿÂöÝ/¡§H!ℎø`€¸@s/ ¿ãLÀçÉ>̲I5OYµóÈå"°¤˜&'ãOlpðä÷ŒÁa˜Aó¬fá­!õmècƒ'ñ@êvŽWÒQ>.ý,9ÀÚWè’£gµ ¯ãN KÐ'R§HÁ†`»áã óùƤŸ’ü-)l핦Y}¦…ö>QÅ›#ªyò¸ŠTEÊ•½9”‹\O–/Ç“íÉ¢J"3½Ò9¬Îs"¬‚h…yÒ»ô¼gmh/Ò}ðFbË0 20-ú€£{q%î¥çìÅ~ìÅ>`SÄúwΈpÿÌÔøÎ4«}ͱ«ê9VËÐN>Èÿ€N›ëѰ4ƒ`«–®‹E33—óÊ#ÐOXÎ: “’˜ó†UÒDrþÅ4uGÓ:»=é%?ßEhÇxé.Ÿ‚‡Þ·ûˆ™gq¥àSI0óÏåyæŽ{õp;fãé÷c|Jp*D67O¾²ºiÅ=EeõãŒk¯Cõý¼c½'­¿$ŽUO<»p[ G^“ðFl-|–¯€˜™ÿ¦´Ð¯>´t`Y7±n9ÙôɆšôk#ô­õ†_*xZo%Ê·–Ûr'þ§<(0–1ó眡zb f¾ÛØJª fè8J9¼=E°&;Aì1أ馱<|åæIÎU‚s:MFµkR®4.ç7DµÐXq³êT 5/y6×Q\UuÓtÅ~3Kå*üe–µ·a9?‹ðäéaÄææà7ÖJx&êù U · ÀxˆŸÐˆ 0øJÇçè Œó± êùbƒau'àZ %ø'µ0ÀtãÜ‹p#Þ‹‰Ñ•¤ç“ÚÏä0?#rIE™1USN\tŠä½z¿ªÔ_¤ºV3çSžPxµd9°¼“ vÁ#<×3ì™Ê$³t¿´8‰GÞ­ðWÇí!<ŒôQ±xMðy…猬ž,&?Z*AÇÔÀSŽ:²Ù«avôeÉ£á¾ý¡±®’š~ïÊ”•±1R¹­ ðXÁÌ£#"#/kn {¦U„'òt¦ë™I\RôˆQ=ý—¬¤‹^`Hˆ‚˜¾ý£#dÏ´˜ûÏSM`HxÏâbŠ#í¤jbEEKTÆP±Æ£ýÑF½£›–BkÇG.³U‘N‹ó^Ê ÕÆô$–äx Á|ˆwðúD˜–O›8 Êý#ßÿXX‰;G|f‘jÝü}ïp/º`&ã#LÄ­¨c}ô³¤Š"ÍQ¾ö ú– ŒÊ˜f’B˜~1t-`‡f¾´¼GJ®zºiìÓlæc:˜õQ®…Ú¨E5=5PUPYÊ9Þ dÀ€P†R‰ÃÞ:(íç½ÒÊ÷ìÆ%{1æá"”;®ÑÓñml§*My ®T•_à%ñ¨§8ôÛÜŒ¯S@\œ‚Å‘ëïÇóŠ¿fãRÔ'ò)Cø•@M¢VR¨†ZáU Eùa¼„‘¦½¯¡Êú—ˆþíãÃX„úD°k…UŠ¿~E'ÓÔ—à%´Pü]ŒðD…ÇO|`ܲ'P7œ!‡ú\ÍãE)ˆMžåXˆy¼Å£Sî©øÙòwâzÌÒú"Tæs¹£Ô-¸¦' @!ïÄZúË3Ÿõ˜³­À9š]ö¢;¾²œö7tBò‚J5ÇKªáßpÙ—+Úˆ+i(½B3ií¾ ±D•ó6úCÌãè>êM­EŽÞ™É2‡›ŽÇÞ©‹øO£œZK]H£‡u~´ç¯¬”Õê ~–˜W’BIw~Jq,ò ޱÍ]¬öBiÓiEÿiØû‡Dxb¤*õ¤û½u÷7<ê‚RýöÉ Ûè2×Ä¿‹”­Í+5FÔ—&ŠYüO©¡:õVìVþ-qúL”~q‡x–jï8~wÐ)XVG5GÜ–J*©Àkv„ÔýÅt±‘(!4ƒ‚×Ó4ºIiT¹M9EöŒ—A@:="Š5µð²22c¡ÃíÊO·VÒhF.ídæ³CµxÞN ós«é“j’Åþ<7C IDAT׌ڷ?!_«-S6@¡A >¬@4Âý·+VY˜öÐC"Óp”ô»4£D¶~jê-–[ø^ß#EwV±…æÑ4þ”çóö¨š}'§w9tŠì–[°3iƒ¦–fÊ?ã)GÖÆ «å‹N`€G³â<§V‚Ëñ‰inº›Ó2ë•r›¸¸ô'v’ÚïFåJ©“CjäëÄ Œ6´,P›Ï$¼,ÆÆÒ£#<Ù>쉷 RêG `0|E”j%ŠuÊzP'-þ CWEo¼?êÞŒ&Q 8ÒÓCï¶rª‡ÄeQŽ´¦iúKúOµA\ü—qQpo37ÊR‰ ¨o‰Û13¸Ëˆ«ÀøÏJñ¶ó Óîô/3ZÛa,v˜¸¸T›ÃŽ:]ÿqáßeìS©ÐE¤ Np1áòÄ ÐꀷpâqU±Ø®é“yaS{‘¾Y?2ãÝ´#ÃÒý¡älTç^ë;Rú±†Òcê×Uy¯¡ÈØFž˜–[ãƒožG¶Çñ×åñªºïURý¬2tɉ·-S¢†>ÒJTÎÌå\Ͱѫ’?~P+Ýâ9G‰‹†áÞÝi¼MÕõË螸Fé «Éè$²úX;,0øe!—9÷ÙxÊÀµª(çÀ†°'ô§õãJŒ×jÂß9!‚Fo±²<êëÕõòø\P`Üs¿ÖÐWüÞ—[Í‚o^­ÿ¦Ù¶Ž–jØZ¡r%Ë#-®ãäÈtÂ]äNõ°a—zXnÏn‘;]9Žq¸ÈÓ_}^D«|>&ÞG Äs¢eÜNõÒø¨¬%…¨½ÞõR`÷ãV^Ï©Jò=«ïV7¨»ËÅ%þ;ƒ“T¢4œŽ~¸ÐEåhµÅÔÇz¶i¦Þª~‡n)õèÛõÜCï0ÉA+•Òø+\‡;qNª@ èùŠð_à4­^öÐ÷ùôDÆçìy-¡€9ºÁjÝNT”!¢ǦžÀ&û§óér>N¹BkÓò5lÎÓ'-ãÍÞ̰N—#ާ®âr¾ àÝü‚ƒÄE¶Îñ£â@Q*· PˆXÍáÔÐÊGmÛk¦ÈzI¢õôö_µÅM¾$úºªq¹eÎÓQ:yçÿòXÈü¦óÆ©:éÎ1YÐügéÐÝ Zëåñ£à’ŬµÎ Iô]B‘UÎÒJUÏ>È#(’¸hEcé1’ꚤ+¿µPÿþŸ6Ž•›b B•™z£&ŠëÑ…åÎúž_£‡Å@1 |-T,ÊøiªEj¿Ýÿ‘’-é[ñõ/$FˆIôíP¸«-'/ã°ƒ‚”fGðŽá:‘^¥+̇ }ªYŒÝ@2<Þ—h¾´Ìb˜¡øÃ‹5šVFn“zÌKá®§µ ʸ!,e ”è¤3¢G‘0]•îטJ}¼^ß•cÑf¸¿¨BSƒ"`>5ˆ(2<Ô…¡ñ<ž‡Ó¥ú¡ T,VçBºÅЫá x†Û…ãq(¦¹âÕÔÀÊk¢Švñ»xG¼Äãø=Z UKÂjLj‹*ãïVèZHÌe¦+&peZ«û¨c;Ú\;›/0šùKÛÌ–ò ;>ÖÇ©ºVÿuÃÔºFÄZõ•ž_ðNÃ\ŽÐ¤¼*¦2×ÓËã$YL$#£Ö%ªöÝL-⨠õðš9âvÁÕ]ÎçNýûßÚ4NrÌÌC,^×§šÀ8¾ÓMLâórúA̧?iaªÝôͧÄr:l"0ê”'ÁÞZ.Kœ¸ç fæN"Òá·ZÜ~"+&{ý¾ÿJ¼ÀQfS©Êañ¬ïÑM—¥ë1ܹ„Ï“¤k“8ß ½4§‹[‘S™Óõgcä1=ÆÐ8A;Š7p­¸Y ¾6£ss]°\üWÿMo¥Øé…zYÑ6µÆ`‰—³'‹§E9…”SS}çˆÏ$¨¤JÁGEsÒm¦Ó9â…µD?Aï1órLÈ“öfV@±_Uåâq-öœf8váùŸ‘Á`¬·­„¯„ÙÅ_£›n•N®7i›ÞhX¾Téºê¦yE÷»g†#=s™×贞ܟÕÍ*ÑYøÍ3hÕu•®zb’Ðç|(Åtßõ-}¨œfŒÕÈIÑÒ?Ù7¢>¿sÍëAªÁÞºMׄV§¹UÔH·¯FðouÛ‹GEÀ•T›ÅE?…CB.ÿjˆ8/¢ÀÈæ¤f± FŠX9šv1:IÃ¾Èæ­uTMZ—©Òu$qýTƒt¾Ú»Â¬ ëÇ\æ©zÖjþv{^7ÿ÷èÆaQC ¡22¯db©9YL]hCªÍI_„ëÅԃèáäf.ŒtËe‘r‚á”8BnàóÃS\gãD˜¶²LÀ5ü¡,­¤½R3$ï =ÕÏÆzº>Ic¬eü]Ç+㬰TOZtã ˧ìë5u¼õÈ8ëèìfġķëY(ùÛí Ýãæ/ƒ3ù½TƒšÓËrêíœAà4n'®âÆ"š½÷ ¾“üœ³OÊo^Ä­…D é·à·ÎÒ9—¼Ñõ¾Vf Áù[qœ3Êq\ªŒÉÚÌ×$fæÃd¶>þŒ˜™§“™µ¾ßÔ¶†ˆš!q¨C¨“(.ÿAâ老ùÉw¿þÀRY¡1ïä ]É2Ï1ŽK’À¸ÉF1P—®µ&ÕÕÄ­i>6,Ÿ’²Âˆ±†æ‹U±$AkèÆáf± fæ/uÇòFy¹ðÇro½žÐ:ò/϶x žA‹å§érœâ =úÕ*t½Eó¹Å)P"q âktÿQªŒYსŒ™5í÷fæ!¦is©YÈÛ6M Ü«â~ýCÌÌS(äëWQåè[®kÎ1 ˆäu‰‡ÇzÐɘÆI6 Œ*a$ã Æv4W¥:Á‚á{ ;(Þ ÂÃ,åê.j¶ÄIA¾«â¯…?ª^îÉ­úipÿqšš0P*ÿ¶/8ã,––tÆÁÔ­¤ë9ò§+ó°à\&‘ßøNð·ƒÁí¥\¾ÍI}¨ ¹0|î;Œ©Iï;™qW¬{qC"×ñCqØ/œ ×´ ø)#¤aè/‹Jm˜ÂûIñ©p¡äož?äP/ñÀ, ìój¶tS`¨tS)>’‹/“ð?ã4 Vï(¾Q¨‰Ê±J7UU…ý¼±Gh‰r›A ¥ÀÈÀ'DÝïÅ©Äïã°ö'¿ ÃÕŠîgéOÏÜKäîUŒôdJ9ŠÞ|»å鵬 XE€Ý mRÈf¸Vá ¬öôcí4õ­ÞŒó ö'½ç\U`\k¸)IádäÛn²zC03O2Ùˆ¦ÉÜ•:!“†ñTrTQ²–W03à€9òý#2®«­ªsŒ5!nOû…«ÑÆS%õ¨Í}ß‹m9[¨Écbì?y÷œcB˜ØA50ÔxT̘ŸHÄ:¨¯•+è/ù&"öðcŽâîi"Dù?Šž%ÌLÜ4âÑ÷÷ÄÌ<úû~ ööw…žj¶4ÀqË¡˜âÕyhù½"OïÍgÚÐsÆ'`æ SV³˜TRñ|YX¬°@‡èkØj‘¿#à†Åï+¿E'$ËMInÜÉÕe×Å€^í’»ÿÉ&âõiÍ9Fð|WŒÎZ±`VÂFkÛ—K/æm^Pu:Ì0Í…²¶Ä¸„…ûHÃTšÉÑùq,q îtaf´›HIýˆ´ýÁ3«é\YTÂÌ«ÉKà\Ú-¿áfÅ{ïÓ ÀT%rZdK¿Y”ÙãÊTÇ´»Lø„ÜpùS\6}\!Ì¥,Òy’ÏÊ8àU©G %¡qR›öædŠ ð(¹nd.V~Uþ{1™‡UR”Ù¡Ô—Ø6™^mÑëD<á ]}­Y®tÀþº½Iþ¦ËÕ¾†)æz˜®+H7ÜÉ0Éââ#“wÄ÷8ôûˆÑ't–´{½«=13¿(§š!¿¡•bT|DvD©Ô,‡ëÑTÀ|0xª`ÞAý¨ 6×!º_c\+Ñ…Bì})uÓ„.Í£¡TH!OðóÅ­´—™ßò¿)¹Û;¢4>ÙÃ÷,EÞvŸ/¼\F~_ØþAòž‚Å/%u´ï†o}hÛdZ)±þð6DI ‡dÊšõj ¦Ap$ÿTþza©i)_AÇpÓu•…OŽ1TF1Ĺ̗Ej™çu¦nehÔ§äû~®4‰ó²cÃOx½œêMÁ̼Ÿ3bÐ. ŽO„Qƒ]É:™T¡~‚FÄ[©!0Nç’æyü2?*†ÓhšFÛu=?·ðTEÃéQñ ÇFlRE,(á¼)JT‘#æÆ|õ÷3ψ`þ¶`f®OÊ'”4ƒåw>çƒÿ'˜™¿‹$0 m hÜ1A-=/QÃ××e£v~zY˜ÁZ¶‰->­^>EnNÕQÇð%<Ž÷©žÜÇSx h&¯!¥)õA0j™«‰7),PbÂ5Ü@€_MŒOå鲡á2þžÿ ï¤ÓåV" â¿#¶Ø_P×㉞ã)¨B° [ñI‚Þ¼ß1zÁ>8+±&îï|[Ínû ‹Q`ƒg&@SéÄ`ÿ\Ïþ®0êÙ/ ¦d¾ö€½rŸ®GTÌ“3”ñ‹ȆèÊñòmiJ±÷ÆÁ׉oÅå_Ð$1‚®¡¶TUŽ®å¡.bOpÝû©Ú]•¦×Ò»¹ŽP³éŸ!úÓÓô–˜J²ôñ¤•K‡ÈKC}C} £¤NûC&4‹ðq°Z¥wEâ„Ï4J©\î¶‘†° (!k©;Ôÿßwôþ"1;±»Ì¿ú/13·`ðÙr~PÑv?=ˆÿ¯×˜™ùlÓ󆘙X&‹§ýÄÌÜO„æ ?‘ÐGò¿!fæóÌÇii}£ÍÑ:Am=3TRuu T×ír—ùÑ Ø¢—~S<yz9œk‡}4EG©½ÚÕ%¦OmÕ9Ý!žÉ­, §û4oPØUiãtúeÆ&›¢`l ãV.r”¢¾8ŠÙsRæ ]Úöàõ13?%Û5.'fæ_=Ùaûi¹”˜™¹§i9ü¬TR\G^G!Oÿ/]Èχícæ}‘GÆØÖcê&H`LNñXä‚Ô–›³½aØê;X('¥Qk"lª¾Y.ÇÒ¨vÈe»Ç´l{5¢€^£“¢š6: ­¸©+ààÖ>ã8 5á‹.ÿ™t<õ Ûè š$fñob%o¹„ &&ìãC¼K¬£¿x¾ošx•FˆþÔ• O´´à ­g™•Ú¿HÚMÙŠ ‚'à¯HÖõMbf¾Á´l‡f²>ìÙþ{òBÎo5õ iÙu®56ƒ$ʬvD*ŒVв—˜w “u“Ì=YÍJµ$‡[òBíw/ƾ.ªaëWýa½³T„¸ý¿ý(G4¤n4”> ¥tŸ%Á‘CZÏ¥›ùüÞÖ uNœ‡ÅO6G ÇÂȹöÒñÔWŒshCTa‰µñä–‹©4‚. ÉÒ.ä‹–z¸Ù—ýdãÃü±r„¿gæø]á×êÿëbf¾ÇŒ§V~CCƒ’Ça@eÈ**¿#`Y=ÕÖl”£­=毄Œ”pÜÛe¥(ë˜ùOÓ ³`K”¿É±”ºOýÕâ<ÏÑ) ΢Å4"‰ÂE`_ð'ý$V ¥qñ‹ß[«QJ}(‚Ã#ÓÆÁÑ"Žƒ¢0V?±Â:&›Ú‹ÛÅëô;Q¼m÷Ð7b]%ŽÑø1©®! ,µdær½ðÇ™¯N`ð¸'yE.Cmß+FùÐãt^•ø:BûjŠs€èãRùŒð Ñ™²eEGL^MˆÀhœ c«•¢lÌ‹# §[™Z–'¥I_V~ó:Q,wñÿ¨Z|ù 6‚ÁÍÉÈ2Yðh‹*Ùš-Æ®þÙN;Ρ6¢7 ¦§Ä~«ìžÎÓùžRþ ?)So:MTÖï ·9Ðìã\-›ZG1X¼Cÿ _2¬Íy?Ï£ÄÔ8|×q|‚U+cWl&fæq îG~Gº€¿wGê#ÚSí ŸÔT¥S©;˜¢> fæ_ >E®ó‹|&ââVÛ{Ì ‰cnŽ«À˜kŵ¨™÷™¬„$Ê'fC1½’㻬bæY'OÅû¸Y<­~vá¨l¿#ÔÝáíé[º›Y^Ÿ¿ö†cÏ>dëðh¢ÔÙ^+>k…ˆ8 o¤©â.ÊSÓm8Y2Ý™D1¡‡4] Áˆs[“ ¼f´$ü‘+Z8“fÐb°¨™ÃÞÖt¯˜@=ô½?ø˜± Øæh÷~ä†E\ýz&5Æ@ vBÂ$ÚƒÁ])R ÅÕ+)MªŠÅìœÏ+¢\Ù†W±JVeØ‹U˜I¸ð(4.?R1¯Òýt¶ÈŠR8Ý&0n ¼a–Íä™ã('Á«Cu¾ÕáLȧ¿;?'—¦·~ŒûtZKÌ[é†(M PŠ’N/GI´æyüºØMÌ=ŒÆé>tvHy;îþþǦ†ÀÈ–H…yRFS¶á_?ÍÈòßð$¥AßQ~õaQʳ©IEÄÅ´TB®slõ^+³Â{˜ ¦«·9ÞnóðÈ p.uÑNA|Âp*^Tš“Ú -L²"É…½zý±™¯¥¡V¡:µ½i0ýOL3h¾o ¯;}¬UÌú¸ˆw‰5b1}ç›FãyÝLÝé8³QBuŒ ¶ádÇô˜x{(%2þLÓønT¯À§ÀÃ|+y°×³ kñ–c5 $HãËù=OàÌu!÷å š ¿¿Çäßá:žÏEðp-Oc´@+n.5F=©²¯Ì3QzNÐ ¿&¥AÅ“ª¿©B‚ª Eˆ='átŒO–[Ñ*MWÐ _Ø,4zûÕIÏÑ0O j¶ÒNì÷ B©D¼ÈälQ-­:ÕG}OÀt=·ð÷××p»cF| §ñ"Xpµæeþ\œ‚¥IúäI˜‹ú‘åq[©-(€V¨c=¶ò*üËK¥°eVÞ¶`ƒƒúÌŒ8êJíñgjì0 [{ˆp ô~^/Öû´T‚¥ô‘¸‰ÚSóòåèš&ÊHûdë/CÏؘ´æ<ߊ\?›¦Ñ£T™ ·‰ý"~çúø­2²…˜çòv‘ídü˜&=¨™“Íy©)]LˆYb/5!0v¢2œ‹fòþ·Û¾ÇØX_Lª‡ c¢Î*¢·x•þ¡Dí”ðïâ%qµ¨cÖ£–%,¼PÅûLaÜÆþ Íiœ†»žIÊ0ÊÈ—õþ‰GEj¦ú²÷ÈFªªá¿Ò@3_ÑkoX;tIuw4Ã7–¸UÃ.e0 lŠånuÑ”ïÏíÛÆ8Jª¿RÇ„·m]Ì?Ry’JNü¢Žzj°Õ6Ñ šcPœÆýº/¦šÆwÒ½µ¿¢‡% @)Š©ªB-âÃ74+¤}’@.5—:¢WØf4Ÿ§ól” %/jÐqè† <Ê¥Ñ~Êñd˜Ë¨ñfR³Óq£Y‚ |ŠÚ`’ybD»…4|ßcÜm’öu'K J{QY>nŒZAR™ åðÑNãoœs¹¿)é~Þ„­ØŠœ/íÃ>.ðâB^€^dPçz³¸ ªr-©×E=O#n"Dz6Ã,×ñ’$×Á^eÛzø Ä…R’çf)¡µÔb+ˆ·x¥R=»Ê&šAs¼†ŽŠÈîE®@R؇ø}QGäð²àëgjIáö÷£ŠâgE¶±À/Á$S&5 Ä!¾Û¿VÞ˜´vks‡³×ƒz³;õVÍS,œyÄ=²ï7aëÛq2,±¹Ÿ\©=˜lG½èv1\<'&ðbŠxÛ÷¦˜Hcù±ò{¹¯èJM´1@Æ9zŒ•iptw>^)¦Ñt F•cqc¤âLºF‰/ÄFÒûTqè8¸_’k ƒÒŒeÍ;-ÁC…ŠÄ™¨„y1Žù²$°QÇU%Õ][„A²½LƒBŽô…1ªj#ør Ä€ðɸSÒšóㆺ#8 VPFxŸ· .Eúûa‡?óB”<¶ ¹.¯£ b´4ó?âmºS=ü+Š6XO¡åÐjñ ¦";!œ½•}]h¨˜&6+jsaèKm“\7(ÂyQ4Фý¼F,æÊçðTñVùdšÈãù~…_åIüVùG¾ÏùZàû¶Ýg­‰Œ–¡ÙÅç8:™rðm } W$!qO±³v#c/Ð2YXZ„¾Ì-AÌ5L†/ Õ—S{­Ð+ÂMÞÝ/®ÿ“òÒIDAT„òõRذÙj…†6 /ö€Á§ÕþC‹ '™ïDRü–ã´¾þ˜˜WÓº"Oæh¯†tM¡ÍÄüŠz3$›\ï¼P~¾39ß.çUâsñ" ¡Ëétª/Ò¢ª¥\jNg‰kÄC4™~ íd&™®ó)ñ1mÔéY—‡Úá8·D6± »¾OÚ0®ã›ð¢1ózSÍ'|ÌÌ}LÖÄ|HïÎŒ¤6åõÚ€D¡G3´.B[pš…w^c‰d±×:+ø =ˆ¤à£e3dñ$}+B ©MôˆP¯Ã«Ñ=beð~)ÿIãÅœçO󣃇¼„ýŽ œ4φ:2Wߢ臛h]FÕD¢K܈n |!;Á=”úæ­p:ÆDYÞè´¼ÅU`Ì/L!3o5Ïø˜™{˜VɇåÌzw>OrSÞ¦&(¨ [H³–Üh)†×MÑX¿úꬳzP‚Ùò­à?µ¡l±D0—ós¾&:¦˜Ñaf^O}•ÔwËK èÜŠö:Ÿ~ÿÕã±C™lC  Ï%~Hü#þ󧉊y4çV°Ò¸ ½J›è+jM ²‘†'¡$ê²¾•šcV˜Ë•ð1sg˜4ùûÄÌ|-E²øñ±'<ÍIoÎÞJª°4ÚÇÌÌ˨™V\4·ð®¡HàZ«§ŽBg`à{“lǨsÙV,¦ýÐ,q¡ðÈ*•sÄT 9r®¦®ÚÖ¿ÖÁƒ~Vlmw*Í•×åø1‘«Ð°cyPkâs"3žŠùêá“â3.žs¸¸ÈÀ’ ±G]œŠ#Ì4´©<à;vyûí:^7Yrlë¦Éde4Fk, å ýAOSŽ:÷›Ñ"â[±ÛòstŸI`›1ǽ ³j~^„;r­¦{}wÑ¿nA3…Tëí<ì_³ÒBÝ|ÓÅ"þ†îJO÷fô&üÕFJƒózü¢ø•ÐD²È—<À–:hƒ±õàÆb¢( ÖÂßÜGxcó“æì[QTtVØ‘¤pÕqý´Åè'÷ü/ÉcPÐ"`6yšag-OýÂ×ã—ØÒ¨•ð¨ %ñ6 a}*áƒDëqÛéì0ÞAÚF»ðœË9¢;mˆš|p]+2©…¿{<øÜ>+hÝ_•Û¥½d e;ßáóïÓsiCð×Ý\×Êz©MµpnÅ®ÍÄd_YØ¢a ßJ+PÅáââòh¿KÊxˆ«À¨â_SÜD«h$Ub/ýlò9tVØú ¶x’Ê‚¡ž"m M_PÈ®ÜÃÙ»ð Ž ´ÿ1\CRI`ÔÁ 8 –wÿnÆ!ŒF-Ûº2.ÅŒÃChm!u[lK–Wx­­­ºì!`û àÎéãùbµ*âG}q…x•6ó,Jb€ÞèÑD=MŽT(ŸöÒdêF^oV †S(´K¸šV©îý'.U¬–Õäž“ÜYL¥R …ãm£®9»¨`NQYÒ×BI[ò]CÙÆWy„ÈëÁëM…E:_Lï©DÍ"j,’¸4vÔÄò8Œz>ª¤Œš è}Ñ@ðnÞR¾Þ·šVò þWò*Z+6–où|ˆË"¾áF¤¹x.‰VȱâÒ 8åTðª­SkC÷[ÙPú4ìƒï¥g¨^…íÃ$î*¾Õül3G¶ro…/IXtu?,$ÏQŒ“ì& Iã[i‹`fÞÁ5ªÜ«Tï,Àà å]}ûø eý–"Ó–zPœiž*6„Í ï‘9MJÝOÛ;‹›Mw`/=FêŸÏ݄–(סóB­xb˺ƒ~NÕñ´R÷V›>;¨ˆñ.ZC i6¿)žCèêF§ssQ‹+‰ˆæ¤"]Tã†tuàLùÆñ;b&G |ð4_MeW+Ę”w'ÎëB'Ž™®þ_ Ô|ÊßEæ=ŠÝ· 0Õ vd; ä³X£™ÁvÓyr œ¥8Þ)ôl‡ÒH ÷AÈ Bo=W‘ïwô©ÃÝÐYʾf?ñï_ÆüT·[Z2TƒÄ Â"p]*ö‡õù;B_ªçÈþÒ+â8òîr®À¨‚ÇqÀÞ¬…kÄ-î¤ÅŸÖüª¢»3«¸¡ uCâ¯ÙÖ•¸ƒ3/ †¤ô¶˜àûœßWD¹ÛªÌÑ4š.5OžÊ»C&¨bå)ÕZØRýBÆ+}i·ÂãûŒ( éœEí´ ¿DhGý.õð)Ì òØ[NK€’ú¹„QÆ 0òðH|CþÄ|al’¬‘£¯«ÙÉ® }Q/0x®²¡^:JF%,Ò’p§¥4^d$´Å[ù¶Ða~›ÎÔ  —mª‡ÖZÏënâM±æŠ eØÊ¢)¢ˆ§ŠÞÚ²õì+=ãkOÍ‘ã41>›'|(“/|qð|~Ý¢~…¼7c¼ªê Œc|6šZÖÆ¸–1';t?ÙíX2Õ£j¤cŸŸaS-HX­ÇOíIBMdéýê<«ºÅ$Ư ñ:‰!âž«¼GTõæQUOU‘òKU¼9¢Š7—ó8ד,‘ã­„LQÉSIJG¼€@H=@ð¡¥\J%ÞR‰bïaÒ!©P:(мE¡çò!Ï:ä9 È çã|i‰W*ÎÐß“æj,džšØvãöŠñîÅf‡¶ùVÜ™Ñ<ÎPu¤TÙ“I”.y½¥å¼¢rO™ç°´ŸvK;y»gÇsØ~§7 Ì¦Z`<†´?–%%EqøOûgV{Æ%м½#¾CìqNq'dY¡¿Å6_!'7´q!oÿˆ1”çÜFG»ÔviBÏ ¿=ÙîÄÔÏjý¢¼6c,Ntø2Áƒ­‘K’MçÑc4S¬%Ÿå^þ ÉtD–Ø•¦Ù\cc1m€/h&¢üwE®Ãþ°¹Â$žúþŸ¸›ÏÇ#¦÷dêãµ#Š•„äxê¡5šðÕÎŒ¢u¦%=x Ÿg;7 «•t’×÷™¶ÕÉz<‚Gp2ÎG'œ–{cá7|‡¿ÀŽßWæ` ñíÜ —ñÙR% QFº®,µC;Ü`ÏÅ,|ÉÅf«Ô¯l®‡ûQ-²ú³²8ÅÓÍѵQ•QÙR2$xF9$¤ÿ]‚b*öóio–Öã_^)•G®Á›ñ£úÇÍx) sfk|®8ä°F¡Í1{™‹8(­´Ã¸61¡‘¬^Ÿë´Kç€Ît”Cê¨:ÎB ®Æ»“l¯‡ëLL¿ézñ.­£Ø&þƒÆÒùd¯¯¾£úÆIœ¾Š+ÇTvd½Û Êm¯ŸR¦a¢Í™€×aëË,ô ûÍX›ÇÚ‰òЧáx4EmäBB`ÖabÈò{öáWü   ú¤PµÁ™8 -PU‘F!vcV`~CQRª¿$ü§\Ì÷I5¥x®-s¤¾è‹ùYúØ«Sí¶Ný²rw¾Kº@JCMTB;©îC>>ä X­÷FR‰‹cð1Ò“öµîx÷ØYÜ0Ùøf „r.ä|ÞRºF,å?è‡ò¯y&èûÐ7“¿æÊÿ ¥¼Fl.ÍçB.b1%|m±ÓæNqÈÎÝ…ßA.œ‘'è÷:®Â%«Š-íµ oâÜ(óú¾-:ݳàÔpƒ«_ãæ„[äWgêE;-œË•pïåݼ­dsÙ–Ò¾=¼ßâhø›N ïs3m5±+¼ ÚŠEd匲œK¸ˆ ¸‹¹”­ìÊ|è)D‘jÃo’+åzr©†§×D4@sÇ-=ÚÍòtê# m-0ºà'GŒçqÒ¿y'a[|Fv޼ìÜaÜdÿî"àÂ´Š vÑ+ìÎÄGQ[oÄ5–g“ø"{,í$ܵÇl)^O§Vm«¿õ¬Ê ª€§Št\Œ²E'N?ú”+ï½ÜZûÎ…6Ž„¦á=æRUЬí4I\E EÅGL&!†Ñwª·ÎfšýÖââÌdÒ% ˜µ+0⎋èŒõu’8¨çòöZTe:?V8ߢqÄÉþSÓ7¼1ÍñC…Gç&€Wk°ú+Ç*Ìf—S?ÊŠë‚¢=J!f×¥6YgÛXFÈ!ÂïéBòÄ­&jÓÊZ¸ŸtŒtØ..¼XlÛ\p™+0œ(0Žw·VðêJ ‘qV`‡1Þr‰òð^ŒyØoªCÍÄ”ÛèeÜQøí}Poº$Ä!ô¢é!á51x9ÎfÆo«¿0JNð†‘7!»Ïªôa°•{jù®³m‚œ®Ígw ðóöK@<ûªâS yÔáŸêi»ÀèoãL°:.í®Àˆ+r±Òyuq²ñ›ž-¿Pe-/R]°^ÁñºÂâº@eÓ,bf~K€»?“ëçT)ð†¥¸J7¾â x5.µ4?®þ2oªßP Þ,ØÎ4YÞÆ|¨Iר6A~¢Íe@¬]– ¥­‡Q /¯ë‹méöƯ[l=ôî[þj:‡x’d㡷ΟàážÜM¹D$m–äCÙ¡1FG­ø +°…òÐ'¡}à|¢¾àS$ Tåx^î—sÐ;ÄlQ€…XŽ-(‹ú8mã¨f˜GZèAÊ3¢&´Ñ¿r§„Bäò6©2€|® –ǽ­°Ö®á¨åoÚÁu%àGê’0JŒ¼V€ù>umVÀ@;ž¸ïØúýÕ8> ƒ÷xï0n,cb°;Œ œrØmázÖR‰ZB$#7uÄZEÌæ\jB¡¨Ó|éÉ©ÕBT‹[O¨êå¿®×¼O$¼.¿‘×ïª8ssmœ¢êª†eÉù•КðŸd|­ýýSÛ×m‹mõ±ï±šzà"^NG˜ÒZD‰¥T ÷à# Â/ 9öá¥@À†•t–T(m’ÎãkÚ•ÞY¨‘*/q¦"_þ+—ÇíÍpoè}r¯X‘ðÞ±PÄ{C_*°5ÈÔN<¬ü³k~OhM,bøEÝgò5fÎÉG;´µ}Ôßû+Òà">ècS(·Å–RýŽw±ëñþ†ÀtŠFªó/Rõ଻䟿—HgÓ·R# ºK¿Ñ™8ÿIæ"|kàEœ‰æ¨…¥q|÷;hŠ‘þ~û¨³ç/š–ðÅÙã ÔÄ›\øRzaµ­ýl<š*ü¤NÜ ›ù§„ Œ«==ø¾V~ã zÚÎl|F}wÔ .*ˆ ŸaGç9pwò/³ç ˵ñ ž ŠšukÞHDF.Âù_?Ð¥(Tô©FøšNÿ¾‡Ç%b’!\Ž/VÇð²]Ô“€õ¸ KÐ׆à9]ƒ…da%®Ä¿6ׄMh䀶€)1=_9ε’ÒŸ÷8¥®k£Õá°æ eø÷â4DÒ‡æèŽGñs´§ͨœ˜‰_§ÌÀoc} .ù Yÿß'ÚsŒ2ÌÃ膦ÈE²ÑçáA|æ6µ7¡Öù­ðMí[ŽqÈuÌòä$übS=”b4²Pm2î§ÇXW`Ä o§˜Àˆöøk¾êéCxÊ0‚zsŒCI4yi'†²"¬è´Â™¡7t£ tGtQÚáiCvÒ&«}ÓÚ/$ôŒ‹ar4—Ÿ„¨A Wai’ë¡ ï¡¥CÊŸCÆýžÏY]'lK1Ñ>ªÒuV=;5"Yt+üZÁ|¡‹_]a …¯#îšà+•Hë„÷Žs13Iþÿûð"Z8T *¡;æ$‰cFÛçÒ33òu†ý£AЉ ¶HÑÀ8Å“Ã-=‘Ž'*à½]ƒo¸6º} üQ¾‡Z"·ô¨"Á=”>R÷`AÍ”‹0W9Býbކ†?h€~SÑËÖ3=lqÌÈïç ûFç”ÑƆ(ˆâ©jx0ª`¬‹4T€í±6ЧÿÃ਴öc‚O~œÄžRð‰)ýzô^ô«1—Øz¼=á6ÌPz«Ä¡þÃ8t·1–¤1ª:hä?ã ûFÏ¢,ßxY7½M¿]0"æh é˜xgc8ò#>» / Ct³ÉëÜäGôàDôÇ,@A…Ûp;¾Æ3¸õºð 5nÁkøCíà•˜ØŠ/ñ$z¢¶ƒËÙÎAc?¶åQ<âa8É5«½$Æ™‰ÀrœUú–ø»q'~ŽaEÙ'âX4G}ÔD^pzglÁÏøs 7f¡.ÇYŠsB!ö`;ÖaþÅâãExp¶”êá4GcÔG]ÔB5TA.²à ªÖ|8ŒC8ˆ½ØØ†X‡µ8ˆ# à4CÔSÔC&Ò‚=EÀ‡¢`=ìÖá(]/ÌpL^~É›ª£CJø3—ãÏ$~­ NL©áY€åQ>‘‰RÄÏß: uQb«å‰¯ „=ØiÑOÝÚD•á¨ð•·^xÁðÇŠ8:q¤ÔCvigbŸw'W%åÂ… .ŽF¸\R.\¸páÂê¦Ï… .\¸p† .\¸p† .\¸p† .\¸p† .\¸p† .\¸8’ñð亦C*¢æIEND®B`‚./chessx-1.3.2/data/themes/merida.png000644 000765 000024 00000161456 10633464147 017112 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖsBIT|dˆ pHYs66Bï®tEXtSoftwarewww.inkscape.org›î< IDATxœìwX××Ç¿—. ]AcÅØÐˆ55¶h[kŒ½Æ{Æ(1bŠÆ£þ,¯‰&ÆÞ¢{ÇÞQ,("í¼ Ý)ÛXvvq>ÏsåÎ3çž;»;wî¹ç2"‚‚‚‚‚‚‚‚‚‚‚‚‚1°’Û…âƒ2ÀPPPPPPPPPPP0ÊCAAAAAAAAAAÁh( £¡ 0Œ†2ÀPPPPPPPPPPP0ÊCAAAAAAAAAAÁh( £a#· æ cÌ@{aª¨à€3ÎØJD‰òY¨ Œ±f¢ØXED;d6IAÁl`ÊNÞ æÀĉ‡ùøøì:tè%¹mQPPPÆX0€UÂ5T{`­1U æcÌ@2§¼¢ ^DôJ>«Ì%DJÁ,8qâÄç_~ùe|›6mnN™2%Zn{ÞncÀÍPh\€€ßccÎEo™‚™Ðÿ .À!¯LAA&œÁèÙ³ço õ «§bÅŠ«/^ú0Æþ&¢ÿ3ðÚv¦ @ì‡'›1¶À("R^¼((ÈHÞŒe;mÁÍ^yCå{ƒ1–à €­¶ãå‡%¡„H)˜™™™9bå>´^¹reß7¾>¾¬1õ+XŒ1_ÆØŸVBdp‘‡€±N1ÆÂLdšƘ+cl€? 1¸È#À9ÆØg^j €wT êׯ‹/âæÍ›Ø½{7N:…'Ož`Μ9°µµåŸ¿„1¦÷ &ÆX5'Œ‡øàà^ öpž1ÖXßk(((Ƙcl€[Öè ÀÂOOÁý¦ÜfŒeŒ9˜ÒV9Q fAVVV¶¦ã—.]rúñÇ—4iÒäöСCközíÚµ;¿lÙ²v99ܸfÇŽ¾Ã† »vøð᪅խ`y0ƼÁ… ´Ññ”PGcŠÎ*…|òÞì—±Gœ,fŒéNË£¥ê^^^زe *Uª¤VÉÎÎ_~ù%FÍ?ßÚ×m¨Á«à]¿‚ìcŒµÐç: …ƒ1à$€ï”ÒãT7߀{9PèzK@¶4µŒ1”-«ý…ñÝ»wz]OOO8;k^‡÷øñc¤§§íšööö(]º´Æ:YYYHL|{3:88<×¥Þ‚Ž;v"!!á¯-[¶´'"½Ãšºté²ïÏ?ÿ|_¾oß>ûÔÔÔC† ©×·oßSúêU°h›ÞÖ+cÕˆèeؤðÓT3à¼Iy!K'u©œ÷vQm$OOOÉsF9sæð‹kø[ÇkÚXéY ÉS,eŒ½÷¶…^˜...¶/^¼Û «nUŸŸwÄ1Æ:Ñ£f¦È6ÀpqqÁ;w´ÖsppÀ›7Æ už7ozõꥱN×®]±~ýz£]3<<ÐXçÊ•+‚7doÎÎÎùeµkׯ‰'u_¿~-[¶´©Y³æÃ4X¼xñu]¯Ó¿ÿï7nÜ(™éãìÙ³v³gÏŽKHHž:uê]õ*X.Œ±OtV-sssäI“иqcáÉ“'¸pá¦M›† .¨V-`€ÏMhò[EÞúXÕ2kkk 0:uB… ðêÕ+\¹rß~û-Ž9¢ZÕÀjÆX "ÊÐárUÀû]|çw$ªrxyyÁÃé©©ªÅ5t¸V>c¨ÍʺººbüøñhÔ¨ñðáCœ÷æÞ½{DÄrðc¬-rãeBÙhOÁ,(Y²d¿lñâŸpáÆŽ‹¤$Áaœ>}Ú;11ñ²••Õç?ýôÓRm×5jTçß~ûm˜¶Ìi7oÞ´=zôè^ðâ°Š-ãTÿpvvÆ™3gTPæááàà`´oßM›6Å¡C‡TOÀ›HDOLcî[Ç0ðÂy×­[‡ÎÕÆ„ Aûöí‰M›6©öô‡ײãØØhÿ™Y‡!Уaª899áÌ™3(W®\A™¯¯/jÖ¬‰nݺ¡jÕªü—sQŒ±DôTk*èÆbðf´ ''Ožˆ~Üý$ôTЀ1æó¶g²Dc.¶@dpQ£F”Í›7{9ñY(‘€ÈÈÈGuáw°•1V›ˆ„8Åe †‚Yàêêú_vîÜ9DEEáêÕ«6l¬­­ç=zôÈzéÒ¥¿tïÞýw-—`û÷ï_–‘¡þ³V­ZX¿~=¬¬Ô? ;wî,?bĈú·DÁ’È OQ —;v¬ÚàBÄÄĈªntã,ÆQ‘1Öš1V1¦oÊ×|Ôf5j$\¨\ ,ЪC稽¸}[sfâ´´4± çt¹cÌÜâÐF¥6¸P¥dÉ’˜5k–Ø!ƒî?Ƙ#c¬c¬)cÌÍÅÆXIpcá. ÎÍÎÎÆºuë>nܸqÂØ±cŦ/1hРŸÏž=[RµÌÛÛ›7oFdd$æÏŸ/8gÆ ãçÍ›'þK¯P\¨^ì{x¸æõ¹5jÔ{c­OHL±†1Ö‰1ö¸½)®ø \ˆÈSÆØ~ÆX+=t9¨ Zöþûš3•ûûû‹­yÓ©òÖÒÜT-Û¸q#ø/&TYµj•X±®a»ÂÂ4''«S§ŽNz¤`Œ91Ææ1Æâ¤øÀ^pýsƒ1ö cÌKW}Å•¼4À‡´VÔ»DoD} &€1VÀ`~ùÚµkŸ}õÕWÞº¼7aŒaÔ¨QN›7o›ÙìÊ+tâsÄâB¤._¾Þºuka`¾¯^½2Ê™ììlèzMxøð¡èC®‚4•*UÚcccƒììÿ’Iå0ò©Zµ*þùç¬^½C† ä ?xð`™ŒŒŒ›óçÏ=ztA@ô’%K|þøã~ªu­¬¬°aÃpa´#FŒÀ7ðÃ?Ôyøð¡Õ¾}ûöŽ3¦¼›ª`^„ð Ê”)£ñkkkøúúâÞ½{õ¼mä½_ ‡DW4fŒý` i˦Þ‹0??©(”ÿðññÁ£GT‹ôyQp*ƒš›7oâóÏ?Gll,J–T{G;wbâĉüó3Áe„Ò]>>>bõ h¿NícŒ…X Þ M…wò¤-c¬/mÓEo1¦3€Á[ƒÞÞÞµ“““ù{Up@.€¹`c‘[«PŒ/ä±AƒW»víª÷ìV»víØÇüø?þP]$ÎÀ…év*œ™f™Dš7o~ÜÔ3 WWWÒ{{{R=¯°²bÅ ­×ìÒ¥‹Q¯¡õš—/_œ½ÖTýc’¡Ú~I={–Ê”)#êïððð§‹/öÉ×;bĈµü:}ûöèÌÎΦZµj ôM˜0!†ˆläö"Æp›#©õ÷ž={H999bßKóän‹Ì~,n·s}¾/p×¢×@¶êy#FŒÐØ?DD^^^ükýŸmñcŒ=ãÛëããC;v¤1cÆPŸ>}¨N:RíúRk5矿iÓ&m»råŠØ5‡êp­¾|_ê Så¾·ÌUÀí}À÷×grÛ¥ˆÑûù¶jÛØØ|8ÿ‡_”ëׯ‹-ÀÕ9S %Ñ~yRR6oÞŒyóæaùòå8vLt’âÂ/ivñ²` à%Ô£J^ÞýXÂ…lš™”—IIA7ôN›®`¾ä}n‚TËš5k–àááað³³››úôéÃr·Ah±ÂâB¤Š/¾¾¾çÁ¥ý,àܹsaL|üüüpèÐ!tíÚÛ¶©ÏäÇÅŹ0Æ®ZYYý§¶sæèÑ£áëë+ª³qãÆhݺµ@ßÓ§OñôéS¾yR @w¿e?pssÛsïÞ½YG)˜#wÀ½y/Ø”gΜ9ˆŽŽÝ»†ˆðÅ_ˆé9PDö™=Œ±>àmNÇCçÎQ»vmøûû#!!qqqøãA"§nŒ±?ˆhƒ†KœP9ÿ“'O"66Æ TÌÈÈÀ€¤tè ­Ì{°î£Çi×ô$=öæ!¢ÇŒ±PÙ™<66ݺuC­Z°ìû÷ïcüøñ5а¨ùâ‹/HC‡󣿖ëL1ðsø@ÕB¶ÑÜ j/€•~? `%€ ©ß \&'CÚw€³ý±ªçØØØÐõë×%û'55•ÜÝÝù×Ù(÷½fnñ5ÑrÛ¥ˆQûx¿“’’¨°<þ\ì³¼@îö[”5 fC«V­ÞÔ®]û¶jÙŽ;øÙ`äää`õêÕX²d‰ÖkHåÏçóÑG ʪU«‘ÚÒv]¹r¥â¡C‡6†††>6lؼ7ê­PÄQ €<—8®éô!Dt¸(첋 ZµÒœ…VbFRÛ>³èœÉO…ÉDtÞ€ó ¢$" n}Åup!uñ2|AD{ ©?\(–¶ŒZ|rô!.µ®&Ô|ûî»ï¢B©$R€»»»XªfeŸÝPf0Š‚‡Ó§OZ)?C¦Ôµ,e€¡`VT¨Pa³êßÙÙÙX¾|¹hÝÜÜ\¬[·¡¡¡ˆŠŠ P·n]ì{Hêܹ3îß¿‹/"&&-Z´@‰%DÎréÒ%×ØØØÑãÆ{9hÐ Ñ ~ù ¢KYYYé”§ž1öÜÛJí£ÚâÍ{ü‚ÀÀ@'¼óÎ;:éQ…ˆ²ÁeüZîmŸ6Rô ¢ot¨«+íÔ·^§zÞÿ²ÿ ]— Uó ïÿ¸ >íס®šo%ü-uÞaŒ9êhÛÛŒ2À(^’wÄÅÅZ©D‚ˆb—(D`(˜åË—ÿÖÁAmM6–.]*x‹œžžŽ–-[¢{÷î¸zU-ÉŒFÞ}W·TÃÂÂPª”z‚¨ÇBCC1räHìØ±©©©ØµkÆŒƒªU«jÕ{ëÖ-‡Ÿ~úinÛ¶mïýþûïµµž `2ˆè|nnnX•*URµTM#¢êDô«I 3oéšž?*àéÓ§:éáCD¯ˆh(¸l+§Á½Áçó Ü~¡D´V›N]É[(*rÈhoöó ÁåÝ Qí1€¯Ô$"]÷ÚPó­„ÿ¡¥ÎK†¬/yÛPÅ‹[ü‚ÿýWì{G/Ž=*vŸ®eé( ³âæÍ›ÞÞÞYªe·o߯îÝ»Õê9RP¦Jxx¸ …­»»;¼¼tÛ –1†råÔ÷®Ê`¨âàà€æÍ›ãÛo¿Å¹sçpáÂtíÚVVš?ZýõWÀ AƒŽÇÄÄlPRceSÒ'>>^Û"¾’æ0Æ”p7‘ô¨—/_ÖxÂ… tÒ#"¢0pýPÀxØ à`^™±S> v|ÏÃØ¡CŽFƒ[´ \›–h  yÑ"äIÖ€šo¯\¹Â_d/àâÅ‹ü¢ó¤%Vð-ä8€é¶K"0À)Y-R0*D”Þ¦™GŽ¡‡¬óùóçØ¹s'°þÀQƒ•š)ÊCÁlèܹ³ÝéÓ§¯Ü»wÏ–Œ¿¾B,…¨­­-zôècÇŽ!..Në-–öQžžžj''kOU¥J¬[·—/_Ftt4ll¤µ=zô£Gþ¨M›6‰6lh¦—q F‡16Àüç(777±ê‘V+ƒ œ/diæÌ™ÈÊÊ­œ‘‘Y³fñ‹³žhµAD¯‰è8¸‡ñt·–¦,ôK/« R £„H©Ð \ÊÚúyÿïà]"ÚFDR³ÚP`¤¤¤2e˱ñ·2KÆXcìÆØypi‰'h  €¯\aŒ]eŒ­aŒ…Èi«‚ÑP› }ýúµÍÇL†d7ÍÉÉA»ví^¾|ùÒ‰wè¤GzkKA¶4µÙÙÙØ±c‡\—7;îß/váwz“šš'ºAÅÖ­[‘””@tt4Ö­[‡ëׯÃÏÏýúõÃ矮¶¿EÇŽ±páB¼xÁepìÝ»·^öðb3RcåÊ•˜2e fÏžU«V!33S´î¶mÛœãââv:tè·ØØØžz©`ò˜jyõêÕ±k×.LŸ>"yË»ÈeŒEÇ] ¢4ÆØp;Ràf0"""0þ|„……ÁÎÎ8vìÆŒÃßg¶·¡ž¡ˆ òš1ÆÊ‘±¾X¥ÁŒ1G"Òw¶½DÊ ;ˆÝîA¸àÅÍØ±c‘˜˜ˆ¡C‡Âßߌ1<~ü¿þú+¦M›&¦c³XáÛcì3ó yÆ™ΓŒ±/,Rf,šu¦(xÓtüøqÖ¯_?üöÛoz)8pà‹þùÇ…Wœ`i¡­4GL•®ŠŸ¦Víò6¥©íÙ³ç!mþ˜={6©’ššJ§N¢ÜÜ\’âåË—´uëVi¥>|¸Úõýüüô֑Ͻ{÷hÈ!äàà ±uêÔI0`@™AŸ¼-` ¸Øiµ¾¨U«¥¦¦ôáˆ#¤úm+¹Û!£ÿ‚ÀÅè‹ù&ÇÚÚú ¸õbÇS”.äõ£%tO0b÷jøÜ†éåÄîCqFÐ=YÊ~GGGrssÓô½´Xî{LN7£´£¿å{À…·ÉÞE ¾zŠõí7ß|Cº²hÑ¢g÷Ç$¹ÛWd~3Õ…”†þò¶ 0F«e¯@åË—×8˜06‹/V»~Ó¦M ­óÎ;T·n]míÌüöÛoë“ôMqH .ÂÃÃéÙ³g‚þ3fŒT¿­ÀänŒ~bà÷\#\»„îëFl_І6|n¤kL•ÐܺmÀ¥ùÕ·î()÷ý%—ÐÒ÷ºJ €¹Û£H¡î…ßùýjccC'Ož$m\»ví©••Õk‘ûâ¹ÛVd>3Õ…”†þò6 0¢££ë–,YRð€×¡CjÙ²¥À'gΜ!Sqýúõ‚ §ìííiãÆFÑ›™™I£GÖ¸[```ö¼yóš“ôQqH .4h@/^¼ì¿qãÆIõÛR¼¥ƒ p¡!SÀm@§Ë÷Û+ÃŒtíþ®SèMÁ­éÐÔ–B¿áÏóßm ý§Œä§hž‰áËiUä¾·d¾§÷ˆù¦uëÖ4}útZ·n_¥änW‘úÌTRúKq`°~ÊowDD½~ýš.\¸@ÖÖÖjÇÖ¬YC¦$33“8@OŸ>5ºî­[·’‡‡‡dÿ—)S&gÁ‚íÈ úª¸ $7¦—/_jí»I“&IõÛâ·ù!Üž 'µ|·Ð €§‘®ù¹†k-3‚þvZÚsÌ×h¬AÿY#öO#p³M/4\ï €‰(ÆoVuôÕ`¾o*V¬H»wï&M<~ü˜"##¥|;Xîv)R¨{Â\ì‚>urr¢œœ‘;á?œœœøáQ‡¸ÊÝž¢“-ò.W®Üò’%KÎLKKcRuƇöíÛ›Ê$Y™3g¶lÙ"y<000ÓÕÕu… M29mÛ¶]ú矪¥èñññÁï¿ÿT©R&LÀôéÓuêÔA—.]Lj£­­-"""ŠDwÛ¶mqæÌtíÚUtóžû÷ï[Í;÷++«C‡]W$F¼…0ÆF[¬©ö]Ô¼yslÙ²E§Í§OŸL™2…è36Œ±Ï‰H<•R1†ˆ.0ÆÂÔ7ب nmÁ —„€ÛPn€åúᲚAG2ƆÑ«BèW[à]¹re\ºtIµè=Ƙ5&?¾¦ FÉTÆ«`?€D Áe†z\?98Ÿ'ljKÏùÖÂ{À\Õ²àà`œ={ü}šøxyyaýúõhÕª•Xb‘¹Œ±]Dtݸ+%Œ±ZàR_ײ²²ª™›û_NW¯^!##ŽŽâûP233ù‰ÊXÎ;à0€C”7‚)V˜r43lذˆàààtH¼9aŒÑÔ©SMgoj^½z¥éí úõëß6l˜™Á´¨¤K—.î...‚7Èk×®ølóæÍ´uëVÊÌÌ,ŒëÍm!S>>>¹³fÍêJfÐo–,à¢V‰ù¸U«Vôúõk½ûnÖ¬YRŸãøÊÝfsž<åxßz‡jú>·ãzaôoVÕ7nÜ8rrrâ_£r!ô;Cz‘<ˆ7‚XÞ=©ªw¸Ü÷„¹ €_ùý°k×.Ò—Ï>ûL¬?•»}Šèt8àŒ¦ïÉþϧbÅŠŸùÀ¥<À]îvÕ‡¦¾àرcÝ›5kvM“³?þøc1ЖÊ;w¨Zµj’í¶±±¡.]ºl%3¸1ŠZ>ùä“Åüö7oÞÜh¾¶D¶nÝ*öàBÈÓÓ3§W¯^‘ô% €2XäÚ®];zóæ!]FDDß|óÔg:€²X_½ø¡ÇQÈ2#´üx(¤þ[ªúÖ­[Gµk׿_£{!ô÷Öbÿ#ø], N[¹ï=ÛànVàö¡é `8€ àÖá4·^¦ÐÝ\RõÕG}D†ðòåKªP¡ßï—Œ`Ÿ=¸ÍÛå=˜~ nÓ¿±àB»¢| ¢Üýf‰ =€Z>—€F¥õ>˜>}ºV=y’  —Üí7šåºpTTÔJ{{{IGW®\™®]»¦µã,…ýû÷“———d{½½½süÖÄg–/_^|êÔ)ý™™™IË–-£ÐСCE3þX"ûöí“LeëêêšÝªU«ÚdýgI !€$1ŸvêÔÉ(3c111R3P™Éísp;ó}Ô·:G«ê åëÏPÞ@Ý®|{/^¼H½{÷æ_ãÛBØP‹ý…ʆÀÜNÁ|½¡rß:Ñd»H IDATØÝ:ïáù$¤Só%À±yŠ.z^·¸Í tNŸ> eæÌ™|ûr8êi“;¸pS_¸kÁ…o¾+w¿š³€ÄþOWß6lØP-•¹/_¾¤V­ZéÚ_`7ŠAjcY/>bĈnYRNvss£¿ÿþ[kç™;‹-"É›©FO¿üòË÷È nSHýúõÛó}ЦM|™žžN .¤€€µó[¶l©Óù–ÀßÿMvvv¢÷JpppÚ˜1cÞÚ´‘ú ¸ÅÜ¢™¾øâ ­‹óôaýúõT¢D ©Ïù rûCn°AÄ7ÉÜ ¡s¬ª¾èèhªT©ÿÓ ÔÝHUeeeQLLŒàÀ@ýåÁK60gξî[…ôù|‰{²„Ü÷ƒ„½þ~–úÜ ÙŽ€{ï5+€:|ÿûßÿÈP¶oß.fS]ì·Á[xžBÊv5äîgs¥Á­KÒè¿*UªÐ˜1chëÖ­zÿ~ìܹ“ÆOaaaºôÓ]Xø ”ìL˜0¡\½zõDß. +++Ák–›7o¨oß¾o¢?þøØ!CìÉ nSI«V­öñýpìØ1­þüçŸÈÏÏOÔ¶¶¶ºv‹E°yófA-•{æ*™A?š³€Ëöñ‹˜ÿìììhÅŠ÷&NžIIIb6ˆÎj‚K…ÚÜ€¨(} îM½2£Áù=?…ÀWŒ±œzõêeÄÄÄÐÍ›7 ¾ø$$$Ð?ü@~ø!ÙØØHÍH%“Û?ûUnˆS¦L±êÒ¥Ën+++ÉDçÎuJi.<|øêÕ«'Ù—ÜÎ!3ð¿©¥M›6÷T}QµjU­þüöÛo5Îõm´9 )nsäÈ‘?ô¥9 _poý~+Uª:t¨0Ý¢•ÄÄD±ý‚QMåö‘\.k”˜_²T5PçDU]ÑÑÑtïÞ=ù=if€îåª:>ýôS"â¾ßEÚ WH¸…×wTuŒ?žâââøzïÂßRû^–û^àÙÙšSç…¤ø@už-#ùu=J†òàÁ±kä]ó}KdðA€qr÷¿Ì÷^Ip‹¬þquu½ŸnpçëȽ{÷¨fÍšRƒŒÇú~·˜‹˜,M­&¦Nš  ¹ÏØ5kÖÌNII±â×Ù¸q#¶mÛ[[[,ÔŸŒŒ ¼yóFôXÅŠ3:tèÐvöìÙ{Ll–YðâÅ µ”maaa’usssÑ£Güïÿ“¬Ó¨Q#¬_¿VV‚ÛÆ¢™0a>Œ]»v Ž-[¶l`‰%6Ìš5ë  ¦™-Œ± àªÊòU©Rþù'‚‚‚ŠÔ___›1`(åJU,Æ,ð.¿°F—<R²dIÉ­ŒE@@þý÷_«äüúë¯üÏ»€ Œ±²´Ôçrpø2iÒ¤ÚÕ«W7õ(ÞdÒ¢E‹3gÎ4ÊS–*ÕªUËPõIll,IñÕW_iôçĉ%Ï-$''K†…U©R%-**ê­ëÏpá ‰b¾jݺµ,™é¦OŸ.µø;À§Æh·% ´ïŠÝÍjaFÑÑÑDD´bÅ ¾îtè±¹[p›ÎèP]Á×?IO»ÕR¡ÖªU‹ˆHl#ÉŸ8¸i?O1ƒ{Á–ïU±¶¶¦¦M›ÒO?ýDIII¤/oÞ¼¡]»vÑСC©\¹rºþF?7«¡V>pà@½¯ŸX*k[[ÛÕöööüŒj¢JãÆ£Ã‡4KÿìÙ3úõ×_©mÛ¶¤)±¸tÌoÕï €A"~È0`€ö˜í"bÑ¢EYŒ1±°Æ¹º¶Ë\DvÄdîܹNíÛ·?§ã‚EˆƒƒõíÛwܾ5 P[Ô¸xñbcíÚµZýÚ AÑs‹{öì‘l—.]ö’ô©Ü ¸©dF-køÜ¦M›ÈÑÑQ¬ÿrôÖ¥}ÅEX÷ÐΓûœõÔ9SUGþãÅ‹b~ÿL½UùöÝ¿¿ _‡ Â×ýzè. à•êùßÿ=‰0žàç™|ÛyÒSæûÀÜl’¨} 6¤«W¯’1¹páÍž=[Sø¢¤übÈõ5jD .¤[·nÕ÷îÝÓ–ÍèÌtñ¿±ÜzÁoFTTÔ¿Fs¸ÄÄÄ<é›7Hf¿é#² I ´°dÉ’‚ÍØ,MÊ–-›õå—_Êú…n.²oß>7þ[”©S§ŸëׯkÊÈS ºlrSèÕ«—hûiñâÅ­É úV.PÂýÈÖÖ––-[f°Ï333é?þ Ð’%K • ùôéÓT¦L±>Ì…½ÅA\Ñò¹Ökmx ÇóDDÝ»wçëŽÓCo´ê¹îîîj}úóÏ?óuëœí Üšƒ‚smll(99™ˆDOõôÇ;àRµjò±¬û³X*f—³³3ÅÆÆùf»û÷ï§>ø@¯ßñ;wê}øøx½®ÑºukŠ‹‹+‚«³råJrww—²c9™Á÷DQ €/øm÷ôô|’‘‘a4?JNNU¨P!Y¤o,jí¥Y¬Áâ‡~æéé¹+&&æÏW¯^”£U«V2Z&ÍòåËÕâ>ƒƒƒßDGGW?~ü Í2öîÝÛ™êàà ¨7eʼ~ýZ«>OOO£ÙfÎÌŸ?ÿý7’““ÕÊÓÓÓ±yóæ_?ûì3/p_@oŒ1OÛ¯ kkk¬]»:u2X÷† ðé§Ÿü}þüyÄÆÆ¤«F8pà4h€G©b~fŒ'¢£kYÜPQÃñ‘Œ±åDtMG}’k¢¢¢°víZÕ¢pÆX]ÑA¯èú ©¿”cŒ¹Ñst÷Rý£E‹(Uª”T]}×`|n#¶cùUùH­…)rc}Ám’§F¹rå°oß¾"_#7FãÆqôèQÌœ9Û¶mÓzÎòåËñá‡êu•+Wj­ÃCÇŽ1qâDT¯^]k}c-Z Y³fˆçîÍû—ˆ–™Ä`ŒÙÃ/_³f«½½½È¦ÅÊÊ 6l(–KDª‹Kû2ƦÑcٌӹG8ºH©R¥ÔV×wéÒE·a  ª84hðÌÀ‡æ" L‹?~\͇/^Ë#*cÆŒ1¤› "!!Ád×CSÈØôéÓg“ô¯©À|_0Æhùòå…öwÇŽÕôúùùZçùóç¥ÞE!w´¶°Pµí5óÇ=ô©íó :ƒ‘M¾¾¾|Ýßè¨w¿êyÜ>¨ÿñìÙ31»#tÐûÿ<Õ}Df0^éá‹6|ÝüØ{õAßׄHZºrå Éʼn'($$Dão½½=¥¤¤è¬333“|||4ê¬T©9s¦[¦™„„©™Õ×àe×*NnóUµ67iÒ$ј¾5‘‘‘—DúÆb¢aŠWÚ³çæÍ›µUÿvwwd‘š>>b3M-cíuÔ'ù†ßÚÚÝ»wç÷dŒé2+PMõþŒ…««+øçèò :Zõ´o¯±©:Í`0Æì,P;ÑÚ#GŽägº­‹>c“gßFpë/ °··Ç–-[P±¢¦I­¢¥V­Z8yò$zöì)YçÍ›7üÙ0üßÿý’’’$÷éÓ'Ož4Ù¬…eÊ”ÁŽ;àæ&øép°ž1fi;õ§%¿ &&ÆWC4ñóÏ?—‡02A`»¹¢ 0Lƈ#êíß¿ßEµ¬I“&‚ô²·n©gPtwwÇÍ›7ƒ¦M›"""#FŒÀ?ÿüŸ"·{Ïž=¸wïàîÝ»˜6mZ‘_SŠ ÀÚZø¼qõêU›õë×o’Á$9ù¼‡¯=z`øðá2™£áááX°`Ø¡9Œ±¦¶GÔÂs.]º„y󿉅J~ÇÆO Ñø;Å/ò…–iÆX wÕ²ªU« ꉄIi|ZdÜ›µFçÎEÃDUÐõwz ¸Ù‘A$´\áQÁí\®Æ²eËРAÌQÇÉÉ ¿þú+–-[†%Ä?†Ë—/×Yß?þ(ZîììŒ5kÖ`Ù²eptt4ÈVcŠÍ›7‹ †H([1¡™êVVV9¡¡¡rÙ"‰»»»½‹‹K*¯¸™hesDî)]D ‘*Ò²eËàM÷ýõ×_vîÜY­Î?þ¨w?¾=nnn²Ú%:ÝîêêJ±±±µÈ úº¨ÀÇüö;::ªeù),ü4¤öööFÓ““C5jÔëÇb¿é¸tÂm¶³³£¬¬,š4i’˜?&ë ïÕsTC¤ò©Zµ*_ï&-:Û«ÖgŒ‰¦9;v,_ïY-z?à·ñÀj:EB¤rtðAYð²RyzzRjj*Í›7¯ï;ú¼$¸]‰Õl©Y³¦À§æÀ®]»ÈÖÖVô{V—:Eú°à^ß·oŸ Z ?}ô‘˜Í‰(†Y¥Mde©ožéîî.QÓ4T¨PA-»‘*;wî¬1fÌA`xq"/ˆZ:???“¬Ç1&5B‡øÅUtx ¶hˆ(Ü›Ñ.]ºGGG|óÍ7üê%|§E¥ÖF÷îÝù¡…vÐ<˜Ó˜A*Ÿ*U0ÛµÈÛ¹¹£jÙ§Ÿ~*º¾Lä\É62Æ> ¶ˆ¥zõêøì3nyÒ•+‚„Y& ‘ʳ]ðŒO>ùÄ”¦èETTf̘!(ߺu+®]“NpvöìYüõ×_‚ò3fH~o› 4@Æ Å cºÜ¤–ƒ7¸ì}T­ZUr«s¹©[·®ØÚJe€¡ mß¾=\µ,44´P)DMÉóçêY'½¼¼d²ä?¤f1^¾|Éîܹó“ &™’úÔ¾t?ùäɸiM>|#FŒ@×®]réÒ%µºYYY¢õzö쉕+WâåË—z_?::Z¬¸­ÞŠ,Á: €Ô«W_·c¬¹]Z¾¾¾hÖLºÜKÃ): 0*Uª$¶&JjF$x³ šómcÞÛXAîä… ¬m3ƒŒ:à½1€±cÇ Öß™'NÜ7D„¹sçJž#v¬I“&˜0a‚Ñí36ãÇ+ö·‘iq!K¤¬ð<ŠGGÇl‘âL“brÇhé"Ê Ëiª>aŒéÇjdgg“³³³ZŸŽ?^n³ˆˆ¨OŸ>¢q¾^^^Ù5kÖ´ˆMCÀ\~›÷îÝ«·ÿnܸ!ê?CeÒ¤IzÛžžNNNN|]:§hµT°\µÍÝ»w/ðÉÉ“'ÅÒT_`+¡k•j]±5DDkÖ¬ë·j"úÜøõTÓÈòIoºPÂÎCªõjÕª%ªO"~_4Àh~Ý®]»èJNNæëÉ`oâ¾ÝU<--MÒ§æÄíÛ·¿¶¶¶tçÎAÝû÷ï“Z]GGGºqㆠ–ëOnn.988ˆÝ“È ¾7Œ%^¨¶¯sçΧŒìJ£1þ|± ÷œÈ ü¨MÌûõ‚ÅÓ¨Q£ßœUËú÷ïoYCt!>>^ðfº~ýú2Y£Î AƒDËŸ>>˜4iÿœ’¾Ñ¥ó@ZdÖÀ ·³jŒJ•*iÀŠÌ`¸@e¿Ƙµ4V-Z´€···N6ç¡ÖFÆX}j ܃f°þàm¬H>Äš-Œ1 :T­ìå˗رcGÁßÿüóîß¿¯VgèСf¿Î„Äà¯d1›UU›ÁHII Š[ë +©©©8qâ?µÞ ÑÊfˆeÝù CHHÈŸwïÞU[ÐØºuktîÜY.“ôfÞ¼yHKKS+ëׯŸLÖˆÓ½{wÉÍšîß¿oYi•t£,x@Ê–-k°²!C†àÀ¸~ý:nß¾û÷ïãÑ£Gxòä‰ ÎÎÎW®\È… °`Áƒí8ϲžÀôGɈ¿¨~ذax÷ÝwùÕz0Æøñ•:0š4i"¶û6?LJmZPSx :ÀÔ)MÁݷ訴1ofr¿Âüùóö™A)[ˆô¥ 0î»–Ÿ¢|Ó¦ÿö6]·nÚ1WWW©$fDßX7[fáåÌœ9ÓìfV­Zõ*77—¿›zœ,Æ€2ÀP0:=zôˆÜ·oߪeÎÎÎ’;›š#Ožf0ƒa/V(²ß‰ÙS¢D Á ¦?ÿüoÞ¼AVV–Ú`úôé'''Sšh|}Å¢–±hF7¶¸ªZ°iÓ¦ÒOŸ>•É!™™™˜5kÖ ^q"€ÕrØcÊCÁ¨têÔÉ9..n?4jÆŒ…zÓlj†.XÜÝ«W/ÉÙ9‘ “;;»¯MhŠ)xÆ/HHHã!a¿Ù¦M4"’ ½óiݺ5Z¶lÉ/®às•¿õZk$2{`ƒÿÂ*ƒÛË¢m3VVV¨T©¿¸:0Æ\ÀÛû¢S§N†¤T¶ÎÓç.+S666øþûï'¤§§ãÞ½{üb“0ˆè%€T~yrr²)Í0ƒ RKKüâÅ ìÞ½{÷îEJÊY+++ 2D Mbb¢XñkI&6¥È ¢\j‰P²³³Ý;uêôD&“tîÜùTJJ ´7O†$ £ 0ŒJffæŽÛ·o«ÍÓתUK¿jÎÄÄÄ`íÚµjeîîî˜ „ÐPáÞ~×®]ËOÉ©Šk0Î Œ¸%‡…'00mÛªoS³iÓ&lݺU­¬uëÖ7oŠFÑ'"~6#Kg5€‡ªûöíóúé'ù·‘ZµjUÜÖ­[kòŠX,‡=†¢ 0ŒÆ„ >ݾ}»Zຖ/_.¶•Y²gÏŒ;VP>}útxzzÊ`‘nðôò¹|ù²íìÙ³-gá‹voöU["ö?2±r uà2ñˆ¼ v?;§÷—‹ÈC~eÆXðð÷מÐKd†c¬xáQeË–EDD„¾æ€5c, €ZŒŽ——¦M›&z‚ˆ?_‘SÅf€@ð²lëÖ­‚ưa‚Ë-‰¾9cj;Šš¼™ÁÔß°aÃrÖ¯_/ƒE»wïNíÝ»we_ ~GDérØd(ÊCÁ(ÄÇÇ;oÛ¶í~ðI“&éôÐ8zô(ºv튜õ5AAA8p LV醦˜î3gÎ 6¡)E eP[y_T3ü,?zfýÑeƒ#--M2ÜmÊ”)(UJ°ü¦/c¬ øëÖ­›Xf¨^à 0T™™™Ø¿?&Mš„åË—«Ù*±Ð;Ü®óôèÑ&ã±ðxm5k–dV;3IQ ˆ<œZò£iÓ¦j3FOŸ>Ń þ®T©’Ø®ñƒÄ ÆiSÛa"¾ð¯jAvv¶u·nÝ4îÖ^T¬Y³­Zµr%"þ¼ˆ.H3g”†‚QX¶lÙösçΩ…FÕ¬YãÆ“Ë$ÉÎÎÆäɓѠAµ8Ú|^½zeö30 6”|Ð8qâÄû&6§¨Q NJJ*’YŒ:hüÛX;vŒ_”·cCð”)5‹áêꊙ3gò‹­ÀeSÄOñyþü¹ÚߥJ•[ÛÑ ¼Fþï­[·ÂÃÃM›6ÅÌ™3Ñ·o_”-[mÛ¶I½D™Ê/00< úPÛh¥F³Ú™Áï|3‰‰‰xóÆbBɈ$ ( G&´Ä¸äääH}—» ¢ íÀ[ðMDøòË/Ñ·o_A&É¢ 33&L@Ïž=‘““Ãظ  ]ž­…2ÀP(4ýõWÔÒ¥KÕRGÚÙÙaåÊ•m€fJ®^½ŠºuëbÆŒ‚™‹|?~lö ‰mllÄv„ܹsÇ¡}ûöÍMlRQ²‡_ðóÏ?ý":uÂü`É’%˜>}ºÑ¯±oß>±7ÍÇ-i!_!КªV•~ýú¡zuÁ‰:Dw¾|òä †Ž*UªÀÍÍ ¥J•B‡píÚ5@TTÿ×<)à½÷ÞéS§Ð½{w¼z%Ü<÷¯¿þBLL üýýÅø^ª„……,?tè&Mš„ÈÈHLŸ>û÷ï[/¡Š`O›… jÜcAîµ*\aŒeª.^¼(“9…‡¿éž*"ë{,†ëׯ#++‹_œ à‚ æ˜„¼Œv-!òRgùòå ŶmÛŠìú‡FµjÕðõ×_‹}<Ð2ÏF˃ˆÌ^J•*•€ò¥K—.d®’ª­ 4xHfàÃ"÷Ö­[¿Vm3š9s¦ñœZäææRll,•(Q‚ø¶‹Éü!·ÉZY»v­¤ý-Z´ø“ä¿WŒ"ZñÛçååEÆvi‘Ó¡C±þšNfàç¢p/¸2TÛÞ¿þ:xð ÖÏjtt4eddPýúõE{zzÒ¿ÿþKäææ¦Q×wß}G¾¾¾ëØÙÙÑŽ;¨Aƒë-X°€rssiêÔ©ÄïÝ»7åääP\\œÖ6vëÖM£ŸrrrÈÞSHÇ› IDATÞžÞ ûú$¿ ‘‘‘Û`Î$$$HöMrr²ÜæÌĉÅÚtžÌàû¢¨\b†çRýúé§ŸRNNŽÑ|MD4bÄÑqã†Ø¹-eìç™|{ctþüy­ým®ˆ Nä6Ë`rrr¨L™2b÷ÍL2ƒï S¸ 1·I}ö/^l,wÓ¶mÛ4}Îw”Û…ö§Üè"Ê÷µµMNXJn?Å—r ‹( ó“.]ºüÀÿpHMÝŸ={–:uêDï¼ó­]»Öpçê@JJ }þùçdkk«õÇ:44ôQddäP~Ûzôèq˜_wâĉEj·±HJJ’lo‹-®‘Ü;Æp;$ßä·Ó×××,Ãôˆ¸û³N:býóog(BMŸÑJ•*ÑÈ‘#iÅŠtêÔ)JII¡3gÎІ ¨U«VZ?ãuêÔ¡/^ú`РAZC©lmm©eË–´k×.}ºjÕ*ë/T…1F½{÷¦G©éèÕ«—ÖskÕª%šÈàîÝ»´mÛ6êСƒ¦£ûäîë¼þ^!f_ƒ ,n±`ÁA;V­Z%·Yz‘––¦)9ÁB2ƒ{ÆTÀÀ|p3ã¢>1æ³çˆ#4}ÞÓÁ¥à.'·_ åS¹ ÐE”†ùI•*U’ø?œ<øãÒ¥K‚uW¯^-œ“%زe •.]Zã´ƒƒ5mÚ4¾]»vÍ¥ÚöÑG%ðÏ3÷¬XªH,Ô£òåËgÜ;Æ‚{Ó¦ÖVwww:räˆq[Hîß¿O¡¡¡b}“  !™?M-*éò`nˆ4jÔˆž>}*Ù999týúuÚ¼y3M:•ºuëF  iÓ¦Ño¿ý¦×llNNíÛ· @ï¿ÿ>ùûû“µµ5y{{S³fÍhÔ¨Q´råJºråŠèùYYYÔ¶m[(Ô¸qcªS§•,YRW,•»¯óú»€Ôâ0Èøå—_mX·nÜf錖ÁE"2ƒ{¦¨€5€/ÁËh'òÙË5fR‚è²^, Àt¶rûÉ ßÊm€.¢ 0ÌKš6mêÍS.ðŽ{÷DÃ,XPH/«“žžNQQQ?¨~~~¹QQQ§N¢©mX©R¥‹7lØ`T›‹’öíÛK>œ 4(€Ìà2¦(Ö^[[[?~<¥§§×ÁzòòåKš1c¹ººJÝŸCÄÚõ6¸Œ`‚°™Âˆ““ÅÆÆÊ¾à_ßëgggÓìÙ³ÉÎή(\ãÉ ú›¸>”êsKdˆ¥ß¼y³Üfé„–ÁEÉpÅIÀ½à8ªíóãíí±}ûv£ù?Ÿ¸¸8ªP¡‚.ŸßsªËí/½ý+·ºˆ2À0/8pà§üÀœ9sÔüðêÕ+ |P! …ááÇT»vmɦ§§gîÈ‘#ÿ<{ö¬·.m+[¶l1=>4šÍEÍ´iÓ$ýѧOŸ/É î!c €/ ’¥•/_ž6lØ@ÙÙÙzù1''‡ÒÒÒ(99™ž={F™™™zÿæÍúþûïÉÛÛ[ÓÇ"¹}'·Ì"Œ1úè£èöíÛzõ“¹qá½³Té ]È ú:_Œ‘²ÕR[¶lØþ×_Ém–V´ .@o2ƒ{¤(ܬÅ{x勳³óÓyóæ=¿pá‚Ñ÷¿P%77—._¾L?ÿü3•+WNS¿d˜ šÍ0ïm–Ì’/^„ñËš4i¢ö÷Þ½{;É–-[;vì@É’%bÇ… ЦMÜ»wOpÌÊÊ §«V­úILLÌ]uV®\y$__… PºtéBÛk*ÂÂÝS@JJJ3ߘÎÓ@Dß2Æ‚‹ñ®¬zìÖ­[ˆŒŒD`` †ŠvíÚááǸs玚$&&âÕ«WxõêÒÓÓE3ÙØØÀÉÉ ŽŽŽptt„··7‚‚‚Ô$00GÅ”)Sp÷®dâždŸÑïÆö…r@™ü?\\\0tèPìݻǗÌÀ”OíڵѵkWDFF¢L™2ëZUªTÁ±cǰeˬ^½Û·oÛ]YWWWØÚÚâÉ“'üC·Œnh! ¢yŒ±ÃøÇ>Œ¦M›bóæÍEÚŸiiiHJJ£G””„¤¤$<~üéééHOOÇëׯՄ_öìÙ3Îèèh¸¹¹ÁÑÑ%J”Ðø¯‹‹ üüüàëë ???øùùÁÝݽÈÚ pÙ¢:vìˆ'NHU™JD+ŠÔ™aŒ¹ø@c±ãööö/'L˜ñÅ_x™"{$c !!! AŸ>}°xñb̘1ƒ’““¯ª-€)Z1ÆÚÑã"7®( ½!¢rü²   µ¿·oß®ö·««+Ž9£Ø°cÇDFF"--Mp,44ôåûï¿ßgùòåõÕ›””Ô†_Ö°aC­”MŒäää &4ŤÑqÆXMp{dŒïûíîÝ»3f ÆŒcð5²³³ñüùs<þpóæMÄÅÅé«f€D$x |K¹ "ÿ/^ÀÛÛqqqHMMÅÙ³gñèÑ#û ‹/–É"Ë#>>ÕªUCNNŽjqþ^d2K'cÁmž)úEŸþ¹`ÃÓ‡bçÎØ¹s'vïÞ]¨Yƒâ€——š6mŠ>øÍš5Cùòå¯_¿Æ€°zµäÞmÙ>£âUÜFüc­ZµJذaC€³³,“Zyýú5F…ŸþYìð Ñ~›¥f=À}ú4oÞ¼™,XÀ“'OæÇ{Œ}||,cKø±ôue&HÛbwø}åoÞ¼ùž|=d[þüóOöðð(0Яx±´}Y²»-R&LxñçŸþ>//OkåÂ××·\ï8ö3cß¾}zOÈœe»T·nÝnïØ±£zÙç è¹¥5…ÜÜ\4jÔW¯^…»»;222¢UæÓO?ŬYZ;²Ð¼yóÛ]»v­=þ|«\,^¼¸ç¬Y³~»yó¦Öx ÆÉ“'Ê=­&~ø¡Ñ­] øÇºuëÞ¶±HŠ@D/ø©ì³¯¯/233QÙûmÛµk‡ƒjf­gæ•zR'€ˆ¦˜¯™W»vm$''ÃÕÕ‡ƾ}û°wï^µ—©ª‚››Z¶l‰Ç{ =ö:vìˆ,\¸'êí‚J‚d{aÛ%!¢W|ÀÓX™š5k¢]»vˆ‹‹C»víðÈ#ÀÇÇÇvB*HII Nž<‰ƒâСC8xð NŸ>]ž[ç;¼×ýjC1ƒˆ¾0^'/ÿ¿ÿýïý^½z^âw8€N:=(**Ò]^[ÎÌ#ÊJk8šiüøñ/U«VMoå" €÷ïßo™º§ +V¬0èíÈV2†¾E÷º,é£Y³fiÕqîÜ9­ã'NœÐ‹l[«V­âW^y¥µ×°uëÖ –-[ ´³zõj³¯Åžøæ›oŒ>Ázê©§V²Œ![$4¯}ìØ±r5q¹üûßÿÖm÷"µ”hGJž:žÑ³111•áÚaq£F¸zõꆎwQº/eÍa$Ò²±•­ªÌÑ£G—ßD²ô©-€±†Úá»ï¾»*W[+Íúõë0´ÓgÛA0ÛQ ½ &Œ[¶lÙw÷îÝÓz’ˆßÿmÚ´QJ4‹6l\\\0bÄ­• g°É¨W¯Þd??¿§4ãP<÷ÜsHHH€¿¿¿Iu¤¥¥aþü¿V6iÒõêÕÓ*3yòdª?{yyaÔ¨Q>þøc‹ º€ˆ¨gÏž‡õ6;9ƒ ²¦zÅ1fƒ÷ïß×ÛßìŒQsí4óleSóì³ÏbÚ´iÈËË+Ërƒô§÷‘MpP˜¹ˆˆ¦ÐòwéÒ%«ê BHHˆz_}Ù¾{KßPï//UT&77W¯^5ÏÇ„¶R;ÒÐa-Û©WsaæDÔ’+ÛšÇʉçPe1ô;qwwÿ¦°°p’â(Õ€´ò¥Å°aÃ2Ç®€H•Bÿþý½&Mš”õõ×_‡êú€ˆÖ0³Ñ(¯6Ci ‡™1~üøñ>>>zšXHH'&&Z®âÙ «V­2èƒÚÑW2†zL÷š À………&µË Aƒ´¾ûÎ;ïhß²e‹^›Í˜1c­²wìØqnÝ8""‚oß¾m’üöL||¼Ñ'Ÿ<òÈ%¶ƒñSÙ ÀBÍënÚ´©\ÍkcÇŽÕmûT.•q­Î– )&?Í÷ððàFqïÞ½ùÕW_åyóæñºuë811‘srr,îC[‘••Åä_ý•?þøc~饗¸[·nzñ„LHD³ô¡œ @KÝk}ñÅåí'àý÷ß74&º±ô¡­€uÛ &&&£  @¦V¶Š‹‹¹yóæW ôùz¶‡¾PZ€qãÆ½bH¹ 㤤$«;À^X³fÓ)3gÎlâåå¥×wqqqœ––Vn{lݺUë;®®®|æÌõñââbnÒ¤‰V™Î;g1³Õ´N:m3ôçìííÍþùgÅé:tÈè$¤aÆÙlã§2$W—9š×=þ|‹Ú²¨¨È¢ï8pÀPû÷¶U8rÐˆŠ _"↠òóÏ?Ï_ý5´EÐ:Û†ÜÜÜn_¾|Ù²›¸pãÆ öññ¹e ß{±Òý¡äÉÇ7Ñr®5ÙtÖ®]ËîîîN¥dŒ3f±¡?º   Þ¸q£^äååñ矮·ŸzüøñZå/^Ì:7 ~ùå—;[+o=þkH^___Þ¹s§éiç$&&„Ô­[÷ÛÁØ©Ìà%Íköôôä›7oªÛ'==·mÛÆ_ý5¿òÊ+<`ÀîÞ½;·k׎›4iÂQQQ¤§®®®Àµk׿† r›6m¸K—.Ü·o_3f öÙg¼yófNIIáââbõyš6mªÛþ•nGIVéŽÝåË—;ÄŠDesãÆ îß¿¿îØ*ÀvÐw•‘ c›ãïï/g“:5ÒYl}g‹)†ŽÞ®ŠÏ>ûì‚\ík¯üç?ÿ¹aà¿þ<OV²O”:ñ¸qã&R."##9%%E–F·GÖ¯_ïtJƈ#ôŒ2ËRHH÷ìÙ“gΜÉO=õ{yyé• ବ,uÝ»wÃÃõÊ<ù䓇¬•³wïÞ]V¯^8`]ÇÚå)uêÔ)f;7•™ѽ¯<÷ÜsܦMöóó+ï °ÕÉÓÓ“›6mʃ â6mÚè/P[éöq„àMݶýý÷ßY ѹsgݱu‘í ß*+R8/_¾,c‹:6†vIìb;è;[$H1t´®¿F—KJJäjb»&***ÅÀÿÑ,V°O1òž4iRçeË–}uÿþ}½c½{÷Æš5kÊvtìØ;wîÔÊ»xñ¢çæÍ›ùå—çcoĈ-ÒÒÒÒöîݦ{ìæÍ›Æ‚@©™?¾–kÚÏ?ÿêÏþþþf•Õõ€VþöÛoýuóCBB°mÛ6´hњꊂ‚W +*ëˆQkZ>­¯\¹‚eË–Ùäü8yò$Nž|ø’Í›7Ö ”hŒ³gÏ‚™!=€&Mš„üü|õñ¨¨¨‚ÌÌÌ,•käÈ‘ÿ^µjÕsºùQQQؾ};bcc-­Úayðà E¸v:ˆÈÀ0K¾ëãダ€ zõêê÷~~~ÈÏÏÇ;w““£NwîÜAnnnÙò¼9Dè `³%rV˜ù2å(Ë3GÁÈËËÃåË—‘––†´´4\¾|·oß–mY®®®zO´ M(CCC¨¨(DGG£N:&Š3°z8ÿÓj½‹6´JXZZŠääd9rçÏŸGjj*ÒÒÒššŠôôt½à·•E~~>òóó )‚&ãëë«V6¢¢¢ƒ-Z uëÖzʇ‘Sgeè=TZ¼x±Ó¸¤5•åË—7ŒŒŒ,´R^ÆxCà ¬X±bì—_~ùÉáǿޱcG÷7n¸€‹‹ "##Q·n]\¿~]}3LNNÆ{g¡C‡â£>ÂÖ­[Õuúõë7cÁ‚Eë=zô7¿üòË‹ºÀØØXìØ±uêT‰pz###£Zx¸SÞGBò eÐÐP´hÑ-[¶D‹-ððÃ#,, ps3ÿvXZZŠÜÜ\ܺu §N±cÇÔéÒ¥Kå)ã  SHбìƒnÜfÆÅ‹‘€„„œ={V­P( U¤ IDAT廤¤¹¹¹Å·¨Q£†z2ùðãeË–hÕªÂÂþÞjDÁpöŒKòø–eœ:u —.]‘#Gpøða>|Gµ¨Ý푼¼<œ:uÊàêDtt4Z·n­NGŽ1T…Ó+DT €ÖöçÚµkŸoܸq]…DRŒˆˆÿ œHNNn®‘݈ê1sŠÍRÂð㥗^z•hdé¨ÉÓÓ“•4È‘;ðxöÙgÇ~ú駃ÒÓÓÛ1sKfpåÊ• 4¨°= pÖŠ16ÏPõ† òÕ«NÌÓ(åyàÝ»wwb;#r'Ç5¯ÓËË‹GÍ[¶láôôt9›¸BîܹÃþù'¿óÎ;\«V-Ý>(AЬkið­îØ]¼x1O›6;wîÌŠß·m•ÂÃÃùé§ŸæwÞyÇw7¥ûËãá€Òýà@)Céþ²Ñ˜xG÷Ú,XP¾Ÿ|'fÙ²eIÆÂ}û÷ïW§sçÎ*êɕ á\è=•·U4v{###زe‹¡ÃgY!CN“ \•¹¸¸µ…0ÇnlÛ4·Ùé~6”§ûYæí[N¿z¡¢¯æWW×ûcÇŽ­šÛ 6¬ñ¨Q£®•””ÔÔÈî `†­e±Ãßß5kÖ¬¸ áíí”ÛàMâÉ'ŸœÛ±cÇc)))‹Ož<ÁÒ“øûûs£Föåääô{öÙgÍÞãðÁ¼´páÂ9……Ú’Zµj…?þøÁÁÁò\€ƒsûöm?¥e¨Æ;píÚ5¬]»k×J[Q½½½Ñ¦M´oßQQQ EHHBCCŠ   ¸ºº¬ëÎ;ÈÊÊÒJééé8xð þúë/ܹsÇTyÇÑÆÞå!˶"BíÚµñÐCÁÏÏϨ]„)ï½½½QTT¤59,{¯ûZ^Þ7’’¢6·gßU†Ù×éêêŠèèhÔ¯__4h€úõë#""BmÿgdffâܹszéÂ… –Ø9½‚ADÕh¹€|â‰'2ªU«Vå¶G•áêêêÒ£G¤øøxÍ u]" cæë¶”Ån AÕcíÚµ¿ˆ|óÍ7£Ož<‘™™y§OŸ>§ßÿýRKêëÚµëÃIIIßéî¿mÛ¶-âããQ½zu9Äv òòòœQÁppåØ`”ñàÁìÞ½»wï6\‘‹ ÕÊF^^²²²póæM« €U”@ „ MŽ ³&”z“Èúõë£^½z&O›ƒ÷fFFF’““µ&”ÉÉÉHMM5ävÔN?™Tat<Ô¬YÓ`ß?ôÐCðð𰥌S«V-ÔªU :uÒÊ/))AjjªÞ89wîÒÓÓ˶ éRŠŠŠPXXhðµì½««+ÜÝÝááá¡~Õ|ïîîOOOxyé™ ÈB=pàÀÍ,í쪔Úz«ÔO>ù¤Å•13rrrpóæMƒéÖ­[xðàÁþ×Ícf­¾×ey^^^ Bpp0‚ƒƒ¢~_–,uŸÝ­[7üðƒÞލNXÜHöÞd9666ÌPÁªHÆ µE €k¶’A(GÆuçÎ/ke¸ºbùòåð÷wº0²RXXXeŸôQ HÛ¦ÔÁX¹r¥Ú3ÐíÛ· FV) ",_¾Ü£eË–¸|ùrÙaW?‘ 3¯¨ô qrˆ(€Ö2’¹O¬óòò’’‚ .àÆꉣ¡×¼¼<¹/êIdHHˆÞûDGG£nݺZ‘º+¢{÷îøàƒt³{ Š)­fåææâüùóHIIAJJŠúýÅ‹‘••eŽ—.›€‡zõêÕC½zõP·n]õûòb8uéÒÅP¶3oÓS0íÇç°ÂDDDŠdKdU0Fµ`ûöí¯TT®  @okÖ[o½…O?ýTNqì]5ˆŒŒ4i[EïÞ½Y´hÑñJÌAxë­·f;vLk[À”)S§”HCaa¡"+DT@SHK÷Í MòÝ!Ý‹Ü!y‰ñà  @2€³ªt@ 3XxnW“|W¶Ÿ}ö™Ö¶C«ºùAAAX¹r%üqM[2%£€YÌlv, Y£!M°h¼x ‘Š y )p’Qù '˜9Ã’sÛz{>ŒM(Ï;‡Ó§OãܹsHIIQ¿fffVºåQXX¨W~~~êÉdÙkýúõѲeK½˜IíÚµƒ¯¯¯®RÔÀ[²^€}Ñ]óCýúõµlì²³³±oß>ìÝ»ýõ’““qýºMÝþËBNN‘˜˜¨wÌßßõë×GÛ¶mѱcGtèБ‘‘$·5™3g4¿ò8y¨‚Þ:z“å  ›ÎŸíšCmêaKV£¨¨¨zzzºEufggr½Wå0µý˜Ù©÷ÛšÂöíÛ§h~&"Lœ8Q)q슊"ÂVÎÞ Q,€‘†¨oæ×[ë|.%¢Kó.h¤K†”" ÐÀõaðàÁ˜2Ek(‹–Œß~û &LPn×®æÍ›‡É“'kÀËÑ63³žQ"r  .$ãóºªT_õêiP!¢ëÖX`¿{´¿(--ÅñãÇÕqLöîÝ‹7n(!Ÿ¬äææœXº»»£eË–èСƒ:Õ¬Y;wÖ§Q 3ß¶©à6€ˆš¨¥™×¬Y3,[¶ {÷îÅÞ½{qæÌcñ œ†»wïâÈ‘#8räˆzpdd¤ZÙˆ‰‰ÑU0œy뜡 %ä°KŒ´…m50f–- >|)$ßË"Urz饗ÚÈÙwŽ–FÝO·MºwïΉýû÷—;~úõë·›+± =¼ `¿ %‚Öý `¤Ø™ª|½ò...üî»ïrII‰VÛåççsXX˜Ás'''ëµ÷† 800°<Ù²¤8Éöã,$ÏS¶j›KVn‚+³ßeC—5¯ÁÃÃ{õêÅþþþŠß•N±±±\¯^=CÇ*Ýo•4¦)ÝæšÉÝÝ}}}988˜ÃÃÃ922’ÃÂÂ8 €½¼¼˜ˆ—Q#}¤tÿUÒ˜£{­))),(**24&² ûHØ`’³gÏÎÕÍ{ùå— ­’–¿"ÎÌ•æAŽˆ˜ é)|¹"22‘‘‘ðòòB~~>òóóQPP€K—.áêÕ«æœÚ@U*—ÐÐP,_¾=zèmëÆÏ?ÿltk3cÁ‚zNúõ뇄„ :‡2ôÕ@X¹<]½zu4jÔÞÞÞðòò‚§§'˜éééHOOÇõë×Ëþx  àm“‰èsŸ0sùË\ BDõ ­î¨),,ÄÖ­[e?Wpp0ÂÃÃ///“õ8-{5ô>??·nÝÂÕ«We ÚxáÂc‡zÀÆÁ´l„ì®ÃªU«†ððp½T»vm„‡‡#00žžž“‹KÅ·ÏÂÂBƒã"77ÈÌÌToŸÓü|ëÖ­ò~Ç–ÐÒoßÙÐ[©3d7WU¹{÷®¡l›®nVº‚ñÌ3ÏÀ××é‚Û”K—.a÷îÝJ‹a7Œ=:ìðáà 4óBCCѯ_?¥D²; ,2S°"zÀ{FŽ!..C‡E=P§NT«V¾·Ü´´4ìÝ»Dbb"Ž?nÕŸHµjÕ0bļ÷Þ{×;~ïÞ=Ì«­»FDD”¤§§«-‹—.]Š3fࡇÒ*½{÷bÞ¼yøæ›oÌUŽ´pwwGÓ¦MѪU+´iÓ:t@“&M …ò0Laa!®^½Š`ÕªUˆ74ü!­dúˆ[µjehLœc;èK¹€»š×9cÆŒlYÕùâ‹/nêŒb.lÃþšžÀ¡3fLçÌÌL­qKDå ªŠ(´‚ßЊÏ2}útääØëV`ÅŠxæ™g Ù+Üð®êýr º>ûì3Œ;¶B·ÀJ2yòdÜ»wO3«@…ñŠDoÛVtt46oÞŒ+W®`Á‚èСC¹ö(Ί»»;zõê…%K–àòå˘:uª!ƒãnä$CDÁZéæwìØ=zô@ûöímfCcïøøøÀÏφ‚QÖ#¢(%äªd´¶IíÙ³§T)Aì;väëdÝdf›¶Ø"%p(BBBôŒý‚ƒƒ+m›‰£’Ÿ¯{o± Ì\BD ¹‰%¸vífÍš…… j•MOOGJJ PXX¨ND„ºuë¢aÆfHšCBBæÏŸ+V ´Ôà}÷mfNS]W)ƒäbVË:ô‡~ÀÉ“'ñÆo ÿþfEš6‡‚‚¤¤¤ 99ùùùj#Ò² ´|`Ó¦MذaƒnUs™ù\¥)zö©©©xæ™gЩS'ôíÛ}ûöu¸½õr““ƒß~û 6lÀÖ­[9<Ѐ~¤6Ç£ lyÙºu+¶nÝ WWW´oß}ûöE¿~ýP¯^=DTŽãÇcÆ ذaŽ;VQñî–Ø@,[r€ºÓOœ8áWZZj’—/gçðáúvK–{±¡`Šââb=×§5kÖTB»æÁƒŠ›™Ñ/–å-Z´£FBhh(>ÿüslÙ²W®\©°®Úµk«#ÇÆÆ¢nݺê÷–(¥¥¥Ø´iæÏŸ_žmH €IÌüÎu!¢Žþ ª‡ AƒðÐCaÊ”)3fŒEÞóŠŠŠpéÒ%œ?^Êl7RSS+\) F÷îÝ1uêT4kÖ “&MÒ-rÀ'f f[¢ ebÛ¶mضm&Mš„‡~}ûöEÇŽѼys§¼\¾|'NœÀ‰'°k×.ìÚµK3j|yts(©&Fµ ,))Áž={°gϼþúë¨W¯yä4oÞÍš5CóæÍÍv,aàôéÓ8~ü¸:8q¯I ÀÝyîйìC~~¾ÇÉ“'K›7o^¥5ŒììldeeéºEÿÓÖrTº‚1wîÜr½¶*F'2g•æîÝ»!ºyÎ8±°% oU´ÕÒÒRôéÓÙÙÙÐõVW¯^ÅÕ«W±k×.½c¡¡¡ˆŒŒDíÚµQ»vmDDD¨ßûùù!33Sýýôôtµxîcó eæß dæ$"j` $[-.^¼ˆ)S¦àwÞQ»GÕ•Móº4e+{oÍv«[·naåÊ•X¹r%"""žž®[äfVfyËt:øÀ ò •M´Ê QO*Ë^›4i“)JNNNŸ>­V&Nœ8¤¤$K¶–Xà_òKi{˜ù5‡´õr(*0à-SÆùåu^õêÕµÆD:u†°°0„††ÚÅê73ãÖ­[¸~ý:®]»†k×®!==III8~ü8Ξ=kÖ}S‡ ^fæ2Šl/üÀšsæÌY÷í·ßD6ö6ô @þ B@Ìòt1bÄÒ+VameöŘ)‚³,O-‰j…CsLøøø¨·– Ý÷eŸ‰H+˜žfÒÍÏËËÓR$®_¿Ž7n˜º2e* ྰ‰í8¨¦5¨lÒØ?jûä>€ f¶i€,±EJàPäææêý±ddd`ãÆJˆ#(ŸŒgàX1€ÓŽÈÀßÞ@<< R$p[,O]‚ä^w3›ô˜™ó &¢á¾T‰ò•q’tAõš§Ê¯ @SH{ï E/¼ `ª d” fÞ `7Õ0R°µÇ Z3…ÒÒRu0;s "½ ¥æÄ²¤¤ÄàÒÆÎn@²uúÀ/Ìlu”>{†™/˜ND³´ƒ4:©Þ[´LÅÌÈÎÎFvv¶3ì¸i<ìƒä%Îh¸wg™™ˆ~ƒÆv\AvØZ¹„‚!p0˜Y1÷HóPÝü'8 )ØS1$¥ãß’L¹áQ5HÊF™ÂQWã}$¬[Oð$W´=>dæD´’{Þ— ØZC$åA3]pž™+ÜpMD®BÚN2 ï»~‡™3­”M˜ù*€ù櫞X6†4¹,K²?½Ô\‰°&r¼Œ0€³ø{¹—™Ï++’2¨¶øíR%‘;€G )CÚbW¹aº•§’MÙxØÇÌzçª[ ŒŠ°ùö(@~£P¸Œ³ %öì³)..ÎRZé0óq"ú@³™9ÙÌïßpB•´ "1ÐV:Ê^£!­†èr’³ÀO–*:2^0›ˆ>0 À“ì3êB_bH+6ZÊCÙ{kŸB«¶Bœð®ªÝgh à[kêµXÚÓ{J•¾"Š…4±li<ÔQ%o#ÕØ;¹ÆéeHã~€ý¦(˜UÕoø€*}ªR²[¨RÀK!QÍ…!“»‚¿ÇÃeHŠÅ!fVÜÐÎNø$×Ûbòiœx%N*« †@PÙ´nÝz\BB‚S0*‰-l0Ê "bßhT“Œ@HÛ…ªAšl^ff›)¨*;zž6ÞW¥;¶6²V¢ýí" ¥Ju ¼Z»Úd %2ñ÷d1 Ú“ÇËÌ\a¨ne¨VÀB¡­tDj¼úCºWh&9­À äx zÍ…dC ©D”½O+ö¦ADƒ ÌïÙ(`æ•8±P0Gdd¤÷’%KBJKK¹¨¨¨´¤¤„ JóóóùÁƒ¥÷îÝ+-((àüü|1¸@DùsæÌ±woBA¥ADÞ0<¡4%•âïIâƒrÞkæ=eªÀ>P=¬ð†´òal<¸@êkÝ~×Ê«ŠŠ¾ ê" @ @ UÖO°@ @ ¡`@ Ù †@ @ ¡`@ Ù †@ @ ¡`@ Ù †@ @ ¡`@ Ù †@ @ ¡`@ Ù †@ @ ¡`@ Ù †@ @ ¡`@ Ù †@ @ ¡`@ Ù †@ @ 7¥ÀÞ!¢-4p@"€ãÌ|WQÁÀ!fVZ@ ì"`>€3€ß¼ÄÌé6L 8Dä à1~þ`æ…Eì±EJ`Lš4é‹Ù³gPZ@ " !¢5–ðr '€$"÷¯ªÇA;lp‰ˆÄ®@…XÁØO>ùä©?þø£q«V­rãââ~hÖ¬ÙìqãÆÝWZ.AÕ…ˆ¢!m‰i Ò–˜3Ì\¬ Xˆ¨€f¾!c>ލgæW§1ó?e”Ã@4€kÌ,î‡v5pB'ûIfþC y{ChÛ»    ü¦Ô®]ûÕ={öìjÒ¤ÉäY³fVZ>AÕ€ˆÀ«æ4P¤€ˆ~ð3çÙR6y˜àqH ` U~$%0ÀBf.µâ4Ã|å>%¢̬;ñ4•­ÇëZhÀ@)ƒ¤ô,cæß,­_ ±ò²¹b³Œ^xá—ÌÌÌ6ÖÖS¿~ý%ß|nïC; IDATóÍ'¦”9sf—ÄÄÄ[{NWW×â­[·64µüСC·ß¾};ÊÚó6lØðÛ¯¾új¾µõ8íÛ·O %%%éñññOöìÙs¯µu Õ6›£‚MüJ €Dô43o­<ÉeÑDÿ„iÿ['¢¡Ìü_3Oõ*¬³OlÉ.cƒ©_P oð´‰_ ;ugæóEÖ¢úß €ŽÐ¿7•ÑA›üÂÌ©¶•PY„‘·À.(...w_{ff¦ë’%K^iÞ¼yδiÓž·æ\ï½÷ž×Ï?ÿ|¹L¹€„„ŸéÓ§ÿ¹|ùò~ÖÔ-pXÁtå¢ ‹‰ÈÐV*ŒQ+HžœÌy(V ÀR"ªiæéZšY^Ž:^‡éÊEuüG¥œAD~Dô!€óæè Ã÷&q¶\&Ñ?‰ÈÜÿ‡E(»ÀÛÛ;Û”r'Nœð[°`ÁÒ'žxâÔ˜1c‚,9סC‡ŽìÙ³GoÒqæÌ—7ß|sÝÇ<È’zŽ =é ”%„øJFq:¨l.–p·àëÁ–˜q._u-8.&+DÔÀûž§$åD ØÕïõ8€·!ÙG™Š€)NQ»ÊÍÞFÞ»ÀÇÇÇd0ÌŒmÛ¶5®[·îÕ)S¦ô[°`É^;ž}öÙµñññMŒOOOw™7oÞªììì¶_|ñÅaSë84S­üþH"z™¯Ë"@—I›ˆ62sy[ŠŽÁ† †Š÷ ¹.6w«Ô f>kjafÎ!¢TX¿ ìhÇ'BòÕo.~ÜüVõ• SÜÎG_œ£Ucf§z€ép †Ày©Y³æ1È´—ýôéÓ_ýõAf^uâÄ YÆùƒpñâEw¡ªô0€Ñ>>>øùçŸo¸ÿþ—û÷ﯲ“MGƒ™K‰è[HÁ’,e'3'É%“²–*»ø ÒoÉ›`Ý…b˜éá‹™ ˆ¨€oŒ0á+7ŒgæµÈ·ÒSRK¹Œr("Šð©õw'¢ÑÌü£uT„‚áDQS‘68•$wÈ[lp.›!ö– ì†ððpYÝ|ž9sÆ}Ê”)¦L¬âþýûHLL ܾ}{ïü/<<ü~—.]¶ÆÅÅu©ìs dáß°ÜsP€Ù2ÊâP¨Œ†¹å4•æ*oJaæõVYQÿÇ–(€Ì|‡™GxÒJ—!ŠlÐÔBåÞ‚¤$XÊ‹*ïWÆè)ª¹5ô·òûU¡`8æÄ³q¤sÙ¡`ì†?üpyxx¸¬7èââb9«3‰ÌÌLï]»võü믿vDGGç3æ‡ü±ºÍ˜3çx€IÑäuËÌÉ,’#Qò¸n¬ÈSÏ+ì5Ì%’Ç$‹aæuÌ\’"µ ’½M"€ÔaæÖYT¿—-üú"•@yÈáBY¸a6 ¡`8†‚&:ùl‚P0öDiëÖ­åðA¯F²m”‡nݺ¡C‡ps3}ÇUZZZµüqôìÙ³o :tÓðáÃeq< f> S•…,˜yyåIåÈå³ÜzTÞwúÂ<7Ÿd†ÁuE PÉ IÞ10Ñ=lE0óïì$î›ñµå^3¡Ü# ¥Mm#ªÚù3î…=Ë&C`WÄÆÆþbm3f ~ÿýwÌœi‰#ÃôîÝ{÷îÅ­[·°qãFLœ8õëWä‘SâÚµk.«V­ê³eË–kÏ?ÿüªÔÔT9‚» dDeœÛÀŽ ŠÞð(3o¨|©ì_[ÕÃ̇!ÙjÌCù¹|oèÀÌVÅ×ÑÁ¡¹\ ˜y!€æ\É–G€¾Ì<’™óL¨Úf}$ †“‘é¤ç² ÂÈ[`WDGG/ðóó›“››köÒChh(æÏŸ!C†ÀÝ]r¯¿}»|öÖ÷ïKýýýÑ·o_ôí+9—HKKömÛðÇ >>¹¹¹FëÈÍÍ¥eË– >wî\ß3f¼5xð`kŒ‹ò3 @× ÊøøžˆúV°÷½*pÜ–õ0ó¯Ñ¿´‡4éoibwRüŠ;ö2³l“="rÐÔÀ!¹å˜ùýÒv07Hî1#\…dÈ} ’S»fT› ‰•¢ÝpÁÊ:ª¬´Y‘˹½Ë&C`W\ºt)ÈÏϯ477×,¿ÓC† Á·ß~‹­üÂB9btI”)ºDEEáÅ_Ä‹/¾ˆÛ·ocÁ‚X°`îÜ1CëàÁƒžÏ?ÿüû÷ï5eÊ”ÑÑÑ–ì/ÈM0ßÄâ=¬#¢Ì\P‰bÙ;I&õÖú‰7Ë,3'Ce˜ODBŠUà¯Q$À +eÒ¤!$O/ºÈ¶‚DTú6#2ó+ªMðœß€Df“gm.X ieÇ ’'±3ŠJ$›ó”FùöZçœ ÎaSÄ)Ý0}úôÛ·o?‘‘‘aòdÅßßkÖ¬ÁÊ•+õ” ((oîgвˆ÷ßiiiøðÃl´l~~>þùÏ60`À•ýë_“eT`6f*eô°Ú„hÔN‹jEÁÚUŒX71óƒ¶r}ˆÈøÏ|Œ­Tđa”¼ÚVÖ¹ÏÊïËU‡S@DÑkì_ÚA²Íy @7Ó‰è" Zõ80Ì|Ànœ*•™Øà<6E±€§§'zöì©Ôé펛7obß¾ª{_´h‘Ͼ}ûNŸ>qqqFËȹ‚aN]þþþxûí·1uêT|ûí·˜7o²²² –=vì˜ÛäÉ“>|x̰aúuïÞý–\2 *ÆB墌>VÑf¶½Ë2û`*€?aùS¾iVbz á)~ÅWVÔ«‰1ƒTǬž„¨\þ>oàU«CÌ|˜ˆþc¤nS¸ ÊG§&¢Á¸ËÞUzZõùT­¶ —:Uò9¬¶=µK˜Ù&©K—.i–š‡……±àovîÜÉší€_xá…l£þQ8¹0à‚îõW”ââ⌶ç_ýů¼ò ˜Ugy©wïÞœ““cvß23ß»wçÍ›Ç5kÖ,÷õë×0zôèÎvÐ'U"AšË1>VpUúzlǯ-l·ÿÊpî^FêN”ñú¶—s “e:Gw#õ§ÉPwuHv–ôÑ“J/¥¤ívY´Ý}•–_$«ú>’¶ls t@ŒÒ×YIl‘(΄ V¯_¿þ!s¿—””„håmÚ´ -Z´@»ví°páBäääÈ&ço¿ý†ZµjaôèÑØ¿¿YßõññÁôéÓ‘œœŒÁƒ-wîÜ9¯Í›7oýõ×È‚•+º °Œˆ¬µEpTÞpÈÌï¤ÀòøškóD$—vyõÈuŽQFò­SÌ|À ŒµÍá–\èVIˆÈEµú³€þÜŠñð ýFDžòJ'°ÌœyîSÆx“åõvg7(¦`ɺ?ÞÑ)Ïó33qâÄ?þø£EŒyyyèÞ½;’’’ð¯ý mÛ¶E¿~ýpü¸\Žmô¹ÿ>~úé'tèÐM›6Å‚ mz|6¬Zµ .„§§áÿ››7oº,Y²då'Ÿ|òª\r ´‘Y¹(c€U[]ªÌ|’W§Y¢›—G)€/<ÌÌWe8}yðÑÖVND‘‚Ê)bµ¡·ÊŽc ‘ò(­Ìü?ÍÄ›P<@f®²QêULƒywww4lØ}úôÁôéÓ1cÆ tíÚÆêéàãÊTPy0óf?VBÕÛ|S õÚ¶Z*ÑÝ"€[µjÅçÏŸçªÎúõëÙßß_oéÌÙ·H=õÔS>111÷u¯ÛÑ’——¿úê«|õêU³ú=11‘ëÕ«g´Þ€€þúë¯?RºŸœ-˜]ÉcâgžJ_§‚íÛÒ–©?!EGg¹@ú“þÀfËt¾åôE+ëïSAp·ò/–Sÿ ™ÚÉ’G©oT¿åN(Tç2€-Þà«ô8R:hànŒ9’333Ù›7oæððpCýX “Ò×%’ÅãÁˆ–Ëø?±ÝÙg6;‘!£lµfÍ®Šóo¼at:»‚ѧOŸòö5;\òòòâ)S¦”ûç£ËÝ»wyذaFëôóóãüãs”î+gHâW¬´Ñx8 Rék¶‡ik Az]£îÉÑFöÇ—×­¬ÿ]ú»…•çØWNÝ7eê‡×5ê,0A•ï ºÒãÄž$8‡4ûÁÃÃwíÚŦÍÏ>û¬¡¾¼ÀOéëÉâqá½V†ÿ‡¨¡lv¢—_~ù ooo£ >yòd.((àªÂµk׸sçÎFÛ#""¢èµ×^ëÃv0H*#5*ÚÓÓÓf“[&ooož>}:_¿~Ýäñðý÷ß³±ß‡O:u¦Ò}æÈ @ $wª¶ 7tQúÚí)AßÐxµ u­ 6[Yÿ:úz”õ׫ îÛ2´Q8$û Íz§+=ì5AÚ¥Õ³fÍbs(..æöíÛêÏ*}}"™5\!yûÀNHnµ­ýo¸é¡ÂWªû—S*¤j@›ðÚk¯ Z»víŠÔÔTƒ~ã~øa´h!k`T»eÛ¶mÈÈÈ0x,...«k×®q}ô‘ÓFNíß¿ÿÚ7Ûsìøúúâ‹/¾À¸qãL*Ÿ””„ž={^^^èß¿ÿô_~ùEn»§‡ˆºAZ¹3.‚©”xƒ™¿TàÜvíð˜Nv7fÞaEÃ!m÷1F1¤•‹‚YÑEH jy|ÅÌS,¬ÿ¶,#—™­ŠµAD?CrÛ«ÉfÞ`M½JBD>b øÈbó¢›WT÷ô.û³gÏ¢ZµjfÕsáÂ<üðøwïžföif¶6²º"ª )VJ>€J·‡Ò ’ †nÛœàfEÏ™Ðþ¯[Xw€‰ýû§…õ»@Š3Q^Ý÷¬lóÇŒÔÛLéñ`¢üML°’È#¿é,AR6߃»À"û謴½ôÒKlˆ›7oòŽ;xëÖ­œ––f°ÌìÙ³uå,àmLîªkú’W«DH¶MÆÆM1€$HOÉRº/%A²‰º­ÀÿD¤-™VÙtÙKRìÄ#FŒØâææ¦ôŸ¾Ý¤àààÒI“&ÍRz@Ø"=ùä“ãÍi///ž4i_¹r…5ÉÏÏçF)Þw¦¤ÀÀ@^¾|9›BBB‚ÑøáááE3gÎ|Hé>´÷É=ä2¥û]'«tÛ(Ü/oi›iVÔ9Ê„¶?eaÝLìÛ;€´#ÀÌú{˜Pw¾mã ã[«)=Ê‘»•ê÷{ÍÊßÜ=[LÐÜÄs‡êÖóÙgŸ±.«W¯f___u"â‰'ê•Û°aƒ!¹Úš(K]!íÙ/O™0%•BRJÆ¢ Çì© ½Ãì°²åHIš*ÝV·§’'Ÿ:uꤰ°°;èLESóæÍsß~ûm“n8ÎúõëwÀÔ¶iÚ´)'''³1ž~úiÅûÏœ4|øp.**2z=eìß¿Ÿ½¼¼ ÖñØce*݇öœD8¢t_IÙz)ÝF öÍ0#í’ ¦…uŽ5±íµ î)fô­ÙŠ?¤§íÕ[dE{¿j¤ÎëJ#ò6°Òd¸2~Éf.G=¥oýúõ¬ÉÝ»w¹zõêϱuëV­²©©©†Ê/çü& rïaÉöþ›­;k‚¤Ì]¬Ä677eˆSº]¬InPùóçðç–-[v=z4ÀX9///„……ÙR4ÙHKK+÷xß¾}“:vì÷úë¯ß+· QTTTË”r#GŽÄ¢E‹àããcðøíÛ·qþüyYe«lV¬XX¶l\\Œ‡Kˆ‹‹ÃW_}…—_Öï³gÏžš£G^÷ã?:µ ‹%Q#ÿƒô$Ê °…ˆÆ2óOJ £Æöû˜ )œ¹˜wd4ÌhŽQ` H“ ¢H[W*¢¸*D àC#‡íjŸ7…øÒ¤·2ãÈÔWçD´Àb»Y5ÃT¡goªõùܹs¸sçŽÁ8p={öT®U«ˆÚ§@”î÷ˆèqH[sAZ­LêøÀ›D4ž™Vòùì"zÀïìi¢`õg)†ã¡´†ÃÌX°`çÀ‘AMÎÕÕ•?ýôSv$îÞ½Ë4ªúúúòøñã¿a;h[§Ç<ÛX»”¥9sæ”Û¾ûöíㆠ*ý„Áâ4~üx“ÆÑÈ‘# ~ßÓÓ“gÏžý¼Ò}iO RÀ³,¥ûÖÄTŠržb:k‚dh_^›˜ýÄ€I[.]\\rx™S73£O?4Sî—M­Û¶^l¬>__ß5J 9›B²­(· ˆˆkÔ¨ÁÍ›7ç'Ÿ|’_xáž9s&Oš4‰Èm۶刈¶`ëõH[÷"UòôÓ-óý÷ß³&û÷ï7Zß;ï¼£U611Q¯Œ››Û Õ¹j˜ àœ%÷‘   nÖ¬÷ìÙ“‡ ÆÝ»wç¦M›rpp0›OH÷ôSz(8þB¤[Òþ6Jw4Pº,j[¥ÐL¯¾úê\£K£ àœœ¶wΜ9Sîä·nݺ³fÍêËvÐæJ¤-Z”kà=räÈrÛwçÎJÿàeIo¼ñF…c)//ϨILLLÑÂ… E¬f@Š"}§2ú©aÆìááQYãÀbÛGMnnnyå´ÇQf9¹€´GÝÔöfF½DThjÝD´ÅL¹÷›!·Y{æ´A9ÛŒ<==?Vz¨äìZÞï–ˆ¸}ûö<þ|=sæŒÞ·rãÆ³hñª+ €áP»gäµmºuëFW®\!"¢’’š1c†­úÁkBס=ÅËË뢑ú˜ffû¿lF]ï1£Üîæ´£»»ûM3ÊŽ3³˜ì ê †'Œ”÷”Ðýjï_œœ»»;-Z´Èd£Â*•ŠNœ8A¯½öuíÚÕ”ºÖÑ©K—.:å2DgßÖ­[S}}½F¾§žzJ'Ÿ)£ 2™ŒFEk×®¥7nX]/^¤yóæ‘»»»¡ãš5 çìµ{h[Ý×ù–Ï…®/³ëWh¸dÅŠÁ#GŽÌÐWÑ&L G%,,Lߟ=ýôÓ?‘Ô¯’’’¦oñ²§§']½zÕ¤zîÙ³§Ð;/B·nÝ2z¾ú"¾»¹¹ÑòåË[ìT)¨çÌjãEÞ{ï=6гX“/)t]ÚK¤R©ÁH¸Œ±b˜áRAÑ ˆ&F‡iÞ©´%ØÄ²“Í,×d·¦0mÑû½Bö£ g„¥GtîÜ9²W®\¡^xÌ ôzúôir6oÞ¬“ç•W^ÑÈSYY©áiÊéÚµ+ý÷¿ÿ¥òòr›œÿùóçéž{î1¤Ãtr€û„­ê5|ͳ—($]ofձР’©S§näzu6£M›6õóæÍkqÃ\òî»ïÎ×wÍž=Û¤:V©T*ôÅΛ<ùä“FϹªªŠbbb8÷OLL¬ "‹ã8³Xg«vùã?tÚ¡]»v¶êÑB\GxÇ„úXcFysͬk“FŒ¬² ‡›P®„1fîœou€:‚¼±ò"lÿH¨‹ièÄ£7ÞxÃ$/{|pãÆ zå•WL6´]ÐÖÕÕQÛ¶m›¶K¥RJOO×ȳqãF“Û¸_¿~´}ûvR©T6?÷ºº:JNNÖ7šQ <®9›Xj£{¹-e“ÐõfV ­€1Y°`Á“ÚóŸÉÀˆ­INNîLP—Ž /¼ðç¼c¹\N7oÞ4©Ž?n÷ [&“Ñ€lfØhÏÛåbÿþýz÷Ÿ?þ¡ÛÖÞ lçÎ’þüóO6èСƒ-ûÙ‹BשÚmª u¡ÐÃÄòô¾´à‰D’ab¹‡-hC£ýÜoA¹þ&êü‰±²ÜÜÜê {RžP¯³ÑÑkùòå$ÅÅÅ´hÑ"£ë¬‚‚‚¨ººZcßäää¦í“&MÒ){ĈFÛvÈ!tèÐ!{®6lÐ7]+\ù:»A˜@zÖŠ@¤Ðõgª°†ÊvhüýýUeee¬ñ÷ðáÃñÖ[ú¼ï ˃>ˆÛ·o7ý8pàÍ£Gšä–µ%0pàÀÊcÇŽéø3gÞÿ}´òòrøúúj¤UUUaàÀ8{ö¬mmÆüùó±dÉxyyA¥Rá“O>ÁìÙ³y=Fdd$.^¼¨öf IDAT×%o#Ï=÷Ö­[§“AŸþyÂèÑ£ÓyUÌaŒƒzq·MøóÏ?Ñ·o_´ÈÈH£®§­ @G"*µÕÆØPûMÈú€däOŠ1¶ê)Gæp5”A*•–©T*_Cy8ØDDÊÀÛu<s"¢;FʽÀ¨ƒëé% àú;wÚšy|^`Œ­…Ú{–Ó¦MÃgŸ}ft¥R‰3gÎ`ÿþý8uênÞ¼‰›7o¢  R©íÚµCûöíÑ®];DEE!)) ]ºt1I·S§Na„ ÈÎÎÖ›ç»ï¾Ã£>Úô»¤¤íÚµCEERRRеkצmW®\A||<ôu_777$''cîܹ`Œqæiιsç°k×.äææ"//×®]C^^êêêкuk´nÝáááHLLÄðáÃѽ{w“Ê}çw°`Á®M¿уF pBcá^ÜíŒL'¢5B+aB[8¦ˆ!ÏRŽ.ƒ¢5È´iÓÔWOo¿ý65G¥RQïÞ½©[·n´råJúâ‹/(99™¢¢¢ìÞ†Û·o×Э¦¦†ÂÃÃy?Ž)oðòóóÉËË‹sÿI“&ºí%PûŠ·i» 0‚AÞºníÐv̨£ë‹ ?:¸!Yg¤Ì(KÚÏÝÝ=ÝH¹þŒ1ƒ^ôôˆÑµŽ˜RVppðïµ{OpŒ8>øàƒ: £µ9sæ M˜0Aop;CÒ½{wZ¹r%]»vÍà1ˆÔÞ¡ ¹—=z´Î>?þ8uîÜY'}Μ9zËiÛ¶-;v̨>¹¹¹´|ùrêÒ¥‹ÙçLO?ý4¥¦¦=ÎôéÓõ•ã’AA¬´äúvùQèú3¹ž…VÀ סC‡êõõ=nÜ8¹§kÖ¬¼íeëÖ­¤MïÞ½y?N«V­¨¬¬LçXÚèûãòðð É“'÷ºí!¶ÚºÝ202…®[;´D"‘˜êžó&?#å-1·ž%I%oe>bIû1Æ”0° À4 ûE˜‘:˜ljY¾¾¾‚x£ð«¶.r¹œ u®³FΞ=KcÆŒáåÚ’H$ôÄOPAAÞã5²xñbÎ2¤R)eggkäݶm-\¸P#­´´T¯1”˜˜hÔ±Ç7h„ æÄ²Ð+R©”üqJKKÓ{¼úúz}®õÏÀ£}7œ/ýJ¹#tý™\ÏB+`Šˆ†óË«¯¾Úˈ{<;v,íÚµ‹6lØ@ú|Ø¦Ç 0)ÈÒܹs9÷÷ööV&$$˜¨ÌÙÆ£›$QºùÄÐQ3¤€»ÐõlK0Û‚z¯§,kl¾ÉQ^+kÚO*•žä(SÂ3g“¶Äè9÷Ýæ”Ó0§ßä }<µõ$.]Ξ=Ëy -X°€kÈ,Y°`§.DD‡ÒY @%%%:y•J%EGG딿xñb½åÏž=Ûîç»dÉN] …¾µ#sìÙgl)PO)´{ó,=…®GSDâíí½§¨¨È]h=,¥oß¾J5½>µ…nB$…œ8q‚bšP©T8~ü8EI´ç£ &ÓÜc0Ƹü8[ü?&‘HžaºQ7KË"êÊÓv;‚ˆÚXQ¬Î92Æ:¦†Éxyy•‘ =,a´vc :uÒÉXSSƒ/¾øÂ.J5gùò娏q#ç¶AƒáÅ_ÔH+))ÁǬ“wÇŽÈÊÊÒH»ë®»°hÑ"β׮]‹U«VY¨µå¬]»uuu:éžžžˆçÚå!›+e'ˆ¨ê`”ÎÌ¡0 ¡-SDÁpNyøá‡_ºþ­• 66ƒ¶ùqûôé£s\.† ¹ppp-™Ð}€o:P/uÜ¥KÚ°aRyy9UVVRuu5ÕÕÕé2QZZJwîÜÑ‘S§NÑ‹/¾Èg0Ú™@g ëå-޲,‰¸Ý\†i•÷ í×I«ÌÍV–— Už€sË ²û|zYÚz´mÛ–óúÚ»w/Ÿ×Y"“Éè?þàÔ«¼¼œ"""4ò‡„„èŒn5J#D"¡“'Or–¹oß>»M‹â’#GŽpê5iÒ$®ü5öî7¶¨cìV÷VÊ ¡ëÏäzZSD40œOFj’+JG•Ž;êüäååÙíOáüùódŒM›6éÝÿø@è~À·ˆ³Wû èEŠLº®mÜŽ^° ;c¬Zë&`þzmÙ¨UÞÚoR³ò,Œ}Ñ\ºhéh‘—+ÿïhëm=î½÷^k‹ˆè믿¶×õÅ)¡¡¡”““éÛòåËuòïÛ·¯i{QQ‘ÎÄ 8ËJMMµ(¦Ÿ²eËNÝ^{í5}ûÈíÝwl%àçJ ]¦Š8EJÄ&TTTì+,,tZkxíµ×t¦G­^½õõõv9¾)SÆŽ‹   ÎmiiiSùÖÉh%´v"Dhl )¼¼¼n[°ŸÔ#Í1¹Ú‰d4eÊxzzj¤mݺµéû÷߯ñßÀÃâÅ‹uÊ©ªªÂC=„’’57Ÿ›7or¦ëkþ6SÆþdÏâ°¤ ­€©ˆ†ï<þøãs9r—ÐzXCŸ>}ðÄOh¤) |þùçvÓaãÆ¨®®6˜G&“áÉ'ŸäÜ–““ã3wîܱ¶ÐM@î­€(Z[ãææ–cá®IŒ±æóú­20T*• ÀD`Œyç$ts`Œ570ž¶¶ç„Öò÷ã ˆ†¯¤¥¥(((°úZHV¯^:h¤åååqwÛšo¾ùÆhž»îº ݺq;¾9qâÓ=‰;PÏÝwu„•kcêêê,ö„BD±P/Æxø#¢Äc »µe@}}}c,üŒ^j7·t]™‡SCR´²³³93vîÜÙæÊ˜BYY,X “Þ£G 0@#í‡~ÀŽ;4Ì»uë†îÝu»Ò«¯¾ …ÂÞN¼¸á]€ÌLN´ˆnØT!ûã–žy¼CDJ¡•0ÑÀá%K–,Ù½{wG¡õ°–~ýúé¤Í˜1v×åàÁƒ&7))‰3=77×möìÙOpntBˆHÀì¹û–ÀµÖFß›Wàò#°òm:clc¬-xÁhàiðd`4Ћ1öOžÊ’˜Àâû«»»{ a¸ž×NÐvåÚHŸ>}l®Œ©¬_¿§OŸÖI×Åøé§Ÿ°}ûv´É“'ëìwôèQ|ûí·ü*iúêZÏô­³6UF¾Àmé:&×|-´æ "¼pòäɨM›6Ùÿ¿ 8{Vó^úÅ_`ÇŽ‚èRSSƒ½{÷ͧÏÀ€ÌÌÌ—øÔÉȳÇA´ã\¾|7nØå%^-ZÀ¬40ˆHà=ðd`H$’§c½ù(«yDÎSYpS0¡ú”ÉÆ=÷Ü£35U(ˆÿú׿tÒÇŽ‹6mþÒäÚµkسgOÓoƘÎZ ˜3gŽmµ™L¦wÔ[ÏÆ›*$ #ï ­‡¬ ¢Z¡•0 ¡ÝX™"¢›Z‡6cÆ _çÎ*R©”æÏŸO›7o¦ääd(®ö–gžy†Œ¡R©¨uëÖœû‡‡‡×`ÐOxX¹Ùd‰‰‰¡ß~ûjkk)%%…}ôQ{µ¹Ó¸!´²­Š˜ÝL²…¼>í$Vß_CCCÔÎ=¹ô©¨¨ .† &t]7 cŒnß¾­£ãâÅ‹õîÃå‚÷êÕ«‚ŸKsIJJâ¬{"¢=zpíó¨}Ç}S `§Ðía‚ì º¾Ì®_¡0EDñeÇŽïzxx^×®*¡¡¡¤T*ÉS¦LÑ[Æ„ & ÝOøÃíYÿôí%B×±½ÄÍÍ­\èë«¥H@@ÀZ®W˜H)))ÄEVVùúú ^_²k×.·nݪ7ÿÒ¥KuòoذAðóh???ºzõ*gÝùùùqí+Dß±SÿôpRèv1 'x ]O–ˆ8EJÄ*jjjbÞ}÷ݹµµÎ5rçLâĉFóš&U^^>Oæ(ìèMJ€¾-Ì|Ì«NÖðÁ ]»vœÛ~ù唕•i'—Aïcvˆ*<Ç<ÇL5èètˆ†ˆU$''oøý÷ßÅ~dcLY2|øp@Päççó¹xUPX´ƒ­¹ ‡‰Èåæ;룾¾^çÁSÄfù¥ó”¾fͽ±žzê)Œ7ÎæJ™Âü¡“É™W"‘ 1Q×+ñ¡C‡xÖÊ2Fމçž{Nïö·Þz‹+ù5¼êwUˆ¨ÀHÂFzÔ$ÀÈÝœñÁPÄb¾üòËŸ|ò‰®Ë%'fðàÁX´h‘à ǘb`Èår 6Œs[jjªß| Q׉ù€c8Íç—•B+`gñ­¡«"ähÑgÚ …ï¼£?dÒW_}ÅéÑÏÞœ}t‚6gïÞ½8~ü8צÕ6SÊ ¢ ]¬Z¨½EÝÕ “Ó""óÝwß}sçŽkVÇš5k²<8)''g£Ðúhó÷ßãömãÞY Ä™®P(pãÆÇøÖK(ˆ¨jB®ÄQ¿­„ ;ÀtÉIDccíÚµz=³ùøøà×_E¯^½l­žA***8=+qM“ ÕI;sFøÉ`ïÞ½ Ô›çÍ7ßäJÎB º'Ñ"zÀÇ鱂ÑÓDdwì¶D40D,bÞ¼yqì ´Ö"•J1iÒ¤¬]»v~á…blqsskctG8wÎxàÑ{î¹Gï¶[·nYØY޹ÝNÊ ¨=µ¸ôTDÃøúú–6L-iÕÕÕxýõ×õîàïï={öp­³'\F×4©´[·nÙB%“:t(vïÞÍ9âÒȾ}ûðûï¿smúˆÔ±‡ZDtÀ0WíxØ÷Ñ£9ÑÀ±ˆÜÜÜ%v :Æ;2™ C‡MŸ6mÚC›6mŠéѣǯÛ$ _¾ëyE;>={êÜ}ýúua_ò ©}‚O Ϲ¨0ŽˆZBp=mDÃx{{;Bæïè<Å~ùå—øè£ô{÷⮻nÉÏךÏ5‚¬“V\\lLaäȑصk¼½½õæIIIÁĉ¹6ý `­tsTc‘Œ±Cýòª½àoÆØŒ±8;×fˆ†ˆEœ?þAS󆄄`æÌ™Ø¼y3zè![ªe”°°0Õc=vpæÌ™öïßÿé§ŸîÒΓŸŸ!„nÆ0ÅÀ@tt4ç¶ôôt‡™±": uf›½ù—ËåHlz«œIDœ“Ÿ[×cÎû¦ÂIJ¥‚r £sÓÁñBà_ÿú¾ûî;½ûcß¾}ˆ·¡†úá20¸<1µjÕJ'M(côèÑØ¶m›^ÇpéÒ% >œKGð"µ˜k“1v7cìfbÍ¢€ç\fŒmå9ð§ÝqZçcÒ¤I‘éééþ¦äm×®<ˆ˜˜Àĉ1}út¬Ycß#Ý»wW 0à›=zÌyî¹çÊõåcŒIƒì©›©˜b`êiR\‘r¯^½ê¶|ùòî ,0>×ʉ ¢oc>>†úmqqq:t(‚‚‚ЪU+5Ióßîîî "”””àöíÛ:R\\ŒÛ·o#++Ë’ˆïïÑçæîä*‘Š1–@˜'ÇByy¹N4m! ¢ Œ±÷Ì×JÇ“O> xì1î¥baaaØ¿?ˆœœ[«ª—!“ÉtÒÜÝÝuÒ„00ú÷ïï¿ÿúo‡'NœÀ˜1cPTÄéñ{ qΙr5c^’¼ Çyé.0À8ÆØ¼BDzŸ[ÑÀ1›€€€á¦äkß¾=<¨óFýñÇ·›S;vìØe+V¬x &¼åîÕ«×àÓ§O;ÊMFƒ´´4( xy~±rÏ=÷àûï¿çÜvíÚµI\ÊÀ"ZËûÀzú¢4#)) ï½gÚ:qÆØd,ksîÜ9s Œ¦Q‹Y@i€L8°!“Éàéé OOOÈd2Èd2Ô××£ºº555MŸÚž†‰ÒÒÒKBëÐŒ…P·÷ÃÍkkk1a¤¤¤à­·Þj\˜®ADDöïß{ï½WïâpkH$ðññŸŸüýýáçç???ÎõnnºO\#ñññ¸ÿþûQVV†²²2”––¢¬¬ °Å’«»îº ;wî„\.×›gýúõxñÅQSù,g€Y¼+æ€0Æ@ýŸÑQh] 0ÀŒ±çˆhŸÐʘƒh`ˆ˜Mee¥Ñ¸öíÛãðáÜ7毿þÚji —ËéÁÜÕ©S§ K—.­2u¿:Ì;}ú´-U³¥R‰””N?ëÍ1´#;;Û©‡\ Ñðv´/€W¼ua½DDð;·-6x™ˆ\ÛõØtúŽT*EHHÂÂÂкuk„……é|†——W“!ÑܘàzÐå‚Ë訮®Fyy9nÞ¼‰›7o"??_ç³  ÀÁ& aèÕdûèø¡]¶l.\¸€7ê¸|€èèhìÛ·÷ÝwŸÑÔ~~~ˆ‹‹C\\bbb¨c<4Š¿¿?|||Lno®Ñ .cΜ9˜3gŽNºJ¥Byy¹ŽáÑü{qq1222žžŽ+W® ªÊð_Y‡°{÷n½÷¢úúzÌ™3ÇP ÃsÆ‘³¯k3HèÅÛfÃqF- ÑÀ^ÆØZóœe4C40DÌF"‘p‡mÆÊ•+uŒ "²eËðŸÿüÇVªúõë—?výúõÌÜÕ-++k¨M”â‰sçÎ50 y’*,,tzÏ_†høcLfŒý õ›©>\ù¤R©Þ©–Ò¡C 4ÈPÔÞÓˆh¯v~L›ûgwwwÄÆÆ"!!AC¢¢¢ÐªU+[¯¡ ~£íãã³÷½}û6nܸ+W®àÒ¥K¸|ù2.]º„´´4£•ÆJ¥ÕJ¥ò²U…ð )cIŽcôjûöíèׯ¶mÛÆ9bØ©S'ìÙ³C† Ai©:NDD† ‚{ï½ ˆGXX˜ÍÎÁÔ }H$øûûÃßß¤ÙÆ "\¿~ééé¸|ù2Ž=ŠC‡¡ @í"$${öìA›6ÜKínß¾ñãÇãàÁƒúqÀhgyxµÆX8€_tZ ˜`cl$ ævÚdˆÈáÅÏÏOõô§“æ ]|ˬY³¾3tÎíÛ·§úúzÒfâĉ6­ë   ú1cÆLµô¼–-[¶DèþbL¦M›¦S¯\tèÐsÿØØØ¡û½€êÑ …v=Œ9RiREšÉ–-[ôµÝ­„®Gn~~~y¦^ÞÞÞ4jÔ(Z¾|9ýüóÏ”ššJuuuVµ›£¢R©(++‹víÚEï½÷=õÔSÔ¾}{³î‹ÈÚ™K öœsÒÀ=öîÝ«·~Ž?NŸ}ö¥§§óRßæ°iÓ&}ß|óM»ëqéÒ%Z½z5ýõ×_z󤥥QÇŽ õ“‹Ú“ô [ €8¨ãÁþ_n¥äè!t}§Á3f >ûL'0¨Cp÷Ýwë[4å2øøøœÚ1`ÀH¥R´£GbË–-6Ó)**J‘˜˜8póæÍG5úí·ßfó©“-¸víšIùÚµk‡ÜÜ\ô[·né÷Wèb‘À ÆX€Ÿ›o{î¹çlòJ{ìØ±Vݺu«yùë‰èY[Ï ¢zOOÏìäÚ.‘HгgOŒ1÷ß?ú÷ïopñª+ÁCTT¢¢¢0zôè¦ô´´4ìÙ³{öìÁ¡C‡PQQÁ¹@@@qII‰ÃF‡'¢ÆØ`›ŒÑÞ~ûömŒ9ï¿ÿ>fÍÒ]˜˜htD×Vp`hÿïÙƒN:¡S§Nz·8pãLJ ¸‡øÀfúôêÕ«¨sçÎݾþúk]W&²dÉ’§Ž=À§^¶À”hÞÄí«¤¤Ä1æIDÕ|êåàŒhþ#00P9jÔ(iVV²³³›$77eee¨ªªBee%ªªªšÄÃÃÞÞÞËåËåMßÃÃÃ…ÈÈȦÁ©S§J–/_ÞüÃcj«L¥ººzWëÖ­Oh<-véÒ‡ætÿÙ’‰G||ú¨)h c ¾¾¾Më,t¾J ¶x¤N¥RaîܹøðCƒkïX@ s‡\•†‘‹Ÿèâ¼xØÀ»MD»…VF¡çhé“—^zé9___µ2™ŒvíÚEŽÊ¢E‹8çÌÅÅÅUÍ;·#9@Ýò!mÚ´©á:OÄ£yóæÑöíÛiݺu”˜˜hp>a÷îÝéðáÃôŸÿü‡¼¼¼Lž‡øØcýÉǹ,\¸ðS)´„„„˜ÔçÌ™£·ŒQ£F=)tå$½ç IDATÿ±—@´Hðv°Cèºp þvÝõîÝ›T*‰pSRRBÁÁÁu&•JU:“´©¹`Ônœ9¯¥ˆˆ:uê”Á:¹~ý:íÙ³‡>üðCš2e õë×üüü„¾˜%nnnOcÇŽ¥Å‹ÓæÍ›)%%…jjj ž{YY=øàƒ†Ê.ð¡ÛÙN})ÂP_r!¹ NèúÖÖÐÅË/¿þþþªwÞy'ÉZýccce‰‰‰…pC0[²³³ö=îRiРA'…î?ök…n+-¹ÀMèzqt /Ю¿>ø€ˆÔ÷‰£GÒ»ï¾K?ü0…†† Ý®6©TJÝ»w§éÓ§Ó7ß|C999Ôȸqãtò'$$,º yîÑŒ±ÃB·ƒ³ c,8}ÆÆ}f®Ðõ. ¼-tý7ŠÃL‘š5kÖŒ/¿üò“ÊÊJÓÂh:9 ŠqãÆu{ûí·vºÔ3Ϫw‰D‚ ¼÷öÛoϳä˜0ÆÜ¯œ8q"Òšr„âôéÓƒéÀ¾}û0bÄÎm={ö¼ú×_u°…nŽcÌê¹·F£žÉd2„……Á××>>>:ŸÞÞÞ¨©©AEEÊËËQQQ¡ñýÎ;&/¾ðýl<[Ëæ¾ûî›pôèQ ¿ÖèØ±#Î;göâ[W#""=zôÀΚž}£££ïdee“‹y,cŒõð‡Ðz8)ÏÑ:¡•°Œ±ö. ­‹@ÔèFD‚×t/R³gÏ~ùË/¿ü¨²²RhUìFjjª×?þx^*•v_ºt©®¿;' ,,l’¿¿^ii©Ù¾ø^ýuO _ýµÁ}FŒ‘Áƒq!íׯßÅ?ÿü3Òšr„Ä€?ó&õn«ªª2-t¬só8´Œ‹ÐÐЦÏñññMß###­v'Y\\Œ´´4¤¦¦j|fffj»ˆ|Z19Dt9räÈ·ýúõ[uüøñ¦›DII N:%¤ZÃõë×qýúuô¾}û¾ž™™éRÆECýv¶E¼€ä™á1°«Ðr pðoÄVDð!”Y³fÍv†9²¶’N:U½ùæ›N;]êÕW_M–J¥f3cŒrss©9.\ ƘÞ}är¹jîܹݭÑ€dàÀ)B·¹µò믿’1Ξ=«wÿØØØj¡û­ÀÙæçØ€ç´/^Öpøðá­^ä£,DGG#00>>>Sà¸Dß6í oõõõMS楲²Ò¤´ŠŠ ””” 33………|œcáíÛ·Æs:-DòQ§§'¢¢¢jVûk§Ëåš/ÊU*US[›ÓÓËÊÊ››‹¼¼<¾âôäw˜wƒ1&ð‰Ðz8ï3ÆvQ¹P f`¼òÊ+óÖ®]»BÛ=(c 3fÌpÙÈ­§NÂ/¿ü¢‘véÒ%§62Ö¬Y3322’’bòú"²øŒ“ ÉÔÌ2™ ]ºtAll,bbbš$66`ŒÿÙV‰¾¾¾ðõõµªœÚÚZäääèô‡Ë—/#;;Ûœ¢ZÒô¨—Ä ­„ÑÀÿxM0 „6™?~×p¢››mܸ‘\¥RIÏ?ÿ<çV·nÝ*Ȇ-‘þóŸž#GŽà^¤`ùòåøÇ?þ!´vcùòå¸|ù2¶mÛ&´*¼òé§Ÿ¾ß­[·OŸ>½ìøñãÓ.\¸à'•JÑ®];DGG#::YYY8pà€Ñ²<<<””ôÌ¥K—,òŠ2yòä=?þøãKöudn¨£R©péÒ%ßέÄîˆhL;v¬2,,LÚøûÚµk8þ|“\¸p………(++³Èõ©L&ƒ¿¿?‘€îÝ»£[·nèÖ­¢¢¢š¦aüë_ÿ’ÿðÃÍwÂëHDN7%ÒžTVVž á ;,,ÌfSžœV­Z雟¯7|³‹ €ÆtG™L†˜˜a4rÜÝÝ M÷j)S¤xY«å¢¼`£vÃÚ9¬Îˆ«žóóÏ?_÷üóÏ¿ àUÆX¸R©,ÊÎΖðPZZ:æÁœìØ1ƒå<ùä“gß}÷Ý-ÑaÊ”)¿nÞ¼™;„“c­¹¹¹®f`0ÆèÒ<­¨¨è̳Ï>Û!''§õùóç™ñ*L¢¦¦………(,,DZZšÆ ???Ü}÷݈‰‰) ùËÍÍ­W}}}P£ºPCsyUÈõÐY‡‘žî”^½y%55Uã·T*­S*•©cˆ¨ž1v@·æébÐí (pnp%c‘P{á¦?cìn"2kM8Œ!âšQ~³Ÿµþô÷÷ÿóÃ?<;yòäœ}°sçη§OŸþ%Ç|õÕW·®[·Îeo8|EEE~<¨âhLÓN8tèPßC‡   PVV†ßÿ¿ÿþ{+÷sdyš1öÕØ[7'Â! ŒÚÚZ @DÔ„‘Ë»”­¹|Y3†V@@@Þ­[·xq;äà\€J¥R£?ÔÖÖB.—7õ¹\n“EäúÐî dQµÝ”Žç¡^ƒ!¢ŸL·÷AECDz÷îým``à©ûî»oCJJJ¿’’æææF;v¬ ùæÈ‘#/õìÙ³ÞxIšL›6mѺuëÆññî¨ðqneee®h`T(z¡·£Su¬ŽYëâÈ\–H$J•JÕ4ÍÍÜJ"µk×™™‰ÜÜ\hìú܇jÿ66}ÎÍÍM¯ËÛÆ‡NmñóóCûöí…¶mÛB*•ÖÈËõ0)—Ë[ÊÃ$ç4´´4C¡PàÌ™38wî²²²4¤¢Â¶º‰UUUÐvÃo!!!MÆFLL âã㑘˜ˆØXMO¬*•Jß5qÑâƒ; Œ1_NÛÊt`Œµ%¢kö<¨ÃyyyÈËËZ  "ËïÄcá¾¾¾?+ ûK †B¡0ýõ˜AêØ»ìfŒ½µû€žPO­°çêà ¨ˆÎØ`O ™²À+D¤ñj¿¢¢ÙÙÙ(**ÂÉ“'›$==—kCêêê™™‰ÌÌLm111HLLl’sçtÃ]¸»»·”)"ù\‰©©©Ɖ'š$%%Îü²©¨¨EEE8~ü¸Fz«V­šúBß¾}¤Ï€¶ëä@ô`ÚПÈßÚó€c`ˆˆXCLLÌžÌÌLA‚©Ù>¢jjj¬‹å‘ ÀÑ 6D¡64eÔ‰šhÛ¶mµ···g^^žÎÈøøx@VV–Æ´wwwe]]ÝoÎ5“LrÖ'^¡¡½ÂµÓccc¡RYä\Îéh4<6mÚ¤7ÏíÛ·]Î[žr%N›6­Åô‡ââbüòË/:{9è às;¨$$ý…VÀ‰;-å­‡ˆ Ó½{÷E™™™w ­‡3Q[[ë-´B@DùDô½ àh¹¼ ?š——ç™ššŠ„„ýO:…ÔÔT¬X±B#½®®Nõ´§ED´•ˆ2Dゆq%¶”‡ISÉÏÏïÂk /X¸œ%ˆý›áB+`DÃtØû€â†ˆS3}útŸëׯ¿.´ö„§ —œ"e*Œ±nöhÕ,-ÿÌ™3Mõ’•¥»ö:'']»vŬY³ðË/¿`ïÞ½M»ø”1"Zc[í[œ†54.Àm\lëííÝäÈÔ´úúzTVV¢ªª •••:ßýæ{MH]]€~óZ°Ás0ØeËd2³ûCó߉Īþ P(l1½¯c,žˆÒø.Øè-´NÄÝŒ1™=½Š†ˆS#•J7ܺuË]h=ì Duuu-rc=ìÔ,™Ö®]{¬uëÖãè]°Ûh`0Æðõ×_£k×®(..n*¢‘Á7!!!HHH@||¼Æg›6màååeW¢\4º9ÍÉÉAjj*RSS‘––†ÔÔT¤§§[ºy8\ØÀÀ"ïw~~~ˆ‹‹C||¼†DFFÂÇÇÇd^¶‚ˆ P(ŸŸ´´4ÉÏç\zb ø¤Ñ`p¶2šQ¤)€`×íu@ÑÀqZrrr~ýõ×–þ½> ŒÚÚZ9ª˜ c,j¯w7|p‡ú^ä@u@F9Ô¢Ò • à2€T"ºeá±Ý̰¤¡ü&¼mêÔ©ãë‹qìØ1$%%ÂÃñ~ýz<òÈ#Í#+3«‚þÍ!¢ uõ Aë3joTª Ž-S ®á÷%¨–§ÈræiZŒ±8íômwwwGLL §!hGMÍG*•6b¼ûî»u¶_»v­Éàhþ™——§÷úgŒ°ØÆª çô¨F¤R)¢¢¢4 ˆF£"<\gCÁƒ\.GLL bbb0z´¦WÑòòrNÃãÊ•+ÆÕqx¼¼4Ÿñ***XLLŒIóã&NœØuÙ²e-%¸>;vìxTh%„À”‡*cîmm`4,8}À¨]ÄòI+¨÷é,ðcŒ•ÈÚ…?ÔS*ôÆü˜6mÚÉÏ>ûLãÁ¥¼¼;wîäÌíÚ5:tC‡mJ?~cìïÑM—/8©¾ð hß¾½½uqär9zôèqãÆéD$0ÀÏ‚(gCcþP»$ÕaüøñèÔ©“5r chß¾=žyæ}†?ÔëŽsmtrÄéQæc×:ãÕÀ¨­­ ÍÊÊrÍWv@¥RÁÔú#"O[ëãÈ,_¾|éÙ³g]óõ¥LyKW[[kl»Í®SÆØdËñèŽQ .ÜÝÝqèС>ÚÞ¢ª«« Fê8q"‚‚t_yyyIËËËõíæÕ BÍÕ0ÀtÆØ‡–6Ä qHcÆØPíѺøøøk\4§¹«Å¸ uðLÎ…#Fpl´("##‰œœ®Í# "jœ×À±Û¶m{Fh„‚ƒˆx_åÊÔ+g—˜ÏwÙ¶ ®®ii&­ÌÝø£1–“"ð€Œ±qDt[h…ôГˆ´ŇI5 ×Yü+•J ®Spb8¾cÇŽèСƒ½uqH†ŠuëÖqmà-;«cZ´'D ±k‰†ˆÓ±råÊ»Ož<騫8m†˜ '1.Ìä¨×1¸’ç­Á~„Ü~òçú ¾ Œºº:ãÖ­[MrûömTWW£¶¶VCjjjtÒ$ d2§xzz6}÷õõEhh(BBB‚V­Zñæ±hÈ!:k…”Je,c¬=]åå ŽgÃóÕT*îܹ£ÑŠ‹‹QUUe°4ŠJ¥‚‡‡<<< “Éš¾kÿ–Ëå Õoo~n+C† Ñg`ôcŒyQ%/r,röѱk‰†ˆÓQPPðª;DZ606xêµ®B €]öxD`]øÆ‘½ËènnnQVVfE-¡ªª 999úÖO€1†¶mÛ6õ‡¸¸8ôèѽ{÷†\þ?oÛèØ±#®\¹ÂUÌp¸žá,Î* »ec`,\¸ .Z 'àÔ©SŽíÔÜÆ8ð¬ð €{„R€G* Ž™ß˜ÏUNH5Ô.{•þ\N,FŒ7nàÈ‘#8|ø0Ž9‚K—. ¡ŸM©««k ¾×___$&&¢ÿþèß¿?úöí‹: 77W#ŸT*½Ÿ1Æœ9ŠœFïÞ½!•J±{÷î¦>qêÔ)‡5.-¥Ñm^^öïßß”îææ†îÝ»7õ‡þýûcèСú W\¼Tu¬$a£$:-sCDÄfÍš5¬°°°ÅžhŽ»»ñÀåBýÉ‘Š1ö"Ô^Kœ½æÑ "bŒMpêà€ÎÌ2"ÊZ pº§ýè£ðÆoØYÇ¡¼¼ûöíþ}û¨§[q¹¬V*•Aº8g_ ù‡1&žõ8/^D`` Q—Ü®J}}=NŸ>Ó§Oãã?xzêu.yc¬µ¹¨6JÃÍ-aBëâ$(¡6Ê솳?ˆ´0 ­ƒÐ¨5Æ›U[CD§|.˜ÖSài"ZÝ<‘ˆþ†z#C­ø! À ¡•0çå;wì­‡C£R© ½Hà4Òœ^8z”——·XãBÕÕÕ†6»JŸhŽËLv ÈÞÁVECÄ©P(æF‚n‘ù£±  ­„Üp?}͵‘ˆ®@md8«_ùéDäÐsH|}}—´jÕJ8 ÙÉñõõ­À½ÀÃùhÀU¦z Í}B+`ò„VÀ‰°»g9ÑÀq*JJJB„ÖÁrˆè€y‚*a>çô#¢C†2QÔ¿6ÚC)ù†ˆÏ&,eee»‹‹‹ÛFDDü×ËËËaƒ:2™Œ pzذa‰h—Ðúðý`Ä7ÕÖ²À¡•°û„VÀ‰°û½_\ƒ!âT”––¶øè<òˆQORÂ{ð#¢ÿ2Ʀ¸—cs%€ r@)Ôo*=DBí–2êhà¶^ÄwêÅÜ?šº0–ˆždŒýà3ö0|oB==+³á³¢!Ýêu!]t×£K Ôñ<œ‚†€O1Æ^jß¾ýL‰D23//¯µR©Z5‡#<<üf\\ÜwþþþË·mÛærâD´›1àY3Ñ,襈A”¶øØØK'æ«„VÂIøÕÞ §¢¢¢Â_h„ÆÉÜ9¿õÈ€€Ÿ@½>#Ô‡yƘ;þgpÄà†G ÔÆ]jé'À¾µtn*ýÈ; `€iÚX¡ Àu¨‡æ’ u}™(‹1àQ¨#v7.H_HDÂ[fBDå’$'''GTUU½œ=<===>%%ÅÛÕ<ÃÍÍMÕ¦M›«^^^¿_½zõ'…BqäÆ.pŒˆÊ¬bŒ} õˆÆ(¨§üÜÀø¢´–C5€“P¿Ù_GD×ÖǦÑÆXôÄIi¢Àö>¨h`ˆ8*•ªJhDL‡ˆ.2Æ>€úÁ{åÛGkÿ:WDƒ3í kx4~j‡È¥†rþ‚úÍ×f"²ú•8x“1¶êX#ôÐê WÍ© -ã¡A²ˆÈê& «cëÌ0ÀZkËš… ^G³Hñß~ûmØÙ³gŸÊËË{0##£ëßÿPUUåR›¾¾¾µmÚ´Isww?pùòåêëëOæææÚ?ȃÐð"`Wƒ€1õé}P“뎖嶴À±fòWÃ=³%ñ €—…VÂÁÙGDv÷ˆ "NEMMM>Ô.Eœ"šo<—E媠~XÏÇüRƘÔF†7/y oBmBÃûw Ƙ êQ–:U R·QcJšrWIDAT¢>ePGVwI&L˜P0a„hðŠÅc­ZµjÝ»wïž2™¬[]]]‚B¡ˆ,++kSRRÒª¨¨È§¬¬Ì¡þó”ÁÁÁž¾¾ù^^^Ùnnn©UUUçöîÝûWyyyAjjª¸ÈY Sé¶5c¾PÔƒ ŽÅÓ¾AŒ‡Âvljcâ*€ó~pŒˆœÙ£_ì‚h`ÃîÓ£ÑÀq2Š‹‹W·iÓf¨T*5Öw5þ”ÌÆiqà2™Ìå}~Qþ·NAˆã»’7‡§aÊ]>š½áÖ†1æßÃÝݽ‹››[8ù‘·J¥òV©Tr¥Ré¥T*eõõõ²ºº:Y]]{]][MM[MM¤ººZ€<==U2™Låáá¡’ÉdJww÷z™LVïááQïîî^çááQçææVëááQË«¨©©¹ÅËeŒý}ëÖ­3G½xçÎqD–G¦ÔýÖ M0ÆBt€ÚØàú:¶M9Ô‘®r|^pÑMå0Ôkú´G¬EþÇoƳðs`Ÿ""""""""æÁ“C=ÝÒ€gƒx5û®ý[û»êõ =Ÿú¶UBm<”Øá4]ÆØ 艗"‚"dC40DDDDDDDDDDDxCŒƒ!""""""""""¢!""""""""""¢!""""""""""¢!""""""""""¢!""""""""""¢!""""""""""¢!""""""""""Âÿ½©oN£DdtIEND®B`‚./chessx-1.3.2/data/themes/outline/000755 000765 000024 00000000000 12522204351 016571 5ustar00nistaff000000 000000 ./chessx-1.3.2/data/themes/rudolph.png000644 000765 000024 00000161746 12057443252 017324 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖ CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs66Bï®tIMEÜ  …o| IDATxÚì]u\TÙÿCw ÒXH ¸bbþ±»uUV]k]»»w]Öî»ÖZqM,ìì$îï7²3oÞ›€A&î÷óy˜ûÞ»qÎ}÷ÞsϹç%/„Z €w®¸`?€7”Lz‰Æz0°ÀJ „ †-_¾ÜŸR‚‚‚Bƒà ‘s}Ð’Jï` ]¢d° d¡   Ð üïÿ»kffF"""žLž<¹¥E c € Â…äµ€%%›Þ ‚£´ d¡ ``ø½ êÞ½ûæ—/_Ö.j>+VÜôçŸNVæÙ¨¨¨êwî܉-j™B¡PWAÙçÛ¶m{$55µbQËõ÷÷ÿmåÊ• õ¡#æäääeffâСCe:´¾Zµj+jÖ¬¹)((è×þýû§ÑO•¢à €Ê^Hð”’Ecà Æd)À0&K7|RCÞaVB53ââzôSÓÜì'n›€g`̱nȦ¬×Xq¤Q“®©À˜U&È¡$ùhÒ¤Éc(¿Ä{uîÜYiǶQG™&&&D•¶¥¨£Ü^½zmÕ—þQ«V­\4pqqõîÝ{õ”)S Š£ÜqãÆÍiÚ´éñâÊŸB+ÑK,Hp}—)æ0¡d*1´ðJÎØù/€²EÈ߀Ì|e``@Ê–-K7nLªU«F¬¬¬øÊo_„²ÌÅ“w.€U<‹[Šï‹ÎüéLÉ¢W°ÐÀ60ç²òYýá€]â9Å–’‹ TÀ(„„„\•G ÿô¨¨¨ê,³_¿~û„B!@š5köæöíÛžôKÕk¸8 ä÷yÌ¡_Šï0i•áO€ YÎ|v~µk×&wïÞ%’ÈÎÎ&sçÎ%FFF\B¨}!Ê­ F£Lûž¨O»0(JƆHVaM÷À¦”|TÀ ÆwDÕªU/)C“úõë?2dHHQËkÙ²åMvÞ 6Ì:sæLúµê%œÀ¨´UùFsÔ£¤ûnúõBŒ£“ Q–ÔØàèèH>|ø@ø0vìX®r›«Xf%ðk-ø®|Mi× Åw…7{ŒPñz ¢>ʰ¤ ðôT¼aüüùsµ–ëààKKùf’ïß¿GFF†ÚÊ411AéÒ¥å>“››‹7oô×Ó¡©©égežû÷ß½/^¼x¹uëÖ÷íÛ×Z<ɪ„ÈÈÈ¸ØØØÊìô¸¸8“ÔÔÔË«W¯®Õ¿ÿ:ŽêVˆ… UÇÏu`vžÓ) ‹ÓÄtV“ü àŠ²C˜³èÙ³'x_5jæÎËN—«J?RÕìN`5˜3BŸhù¾°¶¶6úòå %„~¡€½J! `<ÓµcÎIQT°5666DˆµjÓ`¬[·Na™:uR«#,,La™÷îÝÓk F£F¶²Û_½zu¹;ÕªUKúñÇ+¨RNÿþý— ¹ù–+W.gÊ”)Þô«Õ´g÷[[[²hÑ"’@RRRȃÈÎ;IåÊ•¹úÌ”„Å>©çIÒ\(’¨¨(G^¼xAîÝ»GöìÙCjÕªÅÅŸ{PÞ,!„ýþo¿ý¦pü¶··g—¹S…ög—iccCæÍ›GâããÉ›7oHBB‰‰‰!îîî\íÛ@»H±¡.€-â>tÿÛ% 9::riœ^K>'qsvˆB{á#ä9µ‰®®®é-[¶ü:sæL2þ|Ò¹sç£GNý–ã*3ÆÝ‘|'$$„äççóòçáÇ\åLR±=½ ÙžSPÍô¸;‘#GÊí«V­â*·®‚r*‚ѩڞ<%ò¦ÆWJBE6›5kvC† ùÂÑwþGÉM *`úô鳇MƒÈ¥[ZZ‰ˆˆà¤{­ZµÒbccç²ÝÒNž>*̘ ŽÓ®›&¿üò‹ÜokèС\ttSPΔB~‡Ùª±Îæƒñ´”"Á÷ëÖhTÄü Àxr*Lûž‚ñ´%Ѷ!'=âåOjj*±³³c—C(+'`ô¢dÑ) gó8))©Èë½ÏŸ?s}ËKuxÔM-…Æ yóæÙÕ«W—r:äȶ7äååaÓ¦MøóÏ?–Áç?Ÿ£.2iU«V…›››ÒíÉËËÃýû÷+ž9sf‡¿¿ÿ§¡C‡.ŒRNkR4ð™ë&!rãlãuH_!c.ß m‹-”ʇ…Y`"ªŠÉ`b[IÆ€ÑT=s˜ý€,0;û'Š˜>Óš ßË¿—® *T¨€òåËó>lggÇ媙ÆyQž—º™ÅÇÕ«W‹œ)ÛC&_YTÀ  P#Ê—/¿[ò·H$ÂÚµk¹Gòü|lÛ¶ èÙ³'?~¬0ÿš5k*U®ERÇŽñêÕ+ܾ}‹/FÓ¦Maf¦œUÄÝ»wm¢££G;6}ðàÁÔÜ@óp@=¥üÔ ‚/`v+ÿÔsºUf'xyyÉ}¡\¹rJåŒǯ`ÂãA*w¹óÔØÖVj€9g(þ_]ñO€1;¯B­ &®ˆJ<â¡¿"•”‚ ú„Wì„øøø"gzñâE¥Ê¢…Q¶lÙ¦¦¦Ri«W¯–ÙEÎÈÈ@³fÍеkWR¿¿™H)¬_¿S¦LÁœ9s°aÃäääp>{èÐ!ËøøøãC† Ù¼bÅŠôk(1áâ70nW ˆcÇŽaúôéX±b×Â6@Oè¯iD€ÀD¤Ü»waaaX´h‚ƒƒallŒ¬¬,\¼x£GÆ“'Od>0¦ .!¯1˜èâêXùL¡|ÀœMÈPS9½•lŸ*Øæ°{«Þ1cÆàÍ›7:t(ÜÜÜ ðþý{lܸÓ¦MãÊc7"ð#€…b¡šqŸðÐLTweÏ Qh&¶ÑTÙ~K¸té’ ÿþؼy³j“ÌàÁ_NŸ>ÍŽY“ FKIQX°5ôR|é“£GgÑcΜ92îäFõMOO'û÷ï—ë–‘?ÿü³Tù®®®…ÖP½xñ‚ 2„˜ššÊmc5’Hw¾¾¿p!£¹ !©©©<>|8ß6@¿ÕÛÞ`lô9#A …Â`ÎKpÝOPºˆå÷âÉ{‚ÛxBÎwª¦2ÊpõCñjÈ{2_ýÍÍÍåié€=ÜÀ˜@v.ÿG,ìRhñ…‹·óæÍSz °bÅŠO<ýc%/0¨€QL9rd´2vïeË–•+L¨111Rå7lذÈy>{öŒÔ¬YSQ;s,XP›Ž%'\„††r"=z4ßÖ¥ýÐ3 )ä8§Ž³}yò~¤Æö¥Èià 5•1•'ÿKjÈÛŒ›_Uùó òwìu x¯ì•"΋B{±‡ÍWCCCråÊ…óþÇ?drô‹Ë(AK"*`PC§Ñ«W¯šVVV2 ¼¶mÛ’fÍšÉÐäÚµkßMÀxôèQAÀ)²cǵ䛓“CF%7€›———háÂ…MèÈñý…‹:uê/_¾ðòoìØ±||[­ÇB†L0¼%Ç·¯`l›ÕrÊQGDOm‰Qýžò䟠ÆÅò æ «*éñø £}à:7G¦OŸN¶mÛF®\¹B.\¸@V®\I @œœœäi2ôyBÛaæl—_4h pίY³æžï«%+0¨€Q<úøø|d·;,,Œdff’[·n¡P¨’‡u#''‡üûï¿äãÇjÏ{ÿþýÄÞÞž—ÿîîîyK—.mEGï'\Ô¯_Ÿ¤§§+äݤI“ä-6õyQÀcÛá`"¨«ƒä”µF ù·RО‹j(£¾œü¯«‘?õÀh›¾@~ôó‰tg?±iS±bErüøq¹cÃû÷ïIdd$m¢C¯VÃŒw·žZXX¼¼<¹}ÂÂÂâÇh£úwÁ?þ8~Û¶m3ÓÒÒxË;v,Z·n­½tîܹطoï}//¯œÖ­[·X¾|ùq]¥AË–-×8p ·dš³³3îÝ»;;;À”)S0}út@5pîÜ9…ºã¸çÅ‹èܹ3oðWWW2vìØnÆ ÛFÇvµa$˜ÃšÖ&öíÛ§tðÄéÓ§cÊ”)\·Öн¹zJ_C0ng+¨ælÁc0—|ÁÄp¨+¦S5-ù¼¥ƒ9ãñµùOsÈàïï»wïJÞÏcFTÿøÀ8 àÂm(D¨ ‚ÄÂßqy×ÁЫ Æ‹×MñuIüŒ>£‚˜>Á}||pãÆ °ã4ñaýúõ\ŽE2À8 x mB˜ø;!?äçç—•¼ùõëW˜›sÇ¡$„ÀÄÄ$?77WòœÞkñÆDÐßΠRÆ óññÉàÛ9dêÔ©ßÕÎþ{ãëׯòv7R»víWÆ sÕå¾Ð©S';kkk™ä­[·ÊÐl÷îÝdÿþý¼®/µŠL¦œógÍšÕ™Ž E†©xa%CãððpR·ƒ³fÍâûŽÏp¡$—‚d]zþ †|‡B¾†¡Wóß-™ßرc‰……» ÿ"äo þCòÀ5ÐH î“’ùþL»$/6²ùpìØ1•ÇžxM4@§vÀÀ@×ä/ÎÎÎ ûAÅŠY¬<o|ÙQ²cÆŒ±kܸñCyÄnÓ¦\hmųgϸIêÔ©Ó~}èíÛ·a·_Õ8º†ýû÷s-\¾ÇÊëÝ»ws:‚îà9äÚªU+’]h¾Í›7ï›~€Ö—ÛTàŠ®I®`òþ·ˆù'Jæ·mÛ6R½zuv]‹õ¿¯ºsyÁi©e}ÇVü=…ˆÐO,$Ms§!˜ó2êðèvW’VÍ›7/ÔØžžNÊ—/Ϧû]5Ôπ󽑘` ^/íT¤CN¡ÐŒ–A¡)ûÈ‘#öƒéÓ§+kŸ nWÕª gÏžëMLLx íïïO>|¨3‹Ç“'OGGGÞö:99åýôÓOzcŸY¶lYà„„•vý׬YCH†ÊéñGÇëÊÖÆÆF^Ž*£.€$.švèÐA-š±Å‹ói rDQ ƒFýŠ˜ç(Éü¸‚Ÿ•-dÞ6ìúÞ¾}›ôéÓ‡]Æ‚"Ôÿ”‚úÕœÆÀ[ºhx_±Á|Ó®<%iYnˆ/­U,× ¬ zÓ§O/ôØ0sæL×Í0½Rv:€ ò÷DZ|ÛèØ &ŽG:)bÿR–¶uëÖ•re.OÐdîUpum\Äm§áûxxxäòÙÖÖ–üý÷ßZ¿h\±b…܈ÎAAAýõ×ÊúÂ÷Úµk·fÓ E‹JÑ2##ƒ,_¾œxxxH½ß¬Y3FÿþûobllÌÙW|||ÒFmEG¥1<ž~ùå…‡óTÁöíÛ‰™™™<7¶¦”ˆå M2$‚Xc íƒøùù±Ë˜^ȼëIæcllLrssÉâÅ‹¹…ÚkËÙÀܹsÙy'‘æ‹xú¤™†ö7@ydŠ.€óâ> ŒW¬ì<þúë¯B ‡æªSM%êæìO<¸£†ö: æ<…4Jƒ9w#—~•*U"£G&û÷ïWyþ8zô(?~< V†OÏA5PEÄ ÊÔªU+‰È2Ö´ÙÙÙ¤_¿~r;Q›6m.2ÄDŸxǦÃÅ‹ÒóôéÓÄÕÕ•“ŽFFF:e.µ{÷nZ}æ9ÂX¼Û'C?ccc²nݺbáÛ•+Wˆ››ß÷~Œ ‡>cm–!ÏqlcΜ9\“uaLg†IæSµjUB!ÇŽcçÿ¾uŸi÷Ôäüùó\u/,üÁ8àÚÕÖ48Š…¡L¯‡Æ³ºËø¢Úu6’’’¸êÀ§Õ´×å|1Ó _¼SO5 ¾9¢à:œW«V­¬Å‹“'Ož¨m®xùò%ùí·ßÈÿþ÷?bhhȧ‘JLÙSL™2Å S§NÇ x?ˆŽ;*å>RSðöí[R«V-ÞöX[[çò»E‹/$iQ¥J…ô\°`\-···Zw£5òì6GŒñ9xá"Þõ“¡[©R¥È™3gŠ•ooÞ¼á²Ñ—\ˆ6ÔcÞô—³Ë\¥yNd /^¼ óIãBä½V2îÝ»ŒïmPÕ¤A&]AãÇ'ñññì|_Þ'ä,²5 }!ßunq\)–ñê$‰ìg/\¸Pèñàõë×\e`•ù€?K€¹Æêù|aæ5—Yò«;wîd÷\ÿâÅ R­Zµ<9s†VšKi„ŸëiÓ¦åh2lذ1[¶l™“’’"³Ó´cÇ:tFFFZAج¬,dggsÞ«X±bVÛ¶m[Î;÷}üš¿|ù"eâÌ/ ççç£[·nøë¯¿xŸ©W¯¶oߢӄ pöìY;vLæÞš5k?>vöìÙ§¨}ú¤°}J¢£a6QƒúÄ ±ÈÏ`¡õêÕCÕªUQºti”.]...pvvFZZ^¿~-sݸqiiiò²µ£¡ÆSÐ:±@)ÃÃ7n F…jÜ7¸’߈¶}ÁBˆR WWW¸¸¸ÀÅÅ¥àkkk¼ÿIII×;wpüøqÞµˆx 8LÆ¡`4ú†µàÐäÝ;uꔯ••U±‡sðððÀ¹sç ˜·qãF!Çœ+õÕõ¹z0iÒ¤êß[ Ç IDATŠÿnWÓ¦MÏœ9ÓAŸy\µjÕ,IšDGGóJöãÆ“Kω'ê´g©ääd^³°J•*¥õìÙ“ÚõÿñÄÍy·$<ÓMŸ>ïð·H,dèEÅîR˜=*°4„²nÝ:vÞP-¸•˜ syHž cç?IÅzK¹B !„. FR!hbà…:OÑ€¾`w°ß.¡PH6lHV®\I’’’ e¢|ìØ12tèPR¦Leçè×`´Réƒ.ôÀåÊÚÈÈh“‰‰É'eê@ÆŽKΞ=[(-ý§OŸÈÆIË–-‰<Ç:`Ü1ëÛ|ÅA‡¼^,©9ÅŠ¹€Ë¬q>âÕ€ùóç[´nÝú†. ¦¦¦¤_¿~[(w©C111œÚÖ­[ÒµN::ï¾öŸþám§NNÐÅl8Q%ËÐhÔ¨Q%j>·sçNbnnÎÅ¿<ñ®º>Á€½h‡¬9¥ŠyÎä0¾|ùÂE÷UÈ· »~¯^½*àë!CØyïR!o+0Áÿ Þ_¶lŸ€ñ¡tž©`ììQÂýÀŒ6‰×;σÔúÞºu‹Ì™3Gžù"ïåááQè1¤0åÕ«W,_¾œ$&&ªÝG7£3ÐÜÃÿê†לѳgÏs%=ç/^¼ø#o²Åš& µˆ–QQË­¬¬òµ]¸ðôôÌýõ×_{PŽqqq¶ì]”©S§Ê|`=’ç‘G¥ 7º€Þ½{s¶ßÜÜœÄÄÄDèy·ª Ùø ÄÈȈ¬Y³¦Ð4ÏÉÉ!{÷î%$þùg‘\!_½z•¸»»ó¶üQÏøu_Áw­êÙ´9\!„tíÚ•w¼ ùö’|×ÎÎNЧüñGQ¼=õ+Rrr2Ÿ€ñQEz”ãªUK:>Ëj®zYZZ’èèèb¶{òäIÒ¨Q#•æñ£Gª\Î;wT*#""‚ÄÇÇû|²~ýzbggÇWµz2ýÙxS²²²J|¾ÏËË#åË—OæàV½4ÔäÊýþûïÃ&Mštlñâž~ýZîããƒððp¬óÚµk¥ì>}||²{õêUi„ ©xœ8q¢#ÛÔÔTV+;eÊdff*ÌÏÁA?¬Í-Z„¿ÿþÉÉÉRéؽ{÷FBˆ£ØGßàà X¦/B¡[·nE‡ qll,ºwÿÏŠéæÍ›ˆŽŽ.œz%(ÿþû/êÔ©ƒwïÞIÞ€qÉyÀ=áÙÈw¿8B¼Èy¨d~¼gzö쉭[·J&…ð…rÁë8Ï_ðýã‰ÆÀg%òî-ù£iÓ¦(Uª”ÊíãÁ20Øþëd!l”ú#öI™2eWìg¤ ~ýú¨_¿>.\¸€™3gâСCJÍíÿûßÿT*gýúõ Ÿh×®&NœˆÀÀÀï€^½z¡iÓ¦hܸ1îÜ‘ ßLÔ÷5:<ÍNܲe‹‰IÉ;õ400@lll©ààà|BˆëÛ™ŠÂ{­£`£T©RR§ë;uꤱ;Í^^^lž·”ƒÿaàÀ2jñK—.IÑðöíÛDžG1ÉkôèÑß·/_¾,Ѿ%Ïdlúôésô´KýY·‚díÚµE¦w»ví¤òuuu-rž7oÞäÛ9¼€¢G´Ö,Ë„ƒGT‘¿Á£Á‰DÄÅÅ…÷<%ó=)ùÞO?ý$cÛÎQoe©—ƒœ8 Œ¯*Т;ï°°0¶íý×ä}5p¸¡µ··'÷ïß/±±õòåËÄ××Wî\cbbBRRRTÒ€:;;ËÍÓÏÏ\»v­ÄÚýòåK>Íj&d½kéê²ÛÜ Aƒ7š¶žŒŒŒ¼ Í3o¤047þ –ÙÛ¶•½°û¶hd§¹¹¹‘wïÞ;O÷íÛG<== üÔŸ>žXXXpñ±«žðm8X.È;tèÀEÖJæ·”OÀ „Q£FqÅ€PF+*ùÞü!ÃKvÀO?+‘ïtH»,'™™™òŒ,%é`–/¡PHöîÝËÎïv ñÝD¬9‘ù®ŠÛu´2HOO'=zô+ÈsHÂÆ¶mÛäæÕ·o_òõë×o÷íÛ·‰­­-W€9ˆ¯‹˜ÅnoI z|HMMÍ+'z–— TÀ`ã矮Å×®];¶’˜˜H/^L6lHÂÂÂÈðáÃÕôF†*UŸúõë—Xÿzðào>±vHŸp’Mƒnݺ©ÖÅ%`BȪU«¸xøúqÀ²%X^rž={FLMM¹Î4(ãÕf¹<ãÆ\´VtnÉ‹ýÎùóçeøØ¼ys®ˆíò 8¯à~ýúÉ ¬}Z*¢^`` ""d7×­[‡=z  ÀàÁƒK´î"‘Hê·½½}‰ÖgÒ¤I04”õÏðùógüûï¿1zÒ¥dâ%Œ;nnnZQy,]º”ëV7=à]¢x’äääàÉ“';v,ÜÝeÖŽ+š;õìÙ“K‹"ÏC„”ý¹——¬¬¬dâ8èíÀXN¾½¥¤OOÔ«WOóô"ö¢cæÌ™°³³Ã½{÷¸èÿ½1@)®oVѤI¬^½šóÞÂ… ¾?kÖ,Îô5kÖ AƒÙæqãÆq%»€ D¨K0d±U«VÕX)Õ«WçßJÑU¥š@5Úˆˆˆx¶¾}ûv¢ hÑ¢…T½ƒƒƒK¼N|nk---óG¥ë¾² Á¸î”:€‘‘¡V§ãÚ¶mËÅG/=^I¶y÷îÝ„B¶lÙÂLVAãÍ›7\¦…òN{$ŸmÙ²%'ÿ®]»ÆUß ž»Í'NœP™~?Vk@ÍI“&©\‡ŒŒ .RGô`\X+Ùæ®]»ÐäÊ•+\nªïߣÍ(Ð`ÈÑŽTåÈÏrÜȲÁáÞt9O=ÏH>¢Šý>Ÿô<ŠýlçÎ òJNNæ ìø½ýsFOKKÓŠ9àéÓ§2s€‘‘yöì™Ì³¯^½"†††2gÃ?~¬mÍÏÏçr¶@LÒ±ñç ¤=Ù%h*O-ZÄpÏBˆL5ÅŠzõêíyùò¥¥dÚ€P§N­¨ÿ;wdv¦k×®­u‹ŠŠâLÿðáƒÐÝÝ}¡w«º’?ìí핱c—Á±cÇÔZ©£GªüŽ™™WÐÐzÐý˜R É]öàà`ôîÝ›ý¼/ø]À*ˆ®M›6\ç(úp<*#tði0 R¥Jì$. FyRƒž Ú ¾6–0…µÛ)µƒÎ¡½x û;óZ¦ƒ;99ÁÒÒR+:ª··7æÎ•.Ÿ››‹9sdC­\¹RæÌÞŒ3P®\9­h«@ @™2e¸nµÐ±ñG*ðqbb¢Æ®…ÙNÞ¢dcÙPƒ¢äÑúìٳͤfÄÒ¥1oÞ<­iCll¬ÌÌaÂQ"FP·æ:!!¡7T¬-ð–üÊi.¦5jÔPk¥ ›‡pdÆNXoŒû÷ï#??¿à÷ìÙ³ammÍ~g2˜C§…šÇÌÍÍѾ}{vr7ÈÊ–ŒáããÛ/‡ðQ•C@”²…344Dç΋:WÏs®£ãƃ‡‡‡]Ùë•àµLÔvžE¬Æ"** U«JË[¶lAVÖ!J!ذaƒ´Tìë‹áÇkU[Ë–-«µ$<{öLccH]¹r%S^Ý©€A¡wpww7»}ûöVÉEÀØÛÚjG<¸ÔÔT,_.míP«V-ªÿ€8Ó_¿~mÖ Aƒ‘:صL8K&xyîLtµjÕ°°0”/_ÞÞÞpssƒ³³3d„@€Š+Ê\•*UÂÏ?ÿŒÑ£Gª<õ/§ãC„”€‘™™‰gÏžüvvvƤI2VVp䥴 Í¡5p„ì€áçç'W€åÐ`X(Ëšg¥ÜX5mÚNNNªÐ‹ÝÆÚ`Eôõöö–éƒâAÊTÉE¬ÆB `èСRiééé8rä?kÆÓ§OãÕ«WRÏ :TãÏ™()üYA·´ªRŒ””ï;wîˆ4q rùòewyu§("è íCãÆÿËn0""‚hÆ'c‹ºnÝ:ªã§OŸˆ¹¹9癀 *èb@ž ìvΙ3§Xhû=¼HÉñ:ÓGLJ{v›8 E—ììlR¡B.Ú°í+wB‰3ßlÌ9¢o`åw]ò~÷îÝåòïÁƒ\u”T•4† g:xÎ`8²„kìgvíÚ%“W³fÍØùLüÎ|6â›&L˜@´ ÄÞÞž7°çÀe⥧§k];/^ÌwÎÌZ‡ÆŸ–=»tWyÁåAª¿¶™j0(ÔŽ®]»FÆÅÅ5’L³´´Äï¿ÿ®5møðᢣ¥³X[[#22R£êiccƒŽ;rÞ{ôè‘SÛ¶mƒum¿‹Ú žú;ëø0‘ à“dÛk—±±1–,ጠ·Ò;úJk0ºwïÎNnæ<À˜KùKÞ¬R¥ŠÜ<Ë—/ÏåÁLÒv±7{iÕª•ªô’lã@°´,5B»víd^Ò çrŽx'333ôï/½¶;pಳ³‘››‹;¥c7öíÛZ×N¾[–:4þð@j—bçÎÒ?~Ô˜ æää`Ö¬Y_XÉol¢…^¢}ûö–ñññئQ3fÌ€§§§Ö´ã矖9ÜÝ»wo˜›kžs&>3)ñ"m¶Žu±Oì„—/_juƒx꟢ÃÅ‹aDDD Y³fìäªFÀ8ͤ ñŸ¹‘?XÞªä𘠉~~~ìäo€5©•‡ ãRù[Áxeú¯ò††X¶l™Ì xñâEI ébaR ÉÉÉZÙa£¢¢¤ÜùòÇlj'’’"Õ'† ¢•m|óæ Wr&]Òˆçr„"‰ì:tèðAS*رcÇ„””¶´·ßßI0(4Fê>òôéS)›ÛûUMÆâÅ‹±uëV©4;;;Lž,åÃÕØØk×®å F¥‘øçŸ0fÌ™ôéÓ§ÃÁÁAcëÍžô¾áÞ½{FsæÌé¨CÝLfg_òp°6‚§þïôMÀàÒ`Œ'ŽÝ`;³ #`ð,òýÁ„“0ìííáæ¦Ø¡ÇAoW0æ|½%===VX#,ûkGGGL›6ïÛg'¥( ÕÎd6Ëöïß/#` 6LkÛÇÛk:8þdQý 6,oûöí%V©ãǧöéÓDz‡ê—È …ÞáöíÛ–‡ZÅö>iÒ$¥v5.\@çΑ—'½QãííÁƒktÝåÙt_»ví'êj¹Ò$ŠKƒÁöò£¢×¥A5 ÒÒÒxÍݦL™‚R¥dŽßôR˜y¬K—.\ž¡z³ IÁ!'''OžÄ¤I“°víZ©ºr£½ÚpéÖ­‚B) üÆnë¬Y³x½Úiˆ‹ZÎÅ©6  6”Ò}üø¯_¿.øíççÇ5^{>Jn ÆUƒ–8'™ ‰„]ºt‘­½¸°eË„‡‡ÛBØóΉ uƒz‘Ò|Œ1B*J-R­Z5’››«ñ^3rssɤI“ˆP(äôžQªT)­hƒ­­-gý½½½3u¬»Ýg·ñéÓ§j§éÖ­[¥Ê6lX±ðŽ#t.¾´å’@6=ÊK§˜˜®þ}ÀI(ð"õéÓ'™´-Z°óú$¾ Ò† B!dß¾}\×I‹-H~~>yõêWÝÞ³ÓîÞU쨆NjÔvZPPÉËËãͧcÇŽì<ö”Ÿ+±ë.HVVÑVÌ™3‡ÏÓ™9s¦Ö¶K$###®v…èð8dÏ5§ }ûö%_¾|)vºggg“ñãÇ@ÀEûûâ:RPCÿŒô´²²’j·±±1¹y󦯍÷ïß'!!!¼“Å·ëŋߖ.]ºðÖ¿U«VMt¨Ë­`·ï×_U;=srrÈÞ½{ÉÀÉŸþɹH-*Nœ8Áůsz2´{²Û¾dÉ^Zååå‘ÀÀ@.zes ïß¿'Æ #qtt$mÚ´!< „«ð»‰‰!W®\á.¾] .$„^ÿÛ\ЖӧO“‰'’Ž;’iÓ¦‘¸¸8’ŸŸ/OÀÈf§9sFnߪ\¹2;…%ÄgC@ Sÿ+W®híBüï¿ÿæåó‘#G´¶]÷îÝãj“>lxxƒ9!Ó~rðàÁb£ù™3g¸6™¾]oÁ ,KA ½0!v™Ú¶‹“ŸŸO¢££‰™™™ÂE²wï^ŸØ;î’WÓ¦MèP· g·ÏÑÑQ+wDÛ¶mËůéz2´È’lû€äÒëÔ©S ¿Õ^½z‘¬¬,R»vmÎûäܹs$++K¡P°dÉâââ"÷cccräÈR§N¹Ï-]º”äçç“©S§rîTöéÓ‡äååñ RW—.]äÒ)//˜˜˜°ß‹*A^_a·!22Rkâ/_¾äåMrr²Ö¶kâĉ\mº©'ãQ€Ï||íÞ½»\aa0|øp>­×%ˆJTÀÐ[cîܹ;¹vê4Õ4*##ƒÄÄÄ¥‹oפI“4~røøñ#144äÛ=MÖ¡ng à»7nÔªÉüùóç|fyÕõhx—2M¨]»¶BºEFFÊýV{öìIºví*÷CCCÒ©S'R³fM•ƾK(WWW¹åíØ±C¡¶´sçÎäüùórŸ±°° /_¾”K£Çs½Û¬ù<fRÚ åæ—pêáᡵíÉËË#îîî\ýf¦Gž`bdðj4Õ…C‡ÉûÎð¢«*`è­€ñ矖quuÍgïæÝºuKãøòúõk2~üxâàà wòöññ!ƒÎc§÷ë×O+&‰ p¶ËÊÊ*ÿäÉ“¦:Ôý&³ÛX½zõ3mÀèÑ£¹xuVφw©ÉÜÞÞ^)ÁLžæQž9SQ/ ²}ûv¤Ò{J?Ë÷ «¢>pà×»JÏDì:µk×Nkä\«Ö­[km{~ûí7>ó(7è:ñä'Eš5kªÞ;wæÒ†~Á1ytBEMA¡2Þ¶ˆ°½¹wïß22K9ãG7ôrrÆÄð–Èxú/î=FNfV‰×311}úô··7fÏž- Iæææ˜4iÒç„„„‰III+d¶ÌMµcmÞ¨Q#Îô´´4ÁÉ“'ÛêPŒË›ÔåË—ù"?kâãã±téR®[óõl(‘rY“ššŠùóç#;›?–”§§'§+éoøúõ«LZXXX‘½Ù•*U 'OžDdd$Ž= ___¥ßeýWWW™´“'OòæS¦LŒ5Jay 2Uð¼ùüÀ~vâž={pãÆ ­ì¸\ý©ZµjZÙ–W¯^aìØ±\·öx­‡Kœí`ÜBKEª|ðàÚ xøð¡ÔogggÄÄÄ ‚EêÖ P †f!¹ùÿ¼_µi5isµjd¯_9_±2¹íH.zøÞUÈⲩ߯äÅ‘³$;õs‰ðáéÓ§¤ÿþ¼&C¬ÔC‡ýD1€:lc?3jÔ(­Ø…:|ø0o;ûõë·EǺâ4Ž ríÚ57ecâë×^× :Ru %iiiZ·ã?kÖ,:¯ZµJëÚ‘––FjÕªÅÕgò ŸgìL3FŠ&~~~j£{“&Mdhndd”Æ$­]ùSCïŒs•}k×Xr£zÈ—;ýÈU÷2䪽'¹lîF ]È)3/²ß¹:‰¶©Lކ÷"÷~[O.9N:tè@Ê•+G¶nÝZ¬ôOII!ƒ âsµ'u¼‹ŒŒ” 1Þ­[·³ìg'Nœ¨“ERR’¼ƒÞulh0ï€KµÓÅÅE#Íô¾õÏ5jpñçôÓ¡…¼oÔÏÏŒ1‚¬[·Ž$$$””ríÚ5KÂÃÃ~ã5jÔq3™’’B¢¢¢šR‘fÍš‘cÇŽÉåé† äž¿ëÜAŸ>}È»wï¤òèÝ»·ÂwCBB8<þœ:tˆ´mÛVÞÑ8 á÷:®úÕ©SG넌¥K—Ê´cÆ Z'\ÈqN°\ÏÆ"7‹ÀhÆ9i¢ÎµçðáÃå}ï`¼%–¡0ôBÀ¸Z-0±Îënùû}Œw÷$§¬J‘3°'aG`KÀ‰<·¨@Ò+E](GÖ¬v ?{û[Çš|s©nìÛ·”.]Zî$mjjJ6lxGžÛÖæÍ›¿„û6ç9¨GÊ–-›¥ƒÃÃÿÄ;mRmµ³³#çÏŸ×(¾¼zõªÀe*ëÊPWO‡w?Óy‰zõê‘?Ê=ÔúèÑ#²{÷n2uêTÒ¥K2pà@2mÚ4²yóf’ššªÒÙ¸¸82pà@òÃ?777" ‰““iܸ19r$Y¿~=¹ÿ>çû¹¹¹¤eË–J (¤~ýú¤F„í\εZS¦s©º d¬ZµJ¦ Û¶mÓáâ k=ƒ„~ˣǷ—¯N§¯_¿Væ¼X.¯‚FT †Î 'üÊxô(½$ÖÆúã1{²¦d'@ö䀜H<@.ÁŒ*„4éOÞ¸„3ÆåÈj”&mìHi3ËwêDFFéÙ³§ÜÕÕÕ5¿gÏž§¦NªÈpZPªT)™Ãˆ±±±Z3q´nÝšwq塃CÄ`¾èñãÇ“ŒŒŒåGzz:™1c±±±áëŸCôxx7‡Ù Šx;::ºÄü«Z¾H$"sæÌ!ÆÆÆÅ!p× žGòñ\›„ .·à»wïÖá"@=üÀë”ûý899e>|Xí|ˆ'åË—Wæû½ JTÀÐ9ã ¯·íN7Çá[m¬žn72#›² {r–ä@¶$ _Q–j„ø6!÷áDnÀ™\‚Y'Ò±”7ñ/[^­‘1ß¾}KªW¯Îûa:88ä1âÀõë×”i«§§g ®|Þ¾}«5Æ´iÓxéÑ·oß_ut˜ø^jÄšKD"‘JtÌËË#iii$99™|úô‰äää¨ô~vv6Y¶lqrr’7q¬ #<^ªc-HóæÍ‹%ªû÷Ä­[·TöR¥ÄÕIÃx>š¯®Ú"dìÛ·O¦îÅí; @=ÑZü “–––.\øùÖ­[jÁÞˆ¸wïùã?H™2eäñ%ÀTmÒfwß#• IDATÒ¹B¾fçz§~L3ÈÈòv„ÒÄÛŽ–Œa!œgX¼” ˜ˆŸ>á’aCXÀŽHG…t Œß+++µÔëÖ­[hÑ¢^¼x!sÏÀÀaaaW«T©Ò~É’%Ï”õ.äïï?‚_ùòåQºti­áWpp0ï½”””Ææé`7]àoɉ‰‰ˆŒŒ„——†ŠV­ZáíÛ·xöì™ÔõæÍ|ýú_¿~EFF§'#CCCXXXÀÜÜæææprr‚···Ôååå… .`Ê”)xþœ÷lm2€A`¼´è;žpÿöÃÚÚC‡ʼn'péÒ%^LßP½zutîÜ‘‘‘pww×zbTªT /^ľ}û°iÓ&>|¹¹¹J½kcc###|øð}+QÚ¹ŒëÚaìgÏžEÆ ±{÷îbågZZ’’’ðîÝ;$%%!)) ïß¿GFF222™™)u±Ó>}ú$“g¯^½`kk sss˜™™Éýkmm WWW¸¸¸ÀÕÕ®®®°³³+V¢¿zõ íÚµÃåË—ù™*Cu¶âq·>×M“ô &dýòË/ŽßÃ{¤@ €¯¯/|}}Ñ·o_ÄÄÄ`ÆŒ$99™íðÃÀ0f[xO ­‡±‰‰wFF–·1C`À^,R?Å”‚!‚Ë Ÿ\~Ÿˆ,dÃŒ;D Hƒ!rPÆ6"õÔéÈ‘#ˆŒŒDZZšÌ½€€€ô~ø¡ïºuëvÈsùÈ…¤¤¤ì´ºuµË<^ž€‘œœ\^‡»ê%ÕÀÄÈÃßž?ŽÑ£GcôèÑ….@$áóçÏøüù3³2~òñññªf³ŒY×:ºaß~|ùòNNNˆGjj*®_¿ŽwïÞáÝ»wøüù3œáêê 777xzzÂÙÙYçbdd„: C‡øðávìØ;wîàõë×xóæ ^¿~ ¸¸¸ téÒðõõExx8*V¬???®,5°™#8èʾqùòecÇŽ¨W¯^¡2OIIÁ;w ®—/_IIIÈÌÌT{ƒRRRx]¡+SSS)ÃÕÕ^^^ðõõ…ŸŸ¼¼¼ ÎÑÜ©S§‰ädÞ˜«€ņ̃ËpÄ®û†hÈ!f̘QÚÚÚÚ²¤¾û!C† OŸ>‚E‹aæÌ™ù¹¹¹ìp?8 )€§tú("¨‰TÉâhpÕŸÀàãB€ì‚Y½Ù ß² ÷­]I¼À†¬§ŸÈe€\È[Ø’gp#ûlË„¥«‹LãÕ«WsF@655ÍïÕ«×ÖŽ; ÓÎÙ³gA!\Cj"\\\8Õ¬¾¾¾ŸôdبÆn•hÐõšgª¢ hͦ•­­-yÿþ=¡P ƒÖdRœ¸`b¿ðF@ŽŽVhÊxéÒ%ò矒aÆ‘F)tö¡­—™™ $]ºt!Ó¦M#±±±äöíÛ Ïû,[¶L‘Ëö)z0Îø‰kÁeJýáÊ•+yšö=߸qƒøúúŠxxö@UhøÇ­ÑˆŠŠê¹fÍš ’æ ¥J•‚¿¿¿FÖ÷Â… R¦îî;.Y²ä޶~•‡TrçÊÝ©ùÈ… =]˜Sz†âžž [üÛŒ •˜HŽÕàsWœzóS‡£î”_ ]—;w¢S§N2fööö9!!!m;öwaónÒ¤IÒñãÇ¥Îj¸»»ãÙ³g …Zųڵkãüùó2éŽŽŽ¢>è‹G #0‡[' äíV÷ ‰Êœ8 ¡dÂ?þˆ˜˜J%qçÎT­Zyyy’ÉßbÜÒðê<“s íÕ«þøã‚€§oß¾ÅÑ£GqôèQ?~¼HZ]€££#6lˆF¡qãÆ([¶, 33ĦM¼±ÛD~„î›EÕèÑž}#<<üell¬‡¥¥¥FV<33#GŽÄüÁuû €6NjbÝ5ZÀˆŠŠê½iÓ¦µiiiZ|ªlٲ٭[·ÖV!c³¯Ï””û¯¦ ‘kö0@òAÄÅ'ü‘ÆAàýû÷2¹"G³°@/º–‹Ê®I.0 påÊO¬/B>þŒÔÔT¤¤¤ -- ¹¹¹ÈÍÍENNNÁÿ\¿…B!ŒŒŒ¤.ccc™4ØÛÛÃÁÁ066.6†‡‡ãÈ‘#ìäßü¤%} Le ®›ÁÁÁhÔ¨Ž9‚›7o~·J …BXXXÀÒÒRê’LHOO—¹¾~ýZð?Kð+Vx{{£qãÆHHHÀµk×øKÐÀ1=[΃96*9Š~ÿý÷÷ƒ rцFìÞ½:u‰D"öцL0nΨ€¡¼pÑgÓ¦Mk´]¸Ð!c‰·ÇÏïÓ§Z|Ͷ5E6ÌXÂ™ÈÆ'ñˆ9 F:Í…€ñoFÃaŠW¶Ž[² ž½Û©\‡G!88XæÌE5Þ{yyùÇÆÆÉž½}ûöÏwíÚå)™fhhˆçÏŸÃÕÕUëú[¯^½°qãFÎ{Õ«W¸|ùò]=Z¼.ƒÄaÒÀÀ@Ìš5KJ(Šã¬¬,)cõêÕØ±c‡ä#O” üøÌNvêÔ©ƒ3gΨ,8¼~ý=£Gðøñc$'')))HMMEjjêw]ô€••àèèX t8::ÂÝÝ*T@… P®\9¨z¸ôÈ‘#g'§¨ þ«-¨æ®§º3vvvF¹råP®\9x{{ÃÆÆFFPà"ÌÌÌÔR~VV§ÂD>þŒçÏŸ#11‰‰‰xûö-QûÐñD,\\×ñ1ÅÌÙ<©€u¢;vä¶k×ÎL›sâÄ „‡‡çæææ²5ò¯Tc6E¡@¸ègii©Vßèšp•-[6kĈÚÆ>eÚL·²¹6&$B²&d/ÌÉ‘‰ŸÉ8ù«¹ Ç0"×aOŽÁ Œ$ÏŽž“±3|ùò%éÖ­Ù¼y3¯øš5kÊгyóæÏ·oß^äbÞ¼yË Š5jç÷†¼(¡mÛ¶í¢GÉ€’í_µjU±»å {S:²+µøÈ¦Ý–-[xÝ;Þ¹s‡¬]»–üú믤]»v¤råÊÄÌÌL«ç âååE7nLL/^LŽ?ÎëºU$®¼~ÒÒ~`'2T¦¡¡!©V­0`™7oÙµk¹~ýºÖE gÇyº{÷.9pàY¶l6l©[·.177/lÛÀJÆ#ÿr|_Yøª­ýáÔ©SÄØØ8›ƒ¯ÁX§k 4΋ԠAƒúoܸñÏôôt)Í…¥¥¥\ï8šBÎ;'µC–˜˜h²oß¾„#Fh•&ãknÞ³lžåC(@>Ì!`Ãy0c× Bò+ñï\_ @Œ +” ö‡ué8oiii Åëׯ‹¦M›ÂÑÑQZÀY°@ÆSO•*U>úøøøvêÔ©H®@V­ZÕlܸqCئQXºt©Öެöööòn@ Æ-aÁ8Ò¹sçb-°R¥J¨Q£.^¼(™<ÀQ*CÈÅ0^l¤|J3­[·†P(ÄåË—qîÜ9œ={¶ÀË”®!??ÏŸ?ÇóçÏñÏ?ÿü7Y"((uëÖEݺuQ§N8::"&&wïÊ($oñ ¤ø -˜” ˜ð=Xºti„††¢fÍš EHHÌÍÍuk‡ÄÌ ~~~2ÞÁòòòpûöm\¼x—.]ÂÅ‹q÷î]yn?Ñþ¥'ãÉrHx§@uðàÁŒððp{mmT½zõðï¿ÿ‡……eæææJn°þ`5€ît*á.XXXÈh.lllÈùóçµNÒܺu+§·#mÓdÌ®PÆv²½ýð‰0y: Û`OöÁžìƒ5Ù #²Fä(ÌI¬È¿0&ñ9#Žðý7,È>x£U[“'[œôL)7NŠ6>”ºóæM™È¶...¢¨¨¨ŠEm×áÇ탂‚8íìØ±C«½É¬X±‚w+""b» +ñ’mïׯßw¡ÿªU«¸¢ãºÐQ^©]Ç{ì>[¦L™âŠp­µ—@ ~~~ÄÖÖ–ë~éUÀi™O³¥ÏHHHàë/GÁÄÑôã¢ÃÊ•+_ë ¯÷ìÙ“ Æ×»£4… £Á4hÐÀM›6­üúõ«”æÂÎÎGEõêÕµ®‡wéÒèÖ­›Vk2Æ?zúi®«ÛÞøêõèý™¶ö0‚) !r‘ƒ\ÀBB|†Ù  †Vö0÷.·­àÜ0Fÿiðž?Éx¨P¡‚TÙÆ CNNNÁoSSSôîÝ{ðœ9s±Y‚eË–]¾v회J±{÷îèСƒV®ò4žÐT*™Ð¿ÿïRpçÎ1bĤ§§K޵ý̤2„\ä @ÊÜÓ§O‹ü=8::ØÕ³»/ìÿ lçå]ŠžIKKÃëׯ9ãù(!÷îÝ㺵 êU¦¸  W¶R '9ñô\߉‘‘ÑŠÜÜÜ¡zD'0š/özìí Aƒ\u¥‘mÚ´1:tèûèèèR¬[ÓÁÄZzN¿F¸dnn.#‰9::’k×®i½¤ËéƒZÛ4Ó­‡ë~>΃l†‰…#ù vd;ìÈ.8­°#›íÈF÷ÒdwE_rú­É£¥«È—§¯dèÒ¡C)zLš4IêþÁƒeh6jÔ¨]êhK:uÎpíp¸»»“?j}Ÿ;räïÎgHHˆ¾çù]²Ý•*Uú®<èׯ›öÏÀxn¦PŒ¿¡Ân¾±±1ñóó#Í›7'C† !‹-"»wï&×®]#Ÿ?Öøïõýû÷äâŋ䯿þ"³gÏ& 5"ÞÞÞªj62xë`b·µÿþTeÁÂÔ©S¹úD#=;ÖAVú&;;[çø-‰H•*U^sð|B 80ŠK¸pvv&·nÝÒ™Ž°sçN2b¼+Žñ’)0{:Æd2@fÁ˜¬8’½ÎeÈþr~dcÛ ”ÄG "ÏÿÚAÒ_¾‘¡ÇáÇ¥è  ɽ{÷¤>œ€€©gêׯÿžRäZXXØqð1:uê”Nô·K—.ñ.B|}}Sõ`h±ðY²ÝK–,)-sss õ^||<ý›ÓQ_)ø ‚\ð˜ùúú’ž={’èèhrñâE’••¥³‹ÆÔÔTrüøq2{ölÒ®];âéé)OÀ˜®£ýÁŒÃ‚¶†††R‰‚…Ž;rõ g=7jƒe6dhhøñÅ‹¹ºÊóäädbnnžÂÁ÷p}.~â.\]]¥›º‚]»v###­2¶‡„z/÷(7|$Ìöôµ´ü0¦d¥‹7ÙíDÖV $3CƒÉŒæMÈ?üA2RR¥hžžN,X cO=hÐ ©çV¯^-ãäǬ_Ôº7iÒä×ÄliiINž<©3}íÚµk¼‹òåËgêÁð2@²Í&&&äÇôyõê9~ü8‰ŽŽ&QQQ¤mÛ¶¤qãÆ$44”///boo_ÐO…B!±±±!nnnÄ××—T¯^4hЀ´jÕŠôíÛ—ÌŸ?Ÿ8p€*;(XpØÝkƒFâ{,*Ú´iÃî[ù`âœê*¤ÎæX[[S‰‚???vŸx¯Gã…ŒÛ])ÌŸ?ÿ‰®ó}ãÆÉsýcÈq ëÂÅP.áÂÃÃãÿìyxSÅúø?IÚtß[ºÐBÙ‘*"‹"Š(  pEDED•ëÊ7ü!.¨¨\¯ ^Qå‹¢²¨hÙײSÚ²tß²Ïï“ö¶i’&mZÚd>Ïsž¦''sÎygΜygÞEdddxmCøæ›o¼BÉøüê!‘óÛwìõ¯Vmnúçµ×åŒKm#F%µ}Â#DZR¢hßB„ŠØØX1|øp1gÎqà 7ˆÀÀÀ÷!Ο?_)£ÒÒR‘””Tí˜ë®»îÏú^óˆ#ì†>ŒŒŒÛ¶móªvæLÁhÕª•ɺ˜¿lû•;î¸CôéÓG„……5¨óm@@€èÖ­›¸å–[DŸ>}l¿7¡ä ”ÔÎ?meûÃ?ÈQ¤•«¯¾Ú¶mó5…óÔ©S²!XÑëõö¬$6ùPq¿mûhÑ¢Å)³Ùìõߺuë ;ï£'.f…\'ï|ðê¥K—¾YVVfoÈW_}åÕOÁÀùùçê>xÇŽ øöÛo·£ä¬kòLØ´±À:[°óû÷ÞY·yþü“›7oV–b‹ ++)×±~ýz{f+Y¸paµÐ´¯½öYYY•ÿ‡‡‡‹øøøzy]ßtÓM_¬Zµê&Ûý±±±lذ^½zùL/¬×ë5B­J¥2xé-^jÝ*9}ú4Ÿ~úicÉ—½{÷²wï^G³l÷ „c•8g펃ríµ×JÉ{öì©U^^ÆnàÖª;öíÛGJJãG2 ÕœõF#ÁÁÁ„„„TþU«×ÝêСC˜L5æŽöúÈã fÙîüâ‹/¢».+W®Œºì²Ë,T÷ó{xÍ:±å †^¯ïbO¹xÿý÷}ö…qúôé æxÝ#FŒÐOš4©»bç–-[ÜŠÒ0zôhîºë®Êÿ=ÊË/¿\í˜k®¹æ«O>ùäT]¯oüøñŸ|ñÅãl÷'&&²qãÆñŽë³œöÒ[œÖįï”hRf$n+Ñhtý ¨6˜´ýа– ÙÙÙäææúš‚QãþöíÛÇðáÃ].Àd2qæÌNœ8ÁéÓ§)**r9â—­BQ•íÁ¶}8Û—””DëÖ­iݺumùŒjÈÂÞné+®:VÝѯ_¿CW_}u'¹.½ôÒ˜«®ºêÏ_ýõò*»“€Ñ(‘å|CÁxŸ|òÉy å„ >úöÛoï²M”舃"„@¥RŸ1c:®òûÖ­[ë³³³ï¬ëuMœ8ñƒåË—ßa»¿uëÖlܸ‘víÚù\]•——ƒ’áÚ ꔩ<88˜ˆˆ"""ˆŒŒ¬ü†N§£  €ÂÂÂÊ­  €ââb„îž*ÅÙû[Ùs8劣~D]Œ’’N:U™´îÔ©Säçç{lé FScFÛÞ€2..ŽÔÔTZ·nMjj*­Zµr)QœÕ ðþÙê7mo•Ðb±pèÐ!þúë/Ž9‰'8yò$'Nœ 33³ZÈø†D§Ó¡Óéì)‚.Z©l´nÝš6mÚЫW/.½ôÒʇƒS_YÁ¨1©ôá‡&ác,[¶¬sJJŠe¥¼ªl¤‚!iþ|þùçw¿þúë/mß¾ý­Ÿ~úiè¹sçüÔj5)))´oßž³gÏVv†‡bîܹŒ?ž^xuëÖU–¥R©=zôì7ß|³NNÉ“'O~û“O>¹ÇvØ®];~úé'Zµjå“ud2™ÈÊÊ ñÒÛ»%‚”]âââèÕ«½{÷¦W¯^ôìÙ“øøx"""ðós¿;´X,“››Ë¾}ûعsgåvüøqgÊÇ}RÁpyP9°âÛ¼BŽ;Fzz:éééŽ?Î_ýÅöíÛÙ¾};ÿýwäÞ)))aß¾}vW'RSS¹ôÒK+·¿þúËWŒD šùsË–-téÒ¥½¯u–ÉÉÉá:uÚ}èСUv:>!„{ï½w:2«]çP/«jí?þñ»_~ùå[233¯BôBÜ|úôéå:uªU7ß|óÁz´±×íeQïܹ³8sæŒ×;|9sòį¿þ:ÈK»—]Uï300PÜu×]bíÚµ"33³Që   @üòË/â™gž‰‰‰¶u`Æ·2ëÖ•wlÛî‡~(~øaqõÕW‹ˆˆŸy?$%%‰o¼Q<óÌ3ö¼õ>2a¸MŽ\Þ²|¤xÆöÞ-ZtÒWý?ýôÓ=vÚÂë£bTã¤÷Þ{ïô>øàªû^yå&MšäSoÎ9sæðÉ'ŸTþ€^¯Wù½¯_¿~ΤI“^:wîœÝûmÕª•á•W^é2a„£uë³ .|®jp€îÝ»óÿ÷´hÑÂëå»sçNz÷îíðû•+WŽ;v¬·Í ÷¶Úû"!!п @ZZþþþ¿!û÷ïgëÖ­•ÛáÇþ<ð¬Ô!œ2 xWŠ¡Vv=}à>— „ öjµÚ¡/„;~ ø¶U5³³ýßÞ>Ûÿ=l¾µð…ˆÛË*þÑh4e………Áõâk˜ÍfK@@À9³ÙœPe÷”UŒF¥ÉÌx„‡‡“àS !((_eøðᯌ3fgFFƇ{÷îM®0% —\rÉ–ÂÂÂÑ&LpÛÆá¹çž»wÁ‚5”‹´´4~üñGbbbäPÈÏÏóÂÛºÏÑ999¬\¹’•+WV>{}úô¡ÿþ´nÝš¸¸8bcc‰‹‹#..Žèèh4ݲ 8þ|µ-33“?þøƒßÿ‚‚W¯÷n”hRÒÙÛ11ûQ©T´lÙ’¶mÛæÐ/•ÏAAAÆjƒÃŠÏ¶í;wî•NãMANÞØ4 ©©©tìØ±rëÔ©;v$99¹Òÿ¯)ÍáÇklG­‹_/˜G…ÕB@^{íµY!!!>gU¥½«‡ ¶gýúõUÔíQ»œõICâ{|ýõ×?)sæÌIÝ»worvvvÁÈ‘#÷?÷Üs–º”7xðàžo½õÖ»¶ö·}ûöeýúõDFFJ¡[)))ñFC ”âÄ£‚òòr~ýõW~ýõWû©ÕDEEU*%%%œ?ž .ÔÛØŠÙ:«” œ”-Ò3ʨ¨¨ƒÈŽ;Ò¡C—œ§ÝÁý‰‚¬¬,:Tm@yèÐ!Nœ8a/ì¨/&¶‡„„»uß¶m[´Zm³¸¹ÄÄD4¨º«ÙlæÄ‰5ÚÉáÇÉÌÌtäëå ¤úÚŽcÇçó³ˆÓ§OO²“`ðµT0$>Å+¯¼r8žž^×bB8ðÛ… ªM;_~ùålذ°°0)è*”––†zámMBYŸŒ¢êRÅb!77·^`ì C1[X¬.È–X+E(¶ä•aT*ݺu«6#]±UͧÓ¨XYiÙ²%×\sMµïŒF#ÇŽ«T8*”{öì±çÀ¾ßGÚC íŽ™3gòüóÏ{u¯Ñhh×®íÚµcĈÕ¾+++ãí·ßfΜ95ôWhlw 4( gÈ!]Pr_øIC"©']»výzß¾}ÕÞ0ááá|ñÅR¹°7ÒÕé¼U(åÀjëæ\ ܈’x¯И÷­G™ELÖ[·RÙúÜ" ¨f;{ÅW°uëV¯¿q:uêD§N9rdåþÕ«WsÓM5r†vð‘ö0ÌvÇ­·ÞêÓ}|pp0·Þz«=c(°Ô—Œ   Â6mÚDøz§¬ŠŒŒ<^PPÐÁ™2& ‰¤ºuë6qïÞ½5^<‹/&55U Ⱦ‚á pF”ƒ ÖÿU@;›Ý^AAA— !úétºj«9qqq¨Õjòòòj˜CÅÇÇ£×ëõEEEZ‹Å¢²Q&þvX·(³ÊFÙÚêÅÕTÏLë󙼌ŸŸŸ­ùÔP.R¤˜‹©`DDDpÅWøüCÒ¦MRSS9qâDÕÝC¬}ž7¯d\a3È£JÞ_¦W¯^g7mÚTUÁHC™tk´w’ZVƒ¤™£ÎÏÏÏvçí·ßÎĉ¥t ×ë}1Ć@ñ{ø xº¼¼|†N§+ªzÀ˜1c8wî999tîܹFG%??ÿÔÍ7ßüÍWàm`ð”p¹R¹¨?Clwøº‚NŸ>}lw_h½üÖ€îÕÇ!ƒ1ø¶&v@ [yyA¶ÊÄàÁƒƒdK°Î8 jëËê4ªŠ\Á4k~øáE .¬6ݦMÞyç)ç F°‹ +°%²Fe»ùè£*°™ àäÉ“téҥ×_~ÙaĈ†õë×k«ô¥Ÿ[ÿÊÖ0 FDD}ûömFt:F£ƒÁ`÷oÅgFƒ¿¿?Z­¶òoÕÏþþþØ ×:lØ0¶mÛVuW0ÐØäÅm¡Æ*õu×]W÷Ù!(,,äÂ… v·ÜÜ\ÊËËíÖ¿í>!Dµº·mû‰ŽŽ&&&†˜˜bcc+?Wlu Ÿ=dÈ–.]jOf»½´=Ô,·k×.^v™ ;w¶'‹( G*Ií/MïÞ½§VݧÑhX¶láááR@N0 ¾<ÓÓ ÅlªÒ#X«ÕòÅ_TFÊÏÏ·› ت`\V¾ IDAT R©X¶l™¶wïÞœ:uª²ùŸ¡¬ /—­¬Þ$mQîÌX—””‘‘ÁÑ£G9wî\åÀÑÞß’’߀V«­DÆÆÆÖøKjj*íÛ·¯–©»6†ʼyóì &}JÁ¨m5«¸¸˜#GŽ‘‘AFFFåçcÇŽqþüyw¢t5´mÛ–:СCÚ·o_ùÙY§ÁƒÛm*x¯é\ #**Ê'òˆ¹Brrr+;»£ó<ª`Üyç‹6nÜ8½¶ãV­ZUÃ4ë©§žâå—_ö©`¡F¯×“œœì’Yň#.[²dÉ._~€žzê©'wîÜYÍ,`æÌ™ôë×Oö.µ+k#膲tßÝ:È÷·öEþ(QbQ–¿À!à u;d ø;Ô ðJ‚»j&b¯¾új5³{«¶û£££ùâ‹/¸êª«ªújT(ƒ€'€¼z\kªu€Ý©ÊßGöŠÍˆ-Ä”¡8•ï¶nÍ=“ï5®(>Ìþýû9|ø0•³³³/ösFVVYYµWEXXXå`²âoÇŽéÝ»wœIW\q¡¡¡¶JÑPà)/Vý§cÇŽÕ|ìòòòزe ›7oæ÷ßçСCœ={¶ÙÝdaa!;vì`ÇŽ5¾ §cÇŽôíÛ—2`ÀRRR%Äí%—\ªþ¤ÂtÎà…í¡Æ`9::‰Bll¬½IÄæaë¶Ûnû —ö^nU¶{ï½·¯?@}ûö½PU&*•J=zTH„øë¯¿œ¶Ÿ[o½uC#VU;`®UY¨oÛ¯Èñ°Èª0Ü`€88pð—YÔß¼yóìžÿÆo¬qì›o¾éèZÏs€.®K ´F1š ¼ŠFp/JHÛúÊ*x%zHsœÙû·í=;vL˜Íf‘žž.Þxã 1fÌÑ¢E ¯îëýýýÅå—_.~øañÕW_‰ììl!„7Þx£½gÃ[Ctv³•ËØ±cÅ'Ÿ|"¦N*ºté"T*•OŽRRRÄ„ ÄÛo¿-FŒa½´MÜb{¯ÿý·|ù[ÉÍ͵×&ICnRÁ¨…»îºk´­L†*{+[·nuÚ~FýkW‘p°µŸ 3JÒº_€-(Qœ²­ûk¯V«Å³Ï>+Ìfs5Ùét:o÷*•J:t¨†¼W­Z%¢¢¢œ][žuõåO߃֕˜Æ’ÍqëÊMsJBuªê=hµZqýõ׋ððpŸïÿÛµk':tè`ï»1^Úå?ÜÔ”¾ÐÐP#’’’DJJŠˆ"00°©);/xi›˜b{¯òåoÅh4Úk 4fI I³äàÁƒ¯Øî›:uªŒƒÁùЏ¢!#È^Ú×v`TT)))¤¤¤ˆN§C§Ó¡×ë9~ü8gΜqç¼j •usJ\\Ë–-cذfÝ|öÙgM+„,Z´¨FÑ£G“žžÎøñãùóÏ?íÞj}g—###¹ä’K "00€€„dff’™™ÉÙ³geôÅÜêiëŠÏkÀKVÅ«©ÒH±mÓëÖ­óø‰bbbHJJ"""‚ÀÀ@—6 ²Vüµ÷Y§Ó‘››Ë™3g<š´ñèÑ£Ž¾F#'Ój$<:,$$„¤¤¤[Ë–-IJJ"**Š€€»›Z]{÷i0ì¶‹ââb²²²ÈÎή4Ÿ«únn®³ç¸. ³>ûÞF¾í{~s¾JQQ‘K2kÖ ÆØ±c •µ]Ž?ί¿þ*aeòäÉñŸ}öY'ÛãèÑ£¥p¬èõú‹uꡘCÕ@¥Rѯ_?ÆϰaÃhÕª!!Î£åž 0€®]»¢R©œhΜ9ömÛX±bëׯ·×ÂQV2®Æ…M´ ñD!ñññtëÖ­rÐXuKLL$11‘€€€F{&m•Û‰'صk—£A; õÂîL‹âKP'bccIKK#--K/½”®]»Ò²eËRYÌÝ$€ƒììl8@zzzåvüøñº^Ê¥(¾o^Ö.jDCò¤ßÜq ‹FuJjpcÁ‚2ÙY=ùïÿ+Œ*DEE=kýcòäÉhµZ)œ*/©‹ÀL{ÊÅå—_Îøñã¹õÖ[+]¥uëÖ´nݺ2§‰‚ŒŒ vìØÁÞ½{9|øpåVVVæp°~É%—0eÊ&OžLD„ã¼rAAAe»HOOgóæÍU#Ø9Cc}νme«†‚‘——‡¤é(ÅžÆñãÇ¥1\=ùüóÏ¥Fn¾ùæÓ¶òøý÷ßeC©ÂÊ•+ÚåŽ5jsTM"PTõøà{¶Öe@€ŸŸßw¶ßMš4ÉåkËÌÌ?ÿü³X²d‰X°`X½zµ8pà€0 "Ÿ_|Ñ^;¸­‰>â*àµØ–'''‹‡~XüøãâÂ… ^û,gee‰o¾ùFLš4IDFFºbs—uùóÝoDD„˜4i’X»v­Ðëõ>ÌãÉ'Ÿ;w®­M,ö¡@°í}.^¼Ø,ßþ k×®µØi-¤‚!‘ †³Qlbb §ÝÌÌLÙPji3 `T¬bT;×òåË›¼¼V¯^-ìÉê?ÖûºÃžüñ&o§N!!!¶×þMøïí¨Ý&%%‰‡zHlÞ¼YX,Ÿ{® ƒøþûïÅ”)SDtt´£çÛÛ=n·½Ç°°01qâD±zõj¡Óéd‡/„Ø¿¿xá…DZZš½6qØK‡Õ&´fÏž'[‚‚ l'iL(~І‰¤q×]w]]­ÝªT*§ ˆ|‘‹d"ð6P-?Ë#33“ŒŒ ôz=ƒ¡rS©T´oßžÎ;»í éééé,\¸åË—c±ØíwŸF {‹µc¾%Äl5ïÐ¥K—²wï^üqnºé&·2M»ƒ^¯'##ƒC‡¡Óé*H+¶ääd:uªû€5kÖ°jÕ*Û¢^¡iÏhÖð¿8qâcÇŽeРAŒ5ŠQ£F5;ÛzOPXXÈ÷ßϪU«X·n£€±(ÙêwxÁ-ÁÎDèºuëX·n†þýû3jÔ(FM‡|ª=ìÚµ‹U«V±jÕ*vîÜYÛáC¼Lg¬Ê»wï³X,.Eùòv¶oßlGVŠT0$Í “ÉT#ôiBB‚Œ åååóôÛ¬/²J[ð÷ߟɓ'Çk¯½ÆÚµk9}út­µlÙ²2³q»víhß¾}åçº(‹…5kÖ°páBgÌÀ à]›ýQ’üUóVÿóÏ?¹å–[hÛ¶-3gÎdÊ”)uŠžg49~ü8GŽ©Ü222ÈÈÈàĉµ®”ÄÄÄ0tèPfÍšE÷îÝ™1c†í!GQBÔ6eRíí4 lذ 60cÆ zöìɨQ£8p =zôðÊ~àÔ©SìÞ½›Ý»w³iÓ&6mÚT5k¼3{‰‚qÂ:0ji÷A5›ùí·ßøí·ßxì±ÇèС—]v=zô {÷îôèÑÃíÀM½^ÏþýûÙµkWå¶{÷nw¢& ÀÃyþD•D‚:N»wï^K=|ZÃÈËËãüùó¶aÑñ:ã•W^qµER;B°RTT+Œ&¯`ü¸kb7‹ÅÂÈ‘#ÉËËÃ6˜3Μ9Ù3gØ´iSïâââHII¡eË–´lÙ’äääÊÏaaadggWþ>33“3gÎpøðáÚÂÇ–ãï|¿¸X‹â+PcÇŽ1sæLžyæ™Êð¨¶×Võ¾ª^[Åçú˜[åææòÅ_ðÅ_œœLff¦í!ÓQ²„7eKP2õ:¤b UAlllå ²âo×®] nòÏkaa!û÷ï¯T&vïÞÍž={êbZhFÉpÿž—te=PL/ÇS‹Yw…2þùçŸWŒ¬Ö&ZµjE||<ñññÄÅÅ5‰Õo!¹¹¹œ={–œœrrrÈÌÌdÏž=ìÚµ‹ƒºÕoÚ™T˜jŒ{ßóªîxî¹ç¾~çwÆàÃ.öÞ—ÀºÆ¾ÚiÞvÛmÿY¾|ù$$ ν÷Þ{ù|°Ý×î{ܸqÛV¬XqEÕ}IIIôéÓG6Š*:tˆƒ:ü~Ô¨Q[Ö¬Y3°/ãnàÃf$¶#(¹!\™ù þ]Û ¸‰±Â:Hk.\>ž-Z8üÛ¢E ‚‚‚@«ÕÖyÐ)„¨‘hïÂ… äää]9x´ýßQc7(Eqî~Øí¥ÝZ”•Å)€Gf-U*QQQ• GÕ6\i~XÑ.l?Wü¯R©ª%Ó«ºÙî/))©¦Hœ={–sçιº2årSD äð.°†¦T³¾cØL ‰3Ê€hÿ»FCšHIšÅÅÅ5^,YYY¬^½Z §é±Ôªdô³ó Øì²ø_4-Ðh‡Ó¿1–§Ž£$ŸûÔz]®PÜŠêõ-kçÝÐX• £Ö¿%Öý!@Ð ÅöÞ^öÂ"`V3k?¿Z·–VÅï*”1®`±X*“Ù¹;ð´PVXšÍf»ÈF®pÅ×éàsk{3ÇG€'QV¯Y?×i™JA^^yyyÞ`)pÌÚ¶X•‹£>ðŽ(«Í÷ qÆO­\HCÒüz! R ͪó¿ø%ٓɪt|€bjäJ‡bU6*ŽöU>§P¿eð“À (¡hë:}¸Åñ{&p/Šƒm}8oUªn …+× 3ÊJÅÃüÏîú »™¶£3ÀB릺X—[Rô3•JC}2Ç{øY:Xe¹ÙÚ&|°Éºø—Y•«PLì½\F”•Ö-U¶mk¥‚Q+ë.ÆI=­`dȸÆÁÜ”ãb6 &“鼬ýfÅ.”þV(3‡Üü})ŠÉ‡=³-ŠÙDU¥£âoªõ{[NYžuÀÇõP,ªrÖzoó€ Àu(þíí(@eÅÆVy¨ø\ßYh3°%¼î[À@_à/RZ÷Y· 'üvÖåÖöÐʺ5Ó{,¶¶ÓSÖv¿Øê¢‚é‹QKl^¶*Ù½¬[+›-lFmý,pºJ{8eU,þÊeÕÊjƒOǬ¿'UI¹Kšiii÷¥§§¿'%Q?É£j?#ù5@Ê Hˆu°y e… ±E ¡hD±-C1sjl'ë‹!ÿ¦@JìÿÖÖÁ¥íߨ‹pMf”•¤ŠÁâI›Áã)k‘4ܳg£t¤Tùní+ªnžô×[Ÿÿrëßb‚ªJDÅçL@®Ø»Æ-éynèQü¥‚!‘ÔFrrrÐG}k±X„Ñh´˜Íf¡×ë-:N”——[JKK-z½^èt:!¥åàÁW©tóæÍÓIIH|˜ JW6K•Ab¹“ÏU÷•[\“}³Bc­ó@'íAm­kú¯úY¾“$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰D"‘H$‰¤Y£’"H¼ŸÏõ­ªu,†@Ô„ùá/4ô&ôÂL™ÉD Kê`,~™ŒdšÙxBGL»Þ ¿ñB5œË;ƒ¿ÆŸâsùè XÊÀ 3Q^RÄ'kçIaK$‰DâãøIH$ÞOLpÐwZ¡2Y4fÔ&ŸJ Ì&,˜ñC®Õb1(,.Çd4Œ¿Þ€¥¼œ¨K ±žGXü±”#´Z°˜j0ùY0©Í4j)h‰D"‘H$RÁH|0•Ú„,* ?ÔhüUi4—êôC£“^‡Eg$ÌߌFo&°HGˆNMpi!AÅù¨ ()A¤Ec1ˆÁ`¬QaÒJC"‘H$‰T0$ŸÀPT‚Ù,P£B¥öCã§"L@ Ÿ?aZƒ‚1M„ F£ È¢¡Ðh!Ïh&²´œÈò’ zB5ÁhüÀ ‹½ÊµŸ ´„Y#-‘H$‰D*‰/„šr³QQ6 FŒ–2tj´$FE¨øY,DšÁ 7A¹‘àÒ2âÊL¤šThKK‰Ê»@t°”©ÕèÌ&òÌe¨ÑkThüdw"‘H$‰D*‰o(~jüðG­Ra4˜(-Ó¡3Q ”¨ÕéŒèKÊÑ—ê ÌŒYgÆÏ`!Ñ_ËUQ-8Y\Láî΄¡Š':9™23¨Ñ ˜Ôôj3B"‘H$‰T0$Ÿ ¸¬­ŸáÁÁhƒ Ó€ÑLŸ¥yE”•b(,G]lF‹ÀA(Zb´ÄÄµà‡½ÉÛ¹c°­â‰ó !4ÿ tA@©&R‰D"‘H¤‚!‘ø!¡¡h5ŠÊuèÊ 0”é)/)§¬¨ŒH?ey¥˜Ðá„ZÀhJ‹i¥îȘaƒÉÞ»“£¹ùd<Ío§r¸lȵôè‘J¹±&âòb)h‰D"‘H$RÁH|ñ±äSn6QTªCW\‚¡D¦ÌÄ9c H %œâ¾$*½Äé“eŸ"íТ*3b>EIè1‚ƒ£ $T%£HI¼š6@/ ìvER4‰D" ‰ÄçOŠ£ÀhÄR¢¡To$/¿u™ŽXB(P@‹†˜‰'”à¸8vŒ äpŽü! %œÚy“† .—æLˆŸT0$^ÉmÀB …ïðp/)Eåsh€+0àG@/E"‘HCÒ„xðÁ„……íx饗–Iixsp0Q‘D˜ÌäŸ/¢¬L‡ðC…ˆ¶Ž”ŽSD~ôŽmƒE¶Ÿ?†=Z@¨0!(Æ#¹œ£øD0É-ÛãEˆVv'¯"xëä0Ø<ÈþË·ø¸Ôú9h˜¤X$©`Hš‡¾þÇœ––ön¿~ý–vïÞýÉiÓ¦•IÉx†<µ…1h´œ;‹5z,˜0£Bñ·(@±û˜ˆ3èÉ/.e'z"P̥­eÅÂå„ð:N–ä£+)@˜uø…x›ØRQLbº ÌNïÈD“#0ç¾—Íà¢ÓÎξ¶R,I#+“&Mú<;;»O}Ë騱ãGï¼óÎK®ûøãÞ±cÇõ=§F£1­_¿¾³«Ç7nc~~~ëúž·sçÎï¼õÖ[ }¡! sÕÿÏœ9£Y¶lÙ   }·Ür˯—\rÉØçŸþ‚§Ï;eÊ”•{öìé5xðàË^}õÕ|o•ïy]9–2#¥çΓWRŽ4(‰÷ÂPcÀ‚°vÿ[É€«ÂQnåà<…Äd…PD91D¢Q«1©-”™Ê›»˜ZKQf!Ü\ L~•¯‘F¥ðà;ß%Y·€wGëpŽÀŒ:^_°¸Ìúè¸Ë}À—¨ª¨ÎÖíÖvú0ÒÁ\"i*ø[';âQ|sr€³(RÁhHNŸ>ÝÿçŸnUßrâãã/wcÐÚnÆ íê{΀÷ff8pùž={Bë{Þ¤¤¤>¾Ò+V0l)//端¾º*111çî»ï~ÿ£>zÐ:έï¿ÿ¾ÿ÷ß¿}éÒ¥=Ìfsæºuë®»þúë7{£|‹Êuë)Ê9G‰®uH¥ F%€rô䣨ÿ´D™ª/A™Æ÷·ŽÜJ€lô#›søÓ¶};ò1ªÔèÌͺMþ¶êT®Ðø¸X'ß­Â(æG®¼· Dx|çæy´èëJW¿ŒUnüFc=þFWçF€¡Ö-C6 ‰ä¢½7&#­¶}“ÅOç[àsà„/ G†}‘4 L&“S»öììlÍG}4½G…³fÍšTŸs=û쳟}öÙ©Õ«W÷¬Ø—žžüÈ#üòÙgŸöFù–—ñ@ŒIëG¡ÚÂÌ䥸QŽ þ„¢øZ£x¸¶·n¬E,þ‰ÂhÇi³?D'‘U¦çBQ³¶zß å¢jÿù!öM©$ž% %’“;“b!(« nž«·®×Ý2sC¹¨ ð‰U9‘H$GðrãøP«Nݘ Fà_u<ÏVåD"‘4]PVGŸ¶¾]E ÌöYŸ[©`H$App°Ë`„lذ¡Ëo¿ýv桇ºÖóŒ?~åúõë»:ú>33Sýú믯˜={¶W™§E…à'4ø©Ôhý4øûi0!(EL *ü(ÇB!:òÐQŠ 4h)Σ“æàOZDt8‰ñ'$rÁb"ßl¢ÐØlCÀϪçïoG±»•4 3¬/õº2 ²µ‡Þ‹mÜ8ö5ߺòÊ‚£ÄóøÀg­J`åÖµk×'í£íqÖmÿ Ä'i¾\ lsóù¶%Ø„âKåõDrÑ Íq÷7GŽ üè£ÖO:õÍ%K–Ô:Hœ:uê~øá˜ÚŽËËËSmÞ¼y7½´5*øi $<$u©|J).PN4þ¢Æ€#Œ¨ Ah(D…†0ü¢ÑFÇ#b[RF¡ÆL®^O°Pdl–>šz^+¸Ù§¡èç¡2¾uḣ(‹uõ5;:܈÷§Eq~—¾@žç?(‰k°oß>{»o°nöÈ´*°)ÖfIð î­Z8"eU6/k,W0$MEÁ8S—ß•––ª–,Y2sÔ¨Q{>üðÃ0GÇ=ûì³?ýôӋŵ¾ý?þˆ™2eʧÞ"ß‚ÂRŒ AÄÄDEHx~ÀAÊɤÔꇊ–ÁèÐRH ű‘è’PujIX÷DôèB@‡6ä‡r¤¼€sBOÙH©©Y*QLp<¡`H‚QÌÎÞ@‰²uø%tì=¸oƒÜ˜>:[éú²ÓÅãZãwÛ_'”•»OQL6²€µ(«!Ãd®œ|ð¤O^2p¹k³$Xí!å¢?àKìGÄó ä †¤Is¼>¿_³fM·S§Ne=ûì³½çÍ›wÄöû'N|~äÈ·’_~ùåÄyóæ½÷ì³Ïniîò-7  !40ŠÐðhL‘QćqálGOœ¤ G(Æ‚´´P…×"ŒÐÐ@ BÌÆDÛ’ˆxŒQ˜ÕœË/%ËPNJ„‰²æ¹‚ÑÁCåt–O1}Q;Úìµ~Šsäݸ¶â’h®¾ôrãØÔUkG\—3Ò\? M 0%ЂT0$O“””ô=Œ }àÀÿ™3gNlèë.++cÇŽQ(ñöG$&&–wêÔéN÷êï¿ÿþsSíÏ¿þÎ%mRi׺5 1-HŒ‰§¨¤„³…”•—I|l<1))˜LfJõ:Ž\8ÏÁ ù”UéÊÉ))áBa1E%F :ƒ½^‡É`Âl4‚ÑÔ\›ÞÀT[[wÑ£ÌÂû*j‡åt•(Ñ”N:øþ`0®Žåϯ£X€’ãäk”šÊËZ«rq¶Ž×÷J´¢Vuüý=(öþ΄zÖÑMRÁ †ÒÆKÏ% ‰oñüóÏ/[ºtéÇYYYsª6™Л”=ÞºuëÒk®¹fÅ•W^ùÈ”)S .–l8Á±ƒ' ¡sÛT®¾ü :uhGû䶨ü5””é(5ÐÌ öCíŒÖü5þÍ9ù2Ù%…œ++£Î$(71 f“‹É„ÅÒlŒb”Yîf‡¿%«¯ÒÏ„nìíDÁ˜\…âàé(“êÃ×ÖmŠßH§ß(Ù|³=Ðþ¦ëëðÛ÷qà#PO„P–a˜¥‚á‹$xé¹¼‹ÁƒŸ„Ü\ßî¼óÎå¾ÖNF޹ߓ2T©T+kÈ!bÀ€ÂÏÏÏíß&$$˜Ç·f„ -doÐd錒¥Õ•:=‡2«ëëLðÐóõœ çêƒ6ÔÕ2ë›q×–ìœã–?ÅÛÕûû u¡Üß=TGrT›ìÈh†‹W1³Ç| ½Mx2L­¤IÑ®]»Ïë[FTTS¦Lá‡~`Μ9»¶#F°yófrssY½z5<ð;vté·999ê+VŒ\»vmÎwܱâøñã²¶›ÀOµW†’0k•™K\O•³ÅWãuœÏë€ÇQ|(Ž{ð^í9š÷ö`ù‹QVG6Õr\Šãéí@I«#_G®`xÙ^z®FAšHIš©©©‹Âž+..v;¬l\\ .dܸqøû+áõ7nôœ¿uYYáááŒ5ŠQ£”à'OždÆ üøã¬_¿žââb‡e«>ýôÓ[>.¯]\N9ð(ÊjBë ¿—u`—’¿¢ØìáÁžŠÃ§+JG}8 üJø^?”ð˜ÉÀGî(AŠÜ(3èZÏë*²^›Ä9BŠÀ«ÈôÒsyÒDJšH¹ÂÌ™3S“’’LîÊjܸqâüùó–Y³fy¬>žxâ Qyyybîܹ"22²ÖòŬY³ö?~\š4 f¹Ù&¾|\fA(ŽÎõ}¾zÔã.G ÷Zµ¼¯<|ŸÝ\·§ÝííœcS#·kÑ×डD@û ÅÑÿc”H@ï¡…u¢¢1Æ|—IqKC* ÄÃ?Ü¢[·nEîÈ(<<\|õÕWü÷ß¿ÇêcöìÙÂU ÅóÏ?/bbbj-·W¯^Æwß}÷!ÙK4+å¢b[CíÙ¨½¿ëùlÔS†C씩b|¸lºV.\¸À–-[|öþß{ï½à¥K—îß»wo˜«¿ eýúõôë×Ïá1ƒÁc×èNYááá<ýôÓÌš5‹wÞy‡×_óçÏÛ=vçÎ~=ôТ)S¦L™0aÂaÆåÊ'¢Ñ•‹º:ؾ@ ¡jòaùý‚’-ºNs ¸žùÚö²ìjQòW¼é¡{td ¥²~÷«ΡFɈîÊý¹Ãvàe»ÂidvjPf³ßÇqp‡dëv£õÿ¿¬Šé!)ºfÍr`PŸãs)æz`»‚/$ÿãçŸöÙ !„ææ›o>ê®Ö߯_?‡òüý÷ßÅôéÓEDD„ÇfFŒ! ëT¿¥¥¥âõ×_ NÏѱcÇò»îºëjÙc4êàØíc…‚Í™·ê(·ïz«ì5šrQ±-÷a%#%ˆ;ò: ´ôÀ¹otrO9aç:9ÇRã3å{Êùs(5}UjÛæûx¡FYý©oß ýµš7#PÁ¡=­`DGG N'5 +kÖ¬ñIcúôécêüpöïß_ìÞ½[¼ûî»âòË/oT™®]»Š7ÞxCäææº]ß‹/Îî;**Ê2þüeÏÑl”‹Ší|7ü·ø'Jd-g22£„š òÐyG;9×"”ŸRËýxb¥$e¶Û^ùž _Ù X‡k6áCe7Ál{òñ÷÷;w#GŽ<òˆ˜={¶¸æškDTT”3™ÊˆÍ›¥ ð¾ø?ênZ*q¤`"--M9rÄç•‹o¾ùF„‡‡ûœ‚qà 7·iÓ¦ŒfîŒ(|ðAqæÌ·ê}ÇŽ¢C‡ˈˆo½õÖ ²÷ð8O6p›øÌÇg+;£˜LýäYeRŒ’øîßÀÿ~´Öƒ'ã¤.Σøc4ä쥞ú;ú߃󤎞À%díÛVÙ/vëyN¡DCz™óà”°ÈÕêãöÛoÙÙÙûõo¿ýV$%%9R¬I±6[üT*Õ2¾'6Ê笌ŠA”³(@ÞŒÉd?þ¸ÏF‘9räF¼(êW`` ˜9s¦Ó—-EEEb„ Ë /¾øâs²ñÁ(ÙѶ£Ì|K Ö:K§ÎRÝöØ2º¥–ºSÏòŸu¡¾ëkеÅIÙünU6ç¢ø;ÔÕÿ¦ÚåÞ{ïµÛ__¸pAüôÓObݺuâäÉ“vyòÉ'm¯ÓDÝø[ïiÊÊß«òé¨Ý˜€=Vå÷f Zv?.sÊÊac¿'ô(&™þ² êÁĉ×úùùIźÅÄÄXf̘ñ„/Ôýu×]7 7}f̘!NŸ>]­ãÖétâ’K.iõ%–-[æ’’‘žžî0GRR’qΜ9meR+AÀ§M¬ìÚùx½<í@6×£ÌÉ.È~_ËäbÝP7‹€a.”]Ÿ™h ŽMCšp;I³>¿9ÔßeŠ9XÏg[Ϋ¯¾Z£ŸþòË/Ehhhå1*•J<ðÀ5Ž[µj•½ëêëâµ´GÉ£±ºe•ÍbUJîÆ·sö8# e5õb¿+öÝduÔƒY³f͈7ûºrÑ£Gâ§Ÿ~º¯¯ÔûèÑ£·¹*›nݺ‰C‡9Œßxãͪ®o»í6a4kU2¶nÝ*í–qå•WfËÞÃ))(Yt›bÈCI ç«Lp —BSºp·‹²¿¼eÏt£në¢ø»•¦>YÎtPæÙ&Ú>º+­ƒá†xþ¡„žqGéûæ›oj爌Œ´{ŽuëÖU;öĉöŽ›æäü(ø Ù‡B±ý—!R«+sǚػ¢_s¨ßÅ<ùo¼ñÖܹsY»ví¯ÿýw„£ã‰o–>yÒyÖQ£Fí8p`¿Ç¼ÔWžb£Ñ˜èÊq·ß~;ï¿ÿ>ÁÁö-Kòóó9räH³º÷åË•À`Ÿ~ú)jµcK¸~ýúñæ›o2uêÔßýöÛo “'Oþúã?ƒÄ–KPb‹'5Ñë‹B z7ŠÍ­¯áȾ8x¸³eºjRzJd wèåæ±ÇÜ8>ÅtÅS÷gKð¼›õp±HX½ i"ÜÑzžQÌŒ>Dñ UŽ©áoWíÿÇSPP`÷Û¶mcøðá•ÿ'&&¢R©¢ê)hmç§W¡˜æÜ‚çrÄ8“ÃQòÖLCI’éËô~šÒ@3 ØÜd}§Iê¢E‹ÆŒó§J¥²«Éi4ñòË/7«(QEEEb̘1N³PO›6ím_¬ï«®º*¯6íý¹çžs*ß-[¶ˆÎ;7ÛU«iÓ¦¹ÔŽn¿ýv»¿O>ùä$Ù{T£7ŠvshœÏbz+1µÈ¤.3v.™\ªÕêB ЂU*ÕN7êôy7¯{ªe×…¼¾jBm¢Šo…S¨T*Ñ¢E Ñ£GqÝu׉;ï¼SÌ™3G̘1CŒ3FôíÛW$''‹:˜^E1Ý«™\#qã’%Kj¬0;*ï™gž©‘ïÈö??¿ÙÖs%sP²Ú»ÝDGG‹îÝ»‹áÇ‹ &ˆ¡C‡Šnݺ‰˜˜áhøJxx¸Ã¥Ñ›o¾Y6yåâÀN¿íÛ·×?ñÄ£|µž{õêåÔÁûöÛow*ߟþÙ+LãüñZÛRII‰C?“6mÚ/^,s-(ôG±ƒ÷x=uîÜYhµÚ†jûZEùùù•8‘Çßu˜Á~À yOp£\­J¥2¸Z¶J¥ZëæuouãºÝµ™ïƒ3£€€€ùM¤9\ãì¹U©T¢ÿþbáÂ…5|ða6›EVV–øöÛoŽ÷Þ+\•±ø;‰§OŸ^íùùùB£ÑØ-ç‡~¨vì¿ÿýïÇÌ™3篸¸¸e(æo®´-Ñ·o_1þ|ñË/¿ˆ#GŽˆòòr§r0 b÷îÝbîܹ¢K—.µÃä£jë*AS/ìA ©?Ï<ó̰Î;—;tÇŽÅÞ½{›¬r±råJæ°¡ 2äôüùó}¹ŽSSS¾øúöí[kÇi2™Üyi4éÍÇïôôt‡³rcÇŽÝ'{ †¢„eôhÝôìÙSddd!„(((<ð@Cµƒ§|©²‚‚‚öÕ"ûÜ,ò!7dý£;s!îÔ£¿¿¿;ap;ºÙF܉†¤B1yqVÞM )ÜÁÿ²ˆÛÊR<ýôÓ.+ΰX,â?þO=õ”èÞ½»+²®qM]»v­QîàÁƒkü6!!A˜L¦jÇÝyçv†Ú®# @\ýõâý÷ßYYYõ–þ}ûÄc=&üýý=¹ ×Üy²–ÈW½xõÕWc‡~Ä‘ ÇßdŒøøxG/1yòäo|½nwïÞïÈy900Pœ:uÊ%9§¥¥y…‚'.\¸Pëý:Êøîçç'^zé%_6•Чf1l ,pÅYÓSÛp_©0F³²–ÙÚ\Ü ©ù°r6ãzöðÉu¨ÇXËžïf¹îØä»âô~åEn×;ZaéÝ»·Ø¹sgƒ½£322Ä´iÓ„»‰^ÿúë¯jå|þùç5Ž™={vµcJKK«EšreëÞ½»øä“ODqqqƒÜÿ®]»Ä¥—^êì¦ûHW…g’æ5Öf:K ÁCÜ{⦅ÙŒ67#))ÉôØcM“5 ¯¼òÊGЬY³\ž‘jÑ¢…×D»ãŽ;j½ç²²2Ñ®];G«>%B?mRKª^¶nÝZ£RRRªìÃwBG¾ì‚<Þu£¼GhÅè:ÔãPÊU«T*wm¾C]¼æH” òµ•×ò"Ö*Jb±³úÿú׿\Š²ç ²²²ÄìÙ³]VlCÐF‘œœ\ÍWôðáÃÕŽùì³Ï\®ã~ýú‰5kÖ‹ÅÒà÷n4Åüùó­fè©[ĵæÆsÍp¼°\Ž"=ÈOÔœ¶ 8w7Û¶mãŠ+®¨QOµ…ž®ç(ËöÞÌ5ÀFŽÛ ¤ö(JO ˜¹ÃUÀoN—Ôê"‹Åæf¹Ë‰.3ÁÍr£­"gôÒ©e%,22òLAAAòEªû÷Q¢gUã¾ûîã½÷Þ«õÇf³™ôôt6nÜÈöíÛÉÉÉ!''‡³gÏ¢ÑhHII¡U«V¤¤¤Ð¦MFŽI×®]]º°íÛ·3~üxŽ?îð˜+Vpë­·Vþ_PP@JJ %%%ìÞ½›îÝÿ—=##ƒN:Ù†§­ÄÏÏùóçó裢RÕ>Û¹s'ß}÷'OžäôéÓdffrúôiŒF# $$$˜˜Hß¾}:t(½zõr©Ü—_~™'ž°›ã÷{à/탆¢8w7G¦ãÞ ¯¤6ƒfjþ2pà@™í/‘Éé…^¨aÕ§OѳgOñÚk¯‰?üPÌŸ?_´iÓ¦ÑëpÍš5Õ®M¯×‹ÄÄDŸÇ•¼ììld÷÷&LØéCÍé–†®÷‹°‚!€| îZ»!Wü‹ž®ƒœ—ÖRf›ºÔŸ¿¿m ~„J¥ÒÑ0¾¿ºRVllìæ‹TïiØYq¼á†j8FÛ t1~üx‡Éíœm½zõ¯½öšÈÌ̬µÍÏÏw^~Ĉ5~3qâDÑ¥K—ûyä‡å$''‹-[¶Ôz='Ož/½ô’èÚµ«Û÷+&Ož,}úxü<111¢¨¨¨Ö—£—V«·ÝvÛ>Òœ¾òRã¨ÔZ­V»ž3% Ÿ3æº+gµZ] „8)óæºÔŸJ¥2ãÜ!û¾:¶‹Ú€ÝæjYaaa+Í:ì˜Æž;wÎa_·cÇ1zôh<[jµZÜ~ûíâìÙ³µö±Ï<óŒÃœ\ǯvìêÕ«Å“O>Ym_aa¡Ce¨oß¾µöÈÊÊãÇw'—…ÃM£Ñˆ‰'ŠC‡9Ìè ´~:Þ™í;½+ùH¤‚!Œÿñøã_VKx<1fÌñÝw߉O?ýT8Š4u1¶o¿ý¶F‡ìÈẾ›íJŽ=Ξ=+‚ƒƒíþ~РA¾°ŠáO#Dÿ¸H †ºz{ŸrC¯×Rܼ:ÊÙY¨Öú8€öuRî¶:–é,3}(pƲf^„*¿ÒÞµ<ôÐCû¹o¾ù¦.IójÝ¢¢¢Ä’%Kju¦¾çž{ìþþÁ¬v\yyy çØ„Ùw¦\˜ÍfñÎ;ˆßwpp°Ø¸q£ÃsüñÇŽ~{«vAš±‚!\˜t‘HÃw4hоæZ‡?þøcÎ8::ºAÎåR2ÉÇ{Ìá*Ƶ×^ÛÞË›ÓOÈ:%%E<ÿüóâ?þ;v쨱•––Ú%oïØ/¿üRÜxãžjÿôöþ ((h£«&à'ŽXÇÕ†MNÊ\Sús”Ç£S=ÊtZ÷U7Ëyª¼F}ûûû; K¾víÚ†Ln)1`À§9µŒF£1b„Ýúùóçþ®´´TÄÅÅÙÍ‘a»úQ•;wо}û6è=;S2ŒF££ ”=^ÖýhPœ¥›³‚ÑAŽ*¥‚! àºë®›ÖœfÛ˜ì:îÿ·wáQU[ûžLI/$¡$™4jEzG¼^ÊQ?Ѝ|P.ˆíC@•*"EŠR¥*í M#=„Þ3É´ýý8“ÜLæÌd’L’™3û}žýÌÌi³Ë:kïwïµ×"|>¿Íþïý÷ßo’`äçç™LÆzÿ¸qãÎr\¤>²E=o۶ͦYÔjµ­ˆç'P Ÿ5³NÎXxÖ-¬g=€PÖˆ@p¿ígnæºV<3ØiQþWȼÀDŠ6ÊÇ /¼`vßAscT´4‰D"²|ùr³«•••$,,Ìä¾U«V™Õü1ëÿܸqÃìªÅ›o¾Ù&«5æHFnn.k^þïÿþÏÜ}Ò=~N.ì!Ž %”`tSÀÖéŒ9²ÍÿwàÀV jGeÎE¡L0!®ÁÅVuܳgO²sçN’ŸŸO***HUU©©©!ƬÉDYY)))1I7nÜ ¯¼òŠ-e`,ÇÕCÖ [¤[Y×c=ï ´_ã=#{[ù¼¨FÏsÑÜçxyyu„=}XÜ´²áôéÓ¦ë% ùí·ßXóUQQA‚‚‚Œ®÷õõ5YÝž4i’‰çªëׯ³>óÌ™3ífÅ–.^¼Èš¯Ù³g›‹îÍ%üæÀã’”P‚áÔcòäÉþ~~~~‰Ixx¸I’ÝnÂ;wš${öì1{ÿ„ >â hE´Wûw )`.ÇU„+Z…ÇãÕÂtßÄg­¬ë]M͸· 5 ¤çÑÂØ–öM´ÈË•»»ûö0[^^ìÛ-’’’^â hy;É+äËñò©\]]‹›{!D fÅ¢!­êùü™hàö‘ÏçÛ¾¹oƒï³!­]MlXÆoµä!åååu™4Bh(ëÞzäævì|\~~>¦N Fcrnîܹpqq1:vàÀúï?üðƒQßÀãñðÎ;ï˜<§ºº=öJKK;´¬>d=n®m¸sHÿ¤9pÞ“%£”`PØsæÌYzñâÅ^Ž\†âé§Ÿ6©Tض­ýbTíÚµ 555¯‘H$xæ™gXÏeddÈßxãé/g 2TÀõ …ÂŒÞ:Àd[ ½^/0ËðÓ…ÙÚ²ñx¼†ã9TWÃ2~ ÆT°Ù „tD Gk±æ½í‰;wîà³Ï>39îããƒÙ³g;xð ôz=`Ïž=FçfΜ‰ž=Mv­_¿)))^Î .Å^¸äÀy?O …SbÑ¢EÏž=û#—ÁËË û÷ï7Y½Øºu+ŠŠŠÚo$]Rb4Cfsçš·¦ÉÎÎ~›¼y\/`MMM‹gÓy<Þ'Ķ †ç½`øÚ‹Òêç ‚ºU(X¼×\‚1Àã­xNGŒŠÆØV ¬¬Ì.dóý÷ßG~~¾Éñ… ýÎÏÏÇ¥K—+WŒ½K/_¾Üäþ¬¬,¬_¿Þ.Êh®® !V·£ã G J›`%N‰¤¤¤syyyG.ÃæÍ›Ñ­[·ÆuÖåî¶ÆîÝ»›¼¦W¯^ˆŽŽf=wíÚ5®¹³+c»Ïu<äz5ͽ–ÞK ³Û&ý!$Ö@blQ6­Vë ¶Y½¨+£À§6 ´7âHOOg½°Gv!›åååX¶l™Éñ¾}ûbèСFÇ~üñG=zÔh`˜SQzë­· R©ì¢Œl«+šÊÊAóÁ½ÍÅë0Ï€ H …saÕªUïžã©§žšÃ!‘Ûžõß²ý®³èv¡PXAßñöI[;¨™%Lb"ÅÅű건´4¢P(ì¦ÞŽ?n’ǘ½þý÷ß7¹~çÎvS777Ö–:¸¹¹±ÝÆa5$pÝŽßÝë†<:è ŠV¡¦¦Fùá‡.U«Õ´2Úùùù¸víZ“×™Û‡ó8T%—ÐŽÞ¤:@¶:‘x§Ñ7¼}PZZúgýu-€¤Æ¿ùæÖ‹CBBXÝÄv~ÿýwÖ<šÃ!CLŽ]¸`?‹’}ôºtéÂzîĉ(//o|¸ã}¬½Pà1;-cª!oUTƒµè †ýbÕªU¿Î¶yZ¶lY“+UUUÄÅÅ…õþ¾}û–qLô–s´­Ï;™zßOßïvK“;°¿lœWWW’››kVŸÍ˜1Ã.êmôèÑ&y+**2·‡”——›\fe™8q¢Å>dРAl÷p]ÆS–½¼¯Àí•#J0(Á0¯¾új¨§§'§:á‘#G’•+WÖÚ[¾zõêE¬Á£>Êz¿««+Ù¸q£+‡ÄÏ@):™z_Gþí–¢:°ÿÆ–§Å‹›ÕedðàÁ^or¹œhµZ«L‰”J¥Éu999vÑþdÝOR‡S§N™»÷1'ÒGž¶ÛA{}À‹Žþ)ÁpZ‚1~üø ®t¾ä‹/¾H%„Ìzúé§·Ûc‹ŠŠš$ëׯ7{ÿo¼ñ,ÇDp%Ç€Á­ÍøÖ`.ø·Ïfe0{!:&«Ý...$''Ǭ>+--µ ïKIII&y‹ŽŽ6¹nðàÁ&×=z´Ãó?tèPRVVf±ïxä‘GØîM…sšÒÜm•`1{“§§'NŸ>^½zuXÆssM Ø6zûøø˜+**ê°|Oœ8LJLfÞ Q\\fÍšÅvêO_8áë às0“W]Ûñý uþ€.T¤ª^ kq¥wTLeYÙ³å5šiŠJUgqU P­ƒªF¡Z0‘¾ÞȬ©RøøuÅP.`Ö¬Y2dvïÞcÇŽuXüýýõ#FŒ¸Ðµk×ù6lH5ü-‰@Aii)Š‹‹MRQQŠ‹‹‘––†£G›íav#€mN¬Zô„4‘T˶***îØIVîdþm£Ñ,!xæ™gÀ,Éð÷÷ÇÙ³gñÈ# ##£Ã †Dbº¥E$ÙÁ2d~øá‹äâÚµk˜:u* X=~–Õ&ŽÂL¤òE°«>˜Uí`<°½ ‚j²6Ýäݱ8Û=$øX—N›ö»»•œòò&‡áBä@Îä"@~Èu¸ÒçQBÆÍ%ú“Kb%Ù¯ˆ Þ|Ÿ¨Ôo&»|ùr»Õ¿R©¬}óÍ7WB¬šÝîß¿ÿh{•%@@ª««›ÜèýÁ˜}Æüùó?ä°ªè ঵õùÆo[âÖ­[ÍiÏt¬ÛP{Âq{Öቄ¸»»ÒµkWNBBBH@@ñòò"R©”{ï‹ì)Ð&Ìì,k^W¬XAôz½Ù÷,55•¶I=ñù|âææF:wîLzöìIL&L˜@>ÿüs“|lÙ²Åäþ•+Wš\·qãF2~üx2hÐ Ò£GD EÝÆû6ñ8hÉ[!„|ýõ×D"‘˜{ÆI'š|ŠŽÙÌÝÜ” &À¬C®`PXı¨`’òŠiêÊÚi‚j­G¾¦j0¾Ü:AŽT"Œñ`,‰ÊÎDynÜÀƒD-ÆÃŽ£(º:M›Ìß~ûm›ç[*•’G}ôx÷îÝŸZ½zuõ¿ÿýo«îëÖ­Û›7o޴˶Ðétˆ‹‹Cll¬Åë,íÃHOOÀaq½ `€·¬B^s‚‚lk çééií¥» ³e%TÃhã}¾¾¾ð÷÷G§NàïïoòÝÇÇ®®®pqq©O‰‰<žu–wZ­555¨­­5ú¬¨¨ÀÇñðáCäææš|æååµG0G{ h¨7ž³7>¹fÍܽ{»ví‚B¡0¹944gΜÁðáÛÜ@íææ†ˆˆDDD@©TÂÓÓnnnpww‡›››Qrww‡\.·º½ÙV+ø|Ó ð%K–`É’%¦• ×£¢¢ååå(//GYY™É÷¢¢"¤¤¤ 99÷îÝCuuuSýNžÿq/¾üòË6ÍóàÁƒS"##§óÍ7w›s!Dد_¿ÑöÜ·oßn’`Xò$•ŸŸßã"«³Ü}ÀÍ :Í™b´ݺuÈ#,EíÍ0ÀªYŒp«µ‰D CTT”Q ··7ëÀÏæ©P¹\¹\Þì{‹‹‹ñàÁÜ»wñññHHH@||<’’’šTZA°jt:]‚µ¹ ÀWÀb÷ÓO?aðàÁ8rä”J¥ÉÍÝ»wÇ©S§0jÔ(”••ÕOŒ5 Æ CTT"##áïïߦím Á0>Ÿwww¸»»[Û?!''ÉÉÉHHHÀ¥K—pþüyäå1¾!|}}qêÔ)𕱙3gâ×_5÷Y`VU¹nŠàgј÷yF˜Æ¥-EkAM¤:‡¢B§mn}#“¯r §r — $Å>!¤Ð;˜\‡„\ÈU€\Èm€ü Ùý1CÈ«#'·i]{yyi§NúRK˺fÍšwí]žæÍ›g•¹N·nÝXï +u"Õ!³š¡‚iD[iìÛ·Ï\ÛíàMµ9ûXÍÍÍ-ÛÚw@&“‘I“&‘uë֑Ç“ÄÄD¢Ñh¡×ëIZZ9~ü8Ù°ayöÙgI×®]›¥3ÄbñJ;n{×-ètrúôi³õsõêU²eË’œœÜîm³gÏ“ü®^½ºÝóO6oÞLþóŸÿ˜½&))‰„‡‡[’“¿Ð¾“: †¹£Ç¶ÉÐ×î»#JÈÔ©S±eË»Ì[Ÿ>}ÌmšrHHeŠnzðƒk¡‡:ðÀøÔ,cßA …¯º%U¸Z¸zŒ:ÛÞa døOJ6îTƵY>CBBT±±±ìÛ·ï–>ã—_~yÍÞÛãþýûV]×¥Kdffš/,,”9ÑÀU‡ÿÆÊ8ÜðÄ‹/¾Ø&SÚÓ§O‡¾°°°áówxò³ÐÖÖÖþÀ1s3½ýúõøqã0~üx 2ÄâæU.Çã!$$!!!˜<ù¿[v’’’pêÔ)œ:u çÏŸGee%ëýE¥¥¥ÿ¶ã"æ j¶ÀÔÆ'‹‹‹1qâDlܸ‹/6¹966¶ÉÝ6<±¬`íï|¨{÷îèÞ½»ÙóçÎÃÌ™3QRbÖ"ó€i†nËf¿—ÊÒÉÐnÓœ¡£…˜?þ?¶mÛfdéââ‚N:Ùe~/‘fgg{/]º4|Æ ÷r„ƃ ðÐA*¨à Œ­'€—Ë Ö L|0ë«ußÃ!†4°2äBÔFñzú÷ï_УGèï¾û®Å«E«V­zvõêÕöÞÅÅÅV]çåÅî«´´TÆÊ­Æ‰°ãþðôôÔMš4I––†ôôôú”™™‰òòrTWW£ªª ÕÕÕõI,C&“A*•B*•Ö@HH‚ƒƒë‚/½ôݺu ÿrŒáupÆ€UV¡¶¶ö¸¿¿ÿµ¼¼<£ÑbÏž=qáÂV÷ŸÎŒÈÈHDFFbáÂ…Ðh4¸xñ"¦L™•JeÌÜ´Ú¢ãì5…jÃ@i˜½IÆ}N‡×^{ wîÜÁ_|Á꽩Íú?555P©TFŸ555HNN6¹>??ððð€››[»˜æY¶mÛ°`Áhµf·Tìãæ[ÍñWf"€¸4Á¦0¦ç íH Fs°`Á‚ç¿ûî»í^»Gff¦è§Ÿ~º³téÒhG$Å•*ˆ!‚Àà[>ÔЃ„ç¿+ŒýG {©áXÊàý@†r¨ …ØÐ—ØPkLœ˜óù矷¸%„ˆ&Nœ¸É!Ú£•¢¢¢Âÿt’±˜ÀÓ TVV ÜÝÝ¡ÓéÚä]\L¢Øw0ÉÐP˜A^^Þ³ ^§ÓÕÊþúë/üùçŸ1b­ 3‰DHNN6!AAAq999¤z‹Á˜¯lËÆÛ;v 11lñcvv6233‘ŸŸo6Õ ¦ya >ùä“ú < …¢~Ÿ…‡‡‡ÉwKÇ|||Z¼R§×ë±téRlÚd±[ûÀ2CWÍe ãµÌ…ƒeƒ‰U Æû…5xõÕW_T(&{/$ 9~ü¸ÝÚÌ®\¹’Õf.""¢zéÒ¥áŽÖ›‚»,þDæYò¤däGÈIHÈa€|¯² ;ò@vä{€üiØ‹ñ;@ÎÁ…| 9y½ kÝÄÄÄ ./¿ü’¸ººZm‡ø÷¿ÿýw[”qùòå'à ¶—¾¾¾VÉá’%KÌ>cÒ¤IÏ8‘*yÑNÚî(ÕêMÃÇÇçËÆu7`À‹nK¥¥¥ÄÇǧ±Kk=€*£<0÷.‘7nX¬“œœrêÔ)²iÓ&2wî\2xð`âæææPvöB¡DFF’éÓ§“wÞy‡ìÝ»—ÄÅÅ‘ÚÚZ‹e///'>ú¨¥gxÜITJ%YâP*Fÿ¶ËŒ… ¾´cÇŽ­•••F¦Q®®®8|ø0Æo·Òü¿ÿû¿ …xï½÷ŒŽ'''»=zÔáV2´ba¦Š¯ÏPA# ‡ €rh 7Ph£@OÃo>ˆP *à dÈИšxã·ß~ƒ««+†Ž_ý{öìi2_#GŽÌ›9sæ#û÷ïoUù6nÜøÒ;ï¼3ÉQÚ­,­`…BGx´óì$“tMi„y¾)•JgWWW×›2ܸqßÿ=fÍšÕâç–••Õ›½©Tªúφ߭ýT©Tpuu…T*eý´t®ñ5nnnpuumqÙþõ¯™¸k ÞŸššï bð+?ß1m1BNN† †¯¾ú cÆŒÁ_ýe’JK;V«ERR’’’pðàÁ†úJ¥={öDÏž=Ñ£GôìÙ‘‘‘ÈÍÍÅ”)Sp÷®YЧ< f“0×á Æc_€”ÕÀOb”ÑžÄ -ZôO¹\n²r!—Ëɯ¿þê0³Jk×®eeš‘‘‘Õ+V¬p˜•Œ÷BºÆ,ss?ô\ȇà‘í’Ãp#§àAÎBA.@A.CAÎCJÎä/€$ä.@þ€˜\€?9‚(ò–w é&ó6©C‡ÕÛìÙ³›d뵟~úiçÖ–í‹/¾V*•G›­(++kRþ6oÞli〓¨“~vÖv«©†oR©ôÕÆubqæ6;;›\ºt‰ìÚµ‹¬Y³†Ì›7Lœ8‘tïÞÈd2‡X™0`™9s&Yºt)ùüóÏÉÑ£GÉÝ»wIee¥Å sb±ØèY …¢Æ0àptðÀD0®v‚h›¬xH¥Rsç«ÁÄ|à9‘*Ùç„rð3páÂWd2™ ¹pss#W®\q¸¥ë 6° ATT”ÃŒµá!«¼¼^[ Iú*€ì…9/rnä DäDä$¤ää<Ääw€\2Dø>9‚.d«{4yÜ¿;‘‰\Œêa„ FõU]]Mär¹ÅÈÝÝ]ÿÁLim¹ÂÂÂ$±±±ùލDÒÓÓ[ã.•Œ1⺓¨”­vÖv9 ±‡¬ ¯qý}ôÑGõzâÒ¥KäÃ?$Ó¦M#~~~œ4CæÏŸOvïÞM222êßó3f°õ/Ë9&¡<ï%-K</vh>ÓÆXêÄmþ/{š!°—•‹Û·oÿ¬ªªÊ)vTT”jÆŒÑkÖ¬±{s©ƒ‚K.®Bís‘põð‚.àCh † DA @ -jP *¼ öðÆi¢Á¡¢ ¨þ¿'((7oÞ4Ú¬wàÀ<ùä“fóÁçó±lÙ² kÖ¬y³•EÆÆÆÞ»víZ°#ÊÎÍ›7-Ó€3gÎ`ܸqìÓúýúeýñÇ\¸§c{ÛdÔ3‰D( Èår“O™L†ÚÚZTVV¢¢¢•••FßKJJ¬Þ|à 4r™KaŠaÆ=uéÒ¥} yxx <<·oßnöæ[®!((}ûöűcÆž}CCCKÒÒÒ|À=eƒüFߌáE_;Qy»Hãàácb˜@EÀâÅ‹9Â2¶­S÷îÝ«W­Zå3 «Ý|b^v,J>„€ì‚7Ù²žä{x’áMöÀ“ìòñ$ßuîDFF‘ŸŽ +b†¥‡¯IÙ·nÝj2ëþØcY¬¯ &Ø‚Œ œäÈrc)ðTnÞ¼iöþ¨¨(g¶÷ÏÆåöóó#Ç'/¿ü2Ù¸q#9~ü8IMM%:]ëcî’+W®íÛ·“·Þz‹<þøã$22’…ÂÆõÿ ÕøÖaРA¹ 3ÐÍJsæÌy•ÃzÚÆ-JLu¤m޳´aÈÅkÎH.’ŒÕ«W;„¹ÔÖà𘷠Þô.\Ó߃˜¬ÈˆÉ—<rØ?„ü¤ìN¾ëAöDöNžH^4”„ûø³-Ù’ÌÌL£ÚÝ»w Ç3[OR©T¿téÒ˜VÿÈ#Ä9ºÌüüóÏMxoݺeöþ°°0gˆq«a™GÝ!¡ž;Ö¸þõB¨æo#FŒØloïžH$"žžžÄËË‹H$»ÊŸÏ'`6¶rv™Ïç…BA|||,íèȤ‡«¸ÂDJ.êÓ¬ŽnŒµ~ýõ×ߨ¶mÛ†ªª*§íD\÷íÛwgõêÕÑ«V­²ks©y÷nßPi^^AfFöƒe@°'Á^äzO‹¸ P+” ¥ ç’’‘WnêЀ‚©S§âÌ™3ðööFNNæÌ™BÌ»ãž0aÂÙ 6ÜnEöyÇ¿vñâÅÞŽ.3–êɨÕjÇ_«XFdtáÂ…¢ë&Mš„€€€šÜÜÜ:ì</ƒñ?Oa.\8à[<ËÝÝ¡¡¡ðôô„\œª@ÜIDAT.72cKæÎ5ò¦ÕjëMæêRUU•UÇ*++QZZŠÔÔTäççÛ¢Œù%%%*‹Ä]Á¶x‹‹ BBBàçç׬öo|\*5¶ÂÑëõõmÝ9¨;^^^ŽÌÌLdggÛ*NO&˜Ø¸Î €Ï¨æ¬ÇF0±—*œŽ`,Y²äÍ-[¶¬¯®6¼Æãñ°`ÁÎFn½qãNœ8at,>>ÞaHÆS7¯fì9æ›J‰à¼›ZÜÉÛ«›¯§§ç5öÕs·nyëäR”étÈ+/G¥ÊüDùíÛ·áïïèèhäåå!''Çìµ~~~:±Xü÷Öä{ôèÑ—Ï;ן 2ÔZ‚QSSÃ'„Èy<W;#×´þþþê)S¦ˆ;"#|>‹-’,[fÄ'ž° €so$hq͹X.—£{÷î Cxx8ÂÂÂꓯ¯oÛt B!<<<àáÑ:§MHMMEJJJýgJJ âââ¬ÞßC¹íò`µƒ‰D‚ž={",, J¥²>………!((<¯MÞw…B…BÑÚI ddd˜ÈCBBÒÓÓ›ó¨?H_,FÕf=ü€NUê·ß~{ Ûr¢P($»víâtP$NG^~ùeÖ%­èèh‡ðýãÿp™8qâUKfN-M3fÌhÕ¬ÄäÉ“/‚CKŸÇŽk•‰”\.'„ŽªU Ëû¯ý«Cßùüü|"´Úáï h...Å0oêGžyæ²yófrëÖ-¢Õj9×_èõzO¾úê+ò /¨¨(K¦¤ïq\ž²¤ýüüÈ´iÓÈ¿ÿýoråÊRSSÃÉ1ÄÇÉ¡C‡È[o½E† ÖTpÚœDUðÁ¬ÖPÓ(ãTfeÇy°`Á‚•+ÂÅÅ…9rÄi¢¯þÏÿü‰0¸¹¹9¼çùóç¿Ñ­[75l·G¥Ì úö•+W,>ç™gž¹µ~ýúƒ-ÉË/¾øóöíÛÇq±~[K0 33“‹Â÷€ž üñ /tËÈÈètçÎ^3âUX…ÚÚZäçç#??IIIFnnnèÓ§”Je‘¯¯ï„Ba­Vëe8Í3¡¥´ÿ³“}ÉÉÉN_)‰‰‰F¿F§Ó¥p¼ØZ0¾ý£©hæž6N Î"@Ý ‹Àï~¿~ýú­9sæìJIIa•Á=zÏŸ?ÿ±íÛ·7ûß|óÍ6là¬Â±Á(((pã"·m|àüùóƒÎŸ?ß!™)//ÇåË—qùòeoãY.y̼Zª&ì›`¨Õj#@„ú ŒlÞ¥Ú Æ1´<<<²‹ŠŠtN wí`èt:#yP«ÕJ¥õò •JÛd¹µò`@*gpIþ2ZaFí$ø'€ù”`P8øý€n >|g\\ÜàÒÒRžP($áááU¾¾¾»/^¼øêßþö7m³5ÍË/¯Ü´iÓ [ ¹L0ÊË˹H0j”‚ÙèmïЂ‰Õ jóc'>Ÿ¯Óëõ‚–( !¸ÿ>RSS‘™™iÝœûÐÆ¿›2Ÿ …f]ÞÖ :'777tíÚ!!!èܹ3UåyðàÊËËŽ¹¹¹%9ƒ<˜˜•––¢   YfsHKKCzz:JJJšåb¸ªª *•eoÀ<®®®Fíßð“í˜\.G`` ”J%BCC!—[¾ÂÌ †³˜GM¢j²ILîˆ?µ‚±jÕ*|üñÇNÕâYYYN-ñ7nÜH0ÔðSªÕju µffcšDllì¤;w®Öjµœ®7[ŒêêjwVÍK†YšÑ¦˜ÀÏŽòWà$€C`ü“—Ð~¯Ih¼¼¼r ;7E0ÊÊÊpóæMÄÇǹ|MOOGmmÛ.iµZ”––¢´´´E÷‹D"tíÚ¡¡¡ Ahh(z÷îÂÇǧÉÁ¤T*u–Á$«™GRR’ ÁP©Tøã?pûöm¤¥¥¥ÊʶuØHAuu5»áo|}}ëɆR©Ddd$bccfì‰U¯×›{'þryPè Š¦Ð @g÷’`dgg#;;›Šó¢º•÷ÄÇÇV©T<®W”-†J¥âjtWaÌæ¶¡`<ŒôcZÑž»ƒ+ ¢[NR }Õ›-ïFSû•••HOOGAA®_¿^Ÿ’““á¨+—©©©HMM59§T*[Ÿnß¾ÍFPœÅD$—í`bb"|||píÚµúGžl*((@AA®^½jtÜÛÛ»^ ///sú¾ÈÃ@PXƒ¡¾wJ‚AAÑ(•ÊS©©©bg(«-Qµµµ '¨*=€K†TOD D£.¨;w®‘Éd.ÙÙÙ&3‘‘‘€´´4#³‘H¤Óh4¿¸Ý ¥‚qHÑŠ‰ƒ¢¢¢€Æà×ë¢êˆÇž={Ì^S\\<ÊIäᶃóæÍsy(**‰'Lö²`€m¯Ž!TE6ëÝiW‚A7ÆP8<¢££W¦¦¦ö¢5a=ÔjµÌI‹ž à‚ BeDJ.egg»$&&"**Êäæ7n 11ëׯ7:®Ñhø`ÌžV8 …’ ›` +st’Á¤ÕB›Û³±,sã©îlå¶ÁP«ÕÒʾ¯} Ÿ>D]$ Q &PT˜`Q‰`‚l%(l…¾[à]Ãóë1räÈ#/½ôÒÌºßæbg\¹rS¦L`ÇŽxâ‰'FVæØ ÆÞu €¼æUfö1ªÑ§oT•`#¨Á¸¼Õ~ǃÙXÆý­#›iE€™…e…H$‚R©d%žžžö>1Rˆ±OŸ>&çïß¿_O8~fgg›}ÿy<Þ8BÈ;V}㛪Ó#QG*ìº`<R©J¥J¥“'{­¨¨`%÷îÝkÊSÕ¸“\ƒ5ÞNI0>þøc<õÔSNÕÒ‹/Æþýû©È·;vìØœššêtûˆlD0\Û1ËÝ< `6€fÞ«„©ï"ñH³‘º.¥˜!A†g¼j 6F˜]§Õjê6ï’ LÀr0+ÚZá¹xÖrì°ÀCuÖMªÿüç?ѵkW§Ô{R©}ûöÅŒ3L!„`”Tr î`\’š`æÌ™èÞ½»SÊÇC×®]ñüóÏ›#îây•ƒÅ§æQv^g6%jµÚ/--MLÛ°eÐëõ°¶þ!.Î\WëÖ­{ÿÖ­[NiâgÍ,Z­nê|[¾§s¬Ð£@7°¬R°A$áüùó{‹ª©©±©wÖ¬Yðòòb›0TTT˜O0¤Ž²Õ°L ÂMÞcVe¯àóx¼ÑWë"##–\4DC‚Ûã8J0FÃL¼ƒqãÆ9½<#88æd‚ Ç&í…#GŽ<ï¬e·Á „´Å.WžX¼íõ¨Ñh”dÕþÇ4¡u?ê`9(¤V€qY8@±æ³!ă&Ù…€€“Í¿`|ƒý@\kLJ‡£[·nT ¤ó믿f;5Àÿr°ÈrÚêö]g”`P8Ö¯_ßçí·ßötÖòÛ‚`´^srÑL¼f—çPu³WaÇÆ/~°WçñxÃO"ÄÆÆÂÍÍ8 BAA.^¼ˆk×®Õ SSS;Š`7 ½^_?¨MHH` ÜïÖ 0###1`ÀôîÝ»Þ{Ðä> . V!LÕ*• W¯^Å•+WP/åååv[¸êêjddd˜Û?‡Î;×ËCDDúöí‹@*ý¯·í   „‡‡ãÞ½{æH'ׯCPØ5)³‚±|ùr,_¾œ6?E“¸qãF€3—ߎW0&ÀÜóþƪ®3†Áøb°{®r4Ô€qÙk¯ÂæÄbܸqxðà.^¼ˆ .àâÅ‹ˆçÜû­Ñhêƒï5„B¡@ll,† ‚!C†`РAèÖ­233¼Çët:;J“cÀ€8yòd½LܸqÃnÉeKQçŠ6;;gÏžýïàM(DLLL½< 2£G6G0¸¸y©Œû](¸OÊž}öÙ=¥FS§eË–õqÆ·cÑ¢Ecœ½íãããISøæ›o,>ãñǿ܆Í4À ø½®ç7*W/C§æèåZiç¯ù¶|{zzRÝß ñù|"‹ÍáˆÊçƒqD`RF…BA„B!•…ÉÅÅÅÒy.ÆxHÛÝê¤5¼OíúòRP8 <==G8{ðxM;€²äfµpÀ6GžDð˜ˆÜ ñ'˜Œ.[€õvžGÖ Þ%%%T6€^¯·4[?–#Åì€Õ¡GEEE“ñ~œ 555–Nå`‘©™”õ(@;[¥ƒÂ¡ R©Bh-´º£i,ï€UW`<€oÍœ¿g ŽêW~>»¶!Q(ïz{{«è[Üâú«À‘âtwL½:Ã9X¦lÚ¬V£Ý=ËQ‚AáP(--õ¥µ`³‡ú›Vm·Á¸t<ßÄu`ír°òípÎÞ3YQQq²¨¨¨sPPÐw®®®ú6[‰DB†zs̘1á`<Ÿq?˜:SÝZì°Œƒå:C›Öj´»î§nj) eeeN½ó‰'žhÒ“T^ž]xðûÀ\ÃXÎU¸kH”™©㖲Χ[oâû Ìf~¶Tà‡lÐÄ÷!ó¬TÃg¥á¸ €€ž`lïÙòR &ž‡£ 8''çY¯víÚu!ŸÏ_˜Ý‰£AäZ…€€€‡ûÝÝÝ×ýôÓO\ˆŸ à Ñ è%…EèüàS4=iâ¨8àcÚÔVágJ0((, ²²ÒÝÙëÀÁÜ9¿fe@ Àg`ög¤X9˜5 ÊÄCihˆ[‘·dïø-·M=à€ælE~ôr uÓ0Õ kexLÄnñåpL¿ñYYYk¬]³fMPuuõ¢ôôô±ÉÉÉ‘qqq2®y j²Ã õY®®®—³²²©Tª‹¹¹¹…#zså†ä§`V4&1ù逊:Ô¸ffÿkƒ>á2îtcmz‹(ð%–F`z}5­‡Â_>2 ¼WÈlæýC'Âæ{‘ÆF»1ñ¨ûl"—žó03_{ÁÌòµEVX&VÆDýô0¤†Ðê 1yHf a­EŽa0ö5€¥†Øêè‚´bÅŠ4ˆ¿oß>ÿ[·n=›ýhJJJï?ÿüÓ£ººšSƒM…B¡ L‰Dç~Ôjµ×³²²jXŸèÁ˜Õ™€yY!&˜\ œËmi>€+ Ò :Ó™pÀ"ÚÕZÄCßC …9ÔÖÖæˆ¦5áPx» ™†Äf_*7 W0Û2â–À~C ˜U €jCª°©±å`"«s³fÍÊã«Î+ÏÛÛ»Ó€úI$’hF¥R©‚ËËËKKK½ äåååvÕçyxxè|||*===‹ E®««kºP(L¬®®¾}úôéÿTTTä%%%ÑMÎæQ àˆ!€Â@¨G€‰ÅÓÕ\¼œÄ@&²ÜpÙ@(R¨à8%MâçŽøSJ0( EEE›G ‚¦dרSnØÒµÎ‰Dâ >?+ñß} ‡Áo>1+**Êýå—_Îp7†Ìßß_ÙW$õ …„9!D¦×ëez½^ªÓé\u:D«ÕJ4D£Ñˆ4°¶¶VX[[˯©©áƒ‰9 —H$z±X¬—H$:‘H¤•H$Z±X¬‰D±X¬ …j±X¬æñx•µµµ…</“ÇãýYXXøÇ¥K—þ*--­.--¥-g;T€‰RÿK£ã¾ºÈÛ§ä;Û@ f¸Û¬nrÀ˜ÊhU˜Å/ñ§Ôv‘‚‚‚‚‚‚™!cnéÀÅ\|oü»ñw˜ý*3ŸæÎUÈe™­Ã˜‰—BZtÐ …-ðÿdXL˜„²«IEND®B`‚./chessx-1.3.2/data/themes/shadow/000755 000765 000024 00000000000 12522204356 016404 5ustar00nistaff000000 000000 ./chessx-1.3.2/data/themes/spatial.png000644 000765 000024 00000314277 10633464147 017307 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖbKGDÿÿÿ ½§“ pHYs  šœtIME× 6—¯ IDATxÚìw˜”ÕõÇ?wf¶±K—ºìÒ›¢b VévTl¨ ¨ØKLüi¢±Ä45&Æ£ÆT&1Fc{ì]DQ*Ò—m3ç÷Ç{ïÌ;÷]…å=Ïó>ÓÞygÞ[Ï÷œï9"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"‰$’H"ùÒDEMI$‘DJ©V]ED¢V$’H"‰d{”DÔ‘DI$ÙX#äy^<ò<’H"‰$’H¶ë4’HÚÎÀnEktd‰Þ®Æ‹bÍ>`‘2Ï£±I$‘DÉö(‘#’í D7<\…P”R*R·›±Ó‡²Ž°±ã‚ ñŒH"‰$’H"ÙÞ$5A$mRS ,ÒÊQc!ïÙŸùLim~~$[ÝXA÷{ˆ‹È`ð²RªÑ¼ï1ëÑ7iÀ›H"‰$’H¶G‰<‘l«Ê`“§nö]ÃGuK4ZY žDÞŒ¶8žÌx‰‹H%pP¡Ä·BÆ;NR@’loF4V¶¯u§I‰Ö6Ñç-‹H¶›95A$Ûࢯ ¿1Ka…8LQΡllë X)µAD6€>ÀÃ"r‰Rêa}ŽqY·ÓçsÁçQ]UÅ^DJd/¹¸J)Uï*ÖÆ–qJ°RØF Ã69Žlkä·.ååíøÎe‚ˆ0yüì¾Ë޼òÆ;§ó­¹dÆH=º©ÀX*cXik£±ò僄Íls3VÊèrôþYhp¯²ÆFKÀðfK4îZÜ÷ÝMWtîÜÙnÐô†ÚÐPφ ºdŸ³×³>Äõs{Œ¤ôØŠ¼‘D#’ÍRd\.§ïµë~ų ¥EØVŽ]%Y9à¢Í€ `!0R?/n‘*¥Ôzl—Ú#®bœuæ\Ö­_Ïßú6ÀþÀE"ò3]ë é(‡ 4mµJEŠã¶¥l:ó2®»O¸pÞ*{÷D’ ‚.;.Óg‡ý€C€g ¬ÐI¥T§"f‡,ˤ5g£`ÎÖé;h¦÷]WZ¨p+ &"C ât:Cå)ÇàÔÒõŽï_ |/’¦Ûݬ”””°jÕ*DI%õ‘BRIzøaŽ=þ$ó=`4’§åîåI"&I$Àˆ¤¥àBg2šA`Q ,ÔƒÑü])õ‰£ »Oc}oÔß‹ÑLëÙ6Ú>FŽ?žšyæÙgcÀ%"²ƒRêç`T€‹Ç¯_|!Ë—/ã§·ü`"°^Dþh ã®§éšÈض‡à@|È œqÚ‰eRˆ0j÷7zžxú9€£”âj­1’°”{þ5èÏlOb4NZ§ïš4Ä9·¹Ù½Ìoîd½×W¯/Iç?¹µQl€Ñ,e2„fۀіŒK_¶dïÃ"ˆ¤2‡™é¬,€aŒ aI làŠÖ…H"€Ñr‹Ó“­xRšá:à¨V¼îÀ%dó9¬#†?_[S4–444ð·¿=Æ 'œÈ#>ª€ÓD¤¸ËŒX,F<«ô÷¯¿Ž%K–òLJ8¨‘k‹´iÓ:òÞÛÏ ÈØÚÇäö«™ú½³2‹ñÝ+¿Iqq‚T2 \Ý(\zö©üó¿/’L&;‹0øÐ "µJ©„5|œkÛ«y1ZgMmNM _›–4l€Q,"ýt@¯CÝôy/R–‘§¹iIÕfÞs.Âu•çQ‘ÉU”Ñ5R–ç"•6,}¤ƒÕï úû ½N„¥BW@Ì?Mõ¡lúO$Àhµ ;ßDmê½–léçzRú>ÿª' Ù˜ÚtíÒ™Ê^=lcHžu_rî~ÙŠ•¬\µ}½ö–SO†çé6E£-)+–-[F»²2~ó௙uúé<ðÀ¯Ž!°0ΈÇã§y³ñxœ»nÿ+W®ä?ÿ}FPd”ˆüOƒ ´ÛTn{Enàw:m´øouŠ…¨’ p›Ã§NäÀý÷ÖÔ([iõ¯bú´q<øð㣕â}ÖdŸŠëË‹¥™f~ækŒ¬•›5ïc"ÒSwëò&ö’0%-ÙÜ߆;Ÿ –á÷4ûââb-Xƒm0|!Ш”º¹àÂü—íÞBž§pž[×ÄeØT{×èŸxH)µÔ¬Â2XADì[òq ²F=Êb÷]GÝîIið€ ÷° ÷%CÀ©»·D}Év0šš¨îs7î )€‘*`Òù&æÖ€ðeý­Ä ¶·ÂzuNÖwã`˜œû üO³±Å ψ´-oµuuu$“$âqâñ8·ßv+©T’~ý @@ÿ~}I3tûŠ:uäч~ÏÔÃâÕ×^‡½EäJ©øƒñíÊßq«}]:L–By5¶ Ë¥±! Æqé…gÓ«gwR:°Ûz±hR"B®9õØ©ÜrÏïF(Å|Vj¥Wt ú¶SûÒG^Œ–Ïû@Gýzð GÙÜ;…ËÍZÇI&“ñ,Öô¨0¯±1î4Ú¶fô½Ù'vÚ áܳ„åÚš÷º5ÄWœÕ·¾—d+K7¬Ü-^Š”ëÁ¨'·_±óžuä&k±3ÑÙ{ºÑ-#iãö²˜ ™O s³'ÅÈïÅ0‹¤áçB&Ÿû\Yůz3Ì(þ–bKÆ–ž’¾s²Ö‘„æyÖZm¬¬L))§] ¶œmCJFö=YŸD<ηÿ‚²²2îºûD„£>*\àÖ¥kþúÈ9îÄ™<ýïÿ| è'"OèbZaÃ>lνm±Nâx×" ñ•[.Ë»c;ï4œÙ3ÏHv †:fÏ8”ÿô«V¯‹°䣴‹í¹ £OÚÚ¨[Z¼ß™üŽÂêEÛ6@ô›"2Èì—£öÚ“gŸ šLâÀHZk”[͹9÷[DàE¯õ€á {|µ„šÕ¦Çˆì |—ÀCFß6{LӼᩌñODfìŸùÌ5šÖßWJ½Kn} ÷pû9‘´Y€ž¬]€¸ŒóMì–J=p¥Rêßž ×`)Ñn椚ʖE1+Åunz‰È¢FY{DØ9ÖIƃQdoZÚŠêV-Èm;C¶E1½ð———ënÒm•ˆ'øÙOoâÄãg°ný:?Î .LûvêÔ‰Gþð[þïÛWñ³[o'•JuN‘O”R/;àÂus»¼ûFk\új”D@ã«S.æÃâ±?¸ö[%⤒É,paS¥ì÷+Ú•qÖÉGpõ÷T+Eo"R¯”ª >ªTª4H²?#c5`lªf‰°P…ФÌï (+-eÌèý Àè“`Ø”(iÎ:Bêc]ߤ>ÍW'É6jDà"w_>Õœ/¶¯hïP£2`£¼¼Ì>µk þ×$‚‚± ÎQïˆnF$‘´I€a&ë`ràZSJ€}W=“/Nvæ$ß!! ß#!V0ŸEÌX”|Üטí­(œ•ì $”¢ƒî¿˜N×o[Íì6j®Õlk.p 0 ÿ¬63q,JÁ¾ûîC˜çB²ÚW(*.âû×]ÃÔɹô²oñúo+eµˆLžSJ=,%ãî6µ…ÒV*ɦòeQ§"%óË2ú€ã¦Á¨=w'•lLt›oÄzž~?/ÇN=ˆ{ÿŸ|¶\‰° ðÙž‹Zm-#<#Ê(ÕrpaŒŽ"²RêyÝ¿&›y”m7è¾ß0hà `>ëM†Ÿïö¼OP8-؈ñœáÛÐ뎲VV"{|¥Ú‚qi Œ¡8ÀСC9á„| E†&™ ôø1 SÒš#XR’bô~{sÓ¯eéÒezHi#E*Ú6“âVÒÏýÐßXº|%z­ho­õ¸Kqõi$m`˜ kªØò«_ýŠ:x'kF ´,ùV|AVV%ý+¯º†7ßzË€ wÞ¢/°ÜÝŒò¡BÓ ³…˜ãßPl%˜¨QNû×m³.š$›¦aWm §ßŠ€1{î¹Gn¼0߸k°ß¾ü÷©ÇyìoçwÜÍSOÿ‡T*UŒ‘±À‹J©¿ú3Ù@J,á&N#o0x4¶¸|ºøOþo¾ý.ƒôcPÿjö«f@¿>ôëÓ‹Òâ¢ôxÉx3…"qþiGsÁÕ·tSÐG4¨‘R¥T©µz\[ë•“õuËÖ·ÝþçYã|±fýTÍXoŒ¡CÓ¿_µù¼TDºkïÙ^dhšK‘2ë\10Íz£.”³\ØûM%ŽEÃ&¸)0®¸âŠÜM_{&R*+E­õ™N<ö¨ôëìïßI¿—̼ÿ¯g^2£Xïéf逸éúÀˆ¤ÍŒ¬s„ tëÖ-B§?;KKžst143;M?ˆ“›ÁÊ"o´À/è ì[IÿêÞôïÓ‹þ}z°Cçö(9`v6€7Þû|*™9gnšÃ·æ„)Ì‘äïCW~耟AÈÄä™}!iÀ}ž9gÖœƒ ¤ººÊþ¼žûnæ>»Ÿ}TUo¿{èQ£<%FjÈd.Syö)倩HÍ~‹¢¤Bޤ0R¡1áŸûkg%V\e\Xq•nle,ê×HÚ:ÀðÆd:r:ÛÂJ²ÏÉH±5‹œ è K‘KY÷š/ØÀ£J©¿ÈÐcj­£ˆŒçÍl0¼[d¬^ÿ"àñ_Lí¶CWnþáu,øx!ó|ć >æ­wÞcÍÚulظ‰wæ/äù ÝËŽPðŽø³æù¬×Èhù:à›¤«uAHÊZ‹Ãå¶ç›c¦¨_y0 TõéÃûÌGƒR;àZƒUÀP¬uÅÀT¼jÉd 2©˜‰7q a¶§&)¢¡úŠ y¼My.|^ˆ8ßµFžÑolpáz-h#¬„H"€ÑœÉêÉ”äÐÂêPʧd8жÒîï•ès[[öÒÖªÏÉæÖ'ÈÍôà ò¶=áÔ(²©Qî9€Ñ.¸ðÑ£¶ÉMÆCè\pÊÌ“5jTAà‚Í™1 ¥¥ÅÌ9ídN^ÈÕßû±ù‚„eWÑŽy@OèBÖ,j”7‰Uš&TGn•Єc5m Šùãë@»îݺqÍÕß)\H+ ûyYY)ž{&'7+¯ý>¿þÝI¥R½KDäi¥Ô @7‘É6µ‰lúšÝOvP¨²@†¹§h´\$Ì’)"S²òví˜ejbX[ÿž»íÊÁcöçÿú¯Q¾Ð}T°Q¯ŸøÒb’QMmšÈ{ÑŠÖg¥TÊL…‰'ò‹_ü`7鬠2ÓÅJÛ 1ÂÓ›þÐm‡®tìØ¡ºÊd¥;PdЮusF>ª\¾õîH€¡ƒÒ§wO06y†›Šëy4Î 04SáõL$C*{æõ°V%SG̰"Ü"|m-aK$À(lÁÇuÕÉæS£<ÅåŒÃvÚ<ö¬|ßûŽÚ‹q±MÉxB{}ç¼òÚ›öè@v–‡„\Ø#·Šw‹¨QÞš\a™°Â”˜m}AŠéz+G\rñEtíÒåËä‚ {ŒwëÖ•[~|='Í8šó.¹œ÷çÆŠÈNJ©{‹‹Éh†A»/“–¢‘7cK)%ÕÛ9þ˜#éÚ¥³ö^dƒüKÏ;ÓŒ„å48ÓW¦¯Rþ,v*²8¶jß™‚c|ðÁÜyç466{ÿuÎw‹Ž Ù÷¡×V8 zm©î“;K‘JZÏ O*’\”¢éQ‡OÀs/¾b>ßHè¶—& .`þ766²~ݺ ó“×Ka<)ÊJK `hh¨§¶vSnÖ(T¤¬×ÉTÒþOÁ^ y“ÐDëH$Û Àð+Ñ´„å?ÇZ÷‹Ñé%ÉΚdgsóB‡GáoòœôGRA†Ž”âV†#×¥éµ åÒž¤j”lÏyflEm*PVRR‰'ÌhepA8¸ppaƒâQ{íÁÓ?Ì÷n¸™›~~Éd²»ˆ\H›ñ¤.MX§l˜Œ@F«Iv^Ï ¾I—D"Á™§Ÿâœ–»Ü™ñcà‰§þƒ6tlômúâ¾Îx1"¥ õ¤!mñéÐQ£FñÌ3Ïì¼@®79é(ßE46Ö‰ýôï—^ªú¤;u&›’›r~ßg@ÈùM=ê ›RŠÃ&ÂcÊœj‚¼}éKíÀòF"F“ò׿þ•;tîÁcGó‡ûîôz'>^ø)ŽšÉÚuë7O’œµ?Z7"Ùfesƒ„r=V¨ö‘óQ„ÒRDh×NeÚÊcòÌ—be?u«‰s,é •‹ ó_DÄüól¥1k,cyÚ"äœí Y䦧0æÀÑtíÚ¥•Á…l¸0¿]R\Ì·¾q!þý}†F‘Ž‘Ó øÚ8ÿf,•[ãÙÓEaŠÚÒ¥é·p¡Ûõx€©“ÆÓ¿ouº¿s*gŠpÉyg˜n Ýg¾µ0Ì“¨ü™HZ°ç¤“!ÔÕÕ1mZºLÄ^zþ9G±óÚ›aÏ3¯ (茾éu ªO¥møêDvLN¾ôÄ…z0ŽØiø èËšµéR›<÷—¹§|c{—EÍýŸ}ÁO“J¥xû½6\@àuëh žtš‘D²­È–ñ`HˆòŒ«¸‘‡%®~o†/°¹˜ •$[Ù,ˆz~Žó'L F<ÄJÖ¨ÿga\[ßošYjû4\Û”&Mœ3¶ lApaÿö¨=wã_ýç^r9þÛ#E¤»Rên` ¹Þ Ÿç„DÁß›?žL¿ú)¥8{î,r²Þ9ÝvÞ‰ñcàïÿü7@¥ÔZÉÇUPÓEÐBÒhG²ù ±(­««cêÔ©|ó›ßDD:¤þ€LFJ)e%K†(äÉ}­˜ ÖúõK¯U•vi ºé}!ÑP×UÊ3¯]!žµ®0àð)H66ÚÊkˆØu0„ †$eÝŸ¯FF$ÙÆ«[EäUmì)³cìi§”j”‹H?`ÀW!Étµo}íuxkWH#Ùiíµ³XŒäÔÕr‹÷J:"Ù–¤5ÒœemšÍ¢FDŸÊC®•·ÄcÊ]V[J’ìúÙJ© ¥T{¥T~/JQ^+’·¸ „g–réSÛ­BÓõ&:2~|“ ~¸|à‚Öæ·;vlÏÝ·þ˜+.½€x<Ð[DΑ¡ÚêÙWL+×3—pAkäÉØìquÀ¾{ïÅ»íBÎ\Í™sÂ%çÎM{1D¤ÜTf¹P¡ŸEÍ¿Yà­˜±iÓ&vÜqGú÷ïoÞÿP¤”Jkåw_{ƒfmP¨SÔ–AƃB÷n;P\œfFuÅï½Ècåû=C t‰ÅbL›x0õõõ¬[¿! 0Ì=è{ôý^X5óH2mѨ”zU)õ’Rêe¥ÔkJ©7·÷4HýøD)µÊ|54[”Ø4Œ¬úGµAŸÉz‚:9k€ÕÀ‰!–+oqV·VRÒ‘DÒ¦†'CR~j”MŸÊUøÉCŸ"†Ÿ»îËËò¦ä­Ž]pí´“ßݧ)7xAÅóÙÛ^,Ln…öú÷ëGÿþý¶ ¸Öæ·cJqþ™³øå­?¡¢¢ (æˆÈÎäÒ¥ Ȱ´›M$­°^‰ÈÀçœ1; ìÛ5áƒîά»Ž΄ƒF›Ët¶½¶7ƒ¦/¨¶>=+àÈ‘%1 0”RL:Õ|¶‡£ìQ¥(F.M*‹Åè[]•žï*¦¨ìÝÓœ×ų7%ðg ÛÌë8šµëˆáô«®dÍšµ¤2òMä㲯›cñV­ m`xú ×™Ä-›4ˆÛ("Dd£ˆÔfÖ _eï¤[•Û\³¨‘:êDØ$BEXŸu>6HßUCvÑÖzlDÀ1’­^[äª>Å8Çc@ÓÔ(‘¦MȆ½hÑbÞ}>ÞT´^ÚL6 É( ?Yä²x0Ñd¶‡ü´ìÛöQ·¶[#¨o£ ¦hEpÁöu&ŽÃÃÜÁñ³ÎaÅÊÏK“EäA¥Ô[4¯—8eD—jИ Q?ç IDAT 0|è`Æ4:³„Уì¬RŸ3‡¿ÿóߤDŠ4-g]k@SYÞÚj;«‚ Sþ‚¨âßæ± ¦¦€iÓ¦qÓM7TÔ+Zi戮IbS¤|™ÜCþ{?€Î:Ñ©cû¬u Oeo>^ø)Þ kNêR“1ž8³ `"ÀáSAR)>_õ…ý¿6Y×µ•eso±<ë­0î¶õõÆÎ¸•´À…y`öû ÀðVöN¹ºJƒþ”ˆ4’íѰZ0±€&µA÷¯95Àh “@&‹H¶C€žbµE™¥r|WÉ7V*»Š6ç]rÙ–h¯R}4:VŠkò›Ãüy§šwK¨Q⣌m/Š Ùt÷8ðÀZ\Èæ:»ŽØ‰Gs7ÓOžË§‹—34Èx§ °J`#Úh Kx‡Ì›s±XÌ1†à¥G™>ßyÇ¡Lw }â_Ý•RK´÷ÂÔ¾ëÇÛO,FK•°¦HÕlØP‡FMçÎY½zµvþa]ÃŽÁH‘ký÷Uõ6ýÕ ßêwŸÞ½Ì1AÞèæ:1³H¹õ‰Ìø™tˆÇãL›0$ÅÊU«lƒB-=ʾŸ$N(Âùú± i´lKÃ(èö>^Ät=sžé«M€^#Ã0ÈõŽÔ:‡ .6Xïo²]€‘t€e$‘lµÖáÖ½B3¨GaÔ(ÉÎ,•½àÇ­¡Ø:Jõg˶P[×t¹ç¨ Co)wž·ÓÿËsŸø‹ †ž³h‚¹œä½R¥p@«€ ¾dpa®? _?pýªû ÇÓ±"2L[ÂML†aÇdš'’p¥÷ Þ«gŽ>bš“°-ô‡e•ºpÞì˜5 º’›‚4Ÿå:ëhÃ}g”ævdÓYÃÝÕG06nÜ@qq1'N4ŸJ)›&å£K…e^²×Ÿ~ýúUeïa•€Ñ?])_ŠZ_f±8ºÎÏ×öØ•^=º#’âóÏÓ£žŒ& $yPq&ø<ÏØŒçùß…zW[u¡ÖÅõ‘(ð0ç‡%f1 ”R5J© æÀö`dUöN…Q¤´ÁQìëÖ*¥6)¥6êë®WJ­óëõç5J)ŸÃŽÃPÅ›Ûa´Äh‹ˆ¤5e‹x0 ªP•&Ö¥ …¦‰µÁ…‚°T/õJ©ŸðÙÓ JDJŒÂ¯”ò¥º5\wßKê ¾NŸo»'퀫”cýJ8V,Z”AËÍjµ}€ P 0lèPzõêªà×Õ׳xñg¬Y³šX,F÷n;У{wb1•E;K«Œ_¸ Dö©ìÅïuΟÍgK–Ç÷‰È'n&"ÕP<-¢J5 V²ÛS·7sN=‰’’’ ¿¼Å,óJ>„Iãä/A}‚J¥Ô'ºøYLDâÚ‹+@Qkëàbð ˆÜ£”ú:áÞ ß¸ÎgÏò`zè¡üú׿† òv'ú‰¡ª˜©åSгªz;ó¯/@¿êjkþ’åÁh¯¯iYM ¨ãŒÍ.f­;|ò¸4õfE`¬×¿ãV 7{£j¢Íb–Ñf`Rjmý¤È^û¡iŠaŒüž±°ÌKvEwd(g/o´ÚÌ¡H%=•½]Š”˜¾1/m꓉±¨q<-°c{›ø XÄÉ..¬š˜[â€+oûØ]í%‘l}#”EÞ Õaô)wò@F±¶ê–’ážÆõóû;Zïr-X®«1,`*emEÖï×j£3ùm€á>¡FQPf©íɉaõw]ÿbâ„ñ(EŽ‚¿|ù .»âÛ<ú—ÇX¿~½½aÑ¥KgÆ4–K/>ŸÁƒäzÓ¾ p᡽U÷éŃwÞÌaǟΫהi¥÷WNa¶°œè¾j*ù•]}ÌÚµo_Á)'GXœEÎdód•ºpÞ,{òiR©T©ˆôÒFˆ|–úPK¶¦fHl÷=´1çt¹])µ°@€aƒgåïÖ­[—~s„ ”””PWW‘”R¯X •M) óbØJšY{úôë[å¬b{0ÚY{BS#¬Â{œ 5mYqq“Ç­¸®X™ 0¬õÁn¸H9À ."ÇwO/m*ÞËgDû2€E! =bŒ±€öa_dØà"`¤¼4)+M­€4XàÏN©o s¬wFÙôk;“”8ûbÌyÏ®Iæš©&ެ1cú%ÚO"ÙŠ<D’0j”½Fd6WˆÈ@w2Hà›L…Xys,ÕÆÏ‹¦KˆëµHé èój霹RK¨QÛGŸ÷BDCgr9òˆÃ¼ þì¹gñä?ŸòŽÃU«¾àÁßýÿ½ò ¯½ð_4|Ùà"Ø ÔŸ»oùÇžz6µuu#€ßèú 4.$D‹6ƒpïEtjÚ“Ž›NçN8¯ìêÝéµÊ‚ü6lä¹—^ွ÷dÇ¡ƒ˜<~ ~üŸÔÓøHDâ)lã:h¼°¡Ú`¿™û2 ¸¸¨k­Â_| `ˆ:uä€ý÷çÉü`gà ÜÂFX±:ÍÚݯº* \ØY¤Mj­¥B32óþÑûÚ“.:Š,Âò•ŸcÝs:À[ßW’Üêá¾µÁüf‘îÈÄŽ¨Á´2ïßã±µ@S´:ŸGÇ;aWr÷Õ:Á6Àh°<u•$•[ßE*e Û‹aÆË{aF ¹ii“Ï…K…sÛË—¦8¬=’Îû958" ÉV0²S~†*϶"–¯Êvî$Úö¥YÔ([Þ¾ÀA,·ÆŽ9=wßÝ«à¿õö;æ2+”R_hkb;­P–ì‘" H{1Šp±½x1” 04x*‘¹À÷LNY€"iµQÒ:w­©dcR$ðbzèT0ëvvë`Øt5—²f²ó¤Fßê>¡F¬ÊÞ½xûÝ  sÆ-å¿àäx°È`‚Ú>ùàô} Âú Y¿~£iÂk϶³"…µ¡[Óã| ,Ç“=Ñã9m´À…jűaƒ‹2¹V{-bñxœiS§2çôYŒ>`Š‹‹={wð|Sí&þýïÿòÀƒ¿åOþ™ÚÚÚÀI"2 ¸G)õ<Ù™™Ü M®G(iÝo‚ ]*SÁÛC“²Ä¥HÙÇ5ب՟ÇtÚë«€ã à< /Ç6‰IïOuŸÞ:Ù‰L~þÅjþùŸøÝ£OðÒko£WˆÈKJ©Û ¨euN{Ôé{­ÓýQÒßȈäKfA3\?õúëol‘?Z^Qž‡Vd[üñXšÃNØ9â?'æ+  =å⬼ÅÃÎi»ÓÙÞl"r0J)ÅOnø>:´$âq~òÃë¹àÜy<ûü ÔnªeïQ{1tÈ аu ó~ue/¾óÍó9ÿ²k È^³3ðšˆ$•R¶E,Ix ž-e{ÞÒÙyDdt¡ÆsΜë±h¢zwMM ×ÝpKÚ:©”ª‘v+V®âþŽžÆùgÌä/ŠÆÀ‹1@[ØÝtÚÅÛ™ R@l̘1<õÔS3߬"›ºärç•3æm:Ðjb0ê)**J+\‡NÌUß¹©ª€ÅF×ʳ[Ã¥I„U¡òÊ^é@ï ãÁкW! ó[G±®]:qÀ¨Ý-‹xŠ%K—gP‚J{0°”aS¥Ü—„Ë;1×0œáæ=£tov dH¬]{¹˜°çž{ðÓ›ndÝwsÖ[ÏŠPZRÊ!ãæq±déRnøÉÍÜq÷/©««Û¸HDžUJýRE£à‚4rGÒòàø¼s)R¾ØhÔ;ž”$ÇzOàN3ö† êÏ×Ï=ƒGïM\µY¹†U¡kçNL?ô¦OÏ«o¾Çõ?½›^y`/M¼xÏj ¶M{Ô‘?vä!äËó`h‹ÝEnM% У±•ÝÎwí+*2¶C²²Rfž8ƒ¦ óå*|à­ŽM~êVaçH“°œZ^š˜Õ”g¤MYš³*´‹Èà2€ÇNgêäIyÁ…ÝÕU}¨®ª,4l]àÂÜßôC'òçÇÿÉ“O? aÐh _€^˜—_9P#vÎØÑûShZsÞ-·ßËÒe+Ìõ7é6OÅ·ýòAŽ;b2CöeÚı<ô—'†)Å;"e\DŠ´R»½y1”Rj£ˆÔíŽ=ö^}õUÖ¬YSœü4Äún ›;oStÖ@@]ûâ‹/èÑ­[zn 6ŒA0ÿÈÈP¥Ô2²i>¾4µ6MÊŒj@ÅôÓo­Zåz0ìqiÎ? `òÁPTÏ ‹ðÙÒ¶Rg¬Ìv|Šò(~î8ŠdðŠÅc1’:¥ªRj…åÁH$,J¦ÍÁoµø Ç T*"÷”Rœ=ï,®ÿîµ§‹^†ð$€ôêÙƒ\ §rç^x Ï<û¼ö‘þJ©ŸéõÔx lïUXêà,P•SÁ;}dY2ƒX ¡‘\’MÇgï;‚Às_VR\ÌgžÂÜ™ÇR”ˆ;{ oßÉ¥î"ÂÈCyàg×òàÃsíwR³©¶³ˆ\ ܪ”zM¯G›/^Suz¢8¿H¾<€¡­6“[ÙºBDÚJ)·ºu™~^ t‘4ÀèÕ³GHœCÔ¨¬sðŸS}ªYÔ¨|çx³ç¶ è^ÛWËÛ€ÒÊÞ½ùá÷¾[0¸h^,Åf€ ¶¸@@)¸îò yî¥WÙX³©DƒŒiÑ ”j$·KXZÃí&;@˜#";ãΞ;‹XLåx-òÑ£–,[Î-wþÊœj(I¥Ôé2ÿ£Oxòég9dÌ~œ7çd}ü)“íD ¼DvaPÛø²=x1Œb Ю¡¾yóÎâÚk¯ƒ ¨ùÀfn8ŠmScµù‘ÏW®¤û]ÓJ9Ó¦Næ†ŸÜ Aæ¡g•RI¢\—hˆÞ—z¥FH²+Um™úJMÙK 18|ÒX°‚»E„ÅK—™ëo$»€k#áéH³<"2” Þ_Ûm'ž{ùMÈ“KU³©Q.ÀP›¹æ»‰<®&)¥¸æê«¸äâ‹5Ò±ißú-¡µ³D„aCóØŸ~Ï 7ÞÂ5×ÿ€ÆÆÆÞ"ò ¥Ô/€÷õý»uP|Aùé´ÀÉd’[îþM4ô¨ù/¶oµIa··¯w\DN®âÕ•½¸õGW±ëNCÃ=8Y{“G²ö¦˜RÌ8|#wÌœK®å³e+K€3EäV¥Ô;„WµÏ׳½î-‘4C6×åéZÌf`—qS²­ÓÇZ½ñ¬‘îEsKOöÏ9-¢FÑj”4£p 9VQ õ¸4YʙϾLBa9ãÙšOzB³Ù~ Ø9‹ñ‹ŸÝLçÎÂÁ­.h¸Èñ:òÛ… óÛ•½zpÞÜ“Ms z[ Ý饖—°È³I¸…¬¶'€'ÈZïSÙ›#’ ÷%<¨ÛÌ¢køSjj6¡-vv¥]“õ…[ïù5" þÕ:ñ s¡AÆŸ4íÏö`Ø Ãô›k=lK}±`éÒ%œ{ÎÙtêÔÉ(äÇ“)–jK­×¾qm ~a:kÅŠ:fAsáS)¦M™d~¿#ÐÃz&>Æ4ÒJ–®ø^ A FX²†>€‘Ðç'ò€ ×{‘@W•ïÛ§»š]gAR,^²Ü\¹±"vEow?°çÁ¹@¢G·®ì¾Ë0s½úóõÌÇ0ðY÷[m~ŠÈ=?9󌹹à‚&˜MX<ÎÅœÃó«`/ žgkºX' ƒ>ÚëµÕ·¦¦°É$?øù½üðÖûøÑ/îçG·=À ·?Èïø-þdzöÒ@n0¹âñ\OØßm—yäþŸç"M$œñáƒúóàϯ£º²úÞf‰H_=G:X{L!{KLÏÃímo‰äK¶¢065"²QDÖëc­>ÖˆÈZ½xæzìM¿ÀìS-£F5“>%ͤOù`Yžâ‚¹çäÀc1‡Ï Û¸•[³•cÉ›œ0ï̹|ИüàBZ\H Á…lÁßž}âtúUUšvÚÍ )·@†IÅ[â([B)ØV¼bvæ¨Jtvž¹³fRRRì÷B¯¼þ&xä1ó²Æš_u@RjÀ /¿Á+o¼ Ày§Ÿh’\”‹°££LÚ Ãݼ‹\ëaÙ¼AP)K–,¥k—.œsö<óÙd žK¨2¥Øð0Ó>†æÂÊ+²”r‘{ì6’>•½Í|äx(ò óy€x,FUeïÐ×½{õ°ïµÂµ„ëìU^Ç>ql‡×J‹–,s† ´Â¼XÞ‹¾h Ö¬ãeÙŠtUð%d§O.ñ¬#‰-zͺ_ |ˆíºë.|ïúïæ‚‹œÌšZè:› c<€Çùƒ%Z±aŒöŽ'K¹Ö5%žÔšX¬Ûp¹ß«´7îí<ÙX² jìŽ#èŽÚcW¼íºuíÜ´ñ1oâšpÒ»ÇÜñƒËéо}¯3D¤“®ÕÞ1bù@F¼5¼Y‘lÒZAÞ>€áf·p ÏØ®Ãòl ?~Ú“4‡ÕœÌR”YŠg– ^>ÿò\qýÍd£•lôà¯çü“WÞ|Ïu­MÖç†uSïmÞ cÁ©~ÄFîº W_yÅl3à„ââ".=w6g^rT>DŠH½RÊ—^Ð̯ÛojA›‚1(íØ±'LÞ8‹l¦J¥øÖu?"ðÕ“Ž÷¢ Z Ð(½õž¹í†«ЯŠÃ'Äïý;ÀîJñªHHéÄÑ4M•j°¶‹± `ñâ€FrÎÙó¸å–ŸñÅêÕ%þÒ³O Pƒ³¶ÙÞŸUËÓ I+W±˜bÚ”Iüü¶;Ñ`áU=p€… 4 Å©@ÇŽèÔ±C¸0sµg÷n$ ¶Žüô(»ˆÜh`‡X,ÆaÇ &{™ûøô³,€·¶Û{á+¼iæÂY@q×Î9î°C8õ‚«Ì%–jï…oŸ¶c/[`¸ô(9 í­¾ùÆŸPZR‚7– ŸñNhbͬ±Ã‡ á/ý†©GǢş•3EäN`¡RÊç=41.1 F)u‘V¶ µÛп;”¢P„䀿0paŠ^ $v:ˆ»oþ.åí £‡ü@ô­äê‹çrþ•?FDú£€uaHå1»ÔÅQ w$_À `ØV8ûs³YDl6ŽâTønya>ñ+ŽBš Ë,%-¤OÅãÁ¾ðÁ‚…™‚{›'`¸9´ëÈ &Ûj@†'}h\ƒÛ€îååüò®Û().ÞàB¶paîoêø¹eø`Þzw>ÀNZQ«9|ùÝÝeÛ“÷¢A 13?–Ž;dy8Ý4´Y)¤þËã¼øòëæÚÈöÌÚ1Ÿê>Z¸˜þ}+9gö üé±ÒÐØX.®Àsà÷àª÷ÌÙ¶‹±`ÑâEˆ;wâœsæqÕw®«”zBDVSHRJ©„0ê–´ö—ϪeË–e¥v5ÊùaS'€Ñ‰ ´1ßÛ郋B†•¢6w_0ã§(§g÷n,^²igý÷x¸ˆY­#v1”~}zYÜ~S#iy› Râ€,—eƒ‹^ƃwÊ1S)+-áãEKlÐWâ(Õvì…8m­r¬a-7ĹãÇÌ>{ïM¾X‚\ãä©åœc­±ýûUóÐoîeâ¡ÇðùªUeÀ‰À]"²\W\WÀ0@+NxŒ‚góOßÊéûöÚsQÞm‡.Üuów騾¢pQµºi2ùà}yôÉÿòä^MP¤Ð®K.’´í¬w‘´¢´V F?EÊäx61ëõaâ/̱!û’¶?LáwÏ! ÃWHŸšsÒÑŒ½7cöÝ‹1ûîeQ5B©evµOÓnët[­TŠ÷ÈTÿl `l©†Ö¾‘ÓÒŽ*8ñÈI¬Z½†5ëÖ›ÿºÜTœ§°Ø‹Öî5à¿J[Í™=ky‹×f}ò3{×]G‡2h ÷ßý JKK ð<è,"ñS¥ÊDd™'"gˆÈ9MDN"(y80I„qc­cŒ@¸0Ô¨Ù@¿D<Î-ßû}zõ(0ödó‚ßm#ÊEsfÇ  ‰í¬+,n»hoÉÕc<³Žx3û»9y0rc0TφËy5ÖÀ Yx!‡›M*äœú›™YjÔ»0j÷Ó¿½÷äYº|¥ñDÔ)••)Å~t«n²^u&Ü IDATG0¤Y ckRã"rA¥RN:a'Î86\ð i¸ 5À…øû÷eð€¾ÌÿèD¢+DÒVo÷˯®Ú²¥ÉC»+Î8ò°©ô©ìÐcé äçwÞǢϖú¼õŽ·A´g)йS‡ô:gÖ ~ì444–‹°;ð‚³.6xúÏ?µ-÷›iÙEëׯgÕç«èѳ;vàÂóÏå²Ë¿°A¦´•µ’š¶b²HÙãÛö€±K—ZÞ‹Tzž%â1¦LÏ÷܇öH¼­ÛÒ­MbïK¦Ý« È %MÌíªÊž<ÿèq'¨Má‹¿°é1€’²Ò&ŽÙ';3Ãò6ˆ^ãƒ6‘¬‚ƒ>pÐ@>óè)´¯hÇÛ¯, ¤SMé¶+° J2†B›–EhsÖ¥U¼¢¼œñãÎ_7o0ssH¦ÿöþÚîÜpýw˜wÁ¥ˆH5pð DJ–RgÆÛe@çÜïFí)r«•ùqÖ¬ãÙïk»· ö„¿›=uPßJöÛkþýükT½_€?¦Ö­ã±]Åa8cÂç™Êw4e|É—KìŸÞ÷€ÖŽÁðYŬéË7^G†î£¿ØrjTn¼DÈkû/@Ÿ’ÖÎ,• ÎEhP*‹Kïã×78£I{9|#,Ðû«š n½‹JjT|ÇáÃøñ¿— .dÛ²9ñyÀ…á’Ï>á(.½ú(Â%"µJ)cI/µ1£,5X›[[§IÙô¨Ã¾±XŒygÌJ[2³C¢œêݺ—.[ÎÍ·ÝvfXŠ:@{/RÚê× àÄéÓ8{Öñé?Ó¯ª7GN>˜ßüéqb1Þ ÖGM²F-Y³æí6CcW”ÿLQ/\HÝáŒ9§sóOÆÒeË"2Y)õk}IËKÑè´]ÛÁ02#D8tÊD0:ê¹³Ú€ «>‰ 8L›÷M‘j‚çoÕÂ(mƒaûO»ßžtj_žCï>þ4 0Òm"Ùô(Ú7éñ^œ ”uh_ÎÌéSჟšë­%S‡Å¦G]* \l®¡Ê¬ÿ#vß}wÚµkGÓ±ÒŠ$è¿ã9Šÿ÷ ÷Ü÷ ÀžAÛXUÌÑm”Ô ¡sçNÙuç‰ÇãÄc1b±ñxŒx,N<¼®««çÏÿÃÜï*Ý vß—3ØŽCrÁÜ™Î>Ó”!´õ‚ßaÚÁû€ÑCAgIë$Ò ×(·8`‘dl Â=ÜÌp¾lq.ÐÏ|²¾×ö:ºÍD+n$Ép‘ xj/¾¦}2+M­Gi+—Y–Çðs¾j”Y*wò;m—4 ƒ\N¶k™®!“î×€Šë¨uÎÿÊ=!õ.J€;€ååÜwÏ´kW¶…À! >[\H«€ óÛ‡O>ˆëoºƒÕk×)ú+Å‘tÀ¡¥oFÂmy#°)(gtàþì¼ãp‡¿z÷u?ú)6ÖåmCî+ð*N>ö0®ùƹdT†y§Íà¡¿þ“ú††v"Œ^&C7i´æxiS^ŒmšÍò méðá‚ì=j/D ¼¢œK.¾ /þ:™ÒžÑÊ\RD⚟tÚǤúŒ€±tÙr’Ä”²jH û>_ۃݻ±|ÅJD¤¯Rj=™b{¾Ô¬)jHgãÁÈ«È Te(R%M€ £d†5y¬Ç{aÆgæºtð°XóØç½0c¤:sÔÉGM¦c‡rxÿ£OÌõ–è{)`äñ^¤ZÁPeö€Ã‡£°XZ€d¨S×]y/¼ô2ï¾??Œ# Ü‰2Ìúù0¼]»2~{ÏÏ ¦¹/ÎþóÜ‹i€¡”Zê¬K Ù¨ŒÅb|÷ò‹(..Ê1t…ǞТؓ|dŸÝw"‹‘J¥â@/µ¢×;LÄÌ»g_ñÅ¢´e`‘oNûž‡ Èmqèà çfœ¶ Ñšu0l·Z_™Ü˜;®`½þ,ë’S£Zƒ>%MŸ“M{Ê—J6$¦?ݬÛfv{m$7ÃÔYkµ]lè*õ„zËW4Yݸ‹Ë€”RÜxÃ6lÈ.d› ”•”päÔq¦Yû‰»0©=Ý8 £0ålm4oyz|éÜú#Î9sNø¼´,yF^}ã-~ûПÍËdÓêmHƒ‹SfÁ5ß<‹eúWwwß>½8rJ:c¥hïô›¯îCXÑ«m­ž‰½X6¢iR~øaÖ¼œuêLúõí‹ö7>§Íy0<ÆP×ëhæ·)½‡ˆ+"‹Èu"ò¹ID~ "W蘩"2\,L½»þŠ/5pX»{÷„­y_hÍ,R6Ø0–'×]s¡I;¸ÉÝ÷ §Rt¯9™¥üçdÿ¶« 7óÿ¥tzóÕƒdh `ŽZ‹ª±Ñµd§ûõ¥«Ýb0ܸ‹C€ N9ùDf7ý«l¸Hj% ‹mQpa~ûØC'pסӞJ±I{1|uŒµ©ˆ­3gKzÇιËFï¿aihÝêÝ©TŠo]›“–6‹{,"\ô8í„£¸êëg£”›^:^æz,üë?¨¯o(aðšåÝ­s@F[óbØÊéB`§>˜Ÿ5GJJJø¿Ë.åô¹g h0×i3“Nû˜¶QJ©•¦Ý-^̎Æ84£`¸1u"wþòôfÞ… ›”¡I™lR؀ΠUVZJÝ­ãéŒ^ö=—êõ9Ì{ÑÔâ° ˆÅTÐL6=JDø(C‘2ñaÙ£\ïÅá§LŸB§€PWßÀ‡ ÓÕ¦—ÅÆ{!˜rŒŽ¾~›;cºí)*J´J,A¸H&“lØ°ÆÆFÊÛµ£¨(‘i<íݹËNœ}Æ,n¸ùVâÞ# ŸÖk/†²õ"Rüêëo€2俽ñV:•üç:Çîû¯e¥%\rö,/8Z·~#}²ˆe+VR_ß@§Ží:°;t锽?@³cOÂH÷®Xþùh·TA‰äî+. m31Ž‚ó £» ¦ÄìŒÔ@ °…Pd ð&ð¼Rêm$¶“#ùâpÝ#éx=lúÔVI¡m-€akm&½››òÍ}nH²F>jT3éSbý»/?³T>ú”׃ÑàñøØih79 Z²ƒN]zLX&©¯Lù‘>À­@|—#øá÷®ËöZ}™àBZ.ê˜xÔLÖ­ßÀ“ÿŠí+<®ìÖˆ0tP?v:·Þû*•ÊÊ‘R+ OqÈfÐVù²vnýõâÏÙgÌ&SévÏŠÏòùë<ÿÒ+fì®w}Ãß• *4³OšÎ•—œM.å*{šUõîÉÑSÆñÀCì¨ t÷7ŠH™Rʦ¸Ù±E¾ù»ÅbØF§ï½÷~Î8ŸqÌÑü䯛yûw•ˆŒUJ=("vMz`˜XŒÕºŸ~ºˆ‡ Ê¢±×î»Ò§w/“J¶J)µÖ±HÚèïª>½IÄãáÖqýºwÏî%4µ0Ê\p¡é^ÆŠ=è‹Å8râÙô(«FͦZ>[ö¹à5Öõ̪b³Ò{¯® ]Ò±C§3%}½>ýŒšMµ6À("›e@†j\l=Ê5ë7lhµXó¯øÍïâ7¿û#¯½ñkÖ® Dœ^={²ã°!ìµÇnŒ½/#wÞ ¥{ÿù1>úø“°?AêiS·Æè3Ë€ê7ßyÃ&ÝóßýàCs¿«É¦G•£3gÔ4z÷ âyî¯ñ÷=Ã3/¾Â‚Æ+[ã)¾¶ÛÎ\|æÉì¹ëŽTòn»áââ"×—ÞG<éœ]F[2Rù€E‰ˆ ÌÒý§¬ïÒ¾}}«ªèÞm**ÊIÄãÔ×׳fíZ–-_Á§‹—PWWAƲ€Dä|àYà¥Ô»äÑ»içmàa'bHÚþ­qoØ,€!Ù96i?E&Ø;›Í›l}ª•3K寲ÝúYŒÇa(ev½ ÛƒQ羊Þ_ºåÚË7•[oºµ¯¨àÞ»o§¬¬Ô«doÍàBßz÷}^~íMÆî¿woV~pA3~ûÐ cx뽕²L{1ªñºŠòÐÖ²IÙÞ‹y@¬ºª‡M›ìL7uQ7Á¦ÚZ¾óýŸ˜Oêõü³-KIÙI·;sfË·.ž—chpÁŒY³Î?î ˆ¯·öâ0z-üäÓÐX†xLqØ”C¸åö_B”ÿ¾RªHDŠ Q¢Û¸À€¾U^¯¤;_‹ zõìΧ‹— "%:v$,¸{ À^»£oe€…ãuÑÞ°F¬ïE‚êèœvÌT:¶/OÉ·Þ[€eÌ[¯2`J¬ñæ½°i¶›»v(í`ñ¢Å´V!=>ùt3fÎæÍ·ÞÉùÑÆÆ$‹Ƣşñø“OqÍ÷n ²w/Ž˜6‰Ž9‚k®¸”ãO;  'AŒÌ«zü¾ûR ú½h][[Ǣϖ˜=p.ŠDdPV\\ÄÜSŽeá¢ÅÜÿûGùߟ`ÅÊUaºQ ˆ§R¢žù Ž›{)×_~GM9ˆÇžxèUð4:a‘‚"ÉÞ?|àb›6Z…P¢Òõ¹DäàR`ùN×.]˜0þ ÆŽͨ=w§ºª2X”ƒ¹«2©¦ƒ¹\_WÏûóçóÜ‹/óϧŸá?ϾH]}}±^ƈÈëÀJ©÷É­måf†Œ“IÜÒHv­–­d$Z}WiÆÍi¤oçÏCjú/5*4³T!ô) ÙŒÿ—y·²‰Ü¸•À¨÷XY}n¶¯ªò¦mHˆÈÅÀh¥?¹áû 2h ƒ BÀ›s±xIºº. ?]칇ÂÁ…4ã·'´ß½éNDÄäÑß`y1JœZa9íÛMÊSX¯ ØzÆé§¼jïÏõ:Þzç}|ºè3Û{a»®SZáípæ©3¸ü¢³²³Öå._YïõéÕƒ£§Žãþ?>0X{14ÃõbØŠô¶îŰAÆ7ÖðÑÇ3|ØÐ,šË”IØoß}xæÙçö×™§Œ§¢ÁjŸz²ƒ—½>ùt‘ã ȶò1u?»ã^tý˜ôu\+mƒO•û÷ Yryþ}«*ùtñôÌ¡WèyØ0}ÊØ¬lWb+„’⃥ucK©ð)þ)Ë{1(êÒ©3§OÉZ_g¾í½°­Ï¦-Û Ï{ÑZ^p| ð®åÍjº^n, @¾øb5S<Ž…Ÿ¤3e5(¥ÌžšÔª‰ÒsªPôÙ’¥üôwqËmw³ï¨=éÚ¥3«¾X AÚä7| èÆÆl.úl ÉdÚû`hr&X|g€ÁýûrÅu7òäÓϺžŠT/Vеú7Ûpõ{‹0¤1™,¿ìº›ÙyØ@÷¯nrLêÝXùÅó’Ö~áËúéjÞ?ðx-Ú˜tƒñ8)¥wÐfŸ6“ñ¥8‘H¯5’J)I×®‘,c"%1|(; ¬“ŽeÍšµ<ôç¿qÏý¿ç½ù Ð^ñ]Däi¥Ôý 1ê,C—›èÇ$GŠYë•`)µ5í±­rK²œo@!Ô¨|ib[BŸ¢•3KeÝ­¯Ðž/Ð{™ÀîõÐ0Ž­"#„5 ]ïâ„Ç2ã˜é^.së‚ ²ÙÝϾørú~?ÿbõ—.¨ê݃áƒû›·»“ÔmS£|Aym"eos’Î:ròŒcðÅY¸Õ»–-_Á·Þi[wÈÄH¤Dd€ófÀÏË6Z„€×{ræÌé”(´ !;˜Ïb¶A¢¯¨Õ¶èÒ›Þ"½VñÖ[oçÎW_y¹©"ÜEoò¦8¡/èÔx–|´ð“ –Á*TgMï¼ãP† 2sGzã§H™¾èÁÿ³wÞaRTiÿÝîÉ™œA &Ì9#æˆsÀœ]suÍyÍ®î®au͘ÚuUPD ‚YÂ Ì “gúýþ¨ºÝ·nßê~žrÚ¡¦»ººêÞ{ÞsÞs€aC‡¤èà 6¯¾Ú@ý™u:vD© {!"›‘îeÅì°ù¸`s·>Vÿùw KÙB\Œ>(Úà¸Cö¦° ?pÜŸÏš­_ï7å.>˜n@®ôæöœC¾˜={6ËjjÚÜK`«®»1.”Rµ~¡@ ,–*¥*¥æ+¥f(¥¾~Ä Íäƒ?Õ༆Ü1úsû‹µr€_ÿƒ¦¦&&ÎñÏ¿ün^÷õÆø4¯Á—YßÍáÕÿ¾¯ÁE žTæ.ààM¥˜CÂF¸Á?öŸ”â# ®±©‰¿=ü$)­}S6¿ÁÅÒªj–TVëÁ´™  Rª­+ }æˆÈ)À[\ì<~G>z÷-žýÏãì6a<9ÙÙÞÌ"¢DbJ ‰¬™µ$­¯åÒ’bŽ8h_Þzþ_üýŽk>lˆ>ŽmüæðMðäTf#x ø‘„ÙEN«Ôa A"qNj»4jÅ˧ÚIåb0L');Ýd.ª Àaf`Ô…€‹Uуa‚‹RðÌ^cØPnºîšÄÙY±à‚ö-±ϾøZüƒ656­p¡_sÛÍ7ÔoÝÈQ*°@²›ñ²CXŒ®Æ^tÃó–çˆC¦¸¸(Ô†ÖNï¾ê†ÛX¶¬Ÿ¨1îI‘ÕüÁžSŽ=” Ï<1ùõâÿ+Ö´b\ýûöbÿÝãN`Ô¢ˆpG©<’enÕQJ/V€¾˜ñer@`“6dÏÝwÕ·Rªˆ “”+µþ€yóB¤%(ìÅ;"ì»ûÎúµ{yFs·é\ÕßÐYcõÕRÜÛÁbÓêƒãÃp‘Rñäfÿ¸7Øc‡-ÈËÉöäQ± ÂO$ÿö‡8ƒQK²tÉd¥õ2ˆöí݃ƒ÷Ú)pÜ•UËLGª)®+;×*†Û.sy_±ºúz¦Mÿœåí%XVSÃ?}B¿¶-1 ô5ŠH­ˆÔˆÈ"<ûÙ—wõud<¶ðœþüK›X´h±C ü±p‘y bÌkZ¯½xQ)u‡RêMü€É%C­5"TsÞþà3ZZZÒäe–-2kö|“ui$<ÛÁ¶]íJà" ”ˆÈCÀ•@îÀxê‰Gyú‰GY{ìèøµ("Jb¢ô¸ž0î äãËB;ž@ôq0~»­xý釹ðÌÈËËÅŸkΑ}üç¥i@†­Tˆt4Ñqa®Né‘£_‹åXi°‘Áñ¥u–Jš,ZöSÔ“lïk2&¸¨uPi¦ ÁJÆÂϤ/†eggsÿ=wRTT¸òÀ…´/¸^|õ-¾Ÿ;?þ™ ü>7K•Ìf-¸Øz“õõ[çùƒN¼ ë'»š¼;s<-ˆõÁEYnn.Ç}¸cáï(¬ |þå,žxæ³Ro˜õƒ ‹N;þÎ?ãlÚD}J¬:‚Û÷øÃö%/7¯šÍ{a³y™Ås5“Xœ~ ðù3BFáŠK.$×;G"²ŽÅbä9*x ~úåWA{ŽÅûÞ»îD4Å?§½­{GŒ‘H„¡C¥‰1ÅædoZÓŽŠ#‘wM4w›,‹C--ÍÌž÷‹ 0\ì‚9®Ås(âä#öó®1ã¸g|ý=ÍÍ-1å-fã×”¤¶¾5Œv›C”R¿áÛ¿ñæ[­LòN.(~úÙtêêêôk78 võ"R'"®¹´øøð8~¯ž< £PW©Ç닎þ±-N0 Ö8¬Ý†–¯(¥QJ}×Û….2úa»þñR'B­H`Îÿ jY •‡;kIæÖ¾>Ë<æ– ÆÜN 0ÂdQ"ÒKDžöØgï=ùô£÷ØeçLµÄb q„nÇñùÁdÐ=;¦CÈÊŠrâQóâc÷2ÒS'D€}Dä‚Ö¶&È(ð¯)—µy`ŽXÕ £J¤„´V²Iò©ä}Â¥Q’4JZ!j½|Ê!!0{)\"&Шu€ [µ*û/ÌÊòfÀ1gœv2m0®Sƒ‹%K+¹äš›¶_ßÞÖûÙàB2þ|™dl¬3j͸üAÄc1,©G¶c³eR6Ñ Ÿ‡'bÿ½÷ _¿¾Î…¿Xƒ~Lb\2åz]½kñ­¡5¸èëäœyâQœwÚdÒeh8 ÛÑ¿wO&îÏdXÝ`1ò­<;Ó¤³²vEük€3¾¤¹¹)xÝû÷ð°¡«sìQGè¿_K)ÕÍ8GöùÉQJ-¼Û_~õê’”+!c`ÿ>lºázúÞëoÝ;È èVVJÏÝ2–DJ‘Ü‹K/ð‚Ùxݵ2°oPÙ‹¿-XÌ’ÊeúÅêLp!Ž~ÙPÃVÀ¾»l‹ÝüüéŒo0¸ÍŽëÉõ]5¯ öB¿ÏûS_z9‘bÞÚ^Ñ6ç‡y.E@\r,"f±nYˆ`ð=ðppƒˆT’èuÔÊ+–:‹‰•¾ÔÈß/^$PJMÞ^PJýDÔécn¡A„z‘¤¢¢ÎÁªÐ禪º†Ô²ì ¬}EøïGŸëc®#Iožô\’%²0eö†öž6ˆD"L¹üRyøï”•–ÆCLDùý;$K¢°ÕÊ“O¡DD鿵Ÿ (D”KF ³ÿ¸“·ß2Π‰Èa“affL†KNÛa2J"uZJ½P§íò)RíCè>­KÓ$µ|*`8F’åRöÖ*p±’ôÍ› ÜDG­5’óþræ*,¸hjjℳ.æ÷?>ìZÇÀ…´\Hà„ììlÖ3B¿}íˤ²Sl]J"e^g><(‰pòñÇ8ú²Ü ÿç^|ü^_^£lO]q<ûäcøË)Ç:¦RqŽb‚6‚Ù¾Lʶ¨M•ÔÛ)nÓ_þd€¶ÛšQk°H·T©®®Ž+®3Q”+¿—#àœÓŽã¬“±†ŽÔ}V[ŸãX oï°GœÅb¤{weC7zÏõ+²|üɧ¡R˜îÝʸðܳôß³–Í7X ³rÅ“ýðíì¹F“·8{1&l·¥%ÅLö7˜¿\ÿü÷±æÐôòcÊÉÎŽîù¯Ñ÷åh@ èÛ“­7›|\±à±~5{¾þìõ!óø€ ‚/ëXìvÜr£¤ µÊê¾N$x/‘RØà¢ÙúiJe9®³A}°@Dxôñ'–«— ¨ À´v±Î¶~׬€¹UU>ø¨QJÕ: yMµµuNÅCCC£ rüïJb¸egÍ–R!ž{¥Aul•¾{ YÑ(½z”…Ì8Mq$Iòô+ïaH´êÌã·‹˜‹ÑêLL†)«ÍÆk®ß ‰pïÝwrð˜18À„Y|öcĬ e ”ÖëXöÔ1ADÔ•ç¬Ú;^Ù ØVD\M߸/¢ežˆtÄÙ(½4*3ùTúðU Ÿê2ñ)oâlà4€]wÙ™­¶Ø,´ØÑÁÅóbÏIÇñÒëoëÏ7§ßqëÍÈΊ)Ò .<™Ôp}z!ÆZØ=`X 6*"ÛkœzâdwQÀ‘Þý·ûÿaÚÒÖú€¸¯ižóÏ83O8ʱ6J^2q•š›ÅÈa2:+‹aËn€Y}ü?Çb1q<|£×©¿ïõ I@¾ãÜüðÝ÷s¬Å»$õ7äçå²ÇÎÛêãëc£P- IDATg±ùøŽa#×FÚ¬«5|èƒÁˆƒ‹"üdðv݆¬ˆJ°&Ãâ+±À¨%(¥±é ¾J)Î;ñP)+­Ÿ|ñ5MMÍàõ_,6 q»F¹ÀE{Ê£ô{5/<úøÔ××µ¹—`ð æzÆ©ð«ÿ6À¨²¶€;£Ïx˜ £  ¡±Ñ™äKØÎú½•Òb1aŽ‘õ@,ìãÓÇÕ<È‚@†”;¥;TÞ'°¬¶–g_ß¼ÎlÖ*]Št§®ÞP9 ØàŠË.åà ôFÄ$¦‚비,*.s’Éû˜)ánR¦1Hâ{ôÆ,¥Wžw²Úf³¸¡Ëx`¤2´TªÐÁbt¸ž½jS›Nö”É>­‘Fe&Ÿ äò8Kump¡Dd`„RгN?Õ˜ŒW¸hljä–;ïã¤3/àÛÙsÚ.–ÕÔró]²ý^‡0㫸†¹ÁýR‡LÜÓZlدÙþàB€QljDôù.²”Jb+ÂØ‹Nâþq Àúë®Í–›mâ´¡µ“¶ÿc·%liüªl1­”â‚3Oâ´ãl`Hå*•ÄΊЧgw4Y â,FžÅb¤Ë5é ,†½€ðÁ‡ù 2qÊM²¢YüuÊ¥Ú¶¶ /ü,¯ùÛ>? ¾þnN@•È™6}´÷.úuó@z)Ýüª #‡ ®°=D´å¤þ`¬dæç±ïøÍ“mi-6£¡±‰oæþ¢/ô:PÓÏó€í&l» ë½ÿi<Îa‰þí"ƒKՌۢVÚáZ0ßïY eÁ‚…<õÌs´µ—`ô¨‘æ{déãS~d§¤fîT­RªÎ(1À»ncv$±™0üׯ aXÌã °Þ˜ám¶öÕä©—ßõû8彟 T4‡fÚW6·2 S \ °ß>{sö™§Š"1è±H8E©«a6l;œ¢‚ àb¿±ELpâ‡F¢Ü|ÅÙjðÀ~Ê¿g÷z¤ff‡`1"s>JçÊ”¹|*3i” $3#Ë%2–®3°>@ÿþýØ`ܺ+\|õÍ·LØgW^{3?õ[OØ—cO9‡w?üŸç_ž\H,ÆÌ¯¿åòkocÃíöäÚ[î¦ÎK9)¥–*¥ªýô_6ßxãÖ`iýçK.@èÕ½”žÝËônEpI¤¢t‰”Y…‘µmN>a2ñ±3iá¼¥§\«iKÛ ">@S\tö)œ2ùpÚbCæ*%IŽ"Þ㘃÷Ð,F–àd1ò»‹¡«Ÿü0o>¿üúkˆÆûÿ­·Üœ½÷ˆÛÖŽÂÓ!»XŒ…sçýDCC½clú=b(댡Ñ< ʈ5‡9ÁD*¹Žïƒñ]åâI¼Øc‡M()*H’C‘0÷§ß©I$+×™‹r1@†ˆlåæäpöq“œÍÏ"1Þýd†~­Ƶ£BÀ_XÕº=+Õñ÷RJÍÇoö¾ã®{ˆµÄ¬Ï‘Y/A¿>}X}È`ý}äà¶o´† 2\ùR¶ <ÑHĹ€ÏÍÎ6ÖUÃ)J©F¸Ø¡º. —òA6[n´.Ëcí[WßÀߟ|Yk=AçÉ&ckVJ…Œ•š¯Õì…ž;²›ÜÁƒqç·¡”JŒãS’T$”¾GÍ’œ¢Hú s“"l¯(RZ\Ä—žIVVTùÌêVxvº¶LªÀ¦Tj•ÎYsJ²›2[#’ôáH¬(iT†ò©®Ïbdäæäx ¿•.jjj¹éö{¸ó¾¿ÓØØ¿pš››Õ3/¼Ì3/¼L÷nel¸þ:ŒXs(½{ö 77‡Æ†F•W0ç‡ù|öÅLþX°È^U)¥ªðú^ºÑh4Êg¨R´¸4àBÿÛð¡ƒX¸¸` 0"UJEà"©ù«3$B‡°'jµÁƒØs· n†ÑòS˜þÅ—<ùÌÔ8{!"…@T)Å%çžÆ‰GMr4fƒ-{ •G‘¹«TïÝ8hÏyðßS5‹1G¼É>ODò”RdhE.áš=Ý;¾ÈRJ})"u±X,ÿ½÷>à ÷wÊMô=3å² yíÿ²¬¦&/õö¼æÝÿºˆ*¥*D„ú†¾Ÿ;ŸQ#†Yúç„AÿîÐýv勯¾ÅŸ¸K”z в’bë>$m°ÙÈ5‡š…»Jœ¬h”CöÜÎJîNvNøâ›ôS½0¶«áú˜78ê€Ýد—³¨õÝ?ó›?ž)„Eû(0”R-)‘+J"¥±ÿ l5ã˯Ô˯½Î.ãw´Âô½ LØq{þvßßñ[’d4X Cˆ½&&¨Ê"‘i‘c4X›c{aa~ƒ$­>ƒçÙ6r1§Ñ1ÖåŠÈ.@v^nÛn6n¹¬}yö ,^¢ß¤† ‹e“-ómÐÁªq§lö"*"û)¥¸íÖ›éVVæÝ‹øÌ…5$$Q1ÇZ/ÌšÖ-­JÚGÒï³þØ‘¶ÿn<øØsZ*ú­_`ˆ)¥Â,¥] «DÎÖ!mjS¦c¯bùTjiT&ûü)dRó~ùõ7–.YÚ.²¡0p!±ÏM}•Íw؃›ï¼Wƒ‹ŸqXàK*–,åÕ7ßá¶»ÿÎESnà/_Í…Snà–»dê«o™à¢X¨”š­”úÕ¯ Eñš¬8â }XwÌÈ•.H"0tp\wœOÐ3+„¹°Ó>U'¼®4Å=ØàÄÉG“••Ôg‘˜½sÖ‹qñ”ëhiiÑÿœ­ÁÅåçŸÁ‰G’\sí³p³®©Ù“d¹Õ1îîi©=cMºX/†# £Å¯Î~ ðÆßqJaÌåÀþý8÷¬SõKÆË©°Y m×Í̯¿ È¡ÂäH»l¿=<Pù,Fž¿pg1#C@~ê`³¡ƒR·.ÐŒÈö›­Ë ¾=“ûC4à1Ó£.¹º¿¨¶¢}zuç¸Cö ÿ‚Ý&Æ‘'œÎO¿üªOzï_©Ÿ+¥¾WJ} üˆWÉ«2ªVuþ¾ €”R_(¥¦)¥~À³À\毕úŒ¹&çŸ>yå‹$k]ïÿè«Ïµç¤#d©d@aƒ‹Î¶gVôŽrºw+ãЃ'†2æÂÿÙ©¯ðñ§ÓÍ׊F”âÊ Ïâø#'…3ôYdê*e˦zö(ã =ãéÞ«)Àê^Œ|Zg[Û‘{1ìÖGo¿ó^"ù÷Îå ÇɘQké×ZO ]·ô9Yðå¬ïRô8$©ór³9hÏñú5ûøu ÀºcF¥árhVÄ”Iõr"JqÔ~;:äPÉòõX,ÆßÌ3†ËYpuü¦ñsO8„Ofç;§¼)Ø[|Šªeµè½doIпÁ0:•DÊb/ö†E£Q®¸ü2oÐ È™’œ¢T¸ ”9Ö™R÷>„¼Ž¤ØÇÛŠ ó8þ°ýôçYÃ¯Š€"Ÿ…wŒ:€¹KÇìÁhiTêÐ=V©³T dÕ5( ¥Êñ}ί½ñªªª3Z|¿óÞ‡|7ûû´àâ›ogsøäSØy¯ƒùèñI´A)µH)µ˜ ŽU7É-~ð«§ï(¥ÞRJýW)õ¾Rê3„üN°ÙODdM Ú³{7î»eЧOÙ$¾¢À…QÙí×+Q-“@rp”dç(“¹ˆÒ‰²0l ­/S;àÈÉ'çb jëê¸ò¯Á€ÄH$”‹ÿÂä#n£ mféÝéšÄ>`7 ,†‹½HÅbD;8`G÷}€ 2ýó/ÓT«!;+‹›®½B§pcôyòAFž_|õ!AŠ9›¾5ø8xïñäæäxç^¤+Ôë¯3:CpaëÞ‰÷vøß[n8š‘«ˆKÂy&ù1ÿ×…,ª¨Ô«¢:’›»³M6Y4»n¿™\ˆðã¯ðŸ§á§wÛ½->ÓÛlU¦›B؋嚡 p’´ØVJM>¸üª¿R[S‹»—€”Í̧Ÿw’+òÁ¢ 7™0 ¶Em7{õìî Wíß§·~/½¸SiÞÛõÖ1èçÍÀ‰­;*ÞàQž5wL›ùϼpŽj°XT› 2:‹DÊt:`„3zT½0Øi1C˜ T8(É`ãúÅpœ 6‡eSûíº-=º•ê5ûh=®> Ó²6‹U˜Õa]¤Z›ŽÝ&iTåSA(Á‹ÂÅŒ¸œ¥ºæÃÐoüñ'&Ÿx*õ õ¡à¢©©™ /»Š='ÂÎ{\çÿÿ3gqäñ§±Õø½xáå×µ-`³Rª\)õ‡ÏDØÀ¢X*"K}F"¾‰ÈÑÿVéo&¸ˆˆÈ:@NQQ!ÝùWVØ/#{Ûå¤ ôëÕü‡sB˜ŠHÈï:›DÊd/ŽJòrs9î˜Ã3b þvßCšáŠƒ‹«/9—c?ÈÉv,¯ mk\¥zv+å =ãŽRƒ}G©üV°‘NÀbªÈJ©ÙÀo/½úZŠjuâžÙhÜz{D\ƶ¦_Å3'Ô €o¿ŸG]]3À.ÁfxÿÖ§g7ö¿•~Ížyy¹ŒYkxëÀ…ñý®7&áhQŠã˜`NҟΜc2> ÖÕ#x=(…9ÙY\rÚQ^‰<$[èÕw>!æ½_“?ÞEÂøÖ‚wE6ò†Uóñ2 š~úùn¾ýo!½©›™Ço¿ ®¿Ž/WÃpÓÛèÂ]ǤÞ"ÒC}z÷tÛàýÌÏZh iqŒ&’åIq¦@DvÖQJqÊ‘ûî¬EJk߆†F.»åa=g¶ø½`!Ðñ›Ïm€a3aA£-Çúì''79¹ïAÄfTø>6à°Çx 0˜.R—´Êæ—Ÿ—Ã>¶ÑŸiu¥#‹‘æšÿs2¡)ÛNW&Ú.j­|*Ý{;÷qI·º.{aTž¿n˜úò«LØs¾˜1ÓÒÐÆøè“Ϙ°×Dî¸û~D„Q#‡ç š›šxåõ·ØëÀ#Ø~×}ynê+ZG¯Å/þâB»m˜@a©ˆTÚàB)µ¯7c©ÿ³Ò߯JDªEd™ˆˆÈf@^Qaÿ¸óZÖ»ÖJéØžž=Ê0Ö’¹6ˆð'TTØ)ÕÁ¯!Û$OW¡&î·7}ûôI»ðÿí·?¸í®à⯗ŸÏчÒ•!` ܆6X‹²\¥Ì*–¿ßQwñuÝI½™°ÅÌ\X6ïL}ñ¿R˜nA {« ¨ç­ üIU7ÅWÔ74ðÕ·ßÇ!‰Þúÿ9h²²¢ñâÈØQ#â)­>÷­°þÚ£â÷åÖeÔ°N9”ëñ¿/¿ÓOë^wXqìA{°ÆIã‚yþ¦¾ù¡~­ÅÖ½.’ìhdƒ‹ÑA €Ó¤”š<pëw3gîÜÔàÂ@påÅçj ïdè{Åü™cUx£)˜þ9 ¬´˜n%ÅÎ9¾ŸžñƒAQ)˜¼°†zíV‚o§ºÍ¦ë³ñº£ZÝü®wç?ŸeîOñÔîj \Ô§Ùlà°©íÀæqy°7 À¶Ûnì±°ú}vaX‚pßìy sŠÊÔš–tlì5~kÃ^›þJ²ò ÏÄÈZUE¨Ž×ƒ!މ>HþâÓJ£\ ~{Ÿ äSíå,ÕuÁEà®TJ=Ü È§ŸMgëvc³mÇsôñ§rÄä“X³íØyýùä³ézAɵS.¡¥¹™Ï¿üŠ+®¹õ6߃Ž<žwÞÿˆXLÀk>[ ”šG¢Ÿ¢ÒøYéÍLÄ„Rj‰~xs1Ïc>·¬´„Gî¹Ç­½âÀ­¥E…~Èø‰‹±0AF§g0Dd?`@$áäŽÍháåu·°¬¦€h4ÂõW^È‘“öIdu˜«THˆ_:ÆÂÕ+Ò£¬„ƒ“{1ÂX d$õÕt$Ãhô¶­:ß/ïëo¿K .D„ÂÂn¿áj½€,Æ’èYiÆoŒž6cV’*,={õA}Ùu»ÍâÇ»ùFãÈHžãZ؃ô¡o^cPÆ|Ss3ÓfÍÕÿk÷_D€u5tpŽ?d¯¤c0ljoæüÈ÷óÕ7Î"Ü™6¸p9µÐ~ý6À0C7ÿ(¯««çÌs.¢E×¥´^/®¿‡¼¿~¯!>3•²åœ`÷©èc°æÐ!¸ûs¼€´‘k чSêg%ds8\ôËËÍáü“ ,Òé™ûLŸ9›¿ÿç¼ÖÙàB’°:?\Pƒ ƒÑáƒö ÞãöØcw²¢Qìþ +™Ö9ElîNå&…½O2fq;lȆ­6@â$* ©èÿ3±¨í"Zù”ƒMi4JR;KuQæÂžH”R÷¿Äb1¾šõ O>ýO?7•¹?ÌÓç· ;;›s.¼œ‘ëoζöææ;îá—_Ó¯W£”úÑ—Wün‚ ‚R('ca°K¬«TJU)¥ªý°£€€¬ýûòÔC·³ÁºcV,¸hƒ}oNNùyyúDg[à!ÕÖ™Ø p”…gMËN;lÇÈákÚÜAÒÂÿ³é3øÏ³/øà"Ê S.æ°ƒö  ©›ÄW´«Ô‘ûO È³¹Œ,FX&FnŠ*lG•H·¾î~‘ˆðô³/©ì›mlJ¥†ýsSðÉç_%É¡L a§gOÜm»øn¹é)°¤b×EPÀ&ãÖàÓ™ßg|‚¾úþ'*«kõЍÞ:ykÅÑH„«Î9ŽÜœì”Ò­g^yOwƒ_0Q¸{L‰ŽK"Õ®‹ÈW1³¡øÀÛï}À?ýwk`÷wséyg2ÔËÅP>0+±aö}eÞSvclÄxŒ¹FÊ"ãÚ‰œn!c®k‹”f‰È®À!'º«ìת =}lÕËj9ÿúûii‰K£LöBƒ \˜[½0\×Fg(LõÄËÑaüN;šÌ²®ãìE¨STiUè>Ö5“öuH7 Ør£uôgë äªD†OX0«º·ÒçýŽÙì™R•|Ê®h.¯4JÒ¼· `2Ouñ‡k1ñžRêx` 0/lësà=¥ÔÓJ©—€–ÆÆF>øø-.ׯՀ§Õž |å?_j‹J`)ÆB³X½ÆkØý›jƒuÇòÂ#w{®0 V¸Ð¯YRopÎj°èL †Ùܽ=^s/§tœÛÙ‚kn¼––Ñh”›®¾”CÜ7CÀÐ>}­q•ê^V̤`/†é(•J*•ÕÑY Gõ¼Å_¸¼ðÔ³Ïû²ÇÔî8úû¹ä¼3XkÄšúúX‡Dz%À´/¿ñÜ©Œ;S&e;K}=Ûsn*-)fÜ:£ ØLÃöD`Ë×`Æ7ó¨©kÈèä|0íýT/âô£?¬ï°}wfܘá)‹d L}ë#ý·‹ìó/A÷&WÎÁÊhâ uvRJ½‰ï2vñå×x½S¡ÖÀî¨€ûn¿N`òü¢Q!žó˜®úX?]•_ý³D=ë¯=*enËFë1¿·< ªT(£lnq{q ÜDÖµ&ǼG«‚ôÌyæÊÛÿÉϿdzPª-梨“`G¸ÐßÑŠ_\¡/ø7’••Ŧ›lìÁ[jgÊ–Håe’­i]NQfÿ†Ø6ôi@‰±m°v¼ÇK÷]ÄA…ˆ¸˜¹U*£í9©¥QÖ„Ÿêo2’FI+œ¥h'ùT×g.HÖùÖ)¥>QJ=܇°ô:0øE)õ‚$f3•Rï³€?B@ÂR-…’àïM ”ÍZh`Qå‹,"gâkœÞowžxðz÷êÞ p!+\€h÷!Ìj›jƒÑ!AFH°Þ©ãÖ_—Í7Ý8„)Îy½ü0Å[®½œIìÝjÀ Ë™ÞÝZðrø~ã)n=‹‘ÓÉX S{þÀÜæó¿O§…¤Ú'£ùyyÜ{Ûõz™ ¬íŸ—€Š%•|7w~ »Zãw±¯¾û Ûl±q D-õ}íΞaËMÖ#RߨÄÇ3¾Ëèä¼ûÙ×fQ%^8ðÙ µæêƒ8ã˜Òöª¼úî§,©¬φ´Üb/ì<ˆ0p±¢›xÃ2*ðŒoª+«ª8å¬óˆÅZœNY©¾‹µÇŒâ¦k.Õrºî~ᨈ„ãŽíÀSÂhäˆÈV@^4aÓ Ö%•Zb³ ×Õng è…[²j[‰ëJsެÿz”rãŧx=B­ÒÓçç©WÞcê[ësnæyĆ.ê|ß6ÀHb/:xP«žãF :”ÒÒR½€WI2¤8{ÑJ§(2%Á ´ÕÓ£ïÃb1F_Ý\»—Z`–ü…I¤þ¼=j¿¬ i­r–²«¤É¬G†ÎR]`ÄI-õ²`™ßT]ü¨”úX)õ1ð•ˆüB° , g,Ò ÍXÔà¥9ïœ ”åççqã•çqýe盓ݡÁ"äçæ˜÷q&¼¢óä`ÄÙßÉkk€SO<Î?pküõ7]ÍwÓßç ýö ,ü}À°Ül)ØÇëu+)bÒ^NCg>¸\¥²; ‹‘¤½WJÍæüë±'÷L¸ hÔÈ5¹æòóã§o!®Ç>ütF°¹ÛÈÀ0ÿë ø|ÖlvÛiÛ…éÁ…1Þ÷êÑuÇxR™7>œ‘öÄüº ‚9‰\ 0”xÁ‚¹¹99\á‰äææ¤uVzìù7õËVùç"¬©:̹()©¹=‘!2){žøÏUŠ·ßý€»ï(¹€ZˆLœ—ýö˜ÀÅ9U7Æö¶J€²Bt‘l÷iÞk{¬=z}zuw,ò×e·Òâ8‹!B˜È²@…¹xái÷kG£®»ð$èÓª =}lßýðWÿíQ}Ú›üÌ‹F‚V¼vÈ  \˜ò¨Î˜à† ¾f€5°eHâjضöIîÀr“·íl€é6õyûôìVê-‚Ýæ¨d#{ûó+uJ2q–rïÓ*iTš}’ޝUò©?Ÿ<ʘ8FJ© ;YÝ;á $,eã› L`aʤ*Œ…¥"r°?>l/·Æ 7xi%`pW¯ˆùßg'Š‹ 4‹1œÔnRiÃ÷:)˜qMf³xàÙ^béÒÊŒÀ…>y‡°“ØG¿Í ¯óþ'3ÜA{£ñÌ«ïÑÒ£[Y Ûm¹‰c!—!+mÉfvÛaKÞùô+–ÕÖ§»î˜ÁzCØg—íõgìî¿F|±'"& È3ÀL±ˆ\ì üå¸Il·ù¸L¡ÍïÕ5µœ1åoÔÕ7Ä”7÷ÙÒ¨ZIŠZ{Q—†½é šˆ?60hàÀÔ2$qK•’#,kÚ´nRvsÛÙh4B¯eú(òmÀê__&°X¥a{4ñ¸wU3”OI›¥2‘OI+äSü™Œ°0£:Í^øÕñm°H¹éæm°0Á…ÉXÔu"²¥ˆÜ ŒVJqð~»óâã÷±Öð¡+\H{‚ ïi4µ©à¶l½X Ïb“Ž;V[Цg R1´½Ï¢µ®RvˆŸó8Œ_—–rè^qG©A*¡åvõb¤±ÃÕhü"ଦ†ÇŸ|¦•ÙpÝå°±ŸàŒç¤>ûòjëê©DÓw}}O¾ø6ûî>žü¼\§ä©µa{ ì¶ãVäädS[×ÀËïNKybÞüèKý´Ù?þBqÊî;lî礤—j=üÔ+úëý1O,&Y÷9¸šõÏ••ÒœŽÅ¨SJÝ,ª¯oà˜“Î¢zÙ2œ’’¾c~?ãÄc¸ìüÓ‰F#à%¬ïŒ4@E Þ}Vê?o"r»íhܳ®þ\î¸%ݽP4å8šö¸f£¹fLº‹È5ÀnÇ´'G¸[ŠÞ“py˜Äb\tãƒÌÿeH;‹: \ÔžøüHÐeªq%ÏöžG”ÏpÒ½{wâ)dH¶TÉÕpÒ)ÊÅtHfNQ™„ù••éÏ—C°W( wÈî*›:h’·X®aa}¬\ù”½8IêùÛGBÄæ² IDATl+ÿT FƒEÍÆñ|'§J¿oÂLT¸€…Ír¤a,jñ—..Š»•–pÏWpÃåçzÞ÷m¬p¡+ôÊ5˜f(:ºDÊô/?ÈîÞ½‡<‘¶6f§[øgÚg‘¼´ƒ«Ô¡{ïHI‚ÅXÚD²­ªUÖªžDÚ0>˜Úû…ø–µ÷?ü/š[ZÒÈTƒ¬uNN6ÝuÃV_M_7eµuõ|òù¬”O¾ø6 /!;;‹£Þ7ÍB.À“øûžÝËØyÏþöÑ©ïjŸ¤ÇÂòJf|;__ôÍ@Žøàb̈¡\yö±(EHå:1?þôÛ^{ï3ý²åö8,ÁqØü–q°Â&«T©ÞV1j!p#Ð2{Î\νxJ@Ê’©U+Ç1‰{o¹†"ÑÌv‘ x}%È(õGOÚ×3Õm´N\§ùy¹;)ÞóÕè¦T¸È÷ä@¹_zÔ»qöq…§tKj#„Ÿ|…×ßZ=ï™Y¶,Ê%‘2ó/:+{aJ‚óòõO² IçC¥JƹO¹ÉÖ´8E¥ óÓ€#/¡\ˆ• *\ìÅÿ÷`˜“|«¥G©B÷2JÙaOìTåƒKFÇ÷ÿ †Ð4Èe0lÀa…ä¥r†2+2õ"2BDvÔ¦®ÇkOýÝÆo²hÈ\È*"¢SYÍ•¡ ¤ãÍV°žˆt8æˆC),(Ș)°ËeCÛ¾éݤq•*.*àÀÝ·Õ0Ø·"”Äõ’²Ç¦3„íÙ¥ÿdÎÜy¼òÚ›´®©zvïÆãÞÁ€~}oööGÓC30.^Âßþõûì¶« @êDäpp5Ïè¿?vÒÞD"æý²€þû‰›½øx†ª'¨Púö⮫Î&?/'%àÑÇpÿã/jÓ¤¼±Ðf/lpÑ` {!Ùîý¤pJ©iþõÁãÿy–Çÿó\ŠžI·U«Þg×¶åå'ÔV² +"“Ed[h”úµLDÖ®²Wԟ㟘¦Ñ:Ø qøÄ=â%{+Öò™-‹*ÀK`^OD.FD”â´£'rÞ‰‡¢t_~ óšd#á£é_sËߟÒç¶Áê»Ðà¢V Pa°fï…®×{/\E7Tà» ö=Ò)Ê8$ƒ},P’Æ)*lŸ¤ù%ÑZ§w&K%—^i¬7¹¤QéºìIß±Oê”më½ÛM¾ÏŸ€Åhq,zÂÜLrüAÍ <Š’RdºS¥ ‹2m•ˆ œädggqæ Gqò1“ˆF£\:Ñœ4ÀB9HGŸô`yPœ——ËqÇÙ¦`UÚÐ]¥ZZZhhldie5‹+–R^±”ÅK*)7¶ÅKª¨XREyeUËjãU*ŸÅø·Ed§¾‰ˆø:x—Lj–ˆL6¸õ®û™°Óö‰ª}MÕ ¬6h Oýó.ö=ôx~ýÝ“‡¼õátÎ;á`²¢‘Àk546rÞµ÷±´jÅE…œ}ÒѤ“«îçCÜcÏÿ|–¦æf€fŸ½0’¨bÛÌ…q`.&WUAJžL™Ç2¥Ô"rKMmm·£O:‹×ž}”‚ü´V­.’“ÅéÇÁ>»ç¦;àé_£©©¹gØÀþ}¹ëúK»ÖðE>)3QÖ;‚;®:‡S/¾žºú†\´¬k¾ÇؑøXcÈÀ ƒô’¿ÿú†N¿òNÓžx)Á¾‹0pá’Fuvç(WÁm)@EE„9E™ ¸¤s“"¥ST`ÃÁB¤qŠJ·ÏÒêeë+›*àq¥>²:æü“Nz™J£$#iTkäS¤?¾4Q—EÁª”#É¢Ò¨TÙö}6ÅgQ-&#i‘µñ¬ì¾óv\wÙ9”­8p!+\A«ïb£ÖT@£Ó0"²?Ð?‰pʉ“ldÈÂ?…«T:Ù”HŒ¦Æ&*«ªXT^Á¢Å,._Ââò W,aQùW,‰Š¥UÕ~#ñr-¬š­…v=P§ÒÁ `î°«˜ƒÉè,“ÉlRJýODfc¯¹év¶Úb_*â`£S8 êß©?Ày—_ËSϿ—ßÎåø‹n¦0?ü¼\Ê—V!"(¥8뤣˜¸×ÎnpÐd"ݲîÓýzqÍ'qÚ%72kÎOpÆõ0aKú÷îÎk|®Ý£Xk!Ü9åLôíé42qõ~=g>SßúŸÉ^èsk2õ{QŸ†ÁX)•jÇ|¡¯‰ˆ2ôüðp3péwßÏžuáÜuÓÕŽïB2ΊÔ¿/7_ugœp$OO}•Ï>ŸÉ⊥ôéÕƒ­7Ûý÷OA^Î^$#ùÞö[lÈ3\Ï wÿ‹w>žNSS3‘ˆbèà¶ß.ì¿ë¶dE£m ÒóÞsÊÿâ«Ùóõ Pe|·¦c”)K^f<H‰ý¿ KtG:Ÿ¦ÂËÑâ—_3Æ K†$aNQ©Ý¤Òº@Ilˆdæ×ÒÒ¢ŠJýÁšSˆaì’Õ!§’W×DD…é÷ —Fe²O{ʧþ #æO-ÖbSy® "‹µ0‰Y ¬€dDD®òsss¸ä/'sÄAû$tZí.Xà"8 ÕÖÕ›ìNW Èt& 8`ÂN;0|Í5‚çðH$BvVe%E,,_¢¿×xµ^%÷$5UÂ&’{•ÌAž¦ºÑoÖm‘f¥”}t†±’íjõg¸åÓi_ðÒ«o²ëøí3Ÿ&ƒý¢Âî¸î2&î¹ 7Üq?Ÿ~þ%5uõÔø÷Ë€~}¸àŒãÙk—íÃÁEÊfÞôa{æ1MØv3.läÂkïbay%·ÿkjà¼dgeqÈ>ã9ýèýÉËÍIÝóaŒ "µwÿ[÷b5)¤Q´'­7‘vˆÚ*©T×DÌ¿ÿ[ hXUJ}*"ÿþϳ/²ñ¸u9âàý3(.¦ ƒôá´É‡YûHjuCªëÒºÖ\}÷\{>Õ5µ,\TNIQ!=º•„\K™#ýü‰ßæéWß×§S3&¸ˆ[ÃkpáF¹z/VÙ5±?|ÿý÷{¦ L†îE]µ¦µ¿³}B­iÝÀ¥biUÕ5ús5†06¦Ð”ÕA'"Ú$jµ|J–K>•´¸ÉT>ÕÅÈ0u¶p´&·Á bÆk‰ãÆÊ‘‹€ã5 __î½y ë­½–s¿|àBV)¸@„êš:ÀpUÉ;•­ ˆìŒ8õ¤ãG|iÒ²e5,Z´È ‹ã?-*÷~..gÑâr*–,¥ªz™ÝŸÑ#’Ÿ—Kîeôì^FÏîÝèÙ½ŒÝJã?{t+¥g·Rº•SRTH$¢8ëò[xö•·”RñÅ^3®Ÿ¶¬!._Ä"Àåøëdß³ÓÂg1>6¸â¯7±Ã6[øÉÚézî±zËÍ6dËM7`Þ?óå×ßQSSËAý·Îh²³³“wIfi›yÉØyjÏñ[±ÎZkpï£Ïòág3YZUM¿Þ=Ù|ƒ±LÚk'VЧV¸Þó—ÞþŸ~ù­¾qÊq7u×ã5K×[ #,`oU]Gâ6ÐPJý[DFë_4åzÖ]{4ëŒéXä‡÷G¤Ë±!ƒïAžBÖ"Ey îï¡­Òá«ÙóøëÝś޾‹: F¬…)r »±»³³ú1àû9s©®®¦°°À²‚űþ“O‚i'‹[cŸ¯¿Ÿo¯šRÌ÷’¦|ÿçB Ô´E>*{ZNùT²4*“ãR Î°·íQJER]<«z0pÐߊ œÂ]pì^—àÑ>gÅ"r70`óÖ箯¤g²®.¬Á¨©¹™?ÀK%ö@8èÀ R…¬Gqq¯¼þÿxôñ8˜X¼¸œŠ%K¨­­ký +E4¥´¤ˆž=ºÓ«Gw4ôèfü,óÁCÝÊŠ)ÌÏÇlè‹§Bt²1ãß…óN:Œ·?üŒ¥UË!K) )ÝrÎ9.€A¸ÃË ·]A‹É0÷ »{æü0?zσÿä”ãŽÊxÁ¶`2x CHZxâRKžR²)iœ§† êÇUçOf É¤ì ©¬®áº{þ­Ï§væ œKI\/u#eÆÁÊœ? ß-ÆØ®·f2¢J©[D䯆†Æ^“O=—ן}ÄO7N6‡ gšR,àÛ @Hß Mp‘AK«–qæ”»ihl/L¯Ò–ññÔFÌ… \t˜ëaŒ53ijjRŸ|úÛn½e«û2MÚ:™ÑF7)“hM›9[®&« ɶÒAFÇ”H%±°<ÎR¡7lÊ}pT<ÒL4:KY‹©Á>3”ÇLêÕϵëR$ÕŤ”Rd˜‹»‹[…üLYå&aцˆô68dÿ=¹ê¢3ÉÎÎjpÁ*Ö¿U/«¥¹%ÞäÝVÙÀ²×ÌøžðÕÕ˸ù¶¿eºXhÖaïÝv¦¿>ôìÑÝݼçÝË(+-!';«U€ÁyjS„øõê^ÆYÇMââëõ'pÓž5Pa6&ùº#¾PJ™ý&Ë’ÄØNp¾£Ô+À®7Þ~{í6žýû‘.{"mÅZÚÐO‘qØi*Û)ªá’© +¸ð½ñþ'YT±¼¦Þ% —È(¥ê,ás±.)íà&àÊy?þœuæWrß­×$ft'€ _C8Šˆ!AzÉ$Sv#CyU$&Â%7?Ä/,Òß%Á~›: Nܲ¨Ö‚‹Î,»Ðk¡E"ò0ìõ7ÞbÛ­·Ä–!áINQ’Á>¯CGî­p“ 0"|0m¦YTH'¥R€‘©4Šå‘F-Ÿ|*ôd"’àŸ&˦Î4ÛzËó\c ˆ8.,ý¼Ã-(S€³z•i…[O8JDúÏ£#‘žy'y°azÝÎàBV¸ éß*–V™ ¢é ÇhÖaÀ@o‹•þĨC£š˜ÏâåŠÈÀ ¥`ÊÅç0ùÈIA€àI·ˆ#O,64©¹ÉS¯¼§Ï£Njn1ªýõ’¸fì-UˆÚÊȾȔÅc÷£>‹1CD{þå×Ùj³ 9ô€½Ó0OÉÄyÎ%œK Žï{yäU'_|›7>ˆÛ×ß§Y °›ºMp‘NÒ¹Gõõô.0ìù©/råeQÖ˜š´MFIÛIS¬X€¡-Œ‰%­úé·…|;÷g}cÔ† ÛôÆÞVꣃí¥÷"o­|ªÝ¥Qdz|ù”Î4„¹ÈK±™Ì†iíºJÂTÚcrIõp€‹ˆW–~ÀóÀèì¬,n½ú"N8jÒ ¬p‘¼°ZX¾Ä<…Ím I;䤡”ªPJm ”®”ÚN)u˜Rê<¥Ô->Kõ:0M)õ°XDÆâ;…vâ±L>ò6‡ñÙö´Év¸isy4¢¸ìÌcÈÊŠêû<߬Ú+¥š”RJ©¥T½_e®I³0pU›;qÕ1F²Õt^‚ó=o¼ý>ñL(+Ñ*É“d*yj¯°½4óVz<*–VqñMéý›|ݽ°Zì…}Ý„jí;@J׆ ?L¸äꛘóÃ)˜§L¤oQIãôäº.$¬8™ €üô뮿÷ }Ê•7.˜Ò(Ó5j^˜^*p6ŽÄº¸ˆ¯Ì›ÿ#}ü¿€ ID¼“+iÛüÎ’ FBš²Á N2tŠ ¼Ž±Ï o|¨¯Ç˜Q°Š-’ìªÙâÿÏ`dž²\œ… i«©ö!yÜûüúÇ"þóâ}Ÿrﵪkjõ}€îÆÚ("šÂ®RJ½â ´5ƒ¡M)ÓÙ‹öZ{#Ë—E=ŒÌÉÉæî¯dçí·‚~û YåàþXTa²1Z§Åì,Íß.{ãø¢CD6Æzà~\ô—ÓÓ.üÛ?ŒÏÞ%ñ»QkáÐ}&ð÷'¦’œQ–r_›¦ÒhnNÍtGþnS…î‘„{ID¶6ºøªØt£õY}µA¡!¦­³m+Âh‡†íµIòDFà"Öã‚0¥Q•Öy«Ç“Ƙ,˜‹3Ù¯æÈ~‰€šÌuÔ`2n‘[këêKO=ï2žä^"Ñ©• ²ÖXÑKëSÆê"±—Þò0µž=yÌ·²n"(µl ¸èj}v¥8¦”š)"s€5î{ð!Ùl“T0¿J¼¾N»ïÁ)U"uS¶„í“™S”kŸÆÆ&žzå]“µj¶x³U0°ã*0É;Mu‰í,•™|*SiÔm>É3¯¾öqóý-Õd\¯”zÞšÌו”mÚ»vnTá¯D¬ ¦x“••Å]7\‘\ÐYÀ™ ¸.6F*_Ûy«3€ [GjW¹›Dd#`K€ÝvÞ‘¯¹”„qYû§w·:ŒÏrê‘ûñÊÛñûÂrôÐ ÃË .€aç4磳bÙÒtÙªWJÝ$"÷T/«)|Úù¼ðøäæf§Û£M¶¶©%OnÖ»Ý$Oiç©ÄkÜóØ ¼÷i\ƒ½Ì¿^Ìf\(¥lÑá•)²1\&(Q¼Œƒ»€ó¦}ñüë Ž=ì€V'a»­—Wµ2Ç"“ =½ÏÔ·>æ“q×°‚îs\ÄÇ \èŸ]½ïÂ5¾èùãqà¢ç^x‰æÍcõ!«9s.’ݤ±¦u¸@±üNQ®}^|ëc,^¢¿ûj°h¶æ€¬’¹!Ò1¯‰ö’F÷¡¥2=¾ÚzÏé§{Y ãÆgܘá¬ØÖLl£[~^®>ðB<¦#ßøiJ¥\2)ÕF‡p‘%"·›*¥¸þòs™°ÃÖ)Á…´\°ŠÀ…d.D„_£)c•7{-ïä "¦„f°7À–›m̽wÜ@V4+%`h­³Rê}à=€ëo¿…‹ÊÛ´€oyU+s,ÂHðØê¹õ¡§Í1¿Î>’| Ô8 u™\Ò5» ¥ÔT`ASSS®¹!I†P¼8­iIï%­wŠ ³ÁÕU_ßÈ]<§?“.65[÷D^`iXñi•È ;h†«š˜X 4×>I£2Ù§Uò)ï±õ&ërÍ_ŽÍ¨Á „‰§LaÖ÷?⃇ûB2Þ®J`—¸Ð}'œq‘°÷®í.¤£€ Bå§_˜“MDHjg‰°pÂ0”R>¸Ü˜¬ñç°¡«s÷ýSVZØJKŠ)-)¢¸°€NQá9‘‚í Ûâ*µã–²í¦ëóߦôó«®¡ò dÔY †éeÓß5ìT›@2[)õžˆüØÿ‘'že­áÃ8æÐhËSëzúìfÞV±­<ÒS|ŽY³çqÞu÷kS‡fÃ5(^¹&˜Ö\£”êÔ’˜Mߺ€¦‹i:„ï~Y¿zYMáÍw=ÈÕÕª|æÊi·‹Ô$xlϼú>¿/¬0Ù‹ææ³Öñý§b±ºRÞEØØ¢?c ðw༧ž}ž#;˜Í7ÝÈd DDT«œ¢ì\Œ8@ ÙÇé&eVs÷ƒO¼W,²¸x~’³”ìÍ™ÈþçŽêMR‚D»:Kµ]>•´Ð“O%VŠ›â–XYW€ 0ô#!à¢K0.öBDÆ—LØa+Î:ñ¨•.XàBœÇ"1a¾0TÁp9Š…YØIŸìÅwÔD·!aOÌCÿz<Õ5Ͻ(+-¥¬´˜²’JýŸe¥Å”–SVRäÿô@Iiq!ÅE…^ªr Æ"SW)€ O9Œÿ}>‹Úú†,¼¦ôr %…TªÞf3¦ Ptà˜ HFŒï:ˉÈP`Ü¥×Ü€¾}˜°ÃVm“<9€áùFí“äíº—ÉÐ wÞÏ¿sÂÅ·Q[×^"|…±XŒ›ˆ·ðЖ¤©ªÖv~JG—Ô™ÃîÇ0{2~ž{ì驜vÜáôîÙ=ã|fDZ@Ò&3 B,ã‘çßÔçÔIÆÇ Ã5̖ƹÀE]³ïÂõˆY…ªçDd¿X,¶ÆigŸ¯Þyí òól­‹Ó)*¼ë¾(RºI9Cø×É·?üÄýÿ~QšþÍ<;K)]^çïÁ0‡X‹];ë@g?D“ ˆ­Aød,ŸJfA ­ÎR’³T°ÈÙšÏ"Rà ÂbÖä¬5Ìv_Fgg/ôdR€•3x`nšr!*¢V"¸.XX±”Êês±E*›ºÎ°¨°»ãºk¥Ô="RŽ×ÏP”ÅxRÂ|ÇÏYss3åK)÷c3¿PJ‘—› RDiI¡÷3þ¼’¢BJŠ (,È#…Aýzqü¡{qÓ}ÿÏØ¡Xl “±°t¬ #UˆRgÉ}^Dökhh,xò¹—9éèIíÆ ´o^ëRÆgÏû•y?ÿaV°m+kWRw ­ë¿‘..\=|õÀ ÀßÏ™›uþÅWpËõWnRÁ†ë`a‰€Ê$i¸Mã•Ù>‰k¤¶®óþzSl±˜Ë¼0Íøs¥TnC ®Ã`X•g×f.€M»Õ¤J~X…©Mò©.rìãºÜ wŸJ–a8 ;`Ë®òvz#„½8X+‰pËÕRZRd Þd´À_åà‚å‚0gþ¯F€‰ÎÄbØ † –ç(¥nõï‰Bc+ŠD¤è”*¥JñÞ‹Œýzcôžä“““Cõ²š››ãçÛàë©­«ç÷‹2>øHD‰D(., ´Ø!%ÅÉÏË%ÐÒSÀX`.^Ãz“59Ô;6SÒ4QtÇ—˜(µLJ[x—+¥®‘kêzM<êT¢ÑÈÊ9²U…²%¦eQ¢¼~”j‚²(ÛÎØµ°´ :{a‚ S&e4Ó•ƒ—™ó!°Ãï|ÈÞ»ì@úãy:ÃP@šæõS¼¯[†|½§Í2 /UXY’º×¢>Í÷ß™L!–w.iö‹³:CåЇy\­·ÎŸt€¹¸TbØÒƒ”],†KÐ6§(“ÍŒÅb\zӃ̞÷‹¾è+M`2GÔ§’]F"e‡ã„9@äùUÇ\ÇÀBÆéØd Ÿ’#Ÿ Ö ]²'ëzO+Jf0T`4Jò@¡Á…ÝäÝÙ \ Î8쀽Ødƒuà"“Á§cÓJ²|à¾ýág}Ž\6t1<[¾ÎÈ`Ø‚ýûT#"¢¨ J©jÁQ¨”*‘>ë(ÈÏçÈIûrâQ“(-.âÉç^挋®ö.ÕÆûED("«À«¢²ªš¥U˨ªZÆ‚Å&Ø#b±–TV³¤²:Õg-Å“JUh|`X·¦mÐï*ÕF‹a:JEŠ]6ð»RjŠˆ\&"Ýš›[øãANN6í»;§$}{÷@DˆµÄxà‘'ÍsZk'æädsïu´ÑßÌžÇM÷>ÂÛMÇš£[B€‚~½fåiç³IlYÖ¥‹9Ãe°pl1î{sŒÓÛÏJ©ËDd –ÞRÊw×Xš½RÏŸ¬WÔ‹ ³˜Ôˆ'Ћ‰z?Þ^`ØÖÆ«t±Ñó!ߣyŸýèßk‘.x4Ñv–º+ÙÏ.ƒ¡Çx¥ÔU"rsSSÓjG*Ý}+;l»É’' {n¦MNQö>nè)î|ªþ õ{&ŸµÍ@ì>³¨°RÁäŠlòV"²)pª?лäRº™¯LÿÑLñ›+ ."íQ\¬E» ’XG:oˆ‹ŒûÜ»d‚ý"Cõ㌣'¨€|*œÈ€•I:¦l `4XÿoO¤z1âWâàBD“N™|(e%Å+\° À…¤ üjö|`¤ê½hé¤ ÆB!Õñ»ä—9>°ØF-YYQöÝ}gÎ8ñh† êoè`áý?ã«o¾×ÇP-â”"~7g>ßÏû™5† …bÔð!ÜwÝL›ù-·ÜÿMûJ¿NO7oZIjYKÞ¤Q§ [ü{XDr”RæâضŸÖ祔ê¢,†)•Š”…ê…òb¥Ôt TDJðúpJD¤X)¥¥pÚÆ{倌óMĬÂAdL¶­½¶…©ÅîìŽA*͆Rjp&‰>§"_"Y(ÈGÅ‹šú^3‹síÀ¸jÃÀD°íµÕç®+°TøF¹XD®­««ïwè1'sýU—0iâÞÞD«¼à½0(§S”„íãvŠ2Ý¤ššš˜rÛÃ<ñâõ±7(Ï $ɺÜá—*}•¹ ®hã,`·Öüá[ï~Øi¯ä]¶Ù„Qk®FR^F€ý °0‚gF–?6È¿¨ÇÑ•ªšù:ÈéÑ­ŒCößs€ éPàbÑ’J~[X®o²“­p£…dfGTbƤ§Œÿoq‹8Cª”ÊrEdC`/¼^ ¢Ñ»ß³O9†5‡ |gú¿w=ô˜ ØjÊ bþÀÝÈšúú{œ~ìAF~†÷‡ëÁÃ7_ÂGÓfrëƒO0}æwñîÓ,ãõuOAŽJô Å7É5@† 4ìF½˜îUê @ÃH÷6¿oý=DEd"žÄMŸ«<ÇóɵÀYg/º˜6›‹|pgu|ûfÓUÈ,ºBS¯.8•;ùßyü^2æF3/ªÀxžä ä©Ä½•cÍ\˜à Àÿ¼y@xæšµZ ÌÄ-GÛbüy˜QSzw¨~UJ]$"—765 <ýÜK˜1s—y¹9~ºwÐ)*(y²œ¢\~iœ¢á·‹ùËUw2Í›74s¡ÁE ßJŒðD\Ô’¾c¥ßï+º#`øCÙpýu’ØIÁ&H’­«cKôÚNfC¬6Éà‚ï¥_¿¡¡‘Þø€ææædyWÒ ”™{E€‘k ®þ‹Îƒ§ˆÈVÀaÀ@€H$„·áìS&3jÄVkâíf}û=ï}ø©þE¥”•ò~ŠÄÏ_9ÐçÅ7ßã´cÄå2¢€MÇa“õFñîÿ¾àއžbÆ7s4›QB¢×¬žs¶`v5fÚ…®^v AP"çg‘=€óøÿG7¼~ŒfïU.vÇ”E˜×Mg•FÙsÂ5ÀÑËf»à*ÚûPJ)õ©eéQ–У#]ðœ˜E —LªÞ_;ýâ3g‹Èèÿù8ýï3n¼úbÆ­;Ö¨saYÏ­iÛâ‹ Ͼò×Þõ/–V-Ó‡¾Lyýƒ0ØvÔz³Ýâê:¸XÑ#®Ü|“ ¹îŠ Zéžb‘—‰/y{í“æøÊ—TÆFàÃð›,JvŸ²€NŽJ§UÝ4Ù‹®À`èjÕv@/¥î½k¸Ål;±í.dÅ€ ¦ÍŠKy\‹‡æç6ØèÁZñ/?˜Œg»ÒÅÝýŠõÎx,×PX(vÜv+Î9õxÆŽü®Ì†ÿ»{~œ˜÷¼ ¨ò…–5™M±¿}æÎÿ…oçÌcä°!V,ñ¿ ØjãuØbƒ±¼ýñtîxøify²¶\`^ƒ÷þä‘c€Š|Òëæ±XW! ß1¿rKnn.k­µI¹CRœ +fÝòÙ¯ë(4µöu¬ã­¬®á÷E ºÙÏNÉdëð÷~+×}rrr(((À”†\¥,DkN$gn¶–êÖÑ"æ¿ÔÔÖé¢S V'+dÓÒCS~ÚÕa¹JÑÿcï½Ãã8®|Ñ_u÷$`A$‚I‘s¦˜©,Q’•£)é®mYº²e­WÖÚ¾»ûÝ·÷¾{íû¼»ï}»Ïö]Ç]?­%ËV°‚MY‘&)QEIÌŒH‚‘'v×û£»fjjª{ Hƒ>ß×ßÌôäêªSçwÎïœÃ9gÏB¾O)ÝàæƒG•Ûø î»óVú×O=F&VWÊ«@ÑáWŠúlïaüß?{;÷b¿Ó f$ª—‰è_Žé%‰Ge)â‹ 0Hê5¦ö—DŽZšñ6ÔÊR¡ú”PY vùiÝÄE÷‰sõ)a(H éŠI¡9 .¬ã °`ÎLL®›8êÁE$Eëék:…Ö¶38sî<ºzz1 C× x4Á6¸û켑¼o>gÝ7¸û켑üLÇï²y]Vßm¿Ãá»ßxÿcüÝÿó,[#™¢•z†5?–+%"ómø"~üÃÿ7uœk^<—|.»sF™ݹÔçìÏÉß{¡¿í¾¿ü>Žœ<Ålpð6C̺å×V®S¤D}" Šò¥t?€Gt]¯~áå×ñû7þDo¿åz<òÀ]dñ¼Ù,1C`ŸdW)*aÓ‡;ñëWÞÄŽ]x[/D̾H, Áwg°"|¿›>\Ø%xç\Cô8B^&öÍleÛ¡¼†ûîoRÖ•¥hZe)±ïv,G4Kù5Ò=VÙTŸ¢iã)*Y"ï±,Rû_¨®€ë¯^uÀlÀ…åjÐuœhiÇçûc×þ#Øwø8Ž7·!Ž é?äcù‚™¸iÝR\³||>-¸èêéC£¹‘€˜Š'Â)c¬ >b°€Å_˜É€ÅÕkWáÛß|W.^ìvž‚ï“`ƒ×ÿöÜ‹ˆ²&F„œ‡Ø—&@‹b4˜¹ñ½ñÌã8Ì"c$¹·ŠBpÚ%¸fżóÁNüä¹7X}óRJé§ !;‘¹9?6â5Ï  ÁE1¯“+˜ ·÷ÍXw<˜– 4M¨"1ÄËW,C_áŒóä¹ä{ø×±ç¨ð:þõÄz^¾‰çˆ6ùs†õ^#qŽRÂýn»s†uÎHyŽã´§Ê9"Ó‚‰ZàBÜr`8”«÷¾™ënM”Òë܉F ^|u#^|u#R?‰Ütͬ]¹ æ6 0˜ŸžcÁUŠ¢”âôÙsøt÷AlÙþÞÿð±|y„t‚&r«"À`}Núp!6Ôû%Šœ«KB‘Jà:iS;»J=€Œ~¹éžH€MÜaü>IhôËßþ¿ Õb±xzH-Sc>:®÷S³Ù$X|ú5Ë;4?ºXà"°†ãͧ°ý³}ØþÙ>|º÷::m»Cœ—„ï¼ Îï öö à>Å;|ŠÒâÛ‹?ß32ìg0ƒ”¤†*cHïQÁoöfU“båJººûÈ¿>÷žý}<öÀÍØpÛÕ)ô©’]YWYÍ{ÑmŒ! ¥ô6˜e'g3`qÕš•øÎÓObùÒEÖå7`WžÚn‹þ¥×ÑÛט՘:̱£‰°4¥)¼V¶9÷XGÑßûsgNMûü´%-pù)…4–â†U‹ðö;ñÓßlÄѦ6 Î⟠„¼ à 7F•æ ·3¥Çr@ ~R |>¯3¸¸ ¤jóõq]GSk;vî>€»`Ç®hm?+ë‹¢3#”$ù1Ø'YÛ5º£ÖÎÙ€P3‘u2€É=}Ú?ýâ%üáýñ?žþOh˜2†®ãÃO°ßpéÍv"H–­ÌÆèíÀâ˜ÝÛ‹ukVâ»O+–-¶®›‘d¿R>µN4ê“ód0Bûé³ø·ç^b¿£Ë Q¤+õA«C*O“Ú`íÆ÷·á‹wÞˆò’"|ÞôR*/ò¬ƒž 4ÞúàSüì…7q¬¹˜J)} ÀQBÈ›ö ÃÃf£לŒQ ‘3ôÏ„!DåtÙ\32^ â ±çˆ *¢¢4Yy’/‘+囇k‰fâë X]Ò)¥4ÃÌ•+Pe9‹`îß^$+séÖx‡ IìÕ:ìóAbÜ5ãû^°>¨+G‰½/FM®åÅ.S èÀ©¶ötCPÖ«À¶„(µ}¿Ìí\q©É9ÔùýTæñ¶^Õ1‘e€N’•‘ÍD+ X*5*Í0‰q“(,ñV_öf*iþÔ€ÏçÅÁÆc˜R7~¯wDÀE4Cû™$“ÀB±—-‚!ä׈¡íÇG)½Ó)9ßyú)¬¸r±u© ¤×„1¯u(ÆÙŽshn=…æÖ6´´˜·Í§ÚÐÒڎήóˆD£¼‡ê¤åbŠE/ú¹±M(nBÈG”Òµ§NwàÚûŸ„ÏëAIQª+ËQSYŽšŠ2ÔT–£º¢ 5¥¨(+AA¾é}°’sSUܼn)nXµï|ø~þÛ·pÔÓ)¥Ó`R¦^'„ìå@†I~5«énWª”]{:5†@†+Éý #-¹ÙvçBf‘%y;…7ãÉE1Œ sŠÊ’e¡£”RfƒG ÍvŒ‰`O${ÛÐDãL>ÿ"ѵ›ÂŠÁ û½´œùåÔñ—$‚ñâ«Ä‹¯þq<Ìcf˜ð\÷2xkëNìØ}ÈT§Ÿ9ו0v£ÂÄÃa²­¹2J`ßÁ#¸áž¯ à÷£®¶Sëk1ibª+ÊQVZŒ¢Âóðy=PU“N‹ÅGÐ70€îž>œë:3]8uú,š[ÛÑÒvƒ!»ïÕ­1 Ä22©4‚$ËsˆSy¤)Óõáí^˜Õ$j¬Dcùÿç~ƒšŠ2~޵§ĩʇ¢£MéØE-ü”Ò{-`1ƒ‹k®Zƒï>ý–/[bI‘HgÏCss+š[Ì£©õš[N¡¹õ:Îu"œ]¢=pÊëzRÃÐ,:Ä@ü~˜ ­æ ‘h §;ºpº£ ŸïkLßñ…Áÿ˜¡ó"KfÕ8ÏïCYI!ª'”$@Guy *ÊŠpðX ~ÿîv´žîäßrÀo­ÊS²<œL‘ŒËÎÍÍr¾x­}ä›þ›k#J€ç‘¬‹ÏÖ6«,#6àâKXFÇj†eSø¬¹ð€õ0eÊΘOïS’’ÍèØƒ$½á/æç«¯ÊõkŸhE8€=ÖÞÐÏÙ }„^aHkÐF)ÕÇÃ"éb•B¾3¼˜ËÂúñ·~ËVá[ÈZˆ6E*•š¦¿ÙnÅNÝb#V‘ÉrÙi°äb*”ÒÙ–˜GÉG)̓ÉYKœ/RBx”Øü拃¾é_mp“ ±‘s©j›ß-ó@ªHRB8Î+š,UÖ yWÇNiŒY€a͇<ŔҖÇx€:˘+…ÙOÀy¸—÷BÄx!)‘ 8Ry™†.t!B!F/¤¥b¹^vI·à<Œ)ƒWt”Ò€ë,°Þó²E‘J„Ti2œÊs5û% §ê—`(ÖzØW\À* ìÕÍí~+¬¶Æ™o2%Rô$P£!€!&íó›“—3|‚Ö| 3ïªf®„š`$ŸÓsL×eAVEV…„ç!H†S.ÎX7Â4¬UŒo9M€78€ÑÏÍUG2‡ÆÏÜíbM©|B€Ï­kßGÓÁg?ç„—#Èà÷^Ðð 6*»Mô±œƒNƒ·5˜Cj‰ôgŸÈ¨ñb#V)z4¬÷‹M‘ŠBŽZ›k¾µç'6bB‚Üs h° ¨ ÇÚ¿ Â&Œè¹æ¹Îg!t%¦”„$'9o)HRuõET ²ª<5+„š€€‡™Ÿ°ƒRZ`ÍŸBP³ S!±ÖÜñ ™Øj“ik[O>.hz¶]·Ü˜ÐY7EÊ1‚$ÇÞk˯QJ[¬çް¨ I*š°ÄÓ!ÎÑÔã_|9‹k? À˜T¦N˜¼×k£ŒBøfR²F”àbKªõB¶Àôþ'-M]W|õ ;ð9ZF’Q¿6-Z­û§œ!„°®¦¥Ô/x‘¼„fHrÎ,ÌëJ›¹ ê›2øµÆÂÐ<¯]E2ÿ‰BÀ]6øJ.šÄØ5éóœ¯Ó IÀQˆdd¤Ìz¬Xÿ!p!ê:FôÐa¾4G÷Xæ¨ÒFÝ?úÈÇ9ÇLßd“ç•+Þç?²®qâú³¢å´ ÚÌõÒMÙKöVÊÙ a8—'ÏFÇ+È€à$’Ù|®DÄЊ6œ4Ãæ³c€ŠL•!G]¯›‹ 0táˆ4* D¶Ù{Ç0ÀÐcD–Ð ¤'_‰“Óx§íJ“жð—\D‘å!@ÐbW%ÃÉSa 0¬Šø=ÀM;€Á@†³Ë(¨YFIçÁ»ÅßäCª¶óâ²ó2 ù®åu°NñžÆ„Ò¶šF¥Ð S+Ý‚ZcÁ—dëQ…¼´%µqh0š™,¡.Ê!iâ#•Lú¯Ïø0ºŠôR¢”Ê76ßzHªçŒ/gÈÞ×I)ó\r!‰“ÚxüX¹ÍÛOh²,ŸÔ¤É\ UÅm€°8GGm²çEš ¼××r:Q•S†ð:åÒüÌK.)ÍÙ`þàmÞNmΦÑ2¨ íX§<pÁÛ¸N xõ|Î4״ƹ£©]ÄFEÀ g•G4$ŠÂˈc`XZ ñX‹ù"EÊx§Ã‚ñcWûØÈ‘ ÅŒ Õâã*Üb’‹Ú Šp®•)¹Û®†S)>á,%‚Áý'Xsʰx³²«ð ˆBº¸ÿ**~À&òÄu2– é”RÞÏÆNðF‰œ×ð8& ~ͦmD¬œ¡à0ñrÆp¦èZÊ|¤öe†Ùw&í’8™3cpÈö Y> ¿fÙ¸_ŠÔ%Ýa°«7jkŽ È(+ü|`ý]ÄùÂæB®R¤¢’¹!V´Ʊ0ƒœ+aK$ö*8:5áà“»E€áÁ0.ÀYIŵ=s¬.E*Ž$@ἘvàBä+%€!ËÁ¹5Ÿô*– ˆQÉÉ’M&<Ê É‘1É‚¥ÂŠžb…7º8ÃKJ‘’€Ý4Ø ™2ÈT§Þ `ð}t'<æÈàiˆb¨u´G¶ˆ,d®@ y“$Þ°T`FxdÀ’kÍGÄõÎÇ8o½â6ž.Ѱa×Oµ~£â„`¢œº²‹^,hc3’áD“T,G$ŽŸêr`D%€8 3êæT?W£ §“ÐíŠ\¼ K@h.³F hÑ ™V9{V´×dàÂ`ˆsY·Ññ:œûhʨť¼ñ#²¸ó‰™c`ˆ))À@zjóÝ e|¼l<Õc]iòU 7R‰Ááƒ$¡OäÔ8 E*S.†ì9'p!²ò­ª`ÈÖ„a,Ñc›ëXÔÁ H‹0I趆:œùe!iÙ:‹IŒ5­YY2 åç%oI{VQO)а€e&^õ˜ÕÖ†/î¼£Š9dºÀ+Œy.Œ˜ÃIVa&†1R-l˜ #Íéd©Ð só!W{>Ȫ‰QÙÑÕ:‡³(çÈb‘qé=œÄû²èÉ´¯!éÀS Æ°¸ƒWâ p!rØÈR|2£Ô)‰Š8–¼!)B¢A$òõr!$.óTóI©†d#a<Âü*E*‘ ¨p²&g<ÐL+UËý/íË€<ŠC††H_²K†Ë6ÇÂéúÊ’ëdkLL¦וçèï0ñØx·œã96~r‚²©$4Vu‚l Ã^âÖÌXC˜§Q ØKQË‘ØgãÂÚ)Ù|n› ¹ 0dUŽ"6·¹d+\* Á÷0`ßÀPÔã ·¿Cpü6NNê*Æ °¸C4e "†tîš:½N2£ÔΓh×C<œ€<È©zQ®”©e‹XŒ-¸ðHª‚tþùP PÃ8d cÊ@ÅP"Zªpm5Á œÃ®Fgõ(ñ:Ø];£Ò ±R¦ë*ã¾Ú­/Ýa ùîØb¤V“8K4É|ƒðû IDAT5tNPÊÖ¿Ýœ‹@Cœ×1á9=ƒ£*WŒJj£ÿcÀ8×Ê–‹Qm; é´/ä"À ‡‰ÌéTÀ a úH/ØA$çœö>YÄÙÖN‹QHí(]bêƒÚ©9ÉX0ˆí¸rüx£’8Œl½é:r#ìI%sÇŽ‹-ovåád‹Û&È0`¡È(dJ‚S^ÄÆÈÖ ¹Ú›!ùt”]ãL`/.ñNÆ%àÑî32 ™£Oâ5A!‹bˆÜ\™^ËD²‹f8Ê¡€Œ\ˆ`Èö1ñRŒçJC¶dJ ͵$^*q:9ÍqNä*À0œ%1‰C2{f]2°3Ú~QË|ç¥ñ¢ ±™å6cÞPpòൠ@æ²›$N¼‰òÌdËŒÜ\Pš2pÁsŠÄ˜S£Œd0l,@†lœ)²ŒPdR\HÖÉèvòŽPÉ­]ßÑ (Ån‘ïD‡rÙ€ §÷ÈÆ—ë@AuÐqC¹Ol¼¶²‚q=$Îÿ±âlp<˜é‚\‰`dYÕ³ptõ1 6ާ¸ ÈççC®ÊP‘¹Ö3ërW.À oòäæ\¨Ý.ë Øç_@bgJ ¢ Û\j°gÜHÀTs˜’¹s'ÍHŒx(3C‡Q`h¡WqmJQ{™á Š<%Ê fºow.›ëKÖ°]ùi'¾® PdzŽØ€3§ˆÛXNüæA†è¨R]NK®×ÙPÿ2U¬ËcÉñËês5îX‰#Ò-QëÊØ’r_<ÚÎHr:7– b»ûvÿÇlƒÑî>ÆúfbÓø†daÈ€F†³9F Ld9üæ,æÍðx4‚qCbHéYÖÙ€†LàÁîºfºÆ<7— aMg@2;'„ÌÍÔàq¬èV¾>½á°æ‡¢Æâ88ÍåLó;—ï€Ð3€ô\i:™ÍÉÆñ’+ÔIWÆ#ÀlÈî–"k¼Ç¶¶”s¾£Q—-@¥C¼IÇXB™º¹3šA†²1éA„ xصuY¡€g§<§È\&º×X0,R™œU¹fLR‡s¹¼÷H/ú![C°ÑãaNÐ ÷æ‹+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸âŠ+®¸2V…¸CàŠ+®¸2ò•ÞÜfL®¸âŠ+®ŒWÑÜ!pÅW\IÅ6÷ñ„Í}W\qÅW\ש+®äÖäA´ë7s…õ›ÈhÈ€E¢©;o\qÅW\âF0\@:ð6ûsÅq1Oø®À$ÈÁEæ쮸âŠ+®¸’ó¢ºCàJÎZ‹¦Wš†£bsŽNfdÒ‹ÙÝ•Ë>O`]s€ú×ý×·^sÍ5ûýþO?gç…Cánù9“îœqÅW\qe<ŠÁpe,„_ {´ì3dt Ó Ë`4ï¸ÑŒ\›Kl®¨6l˜˜ŸŸÿ+Á%K–¨ï¼óÎÿa3gÄ9bБÍpçÉøÓ;ÅÕcúZwPw>¸2žÄ`¸2V•?… 6‡ @%„hÏ<óÌú+VLÛ±cG ¥TCºZvŸ®äþ\RØ\¹ýöÛÿIQ”¥ iÚü`0øú‘#Ga:d<Ö­,𑽀ÅÈU šIïÈ rçÊØq<(’=Bt‚xˆ{‰*ÌW\q†+®Œb£P±ÙØ}íÁ¬¯©©Ùäóù\±bÅ„£G~Ôßß/nü­ŒN%þ÷B䎑˜+_ÿú×WüB)!D+))©øðÃß Ĉà'…7‚‘ëNlA.Üù06÷¶ÆÅõï±¹¯ÙèÅ®¸ÃWF·ò—åO¨’[Ï‚ &—––> €hš¶xþüù O:µ¹»»›Úl¢gZ&®g:·Œµ¦¦Æ·zõê_Bjzzú°ÿQÔÔTÀãñLÏÏÏÿèÈ‘#=F„ÁHIòv§JÎé"qn(°Ïõâ'€kPŽþëÍ_[~?àÁ…×:<Ü­¨D€aGÑuç„+9'nÆÅß”ÒN;<¶³Bì¼Ôá±Taåד*ù—ù¿L8xðàß¿üòËç%®ðD£ÑÿF¯×{íƒ>øïÏ=÷Ü“ÍÍÍý‚AÈßgœz»¶áV—ók3aD<ôÐC_Re1|òÉ>ttœÇŒ“QP¯Ì;÷™7þ»Ô„6Wtq1Œ²yÃò2\/eL6W¾ûÝïÞåõzíêêúÎüãÃÈ\ÂXÌÇq#[cC”@  ~ýë_¿NQ”]×Ã0Ã0Të6qÀ±cÇv¿÷Þ{ÍÂ>ÂôCœ»O¬û.°pÅ®\°#Þ*w×iÃÊ‘SC¼~ýúbUUŸ Í™3çêÒÒÒ¯þüç?ÿ ©9ÞX,–ÇÞ´}ûÇX¾üJx½Þe_üâü‹_üâ™ÎÎÎAÎäÁ…Ámv† 2r\ÜqÇ•@à¿@SÓ)´·Ÿ…ªjسçV¯^ˆ@ °ìÖ[o½úøÃNÔ !Ì€ˆˆr@Bç6Ÿ!ÄMæãóEQÅçóý!dnQQÑWü¤{¥©¾æç‚«3Æ üÚ×¾¶& ¾,r&***NoÚ´éVÃ0d··—ˆ‘N7¼éJn"tw.¾’ÇñF2„êààgùÖ´9ØóyÖûÖgø ÓŠÔ %Ç”€M›6õè·Œ€ÚšššW¿ño<@a¡k?<Oï¼ó.(¥ðûýËþâ/þâû>Ÿ¯@u¹ka7¾i!o—.5&ç@!„¨sæÌù{BHi,Ç'Ÿì!„œ:Õ®®ÀܹsÓ4­H˜+üZ´›'Š;OF H¸ ù²`Á‚!d:(Š2rŠ¥íRÎo)qgÂІ^UÕ ¶vC¡p„‡Æ`͇RB¿GçszÁ/ìϹº7»âJBÜÆ%4dÎç”=•yËaŠ·¢ç”Ñ{x>xÎP¤:::`ÆIEQZçüeeeÿòÔSOMúÑ~ôKÃ04~Á`Ã;?ƒ×ëÃÕW¯CAAÁš¯|å+Ïüä'?ùߔҸ0†Ìû”i0à6ãk†føík_[áñx€={ap0 UÕÀhØ{÷ÇUW-‚ßïŸ|Ë-·Üøúë¯o`PJuBH @©ô¨8Ri.Uêâ2Œ÷¦ŒÿÖ+ \yå• ˆ!ä k•ñêÅè±!8†åTÉâô¼;÷†6Þ„ÑŸâñ8~ðƒX@BµŠ¢bæÌÜyçíì}An¿ `BÜÇu\¸â W.\<þøãõeee_¤”z)¥Ä0 …RªX·‰Ç”Rb'Øc¶92Åß½{÷ÛÛ¶mk a‘çɱqë} ’¼Ïœ[Ã0šEYxìØ1x½^Lš4I)))ùö7¾ñòÿøÇÿªëºß0Œ Ve |ôÑvƒùXºt ***Ö?üðÃ}Ï>ûì+„6†,¤Eæž.ȃƥ®®ÎWVVöÔîî^8p„(`ùß„tvöâôé.TU•bΜ9÷¼ûƒƒan~hœÁ¯¿˜õO½sçÈÈ]¿¡ *¼v¨´Q€ƒÁ9ì„¢(õÅÅÅþîîn1OKìÂŒ!•6TÛáŒ\s0] a{1w=¢$À…¢¨–#Â|šRD*½Ö®ït)s®¸ã½MMFñÂ$Heeå÷E¹g¤>tåÊ•K¶mÛömΈáyž1Ø×äÏ9CC×õ6MÓ ª*~ýëçpÏ=wcÆŒ¤¤¤ä+O<ñDð_ÿõ_ÿÍRúl®$Ûûïÿhh˜©S§Þ{Çw„_{íµ-–WškÎÉ÷ü}2Fû¼ŸV©$zñÀ<ª(ÊBJ?ÞàPÕ$¸`ÇÁƒM¨¬,Ïç+Y¿~ýõ¯¼òÊV1Ji˜¢q×_ƻ棊ncäÀ¸HÌÇ3‡;ç]¹råä7ß|³Ù2. N½08GÏPË“’ üÏ.¸€môKvK,ÛÈ‹Å<<¸`‘ 4ØÁ9° )¥ìzÇ`Q¢,aWÀ¤jR‡k&-àâî1®ä,À6l§ÅšéÜp6†Ä}kaÊž¿Ü‹2G18’c†0%ðÁï÷‚Â8à̈‰Z‡]Ã/ž¢‘SFF<?ëóù ÇñÒK/ãöÛoÃܹsQ^^~ÿ£>êojj:†a@ׄwšRŠ?üáMäååaÒ¤Z²pá‡B¡yûí·wZ # ŒÌµí‰`D&¢î&0ꌋ ñÞ{ïþNœhF[Û¨ª–.!èåêê&`Ö¬YëJJJŸ?¾€‡RªZϼ–l=²õ)&|»QŒ Êc=Veùå/y&Ã~bg¬éCýNUUgñOL˜0a:€Óä0$Çp8÷€R\\¬>ùä“ߢ”ÆðƒüP×õlÁE"™x¼Î;I$È®Y+»ïàD">öfÔBá(R,‚AøëTÌ]ë€RËÙ²üËRsu¢H¯f({ÌGÃ\ýáJî ›+[¬™eR”v ΰ¹-Õ“Õ ÐÜ܆;öÂÔG„£aˆåçæÍ›†††:X¹…œ!¼?ŠÍ5®' Äb±nðû ÃÀë¯ÿ”RÌ›7555··&ÖÜ”“ã«ë:~ÿû×pÿý÷¢ªªRY¹råUUƒo¾ùæBH&ßZô<±1æÏ³È‘ŽtJ \Óè2NEQþ!¤8áãw%žÁ;ŽmÇĉeðx<þo¼qÝoûÛ-–Á Ò£bȈ‹Ã5.ì:Þwß}Å555{à¾ûî›ÿâ‹/vbhåb‡ZÙ‹hš¦*Š2ƒ?™——7Àv~/³*Œ‰ƒLYn“Qœ˜³_úÒ—Vhšö?Ðxà÷Ï?ÿ|»XÙU°g˜ŽûõŸáP-0’Ô¨Ôƒ£H@’¤bp!|ã>Ý”Š{Š{-]W#Óbï‹]˜3 #‹…'[œ£åK@Tò”lÈ^“¼5 CµF¦‡]ƒœçÉ65©åVsfÈÅbaÐ4ªªÀ0¨™ØBÌ;yyy“ §§GèÌÈÒK/ý÷Ýw7*++”åË—ßYZZZóâ‹/¾‹Å OÈç;«Ü‹”˜£Òj\vï¥@}òÉ'¯Ö4í^øì³½ AU=iÔ‡$BA$GSS¦N­DCCÃÜêêê#ííí0é1ÔÊßaIߨG1Ü| ¼¤eee•–1‡úúú›¼ 1¶íÀEÖI÷|3ÆÙ³gç+Š2ÉÔÁŠBàóù&ðZô(»È1sðÄy'Û®¿@ÉËË»—$ÜþM${Ýÿï"kÊ*Óë>¾‡’­à4€A(¥|#Šôf|^á¤j‰s ”ßÏ)\ª¥+ã`$<,ÕÕÕZEE…/‰¨±XLÇ㪮뚮ëªÕ˜F¥”²Cánm£Œ“Çãýýý¤WKŠÛÜ'œGñrƒ öÙJ¼¡+¾²×XC£”ràBe–\ćâ5cÞ(…Rªð§Ø01DZpáÀÁƒ‡ÓƘÝ…ÂxñÅWpÇ_À¤Iµ˜>}ú•ßøÆ7&¿ÿþûïìÞ½û°ÀàžwÏ{­u6h\>ïå¼yóÅÅÅÿ@éì<-ƒA¹à£MMçP[[¯WSo¸á†eÏ>ûìÁcå2â‚ÁàF1.à:Æãñ„Bôù|뼈ìz1C›wBeõ .œÆöÌÓ§O£¦¦§Î2í†Îé^±«sÖß]UUåÑ4•*¢íííQ À?ÇÜr¨ÖX~ë[ßZ•ŸŸÿ¿`–Že…Tß²MBHa`ˆÑ h( aÏ«ßüæ7¿ÈÏ9Bˆ!)ç(¥ƒÛ·oÿ‡-[¶Dj±Ù!^_d¸’ÓÈý÷ß_:sæÌ÷ !SR4{ªí4låF)/Nœ8)ì=áp/¿üÖ­[E‹ °°°âÎ;ï|hݺuÍû÷ïÿxÛ¶mŸ†Ãa\ˆán‘{çæ¦]sÆe20n½õÖ'E™I)Ň~ÃT53¸ „@×)NžìÄŒ•˜2eJÝW\QsìØ±VqJi”±2ª”á6ßÞuÔu=¡WUU½¦¦¦&ÐÖÖf¥å ~EpDeC“b9 €Iµli9ÅF­Àà)Qt(ºX¤GÝsÏ=+!µìóOœ8ÁJ ›ÿšÖÜÏ6æxæååmPeùPÞF…ò´É#Kú1‹‹‹Ë†ú£nÞ²eK+R µ0g…b ]Š”+90Xôb:!d–Ü£Ò7a„U>—,@©•“dŒ~8ÜÂÆ&ó†1/…Œ÷š0‚“ í)%žKÝkÀç`ðÔ(ÞcÆÑP=f£\¤€7ŸÏ7Ο§9–­­§l#â{tÝÀŸÿüŽ;«®Z‹ŠŠr”––Ö­]»¶nùòå7ŸŸotw÷àüy³ù¢Çã©QUÕÇa0øu¯aèÍÕjaaá]¼ÃíìÙ³°ôáy\%"~޹â`‰¹c9èÐÙÙ‰={öØí5Öa^ª––VŽ2©¦€öö3زe;òóó%®Ù{ !ŠpÏ™·uu•¼Ðu=³hKT8ĹâÒÝ\W0›Ñ¨ìÁ+¯¼‚H$’¶®“t†ÌØK¾gݺ5˜0aâñ¸O²wQ–XÎçyÎIè$À ž!»sÈ6“l¨Q©ã– H,€¡Zc¡p¿QG*Mƒ¯œŠ`ð×.xÀÕÐÞÞn“4¬Á¾µµ Ï?ÿ"¦NŒ 梮®^¯78cÆŒ¦M›vM{{ûŽ­[·n<|øðI$«‚ø8!,OÃ1ÜO*++ÿ ÌfX˜:u2ÊËËÐÓÓ‡ÞÞô÷¢¿?„ÁÁ((µOö¦8y² ³fU¢¦¦f¼yój÷ìÙà§”ú !¬soÉÎÞL_ñ9iîu¦ˆÅb)cWZZz#€='ËE€uÈô Ñ4m:tuGoo/ÓþÉ“'W=z´GxIf€f¨)@©ªªòz<žÛ8€1À "¨ ~/âéÄŠ;mÌ=™ÐsçÎaóæÍRp!VŠ#<Ø>|ªªJ«LÉ?GEEE /âñ¸×ÚÏÙžFæþ.Àpe\ E×õÄd?vì¤à"Õ3Ètö¯Yºt @×u/’‰ÍìP‘^ÁŠO"g!ÞØ·«dg€‹›“]’¹ø(Rr ‘™•Œ`$60xÅÃ'˜ò dv]ÁÇ–E!IÔ}øá‡¯SUu Ü9³°hÑ<äçç)UUU+|ðÁ¥§NÚ²qãÆW­ªB!d„‡4ÜhÆE”ïÿûÿrÕUW=?iÒ¤Y@`¶×ëåõz§ùýþ¯×[Åæ@^žyyþ´÷ÇãÂáB¡8âq–––­^½zòÖ­[{™n!¦kSÍ,\¦#ªª^±fÍš)[¶l9Ž6$P†Ä„kÇH¿·”——{E©LŠT(F<‡¦i(--­p’÷6SJuÂø5æw«6óÀÑy3÷ã.þ¤aƒHÍû p®’å£Pä÷ã´€«•:Ô!°0Ñu݇dN¥†Ôèï¼dND7aß•q0“"EœìÁl¼ó©¥XÓ‰d*‚b%ªª*Ï<óÌ¿øýþU‚WÇiCϪÙ_$Ù÷ÏÿüωD¢HO2çK”òŠAEZä`8Ô¨TðeQ¤ò%à" yô"—èQ¬IÚ×TUN)ŦM›³¸àÏG£1ìÚµûöÄìÙ X²dòóó´ÚÚÚk}ôÑ•‡~ãõ×_;‰ô#I‘ s‡ÉèÛ,â8u£Q6oÞÜ`7€cþ  è‰'žxº²²ò ¡P[¶lGQQ!Š‹ QTTˆÒÒbø|^Saj ‚A‚A_Êg®X±bî¶mÛèº.+{)ó\» ãô@8N[3gμvË–-/ =:`pú˜E0DŽ»ÓSV®\YEÉgz{ûQZZŒ‚‚‚*¤&\S¤FíF¦«Êĉ½ç `‚®ëŒ"%Ë"Hõx»ƒë¸.ö».ÞÙD7øªS l°KÂÙ6<¸£1ä#Á`d½` ÃPdO Å;oÿšÀ`´"yàBF³ŒHxä‘G¦äåå} vïÞƒ¶¶SY‚ rAà‚¿®ëØ»÷ :‚ùóç`ñâyðz½Ù³gß?yòä5›7oþ;vDz'W>ºÄ)ˆ!µ+¸Û/aä éùúúú¢ &\û÷7¢¹¹ „´'®wee9¾ð…ë‡ìêꊗ——keeeZqq±GUU±K8+q)R6]`1r#Qº§»»ÅÅÅ(..¾ À+°÷êó%‚eIm ýêêêiÌÈïéé!}}}(--F^^^%¸„k$óÒ«I¥€Lqm‹Uòî¸ãŽU„jèèèBEE^Éo7$ßkN¦ éõN§7e6ä€#5 \ui¶¬`KœÛç£H§…»âJÎ Pd 'Ú““wÞΫo0ø(A‚ZbŸ|ò9Îë„sbyê­ìù¢¢B,]:Ÿ)>‹ï¢­H@OB™ñ¶aöÀŠˆF60˜I¤¤w Õ¯i®6‰èE]]Ýwä âÏÞ|ÉÁÿ8×ñùç{qøðQ¬X±3f\¼¼¼šõë×{öìÙ›_zé¥Wúûû{, ÁªM…Ja㯟J8Á®½ 4†'Tæ@n¸á†/(ŠˆÅâ8p 1E‡BpölZ[O£¶¶ Þßýîw]]2ª(Ê@yyy´¿¿ÿœ•‹Æƒ Ö›Æ^Œ°zpp0Q¦óèÑ£Xºt)ü~ÿ¢ššš’S§N 2CÍòúH/+:`ìJ³Ò¦W@(F4jæ°<Œ@ P! C0u8Óålõ]QQÑÝ€™÷100  ñx<$b)^ñw¸bßoKBoRéM™ò2DÀ!ËÉ`?‡RÊû1F„Ø„/‹µ¸âŒì”½ÁȆö$‚|u%™QÍ¡|áóvʇ>ÛÛO£©©5­ä¤øÝv†){\Q‘,kÇ ‘ZéA“€ `¹·dxàËÆ@²+Ï Ø%´ŒaïÓ-·ÜRªiÚ=ðÑGÛ …/¸à_ …±iÓ6:t ëÖ­@II‘R__Í׿þõ9o¿ýö¯víÚÕhmƒÀ =uÎPÜhƈåå循ªª;³lm8Aj=s-îÚuµµU(--Õ,XÿùçŸ÷[ºœ={6ÂBY;âzGöúõöö²Æc8qâ/^ EQ¼+W®\ñÒK/} ¼^lEÏçK©ì”lžÇŸS ëÔp¨ª Ç#­e÷˜ð9u*½ïŠ+90€ 9Ù{çíú>$ò¼°ÊK"µjKš5RIùûäj jöÆä IDATÛ&wº®)¥\¨\u#1¬™æ=bÑႯ‹Ý0p”„ eöìÙ_ˆÇuìÝ»_Rù —\ðçOŸ>‹W^Ùˆ%KæcÁ‚Ù·ÝvÛ·¦L™òÆ«¯¾ú.¥Ôy•¡L\}Ý#")ãvûí·ß¬ªj©aØ»÷ÔÑœ;w>ÅX»vmÁîÝ»,}ãxpQ ×0AéèèH”‘ŠD"hmmE]]jjjVøée]0¾=È\665M› AúûÍj‰^¯·DQ¯UÁ H"PBÚwŠô¨[n¹e-!d¥@SS+êëkØÿeIÞ²2¦|bynÃV¦OŸŽ¿ù›¿Éêµ--§°qãûÒ|ŠÂ¬_¿^¯gx ÉtŒÊt¾«3\Ór¡‰B’A&ÚSfj”h€V È|˜¹y0›Xù‘¬3﵌7‰‘™j4Ø}W¦<Ã0 aFQ‚ì·PJÙï`T%Þ`”D¶Ô(û\q‡,„ò´>ŸïfhnnF8NFêýºnà“Ová7ÞE_ßEÑæÏŸ×ã?þXAAA%€bE0û ¸yæµÇÎ"ãmޏÈÏÏW«««7ÀÉ“-å…XŽ^o˜²{÷A@ii©¶hÑ¢<cÔÉX€k4ŒŒZ8þ|¢‚ªªhl4©m………˼^¯Ÿ[;ìð ¥Uö$ëJ!„(Š¢Lfƒ­w0EñN˜0¡˜ûLÑàä™¶u¨Zô¨nôö$ „Ãáäÿi6ÿÉvþW‰Åb-C}OMM•m>EIIѰÁtww÷#½‡–øØWÆœŒHC,Ú™ö”‰•j´Y(Ÿ Yb³€!:uí€ÍP+9qƒå`¨6²¸¥ìc°åÙf¾ }Íx6(( ~UU¯Ì~+éÀñòƒ þüÙ³çðê«ÂÚµË1yr-ªªª>öØc/¾øâ¿·´´´!=z!‹`È.¼›ü}as pß}÷]­iÚd<®^œ;׈b¬Y³¦p×®]=VÞ…hœ& ‘ôp¬ .F(RJ£„¿¦ihllÄõ×_MÓŠ–/_>këÖ­Hæa„¾9™ncë2ÐXYYéU¥Ö}‰õÎTUUM8sæL„3 5ÃW†d]‹ ƒŠºnΜ9yš¦Ýb‚ßSP^¯ 0­ý0%)Øú.öÿd=2\ðÓŸþô'ëׯÿ\×õ¢h4ˆF£X,ˆÅbyñx< ëzžuä×××O^²dÉ|S¿Ëó)ÌZ€®ëxî¹çz¹9ÀæN‰‹·„p,ë;qâD+Ò{j‰{© :\÷Cnìeç—Qš8ã^ƒéÝåÁ…óLé©à"ÚS¶¯Iü† ’IÝ@z}êhÒƒ¯ñ 0®½öÚ¥„B8~üäEvt¨ïDbxÿý1þ,,Y25=ôÐS¯½öÚ¯M#555_€¶¶3èèè„“‰ÏÕÚ½ûjk«PRR¢-Z´(çÎç:ñÔ¨´çÜ+paàÂ’0¿¦i8{ö,Ο?’’LŸ>ýÊ­[·ž9¿ž Ø—ò¦ìâ±sË–-«"„ ··/1'ÃÐuªª ´´´ Àiîó¼Ó&šHºîºë®!„”RJÑÜÜnqü5 Øôóöx'3JUØw3ïs‡ Ä_~ùåÏ-‡e>LFBRd÷aF— óòòXC[ÛŠ’,Àqâĉ°¥ŽÙµçiÜ|ÿ£(€ý7e{$éèpÅ•Q/#A‘‚¼ðÆÐ¼ó2º’°+óÖÅfyDâ„’~ÿÐÊèH¯ØdWéÁ1ž °Êò÷ä6ªÊÓ^˜‰–ÝÝ=ØÈîýì>¥Àž=‡ðÞ{Û‹Åáóù ï¾ûîÇ/^<ét)F¿ãéRbU‘âÒ¥†¦¯`Æ K<Ïسç@Êú³ÓA„]]=hi1íÈ5kÖ”p%j‰„KíTxŒ‡õ+%‹#MdÆ"¥4 IOa4© &,!„ðT%²£)H§I)UUUSØ>×ÛÛÇébŠ3ŠQTTT*ÙŸ4Ø'ïÊööX ƒwæ|ëï„ßïKè•îîîœó¸øÏMó|“1<- Ç`fu¿AÎðPU5œò²³,‚aIœQ8ðŸÝgsô[Ï"µYkT.`tel8ò.¦2bÔ(‰#FCÊsA”••"³‘(¾¦°0ÈïhŠ·9ÃÂ|e—+2ΰâñxÖfþ…¬8)pÁ¿¦¥¥úÓf\ýj~ÿ-·ÜòŸTU}á“O>Ù‡¡5â¢Â†éF2†¨¦jkkÿ³iÀu£¹¹ÍA¥¯Ë½{£¶¶ ÅÅÅž¥K—}üñǽYè€LUÞrÔ9émÙ¼Nó¾ ó›Q¤RÆáDZ|ùr‰Ó§O¯illì`kÄêKÂS¤d•Üâ²ßž——70“É͵ÉõÞß?€ÂƒÁn?å#s0Ä<³åË—5M['O¶~²«|gggˆû\ÞhfÿMqй7Võ _i‹.ÈX UQ”pR'Ø5ÞKÊR«\†‘¡`G˜2 \„8 2( ùà#U®¸2¾FÒ¸‚`¸gã·÷ØsÞAÑÈg*¾‹6®¾zõÅøc~ëˆ ž >ôɦT ˜ µçF&`•ÈÆ©ŸšP–,YTUu‰ 0ZF%¸àíF»ÏêììÆ›onÆ7®E0˜ç½é¦›¾hÆ Ÿ~úé €À†»ádžG@6lØ0ÍãñÜh‚…ƒHöÅ”;FD‡mWW/Z[OcÒ¤*¬ZµªâÓO?m‹ÇãÉÞv×PÁøÊÅ.¨¢Â}©AE)ÈMhjjB8†ßï' ,XÜØØø÷|†t↓«7+Q[0zTª0ÙJ@~~~± ÀP`_EJFƒTV®\y!¤RŠ––ÓP€Ÿýgãܹsa¤÷Ýйï³^pÆóp€ÍZÆÀ0Zâ>fñŠÕœBP4M ±a²kª'D0x€!FGÂÂÁƒ‹~î|ˆ»†.JW\Õžá‹.†æwz ¯ì9P¡!IYò𪃃ƒ§/Æ@õõõ…úûûY¢¹x0Þ&ÿ˜ÝÏ3 CMýÏÙƒ/g'`[&'yùòå+øMNrë¨ίI>îëÀ[omE_ßTUõÜ|óÍÌ;w&¥”Q¥ ¹9ÄW—b9GÙVÀqEbðÖ××?@Ä‘#'l„èà{÷6‚RŠ¢¢"ï•W^Y†ôò£Y×´ÏñëF`æäiš¦JDâ!ä2O¿ek›ƒE0t]ÇÑ£G'N\ˆÔŠNvt)»ÊK|‰ÚÉÐÓÓŸ¶o±Dï@ P9]É©D­¬º˜šŸŸttœG(! Ÿ‰$ #ÚÛÛ«CN‘R ^ðq˜ŸªÃïÎ6º:"ºß†R§Z‡–åÁ^oW”…€ „ BúÙ!§H©RŠ”5=c’Ï BB„ësû!½’£Ïz~"‹`ðyÄEêPÇÂŽŽèn®Œ´\ІåÏ2¹™|ùA?E×õè~ô£UUUp»B)õ麞oF¾aù”Ò<ëPJý”RÆs—-2éíííÇ㤆(ù¤+Cð|iÌ£ÄÆP•ü5ã\¤€Ê‚‚‚ëÌ@úûûm zUÕPX„ÏgzüC¥¸Œà"=é|` „wÞù7Ý´ùùïm·ÝvÿÀÀÀ¯?Þ$V#’x ÅR†Ì‹éR¥ì* Üu×]U^¯÷~Ø·ï0tÝzÐØå;¥FÏŸïCkëLšT…•+WNܱcGS<g¼U+Š¡da¤å<¸øÎw¾sS xaÅŠ¿úÞ÷¾÷‡h†l^Ûzã ÃH‰`À¡C‡0wî\]1a„⎎ަŸ­è¤HÙåJ¤4JUUµÞr2¥­e³»6 !kíÜšÌd¨§€™ë¯¿¾TÓ´ë ©©Ýò’“E*ö!™àÍ'’³ý‘dˆ`(”`0¨<þøãKZ[[ýîw¿ëÉp= )ô"é| 3½PsDÌ®òßÉDØÇUNÑ4òÞ6)É žúÄr,…ÆJødo–Á öaWb3Ø,)‡PµÓÝC\}CÌc©&wEŠ`x-®IÞ©‡õ“'O *¥”ŠÞ+1Üh—4ep…‡û^^ €€Ù'DKðdVn“½äf’ŸŸ¯y½Þ›³k¯Ì ÏÏÏÇUW­Á´iSS J)Âáššš±cÇgV'Þ éswè­Bxÿýí¸ñÆÕðù¼{ï½÷þ_þò—ÿÑÙÙÉW ²«N%qA†½¡ ³ÔñWäE£1<Øh)LRå`ƒ`ß¾£¨­­DAAåÊ•Õ[·ní¼ðvá4/¶EÏÈÅkF4M[ OÓ´Çy䑟ÿÇüÇÉ,žE£–†Ñ>Ÿ/qòرcÐuªªª‹/žóÖ[o}ÆVb)Yƒ¿àJaa¡ÆJÔööö§éeF‘òz½y>ŸÏ‡ãY ».ïêüùóo0 §Nu$8þ,‚‰DÀ`ïáÇF. €úä“Onðûý¿hhhØ à Èœï%s¤]L`‘ @Wlœ0¼?ˆåáA.¤ƒÑ¡ØÁî»eCL g‡˜ÜC*õš¯$E¹ß¯q@IŒšÚr#Ñ2WØuq÷WFÀÀ°½óòjS¦ÌŸ??8cÆŒ+`Õû&„PëÖ°Î%”!!„ À„PJ «2eE5ØyvÎVÁZŸÇnÙwSî»)ÿ›¸×šƒ¬i%éûéÐÁ×x^<úè£w(Š2ÅôP‘ô·Ür#êëë¤s1ðcæÌ¨ªªÄ³Ïþ6k*S¶….¤\nOO6oþ×]·yyyE_üâïúéOúÛX,~Nù&zZ$ÃUméÑ‹5kÖz½Þ¯˜óè("‘¨P”B¾öxåñxPYY†3g:ÑÝÝ›ˆb,_¾|òöíÛÇb1€fE148Sìz!䔓À0Œ^ë±§¶¶öiÏd0heÞrhC0B¡0ššš0uêTL™2e€=H†]9sæBJÌFš3‚E0!¤¼¼¼¨µµµ‡3³¡±ˆ‰@ÉËË»ΜéB4OD0À‡ÃýHOðÖ‘Þ=\¦ÌŸÏ÷ŒuŽåŽ,Á0BüI¤–™èt²H„èßÁ]—zB“ ‚ $(š¦ER#|ä" 88‰sߢ|…ª~` "½,­.‰\ˆ8q¼då‰íÆCΧõàp†+£ `\¸w^Áðù|ŠÏçSÆú€gVÎàk¼‹E‹‹‹‹ÿšššqúô©¡^^^8pàÀÙ­[·võ÷÷û!yK—.-\·n]€ÕëàÂÁH‚ v¾£ã¼^ï·ÞzëÿøÇ?ž’xÜí<å¼áÃG0úXô!’È£il<‚©S§¢¼¼|z „B¡X U€rÅWÔ±÷õö¤E:B‰TVVVÔÚÚÚÏ}nU¯’E.Ò€ÆwÞY­ªêhi9E!`õÀè—x°Ô$vHô›Øê}÷Ýw+!d–ÒNg0 ì]0µO.Rò@4MÓî»ï¾UUUWû|¾ªª^A)'„x ÃëºÞ‰Dšº»»íß¿ÿó;v´K j©…Wdl*ÙŠ0 JUJØ›ãPáËÔÊ@F?0d ö€TUUù¯½öÚååå‹ü~ÿtMÓ&BŠ`R°ãñø™P(ÔÔÑÑqpûöí{šššú‘žÔ® ·qØ÷ÛHî~âÊ¥ÔÁquÁMîøR‘­­mVs5H£#éQ’I-!šù5Cz¾!S§NDaa>÷9™•ýkÆA¨Po¼ñƧ !õ†aàÏÞ*€ØäµïííE~~¼^¯ÖÙÙièºNV¬XX½zuººÎcÓ¦­£\°ó'NœBii¦`æÌ™ V®\yú£>Úcurˆ{¼o "X2eŠ/| ŽkB_߀#Hµ}L©¬,Gmm%`Ú´I8pà8º»“¹Ë–-›öÑGF£>>J©—âƒI©dGÄŒ¡"·h‘X,ÖÃûŠfÏžýäÿøÇ¿‡9æt• "‰×èºÞˆÙìÌ4È= Jo„¦iþE‹MÛ¶mÛ08Ð.KúæËÕ¤°°°0ÈC¡PÚZŽÅâˆF£ðz½(...p†Bq87ÙKÓ¦M»€7×ÑÞÞ™ˆ^ðIÞýfš‡3ö hÕ£ü~¿ ÿ*a ÇãgZ‘ 6pƒó˜$¸HS§NõßqÇ÷ƒÁÇEY û.EQ iÚ4ŸÏ·²°°uuuƵ×^{¤­­íOo½õÖ»gΜéGjŸ þVfHó „_ôªÇã‰$wzoIŒÒ“Èe½0½6¬#,€`¢(Šrï½÷.¬¯¯ßn´…T¼^/òòòPVV††††èÀÀÀÎcÇŽýqãÆGÍÚÊüxˆT¬˜ Øà£U.Èpå²D0¨¢(4u“¶óοÉ]GG'víÚçhÀecäÙ¿&“q8ü×TU•¡°0_’øÈÑPß½{JKK1wî,x<Åãñ€RŠ#GŽaóæm‡#—\ ¯‹¸aP|ôÑn¬_¿^¯×w×]w]ó³Ÿýì J©t¾¬cH{‰s2$Ðä ÎrÊÛÌ6í‘GyJQ”åðî»›FÁ¥ï¿¿;w~މk iÚÛOãüùn\ZZÔ…õâá³Ïbùòy¨®®®]·nݼ͛7ê„Þ3¦Ã>a¯š2^7‚Dež/}éKkEY»wï·YOĶ{·¦©X¸pàÈ‘#úŸþô§È“O>™ç÷ûP__ƒ'NáàÁ˜4©ùùùµk×N}ï½÷z‘^NÛ;£hkkëihh0('NœÄ”)“QPPpï‚ ~½{÷îN¤R—D=æ|‚‡Ïf’·ªj0 #0Ž=†uëÖÀçóçÌ™3i÷îÝ­Ì·Œg±†H“¢Ôd‰Ú~[§KôƒÁaD0T´¦¦æ^J$CGGO ÀÈËKvñ¶Êîò ý(Ì~b©Õ´äî¯~õ« UU½Ž¿6]]] €!L9è1ã{Øy²(õŠ+ ®¿þúgUU½ÉŒÞ´ãOz ííg¤ìqßÖu'N4áäÉfƒA,[¶ Ì…Çã)_¶lÙ3õõõÛ^xá…ÿïüùó=œÏ" bÒ´!]Q#ùŠm/ Iƒˆ@#*DRtÆO<±´¢¢â—„z3ZÕýû£½½Sª£dãÆÑÒÒÖÖs() bæÌ:”• ¤¤dÙÃ?<í½÷ÞûáÇ|ˆ ²ÙxDà\BÛŒ»ri#¯¾újciié3gF<÷Æãq¯®ë>ë¾O×u¯a^vkÃ0<”R-??ß7oÞ¼ ðé§»‹ÅR"ñ¸Žýû¥~é Âk†×=<»2ºÙ¼†ØFjœ”fò5v€$ç¼Í)]Ú}ôѹ@àoàÀƒ8vìxÖà ¯¯‡ÁHP™.5¸`çOžlG]]ª«'`ÕªUËvíÚÕÒÓÓç@†,QÏMГ1„µ¸¸ø)¤³³ ­­m6@"UŸðknΜéÈËóC×u¼ýöÛ¡ÎÎÎxcc£6sæLoCC=NžlCoï@"бdÉ’™|ðÁH$¢P)¥Ë Q røð᫯¾:LÉÛ¿?ª««à÷ûëÖ­ûÒîÝ»dã}çÏ¡OPtºÙõÊËËÃàà`b]uvváüùó())Á¬Y³vïÞ}©4Y™Zž&E !ªªªu¦¹ßV0€‘ŸŸŸŸeƒ^¨Á`x½Þ{L0v”"QžH Ã0ŒŽŽæmæóSˆÄç’RQQñ4Ì>-\î׉³\#áà(™<ÿ‚ó/xGÒŒ3ü×_ý¯¸øä“xï½MP”ƒ‹Tšsª.ÄæÍ`ïÞ¸þú«0qb ©¨¨XýÕ¯~uÊk¯½ö¿[¸ˆµ’– fc•Œ`¤wñ’¼)’¹q¤Óx:_bV}úé§ï*,,ü!€€®8pàŽiæhyvmûqéîÀÇB]]fÍšÇSrã7~×çóýdË–-»,]¢w™zô¸Iß®\Z€ÇõŸýìg¯"½³uRZ€ôN׬;q>}}}1Ÿ}¶ƒ)ÊÜ.ÊpyiOC/µ›ú§œ“ìòRr͠Λ7/¿¦¦ægüýýýxÿý- ò¡þÙ½ÿr öøÓOcýúRø|>ß-·Ü²ì7¿ùÍŸÄ)¥1BHé}XìÊæjòpVFÌ—¿üåÙš¦Ý`F/X å@B„ùùÌž= ¦nú,ÒÑÑþöÞ3JŽó<|¾ »§{zrΓA€D&A I02mZ–ì»{÷Ü»ÇgïîñÙsïþðÕÚ¾¶,_í]Û+Ë–d‘)&‰ ˆqÌ`09çÐ9VÕþ¨ªžêꪞHbTŸSgfzzz¾þªêûÞç}Þ÷yÀ]¼xÑ¿~ýúL‡ÃŠ‚‚l O¢­­ÅʰX,–½{÷Vÿæ7¿iF²1¨’Áø²°dllŒa–b¡iÍÍÍxâ‰'™™y|ݺuo···O¢g*°M 0ffffäbµZ …甂ÎÎnlÛ¶ÅÅÅ•E]äyžSÑè»z3„¼¼<!$_d0ºÉ YIÊb±˜)Šbyž—Ç9ƒA _|ñÅMEUÀÐÐd{¡d0"‘H *M\ãЗ%Mb0^{íµu Ã<#²~¸Ýv‚ìè訆š½ˆk ²Äµ>q_Bè_|ñÏhš>§O†‹/kT,4)87¤™™f€£ IDATüâïbëÖMعs,KÁK/½ô¿~üñÇÿýúõëíË“Ôþ'ZÍøŒ$cBª« “z}ä¯6›QùQÊkWíÄ­åÆMÿÉŸüÉ7Ç@!\¾|33¾ybŒ…Í @Ðß?'ˆÍ›+a6Œ{÷îýÃp8üwW¯^m…¾›}º~ž/ãžò»ÇË•}Ugœä@i0£–eóJ‡À,EQÔàzu—=-NjW¯Ôia¥Q: EKEHS/^ãûÕ.ÄF?ú™gžùß)Šª}ô[„Ãá/$ _MàõüÛÚz555•eeei€º sMĬÆf¡6´ú² ://ïÐ~]]½)Éù¾ÒsïÞ´© C# §OŸN¸íö÷÷ðn])|¾ Æ›6mª3™L²ã2#‚’ÁP‚ ùœ©3ˆÔùày~ìv®^m–ïkó^ÇœaªüÕ¤øYëº&Hww÷´¼®Y­Ö” sgg >2*++s•`O:¬ÐH[uuuy„“ 0ô˜O`°,ËX­V“Ff\—½Àäææ¾,22aÌÎò´ò! …D-­q½h)Í%î…ÒÒÒ?À„Ã1ÌΊÛm<÷z½¢â™RÀ ³–¬ƒñ½ï}oŸÁ`ø#¸víz¸X¼Kj_€ææ›x÷ÝGÀ²¬íÈ‘#ßݶm[Dï‡tÈ P­µ”á8.ñÞëÖ¡¦¦ÕÕù¨ªÊEee**²“cWî±1¤6“Ë€CP3o½õÖëN§ó¿ §§=øôÓk:àbyóâó…põjB¡((Š2:tè›ÅÅÅ¥2¤y°¥™Íë€| Ý÷øb†2ÐÕJi6ÙXÆ£~åfŸˆ}QeOdÅ_£¾µIz†Fó}äìˆ|hQ±ñ5ÉNÚl¿÷½ï6 ߳ŷÐÛÛÿ¥ò׎Žøý!BÈ¡C‡6ÉÀB«d˜¥Ã¨ V2(XKŒX"SúÒK/²,{îÜi“”yȂݻ³²\(//œ={6 åû+ réÒ¥)ÈÊrÂíÎ!÷ï÷ç˜Ífëþýûk•¤" 5jlà¬:ƒømà„㸠`Ø …ÑÜ| }´²²²@žAL*°¡Ä(¤··7$BXJweB(ŒO$Ìñêëë«T E:pÁ`sssËef%è®Ñ*/ ›:#.eÁ5Ù‹¼¼<«ÉdzNd/¦ Kí*?‡Å"fÈ}â‡Q»Žë±‰¹?räH©Ñh|z{Ç!â^ #YBÙ¨±Ž0+| ª¤¤Ä‘‘ñ ÆÆÆpêÔ§ ¨JXZ¿¿¿øÅ{ðûý iÚxøðáonÚ´©N2ÔIÁõ•+WZ‚ÁàåH$Ò‡{B¡P_0 Ã>ŸoÌëõNx<ž)Ç3}çÎ{iXGeé €}õÕWåææþjrrgÏÞD8Åâª5>/ápׯw#çÀ²¬õù矢(§ Êy°j̓Öúô»ðùwù+Òä­0ÔÊjó™}HÓ´5õ^|8jO /{Z¼ÔnV– •ÐöË€ £|Àé§Ij< `®žT‹ŠUËï­Vö‚@¿ôÒK…N§óoPãã8wîâ—\BÀóîÝëÆŽQTT”¿nݺ¢ööö(€¨ QBˆ–Ì |1ørJ &Ê0ªªª~€)‰¢­­#èk—GÍ•enÝZB¦¦¦¸+W®T žkmm ÎÌ̸].—©¦¦—/ß…ßÄàà8JJrÑØØ¸ùÌ™37ƒÁ`€AÕCCr©TL|ÀñãGa·ÛŒGŽyÓçóý¿½:Ì¡ÜÛBµ··ÿüÏÿüßKÁ¶\Ö-—~ËÙ‹"' Ì®]»jª««ÿ3fvÖ‡ n#ãRT²Vz^‚ÁZ[ÑÐP ·Û]¶oß¾§Nº*Bıºd‘Çï½÷ø -€!KŸ… !ABH€â'„ø!阕š¦}ê`zi¥QÀUö¤ß€ú9¦s8,¨¨(@EE>ÊËå#ååy(+ËCYYnâ(-ÍQÙ()ɆÃa”Q‹KC­£AjCÙªj QtAAaýúõ?"„äD£1üú×)6Ï7 O™K}/¬àß'qhhb\ìÝ»w£´™©³"ã$gWº´aM±ûöís †¯@[ÛD"Ñ4¬Ej2 ¼¼99™€ßþö·~ŽãÔ¦YaAÂÍÍÍCPP›ÍÑ“ElÎ4™LÖýû÷7ªYRË€y#Žˆk „„Ã477òòòöWTTÈ,†\®£.“Ò̤r7 6›M£ —J”ÅÙívgYYY–"+Ï ‚`€v/ €5’‚T íúÃó‚dÂ8N 朶ip!errr¾"‚‡‚Áh {AQL&Ñcjj* Ã(¨Ë£àb×®]ùf³ùôõM€çù`™™™]${¡v]_ÊmJ[,–?€îî -*ˆN—4LW"äõúðÞ{# ƒeYóW¾ò•7Ünw Rö^™Á·¨Xa½¹Ð« Po.J¦žq¹\ö={öüEQÖp8Š n#§©jXj/ªvtlÌ‹‰ /`Ë–-{ ƒ €]Ñ/«ÜWôö”GeýÝc3Ji6õ ¨QéB•U"¢ Ãd¦‚„ôÔçRš¿V¶ìi¡¯!èì” “Ä߻ݠi ¼×ë•U”_yç©2ÖÜÜÜ9Ðùƪ)‘Òê»@õ«_ý4Mï€S§>ƒØ»ùÅ€‹å¿°s½ùÆ(Àýû}عs# r*++󻺺d#B‰(‚^¥Æ;«Áb}YØ zÛ¶m_%„dr‡;wÚÒöYÌ ñg†a°iÓF@OOOôþýû!żÊsÌànܸ1|àÀ2†aèÊÊB´´tÁï%XŒ†††­§OŸ¾ y)9 H,†œˆQ³ŒÆ}»V‰u' È@€¦ið¼€k×n`ëÖ­°X̆ƒ>ßÝÝýϪ=CÎÖÇT×·¼vx<>i0 f0ä{hll@V«õõõe===²«x\XÈ ˲%2ÀH¿þøý!X­dddX Ý4¬<LMMM¶ÙlÞˆåQjFö5`Yq&&&‚ †kAÞ;wîü6!Ä‹q˜LòÔ“ÀœZªUé?Bi0%K¹. êµ×^+–åÇoݺµÈd_z2_‰Ðì¬}ô)ž}ö0,‹ó•W^yéG?úÑOb±˜:{/³f8vìØ–âââí‚ 0‚ ‡‘çyƒ4,¤BBáyž?}úôÞÞÞ¤öܰ/¿üòïÆ2ApåÊ]ƒ‘yT²´æe9ìÐÙ9†¬,;,‹cÇŽõçλ--O¼´>)YÄtj…_6uB- ‰%$ðÒöÇ>*•+¡"¥îÁ i˜ u½k@Œ¦i¿ƒ±úËžV55åÅÔTkbÌO=µf³ÍÍÍñ«W¯F¬’¢üªv Al”÷)Æb@ƪ !ö]0™LÿîÞmEkkÛïÀ…jŒ##Sðù‚°Û-ؽ{wMWW׸ Th u©œœq£V&¥.¹«®®6™Íæ·Ä´~0é~OïQÔÖVÁf³€çy|üñDz°`Äiš^xá… ÃÐb–>¦p–@QQŒF£õÀ›ýë__Q­‹1s§Õ?µÖÏ™@˜™™(,,„Ñh„Åbß@$Á•+W±ÿ^â!@OO?êêÖ£¢¢¢”rOšJµ?‰roâ$€QœÌ`èß«¢T­v»Ý„–GíÚµë0!ÄÈq<ÆÆ_š> Щf¥Òi.H¯Ì%(ÿõZÞ¯?O)Ù¹RÙä-Ç²Š”€‡eÙ€0\­eOó«=¥—ÑU€3å ,o¢òœUs¦<|Òïô†^£÷üY“èâ'Nº\® ''§ðé§gðy–"iŸ«Õ .äGgç ¬¬,?++Ë©,JeyTº’›G½L*qm=ûì³Ç !¥‚ (ŒõRJ­¤„ÅbF]] ¤ khtt4¢º?£"4MÇ^{íµ 555ùÐÝ=ŒööþÄ{ƒa ŠŠRõõõ›-‹M>GŠFfuždäZUKlœýýýCòúãt:ÏÍ›·à÷ûAa8pÉ [ò¡.•J\×ápXj·%•ÉEQèéé‡ô3Š‹‹]P4y+Ô¤’˲F𦠿 }ÆZÙèíp8Ló04†Âæææ™ /âq>iÌòçE©€h4óx<œ`E0Âk$’Èž={¾N1Çbúú&A`³™å÷óH×¶º$Š‘€¸Xj²Š  CŒŽŽ!-¨`¡ìÆ|‰Gù¹öö.´¶>lܸqkccã:©D(Q*ÇMápx"‘(†‡Ç044ŠÁÁQ Œ ¿}}ÃèíBOÏ úûGã™"⃒æ“1¦]»v½ €šõ£µµwÑU+9/££"™—“““kµZ]òçA]"eDªãý#¹ŸÅCƒ}Ò’—{sä9SZ5¨Kï´ÔõÔºs¬Ó— `(N#X–ƒ*‘,+FjP¸Ú¡¢ö4Ÿ£w’1˜É ,””錰*‹½* ­¦îÒÒRãºuëþ!$7‹á׿þ±Xüs èW–ù|ÀE:488h4Š¢ÈÎ;Ë‹“úuýÌ—aCPf´­V+cµZ¿ ØššN[¥V•Ú¼¹,Ë  §Nò#Õ7JÓtìõ×_¯¯ªª*ÁÅnÝzužéÁƒ!ð¼£ÑhÙ¿“â|)õ9Ó¬u^çˆÀß»wošçy¸\®ÄGŠÅb¸|ù* ??ÓúõëK Ý‹!Iq0œ«Õ’0=SÑÑ ƒ"hll,…¾ÃºüÞ†¼¼<MÓ®9#=c- ›ÍfTèºìŶmÛªM&ÓzžÑGV«Ø/áñxüªÀC½`Æ ÙN§óEñ>˜D<."ÁažçµÊÄ„îÿY,À (ª&''±X#½•Ëâ—.]Çôô,!ÔSO=uÈjµf*@F¢cttô.Äãqüæ7ðÉ'qêÔ%œ>}gÎ4ãìÙfœ?.ÜDGG_âö¶¶Ž@UwäÈ‘}f³¹Pܸq‚Àc)¼+5/³³A‚hW_RR’¯ €¥ÄU:©èGŠÅPðDÐf°çÍžæÐR,³jì¬ÐÐ窬¤ŠT%òÄÄ¡ßðÀ † êdcåLîVö´XE¨•x"ó$÷§(AYÉj[ DÈ "¤#a!Bˆü½^£·ð0n\ÕI¤ !ôk¯½ö§4M?Ÿ|rSS3_zp‘nŒÇc``••ذaCч~xŸã¸°œ'„˜×2X"µ1ïQ+“J\[_ÿú×÷QÕ$2w“ý|îÝYY™¨¨(œ?>b*ð£i:vòäÉ¦ŠŠŠBèêÄ­[šÉ ‘Ř@IINŸ>ý  ˆ%@1©FÞ\äóUÃ$öq ª€%2ßÁ`0ÎqÜEQ333“ŸÛ·ï`Û¶-ÈÈÈ öïßøþýûÿ¢ÚC8i#–×AyM£¦§§ÇËËËa4a4¥2µäR)Az{P[[ƒªªª"BÈ}AŒî´¼ P^^^&_$¢:,I»øýâf6›Y“Éd…Ba=öÓØØx ‡c˜™ ¤¸Éï/Œ™™`ðX@s÷¾J1Çã"{!¿ŸÝn–ßoXú¬”ê½dÄrÁkOƒ¡%÷R®D?çpæÌ%<ÿüaX­VÇ3Ï<³ë§?ýé§Š=“ëèè說ª‚ÕjÝnM*·TE$–¿ßš +Á…Ãá°×ÖÖ>}}£˜žö+`¤·œy‰F9D£q ²³³]mmm£ª˜CÞO é‚ÞG(I¥®²He(//·ìر£Æår­3¥ ÃdBìžçãñx܇'½^ïPOOO÷Í›7G#‘§º‡”†¸q¯ê^^½«¿|ŠY¡M„W Jq“¯ò÷1‚Á`¥2ÀZ+{ZœÃxbîÔee („T "‚9/¿Ñ’«]-=꾋§ŒFãÿwîÜCkkûŠôÚêP+ .Ħ}½æÿ•@ýý"À°Z­¦ 6äݽ{7¤Ê~¨KI"ÒÆ°ZûqVœs:߀‰‰) h =ærÛ¶zIÖrš»|ùr@ÅÈÆhšŽ¿ñÆMåååÐÙ9€Û·;’ΡzéèBQQŒF£yß¾}u|ðÁ-Ì•FFTÙù´½kô¼%6ÖX,Ö˲ìF·;3iæ8.\ÆÑ£‡‘››[ÓÐÐPÑÒÒ2€–ä39ÕÉóC†††&¶lÙ@ôؘ™™…ì%¡ìÅèéFFF†½´´4³··w seRBˆ2;‰¬¬¬R1sÍ%ÂÓ­G*/ Óàà _½°X,–œœœ½0::›”…Vƒ#‹ETšœœ”û/€‘üׯ_Ÿív»‹ÁìdBþTɈŒŽŽŽb®ÿB¹ñªÊA'ÈYRÅ!„žç±#½ù²ø„P0XPx<žRÖÕ‰‰i´´´¡©i#Ö¯__[]]}¿££#"I€ è»wïŽ>|8JQ”!+Ë•8ÏZcq»3 ®=“’ôoâœ:th;˲6Žãpï^·&ËÀ²,l6 Ìf#hšB4‡ÏD$ÿ\Ø €a³Ù¬ûˆšYU2\kž½P1”° iš¦_xá…ª’’’gM&Ó𦛤d^ÚG^^jjjpèСÙ`0xgllìò¹sç.ô÷÷{TàB«ÿV«±^]¹&’N+0”Ù*¹MyŸ!M(L&SH+!ùp¡€¥”=-æ5ªòµ¼¯²oE)C«,™ò+˜Š’å3çS’z¨àË/¿\ät:ÿ=11‰O?=û¹€‹ù}&–Ç<Ð4…#GžË²øðÃsˆÅâŸ;òù‚ðxÈȰ¢¾¾¾ðîݻÊr!D-5iHSöð(±ê[ßúV=MÓ”ì… *?¯¼ÇKK‹››‘QûÄÇ•‹ŒaîäÉ“ååå¹"pèO€‹Tfrîƒ N¢¤$µŸ}öYW0ÄA0BÂ:,«uÿ®aƒ‡Ã]‹n·;%ðikkÇöí[‘•å&{÷îÝçÎAé UŒ(áþýû3Ï>ûlœÂ8vÌÎzï=¨OÃïÂf³ ±±±¸··×ý2)Øíöb1JßÒ¯GÁ`<σ¢(dffš“À… 4!„À<ñÄM Ã8ñh¨_‰?3 “IÜ¢ÇÆÆ‚Š÷ƒFF4±ÿ8pàuBˆ1ãÐß?™˜g«U \Eæ­kTúìD±É ƒÌ.–RE :º)Š‚Á`X ¸XxŸ¢(¬[W…u몣QgüxWWפÅBH0äÀ¨Ýn/q»èëÖKF†C>W3ŠsÅX­Vëúõëw@OÏ0B¡Hðeg;‘ŸŸ…ìlìvsJ‚B€éi/îßÀÌŒÅÙ xQ¥45¨€·^ÙΣÄZ$‹üü|ã‰'žs8ߤiz‡zߌF£ðzý…BˆÅDKÓ4ŒF,3l6+hšMÓN»Ýþ„Ýn¢²²òßÍÎÎ^¼uëÖ»çÎk“ì” ôQh;ÁÇ,¾ dDVõž°,€¡øP‚*œïÁ Fc$™5Ðc>ϲ§ô‹š> YšŒ®ô¼€ô}+J•¨ ŠÁˆh\˜ZŽÞ%k­áwAjjj~DÉŽF£’ßEü!€‹å3‹.—˜±ÊÊraddrǨ?–¡¡IddXQVV–Ͳ¬9‹… ïÆ«v(ŽãÑ+“J€×œœœ?@ù|~tw÷&Íu:÷n†a°uk ··7ÚÚÚVf˜$p±±¼¼<<èÃíÛiÍúæ€ÐÙ9,³ƽ{÷nøðÃo+îwS#¶ÆYŒ¤Æ`ŸÏו™™ §3 Àã¸Äu-Ο¿„ãÇŸÛí.Þ±cǺ˗/wIÁ9OQKÕ …Ç'X–ÍÏÈp€‘&@>'½½ƒ¨««Auuu>EQíR‚A4ŒˆÅb)A}@“Vÿ,B¡¬V3\.—úåQìºuëöÀìláp\Sž¼åëkxx8}ï %{‘›••uTd/&ó‰õÃᯱX,Ôßßï“Áæzӱʒ¥®„çùqp8ìXX‰ÐÂØŒ Ž=„¬,w*mBØíVØíV””bÛ¶&Atuõ¡££—/ßÄSOíAVVVÞîÝ»«Ï;wSºîB™±Ûí%N§Cw,4M'èÇÆÆ¼˜+b÷ìÙ³žeY3Ïóhoï‡Í&úa•”ä%%…Í0 òäÉuååå™ÐÞÞ+‹T ¡í±A E100‰ÒÒ455UŸ={¶Kêïˆh°Ê úQ`1 cppðAii)X–…ÓéÄôôtÒÚØÕÕƒÁÁa`×®]_»vm(G¥¿)æ(ª~FGY–Íw8lR¯sÁ{oïêêj`³ÙÌÕÕÕYíííQlmL…àñøç58“öù‚°ZÍÈÌÌ4!µ4ŠÀ”••å9Î €{17n¹œ)Ƨ¦¦biØ ^Á^¼Fa£Ñ8¦’ÖÑ¢ðz½£±XL™…–{(ãŠûC‹½X.N¢ÑhÁ`@V–{E\ºÀl6áøñ£p8ì<ˆµ··G§§§£‚ pf³Yp»Ý¤°°-))±Øl6Öjµ ¡a6`ddáp&“;wî|ìÊ•+-Ñh˜“LOOÃá°éŽÅf³$Æ3::*—Ç E17n¬ç=ˆM›Ö!?ß´ù|¾ñÁÁÁ®žžžÁîînÏÔÔÁb6›6l(سgOÓé´Ö×—Ãã Âï¯XI™ÁÀÈcàû£:hpAÖè¾ Ö‚ùú׿¾±°°ðÿ– ‚€¾¾´´ÜC_ßAPöJípGf†xLO{0;ëC{{7ŒF#ÊË‹PSS§Ó»ÝÞøä“O6444œùå/ùÏcccÓŠu?ŒTÙyZú*·¨¥ªùÕ¸/0«ðX“eO‹qWm¾j)e™T@0dp! ­F!­f¡/4 Ô*úÎw¾³Cö»¸w¯ mm÷W \,Å!{9à‚’(§ e¡–:ÆÅ%ŠÂë Âá°`ݺu9Š2)M5ìÓ£T"•Ø$***þ€1‰ ­í³ çÕb1£¾~=àöíÛ¡‘‘‘˜t¿Èࢢ¼¼Ü ÷ï÷ ¥¥S—µH•¾{tw¢¸8 F£Ñ°gÏžš?ü°E±™È úê2©G…Åàð7nÜصkW€bÍÉÉÆôtª°ÃùóñÊ+/ÂápdîÙ³g³@jL IDATã§Ÿ~Ú €‚W˜JF1×Ç‚`08jµZ%—pJÅÌŒ™/fg}p:íhll,hooŸ@j‰Ç0 c2™rÅ Ð?Ï};7~¿?À­Å`$Ø‹;w>F¡b1SSöBnðžsð–júy5h““tPWWW˜••µOdâ&$éÛ¹k3#CLŠŒË ÞDÅ^¨ rÕ ©ËÞGü~«ÍfCff&X–…X‰¸x©YåÚ¾}û8vÄãqüìg? >xð m‡!$V\\Ì455¹Ö¯_Ÿk±XLùù9‰ñY­VסC‡ê>øàƒ‹Å„ééé)ñwÐ4%•%Åjµ$¬“““aymjll,¶ÙlàtÚàtÚdÐèîî¾ÝÜÜ|»««ksæ‘i= C¡ÿÆý<˜zë­·vÛl6sUU>nßîÅJ4†³, –1æääd:1õñ¨€ Zb-Ø?üÃ?ü#³Ùü¿Ik/º»{qáÂeLNN% 0¤~îÔ.ô)ÿ]4ǃ}èì@QQššÖÁá°‘ÜÜÜ}ßøÆ7š.\¸ðÿœ={ö6æšê•fÔJp'ÆT‰j¬FA­Ö¸áó/{B@²\÷ðô¯Q|Ï«€²—"¤2¸P‚ ¥FÚý«#qïÙ³'#++ë¿`gffqúôÙ×ËŸQ!ee žZ´ð±ŒÏJKK3Í©Ê&U-ó05‹ñȰp †7EðÚŽh4–$´6B€Í›7*eirPÅ0ŒpòäÉR\´µuK=˜÷½µJ²B¡(ÅŒrSSS¥ÕjMç‹aBj‰ÛZöÅàðÓÓÓ‘X,Ö ¹¹9šäðð(:;»Û·oß*ù‡(õæÕò™¬Ïç‡Ã–$óªö” „Bo¯è'SYY™c4M÷ŽÑív»†±Écþ5D¢’”Óé4h0¬Á`0•••m€±1A,ßѳ 0$oJ#1Å+‚ ìÛ·ïeBÇ0884¯,Ë$‘¾¾¾±4×–ÚÛŠGªšÍ’÷‘ŽŽŽ<Ã0ÈÏÏÃr ãXÖ€ÚZÑ·æÜ¹s‘¨}k’zAô÷÷O¼ûî»w¿ÿýïøÁœ˜˜Uޱ¡¡áqƒÁ˜ãI©aƒ¦)˜Í&ͱȆˆ‘H$Çe%.º©©©ZùÞ>Ÿoòüùóïÿûßÿ›Ÿþô§§ººº&`Y]Åðûýž›7ov@v¶3…µX ëCÍf’TÖ G‘Úè¬*)pñØc9þøÿøÍfóÿ ÀèóùðÎ;ïâwÞÃÄĤr^Ÿ›¨ö5¨H­XPŽ¡¡q|ôÑE´´<Çñ`YÖ¹wïÞÿòË/¿@qÈ@²¬­UcíÓꯤVÛÞ@­Â Al<,µ§¥¸‡§ÆFÁ!¹Ÿ"ŒT“Beƒ·\5(5¥Á .T5úñÇÿ?!•<Ïã£~›’\ He±¾XpÅÅù].Õ(ꜗ€7–‰ /Ä€ÊaÊÎζ)³°’q˜V“÷£¦_žØ(¶nÝú&!ÄÉqîÜiÓ¼'µ˜Å¬¬LTU•J™óó¿ßÏX–Nž&j=t¥.úš›ê.þ½×ÀéÓ70<< ())yüÍ7ßü=Š¢d&CénQ0FÔªó'¡Vëuðy–=-ä5Ë)J÷9T1ºÖU½8ªË¥ÔÇ¢ÀÅX›GPåååF—Ëõ_ÐSSÓ¸|¹ù! ¬ÈßÓ4…Ý»7%èpù1;ëûÂÀ!¢ìâìl@bSŠHî·`çk¾DJy=ûì³/BŠAPëÍ_ÂT^^¬”¥ Äãq°,KNž<™UVVf€;w:pçNÇ<@"õ½Ó)VõôŒk±Zǣ䠛P[äL°ÓéÔ½š›¯# ƒaæÈ‘#›óbQ±ÎÎÎYIòNg†NÐNeR#€¢¢"—Ûí¶)À…€)33³@>Åø0Ïú$zaˆþ@vv¶Y.Øòòòœ¬¬¬ñ%M=>Š¢`³$v4ÎŒŒDÒ0 xâ‰'êœNç:‘%“šQ“çÕå²ÈlȨ¸EWÔ¬…Úðk¹`“ü­È º%Õ§¥Æ â ŸÉd 'n¦„§ÇÒXB›ÍðXikk "U•Lý½°A†ViÔîÝ»í›6múEQõ<Ïãý÷?•+WÕëµF9Q³„H¨s¢±%%$ïÀq®\iEOOb]ÚþÚk¯†^¹”i¾ýa5$ Va‰”H¬|ÙÓB©Å•z6I”ƒ i5Uø*‚Þ¡ûø¢3/½ôÒkEÕ ‚€O?=“Ø| .´½"––ï¼Í0 vïÞŒüülÀÔÔ” nl1x½/ \ÈÏË#??ߎd9AV*“RK 2:%k‘ê¦P‹…±Z­ß€þþALMͨ.Cí&†a°eK= ··7ÖÚÚ3 ääÉ“®²²2´´<ÀÝ»‹ê³PßÛZLJ$ÃÐдÌb”Ùl6û—„ÅàðW®\éÁùºkx8Å•+×åååÅëׯϗ³w‹‘Èâ…Ãa:OˆÃ¡É^ˆÏ‰Aüðð$¢Ñ8(Š"[·n-P0FAL9"Àð¦¹o‘Rë.ú-„e€aBrs÷FB‰D☠ÏÛ+¢hðÇb1­=A „ ÃP;vìxNLt1>îÓlæµÙĤHww÷˜NY…\h‰…Rp,,áü'Æÿá‡^ç8n jk7,Ë0N’W•†V¢N-û.³Êà À+!DÙ׿8.Ìó¼¨ãÊКc‘å^9ŽÓr_æ5æVÍZ% ÀŽrlž¼¼ø÷ú(RÁ…ŠÅP =†ƒ¨@…Vµ¼ò äöíN"¶G•••»Ž=º_ôK¥”e´¬‹ñ°÷‡UÉ`¬Í²§ÅÉè>â’ŸŸÏšÍæ?75Q~r±àb¥·—ú÷‡ O>ùŠ‹óçÏŸË`ixxâ~ûÅ ``ddd˜,"¥¢ÇZ¨{0Ö,ÀP¡Nú›ßü抢àæÍ»º½jæaãÆØí¢,íG}4 ÔÉ“'3ÊÊÊ pûv;îÞíÄRú,Ô`C‹I‘Y ƒÁ f1Ì:LÆZf1’Ên¦§§#‘Häæ§Ugº{÷>¦¦¦A!O>ùä&Š¢ÌHnvLÌÜè-{è•IQ”¨488.] ó)ŠJ°E™G¦°ûçõ¿P'’¼^ñ¾ÌÊÊ2Ë÷ŸÃá°UVV–Š ‚¨`ª]Â5×+b³12ãDrIM+ýÔSOm³Z­yÐÑ1ª¹~8PÏóüýû÷'ÁmÕ¨ÏC‰0ñ?|>_Ôãñ¼/Œõ`fÉnÔrŒÍf£X–Õ¬d Õë:ä€Þ/1ABH@H„° 1‘ŦӎÉ}•O“µÂb$°@à†0  §p#›×;wàv»{öì©–æÅ¢èÅ00ÎÌÌŒ‹Ã>; ‚¾>Q8Èáp˜6lØ- —Ëå2`ø.’ƒÀ0Éã±Ç+g†á8Á”r¨d !‚ ³YRÿ…¨ »Ýnjll<ccx½!Íy”kígffffgg9è7vs ÆJ)&Í›7oþgµZ°n]õ‚öM-*³–E¡¸¸˜Ñ` ´DSÒ ¥çT’ ¯¨:H‹LêH?ë1 €!I.‡¥÷ê0,‰qVˆ¬Z`ÁIØd2÷\^ž C! W¯^õ뀊8!D hı2år_tBŠúýßÿýz“ÉôŸàþýö¤²(yšRcÏÄKækÜNH8 ÉppãF' Ä¢(úðáÃÏ™Íf÷< CÙ{¹ªXŒU©"µvÊž°LÝGdX­ÖÍàóù1::>o­Åò,5 w»xæ™CغµUUe8~üIìÛ·9*#®Ô¿'„ 33›7×âøñhl\†¡øŸýìg³.\ð=ùä“1°ÆÔ”g‘c\îgŽF¹„k^^ž`h•HÑXã%RÊlÔ·¿ý횦÷‹ à’‹6ô{!¶l©OÈÒž?>ròäI[ii)#² m p‘¤Ì×g±&¥·wRf1Ãü²nttôš2’ÌË´‚¥ÁÁá„líc=Vëp82´XŒ‘‘É!Ú&)I‘4@ƒÀã bfÆغuk‘ 0ŠŠŠrå€QìÁXH’`nì2Àp¹\†aX–eÅ09Ç!¥çB 4Ìf4-¾g___H\ð„cÇŽ=n0l‡d(û” çf0 ’€W ­±È}´X+ÅCÛK$IÈE.jCÝ”®ÂÂBâp8ªÅkÈ¿¬’2š¦PT”¸{÷nØëõ*U'•ž!qã¡xk-ƒ½ (·ÛÍæææþ£×ëÅGýFµ–ë–<‘4}) DòþCRGª¡f*àˆÅ8ÜºÕ AˆÍfËêêj°m[=vìhĶmõ¨««FII~\øýþè•+WÆðƒq·ZŸþù|QÁɇ;w:*¸Ý¡¥Õ¨Œ pÐc­¡ÝDV¯¼¼ü-†p8‚¶¶:Á~òŸ–—— 77[ à¬Äf³Ñ‚ àÚµ»¸¿[µØë%:Þg±rJ£ôÌ™3JÃ,•PÈc­³I–×ë½d2™v””‚¦ið¼ «Î$6?¶¢¦¦nw&ž~úéM]]]²Y!$Æó<7;;;‘••Uìr9Ðß?¦x*¥œA,k&QU•ºººÜS§Negg;D€1«ÁPÏ_ë.¼Þ23ؽ{·Ûét²€{¡Ý›G`µŠ$ÃÀÀ@H\;wî,ÏËË+¦qÀN]?d€ÑÛÛ;Îq¥¸`S~E¬[³ŒëKlÇÄAˆÝ½{÷lß¾}KNN©©©ÂƒX¬aÜÔÔ ÆÆ&‘››…]»ve¶µµ ÕÓCmf«ah›Ò²Ë}-EYÄ{6¦9–HD,W5™LFÅ}¨å+¢tWJÐËžVòù¡Я¾úêメR¼¦o$?WVæÃPˆD"ÂgŸ}æGªï–úPŒ5S"¥d/ž{î¹ !•¢ßÅYÅi%ƒn î£À‚G:6CÍbÄ㺻ǰaC***ªrss[ÆÆÆ8œ rL ú¥môÃf1˜Õzm<Œ²§…êJëqá¯yôüñÔæÍ›k0Žíر]]=’VyúÀ¹¨¨Á`33ž´wf¦[¶Ô£´´(ñºžžžÈÇì ©3/‚ ÄGGG㣣£q QPgÊå#''Çöúë¯WF:‰ââÅ–$%‡.E¤€™e†‰Ç㔓¡Å\ÐX#^êZÚƒºX–}îÝk“d*õèjñ9†¡±m[CÒF š›ïHà‚ZHYlŸÅB@Jÿ4 ]`Y–Ù·o_õ»ï¾ë“ -o åÆSe—É*ÞðÕ«\ggçùœœœg±X““±±ñ´%Ï 8{ö Žö§Ÿ~ºîÝwß½!ż4!„›˜˜˜ÈÊÊ*ÎÌtÌ[Š$ÿŸITTäÂh42,¶ISSž4*=éê™23ÁÅìl¡¯0RF# –oMI>4©ÿÂb±°{öìÙ)²"Œ{tÁ…Ùl€Íf´µµMH÷½2»ÎàTŠd,»ÔBAºS‚í>úèFmmíE›Í¶{×®mèéé“ …Æܺu‡ïEqq±mÆ ޶¶6¯¸Ñc”û‚üàÐUUUy½L6^œK(‘ ƒÑhdÂáp\ëº×aÅ!Èk´Õj5–””|G>×OhÑó"ïp˜‘“#*G?>èóù"ó€ - [AFë IHB(‹ÅòbÕA&&&¥õ@•ÍS֤߸MÔ¸­WZ•Þ\üÝÐÐ4*+ó`00Ôc=¶ñ—¿ü¥Ú%mʃUÜ¿”tÝ=”Ç*•©Õf~Ù°ãø#ñ!ÛÛÛÿ @Ôá°ã©§ö'䵿„¦)ìÚµÏ=wÇÑ ¼³³Ý8xðq¼ð”•ƒ‚‰‰‰øOúÓ©ÿøÇ££££¤ª„xÌê3Šï=Ò‘P),,¤Þ|óÍF«ÕjˆÅâ8þÐC²§ Ö{KP¨Ÿ[K%R öbË–-_#„88ŽCKK«.; ¼wëë×Ãf³*\½Ú¢`.$´ß{¾fðù@ŠÈbÌêëëK222ì2í­r­ÖóÅH:—«XQ*)›|æÌ™ñx|**J1Ÿ:!ÀØØîÞm455U———çBQ"0888 ‡UZk´J‘’K§¢Ñ8†‡²Y Š™ï‚Á…š‘›Çå‡È^h—C©rÿE8懇‡#*€&;v¬Ñb±Xy^@{û(Òõ†dgÛ¤ìz$ÖÖÖ6‹dÇnuÀ×È‚®d¶Z3›/BôâÅ‹?!f·Û±eK“;”>ˆÆøøàÉ'Ÿ,e&¡¨#‚ZàB½öi9ðŽÊ±‚ ŽjŽ%Løà!''Ç U‹äÎi‡Q=¦àßøÆ³ Ã4Š`s\7™9Ÿ EQ¨ªrƒ`||œ»xñb@X„!*[…5†šÁXí2µùÖ·¾UOQÔ&¸~ýFZ@ ÍYà ê~­4ŽàI×<Çñkjjʆ‘Ë£¬‚ ,´Lê¡íõ«Ôhom–=-ÜaüËñxûí·Û'''ÿR "Êð Ï"''+åfËÏÏÅñãGÑÔ´€\ž,9[ZZ„cÇâøñè¨(‘Ìæfãï½÷ÞÔøÃÁ¶¶¶iAdå %P˜Õ„ÝOœ> IDAT¸˜ÑëÖ­³üÞïýÞ.«ÕjŠÇEp1=í]àB¬ûKL(ʤ‹Š´±ªA…ºDjÕ^jö¢¦¦Æd2™þ@¯‚˜¯„I”¥Ý.®\¹û÷»SîË…7lkQëK)3à8>Áb@ßÝ[kYKÊ`‰3Æü~ÿYqm(ŸWI~®¹ù|>?(Š¢ž{î¹­,ËZ$0fêêêòÈÉ §ÓžÒï ×Ñ×7%«qýñ&ú(.Ô‰¨éé9€¡f/æ{Øí yÚ°$‘䪫«3kkk«Eæk Á`éÔåŒuww÷d,#ª W/àU÷b¬d¶Z³\èÒ¥K“““¿€M›êár9DW®Ü„ ÈÌÌ´<ùä“¥ŠûDùU©¶£v3Ww»ÝEÆÿ걄BÑÄ5“ŸŸïP­­zL†V#=@سgÃårý'˜œôaf&°(#=eZRâ„ÅÂBt­~ßÇq\T‡=Ñ:ÔÀ'I¦v•–d&Ê£Ün÷W ‰ôõõCíÔ­*k" é£HÝôû(ôM:/äÿ=<,ÆCf³ÙTSSS€¹þ3µ/ÚƒyØÉ'ju^ßo©¥Q qÄJ ^ø»¿û»œ˜˜ø!///¿|¯¾úžzj>€“'_Ä /C^^N"¼pá*(ŠBv¶;vl«¯>Ç÷¡°0„LOOGßÿý±¿þë¿î¹~ýú8Ïó^8ð(5K1C™‘Á!d–¢É\<ñÄ…/¿üòA£ÑhŒFc8{ö&&'g—–k¨ÿºxœKÈ#Úl6V‡±P‚Œ5Í`<ûì³/B AÀ­[wÚ×”ÔoÝÚ–e×ÖåË7ÑÞÞ­Gº-¹a{9 %›c1êêêJN§# ‹¡)=5«ÅPÔ£'Ivö÷÷Ÿ—Ë ·;3­:ÓÜ5Ç™3—!\.—ãèÑ£õò¼ŒÅC¡PÜnGšïäçC¡(ÆÆæ*jÆÇ§52ç˜GtnìÁ`$Q2 q „Ì1ªò(Á`0PÇŽk"„`0ŠÞÞIÝ9Õ£L 7ð[·nM@Ûó"]©…:[½Á¤VýÕ¯~õñx|ŠaìÝ» µ¸ ZÌÎO%îímÛ¶•UWWg!ÙKFí+cй’Íf«Dý&Àë Ê#Cc}tŽðFQÙ½{÷ŸBòyžÇƒ£‹òr‘aBa¡(K{íÚµ°${¬rHH2”ŸOW’¹&¼Y–= ‰>¯äûW½w,¼q{!}Ú,ˆ6àÐc8‚ÁHBÐeݺuI’oÒ|B ¿c0R³ü‹“ªSoæËyÍRÊž'£û¥yÇñ?üáÔÒÒò§ÑhtPl<ÌDMM%ªªÊ‘‘ႬX e|;¾úÕ—ð "«a³Y!†††o¿ývßßüÍßñ!µÁ] .”GX0´®‰U:vìXEQµÐÕÕ­Ü+ˆFYYàH•¦M8R4…ô‰B¢üuaa¡4«÷õ¾ _Ëm¯_•*RóQ¢«³ìiqã_#±‘‚çwΙL¦;?þøÎÂÂÂ&“É”Çq===íoooŸðûýôW¿úÕghš¦óósoä÷û#<˜º~ýúÔÐÐP©ÆEzÒò÷IrOKË[ ´éÜÜ\׉'^s»Ý’©Ñ,.]jQÔÝ®p¡d1X–†Édb,Ö ƒ‘ï·¿ýíƒEÕÀ- b¶nmH4t_¸p½)÷ærú,–Ó ®fCb1ÃÔ”¸PWWWræÌ™Ž™™µ/†^³·šÅX­ŠRI,†Ïç {½ÞO].×+ÕÕhn¾%•*©3Ô©ôµk·QX˜—+ƒ;v¬qppð²×ë ÷÷÷{ÊËË ].;hš‚ h{`¨kª3Q%h®Á˜ßÉ[û5““³(.ΆÕJƒ¦ 8nþSápˆÛ±Çã‰OLLÄåçkjj26mÚT,Ñx<¡´Œ¦©DÿŽ{÷&D•©¤ùW¯›QãóhæÕUvzûí·Or8=öØ6 ŽÀïê\ÚY|‘Ẃ#GöÁjµš^ýõíÿ÷:‡AˆHÚÏ­œL]]ƒ¦é:˜šò¦ËÔ”ÈÊÊʰX,¦`0JÃ$+¹œ…å•WJ322þåñ„Ð×7‰Åé)ç¥²Ò “Iô¼øå/é‹F£p¡ôÑZs´êFEEÅfÏóN‰Ñ–׸yú( Ér¥ MhŽÔÆòÙÙ JJÜp¹\V“Éd ‡Ã!T‚`$„¨Y¹UQ>ˬæ¸b-•=-ÆaüK0RLÃápè“O>¹  M¡ål“ë?ýÓ?½×ÐÐPIÓ´qzz:ÒÛÛëñr¶3ªÀ+6“RkH%¸Ø½{wÝž={¾m0œÐÝ=„›7ÛU« \B †Ñh¤—È`¬º RËXÏápü±˜]žÀðð(R …Áq.^¼ÎÎ^R•/¦Ïb!ªRCCd€azß¾}Õï¼óŽWÊ´†_•’µèHÖ®Ò@)ïèèø`ûöí¯dd8——ƒÑÑñ°Åñ8Ï>»„gŸ}V«Õxâĉ†ø‡héìì ìÝ»‡Ã Ÿ/¬ážK¥d³³ÅŒÿèèT➟\è"°Ùx<± ‘íèêêŠÈØÐf³1Ï>ûl!„twOÌ À²²¬`Y<Ï ×®]›R±j_=pñy5óêyTDxžðÁÿíĉuF£Á¾oßn¼ÿþ'óV ¨Ÿ›ššÅÅ‹7ðÄ[‘“““ùÆoìúñ|:*ʦSÊ=À<öØc{!&A¤Yý±LNÊçœ"µµµÙ×®]ÒÊïål³¡¡¡ÁVSSócBˆ;çpïÞ ‹2Ò“Ç’›kGv¶(lqæÌ™ààà`H‡½Jì…Ú|P 0RØ‹U,‰M“É´fff‰DäÄÑ`ˆ6àHe’×ðtÛêuiŽù•¬|>‘Ф(ŠÊËËËèííõ©Eºþ¢¤äÓy"V©ŠÔZ,{ZØk¾$MÞjÍó÷RiA“…|¼½½½}ï¾ûîåwÞyçò™3gîöõõ ò<¯lÄN§•8¤r(åóJ•¨DŸ€€ÑhŒ¼ùæ›Ï¹‹Åz`Æè«3¥®­ÓÓ\¾|P\\ì:räHÕÐÐP<$é7+ˤäR(YÅIù¼Ùl€Ã!l Œa~õ"`¾^‘H$†™±¬AR«Mû0(˜Í¢ÿE{{{D>/¼ðB‰Ýn7ò¼€ÖÖa…“´þÞ&¶ýÿ{oåÆuŸ‰~· …}ë…d“l6›[si®¢Hí–([²(ÛŠdŦK9vâxwâdμ9ï$o’“7“÷2É$“ys¢dòΛ8ñ"ËZlI¶V[2EQÜ$QÜÉ^ÈÞ÷KµÜ÷Pè‹‹[ É&P8§Ðh®ºËïû}ßïûõôÌŒi°©»°i¦ÆKaÌl,yÙI‘Þi©sçÎõŸ={ö ¹y)¶nÝX¤öEœÅïîîÅûïŸBæsš—þÎïüÎ]~¿?Â$¶ò’[ȸñXŽ<¹yVWW÷@&Hå,j ÿ®¦ÏÍß%0áâ@…Uxî©«« }æ3ŸùGI’¶RJqêT?’I­¬FzÖÏÁ «W×#“(ëÒÞyçXöüªcÁ6 VUm¼%—˵&&&„ëñ:ŠrdMbÀQ¬A_ažO 8Òi#g"Иinà 77¦*F:[¡.R•-{º|ÝšvH^×RBHöv²“Ü!z.ïw °` [£1¦[ë–-["ßýîwÿ¬µµõ „yf&Ž7Þ8Œîî+Î<\¸pr”²ÈY–Y-¯kQ•ìÅâÅ‹¿€LOÏ ³ó"7—¬b)4MÇ•jŒw5@ÊÀÀ4tÝ„Ëå’÷ìÙÓg7)‘mmEÖb0jžƒ‘¦iéÑÑÑŸÀš5+áõzlÖRñº}þ|7ΟÏÔÕÜxãËwîÜÙÔ××ËŒPÑoB$45E²®l††ÆJp/*µV$c›‰(eçˉ(Y`’¢ÝÝÝ:r÷Ýw7®^½: ÈÅRpv°"‡½‡3çððáÃc°ãeQź5/T0i 0¨Ï=÷Ük“““û`÷îY€âýGø„Þ©SøðÃ3€åË—/û½ßû½û/^¼( 2B‚ƒÁ;v´x½Þ{3`mÅ/@__支\¹²¾¡¡!È|”Ò À\ˆÏï÷‡¾ò•¯ü•Ûíþ”u­ÇÆfKˆW Ÿs¹d¬_¿’D0;;k>÷Üs3¦iòÒ(–­HØ‹dö‚V0{‘‹m%IZ33³%ô¥‚Rê(DÖ´ó-,s gôœy`5;¶X`Á×} 0 ³´@%Êž.×F÷:b0ìš%-ö‚2KaÁÅd9‡U¼-,¸È1Y`“|ôÑGïxðÁÿ‡ßïoÏdzúñƇ0=¿æà‚_ÜœÞì¦ÅŠ ŽŠe/}ôÑ•.—ë!øðÓyò• ݞ¸Rñ¤èº‰ÁÁLtÓ¦M+êëë#¨àC¼EÀ©Ðu¡`mØ¿ÿ˔Ҕ¢(hk[S´€šÿù½÷>ÄÈH¦Ëñ}÷Ý×jš&€ºº\.ÙÆI*ÓÀå’±tiFuñâ Ó@Ó¹s7ÿ³(蘀iš$‚º:wI£³³S×4lÙ²%pûí·×ÀððLÖe¬¸ƒ•å411¡ž9s&&€tV>ʃ ë~¡»5;²¦i&Ÿ{î¹ÿ®iÚ¨,Ëøä'o‡¢(eeñ­ß8qÇŽ²ìk¾ò•¯|~çÎPÉaö¸ýöÛ¿NñjšŽÞÞá¼5Æî» Œ#Ö I¹óÎ;W ß—-4÷ð‡Ãáú¯}ík ? —.¡§g¼Müܺu ðù†gŸ}v6–A¥|Çð³², .åQUÀ`BHdŒår®´%ÛÊeM"@"b8 ÷òù5è›Û¦5-0|>Ÿ›.îÕü\³ý@ªð1R²§|ö¥èuË`¤¸E.'Ê:9Mg­cYà`‰ °0¶Œ€DKK‹ü½ï}ïokkû’$…Òi ï¾{Gž†®— pÙïŸû]i½0¬<qµÎ€¢’ÑnÎǼµµõUUqæÌ9G QŒpf;È}Zommu?ðÀõ–öz®¡žÝ^˜yìõ*hhð[ìÅx6Ël·³÷v½®x0É1Y¶I¨¾¾¾‘÷Þ{ïo(¥F4Æ­·ÞX6¸°ž;s¦ ï¼ó>4M‡×ëõ}ö³ŸýÌã?¾7.bE„=î¾ûîÝuuu_Ì0 }Ð4£¨£Xf,Rtu 6oÞ¼dÕªUupáX±bEóW¿úÕÿ‡ḭ̈$ãèè™'¸–/ç®ÿ¯ýëøÅ‹ȯKäeQ"‰Ûÿ¢Ù‹œ ˜âË$mt› ŸX«ï<$O@±: >q¹…å–ZÁårÙÕôÈ6ìÅ5Û*P"U}²§r;ŒÌ`ä ¶ÖÁà×$?Ø: 63£>øàƒëŸx≄B¡Ï ##“xíµƒèë)9 /íùù‚‹ù|Vnã†m+J£T®<*·AÜsÏ=uŠ¢< 'NœÉÊæÏ8‰R˜‡…*ÏgR ƒbh(f±-ÌVŠ€dUXskCžUéÉ“'Ÿ@£Ñ0V®l¶Y×íVÕÞxã]Äãɼkרvð–$ ‚––(2™c˱ECi2«`”^¯lËbD£J¶«{Éd<òHXQ¢ªNœèƒaPÇàÖznÅŠ(!ˆÅbÚ±cǦ –F±àB䨴 õ%&¢òÀýêW¿:ÖÓÓó4´µ­B[Ûªö[ñ5ééÄ«¯ÀÄÄ4!díÚµ[¾ñoüþç>÷¹=Á`pQXDDwïÞ½ý–[nù Bˆ'qáBo ãqî»\¼8Œx\…$I䡇ÚX__œ,Ê pë­·îøÒ—¾ôƒÁõ}. Ä.¥:—E£>¬\Y8sæLêÀlÝ… AÝÃ^°µls½j«½È[t)¥Äî×åÔQˆ–ÖRê(ì¬iÙy[àÈûÿì\Éœ$ÒWýV‘.RÕ({*ç5׋afŸ›‰;»¸±d6+b]¤œšEål=ùêW¿úåúúú?&„¸MÓÄ©S]8{¶›cª \Ì=f¬(‰Ð U²9Hä;v|…2 }tª v¨´: B2ö¡n··Û·[Çã‚Ûí‚¢ÈÙçd(Jæp¹2¹Y–å;ï¼sí³Ï>Û±MdµÈÞ@)¥ÙsR€xóÍ7OíØ±ã˜ßï¿qÛ¶v\ºÔ_IJ¼°È:Kàõ×àž{nC àËŒ ººÆ ‚AY–ÐÖÖ—K‚¦é8uª³$VÂY¦S¸–LO'0<<‰¦¦:,[æÃì¬M39€‘ªªÒ/~ñ‹^ÇCR)Ç÷"•2ÿë{ø|.,^œq :tèЄ¦ivu)BˆZ*¸XÀq@Ph"g¿GÊÊÄþð‡?üÑ·¿ýíÍ¡Phë-·ìÄøø&'gl%BNìÆÌL¯¿þ6n\M›VÃívûo¸á†OmÙ²åÖ¡¡¡3‰Db´®®®qÑ¢EÛ !.MÓqèÐièºY£`}Ô›nZp8ìýÝßýÝ›8pæâÅ‹}‹víÚµvÅŠmˆa˜8sfÃÃÓ˜O—nBGA[Û\¿‹^xa†RÊ&ôXÅ€%MÎcöQíµ삜Ê0„Špn—Û¢YÏt”Ó Ï®#xFadßT·T×ÈFõÊžæk£[Ó ² ”³¡d4^"&ò‹DEvµyúá;vÔ}úÓŸþ+Çó)ˆÅ’8tè#ŒM_1pp­À·èÐ2ŒŠ¢ÔxöbÓ¦M>¯×ûûpöì$‰¬Í`)ìÀÕ©³ $£á÷zÝðxx<Ö}æÈ.¸\Ҽ濦i*»áSJ BH1ûPRëC®¥4}îܹïïØ±ãÆ%KÑܼýýCEê åL³³q¼öÚìÙs¢Ñ<¶ooFOÏffTPJà÷+X½º>W ýÁç²·‹IpÅs³X!úÙ³ýhl Ãå’±jU]]1d¦+àñH2îQáp˜€. ­D{\‚––:‹½Ð:4%`¬l6Ï\ð½D}‚®V"Êú®9©G:Ž=ÿüóóè£þ¢(u{öÜ‚—^úUμ¡Ü¦¼¦iâôéNôô ¢½}-V®l‚¢(þ+Vìd¿X"¡âСӘšŠÍ‹Q˜œŒãƒº°}ûjϽ÷Þ»ÀvöoÌÌ$qêT?‰T™ñÃÜs’$aÆEP©TŠ>ýôÓS©TŠ­»°"iT5;Gl ¦iNɲ ¯×+œ3å÷£ (EÖÄ[Ó^©ŽàeH$ Û©¹ã5¹¹*yŒT“ì©ÝšFùÙ)ÊŒ‹J&cÅÛøñt»QfáãFÞb¸oß¾­mmmÿ IÒ èíÂÑ£§‘Në.PògY#›±—Õ¦Ë#¤½{÷~²ŒR𵦽üžsçΤX,ƒ^¯'{¸s÷^ïÈ€y^ÿ¤a4NÓD"¡'“I#‘Hh‰D"H$Ôx<žL$³ñx|zfffbhhhâ†W¦€É¨¦D^Ó·—_~ùІ Nø|¾-;wnÁÀÀHÞ5sìkâñ$^{ívíÚŒU«š yÐÞ¾†Aaš&eîš<Ù‰K—‹°åwòΗo¥qòd¶mk…ß/cýúÆÆÒH§Í ÛXLʼnýPUÍ1ƒÍ)Á öâÀétÚ:·.öB-Â`,hÆZ°OXcAb@† ÀÕÝÝ=ðÞ{ïýíí·ßþ£Ñ°|Ë-7`ÿþ#e@³×6WqäÈ)œ>Ý…•+—¢±1 Ç UMaxx—. Á0Ìy1 Ös##38xðÚÚ–¡±1 IÊÔÌ%)ôôŒc``Ò1ÁTJƒÁ5kê ºA)ÅÏ~ö³™ÑÑÑŽ˜“#ǘÇybö‹ª–¾Â}D×õ!EQ …’Iåô£¸ úŠ–Û·[ÎÓÝ@T”™‹«ã‹j”=95Ù½æ:fvÃ0¸„§õdˆÝø1l`brAV.£K!ßúÖ·öÕ××ÿ'BˆÏ0L|øá¹l'ª\”îHeIi²AÀUã"‘ˆËï÷º»/abbJ˜%*¥B’dÙŸÏŸÏŸÏ¯× ŸÏ ¯×“ýy@¸Ý $IšÇ˜(5¡i<žLÐ811AÏž=kÆãq#{èñx\‹ÇãéD"¡iš–çîÃlPÀK4J©Náǵ¬ à˜H€fFúôéÓÿïÎ;ÿnñâF¬\¹==E暘‘Ö4Gw÷¶lY‡ÆÆ:È2,˹ õG]Èë{Q+QZ'oþçááiœ<Ù‹M›š¡(–.õæÓ¤èïŸDW×(L“–ÅÜ´¶Öe³æ“ÚáǧaßHedhW;cÍŒËÎ`@F^Ñê¯~õ«#ÍÍÍO¯Zµê±5kZ0::ŽsçºË¸&â¤a"¡âÌ™‹EäU¥3 üßÅT|ðAwŽéÔu“IpGg*'P 45…°xq¦cû»ï¾›8}út‚,ÀˆA,Õ^\õ±°·t:}Éçó¡¾¾NÈ$”×¢4YSþ³oÐW.à°¤´066–¶É’U\pY)L¤R&[y¯NöTêk®+Áêm-ÀQNß6h6™Ïâ³ö¤®®NùêW¿ú'>ŸïëH"‘ÄÇ111}EÁA%€ +㪪šÙâj @ ò•¯|åS’$m€÷ßÿˆËfdn·~¿~¿>ßܽÏçÍ;,Ð0`O)…a˜H¥ÒH¥´Ü‘Në¹{ëÐ4ºžê[·®Ä²eõäСCút¦3$D÷¼´AÔKäöSU ƒc1òŒ ~ñ‹_Ú°aÃÑ@ pã®]ÛÐß?ìÐð²xÄðð8†‡Ç P_¢¸‹%1>>-˜/îÎTln–Zˆ>88‰™™$Z[¡¾>Eq!•Ò01G_ßd®±Zñº¹Ï]´(€H$VÞxãq#ã³+2ÖP³ì…jP²Yë«=–¨d¤y ñÃþðéoûÛ"‘È »vmÅøøÆÇ§Ë¼&å×n”Ã(Ø}àœêò¾K0èAÆ  èêêJ¿ùæ›3°±‚çÀEÜ`ð…ÝÕÌ^X™þó‘Huuup»ÝÐ4­äxâßgòÛƒŠrG0èÉ&"L:22¢9ìñÔf~} 0JÉ< ûìÄÕ”=•ó6€½ŽN”áÏõBA:åü ÖÀg[Õó³ÌI;Ⱦ½Ï;oÛ·oÝÿýO)вFF&ðî»Ç‘J¥q¹R¤+ùþ+.X€‘ÕeRÁ¢c8P‰A©¢($ ~'›ÂªU-hoß$¼^\®ù-]¦I¡iT5UMCUÓY‘†ªj90‘NkH§œL‚4,›Sögëúœ??ˆE‹"ðx<¸ï¾û\O?ýt …†lf™Ï2; >X0KÑ«T¸™¦™:räÈSwÝu×?F"!¹½}Nœ8_Ø“3ÅbIÄãjɬD9ÀÁ‰aàƒÐD"3glÕrìq]. ­­™ ³»»;yê~Þj IDATÔ©8 ™TfLñ †c¯ƒ«±‡ ¾ fM·@· À¥ëºüÌ3ÏüÝ“O>ù7n·{Ñ'>±/¿üV…ìB€‹R˜ÎÒ=Ñx(å»þ]E‘±~}#$‰`zzÚ|öÙg§MÓ´Ö^Åu‹ÀÅ5 1´NŸ>}bÅŠT–%²lÙRôôô XðËk€ÇžÍ°wƒrþÿý"ŸÅŠkÉdÒ€ §ãšŒŠ­Á°“=•ZpuõeOåug¾„„ü¶1Û©×zl9.INƒŠB*dä/ÎÂNlî3ݘ³ký÷ÞÛ¸{÷îɲ¼ :;{qìØYPj^±€þJ¼ÿJ~–¢È¹Çñxܰ ×|‘)çöµ¯}m­$Iw€ÛíÆÎÛ‹Ž/J)•²º&J)ººz‘H$³ "H¤ÓZØK…~hà»&+€TJÃ… ƒØ´©7n”7lØ Ÿ={6…|kV>TQØ‹¹€€ÂÖcTS,^S¼Þ~ûíS[·n}¥¾¾þ3Û¶mÂÅ‹ýY Y§ìr±¿˜Íÿ¹µµn· ]×é/~ñ‹Ip‘$„$9!×’ ±Úþþþáýû÷ÿ×»ï¾û/B¡€ë–[v`ÿþ£%^·â ÌbôÊe7J’Nߥ0¹±fM=¼^ à?ýéO§ãñ8[g“äÙ‹ËÕ*µ¥è{ï½7úÉO~²Ëår­im]‰žž¾Ë²‡-EÖäÔho~…å™ûºº ÀèííM¢¸LÜt×7À¨^ÙPj‡qîVkªp`Â:¼Ù…ÀÃ,’`€Y+2˜t_WWW"N³Žg¢ e/\0 Ê@;}W#‹‘+J~饗þéñÇ¿]Q\‘›oÞ7ß|—'g*•Xàp¥¬o ¾Þ%K2úûÌf‹{ &ëÏ›üáÔLm!{_”ÊbØ1û2ùwÞ9¾råÊ®]»öÉ•+—ah¨=˜o1öµ”N•û]šš‚¹fzo¾ùf¼··WE~[¾Ç.ŠI£òÀE•²9ÀljDÖ¬[·ï¼sLº³h¼reMöÖ´¸,Àáó)9‰Ôùóç6ƒ7ºákr«P‰T)™…Ò_ÃÓNvôç•zM)V»Ù›$nTxpÁÛ J(tP²nU'™(¶‘ü˜Ûp>ÿùÏ/mooÿ¹$IL“âðá¸xq°æÁ@àñd¦¯išˆÅbú<(ÓŠ#?úÑ&ܦ)UöRJCBÈvÞ%„D}ôÑû,pqüøœ:u¾`M¸òñJq¬¢8{v»w¯A4•öìÙã{õÕWs–,ÁƒŒ %|¶‘·Õ«<óȲ“‘êîî¹páÂ?nذáß777aݺVtt\ÂÕ’3-p(\8e°3Ìž kÖÔ†††´ßüæ73v •c/ø¬µ­æþ±ZvR©‚zŒýèGÏ~ç;ßÙFoع³##˜c¾ÅØ—ÃnK‚^©ïâó)¹fz.\H.L¼ûîqôõT!¸À¼¾‹Û™¾ªªY):Ï£â7 &Í£?üðMmmm›àܹ.=úQEuïžUÑÛ;––ìÞ½;püøñ©¡¡¡R:Ü'ŠdÙC¨›®ô5À©éžuNžyæ™_üáþá]¡Ph÷®][ó‚ÈRuîóe%8”ÚWÃ^ò•yÍÚµõp»ehšFŸþùiÃ0ØóÆ;%lX0–Ó+ˆ£àI8€!›¦)?÷Üsÿä“Oþ7—˹å–mxýõ÷˜óxu…«Én¬YSY&ˆÇãæÏ~ö³YJ)ËV©óµTwÁ3ôæ‹/¾x¢½½½CQ”µ[·n¦ýýC„c(ÉÜA¿¨Î˜oE±ÂrQé©$͌ӧOÇõL—=6!£sI,^S!UÚèÈ_´…=•ׯ4Ù“ÝkV¯nDkkZZês‡U˜ÛÚÚê»é¦›víÚÕ´sçΖ;v¬Ûºuk{{{û 6l¸eÓ¦MŸþÔ§>u_6›ëc«6CÁ\çk ÞÍwžc‚g/än¸!pã7þX’¤Í¦I+\ð‹Pi£¼ïâõfÆÌÌŒ‘ݨEj§Í¬øMBáÖ|ðÁÝ›7o¾.^ìÃGòÖJèÞ ÝÝ£PU ²,“Ï~ö³ Ùy&¥Ô dðEšqA°h'o¨F™ "sµ¦iª/¾øâ5 cZQ\¸ãŽ!˲m³¹k/gš?+Qj=ÉŠ‘œûõ×_ [MS"pA›Š .™¿Ë÷ÆÐÿc¢··wèý÷ßÿhl¬Ãúõ­W•Q¸šìëöÊ+¯Äc±Xš;'¬¬’Ö}-×]ˆÖÃ4M}xxøÇ°nÝD£‘ËîG1ß:Šr!‹gš…š¦‰C‡Í €…Î0â:Ÿ„»Ö{‚T‰££ZeO¢…Äšf`z:‰éi33ü‘Ê;fgS0ÍÌx$)À€ ëÞ’N± ÃÅŒš^¯×µwïÞÿ.IÒ-päÈÉŠWÃîÖYÔb FÅ~•»IÐ)¥¹ ãع}ûö‡```¿þõ»¹ùâÌ<\Ù: ÑûøÏÖu. š››}»víŠX‹~Ág EA¢¨1VUõÄ@~óL¾>%uáÂ…?üðoІ†(vïÞR+Q,3\y¬D)}5êëýhnŽNž<™:|øp ùd"y ™V‰À”lr„5Èû_ùË_¾366¶¶lYŸÏ[1õWŠÝ$ --Q@GG‡vâĉ¤à\Ø%&Du\Ž×¿ŠÙ aÒâ…^xÉ0ŒaI’póÍ»Pº=,J®£à ós¿“e --Iܹsç’Ù:+›ü¡s×öšJ+²caeO¸lÙS9Æ­ÛøxçΔ¼hmÙ²Á ¦i*Y`Á$v´òYÀZk´‘WwñÝï~÷[.—kœ:Õîî2ú˨p^o®¡›Æ'— asÂJ„4×ý÷ßÓŽ;~ßãÓӳؼy=ÒiÖ^VËö¦Ð²–ó©³@ BFÄzïØX ãã144±gÏž¥gΜšµ•A\ Ë7Dãõ¶¢k]M]ÆZy饗ö755ýtùòå_X»v%¦¦b8wîâ5-².Õ·t—+Ñ÷œ{.ô`ݺ é?ÿùϧ¹ñ’àLBHUJcо­ä™•Hsp½øâ‹ÿüä“OÞ (®ÀæÍkpìØÙ2úÊg7–, Àã‘a²u\º ë™\w'öª&ú]8¬'c||<Þßßÿÿµ´´ü‡õë×âÔ©³fzš]­Q¬ŽB8 ­iq ÇÜïš›£–[Þzë­YöQâó@Cÿ`³ÖÀµq„*Möäô÷ _c÷9/ZÖ½`X‡Ú€‹ša0DìÅ׿þõ>ŸïÏ ¯o'Ov^µ€Þ>ȸúà"ã.‘™¾cccš\”ÒõœVðæÀß2€t[[Û]„ÙzñÆk?Ìê{aYÔZà#Ö iì}¦Yž¦YMó †)§\Ìl\¸0‚hÔŸÏçÚ»wüä'ã J©A6Fã€[)ÕK“s½]Èøþ÷¿ÿ¿¾ùÍo®ŽD";wîÜ„DBE_ßðe°W8”.D’/ŸOÁÆe‚ÙÙYãÇ?þñD:¶‚FÖ-hsÖ¤NÙk¾‡ŠYÁk0øzŒ\MFOOÏà¥K—ž]½zõ“«V5ãôén¨jºlVªRÙ¦¦œ?=::švb<9Iœ\h¨½º áÒÏî!O?ýôÏþàþà·Ýn÷Ú={î Ï<ó3èºQ„Å( pðcĹ#8PJGð@Àƒ+2¬Õ|I"¿öŽï¡T¬.ïšì 0ˆ}Ûjþ »m Sê b9®¶ì©<Ýâ€È €˜¦©PJ  BˆÉmÌ–~YBmÕ`ä »·mÛæ_´hÑSÜñx‡Ÿ€Á«.®vpBÜnWÎ, »éð€Âɲ®Òµú|aw®éäÁƒÿñ†n—e¹A–å¨,ËaY–C.—+ ˲O–e…ý I"ðxÜðxÜåfQafpèH§Üc €ÌÝ›ÐõL'o]7a´`ú©ª†K—&°zu#6nܸdýúõÁsçΡ°/b»q85Sªš@ÁÆ=ˆµ¬up¥Óéø~ðƒ¿úò—¿üW>Ÿoåm·mÇÛoÃððø‰+“`³¼5Á`ˆØ‹½{÷þ¡$I)¥8tè4M¿.Á@à÷+ÖøÀÈÈHº0Q-,Ï`äM°C‡u:tè¿!ßÂ6@ J’T%‡ë@ÄçóE|>_Èëõ=O  ÚÛÛ+Š’«=ÓõL·nEqå9½e:%Ëp¹dø|ž2£Ì¿ ëf€d›0M”RBÈÞ½{·tuuujš¦QJ5n“P+k(Ø0jD7Í’l'getttü§?ýé_ìÛ·ï/Ýn÷¢={vƒÿ·I­‰C³k€¦iô'?ùÉ@ÿ,òeQ|¿Q€™D¡5m¥³,È`eRlÒÁb¸Üããã““““ï644|jÙ²EèíÆåÕÓ•¿Ž—'—åß'îíf »“ɤÙÛÛ;ƒÂ^Nµj‘ë^uvöóÜCtÚk¯½v¼µµõ‡K—.}bÓ¦62::Ž3gr=“rnRbkÚB–AdM{%:‚·µ-F à†išxñŧUU-¶7¨E@dÍI¤ø9|ÖÁ¢7½|š¦y ƒýJ–=•ÓaÜ 49דFZ°XXà‚/ò®…­6.yä‘ç{ÐÙÙ‡ÑÑÉk.ø…cþEã—÷þ@ 0¦§§uUU…Zü,ËUM ¿1ðÏÛ¾‡RJu]7u]דÉd*›Íðx<áÛn»mýúõë,p¡ë.\¸„³g/BÓ ´¶.ÃîÝí ”â™gž™Õ4úý~ø|>éÎ;ïôû|>)W‹%¡(®ÜaÕÁð,¤¢ÈPÙöF£‘Ý»w¯8pàÀ„…ÛÖ¢Åùµ”q°¬£”Ìdï”®®®Á^xáÿ|ðÁÿÌívבÚC7MÓè3Ï<3ØÙÙC¾<†•Ȩ˜ëy¡¢´®ÝÕ&Íܺ799ÙÑÐÐð©ÆÆ(>ó™Ûkj ÌÎÎê¦i² żÞ„Ñïx›Ra}V¯%y5nßÿþ÷ÿ×·¾õ­ö@ °óŽ;nB"¡¢·wÀZ½©•Ú,¥Ž¢PS¬#¸päÿnõêF,^œi ¹ÿþXGGGö²Yv¾óóœ5׃À„èðð¥Ói/ŸªlÙSé¯)ÌÌMì¿lš¦ ç(VkÇj)s2‚ì9­IyÔêÕ«ÿ=*•Ɖ®¸¸üÏ*5ƒæü| !ýö©ùŽ]!p¥& ûxp—@Ün·ò‰O|bó 7ܰÃï÷û-Ƨ³³§NuBUS¹îÞmm-€®®®ôéÓ§ì9jjj"Û·o˜¦‰£G;òº‚‡Ã~¬[·‹…Ù9‹sçÎ}}}ÔëõR¿ßO}>Ÿ™½‡Ïç#”R½§§'†9›i…™Çì|®9g¸H¶ÉšÆ'WΜ9Ó;33ógmmm›u]†á×uÝgš¦ß4MoöpSJÝ”R…RZÍç ¥ÆÆÆT.¡ÄjðSÔl'x>Ø`3ØZ¥óØ`sýrëÀÐÐÐ¥µkך¨PwÌ˹k˜?;]+ö³—Å`H«ªšxúé§ÿÓã?þ·gå=÷Ü7Þx}}ƒe×Qw_^GðU«±bEÆ5êäÉ“êÛo¿=B—0–¥âM@ø6‘pM€äBy“?ú£?ºÅï÷€B)%Ö€PJ‰iš²iš.BHÔzÓÍ7oƒa˜LPU¸Îˆš^ÙuÜùÖÛ5Í*ç3ø×'“ituÙ»çì@ƒÈ`¤¸Ÿ-›ZùŒQõ¢ŠüY.=öØc-Š¢<gÎt#Ö¯kp‘q•ÉŒ^%ª½0ªÁ@ö^*òÝ ä—n·Û}÷ÝwoÞ¶mÛ]>Ÿ/š ú).^ìÇÉ“‹%ó²PK–Ô#ÍR¾ûî»–[G.ówêÔ)lß¾= ù ù§rSlv6‰>¸ˆººÖ¬iB}}’$aãÆr(2ßzë-­££Ãš·–¤eÀtvcP¬9L)uBÜÈïoãâæ¶iÍ‘Î<²R)ùÒÐ4­¿¿¬¿¿ÿ}Ji™îîad:½[Ò9ËÊ[©b fr‰d¤Q¨Ãæ«Ë®Vç RäÀ›o¾yêâÅ‹äóù–†dÓ4ý”R¥Ôg𦀛RêàÊÐJ&¥ÔM؉X<§óV«ÀCÔC) Ý××7öüóÏÿéç?ÿùÿÛív/½÷ÞOàÀ£8¾Ûz)EÖäÄf8³ù¿“$‚uëš°lYÆ‚úÂ… ©^xaœR*²,ç]âœ:³_sWÁe0ÀK’ôÙrÞ¸lÙâªÑ##1Äb) QžÕÃ`x³ƒÇê¡BÜ£Ö²yåÊ•_àN¥Òèìì»jR¤|Y9àBQdx<ùMʆ­0ØŒJ¶25™0?`‘cH !.Çãùô§?½kãÆz½ÞÅÙà ==øè£ó˜™‰ ‹ë¬]CCCéÎÎÎ8ò¥fggg2‘H,öûý®¥KëÑÑ1X`o;5•Àûïw£¾>„5k!ñ£¹¹YúÒ—¾äéííu½õÖ[èìì´ØF TxøƒRêa@ 4ø‚=ÓªSª Át÷f¯¹@_¶l™ü¹Ï}î‹”Ò]×=ÙëëºÇ0 ®ë^Ó4=†a¸MÓôdÍ1J©‹R*QJ«v]Ì6g4!FGGÇhww÷ 0²ÎiÊhy Ëj-î%¤x ÜÖÖv¯a^]×]étZÑ4ÍJ¥¼étÚ«išOÓ4¿¦i>]×ý³e†OÀl¹³cÃÚ7+X555ù ! !Ä+I’_’¤$Iª$Iª®ëSÇŽ;aš¦HŠnw˜¨mV”g1,y €rþüùþgŸ}öOzè¡?÷z½Íwܱõ8räÌŒ} qª£àAEé úò‡×« ½}9"‘Ló̳gϪÏ>ûì¸aN5V1\$P¼ãšÍñ…®Áp¯ú‘‘q#`Ï@ˆŒ¨Äï#%2vï§B6CüÙ²,aÉ’ŒðÀŸX½zõ“§Ù½½ƒøè£s˜ššE~-ÕÜü«« aÉ’À{ï½7 A³"Ó4ÍŽŽŽñ­[·.±†]3¿ÉÉ8ŽK ¡!„U«{±bÅ ù‰'ž÷ôôxÞ~ûmtvvªá勊3ù ÃÊ`ÖÐ@¾LÎ`<üðÃÔ××ÿ\ç·mÛ¶Õýõ_ÿõ ò;øŠ<ñùn¿ìZPm’€lݺõ/eYþ]||+¸E£Qòú므³$]Æœ´Ä$qjŠÅà¢^C*×… úþõ_ÿõO÷íÛ÷ïÂápûÆkÑÔ´¾±±I[‚·¦oGðeË¢X»v E¥Gމ½úê«“¦iZ€· ¶Þ!.Y‰àbÁ k¿Å¡C¢4+¿…|M)–…¥XÎ=çv»r£H @•oµ›ÁÁf7Yö¢V @ºçž{î&„,€îîë\‚ÀÕUUåƒÝæ16*JÁ~ÆAŒ¢PÐjm .¿ßï~øá‡ï[±bÅ×EYm‹¾¾!?~Ó6™£¹!¶~}+ÉtC?qâÄ ò;ç bOž<9°uëÖ%Á á°³³jÃÅ~üÄD““ 46ÑÚÚ€`Ѓ––ÏO<±¼§§'ò›ßüæRGG‡Ê€ /2ÒÇbšypŒŽYK@æàÛt¹\~ÐucccóH •ž8ºŸkŸø*=9ƾÇå"p»e¸Ýn™ºHèEÀE5ö= $BÈ’lbš¦Á®ß”ýGØ1D¥¿Ö>1Yþß·oñµÞ+Ë™¼K0 cŽuÙ–䕞ÖòÍ®Ÿ’ÕcGyê©§þó¾}ûkiiÙ[W–öî½½ôĉs$WQNE)€# `ݺ&D£~@*•2ùË_N?~|†a#Xöb†œqEÛ/t‘7OÊâü…q„BI¯)Ïí‰8 Ñ¢RªnnÕ¶‚"iTM ddvŸÍl3ˆÅ ЋݡÊ’$ÁçSxàó¹áv»àvËe „Pš±0M§ ¨ªŽx\C2©R”ÜE<ÎŒÞÞ^Õ&°‚’@FÅ\tÏ7ŠP¸C¡wß¾},Y²ä;.—kõ†¾¾!|øáiŒO9\[Öê׋+–Ž92e+1ɳ†íèè˜M$ü~¿oéÒ:ÌÎ çx~! 0>Çäd A¬\Y‡@À–––àã?ÞÞßß¿tÿþý§ÏŸ?Ï×ViparçÆ®á^­0y#+Âôô4þçÿüg")ËKÌ‘™ƒÖcñëᱝóg‰^SúëJù¾½Xµ*l±bl¥QdÎW£ ™U¿‰“'Oá•W^åÎ{Oæù;§×+ö÷æ®mfyc.÷³6on„Ïç‚iš(\¼ eïÙõ¢Ö#¨ ‹‘Çꨪ*ýË¿üËn¹å–S·ÝvÛ~¿éÚµ-Xµª™^º4€ŽŽ211ÍÅ΀ƒg8$IÂâÅQ´´4¢®.û‚É—_~ylrrÒb!ØÎìqö¸™åÀ…]wÍ2„_œœì3øv.MWÛÊÉí‰ ‰$‰@– ì¡ÊVÌw³óº·…¬vdÁœI’d—˵F\̧8œ‚@ÀƒHÄHćPÈ¿ßË*•zÓuÓÓ*ÆÇ˜œTaš°ý0pñâÅŠË!œj0ªXä‹h4ê{ôÑGhhhøCY–7XoèïÏ‹‘‘ cao±n] $I‚ªªÆÑ£G'!SJÍîîîKíííššêpáÂÄ_@†Ò9 ÑØÀŠQøý š››ë}ôÑÛ†Þyç£gΜ)Ö$‰=7üõ® Á°`þ—ëɧ”À‰o¬YŽ»Pµ&œ¬ñ Ó¤ ÄÌÚ&—A–¸ß±÷pøÉA6É/1§ÀÿNÔë2ÿ9Ó$ „fÿ¥$ÛÇ*úe•K„›þù¿³fv¶–ÄJBZ*Ë&ü^P³ÃÁ®–ßWØ&®Ç?øàƒK÷Ýwß'7lØpÛí­^݌ի›éìlœô÷bdd““³Ð4£ üâë4¼^êëCX´(ŒE‹"p»çÂí‘‘‘Ô[o½5~æÌ‹5çm§ã À`ÁßD“ï“TQuV Í`PzW³É¨Ý|^#b'DëÖå6ŒŠ+r=˜R:ò…/|a!¤Ó÷âÊ€ ~a(\HßïA}}õõAD£þ¼Eƒ½išfÆb1=‹iÉdR×4Í0M“ʲ ¯×+ƒA%‰x=ìrIhhð£¡ÁM31<ÃÐP<Û:>„Ã’©¿èêêš½=€Šì)¯i°Q"°ëêêÜ?þøÑhôeYÞÈ‹>8•­ïrb, €Û­`ÍšfÀ‡~8¥ª*[$›×G «s7N:u¶½½}ƒßïÉʤ’¶Ò+Ñß§K`bBECƒÍÍaøý –-[ÖôÅ/~ñ3CCC½ØòäÉóÈž·¡ÔÐ`tÔ´ö—ºòÏ ‚µ@˜]ÿ”j”FåýÚj6ͯ…(HH–s3MÓE)å%ÔnBˆ…}tÔN­f©,±yçAUU¼ð ¯ƒÁ£wÝu×­m"ÍF ¼IDATmm7ƒÁÆP(@7l Zaš‰„Šx<‰TJƒ®g¦–$Ip»x½n^¸ÝJÞõÌÈwûâ‡?}úôŒišlý›Ô²Š·sõYY.’ ¸5b½æf¡k0ˆ(;_ù²§r^“Ï`;-åu/yÕÚFLHMMMÛÓ4199{EÁE©V}>7êëC¨¯¢®.PÐX Èh(‡‡‡ÕäÀÀ@rpp0999™Òu]CaŠÜf/Ë2ijjò®[·.ÚÖÖÖØÔÔT§(in£©)ˆ†‡¹,!‘H¦'åððp2™LÆ!ö¼ç³àz%1¥‹††Ïc=ö¹h4úG’$mbÅûïŸÄððÇXv„_Œ½zu3Å]×̓ŽrÀ¢§Ù\?{öìt2™œöù|‘¥K£Ù: qþûF#‰ÉÉ ÐX¾<ŸÏEšššZ~øáÇ>ñ‰Otøà ó!¬v8is­íôö&j³üºNÀ8ìv{­Rpq½×ÈùZM/³'xoo|]ôÖ±a1­Ž­·Æb1úÒK/½I9ÜÞÞ¾¶½½½}Ù²e«‚Á`$)ô!ôý†a˜###‰ÎÎÎé>úhrttTE¡u. 0øNílÍ…\8vï¾ÖóÝuõÖ‚½Ê”=Íç5ðÆo$ÆÇÇõ¬F–Àm·ÝX¾|¹»\`Åü¦C&Ú®YMܼ^ïzˆÅ’0M¥I—æ.2 …uuÔÕeX ŸÏ]ð½TU5úûû“—.]JtwwÇ“Y0aWd-ltgíïïGÿà[o½E/^ì¿í¶ÛZ7mÚÔª(Š«¥%ŒÆFººfLêY€‘ù>]]]“(l¼“œme)gE‹E‹yyä‘ߊF£ß“$‰a,qìØ‰°°«"êB—Ë…@À‡uë2õÎ;71===]¤ùÅ=‘픚“Iõõõ}´nݺ;–,‰¢¯oé´œ«a Ÿe'3@CÅäd õõ>,[€Ïç"‹-ZýÀ|õ¶Ûnë8tèÐ/=zбӴ 9-àc±Wi‡ëMªhXßµFƒ!:Ÿ8Ï)@Égk"áT‹càJ)·É4³.ðntVÝf-Õk–:ÉŠ þu&ƒRjœ8qẩ'zøêëëëW®\Ù´xñâÆp8ñûý~EQÜ„É0 ªªª‹ÅÒêàà`¢¿¿?¡ªªûz^–›Ûƒ²V´qTðÎQ|«¯\h›Z€¢¸ ú±î;vcܧXMüœ…vOOO¬§§'ÉdªéöíÛnÖÚ¬T`•}Nc“*ÈTWLS•+=†dY^ d:#G"!ÄãI†Yvs=>dY‚×ëF8ìG8ìG$@$"–<¥Óispp0yñâÅxWWW¼¿¿?¡ë:úDí@† ’‘‘‘éçŸ~äí·ß>¹wïÞ­k×®]å÷+dÓ¦zôôÄ ª:E²ãAd´™IÁ¢£:d·¯ ƒAÄ•p¬ÖµdÉϾ}ûŒD"ß“$)WcÑ×7ˆcÇ>ÂÐÐ(7 Y?Y–á÷û   ú údî=ž¹J)}÷Ýw/f3CÖϺwXç5·€Ÿ>}úàºuëîðùܸýö 0M MÓ¡ªTUG*¥çîÓié´™•ºÙƒS LL¨˜šJ£¾Þ‹¦&?|>™444¬»ÿþû×ÞrË-ç9òó÷Þ{ïDh¸‘@¤˜{ö6¥Öu'à¤SÕ2>¾ån%IãP[ì6ùø«8 Q‘·“!Ìu1§Ã,r©``Î :M)MMLL¤&&&&‘ß*Àîü²Ú—†`° „$€$!„‰"{¼ÐƼÖö«Â`¬^½«W¯¨ùÁœEœ1`H’Ô ~„ÃÛyÍ×{X¤$Iin€ñ´˜¨;kM€ BHD£!ÜsÏn†x\E,–D<®BUSH¥4hš]Ïd’3ÅrgY–árÉp»]ðxÜðzÝðùÜY‡'\.q¥T*e «===ñîîîXOOOBÓ4‹¤Û€ ''[€aÜ3?øÁƶmÛÖüéOú¿ßhm !•Ê–ÍÎÎÆûúú¹ ˜=X0ZI µhiiñ~þóŸÿíP(ô=I’Ú¬ »¯¯?Xd€¡ ‚Ù#»ðù6s$Sè LL¤05¥¡®Î%K|ðùdRWW·þÞ{ïýw7ÝtÓÙ÷ßÿÙýû÷gljΩH_lp›]Už²,£±±ñª9þÌçõ–SPè4ß¿É$²(ò™+§/Eòñ­j³ô"C"X®É™@*e¹ðAÀ^Ø2 „4¥Ô’œy‘ß‹Lqüç²qË8©„U4LÚ$™mhVʹ_P€¡iÚEQ>y]¤”4͘žžžÈݺÐét:  .ˆ”ºS©K‘%aÏbˆì,«ú6::ú .—k !$$Ë2ÂáÂáÀûº®›“““©‘‘‘d¢··×’<ñÀÀ \”RXmBx]_Äív{%I’ \. .—›a›aAÌàH§MhÅÀ@~¿ n¸Ý‰D"÷ìÙó'7Þxãé>úèé_ýêWGÍŒvÝùfZ|ç^ë¨ÊD4Å7¾ñõë=˜ä ;íXŒš¼­[·‹-bs—×£Düšù¼§ÜÞ'—Û/…Àë•­×PØx|\Ã’ŸP1À™¨wFNÆ”^J©ƒÁ[IÚ2„“äb FXPÁïéi.Þ0QF®¼ô©§žú¿n½õÖŸëºJ¥R~MÓr‡a¹Ã4M¿iš>J©×4MoÖ ¥ñ gwáãk9hÍéééäÌ̌ʣÉ_þò— ÊÿZ+øÉ“‹d–(¥RVA!f:N9r¤ Å‹{4Ñ «öÛ?ýÓ?ðh4nÞ¼¹­©©is0\ëóùZ<Ï·Û]¯(JP’$…"q˜¦IMÓ¤º®›ÉdR‹Åbé™™™ôÔÔTjtt49<<¬Ž§Òé´Î-,v>óvl…Ð*–éEaWx &Ø0!.ÊôôtüŸÿùŸŸyä‘G>¹víÚmpòäÉÓ¬®Ó"jUÔÙS¯pAî¿ÿ~ï¶mÛ¾¤(ÊBÖð/hh¨Ç­·Ö†a¨ªªN%‰©ÙÙÙ™©©©ÙñññØèèhbddD5MÓdMñòƒi<{Á3VÁ>LÓ$‰ Ý|”Ò ëø|¾H]]]]}}}]4 G"‘@8ö‡B!_(òù|>¯+‹”2É€± ì- mºí¶Ûþ|ÇŽ§Ïž=ûƒ—_~ùÓ4í:öÖDÆrvvöL(²Ôu{›œœœ`Ö|QÍMM±ØÜzž€@ #yüø6wK§Ó)ˆEöõ‡, Y ;€a ö|¾?’€‡’ë3’­qyŸ øŒÛ‰$ñiØË¢*Ò%îŠo8„  É—=üÙ# ÀoÆÙß=¼ÙCª–±‹9Ú‹×Ü[Zg6*ØÀ’ „¤ìg°ò—8—]emËøÎŽI*¥T¯¶… »È6c( H) e‡!!¯×u»ÝaY–C’$ùMÓô†¡èºNÒé4Õ4–±à3ÁN †èиκÅ$RŽ ætö9»Á{î¹çBˆüꫯÏ^[[øÔlQ2;^â(ìú©0¯æBDæŠ%¤?ýÓ?ý'I’¾\l^™¦™Ðu}4•J '‰±™™™ñ‰‰‰ÉáááéþþþÙ±±1Í0 ¶¡T)(%&£¤C,b ìò$RܵR¬qJ) 0k™uXã×ÍÌk .— ápXillô644øëêê|‘H$ …@ è÷ûC.—Ë“]Ooÿåßþíßžg6¢R ¿+Âe¤„1ã¶Îã®]»ZÜnwC*•ò§Ói¿®ël²*À$ªü”RŸ•°Ê&«j”è„Ôøøø„¦i1~?°ÙxÙdºÚ\¤Øxâ¾ûîkkkk{Ì4M¿®ëŠ®ënÃ0ÜÖ½anÓ4݆a(¦i*”Rë^ÎJ k.n–$ÉH§ÓÉ·ß~ûD2™œF~ÿ„×;IIJ©q½ A- ¿çº¸½„í+âá~V˜µÝŠ .9™æÖn¨H;$*Ö‚z! 6Xc‹YØl"a6{ùv]Õ0Dn–I ‚`’×N»¸€È`3Ó(,öY”ÕZ¡·Ò*juQJåd2I’ɤU oT7ÄÅV¢ŒÿwL” b…¨èÒ.¨]#»±[à(¥î×^{í7È0],¨å ÅTˆŒJr˜˜Í~¤iš¦iöêºÞ§ªê@,îììëèèH¦R)¥Ô+Xä­kg­uE²üz“ä@;×,:šÕ´Ë˜“žÑl—vž^gÝ\\l «ë:&&&èÄÄ„hŒ„=K‹/ö-^¼8ØÐЊD"á`0ñûýu§AQ”0)›½dÿÏbzëj“IQôÈ‘#£ÙkSn²ÊUk¡Îd5EëM)u^U}{å•Wz_yå•ÿ'{mƒL‰A›1P‹Ìebζä¢ÚœëŽÑà˜ _I Z‹un-ws‡"ˆÝŠÕ`ˆFš{Ì>WÌ ²bûÛ,4Ààý~y™(Y›½»Š†Á#"=$PX€ÅR…º<;‹²Šj¿Àà"Íe xŸk€Ø¹e81¶#[C¡—qE:톕5q²Á,ûY-'ß…Z86®åbôÔSOýowß}÷9|øp¼»»Ègr‹w6û,²ß´#„™27ÇDkSÀÈ2@|a]…õMVÆ‹e*-kCv=ó2 HF¡¨°¸RjLOOëÓÓÓÓ.\`©ô\Æ+ ÑP(DÆ™ì\­rR›ìŸe»™böp{еI׃a†ùqZñ…ŸWh °™_¥HÒ2]EñD¹7Qƒ6»ZÍŠ³1­Am@¿*Ìš£ÀÛ:1"ð¯ï:œ%µ6•ÊLºh1ào œ ch  7V=ÀÈ_A­.&‘2™i• ~ìýôÓÌÿÉo€3ëd,œ v>š\VŠ×¾&¹Ÿ5`°s¶`C²l ¹„‰0$ÎÊ.Ük]épÙ@ƒc3Dk¯Ìı|œ&vCTD.ZÛ 8÷ΪhÖâj 6ðáO6¿³…™Õ 0x‰”` Ð§šEÂó¹"]^)YêZX âu{µB‡‹²Õlaª)ØPÜÙÅ”×ã–+‘*d”*œÀ…¨Ñ 6Ù±Àë=E²/b&M¯’@ƒ—/ÙÅ•ZcátmEEv¢9ÆÒòóJ‚3{Á&L›,—Sc<ÇP\=P±Îj$DãEö…›3Õ~3¹±š€ja-/wÕ¹yÏ˱ÙÚ k Ô*ÀбAÊæ¾&íìh°¦&ì›òë·Äìéà>¦Mb“:ŠjW`ðÁ¡h‘ÐP¨a“«0ã$ Hí2‰D2$î—¸,­Ðb½^­d%¬ mp—\(j×G¥œ ÔtÅ(M¨(‡Õ’¹ëëâ‚jÀ™‚5QyîQü5°»&v¥É¼R±k*ÒÀÚÍ/Ãáü±Ý±y¦Ö%H–¸×Ï d812,˜Í»ñV­@ƒ×÷;£H²ªV‚Kj³hà¸VöžÍ¶˜NûA- *H–ˆ‘NÅÿßl€Fl€[÷B£"xÎiÏ1Ͷ±A3 jßÇn |`hj§&%Õ ÛiæØóAlJâ0Jͤ¨]×À^‹ÍpvVq¢‰nÎd˜°g(Š Ñ‚ÁõJÚ.ˆéW»óf ¾'­ ë[ èé‚ ¥.ŽvŸQ d(Î<ñ×—„‹ÁktEëZ1y”›á&˵Â`ˆö¾“gƒk…Á°küéT$Z+żTlrüX¨U€a:$J4A2²Ö‘W l ò/¨½w5ƒ‰« 0øFb”ÙŒÙ@Á)ƒWm‹¿ˆî²,v,†„Bê×,!ø¸µ²xŠÀÐI‚€Nâ3R$¸5K¢sMQ"CQlá`èY§ÀÛ)SB÷v}7*LòܼöÞIå,JNï;–67€‚ì°Æ•ó˜ØdnEfºÍ:ÄýjJ68 LˆÖRCëa1fÕ(!ÙU­ÿ;±I8é6Ÿµz+7 Y‹ý²®àøøv xK7ׂw;EéE–"(^D‹µµÖ`ϼ‘À©gÊ’Úv©Ý9¿â´&çjaW”FÃòq%-üy|ÈJ¢ìÀa±ÇvÏ•rm©Ã¶³ŸvÒíŠE±ßpæÄ¶U{á7 2ød•„ÒêZj`”"ÿ+æXW­×ß)á¤ôµZƒagRb—„¼î-j?¾U1ÀØ~±úi»Éé¹j †íÛý?v`ƒ8‹vQ æ )!˜#6 ” K9®˜(ñ°›JS´ÈÏ•ÆMAe”X—Š»kZìú²]RÆœ.€#vIQðY¬¹c5­¯¬W½é0çËYªñ<8çbc¼›|0ŠôZj8Yln”’t©%ÙäÇ·ë`6ä±8Y¨ó]ý«¦  hí»RA*-óñU=ÏÉÔ匟J<(%@¤e‚ð¾b×Õ |”@ÊÎN58N¬\1¹Wµ˜NI©b «Z *©Ãsµ¸ÿš(4ûÍج×ÃX E;“oß®øíÿ74àkk¢íIEND®B`‚./chessx-1.3.2/data/themes/shadow/alpha.png000644 000765 000024 00000311731 10633464147 020214 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖsBIT|dˆ pHYs66Bï®tEXtSoftwarewww.inkscape.org›î< IDATxœì]wxEÿíÝ%—BB%@¨¡÷)R‘¦4¥I‰€ôˆ´%H/Š* Ò‹ÒLèB %!¤—+û~ìíÞÞíÞåiàþžgž\vfwfç™wÞÆ(P @ (P  ; Éë(P @Á›†a,þWk(P @Œ²(*Pà0 x™×P»°f$²e~U @ÿE¨òº ¼!ðp @±¼nˆ‚ÜÃ0ÖÌ“Å$<ãu˜ (P àMƒ¢"¥@cààs3ò¸- ²*õ€£q€{Dt/##ãÁéÓ§¶jÕÊ(*Ÿ·À‹-Äåˆg2©† (xÛ¡¨H)P9†øÞô;@éÖ…=¥V¾¹|ƒ‚†cýì”Ë ¢Íiii ÝÜÜn:ð\²ñ[ø_ (P àm†¢"¥@}X"ú¿(€¾ü?2*0vUfÄ÷(ÈSÔpÀX1OžžžŽ•+WòeÚ§¤¤@ªw/þ«²qÝZ7_ÑËÏ,àFD8p`–˜ Ðëõ9r$Î;Ðjµï]¹råpªV«¤¶JÖvÿUh¯@AþEzz: .,›< ¢LÝV‹ÿWlñ¼íP  ,¡°@¡´´4|ðÁHII2W¬X!¨Ó¸¸¸|©q¯ –J[†ÀŽH=dšè¡¡¡øóÏ?_é!:½{÷Frr2ÀÏÏo8Cœ4¦¿rÌ…5“!@Ùlä˜LÛ¤p o a.Äe§ ÞZ( †–X ΰ£GÆåË—-2Ÿ={†-[¶T*Uß‹/úÀÌTˆ7”¶N°í2ÊB“cè ÉÉɘ4i’$³lÙ²øá‡pûöm¤¦¦âÙ³g8yò$úôé#){ûöm,^Ì©ekµÚzžžž.´œE‰g2¬¥™1š ²ÞàŒùWÑr"šÇ²l÷øøøB™Ý˜ƒûº˜`=-&¢Éƒ¡ž#7+ÌFþ†IåÉÖ8p` [¨¼1%/Ó5OS™‚ pwÒÍ«ÒX0'ù ?Þ¦T˜L •вÿþd7nÜÜS¢D !?22òkÕTP@%påeø‚Û¤x™ÆGApîµ í³5Õ&¢;bº¥§§Stt4eddÈ‘Õh0ÂF­…mÛ‰´)‹mr'¢_å*OLL¤èèhÉu–e/¿xñ¢&ìÛô¼n»”d™¾“£‘iii6ׂ½{÷fv;±,{f)§X²)g›•×ý¡$%eKRT¤(šX€IOOÇ| èØÛ¯"Ã0ŒOHHÈà k]|k½|ëÍ‚M±¹".ÏVxñ?.\¸ É,W®œÝ›+T¨ Q_xòä ž?Î=ÜË«2¸ÍŸx5)kÚÛR‘’µÉPà0ú8 ÀO§Óa×®]èß¿?Š+†2eÊ@«ÕÂËË 7ÛÞ¨Ôjõç‹-úyùòåà˜Z ² ¢TÀið·ß~‹J•*¡@ððð@™2eP±bE|õÕW¸xñ"Lϯîååu466¶i&m‘´ë5úOAƒ8p[걊Ão%7µ þë.R·†Žï¿ÿ>Ó›†Áõë×áïïƒÁpÕÉÉ© dN£M`aV±N¬(YœŒ)ßf¶¡6€ó0jÔ(,_¾Ü"süøñX°`Í›àéé)¹ž””„‚ âÔ©SaMš4Ù 3 ¦¤—I|ž˜þbÕ9@¡}Vð5€)˜˜ˆÎ;㯿þ²{CëÖ­±dÉÔ¬Y ×ë7:;;±ÄÿmHÎŽÁd˵~ýzL:=²Û®Lœ8‘ÿ7åöíÛ-+W®|U\gfmSÎ+á;Ã=z„ÁƒË`YX‡=âP·n]x{{Ëæ=ï¾û.ŒFãmFó·nË}µõ{ÕwR  Ï‘[6_€[äFV>,": V«·ðÿ§¦¦–pqq™ 8~Å9Z¥RÍ_`Yö[Þ9TX–]«ÑhŽËÇ Ší/ÄÒaë˜r› {¶ äà+ˆEûöíÂöpäÈ´jÕ §N‚¿¿?œœœú=zôè×R¥Jí3‘‹aQ¯/oë] s†‘#G:ô2“&MBRR¾þúkp«P¡ÂO .l>~üøDØÞŒZ´M™4^ÉÉÉØ·o_æ­pöìY›yݺuã2àö[,ÌkÏhXC<Æ&ãÍ‚78é%HàEž¶(/‘KºXÛ(a4C!?¦¤¤TËÉúˆè¬DêDt?'+ÔëõY× ++å»7$U'¢ë|ß¾|ù’ $»x{xxн{÷hݺu’¼ Ћ/ˆˆ(11ñ€ŠüT§_ÍôÛß”W@)ÅÁMDž°¯“Ÿ›ßèÛž®>|XBG•JE/^$[èܹ³äžvíÚ ù}ôÑ`p†Åí´Ð@cp†Æ5Lô/náñg“ãÎG–îù ¿ò{R“iÎÕëõT£F »6Sr©B… CDDƒá®''¦ò0ц·•â¿Mk{)aþµjWe"2íÛ·Ôju–Û"Œ­øøøùàlwxû-7S›xÏeÖúüÊZõôÑõë׳L«ÌÒÊ•+É4Foƒ³É+ ³-o‹g“ŽÊ¯“ õ!¢]Dt‹ˆRIψh'Qy" «"÷Ö}·¹%ÁH8=Ô¬·²‡jÕªÁÙÙdÖoÒëõ‡y÷î]$&&fK}¥K—F‘"E¬ëD§H111xüøq¶Ô§ÕjÁŸ¸êõúTXžŠ–žFÏ"™ÃÀDp*Zعs'FŒ'OžÈÞ°bÅ ”+W¾¾¾˜4iž>}*䥦¦bÕªU˜4iÜÝÝ[~ýõ×þS§N}K`V‡a¬®ËbK¤Ê)V¶àwÍ›7G½zõ)d°,‹¶mÛ"$$]ºt222píÚ5L›6 {öì±xÃ0˜0aÀh4flß¾ý%¸±%–R ‡Ô³¿AeEe-¼)4Ï]”€~øAâNÚÇÇŸ|ò *W® ¸uë~øáÄÄÄeîܹƒ!C†`çÎP«Õå;Ö¦V­ZÇ`¦Oñi3O7[’ŒqT øàƒ`4Ї 6Ä{g²eË"..gÏžÅÆ-ÊÍ™3Ÿ~ú)¼½½áîî>xàÀËÖ­[—"Óþô›`y®H2òL{'X®<ÑÅ4µ¸-ר +¨`$€Á1‹™Á@7SúÀ~£ÑøZ­þ]T†ã:¬T`Þøo8—8™%DòÞX^'Ý»wˆˆt:Ý2ˆŒ+ŸL͈è*ߟϞ=£^½zÙíÿ¾}û’³gÏ–”)Y²$ét:""JJJºúí·ßöМŠD#p®)ëS P–§Ù^àN'ŧÙ(§XÙŠQ"ÑåË—ÉÙÙÙ&Ý ,H*•ÊfþèÑ£…1qòäÉ]àš¼Ψ÷]pê;ÍMô¯³Ã@QXJ¯ø¸Š7)ÇÓN"λOÉ’%-èÓ°aCŠ'kÄÅÅQ:u,Ê:;;SBB%&&î']ô'a”;m¶)ɸÿ¾ ¥ýøã’q3qâDbYVÒ®3gÎHÆã¸qã„üˆˆˆÞà\©w ÎKZxi¿)’ŒWK9.ÁÈÈȸ 4Ì^åx:º›èhol)óþH"šADz!66–6nÜH“&M¢R‡¨U«Vôá‡Ò˜1chÑ¢EtõêU²˲GâââªÀ~¼¬7Zº‘[}MDôøñãa0ÒÓÓ—Ã,Îv½uëV-žˆ9Ä`\2ÕÇ×é’ Fýúõ…ÁÕT\Ì¢U9·woì€ÌäIDß“É-ц ¨H‘"vûÞßß_Øxðˆ‰‰!WWWIÙM›6‰‹±÷îÝÛÛ­[·÷Á©Ê4ÐÜF³8&£¸ÓWñfÓ™¸/U™×Ny"íÙ³‡ .œåorРA”žžNDDiii‰UªTàcp¶<‚c2º‚S—j NUª8u¹ àTäÄjRbCQ“r<Ý&" —ÐèÌ™3d ÇŽ“”ß¶ÓàÕét÷ÀmK(éFPÌdHæ[½^߈¯ç£>²¨Ã××W7r;v¬EyJLL$"¢7nL6_pŒÏüðjSâyÂQÍtzRŽ3éééwøs]]ÒDG‡Ç–2ÿçyªNDçȃÁ@«W¯¦æÍ›;¬Y¡B ¦gÏž‘iãaÛÛ¤„ÙÈ}ápÊU)ww÷y¸Á`à]„JLLTçHE&YÜ) "Êv×râþzôèQ¸Ag=pņ£ÍTÄäø@(¸SI<|øÆ ÃÞ½{mÞ Ñh0nÜ8̘1 °ÈóööF¿~ý$A׆Š{÷îa„ pqqaÊ•+×aûöí­"""¶õîÝ{Ûƒxõ69õ(±Gµ(_,2'(F¯ †a¾aY¶Ã0}ß}÷]DFFâý÷ß—u]k FƒÅ‹ »ƒA7qâÄ%7nÜÐÁÒx¦ßpÞ¢äN¦l¹Uë4àì™$øZ­õë×·ycãÆ¡V«-T’öîÝ‹^½zA£Ñ”öõõ-ðï¿ÿê Ui”ƒ…Z’Z­éýñÇ6l­VkóAÍš5\_œ:qTTêÔ©WW×2àÞC™x dÚ$Ì3Êà8 *„ÈæFlÚ´I6/((%K–”Íó÷÷`±g°åäƒD¿åòä‚ìÇâ÷ßǤI“pýúõ,=äÎ;øöÛo±råJcüøñpsssqvv^ Óéª~üñÇ_lÛ¶Mo*.Þ#@ôWØg¾ ßu®2 ÌÝbƒÁ Çù³(>>>Gß‹eYÆTŸxƒŸíŽ«Å Æ•+W2dê»8•óJ‘ï`¡,€0îÔçûï¿Ç—_~‰¤¤$›75hÐááá‚ûJ9Œ;ááác855Ó¦MÃ?ü€… ¢GP«Õ.5êýúõw÷ìÙ³¦OŸ>û ¿‰”c.äG9½\0 Cü{)p ¦I™1 !NNNpòóóà Ĵ°…3fXxºsçÎåU«VEƒcÄß?Ï(ª9c¡àÕP¦µËÚÞ­xñâvzœœœàíígÏž ×x=†aÔ:u*þf[½èvñ÷iÍ2DT”¯;>>Þ¢ÞÒ¥KÛ}!___ɵû÷ï£N:pqq) K1S!Þ€ˆÛe¯@âýH‰%°nÝ:Ùrééé6ŒñãÇ£C‡vë1ÕÁ3Âe™¤‚̦ÊD^¡€ß¸èt: 26lx­&''cƌشivïÞÊ•+ÃÉÉéÓÍ›7—oÖ¬YßÑ£G;â5î8<È-#à>f777‹ f àk×®™>àÈ‘#6µu:f7‘”˜˜èdïY-Z´@áÂ…íÖwùòeܽ{W6Ït¡…h“hº& T©RÅn}Ïž=ÃéÓ§-®‰Œ£Gêa~G±á(ÿW aSjš@óõ ÌF¨Œçß ¢¢¢0xð`;vÌæMîîî˜;w.>ÿüs¨TöcOV©R;v”œP܆àý÷ßG›6mŠêÕ«ÃÕÕÕ»gÏž_¶iÓæ½… .š;wî5Øf.¬!Çd(ÒŒW„ÑhüD¥R-·ÐãܹsèÓ§O¦ÌÀ1)))˜={64 üýýëÞ¾}{b¿~ý~8zôè ˜7ŽH*Ä†Ý ³‘u§Ök“'OÀ²¬ÍïX§ÓYzœtŠGDD?Ïêaû$Yn3O0­srxðà­,‘prr*jj“¶Ç‹5ó£L "'´d –`UÛHÖŽzæ Ø @ll,ºwÿþ;Û~ûöm4jÔÛ·oG›6m ÑhÚ 6ì§ t‹ŽŽ¶Ž‘$Þ+¼1û»\•`ÜfNÌ`¶oßn1ÉË¡víÚqÄÐëõjpâ+o—Áøæ›oШQ#»õ}ñÅ •ÍcYV%®ƒaóY½{÷ÆÌ™3íÖ÷Ë/¿ gÏž×D íÛ·Duеñ‹Žr' o;ÊXÎîF£‹/ÆôéÓ‘––fó¦îÝ»cÙ²e6EÜr;v¬,ƒÁãðáè]»6†Žÿýïðòò‚———ÿìÙ³ÃÚ·oÞ¶mÛ-ƒÁžô‚/•‚ÕuaR¤Á‹ˆV³aáÂ…˜2e t:C`Y!!!8|ø0¶nÝ ???”*UªâŸþ9mÙ²eƒƒƒÏBÊT8Âdˆ¡l$CŒ)­]»¶…—/N‡¿ÿþ-Z´½ñèÑ£`YK¡`µjÕD¤¿pá NZ çñÿ^UnAD üïªU«Z¨Pœ:u )))pss“m×áÇ%×êÖ­ xòäÉ-S›ÄãÉ–´Óz|½'y‰§OŸŽsss›œ””Ĥ¤¤0±±±ªøøxUll¬ª[·nÃ<<}úØd.4h€«W¯âîݻؾ};¦L™‚Ž;¢qãÆøì³ÏŽÈÈHÄÅÅaäÈ‘²ë´^¯Ç|€[·n|||¾å—eÙœJÑ%¾ÿ=z$;¶Ä©víÚôÏ?ÿdJ‹WÁ®]»(00Ðnýh„ d0øÛØ[·nýX¾|ù†0»¯-³C>Ú7ï+Ý–Ï{Å¡eªLDgùNNKK£‘#GÚ¤IÉ’%éàÁƒ²tMJJ²åà\ŠÇ”Á`ÐmÛ¶í=À-TmÁ¹)„¥«Úb¦ïÕ^DoF¡¥4`>|X˜ˆâˆ¸oϤ*˜¥äää$¸´5 é­[·.†É;ड`éb¸´ˆnr±k4Cø±ðå—_f¹Müxä]dß¿ÿ4€ÎàÜ·Ð @}5ÁÅV)il±»Ó·uþÏŽqăWOâ™gÓ\[0..n*7‡Ø¢×Þ½{‰ˆ(::ú¸]ÁÅÃéjš:€óDÔœ^]pÁÚøØ8r1‘\DãJ™ßs/i‰(šˆèêÕ«².h+V¬Hׯ_§WErr2õîÝ[v,Mš4I(÷矷'(oš{ŠÃ¼'°vO-¬ù …”'6ÖSr»víBÑ¢öâÈ˯‹ÈÈHüøãvËœ?þ•žmOEJ§Ó¥ƒ›t °tS˜õ9ùHÁÖz¸o£^w €Û¨a÷îÝ8p ^¼x![¸@˜9s&ÆŽ›©­Ï«¢sçÎx÷Ýw†)S¦ØôVµ`Á\ºt ?þø# .ÌTªTéÃK—.Ι3gbHHÈmXêïD¿Å`­õ0Iô?ü§ Àß°¦«W¯^EŸ>}$‘žyôêÕ ß}÷¼¼¼dó ,ˆ5kÖ S§N:t¨`xËãÎ;hÚ´)fÏž/¿üjµÚ©W¯^Ÿ\½zµ|ëÖ­—=þ<öO-méÎ&z*v6R”.]:Á`0„ªÕê™;wÆ’%K0ḟïW©Tظq#4à<ËþñÇ?9r$fWàb[7Þݰ½g­V»Öh4öR©TïÌ›7÷ïßǶmÛnW‘"E°ÿ~xxx€ˆ(<<|7,u÷ùy^ñPfâƒ\¹ïF”o·¯(k þyâ{x{̤š¶$›r¶²Þ83{g¡¸Í<&Ož,‘,ªÕjlÚ´)S§=öàææ†5kÖàâÅ‹W·¡¡¡5j|}}Ñ AƒAN‚›tÿÖyrÖc# €\âd ó\™u"´k×®L¹>9 Æ«¦W•`¼jrD‚ñé§ŸJîã@ýûï¿×`;JpMpѡˀ;]+ ó)–ÀÙæ¦Px‚ IDATs+µ!¢x"¢ôôt=z´Ý¾oݺµC’®ìÄÇ©k×®vÛU¡Bº|ù²pN§‹›;wnopÌSp'¦ea®eùÕ:¸–˜‰èK"2ò}F...²ýïîîNëÖ­Ë]?~LAAA6iÚ¶m[ú÷ß…ò±±±7;uêÔÛô­Ú;u¶–b(ô´“Lý¡:~ü¸'˲‚¤êÇ$‡æä-ZˆéôÀÙÙ¹/¸@‰=ÀB·wâÜœ´¸ ̑ؽÁ1°Ö˜54QQQåˆ(3ŽJWš6mJ7oÞÚuìØ±ßôÐÜÜßœ£)¸Sðpl±dE.x#ƒ|v²ùš‰!"7"*ND…ðz3úrŒDŽI0üðC\¹r%SWÓpüøqÁ+aÁ‚‹”,Y²äéÂ/Øö<‚ñ`0… .îûEXXˆ2?LlÙ²%þúë/T®\y8((èQ›Ñ߇ÌÿoÊ`€;àNm“<OD‰è˲¡,Ë7 -cccÝa›^²ß–5†îâææÖÐÑFzzz–lÑ¢…',%ÊÖf[IÀ AƒœbbbÚêõúoY–=HDw:tèâééODIDt“ˆŽ²,»…eÙ,ËŽ×ëõµ}_ÞVO±Ù“À#(«©R§NLŸ>=Û*«S§fÏž-¹þóÏ? žî:tèжmoùd›ªÒyÜb0ô2€œ1ò~`ÏÈ;55UyC{ÌÅÛ†‚~ MKKC—.]lª£•,Y‡Æ´iÓÚläzöì‰sçΡaCù5*99={öÄôéÓADÐh4cÆŒYÖf&CÌlˆ ±1¡]ƒÁ·|) à/˜ŒòŽ9b±ÉC£Ñ`öìÙ8v올¡#`cÇŽÅ?ÿüƒêÕ«KòyæfôèÑÐëõÐjµ^ÁÁÁK8ð¤ßlV<Ê¢ ‚íÛ·OØ´iSg–eo\˲øî»ïгgO‰kÈœ@‰%pìØ1ôë×O6Ÿˆ0{öltëÖ IIIP«ÕnÆ [úÃ?4ƒyBq†Ôk˜xbO.bûáo>˜krD‚S9À–-[о}{ûì3ôíÛ'NÄÒ¥K±cÇDDDÀ`»ªÕêÐbÅŠ=bYöçôôôN3gÎÔX¿¤cXa48T€[·n!**Ê"C¥R öZÙ •J%{ÉÇöñññ©³ƒW‹æ“œ‡;k7ÕyŠÜ2ò8‘¦÷«J0zõê•ipýê_|1ÈÓÓ“÷ËaNð_ÞZ à˜}IF¥J(P @ŽTˆ­[·Z\»}û6ÀÕÕµp›6m|>ÌŸš‰¿s[L«Ó˜§ß~.|\"" —è~þùçŽYżÅðõõ•ôKLL íÚµk€‘†‚ *ל1Y8£±Úà ½KƒÛˆ›ïªÖ›ˆ6ñýc0hÞ¼y¤Õje]Ç}óÍ7vû÷Ù³gÔ AYý×?þ˜ôz}–iö*Ø´i“]£ÏråÊÑ£GˆˆˆeYý?þ8f׆5a6/N5@lhíºNÖX˜òž¶¯›> ‘1÷ĉmög·nÝ(555›¨g»wï&777Ù6T®\ÙÂÑ@\\\dµjÕ¨jƒ–…L´ä ¿íº%Φ>}çÐjNÏž={‡ïÛzõêÙ4Âݹs§$O£ÑÐýû÷‰ˆ(111ÆÍÍ­8£ê.àô±yýê°4¨Xj8=yò¤±DD‹-’ÔåááAñññDD4lØ0Iþ×_-Œ‘&MšŒ0@}Àm¼;›ÚÔ œÔÎ^›Þ¤¹%óïžœœLÓ§O§¢E‹:do++VŒfΜIÏž=#X½^^V±Et:ݾÐýû÷©B… Y®³`Á‚tèÐ!¡²‡žpqqikGúøøÔºsçΖe…E'%%…¾ûî;ªV­Úk½³›› 2ÄÂÙé322f6¬²<ò?6¿üKD´nÝ:I¿~øá‡”S8t褾fÍš ùýúõ› N}ë=pÎ'Zˆ¾ÿ à4€Zàüò‹cfXoLßf&£鈈ôz= 8Ðf?Ž5ŠŒFÉqDDDP±bÅdÛâëëK—. a[èÅ‹g*W®Ì3aöæÎc˜˜É{*úÏ3°b0ÒÒÒ&edd³³³¤ïùo‰eY 䋽¶¬]»v%8£«h1¯΋K%H7ó‚÷/ƒÁ°‰ˆón'w`ôÕW_ õÈ´uëÖMÈŸ7o^(¸Ã¤~à”ÄqUÄ^¤ø¸*¼Wþûæ~"ÚÊ¿³Ñh¤ððp*^¼økm²­“V«¥¡C‡R\\‰êºþàÁƒ†&ÚiÓÓÓ§ðy7oÞ¤Ò¥K¿r}...ôÛo¿ u]¿~}‡‰f ¾ýöÛRRR®ñy:ŽfΜI^^^ÙúÎnnn4sæLJII¿ó…B>*¼]F#Œ•œNZ¾ŸæÏŸ/éÏyóæQN!..NR_ÅŠ…üO>ùä¦y ¸ƒ ÓxªîÀ±,¸rDÿ3 Æ>"¢={öH:³K—.¯I¢7ƒAÒ'NNNB~xxø/Fø À'àŒnà@kãM–`”$¢Ýü{ëõzš3gŽì¦©Õjò÷÷§ÄÄD›}{èÐ!òôôthR¶l-'0yòd»m ‚mÅÇÇß-UªTGp§` MK€‰æå`Ü&Þ˜Z3ýLÊ{zg5µ&¢4"îįS§N²}Ç0 -X° ›)æîÞ½Kþþþ²íòôô¤cÇŽ ecbbN”.]º¤ £µ[â·’É€åFFHÞ'0ƒa;ÇàY÷yÙ²e-è³yófÙ (âûòåËGjµºl3¼;p‹ ‰QQQ•‰HODôÝwßIê(P =þ\hÇùóç%eJ–,)äïÛ·ï7p ÆÇàÜçv§.ڜԺ8æÔÏ4fx—Ǽ‹Ó,ßzZ¼FjHDwù÷=räÕ¨Q#[7Ùrý{àÀñpÐ%''OKNNžÀ_¸qã†ÍCÔ¸qcš?>­ZµŠºuëF*•J¶œF£¡ŸþY¨(22rå•+W¾K-®]»æPpÖ×I¾¾¾´aÃñ;g¤¤¤L+Uª”8h«µ‡Âÿ*£‘JD´`ÁI?.Z´ˆr )))’ú*Uª$äþùçóÁíûú‚“d¾ ÎåqpóRE˜¥ù*ÐrnV¶ˆèøñã’Îû$ÿ/BŽƒõòòò-Z´À˜ŒÀ1rŒ7•ÁD¦øDD—/_¦ºuëÚ<Ë•+G×® ‡A¬]»VÖÏ´­äïïO¯DÃWA¿~ýì¶§mÛ¶Â üåË—w;¹h“¨œˆTìKýmf2碑^¼xA7–í3­V+ÄÉ+¼xñ‚š5k&Û>Ú¹s§PöùóçÇ‹/^f†‘§¥8j+ûäMc2|‰è}"@DC CÇÔÔT_Ø`,l%ëçŠòÔ4,Ë> "Z±b…¤¿{öìiAƒÁ «ú2~üx¡ÌÊ•+À’Áàr>ÞPqXEóÖëõ«ˆ¸C‘òåËKžÿÅ_X´C¯×ËÆhᨨ¨‹€ÛTðêÀm,Á›£€°ŒÍ!‰î{ôèQ qßP"ú˜ˆúètºêÛ¶müæ¿*=²˜"šD&fŒeYš;w®Íº8y{{SïÞ½iÒ¤I´|ùrÚ±cmݺ•/^Lãǧڵkgú †ah̘1”––&ùn“““mª(¹ººÒÊ•+%÷:tˆJ–,){OèÊ•+’{ˆˆ–/_N®®®™¶·|ùò4lØ0š?>­_¿ž~ûí7ZµjMŸ>>ùä‡Õ¸hñÎ;Çïy÷§6Õ1|7ÇdgºEÄ©1[÷ßÈ‘#e阸r劤¾–-[ ù#FŒX `Ìêñbí•:àöüÁÈ/Ô¤r³²µDò'7µk×~= ½á¸ÿ¾¤OÄ'o3fÌX Kƒ—`¼ƒÌm0òeyQ*M¦à6DÜÂ;{öl›R ~‘1b%%%ÙìÓiÓ¦9ÌXˆÓ?üðjD|$&&RÙ²eí¶gÚ´iBùU«V} nÓÓÊDwq?˜7¦¶˜Œ7UUª½$"ŠŽŽ¶¹ ðòò¢¿þú+{‰ôŠHOO§^½zɶS­VÓªU«„²Ož<9R¨P!^§–gKÃÌd†4—“|BÓ¾DtÕN÷Ü6 ÃOŸ>í*jf1ä’úæÍ›%ø‡4HÒ×!!!’ÊåÔ“ÜÜÜ(66–ˆˆbbbî€[ÄÛÃlhZVôyp;}úty2ÖÛ°aƒäÙÎÎ΂]•5’”åUkRSSÀÙ_|N5¢«¨= ì´G°Q””T‘eÙÍ$:¼±B"˲›ÒÒÒdB =^ql¬*NL¤îÝ»Ûÿ<<òëÖ­;\˜Áà$š=ÁI1Z‚“®€[3J€;øÈ7jR¹YÙ2"¢¨¨(Igj4 ÉU}éü‚ØØXÙ¨ÏÕ«WÊ|ñÅßCÊ`ð\lpzù•Àm0‹ÂRL–Ÿ#y&¢þ=/^¼˜©È¸bÅŠj&r¸sç………ѲeË(44”-ZD , ùóçSHHÍ™3‡fÏžM³fÍ¢éÓ§ÓÔ©S髯¾¢3fÐÝ»wí>;»qàÀ»ï«R©hÿþýDD”‘‘‘Ô¹sçAà6­Á`ðQa«€c2xqk&ÃzSú¦0þDôŒˆ())‰ªV­*ÛOåË—wxAÎ-°,KãÇ·IÛíÛ· e/^¼)ÃXÚ´hEæLF~Ø”!¢?²ÐEÑ M uÙ›Y I>©RSSýZ9±Á-ŒŒ *Uª”¤¬8JïÂ… gÁRbP æ(ìƒôôô¥<½åÆçСCe_~Ô¨QvZ´h1Æ4×ËÛRÙr ­[·®“Á`ø™GÀ²ìŸQQQ%³Jr||bœk×®ÙT%8áQ£F ö3YELL 6Ì®dD«ÕÒž={ˆH^­ ¦Íþ‘#G„ç&$$ü¾sçÎýúõkøòåKa!zôè‘MIFïÞ½‰ˆèöíÛ6Ëð©{÷îõJžNóçϧB… Ù|~‘"E„õ„ˆÈ`0Ü/³”ÔZuJÖ†/瘜Lk‰8ë~«R¥Ê+ÑÄ,Y²DRߤI“ˆˆ(555À8p6¸¼ãCpmMsSMHÕ¤\ñc0æqÞ|l þ6mÚÈžô¼­8xð ¬1 Àézò0`@(Ì Æ ˜ÅdAà< Õ„™Á°üÊ`”!"a–Óét4kÖ,»êL*•ŠÆ—+rC† ±»è-Z”?~LDDOŸ>½^ @nà6?m`6þ3ÖêRâM©õ‚‘Ÿ O"ºÏ÷SïÞ½eûÇ××7_϶¼\¹»» L˲ƥK—ƒ%ÃÈ{˜z˜ŒQdRa#":yò$Íœ9“ºvíJ¥J•¢J•*QïÞ½iþüùÖŒ`zJJÊ @H23O7**½^ÿ?"NÙÚ»Ã0‚×&k„††Jèáéé)Ø==yòä*¸ mLs¬¬ÍæM›ÊQ Ñ/¿ü"y¦F£¡;wîȶaýúõ’ò:tò.\¸–¤‚`ö ³) ïJ•*i C¸¸®={öÐäÉ“©]»vT¬X1ªQ£ 0€–.]jíqèi\\\PVéáÀøèB&Ïo/^´+aèÒ¥ ݺuK¶Ï²Š .PË–-mÖåììLK—.µp"N7näÅ>xð`68‰QUœk^¸pa ˲þ½ÜÝÝeŸ3{öl›k=Àiqˆ™×ALL 1¦·BµZM;vìÊgddœ~ï½÷ŠÁ쉷ù²ç(äM8œÊjêÇ÷‰ŸŸŸ„áÍ©5FNŠÇ…;œÏÜ ¾ð9€OÁI5»Ãlƒ[™h°äUŸæfe“‰l{Øà“———Åà¡Óé(88Ø®»ÒO?ýT(ß¹sçùàŒ¼y/R¼›ÚÌ8X~€åõ(†ˆ†‘`•}áÂ…Lug«V­J§NÊv:ä$$$d*Þ{˜9zôèÏàL~dÍdˆm2x]q»LåýØK›ùw^¶l™l¿¸ººRddd6S${Á²,½÷Þ{²í ädÎCgjjêÓ&Mš´ƒ™É»±µÇdäõ)£pôŸššJ#GŽ´;·¹¸¸ÐâÅ‹‰eYþ6CLLÌ»0ojøTëSTëStµÑhüƒˆè¯¿þ’Ô#6”´Fjj*ùøøHî™;w®PfÖ¬YÁ0{l{mâ7õ^IIIßòå夯ýúõ“­ŸˆèêÕ«’òÞÞÞBþ¡C‡~…™Áèd£-¼)O˜ ½^/¨!={öÌæØã“———…A2%EGG7’¡‡]c`;ã£6™ÜÐÞ½{—J”(!Û''' µÙ_¯ƒmÛ¶Q‘"EdëÕh4²{’Y³f ÷GGG ޹ðw˜WÍôÖ]¿~ý(žÉØ·oi4‹ç*Tˆ<<}„rÑÑÑG`é’Ø“aí]*¯Ü¿G¦ØW¯^µ«öb‚‚‚èåË—DDIJlÜñãÇ«šÞ©ìŸòï©&¢çDò®ŸÅzÌr ‘ÜS´hQaÝyøða$¤ž¤»‡±cÇú±,›@D´wï^ÙñiÏ …Ñh¤‚ Jîãc¦Ü½{÷"äŒ@p\kR“““5¤}ûöe)–ÄÀ… ˲OvïÞíç =ì1¾DôˆˆèéÓ§T±bEÙºK–,I'Nœ°K¯×ŵk×dUãNB.–€ 0@¸/>>þwpóipÌEUpöRµÁ͹þþûï%|ùÕ«WKÖt¹:===éäÉ“9úÎQQQ6íC<<<èܹsBÙÇO‡¥Í—µ›ìÿ“ñ;‘¼G:­V›íR ¹}ðàÁƒ…üîÝ»‡øf5©¡àl³zÁl‡QÏ4&Ë!ŸzçfeZ–e‘i1"" “õ¤Á§*UªX|o:V¯^m3ªP¡9sF(Ÿ–––6gΜ0s¯âÁÕ fWe¦ÅFÌ`ä #⤟“H}âüùó67[|ªY³f¾?™În|úé§vû¤Zµj‚¡ã‰'ö€c4å˜ ~#TÎ4&„ l}#-¥ÈdÔcSº#>a|]¬\¹R¶k7§¯ƒØt¹lÙ2¡ÜîÝ»¿§ óºLFNÓTKDÑDœdZ.ÆDfIÀ*--í'pwÓXŸŠÕ54Ô±±±ø{?úè#ɳ3s-™˜˜H… –Ü·d‰°W¤àààzn* ä³gÏ„Àlr^ÃÞÿýLÇD‹-$÷ñL³ÉÐÛacàÀEX–ý—ˆèáÇ»ç¶õM¥¤¤¬²CG˜ ":GÄIiëÔ©#[gݺu­ƒáå]"B''''š9s¦0Áÿ—`ó„OüæG§Ó¥W¯^}8,]X¶†Ù»Tu˜@­ÝXæwU©mDÜ ¯Ü$ddÕÜ`0ˆˆN:%«ïíää$œf †´aÆõ‡}&CìÂV,™ÊMwÄÂiù„ d7kUªT¡N:QëÖ­mªÆ®_¿žŒaÏž= M ¤'Ì›[YãÓ´´4AÊU©R㄃H IDAT%És?ž)=¦OŸ.¹¯dÉ’‚»ê»wïþip»ŠmÛ¶­l4c‰ˆŽ;&û^gϞʹþqãÆIî òƒ‚‚FAjƒQ×4çóQ|‹ð|ùòåX"N%ïwÞ‘ “qÿþ}2©F=zTv¼—.]𢣣ê§ìFbb"µiÓF¶]bÚÅÅÅ7—ò)Ü¡Ï\4†‰Á8}ú´(cîܹ²Ïö÷÷ϳwNII±ŸGlûrùòå ÈZ,ž·ÉD¶âÖ«WÏÚ9‚C`Y–fÍš%ûL???a]{öìÙ3àŒ/Á1b5y±‹˜ÁÈW*R !7Á0Œà$99y´››ÛSG`÷îÝ4hbcceï-Z´(Ú´i“{}M¤§§c×®]`YV6¿qãÆØ¼y3Ê—/xùòåËqãÆm[·nÝ,#=€ éÒ¤ŠRš)e˜ÊéM÷MÏ!Ê=BW°œÞ2t:fÏž Ù´Z-fΜ‰àà`¨Õê\jfþ„ÑhDÕªUqûöm›eÖ­[‡ ===¥bÅŠ?~œŽö|J·úË ë±!ŒqÊí9Á Ç´ÐétðóóÃãÇ-2K–,‰ˆˆ”(Q"[+ýî»ïðÙgŸI®—-[÷ïßÏÖº`Ê”)˜;w®äzxx8 "¢Aƒ Y¿~ý=˜é'¦#OK9zJh p 6¢€çTááá:t¨EæáÇѺukÙ¿þúkL›6ÍâÚñãÇѼysddd\rqqéóüg”ùÍ £Ñ¸_¥Rµ8tè‚‚‚,ž€+W®8ô"ÁÁÁX°`Å5???ܺu jµ7oÞ>HNN>èîî>R:ˆÿ9X–Î0L˜Á`@`` ._¾lQg‘"EpâÄ øûûgÚG9…ŒŒ áï¿ÿ–ä­\¹ÇüöÛoSºuëvȪˆ…7¥”X³fÍ&•Jå‰&Mš@¯×[Üàëë‹óçÏÃÇÇ''^Ç!$&&¢eË–¸pá‚ÅõB… áÖ­[ðññN§»ïãã”`½^ˆ÷ró ÷ëGva+€Þƒ=zôÀ®]»$\\\н{w 8AAAP©T6v÷î]lذ6lÀ½{÷$ù^^^8~ü8`4½zõúnçÎO Ýòó¿÷K"úŸŸøµA Sž&·9˜#°:p¹téR#ƒÁ ø-ü÷ß)((H–ó§Ó˜“­öªT*š:uªEà þùçB©R¥fÁ,›Îöb8éÁ»8õ¨VàNÔªÃ,*ÏËPñ*"C&—DD‘‘‘T½zu»}Ô¨Q# ‘´¢5kÖØí³Zµj e×­[·œoì U¥°6L-©ëZ±ZM^ŸB 1 lù¥?|øpŽôynJ0ˆ¸“,¹hä~~~¼pñâÅ?`鎘·¯±gÄ/GÓœb´äßeøðáïàëëk÷Ý£££%ï-²{0ò‹¥LcV¬^@ºuë “]×¼yó$Ïéf†'OžÈÚò.JF£áý÷ßÿ¦¨ÞgΜ¤rºíâ(¼™eYY[ ~N¼wïÞEp~ïùÀâÈâBŒS§NµæŸÙ¼ys‹gÚmÃ?ÿü#©ÿèÑ£DDd0^‚³õ( ó©6/]â%KÒ³½{÷j‰è‘¼´víZ‡û('%kY @A)--íY•*UxéQ3Ó·Øœä¢ €&OŸ>ý›ˆsæP¹reÙwÞ½{wž¾+K—.ɪ)8P(süøñѰŒÅÃçç9ŠI•?==Ýæž”OÕ«W·é{êÔ©v÷®îîî‚Z"ÑÚµk÷˜ ` €I0{‘΋¯&ß\\œ@˜£yû Z¶Írå,„έY³æå¡C‡¶LLL\%J”Àþýû1gÎÉMœðãÍ\{ .Œ#GŽ`öìÙÐh4ÈÈÈÈX°`Áö l{ôèQ:,OÄœ«\rèä2P ÜÉót:¦L™‚FÙè ªX±bB§_ºtÉâY™ÑC.Ÿ§Ã0¶æ[ñI˜¶mÛP&113fÌ<»I“&0`€Ý6å*T¨€ùóçK®§¦¦¢ÿþ "¸¸¸ølݺõØpÑûóÏ?7/V¬XS?~saÉëdåôàà"¸“DDD 00sçε©Õ¢E \ºt ãÆ³+V|Ó ÓéðÅ_¼ösœœœ0qâD»e¶lÙ(S¦LÅÆ{ƒ[¬ ¹@Y¶\ Z Ö<øÖÊÀ4†6oÞ,QKÒjµøöÛo_»N‡ôôtI²5V‰H¶|zzºMÕGGQ¯^= 4Hr}Μ90P«ÕÚN°OW5ì/ü9Å4 /_¤H‹ŒÄÄD»7¦¥¥A§ÓY\sww~§§§‹ã`ȹ¨U+VLØ•Ë1r›v{øòË/áäädqíÚµkرc Zµjí[·ní½yóæZ­¶$Ì;ÖSkƒ $êZ™ÁƒáâââÞ®]»¢°b(`õýªÕjWþ^‹geF¹|ž¦,Ë Kb}h!´eܸqNNNNNå9!!Áâ¹jµ+V¬ÈWkùgŸ}†¶mÛJ®Ÿ>}Z Íš5{2¤<¬˜ù5j¸véÒe,ܺu «W¯–<Ç×ס¡¡9øYǬY³$j¦D„M›6ÜÜܪ͞=» ¤kˆu,‰ rf¾ÉMhlbæcxþü9:wî,ËдiSœ9sU«Vµù0ggg¬[·sæÌ‘÷'Nį¿þÊU¬Õjÿú믡:u* ÛŒ…œº¢–L{Ì6‘—»;IçÕªUëääädí0òÓ¤äˆHÒfñ{mÙ²åÔ_ýK”,ÖÌ…œ¶5“‘Œ¯¸fdd`òäÉhܸ1®^½*[°`Á‚X¾|9Ž=ŠŠ+æBÓrGŽÁÉ“'ñèÑ£×~Ö'Ÿ|___›ùþù'îXzôèÑõ‘9ƒ!Ù¤A^Š!þ››è€aYVÖ6aĈ™žÄ:‚víÚÁÕÕU’äNô ::Z¶¼««+Ž?þÚí™7o\]]-®Ý¾}?ýô I“& *ÄÍ”Û䉙 {‹>½RŒHpó-2îܹƒ´´4›7ÊI5y)¦ÑhL;þ¼Òàn—ú·ø?|øÐâYNNN¨U«V–^¦L™2ø?y×ÖDöµß½IlØ‚€¬Èнëê®úSW]Ûº®ÝUQWYu-¨kï®]?;J±­ØQ,(6ÄÒK2ßaÆÉÌ$(„à¾Ï3O’™ÉÌÌäÞûžóžsúõëÇ[O?‹‰ÄpñâÅa­[·îG_#}Øøå—_Šu^€L0®]»Æ¼ïرc {0ÄD<`‚¸á{÷î©%ÃÜøàó=ÍËË{ráC¢¡böìÙ¡PJk°oß>Þq Pì{SÚ‰Dذa˜ÀìÙ³i/–tÊ”)ƒÀ!6løN&“9ÊØ"¹\Î;Æš5k`eeUª×P\˜››cÖ¬Y¼õ{öìaHsçÎéŠî‚žD¨1f”·ùZìœÐPþ7š5k†ØØXÞŽ}úôÁ™3g`kk«Õ§M›†]»vñúû¬¬,„††2ž4kkk«}ûöøùçŸkO0¸DCcLŒö—^òêú„EQ¬ýãɈ ­àýû÷¼ï¶iÓcÆŒÑQKK½zõRa¾>|`ˆ‡­­­)È •í½`“ ö«62)] "##‰²AAAX¿~½ZéOyÇ¡C‡ÇÇ÷ßÿUÇ’Éd˜8q"ÆOÜþâŠܾ} 6„ŸŸ_g ¼÷R(Ÿ¨’U)k½Ð“ Êýªkô€ýû÷ó$"‘#GŽ,ƒ&•>ìíí†Í›7«¬Ÿ?>úôéëeË–ù 2„¾¿¤ED’=Ê—Ø}‰DEÅhÉ%YYY˜?>æÌ™ÃûEQ˜2e o}‹-ïÞ½»óáà ”“nÛ™ÅÐÐÐ {/4h##£b_Ó”)Sð÷ß«LÆÿý÷_?~ÁÁÁðôôüŽfh¿ÿþ;o2Ù°aCtîܹØç%ɹâããQXX©T 77·jbÀ·3‚Ñ£G?JHHȉDF-Z´À©S§˜c½xñ«W¯Æ¨Q£xç),,äɘLLL˜àëgÏž]Çç{A÷ ¤IÊûÒ PJŒh#}úôÑþ‡Ñ!\\\°téR 6Leý­[·pàÀ„††¢ZµjÞÁÁÁöÇO@YYY¡aÆ¡€Ò(@{•Ùèß¿?:uꤓk(.ÂÂÂ0zôhobrr2âââТE T­Zµ5€M Ç0÷ªý ÝÇ”Õ8ò5hà0”ñ_8zô(z÷ ÞŽ3gÎ$Êÿ4!,, ...èÚµ+RRR˜õEaòäɸÿ>Ö¬Y™L&[¸pá€zõêÔ„Ï»t‘¥–Pz²kе/èà+]wߦ(áÀdKKKjݺu*¿IJJ uòäIjãÆ%žn´,A„cWfþdee©­Ä»páBfß6mÚÌð#€¡úC™Æ® ”©-}YÏ+>§­¥ƒöŒ¹Ï t¬×€¾Ž~ýúñ®3((¨D~OŠ¢(µÁzÅYÎ;W"mºtéñøOž<¡(Š¢®€_ï¤LSÉåò_)JY¿¥råʼö÷ïߟ:þ<•œœL=xð€ú矨fÍšñöcEß½{÷pQ_çe-7°ÝÉ×××™¢¨<Š¢¨ß~ûw¼ï¿ÿþ‹ïEÏž=yÇóññQÙ'99™˜Ã~ÇŽ_|^ÒÿüÆEQTRRÒmð½éÌ8ŸŸ›¢”AëÜTÀb±˜úᇨ¨¨(*99™ºÿ>µwï^bêpöï1ŸÓ%7g=s®ø<þ0‰#ärùMŠ¢¨}ûöñŽkcc£’ØDß P(ˆÅÝÝÝ™:\qqq{ L²´wïÞ™ôw Àûž‰‰‰Þ§ÖïС¯ÝãÆ1åmAAAí¡ZW© TëðÐAþú\WI›%˜¢(¦Ù’%Kx©·e5ovY/ERR’`???êÝ»w̾/^¼dbb2 ŸËt…r\÷†²&K­¢þߪÞe𢖢Ê.È [Bä‰Ä K¤¸ZßòR›ék³¶¶6Áçëg[›¹Þ :57í(íÅ(+ï LÞwwwܽ{WÅ*$—ËÑ®];´k׃†¯¯/^½z¥»Ö–nܸÁH5´u™j‚‰‰‰Ú`ÈãÇ3ïÃÂÂjCÙ¹Ó<[B#,4ªkßv[úÍ™3Üløjo¾ÃÇLJ¨á¥ùœœ\¡9¶†$“RˆùµÈÏÏ? €²°°ÀºuëxÛ·lÙ‚V­ZÁÙÙµk×FHH®\¹ÂÛ¯U«VÌûzõêuºÿþ„jÕª™ ]çôéÓB9€ªH‰h7þ‚iÓ¦ñ¤ÑÑѸpáó9<<œCR³fMôèÑã‹Ï«N&åààPüÄ ÌÒ­[7‹ôôôƒ€rÌqssS9–B¡À_ý???8;;£nݺèÞ½;/ ¼J•*X²d àÇÇw|‰±™3gŽ™X,®(ÓsѵkWH¥:Mh ‘H„¹sçòÖß¼y“ æ÷ððhçèèh@ܺuëî€2Õ0˜qãÆ¡bÅŠ¥Ûè¯DXXoËû%êÚµkmÇòiŒÅ('2©1Pz.Ì 0|øpL˜0'+´³³ÃÙ³gKÄ W¥JDGG£}ûö¼mQQQhÞ¼9-[¶ô¹sçÎ(WWW#{±¹DÐí<ˆ2!E±/œM2äb±Ø K¤¾‚A_[‘¶Z…`A5ö‚޵Èã,Üø ¡ ] Œºuë¢råÊ*ëÖ®]«’uæúõëhÖ¬ÒÒÒJ¹™¥ ZõêÕ+±ãªË¥͸o===]ñy’ÉžÈ{Ê:¤KT”Zñׯ_ó66nÜXç Ò5¸2#àó$ÍÔÔÔÚßßßäAžtoI¤(á{kll¯P(–@pp0† òEÇ™5k†ެ¬,@:uÚß¼ysÕ¤I“jƒp}5jÔ`~¬¯Í Å…››QÒBO ¨Y³fu|ðÙ$ƒ=Aà®çZE¹Q]Y ª švrr*±ÙØØÀÁÁ·<@,÷wppà¥Zýp‰8•`E¾ô}Ô&x_ˆd%x_·nÝú ¥ŒÅÀêÕ«1uêÔ/*–¹nÝ:xxx0V{sssç üyîܹà @€ÿöí[•ãÈd24hÐà«®‰¨}úôi\¹rË–-Cvv¶Ê6ôïßÿ«Î©.“WkRoeeepÿþýQ½zõÚl``à(‹E6nÜÿþûo±Ïïää„ãÇ3Þ¤7nœþõ×_ïƒü\=dvôñH†‚òGJ2qíÚ5ÆÛØyèСÝeßO fŸ6mš`ÚR}‚­­-LMMUÖ¥¥¥!77P©R¥êà'•ò˜êKFBm`à8”5ÆððáCxyy1^c6‚‚‚ËD.IH$üùçŸX¾|9¯ßLOOG‡°zõjeƒ­¬·oß>Þ¼yt'4¿#݃2¹ ú#”­uef™ÿ†™™ɃAÊ E"j+2ëˆ\j<t'EãäÉ“ÈÌÌTYBtK—'¬_¿=b>—$ÁpppP›=‰–IYXXXùûûÛâs§O"š¤4 ¼êUàÍ›7¼ vvvÉd%v¢ýû÷ãÍ›7¼eáÂ…Äý‰û¿yó¦D­Y$‚Áž¤U¬XÑd¯)M-é¾¥pOX˜˜˜Ø¢¨†††˜?>bccym˜˜oooÌŸ? …b±Ø U«V£ß¼yÞ©S'úÙ–˜ššºdïE£Fxéf‹‹æÍ›SÍN:+W®ä­'¥¸-.HŒ;wî0}¨››[u윔”´¦N:ÃD"‘855]ºtÁ?þÈ#?š ‘H0pà@ܾ}íÚµ<~üø_ooïÍPŸ)ˆ×Oª%ê²âéüüü˜ß‚7¬¬¬ªÔ¨Q£5œ?ž7Wqvv&Z¥õ¤ûBß? ÚsJ"êÒ—eFBM¨ ÊX/œ={^^^HLLäí8|øp?~¼ÔÉâ˜1cpðàA˜™™©¬/,,ÄÈ‘#1fÌÈårÈd2ó)S¦Ì=|øp{ä’ÐÉ3ƒ2%¬I0@ammmCoû/x0L•¦^ „k`Bsæ(]’ @ Áàz0z÷î§OŸbÒ¤I°´´„»»;¶nݪ¯­••¥’îÏÁÁ666j¾Q|¨ób°³ÅtëÖNgÉ&\¯…Є´,;¤ªðñãGÞggg7¥l@òÒäçç38+++s¨Þ7’ N›{Zâ÷¶víÚÉ?(,,Œ”“å›7o"55§NÂâÅ‹1þ|4oÞ\ã± ðË/¿ U«VxöìÀÁÁ¡Å¾}û¶mݺµ…¯¯¯¥¡¡au äã/Ø y1Ξ=Ë«!T¤¯¸¨X±"dàæÍ›€ªU«V Þ»wo»uëÖ­²´´¬( 6Äáǵ:ϰaÃ0sæL¬[·W¯^Eff&6mÚÄxããã/øøø¬ÎÍͥǭŸ!&øŒk, =åS§Nå­Ûºu+ è"Ø»w/o¿‰'~Q³²·ð™`ˆÅb¡ø Mý  ŸäÂÀeue ávíÚñƱXŒððp¬Y³FgqC;vDtt4qÌ‹ˆˆ@§NðéÓ'ˆÅbi§N&ݽ{w´ɨDô,•…£Ì=ìɰ‰‰ 33#y0Jz⦠ÚL_›‰rVÎ&¤`oîBJM¦ë¸ 6%R\ ´–,\¸ÏŸ?ÇÉ“'yîÙò†eË–© ¦êÈÀ—B¥<))‰Ñ®{xxTj†66ÉЖ\èVPf#Æá”¤|8Œõ¶ª«&( |ÿý÷زe‹Êú/©ì© $ š5kFÌp€ N3333¯\¹²ÑË—/³¡J2´ &-ºz¾^p!eéxòä ^½zUnD¿ì: 4ìíí™ÿÕ³gÏ>‚ìuÒÆE£´î)©R1Ì›7oÉüákaa![¼x1úõëÇ;ÈðáÃqùòeb¤gÏž¡U«V˜2e fΜIô^xxx|UªX¦M›F¬`nnŽ1cÆ”è¹HãÁƒÈÈÈ@FFÈd#áÇDLL ·AÃÊÊŠñ´fgg¿ ;Õg„+yâÆ’.ÉÀÇ_ÐK0e\FÕªUµû1ô-[¶DÅŠU$°ùùù8þ<:vìˆýû÷«ì/•J‰^})¹]ËéíÛ·©Pï)Õ•óKPÊúƒ¤¦¦ ~!99™©g¥ÏÈËËÀ€¹sçÂÀÀÀnàÀ[\]]'ùùù±²èûÁ¶:èŒdè…DŠ[àÛ ð4{0*W®ÌÕ€ ¡8‹²ô^EC&“ñ4¶/_¾Ä!CxT …äéWËär9ˆ 6¨¬ *ѬB\xxxncg¿(ª—À¶` MJÕ ºÆ ‚“¡ôµßHƒý{ó<¯É>Ü}ûö…¿¿?ï`{÷îÅ©S§kJÈårÌ›7ÞÞÞÄÔ %)¢JôŠŒ9’‘‘”*T¨ÀK…©P(0gθ¹¹ ’ {{{9r>>ãÆ5oÞ|ð½lÙ2•ƒ,Y²#GŽ„ŸŸnݺ…‘#G2™¤4¡4 L¯ýÛo¿1Ù[† Vj *š4i‚={öhÜÏÄÄááá yX½z5>|¨²H$ªU«hÏ2µdÉ’µPÓÔ“Bn&u5˜E½‰DU|}}±`Á•öœ8q3gÎ,ÎÏQæðõõ…ƒƒƒJœÂ£GT‚½ÀÀÀݺuÓuó¾$í]¤(ŠÚ¾}ûc ì1ƒý< MXu%¹`.ÝŽ˜˜–Hò•cÇŽáöíÛÌç*Uª W¯^Å:FBB<¨²nâĉ%’amÿþý5jD"ìììºÆÄÄ8Oš4éûU«VÑ.*®’¹W"‘¨TéÁ°¾- $G\gFFÌÍÍaccÃ%ÜɾC+F­Zµ0qâDL˜0A…„äää sçÎ8uêÔWHgffâùóçxþü9’““ñüùs|øð‰044„§§'Ÿ§û÷ïãúõëHJJBRRN:¥Öµß½{w¢å°¤AKHxýú5²²²`jj SSS:}‹¶$ƒ;Hh(J'  ô®Dòjݽ{W¯^- Œ>€;Y”ò(ºnÄ•+W¸ ÔÝ'Ñ íWRàz2Øò98ä5$$d÷Ó§O¹LŸ>‘‘‘*‰2331wî\¬X±–––ضm:uê„‘#GÓÓ°´´DÍš5Káò”ÚúÉ“'ã‡~€~þùçR9 ÌËÓÓÛ¶mC:u(3v-ß}÷Ó§>zôèÜ‚ ž‚{!$‘*„*±Èß‹¡ì-—ˈÅbˆÅb(ŸsF\½zïß¿/Wc¹X,†¯¯// ›û,6lذÄ%sº€:‚ñúõëä»wïÒñ|¤qB&C,Š&±%{Ÿ!°@öJÆüµàÆ@â÷ß/Ö1®\¹Â#ýúõƒ»»ûW· SSSÏeË–lÒ¤Éà!C†ÜYýBPñúF0=å©Sâ¢B… <ã»wï`nn+++S¨ÿ³ê;áPñ`0bÄ,]º&&&hذ!Ú·o¯’&33ÁÁÁ8{ö¬ÚX6’““ƒ˜˜ÄÆÆ"11Qí„ ‘H„FaðàÁ1b ñÿ÷;v,´: :«W¯Özÿ¯:ð9“”‰‰‰ äÁàK<:±:‰D"¹B¡Ø$‰¦…„„ÀÌÌL¥â;EQ;v,¢££K-ŸºL&#Vkµ°°(•óÑØ³g.]ºÄ[ß¿¿rœ”Ëå…‹/fG=“úƒ2‘$PEq´sìÉ*Ý•loÞ¼Áõë×ÿðññYjccƒÿýï˜7ožÊq׬YƒŸ~ú‰‰GèÝ»7|||0`ÀAoOãÆK5×þ Aƒ0{öl—jñGú:Hã¼X,ƤI“0{öl•Êáááá¼L@"‘ˆI:!—Ëóþ÷¿ÿmÙ{ÁÎ¥.þB“÷‚@eggï³´´baawww• \ …‡ÂàÁƒ¿âÒ=š4iBÌÅI¦ïxòä /fG*•2±„7oÞLÀ—yMuÝYØ %€¯ÒAýïØ–} INN/›\ýúõ‹}üzõêñþß111 Á(,,,ü‚~Œ"}G$Qö ØYµjÕQçÁOľW%>Öë[ Æ7éÁP‡aaa!äÁÐÆ: $vvv8tèþúë/f›——N:Å‘ÑHKKCÛ¶mq÷î]áeeá÷߇‹‹ \\\ЫW/¬X±W¯^Õš\ÊNäÆ3f jÖ¬‰aÆ¡C‡Z“ KKK,_¾ëׯWèKê<˜€CcccCh¶8iÊ¥óg­  `#ÊÒÒ3fÌàmÕZ*ó%~ýõW•u...8{ö,.\eIU”–<ІL&Ô)S0eÊ”R=……Ñãââ‚sçÎaÁ‚*}NJJ –,YÂÛ?,, 4ÄÄÄüsâĉt }¸r(ÒÂö^Ð$C¥FÆðáÃÏQõBBBxíZ±bE±~}€6^¥òH0Hu Ú´iä^>vì{@’\ m#íWZø €‘6‹H$2‰D&"‘ÈL$™‹D"+‘HTA$9ˆÅb'±X\M,׋Ån©©©g¥çUŘÿWq`ffÆ‹-‹P¥puu]$•JgK¥ÒYR©t¦T*ýM*•þ*•J‘J¥S¤RéÏR©t¼T*+•JGI¥ÒáR©tˆD"é/‘HzJ$’n‰¤ƒD" ‹Å¾b±¸™T*mpü8ŒRïõ‰`0þ[ÃÌÌLȃÖ{Òg}!D‰T‡pûömtîÜ™÷…¦M›ò ÔJ¯NPP’’’TÖçååaùòå¨Q£¦NZ¢iäž?ŽÈÈH¸¸¸ðŠCqQ­Z5LŸ>III%ž¢R4y0è¶"BÞ !¢ÁþéµT “ÉSãÆ#fî™J*¾·cÇ&æmÁ‹‹ã=ºÏ=®®®¥~îµôîÝ·nÝ‚ŸŸoß?þøCÅÛ('Ú{‘““ó¡OŸ>‡ñyrÁ&$Y”:rÁõ`ÐßgîûîÝ» ÷JÒÎÍ_µñŽ•7‚ññãG^&D@_999Y‘‘‘O¡Y‚YÞ!äá—J¬­­›` Û±ñ% @éÅ`#&&FÙ‘HÜ¿ÿj¬MBÉ3HE–Ùý;ñz@ÿUÆ÷’Îæ¢OƒÉïö-J¤¸ ¯±ˆ`°¡Éý¨oPñ`cåÊ•8zô(1’¢(,Z´#GŽ$¬]»v*5¢¢¢P³fMŒ7ŽX¨¤ðôéS2ÖÁ-Z`Þ¼yøë¯¿°k×.$%%áÉ“'˜3gÏû¢ ˜šš V{À$022bK¤„\×$ù”Ð3Ç ´‹Ì@«¿|ù²ØšW}ÅëׯyA°€2¨”®}#... Ú¥®& 4Bä£4Á%¤š þþþ§²³³¯d/†B¡Àòåˉ'ðððÀõë×1jÔ(f]i{0€ÒþiÐ×BÇ lß¾(ßËÊÊš5kxë{ôèÁLbvïÞ½ëÅ‹rw³É_>È$C“4Je¢“––¶ P‰l×®¯}K—.-æ/R¶Ðßc``€† ê°E_Õ«WóŒ5öööŒAðâÅ‹WrrrHEWKÕ`QÚ`M …<÷Ì|Ñ¢Eµ¤R©žŒÕÊÊ •+Wþ¢6p‰ÉãÇ™ô¹5@6Ôp‹^ yIdCè:Ùû°_K úD0˜Y8ɃQ^³Hä¶Ó×hjjJ›ýµÑ8r¡„ƒñ`øøøàßÿ$/_¾DPP&OžÌs7ŠÅb,\¸›6mb$»víBÛ¶mÕz,jÔ¨æÍ›£C‡èׯÆŽ‹Y³faâĉèÙ³'¼½½áìì¬U–†ŒŒ xzz"11111˜6mFŒ=z J•*Zý¥ uAô,‚ÁÖ¨í@Aö^yÑJ2™ì¼B¡X(èH)"ÃÃÃy®òˆ©S§ò,ω„©LQ”bÆŒ žH¬Z¼ Jy2P /†Šµ<..n> ìÅØ°a¯Z7 cccüùçŸ8vì4hP® ¸iBÓ¦Máç燛7oª-FºqãF^!¶÷âíÛ·O‡ õä‚”1J¨þ…`p7kAëÖ­£)Šz|¶ˆ³qìØ1b½}†:Yƒ 4z¿õ D©ÚÀiµhѢآդ¾ƒäU×ÇèÑj>ÐPEi/õ^}—öb¸¹¹¹‚œ|ASRòÒ}Ñ©ÑZ/ ÆɃallLK¤á›_¦úx `Ì ¿üò “Ù„‹ÀÝÝè733Ã?ÿüƒI“&1ëÂÃÃÑ»wobîjüüóÏHHHÀ£G‡£GbË–-øã?0cÆ ,^¼;wîDtt4ž?޼¼<$''cݺu‚boo½{÷êDñ%ÈÎÎÜÆñ`꽚ˆlYxóæÍ‡år9-`ÿ¿…äQÚLZ4I4¨»wïRùùù{ sçμ xŠ¢0jÔ¨ÒÌ(TâPG0<==uØ’¯Ç¯¿þÊSH¥R >ððáÃÄ3gÎÐ}P·ÿõë×Êó‚•9r#FŒà­···gŠ5feee}ÿý÷tþHu“uî¤OЪÌ:V©A ’ÁÖí(¼qãÆ@éÅ k:°±bÅ þÎ*(OÖcm •J‰•ÌÙøçŸðøñcÞú_~ù•••ö믿Þ*¹²Šr½$Ï÷yS;™|õêÕ6ÉIµ/¢££‰$[_¡N‚Wžâ/âãã/)ƒf kÛ¶m‹Eñe™B}Ky!ìë[YYQ–––M’¿€ºuëòä–lIïÞ½Ù2)¡8)šPä²6É`{"ÕyKõþèÁ”H‰Åâr™cš†:ÔªUË ÚÅ^”µ•™ J’ÁÃ7àé鉵k× ~ÙËËKE˸gÏb] KKKœ8q!!!J¥((((¸wïÞýC‡5kÖÖV­Z-611™eff6W*•þbkk;ÝÓÓsîÎ;ÒÇX±bâââˆíX´h‘Þû 1¸™&†¤;Úy,¸¶Ì‡‰‰É!¹\¾PZ¶¹DN:…Áƒ—++h\\zöì‰ÂÂBÞ¶Å‹3:ûÙ³gï¿}ûö'%P܉鳺¤TÉ`ŸÔ~¹¯¯ï•‚‚‚Û0|øpÞÀûüùsbÕäÿ:Hq þþþLðûÅ‹crssIÿa’äBˆXÈ¡™XŸ«êÕ«ßÎÏÏß(¥7ÜÀV˜4iO⥯ðððŒÁÑ6µzYƒ¢(üøã<ÂnllÌÀgÏž=›;w.©f‚PŸ¢5ÑУ¾ZÈ3Ãü7¶nÝZG,[ÀÅ‹yø)“ÔÕ«W™1ÜÇLJD0¸™Þ¸ä"Êy—l3°ï%û÷(qèS [@Y+‹±²²ÒhÑÑg¨ó`@µjÕL¯_¿þ_‡QÖÿÜPK«@¥·­T©}:®F†††6û÷·7O¿mÛ6T¬XáááWPP€øøx¼~ý?~DZZšÊ+û}zz:d2¬­­aeekkkÞ{zqssÓ˜BPVpíÔ©Qæöý÷ßcÀ€€Ó§OÇ-Z´(êeQì "i¨à|ŸÔ?”ڀϪA:/p4%%%ÒÉÉéêÕ«#((§NRÙ¾téRôèÑ£TÚZqùòe¢U•–¸PE-X° dY”`à=ø ¡I ‰DŠX¯€¨¨¨!‰ÄtÞ¼y¼Jש©©˜mÚ´yžžnaañ[HHZ´hÁ –]·n|}}™Â’ú "Á(‹¬‚Åŵk×0~üxÞz¦¶Ë… ®ìÚµë%Ô7´‰ÿtÜßh NqPº}¼I‡­­m78|ø0ïž»¸¸|5©lÒ¤ Ž;¦²nëÖ­èÚµ+Œ{öìYyÛ¶mOAîÿ¹$ƒ+…âþw¹Þn!ƒA‰[ôÉ-ðMÙ4{0éHVMšy€ODô s‰Dÿ\¸p¡‘\.à têÔ ·nݪU«Ôþ1Iä¢I“&LÚÎÄÄÄø&Mšlzûöm.ør•óèÑ£]ePíéÓ§‰çœ9s&1®¾A[‚QPPÀ×ߨB±(Ë8 vçF™ššn-,,Ü( @‘´ÃðóÏ?cíÚµ8pàÆ¦M›ÂÚÚmÚ´ÁìÙ³qîܹR#ððáCDFF2:æJ•*¡Gˆˆˆ@ll,‚ƒƒ‰õ.êÔ©ƒ½{÷¢ÈZU8lذ]iii K¸V(!}¼6)AM†)Æ2·qãÆÌÌÌÌеkWbQšEËòóóqàÀÞú0±(;wîŒfÏI"%ÌÍ{ލ"½§ÏÃ5vìØ…Bñ Ö®]KŒ—1bâãã‹÷C”H2m‘HDL!¬Ox÷îBCC‰ SþøãXYY!;;;kèС'Á÷|’&©Úz2ôB0ùýû÷ݤRi@9éç¢W¯^_}òž={òÖ9r„!3]ºt¡3Íp¥Rìÿ.7ƒì­)Í4û>—Ê=Ó'‚Qøo [[[R&©âȤô ­Zµ’K¥Òõ>¬UXX8@¶T*Å?þˆGaêÔ©jk:°‘H„‚‚‚ÜáÇÿ õôBGGGÉÕ«W{z{{ûÀ‰'0zôhâ±ëÖ­KL©ÐD0è€çÜÜÜ\h/‹RGVõáY£æÏŸÿƒB¡¸ ('"$+EQL"eË–áÚµkÄ8]áõëר³gÆŒooob5p[[[=z”±~®\¹òÈÑ£GSÀÔ¹ I΢¶º2ÊXº !ø› ¸~ýúz@¯ì‚Qâ.]º8†‡‡w¯Y³¦JZ‡-[¶`ðàÁ‚).ûô郠  ¹f]@Á°µUfyÎÉÉ¡ýà_ú¬”õ3F±Ú@ Z¶lùæÑ£G=jÔ¨qJ,oß¾-[¶,¶¬ÂØØÍ›7GíÚµaeeKKK•Wú½¥¥%òòò––†ôôt¤¥¥©¼OOOGJJ bcc‰Ò'MˆŒŒ„àêÕ«·ºuëv üI7ið Õ'ÐT«@o¤ „àoöõŠRRRÖ9;;ûרQ8sæŒÊ÷·oß???Ý6ZC‡ñÖ³‚» , £xÙÏ‘6Eu1<ôñµy~èÿ¯ÊswòäÉ1;v<+‹­þþûo4jÔˆ'[eâB¥aíÛ·ïÀ Ë£úöí[b'îÝ»7&Ož¬â™½pá^¼x'''üøã>›6mz þ\PPÞÕ{Cò&‘Þ—Ú Ò'‚ñÍz0å5p+¿{÷ÎÎΰ°°`W+¸ÅU«VÐáÕ«WÁöööó$I]OOOœ;w‡ƤI“@Y–¶Ê>}zWNNN~ѱDààà`°ÿþ0//¯Öb±X( síÚµ ‘‘‘‚éhe}…•+W–ÚÅ–4 ú?’«vG=Žç!‘Ó¢WÊÕÕõzjjê¶¶¶›ššâÈ‘#hÖ¬^½z%xc¬·nnn²øøø‰ÞÞÞAb±XrçÎ 2ŽŽŽøþûïÕ’ +++ìÚµKo!hëÁÈÊÊRG0ÊÃsð;B egg·733sT®\7nä}‘N[{õêU|üø'NœÀ´iÓàããSâäPféׯÖ®]‹„„¤¤¤`Ïž=Ä´ªÞÞÞÌsššú®M›6Û>}úDûà…,QÚTYÖÁµV•èoP\°ä ìA‘Š/ÈÎÎ>;väɤ>|ø€“'O꺹z’<* fffT ¤i²Dk;Yd i"BØÌëÿ4hpæÍ›7‹¥‰GQ €‡ª;]™ ¼ŒOŸ>¡[·nÈÌÌämkÑ¢V¯^ xûöíÛ"e€:iÔ×ÒrA6è„ùùùõE"Q @©€àÂÏÏW•þkAòˆlÛ¶ •J fΜéå<»pç…¤ß^í}Ñ…[I_ã¢ø–=\Ð×jjjÊò´ ôÖ[oë¹å>ÀLGvùòå{{ûÈÉ“'7úøñ㊢r¤R)FމG1™¢¢¢Ö~øð!E“ªÎ;[EEEͬX±bM8}ú4Z´h7jœ„W«V 111ðöö.Á«Õ Hƒôó¥†`” ’ÊéóxfõêÕçÈåò[ˆñ;-Z´À„ ФI“2 ¾´··G÷î݉Å"Ùµ|¦OŸ~èÉ“'9(Þà.D24I£ôÌýMKK;ŽŽŽðôôäíxðàA7í3²³³™lmºFAANœ8Á[ß¹sgÀ§OŸÒ-Ztd² Î­q¢øÞdÇÕÕõÌÌÌã€2ƒI¦JOIÆÆ²DyH oß¾D‚æää„ÀÐÐÙÙÙÙaaa›_¼xAgdŠù"õEÅ‘b–‡þ```0 ±yófÞö’”GÑèÞ½;ÏðuëÖ-\»v Ð¥K—@GGG#I†&ÂA¿ª v¸Ò†¾H¤«xß.Á ¯ÕÔÔÔ¤h•¶Ø`kšõrög €"<<üSxxøÜ5kÖüÝ»wïéæææÝÅE3±´´´˜víÚ`@äççg¹}ûö™fff•`ß¾}èÓ§ÆA_*•bÈ!˜7océ/oÐÖƒ‘™™)D0H÷@ŸAË,è÷Ejjª\$™JyÜ ©evuz/^¼`Þ»¸¸˜lq¢n!b¡MŸ%Qo´Ðœú ŒDa÷îÝ—Æ_@Ú¹sg\¿~]å{—.]*ñ¶¼~ý·nÝÂÍ›7qÿþ}¦Ø"w¡3“©ÄïЋƒƒÜÜÜàî ÂÄÄDÙµG||<1YM0®\¹r‹U˜‹ý,q½ÚÄ^$ÚB¨¯§(²²² GŒ1vãÆ5 ]wïÞæÍ›#11QåK÷îÝC«V­pêÔ)T¬Xñ šQ}ú$¸M$1îûŒŒ ~²ór5±X±b…L,W@ðKÚ…ý¥°µµ…‘‘ØI½^½zÅ\[½zõì¡zmBg.© I¤´‘¹èó(ÏLB'L˜1f̘¥Ri³N:aæÌ™*;>xðïß¿ÿâ1ááÇLá>zIMM-Ö1rss‘››‹””Á}Äb1\]]áîîŽFÁÝÝ>>>_lñމ‰á­óðð€““àÀw ^fGòbiè¿HFÁùß2«9íRlß¾==00pè AƒŽZ[[›>|^^^¼ô»wîÜŸŸNŸ>]b†ƒììlܽ{—·ŒÚàÓ§O¸qã†Æý*T¨€úõë«, 4(1ƒWvv6BBBxE*åø°qãFÆ#øçŸ\»víhç5-nÆ1@€hè1 ¬ *(( &èØ±#уUèÓ§`=zqqqðòòBÛ¶mƒ|||ÎGGG¿*Á “Þp ½”ù=ЂñŸö`Èd2#cccqNNŽºo.ôžd°É àó5Ê;wî|@÷ TY¼xq*;;;ITTÔ\KKË:°téR^åf6¼½½Ñ·o_ôèÑ£Üz,¸ U¥aiiɤÛMOOWƒ¡®ã/óΈ®=zô¨…"i') Z_ ôb<~ü˜ùœŸŸçÏŸ£J•*¨^½:]MNÈ‹!”~ë½ÐFæ¢<‘žY9^ æúóòò.H¥Òfžžž¨T©’J ?EQˆE§N´:Ç›7opæÌœ>}gΜ!’ÒÒ€B¡ÀÇñðáCìÙ³€23^ãÆˆ   x{{ÃÈÈH«ã‘®9;;;+22ò)„ƒtIDƒ½_iHêèã¨{ÓËСCëׯÿSóæÍ×Ö®][ôÿ÷h×®>~ü¨rÄÄDøúúâÌ™3puuEq‘ŸŸ¸¸8œ9sgΜÁå˗ˤFÎû÷ï™DlÔ«W D«V­¾¨h_FF:uêÄ;6 $kÖ¬a »8qâ'%6—\J¨‹ÃP+Ò·>G4€7âéÓ§¼FUj'ïÒ¥ œœœT<Ü0}útœ>}R©Ô0"""ÔÓÓs > )ë=Û£AR¾”ÙMЗ fø_$D®®®BÞ¤uzO.hÄc°]ªD ÊÔ©SŸ(ÉdwïÞiccã ('NœH<—L&ñcÇ‘#G~3䱸 ö³¥`ÐP'ЋA(ÃÒÒ²½’T®-¡¨Zµ*oÝæÊ•+Ó îäK(WÓ ¯.“‹^ÜS `~‹ôôôs€rrÔ±cGÞŽÑÑÑ‚ÉÏÏDZcÇ0nÜ84lØŽŽŽèׯ6mÚ¤3r!¹\Ž+W®`Á‚ dªÍÿþûïÄbŒlÄÆÆòÖÑò¨[·nÝ+ª}Á}Žh©6ä‚+ú"6¡ª· öòò:‘œœü'4mÚgÏž%öÙÏŸ?‡ŸŸîÞ½«Uâãã±xñb´oßÖÖÖð÷÷ÇìÙ³]¦8I¸wï"""‚ * yóæ˜6mΜ9ëÁ@BZZÚ´iC$b±7nd²uݽ{÷AçÎC½ç‚$ÇÔ” [ÉÐwT0PÊIÞ‹öíÛ#00°Ô`ddD<ï™3g”‡‡GóqãÆÕ‚ª÷‚M.¸Ò)½˜'ê Á¨¨Ÿ£!“É Œ.ß e `ËÁªU«¦®š7@~`˜m"uëÊ„É"ý*4¹b:»¤¤¤±vvv]¥þzРADK¬¡¡!öîÝ‹àààR»Ž²„:‚Á”ß¿O m;y®k›»­ÌÀ™¬P(CCÃxüø1^¾|©²¿™™¯:jYÂ××—·ŽNIhkkkëíím òÿ@“dA(H—;Èë­÷‚•6¯\¹2@. ܹà ¹\ŽS§NaèСppp@ÇŽ±|ùrܹs§ÄhddGGGØÚÚ–XqÎÜÜ\œ>}S§N…»»;êÖ­‹Y³fñ¡Ï`Р  TªT cÆŒa~¹x÷îpùòeÞ6‰D‚­[·bàÀ€””””¶mÛî,ŠÓQs¡)¡‰d½_õcè«Àĉyÿ3±XŒE‹•z#ú÷ïwwwÞú¡C‡ÒêÑܹsôôô´ÂgrÁ^„¼e:/Ô‰”`‘½o!E- Ñƒgggv±=¤‡D/œâ¢H.Å–J±]wÄ@Š .4¬X±âH@é* A^?ÄÀÀÀ»wïÖZ6Q¡N"Å~¶ž={Æ®æ(dI4O&ôi€ ˆâââdb±¸+•Üá4Z¶l©W•Ùy1ìv9Ò-&&æ„É…º ]Òä4ØëµLPƒš?~άY³®H¥R¿ ð¾sõêUäææâÊ•+عs'öîÝ[ì8 6¬¬¬Ð¨Q#xxx aưµµ…µµ5¬­­acckkkž”éÓ§Oøøñ#>|øÀ¼¾|ù7nÜÀ7pïÞ½b[Ë0sæLÌœ95B¯^½Ð³gO\¹r…·oýúõ™÷'OžL†0¹ =Ol‰”–D–®¼‘H2rss 7n<úêÕ«666í4h€ . ¯_¿V9àû÷GÂÇÇØ»w/6oÞŒ .|‰–H$pqqAÍš5Q«V-Ô¨Q666033cSSSæ½D"Aff&³dee1ïÓÓÓñôéS$&&"11?&Ž[šðîÝ;DDD ""uëÖÅ€Я_?899áÍ›7 Ľ{÷xß300ÀöíÛ™ äôôôôï¾ûnË«W¯Ø£4É0Õ µYÇèvès¿S„žÚÊ"ýõo‡–Xånu ‰L»víTÖ'''côèÑØ²e LMM­öïß?ªV­Zsòóóiba²7ƒ}oD"‘¨L}¿é"{€ú oppp0+z«MŠZ6ô"˜GH*$£zõê"ooïp’OŸ>¡C‡D*•J±cǽ,ÌT’ÐV"•˜˜˜ 2±gw»^ZŸØ£M›6 FQ½œ½{÷òömݺµNÛ¦ Í›7‡©©©J°ÄÄDܼyîîîhÕª•€³ž€iš(j’GéÍ}Ô*ÒüüüsR©Ô¯zõê000P‘‹äææÂÉÉé‹Ò˜Z[[ÃÛÛÌR­ZµbǨR¥ q{^^îܹÃŽëׯãÚµkËåZ?>>ñññ˜2e ÑÈV»vmú<¹—.]ú²îß¿©S§â—_~AëÖ­ñìÙ3ŒàÔ©SZ[µ?|øÀ[GŒ×J3?ûÙ"ÚjæKZ"¥’¤ª“F*õîÝ»¼5jL|øð¡¼bÅŠ]]]]…€€^ÊЬ¬,¢AÕªUƒŸŸ|}}áëë«óŒ‚b±UªTA•*UTê~¤¤¤àâÅ‹ÌróæMµY%YáV¸§add„ýû÷32áÔÔÔÔvíÚm¸qãFò4=êÈ7û˜×Tßû'ØÊår 4H%‘ˆˆbºñÒÄúõëáîîÎ3¶ÿðÃpwwG­ZµÐªU«®ááá 'NŒ†ªƒ^ä x1Pc»> +µ²ãÙ³g˜:uª®Û¤dff"//2™ îîîUÄbñ%…BñM“ 5™¥èÏâ[·nÙ›››ÿ'Nœ@dd$ñX›6m"VLþ¡N"E[8³³³s²³³…L¤Bò¨ÒÐ^—(Š«JºÀ²eËx˜™™ªW¯®–ˆ•¼¼¼xcÇŽX°`*Uª„É“'{>}úÈ^ îÄQH U^­ˆ$P¨×¯_?qttÔ­[—G04ÁÕÕݺuC·nÝàååE,ʨkØÙÙaÈ!2d233qüøq8pGU›†šš`<{öìŠïýRK4JÂÊ©¦Û“A{1Ä 322òªT©2åñãÇNNNÝ«U«ÆÈ¥ØÙØ4A"‘ uëÖèÑ£:tè óI¢¶ppp@÷îÝ)Ó§OŸpöìYìÞ½‡ÖX\• |ø€víÚ!&&ŽŽŽ¢1cÆŒ‹Å…ãÇ¿%É0€ê½â P&ÎÐ¥£¬ †€ªàmþðòåKT¯^-Z´ðºÿ¾y÷îÝ#oß¾í¼å.$ô«¢~ýúá,ÒÓÓ1lØ0â1†Š~ýúé¨Åe‹¼¼<•z \ÐŒŒŒ Òˆ¤Î­ïƒ³§¦¦bË–-¼™™™å&kXAA"""°`Á´nÝÚÇßßÿÂ… Þm&‘®uZ¹PH¿­ˆ$0ýÀèÑ£_ÆÄÄ0¨S§ŽV_vwwGhh(ºuë¦Ýô×ÀÌÌ aaa C~~>Ξ=‹ààÁƒjëkР FRRR*Ȥ”M$HŒRÏüÑÄ2«Ymd“ Q~~~¾³³ó¯IIIUªTéíââÂx2Hi©iH$øûû£G …]I_N©ÃÂÂ!!! ANNŽ?ŽÝ»wãÈ‘#j ­š™™áÈ‘#ð÷÷$''¿ô÷÷ßøôéÓlð½ZBñù¬…ƒ¡9ôºß±p@c˜5kÖ¬YÃÛÉÅÅ…¸^WèÒ¥ F…•+Wª¬OJJBpp0¢¢¢`aaa4nܸiµk×^Û±cÇÝøL0h©÷^‰‹^uJ2Ê*‹”À$QD."""¾YO…:2Y jÕªU?&&fÆäÉ“ë@•@2p¿Ëék)T~~~[±X“&M"’ΪU«bÙ²e:i§>@“Užö`¤§§s † tœß]`ᣬPÀ`X½zµZ²U^°fÍdeeA"‘H—/_Ng'(®g‰´MîW±Áð(ˆ•Sõ„†X,†–,Y‚'Ož >>3fÌ(5r¡müDqahhˆöíÛcÍš5xõê.^¼ˆñãÇ ¦\–ÉdL äôôtzIòbh3)ÔÕóB"ÍBߪU«Î}üøñf@iÕ½pá‚J`; ¬\¹/_¾Ä™3g0bĈR%yyy˜3gJ4KÆÆÆ ÅÎ;ñöí[ìÙ³M›6åígaa“'O2äâéӧϼ½½#‹ÈéY’EqR ú8‚^S=&\…²b7þúë/^@Ó¹eË–/.ˆYR'öc7oÞD×®]‘““‘H$îС÷oßkfff%É0Äg†`êZ]e- ‚aà8€…¤iii Ř1cŸŸ_Í)[$%%Á××K–,EQ033³Z°`Á”³gÏöÉdìC¨Z#³èsªZ(Šb§"¥ÀÀÀ`> ”Æmذ÷º*©¹¹¹.›Z¦P'>{0>~üÈ&B=}qȃ¾Œ Hòòò°jÕª²nK‰àãÇÌóíîîî1lØ0ß—oI¥ (”B¡x FíÚµñêÕ+\ºt ãÇÿ¢@íâàØ±c¨]»6ºuëVªõ4Äb1Z¶l‰%K–àñãÇ8þð9n·Û?~<_~ù%óçϧråÊ–nݺ :xð`“»îºkʧŸ~š‹÷’ðzÒ¡E…•˜lRFh.SBˆtÔ™¦OŸ.Mó8vìXºvíá/‚µ`œ9sæüÏjË,Å1› ºý>øàƒ ÜGJ fÍšÅ}÷݇ÕjUžzê©Þxãiø'ÁX-=ý€û*º‡†”µ!Žûì3Z´hÁ‡~ÈW\AZZÚ¥K–,™·hÑ¢ >ü TBa4yYÐù´jãs4Û*epw¨‹*É:&Mšðì³ÏF¸dÅ@C³`”)S&NrÚ¨DR.¢BnÜʱ<¯[·nt1"ÈÎÎfÏž=^Çl6›—»ENNŽß”‘åË—÷š!ÿûï¿}Òg&''hñM›6ѱcGêÔ©Óð¹çžkñÈ#l&x²gÌ:' ç„q’ªt ¹TÅHgˆÿüóOþ÷¿ÿÑ·oß°"''‡iÓ¦ñÜsÏù¸äeee1nÜ8Þ}÷]^{í5Úµk–2äççKûA}}œêS'V«UlÙ²¥HÛ¡¤`ùòå~ß—ƒ !„عsç/ÀàqàQ`0¸ÜÜ\tÚ—¢æ¯…ê¾XÁ-SšO§^¦ÂÒöfp:ƒ [w÷ÝwŸO}uïÞÝëš5kÖø­ßN:y]ÿõ×_û\“˜˜(8P¨²ž>}úH¹r冹Ûèj Ðu¼hàn§4  $êÞ½9<¨D¢øß{£,h“&6»Ýþ–Blݺէ¾-‹Ä€<ò_TXºt©¨[·®_™Ð—ãÞ{ï§OŸ.Ò2¬^½Z4jÔÈó?õ[“&M<×ÝtÓMÏ÷wèÞï¾@7Ô$*-P³4ÖEõ¨Œº–Œ&7šÌ„}¼pCWhå¼ßxYÔ~'Å]Æ4 Ö† FjÿµqãÆ>u‘––&Þyç"­{!„øä“OD½zõ‚’ýV©R%ñæ›oêÇî"Á† D‹-¤Ï&û‘ë„g´ºÛ¾}»hذ¡i›;¶HÛ*ذaƒHII‘–?>>^Ìš5K¹k÷îݯ'%%5s¿÷5ðÖ¥m)ÂÐáŽÁ¸Ø \°~ýzZ´hÁòåË¥§¤¤°xñb^}õUŸ•SK4hÀ† L³Ãáà‰'ž OŸ>?~@iذáÐ_ýõýI“&ÕE ãÊÅâcW„èŽJœX¸p¡ÏÉ›nºIäv! PÀ™f>MII)çç2™%Ãìš°CQϦÒo{öìI°X,S ó ÍuÁøÜ)S¦x äSo´VtêÔ‰^½zyËÎÎfРA… @¯P¡BµùóçwÃÜ‚!Kî`–ô!еZal‡h_ †¶^ÀÒ¥KiÚ´)Ó¦M3µ†‹={öpÕUW1`ÀS·]Y9^}õUš4i‡~X¨çƒ*kƒ ¢W¯^üöÛoÄÅù%õõQµjÕ²x[0Œ ˆ™kTD­:èŸi,ŸOÀwíÚµ€\m\ IQŽ;Æ­·ÞJ§NøñÇ ]8§ÓÉ Aƒèß¿?¿ÿþ{È¿?uê#FŒ [·n>+‘'OždĈtìØ‘;vHßÓ]»vpÑEUÅ7“˜qÍ ½¥"#ë…ßI¢bÀ}ÀG¨Ê4/½ô:tð±bƒïôüóÏ3kÖ¬1ttèÐ 6x’;葟ŸÏ<Àµ×^«­™£4jÔè΃¾Ö²eK}\†qÊk"*úb8]¤®Gmh„L›6‰'JýêÚ¶mËÂ… ì-ˆgæÌ™tïÞÛo¿]ºpÔêÕ«iÑ¢ , k×®$%%¥?õÔSËvíÚÕyÉ’%'ûÖÁyÓs±¬ÞX@ ؾ};ô9ùðÃG¼@Ñ‚””¿ç:Äe—]Fùòå“$§…ɾöÝ(?aU:Ü®O Bˆr¹¹¹I‹¥,àB8„Žœœ—ÓétØl¶¸¼¼¼¡B§;{EQ«Ëå²iêLlŠÍfk˜p…Ífk£¹S|÷ÝwÜvÛm>ƒßСCéСƒ×±?þøÃë{||¼W‰Ç#„—›³fÍ"##ë?Ûºu+wÞy'ï¿ÿ¾çX^^^Þ‰'N9rääüqbÏž='NŸ>­(ŠPÅiµZ]‹ÅïLHH¹¹¹ÿôîÝ»Rrr²3%%Å‘œœì¨P¡‚#%%ÅŸ———i·Û³Îœ9“ùù矟ݲe‹–îSï.LÛ >ñúÿ ]†Â$mÙÙÙ<þøã¼óÎ;Ì;—îÝ»‡ü¬?ÿü“N:8ÆçرcÜ|óÍ|üñÇ,Z´‹%´¹;»ÝάY³˜ù¤ÏÿïÝ»wQWy‰ÂŸþéWYxùå—…Bä«Z±æ"õª‹”f&¿¸ôA5_¤£ºÞh²$s»óÌx‹ÐÚµ²b€âi!ÄR!Ä>¡‰°â§Ÿ~5kÖô©§ääd;Æ óº®}ûö>¿=tèÏïxài{<ùä“Ân·‡ûo !„Ýápü˜››ûö¹sçF:t¨Þi ™DdOSw*Q }® V‡Ãñ®B,[¶Ì§ŽË—/oú> 2D>|8äÊà.·\ Fðí‹êvy…[62PÝçêáíz©e9ߟø¤:…âé#$›EñšV?þø£¨]»¶i;U«VMlݺµPmTœÈÎÎô+‡sçÎõ\æÌ™—¢º¿Uç¼»TaÖÃé"U Ô4¬f3UªTaùòå<ÿüóRSð…‚Zµj±nÝ:ž|òIéÌ—Ëåâ7Þð|¯Q£F-Ô_ÛôŠ„Lqˆvw©>¨ÂÎÒ¥K}NÊRÊ]Hä"¥¹ðÄÅÅÅU«V->ÈÛ†sê)Õx?ð10 ¸5~(,iw²²²Ø¾};ƒ&##Cº~Êĉ©V­š×1»Ýî㲩¥}ÔC¶ÚëÓO?- èœ2e 7fþüùœ8q"lë'6«Õšžp[rròË5jÔØät:·ž;wnP‡Œ},_«bv‹¥È-II2cН¿þš~ø!䦥¥±`ÁV®\RÀþ¥—^Ê×_Í»ï¾rf+—ËÅš5kü&([¶¬×w½£bÅŠz)0Q:$ׄJ2ü•×8[´hÍf»λéa&›GŽáæ›o檫®"//¯Àå¼å–[øå—_1bDÀ÷ [·nìܹ“^x¡PY/Ÿ~úiÚ·o϶mÛ¤çý¹HôêÕ+ _ †“ó ÙÊݼݢŒV }JZ´}!ŠUŒô˜ŒJ²ùå—_èÑ£‡©Ûk÷îÝÙºu+mÚ´‰dùŠeË–åÿþïÿ˜6mšTov8Œ5Š×_€”””ö_}õÕkåQÇf4†]g §‹T-0÷oîÚµ+|ð5jÔcJ¬V+ÿú׿èÚµ+C‡åèÑ£^çõ~à+V¬‰*(à=p€ïàá29MhªYÓ8$$$på•WK¡¢IIIX­VSEU¯L7jÔ(éèÑ£FÌ_Ûµ\܈ºnE]íÀÞ½{Y³f þù'GŽ)tÞx!§NâäÉ“œŠeNNŽár¹ÈÎÎ&11‘êÕ«WÔ’5R ñ¡X „×*ßú2yÜ5Þ|óÍ‹ps¡ €ë®»Ž3f`zM0¨T©o¼ñÇçî»ïæ×_õ:_³fM^xá\¨çh7nÙÙÙÌž=;èuÁôuÓºuë4`7ænR²Ï`Ü¢ÐïG¹èƒjµg÷îÝtïÞ]‹[õBBBS§N塇ŠÆx³¡( >ú(={öä–[nñ‘K€{²eË2tèP*T¨ÐáË/¿|¥ZµjwéäJ?±¤W.ŠÎž(Ì &ÛB1þ|Ÿо}û §ÓYd&£Ò†cÇŽI]ΜQ#|ÿý÷óQÝ[4g]Îg~ÐLàšyÓ“%„èu•úX!Ö­[çóŸ{öì¦Z.Y¨X±¢é¬d·nÝ<×Ýzë­¯áë"¥e™Ñ»HuvË–¨°.R©Bˆõú2/\¸Pdddíb®­bÅŠbóæÍÒz•™š·nÝ*zôèáuLQñÇøüÞétŠAƒû¬P¡‚¸ûî»ÙŒrNŸ>ý€»?(‡êz’èîÊà=›å/m_¤ |÷Ýw‰B—BŒ;6àÿoÔ¨‘øú믽F!ãÇ:tðy^AݰüÁápˆ3fˆÄÄD¯g%''û<ãÆB!öìÙ³ 5KÐ0Tr p%jö±V@STË¡1“Œ[„ˆp¿¯ƒ4³Ôßÿ}“V7²,@ñññ>Ç.¹ä±fÍš"m yyybòäÉ"!!AÄÅʼn‡~Xdff†åY¿ýö›èׯŸTÖeÿ[sáüR]™QË8 u‘¹þ¨nsQ3Êô}Æ(YéŠ[WÐoµ…'µúªQ£†´¾ÒÓÓÅÎ;ÃÒNÑ€ììlqï½÷Jÿ»Õj}ô‘çÚ¯¾újЄó.öUQÝâ´Ìretm_hw©°»H3°´jÕ*ä ¸ U«V¥N:>ǵºLJJªÆyAÛôf/i–€½ Hعs§Ï‰«®º*â…‰FøË­®·`4oÞ¼Šäm_r‘üU©áôéÓ 2„ÁƒÈU¥(Q«V-Ö¯_OÛ¶m}Îmذ?þØëX£FhÓ¦ ·Ür‹×q!<òˆÏ=, .dôèÑE[ðqæÌ^{í5ÒÓÓY³fv¸L… fž={v2æ±²,tFrq—©&MšÔÓž¿iÓ&Óël6O<ñ;wî¤S§NE^Žôôt¾ýö[^}õURRRhÖ¬ëÖ­cÁ‚… â•ÁjµòÐCñÓO?y-Ú&+µ:IKKÓBø\èÿx±Bœ'B÷)pÏœ—+W®)¨.rûöíóú­ÍfóJ°P±bEæÌ™ÃŽ;ÂfñŽgâĉìܹ“~øçž{ί«^aаaC>ýôSV¬XÔZ`š£víÚÕñÎÈ%³d­þ‚¹µ @èÚ¬¸¡ ®sQÙáppÍ5×pøðaŸ‹:vìÈæÍ›ÉÈȈx#…²eËòÊ+¯H³a9N† âÉ¢Õ¾}ûZ¶lYß &ãø  ì..-?•K FQwÌ¥²:Òê²\¹ri¨¢’ f"£0£,ê ºTmÕªU¤Ë•ðW¿ÿþ»Ç¤]»vuÜJ1|‡Šx`)jÐ «V­"==]šj8’HIIaÒ¤IüøãÒp³³³¹õÖ[=éN5 :€n¸ÁÇiáÂ…,^¼Øç^‹…—^z‰U«VI‰L$qèÐ!z÷î͘1c<¾úåË—èèÑ££ñMW¨Pü}›ÉLØßÔŒ;vìð:g³Ùˆ‹‹£M›6lÛ¶©S§†5­¹¢(ÜsÏ=ìÝ»—;vеk×°=  ^½z¬^½šùóçS©R%©‹˜–E&99¹âE]Tbsº› a³Ùšüúë¯>ï©ÕjÅåraµZ¹÷Þ{Ù³gO¡\ÕBAãÆ#¶pŸ>}øá‡xñÅ=ÙýÅa¤¥¥UÛɆžpZˆ1Zɨ֘öï¼ó»wïö¹@[!111Òe+Œ;–§Ÿ~Úçx~~>O<ññññUÞ{ï½»1×µ±@ï¹Pà~?\£¦¶##±¸‹ÀÕ‘V—‰‰‰Uð¶^è…D¯8”+FSÜr(#5Šty¢þ‚Òìv;ß|ó M›6Õò<Ë”Bã±`®1îëaÞEuÉ`üøñôéÓG:“NX­Vš4i°aØ3g6làèÑ£<ýôÓ¦òãÆóÉ«o³Ù<£|ùò\ýõ>¿»÷Þ{¥ä½zõbóæÍìÝ»—… 2nÜ8ºtéR¨x€‚@ÁË/¿LË–-=3¿iiiÿúî»ïú˜d˜¹Hy>#1GaµZ{|ÿý÷>ñ55jÔàÙgŸeÓ¦M!¯ì^T©R%¢ÉHn½õV~ùå†îsNoÕéׯ_‰PÍ,‹¥˜Ç_tíÚ•íÛ·óÊ+¯P¹r刔µ8ǃ>Èž={¸ë®»¤$J«£råÊ•oÚ´i"ÞäB¿‰†?ba$}Ñ„¡ ®2yòdŸ“5bÕªUS¼—6Lš4Iº¾Ú’%K<“M›6rÓM7ÕÁ—dèÇŸ §‚tüá¢ûµ´Á(ŒÊ¨Báo¦BßyD#±Ðp©¶c\ $)))fír#Ð"ƒ_|ñW]u+V¬Ø¾}û ›6m:e¸$¹(}55&Ï?ÿ<3fÌ^”””D›6mhß¾=mÚ´¡\9ëú‡¢($%%‘’’B… HII )k‹Ëåb̘1üç?ÿñ9÷È#x­Ã3mÚ4>ûì3¯€â¿ÿþ›Ž;²råJÓYÌ РAnºé&ϱüü|Ξ=ËÙ³g9sæ çÎ :ˆÓ {÷îeãÆlÚ´‰ýû÷ûœÿí·ß¸úê«Ù¸q#+VT222¦÷îÝûÊU«Veá_ÙPðN¡) ž€Üp~+Šr%ÈÝ£z÷î͸qãÂöìhBÕªUyã7øè£¼äðÀ;vŒ´´4®¼òÊFsçÎý¥‹YháµÎŒX¼x±MQ”F '÷ß?Ó§O` ‹©©©Ì›7зo_¯sú:êÓ§O_~ùå¾dÁ¸¨¡¿¸& ë»^$þóŸÿH -X°€ªU«Fº\Q_|‘uëÖù¸œ?üðÃ|ýõ×X,–ø!C†´_´hÑIä㾬±]zÐw±Œ˜Òþ\¤âââÊÖ¯_¿üþýûõ‡ÑŸRóµ´p^iÐܤ¢ÉÞ™®í³ 5hÐ â…‰VhqKFW _|ñ…gÿ†n¨ï&È„iŠÒ ŠTxà³Ï>ã±Ç“^Ô§O>øà*UªÄ-Ëœœ† "]|)==I“&••u.))©|íÚµyî¹ç|²G3Úa±Xh×®>¶À³èV›6m2€Oüžëu“Nn’!¥oß¾£ÎªJ FçÎ#\ºèA§N|þÏ?ÿìÙoÙ²euà'ÝOBMî3ÚÈ@?Ôd6Ìž=Ûçä€hݺu¤Ë5P…gžy†k¯½Öëø7ß|Ö-[hÛ¶-õë×OÖJ~n”mÓú„!¬.R¹¹¹œ¹ècð…Ì‚¡gêîttšIK! ÞŒºA5‹àK0.ßÉ`””ä×ïwÇŽž_;tèPOw*ráh˜ÉÌ]@%‡ÃÁý÷ßïC|Eaâĉ,_¾<*ÈÅ—_~I»ví¤äÂf³ñöÛoÝnψ÷NÉÆ%—\ÑòD’’’|’Àœ={Ö3yñÅ×ÀܽÉh]uŒÂ€ž ®÷pðàA¯‹…gžy¦X Mèß¿¿4P ö®^½zT÷(}FAY² c±\¥ÂE0L3H¥¦¦^Ћê .R5JÅÛŸ:!á‘Aãìk,Ó˜7ü¹I¹\.Ô …^q‘ DC†8ÜÖ‹÷Þ{ßÿÝç‚û￟ɓ'{îß¿Ÿn¸nݺñã?úœ·Z­,X°ÀãòÒK/-Z¾|ùñAƒý733ó¬¢(,^¼˜-Zøü6//gžy†FñÞ{ïûL_«V­Xµj•4àù_ÿú.— ‹Å’8}úôîøÆn…ü aŠÇP¥7À¾}û|d«K—.¤ëÃÀ±Z½×¨Ô,Š¢XF})þƒó‹%X¿ °X,—€:éd”¤¤$.ºè¢b)W´@F°4"V³fÍšnë`:«(rtðB ÀáÇ}&¶222HOO—þèBƒ1"Àü@¥J•êV©R%u ÐÇb“‘4hDœ`ÄÜ£‚ƒ?)€:uêTF±2O €TÙÌYÜÊi´!˜8 €J•*Uºì²ËdÑmEE2†µž}öYŸ“uëÖeêÔ©~ËndffòøãÓ¬Y3ŸT´¬V+|ðƒ `ýúõëÇ·Ì™|8íÛ·gãÆáúKA¡Q£FL™2Åçø¯¿þÊÿû_Z´hÑ yšk³”…Rr¡Ý»(IFVVVàjÀ³­Z[]hHMMõ±¤mÛ¶Í“a«k×®- î}6#QEQšº2³Q‰lÚ´i©X,­0ðG0RSSý¹–’éÉ _Ä9ß{µjÕò9¦Y|,‹­{÷î5ñO.dM‚#\15!à]ÈÆÙ³gÉÊÊ"))‰´´´J¨íç@™å”yz…Æ¢ƒ|­ ®àë/þ…†@)—.]ÊìÙ³±X,ÜvÛm·nݺÿ G ªŒôA¾·€d¬™\õ˜7o^¡¹ гgϲyóf6lØÀk¯½ÆÑ£GM¯µÙl¼óÎ;ž@ìÇìÛ·ïRÝ%®3fì®[·î‚Ñ£GßR¹reåóÏ?§G¦k{lÙ²…Ë/¿œn¸~ýúÑ®];š4iqeèÁdÉ’%>ïÎÿþ÷?®¿þzªW¯~EÍš5“:”ƒºš¯¬0óÍÖâ¹¼â1Šªì‰‰‰Ãx»ÝÎÛo¿ P@ IDATíuÎjµJ3{](¸é¦›|â0æÍ›Ç+¯¼BãÆ[·hÑ"yÇŽyÞBYìP刹G™ÁÁ([¶lróæÍËïܹS& zD½˜ ä#6}þ€Õj-ƒJ(ŒYÆÌÖG1öýÖ oÁؽ{7·Ýv[˜[º`\LÔ:mÒ¤ ©©©9ŸVRO*ü¥§5*ŒÑ øÆ_€š¢²C‡/PIÅ¡C‡X·n=zô ÿþmGeœN7#Ö>ð wpáÅëÖ­ó)CÍš5ùöÛoùöÛo‹üÿ™áÏ?ÿdÓ¦MüòË/A¹)5lØ÷ßß㣺ÿþßzöìùVff¦àìIž0f̘M•*UŠ¿ùæ›o¬R¥ 7ndܸqÒ,T>úè#>úè#*T¨@Û¶miÕª …ü§Á£~ýú>Ck/«Õšø¯ý«ãwÜñ æ“f ²ëРТÜðßÿþ—ãÇ{s:¤¥¥åãJ<>øàžþyÊ•+7uêÔ®W_}õüO"`ò=Zƾûî;мƒ—5üý÷ß~ß¿ ÆÛà]W}úô©¹sçN-6X‹VIA2àÓ?|õÕW\wÝu/P4âŸþñ9vìØ1Ͼ¢(Zü®ž\8tŸúEýHPýE8FîÀ]ÁØ¿¿4¥b ÁA#•+WÖ†ŒXøõ›&ŠüX0bï¿ÿ>=zô V­Zµ\sáÂ… —²f ùô@aê€Ú™qèÐ!i^òhÁÈ‘#yñÅ=–M›6mìÞ½ûÿåääèý0¼rÈßrË-k\.WîÍ7ß|sbb¢íÕW_¥_¿~Œ1«ÖáÌ™3¬^½šÕ«W‡ë/ýû÷ó×_Q«V-:vìØØŒ9±pIöõÙè¼ú"Ê(u9Ð àµ×^+ì½.œ;wŽ?ü;3N:]iµZ?v:ÆwÚßZHFëd±ãÒK/mˆªGH-Ÿ~ú)Ÿ~úi¤‹õÐ×U‹-j;)}äÜC–QqïÞ½Ròƒ })Š¢¹Cic•p8ÜÇíœ÷ñÉHL6Òp8¹W×î+#1Z¦¨+Ș $f3ÒÑØ‘˜Z0b}ô‘§.GÕÎä²`\(ÌŸ:¸'&8P„%/Ú¶m˪U«xíµ×4r!/^üI‡êÈ…q=m&Ç>lذ5ãÇŸœý7ÀÕW_Í?þȘ1cºŠtQC›Üq/Öi ð6 ôÖVu5ST‹ª_¹T%AŸv9ÿ˜7oÉÉÉUŸ{î¹`b1¤ãADVP V«Õãÿ##1È‘™™éqªW¯^ Ì­VtÏo¢D$Œˆœ)¸Ãb±ècweñ¼Qäíw Œ ­NË—/o\¢8”$š#EˆÌÌL>ùäÚ¶mÛªFÚ …Á Éð,N¢¥Åf\~ùå¬\¹’Í›7Ó«—šýôôéÓ'žzê©y7ÞxãçîËŒÄB3 Ûu[þÌ™3îÙ³çƒøÔÀÛ9sæ°ÿ~|ðÁ‘VY·˜¥•ÀYè̲Hi(Êþ¥>p3¨ÁÝÑV2°uëV¾ÿþ{† ¢å³-ˆbÐâ/²³³¥êb0‡FÈjÔ¨¡e’ ¦Oz™0Àø’Áª¦¥Ó¼_dĘäß%TŠp¸Hy†,'†ÂA«ÓÄÄÄr*T°9sF äÒÎÆp  L™2ôîÝ»¸ËR* Yâããžyæ™VwÞyç×x¯Þ rwˆ`:Ïû}ê”q±ðâGbb"]ºt¡gÏžôêÕË+2;;;sñâÅ«FµáŸþÑ‚›Œ+Ý­ú;aÆêÕ«÷ôŒ3šÝyç£Ê—/ߨzõê¼øâ‹Lœ8‘/¾ø‚5kÖ°víÚ¨4Õkë)Š¢ *²ÿ-[GGÛLݤ ‰‰€Íáp°páˆƫ”ÌŸ?Ÿ–-[R½zõfÿùÏÚÞsÏ=_c>ƒäXÔ0:}©Ñ »ví¢OŸ>¤¦¦ÖÔdÉÀpmT¹ÌI#E‹š¦ÓèfoÜü& „p `¿þúë¦+ÇP0¨)®P.»ì²òkÖ¬ÉÂGíþ–9 Þ®\¹²¸ËRêЯ_¿ŽÀ:¼ýèõ.AfÍ~ —Ë•¥¥~øá‡ÉÏÏG±ƒFbb"ÕªUóluëÖ%>>Þë»Ýž·víÚ/G޹ö¯¿þÒ‚}ôDK–EËX>ãÆÛöè£Þöá‡vìСCÏjÕª]Q¡B…Ä믿ޓéèØ±c:tˆ£GrôèQNžþøão 4è $⨄žÙwýZtÇ=õ¯?Çù÷ZB¸‡Ãét:œ*N§ÓépCÛ·Ûí^ûv»Ýáp8œÚ~vvvþêÕ«÷¼ùæ›].—ì=0 íò ìÆ—XhŸCݱwï^ûu×]· XÛ AƒÄéÓ§_ѰaÃô¸¸¸ä¸¸¸rº-1..®¬ÍfKÐÕ‡´)»ˆè‚3¥7ÈÊÊ:ƒo»kÏ5ó݇Ԭָû}œN§âr¹»Ýnq8–üü|K~~¾577×–——gsÆåååÅåççÛòòòâìv»Ín·ÛœN§UÛ\.—6†xêÙXßÑÞ¸ßg¯}íÓb±¸EqY­V—ÕjuZ­V§ÍfsÆÅÅ9NŸ>}ÿ“žÛ†³ü¡Ân·7Œ‹‹ÓÞCÈÚKÒ¦eÿ«8žž^ ûu7JJ­Ä½œowÿ¡èõK‡Ãau:V‡ÃaÕïkº¦¦—¢ë‹%}nI©3èûíS;v,‹à' TfŠ{¡á6Ák›frׂ µåÉË6í¸>èПÿWIoø@0*HzÅH¯å¹·ÖëÞòñž}u"JÚóÀ-üFG“-øHË|£­<)[…Òß2÷ŠÌÈ\4yÉwoy’M“;ÞäU»Ÿþ2Óª¾­´<ÛúöŠ'ô•£ :Óæ`è;UýÿÔxë †ž\è š¾\²ÿ'Ù·â-ŸfYš 3ÃhT*Œéf–š||å"_™0þ/¹(L—¢3´zпûZýée)˜•ÈõŠP2gmúw[{¿µvËÅ»=õcCwO;׸ ëÿÁ»ÝõÿúM& f™pJJûË ³ÂeA“ƒ\ݧ~3ʃl¢2ÚÔ(Š¢ï/49ÑäCÓ-Ý[Y¼å$ØLI%UVŒ§—£¼h2’d»7½.©—Ïøi †?z!´FÖWÀ…J0ü †¾îŒ ÙìtI‚^ ÆEï#¨¯Ÿ@Êji„™"­W(ý)‹Æ¯ÂÊŽÌb /“¬íü-ê³eåd½Õ“‘`ècY´òiÊÓpß8Ý1mÔò‹ûËÔä³ ÿ_û4Ö¿~Q%ÙLV4YBýɵ¾@w^öþk(iý€Ì'#Ç2,kÏ’ ãÿ7“'çÛX“…@ã@4Ë„LÐ>eú”L&ÑGIG0ý„¾¯Ð÷²Iü+)ÉŽ±^Œ:L^BF¤†¿Î@?˜ë;3Q’ÜèÁÀlÖøÂ5AÉèP¾í*›—‘ ð–+³ %=Jº ÉÚ4BéoFÞŒ”†";Á(䤰(ge³øfDÇ4s”ä˜ÌÑ8ën¼·F2ô³ëš…6Ø€êÂÖA A×L)‘Õ£ñþE cˆÇ#¹ð÷þàxqÁß{ío¢N&«þÆ‚hÌd@¿¯ÿÿ²¾E»Æ‚÷dFi šÚ~ ²iæB©w¹8`¦gÚ9ß/ÈÆ£´@¯èëG³x"!õa#Ba0yúktíÅ׿(2w =J³h)yÆŽÕh÷G2¢B½ï8˜+ªf– ¡;gæQÚ寨Ýbd1ÁÄe„òü`‰ºóVŸ/‚!zåD?£ïOY3¾WúòÊ£õB–g<›TaäÖlV/Éð7ÀDþˆªÙä‚LiÕaIëÌKíè0Û2êÇ7ÌdXëóõïŒv]Q÷+Ñï´qrÄØ’…’­6{/ôn f“ØÒ°–TY1›¨0ÓÅe“Õ&‘°`Rõ€v.ÿÙ ²Ũ0C2JZG"“M&ìºkd²Œ{TI—)³ö FÑÖ¥"ED6ÃhTøŒäBpÞ¥(˜ö ¶­då5Ö…¬Nôu#›4s%ÒÊ¥­¡}Z%÷w 'úÿo–°(ëÁÌz£ŸÁ2SD"Ù—ÈÞ­®†ëÌÈEIŸµÖ #ÌÈb(ïv´BÖ‰…ÞíÝ5dACI Ù„£ö)«™;¬~¤¤ê2ø#V|É…ÞEµ4Ȇ?ÈäF6aˆdøÈJ H»H¹PK¦pR¡àmI„?æˆd˜ FITôûšìhòc6si´^”¦Y«`!SªÍH†Q‘8cm°4içÍfô¤Pfm2[̧0 a ‚a,ŸŒdëÈX7.¼Ÿ£Y/´ÿ¡¿N—¡)Cf Ù"…­ ³:É‚Q&ü)#Eݧø“]™åRF.J‹õBƒY[Ä"%Š9E­–!ËØ¶²Íø_µ÷Dß·˜Pre@@“F‚¡m&J2Œò!#žšKÖš„,m0{—Œ$CfÅIN"ä-cLúãúøBðHF03WR…1ZSCHðþ¿˜×”»@¾×¥]n‚™­0Sª 3ðhm&브m©7Oã+‚!SÌôub¬¹0 3’¡ýWãög½0S† "¿Á #© ¤˜†«ÿVýÄ”‚ïØ¡¯ã@–°’üþ›ÉµÞ"§µ•‘$šµaTŽÈH¦Ì*ª'õ%=GÄ^Öçêg¥ý¹ÂÊú²’$ÌÆ@ij´’O3˜‡ú¾^æ>Ì$“ÂJ0tq4Ñ©¿Ì½égö.×–``F0´OãÀâo浤uàÛéiòc¦°†Ã¿$ì31S¬eæsÙýôß͈ ±¾r«WÃE…äS_FéÒ×q?r¦Ì4¢¡);2%X6Û.Ûô÷/ üÕƒŒTRL½ê ˆç,ŒeÕ“ ç‚!¥éý—ɵŒd˜YådŒhübãû¡W”Œ“M¥Y´¶3Ód +dÞ Ñ,¦pë™f“[ôr£ö¾Ð¬M4É,Ù^¿ f’:’.RÆ) ßCñ›ÇÏñÒ³Ú§ÙÀbªE«õ½òjìDõÇô~ï²àÒ2{Y˜)Øþ”k—á©iâ&¥ß7Z›´sÈ`Qµ—¬L²Á4P]ëÃ…o½êË«õsÆþNû¯fn8øSœ<ŸÑ2€„ ÈÈd#ØäB—%cÛ%3ú}â#i# ´¿÷>\í$#XÚ¾†X进ɜ¿:‘íû»WQÂŒtdŒ×‡…`+ŠS–¢iKϵÑ66øéO´ÍÌÍ0XkVi„?’)³DrýŒ6±!虥]&B¿qÑóªPD”`xê+²}Ù÷ÎCÖpREªÄönf´Ìˆ†Ù5!cÉ’%e®¹æš! oæ>Q  ·Ï~0âc¢hŸþŽy{ÕL½Ùù`‰–‘Hø{†6[¦¿Þ¸oöÿƒ`)¨|›•Ûßÿ4qQÀ¢†É8ŠÂp!ŒþHo0í•cC$CF8‚!¥Q&üL0wûô;‘¥¢4üô>—F 8Ñ zd¡uÈb!ž‡Ëm¡rc> ­ƒGAabÍðw,˜s>p:/Y,–¡»víº(==ý\(¿RRˆ¥ÇBŸH`qL(ø%ã]»veùòåíãââšY­Ö†@Žâwà€ÃáøýÝwß=4räH‡ä`$#ê (‰V 5°ø;‰î%ˆÉ¨ A & JÌÄ“»éC±d…:Qh’@¶ùü.ÊE#$ÄôÌàÕð…í#Š•`èa"1„€h0Š1)R¹q:,ËGBˆq‹efQÞ?ŠaìX t?$°¸i0!X6lHl׮ݽ‹ån ¾Ÿßç !>ÈÉÉ™Q®\¹_uǵò²&ʬÁ*Æáì•Ûø=$«VQB2>Ĉ…˜¶cI'Bt Æý¥´ÊH0“Qa•,nÄôÌÀ(Êþ!jF 1„Š}EÈINNNí2eÊì*ºøê«¯víÚÕéïw% ¦/|Qõ~¬þŽEyyyãããß.6ž;rä+V¤L™2ÆSÂår½8gΜ§|ðA»É­Íþ›¡ØëÄ ¿¤£¸Ç ? B´Ô_4@ÚH%…XèaÒ—k!5^s! ˜ ‚bµJÆpá F0b(U(è… | \a85HQ”%…,VÔ!Bî->‡ÂþÐ àt:‡Z,–ù¨¾ÛìÞ½›¹sçòÃ?ðÃ?púôi¬V+5¢yóæôîÝ›[o½Õó\.×Öï¿ÿ~@›6mNnl,‡Ìm*Ú s¹,Žr˜"6%‘TÈPËh‘ÈÈ_ýU'--mp0× !²âãã_)Šç,“Qa•Œ¡ô#F0bˆAÅ3ÀS=ö#Gޤ~ýúËõ£Ø”–½¨¤.öX!Ä`1`ÍÏÏçÙgŸåÙgŸ%//ÏïM:vìȼyóhÖ¬.—kç»ï¾ÛûöÛo×btÌ\Ì)}Êæuóº &Æ1D ŠÓ2š——×%>>þ‹ /?¦(Jp•¥0{‰cä"†°"F0bˆºŸ–åË—sÍ5×pÿý÷3kÖ,í|{EQ¶H~'Њ4Hª4#ÒÐBˆ:À. 騱ctíÚ•_ý5ÐÏ<ˆ‹‹cîܹÜu×]äçç/KHHªD›v­©|CÝDôy1ÄPP‡eÔáptµZ­_äççãr¹|®‰‹‹Ãjµ‚J0ª‡»LD‘ÄÚÅC0°wbˆ¡˜Qx°üõ×_Üzë­!xë­·8{ö,Bˆu×ûK—è“ÑDq#R¦$AÑ xHBpÛm·…D.ìv;£GfûöíÄÇÇ_»{÷î¨ –ê7«n fá¯h¨›b(Èm 2_¤hÛ¶-eË–õÙžþyýeþ²\…~ë#öÞÇ)ÄF :Þj:† Âßÿ @ff&o¾ù&Š¢ÜpöìÙ‹ð(Ìr¯K•ÈÉ(vtúÌž=›•+Wè&ùùù <˜¬¬,êÔ©3ˆÓm2¢aÁ—h1¹ˆ!†Â ²¬UÑïfµZCÕÆ®2ÂS$e“lç›Lˆ¡#1\Èxè0qâDÖ¯_ïurΜ98N[RRÒh¼WŒõ·ÉHL™,^Ü••Åc=V¨íÙ³‡™3ÕìÅñññm+UªTo’¡'­1¹*£&mh 4,æ²h¨´º—¸¿ÇP„ˆ _ É'Ï51Ëd ¥1‚Ã…ŠëgV­ZÅ´iÓ|.8xð ü1‹åÎ+V$ãM$¬ÈHS—˜˜2Yl¸`ÇŽºƒÁæÍ›°X,ɳgÏn$ñîMF2d$4’n .ÖÇo€ÍÀoÀ_Bˆ7Gs%a™ªÿާm¨ë~þ¾B|¸ÞÉ“'ëÍ›7ï€J0‚%>ä"¦dU¯€P•ùŽøŽo5E¹Ãf³}ïr¹>>wî\=üÌ0b¯“€¨¤'Mr¸BQ”™Õ«WÿÅn·ßæ2Å`Ž[€ßM¶C¸O•êÕ«ï5n•+WÞ[¹rå½×^{m$O±6¡´ÁV܈!†£ð PÖétróÍ7sâ„q9ƒóظq#›7o¦]»v$$$Œnذá{öìøþzX—û¸Ë½YÜŸÔÁÄ,{P aA=mgÇŽErÃ#GŽpüøqªV­JÅŠ›¢’ àto÷&³RhmïÂ[~b(ZË€: ÆO-_¾œ?þ˜sçΑ––FµjÕhß¾= õ¼.99¹}ffæÕÉÉÉ;ýÜÛóÎBHYá’÷€kµÛ¶mcÙ²e=z”cÇŽa·Û¹ú꫹þúë©Q£@›Í¶ØápüËf³M6ÜOÁ[FDÊC ;;[?vø´i¬=c(-ˆÁHôLJ# «‹‹óÒ„u”p=/33s_¥J•2uÏ«Ô,Èó‚y¦"7>>þWÝ÷XT0\üu¶“É“'óÕW_üÑÌ™3Y¸p!‹¥ÞçŸ~M:uþ‡·eBƒF"4ES\#H",m§\¹rEvÓÄÄDŽ?~o‚áÀW>dÁ˜^JFL& „AÀ| Ñáp0jÔ(ÞyçS7¸¶mÛ2}útºví P-))iÝñãÇ»V­Zõ'Î+{FÅBk# °¸ Ô˜ &°dÉKéÊ•+¹ÿþûéÑ£ .¤råÊX­Ö§ìv{r\\Ü#úg›•+F4Š7Þx#ùùùÒs¿ÿþ»ôø{ï½Ç¦M›¤çºwïÎý÷ßÀ™3g4K¦1\!66ÄPšˆ]D˜Áõ@ñßp>/??ÿ*ýó\.׃á|žâ{ã4n"Âi-Kà6\ñV¡k×®‹%¨¬6›MüñÇB!òòò6¢”j¨¾Õ5ÜŸÕP] RQÝq* ’ëD  ªÛŒÞU&Öf‘Û’´vŸ;wn‘dj©]»¶vK1þüÇΨn9íQƒx›M‹‹Ür’ª“‹²¨¤$.&Þ: !\B‘››+®½öÚ ÛïÑGõ´ŸÓéü~Ô¨QIøº¸™º·(×3Ú½—,Y"l6[PeJOOGõ”+++k¤¤LqÈ3”ÅÆÂo÷huŸP¤™n½õVO»¾óÎ;ÕÝcB‚®]õíkË’¹%!.B´B4B4BTŒ‚rÛ‰ŒÌÀ—úÔ¡!DX}].—×ód‹î%„YøOóá4GYà àTeŸO?ý”ÁƒKK’ÁápðÒK/ßþ³Ï>k:(Äë>õ €~ÀùÞ1¿û" Ø Ð´iÓ"¹¡þ>+V¬8„y †Q!Ôqƒ,ßëýõÓßfO‚ê5|øpGPeúé§Ÿèܹ3G \¹r/mܸ±ž®LþRdžKΜ9#bÙåJ’€{€P6d¡Æ€mv .êz øø x 5Œ`¶Ò€H¸HyÜÆ϶mÛŠä¦dôèÑÚW=QBEaË–-<òÈ#’_‡Ž:uêðî»ï`·ÛµŽP ‡{OÍô^$˜6míÛ·G‘‰á?>=ÇcæU/´DuŸÈ8yò$÷ß?~J¼žŠ×_‰'’””Äå—_~ )$šÛ‚Þ5Jæs¯YÚb~÷ŃyÀŒN:ѦM›BõCŠ¢0~üxìv{ö’%K΢’ 'ÞŠ‚ÖîNT…B;¯—ƒ˜›TÁ0Õ:ļyóX³fMÈ75j 6¤[·n$&&ÞÛ¢E‹9;vìpà;퉟ÒÁ¬½”cÇŽÑ¿²³³C*Óo¿ýÆ“O>Éo¼ß¼yóñ’²È6ˆQÌÌLýDƒ6Ë%›íеet¢0Ap®øµÝÛÕÀ!Ä*—Ë5×jµ®ð÷#EQ¼Ú½$ŠA$†Ç‚±oß¾ |ÞƒA‹-ô_mè:XÍ‚qêÔ©"{^ãÆ=û999Úl€p8–¸¸8€"{@nn..—+[ÿ<ݧt?Ö)Qx‹»Þ-ZĘ1cütûÙ3g˜?>£G¦B… WOŸ>ýõG}ô€î- [Ø+óµTeõo«Ha>0Õf³•yûí·iݺµ©u Œ3†ž={°uëÖÕN§S³Ximç•A}à·žd˜e ŠÉBpðÏ?ÿ0eÊ”ÝÀáp0sæLºu놢(Õ>ú裫4h°oEÞ7…¯hl«‹PcBøàƒ8räHÊ5þ|~øa7nL™2e†7nÜxÂîÝ»xÇrËçU®Ø½8{ö¬æz§MFû =bm=ˆ¦r~rP“J¬^½šŸþ™ãÇsâÄ rssIMM%55•ÚµkÓ«W/4hêÐ×b±ôu¹\Ëÿù矒““÷Kžå¥'ÀyÂQ’D!¢#999\ÏŒp!77×ÊùºN§3,®fZ}9ŽP]-üùyzuL°âz50u°çðáÃÜwß}!¹O˜aöìÙÜwß}X,ëÃ?üÑ€Ž1â­o¾ù&‹óŠ¤Þºe$€>³›µŽNçÒÓÓYºt)C‡åôéÓ!ÝäöÛoç¹çž ///käÈ‘ÿC}7–)MºÊÅ2*—¼ôÒK;v¬À7Z»v-ÙÙÙ$&&R¹rå^ÀZÎ+ðz+“ÑÐ+€]pOh|òÉ'.“ÓédÒ¤I,\¸EQÊ<òÈ#uFŒñGe2–+†(¹sç4‚¡à D?ôíCt °5¾!‹-bþüù¬[·.¨ÉªK.¹„òÀP¡BE¹:))©G~~þ„øøø9ºKõäB•$¢ ‚ñîÊ #Áˆs À厑²³³m¨lVÂí2UäÐê+???_‚¡ŸÁÒ§EÕŽ)ɨÌÆ=ƒðÖ[o1nÜ8Μ9S$Ø»w/S¦Lá‰'žÀf³Å7lØpøçŸ~íÆ߸îºë–ž>}:o·) 2·/…4¦ „Š¢¼àr¹Z)Š2¸oß¾lÛ¶n¸!¨Ôµ6›™3gzÜ2Ngþ„ fíÚµ+µÕ+š[”>£”¿$ 1„†‹´uëÖêF999¬]»–þýû×€ódÑh}ÒÚIÿÞjŠ¢(.—«­¢(œ:uŠõëת\z—¯‹/¾¸ê"}N]™ôî˜z®XRð—EjÕªUÒ1%##Ã4Æ«]»vžýœœ=ÁÐÃ8.ÄÆ‡èÀµ¨qå@ís~øa¾ûî»n²k×.víÚÅË/¿ÌSO=Å}÷ÝG\\\™¸¸¸v»=ý‰'žóüóÏÛÝ—kãˆbøô $H J2’ÂH0Ð)n.—+¬ÁëYYYZ`¯D~~¾5ÀO „¤¤$rssó8ÿ]’Mpà|u¡ÌŽ+ÀÝÀ4Üþà®»îbíÚµEþ°I“&±hÑ"fϞ͕W^I\\\JçÎÇýùçŸ?þøã—†þ Þ³þü¦½Ü¨.€¶*v8ŽgãââÖúõë³fÍ.¹äŽ?î÷w“&MÒÇ|±oß¾çÎ{€óÖSm&Ro¹D,ôŠ„,i rxÆ¡C‡ }³_ýU#uQûu#±0Î4ƒÜbÐ`÷îÝ8ÆËCéS§ÈÌÌ$99™ *ÔG Õ»Ø#ÇÊ©V¦XŸRhñ–2´hÑBJ0† Âc=ðÞ999Zò“ ±¶Œô@M9àt:;v,sçÎ-Ô ÿþûoxàÞ}÷]>ùäjÖ¬‰Íf»ýÙgŸ½¸uëÖC| s©E#ZÅ"R+ygBX]¤Êp>í[B¸\–4deeÅ럙ŸŸ¢¦ÕWVVV.ºÿ‡wz;Y*Å Å ã`=ð*âr¹x饗HOO ¹ÐðóÏ?Ó³gO®¿þzONôråÊ]4lذŽ?þÒ¤I“š _ÉÙl•ïXæÀétÞ··ËöíÛ騱c@r*ÁxüñÇ=5jÔzïÞ½uëÖ­ Þ~dmlF2 ô¿£á@m§ qzØlj÷ír¹œ„˜VwÈ‚ÎüñIIIuñîóåò'g1DòòòŒcƒ42±ö+n\†ºnVÂÙ³géÛ·o¡É…Û·o§mÛ¶ž„#V«µÓõ×_¿ nݺ xˆ óñÜjC4ª‘ZÉ; ÂG0Z·n]ñ»ï¾ËÁ=ón‚a·ÛË£¦It®ÜÜÜ"¯GEQ<‹‚9s&_÷<'HW ÖÃˤV g>,ÀèÜñ ÎŽ1‚o¿ý6b…Xºt)+V¬`üøñ<þøã$&&’ššÚvÒ¤Iïßpà otêÔé?gÏž5³`èáãÓ \HîmáFà5‹År#¨&å3f0a„ ½].Ó¦Mã‹/¾àÃ?¤~ýúÔ¬Yóâ+VLš;wî{ãÆÛŠKEŒ\<‹ŽÖ¬Y“S§NêfU«V ???“óÙÀ4×6½Ë‚ñÓËÍQñ¢(T®\¹Påµÿw¯î͉'N¹Ë¥•IÆ`ôVј5¬8räÈ»*TX–““£äææ*yyyʹs甬¬,K£F.OMM]Ì}ìvû™o¼q¸Ö}+Š‚ÅbqY­V§Ífs¬\¹2C܍ɿ“,¤ŽåÑŠZÀ )++‹®]»åJ*>L—.]øüóÏiß¾=qqq·nÝúpjjê |ÝàÍ’;xô=·[|‘—³ ˆÁ«ã½÷Þ»oçÎßÅÅÅ)ÉÉÉñ6›­zXäFFFÆõ‹/FaONNŽ+_¾ü¥EýŒÄÄD,•':uʉ7ÁЈE Õ‚KcfšzÀ»À Î¾ð Lž<Ù“u+’ÈÍÍeÊ”)ÌŸ?ŸçŸžÁƒ£(ŠåÒK/yðàÁË&L˜ðèܹsâë*e„¿àÑ Ž.À{¨i9zô(Ç/PZS€-[¶Ð¢E ^}õUn¹åzè¡»;wîܬÿþï9rÄŽyŒ…Œ\ø»Àb§ ‚¸û·Ë/¿œü±P7ÓR‹gffÃ[‘—e‚3Z{|¤…?(Š2¸Y³fT¯^½PÖ•ôôt*V¬ÀÛo¿½ u"Å8s©•ËL1-­LaA5r€ÎןVßÖœ ö>Bñßÿþ÷ò¤t bðV õ)¬µ•¾cd±x0¨,„`øðáa!²³³¹îºëغu+µkצJ•*~õÕW[ºté² ß˜+³˜[ QE2J…‹TÓ¦MG <ø•n¸an¯^½f&&&¦‡åAnT­ZµËÀg4è•>}úÌNKK»¶¨Ÿ¡¯«'N8P‰+ëÞôîR¦+RúfHG *Wìܹ“víÚñøã ¹Ð㯿þbÈ!téÒ…;w’’ÒrÖ¬YKÖ¬YÓÿ ¯™ºMÅP,0â€_à&Ÿ}ö&233:t(Ç'3SM’צM›N»víštûí·_„«àC2Œû1øÇ9`ÀÍ7ß\¨uîÜ™Zµj°qãÆo1w‘ÒÜL]YΞ=û±vßaƪ\C‡àŸþùóµ×^Ó,²2r‘ŠÉUhN8ÎPã,ãL6}»ã:++S áE`ÀäÉ“Yºtiب­›“““`m×®Ý eÊ”)‹Ü%Þ¨ëE­Î)‚V©Ò-ÀàÈ‘#.Î }¼‰YFisð¯£®È 0kÖ,Ú¶mËöíÛ#^˜ŒŒ z÷î-=÷õ×_ÓªU+ÆŒC^^6›­ü•W^9óСCSÛ´i“Œyl†_!F2BÂÅÀ·¨‹žYrss3f ×\sM×A‘á½÷Þ£eË–lݺ€Š+ÖxýõןY¼xq/Ã¥!»LÅÚÛ?„/JzôèQ {(ŠÂÌ™3p:¹=öØv¼ÉE<æï©OVªTi¯b;À„ HMM-P¹ªV­Ê¨Q£Ø¿ÿwx“™¢QÚ'–" £uQ %qŒ{öØèC/ÛÆäI>c/—A]ôrêÔ©{ðŽ;xá…HHH¸xéÒ¥½0ŸP6Óù´‰Éˆ•Û"jÁÐ+Í…Å믿NµjÕün…ÝÒcïÞ½ŸW­Zµ"{žžŒ;vÌ…Üz! ö32Z(ÙS ª/ä ®ÆÝ¯_?|ðÁ/”VXüðÃäåå±jÕ*®¹æŸó.—‹—_~™Î;{²ÜÔ¨QcÐ7ß|³lÞ¼y—âÝnšõÉ_ ¾‡dDMϽèlŽN®]»hÛ¶-/¿ürX¶oß>:vìÈôéÓB`µZm¼ó矓––wZLöïj¬ý@Qeß¾}¯AMG]»víï3cÆ ZµjÀ—_~¹hïÞ½.¼yíýô§ z!77w<@ùòåY´h !•©L™2,Z´H‹¿‹-ús‹J >#&G‡WÝ !BÑ•|-Ôú$¡&€ˆµcäp#n‹÷„ Š,aC°xî¹ç<ëú´k×nòIe­o’Mzhˆ U¡ÄºHeggsìØ1¿[¨‹hùƒÓé ø¼Â,ød„¾®:äÂ7‹”l†Í4ƒTTH[è¨ l®øâ‹/hÞ¼9Ë—//ÖB|ùå—Œ5ŠçŸžï¾ûŽþýûû\³eËÚ´iÆ (S¦Lý;ï¼ó£o¾ù¦Þ3þ,1kFðxXŽÔÍ+¯¼B›6m í£v»Ç{Œž={züî›6mzåÏ?ÿü€ªâÝ–þö³P1Bi‚† ÚívûSuêÔaíÚµ4kÖ,èßßu×]<øàƒœ8qbï5×\³sW– ¬Œ€’˜˜øËåZЭ[7^yå• ËT¹re–.]ê‰ Ù¶mÛÿ¦Nºß¤\2W Så´Ë‘‚jÕ.¦{{ÞÅ+#²÷>5SöÜ2&Çc(<†šáiÉ’%xVV–ÇjR±bŶ'N¼_ï™%Ó8Ž@¼ö1©(…ÞÚã&ñç‡[Z,uM@3§ÓÉ“O>IÏž=9|øp1ë<öîÝK‡8}ú4Ë–-cûöí>£GÒ­[7^ýuE‰ïرãìM›6 Dnò4›-õjÛbï9¢ eQBz°œ¨ßêIçáÇÿÈÉÉѬˆ¡º±øôµùùùže¼ƒ%·={öä—_~¡OŸ>üõ×_?]}õÕ‹‚,Ï…â^S¸˜l΢¾žsï>Guq¹è T æÆÞ±´´´NÁÒf³•=zt}üˆ€¨Q£†òçŸfäååw¹\Ÿ !~BœB DÏö_5¸<ØûÇàƒZ¨2Ç~Xl…X¸p!.—·Ý³gÏÎÈãoe®RV¢Ìzùÿì]wxÅÿ~÷î’ é@ ”½éBGA¤ HU¦‚ê—*HiŠ UùRC‡Ð!ôNH©¤]®|~lv³w»{¹$Wø>Ï<¹l›™Ù™yçÓ^[ Æ›á»ŠŽŽæFn~oÊäâ`;€bD„AƒaÆŒüGW˜˜˜ˆððp¬\¹µkׯßÿõë×µ_VV† †#F@«Õ‚aeýúõç\¸p¡/¤u«sÓ¯þoᙃ `8|ø°Ñ"ßÞàÈÍèÑ£¡ÕjáìììóÙgŸ-:qâć°\mâ¿¶¶jµú‡ÌÌÌoÀÙÙY¶¾:}ú4<¨^½z³fÍšùCúÛËMG&¿¡V«‡À‹/°råJ‹ÊS¹reÞfãæÍ›§«W¯>?..ŽòXž7µÔð3€g`7Æh–pë\@+#,p@ ý®ÓéêIIMŽ™¾?Z½zµ§F£ùÃÃÃc,wÐÝÝ®®®|üggg¸»»£H‘"¥R©^¸pá;wî >Ë‚zš6mšgJJÊø§OŸÞ :ëìì<“a˜ö`ã>yg_«P@3}|`1XÛ³ÛD4)333è?)hžÐÙkbGjI¼xñgÏž”*Uª:rÈ…9\ÙMfG6ÿá¦öM„P‚ñäÉε1Ø\`ž×}¢a¬P`½8˜‹ªšP´hQܸqÃf®Ût:†އbæÌ™øè£Ð¸qcôéÓgΜá¯[¾|9®]»†­[·" @Q»víï¯\¹âV£F_!­ŸÏEæðŸ+[c4° @1ظq#­Vkþ.;`ñâŸ}û6¶mÛ777U£FÆ?}ú´bãÆ¿}ôè‘ÐÝ i|R‘¢ßæ¶–Åš5k–úé§ßPpA«,ÁŒ3кuk( Õ¬Y³:5nÜx,ד$ÆÚÔÔÔ Ã4XGééé•EXîS§N]KJJ2d—Ù9×¥r*6^÷ñŸƒ3€î`%M„'ž?ŽÛ·oãÙ³gxúô)ž={†ÔÔT„„„ 44¡¡¡¨P¡·àwb¦J¥êCD§ â .l«S§Žœr=ÿîbbbjlb&=z„‰'Šb-eee!++ ß~û- >ûì38999wíÚõ“»wïVïܹó⨨¨WwAhÒ¤I~_~ùå`ooïÁ Ã-–âââpûöm>ÅÆÆ¢xñâ BÉ’%„êÕ«s6?†™áââò=í7 kïÞ½ûW… ŒŒÿKD¨>DTT”C ²gÏ4hÐÅŠ«V‚Á­ù¤¾o©þĹ²ul‘=Ò'” '''³Ù‰McÇŽ%""N§»c3À0|Ö•Ú»`E¢5„‚5N* Ö0Ú96 ŒÚº )˜ˆŽr}%>>ž\]]óý‡ FDD´wï^R«Õ6o·ùóçsÅ'­VK“'O&…BatM©R¥èüùóüu7nÜX €¥”À/»-=²Û“Ó¿ä Ãù…F!h;{§D¤áÞá‚ ˆa‡·¦©nݺôâÅ ¾­_¾|y488¸&XOW\[«Êá À ìNgg%òRÞ½CrÙJN111­¹÷Û¦M›<µÏÉ“'‰ˆH«ÕfÖ¨QãS½Á.l;h )X‡ÕTÈn³bÙíÅ}—¼Ã ½^ˆ())‰¼¼¼,.G‘"EH«ÕÑéÓ§ÿð1€úƒ•Î} +€v`c»Ô;îW«N(/ÜeâûŽ£ÛÍÂäCD3ˆ(–¸}û6Íž=›êÕ«gÑwÎ0 •/_žæÎKIIId‚':n(¤I¤€2==½eeeeѤI“ÈÅÅÅ¢¶¬P¡ýóÏ?|f¯^½ŠnÛ¶mßìþÔìœ]ì‚¶Òˆ#êÆÅÅ­6 éÂB^¾|™ `q?òðð ?ü6oÞL¯^½2­ó}FÓ2›’… Ý C:AD´oß>‡Ï½zõâ®]»vŸx@G°k¾&ꀕh…€•â+Ýr»N0úö8äÚ+£¾ÜËòõõuxã½é›o¾!"¢´´´TãŒ0ìÄÓ ìdÓì`U 9#¯Á`ˆ%¡ü¨xñâEªY³f¾ßßøñãÉ»wï&ggg›¶Ã0ôçŸå{äÈ*Uª”ÑuEŠ¡ƒò×ܹsçUÀ.bÊ‚4Šð;px gð$…¼­™ú‘{w_}õ•ÿWs)44”Á„`dddLàÞ­OžÚ¦cÇŽ|»üûï¿;‘³˜ï -X”z0&Å!&Î ¹gMŸ>=ÏýäÒ¥KDD}À °cý°*0– ޤ¾Ž£=äÞ¡Á` ß~ûªU«V ïÏÃÃƎkô f?ד'Oa¢‚–‘‘ñi‰ˆÒÓÓ©C‡yÎS©TÒêÕ«ù¼ïV­ZµsvjvXíøñã£t:]‚°Î»wï¦Ö­[¨Î...Ô³gOºuë–Q•õzýÏ—/_ö†¼dîuè'¶J±DDëÖ­søœÑ¢E ¾Ñúõë7ì¸Ô,Éh Vz 2ØàÃ%ß¿híÀ!ïÔ^uá^V™2eÞx¯Cš3g%&&ÆøÀhŸ‚xzèvlŒ×›`”%¢¹þ‘••ES§N-¤kÆŒ$‡]»vÙœd¨Õj:vì˜Q¾/_¾¤ªU«]çîîN§OŸæ¯¹víÚRÕÀ.Êe·g ØÝ Èïp¿M Ï®”=ùkµZ8p Ã¿UKR‰%èÊ•+|['$$¯Zµj-°’Œ2&B©•¤Zd!h»'˜ ­V»‰ˆèÎ;ùj›‹/‘F£I  ñb¾ØÝæP n2WpÖëõ»ˆˆÒÒÒÈßß?ÏåXµje÷k««ëˆ F™2•1ÁJU^‚¡ ¢¯¹ïšˆèðáÃT§N«~ƒJ¥’>øàzøð! ›žžÞ5ûûR¥§§w!¢,"V Õ¤I“å9oÞ<>£˜˜˜³ÞÞÞÍÔ o·[XÍ›7S¥J•¬Zg•JEŸ}ö™‘Õ`0_TªT‰o¯AƒÍÈ 8’Ñ@K°D•Ó^á$«>`ç¡ÃaíiW/RÀv–‚{O& ¹š€lX,k‚K˜®‚eä¸xñ"Þyç|ÿý÷ùÒ£gK–,Á¤I“d¯éÔ©¾ùæ›|Ù2h4tíÚÕHÓÏÏû÷ïGÙ²eùc©©©hß¾=ïi¦J•*ŸüòË/ ª#ÜÔû€|¹S|ÐÀf° tëÖ k×®up‘,Ctt4š5k†cÇŽ|||GDD,«Q£†'r\N[¥Üß7¼½-)•Êwc;†¼€s éìììºxñâw!_s{£££«)ŠŽ°bÅ ¼|ù2ÏåàʯR©œ»wï^"û°páaú¿\‚àZ pÏ Åì0€êÞ½{èÒ¥ Z¶l‰ÈÈH«f¤×ë±eËÔ¬Y6là)Rd§V«]žššÚ¥H‘"›8%''£E‹8~ü¸ä³*T¨€É“'cýúõ0`\]]%¯ûòË/ñÝwߊ+V÷Ò¥Kã·nÝÚøï¿ÿÞR´hÑ””„¾}ûâÃ?ÄÍ›7­ZgN‡%K– $$sæÌ^¯Ã0eÜÜÜþÑét?oݺµÌ8–x‹Æ—ÌìT( thãìì, KÀy•ò(š›{{»•Ÿ‡˜L]Ž5lØÐáìðuH6l "¢‡>ð%X; N‚Ѭ£ ÄŒ×Á#˜ˆxý FCß|ó ©Tª|¿/•JEëׯ'Kžž.RY²E*S¦ EGGå}ûöm 0º®xñâtïÞ=""ÊÌÌŒ}÷Ýw[g·©Peª$äÕhÞIFÊV¡‹mÇÚ±cßOW¯^= ƪqÅÕ¸BÐ6¹%9[ëyÈ™4•—/_.ʽËÏ?ÿ<_m¢P((**ŠˆˆÒÓÓ“ú‚•`„#GI(-(ci‹N§ÛLD”™™I%J”ÈW9ÂÂÂø~±zõê_ÁîZöGŽ]H'äè`¿VÚYì¸Ïí^zd ¦*…±Ÿ´%­Åßÿm‘½Z­¦víÚѨQ£hîܹ´yófÚ°a}ýõ×ÔµkWªP¡)•Ê\ŸÓ³gOŠ')¼÷Þ{²÷=š233®¿qãU¯^]öžíÛ·KæsèÐ!‹æ"ªW¯ 0€fÏžMÛ¶m£_ý•¾ýö[úøã-V#kÙ²%ÅÅÅñùëõúÓçÏŸ/ óX…±ïØ"Ý'"Ú°aƒÃç‰fÍšñmôÉ'ŸüÖwhöxЬgƒËÔ J IDAT­ÿJƒ]#p¶j8XMÊ^ñòž¶mÛ:¼ñ^‡Ä-BnÞ¼y b‚Á©Hq6¦FÞB=¼Â$"gˆh l-"##ÍÌ–$µZm´h³¿ýö›]ÚQ¨KÉáÂ… äééit]Íš5yƒôèèèc`5µÁr…ÂxñÉs¾-$£%=~ü˜ªT©âðï³ I©TÒÊ•+ùþðòåËcÎÎÎÕ³Û98û;æìo„ªq¯ ɨLDßÑ9"JÉ®¦žØ |^¯ÿøÎ;jH{¿ËUECp"---œ{M›6Íw›ôïߟoíÛ·¯;¾†ƒ5ÊÚ;”‰½CTTTµìúÑÏ?ÿœï2899ñ ×Ó§OkäýX›;ÎÈS¨]9FžÜ‚œ¨öîÝ«Öëõ= ÃZ"zJDiĪ"Å«š:3++«rnmaƒ>6‚²í¨ôz=M:Õ¬ñ¶R©¤Î;Óúõ륌¶ExñâM:•üüü̾ó’%KÒþýûî]°`äµ …‚6mÚ$›gFFuêÔIò^///º{÷.mff&}ñʬ7hЀ¶oßNz½>×:߸qƒ¾ýö[ 5ûÌR¥Jѹsçøû ÇÖ‚Øí©ÈEzÚûuHljˆ<èð9¢gÏž|û„……}vý7À`°*“ïhÖ¦çì± ìØä i5)»¿S{eĽ¬îÝ»;¼ñ^‡ô↓YÂ¥K—®Bš`t…±© `'°7É(( ÁÇLD‡¹~ ÑhhòäÉ’Z 777:pàåƒJ—.m—¶”š”Ž=*òJ2tèPþü¡C‡‚Õ± CŽ]F0r'ošÇ¡òDCDôêÕ+ª\¹²Ã¿Mk¥­[·òí}ñâÅ…` ‰-±¿1%…¥­ˆè[ÊÖaÏÏõzý˜w+¹°WhµÚÉDì"ÕÍÍ-ßm¡R©èþýûDD”ššçîîÞ9£Ø]B¡Aµö÷ç–••µ–ˆµ *W®\úg“õüùóû`í/úõØ ì‚¢%€†`7„ž|y½°HOOoID×-h íËÈȨ›ŸöÈGjCD:"¢„„jß¾½ÙwN×®]³ b¤¥¥Ñ¢E‹ÌÚ~2 CK—.%"¢Ó§OËÚÿýøã¹æ—ššJï¼óŽäýµjÕ¢ŒŒ zõê•YÛ†a¨cÇŽ";>K¡×ëiõêÕ(›‡‹‹ ­Y³†¿Ç`0Äߺu«,ˆ¯@Žgl•~'bµ ò [#7ŽˆˆÒÓÓÓŒk‡Ë9ú=&t»áÐìÜQ¬¦ƒäÐmÇ;`Û^’àã?~mô¦‰Ó§O£~ýú8}útdÆ ÿ  ÉNÒ³SZvJGŽa-Ø8 zDDŽŠRÇ€ïÍ;ù!22ĵk× üð: ~ýú`†O …ÂèÓ¤P(€ùóç#--­ÀeÈ AAA¸yó&ÜÜÜŒŽÿïÿÃÔ©SŽmذýúõƒÁ`Èš4iÒ§sæÌ¹ ¶Í³Ó®Ü_]vâÚÙãø °oÃêÙÞ.‚]Ô¡wïÞØ´i“C dMxxxàܹs¨X±"ˆH¿|ùò!#G޼€œöå’i;smM(–.]Š{÷î‰Î1K—.5:öøñclÞ¼_|ñŠsÖ˜˜4hÐ==gäÈ‘¸xñ"Nž<)Y†2eÊ`ãÆŒ4‡´´4Ì;³gφF£‘¼fΜ9˜0aÀ`0<>tèPË6mÚD#gL1ÕãèqÆ–è`ƒÕNw öîÝ‹ððp"–ôtîÜY²ÎÎδ|ùr²%^¾|)›?#r\³fMQк‹/Š[ãÆùE!‡Ã‡óã–B¡ wwwÉüŠ)B?ÿü³MëOááá’ù+•JÚ¹s'í«W¯!'ÆËÛôsQDD„ÃæƒòmñÞ{ï-0 ÀWÈÙhæÔ¤>k—Õ"{L¨VÚ_ì<ñV  †áÄ™]¹X±bkÈ”:wîlä«úñãÇOZ´h1¬þÝXäxøì„ÓìnV]°ŸY;¶s ¢qgffÒĉ-òêñ¦§Î;“)233)((Htí_ýEDD:NÓ¼yóÞ“ Î&Cè]J¸ð}¿n“A)"J$b5íáñkøðᢶ!"zðà]úÆâÅ‹ù<#""˜dpQ¿…$Ã4º»£åÿqý8¯;ø*•ŠÎœ9Ã×ûñãÇͳsjêŠQD4²²²øÊÒ…tnÉÕÕ•‡ãããïÂ8ØžQ܉ÄÄÄŸ¸üì’¿B¡à´çÎ;c‚ÁE—ô õ¿ÿý/Ð`0$EGGç9¨­¯¯//Á!"Ãí۷똴‡)ÙÈ‹~>ÿ®>þøcÉüýüüŒúƒ9ܺu‹~øáúä“O¨cÇŽÔ­[75j­Y³Æ"#p"¢I“&ɾ ¥RI%K–¤§OŸÝ“””D!!!’÷Œ=Z”dž ÌJì}||ø8,¹áÚµk4cÆ 4h…‡‡SÏž=é‹/¾ ßÿ—‚šƒ^¯— Jêââ"$üY¬ qÜ¥·!èç`"V"YÐ(ùI*•Š®^½JDD>| ` rg‹+Ôdn4 ×ÂxoÁ "¤¥¥U1 —¸ž›¯H™oJ*R¤-[¶Œ{d0 ýõ×a—É`Åb_ÀØÀ›ó v²©vR9ÌUH0ì50D4šòÌ™3¯½Çk'Óh²DD+W®]Ì{•:uêÔ°¢P!É༕EŽÊ†páù:}ï$b'D{ys4Áprr¢“'ORv½µ&Løò’ ¡ [a[Û›dôãÞS~£©‡††RZ;dhµÚ£`Ç.7äìž ·FDC§Ó}OÄçT«ÕVk‹É“'óí¿dÉ’)06ô® xøðáU Ã+"v£Ìš}[èÅÄÄ܇e#€Orrò®ÜrÞŒrKáá¼S.Òh4ÛriIi†D?éÆ=sùòå’ùº»»ÓÙ³g%¿A!öìÙ#kDÍ%µZM´HÝè‹/¾|†J¥¢mÛ¶‰®4hÙ¼9ç,B|øá‡²u¶„P9r$WµrWWW0`€‘ Z9È©ÿøùùÑË—/‰ˆ(##ã äƒ~v/vI>DGDtåÊ»«s %¨óæÍÛ†‚1Æãc«Êsš,rÍ!ö2òæÁ0ŒbË–-ê®]»ÎvrrÅUzÑ¢E˜0a‚¬1À@/^Ü^E-0.]ºd¶>5kÖÄÆQ¥J@JJJÊĉ·,_¾ür stÈ1öù |2²gðÇûe?ƒÈ¶ ]À¯`'?h4L›6 óæÍƒ^¯·a¶¯~üñG|þùçFÇt:Ê”)ƒèèh£ãœžV«Í¨]»öàëׯ'"§…Ih.eøÍ`6îÖ@cÇÖàuÔ¨QvÉThà+ÄÇl—2”-[·o߆““>|x(88xŒÛWh䯃q[ÛÛÀŸð@±óçÏ£AƒùþÖ…´/^l ¶ü¦†ìFuÓëõ» Exdd$Þyç‚Ö‡‡——=z///ÄÅÅ]/V¬ØäUgÐ<}úôÓ’%K~M›6• È–Ì›7_|ñôz½Î××wpJJŠÐ¨[ÒÈ»{÷îŠ-[¶\b¦Øºuë0pàÀ|ç¿bÅ 6 ›6mªÖ»woÎè×\{“°ß©\P1>>¡¡¡HHH0ÊO­VcÏž=`ͤ‘‘‘ñãÇ‹ ­Í¡téÒX¿~=š7onöº#F`ùòå¢ã¡¡¡¸xñ¢Q½Í›7£W¯^’Ï ÆÕ«Wœy>|ï¾û®È°ÜÅÅ{öìAË–-eË•••…É“'cþüù²†é¦(V¬Ö®]‹ððp³× 2«W¯6lV¬X¸qãFÿªU«îعDas0amt°`%þøãvÉ400·nÝ‚‡‡bcc_„††.OIIÑB¼äæ}á0ÆÎ~¸yC¸àÖv©û²™ìŠ1`Ù¯ÓË—/; >ÐΕ+WÌêéÿòË/ô:A.ø Ã04nÜ8£`=/^¼29l•sM6¬ôb0X/=ÀêݵDN¨ò`õñídOADcI µ8}úôåJÔÚ©I“&’}eøðá¢kƒ‚‚xãËlDNð/ÎUerôÂKÃ8ﮯ—ªÔ "Ö!€9cLk'GK0¸´jÕ*""2 ºÞ½{÷«ÿÏI2*•dpq2¤ ü¤V6l§ÚÜ;?~|êìååſ︸¸é`%4¾`¥4ž0ÞA奔½Ó(·+^4}út¾L³fÍú5©fÍšÕÖëõ‰D¬»ikçýá‡òy6l2rŒ¼…6F*R×®]ëÄÝÓ®]»åß´iS>ÿ‡~–ÝÏäÚCÒXÐOøkèС¢¼ …‘þ¿"##ó=§( úꫯDöB 8p äýÆ ]_¿~}ÉkM¥ñññ’ê¯NNN´k×.³u¾råJ¾á0 CcÆŒB¯×S=$ß#C«Õ>lÚ´i)ˆ%¦…ÉÁ„­ÒD¬êg›6m¬þ›&ÞEµN§ÓuëÖm€o V‘:û1µÅåT¤„š,o !»’ŠìΩޱcGYFÃGºÉÈÈ5Ø“‹†YXѬY3QŠ/ndÈ•••µhÑ¢&#‡\U£8Û‹`.u;ÑpêQœg¡·=üW ¢®4~üøÿl-rI …‚bbbD}e÷îÝ’×s14222’ýýýûÀØ› §¶Q9ž¥‹ª” ú‚µ¯JQ€eùI……`”+WŽ'•&þuQ¸ üGqï¨uëÖ®7§:˜––v¬ˆ¿Ø naËE4/@}ûöíò\þƒ¶z;øûûóª[Ïž=;7©ëׯÏåò¶… _HHßÿ~ÿý÷Õ`]Á~÷Ñ12ò~öìÙgÜ=µkôðð ƒÁ@DDÉÉÉ[íÁ?/G˜7c¸~çBDωˆÎ;G …Ââ]øÏž=[6.E^RXXÅÆÆÊæ¥Óéd5röpŽ?.ºfÈ!¢gÊÅüZ´h‘l9ˆˆ~ýõW«¨üU¯^Ýlü¤¤$ɾR¿~}¾ýŸ>}:ÆA?…íîh¶L~”)--ͦö®®®F1O~ýõ×L…˜`Hys¶¸\°½²x[¼‰È!ªìê Àëùóç_  ÷’;vì(jˆÃ‡Óë„®]»Šê ÷ìÙ³çíÚµû Òäb,X—dÃÁêÛõk{Ñ,cm€œÞœ'Sû .‚£5?z#"Þ‡à©S§¨R¥J6û kòððÈ×}RC222$…5lØ¿fáÂ…ó!ÖÇæŒO¹ `\Ð-.ª¯p"(ì“ÀY"6`™9·Š¶H……` µk×Rö{ȨS§N°ß;çªXh{#t_koÛÞPÁÇǧÀuÞ±ceffF5¢.•]?nakl0))‰w½e+·çóçÏçûÁW_}õ)€¦åÊ•kœ••õ‚ˆ]4ÛªÄÇÇQddäa°K¦‘ÅÜÔ&$$Ì%b=yY#ÿ›7oQjjê‰ì<‚À°YBÒ'¹£­×ëyOpR 4‘{W!¬í*´V­Zfí2îß¿/9¦ûûû‹l„»ÿžžž¢zȹMn×®¿x—ÂæÍ›%‰X~“¯¯/EEEÉæ·aÃÉû~ûí7""Òëõ) 6,Û¯\L ðÎ/yJƒa÷ž^¼x‘ïù>·$´ÁÍÌÌ̬ZµêÈ!“‘ã¦ösˆÝÔr¶¸aÈqSý}róÃFNtûƒ +®^½:„;ùêÕ+Ñ ¾¾¾v*šu U^®^qqq/*V¬øó¾}û^ ûT…³½È‚X[„KJ?’K "î]¡Ž˜ Hff&ÆÆãæÍ›VÊâõ@Ñ¢E1zôè|Ý»sçNÑ1´iÓFtüÔ©S¸rå  mÛ¶‘ã¾SèÑÅÔ­'7 ÈÅ(Œ(v—¿ÿþ»Í‚999A­V‹’“““äõ ÃH^¯V«Á0¶y•3fÌ€^¯‡J¥r™7o^Wˆ]·š¶µl|Ø®½•k?d`•‰‰‰"RÁب[Ê=ªR­V×€ôôtÙ@mżyóxºO?ý´ÕÚµk»999ùl;Ù çÏŸ•EΦœdTmŒ““S HJJ²Jþ)))N§ƒy÷Á²ýN¡P| ÷ïß—´Qùá‡àãã#™ÿÂ… ±`Á«Ô…Ã¥K—бcGÙþŒ… ŠŽ¿|ùóæÍ3:6{öl8;;>ýôS£zh4L™2Eô???¬Y³FvÜØ·o>úè#‹í-,ABBÂÃÃ#y¾_¿~’6*\0d…Bá1þü6`Û›#’ÄP¸ç—¼@ à7†aúlû¿ÿþû’kRk`âĉطo›±Z­ŽˆˆÚ±cÇ¢0^#K­ 2‰LîuìN0²»Fä";é†á£¹ÆÇÇ‹î}†°^©©©¼á rÞG8‚aJ.¸HŽRF½"raE”p ¬ºN:…ZµjaÞ¼yV_tíÚï½÷^¾îåƒ)ºté"yüÿþïÿ*T¨UºtiH“ 9?õ¦“€±Õê8ÿè ° gΜi³LöïßÌÌLQZ¼x±äõeÊ”‘¼>33Íš5³IïܹƒÍ›74hÐ) À Ò1 Ìʼn°u{ß•J…êÕ«øaåË— =ä´üÂF¥RÕ€‹/ÚÌ‘Dtt4Ö¬Y(]ºtã1cÆ”¯[·n?¸~ý:þúë/›ä çÎøûûy{{;Á˜dˆÚ9##ã!„„„@¥R(oa›feei OøD;×Ù ÉÉÉ¥Áª•aÛ¶m¢}þüŽ•éÄb;ésíX¿½ÿÍ~&†ÈÈÈ|?ˆaTªT { ì‚VãE4£’Â(•ÊÚ@ÎN¿­ðÃ?`È!P©T̬Y³f¸¸¸€Y³fÁz‚a1¸z) U¯^½ÊüüóÏ7!/ÉPDGG_)Z´(œœœP±bÅIu*W® Àýû÷¯ÂÄž&ía’Œ››Û{Ù×cË–-¢<úôé#¹“¯Õj1jÔ(›¾Û OŸ>غu«dV­Z…“'OâÅ‹ü±ÔÔT,X°Ó§Oç}óÍ7pwwG±bÅøc³gÏ=sÀ€xÿý÷%ËeV²b œ={Ë–-ÃgŸ}&:W»vmT®\QQQü1½^íÛ·cذaðññiѰaCÏS§N% n3]´rÆ ðÍ/– €]`7S±ÿ~ôìÙÉÉÉfo²ôz=F…¨¨(üôÓOP«Õê¹sçö­R¥ÊžÁƒ çû¼Ìù¢6²åw% Gè¶!g T"ÛØ€k||ü—œ.š½ýÛ+}ù%[E½^¯W(¦úu£Œ0@°‹.θ¯9XÝ[Þ;râÈêÛ[±Ý¹¶yï½÷þ™¼¼¼H£aÍ…z÷î¯gÜ¿Ÿ¤ ¥Ï®R©xÝáÛ·o_ëA‚³Éé 5² PÁz… Çà›ëœá¿­=‹å'…rõïׯŸMÛΚv\Í›7·iY¹>uÀ{`í¯8£ï:`'DÎÐ×Ô«”=lo.mܸ±@õ Ü²eË7Ù}¹^v®Ö¾ˆsbP|÷îÝõ¹ëûöíkóï}ݺuFí~÷î]›;³(Y²$ŸßÆ+áãONz1nÜ8HÞ³dÉœ={6¥Î?’““ñË/¿HžëÑ£‡èØ‘#Gx•­Ê•+W‡Ä·ˆ7Ãc4XÉ…'Iøì³ÏÃëÀhذ!îÝ»hÖ¬YëW¯-W®œÆš*¿¦êö…Ž4òLH†J¥ò¤í/ÞëV¶lYNMJNEJho!•ÌÚ_d9k!Ocذa(8Ü IDAT]º4áïïªU«âÔ©Sh×®‹äEÝù5ª|üø±äñ°°0Éã{÷î(•JÕ€ÊC¼à4G2LUM ÊÀ7øEÕ:pww÷oÕªU1H ®­ÍÝZ Ã0YYYK$1 ƒ_~ù%ßê«“'OƃõvíÚµzåÊ• ³°õööØÓ;w¬Pó¸yó&¶oßxúô)Ö­[gó<5©R¥J•…q»òiøðáE_½zµ¶téÒ3(ÒÒÒðùçŸ#555_yþòË/ðòò,]ºôWX`“þ6wî\†a*\ÀwìØQ2ï“'OÊn¼Ø)))øôÓO%Ï9;;cêÔ©¢ã .DzzºÄÀúõëEõuwwǘ1c$¯òä &OžœÇR ›6m’<^£F Óëõ¼šwñâÅ« ï& »-† Àr?PšÚB87oÞDýúõqôèQ@HHHÅsçÎïÔ©“?äÕcmiƒ›/8Œ`¿<ÁP*•¾€´ýÅ›aÝJ•*eÎCJŠ‘[Äf[I/€‰I®ÃÙÙƒ÷òòÂG}dƒ¢ÙžžžFQRóÛWóJ0þùçþwË–-+"gQ)%ÁÈͯ° ú¥àرc6Ï(!!111¢ÄyÍ1…^¯—¼>&&Æ&™B=ïtèÐAŠTZº£l“ ßÅÅåqVVÖ€5z]»v-<==óüœ“'O¢V­Zذa@­Vû :tÖµkׯ”,YÒ&ýÚÕÕµ&DFFº{(ò಻‰°Á„¯V«wêtºeгgO\»v-_RÊ””ôïß½zõ⤂LÕªU»ß¸qcÕ„ 8r¥ tV«ÕÕû¨Gq¸téÖ®]‹U«VÙ-O®~ …BÙ«W¯2ÈnתU«ºß¿RÇŽT*•>œçµFåK¢SµjUœ9s_}õ &&ævóæÍWA~L1ëµÌÕÕÕ{¶Áó¤$·ðµ5¾üòKI•l•J%)áà|B¼xñB´A¢P(0jÔ(É<>Œ]»vå³ÄÃ7$—,YRtŒ“È899 ½š“`¼ Cœð.ÀnäÔ«WOö½8Z­ƒÆ„ `0 V«Ý¿ûî»)þùgk“Ke]X ÎÛŽV‘âÀ-Œß*‚`N‚a CŠ\U£xïQ6"€…C¯×ãÔ©SFzËÏž=C·nÝ‘‘aæÎ '''‘¸;666_Ï’#R»H85©R¥J•uwwç<»'ÿÜHFa•b”rb!üYYY¼ïuoooÈ K~6kïU«V}¥Óé¶@©R¥ðÏ?ÿ`ïÞ½øöÛoÑ­[7”/_ÕªUƒB‘ût³yófÔ¨QƒW ðôô ™5kÖšcÇŽ}@5uêÔJ øö%»-§c =d5iÒ$€bÊ”)UΞ=ûspppG€uAÚ¢E Lž<Ù"»ÅÐÐP”-[mÛ¶Å„ ðÇ 22’—œ¾|ùòaxxøü¸¸8Œ%¹õ+¾999ñºrR£D‰’es”zä³gÏd¥'Æ ã=jq8zô(îÞ½ktlçÎ"ý®]»ÊŽçö´51Å£G$K N‚áäääŽÜ%²’ÓB„f΀u”ƒõë×£uëÖ…^kfîܹxï½÷šš …B¡úàƒÆ\¼xq˜J¥’"xæÚ‚aÆf1œLáp‚!T•bÆx³U¤ù…·¿¿¿ÄÃWdRAVlM. È`üùçŸhÔ¨1xð`ìØ±ݺu“tÛû:¡OŸ>Fƒ°N§“i‘ätÕj5¼½½%Ï>} R©œûöí[9{n‹M9ãßÂW°ÞH¬$ìM·!ááááéöµd¢ç`“v1b„ÆÉÉ©_lllOƒÁ ááá˜6mvìØ;wîàêÕ«2dHnÀ~­ZµÂ×_ ­V …B¡nÚ´éĸ¸¸…Í›7çƒØÚE­)ìíxäåË—|ÀÉ*Uª”?räH¯ï¿ÿ~¦««k lܸ5kÖ´ØGXX¢¢¢ðàÁìÛ·sæÌA¯^½ V«€Nœ8±»B… ß_¾|9æ*€|¿b oa.µi 'Áp䯢œñ¶¿¿?z÷î-:n*ÅR›2Ááþýû|l#G@NR,E0*•Ê –©á:|×Ü 8Àˆ0iÒ$ 0Àn*Åßÿ&Mšðk‡Zµj}øøñãY5kÖ”›Ì~Ãö '€Ñ¢ø—` ~ÐõõõåT¤¤¤yñslrX(Áà‡_ýï¿ÿ¾Ý¶À—_~iôÿ… ò½£)'Áä'`á®Y:uJÂxwÑTŠa‰~la0Äãɱ\ð«·Ü;Q*•\])ba‰Š”P×&í]¼xñ=ß|óM½¤¤¤¥YYY׈ȨAgΜ ???‹že00{öl4lØW)Z´h‹Ê•+X•¹Ø7 œ”¦F›7oÞaErr2úö틾}ûZ죟a,[¶L$EÒjµé—.]:0lذÉMš4Ùœ””¤‡e›rs i4~§@*R·œ[.ª·=pòäIÙX.£G[·n/±HHHà2p CÓ¦M%Ÿ·xñb‡Æ’ÛÀ’jÎ~Ä`0hal&·•ò`çè9†0ÀÎéééèÑ£fÍšåÀ"å—/_F½zõpæÌ@```ÓˆˆˆÕC† ) ±tÉt^°;É(ˆH Öwï-ÁrêçååÅ骚¼ËI5¤ˆ…½ÈG‚ñ&¡}ûö¨V­šÑ±'Näûy)))²‹ƒâÅ‹K¿wï?1•+W®Œu© ‡èåç™b téÒ.JáC©R¥qqqÉogS5G¨)Ìœ9ó•Ï4µZÝ600°Ê?þ1‰ˆô~~~yŽÒΩï¬X±Â踽գÓzFDD f͚ظqcžž3xð`Ô¯_pëÖ­¿–,Y2yøð៕*UjpíÚµW¯ZµÊtÇCj.’òT#r*qû-e‹''É–ÛX±/^,y¼V­Z"²ÍÛ`ýõ×_"éÖØ±c%ŸõêÕ+I{Bî=?}úTtŒs¯›žžžñâÕç€cç7ÛÁÆCtt4š5kÆ{…{ƒ-ZðÎ <<Øå†F£á'’%K@¼°´T=ª0 üB<ÌÛŸ¼࿵ÇsCŽTšÓÁìC4„c˜!66V÷å—_ÞkÖ¬Ùß÷ïßß C† AݺuóôÐôôt|òÉ'èÚµ+¿9ó¶ N‡)S¦ E‹y–Üøúúòñ222ž·lÙòçQ£F]\¹råÓØØXŒû…¹ .9Õ\#¢Ñ§OŸ"ŠX#SÈÙZÈÙfØ ›6mB\\œä9)cmnü7µß(V¬>üðCÉç¬Y³FÖc½ ÷ž¥¥<---–9)Lj¸%Dè°uëÖ••T½NÈÌÌDïÞ½ù˜5ÎÎÎE‡ ¶æàÁƒaìVÚ¡$£PŒ·E‚áîînn¥.·KäH?ÇÙ`¼i˜>}ºHzq÷îÝ»´“ã…rï%&  (r)C̼,<‡P¶lYÇ–¢Aø>îܹ“yc>KŒûlÜ6Eø…èÀ—iµÚ…B¥K—ZdðmŠ¿ÿþÕ«WÇ?ÿüóF¨\Z‚ .àÖ­[hÔ¨f̘‘/ÕšY³fñªiÿ÷ÿ÷óóçÏ ^rí&TÉ5u*"ghD6ˆè6³@BN‚Ѹqã<×ÍšÐh4X¹r¥ä¹Î;‹‚8pÉÉÉ¢¦=zðX… "Y)‰½ R©P¯^=ÉsRƒ›‹’“““ /%7•^ØÅ¹D.xÀYµ`ûöíhÚ´ékojŠo¿ý½{÷Fff& …K«V­æGEE}†BB2 Áà·:Þ †»»»[.—šÂtEjo’‘nny-öë‹fÍšEæ` =Z©I`½UÉ#>>>¾NÈ}WÛŽvWûêÕ«•JåÀb.p .­V«Ý´iÓSOঞÁªeò¿ÈYÅñãÇ“Ož<¹êÖ­k±Á·)bbbСCìß¿¿E~}’’‚š5kæ[bS¯^=Þ5xbb╞={ž€qÿá`jÿ§3IZ“ÿåìÙ‡ w N>è:9÷ÎíÛ··›w9,_¾Z­VtÜÅÅ:t0:vöìYüöÛo"#áîÝ»K>{÷îÝ"ïSöFãÆù@ŠB¤¦¦âúõëFÇ<<`J’8üûï¿¢oªaÆP*•€}ûöÝAÞ$§¸ñÆ*㎘`:W†S§N!66VÒP?¯8pà€Õce0 ƒQ£FYea¿qãFŒ; …ÅŠë|æÌ™ ±cÇ~²zõjs¦x'+°A&‚ÁK0Þ)ÁRYq´ˆQ ©H©T*-ZÔa~Í­lݺUÒ.àã?æãr sCH+;ŽŠ¹°Ä£09BÝNˆíâøõêÕë?‚V=Š3Ê={öìmH ¹‘ Sز­å¼áñ#==]sèСÅ;w^èçç‡iÓ¦YeâÿÒ8p /AxðàÁ¿ß~ûí=°s¾p<àÚ Çb2%B’!Œ×$²ÅÐjµwÔj5J”(råÊáþýû|¹’’’pâÄ 4oÞ\Tæ~ýú9”`¬ËZ)‚ѱcG¸¸¸ 33“?fJ»uëÆ/Ê…¸~ý:þý÷_ë6P©T’õ€={öˆŽqäP«ÕjÖ¯_ÿySÉ´÷ÚE `€„6lˆ† Z%©þZPF«?ÛÝݽö²e˶……… 9r$'ž2U¯çÈÿ›a«™õ&)?HKK{ãÝUrƒ’R©T•(QB-8%§_XÈF®Œ *àĉ8þ>>jˆw³Í‘ 9/ŽF&­Ø ÚT×ÙÈÊÊBRR’(9Ê ó£ØyR«ÕjgÏž}!û°µÚËš*qRöaRª6ZÚ.]ºxõêÕe€ b&å{ÿ?NNN˜2e @¯×kÆŽ»Æ*ÂE…©Ä"K&I{•´ÃHIIáõm¤ÜµÊ¡Ã† s¨»Z€Ýõ–²ñqssCxx¸Ù{åÔ£ ƒô¢oß¾²žú¸ ®BpíöôéÓéééÜBTj>1'Á°|ìЀƉˆ²ˆ( lÙŒø^¸pÿ­@¯×ç%i ƒ(999 6ì÷½{÷6…|ôu›µ[¡#oºô0®c¹rå8ƒKw¹(4K0†Š‹/¢^½z(Q¢Ž=ŠÊ•+Ûµ€E5pæÌÔªUKtnÛ¶m˜0a‚ÕòÊãÞ=Þ$¼¼¼\ ¯%G.á](Wdeeý Ààåå…©S§Ú=ÿ5kÖÀÇÇG”jÖ¬i÷²/^œ¹räÈ‘³7nÜH³{!,€É6—9ÏCF$c÷îÝ?¬w¶‰'ÚµÌo ú÷ïÏK_ÏŸ?¿åï¿ÿæ¼ †äH„%$CVEªdÉ’w Ã%€hmŠ?þøCRÍÍÝÝ#GŽ´Â(䌱åÀÆ—hÕª•èxBB~ûí7«•-?P(²ßÚ¡C‡DÞþþþhÔ¨àâÅ‹œÕõK¹MR["À»\,I ø0 S„aW†a܆ñ`Æ‹a_†a†)¡P(Ê(Š ‰‰‰ûvcÏZ Rà†Á`0”+Wn®““Óÿœœœþ§R©¾W©Tß©TªoU*ÕT•J5E¥RMR©T_©Tª/T*ÕX•Jõ™J¥®R©+•Ê”Jå‡J¥²›R©l¯T*[)Š&NNN-Û·o ±0S5[ÖÚ*LÃxóí/ã:–)SÆ bEs®Ôÿö‚¤Š”¿¿?vî܉•+W€/^GŽy`*Œ ÃÆ‰   ÑùE‹¡gÏžV•®åÇC£ÑðFˆr )‰†\¿âàPCo—‡D´`}È¿nÄÔš˜;w.<==¡×ëõ_ýõ1Á)k©7YÛµµœ)SoDZY½{÷>•””t `7%þ“bXNNN˜]t¬ÿþpvvÑ‚ Î!ÿä¢Pl`q˜â¤æO%¥‹‹‹ÊÓÓ³>`,e°68ɈB¡P 0€ÓÉ6M.°æ<~II0„÷[­½ Áx+%%J”0•`Àäs»öþpEŒððp\½zUr— `c=˜!*Lh×®þý÷_DFF¢wïÞ"ÃC"„ 0fÌ«G_•›¨rÛ)á&>gˆû‰œJ”£ÅعB«Õ.Ø’£Ý9: M›6E¿~ý'OžŒŒŒŒL†¼›jsI V·¿°@Š!’`Ðîܹs.úOŠa}¥;wîüíÁƒ:ä®%´±È‚±ÊHnäBÒ“ÔÙ³g7ÈT©T0`€¨œsæÌ‘ÜL)Z´(æÌ™SWP`¼zõ ÇŽ÷òòBëÖ­%ï1ç=Ê‘ðööÆüùó%Ï8q‡缼ݻwïöñãǹÈìrs†éºEêwa‚ézJr“nÑ¢E•J¥/>r¶-pîÜ9Þe}Ë–-Ë NI©ž ãÑH¹BnM çõËê(Lã­”`+VLN‚!ü_ê¯#J¥^^^X¼x1öîÝ+·ˆ0wî\4hÐ7oÞ´YòãOßÕÕýû÷Ç•+WðÏ?ÿÈNYYYèÛ·/æÎ[ÐbŠÀ0Œ¬KÖܾŽ`¸»»» i2a‰!^¡˜ÔjõƒÁð;´nÝ|ð£‹dW(•J,Y²+.Ÿ>Ož<¥gÏžÁÙÙ™¿¶jÕªhРªW¯žk¼…Ý»wcÒ¤I¸råŠUê` s±.ÌÞË 777) †)Ñ(”dBôèѣσƒƒÛ˜?>öìÙƒ´´Bi‚`uŒ95jÔœ={örDDDÌO6dòWŠlØ—µÂü„îjùK…é÷ßÿaäÈ‘Ôjµjâĉ’Ñ’ÿCÞ ”^¬X±âO½^¯‚ñÂß`ò›# ¦ )×´röLûט„„„õÅŠëŠwß}WäIiúôéèÑ£‡hÀº¥¿zõªù; ˆÃ‡£V­Zð÷÷÷kР÷éÓ§!V75—ÆéI%À­ ¬Ú~…Ž`¼ *R:ÉÉÉðöö†çj°L¿Ñ‘àWzräbûöí:th®‹äÜ T*ŽÁƒ£S§Nfä~~~ðóó“4ÌÎ+Ž?ޝ¿þÇ/ð³ÌÁ\},•`)RÄÔ#/$£°ô)#”+W.>##c¬‹‹ËÆ   L™2_ýµ£‹esàû¦¦¦¦|›òâÅ‹T///µ¯¯¯›¯¯¯›§§§[@@€Ÿ¿¿Ѽæ§ÓéyóæIú·Š)"{ÎR‚áææfêâ8/ÄÂÑÒ0#¨EŠÙ¢Óéz)•Ê.Ÿþ9Ö®]‹[·nÙ,oOOOž¤rÒ±ÌÌLÄÇÇãåË—ˆGBB‚d„_kaîܹ\„]š6mÚÖ7n¼‚´„ÂtÙTWN'ÞæDC†dÆ [£²œ;wnu›6m>P«Õ>|¸äBó?X†.]ºðҋÇGèõz%Œû©E‹¹ÀzR’ s*x|ˆŽŽ6¤§§¯wwwŸR¿~}¼ÿþûؾ}»Q¹g̘÷ßÕ«WÕiðàÁ¸qㆬ ­±{÷nŒ3Æè˜R©DýúõÔf8KR÷;...عs§¤Ã€•EEE‰ŽÏ™3 …&sôèч!=~ä…pvr!iç°nÝºŠ …€]â—;v z½J¥Mš4 pÆã¾Ð•´©ú¢P¢!ü¦¥Ô©ä6£´Ua!¾Ü·A‚°õ §§§Ð%S¾ôä­Å|‡Æ‘#GðâÅ ‹žÙºuk,[¶ ý¼Gÿ@šX˜#R‡ìäoëÍ ’Á-p%Ç­èèè_Ê–-»,((:t°Ë„þ¦!88mÚ´\»víò•+WÒÀŽ™Rä"7cQKm.¸gšz3Âĉ_õë×obÉ’%×VªT ü1~ùå£kΟ?üQ2ÎB¡ÀüFáÚµkyz/ÅÑ£G¡Ñh V«Ž U¢J—.%JˆîÝ¿¿ÍË'…É“'£OŸ>’çt:,’Æ2 Ã“ŽŒŒŒô1cÆD@z ’ ÓߦĢPÍ)˜~º0ô~~~ï@DDbccíR¨mÛ¶¡U«VpuuuíÞ½{ñ-[¶<1)›©šçáMh3•›„[n³À&ݰ ?îÇÛ$Á777S ÷WJ…EjÚžqTv‚B¡Xû‹ŸŸß8¥R9aþýûãƒ>Àüùó1{öl#UKP·n]>À؃nµhÑâ×Çk‘c,jº;f@þùgËöíÛ·€Í›7£OŸ>Vw)km˜#¹#ŠZRäÂô9{žB¡"%¿pqww_«Õj;¨Tª®mÚ´Á’%KðÉ'ŸHÞäëë‹Aƒ¡eË–hÚ´éÿ·wåá1]ÿû-û.’D"KDÄNìKhÄT•R{U£j«Rª‹Ò*ÕÚý¶Š*ZKÚÒ"ÄÒ_‘ZkWÄN*b‰É>3ç÷Ç3¹sçÜ™I2“™Áû<÷™É½wnνçÜs>ïg…§§gåµ@ݺuQ·n]Œ7„œ={ûöíÃæÍ›±oß>ÑßlÚ´ r¹%%%%#FŒØ¨T*©Ï³±3³¬•ðM! üyÊ •brròÖ_~ùå#©TZe̘1Ï F90fÌ]Žÿï¿ÿþ ØäB(¨˜ÊHcN@·QrAÏ ÙZXXøª³³sçùóçcÛ¶mV¿™3g¢I“&̬~žžžøí·ßмys³É»%P\\Œ7n 22RoË–-!‘H@uâE­,$%%á£>=>aÂf•òñãÇ£Y³f€M›6í½yófØ ÖcÊeŽÿiSÐä:ÂÝàÍKgΜ‰‘Ëå1ðóÏ?WZÛ¶nÝŠ%K–@*•¢wïÞ/0+nЦ”æ[1XkpŸ±˜ ‹õ•½¤©ÕŒgÍ‚áææÆ·`ó“gÅ^Ø „˜/—Ë?¹uëVµZ½€ÚÕÕ3gÎÄåË—1f̦É[ ,€D"AIIIáàÁƒ¿¿qãF>Ø“™€J¡Phöïßß{À€=HÒÒÒ0tèP»'€8Á0güS‚‘——WˆŠY¾ìŠ\°j*,[¶l„Z­>pÖ‚I“&1›››‹W_}Ý»w¯tr!„D"Att4Þ|óMWalß¾>>>€/¿üò—;wÞƒ¡‚¹‚ ±Âg6ÑÆ…õ¶mÛòsss×@BB‚¨ßøs°¡P(0|øpÀƒ²¿øâ‹ËÐßÅ´ e!cŠ×¿:ðú-;wî|‡RT¥J¬\¹Òà>T*ú÷ï/êVŽ­[·X¬7nìóõõÕ¥r#·oß¶j»„ˆÅš5kD«0ùå—X±b…ÁþÈÈHõâöíÛ·Gõ`»C™ÚŒ’ŒJrã. ˜óRddä«ç%Œ²&îÞ½‹C‡:uêÔÑF¡ÂIH4ø[Ä]¨„©lYJ‹Ü“½ŒgÖEJK0ø0%$òϱ „††Þ“Ëåo^»v­‰J¥ÚHIIÁ?ÿü£óë4†ÄÄD´oßð믿n=tèаÍ}jªñãLJݺukr»víÚœ‰=))‰Y}ÕQ‚A Z‚!„¹V0»Cb˜8qbÞÞ½{h4š[GB{õêepžJ¥ÂèÑ£íŠ\nݺ¿üò‹Á~ggg¤¦¦ê\­¶lÙ²wêÔ©' ¿¨³¬ÆÒšÒ6ÛŒlð Q²±{÷îo¨e2³fÂsˆ£OŸ>ºJÙ;vì8 CK/Ër!´„‰¹Pˆ’ Í2èóÞ½{gÞ¿ÿ €«ˆMI=B=DçÁÖ­[3ɉ5Á"@©›”X©Š¸ —AAAøõ×_E]A·oߎɓ'ì—ÉdX½z5ÜÜÜ Ñh4o½õÖæââb5D”0žT‚¥ ·;h‡.sNZµj•“““Ó@€K{÷îÝJmÛ?þ¨V­Zµ¡C‡†2N*ŸŒ%h ®S p–ƒÂ¢}g/£ >39ï©‹”B¡PøúúÊQÎo;€îå¬Y³æy…BÑ÷Ö­[=Ôjõi¨_¿>~ÿýw¤¥¥¡aÃ†Ì Èd2åÁƒ7‡ ² “žŸŸŸtþüùÑçÏŸ¹téÒ‰!G.Êì’eKT„`T©Âü”J%%¦‚·é§£ ½I?>>þÎÙ³gBò¤R)~üñGfJâ¿ÿþ[W¨N ¹¹¹Ø±cV®\‰O?ýï¼óF~ýú¡cÇŽhذ!jÔ¨Úµk£eË–èÞ½;† ‚ &`Μ9øê«¯°nÝ:“Á›Ož<­ëðí·ßêrégddœìׯßnÁ=Xë N,„ÙCŒ.ø¶Ò"Š ]; p³°°pÀ%Œ(OÍg4H­V«>üðÃ#¼CÆ4ŸÆ‚B‘Ô²Œ!BÙ§OŸ¥%%%W`ñâŨQ£†Á®\¹‚¾}ûŠ*‹†j•â§b¸~ý:s“&M “ÉDÓ£WÁð÷÷ÇüÐP–<Êu4ˆ™_1E”ìw\LùDßo‹Ý½Ä`<3U¼)ø÷Z»vmŒŒŒÞa{ ò6Ý MŒŒlsàÀ!ïI¥Òj]ºtÁñãÇñý÷ßcÖ¬Yzùî_{í5Ô¯_°qãÆŸ išÎÄÿÍ7ß´:th?''']5£‚‚Ì™3 .t¸Ì3~~~Ìýæ¼þþœÁ/77—oÁ`ÅVØã81 A&Ý˜Š‰‰9uóæÍa!!!ÝÝÝeÛ¶mCóæÍ ê&Ìœ9}ûöÕ-¶?ÆŸþ‰ýû÷cß¾}8qâ„ÅÆJ`` Úµk‡: }ûöˆŠŠÒ¹'̘1ƒé"1{öl <påÊ•k]ºtÙÊ»OS‚ _%,€fÊEÊæ =£oé§€úæÍ›)‘‘‘‰¡¡¡èܹ³Í+ ;jÔ¨N:Nžxð`á¡C‡&·mÛv³———lÍš5èÒ¥‹Aò†?ÿü£GÆêÕ«™œ2e \]]‘œœlõdbŒjÕª¡J•*Ì¢­„Jq‘ ž={Å<ž••…ž={âÉ“'Çš4i¢«½óßÿÝ2dÈè÷½±qcNR »/ƒ€#&—ËGÜ:¼uëÖJo×ãDZaÃŒ1M›6 K½~ýz Äc(Å\¨„ï1ÿ\ˆ}Zú]²5Ñ3Sd‚¯aaabq`|‚÷·Íã0èWÞ'@.]º¤ªV­ÚÚQ£F5ÍÉÉù”’/•J1bÄ\ºt sæÌ»»;ÜÜÜt“\nnîÍäääƒW6lh?jÔ¨W(¹8qâf̘ºuëâ³Ï>s8r”?È[*•êüöÃÅrÁ‡+Mhh莜œœŒU«VüH©Tbذa˜>~ ¨ÛÉ0VÍd@®=ø@‹Äd¤eË–û5M6À¹Ð<‡iôèÑCGj¿ûî» ín¡ÐaÌÕΔFº¼Ö/ѵ¡}ûö‡¯\¹2 Ú·o¯¾úŠy5kÖ`îܹ¢ÿ`üøñøßÿþguk—Á¨ZµªNÙ#Dvv¶ÕÝuCCCqàÀQrQPP€Þ½{3Û„ÔÔT899¡   ÿ¥—^Z“››[q+jy\ét›=Ì=BðšD ¨¨¨¦D"épcÏVäSRRpÞ-sæÌi¦Ý-xm+€±^B¿?Œ‘@« à¹Ãfàßkpp0uœ,k ºÏ^^Ú¾¼dÕªUÊU«V}ºhÑ¢µ#FŒ˜áííý²›››ôý÷ßǘ1c‘‘¡Kñ÷ǬW«Õzùó¶oߞؽ{÷þpõêUôêÕ«ÒSZåu‘òõõÕ-¨>4ƒ!üÛaH†˜ñ÷÷_Q\\Ü[¡Pĉ3Òt±•û÷ïcË–-¢|AhÖ¬Y¿^½zU˜©ELä“ ±ê­bšD{…PðÔñ ¾obVl¾òÀ*÷b/ã™¶`P …±°;!Q¤°p&MštwÒ¤IooÞ¼ùÛnݺ½ïîîÞ®ZµjèÓ§ ''çä!CÒÀUu—Àþýû´k×. Μ9ƒ®]»VzЕµP^‚Á_ÐDÆÓ!€D*•VÄ5‹ö ¾Ovhh¨Ø's¬¬Ø £B¢=iH¥R¹ÇÅÅe@xx8êׯ³gÏZüÿK¥RDDD AƒˆŽŽFtt44h€ÈÈH¦»‹¹ „àúõë8sæ NŸ>­û¼pá‚UªÀ»»»£cÇŽ€ôôôc0o<™rsa~VÄú%Ú¦¦M›Î9sæÌ žžž-¿üòK\¸péééú?Ö ÊaaahÞ¼9ó¼òÊ+pqqÁ AƒÌ¶Èår4jÔuëÖÕ‰ˆˆDDD zõꢙ˜ø0F0|}} ªÒâÚµk:ÒA·ãÇãæÍ›fµêÔ©ƒ={ö 88Xôœ÷Þ{O4ÅjJJ Z¶l øú믷i‰©Ð-Šÿ%6~Äb¾ìfÎ1BH3c®¦×Å‹mÚž9sæ`Û¶mððððLIIéÔ»wïßPJ*dÚE6¶|hÐ'•±$ØÁxV-þþþB †Ãd @@.ÀµY @Ò¯_¿³^Ù»wo—–-[Îtqq‰Ôh4E|ðÁ\•J¥[Ž?>¼Q£F½àСCHLLÄÇ+ãv*béKM½4Àîß¿ÿÔ !T3cÆ W™L L‹²=€j0% ¢¢¢À6k‹Y/Ä\£XyÏÁ‚0äñãÇ÷tíÚ§·ÁpvvF\\ºté‚N:!&&nnn¦XFH$„‡‡#<<=zôÐí/))Á… °oß>¤¥¥aÿþýÈÍÍ­ðÿ‹×¥lýöÛoOøõ‚ôijìT”œ²,ºöݸq£hüøñã¿ùæ›TggçПþ-Z´ÀåË—õ.B]}<ˆš5k2ÿQRR¶nÝŠ~ýú¡°ÐpZ”Édhܸ±®øfÛ¶máááQÎÛâàããÃ,°']½!233±oß>Ý&6·5hÐiiiº¬a,|÷Ýwøä“O˜Ç&Mš„aÆÒÓÓ?>â¤T˜Û÷º Y¿l€R•J…9sæØ¸9\Ö¯C‡¡U«VHHHè{àäÉ“Å(%2'¢$£2uMöB0ž9©ââb(•Jxxx J•*üÜrb.Q¬ ^{ËÇ'º{騱czÕªUîܹs J¥R,Y²ä*…\.—œ9sæ­:uêô€;w"))I—YáiX}²X0²³³ŸZ‚ÁƒžæeüøñuÀMª6×2•´hWXX"""´»… »1Ÿy1×(£ÁÝöd½ ³btëÖíŽJ¥:/“ÉêõèÑóçÏ/óµ% bbb.]º mÛ¶V!æB¡P AƒhР’““¡R©ð÷ßc÷îÝHKKCFFF¹,”ÄÜ»wï¿]»veCÜra* ›% VFܤôÚ·víÚœÆMNNþÙÏÏÏ}Ïž=èØ±#233õ®—••…6mÚ`×®]º„ BtïÞÛ¶mCïÞ½QPP€F¡C‡ºâ›^^^½-=H$&Y(¨õdĈ¸LZ|ÂqëÖ-4iÒ;wîÔS2 ±lÙ2Ñìu£GÆçŸø÷߯$&&nƒ¡rCH.ÌwDƒ¼íqþ`€F°zõj‚k+Ìš5 »wï†B¡p^¶lYbëÖ­×BŸXÈÀÉðü¿&ªì®°‚!à<[.Rw¿ðöövƒx cÙøŸ6}‰E\¥4‚Óh„­€$;;»°qãÆ?pçEŽ=:‚’‹ W¯^SÛ¢, L,‹#++Ë‚!4Úûd¯+ëNºøóÏ? ~ÓªU+P ¸-QPP€Ï>ûÌ`ÿŸþ‰°°0‚í>bÌ=J¸Ø³x‹ ŠÖ„¶uÒ­¸¸x««k½V­ZÁßß߬uA*•¢C‡4hz÷îªU«Z±åƒ\.G\\âââ0{öl(•JìØ±6lÀöíÛ™x!$ ‡bY/LùÒ‹ ˆtζ¤kËÕQ níW¿ýöÛÿÖ©SgJBB²5jH8€N:áßÿÕ»È;wЮ];üþûïhÑ¢óuîܧN‚ŸŸŸ.†5A‹íYµjÕB­Zµt5a®\¹‚ªU«%I~ø¡[Åo¼¥K—B"‘ '''çÅ_\_XXÈr+ÀhÊr*œ{!>€üü|]Â{Àž={––†øøx´jÕªÕ›o¾yxéÒ¥gÁÉítã“ jÙPC_v´YØÁðƒ6›Õ³dÁ¸û ‡··7Ë‚a,ØÛ‰DbkM‘x   IùöÛoÄÄÄŒ8í´±\èŽ1_SY¤øŒÛ·o³$ccÀ‘&~B(œãnÁe¥œ6mš.®ÇÖøí·ßpþüy½}û÷ïÇ!CàïïïçsðàÁû0dˆ¥¤KIÀ!´‡ºg››»ÇÕÕõM©TŠ„„¬]»VôG-Z´À AƒðÒK/¡Zµj•ÖXKÂÃÃýû÷Gÿþýñäɤ¦¦býúõHKK \nÚ´)‚‚‚ëÖ­; CAOÌz!FL­å;O¯%Ñþ/ ï»N[Þ½{÷ôS§N-nРÁ¤àà`ìß¿;wƹsçô.öàÁtéÒ[·nE—.]˜ÿ°¬ ˆep²4jÕª%zŒ‚‰'Šfãš8q"¾øâ @aaaá+¯¼²æêÕ«ù0>VXq_b±_bñvi=à+0uêT»‹ë5jN:oooé'Ÿ|2rïÞ½œ={¶¥ÄB¸©Pê*Åßl &ÚÁЩdŸE xxxðÓÔ†¤ÂXL†]¡uÖ@°¥– ÝϺvíê:dÈy‰D–îÝ»›¶, FAA g—‚Z0T*UIVV–}±\ÔXûäܹsn2™¬À êB¸ººÚ…õ‚¢oß¾L‚A1~üøL‡ùšç2ù>;ÀâN¡'”¬^½úÏiÓ¦pnÖ¬™ÁðôôÄôéÓñòË/[L˜$„ 33.\ÀÇñèÑ#Ý'ÝrssáææøøøÀ××Wï{DDêÕ«W¡@qOOO¼úê«xõÕW‘““ƒM›6aÁ‚¸råŠÞy4³QIIIñÖ­[iq4S.R¦¬?&êžèY1¨bbbþwùòeÿZµj ¾}ûÐ¥Kœ:uJïºJ¥‰‰‰X¿~=’’’*ÒD&>|ˆ+W®è¶;wî@©TâÉ“'P*•ºíÉ“'(..†»»;<<<àéé Ýæííš5kê¬áááprr²h[U*†Ž~øy|Ú´iº"¶%%%Åo¿ýöZw:Ö|#f¹0Ç‚áH±_=ô€´´4¬X±ÂÆÍ1Ä7œœŒ5kÖÀÓÓÓgëÖ­#êÕ«·H­V ‰…ÐuJhۉ%îË‚±{÷nQŸKGÂĉ±qãF½}ô~=<<ø¦ÒÓ²ÒÚã -ô½ ]¦èydãÆ³œœœj¢W¯^>¸OXŒ²Ù{ò䉰l¹Ðjdc¢\ ‚Jddd"wØ´i“Áy]»vµ©¯½IIIÁ–—.]Â?ÿüƒ† ¢C‡ 졋ߺ,YmgÆb¼óÎ;y“&M:,—ËÛ³|Ü]]]1cÆŒrÿOFƒ‹/âøñãºíĉxüøq¹¯Éo[LL 7nŒ&Mš qãÆˆŽŽ†B¡(óµªT©‚±cÇâ?þ0 uêÔܽ{7K¥R DZ±#saM·:¾ƒe­£ZWÙ /¼ðÙ¹sçJêÕ«7²jժػw/âããqüøq½ 㥗^ÂÊ•+uq eEaa!Ž9‚¿þú 'OžÔ k%‘J¥ E­ZµP»vm´hÑqqq¨]»v¹®WPP€—^z Û¶mcŸ9s&>þøc@QQQá¸qãV¯Zµê:Œ•²ÔÜÆ~9ɨ à;xôèFŒQéñ æbíÚµèÕ«ú÷ïÈÈÈ›6mêÞ·oßTpò»‚÷I-üÀoÚ6±bØÁÐù|°,‘‘‘:S°#ƒ•m‚Þ¯»»»°Ð`Üjá(V þÀôý{é'¹|ùr¢Ï@€Ó¸>|¸RÛk ”—`Ðô¶‚!$`üí(r¹| œ?;vì08n/®QMš4A5 Ìî‹-ÂêÕ«Q½zõàøøxÿ´´´,°/áâ/$ŽXi D¥R#÷îÝC~~~™ÈäÍ›7‘ššŠÔÔTddd //ÏôÊ‚‚ddd ##C·ÏÉÉ 5B¯^½Ð§OŸ2»Õ\¿~Ý`%7nܸ ýþsȩժ‘”Ä,·€4**ê«“'O7lØpœŸŸöìÙƒ_|QZ­ÆÈ‘#ñàÁL™2Åd[îÝ»‡¿þúK·?~¼R]p5 ®_¿Žëׯ#==_ý5.Ým\\Z·nÖ­[£I“&ºì`bxüø1zõê…0ðÁ˜={6 ???ĈßoܸñØ®˜Â`n±ÌuæöÔÁŽç  ;øk4Œ1B/…¸=bìØ±ˆÅ /¼€^½zõ›ñ³‰ÃÖ•¼c|Jÿ` X~~~•Ù«uô~}||üÒÓÓûxyyÑÔB|a¬z£ÝBP囯ÝЛÜRSS"""œûÈÒ¥KmÑÜJËEÊ‚A=zD †¹0åSm¯“?„à‹/¾0Ð6Éd2»¬þÜ·o_ƒ}ëׯÇ;wÓ¦MkC¡Kì1G(t¨~ts…Þ¦Ñh² $$„™N”%t qîÜ9Ì;Íš5C50a¤§§[\ˆ¡¸¸˜9s&êׯڵkãwÞÁ¡C‡ÌÒš²î•¯ .Ü{l”Õ- ¼Ok‡BrA`(àêÝØØØ•_Üœ·k×.´nÝšyá©S§ŠZ´Îž=‹?þMš4A`` ’’’°páB>|Ønâû²³³ñË/¿`Ú´ihݺ5üüü””„µk×2­)÷îÝC‡DÉżyótäB©T* ô-ƒ\ˆ¹EñÉD1Ä]£Œ¹GÙ³{¦'€ßԀɓ'cëÖ­¶m‘xðàºuë†{÷îA*•JçÍ›7uþüùMÀ‘ ºñÉ?ðÛ@†4§Î‹%`K‚ñ€ u`ÕªU¹Á E…sUÛ X…ÕRSSu‹GÇŽÛ]¼xqJ=a~= »&’A?uBSHHILL\.‘Hüòòò0räH»5SZ¬Üœ˜:ŽC\\¤˜E IDATªW¯Ž±cÇbÇŽL÷É“'B¦‹‹ jÔ¨8qâËúÅ"bǬéÀ`<²Æ7S‹Þ²eË5û÷ïÿñòòÂÎ;Ñ¡Cæÿ˜7o^ýu¨Õj>|ï¼ój×®èèhÌš5ËÀÅÊž‘ŸŸ­[·bèС@||<–/_ŽÛ·oãúõëhÓ¦ Nž<ÉüíÂ… 1}út@nnnnRRÒÿ~ýõW:FÄȧTÐÍTí¾{”#Ì9Õìƒ6%í¢E‹°xñb›6¨,ÈÌÌD÷îÝ¡T*¡P(\¦M›6õçŸN€>Éà“ ¡»”žüX$ÃÃÀ˸(•J¼úê«L?J±jÇŽ–ãÔ©ShÔ¨RSSAAA¡[¶l™µråÊÖз^ð?YŒàŒÝ †%C7Ñ={6^.—w€wß}×ÀÏøiË‚ñä‰1ÎÀ¾999b1¬ç-<ϘK•=¢!€Á°bÅ ³ÒxÚ;RRR——™L&_¼xq'…¢dŽÑæBwO%%%:Y–›Ôµk×pd--- o¼ñBBBвeK|úé§)NíYYYX¹r%PµjU¼üòËØ¸q£NÙÆ²^DFFêæ[·n)aÚõHø]4°ÖÕ>³H4K›®j;tè°q×®]ó !ÄÝÝ¿ÿþ;âãã™OII¯¯/Zµj…Ï>û —.]²Òmpó÷¸qã––†ØØX«ý•J…Ý»wcüøñ Eýúõ™÷%‘H°dÉLš4 ððáÃG‰‰‰ß¤¥¥‰t³Ü¢ø¤BH4Œ¥Æ6¦Ä²4§Ðn 7n4Ë­ÎÞpìØ1ôïßÅÅÅH$²þýûÍÈÈ)—ËQšî_hŰɨìŒ8ëÔ€þù/½ô’èbàåå…¬¬¬Jl^åãáÇèÛ·/’““±`Á8;;;=zl\\\Ýž={.»zõjØ•…$Ã^_l±ôµðððxàRÒ.[¶Ì&m³X/¶XJJ>¨‹Ô½{÷øl„E.„ŸŽH,(> -**ÂòåËmÝ‹àáÇøî»ïœœŒØØØ¦Ã‡ß¹jÕªË`“1BáH}h¸­âââ{ô‹`üöÛo8tè¶mÛ†GY½}5jÔÀôéÓ±zõjƒXK!777nÄÆáää„N:!,,Ìà<¾EçîÝ»`[/„qÆÜë+%±”f½‘B?Õ¦´[·n[ùå—âž={¾çêê*[¼x±hâs”4E³fͰbÅ 4iÒpôèQ|õÕWºš&Ö!DÔ½/::o¾ù&àþýû÷¾;zôècˆ¸&ÃÌCŸXˆÅ_ð +˪jÔ^ÖA›Žvùòå˜0a‚ÃzKìܹݺuÖ-[àëë‹æÍ›'ýûï¿U;uê4÷Úµk|+“ØûέôM©ŒMJ™A)!Z,[¶Œ8;;›«©{&¶Æ“K—.ÑGDrssoM:u 8b .óA àŠzpÇX)K•TRŸ–kƒ–)•ʺ„ !„ 6ÌæÏ¾²·Ó§O!–-[fô7R©”h4B!³fÍúÀtÓLWôuü.ýÞ‹Úh >€Z‚Tà .#“3J5ö8v:Óçóí·ßÚ¼ß,¹EDD•JE!äÚµkç ð2€>Ú¾k 9¸XµÚÂÀ(VàÀMÛóþ›17HÈ.]ºFû}íÚµ6ë#ggg2sæL’——G!D­V“åË—›µiòäɺ9#$$d:€dè¿ûýtÐ@KpkG]áªiÇ·-Æ¿ÁÍ;N\Á­eÞÚ¶7_ÕÓ¶¿ù£GÎBÈ–-[lòÜýüüÈ×_MÔj5aáæÍ›$))É&msuuÕµë믿þÀ ïxÀTpkÄ[Æ `€W ·V$è -¸9§¡öÙGhû"7nÜÁÉNÐ÷õ··¹GAùœhå µZM&Mšd³÷ÖÒ[ݺuIff¦nü=zôèÊèÑ£_Ð@”¶ïªƒK¤Äï7½÷]»Y¥*Âà.ûÁÈ‘#±yóæJø×Ž…ãÇ£qãÆHIIÁ Aƒàéé<þü¥‰‰‰Ë:tèð sk ŸŠ ˆ=Ý!œ&ËÍÍí ’k×®aݺu¶nV¥ãÂ… ˆŽŽÖÛgÊ‚áå女|äåå•Áwá#ŸÂïö ]9ì½{÷¢aÆeº@~~¾U]%(<==ËU“áðáÃhݺ5ÂÂÂê~òÉ'13fÌøú}&„Dä{éN;~ÿÎ °wïÞì^xç%D@@îß¿FcpÌRHHHÀW_}Ú Ô5¦oß¾˜4iÖ¯_oµÿÕªUÃÝ»wõöÑX B¹sçN1 ßusâ-øYtŸ•4n„óµb"q‡ …BêááÀ øÀõ‹µÆ‚D"ÁðáÃñé§Ÿê:"$$›7oƶmÛœœ¬s㳄÷[PP€«W¯¢V­ZˆŒŒ¬ Ãq`,m1c£ûéy¬´´¬5Æ^PÀ­îù <Ø!ºÍÅ… вeKüúë¯hÑ¢¼½½#–-[ö¿:Ì}³fͲH•f…B)S¦àÂ… 0`d2™Á9ùùù''''m?¾ÀaÌza, Y¥hYý†í6д¿øâ‹áôgÏž5¸fóæÍ1þ|üóÏ?èØ±£EÚ9{öl;v qqqeþ­››æÏŸ'N qãÆn‹B¡À´iÓpþüy$%%1cPès©V­Z Ä­Ƭ¬ R|~–F€AŸÚ#là§Ñh0wî\´lÙ’iõzZPTT„©S§¢sçθ}û6H4h0úÖ­[‹ÃÂÂ<`üm2ðÛRË„µ\¤à|ÿ$9996l¶oßn¥õôâìÙ³hÖ¬–,Y‚#FÀÉÉ)°K—.}üãéáø¶b{yñ)$à´)عs'SxxÀ"ÁÁÁFsïÞ=¨T*ÈårT©RÅ]p˜5ˆ‘c¶„ œ&Å«¸¸Ø€Š¢&„¨òóóÕFU\\ìTTT4¥cY®ÑhdF¡Ñhä„'Bˆ!ÄW¡PÔvrrŠS(1àæ;v ¯½öʳî999•+Gþ‘#G0jÔ(üðú}…………ÙÙÙ÷ïܹ“}ýúõì+W®d”Ð{–H$j™L¦vqq!®®®¤  @9`À€ ///•¯¯¯ÚËËKM?%‰R­V?!„(•J¥ò÷ßÏÙ±cG!Ø$ƒ¦±#á@ˆ‘,ÒF…y‰D‚1cÆ )) Ó§OÇwß}W®>oÛ¶-¾ÿþûr¹¹¹¸¸àÃ?ÄàÁƒ1nÜ8ìÝ»·Ì×€:`Ù²ez…øXƒ7gJÂÂÂ\._¾\„²k>ÛÏ B¢!êãT«V­š§„¹xñ¢Þ1©TŠzõêêÕ«‡ôôt¬_¿“'O6p/+ –/_Žš5kâµ×^+×ï‹‹‹‘ššŠ .”» 7.–/_®»GL‚A…h777÷¨¨(·sçÎå¢|®QbU»% °|à=€K¢1xð`üñÇ6nRåaïÞ½hÒ¤ ¶lÙ‚¸¸8t8vìØ’V­Z%_ºtÉT? ß?"‘HÊ5—ê_Õ:&ª0j«8p ÍMHOÃvèÐ!B!ÿý÷ß^p&o¾éË‘‚¯ºÒ±ñꫯÚü¹Újsvv&÷ïß'|œ:uÊäïnÞ¼I!äðáÃÇQê"õ68Ò6\ ð@p™3â´—š¯ôƒ<=a} BH{BÈTBÈ&BÈUBˆ’XgΜ!ÁÁÁåî›–-[V¨oß{ï=RRRbº¡G¡J¥:VTTô¿¼¼¼qYYYÍÀNQhÔÒI7bû¹àk4š‹„òÞ{ï<ãéÓ§3ÈÁƒIlll™ûÌÝÝ,\¸Pt_œ={–´oß¾Ìÿ;((ˆ¬[·ŽyÍM›6œß­[7ÝñŽ;~Îõe¸TÎÂï†Ðw¯&°Y‚ÞØ£Aß m›„Aß>ü‰B.^¼hð<"""˜ÏîñãÇä­·Þ"2™¬Bïs»víÈÙ³gË4vìØA"##+ô‹¿ÿþÛàüFéŽ'''/G©k êà%p.t :[šh '5Á% @©K;J× ·šÊ7ŒMJYCïýüùó$""Â"ë´#nNNNdõêÕº±““óWTTT#pIBÀìóÝ¥ÄÜl B}c-©úåÆVúÏèstqq 7 ;ñ6SÕ+¯t£i$\àæo¿ýfë¶Ø EEEHIIÑÛW·n]h]D¡5ÂÇǧ,(éäSYðð9€‡à }Nð ·XYJ¥ÇÇË/¿Œ˜˜Ýs*ÊãÁÇÇŒ:uêàûï¿Gvv¶I×· ÀY&“5vrréææ¶<00ðoµZ}H©THHH`ÍLbK•µk!º±*‘HB0ÝΜ™¿oÕªGggçªà‰Ø‹Mßí©NF8xð`¥ä¯·g,]ºS¦Lѹ{( Ô©SgΜýÍ;w^^^Ɔpá;n $ø<%ÃåË—‘––†›7oâîÝ»v‹#„àÁƒ¸ÿ>îß¿ììlU°Ù¥¨[·.ªT©‚œœœr_#33ÇÀ¹ñøúúÂßßþþþ¨Zµ*\\\*ÔF©T T¯^±±±èܹ3 ¤Riww÷·mÛvþÎ;ÃBCCOiÂÁ'ºLN¶²³³ýÁiM™ã%<<œù»ŒŒ Œ5Êè;d 'Nœ@Ë–-1~üx|üñÇðòò2zþ¦M›ðöÛo—{{ðàZ´h/¿üƒ 28ÎrÙâ?­5PvRa Ä > p•òöö–*ŠH€!F0àäÉ“xë­·*ä*p ±ùóçcÆ Xºt)õŽãóÏ?ÇܹsM’s°}ûv¼ÿþûxÿý÷uµøpwwGXX˜^¦*A&)~†É«uaª¨»!≠Œ|ñññV­Eâ( „`âĉ())Á”)SàëëÛ"==ý+ÿ±ÏØF5aBûòg˜²’Éj!„¨T*"—Ëmn2z¶·ß~›BˆF£Ñx{{wW£1J3>„ÂŒL66ezBT„²hÑ"›?S{Øø¦LBØRøÛ’%K!„äwAannîÛàæWíæ} ¨ÑÀ?[Ì$ÍèMtïÞÝà~>¬÷Þ(•J2qâD"•J-öL«W¯N6mÚDXø÷ßI×®]-ڇݻw'7nÜÐû?EEEkh•*UtÇüñÇÍà\#_Ci •n(­#–AŠºEØ|m \¥hf)gnéééÑô~YóãÚµk úçÞ½{dôèÑü-))I箺sçNR»vm«üÑÚ‰‰‰çÓLR×®]» `J³F ÔŽpîs­ /?Ô@i†:ZcK˜1ÊÞ\£^ „<"„s‹ªR¥ŠÍça{Û$‰ž›Ý®]»fhûœºØ ûÜÌ0eU©¬¬,³ª?‡iܼyG%;uêTÜ ` ÌÉÀMf¡%¸váŸþ±qSì_|ñ…ÞßíÚµ3z>uýqwww÷ôô¤ tB±|ìçû‡bРAxùå—qêÔ)ã¿´3Ô®]M›6ÅàÁƒmÝ”2áÑ£GHIIAtt4ÒÒÒèngOOÏEOž<™rÄd¶s›’Ëå5èwVål~uï]»v!::‹/¶h-„;wî ÿþèÙ³'®_¿€ÓÏž= 4À®]»,ö¿à÷ßGTT–,Y¢»'''DFFê—““ƒË—/"""‚´» ï“¿ñŒï6Ѳ °…$Mýúõu¥ËM¹H•””`Ñ¢EˆŒŒÄ7ß|cµÚ[¶lA½zõÐ¥KtëÖ ÿþû¯UþÏýû÷ñú믣qãÆØ·oŸÞ1cÞAÐ>?°½Å6¾ÕB¬Ž¿Ïl‰Ÿx gÏž²8?­ „`øðáºu¸]»v7n\¥ò#ËÍžµ&åp—²Áž»GYügY¯^½j(%t3©„V^¨Ô†ë£6ýâh‚§µpòäI¬\¹R÷÷ Aƒàêê*z>5‰K$éË/¿Ê;d«~UØ ®Îvî܉èèhlذÁFÍ©† èׯ_…ݘlÛ·o£[·nHNNÖ¹jxxx¼óßÿEé #*?†K*•Ö8÷:¡àP½zux{{ƒf(ìÖ­›U‹šmÛ¶ õë×Ç´iÓP¿~}|ôÑGuÉãC©Tb„ hӦΈ%H>|Â.` },Ba¡DH†€ÆÓÓ³.ÀefdâgÚ¾};¢££1yòd<~üØêmV*•سgÕÿ]úÝþýûëÆº±Tµ...îMš4ñ€¸›‹Tˆ¹DÙ#¹hÎ2÷ß_G¸ŸÃÅÅÅ>|8T*œ«®^½z J­Ù|%µÉX^eJakU Æs‚a9ðŸe5h ·p#öbŨp«Ÿæ¼ÔeÅ„ pôèQ€··7úõë'zîtß»víJ´YuÄ`éq°\6L™2/¾ø¢.NÄÑ —ËuÃËË III6nQù@ÁÒ¥KѨQ#\¹rðéÑ£G;BßÊ)F2DƒÀ+ë$I'@Üz±aÃDEEaÍš5•Òž¼¼<,X° Òê8:t7Æœ9sP»vmƒãô¹øûûSMµÃCÌ’¡P(¢.®IHìjÕª…k×®!!!=zô°š%Á^°yófÔ«Wï½÷3‰¿®ÆÇÇÁ°†Ð¢!–†Öž-— 7nÜÀ¢E‹lÝ»ÇñãDZjÕ*@TTÔÀ¤¤¤ ¡ühTédž ÁÝ»wuÙhÀ&,){Ê(Uàܽ¬¥tD¡ÿþxðà`äÈ‘¢çÞ¹sG§Å‹­ö o 2Ž[ï€óýÆ‚ °páB ]Ö6˜6mjÖ¬©û{þüù&ƒ|íÿþû/ñðáCÆÄÄ,jÛ¶­'ôç êkË'B²T¢‚âæÍ›.‰$`ŒƒbРA¸wï^e5É&(..Æ|À èsqvvvíÑ£G€—³ÁÐ(X$C&“ÕØÞÿý÷4h€;vT^#mŒÂÂBÌ;—©9þ¼Î-,66¶:x– è“ !Ñp$rá`¬\¹ÒšYúž*,Y² •Jål}+†˜%ƒE.Ì!­‘EJ .pä9Á° Ôj5²²² ???pƒ€5Q¨Àõ« œ  †aÅ_[MÁ;+̳ŽëׯcðàÁؾ};Ú·oZµjé´ÏB¤§§£nݺ¯áíí-üø±©@'Ù¨¨UËÚìÛ¶mÃôéÓ+p)Û#::ï¿ÿ>@©Tæzxxx…††â³Ï>Ã믿nãÖ•/^Dÿþý±k×.(Šð 6L þú††~×ࣇD[|ɪóGµjÕZƒ[ìt®@| :´BiGóæÍÓ+þxòäIÂÅÅC† i°mÛ6S‹­=X°Í!¥™¥ÆŒ#‘H$u6Á Ahh¨Áþg‡Ösãg’Šˆˆ CÏå âD‚I,»"—ÄÄV¯^mã¦8NŸ>#GŽ Y³f¨]»vp)äYr+v àÆ‡.¡Y™¥¬ÙD#Ö_~ùe›GÑ?MÍœrúôé#†x\ZÐ4W0çpV¤ªàA~Q%[f 9J!Gµù³´×mÊ”)„B¾ûî;Ñsúõë§Ë 1nܸ(Í"5¥Ùdzè ÎWµ ¸‰šà¬H¬b[eÓ!¤¤¤„Ô¬YÓæÏ­"›\.'GŽ!„RXXXйsç?~œB4 éÔ©“ÍÛXÑfQ«ÕO¢¢¢êˆW|-œB(@;.|Àeã`ªÔâZæm_'''½ûðõõ%ÅÅÅäY+cÐÁƒ !„dffžCiMúÞ·W@­>J lUEi¶a¿Û¬ ¢É“'O"é3xå•W žAjjªUž·£ oß¾Ïä×_%„rëÖ­QZ|1œ+k+p± õPºøƒ]¨×.Ç!d!„ܾ}Ûæóª£m‹/&„’}\V±ÁÉŽ-ã"˜7_Ðq!\Lö•5\¤tùïŸ[0, ú<½½½ýPšÊïe,Ȱ½K4¯ýspøüóÏñÚk¯aðàÁèÔ©óœ}ûöÑ]ºt‰[ Áò£7å:e.&ÀÚµk+Í/ÝÉdøñÇÑ´iSÀçŸþãž={î0`“R©Ì•H$øùçŸkã–V }ô4 ¤R©ÇÂ… ;Aß½’»e,&ên–‰¤+ÀÍâkí W¯^&‹Q>èß¿¿Á¾¿þú P£FÈg˜~×Ys„]ÃÅÅ%Š~gY0h€÷³ cÞþþþÕy»©ÉÿÎß'Ë2.AûžÏ›7¯ ?³/Èd2¬[· ¤§§ï}ï½÷NÀ•+WòçλžBüüü°{÷nÄÄÄØ´½Á… šš ˆ‰‰I€þ‚"Ãe‘@¿2¢8‹3€›%h? èÝ»·AUïµk×d2™ü­·ÞbU›+Ë`—J¥õÎEøâÅ‹zÇœœœ˜…Ÿ%DEEì£ÃÙÙÙ½M›6Â*}DðI¿Û;©àà àRø>GÙ@ NJ¥RYÛ¶m«£t0ðÍ_ 3ç «Y0!›MÆ^A-ÞR©T˜ÓÞXŽ{Sš¬Ê‚À©=‡q¤§§cذa1bóøï¿ÿ¨Q£FX•*U0$ e%Üæi¦G\ ÑK—.™Sv¹\Ž5kÖ`àÀ€7ndöèÑãWía€ÌŸ?ÿÜŠ+~@ªT©‚={ö84É c&00°]hh¨ôapŸÑT…€Õ¬#àÉ“'X¿~½Þ///ÄÇÇ[á_Ú?|}} ,š§N¡C‡=zôhë(l ‰DRà2H ×ÈÈHÒõ¬ÁXÑÆŒIÆIDAT- ˆá²Àð``Ý|Óxòä‰î»D"¡ó¿±Œ¤tM(—’ÉogÀew())±ÂåŸ]P‚!“Éd111^'OžÌ;ó ÓœÅû$å¯ý^!ß±cÇUü 6€Œ?þ ‡‡‡tèСƒüýýqèÐ!Lž<_ýµ ï | ý%“ÉÜçÍ›×nÈ!û`èFI!ÔjÒïÁ9–„À«7¾•J¥ÞA777Œ;ÖÂÿÒqÀÊš•’’‚V­Z¡víÚãââ|<˜ñw]L(0÷½¯tH$’(€í%•Jò=´$XÙi&)©TŠ 8Ç&Bxx._–´6H$8"”Îïb)Œù AtI?´×%­A0žÙ³øÏ4::ÚçäÉ“ ¿ÍcÛO2Ï]¤ÊˆììlæþsçÎáĉhÔ¨’’’Zj …1Bal3GÈpŒýû÷—ç–lŠ1cÆ`Ñ¢Epww:tè¯Î;oÒ’  t¢ÕeZ6lX:€â!C† vss“¯X±=zôÀÈ‘#ñßÿÙä>ʃÌÌLܺu !!!hÑ¢E‡À¶NðÉ…†÷i0N,¬¨èíØJII18˜••õ}ãÆ«ìfÙ= píÚ5DDD <<œZ0ÊbÕ¶wx@åëGŸ.H¥Rj¡à¯w´ð¢ @ ØI¥0Ó¥Îj.RÏ †åÁ¦/¼ð‚/ IaÌ…½Mjà9Á°Ö­[ ‹èÕ«W v7ËUÊ”U«,£_¬Y=ÙÒhÞ¼9vî܉””J.ÈO?ý”·QK.øµ0ísɰaÃv¿õÖ[s”Je6$&&âôéÓHNN6ZyÝÞ™™ pssó‡¡{”©|æjÄË‹Qð÷ßãäÉ“¾ôÓ‰‚‚]¬JëÖ­;999±úÈ¥“Ćõ‘˜èÝ»w8¿p¦ã9ÄAŸWPPPʦp´«1 'Ó§<‡)H¥R¾;,MdN<žÙóÿs‚á@¸s玮ˆNXX˜·Èiöìk[<Á°Ö¯_¯'NŒãb‘ c‹LYƉŽ`h ¸Ù5âââ°cÇddd k×®€‡fÏž=;eàÀéÚÓXä‚jpèV¼téÒ mÛ¶};33óO¨Zµ*¾úê+\½zS¦LÑYEì999ô« †÷ø™èÄb0¬5¯Ä‚K·Í´^<‡8V®\ ðððð_´hQ3˜¯©¶·õAr¹\`ðœ`” ôyU©R%âëpŸ£@fë< Ð ~’ ±ÍX,žÑ±c5)´oßÞ —¶‘›› yCÜDe¯æÏ|ÞÏ-–Á;w°wï^tîÜ­Zµjæãã³åÑ£GÂÈ·²æ¸Ié­}ú OŸ>¸D·oßFVV²²²pÿþ}ÅÉVhذ!ýJ cYèø~·,E…–IÑ@O€ Z¥®Ïa>ªV­ ðññ ùᇺ$%%ý ó• öŠ(P*•ÏtpyÀOߺoß¾,Þas§]’N-dн{wlݺÕÖmq(xyyé¾Ëd2á8& sÌœ;,M0‚MŸò–€ŸŸŸ7J"úI7À>s[@pp0‚ƒŸK£W¯^m’““ÿì~ †¬ïæàúeÒ¤Ieüiå!///÷Ì™3gvìØqꫯ¾ºøàÁšrDÌjÁŒ½€¾«”Ž`Ðß¼ôÒKivGDD8Ï›7¯UóæÍ;·Q(ž ¤¡1ö©T*\LX›9‚©%‘è—€€A{Žò!!!apÍš5w^½z•j­# Þ§=­: †··7/^lëæ8,4h àL+˜ìpRH fÍš¨Y³¦­Ûâ°Ëåôç¿÷æ(%Ì'–&WÁ•‡J¥’h7äååÉrsseJ¥RöøñcÅ£Gœ?~ì”››ë¢T*óóó ] KJJœT*•\£ÑÈÕjµL£ÑH !´d½£¼‡D"!à´…D"‘ÜÜÜ|è ¬j¡´˜ŒwMSï¼X Û.´ZÓ¯ -Braà"ý‰™ÿ „Y9XÁÓü1K?Å„ys‰ ±{†Èýò‡"è‘"Þq }–˜KsßLÏÏpÂ/ ů>+,e,û‰Á¿®hÛ­–’Hlà÷#}×Yï=\[¥/-íx ý&ôgWŽ :„îåyÇl Só+Iÿ½Êt=§„÷Û2­¶‚VXÊüù‚Ž7ÁF÷;Aýá×r´¹BQÅ$ôÇ ×é8(Ðnù¼Ž¾Ü ·VF †Ì ¦,AiçÒsX‹/…#utyÁšP„‰PÃ*œ XÖ {KÃ,Ô.«Pš“™? Ðq"$¢Oãø` ¬øþX0 Pyã%Ø ß~_Ê /°æOöÆ&Scm#bîQ‰•¶ƒ.nÂÂDjp‹ÿ“Že¡Ÿ«¹$Cø LY½Äž½°­bcÄ^æ1¢(¼'‰à<¾  8Žà`L ¿ôo>‰~Ú`Œd‹uþûD`úý²§ñ`îÜ&\35‚ýÂ÷Y캖-„9ó} åÍgA‘-|.BÅ.©ÐZ`m‚A_dú]øÒós*PÐc,mƒ£h,s´WBM…P QÙBeyalq …^øã„žÃ×›"Ž<^Ä„ 1Í´˜–ÒÚ„“µˆñÛ'%‚ãüÌ@ùßy1›5¾Œ¹Gñ¿h÷ /¬Ð9‹/ð ÉÕ–©ÀÖ° áò(UÄbšNÙ°×9ØР‚þz#S¦{šŒ‘FÖ;%& ØJ¹P!˜¨É!¦4` ÙÂyƘ5ËžúßÄÞoSʃrÍÿvä6g.Œq¡2Úc|+<à¸cC ¦Æ ËX¸”Yaa5‚A!¼IÂØ‚@Y$=/PšÒJ;z§ƒ1í}Nü……’ :@XšIÖuí b%| á77Ë-ÆKeòbÚVÜKàʸèiÿZ¬Åž ü~*Ê£m6G ++ÁnÂE›^›Þ_1Âê¡‹ËMJl—×UŠuÿbd1áÔ¬ ¦Ú/ÔPóŸíÓ`7õ~ ûQL±Àºž#Á˜Cl\Ðóž…¥1‹`˜"›Ž:XS¦ð+Só×–2pܱ!cc†åVÇ"e3•á"E`a‡KÁÖ8 _cZiGïtS#t’àO %0Í@ím"a €¬E“¯Yï˜ܽšëõ´ S†¨¿5,3.„ï8K¤ý¨üŽš¦ÅbhÊÛg,Ìñjô…Ä‚ÿüø“-%b×å»F±RÂVÄMÊœç`J«gŒH±’ÊœKÌ!| ¸¥Ç”­al¾d‘ESDÃÞÖS’ÄÞcSÖ,G"MŒ²NK+šlÚ^á< f¹ ¿¡2„p®^ëi„ ãÇbðeI–¢Éä8©Ì z#TÓ'ì@þÂ`N‡?í0­dMªÆ‚Qu›šðǃ)’Á"å%œŽ±÷Ú˜’ÉX ¯Á°Ce¤1Ÿk®`)(ŸEYÓØ˜ayÈ­¢CĪÃH†DÛháÍ™J7ú¬t< ¬ÅÀ˜  ø$bO í¡¤‚~Wó¾ ï“ODŸÆEÃÄ„GÖd!œ4„‚s\”qAaKúŽóûQ؇Æ\ƒñ>4Ö·Æž° ,’Ázn¬sXï_¢Ç¥‚늋²ºG•—(›"¤,Eÿž™÷nDøYï?ÿ\– YÞyÁæSÏÓdÑž×ø÷lŒX°,b©ŠY}mýo æ(„φ ÓæZ'a<°ÀŸ7ør¦ð¡2Û\åÓ1¹A8w”Ûݾ²ÓÔòµ|“B_ÛiJ“ù, ‚² B!ɤÕ`Š¡w*ô_cA±À³16qÒÉY´B–-AÿñÛ@'wa[…}Èï?sÒÒ–¹‰ŒOÖ;#öîˆ ±gÆ7ÁÓ9M ýùE,Ì!–~b©˜¢‚%„Xt1êÉ'¬g‘¶² ö8g{¾Â¾`e¡bn¢ãØ^Ö„‚#ßý…ïFË?ŸÞ«±4ÐBØã`Á˜"…%,йK[ ìq0¡u“â@Þà+¹Œ‘‹gI†ö34fÅ7µêÁêC`êôµÔÐî[`˪¹{š!ìLs…¦2 A((³_0j¬žEí…˜mŽàÌ#iÿ»F°OÊû|e‚±´¬,ˆ7‡ŒÓOá3 h„ñ]ø ÿŸÐ‚Á" À%¬c¦SúÉ",kŽ)ë5ÁoŸØ~¾°Éz¦OËÜ`Î;oL©àˆÂ¤p¬R‹7G 8ÎOÍRb8ªâÒØÊ –,)¶ˆ­ºßÓIü?iÛðˆáåIEND®B`‚./chessx-1.3.2/data/themes/shadow/berlin.png000644 000765 000024 00000230245 10633464147 020402 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖsBIT|dˆ pHYs66Bï®tEXtSoftwarewww.inkscape.org›î< IDATxœì]y\åÿï.,7""‡Šà} Šxk@æQyߦ©‘™©e¥™¥™G–öËòìÐ2µ4³´¯fhž©©…x摨€(7ìñùýñìÌÎîÌ.‹²°À¼_¯Ï‹eæ™gžyžgžy>·‚ˆ C† 2dÈ!C† ¥ey7@† 2dÈ!C† •2ƒ!£*#´¼ C† 2dÈQÙ 32ª2ÆXRÞáP˜`yy7B† 2dȨÈp*ïÈQŽp0x«œÛ"£ü1À0 ^^+ǶÈ!C† ²CFU†Êðw€ÅåÙåsæâU–_sd8 jø À\×2dÈ!Yƒ!£*C8ÿçþÊšŒª‡ñ00iiiHKKCóæÍ`=€7˱m2Ψiøÿ€ïʯ92dÈáØ52ª2Ìì9•GCd”Æøæ"&&QQQHHHàο`iy5N†Ã`ŒÌt,¯†È!CFE€Ì`ȨÊp€sçÎáÒ¥Kܱ· 3UãaÆ\$$$€û˜˜È•{² ]UGO³ÿ;•K+dÈ!£‚@f0dTe¨ )) ÑÑÑæLÆûåÖ*eç Á\p`2æ@žUàüùóÜÿá\Ê­52ÊN: ¦Ùœ`€Qš—_³dÈpLÈ †Œª 'ÐjµHIIATT.^¼È› yCYYñ˜³®òÞ½{ˆŽŽ6a.8Ü»w111¸páwh.½§(eø2ÊøÀÚµk¡×ë@  my6JF™¡€ÏÜð€->ð.€•6HpÀ¾åÓL2 2ƒ!£*ÃÄ#55ÑÑÑ&L-”7“• ã `.Ì´"pe¸9¡P(æétº–Hž•¸ÀåË—¹e3©Ê 70F"ÀT˜úà 77×¼|3ï¸ `Øz CF•…Ì`ȨÊ…š4g2 ÅÛ:n!¤7“7“ ãl€Ìó9¡T*çi4šwÁÖO!ÉŒFåD{xðà®^½ŠÓ§OsÇeGïÊ‹ƒ™B© ±}ûvÌ™3½zõ‚¿¿?<==‚báÂ…ˆ‹‹ã®õð9€ÝÉÉÉî²`JF•É$SU¥MDD;wî$°d{<Pbb"qÐjµ Á!™l,àyd²LãˆHGD”ššJÍ›79jÒ¤ Jž ¤‹/òs¢°°p>˜© GÎrÌynT|:IDGèå—_æ¦À-ó²°¢Ùr€çÉ6jd[""ºté…‡‡K® æ4xð`ÊÌÌä.%½^èÆÕ`AáÏ*“Lv#Yƒ!£*Ãb˜ÔÔTû{•JõvQQÑX‘ZËÒ)‡ÅX4ÑÑÑB¿ 7ÆÁƒqðàAŠÎ§¤¤ ::š7‘Q«Õïæææ¾#C!d:M戞B4lØDPPš6mj3“áîîþîÇß›K‰´[™ŒŠŠÖ0D‹â‹sçÎA£Ñpç;Za,$M*˪á2 «Ô€™3gb„ R¾VqóæMtëÖ Û·o(•ʧŽ;ödᔌ*™ÁQ•!òÁ0'ñælõ]\\æäææ¾ fR7Ž„10f¡x4hÐD­ZµøcÖ˜ŒäädDGGãÊ•+ooïwÒÒÒ^‡Ñû÷ïÇÿýßÿY,ˆ°°0øúJŒÒjµˆÅÝ»w®®®ï]¼x±dᔌ*™ÁQ•aUƒÁÁÜ!ØÝÝ}NVVÇdH™ÇÈ‹òÇ_£ÍE½zõpðàAÔ©SGt®$L†ŸŸß¼äää™0e2$ y^T(Dl¼ïܹÃä˜ …BÑ ¦ „Ð ÆRympLÌXt¨É“'‹N¶iÓ@nn.’““qöìY¤§§#33[¶lApp°IùÌÌLÄÆÆrÿ:‡††¾ S-?-ÈsCF%ƒÌ`Ȩʰ‰ÁÄL†——×›™™™oCìô-ÜdÈ‹òˆ¹„悃Š6BXc2îÞ½‹èèh\½z8/))é¾-1Ÿ2“Qq ˜ø]€0’TÄ×_­†)ƒa‰ä¤ã" @˜3gnÞ¼irrÊ”)8sæ bbbàîînrÎÇÇ#GŽÄ¥K—mrî—_~Á×_ pqq¶jÕªZ¯ ²pJF¥„Ì`ȨÊ(ÖDJó¤l>>>o¦§§Ï­V­š3ä…£`4 Ìç/!Å\Ô­[‡BHHH±ÚÂdüûï¿€:uêÌ»yóæË`L†P“!ÚhÊóÂááC†fCÀ„áp0`@LÇ×’ŒˆÉá0 ùùùX½zµÉ‰ÚµkcÙ²eP*­o—ÜÝݱfͨÕj“ãË–-( u¿~ýCmNNɨ”°Y‚ûPèiÇú5üm ÀÇN÷¸ @WžvºÇÿØ©nÖaqþÀÝÝ7nÜ09ž––†˜˜üþûïhÙ²%|}}ßHOO–••õíï¿ÿþí!Cn›U¥@ …BADd‡ga„ˆ¹¸té’¨P:upðàA„††Ú\1ÇdDGG#%%ÅäÜ;w…C‡¡aÆ yûÚµkÔ Aƒµ0ÝLê—é@¡P@žLûÓhk¸ˆÁ¸xñ"rssáááWW×NÎB¦Æ¦üÕs¿K°.¨=ú£È(]àŸþNg:­f̘OOÛ>ÿMš4ÁСC±yófþØåË—‘ŸŸ777xyyµð -ØüÕ`sF6‡ø9"£BÀ@#uÁ"ËÝËì~ Æñ­z°c \W²/¸ûÄÙñã ÷¸dÇ{l$ˆW\…¨M#¢‰(—H:F“&M())‰5j$ï¼fÍštþüyó±Ôþššš:râĉ^0J±ù‡<e%5]æâƒ>°«~Ê”)æãf3Æ/Y§B¡  6ðåòòòš5kÖìcS@u^ÜÁ>FœÖKžFɨ®ïñ*7žÕ«Wù‘#GˆˆH£ÑlËúìaãj`B/Ãoo0•ÛcŒý\èóÊJ¾D¤'"Z»v­hœ÷ìÙC%ÁâÅ‹Euœ|Íš5KKKCçÎñâ‹/ c¤«Ôju/ÿ-Ÿþùµ‚‚‚nÝºÕ rÜó²@€nÀo¼3fH\³f Þ~ûíß`æÌ™Ø¸q£è¸B¡ÀªU«0~üx@NNNâ³Ï>ûÂÅ‹•0MÂ'G—*=D˜nç{´€ÿý™™™¢“œVC¥Ru€Ñ4ÊIF ²=À´s2ì?Æ#>>^t²qãÆ%ªLª¶U·R®%€çÀ´œ;Á˜Ë*{šHñ˜?>¾ûî»Ç®ç¹çžÃœ9sí‰È Nž}:¯w‚a×ëõíÝ»·TîQ­Z5þZ­v%]%"úøãKå(>>žˆˆôzý×€È!P2òHy«»*õ'¢³$€^¯§Ó§OÓüùó)22’ E±ãÓ¤Iatÿþ}jÛ¶m±×U¯^f̘A/^$sètºßsrr"å±µ;…Ñ\¿Ï˜1Ãâx½÷Þ{¢q2‡¥ë ­^½š/—–––ؼyó`iº€m€[höQªf.å£ÉŒÐŒNž¶Sº¡Û_³Sý5Šÿ ðcÿßÿPÌä%È0Öµ ¿ý çÌÇÝ3˜dD˜ô{e#?"Äuð‚ Dã¼wï^* –,Y"ªãçŸ&"¢¢¢¢‡'NÛÏÃÃ#Ülmð3©ócB8§¼.8Õ ¢+ÜX_¸pÚµkWì¾ iÓ¦têÔ)á4É+,,Œ®ìû={VnoÀ³^¯'²ƒ‘ŸŸ?€3¥Ù‡ÁÐjµßÀ¨&•Š¡/2©(ïIã Ô›ˆN“/^¤É“'S@@@‰ÇÇœÁ "ÊÌ̤öíÛÛ\GTT}÷ÝwTTT$¬F¯Óé¶Þ¿¿ae]T„êÑ-®Ó­1‹-uq×™3ÉÉɉ 4 /€^`šŽÉh 1¤7®m®KJ!‚!ºEDNv¸G/î]ºt±8wÒÓŸóðáÃ`ÌcX&è`0‡Ï:0ÚÚûÂÔÖÞÆòKÁ³Žv€¾¯,äFDkˆH+è_Ú·oŸhŒ—/_N%ÁرcEu¤¦¦ŠÊ$Ÿ|H111%ªËßߟfÏžMׯ_VU¨Õj?¹~ýº¿ùØÊã[jÔ€ˆnsnÉXºt©h¬me.nß¾P·nÝq†€ùö™ŒÎ`ªô–o$JºÙ”‰Ñ³fC5Ò÷˜GD¤ÕjÉÝÝÝâ¼ùõ×_‰ˆ¨°°ð¨a\ë€ÙX×3P(³ÆXú@ÌXZó2|{ Xâ}_Yh%I 33S¤á¦œœ©â"\¹r…\\\L®¯W¯žÅò÷îÝ; ¹Œ!̵òºà4—·åË—?òÞbÖ¬Yüøk4šŸÍö}•jÏW&>æ¨Q£Z¶liµLQQNœ8añü7z©Õj/…Báo©L‡àêêj±Ž‚‚üù§È އR©lqçÎÁ`/‰°°0øøX’{æÌäææJžÓétJ˜:ª›OH½Ô_Ù^s®ú†þûû￱páBüüóÏx”®Q(¨_¿>Ú¶m+J˜ÄÁÛÛÀÉ“'±víZlÛ¶ ùùùVë½wï–.]ŠeË–aüøñX´hÕ*•ê•zõê=§Ñh>Ü»wïÊþýûç1oÇ+ñcáŒ>µ¬ùdÌž=*• ³fÍ`»ÏÅ­[·Û·o¿"55UöQ0·«6—͉ IY›üªŽ6fÿ¿`k)ß#——g±ÐéÓ§Ñ«W/8;;·©]»¶ó;w„y00úØèÇ„c\ %Æüe˜~{Z=æ3É0âYØ¿?¾øâ “jµ……FW—¤¤$¼ñÆøôÓO­æÂÈËËË/¾hr-ÀrkŒ1ÂäØ;#æÍ›C¯×sßnýÐÁ‚Yè«#ó˾^Xˆê¹sçZ,èááµZ-V¬X¾}ûâ‰'ž€““Sÿ³g϶ ÿÆ=žð[!lU¼ï‚¹‹ŒPqHNN¶ªÁ0‡”ãÆVïqãÆ « sHi0–¨k4€‘†‚i2žð€î:ƒÑæ:ÈðžsZ ùݶv‘O”ò=’‰ˆ>ÿüs«ïrÿþýùlÛ¶­€ú`æpM ÔL:]·„cîF‚9kÀMèûÊBÉDDkÖ¬±yÝn×®;vLhâBDDùùù´cÇ ±¹.nßœœ|LÃÙF-†Ÿ¼.8-&"Òh4’>5kÖ¤/¿ü’RRRøy‘‘‘A?ýô5lØPT>$$„>|HDDÙÙÙ[ ë‚/˜†ÓLƒÅ™ÉUXÚrÑ`È0B£Ñ8M$ÀtêÀ8X-ØÄâ’òpÐWHŽöñ`;€†põêU \Ü[o½%˯¾úŠŠÃñãÇE× >œ?ÿí·ßÓ`…Â(à¨é` æûP¡4yyyVíaKD„ÔÔT»ÞCˆ¢¢"'° ÄM<¡ÄS–@Œož  o›Yf-?(¬K˜Fƒ7ß|œM½6lˆW_}ãLJ›››Årö€¿¿?æÌ™ƒ7ß|ÿûßÿ0{öl\¸pÁbùÍ›7ãÏ?ÿÄ÷ß¶mÛÂÅÅeæ–-["¦L™2&:::¦ €*i«ð4€)zÃ(!6Ajj*®]»†k×®áúõëÈÈÈ@vv6O©©©¸råÊ#7â÷ßG÷îÝáçç___Ô¨Q¾¾¾ü´k×...P©TêÀÀÀ°ÀÀÀ°N:õÕWÿ»~ýúÏ_|ñÅŽO>ùä?X–bW•÷úQÀû_œ9s/^Ä«¯¾ µZ­0À‹¥pH€ùèÙ¢=uêOOÏ6K 9;jLÖ4WýÀ˜P,_¾ ÂÛµpò1žMƒÕ÷«C‡X½z5-Z„ @§ÓY+n///|öÙg7n:v숻wïZn‘–5qß{yM(tç~œ;wNtòé§Ÿ.¶‚N:ÁÇÇ<à “:6iÒ¤=€+`Z Ì“.’àoŘ vä^J]ƒQRz FIéq5ׯ_ß 6»è &Íè&ÑàÂ[†Ày†“|U%»Ìµ\_Þ¾}›:wîlq<ÜÜÜhýúõ¤Ó銗²‚F£¡O?ý”|}}­Î%µZM+Wƒ›èõúÛ7oÞŒ‚ÑÿFh‹YU´Dô òZpÈËË£_ý•^{í5jÛ¶-yzz>öûÜ­[7zòÉ'«777zê©§èƒ> ¿þúKj.ê²³³_¾|yÊðáÃkA–T–„Þ ba"}||}ýõ×ü” ¦á¦ œˆ¬Üc?‘´ÔQŠæÌ™ÃÝ_ß»wﮆµ;Ò@`¾7ÍÀü3„‘‚,E;BD”””DÎÎ΀’’’¸{|"lë#>ŸL†õÄ’#66–ëo:zô(Û4ºtéb-°C‡V÷ ·nÝ:ˆ¢#Œ>ZÜ÷^JÓ%¯ eOÓ¸ñ¬]»¶É8zxx­ˆˆˆ0¹V¡PPvv6?þÃhg˜MK°^8,U( Fe„V«u›8€Q{!´Ñ&˜j5Ì%_•+ÄÀ7ÿþûO²`“&M°}ûv´jåXÁVœœœðòË/cÔ¨Qx÷Ýw±fÍI‰XQQ^y夤¤`Ñ¢EP(µCBBöþ÷ßφ„„ ë3ÒŒJªÍ¨`1XFv>ÊÚ•+WðÓO?!..GElyT4kÖ K—.Eÿþý»wïÆ¬Y³IÛ‘ŸŸ¸¸8ÄÅÅ`Qóbbb0|øpôë×jµZéééÙ½qãÆÝ·nݺtãÆ?¦§§S§N? TVÒq}\´€ÿý——._¾ãÆ“ö’B¡X((o1[²…þU€}ä‹õ¿à (§˜0aBË_ýõ/˜®Ó\)[ü/"t€•+Wò¾\ ¨S§À̯XØ©bž‘+S…æl3¦6‹•ßîê¡k×®8wîvïÞ3gÎ௿þÂÙ³g‘——…BDGG#66QQQ%j°Oõë×wruuÕøùù)=<<4®®®EnnnEnnnE...µZ{ïÞ½Z·ný䵡< æ~˜G†R«Õ¢Â+1+KDÈÌÌ„§§' T`sR fµÂ­€˜A­0-‡e0Ôj5:tèðXu¸¸XŒ.ËŸÜ{x{{?Öõ:Nöa2œc7 f8Ì?P?ÉËL€k×®!::III’GŒÏ?ÿžžž€;wîàôéÓxöÙgˬ±ÅÁ×ן~ú) „Ñ£G#99Y²ÜâÅ‹QPP€åË—€kppðöþùçéV­Zý S³ žá¨D%€W¼f:8rä>úè#üòË/(ÍÇ Ä‚ 0qâD¨T¼8úõë‡Þ½{cõêÕX°`Ѷ ==Û·oÇöíÛQ£F Œ9ãÇGDD …·««ëøÚµk×ëõÿj4š\\\6.­ ãYÚhÀÄÑòüù󈋋ÃSO=S“’’> æ8Ok‚©Mxc0i!N:eSƒÎœ9"‚B¡@Ó¦M[8 SÓK¦/æZsVGvv6Ö¯_Ïß#!!½{÷€–æÂü¯Åg¬$kƒÎ`Ú¡¶j Ó牢êÕ«cܸq# N‡;wî  Ø}†5xyyÕ™l1‘zg"õ˜ÐÑï:n|ZZš'•ÿØTVŠà:¼W¯^¢±üå—_ЍÿýWt]pp0~ݺu+ ÐÌÇPh6×fŸT IDAT,@DM°¶ÜšáðfR«Á¨*$Úª¾£S èC! ÊŠùfÀ¥K—#)í¯U«vïÞ¶mÛJV¢Ñh0räHhµZQ¢£òF@@öíÛ‡ùóçcáÂ…’eV­Z…ÂÂB¬[·J¥Ò¯k×®;·oßÞ{èС·` ]G‚¿3c–ß0Çð»víÂŒ3pãÆWæçç‡Zµj¡V­Z B­ZµP­Z5xyyÁËË žžžèر#/=*¾¾¾X¹r%¦OŸŽË—/C«ÕB«ÕB§Ó!##W®\ÁÕ«Wù¿¶†¬ìÚµ+ÂÂÂDtçâÅ‹=[´hq€rÁ‚ª¨¨(§'žx"ÃÐÍ®y¨È}ûö!!!-[¶„R©œ±ñ¯¿þ¤×Jó=#àÁƒ¸zõª¨ ÀÎ;EÇO:…FÁÇǧ9Œk6w=,k ùö9;;Oà¤ÓéDa”…ŽÞÞÞÞ-¤IÕaö<¹R‘5 0SÉXOB0žD„„„=zGÅŸþY¢@0–’¤J}IADø÷ß%Ï 4¨Dæ5¾¾¾èÒ¥ ºuë†nݺ¡^½zë‡h¥Ríçç÷ý ×ë7:99™„k® cîH8 €çàÁƒ±oß>““¯¿þ:zöì ggËʳ3fˆŽ <˜ÿ½yóæk`ß>¡Y”ТEãº"LÂèØckGîEÖ``MƒqöìÙcž0À°D]CÀ´=À¤aa`QEjƒI¾<Á$Ø•QƒL)ebb"HJ€|||èüùóû\èÀ¯R©hÓ¦M%·²ÂG}dUÒ=vìXÒjµDD¤Ñh®|üñÇ aLÆ#LÀXýH µ((( —_~Ùf-€³³3µoßžfΜI;vì0ItTÈÊÊ¢ß~ûÞ}÷]ªV­šÅvO™2E¨ºsøðáÖ†ñt7nœ‡V«ýQ¯×ÿuëÖ­PÈ Ž^6ôyxxˆút„ ü8<|øp€at“ø¹ÈÍpL¨¾7'ˆˆâââ$ÇmÏž=’Á„I`Ÿyæ™bÀ6ÃQ`Á;"Á‚v4“FúÃzÜåÏ?ÿô%¢,"¢ï¿ÿ^T¿››, ¨¨h†¡íjÁó ‰{¾Š¼.pÔ†ˆŽ“:Ž>L/½ôùûû—ªV‘#ÊËË£ÇÁßÿm—¶ † ÒܹséŸþÝW¯×ÿ–——× ̬ŒgE¥ï‰Xò<©u=22’Nœ8!‹Ë—/ÓÓO?-*¯T*ù=`FFÆ]÷#À˜é¾†õÃÚþÏ €ÒúÆ"Ù³r™Á0 ãÀ+0 ÌTj€ž`*öp05YT~ã-"¢„„‹777:zô¨Õ>7¦T*mŠW]^X¹r¥ÕʰaÃø FaaṩS§†À#›‹@TÑ6¡DÄ'(¹xñ¢ä»bN*•ŠúöíK;wî|ìM€½ðî»ïÚÄ\hµÚ;?þøc \ûöí[½¨¨èg®½^Ÿ’™™ÙÍ|l+Èø–6}IÄÖ©~U«Õ”œœÌõë!Ã{áaX/½ ä)xgL˜ŒÄÄD5òì,^¼XrSðàÁЉ‰ëܹ3?ö_}õÕ[`ÜŸ2l¸LîáŽäRTTô:w}dd¤äóq¹|´Z톶sŒ“§ ŸÏ$tš7>Dôi¹~¹{÷.½öÚksK”6ÅÅÅÑãàÃ?,“v¶hÑ‚>üðCÊÍÍÞ^«ÓéV_¿~Ýü~`Œ+µâ:výúõÇÂÇLJ"""¨S§NT³fM‹å^~ùeÔ÷Œû¿Ñ`æòÀÌä»ù5ËTÓ°ŽUˆH¢ö¬\f0 °Æ`ÄÇÇÿày0&ã9ÃàYÃë æØXUŒKD–7hNNN´k×®bûÜRÅõë×Û>peŒ5kÖB¡°¸(-\¸/›••µ ÆD<œ_FEb2êÑîy¾øâ rww·ú!mذ!-^¼˜îÞ½[ªý^Ú°•¹Ðh4w׬YÓ l³Y³}ûöR½…yyy“ÍÇÖÇ·­#¢M$[ŠOD´qãF‹ýûÖ[oñ–˜˜ØLÓç¶™¯nøímxg¸°Îœòóóy[ëJn䈤“m¹¹¹‘F£!"¢S§Nm2¬Ý½À˜Œ(H'Sóà5lØ0O½^ŸDDtäȋ϶cÇ""ÒétÂÈù„ „ÍÈ,**š!âÜ×G¦x""{ذaD@rr2îܹ#ª»S§N€Ž;JÞûôéÓ C5Ã4Ó¼yxZ“··÷t€9ïÞ½Ûâ³ ½½6lØÒ¯_¿»0Ý(Âð,œs¨Ô&G!±¼ ¦iá 3É0I!ng¼–÷FGÅèÑ£-†%¢qãÆèÔ©:vìˆÈÈHxxx{9´Z-"""PTTÄûûï¿mAjŽ'NˆœÍ}||pâĉ×·nݹsçð÷ßã—_~ANNŽÅ²·oßFll,6lØ€­[·"44*•ª_LḺ«W¯iÔ¨ÑU°¹…eq4Ô°L›€å«Ú¸q#þüóÏWvõêU¬Zµ S§NEµjÕàâââûü“O>ÙnüøñÿøãtˆƒRTÜ€>vä^d †²£Dô³Çß¹s'mذ–1sÀ€4`À:y’÷ ¶[²´øá‡¶bcéÒ¥Û=vìX¾ÜÍ›7—‚…½¬‰Š¡ÉˆáÚ¾víZ‹ÏØ©S':wîœzÖ>°Us‘ŸŸŸ;Ì&?¢^½zí322sõüïÿ#“ëû÷ïÏK#µZíñN:ñ¡Má8RH^ÃpëÖ-îqtDÔ³”êŸIDTTTD®®®Vßë ðþJiii« ëf]Þ—M =¸êõúóDD?ÿü³d½.\àÇ»Q£F¢ó“'OæÏ4h"X Žg ëxL³5×páÂ…g¸k^|ñE«ÏÕ´iS¾þ+W®Œ3—2<_°jÃ`r¦Éf‰—²Ùn@D9D$ÌNDT«ŒæŠˆÖr7Õjµ4þ|R©TVû"22’–-[F7nÜ ÒB—.]D÷yTÍé¼yóDuõíÛ·TÚ™››Kß|ó õèÑâ¶›#“Píz½>355µ¤ƒ8¢V´<éi"ÊöûŠ+JÅÈÛÛ›æÌ™C©©©üØæ®[·n ¤5ÍÁ4þ¨@ {V.3È F‰h†°ï’““E}·sçÎbû<77—vîÜi•~úé'‡uÖëõôä“OZ\ 6oÞLDD:.oñâÅ]P<“áL£îÝ»G^^^’Ï6yòd~ƒX`+s‘———:zôè1†F÷:uêDÝ»w7 ‘b.8>|8_Onnî55u¡á¯k¨«žB ߉@0“)ŽúbpóCAD‡ˆXô³¥K—rÍ¿YFóÅ‹ˆör7MJJ¢îÝ»[탡C‡Ò¥K—Ș3gŽè~/½ôÒ#ÕÕ¹sgQ]öh]»v&L˜P,C+üÖi³³³gC"Ðd&ƒ£DTÈuØŠ+ÈÏÏϦµG¥R‘¯¯o±c0ß­W_}•ŠŠŠø1ݶmÛ0ú`<¦ío† èƒQ.&Ryyy¸yófyܺ\ T»šƒˆ„1Ì¥â£Khó8øÀ$0›ÃÅ4ÂÝÝÝ¡²x— …›6mBëÖ­qÿþ}Ñù)S¦ ** µjÕr›2eÊ{o½õÖD‰j¸9Á™„”·| ¦Qï¿ÿ>²³³E¦M›†O>ùÆdÅŽ [Í¢òòòî7îí;vdp©]»¶ÓéÓ§ß©Y³f$üïÿàAƒ,®ßÿ=&Nœˆ§žz îîîoïÝ»÷Ë>}úÜcóÄRªËGDtîÜ‘‘‘8wî<==ý|f2õ8hX7bùòå4h”J¥×'Ÿ|2ªY³f› §b“"=ztÌsNŸ>-ª¯cÇŽ&s²S§NØ´i“I™„„äççÃÍÍ -[¶là¤á”¹y”€rÓ¦M\\\zÀš5k,ædà ÓépéÒ%„……ÁÍÍ­9L“ê ó'qf/z˜2ž¸ó/ƒm`0kÖ,DEEqç[mHéÀ À0>ŒAƒ!##C²pTT–-[†ÈÈH»5è‰'žÀ’%KLŽíß¿¿ÄõdggKfâ‰'¹m–P¿~}|õÕW˜3g,X€­[·JæáY·nŽ?Ž_ýµjÕRyzz.ÉËË vww¦ó…ßüVáÜ;Ã| À‰ˆ0cÆ ¬\¹R² ««+ºwïŽ>}úpßcøùùA©TB¯×#==wïÞÅáDZgÏ>||bpäççcÅŠ¸rå ~øá¸¸¸`èСÏoÞ¼9wôèÑ{!1.†K+Ƙؑ{±¨ÁIÖ`X!>tGJJ µjÕJÔw¶h0* ,9” ×^{/wðàÁÁ$A0•\ºÂ¶(2eA?1µZ-zž®]»šH‰¶j.rrrÒú÷ïÿ2˜Ú{```àÐ;wîüÍÕ³{÷nÉþ0§ò÷~ðàÁs XÊà\ÖÒÈA\ûš7onb2DD/>F½5¹J^xá›×X. BaaámŸÖ`y(Z‚I ß—ôôô9Ü=|}}EuÍŸ?ßdìããã%ïyü8SHݽ{÷Ãx? Ó¾'X¸Z.FÃŒŒŒMD,÷‹¥|?æÄåó),,LÓÆ43ŸhaøÛÔðlu ÏVF‰'o&UXXØ ¦Q\ÎiÛT;ϱhUDDtìØ1ɼ&3%ùî»ï¨,••%)u63+Rk¶——ŸËÈžHLL¤N:Yœ?Íš5£{÷ø]”šš:ƈc’9•Êù›QÖÔ ¦ž:Ž&Nœ(Ùnnnôúë¯Szzz‰Æçþýû4cÆ Éõ¾G|€ ½^¯Û´iÓûS+Ô`8ôО•Ë †’ Iâã°Þºu‹7n,ÙwU‰Á "š6mšd?xzzRFFåää$‚%ãá6MÜÆ¢$¡*íIÎdˆöÉ'ŸˆžE­VSbb¢{²ô`+s‘öôÓOÏËo3"((hLRRï\²k×.ÉT¸b•JE·oß&"¢¢¢¢}0n 8{j)f£,7 þÜsqkþž={¸CÙDT+ +Y‰zy?…ˆˆ›×Ø!C†ðãµoß¾7ÀÅÛ€mð›™LÈËËûˆèêÕ«’uíÛ·ÏdüµZ­ä¦ø“O>áÆ'O¥R ÓÚõÐÌ£€°qãÆµ×ëõùD,rœ­ÏÄ…NÕëõ…ÍÁ¦Ö`96 ÿ73—ª ¶!šI9 :TEÓ¨ >^aÿ—p¬l!>!Ñ©S§ÈÛÛ[òYÃÂÂèÊ•+T–h×®¨¶F.ä0}útQ}úô±Oƒ% ÑhhÞ¼yý3ÂÃÃ)33“ˆØ<:sæÌ“0&nåQGŽVg/r'¢+\ZŠÕ³gOºs‡°þH¸~ýºä\ëÚµ+=|øÍÒ¥Kc ëÇ`p>î†qrÁ¡E²gå2ƒa…dCDsóåßÿ¥É~«_¿>¿Éª*ÈÏÏ— › €Þ{ï=¾ÜÊ•+Á(½ „!ξ`1²ªÒÞŵ³gÏž¢çxá…ìÕ}¥[™‹¬¬¬û={öœzpl@@ÀóIII \=–˜ •JEß~û-µnÝZtîwÞá./Z½zum°M0CµáÊTmïq¾DD´iÓ&@µjÕâ™`":8þ|óìÂ’‘•ÌÚº€ˆ…þ´EÓ#ìÇk×®qc‘ff öÁnãF¼–V«½ND´eËQ=\‚=sDEE‰ÊŽ3†??räȆÖò§Áü0:ÿ÷ßW1_«æÍ›ÛüLÏ<ÃóZ´téÒ~`ŒEXÜ0&£¹aó3áú¹pÖjµ¯pupŽå£GæeÓ0À|<ÌÆëQ7¸ÅÇÇSõêÕ%Ÿsâĉ”ŸŸ/ês{ãµ×^³:¦¶ eË–¢:þ-e†#GŽPݺu%û·cÇŽ|.­V{gåÊ•MaÚXè›QU˜Œ5\ß 2Äâú. ÿû8ÈÉÉ‘ÌòÝ®];ÊÊÊâÊÜ é ß–à}6ñ«rÄñ±gå2ƒa…dƒ'%ñÙï)((H²Ï7n\å˜ }ô‘dŸøùùñjÕëׯoÛ\40̘n.,E’) zˆ-ªRŽÌ´w– JÂ\<õÔSo€Å6Ÿô­[·xÍÏ?ÿl‘¹àø¥¢l5jÔˆoKrrr,˜äÑÛ³gdÍž=»FÄF’Éš—&&&n„Á¬ì»Îi%9뇱ÅÄpÛ·oÇüaµðæÍ›MœY½½½1aÂ{µ­T¯¾úÊäXDDºvíZ쵯¿þ:j×®³gÏoÓ¦ÍW`K@ @ ¬ÿr”g8Vh(£ ';¢áàk0óüý÷ßèÕ«—¤Ss‹-°ÿ~–qÙÙÙ¨[·.Ü¿ÿ} t>uêÔôààà¦ðóÏ?cèСÐh4&u¨T*|óÍ75j ''µk×FVV_F¡PàáÇðòòBvvöçÞÞÞ³Upk÷לø˜Ç}Ø;ºuëòy ¶oߎ!C†iµÚ‘ÎÎÎ?pdv=™ÿ%¢û|ׯ_ØØXÑ U*œœœPXX(:çáᤤ$T¯^wïÞ=V»ví¹`ï€ì½(‰ßÿ]T7ÀUH¹xøð!¼½½qáÂ…/Z´hñ Îé0~?¸{B°lݺÕ}øðá{ ExNNZµjÅ[ILLDóæÍà}…Bñ÷80 @"„Ô8Y›Sj§´NOOGëÖ­q÷î]Q¡©S§â³Ï>³R}‘‘‘???˜?Š ¬bË–-=z´É1dffÂÙÙ¹TÛj+²²²ƒ¿þúKtnèСضm ##cC5fƒÍ!©ï·†”åw£¬°À³D„ˆˆÄÇÇ›œìÛ·/~þùg»|£222жm[ü÷ß&Ç÷ìÙƒ>}ú€ˆôï¿ÿþˆwÞy'ì}æÞmn('{®í%‡¹^ƒa ÌëºuëV’ËËF$…:th‰ê0h0¸,ŽÏ `XˆÃžº€©Á+›CMD¼3űcǨZµj’’ƒððpJKã“hVYHILÐÓO?Í—ùôÓO'Â(Á ÑÃÜTª¬µ{ˆˆ~úé'Qû…fŽŠüü|jÛ¶­dÿ«Õj:þ<_ö?þ8 mRíÚµ_ºuëWsçÎäìì,©¹Ø²e‹è¾RáP;FDD¹¹¹{ÁL`8ò“nÕ W죣Y{=®íBf???JIIáNäää< &u†©ÿˆPã¢ÊÉÉiÂ]dÉÁ»Y³f4jÔ(‹Rÿ%K–‘^¯×Oœ8q,Xä¤.`fE­®]»¶‚ˆùUHe_þòË/%çĽ{÷$ï·ÿ~""JII¹`˜™Ô½œœ¢rssoY¹@/¿ü²ä9Α<99ù ˜h”ºƒ™`E€igx‰çÂ… ƒµZí®í/½ô_Ÿ¯¯/¯yÓjµ}`Ô\¨ cá Ó±2'[¤§K¸{:Tò¹ìá©¥LW®\iÓµÏ?ÿ¼èÚ§žzÊÎ-.iiiÔ¬Y3É~ÿúë¯ùrûöíAøfKë‡×²¦ÄröжmÛDýÊûEØ 'OžùÝÕ«W píÚµÀöMaÔLšûY–—u‚E²§È`ä´,‘îÝ»' O׬Y3;6­tàä䄦M›šûçŸøßz½^¯Óé´Ål8 ¨2À À.0308p½zõÂÇE###ñûï¿ÃÏϯŒ›èxxå•Wàââ":~òäI±© ›5ˆÍ (»x°õö®›#$$¤ŒšðèpuuÅþýû!:WTT„'Ÿ|‰‰‰€Î;ÇüþûïC‚ƒƒ]Nž<9#88¸ ìܹÆ “Ô\lÚ´ #GŽÕݺukѱ³gÏœœœê€µ ÄŽÞ Ç^ÚÚ^ã~À€i8Ü¿ýúõãB»xxxìÌÎαù‰™”Z­nÏÕ!%€°°0¼øâ‹ôé§Ÿ¢¨¨ …Bñꫯ…Ñ Þ€SõêÕÃ&¥–Ò˜kÜ8Ô¬Y 4çÂÜúùù…xxx8AÐïëÖ­ëèîî °Pº–0qâD´k×Nò—ÑÛÛÛ»!Lßo!ñýøÜsÏyÏž=ûG•J;vìÀš5køúºvíʅ॔””?…í…ØDJÒb ‡u̘„ûöí¢ݺu÷ß~ëZÌîÝ»‹ŽÙ®Vªœ=ÂÓ–~~~Ø·o|||Dç¦M›ÆKÏ;uê4â€Ræ‹eùí°7¦Pêt:Ì›7OtrÑ¢Eðöö¶k:tè€aÆ™»qãvîÜ ¨[·nïFyƒ­óÖüì”°ïú^2”W6AU:n/ÑáÇEé+V<GXV=z´HÉ%CÚ³gÏ.“Íh’8­Åx0ÍÅXµœÍn ˜mmk0iT-0ÉBEÖ`xŸ…k×®]“‹uéÒÅî’ƒŠ)ÇRÀ˜e8))é0˜“KèUÏ0oü`”v”‡ã!Ñûï¿/jû²eËÊ çJ’Ñ?¿¿?%$ð>Ü”››Ë{ÿøã5[·nµx¿½{÷Š®™4iiµÚLúÐ,‚XÃx׋ ä£$Ò<š˜=Ç}+ÑùóçEmâ‰'Lœw >6lgO,tVw ÖjµŸYwðæ4Öœ¥7nÜÈõYA‡†xLúYTTtH:š“y‚=sŒ3FtÍ A|´^š4iÒl0ŸºAžUPž™ IDAT¹wïÞßD,©œÔ|˜Sù7èìÙ³’ç9¿½^¯¯[·n_0_½^`>O¾ášNš4©MAAÁ)®=»wïÝWðþ%ÀTk¡6Œ…›`|ÌÇÈýUDÌÿªF’ï @¹CJŠííí]l˜YKÈŽ=ZF-/\ðsêß¿?_fãÆ}ÁÂ,Û=Ê?¡=(•ˆhÆ ¢~iÓ¦M™…N¿xñ¢(òWçμkýòË/K„ï6L5^0Fs˜ñ)WqB¡h/^« hÕª•Éÿ:.\„††Ö6+ÎMsMgC§µð›·¯PE„/€`ª||ÿý÷4h¤ítTTöíÛgwÉAECÇŽ%?Îrcùùùµ€©ÛQ´j€ù˜ÃËË« n_:¨^½:âââ$¥Ë÷îÝCLL ÿþ»»»W€üÇ—Ô\|ûí·1b„ÅûIù¥¥¥q×û´oßÞÆÍ÷—ÛøI}Yh1Ž@Ë–-Q½zu“‡ÆàÁƒ‘›› pqqyyË–-q‡j )¼B¡h0Ͱ¥$„aaa éŸÁaÅŠ•Jåòá‡ö7Ôï4bĈ ggçš$“£™'Ø3‡”vCXOTTTú{úôé kÖ¬ÙV®\)šzõê…ÐÐP4kÖLÒnŸÓ`( ň#B!­ÁP8qbàÚµk¸¸¸D@\\† "º/§iÒëõ'`ª¹PAZ³T-F0˜@ ëׯGzzº¨ÀÛo¿-š'å ) FVV–dF!¤´nnnhß¾½DéòÁ˜1c$ÐîÚµ‹×ŒöíÛw¤%ä¢ï‡ÃHÊÍÀ1سgèä /¼PfI_›6m*òß=~ü8RRR­Zµê c¤@KM´Lårc0âââ\ E\ºtItÞÜôÈQaÎ`F3©   :‚ÃæÜ1ÇXpNÝqN¹Üÿ"'TL&ÃÀA29õÕW5j´Z­¨`Ïž=±gÏxxx”q:t<νCjµºL7—V°¡ì"g€iL+:|||'™U˜c28¡ÉŽ;,2›7o¶Ê\Ø‚FùBÌ\Xòi(«q?0‡çÎ;‹NîÙ³ü†F¥REvïÞýxrròX6È&LpU*•a€eó(ÀÈ`Œ7nnn’eΟ?¸¸8@ddd_???Wª´äÊXÊàm Rçoß¾Ío š7oÎ3/½ôÒ³ ذ~ýz‹urŒ’Z­–´q DDDÔ‡ðâ‹/§§§¯éرãb•JU`›ûˆ„9nnn¼ÙŸF£9!¨GÈ\X2¿²e½@­Ñhx&OˆzõêYe ËhÒ¤‰èø¬^'u¾cÇŽP«Õ¥Ö¶ÒÀºuë$MŽ-Z¨Q£F%K–4m¦¶ÝTŠ·_“t?óÌ3eÚ˜Þ½{‹Ž]R’=xð`ìØ±CÒ‘YCPPœœœDǹ ‡ÁnŠÓ`ö_ˆÄ ®¨V­~ûí7I¦/%%³fͲ+sa@qÌ…ùG§,Kp €ÕÝEEE˜>}: ć_vss¸sçÎm'N¬æïïÏ«ˆ¬9x aM¾oß>^úߣGg¨‚‚‚š@||¼h¬”J¥E†žƒ“““¤&‹c0|}}ëÔ¬YSýÞ{ïõQ*•*N‡ÿû¿ÿ³XߤI“ RyqóçãÀ}cC(ÝÜÜœâããc{÷î=M©Tªà»ï¾CË–-ñÛo¿Y¼7>D”zbm…9“!e"ÅÁ|NEƒù~á»ï¾Ý»uëÖ|HfGƒƒqâÄ I& `ÌÕŽÉ`Àرc`rŒˆðý÷ß‚‚‚ú<ÿüó\‰bMmË[Rþ¨0‡jsí^½zõʼ1¡¡¡¢c\(i…B¡¥R©š:uj“ÈÈÈðÃ?ˆâÝsP©T˜4i’É1) `4“òõõ­Û AÏK—.½Þ`þãÆÃÈ‘#-jJ8p&Nw b¦Âš™¥-óhÀL¤̇-ZäQ£¤ ÅŠr¤pz>›Ö…ò€‹‹ ¦M›&:þÓO? …jРA‘G”²¤ ¯¨ð¤Í£Ì°²@5DDÎçüüü¼a\ã…Â$KŒªi"¥P(šLUn¾G®(ÞZ¶liòÿÝ»wyiF“&MjAì{Ái0„~“‘S&ƒÓb˜k0ÝD*ÀaµˆÓ¦M“TËÀ„ °iÓ&É Ëb0„’5µZm¾©”’<•¥š[Çž«oooì۷Ϫ9““6oÞ, Eø¸P(ƒaîØ/µ!(KíÕQ€ùØâäzãÆ tíÚ_~ù%ÀÅÅ%ÂÍÍ­`ÝÁ[jnM‹±eË$''žþùIÎÎ΀4ƒQœy©M¤°¾iÓ¦U«Õî€õдÏ<ó êÔ©cr̳Ä1îîî5Μ9³¨nݺmæŽM›6Ûn•JÅ?c~~þŸ0e,Šc.lÙX˜Ïùøyxx OŸ>Ŷ±¼,)M¶d&%u¼}ûöÅ2×å‰)S¦ˆÌûâããy¸^½z­`ÝLÊa$åo¸råŠè„TH_{C¡PˆÛët:óÜ4sÁ˜Œrg0*²ƒ7k~ÁÁÁÜÓ!e"Åå ±d"åȶŽ`Ý5õz=&Nœh1;ë”)Sðå—_:¬$ËQ\d-WWWgˆ4•(ß…GìÍ_‰`Éà4¥Í\€V«µ$m6g2-Eþ±—öê/0!‰U3)!ŠŠŠË;5òÙàà-Ę1càééiñÜZäííÍGù“Š e+ƒ!U.==ׯ_øúúÖ€£GZD$•Ë£F¨]Û<¡©–ÜÇǧ¬^½Ý»wÇ7ljwXXÁíæÍ›g ͤ ç•P8Q¸0Éøå—_D'Û·oïð%)3))MEQQ‘¤fÃQÍ£8øúúbüøñ¢ãÜxùûû7…XxaÕä²2Þ$Êdff–ycôz½Hë(Œ°FD ˜†’¶1Ò!Æ¥¼vu lò+rˆZÖ á×ÁZ)α[˜ˆPÈ\ˆL¤Ô<*@Fƒ‘#GbÆ ’g̘իWWGAqýåêê*\d,…š4×^Ø[%“³ÁËË ûöí3‰œÄ1C‡µË= 05ƒ³–x­,M4N–½¥ Óé0|øp$%%ñÇ,1–¢,yyyYµí_»v-&>|(rðlg0üýýQ¿~}Ñqsfâ£>²XGhh(zõê%yNJK“˜˜h¢ùß¿?^yåèt¶[# ÆE3kÖ¬˜fê¶dcM8!üñ/*(]ÌÑ Å`ÄÇÇ‹|-Ž?.™ 1**Ê^M+5H=#7o}||»ººgvYV&—öB& íû 4;.+¤§§‹ÞaaÀ#C4B))[´ÕeŽòb0BÀ’‚ˆ4J¥5*6=2¬1îîîÞáááæþ¥œ½ÍÃÕ IÒÿÂñ4€=< 0hÐ lÛ¶M²àìÙ³ññÇ—i㪠œ¥BMš/8&фʠY•žÁØæö×_E—.]àää„­[·Ú¹xCJSa)AYnŽl3Y eZZÌ;]Zb0,剬›Iedd˜=Μ9#2Óõññ)‘&ÝšÀL0vïÞmñúÉ“'[ì#)-MNNoÊrýúu >¼DÌ`Ô,ýóÛo¿é!öåáþš3ÿÏÞu‡GQüï÷j ½$¡‡é½J¤^BUº ?)‚D1_P”"ˆ ÒA‚ Ez ÐA R¥÷RHreÜíenvvï.¹šÜû<ûä²»·7»3;óy?ÕT1^›é~â ƒeÐëõ ˪¡R©¬&¨®DùòåûøôÑJ¥ÒoÈ!¡°\SÉ“ã0nl‚a­%О୞$ȶ9sæ„Þ nI.× ÓÌMŒ2eʸµß" ùóçøÎ’&ì÷ߟ¶bŸIkYdUhσ»{ø€oJJ :vìÈ4À¬Y³Dã1¼È>Œ14‘` š€ó& í"E‚'»wïF=ú[†'tÿJ‘ ge;ÜǪW¯nÓãââ0fÌ›¼IÔ®]›™Ý‰Ç‚ Li²³R`u> ’`ÌŸ?_´ŒJ¥Â!CD¯-‡‘’’‚®]»23YO0ÏÁ<[߬R7„c†ucUCŒ%]F&“¹mð3‰òåË#88X°ŸŽ·`Å_Ô«W™¾ØÝÀ"W¯^5ÅÌ´lÙ² Ø.Rb)k=-ãfY„k×®™YRV±?¾mZ­6cß¾}/`¾¶³êÕ8;K¤(\J0t:@»áiîQ2’uz^·´Î.ê—Œ»wï r{Z€7š`$%%™LØåÊ•ã-¬Næ÷ÑñtåoއÝŸ=t°€âÅ‹hÙ²%bbb˜'.X°Ÿ}ö™3Û–+¡V«iaÒ’pü”«†³`œ?ÅúÖ’[”£û<ÀyÀ¶8 ?ýô“è1K£OŸ>’ifùŒNÙÉ E¶….šœœŒk×®aéÒ¥¢õvp7‰òåË3ƒPçÍ›‡Í›7ÛÔNd¬\¹ò Ì«‹V6~Åš,†þ˜ir=Áuˆ‹(¼xñ¿ýö›ic¹¦y ÁØÚ{¾.¿¿^Xïçï‰$ÃÄ XI8/^Ì,ì;vL¯€Ö­[þ3ÏoÍšçÝ®/\E0ª9#À›ªÈt“ )s&)µñ0›ÄÝXð(c»ÛµkÇ è“Édøé§Ÿ0~üx§5êôéÓøñÇö{î¥RÉ¿×ÖŒ3gá9f…v2 Ÿæ`½O|1­V›~îܹ$Xîg±ÿc@Ö,–`‰`øûû£ÿþ¢Çcbb-¨0mM=b÷Ž=*šA*T¨€V­ZI^[.—3ãü²“å†ïôôôG+V¬H»h—5Ö ’hk”ðE7¢hÑ¢Yn·³Á²`X‚R©D“&MÐÇ€U¸•‡L&c%°˜úڃܤ®Ãñ£G¸E^¹rŪ”ÏöÀÿýßÿ ö 8Ð4ßoÚ´é´q·ØÜîÊyž —Z0rBŠZRÞ… Q(´æP4›Cj˜è=+@I.—cåÊ•’î öÄ¥K—Ð¥K4lØ£GFtt´S~× V«éì€p²q6Ḁ¹ðŠÅêxlݺU°zž?þ€ðoëGzŸ³ç—cÂÌ´äïïoU1;!!!×,YF%Øgm=,·ªÈÈH<{öLô;#FŒ°*ÖÙbÁßß_t=å-/_¾¼ óø ²"0Ø-°ª—¤`î€`ÂÂÂP¨P!›¾S»vmÑ4Éž¹\ΓLK5•H¥–§a`°²2¹MŸ>Ýá¥V¬XS§N ö=ðúõëçóçϦº‡3-Õ¢pÁ(c~ìœdÁ¨R¥Š@À ¥RéóÞ{ï´ƒ¨Ÿ´[/ 3¹R©Äúõ뙹¶í7n OŸ>¨Y³&vìØaÚ›7o:ü÷Ý Æ,R<ÜÅ‚a">>>fbccñäÉ4ɽñæÍüý÷ß‚ý¼ÉüÞ½{÷Œ»¤ˆ£«ûý8ŒsËŠ‘––†;w2ýŸ¥ —@£jÕª’‹X‚CV]xXß“L|||¬žm%aaaˆe ÇÅŠ3ejŒ¿ q×(1·(ÚjÁZrÁÉd6»÷y’{”%Èd2Vºk:K«ç˜ìb µÇ0fÌÁÁ‡¢[·nw~{áðáÃLEG«V­8qâÛï\RäßipÁ01Ú‚Q¤H þ¢áãã#H¯KßµhÑ‚ŒÃ É…Ek†››EóåËÇ´ìØ÷îÝðaÆM›6 2µ¼yóÝ»w—ôÎiP*•RV1WYÊ.)Zàã8N2…gnÅÎ;ÎeË–5ý]¿~ý>ÜAƒSPÓëõÐh48yò¤MÊ%[nKV ö$RèÞ½»UVÀzBƒF\\*Uª„sçÎ Ž“DoçÎ× wAË,’!&¼ˆºHyl% 9‰` ’Tˆ¥©õT/Œ§¢ C‡èر£à„“'O¢oß¾v—#NŸ>ððpA¦5µZ¯¿þžžž2mÚ´#Äa±÷ÐZòï4¸‚`ˆ¦¨õT÷(´0oÞyç>ƒE.Äu< CF¼|ù-Z´¬Ä›U<}úãÇGÅŠñË/¿@«Ï‚zéÒ%¦† §Âä̓å"å2 ©'Ágôñ"¬2ä³;qâ„ss(fÇñ@ïØØX”*U Ç·º>‚-£gÏž6)®²J0Š+ÆÌ§/[ˆOµjÕ¬r¥š:u*V­Z\¾|™)ñý ÑhR.\ørÁªÐ̃L<¢‡°“) ñaÁl‹ÃËå‰7rär9oÉr§Œ„ŽÀ\ñ2™ ¿þú+3¦6::7¶[}Œ_~ùÍ›7gÆR-_¾Üär¹iÓ¦­/^L¢N¡“Ñï¥ËÉàB‚ñìÙ3AînOuâA ­Vk"QeÊ”¡SÕŠ½´žöšüX…¢^¾|‰Ö­[‹f–² ˜:u*Ê•+‡E‹Ym¶\½z5V¬Xa—6¸;()wA€3€!½{÷âÖ­[În“Ûâܹsf®~}šy/?yòäšN§£ ¨ÑݳŠ4'ÇŒš5kšm­97+ñ;î ‚`ˆ¹s‹¥¿ö¤@oÈð1`¨côçŸ2“\¸pµkׯÿþ÷?$%Ñ2¿u¸|ù2ºwïŽaÆ1å—É“'›æ«GÝ:tèqâ0ýîÑä‚E4‘ —¹Hå¤oRÞAAA´Ã’á ¸ 0*Ñþõ€!Ua»ví˜O­Err2fÏž²eËbΜ9HII‘<ŸU¬qìØ±Ì¬<9 nJ0c0]½zõ.:ß|óKåŽøä“O˜…ÙøŒCW¯^=÷òåKOIýkÒ.°´»d¡;???DGGcĈ¢óóó¸£Z‚µI&l-°GÃZ‚‘•¤R¤jæÌ™øê«¯Ìö±F@@€éÝ»nX„Å2B!Æ’á)ë—EØb•ÈIîQ€‰`ˆÉ(bnÝžÚ÷‡|eÊ”Á¶mÛ˜Å1mÚ4”)SS¦LÁ¡C‡,*:Ÿ>}Š7"<<5jÔM>óÁ`Μ9 ®QcÆŒY­Óéh—'±ͬºi.µd¸Ì‚‘“¼yH¥ªÍŸ?ÑÂ… «Œ»Yä‚å6å VŒW&@xx8víÚÅÌ ‘’’‚N:a×®]6]<-- óçÏGhh(f̘ÁÌ«N¢I“&8tèvïÞ-°¨¤¥¥¡GYªzëI0Æ`¸#~…±ÆØ±c׬YƒG9»Mn‡èèh=zT°¿U«V&­ÚºuëŽY¸Œ-þòŽÆmüœ™‚ÚƒðøñcÓÿ …Ë–-ÃÌ™3™«Zµ* …M ¨T©Z´hañ¼ìV˜¶†`øùùaàÀ6_[Œ`„‡‡#22R°ŸE05jdzvû÷ïÿB‚ÁCÊý‚ÖŽ²háv< ÖºIåP‚°£R±~žŠ™~€Æãܹs¨[·.óÄW¯^aîܹhÕª (€úõë£cÇŽ4hF>}ú M›6¨R¥ ‚ƒƒÑ¯_?lÛ¶©8R(˜>}:¶nÝ ¹\F“6~üøEÛ¶mã'FKÄBkÜH¢‘ë\¤|”r¦#44TP‰'2™LþÁCÈôé oWTÜÍ.~°0¸p}ɲeËø`ò]#É…Vds“r:œ-ˆ”‡aBL~~~~ÌŠ’ž™L†wÞyÇl™IªaÆ%ùS!8% àÏ8ˆã¸e€ÁæØ±c(Q¢„à$FƒÞ½{cíڵ̋èõz¬_¿•+WÆÈ‘#ñð¡´›y•*U°yófœ={:t0;ÉÔH=zC‡µúÆ< D¡=wÄjÀàÂ6|øpÁÁeË–áåË—În“Û`Ñ¢EÌX”Ž;š„ßÇ#Ìæ$èÔ„RÙEœÀ `U¥fUÓ€%K–¬Y%ݺu“,ò–•{4T*êÔ©#yNVkÑ÷-—˱nÝ:f{\\S¨!â/n'&&êÁ.¤gÉÏÛ‹X޲`Ô­[—é.C¢zõê(P €“Zä¤gúþˆ‘ V†BO† À`&w¥R‰¯¾ú GeÆe#FŒÀ… Ìä­V›Ñ¸qã2eË–%ý¼É÷&ãÆ²`ˆ)œg "&(ÚEªR¥JÙò}uÐq÷ïßGb¢a®­\¹rqXŽÁðT­€^.—¬×ëÿ¬Q'Nœ@¥J•'êt: <?ýô“ÙþmÛ¶¡zõê0`€Å€ß²eËbõêÕ¸|ù2zôè™L†ŒŒŒ·»víúcΜ9‹õz½^©TbãÆÌ½õë×cÖ¬YÙ¸]÷Ev,N ²¸ü± vLrr²ÍiEs îÞ½Ëtu‘Éd&ë…^¯×ýõ×'_óÓ#Î^pN†ÅšEúY À®qëÖ­(Y²ˆ¼ IDAT¤i_V †Z­FDD„èñ¬Ø£!e©Q£F–ݰJ–,iF&&OžŒ–-[2Ïe¹G©T*Šÿâ– ’THùuK‘ŒeÁP©T­[9Í= 222Ò!ÄM}öE j¸`€r€Á¢¼oß>Œ3}úô±èIa+¶lÙ‚Q£Faûöí¦Œo>>>yºvíÚýÚµksöïßßµvíÚZ/xR‘aÜx‚áVnRÎ&• 55™5¢Œ<Ü=Š+ÐûÊ•+€’%K²2IIzöâ*Š“p¥J•±cǘ=ŽãðñÇãûï¿Ç¾}ûP¯^=„‡‡ãŸþ‘¼~HH~üñGÄÇÇcРAP(ÐjµÜ]½zõ):uÚ9uêÔ ›7oÞˆMdxDFFâ“O>‘Lq뉠ªÆÛgŒ5=€ÿ Óøñã'lÙ²+W®tBSÜÇaèСHNNëÑ£‡É=&..îh\\ˆ$pWPPtKÆãoXqbw(Z´¨™Å3«®œ]÷(k®“UëþÞëÖ­+ê&Á"µk×6iá;vlÁЖÌ4RÈQ À²›TN$éÂèeOËri ¾Æ¸`)€Ò€¡øÝ‡~ˆÂ… £}ûöX²d‰@fµ^½z…5kÖ k×®(\¸0ºwïŽíÛ·ƒã8øøøø·nݺcllìÜÓ§O÷ëСCAdZ.H‚¡!6ž\¸:F||¼`1ñôoR™¤Š-jƒ‹áQðññY˜””4€¶H‘"8t訦mÒ¤Ihß¾=Μ9#yÍÂ… cÞ¼y¸yó&>þøcÞWQs°aÆS[·n½5>>>ƲwïÞŸ?þ(ôéÓG´Æ‚ ЦM<{ö,;·ìVP*•¶EÀ:Ø QQQ¨U«–à„ñãÇãÆÎn—˰téRù ä¹sçb&Ožüç¡C‡x‡}–¶U«V«®]»TañâÅP©TX¸p¡à7Ž9‚ªU«"44T´Í›7Çܹsmj»«`C =Æœ9¾þ@[µZ-ÿõ×_Q§N³ÔÃÉÉÉèׯNœ8!)HåܹsG4°ûóÏ?7Í?ÿüóo·nÝb•’³\XÊüãìù$@ý† B©T ,‡±±±¨X±¢è—çÍ›ÇLÜ`+Fމ}ûö öÛ‹`£téÒøï¿ÿÌö÷éÓÇ4‡e5kÖÄ¢E‹$ÓôÞ½{—©0á ÆóçÏïÿ÷ß´”/o!J,,45`?SÖ³÷4lØjµš)‡……Y]•Ý ÑhîêùòåCõêÕ—/_¶¿ÚÞõ¨` 1ÁÐétX¶l¾ýö[ܽ{צ ) „††¢hÑ¢(\¸0Š)‚"EŠÀÇÇÏŸ?dzgÏðôéS<{ö ÷ïß·˜^ŸÇõë×1lØ0̘1ãÇǸqãàçç§hذa·;wîT›9sfä?üaü«¦ëÀqœ³6ÇqÉÇq3fÌ,ˆ—.]âr Š-jvoM›65›ûŒ{ùò%ùhõ—/_ŽíÒ¥ËtCÛÆg:Èø\ûè  wãÆ‡§¤¤¼à/ðùçŸ[õûôÖ¥K—l {¡Aƒ‚öUªTÉtü³Ï>û @oá:h €*(  (€|0hrøJ¾r2Îycæ{¾Í+V¬`>÷©S§:îAºôz=×¼ysæ½7hЀÓh4ÇqÜÍ›7/`± 5ŽýúóI¢Ïk¨dœSŠÈ ñýtvŸ÷äï»^½z‚û7nœÅç•”””ÝGÎi4.88Øì·óçÏÏéõúl_›GïÞ½÷wöìÙl_÷Í›7ÏÙ´i“à·e2÷â…aøÀt¼}ûökiO´‡AV©à¡‚$Ɔ+Ök69ÇqÓ9ŽÓð÷wöìY®víÚVËr¹œ«U«÷É'Ÿp;vìà­~Ö†‹‰‰á¾þúk®M›6œŸŸŸÕ¿[®\9îÀ¦kétº·'Ožœ ƒ¼X@1ãû骹¹9Ó‚QÂxó †\.·¹p’;£ZµjfEåÈLRµk×.€–¬f– ™L&ã8ÎS¬îwÞ9qèС.Íš5û]¡PY¹r% *„yóæ1¿¤V«1räHL›6 AAA¦ý7nܸøå—_n[¿~ý˜³sIÍ[LLÌ‹™3g~=wîÜ9 …BýÕW_!oÞ¼¢㜠†X\«Üð¦h  úСC±gÏA ã¹sç"55•Y81'àþýû8räˆ`žÄòå˱|ùr}ìz}1hµZœ?^°Ÿ¿HLL|væÌ™7ÆÝ$Ñd I5#§MÑC¢¸b\\>lõ}¹ X1BùòåC±bÅ\Кìaýúõxüø±Ù¾ ˜2•>|˜eRtµÔVÔpFr±qãF´hÑB’\.\óçÏÇ£G°lÙ2‡ Å‹Gdd$îÝ»‡7¢\¹r¢ç>yò|ð/^ P(E;vì¸uÇŽU`0(a¨7gVD“‡Ão†€3‘Ê€!Î|–S¼yHŒÂ… ‡( þ¹“nP‹í¹;†ÌÒˆi?ÿüó‡£Fê~ïÞ½ïܹós||ü/W®\Yuþüùµ±±±ëöïßÿó÷ßÙ±cÇ‚‚‚¦GFF^‚¹Äª^I¦k#I…‰\··³gÏþgÒ¤Iƒ“““¯@ÿþýñôéS<~üØl[°`ž–ã —Ë=b¼ð˜={ö0…æ„Z8Ù™Uë§Ÿ~:*rš˜Æ™&b$ÃUÂA )R„Y#‡¥}wxg{4È‚{ýû÷·X¤Í^¸té’)Ÿ> žÐݹs‡•ªKÌ,f½°@ÕªUQ¾|yÁÁqãÆYåžâ…ýqýúuŒ;V°¿[·nËåÐëõÚo¾ùæœq·¥¾wW’ÑÀ!E8ŽÃôéÓѯ_?Ñ,f~~~˜:u*nݺ… &d;!CV R©Ð§O\½zóæÍ­Ë£Óé0vìXL˜0z½ …¢p‡¢7oÞ\†ø(„DC#ÑpÒí8Ÿ`Ð €œgÁxçw —›?Zž`¨T*ß6mÚ‚í©j=†h@(ü˜„•+W¾(]ºôÜÐÐÐo*W®<¿Zµj‹k×®½´Aƒ¿´mÛö÷I“&þ믿Ã<;]­’´TÄ‚$oYÛâÅ‹o•*Uª÷åË—¿Õëõo ,(°¢Ø£Ø–+áI ˜5kà‘«Ûá†àÖ¯_Ïû‹±È;¿Ñä›þì.ä0 €­Ù>uê”`Ÿ£Ð¡C”*UÊnöhðnRÎ,É"h%J”@™2eçÎã †X@)ËzÁA8v¬?+¤Èd2f½›Ë—/céÒ¥Vß›öAJJ ºwïά¹3aÂÀíÛ·ÿ¹víŸö„˜ÃݬÕDÈóöí[„‡‡3]Ûƒ‚aðàÁø÷ß•­4Øö‚Z­Æ¤I“póæMŒ5JÔÓbáÂ…èÚµ+RRR P(ŠvëÖ-zõêÕaHÜÂ"&k†3îÙþ!9>E-„††âæÍ›¦}d wË–-KìÝ»÷Ø1,7)Ü=Лã8Î8xIÓ» †‹2&+Èòçò‹ÿb°ªÍ’š5Z bmfA® ²êÕ«/Ÿ6mÚÞaÆõÕét N§ í¨R©òÛía¸„…ÌcÀqÜc™LÖ©S'³àþÜ‚! õO5þ/æ%æ2(‹aº† æ’ 0}¿¦M›bÅŠfI0är9† æZ€ÁíªqãÆ¨ZµªC®Ï‚¥ø‹mÛ¶‰Å_HY/²JL8Ž[)“ÉÆFDD`ÆŒHL4¯¿7sæLôîÝÛ#S¼z"’““ѵkW\½zUp¬M›6&ï‹ÄAZ©!F6ÝA6 ° @^N‡Þ½{cÇŽÌ«V­Šõë×g«x§#Q¸pa,Y²£GFDD3ÆŸþ‰®]»â¯¿þ‚J¥ êׯ_tJJJ÷Ñ£G߆A~"×Àè"댸 gŒ|0¤¹Ë À0pI‚qýúuScÕªUKÀPtÊ’Ããܤ“ïóÍ"¬ENÃË@šöÈëZŠÃ²ø6ÉÈ£¢¢nEEEÍ1þž:))©~N žæfd̼÷7€ÖuëÖEݺu]Ý$·AÅŠŒ$qaå6ÈzÜA˨¡ªw3–ãÆxùò¥)ã‘£1tèPìß¿ß!×nÔ¨‘S­€t½ÔÔÔ×»víz ¶æÙÖØ «È©F£Y¨V«GåÉ“G1gÎÁóHHH@×®]±oß>§¹‘åV¼xñï¿ÿ>³¨­¯¯/¾ýö[@rrò«¯¾úê¬ñ”¥Ëã1òØ C*v|ôÑG¢äbàÀXºt©GŒ»°°0=zcÆŒ(e`ÿþýˆˆˆà3>ü÷¼ý ™$ƒ”»ôôŽ&Î"¢¤Š)‚‚ :©ÎCµjÕÌŠÊedd >>U«VE™2eJ§ZK.<&“eÅ JY·bª¤iOFOû›KY.HáŠ$:üµM ¨\.wûg›Sñå—_~;cÆŒ|2™¬¯L&+˜bzLcžŸÅþRŸ9‘ÿÍú˜1¹rbǨ#‹¿ÅØos» ( ¦®G¿+¤v+”t‘r¡%ô$€f¡¡¡ Á£GæÞq§OŸ6 Àv$BBB€‚Þ½{;äÚ,$&&">>^°Ÿ·`ܽ{—Ž¿ …E)ëM2¬‚Ïm½^¿B&“9r$bbb°víZ³sNœ8ððpìØ±jµÚ–Ë{a%îÝ»‡víÚ1Ç,Z´5kÖîÿûߪ‡¦CÚÂÅ"@ƈ1†ú-˜9s&S÷õõÅ?ü€aÆ9»mÙ‚~þùgÔ¯_cÇŽÄ2oذ!!!øæ›o R©J,Y²dfttôåI2®CI†³†ÉDAŒœæÅC,лjÕª.nÜ%–¦–YÓ@ @H4@ìgMb$Á Ÿë<–‹+¸•œøx—-ž`pݺu ðõõ-eŸ»÷ÂVÌš5‹›5kÖt3`ès23b¨a(äKm>ÆM óìR–?Oz—h×–õN,ñ%‚áJ˜â0š6mŠßÿÝìà©S§œF084-®3«ÐÇÅÅ ÒnçÏŸßä¢uùòeÞ¤.¦‘¶Æ=ÊæñsãÆÉ+Vl ÜÒ¥Kqþüy3—aØ»w/úõë‡M›6A¡PØry/,àÚµkh×®`À >pòäÉCQQQWaÝq7W©¶0#Å/¿übVç†G¹rå°eËžLy$†Ž5j {÷î‚>ýöÛoQ¢D Œ7AAA=·lÙ²»GÇ!-K:Œd8ËW»2<{ö ¯^½2;Ý£éLRùóçÊ—/¿òäÔ@o~ÀŠi]ù Ô6Ëúdå–Füå³G¥×Õ€­Ù5i|{öì©\·nÝ÷r¹ÜΞå­Ã^8 Œ d¬ÌH‘¶Vé¨ïÒײT'•›Ø=°RЊ=~¿»xó0+¸GÙq9 ,÷¨&Mš˜ŽìÙ³‡aMìE–‰)Çq\¥J•’SSSÐùûûcûöí(]º´àÜ-[¶ ÿþÌàc/²†ØØX4kÖL”\´hÑ?ýôC ãððð-°žxŠ Lë°#àgxðà>ùäÁ %K–ÄÉ“'=š\ð¨_¿>âââPª”P':yòd>ÆFÖ±cǯjÕª•€2•rd–)‡f—rª‹TnðæQ¡Bøøø˜™±x‚!—Ëå]ºt ^»v-ŸŒÙÚb{£%ƒÜE[2,Y/¤,,M.K¨$'?¾1üµ¹5kÖÌ÷óók+V¬0å—öT¸q)È9Ž«Çq\-Žãª¨Äqœšã8Çq2½^/Óëõr~ÓétrržqŒýL< ‹ïÏ;wn5kÖlܾ}{’Z­vjõO­V«‰ß¾}û¥Ÿþù®F£!ßzÜÓäBŒL3­.Nñ À-åXõ0bccÁqœ[ÆÍ™3ÇwZŒˆ- ðÎÈÈx»aÆ{`»³ˆÍ©,«W–ÜëòäÉs2##ãK•JY¶lY;v mÚ´ÔÄÚ´iΜ9ƒ 6 ~ýú¶ü„þþûotëÖ )))Ìã:tÀÖ­[áëë ­V›1uêÔŸŸÿüsìÞ½ ,ðf–³ ,À¤I“ ×ÓÎŒ9K–,B¡@FFÆÛO?ýtÁ?üp lwf1×L:J–ctì€O(“““™Å‡jŠ1ɉýôSîŸþôýÛ·o_\¼xqÓøñãûû´Žq®¨  €…}›™>·î6oÔàïé믿<ƒ#FH¼΃N§ã>ùäf?5nܘ{ñâ…«›ÈqÇýú믂ö5kÖÌt|Ê”)ó` ôè €n:hiO5ŒsDIãA®=Yž#™¹OÀ7!!a"ÇqZŽã8FÃM:•“Éd¢ïD·nݸ˗/;ó‘ pþüy®yóæÌöµnÝš‹uiû>|ȵoß^ôæÉ“‡[³féü´´´”#FÌ6Ž‹!à ô‡aýè 3€öZÀ —Ô0Î5¥ƒa=€aýuÅ rd:Ãöh2QÐ.R•*UrK?[{A*лhÑ¢´ƒUhOÌŠá±à8Žd˼¦„K!ÐKº°2Fé.^¼””ªÑhêëtºN:.B¯×OÑëõóôzý¯Çôññ‰øöí[tîÜwïÞ´µAƒؼy³hMwñŒÝÅ`Ð0]…Á-f( “îÞ½‹Y³f!44­[·Æúõ둚š*q)ÇÂhÁHîÊyéÉ“'˜7oÞyç4hÐK—.5(óõõ-T½zõ^ ,X÷úõëŸN:Õ©U«V*°ß Ú¢çN¸ 0/ÇýŸ={†¶mÛbþüùÌã111¨]»6âââœÜ2!,Ø»|ùò+˜k*ɹ—åÅQŸMßËÆüb| (ðÓíÛ·?ä8îR©DTTvïÞ-ê#¿mÛ6Ô¨Qýû÷Mµê(ìß¿ï½÷jÕª…#GŽ0Ï9pàêׯððpf;GcÓ¦M¨Zµ*öîÝË<þÎ;ï ..$&&>ˆˆøfùòåw`.”²Öb©Ø®N 1Å$³*ü˜1càãããä&9*• S¦Lì_¹r¥)8<<¼'„™Õ0WÊÚµÚ·½$§0,4€ÔÔTAÅÔœìHŒ€€€Ç/¦P(tJØÜ– IDAT¥R£R©2|||ÒüýýÓ/^|M£Ñxt= 1pœ Ú7óû"‘X&=Œ9R1cÆŒJ  S©TU EU™Lö€â0hm­iÈ\œ+V¬ˆ;wzD7„KÀ´£¦y&55[·nŪU«pøða¸R(z2‘¹ bcc‹‰'¢k×®ˆˆˆ@›6m —Ë‘7oÞê 4¨¾ÿþÏ^¿~½óúõë5jt B7w„@,€ÖõëׇZ­6ó¿rå ’““à’Æ?~½zõÔè qïÞ=4kÖ .ÄÈ‘#Ô:!¤ ì@\\\‚ñ#K»mSv lÂt½råÊý½wïÞv­ZµúU©T–mß¾=.\¸€¾}û2y½^ 6`Æ hÔ¨ˆ^½z¡@vjZ&nܸ¿þú «V­ĈHaÛ¶mؾ}; €I“&1e{!557nÄâÅ‹%Û8xð`,Y²Ä´–]»víìûï¿¿ú¿ÿþ{ ö°6kk¼8[ÁÕ 0}:õqž<{ö쪀€€¶¶xf¤§§cë֭غu+ H‘"hܸ1êÕ«‡¢E‹¢`Á‚¦--- >Ä£GðèÑ#³Ï·oß¶z€5j k×®øå—_DkL¹çË/¿Ä—_~‰°°0ôìÙaaaÈ›7/òåˇ|ùò™>€ã8¼~ý‰‰‰HHH@bb"=z„ØØXœ|8"##ñöí[Ó¾'Nàþýû(Y²$j×®] Àdö=ÙtŸf;àÛî£E‹Ìý¬—ðÿûŸ ò=§&V¯^½Â»ï¾ËL½×¹sgLœ8Àq©Ñg¥lÍ1$0 ™V«m¨P(ºÉd²p³‘xùò%>Œ³gÏš‰/^d» jµÛ¶móøB<.’k†ÇŽXµjöíÛNgÕ— Ú·o!C†àƒ>€Z­vH#kÖ¬)êN`ŒÁàWoч8fÌÌš5Ëþƒaž\³f V¯^›7oZ<ÿøñã8~ü8ƇîÝ»#""Í›7‡L&“+Šò0Ÿ'dp/’!YQÍq/_¾Ä¾}û)éÛß­[7üöÛoP©T7n ÆŽ+x×’’’‰%K–`Ê”)èÙ³'³–=Ár"ñæÍ›â_ZÃi­{ Ë‚ÿ]BàåÙ¿ÿþ›–’’r)  mV¯ÏŸ?ÇöíÛ±}ûöì\FuêÔÁŒ3йsgÈd2L›6 «V­Âœ9s˜q|$®^½ŠÈÈHÑãr¹œ´öØÏŸ?Oõä"Cd£]¤Ìƈ“畎€AiKÇîÕ¬Y5jÔpbSÜ D÷îݱ~ýz³ýqqq(Y²$J•*õ Ö ±XVV–ûÔîC,Š… .Øûç=tJ>¤EÇH0xrAßÈaèp Ù… †,Z³•JeEòŸ¶ôàÁƒ8xð .]ºä X&“aÍš5hݺµÝ¯›°`Áf°™*V¬ˆˆˆ 8!!!l™e…=ñÙé(Q¢¦OŸŽéÓ§ãøñãXµj6oÞ,juá‘’’‚µk×bíÚµ8|ø0š7oŽãH÷C3M4yî:‡;v̦±d îÝ»‡ØØXܺuËâ¹~ø!6lØ`–ìaôèÑ(P >þøc³<^¼xO?ýŸ~ú)Š-Šzõê¡J•*P(v½À„,…„„„D­¤ð`mjZ{[2ÌH†J¥’4Ý…††âÎ;.Q 4hÐ3fÌ@ÇŽÍö«ÕjŒ9C† ÁºuëeÕ˜bÁ’åR jµAAA‚8WÐ䂎¹àÉDºq£S`³j층vý—Üà#†ªU« ö9sááá ,¢V«Õ,rI[§²óëYéqr8Ž£Éÿ™r‹¢ÏwK!Á ´0ßwÀÛ·oñûï¿cÅŠ8yò¤ÕZðìà»ï¾CïÞ½þ;9Ö Ã€€|øá‡2dš4iâ„Vy&š6mЦM›bÑ¢E¦Àø#GŽX|Æüq½^Ïû¼K캓Eà ˜;w®Ë~ß××'NÄ—_~É$}ûöE“&M0hÐ IÅÚ³gϰk×.ìڵˑÍÅ[Ò_‚M.X–Œlk/Y ¬f$ØdA6l@¹råð÷ßcÏž=Ø·ož>}jÏæ™A&“¡Y³f˜>}:Úµk'y®J¥Â!C0hÐ lذsçÎux6© * }ûöhß¾=Z¶l‰uëÖ‰ŠF`–õ‚$´õ‚@]i½Ã—Ê$¥K—vbSÜ ,÷î3gÎd2™¢nݺcbbžÃÐÿZbõ40X6ø>æeNÞ…=Kk„—`¸)ŒƒOÆ<³4z¸± Zæ€ðÛ¿rå –/_ŽuëÖ™ÒrÚ 2™  DPPòçÏøúúÂÇÇ 6Ä'Ÿ|b×ßóBˆwß}×/'OW7G£Æ_aüìâÖd"Ož<8p ˆ;wî`õêÕX³f þûï?Éï †ÒE(dZ4¡X±bP©Tö¼·…»>øßÿ=Ê—/ïê¦HÂ(«™hÀíP¶lYDFFbÖ¬Y8tè $djL¡‚¹@ [}/_¾´xoÁÁÁ(_¾<š5k†öíÛ£Q£Fö¨ÉÄŠ½°wÁ²^˜Ì¦ÜĬ¤ ¹™`„†† ö½zõ Z­J¥eË–-sŵ)['„Eгå&åp‚±{÷n¼÷Þ{ŽþCbb¢dþnŽãHvI’ ¤dZ@Ü\@h C¶¡ÀÄ9nÜ8› U£~ýúhРêׯzõê!oÞ¼h®ö@ãÆÝž\&Ü1Ñåv†L&C«V­P¼xqQ‚¡Óéøû!³„ˆôzÊbW¨Õj´hÑ;wFçÎQ²dÉ,_+((_|ñ¦M›†-[¶à‡~À©S§\n 3ö%A[³œi½`|óYܲŒÀÀ@téÒ]ºt1íKHHÀ­[·póæMü÷ßÈ›7/BBBP¼xq„„„ X±b‰‹¡Œ#F`Ĉ É0?~lÊbõèÑ#h4”+WåË—Ghh¨£j0Y!–9J0N\4W˜„§””ÁÁÜL0 *„ÀÀ@AÜ^zz:”J%Š/^æn÷¼¬IÒ5ŸK´y]ðZ0ÜÁ ýÅ-S–ÐÀz½Ÿ~ú),X`qñ @:uLd¢Aƒ(Q¢„SìEî‚Q ÷…û²N§€!G½ÂÀL2Ôp»Ë¥Ý•SyóæEéÒ¥Q¦L”)Sõë×·{:Y•J…>}ú OŸ>HKKÃíÛ·qóæMÓöøñc»’ŽsçΉ¦ÖNGö/ˆÏb f¬ŽÝÌ_"Ù%,(PuëÖµÉ"å øøø˜Æ ³Àp‘â}ðYEõXÝîB.‚`:y*TÈ©q7,XI0òäɃbÅŠ€°æiÑ É…{[0¼Èôz=O0ø—š‡ŒúKj¦²·ØA†\¦¦¦¢_¿~øã?DO–Édxï½÷0vìX´oßž™Ò׋œ‡'OžàâŋոJec2Z0ø*ð¢.RÇÇœ9sìܲL <<<ÛYµ´Z­ÂDj*ù¿üÂÌ]¨\N2òçÏ/9Ox|}}†°°0‡ýÆàÁƒ±fÍÑãŒ>”"`|v48 û /,‚&tŠR:Ö‚ÎeØíb#¿ Û#ÁLJåË—/™¤&äF—F°^‚ᦠ,üKLÚ3Fl‚T”n„90TýDß¾}Es”çË—=z´G¸Ô¸+An‹ŒŒ ìܹ«V­Âž={ Õj]ÖŠ`ˆâÀ8pà€CÛ2aÂtèÐÆ CÇŽ³äÆa$~0'Zþ3=§è!T^xáÁЛç?e¹J‰¹C9¼ÿÉx W¥†Îe°D2XéJY5/\ qÿr/˜à †ñ}ãÓ—“›¹È²ÃK0ÜF‚¡†X˜ÆAèWínnR €üQ”\Ô¨Q»wïFpp°3Ûæ…‹pñâE¬Zµ 6l°K‘D{€ œ1£”Ë ÓéðçŸâÏ?ÿDHHŒ¡C‡2øÄ ÕjåÈ$¤–’ àcÁ4¸¡5Ô‹ìÃZ‹†sc_ÞqæX M0è‚k¬ÍÌ5ÊMúÉK0lïJfì>’4ˆ‘ ’`°=Ãë{â¦0 ÞŠ¡†Aðá75Ì£þéàNª ±d/_¾Ä§Ÿ~Ê<¡E‹8r䈗\äp¼|ù?üðj×®š5kbáÂ…nC.³¬Kn•nìÑ£GˆŠŠBùòåѺuklڴɪt¨:N ƒ‹½ñs?~·ü‚ãEŒmpJ0·-ðZ0œV½1ã-à>ä0Ìc^ØÆûE['h‹F¶eJ¯Ã}ÁûÅÑÖ ~ 5‘ÙÆqäÚÀºuë`^ïÉ€-Z`Ïž=ðñ±è™â…‡âìÙ³èÙ³'vìØÁ Ès×Nǧ”É"8Ž3U´/T¨ú÷ïW¯^‰žO­“ :ý -pð®–&7)WÇbxá…Ù‡1È`õ‹Y4¥£u³9Àý θ9x7[c?’Ä',¢A“ ¯‹TNÇq¼ÙŠô‡æ³>°¢ýÝQëX@aX½z5ó„\»v €IÀ3 òµfŸ=Ïwåo[{¾¥Üîîµ[¶l±úÜjÕª¡}ûöNIɃw;" í™`Ó¦MñÙgŸ9­-IIIˆŽŽÆ“'O$Ï{ùò%.\(y‘v—4“ -X(ྮ–^d" /r'XÁübuPXAÿîI‚qÿþ}¤¥¥™þ§×Äœþ?«à$Ÿ,‡8—¶`ÐDƒÞl†Ã ƃpýúuGÿŒÇA*›$i £ûY~r@Qÿ &0mܸ7ntZƒ¼p?*T}úôÁàÁƒQ§NW6…Ÿ`Mʺ6mÚ M›6NmÄ¢E‹°wï^¬^½;vìÈruh‚`è TB°ü¯íØç…ŽÀþýûq÷î]W7ÃmqæÌ[Ngô³H…»¾û’“býúõÕ„ÒNŠPdK¦t8Á>|¸£"§‚ô…æI*<…\€C*y! *ß¹M›³ÌàJ¥ï¿ÿ>ŒN:A­Ô·ãôz½0 Js(´D «ŒŒŒTWòynz"hÒÌâdLŒ£’Ëåj¹\®²Uƒ¬P(СCtèÐ øõ×_±fÍÄÆÆÚt?ÆÊä¼›%iµ ]-•0O[›-•=ñôéSøúz]­-¥­$A÷z,f̘áê&äDˆ­î¯‹” \¤xÈŸí&Sz]¤ÜD)óà&€¼à 3T«V ƒ BÿþýQ¬X1³c&ùþýûçOž¯dÕzãE&(~k¢u¾BQ’`šT*•E’í¤ê‰±æ|»¬³^‚áÞ`‘ŒlûÅ9î’ãáfÁx’.PÏnݺõ÷Î;cgÍšu+55•OÏLfGK©jí}òç±Ò=Óç‘B83“ ã\ˆìçèß¼y£yóæ wçÎ4…x¦} …bÛgŸ}V©W¯^MÃÂÂê*•JŸ*Uª`îܹˆŠŠÂ¾}û°zõjl߾ݒN[BùX šX°\£¼Èð$M¶¶Ã-4LjµÚK0¬á"%Öß,’áÞ.R^äjHG#{‘c!åÅqÜÛÄÄĽ'NœØÕ«W¯ ©©©>ÈÔü‹ º,Í*•ERÔ‚óTt­VÑ)š”ðßSŸùó- N‡¨¨¨¢¢¢þ)UªÔšÈÈÈzmÛ¶mV¼xñJ …Böþûïãý÷ßGbb"6mÚ„Õ«WãôéÓ¬{SL¤Â­\£¼°/ìäínJ /ìk-Zî“VE­V#%%Å•mñ83q »ŒJ•*Ùû’¹AAA®n‚½±WÕåË—¡Óé\Ýž ¥Rð*»d¡ żyóX.PœV«yöìÙoS¦LÙ½nÝ: ¤ÂÒšs)@ŸÃ:W RV ²Â-«èI4d òû<¢ã¦h0÷ß»wOqÀ¡Î;0a»õêÕkP$þüøè£ðÑGáúõëX½z5òåË'ubî•öt=óÂ@Å`¸½ð¨T*ѼysW7#G€’)²ÚÿîTÿ‚‡‰`Œ=Úš¤9¹~~~LÊ©ùÀn}mw‚áÍeX¨ë ¸ àÓ‹)âê¶äÈår)-»CÇχ~HïúO«Õ®‹ßXµjÕûÈ,é i·'Þ" ‡°ýzÆ>ú»Ö@мðD¯~ÍÇcÐdƒ':â/]oĽHY , ö;vìx°cÇŽ_ Ŧ™3g¾Ó£G–+Vl T*}*W®Œ9sæd^,s¡Ÿ—Ôﺄ\üñÇfi%½È>BBBÈ-­'n³¦àðáînFŽƒh²þ÷\ð@ÈW_}åê¶x¬™ì27x]¤ÜtÑ–/¸'L Ÿ¸Äq\ÇÉôz=8Ž“ét:™N§“iµZ¹qSðŸu:¿Éôz½L¯×Ë9Žƒñ»þ|ŽãÌ>óà2Aï2]‹`önWK‚Sy™LÆÉd2îüùóO ^8ÉîZ RlÕétkúôésdóæÍd4ë·Y‚L‘J“Kï‚5÷&e½„V1’Á ÿò 2îw•Ê6ÁàÏÑét²/¾øâü_|q!44ÔoöìÙMZ´hÑ288¸ Ž‘`®YbcÀ僽råÊ®nBŽ…\.'ßKïËÇ‚ŽL&³fMð”þ Àjjm€1Ò‰ä9Ú—“aÌÎȯ ¬Jîvö"Û0MF¦Ñhäoß¾U$''+SRR” ¾ÉÉÉꤤ$Ÿ””ß·oßú¤§§«´Z­J«Õ*ŒÂ¤,· "&^¿~á  ]4ÜF@°€ßårùfd ^|•rÌ5Úü_þ³Ê¸ÑÙnÄ2䨱ÁÇøÌ-,ÇÐ×È.ôŽÂ0áo¬T*¥„iZ¨¡]ŒxÈDÎÑSûÅîË–{$¯Aº:‘Ù¤4È$¤ƒÿHNUg5ˆšea0ÅRܾ};£oß¾{ìíÙ³gð¸qãZתU«…Q°$£Yó‡+ÉÆ#ËÈ|š_½^/Óétr½^/×jµrF£ÐjµJF£Ðh4J£2B¡Óé:Ž_/äü÷sò:a Œ ‡wñ³tº?øÒÒÒäiii²””ERR’"99Y‘ ~ýúµúÍ›7ê7oÞð²ƒ:==ÝG£Ñ¨´Z­R¯×Ëãß?’“Ç)Cÿ‡L&ÓËd2ýÑ£GiÅ‹l®ë[q@r‡1ÞHŽL…/SøÈcüëÌ,¤lA‹œ4NXJ=ÒJÏZôŒïÙ™£5µ2™Œ IÒϸñíà àJVÊDÓ%Ú`×‚î ²£yÁ& À[©ÄF§ÎÔs§wR›­ñâ³ÆM0ø—Ÿ¤€fMºÒœ÷Eæ{Ï÷¹™ýÍ¿ÿ¤ð#% ±H[ï…&üÆ ÒŠA ž8ó„˜$Æ,ë…­c”E¦É mþ³€\¡P(:uêTlûöíÏ‘ùÉ…ïÿ·ÈiÈ3¤¥Æi>ØÄ<Á?7zŽ Ç 9fø¬cRq.¹m^àÿ'û^Ã8¦ç~ãÓ1kˆó¾žrƒÔ8 7>ó\nb‚$9—±úŸ_Äúß#H5c†”5ùùƒÌVÈ’7sÒ8¡år\ðã¼|ɯ ¼bMÇ‚3]¤XÚJÒý@AœGkûHä¤N§!E0øçÄ 9´¸'™7iˆ þ¥ç÷Ñ FN ¬”ƒÖ¼“®=ä˜b]+«xhá8KKJ"Þ½ˆïkú<ò\{haÅܤÀ¸>ýù6ðàcE8ê;´åMŠ\Xôõ‚&í¦Bœ:N±}ûöûÔ¹ô½°æw™Ch· zÍàŸ­Œ8OJ1‘}9 bcš0I’~§Üi,HY9IÂD*#È÷…œ<¤&Ùÿ¬¹ŒßÄ®åi“5ù⣼Ҋ+9U¦RH’ÖyzmÈ–ÃYƒ5IZA~¡ K/Á0€Ö<‘ „;. b ÛG ZÐ2]Lø Z)w¨œ<6hXK0¤H©³Íâ,a‘l+m½`/E0XÏÆÚöñ ŸýÛ´`N ïäùRä";.R–]炌g¡…t1E…;Ì%Rý¯„Zª›’A[Yóo£Ýæ×Ž1­+}ôøöŽƒLó<-wY³.x",)²yeæõ–²bYöDÐriÕ"‰†Ù\œA0øX¬ÃI-5_]6·j¡¤´¤k=h¦é± µQ0ãµ ¹uLˆÁ’¦’"Å4VÎ$iË=¦iK•Œ:Wá8±–`€ñ¿µíe-TôoòàǨ%r‘U×(ò[ )hñÏ“eÙb ˜®€”Öš*I…•ׂ!¾†ÐïœæŠ*1‹ëšÎ)7°H&iäÏ'µÑ¹uX²`葹Xãáê¹ « Ç<)k’䂎¿ÈÉcƒK!É1Ù2@wUL IDATKp•ƒ_ 2ˆãü¢œ`Èœ=ñ—ÀYÁÓ&–à £Ž+ˆý6×Èá#´@Î&\åZ'¦…äûOAý/e½³ÞÙr?R牑 RÃG R{*f‰•«ÖŒczn¤IM0èÔ’Ã]H NFi¡’,¥ÖÜ0Oˆ‘k1í?Ë]Ê],âbï ?GÐcšE2sÛ8°D0ùç¤;i…;½ÿ6ƒã8ŽHÇ+&_ЕåÅúß“!6/°<ŠhÒiC¶Æâ8;M-éÅg7á Ò|•[…I)¡‘YÚGOK£&ƒ¹‹ ?àIáHlðÂ|܈iûXîfV/ò±4‘üÀr…#ý¦iʲ"ˆiܲs/ô5ȶ‹R£N þä1 {ã—¼M0ø¿,rAksÉE…ÖVe•¬Ù¬y‚^7XV0¯bÊ4Á#¬1à. ÛNö±Øzá°H˺í®J†¬‚T¶É¨ý´»”ØÜœ“ÆŽ-ŠV"“,WZ0@ý/æ —“:ÙVˆ-Z˜··`š€M0@íŽróx‹`Ћ‰T £Ç Ùß¼N÷;KÓNŽ{g‘ úû4Éû–ðO CôyY…É`|Cø‰-*.0ó?fX‚mÕ°$T憹CLIdö-=°”Uî dÒók XrId!')%¥É”tŸõ” R<V ¶•œ ©q! ›Y'ÆÎ&5 $ø µ™¹¹ÃY Z›+ˆÁð€  ¼õ‚Ô8Ж /¹°ôXáŸ'=Vœ"Hï>ß6šX‚øŸ+@Žy±#Iö¸'1’Áú Ç(kÌÚcüÒד"ô>þ;RcCðL]8ŸÐ¦–ÚǺ_ w –<ÄúÊ’0!ªÁvEÿSr¹^èÈÓ`nù´v½ÈÉã@Š`²æR)Å“§ƒ¿^KÆÈÑcÈÙゆ”RÒnJ§X0(­?QN wu¶%ÐÚSZÈÊËt¨qd 9´Ð@û¯Òã!7Ž)A‚ÿ+% ;Ã=ŠlKÉ@÷;­d݃±°7Á`]‹¾®Ôb‹u]1w)’`ÐJz\Ð¦Ë ²^æ}-w‘Ûç kçÒš!et5èvƒúß;Ìa Á#‚þwgyB Yƒ\;rã8‘êGzl¶¬Ž§Å`0 RàðºEIƒœdí>\R+År‰aMÞ1aÄÆŠ˜pîÐ1#¡‰$ÛÈšìYc\ŒXX#øg–®ÉjƒLäXv@¿4É ßKB—”ÆÊæ–pÉ+¦X÷fiŽÈ sˆ%A0ïg¦¢Êôö?à dŽÚêéØ*H²7¤òÉcA¹JѲDnµ\Рh‚u5;s€Ã+y ~0sÂðv¸õ`iQÍ-"¬1 ¶@xÉEÖ F2˜û=vDú[J0°D¨ésÀølwØòœd”úÌ` Kïù=Zxg8WÎ+6Œ0þza– á +ã8 ûWlîðÊâ`Í›bÊÀú?» æbïaC°ŽÚ£ÿN0o‡gLaÊ'Jxàÿz…û‚¥åwÉbT¾k»(¡ðÄ÷ «`z•z¯xH9·xž"ãŒÏ`|ö"RJ*Ágwè{ÞqmXÛÿnóî;NPüx<ìÙ÷.!f ðvx–&ˆ¦wŒØzl8D;a+,J$­9á°¬x—,=g³gíNÏVdÜ€ñ™õ¿Xœà†}OÂ;²ï/<.'^x!B2½ „}àVZ~+aVû\A*øöÎ<¼‰jýãŸ$M[º@Ùi RÊ®(ûŽl¢€¢¢X+—}A”EñþXU.¢€Ȧ^TTpe± ²–EvÊ.ûVÚÒÒ69¿?&“NÓ$MÛ¤“´ó}ž÷é4™œ93çÌ9ç{ÞmW]Ë­pA»!爛“¾ƒ Ÿu8jS¯\Öò„ÛßÚ^ƒoA#¼¡ÕJMM­xÆÓ×ñxãÄ‘›6V¡þ“€ÉÀkÀG|m·ÂËŸsž i½Ý _iw[hýÀ=ðÕö×àýІ†¢ŠóÀãÀ µ+¢!s±à“ÝàmÅÿ#9*ÕÅcÐét:/xÖ¾†``*Ðxتnu4hРÁ{¡ Er®Ë@;4’¡AÂÿïÚù¼P’ ¹Æ'À@Ëñ ©ŠuÑ Aƒ¯†>çS4h(t0Xþ†±@ ë¢Á;ðrO»ví¸xñ¢üÝGÀµ*¦Á+Pè­ø¿¨R]4hРÁë¡ EűF24¼ üàôéÓ´k׎-[¶Ø’Œ9Àpµ*¨Au´üÿû Tª‹ 4x=4‚¡¡(Â`óɨ®B]4¨‹7€÷Μ9CÛ¶m¹pá§N²%sWT©¥µÑ 99™½{÷ÊŸ5W¯:4hÐàÝІ†¢?ù`ÅŠXüd’QM­Ji(pŒ¦œ={6 ¹a‡d̆h-5xZ8p€]»¬Ñ‹5‚Q´P htúÏ!9üGªY) ¼ÁÐPaÕ`,\¸Ê$#Ø‚F2ŠF@&¹8þ¼Ý팅ÃtvP0U×PÀÐ#-,Ù³gqqqòçÍT«‘†‚B1àßÀà:¬>¾CŠ$v)gÎ( LjjÐà}І†¢+ÁÈÈÈ`É’% 4È–dd1—Ò“… ¯3Î;G»ví8wîœÓØ’ N7/##ãe2³‘ë,Ÿk}£ð¡6Çž={äÏ#JjUJƒÇÑ8 ü)¤¹£õ’)¢ØLào ß”)SôÚX ¡¨C S«¡(¢RˆZš5kÆîÝ»0`Ÿ|ò –9áÐN§Ót¥@-§€Ï`$0àüùó´mÛ–3g\Ï·X­Z5bcc©X±"€HKK°HqŠ@ËŽ[ØÐX RûŸ>}š;wîP¼xq€ÕÊ“m•Zð9€…d†$æôéÓìÙ³‡½{÷²oß>Ž=Jtt45¢aÆ4nܘ:uê(ËØtûöín¥J•J´w­Oh(Bh¢IQ“ŠÂ‚¦M›Ê Bˆ ³Ù,})--­6ÒΕ,…(?×a!ìšx­Œöüùó¢J•*YÚ^–Ê•+‹õë׋ *Øý¾ZµjâÂ… rQæÔÔÔa€É·ÇOÑ7´>Q8d¾BܼyÓÚ~ûí7¹ýg ! «&Ë¡xÁ½hâ\ŒBˆÕrãÞ¿_Œ5Jèt:»cRbbbÄíÛ·åŸ ³Ù¼'>>¾¬£¹BëšvÑL¤4EØF‘²âÓO?eðàÁ!ÂFclBBÂCHB–ÉÁÎÿÙv/5x †cI–wñâE‡š‹x€ØØX:uêDll,*TÈv޹”. `^RRÒ`lˆ…,ZŸðy4”¾Êãæ6íëˆ\H_j}ÁÛñ9ðÀ‰'hÖ¬³fÍ’ç§X½z5uëÖå?þ@§Ó5®R¥Êú™3g’•\XÇÍŒJCa†F04E8$ ‘Œ!C†È“JùâÅ‹oºzõêÃdÕbØîHYµIÃë0 )Ĭ•\œ>}:ÛI•*U"66–*UªP«V-—IFppðÜ„„„Ad×ni$÷< Fý“'Oúã¢4’áÅø7Ðà矦aÆ8p WÈf—óæÍ@§Ó5>|øÉ>&(7"´>¡¡PB#Š"œ €O>ùDI2Ê•-[vÓ™3gê’ÕDJ)ÚBÂ;1)´,ÿüóíÚµ#>>>ÛI+V$66–èèè,Ÿç†d/^|έ[·•dhš ߯#Xì)œ»•# R¥J ɺhÔãÀ$mlðVDbÙ„¸qãýúõ#999O™L&FÅ¡C‡ð÷÷qáÂ…ÇÈ4ŸÌ¶6>h(„І†¢ˆ H$cèС!Ðét¥+W®üËÁƒX~¯œ,MÚBB] æºK—.Ñ®];N:•í¤ÈÈHbcc©ZµªÝBrC2J–,9çúõëÉ(yòd¦L™’ís½^ÏçŸÎK/½@rrò¾çž{®ß²eËÒÉêÜ©Eqê#-Ò<¹AÓ¤d´{÷îÍöåõë×9{ö,AAAMqN0ìi1\E P ¨“Ó‰ò„Ê@®CÒº ¹\NgèØ±ãd®/‘ mlðnt¶»)Àó@uà &aü œþ(¥B=U‡ËήùÁ;ï¼c74dnѧOÚµkYþ€­[·²~ýú|_ã`ذav¿ûôÓO­Itò‹O>ù£Ñè–²4ØEI¤  Ш›v….\Èž={xùå—éÙ³'ÁÁÁètºÀ%J¼ØºuëÓÒҎݼysÙÂ… WM™2å¶â§fù@ž7„+œ4äñ@{`«^¯¯°lÙ2L&+W®Ìvâ„ Ðëõüç?ÿɱPgäbÙ²eôêÕ €„„„?;uêôÊ®]»Ld7犿YúƒÖr…ú–¿CL¥òSÔ9üý÷ß$$$Ø=!..ލ¨(ŒFc²/AjgY³>›É\D N§Ë¡íG[þj ÏÀXÉ¢»¡,7!!ÁHöÍKgÂ5x À,àUå‡ ^x¨Š¤*‡´)‚dV£œ'´qA} Bl”Û1--ML˜0ADEE9\tîÜYœ8qB(p_ño/¸—OîI‚qT1!§á‚‘žžÞ<11±Œü¿'†Ùl~²8þeµ;‰ÈBˆyrqëÖ-±jÕ*ñÒK/‰Ò¥K{d‘¥Y³fbÙ²eâÞ½{Ê*³Ùœ”””ôßÅ‹—CÚ½R:÷iDóRGq]‰dÄÄÄ8l¿éÓ§ {pF.–-[f=ïÚµkGkÖ¬ù,’‰VK2IF 2IF¤xûÁÚB"_rUÑD§„z7—_V.|ĈûLÛ¶m­•øí·ß:"‘‹Ìn*[Ž#‘v2K!E+ ²Œ~.´ûŠûLB½àÙ,„¸ x¶âüùó™~øAÙ„’““OïÙ³g’f½ŠÍØ›þ¡IÁÈ7rÛ:tHÔ«WÏ¥¶ sæÌf³YþyFFFF›¢²Öódáž$Çå…™"]ÏŒÔÔÔ Uäÿ=A0222^'»¾ÓL°jw/“êBˆ%Bš|…B¤§§‹%K–ˆG}T ’ {R²dI1räHqìØ1¡„Ùl¾‘˜˜øÆ[o½U‚ìQD²µµ<ÛÂ"u…7å¾ñüóÏ;l»>ø K›9#K—.µžwåÊ•ãÑÑÑ=.H¦yí€HŽÂult+#íf—&ûBÓ µ»Ë!²ã97_ãI¹àfÍš9ì/¡¡¡Âd2 !„8wîÜ$BQigºªåø$gtY‹aK.µyM!„uebA/xþ¾.ÿáöùàêÕ«v¯•ššz)S| K)}-†6&¨+ãä6ûüóÏ…¿¿®ûÀOŸ~ú)}ûöàòåË'š5k6ýôéÓd:múÛ99£=Ç_Ð"Ǹ Ùÿ³ÙêÆ2Úþ©yF22ÿùçŸOJLL´†A k„Ô®¶É7-$d8j÷×âAsôvž¸páãÆË"îö‹ dÖ¬YY®±}ûv„=»·ÝŦ6¨†ÊÀÛ ùb½üòËyŠ4¶aÃeŽ•ÈJ•*½MÖö.œaí=È^<©ÁÂfgÇC>Yà Æ½{÷Æà<’•mÌlåŽw¡aº¹”ŠBˆÍr»¤¤¤ˆ¹s犊+zT3‘©X±¢X±b…RU*L&Óñk×®=KfngqÑ‹b;çGtBˆòBˆúBˆ§„ƒ„ßËÏ>--M4hÐÀa{uìØÑáwJ›j!„ˆ?»vùòå 'L˜0±cÇŽ Càq¤ MzH9”æ¹5—ÑD’ñò³Ÿ1c†²)šºñ? !Äþýûs|·e3¹ôôô Hásk!Ù×?h9®†´P '«öÊßI»—BÜBÚ5½sçŽ|S½àùûº¬Bˆ;wª2|øá‡B!RRR® YY‹!ûbÈZ.m\P_!™×:Ódº"z½^üñÇ‚{kÖ¬©dŠYÖö̧}zî÷I †¾Ïî€ôôtYµÙ&ms”[¡¨&äy8„%ˆßÿêÕ«3bÄ9‹²WââÅ‹ôêÕ‹æÍ›³k×.ôz}­²eË®MNNþoË–-pÖRÓh8†Éça<° )7NpØü,ž±þÀh¤R¥J üõ×_~W±bÅ,ÿGGG×kÛ¶í³½zõòöÛoOùå—_>IMM]}éÒ¥é;vìè=kÖ¬úåË—Äþ.e6Í•†QàÌ™3L:•ädk)wj1fð¶…œÃÏϯâ!CÊ“s˜ZWBÕCZx0sæLk²64 †;`ÎùÏCYçvGù“4-†:(‡dÁ‡~h·ó ³ÙLŸ>}¸ÿ>@±¶mÛÂù²Ïk3 $L­»ðÙgŸ±eË»ß?~Ü-×8uê=zô°ûÝîÝ»Ýr %RSSý˜«=Èì׬økÆVÌR¸½bÞ‡P`ФÁùý÷ßçÿþïÿT1ƒÊ+vïÞM‹-èÙ³'|ð½ÛðÛo¿íÓ³gÏkdmólâBXËÂ=’u;$¢ÙiÇÏ!ÒÓÓ¹{÷.‰‰‰Ü½{—»wïrýúõ<]üĉìÙ³‡°°0J”(AXXY_a??¿Àðððúáááõ›7oÞäÈ‘) ^¼xqã‚ Ö.X°à2öÉ…N Y›#ꃴ°¿}û6K–,aĈ …ŒBŠ=ŸTFŠøe7Áž-”çÄÄÄ4\´hÑ²š½ ˜¾(DÙÞÀ+7näСC>|˜-Z€ªÖp:a”.]šèèh—ÚÞ¢¢¢0 9…ç×áØœÎdù^OæØ¯¡`ÑËÚlíÚµn)0>>žƒÒ¤IÛóɺ®“E¹Î€Ù'ç}ªGÜn"U˜D6‘:wîÜ$2CÊi9Äa9$“Š’Hêõ¢&BqTîO7oÞO=õ”êm˜_)]ºt–#&“éŸÃ‡w@"SÁH;˜Ê„LÙL§¼ m RJ!F !Î;HJJ6lsçΣGݺu 6ôxô0@Š *ˆZµj‰®]»ŠÙ³g‹ƒf1‰“a6›3’““7ž={vðèÑ£+`'d­úhž¢{xZJ—.-žþy1wî\qôèQa ³Ùœœ––öeBBÂ3S¦L D#9IùÙµmÛÖúœW¯^-œ(„þ–ÀÕ…øûB‘œœìrº½{÷ !„¸}ûön$íZ‹4BZ<Ö¢‘Æqe8R[b©–͔Ç[ËW†Ã_“|ÞcQ–ÕB8'2víÚ%¢££]ê%K–_ýµõ·9Œ[·n: i`"ùìD“ÝGKÛ|PGv !Ä©S§Ü:' 2ÄÚGÆ×É26Ô@ZëUÂq¤AŸkŸ2‘*ŒHIIñ'»y‡ÜeÕY†EÒÉT½Ëß rPùú06" ¸Ì™3‡1cÆžž®n­ÜŒÙ³g³mÛ6V¯^M•*UüË—/ÿ~RRR“˜˜˜Wׯ_ŸB¦ÊTΜÅ|ªgx)ê‹Õ566–¹sç²aÃ¥ý½WâæÍ›|÷Ýw|÷ÝwÔªU‹ž={Ò³gOªW¯ŽN§ 2ÝFc÷‰'^Ÿ0aÂj³Ù¼Ø®nͽõA²gÞ·oŸõÙ3gò /„!†ï“=R“òý²]³÷¦1Àþýû]6¿Œ‹‹£aÆ„††>h4ýÒÓÓ­&oH﫳ÐãJtF÷˜9s¦õÃ#GŽXÍfóÃAvqf›]ÔÌ)udFp³ý«<sµÀ¦M›ràÀ>ýôSâââØ»w/ñññ(i5,îÞ½ëð¼œ4¹@†Ùl>l2™>ÏÈÈ™‘‘Ñêúõë!…´]½Iö!ÄæÍ›Ý:îwêÔÉڰÇï´FZï5FÒvÖÂusJ¯_Ž"U(šš*k0‚,¢<¶ a&ïÂØ³Ç/Lh ü†ôr1jÔ(>øà—~Ø A~úé'‚‚‚FÍǬüø\bbbûbÅŠý£E ³ «ƒ·-;þÛµk׃L'Y[ͳH|µ&t—"HÉPÖ§C‡a?Š”ò}Í– #==½–èxóæÍËo_±óù°ƒ{³-»0 =¿g¢Â]6ÓHþ ²ž £U«VÔ©S‡ÐÐЂ¸¤A§ÓÕÑëõ½ ÃlƒÁ°­L™2·…ß™Íæg¶nÝê§Á €ððp·ªŒBxüøqÙ×z²(£KeË…æÖJyš‰”ÊHKKóÃŽÐaù+GÈ sà´ýÌY$_ES`³±‘#G2gΜ\ðØc±nÝ:ºtéBRR’ªè9\»v¶mÛ²qãFêׯO‰%ž;~üø½²e˾I¦©œŽÌ(#2¬;$>¥BÍ„)±ØQDî4h7nÜPµbžÄ›o¾Éÿû_„çÏŸ?ß!**ê™mëÌ”§¨!É^Ù.ÁX»v-ñññT­Zÿ×€UØ7C’ß³Íg`1rt G8~ü8ÉÉÉSµjÕÚ@¬¢\ÛDZöÆn ÃëÉÉÉ,\¸0Û5Ž9B‡ÐétuÈNR쎊{ôes©JÀ¤¡Ê/RSSÙ³gÛ¶mcûöíܺuËåBÍ ÿüóO>ªšs9³gÏæË/¿t¹œ   š6mJ«V­hÙ²%aaa ­Ýºêõú®mÚ´¹l2™þ—’’²T§Óýmû{msoÀF s5(_¾>…;wîðøã³}»äë18>>þu²šÊ9KÀè+jÔŠÀïH‹1vìØAݺuY²d‰ºµò0Þxã ¦OŸ€Ùl¾ðÛo¿=Y·nÝ‹€áÅ_ XµjÕ—~~~étºÆ:®WPPP\jjjSðzs—‰H&noy ì† å4qd*·téRë.véÒ¥GâØGÁQÒ»&;í… ù7aaaÕ‚ƒƒ•f ŽÄú®FFF¾Íf3³g϶[¾Ò94**êa²ú`8Kì窩Ôdà/$¤èÜݽ[Qø8…”pÐßl6óÕW_ѹsg*T¨ÀàÁƒÙ¼ys632waÓ¦Mùú}\\‰‰‰nªM&„ìß¿ŸqãÆQ¥Jš5kƼyóHII@§Ó=|0##ã½ýû÷‡b§ý½|üð&ü…”Ô—Ñ£Gì4Õ’K:t(%K–à»ï¾ÛNöäʶë@»>UøÈü® •a2™”<•bK*ìfñ¦ð‹hà9€Áƒ³xñb·Ú´iS6mÚD©R¥ÜR^AâîÝ»tìØ‘­[·ýú¡C‡ú#‘ gDÃW¡ŠH¦$Õ„Lœ8‘Ö­[súôiµëåQŒ;ÖJ.L&ÓÅ/¿üòÙ:\ü:uêTlÅŠ_ †ç6oÞ,G2ª°%--íqðZ’ј‚äÔü.ÒèF48|ø0©©©vO¸wïžÕ¼Èh4vܲeKm²gK¶»Y³eË–$'Ë< ÙgC¯× 4¨ YM£l Öë~úé§¡ƒadšyÙÃÑ£GBPûä)¯QƒIH¾ O!µŸx8 ¼  !øöÛoyä‘GèÑ£¿üò ¯ÄæÍ›Uý½«Ø½{7#FŒ jժ̟?_ްèo0ÆÖ«Wïø½{÷þ…ßh¸Œ@Jœ8uêÔ|T¹re«9ì•+WμõÖ[Gpüç´èІÊBÈ/¾³(§¶»…O Ý7Ë—/wkÁ 6ä·ß~£L™2n-· œœÌ /¼ÀåË—¨S§Î[3fÌxÌ%ÉPöo'FàG Àk¯½Æ;ï¼ãSYÙó‚±cÇòþûï‘‘ñÏœ9s^|饗®þ5 Z³fÍr£Ñø H»ñO<ñ}ûöÅl6Æÿݸq£x%ÉxJq¬V ™rº öîÝëô¤¹sçÊ;Ûº† 'û¤-OèYÆÔF=‚ô>åKƒкuk¥™Š½ñÜú~öèÑ£–ЩÊд¶HNNæìÙ³Æ:d_”ØÛ”²uú¶‡*€í…… ·ìN”¾¾EJ,˺uëhÔ¨/¼ðG-ÐÊÄÆÆÊï\ž_ Hnqùòe^yåjÔ¨Á²eË0™LètºðbÅŠý/##cý–-[Êà@Ëí…ãˆ7á7,iFŽÉk¯½–§B*V¬È†  à˜ûÖ6Pƒ#Md¶`.øÈÚO#*Ãl6;"9IaƒëÄó€ºuëKùòå=yàÆôîÝ!:ÎoРASüýý•É÷lIF¶…ŒN"o!…_æwÞɵ#¿/b̘1Vr‘––viòäɽGu x衇B¶lÙ²,00ðIÈÅÀ1›Í¬X±‚¡C‡ÊÅ”/UªÔç111zð:’q$Ç[Ë.|y¤E£;æ™`,ù!rZü_¹r…/¾øBúQpð‹o¾ùfy²›*5Çz@g4­Þ¹‰ %ãôéÓܼy€5jÔ g)ýÃ?ì4`çÎìØ±Ãé5> €ŸŸŸ©J¾厧³]OÛ±@|„$&&rñâEùó]¹~yG#à0ð/rÇ<ûì³<õÔSìß¿¿«‘‰Û·oçùÚ÷îÝcçÎn®‘k8{ö,ýúõ£E‹œ9sƒÁÐáÑGý㯿þR’^h8‡I«wËÆ'À[o½EµjÕr]ؤI“† íÛ·êСCƒ«V­DÖu]N›ÊàCë?`xŠ"¡°…¿§/P§N¶lÙâö°sM›6YCõ/^¼ÁÆ_ ;Áðs©:Àx€ü‘‰'ª\Ïc̘1Öö»ÿþå1cÆ ž:uê 0:::tûöíŸ?°lÙ2+¹ñÉ'ŸXwÏt:Ýã«V­‹kvõ‰]LŸ>]®{`‚Ênˆe¢wE»0kÖ,t:]Àˆ#úãܧÍè C€‹/råÊ•¹‹fñÂ… ¼úê«DEEqêÔ©\8hÐ š5kÆ?ü`5s|øá‡›þùçŸSÞ|óÍZ¸¾ô©öñš0µ‹/Æh4ª]|cÁ‚yÚýÒÀ×H¢lذ³Ù̼yóøöÛoÝz‘Zµj±uëVÚ·o¯Ü­ó Œ?žöíÛÓ¨Q#š7oþZçÎ_¿~ý5ì:Bñ×ÛBU¾322;v¬ÊUñþøã?vèÐák Þ4ѳð`ˆª\…©•öú:ºwïîR¸2ù~¿’¶*dÐè ôº#íòtD UÛɯ"’YQ>ºÌ‰ü®|–#GŽÌu¸˜˜‘’’’£=zTDFFz$Ä¡'¥zõê"11Q!ÄÙ³gBÚÙ}ØÒ'¢vË"í¼„ …¬”ÃUZ6*¶qya ;9oÞ<ÕŸ§§eôèÑÖþœœœ|µ{÷î½±„/ˆˆèpõêÕ]ò÷Ë–-z½Þiy5kÖ´–—‘‘1'ùTjßB±bÅ  >,W÷¢²/çµÜ¯…bÇŽ.?ûÇÜú¬öîÝ; ÉĪ6RFí*Hch9 ä;ï¼S^X2A7.ÏíýÌ3ÏX¯9f̘7g‘|S: …«mh©G•ØØØ§åsGŒáRùuêÔ±–¿mÛ¶HaokYî«–åÿ,÷FÖŒáòø ˆ·Ö199yqõêÕ†9Ç÷×¹•ÆBˆ›ò3Z´h‘0 k“-Zˆ;wîXÛdÓ¦Mß"¥(xi¼hŽ”x¶*™¡jƒð¡´ž,\#.ܯF0²H[å³ìÛ·¯ê³7ÊСCåGdþøã‡!Ù0Û’Œ2d’ å¢W¹ŸüŸ\ùÊ•+«þ,=)£F²ö夤¤k]»vŒ4y<ñìåË—ãäï]!²üöÛoRã›Í—:wî€ãÈAj,>Bˆ³gÏ @Ô¯__¤¥¥É·ùƒò\lLr(÷¬ŽsD8’ƒ !„HII9m4ë!MØ"‘ ë»ò×_=)Wò±ÇËs›W¨PÁÚæk×®ý)2^²Æ·¯TMLL\'„·nÝÁÁÁ.•o4­ÏóäÉ“3-÷Réý¯ƒD4ª•‘%¥‘òåÈ @o6›_–ë9dȈ_~ùEþh¦½6pcŸ$_èÖ­[¢^½zª¿«ŽdóæÍ"7¸yó¦ËïqAKTT”8þ¼µ®·oßžnéÁ–þ€ÌÑùlk_‘G„wågóÑGH›4hÐ@ܸqÃÚ&?üðäñ¢=ÐÌòNG#iTÂð1‚¡ù`xrëämW|؆2X ÿ3sæL–-[¦^m¼Ÿ}ö™lÞ¥ëÝ»÷aaaAdõǰYÊ[ü1:€róܹs*UÁó5j”Õ¦>))éF÷îÝß^»vímÀ?"""$..nr… üïÿ£ÿþ.›†,X ½&:.|ùòå­±o~c5*à¶ÞRHÆJ•*qàÀÞyçù»§ŽJu Ø|UiÁœkÇ[¹ «¬Zµª¢Ë”)Ó@‘c”*g¸råŠÕô²zõêý0¦NÒ`áÂ…$''»T~zz:ÿ-%k.Q¢DM²ÆÐÏÉÉ[è*ëtº÷A2çY¼x1ƒ-ZÈ—±ú_8j'm•žÅ2Îß½{—N:ñçŸ沈‚Cný0ò}Ê“8{ö,:t°f¤ û×_uÆþ\áÍBÜbÀ* à½÷ÞcäÈ‘ráýû÷Ó¦M«Ï×ÓO?ÝwõêÕ푈Ò|Í'¡ Þ€*H “Z“'Of̘1êÖÈ‹‘žžnub ©HOO¯k[?±MÖDþñ¾}ûrU™/¿ü’K—.о}û^غd(V¬XC€“'O’«kØB¾×ˆˆˆªd%{ÖöéÛ·o?@Ÿ––ÆÜ¹ssU¾ì‡\ƒìÎÝÊ÷=[.Œ† êBCC?B’’’8p BêÖ­Khh¨|‰]e|px$}«.ð%`HNNæÉ'ŸôzÅÜ oñ¿p„¿ÿþ›Ç\NF©«^½ú¢•+WV£p$mÍ+f`‰P7iÒ$ÞzË9BãèÑ£´nÝš .èºuë6rÆŒurø™O´‹F0¼nQ¹ !|íÖB"U@ж3eÊukäX¼x±5cq»víºI*” ø¼-YO-,»D¿þú« —÷<^ýu+ùKLL¼Ù­[·éëׯ¿ """‚âââÞŒŒŒ¬y# L9ù¢Ñhì‚ýDjíDÆ—Zµj@FF½{÷–“ãøùù­Yœæ o_Ìæ‘²Å³jÕ*Þ~ûmU*qòäI:tèÀ½{÷ÐétúÁƒ¿VªT©,ù¬pùË›Q Q¤êÔɉŒIƒraˆ"U²dIš6mšãyz½Æíò lÊšÍf† Æ¢E‹Ô®“O 99™?þ˜ &ѸK—.á?ýôÓ%2ɦmtÛÿå…HJ+É…1[÷À­ä}ûöµaÆ[€>22Ò×®]¯U¬X±HÉ$óB.dìÛ·˜˜t:]¹×^{­ÄìÙ³“ÉlgYP|X±mÀ‹²௿þbܸqÌž= v­Zµ~:qâDÏš5k^'ëDi[7EƒqèС‡7nXmÒkÔ¨QL³(¥‰TŽÎŸ¨úɹóÞ½{tɂùsçhÓ¦5ƒnçΟ]·n]—]»v½^±bÅ+V¬ oß¾ùvU:;—/_>šì ?5.þt!Z¶l™å‹‘#GZƒ7ètºÈ2eÊlNLLŒ?’›7oVCÚHɵÿ…³gÏÆd2¡Óé ãÇÅ3ŠŠŠª Ò.æò| wîÜáäÉ“T«VM釡ÿä“O:øûû—¼i/@ÒþÉïOTT”l?o×<®uëÖÅnݺõvñâÅßi—½}ûöüóÏ?ÖòªU«F… HOOßc³ ÛöqÅTC|èΜ9èQ£òtÏjÂU? _0²Å¤I“¬Nö5kÖ|­\¹rAdŸ7 «OÆ8L/Õ2²…ÙlfòäÉ †àñãÇwÆErïmâI©#Hq|á; ü¯¿þò`5 ²ú`õêÕ_oٲũ-H\\Ü ›rb¹¾Ž§‘’ꦤ¤ðüóÏóË/¿¨]'ŸÅöíÛiÞ¼9åÊ•«Y¬X1ÿ””¥‰Œ,&Å_YU¬Ppý*°:(Fœ?ž¶mÛKtt´®sçÎ]åïV¬XAŸ>}ÜeæöíÛüóÏ?DFF…´Ë¨lã ²¶¯ÜÆf<ßÞ‡€ D«V­øé§Ÿ¬_!¬ŽÅýúõð ™“ššÚtìØ±#çΛª¬c±bŬÞ¹ ¥Ä™3gX³f /¼ðuêÔyò¡‡ZqôèÑ;€©téÒ€´9dñÉ7âââ¨Q£áááÑ(Ì£Ú´i#_kÆ y*[ÁÑ£Giܸ1åË—¯‚´ÐÛT~¿õ?üðCËN:M2•._¾Lûöí­~2þûöíÛ¯¬/vœºÉìOÙÆ;fRÝBè2lØ0’’’òtÏjâĉÖwÍ|‘`¤¥¥Ñ¯_?öïß¿¿ÿkÖ¬éÒ²eËïÉN3ÈlsÀk’¶æ‘¬B˜?~­66nÜÈÁƒ©[·.=ôÐSÀ·ä¼”ß?¼ªMTTŸø !2„bÔ¨Qª«¦Ü%þþþ"==]!Ä×_ý0È ~HæQ½!%^yxh ÔGŠáî‹&RÝ…iBHÉZ·n­z{ùºtíÚUÈ>|ø$×h‹G[6•ŠÂ¾Šµ ÕÞ„âøñãª?7OK¥J•²$¶Z±b…ÛããËæXgΜY‚¥&’YLRØg9Ñš*õuB±}ûv‡õïÕ«—¸{×z^dddÙ¹sg¤1-(–––6G!RSS…ÑhÌ×ójÖ,ÓjwÓ¦M v@‹´´´›B¸×LbäÈ‘Ök=òÈ#n3gδf²ËoŽŸ%K–!„HJJºŒ7ÿ)¤÷¾}§Nž¼téÒÏB7ŠxÀnYŸ}ö™B³Ù¼iw4É´.ÈÒ¡Hæ•Å-Ç!d5¿sd>£BBˆ}ûö©þNæG–-[&œáرcª×1?²víZ¹?CGª !Þœ´5?ÒOn»ððpÕŸ¿­ <ØÚ·†ÚÉí¤µ_e¤¼ʹÜ+MØÔ4‘ªny & FZZ'Nœ jժη<²w,{;Ï&Åÿ‚ìκ¾‚ÀJÀxûöm:tèÀï¿ÿ®v|;vì°·mÛ¶6YÍcìE’²g6SPÍù” .ЦMâããùâ‹/ܦ¹°!„l'HÖ(bjFÛШQ#íž°bÅ 4h`5K2 5mÚtË¥K—zYêlÐëõAÚñOOOÏW…víÚe}_š7oÞ588Øÿ_ÿúW¤Ñh,î‰ %Cé,Þ½{÷ª€®{÷îϤIX¹re¾ÊW„ª-ŒÅ„iâĉµ¿ÿþûåáááO‚ bذa<ñÄœ?ÞnY²Ãd2í&«9”,ö¢Se ëÏaÑ^¼÷Þ{ù¹]Õ‘“v"·ál½ ï¾û.ÁÁÁµ¿ùæ›¶Ø7³Ífn©F]݄Ǯ_¿žë(n7ZŸ{î¹Hc»,JŸ5{¹®¼jŒZòAaòÁ€L?ŒÈÈÈŠNNŠ¿¶äB6q0Ù9Vžç+$c$ð  ¿zõ*mÛ¶õúøç¾‚k×®YÃÕ†††c''Ž›M2Š Á¸xñ"Í›7§OŸ>˜L&]'##ÃûyPlhe‰äa›Ýmþþþ V?ø IDAT4iÒÄáI§N¢yóæÌŸ?_®T±ððð×®]{¥I“&ƒ¡.äϯ¼ò 111ܽ{€²eËþ÷·ß~›‹4©æËÁ[‰ï¿ÿžøøx:wîÜ­víÚµîÝ»ÇÑ£GÝr €””«–!:::zôèÑ]@Ò((ÃÃæJ_¿ DmÞ¼9¦oß¾o †³ÙÌÔ©SiÙ²%§NrZ޲mN:µœÇ Ww±‹cÙ%þꫯ¼6»µ«¸té’ÃŨÉdbË–-[!`ùòå”,Y²ñ¬Y³ê‘=Êv,±Ý¬ð5”F2ýòj뙽{÷P¦L™(27l †­‰¢Wi1Ô$µAŠýëëƒ-d‚áççgìܹs9§Ùj.LdŠ4¢$&¼Ÿ\LÞiëÑGõ™8ᾄëׯ Óé” €œÈ…O%ìÑàf³Ùì‘FE+¨6¿D2”9œâ›o¾¡AƒÖÌÛÁÁÁ=åïÜE0Ìf3~ø!¥K—®Q»ví'@Ò¸›Ê‘J•*Õ|ðÁ[,]º”Û·oç»ìË—/[5—Ï=÷\¯öíÛÿ Ð;w޶mÛ2~üx—r†Èm#„¸U¿~ý³Ø7òbj×iÄ÷ߟ‡;ô>82ƒÚ·o_¾³¿{~þùg«bÇŽŸÀ…ÈExÙŽ¹‹(#x«àêÕ«”,Y²™ItmÅ«µªk0¼™AæÊÝ¥Ö­[ÛúaØó¹Pj.Ò&çû@ªBd’!k4lͤ¼‰hè€ùÀÇŽ£uëÖÙ¢—hpd‚¡×ëåFù×Y–çœLÜüÙ…h° ³Ùl »æÂé‚ÀòÓ1“jÑ¢…ˉEãã㉉‰Éâo‘žžîÖðßK—.µ.ÎÂÀ½æQ2ä2Bôz½QInÜù™„‚”ˆ°nݺlÛ¶Íå2d‚‘žž¾—ì¾[Ž4a¶É÷ìõ¡n !O<[5àÈ Ê×ý/dܹsǪ‰)S¦L-²kD)¾†²ò7 y^7 ò†‘‚>'‚á5í¢&Á¨ …“`œ={֎räè-“¥i”L"lÉ…,÷É$¶¦RÞ° x$[ä6mÚXw%5¸rhM½´Š“Ížl …3 † O/8ó祫Á.L&“û»ÍÎL¤ ÌÑ»xñâ<òÈ#.ÿhÇŽ¼þúëÖÿ9’oŸ%îݻǂ ²|æI‚!cÍš5nÍ`¯ÜȺyó&]»vÍÕNzHHõêÕ 11q/Îsè87ìÍ?-Ö­[çÐÿÃ×°eË»Z._÷¿Pâ‡~ dÉ’5ÈšdÑž™”¯úbX5Þ2]ž×Í’‰On’^zfI-‚Q)ì™W3ȼBaü£¢¢”Ñc·L0ÒÉ$) ‘ÉÅ}²j1² ¡þHî”ã¢7H …víÚ)}4x:N9¸ØK•['MwC#@zzº<Ù#j¶ù,qó]5“’ññÇ[mÂÝe¥Ä¼yó²O8rä)))ÖÿóšXÏYù ùtïÞÝšàÑU4oÞƒÁÀñãÇ÷’¹X±Ý¹v¥ÆQÿ ʃgˆ›ZHHH°ÚÅËHMMÍÉÏ×±{÷nŒFcñ_|1ÇÚ,56,Ü…Dù R¥JjÖÃ)xàÌf³‰ìÁlÛÄÉPj k©Â¨Á€Lõu… l#I9rð– †­#…¬fRÞªÁ(|<Ò®ÎOR:N§Ö´Z£6Nÿ Ê›¦M›V´C0d8"ÊÈRJ‚‘-†ŠÚ‹òÀF,ÙZ—.]ÊÀ ]Øa_>3TíÒV³áhÁ)ÿÆSý)%çS4¸ Ù!---ÇDBí­?äƒG}Ô£„!/˜1cAAA+?..Ž?üÐccb^7r4h`½ïBŠ­¯\¨€4×È} ²ög›[Å 3 NaÂýû÷™>}ºÚÕð(dÇçÐÐвØOºè,·Ž¯Œ_€˜  ×ë½nÍMpp0ÇŽS {›†ÎüìT…ª&R…Õÿ¤ägW®\ fÍšŽ"I)a›8OI4l3x[‰†Ê¦Q°‹¹sç2`À¯{Q‹Q¤ÀùBÓÑ¢ÓÓÒ ëŒF[«A ¹Ahh(‘‘Ò°ò×_]Â1Áp¦¹(\NCÞü0Œ À/¿ü2/¾ø¢ÊÕ©S§R¿~}V®\ùmBB‚íË®öç&‹ªA5‚QØÍ£Ž=juz®_¿~N~®„™ô6xŸqq†^¯Ï©¨M.¾ð÷÷§K—.*VÃwѦMd.¹mÛ6_I$´4 †7@nƒÄÄÄ˱±±I8NœæÐì %д¹Ã[o½%kÄÌ™3ÿ°sŠí‚ÏöX­Éf/p4? 5¡|öß~ûíIìdþ%猼ˆq„»n­´U`2™dûgþ¡Þ¼š,Þ¨S§Pæ¢ðüüü˜4i;wî¤|ùòbéÒ¥ËGŒ±ÇæTGÄ„ã\ijo(O0ŠLˆZ2Áðóóóâ‰'lc4Ú#9Ù9zÓ‹œ<Ü4 |úé§Œ3¦@+P¬X1FÍéÓ§yûí·)Y²$Ë—//’á0}ı$§ß_zôèA¹råT®Žo bÅŠ :â£ÿúë¯7_ÛÓX¸’³  pØš†šŸý½{÷î¬]»ö:Ž#F9"®ô«Ï݆‚Bzzú}²k'œ­E|eþq„…XÌwƒ‚‚X¸p!?þø£Gæ§Zµj±cÇ&Ožl51ß·oßöÈ›FöÆr%±È°#2Éðšq_‚‘––ÆéÓ§ øÒê@IªM›6²™”£—Ö¨þZÿ|ðÁL›6Íã5¼üòËœ:uŠ3fXÃ.T¨PÏ?ÿßYo»îÒ`Qˆ€€kX> Î1~üx« àwß}·Uñ•³¨"9}VØR1ÍoK(ü/þÆþÜâL{a/‚”=h£ ##ã¾åÐÙúÛ×&®¢%Rð‘3@”ò‹ªU«Ò«W/·^,$$„É“'óðÃgù¼aÆ­.^¼øæÔ©Së ®‘‹t2É…R‹¡ö† Á8uê&SÑH¡pêÔ)RSSx衇ì9zËǶ„¡†îTCzIOŒ7Ž… â ‹ƒÁ@Ÿ>}øûï¿™?>€uaìØ±3N:u sçÎ^Ûº àC&R !V¼ùæ›4lØPíúx5ªT©Bÿþý¸páÂßo¼ñÆËW¶Î|ޢШ[ô$´¤Lîr(F ‡°°0êÔ©À¡C‡NâØ¡ÛûnëoìØxk&R…iii÷m>òfkм ’Võ ;`4™LlÙ²…Q£FQ½zu|ðAfÍšåÖ‹&%%Ñ£GÊ”)CLL +W®$!Aâä‘‘‘UÿóŸÿ¼rõêÕI ,h¤Ã>¹HÒ,í‘ Õµ Á(*þ&“‰cÇŽ•—Pµ¶~ÞúRŸZ 2„•+Wb4ÝR¸N§#&&†#GްlÙ2«£â•+WÎNœ8qv¥J•ÞŸ1cƉ'žxâÓ[·n]˜6mZ‘Z¸z!ñtФ¤¤‰@šÑhdÕªUZt!'øàƒ0˜L¦ŒW_}u¹M„gêt§Ñ(ØIÈvQóÃ(x´hѺé³nÝ:%Á°GN•‹gQjì!ÐòÜø(äq811ñŽÊUñ~Ö ’““™3gU«V¥]»v|øá‡œ:uÊ£•HNNæ›o¾á¥—^¢\¹rôïßߺV,]ºtäСC^¹rå½+V´6 f2‰…=±k"¥¦ƒ7¨D0ŠŠÿ… Ù#<<<'‚ኆ7ãZBBB;,™{»wïÎ?üK—.ìßÿÿí}yxÕþþ;Y[ºÐ–‚P¶Ù÷Mð‚(DYЏ/ԺႸ\@P¿¨èå‡âÂz‘¢è…Ò¢·TzÁ‚,‚(…"…Êj -m“¶Ùf~$'=9IÒ6ˤÍû<ód’L2gæ|æœÏûÙίؼy3ºt±¦ñ\»víÒ|°¬U«VóçÍ›w¶êìÙ³úäääO ƒ^£Ñà›o¾! T R¦ÖŽÈÈÈ?yžÿðé§Ÿú»I²Äã?n¯Ò–••õý¶mÛ®@ºªK&j;ïmü à $þ¹çF£±bãÆ—˜¯ÅÈEm«G”@÷îÝáÙ‹Âë:t(àÂ… üÜO#Àr¿ W¯^Å[o½…¶mÛbúôé8þ¼_f4‘ššŠ=z`ܸqÈÉÉDDDÄ>úè£)çÎ{c̘1MQí¹ !bÃïð¥Br€h ñŒ¨¨¨Íš5£Múl%WÉÝr'ˆŠŠ*½|ùòA¾€1cÆ ++ QQQµþ¯;î¸?ÿü3ÒÓÓѧO@IIÉ•Ï>ûlUË–-ß›={öQˆ(YéééW>øàƒe‚ ð7ß|3~úé'´k×Îc×(Wˆ”¬ ü"cÙÙÙÿ'ÂIHIIÁäÉ“}yzÙ#>>Ÿþ9 ¸¸øòC=ôsˆ³ò…RÖgú·¾Æ>ÀZ¢8ß‚$x_¸páŒÉd«.æŽüH•E¦q°†³e5ˆÀ@‹-н{wÀ‰'ÁktÅTJƒÁ€wÞyñññ˜?>JJJüÜ<+A@FF†ŽáÇãĉ€6mÚôܾ}û'[¶lù¤Ã£dE.ߌFWAŠ€ Žã&LheûXŒ\Hy0Ø)Y¸¸¸Ê¥K—N²X,«EdÏž=hÙ²¥[¿2dvíÚ…]»váÖ[o”——_[½zuj\\Üÿ½üòˇ,‹˜•Ö>1¾óÎ;¿edd|;wFNN<~­r‚ÈJÞb¤A¬À€ß˜˜XyãÆÇ`0±jÕ*´mÛÖŸM’  Ö¯_ÈÈH‚ÀÏ›7o}ii©™:¤¶äÂÝob4oÞÜî ÂûÐjµöUŠ?N¯þΆйSžÖUÆ/¶c1|øp/\MÞÂí·ßnßß½{÷EÿµÄcPx֍а{÷nôîÝï¾û®=?VŽÈÉÉA¿~ýðÞ{ïÁd2A­V‡Mž½nºé&ìÞ½»Á®$`U¤èF…ž={~Âóü/pË-·ø±UòÁ»ï¾ (**ºôØcýùšU ň«$ºkö&ò”Á< _‚Ük“ÉdX¿~=h.FR¥¼ôoœá'4h½´ròÇÈ‘#yyy¿: £“ƒ¡ÂZØ àÀEÒ¿¬]»ÖŸmª3Ž?Ž¡C‡ÚóÕju‹qãÆ­ß»wï­Ôa5ôD¢}N0›÷‚€„Iµk×N,Ñp&h$Ã>…††Î+++›X×=ˆŠŠÝ8ŽƒÅb18pàÛÞ½{¿0a„ô¢¢¢JTOx´âD»éê $ùÉÀPQQQѹsçyyy«…<++ wÞy§oï†àïÁ¤ŽàôéÓ¼ÅbÉõwcäRí—_~ù•úØ•ÕÙ¢AþÇì‚ _‚ÜëK—.©¨¨óH¸÷d'4 =y)Ax ö°ÅíÛ·ÿbûØUË‘ht€5³/ddd`ذa~Kàö, ¦OŸŽ—^z ‹Ç5:tè†_ýu¬¡`ds¨>êO½À—«5z‚1bÄ´hÑBª’y ä*R¬fQ›PÛ'¯¦M›.-,,, `2™&“Ia4&“Ia0pñâÅ¢ƒ^Ú°aÃåÓ§Oó°Ê¦ Õ K†Yë-"åàÕèÞ½ûâÇ_èׯ߫ááášÌÌL”——×hû Aƒpúôi/Üï#ЪHQ ÖôRÀšÚX*¹Kõ¢Aî„E±+»Ê-D °†IíØ±#âââPXXèçæ4l( {Rý‰'èÁÍY¨K’áÂûõ=€ ÚM›6 éééž¼¤ ¼²à©Á`Ð/^¼˜]K@ʃ!0ßûñ°®k‹/ÆÌ™3ÁóîÔ& ,]ºþù'6mÚ„ˆˆˆÐ>}ú|ýûï¿?Ú»wïlê0zý û¢Ã¾öXûŠ`„h4n‚aaaM{öìž››KâÄØ¸xwC¥W\\Ü6Ô¶Mc۴̾Õ‡ ÒÕ‚EWX00`íÒ¥KsRRRþ_HHH±ÊVeä‘$ï@‚ÀóüqhÛ¶-®\ ôð_Ï!:::5'rg!‚n‘ ?ÖHßGvn»í6lÞ¼ÙOÍhèÑ£š6m ÈÎÎ>qÅP,ôTŠd¸3€%>JLLD×®]ÕúW†ÈÈH$''òòòŽ–——›áœT°2$4°6rñꫯbÉ’%þm‘—ðÃ?`ذaÈÎÎFlllHÏž=¿úí·ß¦ôéÓçG8Žû4Ñ8Žã|9îûJ›º6¥¸±2„`ÀÝwßMò0ÄÈ…T)šdп•%èøzˆ'b×g²mUÌ{uŒQâ7äwd«´môû*•/¾øbî Aƒî9wîÜ{—/_^^XX¸²´´t—÷î„ïˆ ›œ„¬¬¬-<Ïÿìê7 M›6%‹ ¸Jèv›\ø°ùb8kû‚y>¹Ç‹Å´fÍš³ÔWî„G‰É»ò³À ÀºèiòÅ›o¾‰ˆˆ‚ ¬\¹r·ícgÞ-W¤Ã×Pø@7À*o •\äææâž{îAEE8Ž éÕ«×úüñVX µjTG€ÐQ > ™ò•£ÑV" õŒ _¿~­°7Â]ï9¾f£µ…-TÊþÎk¨³™Ö‡Ä ǸBˆW#$ Õ$†þžÀçææ¢C‡Kmÿ©È=þ믿þ´•9–R żêNNËAXÂqÜ;&LÀŒ3°hÑ"Ï\TÃøñã1cÆ Àž={2W®\ù'jz¸\ c€Q°víZÌ™3ÇÏÍñ :„xÛ¶mƒJ¥ÒþãÿødèС£þùg¬ú ™&dʺ£O FYYY£·-++ÃùóçѾ}{têÔÉY%)w½ ®È9FLyb—ÈCáNˆH rÁ´C@©Õj õºº ꊈrsçÎ5Ì;÷{™¨£ÓÚ¶XÃ-C¨ÏˆnÏ"K IDATµ¦†¥Æö÷ø¼Ðó²^ šX°‹/‰&xËÀ0ñ3€½zõBÓ¦MQZZêçæ¸‡>}ú }ûöHKKówSÜñ`œŸ‘ ŸŒ@©=ì-äææ¢}ûöhݺµ³JR4É ‰†X¹Z+ .!–ð-vjd*X•$:ÃÁ`“¼Ù*:ô@hèÚµk×Û“×DAd€»ýöÛU .ì¨T*›———«ËËËÕ:N£×ë5ZƒÁ ®ªªÒ˜L&µÙlVÑ^ AÄ‹¬'ÃÖ®]{®¼¼Ü2bĈè^½zÅxþ2¥!‚°gÏž¿m9ZÎò.XBÁz0œÉ¾°Àt…B¡C‡â‡ØÊå‡îÝ»#++ ‘‘‘HJJÂ÷ßïï&¹D‡@¦›ýû÷Ÿxþ…”÷¢>U¤ýû÷7ëtºÇëTª°M›6aøðáÈÏÏ—üÍG}„ àÚµkµºÖ ªÑ­[7lÞ¼wÞy'®^½*zLll,¶nÝŠ¨¨(ð<ÏÏœ9ó‹’’bívŽé*|ΗŒKàÂ… x衇`6›]ü¤áaÍš5èÖ­^ýu´nÝ:嫯¾Úõ裄t €÷6Éð)Áh¬ù¹¹¹¸÷Þ{§T*9‹ÅB:Öõ0ÖƒA‘ âígIjr!UEJ*]ªD§ØäÈŽŽŽŽ~ Ο?Ë—/×ëZƒ¨A€ÅbÊqÜÃÇÝÊq\WX=>Çáǧíß¿¿ô­·ÞúǨQ£’|}~A„¢¢¢³'Ož<ž™™™»téÒü²²2¶T3K,¤HF e@Þ €Iô–;Á¸å–[°k×.ÄÆÆ¾ûî;Ü{ï½ØµKÞé[tÚÖ­[é:µ!äµNÏ7 ¯k4š7Ýtrrr˜˜ˆcÇŽ‰Ÿ””„‡~O?ý4vìØQ×Óz 'NÄœ9sðÍ7ß`éÒ¥0äåONNÆÒ¥KѤIÉcâââ••…nݺ222¶®Y³æÄ=beâz¸|ˆ…ZÀ‹/¾ØèÖX£ñöÛo#)) ;vT$%%-ìÖ­Û¤¼¼¼2Ôôê[¨Ÿy•dø")T 3Ðxó/H¢·Z­Ö&&&ÆŠ"F.ذ©@¬&ånÒ7Iü–Jܦ¸é$n6!œlU¤ÀXv »µjÕê+Žãš”––bìØ±(++óâ]ð.d¢8Öñ°®´Z T*s Å Çõ…ŸÈpg`V(®Âú¼u~®E‹GŒ1~Á‚o^¿~}e~~þKüq¯ððpŽÏŠØ¾\s/h8È?Ñ»[·nÈÎζ—NA AZZî¸ã?·Î9Ƚ-//¿~ìØ1â“Чw'DªNr¤ÕjW †7 E‹ؽ{7,y|Ë–-‘‘‘•+W",,¬.§ô8z÷îììllݺÄâÅ‹qêÔ)<öØc5ò¦ü°°0¬]»©©©NÉE‡““c';wî̘0a‹b#äD2x¶lÙ‚ŒŒ žZ~¨¬¬ÄÔ©S¡¡¡ñÛ·oŽ!ŤR'm¸åàÅÄo_x0ÚÁz‘A‚AU’1bD›ÿþ÷¿E¨ûa+JI‘Œ€"4˜p){<8Ä'<ÚsA³o±øP±AOtð+((ˆiٲ巚˜L&Lš4 yyyž¾ä Ä¡0ÀÓ°&æÙûÖh4"-- 6ltí{‰‰‰˜7o@©Tš˜”J%:£FòY[ †ŽäädtéÒ*•*$!!áÖW^yåÖçŸþÆ©S§²¿ùæ›Ì… æÁ‘L‹…HÉÑ{A°@ûB£Ñ8÷yä¬Zµ aaaàyž?zôèÏUC† ùGXX˜vçΘ={¶l“—©ö¤Vïvc_/őί Y¤ÓéôaaaGGGs?þø#’’’ðã?JþþÙgŸÅwÞ‰·Þz [¶lAõ’0¾CË–-1oÞ<¤¤¤Ô(cÞ¾}{|ùå—xýõ×ñÆo 33Óç퀱cÇbñâÅö…ò¤Ð½{wdffÚÃæ222¶7.Ò-6ßËÝè_àMŠÒÒRLŸ>Ýǧ–'²²²ðå—_âñÇG§Nž5kÖ¶?üð¤síº˜W<‚ x{»[°¡k×®b±œfS«Õ‚ÑhA222¶Áª`= à)Éð€Iî0À]a]G¤€HX ›6ÅÛ}èÑ Ž$J‰êdÞM„Û®3 @ €fb™­€hÛ1‘¶ß„Ùî üˆY)vïÞÂó|6‘Ëääd¿ËF}¶7 ‚ W¯^=o“¥'<à÷`4€á6yê #€V¶ûa»÷$YÚ[2ÕM„A(9rDx饗„˜˜¿ÜÃ|ÐÞ–‘#G>`ÜÞ½{¿A())ñ[ß2DX±b…pãÆ ö– åååù‡þpÒ¤ICtÐÖ1" ÖçîS9Ž/k6l˜ßŸ#zÓjµÂ²eËì÷ºªªJ·jÕªTNWb4«RSS×UTT”‘ï¿ûî;!22Òïí¦·ØØX{ûÓÒÒ¾ë×½`$jgë»hÔœ#8O÷Ÿ/B¤º€ÙlÆ™3g|p:ùÂd2ÙÝãããÙDïº,´°ž ²kÛ¤*BÑkeˆmb¥9&)êtºf#FŒøšã¸‘ðþûïcíÚµÞ½àÆ(SpÀ«°*.(**Ânj޽{£ÿþøüóÏQ\\ìǦZ¡V« jµÚïÙ‚ÀÔ©SѲeK<òÈ#عs§}UÚððð„þýûÏüöÛo÷”––.9räÈmqqq¬'Ï.ûÔs'Ø×<‘S¹Ú®]»bïÞ½xþùçׯ_/|ñÅ—Lš4é®°°°(µZ­½ÿþûǽ÷Þ{+ÊÊÊ®À¤I“ðË/¿`À€~m; ²z7äææ^¢¾¢’Ú„HÕ¡Y³fΞ=;‘çùb¥R‰yóæ!33Ó‚&…Ž;bùòå8wîÞxã ´oßÞMrDëÖ­1gÎ`çθÿþû¡V«Ýþ}×®]±xñbüõ×_ظq#î¸ã¯„O9999عs'† âôجZµ 6l@XX,‹955uݤI“þ G9[SG,·K*Ó—ãËk8ƒÁ€/¾øÂ‡§•?ŠŠŠðÍ7ßâããïzàÚÂJ$ÈFB¥ˆÖkù½>#0™L>8¼A¤Zµj媒”³E÷6LŠ $ƒ]•[´ÞÿÝwß-\¸p¡UqqqÊÊÊá&“i¢Ùl~šçùY<ÏÀóüjAþv@|õÕWxûí·}vÍ ‰¾pÀrX­(0›Íؾ};’’’кuk¼öÚk’Éžþ‚F£1¨’Á ¨ªªÂÆ1zôh´oßo¾ù&NŸ> à8Nyo¿~ý6^¼xñw½^ÿæñãÇÛÃ÷“~m‘ k.âããýÛíڵÚ5k››k' §OŸþ}äÈ‘‹þïÿþor³fÍâȱaaaÑ3fÌxtöìÙŸ€Î;ãСCزe n¹å?]E5è{Z\\\‰šÖN©d^©ÊQu’%ÛXïpÞŽ;îþïÿ{§Ùl΀Q£Fá·ß~s+§å¦›nÂÂ… qîÜ9äççcÙ²eHJJBTTT­Ú¥P(УG<÷ÜsX·nNŸ>K—.aþüùèСCí/”‚V«ÅC=„]»váÚµkغu+¦OŸŽÞ½{׉p„‡‡cüøñX¶lΞ=‹ììl·HyBBöïßo/ÝZVVvíÙgŸ]˜’’’q9pV¡ŽÍñò4u±°záðí·ß«‰`ùòå…B¡úç?ÿ9 ŽC,ÂÃîåöd>†§r0–ÁêrC ˜A››‹‡~111- ç"‡¥¥¥—[´hñÜób,É‘gžšx@ù¯ý«CóæÍ»ªÕênJ¥² ÇqÝ9Žë [®;øé§Ÿ’’R¿ ‚E;Xë‘OЖþâøñãHMMņ ð÷ßû¥qî"$$„ ß|»K—.aÁ‚X°`† †ääd<øàƒˆˆˆ€B¡ˆkҤɬîÝ»Ïäyþ'³Ùœš››ûuÿþýeC–(X`]tÏíçÖèÔ©¦M›†©S§B«ÕÌf³é‡~Ș2eÊΜœœ'Ûµkw ¬^½yyyøè£·hÑ¢é/¿üò‡ýû÷ßœœœ=yòd$%%aݺuX¼x1Nž< ;JKK pŸ\xÃ{A`?ÿ=÷ÜSðòË/'.\¸pu“&M[¶l‰¬¬,¬Y³O>ù$”J¥Ë?KHH@BBžþyX, ¨¨×®]³¿#<<±±±ˆEóæÍ‹víÚ¡iÓ¦¼4qÄÄÄ`âĉ˜8q" ¸¸GŽÁ¥K—ð×_Ù_ÿþûo4iÒÍš5CLLŒ}0`n»í6h4šZwÛ¶mزe Z¶l ÀJ–ï¹çž5§OŸÖCܰÇôÜ) A6Àw^Ò±°+V¬ðÁ釯áÇ1`À$$$Ü `í+©1ÀÁà©Eœ=E0špú¤ †T¢7§ÑhD'VÛç®B¥@íËÙJé‚Pc­ {âû¯¿þÞ½{÷Ñ*•ê^Žãú؈„ÖÍÿEQQJKKQVV†òòr”••¡¸¸¯¿þº,“J/˜EÞ”””à믿ÆÚµkqøða?6«v 1B&!R®°oß>ìÛ·Ó§OǤI“ðä“ObäÈ‘V3ÇP«Õ#rœõw[%p@³`îܹ>;iXXúôéƒþýû#&Æq©“S§Nýúâ‹/nºùæ›#òóóߌmË–-ÃK/½A`2™ðÙgŸ¡I“&ÑË—/Ÿ»dÉ’E xiÓ¦M÷èÑc´R©äRRR’’‚òòr=z¿þú+nܸá³k¤Cg‚áNXK.êfgãÉÿð°ÕâÿôÓOK7mÚôX^^Þ¿bbb¦( ¼ÿþûøâ‹/°víÚZy‚”J%:wîŒÎ;×¥‰nC¯×ãÛo¿Å˜1c\†u‰!&&‰‰‰^h™¥¥¥xùå—±~ýz{ÙõcÇŽèׯß‹ÅB÷«3¯Šl„x(²?£F@^^öîÝëÃÓV¬XÕ«W#**ªÃ=÷Ü·cÇŽ¿P³ïÙ}ö§G«H]¹rE’Qò<ïÓ D®àyï¼óŽèwcÆŒ¡'©ð¨Õ¤<Å6ý Ê›ÁétºØÐÐÐñ …b¬¡6’„¢¤¤gÏžÝΟ?ÊÊJ_]B6TTTàÉ'ŸDZZšìjÄ»­Vk`T©T²ô`ˆ¡¢¢6lÀ† о}{¼ýöÛxê©§èCìžo™¯øqÀ€~Í_0›ÍÆ“'OIMMݳqãÆó›7ožxÛm·%r§€%K–àÕW_µÿùçŸÃl6ã³Ï>ƒZ­1cÆÛãÆËJIIYݶmÛ¯^yå•;{öì9*<<¼MDD†ŽáÇûíúJJJÁ#®*yÚƒê¼ÜÕ«WM—.]úoLLÌrÐзo_ÌŸ?Ó§O¯Q½É(//ÇÒ¥K±xñb\»v ¡¡¡xöÙg1sæLÄÅŹþ ++ )))¸té’Ãç—/_.rB.ÄJÅ;Ëwô÷ú:£È~ #;;Û¾ÿÄO ܱcGÄû^ì™'ïëŒwß}Wô»?þ¯¼òŠ'Oøí·ßзo_Ñ¢h‚áj±=Ú‹!'…¡®è`¢ I†ÉÒëõøé§Ÿ°gÏäççÛIDii©_+GÈEq,++ÃæÍ›ýÝŒ:ÃF,,¤Lm áüùóHOO· NGÄ[(yÙk%£`­^T_Ë"¯¼ àyÞl0ô•••úÊÊJ}EE…^§Óéu:þÂ… EóçÏ?¤×ë-o¾ùfŸS§N¥DFF¶°ý >üðCÌž=»Æ‰V¬Xß~û 6l@§N¸.]ºÜµgÏž!ÙÙÙ+ÇŽ»þÆ© ,è–””4:::ºF£ W«Õá&\¥R…) %ÓfÀ6–3}C>“ú^ô?èÏŠŠŠ*PS1”ZÓÀ+MÊ‹AÚh'Z­¶™¯¬¬Äk¯½†­[·båÊ•èÚµk}›P'”––âÓO?Å’%KŠPTVVâ“O>ÁŠ+ðôÓOcÖ¬YhÛ¶­“òJJJðÖ[oaùòå®ÂñÄ’ºÙ¢*RkJIå_øÝ`­~ˆƒúøÔ…³gÏâúõëhÖ¬Ú´iÓÖ¼ ±„~±1€ó„áÚW+yQ;4ŠDo†˜àúC£Ñˆƒb×®]صk<,„O@JfÊañ,O@¯×Óã…]Y”‘Gcû–-[vtêÔI{òäI®  @™ŸŸ¯¼víšúòåËšÊÊJN§ÓšL¦PƒÁ"BˆÉdÒ˜Íf µÅbqHRDÍqQ²#›7o®ž3gNï´´´'n¾ùæ¾*•Êèþ¿ÿý3gÎtÞwàÀôéÓK–,ÁSO=µZ9zôèÿý÷3.\ÈJOOßÙµk×E¨N¤T¡:±’.¡MÊDŠ…Áº¼ 5ˆ‡íU,FJÉ`Ã&¼E7$$D’Ì“Eá:wîŒÑ£Gc̘1¸ýöÛ.&ç ”””`É’%øä“Oœ² –.]ŠÿûßHNNÆìÙ³½^´Àb±ààÁƒØ¹s'233ñË/¿¸Z#D,öžö\ˆy-h¢álO_z/‘øè”‹#GŽà®»îBttt,¬ã éw ¤Çl!êõ]#H0ä W!RdŸ°M9( µA"¬ 匠?Ü»w/V®\‰­[·B¯×û§eA4jX,Ïó ‚a”••åVÔ"íg¢1@ô}÷ÝA„îÝ»+, WUU¥¬¬¬TVVV*õz½J¯×«+**Ô•••*ƒÁ 2™Lj“ɤ0›Í ³Ù¬àyd³ÕaÈ{¥RÉÅÆÆ†7oÞ<2&&¦iÓ¦M›FFFFµjÕ*A­V;¬ìØ1¼ñÆøá‡ܺN‡§Ÿ~Û¶mÜ9spë­·B­VGuêÔéþW^yåþ^x¡¨ªªªÈd2髪ª*ªªª*****u:]¥N§«,--­2¼ÅbÙl†Åbxž‡ÅblûÄkas#;Ô+ØC‰ÈçäýsÏ=·âɼfê3©Õß=¦D2^ B*8FãÒ[˜ŸŸüü||öÙgÐjµ¸í¶Û0fÌŒ=={ö¬oÓ………HOOGZZ²³³kâi4±jÕ*¬^½C† Áĉ1aÂ儜;w™™™Ø¹s'víÚU+ï=•ÿ"E0XïM,؃­T,`µ­_¿«V­ ®¦„ßa4UT …`”””k9mf‰†Ç*‡Ôóô&Š0©ämë4‹ââbdddà?ÿùÒÓÓíkÔÈÈÈ@ß¾}ñÒK/áá‡Fhh(4MsFÓÜ ÍvÏ=÷Ünˆ+•Î*y%yW$TÊ¢Õjkuà ƒÝ»=cÆ ÄÅÅÙ½C‡EëÖ­Ý.{üøq¤¥¥!-- ‡®wÅ/žçñóÏ?ãçŸÆÌ™3Ñ¥KL˜0'NÄàÁƒÝn×Õ«WqèÐ!»—‚”¥®œ…G9[kJjí ëŸúv̈€ßÿ݇§ \œ8qÑ Õ^SÖµfÛ+ÙL¶c,ðP¡ Á!H¾3œ %'‡k’ ¬U†Àºú'Nœ8ýë_ؼy3ªªªüÚ¸¹õy@¢ªªJ @m6›]×É ”””zçöøZ8Z2 ä:vx:.\ÀÅ‹‘——‡ôôtüôÓO®BLÜÆÑ£GñÔSOaÆŒ˜8q"СCÄÇÇ£C‡hÑ¢…GÎSKá¨XÒäÂiø ¼&ÅP¨Tªz£°°©©©HMM`]\®cÇŽ¸ùæ›Ñ©S'tìØ&“ ýõ 6o{ÊÿøãüñÇøðáÕjWc‹ˆˆÀ¹sçPPP€3gΠ  :ΓÍp'¹›•rgÝ ,Þ ÀÓ÷¦Á‚ÈvXXX´Z­VšL&Õaš4¹ Ÿ™áÁ蟌£GÚWlÌ8þ¼»‡²ä‚ òÀÓƒ?j™¢ °ÀhÀ걘;w.–/_³Yö•@ƒhd0 ZZ“ÉÔ†ŽŠ!dܰ{6ü1v¤¦¦:Tiò,‹Ï”“ââb¬Y³¦Æç6¯†×ÏÿüóÏcáÂ…ä­Õókµvþâ9`J“ójµÚ£ç©ªªB^^žì<âƒÁ^ Ä—‘rgA=9ä]ЈÕ ýrŸ …bРAÑûöí»†šú¤ ޹al1!ùç`¬_¿ëׯ÷Õ鈃&4¹à™ció›œH†ÀØÈÅ0aÂÙ/¶Dã! ŃQ\\¬…µÔ3mµ$ûÄóÉ£Újåó±Ã`04šŠp•••>)ŸÍœƒ&RaRbë^R&i’¡R©²b[€”ª"%–ŸSÃ{áG½"@B#èÂ8=zôˆÞ·o_1ªõJºØ½¢7M2ê…`ˆ”<Á†G‰‘ :,Š€~èý‘€%†Üiiixøá‡ƒkS!k˜L& ¬£AŒeeeZ!¨VÌ+ñjò;‚ðÈ:tµ—kÀËr@H†R©lùN2[EÊq’!¶˜ž\È` ¯Â=Ð"jµš±ÈÖƒá/Fƒ˜@(h†â–%úX3(òáçêRa]H Ä}÷Ýç±8ç jÂÿΪ†[ùSMCñ`èt:š`˜P=HÕ}–“4ÏÀi˵Ԃ[>©ö„×ÁæÕH­‡ ¶.ŠÈ`ó`áh† bˈ¢ ñ@Ýs ÂÖ¬ƒ,’Bç\° Sló'Péõz<öØcArD@Àb±¨¨yž÷ÿòÁ@EEEª ;‰Ðc†G*ˆ!+Ó«E¶ü2ØÖž ÂK`ªvÑy®6»È€\A‚Q+Hwv©–\°óCЃÑA{0Ø_ÌLlµ À}ðÁàÌ™3~jFAÔ<Ï«(mëa<ªªªh»­p×`¸JÃ;7H…B±ÄÂWóGPæ¼¶¥È†É”¹¬úPn‚”ÿ¦@“–PˆŸêõ\ †|A¯qÁ~N2@ÐînÚ³á/ÜX]tÿþ÷¿ýØŒ  íÛ·Ç”)Sðè£ú´œ']Õ‡çy%¥Í¥Œ¦M›¢¤¤Ägm999X»v-vìØ£ÑX¯ÿ3X“¼ÉjÑöSÁ1›$zË%Ä2ï@jníç`ÿ7(ˆ‘IgÑrˆ„ ¬g_ 0ƒ& l¨íÕð˜þ$ò…Á >°'Å@ý1@$Öŧ®^½ê‡Ó7J¸š0ÜÝ|а°0Üwß}HNNÆí·ßîöBTÞ‚X(Áà8QQQ>mÃøñã1~üx\¿~_ý5Ö­[‡#GŽÔé¿L&“V‚AÆvì +Jù{ÜÂ; žpÚs%–Ì 0Š…rq‚ ßBj¼—Sˆµ‚õik †Ô&6Ô‹h †|A:Uª\]nÄV‹Õ0ö’‹„/,–ÇaøðáHNNÆäÉ“îð½Ùl6\¸páøéÓ§ HîQøÉ+ÓæZË:Çq‚Øû‹/VÀÎ;™ÍæJ•JeV«Õ&FcR©TÛ{ Çq¼ œÅbáL&“Ò`0(M&“Êh4*M&“šçyµJ¥ Q©TZ•J¥Q«ÕµZ­V©TjöUe…Z©TªU*•Z«Õ†j4š&Íš5ôiÓ0mÚ4?~ë֭Æ påÊ·¯Ób±Å”G¯»°>DÃŽ¡³@µ,Õ{é¶‚D³áC΄‚EЃQ 81Ö‰‘ A‚!_°LbéIÝ<. õ@?Ÿ?¢C‡xâ‰'0eÊtèÐÁá;NW˜ŸŸÿkVVÖï‹-:uýúu²ÃZW¥d»¶2ÏÆšÓ1ÉX°`Á PÁX±¶IDAT,8kž*Ûf@uyO¢¬)a- 5׬;¡AõBF,ùwÚnµZÍÍš5«ë<0¬k×®ýT*•¦GX´h>øàdffbݺuHKKs¹è”Åb!…"èpJ¶ö¹”%;”Ž \ƒ^h‘6Z™WÂqñÅ`¢ÃB ‘g0¢–ù Dàæ} < G †¼Aw4Q¶ØÒbRñsþFˆ¿„<ŽÉ“'cÊ”)1b„ƒUÅd2Ý8sæÌ«W¯Îþè£þ‚ãÊ¢´\;C] ©÷ì±ì{±¶»E0L&Þÿýãï¿ÿþñøøøwÞygШQ£†µnݺ³R©Äرc1vìX”””`Ó¦MX»v-<(~‘‚àª$a\4|‚Afm¼¾€æ¬ÆY„ÆÖP©‚ª«;pA0œ‘‰ £‘€6óß+®- XíÁÇS2&Çq1b„=*,,Ìþ ¦7nìÞ·oߎ'žxâHII‰Õ–)…®n#vÝîÜ ©øcº”']}GŒ|5ɽ‰å6°púÌž;w®"99y7€ÝãÆkñòË/øà?ºté2P­V‡téÒ .ÄüùóQPP õ?Î6‡sùÏ<ó ’““ýqê F S£ÚKAú˜Èª¬ÂäÚ´ Nž‚Riµó9™\BFäz0j…ZLñʸïÑ^êÙ³§OË964„††º{¨\ILOM™2'Nôw[4˜ GÎÈ…OȆV«¥ÉÅe£Ñ¸ñÔ©S{õêU€êüZØ¥ˆ½–‹;×EÿÖˆý†&dåkº4M"ªí4© áH´"GBÅ®×ÝçØ®ôY,ÌŸ?ÿØüùósÛ¶m2oÞ¼Á£FÞºuë® …‚KHH¨þQu2» ö_uh‡Ç¡T*íÊP^ ÕaOD] _Â~¾½{÷úøÔ ¶1ÀÕ¸£FÂåË—ýÝÙC«Õ:ûº.sf­àQ‚¡T*}^Î1ÙâM£CCCÛÔ‚8Q?ˆ…èHåxsR©°Íd2­ÿç?ÿ™ýé§ŸÕ«ÑKµ›õ 5Q¥®Aìzê"%À±ü3M2X¢A5+2Ññíb«g¸RæÄH€]!¼xñ¢9999ÀÿÆŽÛüÕW_1xðàá7Çqb^gž_â7‘7<Ïs<Ïs‹…3›Í “ɤ4™LJ£Ñ¨4 jòj2™T&“Ii±XȦ³m5Nâf•1‡c¨ÿáØ÷dŸþ_Wç «–‘}ʲì°O½wh’Ë `*£QŸr+"'×0Û <› ¸³˜ž¿ÇW˜`¼F£¹¹eË–þnK ÁSó¦ÛðÁØàœ«ƒA€ÅbQ˜Íf…ÙlV UUU•Ú`0¨+++5¶ Dm2™Tdâàyž³ ÜbGƒ‹‹‹up®ü‚åá*€Þfh @ksµ ‚ @ð<žçf³Ù®P¥‚ì›Íf…Åbá, Gdçyÿ°mýJƒ¼snú8öX¹ÞO18´õêիŨÎC+Ãî¬Ü[ð,€ÍJ5 \̶YLŽI{¥ŽcW«gIû»Ú€þú¾/†â$ƒ V9£¯§¾å£ÅbdéÍ®4~ÿý÷—¿ÿþûͶ̙3§ëC=4¢¢¢Âiâ ‘W_"•~£T*i‚¦‚5´‡¬ãAòtBQí #ß« žGàœ+Es)¯™Ôw®þÃó‰%lËmî< °’L³ÙÌF…ÑhTTVVª***Tz½^­×ëÕ½^¯©ªªÒFµÑhT™Íf•ÙlV ‚ °Í5ú¨.¥¬ "äRà8Çñ‡º×ážr1:8à ýÜ  /¨ñ–'(£„ªªªJe0캥Á`PY,…M·´%èØt§²âŽžàŽ*áæÿÔ§?ì¿ÍÍÍ½Žšs€Wû_ÔÚã-pV“ )™H;Cm[8€0Û>™HHܨœª#ù ´Âb†5± @%€ :Ûk¥ís¢YAðuEQpÕ&9º¢ ­@%‚lj#rÃV’’‹Æ +R$”®c†Uˆ¼°›ŒÒì)yá8Ž&ä™§û™<뤯iE‘UÔ¥6OYcØ–&t¨” Õ59ž(ÃäU¨Y¶>b1Å–µ@+EöésÑc+dÌ0À‘Hñ°ÊƒÏ& JfÈuñ.ÿË ºêX]½D®ŽsÖV‚áÎ{WŸ»s›D³Ú*©}Úcç åXk“ÕèÙ±ƒ.­†£hó€Xà ûüÓ:ýüÓe¸=6x¶±ƒŒ¤dxÛ†êœ?zÜp»tx€Bl|aç"zÛFôHz,°Ôe ðw¦Œ˜“ Éq YÄàL0\)Z ZX«6 xa¹BŠ`ÐJ1mÅâ™ßy»mô¹èvÒÕm8–¥eÇvß™ÃÝ6‰µ‘>ë¹  ‡šÏ=™»ã½¨MøŽ˜ç‚UÊÅ*ÌÑ2ÁÊ€ÜÆ–$²s›DO.ê›çÂÂ]ïF]P_2áÎoÅž5VŽ-¨)rº bºy¾hcM´Ç>jèó„Tß³c’T¸§ÜƺÂÙCË ™k²n)%´,8›ê% þ$ÎÈ[…„"4T!ƒÁ`•©˜@+,æe€–ƒÆ&bp6¡Ð÷Í#SÎÅþÏÓ픲¨Ñ¾XM±/wÄÚz0è}1…–}æ8æ7ìšõ-ÿ)æÁ`½ìZì¹éûÎNN*‚ÔüàL±ôÁ‚§þÏÓ÷Ú]‚a·L¹øKX²/f8ae€GM/V`¸?Èq¨-X¹¡ççšZ-~ p¥Gšà(äžy¤ÿýE0ÄŸfTôA¯<ÚP…@ îË>mpp¦@Ð2@”6)KpC–g²ÀÓ汯 "%3Þl£3CQ YC‚¹pFªëC0ÄÚ*f#òÄC  ^iy•RxÜ…+‚AŸOjNr]b ¦Ø5ùS±¤ÛËŽ{t=¸ ¥õõA_ƒ/!v>ÖpC/x‘ÿð¤d¬íæ¨ïéïêû¼58Ó³\‘Œ@†©"c‘zÌ`ÑPäFj< MtXœâójà‚!f™b…€€¶HA‚Aî—¿•FOÀÙàÇZ¥Ä”¥ Áï_1ŘÎpfµ’úOO´SŠ\°$Ò•÷‚õ`ÐNˆ¼Ö¶bmfÛNÞˆ â‰ñD8+ëtˆqM8X…],äKlÜð'É“cR©Ë•bÙWpgL ýÎÎS,<g(P߉…#§ßÅ@œÈ³âÁ 4C%”Na‚£î`†cÎÐpuKgz$­w;ä[ÀCÑ0þ‘b…€f˜¬b 4\!ƒ+Á ƒaŸRVÙ ‚ ¶>1’I& VÁ¤]áAË”sÐ}Îz1Ä ÖêiY‘²F‹IÚSIˆ¹ Ý¸ÎR]¯GÊ“ÁÊ-9ŽÎs+ùY_™•"´CÊ“Á*\l˜‰\bÊÇ|O¬žÊsip‡`Ðc‚3o`¶}* ¶y‚´¨ölÒ¤|Ï’‹ÆL2õ=ý±QbJ¥¿ŸÿúÀh¶˜HC— vn%÷Èq]²^²àoK.è8l1«Tc1ˆ)ã„`Á`•F9ôõp°^ýmµl쇤úWÌêG‡ :ó`x£bía•^Ú ¦ÑDƒþΓVw)RÏ^{¿èIŠóò´·þ?g$C*Ù›\kØs‹û,QjUWä¢±Ž ,Xùó"Ò¯rR2Y9`ó³hÄTˆ\c–)C íÉp"åïþ¯ Ä Y >#£bh(rãÊà 6ç0ÔÕÈàS‚ÁX°Y«µ®… ¡tz] 6HH%éÈEQ¨Ê:EËÃ!¨¾>1å!H0ªáŠ`H)´Âî PxÉZÉèþ¢É…˜·ƒöb°!JÞ$ôgR¯ìqb ®§åÕÉ`Ɇ”Ò%fÉö¥c-IbIyõ¹põ{wˆyïŽõ´¾ò*E2h‚Áî‹Ý_9+–¤ D>è þLÊøÐXdzϒw^d³Ë€¿LJY$ c{ ,¹ïól?³mgÛÍ’ìú’‹ÚüÎBö9‘Ï¡.²Ì’ ²O gäÜ•ré·qƒñt5ÇZ¹t×ÕXÆ w‰²Ñpx¶d2wÐm`I†3o,ýíÄúÝ•Á& ¼ 1¥å…$‚atÎ塆,ÔG|º’·ý¤V rë×&ï¢! †;ÌSJI½‹“R<¥¬°R TîAj‘Ú¼"+ýÌ–o¥q§Ý`öA}æ5¸s8Æìê°ÿ/õœÐ÷š=Î-çï±ÃÅ‘}ˆì!mxpú\ù»ÿ—24@¹†»}ï rèûú€Ò1]®ä¡Þc€?  ®t]ÞÒ`-¶¬b ÷¶»‘z?8iÔR“ y­aý÷¦¬¸¡$€zu«½p¼F;ä.óõòÂÞCw”pöž:X‡årÙa_ƒcCí!õùl<¨-$d@J.Øý ¤ 1²%–ž€‹±£ÆáÞo‘, Ö·^üB0·•K ñt|màl€¨A‚Qš\ AYpÎ&û«¯äÄÉóN¿¸R‚¬oDƽ ÒQ›IUj‘ݽQØ}—áÁæÈîö›˜BvýNà h,}\83>ɺÿë #ˆjxm^ýÿŒ1ËîéIEND®B`‚./chessx-1.3.2/data/themes/shadow/leipzig.png000644 000765 000024 00000231166 11172700607 020566 0ustar00nistaff000000 000000 ‰PNG  IHDRv=š]bKGDÿ‡Ì¿ pHYsÝuÝu¬‡ÃƒtIME× 6Ä5ئ IDATxÚìyœMõÿÇŸŸsî}e0ö}'{I¶J–-BR„JEôMß´Ó⫯¾¥´—´k“J´§$RY’¢’-"ë`0˽çýûãœ{î9wËÜaô›Ï}03çžíóù¼?ïýýú@Y+ke­¬•µ²VÖÊZY+ke­¬•µ²VÖÊZY+ke­¬•µ²VÖÊZY+ke­¬•µ²v’6u\ï#Åz¾Äì©eíd¥N‰úü¿…²VƯ+M¨˜Ýáðw’b½Á±^-e‹ì$^E‰ñ¸üãFA•Ñôÿï&Y¤äYT¯>ÙÜß•ÏÉñ[šGÓgqø³Œ¯ônŽÎ€øôÆF½^èÕþ/´.‡¿Ò÷’wxè•Çk8ËÚ1/ŠžœG#<†rYsèµ”Ío?NèÒÃÛ,Ç› $~U`œ´3-p íÉ’³ñ£ÿµO7ɉ"0ÊhúŸ»&<\Àº9¨ÁäKyëŸi°-Å—Nê—rÍ÷qÖÇ‹ô°sÄ'ùaŸño¿Úÿ¥Ha„óƒŸB)xÉq¥::*f¸²[zJ‘O#ÓPáôñæô”­‘¾õ¯ÚÚ̦s¦µ“y¦%[æ;ú.F°§›sºÙkÁûOèkY;,5´—Õù7d‡ü&$/H‡òï½:é$ás2CdŒ$ñ9SD D‰$’@¼Ù1‘LI’x‰]tÑ"~ª˜#ìjÿ—"£\c~®‘¼—­+¬+ƒ ¬lq•Î¥1Ó\ŸÊ(é!å\'ßÖÅ}¿¶ý""‡d–ü[†É¹S>¿ÅHß«Dñ q°Ò“n®%Ëd†¼!=%C4‰—Ö2Ir,ù±õ<lš6ûZ¦ýs×ÄH)4Õ†·åb)'‚x¤µÜ#›*Å‚G*Däs¥&d†ÈuV"N‘ü¯I'TRI!Ùdü""ñE^‰ •EÄ·‘tÒH³®N"xßW"мòj9ðjØsƒË«lq•¾¥QODd¯ô™Ëáânþ‡""ŸI×·§È9p?É$[’p23R™#"²Uº„ŒCùÂŽ;gÔ²WCbX_ËÚ?iMŒ2EÂ7Ò4—K”»Mi"…‹îÎvòWâJZ9ÖJ°Ó /^[ò™&ÓÑ]4Áu “Ì!]‡?¥³lÐ`.w¡¥Xómщ5ׯI4–ía!ïŠYôµØ_7†§Ëm'“x½Ü#ƬsP¶²û ¥œ®žÃ»ëü“} ÒrƒÝ‘–ƪ™ª?åkã-W|Ï^ŽçK‹"4‹*J&ŽE``('§ªÿÒýÏ&0lÛç¶gšc´P¶A`øðãC9-ŒÎ ±¯ö3Â!Š =Ö•§*› JI‰‡ŽÖ¯¹j©c¹ˆc©ü¿¨)g[s:X)ù 6°•}ÜEº¨®Æp#°Ö<ÙIe>[=“ŒfÀ«¦‡Nú:è<[›h fò05jð—ÝS§Nmœì´"]™Ô|ȸï'óª…Œ°¬‹DyŽK5{¢ÕýAb|¨¼Á`z“ÐäñS®_ä’ö (šðÄxÚ¤®¥?ßQ74Ñ ¯ßcÄùãüñþ#¿“Š\í1¼~ëêŒ#¹Ò²0‚BJÙ Äü”žÖ(¸H䃷.¶ rÔ?ˆüH›4;˜ä Ë8òÁZ4­£Uìq© À§Àp3Qsž“kü¾àœ£g+€¬§.âH°éZ£Ð¥V”~Ûù°&‚qd£!ÊVAwÕÕÉ<áM~µþ˜!BÔê j¶ê`,Óî¦7pFgÖãG·èß©FÄœþ=ǶÀ¤¥4¸ò©c±¸òÇzµO'Ñf ÊrXèÖp–ž…U|¬¦)ô¾ø†G¬^þ‡ CiÔ`-ÛÈ`¥ìWu(oM×ÒÄŸµ‚"PÇ—hY¡>ÛŸP ÔIÃ8€Y›—éw¯ÊrVŸwS—C¦ÀðY~j§"ä?ù©d‰mp‰o!¢ðØ‚" "(ëï“TdH-à%ë¯Sý"Ä}ãù¯2M«eüDsÒê‘`Ó„›ƒh±åv1ˆaDj{ù VºJ iEwóÁ¨÷É瓨wÎ9ìÕ~x‹…˜‹Ê°ÄEÀ§]zV=XÃ)ôfqhCò~O˜âšî ÙÿsüÓÛyÄQ@¡:Wn“ê7™ ªpªÉ2iÎJàvZÕ5X!S@瀅aàÇC¡¥oš*ÍRN½[$@n‹Èµ”I@^@`†ˆF³¿'¹!¹  ¯%(ÄŠwºÕ¬“p$ +{ñ±Ðú«_”¤¤3U†ä(€ù4‡DðQèæx¨Ò`aQû%̰>š¶›ŸÚg ¿-.üvˆP•*Sqü|À5Ìâ'l_^q¾=Åâ˜ö°ÈmP•qL–«K¹SðZçÜÀà'UGÕ•BÖ+4ƇvZ³í³Y¨ÝBéJ!PEÓ˜Ÿ…Œr}µPP@]S`ÄãG·›&m+W_UT~üO£S``'Ç(ë·“Vd¨Øb;a›G9K£…•~½: "»mÎ ý¥ è]Ê]qøPß¶™hYzï”eW³€hÊ8ð”þý®}¶X„nXâÂ8¹u¦Ãþ¹™><÷°ž™®¯®`·ç`N¹ÚØŇ€_í9œÄ©ÀŸ«ÂÔiRÄC50¡ãælé=O2zó60K-’*h_Ü­z‘¬=D¼Æafèø1P¤¶+/ûrjä©È—ÂæSnV¤IgŸ ñ&lç×I~ÍÎKxšÿŸäI»ìßÊE=§¼5&û*rÐkرR1‹dI•Báµ<º~»ËYâtÜ I:Z#½Mý`”{ëQ ,t=ÆÓгÑ*uŠ‹ì¸KPkú§%N:DF¹-…ïxúë´™¬\P(gÔVÔ ‘3Ï30üÏ}J~4k©üû¥ úYjq½ÍOàdƒñùþ'3~ gÝÆÏZ£þL`>zp“ô¢’:(ßÊCêgã_á»;ð:¬ üþ¦Eëëâºiå÷JGrÏ žHü"‚ˆ8I"b†ê¡w±™}Ò!|¥;è5;…>ØÇ“m½(À¶«ÁÕ^ |£›5Îá~7,¾ç·¬Œ˜Ž€Æ?®‰² Xô0@®ÅD¾f>ó™ÏjùËÿìÁÓå=°½•~±ˆï²q$^«'´¢÷Xxx ­ÿsO€!߬ mï3.Xîú®2C˜óÚ”uŽêçÐÑ:å\2”ÕŒ2ÅÅ!v‘o®¥ Oÿ!’­ÄÞU;ô$2/«&ªöª6MÕpíg0ŽSõËþÆ®i·)|û¾J`Š‹\öšü!Eë›ðqá‹o¦9žRš©(ÂûÜ¡>w°:?ägA`ðµâíâà€²pÒ–òU¶Ûµ­ŸU*²Ç*_õ:Vûc—Tõl‘òL9¾­Ö‘QÒ›#½º£Š®› !èvÍo©X$k©‹‚lmxâpÿÜ_®»Ö±Ùþ~;Cøj·=óíÕküVà6XY`”f§ÂÑ·}R'€ò?æ]ëh†ty|ÁûôAÓ^cI1ЀUãÁÀoåÁ¹™ð œoÅ4€M<ÈûlBШÉYŒ¤-wóCÉ“q%ƒ>öÖÍwh5»òƒmv ]ɘú7âÁg²…f] °”‡øŒí@MwÀ3è¢j}z¿ï³#bÁ,¢RMG=d¯|«ùÕ@Y&Õ­Yk|¤Æ½ÆíšÃ%•è¨ÀQº0—NÊu’·+…,jXHßHÿˆT¼×† im ÝòIøñGP“9‘¶–B+|Ñ >è—Ý|‚/>¸ük.gý¹ó8›3hMêP…ò¤‘Hžãï®I“Êrµ, V¯•B‘—B`Å7¿óíþð£+¨MuªP‘r¤“B"ñxñüsðIe¨ì1Çâ{9ÓžÆfCäm£‚ #ŸÉ‡r¥(At¹À¸J2 ó¼{L,Û}]Æ2˜K¹„ 87l¶“NÐl·4±á^¤ùÕä´üЛõlxL“9qKóªÕr†ëšÉÌùgïqƒ”Ý‘6‹oñË¿E yÒ 9(""û'9ž„§+mT¤ ÏYd½{Ùgtò#È©† èý˜AâäUÿ^ëœö"²sé@{ÚÑ’f4 6U©H&©ö:?Ù`ÕÖŠ"Aîšeì‹Èñ&ûÍïãd·ˆ|=—Aô·V@GÚДºT¥é$oƒ–¹¤¢º¤´·D‘¦ïñk[y†ôf' ÕÅo0ÒÈ´l‡ñ¬4=³g~¼jhÛÔ#SEé×É6GY2‡dÀ†ršU¿˜(OóTU«Ÿ8Ð^Ì@ð0‡Ùê¾±b˜$¤ÎÑ®ã;V÷šX@W†Ù ð@BǾGš­ê7[‡ W»®¹ü´¨Ï{.G›†*çi3àþVòö}(’þõ@¶å´Ó›Ò…¬ö©êC­ða<)SdŒ‚$y_i\RñÄoÃê¥ÃÆs9ËB^ÝÄ<ú©©ÖwûiÎE|މõ›Þóíwÿ}[Õ¨ Š'ëFA]ù‰Þ Ì 1/ZÌ®¹±”‘6B%æð(ñö5mè@õ†è€Álj7ŸÞÉ%&TÄxÕq4Ç%ƒž°œ1pš¼aüîßâÿVî Qî1ÛÙ™63¯òþggû~‡¿]÷Û|÷é)Ï4B™ü[y³à%ž ¯| ëýúçW‰|Æý€߯ÅNã"b7—’õë y—dÞ§—À+ÚuêßʯÊËô9ǯ9JãBàUéPž‹Cs†¿êf|/AòÝÇ£tQ¹VeÎÀo<² 劊• Rù´0ÂG©g?q* €)ø€Dãtu¹ÖÑ¢ ³éF3žæ  §Õ¸áÞEßwO5Çb ‚ŸläS²a;ç3ÌN!f|§5VîAÍ7R×—Ÿe¥õÛ9êNØÅp¸lPËÔ¨ã NÓh‰î¢èb|­úkõô*úiê^>Mà³½&ñª²cã›k};" ŒÝû"=¨U#ðq;£ä]užª¥WÓ»jϨG` »€äSìçxÃ6;~ÔsÔ(³‰ÌV•mN9žÓÂÎ3´{kê!ìR˳O$§8ð ÀCÊÌ×NUU¥‡\ÊÅ´•Š2†1L£°rño‡ÂzUbä?S`™rB¸ecØÂ9Lµ4ÃKUŠ]éo¿0’ÜÉ@‹¯8üö%;'=T%d+Æ“PhˆG¦ñ$X@KæZGãxÚ˜®%D8¿úAõ€\ušzÚ¡;T'øØ,wLz¾¿cœö…:Q³¿‡¸_yG»h½`‰Ó°3,f§— [ri;)Pªf$$ÂB6 r¯«×©ê4ÑoS-ÑdÆ/¼.¶Z²£sÐä¾oÏ^û÷œÈÎgoH†œAÃ>¹àÑUÆ…3 ƒöõVõ‰zwXªòí·É0  ÿι¼)Nú/ÍYRΖÏ^ÙÇ~µÇ8 í“*—\~ˆF¾ø4?>å³jm°ÔfºhxÄ#Izb8ÿ¦Z|ù«Æ\1ôÅÿ>0y·UÛkÖiˆ:¤Ôg…ˆ‡™ôx‚16Ö–̦cTÅ%ƒÔ-ò?yŒT?É#JGçN‘ næ|*ТӅïÍÞ5‚qœóC|ÊÃJ|€GBµâŽê}`³éNIp ìú¬e´Š¦Má¶0RRíy÷Ì/ i.§F{þ–1ÌÄVó[ù3š5ìRRØÍ’E Õ|‰ª)*‹òT³_m3>¶ùÿò¯Zÿc“Pþ¯üØÚg„i]G¡xU˜Àdé–_¡=V㜆j$Tó$ié*Ý~öfò}É3¶¹¹»þÜÙ67üÕK –õ‡·ž×E¯SÃ-©™É·¯¾1w{ˆ-Q¢‚/ãÙ'û´ÝÆ~m·‘«í6rµ=’«öHAàÕƒ[Ù臵jÜ]×Bþ×I$S¥Iy2I—ŠZ¦T82ÛÖ~ð´rT¤­`°¶ÀßÕØf¿©eõ÷*> »ö Óx†Œ§Z|æÕ÷ ü×#¦½Ьí 4J·Èx™~`0ÖÌ9 ñ¡V§È‹tTõåzü W{y:ê.¹ØÍ<¦O¼pö´º$'ªÖÛäF)*ty•”‰¾ë×-áC·¡| —‹$0ÒÒˆIzfCI@óN5B7'+§ôrŸî@¸uâO#b4FÒ’»¹ h¶¢á¥1þ}_|?ó›èLNxHnÁO¢ä¡ãS3ÕFyÝN²u 1­ŠfÉŸ}ÊéåÚz*D{vœõ3‰Š9…ÓOëœã²Ú(ª— úæä/Óëürì^#âíß"Ü¡ß>ãeá ÿ•dþ…:Ä!þ u;œÈœ˜Ã´6/q1äYªÝ&A5ÔgÉYäõ;lñy¾J’ƒ*’¥ö8Ó¹Ž[ÉBO«0~Öeï«÷¶Å4B…F©Ð¢¬„‡~†Xû>œfÌ (Ñ®QU¥¿Rð ñò¬RŒUÏÈ žç&ÐôŒÞo|°%‚äøÓ‚H`Ÿ¨8×—;”i5Y.)¿2NPOV ˆ·ÀÈÈr0xúA“@=|NX/wh> Ž@̰¶¤SLëö°ƒÝìa7»ÙÍN¶aFEjј–dZ‹¸q7úÿÈîÓ}÷ÐÓ]ŠÒUÆkdð%T!ð9‹T+yYÎP!òGÐÐÆÔu^­NžÄ@÷6°’ߨÌ.’B%ÊSŽLÊ‘I&Ù$B†çÎ3n8øà©o‚£NÅ]BÄLNðô‚ï%ïÊ õû•W*ÓB}$o*€á_qʼm›‡%JIT£ü±¤J#›ôq©•bYh Aõ?c”ª Ÿ2‘V˜*WÙÂòxˆéÜÂ$à©^÷éCC>ºùÂ5'“ÐŒƒaqq6杖#¼¾·úÐ8—ƒ ¦«šr§Šã^>îã%4ýöž<’) ü?kÞ`¨/¥»k&? ÖÄF$»¯Fy(`w˜ÀˆOµwtØJ  «TÞlòµh‚…4dº£LÊ .àéŠ=:âa,÷šø'K¹Ÿ÷ŠÐ5šÑ‹hB«›øŸÞã<>óñ{ ~‡-r†¬Ð QÞ£…‚xÞ§Ÿ³Kõf´áòP(Ô¨º7]TËö3—9|"rÝ-k¹‰,´ôÄ{g^>idý%öÆ?öúõ½´dàº4”>Zuð¦å¤[K=ºœÆ'!ë¾Dwþ9æ ÷åŽínJKKedéb’y8À&uÌu,×ÁõÚeF£§‹41{!ÔT<@ íå6ó$t¸à«z¦„„ÁU‰ÛwÇî¬xà&éº1‡Ç{Î.¬és¦ºÐ®»hI’LP PM €™lZv­’\¨\áÏ’!MZp³ìu,Û™†É. |v¸Û‘îZ©"ìa·ÛoBÍ8GüÂ… ÕŸºAœ¸†Ø®@§7ï·s‰âì qx¦þ1‡~¥_3…XÇ%´cv‘®ƒ••SHb ¿Ë}’öÖÈÙüàÉ=gÑ’nvJ¡Í ú•¾”AI`&xš©ö±3Œ÷¬ým›<îÏîtÒæJ"`p¥Ú*·)Ó€„Ô;ÛX‹ÝYÀT’#%ÓfÓ/ãX©Â$ãcùÊxUƒ5ô  °q“ûÇ®ŽH­š#efIA³ ©õùõ'ðp o©¶òˆñ¹1ßxNΖÿ(€AÔ6ns¥Ôº³‰´(qŸ#5éÈrÚƒÉ4ãí#^h0žZÜF ¥W|´þ¡ŒéyÎupÀDf‡m™P®ââÿ4ïð½hÃŒÀŒ‡mûO+xÒÆ1óÚ GlháÛqn9-ôî0×Î;/ä «ªÖ ›¶úMç9ÁýQÜΩX›ÐG·Löžú)0ÕÊô‰r¢T¦:5¨D²ÉRR^¥éZ"úaáç {½ÚNÉQ;d+³Mlâï"ß÷IFùWO~q~|P@yâ‡È£€|ø,àß!’Í|ÁhkA—7äâ"¤l3ãg ÆÉ«—;å.ž!<$Žq—Ån÷ÌuÇkû¬} »o¥ MG¦0–rF‚Fò …n~±p¨2$Mà Ú©àNãž°Ñš%ý•\$³T¡Ôd«‚,¶Çš"Ÿ<û“O…ÖŒÇHß’jt¥!ÕL‡'eÅ zä9ׇÿ{­…0ˆ×#ZÁK©Œ¾ý±?¬­ È#ߤÏ-£ªÜøç‡\³Ÿ&Lœ¸0ðQèe¶ïϯ<üôàóOjÌ×”λaÞßø¬õOÞƒÕ{·ÍÌJL77@V¶•Kæž¹?L¹’ëZÒ—I€M\Ê¢cÑ,&1ÜR=ÓÁ©âù¸” ²Žö&»¶s3¯“ŽéáNî@ò¾{løÍÛkȰݼ×mÊÿŽÖº[FšlS‰!'Ýhm ßÓ¸r ëlJʳ¸Iÿ>|øOìæÔ Ïþ&îÍ nCȨbœcŒ15æ¿ù1ÇŒ:$«÷‡ë3 †Û»ÙD•òß=•a e0¹˜ÞœCGÚ,)ñÈ×""9ÒÇñŽÏvë #ÙÐ¥†óØ*£³fp RW>±Î(øóÓÞT¢<™¤‘L¢•o¯—¼ i$…"¤ýîå?"ôþ…yTDDf ‚Üq¼þgLJ†ÈÖï³D¤àPJ? =ÌDÓ©F2H&o,Ðt¤–¼eâöäÝrc¢¥ÅÇ·÷J‘¹NTؼ=/""V1˜A àbúЃ®´§%©³c†È3a×ü."Oþþô§Ÿ™Õ†fÔÿí.‘]Ò4ìš3e›I? ¹ŒKéÏ…ôæœÇnØÿëazà‰PëU\˜\à+ÉŠñé"ëD$ˆ%u$ŸöÖ‹¿.å‹õìóe¿ˆˆä¯½¨>•¨@9ÒI%™Ëv?¾xTªðL‘å6å\k„OÖ*[-ì/""ëærr1çshkaIe‘Nñ±íÃ1z•Rß9pÀCfÕF°E}¢¦ªÑª—j’‹–@#u¾«S_¨íª¿Cb^ÂdÓH›9qU„ÐñoSè;iÏûö¡kåªÃŒvõ—úUµvMmSõ¥zI*H¸I߃«Øx«õîŸãê&9–»vbêö<0ßl;k¦Ô)Æíþ¥ ÀX|\…&oÞ„›› ¡»ÀíC¦Š!.Xlfmá%nã:Æ0‰ÉȈŸüÀ‹AWXúoƒ—Çù†‹åWqŸüVX€^C¡¼\Rf£rz˜§Ú@º½’· Ê‘ê:¿%¯ò9•€=[/›|Âó¯}(¥+xŒ›¹Ž[yÓLΈŸüÀ«—ćà¹ËÁBG¤=3ðÀlz„AÓ]ûŠVÌ:†ë1œŽí†Ž¥Íá,vqu_z­F²]5,nÔ8Ž…±?x<Üc1-ŨÜ«©:ÛúímVµš¼Ðñx9Þ9†‘òØ'@çUkße€çÔ´ãÆœ·’ËNçE4àËO†|儌vT(W\ÀX(à"ÖØÇZËCG@ti6 €Ó¤»\ýÂe–yŽ–,4½Ú¸/ßmPõL ôÝ’ `#zqç_à üª^“êª+RtjnïáöÕÇbf Ò á?<É£ÜNOª1?à½dûà vÞåšÜgMÊœeQc½)@«*‘«Œ½™°Ý:ó,#Ë ŒŒ4-[ô¼©POƒu.ð÷ÓXÎ ðçš^“Ì ¨ ]3/»IÓamhÅhäI&3€ê<ˆx/|ùa{üœb,b…d3›‘Ì« IDATxä›Jör ·åòÜLgž…~Ï9äÉm—Ü‚ïuÜEF›{h_Ú)2½&×Êxë§a>»\!‡¾û±/]éyÇ¡yfþBP_¼‘yÇ…)#ÁèI]ÌðéÏËÎ|Û%*‚ù$ÇÕ§/Y< ðo¾zjåmŠqÏ,õŠš%YaÇ×Ñ…{1€”.Î}§-^WÜüpB…Æõ·ÙU«mŒ;Šý&Éê%tÿ`Ѐ},jÕ±„„Ç%6c€\*íé hϬoù.þÍPȼ!Sñ­¤ÞúMßýs|¨ã*,ýšÝ@§Ö‘!)¼ÕAnE_²ÂtHAÞlê­3]‡›°cÝŒgkL^²/heÞÝ=.Þåìͨr¸™K(âGür¦c;ª àˆ$2ž%séaê‘x„™²—¹FyIVÈÿÆ×òièZ»ÑbD¢Ë¹€ ûÒz8p·Ž»ÈnŒƒFÛóy[”gvS§Z§|Á+@|ÒË7$ë!8K4ˆ °°ð–k¦¼ߦs9ÃÊ÷«òœâxÅýü%Ûø›j»ìa'ûÔ^#_;È~¿¡X¨Xë;ÍŸ¢'o¤©t2É”JZy©De*“¡‚7ýK.¢Ðú³<ó¨l^Ûs†ýn1áwˆ 9n!¬idÁ{îb!¯Qoµ>o,úW‡yhø¬m—”+ÛþDlM›Á`XikL^žWžèѱ#níÔò kÔ\9ŸkE,  •ë[.)Ÿý ½Ö°ŸplcÐ àJ eØC;£ºV «X«^¡ƒñ4¬æ¨¿ìûk¿gù½µïøJÑÄö1ÁÔmžåÝ™þ½BP`´R;dºóHjD8ƒ.ý^s;,€¿Ïž`W^X‚¦IKØÎP+–œn´W™*G¾c·‚w¸žg€š×±Ä±‚Œh$é Û¸˜CG4|iRƒr’¤øsµ¿ØbïÒʸƒ­<³édãCÔ¡#ã¸C°¯Û]_“šZª‘¨2öie×QÕWŒáIàÌ»}·æ@Ë5¬­ÌJTá”,^Æ xÕ»Kû¨o?ÑBo†èL *7üøÒŽ3¢@žpaõpZn¡cæxk5b6Ý­ ˜\u>OÈ~eëYÇþp8-@š<Ä¡×$J-jS›Ôç^¶[Gã™M gû…OoÎñðFÊ*yÙð7WÙKçÚÅäÞ•ÕgL’ ÊrüÚ2‹ÖèI§=¾fr£gíLÔ©¹#x?àaû±×»”‰â´ ¼.›Õ|¨ÚÊ÷À" !µqêêËÆpG1´bö¾)|Ï—´÷¿®Õ´´î¹þÁzð ƒS³Ë¦3…B»sËøýžÔf® ¢Ù &.þŽc¿ “JIZ|@`x¤šj"A #1-ü¥ªêåÎ…åfšµÝš[7¸”;A02j³V²æ-r—– ò¸×˜¤Ás ¦3 ‰·Ä…ßZ?&Ãt‹ ÷Œ°…[T[Púr>g¨jJ™+YÈe¹Ìç}–FWäÍ€¸p°ªÉj³¼•~ÈœE;ÅÆœØ.‹˜Ç,v†îž¢'}‰«ôÖ5Í·*xœÍ(éòOñ0“løÂÜ/€»Š8¿§ê`,ÒöpóñpÆÓV^h×¹]Ò1<9V—”¥­ß¼mæPÿ>èÌ {î7Ñ[]£RïªÕþ˜I¸Cjµš§WcÔ¹j± È“tå^ùø{Cì ÃA¡Qâö…xL˜¤±ì°Ž¤øN¡ñ5OÊG¨ÏèÄl@ÓÞ¾n\˜öÄE3úBoXdpGÌnœ¬î>áO9€ôªê¨ÄÒÅÂ)•…?›b¼¯Õ´ïtžþ˜ð#[€ä!å*o]ÀIhsèuz¸Ó©‚Þ•ÄC]‡K*)¶íŒöžÊ8*çƒÆŸŒä™ê’—èCo™¬e· ܯõ´äë«ÛºqÁÍBÜ2ý¨oÙhÑ[&“d‹zU TÕC†>…Nê.õƒZÃhIޏ»sVÄÙšd%9¸›—ÁòüªP=T¹ë*ª Ô3j‹zJªfå"hпNª«ÿÇkÿ)tƒí\nïÈÜÍ‚AÙf|c¼-ÏÈ£LãYyS¾”?E€ÉöÛ,´DË5㮫ã þðL7ub†–‘!¿}2ÜðÃ¥ÜrZ¢4•3¤³Ñ^j‰Š2YÒ†NF'£¥¤D9C—ÚÒA:¤±Ä‡œs—~cü“ïn…ë"€r\„Æ(Ágv~Ÿkc ¿Ò]-¡QXÒÏr‚Õµi‚kŸÝ¾<Ž"C†OBu1Ôó–i¾]@õÌ &FÛé˜ÁësU×úk&Ë[äy­ýßâ¬äµµÉƒíó€z-Z¦ÝE&EžZr­â³* ²•IñÛ€¤òZ™Ýª/ømq ¸ªÀ¯›]‘n-r´úÈnUéEžÓP=ªÖ1J<‘ôŒˆ­†jFdd /«vEÎkרÕjd‘+3S¸ôÇÎ ™¡9c%±RF0|\f9=ZÉÍÆY’aTÖ:j—¨kÔnàj5@©j¨9S>§žÝ›˜xþ;¡{õë±VµcNÁaà?wÉ÷ãn媀ė«e‘ìS«ÔBõ•¶X­W{Ô[ÒUÜâdœü$»Õ,ÐhËÕ^µBÆJ‚ëœsä}ÉaúF}¥}£~QûÕf“×pnà±ç] .Q>KdøCŠõJDdHwC!cla÷®Ùº0ø]æó;ÔU‹Õ~Ï1L úkÆ8vZpn\y\EFa+3Ælq2ÊõäÛŒæ8?·‡9)ŸVî3†»âÍ^5˜Ak•!ë€ÌdÛ$2Žµï °Ò7ëK¨vkj®{Cq$Z»\xµ{Ö‡ 3æ é··weô™å‚9R•E¶-0 c†ÃM« q|f/˜Ï懔Þß‚lëÇ>Ë!Õ0dÕ×ÓÌìÄ;öéð† €‚ƒÕè oòG a‚¼«*ÑÐVTÓÔ÷Ò"dT›åt´šò)¯«#KÒNáIõ"Þ"VÝ#Z÷päJyÃvº,4uéfçŒsáUOÑÔæ«½9ôAõ¥š¨ÖªàÚÌ* ¹â+w6N±B¡™‚1YûÅqIHÒ×þݽ_¹pYÌÓêtWp3~j¾zNtkºjðST3åD2o¡V?0u™.Ÿ¨ó•mÈK'5]-²ªÌ/~_9ö{;áаD†)( -qaþ<â÷’Û>å›ébï>7†È9Ò^šJm_u#I¨…ÅxPŸªó$R(ÌÔûŽ^>4d'2íøg•kí¡ÐòüCo©äzîfY…ó³%ì­¶+÷ëBz|^Ù¨ŠY¼¨RÑåôÛ÷15Cè͈¢A) ßK¼‹ÙjhkÖ@%܈ÛóØ tíª¸¤;BÞå [ìÀ4Étï!÷\w=)²CªàÀ×986Z²(kúÁÈ: òâÃ6vò¸…n\O€§‹­IÜ­Žf°[ªï”»Þ \ÔË3ß\$+èvT³z…šió ð¶“·¬f Ó[¿z]ý/µ#™¦óH1î²>ì*4ýì®ôøL· S±ØâN+¶¸ðãÇŸX¾e:àam¢¼Ôp51 yK“ˆç4UoZ=šÂ°(wi§ÞE¦³(_ÑµЦ ñQh}|Ç'ô-Í;˜h/ùÛ­,0êÉ(í%õ™Z¢~Q<›µ|¥É5ÅzZ"³éa²õüSn™ÓÝ•Uî9þ"CoK `N ŠøÌŠRÅõ1]“‰!G+Gœ³ êl·,@‰m®§ÙN„p´¤b4Sc^r4Ÿ?5€Z@¡Ç%.t4xûw§^lºf xȪ9ª¶Í©Í=š3±]æ~™PÈN N†é©Io8È;ÆÞÍŽè…C`èTà—Ñ4ÿÎ$Íñqá ñ⪠l&ºº3Tn=êqŽcšš!ÁRßü¨k4Ï.¹Ëx[eõ“.Ö(âÛ™€7¬‰µº³ò]+™šoiÄRà®+ò4ÍH&AŠB@YOUÚ¯šïÚ‰0tÎãÃ:¤LrôÅU…'ài]Ä ýK¥ ô¡UÔsNWg dËè"îÒAužt¯Ó=†aÛatIŽB¾’h·à;íÍ$/ÓI½VÎS;ÂzsuŠI|^5S»0Mà1@Ó{=0±¡Ã-¥G _–dSF}Xj³„O𝶏>W*€^!G×DyÛ ̦µ¥c9†Šs~Ìý0˜¡ëOÔ_.êyY™´j.½TGC›¹Ç·'(0ÆûÍè“Ypvå™®§¨ÄjÁ½0ÒüN}z+P%ÿ`H¥´Óá=«×M¥ºC`l[ïÚn) @槇,€éô@ [»ugZOÖZÀ‡Q9Wmyì‡y¨úÀB#†EDL¶õ µc›Ô©nQ×ÿ—N©o;¤¼.[gÚA¬”ÌùdÀúQ`¯”€oöB™i|#¿K…ʧårPùµü%+džæy>GÍÅÑì—BY hL—«Žù)Ї£²½<¾ªTÃc•À†3ÜØ¶Ådà Îe?Š–Ü̇|i c]f ÖAÕSéxl²N¢²j¡z©‘j€u‹Kø…Ǹ˜LàCRTí:÷²„â%¾»KÊ3ð›@€ ‡¹c–ü³E™þ•Ó%3б;ø>ÁDZ˜¸D0J0GJ²™p¿7Xê+€ã}"±ô¦1!½8Þ¢mXü f \÷Ãq.mñxC7§Àú€#±DP_¥ üDº7 ”+i ñc\,þ•ÐÌÊÝYNS­¥q¾t7jÈ¥ÊÜ#ÑÄrê7Ⲛ!Þc…ìÿ-˜X[¨õ£¢< xìd—XihÞ Á wšh­¦m@jªSø5î[,DÓ^È*Ge`õGÃRéf´ö–‡6Ö†K«ÊÒÉèK'©,Ó”I‘§,³Þ?h“ênzÙ”M!µâNû¢±hª«å’~…½Ùe´GÁdZ¬§4SçFåËÔ Ö„ºuTÌ•­XÎ@Îã5¶²œÿÒ“,ÕWjù”Ñ–§ä5àzÞfßñ¶3ˆ .ÙŸoåìÿý‹ga`³i›’ï; ;Þ«à@‘¯»¢‹û.˜(Ó8BÞ΀wå˜òÙ¤Äj%…ÙTƒOítÚT™dõ1EK {f;¹/f¬:E½O•°'ìãu/yöô°Œí¸ÕdTÃÎáiåiçøkùœŸà#qm拦-ÖR5ôphµk15«üL&ßȲ,~Ô>PŸjÁ0ý=̼ OŒo›šŠ™³šYÞ£¼j˜Åúr.g9…›Çô6½óI #-#Ø“GZ%Vƒ-õd”Àô/ðÞz‡ÀÀÀeÅËîÑt˜jÃiT µ÷Y¨LëwSxö³ຓ^âÀ`m”qºŒb„qžê%°K ÃFÕkä_@C¹©Ø”{EÔo~âl€O  ’¹šŸU¼Ä¥Tàc;«pÜažÒÒ‚ ô1tÚ1ž…<Á&À¯9ÜjžØ½ÿ±gI™½ º¬¡ŠÎýñó-Ýh£µ%ÀÂÃpv³r¶«SxAmʶ, í$ÛÀÆ%¿3is¥}óǤª ¸º‡LÏ©2O%Äðù•ÕìDT€UÜl.á»Zd8B˜á{Š•X…»€±z”ÓþÒ7zœŸ}Êdgî£zŠI,#Mƒè£¥þì*°ˆÑÖ~Ý¡Ë~¿iÙïÞ”ç õóOn)7—["ý5 «î¿ÚC« zg)‘œÙ>ç‚ð"U¥»VÀŸ*Á(8ðÕ^{ÛWuý‘IÞ ø‚Gx÷¼Ètt`ñǯ·éCÛ³ÐÅ]QáÏ‹á˜U"ï¨N|-ÁÅš+OÈéìR0´ØB zDÝ“g‹éØÔ]¨dzLbaQp[‡û}¿ú>GN?ì³n·~~Ê Nï õŸ‰µä s-jų1޽¨,P(o~ÿ:½ÁU<‡ð2·Kµ¨/ó²lWð†š•¬•¹Àïj–ô‹z—µ2Ðä ÉÙò¹*0œ…{%baH/ÓÒ×Ú1†ù¯Ð^ÝŸäwe:ÒÚr —«Xo¤~ªú_HÀ\ÈÙ$f¿4¢Å´»oÐJ1°ZzØû%*7ÚEa.Q|ˆ LŽlÓ³CeéæRla[ü­Û¤©Ö0“G™Ì"Ö°Ÿ8êr¿­±ï£K(OÕ&KF6{Ĺ8g®»hÊŸÀO@ÕRV(xš«+ºÿw5 ½W¹€h¨`Æ0´ ÀÈÈ ô©eJõ.°ÀŒ„Îo†¹'¶•#Ü%\00¾úWj}ØÈ@ÇžD]éÇ>RhÅéó\±°Û›!#E­Øeâ¥M j/-Žà[Õ™ŠÒ”,åc“¬"ߺ÷…1 Ê4ÕXVE|W«o:†Gn_ÄjÅ(ÿ0ð+CÆ%OÑ’áFÖY|ŸžjÏT]ä+p#gR Xº`ÉÏɺfèþ%¿ãÅÀk+Òº#í§«¾x¼ËfC¾Ezƒv æe¨>Ì“ìˆýZn0Ía.–Uf„3v3pµª""Þe«\D‚4~û5Ôü¶Å…Ï‘UBoIáC:B>ýlˆé3Œ'\êKCõûØïÏГKLŸ¿^}*ï…Ps?‘L³c?œº¶º/q|Ó¦´ÖFØxZsçò¿èBÿÝq/‚Z¨ Ö *+hÛ£Qì˜Mó¿ßìzî‰Ãµø$º™X„@>í3þ GÓ®_mïòrP'½¯p›7»[Ô.)¯Ê ËXÂi4<£Ý ßïBCk] {g‰L-ð¿ÃHî©IgéqØé€­ž5¶n°UpAùÖȶöîÚçÀÁ½¯¼qÍâ#µÆ¢ÙõÌÐ1[*íäë ¶«í¸õáêÒ0&«¨ «¢öMLq©;¶ûÕl|¶ ~ƒUãy…z$éúùZ2¼eå«AãÔ#2£¦ÐØË¥,ÀK›Î_¬¼þ[‹ûyl~èqì$XL§ÅB\`üõÀÄËiÉsÆÁ“7ÉÍr6û[ ªÖò†áF.™ÒJ–ª€¤ïÊx 7Ë•'¥?)ˆ· HþÊ!,‚U­þ0èÁpGI6óéyô³ö9€–ÌÑÂDiTÕ“éoÈm’sç=C8øùz&š~˘°Ì—ãÉäÖ*¡ç˜ê…¡ *°ÿ kÿ†Ð€w±DFÿœ”ñýj7à÷»×?¶úé•Ós7ÁÅÔtœñ%# sÿY=œA÷C¿ÃÞß—XKö Àã½ç,“1U˄ݰp©¨A°€m+àñ6J6ûСäXõ¥µ‚囷س*ÈÔ¯É2Ç›¶¡+°ç·E¯}ýÆœï¼¯ÂØk9… ¡›5Ó¨£9íxŒßM«Q4CÔ\Õ<¡©"±¥euíT½5¬çê€ÕloÒ|¸ÖN]neì}k9¨Æ\uYu‡;-øqмb8¥Šoa(©ó£o™Þº2µùø[]¥FË©4!Sy$Om•¥¬yÁ j J—3¨G¢öÊï,²Å‰å¢P0EšÑJU"^ Õ.YÍ÷¶aZ›,`Ó¯ïlÃnå4Jng^ik†º÷s¡½§rãS-3†ÏØ,äÊ£‡ÜŠêvÖT†Ò„ìvSÛŽý>¸O›²Ú(i·TŠU—²Çˆë9BÛæŠfìÌÅigPom¥ ³ófÅ·$@â¬-ÝåázW\`5¹¸àÚ§vŽü: 4ö¯K;+ 0¾£'uT+Y¼ÉC”§c/ÞÅ@¯Q5˜T›i9ãÊÛ½ S×ä¢ni^^ÃTÉú¡€e ‹ŠÀm—×Ô¸þ.M‡G¬Ü@ ÀóÏŽ[ãØˆÔTèZ;aîÌ´(ƒT.FsZTF]û=#ÙˆÆHÃåÔŒTþÛ¦ö_ì½òèoWpM”êG¼VTóĬòzÓ¹¸ø©×~ÅÄëùñˆÎ½RM—E!ä\ÈÍÌ_=vE„Q‘˜zdÃ[å­<©­%daüer5`ÃnçRŒò{ñĆíúþŹ×&TΜÖôDª1M6>gïø¥è语JckSŽ%–i9Ç Æ‘RáÁÖã¾GÏÈ F0¬ü?+s²— š–{oêŠî„æèKÈ‘š³ÙÍÒ%}ê=žDø„qnå‚K€}kÇýD¼u§áú宆 ßz+„áÑ`÷ñ‚|OúQ?Ꜵ)âúÖE|·UÞd9u¸JU>ì{$DaÉU.)wjvÌ*¥CÛ)ÓFÛѰv2æ(T«,õ˜ °&g iBVÕ™}Îy+ÄB µ‘ŽyÍk1XB@å7Qè¼ 7Mº­¡9Ê+þ€$k_Êo`€5àOa÷BCO-U­Ñʶ—ö6 v9Tã¤a‘©FÑÀh©àwcòÎÛÿC®ÉÔš$¿woB&üDÜYÉW|ö¶c‹%'p§/äŸá¨b >ŠCÇØA|OêÉõŠºM5f´DÛ«¯¦JF-rJÔé™,u«^Tw«zR?¸œ4WðWD,&¶@‹ûÉ‚7ìˆTмzD‚×á*µö¸‡ýÖv¹]{öɶÞ?4#ò„@ƒD˜­¸æ°ÞÚÈ}ˆq¥¦Ð¸Fõ—ÀÈ<.óÕÅ*楽zT­Zö-jË Q§©`جœ¨¾Ñ¦Ùbg€ ÕÃÔð»€Sj:D‚¸BÜ%´)«d3ß´é_¥“]gК/¨s§‹¹'x…#ìC{uQ„3Mßf³òÓ]‡\Òuß9Áøk‰ˆ¤_ħœ ý›ÝÇGX˜ÉÛãÞó`{ž¡±øÀ×€'ñ®ÆÖÁƒç¹v»Õoµ,´á?ø¨Ñ²O6zbFÐ^ 䯑M0ŠQ1îëäñÂ3ÖÑA¦›Ëò޽ɜ՚ Ÿß’^6s{i€õä* ÷ íÙwÁüDÕ±VØ[¢ëù3ŒïËÅ@rüê15@Œ(œ´y4QBZ:gܪòTÀ«¦fÍä©èÌž=T€b|NdäÔò ƒ]Œ¶=Y„å­=ic(¯â^ÀãØÇ!êbˆ§+V >±ìÖ`­g ƒd´\ñ5¨×E³ ïe»«²q,ûeª¥]~ ¤¥DXÔRr²J{–Ó Ë`;´½ÿs²J€¢~¢èÂÛèa1ÙÍïlV½ª—ä¹y¿ A¥%ba,µkäî9h”ˆ¸ D·˜êâ=æA[ZZnØŸÕ3¢ ä|–ñå&=Ø·ÞÅù›‚#aºÛ‹4ýÖsÑR*#2ÁPz ‡ÀÈLGÕrxËzŸËÀ"GÈ{ëŸ(HÒÏn{èÅŸ@M–ðu§žÔV¼ÅïNQQ@ +Á‰“ÀDŸ±:E¨Ec.WáwÑÙl55 U4Šr†QŽ i¡jÒ¯EÒÂÎ(úÀÆ-RÅCÉ`#¤^gâÏFn„1øž¦Þ PÙõ?Ö§œ~z†KŒÙÛk1YPBFÐÓÔ>ÚY“p{ÔKO³€À.*bëÎ;ðˆÛ³ØcâÇÇX„ŸÄVhÈ@¾&¶r–Œø\ùLÏ(Nµ,„}|J/c¼DïN Õ=—“¸â<k?µ±1˜;µ% 2¾v Œí[¢0úXØ™î\<E `ö»Ã-sj«\¥^BØK/~³_yìœ,¼ûþæI™M—'sÙ´ìZ)!)3’Àd™à ·6Ψ/YQ“ROA°¶)°q*ɳlTå†p€Þ¬ê²€SÔRk ® ÿÄ9¶ºqQ@ùV‚;9¡gÄ!ú«Èœ)ÛÃ(l»ähF£(®°›ÂŽª§Š¤çÍžN°j$»Rõ IDATK›U±É³ moz´!°ÉN¦­cpJÚ®MAa&Ž—S}-f÷$:µk‚z°ºýÎÕ««|Öà3(Í€µ@f ZE*Ë7'y—]ßðTÈçB5øœ€‰"›Í¹À¶ïßͱcXâÀ` ‹|ÛÎð‡”¾â[ ‰KØB~Cøi@–q2QLÔÞýjºÅæ¶# ¡> ·E#¹¦Ð•ß@¹Uî’ÖØ}\ä„nˆxôÀo¼°¶«9†í³ɂGmœÚ©$ó3n´w€¿€¶í\oêŒ:XRaÍÔzRôà-u’´ÆTTq `nH½UVçHèRÖÀæã²#œ ¢$jº§ð0ÀLÎrèR㌕·„2€˜£(ýÇ>¶zœVÄ5=U=ÐôÛϱ€å¼.„œ’²18°tÞ_Ä||~‘?­7N¢ð»s'k\Ê!ß‹RäÞþ×b¬¿Í‚r,á4öW¨ib²¤žìÊ7ÿbê¦ÍÐÀªIYaYˆýP¦s8§G\r0èTŽj9Fåmà++"MZ£oÂÀç[—]×ðT(dŸY|BM`¾ñ00ç#U,àÆ ˆ‹|ëSàÂz6‚£·k.DFcò«5EŒïïÖϘ¢îRKÕ)ðŠòs¹¤I­‹ØçFÛCÏyüJ©¨Ò9Sr˜ @–,U“ÔD5Ó~^tŸTAD4¬x.¶®ûý Ç¥i= ÀNxîà?¿ÜØÃ}ÛŠ—е;dFŒ[”Ž`yÑ ç:+È-ò*3ø”[äB> PàrÄø­A ¡‚"–™Qw˜¹‰r™­G)¦ø§h%Wùö©å·M´1Û±E‰W-âR~›¿vç„ó”änßå~&ε|óñ™ë°/<À—Â,7]H1{$.$B (xø=#†˜n7+Ôzš`íóÝ‹ý@ùæí@¼¥çh[à,e†¡wñ:P¾Ø†T·ç¢¶C`$¥{¼Á„ÚË- ñŸ­¿›yû§^ÐðTð3„÷€$æX~ÿÛ¬³®òöŒ[a;¤‚â¢ÐáŒ*°,Œx Uÿð¯„!DÂCû¡ˆáÛãpœA’U¿ò÷¯¨ ÔÿÄ!&#ÎU-û·Yò‚C}©îÓ–i%4³ÆÎ§ò¢¾ËJ;YÂÙ." X¼4Š•s%T;>·ãc‹É‹ûªšÖû™®A "B…dJ•aÂõTÁ\‰}âVQXÄU¦—¾¨JŸúÕrìéʳ0q+q¼šŒà^€»¸Ù¦]žcœ^rÏ,³z¼£Í2̰e—Ã\wyDêy -ûÞa"Ãmcĸù¿€¾`Ä&õsŒCÒﺛ¾Â·7‡ b”)'®L¼ û&ÿ•¿s>…s¬ýøR&•Þ­®1¾£/y@Z=Àv㬶Öñµ¶ý'–žc­¤¤0:àmûÛªðÖìÌšÕFœzê9àg¨¹w¯[…n Œo­ÄÛÀª/s• wmîjxç).Ô4²èa˜¾8x‹yQöÙEˆ©ÿÇÝyÇGQ}ÿ}f7!„’Бދt•jT¤ªØQÄÞP± ¢~Q°]lQDE¥Ø *UŠ ¤÷é„–¶sž?fvvfwR6è󻾄°™¹sË9÷´ÏÇ^iW‹…¦8ÔYy¯KðàXRJD… "UW\t4VeÖ­¡ƒ«ÍÚh0QŠñû#j?ï²2_\v-´C(C޳’æ>û÷qdê> VEWžTô)ÉÏSbÓŽ;Y ²ÁÒµ pD&g;ÈGÔZþã8‘í5íR½u.Wß~¡L¦û¶m,’ö—,­aY7æxóŽBURÓì 0¾¦™¡{v­ž4Ž2£À•lEÃ[.±`n”åûÃosq÷_õu^ç›\Ìäv:÷»HÙ~Ò ËhÒ˜ÂÂh”ôÓ Ò×}~®³EþdûâáÆå 0ÓùTÁòÖ;ÄJ•XÎl[)Xlà™M‹ƒz¯ãÀ²7]L¥ ž“;˜ÜÇç–‹L/·?›d_k9±>ëQ!˜îŠ`¸Õ…é…­\úið`”!ŠfEŽ7ÛémrŽCÀšî0ÅYä_¡³þá`ö¡Ø»%L‰œ«¡4m ¦™¶ ¬H½QºÚÖž·Es6åBàï嫎»Ô…—¤² °ÀþWg)Rà;öpê| b…¨ÕêL¤‘Â0ÿÁd›îyVëÁ"l{Ûô[(¦ÈmQðïÖ裈àOíÔã…n]·BÝcxÖù̧_ê ¾B}*÷p2]`…€íyÚïF»bs€º­ŠÇ;Ä8¾(,|1n˾# §´í«\|ã;ÀÆå¢7œ³c-ÎÖ®³/4ìŒX0—‚×Âp9¦n8dAºßÑÇD9W¾å.ûÁÁÙ ç¬$Ù=²2î6ÛŸ·p=¶(Mà'€€Sñ´sÅóÊä>»ìí+AdþîÙñþ'~Íš¬½¥Ôf9uà:ÌüZÓ:bvÈêˆ1%l– zù ƒ¤½Õt•ÎÕRtº‚UqÞ*xlË8¦ê=×ôÞ+T"ºU ÀÛ‘npÊÇÝD€13=³m†­ ª _2˜b›Ü÷\)jße Pºœc]hó9 c¤0t 4¡­m`ï1vêH»S¥#4¼z¾^È×N·'Ë…,´“¼¯í8`_3‹MyZÛ«u€­)…îL Xà"i÷éxój_á>t¸ZåXwjpئ^„›8=ñ}èH(ñtSCÊÍÄUï æÀ56ÊЊ˜:¥>w~ºÆÿf „×äÔÎPÏ2àM§R¿ómú,‚Åæ‰|kS[}ÊÜâ”]ØŠ+#èQ›}ò;F0“gìO/õ<Ö:0(CXË›íº‹^àÌSÐö˜ìãv>àr}ùb¡î€æÔ–Îwò£BŒ K*Ë¥,²e>‚º{„ÕûÈy(ß !¶¾`5Ç4– äf`®ó˜ò9*ŒÙ@{½JjÊ!ÌQ»<ì[©ξõ‹FR¸•¥7p`÷;›ÂfØO±ŠeˆQþq`ešÄà–~ê¸lX_8³½»ˆ¯ÏˆGê·RÀë\ì“Öz—*ºpóÊ<­íiHñqX·1ÍaÝ^(í¨­P“d °WÿfŽŽð}ß1»º`òú‚ùäN+%*ò £·“ü†Žâ†BV¿©•Yž¬€­Ú“u¯ÿËÅ;ž'Iz4⺩¼OÝÚ \æ Yú\´*f².–íØøä‹‹r§Íè6^†f{eßä°OÎÎá]ÿÔµN†Ô=ÀуŸíŒ°/4Š}Qí®6 º*¤}°eê¹w\ÅH S¦:|Ó•å;.Ò“ïñêÄòN9Ç´dyYïLpRJ;yÞ»7/+/ó²ýI¼sý>(ünæ^NÙ™AçèÀDPQ]cEâóðeXöR¦­4Ü–…v²ª’š‹2—ù[\CˆôÔñ<¶ Âf1”^]WJš©F0Y¶5ïqD¶iMH1²•s,¦µ@kE ¶m'µÌ6>a¨_²;j„Ú½$ÓgE9r˜‚瘶P©cÕ˜ݫڥ¾ÿà b.èAŸ§â[ÿE…QzM`…Ñì|{í2ž‹rMª|Ï÷§ì›es—„î[‹¶Àž-?ì+dûâ>à9‡›þgÞUÈêâ½O,õô%d¨u„ÂÓÔαKë(ÞäÌä2êžkƒ‘Y*#Ë¥24æ@„о=uÐ[FR_†‘ŒãÅl‘rªKõˆSXö·qiÜE9`Ö쟳é óÆ€Rm¡i!»Úý;ï¬=¾J=­@_; ÎeWh@7ÀSï|·L5ö‹~ê±ärýÞÓ‰iàºÂç0ÓMªè÷w]tô\ Ø>u¿Å5Ž–îˆÑ¢9ð^Åý<ÉØ"3ÔË1YZ¸Xûó8ëþ”“vP_hnÌŠ@C6Ú®µ¤(B%mÄã=š&ÐD¬µnÙ#圫-ŸREÞׯ/‘iýûôÛˆiMàAàÔñþó#¬ 7.]ÌižC Bųb!‹K:N7{€£YâArÎãÛÄÈ%µ$Ù¨éŽMQRo5Çêlý[7êJ¦ëëz‰a]+¯êD]¨tƒ.Ô z¯–ÕpmÖYßÑŸuu­ÎÔ´·aÉ‘”¯Ú¤xaÙvë{îüó óÅ|ª‹´³yú`nýôv±w»›µš” ºè¨ÏäòYí¢~ú-P¬ôí5\Q Ÿ†Ø>Ÿ–þ Ô´ã*»äç˜l·Ãê°§ó? +óÙy.¿³zÎ…±¥ÏÒq pê7è@’%°ÄÀÑMÆFl²2ê¾ÝGR×õïrZWÞÕ‡ôJ½0Ð!p½>­£õÜ{ç*ÓËiÎB‘Ì4O]ÓzÝ*u8øk±SßM–Êp™lÇ®ÏÔÀ¸#J¦â°°«­ì·è.ÎlçŠú Ø9Ö{+°KEY…¥ wÄâì´¾{¶sÍNµ’^Ôkäy ¼Ø>´Ãäž·¡"0wöÁLˆÂ¯càP¨#™1=„Jð¯ºðE0bäk§ÇÈÂhzÉ0’£€ÿq;h„v‹Búˆ“ö]QX8{Õ±G‚†ÜÇRiXkÒ´1ËÍ”)uúÄÓ…/4ùÅC#ÚGÒ¸ÏSD–BÝÍ^R8"MÓ£OöKŸ¡µ}-qfi£´––ÒZZËxÎâ LÕfâu«YSc–8p Î<Vu}g)úkVêÈR/å‰0ètøÙXáéAK>âi+­u‘ÀtºÚ¿«áŠr”9è"[¢maXa~ Qbë>?‚@E½Åay÷‚¥§¹ }‚-Ž@Væ33!ŠmŽ~í^l¡ôéc19¦ñÞWœÌ¨pÎÀ|ïõY¾+à ƒxÁ|ψV‹ÜP~•öv'‡êP)eø^1ÙWtÖR'Ê &3RžQË0?4mX˜Î¡¬ŽàÎ÷ÏE,;K¯åaé’Ë;íÓ“ÿh ‡+ÔÖ²ÒõÎ'œÙ)Åú£”Èõ¢ŠŽ&ºƒ5@ãÆ.ËÂK[ëÂ8mKûZs±µ¡¥à@çYŒ°ªÈ@FzÿŸ"Nÿf„•sUˆC84t¾yºE´´WèD¨Óµ¸çéßÈ0ùJæÊFÙ™÷(jd£,âGo c™çÕt:£u¶¦8O :'»Gÿ™”¡6à‰[ä¤.BŸ› ìƒ"ª²¯l%UÏ2;Róó»*¶ÊÛ°œe¾‚ÇVbd¼ `%ñ‡ÜN–óî~âkQt seî—ÈøE`٢ũa+(à"dÓ z.çü´;&wÝ㽯a)µÞå±B«­ £If{ÏxF"@m—RE!N?tÈ=#Û j*g,Pº|ÄÉ/–¦]Øïä]47{:ýNÑ^NåòNö©ÈˆnÒmÔ‡´– È稬¯èV“¼Ø¬gIé¨cñ3P©¾Cªâe-Ž­SÊuÛò`'%›ò^o=E·Ù=|Ž¢À?DluÓÅ»¨a(c1Vˆ(æØ“?Áeövš.oêÍÚX‹ks¹Q†Ê7’š—U1)II” ò”Y¶AÞ{¥ƒœ%ÉÚFïÖwtž}»X½ÒU¢©.uá¶/BÜš“[nì©Cï@£#„È4溾YKšŸi:p­$)ìA¾ X«nuëXððEŠÜÐäVêCÅ`G µ*¤F%´£ëêT†F¼SU^æs?E¸£žˆN,éG¡4&k+\⪠ŠÃ~2¥Þ )2V¡¨©̇³Ò­ÿÂ`„`Ç£¬‚\9i `®•KdoŒŸHè@e_õ/q{2^Ž@ÌcIÀ¢ÙÓ÷Ùol:®:3 ÝsÌÒjS‚ω°,ŒÁÎ[ª§ì»ÔŽ÷äDI„ºø8½=ÍÊoªšnÔg)µ4§ÎÖ“È@Uä];'½›P§´ºØý6¹Ç\`4ÔGr5ìKìl’ ®•D=OÏ’‡uÛÈ^¨ˆ¶ãýØ¥¡kinéUêêQ®œKÝÞâ xû<çB©Û^©7 †ÐåjÿlßÂâêÉIwÍÔÅV #ã¦|ï Uªk“"icÝ\YCþÞèäbèˆ>§5hD#Ñ€:îÀnpÑÎtÉ$U¶¸ÉnÝÈ߬f5«9ršuÑ ÈʵÉI Ö…‘ÛS´óý‰'Ÿ~¤é·ð›™è¹d…¼¥O8=ºg4S†r ôâc`’¾(€M‡tLÖh)vó¹AwrB¢Õã¾Ì0³¨Q^+‹%NËÙi¤%íq³ˆ{jY´ú€ëûëô­ˆ{¾G{àøá[¿Å2p9êÜ勱à  Ò.ÍÂ߯~ƒdWÀ;þàÈÕ–ÀÞ}®ÕÎí‘ïæ¥t%}‘Óš5ˆäæYErëÉw3Åpp-‹èÙ†%ô{™_%urT¶ð¶U»ª‹8iqG U%<4¼Îi=´N®§ºNÔOSYÁ9Ô­ëI´óF1€˜Õcs÷ÍúsÒþ(r~®b*ð6j¼ ͽJײž­ìÔ}rDŽjšbf¼$KI-GeªS‡³iîp­«†ÐHÙ~ß\ÂÃÝÑB¸…×Åì‘’¹Ìߢ#¯DÛdÚ@[J šÓ,[Ƹü8ªJUÛjSvê_ú—,ai}PaìX0ÓeyÇê´yQ‘Jm6wÿ°²ŒÃÇxÏeƒ¹\ƒÉ¿ååvÍNyGŸ”‹¥¢¦Èzc¥&°’¹ö.hån“mÙ>ÚR)ÁUz3Hµ2ž¾Ò“4¡¦Lâôà[](ЉÏŽÉÝaùQÂkÜ Ìg>ÜtÒ¥H®qÉrŽ1?t˜kŒfÛ…–‡dºy¥Q°e8^‚{¿°>Åu‰“G FCR!Ûdëš6åØõ &ÆÍùõ,\©F¹Ñ*nÁ@RyÓðÌÕ¯í‰ý8ÇÒ²`Ëà§Z=»V‚ÞT¡A1'Ù.è”’Â!¡ ¨sþ<ñ=Ôµódî§­¼$ó%=×OSY+ïIi/åø¾ùήï6#ÊÐïs ­ÎlÞ£s¡ÍìOFëfÝ+_ÉcÒNŠ^•PÕQWn—1²Q¶ëXíe¿ï…0yu¶öEÞÎÐê>Ÿ{ïÑï@ÂXSe¹ô×ÐñårŽI-í,k#k=ÝêÉÝ¥Ö=ÿ‘«¤œl¨c†ê‘–«7§ߨêâ˯níVQ M—K*†«(s$9Èo³å×ç˜ r~îÙ÷ëÂX_±²0¶QýV†Â*chà™lzÒ¹X+¯éSÙ,˜!l2äNý>Û<©çÙ,Ѐ«=; MUØ9ȦwÐ^pjz„—x0Wò{‹¾fÿ”È÷´ö“FQŠR4B[ÏÄâíkV—*Ô§±$ä»óU²ùÜ¢óìUû¹åŽ;ÊkeÓ(†ã”œõ|÷®ø3\óå×ZÔ¢*)'IZLâñNè Ž²ŸÝlg;Q%2šŠÀæ5×ývbwG 1‚áõ雿?ž…¿­Å !MÍZÿj«&·Q×.p¼8‘:qw¨·eiÞ2ÇÜYŽ&&æÆôä¾ÛwV{nå,®%”Ò0\Zê­’Ê—ú}S4Š8­J5*Q™ò”¡Œ”0“bZÄ,æ‹#C¬¢ô,Ò9™•æ;.GÌ#rˆö±‡l÷¬&G°É¨¢7Ò›–’ª×{ce˜F `~:þN¯K3ûº÷˜»6ŸÞ=„GœøO?–‘ß?B—Ú£p1M€Ë<«3f9‚1R©Fû¼NàYßn}E’"®Y«w±À~©ÿÉAó#¼ã¤Ò7í+~‘Kôc"C¼‡õI>€áø™Ë½ÁØ^î¬8*;´š@2ÅÌåÄfq‡èg‚ ÎXÎsʼnÔGÓNV«o)K€*úžQð²Ï BT·ÞVQš¦UY5‚Û(†Û)eöØ|ptéû“x“›ƒ~n½Š†ÝBïÊX©2+Çåz§Ž÷úwíEøVÏŠRWPêÂî马ò·hÍ{öy±5ÿ~ ržŸlYï9³kÔ€wîRžJŽê¯ýµ³ùÃw¿ÒÍ_„ûäwB$Ô_œ6ä<s6õ¨ž0nÅ)|‘n[[Z…)â“lÔ ¬e%ËØ:X°OÞáj)6º>¯Ì/œ d¤¿úÑ D¦D[E±/ÿ¤ÇñŒïã®kM;ßsñˆŽÊ—ÌZm»à@x€Q r¤¨Î÷;ÄB¤ 2³äEëŒ &•lΰ$½žŽÔ§”ÆËIö²œéÌÀô<­¢ÞÄEÔ–$S9*˜Ëx“ÞâèªÝhLŠjºd=¿3+§½ÛC)U bm¦“F§8Å)Ó?‹¬œ  |gtÿÜ!&íB ò¶UZ/ ž½r~dc}Œô!ü‘¢fÎ;ŒB¢¬z¨Vc˜j§¾œ­õ•G•‘BhŸkèÈ’ß[ޱ¹¬K#ÍfA„™ß·Ò‹®ÇÿTÙ—øÊ+ø (¡$>O7ë«£ʲžÒÀ«#ŸZ†Þ"ƒ Òìuf³;dÅø²{GßÉ7Š>°ÑÎð»\¿“_atÖ_Šs?¾èý»ƒM›I†=J¡¹wïÍí;ãÃOñù®C·÷}‰°šKÈà-AÛq q.…ã¦;ÌÏÌ¢¤BÎÚ_© œ:þÔÈw7I½kÑH¥ÙÿG&+¦{_ìk[n¬£…Å©÷åydöÑV·Øßº‘ ÀŽõÕßpæ:Ã%ÓHsvE¾$cŒ,ŒYiyjΎʇVô?‡—O‘·x+Ç8J&ßÉwÙ(¶t,œ€“f¡î¸mp~›çSîŽã¸Ýœ`´ÔEa!éLîÖO힤/0‡}üš0&8ýæªZa¿íÝ/£Äh+UÈfÛ® #•«{@É|…Ré:ÉØN©W÷UiØÙm=ˆÏãͺ2 È¢°qåSˉL¦=#®„ì<íéK‹R‡R&˜Àüï¶L¹µ~àçM.÷„é‰aä/5Àw Žüs?¿ïºañeó+Í"n’¤—s—8ÕÚ…ÓJÑI:Ì×ùVבþ‚ÙTN¤Þüæ7{Ú!˜÷L£y 0É@‘òfÌŒëØ€—€•¥˜öÉÓíç2‚ꢲmß¾õm„+*F$PWðD{£2Œ³í‹sô^”‘¬ð¼ø9Ú™ú”Gt øÑS±i?ºÒŽê””ÿèF~b™çŠsõ^Œf™À?|É”®ø@­á› Ån²\JKã)O7Ìà™¥$ÜétùKÉò„üöj/æØ×ö¶¡ØÇñÔrȶ¢ðÑùz€É­6¢Î¨(:ùS«¢›¯@©òa\\án©X×b˜–Ò(Q NØx¢Wiü­ëÙÆnö³_§8–e ˆ÷¥¸YN*>Zܼ IDATP‰Ô¥‰r1EHçóèH¹ŠJ#/×v!»¢Æi@·ÿ™ŒÐŒYÀYm6û—£Ú¼çé“vƒ‹×Á[”ÄbÍ­Ã"› ªž, |7ÿ¹ùΧÆÄ—©î½¶ç^®*@<.ï-žÒWåo>×qìtíÙfT¥Ü9ò›½.µçN—ÈtþÏôäÚ†+S7ôo´€„þÌ·I®Ü&)úx®ó!7hÇÝV„I”V-~gäÈê‘oÕ# £ÈùeÇéë›sD ·6µq2¡‘~D›°ØÂA}Æã±ë«/QÚsÍPæëÝyjëIn¡¹nxž^—Ô¢0bÖ6No”…¿¿ƒ~Ó%aÕ÷ëwÀu±T¯d—Ýïk°ðJûéÖ9.Ñe¢è;çÝ~À@lþîl^yoe³¹Óß@B‰æ%—ŠLfúø4ÂÅÄL¼ fØp*Óôeָà±"]×§õô|ÊênèHrùnå§ÿƒ;s>+[î3Ñm¾)pÔH²ü!Íþe ãW;¾ÒØ·óT B@š µš×wF da` Þpéðvƒþvù–Ëþ5ç\C†È`ÔXiÿß\’ ‘]ä ÙBIÌv"_×RêEa{lFt“²P?ÈvÿºÛD½Ï©ð2C[àøáÞ_xŽ¥^\µ6l^ݨ³l¼¤GÅÂJ,.ë#ÔÓy6{±»•‘‘s‚ÜÿÓ!Q¨Ì£Z°ýl ÆDã>`=‹iEårÙ:BbÐÈúÅ×­=—Û f«å^s¬êè{öRôé«®oÓ{œB¤»‰XµøÒ¯ÃuþÆö5|0Ö¦c-ɧÄîPš”M-‹û¼¨ÂòÃ.%áű$†TJ®œšçùÊááàs#º—ûüLŒðAäo‚‚ho·4>ÃsÆu»¤…¶ÕsŸæJã Ôö<½?ׂ2À=Êq9fžS’Iº0"ø4Þ— E´ˆ&J’”ÐRR4æsúl`Û6ˆ‚¶eF8¤òz  \±T†/=¸Â¬ö°æE]Xã*GÍtI“ Ne™˜>ó%H< š¨IF --‰¹‡x†3Ã!zÚ„‰Á’Ô0÷\ÀqFe¸þ<#NÍÒïœlYôŠD~¢‹­2`ªÌÖçôîy¾—3@g„² ùÞ@ÀðÁªãµ9&ü0±J«­óì;:‚êbû“aš­è 2V ÔÒç%;¯ä›60sç³ þäZW¸Ràø°¤n0ŠEvDàSCu¤­Ç8À ƒiíôÿ5ó)¢=ž×x€5K[Î×ðþy}4|ð-÷X³§Q+†g±ÒÙÜë (Kýr¬àû 9¥bí’E«\fó=Š:«­÷reÞäSýÀ±-ÃÐz6R—VMøÅ#þ²Ï*|Ua[d~Ga,Êa.÷ë:¶°íìàþá@0»Çpl+Ããbur×â´ •¤‚V¥µ©C=U’Wø.°oÕX»+ì¸âFÜr£måUiXîÆ@ðÐðæ^’c î>]Ï&¶²ƒìå€^md#ŸœãL-ËYœEUªS‹ÚÔ'1ÛçÄI[®²œuk⌠*ŠŒ¨…„x¬è“¼^¡Hë$~ã‡ñ ôcˆÞÅu4‰pO¥êtÆ2CBa%™`c%ðÉÈ-Q0wcÆêÃJoû\¨áÄúj Š”ÒÎÙ›éÈàú:ÒUJè1!ÄA-;et3P¦lD"`L'7yNÆq]+1ž®vèû3™¥¨Éx&Ø=ºVŸ‘à£ÿ§¯Ac|²=‰‹çµ*àÑúæû--uñ3½ìû>Åu15ÝKd»U7S–šl”–¢0 ­p϶1â/‡Å¤ ºµº€ù,à €AwíKg§41‰‡¤su8_K&P\[ÑŠ–´áI>~àªÕ¯Rdש(¼qˆR+=Cn)27qpжª^ Ý:Ŭ`E6ð¹z‚¤âž%­Nc=óhk3D8³¬ì`%Š‹wGqQ˜BÛRÇ5mQž…Ä ¥MD!+‚íº€?YÎ I„BÈeK—ÝvÕ’ýE­©9—–´‰B¾”n.®½9v–ºÈðÄ/ ×BUô½c©½F}™Ð*‘I¼Å@§b$E^â%Êê9Ô§Å% ‡ØÉ ÖŠ—$á\¾ .0ßÿø‘?=ŽG3JEX=b¨0¬ìë¾x—:ˆ#“F9f‹X¨´s¸ÂG]YŠÏ ûI’£ÎsP1™ä%µ^h”¹”wÞåâ&¦ÙýF0T·ë^¥´"}ä3É‹º(¦Oè¾Ð&yè—Ê*yOºK½J'èQýC»:–ŒÐؾ ÂX/"ÕEŒìi•­-&;¹`#ïçñF§lâºSÇ?Ûär+šauë1Â=ˆ¡”²ê¶S͹”Á)ð °F¶¶O7§kR2]êAm&ßgD@­ß÷ ÀÇÄ b¤1\›:uì5øêÀ‰Ôþo>þ¬£DYvÛ¥×|D/û.eŠÄǼã%œÆ<©”S|%N.·[*¦ªÃwl·R}µ;°T[êÓâN­Þ/¯H-®Ôë´º –½®ßä i¬3ŠÉe@3€Ͳq³h¡êe/6¹àÇ-ú€çŒ³¸Óøåt¼­.ÍEÒC^•ÍôÓ¸<¾EšL“Û¤ ïØO­ìÛí‰9h”ÑÊßÑK=¶s€À»ÓW@?g 2PjH%é+³£ÒƒeߊëÝÆkRQzÉ ™¦m̼ŽÃ7Ò[’å qM<@5àÏP-T0]Âð>sî(—5°ü‚Jý ‹[9iÿêíbf/jê“ZÃî×(fIe~º‹p79VV,X=b¨0,wÓØëtd§"°Ê2У¶óì?£·=VÀJv8÷Ý«ÌXl^©BFï}à6f‡Áú¢Í´‚>(AF‚*üJ5àPJ—¡®JRÅ$P=ne¿æ^äÛ&ëÄ·-„nÍQI-a´*†<:֖ƆâÆùð= ”ÔµûøhÚœÿbS¨­ªhÔÆ®Ù÷¸#â¶ý)å,ÍA!^'3X¢GóêÈãU ¾Þè\ÑFº…Íñ¹Z)bÖ5ª{†FX±P¶"ºß’>æ èAÓ°‹ÐåìcºÞª¥s¼Ù$yÊæï o³yJÖæ8ãEõjhà/^V︛rÀ®M—~Ixðß]ßVÝ]è6êÌb­¿òÕƒ ôrˆm_Ô³sõÝ‘T°{7ÍŽdÜqë°ó"j×½“Ù¬rÕ œ%µ¿xéLJH†²<ÉsÀ/F}“—˜çLíX« ´)U%Ñ44Ó8Ì6xh%È=<¬­¨K9âU9)»XÆz—øš%ë(¯ò›Ñëõq”ý¦/ɬWæyÚŸË)n¯§ä\½Q:×àö1§ÌlAÂ9TÎDÁ§n(^{šÑ öÑÃî!t6ûçR,”“qÚÅÖC¨ÅíøŒ~÷ù-ð¤Ób‡Û\ í¥ ¾¾THåm†qä îβôçJZn¯“ è÷õªCaØ«–vUps­'k5?ñ!á©:}ï«Ò%ˆ@¾‡¬à •¸‹®åDjŸ7¾Þ .ßnà³ zßmø`ÝmN=á%ó…Š54/pa¶ùÌ)ÍãCßüÛAx=,ËìZÆ…qsà6>ô}P*ç{å-Ó—™ÒŒåÀı7þLé¤sÊÁ^-”wÈÍjÉx<îÕ]Tõl’Gy ¿ý¶;øJ'òȬ@{×ì”ÒàáÉÏí:÷èìÐL`Ä÷èúÝ3:DཛÞLÙ©{ØöÎc1pÓ /vº}O9£«±²Ô» f¹çÖ³†¯q%ËWÒ©®ÒV€…z {ätî«t ´f˜ÏÛŒ9µDC/Ï=·sµÃÑ„•@§§=`ÛüfoºØì–nŒëÂ\=r¼b±é4‡£tb±ýau]L¹<ìŽA6?:ø™DOÀ |4âÞÙ6J­µ/ÒIw²¿ ¤6Œü+ }„­¾·¨Çy™š νºP²)A2¥(kÿWŠdНr{“üZ %(’Øþº%.èÓ²DDÞOÁ|òŽüOÖ+[«º¦ç¼Q‡7TâVÞâS^¶ÕŶµ=‡~½Çkðμ¦Ï}†fq¾­.âôÓBVŸCùËAÀï°Ä ‹s¸Ë Àt ^gËËFå<£…|%ï ¬d'Ъ¹+×K¢:$Ï$ß]qøË#Â&ð–øTã1¹°Ú5ûÛõˆËQû¡Ô•zH-«j€Öçs %ýåÙæ+¨¡wH WÌcM\׬&¨V< ¿4ÿǨœ=ò&&êSXárc¼fžç™…áÚAöœv^L¦È9ÚMÛš—äb·œ”yT³\oTá”±ÿ½&T¾^íîuÙbÏ­½¥5(6ÇRÝuQ\¿Í“º€ç¤§×Î |¾{úý~M+2‡'þ”÷ñ¤eYœd¯yRgËQÏ,o”ÖÒ’¤¥$1ä+¦Åµ¤‘¨qZÔ(B<ñ‚?›1õ)éd¦éš.Çå˜yRŽ‘ª'Cš*õ0Ø Á7·x”~”$¾X›Þ\ù÷—|63ÝUŒ<ççÇ1Æ-farb`|“òÍç|Õ©ÂÝmjÖ.Z\EÅ•#G§,³k½+f9ßÜûê·ø„{í4Úd¦èÅÿ*’é! J’GYÙDbsö® Ù4¡U nx»>$ÊÜGÙªž}8”À™Î“ aaVÖéÚÔ3Ï©z«íˆy“ëmO‡)µS¼.£õ -ÆK ›‹MÆX½Ýþl–9]¦Wê ¥Nœ%3é¢Kì«ÒØÄÙÑ\¬ÄÀ©2Åô›pØ¥oöõ×ë¸óÅà$w›r¿úåǼ¨|y›eú¥VX©_2ÉEœdrÔŠ²z•¦;(|Fëwô¾'þ¡›Sæ§“i–ÇÝg0^.Q+u8ƒkùˆ[€Ž7n¨xÞk©á¾¤ïíüÅ0Þ³èpO1šW,‰¡œ%ŸË-¹‘-BQŠ’$TOÔ Æk“ Òx†·x”‡(I\ñ¦w~V¾êÓøðá#€¢f¾…G“ÓXsÄ3þ™ñ#qøñÛŠÄ3±˜¬è_±(Ï2Ô~x ý³Ï€º8•!ÃQ ¨/Ka8ã^pûÇ ™bØRËdRàºE˜<‹Ó¸/…9˜X¹j!ïÝÜ.×›×KM{4WëÕŽÛ*µ75å ~Ëò(ûâ¨<“Íýï’oôB|,a²3Í~’KÍ%XÛ¿•QºÃµ£|Þ•L8#Klå`ðŽÞ*©}2œáTÖkùÍc]ž͖s´·~Ë —,ÅÝêÂŒ¨Þ œÁØz-ãHp;©Áǧ9À(åàŠã¹Ø¶è2¹ êvÜTºã“kÒ=¹¦+¦+gKÊéŒa¨Í¥(êSZú ˆÂbò ÷êPá ÕâY†ñ0“„ià'ËæS'–?•ŽÉiv ·™ÓãSÀìQæó§“*C·;¼½mÌo¥üq’$ä0©^ µmLî1{¸nð}©säoÒøV_ç/±,Îxé Ü¶ÒU†ÂíŒ`­Ý³¥,•§ô\íÅõÌá^NŠ[„Ë—ÃÌ ÑŠ¹Ú£#?SŠiú¿x¸-o§~4‘^xÕËb¹¤E¹`·S;ó+–6JhY)¥e©HyàirLOhºqRS5Í8b”ÃÙŽÝy=ʧÕ-…áuIyij½Ž›B\9Ú‹qøáw®u,1côÆ|JÏÒÌà›ÿFy†õ|HÊ5›ýú%¯ÈÀç"b¶˜iwªB¡+ `ïzns›>§•3ç/.'ÃxDŸÓq¥1˜=ŒB?qa+3ßVF“3ˆ˜ã¶"¬eç·'%$xõŽªï?[4ÒÓAò½ÁüÄ8SD2•røÝq jÙ0Ÿ¸C*VÂV‚+f*VêØ™BE½Œö´¤änø˜®æf3Ó>/Á+!…naxß㌹¥ ùŽ Üv·üÅ_ (ô.,£•f²;l¶±9Ø6=˜¥ÚPC¡ÕÙž«/ø´çÐÚT¡"夸!Ñ«ªB~ ÒÙ®›t­¬’%º.Œþ9Zë Àºã9€¼Ÿ!|½™q_s“CÍÏg `y—c]õO{Æ‘Â7$R¦ÉïowzpiðølºœôäOeä[ad¹æñj}Ig>¡±ºŒe€>«SÅÍu0ðGeq6íáÉÛ y19ÃU&âp´¸-¨788.¶Ñ•uö7žÑŒ37H•%QOfó¸€zSX%Ì%•·Q’Óüö8Tg ñµ}ÛùŒÏ€8­Mm΢"¤¤–ü&™œÔT޲½ìb#»ð–2\Âû4޳1"àzšÞÅP@Ìsé=F£Ú¼M¯B–ÊÑÚ¶ˆ÷Œc‰À’¹Sö†­ÜØÅ.¢Œhêš 掜m`mÃÅ\@ËÓ`ÉEoE¨'õ¤€e¾þÆtþÎv%–ä1àèÁ]i$µnw³PÇ%èŒk õ;)ZR§piµ¥™)·èûýgЕïH¢tÓßÞkuÏÆ@ˆ}¾UF~FØ”,0[ÿ^ö{C™ÌBmëê• ña&·ºD~ôª:C,ŒڠaëVòéù7=êO€åtµÏšñŒÖ[Ïh Ûà"~"{…6£¡]îc¹ÍD’ÃÊ_CÅÊLa9£™ìJ’È”uA…šË:ýR\ÅvNZFúë“£Ôª‡ð5—oT`!Ñ9m÷µg®¡‚MWœwy⣘Äá³;žEÇÍü+»Rس媉9¾_,…£ReI`·Qù6æóQôó°^EO:P4Fr#‰®Ò•7Ø _èG×e¨Å3Ž*Àò%•iFEí-ìP÷8üð)w8'ÐêLÓÆ1 ‰L’§ô5ûíçЙ_(Ir³9CÏêåÍò¥2ò¤0ô6€€PÇýiË™¹ZŠíl²´u•ïzÄgÅeeëòC˜Â RÞ¶@¨,)fcXùÜ~âÜ ã‹ö×?iø`WÚ©Æ¥™¢Îø8]—­ÂHóÚÙA«D?Ím}õ¨A2U\ëïH1·g.=¶¤Âv}F…ëÚÕz3î*hÎÞe¿2%9 ŒE;#žÃù\Ì… ÆŽõŽ›ºÛc'ȳU{Ö¯vv±Êq夂§Œ~GÌͺùÔ¢·V<Ÿ•Ã:(À¨¼ùÈ£Iütw!DoEµ&Õ©FU*R‘RZJJR\£¹èŒtNpÌL5›%…½ìb;;ØÎé` {óîw¥ ÿs"·=~âù£…Ñw¢wÁIê¢÷ÓEü…²âëÉ`ò• ³¶>à #ý‰VíK”ÓO&‘“¸ÓQuÌߥjŒdƒðª”tØyуŸ)JÅKÖ>tö;QÔa>¤aÞæm,€ÿv+×èòFi{™ÕNÈ{ŠmPe˜ðbé«D}Á(Æ×_ñŒáƒi\o‡ekétêÿ 6X/èÁ¨Ï=”/ÅÊÈñ$« ôäºPÜÕ¢±þôS”Àæ¬é‡¿¨*I{鳬y;‹^é+íçB.L¶³–le Óœ‡Ô&ÃŘp U¨I]PÃU4”~råÒOæŽØìÅ¡®½°ÚEE² ÞT·úÇsGžùåÔ¤±¿<|*ì8µñåŒ{€K²Qå´5-iN3ªzíOð_„ÒauSYlÖU,e)‹#©ˆ mmÿÎéû"œ©…ݴ临‹ŠÜ,tñ(Œ‹ôiží›د䀓ãšF–ÝÍ8ÔvÝøµ˜—’Z–Š”Ì&mÂÏMr5éq;0!`³øhX]U¬@Þs7(~¾ "ÌãçäYCgJ•˜Ê†¢ú¬}ǹôá+ Þ9qE¯YQ.γ4̳¢Ÿl«¥P¶ù¤Î'\XLJ¶qÖÛ²D‰X R H†¥2Âð9í·ã§Ë:½`øà+nÆB|kiþ`”ûWÆ%QéÃQ“®$¼ æQl ­ÈcÜErðûKYÂ:¶²Ÿc@¥8‹Ú4¡55£v|¿ ý²–žxû®¯'ea×·X͵¿×ºAûRmŠ7ò5¨IMVÚ £‘~.͹ÚG,#e8\½ÈHß»}Ó–ßÿ¶þTÀíSÌ7æ’ÎÝ“k¯ÛÂ"V³™½!(AyjÒóh’ý×—¸þÁƒ÷Œ]úþùÿ¸üùârbæ;T~Ëc–ã,|µãjºÑ@b·[üÔ—ú\ (kõg¦2ß ¸E9 bõ'ê½¾.L®pT5‚;Éž×g£¼ývýƒ%¬e#;È:¥ëJú.¦µh@SΣ” »,áRZ_²ïâ£$à36vFÀ‹Õ[P÷ܶg¸v:¤iPV¡JÌÅç3rH‡ÙwÂ`^®z±Ç5ÓöE¼Ÿæ5(OU…x2ùï· ¤p*%ñZ2H·ÿÑ¢ä×W).Ê¡`§a« ë'c^×¶Ã |Êö¢_k±M£¸PDyúC¼Ã²?ÎùÈ‹H'ͱ@<`Ú€‡¹ÍÚûi|Ç$f}ÒM®à&Î ö`Þ§ªÍ°3[,ˆ•xŠP„„[j\T¯Jõuë·‡É\øX§A"ÞùæùÀL: çlOÙ°öîßz˜§mô›ÍdEë{2žïÙšmï’¹Œë¹<™vrøÌ=RÂhxµBîׇÌ)}áNÒÌu¤Šã6}ìŒØ˜[õ]F⹑ ÀŽõÕ_Ç$`ƒx§EЉ.s @ IDAT« «Îj¼ÿ;©÷÷ꨰX§ŸðuD½D>§¶ãn"Y¼ÇȦºÆþä^FWÖ{×.ÀÍô¬z N&‹Ì¨É2±Ò¢ÍYŒ?“Úv¢Î¤U¡¬ “›ôK~Ý€]¿V}ʦˆ § ÍCÍ¿ÁÿÙ¦B<ñÄGqø]¹Èùƒ шúÐ,{éÙˆ4³Zœÿ–¥.î°ÕE7ýžbÿ¢æã Êj4EEít—ÞB¿æoî#vó8•¹É9¨ ØÄ[œGK&|õªN=9þÍ øÔc;Eâ³½w-ìòµõËwx¾†xÛÛÖ©EN™‘Ùë·A+=êÂ>vLÞòXÿ%+BãhNkÞÍA]À¾âZªð?ö$$>Ö}ý© Kš:ýóEÀÊ䩵¼žêR5u¡Ž–3ã’¬)Ãd ç93þ3jõ»—÷`/{*”ºƒº·à‡Á®J­~žØÊ•z¶¼*9¨ Óg'‰d’)aeÓÃ,™#HUžÔ hëíüü!‹ºM[& ³×Œ’û6?¼ä¨ ƒ …¤.ÀàSiç †ßÎ~ Ê¥]à‘‡~wšNnWúÿa ãľâ}lQžNºG¯æ?ÄXËŸì£0&T¿þW_i˜ìÀwæ[Šüëc±”Nf°õe„eaX§ÎôèptKâ[¼fØDæó.Ÿ„‚å@u³µ4¤’–Ÿœ ¤›XÎ2Ë©`·F¼AKAí[ýpó™øñÛVF|ÉÄ?l|¤&Ç€Ú×õí—õÙL"0íÛ˧‡¡!™˜C?Ú7¡Àw<ÁWïâõ\ši-*PÔÈ2É.]ËŸzÐâÜÏÃÁj•¬£owzeq†ã¨ðÚ¹¦‚ ™£ýw¢š“‡VLWIÍ3<ãGµ¹ô½9À¨úþáÌuzÔdVLaA²¦ú®ØM-‡'³•.rýaZëFqÏV}Q‹jT–rZš$ŠK¼É—&Yœä¨yÔ8¨)ìbYÉ^ »OGºþ•¢•]¾†¾;p9‚1Wy* ª´P, «öb-ùùœ9¸Pëÿè9¼c/¾Žm­vë‘“¶,Ìȳ ?Âòÿ¯5}.è­Î/º”beeYu¦¥.n/zݧ¾Ò0››muÑÒœ"Eþcv µ7‹ÅûÙ8Ü\mfñs¿ç€%¼hsåùhB­©U¥u ת°£à©ú³9A~°óÖЕkAy|å›}±çÝÇ?óOðTSÚx¯]·;“ëôçP”<Ïïà ²HáiÞz\¹³ÑG?<¿‡ð¶CÒ —\xÀ^î#Tûœ =éÅ¥ ½Qª† ú«ì4·Êß²šã¼ÆÛôäYƒ?éñ™õÛܽ:#Œº44ãš«Õ~øÒ•¶Ü“šg|Æ“¤¯>iÿ<ÍÔÆo¸Ÿ$UM’`¼‹V¹¶Û"Ð눔Æz59×Î&Ùšã‰'Ùð^‘¢ót:ßpXFI ½ÇùmE)¦ÇíýÈ?T \ ×[{xœ±V~ƒÉýŽºè¤Ï²w§‚Œ×Kl³i"·s%jŽïÖý;O¥¿ºs%óÝvSæÈ¸ÿž†èʶA…8'0T|NÕv~±ÿÝÊ#XfŽäo[¹Öæ|¨©Ó¤ØDÅÖ•…|«ß³CÛÜ€¾ðí%à}Á.€4g¤c­OÑ+s̤*)×Éu¤è}ß°"ŒS˜Ç§tÎzhàCm8ñ÷ÁÍWºAr˸d€,ç3î0½°2Uä&ýLà]J1ƒ*už{øñÃ;¶lÛÔ¨TµF²mLçV‚`”eÍþr/¥³í_=©g»aÇè]|ÅTžf~Š]>kpÙç\‹€G¨ž~½8Õ‹]–øWf¼¸ÓåOKX‡Ô¬ÚB̘Zäúy…«æq›Ñ¦•¾Fûr-×2œu‡¤žv°ï¹ÙQ` Ý‘Ha©2 C…^KøÒqG%é)üh@yÐ|×~Ìc,ÇǽìLûpÛ\ËÃÜ+ ?¼—üšþp¾“8øíâ:3(CîÊ AàðE„4®¶EW¢~«åÿCñ!ƒ«ä*Ët†säö¨‰ˆÙÞTÝœ¢ s\÷¤­>É•rºMü‚ôçeómÉ óiúRH¨—P/”Íà'ÛpàåtpÄ]_âMxž<Ç%/uö¹gŸºb7ÃyÕVgÅ`>– %­L4_sñ‰gñ"Ë™L<É·öxwZª“*-NHòTàä¾lº¦Ë™vK*S$Jo¼=!Œe"–ÕZcºÙÍX§ï À]:Jb•¢_”äJíhn22¥Ÿ®²?}={™F[¸ÉÆC€AÎ?_Ôªgä09T¦ªUƸš/¸™’5Fœÿ< m:*#WÊòÿ¶Kʇ‰Ÿüöß6Wðòog8J㸒ï<Írû×oÓä?™N,Qˆœ×0»¡Êøá ºd=¹Ç¡Í%ƒL"R2¯wi_ó7L†0”³9‡†œEqà8;XÅ\§:Q¿qXöogïV•/éI:0ŸË8‹ iLUûû{XÇ_üíL_7s„T2æY¤G¼ëåú˜ã#®ûž¼Ž/ñÅ+¦M"‹YŽÊÈsÓ9|âü¼Ã¸[?ÎÍ¿pÚóú»¸{âM¦õŠÌØ« >yŠëã;YHuàkL ºqEWù”óÕ²NLÖŽț¡µpÝr΀4§ Lv!Î6ûž!éPL^6ûØ£ð*½ºveQDŠá…Ó‹òí’Òÿ¼ú0&&~²ðã'+Œ-A Ìclï7`®ÇØÝ¼ë?š}VA‚öaGdØæ°²{Û:àãtËÙIš€hešÒ‘Ë=É£ue†ŒÒÇ8% ¬aM6½*£ßÓÖþÞ&:i?SMºð ×ÙŽ…½|ÅWÑ·…¾«w„øjsšÌÖU²HÐZ4ãbúH¢sBf%H¬A|d9¨Än!“ëãÅ ´±yÆÉFs gŸ¡ý²]à׳.¢ ­pË÷@^t¥I¤ôÎëüߎø˜H[IÐ44às½SÜ/݃JÀž£†ÛÒ*¬1é ÂébøÏØŽ¿ÉxÕ´àäWó+¨Úªy©å‡¢–-r³Âÿ§Õ‚S%áwUK¸cršRðý<è¸FFÈU›&iЄ‡‡OgG~£+¯q>ÕùD¾4[è2I6Š•ó¯²K¦ËÒ@Zéçê¦ì+K¤uŽ‹°‰.rÔÅj=ßÜ&ëä"Ùhÿ¶ ó©“ã÷ÛšáVé|d¶0›OËOÆn±6i²V¾»¥•NÖÏÔJ4îÊP:SÌþV*ß~H ˆ~èM=Ì••­AÙ Ž®ÝÍ䯅]`½HoÓzu‘ÈûÌØæ]±…ß+¡*Ï{>Û&­«) 0Ïáw]›£ÖjÜB_íƒ;Å6‰aü¶¢ª‰Â•ž°‚Aû"påõðà‹ÐÖN¬ ø\ §]ãÿ×F¨ÄÎa_ÄHªg^JoÓe­öŸµ¾‚ñƒ¢€ižÎùØ”+¸‹¡üÊ~¦“Æ@E½×ìaö26góŽ‹¥Ô1?ÓÐÍÏfü Ý4.bK&˜ÌQºXjÛ÷Z®³ÏØÎ…ºÚ¾¾‰,ç-=_‹D|¿ˆöÔ:ßY5Y:ʬ­w˳Y×+å:éÅZJáGÊðûù•¡ÜÉÔ2ý$P„"±†R27+fç—‡ûy$Ì1ö•œ/uô1©i1M'ôgí¯µµ|*®>a"M€ë§ìÅ›®QèJc÷g¤ÁÜëùô¸Ü!³`§Ü§˜>q—Þnÿô¬ŒòÌU1¾¦6°~ÙœCgVmhcK>ÛÃÆ™×ÊYö»Nãp^+üÄ9ÿǹE¹¨NË­môÿ_üBUÙ>ן1§ õ_oyé­–Ì£ÿá±J²ÿ>míiï|ð%ƒ-Ç‚üï´ï·Ý¸•wõÎujM»I7޲TS8*Šj)JñÿØ{ïø(ªýÿÿyfK*I AºE@AEÄŽˆŠåÚ»ˆxÕk{¹llׂ ¨¨» ØED ½÷^ÒvwÞ¿?vvvfvv³IvCð÷=û“ì´óžsÞåõnÍ¥•Í4ÿIŽU[Ìß6¨£äcºHìµ\K€å²Z¶©í”*/yÒœƒe±gË,¨TZ E ±«hÃÑÍÑQÆî!Ã’ÜIÕ+ µÙ\v[Æã0–æÜìÈYZªã12¥—ôâ`¦MJð•ñ—üÊÏüÄ\Uáò}&Ò¨(¿ã-pq즽ßuÙ½÷*že?ÆXš!`v®øŸZ!O§ª&É5l0®eD-y›ž@Eùȉ.ø@ÚEGhx;¢ªÉ™µÌ¼\Ľ†í=shÞ/:>tÃ[éMšT‰/ÿäál¬£LÃ+•/m |n&]¤×«ÃV[¤œt1¸¶cìüÊ׀ƞö°”K+IÑ›At§ ðQÊ&òŸ0ßøþgÕK®•Ñ4SQau”=*Ëö^—Ë( »YlVGÊ œaå£j· ú2y˜q&j­èÁ@zЖ"2©`3‹˜ÃGfPBDï?›ß)¶­*Ý©¦þŠßX!VÇ fb'±¥2Ÿ)k›1®c—2'–Ñ«/ù¿´¦5ûÓœ4¤…ROËÁcö‡(cì` [ÕzYÉ–³˜ üˆŠñ €þô˯¬ŠÑßÒ62.kœ1Rq ¸Ì´¿­c¦ê*'Èyj°äÖ`?®’wÏŸ®Wðp1RT”ßøøg›!n™Á´QÂÓæ›ÕŽ—zµ®Pž£î5AæsÈ*8½Ù¤U„ŒN>^£9Cx• •„U;¬v;Ã.,R(2¤1­ ªº\P§ RjD°äk·%:²ÑW| ¨’G²ÚÃH‹ü\Ê5ö÷´ ;#€y<Îë„€z„Ç,gq¼£Êsü!·ð¾ŠÀ“ØÊ ‚Àn5‚IúCZÛ„sÚÈTy‹/La‘ÁÅŒ¢½í˜¦È©<À|ÆòªEßÝÀ¿y ˜ûÓÀÉFÁ¿i[DòwB–â I±•̶¯Ï¿ïÁ|ÏîeQœã*¬½@0·ªdkøP€N%KÒ³ª|Ñäz…! mw½ôÈ_1 ²–XeævlÏ» oo~æîs)Ù¢«ø?‡È!t£#­)JÊÿd­,f¿ð-Ç¡‰âî6b£vl¹þ¹–»ZŒé¶2=á ó×Söí@GùK|‰ èßvÒZ¼Fì¨5H«´üñž¢ñóÚ…,øuÕŠm nÓ©kQ3èÆÿÅ…FKú 3Ô ¼ÒCúÒ•´¦ØÂ„e2‹·ùØ„)üLä@à9Ó¢yW{OŽg8ýhe9Sg£,æoæñ ¿ÚÚsöáeSXl\öç‚_—¯ÜÙ"ÿ V»ï]x‘ë¸ÄL ‚7¸…(*ÆK´MQ´Z˜Ý:Mz¥<ñÍìOfäá\Îæ}žâËä˪ÃÖ²¬âd-HÎ`¿Íýöü·ßåÈìÕ]™fꇒÿß9³|Â×ÑËEœÇÛ<Í7®‚óóï~i$T>õU¶ø%Kó¡„%z@ÛÍV}‡¶^6VÒ’5—3¹š®á¡Ïýö¬·-ÄÑ4)-bcS.­0[4Csþ”Úç‹Ý ÅdKhË­øÆ²×OK"¡¹ÚÔ;þwö ÃneÄ~_Ã×§Š`=›•§ÅÞo¢UÊÐX¾Í•]ˆMAPZ¶`Öx ÐC?~z×Çm5¨ºŒŸ™xv³ë‡tíãѺó·ðœRT?˜Y¿~i€?Ò6ke¶7’Ã[ö0ÒÀ¢u5•©@¦‹¦Tx¶R®ÜØÄhÆà‚9Ÿ9iƒ©ÌáíÈÓubWšàt&r'¢Lš‰‘»UW‘!‡ÿÖá¸)#ÚŒò·ô0Œa,b“ø3Hu?Îä´Hýy–ýùðûÏ.ui$®•ÔÒ&2zþÔnà”í®ö·ô2‚üÉëL²”fŒ«Ô*wA©™ÿ&>ŽâLN5½tÍ{`ê««,Â2qÓ¤”Ó!¿#ÀæïGîeû'ÚÒ¸±!.‚–Ò­As\Jü³}µ¦©,ÿº:%ÇöŽ«a-7ºÕpŸ­œ7ú•)›-!È„Õ^¸ü³»/,Þ/‹±ÜÀÓ¼ÈÆ†°.NHÞ¢Ò=\NÎcåû2µJÅ…͹”+(`ýâËÆ°1"ò"bqÂê /œ6í‰Kš´ñ1ñÆ™GVI¸Þ’ÓçUÕ¶µ¦3ùï@§‰M§½<äsë÷€vÜÉüÅt>æk£±VjF#2„!ÆÜ!øå‡§g¾º \:Ë…Œbsº­’Rú€)AUt™ØtÚ„“ºÿ+¯+À}ÜÇïLç¾³³¬éhƆ0Ä´ž+Êù~쬉klV­ÓA5‡¬¬3;ÿ ·À;j6~³¬xIƒ…ñÿDFôÊ[÷1rÔ#X°÷H™˜åRlLõnn «ëÓy ¯E'· ÁÏ-~gÌ”á½{}M¹Ÿ;™ÁÛ|X)…p=£É*ÊŸx¾EýÓÎôhƒøƒûyÆÙÜ…aÇi 2–r0ðÍÇÇM) ™ÂÂVhoòêéwun£Ï’cÄæ7ÃĤšñtbq™ËÚÀ1ŸðÕÈvçßaPnSèHG®£œ9üÈæ²Ø?T•‘Czp½é`>dH_ù÷¬ŸîŸ»¸$†I†,Ý!u“Y¦×—a±nÖŽšÆg×u8óør›BWºreüÄ÷ÌaK¨nˆm]8˜CéC>ýសW—»Ð! 5†,ÔH'”*€EHÙû‹¼b3ÈcùOÕ H $µO4¿¯}- swØj Å6 èå0’·¨ÏÿqóÞ?ä‹­üi|6û¾vøÔíqdVŸ¡ Eçæ²€¿XÊZ¶Ù^G}Îp#nÛºûß*Ôïn¾ ·~ÿåfÞä=¾·9Ý5êÓŒÖ@gzXæž­³gÞ4ë×]_Ḑ$ØóùÊ=Nã1zr=ŠQ±+EìBdñíhŒI$w6„NèéåO¿Àkç´:·o§îðú28ÜH‚,g ‹YÆ Ö²žMlc'%1·òK>…4¤ ÍhIÚÑÜflíÙ¹øoþxnþï»p&¤éf_È ÑB,`ãL_Òš˜âÚ¢Ñ?ºäÑqüïªv§Ö¡GÃö^_¦ÑªJYÌ"–³’5l0èPæB‡ h@±I‡ö4·í¾=;ÿžÿý_c[¼Ç•Ñ.6‘]d¤‰O¬®C{MÔž¶Š eÙ•†v¨¤y¢BI>ªCÒ2þðs4;7çß@ÈÒ]«4¦ö}Í»Œ©àùž—¶X0Ê}aÔ§7åW  ÄÙ{,@Ð(x¬JžÊº¶QÏÐ-~zõЉøñá!êÙ×Å¢TŽ÷ÁžG÷nÓÝŸc¿{ˆÍ¬e3:¹´ …y‘ò’Ï?>ï£ÍðÚe?Âá¼¾È V°†=x(¢) bBJvü5ï“_îù½$ä(çaumFŸNýtAÏ”’|=£ß›`tc‹ô S%Ú3"™nl‘h¼poÁHwÁh* ¯QÖ¹múvhÛºq«Âæî—QJtÀƒ 2ã qå[×/]ú÷ªi‹Þ]³” n¾—ˆVmõé´õÂH©fmÒ!Úÿ$J?ÞFYµïÓ¡m»FÍ âô`RJ9Atþ„tؼfÅòy˦/¾ÑA‡hgF1è0úZéé ‘z±¡‚ç{^ÚÁÚ:³÷3hÍÎÍù£-û¾ÌàŠå˜ý1â¨ÙUûÎØ¹9ÿú‘ê¶”*0Ôûî¾htm^S|›É­m;ÃíU"‹Fû¥ë_hË/[õîSgÏ!?^¼†NbÇÈ­å’´É+Z÷iݦEqãÂÆÙù™®ƒå%k—|ñãM?l¶¯/iŸ=æÐÃ{6mãËt;«t÷ž[7¬]·`Õ—+&¯‹‡Ø>‘ÞÝê£N¹ Óh¼]º}ø˜›M0)Rf¶ÞJ–±Fæ‰A ÷|Ì0‹ø¢³}Ûvkܲaã¢üü¼üÜ|/§Ð“ \¡¼¤¬´¼dÏîmÛ6o[»yÑ–ÙëfosØyN«J·éÕáöIÖ¦ÅAK;1Ò 0"tˆˆÎ0%|øñ*‡­8ãäfŠÛ4nT”ŸŸS¯^¡¦å%ºtEyéîÒ¡Âé¦Cð|ÏKu3Žv´©-K¶‰T•Æ®þåZ‰g··Ä»Û·Ë¿+£Ä_æ/óWø‚Þ 7äÑ5QR‡’ÖJÊŸZdèaí(L,I“¥ËÊúõ©=žRÏï.ß.ÿn‰¿Ô_æ/÷ ªTF—T&«*Ïaãž——[,Œˆ@-·Y áy¤°iÑßÿ.ÿ¸í›}¦®ì±$¸…,=GL Ã%Ë^CVÿàÂü,ë¼¿ÛøåVÛZŒi%:¤¸{qä Q°¡ä?ìpÅEX„ͳŒ§«ç;¦‘¨G÷ü¾{Y¹1—èz‰ØQ–’ p¡ˆ¦‹z-"#,.üVaÊÖ$S”Û0Ë~Å¿v­*O³JŒFíƒ q0{:Gæ”û"–a‘á·4MöJ‡Çì\é Ã‘õý^û——,*©bÅ…“åÆo¡ôÑaa½üâ]ÚvÏïßßÖŒ]»3J3Ê2*2¾7äÕ=áéG¶” ÁY›,–tXdDl­PbKº*ÓÄ Û‡‘O>C_HTÖ¯v€~«ë*l†Z SÓ«ŠÛ"Â2É Ë¨Gä7ë´D¢{ö¾³Ã^Ø9²…ÊMÕ3"YŸÑ¹eØê,…ç%Ð#̘£Õõc#1Ü¢ˆvÿØhmc)1srÃîu›{3š Åp½Æs…×LÐlZ,†MNêÖQ‘á3˜dT`x-¥j´˜\!’L-•¸lÒ´0ÊÆQqQs;»2#beø,´ˆG ªM‡x¶ET\D,­¬â"tPþàÃoãšVþ(¼BÕˆÆ~£›ŠQÀ´¤#;¿Rá­Â#(›g}žHÈ|ê+5U›1ŠE÷ 9“Twײ/k»› ³¥kÝGµîˆqOê²n8é»Ð !½†Õ¬Ç‡á±¤Yµj{°ª²mûX‡l4Wßš©¯bJêŲKÝâÜ´>ÇŒ@3­ðl¢Îa§žlØeXÐê(B–'ø"ÙµVªÅI/uoq% ÅE¬uae”K'çPš›Eé °ú–ÄìPS»tˆN;%ÂJNzúªœ)ü\‘”êrE‰ö½˜U bÝý•>ƒ·š·Ôm¸`D;Ó,€ä$-:´Uà Y IC‡1ç2ˆQ±°Çº",¬Ë&h²g*“U`覸ˆèâó­‡,4Ž2!e±/¼Æ¿š-N#6¿Á ©`¶º² ŒØ3íýªu‡0 ÚB(­p™×°™#åuSš6SÕÀ 1™€N¤^ä™|&£ŒµºâÙÎý[>0žmáÖ()û~HÏ:SDÝïVýV·ŒTÒÁ).t‡•tÄŠY£¤j«~­ØlòÈJ©=ü!Ê¿ÝÊSÖÓ[lB”Ù„+‘(C\¸±€½kaD5F+ÒsnÁ:H•X C7ÙcÐU爾kÍP ”1/Á¢B'hùì#˜݀)Wÿ²Å5™L^Å)6î†Yë–粂JVn¯õÈ„, :6TU„†˜ŒRb7B ­RVé^jQâ"öÑ<î¨W)hŠŒ%”4"ÚÓË*Ű­ˆQâ¬tðX whʽŽVåt° Œ Mt†lAªÚS±\Ó?T¦NªjÑ=±ÈÒ-3”|ïAoµäS”-L¢%5õ½ºL¡¡›Ë#ÛDlsÕm5ˆ¨ƒTqRG,†Nö(ŽXúHe¥èûŽº‰#Ì(êö¶†—F†æ"2¢:dTäZ·<¡ÅSbغ ²±†ÈÓ…Ÿ%hF”Í‹õsé1»’QV)–µ4ïæ±±Je«§œÅOì¹póÞ8é`·¶Ó·Êœt°²L+¬o7VdT!—Õt¤/¦ÛÂpæ‚DPO:.$ ÖGö~ÐfG“ÚZRQq᱈‹0\Q— »¾ï4@S aÕj"º&•TñëÄ[ÀA‹óÏTˆé™Š©L¿EdÉ[ÍýŒM‹wö<ô$¥ìú¡˜Ïbµ/ܺš8¡,+ Ë$Ã!Ãné ùlÊâۦuI•Üì¬R4Ë®Ñl”°2ÊÄpL<›–ÌÞ)2¬ÿböRË"ÃnýEika¤’![)ëZ™Ç’vaM\D­t­Ö¹¦óY®–tJFʈj›!K,P݉’ŠèuÁ\:õ% ÜØÅ…»þ öš˜ˆ¿lŽ +"\eZãÝ‹1ÛÝÊ=^3µI{çC§Ûá$6Ý^¹‚7±€ »féTÂe4ƒ…G#üÄŒ¬‹ŠÀê ýVV©ÌYiÆšÐL2:«ØŽnÌDv•»À°²KÝ¢EF}CBº« Ä£Cx¯Ä£ƒSe:utÅaL?$†?`R@«uuÒic-¶t¥¡@Þ*²›(“PMÆèMBRª½Âí™®A±L¥jz°"ûZâjEð݀͋áDˆ£1?b1¤­qhvH$àX™1HKN†•9â`üv,ÞkDD& IDAT.0T†nìYb¸"Ú®fQßGuüNV)–5)!­Å|T%_ЉË2u—rÞÔ‚£×ºÍ^¬L\¤–zŒ…UB3l§‡,vlš:€&iñXKÆØë$tW5¬VÀ ”‹è¨ kLã&LQ, IÈáîKír“©F­ …)Ö5»l¬±V‘Õ’R¶,ïhÒž=q/d–4‹öVW.Noå"Æì›Z¹¸½q)"qX„n Œfʦõ+s®v𢺫EŒ}‘H!ÍX#Vᚣð¡r]/Æèf麺 %µ¶îÜè`¹“Z⛬W7è ¶™ó$€£T­ì}{¬T0Y°Þ[ÛZã?t‹c·.#õnad’¢Í€+KÕö>YÕw©Û\qºk2£3âÇ>ÛgGæ„]›T.ñ@N§7Ž o½šæš‹áæô›Nèy61­ Í,ì¬[âÔk¦…Ú©¨›÷uÎD«¤ÕW|(G=^+;Ô6L’Z^kN:èæÌ5GÐtå-ÏÜs0ê."Ü!ÚžËö‘ÜPIŠ„Ê½Öun O™ÃZ¸9ü{‹Tu5ŠCdèq2 Rer:Yjôö«ü̲ YW8–U N«KA¥ºs]îj,uì K]±ÄF~"Ö`ù÷4ïó'fŸ¨µQÌ[£ÿ½ã½âOÂW|¿à¨a™S 5 ׫ ­Ñwì™}çGÿWæb™ÄZ(îl©ëZÑq7˜vé Æ¥¾ÇÎÊ:_ëe…Šõåï½;öœ-®‚ž¸º³Äe&ue$ ƒ«2¡*UBã ‡TVŽ«) Yq1&óº3³‡{úéäeÓ~ßo©ë,«RñLêQë½:,MÉKœJØTQÃŽå-%Pã+=»~D`ئüÈsÄN î›IND`ÄÃ2Ó…^ªÆèNݺâÁˆo¸éHÌò« k0~û½q§7µÃÝN L>ûÂÉÁí'Ö{^ËýV_±ø_æºRÉbÕîvNmh£. qC«¢w´ƒŒ™³‹ "½§ô.nú¡«UïÍímY:¸î•Ôª–8¶GÝ‚âˆSìÄ6v“û´Ö2üs+Ù†Ÿffçv‚¥/޾m|™‹Ò—ÜœÅUÀ¦…JJ^¹J´ŸÃE¤|6yÔ£õÈ%‡l²ÈÉ*ù4‘à òÈ#Ï8;‡l²‚_ŠôKxæ¥"²g‚q^ä¾öRÂZZ;|[#Ë=ûÄG‹)Õ‘x~ö9V%=ölƒJ¡i""A™,çH/é"}äbùTÂcÏ# {K@Dd‡¼(—É0.WËd)‘ÐúIû‘Y.o:™g«Ù¬R±f mSSY%"ñÒ[|‚(i-7ʆ0!«O£¹Ñ½dÎÕ[i…®}a¨8ëC«Òv«y[׿˜ÔÌ*î¿öRyAŽ–L“õ–Ë߯ÞÌÔÖÎ_ÍF]^GqÇʨ–^ZÉË"W&d܇…F}êS@¾Éö³DD2’…¶ósÈNN`ì~Ãqßl£gGúFâ…_W?UÝ\5ÝŽv˜¶³“ˆÈf9Ìñ.‡K¹ˆHiÅ""ïI}Û·­e®ˆˆìü¯E9ˆl¯-ʽêϵW˜‰|("²Lº;èP(„…ãîw°ì¥ls®Þ½––µŠë6âGÇYf¼6,>”–.\Î+×HiXd,¼§¥•¿ÚT&O¥Tª½ÒØ!O×’N«ÊÝDYúrYÂÉõ¦ iF‹ŸEÆÖÞBJœ@&{õ£WòLU¡ÔB‚ ÙGœÇwŽÃÞæv€LßQ0—ÓÙfûv)ǰÈS([U³Ü‚úžÎÉßüp†À:Žd®ã›­œÂ€–3ð?xm6…=¶‹½õìiÙA®k%aÀlìÙuwvñ~AÇxx€ãYár‰ Opo»ëÆœÎcv/t«U¡Þ^Êђу§J£šg‡´˜ó¢¤Tut¹¸¿¶T Œ:¹}< `>Ó]¾ü?ö?ÝKEÌ·›xP-c»eÇÊî ã¼ð?+ÝV4ç²È>)FªÛÉ¡éÖÉ÷].g ï3ÿåÿndüÄ@¶Yƒÿn¬ ŸjŠÖ}#µ@«Ö LÖˆ´* I¾ª¤ Š2šÝõ¤îôD3,Bîýs7×>:¾rýë~6æ§®ßxòl½¢í%û3é ŸÇ™'ìà>ÀSø\'2Œ–È>Kã§ÚºvfÜ$+Tþ4A+ø”›+9l>çÐêZ“Kú,*SšèP- #9Æ­kf÷Úh‡ëª ŒÈù>|x%YἫÕ{Q§Xˆô|VfÅ$ºñÑ’+ãü}kqÆÇšoÛó¶÷%Ro%øz! ¸™MòØDÆ>½V¤¿D‡.ºèªìú".6¿/ó œËX‘1É@fûñÝÈŒ±³UzÒ©½é›··xæpPâÑwm)ßåùC¡*H²ìχk¢Ä£{uî yu_Hk”¤ÀÈr´ü¡n3Òœ™‘Ÿ[ÌYxtûÝ&ƒ×d¶&à`M‡7MYœoK"CÌŠCÜcŸ[×ï:>~NðÝV–ÒŽ?™F¥Ó ƒ5ê¶B.ûä™dåÃC¢ðØBB•Q)Yöi:ô†7X–Ô¡w1EÏÃYl4æ Xª¼‘Ž>‚ÞêmðdFv«þcªÿ`¾‚wTïÌ ‡L£c‡Çl«eð"æêÆ‚ê:3éCôlóƧ^²QYlMÿ¡CWmã|×€â8¯«aøY–nʬÛûŒØÜ‘ðmÀž 2 á%`Q„¢M¦öñUò#}ªÀU¿ °fßè–7¾OÒBZ‘ ¯%yô~¡;õ;ikaç̬Há.ðVwq'[˜l´0ÓŒ5óßÊM­2&ÇýnsåzJX`„LG·néU¡êÔÆj «HOf’‹vü•w\s—Aa{„þ®3U:N ‹Ò˜¿¶¢§ÖtwÕ¾D,ŒH#ÞHcÜHe©SêA¥;*;áAõ€r™fou{¯G ÝÒ‚àÿCWø°Ç%*S«ÞG)hâ#1|Iwt?™ %B™{ \¨?ÅtH$µÓkpö¶ôAȨ‰ÁL¬HgÝ©¨Ós8›)hxoÙüsчëÂt÷²q;·Äg¬÷oÎvYº×%È´5Æ”kÛ“uKïV‰¿éÌü¸äШð‘a®lk ´fŒ©(½o¬…ß2®ÌvÂì«Ê„ÕqAØØñ kdXBjuKw-ÕP¥öÏc@ºfDUY³8öF+ÄĬCýÃ/> Œ¿Õ郖fîŠ7&HîŸçW¨mÓ)ƒ›¸ÐñÕE v­Ûº Î┘Ÿä `Õ_ø ‡·3ï¹N¸?¥¹´*Ý?üYW?,Tß''´ÁüÀ‚=–ˆ‡ƒñþZmØûþÛ÷ß¾ÿ$_ܲéut «ñ\!Í|÷ö¸±}<‰q[ŽÝQ‘ý.Éió©–…¡«º,gt ŸaŠéf75{E­ëÒ?ò~þµg0Ìúw´¥Ì1¾¸ŸC8-ð ]NXQf Ù¤–Å‚3<Ã4¿Ÿ“S¸?;ôœw è¡'¦á7àÆˆmQG²¤#·r˜µã#ÛõÏKž­÷eÌÛŢó©´g¡ëµ<Ü Ê>ÜŠÏÖ؃†ö{¿ö£ü}­%êN †~(›ó¾ËªÙ'Àš±äê£Ùã`37Hoõ’LW–ži6, ƒÎ!Ç÷5Cø«ÈÀu ¿ŒŠ4‹K ¢ò´0D92ë‚Æ1ÓøüÔckèµÀ@eõ˜eîã Ydþñ•fæ‰ScþÚŽ ýì±Þ©yô9å ÁàŒ jÂP¦¼þì›Em»—­2ÉïœCè¬g)›Âû¶@;5÷³À¸Ký΂ %ÓÀÏ«d¹^m ËÝ –ÙzñâiáßöX—üÉ„ «YA9€W;<ûíàôIy®¥!¨ƒU–lc k3ȶ±º;å¿j­•M5̲Ð[óöá½Ò´ Þ,L¯1û0Òheÿ!)åZA…½ éü®³›«íúvM;íTXjIýßʹè@ã?èeKű²Bþ1™­@éþò®÷ í Йè0›×ÍŸŸu ÷àÁcƒïêD^‚ÜÄSxáOÎ¥ˆ&´¡!E çó°VxáØ;l*íŠ)úèÅûÄ\ínôÐCSc‹ÇÍ{¼à¬°Fr<ù´ õ8‚Éà¾gTEö:JÚ÷@ŠèðÏ´04GGí:‘:€bFðh½Ïò †/mGÌb, eœ8eçßžÜ,Û–½énÈ?Û!^ù[ØPø‚Cy.œÇù¼Ã[ ãJÇwëŒ<Ø‹.ÜÈò¶ÂboY½¹àIâ5‘ÞÊ; ärt ûºö³û©^×—Ÿ¯ïAüÊ`ÛÕžåqðùÔW9¡ŸÏ(<\Îfy)fs:'²ðô¹íN‡?LÛʉ<éŽÒÞ7,®åàs9^•Xž9ä!Ë´1œ;eÍûÞ¾à¤$Îd °u§!"¼qUƒ”ÑáŸ)0Ü|{}ñì`"ÇÒ—¥@8 Ñ©UßÎOÔësØS˾úûÊÓ‹â8ï÷q;Cš3“±äÂJ†rtœ”5WΙLqùîQ&þŒ—.Ëö¹ö~T‰ 41xá!®qéÝ2.Þà=äd‡éi3oÙéúØ3mgœÀ·Ÿ ~Ï6G…*ôu½„ssŸé ¡ Ⱥìþ&—°33¼n¬!—§xÚ;*( TŸÊtý=yPÁ'œ¨JmGꚥ½ Ð>ëöÞo»¾.OÒ¹|yÀœ¥¶’éi-ñž‚°Ú©{ý½èœ¤ÛDŸrí›\GÆ·É',á§AJ/ús'ãÅ׸ýoŽ~ü‰Ï_»Ì|úHêØ1û’¸›atÿIn'Ù&Œ¹²‡hqáašµ{iÀˆ]ßõ^Ê•—†ÀwÜçû‡¹‚fd«–ÀXA í·“ú}Í×e£íøõ4ãëý&™Ìy=ÞÃWã˜äzŸï¸ƒÿ¢eŒ8å–WÌû„Œ ±ä+Ô…¤‚Ê#2>é=Ü˜ï‡ ‹ 6Õ†ó?’oM_³*ŠûÊQúûÚ¨\ÆÿUzx>c€`à‰?l¶cZUÊŒãöº™r'¾Úkf%ÔjúðÇò Ë“ 3™É~\ÅÅ¢e4¹`Ô¹ç½;uìy‹Q(cË-£ur[°YÁ¿˜ä9Ýäyz¨Õr†þ¹Øvr³Ð:ì°ï¿Û‚{3µ˜F·°‘¯Nos Zs£nÄøèêôU¥;}lp (+w{×ÛAwÅv¸ŽFäv5RÃÙ)áV™‘¦ÅµEUoŸö^§·2Þ÷GRs”®áG'hDÈ…lrÊ’õœøîui÷(ØþLÑ•xb *9t<Íß\Uaé©km§tü!)öär;'r'¯Äý~%7²W³Ð<õO;÷«mO¿ÑÞÖdŸ,·&^y-,.¦Ó=iqá‘Oé©-Ô‡ª«e{Ïæ #ûÙ3,pk[ëÔÙÌ ¾S2͆7f§aXDØF^®…µ™‰j™Yð¥ãhë(ç=@²É #¦CŸ2øÿFä…mÊu³Šîªä´=<Í8Fp Á[pú™ÃŽgÒý—¬2rY•Q€}§Þ”xy“á <ÀíI”ˆ‰Òj»ÑË8_M—ž²ÑÜ·2Œ¦ÔïÒãÇ­ò[ËDPyù=aÇû5@H3k`Ñ¢! âbaäç»¶Ã~Mø,¿bã ™E¢Õ¶$9Ò˜¶xCûãõ4Ós)¢•åËݬ- .Ù5§Ñ Û}„\ØÚØÏüùpž¤TZÚ¾xEÏmu×âxëö³ôt*vñ€YGã&ÌÞV›JQ­ !ÀvéåZ¥R*$ è„€r݃WÓPøðã¯d«•%Ù䪬€ 4Ç[øfUŽ/B3Yb€×xƒ3¸ŽàÍ;ãÂ¡ÃÆ=üă[ (CYú婺ž’.æÕ*ŠÜÞŒ“S@ õ¶%ö²“›x¸áÔñ¹è’ì­R0% ¿-ÅH:‹&ß…ŸWG<…nFN=£ü‡XA,%°3ávbã ×ÚòXŠŠhF±¾¦·IÆÐ0Jºh®†,B+ôÏK?¼~ÆøOt±0FòÁl6£ädu²šÂ©Žzc¢Ð@=˜é?Vrè\ØcÊ:‹Åh…-±ý¥îŒÎʆGŠ"¤Õ6DÛÆ6mU´Ø¯í± !UÇŒKÇNw©Æê>dq¹º„‰r/ªˆÐx‰7Å-äãiØâ¿sÎþéæ~?ÎR§Ð¨“à”\ÏÅdD5ÄEøÕ>ÎB™¬²[Õ ùÑ ŒÎ=LBóÜtÜÛãÌ\ Í¥zXíˆ ã~Þ®G’ʰTT6ê‹î×ʵ„Ö™F)E«R‡$Þ›Q #Rê?*p¬m#K&|ôÀ° 6qEè)b*§0Ô8%ò¬:Z}¨ŸÀ.;ܨî>ðŠ3ŠÚDhõÓù2aä]r#- 3ó¦‹Î:ö²ýf;€¾½N2ò-#É3þXÉ_t¤wO¦:ž7­ªÍÊ/50´º4 ]Ç@Ëhй˜U„3<œ¥æ«7¤ƒùÚËø/íGÈ8¨ïÛUliJZ§³4¤/€p¹kNE²c†¤ïð2Þ¢é¼Ë" k¿F~G$zme};- QF®8 (/ÇO†³L£†°ÉE¬¼¾–~[1s½|'ôJìå$ ´ÂRžÏçR޳†Î_iËwÜ„æ3ˆ•ˆ XÁ‹œ@ nf5@fÖE'ÿºíúr›‡÷Jâ†[¼ãÕ¥¢s„v¡²BRƒ‹޾ý–°¸˜Å0Zr%Ó+ Ô.åÿhÏ-ì<ûµøp×ý3mÉÖ7Y»»ÈØëYCI¥>Šš]ÕÚ´)ìÕ­Ó"4ª-0b2¾:Åž3x7¦€ÝÞÔ¤€)Œáê*aö»BÑ—s¦š¯ž—fæÓoärz…UoÁ¹~9X¤ß¹#ǵNežH.¯á…Çx1áqÙ4²| \ŽøV;ž2à u…I“Oþœz›âÂã-“.Aá`¹ÿ pcÜÓN¦+°|™-ÂÇH¨«#ù½G¾Œ þøˆnšuõ ¯ 2ÄbȲÔ÷šÈ7ÇòQÇ&/0à~¹Yý-˜©¼Ÿ2Õ¿·¸Ë|ëe18n ÔéËlø›ÃÙâòíPÞA#¸È×Ë Ü~йïey'{²¡[£Šë(fáÜOYFd•–WÌò5Î;Žë?Á(Ìêò ¾9Ó‡1­ëñïÁ6ôRÆ«ÿ|ãÃ3ÂfC„|sZŸÓáuÎsQ¼.$¾è´öŸ9¢±â¬ ™I˜Å1×tdøå®ä@ÏÜøQ^âuGVEþ¶ cJ_š«ëd3Xm9ºl²±¥!r ÇãsÇuò?csœoeYÀ¬kšAAæ>ÒÍ.áiÞAc½3 ”ƒXT…³žã2`ÓÒýoÞátv†^Se)Txù>²ì[¨Ït›_øä|y[–Ë.5OMV«‘êdÕC5©–¸/MÕ¡j˜¥Uï¨ßÔNµT&Ëù ªlÂ4òeö}Õf´;"Jj‘m>E|ÀØ”\ìKu·ØÀ©6êsõ¤dIäEŒåVÞâ~;×½ßóÞŠš’"†Âœ¤ÄEÕÆýl ƒêk¾ÍÙ@Q+³/€×L¥¢£õ1áþ[\¿|o»§[šÕš¼xNZXxã˜AΆˆÚˆÓ€Ö][¸ òÃZWHªž[ЇœÂv­ذ¨Å½7γï×vÁ£‡s|ÊEa6|¡­7º5ÌÔ¶‚äúê˜H¦È ÿÎsê@_ëì¥Æ©Ü(™–ýhgÊ25A]¡Nd(W¨qj¹zÚÒPiU\È)ò»ÌP§(Ü;6Q7«¥êqgx?ryX_¿mp‘­u™½MZw4÷¾\Ué¼X·žy®£ì`Z@éšTÞyϯX­˜JŽÁà?çeuªj©ÒC[ýÕpõ²šf U9L¥%°uýÏ–ê„7V\Ô†Q9°‹Sv³€z@u“ïÄJ…«Õ/lþåzò yºÞ¿ü&K‘9¯kõÎÚCÉ$%––sìVw Úw@f½îùFP­Ç>Zó¹w„oÜZ·V:0ìôŽö~»oCpt±;ðúnëî­fk¸\äÄ ½fžÂ“àGƒé ¬[nÆ~ÈoãÙgoò y„Ñ[Â.6/÷€pAL[ݰ0¸WÿLkŸ½‹ÔƒjG»zî•7TC»0å*õ‘dº·ó®êœÄýêñ¸úHê»~÷j¸¿JƒGÏ·5d²‹Œ4*]âe2E0'«xæ.Τ8äø ý-©«ÎçNÑ…!€<¹í¹s‚› 'oâºÓ¯V˜Ò1ªàáMz{vžüøê2ó¹¢£x~ÚÍJñòÀh›¹\óñ·êÇͰ<{õ½m:x62ÈÈqhyåª;- +÷vGðSas Ä’šñfvQ«ÓG61†{¶AuG1½K¬ãOVYM-õgùªl¡ÝÂ€ÏØ}hlFî‘õÁÍé½Ȫ‡µú®Ôë‡{‹#Ñøv±j­%ØÃXÿþœÄsxÐr®jîhxêqéÜ6‚V0Á5µL1Ž[µäIÝZ}ª=*Îâ>É­®—è§Ýä8r„üÊà*¼ÙAêKiàÊ®a'Ðá̃ ÈÀ#2Ò½{ž§7¬æüj0¨Ÿ¹€Ó®¸±ƒËÊOiÿÁêŒÈRÔÑѯYþþE¡8‘'€5I¸6­cµ|.oó3YW%:m`ð8'å×<ýõV2ªs†,ŸÚ×Ó>å­”_8¤TýXnyr?cÕ;’kü¥‚‹¹šŸ·ún[ÑlgGðÚ¤2éoÇ-j:ÊÔsRD”ÚÄ&`¿S¿ò8,Œ(G«æø³ÒoK}íÔ¾ûŽ¿œF)ûw=,ÏñÒ³ìt)\¸ÈnàÐt GׯBš¯¶XQ>áf¢‡S¸ìzØÊ°Û‘'¸ *Œ¸Dç£_âú÷RËÏüȶˆ8DÌ¿ÕçX™x‘<÷-Ä+Qæõ_ySå9Ž-a‘ÌáGùƒ­â¶Ñ»ª÷\ ‡¯çQÀ—ûð±f¿¨ÐTé9”ÑœŒpµÙ’AÁß|™wŽ\d¬~{‚&{ÏÂp–YÖ‡ÿ2{´‚«Ínp°‡«ä™!SøT6ZޟγÒ^Z¨ê4†3€¦ª“<'Vët®<%ñœL—%b·Z·Ë9ÅH ¤?ô‹+¶EÈp{G㜰TZD†4æF¨àêJŽË•£¤g5žàÕi¶óNQ?ÐÖü˽\4;{Å‘á©M$Ö¦B& ’ªÃÂÈ0X­[—…½ Öñ yn>Ü\‰ÆÌŠ‹qµLà ÕÀ«P‡åÔŸ: ¬°5óÁr,"Áø!¨Ànv»3-s0ÅžÕ‹QÒœÞð¦k˜ôÑúŽRÁ;rž´–i§zÒ‹.©ú2D“e–÷ÙOͶ”2¿ AÙ¡ª‡ñ“W^“”š™ çJkÉ‘öêz©Î4P äxyJ69VN_õëî{’]ÀMaëËI ,%Ãyà ¾©ö5.â' ³þä¨gÉY÷X‚ƒS²÷«_|0¢Ëk„Žútëìúýa#0–×å0 u(ÕÖ³†LCÚ'ïȉ §2Õñðª+˜*ï©pÁ‘ä¸pL¸ú§@Gö£€Ky‡-„ïKçßñ›Eˆéq `äv‡j#˜Âé×O8œwp ~®êL!dêr=ù ªÖ“lS'3Fn·xˆ:©*³?ü¥<Æ~ÿZTÒn¬Í™Eìjah=¡… ü'®Õ ¼üŸÍwâ9¹O­‹¡üõ1sGËuc|{€šE?Y£ŽHHéNüh¼*gš¯äoy” ÎJ¶À65ƒ\'—ȽԷ|;R½ ócŽÞÎd.¤¨K‡ü¿wÚ‹Hhm({Gúò2^xœ—jp•R†òÍÉkõÕCý¯[Äçàz’š½¯U[X`©›ÌÙ¾6ï&õúŸçž‰êKµX,¯% î4~º/F\„Ç uŸD¤½u^»ÕOê5uŸºAݤƫ- à-fÅm‘ãºi[Œÿ‚–ิRÒóa÷:þ~·þ‹v¢UíÕ~žfž|à;ù­š LgŒ:KÊm ħj˜Eö¯B€¶—}w¦ES²êµfexÚÜJzCÔlŒ“T ±êáf|ˆæÒ­F³n”‹ '˜¡Þ^Õû##È@aó·µeÙõÃþ ç² h]`¯ôÔñØÅ{.cû s±X÷šE‹wsÓä…F†ÍˆÉùVG ׀Sõ o”2R­K°’?UCT™o¼¿ý͆ý¾§bÐÞÛäréÌóª$îYõŒêŠ5lħÖ×[€ÇY×HξQíË®§§Ôƾ|H.Láú^i-dz(êòå#]óðÆ)5Y篞ʆô7ƒqIœ:pQüçO^o“ò¯k)úlD·G?±‰[écnrèÅ—ÉíZ,‘®ÑK{K ’í–ß3˜¤]bÎé9nàÐÛ^îm°/粯‘¡ôýáç´Þb¦¶RŽ4~Þa½nEÎk2_ãÌ11vëq¡¡ÞÜÜæôb`è’m¹¾Be5'NÃÕõ@ÓëÓ\Þ¤ 7¼õÔ Ø°Ò¡BŽN0‡ãø#`™ƒ½¡«Iiá#×-t‘…Æk¤_%Aó/Uwî’ðžÏÐIb{†Ê7®ý¾À8ªôNkÔõ±å÷á*ßå6áÂè]ÚÙŠ5Zc¥R¼s"âb¦%ý1¯Š°O}ó~ãdJ€]gŽ=(Ï,né±½ÃØ×$Jʺ ½$…¿éjƒÀÙ÷‘·¨E%ìHâjßYE˜ÕÂ Š ›¸Hsh­œÀP˜Ëë¶¿æÈ}.Çþ(ïÕðn³UÚíaœºÔœÙ}¼hž3:¹¡kˆd-‰ ­Ye®âš7ˆŒ@”%=*.´vøV¬†œx)^ 'ßÐL£®R ôÏX±€ï€Ž}:åO¦¡¡ù‹ã Œu@³b‹¥¤]y"àR¹3°|• 46lî²up5ž¸pÔµ@Åžß*LFk_„?q…sõþ&ÊÊ’$éPwª£e“ÀZƒ-N¸GÞÐU"„øœ¢6$yŸ2†Ëæ•3ìrLß ›:Fuµª9>$¾ádJñÓŸ{ù–*)ÑéƒYÍë\Ä~ÀWœB)Р뤑ø UÑ—ÊóêBRQ­>¼ ©Ì)hš× ¶%|ä-eImëÑçÑ€”’ ™TZì iÎË÷80âcõ*vQ^–‚Gø•~²A¬<íYužùÛ| d4|þ3DÒçñ’Þ‘ ËÒ|‹‰ô6’–¶dÕÜ.¡ß gÄgzœxf¹òHÉ7ÙµºÆœ1ðúîëgõJøŠ#ž97Q¯–¶;–Çå)¢ðëJ˾0¬î·zg6Ît‹3ƒ[è,™ëRݪd°¤/®•iQÑv·Êœ*ÑùKÕ‹çebÄnLxìü0£n–aò°ªÊNÚ­Î$šÞ'õšïÐZô\ÙcÔRµC¾á*Îg:[˜É­ÆU¼Äd6r6/°‚…<ƒ3)¼9F1Ì;¸g·1€&I–-Ÿð-×× #)¶ÞÜ)¾œ€T°vì Ée*E05Q^ëBßÑ2/%ËíouŒÚf{•/Èqfm8@¯¸ï'Ãl"ÃSkÙß hE¸INÇ<üdŠcXõaÍ úT÷.;Þx–îq¾˜‰€/óþú6°>ÔP°m)tŽÙh“Ø9¢à™7Ž#ü×¼‚è¬Æ÷Îlÿ‹qa1R«œ ñµÍOpoˆðßÜ衱:Ê7Ú³x€Ü\Ð]Հ̟˓U¦ô2u©ŠôÒ{Um»O×JDX=¤>¨ò]~SãÍŸ»º±ðøjÖ¶Jiê‘¡SÈ/<ÉqF[ß) seܯpµ±ÚqÓ˜ÀF@×bº ¤$¤&¥A"K2Dˆ2ÄiR¬ ­ªwAH{ ÇQãÓ}ÅôÖ¸¼Céô_H.Ò Vålà“Zk»_@®•gS¶Ü~å8±6~õª·èbÜoñ4ýGnèHäó¤.r¨rì3iê#¾㠻…¡á´5škñ’à$(`6·Qäº.äg §ðÝ›öϱoÎ_æC½ws ¯õ[Üv@¤˜'#÷(©0P•—oÎO{,è¼â H•ïüi—1[c_tòßs¿·Lu­‚Ú™÷yÌœþüê˜*º±í•ØN™ËuZš?=t##÷±ÝÜpÍzÞä#æ•[¸~¿: lF Ìx]Šì¤¶åË%·U’ï6¾æ™ˆ%¬C­€«¹¥`VyÔ$¬#lTh©§Óe<[i=áÞx/—ó@œ#®0éP£V¢G¿(/KÌ–5Ã^<,MR’ˇô…]œìCäÓÛjÛå/fó‹Rºà¾WgËÛ**õë©÷¤‡ìPðÿ—;þÚVcl%Þ#ÂSGÒb»'ÁwŸ‰½ ÃùFÆjxÌâ*;Ó÷Eþ­˜„·zµ{Ç%S®ÖÑs`6÷0†yüÅ.ü´á6ÓsWÂP~¤ Å­?¹ªÝ­Q5//9èÌrÇÇqŠ{ï‚°5rjÈhˆIFfrX~“Ãàó˜+†ÆÖ•f¯nC•úäæœ–°s-ûsç°zt7ý+³?ønL "Wúmu}Æ"ãýkLí·TýQ—|ñxª†W^®æÉÁ  HѹE¹$Z»Y¦jǨЅRMW9cµ¸’5ÕºÐM ¢°à‡™s |šî -\ÏäAGG3ã©maƒ*fguêÊ…¼Ô“^äª]²ŽŽÚ²7?Ý¡~t-,0€;Œ3®ŒÙÒ’F¨ù–Ý ®¦-0¾ÍʈfvÛÃiÓGEÄE C™ëzÄ 5C¡#xÒç¨[å •Û¨ñÁÚ¯åÒrðCSnœ1}AÄËWé‰Tˆ]Ê^åØ^c·³r¶ÿ-Ç »æïì²]cîôÝO ¼ðÚìKµ^zÒÓøëõ–PÕ eY´íýÓ…‡Œ‹²˜/J«}Í»ÄtF™ÏlŽ mï# ¿Ú„†§c!„âXdë€ìÂȼîäñãÚA¢3°a¥ÉâA¾?«YØÅP¬‘uwp˜å·më^š|ý/ÉÒÈ=P:ÛÐ[–Êú×8T.ÆÇ;L«äNcµ?äq:*++X qÜpìä¨^ZºÐ×¼‹ËEŸå4ÏmOƃ§e1l!³Ð<sþÚB2¶ð¾Ëq€•k-3•—z÷º„ómñj}8 Øôë—3Þrf­ze]ØA÷c>×g¬…•¢ßâ1_Æq† Û’3å_Fš^¼ñ±ê,GHš*X'¿2Ó¥µ]G¸Iî§ ?×Ë5ú‹qvÝ_ U-r1-&›G³Ø¬©Ü3jèsžNðgµà¨È˜Ç¿y8ïÜŸV[bØ‘á%D!‹µXÍ9ÔÜÂPÒz^ðGÏ¡E´ä`K©sEcÕ˜þ®~y·ªùYþb»RÊts”@¤á®—wVm €•Oߎ2k!ËÿÅÑs/•â¢7Sh ;8)©þ»Õ/ÒK],û%ÒÚÔ…ÒMÚX¾œO%œ_û:—Ó‡Â& >ýc[%ßð¿Zúa©Ü$£çj2hLz{©‹=’Pù-0x’I&™Êκ×ÃÕ\c9èmnàQ`ÈE/o¼à³³Ùµ4o@g—K¾ËqøÜ÷v‡ð4k‚ Š þÚwuÉk¯QsT#Š_VG-Œ[Ûÿë€û°çÔ ¬—Æ,5‘bKƵþ?Fp¸ëæš›hY 2Slþv”úNŽ’Ä¡·ºš‰«ôjŒ·ä䨔Ožs=kUD+w…8ó쪖ÊÔO÷Ý»û<ßi°‡ÓØ]£ =Ëaü ¯ïÁ+fܱjt²P,lœó0ÀÅ,¨ñ/c.PÐð­af …f‹tKÁók5ÞB49.Œ™‡ø™_BšuÒ£Z^¢,ŒÈr\/î=:˜f‘âø†#%Í3?»=·1,ç”/RK¢mç;¦;'ÜM©S8BýÕ€o>J¤Nxºï³çëdî'—$aŽÖ$ªî†ÆÁ¾÷ÌŒy^¯t¶nqmEÄe¢Jö,‘m‚çÁ‡@³ª²”;€ñð ¸ òXßÞ~ ŒúQ~™¿e”1[‡©ÿ>õ}ÀÕr†íä+ÑÓùÛ÷œO$;n•á™!÷‹• â[ f ŸIZÏÅzC ×2”‚/ƒ–«t«î.³ƒ÷Æ—(WØo¾˜÷Üæ/‘€':†u½Uñ¤©’ƒ€›öš)¸´z€#VQIØÿ¬Å€æ™Óo­Ý620.wüdsÇïg»KÛYìPëøÔC7Ã1>wè<¹¾}ÐÏùí­£­õYltÒ‚tÓA4­À\ÍÓá\­VÖÑõvˆì,:jP›ê4û:Õůˆ@„µÖOGK£ð÷D¤0_)ç:‚p[ý|£Y´;ô'¦.Æÿò/Ð0%Ç/:ÂÊÉ,ÐıÓŠUßa"%|‘gìP·ø°ÕùÞ ÷§7ó Yk‡í¹XGFïƒeÐâþ_áZ‡oÓÍ|ßç#fxŽß%ÙöߣÀI';diq›“¯c˜Ë¡û>ŒC€m›<=è÷ÊŽr/ýL %¿÷à“°¹—“™dÔú߃§6 -?!t~àÓ1õ3²ëPоºÈ˽¿cn}xÃÇáÑG׬‡ºéÓonØvp¼Oñ À ßýµCaaI° ¢ˆbûŸ¥c„íHC2ôO8Ñg°,e§4–ĺ2ü¡OÊVY!×ÉXhÈ94ÖÅ:S>d9G–³ŸÒu /0ZÈ]š¦ÖÖ¨Su¨¬•§Å«wz¥žºW'¯ô¦:0ço7€w†$q–üžiœËbøçª&!îŒÀ­GÆlÞ’$ÉpzGl‚qm¡˜CiûãJ©™»e®B±OºÐFß×")¡#,ÏÅtºU¡ÔIEÄâIŠºÃÎÑä(ã1Éö]¢ïöZÄ·?øhrè°.b¹(SPÊü%ó¡oftò¥ð÷º¸5Lj¥G¹K?SLñ½åÿç÷…í dÓìÑýëlJ¨a˜¼¤gî›Q£LÀ¨uæÑ`&à…n@m`ÎÚ¬´Ÿ¯lØöpsâÎjB?`í/“w;ú¥º(;‹mÈ(²#¢a„£<%ßA3Ÿ€Êtû~I“[äôÀ£öÏ!<@+H“W}ÊdùÉÍ*ƒë…Zϲg8aºk5V›ð¶@‰/AûÙ@Ø|ui)Zs¥S_«~N(©WÇjàÐ Ùi÷«ÓÛ%>tRl)õ­ìèÒÏÙ"Päó¢EÞ¥!^·H®eâIžxcF³$WjêÁâÕ­N·u¶Bß·›,3=Ço šýÛÓ à¡TK2S~|ïΣTJí¤©ö,ùO»˜ŸZ¸·#²¸Q´øcÈåLß%~ëœfï?¼v´u¬ç^yƒ=@¿Ò³ËòaÔiÒîPø6A$¢å#ùüŸYW·ï…œæ»©B˜ø£_zõ‹b,Š#J­c·Ã†/†ú\ÛJÅmåeC»js…"ûX”xt–,P€£\­×N†”£;j¸*í展óùNçÓ-š£'ÑÒÓïVðÁ¯ŸÕ‘Å9ÀšÅk‹öVl €Â¸šìU•0ou›õÊ‹‰}PF¬BRÍg¢-}ªSö9ꟑáÒZŠõ¹êpq§¼þC|™tR!íî™éˆU¯pFÂ|×Ǽ:†\¨nÃÇ!}s2\pË+•\¸P´ÖŸìˆÔYH­t'|Ó_ IDAT·Ú£¨k™«ú«c8ûñ›>6‹àB߯,ã8¶µ9ú2H‹DàÄÈÞòùkéÙTË1‰ëÎX1Rï_Ü¡;s6ßúž5(Ørë0ÜEbá¢Ä6I¹ý‚Úr]x ñѪ¾±ßÇ=C–ße)#t…Ï‚ó)™’íyW•£+Îõ„2[•16¹Rg£‰…5YÌD–ÊWï[~ÇɾúEM`ꬸõ#E›P㘜‚<¥8¯}œ# 3<‰€_‘,‹  S©Ù݃B" ÒÈ"K˼cÊÒÏôRÛöMuSN±öKÃè0”§$üÆ'²Îóx7bXvg^2«êCÛKª–dµ;4NN7“Lé}°.,HR´œÚö£XNä¢ïwlûŽ¡‘ï×þàDò̺ˆ5Z]rO)U`"ºÇº„5Ò2«wè%œÃDßs:s °à‡|ñèÑ‚ÆE.F±Xkz[±häqnÜÕçÉYz·9Ð5ŠÎÕ^@š<)‘Z|nNëh®z1ë#Zt•æeöÖ`kYÔ‹ÍŸœs¿Ò()a=çè#ÒH ÀÃåA¿YFš×ëÓ>#}8*¹o¦k?z’9ý;PanÚòÈÖíùÀ…6*1Û“ù~6ÚP[%läºz¶•b$‰¼i-¨Û,*죅[{ZÁ,÷Ç•_M¥ÔÒSàkµÂ‘«ëÍvOH¼@[e9i#íßÞ¡8®·‹¸9àŒä–T²{¼è¨É€”·Õ©À†UžÉ­®ˆ9’êpB„(¦„â…C a­Œœæ¸¨Õì[h/JyÈ`¼’Ðâ}3†òY©Kíó?8õ"­õ`DÁ"ZÞØ»lê·ïSˆ/‘ÅÇrŸá®•ÝÉù=¢¸W‰¹l·¯úÞ*·È¤ÌÑRMXªçò†q"›í+üèÓÑßFÔpždOÉî¸ëvå0`þÌ¥{]pAL~ábo+“+ë¿ ê{’£™Te¶' 0Ìu8¬ªé@µLL§ØGž•C|:Kß³R.ïi5ßs:ê³ö‹@žoŸ) ìÊOõb¤yŒ#cìÒ§ûJn¶õ‰·í¿¦³uA)]qQñ7ñ5кGýj6dÄæb©p{ÿ2BRγ§é½fôß{åžœíéÌ_£_hŒ±²j á^ e«Ý}õøC' ÀÅ:ÜnœÇJýîbÛ•èÜMÛ¿¤eÞÙÕ‰Žò‡‰¬)I…;J¾S}Ì•~2]î1¢ÿÞ/÷“\ À¸ùíB}©aªîE$ÍÇXZ¸{"– ¾À'\ÊV¶”âÞü’ø4Afräæw0«JIáü‚b–1¨”œán4fMó8¼Õe` yöÜ9Þ1f™5/Y3²,ñ Î8Òõ{Ä;·ÙÌ|%†@$^,e¶£/ìp— У"€äèvav•‘¡Só€ «_XS@}!£ê"FlH‘?tˆ­mŸ”2³Áä<àÎ/ê<Òœ)Ð@Þö|ž#qÓø‹MªÔ GÐ0æÁ‘ɬeš®d7B}9ÃÅíHÏ“ˆïl¹“‡¬ý÷_ž-Tòõ‹&\ ;LqR®w‘9Æ:è¥ï¢ôÛuw=&#õ›«wŽŽ-ã-?òØÊ\`×™È^²èÓé y¥¬¡¥© :Ïÿ¨æÉ\ʨ”áyu.¶mxkï47ãòþ«‚"˜ˆŠVLèz¹pº­'øÉ¼QÆ…ï(óæ£ËÈü¹’«Êx5+éáiv‰ØÐMØ+ñP‚¸ zQ¢Qh7¯äçà‘'Ó–¥¥Þ1R!æ:Ï›6 é±NB/Ìst •%z(m% ¥‘˜·ðhcAEàî5ÛÒHöhoY¦óh%°QµŒ­ñÕd_þè³åð %U6§hNlÂfÄòŒ*0î&Iè»Üœ]iMý„…ªÑ—k¹Oî—›å,i˜€úël¹Eî—ûäŽõ‹»²LYäЊCVü¼=UPaËáNÖ$åbiz¿H™Í~’þBx]¿•cõW}ئf,ââ2+ŽÅÖ]8/²tóк«­]Äê©p|+úôs# O@‰ ¹’šÀ÷S=f#÷$OæT÷‘ňî65üœÆþ–²^ñ `óŠ);"ÕÆ}ŠŽÅÃE<›¢è–çÁð¼òËJX‹¬‘‹mïËÀÓ @$Åt@¦mzM$–a/Rú·–½žë?§sÉ—±Ä~î'Ù\ìÙuÓ Ÿ1”Bîˆ=) E‘Õ]âਚÛ;I€±¤Ñ ö²‰>;ñ=¬5W›±u¶èã¯-µµi£'éÓê­ä»MÇèz‡>®Ÿéuk”;ÙÍf €zM»çVq×X–œûrƒVFαó`§•rNý+Ðp~Ç "Ý%¢b×yevñ¼íx°t°ÿdVÙñu›“ ½÷¾MJ±ñWMjr3P´÷Ö©Îbfz&|òÝ•‘«™ÎÝ,½©Å¿Y:И=Ûµd¨‡+ì  Z®áÄð ¸ Ašž×äT@ °J>U€rsÅå6÷S$vj› P·Ôk6±Wë/Ë#²Âõ¹Æ]¬O `' Ï(£m.¦ðó[Kb6îr fòAÃHQ_Q³ÄTõª•iMÒ·¼œLx†Ýìb˜ù­ùcøs}YïÒÁÚUkjŽ65ZÕõ²z}¤mÉW²J¶³åò…ŒÖŒÓ¨²v—Èò€Œ”Ó¥½äj¦£ôuýP/S“]<Óþ{d*5 Í£3¼â‚½Ñ¼Ñl\Ás=O?.圛"RÍx[z8oVÀúF9ÞÓ”}Mð%aàø.®:bd‡O¼#ÿþeB02E]tµ™Ó–íõ¥¸OÉ4w]ÑÖ36~iÿ¯ +åùßxÍcaÂ[Ã?»IQtëSQªßþ‘¿jØUןîÁl)‹36ÂäkÕÔ¨Qj?ÕÐÈŒT‹Ü2ªÿç¨eøúÄ®¹×G9)Ig$*¹ù{ŸÊL0ŽªjØôØJR#YÀð7GUac˜,òÁã`ƒtú®Ñß8&p²\!÷Ë2[vØgÊr·ÝÌ?é¹®|̈ìÁühŸñ¢nò|ž/3åu¹S†É92NfpP»Tj¡#Á?Œõ33~¬ÐÕÚª¥+Ì-µpLÔ)˜+ÑÑ9žNún9;yª)Âáßv:å'Ý:†$Ù(å,8'm(ü:{LÉ’f\í½øsOÖ…–:Õ“Žñâ’iæN÷B˜„«[±Kfòžû`ûú ›= µ¦ã¾ÔÀ°ZŒpáÊn¹õƒð&¸Ü—¯)*–IÈJlü™?àd×çgB$¥1ì23%’j—óê‘'Ñ« °óé­ôÆæz¬Àvý¹Œm\s`ÚO ò=樰矙 ìz)Œºn ÃMr^åa²£1¼\‹ÜGöÏ[ä*‡åg7\–ð:P«^Œ¸i[Xw|˜iåDTÌyºýó­RϪÓ2»õ%í¨§¹ã@Êé±F.©o·Ìd A›z®÷Ÿ”I^Z= pwJô‹t`ì§Ëö:û}°Há½KËø±¤ø+è_áÂí™z€¯Wè½ú’Nà]ÄZÝI!a fÐ †ìfƒ.×9L1?Ôçõ½XûhS• ¾IuæÎqõn.BžeÑ,G EÑ× ¶= éŒ)õ­ßà kÏ+ÖÈ?\Å0Ðè´@n©ïf±Rå šÙe䵌dñ/ ŠÙeÖÞIÕNèÌ`ŸäµlmCkS—Ú’®`%ZÛt ëXÅR_‚üÇi ¬]võ¯ ô‹T˜†yö–’™Áî}bÈc²´]éNW:H ePG޳yvð»þÎïÌdM̲ÐX½Ø.0¥®RP^ßEÙË¢:E»ý¶é±º· /äÅ_ø´©Ô”»uð}£Œj9¥ßןYà 6 ÀSe.hE¼ë:ãR©-©O¾}Äâ·š¦Ë:êÅpÂ9cð"ç¡’›^Y[ä_U±ÔÆ*йØèÔ×.¡•\ý¢°d½«-“f9H"`ĺrL®z-Uî„D[Býr\­#ûB¼ËþgÃÔvNL"Ïd=†q=9tf)+äf}*¦ƒ u*Ÿó1kËiB\wývvªÓTޤi;WüD NØmtÎýN€Q|ìÊm=WO¥­Üˆ€ÇX*‘K¬Ñ_™Ê›. 3¸(.ºâMðF,ù†™*Ê{{· `~ŸÓýpÒ­ø½ŠÃR ~’G?±jÛmÐ_t:¿ò‹4¦0w¡.Üÿâ÷ÐZŽ~51ë=¶½YÞy/Њ[}õÇb¥/W3FçËGœ¡[™G¤\ó´*.e;Ä]óãafj[‹xQŸ"ÌÐ/%ÑvóM[C{zÌ««]ÙÞÈ1¯Ó›dn>ÌF§d±7É£À r™´Ú±H'…v0©€a®6šŸYæÅ6d5¥~—à‘±-˜í˃€PÈc¬OxCj-³­œ®++|·FœÊ–aiT§iC{£'Ak_m `Y®7ÑC2Xª³˜Å fQP¡»-õ±a[€1Ȭ~xÍé[cTÀxN•Qêˆyùã²5çp¬Ñ/Jnù´RšKsÎa£Ž³[¡±Í©ôÁG“6ºL Q3BÈ'º¥<Ë`Þpû÷97W£‹e”’ µGê’IË! äLÎäg›&ã(øàÀ¨œ&æÒQÌ7O+®sÜDk†ø-ÃMÚZ6ÒIçK¡œQ‘v Cv°È ™.úšRd¾DøaªË=XëÊ= V…š|ÆQ@Øü裑³\öŒ¢«ªyÒ5Œ’ï‚—ç0È6'ÍŽÎÀ¶ ßnIŸJ–†±ˆæC¹ÏÉ¿L$Ø?Ÿ —î?KoÄF?ÀÅoï/8øgɯKm±Äz>¡÷È7zUé~_Éå :E”ákÀ›ìÔCø\>G4ƒÂJ¾S|ûÃí%öwNk=}«‡–,êe5“ºF—sÒgžbdÜÎÛü @/r+x¹þ6©„0†ZÀ¢¹þècŽrg,§Þ åä—?ùÛ…dn{1¾¨$^r%ˆr°g×'\Ú˜x@ù51§Õ—Õ½cå¦7Ã|Ã)>•1K¤Ÿ™Æ2QßÑ\K›Ó’Æ4¤uÈÕšF ÍÖl#ƒt±×'±[w±›íº]6Êý‡XÅ*ßY²›á2\ëëÆ[·¯8•<=fä¬RÆP¨‚þ Éw“O,$so%ux¤=ð{lU$={’#<ÁP§8 ¸M/Uƒm²šeüÅ,±[A=•H¥¬N2E몘Žn­oÑÙ>v¥LÕ)ìE´ž4£5miM3JŽY"/Ê#ÀsÀ7³†aóŽÑcÿñ ?è÷C›µ‡uå ‹.¿Èv»ìTtZlk™Ç Ôm„?—¥åÅH®¹Æ©»ðòî{žoxXaÅýʹd„e«ø04ì%X:ÿÁ…ÄfvÇÓè™)šê~ûmsÏôjW· 6[å+.ÞÏúÅ»…»¦¬p»Xw·YáäF…êsg<0ôÆ7Òk·f íâ.Ò@ÉYÚK‚)}㠓ò@¿dÓã‚kÚòum†>7i“gü„c˜{#jÃ)¡—EšÍ+ú,ý´–<–¤â ­°LúNôôQ!£êý'7õ5êÃ+lâKnE€"öjMׂâký–El“0ÙÚš^œ— ³E?b:«É—µ´ýà‰2Ù¦9’„™ÌVÞärjŽhûÔbÿgJ†ÏH£g–á–Jç#ê  îÕ6yõKo<¶$†Â‚ú÷8Bœïcû­Š¬“X*¼Ž6`üäÕó wœv²u ‹<\£#ìâ§Jö’)&°›ŸèOÝ®– »Â Ý`‘ª©žÀ(µn^„Îv ݯí°ÎÒ¾¸]W³–µ¬g+ÛØÊnÙ­»Õ4B„QÀ @š¦ku£šæ’K=êЀFÒT›»ˆcJ Š‹Þú<±@fTù ±:Fãö%¡a·ŒI¯]ÛsCOârH0•œÒq @GéÈ-¬Õ÷Ãb×}ÛÛp1àñßwŃžÅ.“Tj6v ξ½G#{8Óx»Ê—Ìæcj3§¾õw9ªzèþ Ù{A1÷?s«Þ%ãÍÉ7~Õƒí®šªÃÜÔò¯3BïÒ›Eœö{PG‰+ÀL¾â)ÚêëaŸ2O{R[åd¹Cç ÜÇE8ª•`$M&ý2(Ÿœx»T_ð3z¸ýŒŸù*‰VƒÏÇ_=#¶Ÿ;ìÌÁ#ø1ÉO¾A‰™žú……@Zæ1µØÞj\É —ãûh£Ú±0Ù)kc}^Ÿf4¡>µÈ%GÒÕÀа”°Wv˜ùÆÝÀ þöºNòêÞàÓõ."‡xëó¾Ò/£TçeáFn'0¾÷'¿a©þÁ_,d)KüòKâuq¿ÜAki[ÚsÑ‘f¡BýÅþ­3°n… `M\„©è"¢\ bAÆÝKú>×ën7™x–N¡ç~3Í5‘›ÉÍú¸óÖ³yàBŠ”ÑÚ ©¢¯´ŸèðU[î¬ý$¼Â?ö¸©¬¤ñ.[Ï××IãU &çÕÖðMöˆÓ}øåOó\Ò§ÊFۭݦ˜t­ûÃf\H\MŒ¤gc¼Õͨ%œ¯‡Ó•]Õ–;‹cG³/d±Îe:_²Fà ž.ìl†º­¼E€ö…~áyÇðl£O˜7ÉJméd’,Õ_ù™Ìgor–OÙÆ '¯¼ºÙUºr=iê\}ž=t °n~ÔŒñ© î#º#†"oP÷M€ e'›u·ì4 ŒÝºGM ‰¥i0«‘mTÓÍ“\jIyÓv ‘ñºÌ~Š•(B \˜1¦¨(dxs0R"u^ÛsxÖÙŒç´2XuK7ƽ˩@qѵ/¬-Â]Ó>©U=’eRlÏ‘JÄôÀ- >(õÀr}8Á°*à:›L笠3~¡7™©]6nx<Îw B†OÔ§"F7½È£AÏq³§ ü(–:yt·+¯2ð7¤à¹·ÆµV„U4ŸhB»ºà ¦õBFòMR h½f]ÍwÄšÍ׺Æ<}&¤2EûËYÈt9ˆI>ùÝ¡˜Üå}ö®?9æí5¥n ª¸‰J¢jYÜ‘˜ð}b|Í…À‡$&ùUVi 1Y7ô–5r}#`’Ö¹æ¿6´céãSãR}Ññ²Œd†çùª3cøarŸ=öRó­Þç_fàc†‘ ¿ý¦¸Öj,™jí9WЄ¦u<ÔÇâ¡”$O ÛÞ~2LÇÊ'êsbý˜ç™ Ò]‡3Xâ+.%Õu·Àç@ã¶m³–æÇ…ÔúÁž2JZmCåZݼÍ1kå]Þm®ëì;7! ˜±|Ù¶ÌJçXýjÚ¹;v„]Z%`•C~Üû›,ЩÌf c6X“|É÷ð×åi'å0zÒ<îªQ­®—ל…ŒˆnQlÆۨ™Ê lEç?ÿù÷²Oç5çú2ClbåÞ¦ 6ŸzåÖ¹$&Ê W½ªGK>Å;mÃR¬7C¥ ‹U¦¥>—&{‰¿ÊV›j’™IºÍ\½x5®±Ds¸,>Õ§½ÖS¾ç ¸èå7m¸p%K?nèp#p.%)‰Û}ººY¤Ízu<ÔÇF2˜,KŸ›[í£©õ>ýÖÜåôн]›ržLfÊ%ÒXGèbçób~×Ñz™ãÅ€€qCǘ=Ô¾åòyÇÝó 6yöŸ%lÞ_Ö{Yíp±YöÅz÷žÖ× U¹åoHêîµP“îÎ)]§¯Ñçõ4­­å#ó¤8©­³C~”'å\i!ÍôB}׌ÖÜ¢QSO ;Ñh±ˆNȈ„¤°¢Ê›»;ž³í#€K^ÁËTc,M€‚ü9Û·Äl|zf¥çE#”@gM/‡Š³«Ô¡³Sý{+¼/vÚo늡„`(ÏÇ0ÿ×’H¤ÊZ½Â³È6g*]±Rƒ®ø%†§&<ãüS.xƒ!„Rôà;}ŽE ×µj:Yþ^Œ¤OÜÝ ÈÏÆÝÒߨIg­â}/Æl³]ÆòÀJ=ʬ¡ÝåZyÓvOcÐë ½Í.öhèŠe 4O ¢û IDATÂ¥úéÏú€ÖJ“·ò·»ŠÆW«® £¯705ôá,p—’#·ê<ýË|X»js®–ñ²£‚ã+§ÂÏô·¼%CŒúÒG_Ð5ú•öuôƒã•Ëð†‡\€Qâò_¤’‡L]*—‰¹¼8´ÓÚ?[Á ØUMsÚ&Wx)C¾D9û0râ/®™@}#½”Çk!–:YÚ•ë dahÙwL´¹ö€+øÐSTq§Zûø?ô(Ï^²9ßÑسëªÇLR.²YtMã’B^¾Ï´l⌜ܸÂ*†‡™dë` =Ç:ër³±\ÆëqjH=JÇêî•j@KyMzÅlN¾ÚwÊ ø,‚º´ ûn½·˜;q4¹ÊJýJ¿‘Þr›¬»´zߢ9°yƒK÷w…VN+wGã„ zrkÑ,¸ÆáGP–Îrq«Ì®ÄV¤‰ŽÖÍ2UšŠ!~«¤¹/ó/ßHà÷…Îs›qÑQÅ'oy-?Ü.Pï(æo a¹äM¾²k|8¬š@‚Ì’$‘(&0šù iô,åöGÙV¸ÒT®@€fqc¦v]©”/M?X!8ƒé’r¥ÎÔQÚ7aS¦Ð Èß>ð×V¹E˜pó´ew´ï&#¹‰Tæî0ÆZ ;¥H¾¦±$Ç8Úk Èæ1s†q¨s—§ÈײHG˜×èŸü(gK4ï¿­L‘1žýöç@FÖ•­=Ó.iÑæU.«¡Qùtó#ýÉz•\ÏØRßÕße€ýæ¹üOVp“º·) yBÑéú‚¶,×»5¶l‰ËwkU[Õ6·:{Ú=_C®PiªÏë2¹Z29B¾4æp¶§*#}lâË1& )ñDÙy½`)…‹ß;´yàvæTê2—²hyÀä³â˜›C®`$j“ùøÀÂöÏ[Þæ"µÂ/® _áµ ?GÄq8e¼ö’ø&Ãïšd^øóªð^èÈLþçèc¥‡Ü){\÷iÄZ{v }jê6<‘Þ}kÌ»¯A(b(§xá*ðiòÈBö•ë ’"£­N%á6Ê!Û¨˜7ñ1måIãY90î „‹e!çj¦¶R€¯'uòßé'Pþ÷ž!ÙÖ]–œ _gJWúËsòŒ}¬¶>¥‹ä¼2œ:òˆ,ãJÓÒÓst×K/é)Ãe†4(Ç»Õó7iÒ417d„ ¿òRh%täS*OíÞB_6—s¥DC ;1VÉeš^égíÀ§)_9óÒ½ /qe»óSR7‚íì—z]ÆÙðOTòR8Ÿл߇ý<\a¡d×õ¨:`²¹uàd{Oq‘.Ö{4ƒ€FÈ.Ž—‰Ú+nPWÿç”:ÍäGîÓÆkÒ:R'êÍö9×bÅCºDÏW€ôj×é‘g>‰uÞVn TïD;x⸳ Bw±ŒÿøÄóm-¸xì³õ^õðòÆGå6†Ï{)_»ö&ØkXþÏü:FÊ Âî’°ƒŸ¸Nw_J‹ ½zò¾ä˲¶1èt(ÿ*YÓÜhÍÆëëi1cûF×Ô»Lr‚úÿ‘ôZÂs†E*w-¢WuØŸ#þ §nÙ4o§‰ÅÇåk–>—óûÖm3Î7÷À±>õjºh2ïÒZ_g)—iqc± /Ë nÔì2¯‘©=ãιˆ\`Íâ“?ÃßÎ_â1ÝT.™±2ºwýž_õa>TáVß1€Aç<Ù5A(ˆ7Ÿ¿RïÕ<³Êaµ;òªßa\M&ärwÑ€ç$‹ÿr±î‘¢û)9=ºDÿ‘f‘ZÛh­í=´Ùr'·³Pÿdƒä›éF m!‡Úß-9Læj Œæ-»Èšµÿå‘™ß?msÂʵUË*p-ùƒ4:í»kÚ\HoÈSüq|ÀO®`Ûãy™&6\|ºwÖEø±N×]›– k8‰û`éÊ÷áÔ—lÅÄ 7Ý·ÞoJÊ(ý4N„¯ìˆ°³G+a‰þÅ2Ö°Q6ëNvj‰„D1j†Ö2ò´>MhN–z¶á*KNÑ÷Ï9’š Öýê×–@ØŸ„Z§+h\ù‰úލ~ªò%öóµw}žFk™MHNã8} .àG½‰™Ñ|}KÚEÁT/ärÚÈ:íc.õôü4.¦vãÚi[ =#ÒÏÙ]5Ь4¾Þlü_½‡M;‘7º7½GïNÖ˜XJ˜ËÖë^IdÐ*’ZZtU¦ÏÙœL¶¼j^k¸ó¿¬TÖ³^q úFüøSÍqì´Úæµ¾5ÚÃZNbw•.õ4­¸¸vx |ÝôRêTáZ¶ª`h#øE¸‘‡yj›kâ=ÙÒ….Ñì]ñSw’ƒ"zÏ9²‹<Ž”ÉÜÂjFR—`Úá~öéz{ Ùƒïã~§ 50›“}ÈŸS!aŸö°K…ÙF­3yƒË_aµWŠø~:õ&/âÁh«$ÌOæ—ò3sݵ ¼wd¥çiêáôã$šÊ`Þ¾àaà’._­Ë$Ù°¡€[ÃOv€Á]z· ÃÆ6ýD?ä; Ç„;„í¬™Éò ƒô´w=ÿ_z Ÿ;{¿gmÔk8t«¶žL•ž:ѳ€€q\Ý÷ÿv¬ñ¦Ëõ§®:³ÌJãÛ lM6bn{‡ér'Q¨_éX&ˆŸ¼Unç®Öëã¸æV2Jß’’}›Æqz.§8Ps©ÑEOçoçì/yÈM‹¡ÍÇ”ªÝ7ÎIµÉ´‡- ôÑK+*×S“¡Œk¯mž{ê„Tƒü´Ú¨ýÇ­òf1çÂ3.20‘£÷\à›Õ×¶áŠ(XHjvéÁ d—ó9‰´©y¬ñ¨ü*)µ^>‘«¤¹ôÑ 5þd%нk\¡{#éUQÊoxË´èˆÔd‚yË'QK.–®˜X¹E)p‘i(ÊÁr¹þ­–múríè‚ bœ¢V}¹,N’t‰ú,¾£»kQø“B YŽ—#ÙÃ[š<Î0{ÔŠG3Ðõ™ršœXÊ}w0Jš3R£³‚K´=¯IâµÁÔ^œïÑLºÊéçÜcq4!N}JHù×5O)dw«ö`3ýø3 ×3¹˜w8å‚C}B@ªü>æž`åÀ"ªYlçqžq)Sh}=FjˆÉ^ÝÅV¶ÈÝÀ&6±•í²Uóe§ãà»¿Ô Õ%[k+5´uÈÓ:F®æIu­¦Ac•9Ñ^òy”ç¹’›¨G ½ÓiNXþ齯¾·ÎêlĪªaX|9 Œù;ÿ”IírGvkÛ²v} ª˜«þÿ×ë{¿Õ<ýû«[j©Œ7î‹Ì[üò;²Ò³­@‹Z.ÐÀ‡|0‰ë(u`ªLø»ªpåùÁŽúœk©Y߆¿º’tN¬rH´Úacóiãå›õ\¬âÄÐÏÉPz8¦údˆWä®Ö‹ žÀ<íäð"Y §_K?óK#×SShN³ï\Ì2‡GÌãÇ ÉÑd½ƒ¡Øå†N5?0¼ÌOEŒpü—‰d<γz1·ŠÉ(};¡fÕ©ï`º¾-yn½†¯äZ}A¬ÇÚmùÿ\hsô4Ói¼M¬a‹’eWàBvp ÐãÔÕŽ»qaÌÚZåÙ]9“Ô£\ °“§x2&El“ Žâ—°PÊb;Û½•ôܵ¸<“pñWp3õ ¤·;ç¡ì÷n#@€€ÓýB” ¢2Ó ª¾”DKv^þÓ t FéÁÅìUcÂ-µ[@ˆ) ,}èÄK€\±zk4â,ÿ§c$É“aŠáTÛUu@²M_pmä© _æÝý"Ñ…{1PÏÖ³*’¿ê ÖÚ¿ÿ"=õmjl× |âó¤<&þšãQ\¥]æ3šö9Ó>|M]ûœ¹ú $j«¯1“DÝÂgƒP\aµå8ó<9S"Ï·Fñ[¹z§X^b PRξü\ºé8ºØgïb¼¾§SœïÆÁ…:0ágéO­ó"^!³8%©V“kYÃC4ë>uÔ1#ÿ,òÌÓÙDUr+U9ÀÂnžåñ$×p¨¼ìá ^d87Ñcªd™vcQ)¾œ('gÔVîÞ­™dD—)EÏkøÊYµa7ƒùâ_ÑNYj-1»€`Àc®‹7Û%ywžªœvûÙ>4íɧQ,C … yÙ1K-—y¶z6çð#7Š›lŽ\S)Cé.òùÎŽ0¿“Úò¡>³_ådøÇlR•½l·yG×vágù™k9FÏå ~ã|jÌÒ ØÒïä­çÊDýIº¶ -©«eE}•)S[•†Á“–¾x^Òjí¹÷ó‹ylêüóÃnùl­SŠÙZ­•°’~ÝJ;½o«úŽÙk%¬²õ|/OÏK¨tö ÑëW2ü89cm¡AÂ=;[Eïl×méÙð'U*§ª«¨?`DLyаfœõ_<Ú†&íQàƳ*‰oX›G£×7|+{¸›bŸGx£AŸÑ›Õ®£Ke£R~ï¥F-Ôí1,asÙÎ2MIIÔ0¤¡­‡è<Ä·ò-WiHRZ$“¹„k(ˆ›ƒX”Ç à :Ý®î\¼É¥)ÚFMà8&‘KÍß=ìŠ×9h“êÌ ­ø,V~Tøì¯ÂyêfžQÝÌ•êdkž‘eæ9šCuÉ"ÓÌ12È03%CÒC¢Ö%ÚÈ"-Ô"£ˆ|³ÐØËnÍ'_v˜{æÙÍòe»æËvS}]öaƒ´¸M­4dx99ñè‘d¥ AÂ^ãÙ®WŒLË„¿8Á³xì³½®ïÑ#¢‘z-›ñÉUE'÷§; !3¹…7“âÇNçIš[×;Ïï† Ã£cZê3&m‰xáµk†]›ð4§Uè{iÚ”Ô—Zš+š¦é‚°”°†¤DöÊ6ÝÌzÖËæRÞd}Ü'¼E:ðÛ¯'vMÊ\»ºóÏÿ³J0Ç™öÅè/ˆ;R‹€[ׯ©u›¢Ì¤d¥”mŒz`4ÿI!×Ã4úò%uÉnþÊ“Ë/›µÝÄht¥ #X©Ùê‘êz7ýµ®æ²6ÎyÞr8 S Ÿ=©ë:îëÚÇÔØËNÝÌ7üOÜ̦AšO‡‡ ’ªXäfÌÑ\¤&ä1JÉ›½‡Üb`'ï'³ÝN5%¾©«ÙËÍžø­ ‡TyÏ—åµ>Ëh\‡×¸ƒWë <­¨4eÃ8ÈZòïëç¶eÀEã?¡cO?ðg£ùÉ4f]9 „‡s]8„‘œ$·Žðkë],ÖyüÎ/ü)e?îÉ4Ö.ë÷Á>Ò²l£T³¹áÅFûs™YéÜeÇaÄý^ ©Æ‡Ôæþḭ̂oÐij]ÝyàF¤¸;fÑ)Ô¡Æ_=zÀ5[âu§J@†+z‘ß߯}ôóœÀþp0 ÙdK#:Ñ\ÏvÝ¿v›ß. †ƒá’]_³ÜVVs£rì ´J‚E–ªÉ'÷½ÎÀ$ùf\ïãˆü£Mâz%¨‘ v`Äû.ÊÑšCïp—À4q%¦ÏZs¹.ÞûK^ _}»S{t•1„`+àð-Sùuåî¡1ÝèE_º8ù׬~³É³ÍäåíX«EVë`]ÉŽ¹È*Ö†ÿ*ž7ó—>ù¥@D•æñ!vÜ”û¡Á‰¼\ÊYõtNá(2*f`M™YJÑÝ÷æ¾³×Ë<½ºÙYÚÒŠ¦Ô£5È%K‚¤ J Bšó{!{u7ÛØÂZþf°¸.ñ1ôŠöÞô n†úFjñ´ ï„1)‡ €ù ä{ªSçðé#Û>Ä•‚Œ´ŒŠi¯ãÃs’Á~–=&‡š­º·(\Ï»1Ë{eCl£Mjz®h)´V”T âv~nÏïsaŠj]”Of;dƒñ*AP§¦ç`9 RšÇYœCo2‰tă Ýš°g\ÞwÑ÷ÞÆ5_?Þý¢êg[Â!ÂõÀ6²„•,OH–2Œ¦´ -¨í:š¿ý÷™/Mû`­·_9l`Ÿú=Óò6Is0Hã˜Âд¢q_|xv~)ñB•žÏc¿¿ñæä}º÷¥jW@ßR£–žÀqAKCJÙ(dx~Ï W¼\]EÌןù’H\wç( TrËè™;cë^Æi)Ô14“qäÁd†ï£XŒYœÍD‚´üåÇîsBWÃâŠça¼fßã/çÈþ\£Ö¦¦Z¤~Y\‰ é—„£.#SU!#ÊvéÆì¡]FXítÅ>̺𓠜w,Âçr@bƒ ÄO×Ð6ÜÂìpúÝLc YÅ&òQÒÉ£!­9„ž‚u‚Ãr‡…—ï}nÔÚw0¬å!ãG×ë™spF=¨ÅÌM÷{¨üò·¯]½xÅç _]íàõÒÞxÔIYõ#³`.3øƒå¬g%9Ô£èF/²!3plÖ±ƒ-|gù胖{’Ù¢£¤Ò1bÜAü*Nçè5Üè¡»©ºdËyœÇŸ:JÇññ@½¦ÿ=èÞ1@˜ÚÅQQÔÈ(e-Ò\Ëq’–„›eÐ]ºs[xOŸc‰OëÈ‚i[ƒ24¥×âä>:ò”Mó“¯ÉS@ßÛ.šûÆZ_ȨÐX¯ÐàU…ô¸—}M‡Iù—ö" Ù* J¡æk±QȲLÒÍÉ”LMç3ɨ€{åõ¸'¨Ï 6d ¢˜"ŠœJZ!WÆÌƒSù ظªÁýN݇b§¯ )¤ÈUŒ4YîoA0–µlýÁ-Ħ¸ºè+¾ŒY±mɨ³¦Y°.Œ0oê|jÁ ám`åÂVÛ0J<£¾Bg}HY%íÉÏ éµÏc&?d°aZÃÿPL1Eö»†a®Ébjz_%óÍ.¦ER({ÌŠBòÃEF‘²Ë …ìÑŠ¥€=²–Ý 3°[Q·õ©É–j¤k5²%“ YݨF†¦kŽQt³ÙF¦f(:ÇxÙwð©îÃÍi:‘3U1LY©y&;¡ÏÀ˜qì¡÷<Ëö;\À.yLÿÓ2A‰L¬¸)îÕ9¢úã1Á»#åJó(ï—é•ÙÄÆÐŽë¹˜ Íê¾R8ä‹ÿœù·“Ábg±ÌØ=ãO–­ìðu);¤¾@µŒ+¦ùìM̵_½¬ñ–™íUždeOWÄ×|͸€›hÁÌó»ž_ôí²‡úÍŽ„sï½¥âÞ®¶g ÷ÆÂ…ÞÄCqf¨=ú YÆZ6±Y6ëNÙ¡f¤ý½3S«QSò´ ©O3Úq ­Äkì$_j_]êé½ñLâê·8£Á'ëâ̳)­Òä<‚p»\ ÔqäÄŒË-ºÅ¬Öu²‰mla—ä³ÇtF4MªK¶Ö‘šZ‡Æ4¦íi'A.1Ljè¹ˤö.—q-8²æÏ[ã*ê¾(·¥Až%wî‡ûËéEcôú°ßÙßzL“‘x±ò‡I4Œ£Ôg{6å\`kE¶žQB aBU árqbâr&µð­‘ o0ì_Õt.íÄOÃÎ –†¦„ŠœV…NÍ1sIVëçó­oÎà)>ª`Ôxsâ+*yç²[Ú†A i¤“Az“œoFti•†ê°‚êÀ´ïû}XWÅ|á°K.IËåmn«`Æl:q£Ã÷šÿÊew}PGÊW¶%A’1Á 6ÑœBÏG£ÌÛ]h±›Iú?²Ì—"²ü½Û•£é¯GÑKo£Î÷\ó0~^|õÊ_l £ˆ"[—,tú:”T—¯ Hè“À)«h7bNÒO]KüzÈ·Lc]¥¿2õŽaG»®ú§ÆAF?¾ž|ᆙ„ QœPÓJ‘¡N/âu˜ÁûÅP} ã=ëš ÞQ@Ź*—W„l1˨àbùÿ—¤yþÇtåIöâêH‡QòߌãÞ5²áK.û—ÀÈìò¼LßMj;l’y^_Õ³lVgb,!Ê,#~P›Éo•!´€·|Zd_ÉMœ@Gå+OX±¢pÓÓ—ñîå×0þÿÓ/°÷‹iöÿx’Àʾ•ÆÆrïì—q)äs:;ÿeMð½ôbžÆ†od‹éíe̓Ã`}ª;8‡kYh©| jök6¬ÙК‡² wél‡]fé§|Æ4yMáh]!ËD>R+¤ò)º2Ž" =£ÕÁG #bKÖG%œ’y´CÎã;Hjp¢§QÏèI>pØ×¾ŽTœd¸°d§œ#ã ®£¥öʾ®þ~5”pï~\–ò&ÓèÕÞÎOs´Œ T‘©ˆ†á¹Üy%ϧñ¯“›ÕãØ:Fa‚jrÏP• c4Ö§Órž¸ÅÿBÔüCÕ“õZh¡l°{1ÝÝ£¾ÄÇMη[®\Sf4MèÂ4$ØÍß,`†C‹ß”‰X¤ÝÊ´›ý|§ÈÇœA1°€³©AO¦)9@>ÿ°ˆÙåȦ.'¬r3£12®?ñqví5‹9,‚)ÚwvgŒë¯æf;à}=•›.¹s¨ôGT%:i»â €XšóäÂ…}÷nŒ‹ù¨mŒŸ¢–0¹‘S8žobvƇâÇøª ©³ut£¼¿_(‚¢ò(`ÀÉü“ƒ¢®ªìeê•6I%÷_¸8º3gM+ôÕbyòÚ¥“Ãcê4ïÕç­a2¯þK-SÆ3Þøé¥m @r"»’dÉZÖ2Ñ÷“zú½´¶Ÿn½*q§Ul…yÇ<ß®„°‹ÉLNY½Á}Ô$§9a`réåVÁ¹Ün×þ°–͈q.µ’/3´¿@i¢Ñ­þ´B¦¯†œJÙp_´hPMÀ¯)¼írÙªµŒ¤ÓilrgøÇkZ©j“óžÞÏ«À¾âDuíU{Ú—VÔðZöƒÿË¡õ 8Ô$WJPô÷`àn(ùd^”_2-ÛËÒ#'9YŠuÌ‹ôNɳ ?9Ü õÉ—ÕÒW7ÛG¨’†=ç9‡:ö_{ø (’I&dØf©`\íÆ²Ä,ȳØålÙfgQÊ{Õ*Ý´G£ìe5x€/–Çš‹R-áÙЀ=Ç X¦¿¥ôÎ3˜êyË:6§ÕøU®ˆ×´R%gÁÌý迈ÈK€¸±wœ™>àw/¦óÿ°ÓÛÑŸI¯•Ði -àõ¥9*‘TÌÄT™öòxPVô 3nbj ž¤–N•H­ñY ´SîfKoý–¦0P~Ñžº#éFŒIôáÂÌe+ØLG $H&%vt”w/ZN’ôecEÞ…¬âÇÜu½-³u\ʽ€wƒÖáUöØwÊæSÚkÿ¿òΣ¨¨$"Äà1De˜fh¦§»ê¾?êVÕ­êꡛ鞞54ôL×·îý}Ûý}Öâo×(:il{fÈ)›Á69{Á^W犩l«ŠŠÄÚ×E¯)?£œW|ôÏ÷:–6’£¨ÁRÔ™×kÔQÉ©cXŠEÔ'O«çcäJø=}F4„«üsI=}#ßâNɹËÁ øR]ýê™C Æ2Öýûy (Ÿd¬K+Ä¥®©ƒMÚx–ˆ‘ÀÉÚ5¢ý]œÌ¥ŒaŒûJ*B< e!Ðs÷AG44ÏîþÜG 3ívam.s;¤idŸv‹ò·“ø §­É[Ÿ†ÂnQ³÷C÷´ü$>`w’”¯îÕž-:™çû Ãx‘ÀáæÛþ’™(>uS@ðRØõ)^å:ú–•]G–Áð®Ë:FÖkHéQGëÓ/-ãïê¨k/ðRÛHÛ»`¦ÀÒ‚Ju a$Û<¹qïšš>Èm1TåŠ2…©œÎ zå0ûØÄ–±:ÏÿEšˆ&xBܦ٧Nå Ÿ;˜ =!¾­ìÉóþ¢L`*§3„JJh¥ŽÍ¬å5þî냷˜Î:ú_|ÔP« Ýz~ 1E^ÆÖRT±s¨c”=¨îös¸žó¸…7:åùF¸•9”­É»æ.ªÍ ‰bË´%µ ŽÏ€™LæfþÑ)8ĘÅýtZ“wÿaydm¦-màƒŒA1s-â:bݯðìg2‘“ðìÃrmh46çqãXl«Õ|šrþ{ZaЍ¦æcÀôö¶ÙZó>?´ÄÜnãàG>Iš2f1u.RzpÓ¸—­ü–ÿq=Ê#_ŸiçˆI¬ެh9ó©g"IàßѦŠo²|Ò9eÜÆ­ôõ™Ï àkÜÅç<Âcʽ`&/[·Lx^NŠ9ЉÒ“c_ò9»SúÀúòõøP–³Ÿ¤Ó,Å·¹Ÿ4îŸùè3Û3 ¤ß«.ÚÎ.¹³~[Ï9züþÎ üœõŠC”+ø)Cìç¼ç†Gì%‹bGgÐInCHÆ×†<»CÆ98ÕÚ# Ù%uìQ†_‚Ô£Féá´ðuý«W΄k „U¬P^¼œ‡èg{èæŽßÿ÷{;6Ôësú‰#Gô'ñ[~ĵ¬Îù³¬Õֺϣ”— <ÃU2x]ËÛ ù£òé6lø×öU{ÎësêÀQ#Ny™ÜÌkîÿ_À:FÓ³B†éŽa“GDöKå­AxüÓË׌¸dœÆe\Æ<¢9ÐYÁ5Ì-¦õöW¾²³%`$ƒ£¼)ÚÄZ¯|ûìGâc4¾ÇwYÊïXÚ!g+¹Ž[(qxsÙ ÷·†à`FÀ‡†ã¨¡(Õ¿£¹êØÄÉ î/»GÕ¹fnNÑÿï¢7>¢«]´;!¥UÂy¥èìë+À¶úP±{á§[½;ò$¶}ý‚{Hµ¬Z|ïo7Ù¸.ÜÇ:^¹ ×}SÏ:?Ê›ü‚¹y¨;Ž—äœÃË1¹68Å¡Áÿät Õ²rɽ+Þ9hßŲ|È¢‰¿œvÖù‘è@1ÛU‚Ìg4B“enCž}õNíøGÉäºZÄ”M|kíe#îè6&3™ÝÌcïM”³” ¹’Kè&äæuw¿´`Oˆ NÊ*^BFbâF.~÷²Q·w®1iìäyæóÏ¢¹ôe\Ä÷¹Hªh˜ÖïÜ»xqmçáP: œÎ­®p­ád*{+Ý£†ëé¾Ü‹ørF±##2§ñX#ŒDÊ¿µ³{XÞý_s'[Þ¹æ™ÕMJéIJ}Ëž»lùc7ô忘Åã<ž‡ëžc(К4¢†~%'ruÈ箥 €më¦?µ²^q VÿÜ…K›~â(ÑÝ"þçIê€pë\zhd𛡔xž±„/žî*ÏÓ>Ìb»XÂRV´1~=ÿ8˜ ˜ÆdJå+ÉÄšÕ¿zsqm`æ™§_m†ª@Ç‚ ÖÙKXñò”ñW?N7j˜Ílv°˜¥¼I}qÆT¾Î$W‰äpó»«ç¬X¾¿sqЪ¡]fçozö 3è¾– /u„Ñ!É´†c ŽrJ ²lŒWúHçûaYú^þìÔ…Š<:ÌWw-Ÿóê7Î/­à.f³ŠXtÄ–€îá"@kòÇÕ7ó&CË:æaöá½C¹˜ï1V>ädbù¢Kù‰ÌûtK÷žôë·¯; ~CîG€_g6ØG§åm ‘£ï¥úÎ[¬ýV¿Û§ ŸTy ôåz®Çb#ï±–÷Ù@ÓQ>Ã>Œf gr¶"0•NmÙ°lÍÏþ½¿Õwמ̗÷»ÙÞµêÕ›ß\É»W ˜qñ°‰C¡?7qJ6úøå³±û2š38ƒ±ôv_mM~²nñšßlÁ!ƒYT4í8ØÜ…öþ§@ÙñRÆûrbióH”ñå Œ"7ÎkÅþ¼ßèß©ö,ÐÀJÂm¼@oþÀy,{âÂ%D“‰”¯Djʼ}hêø)eU:“˜ÄïÙÁûlà¶²‹:šÜ7kôç<¾ËÅØsföm¿þÑ…ûÐ>ýï_ÞØ³²”{¸ƒ¼Ì?”¤ŸNUôeÃɪݩ߽ìo³ßÚÑ¢Æ>³qÎSïZg]?e ·cq[æJÍ€\óÛBi¥P õ‚½ þÌ‚)_¹eܨ¯<-Ö]g$#¹ìf [ÙÎ.ö°ziæ0¦›º2ˆPJÊéEoª©a ƒŒÎÂ=›?y}ýÜö§ LbJÎTN»Â9~!1Q”§ùf:›¤ŸÛõÜ3Ì»¤ï çŒÓod¬»ÎhFs ø‚-|ÆçìVph!í~4ƒÝ]úÐÄ`GËÅᣗoøý'.a´éÇÁj‡¤ZŽ×Î.´÷wzñ´¦;Ðs;p •j9ÛD M¤áí¢ea yÅ8“ƒuå³1u-G@Uko©KKO7žläÃc,Â8…d¢d†«Â¦=fÃÐÍ-½ZˆÛºæÊÇ'ÿ•˜{Ú3ŽÞ/Çpj÷úÆøÁ_-« þüÃì¡‹2j×h\ðÊ«¶l½¢ºhÒ”x©K|Á!tª¨‘?­ß½qýKkܤ,xŸn†’±¶òû.·ÿS+q`Õ‰óÁUcsi!©hF䢯æôãÙ¹a{Ì[œ8%òÏ"×8åäÁ' RÑ'ZþMÛ¦¹Ç‡Â¯CwmûlÇ¿>q«ÔªÆ{üRyÒ¾§¤¢AYxÚðpðôOâò½îxó  ƒ ‹ÃŸ6¯oÅÁ’=o–‡W³ˆ8¤§O& ˜zkï¥7ëÊg¹Ú(-RÇVÚLIW"«]Ì›0Žë`]ùdFK¡ #uIäÕc1èªû¢ê'rùÅdì-ä øÖÖ9íu]vÐ&¶üïÜ›?r§¹ê2|U³Ãž {î傪K©éß¿¢ª{¯neaÆ¡¹~ëÇËÖÞ÷AÂòû¨•‘9gŽ?õÄa¥!cËZ“-Muµµ;woÜýò¶wBÓ!VÈg“Ÿîѳ®þa™ÍiÞwá}«å;œõâQ†#hiåL: ¢ŽT”k(#RÄ@G?§âÜêáÕ5U½*Êzt+-¯„’±xø7>ÜœjiM&š666Ö6ì¬__ûfíæD ."ƒ,„4“¶PV*C²Ø'Å[pÂÐ$qzÔ#îª1D5†ó+Ï©\USÕ«¢çqñxÛ8$Ó©Öd¢¹¾¾¹©¶a[ݵ«Ý™ ÁÁ[XÒðg«4’)ùt‹€Czºñd´Œ³2µ9‹HåEM“’zÂhŽ$"ÍѦXS<k‰µÄ’1ÓHGLÃÒ…&²Î¦EÊÛhYo"ù»Í˜˜ a¨Šr…Ñ1Ö¶WTœfj‡ŒÃÆ¡HS´)ÖKÄÇZbÉX*’Ž˜†i­-\ŠƒŒvÄ{ª=ôÔ6%ÂHúÉ0@G¿»ü”êÆhSt¯ñ`ƒ2gÉÀUg„™©l:\5BO¤Å@C/L8þ´ÞÞ}ÚøA㦄²EÀ?†•žu|MOç­bý·êad3“1VàÓyt¦£_Ò;µtËx§q¯iPXîzIÊM””"ÛiÙv{$ÂÀ õó˜û•†2s¦˜W•Ïš¡dáœ$ñüê´4”­R{²½ê“䈃GA"N´âàà­´ŒS iŸ‚}ÁqØÔ£¼ªIo0öGöG£âMñæøáxK¼5žŠš3b³›ÅÎm Ðâ`òÒUtÜ"Ï52ÛŽ¤ó! Ü3FŒºQ"GµE=%µ,ß±£ÒüjéÊö¯T`KR€iaxÛÂC¥$0¾ÎìÕŠÂï ™ÓUCSÕÏp «“T(‘Éçyë’0LŸ<•%'/9) ])¬®¬mðø¤ð-ùK(åÕœh¡ïBÔìx×þO'ÜO§6z÷â' OØ7ˆŸr‰1 W%& ¦G~S©ŽÜ×|¦R;âÓ>ŸÚRîÞrïß3”)—,<ºhœžCapt†ƒó•VPpžlÚ]¹<1§Ú‡¨Ü?Ž…ˆô( oDèkÎηqP #å’gVˆäñõÀƒñÊYN6Û*ü¤¦£†J-t™ö9Xhí[NŽûË6rV—ªŒ %20€š70H¹ÆÕNH9½'¶ù1Âpâ‹HF7F¦é>9áUS\Ùæ‰ ì-×H˜n#¥JÞc;ZÒ\ÂH¹…a3/Åc¿!·”3jöûÍŒóµF 7ÓT†™ âU‹P¯ÚT#í¦_Rî³²Š|tOSpðNÐ[˜DåÁÈàºâ µa>sÃÁTV‚ŠCJ)þ[ ¢DFšÌDC(BÀÅp&EèþÊÜñ9^‘£¼eµ£9.F׊0„’·L+[¿ C(Í›ÂWduhTdAEë$¢ðªÝ6o3Ø‘nK•š.e8OÛóÉÍèyj(>|Dù]5‘™&!X¦t:›üã]25ðDÈ{U¯ÒcJ²ÄðìÔYS.šü’Â5Œ6Fi…vÍÀéZ=’ÑA‰¾ÚJʈ6ͤBjoPú¨ˆðhv†­´`I1*ooDH+8nöã`eœ»vH¥Úh0îG6-³6z¾ŠŽíÜÿ™®bgÝ#y=þÌ[V ÈQˆYÉÕíâ©5§ç%oì,‡®„JðÓªý3é,>‡p£ûi§e|aI:ô¾‡™•0 7ùà7‘~£ F>ö“ÊRÖܘÅïïHrÖaø=êpÂpî'­d¶M_**׿ZdzºXö§‰ôYÔ»ò£’=#ÈÔsÈ,ò›Êý›.UxͤÅ>´§âŒkÓY‰³Ð8˜>ç!­àa*[¢(¤¬«yN¶c:¦‚\^õÆÌ]{0rü¨Þ¶!½h³Í\}gEBš³T #¤PÙJÿ0uϳMKT,wt…ø‚Àpk¯s$ˆJÈC'%7°qàV0ÒŠYö½ _â'¢˜†ðHAøÚ`-×Ü„†æ{YÓ1Át™Cgi…0¼~ZRF:$êÊi+íš¾4ŒßPêúNpê™–áS‡yÕ"Pè7³FZ…ܹáàÿtF†{6  þa8¤]7¢£qȤ Ç>h˜ÈÕ˜r]iÕ-*`JÊjRw £½áô¬¦°3ƒ#˜ÄbÕKÒJ²&|t]gÅAtœ¦ËT>þôŠ}/š»ÐMù'‘aŒ„+7¤+ÝB™F2˜­†ßTk£FÙ Ã+v[! Ë­¾8ñ)iCWªi%Ã}4‰Loæ§RUÉÊàJÝWÝiÛ³e¦gí7—ŽY0ÝÿMÑsöÙpÐݵÄÁT«rÇÁRb̶p0iRÑt!2b« }Њj-E{eVºuä(ãÜÈÿOãK‹q€|IEND®B`‚./chessx-1.3.2/data/themes/shadow/merida.png000644 000765 000024 00000326456 10633464147 020402 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖbKGDÿÿÿ ½§“ pHYs66Bï®tIME× u8& IDATxÚì]wTWÿm”¦"ìE±`Ã^ÀÞ{Tl1ö˜ÄÞ5–ÑXbŒ5–آƢŸbkE,ô²}î÷ÇÎ,³»3 Ø"dî9ïÀîμ™÷Þ}÷Ý~ $@ $@ $@ $@ $@ $@ $@ $@ $@ $@ $@ $@ $@ $@ $@ >Ȥ)@ $@‚~v’4m^H¸ ´$@ $@‚q^J ¦„.H m $øŒqT"ÎH Á¿IƒÞ—FI4,›â…V«-§T*ëH1ÂDð"3k,áH Á'8ÐßµI Á§ÆE rý°hIIIù†Í0Ì":ED—†Ùb4§ètº–VM)ð€œ×d±Ið <<Ü‘ˆþ&+`æ÷»wﺈà@fð@ $øŒ‰ÏùYÒÁÁ©jˆJQ© æGž…&k $WZ³ÒîܹãÀ0ÌB"J%;À0ÌÅäääV°PñšR Y3™2HÂF¶Ä3†aÖs8ðâÅ ŠŽŽ6ã„Á`øUdý³‚H Á'8$Þ‡ÁÚ¬ö®Ë.ÏÊ F?"bˆè$}ï.27ŠL¶O¡!”à¿C{äïÐ$|ùü‹,Ó×ÔÔÔBDt†cõz=ݺu‹6mÚDcÆŒ¡©S§Ò®]»èñãÇ|¦òÏ_ýÕ €ƒHS½§°ñ>g’„‹×ÒÒÒ¼ˆHODÔ¿’Éd$“ÉèÛo¿åÐ!%44ÔS„ð@2$àòwd0Y$ºïóœ¬2´jL9†±Ò†Ù¦ÓéšÁÒÝ@) Ò~¨µ‘,#ý±Þ£™ÑFŠ1‹|¤5KII)À0Ì· Ã,#¢"ÚË0ÌJ£Ñ8&..®È»ÐØ«W¯æ&¢ëQºxñ"y{{Lþñ6­M›6fíµÁ`83þ|¹ØæÄkŽ"†Âßß_©ÓéZƆÙÃ0LÃ0kFã\µZÝÊßß_ùÏ$ Þ“FƯ‰ˆH¥R™qÁÕÕ•4 ={ö¬†Õú[〃ˆ°)­—9jÓ|J¦²€?2¸&Kïf06988ÌGz€€^¯ÿ^©TÊÄs2ý¬”””QnnnǬŸÅ0Ì>™LVêC äry%X}Q³›€ÑÀÆèèh(•J(P€ÿÛEµZ=ÛÙÙùoÎÄæNh>„æ 'NœphذáˆÈÈÈ5_|ñEJ&ׄì|–‚òrý{úô©{áÂ…ëÈår_™LVŒˆ4 Ã$ªÕê »wï¾0`Àm&qOloJ¸òÖ,)))¯‹‹Ë<™LÖ—eÜ„ÀÈ0Ìÿâââ&yzz>°Zoѵ0käry"´iÓðÓO?Áh4Ú}¡|ùòaÕªUèÚµ+ÔjõÊܹsXwÆê ´´´6NNN³d2Y;´ò¾^¯ÿeãÆ¬Ë`™=$||G>Éh4~/—˾ÿ>*T¨`qáË—/Q¨P!DFF6*]ºôU9·>§Ä¾“Ö*ûð2ùôP@9_ÐxͶÇì“ÉdIÒŒ}¼…ð§ :n«päi‡Tƒ!øC?+11±›€&JÅ0̃ý,¡1e íÈn¸DDtðàArtt¤   ºté’ÅÆ‹oß¾íÀÓæ¶j|M¡õ|Yh™?~\€a˜S¬ßôØØØr°ÕF‹ùPg¤!” {2 ²7oÞ4?Q¢í˜ªÑhæ­]»6?2§™Î{ôs[+2NçCDá<×$º{÷.mݺ•¦NJ«W¯¦K—.QZZw‰F£ÑŒƒ¸ë’™¾ÆÅÅÕçnZ¾|¹¨ÕB¨)•JŽ~1gΜ© w¶¹²Í™¥[Nœ4Í>’ÅÇÇÓñãÇiñâÅôÃ?ÐÞ½{)22’O/GDD”CÖܰ$‹ÆÂ=¶Éõzý·DD÷îݳÁƒ—/_QxxxKÞºsÍ…Åg«sËšvH–ŒìÁÔ#¢•D”–I¶NKDû C³ÿÊ~TþMKKÃÀß«aÆ¡qãÆ0œ;ƒ…€a™B¡Àùóç±téÒ÷zÖ²eËàéé FÃ1‚Úò_~ùçÎ{çç)R?ÿü3mìjÖYvÒt0 ¹\ŽÜ¹sC«ÕbÓ¦MØ´ij×®Q£F¡k×®ppp¨åááñ·Á`¸ôøñã‰åÊ•»bG['6GôâÅ‹r… ‘Éde@&“ùäË—ïBrrr««ëaM Ì­,'̽¦uÖh4uw(Äýðüùsܸq:U«VE©R¥ “Ér;::N8pà€Ž;Nõôôü3¸'áÉ;¬‰=ÐjµeT*Õy $$ƒÆ«W¯l®uppÀ?ü€qãÆ9:::§¤¤È]\\~ØßæÿÝÜÜ&@dd$&L˜`ùr2êÕ«‡²eËB§Ó!,, ·nÝ2ÿn0лwo\¿~]V¶lÙ–Â9RÇž Ë82djµú'GGÇ‘€o¿ýü!lܯX±"þøãT¯^½féÒ¥Ï]¾|¹¾ŸŸß3‘qX[.d°oI³7﮲ï¦P(òËårn]Ÿ7oÞJ·o߆R©Ì·eË–ˆåË—§òp‚[é-iþ³pñ€`V0„ÑhăpíÚ5\¿~>D™2eP½zuT«V *T€R©tÐF¡P´6Ënܸ1©F3BZÿw\NS“íP[¿Þ”Ä!99y«%rãir«Õê…DDÛ¶m{ïgqZ¤gÏžõbŸÃ×Fä6ˆˆzôèñ^Ïñööæ[0ÜyÏâk¾8‡†*Û0F£±ÑåË—ç¢D‰´cÇ ƒFRRÒ¯½zõ*Ì2\Ë#´þœ†èíÛ·-ˆ(ŽˆèÁƒT§N:þ¼¹Ï´´´ÉH·„X7'-“*í Ù@#©ÓéÚ‘šUqÓ„ ÈÃÃÃÝÜÜhРA”””dFÄèèè!H×N[ã‡/öðD‚,&XˆŽŽÎMD7XšOýúõËM­W¯G¿™‡ú³kÅ×$;Ƚ{÷n/6éuëÖ͢… ÓÅ‹mÔ‘»ví"‹k§OŸN©©©Çf[Aä@ž§OŸöäú ¥"EŠdÊB2sæL2d0näŸf Æ{àýaüg ***Ã0Ó‰(EHmÏ‚! ¿zyyåçY®Vë–‘%C‚Ÿ‡u%¢|«c¿~ý(W®\v÷¯““õîÝ›bccùèî¾xñ¢ ¤8¾ƒ!àC  «XâíÁc8ÝRSS}hãþýû}yE^ŽHƇAÀà‰ÏÈä¶"FÙQÈ0 wîܱ;'7¦7n/£Ë£óçÏ·gmOÞ<å³"Ü.oÞ¼ ""Ñ‘#G(oÞ¼€rçÎMû÷ï'žÅfvnù¦lþá[älÈÔ&%%•!¢x"¢k×®Q¥J•2Ü›%K–¤“'OrƒöúõëEðŽcr‚"à_*xs&73¸ý”%ºZ©R%Òh4”––ö',]—8ŽkTTT'®///‹û7lØ Ê4N™2ÅâÚ&MšÑhL-V¬XÅP„6 5oØó„œœœ²4–ŋѣGºñÆ!䆕+“‚Æû9†YÍÏ$oÑ.]ºd³><°¹N§Óñݬÿà ›,: œëBB†ÿ®p¡bkáÑþýûmhEF­P¡BôÏ?ÿð…Œ;lÆ1‰§øŒ7oÞ¬åð‚,Ó鑘˜¸äC ×®]û €L.f­”Á`ø†õ˜òñ1!#» ¢L¯×÷&"züøq†ó"—ËiÈ!ôæÍó¾|ûöíï-[¶ü‚]‹µo×®]•†I&"Ú»w/)•J Ÿqxýúõh;–Wžp'¦m’ˆBö`på ÜçpÏÙÙ9K~öW®\áüáãÚ¶m[Ú ïòŠ(þëÌ‚ €ìÕ«WÎZ­¶œZ­.ºcÇ2™aïðáÃÎDôšˆh÷îÝ6ë¢R©¨J•*Ô¡Cª]»6¹ººÚ\3~üxbF3mÚ´²,Ýæ˜¼|òÄÇÇOgé€Í½¯^½0.^¼hqm¾|ùˆˆhÙ²em”P@)VØ(òèÑ£Ñ,þP½zõlžU @jܸ1µiӆʕ+gó{®\¹èáÇ”ššº›71A×lQ;qâDÁ¨¨¨*‘‘‘Åþúë/gAËÆøŸ‹áÐét9‹ÖäÉ“ÍÊ©wi...ôÍ7ßp ¥~þüù¾,ÿÍPJçÉg%`¬à,¨ x/^¯ÿþ”œœÌÅ‘éÞ½» Äãq$!33‡Œ=cÖ¬Y´xñbÑV­Z5A#::z€ÒJrD@¡ØØØ_„ ///»Ï™5k–¨€qúôéaì³J°š)/…ôz}¸€Ñ©S'»Ï8p =£ ;&î9ÙÃ$/ïc`>{fC¯×÷""Љ‰±˜™L&º)óåËgayP«Õa“&MªÍ[³P¦ÑhNrj1&R&“Qpp0Gø5ÿûßÿ³„ßÚ:"dEÊ•Aõ>C¼ÓétÍÙõ&œðôô¤úõë“¿¿?-ZÔæwR«ÕDDt÷îÝñ<¼+d¥„ ¦Ã0 ˆÈšK×Q¸Á`˜rïÞ½|°“ X£Ñô!"Òjµäééi±uëÖ¥‡Z»¢ÐW_}e£¤ £gϞ̈́€ûÒ«W¯¦9sÆâ>GGG»Q›ÑÑÑ68òöí[jÑ¢E=•Tà Sf™RjµúÑúõëmî &½^oÑÿ©S§¨D‰×µlÙ’†Q÷êÕ«,; …G¯Nœ8QY£Ñl`&J @à­V;üÊ•+x¿4Ì9—eF£±3«À´QN½K“ÉdÅ€OfÏô¼3³dˆY?¥säß.¾âöŽ˜{fþüù©E‹4~üxZ³f Mœ8‘Z¶lIùóç¼¾OŸ>æý˜œœ<+¦$dd´iµZ­¨€aÏwQˆyçŒ'Ožl†)=XyVcT@‰W¯^-0|}}í>çåË—¢ÆÁƒ¿µzV)Åu:]„Ð;ræl1سg=Ãú9ÅØÃÄ“'dp ŒJ@ÛñYk‘µZm/"¢¤¤$‹9ððð Ý»wÛª|B=yòd2 \±—+W®lÏàJ„‡‡Oâ!&Ѻq&KNÞ¼yó²,ÃXDäðÎceÑË¢ÏÒzqˆhõêÕ6ŒäêÕ«Éh4ZìѦvòäɦÂ-iia<¼+ÎcÍÎO¸pá,¨ÿüóàÚNœ8‘´Z­àÓh44nÜ8’Ëå6÷îÚµ‹ø.\X»ÙJ8ð)Œ”””ˆ'Ožìzúôé_QQQ;_¼x±=&&f›Z­¾û¡Œ7oÞœòäÉ®gÏžýõüùóÑÑÑÛcbb¶ÆÄ `ø¨ 2+h”á11ž¤»>dGwÆwšk6ó=|øüüüì2bÕªU£»wïrŒîAooon?9p6 爈Ǝ+¸ŸÅ`ñâÅ×7hЀbccO²J¾ûRY¥Õjõm"¢6mÚXÜW¶lYzòä‰Mÿ—.]²‰÷=z4ݽ{7@3Mxt¼ö¢E‹úpƒ5Í;wîœÝ±XÇclÙ²…öïß?Ї7ޏ¸¸¿¹{._¾l· 9jÕª•ùìU«Õ¿A8±…½z/9–™Ça0¦Ú[¡,R·oß6[×… 22òÞz•æç¬èE.«¹–΋Ïz/duT*•tùòå,Õ7;uê” ïÈñ0É5kÖ,[W[¾‚*»xªøtu0>ød?~&Ãë®\¹òÞÏÚ²e <<<2¼îÑ£Gn€ ä† z Ì&Rð“á5~þól‘Gyýúõ¾ûî;¥¯¯/._¾lþíÆhß¾= L™2Ø·oþùç :ÑÑÑæë^¾|‰æÍ›ãŸþAÓ¦Måµkמ˜jlŒ5ÊâyUªTÁúõë:uBpp0ÆŽkþ}Æ èÞ½;Z·n __ß)+W®œ²|ùòTFó$--íqRRÒ£û÷ï_?~üå»wïj­°ÊðÖG¨J«½ZŸõšec† R©J¦:<?¶¸¨téÒ¢8::ÂËË ÏŸ?èõzܽ{U«V…««k~–³&úÖ8`oýs  †Æ2™lìß¿=zô@jjªÝ{®_¿Ž5j`óæÍèܹsËsçÎ öððXÃÍ¥Á`ˆS((^¼¸Å}Bõ/øðöí[‹ÏÅ‹‡Á``ØÃšØ}Ëp{øÁƒÛ|}}çÎ;‡‚Á`„‡‡ÃÇÇu0öíÛ†I/aP°`ALœ8‘¦L™rÅ #Lj_¾|90ÕÔ(Z´¨f4ëßK”(ððp;€ñÔ©S-óæÍÛÖ¬YƒáÇ›Ç DåÊ•ñ¿ÿý~~~C?¾: à‘m"+|¶Þ_ÕÞÈ– T*çiµÚ· Y¦?Cprr‚B¡°ù^§ÓÅÞºukS§N¶óø.ëyå„5â}f ÕÐù7!@†a°sçN‹Æš5kf©³† b̘1X°`ù»¿ÿþ)))pqqqùñÇë·hÑâ K7 ¼3ÅÈ^ÎX1^ð4ˆM?”ã]Û»X0Þµ½—C.P ”h À@Ö’Q&s¸—€ãsw“â6‹€’«€>nÜ8‹yèܹ³à|EEEÙ¸€õI>|ø°ùºƒÚ\ÃY:øÐ©S'‹kŠ-J¯_¿¶»fF£1-))éXDDÄÌM›65Fzp¯µEÃ:ëTFUÙ% ÕGƹ´´4³[žB¡°Xûèèh»ëîææfq=§q ЈݟÕ`Šâ,…îú fiÌQ¾ë\ǘ˜ÑàF±æîîNÏž=#½^ƒ7ñññK9íÿú™ˆ¨sçÎ÷~ÿý÷¢ã¸yó¦ëMJJ ͘1ck©ãææV[«ÕÆp©¿³7ðÅ_PJJ %%%­@z ¸u&=±zL9%Ù:E²€Êßßß),,¬ÂãÇ›œ9s¦ö›7o¦ŠY0¸˜ °°°?† Ò£eË–Ë–-Û çjÀ—S¥%¿•«§t>|: Æb¡µÎŸ?¿hÌEF Ñhlh#ÇŸ<~üø7¤»Ã[ÇÜŠ¹Ú~¶ —Pè³sJ‚Ìiv"6¿Ã0Àßßßâ‚7nÞX´hQœ9s-[¶´ø^­V£}ûö8tèà÷ß·ø½sçΨ_¿¾MÁÁÁP©TæÏÏŸ?GP¢D ´nÝcÆŒÁï¿ÿŽ . 11Ñ´aäò\®®®eÊ”™Ñ§OŸZ­öXddäáÇ{@<(Ò^H±Œ,ÒAòqN¯×'³šIxyyY\póæMÑ›Ÿ}úÄ}ÕÅöiN\_™^¯¯ ! 2Ä‚ “ÉпìØ±çÎÃ_ý…¡C‡B.O?‚Ñ¿( ßíÛ·Wàæ244tøúúB©L7º'$$`Ô¨QÐjµ6/³jÕ*œ8qÂâ»5jàÔ©S—_À3P¥¤¤(—-[6Ã`0ÄM›6 ]»vͬ¦?ýôjÖ¬ѤI“? ,­JHH?yòä÷.|X¾|9NŸ>mÓwll,† fñôz}Äܹs_°L¨Óºuëš;884 èÛ·¯Åœ¨T*|÷Ýwؽ{7Î;‡mÛ¶¡{÷î}FDD`ìØ±pqqéäÎo:&ç1âbçOŽÀï'NP¥J•ž–.]úrƒ ¨ÕêQ†ŠÅ瘘˜×«V­zš®·3Y)~ˆœ6·Ùšñ$Õ«W‡ƒƒÃ;uèèèˆêÕ«[|wíÚ5€‡‡G=+¥dfâžþó¸  OLLl&Y02mÁ úA:ÀäÓ[Õ¶•‡É×»0«åãÃ>÷8 î@RPi4š9lñ! ²L&³«™Ôëõ4xð`Áj™›6m²ño¾ÿ¾h_#FŒÈôz)R„š7oNÓ§O·‰ËaF°óäÉ“‘ .”â6+Aáñø€8÷Ûo¿¹p›½zõ²X[???‹‚X|èÙ³§Íµ¬Ïz¢B¡è  €æ,sí“Y++†²_B†,Í3Ã0sÅŠgþþûï‚s»k×.AkcttôR˜²#P,55õ4Ñ´iÓµï£F¢E‹Ñ„ ¨Aƒ6×´hÑ‚4M¼‡‡G €¶¬U¡9L. Ôe×®ÚôéÓÛkµÚDD›7o¶[ÁÇLJ®\¹BQQQw*Uª4 @?¶è  €@Ö’ÑbÒ¤I_O… ¶ÉH3fÌ àà`%v‚Ù3»9Ûš±¸ÖˆÅµš<+F¤g‰ä*}['p‘â0þ FÑ„ ,Öy„ ô>`Ý߀¸¤ /X:T¦8Î[…Kìã‚ld W~âÍûÎàçç—©˜‹Œ T©RvwrrBÇŽ?Ȁ˔)ó˜ 'vÆ8aN ¢d9_M¾vô³÷ËKNN>æèè8ÅÍÍ ÕªU3ÇËnÞ¼‰F‰j W­Z…Ò¥KcÒ¤I0ÅÄAAA×ÖªU ÞÞÞ¢ï0cÆ ¬^½z½>Ã÷}ñâ^¼xÇcΜ9hÑ¢† ‚víÚA©T:¹»»wmÔ¨Q×´´´KgϞݼyó+°Œ•ášX¬†ŭ R|Æ£?Ç×}ýõסJ¥²ëСC±uëVó—/_F•*U0fÌ”/_*• X±bΞ=kÑÑСC?¾k4U¼uå|î9fË€ÿFæ0k¥¨·nݲø±råÊ8p à;wFƒ pæÌówׯ_GÕªUë =VëÖ­ûaĈû¦M›æ¸oß>\¿~ÝBûþË/¿ˆ¾\žüp¼Àý÷ïßKCXÁRá¸[þ_ÙçÎ(³Ë3cÆŒùèÏÉ“'öîÝû9 Ù‚ÌÌ´ˆe$"„Ù‚Mœ8ñòš5kRe2™³¿¿¿ÅáxàÀQƒƒaÆáðáÃ8zô¨è5Ö®Öàé鉆 âØ±cYzw†apðàA öãnþ Áûü1¥¦¸>¸¹¹ÙíÀú÷ØØX¨ÕêXÅIøúúî|ˆV­Z]íӧϬ%K–<ƒJ£Ñ$¶Ö¢w™{N§€ýb{9í,²Ë̯]»ÖE­V/öööÞ¯P(J'%%áÈ‘#ؾ};*W® N­V‹Š+bÕªU8pààææV|úôéóÂÂÂFúúúº àŇpŸ”ÎDtÊ•+g£\J.‘Ðét.žP¾|yÀ³gÏž°Â…XöI!Á^:ä(âââÞ9È;'‚Ý o9fCŽÉã[ƒ` l Sá¦0‡•€)ˆ”KcÆOUû9ysšD'µZ½œsÙ²em3ù°cÇ’ÉdvS-ZÎ,XWÊMKK­ª{åÊ0`)•J»Aá®®®´|ùrsµ\"2>{öì÷Š+V€)HŸ ìã‚(ó"=œŸÒžöB‚Œñc.` Nu¿~ýº¹ªòÕ«WíòªT*úçŸøÁ±ÛL0À_èSZÒæ0¥­ÎîÑ’HOƽÍq`:n¢P‘K'''ŠˆˆÜOÑÑÑ6)€ÿúë/:uêÔ ˜‚býa ŒmÀÎk=˜‚dë~ÿý÷=OŸ>½T£Ñ¼ wuu¥ÔÔTÚjòƒ `ûw€0b÷„)› Ô`ŸU§K—.m¸÷,_¾¼ ^tèÐ ƒÎÉÉi ÛçCÙ6˜Å‹~¾„)um{-¹gDEE$":}ú´Mßýõ%%%½8räÈÖaÆMÐÀ@_³ÏÂFXXØi"¢Õ«W[ôãååE‰‰‰‚sñâE›¢_aaa´yóæ)ìœ×GzZU¡b’\ZU¡4ÌÿFZUÙhrþU“a˜gÜœíܹ3Sé—óçÏOýõ—y®ÕjuÜ!C†hÁÃ1?v^+ÀTt¯L B„R[‹z¿o“À>iµÚÎDD 6<Â/¿üòN|ߊ+lÒNGEEÑŸþ¹—¥%_”ܧ)L)Ð+ÔҸÒËpgÉg›ØG²`|¾ ¦ •çm¶,55u˜““Óp˜5k–OõáÇiaYàº9pvvưaÃp÷î]¬\¹ÒF—Y°.¤øæÍQmv5°nÝ:„‡‡cÈ!¢éê’““1bÄ4nܘ “+VlàåË—ÿž9sæìÁáûnSi¥C"‹°mÛ6¯J•*-Lé›5k†øøxÑëõz=ºv튃¾ýöÛö]ºt) q‹SFL@NàÌÿGGGo`¬V­òæÍkþA£Ñ C‡6iX/]º„¶mÛZ¤vvvF½zõhÁ‚ç ’N–Û#‹/ŽnØ°á®øøøÀT@ÑzÿíÚµ Mš4©Ï[ì»1™ÇÓ¹sç²\¿ÖAžœC¡P¨ Â6¶J,0“€.]ºä/R¤HSÀTäÓ4 nݺu¦Y³f{V¬Xñö]°ä›6m: ô(::íÛ··ˆ‹!"„††¢{÷î±Å‹Ç_|‘6f̘[væ^,0#w@ÙG¿¹¯,hjhhhž"EŠl—ÉdÅâââðå—_¢[·n6nhBðöí[tíÚýúõCbb"œœœò.X°`j… œðÎúÙ2ñÁÎwj%°Â…;wî www·Iþ3zôè ]´­áĉ6E€5jdv‘:xðàsØZ…,‡ÙÂmúSjäqqqyóæ=œ`qÀ‘#G2U-;'ÁñãÇ1zôhógooïôl Ù|iRÁ @2ÛRØ–Êþ®e›žmF«Cî³Ôv&%%upuuÝ @¾zõj 2Dð†É“'cîܹ€˜˜4kÖ wîÜA¹rå0tèP 8îîîL¦Ç/¾øQQQ€Ý»w#000S/æëëkq_¹rÅ&W½<þóçÏÇÚµkE3999aÆŒ;v,”J% Cü¦M›F 8ðÒ«v|ʯ2,ĸe’@߸väÈ‘Rÿ“Ëå%Å„‹#F xñâ˜0a‚͆„„ yóæÐh4š¡C‡þ¾qãÆpv/¦™÷¬é¯šmZ:«=jXÏì*`˜™½^¿F©Töß¼y³MF7N€(R¤¢££‘’’bóûŠ+ЬY³³eË–ý–ÁF1ÚöòåËù… ò=z4/^lÑ_@@Ž;†ž={ÎÙ¾}{4û5?3Ÿž]n¸u2\¿~=¨jÕªÃ/^¼ˆ:uêN@ll,vïÞ½â믿¾KË1?\Ïë[@wíÚµ>ÕªUû:-- … Brr²E¿7nD¹råþª[·îN–¹à[ø Ü¼è_¾|9µP¡BåæÌ™ƒiÓ¦Ù¼«»»; ,ˆ¨¨(¨ÕjÅÉ‘#G “ɶ4iÒd'ûþMÒYÁf®x4ËzøÑëôqîcð4øl0v*ŠŽ÷ïßG@@bbbÞ©ÓâÅ‹ãôéÓ(^¼8ž>}z®dÉ’3Dæ’Ž Í'c5ï3Ÿôž¿ÿWΙÑh<&—ËÝ¿U«VµpÊ›7/.^¼ˆ²eËfØaDDj×®máÚ-—ËqúôiÔ«W=zþÅ_¬â!|~Ïóixxc°:K˜ÿêbÙu‘’š‹Ô|È1rŒ…ÉäÞ&“Y˜L«>0åH. “™:Û¸H½}û¶¥:tÈ®«Q¡B…H¯×›ç%11Ñ\EY¬FÆ‘#GÌU3 Ï=xð`–MŸÑÑÑôý÷ßSîܹEÇS½zus]£Ñ¨9pàÀ÷ìZ–cדï6řʹœèb.S’Jü€àüë®]»VÁh4>³çů¨¼hÑ"ÁªñG%""­V«9r䯸úÝ`ªKà €J0™µ‹²ë™íò˜gA€SP=z´Ã0/‰ˆ:vì˜%ú×¢E R«Õ 5jÔà\B»ÃäZ #,ëW4ƒÉ} iLLÌU"¢Q£FÙô)“É(22’Nžzô(={ö˜Ü­úÃäÆ4éµ0zòúoÅÒ©©O‰ˆ6mÚ$ØïºuëèÂ… ±sÐ&—®AìYÀcL.SuêÔé[½^¯ÑëõT£F,Íý7ß|CqqqÏÜÜܾdñ¸ ;çmØù«VÏÕnpÀíIŸ2ri’[ix•ïÑTf‘Á` ZµjÙÌW‰%hðàÁL»wï¦mÛ¶Ñøñã©I“&‚óÛ¤I³«ìÉ“'×°xV&÷³Ê,ý/ K×3®¢w.+Ò»¶¬ùû/ŸrJ­V;;æÍ›g³¶•+W&Fc—7ÐjµT¥J›{ÇŽk¾æË/¿Ü`Lî·#YÒ&·ºº0ÕÆà»I¹±¸ñÙÖ?“\¤>ÿÃ;'ƒVäË—o €ÜáááèÞ½; ƒ…&111Ø·oŸù³››*T¨ ú¥R‰¦M›f*¸›üÀT¹\ž©ìQÖP¸pa,Z´aaa¨Y³¦à5×®]C£F¹\îØªU«…—/_îÏ BY#T™<IÈÕH>yòħjÕª‡åry11ËÅøñã±hÑ"óçï¿ÿË–-³¸†«êÔ)8888.^¼xð”)S|¬ëÿ3roÌ1ëÖ´iÓÄçÏŸ÷!¢¸M›6aðàÁ6{Z €íÛ·33gÎ\võêU-„«aó™$3c)“Éä€p–B"ÂÆáççWËÅÅEa—%¾FØlMÊ“'O96™|¸~ý:Š/^ÂÊÊb€¥õ‘¯6þüóÏåsçÎ]vL #ä¦Y Ï"‘÷g0{÷î}¹qãÆe …‚Ù¿?ºté’á¼+•JL:3gÎ|Ûµkן“’’”vÙ´çõ1ÝÅÜ­¬÷•ÜÎÌŠ £üùóç>ŽŽŽ?@pp0.]ºd~°££#¦M›†{÷îaÕªU7nѳgOÌŸ?GÅ¡C‡P¬X1‹>vì~ýõW@Æ Ž9²$,]öÄÜa…ÞW^±bEù;w Ý¿ßëìÙ³yׯ_ŸËÎXíYˆ6åd>$ËÀ0ŒÙ-aìØ±èÚµ«Åï·o߯¼yóìöÁ%ŒáC«V­0{ölŽŽ<Û¶mÛë Âlç/ |R†oùòå#e2YFƒ®]»"!!ÁB¸Ø¼y3j×¶L3Î¥}ý˜Ð»woÔ­[˜8q"¼¼¼Þ¹¯R¥JáìÙ³øöÛoýú5¸Ì4òš5kŽ „­Ï³ìg)’„ŒŒ™YRRRÛ%Jœ”ÉdEÄ„‹©S§bþüù69+V¬°`’ÓÒÒжm[œ={J¥RõÃ? [°`A †G,vÊÞažíç½xñâNž<Ù4W®\÷V­Z…#GŽÀ×××&¥¬\.G¥J•0þ|T«V yòä‘ûùù•`hUÏô{`r7rrrr2eJE»Ú䘯V­š“““S1À2ƒ”õnܸOOÏ’°uo´v{4 :ujÏž=­¿c4¡P(d"„P=#¦V­Z•d2™<_¾|¨T©/^ ooo!O¥R¡~ýú¸té¾ÿþûçAAAÁÇŽK²šóŒ2¤Yãô‡ÄaÁýáï﯈/¯Ñhú †e Ã\d&’a˜0†a.ÆãƒaŸÁ`Ø®ÓéÖ¤¦¦ŽxúôiÕ-Z¨ lí°Sþüù{PÞ¾}3gδx 6`Ö¬YÈ•+—è‹7oÞaaa6çØÄ‰™L&ÿúë¯ÛÃ6ƒ™`ªä½{÷yûöm­V»Ô`0ìcævXXX¢O”··÷Ózõê½îß¿i†‰Öëõ;SSSG>zô¨’À˜3•JY4LðæÍoGGÇ¡||ûöí4hÅu\|ž8pÀâs='''€¯¯oÑ={öø.\8ij´e»ŒmÿJ¡={¹Ë9âÇÉiðêÕ«Ì΋_¶Pñµlã+™””TJ©TÎá:k‰~Á‚èÕ«J–,‰úõ뛿wuuýèïV§Nœ;wîƒõçàà€%K–Àßß °¤S`“&MpèÐ!Ô¬YÍš5›úË/¿¼5jÔ•, ŒŽü— 2YDjµÚñ³ÈÅ„‹Y³f ú¬s0tèP(•J <Øœd %%­[·Æ¡C‡P§NÅèÑ£‡—+W.OÇŽw Ö#¢åÍ1kðØË˫щ'ºÖ¯_ä7*¦¥¥áöíÛÇ_|GGG :ÔëR¦L´oß¾S5®\½z5™+£­cxsˆÌ‘‘‘8qâ:wî\wÒ¤IW‘» fÍ`†Z€Œaܾ}ÛÜ—··7ÌÅénܸGGGצM›º=z4–1|«†€±hÑ¢ŠâÅ‹7€?þøÃ&i…•€!"`µ÷Í~úóçϯT¹råV°téRüðÃP©TèÛ·/Ο?;wîàéÓ§¨P¡*V¬­Vû*$$äõêÕ;«Ñh8wBþRÀ²0œPÖ3ÙGÜ¿€—/_zxzz‘Ëå2™¬L®†Â7ó)…B•J…âÅ‹ãàÁƒ)F£ñ¢V«½>88øÂ²eË4<Ü2w¡R©:À’%K Óéø8ž={fjnnnؼy3ªV­ŠÔÔT³bâ·ß~ÃâÅ‹Q¾|ùfÎÎÎ+SSSù啌åÊ•sܺu«¹råZæÎ»B¡È¬9^&“É<”Je¥RÙ¡téÒ`æZ­^¿{÷îeAAAñ°Û³W°M&Àcü'Ζ;vÈ;wîüB¡˜ “{2ŒF#NŸ>‹/"66r¹Üœ$‹ûƒèèh‹Ï©©©X°`jÕª…ÆC¥RÉ;uêTµI“&eûí·C“&M:—PñŸúĈ†9ƒMÇE...‚þŠr¹œ~úé§•’V­VSPP¨lÉ’%éÊ•+Ö1Ó!ǘ|m{Á”JÑ@M¤§ÀÌijeìa½’ˆèæÍ›¤P(l|Tù°qãF*X° QJJJ¶^ûÈÈHA?^äîîNçÏŸçü4ãÜ éé }`ò¹,À –i!]î›+ÅdX\ùáÇFãn :$s1oÞ¼L¯ãúõëmÒzº¹¹Y¤°}ðàÁé’%Kv„Égݦ8Œ²0ù«‚¥oõ¿ÖóƒÍ7Ò ¿q©€Ý`Š!* Ø€j‡††Ž:þüO÷ïßßÁÑX¥•Öh4tõêÕ³°Jà SB˜|’ÛÃÐ@³ØØØ;DD¥¯}ûö%£Ñh¨^½úH˜R¾öFz|D˜â#Ìñ/^ü‰ˆèÞ½{ýôèуš7onþ¬T*I­VÓÒ¥Kç°}uc;ÂÅ^4Ð0$$d ‡+eÊ”}ß_ý•nݺSD7˜ÒV±sÁµ ö\èîîîÞ-111ŠˆèÅ‹äêêj‘®—aæÈ‘#«÷íÛ·róæÍ¿´oßþ}`ŠùŠk® ‚)Ž$ˆó@­‘7P¥MežZÕ¯…ÒªfŸdd±±±^F£q%ó÷¡N§£3gÎÐܹsé›o¾¡þýûS×®]©eË–Ô AêÒ¥ ?žV¯^MG¥ØØX¡tã‰iiiîݻל}oW®çΫÆ]SµjU‹59|øp–iÿ’%K,úhÔ¨‘ù·Aƒ †)&§~Á‚ëüý÷ßÃ^½zµËh4&X÷óìÙ3úûï¿iáÂ…4tèPjÖ¬UªT‰üüüÈßߟڶmKÝ»w§o¾ù†þúë/zûö­õx“’““üúë¯%رº°kÅÅxðÝs¹â¾9ˆÈ›ˆÎps÷âÅ š1c)RDt¿Ö­[7K1žüV @š0a‚EÜhddäã.]ºÌBzìmï+Áî¹<ìú}Ö©j?™€1dÈÜf 7‰÷îÝ#щïÑ£¥¦¦f{áâùóçäçç':ÎvíÚQ\\i4ýôÓBŽycäø¦@¾ž°¬ƒQ–u0\>gãîÝ».D”HDÔ·o_›ÀÙððð]óD§ÓÑ÷ß/Z/ãÔ©SDD”œœüÔÏϯLùç¹€J±Üó’!Àì¾|ù²Ã0—¹¹_¸p¡@ €~þùç,¯ãæÍ›mú’Éd4sæLsgBBBä€úÀ˜W•Ý«¥Øõóä)rgóµË´€Áâp%5fÏž=€ˆ(%%ÅfMæÎKDÄ :t>,kVôai '`´†)ø¸i||ü="¢~ýúÙÜÿ¹s禤¤$Ú³gÏföÐþ¦j®F VyS€_TTÔ"¢mÛ¶Yô9gΛ}|ùòe:~üøf¶¯.l d.H:@ý7oÞœ%":uê”è» ¥K—RXXØ?l]XF¿ûî}xRw:´ŽÃÑ^½zYôåëëKiii¯Ù9ãúëÉ \ð8W'„ ç ®NH›L®ï!`˜×'N(Fãl"Rsczóæ SË–-ÉÙÙ9Kìr¹œªW¯NãÆ£ÐÐPžÂ`0<Ž»}ûvß·oßÎâ‚rU*•E?\­‚¬@xx¸ ­çèÄ–-[­X±bÚ£Gèõú$þ})))´oß>5j”` –ŒšL&£jÕªÑØ±céñãÇ‚ÆË—/¿g™SwžpåŒôD"Öµ7„hSŽ<_ˆ¨+‡wz½ž‚ƒƒí&máÚªU«ìâÁÆ3ìC¥RÑäÉ“I­Vs Gõœ9sæó ?žb¹ {Ž8ãóOîói ‰éÅ0L·‘¾üòKÑI÷õõ¥ÈÈÈlËXž={– *$86…BA?þø£™àDGG'4 ør,‚s!ǶÐÞWìAÒšÕŒVàÍjE9IÖ–¼>+Ã`0ô'"zûö­MÁšÉ“'g)SÓèÂ… ÙæÎ+ˆ ÎÎÎtòäI""zùòåUww÷&,ƒZeÌÊeRÈø/ fF7%%¥E¥¥¥Ù0[xÏ"IœõU(óY»ví(!!(“7lØ0ž=*³ v ¤gÝÉ“„ŒŒŒ|,}*ÆZâ*¨ÞªU+s»‚ ÚìƒgÏžQLLÌS•J5„e~û³L5ß‚Ñ ¦LR ˆˆúôécÑ×W_}eñyíÚµû”ǘw…e¦¤Æ,]3%%å.Ñ„ ,úøûï¿iݺuß­^½š?~|¦B‹HÏzÅÏFݺuëÀ0ŒQÈÚbýyÑ¢EtïÞ½}¬ðȾköÝ{²ÿwÐ9  Ÿ^¯Oc3Ùàe`` ½~ýú&û.íÙ9ìÉΩµ€a-ÔugÇÅYx겊®8\Q=ÂçÌಙa}óæM!†aŽñ³NŸ>ÝÂ"ó¾ÍÁÁéÈ‘#† &•Ë2g­ãLÍ40 Cîîî}=|øÐü³• C!!!Ô¡Crppø`ãU©T4|øpŠŽŽ6?+))i[Û¶m‹°ë–éÙ ­‹¼:Ø¡M9êŒ!¢fD¤%"Šˆˆ°±`‰ r£G&ƒÁ!L™2ÅÆ.ÔÊ–-K7nÜàî3ìܹóž€ácå¹"¤XþÏ œ€ÁUÓu ­©Óéîq ð믿Šn*sjÈìkÖ¬S,Ætúôé'ž=×CŽecä˜9&BŽ‘ìÛ¦4Š X­h9öà.`e*ûÜ 9Ã0§‰ˆ‚ƒƒmŠ7oÞdÊÍhèСäèèhÞØ»wïΖBFÿþýqÂÓÓ“^¼xADDwïÞÝËT†bB?•¡ÃPÈ0Uëtº¾œöééÓ§T½zuAæbýúõf!!!‚.žeË–¥°°03·rýúõ5*•ªÏÝs•ÊÏS äææÙIȰISËŽ#7ˬäcñ´(ËŒV`iW½^ŸBDT¯^=›9ìÞ½;mذa“•‹ßâÐ’u;jœ”åA-Œ IDAT”ôMóhÑ5³]¿~}""6lØxž SVqÓ”UÞÔõðð¨Å0Œ–ˆ¨eË–}<~ü˜.]ºdñÝðáÃ)999š*:±­ÒÓê6ÐèÊ•+ˉˆRSS-fwwwÚ³gEŸ .¤ü~:²V‡nìðÓ÷v?Ê1¨•+WL…q€3N`áÒßöcçxk¹àÜ£ø)|;°žF¬eÕ×Ê*WÀŽU.#<63ªZ­¶½`SxÓÂ… )_¾|=5ü’%KlΠíÛ·[\W´hÑw¦Ö^Ö)Ð=zD“'O&//¯:Ö\¹rѤI“ÌißµZííµk×Öb×/?OiemÑp´r›ÊqBùq®x7nܰQ|Xón¤Ý»wgŠwáC\\…„„Ð!C¨pá¢Ïpww§3gÎðÏ›ù0¥>·.OÀ)­Ïýÿ´€á OçÎK$$$ìâ&ñÂ… T¬X1QmÿâÅ‹³©×ëiĈ¢ÈÓ A3#i0˜ÅK_¿CŽc äø‰¿ 9†²¦ê@VÆÏ‡\”u¹p·òÅûì Žñ³ŽE=zt†ù£¿ûî;AqÇŽ³­»”¿¿¿ n4nÜØ¬ 9räÈj˜|t3+ddwŸþw­nݺ) C07¿'Nœ OOO›¹ÍŸ?¿ÙJô!àæÍ›T¢D ›ç¸¸¸ÐŽ;Ì×ÅÄÄœjРA}–ÁæÜJ ±.DÙYÈÈHÀÈËÒ§",Îz³´Ë/11ñ>‰Æ¥;vŒÔjurùòåG"=Ö ›•Å!@Ãäää"¢îÝ»[ôo“{þáÇtõêÕý¬¿,c$¨3gΜBν%55•d2™µÿ5S®\¹ìûuä¹GµDzí‹'DDüñ‡Å; 4ˆ8`ñÝüùóéáÇÙ>:ðܯºò]°fΜ9†Ó„/]ºTp.ûí7ºpáÂï융eÇÝS~ýޝxÂg1âÜ£š²Ê-Î"ÇÑ!/+a9+Š3ƒªÑhêQgyìܹs† s¹rå¨Y³fDãǧŋÓœ9shÈ!Ô¶m[òõõÍ´€¢R©¨S§N´wï^Òét6.l2™Œ’““³L#„\­®^½J†¶nÝJMš4±À%±¦P(¨H‘"äççG:u¢#FÐܹsiñâÅ4~üx ¢¦M›RÙ²e3ì«eË–æ±ƸM›65Fzí%!A#—ˆ!Ï Bå#¢×DD—.]²±8qŠ©1cÆÐÙ³gÉh4~óƒaºpá?ÞÆ«ƒsë<~ü8Ç'¦9²3Ë”f÷»FŸu-ŒO©eä@î,2 ›Î0ŒŽóµlÑ¢…èæ 2û¨}ŽðæÍQæ‘c¨9 B\\\Z—®]B!Çzȱšµ^,„s ÇdÈñ“¿p{¤ðªh…dnìœ~nH& ‹ŠŠÊË͵ùàÁѹ|òä‰ÝØ•f[×¹¸¸8òöö×´iÓÌð%K–Le”úB†l}úÿ+B† €læÌ™J£Ñhö?_¶l™ 0êãã“åâ‹™W¯^Qýúõ×qüøñfa155õÉ´iÓ:ñ\KŠYY2²ãúñ ÏM*Ëlr4¾0k¹1Ça<þüÑÌ™3ç®bÅŠ¤×ëéÒ¥KGoÐ…gqhƺ45HIIyLDÔ¥KcáÂ…6î˜Z­6)_¾|œ°ÒÎJÀ¨{ôèѬ«¢h '?@ÛÙÙ™ŒF#Íœ9s¢•€Ñ–0~úé§!ܽÖÅØNž>¾=åÜ`Å2kùùùÑÍ›7ß{¯ :yò$7ŽJ—.%£©S§fùy³gÏÎÒ3*T¨@Ó§O§Ë—/¿Ṡ5„……QíÚµŸUªT)zúô)±V£;M›6­ÌòEYºä ËX¿ÜBF¶¶bQE"20 CíÚµ³™£† š±O¡œªߨQ#³¢êâÅ‹sY#›×ÿ÷Ÿ2„]ØÉ)ÈN–w»ví¿~ýÚ½{àÀA,»µ*Uªð»hÓæMwUŽª-¬p±rüƺF͇?°±£ À (ð%K蛲¤*,sÉ¿°ôù¬Œ´´´&,³,è-¤s•@6lÈ1Ù¥NŸ>mŽ+á·‚ š Û‰'¶±Œ'dTg­XœOa7…œôÍešqbfÇ4ˆ1X£FÊ0ïCÁ‚ •"-Z´ ´´4""R«ÕÏ»uëÖ$ bnRyxVŒ,íªxâĉiDDçÎÝçnnnC/_¾¼Ç2¼œ{T Î= @Ý´´´("¢:ØBq¡¡¡ôìÙ³+HÄæ2Rù¨w•ˆhÞ¼y÷-[fæçiêÔ©¿ýùçŸtçÎÃ< ç~ÕºhÑ¢môz}2ѬY³\X ?üð=~üø˜•€aŽï¨Y³fO­V›HDtþüyQ7…BA:Žš6mÚŽ³°ëèÁ¶îV‚›Ò¦Ø‹ª,ÞZÓ±Œvv­3gΔ3 sŠs‹òõõµy'''úé§Ÿ>Ê6´uëVªX±b¦ÎñbÅŠeÙ=FÌJmÝj×®Mÿý÷*„„ª ºáøùù‘V«%"¢øøøSŽŽŽÞ< «Ïšá.@›²½AD¡DD;wîLÚ¡Óé>)?`0¨k×®6ï²fÍNŒtppà{°ä·²~Vgþ§®ä-VAÕÀ°oß¾Ø%J|{íÚµ ¬æ×®]C­Zµ²-7Ô¯_?\¸peË–EZZš~øˆág‚ú]Óëõz˜ª¼êÙ¦ i:¶q÷ð«Ãò DÑgÆx …`ª`Í~#ôz=ºtéb·p ¿ðUv‡ `Ö¬Y6ß¿zõ £Gæ®éܾ}ûb®ôÍ7W+ žé#'Tú–ÀÌ™35Ú%“É:éõzôêÕ ëׯ·¸P©TbåÊ•Xºt) Å'y¹±cÇ"$$Ħ0ä¡C‡Ðºuk¤¤¤ÀÉÉ©ÈÚµkÉ;w® ÖQ¬Øâ缆B´Ý‚Æs-22ò ”.-^C,)) &L@¡B…ÊoÚ´©¾ãüãíÚëÛ·¯Åçõë×£hÑ¢Õüýýó IrWW×r€eo¨\¹²ùÿJ•*Yüvýúu,X°”Õþ“-\¸°R©t!"lܸÑâ¾   Áw6ÉdB58%K7†a0räHÑ‚}ÅŠƒ\.O;zôh‚Õñ‹ôñ«Žëxç’Îê¯uur#„+£Û;‹Ì¸;uêÔþ2™¬!|ýõ׸yó¦Å…yóæÅÅ‹1a„²‡år9¾üòKܾ};w¯¯Ý룢¢pôèÑL÷ùòe<[Y-œœœhõêÕfÉôqäã„~5þ›y–‹c)䆳ٴ´£!Ç0(Ð tƒÉ7€Õ UÉ‚yìs±Z)ŒFcQhh¨MqAk°Î2%ÔÄ,Ù U«VMp¬§OŸ&"¢ðððˬf±«iå4ŠåYm†P6'ûËfkK¨^¯ÅÑ!³¶››Û;g;yò$õèуڷoOûöí{g·!ÚºuëRRRÀ?–þìB–¨ìàî&æ&%fÅ( tPPP=n¾øÙ¸¬Ó‘Êd2:wî©Õê8oooÎU´»¨Ã¹Ö¶jÕJЂaµÉÉɉâããéСCa•N¶oß¾=Ä´Ïü‚maaa6³F£QçââÂÕ×0Ú‹ŽŽ¾*”B¶f͚ķÖÃÊ'22ò4lã/:5ê[†Uu¯\¹Òâ>¥Ri1ŸMš4¡äääpv®üÙ¹kÅž+3ÂÍ?0½k5çÜ29í6çBã‘Ië…5#*‹‰‰ñ$¢·bÁétâĉOJ‡†¡_ÿÏÞuÇ5q¿áçBØQp€‚ZGÝÖZëÞÖ‰£uÖ‰Z±î-jµ–Џ«Xmmµj­ZT”¢hYVeÈ&„„|;o%«üõý|î“Üå’ÜÝw½Ï;žw×.Q2½5Jçß›2eŠÆß±´´$G­ôµæúõë¢÷wìØ1B!ÅÅÅižžžª=ät®_]µ¾¡É“Q-óý! !äÌ™3‚ç±yóæ*Õ öíÛ§1r#==ýwõx¤ó øº ±H›ü_ ¶“²Ák¦7õ‚Û@ÇáÇÍÌÌ|¢)9nÁ‚$**J/6~bw`` ÓY.\¸licù½àb¾:ïb" 0B=á÷@YXL ¼¦ÔÅ5¦ídLÔö–.]ÊyF}ûöå ªüü|boo_.À˜8q"yßäîÝ»¢Åàš7oθå׬Y³N­lôV/þmð:&Ú¯“¾ßÇP):f».ÝŸÄÀ¨™™ÊÞD<==9´Áoš'Ju¸`Áz!ÏðððèÂîàRØV—'„aRü\ 6£ðí¡T*ó!¦'ggghüàƒHii)¹{÷n˜ºï³F;¹\þ’©°ÍbÔÐ{öì!999ÏðºfE?½:´œ²úLìp7'''›‚¼V­Zôÿ,«ÎFŸ>}&Ñ`€Æ·cÇcÉ’%$99ù–z¼«€_zzú#:)•BV¯1ã5¥.ÃÎÅÞ,pQÂZ.å%w󆤴´ô[BILLP¹SU%Ê7-QQQÙ˜hpZždggk,ÐÖ¼ysNÈteˉ'!u¶¶¶Ì}ýõ×_ßàuý%:߆24y­6¡R„?Åæooï*ÏïT©T¤]»vœë8p ÍRš«—^àÖ¢á3¹½/†ÅŠY´Õ7N[¸Ø™ØL#­tvppøX.—ç‹ÅÒêm-?éoݺu„BÂ#ÂSa€ã0ÀHpPGp1Rm]ê©^Zª- î¬Î¤É{¡ƒYHòóó»Ðψ϶³uëVÎ3ÔT„¼˜â£@–'çÏŸ'S¦L!Ó§O'÷îÝ«Ô>´páBÑ{þúë¯éE+ÕÊÊj4¯o´Âë¤ogèÎêRíÀÊ꩜RS¿ ¬ÝÆÆÆäÒ¥Koüü_¾|)xö÷ïßãß‹ŽŽ&666Ë,Íf¾\f>…-݆¦zÞ†b^ :ÃT}ÖxðíÀ¥¨¨è?9›¢(rïÞ=Ò¹wï^¢R©S§NõS+É´Ü^.—gŠ ØŠà•+W8ŸµiÓ†BÈüùóýÁªºýçŸË ñõõ´/¿æDJJ þ¬Já—/_>L¶gA*•’ôôtcñâÅ$999¯©i‡Ê ’iÓ¦ h˜ïܹ#X‡=ztDm`Œ>jÑWý¾7ë¹vT{H[ª Y˜&•£ÇÖÉ{‘ššjO)&Dœ¦xÚ´iU¾žçå呾}ûŠÎÇì\mùXbß6lCúP•2}útÁµ-Y²„ö¨ËØŸ.ùIýÖ:´½>ƒ ¦° ¿þHpp°^è”§OŸxæià3{öì‘jè©ÅèlTÕëEeæ`ðc3Ù±¹ôFÇ{ÒùÅéééù„EuEUEEE cÙ9ÅêM 22”BÆ:^Œ×yt,û™‰Æ%ë‹ÒallÜ pûömÎ Ý»wçìŸ:uгߥKÌŸ?vvv€úõëãàÁƒèرã;»è‰'bÿþýØ»w/†•JUilÕªUprrÿòË/ñêÕ+ØØØÔ>räÈs1 Y[yñ˜¨¦q™TvvvcŠ¢†À’%KŸŸÏ9áøñãèÑ£ÇÿX ¿¦¸~]ÄÇÇçÎãÄ—””`ñâÅ€–-[ŽîÞ½{mˆçb”—¡¯m(–gGxs–€R.—'€»»;{á‡R©Äœ9s8?ºlÙ2dggKW­Z5ç1‘¨s´¶ÕG}„zõê1ûþù'=z„1cÆte=gƒÚµk{Úó/háçaüõ×_hÔ¨‘+Ëfкuën†‚‚æÜÞ½{£V­ZZû¢ú¾˜ÍÝÝÝ|èСŸÀ½{÷°ÿ~Îw¾úê+¤¥¥q޹¹¹!===UDáËÅ(7×B͹¥¬5\—Ü fÛÛÛ`üðáC9r„ó¡T*…¿¿•wbKKK;v 4|¶mÛ6­}M.—cëÖ­¢ý%$$ÆÆÆU~‹/†T*åÛ±cÒÒÒ````2wî\_‘yIlá+°Õ%ö¿ÄÇÇ#%%E0oëƒðs‚òòò˜y©[·nÍ¡=““VU OREÏN4É[ƒò-{‰O•|¯ì…•ŸÐý\”2à‚ÞØàB[’7\èÄÄÄXN€íÛ·s”uOOOÁ¢M 044ÄÎ;±yófdee‚ÄÄDŒ3æ]¯\.ç,Ðñññxúôi¥=/SSS,Y²Dp<++ +V¬ “:uâ+¥|ÅTL9­®|åkÑŸ‘‘‘ áœ4hÐ 8Pï.¾C‡˜:uªH߸qR©ÔlÇŽ“P~â¾¾'z CaÂ7=o)‹‹‹ùþþûo,_¾œ1°lÙ2Ô®]»eHHHG6è*/É(ŠÂرc9Ç8€&Mšt¬U«–)=njÔ¨¡3Àà‹ŠŠB½zõ\è¶›7ož§••U‚þª)¹›lÙJœAhhèPSSS[Bf̘Á™O›7oŽ)S¦àï¿ÿæüŽ»»;âããS5T>ÈPòÖ)>¸Pê.ˆHà$L€Õ«W 8£G†«««^tj+++œ:u ¦¦¦œã‰‰‰ Óø½ 55UXÂÂÂ`ff¦÷æêêŠÑ£G󡨼y3ÀËË« ¸U¼ÊÕjmQ©T.àB"‘ÀËËK/®±~ýúÂçÏŸjÕªå‚×µIŒuX7ªDª`he’bMl ‹’:^°ZŠúÚÅÔkE¡˜,Ø ¶÷B¡\èÈ` F-P3;;[Àò³téRcFpp0:t耺uëbË–-•nIËåœ}CCCŽÕ³2ÄÏÏuëÖß·o’““ahhh¼cÇŽxHË·0ñA†6OFuÔÁƒ ÆÀîÝ»9¬9ÆÆÆÌ¨α]»vÑ@Û×ÞÞÞÚ½Ú@¢>{1 `”(ÍÏÏO=‚¥¥%Ö­[Ç9þÍ7ß ** Æ ›æììlÊV¾ËbJýáÇ!‘HÌV­ZÕ€Á|`kfff¯+Àó`8888«¯G:f̘ΜœŒ«W¯r×O>ù¤<ˆRÇwjÛ¶m¬„‡‡sÎß¹s'$‰`¸¹¹!"""]C?„&¥ ¡â ö à‚3Žóòò|(ŠòQ(øå—_ P¼lñññÁ×_-8¾qãFÀPì³àà`4lØP¯îÍßß_°Ÿ>}`ooïÕ½{÷:ÐÌ(%ÕÒ§ô~¡(Ê222J½¾€@Š¢s ËÊš¿ªÜ0U4µbV.þ䯦Ç+†žYæ+¦mS€f .^‡I Á…¦ð(•ˆIon;==½®T*MOÆ………«Ú¨Q£_rqqÁ7ðìÙ3Ìš5«Ò/ºŒ9˜»8óÝÈïZŒ±téRÁq¥R‰-[¶Ð‹Þ‡Íš5«®ƒ2ĬLÕ¯œ¹ÆaÆù¨E(&³gÏÖJwZÕbooåË—sŽ]¸p …‰ÄpêÔ©^¬…B,A—…\@…6CaÍ[¥TYYYñšL˜0­Zµâ(Ý3g΄©©©Ã‰'FЋ©. 5˜ãü^ZZ.\¸__ß.  àNÿ› [*•ÂÓÓ³\€cccóN:Ù׬YÓ¤iÓ¦m 44”ˆ‡ "°Š‹)ª,€!ݰaç‰Ä 77W „9:uÀ°±±êôéÓYåX5UŒ}¥¼6ãï«À y&:ÌoíàöíÛ‚ÇöíÛ‹>窖ñãÇcÊ”)œcwïÞů¿þ*8÷‡~@RR’`~6l˜ÞÝ—§§§ @RR>|Š¢¨™3gvæ)¯¡ÓÖ÷õ¥6AäÏEU-ü½œšm&¬oœÒ½P©RU þ"¤-Tª¤Z‡HQÌý k^P£”&%Ì»³¾£€v÷4ô dØÛÛ0ŒŒÄ¦M›8Ÿ­\¹²ÒjTD²²²8ûUeqšzôèáº|ùòVFFF¦©}Áê éÆ[¹ºº6€+Vpú¿™™Çbþøñc޲$“É2^½zEDú‘XÛ‰y(Ä@…¦Ð(±¾À‰Í700ð¡6_<<<ôv Â|À9¶víZÁyÛ·oçì·mÛV¯½«bÏü§Ÿ~4nܸ)4{ÉËSbõy]¡D ðu}ÓI\\\¬.04åaVY[H«ðÙñ'$«Ã{"E¡D´°Pðs.tIìÖpA d2Y7‰Dò©\.Ç„ 8–Å>úH§¶*äÎ;z0ŒŒŒ°hÑ"G&“açÎX½z5ºvíú‘¡¡áy…B!Í~o î/õ«X²§Þ‹D"i?ÿü3çx£FШQ£ ýV¿~ý!0šäèÑ£¢Ç׬Yƒ—/_ÂÊÊJ§ß±µµE·nÝ8VÏŸ~ú ݺuƒ‡‡‡§z‘(ÕІ¥Ð^n n#1Ãb¥´GU&yšs1øžŒj+Ds0 Q¢\ˆ%u—¢â¬• .––VÃÄÄ$€‡r&é}ûöém[ñY®ª2föÓO? £Ø½{7 `mmm·bÅŠ "¥©ºwuòb0×´mÛ6#Š¢>Ê,Øl)/–/‚ŠÁo"r¹\HË“¡C‡röi†““ShuÓæ½ÐGóRƒ7Ï*¥R™pCÕÕËç IDATT*§ò† `nnÎì§¥¥! ...m7oÞÜJ×)¨Y³&|}}™ý’’=z;vìàèèèR€ˆça´jÕÊ»~ýú ar÷˜1ctªÖL{0BBBúXYYÕ€™3grîÑÕÕ .döż³²²^B;ñßȧ©;yO*`è¢Ô ¬)P–PÌ—úõëëu§nÚ´©€ùðûï¿gÞ?~œóYŸ>}DY¨ôIÄžy^^ÀÔÔÔJd]¡7±¾TmBp !/2ï)fdd¦ªJJKK‘œœ,ª“ÄÄļ‚fr]™$ß[€QÈà„KUg†ºI5%²+ÀÍ7aWV\è ȨU«Ö~Nþù§ 4jéÒ¥z—èFKnn®€2±*Ù$¬­­Eãv³³³ñÍ7ßFŒÑ•7¹”—ˆ§Í ®¯£‡9r¤‡ÚZ#˜pÙ1õºˆ……Z·ný¯/ÌÔÔmÛ¶­ÐwøñδeÛ¶K—.µ¡=Y¿º%{k —b¿W)•JQ&):LJ ÀìjAAAxôè¦L™âW€ˆ‡IÙÚÚÖªQ£F…<bŸEEEÁÉÉ©EQTaa¡€z[Wïmii)¬¬¬l}}}{ež´ëׯsÎÙ¼y3LLL˜}vxPfNIIÉÐЗ4Y45±Ñd$`‰N0é»ð½Ê'Nœ`Þ;vŒóÙÌ™3õþ~Ä<,€a q¦BèÆV¤·k‹B¡xì°#B8 ±*å—_~aÚêԩðJ…‡‡gW£”´ŠŸ¡&÷.UŠj^E@‰zfÄ\[|p¡)¡z.(”R©œJQÔ±Ð(OOO½caËŽ;8áMš4A‡ªôšüüü*8¾uëVÌš5 4häëëëxáÂ…§êIFÉšhø®lºÿHÀ{¯WblllEOþÿüóç3ggç ÿÞ… púôiÄÅÅA©T¢´´¥¥¥ÈÏÏÄËOœ8QP¯ÀÞÞC‡åXÕuþµfgg#''666èÚµ«Ëµk×ÒEFyà‚èqÛ }ŒV^% …"ÁÔÔT+À€ùóç#88˜I U*•˜5k~ûí7G¶R®‹ôïß666Ìxÿ믿ð×_¡yóæ¨(Àó`ÐrêÔ)Ní‹-Zèl´P©T°²²²ʼnlOtëÖ C† ácЧÅ CSTE€†èú Þ(KÌÿú.ýû÷‡‹‹ C_ƒGA©Tržƒ лwo½¿mÏÜÄÄį‹fJµ=蛪jb´Â7nöèÑ#€e»víÏ18T4¯ï]È·ß~ËÙ§‰äryÉõë×ó ô*éÂy0JA ¸ÅùÞ m|ã€~…GQPXXèi``°(KDdO¶Eaß¾}022ÒË&ÊËË$ç‰ÑèV¶têÔIÔãóâÅ :–ŸZ°`ÁG‘*íCÂ[üõvQe©©©())á|ø&4¶¶¶˜}š¡w¥eÆŒ¨ä4|Æ+àu¡9…BQÂë;šBoÙ1‰¨„žÍWTÏž=‹KKK€yóæq>¼yó&nܸQ¥-È7¤ ´Þ¾}ûIAA%úÄ"4%yWJ{Hô¤Á‰6°ñÚS‰'JcB§Xü«>æ]ÂÃÃMLMM0ˆˆ`èTi™ûLløƒ®ásíÚµlÀ…,¯ˆy“ñLQÂ*Å@ Wu???N~Ü?ü€ü‘Ù·°°Àĉ«Å½° hiÑ¢=6sXk‰!X”Ç ¥÷ì„2™ì4PV¤²gÏžœÇŽ‹ÜÜÜ*¹0™L†Q£Fqæ³>}ú0,f¡¡¡±"mÁnh‡®´¶‘èQƒ”_´Ú‰º†¦j¶š…6w´^Õ»€Ö­[¯¥(ª™XhT­Zµ4%Ò9yò¤h®ˆ¾ÐèŽ7‰p˜ž={–fÚ1 üâ‰xüxÙòr0(½>¥R©@Yh_ªƒÕ“–/^j­Ô®]––¦Ð + «‹%†™Ó"##ãa,ø“'OÏ ( edÍgÏž1t¡:tàügff&Î;W¡ð(6aKTT” öEÏž=9•Éu£@YÌ?û9Ô¨Q‚óóóóñâÅ fßÅÅJ¥²èÑ£Gr b@PÛû7Ù‰š†˜²«bggÇ‹÷îÝCTTgÎÖ•]N­Èfddä¨û‰Ü¢–å=ª…8pà"!$€ ñéÓ§˜2eŠNÔ×o[fÏž-ðF.[¶ ••Uš¢a}ú ÞÞÞL-¦û÷ï§­]»6AËœ¯éùWY›Hô} ¼'åX†´1sèãýSàìì¼€!Ó§Oç$àÖ¬Y{öìÑËIuëÖ­hݺ5ÃÂèú&šj=œ;w………J¥†'Nl(,t凃 jüøñù„@˜Ô}÷îÝ·öG–––œ\¡Æ‹Ò8¾©DFFröizD•JE233K+,ôTè _ÄB¤?~œ ÍÉÝÐbØz§á¹ñññÛ`РALB1-<¨6^ 1&¯ê0Nœ8!_}úôAûöí¡R©ÈòåË#tﱃ´hÑâ„„„@YñÖððp|øá‡‚/üúë¯Ã+*³gÏÆ¹sçÇ;v숈ˆ†Ê9"""uáÂ…¡=W¬^Z•çðþ0þ“ ËÒ¥K{SÕ (£‰ÌÊÊb>«U«víÚ¥×™™™‰5kÖÀÅÅ~~~¢áO666œýÔÔTdffêÝ3×”‡A‡n888Ôjݺu h¦:-/iX¯èèè t{ñãÙ¿ûî;)}þ˜èܹ3îÿ80 Ÿ&ªÚ¸¸8­4ÄÝ»wךÛÀg÷ïß×ù‚ëׯ۷oãСCœeBˆF«»L&ÃñãǵZåSRR¢Ù²xñb­`W¡P(^ÝÝÝq÷îÝ\¼f’hëšBr‰–6«¨ÂÂ9¯I“&‘%%%7)ŠeÄ ¬öžŠ ߃¦6ôèýu+•JAˆ!PF W¯^}|íÚµ,mcÕ?O–í*д´´P<Þºu ;vìÔ.:wîœVƒ€.’ŸŸ/¨nnnŽ   \¿~~·qãÆGÐÌ@ZÊ;&F¤mœÿ0þ½ ¤Réç@Y¡«C‡ ©ªŠ‹‹ÃÔ©SáììŒ/¿üRÔ¥iee…íÛ· 8æé[ߤsçÎ%ˆGFF`ôèÑ4€ m ƒ&¥— ã£>úG©TÆÀ¤I“@rïÞ½z;hBBBf:A8??¿èôéөнÐYuÍIÓt U-`£Aƒøæ›o T*EtË–-066.÷ÏMMMñÛo¿!$$„¡®ˆtéÒ·nÝ‚‡‡FŒýû÷¿QáPÌœ93fÌàפ\\\b¶ddd`Þ¼yœçcoosssÕ½{÷ !dÒTX¯¼° ò6ûABBÂNèׯŸ€%ïÁƒ˜2eŠÞ‡JÕ¨QCpÌÚÚZïÁŨQ£Ë9>pà@´lÙ¥¥¥*ÿ?!ŠC‹ê÷‘Ê6r0÷øçŸž#„(2–¿Ù³gã‡~Œõ[³%))‰Ó¿ qêÔ)Ìœ9S`±¶¶6€Ð[¡©H³Xqæÿr0þ“ê!¹¹¹.Eõ„ÜÑíÚµ«RÖ¨'Ož`ܸqðòòÂþýû5ÒË;±±±˜3g Ÿë¢°T¶H¥RA8-´£Y³fõX€BSx”¶)}œE,%%e Pf¹æ[týýý+d®,¹té’À¥nllŒ¡C‡ÒŸ?T©TD®-w«ºŠ<ÑTµ‚Øç””L›6 M›6Epp0M-P–ÜzàÀ»»»4{0ØL2b ƒÝ΄õª/ )|||ÎfddÜ744ôÙ¿?úôéÄRcøðá¸víZ… š½K¹wï† "ðˆíر¶¶¶xõêUÁÔ©SoA·:8ï“7C ¥¥¥‰R©´¹»»»(PŒej¢AƒÈËËË/´*¡&&&8zô(|}}™c–––ذafÏžððpDGGãþýûxøð!ÌÌÌP·n]xyyaРAh×®ÆüŠ&MšàöíÛøý÷ßqüøqœ;wéééÌõØØØ iÓ¦ðööF=˜¤~Z©ûî»ï••ÅäQ‰Éºuëðý÷ߣ~ýú „àñãÇL¥pMaDnnnxúôi¦zœˆ×½ÐD.¢M{«ÊÝßÿ½ÖÇÇçp=¨^½záâÅ‹œ“¿ýö[H$ìÝ»Wk5õª>ÖçµC¸€ñãÇÃÛÛ …¢tÑ¢E‘†Ú”j™£ôÂRþ/ú"IOOïeoo¿S"‘ÔÊÜÖ¬Y# ¬fêׯÿ¯þ¼fÍšhܸ1‡œ‚3gÎàÌ™3èÔ©¾üòKôêÕ ®®®6<8{öìKGM Pƒ kÓdü',%‡® i¤R©Ò !¤wïÞœ…vÛ¶mD_dÀ€œk[·n!„7oÄAŠ b%$˜L…FÁCŠ.Zðà 6[LP–¬ËV«¼MT*U$!„Ì™3‡s¿Í›7<“¢¢"Ò©S'朆 ¾Õg®R©Èž={ˆ¹¹¹FeÌÈȈŒ3†„‡‡ó¿«"„Ï>ûLð¥RIôQŽ9"z]ºt!„¢P(”&&&Ë|`*€1è  €pP@ VÌëQ£X@ÈP=ÌXß¿8ý6 ÀHŸè =onp`ÀZ=îLÔm%EùÕäujo6j¥¥¥í$„¬¬,Ò°aCÑû™6mQO×z%III‚kÍËËÓ»ëT(dèС¢Ï¶S§ND&“Bùî»ï"Ø à+uŸ¡×’±è #€ÔzKý·Ø_*u}‰­£T*OÐÏ)++‹Œ;VëØ222"?üðÃ[i—Ë—/SSS­ÿ7vìX’••Åè,'Ož¼ebb ËÓŒÐ@W­4Q·Iv,˜VÕÚþŸã?ÑY$EyXBøÉ– …C‡ÅüÁ‹‹‹Cll,5jô¯¯ååË—;v,.]º$úy:u0}útL›6±h+•JÕo¿ý–òäðáý (þ÷ëÖ­«·<æšJîܹ¥R ©Tjàëë[çÌ™3‰Ð^`O[= }²0ñãÅáããs%''縵µõÈåË—ãöíÛ¸páó¥øøx´mÛ˜”””`ïÞ½o”÷¢‹Èår¤§§#==/_¾DAAŠŠŠ “É “ÉDßóëÐÞKKK˜ššÂÌÌ fffœ÷ô¾êÔ©ƒ:uêˆFÞ¦`ìØ±64ðôôÄÙ³gabb‚ëׯ'úùùÝ0Æ_ÓÜT[‘^ÏMùùùnÕÊ8Ξ=‹éÓ§k,¨×¼ys´oßÓ§O¥'~éÞ½;îÝ»‡Ý»wãöíÛ¢5>ŒË—/cïÞ½0`5tèÐv~øa½É“'¸téR¶ˆ÷B qF©·1Žÿó`üçÁxw–Ç‚‚OBÉËË,Lýõçyøùù Î9rä[yÖ111ÄÕÕUt´±±!»wï&%%%ÌùòÐÐÐû 6< 800ð:!„ÄÇÇ ¾?jÔ(¢¯¢R©ˆ¥¥¥è}GFFBÙ²eËY‹ÌR[*‡è§¶p´à À@]µÔ–D V'}±t«-öVìZµjU¯¨¨èNy–Ïúõë“ {¤T*)--­pûœ9s†4iÒDôZÜÜÜHjj*!„”””ì† ~ `#€@þfð0Jm‘ê -€fpà žh«”¾´WEÛU³h›§¥¥M#„={öpž[:uH@@iß¾=100Ш[YY‘O?ý”üòË/D¡Pê(EEEäðáäW¯^:y4ŒŒŒHË–-ǯ^½JºuëvÀV¬ð¥Úêù9€ êyácÝÔýÌGÝÏèuˆö”™³DLL =z„ÂÂB½m÷ââb$''#99Yôs‰DWWWxyyÁÓÓ^^^hÒ¤ Z´h©T\…;þ)Š¢uëÖMÇëHºMìôÁÓ­÷Œ¢¢¢‰EÕûL&“‰"ôªMµZ4oá<à“µÏþx6I‡ÆÕ×xx@iiiŽT*ÄIó­‡|ÏÀœ9sþu^êU« 8¾téR2¿ÿ矾˜ÄÄD$%%½Õçjhh ˜››ÃÂÂBð^l QPP€ÂÂBÞËd²5GåççãܹsL5hÔ«W‘‘‘¢ç9„‘‘ ä“&Mú-<<<‹çµ(áÍO ‘yI[ž˜^ÎM„6jÏ…yLL |}}ñâÅ Î9µk×Fhh(zöìYå×+•J±víZtïÞcÇŽåä†<~üíÛ·Ç… дiSÓùóçoP(~+V¬ˆáé’ü÷•™ ¯ €’ËåSŒŒŒ¾@ýøã6l˜€X_¥nݺøý÷ßááá™LV<~âøÐ“'OÆÈ…|æU‰EêM Xd Wå e:gQQÑǦ¦¦g²‚Bt˜’§§'=zÄ|ÁÏÏÁÁÁÊÜ»iiiLØÒ›ÈîÝ»1sæLÎ1###ìß¿ãÆdggËïlß¾=ÜÄ4ú9*lêÔ© EQC‡EXXç7÷îÝ‹iÓ¦éu¿ºxñ"z÷î-8þÁàîÝ»())Q¯W÷§BõVÀzO÷5™º¿ÉEZ}áxž 6X2ToFj ¸ÉŽ;Zùùù­133s€?þø“&MB||åÉ®]»6¾ùæ¦òºB¡(Ý·o_Ôܹs£KKKåêE»˜µÑmÁnú»Ø‹½&ÐQ„nW Ï›!urr2JJJºbhhèÓ³gO\¾|™3Þcbb8n+"´1ª  €³Ñ ŸØ¦é3‰D¢UÙÔ¶Ï~occ#ZãBùå—_Я_?αE‹ÁÓÓ3zâĉªÇr «¿ÉDúYëx«¯Éykп » xÆ3vˆ&MŸMe#&Ë–-ó\¾|ùccãZ*• +V¬ÀºuëþUuo©T ggg¸»»ÃÍÍy­W¯,--9mó®ÉE”^1}-??ÏŸ?GBB™×¤¤$5t½÷ÀÀ@øûûƒ¢(üÅ¢JŒw0heÓàÏ?ÿìܺuëcbbмysN]›~ýú1ÖZ1ÉÎÎF||<À¼Gjjªþ=Š‚££#<<<РA4hЀyïîî.ZÈ («iàííÍáЯ]»6¢££-Z´8™’’R¨î'rVc‰BÞk«OÊE¬Õÿ6®[S›°Ç`0yòd×;vì277¯—/_ÆØ±cÌlbbii‰6mÚ mÛ¶øðÃѤI8;;kÌWÐw!„ 55=Bxx8"""!P’ÅÄÃÃGEëÖ­?üðCì˜1c"d2™œBé¾"Ó0ØbžÑƒïÕ Ð£BÈ Ã Ñ¡CDGGs>ïÖ­~úé'ãM¤¨¨ýû÷D]4kÖ 7oÞ„¹¹9Š‹‹“Ú·oÿqTTTžÀ(Eõ÷€¿Q*•ŸBT„rúôibhhXmã$ëÖ­Kž>žBHvv¶¬W¯^¿¨ÁE°Z‰£7X‹²S_nݺõ X׬Y#hŸš5k’ôôôj1ɈQóèI“&°B­Ä~àSƒôÆë"IÕ%Ñ»<šËÚjŨ!Ÿ„„„ï !äÆœgÓ¹sçwÖ&ÇçüסC‡èäÓ ßªóíjÀ€2áÙ(Kì¦òÞ:A˜pKS@jkŸê 0mÔJ¥RÉ222ˆ çÙº¸¸>}úŽÿ?lîîîdâĉÄÎÎN@¥™mbbr˜0v‰Zšrt*F9úoû¥ÁXÀ–5Ôs‘³úZš¢Œ¥ã… v–––2Y·G%VVVœgðùçŸÿß&ûûûûsž…¹xñ"ÛP—Ó®]»³"àb“º¬PPzNú¯ii»ñŒnxMqN÷¾«ô´„/BH‘¦¢¬½{÷&r¹¼Zµµ\. «V­¢ /н{÷öcé’v,cÉ[0¼‘»Z_ÀÅlŠ¢v@XXFŽÉIb€7báÂ…z»z–––b„ šVv¸TII‰lé²¥_mÙ¶å/”rB¤ŠYa+š\Ô•írä„©Èåò5FFF CBB0qâDæ$///Ü¿_çdîÌÌLxxx0¡U/^ä$WíÛ·Ó§Ogö ðË/¿ W¯^HOO/ìׯßå»wïæBHñÉNN+Yºt©ÇêÕ«'H$É•+WЫW/NØÝ×\m44###ÑpÁË—/£{÷îøiÕªU÷ 9£å ç÷7±°<} “ •bâ·[µje~ÝÀÀÀbܸq8tèó#dòuÞ¶ðób:tèÀÄËöìÙóÔåË—Ó4„ªÈXmÁCÐ¥—1Îo¸æPÐ’_“ššº¬víÚ³¶oߎ/¾øâ­[[[˜››‹nt¾¶Í‰EEELÒ.½‰Ót<++ë­P§R…[·naåÊ•.^¼˜Á›Ù!/ì0f¿_¿~掯¾úŠ.FÍ,&ëׯd ±U xРA6;wîô“J¥†IIIèÞ½»`rrrBPPPµ›\jÔ¨!zœ¦ªupp°€°˜ÿ}u¡©å/V|JM=i6lØp$Pæ­ ÁŒ5ê z¼³½y@#tïÞ½¡\f31o¿°•¦BVDðwÔÎ̽îÚµ++##㔡¡!¶lÙ"úKKKtíÚ‹/FXXž={†´´4\¿~D@@ÆN:¡nݺz. V­ZhÛ¶-F…eË–!88W®\Á‹/’’‚³gÏbùòåðõõ-$hii‰õë×#(((BúÙR ›’=f´(‡DË8|ãƱŠ7F˜¹=&&&;%%% ¼½½9?ž™™©Søû&………‚}4Õú÷ßÇüy‡í½`ƒ ¾‘ƒ?G骤V¸0°‚‚‚8à‚ž›«3¸Ê’»é5†–‡bûöí4ؘ;kÖ,g587bwm4õïÀP©T )ŠÚ 'Nœ€ ‰D‚ýû÷ã³Ï>«V@"‘ 88“'OÖ 2üýý×mܸ±9^3iB·ºU9©í€3fpèg !6l-Z$ð>Ñ’››‹©S§r>Ÿ2e ó>))‰ñl€víÚ ÌÝ»bÅŠXy»9£sçÎæ¡¡¡ÓÍž?ŽîÝ»ãùóçœë077DZcǪ¥‹ÔÖÖV£ETmÍ3×&$:V}bq錢tùòe/øæ›o8_äAm¢T*‘““ƒW¯^UˆµnâĉöðáÃ(**‚©©©ÑÂ… @ÈnÆ^°ù¯åÕ¿Þ³JÞbm}äÈ‘ýJûõëWWWÎ ‹/FNN®\¹‚õë×cðàÁ¨[·î{£8Ö©SŸ|ò qþüydddpæIøä“O`jj*?tèPªÈ˜à¿–òx¾’(4ÞUãÿ6»Ÿ‹fnüøñ1€A+XÿoòèÑ#A- `DDDdòÚŸ,ä<@Q¬\ðYµEUèÜ4€Kjj*V®\Éù`È!ï,T¶²eܸq:t(çØªU«ðìÙ3˜Í™3g `–2ð.Öü*„EEm€cÇŽa̘1œøx„„„THAÐ7±ÿ~ÁÂÀR©Ôô‹/¾Ø´}ûöx ƒÝ À ©R%°]»v»•J埖––8yò$ 9 cÓ¦Mèܹ3³0ÒÊïÁƒñÁ <<œ9¿ÿþèÚµ+³¿téRN­“åË—ÃÖÖ………%“&MŠÐb–7mÚTzæÌ™é6iiièÞ½» “µµ5.]º„N:UË~¥)Ï¥¨¨ˆeÐÝcQå^±7°~ ¼~øá8¸v퇾³Y³fhÕªJJJððáCœ|˜É „4õ9>øPi°o³¿‰cM×,êÅ §ß“û.†R©Dnn.RSSèèhܺu —.]ÂÙ³gqêÔ)üòË/¸zõ*îܹƒ‡"99/_¾Daaá;+úÉ·Î[[[3@ûæÍ›Y¼gÉ~¦š@ã‡D)¡[áϪò^H¡ö^,\¸ùùùÌgÆÆÆØ´iÓ{5'lÚ´ &&&lã/æÍ›pvvîïááaÅlO†¤2@F•CB<l€£Gbܸqp!•JqèÐ!Œ9²ZwŠ¢°oß>H$NX 2Ô9¦S§N]5wîÜÐì~4€xÆÊ¨ÊÈ©ÂúðáCUDDÄçíÛ·¿Ù¥Kã   NB6ܾ}}ûöPÆÑžžž.˜dŒŒ°yóffÿÎ;8qâ³ïáá3föîÝœœ\-Þ êòåËÓmmm233Ñ£GÄÅÅqþ³F¸xñ">øàƒ÷N¡ã1mmmÍ!ž-ÑT«¿4Í`ffnn>gŒeù<5BBB‚ ¹_‘ËåËåÈÊÊÒjH¨_¿¾àøÞ½{1yòd¸»»;õë×ÏþçŸNÖ üi«Œû>‡FñÛS¥î›Œ“ŸŸßÔÔÔÛÇLJSÑùï¿ÿÆÿ›³fÍâ<§ 6ÀÐÐÏŸ?ÏYºtéC+ ã¹°³³#ׯ_Ÿâàààœ““ƒ^½z &ßÚµkãòåËhÒ¤É{©€Ð s-@¢<Á_Ôõeáàƒk¦/Μ9sEQæ™™™‚ :/å]ŠJ¥BBB‚àxdd$îÞ½‹–-[bΜ9-þùçDEN“‚§ÒbU~_€…ÀxÁ›ïTQµjÕÃ÷`°½T‘ÔÔTäääp”ÇŠ¾W©T‘¯0Ší³Y[[ÃÑÑ¥;¦ÏÈÈàtÊ<ß~ûm„¹ *ˆ{ÉJ5X£ÅŠ£½ P!Ööüÿ+ÕbI¥P………ÿ˜˜˜ÔñööÖ0 bbb‰ÈÈHÄÄÄ 99©©©ïÌ› ‹H&“i5V°ÅÊÊ 5‚§§'xxxx0Q| 0^¼x‘Ëj[~¾—¼œ .4å]èk^ØÚÐÄÖ)°lÙ²÷rÝ_²d BBB˜0pBöíÛ‡ 6 M›6Cœ×Ð^*-óñ[iÃ*J¥’¢+kŠY‹ŠŠtf©ÎBç"¨'=c¬JlÄI*Q(-Z´Øãaee5nÛ¶mðööÆœ9sPPPPîQ…>}ú0ûû÷ïGDD³ß©S'†:vùòåá%e&$1+L‰©©©âÖ­[æççÃ××—©2NK½zõðÛo¿¡Aƒïm_¢=¦¦¦ÆVVV†jš:]Á„ÖæÒÅVL9!VVV“2­·ai|›²oß>|óÍ7èÔ©Ss;;»Ó¯^½""cZ[ÈÁûœØ MÀ‚VŽ,à m Þ|°A½mkÆ»ôôô6‰¤)!DÜ-&õë×G‹-àìì kkkXYYÁÚÚšÙè}‰D‚ÜÜ\äææ"//yOo/^¼À_ý…øøx¨T*ÿwôèQlÞ¼VVV¦Ë—/oþÅ_\ãÙ÷1yûM€…È ?ýôÓ³‘#GÂÃæ¦¦ZÆ7n F ‘œœ¬µMôe¬FEE !EÁÅÅ…:7nŒ?þøƒsž··7’’’r ÄX¡ÄK¥È¦Ík¥ñ] þ¾Jdmd¶‚‚‚ègÀWÈ÷ìÙóNÚK"‘ÀÌÌŒâÄ~O·)íéb¿½Õþ¨T*'ÿeŒŒŒŒBp“æÙtî|`Á|p¡¾\Ÿ ŸÀéÓ§9ŒbR©TÀèù¾É¸qãàïïϰ'fdd ,, £FÂøñãoܸ1^ƒ^Éö\R"º^µÿ%ÊËGß `‚RQë’¦©wâÖÒlp77·ƒ—.]JìÚµë^WWW»Ý»w#00ÿcïË㨲·ßê½ÓÙ’ û– ° BØEDPÜÇQ>ÁqAÜ7Dñ§Œ3 ⊀¢à‚A! !…„ì½wÝïtµÕÕUÕÕY;IŸç©§÷¥êž{îûžsî9Ÿ}öüýý‘””„¤¤$DGGcýúõ¦½iÓ&|óÍ7¨««s2À«V­øqè IDATÂÀaµZmË–-ÛáÔ(óÞ½{o1bDºÉdÂM7Ýä²÷ïß?ÿü³¤|ÖîD0´Z­ÒR øˆE—‘ÐÐÐà—_~Aaa¡ãy¹\ŽþýûcĈNG[W kllD^^rssqìØ1äææ"??ßIijj–-[°téRÜ|óÍcX/ëØÝI†Pš”“mùä“Oj·lÙÒ$—ËuDNNŽã æÍ›××\¼x/^Ä?ü ø¾!C†àÊ•+à‰úÀµ_1îïŽn”&%ŠÁØ&+ÛVÕ××_dƒiOE©T")) )))èׯúõ뇈ˆAò Óéœ6Ò¶DŒF£ é`‘ªª*œ;wÎAŠŠŠZe®Iyyy\«†ñ•ÆvjL ×=bÄÂÛlÔ 9‚-³gÏFTTT·6¦!!!¸õÖ[zz½ÿþûX´húôé3ÍÎk¾&_vL×`°S¤¸òÆo ÿþÝR¾úê+—¨ÌÂ@ 9¬v’Á oÛмћk€;ÚËÌ[ñ%333{ùòå3xàùqqq3ÂÂÂ1´Ùò裢¬¬ /½ô ¦¦ÆéõáÇ;¢[·nͱobd‡øÞ—o¿ývòøñão€¿þõ¯øé§Ÿœ¾kذaؽ{7oEw¶wW­VË…<€p_AÊ[I†Óÿ:xð`ˆB¡˜À¥&8EQÐh4 Att4’““Û¥$±¿¿?úöí‹ŠŠ C«ÕºT7zï½÷°téR$$$$Ý|óÍQ;vì(zšÔ1ðê¨RÚmµZË”JeòСCFK$,, ñññŽ®Ýb{'„^£iºÅ{8qñâE§>?-‘!C† ¬¬¬ ü{zø*Fqï»#"¥ d`t_¥RÑ@s„„§—ìùçD"˜#11BØ£½D£Ñ@£Ñ 44TÒûm6Š‹‹„ƒM>JJJx#"‘‘‘Ž~)•••Mp­ÊÅ-ÿ+V*Û&QG¼Â!B‰0Òl6cÿþýN¯q«xvWyðÁÆþýûa2™ ÕjCnºé¦ø¯¿þúÜxhÓ(Fg ·à%==éééÝR D6'²S¤„¼NÌÁTâ’‹ö|U«\*—¬[·®|ݺuÿ°ùoû[Ÿ»ï¾{ZttôÀºº:}cc£uĈüüü‚_xáÄÆÆb÷îÝøý÷ßQSSƒ¸¸8,X°«W¯†R©DUUUíÒ¥K·“ —²…›7o={öìÙðꫯbË–-NxÔ¨QøñÇ{FtGaG0ÔjµPù9±¨…· wàš@ >üNÚŠŠ |ýõ×\rrr““ãh¦‹±cÇ"##ýû÷G¯^½‡Z­ýCf³W¯^ugÏžÅíÒèŠ+ÇGvv6ÆŒƒåË—OرcÇyò'F4¸ÎJÂ\íjÄà©&eµZË‚!•ô1À’ 0½Å\½zÕÙ²°°ÐÉQ $C‡ÅÑ£Gà/À—&Åm´'ææÓ¥Îˆdpç€ €-44Ôá1bÒ“¹ãŽ;ðÄO8R꺪ÈårGäúôéN¯™L&býúõNi¡þþþl²¡511’Á% îȧ7Ùœ 77שÉj@@¦M›Ö#ÖÿŒŒ ÄÄÄàòåË=ÉÉÉÁرc1{öìÁ_ýõ\)Á”­’NK‘jÄÖS…¨AÁŠ?ÃYl¯‚Â~_Îašµƒ» ð…æ™ÿ'߸qcÉÆ? aŽqãÆ}¿qãÆ{ 0ú‘GÁ#<BêêꜼËW¯^­¾ùæ›?©­­mÀŸ•EŒGy$nñâÅ·À?üà´Æ‡;w"00°Gé'‚!–"xO ÊÃ÷Q,Oæ@s³©Þ½{£¤¤Dô JKKñÅ_à‹/¾py- À‰pÈd2'BQWW×âìÕ« 0fÌ\ýõcÂÂÂ>®®®vU¢$ "ñzz+éRMʱá·oß¾._0kÖ, 8ЉHôîÝÛëç*£g.ëÀ¥K—œHGnn®Sµ$HIIAyy¹ø+Hñmìëï®#sGë[ç]Ê×úûûGÍÁ¸åŠï½÷^Þ&|ÝIÔj5 „{ï½×‰`áÒ¥KLä&Òú¡ð=æÓ o/—}#8pÀéÉÑ£G öêŽ2fÌ|ùå—ŽÇ¿ÿþ;ÆŽ‹Áƒ×&¯|d’BeÇtjŠ”V8-,š¡ðy”ö[9‡mr•¡£=ŽÌïÓ,&l…kFÙËøúÚµkS~øá»ƒƒƒ#)ŠBpp0!¤°°°ð»ï¾Ë}ñÅOVVVšY¿ã0€aaaø÷¿ÿ½˜¢(ª  ‹-r §¦¦âÇtñlõaG0T*• Òêutzå!Ñàþ?ª¢¢b$EQ×À¤I“P\\Œ#GŽ`ûöíØ¾}»ÇèÐÐÐàÒ̬¥’””„¹sçbîܹÈÈÈp¤Mi4ÝÓO?=üÑGýM€ì Ü´HH˜÷„çúys„ƒkWdP«ÕÃï$[bccñÝwßu«9LQâãã)S¦hÞÇâÔYþøñãˆÕ?š,*ùºz‹ÈŽ^SØ$ƒ‰bqõ‚V«Õ°gϧ/ðóóøqãzŒ½OKKC`` êëëÏýôÓO¸÷Þ{‘â†x é 麽ɖ ã#Ý5FHÒÓÓ“.–‚fǵَ3lÉv\3Ž´®ìH‚á´˜úïõQÀbW3œ»z+XÊÀ—&Õ B¬£2›`•?¥ÐO=õÔ¡§žz*788X;tèД””ÐüüüÆC‡5pI œëº[·oß~KpppT]]æÌ™ã”ˬÓéðé§ŸöHr8G04\hîA¸L­ oC]ò„ÔPîlHddä±£Gìׯß"Fs›\.ï—––†´´4<ÿüó8uêvî܉£GâØ±c(((h·ÊBE¡oß¾1bRSS1cÆ §²ªv¯ôå#GŽÿòË/|òÉ'"ãÁíÀNXó@(-ç>ñB²AÀ¡!è;w&Ëd²`øùçŸ>8uêÔ1¯u:ÒÓÓ Xìٳ˗/â8a¤6qJ³õA2¸is”` à#'Nt›êØ^v—­VëQo“ÖŠB¡Àĉñí·ßºŒèèèðoþç#Bݹ×ß+É!D <èôÚ˜1czàžovv6 222><<\WUUÅ®fæ ¶ãºmt´³À´Ífó §ÙJ`'bäBç(œtF¹ZvÅ&\¹DDÀZ[[kÉÊÊÒgeeUpÎ`Ø–.]?~üøpÿý÷»x©×¯_ß­û\¸›Í³Ù •JÅ`îS¡Ú+ŠA‰8÷{?7räȯx=+++uРA·ÎT(1ÄÀÖëõ8qâŽ;†o¿ý;wîtp³gφ^¯wZ¬ 33¡¡¡øé§Ÿœd¥§§ãöÛoLj#0lØ0—ë‹Å–ŸŸé—_~)Ø´iÓ©'N\ ·à!r|Meo|FÜ4!›Ð‘ýsZJ6×]wÝ( Ù‹Ï=…`ÀäÉ“]Æ‹/¾0bÄ]nn®ü©R´ñèÌÝž’ §=ß}÷]o…BÑŸÓlñ$מ‚Ë—/£¤¤ hllä=Ä^c¦EQÐétð÷÷w`îó=æ{.>>Þ£Mè“'Ov!v²£NMMõÏÉÉiOá™àÓ©ä³ÓÅl6Ç©T*MÓ¸råŠÓkiii= ¤¦¦‚¢(G3É«W¯2˜@>wîÜ>ï¿ÿ~Æ´°ð—†ó‚AÉðwžç)frèY ònÄOë§9•ê¹\NËår›\.·* ›B¡°ÚÓ …¶lÙ²‡7oÞ\ çpVgF1h àÕ%Õ‰C ä"ÃaìÖ¬Ys/EQ²ÜÜ\—ŽÍóçÏÇ}÷Ý×ãõH¯×3CîÔ{Úl¯µäÂñÛðëß¿_…B©P(zQ!“É"(hš6Bô„£ÍfÓ›Íæ«ÕÕÕç7oÞ\üÜsÏ8çÀmù„ N8àù×_}à 7Ü0)..nBppð™L¦ôóóÃèÑ£†çž{ÎéO¾ûî»X¼x1rrr\ÆŠ+0cÆ ìÞ½3fÌpDAN:…´´4'Q]]ñàÁƒ¥;wî¼øÑG]¬­­Õ0Ú¾…š@1Bwÿý÷'1¢whh¨F§Ói4F¥Rie2E©#„ÔÛl¶:š¦ë«««/Ì›7ïÔÉ“'m"óÒásÞF2耀€ëæ\bvÙN™LæH!òTŒF£pä»/ö:EQ€¿¿¿Ó-ßs|¯µ¤‚Ñ”)S°zõjÇãcÇŽ¡ºº·Ýv[lnnn•Áà#DPJÕ›ŽÔ§ôœôôô€æ±òòr·ãêÕ«ÈËËCaa¡ÓQTTä´¸pCOZåõU(€ääd¤¤¤ 99ÉÉÉ>|8bbbœÞ{à 78=®¬¬Ä‰'0tèP,Z´¨ONNN…iàŽ»PZTg냨Èåò¨­­uŠRËd2ôêÕ«G­ÿjµAAAN™×®]CTTBCCìäBÅãÀJ¿÷Ê©.³ vd±«ˆ\.—0 ÙÝûBCCµ,eC¼/F[¾4àÏšM€Xðo>d˜3WÁ¹×éÿûßÂÂÂúÀ‹/¾èô#qqq’š¬õ1 f © H|ÝSrA­^½Zöøã§ªÕêL¹\>…¢¨1v#'I°víZ²fÍš2š¦/X,– F£±¨¦¦¦¨¨¨èüsÏ=WüÛo¿1eœå=öØ…   ò7Þx£xòäÉñññ7ÀéÓ§1yòd”••9¾ûÀâÅ‹.\pùm¦æÔ©Sñ¯ý k×®ÐÜÔkÚ´iøá‡0vìX@~~~å¦M› ?ýôÓKvÝv,Þ*•Šš8qbXFFFÐСCC’’’zEEEEÅh4VÁððpœ8q¢Ñjµ6™LÔÕÕýñØcíýâ‹/LÃwº³*òÙæºáóV§¦¦",,Œ÷ËÊz²{ ÔÖÖ:<Î zõê…””—#))‰·çÂõ×_x¥i?ÿü3&Mš ü]zÅ:Æ‹mêöÚ¢“×ô¨øøxôïß/^ľ}û°oß>deey¼ËÄjµ¢¨¨EEEøñÇ^KLLĸqãÇ AƒÊÊJÇ{~úé' :&Lè ÂéNR£V^]™Ž¢¨¨ªªrz>88¸GbÍÐÐP'‚QSSƒ¨¨(èt:±àsðòá¯Ö‘åö<Ѳ²2¼ùæ›îwÞÁW_}Õ-ÿÈ‘#NO:…'Ÿ|Rô3X¹r%Àd2±½ýì¼l¶‘èˆ||%…*Øp½i ü™ûÇ ™ˆ‚“;ï¼s::mbšöõ¤r´bÂlô¶ ±ŠQíÙd€òòòð^½zýC&“Ý ”Ï>Ãl6Ãb±Àb±À`0À`0@¯×#"" @RRär9%“É¢e2Y´B¡ÈÐjµ ARR233i«ÕzÅb±TBäJ¥2R©T:~ó—_~Á¢E‹œâaÆaýúõŽÇbV¯^ýû÷ã×_м1|Ú´iøðÃ1oÞ>~<¼üòËNaÐQ£FaÒ¤I=Ê€ˆmVf†R©” ¡ NmF.®]»ô˜L&[{*$MÓøí·ß°}ûväåå!??ߥɢ¨T*¤¤¤`À€0`®»î:ôíÛ}úôAdd$È E¬B¡ˆå~¶¤¤«V­ÂæÍ›ž ÄÖ­[¼Å\òGuÜ—Ëåøä“O0|øpTTThö–ÏŸ?3fÌÀK/½„!C† $$D't.UUU(**ÂùóçqöìYœ9sgΜAAA¤þŒÃaРA:t(æÌ™ƒiÓ¦A¡PD†„„<³råÊÇ–-[¶ù³Ï>{{É’%å<6 :¥ÌíN‘¡C‡Žc€C^^žÓk………˜9s&öïßïTE§;Ìm&‡Yƒƒƒ1fÌ—æ|{öìF£QΟ?¿÷G}TÄCˆÈÑ™£Z$o½õÖXŠ¢‚M&²²²\æUkÅÏÏÑÑÑNGHHˆ£Is¨Õj—çär9ŒF£Û£®®eee¸råŠã¶5MðÈ–¬¬,˜ÍfhµZÍÂ… c6oÞ|†Cˆ§!qóº÷0 Š ã#=ÕéÈ=oÁðƒ´†ÐþMÇ_ÑNF’âv³õI›y¿Ű¹ñ>Ðíø¾—Û}•àÏ.vƒ]O±]ÆsÏ=w;EQʲ²2 ØSºtr= B€TV£=@xF›Ûz½^­Õj÷ÀÁ÷ßüq‹½‹f³'OžÄÉ“']^ÓétèÓ§£)•F£q”œ=~ü8Ž;æò™ÄÄDlݺթ ÀåË—±cÇ—÷îÙ³gÏžÅu×]ˆŠŠÂ¾}û0þ|?~Üñ¾]»va×®]HNNÆèÑ£ˆ€€Ð4óçÏ;Ž¶Ã 8xð <ˆ7"<< ,À}÷݇ÔÔÔ€   ‡xà[“’’L:5®5ÎÝ•žôŠH†V«¿þú« ©þüóÏÛì‡Ñ»wo„……9À£Z­v:ØÏÉd2F˜L&˜L&§ûìÇ555(++“L¤…¤¶¶»víryþâÅ‹(**¬Y³â?úè£B1¥Ý¬ž‚ÌN“àààÙ@ó~©dœ+aaa9r$RSS1`ÀDGG#&&ÑÑÑ ê”ó2 ²qåÊœ>}¹¹¹8zô(.]ºäñ÷éõzdggcâĉ˜3gN2‹`´·ýïCAHEQ.6¢'õ¿;of÷ŸŸŸ®Q ±èÐUû`ø¤eb`(Ý,„ö;¢b {1ãnÐf“ œ÷ÈDÈ…CÉSRRfÀ믿î®ýýý±hÑ"Áàx@G 'ðϹE/2”ÉdJR©T{ô)++êU«ðᇺÍy Dll,´Z- ŒF#šššQ1ijjB~~>òóó%ýÉ™3gâ£>r ŸoذÁ%Õ€1Îo¾ù&ÞyçÇs)))8tè–-[†÷ßßéýŒ÷¹5Ž€€hµZh4X,”–– Õªª*¼óÎ;xçw0oÞ<¼üòËHJJŠ˜ÌbÎYêøà¡ÅŠ©Àç…äK•j/o”¡Y$‡Àµ: F1(rA-[¶¬—Z­îü±ÓX´hüýý{"É”¬d …§Mïx¥¢¢ÂO¥Reˆ>~ü8fΜɛ ïïïo¼óæÍÃÀëRâ•‘ÊÊJdggãàÁƒÈÉÉANNN‹¤¤$,_¾<òˆËƿ˗/ã½÷Þc: õ¦M›°bÅ §ˆ‡F£Áþódffâ¹çžsŠfx"9r$ÒÒÒžžŽôôt—J1Œèõz”––¢  ;vìÀW_}år=¶mÛ†_~ù[·nÅäÉ“'L˜ðù¡C‡=zô¸–“‡dxMzÔáÇC)Šä ÁP(0`€ÃCššŠaƵ;p'jµ‰‰‰HLLœÏ'Ožt€È£G"//O’—þ§Ÿ~ƒ>¯.))1¸±×¤«Ú¼sçÎ%P•»wï|_dd$n¹å,X°&L@WϤGff&233ÏåååaûöíØ¶moT—Ñ‹µk×">>>&99YWXX¨‡pÃUOÊ™{Bj˜±Ú=•`0×Å`0Øàššî.M½39‹ «Õz/!„äææ:ÞÈÈHâ÷ráÂÁë6cÆŒùÆ` €¾âÐÜh&Í9ï~4v"°ÔvK‹s&ìÆôôPÛÿ‹€û  @8€‘öóè @L^^ÞB9~ü¸ ‰úã?z¤~$%% æVgggBù÷¿ÿ½À‹žð8€‡Üà4WxgסþYú`+5þÜ|ï¶ò”ÑhL „ÆÆFâôŸüüüÈ‚ È—_~Iôz}«çÆ—_~Iž}öYrûí·“´´4àr(Š"qqqäæ›o&ßÿ=±Ùl¼ßWSSCìôÙ)S¦ûî»Ïé¹ÄÄDrùòeÁÿµoß>rûí·“>}ú™Læò´Z-:t(™?>Y¹r%ùøãÉ™3gMÓ-¾f³™ìÚµ‹Üwß}$44Ôé÷ )(( „b4Oˆ·Ï©Hûœ f5×VÈÐñil¢hll¼…BJJJÄörï½÷’]»vµZ·¼I¬V+Ù»w/Y¶l‰‰‰=›ÍFþùÏî°ÏõxÀ=n0À_\`€ûzÁšïÚZ+Z¬ ·BHee%¡(ÊéDDD%K–_~ù…X­Öµœ={–<ÿüódÈ!N×D.—“ššB!Ï?ÿü»ý¿À<ÓŒjÇIh®ü ȾN³m‚ Þ™VEÆ›ívÎéÈd²VÙ×®*AAANס±±‘BȪU«vx À£î0ߎÆjÇ’Ñöõ!À®J–Mèô†¯þl;‹ÅbQÙ^j-óöNyà+‰K0ç½”»#>>~—r}:£Fê‘: –"嘈ÎnzʃùÚ¢9\QQQߤÓét÷ÜsÞxã Çk À§Ÿ~Ú&ÞDƱî²V)‡¿¿ÿhÀ5,Þ“ŒFKÏøHõ¶Hêišþž}öY§4Ÿœœ¼ýöÛízM¢¢¢0qâDÜzë­9r¤[AÓ4î¸ã§îÈ@s ×üùó1uêTDGG;½vòäIÌš5ËQ©KH4 Œ[n¹™™™ˆo×zì»wïv"Z­Öq½KKK¿[°`Áq;!Tû¼Ó½•r¹|<ÁÉd¸ñÆqË-·`Ò¤IÝ’\ð8 лwoÄÆÆ"..Îåõ={ö >>>Œ©VÌo¯[¿årùp ¹Ü4Wªªª°iÓ&Ì›7aaa˜5kÞ{ï=Þ²Ó]Y Ž9‚uëÖaÒ¤IˆˆˆÀÝwßíÛ·£©©ÉåýL°°@ñ"] ¿™ÍækB¸à?þèQØàðáÃN™ýöu¸Òö½RmeÚƒ`øÈEû š#l‚Á„2Å€CG w{B؃Ûe–ۄϺnݺ…B1rss]¥ät½… IDAT`ˆLì?£íí‘tèS~~þN xê©§påʯ¸~F£=ô¶oßîòÚêÕ« ­V‹×_ÝåõììlÌ›7ÏÉKÔÙç²téR§çž~úi$&&Âb±4Ü{ï½ïrì„R‚­èT{~èС@Š¢†ñJš¦±eËÌ;aaa¸ñƱqãF§æ‰ÝA¬V+Ž;†5kÖ`ĈèÓ§{ì1üþûï¼@’'béŽhHÞ´–Û˜ù9yòdQÛøý÷ßcÉ’%HJJBPP222°dÉlذYYY­®êÕRZZŠ;wâ…^ÀÂ… 1`À`Ô¨QX±böîÝ+Z<#..7ÝtàÂ… ä¢%:áu²yóæÌy³åÀ= }ZR1•J…É“'ã½÷Þ;$4/ÝÆ.á±®¨¨x¦wïÞc£££ÃöìÙƒÏ?ÿëׯGvv¶èçêëëqàÀ øøxDEE!22‘‘‘.÷#"" ÓéÚ$µÓjµÂd2¡±±(//¼---mqoŒˆˆ<ðÀxâ‰'€¦¦¦¦gžyæÏú,jËÑ…Å+V¬°,[¶ìw¹\>=33Ó¹aB=™`0d¼²²²C(ZÁð‚!$f³{÷îõ±7R^^.L0¬6fã4Ÿ×_a¿•ñ‡Ž1¢ÁÝÂG4ˆ¿¿  ¹¤µ§F0Ìf³Û²¯v‚Á\g¡n­íÑÅ— Øa±X¾S(³7lØ€Áƒ;"._~ù%ž|òI|ýõ×8sæŒèíß¿ßå¹Þ½{;ÈFRRbccã¸e×±ohh@ii)._¾ŒË—/ã·ß~Ã'Ÿ|"ýYµjÖ¬YÃ,JEÕwß}÷õÏ<ó ñÀ8•±mllÄúõë±aÃÌ;3fÌpú/ì}MMMŽÿÁü§ .8JÚ–––Š6Od Ó«#11÷Þ{/^~ùe§1÷Ýw¡T*QQQqö–[nÙ‹æ¨kĉ^ÐÏÇîp¢‘’’R ³ººzöâÅ‹×Nš4iÀË/¿ŒM›6¡¡¡AðsÅÅÅ(..Æ·ß~ëxN£Ñ`РAHIIADD„à!TɬUÎ › •••޲´ååå.¥j ZTM©Tbîܹxúé§ÉÑ£G³ï¾ûîc—Ê¿‰‰9yðàÁ1#FŒxY¥RÝ´páBjáÂ…8rä¶nÝŠ¬¬,äääð–šæ¦ç„‘ËåP©TNCü™ƒqRlvK%""cÇŽÅ‚ 0oÞ<Çÿ©¯¯o¸ë®»6çååÕ¡ ”!nåºø³V«>kÖ,<ñÄŽç>Œwß}·Çà.‘ž9s&àÒ¥KµPµËüïÐMÞ555=®ër[ m£™T ëV,åì•”Ò‡ƒ/ª™L¦´{¯\>pìØ1<ùä“=’`HšˆÂCjmüÖxQþž‘‘qCrr²ß“O>‰gŸ}Öñš»®õb€2î¾ Ft:"""PUU% DÙ¢R©°qãFÜ}÷Ý€C‡›4iÒ&“‰6 æ%K–Œ»ûùóç»xm6¶mÛ†mÛ¶9=¯Õj‰ÚÚÚVuê’‹/â™gžqzîž{îÁøñãAÓ4ýä“O~h³Ù”<Ä ÷)”^±Ù7,,ìûÑ£GÿôÍ7ßÜõæ›oþëùçŸï½eËìÞ½ûöí“T†Òh4:J‹‰F£¿¿¿`s=öÁ|¯»F{µµµ’‰£ñóóÃõ×_Y³fañâÅôùóç/®Y³æèÖ­[K<œç”È}¯Ÿééé¥î:pà@ê°aÃþéççwCZZš"-- ÀŸ æ²²²••…ƒÂh4¶ Q4 -nîצ‹¢0hÐ Œ;cÇŽEFF’““ÿÄ4M.\¸PqàÀsÿû߯¨¨h`;B0Ý‚p\½zõ—øøx 4 ŽBz½=ôPÄŠHMMìڵ뢀³Á]je«ˆG»ôÁðmònG‚Ah”  ä!tæÂV¸ý2™L.D0²³³{\øÓÃ…ˆ»±ž¸9Úl±?~üåšššçƒƒƒ×>ù䓸øãy›ÏQ…¤¤$ÄÇÇ# EÁ`0àüùó(..–ìd¤©©IòÆN…B;KV­r¤8íÛ·ïTffæn“Éd€‡zè Ùl6.[¶lÊäÉ“qâÄ <ðÀøá‡Ü~¿Á`ÀÅ‹[týär9âããÑ·o_èt:BÐÔÔ„²²2œ={–׆W^y••µçÃ?,³Û6©p·?ËëäСC¶ÈÈÈn¾ùæ¯^ýõ;/^Ã믿îR±ÃQ©TèÓ§’““i_ÌýÄÄDAojj±cÇðóÏ?ã7ÞpDG^~ùe„……¡¾¾¾æŽ;îøÒ«…tú¦n)¿¿cÇãŽ;6øtðàÁAÏ<óLÆ!C&,^¼xì’%KâàÂ… ÈÊÊB^^ž#]ª¤¤„w¿7I`` H&&&"-- cÆŒ¡•JeÝ©S§ªsrrªW®\Y••Um6›Ù‘(6p´Ip& æ|§¬!o½õVÕ[o½õ1€m‹/Ž_²dÉ̾}ûŽ IV«ÕA*•Ê©|4[ª««úÁ=ªªª ƒÁÐfÄ“¢(hµZh4hµZ„……!..Î1öì#:: ?<+++«ËÉɹ¼wïÞ+Û¶m+½xñbœ#”ÎaeÝÚxˆŸ^t9±X,{U*Õm³fÍò ü™uäÈ‘KUUUfRÁG.Û´õb"@ †{4ÍûgΜÁܹs}h¯•Ò«W/GZȰÞ;~üx(èaƒ@ç00Ú½Œa á€Ko§MÞµµµ‚‚‚~ÎÍÍÅÈ‘#}Š A²³³‘žžŽuëÖíZ±bE¶]ô¬£‰óØ`דÐY9à…vãéàk´( 8|øðØ´´´¨;î¸aaaXµjzõêÅ]Œƒ¡A©TjT*•V.—+Ül”••¹æ–›’¤Õj1lØ0Œ=K—.E¿~ý¯9sæâý÷ß¿ëÀ5.­LÕÿûßÿ2ÿò—¿Œ¦(J4—@ܲe rrr——çR*R§Ó9ˆ›@ôíÛqqq­Þ}úÄEGGGGDDD…………‡………ët:?½^’’é`€eqq1ÊËË¡×ëÀd[)Q( éçççØTœàt   réÒ¥úÓ§O_ËÍÍ­Þ¿õ¯¿þz­©©‰=ÜÍùŒMg33Öû¡çܲ׳È|oODkõAçF®*Ž>hh'Nœ3mÚ´~ƒ˜˜ì×\)Â#ÜCq"ìƒÑš¦ãÍ&ìûLzT±ÙltuuucyyyCiii}vvvÙ¶mÛ.Ÿ>}º‘3Nܽ˜Ì|6±Gô<¶@ÌÐ^H<œÖªªªEaaaFÜ~ûímšžØåƒ>@HHüñŸ_{íµ3,[РÁ~ÔÛFûÁÅV‰8 ã †îµ½ 1|mÞñ¼J ÃÌ]‰`8 Ç®]»§OŸ^e±Xd‹/öšÒ Þ,ëÖ­Cÿþý±~ýúï}ôÑ,ÀÁ%ìÇÄ1(­!N °¶¶öÍ   ;ذZ­õùùù»¶lÙ’½{÷îÚ'NXX`Aå7~üøÈáÇG$''÷ŠïÕ»wï^áááa:ÎßÝ5ÐëõŽ…ßb± >>ÞÅxúôéó¯¼òÊï|ðA1Ü—Rv\‡… Ƽð ·$&&&³¿¦i”””@&“9€…¿¿ø_µZ­¶k×®Õ”——W———×”••Õ—””ÔÖåçç×–””´Z­L§ÓÉt:ÜÏÏO©¹çž{†Lœ81Õßßßigò™3gN 0à]À0K$V/!Ü*'\‚Á”’æŽäZ6È ŽŒŒôOKKë5pàÀ𤤤øøøàèèè V«UjµZ•F£Q*•J9&F£xd&µ† "¹£oMMMæššCuuµáêÕ«†ÊÊJCyy¹áÊ•+†K—.Š‹‹ gΜÑ×ÕÕYD<‰ ˆdƒI¶·šK0øH†3öl‚aëBCHØ:Á&N%݃‚‚´C† íׯ_HBBBpLLLPTTTP¯^½ÂÃÃBBBüƒ‚‚t²¶(%¸ÔÖÖ6UTT4”••Õ—––6\¸p¡¾   >??¿îÔ©S‹…æèÍskˆ`˜xH†‘G¸ŽoÔ·cÍš5AO=õÔ9Š¢}H YL&“5**jsmmm“Áhà!fÁè‰cäð5yyNƒM2ô]<‚áXm6[¶L&Kõ¼gòÎ;ï|ýðÃÿÎZHô¢Áõhš Fo)ÁPüãÿèõâ‹/Éd¡È±cÇÖÏŸ?ÿ뢢"Š øz40ßãT§;!!A3nܸ^Æ 땜œÈìÛá MÓôÅ‹K>\øÅ_œÛ¾}ûÖ‚ÉçæË[v\ƒqãÆ…ýõ¯6vìØ¡IIIýär¹Ràwm×®]«-//¯.--½váÂ…êÓ§OW9r¤úðáõV«Õ]…/¾ÇÐjµÔk¯½–¶dÉ’[)Š¢,‹yÊ”)k²²²®²æ½™E0L< ‚K0l^J0}btDÃC2ü8…úñ5#•i4yxx¸ªW¯^êÐÐPUHHˆ*$$D¨ TÊd2Êjµ³ÙL[­VÚb±‹ÅB˜û¬çh³ÙL_ºtÉXTTd¨¯¯go˜*Û ˆ÷âÓQ!oµQÀcm”4g}ð&‚!¦ì(†ŠC0Ôàï¥Ð‡­Q(2F‚‚‚TAAAª€€…¿¿¿* @éïï¯ÔétJ???¥N§SjµZ¥\.§L&“Íd2YF£Í`0ØL&“Í`0Ø ƒU¯×³ï[kjj,ùùù67Ä’\NôBH'øH†‘ãTâ’M.Á ]„`È(®\¹r{DDÄ3„ŠBÑ4MBd4MS4MËìÏ9nP„B(æ~cæVóTÁ?JQäСC¥³gÏþ•e¬ØÀ9yÔl]hÑZÐ.ãž{îQ8P}éÒ%Eee¥¢®®NY__¯njjÒF­ÙlÖX­V?«Õêo³Ù44EëˆhhBk!**Bˆ€Â¾ç@¨”·î3ðT9øni6Š¢l¬EY(PæšÚš&F;Á0À9奉"ÌJҥƞ={Â'Nœ¸N.—“Éd‘„!Äl?cH#Á6£A1^#/6­20¬ÊQxÿý÷w®X±â„Ó& ]á Z¢aákÚ#g-àʳgÏ.îׯßkyyyÏ>|gáêFïn3²Ë^…BA92(<<\ÃsêøñãõW®\1s®w¡¶±À–Mp;kLLŒß¬Y³be2™‚¦iMÓr›ÍF]ºtÉøûï¿×FþýDX M§ç7mÚ4þ®»îºmûöíÛæÍ›·‹Ç³mæ&ΘóŒŽÞ(Ì”ü)Y$ƒ›£æF.tKá‚2ŽÇð¼Ë1%uñ!à!R7%ÎÀ‰fp‰¥Ø¸{#Áà¦IÉ9Q O4CÍzN áF“r]Ú„L‡P!xNLøt‚/‚ÁNŸ3ó .¹àF1m<¿çõƒe#[ ào?쇿ýy?–½Pòؾqô&Ì@ÖÂZǬ»ÀŒFÁhâÁVVƒ&ש¬AbçK:åͲ_ ¹ÝûDœ¼™lO&Á X¿Úu -N0x…‚ p nú‹»¸·W‰àG>]â.$Zˆ„Å€«» :ÞnHÀãÝä3Ç£i„xº„…XK!~~~ª_~ùefzzúoœE_¬Ã4ß‚ÏK,ÜBcIÜ,Òìû41çKã‘ ŠgÁ’ê¹&nˆ½eË–‰>øàoMMMlÀÈ<Í€Eg¥Ex (ÕàOaGÅÔâªa ™:ÔRÀAZ¹àÛdc±™ä¦ÃqçºÙË%%!B*F2T<7z!ãÁBDC É Z`×¥ 1²ÉÝäoáÌ>`–@.h`éƒâ‰tªY‘MÉб†F„`x;."§\‚aaa=‹`4r¢\üÈ—2ë‘(Úñ¤…Œ$1ŠAÙ‹¨2ïáŒ®Û 8² ȟ׋r2B›²:#Å¡­¯ %²Ónô‰m˜ë§pÒ5gÀGu!#‰×ƒ››m‘&[¢/ܦ‰ìÿ$@ëõzkzzúv#Î]ÄÙ9æR¢BÀC*@šc|+mpþü›Úå<£\]“’ã6²±xñâ]àßÌ-ÿÎì#tM¸==øæ=áD¦à/×Ky@2à†´J``àTòé){ŒùR ¤F¨¼q­àöQb_ v£·pÆŠ«/V‘èŸCCÆcc bƒVžhû=ÜEŸ‚éQp_†U Á° D1l" .ÁK JR´»è…Òmå›6tî~ OÖxm²`åñ8²í§•ã`K‘’¢s@Ë:`K•R=ÖVð—%5Kœëb^IâeöŸoÞ2ãÁèDÈû:±õ@ÆÑ9O´DJ„-XG„Ò£i‘ù-%Š!D2¬Hgg¤F¶ÇºèÎÙbrã„tG0¼/¸s:ò‚àËXÓƒV;0Ø|žväœÈE³—âüKºhƒr»éOh¢˜íiRBé-Þ\ù¡¥$•;yä¬k"s!ª^7‹¨ºNDLŠžA]qõ`°>/vK€Ÿ7‰ù?B‹2Íñ‰¥µ&‚A¹YˆÄR¤ÜîÁ B=jÜÙI)$Cìs6’a‰b¶\TÚÐy«ù¼ÖNYy€%ŸžÉ%èÜx«=ɹ‡䂸’V’ÁÌy>á.ŠÑœM´ÀõçÃVò/”.'ã‰^ÈD'ÕŠs#"Ž#@|ÿ_š7 ká±îœLÞ`Zëp㫪¥à‰\°£[|¡+F0„²ø »U‹òº8‹°HvN‘°:y›ø½r‘ILu›©f± VŠàz¦=ݨÙÕ¼DÀÛÍž<\À\Ý-z!äõ‹ХɨÐúÀ|)m4ËÃhƒpdÓ÷èÝE/ø¢H0øÒ Ü•î\sÂå"Ñ‹– âfÑw—Šjã!RR¤:Ó-æ±–JX…À…âÍIù¢Ñ£ÖØ ± a4Ï|“´€dæºÇÚ ñ†|ÞÉ#g̵rº°ç€XƒZ9ø£XR-%Bͤ¤Ë 5Rµ 8K„n¥Ø®à¤tçÐ6sÈ× ©qBve‚aã,vѱRÕm‚;*‚!¹`ßÛl™Àò.L0lM®ÂðG1PÔUI˜€¢$è“»T•®Áàz¸Ü•-”š‹ß’Å…Å`{­š!v+•ÀK½”ȹxÒQÜ“[w^Pwú !ñ;!•dpÇMƺe«¹ÜW ’²RÒÅÈ. ž{/enKZuU )ô:÷=ì訧cí ¹¤ÚÀ®‹9¤¦Pñéß¼ºnÕ()-¾×¥fÍt§½™Rʱ 9½¶Šl°½ 2/C[–ì)DCŠg²« w$ƒo?ŒÇSånaèŽ]à÷FÛl¥¸qÿ–4/“š:%tŸ¸YÌ¥zv=ÝÂ÷Ÿˆ‚àî½RT+þ‡§cAZ¡]DRì€;§CK Õ†z7à¿­Òaø¾«;­RÒ*[²¿«-쌧s×Ó褻×I+mGWÖ‡ÖfÌte‚!¶þHO™ëCŠ¡ö‘‹ÖÉîl0ZKT)Ÿnt±h+»Ó^¨¶ßíµñ³­€éFs_Œh‘wÑt´pPm¨cR<ÓRÉGO!­uFP­ü¼§ï!m4O[‹º;NZ^¤;`…–8Û\/(/4>’Ñ2Ã@zÐ5ð4–òéˆä2§Þ ÚãûÚ»×VýTHÙŠî ¥‚†–ô1hkâ)8”’‡/ʼnÐSf{áªçk[ŒcOÂîæqOr@z’JçÕ‹zwù/]™hôTãÑR=¢zÈø÷&åEsŠòÍïNë¶ mmgZ:})1Þ…1:j½ ^ò>¬Ð3ȆÔûÄ'>]ö-:>ñ‰‡ó¾=Sb¨6šwž¾îK‰ñ­¾±õá¯Ö(ó‰Ïˆø ‰O|ÒÓæ»§Mªæhk£Ž¾ùß=Öß8úÄ7q|âŸøÄ'>é&ë[k›muôF|õ‰O|â#>ñ‰O|âŸt¡5Ï›öÕøÈ„O|âÁð‰O|âŸø¤ ®‡‘å#Ý KùÆÑ'=Rd¾KàŸøÄ'>醀Ï]×^> È[ ¶¶¶6Ðl6_g4Ξ=«só[BßKÄ~Cà=-9Ÿt¼ŽµÅû|âŸøÄ'lÐ}âo«>ð×uÇHð°X,£hšþ/!¤žp„¦éB«ÕúrEEÅu‡œuÈìÕ·Oº†žùÄ'>ñ‰OÚK!ÁmlÈ}â“ö2‰‡O/»(©@UUUÐ4½™H“†ÆÆÆ;¨X‡Ò~ðŽŽ">½kG};yò¤ÊC»à#Ÿø¤›,"¹Xyó9y3¹ !BÈ6BÈBˆ²… Îg¸}Òž6‡­kr‰‡~ú¤Ö„«W¯ú †X{Á7.¼cTWW—H)`ØÃ¹sçÈš5kHff&4h2d™9s&yõÕWÉ•+W,Ãd2½}ÿý÷ÐPÛ!ÂÁ«'«W¯–éõúèÚÚÚøœœ?ÏÃG4:@ßl6ÛBÈ^Bˆ‰b i:·©©)­bùÄ'>éDBÑ–^ª~§£~«; Çx•¦é7-KšÈÂêÌyr½|Þ@Ÿˆ‹+W®„Õ××Óëõ7TWWÍÍÍ ·ƒ¥À¡‘>]jÃñ±Z­hšþœRƲ!µ4Mï³Z­ŒFã©©©JàÇòÓ§O‡Ò4}ÒNÈ£>J …Ðþ¢ÓéÈ‹/¾èøq«Õzðµ×^‹à@k'²áøEEE½,Ëã4M·;\ØrÉjµ¾]WW7Ö`½‚\,$„Øx¢XV½^³›ÀŽbùÆÈ'>éDbÑZÏ¡Ô0tK~§%¿%k£ßêF‰ÁX禦&n~ó^½^ƒýܩ׊2}ôz}ŒD²ç[z˜ý©ªª °Z­K É“{_`0žÜ·o_ þôT³®ÇZüù¤kƒÁ`ˆ#„ì“’»d³Ù²ŠŠŠ®ú’ ø³Ùl[ !Äh4’ & îqçw›­w †OØ:;á`Ȇã˜L¦û!RÎÅjµ~~òäÉD´M–O<Ô»“'Oª!Õ„²cÇ2mÚ4rã7’={ö0vá˜}\¸¶€XÊEˆ†O|Ò­&PG‚ÊXó9Ï9þMÓNÏBxßǽ^$$$äœ+s½^?A¥R wó(Ö}·¿uåÊ•¯úôéSÂý-³Ù|¯L& ðô·„~Ôjõzæínn¹÷» Áèà<$''cÆŒxøá‡Ñ¿°ô!«±±ñßAAAYî¾NÂ5‚ÉdÊP©TÛXM&Ó-摹஋®¯ô`7³ƒF£qŒZ­þ@ûŦ¦&èt:ÓÓÐа*%%å½ŠŠ >½« D|:äùºdµZÿ"—Ë¿ÇÇŽ;““ƒŠŠ "993gÎÄÌ™3!—ËíÃ×ô¯þýûÿ§´´”]ûêêêÔÐÐаråJ<ÿüóýáÇ{ ¯½öàìÙ³·öïßÿ'θÓÌmjjªìàÁƒï(Š»À`0`ÇŽسgŠ‹‹a0‰ôôtÌ›7)))ŒÍ¼ZRR2;11ñ¸È:@îK±Ÿ>ÐA³Ù|£R©üÚjµ"** ÕÕÕ€~ýúáìÙ³€Ã‡÷½þúëËDÖ "0FÄ7]_!&Š¢H ðµoÌÛ`þBÚXŒFã«<¥ÅbYßÖ¿UUU5‡ï·hš¾ØÖ¿þ<^w^ª®¤ ƒ™sMLL$EQ$33“|ýõ× Ý{—UVV6 Íi샂 æ=–›Íæ{íy³ŒÌfóÝhYtÄçqêf^J«Õz!Ä̤Ǽúê«dΜ9$>>ž ¡¡¡dòäÉä‰'ž W¯^u(‘ÙlÞsÛm·õg¯µÎé1BžË}Ý¥f³y !¤ŽB®^½JæÏŸ/U8p ÉÊÊrŒ“^¯_‡æH‚Ÿý°Z­; !$''G4-Jè (ŠüñÇÌoíÐËN„B²ë‡Î`08Ö¦­[·’˜˜Áï•Ëåä¯ý+ihh`<åµ§NJç9O× _j¨tÝ”Y­Ö'!äøñã.cTYYI!äðáÃCíóߟetpN™SsÆÈÉèšXVE¹•ò!ä!¤†ÙŽE9OÉ¢iz‹Åb™»qãF%z`<ÐñŒ¿øÕjµâ÷ßoÕw 80 ¯ûùù=Íõ˜ÍæW”Jå#ååå8sæL«~kìØ±P©T(++»9::z7×û@ÓtEQñùùù¨ªªjñïøûû#--­y`(Ê_ÄÛ!VW½K0a‹År½B¡8ÄŒåéÓ§^ïÓ§ž{î9,Z´Èq^F£ñýW_}uÕªU«šÜxŒÏ 4ˆÊËË[+—Ëÿÿýsç2^Ñ×233ŸÚ»w/-âUè–Q$Ÿ4Û?³Ùó÷÷<ÞjÎ}wå–ú™ÂÂBÿ¾}ûæH¾pá¦L™‚óçÏ»ý J¥Â‡~è°!W¯^ý[DDÄg›×_]·bÅŠKT·Ür vìØÑ¢“›7o¾üòK -Z4à³Ï>k`cé]^^>?22ò?ðüóÏcåÊ•’¾{èСؽ{7"##AÓô¹•+WŽñÅõp’€uÛÒˆFO÷²R\²a6›W(•ÊWŽ;†#F8½¹¬¬ QQQ8|øð¸ë¯¿>Ÿó]ì1!<»ô:Þ‰…ÀJÚR¤Øf³mø<ƒ¾¼ún$ª««£Ïø·ß~KT*•äùºzõj‡þ?öE' @ˆ]7ýñg¾˜ç²;ƒµ–º[­ÖBHmm-0`€G6U©T’½{÷2¶£bÞ¼yQ\Ûqùòå…Ì82«–ÄjµBùç?ÿ9@€½DÌš5+Æf³•BȾ}ûˆ=•Bò1fÌb25aëêêÖóØ@¡ýbÅ<-bÒ“ô•ÑA…Á`xBrssñANNÎ4ûÜgŽP»pŠ`±Öqw‘ Ÿx~M#„œbE¯Inn.ùïÿKyä’‘‘AFEþö·¿‘ÿû¿ÿ#‡"z½ž˜RÝÐаҫËùô ³ Ƶk×Ö³ufB555½ÓÖãĉ·¡9ìÍüV0€ ›ÍVÒƒbá1PÜÔ‹®¤”ÑhL`Îuܸq¢×E&“‘¿ýíoN©) ¯X±"‰;,P§Óëõ¯BˆÅbá›5kÖ°Sí>h[JxÛ·0tQ AÓô{ú#‰ŒŒôh¾Êd2²ÿ~f±¹Ð»wïÑ¢ìó—ÑKfÞ²AEO Œ÷·¿Íf»“¦éÚl¶Wl6ÛSV«õ¯•••}àœ‚è’¢øóÏ?B®BÈã?Þ"»š’’B, !„’’’ÇívÕa[¯^½úB©®®nõZqùòeB!k×® @ñbŠ‹‹ÿeO¡")))-úþuëÖ1déÚ¤I“b †ÅK—.jjjºÏd2­2›ÍkFãíUUUCž}öY D*j¡gn§P&“©¯Íf{Õf³}JÓô¯4MŸa*|‰ «ÕzÑb±œ³Z­M&SnccãW¿ýö[&gŒüðÃŽý—/_þ+k¡vAòî½0BÈÂ… [4g“““UÐ8°@¢Ýsm×Ëp’Ñ£̾–)„Ýb{Íhšþ£¦¦&åëëëçBHcc#Ñjµ-¶­Ÿþ9ãúØ>6½ívµWEEÅÓ„rôèÑV¯gΜ!„òòË/ß ` €ëìD#±©©éwBÙ°aC‹¿¿wïÞ{uðàÁ…¬óp±—/_^hµZ³Å¶/Úl¶oÏ;—áŠTîÊ-w;½µÙl‹!F¡‹&F0ô[ìØ±Åö1 YÃ{Zd³+áÖLyâ’’’™™éñ¼5j9uêÔŸ@ †Íà¯4§îNú ëêƒo6›åpÞè« ²Z­m~n j>Ö)V ª"´™oó^—¶ÇŽk`îûùùIúLmm-î¸ã,]º&“ r¹ùÈÈH”ø±tA9zôè ­V; Ž9Òâï/++Ã4¿S«Õìó œ5k–®±±qCttô§r¹<ŒF#Μ9ƒììlÀl6€Z&“ÍNNN>ÖØØxøÓÕ¸éBBúÚô—jll —ÉdoPçääàñÇÇÂ… Ž'Ÿ|ÒåƒK–,qyßòåËqèÐ!P¥À0{wæ¶sÞSkÕÊÓ»lÚ´‰ˆˆnܸ1@ö=ʶlÙ²|VVÖßÜ÷\½z•:vìH 0Š ÐY[X7ÒƒC‡uùø³1óWHÏŸs©-R¤HžågggÊÊÊâ¼@ëýàÁã'Îø0\ž?TpQˆžæ%»œP;vì˜ÎÀÚ úq{bÖ-›\²w­5Ìo²³³ó\±bE=‰DBr¹\%“É4r¹\-•J=òû»<<<>_±bE¶T*ÕÈd2µ\.WÛÙÙ©ÙEßäm¦ Û”"‚?û„š÷² üˆa˜j–Z0øô÷ߣvíÚØºu+:vì(­\¹òüÈÈHïË—/‡º»» £G†Z­6Û—Z­Æ€ðï¿ÿÂÎήÊï¿ÿþCƒ ¦EDD(ñ&ŒÚà'×g|eƒ½ð)CÄû&8íy)@[O!/týúuN;^„e Jf ÆlXVÅfƵY³f t€¥K—bâĉ‚{0;;¡¡¡ Å„ °páBH¥R¿Ö­[ïmÛ¶mûÐÐP%{FRRRòôpÜçíììJØÙÙP(*n/0àqÏž=“¤R©[×®]±zõê\}G·nÝ÷îÝ;“œœ,c…FÆÑÑщ»Ï’ X–¼‹T*ucy€úÀ?ÙÛÛ×!"Lž<‹-Ò«ïÄQjj*vïÞýû÷cùòå>|8d2Yç+V¬Y³fÍ ¾ÂuÀ?ë‘õÊØø™æÏž=ÓÕ¹È ½~ý¨Zµ*ìíí È[*Vh4ÌòÅ|€ãj«4 @Y…B@¥RåK§ß|ó þûï?¸ºº2Mš4™ ÛÃl“ð~çö ŸîÓš0d@oÂaŽòÓ‚aŽòÙ‚Ñ@3 9-´–“ò<­höPä|» ­V©)bŸO¦V«÷çz̆¡õë×ó}^³ˆˆöìٓ㾦NÊï';==ýF\\Üæ7nŒY³fM3‡’xïaÀ+æC)–¹å“Uãý­A ©F£¹@D4wîÜ<íÛ¦M›ê4ך³{¶´VÈŠÐZ2JBk sƒ±åÑÖ­\ÌE+nÿ,[¶,Gc¤Û{¯_¿æ2$¹eee""Z¾|y¾ÌQfff,{žú¨­µ©Ò“'OV=yò$G™ÄÀ‹{õê >üÚAëÖ@ã)S¦ôäÞÏÛÛ;Oïšݾ}{-€Új\½zu×ÿ7ß|“£þ‚ƒƒuc7 obÏÌmŠ%ƒ«ÿ7Õ«WϳÜP¡Bݸîß¿¿Ë»ËòÎŽóσOV ëP~–æêfM:5_,üöÕW_éÖÆ¡C‡¾‚Ö Yob÷¸µaÊâýi]ð7qvvv¾Œ­[·Rff¦Ù¶víÚ<×Ó§O-ú®N:å'Àè -€Vš¨  2ÊAë.ÅXD'«ÙÙÙó8S~^ÆaZ½zµØ«Y³fŽû‘ÉdôÏ?ÿˆHµZœ––v>>>~Ù­[·úW„q†/C×)s`ãÐxOC­V'"Ú¸qcžÖ_¿~ý¸Ìf±Ú°Be#dTƒÖ¥Œ*,ÝÓ '"º{÷®‘[Ž%mÉ’%:%Áüùó+(–°„ˆ(,,,Os4jÔ(""zðàA€Æxã¾T @õ®]»6T«ÕiD”cž!“ÉèøñãÄ| ;€.Ús C&“5V©T¯‰ˆºuë–§w¹ÿ>-]ºt€†îîî ³²²¢¹ì6¹9?Oœ8Á¹©E¶lÙÒú.¡rzU½8FƹIyò¤´F£ù;'Y¤ž={&ª”JOO2qâD¼‰ÍªÀZ4K™ÑTž Ÿx»׉ˆ.\øÖ佡C‡r–ïWr¹¼>Ë+¸5Â¥_Æpùòå4räÈ|Ÿòõõ¥ÿýï´fÍzñâ…a:Âש©©Û®\¹ÒR@ógª–Ƨ4·ï^˜%$$´àæ¯F¹ZöööºµpèСûµ.´®Rœ£8+´ñÝ"l•aèÖªZ­žADtçÎ<í3ÎùêÕ«ßx¹»»—W(OˆˆV¬X‘«>›5kÆY •åÊ•ë­e¸5 ›°ÖŒ:jýóÏ? 8qñâEª_¿¾h¿íÚµ£ððpnÿ«W¯^½À_èÂŒÎì÷ùnÞ¼yñƒw.¼8¾›4–¶zõêéä‡I“& b_°üâsV‰l2øëãÀà‘äÀÈÀ`0ˬz²–ŒVÐúwsæÖ²¬)X¬|ñé //¯æE~d‰1úÞö\ÙÙÙQ@@€N3ʧÌÌÌ“þù§Þ¸OéŠÿÁ|¬Æ' ñŽÖ{•Ju•ˆhß¾}¹ZcÇŽå²ðdûøøŒÐZ™ö¬¦œÛ¯• ouäܤlÙì­[£æÑŽ;ò´¯z÷ÖÕNNN>Ç2ÙÏ/\¸0‚³tvèÐ!Gý+VŒ?~L¬»Ã)h­Â|÷¥–<ñ€Ú»wï®T*“¸ýü÷ßSݺu©dÉ’TºtijÔ¨‘ÎM‰ÍL•6yòäŸØóúdôÀÚ w?ÍSRRî]ºt)ÇçÔ€80£ ÃöÝ)555šˆè«¯¾ÊÓØs•écbbÖW úî<¦@†- e}§ì;º(üäÉ“Qb#**ŠˆˆvïÞ=‹åÑ­ÙŸ-y–²ºj/¼‰Å°ÔM꽀ђÛÛ•+W~k2Dt@×®];úž*5x2^ ÖÒå ‹Ý{§u0Ôjõ§Mb9qo!KÜk¬~¬Ÿ>} ¥RyZ´h‘oýfgg¿õgW(ؽ{7|}}Q±bE,Y²D—y¤@­ëׯ"##cïåË—À8ϵP>tSùæ?í›·DÏŸ?Ÿ Ý»wÇôéÓsôÙV­ZaÑ¢E€‹/^º~ýz6ô Å™ÊyoësËü^x“Q+·Ëåܹ״iÓó §¤R)víÚ…Ž;ZÔW­ZµpæÌx{{####9 `·Á9*Ú“W;uêÔ#99ù$&&⯿þBLL ¢¢¢pùòe¼zõ Q·nÝ ,xÀ›_±š'’Y³fÍU©T©5ÂþýûáììlÑ»|õÕWX³f àìÙ³·lÙÏ=¿ƒƒC1ˆŽŽÎ—±/X°àgx?f'p~ ½ða¤«…À»0Fô½†áøáŠèæÎ±qûtî¿*™™™xðàÁ[û®> +V¬$ræí`{Mòi-Y-ñ v.2s¥ämæ`JKK;>>>pqqÉsnnnËåyîgìØßfbt IDAT±èÙ³' .löÞ`üøñ(Y²$úõë‡ .h¢ƒC«† †&''¯:th¼©Vl8‡B@C¬hß'ÊG¢téÒçÓÒÒ~€Ù³gcåÊ•prr2ý!†Áˆ#pðàAÈd2ÄÄÄDõéÓç¸ i\|‚™222òÖ+¬Éd²"ü3°V­ZS“’’®899áàÁƒøå—_tEí I.—cæÌ™¸víªU«†ÌÌÌÔáÇ/½wïž‚7?rÀ/ }­R©2àÆFßÁ]KIIy}ûöít˜/¾)À,]º4rÛ¶mÓ4MV‡ðï¿ÿÂßß_t<¼¼¼°}ûvlݺvvv¸ÿþ¿:t8ÂID¤á]^Çú cÇd°¼ÎcëVèšÑþ´`(•J2($"J$ÆÄw¢wOîiQšû¼Ð£G8P_˜.Äb7m®¾Ö'€a½d¨i“Ã|o[s¯À¥K—NC[ìÍš5ËUGÎÎÎèß¿?þøãÄÇÇ£P¡By~¸víÚaÏž=xùò%®^½Š¹sç¢I“&ÉÄKÇdggcÇŽhÖ¬üüüðäÉ€‹‹Kß_ýõ¿ÿþÛâUÂ%Îí'Æ“?kO7žUªT™‘™™yša 6 K–,1ùánݺá—_~££#RSSSýüü¶ÄÅÅ©aºR¯)áÓÖÇR T©RyêŒû|rrr`DGG3µjÕštïÞ½­ ÃhFŒèèhœ;wK—.Å!CЮ];´oß­ZµÂÓ§OuІùóçoܲeËóœî7ggçÏÍ OOÏÒ9}Çþ}áÂ…¥àíí¤¤$4iÒ*T@ݺu1|øp,_¾W®\Á£Gзo_ ³gϯ^½úÚ¬¬,†Ž”Jef~Ž}ttôm˜NL!–ñQŸ·ÀH$R`i)¸07~ŸÎþwCψ*0ò“¸ïˆW°ÃЂaÓ‰a¬š> ë%9ij}0¥ä³²²@Déмyó> زe Ú·o¹\…B‘ççJOOç˜êÕ«‡iÓ¦áÂ… HHH@HHz÷î ‰D|ûœ:u Õ«WDzeË Ñh •JKøøølMNN^9lذb·JY2·ŸM> Û¶m«hoo_BCC1räH“Ú¿?f̘(T¨Óرck _bÂë‡èSͨTªs@Þ]¹3àöíÛÃ@‹I•+W^;oÞ¼ÁQQQ§$IvóæÍ1fÌ”)SÇŽÃÑ£GŠmÛ¶!** иqãÏ æ„?7BB!Ó¥K7;;»¢bƒssqq)êååe­_µPÁM± u¸sâܹs¸xñ">|ˆ¿þú 5jÔÀ¨Q£Ð AH$DGG?2dH°¯¯oˆR©4Z%OŸ>½ ­[·Î—±¿téÒvÌí!îRfÎâj+Â$9Ò)))in¹r妛ýúõÿûï¿····7§(+KÆïÓÙÿöé>¸ººÂÑÑñ­~ê###³¡ï/æ"eS1šŸ†õ’L@k$cˆ6vø0°lÙ²‚ݺuÛË0ŒSbb"6oÞœ#äàÀìÚµ ÅŠÓû_~Ä`dff ^wvvF—.]ðÛo¿áîÝ» µj¤§§cìØ±hܸ1îܹà $Ý–/_~lãÆU؃ÃâB1 8ðÉe*·…ޘݸq£FÓ¦MI$’b¡¡¡èÚµ«Eëgîܹ˜3g0ƒî¸qãÆ¦ÖV ýnΠΖ\KHJJ:õë×GåÊ•sÕ©³³3ºwïظqã èÇèÜ3f<*S¦Ì>>>=ï0reÐh4زe 0²ÚeÀX“,tnR¯^½*pçÀýû÷žõ¿ÿþã*û2þþþ%yàB#ð;ÿ4hàèááÑ€à™Ç½Kttô=zL.]ºôâuëÖ=©̹sçþ€®]»¢hÑ¢¹ûJ•*¡qãÆ "õ?þøÐ`ÜíL(º˜Ž+bÞÑzÌiìu÷K¬ Ÿþ96oÞŒ`ðàÁ°³³¼ïÏ?ÿ„æÌ™¥R ¹\^6((èà… ÚšÑZâsù‰yäd0>5jÔ8"‘HŠæ\p4sæL,X°ðõ×_wرcG Xæsý¡h&à¿®Ñh.I$,Y²$Wñ3gÎD‘"E’’³sçÎD&«sqºuëVfVVVªÀà ïÎÎÎ…'L˜ð¹…cÌÕ…øœB}ó44hP€šmƒßÚÂ… [K$»””„„„ˆŒ¸¸¸Øýû÷Ç™[S§Ný'555®P¡B˜?~Î'‘a°bÅ H¥RDEEýˆ˜JÖö»\Ïù-\}~Ù²e333—+WîˆT*-›œœŒ!C† dÉ’¨P¡~úé'œ;wgΜÁ?þoooxxxàÛo¿Ejj*Š)òÙ‚ ‡‡‡,T¨Ì ¨}W±vŸ@‡åû!“ˆ.@Ÿ>}ÞÚ÷ôêÕ R©¯_¿N?pà@"XXR7Kñ¤V%ÄZ>|Ølpå‡F‡ÂÒ¥KM?‰Æê=i‰ò•Nœ8±P&“u$"ôïßW¯^µø³Û·o‡»»»Ñõׯ_c×®]ùò|b !òööÆÚµk1}út,\¸6lÐiµø€eæÌ™Ø·o6mÚ„:uê85iÒdÝǬP¡Âj*¶qóÎ ) +˜€§å~g ~~" )&&¦^‰%3 ã’pÁÑ”)S “É0qâDv°³³£ž={6£M4eÉ Þž¶…9Õ={ddä$//¯‹mÛ¶ef̘ٳg[ÜI`` ƵZ­œ;wîZ–Áª ÎANx§7²#=BXXš5k†ÀÀÀ†‹-ºÃû,€ ½ßK”(!ÁÑ7P­Z5T¬X±û\ÜçÕ€ƒêZµju€Ý»w ž3v‹Kô}05¬€ÁwÅÒ ¤¤$å¶mÛ¶ >ü»!C†àòåË:ë%4wî\øùù!###±gÏžkY¡†ÿ½Ü;ðj z k,¿î%_·Ž[´h!ùßÿþ÷»T*mGÅàÁƒk²Óøøx¬Y³ÇÇ–-[ЬY3¦J•*_†……eúøø¬â1Sn’LÞÛÜûš«OüCîJ¥M0~üxÎZ™¯Ô¯_?NùT£ÑpçR@áhIìíG?’ŒŒ _±:IIIô±ÑªU«LÕÁX Àtã ¶xS'h D}mÑo¼©…Á/¶'µ2à¡®RSS}‰HCD4eÊ”çÞ¿¿Þ8Þ¿ŸúõëG È×:½zõ¢S§N‘F£ÉѼÆÄÄŸŸŸhßtâÄ þý; -¾TÚÜèxS€‰«¡áÀÓl˜Ë"ö‰Œ×žaù "¢cÇŽåKÝ”%K–èæóСCô‡¶ÐZ;̓͡_ ÀgxS Ó ¶Y¡•”¸ŒLö &''OåÆaÙ²e$—ËMŽ›D"¡ï¾ûŽÔj5mÚ´i;výØó®´õ:C[»¢-´ùâýøÅÅÅýKDôý÷ß›¬¡T*åË— ` ´µ…zC[£#ÛWsð*{gdd<&">|¸è³7Ž+ ø”íó+hë VòÐèûï¿ïÉOÆ ûýé§ŸˆˆèÆg±Ï<˜åC ­µ1§@hë$ù_¿~ýWM}Ê”)$‘HL޽§§':tˆ+B¨3fÌlöù¹1çêwp¹ùkB[ÏÅoj8ð‹ÄñRóã\2Òùq4¹mü¬bv™™™sØ Üôõ×_çê,H$4qâDÝšÞ±cÇÐÖÅhÂÇÊÊ(Í;ï]Îz! ’©÷»/71!-¿ˆ-BD©DD3fÌÈ÷½zõÒñ‹îÝ»ï°À¦Ãîñöüh ÀÚº@¥¡­IãÂî9«.º÷ÉEÊ4ƒ¶l©0|§óçÏttt\ € Á?üãNƇððp„……aàÀ¨R¥ ¶oßnd5È ) ìÙ³­[·ÆgŸ}†  ..΢Ïzzz"44sçÎ…T*´ŽtêÔ Gåî|öìÙL˜ª3‘~r—²@K7dȉR©œçè踀C^,BkòçŸtêÔ©ó¥K—ú:99É!KcIV[šOݳ»ººþœ˜˜8=<Àÿþ÷?”)SFïîîîèÚµ+† ‚;wîè\K—.]úéc%¦À´) ìÝ»iiiÉdòY³f}a`M Ì®^½ºƒƒCYK,àææV’­g¡6Ñ4Ô_ýu¸ÿ>®\¹"Ø/÷.‰„ˆ›•@ßšØØØ(@ûuåÊLš4 AAAðððÐõíä䄯cÒ¤IG§N{öìÙ½lÙ²§"Âê»Îjgª.„¡E_b|X"T3˜—/_6-P À˜4i6mÚdô¨Zµ*ºté‚6mÚÅÿq¨Å‹ë²ÑŒ9r¤7Œë¤ˆÕ@²èyMŒ¹k Æø£&OOÏ$•Jµ¦M›†š5kæ[ßîîîøõ×_gΜy´ÿþW€B›JOkuŒ=zPJJÊGc½¸~ý:•+WΔc€…fð,6nÁ¨TªÅDDqqqäææfS•Öe2õë×M ÃèÍI¥J•èĉ‚Öì§OŸR@@€`¥æ;wîQjjjt©R¥ÚhÌZ3¹JÍÞ¬E“;çù•Ò ë!Øåñ} ÝnrRÓäcã’Ó§O»Q"ÑãÇäµÜ4777ºrå gUUWªTi/€õ~ð#€Ù&ÆîýÎìþãä½²ìZqe׈ý' †´oß>Ô®]ÿþûï¿z7mÚ„† âñãǦn#‘kdÁ}VIÉÉÉ¥¥RéX?~<’’’ljÞT*¶oߎʕ+cÀ€º"9¦¨E‹¸qã†` I…Bž={bïÞ½€råÊ}}ïÞ½q/re*ý'K†°å‚IHH(_½zõK‰¤aΜ9ð÷÷+ßLJ   deeÁÓÓ³ÊñãÇ—NŸ>½ Ä«¸ü7¾V­Z5¿K—.HLL<§Ñh2œáíí 777¸¹¹éÅãÙ³gJ¥²eË–hv ¨™³`pç-xxx” ô±pg«¦víÚ ""iii¢ý&&&"22ЬY³Ò&, êõë×דËåÅ4 ¶nÝ*Ú/÷.R©”1°T¨x?uM*•j–-[6F*•¸sçV¬X¡ë+..NNNpuuE™2etÁ÷/^¼xºgÏž]uêÔ™=gΜ;0û]d93•)I€Y¹re¸¸¸ÚéééAÙÙÙ‹ ÅŠÌÌÌ™ééé#“““û¾xñ¢íãÇë$"¢K—.bµþ]ñ&Æ «¡¯  VTTÔn"¢Ý»w›gÎù÷ßa-üx½¾ãââN?~ÜdŸsæÌ!"¢\`­"½¡µ^÷e­/¼wè¢3›ùúúêõU¹reî_šI“&}שS§QžžžƒØ±ý†µ\ eÛ`¼‰Qá,íß²CÔbqóæÍb …bŒJ¥Ú£Ñhî‘ÊR^«V«ïedd¬‹‹‹ Ú¹sg9öÌäš“A+¤P(ÎÅò”,Y’RSS-æñ›7o6šÏÕ«WÑË—/ïò¬euñ&¦¥€Ò ô¼víZ§¤¤¤EÙÙÙg4ÍëŠ*…Bq"...¨oß¾E Þ×ÑÀ*"VgÁÖë›ä‰ˆ¨Eòõܹs4sæLêØ±#¹»»çš'¸¸¸ŸŸMž<™þøãR©Þ,çׯ_gLš4逹¾0‚݇]Ù³®»÷¼XYÀšå½÷‚z$ñññ¥‹+v†a˜rD„ùóçcæÌ™º¬°\çô¶VzðàîÞ½ktÝÍÍ [·nEÇŽ7oÞŒªU«Ö~™ÒÙ– •milË`ïÉ `›aŠDk°p0k×®• <ø1€R&LÀO?ý”£¤R)œœœ P(r”áé]££#/^ŒaÆ™½7$$Ý»w7Zó‰7nDPP4rÅŠߌ;ö;§J^Sñ4™ü¹&ƒù&|œ™%t¥R9\&“- ‹ˆˆ@×®]þΤhѢسgZ¶l xôèÑ__ßàÈÈÈײy{Öp^…4ëÖ4§|-'Œð5°œÀ 0œËFRRR69;;—­T©’Q‰ãÇ£M›6HIIyY®\¹)‰‰‰YëŸkêäää5...•FŒ•+WŠ>ðÔ©S1oÞþþãóŒvŽÌ ÒãÇS©T‡9ävòäI*V¬˜Ík³sÛj×®M?Öª˜4ͦM›þ•J¥+,0Àd£XÍROh³¨4ÖŸ»"€2¬”ï“gu …BÑ‘ˆ(33“ .lñøØÛÛÓ·ß~«£„„ªX±¢UÎ¥ŸŸEEE™U3-[¶LðóR©”Ο?ÏY»^téÒåK¼É8RžëÐúd|ŒV sìØ1{µZ½†ïÐÐÐ÷ï#•JuYˆˆ’““ï|óÍ7íY­~h}j çÔÚãlD³H±ÏïÆžI%Yíl%v×Ð,66ö Z±+V¬H …‚ˆˆŽ=ºÆYÚ°½f𤤤Ügc LÎCéÒ¥uY}V¬X1Ÿµ†´e5ÊÍ4P§`Á‚>jµ:“ˆ¨]»vfç·K—.DD¤P(Ò¥RiWÖzÑÁ°ï+W®³óo6ÛÝôéÓ‰ˆèÉ“'—Ù÷îÁkÝX­f'mïÞ½{ˆ¥ Ò¥Kõ5jÔ(""Š¿ÍöÕ‹S.;Õ7¼Æe¦êóf‘ªˆüÉ"ed¹xúôiqµZ½‹VÆÆÆÒŽ;hРAùÀK$*S¦ uëÖV­Z¥³\ñI¡PÜyþüùôàààʊݺu«gevttÔëã;:3FCÛ·o§AƒÑ´iÓèúõëFýŸ?ÞhMs<@[ÿžW¯^ý%--í¾áçoܸAÁÁÁÔ²eKruuµØ·¿k×®ôóÏ?ëâ>xÚñÍ¥¡ñ( mœ‡3±hˆY3>4páLD—¸ñ:uêT¾Ä[XÚŠ)BÛ¶mÓÍ×óçÏc}||¾g÷bWö©Ïò o–_fçÏA€ï”¤Ón•*UÊáõë×38“gTT”hʾ¹ <˜²²²¸ °ìAƒ°ÀÏCð3‰5—±Ì¥ k®®É (\Ú2k F­V¯ "Ú³gÅã3tèPŠ5:À·nÝjµsêââB[¶l1 2ÄÒ_zzzÒ‹/¸ô—× .ÜZ·š*к›”1#Ê>RÁ`þù矂æ(7Î .4›®ó]´>}úPzz:'à$mݺuË0>Ë!p´†yv,³sbÏ¢¢Ð²{A›^±:´ŠMî߿Ĕ[Ó¢E‹¸ Èl??¿ÿA?å«´.;M4JMM}HD¢®§üvüøqb6/C›žÖ`Ìš5«+·vÄ’3ð[Ù²eu{ºgÏžCxãK5Ðàõë×áDD«W¯6Ûç”)SˆˆèÙ³g²F7¼q¿ê þí¦L™2\ÃF‹/_¾œKå}’ýlh]®¾byÊ×,°€7io{áM¼/´Éu M³Ìņ©U-= ]¢¤YYY}‰è7–wîÜ¡îÝ»ç‹+­—— <˜Nž<©¤­Ñh”©©©ÇÒÒÒNݽ{Wïsr¹\Ï…§Fý4ˆ “ðŸ["‘èܬ"""®>þü–†÷ *•Š>LAAAäáá‘/çMÛ¶méŸþÑ=“R©|têÔ©¶,(,Ê‚ 7è•óùˆ•Ë’b¡¶.ì‰è 0͹Z¾ÍÖ¹sgHLL|Ѻuë±ìžoÍžOÕX…';ÎûîÀ`™QNáááÕjõK–éÒ¨Q£> `áàà@›7oÖmþ‡&Ô¨Qc?€ VB[cÞdúÚ¬!]X†Ø€eØ\N}î ç´H2+F³—øÌ““íÚµKT8ß¾}»ÕÏ1'$‰:˪T¢Ò¶mÛêáµk×Ö³Ú QÂÙ¥>6ÁUævÖh4g¹ó$00ЪÖDÍš5u€Y£Ñ¨=:Á`N=y ÃÙŠ­SzÂ!Œã0\XèÁ*@ʳV¸Zê_»vm)Kž““ÅÄÄpqWXáÚÐâÐ@ƒ´´´"²¨fAïÞ½u56lhÐ_C_œ:uê;Vãoñ¼&&&Ñš5k‚…,S¦L äö}ƒ Ìö÷ý÷ßQddä5öÌ÷gg¹h/“ɾLLL¼ÃŽ‘Q< ×Ö: \¼xq ûÙn,€dy W¿£\ÖÀ¨ÏοvCqž6\(vÈTаnýÌš5ËN¥RmäÆçÉ“'4`ÀÁXµühŸ}ö-Z´H§ÄáÓo¿ý¦woùòåîiÒ¤‰`üdff¦Þ}ÞÞÞz÷\¾|Ù¨¯‡ÒäÉ“-²¹i ÃP=èîÝ»:œ½ØÓÓ³ »79°a4 k.‰Y3l\Hˆh/Ç/„2½ëÖ¨Q#]M¸ÄÄÄØråʲû°!´™Ç8™¯oïÙ[«ã]WòÖóï«ZµjØ/¿üâ;hР øbùòåhܸ1 $˜½C*•büøñðöö¶êÍZ©| IDAT…{üøq=L>}öÙgØ¿?jÔ¨8tèPD``à_éééÙxãOÇ÷Éæ7£Üçö£äõûü8*h+žš¢²eËâØ±c¨\¹²àÿO:…‘#GZýá5iÒ$¸ººbðàÁ‚ÿ—J¥Ø½{77nŒÛ·oëý/44‹-Âwß}‡ÚµkÕ¿ÿ“[·n}&²„®1¿È>™ DGG»yzze¦~VVzôè?þøÃªôæÍ›hÚ´)NŸ>²eËJÚ¶mûÃÎ;S/ ìCÒ°ÌCcEsKÏL0‘I €*!!á9”/_^°Ó´´4Lœ8;vì@… üðÃU§L™r]à|#†a¤€é,R…„„ 99®®®ÒY³fµüòË/÷LL™2e*¦ë_Ò7вeKT­Zµ€+ì<é¨_¿~ºÚþù§Ùþ¸wá2dÁØ/^sàÀÖnnn•`ôèѺ:"†T®\9@LLÌsƒ¹Q¬!®¹^ìˆÿáϧ¡?Ìð½¬7'OžtðõõÝ)‘H:À®]»0`À‹³»¹¹¹¡xñâHKKC\\œEÕ–#""0iÒ$L›6 ;vÄ€Ю];Èd2£Ø—/_‚ˆt™£222ôâ3x‚*P²dIÝ߯^½Ò»G.—ëúØ·o6lØ€°°°œki%Èår‹Æˆˆ°oß>:t[·nE@@€¬dÉ’îÝ»÷E… ÆÇÇ+xç 'Wð÷ƒ˜O?¿º-ó–‰zzôèC‡½÷º|ù2Z¶l‰‹/ÂÍÍ­ÄÑ£G‡UªTiLg“ðƒ®º·aÖ‘‚¬–®håÊ•Ë>þ\§Å¸{÷.U©REÔ×ð?þ°Ê,Q†fÏž-ê’áïïOÉÉÉœ½jòäÉWl° À:¿B{ÁY/&@›9ZŸØ/ñ&þ¢´¦j.£@!+4—é´œ&‚ˆ¨oß¾&-·nÝßAƒÙ”¥J"‘ÐîÝ»M®™ÈÈHA³¸L&£‹/Qttôh3‡5ài¹L.x“?ÝÖê)ä‹&=..®˜F£¹ÎeŠjÙ²¥U¯‹2eÊè|ÃU*UÆŒ3ºC?&Ô%ÃZ¬SæÜ¤\Xí(gÅ(ǮۚëׯʹÁ˜§°°0.n%²P¡B\<@Kö l ^FFÆ3sç ¿­ZµŠØZLO ïrÕ@ý„„„Ë–ZZaPûäéÓ§Á ‹”‹‹K«ìììSÕÆ!R!<&&æ_Ö‚Ñ•ýÙ@ûš5kvËÎÎN"":xð I vFFÍž={$ûLñ&®£'k±àb;ºàMœKKè×l¨d`½("`½0¡g¹¸yó¦«F£¹À‹M0éU¥Jš9s&ýùçŸEÙÙÙFYúbcc鯿þ¢úñÇÉ×××l%yT¼xqš3g]¼xQ4ûGEŠ1ºÇÝÝ]ïžGÝsóæM3f 9;;[´*W®LcÇŽ¥+VÐþýûuï­T*¹=A÷ïß§°°0Ú¹s'õë×Ïdß ÃèÅ‚=þ|;;Ÿ\½%öÌ)Ìã%æöƒ°dQy"Ê "š7ožÕñˆ~ýúéæjß¾}KXþÿkñæÜ¤ŠìÁ:Ó`8°Bqavq— £R©Ò¸ 51†ahúô麠=k ¤¤$êСƒh:ÓÅ‹ó p¥6oÞü€í6³à‚sZmìÅ÷Ðw‚6è®´þ° ØŸ‹¿à¼DÙ{Ÿó#GŽ$¢L"¢Ö­[‹Î)¿èœ1ÂæÜáär¹ž/¬]¸pA¹–+WNgz_¿~ýLö1tWàŠ4™rWø°Â¹ß%%%Yä‚bistt¤7R||<ýñÇT³fÍ|ë»D‰Î¥¯¼m Ðj62̹IqÁÞÅØw)˾[•ñãÇë>˜*kÔ¨¡ó?uêÔ€Q7333Šˆ¨wïÞ{½zõtûn„ £ ï&ÕH¡P$õéÓÇâ¹üꫯˆˆ(===Uu…6ÆãË7Náà’%KZÔߘ1c¸ç›pºuëÖnü ]q`ÏÅQ‹-º³ïÚúnWz}óƘÜY““ø/ÆÀªÕêýœ«¨X€¾\.§‰'êöIn(99™~ûí7êÓ§Ù€é¢E‹]ã»2‘ L2|øp½{¶mÛftO¡B…Ì*£š4iB‹/ÎQ!WÃ4ø!!!Ô©S'“k‹s¿½uëÖ­_¿>_û/]º´.¨oçÎaHë) ÌÙ‹hß×þ³bp±…ñ&£”€ÏË–-ëCD"¢R¥J™£Ÿþ™ RM÷óóë m] ÀÈÊÊŠe¬-÷ÿþûˆˆnÞ¼y„/Twîܹ37ו+W¶¸¿êÕ«ëÖÈ_|1o*y·ŒŒ ã2™YÚßÈ‘#9€qúÞ‡ 6L£Ñ¨ˆˆfÍše²Ÿ&MšpV²thEÛ²ïÛ‰}¾Îìï\ÌW·ƒ.ª°ëÑ‹wζÐz!T O¢P(&™SÕ¬Y“nܸ‘¯}zWÞ\{³ûÔÃȰiW)"ÚMD´wï^«—æÎËY§R<<<:°û³6ÏUª$?8™°&¾’¼ùåý4 :SPݸq#¥téÒ“ÏŸ?¿œˆTõêÕÃõë×Q±bE›‘€púôixxx )))+ àüرcïàM LÇ4Ê2ÑøÅ¸À;ÃÂFb…qÞ;I¥R?¸xñ¢àÿGŒâÅ‹›ígÏž=oýY (€V­ZaâĉhÔ¨‘.À/¯4sæL}út½ÿmÞ¼Y°p0GŸþ9BBBpûömôíÛR©Ôì³* <}ú<@RR’ÅëÈÍÍ Û·oG`` Ñ;õíÛ111J¥Ž#GŽœý:bսŸŠ-Y/ŠAëˆàà`«Þ¥K—B¡PÀÞÞÞyâĉµ!\…].Àÿùÿ½Ñ»Ì"e˜Ý†;˜öÐ’ð5 i‹-vߟ0a²"EŠØyyyéUU¼~ýºÉЍï’bbbôþ®U«¤R)¢¢¢R}}}ÏGDD¤Ã¸Ê«ÆS3yÍd(@†XÕß÷­a<|ø°8Ã05ˆfÖ>|¸Þß·nÝ‚Z­† •FŒÐÐзþàãÇǼyót0[¶lÉs¿™™™6lNœ8!zOçÎÑ­[78p@ïúþýûqúôi´jÕJöÃ? Ûºuë‘y7dô\†ìS¶œa‚€ž={2‰äX¾|9>|h“/“žžŽ©S§bÓ¦MhÔ¨Qÿ¦M›ž¼pá XVuЯ˜ü®çUèLgxÏË—FÅš¢ ,XÓÀ€ 6`È!¨[·.3lذѳgÏš••Å}ŸÄ@(7Kñññ8vì:uê??¿Ö.ASÈY)>/ªS§¼½½½X&O 6l h³#™|2È"%€R¥JÙ÷îÝûk@›eÎÀÂmBBB¬ A¼yÑ@8c¡auyC¥–Ú`íAàw½ŒÉ“'Í0LE…B=z ==]ïy{öì‰Å‹›|§ˆˆœ}úxûøø4´>ù¹Y€! ]²dI?©T*ŽŽÎÅ%\\Ûµk×^ˆƒzsbðS \ˆ¹ì‰ñ#•J{ÀO?ý„/^èÝàããƒvíÚ½CTT”®èX~PBBˆ-Zè¹Zó©aÆ‚¾ù¿ÿþ;"""tׯ_õêÕÓý}æÌ£"Š Ã`ãÆhÛ¶­àw8qÕªUÃÂ… -*hɺY»v-zöì)2:wîŒjÕªé] ×Řԯ_ß×O‘œ=6ÇKˆHm0;âââl†áÅÆÆê΃Š+aA2ø`Дê£"SùÓ¡5LJփ¾kÔrhk]Ìð€‘ÐÖº„6ø¨ Þ¤#3•%ÈZ]_’¤¤¤ÊD¤ "êÑ£‡ÍÌÛéÓ§õLËoÔʥ4Eb…ÃvîÜÉõºmÎýö0v•âÖ WˆÇÐdj«)ì’¸¸¸Ï¹qúüóÏó4?þøc¾dl‰µ¨¨—X³³³£×¯_QÿþýÇA›>´´Ù’¸ÂšüÔÔ®0vW°†ŒRb©kõÎ÷ùóçWáÆ®páÂ9NáªÑh4ãÇ®R©2ˆ(WÅkÔ¨ÁwQ¹DDtïÞ½\Ïáýû÷‰ˆèáÇá\OOÏ÷ÈÕG‰™5kÖrî{õê•ãÔ¹FíêêÊÕ¹èmŒvÈy½ KR•¹F>}ú´ ©‰H0äž={ŒöÓëׯ©|ùòo휷··§™3gê²’¿¿¿Ñg†*ºÿ}}}î_¸p¡à½/^¼°¸0dn[¯^½¿{ç΂Ù.YwÓ´‚ v„¶ÞV#¼ÉVÄuå\¥ÄêòXµ•œˆ\¹qðññ±™ÄÉÉI7;vüÀ`V^ìÌò®6—º¶Þ¸³ÙÌÏGaÁÓt Z1lÙEJÀ‚!Ü-”EŠŸ9JÌ5JceÖ 9;;/ ß³göíÛgÒ+àvíÚz×8ׇü¤‹/šµbLŸ>]0kÑÂ… eË–­Ö½{÷²Ðw‘Òt•Wù‹««k}NÃùàÁƒæ„8)¹\n7jÔ¨Þœ†<'Yô¸1ÍÈÈx•œœÌˆ(¡„’eK2@fÖ0ÝHîܹƒ¨¨(½–+WÝ»w7úЖ-[LfÝË+eggcöìÙèÝ»·``÷¦M›t.fmÞ¼Yp>oÞ¼itž·nÝ“&M2º7)) Mš4ÑYÏÞíÙ³GÐ׫W/x{{ë]»téRRR —ËG]Màì‘AØ2ΈœÑVO™™™°¥gåÎGžåÂ\6)1àÿÁ Ê!Ȱ]S~ †PJÀl`!.Äb/눿`0 …bD"éðâÅ Œ1ÂfæªjÕªpuuÕ»vþüù·ò]B)iùT±bE´nÝZ™±Ù´˜qãÆ}iBµ4m­-¤R©=—…ÜÒ“'Oòíáž>}š§ÏsïS­Zµ*&€£“·–y†Â+ШTª'9jµ#GŽ+V¬²D"±Ë-ÀàIþÚÊ À0TF˜ò÷7÷ŽàââRÔÍÍÍ]¥RéÞÙRâ„ã”””xã) áùbîlæ2ÕÀ ïa@&“Õ€cÇŽÝP»vmAwЕ+W¾“¢KƒÌ'ìÝ»öööz „SððéçŸÖû»P¡BذaƒÑ}J¥ݺu˳RÄR2|.öìDýúõõ®©T*]vC??¿/ðÆ3ÂPp5L“-16¬š¼¼¼læYË–-«Û#÷ïßW@ß}Ö’´Âï?¼o †E ã±`ˆY1øÖ Œk^˜V•š6--ís¹\¾† †W¯^ÙÌDõïß_ïï—/_âÎ;oå»:d6 oðàÁ‚×9á/¾ø¢i©R¥ Y2Ì £¶2Šä‡@hã]Î;‡ììl³B*!++˨={ö ³fÍÊ3àáÞ§xñâ%E4ˆ¶PçDLð4P•JeŽ cúí·ß…òœÒÎ;‘­û;?,€VS“Ú¦ÞeÅŠ9>‡8€ñòåËÂ!á`o1@Hf”Y$r–0<%›7\¾|Yô9ùŽ»wï¾³ŒmÛ¶ ‚ÃÀíuëÖ!55U÷wjj*vîÜ©wÏ¢E‹P¦L£þ¾ýö[•ò]aºsSÂõ¥K—%K–ôbÏ{kÅÅj-Ø Ébå§Ÿ985"ƒ”¼ùÉI"÷B’÷7Ù£„ÞeÒ¤IxýúuŽûà÷ˆˆˆW"g€9þkX,Ñhþ,á;‹/.À0LqN8·DØ}þüù;_¬ÙÙÙð÷÷7JymgggTq|ïÞ½zJ(C b˜æöìÙ³˜¸P›ø;'vïâãã‹Éåò͘;w"$$ÄfæÇÅÅûöíÓ;l²³³ß™Æ‰+ž'FŸþ9š5k&¨qâ‚&ƒ‚‚Z 0Sq6]|ˆbùù‡B\Ý`𙆥înÖ<—F ‘¿þú+<==áààã•J%F­'”çV ßºuk¾ŒëׯçÉzÁ%µZk+p©R¥tuYÂÂÂ’`™?¶9·¨œ¸äꄚ={öhˆè5Á¸¡=©TúÞéÊ•+ñßÿé]óôôÔËt•™™‰£Gbÿþýzë®sçÎ(Y²¤Þg×®]›«º*ùE|`ÄQbb¢Ñ5Êår{[.$"Ê ›â?>à•»»; `õÏÛ¥KT¯^°gÏžó_ó®kï dH¬l<Å,¶Nbŧ4€Â°0w¸¿SüÄ z”HHHÐ1|[¡ÀÀ@# ê¼yóÞYá‘#G‹"ñI(#ìÞ½P±bÅêîîîŽf4OR˜7k[½‰£R©¢?D€Áùz+ 5Ä­¶ *ôαÁƒÇQ:Ã0‚®2–ÐñãÇ’gw¶Í›7çKJê¿ÿþ;WVCÀ³zõjܼy3WŸçÜ£²³³3|ÉdòaÆUƒù8 ±@O›ÒB½+€a˜ÂöÙ³goõû<<<ééé &bÎeKs¨;ÏÔjõS o>ÑcÇŽÕ øÎ Ý¿_WM=/tèС<ÇÄÇÇcúôé¹þ<7–‰‰‰ .¬ÉˆAS¿ç†÷0@D bãñãÇF×êÔ©ó^¿³gÏÕnjܸ±N€?þøC/#T¥J•àëë«÷™9sæ¼W~X£F ½4»¦Æœ«ÿoF¹‘%•UžG7oÞ\ ¥|ùòèÑ£‡Õ’íÛ·G:u‹-úϸ ðn«yX/}(àÂðp6dæšµ‚-&99¹ŒT*]h3åÕ5à}ÐòåËŒ»wïââÅ‹hÓ¦ ”Êw[zÅœ`ãííjÕª]OOO×e4iݺuup!æ?k-•ßsLÉÉÉá€VÓiX·$?iÏž=º O¥R™gÍ´9â|m¯_¿ƒ¼™»­qNƒ½•Êÿ³wÝqMÜïÿ„„½‡l27hUœÕª¸µUk+VmmmÖm­ÚZg[µjÕÖ­`k]ßZWŽq¡‚‚ÊR@d¯ÌÏï’kr¹ d%ÈózÝë.—Kr¹ÏzÞÏx?ÂZåaÕì[µ¾ÁŠŠŠº¿µþŽ °°ð?/ó`äææ@}§:Já:¡P@AAW§ìššš2‚‘†”-[¶(“÷b”––*xžé „"‘H‰…®¡¥[·nŒçé ‡ƒÀ“'OòÕ5ÔyOõféСC±P(ÜTӔ˓»èŠaÙ²e€Gå8p Wƒ>©“:3[úCSñ`êÝÑ=Ôdbaa±€‰@ PJnÓ‘H$˜?>ðÎ;ï4ŠÅIžöP•¨òbüñǨâlªr04%ééU²÷Ô©SoBŠŒŒðþûï×Ûï<þ-Z´@¯^½àèèX¯ÕwÃÂÂ(%ûÏ?ÿ|Õ ½\ÔUIm¨j›…Yä(j U(‹`õfØ*,,<T'ÛØØh@uíÆôbÄÅÅ)0åÂÉäÝwßUx}ëÖ­Z{Õj#-Z´ Âk4ºÖ­[S9P÷ïßϯ!°Ðuãܽ{÷øë¯¿sUM)g³ÐÐPˆD"É—_~y[‹±Z[R†·`4ajtRÃóº¤ô`±X£`ÅŠ›K³Ô\ÒÒÒ4æ| 2„ñü©S§ `eee;hÐ g Cßcùå/Ö‰'Dà|üñÇõú£çÏŸgLŒ¬K™0a ??¿øÚµkEZ,Úú 2¬æåååoTl¯YT‹Ìƒ‘––V(7ÞÕ­IÚXCßx-Ú³gÏT˜(y&îܹÃè} o4jW ÚCAOÎvwwg¬:n`` ”C¤‰°¾å·ß~ƒÒù/^àÎ; çdž%¡P(:zôh¶–Æ }6p.]ºäD0¿ýö›ÎÜܺuë0|øpÀÚµkÄÆÆ@ûðúºÊ§jz44!QUô–,YÂâñxëàÉ“'X±bEs«ÖR4…IuêÔ‰±è^ee%Å~3vìØ`0SØÕ„fP/¤¸¸ø4tìØzÝö<cÆŒÄÇǧ«QÈ™Î룇—šë Ò€ÿ¸Þ›¥îFRRR-ÑêúSR¥ Ô¨ÏÍ›7¯L(Þ”½Ë—/güÜâŋѡC‡F{ŽôÂ{\.W‰% ¨a¥[ÀÏ;×h÷ýñÇ«4H­ZµJ©øž,wäÆI™™™|=Z‹­­íÿòóó?@>þøc…º:%³fÍ¢Bñ®_¿þrÞ¼yÉÐL¤‰¨Ñ¤`4KeþüùÝ´ªk^¼iÅÚÆœ>}š1®¡åøñãê*›÷Þ{ñ½7nÈ@Hþó\Ô´¢·®[¦”› –H$90iÒ$½O¤BGvíÚ•P#„>€ µ¡6·nÝJªi2uÑEÄÒÒ’ªs÷î]y€ÀAÒýª¢¢âPÇ`nn®ðÞÎ;½øûï¿©JÆ 0d`‚.¾¾¾J éÚµkrσ ¢Š°Ò%''GÉRïåå…ñãÇ6oÞ¯…a5¼F Ô±½½}Lnnî\ š±éï¿ÿ†««kƒß˜½½=bbb°fÍÀµk×^öë×ïºD"!P.m@¯—ÆTYõõmšF³èœ°¤–œ‰pèСFw¿‰˜˜˜`Ù²eHHH@÷îÝu ÅÅÅiLíÚµ«Z€áæææÎf³é¹ª@†:6"_(¶oß^õêÕ«Ÿeƒ‰c_„ÇãaÁ‚€Ë—/'GGGg1,ô½¦…B—~eöÿþïÿr!•\.—±X³ÔLdÞ ±X,¹sçN)ƒÁ@SÜv½xÓ<¸‹Riccƒ¯¾úJI!WåÅprrÂùóç©ÿÕ’˜˜¨À  ´´4Æ¢‚õ-ÇÇáÇUÌÖ¬Yƒªª*…s‹/—ËEVVVþþýû³ ÿ5ž‹ÏÍÍý¨Îu|ôè¦OŸÎWòá‡âñãÇT>á™3g2#""®••• Á\Î@0„ø¯H³¦Â̲>4Œf©‘$''›±X¬°uëV½»ÿ¡C‡âÑ£GX¸p!x<Š‹‹u⾪ªª4æaÈ(ëè"³´õîÝ»â˜Â£šB˜?~ü±Xœeee…€Ëåêݟذa:v숪ª*áÔ©S/1X¡˜ .¼Y“6,))‘ˆD¢ç@sF]ŒÂÂÂb)ËSÝ mÁF])%dòäɹEEEÛà믿VbÛ¹s'nÞ¼Éøaœ? ú,_¼x¡tNVN^èŒúÎ×b’±cÇâÏ?ÿT9Þ½{W‰«uëÖ7nœ >sˆ&Ú|}1l09€¬\¹ÒÂØØ˜r[˜››cÉ’%*#êRºuë†åË—S^GH$ÄÅÅ…'½G&`!’ôM›:j &Í£Y´–t‹`ž™™‰³gÏÖhák¬P$SSSL: 8räˆÂBõêÕ+yÀwïÞUû~`` ã3|þü9rs«YìzõêåÁ.´-¸§ë@CÁzËONNž€tîÜ™r/ë‹DEEaÊ”)€;vÜ|üøq TߔݬŠT[ÖUm³T‹ì–©ÓªB¤êµ¨íÚµk7H$’RKKK|ýõ× ï  8=bü¬»»;Ο?ß ^®¼¼<¥ŽÚ„HÕ†bøMdâĉˆŽŽVÉ„tæÌôèÑC‰†yéÒ¥àp8àóùÂU«V%B}â°^ÕçÒv***;gΜÛêZG3fÌ€‡‡GÔÅÑ$W®\——&Mš„¤¤$@ÿþýÝÞ]³fÇ#4€!T±Ñæt"£`4K@›Íîû÷ïW¢ñc$&&"55iiièÓ§OƒÝ¬——~úé'deeaË–- ŸÏ:tèIBBB\¾|Yo—Ë¥øÊé" “jÛ¶­4‡G1ÑVªÚë2È §srrÖÀ—_~©²ê¹&133ƒ‡‡BCCѧOŒ=Ó¦MÃÂ… ±fÍ,Y²_|ñƇ sçÎðöö†Í¹Ò;vìˆM›6îß¿Ÿ9sæÌ{PŒ§©X4˜è Ø`´Š ‚f€Q‡s¼~ýºÚQÒÒÛ¥®Ø£”~ãûï¿/xõêÕo²±*oµª-ÿýúõSI]ëé鉳gÏR)ë[Äb1òòòÎÑiv傟 éÁ9r$vìØ¡rÚ·oÞ{ï=%ÊÜ6mÚ`Ô¨Q€uëÖ]ÊÉÉ©‚¢ÇTUL¿&˸^€Ž¢¢"?±X|ÚÒÒr;‹Å²OOOÇ„ àíí 6ÔIMmE `çÎÀ°aÃðèÑ#˜˜˜pgÍšÕ>%%ep¿~ý¬ ¥ \èD²·š¥Yj‚0X¬Ö ñÚ€€œ;w-Z´8;;cÑ¢Eˆ­×{ô÷÷ÇÊ•+1hÐ jâ-((¨Œ‰‰Iúᇞ–•• _½z5þý÷_½@u˜Ô­[·”Î_¿~‘‘‘ðööv¥ ´ó^È@‘Ûë²¢JY][µjõÓË—/ƒ-,,úîÝ»îîîX¿~½VxÁ‚X²dI­Â«$ îܹƒN:iuýûï¿7ÂÐЉ‰‰/{ôèq‚Ïç ¡Þý-†fO†ÞXå_”——?³²²ªw€affWWWØÛÛÃÆÆ666°µµ…µµ5ÌÍÍajjª°ñx<€ËåR{B„B!D"µçóù(//WØJKKñúõkäççSûÜÜ\¼xñ¢NŠñ©Ù3LIIÉ×,TåùÔ¦þÉüùó·þöÛocÍÍÍ]öìÙƒÈÈH…ç‘Î;ãСCŒu'|||ðï¿ÿ¢gÏž ¢È¿|ùNNN FºÐ•{YqÎú–ˆˆìÛ·O%¸X½z5æÍ›B›ÑÊÊ 111`±X¸råÊÓyóæ= Í+LsSè”>7äãD6›½‚­[·böìÙZ·!8zô(Nž<‰%K–`öìÙpss³þ矆­\¹òßo¿ýöÈPeˆ"uh,hÍR¿¸BîØP®J—   œ={V‰Z533³ÞnÒÔÔ‹-ÂÌ™3©…àÙ³g…[·n}¼~ýúgUUU"’™3gzqE"Q£Ò Ò%>>‰D­E\U†\¢·3›Í6H$*À…º\ ]WHYLÊREE…xâĉ_îÞ½û7 ‹n?ÿü3F…¨¨(y--Z´¨uî›Íf´lÒÅÁÁ[¶lÁ°aÃIII¹Ý»w?^\\\å¤=U1¶š¼:m9dR: S\\\кuëZ}!—Ë…··7µùøøÀÓÓnnnpuu…¥¥¥.(7xùò%233‘‘‘´´4Å“'Oj²Éf³©g¢`Ô”/¿¦ViÂ0V€ìܹ³xðàÁ“‡zdàÀF›7oÆ'Ÿ|¢ðáüü|ôéÓ7n¤Bå%88'OžDŸ>}PZZªÉ xyyÁÊÊ –––°°°€¥¥¥Â1ÓÞÂÂB‰ÙL€ñÅ_`êÔ©())Aqq1Š‹‹éçòòò’’¢@ ÅÑ£GCf% fΜ‰õë×+½ÇãñpôèQ //¯däȑ砜8,ïE«ziÜ „,°¨-ŽŠŠÒ)ø|>æÏŸC‡a×®] 4X´hÑÀ°°0Û¡C‡.//©1@I4 šR’~­•Z6‰D’K!ýû÷׆á@'¶+VB¹téR*€_¬ð-€™>0À{ºh 5-X0`„jºQyæŸFk‹‹/šB$„ öÿ_½z•ÐåÂ… ÄÜܼ^ž÷ˆ#HFFõ[ùùùåsæÌ¹Âf³÷Ø`€ßl½qãF!„œ?^çúMRRQ'wïÞeüœ­­-uÍ;ï¼³ À QÆ @gÁ|¸pëkÆxR£Ccö5óô>¤÷mÀ€‹oFFÆ^Ùs¨ªª"óçÏ'ŒÏŒÅb‘§OŸ’º’ÀÀ@•í:fÌ’ŸŸO]›˜˜øÒÞÞ~»tnøÀ2 ¥óÃ4`€:Ð €«žµ|ûq¤sš!æC‡u‹Å¯!dðàÁZcccÒ³gO2þ|C>|HÑwÉÏÏ'çÎ#k×®%}ôñ÷÷×zî˜bff¦óz$Ç#ëׯ§Ú÷Ù³g)nnnÓ¥í3@Oé8à À€- éüªÓíÒ 0ê`Lð¾´ƒôЀ¿ž B!ï½÷žÊÿîàà@Äb±ÂÄ·oß>•Š^m6;;;ròäIêwø|¾hÛ¶m---÷Ӏſzyym …"B2dˆÎõÙ J‘&~)mååå„B¢¢¢~ðÒ~ö€H}h …G6µT([AµN¨NÒÿäwéÒ¥EB¡°TöÌnß¾MBBB”žW=êT1Ø´i“ÒoØÛÛ“¿þúK¾ýD7n¼Åáp~°QÃ?DÚnáB¥Fˆ–ÒE„¾ÀëÂ<¡âÉ‘S<¥}Ï://o!„À@©¡@6Ž=¥cK`6æš®ó!R/^¼ð`±XfLï}õÕWTÜÆ–¹sçâÒ¥KJç]]]-,,,8%%%Ú0õè4›O=ª!Å,ÕÅK}ÆŒ÷èl<” 1::º—'11±AX"j*ÙÙÙÃ@••¥ô^ff&üüüàááa‰ÿŸ´ÍÁßt5ƒ)ôB©Q÷îÝ6ìæÚµkÿÏÃÃãÝöíÛãöíÛ “'O¨/‹ŠŠªÓ››0aæÎKÅò²X,ÄÅÅQÔ–©©©QQQW.^¼øŠ’ аiÃw®Bµáºuëv.[¶l†ÉŒ3ðã?*\¸fÍ%æ¡·Eìíí1lØ0 6 ¿þú+6mÚ„Ï?ÿ\ášo¿ýxþüù«~ø! ЬPôñ"FÍjÔ&ÑÒûj¬¶mÛverrrK›ˆE‹¡eË–ˆŠŠ‚P(Tø’sçΡcÇŽøßÿþ‡àà`…÷ú÷ïþýû7X[0…H5DH‡=z GŒïß¿ƒf A¶°°ÀáÇѻwoB°aÆk3gÎŒ‡jF"¡Ü¼C“Ò&wº2'B¸ŽèIÁœ9s”æ}Õ«W#77Û¶mƒ‹‹‹ï7æ………}“žž^å"¹L…seM×i€QRRâiffv€É«W¯œœ¬ð¾‡‡ºté¢÷jmm­ðúúõë‹Åðôô´»|ùò wÞyç`II 4(vô„[],Ú€Íe±Xj=9ïÀÈÉɩӛêÙ³'> kkkTN™2åê¡C‡r ÌMíçÎëÕ¥K?Xµj•Rò›.ˆ6‰‹666j†£££Ô3GiSÍ[•Q”ãJ 9r$÷È‘#KŸûì3ãmBvîÜ©p®uëÖøâ‹/K—.½!­þKÏ·@=Y]Õ5 4…Fþ¼B}—üü|Ïç÷îÝ[ìîî>z„ pqqÁðáÕê={ö aaaسg†^ïϹ¬¬L)W¢¤¤„‘ÜäÌ™3ðññ¥¥%¬¬¬¨\U´±u-ÇŽÃ|À˜¤ìì쌓'O"$$‰D²dÉ’Kßÿ}¢ 0!€j–"u1þµ¢õ)ô‰DˆŠŠÂž={ôvìïÞ½¯_¿ÆàääpóæÍ¥Ýºu›’’R¥b]g˵«1ÚJgŸÏ÷âñxç¸ååå¡wïÞxþü¹Þt†¿ÿþ'NÄîÝ»â~íÚµá]»v...¦+tÚÔ$Ðk2KºÀå°X,_uãèÑ£øðÃB¡111j¿ØÅÅE£å^^&Nœˆß~û <IIIùƒ º”ššZæ‚4""OOOîÂ… ûÀDZÿ~ì7Ú &ÉÈÈ888X@1¡[]o¶ `«Šª’Ò"mo6Ž­­-ÏÃÃ# ~ûí7@Y^^­¬´´”±ð–&Ùºu+&Ož sssÃaÆÙíß¿?ÊL 20Ág5 ½:ªH½Óûõë·ùÎ;Ã-,,|—-[¦à›µk×RUÏëCÄb1D"‘Cý€³Óq}VÞ³gîܹ£pníÚµàr¹ˆÏÚµkW¦ ð-sG¦JñuT™<Ž ‚‚‡‡Çw·oßÎnß¾ý—½zõb_½zC† Q¢«-//ÇÈ‘#ñí·ßbñâÅ`±´³‡””” 11=Bnn.c¢µü¾¤¤D©þ…:™6mãySSS tÐ÷ôs...€]ðO?ý„9sæ02æµk×G…››„B¡ø«¯¾Šýõ×_SÕÌ=|ÚÄD8¡S4¨Àøç¨ùÂŒ3ô\ÈäŸþÁøñãqðàA´hÑ"øÊ•+Ë\]]¿‰D2Jz‘ÜZÏÔ>¤!uJ´XB¼œàš——‡^½z!11Qášàà`œ9s†¢@ml¹ví¨dy7nvïÞ ‡ƒÇ§víÚuGau%ž2¥Ò­ @€Jé&?Àe ®!†ÁZ.—;=))I¥‚Æb±€ÐÐPÄÆÆªô^X[[ãÀcˆÌ §N>øàDGGNž<ùlĈ7+++é®\ùIQÈf³EqqqÃÛ·oTZZŠ:(„Êè’Œ5 P{͈#pøða¥óK–,ÁâÅ‹qíÚµ‡]»výCÚ§Ê¥ý«\n“õ5ù…iѵ…CÉ€‘®®®ÈÏÏo”›¾sçÚµk‡ .¤EDDœ‘>ï*¹­RÚ&rm#?TɵlÐÃt`0µ üÊGÞ‰' pH"‘°Ú·oøøxê ,,,’’¢Tw€.‰YYYÈÎÎÆË—/ñòåKäå塨¨ˆbí‘?–muÂÉår)–"ú&S.áâ⸺º*±í1Iyy9|}}€î AƒpìØ1ˆÅbI¿~ýŸ;w.Gn\WÒú“üø¯ õ-¾Ü¼)¦­;5U"åõ 6Íf 7Vy²± ÀðÈ‘#† ²”Íf#** ‡bü¡C‡bïÞ½033S=Bbb"(½½º*ööö D@@¨czÿ …øì³Ï°mÛ6ÆõwÖ¬K2o IDATYX¶lx<***“'OþWjÜ Š*¹y†i«’ë#B k…DWŒ„>N0` )Ôwùæ›oðý÷ßËtÏ_»víºKÅZ¡i]»X¥!>„,)#[Q‡Èëׯu.ïÖ­[ÄÆÆFé~ÇGD"!„äää'666_˜`8€~¨NâlÀÿ±ûÈ'ÛqÑx 1 ɵyyy=e =l6»V‰K›6m¢ž]NNŽÆëÛ·oO±‚?~<@4€Ý¨Näþ À¯¨N\ûÕ‰³ßXtáÂ…²ß1b„N'sõîÝ[c?›YXQ €gQQÑ%B‰‰‰iÔ62eŠŒ¹Eäææ¶ Õ‰ÝËQMú0Àt£šñk0þKìn‡jòY.å‡)¹R—Em¢·ôÿ¹¾~ýúoëX…d"‘HHJJ 9pà™?>2dñ÷÷'†††z•À €˜››“ÐÐP2jÔ(²dÉò÷ß“ÌÌL…qOg[âñx Zttô}TYü` T'x÷Ð ê¼ë‚ðA›”¹tÎq@5{•—´Ÿ·[°`Áø’’’g²ÿ¼aÕíDfΜIú÷ïOÜÜÜô®Ík²ÙÚÚ’îÝ»“iÓ¦‘_~ù…DDD0^çââBbccåÙêrBCCÿ[W£š±n‘tîùÀdã¤úÈT3v‘®­Q ÃÕÕÕX"‘dBÈÈ‘#ßxp„††*0MEGG«½¾E‹Ô‚ûðáÃ>qqqèÔ©¦NÚfß¾}I ‚,jÂÚ¢o ƒ¨€dâĉwGŒñÚÀÀÀ6$$¤ÖÞžž°³³ƒlmm©MöÚÊÊ †††àr¹àñxàr¹ Ç<l6B¡På¾´´xýú5 Ž_¿~ôôtdeeÕjN’h’’’ò=zT fºf&°¡ŠrT¢d:hk¥±*2D óëôéÓ/rrrZ¶lù޼QªY%((˜˜˜_VV&3S_¨ {+è ˜Ét½n¯üüüze›Ó5Y¹r%&L˜///ÖôéÓ?\»víwÐ>Ôª^ Ö 0!Rpáð6€ &áââ|óæÍ蠟§«*¦¥nâoJÑY³f-Ù¸qc_www¯#GŽ ""Bë0† &àĉ°³³Ã±cǰnÝ:•×~÷Ýw055EEE…púôéw¡º~€`ïÞ½]F5>Œ?ü‘ÂOgµ®Z(2*M´jÕÊâúõë9PO`ò`ÌõWtYiUUƒ8::~ ýõª Ûª¥wïÞJ5ZêKñùçŸStÍ@µ£S§Nèܹ³¿»»»aFFF˜iDUÕ+ÐǺꀡüy…ÿÈçóÅ—†i«X¢M›6ðõõ…··7ZµjEí51OÕDꢟÏGZZRRR¨íéÓ§¸sçŽV^LYÁ¹û÷ïç©t%Qp¨RëRa¤+0L^ yÁb˜¯XÙÙÙZ¶lù½ÈÞ›Š<==aaaA Þdãr¹(//GYYÊÊʨcuçäß+++CVVž={¦T\°¦xüøq­Íéà‚É{¡Ž¢VUX  [Þ wó€ê mÆPS‘ªª*̘1ÿüó¼¼¼Þ™0aB«½{÷¦hiÌê‘ýË ;D Tç\Øggg#""B¡¸¹¹5HQú>ŸíÛ·+L"ò ÃÉÉ)äòåËߺ»»Ï…vÅ´$´‰»!•A€lÙ²¥"**jz‡þ ãlß¾ãÇ×ê nݺøùùáéÓ§*9ÇññÇ6oÞÿìÙ³2¨)N¶mÛ¶öãÇTóE;¶Î«‡ë2À€ŠŠ XXXÀÃÃêë]¨+B»wïzp¹\*ïF^:Lnôèј9s&EûÇà矆¥¥%wáÂ…m¦NzŠd‰š×õQiY—"hˆóóóªNNNGXXÂÃÃѾ}{ðx<½øó†††ð÷÷WÊ"„ 99×®]õk×pýúu<~üXi^)Ûú9êÚ¶mû÷®]»2ÞÿýßœwìØåË—cÆ xþü9¼¼¼¨­°°cÇŽU lll°yóf™EæYtttY£(p±páB¯¹sç~Èb±Ø×¯_Ç AƒPYY©·}¤®—Ëåh"šT‘Å‹G²X,{™§@&\.Ÿ|ò ÊËËñðáCÏ’Œàà`üñÇ dff¾5}©ßËFzzzCP"Ab®…:Ö( •è ¡c ìÙ³G¯×þºÐ~ÿýw¬X±íìƒr8¤ºðû:Ͻl4€!‰Xª\˜L–Ʀ"ªþƒC ÕIŸòñ« žA;–|ôÑG‰gΜ±lÙ²ÎÎÎ}íøáÆ/Ù»w/ÆŽ«2ùzýúõhÑ¢húôéW è¶¥’Ö"##­/^ü›Íæ>ñññ ç]\\`dd¤pnË–-G»víÚ»¹¹íËÌÌ,gRª }nŒ¾‚ ¦ùDdðùü4À¯“ÃDc®…BŠÙI¶RÇ•••Ô&c‡’m‰„b—200 Žå§¬­­•ªd›‰‰Iï™þ_e9)iii…PÍ¥.LJïx}„G©ë§²)f,‘HôJþ¿kRº›ª<~üX%ÀHIIy­h ö({/Ô…ÑÕ @]¬—žúÌ”äo›ìرß}÷,--íFŽéyðàÁíÊäÕ ëµn_4‹.‰4SWr èÚªóNQÅ@>žO½œËå®]¹re‡>}úôiÙ²eg±XL****­¬¬LMM-G…ÒÒRüüóÏHLL¤¾ÔÖÖ«W¯¦’Åcbbnß¿_6i*ä]¸ººbÇŽq¹\^qq1"##QTTÔ$¬µ™C 0€š%vk ´º.;;Û‡Íf÷€]»v)\TVV¦D ÑP’­tîСCøõ×_afff¸lÙ²Î'N< õ¬^Љ–ÏMWSb!#È „TPÊÃHOOŸÏ‡¡¡¡Ò—ççç#%%©©©HMMU8® v}ˆ¥¥%¼¼¼ÐªU+j/Û<<<Àb±”  çäžQaT,TyÄéý£¾”Hu ƒ)\Šêï Ÿ©Ôl21<©b}bÚ …B˜ššR¬R²cú^Õ9sss¥ö® ÀxôèÑk¨®­#¤ ¦°(MÀB £°nÞ¼ÉølÞ6ÉËËÉ'‰Q£Fµ;xð`˜ èó¼>©÷ µ£êôéÓ€õU n?iÒ$Lš4 yyy¸qãÜÜÜL%æ?>á“O>¹ Ÿa `œø Éö—šŠÌƒÁårÙZ ua º2hóËÞÞ~Šìõ‰'pâÄ >|'Nœ@iii£· —ËEDD† †ÈÈHªŽF¿~ýz8…Úy›´»^CG £…¼áB,ï°³³S¸X"‘ 55îîî¸}û6âââ¨M—CfŠ‹‹qïÞ=Ü»wOé=+++tìØ;vD§NЩS'äåå)Z´h0333€2½1SUVKúÞJ¤*AOò—ÕÆ€`¼ªs,--<”™™™¨¬¬TI\RR‚ÄÄD$$$(lyyyÚLMM€   "((AAApqqa¼¾ªª Ïž=S´H¡U«V€—/_–Ó×b(³IÑ“¸ß´ §®ÌÝàÂ… Í‹¿T.\¸€ÈÈHtìØ1À¿`›A¹ 3]Ÿ¬µ^©“!RóæÍ{ë: `ˆTLrÊ^Œ†¢¬elé½q¤›´º III!!!¿Î™3'xΜ9ïÛÚÚ¶pppÀ!CdÏ€<|ø0uß¾}÷~üñÇ'‰„ÐN!aLLL×   v°`Á‚W׃¾PcË–Ld Nu,ž&pÑØµ¬¾f:ÏÀ*..>fiiic``0ÔÌÌÌbôèÑ=z4ø|>Μ9ƒÃ‡ãÒ¥KHKKk0–„‡‡cèСxï½÷`iiI½'OžÌ†IAm(ÁªÅ1#À°··¿àfTTÔ¬E‹ °··mllÜ×ÐÐ7hÐ 4PZZŠû÷ïSùñññHHHP àp8ß¾|‹‰D¢@Ìb±àããƒÐÐP…NTQ\\\~ûöí”ãÇ'ìØ±ãqqqq € Úø¢ yö/U9 ê~M±ïõ^ÍUË9E)Ìóƒ>0âñx~pöìY¥/` ?kj"o©—Ill,¢¢¢àááakhh>Ÿ/©¸ÐT×€4RûÊÌR²"|lBHPmÅg …éÛ·/òóóUÖTÒ7 yõêU%¥Yæõ”—ÔÔTÊ{ÓªU++({´Ô±Š©ŸõY|±.¥5[Bˆ%ùÛ.÷îÝCEELLL؃ òúå—_Jð_ôOº—é”t£uZk`P‹¨¾@kD€!ë ò ƒIñ ?çúô…@dˆ >œƒšøÊÊÊD¿üòËéÿ2`ø_òJ0¶nÝ:ÖÀÀ€É“'7Õ¾ðÆŸ¥%yÚÅô7È`©5,éähïæææ*‹Ùb±XXYY)‚ªª*Á;wJ'Ož\Fr–NÖöíÛ…Û·o?àôÈ‘#­gÍšÕ³eË–½­­­»óx<ssstëÖ ÝºuP]ô±ÿþÀ044D\\BBB0mÚ4…ÄÁÄÇÇ£  !!! îW_}…O?ýTégee]ºt)ýСC)GÍ”H$²ê¹B†Å[þ¿°ÃÃÃMßyç«àà`c777#[[[žP(,«¨¨(ÎÊÊ*>uêTÉÎ;ù ¿ª¸zu^ÎÆô{ ¼£óçÏo€SVV†¸¸¸Z9ǃ½½=¬¬¬`mmMíeÇVVV044Ç£¶éÇ„*ñ[>\vÌçóQTT„¢¢"R{Ùq~~~­)´Ïž= Bx<žA¿~ýlŽ;VæZà‚@7¬Ô„Á˜ÄfZ_œ;À•+W™‚;·¦!„‰À„ÏçãòåËèׯ<<<¬ú:Mõ-t\Òð¨ääd­jo½-"‰‡ž={Â××·…T—ä¡:B† dÈ­™ô¶7n÷F ‘jî JÂU³Èmò^ C§h(/†<P+N©É(®´s¨¢3fx‡ÀÂ… ›,%]mƒC›p¨†‹ ¿ýÏ?ÿõíÛw‡ÃéÅb±ZJ7¦ª¾ mÛ¶˜4iR¾D"I‹ÅÏ„Bá󪪪çi7oÞL0aÂ+iÿáà}:P C ˆÇ{ðàÁøÏ©´ˆ»¸¸¾ûî»vááá6þþþ-\]]]¬­­ÝLLL<Øl¶±º:zôhlß¾½L,Ç ‚Ûåååq÷ï߿ݷoßP¶HkRÀDJÁdô̸»»÷ªÃ£´)šÉb±àíí ___ª~€üæèèøÆ¡‡u9¶sss‘žž®´¥¤¤àÉ“'C¾^½z…û÷ï£mÛ¶x÷Ýw]Ž;–æœ U|Õå\4´Éä½’gJd›™™u >V155…­­-LMMabbBíå5½GAEEÊËËQQQQããׯ_× ëall,úõëggg+0°H š‘R[&1]Lðî7nÜhÖirãÆ ôìÙvrC¶ÑuJy㮼N©›!R„V:ÊŸ“H$,é^vܲ¹(X׸‹/ær¹.—Ë744¬244äUW™˜˜ðMMMùüñ±ŒŒ !”Ã¤Ø ´X¨rg‹5€ yO„|’S'gZpÄ .€õðáÃ&—wQWCº8Ì1Vš†™¥ê¢±à¯¿þâFFFöáp8cÙlv$ M …¨¨¨!VVV`±XvÇŽÃá´çñx”¢àããƒqãÆ• …Â4>ŸŸVVVöœÏç „B!G$qì­­ÛKûbcc1tèP”—ÿÇÛ·o_…ŠÉô„ÊÂÂB”””À½zõÂìÙ³©*Ý2!‰ðÅ_€ÇãqbbbúÌœ93«¼¼¼ €˜Íf‹Y,–ÈØØ˜åäädigg÷JÕü IDATgcjjj© 0òù|˜˜˜02&±X,3ƒnÝLLLЧOˆD¢Ô¢¢¢_ýuÌîÝ»+5X¬éÊ}Cær©›cˆ‰‰IO€9<ŠÇã!((ˆ GkÛ¶-Ú´iÃF¢KÂb±àèèGGGtîÜ™±½-‘ê¼2룲Z.Cgêä”´|ùò@_”R× 0˜R@¥ZNu¹ò²ž>}ÊóòòšÍf³¿`+{#++ —/_¦’1=z„¢¢"…B…Bðù|…˜j;;;øûû£uëÖ {www°Ùl°X,3ÂãñBÌÍÍo¦¸¸óæÍÃÖ­[ž³ŸŸöìÙC)iiiŒô—§OŸÆ¨Q£Ë–-ÃÝ»wKµÛŒ3pìØ1lذ~~~œ°°0mÚûÅ‹”’‘””DmYYYÔ}²ÙlR5ŒáççG%ƒvéÒAAAàp8­lmm×îØ±cÁO?ý´eÆ Û–.]Z¬AÑP6Ü’½wï^kƒ6ªÆ’%K0þü&7öMLLÐ¥KtéÒ…:·~ýzà+³fÍBë֭ݤJ¥*àȤdª«Ê¬3Ó lëÝ»w ÚsC¯3T3)( __ß7ª;Òâìì gggDDD(œ¯ªªÂÓ§O•€Ç£G¨9^&÷ïßÇ«W¯`oo &¸¯[·î¡š¾@Ôô†Îé­XhbÙ3qtt´‘êX\0{084ý‹®3è.‹TUUž?^ãÏɬ3MQV®\©°0–••i¤Xår¹P(”“‹º7h–Ⱥž4T10]'¡ íþå4*< cÆŒéT‡­Ð+¹65ÑdYS@ê`šk*ÔWUo–H$êÎáp¶ :!¥¥¥8tèöîÝ‹ .Ôˆ(??—/_ÆåË—ÎóxÜÜÜìmmm-^¼øË1cÆL ø—¦t²hãS•ÒßÐÉßèß¿ìW¯^1R{÷íÛ÷­Qzöì©tîÒ¥K²: 'NlùóÏ?ßW¡LB©k4ÅòF%j>277ï%Ó ˜æ¾o¿ý¶ÉM###+ÕýØ´i>ÿüs¥õàܹs3f è½nݺ m®Ê3¡ dè2Øh†½½½”=ô{zˆ“AòúA½Œøøx„……5·¶9{ö,üýýÕ^ãááA5¡P(ß9äã)9Pfxª B•C¢Î æBPtôÌè¦ 2òððè?ýôš:AÇSû¾@ Pùž\’7[ ¸hœ$‰"8ÎI¼ÂÂB¬^½6lPKª xúôéÓ355Å´iÓpîÜ9…ó»wïf¼þÔ©SØ»w/¸\.un̘1ˆWHú …8uêN:Õ }çáǘ;w.æÍ›‡1cÆàûᅦ···…¿¿ÿÞ”””¯½½½ÿs⯪qÜ( ÃÒÒ²œ?^I©´µµE»víÞš5"$$666(((Pç×®]CDD à#0TÍÁ51é‚RI­<¯§ ¸3I¿~ýÞš¾Ð«W/ÆógΜÁ˜1cЮ];o-Ú˜4‘ÇÑ 04 ©¡‘#,˜À…~z0š¥îE 0¸ø¯:ëD}* L šà‚^3ƒ#0Ø`¢@ÆÆûp8£üü|lß¾ý­Ô²ÐÈÀ‡ÃaC3½+#0¨ p!8Î!¼«W¯bèСÈÏÏ×¹ç]^^ŽÏ>ûLí5\.—J2‰DøðÃu¾BðÇàСCØ´i>ùäƒV­Z­ËÌÌtpssÛ(7Yr{ Ã8nHA/¸\n/™†.½{÷Ö*ÔVËù”b}ª¨¨ …ÆŽë'šêé­BL¤zC“Í×­È8^¤ÅŠåÁÓž)z¤N¼õÅ"ÅÒ††& 0 QÍg¬®ê¦¼r Ñ`½ª !Ž æ¼… ½ ¨™Ž Y`ggg`nn'Ožlòí[WCÍøc©8Ǫã9 DƘ£ Ũ®ŠfÍš…£GjÌ•Òe±µ­Î­‹ÅE+V¬¸"5R0ñËáú&`ì›®®®½dJSjjªÒEô˜ÜÜ\ܸq÷îÝCBB‘’’Òè¡”•••ÈÎÎFvv6c‰¬µlÙ¾¾¾ðññ¯¯/‚‚‚бcG+ ºÜ¹s………°¶¶ÆØ±c[KKØfixþ:åÅ022ê Ô.<Š‚ÌÌL>>ðññÑ*) `ȧÂÃÃýü õu‡ôl,]º´jñâÅ|†NNNÍŠ!M™ªÃÒU‘ÂÔj^h†~ú0dSÄ`NТoªª¥ÖÈ@™JžÒ–M,à‚€µaÃ/‹e\YY‰K—.5ùöÕ&DJ]†…¢Áê]TVVƘššÎo×®çÓO?ÅÆõ²=z÷î [[[Œ1?üðƒ^þ‡ÐÐPªNÇ7ÖGGGW šM„Å0žéc»® ÚŒ>³÷Â××\.{öìAll,®\¹¢D'¬gó9RRR’’¢pžËå"44áááèÚµ+ÂÂÂ`kk«"‘HpîÜ9Œ1aaa­œzCãÎ ¬¥K—q8œpø÷ß/¢{³òòòpéÒ%Ü»w)))^3©ªª T-UF! húøøPìp––– ƒIΜ9ƒO?ý­Zµjéàà`˜——WÕL‚õEìÑ ²dɲxñâLÞ2eºYT  \°^+wëdÔÀ¨u§íܹ3šªDžvó $y\¨óhÔwÒ·* §„ö¾„Ö‘U¹åXX;w€ .èu˜¶RW -Æh}.0,33³d‘H´“ÃáL^¶l<¨7¬ëÂf³±|ùrÀìÙ³±mÛ6½«Ìf³±eËp8>ˆˆˆ8%?˜À…<£ õËDÇ( `s8œžÀqåòòüùs8;;7ùy@("..qqqX·n¥€Ò%66#FŒ€»»»;›ÍfËêMÙR­n̳êÉõÆúÃôéÓØ…B\¼x‘lr8ìß¿/^ÄÅ‹õÚËHAVV²²²pþüy…1ˆððp pººº*…Œ?b±Ç`Ê”)>Ë–-‹S,˜¬Ô,={^™,˻ك¡,-Z´Í#b({*ÔE0QÝ ‘’H$`®ó¥ÔÐBûV‰X,6`ÕaHª*·ÖëXs¸”ª+P.°ììì‚àÚµkoEûÖ6É[‡„uóæÍaaaƒ---[üôÓO7nœ^µÅܹs)¶"KKKìØ±CïòI¦L™‚N:"þî»ï6…BmŒ2hc3€Œ‘Ý»w·g±XVpë֭浦€2 é¼Áóññ1NNN.GÍ i꬘››÷€ëׯ3ÖŽJKKƒ««k“ow‰D‚‡âáÇغu«Ê늊Špûömtîܽ{÷ö[¶lÙ- ³NÃaA2 `(‹ÌƒñâÅ‹†ù@“·î \ÍM¡—C2 ¡¾xJ½vA?fR`ä¾™6‘Ü&666n @ï¬ßõ)5Lto´Å¢k×®Eeeeÿ|ðJŠECF,Ö¬YCy/nÞ¼™Æçó…ÄÙ³gagg§ÿÃÁÁ+V¬€TY?¶nݺ—*æ †ù‚ Õ®òúT¢%„W@uXL·nÝš¼ quuÅ?þ(///KNNV510Y±¤=ßt€AY?`’¦NWþ&"œžžž®´öÕ”{¡w¹„f€¡`¤¦¦Ñætmò.êŒÒž]C³Ô«5C\Ê &p¡ªpJ}µ“ªÂ=LUD5‚Aƒ± êØÚfy#€ÑàŠü±……Å¡Px~ýõW­<4)FFFøóÏ?1kÖ,ÀñãÇïwéÒåø¤I“þ®ªª„‡‡ãúõëðööÖù~òÓO?ÁÊÊ eee¯Gu„.4Zj”9½E‹w/^¼Ø^(žðôôÄÅ‹ñ÷ߣoß¾h&©–€€¬]»?Fdd$ÊËËË,X£X48P¬­îpùòe[6›ÝZ·n]g”¿M]d¬h´B«ªÀ&´P,uvÐBž€——WsÃÓÄÓÓ””TÕLb꼜uÒîõÆ"ÕÜÄõ 0 ¡lõ—ÕÆUÉf£ñÜàL±¼LI߀š*Ó£F2’*Do À(++ÃÑ£GÕ^“––VSÀ§®šk½+ 7nܘݭ[·^~~~ƳgÏÖÙdéÞ½{cÕªUhß¾=àØ±cw‡ rbbb2D"Ñ¡]»v ÷öö6¼yó&>ûì3üùçŸ:ù_"""0~üxÀæÍ›c222Äø¯8'}ž¨W&‘7¸÷WFçååEÙÙÙ­ŸoÍ»ï¾ =ö<õÔSðÖ[oM…si£¾¾êëë§©¶™‡§üqhhˆZ›^¯zè!xã7¦åù÷ööÞxæ™gþvîܹ0P(?~¼ÿìÙ³þðÃúÓŸþ´eÇŽÊöíÛáäÉ“ðÞ{ïIu; TÑÚÚ 2-5Mƒšš¨©©™RªFGGáí·ß†ƒž={`íÚµ`šfò¥—^ú °›(à¾èR#ž~úé訪ª:pìØ±ÚÚÚž¨¯¯ÿG¿ßïkoo‡ööö©ßíë냟~ú º»»¡»»®]»ÝÝÝðÛo¿qma®F]]ÝÔüg®õë×ÃÚµkg—H$Œüñú—_~ÙwôèÑ_‡††&ÓÄ"Ŧչ±Ä׌5kÖüß믿þÇ}ûö½S^^¾sÆ èèÑ£päȸxñ"œ>}NŸ> ß}÷ܾ}{^ûôòòrؼyó´ÖÅxûÚ¾¾¾ÁŽŽŽ“|ðÁ/``v1Wì‚˲N+вsÛ¶m #=yä¸}ûöDOOO ø©ëõ ¨¯‡ ÃxIÓ´ƒç΃-[¶,ÌxŽ£¹¹úûû ¥¥å_ƒÁ`â0 ±ôãDúy,ý³$Ó—‰mD8ØœsÌø€òàƒª_ýõBhѺuëàÒ¥K Æ /¾ø">|úúú~[¹rå`ö±üŠc¶¢c¶b EV60½×¶vþüù6mÚôW˜:u6½I$ûúúÎôöö^ïêêºÝÕÕ5îñx|>ŸÏ*V®\Y¿|ùòºúúúšÚÚÚšÊÊÊJ‘ïŠÅbÐÛÛ ¿þú+„ÃaˆÇãÇ¡¼¼ÚÚÚ`ݺuÓêAnÞ¼yûý÷ß?ÓÑÑñ³iš¢æ6ØO<ñÄ’<ÑÜÜ<ÅLÓ„«W¯Â… `xx|>ø|>¨¨¨€––hmm…@ ¼‘‰D"F'B¡P4 EGGG£ÃÃÃÑ¡¡¡èàà`´©©É¿qãÆ†»îºkYCCÃ2oúà ÂâÅ‹ÁçóÁçŸþ·'Ÿ|òdld|žžoòÒÓ—])¤XØŒ2ó¨PìFÃD”©š³ºº:ÿsÏ=·¦­­íZZZîZ²dɪÚÚÚ&ŸÏçgÜKšq Ãøø8ŒC$™zF!™L‚iš`“œ „@Ó4ðx<àõz¡¼¼ü~?TVV‚ßêêê`Ù²eS'y/]º ¢¢‚úºáp8~ýúõHøÚµká‹/Ž?~|hrr2™ž#½FubNãØZ{¾ÆYëÜšCJó¸h\ÙÞÞþÏK–,ù'ÇÓ@¾@WW×á8sæ \¿~½(‰¥ìhllœ"÷Þ{/¬_¿~Æ©ÕÉdÒ¼|ùrÿ¡C‡¾?räHÅXö€Û¾Öi¡o"¤ëú‹^¯÷P"‘€êêê9?ï¤FOO¬Zµ >þøãË»víú³‰Ì¾€ñôM_“˜}$1“rˆ O0t]Éëõ.ŒŒæææ·Â™ Æ$ƒ`˜EH0XÌT×Ó4«ªºíå—_†O>ùdÁc÷îÝðÎ;ï@ÿo+V¬xÛXbɈƒ¶ÙXY8Ä žH$òï•••O¦‰…ÞÓÓóÙž={>;qâD ¦7-`6.žûfýúõ5«W¯®ijjZ¼téÒÅ555ÕUUU‹TÉÙº®'¯]»ÖÿÙgŸ]ìèèø9}(\¤X÷DQôꫯ®züñÇ7lذa] ¨•ù߆a˜£££c7oÞëíííêê»råJèÊ•+ѱ±±$¡8C…´5Mƒýû÷o|á…-++«…B·[ZZ:ÆÇÇaб‹F.p‚aÎ2Á`Ë´d-M_>òÚ´iSÝÃ?¼bݺuM­­­Ë—TUUùËÊÊ|ÅV nY–=<<<100îíí\½z5rñâÅÐ?üJÂÌ–ã™yÀSc“”ùŒS®ö;Et*F‚`ú©ÃZÆ/””””~ôÑG÷oÞ¼ùÑ@ pßïoAÍÈÆH&“0888uÀÝÀÀƒÁi_ÏUÃŒ²²2hjj‚¦¦&hllœzžùº±±‘YØ><<éììì;yòä¯ÇŽëD"¸ÿN l!ŽÙBR &=Áøå—_êW¯^=Ú£> _|ñŽÿ·¶¶Bww7<ðÀÿ}úôéaÁÀIƆ Ø>*j‚111—/_^@}9Ž’’ظq#I0xŒ˜ u“‰Åb{|>ßÛ VàlƒÁ---‡ '1lÒafÃÊ‘`§‡ªàÙ·oßÒ7ß|óŒ¢('Nœxµ½½½Ø]Ñp‚!ÓZ)Š¢´µµUmذaÑêÕ««kkk+BŠ¢((=Ã0Rß~ûíà§Ÿ~:˜H$XVòZ)ã÷Wà•;w6îØ±ãååå嚦y4Móx<O<7{{{ǺººÆ:;;GÏŸ?M|ˆBÙÜïÝsÏ=ågÏž}½¢¢bÑÞ½{ÿ¼ÿþŸ1ÅÛ ©N!I Á(4øä •B0p’RÂŽ¦l¨¤¤ÄÛÚÚZÑÜÜìohh¨X¶lYy]]]Ymmmyuuµ/”_UU•Ïçóy•¿”¹;1 #511¡OLLèÑhTF£ÉH$¢‡Ãa=ëcccúÈȈ>22¢ Ä:;;Ç'''My$Ai‹&A“Ø\Æ pI’È$ö÷Å*i·F2¦ÙAmm­ÿÙgŸ]³yóæµ+W®¼«¡¡aEmmm£Ç㶬……x<‰DBúѲ,ðù|PZZ:©=_¼x1455ÁâÅ‹…7$‹é7oÞ ß¸q# C===¡S§N 9sf”a ƒp&[ %S *-ÁH‹UUuÛ7ß|_}õսﷵµÁÎ;! †ZZZþ ¦G8I‚_$n4P|cæå´´´tƒÁ' ²áÆ ?~¼zÛ¶mÿæõzŸ^˜}ù1000ØÜÜü.ÌL IhsB¤šeç`Ì‹===ÿb†÷î»ïþ” ^ ·Rå5-  ‰ß ¸§¥C™ÄfÎRthŸU%Þ¿ ô3&l É!3~öüóÏ7mÙ²eÙîÝ»OS@®rêro,¬49»ë,É4)/F$2£{”9ˆ$«¬C?!MZÁãñ(GÑ4 y<Åëõ*©ªŠFFFŒH$Â;”ÔXsIþA2L‚4òRß”96¡*‚A L¯=d‘Í)’éñxJ·nݺüþûï_±jÕª%ÕÕÕU‹-òWUUUVVVVøýþ N+×Yñx\¿uëVdpp0 ÃÝÝÝ¡®®®Pggg¨¿¿?F±šo2)¶ çÁÀE£Ñ'+**þsa×ÿ}:tè_yå• „oˆ¥…è ‚\dÄé8A0pP<#‰ü¡¤¤ä¦i*†a(º®«†a¨‰DB‹ÇãÞx<îI$ÞÌ¥ëº7™Lz“ɤ'•Jy ÃÐ,ËR± ¥[ß*¶m#,¯rêý»µ5.BhšCO‹evúû¶¢(6BÈRÅRUÕÜ»wï¹h4à †T¥ÝTƒ! P>\·víÚ&]×K‡‡‡í7nÀðð°299YÇKãñ¸/™L–&“ÉRÓ4KLÓ,I¥RÞT*åµ,K³m[³m[M_ dlŠZ_Lö„ÙÈ À‚²2¡B(¥(ŠÇã.\z¸œ•›mpl%‚A‹¸"íÅÀ‚— 3£ÿdRÁà¥E™¢A*úH‚`ð:7Ñ€h®ùX$#I ûk– +=ÆCØ .K0¯€è! É Éí}:Ý;mΣ͈ ±nINd*Á!%"7×…Àˆ ë´zÙ,¡Lð'SWSSSÙš5kü+V¬¨\¾|yE}}}Emm­¿¦¦¦¼´´Ô«išªªª’~TUUU°¯•ô¥ªªª(Š‚‰„‹ÅôÉÉI=&Ò‘,}||< …¡PHÕGFF"’L IDATô[·nŃÁ`, &$ÖÉ…Í JEù6ˆ¹gÕà¢þ‚§\óÔk/$K€]¿ãáÌ\Èœj+ÛmËæ ’F4h R "™×BÎ’MG(0³Óíþ( RA6øP9¤Â‰AYÚµèM^]ŽÍ°Vä•E2-ŠOpw±7Y«Cb„&¶Ñê3‘ p¦-yxçæˆFÎC›%‡ºMÊæAâªYÂùL0x 5 DC.u>É$ ÔLÑÙ²êr¹­ SÀî8VˆšÉ k´X œ·™³‡ 2ÏRYk‰VÂK¿`Ù—„ŠÀ€l4ËÙ&ÙKÁ)äeÉ\Ó£xÄsj\!Q*Ÿ(:å&P‰G q[°9þŸÖâV±È¦“ÊÁ—‹ÎB‘-ú&‰†Í˜wžXàîAÂa÷6³z€ÝüÀ]Ù ´ˆ/dÅÿËxÑfùC³ ;ñ°&¯sŒÀ`¾À#;ŸZ”KÍkS림J`l"Àù™ÊØddOtv£ÝÈ´(¥©œ–„ª™¯¶µ6å{dz"ü„¬Z(›:Å›ólº7‡ddSlÎ ò-EEM#œÔv‹ K2òÅ"ÙKgE½HR]”!¬s1œ¤ÊÐÀ'M±v‹ÿ'çZ!ÄKÑ|+ò/Š^dŸ&'"›"!•>'"´¯iPÜmг&xA¶6ÓmÇØñ…×APÔ¨(k0h“Ào¦@| –Ûa¡$«Õíý­YΘ—.‘âŒ\IrÃ}a…ÕS ;™Í¶•¬Hîrt IJdÚŠ:©ƒ`ýD%ž*³öyÙ[¸™  A‹bA2XíK˜žfGK¡JØéu ˜Ùª¬¼31ćïñ€¥,¨,vቕ (d­'¹Ú |^yÝ¢òu¢»¬Ø|‘% ¢stÜL.h÷•l`;ÃAÔx¹ðó‹š–°ŠýEu˜YBß@^zÙ°µŒ‚y' ùÂ/V:‡Ûœï¤fEpÉæòÏÕÚÈ…Pˆ6-QzEŠF m/Èá£hdˆ†ìë9â<‚!)¹ó¦ÓÍÇ)y™íuO>g)Ì ðÓÓh?ã½/ &Û}H”*E³1²Á˜¢3SÜ*Sð0†ìàꯜ~/Ûµœ­H òǶÀVd^c> ÖtÒÄÁøÀI—IÈ«] 9œxç°@0䀤ÈÉÌWÇ V)ç;Y•-ì•!£Å`3¨H^'[@^¨Ó_íÛŒÛ@%€|!n¾Ae!”kY_îä{ö<™ÿlmB4ùŠP <®»l"NHÅ|&"Òé4mÕEÞÙb‚ØÄÿã•j'Š’´dIEND®B`‚./chessx-1.3.2/data/themes/outline/alpha.png000644 000765 000024 00000175163 10633464147 020415 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖsBIT|dˆ pHYs66Bï®tEXtSoftwarewww.inkscape.org›î< IDATxœì]exW~ã$¸;¥@)îÅ Á¬P¬¸”¶Xù P(îZ´x)'@)._q§‚[€`y¿³³ßìάd³»³ ó>Ïy’{æÞsϽ;÷Þ#n$¡Aƒ 4hРAƒ ö€»ÚhРAƒ 4hР!õ@[`hÐ4¤W[ 4hРAƒW†¶ÀРÁz¸X ¾Ú‚hРAƒ 4¸*<Õ@ƒ†„o4à`·Ê²hp, (  (€·Ü–ü}§–`4hРAƒ«ÃMsòÖ Á*”p €—îsI—ÕGƒƒÐ @_5,ðí0À.‡K¤Aƒ 4¤0h ,#ÀY$×讎8€Ì–hl\ðòåK$&&"cÆŒJ÷íÐÀc‡J§Aƒ 4¤ h ,c5€vpåÊ/^bäðTE¹4ØE ,rÀëׯ1sæLœ8q.\ÀÝ»w9sæD™2eP±bE 0âýBWAv 48M œf[ƒ#ö:P \ÚCƒóø ÀRX´hfÍš…‹/Še£ŒQK0 vA¦oyà?þ@ÿþýñàÁ³7cÖ¬YhÑ¢…xé€ZNº4hÐ:±À×VòN0Ô²hÐàÒÐ4˜FQ§ø]¼x+VÄ»wï°gÏÔ«Wv®óˆUSH 6ÃÀT ‰:`Íš5Iª ]»vXµjÜÜÜà!„g&Êî’jРÁ°À× ˆŠRþš§K—Nœ´††Z˜Z ”á`¿7oÞ uëÖx÷N4}út‘'+t¦SR$º¨3gÎLòâÖ¬YƒiÓ¦‰sm/á4hÐàš¸xñ"2dÈ Hj‹§AƒK@[`hРŒ)Ê@¯^½píÚ5}Á®]»põêUñã 狦Áð0Ο?¡Cmßh6lN:%~ìaqªAƒ 4|°Ð4ÈÑB¨R,Y²«V­2($‰3fˆK¨ëTé4Øud€o¾ù±±†VniÓ¦ÅðáÃqñâE¼|ù¯_¿Æ¥K—ðŸÿüþþþ¼qqq0`€øÑÖ;jp<ü40 À<¡…ÛRQ¦"¾ð€_!Èö5!äØÑ Aƒ†ÍCƒCÔ°€ç¥K—ðÉ'ŸèM£¤H“& îÝ»‡L™2AÇ/ oªÁ¥±@’H—.ÌžzÍš5hÛ¶­â›6m’:w|||ðæÍxzzÀ“"µkà á$© €ªºÏÆ €=‚4s’\µ| >7_@0#q.˜jtm¹Û€ÎFŸCpøuÂüæÀú?D¸àGèœ+Ïž=‹ªU«":ÚÐü9((ÕªUÃÆ ®—-[gΜ?þ]d" .jܼy 0( ÄÓ§OM¾$ÄÇÇ#GŽxúÔ0‰ûåË—Å,ïsôs„ÐQÀ9¾±±±hÓ¦ ¶nÝjÕ^^^صkj×®-^`†™[’‚~¸±{÷n4nÜ VÝŠ•+WŠ>=/”pËNri0jlÞ¼!!!v­xÿþý¨Y³&l|@Cê;„ÐõÙ!äÆŠ‚€õ•šB© ’Π1t,v)´éh··ËÁíý¨Ð¦F¶Sf’a¢rãââ8nÜ8úøø‚¨mß¾W¯^¥›››¬ìÀb5Iz»@ß4²LSH2!!¾¾¾²12e MaΜ92~OOOÆÆÆŠ,}\ íß¼ysÅï¯9JŸ>=¯^½*Vñ–d;ÈäOòI^¾|™éÒ¥K²\;w¦ë]@Ï  ÉM›6%yÌ,ÑþýûÅñÜìýÔ(y”‘Â\¿äm’社[$W‘ìI2“ Èí4r–‰T ,fΟ?o·J (€€€³<<í4ÚŠ,Y² 88Ø,OTTÂÃÃíÒ”)SFÌ úÆn•jh`:t¡*Ïž=‹®]»âìÙ³ŠÌ}ûöEãÆB¨† bçNCk…éÓ§£F€°s ÁIPƒkc+€Áîîî0`&NœhP8tèP<|ø}ûöEžJòw´lÙ²¼sçŽ8æ‰$ëº@¿>$ÚF’‡–ͯ¿þJS¸ÿ>½¼¼ øÇŒÑ[òÆ3y¦Žé)< 3fŒA¾¾¾|üø±I¹.\(ë‡dšæúþè©-042 ú$õ»oÞ¼áøñãY¦L«Ç¾\¹rœ:uªÁ†%ɧ$›º@ÿBN5‘€€€³4üFæ_š‰”m¨!’K@ˆ4|øpÌ™3G¦R†–-[bÖ¬YÈ‘#‡¬lРAèÒ¥‹Áµyóæ!::?ÿü3‚‚‚ €S2õŽðÈNýÑ`?œ„«þ×|ùòáØ±cèÝ»7–/_nÕÍíÚµÃâÅ‹‘&MñÒP{"©S(×®]“T­j:Ipp0òæÍ‹ëׯ믅……aäÈ‘€ð!„\¶ t¹.ŒÍ) *„¬Y³š¼QIæK—.¡T©RÇFy4؀ܹs£S§NŠeÏŸ?ǶmÛËÚ´i#  KÀ§!e¡?„<6ˆÇâÅ‹1zôhDDD$©’Ó§OãôéÓ˜1cÆŽ‹Ž;ÂÝÝ=3„èuƒa¿à®'­dj‹Ëµ"EŠh'VR‘"E¤íÕV{5šÂ(€äL’ ¢÷ìÙüyóšÕy®\¹¸uëVšCLLŒÌ”A¤ÀÀ@N™2…ïßø{E‘A2 èE#Cò#ipLÕ¨Q#‹ßÍjÕªIÍIaw+³ ôçC"7’1$ùã?ÊÆÈh§P†5jð—(QBZ\+rµ+)X° Aõë×7+Ó‹/dý?~¼X|Êtþ!гƒDòìÙ³&ç†GYºÔN0R õìéÓ§¬ZµªÝÞïêׯϗ/_JŸ‰¹$=\ Ïv#g`èwß•œ²ëÕ«‡´iÓš­àÔ©Sxðà]„)[¶,rçÎm–çöíÛvsHFùòåÍòDGGãÏ?ÿ4¸f¤+íØÇz4°B²*¼|ùƒÆÒ¥KMÞàáá~ýúaìØ±ð÷7ŸÔ×ÇÇ}úôÁþóYÙëׯñí·ßbÑ¢E˜>}:6lY‚‚« €M6öKƒ}QÀj… 22]»v•í:+áðáÃhР~ýõWqW2'€ :BÈØ¬Áñ €·|^¿~-+¼ÿ> ,hòæû÷ï|Ö…„!¯ÐzèïŒOIÛ´$ ì–ë mkÐàÁ˜n¦?è§F¦©uÖW¯^eúôéMŽ·‡‡‹/Î:pêÔ©Ü¿?÷íÛÇ)S¦°]»v,Z´¨ÙàFY³få­[·(Aè¿]È=‰ë[aàƒa ã~6 Wr+P»M%h'IBU;ÈÝàÉ“'øâ‹/‚G”Ýüüü0eÊœJR£ì\öÀ+..C‡E½zõððáCsúôé±nÝ:lݺY²d‘•?yòMš4ÁÀ É–†8ÁŽ_ƒcq|tá¼õ1b„bÖì/^ [·n²¤wµjÕÿ}àn2dúºùº^½zïß¿G÷îÝçûóçÏcÔ¨Q×ÜÝÝQ½zuñã®dȤÁz¼ðÒ½OB=±fêykGy5Ø^ü6ÝŸ?ަM›âåË—ŠŒ-[¶Äƒpùòe¬\¹ß|ó jÖ¬‰ZµjaðàÁX½z5®^½Š;wîˆÖ 2DDD I“&Ò÷ƒeÌçCH)pÒJ&¸4kß¾½¹““°p‚‘Hò …ˆ"’<,8ðã6É$w“’&l#ÉW$Ûº@¿S3µ•"OOO¶iÓ†£Gæ¤I“سgOÉøräÈÁ7oÞˆUͳƒ\«HòÕ«WŠí±gÏžœ4iGÍ6mÚÈNT ?UÉëúþÐiiõ ÆW£¤ÓHRHÂZ»vmÅ1Μ93ûí7&K—.5yÒ°aCé»Áo. ‡d“³òµÖ³gO™b×­[gq`,,0L EغÀX·n쾞={JYR•óÈ—äQAÑÑÑìÑ£‡Ù—ülÙ²Ù41Xƒ3gÎðóÏ?·¸Ðhذ!_¼x!½5ŒdV'êíC#?Å/_¾|9ýýýÇÇÛÛ›“'O6vâÖcΜ9L“&â½iÓ¦å¢E‹ŒoYFÍ$ÎQäNòI^¼xÑ*³E%Z³f8V‰$?±ƒ\ÕtuqéÒ¥6Éäçç'5¯üÇt­¹˜Ô©˜òS8bÅŠ&7žž½C*[¶,¶lÙ‚°°0ôêÕ wîÜQä Ã'Ÿ|‚-[¶ X±bЂyW*Þ¤ÁVä°@)@øžõìÙÓä÷¸D‰X½z5Ê”)c²Â>}ú víÚhß¾½,û{tt4ºwïŽÝ»wcÑ¢Eâ³Ö‚9\sÊ…[‘àGëK–,‰ 6 $$qqqVW0vìX´mÛVü8À ;ÈuB ‰^_}õÂÃÃ1nÜ8«oöööƦM›P¸pañÒDsüœ7Ë,R0ºð‰‹‹“™+‚iôºuëÍe­Epp0Ö¯_Ò¥KËÞû~øá´hÑ^^^úøÖæ†\N\ÍDòÄC8yòd‹«>¥ [ÉÖ [ÉšŒÉ“'Ëî“$~ŠpÒ¥ÊM]¦\q¬Lí(`xäÈ‹c`O¼yó†ƒ R4{) €[¶l‘Þöž‚ÚúM-T“B"#’BrESaŠÝÜÜØ¿‹¡M¥ˆåwß}gÒ/wîÜ<|ø°ô–§:™ÔÖKj#7’›D%. ¯ÔDü™MOOOÙ)U›6mdcS¦L鏨ÃÁ[¤y$™˜˜ÈbÅŠÉÚmÓ¦ ÝÜÜ ®yzz2::Z”åµpÇ"ùìHò8mÃc’£If³±ýJ$õΟ?Ï€€úúúÒÝÝnnnôñña@@?~,m÷*É26¶Y›BøûXú›@!àM{j ^­¥å¤0—Ï^^^|ýúµ Ã`‘‘‘²pOOO©æ\@/6“3;L’¿ýö›l¢íÔ©“ÅHí ŒN:Éî“8#vÂø¸:¥¡ÄQwÛ¶m&õ]¢D ‹¹UvîÜÉV­ZqÔ¨QŒ‰‰1Ëk/Lž<Ùl<ì%JðÆÒ[¾£úzOID]^’¼rå såÊer*YÀÛ +V¬ ŸŸŸb›¹råâ•+W¤ìÇIfWQ_©‘6’ä±cÇdú/\¸0oܸ¡h¶¸mÛ6qLbì4&ÙuuqÆ ²ö<<³óø®]»¤mÆì—„öjPˆLi€¸¸8^»v[¶lá¤I“Ø¥K~ùå—>|8çÍ›Ç-[¶ðüùóJÁ)^QØt©ää±KitŠT~G-Uª”±Ní¥ÍÉ»ßЋÍä,'oÀŒ‰”RVcÔ«WÏnιEбÈS¢D |ýõ×vi¯B… y”t ™HéQ‚éPi@ˆcÿÓO?)2véÒsæÌAš4iLVöã?bôèÑ€ 6àСCزe‹â³iO|ûí·(Q¢Ú¶m«hwùòeT¨P6l@íÚµ`„#öÑ,u €Ð™?~Mš4‘fAÖ#sæÌضm>ýôS» ѱcG/^7FDD„AÙ½{÷PµjUlß¾•*U€OœP€¤‡`ó¡¡2€‘¾n‹½{÷bÓ¦Mغu+ž>}j±oooT©R @Ó¦Máîîî Á䬀cú8gâvO¿;­!›s=pôèQ³m^¾| 4@ƒ °`ÁäÉ“ÇÀ,Ïf'/‘¦ú<@mñB||<6n܈ٳgãĉV/FóæÍÑ¢E Ô¨Qzèh„\Q÷,Vôá¡„‡‡Ë ÌýH.>þøc\½zÕàÚõë×Å?qXÃ΀W3ëIòðáòÕZíÚµ“ºèKuPŠ·,q]OXª@Þ޵õGÄ[¶laöìÙéîî.Û‰lÑ¢…YÇÆÆš4U*_¾<Ÿ>}jö~{áìÙ³ 4¹–&M:tHzË$ª?®L©s¦%ÉíÛ·3mÚ´Šº-X° ¯_¿nõXÙŠ[·n±hÑ¢Š2¤M›–Û·o—²?&Y4ý×H ¬¢B;tè ÓûôéÓI’—/_–™&à_ý%ÞE2c2äȨ«ƒ;wî”µãææÆË—/“$§OŸ.+ïСƒäÑ`mЫ3Ƀ‚Yˆþè!""‚½zõb@@@², (ÀY³fIMQIá·å{ ¾R9ÜIêc†ž8q‚3fLr›9sæä?ÿü#mOi. ¹€º°Æ¤`:óóÏ?3gΜÉês¦L™8|øpcóž—$¿r±v% •3pà@™'MšDGaêÔ©²öúöí+Ç«  »‘3’çΓ)³\¹rI“T‡råÊÉôrîÜ9±x ]àaq2U"yYT@dd¤,Icš4iô/ EŠ1k#ùüùsÖ¬YÓìd\ºtiÆÆÚbîšt8p€>>>&e äéÓ§¥·t¤úc⊔‹BÒK’ä²eËdö³"}úé§ÉŠ_žTDFF²Zµjвxzz›j>$YÈD5²ŽšŠÊTZÜI#zµhÑBV^«V-éxŒN†£ÅJªT©"kGº¢´áV´hQ©’™dNJLƒ¢££9nܸd/,Œ)]ºt1b„±iì Ñ A!*Ù2±ààÁƒÉ’!((Hú[N’}%}®GòŽXðòåKöîÝÛlTD[e˜?¾±ÉØ ‘·ÔwW OD¥´k×N¦?#“7»bÿþý²öZµj%e1^ü¦rfc3I2<<\¦ÌB… %i@R#”Â*†‡‡‹Å3é‹“(-É”dæþã?˜5kVʼnÓÛÛ›þþþúA%„‡‡›ÜM6¦qãÆY,;aãÆfÃØfΜYš:ŠÂN½ÚããJ”•¤>Ù„ Lê²yóæRçY§!&&FѱX¤ &HÙïQ°9W[¯)•ÆBölã i¦nž:uJq<$þÏ)ì,'U†Ý½|hÜ”ÞÞêúõëÌ–-›â½ 64ûêÕ«üøãÍÊ–.]:Nœ8‘÷îݳØß„„îÛ·={ödúôéÍÖÛ¸qci8TR8-KÊóžÚ(’$§L™"ÓÕðáÃ-êÞV(%Ÿ–ø|¤è$ËÎl¬¨1%é>}ú$)‹njÁ»wïØ§O™><==¥l}苃¨…*’ —9“LŸ>=—.]jV¯¯_¿æüùó9{ölΜ9“Ó§OçÔ©S9iÒ$N˜0ãÇçO?ýÄü‘£FâÈ‘#9|øp>Ü8‹®Ãqÿþ}¦K—ÎlŸúé'‘=‘d}ª?njQ öÒ$ÉîÝ»+êËÇÇGêÏe°iÓ&“‹ÞnݺIYSpxU[ß¶Pz’IÙò{I2$™mæ+kݺµL·sçÎ¥ªW¯.ã5²NÊÜ«ÿkÖ¬™¬ÞêÕ«+Ê0wî\¯‘‰Ddê¦uf[Vâ ÉbÉlÓZ 6xàÀ³Jþþþ;v,ß¾}›„nüááálÞ¼¹Ù96K–,¼páIeG_@pšþ÷ßÅj(lŒ£`¾ªwš;uê”ÉpÕcÆŒ!I:tˆþþþ&åñðð`Ïž=mö‹ŒŒä Aƒèíím²‚ êû¬Ã> ÁUÔžCÔ ³¤r˜ÚÐÐP›ÆÀ(m0¬[§/°×ôb39³±/EeÈAña/Q¢„ñÞªqá–(QBQ2d²~IxXìL~l]õÛ9ëׯ·hÎÔ´iS>xð ZwM,Y²Äl¿=<<¸ÿ~‘ý1ÿµÇP Òϼ˗/WÔ•»»»q”&—ŸþiÒÝhá<Šêë;©Ô‚’ˆ^—/_æ„ ئM,X¹sçfóæÍ9fÌþý÷ßÒ¾&2yI¥ôoyóæ•éÕ¨-=vïÞ­øüH|ŸnÓ:ó!///^¼¨¥j÷îÝTÂßÿ-ãÍ›7¯”%9'ØßH+:zô(GÍÏ?ÿœ9sæd¡B…ÊI“&G;zC²]2ÚµZ®íÛ·›ü>¸¹¹±GÆÉëlÆŸþiò7üÞfΜ©XæããÃ#GŽˆU½#ÙÒ¨O>”øolÛ¶MÑÇÎÝÝ3fÌ0¹ÀºuëÚí](<<\1¨H~Aò„¨=¨ASIÁ4ÛxÜrçÎ-=a¶âããe¦|Òä¯Ó]@/6“3 5¦YC$___Κ5+)c”"1kÖ,E³(‘ªT©"eOîîž«Q-’zG‡ˆˆ¶lÙÒì v¦L™¸zõêdéÜÕ¡dnüÒ!qTÞEõÇÑÙÔQìüùóçMžL:Õæ1p”v­ÅùOb¢O²*Õ×»µÔšº ƒøøxŽ7Îìî©››lͧ—mO%ɧOŸÊÚñòò2›L³B… ²{¾üòK)Kg+Úï,2+™ìU¨PÁdû111ôòò’Ý#ñ½²5Ly?±‚·oß²wïÞfç___Θ1Cj“@Á_ÆÞÏI3]Ýé÷À!8~ü8ƒƒƒÛÏ“'±u@C+ú™šÈºÁJÁWòåËg×SŒ¸¸8(P@ÖΜ9úC°×LÁÞ¤snŽE ’¦™{¹Ìš5«t’Mñ 3å!sæÌÆ‘b)è,5Dw¨Cò–رÇ3$$Äì]PP7lØ,§4,Z´È¬N|}}yëÖ-‘ýÕWg;%ññM=75jÔ°ÛÀ­[·LŽÄ|&Yˆ‹‹SŒ4€Mš4‘î$§„D›I!b–©>™£òåËKÇîï$¶íAÝK«’Ãd=ÌŽCbb¢b$§ž={JÙZ›i_ï0Ñ­[7Y=%K–´è¬9I´Õ×!©‰ÿŽÂÉEáÂ…“<mÛ¶•¶m/;ðì$äíÛ·™#GŶ›5kf³¯ERqêÔ)³f¹ÆA?6Ѻßco’GIáùjݺµ¢ÙœHÅ‹wšéoDDË—/¯(GÉ’%ùü¹Þ]çÉ@+úššh*IFEE)&94 ¾,(£È™3§4ä|ÐG²HF?"©ÿ…~ðàëÔ©cò‹çææÆš=âvuÄÄÄpàÀf'˜:uêO0W)èJõ‡$™$ËRºzõj‹YQÛ·o/µCü ðÙgŸ™ÕMHHˆ”½:ÕcGS±³“'OVÔIþüùíú¼8cA’/^¼`‘"EÛ‘8ö“dWª?¦H{ÕTØå|ùòñ³Ï>ãgŸ}Æüùó+ò 6LÚߤD3*%ÞÔ´iSY½¿übn@kÖ¬‘Ýçãã#“Ïšiÿ,)œ@*™ ¬Y³Æbû¿üò‹ì¾¦M›JYê%AµÅ›úöí«¨ë‚ ²~ýú¬W¯žÉÜ k×®•¶oS½y¤éÈÔ n:uœþ[ÿÏ?ÿ0wîÜŠòäÈ‘CºØI¤Ø3ÉÏå“'OLò(_¾¼Óë"##Õ€a"H ¹:Ôž_œI%IÆ‘B$K%ý 2Īf¦˜˜È!C†(Öm´¡ZÆô‘,R«á´”$™ILLäĉíPE*S¦ŒÙdj®ŠË—/³L™2&ûåååʼn'?°¿PБêH2©.%Y–=z¤]ÅxBw” jJ)3 )Ièþ8;’Ò¼O’W®\Qt ´ûÜà¬)„ÒT2qww—f~N×V‘äóçÏeöôéÒ¥S<…ܾ}»lçØÈ¹:)§6z»8¥ð Ÿ“Pr¶„%4Rh»‘XØ¿Åy£ìÉŠ8{ö¬ìÞlÙ²IY†&AabÆ›ZÙ³gWÌJ¼~ýzÙ p† ¤/ûÉ}Ñ ¦.”ëÂ… ¿W*TîÞ:÷îÝc±bÅL¾PJ0›Ö÷Y±áË/¿T¬»F|ýúµ“ziˆ‡*šè²€•¨þãL+vÜ”_d«V­l:e{ûö-[µj¥X§QŽœ. ‡d“I¨ˆÈ§NBÛ¶mqãÆ Eæ4iÒ I“&pwww¢ˆ¶#11Û·oÇ»wïË ,ˆµk×¢|ùòâ¥çºøÃI": ¦è!^X¹r% €/^˜¼©K—.˜:u*Ò§Oï]:tÀêÕ«M–wíÚ‹/?~ à¬3äRÃŒ€Ž;bÕªU…ؾ};4h`×Foß¾|ùò)–]½zE‹µk{ûöíCýúõop½e˖ذaƒø±/€¹vmØ>x ë¾}ûP§Nƒ‚yóæ¡W¯^Š7­]»íÚµ3¸¶dÉtéÒžÈ áÇ×øúÁƒÈ™3§A¯¯/¢¢¢àééi±’%K– [·n×üüüpûömdΜŽ¨btÛQ•Ÿ4Ïž=cµjÕLÞ/É­B’˜Š~ËUÀˆ>¡.«sbb¢laÉ.ÝI©‹p]ŸÕÖ{r©…ˆ$…ÌÔ–Bñ(P@š8.U¡N:Ò›qþüy³ j£†Ô–+$/‘Â. ’Ö’%K’­ãøøx¾{÷NFÿüóI½Ÿ?^ñž¸¸8Ë ZÀúõëeí¹»»K“ ¤úã"¥¢`ß|óܾ¾¾!Cf6jÔHZlÍܨ]¯½jùòåæn„èèhÅHF÷tDR9rUÖ¬Y¥9k¬‚RLüzõêIY¬q|×Ùë#wîÜfÛOLL”åg0:½±å# É·$9bÄYÿ2dÈ`s¦jGáíÛ·Šþ8nnnRß·*‡ÎKÝiÍöíÛçòåË[å—ãLܸqC1/ˆ$÷C4]×ÌÞDò˜Øñ3gÎ(F”ÀŽ;26VÕ$bccÙ±cGÅ:ræÌÉ3gÎHÙRøÞ¨­‡d“ê(ÐRˆr`<¦²}º2)É)>Hc\@ßö ßÄ-Y²Äd´ ñeiàÀN CèlDFFÒÃÿÿþ»]êkÞ¼¹ÙçëÞ=ýº.%„2M •;¦”/¢dÉ’ŠGÒIÅÏ?ÿl·ïº‘3¨Í¨\¹²â™å¨þøHéIþúë¯2¹’w ""BÆ?pà@)K+Úî/2+E¦»té’E}C)|dæÌ™¥sÖ&ñÍ›7Ì”)“Œß–p–—.]’Õ“1cF)Ëp+ô‘–B‚FÙN¼»»»4¿… ×®]“µ¿qãF±8šÖe47¦QbJÑÒìöÓž8räˆâiKëÖ­¥l£)ïïr±P)£···MϤ3`¼A€õë×—²¤ÆM,c*II8ýM›6)f\wss3#mÆŒ£¸ièçç'5‡¤N†. d‘eÏ7ç#3™-Z“'Ovº@ÉÁwß}‡K—.\‹ŒŒDÆŒ]_SÞÀ™3gÌ:4)RK—.EåÊ•&˜³±cÇ$$$ ,, ­ZYë“i?üð6oÞl²<,, Ý»w€&œë£’ݨk =<{ö K–,‘öîÝ;Å{H*úöí‹cÇŽ\[³f ÆŽ‹ùDü÷ŽŽ,¡„‡‡Ëœ'ýüüP¬X1+ª0D¯^½0aƒ€Ïž=ÃÂ… 1hÐ h&^_°`ì·*C† &ÛÍ¡X±bð÷÷Ç›7oôמ?Žððp(PÊYQM4€«JVªT ³gÏÖ$&&bäÈ‘פP?þXü÷€8«:bˆ:péÒ%\»vMVضm[ªt<ªT©‚o¾ùS¦L1¸¾aÃ\¾|%J”€žP¼×€;wâäÉ“²zG%Þërhß¾=¦M›fpmß¾}xñâ2dÈÍlRC6'¡!€ß üŽbÒ¤I:t(H0ùúúbùòåøâ‹/’ÜÀÈ‘#Q¸patîÜÙ  ÃÛ·oÑ¢E L˜0ßÿ=ä…T"@˜ýQj¯pè7RÈ8 £U^ãÆÍ/]7–õãøñãbñoT_ßö 9¤à˜lÜW@0 ûþûï ²“GGGóàÁƒ\¾|9ïÞ½›l=» Ätùòå³[æÌÍŒrb´£úÏ‚=Èä]’\µj•ânÏ«W¯ì Y×<Áˆ‰‰QL@:oÞ<‘å]Ëg«)˜›}ôÑG2¹ëÖ­Ë]»vñæÍ›¼yó&÷ìÙ£ø!gΜR§è½´.¡Ù?¤à³g\_µjÕl%‡û9rähˆ‰‰aöìÙe|£F²¹]%[m‰ÏÞZ7kIÁi]É´£yóæÜ»w/oݺÅððp†……±víÚ2¾êÕ«KEëgeÛRò"ùΔ>?ùä›õä ¼~ýZñ{ئM)Û—üÿ#^üä“Od÷åÍ›×*s5¡¶vÙ²ebñª?×8ŠPwòk2ÐPPPôýÍf?~œAAAŠmtîÜYúœÄS8¥U[?6‘ê(Ð_$¹mÛ6™â¿üòKëFÏ… ÿzÛ¶mbñ_T_ßö I¤Õ¸¯éÓ§Wtz–š½dË–ÿýïmÖ±« 66–„˜îö‚ÒwA¤€€éKYj‰&U\ìÐW_}%ë³=B]qA’ƒ ’ÕodžáJÇç驳;?wîœÙ|FæÈÈ™$wR°‡6Õn:êxxð`)‹9Ûl/’ãIêmCCCm Þ¼yS¬&‚BÂÔ¤>zªU«ÊÚpUó()”{º»»K#@âÿuÿˆ$ÃÂÂuºbÅ •za=”Àµoß^Ê’êÏ7ö$O ³I ÙÕ«WW¿%JðÖ­[ÉQ¯nݺÅ%J(¶U½zucÇñy:YÕÖW’Èm 2Ê&RjÆÈ¶J2Kú–ò:¤ŒhH›6­¬ }úôbu=Î;‡ è??~ü5kÖT>'N”•÷êÕK4µ J2õÍÔÃ_ÀqycÜ#""ШQ#¬[·Î&9¦L™"Í3¶™^–ÿ1γ7¶E4§¢OŸ>Èž=»ÁµÄÄDüüóÏâÇrr£´ €´LR¥J¡}ûö•ÕhÒ¤‰ìÚ½{÷¤í÷æ>ÒC0?ê ÿüó*V¬ˆC‡É?ûì3;v yóæµ[ãyóæÅ±cÇðÙgòéíСC¨X±"þùçñR/;¤³›N€+.02‚Í«1RËCÒ·T僡´À0N@HeôãÈ•+—Ýò÷÷GÖ¬Ye¤K¬¦ˆÌ™3+Þ`7¹tÉÕ ðìÙ3©»ùÌNÎÇb«Á–ÆŒŠó%„……¡T©Rؾ}»x)+€]&ð2bÿ^øÎœ9#«ËRò+KýôSüùçŸâ¥zþ«“=e@í#zG’Æ “ÍŸ¯?ÉJ1P:F6l˜XüŽêëÛÔ‡’Ê÷5]ºtú¸xñ"3dÈ`ÀS¤H³ÑMRNŸ>mbÇŽv­ß8Ç€”J•*%emKõŸ‡äÒRÙ OŸ>mšƒy0¤PŠè€ýõ—Ȳ…ê“1ù“Ô+çÆ¬U«–͹‹zõêeêõÉB’öþ •£/¥OŸÞbˆ\k ”›¢hÑ¢,Z´¨ìzRsn(!11Q1w$òÐ&þ¿ÿYHn ¢££Ù«W/›tíææÆúõëûÃ¥m¦Qß㨨(Y{ÉÖ•³Ë}ºbä2OOO©ÿu²W7Ó?—!Õ0¢´¢³àúõë­'—‚R\ûîÝ»KYRCli½Q¼quooo™N¢¢¢8cÆ æÎ›2dà¿ÿþ›tźŒcÎÛÓV“$,X`öáÑ£G"ë|ªÿ<$—6’äÎ;ûꌸùj/0Þ¼y£Ø¶d³eËf.è u¬‰àe‰æ“Âé®± FÛ]>TÜ]¾r办'""BÆ“%K—Kªg eÊ”‘õSò;R7°ÜHê£ ¼zõŠ 4Pü~äÌ™“gÏžµ“6“޳gÏšLì× AãŠhŸïªCÈÕŒõ ˆ“7:½£Å”쮥ñžÏŸ?‘#G"11žžžRG ’2dˆÁµo¿ýÖ¤S¶­(Y²$üýýM–_¿~]ü·0tޝ)‘++ðóósº0j!Mš4²kÈ ] ›Ð À ¶ü€0'Ž?ÞêŠÞ¿!C† nݺ¸ÿ¾xYŸ‹ÂÞÞÆ:t(<<úÈÉ"þ}ôþþûoÅ`&»víBåÊ•qëÖ-ñÒ}sÉFWK´§w û@œ¼ÔáèmvñîÝ;¸»»c̘1˜}ªÈ…F9Q<Ó0µ¿|ù2*V¬ˆM›6¡J•*€ñ0€¦pµßµPŒH=[¶l²ã¡·oßZwÆäBxûö­âµ¡T_ïÉ¥OÅÎ(%ÚZ½z5 .,»>pàÀdëWMÌ›7Oæ7a‡µ7|øp“fÍš5“²Ö£úÏDrh$IÞ¼yS±¯K–,±BÍ@m©+V(¶-ñGXMõÇÉJKïĉ'ÍNBBBذaC³f>:uâëׯÍo²dÉbÇ‘páÂEgu777^¸pÁîíeÉ’EÖÖéÓ§ùúõk³ðóÏ?WLÎééé)uC2;Ö5ÅÆ||| dñõõµ»ÎÇ+>¯×¯_ç³gÏdŽÂÙ³g7iìªxõꕬ¹rå’²ô¦úsˆµTžäCQð+VȞÔL>>>ƹUèú¬¶Þõ¤ºF¤ÃaìX—'$ÆŽÏ^^^Òâ¾T_ïÉ%}£Ê•+'éK2bĈdëW (9ýeÊ”‰QQQkS)`€HÅ‹—²¦ôgê+RðÑñððP|¹t4Ô^`tíÚU±íçÏŸ‹,ã¨þ8ÙJíÄNôèÑCÖG///þûᅵ3gÓ¤IcròçϯxÆ í4 †hÖ¬™¬-£…½Ý ´ÀêÑ£óçÏoRiÓ¦åÂ… yþüyÅa£„}#éøq.(6–;wn™<Ñ#Q«V-Y?æÌ™Ãŋˮ÷ïß_mq“Œ .Èúa”4¶ÕŸ?¬¡VÔ%ÿLLL4»9—ÒiøðáRŸÏ·$[º€þAª `D£HåUtpp0S*‚ƒƒeý‘8ꌢúzO.;cMÉ7nœ=ÔìÄÇÇsüøñŠýptfÚƒšÔ¡¯¯¯t·l6Õ&’CõÄŽTªTIñÅÒÑP{Q°`AY»ÅŠ“²4¤úã”:Fšvøþâ‹/H’W®\aÙ²e“4ŸŒ9Ò# lj'dm8qÂ!m92I}._¾<¯]»FRyq,Ýü¸K2 ?Æú]Á™Lk×®uˆî ¥°óMš4QÔùÑ£GÕ7ɘ9s¦¬½zõ’²HÃD»* §.tðÛ·oÙ²eKÕަ–-[J-|u:P{\Î# ì‘œì¨j#cÆŒxðÀÐ4îÙ³g¢]cÊs,‘ì†%Œ1~~~0`€]…²'.^¼ˆ_ý«W¯ÆãÇeå5·ß~ëP”l™EÄÄÄàþýû¢ßB‡ âxü á™JûÅ_àøñã…7oÞă“Ñ¥<|øPêS£‡Äžû=€ƒÎ”Éàèð-Iì@ð1øþûïññÇã¿ÿý/Fމ)S¦Èœh•`Oÿ )*T¨€zõêé_Õ«WÏ®ÎäRXÛwww :£G†——öï߯˜`oÚ´iÒ Ã8ÃË:ÀSYªU«†M›6îÚµ ¡¡¡NÃ~hÑ¢úôécðîß¿_ædŸ+W.TªTÉÙâ%{öì‘]«V­šøïcò‰Éuà!)dGñÂÎ;Q°`AY [°|ùrß¡ * víÚIªcß¾}~gY³fEçΓ- ôµU«V€äe€¢ºGKqÔ^áÑRy§¨fÍšL©¨Y³¦¹¯5T_ïÉ¥@±3mÛ¶5¹ÊNŸ>=çÏŸÏB… )–ÿòË/ÉÖuLL ¯_¿Î}ûöqùòå3f ûôéþ}ûrРAüî»ï¸hÑ"³y*>|Èßÿ“&MbïÞ½-î +VÌ8tœCðìÙ3³rHÂ8ï¡úÏDri9I>xð@ÑÜcìØ±vÓ«Ô<Áøé§ŸÛýçŸD–}T|ìA;IáT°H‘"²þÖ«§?È"I8p@ÑÔÆ˜>|HGáÀúv8à°v>|h±Ÿyòäá¡C‡ô÷$&&²|ùò2¾òåËK«þ›Î kyˆ$O:%“+[¶lvçí ”,YÒâØ´k×ÎrE.†ØØXúùùÉúrÿþ}‘eÕŸ3LQ ¹‚¸¸8™nfÍš•äzfÍšeP‡ŸŸãââ ±G˜ü|66“Ú…1í&•lµlÙ2YZVJGt;wî‹wS}½'—<ÅΘ²¯U«ïÝ»GRøñTJ åîîÎU«VY­×ÈÈHîØ±ƒ#FŒ`­Zµ˜5kÖ$e .P ‡ ÂgÏ„¤žW¯^eÍš5“TG•*Uœ’ø^ ”|D’d–=FõŸ‰ä’>ý­’ÙŸŸŸô‡Ïî¸sçÓ¥K§HŽL ùðáCÅy#;èÔ­$ËRgʰråJK‹f’ä‹/ÌnbäÈ‘ÃVÕ[*Uª°J•*o'GŽ&ûÙ¡CÙ¦ÆÚµky·mÛ&e«LçŽqRXDÈd;v옵æxtîÜÙâïÂÔ©SÕ3ÉØ±c‡¬ùò哲t ús†&y…dŒ($Ož<)Ó$÷”Õøë¯¿dõœ>}Z,NpP®ètäô±QûÁ0¦Ó¤òM=,ž‹BÉqåÊ•bñiª¯w{Ð{’²Ì˜ÞÞÞœ8òtËQPÊ ?hÐ ±8‘dÕŸ/œMÿ’ÊA]l R!«GrrÙúkWR]#ºM*æ°aÃ,ž‹bذa²þ̘1C,¾MõõnzIf¡-^¼8Ï;gR/çÎS|qôööæž={dü7nd‰%첨P¢àà`šåÉœ93»víÊððpËï˜;ž—d/¾EõŸ{¾CJÙšÝÜÜxüøq;hÕ5pòäIÅEsûöí¥l©þ¸Ø“ ‘Œ#MŸbìÞ½[Q_wîÜaõêÕ xm:çLŒ;Ö o5jÔàÝ»wy—-[¦¨;ÉéÅ;’y¨ÎÿE*ïÞzzzòÎ;vÒ˜s dÂm>¾¾¾„[ÇÇܹs±råJ\¸pOž<ÁâÅ‹‘?~‡Éaæ½%ކ¦S~§,,ð~úé'YßIbÀ€ ©†lvÇÀe} Àäɓŷ¬r²XŽÆuË mÛ¶(R¤ˆŒaÚ´iŠ7æÎû÷ïÇÏ?ÿ¬O@ç(o5 öÅËË &LÀ¾}û¤‰ 0uêTÅû›4i"~œàŽc$µˆµP«V-Ù¼Y³f©"”­(]º4¼½M'´.T¨41]Š€dŽÑ£R¥J(^¼¸øñ§ ä¨%þsäȃ‚’%KÚ\©ñ½ÇŽ“~¬gsÅ®µW8ò—p½zõ’­¤—.]jrEèêXºt©¬?F¡ß|¨¾þ“K×Iar×®]&uÍž={šÜýiß¾½ÙÑ™3g˜={v³;F9rä`¹råøÙgŸ144”}úôáÈ‘#9bÄ~ùå—¬U« ,hu’   — 1ظqc“r÷éÓGd{GõŸ{QˆØ©%K–(ö{ùòåvЬº0e?odËý5ÕGP0…gÖä)†d'U§OŸf±bÅøôéSkÔ"ðôéS+VLš\Q»ví²tzñˆdÕߌԙЎ7N&g`` ÓüØì…råÊ™œ‡Û¶m«¶xI•+W- $ M_PH©ö<álZF*'|•üÖ&J§ñ¢*SGÐ=©.€„ôÞyÆÇQ¸eËKãæ²Ø²e‹¬?­[·–²8:£ª3è¼%=œ;wŽÅŠ3y¬<~üxþ°°0úûû+òûùù±sçÎ<|ø°¥f Á0mÚ´ŠõzxxÈK] J‰žDêÞ½»”Õ“ê?ö¢ ¤àä^±bEÅ”³gÏÚA»êàÒ¥KŠþ?%J”F¹Gқꅣh iÚ£[·nõèl(gÀš>Õ­[W¦/#ß‹!T|·‘ä£Gd‰g𫯾²MA*ÁÜ&ÙäÉ“Õ/I¨]»¶¬™2eâ›7oD–™TÿùQƒn“Ê›óçÏ·YßJ¹T~ûí7±ø åÍ¡äJ&RzS¡ÈÈHYaj3‘2êcj0“zkª€$¦OŸŽŠ+âêÕ«²r???üñÇ6l˜þÚÞ½{Ñ´iS¼yóÆ€×ÓÓ3gÎÄ£G°lÙ2T­ZÕ¸ºXf5ŠqÞƒ‚‚°qãFDGG+cܸq¨S§Ž©®¨c}Ha‹=µ˜I@_/ÜÜÜ0wî\¸»N[¯_¿FÆ qûömU„Kîß¿ àÅ‹²²Ù³gÃÓSŸª¨'„ü©“¼÷ððÀСCe…«V­ÂÓ§OÍVàããã ÑÔƒ¥>?{÷î•]1b„øot&h*ãWÈ–-úõë'+\¾|¹±©ˆKÜ)^¹råœ(Iò°nÝ:ìÛ·Ov}øðáðóóþÇÞyGWQumü¹é !!¡‡HéUz‘"U@šRU¤ H)Òx•&ˆ4‘^,€‘.E¤—Л ¡÷Bêóý1™|“ÌÜ´[æ&9¿µöJfæÌ™=ûÌÌ=uo©¼ÔÚzÙ%€cÇŽ©V¬X1Ók«xöó¨–éÌm ½[8 i*7áªT©¢jáY#z®¥¸~ýºê~ªT©¢LÒ”úÛßTÑìöòä [¶li´·‰½m ÿ¼~ý:óäÉ£9Ê¡áÆö0Éy$?"Y™É{î(ù€nÃÄ…¤ÇŽÓŒ«€:uJ™·Í¡åyK–Có¾Ôÿ™0§ô‘oLk %–-[6KM‘ 2ê´ EY~Oýío ÙDJÓ(µÞÿiÓ¦™bîlIïÞ½Uvòõõe\\œœäê_® Ô+{‚”ž{­ò­ZµªRo›æÜ¹sF¿ÃÁÁÁz«—.ÂÂÂ4]!-ZT9r¶Šú?;zHÒ©Ö7:(((³fgPP*¿š5k*“ØÂˆ£YÄ–"y‹Œ¬Í+°‡´8Ê ðññÑ(¼gÏžEåÊ•1jÔ( 2íÚµCHHˆ*Ý¢E‹Ð«W/y3@¦¢S €pßpˆŽŽFÿþý5õ(UªV¯^®Õ“ÈH£E)G0r[\ë²@O-æÎ œ>}:Y‚›7oâÝwßÅÁƒåÞ·Tù÷߀àà`#$$Dóopp0HÂËË ^^^È“'æÿ^^^(Y²¤æB唼~ý:tÐtZP±bE,]šÔixÀØ43Ìü »««+>üðC,Z´(ÙÁ%K–`ܸqÙr¤"3<|ø[¶lQíïׯìííåÍeVUÊ80ÀI///øqã’XÒhÌÂ… ñùçŸë¢`F(\¸°æ~'''äÉ“ÇÊÚdމ'âñãǪýÓ¦M“ß±êáÄœA3¸qã†ê]¸paxyye:c///.\Ož;wîÌ ¤ù,fVòçÏÏN:qÞ¼y›7o¦@bÚ´i*ûØÛÛ+ŒÞ¢íÍç^CJ£TEŠQéïèèh³6”DGG}÷³¿üò‹¦þ•*Ub||¼œlõ^ôw’á$9a•ÌkG+ÆÍÌ™3åï™MÕ뮀B&‘dDD„Êðžžžé*4[F+(”bÕ$êoKH ¦Xü½sçÎT§ùh‰§§gR´m’LÿË÷‘|Ò… èè訙¿5‚s™ WWW£vjÕª•2iv­˜&…¸té’ft`üøãyèÐ!NŸ>-Z´0ê,ÀâîîÎwÞy‡Ó¦Mã4oR§CЏŸÙ€½­-IîYêÕ«—¥ßUK£å0#E'ÃÔ¿G;vì“DSZ¦wyjÉYÉ>}úhÞGÆ cf«™___•ÞµjÕÒ[­T eÙ²e5mþå—_*“6¤þω^rŠ$>¬²‘»»;###3iýÿ'""B³êïï/'ùÉì`²è®€BÖ’’?ó¬öÒ¦‡Zµj¥ö0­¥þö·´ä"9…‰S\H2<<œ“&MJµW¾hÑ¢ŒŠŠ’OYŸÆ5òPêá>,Ÿpùòe*TÈhþ'NLOñÙááá©VRß{ï=er=ýÞ[ZìHúÉ7ºhÑ"ݦJŠÔÇHºØ€õ’e$©9ò»lÙ2ætƯù­TLoÙLýËј8S‰fHHßxã Íwbذaæ7œÑrFÓ¢E ½Õ2JBB‚æÔ¬\¹2£££å¤9¡>bL*ËFèß¿¿ÊN~øa&­¯¦{÷îªüG%ޤTŸÑÛ&‰Í-òÎn ¼eÒXèy§E$€i"‚Îð‰»»»ÝŒ30hÐ Lœ8ëÖ­S-Àž9s¦Y;Æœå0ÀŽòγgÏ¢U«V Ò<©lÙ²˜0a‚‰·e=R[à ùò%=F Œû³Íú$èà€ŠC‡ÅÍ›7U‹‚ÓÂÎΕ+WF5’lçÉ“žžžª¿ƒ¡¡¡ AHHHÒÿòßàà`œ?/^4êÌÀ~ø!&Mš$oþà=¯3”Iöb €nnnèÝ»7~øá‡d7n܈꣙ µ¸»ÿþJζ²¸[‹h8èééé°jÕ*´lÙ$“%Z´hj×®Þ½{ë¢dZh-ôµåÞ_ý5üüüTû±víZ9:yrŽS -@tt4~ûí7ÕA…““éÑ£6oÞœlߦM›ðí·ßÂÞÞÞ Ò;²ÐlÔ½[8 9E’7nTµêzõJšveéÕ«—ê¾sùNQû[[*“LòûüùólÞ¼y’}ªW¯Î„„ùð2#ù ¥i”¤´ þ?þ`‡èàà`´ÇØÑÑ‘gΜI³Ül‰Û·o§Ú >vìX9i0õ/_kHI’¤4í®M›6©ÚÇÁÁµk׿˜1cèççg’«Ac„„„pçÎ7nëÕ«gtÝ,5Rö’,cvµ9N’GŽQÙÌ`0(2ç8N:¥ù,ݺuKNò/õ/¿ôHÒÅ矮yO®®®¼pá‚9Íg6:uê¤Ò7E°S›a÷îÝF¨üïÿS&EýŸ ½Ä…dIþúë¯*;,XЬn”£££5¬îÝ›äçº ØÄ$Ñ]…Ü&µ§;ØúPiz6l˜ê¾-Z$¾Mýí¯—´"yIi«;v°B… ʈڱ$K¤8ÏžäJ9ÁÓ§O9nܸT§CÉbooÏåË—§Ud6Ç¥K—R½/ÅÅê_®Ö’&L\kF•]Æǽ{÷2<<Ü$ûg†ÈÈH8p€S¦LQy’sttT:/ˆ"Ù •ûÌi2””ŽÞÞÞª2ÍjÑ’ÍɨQ£TöxóÍ7•IFSÿòK¯¬!¥r6/©D‰é 0•~ýú©týâ‹/ôVKE@@€fEV£óvsîÂnPá@Dk*Ùˆ#2nü40`€ê:}ô‘2I–Ž‘fK‘¼ó@`` ú@6"¥¸×¬ƒ™g/¤È• EàÆ»ï¾‹Ë—/+#j¯pGqŽ+€?ô€€€Ô¯_sæÌÁÓ§OS½˜»»;¶oߎ˜÷.¬@jQ¼dÏX¨Å•±þ0"§ŒÐîææ†Ù³g£eË–pw·~ps7774kÖ S§NEÁ‚“‹•§ÿÀê±9—`oo6mÚ¨þñÇVWHæõë×xýZ¿lþ©ýÓ®];ùß$FÍÎ"| àœ½½=¶lÙ‚2eʨܹsÝ»wGtt´õµK…¬0E*$$:uBpp°êX­Zµ°råJyó:€nâ­¨ž-a€§Ož<ÁîÝ»U Ì9=J¦Gª}[·nUÆ›jö‹Z[YƒáÀȱk0fefªl‘ofëÖ­trrÒ´YåÊ•ùôéS£vR>GŽáÔ©SÙ¨Q£4½ºÙ’8;;³iÓ¦œ9s&Ož<™ês!ÀâÅ‹kæ—+W.:tH™|ž ”·ÞÒJ6Æ­[·4Ÿ·-Â!CT×uuuåÝ»wå$A$}Ì|ïÝH”N²µ".¤³˜l—€€Õ}-ZT™¤õ/[•”zçøèÑ#£™pÚ´i+˜,Ääɓ޷2ÈÖ ê_fÖ’¤îÛÒ¥K«ì’âUWNž<©ÒÏ××W™d õ·§­ÉM’¼zõªÊvùó'µ-“8qâGŽI‹TúœœœX°`A,XÐhå×TñõõåçŸÎÓ§O'»·¸¸8º»»«Ò+<‘M°ò2Ur‘LêQܱc5íT¶lYÞ¿_õ ä•+W8vìX)RD×F‚9¥X±bœ4iÿý÷_Í{¾qã†ÑûÍ;7=ªL¾“RÀR½Ë[Oqe¢÷Òøøx6hÐ@e·|ùò1$$DÓÞæäùó皦Mš4Q6,’t° =Ì.’°@š[wwwÕbÖÐÐP³ÍMÔ‹°°0xzz&Û—+W.¥g ¼% ’ã à€Bhܸ1Ο?¯™ð«¯¾ÂôéÓ­ªœ59r$.ÔŽ»ãíí­t0Àš ³èðøñc)R$Ù+=5éJ||<¼½½Ukinß¾’%KÀA͵ÎÍÁü`P\\ÜÜÜT‹/oÞ¼‰ÈÈHlÞ¼[¶lÑ\x›^ÜÜÜPµjUT¯^UªTAÁ‚áååoooxyyÁËË ¹råJvNdd$‚‚‚Œàà`áéÓ§¸xñ"Î;‡Ë—/›äqªT©RèÖ­ºw„T«V-ÙñB… áÉ“'òfkH^ù²:yìPþúë/¼÷Þ{ˆŠŠR%,V¬8€R¥JáùóçØ´iÖ®]‹sçΙ¤€““J”(2eÊ L™2(Uª<==áîîwwwäÊ•+éwwwDDD"""™ôDD‚ƒƒqûömܺu ·nÝÂÝ»wUÎ(2JݺuñÑG¡[·nðööÆåË—Ñ¢E ͵#yòäÁž={P§Ny—?€f‚êådf!1xïœ9sðå—ê8¾ .Äðáí¢ÌìÙ³1~üxÕþï¾û£G–7çøÜ* ™½[8‰ò%IFEE©ZpŽŽŽéoÚ8ZóQQQòá/©9Ø¢,‘ ¤å›Z–ñãÇg´8²ü±Ñû/S¦Œ2iê_nÖO’Ñ$¹páB•Mš6mj‚µ-CûöíUzΙ3G>œÕçÐ[BºÊÆ)_¾¼ÊvyóæÍTo°›››7oÎ1cÆpãÆ¼~ýºrÐlÄÆÆòòåË\³f GŽÉÆgzäCë^ß~ûmåå ë\Væ”Ü$È7vèÐ!ÍÑ,\¸0ß}÷ÝT«¦&Å‹ç‡~ÈE‹qÏž=¼}û¶Yª¥$66–7oÞä®]»¸`ÁöìÙ“¾¾¾™ÒÝÉɉ;v4úx{{Óßß_yùc”¾›z—¯Þòã']ºtIó|óÍ7“‰ÎQQQ,Q¢„Jggg^¾|Y™´kïU7±)/RZ.j1{öl«+d U=p/_¾”{^³¾«,óS’û8¬\¹~~~š‰¾øâ |óÍ7ÖÔKRó–•ÂfNñFÖ €SBB‚æÈNÓ¦M­¯Q4oÞ\Çàûï¿Ç¨Q£àèèhà}‹uQÎ69"ÿS®\9\¿~=ÙA­ß cxyy¡]»vèÔ©Zµjew§¨T©*Uª„>ú€4š½k×.lÛ¶ »wïFxxx¹HhÝk¢2xÄ8BÙ„pH#2hÚ¤IìÝ»mÚ´Q>yò;wîLW¦ƒ*T@£Fиqc4jÔ¾¾¾fW>5’FF”1^îÞ½‹#GŽàŸþÁ‘#Gðï¿ÿ¦™WLL ¶o×v–?~ìß¿UªT‘wÐ’·ÆœLu[8†††¢GI®§e±nÝ:8::ZM)¬_¿7NæA-::Ý»wDZcÇäY0«\pÓjÊe½[8$Hî'É .dªŸ•åÂ… r«t¢-ô.[{’çIòÞ½{Fu:”9…&Mš}ŽZ¶l©LZšú—Ÿ5ä$Iþþûïš6Ù¹s'ƒƒƒmJŽ9¢©ëºuëä²»D17:¥DÚ”Ò<˜ûöícll,mׯ_sçÎìß¿? (áû›;w®œÕ~ê_N–W’In$OŸ>m4*µ1qqqa§N¸iÓ&åz›çÙ³g\»v-Ûµk—áQ¯B… ñêÕ«Êìv‘t¡þå©·” ù„”Þ½ÆkÚï›o¾ÉD‰™‡éÓ§kêÔ¸qc¾~ýZNv‡YÀó¨Þ ”¢bA×Î;u¯ð[[vîÜ©|¶Î&ÚDïr±%åwÞÑ´]õêÕ­:„©7ÕªU3ú}ðÁʤîÔ¿ü,-]ä›ÕZœ—Õ¤ZµjÊòëcöµ%¹J’k×®M—-Ë”)ñcÇòĉéò¼c+ÄÇÇóŸþá¨Q£4§JhÉŽ;äÓ—Pÿr²”8“üS¾ÑóçÏ3_¾|©ÚÅÙÙ™ï½÷7lØÀ°°0Ó ÆæêÕ«Ù¶mÛ4=a)R$åBðß):/A²¥Š9ãããÙ¹sgMû5iÒÄ"Ó%ÓK||¼Ñ†OçΕº…Pšê¥·]ŠžïA2éÍß¶m[†{&²ƒxyyqÛ¶mÊç+,Ñ6º?:Š/ÉpÒxìy‰ÙcîðÓO?•“EPÿò³´82ѻЩS§t‡Í%Ëð¥ž[½íl+²“”z¯Ù®zõêœ>}ºU¾ Vi¸œ?žS¦La•*UŒÞ·"ÎÏ7Ô¿œ,ýÎÿ.ßìåË—Y°`A•=Ê—/ÏuëÖe(¶ˆ)qÈ!ìܹ3>|hµkþôÓO,Y²¤êþ‹-š2öÓf1ÏC’÷˜X§HHHà Aƒ4ß'ooo‹Æ¼H/÷ïß§···¦Žƒ R~biñLô¸¨É•²u¢££9|øpÝÜõ–áÇ3::ZùŒ­L´•î‰ò#)-†3Ö“§X›cH­>nÜ89ÙÔ¿ü,-I1Qºuë¦û»k.iÛ¶­²¸ÇÛ€mE~ ɰ°0•Í<==yçÎZ‹Ó§O³V­Z¬W¯/^¼hµëÞ¾}[XÔÉÉI¹yõ/'K‹AѾúê+Õó`­¸7 üé§Ÿ˜?þ¤kçΛßÿ½Õz¿G­ºÅ”9RªCäôé–’I&R}³gÏžšßß\¹rñĉ™( ËpâÄ æÊ•KSמ={¦¬/Φ jµö"ïJ¶¨Hî»uëÍÄööö2dˆÒ>Ëóøñc,Y²$Ù™ï¿ÿÇŽÖ-[PªT)è €n®XWS]q‚tÏØ¸q#îܹ£JРAŒ3ÆÚzé I„††=îåå%ÿûÂ* éGnSàþýûøý÷ßuVÇ|ìÞ½×®]C… É}â úje<€Ü¹sÃÁÁ!™‹O/^Üâ büøñøé§Ÿ@P³fMŒ9S§NU¹¯57%K–„½½}²}Ê}Æ?Ù‡8øûrÁ?ùݱ(þþþøì³ÏpêÔ©dûÃÃÃ1|øp¬_¿Ë—/GÕªU-ª‡Ö½¦°ÉX U妃 `-€¶ŒN:áðáê„NNNغu+êÖ­keS·n]lݺíÛ·W-B߸q#=z„mÛ¶É¿ýãTÐ@°õµÕÆš Œp€_~ù Py„)R¤6n܈ÆEËÓµkWôìÙ=Ró÷÷G5°bÅ |ðÁ€Ô; `$ã„äÚðJHHÀ¬Y³TsåÊ…5kÖÀÎÎÎúšéHxx8ŒÿV(¼HYÞ5޾Œvî܉Š+f8ƒ+W®¨ùeË–…««kªid ƒÒ3 bbb4+;™©`ìØ±C®8x˜ À:NØm›Xˆ‹‹Sň‰‰ÁªU«ðÉ'ŸÀ`0˜ýÂñññXºt)¾úê+'ÿÝŽ‹‹Ãwß}‡_~ù‹-B‡Ì~}@ê\øùçŸU÷ž".DNh`‰“píÚ5ÕA…W-³„‰'bùòå©~‹OŸ>·Þz £FÂÔ©S-æ­Lë^Sؤ€£¹¸íÓÀf¾€ä¡«mÛ¶šßi;;;¬_¿-[¶´²ŠiÓ²eK¬_¿>)Ž’Ã‡£Aƒصk—ÜÉÒÀY\´º²ZXa˜Äƒäy'**Êèü7YÚµk—¥¼=d”ÀÀ@¶k×.U 4H#ƒ”lèAö²°l#¥59Zvùá‡L1}–ååË—©>/k×®•“>¥þeh)ñ!iŠýüüT¶sqqI6g;>>>Í…”Iécbb˜'OžÔÊ$³Ä0çxKMÆdxx¸ÊÆr9Õ¯__é‘Ï,9r„U«VM÷·Ž;,YΟ?Ïzõêíìì’]ÏÞÞ^™ôê_NÖq¤ôÎiŽ(S¦ ÷îMr:eâãã¹|ùòLÅ\)^¼8wíÚeV}Hé÷±X±bšS|JýËKù‚ÒÚ’äöíÛ®g°³³ãŠ+2QÖeåÊ•ª÷_oooúùù)“¿"ù!õ/‹70j11;Iþûï¿©~°9oÞ¼,åù#³$$$pîܹ©VdªV­šÒÄmJ6ÕýÁ±x31pÚ| ²G©R¥tõî 'qqq©þ}÷ÝwII™}çÝ&­ÝÊ šÞg¦L™’,ÝãÇÓ¬8¤x/9oÞþ<Õ2±··çˆ#L^àûøñcöîÝ;ÕItwwçܹsMÔÂaÆÑÞÞ>Ùý¥¼žÂ‹Þ@ê_NÖµ$yåÊ•TË¡k×®fY¬ºuëfêYPJ·nÝøêÕ+“õùï¿ÿضmÛ¤| ƒêZŠÅæßSÿò²¦Ø1q½)¹¡:t¨Ñ2É•+WÊŠ¹MóçŸ 6 €£FJéUs>u^—aÉÌ«21R"I®_¿>Uã”,Y’gΜɼõ³(gΜÑô¡üÁZ¿~½ò”J¶Õûe¶„ &¥CîܹU¶X¼x±‰ÖÎÚ¤õqQP€ú—eFÄRtY’e¥É7÷ Ôø|‹R»fâߺ$lL²)Év${RêñÞNò¥l°°0V¬XQe·bÅŠ©~øOž<©J—²#ààÁƒÉΉ‰‰a¹råTç•.]šAAAʤÑ$¯Q©›C²ÉÖÒ&ñ~Þ£äU­%Öe)ù?¯œ(¥II´Ovõs?„”<«¤§2W¨P!nذ™!$$D3bxF¥víÚ Ï”k×®Õô¤Õc¯pÁ:ÖL¶¶uñ'É-[¶¤Y¹råâœ9sLve~úôéT]„§%åË—çþýûMÒ!**ŠS¦L¡‹‹K²¼µzµ#8¨yYKœ)uÆ$oܸ‘jg¶Ï;—ùщ .¤õ½V­Z Pžòu,KfÞM¾ÃO?ý4Õ°[·nVs+g‹„††¦é Gᆔ”l«÷ m 9N’;vìPÝÞ¼yiÒì˜,O‘"ER}‡T¦þe©%Ž”üv&¹†ä’ÉæZ‚—/_²M›6švûí·ßTé7lØ,MþüùYªT©dû~úé'Õy{öìѼFóæÍ­9å3€ä/”¦ 4aöht|IJ#à)mk,'6mÚ4S#Haaa>|¸Ñ) iI‹-T#\éáòåËlÔ¨‘Ñ|===Uûž={&ŸžÝÝÔ‚Rõ+’œ€‘=‚¯¯¯ê`… °eËTªTÉR×Ï’\¹rݺuÓôñðáC)R¼q²¶n¦5€Ý€äÑçÖ­[É€ä IÁ(ê_žJ‹ “†Ý.]ºÄV­ZÑ´– .\¸PÓÆ+W®T¥Ÿ1c¿ýö[Õ~cÞG–-[–éé5æ¶jÕŠ—.]J©Þ*f½žwH©‡?­û.X° ·lIrZh6îß¿Ï÷Þ{Ou½fÍš™c!¿Š7& â@st{ãÆò)w¨9YZÆ“R°´ô~Cš4ib±€ˆ!!!4h sçÎ͹sç2666í3ÁÉ“'Y»vmÍ÷<åBo婃©¹YJSrj¿þúKµ>E–V­ZññãǦ€ óäɶnÝZóÞ½¼¼xþüy9i<Éj´bY2óã$ùÛo¿©nºk×®f2mö%å4 Ù|ñãÔÿå6·¬"µ¤ï¿ÿ¾YlšÕùè£Rý1}ù2iMóRê_ž deâãã9gÎ:99éZé¤ÅÚ)œ&$Ê¢E‹ªÎ¹}û6}ú(ß‹°mÛ6úúúÒÇLJ›6m²èµ“½óZÓ§† &'O ™‹ú——%e=)uT¤õÜ/^œ¿þš´æ×¢œ:uÊ*Ø„„®^½š… R½ã)ï_á.y1õ/7KH^’I©‚mlÍEß¾}sŒWÒO>ùDÓEŠQ:29L+–“%3¿O’ ,Hí£(0°aÃTv[° ©ÎvŸú¿àæ–Ó$¹|ùrÕ}Ïž=Û,6Íêh½KJQ̹¼A}Ër¼¬H@@6l¨{EÛÞÞž½zõâ7ŒÚ·oß¾ªóêׯŸt¼Y³fš?`Ƹyó&{öì©ûh6lØ0¥w‘”¼wéýÞ§%e…µ¼t¹ºº²D‰ü믿Œ–ƒ¹ Wzo²8{÷îe‰%4ôÖªUK™ô-ê_^–”ó$¹iÓ&£Ïy®\¹8cÆŒ”1¤²aaa7n\RÃB«#c÷îÝròCÔ¿Ü,!I‹2¹¢íÖ­[ŽrkgtmÒ¬Y³”Iß§•ÊÉRÛ11Ðɘ1cÒºY³fÍRÙm̘1òáXf¯X’á¤öÇbëÖ­f±iVçèÑ£©V"'Ož¬L^˜ú”eÒ Ã­[·¦ºhÕRb0èããÃ:pÆŒܽ{wš^œŒv\¾|yRšµk×j¦Ù¶m[ªy¿xñ‚»víâôéÓÙ¡Cúøøhú¯·´¸»»§|—èôŒdD†“dpp°Êf¹råâäÉ“sÄtÛÈÈHŽ?^µ€ÕÑÑQY™îCýËËRbÇDs“&MÒ|ç{õꥌ‘í¹uëÛ·o¯95Hé9õ/;KÈ9RZt¯5‚Ó®]»9­:::š-[¶TÙ#Ož<ÊÑÝ»$íi…rr€e(Hy?|øPuÐÇÇÇB—Í>hÙHaKH6~bE•,I1îðòåKÕÁ2eÊX[›¤zõê°··G||¼æñƒbÚ´iòf›¬¤šLËàôéÓèÙ³g²ÅÒ2ööö¨R¥ êÔ©ƒ:uê P¡B™¾ Á`€‹‹ <==‘'OxzzÂÃÃöööéÎcË–-øøãUûk×®¾}û&m÷êÕ K—.U-´ïÞ½;Ö¬YƒnݺiæŸ/_>´iÓmÚ´IÚ°°0„††&ITTH¦[xñ'OžÄÉ“'qñâEÕsž={âàÁƒ¨W¯ -úÞàt¦/jyZÀ©S§T¶©Q£†òyÏÖ¸¹¹á›o¾Á¾}ûàï?66gÏžEÆ  1€Õ:©hiJp¤…í)Y±búõëgmt¥téÒðóóÃüùóñùçŸ';¦°QþDyaeõ,I%Õ`êÔ©ªEÝÞÞÞØ¸q#õÐMWœœœ°yóf”(Q¡¡¡IûCBB0kÖ,|ûí·€Tߪà²Å²PË%iÜVkzD ½ öíÛ§²[Æ •I²SDïwå›êر£ê¾³ópwF©R¥ŠÑjGGGFDDÈI—ÓúåøI>zôH5OX–âÅ‹Óßßߢ6Êß}÷æh‚³³3¯^½*'‹"DJœ´z ƒ²×PwüýýY¼xqÍ2(P €Ò½éyZ©7+âÈÄ‘ÍiÓ¦©îã‹/¾0¿ál­©³ß~û­|ø)uŽÜkAé(ßdÙ²eU6¸uë–‰–ͺœ={VeÚµk+“4¡þågN™C’AAAšÓ¿þúkÓšÅÑú^º¸¸0::ZNÒŸV(+;ó4ST$ù#™CËF\¥l‰Q£F!oÞ¼Éö½~ý÷îÝ“7k[CK50|éG÷Ñ£Gªƒ¢‘6Z6züø±ò£¡.’uIšÏ’rJMÊgN§V­Z©?xð üoX·:€áÞ½{X½zµê`åÊ•áççooo+ª¤&22“&MB¹råðÛo¿i¦ùôÓO1vìXys €•6ø¾øâ |úé§šçþöÛo(_¾<&L˜`4n‚µðöö†ŸŸªV­ª:¶qãFe¬™÷­ªXúi HÇŽKvÀ××Wžæ•£xûí·US >¬œ&ò®Õ•²àƪJ¥V;'áææ†âÅ‹'Ûû÷ï˛٭‘Pu¸â߸»»[]![#wîÜèСƒj¿¢ó+ë70ž={¦ ãââ’2”@///UÏ}ll,ž={&ofËFÊŒœüáE€õF1|!÷ÃܹsUï¼½½=~úé']çÄ’ÄÚµkQ¶lY|ýõךkC`À€øñÇa0à G.à‘Á`À?þˆhæñúõkÌš5 eÊ”ÁªU«`æ»I?ŽŽŽX½z5’/·‹—çã@'(ÞAÁÀ‡€´F&,,,ÙÁ.]ºÈe”£°³³Ãûï'o¾|ù[·n•7ÕµŠìAE@{ýEÅŠÙ­þœq´l °Uv3; ÝÀÐ êœSÑ\Õt IDAT²…¢ñ¦5t°Ô"ï"€öô¨Â… [è’ÙÂ… ãÎ;Éö=|øPîÁÊNS¤Œ60íé9•˜˜ØÙÙ­´úûûãîÝ»rV4š—÷8ÐŒ@újcV*ÒÚ¦”#¤ã¤ð$U!µ´YëÎ/;Xeq«%.â é'@aSWH¶Î$=‡¢a³Š,9ŸÄ@q¶ôL,Óyã7ðÃ? Ç—?‡i±³ö<'m^h ` €( >øá‡ðÆo˜]s“"°¥-,ôÎ` -îV‹¤N`` r±÷HdŸÊX’)=&d5"##•nI³Ë: [øF Ò‰%Ö`$­ ÐZ„#06õ¤“*æ$ÉÇb“&MŒFª¤Ÿ•ýŽIj*¸À;(ÈöE;;;Ô¬Y-[¶D‹-P¿~}¥7«XKÌ@æ#ÝÆ˜àgsôpvvÆ!C0`À?~û÷ïÇ_ý…³gÏÚܳ¨Ü´g$©µiÑ9Ö¬YcõñY5kÖ GPÀpߦ~F–À¨)Aê\½zUvø!‚”ذh‹Ý B3mì$—™Z •™ÇÃÃÍš5“7ÛØ­£:æâSH=eˆà Äy»€íÛ·ãÆ¸DúqttDP¨P!*TÅŠƒ‡‡GÊd ~0ÀfV¡:€ÞMUǽ{÷ðìÙ3<}úÏž=SÆ/Ð…%J [·nò¦¤gE/<ÜAö™Õ›¥µ;¡ *:ó– ²ÏïœÞ”GÖo`DCê$˜ŽÙGRb‰ @ @CÉé=f@ ÀŒˆ†@ @ 0¢!@ ̆h`@ ³!@ Àlˆ†@ @ 0¢!@ ̆h`@ ³!@ Àlˆ†@ @ 0¢!@ ̆h`@ ³!AÆx@½•@ °U $õÖA È*”pÀ<SõUE`aÊx+ñ¯€»‰r'ño”Nz @`óˆ†@>‡Té| (€h]5X‚®†hœFºÃ¾° €øˆ @ @L‘ÒÇ,H @š"Õ[G]æÇÀN¿"Eã"$$AAA)Ó¿ `€¿±‚~@ dĆ@6­!õTû®¨¬:3SÒˆDˆˆˆÀÂ… qêÔ)\¼x÷ïßøúú¢jÕª¨S§FŒùüF>þÑAw@`=Z¨žÎ´' }W‚‰h`©SÀEžLÔQ °yDC ø VCêéÄ7ß|ƒýû÷k&üï¿ÿ°cÇys¤IAÖ¡4Ü¿/_¾49³˜˜\¾|YÞlhr†S˜à$ ÝäIqÜ@ËÄã×t±‚Nõü`=¤x:Z¿½EŒp À\HŽÖg3€;F¤gò”J>Ëͨ¯@`“8è­€@`CÌ€T!Á?ÿüƒ©S§¦šxþüùèС õxõ„Ô8d ŠÀ… Ì–¡¿¿?jÖ¬ Í–© #¸ø‰ï0Iœ>>Õ“þþûo\¸pÕªU$—µ«-¬§À|D€«««Ù2Ì•+—üï³e*H/oØ lÛ¶ C‡ÅãÇڟ̯¿þãÇǰaÃàìì ³ 5Ìí¬€•…E‹aöìÙN–èСCøî»ïàëë‹eË–¡mÛ¶€4ÒqÒ”»@3ë%HƒS§NaÖ¬YšÇ"""Œž7pà@¸¹iûy˜9s&*Uªdý›‡¤5d-ËkZš”×ÛcáëÍÒ¸¦Ó%Éݲ‘غukH—|ôÑGÊ2jf÷#$}òIÞ½{7Ýe–øûûËÏÁR¸¿œ$Î$¯ÊÆ_¿~=ÒUfåË—gPP|jÉ:fÔ«2ÉH’|ñâË”)“.œœœ¸uëV*8HÒÁìœSäo’ܶm›Ù¾ ²:tH.Óí6pŸBÌ+î$k¬I² Ér$Ýl@/ÝÄZk0­t쌰¡ù©à<€ÖŠO>ù{öìIw›7oÆ“'OäÍÏÍ®¡ÀRœ€¢E‹šeÃ`0àÍ7ß”7¯™œ¡ #LFb<šU«Vá£>B\\\ºN¼~ý::uê$/з‡4ÅÊ\¿‹?p‹‰‰A§NpëÖ­tƒ>ø¿þú«¼«)€1fÒI ˜‡ÂÖ{mpÒLHN.BZßəï\˜{ꢩNXkŠT$$$ yóæ Íéòÿûj×®jšÅ‹ã·ß~3Ëõºv튡C‡¦šæôéÓ&ùÔWb0pàÀØÙÙ¢aNŒ0‰ï€ŸŸltJ…1bbb°dÉ̘1æK¿ éƒ"°mVa00jÔ(|óÍ7&e6lØ0å©Ë©¥˜•|C† ÁÊ•+ <¤š»MÔ«$÷³U‚‚‚Ìv=¹q$6Ò&S’JðâÅ >›7oÎt†K—.Å„ àêêj€´Ž£€ŒÕrÖæ*€#M™2;vìÀ¥K—2•Q¥J•0gÎyó2ó|é¡'ãZÌœ9¯^e®þýóÏ?cÖ¬YÈŸ??ô‡é Œ/éû²zõêLe„ï¾ûNî¼Èà=›LÔK d޼ê•;Ÿ={†={ö ÏŸ?Ç‹/@ @P²dI´iÓ $G½!}·–Cª/¤]‘Í¢Xµ¹sç6[#»“;w2—ÛbÃ4ͬP¢££±téRlÞ¼§NJsVŽêÖ­‹ž={bàÀptt´ƒTé à;RÍ ‹bÕ)R€Ti~ñBxÝK¢a6ºBš^P=z„Aƒ)ãX˜ÌìÙ³Q¯^=ÙCHUü ©'SL™²MÎ@š»ºhÑ¢8zô(>ûì3¬Zµ*]'÷ìÙ+W®T®á˜ ý xæ ;vLè0SøùùÉ 7Hže2«*œåT­ZU9U¢0€¿ E„ I˃Ġ†EŠ19³ÓWLYx™ô{—¸vÂ$|}}åE UëÐÒ»¬%ë2ÏâTòéc>u $7Ó†€€Ô«Wׯ_7ûEÎ;‡zõê)½WŽÐÂìÒ‰ì2‚QÒªüæÞÐÅIÁXHBk2÷RØJx‘J›O!EX¯ W¯^EýúõñùçŸgÚ»Œ)\¸p7F=ððáCyweH~²‡X]! 4ìð?N±±±øòË/Ñ¢E‹ »(€çÏŸ£]»v9r$¢££©ñ2R#·¤õhsêׯorFMš4‘ÿ…i•ùËH\è¯È3Ó4jÔHþw¯É™ ÒC€§F$*ùD¦’Oˆõ˜'HžÂÃÃÑ¡C‹®~ðà:v숨¨(@úýX  Å.hE²K#7€ *;˜'ðEêL°’;íöš1‚‘n Ø `)€\±±±˜1cjÔ¨S§N鬚ŒïÍ7ßÄÌ™3ej.~€´¸+¯®Êå,:¸  ¹°nРæÌ™c’§’X¸p!êÖ­‹7nÈ»kCªüö2QgAêø@­ZµPºtéLgâèèˆ>ø@ÞÜÓ¾·OüÝ»w‡½½}¦3ªX±¢Ò=ºp  ?Öª3 ôãKå wïÞ¸zõªÅ/xæÌôíÛWÞ,Éãe–ÇZ/Ëk$Îik0ÒÂVqPÌë$£¤JF[¸sç6lˆÉ“'›ìU&£¸»»£K—.(XPÝùðêÕ+|õÕW¨P¡Lò^ÛŠ ¯Àb¸X )À‘7¬Y³Õ«WÇ™3gÌv‘ . fÍšrÀ6ð°ÒP»Ó8s«DÚÛÛcÊ”)™ÎdÈ!([6É ì3èµb¤ôïß?Ó™L:UŽ…à´ô˜†Ao¥4¤èÜøý÷ßMö—6oÞ¬ôlÙ ˜cu¬¸¢<˜$'Mšd¶Uø^^^,X°`ªâææf¶ë¹¹¹¥y=///³]oÒ¤I²w`½½بt !iÓ¦Mó•^qvvæŠ+8þ|*TH3½½=,X@ñ$g“t´›f7)Fò‚lèvïÞÝâÏA×®]¬,cJ^Íô¶Gv”oHÉK\Ÿ>}2\VõêÕSzs¹@󼇎$¯’dXXkÖ¬™a½ ¤|~–Ø€…?‘éö"5Ûô’1Y@’±±±,[¶¬Õë*T`\\œüüÌ´{˜$Ö¼Ø}’œ3gŽ®À¬$sæÌ‘´ûz?(6(#)UÌɾ}ûê^^J™}øúõk*8BÒÃl›]¤1Éç²q;ÆâÅ‹[í(Z´(9¢,ß$›Ú€]²›x‘|F’qqq8p`ºË¨`Á‚J·Ò±$«›Q¯Iÿâ½½½Ó¥“Á`àСC/Ÿ~—â»–8$>N¾Î*Òf.6`÷ì$$Ÿ’äÊ•+u«;¬ZµJ~~I:Û€]2-Ö¼Ø5’\²d‰î•¿¬"K–,‘´«z?(6&ÓdÃ\¼xÑ,¾æ-!|𣢢ÅE‹±`Á‚ª4uêÔá£G¨à EÌ sȧ$cH©Ò9mÚ4ÚÛÛ[ý°··ç”)S”½R±”ÇzÛ'»Ie*“û÷ïO×h²Á`àµkIaP‚Hº›Q'’Q$yþüùt=/^^^|øPYÆëIºÚ€½²“$52˜'Ožt•MïÞ½•å2ÚŒú ”3}ÿý÷Ó¥Kž*¢ð^»vo¼ñ†îï±ò9Pô–“Ro¨X—a^ÙLJÀô–‹½½=oß¾-—Écš§BfOò6IÞ¸qƒvvvéÖçæÍ›².Û€=õ–”ÉZç ¼zõ*wïÞÍ+VpêÔ©ìß¿?‡Êï¿ÿž{öìa@@€rš™Ìk’«™±©p#™8J’;wîdùòåSý]9tèòš¯(¨¦÷zuHú¥T<..Žÿý÷wíÚÅùóçsðàÁ8p §OŸÎU«VqïÞ½ü÷ßSžFJ£`?¬iá²Êêr$ÿýwÝ+¶mÛ&—Ý.°K¦ÅšÛN’нð²Š8p@~ȶëý Ø€|J2\6È—_~™i»z{{'ÍŠŠb«V­,^–¥K—æóçI38xåÊV®\Y•nذaŒ•“Ý&YÜlŸ¤É;²áŽ?žî9ïÖooo?~œ î’,aöË.r›$7lØ¡r80i°$™A¤a‘?þ8CºlذA>5”¤Álª‡Ô Ô{ŸT±‹‹ã8tèP)R$]¶tvvf³fÍèçç§’9L²J*:8&ê@Rj´¾óÎ;é.ÇŽ;¦µ\‘Æ=×'ù—ò„¸¸8nÙ²… 4Hw¯zÉ’%9zôh;vLëž·“,dåk‹òì]wX××>KGzSš ŒŠ1б·Ø[Œ5ÖØ»1F‰1–X#–ûÏ[£F£ÁÖh쨈D, 4x¿?fg¿ËÎì²l›ó>Ïûˆ3wæž{Îٹ圓óæÍ“üw‚ñ¿M–^ô¦9+Û .\ÜxE….\à;Ùf©;Š„ôp˜WDvv6f̘¡÷¦®_¿æd|üñÇl´¼yócÆŒ”kß¾=²³U¿«ÿø@v3Ám8pÀ¨ÑãŒÍ%JàÀlü@€ ôXÔéÎ+tüøñ…²‰ û1nK޾r( Œ õàÁXYYJ–ñãdz}£’ ôjN*| f`ñêÕ+Lš4 =w+VĪU«™™Éê÷-€I,Ôä°€r5 þþûoxzzºÎ2eʨ¯*„‰´ÙÀ(·þ\´»… ¢L™2µÙÇÇßÿ}¾ßp+}e`k9чWNaß¦à„ xqre ½iÎÊVÚ£þc~Þ¾}›ïdïkˆÂ/ Üp>ÁÁÁzë³\¹rˆ…Ì5ÈèØ±#ëð X¿~= E¾r={öd—÷ðŸO†&úY¹Ø°aC¡?褠••6lØÀvƒxd Ï¢ÌV¼24hPh›¨}Øn€ù›Œ1¢Ðr4hЀ•£· ôj.–3™ôöí[,Y²Äè+‘ c'qà8þ»¢ÀþÄéÓ§ òõ+Y²$._¾ÌÖ5„is]1ü‰ôôt|ùå—ptt4j›}}}±víZõ-cûøÊÀîr`^)æc^{õêÅÚÉRúÑ‹æ¬ìG€sº”ÚxE…ÌŒÚRw3³485ܪÅôéÓ úp R_® ==Ý`¿]8lØ0AÝ‹-”2d[ä0Þßíšè et:@KÛ…å¼yóX?!Gj½UN¸m%ú¬`•(Q‚ÝÆxú?o—àÉ“'°µµÕKfb± ôj¶³ ¹wï^šôÙ«Y³&;‰)´S¢Ã IDATà–Ëù‘‘‘°··×x¶mÛbÅŠXºt)š6mª±œ‹‹ Ο?Ïß6Ü t®òoÀ¹sçP¡B“¶ùÃ?d·^\ª÷i«‰•x…ôìÙSòß…ž={²6*²Á@ÌYÙwç¡/µñŠ SSU“÷ßIÝQÌÈ!`V-þþûoT¯^Ý =ÖªU /^¼€.X³fYlûÃ?êž:uª Ü¤I“Ø"“d`¹Ð\ò:äååa„ ’?¯úr„ ì^é'(ÞÛbLùc×®]ÓÛS§NƒÎzÈК¿xâĉzËqíÚ5þ6'e`3SÒ \8Ù\€Kp6vìXtTªT)„††bòäÉX±böîÝ‹ððpŒ1Mš4AÉ’% ¼‡½½=ÂÃÃÅ|ðï¿ÿjÜåîîÎaQaÆ ppp½ÆÏÏ/ŸœœÌœ9S§ 4???´hÑcÆŒÁÊ•+±gÏ„‡‡cÒ¤IèÖ­›N«= Soól¼ßXμ"äð[2nÜ8Ö62Ð^4geã 77W°ä? ©P(ØåÌ÷!n~YpqÃpËãß~û­ÁÛ]5jÄÔ Dnn®Á]©ïD“„1NŸÙjËÀVRÓ\ÞמּÖà’J† "ù³j,¬zE܇—9?öŒÍfàœ¥ Â;paC] ¬Oå¤9|øpƒìÆÊײ24â/š>}ºA2 >œ•ÁÐ\^Jë‚FÂ<³Ù¿ð•FGGÃ××W£>ììì0uêT6?@¡pïÞ= >\œ¥···ê=«ÉÑ×ÕÕU§ý³gÏjÜZ5sæLÜàÇÅÅE£<...˜p$¢ùD4‚ˆDDÏž=£Ë—/ÓåË—);;›jÖ¬I5kÖ¤Ò¥K³×ÅQW"º¦g½ŸÑ>"¢ÚµkÓ¥K—ôn€‡‡=zôˆÖNQ3/=LD­ÓÓÓ©L™2”’’¢· !!!tñâEþ¿}‰h‹ž·úˆŽ‘'àÑ£G*{ØÛÛS­Zµ¨fÍšäååÅ^IÜs– g½a -#":zô(uèв³³E öîÝ›æÎKeÊ”1¸Ò„„úüóÏéĉ¢çK–,IÓ§O§Ñ£G ÎÙØØÐáÇ©Y³üÝ!""‚©E‹ùŽïÙ³‡ºwïNyyyùŽ[XXPxx8M:•ÒÒÒDåèÖ­­Y³†\]] Ñ:qܹs‡&NœH=ïêêJ'Ož¤êÕ«ó‡ÖÑ`ƒ+.zXHD_¼xA>>>”››+‰”@ÞÞÞDDˉ{VŠ&Ì8šQ¥aßµkÜÜÜ$%Ê•nnnصk´“z$jd*Œ“×ââÅ‹¨Zµªäº77U™¾Y,]ºTPvÀ€l‘A2°£¹© ­qõêU­Î—E•vvv¸rå ßÌp³âRë]W–³jqçÎÔ¯__c[«V­ŠK—.A ô÷? ¸­•666ÛaáÂ…¬\õt¨¿_ØÁlllðöí[þ–KõÔIEOù›œ9s+VÔXgÓ¦MñàÁ¶ÝÁ… 7v?i åv¹ .hÜJV¢D üïÿƒ±‘››‹Y³fÁÒÒR´^Ñ`›6mÊwŸ¼¼<|÷ÝwP(°´´Ä’%Ku-^¼Xp»8ììì°jÕ*£·à~S4…w÷ööf“M\rC©ß'æf=¾ñÚöMÍFT ¡0@zÑ›æ¬Ì\vbœUãÆ%3¢\Ù¸qcõý·aš—¼T,nÙ••…©S§j|Ù¿ìׯÔ‘••%On¿èûb° ¸P¤¦¦š<ÚŠ” `ýðþuán€û€[¼x±N@+++|ÿý÷ìVÁ;Ðo»ÔaÀxy–|||••ÅËt@‡ú÷@ff¦NÎźɃtZ}øƒ }Œ7oÞ`âĉ:ewrrÂÚµkÁà*'#ö‘Šà"!&&F£u… põêU˜§OŸFéÒ¥Eë·µµÍ÷›Äokb1cÆ ÁuË—/”csÙÚÚj±Îý&Á™3g4nE ÄÓ§ªñh€`HÿN1'Púq-[¶L²÷ÿ²eËx¤óc“Z/zÓÜ–³ï277³gÏ.qëMM+++Ìž=[Ýqí¥Î$ï(F À((©îc J•*’ë^j* DEEAk×®”­Q£ÛGÊÀ®æ ¸h:€Î;›Ü&¥J•؃‡!¹Xte‡Ø(/ ÿ/ÝxagÍšUèöŽ;–Uñ*=êO€•+WÍ+W®Ìgv-uW2Iš1?L˜ú3Pxœ5üŽzõ*tÝj³è ŒÔG\¡Ìù¯1‰\‹-’’‚‚““ƒ#GŽ`Ú´ièׯZ·nÞ½{cÊ”)ˆŒŒÔÉ <99!!!ZßÍb@‡°Y[[ãÌ™3ùÊæææ¢S§NZxÍ›7WO†'Šììl8p_}õBCCѺuk 0Ó§OÇéÓ§E£a©ãéÓ§Û\£F Öñ[ŸmQg8À%:4GÈzuz{{³ú×ç=(+JUqp‘DpÎNf7¦\€sçÎA²RG’w#1À ¾qYYY˜2eÊ{½j¡ÎÐÐP¨#''GtKóãŸ.{±Ôö55U¯ ,0‹=¤`fÏžÍV;FvÐDpÑNpõêU½¶() üùçÿ§¾—]×úËó8Ðhú/[¶,»²²]Ký›îãOÓŒ¸>8p kÿ*…Ї¸èPصk—^u;88àÞ½{|ÝàrÎÚO¶ÜÖ¢zõê‰ÖÛ Aƒ?´ùƒ¥J•ÒÚ>¹\AHNNÖTÄÛÛùÊgffjÍêíçç§žÄÏž=ÓèÐ]¯^=AêÈÉÉÁ?üP`Ú²eËbñâÅ4’““Q­Z5Ñ{¨å`èéß/æd0¸Àغu«YÞó,çn ¬ IY¹?¸ì™€´´4ôíÛ·@£N:E‚º|ˆôíÛW=2ÆqŸ-Q pFª·çùóçdöWîtvvf÷\« rÓÃÃýAš);›’P&àºuë–ÙV;å0À°°°À?ÿüÃWû€ ì!Æn¦¶fÍšz·××חݶ¢õ÷à/ÒôѤ/™lë¹>©;J±GCX­Z5¶Ûõ+„>–\!m±~ýúlýS ì#ó7Ú¸q£h}5kÖ,påâæÍ›…~þ:uêT`¤gÏž¡R¥J¢×«åF|öÙgë3fŒ ¼¦opp0ÛçEqïÞ=2Müä“O L,ûäÉÉ ™d| (âÛtô *ŒÜ'Ÿ|bÔgZÕ|/~“ ¦ÔXøÊ#lÛ¶Mkè¶‚9A[ÖrlÛ¶-þœ.ŠrhJ– Œ pû€¿þúëÿV-´ðÐ!UôU’’’Du¶bÅ ¾H2Š÷Àw|C?ÿüs³ÙB "B×®]Ùª¿=Äxà>þ mïÞ½{ù¶Þ)Dý ##Ãèï—J•*±[mÖŠÔ½àf˜ídiiÉN$üT}<€_ýÕ`Çßãö‘ãç?%¶õ¤bÅŠÂÃõ†™ÕFoooüñÇZïÿøñcÑ8uêT¾²wîÜu˜.W®œ`5bçÎûÖ³gÏ´ÊôóÏ?ëÖßÝÝ¿ýö›Öû?xð@Ô'£J•*ìêÝþcNÚ@ùNKLLÄ|`ÔçZŒì·mŠŽßVJ.€’ˆåµûàÁÑGôÉk 233EÛP¿~}õh±àt µŒA ã¨Ö¹Ïž=‹Ê•+›ü!-ê6l˜h?K>õÁ°Ëàd`wSÐ Êü(±±±fœÊe€¡P(pýúu¾ê[Ÿ/† ”þ›7o6¸½3fÌ`Uí­£ ÇÎi×6رc/O6ò'TmEÚ¶m›Iêf‚:Dé¨ +(WT&OžlpýL4Ã,蟅]kvs…B!ð[`ñìÙ3´k×Î(úüꫯ4ÖpŽçbÁ Ê–-+HØÊ:oó|Èë:@ ´ß(”\†NT1érrr{ymmmQÔ`kk›¯ 666ÈÉÉa‹üÆÒ!%?ç€[µ˜4iÒ{·j¡o_oooѽ³šü~ÿýw¾ÈUØÞœÅ7pðàÁfµ¡\DÿœŽ2° K?^0MÉÉ ÃN:±m­¥CýPBÅB‚ƒÁÁÁ¬LìJ€ó)0FbP1.^¼˜¯÷5KôÀ_кukƒëŸ2e Ûv}·î¸8ÑYÿþýûC^½zeô@ “'OÖX,_¾\ô:u9“’’òí¶èÞ½»à^šÂ®_¿^cý999FdѪU+_‹öíÛ ®qrrÂË—/ù"!ý»Æœ´ Š¡m’盈pöìYÖ×”uKÝ~£PrD¸Ÿý÷ñQ%k-2ðññ´ƒY…Yéõm Z€›EW5,::ZãžÖâÎY³f齬­ö²Àͪ‰•mÛ¶-[¬ª ú±yàf5Åo7”–––°µµ°lÙ²;ðøøãE¯1•ˆ……bbbøêOÉÀ.,Ëð‚ 4Èà¶6nܘUµ.ù'‚øÂúDKÒ•û÷ïç«y neÍSù7"""LVo¯^ªÔ/PM}¨6rשSÇàúGŽÉÖ_RþQ Ê-ÐsæÌÜßÅÅ… šYYY& e?wî\Ñ:nÀتU+Á5j«‰€üQužÉ_8xð hÝ]ºtÑX7|ñÅ&i³¶Üýû÷E·Ÿ1Nò©ìPxûE–Í7üæÍ›& B ž> Ü;Fj=LÉá"€ c§nˆªU«¢¨A,y\||<z¤×·1¨ k”™™©sÌõâÊØØX|úé§z]ûË/ª(Îù MÊÎÎŽ]úž#ƒ~`LÖà6jÔ(“Ùª ÙÌÂ`îܹ&“³oß¾lUud`ž6Pq7¸ƒ *l;U1DM™¥nݺ¬\?( €pšªÞ *°õÐA¾|áþýû\ÿš5ªh·yÐÏ×Kµ'I,Àœ9s  C† 1™^‰òù± ±©GùÊeee¡\¹rê“=û…’’’4ÖkŒmmÚ¸`Áuýõׂò­Zµb‹t…ôïS³”>LŽX›O°±èââ‚dzº~€b0ihEòƒ'QRR’àDNNEDD˜] C““#8–””DþþþDʶ8%&&RÓ¦MéîÝ»RË#‚ƒƒ)00Ú¶mK¿ÿþ{¡¯ÿ÷ßE7kÖL ×¬¬,:~ü8µoßžˆ¨}Sx‰e‹žDܳ²nÝ:©e‘Û¶m£°°0*[¶,Ñ" •X$ÙDtŠˆÚÖ¬YÓà›U©R…ÿ3‹ˆþÑá’"¢””ºÿ¾Áõk¹sç(22’š7oND4Š?þ×_Ñ… LVïýû÷)%%…\]]‰ˆjÑÆ.yBDO‰È»Zµj×ÏØô*eèq‹nDDqqqtùòeÁÉÞ½{‹^táÂZ»v­ÕéŽÑ£G“»»;…† %___Z±bõêÕ+ßñÝ»wÓ­[·TýÔÖÖ–æÎËÿž«pøðaÑ~±~ýzòðð•géÒ¥4þ|}›£f̘AÝ»wçß#ùЧOúñÇó;vì%''ó2÷$¢ßL* ´hKD;Hù=³|ùr?~<åææš¼âÔÔTjß¾=-]º”FMDTŽˆ¢‰{Ï2¹¦‚Ô#€¿þúËä£F©ø×_ñ£T]2Ä®¸øRëVj~ÿý÷¸ýÆú\/–Ô V¯^-Z~Ô¨Ql±ú2è Æâ}Àtγ<‹Ê Q¾,ÁI—³÷xýúµ¨C«®´±±Abb"߯¿t¬û,=zÔäÏv³fÍ6×´ÇÞ˜d‡ÏꨓýGŸœ$<½¼¼ØÐÙóôè–Pn›?¾àþµk×èà¶(™rUˆ¥³³3»£@±`3jÛÖD!VVÛÖ¨7nd«ÂPÍÏ)Ä"&1«X!ý»ÆTep„œœ“®šÄ‘#G²¼rŒ•~ô¢ÉW0Š ˜¶—ŒL"¢%JèTxéÒ¥ôøñczúô)%''Ó‚ ÈÂBŽ]±ðèÒ¥ •/_ž\\\ }}||¼èñ>úHôø¡Cù&7>-t…òD5" ":~ü¸Ä¢È‘‘‘üŸDTIBQÔq”ˆ{þ-Z¤÷MzõêEÞÞÞü«7£¨ VDTƒˆèâÅ‹z׫+Ž?NgÏžUý?::šNœ8aòz™¶¸ë :)û†···`¾0XµjÙØØåÑ=nQ‰ˆì‰ˆŽ=*8Ù­[7Ñ‹¢££Mº*Ä"--†®ñüœ9sÇvìØAwîÜÑxÍÑ£Góõ"" š7ožhù¼¼<’ÖTìÓ§ÛYŠC¼ã¡|c´å+pttĺuëðìÙ3¶ýÅbµJ-¼&þüóO½ï¥i¶kÆŒ¢åíììØÜ*ßÉ ?Ê­päÈÉì)×ƶmÛx1NËÀNbì eâ;¸{÷.–-[†Aƒ¡fÍš „———Nmµ´´ÄôéÓY‡Gø €»²®+·½Òœ6°°°0{n&ÇyeÛ]üÊ|÷î¦OŸ®sRS/// $$ƒÆòåËÕ3K§Ãð¤ŽKñ€+V{´pãÆ Éž-ggg«*kÖ¬” ”ÛÅd‚χ§OŸJúa«i"«dÉ’‚²Ìw™}Bj„ra^^¦L™"™þ ËI“&±½·Ð-lµ¤”\5ª’&# ©\©6ã,¶ô_Ô¨1é²ç×ÂÂõë×Ǽyó®—¯‚œ¨P(Ôå´÷îÝÃÊ•+5^­Ê ô§ úƒ¡<¿þú«d6•ëcåÊ•¼·e`'M, e$#1DEE꙯[·®ú^äxm \-Ñ4ð.Nœ1cßö7Z+uˆEݺuu¾—B¡`ßb¸à#ôƒ5€øJd“&MD+>v오zf"µåCff&<<<å¯^½ª*óüùsÁ¯L™2êd¤žXSO ÈCìýÆü¾m2B¿‚ óùF¼~ýÚèÙÒÍÁN:!##ƒ5×<È+¢`>Ê-t*@trr²”r˜jmŠ]´Éÿ¡K$©¼¼<ŠŽŽ¦)S¦Ð˜1c€I…35Ú·oOAAAùŽEGGë}?M¹0J•ÒÀƒ‰ R]ïŠåƒ"¢·oßJ-‡ìÀDš±“RŽOD‰‹›œˆ^°'ëׯOýû÷×ùfçΣ5jÐÆùCþÄņ·"2O)©Á´ÑŽˆ§Ú¸q#Õ¨QƒÎ;§ó½ DõêÕS? "Š$.ŸN}"ºg ÈDD)DDnnn‚oÞ¼½ÀÓSÚÀŠË—/ý=²··§Áƒ ޳9z"""9FMVVÂà?ÙÙÙ´jÕ*#H¬?”¹U³»»;ÿgQ|);Ñ"úšˆ(!!5jD{÷î•V*=°oß>jРmr2qmsN*-z„£FU€æråÊI>Z4Ë•+ÇŽ@;É@ï†Rµ$#G»¸SÍ r?~¼à~€x„žß}÷[ÔU}®€ÈÈHÉl*׌ß~ûã” ìT–ð ¸->xöì™^Žºu놗/_泇®[®Š2½¼¼òµùåË—zùxxx°™¤oø @m˜f«îPHOOÈáïï/úl%''K®ë#GŽˆÊöèÑ#Á …ŸŸŸê¼zô4¼zõJô^[¶l‘¼oÞ¼•MÝéÜÂÂ999ü颿ƒáà2/ü¥K—àëë+¹î ¥···úVêËüd ï|”\5~Ák«¨‡,ÕF'''¶c|!½ÊF|c¤üø’‚bÉ“ M8ؽ{wÁ=àÞ½{¯Q +iˆc¦8Ð?Y¡1(ׯå˪ßÊÍ2°“>ü@.„‡‡ë¥???DFF>|(ù;À\|øð!nàíçç§×=˜¤iÐÒĶnÊW¤îìoee¥1Z^‰%$Õs‡DåÄÃ!ߺu /_¾øŽ1Bã}j×®-iÝÝÝEå ª nGš¸Ï“!T‘WvïÞ-yß2&íììÔÃz'(Û,µÞU”å©ììlJOO—Z“!==ÝêP¶H½æÿppçJ)PªT)Z½zµà¸¡Izˆ/Y²¤ÆkîÝË·£¡²AH‡DD¥K—&KKK‰E‘Ê•+Çÿù@B1 Á"ú…ˆhĈT£FBß !!Z´hA“&M¢¨¨(cË'[DEEѤI“¨E‹”PèëëÖ­K_|ñÿ߃¤LhBÜåÿPßÞ™““C/^¼\@DÔ AÓJUþøãŠ‹‹=*8vôèQÚ·o½{÷.ßñÞ½{‹ÞãìÙ³’oëÓ¤ã'OžŽ1É/‰ˆ„ä‰nDtŠˆ|ˆ¸„‰Ý»w§ÌÌLíW!deeQ¯^½èûï¿çùÑI"ê*Tjz„£ÆÝ¶u2!M”Þ ee¾1-Z´\ŸF¤« IDAT·æ"ÙE…¤¤$ØÛÛtßÞ½{ î ˆ‡{äéêêÊ'ƒ>aó ©W¯ž$¶•ã FPP+†©gŸMI(óÖá[ú†Á-Š4¤­–––¬Sï;pïlsØ:€¨CmDD„èóµdÉÉuýå—_ŠÊ–‘‘;;»|e;tè€öíÛç;æííÍFüɇÐÐPÉÛ'bàB¶ª—U‹èk¦~c¿2ÝAVVúöí+¹¾MÍÐÐPvË[žRRÛAv©Ç=ˆŠ·ƒ7äädòññ!*+ªi÷ecðàÁÔ¡CÁñððpŒºÂÚÚZôx^^žÆkRRR())‰w’üÀ ¤Çm"Ê%"Ëž={ÒÙ³g¥–GèÙ³'ÿg–PC‘LDs‰èGÞá›qà.Þ§@†´uÔ¨QìjÑ*"Š1†L:àÕsª=pàuêÔIpA»víh„ fOëׯ§Y³f ~ϨuëÖ´oß>Õ±'N°;ˆˆ¨sçÎda!Ü ’@»wï6Ð…@»víD8p@p¬I“&üŸq$ï ["ZCD}ùû÷ï'www7nœÁ7ß¶m›ÆU7}áåå¥q¥«°ˆˆˆàWØDôq;†”ŽùRpÔ¸Ž?.ùˆÐÔ<~ü8?ÚÜ'½J¾1%Ì3gÆ]S±mÛ¶ê¡â.\КDW2Dpo€›=Óvzò/ô Cù$$$˜=瑤mÛ¶ Ž4ˆÿó ÝÈuú”þŒ—/_6Y%̽« ªø@êC€˜0a‚ä#}Ss„ ü¨5ÅcFò9„……ˆàè舵k×Brrr0cÆ ÙÎL{xx`úôéxþü¹Æ6ÄÄĘ$!ä´iÓDë‹×z3ø\ýÁt¯^½z/ª©ÓÉɉ8w€¥ ìbL*\þ[Å06ÕV/ŽKhã·]ì}9uêTˆ!//M›6•T‡l"=OŸ>õ sqqÁÛ·oå322$xÖ©S'‘–p1b„ ¼ÚjÇ@ ûTüœo¼)ûa³fÍX=÷—A»FÉ`¨Êü"¶TWÜØ¯_?¶S¹Ë@ÿ†ò!,^¼uêÔÁ½{÷  ÷ïß7yøQ…B¡×¬J•*aùòåxýúµFù ::&‘}æÌ™¢uþóÏ?Z¯>|8_4SýÁXìÃ7jݺu’?·ææ¢E‹Ø.0Dö0[ò œ8q¢ä:/. ãÕš  †„öu³fÍÈéììÌ:¡çý{÷aaÍM&¹e>ˆ9¢kJ’!i\\\ðøñcQÙž<}úT£Ü<’’’ðÕW_™ôGoΜ9¢uGFFj½Nm﯅ ú„±xàf4ëÔ©#ù³k.V­Z•}–âØÈÀ¦b$ðß*†±¨¶z±Mö] ?ýXûöÛo¡ óæÍ“T—³fÍ•Kl§ÅÒ¥KEË:TÒ60>ŸŒ=ZPÞÉÉ /_¾ä‹¬—Aÿ‘‚qpäȓۇ‰*ú ÅcG  É`X—×ðûðQ§N0¨+ýʋЂW¯^¡gÏžFѯ¯/¾ùæÄÆÆj«Ò¨HOOÇ÷ßo’Puê\°`¨ ;wîÔzÚª˜¤ïÆ¢?€T¸té’$ak¥à±cÇx[æh+;˜’MøÆþ·Ša8™Õ h(ûÖã…û0·¶¶Æµk× †œœ´nÝZ2]~üñÇ¢ríÚµKPöüùó¢eýüü$“¿{÷îC¡ž={Vô}ÊôŸ<Á2è?æfY^“'O6¹¦OŸÎšEÊÕF£Rrvàµ[¡BI_Îæ`… ØÕAú7”ª07ê8yò$Ê”)c½…„„ --M½Šg¶˜`€¦X.ûqÚ÷aLã&¶_ؘ´³³ƒ¿¿?‚ƒƒñÉ'Ÿ {÷îèÑ£š7oŽ5j téÒgk/ˆ½zõbmù“ ôo^€¼7ƒHSÐÆÆ/^¼àûÎMØ•çM€[›¨ ANNÄ’’‚   Iô©P(DW·Ÿ•+WÖYN///}ú¨Ê|ýõ×¢eš4ibvyK”(K—.iÔãµk×DõX¹reÖïk ú‹Tï¡4X²d‰Ùl¶fÍ^ïoØÉ@Srθf©_Ðæâ³gÏø5Gú76kCmÛÔßÿ­w¸·ß~SYrtÒQ(·]ddd<ëm.FEEA }ûöÕz]›6mØâ5eÐLÁ¡|¯]»¦u@اOlÚ´ ÿþû¯¨>͉ÄÄDüúë¯2dˆÆí?¶¶¶ê¶ éõmnþïÞ½ýýÚY©’*¯l’=ÕY\T"ìÞ½[´ AAA£JÀÚµkÍ®WM êV¬X¡*!ZÆßß߬²* ìÚµK£þ’’’D·¡[XXàÔ©S|± ¥eÐ_¤à ^ õë×7›ÝÔ~¿[É@Sr®€[·nIþ’6oݺÅw¦Õ2п©ø”ÙzyìÛ·•*UÒYOõë×g/_ªc½Õ<€ììl´jÕJr{ëÊ›7oB íÚµÓz]óæÍÙâ2°½©¸˜oäü¡1—ЦÌëRB[6ß­[·²EwAz=KÁŠàV(1uêTÉŸÅ¢ÆÅ‹UÀm•ÚžbTMõ³+,[¶l©5á—_~iV½zzzŠÊÁúW0†*äääÀÊÊʬ²jŠzp~7½nâĉùT,q‘’ÑçiÎÝ4ÖÖÖxõê¯ÿ2ЃÁ”\†¿ÀéÓ§%I›‹§OŸæ;Óo2п)i ` ”IÓn†2<<žžžê)::š¿,€su9˜ àB›öêÕKr[†š¶ð]­U«VlqOØÝT´çÕ‡½½=îß¿/ªK)ðìÙ3¸»»‹ÊªE$Åd‰\Oþ pùrÞ‡í²Æ¢’““ù>t]vÔDk(¾_¾| ___Ñö ¦Šë @nn®ÙÃÙ‹ùgåææÂÉÉ ¢r&$$˜UF5ÿ  z]PPÞ¼yûˆâ—ÐSWVå•°`Á³?ÃLrâL®2ЇA”\†'`ïÞ½’¿¨ÍŽ{÷òé„ ôoºøÊ€‹2iÒ$‰lºuë}µÜ»"8¿ •WÛÛ·o1lØ0Éí\XjŠúQPt5µkØÛ”t Ê€5fÌQ¨ ºx÷îΞ=‹ 6`Ñ¢E˜6mFŒž={¢eË–¨U«Ê—/råÊ¡fÍšhÑ¢zôèáÇã›o¾ÁÂ… ±~ýzDEE‰Fa¡i ʆ‘¼‡â=8Ô…*g¢–-[Jþ<~þ¹*ñ0 ÿíuyAÿøãmR[‘ɇôôt³fú¾}û¶¨7F=DÏ?ÞlòµoßžMØ&Àœ9sD¯³²²ÂÅ‹ª(óïð~†¥å¹„WDavY‹µk×fM6Fú0ˆ’ Àð ÍþJ©ÈŒVoÈ@ÿæd9páïTxðà O†µµ5›üÄ£E¹85œ?^4ŸÜicc£Þ Š®6f̾hqÊä­~PnƒËÉÉAÛ¶mEõÂFåÊÎÎFTTæÌ™ƒV­ZÁÁÁÁh¶+Q¢Z´h°°0œ:u oß¾UÕ«é#ªnݺìÌaŠGÒMCiàlݺUòg²¨022’ïG¯ÁMæHmÇ‚¸ŠXÓ……öïßMÈÌÌ4[ı?ÿüST†ž={bìØ±¢ç̬ K—.Z'8vïÞ­q5pöìÙlÑ03÷9ÑÊ]§N’ì9f2ÇùïBÉ`˜HŸµÓœœ7oß‘e )XÀ08{ö¬Ê±Šù`€Þ"×{ø‡/––†mÛ¶¡sçÎ÷åË¥J•‚t‰®6sæÌ÷±?}¥ÓhZZšh|ý’%K",, -Z´0k–h;;;4kÖ 3gÎDÙ²eçÕâë¿Ð@ú” ¸-4æÞÃ^éââÂú,lýt¡5”@Þ½{‡O>ùD´mŽŽŽøçÕk^€·oߢS§N&×1å'F­Ñïá§Ÿ~2¹\½zõÒê¯ráÂy{Ô’ðDÁ!ß‹3U¡Â ¨bJ®ŠÖ d ½iEòQrr²Ôr˜ L[=¤”CBœ'¢†DÔˆæQ`ݺu)**ŠvïÞMM›6åËÝ!¢íj×úÑ_DDDôã?ÒŒ3(++Ë,‚› ®®®¢Ç_¾|I´^ëá¡êF)Æ•JÖ¸BD?ÑÊÌÌxþü9}÷Ýwf,++‹Ž?NÇ=€llløÿþDDQæ’­à(Mrss£ ÐÉ“'ÍZ¹ŸŸyxx‹‹‹(‰ˆRSSE™””DOž<1«¼mÚ´!++ÕÏùj³V®?ÞQW"º`eeU~×®]T§NŠÍW(##ƒ:vìHçÏŸ'ÁMlllh÷îÝÔ§OÚ¹s§Ñ„sss£€€*_¾<Ppp°h9///òôô=W»vmš4iÅÅÅ©˜ššj4Hk×®% ÑóñññÔ©S'zóæàÜG}D7n$…BADt‹ˆzQžÑ„+Z° ¢¯ˆˆ^¼xA»wï–L­[·ÒܹsùoÙDÔD2a „\ÎDdMD”””$±(æÓVkât&4’b7ýND£ˆè;"rëÖ­{~åñ•%¢H" $"úúë¯iÁ‚æ‘ÔÄpss=®ËÀ›ù‘3Þ/XÑ@)"¢ÄÄDÊÉÉ‘Z–B!11‘·y)©e‘NQÙuèÐÁd OOOªV­U«V>üðCÕßÎÎÎÝ755•®_¿N7nÜÈ÷ï«W¯Œ$y~tèÐÿó.3I%¦A}JDÑîîîN¿ÿþ;Õ«WOðOŸ~ú):uŠìíí7±²²¢mÛ¶‘½½=mÚ´IçÊ]]]éã?¦ÀÀ@Õ@‚ThšìQ‡¶F½zõ¨^½zù޽|ù2߀ãÁƒK.\ ŒŒ e>|8­\¹’ ÀÌçJ–,IT¢D "¢d"êHïï÷Ñ0" !"š?¾è€Ì\HOO§E‹QXXQc"ê@D$ÈH½„¢dy~=èÓO?•|¹Ù\TKŒV^vÝÀ…!å7°¯Q;_À#€Û6ôÅ_HnGcR“Sò™3g ¼öÈ‘#|ñ?e`Gs2à¶×Im¿ÂòèÑ£¼Í.È@r㈉‰1š¾+Uª„Q£FaïÞ½HLL„¹ñøñcìÚµ Æ C`` QÚdii‰¤$U€¾¢šS©€\@{èé.]º° jÈËËÓØÃÙÙíÛ·ÇÂ… qéÒ%äææêcÆ|صkŽ?nð}ø€sçÎEëÖ­µú‡?^ë½²³³5FÙ²±±Á™3ªÉÙšBzûKÉR^À“'O4n'3'œœðâÅ ÞF×QD·®I.€’*×ù Hn\s±Aƒ`P[vÁ .XgÅ*ž@VVºté"¹ ͶmÛB ûöí+ðZÆ9l§ ìgN>€7Jn¿ÂòçŸæm–Ý2Ó¿OüŠWNAÔ4±T©RèÝ»7Ö¯_/‹„‹êˆ‹‹Ã/¿ü‚=zè²[Œ 6doéí¦/'ñøõ×_5úÞtêÔ‰ Œ ŠñãǃˆûPkÛ¶-æÏŸ .hœè‹“'OâúõëF¿ï»wï-H1uêT­×½~ýmÚ´Õ­­-8Àéí.5U ˆF%ùoϯ¾R½þ`  ôTh* ІˆU®\™îܹ#±8æA¥J•(&&†ÿo[":,¡8r‡;]#"¿¼¼<êÖ­íÝ»Wj™ŒŽöíÛÓÂÕÐ 6РAƒ´^ûèÑ#*S¦ ÑZ"bå‡RDô”ˆhðàÁ´nݺ|'ÝÝÝi̘1RÈ%Àúõë)>>>ß±>}úЖ-[øÿ–'¢‡fKΨNDW‰ˆ¾üòKZ²d‰N•/_žBCC©G¬q ‰Ü€.]ºD;wî¤;vúŠ&ÌŸ?Ÿ¾þúk"¢GDT΄"š‰¨?Ñž={(44”Þ½{'(Ô¬Y3Ú·o999i¼ÑµkרJ•*¬oŠIpûömrss#ooo“ÖóîÝ;Љ‰¡?üPc™””jß¾=EGG ÎÙÛÛSDDµjÕŠ?´œˆäñr”͉óå¤û÷ïS•*U(;;[b‘8ØÛÛSLL ÿ›þŒˆjò·®È@ꎒªÞúÎâEªeý\v3wñŠ7nœä¶3;tè1è’ô‡IµPö2ûò›å8p ¨>¥ÀäÉ“òùûû³E†Bz}ʉ O 22Rkß÷ööÆØ±cqöìÙBÛEŽÈËËÃéÓ§1räH”,YRkÛoÞ¼É_¶ÒÛÌPÚˆâôûï¿kÌ‘Ân#‘ IIIZ£8™ ‰‰‰øðÃEuåàà€cÇòEs?Š÷7™Û×î\ÂD9îžùä“OØ(_ÇPĶJÉÅÉÛƒˆ(//^¾|)µ,fÃË—/)//ñ¾F’Òˆ‹4E?ýôýôÓOÒJcBhŠRPð;;;Þaˆè…q¥’5z=yòD}†ˆ¨sçÎfH>ûì3š?~¾c?¦¸¸8  "êID¿H!›Lâ¢I}"Z G4tèPjÖ¬™Æg§°xõê]½z•ž?N)))ôêÕ+JIIÉG"ÎAØÕÕ•ÜÜÜòý]ªT) VE›Ò …‚6lH 6¤eË–Qdd$­^½šöìÙ“¯\‰%(((ˆÿïY½+”ÞQ'âì^£cÇŽA;wD¼té5jÔˆŽ=JþþþF"//èþýûKqqq”œœLù˜žžN¤P(ÈÑÑ‘ÉÉÉIõ·££#yyyQ`` Š>>>F_U‹‹‹£–-[R\\œàœ““ýñÇÔ°aCþÐ%"êND¹F¢èa2U$"Z¸p!EEÉ/ˆß±cÇhéÒ¥4aÂ"¢fD4“ˆ¦K*T! «FJJ ååå’æååE×®]“D(c£zõêôâÅÿûåååQJJ ¹»»ý7ÀЄ"ZFD´wï^úòË/%Ç´ÐôÃSP)µ(&ÏŒ'‘¬áJD­ˆH4¬ ££#µlÙÒÜ2iD:uÈÇÇGÕe÷îÝü—¦Ämùz_ì§ ŽÑçÎÎÎäëë+ÿ:`ÀjÞ¼¹Þ7þü9]¾|YÅ¿ÿþ›>|h˜ÄÄ=ÇT³fMªU«Õ¬Y“j֬ɿë KKKjÕªeff +Vdß× \H"¢OˆèO"ªÝ¦M:xð uìØQ†:&&†4h@G¥Š+êUÙ³gÏ(**ŠÎž=K·oߦû÷ïÓƒèíÛ·7D ööö@TµjUª_¿>Õ¯__¯¾ADtýúujݺµh´(:|ø0Õ­[—?EDíèýŽEÄýn|KÄéoútù~³óÍ7ÔªU+ªZµ*Ñ4â"ì•V*!õŠ’+àÎ;‚%¢    ÚwçÎþôJHo¹Ñ@4<|øNNN’/YššŸ}ö™hßéܹ³Öë>üðC¶x[ØÎìpËÛtïÞ]T—RB,ŸŸ›…w4¤×«œ¨úKĶråÊBé?33èß¿?üüüÌþ|—+WÆ áC‡òez×K—.ܯgOUn°·¬$°)é à4ßÀ“'OÂÑÑQT¯%K–dƒ\hD^^®_¿ŽÕ«W£_¿~F‹äe( *W®Œ/¾øëׯg¿ ´"** nnn¢÷twwÇ¥K—Øâ‘d`W©Y @:¤¦¦¢Zµj’Û¿ ~øá‡HMMåíø €Ÿ ôX %@i-P¬Z¤¥" ±=~ÑÑÑüé4pºÚrât€ûQhÞ¼¹ä¹9Ø¥KѾӸqc­×5jÔˆ-^K¶3ÏÀo¿ý&ª“_ýUT—RâСC¢²nÞ¼™/r ElŸ­‰éÎ+fäÈ‘½}ýõ×êüÕ«Wؼy3ºtébÖLîÑÙÙ¡¡¡Ø¾};ûñ &LÜcÆŒüé«2°•)èej€ûFpqqѨϓ'O ôööí[:tC† )ПENô÷÷ÇèÑ£)êãqèÐ!ýÙÓÓS=ûùAv2°§Ô €Ò¯+;;-Z´Üκ²yóæì¤ÄCpQ5¥Ö§VJY¹€ ¼¶Þ¼yƒþýû ”ªÉéµ(¢C‡‚öõïß_=äÞü7Ë@êx?ÿü³ä·¹ØµkWѾSµjU­×©åTñ—ýLÍn|cåèœWXÖ¨QƒµßèW.T@ùèMÓ*UBBV¬X-ZÀÚÚZrûD´iÓ«W¯Ö˜ŸC,,÷¶mÛøÓÛd`+SÑÀ|C/^¼¨qÖÞÞÞû÷ïGFFvíÚ…^½zÁÙÙYrûJwwwôïßÈÌÌį¿þª±_—*U 7nÜ`»Îo¬e`G©Y Ê0÷зo_Éí¦õò½œIDATZXöîÝ›uúNð‰ ôª‘RU †×RLL ‚ƒƒEÚ¯_?ôë×O´ÁÁÁˆ‰‰a‹Æ€Ó‘äDBžÞŸ­Q<5}0•)SFëuýû÷g‹ÛÈÀ~¦¤5€»pþüyÉmf,FFª&jãØË@Ïra"=zT ³ÚµU)”ƒyóæ¡N:P(’ÛS_* Ô«WóçÏÇÝ»wUí«U«– ìßÿÍŸþIv2%mDð½råŠÆˆ“VVV°³³3‹­¼¼¼°a懛m ãàà Ñs¾¾¾êß[ð_´(Ѐ*Ìâ”)S$ÎõåĉYûfƒÛ*,µ~E)…“÷("ZDD¶DD›7o¦‘#GRFF†ha[[[zú´h…þÕ[[[ÑãW¯^¥Z¹r%õíÛ—ˆ¨'¢‰D´Â|ÊÁDÔˆˆspJOO—XóA““·zðu¸ººò¾""yò6†ÑDD‹/–XãaÑ¢EôÉ'ŸùÑx"š+­D²Ás"ò®\¹²àDll,M›6öîÝK·oß6¹ VVV4nÜ8ÊÍÍ¥ððpÊÍ5~ töìY:{ö,Mž<™ªT©BŸ}ö™h„ Ʊù•Ñ‘²‰‹$¸…ˆzÖ¨QƒFŒAaaa‚‚999”““cRa,,,hèС4gÎrss#"¢®]»ÒøñãiçÎ&­ûõë×ÏMœ8‘*UªÄÿw-qïJí?Å "šBD?‘"77—ÆŽK+W®”X,ý±hÑ"JKK£•+W’•••5q¹c‰hqƒùÀŒ£7{øaWFF  ùhPn0`222Øê¥î$š‘kàÞ½{°´´”Ü&ædûöí!­×Íœ9“/z[ö3% ÌÜýèÑ#Ù~‹" ›Ó €§ ô-å•"¥½›6mÊÚ—/_FíÚµ%“ÇÃà ÆËÀNæ`ßà=zH¢÷\¼xšpèÐ!Ñ æàСCYQÜe`/)é`?¯Œôôt´oß^²çÕØlÕª•ºïÖ~.2Ð»ŠæZÁh@DÛˆ¨ ¬gÏžf™q*jظq#?žvìØÁgììLDµˆ¨7q!æŠ;<ˆ¨—¡Ö3„rÆÝ»wE¤f#K[¹b€ÉDäEDtðàA>t_¡pãÆ ³ô«àààB_sàÀªR¥ ‘3qñÎÇY¬¢ˆçDDDg¦½½½MºÊíëëK‹-¢ÐÐÐ|Ç?úè#:wî­ZµŠ¦M›F©©©&“A,¼±ZÆá⾂Á£ ÿÇÍ›7'-,, \íÕnnn4gÎ:t¨Öœ+mÚ´¡7nÐìÙ³iÁ‚¢™È±¶ªé¤ 1IåòG"ÚADe‰¸q À…˜U×±µµ5RSS1nÜ8£¯vZ[[㫯¾Bzzz†JLLDÏž=Mò>?~Ä´iÓ ŽOlð¾nGGG|óÍ7xøð!²²²Ì¥€ûÈøE{[å*¸qã†@¯eË–ÕÚøùóçëe/,Z´999…RöÞ½{ ÌY£‰?ýô“Ö{»ºº ®¹ÿ>º¸çÁ |c»uë&ÐÅÎ;5ê.//?ýô“ÁïæÒ¥KcïÞ½Zí08’”B¡ÀÏ?ÿ¬µžuëÖ ®±D‰8|ø0ÛÂ¥°)£Hù=~üØ„U¼_xüø1aÆOjYL€ºD\ƒë@aaaäàà@}úôÍ‘$ö» ¦›ªDtÊ`aä‹iDô)ѦM›hРA&‹"V”™™IŸ~ú)EDDPÛ¶m‰ˆFQM5« &½¸å*’Áˆ®8ðÏ?ÿäG£Gd0s`lÎägNG\¹²B… ÈÍýÿCwïÞÕZÞÉÉ †ËÀžÖ惉æqíÚ5´iÓ¦ÈÍ0}ûí·X¸p¡är†VVVhݺ5®]»5üÜj¡Ôý£0¼ˆï»>|¸zû°gÏžóƆ;v,ÒÒÒueeee K???ìÛ·OPWß¾}eÿýwþô?2°“©9à"H©çC±²²bÞUˆŠŠBHHˆIž±%J`Þ¼yÈÎÎFVVÂÂÂL!³nݺ8þ¼ }iii‚¬õjÛ©GÈÀn¦bk(·×¢+Ó`âĉ‚ö±ÛŠžŠ\,³³Z"†P?bÓ6C!uÝZí ÛX¥©ý@¬´™é–}¨É:²¬­c‘¤­ ¬Í6‹cl¤®5•`Uª"Jl›f"–A[»¡ˆ±N)òýîÃ!î嫜{/Ï/yÂyÏyïyŸ÷}Ͻœçýxž¥Ô-õåÓJóf¤***¼z¾ñ'1»,++s\ŸÉÈôéÓ‡»@.ðïþXò¬RJõôôx]~røðaµbÅ ÇÛÖjY¹r¥zÿý÷=ÎGFFg§Öø@Y%AJ›¥QÛ·o÷h‡íÛ·«²²2ëx_Ù%qqqª¢¢Båååy\+((П‰Ë>ÐwVȇJ)õÎ;ï8Þþ"uuuú3qAi›ã-ï'«n<8_™ššêxÃФ¦¦*‹}àKn– ŽRnذÁñvö5y饗;}´ÑšµkÈ(¥Ô÷èÇD¥ÅyP§N2u]º²téÒ!^„úûûMl·L›6MÕÔÔèUêUJ%øÀ÷4ù£RJ9sfÄú8ݦvö·ó¦ŽÖ²PîÔ+™žžîÑ3gÎt¼œouÏÊÊRfù@ÿ™)÷êKKKs¼ýýE233Ï„-ïVy‘ôr$^¤ÌcX[FçRÅlbôƒŽŽ'õðI¶nÝÊÒ¥Ky衇ÈÉÉáСC^óUWW£”Ò½<³QM€ßa---¬^½šÎÎN›‹7ÐÐPÞxã ‚ƒƒ:›.—ë¶’’î¾ûn¯üÎÎNüqêêê˜7o^0°Xøªë•µµµu)S†÷Þ{Ó§O9W[[«{PJC󪈌êAêž{î!44ÔV…|…›7oòÁCEyñ$uÔF•¬æG­­­ŒÃ6÷á]zÁ›7ov¼½&+/¾ø¢ñ»–­”zRO¼òÊ+Žë7YY¿~½±~úÀo€7™¯+˜™™éQ‡òòÁÀ½S†òòrvØ´i“1K´r¾ß¬­J)ÕÕÕåá-(<<Ü#êùT¢££Ã# ä0¯‚[”óýg¦œTJök~©®®ÖŸ‰=vôUÖ04ßï×®]³¨ˆ©Çµk×hooדsÔÅdÂõõ¶’¶¶6–/_NMM %%%yÿê9rD?¼³K?à§ ÅãxóÍ7m,Ö|6nÜȶmÛô䟀àoÀ_òòòؼy³CÚ™Cii)zòI'u…ê'NœrÁív“––f»BN“––†ÛírnXÛê”΀óçÏÓÛÛ;ä¢E‹¼Æˆ˜*„‡‡7äÜ7øòË/õäèA”ü[˜0ÂØÔÕÕé‡÷ÙQžU†Ù³C›R°½Áÿ˜b`ŒÌW_}EJJ MMMlÙ²Åkƒ1 -x¡Ü< PXXHww·MÅšÏÆÜ¿€.oþãr¹Øµk999Žèh}}}ìØ±CO®‚Tg$2jjjhjjrá‘GñxÑž ¸ÝneagÏž5¾l­²]){XÞ—G-^¼Øve| oA mhF$À•+WœÖÃï¸xñ¢~oGy–Î`ˆa>†6 ¤ 10ÆIww7¸ÝnæÍ›çqýèÑ£Æ6\i“Zë˜-y÷Ýwm*Ò|²²²ŒÆÅu 0n º $—].ÅÅÅdgg; ©9úêàªâ… D/..ö¸˜žžn·>>ƒ·ºÚ(ø¶úØ@0Úó ÆŒÑ; Èr à «Þý‡`Õ&o10,"@ Y"5A^~ùeæÎõ|®_¿ÎþýûY·nÀ3À¯ÑÖ_ZÉB€––Îó?¿ìܹÓh,üxøÔKö 8âr¹nÛ³gIII¼ð |ýõ×6il/^¤¾¾^ý|82ÆGì$´Y»òòr‹TVVÚ®”/àí9+--¥  €éÓ§Ožþ`·^ÏÀ†7£¹¹™¢¢"»uò) Ë¡1´ÕL´A„VU²’[zzzœÖÃï08ѱgM¡E›;.+¥T~~¾ã›ZMòóóõM:äßz›^);"¢º¬ZµJXiCÿRJ©½{÷:^÷‰JRR’jll4¶×‡J©¨qÔ9AiþÄ•RJ566ª¤¤$Çë3QyõÕWõ*´úÀï€.¡ú¨;w:ÞFþ"EEEz_žW6ù¹·Iƒ-X°ÀñvöILLTìø?`‡DèÊÊÊr¼ýM222ôæë³£¿¬˜& n™Á°C›Þ޽›x­¤O?ŒÉSYYI[[›žÜdC‘ó>ûì3Š2‡¨¨( 9~ü8ññƒËQÿ‰¶,§e·8|¨ˆçøñãí?Û£ }6›¦ÍÇÁj4}ؽ{·Ãªø†eR °oy¤,èêêòØ‹#ŒL}}=J)=é¹IÃ?¹Åi[~ë­($šé10ÌÇЦ.g£÷`P10&Ooo/ûöíÓ“k€YÌm9‹¯Ãk¯½Fss3¹¹¹„„„€¶ßâ—hm5‘uNWмöü è !77—¦¦&víÚEll¬éú›Í°>óÃ…Ö;vŒúúz‡Õñ>úè#£—˜Ÿ8©‹É,hhh ¯¯o¬¼Âííí\¸pAOÊ> _tF!Œ€{0_z£¢¢xà,(bêeLFÍ©b&ƒ ÅÀ0‡½{÷’›› ÚˆÏà÷ „\½zÕ¢"¾9AAA$$$’’Brr2Ë—/7äꊀ| mÄ›ŒŽ~üø-æzþùçÉÎÎæäÉ“TUUQUUE]]Ͻ ë³` w„¬v±mfÈëænatŠ‹‹Y¶lh³@ßNŒþ ¿`DRÂèœ={VèCNXu¦ÐÌâi Ôì› ^yØ7f.ß'ø h~šûû‡>óÞ|œä÷|¼y'sήr&S¶ËåbáÂ…zòS6b[@"p àí·ß¦¡¡Á¢bÆGhh(³gÏfΜ9Ì™3‡ØØX"##‡gëþ6óðo“U¸-Òì†9b¸qã_|ñ­­­\ºt‰ÖÖVÇ=¡ÌŸ?Ÿ§žzJOº1Ì&:@ð /C”‡ Arr²ž¬Å&÷‚6«xKUUpZ¿â‰'žàþûïÍÞL‡Õ1ƒ(4'|üñÇ|þùçÎjãgÄÄÄ 'C±x@É #Ø1f.Á ~†u#Óv’üÝi%œÀQ îû-´¥BVy¤3‹  Ø.[\ž X†cb-p§Åå™Á­@û˜¹¬ãà-ËDÖ¡‰ôWþçšÎ7ùpÉi%&É\ÀÓe–ðM,á²â¥à-à÷< ·sÍ DIÆHÖ¯·óÉkÆ=|!ïDî1{„ÏO–ÿ9ÀÏh/ÖÆé×°¿ÞÎy»Öt¡ývãx´ëŸ ý&Ù9®€Óò à.´Y8  nÃqv¹ôŽÓáªÖ!Ðxÿ70ºœV"@XŒÿ]hƒDÂä1}va8VÌ`‚ ‚ ‚0Eñ¯!‚ ‚ ‚ b`‚ ‚ ‚`b`‚ ‚ ‚`b`‚ ‚ ‚`b`‚ ‚ ‚`b`‚ ‚ ‚`b`‚ ‚ ‚`b`‚ ‚ ‚`b`‚ ‚ ‚`ÿC´º^IEND®B`‚./chessx-1.3.2/data/themes/outline/berlin.png000644 000765 000024 00000142456 10633464147 020602 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖsBIT|dˆ pHYs66Bï®tEXtSoftwarewww.inkscape.org›î< IDATxœìwxÕ×Ç¿›N H z/A¥!‘NBA©"Å*"½("?ME:"Ò”Ž„š€t¤ƒ =HI¤…Hý¾LfßÙÙšÝì&™Ïóœ'Ù™;·ÎÎι÷žs4$¡¢¢¢¢¢¢¢¢¢¢¢b \]•¼ƒª`¨¨¨¨¨¨¨¨¨¨¨Ø UÁPQQQQQQQQQQ±ª‚¡¢"Ѐ«£+¡â”¸B½7TTTTTTÌFU0TTzøêwBEW÷…zo¨¨¨¨¨¨˜‰›£+ ¢â$¸è €ÞéØê¨8.‹¾YŸÕ{CEEEEEÅ Ô9QÙî`9ÔïF~G_¹„{cÔ{#?SÀQÛwp]TTTTœõ‡REE@ºš÷ÔÉüŒ %³}Šððp©’1ª’‘Ÿ€¨¨(ñs™,QÉ40À\ëüà'S´‚êÖZEE}iRQÉ ÒÓÓ‘œœ¬¯d €ð"©~_ò&.”È·àðáÃÚ• }D%ãÈ‘#â¡AAU2ò:%”€_ý âqu#ÿà`<€ËŽ˜ àC¯è`€Iìtâ (ÅsRQɨ/L**:3N¢’±oß>ñÐ@¨/’yÊã@P.ÂÃÃñôéSƒˆJÆÑ£GÅCƒ,„zoäe‰ÿ?~'Nœ?ª Fþ €sf¨&ÌÌÌÄåË—qòäI¤¦¦JÓûCP>.#kâBE%¿¡***2‡ÉÉÉèСƒTÉPg«óã90O¹ILLDXXŽ;&z õÞÈ›4€¤¤$\¼xÇ¿ê¸*©äcD¨ GŨQ£Ð¬Y3øúú¢FhР|||РA :›7o¯õ‡à‘n!ÔmS*ù UÁPQPô¨&*û÷ï †ªdä4V.À‘#G *íÚµC•*UdÇѶm[©’ñ.€ùPï¼HC8uê233ñ×_‰ÇëAÒ©’7ùÀב‘Ï>û !!!˜5kþüóOçEjj*Nž<‰  k×®xûí·¥Û,# ØixætTT…ª`¨¨tÙl@ÉP·Ää^Ä• ­r¦¨\tìØ›6mBtt´A%#,,L:£=ÀPï¼FCÚq–(^ê8¦J*væ-_À­[·Ð¬Y3|þùçÈÈÈ0ëâ+V ^½z8yò¤x¨€oìRS'DU0TTŒ._'%%¡C‡øóÏ?ÅCïXõE2·¡ Œ¯\´oßëׯ‡‡‡Ê”)cPÉHHH@Û¶m¥/CüõÞÈ+TF–±®8ÆwîÜAll¬x^Ý&•÷¨á;Œ»wï¢^½z8tèÅ™\½zMš4‘®rÐÞfµTQqbTCEEÀdÐɤ¤$´oß^ªdD@ÝwŸ›Ð@P ß„½ÔáááHLL”% dž àáá¡=fŽ’!1þ}À÷¶o‚Šh(þ#Q"¥ÿ«†ÞyE|`èСxüø±,——‚‚‚еkWôîÝ 4@‘"EdéRSS1pà@¤¤¤ˆ‡CXùRQÉÓ¨ †ŠŠ€YQí” uß}î@AŒå",,LQ¹ æM›àé)ß.mLÉxòä Ú´i#U2Þ0ÏvMPq àÑ£G¸qã†ö ª`äYh «V­Â¶mÛtN,XS§NE||<.\¸€7bÕªUøë¯¿ðäɬZµ ¥K—Ö¹æÒ¥K˜2eŠø±TÏR*ù’ª¨¢ y˜$—-[F&¥`Á‚üóÏ?)a>I´C¹hH.êÈ‘#,\¸°â¸¶iӆϟ?§)nß¾Í*Uª(æáëëË'NH“Ïu‚>PÅz9@’;vìÐç¶mÛJÇ8À ꩊmäW’|ðàýýýuÆÜÃÃ.\ )Y¡Bk]]]¥Ï…+$]œ ­ª¨b7QW0TTÌZÁW28  a†¼­+¦’-4V˜Þ€cÇŽ\¹hݺ56oÞ //Ó»ÌYÉ8uê”xèCs¬o‚Šq…à)JjÈÒ•*@]ÅÈ+¸è ‘‘‘xøð¡ÎÉ1cÆ ((Èd&>>>˜;w®Î±ŒŒ ¬\¹RüX@mÔWEÅi±è¥Ê†¼@¾YÑ6,ðB`¤Zv*ã<€“"xV3‘ÖZîøÅNy«Èñ0t¢fÍš(X° þ ž={†öíÛ#22!!!€ðÛ‚;Â¥Ú±¾*¦Ñ@ðè4”‹¶mÛ**-[¶Ä–-[P @³3•Œ-ZàÚµk:çâããѺukìÙ³õêÕ€áf2GXÝ} ‡[·-µxºöðøñc\¿~•+Wc³ìjÛR@¼ËÈï!k’èܹs²“|ðÙuêÔ åË—Ç­[·´Ç$“€°õN^ˆJn¤„ñ,   €û.fÉ©†/Í»8JÁ ¼òÞAÁx ‚Ç{0‚‚Ñ@;•q ª‚aOJh•%-”3”°páÂØ¹s'Úµk‡#GŽèœ{öìÚµk‡?þø¯½ö ü8 Ì’+–Xàž]Z¡b oõŇVT. jÕª)"ÅŠCéÒ¥e † APzhqA*J4`‡ËÐFðÖW0aUC¢`Ø €éVJUìGñŸ³gÏêœðööF`` E™U«VMGÁ8}ú4HB£Ñˆe-ÉNeUŠ €líšI—A‘üÀæù9Î8t‹TFF^¼x‘mIKKSÊ>Ç¢ffffÚ¤/^¼@fffNU;¿Q@WF·!¼ðÿ`Œ("EŠÁ®]»D%B‡gÏž¡yóæhÛ¶-6lØ€ôôtñT5/ÿø@wY)Q±9IÚ8#GŽÄôéÓ.X°Ã†Y6‘œœŒN:Iã£h)Z´¨tõ¼WE@U.lI]£í\FC@pK';)Q:¾¿9ázÚ1íÎ }£bÅŠgVµjUÏOŸ>ÅÕ«Wee©ä:J@˜ØX =åâáÇRÖ€0‘_ÀJ—„æPƒŒ?bHrÖ¬YfÔš’°°0J¨‘UÆB’Œ‰‰¡§§§M$..N,cFV›H222Ò&íÀÕ«W‹eu´N_’Ÿ“L ©©©}ºÁ±ûðÕÆLFRR[¶li®‘÷÷TØC6dõïËv,ã$InذAq¬CBB¤ã\ÇŽõØ“UFi'è÷¼,#H233“>>>:c]¾|yZJÿþýe÷ŒäÙð‹´WË%˜ä=qïß¿Ï)S¦°S§N,S¦ŒvœØ®];Nš4‰wïÞ¥„$û8A;ì.Ž*8†´»‚±„$oÞ¼i³—ÿØØX± QÁØNª †“J’SH>‘Þqqq\ºt)»wïnГ1ƒ$Ÿ?Îððp“×¹¸¸°}ûöܲe ÓÓÓ©Ç-’oQõ$’SâGòœØùÆ”Œ>úH¬t0¥\üõ×_Òä³ íyUnfõñr;åïE2•$'Nœ¨8ÞÞÞÞÒïöP;Õãþ?áNÐïyQ|Hv#¹^ìhý‰$WWW¦¦¦Ò7n¬“‡———4Ý$;lKuÂ)·H5’Å\¿~=K”(aò] hÑ¢üõ×_)!“d_'h]ÅQÇvW0~&í®`$UÃɤ0ÉÉ$ãÅŽÌÈÈàš5kLFcñ˜è+$™’’ÂÎ;›GÙ²eù¿ÿýwîÜÑÏê É0'è·ü ÅIj}LS2FŽ)sÒbåâ'hs^•¢’~N!h‡2‹[µ<{ö¬˜ìg;µõgI[Ç8Aßç5iCRûã.òÉ'ŸÈÆúÔ©SúÉ òüùs)RDçú¦M›JþˆdK'è U ‹Ék$ùôéSöîÝÛâw‰îÝ»3!A»™â)ɪNÐ.»I^vS›6…s  óy@ €ÿðMOOÇŠ+P«V-ôêÕ ÇŽI›äááßÿï¼óÜÝÝM¦¿}û6>ûì3”/_ݺuÃÎ;ÅS¯@ØË¹žrûñ‚Qÿ?0aƒ6³f͘1ctމ6QQQ²ô¢NƒZÑ™ÆÈªØŠ:’ÿ=`‡ aîäÉ“Ù9à^ €Þ’Ï/Ù¡ŒüLQ¿(©¢qcùpNœ8ÑìŒg̘„„“yfQ fت8”©*Àرc±zõj‹3X¿~=Þ{ï=ñc!÷^žÅQ^¤ñõõEÏž¦íØ–-[†ÔTƒ^¿H€‘‡}ûöíQ¶lY£e,^¼ýƒ| #„ÐÐPÔªeÜKîž={pýúu£iTÌ¢€ÅÈ2‚LMMÅÏ?ÿŒ3fèDÞµ„Ò¥K£^½z¨W¯š5k¦˜ÆÝÝ‹-ÂÔ©S±xñb,Z´ÿþû¯Ñ|322°iÓ&lÚ´ !!!˜={6êׯ­!x&[`"€ÛVU\ÅÿAð¶@µ &P~qøöÛoáâ₯¾úÊ,å¢aÆâ¡i&Ù§ú*Yè+ãC!ô{’ ËhW¯^Å“'O &:~ü8 NŠAðbh+†Î`¨±lKyÅ ""B×HñcçΘ5kFŒ!z‚R$** 3gΔ_¹r¥NdðÂ… Ë⫨8%U¼{÷îÅ‚ ùùù¡zõêpssÕ+WC¬Zµ ;wßuB˜ôÚk·š;-Äò-RÕ«W§9è/;êm‘ÒAi‹Tdd¤É2<==m‘ÒAi‹ÔüùóM–ѳgOu‹Tö¥ÉKb§]»vuëÖµhÙ²H‘"ìÔ©§M›ÆÈÈHþ÷ß&ÇN‰ŒŒ nݺ•íÛ·§‹‹‹Yek40€÷îÝ“fõ¾\G÷m^7’¥H¶'ùLìð©S§£Ñ£GÜåîîÎcÇŽIÇî<…½ÜõI– jÜm/ù…$ÓÒÒ¤}?ÌÆeüC’+W®4ú®[·®´ímX~A’IJí<žSµÛ²¥hí[ÂÂÂÌþÍhР7nÜÈ«W¯2--™™™¼s磢¢øæ›oZôÛ#a€ô‡*ʲ”"´—/_^6Ž5âñãÇ©ÏåË—ï«¢E‹J·Kos‚öÙEœjÃZÒÓÓ Î0ò{o ‰‰‰ŠQ~“’l9i¦b}!¸ÿ,›6m€dËÒúx{{#$$-[¶D‹-P¿~}¸ºfG‹‹ :v숎;"&& .ÄÒ¥Kñßÿ¼†$–/_Žßÿü1ÆWWW?‘>ƒ0+k›}]ùW[IšxÂJc‰,) !¦€¤á.þöÛo žKKKË/¤‡jØ ùœà€Ó¢³ä’Y­P1F]ˆŽŽF±bÅÄUÀ+ÚÂ×wadQUŠ!åüùóxñâ…øÛÐÀv”±tŠÀœ9s0jÔ(ð‚0›zÅFeäw¬z¶ž8qݺu¸¹¹ÁÃÃÉÉÉ6­˜ŠÓ Ð6lØ ×ñwfq§`(ÿ9wžO-"ÆÆÆ²P¡BV×CCC-)Ž JW‘|›d!÷]n”$ÓIrÚ´iìÝ»·´o_·Q-Å ›4ibò8r䈘|—Êwa–AéÙ³gY¦L{´Q²¶Ø©†V0>üðC6jÔÈê烿¿¿A‡ê F®íåG}$ÃmÛ¶Ñ.\]×¥Ki’'h§Í%O¬`¨ä+ B˜Ý€»wï¢gÏž8tèbbFƒN:aìØ± ÉÁj ¸»»£gÏžèÙ³'Î;‡1cÆ`÷îÝÓ8puêÔÁÏ?ÿŒöíÛ@'' é;—3µÎ5”ð.€ÁP0ÒLKKí[·pãÆ Ü¼y7nÜ@LL =z„ÄÄD$&&"!!Ož<Ñ_…°ˆ hÑ¢ð÷÷‡ŸŸŸìoéҥѬY3T¨PA¼¤$ÃÝÞ~€°â±ÂꆺZeš—åÄ㯿þ¶mÛ0sæLÑ®n4tW¬¥! ¬ŽŸ>}ÚdâãÇ‹¼ °Íî*Jd”~ûí·¸sçž¿ãããÍYÁìý¡Š\F’ÊÁh.ÁÁÁ²ñøPRcŠ´Ó梮`¨ä¼lðìØ±]»vEJJŠbâÎ;cùòå(Z´hVÑ<:wîŒððpÌ;Ÿ}ö™âÞ]’˜9s&î߿ŋÃÅÅÅÀJ³£+sºÎN¾PA<ššŠ5kÖ`Ë–-ˆŠŠÒ™!ʽzõ´iÓP±bEÀðáÃ1räHO3–pýúu\¿~ .„F£AݺuѳgOôë×€°"3)KAXÕXÀv†dyƒz‹»wï-Z„É“'£pူŠñF6Ëh˜¶¿ÑK×ÀÅl”Ý@S˜7oÒÒÒ.\WaUWµÆ)à嬿¼púhIÆ-[¶ÄÕ«WqòäIœ§-,£§xaµjÕdy‹ñ.Nžøà‹Ç£S§Núc‘JÁæËà ÚisqTÁ1¤ª`¨ †I¹CÊ wwwéV“˜ –5jÔ(³óÊivïÞmpß¾¿¿¿t{Ø¿ö);z̬ /‚LIIa«V­ ŽU©R¥¸víZÛu°ɦrQ†äUñ¤ô;аaC&$$ˆ§’(Ìô:z Aaþ…^7ì¢Ñù¿$fÚ¬Y3£ßéwß}WZ‡–”ñ )FS ¬(z¢KKK£···ìü¤I“Ä2Ói™÷¯¿HòÚµktqq1Ø®† JÛÕÔ†c7–rúÚ0s¥…Õ/’æ­dŠR£F FDDpÑ¢E\–ßÛo¿mU^iii¼xñ"×­[Ç#F0 À¬¾ ¡² IDATiÞ¼9ïܹ#ÍêU‡æH[’:3Y×®]cDD„ÁmÛÆÄÅÅ…={öä¹sçô‡ö<ɆNÐ^›Š£ Ž!UCU0LÊYRp7xéÒ%îÙ³‡èííÍêÕ«³zõêÒè¶1'ï°aäQ³Š… ¬wëÖ­¥õþŠŽ3kd¤Ø€*¶S£Ñðý÷ß7jÌïLØ@¹¸&ž7nœ,&MšHýÿ¢ðrïèq³¶ùœ?^:S÷?åý)Dl7e—ãååÅû÷ï‹åÿaAûIA±WÊ÷Ô©SÚASRr¤ãbf™Zÿ³¦fE½½½¥ßwkì<”¤³¼2é½øT´QþæJ0É8±ðãdzråÊFû£bÅŠœ8q"Ïž=K[‘œœ,{yÔh4F=£V­Z²z›ãÚÔÒÒÒ¸e˾þúëFíöÐÏÏ[¶l‘^þ/­sF_äcig]¸p}ûöµÉv7Fî]»ò¯¿þ’‘Nò 'h·ÍÄQǪ‚¡*&Eë1†b è÷Wdd$MñâÅ ^ºtɤHâL8Ý»w7ø°’xÅJ#DÇ›%R„YFµG58ë³dÉ[v§]ɦrQ–¤ÖR]I¹¥E‹Ò—Í©tÜJe-Iþý÷ßÒû2ƒdä½PÌÛœñ)S¦ˆågÒ„wÒŽ;bÿþýŠ kÖ¬‰.]º <<Mš4»»»,MZZ:„íÛ·cãÆ:‘À`Ë–-hÑ¢vîÜ @øN&˜lÛf9i61¤|CuC"î$;ãÔ©Sô÷÷—õ—9+y…}ûöÜŸ­·ç¼??~æÊ’Ü»w¯b»†jô/Ù\¹(OÉ^ß±cÇšõ¼èÒ¥‹4ÏtÜ8ŠòŠX™Î;³^½zÒ@`˳‘¯7³"\øá‡f?O,X –ýœ¦÷œk-¨Ë”)#ËKß!Äÿýgê~ÕŒvýH ÷޹Áá$.¶es¬´[£¶nÝJ¼xñ¢˜÷ݦ¤!³VÒÓÓWõEéÑ£™ìرCV¾èAÌ  ˧oß¾v¨±œ3gÎ(x¥I“&R¯t)$›ÐñÏGKw±Câãã¬Øw*TàÊ•+-^AKOOçO?ý¤h;S³fMil Ò9½Z$Ž*8†T ?NùYÁð¢ÄÍáÇéëë«Ø_ùIÁ »Çóôôd\œvû²¥l%eÅ +B–*U*¿Ø\”'yS® ŠKÁ-¶£Ÿ!Ž’’Ìòdxÿþ}Ö©SG±ÏÞÿýlo§NLLTü½¨X±¢þö¹\ïÈQǪ‚¡$ª‚ÁB$£ÄNØ»w¯â‹ ‹j/HMMUüÑÀ‰'J“Ö£ãÇÒ”¼#VVÉ%èŒ3lÖoö$›ÊEf=IÃÊE±bÅxêÔ)¾òÊ+²s’ø$ Óqã)Ê$yäÈ ›››Ô˜ñÉbVä9†fͱSÊÖ­[Ų,`¤Œ¤ƒF)ŸÿþûO6öJŽô"?³=ùDLdl¦Y_‚‚‚¤ù[¤Kë5ªÿþtVÃ^ô´2_sÅ“‚ç’ä{ï½§ØÖÒ¥KóÐ!mø¥Aƒ²úXb vùòeÅ6™»ÉÖlݺUqvèÐAºÊx”ö{g•­¤ð«ô}tuuåœ9s²1 ºdddpذa²r¥“Fwi[wÔ9*Ž*8†T %Éç †/ÉÃblÛ¶Í`ˆ°°0i4ë|…¡ï¯¯¯t Á<:~¼Åפ¤$ñôoÿ’+è7HHyJ‚ŠÍ›7Ï ¿é~ýúÙý‹ž[xðàì$¾”HFǯ1‰'•cHb85ÉÉÉlݺµâýZ¸pa9rDš|9ÉjÌzÁ"-W.HrêÔ©Æ^hÒñã f¬Û¹s§N=‹-ªÿ‚ö=…ÄX^ÄÄ!!!ŠýÕ®];ÆÅÅŒàææÆ[·n‰ÙD+”ñ3I^¿~]ñú“'O*Ž©poÈ!Ò$ú†ØmÅ¢ýƒ’Œ;–û÷ïW<÷ñÇÚ`I4o»™%6 ,ÐɯE‹Òú–´`œ-•‰¤ðn(ûŠ+ öuNóòË/Ëê7{öl“×8qB±m/]åÀŠ «U«&Ýz<…ŽŽä„¬#Ãk¥É…½{÷f·»ÍBÉ;žÄ Þ3’>6n·ÝÅá0 óHòÖ­[²>|¸™ÃåX¾ùæYÝ%†Žèø>v©FÉLîôéÓ þؾóÎ;ÒÈÀ*4ìMçÒ%í$å*:~Œ ‰«XÉ#FÈÚ°lÙ2Ûv–INNf›6m *‡–&׺1¤\øûûL¼qãFÙ5~ø¡xú_:~lA!"­¢7žR¥Jé{J9NÁØÝh^Æ"x‹.dßxã ƒÏÑ£GKËÔ`|‘$׬Y#»ÎÛÛ['Àž>J÷êÕ«'M¢ï fIÞ½{× B¤ÑhxõêUÆÇÇ+ž×[©¬bb,*1kµ$þùgÙ$ΧŸ~*ž¾aƒ±7$…)¸ÖåêÕ«Û¥çnÛá(ávêÔÉäu3fÌ]W¢D‰¨±ùŒ9Rq ¾üòK1ÉcæÂ—Z ŃYžÜ¦M›&ë‹Ö­[g·›ÍæÞ½{²IÃ5jH“¼kaÛ..pNjÀ?ÿü#;‘[¦eíÕáüùóâ¿/çheœ“—ü  , ‹›8q¢bÂaÆaáÂ…pqqÖÛÕ1dí—–! Õ(Ç*c9ZšçÏŸËNzyyåhe²C°eË„……ÉÎ%&&",, ‡y‚=Âwß}'Kïï﨨(¼ü²áG„¯¯¯b9Ypµ€°—þ•W^Ñ9‹6mÚàâŋ⡆Nèa ¯FpåÊ<{öL1¸WÈ!+´hÑ"i?’œòP€¢M ~€=}”î?^jƒ' ¸W@ ØK)Ù˜@«V­P¥Jøúú¢|ùò²ó.\~4pÏ‚=Îu`íÚµ4hHê$ ÿ= û1@1˜1c†ì¤··7¦L™bÇâ-çµ×ä1K÷ïߌŒ £×íݻ׬¼É´iÓP½zuÙñY³f‰‹Â2;©ÜH#ÞðçŸÊNh‰ySö(UªZ¶l©sìŸþ‘æk“c•±ÎúÆV.]º$;Q³fͯŒ5døé Q0*!+bl>¥!€}HbĈ˜6mšb±cÇbÞ¼yÐh49Y¿\!ãÆâ¿…s¬2–“{43ðòò¦M›Ä¨Ú:<}úáááZÅoÔ¨Q˜5k–,]ñâÅ¥øì°Wd)1æ0€  ‘¼qã4h€ùó狇Šø Àè>5ÈzA7fô/*1-[¶DÕªUÓ$&&bÑ"m°â7‘5¹ ²~ •"x+)¦Î§¥¥áÌ™3âG©‚1 "/X°À`žC‡Õþ¯¯ ÀÍ›7‘””$~TºaBœ0 @ÔÔT|üñÇèÛ·¯ìåØÕÕUÚ{Eðö0¶oߎ³gÏÊŒ1¥J•²SñÖ¡¤$&&&Ÿ’’‚ƒÊŽ7kÖ̦uË. À²eËdw<ÀÂ… ţǞÕz4ÿ¹|ù²Î 777´oß>G+£ôû-þ+89Ψ`ø( äîŒÀÀ@+VLç˜DÁÐÊé:9 ¡ö(–™™‰ˆˆÌ™3G1á§Ÿ~Н¾ú*G+—›hذ¡âñˆÿ:ÃL¶!òœ 0QÉPúQ•Œ^½zÙS¹qmü)€³€Îì¸ÏŸ?Çûï¿nݺáÉ“'âáAN¨õ¹_@ðؤDP­Z5‚—Áwß}×`¥æÌ™ƒôôtp0<ëpCÈÈÈP,Ô‚Q¼xqT®\Yv\ò*~QKèK—.•¶Y‡’%Kêx/RR0Hâï¿ÿ?JW04”Š?ÔþßÓÕôéÓgÞëÔ©ƒB… ‰íµ‚†¬q4ä-mܸqv*Úzgù•V(D>¬¸*ël  ÜÛo½õ–ìø·ß~‹ÌÌL@ðDøNN×+ „gÑ¿ÿþ«s¢Q£FŠ«ÅöD€TY­Œ\61íŒ †VƒÐW0|}}Q²dɯµè¿,H @yÖ)¯ÓÀ…ÓÓÓÑ·o_,Y²D1á—_~‰Ï?ÿøÀÅÚ%ãÈ‘#Š«€òêFhh¨Ónó­]»¶âÖœ7ŠÿVP"'딃”wË”(‘óMöõõ…‡‡îWÉ;# ®`d›ðäÉY€¡Ü®`:«ùIÁè àwžIIIèØ±£bp2FƒùóçcĈ¼Ÿ~ú©Î˨!C£ÑtékÌeíü¡ó“’’¢ÿÂÀ|ÃÍÍ È'yõWEŒ­^”)SFÑvP^¥‰‹‹Ã£G´Ÿ7oÞŒÏ>û̬úŠHÆ…ŽZt±ùÔ„U(%—¦M›Ú©XÛ¡´MJIÁP:æëëkp››3¡tÿJ¶%æU#Ê•+';¡¿ƒ&'ˆ•Ó[ÑLÏ±ÊØgS0ÜTò†‚Q¸paÙrw>2ôþÀlšØØX4kÖLñ%ÁÃÃëÖ­C¯^½r¼‚ùgV0òü †ˆ¨dtïÞ%K–Dtt´½WcNÁ¨V­šE{š333Ñ»woܺu €aR+VT´C€þýû£@ŠçHêxó:{ö¬tk!Á;•%/†¦ì0®]»¦¸EH$""®®Ê_YSv—.]Â[o½%‹oa ÉÊÒ%æ-{XNM8wNn?^¸pa[yN³+J Æ©S§d+EJ«ó!!!¹"†“è‰MŠÄÕr^Ý"u PV0$qzr ‰g8-z«gòc'ÆÙîúJÈò.£¿EÊÃÕ*UrD²…þÃóï¿ÿ–þ8ÿ“Õ:¦CØsŒ[·náµ×^SüâxyyaãÆ:³»*6ÅÙ¾ßR2dšL•GpssÚ5kpôèÑœØêéLýj‘†”G¡{÷îxþü¹ACi{”ˆ¯¯/zöìiðüŠ+´”Jö¦ìéc“fÍš%óT#âêêŠÁƒÌÛ˜‚‘€nݺáéÓ§f×U$ì/€¬mÏJ Fppp®xùVÚâ”™™©cçrïÞ=Å­ÝÍ›7·cÍl‡Rü‰‚QysÇÅU@YÁ¸víš,6†½‰ŒŒ”“LR? _âpbœí›­ýåÕ_Á¨R¥ŠE{gA_ÁHJJ’BËk †À<Áõ[hh¨4¥ooolÛ¶-ÇÙäCœí;.%߬b‚’¡•Ù8Ó Æ ÷Ëì0DNž<‰®]»Œaj…Á˜M׋/ðÃ?Èž·±ôwîÜA\\?~ŒåË—¼¶S§NÝNÂ¢³gÏâ­·Þ²êE( @úRiO£ ‹> wl„÷¥ €|ðêÔ©ƒ:uêŒÔíìö"J+z;. kó¹—Ë€°Z©ôý3¶âhkHâ?þ—xà³— i»ál/5ÁÐEò.œÈeÛ£Dò™'© „“ÐÐPܾ}[–ÈÇÇ;vì@«V­rº~ùgÞ&•/ì0l’©ÂùöéZe‡!²k×.ƒçL)ÁÁÁFÓüøãxñâ…M c÷æÏŸäädƒ×³6Jy/_¾[·nµ¨ž"zãa/ÃY^Í”ÚoNŒgAIˆÅÙ³gqöìY\¿~]vÞÇÇuëÖ͉êe¥¸z63Ê{s75!3pà@ÙɹsçâÅ‹9R‘Õ«WËÜW—,YRúždÏI»à” ÆÕ«We?¢¹Íƒ”ˆ Cï 8ßdmèòÖ­[+Iùúúb÷îÝVÍfZCJJ æÌ™“Ÿ]ß:³‚q€b´Tý¨ª*ÿR 2‰§‘p¾•¡P·n]›»~4¶EJÄØ*ƃðý÷ß+ÚüYóò«¤”8pßÿ½Ák*V¬ˆ¶mÛšÌ[IQ2ãÂ’gðcdyû²^ÆN:kp=%¬Y‰ 1hWãl˜§ÃÃT‚\H „¨÷xï½÷àî®ÿõîÝ»ÚUN{’’’‚O>ùDv<""BZ§v¯ˆq¶—Û<ãAJ¤F²›V¢`€Ä&¯ Ý`¬´¥ÁßßQQQ¶{EÒÓÓ±xñbT­Z#FŒÀœ9s°`Á»—ë„8Ûw\ÊY@yrN.Mç6$‘¨µ´hÑBüW9c9vJ/ínnnVúúúúšµå¬oß¾F›É“'Ël#*T¨€’%KZ\'%ãûï¿G\\œÁk"""̲C°ÆQ@@€Á­;’Œ#°ß¶:e+û\ˆ¡~4FnÙe&äJ~€ÀÀ@ôèÑCvrêÔ©Šï¤¶dìØ±²XnnnÒ•ÍCȲÉM8ÛËGž‰!âîîŽêÕ«ëÓÛרìc1wbи´D‰Ø·oŸÝ—‹333±jÕ*Ô¬Y:[´>úè#Å Hygž>; 3©úJøÑ£Gqÿþ}‡TÊ™ùûï¿e?vîîîÒÙhekhÇrÀ@Ù#==K–,AË–--ÊÔ{Z}|||ЧOƒç•"2[º=ÊØu†">ÂØ 4Ȭ¼-U0š5k†3gÎ(ΠûøøHWä¾ÃmGžQ0jÕª¥/ÁyLÁÈ‹+ðj >\v2!!;vÔq mK¾ÿþ{Ì›7Ov¼K—.R»ev)ÜÎ8“‚QYÑ>•´Eý—ôÜ„þìÜÕ«W¥ûúò’¥"0 IDAT†ÁY°¤¤$»û•Þ¼y3êÔ©ƒ¾}û*–§¤¤ Gxüø±]ëád8½‚Q°`AÙªVff¦b´÷üŽÒêEãÆ¥AÞœq#Y/±†ì0þùçDFF¢wïÞfgjÎö(S6úX«`¼üò˲€{ÆèÚµ«~ -ƒXÒÞñãÇcïÞ½(Q¢„â¤JãÆ¥ŠÇYÛat‹TnB£ÑX´ŠQ°`AÅØ¹˜¼º‚ñ À@ø^(m§¾~ý:Úµk‡»wïÚ´à… *–W¬X1̘1CüxÀ/6-8‡p&à©2eÊ8,l»-ÐW0222¤«4yIÁH0t")) :tÀöíÛm^èž={Œ®]»*Ë’rëÖ-ôíÛ×bñ¹gV0´>• þ7lØ£•qv233±zõjÙq½¾sÆ ë%¶qãÆ²Õ*@pçêáá_ý£G6+CKfôëÕ«‡† šÞZÃÕÕÕ¢rŒÙ‡èS®\9E{%}¾þúk̘1®®®¸té’¢ûZÉJR ¹…»íÈ3+€eÛ¤š4i’+=_!¯®`Â6©ý€ SÉ»å_ý…zõê!:::Û…¥¦¦bÈ!2dˆÌÞØÝÝëׯ—zz¹Ô!Š3)5ÁU—¾‚‘[·G‰ä#ORZCA¥W/^¼@×®]±~ýz›vøða´hÑmÚ´Ññ7oŠ;vàóÏ?·IrÎô×'ÀIh×®ìäÎ;í¾÷57±lÙ2\¹"·Å•(78ë¾²ƒ€àžZi›¤øýÕh4øæ›oðÝwß™4:µt˹«–ØÓÇ\å¤ZµjRÛ³0U¯Ù³gc̘1ÚÏÇŽSL'YI:AɰùVÁÈcÛ£€¼»‚!ò€T¬Y³FÑAÏýû÷ѺukôéÓǪߦÌÌL¬\¹AAAX¸p¡bšüQj—¸@”Å9 $Eæä¿ÿþK[m´òá‡27sóæMY›ÆŒ#žÎ Y€Žï[Hq’OIòðáÃ,Z´¨¬ÝèêêÊ+VXÝŸ§OŸf‡óÖ— 0 @vÜÅÅ…;vì°ºÎÂ+¯¼"k[pp°4II:þ¾0&ÃÅŠÖ©SGÖ–·ß~Ûf}•›yúô)K–,)럂 255UL6™ŽOCâE2…$G-k‡‡‡SRRtÚ¼fÍzxx(~¯ÝÜÜøâÅ ‹ú0))‰EŠ1ùÌ ±(_}¶lÙbÖ³é›o¾±8ïáÇÌoÞ¼y²ôC† ‘¥swwgrr²˜äKÚwÜ‹………ÉêräÈ‹ûÀ‘ddd°páÂfï]]‹ˆ—µ¡H‘"Ò$ÓñÏ{Ko’™¤ðÞV¾|yƒãëââÂÎ;óÇäåË— ökJJ £££ùÉ'Ÿ°zõêFï™ñãÇK/½DÒß úÄjqx$²‹$wîÜ)ëôüÑààå233éãã£Ó¦°°0i’t|ÿÛJúˆ:þ}ÌR(}||X©R%³eË–|å•WXºtiÅw¥w‘uëÖIûú&ÿ·Û¤8¼ù—$çÌ™#ëü¨¨(æv^}õU6JO¤ãûß–2]lØ7X¹reƒ_¬ï¾ûÎdßݼy“  «««É/ª««+ Ę˜ŠiMqþüy“Ï 6X•·cÏ<ìÛ·¯Uùž8qB–W¥J•˜˜˜(K›””D777Yz½Õó"´ï˜— Ë+ ÆŒ3LÞC-Z´pt5-Æ cÿ É)ùAÚð•+Wšµúi´k׎÷îÝ“K²²ôA¶ÅYögPÈ[10¤èÛaÜ»wOêÍ(/ÙaÀÄ,AÅŠqèÐ!ƒ{‡G…©S§*ž‹Å°aÃP½zu,_¾ÜhcFƒ^½záâÅ‹X²d‰Ô?~ ø™nÓ¦ìºþù¯¿þ:RSs¥ •98ËwÜKaïûàÁƒå'—,±¹÷ŽÜÄĉ]¾ÿþû ?.ÉÑJYÇa@ˆ‡£dWgÈŽª_¿~;v¬Î1K<*I©]»6š6mj4-¢K›²Ã°Ä¸[JPPŽÛY777üúë¯ðñ‘Y>uêÒÓåAÝ%Þç`Ä1‡DÊå˜c‡‘í/@î- ïQÀ\:¾£ûöí‹}ûö¡X±bÊWYÉäÉ“±}ûv”*UJz¸8€ÿAÄœ»q´†“%õEÕ­yóæÆ4è\˼yódšë¾}ûÄÓ»éø1°‡¼Ka–ŒOž‘&ýŽ?så6©ü’¯Ñho°?îÞ½«µe‹‹‹³¦KI’ÏŸ?g±bÅûµW¯^Vç+åÔ©SŸ[sçÎÍVÞ½{÷&†††yã7deתUKšäMæÌ˜ß'óŽ‚A’­Zµ28¾žžž|þü¹£«h1f(èøç‡­¥"É…ÌR‚IòÙ³gœ;w.ƒ‚‚l®P˜’jÕªqÚ´iJÏÁÝ$[8AY$¯@–L%•oðèwt®äáDz¶½ûî»Ò$Åéøq°—´!ùŒ$ÓÒÒØ¯_¿l} CBB¸ÿ~ý.¾IÁ–ÅÕ@´S}_~ù¥Á¼+UªÄ³gÏšOgÁ £?þæÊVR¸G7n,k—‡‡O:eÃÞsnÞyçÅ{ÔÏÏOútŒ¤ ?væÊZR°ÍRjÛ®]»ŒöÉìÙ³Y²dI+zS—‘#G*–?gΜlçM’ééé,X° ,ooo£J”9̘1ƒ¾¾¾&(yÀÑûÍ)Åœó«$Ù¿Y}¶oßž­¾pÿûßÿ þ†¼öÚk¦3pBîܹ#kKõêÕ¥IrÓo‰)©@r)É4±q÷îÝãĉ z¿ÌIñññá˜1c¤6v"¿‘,æýg–8¼Yò;I9rDÖÑ3fÌÐïà\‹¾G¥W_}Uzº%?ö”`’HÁ«–1w‹†¤AƒŒŒŒÔïÖ»$ß§é-"f“‚3C+...ôôô4(†<¶83Œ :~ìÍ• ’é$yýúu™ç5@0ÊOJJ²]:);vì0ø=X¿~½˜,äËtü¸Y"#ÄÊ—.]ZÖ6c[~HáÅ]Ï•£UüóÏ?Š}«äÉÊZô·ûàÀ³odd$×®]k4M\\œbû~ùå1É5æÜ˜ÿE’‹-’ÕGâ-W¡´#A”O?ýÔÑÕ³ %ïn…4‰¹k"Ø b–;}Rp:aÐ%¶1)W®»t鈈Nš4‰sçÎåš5k¸iÓ&.\¸_|ñ‡Î^½z±Aƒf9ª‘Ї‡¬o~—d['èG“âð dÉ’\¶l™¬ƒ7mÚļBÛ¶meZªd_ùGtü8Ø[‚(|9HŸ’JíÚµ•<»Ü§àÕÂË‚ò}˜u¯‘Âýfé{öìixs3ŒÜöú…Xq%ïAz?zy’'Ož°L™2Šm×{AAÇ—¥¢½9{öì)k_§NLöOzzºyi}ÀËËKS$ÛLœ8QÖ¾£Gf;ß´´4“i6oÞ¬xÿܼySL²Œ97æIòòå˲úæJÛªçÏŸ|!ݳg£«g&LµeõêÕâé£tü³#»âGR;;C’K—.Uô\hHÊ—/Ï·ß~›Ë–-ã7,îã„„nݺ•£FbݺuéââbV¹EŠáO?ý$ý®dRˆgÉûOŽ‹3ıwP.]º$;™Û£xKy饗°k×.íç§OŸâÖ­[¨P¡÷«í†ú×€?œ¢ŒÆA,«Í’™5kW¯^u¢:ö¡B… ™Úæê$$$0~üx«ímÚ´Ñÿ~r¦Nv¤/° (”˜˜ÈÈ‘#yõÕW‰‹‹Kó 7fÛ¶m:tˆ¡C‡R¸pa‡+éííM×®]Ù¼y3ÇŽ£cÇŽiûðáCFŽÉСCõ:7>À2 ÄáŠfW¸¡­Ú ;w.å7(°g¤N:FW …Qí&:¯pèôú£}¼ôz¡¹É”Š£Ýl^·sÿ—ÀrÐ~ø.\¸À_ý•BþóŸÿع[§“ €p íÊŠyŒòåËëÿÆKMTÅìðôô4MÉìÙ³Çiмúê«xxxÇËz›}úôqÚÊ“'Orû¶uý¼'žxBÿ÷«Ž%Xðâ‹/âãã“bçÝ»wyë­·œ¬’BgìØ±6?sƒxpÇ™:Ù‰¡ÀÀûöíÛtìØÑèbjEµjÕX²d »wï6µPb:uøùçŸY·n]º!³fÍ¢cǎܹsÀÍÌºš°‰¸‚QàÌ™3V•šÝÍÀ(P @ò-ƒy#ÃÈ`0˜|,¡Åi8ú±Ö-àEàyÀ]KE»Âg<;$™­„ vÝæfvéÿØz¢½{÷n§)RµjUžzê)*V¬h¬Šn7tcðàÁvo;-l­)Rĸ‚îÌø ÏÊ”)C¯^½¬vΟ?Ÿˆˆ§+•×Y½z5Ÿ|ò‰Õö†  ÒÅV¸>ÏK—.ѤIÖ¯_oóÀ%J0cÆ Ž?N·nÝœªdztèÐÇóÙgŸQ´hQ›ÇlذfÍšqéÒ%€üÀJ ÍƒMÀüjûxë<úè£üñÇÿV§O:ÅÇõ§:¢Y¡ ç²Ø tA{Bœ˜”2S);‘[W0@[e*7fÌBCCÍÖÅT*V¬¨ÿˆf4&™§MŽù 8T1ÜÄ$³ÿ~âããípC† ± 6·M›6%88˜ 8¤}[ØzݬY3ãê¹ÆN`4jÔ(æÌ™cuÀðáÃÙ»w¯Óæ=¯³nÝ:ºwXí9r¤þï4£ÜD°ð¼uë!!!œ <˜åË—[sìØ1Ú·oODDÅŠ+€6_Ï;œ­oj\ÆÀ°u¸Û h†ñ"IHHàäɓԫWòÞ †+qÍ-GçÜÃÀð0[0h\¥JªT©b¶.®‚'šÛ ½]Í. Jpp0¾¾¾)|¢cccùý÷ßiÔ¨‘SéÔ©“îËlw}ôQÞxã ‡´¶ ÃJÑ]àwgêc`*° ^½z¼ñÆL™2%ÅÎC‡ѧO.\h·La Û,X°€ÐÐPâãã­öµoßÞè•lfR í»`ll,;wæøñãVåË—ÿþ÷¿FCÊ¥ dÙ²e|òÉ'¼ýöÛVÞ>'Ož¤sçÎlÚ´‰üùóBƒºÀ%3ôÕ1ÛÀ(Û+îj`¤æÈ‘#ÊÀp=Ôc4óù-£P -‹©þfv[Vwå¾ÌþÞ¶¿½}}}iÔ¨‘•{ÌîÝ»f`x{{;Ì5ÂËË‹îÝ»;¤m[ÄÆÆ¦v»RÄ_ì¼ئÅÀ0 ù¤I“ؽ{·Õ¼/]º???fÏž£°/Ó§OgäÈ‘6W.Ê—/Ï÷߯¯vý¼ïlýr€ÚC©RIIIôéÓÇ*0@Ù²eY²d Í›7wº‚9eôèÑ4jÔˆž={¦H÷ AŸ>}Xºt)žžž…Y@ÚÑâNÀìªd "õ FùòåñóósºBŽ&ƒLRÕÐüèb¨’šêhOBæóµEîEŠ8 [ÆðáîTnçÀVO¥}}} Ò_šá¥“„–Ôãwooo¿Å‹Ó A¢¢¢R†¿¿º¹Šìñî»ïòÑGÙÜçííÍâÅ‹)^¼8h™£ú¹©@Ô0 À¿ÿýo~øá«Z·nÍ¢E‹(U*÷:'´nÝšЭ[7~ýõ×û~øáÞ|óM}uð 7Z\«)˜Z ´´z§NJ¹Ã W/@ËTP @Û †PÇÙ:)RPXÏO?åÖì| …KsˆOדqf ·;aË=*((___ý¥™h"G”+WŽ5kÖhuÐôéÓ4h111ÎÖÏ-IJJbðàÁiùòåãûï¿7fu{°^ s]ª ÅM²oß>+÷;€ °fÍš\m\è”-[–-[¶Ø,Ü9uêTvìH¿ø Í¥ÖÌ60j\¾|™{÷Rºù¹c€7h©ëÔIiCäñLR®DAàG´•$† ÂÖ­[ÍÕ(çX¯ƒçʃ€/ÐRkÞ@Ë ¤Ëß©ä¦An¤’¨TrÝ ×RÉ_Ñ£ú¦Úî,9„¡¥n6í‡Â${š7onåsöìY«'Û®@BB¡¡¡ìß¿ßlUlb+ƒ”!þâ!–17™Ùh®,4jÔˆ;vØÌà5{öl5jÄáÇ­Ÿ[G÷îÝùúkÛ ÁùóçgÅŠFW¾•€õºk3 (”À+¯¼b£È?ü`õp77ãëëËòåË)Y²dŠí"b¬õQ˜f†~Éʘ(ëDD6lØ`U­ð‹/¾ÈBÄÜEhh¨ÕùFGGë»?¨À˜Ge¾> 'N´YEÓÓÓS–/_žÆÌ:ŸLTòn)ækV¤ˆô‘ "’`¯qÊá¢é•ßlED$ID~­¢ý#bþ\åT&è'öè£Z]Ç«V­²×¸Ù…ÄÄDéÙ³§(‡6[%+ªT©b5Ž«W¯Öwÿ*æÏ¹.ž"ò­®Ø¹sç¤jÕª6¿s}}}eúôéö¬òå—_ZéÚ£G³ÕJÁ;wÒ­íçç'[¶l1¾e¹ˆäó¯¬H]ùI“&Y£———lܸÑ.ãéŠlß¾]¼½½­Î{ìØ±ÆÃžæÆ%b0òJŠZ´½-®jÃþ…Vä¥K—2vìX›M›6.]º8S¯¼B#à´'õ)*’8p€Í›7[=•r$´z2¤³~ýz<è4]Š+F—.](^¼¸ÐÐ"ïÐjÈ,$wf•J‡‘:8y÷îÝ<ûì³NWÊ" AƒX´h7oÞä©§žbûöíÔ¬YÓdí4¢¢¢8þ|ŠmžžžÆ`V³Ý£Œ$¡}ÞcaUªTá—_~á…^°róŠ‹‹ãõ×_gåÊ•Lœ8ÑOb*¶20Ý¿ßMlsúôizôè‘æwUùòåY¾|9ÁÁÁú¦%h¿ŽI©æ8Þ¸téãÆ³Ú9aÂÚµkçt¥œEË–-ùä“O¬2b}üñÇôîÝ›GyàS´‚‰Îõh0ê±HAÑžÈÉСC­¬¯+W®d× syl­ØÌœ9Sß}EÌ"—ÄSD>Ò×®]’?~›O{ÆŒ“朚E._Á‘×Dä`êóº~ýºL:UêÕ«—æÓ7GÊÁƒÉ*…[tM^Á×O`Á‚VçܶmÛÔçi ±±±Ò¿›óR®\9Ù¿¿Ù*ŠˆÈÏ?ÿl¥_½zõŒ‡¼(æÏ¹-§+øðáCyã7ÄÃÃ#ÍÏB§NäÀöº,-ï¿ÿ~š¿O<ñ„üòË/¦é'"òÕW_I¡B…ÒÃ‰ŠŠ2¾eˆx‰ù×BV¥¶Xî#ÇŽks.ò Ï<óŒÕù4ÈxHqòü˜ya4ÐϺM›6)% ›Cœ;¸råŠÕ…0tèPã!bþ7·K©""EäY "o‰æ‚6GDÖˆÈQy úùóç¥dÉ’6¿ûöí+IIIįydÂÀh!æÏ…Qÿüsiß¾½xzzfùóééé)¡¡¡òË/¿8ôÕ¶mÛ¤[·n6}ñu)S¦ŒìØ±Ãø¶(i/æÏ{vÅSDnˆˆ,^¼Øê|Ë–-+ñññvßÜÂ#ûì3iÑ¢…Í/å† ÊÝ»w3Û…Óqq£ ˆô‘­bYÆÖ¹uë–|ùå—lúMº-É-†. Þ½{ËÆm=õ¿'"߉Hs¯…´d°}œ¸- IDAT®d«V­¬Îë›o¾I}.'**JþùϦ馒¦ûI½zõRßÄ9…¤¤$)Z´¨•>†'ü‰"â-æÏwFRN´D""²páÂL¼¼¼¤}ûö2qâDÙ¶m›Ü»w/Ëã';wî”1cÆHݺuíú-[¶¬ >\¶mۖ㕹û÷ïËŽ;dòäÉ™ÖsðàÁÆ&~×783’æúɤö‚dܸdÏ»<ƒ­Ä 40ÒOœ8Gfyç¹oG}”mÛ¶%¿ŽŽŽæÒ¥KT¨PÁ<¥\—b@'  Э¡"•+W8þ¼M¹|ù2III™î´jÕª¬Y³Æ- >:‰‹@r’û¤¤$6oÞLXX+V¬ 66sõ$=<}š[·n¥wÈ5rGðn$ЭŠtµ¬¼111‘ 6°aÃ@«¢^¯^=yä)V¬ÅŠ# €[·nqõêÕd¹rå W¯^Íðs–šbÅŠ1bÄ*T¨Àĉ9}útšÇ^¹r…Ï?ÿœÏ?ÿœR¥JѱcGÊ•+GáÂ…  ùK®ÞL˜0©S§:C-Ó°•m¢~ýúäË—Ïj{³fÍlV¥tsÊ]Ð~pR\«111DDD°eË<ÈùóçùóÏ?m^OÙ¡D‰¬_¿>ÍLB¹1±o?€‹/òÍ7ß0gÎ.]º”é7W®\™ÐÐPBCCõ/G‡°hÑ¢ýúõ³Êâa/>|ȪU« cݺuÞX\¼x‘?üñãÇÓ²eK @¯^½ðññËœ¸éV vtÁ½˜˜öïßÏ–-[˜>}:ÿýwšÇ¾úê«Ìš5 žxâ 6mÚDHHˆÍûõë׳~ýz^xáúôéCPP+VtØyØ*°—ŠH‡unbÐjÙdÉÀHMbb"tHÆ·%J0jÔ(† †¿¿–ô®_¿~,Z´ˆñãÇsòäÉtßíÚ5¾ûî;»ë•rƒ±™Ïìß¿‘”?s-[¶¤L™2¦(e&… ¢K—.„……¥Ø¾wï^ý7´•3õqšŵk×2uì;wrüƒŸIëÇ-½=7$-çkhÅÍÍݽ{7[¶laëÖ­ìÙ³‡‡Ó½7É6… bõêÕT«–£ß7……™3g2yòäL[ @ºvíÊ€hÓ¦U¶¼ˆ]»v¥k×®üõ×_Ì›7ððpŽ?žîûD„íÛ·³}ûv7nL­Zµœ¤±ý8qâ!!!iûêÕ«;v,SO‚‡ÎôéÓS\ÁÁÁìÚµ‹>}ú¤YxoÅŠ¬X±€’%KR·n]›‘rÊ™3g2:$7éR°`AÚ¶mËÖ­[­ ô:šÒ¥Kóæ›o2dÈ ,˜bŸ——}úô¡W¯^,Y²„ñãÇsìØ1§ê—/_>š6mÊåË—9wîœSû6š`»¸¤eå6Ob+mö¾}ûèÖ­@Y´û~§˜¦»H) ¢Õ¢x (¬où$þþþ<ÿüóîn`òm£råÊNVÇu°e\ÆÈ( \q†.ÊÀP˜70x( ˲e˘5kvíÌÏÏÒ¥K'K@@ùóçÇ××___š6mÊÓO?m×>¶)Uª}ûöeÀ€Ô©SÇlurÁÁÁóé§Ÿ²råJÂÂÂØ¸q£ÃndòùóçgÔ¨Q¼ýöÛÉ.0i‘/_>&L˜ÀÓO?ÍË/¿œ®¾‰8¯J¥“ðññ¡M›6´iÓ†I“&ñ×_%»¦mܸ‘7nd»moooZ´hÁsÏ=GçΩR¥J–Ûððð [·ntëÖ7nðóÏ?³råJ6lØ@LLöí=???Ú´i“lTäÑ•ö¢ú?¿ýö›ÕNGºÔº:ÿøÇ?¬¶¥Za-ƒ»%K–¤hÑ¢˜9sæŒS«›È Àd :h®`“&Mâ»ï¾Ër°NÅŠ ¦V­Z) ] *dGõsfÆ`¤ÉèÑ£™8q"ÞÞêGNÉŸ??=zô GDFFÒ¸qc"#ÝÆ#Æ©*Tˆ®]»òá‡f9f¢E‹œ}š/¾ø‚M›6qîÜ9  Œ‹<Âýû÷™3g­[·¦Zµj|øá‡¹Æ¸p&üño½õåË—§[·n®H¬P(Î@­`dƒá´ e`(œÉ+ Ý$͘1Ãæ£Gfþüù*KF!""‚AƒQ¦LBCCÙ¾}»ºaÎñññ,[¶Œ:PµjUƯ2G)ÒC«)Ü çEå» fÄ«*Cá,ü€Ö³fͲy9hÐ >þøc¸X¾|95kÖä‰'ž`öìÙܽ{×l•r-.\à½÷Þ£R¥JtîÜ9K™Ø …"k¶¹ OÏäÛ}§=ÁS1 gÑð˜?¾Í¢¢¢H6@Œ†HêméíË+Çg"±K.lÚ´)SÇ(P€^x¶mÛ¿ Nz5ú÷ïO“&Mœ¦Ktt4 .´Y±ÖHbb"«V­r’VŠ\†zj£p'Ò50V¯^¢æUêšîþúþýû¤&OdÑ¢EfuïÒÄÆº¥qž\n4­¬=+W®dåÊ•NSHáº4oÞœÐÐPºwïNáÂ…ÍV'M›6¥iÓ¦NísäÈ‘œ8q‚ððpæÏŸÏ•+N)Äêœf+‘8l4[ …B‘wp´¡P(ò.žhõ#®C>´L] …B¡P8 e`( …B¡P( »áüÚá …B¡P( …ÂmQ†B¡P( …B¡°ÊÀP( …B¡P(vC …B¡P( …Ân(C¡P( …B¡PØ e`( …B¡P( »¡ …B¡P( …Ba7”¡P( …B¡P(ì†20 …B¡P( …ÝP†B¡P( …B¡°ÊÀP( …B¡P(vC …B‘>ÁÀ£f+¡P( EnA …F3ÀÛl%.G0°Ø Ô5Y…kàc¶ …Báê(C¡Ðè |x™­ˆÂeh„f\%€-(##¯Ó¸ü Ô2W…B¡p]”¡PhäºóQF†€øøxAybÀ"  Pèc®: …Báº(C¡ÐÐÝ£zóPFF^æq4ã¢H||ç …†ñ³Ð HúYþ*ò €M@ÑøøxºwïÎO?ý”¼sîܹxzzêFFà˜9j*L @BBÞÞÞ Åçx¢¾# … µ‚¡Ph¤6¶ûá¨ÏH^¢>ã¢GüøãÉ;¿ÿþ{ú÷ïORRüo%ãS4U˜Ac€•+Wê¯ý:¦i£P(.ŒZÁP(4¼Ö­[‡ŸŸO<ñ@_´§“QO)ÝÇÐŒ‹b ôìÙ“+VX4þ|æÌ™ƒ§§gI4#ãIÔJ†»S¨°zõj‚‚‚¨X±"hnRGÍTLát<æ@  <D7³hî•q¦i§P¸ÊÀP(4¼¢¢¢èÖ­kÖ¬¡E‹ ù] ð2ÊÈpWê¡ ôêÕ‹~ø!̓çÏŸ‡‡áááF#£ pÜ9ê*L Hÿgß¾}ìÝ»W70šß˜¦•™”þ ¼dù?-n+Oß —Bá’(÷…Bà 11‘{÷îñÌ3ϰsçN}_(0õyqGE«qQ}Xºt©ÕAÞÞÞxxxXmŸ7o PFFÞ `ÿþý$%% ŒÚh7” ÷¤Z-œ€¿ˆ°jÕ*ÆŽK‡(^¼8eË–Åßߟ&Mš0|øpÂÃùÿ>h¿#€ƒ@óNA¡0 Q¢D‰È""aaa‚æ%€*TH¶oß.ˆˆ— è«$gòˆˆ\IHHž={¦˜w]¼½½eÉ’%2{ölñðð°yL¿~ý$11Q¿>þ‘:.p~Jì+7ED>ùäÄßßß8çí]@?%ö—Â"ò‹>Éׯ_—gžyÆæw@j©Q£†8p@ DŠHm8'%Jœ&jC¡Ð°tÿþ}žyævìØ¡oê,HëxE® ZÜDÉÄÄDúöíË¢E‹¬òòòbþüùtëÖòí·ßÚ\ɘ;w.ÔW2JYÚ®íØSP8‘ ÙK^¹¸{÷.§NÒ÷+7)÷Ãø-˜›Í›7óØc±fÍšL½ù?þ I“&L›6MßT-Ϋ¸tU(\e`(i º‘±}ûv}Sw`1ZõoEî¢ã¢_¿~,\¸Ðê ݸèÑ£Gò¶ôŒŒ9sæ¤62¶¢Œ w!XÿÇàeü_Üs?ÞÚ„‡‡Ó¾}{®^½š¥>|È¿þõ/¨o*‹æfký¢P¸!ÊÀP(4Ò­¸ÿ>;v4]€¥€£SØšh7þ¥’’’ eÁ‚Vyyy1wî\zöìiµ/##ãå—_VF†ûpóæMÎ;—¼qïÞ½ú¿Q7îD à#€ÈÈHFŒ¡¦³EXX˜1åuG`PŽ5T(rÊÀP(42ty²ad<,|©˜Â.Ô@»á/­zM #žžž„‡‡Ó»wï4JÏÈWF†û)W/R½.Šv})܃QX :”;wîä¸Á¡C‡róæMýåÛ¨d!Š<€20 LÅTèîRÛ¶mÓ7= üäw^ŠœSíF¿LRR `Þ¼yVyzzÆK/½”aƒƒ J“Q+‡ç 0/àq°60~ÿýw>|¨¿TnRîA ZŠY-ZĪU«ìÒèµk×xýõ×õ—UÑVÀ ·F …F¦Ÿ(ÅÄÄбcG£‘üp€^ŠœQØ”MJJâå—_fîܹVyzzòÝwßѯ_¿L7œž‘f42J£8ÊȰ/%p|²…G€‚`m`ÄÅÅqøðaý¥3½+9¡¼Î X¾Ç§OŸn׆,XÀõë×õ—}ìÚ¸B႘• §Žs+9Ä¢å¥/æ >nQhËâŽêã.pÌAm+¬ÉÒgA72~þùgÚ´ið°øÚ5¨0Ÿh™[Ê|ðÁ„‡‡Û´Bse±¤±)*x§fß¾}4jÔo`x¡m{ÁÁýäuš$%%ñûïö/Â}ðàA:tèÜÂíÐ=bMÕÂU0)?îqµ,}Lw`“,}üèÀ>v‹ ä1ÎCrHĺFFR°`AÙ²e‹­¹ ‘.p^y]úŠH¢ˆÈ•+W¤F6çÑÏÏO"""RÏc†ìܹSüüül¶ùâ‹/J||¼~èß"ò¸ Œ‡;ÉG"²ßÁ}̹té’Í90`€>¿ "âç@=ºŠHœˆx»À¸»³9qâD–~2+'N•]à|•äLüEd”ˆü$"çE$É2·I¢ÕYúADFŠHiÐÕéâÎ.R*ˆJ‘5€W€ùÀeà±ì4óÏ>˦M›Œ›aÀà3T¯™ÌCËÚ"eÊ”aëÖ­T«VÍê {÷î®]»2Ýð/¿üÂÓO?ͽ{÷¬ö½øâ‹,\¸ooo€[@;à@6ÏAa›hñ­ØG¤È•Ãv/ «à ´ÕLîXJ‚¶ÒàRµ«jbä^òã€?)@' 2ÿË&çv-½LÎ_­¨™˜Z,lñâÅL:5Çí4mÚÔV;Þ WeÇõÁsæÌ¡T©RVÛwïÞÍÈ‘#íÒÇøñãi×®]ÚR¤À­H^4׊2öj8&&†§žzŠ–-[2dȺvíŠ@àu‹ìf¡¹ÉøªlÙ²[·n¥uëÖœ={6ÅAwïÞ%$$„õë×Ó¤Iú ʸp Xþ¾gcoò£¹´Ùt8qâ÷îÝÃÏÏ4·—­У ÿ "8î€> ±Žl7Þ!(M`ÐPßpûöm<ÈÁƒ9~ü8UªTáñÇçñǧdÉ’ }—¼†{ÓXg†âÎÆTãêÕ«ìÙ³'Çí)RÄÖf/€°~ýú÷¡·e«èèh»œÀ7ìÒŽ"™@´ü¢¥“L&66–}ûöqüøqNœ8Á‰'räw»cÇvìØA‰%0`ƒ¦jÕªúî–¹Œ¾FÎä´ï»™åË—gëÖ­´jÕŠóçϧ8èÎ;tèÐ7l³!e\¸¥-ZmZÀI;÷QK1Í´ Œ¤¤$8@Ë–-Áq~õoþ¯‹VäSa_JU°Ì·%®Æî¤j·"Z<Ö% Ú!*ìÍcÀ,+]gÏžåÕW_eëÖ­ˆˆÍ7Ô«WÙ³gësü Œ@[ÑpoLòͺ "2uêT»ø5vèÐA è1á""çÏŸ·›ÿäùóçõ>ôŒm""k×®µ[ .ÔûP19“²"2EDî/Ž?ÿüSfΜ);v” 8ÄÏViß¾½üðÃF_|s"ò’ˆxºÀXå%®OÀ… ¤råÊ6ç. @öîÝ›zÎTÌ…ëÈÓ©¦ækôñO‘¤¤$ HósþñÇë:\s€UD‹ïÐùÑÆÞÄCD¦Šß’LLLŒäË—Ïî¿ Ë–-<‘o\`,”¤/¢ÅYHRR’LŸ>] *”©y÷öö–wÞyGââ’/³DiãçäPqç g¬Î8¡EÖ(‹æŠt­`R¡ÄÄDæÍ›Gýúõ©T©¯½ö«W¯¶µ"eWD„ 6Ð¥K*W®Ì|ÀåË—õÝUÐâ¡ÕÒP8‡ÏÑ2}Q©R%¶nÝJÅŠÖn±·oߦ}ûöüöÛoÉÛÔÊ…KÑ Õë¾hO¡íI0ÀéÓ§¹}ûvšV7J¢Õ8°'#HOX×Îíçu†#±ÖÓ)P =–­°¼tIÃõ2?š¿Âuñ¡ÅYЭ[7^ýuîß¿Ÿ©7'$$ðÑGѲeK½vŽ'ð=öÿÎr)ÜÑÀ¨ö×E$¿ÚKÊÉ×_=ÃÏrTT”®Ã ;žã[z£ÿþ÷¿Å@ Œ¿»ÈB‘ƒšò`H[û— Œ…Ûâ!–ôÅ—/_–"EŠähν¼¼d×®]ú¼G‹ÿ6¸ã †"o‚tÕ¤IÌ… LU,#"""hܸ1}ûöåÒ¥Kúægý@[ó4ËÕÚ€_Ñ ]ö?¢¹Hý臖Y €Â… §Ùà­[·l®\äË—O_¹ÐñGËøóð>0ˆþvYôj‡ªúž cqEÚ·oS¦LÑ·—@›W{ÐKÊÉŒV0Rc¯Œ|h‰)øå—_øöÛoû”›”ýPE/ÑK6¹Q£F³xüÄÄDBCCõ—¸qUwS³HÙ‹_~ù…ZµjÙÜo¿LpmÛ¶%_¾|VÛ3뇧°+žh7Š`¹ŽüñGBCCÓõ—v5D„ùóç³|ùrÞzë-ÞyçòåËWX¼L¹I¥÷ IDATB{ò¡°Z„§,aÉc‹˜˜.\¸@tt4wïÞåÞ½{Ü»wS§Ne«ó˜˜¾þúkŠ)B@@EŠI!¾¾¾ú¡Þh7ŸMЮۇÀ/h~½ËÐ\«™£>†›ÿÍ›7sèÐ!êׯZÜÕ7äü3 šïô¡C‡2>>DDDdëý Ói£ÿ“ªÞU¶9uê/^ÔãÿZ¡Åº&-\±Ÿ‹”;‰r‘Ê”x‹È÷ú@ÅÇÇËo¼aúÜÙC7nœÚïGÑÜ5ÌsW“‚"2DDNŠ ¢££eåÊ•òÎ;ïH¯^½¤I“&RªT)§Ï§¿¿¿tèÐA&L˜ òðáC[êÆ‰ÈJéa9/³ÇÖÕe„>påË—@^zé%ãx>k‡>–‹dÞuæÙgŸ5ößÌýï9}ú´xzz ›6mÒÛßàsà.2/½y®Y³¦ˆˆ¬_¿^J—.¥Ï¾———¼ûî»/cÆŒ±yŒÁE*ÒÆB‰mÙ)b_w{@~üñG}îϹÀ9:DÜbC‘§È,Á’u#22’=z¸ÍÓ¡={öРAfÏžM—.]ž~º °çuÊÃÑù‹éccc‰ˆˆ`óæÍlÞ¼™ýû÷“˜˜hš’:wïÞeýúõÉAý ¤iÓ¦´jÕŠ‚‚‚@Ë`ÓÙ"÷€•À´|ë æhîÒ4øë¯¿’q/^̤I“(W®hu#~Îa™ ðÖIUé;Í=/»´F«PÎÔ©SIJÒ¼xŽ=JÛ¶mA­`Ø“L¹HµoߞÇÊš5k2<¾J•*Ì›7æÍ3·ãnfT8:`ÿêîà¹çž-!‘nXKŠÜ„ð–%Ë­[·Ò£G¢¢¢ÌÕÊÎDGGÓµkWFŒÁ§Ÿ~Ч§g5`7ÐÍ&/RøÍu$ÙêàÁƒL›6%K–kšr™%&&&Ùú¿ÿû?ªU«FïÞ½éÝ»75kÖíïc‘ÀR´tÆ»ÌÓÚåh)oþããã™>}:“'Oí½!Z,Sv(V­7ÓÆõë×.AÙìWç €›7ož¼ñÈ‘äç ¥Ñ ˆÞÌa?îJ>´ï‹üh7nùÒøëCÒ —(Q‚Õ«W³mÛ6öíÛÇþýûùí·ß8{ö,^^^”*UŠÇ{ŒAƒѹsçÔ±YQø¸ˆv£öpÁ(ñÀy´Jîª ¸óÐÒUÛ“Tí¹e<´20¹…bÀZ,¾Ñ«W¯¦k×®ÄÅÅeøÆ§Ÿ~šµk×:X=ûóÙgŸqãÆ æÌ™ƒ——WA`!ÚËJ“Us6¡Àt,AÙIII¬ZµŠ©S§²}ûvSË)gΜá?ÿùÿùÏhذ!½{÷楗^Ò}틯[ÌÕÒ¥ðÅòD1õÍÿW_}Żヒ¿¿?h7é½³ÙG²je"]öíÛg£&ZerfÍšELLLòŽ£G« äî‹ß~4Bû]h€¶òS—Tu-ìIëÖ­iݺuòë{÷îQ @¼¼¼Ò~SæøW&{EKnrÍÞ‹ Xw‰Å‹·k£önÏqK«Iáv”¶a1.V®\I—.]2e\|ûí· 0ÀqÚ9ï¿ÿž=zèÉ ¼Åä Sh+6a€||<3fÌ F<ÿüó¹Þ¸HÍþýû ÇÃÃCß”ô"ï®ZÙ¢.–c© ŒÛ·o3{ölýe7,«Ù ´ÚÇŽËô› ÆHu²_„õ_€G\\ŸþyŠÇŽCDô—yÝMªZ-›h⾡3.láççgã"+ø çËhYñv¡­lŒÃRNaW"›YsB… É_O™»™Ém˜üqADyÛäm%EÅ’ƒZDdéÒ¥’/_¾,éÕ«W%))IlúüfWž}öY‰Õ‡ážˆ4u¹q¤t‘+ú ?~\üqÓçÁ‘òè£ë)ċȋ.0®&ƒô ´ÃJ•*IBB‚~È'Ùìc­ˆHDDD–æ¯M›6b m6ú-."1""ß}÷Í>Î;§·?ËæÂ yRDVˆöùH&))I~ÿýwùüóÏ¥gÏžR¾|yñõõÍ´øøøØïüùó˃$§<÷Üs6Û÷ööÎ’žÒ®];7nœlÙ²EbbbRw•$"›D¤·Ø¯&L^—I""111iÖCÊŽüþûïúœýìçè1«ã "ÊÀ°%ÊÀH!ž"¡ÈÂ… ÅÛÛ;ËczõêUÑ~„†núgWžzê)¹ÿ¾>·Dä1˜#GÌù4±9KJJ’3fHLGJ½zõ22.Z‹–1늈L-“šÙse†|!"rîܹ4ÇrÑ¢Eú8Þ‘ÂÙèㆈȴiÓ²4‡… –¤¤$½ï·³Ñï{ú›yä›}¬\¹R?$ÂcìëóœZš‰È1””$»ví’#FHÙ²eöÙ4dïÊ àÝ ( ݺu“åË—Û2„.‹HO˜»Ü.ÉOúöík—y«S§Žqž²ó]‘+ĬŽ/ˆ(Ö(#…tÑcÞ¼yâåå•­1Õ Q£F™>ÏÙ•–-[ÊÝ»wõS¹&"5\`žì%ž"2W?¹+W®H‡LsGK&Œ‹î’ꉭˆl‘.0g©¥¦hßïDä´¿GDdñâÅiŽgPPqœFe±ýªúûôé“å¹<~ü¸þöåYì×W´jβvíÚ4Ûÿè£ôöo;hîNŠH¢h«8>ºF²"µE$¹T»ˆÈ­[·äý÷ß—J•*9å󙪊z–Ù³gSôô÷÷—ÐÐP9yÒ*s÷V©ës™[ÅKD΋ˆœ={Ö.»~úé'}nbD¤´ œ£CĬŽ/ˆ(Ö(#…ìY¾|yr.øìHjCDäí·ß6}®³+Mš41._‘2.0W9 ÓOjíÚµ6]`ÜM2a\ô‘­&ÂòåË—ñ)ñw¹3ÊFƒ~·D¤²ÛÎ'"±""£GNw\wìØ¡ëð§dmµ§‡þÆêÕ«gy>çÌ™£¿ýbÏíeýíÚµK³ýž={ç¿¢ÇÖWDŽHJÚ±ý¬Š§ˆ¼©Ï·ˆÈ;wäÃ?”"EŠ8õ3šÊ`Í2}ô‘Sõõòò’È… ŒjÄ‹¶2¬j*eOFêùé§Ÿæh~R}†§¸À¹9LÌêø‚ˆ20l‰20’ÅS,n2i)ʬØ20DDÞ{ï=Óç;»2tèPã©,qùÊ©$oÙ²EòçÏoú;Z{ì1¹qã†~Ú¶Œ‹—Äb\œ9sFÊ—//ÞÞÞ²bÅ ãÜ/p¹ÓÅC,1öˆfØ£ý†z£­ZµJwl;wîlÔ¡WúøDD{Jîáá‘å9>|¸±ßRY·£""¿ÿþ{ºí×­[רþ3vœ»‰bMG;¶Ÿ©!"¿êJù¤)zûøøÈ°aÃ䯿þ2ªó§¸§k­£%…Uðî»ïfkN:wîlŒ¥ãçæ01«ã "ÊÀ°%ÊÀH–¢ú@8ÊÀùðÃMŸóìŠÁ[Däi˜³ìJu±Ü˜îÝ»WüýýM[GK&Œ‹þ¢¹ª$ú{}||díڵƹÙæP—Ã""¿ýö›Ü»wO×ïS;µ=TD$111Ã`K9uê”ÞÿoYèc‡ˆÈƳ5¯ÁÁÁÆyÉlEñý ýúõK·ý|ùò«ÁÛëæ$H,†¬aåGD :wöõÓY´$""rôèQ©[·®éŸ×~øA²CLLŒøúúšª{ñâÅåçŸ6ªuODž7ans£”í^ V­Z%ÅŠËÒB+Z9ˆ5W;—c0ðHLLdÞ¼yLœ8‘?þø#Ç ÿù矼öÚkŒ?žÑ£G3dÈ (,±ô9,Ǹ &Y6D2·‚&îÀŠ+2eݪŒÒÊ8†'NœÈÖƒM›6ÉÁƒ3”W_}Õô§LÙ‘ÿþ÷¿ú=‘G\`Þ²"á""7oÞtz𦳥~ýú­\ KÜÑÙ³g¥B… ¶9cÆ ãG¤š Ìg%]™þýûK… äöíÛú¦¢­d§]?±<ÝÎJªéqãÆé}'‰–%)½>êÛZ5ʬ̜9So&*³×ÿ½{÷¤hÑ¢™jìØ±zû±9OD‹i‰™3gŽÆ DÜxÍ|¥wzêÔ)§e‡Êª\¾|Y²J£FL×;µ*THV¯^mTs·h.Éfw¸Š¼¥L\\\š5Lì%Mš4‘¿ÿþÛ8“]` ì"fu|AD¶D)$Ÿˆ$ç}üé§ŸLÿrvEñññ‘Ó§OëôS´ Q³ç.3â/Z:S™>}ºéãèH©_¿¾Ü¼ySŸ#[ÆÅ0É¢qHíÚµÅÀ;.0§ˆÈ%‘o¿ýV80ù¾]Dä?Ùl³•Þ@Ó¦M3=î%K–4ÖȨ8Ý—"š{WNæzÀ€Æó­œNeD$.«×§NŒí×Êæxúˆ%kTdd¤)RDJ”(al·¡ƒ®ÔòÞáùóç3}Ý›!† a™âï¿ÿÎQöCGJþüùeË–eE~–Üó»áH¬HLLŒ´oßÞ)óQ¯^½ÔÁøo¹ÀXäXÌêø‚ˆ20l‰20’ÅGD’#ëÖ­[ç2þ¸®(¯¼òŠñrëïó—i«+bú:J4h‘qñº¾3+Æ….›7oÖß~ØæÑ2[ÉÉ“'“u4™&ŠV40«mŽÑŠ–,X0Kãóõ×_ë}ÇHúË¿‰ˆ¬\¹2Gó*ÓSz~ÕéçTµjÕL·_¥J•̶Ÿž|¨7ðì³Ï /¼ð‚qœì•ù+=I’‰ŒŒÌÒ˜!}ûö•¬°|ùrÓuNOüüüd×®]F•]å…YRG,ÉFîܹ#-[¶tê|T¯^]þüóOã| r1É‘˜Õñe`Øe`¢+¯3Žé_È®,¾¾¾Æ€ïƒ.0‡™‘±""÷ïßwÛ´´™0.Fé;Ï;—­ ÷îÝ»‹Ú.0¯ÉÑÝ%J”@Ê”)ct¸,"Yls‰ˆÈ‘#G²<>µk×6VØ~?ö}Å’T"»)(uñôô4fÐúoý‘›""K—.ÍRûÆb›™ $7J°¤räÓO?ÕÛüÅ ×H+±¸¼]¿~]j×®múg5#)[¶¬d…×^{Ít3’"EŠÈ¡C‡t•E¤æÞÅWD‰h+OÁÁÁ¦ÌG… ŒÙïDËðföØd[„Ñ"âíóšžœùïÿkú¸9B^|ñE‰×çã¾ü/ ÷]}cvÝ¢R˪U«ô&WºÀ¼""?‰h…zúúúcFDDNJÆÊÏè7kÖ,Ûc´ÿ~½™bÐ:GD‹±ÇÜ÷èÑÃxŽ©ÝÖž×wtéÒ%[íêU$JæêßT­Š³ˆˆ¼÷Þ{)Úk×®Qßò¼.žÓ;™2eŠéŸÑ¬ÊsÏ%«Ÿ.aaa¦ëšUéÕ«—ñ²›Œ!7Êhý¤{÷îmú<€æf¹gÏ]­[¢¹Tš=NY³:¾ ™¤xñâ¦O¶=ÄËË+ua•ŒÈKFIv<ÌÍյ͖Tf\Ýó²ˆÈèÑ£M7GI*#㦈|£¿8þ¼ÝRr~ðÁz³¿»À¼""oŠˆÄÇÇK¡B…Rèj#¸ôޤ_Yø}‘ìx¥wïÞÆ>;¦ê㸈ÈÂ… í2©±û¥êk‡ˆVD1»Y†ž|òIcûe|zJ ¿¹“&MJïú¹ìÀkÂK,ßóG5½Âuv$ @$#^zé%ÓuÍŽ|ÿý÷ú)D‹Ha^ ®">")¢Åw¹RÖ¯TÆl«,‹YûŠHþtdªˆHTT”é“lO9xð ~±,Êàüó[.|Ó/'H51üøå´jw^—ÀÀ@c@ëH˜ßô䶈ȀL7GJ*#CDìk\@Š›çÛ.0¯ˆHS]¡¶mÛZé[´hQY³fqH’DËläi£­Õ"Ù ð6Š···\¼xQïo‹¡ý–þeÔ¨Qv›“¨¨(½¯†¾‚ôY©ç‘ZJ–,i»þiÌAIùÞx`Zép «JËxMô×;iÕª•éŸËìŠáÉrš”)SÆt=³#Æcx-¸ŠtÐOÖÑõ.²*Æ€ïu.0VYÓHC~Ù¹s§é“lO™;w®~±¸J:I³å¹""’””$Æ 3}ŽÜANœ8¡_g޼YÈ©xˆ%‹LÿþýM3G‹ÑȰ·qV.9þ.0¿ùÄ’òñƒ>HSïaÆILLŒQ÷m"R.U[×EDÂÃÃs>ž^½z¹E¦0Wáܹsú¿Ó;ÎdüÍVÀÙ,[¶ŒGyÄÑÆ¸Î÷úN€&Mšàí¶ÍsìØ1‚‚‚˜3g޾©8°èŒ!»“= Œ;wîðí·ßê/{層K>qâDŽoú²Qù¢¥“x?|ø3fä¸}Ãª¶°-.<àŸÿü'!!!éfjkÑ¢…þoŽË<÷ÀñãÇY½zµƒºp¡¡¡ 0@Ïï ,ÞmuÁ^éL?ûì3@[éň±wîûTénÛ¡¥ŽfÁ‚\½z5ÇíV0ÊÑVZ<øÿíy|U¶Ç¿ IëÄ„-a ›²(Š [YòFÔp|OEp@dž£>gTp†EGÙdXÆI#˰‰,‰–BÈrÞ• •†„$t÷­î¾ßÏç|RÕÝéúÕ½·ªëÜ{î=»i×®~øá-¿Çâ`ìŠr.?a@€/¿üqÁ!ÜGvv¶u”¸yyylܸÑÍŠœÏÒ¥KÍÍÆÀoJq%…Kzä±yyyÖœ7ÚÁp-Ì »[•—'N®;Žo:¿V•/_¾LïÞ½ùæ›oTkò:ÒÒÒÌM;;:¹‰ë°Ë}} EbKdÞ¼yDEE™‰(ó;xð éxÜ6ÉÉÉÖN¡¡KNÉaåôéÓÖÜ&ã0Ìñþûï;åû:¬6Móóó™2e :u*Õï§ŸŸ;w6w]õ8a{+W®tÑ!ÜKq£Û·o'##ÃÍjœO\\œõçÌ9.*)nž…§Ï¿0ÉÉÉáŸÿü§¹{ŸJ-.¤–¹a× (â`Øan]™°ãH 0*Ü38[†µ}ÉÁøo`––Ftt4›7oV­Ék±<\ØyÃW²ÄªÀN7Î(›ƒÆHÆìÙ³ ÷í`ìܹ“ 6îgggóã?:õp£Óbqln›ÌÌLŽ;V¸?{öì"eVF–n÷sû´X³f‹¾ÞýìÚµËPˆ·8€5º PI¡Wfn8ktÔÅx\§œm ;YÝ–Þ«H †Ì½œ‘ÀÀ?55•¨¨(¯éÅòìì`xÜÍÒƒÈS-ÀÂw5kÖ¤yó²­kñÊ+¯> ;ÛÁ€¢û{öì!'ÇùMÒ:¯cïÞ½¬_¿Þ©ßovXmÙ²…áÇ—ùÿ-Žß à¨Ó„]§*xÕ}???Ÿøøø"¯eeeyUÇÙŽ;ÌÍ @…R\Å9s#22R¥Žiذ¡¹™«PF¹°­ƒámó/L†Ç[÷9/áM`ÀñãÇy衇8pà€bI>…v0|Û`@éça˜dggËéÓ§Ù½{·Ó…­^½º°#ËáQ`8Ff“³æ^XÙ»w/©©© 0 \ Xêä;§ »N3scÏž=.:„G+ÈÎÎV¤Æù>|˜ÌÌLs×äRÌ ËC¼í°8?—Tê(vs0êR°ºŒ·Ž`XB¤À»Ã¤¦o:tˆ‡zˆ#GŽ(–äsØíú¶¢ ×a§Œ3@"”=L Œ ÙݺusIƒˆ>ô;{)“‹/’˜˜Hjj*K–,qú÷ïܹ“”kUªzõêY¬\å`4£¬5÷Ä.8NôöôåiÉÏÏ·† jC~~~4hÐÀÜõ8Ýn“Fî27¼ÕÁÈÈÈ 99Ùl4Þè`øÅX…}ûöÑ­[7NŸ>­V•o¢ ßÄN¯ÍË:‚aâÐ)ãT.\ȤI“\6‚†ó’˜˜è’%œ†š| IDATŠ¿þúërÿ¯ƒÃç*#àØ±cÖÞp¯àçŸæñÇÇÏÏXSaëVWÍ‘WÇž={xàJ^gÚ39Žv`W#<<œ   s×ãb íæ`´Ãs¶ó¬þÛeïÞ½Þê`Tþ #†³gÏž¤§§«UåÛTÀ~œ`ÜØ³€Jæ´¦üXÙåb¿ ôßÿݸqc"""8yò¤j=…\½z•wß}×¥¿76l`ÅŠ.ûþòbqøÎ®òâ*^±tëÍð–ew‹ÃRoµJúœ‡r ˆº—·óÃÕtêÔɺëü8Qc·Î`Ä묃î•xñRµ#(p.èÚµ«v.Ôc·kÜÊ~€–-=.íh×®¹yûM,ì/O˜”«ùàƒ\ºbáüùómy´œgžyF©˜   ¾þúk³#&xU© ÛÀN-Ì oÁ¯èíK…x6vÁÈVÄÆÆèÍd®Ãâ`lìšék/‰¢ì8צC‡æ®+ã@;Þ‚·ßœ'©sæÌ¡sçÎʄ̙3Çz|ðØwÛ9iii¤¥¥©Öâr,Æ]xOïÀ~sãŽ;îP©Cs;;‹"""èß¿¿j-G‹-hܸ±¹û©J-· Øz†j~ýë_[×Öwµƒa§g MùñÃþ¿%·C&ð,[±bE–-[¦$ùÞØ±c4h¹{˜èvNÄNÿ]à£PÄÁ¨4U(Å™ìÁ¸Pù÷¿ÿMDD„b9P­Z5[MÜR€®ñ›±8ðÊ+¯(–âyŒ7ÎÜ,œ¬hc¾‡p5nÆÒ;š‹"åJô¨¶÷àÍÀ:ày0æ@ÄÅÅѱcG·Øßߟ1cÆ0yòdó¥“@ F®(ÅN>±D­‰CvZo “º ¸ûî»IHHàÎ;ïT"$88˜Q£F‘””ÄÊ•+}ùÆî? 9À<ð€5Ÿƒæ´lÙ’'Ÿ|ÒÜ]€ýì9ò=×fûöíUkñY,#H»€Ë.>Ü¿Æ=äcÿû‹3˜ LhÔ¨ ¼ùæ›T¨àºŸÑÈÈHâââ˜2eйXÇY pÄeuvq0*MÀwF0Ž;Æ¥K—Ì]oq0¾Âáµ,¡éryñÅ9räÓ¦M£FÜwß}¼ûî»nÓ`3ìî`̤`-r=ŠQzÞzë-ëR£sTj)%Û(XiN‡I©Áa’ý&7R;Þ«Q»àáxgðöÛo³qãF—„L 4ˆüÑqÅyÀ!§Lvq0Aà;†ˆ°á”or0Þ^¨S§7näþûïwéýýý4h‰‰‰|ôÑGÖ𬫯¾ú*111.Õ`S<ÁÁø™‚ùO<ñ5R,ÇþÜwß}Ö9+ÿ<áÆyc²·žè­‡e‚]=ÿtˆ”·àíF0cÞÃ*àWæçÏŸçøñãÜu×]N=`:uèС7\"¯è†§ç‘;ØcR@£Fc¹S¯·Ù³g›§dƒ:p…ý^DrED233¥{÷îN/C???‰•ˆ;D$FDZ‰È%‘S§NIíÚµ•×»«­cÇŽÖr¸Óí 4VGD2ED¶lÙ"ÊËÑζzõj³~³Eä.Ô_im–ˆHzzºøùù)/G_³áÇ›í&_DBÝPßÿ#"²{÷nåç®­ìöî»ïšíå° î®°_‰ÈTÉ Ç—éÓ§K—.]Üò[Ô®];yçwdÿþýâÀ)y]DªÛ ¬ÊlÊØk""YYYâïï¯ü¢r—9Üì«Ú \aýE䪈Hvv¶ 0Àiå׫W/Ù¹s§8°¯à˜V } ÊXÖ®]ëõ6F3´ÒÚ[¦è‰'*/G»ZŸ>}¬õû¶ ê­,ö´)¼U«VÊËÒ×léÒ¥fñïsS}ÿ—ˆÈÑ£G•Ÿ»¶²ÛÇl¶—ompïp¦ˆÈ09+¶oß.TÚÁÕ­[7ùöÛoÅó"ò¿ºU—]©M¹€û›ˆÈ?ü ü‚r§uéÒÅÚ€:Ù \e]¥`!77Wž{î¹Û*·¨¨(IHH‹ÈïDÄ¿ ÌNžù¤ò2ÐVz«S§Žµ½R^ÚJo´¶Oü±Z}ÙhžLVV–Œ7N‚‚‚”—siÌßß_^~ùe¹xñ¢µNÖ‰H]”m±¦\€ˆÔ2Kë‰'žP^‘î6K|¼ êÂ)"?›'=kÖ,©S§ŽÔ®]ûkݺµ,^¼ØqˆÐŒE¬RÎã7Ã9cÔ,00Py;p¦98mmPçeµ Ùmž@ïÞ½•—©jkÚ´©dffšE/‹ë`#ÍiРò²õûôÓOÍb?äæú^%bô«.m¥7Ëü‹s~¿ùµXæZlذAš4i¢¼|ËcõêÕsÅN‘h”ñMM¹yØ,©{î¹GyºÛ¦OŸnž~š êÂ]VK,¥$SD&ŠHˆŽßDŒ•»DDdÕªU¬¼-8ËŒö6¨ïòØýæ }ú°zõjêׯOíÚµ‹XµjÕœp8¥Øá/IªØ”kÀFÕ"n“Ý@è|î¢V­Z4kÖÌÜuG‚=+ëüüü¬¹[46¦uëÖÖöò…J-·Áoo€ª¹¹¹ :”áÇ“——§Z×m3qâDž|òI®^½ P #wG7µªn$@µ ŒãÇ›…åSX 0î¥*’ân2€ž@,à‡‘á×ôÐó1‹}¸®|ØÜm­R‹³h ž~1‚â Øá//C1Âé4E©¡Z€øŒ°™Î;«ÖâõXF0Üeò ðÞ{ïQ¹reE24·â½÷Þ£R¥JÙÀ ÅrÊJ}`%P);;›Çœ}ûö©ÖäR’’’èÕ«/^–c<Ï(GuˆT0 ¾ë`ìÛ·ÏŒwÔ†:Ž -û0æÅx:~ªÜ[7ËÀUŒ½\Œ0›<Œ^œâ(é½Û}_åw»ÅûžÀŒóô{ðÁYµj•j=^KÕªUiÛ¶­¹«jþŽo_´jÕŠO>ù„gžyF‘Mq<÷Üs<ûì³æîxŒ0eO¡†#['??Ÿ§Ÿ~šM›TùÓîeÏž=ôë×5kÖ ,:`üNªCñJs\ÇîÉN\iúÓŸ¬Ã[TkiÄ%ð†©(”¥6m7³""›7oV~Í”Öüüüdúôéµâa÷î…É´EDš+®ó…¦_|±Tå­ºü¼ÁêÕ«'Õ«W/ñ3mÛ¶•¬¬,³zÄÈa¢úQ{ÏÿòË/+/s6pà@ëêR郞Õ#w™¾<‚a™è 4¡`(Y£ŒæC­{†1º×÷ºîçújg/ºùØ™ÀàÇv5›»ÚµkGpp°G,òñá‡2lØ0žyæyäöï߯ZÒ-±„GGýoËKÀƒ@Ã>ø€'N”8zµdɦOŸÎŽ;Ü&°¬››«ZF±<úè£,X°€víÚ™a47ФI–/_Npp0Àe`0žµ˜D{àU€¯¾úŠ?üP±5|þùç´k׎ѣGŒÅÛ®Lbg‚ˆÈÙ³g•{~*­Y³fb!Vµ×éãVOD‹ˆ\»vMºt颼}”Õ¼dã~ùHDNˆZ>–ëšT²OD¦‹H õõã {Ö<¹¨¨(å×Í­ìý÷ß/R!©©©Ò¬Y3åºneqqq¦äÙ Îcá‰l‘œœyê©§ŠÕ¾{÷nÉÉÉ‘ &H@@€ò²´Z`` Œ1BÒÒÒdÁ‚¶K S§N-ìÑŽŒŒ¼éçZ¶li$œ'"OÛ ”ÅEäG‘ .Hxx¸ò²Wi•+W–¤¤Â4_Dáï…ê†ñ™ˆÈwß}§¼RTš¿¿¿uÕ†·lpÁúª‹Èv³"† ¢¼m”ÇŒ‡mP®¥µù£X2½Û»8V2EdI¤<-ŒÁj…=+o¼ñ†òë¦8 ?ÿùÏÖòO77~ùåiÛ¶­rÅY`` \¾|Ù”û® êÜ´"rYD$//¯Øp©Ý»¯/$·mÛ6iÞ¼¹ò2¤wïÞrðàAk›¬¬,™:uªÜqÇÊõ5hÐ@6oÞ\DßÍŒöíÛKZZšù‘<bƒ¶QV{Í<çŸ^yÙÛÁzöìi­úiªêFuÃØ-"2{ölå¢ÚvìØa6†¯mpÁúªÍ7+áí·ßVÞ&Êkæ`ˆÈã"²RDr­Â³³³åË/¿”G}T*Uª$+Vt›Y²ØÞà`Œ=Ú­Z"""dôèѲÿ~¹ ¿ˆÈiiƒº,Y»v­òëæfV·n]IHH°–÷61:Ʀ‹HŽˆñ`ùÜsÏ)×ZŠ{ÁÔ·ÕËòào¾ùæ s.¬†ˆÈ•+WdÚ´iR·n]%åÙ¾}{Y·n”DzzºŒ=ú–s\a•+W–×^{MÒÓÓoÐåè`tïÞ]22 ‹?ODÙ M”ÕE䤈ȦM›ôœ‹-Z´È¬Ûi¨¢~T6 ?)èÁøÃþ ¼2TÛܹsÍÆpÈ­/Úf,Z´Hy{¸ó£™ˆüŸˆ¤Š;wî”—_~Yi~„Ÿ~úÉ”sƒƒ1bÄeº:tè ³fÍ’óçÏ;›ˆÈDd¨ˆ„Ø ~Kk+DD222Äßß_ùµcµ=zÈÙ³g­å;O ÂzE$EDžc4IDDþö·¿Ipp°rÝV=z´U¤ êÛÑÚ‹ÈiSàêÕ«%,,¬P¿£ƒa’-Ÿ~ú©[BÔBBB䥗^’]»vÝTKq\¾|YæÎë–l‚ƒƒeĈrêÔ©bõ˜†¿¿¿L˜0Áš+WŒ\PªÛByìwæI<ðÀʯ7;Yxx¸\»vÍ,žUÔʆižù£>ª¼2TÛ¨Q£ÌâÈ‘Ê6¸p}Ū‰HapõÆ%((Hy{¸³±ƒQUD~/Æ %E8sæŒÌ˜1CÚ´i£¼üÀ¾†iÁÁÁòÄOÈÚµk­ &Y"²XDº‰Ñ‘£ºÞK²1¦è{ï½Wy¹R½zu™:uªãØH1f —h‘]"-£0""»wï–N:)?Ó–/_nJ»bƒº.ΈȦÐäää‡Åâ “¼¼<ùÇ?þ!ýúõ“§•[ÕªU%&&F/^l]Y©Üø@•´yàxöÙgùíoKõêÕ­o üð/%ânNg  &&†uëÖ¹õàþþþÜu×]DGG3fÌêÕ«g}{0h¬ª§¥¥Ñ³gOžþy^xáós‰@/à~`&P ??Ÿ%K–°`Á¶oßÎ… ÜuZ…lÙ²…N:$SÔÖÆø“€?š/¼óÎ; :”5Ê—¼þÊ•+œ={–´´4ÒÒÒ8wî•+W&,,ŒÐÐP #00ÐI§PvNœ8AJJ 'Nœ(´S§NQ©R%BCC u†††Ò¶m[4hP¦ïÏÏÏgÆŒ 8ºuëš/ ŒÄH\ê©LÆdffÁ¥K—Të±%‰‰‰f"çx ÚÇVî`ìÙ³‡{ï½×•<†´´4ÂÂn™<Ú׌Àc@?Œ‡“ÐÒü“ˆpêÔ)’’’HKK#33³ˆ­\¹’]»v¹R·Û°‘ƒQxs9þ<Ÿ}ösçεõšö&žê`˜T®\™þýû3dÈ¢££ñó+Lè>¢NÙ ÔÁ7n$55Õm®S§íÛ·§jÕªŽoF`d½ž <ø9s†®]»²oŸ‘ÜxæÌ™Œ1ÂüŸÓ@,ð0xKÎáðáÃìÝ»—k×®¹ð¬ŠÒ½{wó7å –¼S6g$0àÞ{ï%55•?þ˜~ýú)–u#GŽaÖ¬YÄÄÄн{wÕrnàðáà 2„ï¿ÿž£GÒ°aC°ß= ¼ìÚÎ;—ßÿþ÷ªµØ–1cÆ0eÊ0²z×nž Ÿ-iÕË/¿Ì/¿Ü˜+*$$„eË–¹K†­9räM½ðV­Z1qâDŠlCC o=T¸Ù‡2339zô(III$%%Ù>vìYYYn”¬1™9s&cÇŽ%;Û“;Ë<‹+W®°hÑ"-ZDdd$7n$2Ò–Ø¿ã€iQQQ*uÌ–ctŽê¤¦¦]$!ìÈ‘#9þ<ãÇÇßß¿6° ø0 < <´óóó£iÓ¦4mZd0Ï\VuàrP¤íÌ™3ôïߟ§žzŠ¿üå/„†–ªOÉ¥$&&2iÒ$–,YB^^ï¿ÿ>÷ß?ãÇ'&&Fµµ¦¦¦2aÂþþ÷¿“——WìlÚ´‰6mÚ0kÖ,žzê)0zW?Æpœ¾`Ä‹ûöDC'pêÔ) D… èØ±#111ôìÙ“öíÛãïïï²ãnÛ¶©S§²lÙ²[þîlß¾Ç{Œûî»qãÆÑ§O—Îñ8vìëÖ­cݺuÄÅÅ‘‘‘á²cÙˆ6—/_æ§Ÿ~R­ÅÖ\½z•ýû÷sÏ=÷Ôwç±µƒ¡± ÷o½­/nܸ‘O>ù„¯¿þZ÷‚k4ÞGMà¿ %¼WÖÏa, Ô)ø[(2 #33“÷Þ{éÓ§sùré"‹222xúé§Y¸p!#GޤGøùùUX.FìsÆMì"ÉÍG]¬ç×;]üJxíf>+ÕÉxyyylÞ¼™Í›73~üxÂÂÂèÖ­111ôèуˆˆˆÛúþÜÜ\6mÚÄòåËY¾|9)))eþŽ]»vÑ¿~õ«_ñè£Ò·o_zõêEµjÕnK[ff&6l(t*n6²æTعsg‰Î¿Æ`ûöí¦ƒQ¶ní`hTS˜ˆ±Z‹?À¹sç˜?>³gϾiȘF£ñÂ0VSÊ¥K—X·n«V­â›o¾!==½\ß³víZÖ®]K³fÍx饗2dˆ¹šWFX”ª Kñ"ÑsçαtéR–.] @ëÖ­éÙ³'=ôÍš5£qãÆûÿ¹¹¹œ>}šmÛ¶±|ùr¾ùæΟ?ïm|öÙg|öÙgѵkWúöíKtt4õêÕ#88¸ØÿÍÏÏ'%%…C‡±}ûvÖ¯_Ï÷ßONNŽS´y0Õ=zQJ,N¨ÁÐø ¥ Ñ§¤¤0nÜ8–.]ªG+œ‡Ž#Óx§OŸvËB YYY¤¤¤œœLrr2Û¶mcÆ N]ÝéçŸfĈ¼ñÆtèÐF±ððpëÊ^.#<<œŠ+ºü8vcïÞ½ìÝ»—iÓ¦ÆrÄ‘‘‘4mÚ”&Mš››ËÉ“' íÌ™3nY*ÿÚµk¬Y³†5k®/®JDDÔ­[—jÕªqìØ1:DRR’þ-¼9Õ½pK)¹zõª¹é[FJJ cÇ*ïÀ²>6IùuŒ5ùÉÎÎfÚ´iLž<ùf+^h4`ðàÁnσáj233‰'>>^Éñ-y0|šüü|Ž=ÊÑ£GY¿~½j9EHOO'==½pùcM©¨hç«”XÊ)cN·Ä•)w0NžþøcÕZ4‚½¡-TcIDATŸŸõë×w˪;&%%Æ ukVì‹/:mÉLF£ñôÈ|pHBé¶²Ó†Æ]T:|òÉ'Š¥h<† 2hÐ LãÆUË)düøñŒ?ÞmÇËÍÍeݺuÌ›7U«Vé•S4¯“Å(5®Ìr_ÚÁи‹( `ñâÅŠ¥øÕÓS¥J À!CèÒ¥‹[G-ìJ@@½{÷¦wïÞ¤§§óùçŸ3oÞ<½òšF£ñUt/KÐ#o§¹qéÒ%•:46ÃÏχ~˜!C†KÕªU?’ | ¬ÁMËëY8jÙŽ)ø+åü[¶ü .Ãþ=@ýÐÐP† ưaÃ8pàóçÏgÑ¢EœÿQ"оäcŒâ| ÃX‘mð`… übbbˆ‰‰áÂ… ,]º”yóæ±uëV…r5Æedƒ>ª¹5zCãíxÔ\/By¹ûûûÓ¥K—¨*UªXßξÁp*VìkJæð÷kŒ1ª1h /¼À /¼@bb"óçÏgáÂ…*µ–šúõëÓ¼ysÕ2¼ŠJ•ôÀ±Æ+¹ ÚÁ(-^?É»fÍš\¸pÁ]‡ó*BCCUKp…AâuêÔÑa.$,,Lµ„"¼ÿþû;¾¼˜,ÒÜ­É‹H&ÂXHa0 TmÞ¼9“'Ofâĉäåå)”X:æÌ™£Z‚Æf<òÈ#4lØPµ ¯ råʪ%8“l€êÕ«S»vmÕZlOHHˆu×mŽ~.NÀƒ11Sã<Ú?¨Q"ƒ“V5îã~@U¬ŒãÍå,°ñøÑíj|‡*ÀŒª.€5m~Áëv¡ð“j>ÀR` j¥¤ ¯Z„ó0RµˆÛd.öºy¡€[+éñ%»8üø3ºÝù9¡Oó0&lë(×s#äl†c?cdãN•¢Š!è¥Z„ªZ€FãD^:-U ñ@¼f£Fo„Æy¬<9Ö¬=ð0Fâ=?ŒÆ^ZCáç=•aLžVÁŒ¨³ŠŽ¯)ʃ@ð…j!M c<;h\ÃE ]µ'ÑÐ·ÊÆW¸©£ÏÕ†F£Ñh4F£ñ!ô"ÂF£Ñh4ÆihC£Ñh4F£Ñ8 í`h4F£Ñh4§¡ F£Ñh4Fã4´ƒ¡Ñh4F£Ñhœ†v04F£Ñh4ÓІF£Ñh4F£qÚÁÐh4F£Ñh4NC;F£Ñh4ÆihC£Ñh4F£Ñ8ÿTXª‰š«$GIEND®B`‚./chessx-1.3.2/data/themes/outline/leipzig.png000644 000765 000024 00000136520 11172700607 020756 0ustar00nistaff000000 000000 ‰PNG  IHDRv=š]bKGDÿ‡Ì¿ pHYsÝuÝu¬‡ÃƒtIME×  ‘§,P IDATxÚì]{œUÓû~ö™©¦«©¦J!IB¨„* !$¡/!_!ä[D!DéŠ"¹+¡èF¹'!•î7Ýo3³×ûüþXkï³Ï9ûœ9Óœsæ”Yûó¡9gŸ½÷Z{­÷Yïíy²VÖÊZY+ke­¬•µ²VÖÊZY+ke­¬•µ²VÖÊZY+ke­¬•µ²VÖÊZY+ke­¬•µ²VÖÊZY;›U6e­¬•µ²–¾9¨âùs•eïg€ÁQèÇi3¬³#~ɸo²Ü:<â×ÓÑ:Ž_޵n(›dûÝ¢h‹ Ñ™î;ñÞ°~6ßf¡-NGŽwÙ`¦5í‡Kp š#ÛýÀÆÏx/X[ËæÈ¿nMdâ\‰6žÙ Û˜Œ¬uûOGÆ0ž6Ýç—aͦÍüˆ£€$—ùüz:Yès~ð($É1eSm?[U85ÊÅL€m¸Ö÷Ûlx@C.§;WH þ±’­ËæÉ¿lU4çBçõ 7r1—sopFìáfîG€q'+Å8ÎŽÕY‰XÌ`À÷8$`œå7ú¸¥ 0öÇ¥1^/Š©ìÅ ØŠíÙ‡ß9 cr‡^!ïò^vg>ÄÏ©Aš}à´€¾Å¶Ìf€xq«ƒmÊfÊ¿hMôÔ»ßB¾ÃN¬A3yá*wKÎ*)|¢’Æ­¦ þG‹€Q!æ/Aðà€qFÌ_Þ\ûßÒh@’ÛxAØ»¼‘6IîàÇ$9‡„|Û„@9`Æác’\Ë³ÂÆá~©{º‘9e³å_²&zéWþ5ó‘rÙ_£ 9;uQe-GgŸ·9ÀÕ¿cňoëò’œ{€ŒB+’ÜÄc|Æ¡§éaZ6[þ+¢•ƃ‘ÌŒ*éÎÖ³ŸŸZÀ”½ž²VÊ-X„wp¥ÜŽ’Ax{Ì)˜U媹ªXçà@ñb\7b€ ÞÈ÷eŽL•Çx0|tÁzèZ6Yþp‘‰QÈFâVD‡šŽ¶Ø ]Ø!•O—·ÉË µúZ^ŽûЧÈ5apõ2Ä}×îv+÷ׂeз_·éfÿ2YÎ ŒU7dÛñ#ZLœÁqP°’gry˜ŒÿŠ£9ð>`á]t´tübt—\Ø„AxÈaëϲÙr€·.h|…;\#PS¹ÄjŒêV!Vr¶¼ØiÀ÷è 0“ÒCLRʶòª¿IêúÂð —ŽÅ0I-ôÆZ¡p4I1“­ÍÑì_¼£@ö%&Á¡ ‚o$W™w>Õý~¨€` ’ä2 ËÈžÁvº*^U XK¯³Öì,hÍâ·éäHL% \ÓdEyCB'Äi§Ùû±þ¨qJž+QFÔ–]¢éåóëìln4„;å9 —–fBN)/@%â[ù€QÉw›OqUÙº€]Ø(|8/ìÓs-؈e8ò€Ÿ÷¹ÖkRh¼Eæ1¼2¬£µ¬÷­–òSú£ƒVDMÕÃ%0š¢$;€\LÇÞ6â8€…mÂá€?±¹€_¸Ã`DdMX €¿ØÈ@ÆŸ„hAC:7¯º ]•5LŸ7ð€ñ-ZÅ}ns|u`‚f²€×Ì_§ª+3"Ï©€'-cýàxà˜Ô=_’c¦Á@Àý¯… Ïn2VËÇçE,ª0þ@tÀ»(tã"ëñ'`\ˆò(@¡Õž°¾µ˜,8§j‘‰ãñ €ÑT ?óY Î<ÀF¡"`g˜ˆØIíϨô/Ð3UÜçªurÛÃÎQÔ¨³­ê²%Óq<µßÆïŠuqÚf\ðï“§˜„[0ò‡‘¶¨‹>`žu¹—°fÊ™Sî@ ¬#¬#YˆeÐV8q,~ðz…|úaY¼~QÖYÀj×{|”“hbÍ,Lñãe–½¡RlÍ>Ç¡‰q<ÅZõ/…IŽÌG° ¡!å×áj 'ëд;ÞÅ6¹~ŒAZÿ˜‘æ»æLÔsÿˆE·è€w¼kÍaK+¨_ ´ÓÛÈM1îTŵÑmÝÿ™§<Ó'º[oýþ¯Wÿ¸ÿªõœšfp¶—Æ©l·2#½ÎúÃý¬êóÍ_}q"Îr1¦DÊÙ~جU|]2pR`T×ÿ{6šZÈ ý ^A7°1"mßyîF‡ÐçrLÇR1¤ýІW`–ÃÆ¸›íPÇÚÍoåéÀo €¾T|ƒjÙw£­×¥Ã˜†û³¶*Ö}C 2ÛÙò_²"ʹÿ²Öù&c¿E†ÕÆsD«çØ¿Âj=\ËQlìJ’õÜÕv8bzý« ´™C¸w_Ø>׉°%I6£Ë0­wÚö«÷8¹››¼´qä`ßóINg9ßÙ~¯þÝDß; ^x·z) Ç¥’k¨„ãÕšœÒç ™&Þ5ÞVy¿m~€†Õ²5¹Ñíå[-¢øÑgÜ—2‰—”°Ú–Öè¸#㎊ÀÎ^¼(î¨úÓ÷»¨º?q$, =Ѓ“p:K=&ø ¸Ÿ# æ´ r@ƒE;DùŸáói6[ò“ð%>ÂÅf†¾‰oÃ4 Ña•i:Nì…á°Oá#¬Àa8=Ñ úr—õhØO& ?òZã-tu-ØN»ažðÛ¼iUëG<ƒiØ ÎÄí8º¢ÏÛÿ‚µ/à6~PVþÄC”è-Ÿ€ʃvŠî& õ±ð5¯ðÕ0¶á7ó¯“öo £tÚþ¡aTãÁ¼™sœ‡^ÂBòµ°ägW=ñÀç&e7nÑÝýžg»#ÐVV ùŽÔ"˜É;9Sx-‚¼TÝÄl³³zÄ!ä«—†=kªõ¢±¬ö~¼Ok{˜ë³·,$É…<=ä7;:ÃÀhz‰â½ „ÝéjîޯȽÆÜ.g(mt]™=ûÇm(`;Ù† ØUýŸ<)V’O…<ÐCçüÿ⮉«%R¾Î“*fÛt­þ K`À€ÏÕ$É¿ å4yU㥜´Coá€È½è`§]«+?¼ÂšÁQQ¿‡Xl…Ã<ÌÆ§¹Ÿ.ÁšŽÏ§[šõ.›…äOÆqš¼¥–Ø«ío¤+Š&§^u–²!’O†þŸHrx4!„—Ž2I–Ù+íéê&Ñ⦿ŸûÉœ r7ÛIpjÊ7¢iðxÀI’7yiÕwrm|Ε$•ø—¶G¤„£ 0J 0ÀºœI²—ÞW«]¶¯hĸ+X[kèNi˜õ!:DwµÇçÍþ¨Ž4ãRE滫æa¯h`Ý’^{h-Æ;ÏRžÞÌPq Q„§“w‡Æ'$ÙÏ÷Ü>d¡ ›è¶ÃE ”MQÁ&ýƒÜ˃ÝUñ”ræMõ¤>Òä¡Î—.¼ŒÍTœxYIŠä]`”`ȱâX‡2K‹J!Éo$Ô¤P“ý¸á fr¸îÐLìö´<_Œ:‰¶Ð¡ZËrϲy†„,™Qé&ú6Ýñ«°(—‹^ 0]CæÁËÑ5Œät=6²%ä>Ї*÷·û§`•]ÍûAù·ÀQÚ—»rPO'0®A*#‰yùØ.Û±=°UíÌØ!;;±ËÎÏ܃Ý*ŸvÀ¶lˆ‚@2‘Á f2S*–«€ò¨ **[U•@«ŠªšQU¨f•ÛŤûOëmn‘ÎÜQ€»åùà´@††ÍÿƒGñ nĽ¨d¡7zò<¼?§d1ãÑþwº\ÿ9|­¢F¾dããÀ}|Úöâ–Ày6 ŒEî²€{pjÝøDzÑ~ÿ@&O ‹qie}„"’Ósu!¬bÐfý8.Œ—3€\ à'tOõ;ÎAÔCê¡ rPõÜG[ë°¿âçøfñ4Zî¼XŠB–³âz‚<4E†*ÈöÜ{ò±{±;± ›¬i¼PîAk4¨Â˜'¬ÿwWjg~ã=nçöÀµ=c‹Ú‘±EíÈØ*;[%ß!”Ì€S­"Óý;ZÓuœ32Âþ›€QÝ:HjXÕ‘-µ2jHŽU=jzKÚˆI·ýŒ®Yªµ¬3Ká^ä™g¿™Ó"z±Ãñz ¯Ýø4ž²ö1Ao7ÌGË”À1”§¬£åVKYÀó­‹ aý÷ØŒ~xÈăéEܨ¥Q+|yÕ ,D„͆´_Àˆª]jÉ[UÂWUõŒà·©3¦ ?.‰ëÌŸ1 Z_ÅÚÏ>Ãû P‘{‘ÛoýÍ n­ï/ªà\ˆÖˆGßÊçðlºn¾¬­ü ~/‚»×‚ÌHí³%0. ù <$+ZÚÚƒ=X Ei Ž˜ÜkvÔ+똌wyò%ýÜqê¨ÄÝ–Ÿ¦6/ãVÜ q#ï·&ì‡úÅPt®Çîg§Éä@Í8~{sà^Á=ð:*p”e¡·õÿ²€Wp7Žºòakyúôµ2`; ¬ò!Ÿo´´Öcw _ÀÈ‹ö ¿5bÞl€j©{»y¢µG` 6b3¶`36c36aÕPy8Mu)úðO¼ˆÑ~b{7n’7@6f ¡UˆKðæX'òuiˆUw¢3ª8`³¿`1VáìFÔAMÔ@uÔ@uTG.*Ùè;ùžJÇ,f¡ð½#ðø¶–r{ a“À§|Û2|tÀ³é¿ô‹¬é]ZGúù08T2\âÔ©6™Ë:²|Jˆ»•±ØÖ¿¾ÄAÁäáéÜÏJ“²‡¶­_’˽Câ÷TÍ´‹ö@E’ãUHhá´éikrµéágaý;WàýQíïlFæ‡åTœA’;|Ï@ÎÔ±u²6ä>ùR[@h‡QÒ×3ÙÇ™š?ðÒˆœÐL”&ìÃ9¡q€Ù¡>ŒÓ¥©ÒaÖ³Œ×jÏ5¿îm‡û0ØÌ Ñ&·s<¯fnLqûÛjÖ…4[+½Uî†ù÷^tý:KHòû”=UÉcnDRRéUubÚ35\(^ë>ãkîJéj_6n¬*»ø¬Ç%ì=ò8ÁYj…¼ÿdi8©l½Còv‡ôþýüÃÂŽç BÇç«B NR¤âq¶D^®Sø²Ò0ȦÁ&j«2ÆÛ:°á‡¨ù#ì¬/èGéû|x£¤./ÓÎý‚\F’#“Üßzœ«ïú;GÉ=‰<Žäãü'=|¨AÔ$Ovñ|FRƒ0‡ã܈:ÞÀÊqÞ½wÈZ 9€iƨÇ)ääl‚äÄoîvòýA³ý0Èwcî$b…ÕXGS ¥)Of3žÂSØŒ'³)J}UGªö¾\7ÓIåJÀ`¶ÞùˆG«*›Ü¿—kÂöŸí[)’Ü)J5å×ϳù›óƒeûG>8³t>â ž^œ®v…i¯í ïiÿ¶±vEË5B¾n–ÎÝúËKÒ¤·9$ùºéC}yL}*3í×åJ;`‚£ñIi=ìǰQ¨¢ÏÏ‹MÃÍy'ȳjššn’sBÓº’Ê·ÅVz»^ÈÁ¬Xì ÞýÜœË!€à«Jè=vñ¼pÀXé¨ ß³m±åűAÖ…Ó‰sK‡Õ¾ã>ç‡aRBX׼ߓÍN+ý£¹ÎHó…Xrˆ4W—Ëíj¼"q¶ú«í´ã“ÝÎUö¯œ©>àh5PÝ&ä©#X÷é„™5M‹×ž«…¤òÀE†¼3¹± ‚}Ü ²QnU>}.ϾÁÝù¨ô'˜ãm¬† 6”"z¯£º:Ì>Ì®¥üƒ|Wi±ÛI‘¢ãôs˜O’ãRГzìÊã#Ù—mÃuÎ#…]¢ÉÅ1ö…@~ñ›QªyëLoÛ˜k"â&_¨acöæO³Ë¾Î!vÖ¦¨¿Ùr­9|É ÌÑ0{#Ž‚0À Îç¹n·®™|ع÷ìô Zçû$]p¬&»#Ö@oW&|¯?h𿀰³61Üú ä9Oî”ájŠZ¬òžo±‡ åcõ¬ºMΖÚa»ï{³mš£f“äVCþ¡—ŠHYy[U– ù1dGñ«œ¥üUúσ{³æi  YHîâÑž¬Ý¿|z¯c˜†F ò3S„üŸù÷»z«TÓó81j²Hï½5qoõ1м¢15Ê=†“/Eüf Ivö=¿IþÃã|ôÐu†R$L'™OŠ'f2§D¦ä³¸40Š8À˜àá Ø—ã" ÇäÂôØxi­qž;sþããåûÕÝ:_s6¥`ì­uK<ƒßCR™®w¥G^îìz¦‰ªÍê =£óŸ8FgÿŒøLøšø¹Á-öàv&û1m+›èÓ==ës_àŒ0Èk”vr…èÜé+õ­“ Ư¼Š¯ò~þ‡wð1~ C)æÁñΞù²°ô«'cÚ9‘ñ¦gG%½g¦ö„’¿7åާk¡7 ž—h/œÇáìÃÿ°/ßr&9±xsȱ3¼gPKrÄwö0v³{<Ÿ§8šØìÒ_CÌä’¼Ô]ã¿ù®•sÅ1ÜÍO=#wñTÏàOYÚ÷\´p 4i)ÃKH2ŸgxFæ$ÙS‚Þn”k|ÍqGðkç”)éI2§-² =uúGÎøc§4|UHm¯¯¦R’Øé$¹‚ÂÌ5ù¤cdí²ð‡;OûgØÎ?üÜð»ÜnÎ1F߸ü+D“ ²nqº×ÐÂ\í0˜ÉCž(›CœíV1ÜãÌÕúA” Å=,>À¯‹+Ù,AÁ2':ž”‘¥¾Zë׿¼Ï‹¢ÈÓi®ô;ÇÑë¥?`dê½ã:áÙ=NN‰–ñ•”“ qfCŒò2¥âôÜH’wz-µ²´Äãò®äøÚaq–û²TÅKk4FywLàÉ* 0Èï$CÀ†¢ø‚™3Hòã¤õ¢¹àC|NW½ŸŸážÈ=¤0;ä}ýc®rY0œò=u£é[ôàX dž<ÍŽ8l×É~$ù¾!- =.cA1u4Ð1§ØŽîØ‚;4·£zM~–KíÙò¸:&dËTŸ‡&ðÎgÑÐ;”êZiÃB2ŸÝçšUjœæBƸéGLÀ%ªh…x!kc:<$q:2z‘š!o« îkTžiŸÊÆÌ+8”uX“Ù¬Â*ÌfMÖá¡Ì+8Ž§ð »½\­nSýìa|SM“ßd³x/ºZê¨ào‘3`iâüÕæˆ<»¾ƒø]B`rœãëÏ8ßQªw¤K¤;ÙÜCÎwÇ¢çG]Å ²€àÇj²Ä­±1iýèG’­]¡ßB]ÁK¤„-Úz>†,2Ì!ÜT¬ˆvÑÅ#Ž×䤎WgÙmyná©RO,)ú59+첯Šã^RË>™gÛíx¶}sT¼a˜™V–^p6s´Îö@p]ÇØd~êö¬:ÿŽw—V€0W{äfz,µõ9Y½(w«K䩦 ‰ÙTRÇJ{饆©)ª…{Í Î´Z’.Ql£µ®Z¸ø6aš•â@Cñ£³ªÒªh©N×ëæ>gïK x€±Sê ØN‘§¶Õg'oðc ±—»½˜dkíáý§O3·7‡íæʼn­#h0©x…œm„B÷( ZÌäJò§°¹ðiã ·u‘ûd—Hò€Ò&¡™Q}dXÅ¿£²\£ÆË †¾öœ%¨f±dƒ|á;SºÆ€cÔ}ê3õOØïÖËêfU#)ôA©œb&§’ä ®ï¯bZ%Nw“Z9uŒ;¤=`l¨ €oƲ“¸Ãâ›Nݵ4É{f¦¦ †TVQ³ kŽû\Õô™þ•øžs€4ŒÉ-®Ù"››ähd… P ˜kJ'σñˆyŸBúðºa«¢¸9—*D¹3Ê^^ë#:ù¬®"ט÷Üž$WFÛœÜ6VFɽ ÉVÁẂôql¼´~ñv«³:«­1gòr‡ªì+Ê£í­ÿ6A¡G9^«¾“Øñ•/ªzE€F=íÃ/¥P­+®÷=Û˜­U_©‰ò¢<Ça¥ÞV3Ô ’³<ý¹ßAâÆipnPØ ¨(ÇI+u–Ý\ò¢*¡Ùr2Ï´Ï´›JÕ({‡ 9Bµ”³ìÓÕ±R!ì*9»êVi# {“äTCñÛ$xpþ4Nßp҅眆¦ |î G»OØ/fHDq£@ê+p€|cÆbS“÷8¼R2† ¦j‘÷i4ÀI~ö¦ÞÖ³6"H­ÉNìŽB=ãO"IŸõÊ1¤m2½ƒ3NHú—“¤®V81ì=¼§´&,QýF£0¤^CäÑQ­k.¯—^éUUüŸ.'äJß íȶƒÿ)ÂÞ1°Ô riM¼ÐT4‰ª:[ò•‹•Uk ŽRÁµÿ‘ãÇÌM{ÀpväMâËÍ27Ĺ¹•ï¨Ö '}äW%cËÏÒ[²BÎ9O>/ÛPg«îîôºÑù¸KÚÀE·®M9Cf¨h¦¥ÅòQ Üà[\Þ©°Ühç„~i1ÍHò"'ÝPÖ…ôø»1½‡Î_õFm =ãÆ0yJÀäÀÔùþ.‰‹Óióƒoô‚oEŒÞ亰·t‰þaD ,;“™s.’D~ˆòG‹“·\Ÿ¿ûN‰ß\Å1C^QÑ"dtÒ^“ÖŸF˜‘¡ùï}%˜_ñ¼ºNÎS§I#9<ÿP;K÷•(y7;øBF_ç„^i0½ÈVul÷aý½®Ðïù½€‘ŒÆ-µAÊ 8]iJ•÷“hŽãt'÷öþˆ·v´rµ?ÀhMÒãÑÒ™ú}¢ªôx}eÎé¦Hò4Ñ&Û'ŸW§v £›Hr‹oh›©ŸÃÖç|óÛ­ñF’<3†ð\ì™ÏÛCfóü¨gzS…/“-ÅÞt½kgÄ€ŒWµý*¥á3l¥ma£Kh ?܉ý89ñR‰Œ%ä\Z3ùSŒéò¨&E“Ÿ¢¾è9¢}!Cc\åk ´4‰Û´‹Æ,$7¸A”5ÄI‰š©"ïòW m är_έŽ¡®C©Èpr®û\ïˆ`ÔQuCŽW„$?‘ÐOQ~€A¶³Á[•žU#“ ×hí l^î5šhúf–jíÒåxe#Ò÷8 èø/I²­£ë|ÌLœBî )ü ‚ÏF‰‘Ò&©Ã‚o†õa‚Ò>‡øLRG®ŒAÆqÃ>n„ƪòî5¢{$nq€EúÛû¶€žŽá8o›ôÐh>àÏX>¦Î–aWf– 0vnÊÎ}JÁ, À(¤!®¾Jbï‹«Iä^32‹ñ`ÛS|APÇX–6€1Ž$oq_ߦ—K¤ŠÏžæò¤8ò2ß 4Ü1Ú–r(§Ï»»ê¾€ñ[\=ÝFÀxAÀ\™¢@ð‰$Æ`\ «Cú1J´°-ˆšŽÇämf(8V錿D1Ž :ÈØ$y•™9ó"àˆõXH¾iÎ>Nœ¬„©QЂúȹa£óèÚ•‹Lÿä?úwŸ+;÷y#ô¹T2ý馵É_Úç»ÛDÕ1²´Q*e‘†l¬Ci¿qõp°¼'u©ŒW_ËŸj+ )$…Š»¸F~–Oä7\À› ÓÎÉ'IdhÀHT™£L@—Ïjˆ*âtgżÔYÎ.¢²S pî˜&pÑ]ß0Úüàm¦¨Í=ØQÞ&ƒý­D úøÌ¶>ãÝ@L,eÊïzÀïæŸ'J•$”¹:À:«@uìJÚVZaÛmu°þ0¥ÐoIo@w”3«À§ý oþ™…ÿæáGèfüÈÖ›VÍ€jæí®‹(uE&ðÀÂëV]óq#X­·ÁðEàvn7îÄ25Xè [­MEŽE`vÔ/³ò>¿çó¬OX‰0;Ê5 9@/ó¦}¾‹…¡QÅÞ^]–蘔­¹È~F{쀅¦¸S0ÃTÚËàPt ´´Ž „LX,P ['Xí¬[]Ìܸ¿ãytBuSÐEvíŒ$^ëâé™V«ˆ+ÖR@͘µkY@í"®RGÀæô‹\Œ€Ç œõÌ£,Ø*ÁO¤—ñYÑ,2ºâhŒÒ%K©8 à)I¹ÁQVU¿XHjé´ù@ct4Âþ¸@S¹ˆçK}v ì @U}Öp_îWÀ‰v,ÈèdÕ¥Ç'T'É6˜V¨hÖÁ:-Mx#°Ú?ÛÎuoÔЕžÿðÝÐä'ãdÀë`ž!q¦Ìa=#O€Iqõ=€ IDATÌô,`^”oçå%’(gÞ†àulóÝxŽÇ xBº•hõ4¶ÚGÝÖÎ3Ô­yè‚ ñ&ÖbžD[ÄGÅnìðkµ.Åq)$wœÙoT›¤êäå{W•Îc ý´~¾¿IJ‡Y¶U|0™&©Æ$¹!„L24¤y’“@,Û‹ÜjfÆmBö5ìW;"Òñ¸’ì`®8QHòñ{èD´+ý1sî'Š TÛSbWº¨£Š‚ƒK<ºˆ°¼+Åu –:`0Sóê¬cÝ`´…gNw ›œ§ÊÆçe|+|¦þmNdv•ÒÜF8å2ß%‰’r’ÎjIs‡d@Òú2‘$7óö(Uݪ9Þ˜éáÖcÍC¥} m%X1íÅM’'™ëM³Ir™;½ÂÄÇ‘bãëŠÍ|–¼Å7FŠYÚ ò…/T}gþóÈ Q=ß$0Þ6¡-Ô,!Ð!:|úñÜc›/_‚¦;O-`„¶í./ßyqøh¾”0Ò|oKsÀXH~G‹`eY£«cDg%¯ˆzÆÑSbŒ«èsz‰Î+e¸ÈÒ¢dO î×ìÐ|Ö£ÝZÝídŒJpâwwo0~ZJ8fb/Ç™÷ed¼‹]Þ£b`T`è|CSMè´Åä†)ˆEîâTç >Å÷CøRt½Âh™MÒT„«+$ÙÔ“Ž<[ÇSXê„ t Ùi†®N‚—¿+ÜFÄHé ™ËC‚{[óyâ0Î4£”yä¢(¶‚$`.o÷Ä Õ–sÔå¼”ÍT0i÷„ЛEÇh•ZÀèfŽZá¼Ñ]»ßÆ‹­•C?´ÌÄ`°‹¹bÓôŒQ$Måê¹6Ê+­ªŠc”Ùì{Æ?º×'ÊguáΤò÷v¿ÈìÚ*Ö°ôéü>½Èe^ÜLoÝ®µu2øF’iQ˜Í¡ ³%NïÖNŒJØSp%ÙÇœ³IÈ'ÌúõŸ4{)—,|…"É7Œ@8$÷x\dWsæBŽ7oÿ ¿Ø«Þ:>ñ¤gÚ‘µÑ×ýc~À8.ALÕ§ÇÈ”84A÷¸2 `4K)`¸›ÎïCÉV®ŒS‹úNnH­ë¤Ñ&0š’ä³7¨#£"*6ÿ-}Ä›e™'oÙ¡û‘|ySê{Î('}Õšðô~ir*8å|K1t”¹úEïq-Ï`SnN(LûeK\ ~äç¦á”Ò '+å&0®pgÌŒD2‹mØ‹8€¸,4™ n‚cMîò«É± Ö üËTL»NŸÛ'è—ØèÆÝëMÇqêžx©¹€Üb ø(’÷zó5z‡:»µ‰üºç4Õ ¿ç`o¶Ž?“yä‚(Âü‚Uù/`\• Àèå§–`Œ"É¥îZ©"+âîe7;l­'OŠ ¾Ü÷AÇ7fÉYª§Üχäv•F¾,.I{¹CúɃì%HU?~$9A]Ï{ùôåMÒÊÃ&ÕÐXŒK.šiž·ížšÊTbý+ïˆk!¾¢ühÙ~+E×7I—éè •À°ý3j&D’z×…$ŸŒ#m’CÈÌ÷ Iž(:ê“ÇÔÄnä¯qŸ8;H‡ZRH²AÐ'2¡’&³ GŸÕ:ÄY¿ƒ$Ÿ {Êqû<+˜GþE˜wI07FjÝs ºÇÃþ×o“r©ÂÎzÓ4o>] àÝèVã´úÑÉ ¦O¬†‘G’+\…ººT÷CpÉUÇIæÙå£î!ÊKžÝ„¤Ž/ÄTWÎu+èÝTaiÕ™cW½×xTý£ ×&¸âà Á³âºª°¥Ïˆµ×_Î-•1ÚBž`žã©$™¤œš™Ü›êÝL®$ÿqnβíìôZy,ÕÜer£Û I>aDâ}n[`ß 3Ôñf´V¸¢s‹Û;í‘hb>Ÿ'¤°ºÁ3ÃRxŸ…9»k뱚·¯+}/ý]Æ]ã˜§Ûøœ\«ÉâóaY c¶ÄŠ|V®—‡eM«åñ( t]ŠƒÙÚTÒÃCiKF¼åŽVUg{80ý£'I^®Y øŠ*¾¨¼„ç­åÙì¾ì~£n—ŠaÝwÈ·*h¦úG&¨Ó ½¡‹cm¡â+J/=Ã%U ÔƒÌÔdÄä®Ðã¹.áj_Pž E¶o”żq7·)…qZFvtb¶’¢aä3Ó,—Ãôy)í_2H¹¬©÷±M]]”dC#$—œ#uµÄMpýšCQ¡œþYF°-4ú“vx;ÅLV$¹ÈœóÒSDŠÙúG¿¸E“œãA}ñ®û äáû¨a|è’ädÈíª êÖ§Z4C¶I´ß<®²\}ì¹"gÛ#…1kS #C}aUbB©»Z‚Áô{´ºÒ Ýc$¹Ô졺»/«‹rv]þtÅ‹$ÏC)°Øw0†‹#¯v¯ÛMt ý&²êx3W;ºÉ×=iù'1ÑÁ²$y§€`ϸ¨“ÏÞ¬E©ï8/èìm“ ãgbJ`²ËTFì÷ß{ ’ŽÀšå¸’šÐ¡SGùœa΢õä<*û¸9§‡;Z¹âý>ŽÃûzǦHrœ9çyÏ{vÂ1Vš€Þ,9ÚÕ\®Ÿ-k7K$;ù‡¤ñŽ?R¡Ä—©h»eã°¨w¸;ŒWíÉ"ž¥o”;L&Éq)›Ay,$7yâׯíƒÉm›åöæßH½ÄF¢2½sÏMJûn~¢³ù¿CnõÍY<ÚzKôdâå{á^Öí&/ü ÷³+ ø Rl’bsÌC+ ½ÑNàJsõERdàиóZBä©sõ8µNVq¡m9pœùçÏLÆ ~p»ÛVYv*»gmÅX ´"Q¿^bݸHg çb sk'þ ŽÄ€kÌ“ÔÓÿ6õLF7€ÃÜ{Ô7ÿ_ uÜl…É᣾Ê3¶ÇÀ¯Z¬c Z[Ð+†oÝ$î¶úêc­½ûÔgË3|¿ÛóïDK…LÏ÷ÏEá|86Ê•Fù|ŸÎýäA,V±žæß+e¢%ü–²)t2‡à¨…=¤ë>ä°W³ÞvÑÿi,€®Éª‹‘(ÀÈæ›žä~ØÌÒ/ᨃpj@sO]Æ&QÏyÐÊ$œäžqŠù×üÔï™»`6rµ8ϹŸ¶ç´ŒdÔ%æ1T|LE{u¿D_—'Xø,ÁAúw¦|¸þ R‚l üÈr5v…eJÛËp#`+Öò&k3lC;,€ŸÍ·Ð9åuÏ¢ºùcNõK÷ß'¾JIÖ1~ÀÏÀÕÈ@ëeW^AÀz\€Õúå½Ï*ø#?Zzw4Ân¤Ö“»"7H=x¨û†ëyWWnˆÌgÝ-­iÿj@mÔ€_™‰ñè äãRÌP_ >€ç) =|j­ÚçNÏŽA?À@~ŒŸ9u‰ªñy˜Ç ì°F[ZÌ­ ÑŽŠr£C5ÙIøD[PWþRߌÝç17(Ë|eÒåLSÅjÚ9À0ÍýàYTÚgެÞF¦¿ob tB:7N'Ï7%"½­’¡Cˆ j{ °GiíV1wêR“W%ÉZ¥&¤åMz‰8ú(a²ÚS=d·¹Å8c÷^ã–Šõ}¬³WÃmŠgEc’¼,Â.Ÿ(Ư ˜(ŒÈ~HQ{‘NùÖÙ¦óîÅqAþc2VÙÜk²”²ÍŒ™fΪ©Y¿æ‘t¹ª¹³ýisÖ5Úï°‡œî‘"qÇs¶qzhæã3ÉášFByël”¤V äS¾€ù1¼mMMOFŠÎ—o":TÄæµª¼€g©|÷ÜùQ< ŸxæÐ ÈÙj »è bYK’œczZN©8‚%B2ÕµrvÊæÎP2ßõ_´´K&-ÞwýyGa+éö,Á€q±^ºÊ¹PNgÄtÙêÅ›²ðL­r)ºl̵) öÓwBËB9Äf›¦½8NyY¶ÀÚEÞ‡|"LÊë ä%)§[‚•Äê'0žt{z†‘I¥9ÜC~F¾7@œ4°íúƒy$Ù˜^À:nèWÂ6B`Úë{æœsÜOº˜«ô2÷z]<Üau1›W k~ÕÜŒÕÏxJÀyäF_—c¬õ<ó³Ì8sÀ·K¸óTî›´ÌÎi†E‚[fÇd˜¹Q>œh­zBƒr÷PO§>) '†÷!ÏôÊ—“Jö‘orYn6ý^C)yk‘ïbT* |œHnt³s~U‰ŒnOÿ§§E&J¡qêvýAÓšò»¯+K%X²´ÐwÈ~S9æœ~î5šë.II«h*ÈÑ!ÚÅ»I† á©¢}Bz‡:_•3ñôE¾Èwÿ4C›,R›©ÃBr\Ä¢ŽÞ#6` v{y„^êK 02¹‘œežå|w–îb3ó„× Â)¨ú {ÎÿÌܾ„$ùyXq_ÝN´õ®q'IÛå® f<Ÿf®±ÂÀ…“Hx— +œŠ)KHrAb´*zø™ƒÇ‚ˆwÜ*L8OpÏ-ޱr|¥ª x±ûÌçúˆôcÜoï°ßWK¥™Ñäîu¯º löW‹x¢=¬ìsõ—Ìã¦Òç\ž€§R²¹¢é×£$95£7I¶0”Ä«I®êž½ÁÙÖ½¯¥yÈ«m¡ÂK†ìâp©æ¾Ú²F‘äjÉQš”)qtjg÷ér†$[» Ÿ7cs·äf64ãÐ=ŽÈ7¾F©›K%ã›SÉݬ‡Qª¸€ÑÈí壥æÁ0}N*Sù£œlrŸpµrõíÜÍÝnº[÷ †]ÃÔ¨Á/ÝÝæG!ïø~sûùÿëd‚{Î8ÌÌ”×I®wI/V¶g¥9¦/’d¿„èÜ çê5ÆÁˆ7|T˜¿Ï}öÅæ›'IÞ.`¶[ã*Ÿ9|¦{í“•“ ú©9o²{Õ×"~>>ô¹vŽöx,Há¬iM®qïÿyBX"Žw¤DRu™h´$¿2¯§Hÿˆ:pÕä"¹O=Íg9@]/ |wÁ Ôõò°z–Oóuaá¡j€ô—z¢w\s ™P’_k.÷Û½d2J’ _(m™Í–õB.•&âØkÿŒã×6ò]dùuÒ—EW’¼'„*Ï¿ý­Þaèñ{Œ³¿SÁ© d©ÒÒEþcžg”géÿÀÊÊ ;(çK¡ñRÄ:¨Vñ×pyYè¹BM÷óÊtÈ®O’ž3þjJÈŠá÷d!ó"fÙþÒ‡4¸ ²ƒÅµ´ó~©ùövŸ|™«1e ØÏ&É%fMnp¯Ú3lD3"Dñå>×6t)=S A¢ø… ‘íMÏ.LwÀ€ñeå):ŽL©ž¦ý¯çÎ$]»«œÀÝѲ›ƒTPî'T]à ÇŸ‘äÊ Ó,n!—ú»z’¨Á»Ñíá¥2ÖË•ägæyÚ…¨É’!ž.1=¶ #µè1D‡½Í'CîP;âúõŒ.î´#ÌïYpLsõ>ï3ËÂ÷ÊšOø™¬ŽU:x5½t¦‡úþGÁÏÌ ÈŽ¼ò fd4‡³6m-Õ<÷œêÕx½Œá,YÈ%üSä)9—0ˆªÍ^œÀoe1ó¾Éž’vF&ÚÊsü\` ç ÍkXÕœ³Y' 5MzLÃ…ÀOZìÅ20cß.ô’´UJQgàéÐ PÔf9Lì2é<çH¼Ö„¾ @@½dñåû7k/F‡C×uYe}–ÊŽ7=¬Š`/F—&`àS 5L·vyúØÞËðE–#Þe8*p´çïZ<ÊÆ;¥#ϴ϶¯àý|‰çXÞµs™úoÈë…h6&á`Ï‹¸4 ÐÞMPßÁr ;êD|14ìy޶àN¶¼l’ôfºgCØ!Á~¬6ßeûH¦êfåi΀CÛ Çºó}%Yð¨\`áÉ~À(D¬Žk‘ /ì]J V‡û¯ÂŒä\7Mû’äP7B|›ú-TgH0ƒáµ;âŒ]ìk#_Δ%>ûé-üÙ/=‘‚¥ÎC|Ä}¦ºÊ[é}¦ÖŹçW¬$`ni~?ºÆ'¬²Ë:_íˆÛÎ9ÙW误}R<7òXŒ©¹0!¶Ú!nÿL6åÐRžÿm‚é{pêÍN®©H—ªÿª+äLu´ªÅ »ØÚµ욆.°²gu²­óN–Êñô^HöÆKB [(2ß3Ê }â£ŒŽº’Ù¥0g ƒõkÄ$PНY¹þJP¾MRC'.½_Ä2¸F¯Å4ÇZ£¶W”˯“tÀèîpYšý}>/UNfÉoq-ú¥’‡q"ËSwËÿ¸¨̸F¹ã)¥?×14sí¡’ïòþü¨^“åu¦ÝPÕaE=éí ª6R-Ug¹[^P3=¥9Ï$¿/)Ÿ~ ­ Óåxû&³¢-9/Àßò¾ÝOµuK †¿$É{¥“; yMØý*†äŠhÃÑãBÚO,.ª²'—q«ï¾ „+wÈd)ÎŒz#Ê=‡%Øõ÷H6'ÉÅ&_~¤úFõ“–R!n+¿%ävùTf™]ÔZÙSzùÝ=Lîô¤ç«ËåiõµKOŸŠ&\¢Æ¨îÒ dds“§C„0´¢ü‰ºr‡SUVð3i¬4[Bâþúšuä}ÙjŠ–ÎðF‹ÙáßQn®_)͘‘äV,Ï*á,™äŽè=úƒ¼tŒeZ3W±ÄÚb <.¦Óûp‚åee,þZ9R@ð-’\˜lÀ8ÇÉa5€ñ–™x½ã [êïZkò*Ãjª­§µy"/g?NâN³Øë†íLO’[Õ›²z¦ÒÜ( ²‹þº4ð‰$y—À} ‚µt¢UÊC„cö¯-I63Où’ü•B˜ðÍœ—1â$r™TÁ¤dà0S3K‘cCà2HÀN’—ÙzFïÃû–âÏýGÙA3Ï<©rFeNr¾ê]j3¦ I9oj t Å“Uˆ6™ðMaÂéÍ·£ÔÀ¨‚t/[«¸ÃjUQaµ 5GÌødÆEa\™[X_ªÉð8ÍCI–8šÌdWp#w2r¾0wºµð õºü ö”@\¬Šâ=" ÎÏ8Dz É­Æ×Å£¥ºYýO ãkê~ÄÉœÌ8A½¬ž–¾r:KÕ+Ld¼¯{1iÔX……äíæ ¿QLƒö•·á$¹6‰}7¬#ŸÊrçxU‘Û8J¡¬èÂ]޳Õ5ê"cÔ‡œnÿÄE²¢`#·r÷p/÷p7·s#Wæ/’ù¥ý®Œ’GÕª“œ¦êÄ„“Úr§|¯ÈmFãnÝæ:ƨ¥:cBX–`Å?ï®wS9eHzF¯`$ØSüÂ@W-UÐzx퓸'}ìàëo%‹}dòf¹Éœñ…ɆO6`ôr_èß®å=Þ[èfždF«*¸–ó »µÑeCŸQ@Ë2,]®TvUÚdüzCæÇ؄ΌoÔ0å„D^§?ÜXÚÙ~^ §wOH:Æ`3b?%kÕMïß¾õp[Y¼^ù1Ö“TwyF>SËTIgû.ÎWo˹LŽP–/x4R-C>¯«IRÈ%©<˜QOÞ`Ï}Üf,' Öâ¬$i“L0V®%•»{½iÖ8”\ì(¤`褽*Z–÷JrïÛpI.ð˜]#;ä\5HÍNšWg3?—‡ÕyR9†Öq—:ŽV¥>cšk!tú܇‘YÏ#UXÕÀéIxÖÛ1Wz#ùGmÒY˜ä:¼Ðáu IDATœ\O'ÿútñwj_cƒ§D°tðzwÚÞç(—DSç7ƒ^ŽÚž ÅÓ$ŠQj(™ÒÆ(ãÙ‡$Ûë©]ì¥ñ¡©R„´¤„ô®+)¦Ìj¶Ø¥¬¢RYÀ–­´kéZ>i„תc”IKlËç uŸjè“-~W:š}ô˜3SI/ÁJÇsø'xt'C®ß*Ý£vz9äÊ/Ê rBÊŸ¬Pce2?å[êI¹LeErFÊejˆ¼-Ÿr2Ǩû%<ºèdyI^PΧoê¡iždE›Nµrœ.‘F§Ž¶ŽÐ£^#gºOã¯èíŠí̹/&Ìö}^À¸‘$7–ÒòEîdE‚à[ŠÜÃyj‚,½äJ9×>…™··~Aý‚Ãòñd¶¶;Ëmò˜¼!ßÉ.!wÇ嗥釗†dk3Î?—ºÃñ`ôÖºm ÂÙk½UµµÛú,_"ܾ·ßù :4DŠ\ìX&¦ÉœiÈ=¤˜€s]eH1ÂçÉÑî:¯à”|HŠñ1±€1€,d}SKÓï0 xœD:7ÉBDڭꟈqúZ‚erŽ”]Æf©‡è˜PééŠq3Üglazr<*­Cú÷“ªç>w'(ìsýÎÚZÐ×õÛ$NÊt‰¢›µÔ_ç”ÊòXK¾ož£«:AâšÉcå&UOàݺ Ò2¶«4(u£ÔÃf‡=–LY[ö-Þšå–—VËwר•!Étò~i­{›{F­“Úר—`å›_w’sÒ0Æ‘SÜI·«ÏŠCˆ¶%J‡û¸ñ Šf•<Ú\åY÷º/˜O¾M5ž“ÁH)°›í}“ÃÄgßx>~M‚6ÉN½/Ôg[ýå+F…¯ÆD†böŒ¢aÔLfËbÛ=vú¢\/=Tå˜@rL)‡CÆ’xѱ&ûmn’¿d>¿¶?“8‘oŽË[ðjÁë{ßRpŠL·¿U ¹Zíbq&ˆSæô;2e|¾ìF¾êyW}‹µ²ùúKæqVágò!'òõü×òÇŒ-—?^½ÇIüB͵ãJµ³XãP yžì E2ÍfÍD’Ü5e¸¯_4Øæñ|åÍ*ã˜<’´²VÛß<ú"t&F;z„ƒ.Qy„Dg ™d†e¾{]§´ã2áŒ)=kM’«=޼ë•Sf´8´k=ËâI—¢½¼K—Ɖ‘G»øÀñ‘ÈÛ Ý‹ÝUànLztY”±,eê y¤ Q›D/žaª‘?h(\L&™§xßÝÞ³ÝÚs1ìÎ2[•rƒ´Q¥–âæ…*¯V'±½ºE ’·äÇÊzáÂWWû h_t·ÔÆ'žçÓ•³^fÉ+ò\/ç¨cUN”È>ÿïzª™\$·Ê2Qæ©]1×ÎÕîu&Ó0ªp¶–†Â‚úÉ/>æ©m2A]¨\-˜UÒ5iO™hÀ0&;ß°FÌÀ¹Î ïW±vÕ“ܦATO¬žIŠðÓ1¦2H=^_ž—Érµ+Ð.w_ªð~TÆÝ—8*:\|êFHÜŸ`›÷਋ï2áL3qäÇ\‘%ëeº ’‹TŽjÉ”°tNáL¹R鬪êé+ï©Õr­r÷…¬’v€Ñ“\ïÚîÉ@VÉé£ÚH­Df9Ëaì úË$µ^ë¶ÃÀD’l–:ÀØèá¯ì3«—Ëxù¯:[jªÄƒ%GHGõ°|âËÑu© -óšvóÆ@†ð)V/­,¨Ûe z†CäÕUš¨Œ°3NÖ(²0™ÛÀ„Æy†äÂÛÊ+ðŒ˜‚°·.`spÁÌSÐAÁüÕäF=½%eªžäîuI Á:œé¼ÄÞ¾–ÞB’œäÂE•h鈨‹ëR ¬eé0›^à¾Ì?Dîl!ãÔÞ°p‚wå\e¬«¾sÏOÜ” gËIŒÑML]pŽyê­|KÝ(G–$¿=.èh¨n“`$Òængë?S®ìà¬X}ÜîY¶›øººN•âBAqÏ?^îP“%Xv‹Ô oߤ!dLÔO{o1ß{E-ž’žU’pÀ8ÛW{[EÛŃ^"ZR›i-–‘§:t±cJ`-ÞŸð ´\’µÒ"è çrGêù5öÓ_¾c˜•Àv’ÏD·±Që(Ò°qI.f¥b÷ôV½à—%—ð'á€ÑÞrÛžø(ð”˜[玂£cžs¸€ðˆTa¦M ‚é©vä˜0¶°"‘ÜÃç=ÓyzZ’k#㡙ɑ®Êœß†»“òNÔ Ö“$ç¥|AL%—kÈ•¥Bþ(M•_4TGÕYÊù<õ‘êK!É‹4~ÂtÜ)î /,¡®pß2úô:Þ¡Ê—ÐpópŠý=üžÜd"&KrT‘ûÜX!á$ia—\ ë5¼½ÔçM’…lá>ë-ª]>jO—ûÄ©;ÐæI¦ÊI8`8ÌîAÚÀ¿”vOm‹áŸÐv»ÇŒÕ¢÷õÁ ß«Í@õMáNY³“s"e3ÙD¼%8ëñO'Ö»žâihqµ•ó¸+)á„“£N¶ IreÊUî=Ae55IîUÅç+µØC}¦.R x}Ò”Jî§¹9®Þ*Ê‹ò¸œµÕ)ÑÉWÈM!š!WË0!=|2™üŽQ)ÖÅt"êwû°Sö‚E_ŸÀÒ<_JbÖkIcô¬—v³¦!·äÿÜgm®Éíœ,Hg9…GØuÕ¡ª‘j#½ÔhY(â&²êtDÃ~0pŒ©ä+æá'º/zœéнQáà5‡_~zÎ-æ*Á ȉæ“÷Rº¶œü/ËE§;3Åé¹,2Ö›¹šóÌfÏ`"‘Ú›¤øó©Qw¦'–‚ãIòü„YìkëdÈi·ô—x 21´ÙìêËÝ”#&D‰zZ"WÛŽ#y¼»æJ¹8îôAŠ=VÌÑÉÔûpIvúÒ5vô,„ïíF9êDJ úÃÓnÎär!I~Π׬ø[\k¼³;šœäànû`0›ÓÉ&ƒ÷|å,„3ÜîtWK}r¤_Q•U0`”Š4Ìü%A7rk÷ mÖÐ;ó)©£êf+.3 ˜×ÓO]Ìáü¨Äl¨ ZîòdŽw•¤¥5MêÃÈ-…Ô=Ž!·ED€”—ÔUÒO’I2Wý!+íMÜÂíÜÌõ²Ü^ÀYê5Lî–‹T$±ÜÜR1¬¹ôIÞYéPÂ…§—3h…@Àòòi̹ð”­M# º^.„C"Äé«$ù}JG¡™Žä=!ìIn“É—O¤›ª›œ\n”?}Ç`Ï).*J'õ–½S„‡é°ƒõ%f§KÁ-î=—$±†o½Â˜´ RÇíc¿^Ó4 Váš¼¼æÑï’u²FnSaE€Ô•ênþÏ~¸àAu«jçSV²¢œ%7©ÔÃ…ýí>ÒEªPônY'k¥·xJ‘äHh° ‡:™xëø›…ì¢Z;´f~pÑZÒzž´¨ÚÉd˜UmQéä¥DX)bä6z½*™l^-÷”:> ƒ¹œ§¯O Ò#ʆb­Žÿ©àÜy?‰ùLXìà Ö(^­üJ¬ÊlVgŽ9ª3›UXA¡ 8 Q“•h䲿÷wDNI§¼Ìtw”ÊÉkI§¦û6Ƹ-&ÉÖ©u„Ú¬E°¼|›€¾ 'hqE©„ÇìçòƒöfØâ>¡2|^¼‰l¡štEÞ#šWm ï sm’{‘€`';TS[«ŽÙÛç§ømkÀxãO¾Qš¼;BUˆ[V´Wň’»T¨‘w®Ôtc‰v§`8Fê­léq÷ÿ\ÌÍ”bPW+ÏݽD†,vqk…¼´Z<]]Êê>¦Fplá{ü\ͱð/YU¸‘Û¹—ƒ F¨¸›[¹NVØ‹å'β§ÈÛò²=Œ«ÿ²›ºXZJNh´ºMf‰"¹‹×ØÉ´<œ%ë„$çËauöÖ¦`°•6R¯ó¤9–+Â`©… ÖzÕ9J¬²$€aª§ïæ³39ªsP¬.‰¥jÈT¨ÁAÐH£t.æ8)ÿºÞŽ<ù-%ü³bèjŸ¥]ÈŒûÌ>ïíŠP¼KÜðà´  ”“äqO¸Ç‚VGýW ciZÌ@Ñ;ª!òŒ\£Ê{~ÙÒÞêÞg)ïSµ=Éj” `¼êóìuåN9^%ÛX]WÝ«Ž–È ìiì¬Ëv.ô„égðÍ}ÜHþã 0°ø¨÷’Èü~–lùïåÖe„"²¤·”‡Ó,ÿ—y:\n‡j¼¹ZŸ"ºçoc,̉¥·ºº“Ì’}„=œ '‹§zqÚÆ.6 3“4SCäoy]UJ*5ȉÜÀB~ ÚJhmËîzàR?ì;/”]ƒyêdž§®R½e°¬ú©»y‹êjwf{9£°²«;##/|ì¢}š_Î cK 6Ðk†¼ÖÉ8™8È(!`ÜwÓCV¥¼`Ìré&¡¡s·¤`°±Ö7±UÐe™ÂB2+b,¨1$9 µ€±¹NΑC%< ã\­¼¥ˆ¦Þ½$9!¥ñ‚12œ@ïQ)‡fd0•7:ëÕÙêù2E{¼m+?‘»¥‘Š®uTÓÙ„i°½øö®=Ϊ©?ûÌTSM5Ý4ˆ!Ä/„Æ+! !!/‘{"÷xs!„0ETL„BQŠ¢»¢{Óej¦ÎYßç÷ÇÚ{Ÿ}ÎÙûœ33çVÎÚŸ÷Õœ}]×绾—çkñT¿áà¿n(“°4luò'j} 9•yÓÓžŠrº‚Ê,À` ¿Ø²fm¾–òvêì9}M5`YN¿ðÚ0'‰ªyEÐ…yK:AE­ik®$ýÕÏn/¹ª!›r7¶` îÆ&̧á¯.!†™tZêåj.'…}=¾«¹\£>“m —Ÿþ!²—‹˜d{ ËA²‚$_sPÀ·âœ­ Â;µ?Ʋë–$0ªdG·µÞ!É1ò¥»Úû@ð+Z›ßYn¼Ÿ.¸Àäßàl4Á,Ny;Ï=ÎTÖ¤v¹h‡8E(€3l®ë° K13Œ¥¡÷Ky†£ÐÏãiLÃd|‹Ø\…÷6Ä8ÿÁ ¨eý4×ó#Á íq$ŠPˆB8e«؈…X„é˜e’ÕæÆBöGI.ÎÄ«1®¬Ë}Ù {£¥QˆB4‘_#Ö÷Õ3j—ænÇV”«M9Õ:ß*¬Ä üÅeÆ2øèïè \j”§|ÜQ^B9Þ mtæÑÙÈ5’ñÒŒ{1Èxƒ¹$d¶½ˆ³õ}"ÍpÑ%ÈJp%ÄZ®ä+c¯­ ñ5”AæÓ~@W|º@5îNÔªR]Ç®ä:ØmPägñ>^1¦‡=¿.D7Åüºøïâs£2)ýŸ-ÀÛ¸Äõìnr´qçaÆ^FMçM‹e~ÆLc×»>lþ˜a•–y0 ½×ÑÛñÛIò¤¯]”y¼NÖúÖËfßV©„ßÐËM-ß}¨%õ|ùF#ij¢¡á=¥*q«<çh‘¿°ÀùÆGi…‹\”¢#ð-NµE¶"NE˯ ðn#8ÞÓó¦‹ñyMwFUw𾉌 í_J` ½Elà›­¬­ç1]Sï¡üz&Ÿúš§å[ê÷ðF×3þª×«· / ¬ûÆ ÌǬŵлc?ŠcôzÝ0€3ðÞJóÆ,\Ëþè€N8 í‘ïÃ>Иþ« ‡ðM£`L奯2Àsh]Ì LÇ—˜ºG`.záFØkÑbü€¹X„•Ø?€Ø ûà ´ÇáÈ Ð=±Ž/ã)cU›ýhрǡ;»m|F•5¯’‹| ;¿ó Œåw¾PMsshÏbcJ†ßF![¼ûe°/²âËøfò7c–Óï`ýÏ­ä˜È _ö1Úà0Åc} Ã.Ëó¾Æ|À°nj¨›kEšªÁè,G.šqbÂál”ÉÿÌü÷b(ŒæAƺT/†$keˆ9/úÑ"M.Ë õšÍ;y*Ë%}ÖuÕ~ßP%[Ûp+,·ÖwÙÃÌxè~´æÍœü„yììñÔ"våŽ&ÉÓ±0Haÿ½ÜUªÿÁìêåÉ®:bV‡+ÞÀ}¢|]/àûÜôÒ}8’U¸F# €äV¶1=_­æ§d,–›B"Ã/J›c é'Ë®÷×D´À<¹CH€«q®œ¤ž“2 wúh«B¼'ÓÌ Àvô“;QÝõäI–ÃKOtJúTÿ8¦¦;Œ,`$zH[pa´ÎÊ4;,•æ.FÀëâ ¶³jȼ%n ˜öCÛO°Ä›WÆÕ&IŸóËun¾;õýµÂ:ç:éçü¨^GsÞÉÕAÚä’Ä1-i®¿A!©n~N©»Ã"9ÊÑãfjÖ)Ÿ ÉPçû¹¡ÐƳ%†«q ןÏF,`hÒ ‰•p)”"å! ;þ¨*L#`L#/|ü(‰BD%WÁT&«@§,`d`°H'×-±w§3ÝpA’3]ùkã æiwX’üý^ã ØJ] ÷Ê‹jŒ¼Ç×ÊUr”ä†LéC8!HÈØÙM§«Ÿ¿Ž t¾e‰œî…–?¹+7;[ ?㈭-ÇJ?õ˜z]½Ç·Õ‹r·ê®B³Içóvþ¡‰!RàHr=ë;’Œ.Nyo´s±'èŸz¥|yK®p¤8:¤o70”´£¶¦zÊ õ¢Çéò§¬–­ „Åc(ng—fó+£†©ëåtÙ#Ì‘öÚh^逤®ú§®iƒ‹^$9˱~I²±ÊAußÓ¤¨ÉÏFbDžæœbç|8J¥Så,ÊQâBy=*–ñVÓš?ñl3~"‡íØSîTÏË׺m’÷T·´>݃’üP'9sÙÕ¢o¼Ìd XòÌå’TŸiòÎa{ 3ÅÁ?Ž #`žô”Ľíÿç8P](‡™{ÀÚ¼@Nh¤Odpù¼3PZÆÀc…ÄÂGõ›íPJ>êh‡‹íà—Nö÷µ•{Õw5؇¯”é#íñýRÈ2œ/Á8êUii{´/ •Cuª$Û9ÅÁrü…þ©wÚã⛘yG×ôÆp½Ñnf+"Vg\hél¬ê#V*ÙxTRZú¯àuñø6Ñ+ånÕØÞŸOÍáhä`–X;?o´³ƒ„?ç2ókï¥=¹–³„ƒ9£­¸=òSÉ(›©‡d}\ßø²ƒPün‹­~Xb£šÓ2 žwÐû½6À8Ï™kϱ>Þh¶ý1êë­šÛø¬4Z–"Ú:Ƨ0z’äÛjÉ¿R2n´ÇA[­ ž“6À¸|3°tK`è|lg›³~U™Ø>§™S¨LÀ`ýä6žVv¬Äe¼Ý&ÇóqW¸šäÇóH;”+2 À_v®ôã8‘n º‚wÚpVŸ÷ŵ§¾­Ú…ÙuÎÒfð-5pã(²·ãÉ{«Ô«%%$/Ý[iŒî!mü©²LݺÇúJ ¡µ^.û@ðP{ ô éåOÓ ÓÈ€Ãâé­åÒÒ £ÍhÞ,`¤0˜«õìñ’0#‹•=ú–Ø€1€$¯sUø]-ÎÅ©’[‚ù¤ÂTa§8T#‡ðR>ÄQ,a Gñ>öpDC×WßÛShµ•À‘äGR×Ýyï·ï—ò`ÑÈj©k›û¹…•!ÚðK\ Sn­ñ–=O‡<ùÒ$¦áu/÷†( ç¥ 0 M ¬–:lS­d{Â[å{³gç+’,_—×ßi ¶#t1+ÊÆÂ›Ž=†Ô(ê; ‰½Iò[Ö=Se(^ðvó ÆŒ!äÛó8QÈÍ|NΗýE;qÒRÎTÃd~Dº ªnLÇɦò½}ßIY&AÈÈy}y%Bb›£–ÎjO“ƒª®:X.V#¥’äáâÎ5´™L] G‘kM#¾uø=eûÍ¥Ò5OL—Ñ»„ü+ÌMBûëì'¡E„u¾#äh©¶‡¬™|]£¶F’ÇÚß26¥ÊèCmȘ¨Õ YÀH7`, ¦(XŸË2/ø¹˜ÜG’CcFPR®Ï.|ŒÇ›Ì7‹ùŽÚÏc?Z–Pùé7vˆšá0µÐ‘1¢E@¿ãOûþ_ÃRކÇBaª’##TNö»ä}57 »ð!žîðgz#1€q=I>‘EýBõ${XL—ËÃ(ÿëñW}ªMÊÉÁd¨Ù[»¾¾*ÿ €à^Ip8ŸbÖý!éF~ÞH›þÓ”ž ÈYÁýE µËÃ;*è€Rá! ‰Hgº˜û2.ÈÌiôXÌÅ‘CÈ)<›}ù'sÉûMZò‡ÔÁ1Rà^ñ~¦ÎTµ" &O« Ç/Ò\‚ Œ¹*¨‰®Ž—:÷בn29DRõËŠïУm`H@{Õ¼Hr'ó!^ɳ5¡aÍ£™¦àòæýÔ-ê+©Høø(—/ÔM²_D¯Ôá'ú‚tîµd)¼&2”Ù?½nÃØG,¨°¨26-pÑ–$o³¿æÅ¯~ñPFV;€/ ‰#IeGhÕF†KÚ`„ÜYÅŒíÕŒ°‰±‘¥êmÁgùªúP¦¨ašÜ¥iÈšÉÌó;ø§”>WäY¾À1ê›Zìoä*Å çrrx IÀx¸^?êqô<9In—wÔ5ÔdWp–zMnP”/A›Ï7úÂ-l—–…r ôPl‚'Ëï ci}WµðèûV–÷ö–ô$OÒÖ@‹} ®¤~}jø^™ŒôÆr¢=*`Õ–6r¦ºNQoÊD™)KëXáâ `9WË5]}ÊWdˆê+¤("CHhï\Æu–€Ùi*V;L³Õµ‘»sÔ¬Y>Œ¿d¸xíysxåB±…ÓÔ %äû‹z¤a}˜o¿ýýCë,`¤ 0XH’W 20Ƙ‹Ì¸¸=Fô¤ï–]àú ySXù…—;T¹ŒælÄÚ *%8婜nëiR›šÕÅ’áרõr†¯Úr¼Ü¤^“é²&N;ŸËäKyFõ‘=SµÆ3øº&Ëâ.uq!nÀáÖŸ¯á¶”3”†·CŒÔã"€÷ñ,¾‹q}iÁÝ|,ðÕc•—[ ŠÀŽÜr”©9«e TTnø|\„þ8TÿÀk¸Íؘ¦úçc p,oÖ¯™æêûñŽ9G 5ð@u²c°êËÎF–Äl“näÊ¢MœÇB2N*2–’7;î¼ÍR™ø9<\'̶¥%ÊmæRiËÿjUTYTYT¹—?O“ãl™hD„é2Oööë;÷Pu\¥Ê|K %+8<Ü3(øu;B2ÁÝÓŸš##—½ƒ±?y/Jbæòd¾äˆ`á¤LÉEÚ¿ó®&ßÄ'¥=£œvıé±àصoO2îìæÉ?Þ®¶Ù;Ë%•˜Ñ›œºÓF9Éøtº¡ƒ‚á­='ˆ©ø›wr·*|ÓÖæš?‘»Wáî–¼ßb!§y~]Í*&?®MÌ6*i‹e7‹¡$çñqžÊº ë—pt°îdG¦w‘tm‡žºåMWi>Ì“=DŠê{òR¾ÅõÁ—láˆÄ±×D ÜTE‡‘dƒ«í5—Œ„ÆÇ;\4Ъ(^À¸ÆÔ µ¦âð¨wäq˜•=c;Çò’8(Ñ›òaë–-ìÆë5h”ñ6Gœ„w_÷ágÁXó >D¹ÚELñ&Æõ^ã1ÒšCœFŸJ~Ëÿñb¶ñôŠ}Ôç1ü/Gqž3ŠÝÏIì[ÝÀ¬Ì•6êl‡ ~ÃÇxˆØMÆ4äq¼Ž¯sAx;ôN}s¯õaFÍýžÕ^khÃÈì’BFoŒ§3ï4å`üuãIQÊ è<ÑÏá ýÓ“ÆM±]p#z£Ð²8üŽŸñæc1þAYˆ¬R€Žè¨¯ÿœ‹ŒY;a”Î^†1øÓ±Åq±'öÅA8GâÀà ^ñBl­=‡c¼[a`öN‚ à 6Ð §££3 Ýv,ÂB,Á2üƒUX‹2lƶY.ùh„&Ø »cO´Â~Ø-C“Ò­Âd|ÏÓm±ˆ«Ú¢+NGg;T`!`)þÂßXm¶C¥K;ÔGš¢¹Ý eè¶ ŸãKŒO—ÅÂ}}øÝ2¦õOÀ7Õ\µ £Ê€ñyJŒw5-µqJ c=~Ü©£1:åFƒ¸ê7ý€24°²ùÞg ‰W ®èŽ®“xÖᬃ {a¯à܈'ð¸b,À \o-*‚eø[‘ƒfØM#]Va<>Æç¡‰[cC†:}çãÆm)Z@òÐp$ÚÁC]¢PðCä ê Ï+ci9æc:fã[c>v²Â<´Gƒ¶ðˆB Û€À€µ£·Ã\ÌÀ˜n,̸zöƨMø'c¾§öM-`ìD%5€Ñ c±3–¹Æ¡qʃÓ`mîâ&c|•[¨Úá´FkÂ=óÞFLÇ»x'|ÇÃôDwt€»raVa!æc6fU}Ád/ ³v@X…c¥)_JrÑ­Q„V(D! ‘‡–ˆ–‘c#6b#ÖaV`–b¾±»@aÚ ­Ñ …h†–ÈEtei9Öí<íÀÞ•q•2À(Þ©Fb¥1=¢ívÊyºÑ˜w ­=Šx%ø¨Êª–a°0Ö„gQز«ŒU X°-f¡uFy-1Í"2£¾/eí Ÿ3GÕw-òÑ,ã>*Pˆ­†[m¶dK¶dK¶ü‹V/ù² ‘-Ù’-Ù’-ñ”,`dK¶dK¶dK0²%[²%[²% Ù’-Ù’-Ù’ŒlÉ–lÉ–lÉF¶dK¶dK¶d#[²%[²%[²€‘-Ù’-Ù’-Ù’ŒlÉ–lÉ–lÉF¶dK¶dK¶d#[²%[²%[R]rÓùr­]dq!Èb¡“Cß³ì„eÙ’-#=„Ù²S…\´tð¯Ãªtf=©!G¡w—M1Nޏ3~‚t ^–¢8Ž;S '[>)ºá´¶ ǘŒÏmÑ¢ŽD}~6âkŒ'ÔNÖ½p%:„rKñ>ÝR#eK‚GCzáÂД[æˆøÏ¥:÷G Øj9Š p{”Ãï‘9V§í¬d·r 7±Œ¸.âØà‘F¥ä&—ëƒGyÒÓmfK2äiN¥{Ã\€ÝXæzv ÛïRíPd¥5'wp½ͺ”±kvœüËfEg.±º;ðGÎrfn÷óæ¥ô{jpë(ò:ú¢ÇGŒº1óÎî0NˆzçÕYÀاÆ8’ °„½x Ûò8öå$kb<ÌvZþØÄWx Ïcög +õÙ•l¶Ë´B!—ë•à%v`-‚÷å\m-YÈø7͉ÁVÞó—y óìn_ÞÌ?¬¹ñ wÀøoÔ…ûØ(€Q' ÙâìÕ6$¹ŽÇ†õen×3fI~ÄÆ!g÷åÏzÒ ÝeÚa‚Þ4ÖMø‰®é¶ÌŽ–Éœ »|[¹¬r¹¼‘ú‚y,ÈF0þ]“ãz’<Ó¥7o·÷ß3Y;âls-{ÿ²‹´BG’ü‡{»´C?ÖÍ0";Zþ%Ê(’äCôy®tGq•¾h\j#ëV›-é.Í€¹øÔåÄsØjþëìˆ8»Oˆ‘ÿyç)—ëÿûËå”ÂeX=²ƒå_yá.ˆçU?¡Ê +{¦òë²€‘-P¾qýu+fš æ$×óŸ@Á.Òí/=ê lƒЌm²ce—/=QLÂ1.›‹Ëô?eãß#MÛGÞ¿¹þòø}9à”»ž]¼+5AðN”ÓïA@á.<ª^Jwɦ¸ØŽk¢ì.¬2%ЖíR÷qÉ Ü+doó_ë ”­‚Œ]rPWm†ÀÛX×¥÷¡  ³vÀhƒš˜Ÿ›a×7^·¥8uöÃsÿ­Q½­=~?І«Æn»X+lŠz¶l—?â¸*¬ªÓvÍVò€Ñq^ý~ÁÀ!;ýc=J€ÏüŸýÿ±·Z•z«åZv©€×ÖÀ tB{”"èŠ{q÷¿0º¢.*"~-‚ŽË+À®Ò÷v±V¨õldË¿ þ*€á×8"¥OIzÕŸ¸ w—Õèî¨ ü `.ÁXø€ÁüÁÿ¯›"+€¸w…ýl`8rÌߌK\†îM°t×iˆC0×ó\}ì—]Lÿ %Xøoæ§øó²Fït–b«Ã?Á=ú—ÑÿÂà¬ñ¨⊰Ÿ¯D7XˆYÀÅ87NžÆÿÀ·®bhÉ"ûˆ•^œuVVESf8ŽÜìäÚyKU”©6{f#5ˆå Õ>8•ÙEÀ ó¯‡ð1`ô¿m²«00î1j*hÞÇth6l?ĵÀÛçm8šeXŽ%ö±–e,a±ëåsî¦Í&²äh'Ër÷ý‹9Ž÷,A§²ÛÎ;&†c¤ÔÐ]߯p&wýQ» ×î‹EìHït™éípÜÂÑì ìKÒúß„é+ný—A©I¸w{X_žâAydȹ=­Ÿ¯ÏØz]¯°HÅ•\Ä5”`eFF ìI’Ó=˜Öî×÷¹˜ö˜Ë‘A>ºå\j±lif‰ühð{»¾sH~­ê‰³ †Iö7ÿê°‹ºÕ²˜\O#îïΔ­xI¥ÉF$`ÌàŽàTžÆÖœ@. ùúb*ÍžÔá_Ek-ªïpŸ°¾48Ún®ç#ÈcÌÕ¸g†Öl þ¼ßy©ÍÕ„Ý9ÙªÐP—…INdAĨ¾QƒßÍßžcô¿â¬G¬ÅøžOSw–øžPÀ¸a»üÊš‹/øË. mHr߸W¼²€±«FC6â…œ`Må•$ùjØ÷?n-(“Øc×VM1—¸EWö˰ýƒuøx9ßçžërîVk¿V”uë ñì)ÖŠøîk´Pà´U±½ne<-äŽÖ˜âò¦~š ýšˆ÷œÉMú®a;#`€ýwÉI¢w\wIN–º6€ì²€Q@’â\ïòt/?œŒ]0ô7ÇE¶äÜ%ìûëòÇà.d9oevÉ–VŒe<§Z=mð]K†Î8`Õ¼³x|ù Oe‹uÞQ!ׯÐ×wÝ•¤ðÐ ½_Ý)àÃÂŒoåSõ‘ä!꺻l¤7—ó™×,è«ÇFJ¬U00ÙÆU?S‚Šàle{`f|ù'a"°ÃÎUàã:œƒ\ %†a(_ÀSÆÒ]lJtÆ‚§qwÜ~ùÜ Áá{ŽÂ>@Gôó™%#¢30Í“âg®ÅžÀ1‘_mLáá‹vkB~]…=ÇÛ\UŒBàE¼çúži¸yèvÆQòL-øŸªu¼¡—— 8»XzE¯òˆkð\Ì á^¨ÄäLŸð!; Åt—áßyv XÀÏHöõ”öæ£\´eŽbë].ÌÔ0KcPÕ;vò“—«ãüÎ_OÐc¯ŒE£Y‘NR›'£HÇ,%o¹z¼‡: à­ävz¾§Ž¦ÀÞ)HÑ#w ¸Ä^\nÐ3»ð£5ýd9‰w¢õ.KožÆ²ga^÷<ÿîÀÞ诽(sÑóv Ð`.Gc(|Š#05λr8 í -}ŸåêP¥NÅóP€‡3­žëðU”³3¢ÝZl± šºoº€¯£„flÇG°ÓZúìõ©Î¿fm0â >ÆÇ¨ó:¼ycjÙ!²>©X&]œî‹q×V<‹Ñw¡^|w+vf¸Àôˆ‡qw1Á¶Ú­ˆod|Ê£dµ½Œ ÂyØèͧŒY™TÓ9š[Ö£üíÖfÀêHÀðÜCÍŽú³SßÇ…h\!-QÍBò•”ca!fħd½{Ûÿîȧíñ±vh‹QöæuX†J¬B%Va#–3x¢Ü‰b´mÔ‹êÿ\›Ú!%€Aø±[¹•¨`¥ìðà7ü(þ€ÏÈÉñÁ@-ÔFmÖVy9õzRõ}uw-s1¦*×7ƒkL]½£ñ6.ÄÝhôä“x4£{L¸ð£/Þ¨¢ÐÕ/²»{%8™ÊlŸÍ¨ŸuoD(xZKtÝŠ€á²Ãð4\oŽú¦Í)V+á^ÇuåRLƧlóÆÖ¦b|r¶ïlßXtÚr,D7œƒŽˆ'ö¤’/àQcU†î1ʹmçÆ©æéÿ¤XPJ`Ìç6l‘­9åRŽ­¾-²Õ·YÊrc“*÷máfnËÙäÀ0ßeD˜§C¿ÁºÎ>Õ(§¾jìkÀFF##_5Ì©/ùÈ÷Õ Ô÷ÕóÕ•:*¯VÔbÚíîÑÊht¶Æ‚åL6ÞÇ} mùúm¼‹Ë1{yˆÞ¼/¶#ÐØóñI•o]¸Ióå8Á¸Gîµûû-܆C®lm,ÌœªF_³šx/zE6D„F‘×M£¾)uNvl‹áè¤ÿ½ «± °eØ€uø Ñ­pÚë]Cú¢/Öñe<å¾l_^øݱðõ“ç}]0Žgc›áUס›µ’øñ+fc–c=*л£ š¢1𢠢šy€~|fbJæ¡ðcŒ«~Ðÿé2_VÌX·Úk2ÎèÍáÚSþŒ¸ëp”iÈKV¡>×·s£eüig îÓ~טŠx3ÕVÓ àh‡ ô|Ý"ÏdLM‹ÉUQcuïö4ز=Y–Éùx’t­9„ü.j‹=Ÿ’ùÀ<>lERNæbôb+^ÉñÁ Ö Ž`a¸ÑûÚ€ü„u‚ó¢HNõ7ˆÜc'þd=ì>Ï3™õýuyÅ©@.aqΕ^$ãp7ŸG’sRöU5ŒY!^?™q4ÑM˜1€Á\ Š—U¡‡ØÞ_ŠcÔ!Þ!»ñ,ß©;O”;ÒO ¯¬aØ,$9K‚~ê9üSûJåe`GGñnù•$ǹÞÛ•\vý~º¿]6-@""äƒG®ŽáH2”²µEî2‡âîÉÈåAºœìN ò1k‡Üq¥(’7†xI¹ÈRžë(éðv'Ë­‡gZ$§’[cÀ>ª¿¿ÃNäqwOjŽ:œ’R7³˜­TÀq$)Uܵò;]†ý|YíGò‡`h_.ò¹„$Qózlá8 \¯9QUh7KÇî«FÑ„°I~àYËnžqÛš_ì§°ëëëë[»Â0É—£‡±’ý’ZÛÎ:>½’wUy=¨Ã~üÇËk€1÷…ÁöàS<É k-®€IìPåõ¢ˆ­wOͤàF¶'É·ã¨ÁaúëÇf>`´ÕõrH²’}|S7_ÛdȲ1O«–úU±&͹NBãL¶ñA•/NÊŒ~:$˜$K2?’—Ϙ!Ù1j~KH­Çy\u‘’ë¤ FµlKÑÄaàŽrÃØ3|§§U$Wyì‚—éêµõR2}qÏ&’îª. …g¹¾é}_ sYÌ!5Á~ÕCì¡UQ°]5çm>áv³Ç¿¯Â}ìq²”gW{͸ÉRÍËœXÍpb\5øN}û  €ô@œ1€q¿%wÌeT)Inà™Õ¨K( ¿åRe„Ðï•÷3.ÚÑOnrðòÖ 0À'Iqü2F+6’ª”bkݧ.¥‚;Õ쪊w¹@ä›Q¥BŽ _ˆ¸çÏý“æ†Øì²\Ÿc‰#Ãö «¡zºVÒU0„/²AÞ}¢ ›!ÁΚµ8¾¯?Û¤2ÍxÀ°†ª°WFÀE‹Ò¯W†,’Ãõ޹Mõí12L*Âfõ·ª„nÑ×f¬6\bº.Ž:Ç µd†"×K}»5ÎÓ·tJêÞb¥Å@ûÿË‹xoã;Ž^ÈÕ#-­þlòíF• YBÞQ߯£¹kN®#Cäæb®? ?ܘJXÊ¡ìËžìÇ—¸&h¨:‹5\ŒŽO%PÑ Ñ#«›Ø#Ú5*ڃǡ–ZlZúÉà™§õ]âÞ#ý2šÿ'"áP’ÜÎ⸪–#…r˜œ¸Pþ+wÉ£2‚¯Þç'üœ9‘Ÿó–ðµÀó|DÝ)ýÔùRh+»‰!ñ<»“µ±œ!Kd7íuR a°HJ$œåñ@]qî3>úMed®>¶#ÉYÌI `€‡Èv’ý%¨Ø¨ð´ $¨?iÕË)v—»¬Ñ×7d‡iû …±;ê{{/ÿ‘Ðú®+!zP)õG¤W•Õ„N¸(ÔŠäqÜ/l±dÕ`tÚ£¥–VÞ‰Ú³«Õ[2SVªJúYÎïäEé#{¹,å×sj•cŠøµ¡tSÉDY¤6qwpƒü.Ÿî““T4uèAh¦Ýú©Í Uh‡ã´¨¼%ù< È\¥làÁnºIÕNõ[åùHfÈJ¨K”ŸËêCõ”Ü,çÉaª¾ €´µœM3ÅØÝLO¥›²w*V¿‡ÆB)–P=ìv‹0½8c IvŽ«®ñøó%¨¤›D’“’V‹Ž$9ŸM=ÌØŠ$çEXúFê%º‰SpÒ‹“—Jj Ù=âùOyŽn­™¹×ÍÔ]Ê®nÞè0§]}œª­@Œ_¹©Õs¥.¦i}Ô–kd¶xÍkáêj©6› c¹XF¨O8–#ÔÕÒRBSh5“µ»ÈXµÝó+ÕCÒÜsÇq´Uÿ´:‘huÔ6î_¥âK`ÌÍ|À05õKhµ¤ú@-I Í âb)‘Þ§ÊݹÔr”Èͤ%òã„9Ô’»TEX+<-Î}Æ1–_¹ß)åfxVDúý$0òeÉìV¸‡$×&­CIá1ž_ó’þä–.r8F²øª¶¸ª?XAëžUm‚—D*a Ì“ZmN#W°¾—+A•ãkÏ\nim¾$yQ¼N‘/JPF&ÉdyŒ±„ü6ªRÃK>gymȵgyZÛ˜OÒ%®¢Iþâ*°­Œ4Nò`¨eyO”:|A’[â—¡ž³dýTü‹À"ép{ʃ®$ØSy.ŠÛ/ª°æL”Æõ7Š»s fJ.§‘äøjšGZiy{e<`,ÒÆÀO˜Cðè”Qš·$˜ÃO,¹ Cô÷ÌÕÚ3áfý¹Sí™Ûy“Ãoª6_¶ à™eð^ë©¶¨`äÉ*®µýš'5ˆ‰¥Ñ[è}now«Ä³a6ƒÍ{,"i&ZuIr¹— £ØÕÿä—«É¨Ñ &Åá+¤÷£=àâ¥*ÎdáÿT­°C_Ïœ C$ÜÉzSEÔ_¥©ë>¥P»!—¥GôÔ±mË=÷lÑþVdûŒŒ`jÉg îɪÙ*–Ëd)áûüŠÿT©ÛW±M÷þ$7SÛb ÎËœ_°cdIX+}(ÎøŒÁ–¯X†Ðd0䈸ëW5À‡´ç¬Ibî1–’çGý– ^€ñ 9Å͵Ö¹4³˜ÜäêvJ’î6Äaù0šxïuÈ0­ðˆE2ž”·œFn÷p“â±Ôoã™Á8—ë\ÔÕß„,âÍd“çÌ_'¹ŒGæò¶­\ ~âò×{(Æ¿Uu\¿ýž煔͔Z<¾ÚkÃÛ–è\˜ñ€°«ö@M°¶æñ/™.ŸÊ‡œ(«Å©‡^P¡/(gÿÏ”§åŽñ²PBÇE™t"xƒ¥·ïš1pQÈ2r{„ñ.Bë¨N–£Tu†Ec6E~“ÖŽ©v•Î*#vÚTÜ%Ê®©Ç]!5ûŒ¡gkEÈ…-ÔvyÂþuz';Kƒöâ/À¸ž\víº‚·F\Û“\è*ûºYH´kاaמà¹O ýôE­Ã†¸CÛe^s}Â)ʨí|_.“}Bü Tgõ„, ÉóÔÞöùÛ¢ Ì™“+o«P Å›r©ìâ¾ÛD!OËšˆç=å:û ôÞoRÊç‰ÏrE „I;¹óœdí˜Ð‡#É‹µr@ÎQ}vôÙq¡«Öâœæµä³ëvÈYâN/g‘’M#ÄÄy´ºTÉ0yD®6¥‘ž¦ šA ˜Q$ùXd¿z\&Èò‡üåÿÛ¯}º“ê ï “›ÖóDÇð¿Â‚Œ °epYé¢b±Žs«´íïò„5Ï®û‡IÔ@³”<-j¿”xF1I¶ãxZéJÇëÉo\9¡ü$Ù.ìêÞ$yIصýH²ÌµT1bí7Åý¼”[¹œ/áfêÝ£ŒäSå Ç’¿˜Îø¨I<¯Púî1eÆê*©ç9£j«ëÔ†°/;Ô2^‰âD±j‹¥ª™þa‹›kjr¾?±€±€qyQavÛOùÚÚÒv‰cAý†$d \´Ó|™áQ¯÷«Èñÿ½Ôdh\¤*CžVÉîç’!iÛZ‡µÈˆè¦âšF§¹—8˜Y“—Fí“™^€ÑŒdƒë®!ßu}ú?.j&N"7Gx=iwÀ ÷Rƒfú›bÆr©«iö¾ZNŒc”«9öR~‡yýܨãàv‚`û® ÒOåÄ|Óžan#£]ï85é ^pña\‘J±¸¥Ê’‰MÑZ¼Çe³P @áYÏüÏ:WÙ´8m$I9ï€aIk®áݾÈFV£üc|§‰3‡R¼›sµmå+g㈴Ӥ3“ú‚¯rþâIæ¿“,è°(çšë³•‘gŒuX„G½jްŸ[Á#ájdÖ=¡ð!¶†]y0ÌõúÎS¢Ôá ýŸØÉ¹ÚŸ»Ê›W:Fõ?r<¿‰c”Oñû¨ç|Ý@<²¬èÌg"៊ù¦¿ÿ_8þîa4ryÍ×(€v©ƒ L@>PŠKì «¸¤5¶“ýŠstꮎ˜¬]R¢#ø.ŽËÄX#À"®óìàõÆÛ°1ŽÁ6 ™SØÝ€Ÿñfȯõù Ëµ?ò£¾í_1œA9xÁw ê)cÒLLØÒÎ –¤"cƶd¾hpV”,]WëI^à!%EÆozì†ÓzÆJ~¥7—Ì…‡èÇ»•¥@ÿˆìeÁtlŒ#›càk—Ÿó¥Øn í8ÇXçÚâ7†d-æJ¹(jª¹µËI(Ü!Ý|«ã¾*у¿Û ‘‡Ó\®Ùé°_ÊfÈäßáT 6Šñ¾Çç¨Zn´Ó°oâJì àœ«³vLVžûf@-‹oxø€²¨]¼A€JÄ“C/µ (£ÂEKŒ€¡ai»HS#rP^“}àlœ(«1ð¼ïrû¯kñ­^°Óýž,Iò+Þ1,½NRSÎÄ…Þ£ÚÜ8ºúëÍøñ%½jõ Œ5Þ€š\ïr`)¦„]× -µT¤PƒO+]çû“§« _¶r°GhU=‹sà§pí±NˆSq‡EÔ1´½ÜóJ\fÊf ©\žù_W‚æëpÒO\ÝjáÇU` `¹Þõ³W­k<Æ/òŒ¿©†âÖ>ö“ÿt}Ò)ŒÐ²{V«VÏÉ÷¬’á€1‡ü5†—·ö‰Ðµ¹ÓsHÝiöç©1]®¦öÿ%3àb³‡ôy†üP¸A¦©ÇÔþ … <7,Fe¡¡ö*s&~:äGÍûq0Çc!5)eèÙ&m×Mu|:¹€‘o%"õó'Žæó|™¥!V--šì’ˆ;I—¼(mµd9ƾ®dX^}û’ Zˆîá¡Ï¹.wÚç÷†ù&ŸåëœlðaqµC¹Àõ_ X‘Û»'`}sÀ 2>fNgÐÏb¹£»Kë)ŒÞö±¥& õ9ßœëìa>¯cfÆ3$Ù×\:I7ž"‡¨|îyý¹XùZÜyhþC‹fAW_$'«n<ÍŒn¾I_øp&ÀÅÖÇÉ#`ø“— äÎ0¯Ýwí)Õ”«Sšõ× 0êU¡&Uô6y´Tï€ë:$©}=$˜€Ääêsç< ›äò—/ÿ:$â›mÉ€G¤Ä±$é·Ÿw+I^àrÝ—8ÖM¨ÊøûЊ̋7FžEäl×oc‹,ÑzëhyIFIW‰­r>]懌ìM,±àâyB¦¨!Råº'”¥ºq;Û>¥€a¬9$9ªFI¨*’¬‚N,`´Ó ƒò¸‡•g†¤p¥”ò¹S]­®ô–é¡aæ·û°8Ù’&©Û¥ÏŽ~j°zI¦ÈJG¸Ú\Éa]­”õ'Ÿ>ê䙣á¢SÒàày^ºGŸ&ò~˜0v™}ý¥)ÌÈå“àY;b¥JXrÙÞ– "l–uÚ\B¸œ8ÎyÉ =h^Õ)2&<˜š$-Ÿ*Î#×ÑÞbMDèÜ,Âó²(˜›¸ÞìÍ^îéb½ãw×o|ÃT‡ŒõÜ_4’wmøJöŒ >)–»äY>ËAr–kjƒP;ÒöúQ.}^×õ+2Üè< €1F'æÊ¯ÑJq­%‹·ß CóËZ“ Îl?¨×Õ“|Š£e†T……êîo¢Já¢ƒÆÆqæß­Þ1]ÈQ%&°¡, Œ ²»X“ÈÌúÛ3]€±W cÁÅ)θ¨—â§"ÌnjȬÀaäÏnÈ\¥_¹¦z‚¿z?I­^ÇŽ»Å·Ðo.£[HrhØ•ïU{çÉ"òwŠw Fˆ!ýÏ!ýû—ì—@­/H¾i–k=€«³ù«”{2¶T†ŽØ/êßaª ì ‘Þ­õ—æè-½ÈæÊõ•ü$k=½ ÖÈò•LQse[”'íÁ\ïO—I—½ôp Û&5ùì:E’U,ãw(ܾ§‚“è®IC€#˼Œ¸‰ XKs˜§´~ ÈM‘ýÃ-iÈŽÌfOr›k$ïúÚ®–êhbtž§bKWŸÄ“Ã|¤ØZ‹4†Y÷Ôö¦VsWÍ®Š³aæœæéœ>‹—°yÂ<ÿ'‘iÊ÷u$Ësñ7×çôN1`hþ¹Äð[×Õ|Ib’K,` É® þ,d€#ÕÊ/AåÔ»“Tgr‡ÈÆ0JÁ»Õ¾*¨Û¬%'©÷Þ;xŸ¼)Brº8Rž¤!‹7s-·„iQ½€j~˜Õ?0¦,öXØtcÂÅT7¦µWôËàj×yù¼«‡’~ðË®ææÏì•ü&i*ûÊÓæÕÿ°¶€¹à5MQ~# L’AײÚ¢0 ]¯8Dÿg.Æ P‰n®üѽ4_í+5¨ñx¸ÔåÄdö F}l/­l7Û`¯83¹':ZïãÒ8Ù†¼Í^ raæ_·Ûdÿk½ä³+ö aÕT´ÓY±öÕÓô’SŒòÓJ¼•à‡*ÍaÜ.9ÉZu]ÖØ\ùŒ>Õû•–¹N*áb0À#èåÉO†îžÍ И]}ð#½øÿù«…ÑÛœ*“ð'ôN­Qؘ‹vž…¤–£ôø˜‘Àx•Àå®§â4¬€Ž Ô®WmÄh +V{¾f4C®wÞ™C`F °`²ëU—À “ñõê | ôB½ˆ3“Ìú8gèTã'ßÜ$KÌžã˜égÔwŒækã`¹½ˆ éÌkð•ýK5·1þÀ8üéëåxk…þV—ç4€R6v:ãdù®Jyß~zÆ–’WE2œ(ÑiÛ£l ^V$ù’D3ãhîÊÈŒ©³a°¯©L‘*ÊÔò*h¹#ßb9ˆw[­±c,°¹=oN‹á›cÈ ¬t•Ôý$¹%Mcà_vŒ­Œ!{y\sÉWZîšÇNmÌg¬ðÔx¿èp@ïæI ‘:í¿ë–º‡ºÇßÖ1:{« ±‡.Ÿ:Ω‚™¿‘ÇT%IaQLÓw©d‰ô |mö7”›jv»ÅqË`Nñ&¼Õ“jà$«M!)9qR¶Võ04«Y‚­ ÷’z*âíq±çh.z mdSÏê_l>¥½¸:Sì Y ‡¦.š˜¡‹V^1™¡xhx} ÌŽažï¦ƒµRLD¨ã ÎJ:`ÌN¡ƒ]ÇN$y“ç·B+á1Ïk´îÂ(5ld>ã^Ï+¾µù¼Mç&Ä–ÅV¿ÄNáF»LœÔV¦íûï’¼&`Ô•J’JŽ€ù²Æ|ÂŽçÞì’¼QÌo=2I,¯ž­Ø’$LÊÚQ’„š$0FýaêJg“ð>³ãÖy,qõd’-!|!u]¯9LÖÑ™¼@º˜W\–C' tPù+)… ð³mºZ9«Í¿gF5 ¶ ›,ãí«ÇéÈ€¼”.¦¬ðòr‰:Q÷‚ÇÅq;Y˜$¿8ë˜Ëåä´(ßwž64ó-Ï+Î I~UjÜDr‡çNüË„‹žQž‘(s(GjûzÌì.‘N.[‹Œô0‚Jø^Áíè $9ܼêCó 8fÅ©`¼’b¢N¶óÊ,Róãþ$Ð&%!ÒûdY,äJé%]d“Ý][ä–0çZCNW¡ÉÞ•SÅs¨½UÊ% ÞI]%ëIŽGÂöÞIïØ$ù]ÜŠ•XG—ÀC{ÛÝIí0Ýu,l›|ñâ@ô; ™.¶4ßu‘þ¡[Š—Ó±de’ãá‡éšµC𠇓•5«7×q­Gr$½”?ÈyhÔZ^Ïï\\×>Û¹ÀS‚G…Öt±#?ŠÙ3»,Ýç;Ö¡æyÍ•fÈ!çĘš<ðRóªW”v v¬bå QöÞ.@_ŒY³›ö—ÿ)…£¦˜ü;I3"'Ià’šA°!žLR“ù4ïVƒäQ)‘\#?—ó]yDÉÝê~I/6©­Ì¡añ¦´Lr·¶¤ŸÜȽÔ•}BòÃ΃ÿ'+%®èãí65ãÏ13ŽÝ¶Ç°räsk:{’ä $ÂEͳ4i+:‰Â )ÞºÁNŒ=kg KIÅýc¼ñsß Z©Róß/¨È`S+ýgEVÄÈyñ "É£Ík^äTÇûÛŒµíØ@é¿c:ëšt)}S ³’4ÎÈtÀ°Øj÷³Xd“\q¿wë옉ò•®%Ú(ýqT)ê,eí«^ð?ò“ •lsordϵïøÀ5[’Û/+É嬕´eòv]Í[Óêô±Ü‹ß)“Ž?(Cë€é—b¼QÓ…ì`-÷QšÕa‰8™tçíkŽÑO4µhÔ1þš"É=Äy‡“棿ùÌÇ ø°"É/%V¢µ:.?/µ€ñ]’zú”¤F‚ÜjYˆvÀ6¬Ájìˆ8»«åma¿®ãèÂ}¥ š¢5»ò)n± |•ƒe°üO>âqºRo¬ÕîqIò6v”®Àr¼” ‡õäž|Åyðp~`:Îa)”/öf/ úqVÌû¡íxˆï ³ñ>€f©M§dTâe %.HÒóãv؈—Ó xèˆ&ÈäÒûÛƒ ýú—!úvE;„WÀ`‰ï#€"ã{|.¦š»›—)hÕµV¿q½9¦wXì8&`‡°ÙtD^›>h/•©íßNöÜÄ¡ÏÒ¢N»DMR_ûÇÉKj°ô”#¤ÀÌ®å“bLXö¾ŠÌÚ] %¶,½†-T(›þѪ< £Ô»¢µ CR`êdéΔ#·n ´¬"uÚ&™`´LïØm°QBUz—ÄIœ06L)5ØüÊæZ]8$Åc£~ò—˜ “êÏ&‘йjÒ"yIFï/ÌXÂxLµ«ù31Þú›äþ O0ÇóŽq¼Rizý× $ɱ<â„Ð×H™d/\'4‘Ðó‰…$O‰:Okkg€ŠÔ¦J`±Wîšçd¼ c¹Òƒ°"$+”9d¾öH¶˜#SÌ+î¹8ÖÕ,€IM¡¤ƒ÷ÿÏÍAQb§£Œ Ëíª.ÖáG< npº9ì A¿ªéiq?Õì‡]’01öÖžöe©ó÷¨a.ËÈ1‰«™‚Û±$,ÉД[z´²q»+m{ð¸GHr¨®…Ì’üÎ1’u†íÌZ>G’<;ê5+•±[˜¢Ñ)Œ1RDóaHnˆA8rkZ„“+“}30–“÷ÅQ‘ÝÌîìàÙ[ý±qL”‡HrIR;u¹–‘œýW˜õøµJ;ŒÛͺ ˆZ·õa`±Y^¶UZ6ŽSápS¨îv©u­µ|j¦%ab¼nò0eÀ{4¹Î5IR´#O’.rÜ'/©Oø½šÏ¿Õ&VRQQ(T p W«Eò ¿ ”¨çe°ê#'ËÞÊWŽm ­'zvßF­µ’ÖH=Ç P¶œ δ®¯I^µn[n²vÐm´)Èéýì3nf±€±Ä=ïX„ Lyg»2íëŠàñaÒ#|Yž‹Yg^Ç«‘‹x^ËÌiU‹MxOæU|œS5·!6…ÆYêk© ðOõ¶Ü"'¨ºU§k#ã*ó g™\ é1 “w9‚7Vq¼Ànó=-×€~Ș¢ D–ãa”©¡´0II Å\K¯ôGŽûZ²PÈrY Š3Fa;*ë³–•¨â½ ø¢Z#dyÚ˜_[\Ò6bzäå ÷ŸŸ”u1±€1ÜÆ–±I±Ìi4KêyÐþbÅiÆ\ÿO'|“lÀ¸,ä­wªí/­ªø‹­½E3ÇF”ÏÂöZyÕÞܱ\RV¸ôä÷XÄ ²Üæ\*VU]þ,|ƒ_èÆ"ƒŠ6 q'Mw±haFäÊ$Ö} ~ß·lâ:÷ ìï©Uh"G¨ó¤¿<¬Fªå«ÀÏ\¤V63\1àV®V ÔLù2P"Ïr°\!¥M´Y"-<ö௖2ªGGL¾fýMl„R]³¡™ ýHKw§,, Ì”å1é-í¥¡Ùe¹ÒÃÖÿ“ÓdŸˆEw?GúöÍä ¶Ôf~N]6B›ÍYˆÝ}{±•™Ë:ZGÝÆG@¹1+ÙÕ7æód”¢°iˆ4êcW\ÓÜjôxµ¿‡‡á¬àÛÅùŽuè@4€ù8ÙX•cæ6tF~?|š'ìÐ^N~_'@;½…føÿ¾©Z¨úœcËXSe‰ô¿Ô¡8>¤ê¹ |k_2KòdO£¶ðF‚­ôF;©´ÖÌãrvŒ€³m½Ùu.RsK­æH£ãƒ“‘Ùwb„|û”¹Ã8<%yD<ö¡kÉ’ÃäQr®\«©ÇÔs|Y½ª^ ¼¢FȼÇ/V'K«° 7$Ñ秆5,#o¶\¥]wÎW%rŸô”#¥¡ªAKSuŒ\&¨qj©¸½ªÂ6N:皣ú’߇¸±LKóNKñVå´_¤ËK0ºý·’§Ô4u?25‘É BL¬Jj 9!RŸf“íy1¦ „3ªFR ZÙ ®ŒXŒ§&!ÞÍŠî)züמó\Œn·Xp1ÜU…á'É'“à‘þf„ñg²HI‘L‡¹O'²ÚòyNM“Mq-'œ­^“kdo±#üÓd¸QÃIäËv,– 8ô§z]ú˱ªž ½Ý0P,·ªõ—£5§Ûoš™Bj=ö&_w¦ó’ª(’ʸ@Íäÿ§|Wò”|–Ïð>Ï—8Ê?&ð1'Ê´ÀïòÃ}&ÈØß^]r($3lÔŒ&ÉrvªÁ¨Ã÷-+i’T‰ŒR·¬j;ë©âºÒ$ ˑ×.Ù½IùV›¥Özº wµMõ~ézõ4Úä¨Hã¼£J˜aOFL›¿ì^Xž&B >L¨C¶Žôtª-3<™/•#n¹4c˜S¾~GÈ?å9é^ƒHæª-åyUþòeùÍlMa³79Ùñ=_F±oûù‡úX —¤›´—=Tn•Z)_ö•ãUO5PFÊùG¢!Ó%`30L·—í¼¢š½Þ\s“þä¥`N8`\Q\¥Hnc´ðIò¡¨Ce‰Êå)}S²lèUß=§w_‡¿Ç:Tjæ:±üÚ99¹è©H9ËRQ|ô<"-9œjšËüÞ.oKG€GÉ«Ê-Aïj5Îczrd`ô#×:”ÍSá «V¶¶wJ3ž³7¹ÁÁ_û±Ë8œ­žSWH;UG%²ÎÕIr³zG–ºŒ¬nv?œŸ€0ßZ,FÆáb~kô'3È á€qªKU¶’\5Fó¾I^ubr‹Ëïç¦0šéþx#b'`H0Åчa!B-9ÃÚ"övyæ„£½!¥IDAT}r s“´dü×E‚·èA^O*ϥέIòvË YÝ/“TP!µLîR¡rxc æK0Vã'yV]΂'fí`H;‚ŒJœtŠn«QÚ³S(su_Ç8\&ÏÉ9ÒX%»Æ{ÉeòV è'¸VØï|)¾•ÕÜeŒ²<@«VÛº\mÅt%UÍœpÀ8Ù¥2å$WDŒ±“ë¼í'7»ü~vŠš““|!Œù¿©=–K¨,ÙJçðò âpKO•“´Is±‹œÕElùR>%äAa޲íÔÏŠôó±@+‰tżG¶‘\,'ꄜÍÕÔ £3nÚ7óJ¸UÕ£“|«VM°Cé›Ò%Rç¨|À4PÍV¿UGªê%ƒÊ¯fä²Xž—e2A“`XÛò´E!Ål¹á:°¬N•kÚÛŠ+)Ü©ã¬È+ ¹ƒÑâ/ß’¼Hbyü苸æâ”i²ÙËbËqzråÊ=(û„ÁÅ"« Û»H&£ò°¤Ø.BÀ4¬\mÊYW¥%ƒ“Èa_y„š)Aÿ¡OÔéÊl9I½+Á@Î?åä°Þ[“³æfÜ´/s› U;—/L¹|#ïQ jCSè#èx÷l ‹Ì³RÁo¥K 1ô·éfí›pÑM{Ôx]¯IÉœ ŒH×Ð"sŸ(ÞìÚ¯ãE‰¶åÒŠŸ"wVÆpq€ÞeÌæ¡Ž/¸P~”¤~È×ïÅ…uEK]åT­Ç½%ÉÛò“\Œ÷+ÛÌÊOˆ|úÉÿ…ä³x\Erý)7®—ß$ÒƒæUqÊÛëŸ;fÜÄÿ…¼&®:5ðšÁ‰rrFºï#o…¥¿Z+·‰SLÙÃÕw2MFH||É/§X© Ïg³a GðÞj„ª´[a/T95„ΓM’Ït¸”Çh³¶šX¥º«B¡Ž˜Lª/\bc9:¢½Ì‘ÿ™xÉÒW*ËmòHÏÁð¨¹xôúÿö®<¾Šòj?37! ‚$JDTTT°© EA‰Š *býQEê." Ô-j]j´Q\@âV©R6 VZ­¢EA ‹,1@$„$$!÷=Ï÷ÇÌÜ=ÉÝç¦ß=óO2÷ÎÜ™3ó¾ç=ÛóøÅ>—dqܪ‰–SÏGš$>Ú¢õ <Àn0Îp]Ì#×xs•ÛÿÄŸá£oö¶Wù²-dðÁ=ò[•.½a þ'nèo& ‚x>—xÀºÏ6ŸKgy¶ .”2Þá4üô ÙæÚ»—ÙAL¡‹ãm0² ¾\Ssœ‡ý ›yshQY"ØÄ­×¢ÆÌù¾$Âó-c8± fn¨±¦+›¤@Òè¯\ü}ä·>èª7jk<*¾ºœ#KÄ]W®³ÿ¤~Ãtd+ãׄÃþ&à,ËxwÀj†î´p`sÑßx-*f{¢½`ÚY*ûFü›—ø&YiV„ýAB¶ž˜¥¦G÷ϘƒÛ‡q—¹$ù{¾åKËûåYû•)`ªZ¤šëQxRà ^ß¹Wy‡&ÎW=ý&Ôyq@ZëeÿðÊ*³Å”w/)fc“5²»ä>`TBýZ,Â'W&Z“ÙÆ2ò[vˆhÄßv‘—N0‹…4»h%˜mT}ó'ùÁçQ×È7²”qÎS¯9óûdŠëåyŽ; ùŠúÐäžpËwbºU²­€³Ü]]Eñšü˜Âû­»­â\ó*¶½È*o d.Fƒè'¯Vì¶Ü°=_‰Õ¼¤b@°Ò‚Þ*Éùæµ­÷T¹^Þ•'Ôíj$Ë)ÒÃÙMŽdvewÕÓy&‡©ëdšÌV+dÇ}¯i1¡‰‰Ø ¥°§_¯N%÷Ë<•ïa6v{Müg˜{‡«¯U2Ð<òI¯1ñªkZì*ÓÔf!wIŸÆIïÆxUI™zO*vó ??ªd‰ŒQ›™ò»¨Ç¥ªIù…¿—æ ÑÓe¤üUÕ9×éÝ.<)áz¼=ÍÅNìøÛs1/®rR¤Æ¢€•ÆU–sÛºÓJ1– fpš$_£‘Í"cò7ÌÆb>Ê |€nÊ\Œ7<ƯƒŽNºÐ_k[]ÓË>’€c¦³!$Í@ÜñB:ù5UòBbü8Z]¥fË!‹‡5>¡†ÿtr»Ï4Yà|úEæÈâ ¸ÃË0œ&n/áÙ¤¼é/õX-?æõ\ç(é«¿T¹>ÝoƒQH6Òà@Ÿ$I·°kñ5ž§–©NÂ`5ø8¡&€7߇ÁëæË®îä ¥|ßc:<Äv>EÃ7ËNe¬=nñ åŽò:ß] ‡K­×oìçYÊ“‰¥.ÎOÛ0ž9ÍÓÕ6¿éÿMi&¥½Ü#ežÅ8i¾ÅÕ!ûúWðå~sªÌ`p€¤Þ•Bl#vðf3Ͷå0<Å~Þç{ë*óÕÏRËjî‘Íò…,å«ê15A®• d{ª#™¦Z¤ R©ªsä$ù5óÕuê.yÐù_W ¹B>w~ÉÎ.âYm3Å£0ƒWð~Îa±¹Mñï§e†‘›'Ÿa×E³€ñÍÔü¿ãÜöÆbr¥…{yo9Õ<sN÷p ÆSÚì3ƒí•¡æä‘Þ.Pj§Hø÷ ´w@o+3ÍÏÏvzÓÝ”AÝOël1³\¿¹òS=ojɦnSÛ‚0pQWú½ów¸~©,¡ ¯°‚Ô}£J 4Óºõ%Ñ!ŒÄ`̱ªÄ ˜™ݬí9™å.ܦ„ŠPþ×+Þgdô̬§µœd ôXŒèOHƒñ²Ww†‹t˜ü\rijÛb–s_WW…èmuätY 漢TgåxÚë.AU·IfµR›= ]Îu¾({=:¾Ï aÑxN/ù¯r{ÔoÈENwÞè` hM ‚ÔS-ÀÓÏbƒ[Öð?ÈÇ¢Lù1Ë'^ ö5²àyIܵØ`t3Ï»qn_b1y÷ÿƒQÏ3ý@8ï“ïäÕ&¦O¼s§âkò+4Þxôq7ßúu^_ ^UûåCÕ9¦[mežªå;êJŸ Ùq ”ð E‘kÏ»m·Æ\£$D’ŸÅQapPpÂ‰Ãææ„£ÌÜ’@ƒƒ°Ýî°º7#ݲŒÞNRË‚ø¾1eZ/#Ù:ó»Ä3·/=lY2u“Nâ_Ÿß`¸¸qeáRàKƒmDƒ&ÚØgVÕe$޹x-fHràÙV×Ɇ蚌°k’E´t•åè YzÉÔ: C2íU¦#ƒ˜¡·C[ÕÞ‘†t•¦§i©HC×X”z@ àD#Ø õŽÔª:Ç!ÔHµV£U©ZG•ªÑ«QÅjý€Të”8°Â˜ à\ŒŸlø}=àÞö¦Æjã}9€nø ÷âu¨(œNÃHáXؘP}.~9x¡¡L§òdã(­³tÔÓ¥¤jGC£‡.Ò¨Öi•²W+g™¾MóÖýì÷IÞ@xI‹¯žÖÁoý>8Ö½:¿=G`2l×jìF¡^ÀݘýÊ¿1Ëp$ÐKxžÍwÍbò7Œ·ÊZµÛYÃøRk kX¦¾U…Ò!á< ‹ëâ_¶…íRT ‚þ<ñhbЧ‡‘mµ¨lá ¿>…±H9™ë]¸ñ- êN·‘ŠÝƒ ¢ÊPyPªRqýÖWÉ—2Gn•~LWðÕV,;îÍjF¹èäˆJà„3ÀßayŸÄ¨v(d½ä3ÃsÔb>œj”ϓˢõüµ””m£!^ŒÐsd´#~l½ž«Ìöh¯wéèÁk<¿¿9Оµ+0™H>À(²éÅtêeÌñ{*©Ô@˜þ30ýq2rà®Á.”bVûr kå<O`,Rzâq<Žuø«ñ%v]{¡¡;àl Åéî—ío˜ªm÷»¾þŒÐÙð ?lÇ.|µX»—VÎI(Ñq ^iæ[Ý9—ó-MCˆL×µˆ›ìá‡XŒX§7ý틌‡=JsÆý| €gP‰–×oÕiúñè‰cÐ]Ñ™h§¥ @4BCªëïzÔÉA­’û´ÝÜ¡mÅ÷ܨ5¶¨Áyjø¹ÏØl.zc>R€y˜ˆØcó|‡|¬D …˜3¦¦…v»âö0jlæì%ki'ßâ¹Û¦è¶¡|;FÔHÁn‹<—sÍ.à{ÃòĘśø1ƒaÇÜÇ9æw|.5p†\l\Íy| l­q|ˆÅ\Í ïóïd¡¿oÁ|¾i-ªZ`|ý˜7Å*šmÀ,þµÉNäßÉ*¥¢öî×È_ä¼&½u¶à›z˜I’o5Wú-¿Soȉl©ç—òŒ “æhÚvOÝf¨J¦5“ÆqfÈ·šÅ®øêÃ8„ä\¾ÂWø ‡¸.©ÒvƒQå2y|šOóiζÍ`Xæbn\».;x.綘ÆC5ìÍ9nSqËùÇp0ûðhvcžÆ|ÞÉ—¸–Ê-n¼?$ûq"K¬•!ÿmò.Ê| E §OçDnsCÌ|ÍÙ¼ƒÃy*e7Í>Ìëù8?²ªG ®’™ìƒ7 $dv˜¡öÅd´¬—뜒É?çÛ2æÄÃMùj©Žªöñ9é#ÛÙ*ÛØx36› ¬ñÚLŒ©ÊH1zÃ4þ¶ñÕ†@#kXÁ ›ÕwüRV5.çB¾í|۹˹ªñKùŽ›ÕŽ† Öl¢nJæù½&GÙd0,.“™qˆP¶X¯‘Çê{’Á`ç[¤’/û hù÷˜ã ·ÙØÖTƒ ³˜Ç›Œ.ø¿6y63ö\ıÌkŠ’•c,tgÅy½ÉÞD+‡óU£"ßx!‹£k4˜Í:²*2ÐH)"/Wσü…{¹»~Çá ?;÷±2ÈѰVNö—› b6Œ„\6’ûØ5À38C­ bÎ6²žµ<ÈÖ±ÁxeNÎS—L: ¶:j&ß5ù¢“É`mÐè³7 ·ÉŠz½^¯RuhpÔ£ÖÙ ×ëõ¨v6¦ÔãÔ¡A¯Ã!ilª|Ç_$íô¶H“t­½–ŽTgFJ[¤KiŸÒiª-Ú9Ò™.š|ãxY¯÷9ø(”ÛµãâФ3q76øAyX÷i/܉€×´ƒ¸§!xCŒ¿7¡óƒÌÊôÁ$Ü3äù nöÏ5˜ç/ÁÀ¸&#ÝSPsµ››š˜Pl\_æ¢Á­2p=¦ºS0Ëñ°öE”Þñ˜ ܃?ûìžÆ'tßW¿–?`¶pöhû´ 9 W‰ÒŽIi«uҲؙÙZ6ÅñÚIè©ù&¡vr(6ûý>.€ã\%ÞG[૞ÏÈð¹Ê nÀ&ì]ú^ìÇ/¬ÒkPë„KFI®–¡gHg½» ;º£'úòxÝ7 ûžŒÖ”æ;ͭ¹pŒ¶Ë&s‘‚Ï1˜bC% ëÑFj ãi/šð0q³ÃÃ`_£Õ¿8¼ «…i“ö0n ÊÃ`†šæ ^rÕxη*ç*ÅP™n„-Ê›áéby3UzðZCçÂ×Cî˜mÃ[ L-ëüQÁse1¹‡é>¿õ¸WÔA¾£n‘¾µSƒå>ùÔ©¼rB§úœóW6±Ÿ³„Üà¹Ô‹4«L^Q£$'LòV#'t–š*+¼Îº”þšsèï`b_ب¾Ì GZ-Õ.i0¢—êÜL’İ'ô­Ÿªò2¿i Þ`0ÃbÿXÁsÃ禶âèäLÏæ1¦óZCc«š=Ã8ëøu¼ÚsRg_ 6g 6òÎ…®VÔ€XL>ïó+'x”Í®—1Ò6ªÎÝäq#»~'¾“å†8ÃÀ˜zXéÉìíÎ&¸AWÊpÑ£¦‰®2ÃC ÷ˆ?hå.[ô`ùÜF:]0öñßЉïý' F3ºy‘$Hl-ZJ9èa2™ÆÁŒ9ÆjxLÄ=çïz'­ YÄ-€ø:ò°C.çÙÊðκ˕2Âõ®MtãWs YÈ%î¤ùüÉ@uÞeeógFÇ`ÜàKÝ£¬„ÉTqÄ#KÞv=åË|ðÞ²Í`\é_³#>ï-¨¿) äÑžZd§ÁK’ólœŽ7ÆÐæ¤ÁHƒÁ|c6;!uqŠr㛞eEƒapÇUùá"…I>ž?¬n}Ë¥±v²XH²XC”äºHÒ¬{໬p†ïy{t̪AûU×TZ=4ƒ1ÎçìV`pœŠás–9¦ó¶Išo›Áåw•–Y»•E1Ò„`²v™‘Z×>òúDǶé0˜o D[ q#À­Xj‹‡qÃa& Üe‹‡a8œ&L²»åmFËFù#õøøƒªÔƒ³9Czˆ›Õ`3Uâq í¹?*p)œCVzUÚ_e®yV±¾‡Ìõ»'ÏÜ…v%½?û†µ5¯ïɘjÂÈd,÷Ù{UTÖ×aê¢È“†×¾m©íɲDGR"÷/1!!Jiƒ“th±Àð8Ú‘ø-^BlúžNä§Z/óï2H«Ñ~Ò†rŸåè8£sL{1fc4¬ÑS‹…Ñ9í×@–.gÊ~sµ¿!æ¾ïãNø‹ë—:ÂLË|÷Wìk OxíªC)à?1ÕÄÀj¯w¦‹Uæ¼Æ–áv5ð¾±}Ô¿lÄ”®ˆà¡Ä¤‡P+#HoÚœÄßžjq5Íòs^Ï)œÍ5t’œf@ùÅÍÁL7“â j‡+ó²IeÅÄË($éäÎâ=¼žk¢ãad öÙ…Iª„ªØTvU/ÊÉWn¯i…YdÃ2*Û(kð¦Í:JÆðÜ{Œ9Z.öQÏ´*áز ìGÆ‚ &ô-ÕÀ͉H aç0þ㟀+çÒÄÑ€òYK%ºt ê[yÈsýý*žŽÉ•äiG˜­’KQãòx7郰\NÒ ~Ÿ‹Áoß‹p)ÎÄ™ÑL%à$!Œ&G­H+ ¾a5Ù«ßn¤-=±ÀˆÛ×àæø¿aZ9g`&ð4ŽÅ44˜{÷ho!Ö#ô Þñú…¾øN€ Lµe° ˆ¿'À¨oÄbŒ†…†ã“}QXAüL¾ßªü ðm’œÞì] 0yÊ?3Ê…Ûú­V.⟹Š;yˆ<È-\ÆG88ä¬ÇqÒ(¤ðe±šÝNãq–÷Á¿›ñÿÑêZj(ŸäGÜÆj6²–?ñ>É!~mSGÕùäJónûGå˜nzF<ß.p{N°ê–«íCP2b÷ä:²Im8‡lÖKšÃJ‹ïv¥¡‹x‘i% F@×›þ•÷‰¾_bh4Çç ¢ÇûÙ.ÒN`ZH×2PM¡›V4“›ø…Ç.YrGH,m¼Ï@' Û9ÙÇô™C(Ê"o2Z;„‹¢R˜Êæà(~ïFòêoçš–ã-=¼ËSâ€Ã-=lˆ/ã —v’Ï$ȸïb /ŒI û Æ’1 ríöyðc ù©×±×X«r²‘s"‡°7G°ÀðEŒ•õÙáÂ]p%Iò°!†{_Ýtæ3—ùœÎÝF#ß«GäÛ˜n±¯y+$Wðò8õÿwâD–ºï¿È~BRö3^6R¸ŒÇ £ §q»[ODö%̜ɑ 3ò7Æ`y”4¡èäjrW+3àV’ *–É•ä#ÿèî¹.ðe f.‹Œåa>FÿuÿáòÞÑOÁÎ,´0M]]ŽuuÊ‹ ±4ò \…,cóbX¦ÜŽ#ù®~!Ybßšº9=ìäSÃô ^ÿ»›<£ŽFò½ç‘dNÂŒü7Ir~Ò`Øg0Æú®À[ÃV4;€7Äß\íMQ˳·åiìç“!‘±žiAVhÞŸ³WGŸÈç­¨=¹¬)ìær™ñwÍ×è˜ÒúrKÜèä»9—£š…_½‹þxÞÉ%Ƶ€‹ì$ê!ŸKÜzØÁ—82ª¼Oä.ód÷ÚÇBæ&€±deü?ägIƒa«ÁXÔÊÌE¦1 rƒ5wš±ñç­¡Ø|º<…¬´ø)VòNæ¶xE9|ÑšMª9ØbD¯åÙ¹Åcûpÿíæ“¯lþêܩ؇Íuî½15fžk¢;`G*®ç<ÞÁˆû[†üÍ8]1 ç»&µÌ•Î,܆[Ý„;ñ ¾Ç&lE*PíêÿÑp ÎÁÕ¸&ÎÌZŒÒJæa¾qtJ°ÿB™ëÜ:2p$ŽF/œˆ“q&<\˜…×Zæëf&Àû˜Ágè$7H¤f#0ùðÀ«"~F)¶bÊPŽ}¨DjPåj™t íЙ茮ÈFz z#Óûä± ïã“`ž¨ýf#0C¼õ°¥Ø†Ÿð³‡êát½)¤ ½KÝйè…Þèેåø«G‹â\™0Ú„ÕÌŒZ» Æç®W9‘¥ ÆÑ`Ta}«2™èÐ:u31¨Gš±¶pbjËæÂ]€ÑȇŸ'S‡rT@ω¯c®æ4MÇtÜížT*±µÐq$²`é¸Ëñž¶:è++ÀCÆDuØ yzR›¿40òpòÐM¤¤ 8 7½ª+ǬÅ×øB+G«öÇ€(ëaµV‘pw9ŇP™0דЮÍŒ!ŒV$ñ1#°­QÖk§u½ñ™k¿wi«ÂXQ@_œŒ\ä KÀÉaVá=,µŒ…ëÈt\K0ò%5¨Àv”b6bMè&G V¤;~mÇ”ËlôFoä¢;º ¹@ú€ Ô (G9vcJQªÀÿ„0½‘‹\tG62ZÐC9êQƒ ìBvc;JQÚ²Oi¯Áø_šC3CZÕ{X¯ÅA‡Yèß*Gémmw˜a.9£AoÉäxùå(oiâcrà†Lsbvù—0'*é ¼5„r’Ò*aº$ÜEÕ·F4)IIJR’’”¤$%)IIJR’’”¤$%)IIJR’’”¤$%)IIJR’’”¤$%)IIJRb+08åÿ”B:_ÆrÏ–IEND®B`‚./chessx-1.3.2/data/themes/outline/merida.png000644 000765 000024 00000221522 10633464147 020560 0ustar00nistaff000000 000000 ‰PNG  IHDRÜ4RÖsBIT|dˆ pHYs66Bï®tEXtSoftwarewww.inkscape.org›î< IDATxœì]wxÕ×~7 PB‘^C•"]PA1H‘¦R¤ˆHPŠzýˆh@OªH“ªÒ¥…é„’ú~ÌÎ:mK’Ýì&Ìû<çIæ–sÛìÌœ{O1„:tèСC‡:tØnÎî€:tèСC‡:rtC‡:tèСC‡vƒ.`èСC‡:tèСÃnÐ :tèСC‡:tØ º€¡C‡:tèСC‡»ÁÃÙСC‡:\%Tð"o bìp݉ýÒá\T†p?ü @wË©C‡º€¡ÃÙ˜à€Ÿ!<¤uèСÃUð*€ñšY(sÀ"ÿ’Òát¸˜ à}EŒiÏ| à+iNê—.ƒC‡“ñ€òâü€ï쇾¤C‡çÁ@€v¨sÀ»Ò#®€ït3“¿ @Çì뎮 G jG À3yùäqP» ’5ÒÝtP›i>Às#î(¦H»AИà~¶÷H‡9îžõî’ ýlÎ(*Ø  ¤¥¥aÓ¦M8~ü8N:…³gÏ¢xñâ¨U«jÖ¬‰: dÉ’bÝ4BÆ2;ôvÇS!ŒK?áu ´°vïÞU«V!%%={öDÛ¶mÅ2õüå¬êÐá p´€QÀCñ¾ œ™¼%>rP»×H¯ à‚ƒÚ<  ¦ƒx;Ox:tð÷÷—æÅX`&'h4ÐÀ7ÐOMt¨ à]5¼À @"€›öAØ¡>ì¬Îé@=!>âjá¿Í¤Çü`9€‹™à]À §ª¸pázõê…¿þ2ÿ­èëë‹yóæ¡GÒäaæd¢}?CPͪc¼qÂéîN?A¨td?Öè’€bÅŠáéÓ§€¼yóâþýûÈŸ??,0؉}Ô‘}ð€°)h¤"¾Wîé&€3x¿/H:’ Ñq¸j¡Ý%l·—™6«:°ÍSfÚÌédØ·o_æË—}úôáÉ“'•ã#9d;·ß‡d²±ŸIú¸Àœèä~üX¬žb쯭íæ!9ƒÂ³ÎÜ$9ÂXÏÙëò¼Ñ%’ܺu«êزe‹¸>«\ Ÿ:9–Ê“œMÒô£·€IÎ'Ùœ¤» ô=[(ÛŒ¼/^Œýû÷g™OHH:tè`SÙk×®áóÏ?Ïr›^^^Xµj•Íå'Mš„óçÏg¹Ý¾}û¢U«VYæãÂÈ/þ“––†ÄÄD„……!,, 5ÂàÁƒÑ©S'xzzúøÀ@jS_C8ùÈ,ÜÌ0\’ö6€?¼ : ¼uäL¼ A¯ÚtO>xð'NœÀ™3gP¦LÔ©SåË—³[8Á°wOŽ;€‰Æ@âZ=&&§N©S§P°`AÔªU 5jÔ@¡B…Ä:ݼ +l³‹è ìÙ³C‡iû¦ãæÍ›1hÐ ñ]áàGa]µÉÀFMÄ„ÔÔT\¸p§NÂ¥K—P®\9Ô¬YÕ«WGž7›5kƨ¨(i•T’ÚÐÖ)’ŒgùòåU|ÝÜÜX¡B¶jÕŠµk×f4Û_»v­´í¾VÚô#)NJJâ˜1c˜'OMÞìÛ·/Ÿ|ø$“ü‚¤› ŒÉaäètC0,‘·8ÀnݺYœ‹:uêð÷ß—®C:ÉE̘ZÓ $O‹ æÏŸOwww`HH““Em)¦üÄæG'ÇSs  ¼yó&Û·ooÓo3((ˆÇŽ£³\`,¹‘¾'øÑ£Gf7"”äããÃ¥K—J×'‘d…vZŠGŽ©âרQ#ž?^ÊIIIœ6m===eeýüüøàÁ±ØI mHþ" ¸X^à›G¢#§a€4hîÞ½›¡Ê©©©øðÃ¥z×#ìÛ½ç#Å&L˜€Ó§Og˜ÁäÉ“qìØ1ñ2‚íŒ^€gÏžá¹3À=zX|> >\•vòäIée%jn0ŽO¼’’2æŠ$úöí‹G‰IC^٠߃ ;o/ á³— cÙƒVfÀŸþ‰zõêáÌ™3™fvùòe4lØûöí“úÕNº$,Á˜=Áðõõ¥-PîêdõcåÊ•VÛ|ï½÷ìz‚ѬY3«m^¸páy=Á¸N’_ýµjü/¿ü²Å€–-[òÎ;ÒiÜA² F‰Ö¬Y£Ò“TR`` T_ò Ÿ#¯Ï ù$ׯ_¯º *ÄY³fñøñã|ðà/^¼Èõë×kî\}ô‘éö"Éz.06gS…¿ï)¨Š\£ð ûäD Þº¬ñ¨@£]ÌüA777Ùœ»»»sÀ€ܳgcbbxáÂnذ¯¼òŠj}ªV­*UKø?3íÝ&É£Gªê/\¸Öàïï/«óÎ;ïH³;j´÷š˜©õìóõõåôéÓyèÐ!Þ¼y“ÇçÒ¥Kù /¨ÊöèÑCÚ–-ªzù(<×’ŠìjbüÔ€§OŸbĈ BШQ#´lÙ~~~¨T©úõë'Ú¡B$û?Եة܅@æš4ib­¬Í([¶,‚‚‚ÄËkvc¬ÃQø €[tt4.\¨Ê\½z5† ¢ÚЂÁ`ÀàÁƒñã?ªò~üñG©Ø„¬uÙµmöì…­[·âöm­ !5îÝ»g—6SSS1tèP›Ë+_ˆ:,â"T«V HMM5e(:ƒƒƒqàÀ|ÿý÷4h*ÐÑúõëñäÉlÚ´ yóæÍàHLLĨQ£deÝÜܰvíZ”.]0tèP\¹rEö ù÷ß1lØ0¬X±Š—°¸A8Š„ðÞ@¾©Ã•á @µ+/¼`ÙNÖÝÝ%J”@LLŒ)MÂçy0Vxvh „ˆˆÍ‚?ƾ}û°oß>|òÉ'˜9s¦èPã‹|¤¬síÚ5Ñ™ƒ ¶8Ľ'§Zï½u:@ãÆeÏð¨¨(|üñǘ?> ( «´cÇŒ;V–æåå%öвÞÔè—©ï– 5~ŸTÉÿÅü ã}yøðatïÞÝì;*** QQQزe ÂÂÂЮ];@8ÍØ A@ùÇbçr~0@ÉuëÖaãÆ8qâ„òQQQؽ{·,­nݺ „››ÜÝÝMT¥Jé©[2€-Ù0™G1ÁWŠäädYfHH:vì˜a¦:t@=d›IbÚ´iX¿~=4PÀƒÌwÝ…à`,»Û`d•2cƒ‘UÒm0,RkqJðþþþfçëÔ©SšøÚk¯1!!ÁTvÕªUª2}úôQñLMMUéãà¶mÛÌöC‚t >ï§“|•ºOzW§Ã$¹gÏÕzïÞ½[k}MHKKS=—†nÊf.ž$¡qÐׯ_géÒ¥3ô\¬ZµªÔv@i丅$M±jD:t¨Åõ!É"EŠÈêtêÔIšÝRc,Þ$ãIòßÿe¡B…Tý `§N8bÄöîÝ›õë×××´iÓ¤mõ33w·HrçΪúëׯ·8¶ÈÈHUyóæI‹”•´óƒ˜¸|ùrÕ\Z£ &Hùãócüý&ɧ–ÖAËM­-ö:$‡ºÀøt²L¥´y ƹÉ0>|¨ êãã# ÞÚÙÆoÊé*R:r>LJ®µk×–eÄÆÆâúõëš•jÔ¨#GŽHULصk:tè€ÄÄDO LÈŸ??&Ož¬ªçîîŽo¿ýV•þÆoÀßßÁÁÁxã7пLž<¿üò <0m4Ô0 ÀoîAÐa®efÜ:œ‹‡4]aKŽ«5qöìY•Z•äÔã8€te\ˆfŠýúõ3û[5‡ÈÈH 8P¼4Ol€¼yó"0P®ñóûᅢ”ï&Kqùòe©Š(ŸZþˆ`TO(Y²$fÏž­*pçÎüüóϘ9s&V¬X#GލÊ4mÚ#Gš¼ë^ƒp£…ýý ¸Â´„ƒªÒ$|’ðßIjm!pñâE <iiiy+1yòdi{u ´P<7a €Wüà±$=€ÙITÚòHp½°@Èïs®‰WáwsõêUYFçÎáïïŸiÆ… B×®]eiñññØ¿¿xÙ*ÓÌ] –`ô ýÃH>!Éy󿩿`Ë–-ç-..ŽíÚµÓœ÷–-[òï¿ÿV¹¥?~¼Ežæø™£*Uª°gÏž\¶l™Ô#„GIöeÆ¢ŽëäXB §eÊ”‘­g¡B…xëÖ-­udzz:[·n­º$î¿v±e™Žµ<À ¾ûî»üöÛo¹zõjNŸ>;vÔüýüôÓOÒ)®eä_‚F7µÝºuSÕ™;w®æú$&&²E‹–ž#÷hþ„É‚[j’dïÞ½3üPíjaþ> )w3===yôèQÍñ]¿~]=Ø`0ðñãÇb‘_$mü@ žÏ´\~+VŒÃ‡çÒ¥KÎ1cưbÅŠªr+V” ´áÞÈTˆ‚{_Ðxú©u‚&ÎÓM>?'™¹‘"IrëÖ­ª5^¾|9³Š~øAÅwÁ‚böß.0~»£Ȳ€@___»QDD„Õ6{÷îm×6ÛµkgµÍçXÀÉM$yèÐ!ÕL™2ÅêÜ¥¦¦ràÀš/ý‚ ª^ÆŠΞ=kÖwµ5rssc‹-¸hÑ"eŒR¤¦Rø]8{Οw*'.ŠV‚âÅ‹3,,ŒQQQLMMå;w¸{÷nÍ8 Mš4‘®q3[vÐ:R¸ .,›///8p€Zصk=<R^ÿp ¾üòK¼ürÆCŒLš4 ÁÁÁâåVÞ¬a€ö‚W§3f iÓ¦¨\¹2Ê”)ƒ   äÍ›ß~û-Z¶l)ÖK…à¹îmÈ=9™ÃX@xî­X±Bô¨e3ÜÝݱbÅ øø˜B*ŒðÔø%1Q¹F•+WF¥J•`~~~*WÍ ² :þƒÄ#ÙR99Zñ¹Nœ8‘e¾J™Š¶ò©2s(tC‡+à €hxë­·d©©©*#méééX³f ‚‚‚УG›Ü7lØÐ¦i}$uéÒ7nÜÀÙ³gŠ6mÚ¨ç˜Ã‘#GðöÛo#((»ví“_ÁÍ­Òw½Çã „ø xñÅqàÀ¼ôÒK6UôõõÅwß}‡þýû‹Iaâ9<(&þ£ RhÎK¡Œ3¡àSÿ ܼ à‘‡‡öîÝ‹AƒÙäwÞßßøüóÏŤ'J[q ‚±¥)ÈÅæÍ›qäÈÄÄÄàÔ©S8räˆ2þD#_BÛ-­ÂaxqâÄ ¼òÊ+6U|ñÅñÇ E‹bÒN+%EJ‹ÿ(×Hkþ•P–‰ŠŠBBB‚xiys7 °$O"`xAÿ¾ÊÉx h»,?tèP–™k9ˆ´•k„Sý ÃUð´nÝyóæ•e,_¾\µ‹œ€¶mÛ"$$$CÑV+W®lS¹:uê hÑ¢²41®JPP† †íÛ·#66;wîĈ#¤;¥fqá´nݽ{÷ÆÃ‡Åäz"æ‚ðÓ‘}˜ £Oúàà`=z5²X¡@8yò$zôè!&0Ø¡½t-˜vç‹)¢Ê4§4 É}o‚‚ô½t @©ùóçÇüùó±ÿ~Ô®]îîꃿüùó£K—.8wîBBBÄä§Þ€pb˜¤ë"55çÎSPììÛ*XHÑ Àï€ dÄó¥ævÆo-7«.\°XYëÔCÂç_¨ÕÌvøÆæ&Mšàøñ㈋‹Ã‘#GðÍ7ß cÇŽèÔ©š5k†#GŽH]>À'Üf5íˆï€]T‡â´pZƒ„„Ìš5 åÊ•CçÎÑ©S'ôéÓ[·nÅ7p÷î]|ýõ×È“'X7€×|¤¸i€b"##eMµpöìYÙupp°ôäȶH·¹,…ðÑiÒ-«W¯ÆvíÚ¡M›6øâ‹/”QØ«ApG¼Ï_ΜŽ_ÁeµD «¼uëV¦?~ü¥•(QBª–˜u ÆUà`#ÝÈÛF<ÇFÞþ$/’‚;Å7ß|SÓ˜ñwÞ‘Í×øñã5 n»uëÆ#GŽ$ÇŽ+Ëíµ×2´&¯¿þº¬~«V­l®{ñâEöìÙSÓû’:wî¬toKÁHÓÙkó<Éßé¢E‹4 ºµ‚®àûï¿ÏÔÔT±ú!>_ÞÁ‘ä“'OTsV­Z5©×&U®P=<<˜˜˜(Ùo¡Íz$O(y®^½Zµ6­[·–™•É1º‘Œ#µ=1B°@ B3ÙN)‘ÁÊ•+Um4mÚTk*S0¶6˜áizXMžüðà u®pá²k­ s¨R¥ ÂÃÃ1aÂL:ß}÷’“µU+ׯ_={ö`öìÙ¢Ú„”>~ÈP§uØ €E>€Å‹càÀ åªx5kÖÄÎ;1iÒ$,X°@–·f͸¹¹aÕªUpsskÁ(¸5ž’5(P­Zµ’&^¸pÍš5ìY³P§NxyyáÙ³g8räFŒ¨¨(£víÚIÕ"µþP@cïè ŸVð¸Ý»wãÆ¢^s7ŸÃ6Ãk)*Á¨o¯eÌ—.]BBB‚h YãçÞ2¨Ò IDATâ?áááªLÅøN˜`#„ næ°B€·"o½õ&Mš„””ÿ†F…›7obðàÁ(Uª îÝ»‡U«V᫯¾R1ëÔ©“øo,¯QnB'€eË–aĈˆ‹Sý’¸té.]º„ 6`úôé¢ÝP1Ïr)O.‹§Öøàý÷ßÇ„ ðèÑ#Sæ‘#Gзo_üðCÆ^ÏÆ ÃŽ;dižžžèÛ·¯xy™?mu=8X‚1{‚¡“uzN0þ'pÒ¤IVçcêÔ©”"66–Çgzz:Í!>>ž›7o¶è–ц "k_á¯?Cˆ‰‰á Aƒ˜7o^‹clÛ¶­2ÈÛX:r¹‘\!N°¹“‹ºuë266Ö´C‡Õ\³=z0--M,vžB8gÑÑäOã_tt4óçϯ97nnn,V¬˜Ù¸2þþþÒû=…d@úM’áááš¼1tÞÌÄß+¿úê«f³‡‹ÝÏD’ÿä?ÿü£y*\kOÈïùb¥¯¾úÊlÿ½½½ÍžÒ`ÿþý¥í¯Ìäý’Ó¨&ÉD’¼qã†æ®³­Ô²eK^¿n:I"ù² ŒO'ëÔL\4s'˜Ó§O§­X¶l™&I“&I‹õrqÛÝ€.`dr¹€ÑVÜÚµk-Æ©B… … {céÒ¥²ö_}õU땬àêÕ«lذ¡ÅqV©RE€1[üêëdò\-N¬9á¢AƒšÈFŒ¡¹f½zõ’Þ›WH–u±:šL_ðóçÏÏÔ3îÇ”NïŠ ¶—ÔŽ$€•*U’òþ¿LŒÏ´£!Æ¿°òœ&É2ØFs±â„ 4ù¿üòËRþã2À»0…ØLIIaݺu3¼>eË–å“'OĶóùž ’¼L C–ÖÞVò÷÷gLLŒ8׌kãìqêd™*P‚Ž;ªÖÕÃÃǎ£5\¹r…ÞÞÞªúuëÖeJJŠXì4sYôwG7  Y \,`$C’—.]¢jìo¿ý6Û¶m«J?yò$³ —/_6œÊ“'×­[g¾ÉÉÉ>|¸E¡ªB… ¼zõª´Ú4¯o­“m@òOqBÍ 7–~T©0zôhÍ5ëÓ§TȈ!YÙÆìHÊK! ÓÓÓ9qâDzzzÚôlóööæÜ¹&ó’Œ"Y ƒíÇ“æwHƒ &1ãu¿’äµk×,ŽE±Ãß.ƒm„‹óW®\9Mþµk×–òÏè‰æëbŘ˜‹'1JªU«Ïœ9#m{€@¦(õ-[¶Ôœ›víÚqÒ¤I\³f ;ÆÃ‡sñâÅìׯ‹+¦Y§eË–ÒçÃNæ²É\H](A||<[·n­Z×-ZÐÞ}÷]Íß×Ý»w¥ÅÆ»À˜íJŽn@0²@¹XÀXJ OZ»jÍš5cbb"Ïœ9£2¤‹ˆˆ`v"99™ûöíãÇíÎ{óæÍwÇÊ”)è¨(i•tþÚåTªE£PKš.š7oÎøøx«k7nÜ8Í5ëß¿¿ô#â6É&.0vGR0Éâ€ÿþûoÖ©SÇâs­qãÆÜ¶mïß¿/Òw2Ñv:I.^¼Øl[½{÷–¶18ƒüo‘ä¦M›,ާ^½zÒ6¾Ì…¤½{÷šå_£FÌòéœXyÿþýœ?> (`¶=///Nž}*:zP$òåË'ss]ªT)Ô¯_uêÔAãÆÑ¤I©èD_˜‰œ¾^–`¼HE³Ë—/388ØìΉÁ`àĉ³UÏ>»ñôéS³»"uìØQ)ÝΦ H£v¢e¤pÜèëë«ûêÕ&õx~þùgnÞ¼Ù¬ëËœk*SÅ‹ç¹sç¤U†Ñùë˜È@ò+wºÙ£GÍ9~ýõ×3åvð믿Öä÷Ê+¯ðæÍ›Ò¢v='Ž¢Ò4ª™Ãýû÷UÏ{Ñ¥´U/"IΛ7Ïâó4<<\ÚÆK6ò6Ùˆ½ýöÛ2~£GVµK~Ÿ3Ðÿý$gÖH_|ñEiÿGgpŽ6‘‚ºÏ+¯¼"ãkÉU­×óàŒßm’a$eÆhD,É­$¿ Ù”d>+íšü˜wïÞ]µ;wîÌpú÷ï¯âÓ½{wi‘FVú”äÛ$Qp ‘$ÜMò=ê'ZÔd¤8Yqqq\²d kÖ¬iñù`uâ-ò¨\¹2gÍš%s*BAýô5˜—LSv4âEAµƒ$™`U]ªcÇŽu s*®^½Ê5j˜·‡‡g̘!­’H²]àF±å'ù„$—,Y¢FãTä6lÞ¼Ùì‡FÑ¢Eyúôi±h:É·èüõteò!ù³8aׯ_7käÚ¡C&%%ed©d˜>}º&ß%Jð÷ß—=M²¢ Ì#©=ÉŸH>Õš+å¦ÂË/¿,ÝPºLá}ak[$ÉÙ³g[|Ÿ4kÖLÚ[cbŒ+”/_^ÆoÍš5|ùå—eiÕÍ4 Ï9kü+Ð(ø®X±Âbÿ¥ýÿ<ócÒ!×ò‚³yóf­%"É£$‡P°•ËÎ{ÇB¬ÙnŠˆ‡ò÷ßç¶mÛøÓO?qùòåœ3g§L™ÂeË–ñ·ß~ãµk×,©«$“ÜNò} öCÊö—Š«U«&›«7ÞxÃO‹ˆg¥J•d¼ªU«&-¢e´ŸŸÂÚýD£ Ïž=ãùóç¹iÓ&Κ5‹#FŒà¸qã8}út.X°€ááá\¿~=###µª“äYcº]Ÿ@c)üvI ±`J–,iñw)ÒgŸ}fnŽM°ÅK&úùùqåʕҪéâÝ8{~2EÙÙX%?–eË–1Ož<wm.]ºduár öîÝË"EŠ˜oñâŹÿ~i•(è;ý&±#}(^RÍÁñãÇmžÏääd†……ñ£>âàÁƒÍé3æ8ìٳǬ+[^¼xQ,úˆd%:M]‘Ê“ü[œ¨˜5¼ìܹ³]NÆBCC5O <==¹páBiч$ßp9r4å¥ðÝ€¤É—cíÚµUs´|ùréüdd‡ž$9sæL¿   ÙµÁ`Ú2ݦmÙ~"ÉG©ú{öìY~øá‡²´#FHÇÐÀþ_‰…›6mj±ÿ oX£lœ›ü4ˆ{üø1‹/®9#nPØ%oÈŒ{Á²õ¤à}Í„ÇsëÖ­1bëÔ©cÖÕ±’òäÉÃêÕ«sРAܸq#?~L <¢ P4”ôá$)l‚*mÿ®D3„)S¦Èx¹¹¹ñéS“üý“±m  ×SC8åºuëØ·o_V¨PÁ湄Ž÷ߟK—.Õú¦:CaSÀÙÏ g’IBxøð!ß{ï=›ç¶I“&ÊSMÄÇÇ«÷Z¢V­ZI]“B@Øwê”Ý ¾HÒÞòøñãªÝ!)*TˆÛ¶m³ºx®Ž XŒèÜ´iSeìƒ-$ýè7ˆi?)|ð)ç }ûö6ÍeBBçÍ›ÇÒ¥KËê·mÛÖzå‚mÛ¶ÑËËKó^©Y³&Ÿ={&ý›¹[í&3Ôœä=q‚-ZdÖ³ÑÈ‘#­çe?ýôóå˧ÙV¯^½¤*Xéâ¬â¡p§œ!üúë¯*~þirf÷/Ã^•~æÙ³g9~üx6hÐ@3jxf©mÛ¶¿ýö[‹§@åÊ•³ën´+À’Þæúõë¥EûÒùëëlú„ÆûëæÍ›lРÙ¶$6‚CpóæM•޾ôCô·ß~“?ÇÜo—m¯þ÷¿ÿ™}‰KlŒH²±~yÅ‚“'O–ñêÙ³'cbbTï‰{Qk11^ *ŸU|ðIáù®ƒD¥áO+}_E ï½²eËÊxŒ3†‡’¥•*UJ:/¶èc›ŽýÍŽhÔ¨‘”§3œFt¦D(,,Ì¢ë\G¿¿??ýôSUl%åé>|˜™Å¿ÿþ«â*+säÈöë×/ÛçÀÃÃC¹{—‚ìì煣ɛF·åOž5ªR¥ ^ýugõÑ"V¬X¸¸8ÓuõêÕqàÀøùù‰Ikôï„î9¯À©S§””$ËÈ›7¯ªð„ ˜˜h•iáÂ…íÔ=ׯ¬Y³°mÛ6ܽ{W–ž€áÇcݺuPÀ‡V8¡‹Ù OËøÀtý÷ßcþüù™âU«V-ìÛ·7ÆíÛ·Mé$ññÇ#88 4€©¶¸–鎻&®ˆÿT¬X/^4[pöìÙèÝ»7ªT©AXëÓŠbnâ?iiifyõèÑ«W¯6]>|‘‘‘¨Zµ*|às©’*ò³JŠ—^zÉâutt4?~ ___¨¡Ñ^â?áá᲌6mÚ hÑ¢šcPŒÏ]³0@>2dˆêk0@Òt]±bEñß(3üìj@XXÂÂÂTÊ—/={ö \¹rïLóæÍѼys>|S¦LÁ/¿übµÎŠ+кuë µ£\g- têÔ cÇŽEÍš53Ä?³èÙ³'Ú´iƒV­Záܹs²¼•+W¢Q£FèÓ§Ôð€o²¥cŽG[>©©©˜9s¦*sÁ‚È“'Oö÷J777,Y²/¿ü²ì÷†‰'ŠÏŠþ;«6ÁÙŽÊKÁU!I2 @&Ž÷Þ{V%@gAéä­·Þ’fÛêÃ<·Q9q´¢îþõ×_²9<{ö¬Í„® Eà›l‡%•1‰g¢;ÔGœ½æŽ$S”åO>ùDóT@¡z”)têÔIÆ·dÉ’Yæù÷ßkîÖ¯__ºkû ?Çö&““‡ÁƒËÆ® 4€mÚ´‘NÛ ~&Ëgeœé FjjªÊ.gÔ¨QRÞʘˆÍ›7—Õ8p l-µ‚ðíÛ·O̾®àk yN”õ¤FÿÊ oooi³4梵˜¹eËïfÍšÉN4üVظ~Y¡âÛñøñãšnhýýý-Ev8Ž=ʪU«Z|×äÉ“‡<°™grr²êÛEIÕªUSy±ÊN\¿~]ód5oÞ¼Ò~Å‘,Aç?CìA«IíX\ï¼cÒâv 6LÕO‰zã%:>-’Ó;`:г˜‹Œâtþ¼:ƒú‹СCÙüøùù©t[•vâG£2­T©R¼}û¶Ík“YlÚ´Éd7R¶lYîÝ»×ámšƒ9ýÙ   i<•¹tþš;ŠŠÒ¨ rúôiÍX!sæÌÉúDSmÄ›'O»ð=tèóçϯêwDD„´XM:®íI×M¹ÉÐ¥KMO.7n”ÎÇû ~&Ei¯'0Hrøðá²ü%J055UÌVÆÄ˜)f(Á%K–¨ÖRiH­¸÷¤ö#-ÅÄqãÆÉê,XP“A)`(î»ÉŠþz’Œ$ÉgÏž©|ù»»»sãÆªg…clX»¬R„Ø¿ *h~¸;Úu´-ˆ·htXvH¢Äš5k,òêÝ»·4¢·ÓpöìY*THÕ¿*UªHˆ„ÓùϬ’î²ÇŒ£¯3=sˆU}û(¼á™³Qs 23ëÐá@´åQt‹-àæ&¿ ÿùçÙµŸŸ¢¢¢ŠW_}Íš5ÃСCqàÀ8¸ëÀîÝ»¸ví¾úê+‡·isæÌ»»ZKâܹsX°`x9ÀKªB¹½ QQªÇtëÖ C† qB·lGƒ 0gÎUúèÑ£¥jóµSŽaTÇ‘¨çΟ?™3gªT%‡ †gÏž‰—ßÈ/É6ýÒÓÓ-6Ü£GÙõ­[·°}ûvñ²=©že-@ø?|øPV/88XÅ[©&¥P«’ªIõ„ ½ï¾ûNV§K—.šj¢"ãSª5… Ö…™3g"*J®ñôÉ'ŸÀÃC^E1ÿŽV‘ª /^¬z¶‚ÚGãÆÜ ëÈŸ??V­Z…°°0äË—O³ÌжkŸ.Z´H3ÝÇÇ ƒ··w¦újOáçŸV¥_ºtIªÊÖ‚ºTNFyá.…§§'‚‚‚œÑ'‹ðóóCÙ²eeiо×ËÖeΖp,~‚‘;¨ƸJÕܺu«j»té"+³hÑ"›çßPöGat™íèÑ£‡æŽ˜¯¯¯Ôã>:íA—HrÆ ªñ{{{˼üdŽ:Á #>eŒR÷ˆÉÌ}Qu7jÃW///¦¤¤¨vö𫯾’NÛ7^åÄÄX<Á Éàà`Y…:„4&Æ’ª]ƒÁ éæxÔ¨Q²rb¤o#ĘiŒ}¡åN¢VER}‚áææ&Íž!ékI V¯]»¦òJU¸paÆÆÆræÌ™²ô¡C‡Jù9ÚóÜtRðš¥å–µvíÚª9uìܹSÓU(›N[”k(½×÷ìÙ“ #È8”ñ©á´OâUj#ÿ É ™T •1l^zé%ûL¢ðæ›oªÖErò5’ΟW³¤Ÿ`èp4f0ÄÆÆª ûjÖ¬‰víÚ©*¬\¹Ý»wGPPúõë‡O>ù$›ºªÔÔTÙµ¿¿¿“z"`ܸqª]Ixüø±Ôp­€7³³_Ù€æ*Àš5kT™£GF©R¥²¹K™ƒ›››æ)FDD„ø¯'€ŒY”º>®@… `0L‰ÉÉÉˆŠŠÂèÑ£ñ /È*L›6 ×®™ìÝ? n¿›N0,y‹PžblÙ²</{ÿ–ਠ¼Ë–-‹ ¨ø*O0Ο?äädñR<Áx€7 6ú-S¦ š6mj±ïN0¾àÇGBB‚¬Þ”)Sàçç‡ .ÈÒ+T¨ ½¼ÇÁÂÎ7BCCqïÞ=UÑ£G;°ùÌãµ×^ÃòåË5󴌃•øúë¯5ÓÃÂÂТE‹,õÍQøâ‹/Ti·nݼyóÄË6Ÿ"æ4”€””ÄÆÆÊ2”¿cW‚Vß$¿%—^]ÀÐáHtоùæÕ PëüwT}öìY,[¶ð””ð IDATÌá´†””ÙµÄ#˜SP©R%™w#)–,Y‚G‰—³­SÙƒ@øvîÜ)Ë(Y²$FŒá”NeM›6ÅÛo¿-K;{ö¬ôƒú•lï”cq¼Æ•,YR–qþüyx{{cúôé²ôÄÄD 6L¼Ì@”Ê2$`„„„ÈT “““¥Â\m*…µÄk¤DT¯^]v’’"õÊ#ºêqqq*U”>ø@&l™ƒdŒ¢€ÑÆßÃo¿ý†õë×ËÊ׬Yýû÷DFFÊò$*R±Áqx@ñ´´4éGª UªTÁ;ï¼ãÀ泆=z`òäɪôÍ›7ãÒ¥Kfë:u [·nU¥Ož<ÙìsÛиqc4iÒD•>oÞ<ïj®é¾Ó6”€»wïŠã1AKýÑU`EÀ0¯[éÐ Ž‚'€é€àröìٲ̠  ,¹ÍN(] )RÄI=ùæN1âââ°xñbñ²5€JÙÙ/£!üñÇR! ðÎ;ï˜Õ›¶„ßÿC‡E×®]UtþüyYÙ””ÍrÝ»wGxx8âã3îyºgÏžª´-[¶ˆÿ6Ì0C׆ÌU­â\‡„„à•WärÕ† °k×.ñ²=„›ÜÔŠ(Q¢Zµj%KSœ&ôÂÍFµjÕT6Q’ºÕhn•›,Ý»w·Úw@%`¸X÷äàÁƒUåçÍ›g²m³p‚áhû‹8räˆjÇF¥²¿s5Œ;VußÄŒ3ÌÖÑÊkÑ¢¾üòK»÷ÏÞ3fŒ*íæÍ›8yò¤xÙ)[;d_ø‚½…®` cùó«)¼¼¼Ä]ZÀpºŽ–Òm0r6%…ˆ­J÷ƒÁ%¼†Ø‚ÔÔTúøøÈú?fÌë³½{÷ÖÔó z¥™Içß ö ¢•säÈ‘ª1KÜôÚ -w¡Y¡qãÆe¸ *R­éÌ].‡ËŠûðÃec–zF9vì˜ÊMuÕªU¥m.’¬%^(m’´l0H2""Bµf§N³ïÜB’>T•“º‘UBù|´U£Úµk‡.]º8£_™ÂÌ™3U;„}ûöuRo´bÖ@MbX_@ì꓃PbbbT»ÃeÊ”É4ÓAƒaß¾}¸|ù2¢££qãÆ Ü¾}÷ïßW©Âyyy!22REgΜÁœ9s2Ý­z’TçúD¶?4 ªü§Ÿ~ªÚiŒˆˆP©eDÀhÑ¢…l‡©I€Ô €u–J ){öì1ê‘õ(@>Æ´´4 4HUfÖ¬Yª€}çðÈ|hª§¹²ž-ÐêáÂ…ÅÕ>s6̺ªU~ ‡@Û¶mei§OŸÆ’%KL×0õéAjjªIÝèüùóª¸7ÖN0ÜÜÜP­šÜîUžúè#ñò€¿²»_….`èÈ*š/çÐÐPY¦——V¬X¡ FåªØ½{7F¥JŸ4i’tWÙå |é‰8sæŒtg8'Iº@s ”^¥r´ú_¼xqñßœü2×ÂU…&[N0Ár7øáǦ `0õGþùóçqäÈ•€áïïR¥JY姴øyó&îÝ»§R*S¦ š5k–áþ¦¥¥áøñãX¾|¹,½H‘"*Wµ"”óéãã#5,w¤ý˜¤ªÜ$`Pm–mÞ¼Y%`|úé§ÙÙ%»BkmÞ söŽðäÉ“C† Qe6LzòŸíØ·oºuë¦Ú6l˜TƒB}dé‚Ð YA>+¸¥§§£ÿþ*àãÆ³iÐpøðatíÚUõÁR®\9|òÉ'Nê•m°¤Ó-9Åx@N5Xˆ„(¬ÊXŽ:ÁPzùɈןŒÀÊ ÆU‡4ê<¤Â(,*Œ¸¸8³ên&L@Ñ¢rï˜aaa8vì˜Ínj¥xÿý÷Už¡ÂÃÃU†TpHNNÆÞ½{1nÜ8¬X±BÖW-Cïµk×â?þ¥uëÖ ƒ!ÃýMMMÅÀUcýúë¯Ízµs¢‹Z8*þ£åJ;' ¯¾úªìÄèáÇR·Ò¨V­š*úwN‚Ö FíÚµ¥—W³«/ÂF?‚*´Ò™GRRÞÿ}‹ÑÚ…ˆˆ´iÓ=’¥7jÔÆ /X¢¬ë’pv¤? ¤Gòv}š"lÞ¼yªh“µk×fJJJÖ&4’’ÂqãÆÑÝÝ]3âlÑ¢EÝE«HIIa¡B…4û(-څοo2CMŪÆm‡Y”cõêÕ²6>ýôS»·Aª#A{zzJ£-FçϽ½i;IîÙ³GµŽ;vì0;OK—.U•¯_¿>›7on5’÷£GTiíÛ·—Õóõõ¥¯¯¯,mРA$ÉM›6©"®`ûö홞žÎ7n¨òŠ)¢J;þ¼Ùñ‰ÐŠä=zôhUZ­Zµ˜––f–O—.]då;vì(Ín­±.ö$É$yæÌUßÅs¦Nªù¬À)S¦Xgà¢HMM¥§§§jLG‹<$éNç?C²J%I>"Éh¾S°wïÞ|òä‰f×<’’’8fÌ Í÷÷ƒÄ¢i$ë8p^ìJNï€Ò צª$“Hòúõë,P €lÜ^^^üû￳>¡Fdd$ëÖ­köe!Òÿ³wÝaQ\_û]zïˆtQlX±a4¶DŒÁŽ5±Æš¨Ÿ±Dc4ÆÄØÝŸ&ÆHìK°b lˆÒ¤¨4¤ïa6³;³KÛÝY÷yγ3÷Þ™9·Ìì=÷ž’ 6«¥bÈ! ù¿uë[l;‰?v*BæT2Þ&MšÄ«ßìÙ³UØ’ òóóéСC4nÜ8Ú¼y³à$µ²8sæ ¯.|ð·H¿íUM뉈âããyu_¹r¥Â¶***¢fÍšñ®1000RSSiÊ”)Ô¨Q#é„¿OŸ>EDDÁÁÁ¥¾÷›6m¢7n ,ýòË/DD |–Z¶l)­Khh(Í›7H‹-¢³gÏRqq1 òu@/^TØVDDMš4‘)ÿõ×_s³ëh Ÿ1‹†††<þoܸ¡”mÆñãÇöóÉ“'Åf¯Âxøð!¯>zzz\ap?‰ÿýPb+Kµk×ìOWWW:vì˜ ZW/^ä-2±T»vmùų_ÔÜ&*%ÑPB5†vÓ9¶R}úô©r«8ÅÅÅ´víZ266.u’€:$6Ë¥B~ÅK ,`‹¥³º(öø©ýK$üçnggW%WDûöíË«ËâÅ‹ÙìT"Ò!ñÛ]Õ4ˆä'ž_~ù¥ÒöºpáB©ïêˆ#(//üýýómmméòåË”——WªP°råJrttTZÆÀÀ€Nž>>e¾V‘§+'''^Ú¹sçÞÇÓÓ_ýu©Ï»yó¦Ì¹ŽŽÜÝÝÙSu»¨åâ'puuôtwðàAܹsGƒì¨BãIÎÛR•Abb"þïÿþ—Þ·o_ÖMs€ï5Í—†ð €ŒÿçAƒáæÍ›¼àÀQQQ*{èãÇeÎpíÚ5Eqr …µbK8J¨fC;i9³{!¿ŠheeE*iÇÊ"66–¾øâ …*Cò}ÄÝŽ\¹r%¯Œœ¤Öâĉ ë¹yóf¶X:‰?Ž*J-‰¨˜ˆhÁ‚¼:p Úµ™™™¼ïJVÇ8;0‹Iü¶V'Å­ZµJp¬ºººÒŽ;ê<¿}û–\]]Ë´#ЩS'ÊÉÉ¡ÂÂBZ·nÙØØ”{ç¢ÿþ1º€´mÛ6ÞË¡hëþöíÛ4`Àòòò¢?ÿü³üZ¤§§Óøñã]íÉSÇŽ¹zÉR©ßÌ›7O­|« /^¼PXßQ£Fq‹zøã©¢´ˆ±§©S§¯žŽŽŽZ©¦GÄŒÏ6mÚðxvppàª"¬ÐÕKFFF4jÔ(¡Uîlö`øðáež´B†zÈÇLJ[¬‰?ž*J ˆ(ŸˆèÔ©S‚úíÖÖÖtåÊÕ4¨Š˜˜(u™*?‘ åUwŒm MDÌ÷¡,óŠPÇŽ)3S:ࡨ¨ˆ¢££éÀ´páB2d7Ž-ZDüñG¹vc‹ŠŠèìÙ³4nÜ8jݺ59;;“®®.ÕªU‹ºuëF3fÌ ÿýïôèÑ#Áë èÓO?-“€âêêJ~ø!µiÓ†ç\ÉÙ5¡¿/½|ù’¬­­«…±eË^öìÙ#6[e†2áÂÑÑ‘^¿~Íý•Äÿ^¨’¼¨dƒˆ‰ý±lÙ2AWÊ\ÒÑÑQ©S‚¤¤¤R9ôôôhþüù”ŸŸÏ½ô ÙjA;–J¢3 „j í£aDŒŠ‡üJYÛ¶mym‘ ¨Æ°jÕª ¶®0rrr….9;;Ó’%K(55UþòÇD4ˆF1îk…„”àà`•ò¬NôîÝ[áä„3iúÄO•¡qlE6lØ X_}}}úöÛo)''G5 [AdggÓâÅ‹yAÜXZ»v-·ø¿m5A3‰`ŠVÝ+J¦¦¦´víZÑ þËûüÂÂBúñÇc^T––,YÂ}”#i¾¿›³K{÷îUØçUIÈr ~àÀ±Ù*” zzzÜ]»l"ªEâ/TEŸ‘ôáÁƒ‚;Êòäââ"¨íPY\½z•êÖ­[êó}}}åE“ˆ¨«ˆíX&%T#`hýLDÎ{–-[&Óoß¾ ãîî®ÒȘ)))äçç§ðÅ´³³£-[¶¹Í½HÌcã 1¾°…î“’’¢2žÕ !/–Ž?Î;Aâ§Ê’tf¾|ùr…‘ØëÔ©CÁÁÁTXXX®v,**¢¬¬,zùò%½zõJ~©T¼{÷ŽV¯^MµjÕRØ“&Mâ^FD–h7m ¾l¥í¸•—$ õìÙS-QÝ5‰ÈÈÈr{©*þúë/ööŤ™BôËÄÏ?ÿ¬×ª"d>|˜Ç»:²© Ê„ ´}ûvnñ$þ·BUô•ØïÒòåËÉÈÈH©P±fÍŠŒŒTyü .Š‹‹éáÇ´qãFòôôTȾ¾>}÷ÝwÜÿ¡bblb DjÏRI5¨AÙÑà{?€Î;ËœŸ9s=’IsssÃÉ“'yÞ*ŠÈÈHôêÕ ¼<|ùå—Xºt)lllØä"û¬pSÜÀ'pòäIÞ½êÖ­‹Úµk«„gM@È ‹°°0@Õtw"‹é|t›9s&:uê„Q£FáÁƒ2…bbbwwwLž<HIIA\\œ %''ãíÛ·xûö-rrr=éééÁÔÔ&&&011A­Zµàáá!Cîîî Ãwß}‡øøxAÆkÕª…7¢oß¾lR8ïl¯UØ>ÚŒ§ì——¥˜ãyP» ¶„£„jv0´âˆˆV¬XÁ“®_¼x!Ó&LÉ·´´ä±V'NœP¨ìççG×®]ã/"¢ÿ‘bÃælA!orÆÑZ””…« r~çÅP•P5™‘4Ìz^^}ûí·eò& 0@^Uï}Ú¹`É”­üèÑ£ym´zõj"b ²Ïœ9C»wï¦+VЂ hýúõtðàAºvíÏXº:"55•6lØ@“&M¢>}úHm<\]]©uëÖH³fÍ¢sçÎQrr² *^ZZ{»5$n¿ëQ(³C¨, b­ZµèÂ… n·´´4ºpá‚´í©M›6äáá¡4ŽŠ˜dddDžžžäïïO¤©S§Ò¯¿þJÇ§ØØØJ©ý?^énêøñã¹Åw ô]U¥ål¥©qãÆ‚õ700 yóæqmODCvv6-Z´H¡]ˆ···¼øßôŸ6†Öè (!i÷j$`TõÀY‘D|R†††¼vððð)3cÆŒ ¶([·nT‡166¦ß~ûM~;ó4)7j”Ñe"¢7n¾Ì¥¹†ÔF8:: ÖÅÏÏ[¬5‰?¦TA"ZH%ÛßDŒ»N___Ñ' \²µµåªª°8KïŸpÁR2Ñ¡C‡xmeee%d/UƒR ¿°ðëׯ‡™™™¦ù+rss1cÆ lܸ‘—gaaC‡qUÔ—˜­Iþ”AŒfÌdýã?Æ›7oDf©rðññÁ¹sç¸BÆ00®U ûô?þ<Ïæ"66Òó† âáǘè³111•~øÙ³gѳgOžn|ãÆqìØ1n¤ÚC¾å°ÀáéÓ§¨W¯OpY´h,XPiÞ5O?ýÇŽã¥K$¼{÷úúú0@u›ÁYƒY Ã&8pýû÷Wz‘ììì`oo;;;™cdgg#-- ©©©¼_¡ÈÑ\ >;wʨ2_0ߘéýBFFF¢yóæ2LܸqÍ›7WËɯ_¿FFFÒÓÓ‘••…‚‚ ??_z,t®«« }}}200à¥ÂÆÆ¶¶¶°µµ•.¨<²‰'býúõìégö¨òà ŒQþùç 4HáûÔ²eKtíÚ'OžÄÝ»w5Ƥ®®.LMMaff&CÜ4‰D‚ììl½}ûVz¬HxR<<<Э[7ܼy·nÝ,cnnŽ}ûöá£>b“Rt„f#½« ýÁÌW‰öíÛ#;;[¦€¾¾>¶nÝŠáÇ‹Á_¹qàÀ :yyy2éÆÆÆ¸xñ"×öòÿü¤iþ„ mÆ*SàêÕ«èÑ£G•.XÈ E`„Œ¿ÄåªÜØ`\BBw2 Å| =øð!Μ9€Y}ª¬awtt4Z¶l‰¬¬,™ô=z 88˜½˜ñ³µŒ·•Ž·ñãÇóVKõôô''§Jñ.FŒ]»v æÅÄÄÀÓÓX¨A¶4‰Ñ¶ÀÔ©SeŒI›5k†%K–È•Ÿyyy2ÇÖ­[evÂ<==ñôéSH$€™P@;V‘µ?€1ÀÄĉñÛo¿ÉdvèÐ/^,× ‰IIIˆŽŽFtt4ž€™ÔÙÚÚÂÎÎN*tØÙÙÁÅÅÞÞÞðöö†——W¹KOž<É:oÂÆÆÑÑѬ“‹š@ûÆ€Z@DDúöí+踣²ppp€——¼¼¼àááKKKž  $D«äùyyy‚Bˆ¼ òúõkÄÇÇ#&&111HIIªçi^^^Ø·oš5kÆ&]0ÌÎU‡€Û¬ÓÒÒкukÄÆÆÊ000@pp0z÷î- ƒÅ™3gˆœœ™tggg\¿~ŽŽŽlÒ`hÃ"¶Ø:Z’*Z^¾|¹Ì„ªùøøpÝÑ-h÷òÐl–yy»˜¹sçREñìÙ3:t(ýñÇ‚ù………Ô®];^{Ž1‚ëz4ˆÚ•£.ŸcüM!!!‚ÁÚ´ÙÖ§4(‹Ê 궉ÄSê¢5DLŒ+++™úoÙ²E-¬‘‘‘¼6?yò$›FÕC¿YUdJDψcfù¾@»wïlçââbºÿ>mß¾fÏžMýúõ£&Mšh­oYIGG‡ÜÝÝ©[·n4aÂúõ×_)$$D¡ëÖÂÂBA=íuëÖq‹ Ô‚¾VDfÄØÊQFFõéÓ§Bm§§§G-Z´ /¿ü’~úé'Ú¿?ݾ}»J¸½U„œœzðà=z”V¯^MS¦L¡>ø€LLL*ÔFÇ纊/&¢‰H—Ī ]b\ÐS~~>uêÔ‰W###®»ö*‡ .Foݺ5åææ²Å^’ãÓ† €uàèÊðVªÍÌÌ”ºßÔ6._¾Ì[!ØÉÆ}_U@}0z¼èÝ»7Ž9ò_Fýú<·´eAVV4h€¤¤$èëë#99vvv2e–-[†9sæÈ¤uèÐgÏžeU}Á¸ø”õOªÀ¨©˜'&&¢E‹HMM•)`kk‹{÷îU)÷´\,^¼X¡j×îÝ»ñÙgŸŒ}J &ùÒŒ$°Ú¹s'FŽ)Í033CJJŠÚõmÛ¶m‹ððpéyß¾}qàÀöt(ªÎ;¯ AI{¬Zµ Ó§O—ÉtvvFTTtuuqýúu\¾|—.]ÂÕ«Wuª«+ôôôмys|ðÁøàƒСCØÙÙaÆ ˜4i’LÙ&MšàÖ­[¬íX$W–¢ÿÙ+!€ßHÖ­[‡o¾ùFÐ]4‹Úµk£mÛ¶h×®Ú¶m‹V­ZÁÄÄD슢¢"Ü»wááá¸víÂÃÃñàÁ…n­¬¬ðÛo¿aðàÁlR&€(ÝN±*a€0až݂±±1Ž9‚nݺ‰Á›Ê HÃgèСøã?ØÓ`TqŃÈŽ„ˆ6²"×Å‹%3KKKºråJùE=‘ñçŸ z;ØÉJâKþe¥{DÂ’*ÒGsæÌ‘¹ÇãÇeòï޽ˋlëââÂuOMD®åàߎˆbˆ˜޶mÛ ®òüý÷ß宋6aݺu W°8A¯‘øãI4’­ |ÿŽ3¦²M[&lÙ²…·²šœœÌfŸWA«…1ï¤P€NOOOµD¸®Ê$‘H¨Aƒ‚»>gÏžåÇ´ ËJ#¨$â7ãEGQ¤eE;[ï3nÞ¼)ØV}ô%$$p‹Þ "O¿¿UI‰™OÑÖ­[Ûa×®]•mb­ÁáÇI"‘ðêøË/¿p‹u!ûDÌ Ó/àâÅ‹èÙ³'ÏÇÚÚ§N‚ŸŸŸ,V{÷îÅСCKÛÉ(#i »zÐ.,° 33îîî2;M^^^ˆˆˆ€……E™n©ÑR£FpïÞ=™2;w– ˆcdd„ÐÐPv<äh àNy7p @"˜1c°cÇ^¡aÆ)ôºQU°gÏv—‚‡I“&aݺu³óãªI¾4„0mîÞ½‹¦M›Êd\½zmÛ¶U;ÙÙÙptt”ùž-^¼óæÍcOë£ÆÈ›‹fnÐ9qâzöì©Ò›ÛØØÀÎÎNªWÏêÝWô€Tw^•V&++ III¼ûÊ ÿþØ·o{z%AD«ø»äÅÅŘ5kV¬X!ShåÊ•˜6mšìi/öïßȤM:«V­â&m0 €â­¡ª=Ô}ùò%ê×¯Ï „8aÂlذAæÔ…o¿ý?þø£Lš‰‰ c{•'p¹ú!’d£CDÛXëÂ… djjÊ“ÄìììèÖ­[åí´ ÁÁÁ‚>¨åv2Šˆh8‰¿ Pù² Ïš5‹W§¾}ûrCÙ+Å€d®?¾Lþ±cÇx÷ÿßÿþÇ-2®|›³rLDD'N\ápqq¡ÌÌÌ2ñ¯Í8yò¤Â•ÏÀÀ@¶X>1»ˆb)URS¶rò17n\év-ÆŒ#ó|wwwnŒ–_ÊP—÷~g'  \«ùÔ AêÙ³'}õÕW´bÅ :pàݺuK+g•†ÔÔT §¿þú‹–.]J_~ù%uíÚ•O¨4222¢ØØXö¶DäCâ÷kEÈ„ˆv²‰ˆˆàÕõ‹/¾PIÛW',\¸×N§OŸæ™Hâ÷­:h$[Á‘#GòÚ M›6ôîÝ»Ê4­V¢°°ºvíÊ«oŸ>}¸Å–’Hý"ÆCuˆh[óóçÏ Y¡F×FìÛ·¯¬BÆÿe-ˆˆž?.hPÙ®];ŠWÚ'Nœ¹FWW—>|(Í/,,¤FÉ”‘ Z¸§üšÑ%öÂ3fþ9W*r¬6áÚµk '!­[·æµ'ñÇ“*i ÕÂÂB¦Þ+W®¬P[T身W¯òÚþŸþa³S‰È@õ­NÔ„mœ‡’¾¾¾àø•H$äããCǧµk×Rxx8ååå•»ª 222($$„–.]Jýúõ#777…ï¶Ü"ÍZ¿O+K版rssyêÆmÛ¶UIûV' 87&8êÄTý”@Ltø§DD—.]â© ÙÚÚÊ«‡U+¼|ù’œyýÎ1dÏ'¢z$Bßhú:D$U‚;wpáää$3Ù¬.Ø¿¿àŸ¦€1’Äi•Q#"zGD´cÇÁ?::|ø0¯ ²³³éçŸæéS?^¦œ¼¥žžEEE±ÙiDd]F^-‰è*{áܹsù533£sçÎ)í¿ª„[·n)œ„4jÔˆ[Ô—ÄOª"S"zMD´yóf™:RZZš´Ò‰‰‰Bk×®¥‰'Rß¾}©[·nÔ¶m[jÔ¨¹»»“tœêêê’¥¥%9;;“ùùùQçÎ)00FMË—/§£GRtt4׳5nÜX†ÎîÑ -h3m#©&4YÚ½{w•Ø‘P7^¾|Éó´$‘HèÕ«Wl‘lÒ/2* oÙ ÉÛæXXX¨¢)«4h ÓFvvvÜì‘$~ªƒF1‹’M›6å}36oÞ\ÙfÕzóêíååÅ]xYE"ô¦ø#[Û³gÏ ºYsuu¥èèèJ5¶6ãàÁƒe2:“ø/®2’~øgΜ©p2kggG=zô Ù³gÓ'Ÿ|BFFF¼2–––”šš*m£·oß’“““L™É“'s›qBy´¤’Ý"¢Å‹ òheeEW¯^¥êe†§§'·hU2-¾d+Õ²eKÞwåóÏ?'???µ»À644¤ÆÓ€ÈÏÏO&OWW—Y6ÏhA›iufçÇäµí©S§¨ >üðCeïõ)¿/UA~l…„Îê¼2]^¼{÷ާ%Ñ©S'n‘Æ$~ªš¤»6làæÍ›sÕR«5„\ò.]º”ÍÎ$FíP£ý£ÍÂ`‚¦õêÕ‹,zöìÉ5P«–èСÎ;'“öèÑ#tïÞ‘‘‘ À] ÞÊåúh¹lÙ2ÿüs>|¸\7éÝ»7F’º>ÇÓ§O±lÙ2™2sçÎ…­­-{: Lüe.Ö¯_™3gò 9::âÌ™3hРA¹x®ê¨¦FËâù>×6lݺóæÍƒ®®®Œ½Ùbó¤E(p@GE†&PPP Ôû™É¤ü±¡¡¡ZùKIIAzzºLš\{…ª•Í¡À9ý„ÆÃýû÷Ñ£G2߬°°IIIˆ‹‹Ã³gÏðæÍ›2{ü’(Jƒ‘‘‘t<ÈeiNNNpww‡»»;…½L¸ÿ>/­Q£Fìa$˜w«:A`.œ={Ë:å4h>øà1øM›6Å—_~)3‡NNNÆáÇѿ˜€÷AÀ¨AµA$€š››»:t›7oÆ7ß|Sf·‹=A"‘&Ož,u[ ÞÞÞ˜2e {ºÌŸ2˜ƒ#\lݺ“'OærwwÇ™3gàååU&>«rss¹§U3’ ãàÍ›7سgO…n`bbKKKXZZÂÊÊJzlnn޼¼<¼zõ ¯_¿–Ò«W¯••"*×sqüøq|úé§ãžz€Òg,ï®èèææKKK¼~ýZšQ#;; ˆG||<™™©² ¤2èêêòV´…&”öööððð€»»;<<<àææV¦@qò»€Ìju.€k•ª€váB»„ÅÅÅˆŠŠÂ7ðäÉÄÅÅ!>>qqqHLL乌Wòòò——ÇË333©°áîîOOO4kÖ -[¶ä BmÁü̪V(ÑŠZTZ¸p¡†Ù ,ÀÖ­[eÆøÆY£U ÝÐ?5F *‹0ƒv€ŽcÇŽEPP6n܈5kÖ %% ££WWWÔ­[/^¼~ £¢¢ðÝwßaРAøá‡pâÄ é% ¶mÛÆ®æø¦^ôÀøOoüñÆÇ›zyyáìÙ³pssSAõ« QPPÀFA7›ÀÀgÓçì ³ìííѬY34oÞÍš5CÓ¦MáààKKKèé•ÿsX\\Œ¬¬,¤§§ãþýû¸}û¶”bcc ›6mbŒZú€·5` 7iÒ—.]’f<|øP¦ !&&ˆˆˆÀ£G¤…˜Q¾‹ŠŠ••U¡øµjÕ’N&›6mŠæÍ›£E‹ppp–08ðpùã\+ žžž033“‰-sÿþ}ÄÆÆâƸ~ý:®_¿Ž›7oª4®ˆ˜ÈÎÎÆýû÷w'<<<вeK)ݸÁŸ7rŒgêåTô˜Ý¼C‡ÉdøûûÃÇÇG¦Ä„““>ùä9rDšvæÌDGGÃÛÛ`v1ÆhŒ! }üEÄx‚,«*rmvFjÚ §’¤ODë¹x÷î={–=z$ãƒ:==êׯ_j{|õÕWÜÛ-.¿±…ƒƒƒFQOJJ¢êeFÞ¸ÞfþGâÊÒ¶2¾¾¾2õ422¢Q£FѱcǸÆÕÁ«W¯èÂ… 4þ|rtt”áKGG‡k R†:¾O$uW+¯fëÖ­4}útúðÃÉÒÒRôﶦÈÉɉzõêEóçÏçxpÝ)ÿ¬}¨JêÄV¬mÛ¶¢÷CU!GGGâ`¼ô£ª)‚ˆèûï¿çÕ}ûöíô¾âèÑ£¼ö˜1c›ý–˜¹šFúHkv0~úé' >\l64ŠÙ³gc×®]b³¡*˜ À,= йsg^Aœ8qíڵË/oæååÅP™`™`Áÿð5€ñ#±6Œ·Þ¤Iœ>}µjÕ*{­ª)rrr`ii b󢌘(ÝwïÞ•ÉÈËËÃŽ;pâÄ øûû£}ûöð÷÷G‹-Ø•‚ˆðàÁ\¹rEJòºÁ³ó±eË|ÿý÷Ѐ€§*g¨j"†=R‹ùâ‹/4ÊŒ¶ 99ÉÉÉ8vì/ÏÇLJ»«QÆÔi}š4i‚°°0•ÝXGGG¡-Dyì&æ›ÊU³“?J“?W¥úg÷’Tvcí€3€ædVëÀÜÜAAAb𤀳³3’’þëò#GŽ`ÅŠ` )4¤&¥5†……j×®.êàeƒ±±±Ø,¨J¨.€NÚƒ1$~ ÀÇyzzâäÉ“˜9s&Μ9"ÀxŒ4h–/_333öž(Ö{ú‚ñj…ˆˆôíÛùù²-Z´À¿ÿþË5¯Á1ôVý,[³h惩ÔAÄóçϱÿ~ìß¿óîùùù¡}ûöpww‡½½=ììì`oo{{{ØØØ@WWWð^¯^½Bjjª %&&"<<aaaxõêU™ß¶m¾ûî;ÖØû sÊUóê‹·^¨%$`T‰ÎÎΨS§ÌÍÍÚE”娨Ø2“CöXþWYÚË—/­T¥¯¬k§ê&`$‚1öÖ©ÈxÐÕÕ…‡‡êÕ«'¥úõë£^½zpqq‘ÚÿiRRRðøñc=}ú´ÜvArF²¢rU½àíÛ·¸}û¶LFPPTè{¡««‹#F`éÒ¥Ò´'OžàÅ‹¬še[¼oF ªž”Ð6¹ôEöèѬY3„„„ 33)))044D:u¸ü"0»"ÿ(yŽ'€ßè<}ú<ýÛ6mÚàäÉ“°²²RAµªª‘€1Ž=(..†©©i™&l¹¹¹ Eh¨°³X[[K…ììl¤¦¦"--­ÒÀó'P·n]$&&ÂÝÝ`<²-@±7‹T@À°¶¶æM"ëÕ«ooï2O—ªøž’““%3¡ŒŠŠB\\Ïí¨"ÈM&ã+͘vÁŒëvÁ-µk×ìû:uêÀÀ jlÔ:::ÂÑÑ:u’I/**B\\oœ<~ü‰‰‰Ò:.8¤ â–æÚ‰^Î{Gºté" CÚ„îÝ»Ëpùòeôë×`Œušà£FÀ¨¦ñÌÇa—³µ¬­­ammÍ-“Æèu#€ë¥Üo3ÓììlôèÑ/_¾”Élݺ5BBB`nn®*þ«ª‰€a`{²k×.lÚ´ ÿþû/8€£G"33³B7...Fzzz¥<ÀÈÃÈÈÝ»wGŸ>}(û€˜÷â ÊXµñ`v¶œœdââH$4nÜXfEš%¹6Õz°;+ÎÎμ‰QAAbbb¤;¡ŒŒŒä°7lØ{ZÝ>v.ì×à ‹©S§bñâÅÕú¯«« ///xyy¡gÏž2y999X·nfÏ–õv-·3ã NÝ|jº`ÔJqùòe^f»ví4ÍÖ¡uëÖÐÓÓ“¾ä  FÀ¨(ð#€•`»‡qG+(E£t€éÓ§ãÉÙxeØ»woµþã©(8FÕXÚF6=ÜÏJÈÛØØ½{÷FïÞ½QPP€óçÏãØ±c¸yó&îÞ½«Qï2†††hÔ¨Z´h=z GB[÷o°Ài1§ý°€ÌÌL<þ\&£mÛ¶¸råŠ(Liúúú¨_¿>êׯÏz>|}úô‘)+CÉŒ'©ê©€ÂË8pà{ý711ÁÀyÆéÓ§1zôhöÔÕ'6Š c€/`888ÀÓÓS ž´ &&&hÚ´©LÀYN[yù¾¦ª›£b"Àù ^ë`üóÏ?غu+¯À† àááQQÞª5ªÉ<°°„üÀƒ8êëë£{÷îèÞ½;FåéÓ§2®dÃÂÂx»öööÐÑÑAFFOŠuš––&cihhˆ6mÚ yóæR¸ 6TdHž à€¿óÔ@Npþüy™È´ÞûHÞ;wæ­Nž>}_ý5{ê. cêƒBÃÒÒmÛjlAVkáéé ÄÅÅIÓXÛÆ’Œêä³U:¾å þkÆÂhß¾½Œ€ÁuOßÀQuó *£3˜èÉ¥ÁYEÏ{Ð@Y¬Ex f^´XcÆŒ¼ÌaÆaèСšçªŠ@‹ ]v`v¯ôÀøæp(Œ«½²àz } &6K€ž%Ç:‰uëÖEݺu1`ÀDEEñÔRúõë'5÷õõåÅxúô)LMMñóÏ?cÖ¬YÒô¢¢"|õÕW8p _Å`âÅœà2€we¬&`ÔÂÌK~uÁ쀼.ù­È=µ.`VáqæÌ^æû.`XXXÀÏÏW¯^•¦…††"??Ÿµ5h sêA€qÔ ÿ>víÚU¡3†÷ ]ºtÁöíÿj~ùò%"##áëë õEcLõp;:nNhÕª•( i#üüüdÎ žžÎ:Sj†*$`¬D‰'—¨ “K¨4üàÿÔÌ‹¶¡%˜àd8tèÏ ¨§§'Ö¯_/_U"zZƒÑmf±ÁŒp¡£äºB0nŠcK(¦ä÷ áúÀ5Å`‚µ]ãTÀŒ 㹌&@W×®]eÜ${zzbÛ¶ÿ|pWYÄÇÇ£aÆøæ›o*uZXXˆ!C† ¨¨ƒæOz™™ IDATò±Àe1ÑóçY_€¡¼FÀÈp@X …ƒ@ªú|ÃÒÒmÚ´QËC ——‡‚‚äçç þ²ÇºººÐ×ׇô—{¬¯¯CCC©…×îÝ»Ë999¸rå >üðCè®–‡Š‡î€°zÔÇ\á›^¿~´´4AJOOGnn®`ÿ˧‘LßË 6ÍÈÈ666°µµ…­­-ììì¤Ç,UÔ}v×®]e €i³£‘àEUíãj\Ðÿn`N™™™¬€¡75*R5¨Š˜È,[&CWW»w……Æ™ªJЀQÀ0BEGTÌøT@B €(=³ó¡ fB^ŒÚT{”LZoß¾îÝ»#--MzìÝ»Wê(33SÐ^ƒ0$ vî܉æÍ›#!!³‹1lØ0ã³Ï>CÉó¿³Ã»ÌD_L›³äÀ@=0º±•±‰1#ˆ8‚Ù½˜ÝŸ‡`âÓ¬CÕð&ó)ÀÄ}xôè‘LFyW¬³³³§OŸâåË—Ò‰£Ð/7B´ª``` DÚÙÙñŽíììàááºuë N¡[·nl )BBBXÃ@c÷TX±P€/ ,`”¶›•••…'Ož ::ÑÑÑÒ㘘¤¦¦–ÙK—&aii‰:uêÀÛÛÞÞÞ¨[·®ôXÙZ(æGuÎÕ'ÖŽ; ,`È9‹y¯!Ôçf¼L5@¥ÆîÝ»1wîÜRË y‚˜;w.o²XÝ!ÿ‚¼{÷®Ì6—.]‚‹‹K髬ÁLZqîÜ9\¿.ëdjêÔ©5^$Ê5yÛ‚ñöµ)^½z…{÷î!22‘‘‘R·¯………Òä¼¼<äææJ\}||àãムÀÛÛ†††Ü[²êKcª¨¨kÖ¬Áüùóy®l—/_.³¥,´{!Ÿnccƒ½{÷¢cÇŽR[ Vȸpá~üñGØØØŒºc‹Òø“ç5..=BTT”ô7==ÆÆÆRÒ×ׇžžôõõabb‚FÁ××¾¾¾prr¡ª!•™¶‚±]zV~4CàìÙ³¼LEÊÇãÁƒxüø1¢££¥¿)))je¶4äççKä•ssséd’ý­W¯š7o΋™Ô¶m[˜™™ÉE§OŸÆ’%KØÓ¨†t7æôiYõêÕ“ù¿ÌÈÈÀåË—qéÒ%„……!**Ja WmÆëׯqëÖ-ܺu‹—gaazõê¡M›6èСüýýáêê €qqÛ A<|øPZ^Nuîc0ªÅUîxžÔ°ßÛ@¸-8^5"`¨*$øm"¢ß~ûMmaïkH–bccÙÐïË4ö]Kh:[ñ>úH¦M$ =}ú”j@tãÆ ¥ãçûï¿g‹>&ÕõÍ'¢7\^ž:ŸˆþGDÖ*ì{UQg–É‘#GòêCEEEA«V­¢~ýúQ­ZµDÿ«“ôõõ©uëÖ4}útÚ·o¥¤¤Q¯^½xïFFFÛ|§µ /UA¿EFFòÚ¥ÿþ´k×.;v,5lØ$‰è}%¹ººÒ!ChݺuÔ³gO^þ¹sçØ1qD úSôˆˆèï¿ÿæÕõæÍ›Tééé¼öÙ¹s'›}˜4ÐWªºQ€¡azO 1bŠˆˆàµI·nݨ ®\¹¢tüÌ™3‡-Kªé="ÚÃÞ´  €¶oßNíÚµÓØ;¡££CnnnÔ±cGjß¾=5hЀj×®M::: Ë/X°€ŠŠŠdÚ.//¯‘H$ÅkïC‡‘µµµBÞ¬­­©nݺäççG]ºt¡úõë“ÆÚÆÃÃæÍ›Giii\¶#‰ÈIEý¯*ZÂ2çêê*S  Ñ¿¿b“——y{{óÒ÷ïß/ÆDd¢ýYÒ%¢T"¢_ýUô6ç’¾¾>™™™‘­­-999‘««+988¥¥%i•°3wî\vLd‘ôkeéѶmÛxuŽŽ¦0(((àµÏºuëØì3¤¾ª±Á¨AUB0úêøé§Ÿx™cÇŽÕ4?Z‹üü|¥ùןª°Á0ñS8pàfϞ͋K"kkk¸ººÂÕÕFFFR©wïÞ!66IIIef¢¸¸ R›e°··ÇîÝ»¥.l¹øã?ªVV¯^Ís"лwoDDD`РA¸víïºÌÌÌ ýcaee… ÀØØFFF044!11‰‰‰xñâˆHðÚ¸¸8üðÃX³f fΜ‰9sæ@WW·1€+>c»¢ è 0qž=“ÕâÊÏÏlj'Tþ@[[[899ÁÒÒFFFe"ÒqÊþ çåå!==III* Úøô©°*}HHLËŒíÏ?*{¨æÑŒƒüûï¿*¿¹©©)œœœxäìì '''X[[ÃÐÐPttJó·ÀŒW¡q‘••…ääd¤¤¤HÕç¸çééé ß㊠$$?üðÀ¨Åø8§²›‹ƒW€°&ãi;Þ¼áû?á´YÕ³ÁBÿþýaf¦u¯êŠØØX„†V—9•BG€yqXW¢,ìííÑ»woQ˜ÒF¼{Wf¥ªølC‰p±páB,Z´H°D"A»ví0hÐ tïÞnnnBçdK—.!<<·nÝÂ;w*õ'bjjŠ¡C‡â»ï¾cmdðöí[žðêîîŽøøxéùÎ;ñõ×_£NY»s\ºt +V¬ÀºuëÊ%ÉC__7F‹-àçç4jÔH>:¯ òóó‘””„«W¯"88'Ožäƒ7oÞ`þüù¸xñ"‚ƒƒaiiéà£ð›B÷Õ ,Á¸tO[888 qãÆÒI#—áèè(oÓ£6¼{÷Ž7©d)..wîÜœ”rv =PµŒ@€וùÿ³³³C‹-ТE ´lÙ5‚³³³Ú°žÅÊ0??)))xøð!"""¤[!>nÞ¼‰W¯^±,z ê ™XoH2P¥_Õ!ÔG&¼Lu@E[! U¤8ª<5¨ öìÙ£¬]ß'©£DDûöíãµÇÌ™3+×ÈÕ GUºm>{öl¶èsª|¿Ü$"Zµj•à³Z·nM+V¬ „„„J׫¸¸˜¢¢¢è¯¿þ¢yóæQPP5kÖŒLLL”ª3øúúÒªU«èÕ«WJïÿùçŸó®&ccc™´fÍšQNNŽÂûÐÞ½{éÃ?TÊ›®®.Õ­[—zöìIÓ¦M£Í›7Ó7Ú“”¯_¿¦ßÿ>ýôSA›ŽÎ;s‹ÿKâ¿ß½Yf PnU777êÓ§}ÿý÷tôèQJJJªtjÅÅÅôäÉúûï¿iΜ9Ô£G…ªzʈóß Jû*1è!ÑÙ³gË\w+++  ¹sçÒ(>>^eý#6233éÌ™3ôË/¿ÐgŸ}FnnnenŽêÜ¿_+K;ˆˆbbbxõÜ»w¯ªš»ÊãêÕ«¼ö‰ŒŒd³5b£U£"Uƒª”x—9yò$/³ÿþšæG«QšŠŠ—ÄËŽL Âüùóev>øà•î¾I$Ô«WõêÕàAƒ¤éD„¤¤$<~üQQQx÷î´œ‡‡ôôJÿÔmݺ¿ÿþ»Lš¹¹9Ñ­[7=ú_\¢Û·ocüøñعs§à½ôôô„   ’““¥®2ß¼y#õäååUa¿÷¥ÁÂÂÆ ðaðtéRž‡¿/¾ø‚=,ãaJlt˜¾}ší[o0îcÔÉ·šà„’èÓBîi¹°´´DïÞ½„îÝ»³“ª¬¬¬Ð¥K™à 7oÞÄpàÀžKg.NŸ>ͪÎù‚ñº'®{µÊá çAȳÔûŠRâ„hÆ]±Š$•š 5¢fƒ@D¾l…y푘˜X‰®~3\âì`¼ Ê÷MöfB»þù§Fê\>|Xp•øðáDD´k×.Ávœ5k–Èœ—Ž„„255•á»k×®Ü"+Hü÷Dô€HØKNNN4eÊ!ÏXïòóóéøñã4zôh²±±l£Aƒq/™Hâ÷kEè¶­ZµâÕÑÜÜœ†J‡VÉn_uÀƒè‡~ -ZðÚËÛÛ›[t$‰ß¿•¡lEÌÍÍeê9oÞ¼Ê7d5Áºuëx»å‡&³I}Uº¥R j ø=zÄÓm—H$5<å áŒÃ`ôøñÕW_¡iÓ¦2™3fÌÀë×ÚLúÏ?ÿDÿþýyö &&&Ò`fC‡E‹üPË—/ǘ1cPTT¤^+‚)S¦ÈÄý044Ć Rwø‰¾ƒ/98hÇ¿ðððÀÑ£GñìÙ3¬^½þþþJíQª+ôõõ€mÛ¶!!!Ó¦MãŸ9sDÄžò£¯U ´˜U؈ˆ^f‡н{w´oß^c64Ú˜››ÃÒÒ’Œ2::škGÖ…wqÕ‚Ô[†¼Fxx¸Æ™ÑVÈ·…÷[¡‘]Í©Tt€ÄÄD^†­­­ÚÔLª*„‚Yªà wtuu ûí7øûûK'9ÏŸ?Çœ9s¸“ZL_FGGãÝ»wÈÏÏ—’D"AݺuáããSnÉò ""+W®ÄŸþÉõª%Å?üwww€ŽŽ6mÚ„®]»ò q·oߎ{÷îaÖ¬YèÓ§O¹"M—ïÞ½Ctt4¢¢¢——'5"eÉÅÅõë×—¹æÈ‘#8tèLÚìÙ³Q¯^=öt*Õ‡°.?º²BÞqqqèß¿?:uê„ÀÀ@ÂÍÍM£ j^¿~ãÇãСC8q℠ô´4ܾ}Í›7ÊàQ‹Ð`ƂлyâÄ œ8qºººhß¾=Ñ»wox{{kœQ1qçÎ:t‡ÂíÛ·•–=}ú4ÆŒšàM:£pvvFtt´4#,, ÅÅÅeòòUÝ&sîììÌ=ÕˆŠT€Qƒª‚öðòåK^†7‰÷¹¹¹e-ªªeà(‹,m׮ƌƒ­[·J37mÚ„‘#GÂÞÞ?ÿü3Ž;ÆsC*gggidc///Ô­[Wz\᣸¸GŽÁÊ•+Ú†èêêbíÚµ˜0a›ô@ÝV­ZáÒ¥Køä“Ox¼_»v  @:u0uêTŒ=ºBÞó ‹'OžH‰µÝˆ‹‹+u§ÄÖÖݺuôiÓФILžBBB‚É“'£iÓ¦ D‡àëë[-¿ ¸{÷.îÞ½‹óçÏãüùóÒ¨ñÊpîÜ9VÀ¨ª†)õfçÊÙÙY¡G¶¢¢"\¼x/^ÄÌ™3áííV­ZÁ××Mš4¯¯¯4ÒuUÆ»wïðàÁܹsGJwïÞ-³×$‰DÂú®½Û­eÃ5oXtéÒçÏŸ—fdeeáÞ½{ðõõ‹7­@FF†Œà:uâžVŒŸ~ú –––ê~LµÆÃ‡ÅfA`©©©¼Œê8±¨,Ê!`¨? É²eËpðàAé`qq1>ýôSddd °°°Ì7LJJBRR’ÌŸ {{{¸ººÂÙÙÎÎÎpqq‘›››#%%Ez}bb¢Ô\™ûX333ìÝ»={öd“B|àsë›4i" C¯^½pëÖ-Þõ111˜:u*æÏŸ/u*Ï·^\ÞØãʨ[¥§§cï޽ػw/\\\x;~6l`ã8äøªÂR=¤:=—/_ÆØ±c±oß>¥°-vvvÒI%ûÛ¨Q#˜˜hÆ#ceðúõk<==1þ||þùç\w¶ f’ÆÅgv™áÏ?ÿÄäÉ“5âÑÊÊJFUŒUÁzûö-RSSqïÞ=ܾ}[Æ ›………=zGGGx €2{Ð ¼ü 5›””„àà`„††ââÅ‹ ¦%‘HxJîIJ¨¨HpYç •F­Zµàïï?þC† ‘÷ @_ˆ<±²h`8*tyyy Chh(.\¸€°°°J hÕuêÔ¿¿?üýýÑ­[7xyyq³ó¬0Ìb]UG}àË/¿”QÇ­½zõâºYóÿ¦~¨È•B7µ5¤zÏÜÔêQÑ„ Doûê@7µéjè/{"Ê "º}û6éêêÒÓÓ£±cÇÒõë×ËìZ2;;›îܹC åË—ÓØ±c©k×®äîîN:::•jwwwÚ²e åççs™ED£J©ßGDô”½àùóç4gβ³³«t¿ØÛÛS»víèóÏ?§E‹ÑîÝ»),,ŒÒÒÒÊÔ^………tïÞ=š?>™™™Iï»zõjn±UØ×ê ="ZDDoäëW\\L÷îÝ£ 6ÐàÁƒÉÉÉIôwI$‘H¨AƒôÅ_ÐŽ;(::ZÑH'¢YDd¬ý¨JêFD‰ˆ÷áÈÏϧ+W®Ð?þHdaa!z©›ôõõ©uëÖ4}útÚ·o¥¤¤…×ħNDZЇª¦"¢C‡‰ÞÚNëׯgÇD6™hªTºƒ±uëV|õ•6©õV_DEE±nÞ‡ ¸ÀwöìÙX¾|¹Ø¼Typv02 CÐq6ÀôéÓ‘€¥K—ò¼• ·„sf@ÙÜgçççK ¢Ùö7..Np5ÙÍÍ -[¶D@@FŽ)¯  ÆV4ïB>ŒÌóîÌÊêž={pêÔ)ܺu Ož<áéŒK$899É«såV¡+…ÔÔTüøãGhh(«&ñ;€á*{ˆza û—î(Ù5’ÇÓ§Oа°0ÄÆÆ"!! bÙ!Uæææpssƒ››|}}áïïöíÛ+ $˜ Æ`?À1ðwݪ,ô0Ì®oLáöíÛ¸}û¶t,°”˜˜¨i{†D"ƒƒ\]]¥ãÁÍÍ Í›7GëÖ­all,I.€ËΖРT}U(eØ`ôÛ·oakkËs3^ƒÿðôéSÔ©Sþ£"§¨TÀPÅjPn¼/Æ6£÷ïß/å¶GÀÈD‰½Š¡à*€ÖD$³à1€õ®ˆÀµÜ—€2<À¨ËÔ+!ö¸LÖ{EEEÈÌÌÄÛ·oñöí[äææÂÍÍ öööBÅCÁxÀâ`(Vè-Ÿ‘èèhèëëÃÄÄ&&&°²²b¬KCOOÁ¨»$”{ü€a pŽƒ’¨÷ÀiÿL0Ñ‘ù®Ø´µÁ¨§õó_SªçÔÔTÄÇÇ#>> ¼ß´´4uó̃®®.¥“Ewww™É£››¬¬¬J»M1˜±q ÀAG¡®†5ZèfL”ê.Šˆšš*#t<{öLúûæÍäææÊ*m# addcccÁÜÜ...2B{ìââRZTòáøO ð>Ͳ{øöíÛ'Êû\`hhˆQ£F±§}RR\¥¨0ª>Þc€ €Æc€{%¿÷ÁØÐTÍíõÂÌ8hf>ÒÌ8±C%Üq!77yyy ÇCqq1ŒŒŒxý.ŸV‰à¹âÀ|"œÜ”opõþ@Ì·ÒCd>ª Þp ± ”ªŒ@¨o’RåˆDÕ7ä+ lÁ¨w”V°åÂ+Öj¼ÿZ0?"ÁDV§…®!˜UL÷’_c0 !G‚ÿgï:ë(ºð{ozPC ºÔ€`¤# Ušô"E@éED@¥WAŠŠ4Q¤H“* ½é=B$$y¿{÷~›{woo û>Ïy’Ý=3sfvïž™S„•ÞÝpnð &=Å%õŠ_BÈ«qQ÷×Ù/û/Œ‡°ºY¶+vé¾²‹ Giù!¬t瀂‰•‡ ÆŠÄY¼ž;ކ/€<ò)P^Ý_#›#â„Éë”)]àühéÕÌqw#Ò ¶CˆÊæ28JÁP¡ÂШ …6YB¦¤«PÂKè|%œ„,Ì8Ú"}šædü ` „æ×Z‹¹t”ÛÄÿ9!|”záÿŠ¡5xA‘~`Åߌì7‘^AÙ†àÿ“IG–üï á]š¨ûkéÿ·!(·±ý%T¼†P *T¨ÈØðAÆMéNˆÊ†H^2ÿk ˜!¨6œ*T¨xí¡**T¨P¡B… *T¨p, ©B… *T¨P¡B… –@U0T¨P¡B… *T¨Pá0¨ † *T¨P¡B… *UÁP¡B… *T¨P¡B…à**T¨P¡B… *T¨pTC… *T¨P¡B… ƒª`¨P¡B… *T¨P¡ÂaP *T¨P¡B… *T8 ª‚¡B… *T¨P¡B… ‡AU0T¨P¡B… *T¨Pá0¨ † *T¨P¡B… *UÁP¡B… *,ƒ@/w7D… *<ª‚¡B… *TÈC  €õ®Hð@€û6è ‹›Ú§B…  Iw·AÅ뵎X à†›Û¢B… "êø@a Ê>0À<)Îl” A­Ô€0æ7LpÊR¡ÂS **Ük  €=~ð€x7¶I… ¯/´Fø’]þk×®áäÉ“ˆŠŠBHHÊ—/råÊ!88XzïMÜui‹U¸5l`p> ÀP³]Þ"*< ª‚¡Âݸ ‡Á¹JÆDg]Þ"¯;Šè ,€0ÙÜpÀy»mÇÜÖ:ð€*Þ ‚OÄ3‡pÝÞ³ôV¬XAƒáÞ½{F5 êׯ… "þüâékê¸dcýY!ìž”PÀ+ .Wìpê.‰;‘ ÂØ§¤¤`ïÞ½xöìêÕ«???@¯¢PwäU¼æp…‚áï$¾„`+8Ï ïä_î~Nª3ÂÊHFÄ þk×®Exx8"""¤×R¬ðœ§htÐ@OÏT‡Šôâæ¨áy6…“¾ «p 4šà3eÿ‚`²tÄÊ:>0_Ô€s €ñFéŽOAøxQW^Ot0Âj8àúõë8yò$Ξ=‹üùó£|ùòxóÍ7¥ó–øÀS×6÷µC8€ßT2¼pçÎxyy!W®\r÷ýa|”£¤(áýâ“€ˆˆ\ºdÝ&ÄôéÓ1pà@ñðwm,¼µµ®­™¥'SSSqýúu„††"0ÐHçx 7€V5R…½Ø ÆéÓ§Q¶lÙ4¶nÝŠzõêÀ>ÕÝÐ6®GÕ ìv‡È á÷঎bDáu4û&éLÊJçẉz;±Þ® uF8±Î“ u¦w ;øÑG®0,,Œ&Làýû÷¥rH!¹‚d^;ë ¹JFÎ÷HÖð¹¨äZêKRSS9kÖ,†„„¤™"ùùù±W¯^|öì%8I2“ô#£Òû$‹Â~ñâ¿þúkÖ«W¹råÒMÞ¼yÙ¨Q#Ξ=›)))Òñ9L2Ÿõ,o0`€ìø›#???ž:uJZwe êýBzÃÕ«WÙ§OFFF200¨ÕjY¢D ¶mÛ–›6m¢f’ÔxÀ8½.t”$×®]k4þóæÍÇ$ÚÚ©’s©&…wFÍ#Žä’oz@»]F.ÛÁ˜7o:d7ÃöíÛ‹+fw0®\¹‚ñãÇÛ]§.\(šÝÁ?~<®\¹bw½]ºtÁ»ï¾ dÜŒ|0Ð¥K,Y²Ä¨@@@† †áÇKWðžà'êÌ!ädE˜;w.¶oߎ+V LàúX`oé !̯7n [·nøûï¿ÍÞŽÅ‹£Fâ©uZ@øÐPá8T€°GŽA—.]pîÜ9“7U­Z¿üò Ö€: 2„ç[E ø×xíÛ·5kÖDjjªM .UªŽ= ø@7Å»êÊæÏŸ¡C‡">Þôbg·nÝ0}út©ƒùWLÂT8‡¼½nÝ:4oÞ<Í…yóæ¡wïÞ€à¯•Ï mSá|„Xa×BW¯^áÞ½{¸{÷.RRRŠÜ¹sÃ×××ðþ¿Œ°×%­u'œ¬Áèw0Ú´icÓŠ!MŸ>]dyÝD½‹IòÀ©ÓÏÏOª‰vU¨S¿ƒéz%«!u#@ì`‡LÊ"þü\¶lSSS¥c±•äVÔW†äM’LIII³JY¥J>zôHÊ{†ÈG%çRV’HòöíÛÌž=»UϧV«åæÍ›)A7èSF¢l$oˆÂ3g½½½-ŸL™2qãÆÒñ™h¢®b!GüV­]»VdOR«Pg1’I$™œœÌÆGxñâE±žT’=`Ì^ÚIšÝÁ8ííTÉñÔƒ¤~ûúöíÛœ:u*kÕª%ûnÒjµ¬\¹2'L˜Àk×®Q‚’ãIz{@ŸœFj¢=îÄ è|0Ì!&&;vDÕªUqäˆÞo³€ÿ|óN¹Ùl?99-Z´ÀÌ™3õÿý÷_T¯^111â©zYÜéÃ!deF¯^½ððáC«nNMME=ðø±ÞÍlo·¨°€ãÇcРAHN¶èuxþü9ºt邨ØXñÔP‘Ÿ ôöò'NØïJ'á‘ Ê+Ùã!$ÁäÉ“±qãF«êˆŽŽFçΑ’’ï¿éP3Œ;Ù!D2< ‚ÏËsµ-¸·ûû»œòOøBx[é3,ôìÙ3Œ=EŠÁ!C°{÷nÙwSjj*8€‘#G¢xñâ8p ø;£ð€ û ʈP îF<ä̙ӢÂ@dd$zôèçÏŸ@€ï!Ä$Wʦ«…àùôíÛþù§Q¡3gΠjÕª8þ¼xj€r÷DEzBtQ^–.]Š 6ØÄäöíÛèß¿¿xX@K‡´.ý#3„HO ‚tã}–=èBôÁ>ðòåKtêÔ ¯^)Y7)ãáÇèÞ½»x¨Ð]¡hEˆÇåË—­®ÇJJ!™"!8vãìÙ³;v¬Mõr¾ Z¸qã†Í¾R\»vMz(÷ñPº]×aÆ!1Ñ’ Wò3f zôè9rB˜Ý¥&Šçƒã£„_9œ°ÂŽHœÍ K¿€Ñ+[rr2víÚ…Í ÉB”7n”î˜éQ¨P!|ðÁöƒàùÂΆ ÏG?I7±mÛ6´nÝqq¶?wïÞE­Zµ°xñb´mÛjB˜Ñ|øœlƒ¥ú`¨>æè I.^¼Ø&ñ·ß~“ŽO,ÉJþI¾$É]»vQ«ÕZÄ·^½zRž+<@N*9–æ’‚í»¿¿¿ÝϪ$²O”ôÍN2CŠØK²¬¿Éb¡æÍ›Û=>#FŒÖ›]¦¾Ë¤¡ÊËËËîúZ´h!­/B¦¾¯Ä‹Jˬ!‰/Ð3ÊG”ÒìM!š¥¸KÁæÜÝsËÕÔJ@ûöíò[~„’èfŸy@?U2OEH¾ Écǎ飺9‚¼½½¹uëVJÐÁúëPRM¤T¸7Àš )âããѦMôïß_4¡È `71¼Ç$~ÉÉÉèÛ·¯Å«“Û¶mâE‹ÄÃvVUd”€‹/âåË—v3“mA°½~ÝÐÀ&PHHHÀÒ¥K1pà@Ô¨Q9sæÄ;#O>ù‹-’úºTƒ¯ Ï â?ö‰äÇèøûû£xñâv×g0ô¶L‘²€°c"ñá±’ùÁTJ ok̃.ÏÆ… 0cÆ têÔ ¥J•BÞ¼yѸqcŒ3Û·oïËÁæ|!^/ߎ쒒"kJk+bbbpøðañPÍ‘‘>0€ÿÝ»wѬY3«L¢Ì!99­[·–FÄ›ç%¦vœ¬Á8s#•äJ"¶ƒ‘ P§>²€ºƒaÍ$ÉÓ§OÛ-¯Ê•+óáÇ¢ÌRH.f̘a5¿àà`FGG‹,^PˆcÝ›B® ¹UP•Ò%É?ÿüÓ!ÏjûöíÅyòÊúæJjN2QìüÁƒY¬X1“² 5Ìå@!¦¼”ï~’|òä‰CÆ'44TZ_ ™~ /š‹hg mذAd§Mè*I®[·Î!ýkÞ¼¹´†»B‹Ä )))œ4i}}}MòkÑ¢…a¢uTކ•Ñèc±ÓåË—wÈøÂŠõƒDÖ³= Ÿ*™&ý6d÷îÝ6 ©N:” Cíl¥ç §^9òqb½ u9±ÎŒŒóP¼xqøùùÙÅèÀ¨[·.=z6Õ=àñãÇ3fŒÕüâââгgOñÐBFày2¹> `+€"ñz­ò¥wø@öìJfèÖA¤àušE!Oð€±cÇ¢jÕª¸xñ¢É›bccѨQ#ôîÝ[Üu €à,)– rqä­FÖ¬Y¥‡rI&Ö‰ÿ 8^^¶c… P¿~}ñp½B±Ü2í²!!iÑH³Ê cûíÛ·Q«V-|öÙgHJJ2ÉoÍš5(S¦Œt7£€ÏÒXÏÇoÐÍ‘‰'¢~ýú A–,YÒLfu€V«…üýý‘)S&#""Ó§O—¾oNº¦+*ìÀ'€°Û·xñb§U²sçNìܹS<ìiªlzCºsòVr¢’ÃíÛr;ÓÖ#99Ÿnù»õæÍ›©÷5Á@HfX¦L=zÔ.f'Nœ@:u°cÇýË|ÅŠxúô©™;å±uëV̘1:t‹t•‚Sk=Ýqåc'€U7Pá8 Tþüù¬`Á‚â¿×Â0}àèµ%K–`ܸqVÝ<þ|„††Š”r `˜îò95|||P²dIœ|¸9þÿ@’\Q…G"7„(k˜={¶ Úi˜>}:êÔ©æ% [xM÷pò‰ÃM¤^'zML¤òŠüøã&»råÊé·ø+T¨àž,V¬ëÔ©ÃnݺqΜ9&É—/_²dÉ’V×3wî\J0Ó„ü¶‰… ,hwÿ8 ²;"©cŒxröìÙ6ó®[W?$¹Ôæž«hn¾ÈB.ÑÞ¤I“”Š“Âü^Laž¹»o*™¦OÅA sØw‰ùûû3>>^¬2ØI9»UÁ°ƒ^$ä?üàPù•)S†Û·owú8²fÍš9r$9B<¦µ¨¸ÈZ% QðÓáÔ©Síÿwß}W:Ö}< o® )b‡[·nm—üÊ–-+•ßG:þÞÔ½Ö¬Ycooo©¸×L¿zˆ?~l±?FŽ9øÇHûM!¹R=ƒÄ‚ýúõ³« à‹/Dv_Iê8G’ÑÑÑÌ”)“]uüôÓO"ÿ—$szÀüs…’|Âs݃d[’ÇIycÊýcñ„d;’MIÖ!ùÉÜЕ,£ßHÇø†ZJ¿­ÕЇ³+P ;è5R0V’ä‰'.Cooo—[xx8?ûì3=z”H!¹œd ¹Jä/$ÇâÅ‹Û4Ö~~~ÒÕã{$3y@¿\AgHaÈ¡¯_¿.ÊðOIzçä?üÐfÞ_~ù%%j¦_êÞG"V¯^­¸ŠéííÍ>ø€±±±Ò[îÓü3žŸB ÆÅű@6÷oÛ6ýfH2ÿ¿ˆQL<ùÓO?Ù=>M›6•ö¯Ì?wÒR^Á˜6mš(£›ÐN•l§½$¹~ýz—}7Ìš5Kœ;‡= ÿ¡ôìä­"ã` ØI;Ê&^Drr²CùY‚k×®aÒ¤I¨X±"J–,‰Ÿ~úItªÔBÈ´{‚sì›.oœ )ÆHÊœ936n܈lÙ²YÍàÇÄ;ï¼#NðÜíóTxAêõâÅ‹ Ý( #[Frz „_Ì;צPÖ*TÀ_|!Þ†¤Á -„äZ‰Ð¢E DGGcÓ¦MhÚ´) ,ˆòåË£[·nˆŽŽÆÚµkÅ$‹p BØ]s6Ô1Ð%ÄËœ93,X`uß W¯^RŸ óiPI<) ak3 x”³›a…V«ÿ¤r®Ñ¾ g#€Åþ¾Ž€¤®.«ÔÉP ž€mâ?M›6u(cFã0^uêÔAÕªUáímyl„sçΡ{÷îǤI“Ä  Z¹5þƒðQ*ŽD…³q@(R¤öïß/UL"gΜX»v-:tè žÚ`š3é….@ˆ#rTð‘jÿø¢}­_¿E‹µ˜ç;#?þøCt¸€Q°\œàúXk×®Åúõëqýúuœ8q?ýôŽ?nxO–~Ñðêׯï¿ÿ^12‘:tè€)S¦ˆ‡Œ•\Î#þcoà ¸uë–ô¨´Ý 3($ †ëW¶T8984ï…9HêrLh9€ª`¨ðÄ8 Íš5³›YHHºu놭[·ZÑÃb4lØûöíÃÇñçŸâÓO?E±b–åU»}û6†ް°0Ì™3$áù à4€Úk¨ k0À,(Q¢öíÛ‡ÚµME`` >Œ>ø@< %€WÎl¨!@ü'>^.â«õð @ÚdS,€J•*áÔ©S2dˆôCÎþþþ˜4iöïßððpñô<(GtRÂI+õ2‘¬ ¬‰°në€6^À'Ÿ|‚¨¨(ÔªUËäMyóæÅúõë±lÙ2@„Ä¢Ò¨u9Äœ0F¦cܾÆPŒ ƒÛ'OsåI]÷]V©“‘îÂԪȰØ d­Zµ,®ô[…œ9sbúôéøðÃõ«–’øÒvC\aFÓ¦Mõ»-7nÜÀöíÛ±mÛ6lٲϞ=Sä‡~ýúá·ß~Ã?þ(*(… „¶]aUÓ¶˜º*l’ÚÙ³gãï¿ÿ6yCBB>þøc¬_¿þþþà!Žõ“6}â&S"M¹rޱ–‘ðyÀ0µúÇ ¨€)S¦ gÏžø÷ßqòäIœxð@,ò·}Ì&2Xºt©lÛ5 Ÿ>}*ûÝÆzôÚШQ£Œê(R¤ °dw’~&x†S§Œ>|ØîwßÈ‘#¥õ²±Ÿé‘ü)„dN;¿gÏNž<™íÚµcñâÅ©Õj €ùóçgãÆ9zôh®Y³Æ0?ÒY*+ƒ*yµ®fÍšNÿÖ+X° t®ôö€þ;„Üf"åçç‡ ¸«zðÿ~w7ÃÕ°@®ääd´hч²øæ   lÙ²•++îX‹Ñ›kxã‹/¾ÀÀñý÷ßcêÔ©¸_Þ²àèÑ£xë­·0räHŒ5 >>>~PÀW^B*o|ÚÀŒ30hÐ ›mذmÚ´Áï¿ÿooï‚LUj¸ì ¶z*Vèò«Y³&HÛ¦éôéӥިKÍß«#_~[…å²ì&%%aùòåèß¿? dä-볬ëÓl+e'‰“'O¢F€íÑ•>€ÔÔT,Y²Äè¢AÿÆ!­3·®Ø v¥J•йsgYÞ– ,,LêËvÀU›¥?”ðtÑþîÝ»‡^½zaݺu²…cbbƒ7*V¬ˆeË–¡xñâÐñ8 Ó6˜*<!˜*giß¾=öì1´@t,Úµk'þKœZ™+ád Fq#wîÜTñìÚµËH«} v0þ;Ø»wo«µþÊ•++ÊóàÁƒüä“O˜%K‡­24lØPºZiž?ΩS§244ÔdeÊ”á¹s礷þF2ÀÆ*£P ɵ¢pa>€­[·–šºÝbÆÏu¢!©OÒ·o_›Ÿ) Î[Ù†h’ܼy³,)ï/mè£~˲víÚŠ}˜9s¦X,…ÖçAɧ»O1)h¤ý°Æ «¹xÓãÇ™7o^›ÆhË–-ÒúëÙ ÇôHA$/ˆ^µjsäÈaµì8gΩüžQ0 vwÿT2O‹HòÉ“'f·í¡ÀÀ@^½zUœ‡< ß#gW *â5T0>;gkï   &$$¤‘ãŸþÉråÊ9õeеkWî߿ߦq~úô©ÙÌǹrå’Ú¤“äv [õî³ôNa$OˆBu”r!R»ví¤JF,ÉRÐggÒ[Ô}ÇÇÇóí·ß¶J^E‹eLLŒ(¯d’Õ¬¬ÿ InذA±Ž'ôÃ}…‚Rd ÿ¥âÍÙ²eS¬ã£ô¯2RÈØlMzÇ.¥¬áùòå“òe%½àöíÛ|UÌ‘ßÙ*æHz¥_H!‘d§Nì~7øk= šÕ;=P) ï%§&Ü“$Ø#ÉúÐo‡‘³+PT0²eË&}à^{ÈMà ¬`ä!ù˜²wûùùÙüpV©R…QQQœ7ožÕ8öR©R¥8cÆ >|øÐêñž;w®É~gË–Í0ø_4ms­’iªBᣟ¤ã• ‘:uêÄ”½¹öc’ = ïÎ$}šìääd~ûí·fŸg­VËÁƒ.Œ¶¡î’\·nb]ýû÷—ÖQÓJþ§I2::Úd vJzYYÇyRXxåjœ2QçO’7nÜ`ƒ ÌÎã‚ rûöíÒz/ñõù(î(vzÊ”)²òññña‰%ؤI<˜C† aíÚµ¢(ÓÁƒKåù:)ké™ôa}ô‘Ã/êÔ©ÃÔT}ÜŠ?= ¿%gW`ÒÉ»B… ¼|ù2_w¬]»Vve)+kIòåË—|óÍ7]ª8ƒüýýÙ·o_Þºu˪q?qâ‹-ªÈ7K–,鑊R0câÙ³géïïo4;vä;w¨„ 6Èš£iµZîÞ½[Z´‘ôW%ÓTS¬W¯^±}ûöû¨]»¶ásÖÄúëPrvf£HeÉ’Åd ŒŒääd~öÙgŠ0ƒ*µÅNÉELIÏäïïϘüñ1D\\Ûµk§È3sæÌܳgô–5$½=`Óy‘œ* îùóçüðÃ]2*V¬Èèèh鸭§jÕÝ2qi)˜î¤ ›#âþýûLMMerr2såÊ¥—Q`` TFHæ°²^’‚}¼©±X½zµXô-÷‘¨(Þ4nÜ8³ã-1Åú׊öë³*Uª(òΞ=»Tœc­”Q?ñÆI“&éyz{{sî\!Xbb"?~,7t¤°sê á—ƒ(DkO!Lî ’I'Ù“d ’µ(DjÊkG=ËHác²R¥JiÆÁ×××PAPÄ£Gضm[£±,X° ãâþÍÆ6j(øx5!ك³7›äJ’?‘œ@²?É6>‹SÝý¶–ªPØQH;%%Å&QCjÚ´©’Ïf ?'gW W0V­Z¥¸ [Ù’•¦ ØØXÖªUKQo¼ñÏœ9#ÏH ÆJRøè°Ç4Ê“) €ƒæÝ»w-ž ,P|>¹cÇiqs¡æõA®^½Ê²e˺täÌ™Ó0.þEfl¿Œ·In¦$¤§! Wv[µj%½<ßÊúH’+W®497–ÖÑÅBÞ=Äš7onv¬þùg±ø3Z¶[åOÉÅ‹MòΚUÿ3J’ã¬O˜®=¼uë3gΜ†ïÔ©Siç(˜ ¹s>U"ù5ÉýTP^MàÉå”"Ö—•ä ’œ6mšÑ8X’IŠäädYÅqÀ€b‘T ÛæK²É/(<_¬”u÷Ì¥ Sw¿'<™òQðyÔ#99™6làСCY«V-«ý˜”~Ó«T©Â~ýúqåÊ•rÊÆ.’=@v‘†$œ_”€¨¨(´jÕ —.]’-\®\9DDDÈ^Ëhؾ};nß¾-{íý÷ßDzeË-[6ñÔ\DÓ;²¸ÀoâĉøüóÏÝݧ"((S¦LA¯^½,*úôi4hÐ@vÿ—‘w IDAT^øûûcõêÕhذ¡xª'€EklÆBQ딄lîmÚ´ÁÇ]Þ///Lš4 ƒO=Ð Àï.oŒë 1„q(aŠ@5°wïÞ4…wî܉ڵk@*€JŽ[X`ÅŠèСƒb!oooܼy¡¡¡€F¸–¼ç@÷Î-T¨®]»f²pÿþý1sæLñ°(̇)n`Œ5 &LP,˜9sfÄÅé“Ä `´Þ"Vh;vÄòåËÓ\\»v->øà@Èœ~À]7¬Ö»þÂG  ¢©‚ xöìâãã‘3gNivs9ܰÀkÄÉ”éÝ;µQ£Fؼy³þBþüùqþüydʔɊ®W®\A¹råðüùsý¹’%KJ3« 7øÕtÐ@6™2€ØØXܺu þþþ B¦L™¥[ÎøÀ2±Vu(c£>„0Ù9!,ñüùó±`ÁÄÄÄ8µâìÙ³£k×®èÓ§ .,ž~`0Òóï¼ ´J²å>}ú”-Z´pû*³'’V«åW_}%uúI¤m¶ÉžJIa›1<<Üjùøúúòã?æÎ;¹k×.³Ñ˜<…4h`±ÆÙ³gÃ!úúúrß¾}bÑ—VŒÝ=¦žFïQ²Â7mÚ4‡dš¶—Ú¶mËçÏŸK‡z2.wËËT_ìt×®]dS²dIiR²ý´lÀK¼aÉ’%få?iÒ$±x*-K†¸ŸBTZ2¾5jÔŽm+ øo%…waþüùMò ”òþÆB™×oøçŸdùJ’{îrñ|#o ¦OF3þûï?Κ5‹Íš5cXX³dÉ"ûLçÈ‘ƒ‘‘‘lß¾=ÇŽËÝ»w+YE<§!ì]¦kú䑆;m={ö”ãÃðï¿ÿæ_ýÅ7nÈ–9rd^^^^Ò†ÎÞ%)˜8]7ä“””ÄÝ»wsôèÑlÕª#""¤8o¼¼¼Xºtiöë×kÖ¬‘ FòŠ‚i•]0=Ôx-\¸Y³fuù¯/Ç'õé"É9L§>|®¬¬uÛ$9yòdz{{»ý‡ßS(GŽܶm›tRE3ãÅË>J’7n´J6þþþìׯoÞ¼)•Oºr áòåËi Ž?®˜¿#,,LúCÃ×'²‹%Ôƒº°‚ ìØ±£ÛÇ]JeÊ”1 j±dv›³)\ìðøñãee3mÚ4©\:YÀÓW,üóÏ?›•}É’%¥üǚ᭡δh÷îÝm–,Y¤ CãÍðÏOÙ¶mÛÌòöóó“¶}‚²ñ¡9šÉÉÉŠ¦ñññ"ÏEnœ Yžäqi';ÆŽ;2wîÜv=slР§Njú[ÄU ŽóHî%É{÷îñ‘(¨z¬Zµ*;F£á§Ÿ~jTN.ÊÙÁƒÅË—(˜å ¡$„¶þâ¥Kœ3g›6mjR™°„4 #""¸hÑ"i8mR0‡«à¦±÷% âÖ­[|÷ÝwÝþ[Qºtiž>}Z:F‹(øº¹[VV‘«+,O!9Iae%Ožˆ¤¥ 0é_ˆ§OŸf‹-¨Ñhœòü+VŒS¦Láƒh€ê'䔾µkצ)§¸Âý×_¥){ýúu£2’.bÝz$M>‘Î &šá‡d)¬Ä+}W®\YÊóC7Ì_’úð‘·nÝb»ví¨Õj]ò úùù±cǎܽ{·ô#›$9þ|£òÓT’äÑ£Gyùå—iÊ&&&)LŸþ9 ±gÏvêÔÉ¢9á(Šˆˆî¦ä?|}B×§N©~~~<~\oUðˆdNcwÐDQÇWô_ñ4Òh4†«˜2øn&›uS2‘¬Ø%Q¯©Ä/³XpÞ¼yÉ|8ûõëÇ-Z022’ùóç·ÚôºP¡B?~¼>d²œIÓ‚ ¤òâ¿ÿþ«ÈoôèÑiÊž8q¨ŒhxçÎ~÷Ýw&ó!™¢lÙ²±L™2lРÛµkǺuë²téÒÌž=»Å»@\·n´É—˜ñM7õ (ïÝ»Ç|ùò¹ý7A‰2gÎÌóçÏ‹có‚‚%»åg¹»uHÞ%·nÝ:EÛslÞ¼9Ÿ>}JOǹsçL~ü¾ùæ›<{ö¬ô–£Ì!ÉÌP¤ØYs·;vÔ'R•Å®]»ÜþÐ;‚>ûì3Ó‰d||¼¢ŸIÑ¢E¥‰z~ö€1v5éãlîß¿ßä»Ã*Q¢}}}ÂÛÀ÷`3æî%Hê·ÜLS… ¤»{[MðÓÇn3gŽÅò^±b…x[<…]9Þ›IaåÙšq7‡[K·þKµråÊó–ØÌO5!“jb¡Ã‡›üÀ4øÎêÂyDò°XñÎ;MÎFÃ*UªpúôéF>xJHIIáíÛ·¹aÃöìÙ“¡¡¡ÉX«Õ²S§N²‰?ùä“4u<~üX1xÄÖ­[Ó”•óš5k{÷îm±2¤ÑhÉ &pÏž=¼|ù²TY–ERR£¢¢8fÌ–,YÒ$///Ã(ì2¹û½á,š*Εºuë:åÝîH*]º´Ôšã$Ó‰Ó·Û@ÁÁI¿luùòe–+WNQÐÅŠãÿýGOÅêÕ«âK©mÛ¶†ÙðõH‚£·0eçiöÅ™œœlñ†§“%ŽßÇWü!2ˆ©^ÍÆÙUô®ØñíÛ·3S¦L›råÊñÒ¥K$s–O?ýÔ)sà믿–÷g [gP±ƒ*T0)~øA*f üôÙçfΜi±¬ß{ï=)ïxß!åWžMQ¾|ù¤¼Êð  .÷Å… ¬â-‰†4M¡Í^><˜ššjvgñâÅ"¿‡.ž+ÅŠ—,Y¢Ï"nH>>>üâ‹/,V*L!55•‡â¨Q£X¦L³²–kS©R¥ŒøÊ9‡††:P³K—.Få,Ù]ðóóãûï¿ÏùóçóöíÛvËáÌ™36l˜¢Ì£]¸¥tÿ{ÃAõÌ7ß|ã”wº3È ’™;Ì­&·7@G>$gŠ’KHHàG}¤(è6mÚÐS¡dÇçããch7Ÿ@²+Ý/{W‘>Cª’󲿿¿aöcE˜ûHI/”3gN9‡C#(e|÷öö–F›ˆâë‘åÛ:;öØØX“ ½=4eÊ”4c ç¬é(’8†¾dÆLÆ×Hì`«V­LÊ"{öìÒHiW)8tòË)KЦDZ­VúŽÙ#Ã7·xÑ’èT†tÿþ}ýí2¼Û‹GŒa_IXÓ òÕ‡/²ÄéýŸþ‹vá$VºyófÅìòåËóäÉ“t.]ºÄÞ½{[èõèÑ£iøüúë¯Fe† ’¦ÌóçÏ­ŽþT¦L.Y²Äp!Òa8uê”Iòï¿ÿ^ZüKºÿÝáhZN >œŽHšç*Òjµ@ê™Djj*såÊåöÞQÔ©S'³}NHH`áÂ…eï¯U«–´è`og“ÞAÇÔB„½dÁƒ$-²·…J–,)]ùÜá2v4;7|øp³ò0ðQ-Ã/T¼8yòd«d-Ù1J%YØ€¯>gÇ€¬G‰Cæq™6o#-Ë}aH’Í™2|sP—ûåñãÇÌ™3§Y~111"¿_]4þÕ©‹uíÚ5f˖ͨM†cÇŽµ(Êž#pûöm2ÄbÀ0í«W¯ÒŒ£——/^¼˜¦Ì²eË,ãÊ•+sýúõFNçÎÀ«W¯8aÂÙÝ ___iÄ52¬–[HÙ(,âðË/¿tÚo‡³¨]»véj\ÜÞz“ºÞ¤`bh›žŒ’%KJWµHrÉ,t¿œ]IåÅÎOš4IöÁ dll¬E26¥¤8‹üüüXµjU§)6†v»rعs§âý+Wê-žQ0;t÷˜;‹rQ÷qäȧ…³`¸(@’E†³•æÎ+­ª’ÈÚ‘äK]8NK¢>iµZiƒç4Žl“W¼øÝwßY%ç"EŠHåü•ßáâ…5jX=†’| ‰væE¾úÜ[·nµšï“'OD¾³ed»P¼Ø·o_³¼üýý¥±_»`콩Ûq|ñâ…âîó·ß~KwàáÇüâ‹/ÌúÛdË–/_¾Lsï„ ô× >þH’ï½÷žÙñx÷Ýw¹{÷nWu7 –.]*û-P €tg=–ÊþJé’B-w$Ò³—´Z-¯]»&ŽË §Iò†ç့!¤±oV¾|y ))I_àáÇ8xð »Úg¯^½Js\´hQäÈ‘C< à“åuB}ñŸ­[·ÊèÝ»7rçÎæÜ³gÏ9sæ4çЧO'4QÇǘ1c€ÔÔTÌž=th½zõ™3g¨X¦víÚèÖ­~úé'£kC‡EãÆ‘)S¦ Ó|èÐzºð€€Ì8Ò˜1cо}{dÉ’Fháæ&9I¢,\¸°Ù©©©èÛ·/öíÛF`*€Ö’"^Ò²ÖàòåËØ»w/ªW¯ŒÁÿßÉåÅr§N²Š/œ}ú`„ ˆÇˆ#Ò”¿tévìØ¡X¯··7&L˜€¡C‡JÇC'OžÄ¦M›pãÆ Ü¼y111¸yó&^½z…ÐÐP„††"Ož<ˆŒŒDݺua–oÇŽcÔöèèhtîÜ›6m€Ü†g¶‘žÎ°wï^î®ÞÁÀQ£ôIeS)¬Ò»[掤í¤u¾,¿üò‹Tüµ%¼ Š'•²ƒ›¢>úH‰ïy’¼zõªMã÷æ›oJùv”ð½H Á”|ÐL‘d|®„§†¤Þ–¥zõêñjÔ¨‘´5œ<晨sš?vì˜ìjy£FŒ£ qüøq¶iÓÆ¦U爈NžùóççþýûͶçÆüöÛoYªT)«û#GvíÚUâTŸ|ò‰,IRÐgvÝý±‡¨sî:t¨SßãΤæÍ›K‡î«"¹½&HU02émš;wî¬(§–-[¦±=µ4¶½+è?ôù ô¨T©’ÃëÉž=;ãââŒê2„Ò—¯¯¯>ê“w³u.µlÙÒéãî£P¡BÒêÚ{€ÌIóHÁÁÒ𡛪¡ÒÐäÿñÿA ô‚;v¬Õr b||¼ÈBŒ–“‰:3¦5kÖØ4~^^^R‡ì):¾úÜ?üðƒM|%æ£?HäÙ]<¹|ùr‹yõë×O:ÇœmN©×˜4h`Ô–ÀÀ@Þ»§To„'N°Y³fy¶´Z-;vìÈ»wï*Ö'bôèÑŠã+1Q!IþùçŸ9rdšsOŸ>UT†"##Íö¸}û6Û´iãP///vèÐ.\P¬/99Y6´~ùò奿Ësèþwˆ=¤•_¾|y‡¿»]EY³ê#t“ä' WEr{Lª`¤ò&y†$oÞ¼i2<¶hÑ‚›6mâÒ¥KmZåsmØ O<¯‡’õ½d¸“#‡»wï200PöþîÝ»K‹6÷€9àHZD ñÝ]ýà iîù sGÒP±cÅŠ³Xƒ–Á¯¢â ¥As$ ÕúœBâ>}zk{@%™‘·ëÚªÏ}ñÎ;ïØÄóÖ­[†s"+u9¤ž={fUöú3fˆ¼èüxú—IòŸþ‘mKÿþúèÅFX»v­ÕIó,¡.X°À¬3u=dïïÛ·ošr/^¼0rî–úfH©X±b&•‹””~ÿý÷Nùæ äÎ;ë^¼x±ì}¿ÿþ»X$‘Âsâî÷ˆ­¤Of’={v‡Ëו$Yt1ô!ó(r{Lª`¤҇݋ž^hÛ¶m4„\GPHHˆEÉ$‡ &{¿¯¯¯ôc$£E#ú$wìØáY‡……qüøñª×;y¼'B”&¹¬×ݺu£nܸauŽ [ÉÇLJ#GŽTÜ͈g‘"EŒîûòË/eË“äŒ3dë9räˆlù””6Ì)»5rÈ;wîȶåûï¿—½Gb^õ½扫h*)X¸BÎÎ$I›u WEr{Lª`¤ošC NsÖlß{9 îٳǩufÍšÕ¢$KJŽj™3g–†µœåsÁTWì¹,Å–’Ä_Åa0å j)yyy1))IdÙÚdï(  à¼ÎéÓ§[-—U«V‰2I¥ÄÿÀ‡ÍÑ£GK‡/†$!…È|ùòÙÌóòåË"¿ŸIê¿.êÕ«gF#õ™îäñ¾@’+V¬mˉ'(k“:‚FŒ!Û’ܽ{·‘/DÖ¬Y¥ïX=RRRX¨P!só, èòþŽ3F¶-/^¼õ™:uªXä’ƒçˆ+i2)˜ºZÞŽ¦cÇŽ‰ã±ÜäªHno€ RŒôK ¨ûèÚµ«ÛÇÀª[Wÿ]«‡-N¥ÖÒÂ… ê5Ä¥K—%f6O™1b˜ë³;*ɲeËÌÊØ¤¤¤8L™–|P¦wÇJCŠ!Éõë×[-“ HÍÖôžÁ¦¢õXÂÓpõÚT¾K(00ÐhQbË–-vñ”˜Dèûm‹#zžâãã‘€ÄÄD$''ƒ¤ì=qqqxòä‰=z}ûöÅíÛ·Ò6I,þaè9¸–äÂ0Dtt4¾ýö[ñ0§øOJJŠÍ‰ŽŽÆßÿæÜ‰'læ¹z.^¼˜æœ½ïAIsÀ‹/0hÐ «ù*THzèÌáâ?û÷ï7º˜/_>øùùß»w/îß¿ïÄf)£G8pà€ìµ‰'"_¾|iÎÍž=ÛhîÍŸ??ͱV«ÅO?ý___#ž;wîDß¾}ílµmˆUÌ%f0G¡éÄ"ž ýIJåýã)È“'4?˜c~pœUÁPáh,ûÉ“'øøãÝÝ»P´hQ´k×.͹˜˜ìÛ·Ïéu>|QQQfËõìÙSö|ll,~ùåñðSǵÌm„BGáÌ™3èÔ©råÊ…Ì™3#S¦Lð÷÷‡´Z­ìpÙ²ebD•*U²(É™¥¸~ýºøo¢Ã˜z.FÉÞ,ÆäÉ“qõêÕ4çìQ0àçŸNs,I–g3¤<žø@V®AAAFÊÀýû÷Ó,6=xðÛ·oOS¦uëÖ¨T©’¿ . U«VHNNvLãm€’¬åŒ¤¤$$$$ˆ‡™ ¤è_èéYÁ(Z´¨ôÐú—€ ¡**‰þÞ€Aƒ¹õÇÂ5j¼¼¼Òœ›;w®Ë~-Zd¶L‹--[6Ùk³fÍÿ-  ¦Ãæd€‡º».d÷¥;Ûá\€€€äÍ›×ê›1pàÀ4çìU0Ö¬Yƒ¸¸8ý±# é.ÈÊ•+ñò¥}Ã(íãµk×0iÒ$›øH>S\·«Qfªÿyñâ…©v¤Á;wœ×" pïÞ=4kÖ ¯^½2ºÖ£Gøûû§9÷Çèÿ_µjUšßFƒÑ£GñIHH@ãÆÝžI:66Vö¼ÒØ<}úTü7½*Ǽ”û˜P¬X1ñ_øÇM1 UÁPá(”0 2‚iÔÛo¿ŽÓZ½xñ ,pY–-[föÃÄÏÏ:u’½væÌœ>}Z9J²Vò?“ŒcsZ䬀ºuë"""ÂÝm±… BÛ¶mÅÃmîl‹%P ŽÀT%`ðàÁéÞ4jîܹxã7Òœ»yó¦ìv·³±|ùr³eJ—.råÊÉ^ûí·ßĽ{¬§Ü„ ­6ã¿¶BCCÅ3š‚¡ÿ°µÇLáÒ¥K˜:u*èWíÁÁƒqþüy‡˜G‚‰Û­[·¶“›ššŠ¤¤$ôïßß.>™;[ÁЯĔ-[Öè¢$ˆA”,YÒy-²qqq1b„ÑùòåË£jÕªiέ^½6lHóa^®\9ÙØÏ>ûLÖdÌÛ]€+WŒ§F®\¹¤&ÆN5éó<„±HoøüóÏ¥ Ÿ+M•õdü_jÎFS}!º’¡ÃdzDåÊ•Î}ú駈wy[víÚeQ½Mš4‘=åÊ=zT_Ìq-s9b!*‹’ω£!·’­´òêhdàŒ8è¶õíu´üæ›oã @:ÆHd IDAT0er”‚GÅÒ¥KÂ+%%Ó¦MÃ¥K—læ(U\]¶ƒ!·øaè¨/âí·ßv^‹¬ÄÏ?ÿ,}wêa¸‹±víZ£]¥öíÛÝ·wï^é‚Û¡$k9ó­òåËKÏ9§E.ÁsÓàÃ?T 6à‰ÈŸ?¿4ªåFè̽<ª‚¡Â„øœ/{õêåææ8†a*.\ˆ 6¸¥-‰‰‰F‘Iä ¤`i̤"äpHÃ\}ø¨°°0—T¸k×®4ÇçÎsÉ¯¯ôC0}oÊã2`¿‚ñüùs :Ôa Æ’%Kd?(mÅäÉ“6_nܸ¯¿þÚ.. Q H¢ÛX£`¼õÖ[F¦©îIÙPÀ-Z´H  &&Û¶ýßZE£ÑùjÂî¾§ÀÏÏOq×[n£B… ÒóÎi•Ë0À/// 2ÄÝm±Ÿ}ö™4Üñw¶Åb¸;‡ Ríy>-;öå—_º]ÖŽ"///>œ+W®äW_}¥˜ÌÎUôÑGÑRSS*{XX˜4™XG˜7¶/Ég¤}™›­¡Â… sË–-LJJbTT[·ní’zkÔ¨!Ú½£i iÆl‘ ,èÖçÓn7¦M›ºz^]%Écǎɶ'>>žr¨S§ŽÛå-’F£á£GŒÚ8zôhÅ{ªW¯nT>::Úí}‘R“&MdeO’åË—7*ÿûï¿‹—Hj]0wœMãI299™5rûx˜£FI“wnõùYDno€ R Ϧ·©ËÖ}öìYúúúº]Ö•råÊÅ””šC=yìÛ·O,ö«Ì[i-In߾ݥòwõÜ;v¬8V÷Ij<@/Ŧçw{z£R‚Ì.çù¤ÛÛÛÛ¨=QQQ”ÃÕ«W™9sf·ËK¤M›6µñ?þP,?nÜ8£òK—.u{?D ftt´¬ìI288ØèžK—.‰—O¸`Þ¸‚²Sx¿2>>ž•*Urû¸(Q¥J•¤Êø’ù<@~‘j"¥ÂhÌ !‰^½zé#º¨p<îÝ»gQ$SfRáú<ÃÁzl„ƒ®Œ&åê¹-Ç¿!üÈd48$’” ë 1‘ºà™ ªÜæ8Å‹7º¨ä.&Ö]ËîmÊv¿J•*FçöìÙãÐ6ÙƒiÓ¦)š™nÞ¼9MN–>§æíuÓh .S¦Lظq£G¾‹ .Œ7"S¦Lâ©Ürc“¬‚ª`¨° ØóãÇÄÞ½{ÝÜœŒK|@êÖ­k”J„äG2€±{úÀfôóó3J¶–QP³fM©½ów¶Å‰Ðy{âzF… CÔŠØ œ1oÞ<Å\ ]ºtAË–-Ú8Kñï¿ÿ+X° lY­V‹ÈÈH£óÒŒßîDƒ н{wÅëãÇ7:WµjUh4@Xìp]"(çã€FråÊ…-[¶ Ož<în“yòäÁ–-[+W.ñÔdîqµîÞB1Aª‰”çÒ1’ŒeHHˆÛeìHªU«ÇŒãövRéÒ¥i ”ìIøêÕ+±Ø˜C¶Òï$ùäÉ“tý^P¢7ŠcôŒdn·3(»ØÉÏ?ÿÜí2]èܹs¢Ø—¹p¬äÑ£GeÛ4`À*áÙ³g¬\¹²Ûå$µ×CΔ¨páÂFånݺåö>àÛo¿-ëO"bÛ¶m²÷mذA,²Ý…óÆ•TŸd"I>zôˆÝºusûXuéÒ…>”ÏD“Õäö˜ UÁðL*#v¦S§Nn—¯£(Ož<\¾|9IráÂ…no¼pd1iÒ$Åû9"ÛåóÈV*I2…$Çïö1q$U¯^]êŒ?ÌdíLzLzî³–ÑH£ÑðåË—âÜçÂqÖG¨SüýýyëÖ-*áÉ“'¬X±¢Ûåw᣶•+WΨ\åÊ•ÊmذÁíí¯Zµ*Ÿ>}ª(g’¬V­šÑ}… ’úÿµtá¼q5µ ©×"wíÚÅ¢E‹º|œ ,È­[·ÍHM¤šH©°]!‘”$üiº…—— €óçÏëc—Ú z ,‰ÑÿÖ[o)^;xð øo~4égüaûäl»Ó#òæÍ‹U«V‰¦çÌps“œ ‡„ªUaòåË???ñÐU&R°À²f/_¾Ä—_~©xs–,Y°mÛ6·g]– 7,g&%çöàÁg4ÉbÔ®][·nEpp°b™;v`ß¾}Fç  &6ð§Óé~xCÈѨU«vî܉ ¸¬¹sçÆ¶mÛP¯^=ééçr@¥ËßkUÁPa ¼t€_ýÕeIÇœ???tîÜ'OžÄŒ3Ò¼|=UÁ0ÌÏ!ƒxåi ñÃPÄ!rÆxéëë‹… ÂÛÛÛÝí± ¾¾¾X½zµ4¹^?é÷á² ª‚áBäÀOB᤭[·FµjÕŒ üøã˜9s¦"ƒlß¾¥K—vZ#ÍáÎ;Fçä½sä0N3ôðáC£s®Bƒ °iÓ&©“°¢¢¢Ð¶m[£ó¥K—FŸ>}ÄÃgMÿ(à/‹V!pýúuôíÛÅ‹Gtt´É›‰»wï¢téÒèÑ£.^¼(žÎàû”W¼ÙSáî-¤šHyU;òÖ[oY,ƒœ9s²_¿~üõ×_Ù¸qc·ŽGž>ýû÷·*¤l±bÅP»vmdË– Ù³gG¶lÙô$=öññIìö9£D^^^LHH0싾ûî;Ek×®‹ýíóÉ^ò"¹EìPTT”U;kC† 1+KkpâÄ ‹ëΛ7¯a¯Ý$=@¦®¢jbÇþ¯½ó¢êþø7›lz¯„„@ )„  Pš/ ¨?åUTŠ /b䥊Tå¥6äU_PHЛ”D ©¤@zÏžß“Ygk6Édg6™ÏóœgwgïÌœ¹÷îìœ{ï9çé§ÿmé+++rrr"///òóó£îÝ»“¿¿?y{{“««+ÙÚÚŠbÔSŸ°,ˆq®ªÍ÷1³V£FÒ©ë‚ ¸Á4ÈÈÈ Î;·I=Éd2rtt$___ §G}”bcciݺuzlÚ´Icÿ÷ß_£ÜÊ•+ièСԯ_?êÑ£ùøøƒƒC›ÍºöìÙSo´("¢­[·’•••Öý‡Ê8¸^ÀþÒ2’ˆ”YëNœ8!ˆ3wsÅÏÏOý9¦‚ˆ&Š >õŠ4ƒ!ÑBàÆMôóóCbb¢VG¸;vð®˜:vvvøàƒ0{ölî¨R€u¾À’òð:t¨Íuk) HJJÒg‹>?Œ3gÎ`Ô¨QÀߎÞħŽF¦ÌHÎ6ã#""pæÌüûßÿÆ¢E‹PSS£wg^•qqq1¨Ü¤I“°víZnùSF¨äU!qc´d{æææððð€——:uê///÷îîî°±±µµµR¬¬¬`eeÅ:Þ7I}}=ª««QSS£òZVV†»wïâîÝ»ÈËËÓx½wï^›'säø`™ñm2€2™,b÷îÝI#"ZµjU“×­m=­B¡0JhÑçž{Žrss¹§n ¢-¤;¯À»lÁGyDð>£O6mÚ¤Q¯êéÜÿ™gžáí"‚>Å—|@DÊaÏ«W¯êmKsssºuëV“uÙ\¨óœ^^^´ÿ~õ]‘£ëILRNÄŒ¦¶öw!—Ë),,ŒFMóçϧ;vÐÙ³g)??ŸfS´Qrr2íÛ·>ýôSzá…¨W¯^dkkÛ꺱³³£ââböTo’°mH!Š õúT„‡‡SzzºÎ:»xñ¢Ê³Mš4‰6oÞL‰‰‰t÷îÝÖ7ŒvìØ¡¡óÇÜfçS(”››K ´nÝ:?~:uwuuÕ¶ÄUÉ™3ghÓ¦M”––ÖÚªn6»wïÖÐwÑ¢EF×#%%…6lØ@þù§Î2©©©z—õèуrrr¸»¼LÂ÷>ÄŠˆ”£©©©Ô­[7ÁÿÇ[+:u¢‹/rÛë[b– ]ß*"¸zD¹èQÝÀxöÙg)//O”¢‘AÍÀ'‚zmÄíß¿_oçŸ8q"©ÓÖïaaaêV}ýÀkšÅî0|øpÁoMI\\œFÝjC[Ò$äîîÎ-6J}Šoq ¢UD¤|âÔÖ_¿ÿþ{ƒê±¹ÔÖÖ’§§§Ê¹^yåõb DÔµ ®ÝÔD9ˆtàÀ}^&“QïÞ½iþüùôÇ4§#pýúuZ»v-1‚ìííuÖ]@@7ÁÞj¾ÍY™Ã*UQQAÏ>û¬Îk077§5kÖ´A-¶Žï¾ûNC×Å‹ ­– äâ⢳~H<`‹×“QèþÁ—ìd/ììÙ³äîî.ø8_âàà n|ï!‘bõÁX`:ÀD:¨¨¨PùÒÚÚ:uB¯&Q_ƒù×_¡°°ý €Z?  äM¯5×–ülÕªUm£€˜˜|ÿý÷pvv€O| ª‰]ƒ,˜$vl3ùâþýû•suuÕº½°°ÕÕÕ°¶¶oþ4 ef8f*>¬RÀÝÝÇGff&²²²”’““ƒÒÒRTVV¢¢¢•••J±´´„lmmakk«|ïíí tëÖ þþþð÷÷ÇäÉ“±téRåù P(Ø{Ã1`þ$::{ÁÜçŸ>|8†®ñ Gbb"ÜÜÜQP¬„„„ $$o½õêêêpìØ1Œ9UUª·¼•+W²ÑŽ*ÁÜÅ ¾²µµ•ïÛ·³fÍÂÚµk5 644`æÌ™¸rå 6nܨ5zS[ÑÐЀêêjTUU©¼VWWss(ÉÏÏGvv6œáèè¨Õ'Ø|ùå—˜>}:êëµ/ÑŸ8q"¶oßÎF›ª0í'¡Þ<4æíúí·ß0nÜ8gIS¦¬¬ qqqؾ};&Nœ0mG^ãŸ(8b40V‚y@À™3g«óÇa ddd`РA8räÜÝÝ-üà9˜æø Ý€à¢ž´¼¼¿ýö[›(ôÚk¯aÆ ¬SÚünÀ®f¶°€O?ý´Môã›Ö››‹îÝ»@g~´%ƒ ²²»víRù¢¤¤NNNhhh›{p£ñ¦äæÍ›8xð âââ /{0†0Œ1([½z5âããUx^½zýõ(˜‚bG.—#--Møˆ‰‰a:Lp‹{ÆÖ­ vÈð£L&sþüóÏáïïwÞyG«ãí¶mÛpýúuìÛ·¯ÅŒ¹¹¹ÈÉÉA~~¾N)**RÍM&ûùçŸ+“š™™ÁÁÁNNNprr‚³³³Æ{}ÛÜÝÝõ†™Õ‡B¡Àœ9s°zõjeæÍ›‡¥K—²Ní%žp¬E'#,€sçÎaôèѨ®®X%þ©­­Å‹/¾WWWÄÆÆÌóOÄî\è)5Q΃ž:uŠ5¦…¬¬¬ÔÃ;ŠŠ÷ß_ëtVDD°Åj‰èY¾¾›+S٠еÆ`’ôÌ;—~þùgÚºu+õíÛWïT_tt4%&&ÒW_}E666O.X°€[õQP3®åmvÇíÛ· >Ýi¨xxxÔgÏž­ó l±-"èSm!DTFD´eËÁÛ 1‚Ûø€öìÙCIIIM.,--¥¸¸8Çuww§ÿþ÷¿Ü]îQ´ú_NLŸ§[·néíKíEœÕüE‘H׌ˆ ¾ð&œ:u Æ CY™ê Ÿ öïß¡C‡ ¡ŸÁ,\¸ü±ÆöÈÈH$$$°Ë¥êüÀ~ãj×*|ÀŒ8™?ß}÷]«Ø­[7¤¤¤ÀÆÆð /`÷îÝMî7zôhüøãìèK"˜‹rO;L½[&''£_¿~M†ÿ ª-^¼ï¿ÿ¾ÖïvìØ—^z ˆãUAq0ÀFxä‘GpþüyÕaB¥fee¡K—.ð'€Þ«$&<¤p*..F÷îÝ5ÂîÙ³&Lhñ JJJ”ËÞªªª”¯Ü÷†¾VUUÁÜÜ666°µµÕúªï;õ2ŽŽŽÊû_K˜;w.V¬X¡²íí·ßVޤøÀŸÀ8xYÒ8`’¹¾ôÒK:g¾­­­±eË <W¯^Õââb#ªn\,,,ˆððp„‡‡£GGHHòòò0räH$'kÏÁ6dÈìØ±ÞÞÊÕ±g< ËHê·5®`fDªªªÐ¿ƒ“›:!!!8{ö,œœœ @$˜ç5áÚÂ!&„ØzÖì:qâ988hXhöööôÇ©°dÉ­–fdd$7šL-&áÛ 9rœˆhóæÍ¼XÞœÄoDD4qâÄ&÷ §²²2v— jÞèÜ b¢©Pii) >úÐ\)))i²ÿmذAçþŸ~ú)[ì¢úS[ÈE"¢?ÿüSð¶âÊ|Àm¢^"¨'1Él¶b6nܨQwþþþzGnssséøñã´k×.Z¼x1M™2…† Faaadgg'xÛ7%Ô§O7nÍ™3‡Ö­[G¿üò %''Syy¹ÎëÎÈÈ KKK•c¹»»svï‘ÚבÑ$‘9ó ÛØ ?~¼àmbl6l7‚g1Ïׂµ‡ÐÁŒˆ”ý?®5"†££#}H.— þZ|||hĈÛ£££¹‰“ˆ™º]["öÄ>uê”àunªòŸÿü‡8l¤öyß‘QãÌuNN/ *MUär9¥¤¤°í]MŒ“ í"dgPöúÄÄD“˜Ææ[¢££¹FF™Ž‘±Ÿˆ¨¤¤Do|m}²yófRGÛ&WÔò |Ù }#‰¨ˆˆ5õ©S}‰§X.\¸ sÿÞ½{s‹Š!ñ_âH3TÚ–ÙxzzÒ€èõ×_§•+WÒÿþ÷?ÊÈÈà%Ósaa!\‘ÉdTYYÉVße´%ò2{AbÌÀ,“ÉÈÁÁÜÝÝE9jnffÆõWü·Ú³-ăˆî1Ï#B×¹XdÏž=l»7ódô¶1v €í`àèÑ£1bD»J~Ò\._¾Œ˜˜ÄÇÇÃÕÕÕLò© ~X5}Ü0 ÀÖaÆaÅŠ˜5k–Á;ž}öYÄÇÇÃÍÍ ·o߯óÏ?"Ò¹Ïܹsѹ³2mÃû uþ›@ñ<ˆS§NÅ×_m°žbE_=‚ZĬö”lo*À$ç¼|ù²ÊÓ¦MD¡áÇ£[·nÈÎÎÀ´Ý—_~É&âë '€¿QNœl° ¢¢¢x;¨““àââ{{{ØÛÛÃÁÁAù^]t}§žä­¾¾ååå*RQQaжòòr###ùùù­¾ÆÀÀ@n4ªÄVP\`ßDDD(G­ÅÚÚþþþðôôlVû«o·µµU9®B¡P¶usú»½´´999ÈÍÍå%OO×®]aooÏ~l¯÷™¸ÔÔÔà­·ÞZÑðÎ;ï ..2ó¼dlŒm`,C£qñÇ`ĈáAÍÌÌ0}úôv›¹õüùó8pà€Ê¶K—.i32úƒ !'V¶àé™3g"%%_}õ•Á;_¾|^^^ˆŠŠÂ½{÷pûöme½½½1wî\öã%› 8…˜¬É`ÆŒÍÒOÌH†Vú ˇ͛U»G—.]0räH!t‚L&Ô)S0þ|å¶mÛ¶aÑ¢EËåð˜ds 2FFF6kG{{{„……!((Ý»wGPPR<<<ÚDY 8;;ÃÙÙ¹UÇ)++CFFÒÓÓ•¯éééHJJ28¹fDD÷c{I˜v@»ÈÈHüòË/ïhee…ððp!00P)AAAðññaCœóŠL&ƒƒƒZuœÚÚZdggkô‡k×®!++ËàãôìÙ“û±=Žˆ¡$– IDAT^€µk×"==]`uÄÃ;wðÙgŸañâÅ“€ï#;±‘§Lö¥¤¤hN´°° ]»vQ{¦¡¡Agt›~ýúq‹Š"QJâCDDDµµµ4sæÌ6Y'»e˶NÄDŠhJ/o"Jgwš;w®àÓ•|ʯ¿þÚd?Ó·DÊÞÞž[ôCô#>dу4î-œ°¼‚ŸŸ¯JôÛo¿e¿¾ODÖ$|ý‰I”ú’dÑ‹/¾H6l K—.qÃ3¶ ¥¤¤Ð–-[èÕW_¥ÐÐP÷Ø>úˆ»«' ߎ|É "ý‘ñÆÇjÔ¨Q´|ùr:yò$UWW·¾DÈÝ»wé§Ÿ~¢wß}—ú÷ï¯7Œï¼yóØÝˆÈ†„oK¾eó\åçç'ø³ØÄÍÍû;Ødìö1vgØO¤}œµµµzvÉvÍ¿þõ/:prrâ1DÔ˜õ¾DDO¼ý@úôéÃuÂÝn€>D¤ ¡ðᇠþ#ç[~ùå—&û—>C&“q‹®Aj­8Q%ÑÚµkU®ÕÒÒ’îÞ½Ûd}UUUѽ{÷èÆtáÂ:räíß¿ŸvîÜI?üð>|˜Î;GiiitïÞ½f=À<ÿüó*z©9áMAŠIÞd+&66V£ÿ®\¹’òóó ®ûöFaa!½úê«õòý÷ß³E®“ðmȧ¬!"ºzõªÖûÙsÏ=GééÊñ¤Gmm-}óÍ7ZëfçÎl±$|;¶…\!"úå—_ÿ_«pú@5î»Ê‹{‰”N–.]ŠgžyFh5ŒÆÒ¥KqíÚ5ü÷¿ÿZ•Ö’ à1[ŒJJKKqâÄ œ8qBë÷Û·oÇâÅ‹YCï5sŒ©Ÿˆ¹  €•X ŒÚÚZ•@D{{{ØÙÙi.ÕÖ\»vMås=`nnÎ~¼eTeÚeˆ­ˆˆQ *ý¡¶¶¶¶¶Êþ`kkÛ&NäºPïUÌÚZ9A}U£€icàðå—_B¡P¬Ž¸Ù´iû_8€%€Zý{ðƒd`HðM:ã]}<ÀÌìC˜ÈSOººº">>K–,Áž={ðàÁÈårDFFbâĉ˜1c;ëQàMõzÎù"G38€W_}•—‡p±Â—ш©SÙ7ÖÖÖpvvFqq±ú„……zõê…Û·o# `"¡¼#ÝøE‰v¹\®²|­¹”D„[·n!##999(++k2|¨ú禖ÏYXXè yË>tª‹££#üüüàïï___® —;wî ´´Te›Z©vm`¨S\\Œ‚‚‚f-›+((@ff&²²²ðàÁƒf…®¨¨@UU•Þã›™™ÁÆÆF¥ý¹¯Ú¶ÙÛÛ£sçÎ D@@7¼l“h¨kç¤ú¡qYìÁƒVEüp"—:xÀ!cœW4Ƈ~ˆ5kÖ­†Q¹yó¦Ð*´%Õ`Ö«¯þÌlÄk>>>X¿~=Ö¯_ÊÊJ˜››«VxL¸Y]DاOŸÆsÏ=‡úz}¶ˆé#JìŒb?|õÕWذaŽ9‚}ûöaÿþý¼äà ;;;ÄÆÆbôèш‹‹cgXÜÁL_‹9ÿ1É*—ˆ¤$¥[†N£¤¤.\@JJŠJÈ׬¬,ÔÔÔ´©²õõõ(..n±q+—Ëáç燀€øûû# xä‘Gàîî®RÖ€‡É‚)!^”Kcu….NMMÕ00ªªªpñâE\¾|™™™*R^^Þ¦ *++5Âð7¥±ˆôíÛ—»ãS§í7ÎýØÞ’=0á“““…ÖEôäääàÖ­[ðõõ˜ÿ™Že`äææ"77Wh5$Úž:¯8 f–# €z¢4[À$eÔ÷giæÌ6//#GŽlÕ ÝTàÙÀ°lõÁ„£@˜ß“ô’ËåˆEll,6n܈“'Oâ×_ÅÅ‹qåÊïÙËÞÞ‘‘‘èÕ«†Š¡C‡r—,°‚éÃ{Ñ~rðò©Z}À ¼¼YYY(((À¹sç”’––f²3—uuuÈÈÈ@FF†ÆwèÛ·¯RÔ“H`a°ø¢}ùaTù­k]r 0F—»»;Ξ=«”¤¤$“l*((@AAΜQM‡åææ¦ì ýúõƒ«««VºñaR¹Œ¡myÎ;ÇKBÂŽÀÉ“'1~üxx€Q2ŠÆÀèpìn”®œ%†?hÍÐ&OžŒ¢¢¢6PS|H3*äXÕ(=¼Ð(]e2ú÷ïþýûÿ]8/O%ŠTbb"îܹ£rÀÀÀ@XXX 77WÃ` dffª,›±¶¶ÆàÁƒ­”ÀÀ@]ë°øŒQýËÿ:"–hxÈËËCJJŠF   ³îš5<¸QÈÔ‰çúH0†nF¤€N¦)S¦t˜þPTT„h$ìUçÌ™3xýõ×Ùí)s±9ý-O:%°*¦Ã‰'XÃÌò2ýëüx@20$„&œ¨1Í +€wfiŒ´³ypÖ m`¸‚iK;0޽µj¯÷aø0À‚F‰0ÌhÍch¼×y{{ÃÛÛÆ CRR>¬r€Q£Fá§Ÿ~<üðøxñ¢Ê÷çÏŸ‡ƒƒÖ¬YƒY³f)·×ÔÔ ..o¼ñ†6½êœBù€ š;ìffIW LMškW|D‚‰ ‡„íÏÉåaÒPŽ;†ÚÚZXZZŒÑžˆ‚‡i_Ù!õMâãã¹Cü®£¨© Æ—@20š'j§˜Ý6wü— Se9ëšš|ôÑGBëbTLtÃÀ³úèÆ‡&ö#0³` Qö5À 0ˆ6’e'0ÞGcÞ+W®`ðàÁ*³^;wÆ–-[”Ÿ335íÞììlDDD`ÆŒ8pà€Ò@!"LŸ>ÔŒ/À}€‡x=¸ð ˜¥rGm“XYY5»?p?Ëd²Võ‡ªª*Þ—÷åææ"55•uí`-¯'ŽÇÙ7çÏŸR“"))‰›ÿ*&d`ôÆß#júpoºˆD#=Àxû7Ev£t$úƒqþÆ×_¼¼<Õ1.&d`X™E˜Ʊ̦Ç0йQúkùþCƒ•t¨:4xÀÃì†K—.!&&F%'†™™vìØ77f%.‡]ÖÀ`ËGDD(FÆtÁN™µà kP¹áw ²˜¾8€É«1€³í.€o¬Vì´ÚÀððð@hh(BBBT^;wî £†Õæ4;;ׯ_ÇõëבššŠëׯ#--­ENÈñññ¬Ñ€-˜üDí¡pöìYèY†bgg‡¥°}ÂßßöööGðj+ˆUUUÈËËSé ìkKƒUÄÇdzÆ£¼*,,~cpv”eÑ|ÐÐЀÂÂBøøøFšåäËÀØ‚Æ5³¼ñA£4ÅB·­*¢c ÀL‹/_¾\h]ŒŽ 8yûƒ™- fö@I~~>’““‘””„ääd¢®®õõõ¨««SŽê±QÅØ‡ÐÐP„……!44T=ªŽ ˜ÒGÐõõõXµj.\¨á[±`ÁÄÄÄ(?ë)=yò$FŽ €YnµmÛ6Œ=ZéhHD˜6mNœ8U«VÁËËK ¶Q ¦¼¼\ã!#55÷ïßW‰µoii ÈårØÚÚ¢GˆŒŒDdd$ØéN`–¾`'˜Ù?1;? 0Ñ¢ôþËå ÔjH¨EèæææÊDŒÚ"#ݺuKkûçææêüýÇÇÇã“O>Ã~ €ö°nÔ  º–G±˜™™Á××Wkðññܨԇ™™lmmˆÀÀ@ÄÅÅ©|ÿàÁ­ý!==]oådzƒÝÀ ¶´d9²ØpÀ{ÒÔŽ@QQk`5U–D³DjÍš5¬J‡aÆŒøî»ï„VÃÔFcˆº}ûöáÆ«c|D<ƒa `.˜%AÊÙŠk×®a×®]سg²²šÈ$##CÙÑÍÍ !!! Rþ!"((H#¤'ܾ}ÀºuëT²,X°€}0S¢Ë¡ö›o¾Á’%K”Q{Fމ½{÷âùçŸWù£ß½{78€™3gbäÈ‘èÕ«—ÆNEE…2œ*WÒÒÒpûvë'œœœ0jÔ(Lš4 ƒ ‚L&³0LÌŸÀä)lõ‰ø%ŒOŽÎÙ‹ùóçãÿþïÿÀæÊiwøúúÂ×׃VÙ^YY‰ÔÔTÌ™3GލFï>þ ŒÇÁÌÆhøK± <Ë—/GHHˆz4Âvƒ‹‹ úõë‡~ýú©l¯¯¯GVV¶nÝŠÏ>ûLc¿£G¢¡¡¡‰³dÓÔq$£%pêÌ8~ZDć\&"Ú»w/…„„4)¾¾¾fmµR¶mÛF—_~Y¥d2™AõBìa>&~ÚÐTd){á½{÷ÖèGA~øá‡&ûÖùóçõcáÂ…lÑ<µ‹ 5ÞˆˆjjjhÆ ôÐCµn)22’zöìI]ºt!'''½å—.Uv'%¥¥¥dcc£sŸ„„}~þùg²²²Ò¹ y{{SHH=ôÐCÔ©S'£Ö‹··7Í™3‡òòò¸j_'"?›|ÈV¹1cÆh½–œœúïh¬_¿^kÝüôÓOl‘T¾-y»ß“¹¹¹ÖkþòË/ùªV“%##CçoÿôéÓl±ƒ$|{ò!ˆˆNœ8aÔ{h{γÃ)c´¯Ã?ì4žDËP(ן)Ç÷næ^˜ÑÍ .¬Ž04FŠÑKm­þ„Ðúr¹<ŒoH,Œàðg 1s/üã?4¾ ŸŸŸÑ•ƒ ÒºýðáÃ5jÀÌôvƒéûç €#GŽèÌw0dÈ£*$FеkWäääh|wøðavæãI´ß'’ÿE àÔ™Q®µÖ¡PB˜ ãì‹eË– ¬Špða`û–c€D„ýë_xá…L"K}]]RSS5DýO: @åsAAÖýÊÊ %,•••X¼x1†ÊN—û€É;#'P3OÀÅ‹ñàÁÒÃ$Chh(´%S M:Ìh µ nzº—G¡[·nFTI¼<õÔSZ·sú„5€ÁZ ™NÚ<{{„SgFÉNØ>°J´Wþ0xj¤ > |„O ?ªöhø­\¹“&MBEEEÓ…M„£Gb̘1¬3»+˜@ÍrDoz¡1!˜.ÿ ¾ Œºº:¡°°P)÷ïßGuu5jkkU¤¦¦Fc›L&ƒ•••V±¶¶V¾wpp€§§'<<<àáá777Þ"=õÔS¾Biii¸yó&;Ë `/'†ÁhÕe`ðÕ }T¢fùúú¢{÷îZ#+ÆÇdzFW0þ9imq-F"PyX–0ŽQfkš'oñËDD7nÜK¾£'ÌÇ"ˆê` À^°±#ðˆM®\¹BM±{÷n½Ç˜7o[ôOíODÔÐÐ@?ü°àućØÛÛÓíÛ·‰ˆH¡PÐc=&¸N|ˆµµ5¥§§³íŸMD¶"ø}[QÑ‘#G´êýñÇÓíÛ·iÏž=4uêTêÑ£‡àuiLqpp ˜˜úðÃé·ß~£ââbêÚµ«F9R(lû.AÛ¶D‚Ù 7nœÖúèׯ•••Ño¿ýFï½÷=þøãdii)x;K,,,¨wïÞôöÛoÓÞ½{éæÍ›4eÊ­e{öìIÞAû¶F1ÿ5º"‹I¢]îÞ½Ëö}Æh+¾$F–h`Ì&"JMM¼î…–””jŠíÛ·ë=ÇÀÈç©}‰¨’ˆèܹs$“ɯ§ÖÊúõëUê499™ÜÝÝ׫µòÉ'Ÿp/k¤~Û ¢¬Bï½÷žV½]\\¯;1‰L&Óù@}éÒ%¶:Oˆ m["Ó‰˜‡H]íîàà@‚·ƒ˜ÄÚÚZçwœg†ÿŠ }[#“Ù ñòò¼ÎMEÌÍÍ©¡¡­ºOÑVR) S¡7^™:†d¤ÕfµÈð!ôéÓ¯¿þº±ÏÏløÚiÓ¦±›®PôìÙ§NBPQ’ ¶ !!!x÷ÝwÙû!‡Oeu]ÞÚ¢Jud …Î¥`œ ƒŸeÆf\¸pAg»—••uÔpí:©®®ÖùZŸ0erÙ7Ò2)Ãñððà.±üËç” S¡7À8ëI4¾?5ø|øX à,Y²žžž<Ú8¸¸¸àСCxùå—ÙMGÁô½ÿÐн{wœ:uJ#£®©°aÃ6H@€·V‡Ë“ì›Å‹ÃÇÇG@ULwww„……±€Á4%,Ю877× ‰¦9vLéŠÓ "ò¿mÊ8â]ºtR“B-d`HHp$ÃP˜Á˜ÈS(\\\°|ùr!th1ÑÑÑ8}ú47RÑaOƒyß àõ8rä&Mš$Œ¢-ä…^à: ÎH ˜ Œ¤¤$̘1Cé[B7ÖÖÖ˜}:­ZµŠ~þùgJII¡êêjC/K=ÐöEII }ðÁ4hÐ ®õ•×'´8IèŒÎ ¯ª¢£GÒ¢E‹(&&Fk››º¸¹¹ÑÈ‘#é³Ï>£ãÇëë# DtŒ˜;"h?>Ň˜‡¢Jõ‹.**¢ýû÷ÓìÙ³éá‡îpaK===iôèÑ´bÅ :}ú4ÕÖÖjëiDôO"’‹ -ù’>ìŽýöÛ‚·ƒØeìØ±Üþðœ±ÚÉŒˆÀ—DmÚ´ o¼ñÇ“h‚¼¼ûLh]Lžyóæ±õø€kæ5Õ8`=˜6½@=+ 3Ÿ› Ý9ïƒì9^^^ŽŠŠ TTT ªª ]ºtѵ¦ÿ0€OÀL»7—ÎVø•ôË555ÈÌÌ„\.‡­­-lmmáàà`P–f0SØ9ÒÁDèb_oƒYBR F¨˜%F½e˜ä”\îƒI²UÔÜ‹˜`/˜ ›®BD„üü|äääàæÍ›Z_ïß¿o, ÂÍÍ ~~~èÚµ+üüüT¤k×®ðòòÒçä¬pÀ÷~pÇXz „€ñ^ 5ÊBYYNž<‰ÄÄDüù矸yó&nÞ¼)”Oo˜™™ÁÓÓ~~~ˆŠŠÂO<Ç\_D»R0÷µ½öÁX‰ÕŒ‡9€»Ü:„ØØX¡õ5[¶lÁäÉ“f‰œ'£ü $ÃD逯zÓ¹~$ZÈo¼yóæmk`„¸À²ñóiÿBë2 ;@ÕàóÐÙ@ιôA`üÀøUœm…>,nF &±û4Ècd©KZçˆÙÀJ8Û¦ØÜŠc €0‘Õøêkè***”ÇÍ›7Q\\Œªª*ƒ¥²²UUU033ƒ lll`mm­òªo›§§§Š1ÁÍÄÜÕ`Â%_åÈyy†W_»"À0!W{ð×W¸  @¯áYXXh uâàà€.]ºÀÏÏOãÕÏϾ¾¾Múݹ§pÌ ŽqÖÙ ÇZpüžöcIDAToÕÔÔÀÍÍ Bë#ZnݺÅFæûÌ@QàÕÀàã@ͦ£ìZ‰vH1—&Kµœ%æƒ14ž3‚ÒVÈxƒ16|À±0kÜnÖ(å`f*ÚÒ+ÛÀàF]¬X7Š€BümDd¡í>°@<€X´¿‘L€é¿‘jÒL;˜\C"™hŸmÇ΢Á½<Æ1hº°²²¹¹¹())Auu5ª««QUU¥|¯þYý}CCƒ†QÉ}Õõ|}}áììlèu˜èoéP¸àV³jÌôyLP$&&Jyrt`eeÅuð àWc[20LŸŽb`؉Š2YhEÚmm`Ø8Æ@ìh€b@`€÷À´uGAÆÐìÀ« 1F,\SÿE`–ªqä.€k` Š H†_؈cptÓ¼9¯myßk f)$×€` Š ¨F¶ëè$ƒLhšû`ú¾Ñf¶ø20Æpçã@ÍæB£t‚ùs¨³~¿Ìr‰æSf©P["ƒôÐ$!^¬Á¬Kf 70³_æ`ú®¹QÿŽð·ñ nD<€tV`¸Ô î«3˜¾ ×óªËI†À̘7CòÁ¦í4b<^“ŸH¢iŽ0ª+_†„„„„„„„DGCÆÐàõ`­%£R¢Ã"¼!Z ‰öƒd`HHHHHHHHHHHð†d`HHHHHHHHHHHð†d`HHHHHHHHHHHðÆÿn¡O7f=ÑIEND®B`‚./chessx-1.3.2/data/themes/boards/aluminium.png000644 000765 000024 00000225617 10633750627 021124 0ustar00nistaff000000 000000 ‰PNG  IHDRÈëò/° pHYs  šœtIME× %9­! IDATxÚt}»’$É-h– {¨•2)ïÿë»*gTf©á2 r¼<²ivï’3ÝU™þÎãÿùÏ¿ÿKD¤JDDdfD¤D$ÄÌDdñωò1‰0é6’ŤêFd‘ÒÞF«þ9“Ù&"¡ÅLõÒø¥×ÿ]‰$þ»ª‘Ǻo%2#Y«þ^|b2ÿõ´˜i›‘ª’HükoÿÀÿ‘³™ÿ¬µ©ú÷_‹‰”hï]ŸSâ©ÄGÏ·ú—àŸˆß¹DÈHãÙöŸÏÇ Âðï¸ ü,Uüì›Ì”˜„ˆ™ÌŒ˜Éÿ¯xÎDÌB{ký~R"^2>oý\UR³úsçï÷Ÿkð¼Õÿ ~nÿ6õ½Ìò;úŠÙÛŸùb&Å÷ÏYcq 僉ߤV .×P¿ÿ“,Æ×ß'Þëç³ë¿ ,Œ~¶J"©ÞõËU71½>Ÿßø"Ô‹ªþ Ñx6ÿÜüçÑΓÞü­2ÇßÝñà5Ÿiý.©—¿X”ÎOà QÆCÁÿ¿Êÿù%D*þàIÆ&á%dFõ|aò8üÿjý»úXÒ~–܈þïv¿2!’x"¿ËŸçx¦ð=üÙ1I.Â?üÇòŨ’Åwa²úŒ pÉ"åxÞµ¼„D|Ñ*) 1‰0É[`ƒs<ûÞÌþ-"¢ÕkYëŸ0þ.džáÇúV5? ÿÑÊgoñ$?3“ª?ÄÜ[7måã°ì~­üç~pïÍqH¬ïMªDkÅH¿õðÖ"z½ß?$$ð¹ëÈíIp «Ò&ë/ʱ‹sA‹ÀBò]U_¨nˆÜ@ª >¨?Íóôö‡²k7Á}V¶®é¦'=‘ì‹:6±ôBÏë^ˆÙâõÅãÿ›ë{ù ßÌnŠ[ÎO{+£oÃÛG7‘ø·©­·Cžàþ3{Ñæ³Ì?¼86§\$zû¸û÷Ýy€ÅÁ¬úéßúÄ6X {ÇïÃ17wþÞ\lœŸA¾—ŸüYQ‰¿ÃX ¾qVEuC_yhÞñ¥~±ÄïÉ›Ë7@†ªýLó]½ßy÷AGpäaaf½^bí¾tÕŒÈÌTï ¯ ü±.Ò±&æo×úÂñÐUÉlGYCp…û—3‹SÍÏBé+›Dàó©öBÕmðB¨6WÓ<î$…]_{­~—@i™ Ôü3Y>ƒò,~zÞ¬,PFõM¢¤õ™ó$VÖñ]Ê.Q¸TeÁYµªDÌ…°–?ö*Só ØVßSŽ °Îó8˘~ëUSÐzw©|ÞÜóFÕQæÔŸ7x¶ÌDqëæÍ=Šƒ84ï›HHiï‡-ùaÏÅÍQÒèãj^ÔYz×ç]ù™ðý ½Œ´N†<¡üôæ±ëÌ6-[ñƒÌVÕib~Å›*iö,uûKfÉZ/zîÿÆ~rË%¤7”Âðr_™íÑ+U-*‹DVœ*s!å‰"zÇ æØðFl³À¾‹ê„ìEâÏeEéäTiwI‰'í¸öíÑ7õËÖñâó2íM£¬ó[– VžïËß¡R\¼ñÐÆ]{Ñ"“î+GLD{=ÝØFÖ½B.¾cãdÛ#QbEeX 8?þT_=ñçã{äZª?fÙ;¬øwýÎÔl<ßà¶õè•°¿Vm±¶ó(53zᕳDˆXª”X«™ªÐ%‹hݪt‰Ðͳ澙‰Íª‘ÇÍ`š¿Ú7’G¥µÖQa‹—]Äqk1Ô Ù°ç—`šÕkoJÛJ[ ¶×&U9bŸº6Žé­JÊ0ÞHý»ÆÍEógî´7a.Èó{®„ˆd~.ɹA¢U‹fþ³ìæ½ õ+ï[‰Íoù<ܺöç:í%6;™W~>i}ïî7l,ô½ý†²ÅÄ´ý”7î±e%Ÿ‚Då'ÿ%«Á‰ŠØoÀØÀkùº]Üåo–›þ®ð}qRLD&ìëpñ„^k œäö(%jÁ™’æ cF*ysYõ"D$Þ‘àIëïØob_¼J:R÷^÷ú™ì²È³«è/ò©)ÖÒHJ½ÌcñzíIUVY€RM¾Vƒ› ü.|ã0,ñø{Jñÿv½|ƒP7?;Ú‘{Ï¥ÔUï7„DÝ-ļý™îÞHÝøç‰,ÕäÂîwÜHT_ ÝÏå­š;hÃõ•ˆœPŸ¶Fm–Zƒ¾ð²Ê’ ˱ÏÞÞ‹æ¥B,¾¦¶úwÕ|þ€‚úç<À$ÝÞoŽ5ÌÇ!†=cÜ4…ÚèC÷f1zí½i?P¬¬Ã£NŒ£ …ìDÔëî³ËRª¾Ãy®6Nñ†'º• ÇOJ† ›%ˆ7í‚÷ºM„Ä¡å¼l$Ê/§µî‹àŠîošŸu–D›…io­†ž$4?Éfɰ²H X–ZœjÜ/«{6›(^í\½Ù,ã*ˆÛÁNˆjrU(rŒ %büÿLûÝ$:HB¼ú‡2#Š%UNÍ–P üx/©zZU‰–v_óÉÏÁ~P(óZW—¯×úú2J©<¬ó=áÍØÏ½û(.øøÿû¿ÿûßlH gGì[•8ðô|0xãà•ÜeFããµÐÙ7ÃÞ{,xf/ÝîBh‚‘—WÅzÑ}ªÆìÓÒÿ%kÜR‰¶ìýqä$®X¿ž PÎTöqúNð‘7©àYõþååó‰üžÌTÿ;_¤ÿ ­S3—šäm·5uÎE²”›ÈÎ,ä@\³Ô›u»Ï3ò\/•sNôhÖ{Ž–PîZ‹6ÎÙ¢ôÎ „ùÜ´V7j¡qBÇwƒ9WÓÕeØ€y”à:œoó1½±:qìøW[î…­~|bqZǰ-Žd?ùsˆ¸µ¸ð£wqÌÇú%nŠÂе ¯P·Æ‰ï` 6€ùû61 m&› Ýc¾0f>V…×òïe]’øâð/Þ‚Ula¿ÂþwóÏ™5Bç›k.[\¤y(52gq’æ‡Þ¤ÌQÖYÜÚ\¬ïv€˜l|À¦¨»„sãgs®‹åAíÃ_…žHŽ!®|Ìq Qß&4Ú5udæï-+†f_¢Í5ûS½cð½eõ™0#!‰êb¼£š–×gyQW\eƒC†=ud&Z±8¶ÜÝæE“oŸ®|Ô1QRz_YOç)tÓ’+N Ò§B0“­'¹᪒Â/w”4«`Õ\x×å“QféRQ¼Qæ:Aç°±¾¶ý9äøÎ—0kn\Hè àŸÕ7ƒŒ`äò¸5s‚O²ò@šƒJg Q=ÍO Y¿õqdÄc#I=‰CïŠùÕ=†¦}£‘íã'3h~¸Xöv;#þZÍ`ÆÛUÇÉO{Þ§|0ø‘Úx¯g­tß nÿñÂV=8ªÈUufBÙ=SÝôùh•¥AžÞw¡<ï w†7‘ªe6Ëówü¾;qœ8)àÄÉÛj ^»;P%Ÿ¼5Å{ÄQšÎrˆIK,&T-é!"HJ 蓨 }*}{Y•VIËð ©C&¤g¹q€²3“d¢Sî[³?Lñ÷çõšßÆì¤agœ']ÃË€=$ߨçÎ ‹<Æ»Iò ZDâãñ®H”c½`ÙµêùàðS„io£¬ýºQÓ€‡²/l”‹z'G‰D̳'¢÷{eŒPž¿Ê¡gÃÐÌáDVó™šÆ/æâ qõ1ý5#½­¦ÀùÅßï j“å©.c‘õ—cÆU×*8FÞŒçuîbÉE[ïÑ—yÙ×°[^ ù\5aæ˜e<'ÿþtcÔ îãïô}ÞVBs®¡ÜTй—ü¢lfq{éçãÃFœÅâ³׬éÁ$"‹lÆ0‡°:ŒòçilV#‡íâ­@e+}70çë-$ù¥ÄË}åB=³_òru;Šu’Í®õÆêÝW/Ý´¡‰“Âà©ÛäÙ$jÃÜ—£æI\%îß„-Eô1\ó/´«rÎ…ÈÀ¥AÒO;kÂ} Pàmê wMRè÷É뇈Œ¦1§Ä}‚ç¬bÑZ6ÐÕ|69¼ì“¾Ÿ›~9ø‰y³è‡˜Ì–÷*Ø?[-®ºÉèä¡éÃÇ/ëÏÏ;~=xrÍtÐQßس˜4©JÂ1‡ÈÃÎÆ{Õ ;(AÞS 3©IÍÔN²Z`žE™ó F*ãH)øyòÙØoÅ[»/©1ÃS!©}Ú²7F£¬ã Ì<­Ó`õ2ÎÌW‚ácß 1÷@(¯!ƒ)øsvaÀ–mhÚÙ_0­=Щ…]·Ú1÷“ÿŽ¡U¢v¸Ñc]ˆ¤ ÊÑ Á-ý<ÿ¥ú·%ŽVµ®u¹wCž ²ŠÍ¼Ëªžµ†0x$¿­%@–f4sшzXoˆWÌ6µ "Ü0ùßm;Zºã ÒmcœÍ¹Âc3"Zï%SÎâ‚V)—wŽwöœL‘`B²-p浂‹¥“i¦Ûf×-ò_ P”€$ј/yìNÖ-‘ÄÕFÐh¯p……h$Æã´šÈuº`SûÂX‹ªŽ^¹¬T‹ƒE?« Ç$æUœ—¯Ù¦µ¨PœÊE¦¹¸^^’^·}oø‹F•‹Ðˆ~·ó$XWÁÂ>ìêkX™ÇpµË:/{[·ª(6¤ÕX[Fc…-NòÍâîÎZо5Æá“³Ð¢E² 5"z/L†–¡Ý˜ã˜!›ö¹aýd_,…$: ÀýcXÀë óÑ8E.Y£Ê !H_¶D®VA«YÜ|ö~¥>±¡‚Äš Þ¦Vq EK§Fv°lËa2‹_÷ÆÝª1Ö Àåþó:W–îNuí“ OÜëZõrïнÖ}ïbœ~>Ÿ¡ë@&¬/iѽ²ió@ªR€-éŸw½}Aé6zÿóƒK fC|¾`Pìç*|&‡k9Þi ãË«-ù²Ího}ˆÀ…l‚ìK¶jÈŒX¤‡Y¦ÆÈ@©7ÇÔuœ3!¦½ÿvmÏîR7ç4þÿúÐÒ…Xc—,Ò¥J)½Þï÷¬gãªKþK“á§.£5ŽjØ£—q®ÍzÔ†’o<7áµâ¤ÙFÌPò0˸jóFÁ­º}£pBÑ«˜°k]Þ+±~“ßÇ&‡eö?VײÅ0Ñ>œ}›É`Oxæ[[cÅ‘©¤£PÍ ußL¶7m3’Ç ®gYõÎtA)˜Å"âgœBߘ‡Dnô^‹l9­ÁyêòwÕ&`††ºJléMžd‚è­q€º­²$ܶûÏçåµµ¦FŒ\>ñ¦Û)ô¦2Ô|  {§˜xùåŸìõýüÁžœçÃâ~£•ƒ.Ò¸µ7€ùf©æ°ì]ؾjÐæ£ÄÊAb—E÷;iÖ #5f5Àä<6œî€O½$ÚŸ]wH‘mì¾$Y'¦…Jm­äO½¡v×*Q©fAcXcÐ(¢@çú®JI ÜUVHl*?,üŸ-CÖqC±9„U>ÔvQvìíH=µÈËdÐÛ颺™³‡-=ƒxž7|ÂûªMI­ë?«† Nµ:am!ö›,`þÖꙿsÛD{.~:ÈŠÙ$u)™íÌ}¼rs]!7€I¡Ù‡VYµ©ÔrÕ?ša›hÓ¦E‹>Ÿ_ÀüûJÌ—Åù¢œ±¡îãB[Nâk6 Ú¼òžU Åw¹0sê&e#kƒ¾<¤TBöuâ®>û™1ÑB*MíÃWı[͆}Õ™fCo2DZ"dÛª<¿­Ê}™´ ZÀ®5`àè™S€v ñ¸ ØD„öïÞX,èèkƒ“5├>ÑÚÜÅ•¼ñ»tðƒFJT¨7È’k4t& P`Õóâ’RàóĤ%4¸}ŸÑ«Á~R0¸£å"Žë•$ßu"3YÒdø´çhÅq;¤Ð€µ+À¸†,"ûFʱ£|IŠÂ®Å.¨{@2oâë”Uã´zœäSæ['¼½c“îýz…íä:@~Â_trv:FV_¨[˜ ƒ¡M4"Œ×%¤7iRD†ßOé-©@äCwá=DBÐfD÷g“©zaáMÀS'N(e†Z67§0×P˜ó`9ᔚ׃&¶¡?IOÍÎd2«Ÿ·b š½6> zª÷öJª¿hßm«)ù<­ñ³Ã0Ni­>ÔµäËD @Ú™¼ð%ÞR¿ É$#{HzÍ@•&C²µòù›²›Nƒ„Ö3ŒU ¶aåÂ1Qm À`ìÀÑÿø@ ‡”Ð’ÄMl ˜J40i5"D÷̓ ¸7òj²F÷íC7ïM6Mƒ V×qÖTµ»T‚9¼GÏ(DêßI®‹tÝãgfTàÀ$ŸæŸлÙ™òÝX««¼è›r~2ב‰B™F¤´§¡îÑ.Ï *  ©2½¼~¾ŽãÑŠ:­8üŒ¢xi®¥=`E¤Þ%â”EO¨¥¨µ2Fæ–wEG싺䜪P²ùßµ†9ü”<憬¯l(¤aÆô Å0•D6E@>¹z:#Rs¨Å>Mݱ¯Yö+ <µ4*·k³2rÑW˜íë027Ú5¥'y™ÙÈôpÚSÒÿ.éH|XüœˆfËzÑYqïϡДc-ÊÎçGIÈEãÁçÜ›ã4éùÊÉiÓέ;;¢a°&ÂE£!M¤ÖZãðž¥iìLÃ1°ÌZnj××~üûŸ[ê([;Ô¿Ën“à&tØCÑ! ÇÁÂ8Ɇc#ó·ƒaþD¤-OÃÏŠ!gI¬DţƦ h‚›EMþÏw•Mh*q(üé£fúˑ•‚Œ-(#˜W`¤ãàÇï@ ›êDëðG†pªOÑn*Á 4ˆ0 ­SÍùì׊‹µ‰^y…öäµh`dänsc{‡j«¸úFºC¡gF²&j rúË*¨ ‹$íÙÅMÞ74$ªP¢ùe2óÁõÉŸ·ëõè§ð4h†G³Öd³–Ŧ/•û#Á5}ß xW0SoäLGRÍ}ÀØeƒ“"µ¥ƒ&€Lœä½•`KÑFY;ÊbæÃCN¦\‰»Nw‹¥{ô˜­;Á[ˆíQÑä£Z# ™Ú}7åÓÑlçæHðÇèOƒÆýyû&·,ËÊ:ßJï¡°åö1öú2Í)«´7®±!‘@"ù¾hÇŸ[¬Áé! ?¶I{GVp$oú•I„È «"öÿo4“ÌeíC¶†ŠÑÊÒOßÝdIÞMo74ÐGVPò "t‚¤úÝ)jZ‹†Õf^÷µ îÃÅðöáƒÌÐx‘m+K¥6CFþ¹ Íà2‚ÄÂpV9œeº@höÖåb—’»Êºî9i ©hLG•vcI¹r÷|>ùë–ëLD5¿è¬zÇøîÀ¸—­T eâÙÎÃÃ0’Q±|q9zL¿Üd[¦ñ´…’O’ôUµ´ÕĽ±ïùtÙ„LœÕuî·^å$ráîIOÈr%_)ûDy)NÒÁù©?Û¦L éïeÝn½I= Ø -å¤j¼{ŠMå×ë w«ß&ê«dJ¹ áO=-'%÷-£ÉP÷ñ„Eĺé£fo©­ÁÇš¶? jÌo÷ c@ ¯O~^}4Æš]0C;Þ™¹õ ô›ù«ü]R&OÑoÿï×ô2¥"&¼s8þKN%# q”íÚª%õš8MÕÛç!C—¶:y-Òþ†aa¤O@þ(Ò©fŒrnòI}¨“•'ÃuŠûg©6( Ä%PÂÝ÷°cúã‹í_ÑsÕŠ;Svœ§A;“÷3ÊŒ¶*]+yV<Øf(f-~ÓÆa†òãú’:Û…F¼6¼«f9£aFÃý³_BMIŠ’Ü«%ýkS®¿\;„-E|¿YàŒ‹'¯nšFóþñï{>ÈÉ"uÐ:Œ }!íábÑ m£}‚îý){Ñ4u)Bƒú€%Ê ¯=õ5NàÛ¦é¢×@}zC={ÒAÍ×,àÔqbÜç¾a¨ªÇ¬g®'ûd€ßÓY6=Ý~Gþ‰ÆÇwîç“óì[Ì\oÓ>Q™ÏRnÈpAòäéõU¸rߟùôåJy¬áŸ‡Þ¸xv—Ÿ®áp'sš[ÓÿlLÕÂ%þ¢Õ´¢]Ã^¼'Ñ|â5¬%íXg`Ö0$ž_LŠ•&>/°¢“ ÌME4†¼–S6{h‡á ·‡kèN*¼ͦ8Ç‹Áç wžrƒeuµT_¥d>E'4'PA* ,Rùt%¤LnVÁ½Ñ˜êÞÞZ"=Lä,züñú%´Û²ÇhJWÃÇ·¾AÍKôЭ,rfyÐ6‹ ‹‹Ð£ÁEÖºÕø„2%„¹°µeçϼœÛ§ý¸·£¡È0ì~˜VHÐÜqžÜä ¦èìužSB9ó"8©Ú¡‰F ¹5(l¤Î(W†Íf cÐ"RÆáEWµo­˜VŸÌb3¤|¶ =M‰ 6ð !òÑÿó\´ Ê!¿ç¦M¬kÁäÌ¢Ë6Ÿë\yûRû§þBs¡ ÞŒî“=ÿ@RæÀþyŒŒisÊNÏ06Õy!^!àiœÆuýs ²6`u3†X¡kV®*iά_;¢Mš¬`—ý ƒ&Ó.Ÿ\ñéEvÓ®Þõ$Îye#töRuU&‘‹é;¯g·'liƒÝ¡&êüDmÆ«ÙM3€™LrjRÁÔ:ƒY—¢Ð~8RŸzqЀ³{Qá&Da‰ã÷Æp[wI…}plOB–ðíp¬|•Mº5ÎTn=ÛF.<_ú–Åßçj0£hraÁª&q2£ ªd6š~ðîœ*"1ˆüæX¯t¦}='†¤ñB åôVP›2èe”Þï7é­2«aœß6#ʾ­žÇ‚!ÁJ‹&}öq8 µ‰NM¯€èóô+‘ÕÐ4€ç®ÒwB梊—óÏ‚QVGB¢OM}Ö‘ÍötAVÞ2åN.ÓðårÊgP0n"˜Éyk"ØÄcVB°ÅƒAÆ¡OŽ}íg4âæ ¼*hsòrdìÖêæÐcBZ͵|Õ5ôýE¿ìÈœÒp»'32¼bŽÌŸö“PŠñSÐ}ïðٵǜ«{ ”§ô7Î&¾\Uf¶?ôËo‰ Ç ‡ í9´Q»Îeù§–ÙR™]êsçÏS¡ UŠÉ1#·n™ÂírMaÄÌ…!µÔÙ½ìHÛ¶=•zy¢h÷E::øÏÔ…<@âtZë*‰m½jå#]Í+Ï~sUÞM>ó¨5É@6<a’†7 (G¶ê…Ób\´š‹T}0ÚZ:7¨ít¸8'Í yï…%,B´I¼ÁI<2„õÝÒQ3ÌZR€XP,!`G#¿Êæ÷a*ff¢v‡9Ä}!±­ÿ^M ÆGN€øÞJJzSŸ h@ûñ“.¢›¦Ì}fôGk8V»ž:f­rã‹iÇ0ÑSaÒ’fj0ø±ýàþpø /pý@MѺ®r O:ufûí½iöp'Ÿ¨¢C д…ãTÞ\Yj%X‘ÆÔ#6" ¬«ØJ圃áÆt«.w&‚¦òk_O%£÷z—Ë}Õ9éd q^y’C`£ê>Ó¶˜d ˜T3 l IDAT{0Óu ÉÍÑK«©¾ÑoË¿ÇÖ=PËþwÿç$Ì ½£¿!¢—•Њ¤8yY”ÞÔƒÛSÓkX&0ÑÌ2k…>8 «oòt*…6TNÊ ³¯•~º:}Ï5MòÄ-ZËžü¦»F<œD]–43µiÝypKö+ †“Õ·Ï[[1½›ªi$*WöL˜¶’S¦pYúåzÀ˜ƒnAª$ìt ˆÄ—ضóêf6#:™Ô‘!¾*7ÌÕ‡Í#Âà(!Ñï<Ðt¼0bØDïõÃàîü–ä“Ó(ØcªU@ØDù¯“@©ìœÒläõ~¿Ý:&L§9äÞ}aîÑk-6ÿóˆ$=¥ë°sHÞÝCObó¿© ušÈ=Û³9XÅD´äMBJWÚÑûºü¶©,iPç7y¾û¿»ÍËŒ3%5 ¹õ›’—·Å`ŸÊ?O«,jâß ü«p¬àÆ0oåEÊFïjf/Òû&¹.@Ю@õú&fþèÂ݉>ŸÌ™‚Γ¬g ï¨ÌžxÑ ÓçÁ‚Æ®ä`ch“»µo˜‰¡’™6²MI!1Žü©Þ{a¨–¹ ôÖ*goRzi¨˜gRÑip@2cJ%¸3C¸ÝMyÖ£_Z²š•ˆ<þi6:-Ϭ;êÍI¢—äàÓVŸ#ìÏçÈ—#׈w•+ÊÑ'æ|€ª8Ô¾¬5“5™ MŒ´ÒÖê‘Â:{A@_Ї#GÝÌoÇÝ¿wÛ&Þd­‰¶…¦%ï){RWMû–UvËÐâĉç°²@ˆeÿßcòCŸ<…´K JRY€ÚI•i¶L¥§O†o±™Ë°†•ÛµÏj‰ˆdwùþÂÁKkvÑ›JpéÑÐvÚy¥g­tv:"O_²1TA€v£1 êÙF_“б9—1ÝÌ窈¸HEº—LflœÊûÚµ‘vd÷¦ÊÏ/Ppm—Ú``[ãx‰ÏCKbñöîîÇaë–¸.âøàïZ«Ûº¸ÌS˜;èÁhÇlyèHôp€Ü·~gh¹!·T–¼»Ø¸Œa˜¡—U6ß‹õ˜1ø¤è¡½2ø$›‚g™´ X`3aVd ê H’©-"7mhD±íh<ÖØFÓN'Ž¡Ìº*´'Ë£òa­oÅžMûŒ,ëQ˜ºœÎȧ‰&ST#’Ëh[çö¡nDzçh9¡v!Mi¯Š ÅTé.žM*W×CÃê`B%Sæ¦ÖG÷L•ò;œT×0Éऔ°õdŸÏ—°ÚDËÅ ehÔ£™M«Mï!lÈù½--D6LAê+µxÓÌ:yYt‰ã3ЄϕhpQÄé9 u1*ÖâÍîD÷X‹>b°zDI{)u’/ãh6fS/§™DÆ .Âdj1ÑM$MÚ¨+c³j2ýd]ÊZ¨“+~•ä©›ªÂÈÂN¢ÞB,jü½­\>,…ï·ÐMFK˜ÖºHˆé#Ÿ1.ù¡·(ãŒ<¶D«vûmI“ Su˜i·]nL?­Yñè×֒ëžr…ËVDïƒ+'“%K€RæçÉÿ^>ÌÒB°%ó F½õ›0ÁœYÚ6Üýi¤áø©€Ø™Ì›½UcuûgÜ‚ñäM^\k•ôÁ+×KU —“)XõpBL[B÷¡ùÂÒ#w?jwëo“¦0(,sÓY2©ú ߘ~4VJ:e鸪-â§¶ ؘґ¥›ï÷*Ö}ïöl%óëQÐ,¸OÓ“Úž”«+X«ñï¶Æp¬©Ø 8TqI?Ya;ôívR´%nÍô¢E)€3‚ç*Ÿ¦¤ˆt)R­÷EfJWä×§³¢ÿ¹.UoI0LC6ÖÖ¼$36Ÿå{M„Ð*KPC­ˆ>XDífχ‘ƒÔýµ …ë+ŠÑAù%C®¥m$Îr)+éGÆ ¥fvñî‹Í›Q"˜ÆÆËé½J¨úÊ«ÊÇõ]ƒ[•;×Z$kÕ.Ï›À§Ì LÓûwž<4ÊKDÒ‰inë£ýñ“ 4UCl±ey«ˆ³X‡5N¥MùwÛG.ÇV-Þa冃å0CÓ&åDD^Z¶«yÃôƒnþñáªjëHˆPÁõü–¬º=½rœCÿs›2î.{›œü¯õŽÍ"%–v—›çìî}NvßDÄahبÂ{ýVQ€áiußM$µ½#„¨{®k½éÖLpVÈJ¡‡{c¡q¼èõwìð©ÉÕI!gšîÒ4 meüp…Â0ÍÚj ?=¤rמÑ'­<›¢&U¹«6ÍzÝëK=dº0±ŽÍJÚ͵Ò9RÊùϽ¬âÏEÉPÒÚ¢×Óˆ•˺9oÚŒ²˜©Q³†àŸYjcJ«ô¦å)®€ ¡×Á.‘iä¢pi Q¦ÍLïц7p7O˜W­=uú©ÌwÞñ™Y¹£7ÌÃ0sLè:ÊþÖvXõõ}‰yÕrãÃŽÁuÞ˜7kئNVCºžTÒèìßo¢×PkD¡wsô£9æoªÂnÚ’¢L718›ë0 ð‡ƒc…‡o%À'P¾)jÂÙÃ\Œ6ŒîË¡Ê/šk™Ópoö’½ÁYƤ~DSc3¼lg˜šM™¼RØ!køDqÏÍ<”•fBÛ DeÚÉ`EWøë’ ,J™"öˆƒg#±¢lJÅcß08LîF™ûZjèŒXpöí“,å{†V!v 3ñ¿s æ4r ž„ö˜Î¬é+¥ÌŒà RBÚká›ëÅÐ%ωó «r¤Õ+vpúVñ’9ñ$:Àè'ÙÍ©Ê0§8p÷ ‰Qk#m±“îß™´lµâìZ‹4ÈŒßP„×èF‹) ÞCåß›t½™Þ—€‡Šš!äƒÓNCš^·é´Â|Þ kÚù¸¨Eˆ¾9_¤&ž(h3Ú^b‹Ö,ÿLàv”)o8¸^=´c€uû«Ñlð¼RÕˆŠCå¾=ópd<1©].'ÙßKÖ Z-¸[´ƒˆÅåI}3—)_Ò~²Ò¹oÿ3/dµæ 3ûÆü×â¿ ug™ćêü¸nôõÚÌô¾®ª½ë´)gš=K*Õ'݉¾(â ÿÁ„èó‰áÚbâ-S¹bÃH¾}œãÓ>À®U`Ðæ{b•L:~ L¬Rì²qˆà?è-@„ž™9ÌòÞaÔ¶ ­Aû”4*8ðg$Bf¹àݸÇ`5]Jx@Ó© ¡”V´;e¦PØ4Å:<}q#ujUÚ˜àç]â±×+ÓÂ&3ý¾=}Pd®è­!ÒÛù`âUŸá•Á•gØÉÂSJ™"BœÖ:ð/FÂ]ׯ< øþ©·né¨Á­@ 3J&o«7_#_ªÏT%çåèЃ« Ð+ˆ´‚;ù`¦Ž)§dU´Š›²  SÌ„.¢¿sÐåhÖÏKÐdº .Ü›ŠV‘öM†ÑÕÉ(³¦NÊ dÕ¢̧ܼBp?ÛùåÌ#!0¾îM{Ed~—a¼­ÍˆDwÌûÞU&vÔ5$0=ú9p:2\ˆl÷{ß¡ 1Ó°cÌÝ49,\ÈwËCÜœ„½A5ž%6Ûi®toÍÕ‡>9mZ6­5Û£—còš7‚ÐJø £Ôr N‚¸Æï§ÀjY –’J?‘¼z!] g"a£D&eK”ßïªÌ°6¾h³´{,ŠüÌç†Ö#G¤½¬ä‹õÑ\ƒ¶Ö»PE*é­—Ææ)Ñ64½¶á>oÁï½ëƳ|Ÿ€ÀqÀø8lâRa¦D]ìk˜ ö³\©] ÆwfçRV®ºÍ½y“ïd[ƒ,7­xÐY§ü£h }RÒ-{•]\­Mƒ/š` ‹6øy³<^ãà„LbŠCÏÊLôS2)Ò¢ .#p©´¢MLÌCR",FÑTNJ똴;< Eé;­ ¢/B”Ðàï×d±½Ïª÷ÑȪ~~öé?åë¡pîùܺþǮ؜»n…„Î1ùËÙ h@ÿeQ ™ÕÁ6ýbÔ¥ûŽó©HÈ[Ç›÷5dænD¡yƒHªnip1ô~¯ÀŒA¡•xr,¨Âr´Ø§«nµ¼Îrø§èô $s,p€Vµ'àu’¯®!ׂÓR;þ ÿٜЂáLÈqëjg´¢}Q%õJ»Ö7g†ß¢å@"ÄtëAS¯A¤M=u¨Î€ÔQ²ZÄQšš“ntšºS„IˆƒŽwÔ=†ô¬Ë ü³„ˆ…ó%ŒFð…ïzG(†ò|5ï@„±£Ô\u¨Ïr9LõÂO¥ª ¿½l”¦£_0‰õ)Ë¿Ã{‰SúI:åVðJ–¦8Ô<N0üeCsä—+1hÉò “q:¡'”¢0[+¢5(€óô@\öþfðÖl»ÔkÔA# ’©n‹]nÕ­7¨7¢r?ì^BéþX¹Ÿ.â…äòƒáôû[Q[ÌHU®“7(‡2ðÈ‘' ¨‡3ËŸŒõº$–Ö¹èÔ¡3MF”únú§N@•š¿Œ­W’£ê°¯(éZø“¦â8{ëÏëeÈ´õ iXÖNØT%W‹ÿS¿€;¾¡Ë³AßÄ‚øöMãºÔóÛ<…¿9+Š,0ŠXcß*Ê+‚x2q !jFˆ´°aÇ’úþ֜ϓ£Ùƒ”C<"CÖ“ôœÛ´›ž†ºôAn\u6&#Ï]Á<óɱ©¦½éIh?øÕûÙ‹l|>#­ñË.ŠÜCäCÑdt3·±¼ª¾Ðå}H»«÷”;2åB<ÏyØØûUM1‡¤éÁh~| G,0¹E‡Š;zDé©©Ið‚”ŠJé&ÁÍ Åé:LŽÌMãêè)0̸›ÊÆŠ°í4Jó¶DFŠ=;Ôvòe®zhÉ4©]ÈÉ„Âí4ÈpTÌÙ1—FÛ!àKz(ï* …½ù{öÎÓö0æN„±,*yLÛQ|o¢sÍcRg¿`òŸê4¿†-grTÅ:ªŒ2¬ Ãh¼ŒmJ²PÛ(" ˆúþJýpêÐó2,¨Ö¾˜Zô‚ÜE=(x•Á“ê:±zr ÒíÃÿT¸¸[Y|X$¾vF‡ãû`ZúÔ§CãCÏ#\w2 NsRgÚˆ8 NïU4½¹è8®ëˆÛd!ù‘ûÆÊÒdD4ubCxÎ0€{\qà´®mÛÚ&¥µÔÆÇtZ„ÎI‰èMÏ!åaðØÔ™-‰èƒÖ‚©œ‹uïöæ7ëÙ=÷ #¤übd­@>Ç”0¤@’øœ¾/¶Ã¼ ib­×þ¤pi;‚ÈCN‰ £‹Wbl€õèPžÁµö¡Ôž·´˜Åݘ‡x(¡Ö¤B¤@ËBñú§U¦Fû-]Y¤¬ °¤R7Ö¼4œs¢Ÿ7TŒÂ ÅHÊMÏ–pDÃ3Õ*Æ8³Ú”ïÙ;I»è}FçåÇN›OP5æs³p˜qaqô6ëø{hç8q; 4[wF60Ÿùïû ÝdÇÌÂJ™ÅÛ“É¡`Ÿë¢>ólÞ¬„1»ÖþÕ“^  )xoÅ Ífgç쪣}Àµ‡ÞÐÙ/èAHÓC¢,4gsc&¸ÚÜ™½±ÌáçÕ΀Þ)³¥uIæuÒt$šÔ–¼s OÈ|n\ÀÁ”®ÆLE¹Ù»§s&Î*…]"ãÙ%Ó`G|vx<áC÷iq[Œ^—Œ¦ø.c?~¼Òf%s;¸›û}„aþ±²{’‹—))×<ël@“„Y6ÌP= @b1ìÓî˜ÔÀ"×½z2þ|BÃVb7"¢WÒœ¯ëŠè3¢¥5‘PaÂJ'jÌY"dính³B|… Z¤ÁðŸËÕHi›:õ;†÷ŒR*þ¿­r£ÚDeõïIJß´×蛵'£CËר–²Ü¹ïy¯ÚpÁ†Í˜ýá¢q‚#Uƒ~R³ŽÆl=‹h`¢"‘·6Uß´"ÛÊΉZÚÜ=—Àá¡ €³Ñ$–Í bÝ=<Ì*J¯‡¬Ý]d VW8T®¥Ç”ÿò@™ IŒ#˜Â’l¹Ȧ׮²]Ué•ôc"Œ¦rŸä%Ë)n~,áÉTÒ&ÚŸrkÈF5È;„6g7Z~®e úY¾È›âå,ÞŽÝ:g>S?X´3a;y|;Èœ¹% äp ”/‹†yÃ8Þh)Çí9Ê¢‘Á®=ˆî\3ÉkYÏpÔl´&NK \';†£/3 ¹º÷©ã¹æuh5qÏÒEa°æMëE"7-¹Êë–ãßÝÊ£lòÃ[æÂ*R_'3yˆŠi¿÷KÝJT¼ÉUÌQÇ´ŠI;Ñ'Zªžvª¼ BÍ0rŽÀß´J±(5B| ÍV! Ë}ni˜yëË~|â±%lo6¹¹¼ºcó¤ê³æVºx•¾%oxnvÞ  ~pÖK&7WP¢o0ò݈ž,®Y‡ªŽw† TYJ–1đ؃%oöo™XM6Ï›Dd‘ž`ŒQnõ+ÖÎ}Ÿ–»‚’Ûˆ€<ŒoT€Áì•äÍw@Š™o¡­Û_¦}bSº™8³§›í@*”UôÃÉ•‰8 R+ ï•ÅY)Ôo±á.øleùÒÈÏMv(êtlö4©+øFe cH9­”9%Ò“ü°4œoVB £ë©š¾jQˆf1Ëu§«¶¢“ç~%" ¿²]KZ ÊH,P#p£ÈÔºU“u‘9óÌ<ÊPU>Ö=zHç}ûQ T­w¹K˜ÓéþK•ƒB CÎä´\é,»Cѹr Ñ“eÒ´ýO}³r[aKš÷Ó˜ÍÙEAÑA¥Ò/ºå©€Ë^©JÂpÚ°/EìÔ¬?nþ÷uø@{}'SüÙ[¹ˆˆ¹ùÝn3æ6„ɰ3tRrÀ‘éZ‘tö5EÓWÇ*¼òN^ÀLæ¶Ö¦`Òª‹}VÂä$Àn”!˜ˆÄ¢t²«ÿÞdø3øpò¤:³±ˆŸâ·DÍ+àÔc8°ŸYòp(A =*9›Ìgì…v€âƒÂ ìŽ/ÖWrÖØeŠ|É Ø°d™“ ¤ó˜†ûìb‚ÚÍkÒ@AfžB uŒ†KEžöe­Iˆkß&¾ä@+w•õ@éÜiDk–ܸ>U[8\þ§óG<:?Õ­tÞ%bé^9\ˆ³»¢ è\B;9zi³Jµ_w‘[·ÈƒvßMäu)×0:Ÿ¹C¼z@À n™«;Í#ønÕg‰Ð}ëx‚ŠNRš T‚ük¸šõõ?ÿó?å]„Á2ªV/w¢' nÏ‘C{ɨ݈ÌýpÉŒÞïõ¶Ðúg<ð,nJ<ÊFã7Gò“ig–ºõ„kú³1ôöf*“ ej3Eme `Þy:fâU ý‹ï³ RÃüTwC†¶ãà6¸(þ“’SðëZ¤÷†·ëVž”wi«Rçíä+ù|f¢SÁ°¸¨£¦S>@;†¦$eÉÉºÂøÎŸKúœI™Î-1ZR=A(¶~öÕ°÷œ¨¬H@bìÏý_‘ïÒŠG›*å±Û^RI«Ñ$¢í`É1QOqU–7%2‚½’YùÁóéüÏÀþiÎbNPrÙšàKaõ'Ë9?Þ=ÈwY•2Mî¾€ìèK DíÇ…ü¤ìM¡¢Ô7xxâuLÿ~ –æy€t?¶Š˜ï¸¸Tï¦{·ÚÑ”èfÃPæè¨ù͇*ŠH±k¯tg’)Ø;È*Ê?šdo%èMü9f¿¡êˆª§Í5±Ûì«Å?óëÁq C gˆeè0b}ÁÞÄ,ª~¢]²(þ$Dç=h\h[ä ªÈxÊùkˆ#@“¤YÃnÀp^Ÿ'Î>Z>pßP˜àžbÕÎ $ÁŤ1 g–Î%px¨‚û—Cc–aùY·v6F0i÷Ô'ØÖ²›:’z‘å¬ðÃerÎÕ4ëKÊFS ä<œp@J4”å¸^¾\„ÇyPqØÑr{q‰D¯ÁãuìÌW(°{>­ÞÃé<Þ'à 0—$:2ûÆqÒ¡ÿ³U„[ çFÿÏïï/ÀÿÓÅÒ´!K);R¥ôAsWpîî»4%²\¥Y[º4ŸHY²ˆù0N(ún­EjI6ñÚâ?ŒJ"Jƒ wr~ʆ+L!ŸäƒÐ ÑÙ…³güW—cS=‰n‹ª Zv Ö(¦²®²øt |ëô æ8áOnѲ^ô¹Y[ò&h»7²ƒ-\{©®ÍãI„ìD¢’ùÚð.A ɦ7îÜdº"nÆF\äžà‹+ºÚL „çÉ•F YÜ÷c'‡¬1ÿ9ä;­@»«w3­QnùB¦Lƒ‰A]BŸ‚±)ªÊ>¤yj Õæ¿K¨U*®/t*Qþš}+•:Y6ÑE,• ‘à’²jÕæp+£ÀÑ«# E;cÿȤÒKÚþ‹ÞÖ¼{kt¡Ðž0êƒ ¹¨¬é† Z!œx,Ç Éè ÓJ­³ {šD%<ºÖ5zmhfõò““Ø6=è\¢„qIojQ^ bU=¢³9æ*z¨ÔÚ>†x÷É'ßHÛ…ãf‡o¿¨T Ò`A¡,²èwûÏÛð|€•Kºÿfئé È0;Iê`\‹ÐûíHf¿¥—s†›F|]Å(Œ·Àf»z=žI“h·›™W?ÛëR"P43ƒxñùŽšŠeæ4Æ#¶rì'MoÞ¸OáË×`ûD!!…átŽëMoG˜¢®.&èz((ʇÐ%.‹ý¹û‘È]™ ÷;`RÚû "šÃF•u°q»+Åʘ)¤ÔÕÿ.È üò[j2žûpÕšÄó¬â XÍC07Oö?DJ¼$ªš] ‰9ô3"q¹-•ü¡•fùg]Ø&ÀØ<›I5ÉäµÚÆ>¥Ÿ‹*¡Ë­2kgòt±ÓíìÓD›>é§Ä&±ƒ™¤†Z “‰xõi„̼³<´ñó"î᲎Ý,%³fí˜7˜ürS0êp’[B©ˆt}Ü=Ioš;nÅrRëdœ„ɸ!÷&zc(f|Rúüõý… ù¢¢íÏ.¡n2„ê91/o¢tÃL‚Ò"¿ ¢žýÄu­q@dRYV§47?zœî8IUÏB„èçg‘YC:Å?P4$’¥6D0(…¸žy‰!ªk×÷—3û×yÙ·‡XqäM åúá—+¦Lvë¬ý1;‹´>ôHuBÎjR´®Mƒ(²<á|Õfm‰šßÃLŽ`hØÄÌÆøe¥s£ ŠCp ¯“L©ðl[ÙØ=ІfVÒç1ç„ÄF‚"T¦ú“¦ü8°p(AnŒ‡O  ÌØMû 3²Ú 6ìv²l¶UŒfÛætû8û•½íéÄ’Ã΂³§ŽƒÑPibÓh£û彸>âб·}›µ=ªÒËÑ…‰vŸ( ˜fþМ{0Ó 4#il8mØÈ1Pzh/Ú=œ¼ÚȉŽÓ¾ÂQŠ„·ëÒØ…‘ïš${H…£·+!R ¹ãˆ£±ÍSÇàEÓ˜û-ˆ-Õæs ÆÕ8c9å(—Ù§´ÕMËvmN¦c¸²Ãï¶›ÚïV={|(¼5rºPÝ›dq7÷5÷N‰ìnÚz=<¤ýìQº*$ÿžˆÙ LÖü#+ÚW×ÂÎÕ€ yáF}Z`ŸJ·’Úä½ÖÒIÁ}(¼1³–›–4³K<¼A2*صü¨—Ö/'^ÏŒzHec²[ÉJeDDô[ïçg!^ÛápEœÌÀã4.¶3Úè¬D–.ZËàäDé±#UëØo,>3ƒ~oÇ™1=œBpÅGß’Tt!!º\\”zšVC‰wnn.Ç{”Løs£uKÛÑYRfcNÖs¸—¦ÃÒ&Pœ!m ѽ[9îÃ@æ—¡h?O +MIöY[Ö¡¸ò­6F†¯”ö¤šB¥N(I‡ÞõÀPû±Ö*úµ/fD½“åkfôù|ŽæÜI­ÒgR:*š˜°é/7yDY¢ž‰cÀgà…%j¢@³BÇ‘ý0~®Φ<À‚WÄöF{Äé) ⨄©÷gxÞ„”™­â=Jß>2X>}7bø> '³!Ô”Go$9€Ö„‰w90¦z‡fæÕT4†d>ôaÀÒù@Yl ZÏAK¥„V=ÌÖD”I9"؃´*ðômÅH-!Á´M©ó¡%ñqC­j[‡S5¯}nsyøNò€{[!(Ñç(ˆ°l¤¿ÚÄì…h Ãé%ï±›Ýzˆ˜‚Ér¾[{‚»\2»¯v*>cS硇¢#!š³¤1Í—aÖ—óŠz9’rd¼Í&ȇ68ßÀ¡·tž4Oö.8Ñǵ¼cúì ÿ§ûœ¢rl#4'78N“Ûï×¾Ï ¾ÿ†*1ã†É“ åÌf§^š×”«Æâ?oÔœCa‰\z:KOF…ÉÄ™<6Ñî{öœÈî,Íy:pÚ¬ù çFry°öÚ=ž2dɆ éÛ¿wÞZl£!Ïw˜©ÃÅÙ"¥—í=ê´µÉÿ»ò£Þ¤<ñô¾l¸^˜Ïj N(æˆV£ŸâùC]Uf)æ†8ò<ÈuU“BM\±»Î4Z<‚_ÚQÁ¼@.Ò÷5bëY‚%ãrD²“À‹+‘XÞv¥¢\³!Djºï¯u”‰\}B§/bš^³"+ÓEè[ ‘ü%œ) !uEÇŒcÊ  õq;g£­ªôù|(mWeM™D÷FØX¯¢Š—&•¿"­Ïóó³Š-Œ\7ïÓ´6Æ;u)O“ŽZ[ñg^m9s‰dhšòmuE°æ+:ÿóÙ0êÇÞJÁ¨{r¼Ë<8±Še5rOD½ÑºŠO_t»wØèâ"W¦ÇbAɨ‚TËwS9õfã?É{Ogˆgf¦ÑÇuµ5ͺ›ê“ŒXû¢ˆæî!®D3ã»}ç 2 «k½![£oÔ²«a’f9“”<7hΜšÃü¨‡€ ú3œå@°ù|‰ú• —í¥¤(½ÖzAŠ”šÆì×Oš:v¥hš?äŪDg®HjHtäØP¸ <ü.hÖÙ ?ýÿ»Y`D`ȱ«’‰Ô*H*ÓðÐâ/54.JŽR”!œ¤<œò* \ˆ2ÃK·oº¬© ”‡8i œPÙ|±;eñWQYòHVÑQœÖ²`àºÇýþ ôI==œÌÛIa@åý ¼ÚÉÍ‚²Ú¼;hg<¹¡ÌdÜlŠ Küê×ÞŸòõÈ› ¢ËÊú† M(ø,aØ–/Ñtaî0H³çÁ5š4^3:ͱÐñ¥0Ž8Ü7뛪߫1äq7żŸÅSe)Ã)<{·\¼f‡÷Ó“œyLG&å[1?¯eÂ÷݃ϚWÀé2Óg§¼ èc‚Øn˜UáóK–r‰T©°ÂUy†ÞäLÅL ûL3è XºØ¨¶UPêÐ¥`Ù'úö”.ddER*ª›f,ŸÑ+;þ'žÞÍx»&>¿H$´×`ób!á2m-‚˜=ŒøXè1)M¡®“¼×ž® õÚ@y°fÅ÷ƒk_×±´ÉDÐT?z4šÙƒ­õþú=08¡n*‹âÃm1o+>¦ÃiÕ£_Ú ©†½ 4(ÞQ{f¥¡ÄÔîw ݶhzPa¦-÷-Rzƃz–ŠçËd·©ÞÌ ¿bïk@+"“AÚpm ®Ôz[«IQJ#ÇÀO–—OÊ.ê4Õf÷¶|ã†À›¹Cg|B@  Û®¿AoaÅœ¬C$ŠöDœ.¸9>‘+´IE£=þ2£È­4OÁ|I•š°$Ã!ó“Á"…FÇM­—šhçŠñ0jºé87$ª$ã$µRt&¬Mh½ó“jËf$h»BVNeÓ3¥CÓˆ’(Íñ2k.T DqVⱟ!“ÓÂæ,%•€é _ Š–²ŸÐbµŽùÙ§½Þï>¨}MOƒ_”ÛâÀîyj5q"§9‘>‡8ÜÓÙÚ„š¯øjLCƒaÁŸcÑûHN=•d’õ½j'é.žSä“ö#ntùE¯XãŽæ¬šòLˆ¸Þåè¥@ˆÓåÅÈÀ tÐatg0][ïüIÜ „ÕțӹT›‡?ÕX8öšͱo²‚c GÉTΓR,G ?ß‚‰ºY¸Á¥Ñ€¾jå\“6aôü¯OÔçkžÖéEÀ®ôͳuÇG¹"«TÚaš­™–}z&5e¥½]ý$H ™ÃJ^(Ë,t~lô*¯#N¬pò¾²—´©´‡À‰œØžî‚Û­üâ„_•!Ng™ 0ñZ+üŽ~Ef3ó÷MRåÈ6p{Ç §*¡îÌ*”©Þ§ª?…Ò+À˜0ös—5=ǵÓÖÏeûZ#/*ú€Üi>Œ¼dôR­…9ßùD_‹MN=£êLô¦¦d©R^Kèÿù÷¿ÿ»cRÚ‰˜ž/Å=ßu¸·çÓÏ|;ŸwDFzi¨¯AÚ«¨€8ÖûŠ·`á¦z­|°¬;W]òyžFdhщ”òÓ]é7ÕèÆ¢˜Ï£ ¨‚Yð4‹F÷ÅÄiMZeƒ ÷d™Î‹Ô°œºˆµÖƒ·EƒòT9ÍxçÜ„Äs¸ \ݺ=·(<§¾MúÖb`Bp§áá§q3nµ"½ÑegfÒÁR–’7¨]×;™2ˆÍVØtz7¿H„¸v>ØŸÆ~ñ6Í©†ëÈÈ,©å–ž®BMB äâ†lr±Ù—3­™+Gý€rÈÓ¾«RlÑ©ÊÃ0Ì¢”„+‡ÆEË©¯lNU ¶N \¬m^Ö±uê6²0QÈ ³CË‘iR3¸5ÕÍØÍrgÞØDKõø{ êÌ~éE­P*ÇLdË2¥»¤Ð.o'|Ž¡©ÍSÍt¯B·JôÞmjŽöF=‹¬®D‰2—r”·¶¶—BŲIÛÖ;/€á¾cÛ(¥N45(¯Ïçu]ÓÕÍpä?Ã&1: xPà$Ø9*'±.ÝÅ©ìæ‡Ž}¾âý%Ä'…Wަ¼tj„ë¾?ëÊ¡¿€ÏR7‚Îh¹íâ±½Ñ`,ÓžÐæTúéJÞ. “õæ1ÎC˜¿d_Ø!š"ú|²T¬&ô8$ÑuFCষM­†[ÉqÉTŒi«j#×Ág|‡FW+“ù/E|eBSÓßÉZNðÙ¿#·69®d\E“ψqƒ¯¹ø/‰ï‹Ô‡&ý¢×¿þõ¯Ñ\•±ˆ‚æä2¡Ò v…SÞ.ˆ®R.[ÌB×u9ò›*‰wEEºÊHQ:Ä\(tûbþëó¡3£bRßWMN›j¢ƒ°'8/iw‡è|~¦n…Fb ç '­_Ëkê²­ó;lÀm®_H|³/qh8Ÿù§>_«ÿ´¤¥M_±Òpw`'MÃ88h²y_Ë]1ûwìAåIRöNH1b²Ç rÎ/fµb„H‚™Ë†¢U鯿öÊÒž³3l ¤"7Њ”윷eL^Ü '>/ÒSZŒê]éí‹m1DƶS“™¹f?­þÓB4XšmÃ*´Ý·”>ñ^˜²öKæd¦sFÁyÛ³û¥ññ#Kteö'ã½ZÚ+ÿÎ8OOBêÍ”Þ2˜<Á-F Ÿ‰áÆ™s¥Iö›˜)e•‡9ói»3´.`DÝIÂüpÀƼB[(T_/7üÿšî뤇Ę̈IõJqо…=1©hi~¸cÖí;žIK´Ñ× ü×û½‚‹2moEX]3Bˆ[ªpéÏ]&¶ÿyýÊ™0O´?Võý¶M¤Fl«P˜:·¹gýÉõY¤çÁOrIOÂ3yÈ"Þ—0p’ fNXïIµÎË.ý£|°µ#IW†ðHkðE—<¨ÿ…¦ÜÙã µ>d1‡ƒäQÓ.Š6“nO_ŸÉpÉŒ½Ìé˜Ú!.äÍÈH7hÆÍ —¨èÃ-ÉŠy;½WN5Dðw‰{vÚyæ$_dÎjÈrÀÄåTDR 0Jé´Aó?"ÒeÃïkšÔZ{°Ábî^Bi½8‘ZqÉ; wïºýï¿§ÿiÂq“þàé¦Z¾ôNSô!—•É5zŒNbQ$Ö”•‹‰®÷ªás`¢öÉìôÿ §S—G< cÝFÊF¿ÿ=Ãk ÙîÆwòv=Ç]eÈS+áq@ŽÜóˆÇ&0_ÈHâÔ0tIº¡¿Ô@ÇV¸JZ7Ï¢DìžP]ævÿ8?Z|ž§VêW\§YßÐ7 ´þÜÎ&ÝÂøn®€˜„»ÖT ­×°:’µÃ™]§è:CC«Ùwj{* ç<ïÕZøÏ=Ë*èÔË «Óp­.½ôÖ‚dG"«fÞˆÕ­Ó,V}ªU3®X¿k(ZXÂ…Peº^6ÐÇû„Ufu<ÂvÖ’#¿"íJ¯úg©™N%]>pæS,˜"Vý‚äHW¯à›àÚ§™Ôå¦ô)>g=˜áÒÒ×µÞñŒ[–ÀÜï*¤´. œ~À¶=“j*Ê írî¾ÛlB×*šˆ¿øuTHXmffŠ”ö5ZY‡\¬-ÝFücôɪ„æðRЂ)Ëy¹Ž!³Ôš¾ï{8ɤ>êÿùÏþûÄËA¤=()ªíx¸~•ùiMåæN`l¦¿+äˆY¨3–øLWÍ–8g0ò0øûA¯nãêÓR‡ ·‘&´ÈY£ñ/™êÃ¥„-;=¢x U&²5#%äàŽñãE¦>»\UÀ”»¹Z\eN>°œ™¸Ü5µ1àÙ«íОp5‘Ò_ýMï÷O±qö–ÓÊS¤žvhdr¾‘þ¿è•†é…žci¸÷ùìúïY&vIØ4;nµîƒPÿËcýâïkÚ M‹ÿ¹5J5—[{iÝ“ô±Fa& =q&Bý”)Ÿ>[oÚDÛ‡ÍÞãšüŽtÜø¹Ûé’Gsª‡_ªÕNv&nŠûn(ÚŒ=Nâþû\³¥´Å¦0Ì~º_@ Ãl¥]¸i=µf`£I5긕ϺOâ5„mø»º)Ô’Œ©î“3©ókï•`ëC×1¾WL[~ޅи7®lsÉžÃϦ…Ða® &Ñ£zÈ¿ …žŠðÐ µm©¥ÞDú€Ú`ͪe¬ûBÎÐ5s’Þƒþì_Vë—«m˜(× 1¸AþBÞ å¨Tƒ£ÅˉvªtóuŸøIOÎÒBÇ@M`ð@Dô[U3›ŒÈy’¯‡¿o"2é xªîP'=á¶Ç€-i39˜áyÂ-êÿÈÙÅÅ6€Ÿm65ë8ôò„¦Ö[QÑDÆfÉBϰõ!âJ~WÃÛ«â£+‘:_ùxxšwII€–Z—ìÊ_ʲ¾´3oÆŒj¡C¥SwÝtþîf{{Ùš©g7£ |M뛩+wÔà.zG…¡>Ù5ÝWüïÏþ4 ÜÁmès0ks˜Se*lBÌO«}1·î¤Õ¥XÉI“ 5.¤SƉ¾[¹îZpmB‡ýÅ<¡y”ÒEÏ¡këÅGét@ž- ’Ò@8±r:³>(óôb,–9† ¯åá~hÍ&(2|öœÊ·¢0kxû Jð`hèX”äã›!jFä S½üaœCÔtŠÜ%†“q æGYKèº$²T¸š~4_ž“Ž5åÞ§G,W--{Dª‹¬‡¯ÂJ#ºÄ‰ú¶µ¥±ÔC™Ž3hl»põ`¼&)^삘¢¡š¹ŒŒ…FM—†Ä 왤„C6©æ¿¢@'¿.TT6sco äDŠ´ÝKÁ³Z(¤žXÉ`÷¡²kGÉÖ3$'_*ÙÞ0»ÒyÏg…¢´=Nî´í©8ˆ³¢”B~”»Š€Ò¯oï…¼Áogyf-Ò&½‰þúë3ú %—‹x?­ ÄySî‰ìÀàÕ]h´ ¾®ÔÅiÉBî$Çøè¨Ql\VZ®è4 „î&M•Ù3±SëûÏ·;´øAqšsÆó¦JX6À,"Q“Ø| 6ȯt³6©4( " ªíqjx·'°-æOT é*6Ñ®bÈî'U†h4úbF§/qnb=³âódfþ)Òh qÅCS³Uað%êg-Ê•&’-Ö!ÌZK¿ýöþ”°¬o,$Þ“ƒ €dQ;ÌÛÆq û²6Üßó«.+/YÞA-z$'ïÍGL\; s4â‘k‚.-ª®&Ôðkaò5‰|&ñLiÆ¡íZð5”Q¢xu\ -å$ó“?,æœW½r#阒ž³Ža]Ž ^N‡Ç±5ü®¨ÜáÛÙD«Îöϲan_r)f¸)AÔCÊÖì_ÇÀtè<:ëƒ0NÙÆO€Í( GLeê1r攥ô²ÉðÇòñÖŽÕt?Ñ’6Lýf ·äZ}† pÕÍf [ ËÝÏŠ}À$Î3'`s]«t9-±±¶U°nº»TëºE@Èâ~ùd2Úu½bÆ8âÓÙ ï©`ÓêuP¥)êüÙ`écþà4#¹,S¦žÚ|rÑŒLgiÅ‘¼›Íß°EÚÂFì®+)Ã6úÔÆ:„@Xç& ”ËÁyì¼ùªVðr©¾Kžv¨Ë|¹¹ ¼×—hbCÏ¥‹Ùò x B‡7ƒî“Gµ>Oà®Øï®-ᢉ\ä—Ë~°L\H4{è-Ú`z·®g}>ÑZW; ß+émÕ%Zµè§8–úU‰¨Õ¤_WÕ·‰Õ§¤¯MÖg:Q•I ܪ›Ò`Dü™psf2Búi6àî‡çm„Zö?æžÌ¯5E_ªpúX³‚ƒªÀL$Ö‚«ÅL «¡¯Ug”~ºUÖ œšAÞôEèyæù²‡jꆵ!&¯­—÷bÒgœ'' aر#¸`=ÑÁ X«Gºk¿ÛˆFKwÄ"öQå¸êÕàE”1ÊÓ…Ç]Jé4ƒ³étc‘±èëÂ8`ZËç7W„ei(â}‹Þ $RvÚØ"™µdLñ!°4’ˆÂzTË(­K€‰.Ìñ»ÖCúTY¶:9l‚Ù9°lò‰Úå3·Ñ±áÌ hiE³tXÜd³ÍL?ÃRtWäÓFãåk3“¿(5oOçw þS÷J sŒÓa# ´u4ö4ªØiÉÉt¸›ó€±OM¼™=mr`‡§°ê˃ý:Òë~²,á^hý½l]±Tê¯Ùþ3NWˆ¦^«sWªxþVœ7°!º¹³Þ}jœššSØ–þ^}í ]‚pë£`¸Di´cøZNÐcªÄ®Wi ²¤8ýÉRu­ð]JšM4Ì  \àŠÂõ˜ºV€æÖ#g\Fú&ÍÖÉßâA½Àˆt)ñšýtq=e7íDt¢X\€¨§?¯Msˆ$âaÿèOÃêh.Á`Ku=ÇCh•3¡™Ö?‡mç ÒÇ{½.ùbx â×YV¶ÁÜiùIe]9šÚJÃTªÞñÏb:äHü´Ö²0ÅÌèäеuKinÀæŽmïÈVT%•žÏ¼ßhNÑìƒ×äÞcÝýx²¦^x–èJ¤òèÞhVáÓxÆ=53ÏO.Ðy=”i麎­oí:gô[ȲF¤BÙŠêØHÌX«®£ö ƒ>˃ѤjM¿¤g1¸QÑW¬çç"ÉÓ‘ã{Šœ!¬í«lÐp']|üg7Œï åL+ÚÓ$›ø™»rfªŒC‹IL[6fÅ—Ê Æf:8€YⵓýÌAº>…i]êÛ-fz½‘ÅóAòTÔp´F}îpí §GT²({ªSͰúÙ©Ëä–ö+#È3a:Ÿ¨ò¡NÚÃt ±ÊtØ[‡ëcm|iQW '©©³XpsN¡¢_.Jtß '@:ý³:b¢/æp•½ÛÌßÁWò 4,{gÞ78xèiSD5ƒ˜¥ç÷à¢hµ/}Ý 0g© h¨ Óª”€çVÛ.  wÏËZ ‰Ifœ¸´7áÇ-é7xCÌBD*B>Ù2àš5hâq2œhòû¼°m1Í®ÿ=Mèˆ]kî=™ÑæÎ'è­P;Jl‚ë¯' > ‹¼ˆ g½Šažsq†Ë䉌bzWs+p»Üñ®a÷ × ¯mÔ¬ú’û¦!ÄBR )›)ŸWÇcK`b¬[–•Ýž ²ÿoˆÝ7€Vق̉YjÑWl²˜ IDAT@±÷ßµñ³ßÁ²8y¹ÉFgbG…‘}‡Ùöy­ÎŽ?PðDŸÊ‚ˆ¸"šôÙ,WûR>bµs‰Ð­»ª›œ[Uÿ;̨u™Ã!êÃÄ'±ó•”)¥ë±5bÆêEf—´TC7hä1ÄX'{3óOŸ£3„²g$Tâ ßH«:·Es“ä/FnO¦(èHiò9ôó[0pò+ü½œ÷””’µÑ%ÊTáÑ`-ë‡HÎ.@앹€ý|%f×CDæ¦Iv é)*ø|Îp Kð Ù>&KGíÿèÝÎçÙ(x}>ê¸ážƒ`Z±›ƒoèKnr£ÏæðИ S¼Ö7ÑŽ8sn²O{åäKk™&£P7ò/¾i-õñ~LqK-G]¹Œp£>·|—:"I±Qg#šÅÌ´?ÛK9Þtú‘PÉag)!5½ÆÓ~:BñŒ\¬Ïô 5&+˜ñ\$~Z[™&¸ÎÄ’2œe|Ïȵn@)RY¹L¾©OzwK0Ñ‹ét^äv 8J¸§1õìÓÚj–d:šg:VAa‘5#ƒ“½ö'Ö HHž†åàfÑ1ŸiDN½mç±é ö^o¯Ö%cÖµÚùem£Ì ¾a¹’g¦)BŽ¢,ÈJ=euoRæ¹ECè:S•€"Ò–¥B¶›¸üi~g! -‰ð¸MúO:ù3§1Ê PX>ý¬¤tøÅ¾“laAk•x(é(-qž§{«÷aöp0šËÒ~.Í·Z@*ògì¢íØc0Ià9IäЇäºZaÔ}, •ƒy¹•®; ÏXz“¥ +éCt?+iH´ 0„&RÇÔFy/NòNøt‘ˆLKl‡>Ài^“{M˜Ã7|9Ì‹.Û.~’k "Dºx2*bÓJõõýÙ5\Žˆé°”;•󠪨Yý]”¶bo”Xý™¬‹ÑÈ'»·Ÿ–0ˆ¿bÞÏt&GYÙìím‘¬3 óÉÛ%c˺dIÀ„QÓM×É^¨CÚ©u$‹Þ×Eo—†Â "›(s?Ê5ç‰U×Ï¡ ×BÆ~«”¹¶e³/s$º£p¼‡Õ-pþ %ÀNýˆ=îL3¥×5¾l¾ ?+0t^ùŒTîf‹©xwFÐEò„Nv¦þX›-«†Çd=é^I½O‡ÕMš­agI@qŽ—„“Øt‘&BõFžFd”TÓš([¼$¼§o²?Ã+€†nŒÛ$ZétQäaWž˜(Âׄô„¡t›%uë)¬ WFŒ¸“y §žž6Ð`>±•Uì¸uÜŸxoý2ÿÔÒ°ä<ˆôn?+X‹¢ UÁ‰%à"Bô¦þïzk©w²×Â:S Z‘}Û+|:@ª”(Ž}>ØÐVìAC·³‚Å¥VZo>®]MšbÀÌhù ™’&FŠò!»T@µB$sˆŒÍíþÚËfS˜V¢µ&:½²N}~ê¨S¾âÄ.G½ÏÞë÷‰êÕïîa‡SшÿŸ±7Ç’-Ù­ÁX!²¹úB&'U3«ù”üYê§“õ—`h6`'’•k‘™ïÞhÜ[lìfÜh+k{i˜¿$Ò‡&×D?Dh†×£ùöãϵ¥ñå Ÿï—e¦l/“Y¡T ¹µùž—䣼ÂBƒÿüî»sŠ—uq®™êo6ý¼…Äý®DϘù.ÅÊ㔣ê©v£©7é'6ûÆ2ÝaB0Û(­²æÖ=t}0¸Dhñ¢µ‚¨ÆôV\餵»iK0„f2M¡™]^ûòbªöÜ`¢ÝÕÚé^‹¶ýâKq¶Òdåè‰×Ê9™Çm6ä(Æäu†ìöƒ…ݵe·ú]öâK݃™‹£vªn{û,²ÊI;ú‡@E*kë7úü¤ß`µÙËØ;uKV‚ªˆr(å gþP¤rƘ8f")Ð’%ò\òyoßWÖæ>dK”VÊ-M‰~~~¼øÏÆe º&©<îñ«û,üßß–˜êP^Þl¯T‹éSSáõù‘ÒﯺÀéCÏó{n«Ur NF³ÐYø†ÚD·W•5«Pš’Ù@âÜ¿W</tÑn%Ù')7=´n hXÑáca¨ÎâY¤’*ç=(é“Y R0^"Ê<€VEÎ-Æp¡7L¡:ˆ×a=Ö¯dæ†PÄé£nƒÏ¯Ss¤'•(,ž]¨*}^ˆj2, ÒäÓö7sþ]¹£]ÛËbô$®ž ã* ÷{@ý:*£µVJÅÝÓdׯÂT}Ô>=WúÅš9•!Þ`¼^ØŽV]h n½O¥åuÉRs¹ì$ÔCã§DD÷>¿Á¨›RP³–%ÿoÎtT9SÔ°c,“ê”2Zü¯ÔF£Zí4ÜêfÓ]W!ždZ[µ4ÖDtZÄ«P §’*(OZä4ùü-h#ø;œR®HbUn7±4ÂP%5ÕLD»¹ŒÏæ4$è4 wÉõi „™öšƒÒߦæƒð”—y̪rÑc‰Ðcª3™K×]ÔõÓzY–")ÞLñCÿu¿ÿÏG¼" ¶P1v°Ö1·évžYŽ‚ìh~S% åƒUú‹Ä›3mhöC~1kÛ-‰œáƒ”­à~·’kx×SdÝ1üSø}œ}d‘JA¥Q²óã~õß-ÖKdÑâV'Þ@Rܵ ±ûmUÔ/B¡ ‡HÍIDº$Aû,cn¦]R|¢Ýh •¥ÑyR¡,^T -Ê=0}¹C¸X?Ã`eµ].«càµÚ3JWwD$™ÓlƒÕž{0x'Ó»T‹Ó!egv¤ -µ ÎÞÅ%ÛhH$¤¬™Ž«{WN×”˜g/S‡ 3(Ï¢fó$’,ÿj ú!´ƒŠ’tÛ&ýUúž~÷\s’x–|µµ©"²LRyèWzæhk—”z€ÖÌì`¡÷KçÁ³ËË+Ý»NHÅÓc¶öyÆ¥{÷¸2_ð  ]M¶?lm–¨ÛËÞ”E¿6×e Épj¶ ÒmÂâ D÷¶¦ù O)†Ð¼µÖ’FҌ̠¥£¤,¡Øñû* •:Še½ÍÕ¯¦Åj —É…;?I÷Íã÷»ˆÉÀýÞÚBN¾šWÛv¥L™‘î_È ©LMñ^+Q¬sõBpwÒÓÍi±òŒI±ÿ;åƒ[ïäÏ^?~¦óó³*Ûä'_â/"}Ç9˰Ä<3˜°úO U¢ý—ÑÏ`7ØSÃuñl$4l«æ½=*ù7f%—aWPèÈè F²xäE! º“B¶áœ™zÚnˆE˜~K¤ykfh8òS’ ?¤ Qv^߇«¢.<Ä7•‚kºõA¯PÛpAÓÿ=¹ÑúKÒ'Ö5KªÖ W7p¶’ºnV%Ÿ&wOßHÿR¦øF#àI⊅ÒP½Lë-‘JÖØÌÙÉG’…ºäC[Ÿ›–Ž~ >%º'°£§üÚÓâåʱ¨uoDC“¾èãÑÄòù”‘™ÿìÃùßTo¦ÄpãDP ×EšµýÊŶè¶Ê‰Òbqh©­ KýtŠÁ¶½ë”æDÌ—ÿ;ívÓ‚Û»ú¨ò¸‚4dRõIwôƒ&šy*\Ïit ¾q¼g}üP²¼±Ó©Ý€Ñæ‹‘ƒSUg[³–:FV"AÀjͧ’ùðø°Ø®ÿµ~èÑ]”¿1Ñ©ª5ùÉ{bÁwj(H! ¥4Ì’'$³aÚV^aqê ±tÂÆè“).xl= bKn‰ø @ |±Ép¢eÔµÑ6ðûƒ"2‘šCŠtE<Œó<üqOc¹Ü,‹¸†|ZÔþ`9Ÿ2Óo f§¸œÇÖ‘4.Þ\Ñqq÷þ 6µ|è× Þÿ“QHð¬0›¿`攡:ò’«.SwàŠ’&zË[ˆe¨V¬¡R–Fõh”Œ´ó[:e3¢­UÖJŒÊQ¤$U±¡ŠxI`­w-c¬·{…é Љ'Ývxû/¢È¡‘ƒáYºÊi¨czùñ+Z¡ ¢ÝÞÿ† \Ú…°Æ<傸¹Ëck]üÓtÖƒN‡A¾ÈÜ5#n¢ÏçC¿¿¿YþìM €’‡ –>zðMkzrÞk¸‰PšÆ²ÁMÖ*_&Ÿã,`Ço£ªÆiõï„%1¡¸z ZÿuÑ6Ì=•™ ŒÈ´¡<ˆýþ÷>Ë{ßßN’ Ç÷¸™Ì »OvåîÞq³€hܡԪ‘lÀn½i ‚ºÿ¯[WY‡4C;Ý3Z•³|·9¥ƒ8ý!NÅÀ½¦©˜ž2NÚ§ bÚÈ¿âÚŸ$r$åHêµÒe“aÏ¥YÖEÔïF­ ùâ„×Zc¦ABñ©"Ê¡‹Âv¾G}¦×Ö±µ {PT6†$¸4 ËåÇ%J*9§OàˆŽ6Z•¶ûÑæ —H7æÄ¤Š£¥=â¤IuÑ&4ìœÊ¼DdH84d8Ä ›tôð%FÀ£—WŸ7¬ÛDås‹’cÂḭ́Ì»Ë ‘ÖK“J´Âwí=æ‚ ¹£~’1køzëýÍb6„yƒKÕ©!ŠRø“¾¦w}æD"ÙL{56ÚsÂ6&去§Rsô·–ÉHê)œ] fjŽ*÷÷ÝØ]é§=jîãº{[àpEm€—›KŸ:©g¦ä¾Õ(Y9%ŸÊÝÙ>ʪDâ¦QЗW — Òä1å—”=Nož+œà%}ªpºHš¤W–¤S¿$_JÕø_¶A) W¨ÿ|ø|ÜíÕ](Ëà#h>œÔu'L`bŒÜ“’)g!²Ó¸™Ÿ¦¹¼AÁ‰R,ŒÍm+­ŸÕÐ&Dyÿ„e'·§8_DQëCÚ‹P´›uG,v¿€&]{-ê;øççç&ÆIéÄ1³°i‹}j*×ì¥æ)¥‘§ÜÄýNÒŸçêéÞd+FÅù(°Fhûþb"ü¬ÐZ|ü‘S¡ÿÁòëiåÎïïo’+,Ѽ¨¢¤H‡àÌ1ø»"ÒRã°ÓNç¤õâœÅ. ™‡à,X¼q +®!–:š¦Ž¦R·fü5[ Š¶FεáhÐQ$y»Ræv};¥ÖÇ(Ò©ÇmB_2ðդĕ#‚)«8ôïô»ÒšÝtGÚÌ.Ø×ßß^ꨂvün€Eœ¾´a­s,_rÐïzb˜ÈG¦à4!ñOrƒúÎOR´ÜßÔh*E-s<Ý™x]êÝÎç 5e?ˆÜÓÊ”ìâðè)Oñ9v{}ùä3ñA„™Ü®a’fÆ‚vDñ{Ѧ¬%WˆÃHr¶%ÈbÎf¦‡ :‰S]ÒpºßËÚQ8-vã¼fNKŸµè ¥©7™äT#gî&õ¹ ô3#‘ªXR0F\à1Ñr`äÁ¢ß?þéÔéÇ{ÞFùb¡š{a- »‰uJv£Õ|•B$%mP¨Ž* ɹ50ϵ\)²3ÅfçÂÇ0/EöDIËÖe>@78þ­BÏŒ$ƒ‹-NÀ2DˆEÿ/šž½JêmÃðs„€fåú¹šnR·²úòá¿!é àÊÌôXHc)ÃÉç¹ï¿5Œ„aB<œò(ÏKAÀ##¿¼®H!.õaÜV’¡EÞ í˜™ÔÂþÝ.Ò’·ÞzMÂØº^„™ß}Ñ `î 6EC*ÄîûÅÛ5›åHB‚’ L§ÝcÊÑ&m~W»m :ݨ•d{{.LѯL?ˆ…5Œêµ¢†sò |ÈêÞQ,)WÃÈÔ‹ÛN¡ H–±y‡ÓD?@—–h}3/ÍS ¤þ‡¼¶‘;© èŽVü˜ia6]+‘wSÑUCnõCIÛN߇ÎF®ðÌÓÇü¿ßÚøbîž¹èÞ»>£Ù‡C³šCP+‹*íB¤•ô¤€ÒvÓ:кŽ)¸ô<š\½j c|pøK¿D¿HÚü7}ÇBÞð1ÿ LŽá€ —3!*‘RöFå¿tñDVêš Èv*Hy¬Ÿ5N ÉÅR}EëZy=h¾ÂÃvêäâ>‘»‹CMå×lY•®%ôû‹ïC¨‹lx!´¹)vnR!|`h‡ð’HzŠ‘â‡À¶gåËzžÝÄW}Ʀþ¬Õ5ýIxôÄ5*+nq£grP:ug_#ô[Úúí3¢]ÄÕf㺃pn ¸"ç$!ùdˆCÔvÜDkåÀõ65Q,ŠäIÁ ']5µw#ì„Ò?r\MЊÿô–ÌÙß_káîѼ¨¿ÀêMœ‡“°]õ·U&ƒÍ¹èbÙÚk\5grL‡0N›ï3d%+ÔÈÔT}ç¦Ñl|÷¿7ÙâÌåÓýoˆfûxö`C„¬o Èš=;e{)·Ž”†Ó7H]3žGKòЧ¤(÷ÌEæ (ðÐÀplj$)Ý<™DººoU”êÑE±ù&eH´n[ïŽ1k…ߘ;ÞìL›SoÞµ…þÄíÏEQ¬r+±ÏüÖ Lè -0*C4 ­qBuU¯Ëu…Æë1é??ÃN2t€{CíZŠê»ÿ.{ÉÓ]*äš 4m,_€¤Wt¸›rÞ†ß3ª“WqÊÙ„íXRœñPÕçÜØ¡Ïk¾þ…Œß“jVlZ9×Jˆ†ª!Š»•ëTzXw¬'0צàªLõ6¸£úz3mt¤ôám,Z²èÅwŒÇZsô)Éà´I¼ HЛÑ{ÈŒ5dîPÝk­Ü«7ü>±b CœžM(СØEÍö’8Z¶GZ•—'›È‘£0…Б©]n}ÁbÉzŸiX?Ië¥$±ÓyQòðàγi7‚Q5¡–ºšèÝ‹jÈ3-N"ËW7–¾˜Ñ½°W×JÙn–U½ºÛ¤›è8ËØ¨3.S×IÍ¿ãòåä‚ó”o3޲Ý00ä|Ö ‰Æ˜¹÷ˆéö¯/ÿdèši~œ}ÖF@ž½ÜLð#ã⢎'ùȱ5é8pXĈ€’oîo¤Zxáö9w,-ŸÊ²LñÏyø‡Êòiì›Zô…}o”Ú!>”„ˆƒck}¤ˆ¦}*w ¸[o¡9EÝ4w$ëÒ®uŸ„@ÊÛ ÀŠ*ÁÈ{Ê0£ƒ;Oå 8zóÃ ØØÝ›&,7_KUÐ6¶~Ài-?sÆ´§í¬…ª—_š”žg€ïÝË=#ŸÁøø^‰s8ZUˆÖ€xßËC^XQDI¢€‰4Ø‚ˆZŒåø¢ÿxžÿý2•Gº'Fî–Yž´ä11ˆç›Æš*²íióˆB¼®í­½É»m51kÜÑùø¤y>>íCE`…N»Ufµ÷ÆÜuïPûe«œÜ‰#zÔÙ ¬‹fi3•@w¬b|Fä¿]‡ŒT]½ÄæP*?Í´â»êу”<ï/8Uk]=ã’jîG§ÜÜI3:=³HÇßQK¾Lc^RåãZœôd€£ ×ëñ .­È·>•¯Ð³¦ïSU¨»ô‘p?Qù®þ+ãÁÒo›´ tÔlCÒJ…i53²ÃÎT¸»ͦ§†±Ø€OµzF-YªÌ$(ƒ&wqMeÆ;²õ¶»uÐZ9žª|ô®pm\!K¡¿†ø‡íî2-°:ÔÃÜËŒŸÅma“aþGñÒzFQÆÎ£'nÎÆM àeåáöxÝ”ùmFë2Œ†´`?>Å¡÷Áã=€NÞ¦èD-h•}ÉK—è†8ÍìDèi¬õò%ÇNkh’¾÷¦§ ê¾™{ü×9A¬7”H‹iÐi¤9…*{|ƒÃqVÔ\=¤MÛLhòj×<$NP""Ù3 Îò%tu>ÿÔg*PÇkCÊjéÓñ“»ˆu7inÎ{{)ìhÖè•VA3‹‹fe-"ùYÙý¡Ãý3ºÅÁЈí*ÚËGÇÏ+Ú’ \àûçÇk@ûMÁ|ÙB3×O÷´¥ç"þ…RO] Sؿݎæ¨ìXê .ØÞ;­>£l"°/•Ó½ä¼îϧ†ƒk>}Î6û|ÎD? O#¥•v6 ¿ÓsTùgã÷WÂ4HŽ\ Še×¼?{Á:í?›`­ƒ¤J+¦€™ 4Išä1Ä#Pd–f[‘>NÝE?bÅÔœBnH.Ç[³¼-?Ÿ“rÊ×j’eŠŠ`éÍÎÒçÉ÷x$.·Ü€†Aâ¨údn=Ù&ÛÇ“®A_•àË™Ììw€ºÏyé-ÁQzvýã=V3-†ýë÷ïï¿IäÈ#-Þ)<0&tàÖ#eḕPK% kPÀ±€Ü”g–É,z5ÒL꿘Ô[ÞN¯#šD¸ž¹õC3\´Oœ¥™7 ‰B¡P›~Ír˜V9B:«d¨ÃÄÏË Îœ®~á¢"À˜væôœÙ(&d’•Ånù'•"ú„ìi”[ÁGjHJ€FJ®gYyÀ†/®J}&“òRýõ¦òsyb2ÕæÇÓ}i¿ ÓÚÜx@ú^ºš¶{1Ñþý=ÞÐQš¶ƒžAaOÀp¬š` °Pe…ÇNg7>hÓ#×ÙÉR†±¦uzÆÒ<ÕéJ³"hØ üóc“Ö`sd˜ö°<³ªÉÍn-È]šqûšvÙÄQ¼åv¦_¦ÝæÛJ¿äúÙ Ù6šq6œpJQs"7º†[xº«öРne¬ç•·òN=#úïÿþm}hÜà]bÀå=rWXnIÛÙÔ?UŒù¤r®òï3šÑ$ ,³ç3¬gxf(”Y–šyž[UQ¶XÎÜlÀŸ€ˆ¬¤Qˆô¹J}СO/Cï<½Q@†Ã.q#=µî¥•ÀgF`PX›ö Pqä( ¦éʉìªqêüÛ0ê˜ZM”[ g÷gó'¹ãyîü º5”ÀÑX3$RKAV°  ’äR^Dߌ¤ÃÅ’1³ã†§7Ü<Ê)ªƒ€.D ‰€Èê¦eíF Û¹)%çè0ØšÏ-2iÑÂOdÚy¿tˆ—¥yçĮ̀>霺òroð})X¡aÒpÁ>p#%úµß6±GªCÌG1ÑvRRÚ`–C}ôï‚ ¸Âó€ µ–”$sbL@#Fb“F? fV´{iÚ÷°ð Æ$òx€šOÞFq°0ŽÜ!¸ˆƒ¾ÜzúFÙª9ÜØÊ€z+¨¤˜¿ ³‹W†÷®pŸ$ù¹Š$ŠÇŒüÈ ŸyѰ¤Ø²0§P˜­ÐÐK÷½Üè{>95Ôä˜_#—«ÄPCûÆÔšzW“êj")¢žÒ¤ÊWR'±4VsÜ`¦¨Ô´vˆp,~[×ÂŽ’ç9ñúÐtÙy¨ô ŒòfX4[ˆ( 1¿Ä("ßtËuªJPó7l³²bÿÚùm^£ƒ¾Èš¿ð,D©T!@À~è÷÷·ÍŸ4ÄZ>HÕçìÖ[ë~ßå+(ûm“h å2)9?ðôNx›m°DÊõ{[r©ø÷ǽ˜ôaÚ¶žD“ããEµ½oÙ´d¹ w½x³íñagHú»}°µg“¸ ~@£Éý’E‘W²ÍôñÌ©lœ¬uªr.Èjá%•_šIÌÍèÍsJìyÝMäÑm­ZÈ IDATí×·‘àÑ&ì”3{ÿ7uËËæ¸ÅÐÙñ–¯Èƒ™MùƒtÂS }dÑ£7 '•g~u^÷þÝ`ÞPÂr[ÐF &îþ ô;ø®(Ùm5yõXœ™ÔÎÌ—R’ž>Rh¸Ð¨8+‚‹Ÿ¶iwp‚,÷J{Ê· ÁlL¦J/çvŸèßxn–ág}?¾ð³,Hñî9]‹Uy¤­ÌLjA¸´r!@â1Ñܼ¯³r T"’‹ ‚Aã‘/@æûüxŸ!Ÿ¤ˆð衎‚г Q`Ô<›Ýybõiò%ýÚnN’ñ\0É—G’oˆÃzW£à1!š†&ØÀ—ÉŒ’'yI7úˆ´ŸspfÓDiÙäÕƒ jPYCR@ÒSÅm–7@¯bËi1 ÷Þ—–5 “AOrÓ©˧ð\|83îI`ñua7Mžï”àkÐýU&ðä:Ù …n[Øé';‡‚f;êã–™²IÙ )·lØb·o„TL:]9Ï1£ œONP þ<ó1·¢ìøgy•8ëQÌ +¿¢NuøÐ<ÝGäCKWåÞýÀòºÙ¬|‰E¹éaØ`ê­gj?Ÿy ÃÍ Ï>Ò\FÄ­ÿ1ö!q·È%Ú»SÀI2GR|VT 14wû!c¡z£1jðñfúñGŽ·ØZ7AÒ†‰,ûžJÚ*‚F ¸ÔÈ:e`)L¹ñ¬ðvf*–rÑ9úó_ðm#¨E“YÚYþ›ºIÀÀ¥G`—Ë»€èŠ3ÙºBŽú€7­;kbÚ{Š׊7Î~õìcE™GcÔÅñ>?ü¢P·Ë;ZÙ¸4Q¡î©qÛ¸hÇ€>R±pÖ²ÍUIæM-ÛÙü â¢ÍÉ|ªÛyy}¸DiñXøïoêtþïVz —õßÒ£¥•ðcã–HIAe1§i šiÁñÙúZ‰ÃÇ'kp Dð(a˜sÞkç`áüÇÔã¼—:UÁwîР)¤a@-ÞìL€ÀX|*“Þð±óa6ßèÑña¢aÓð.À¼A§¦EÒ’J¹ N"Zë‡>aʼÌŠµç¸"‘³QƒG&䯉ɡ‹Þþ¹ððÍ%7×ëCÆ`üFèOšäñ›¤JdHÍF”¨+!y8-w”ñZ-¼F[¿"´=“E0Å—©tmŽ24ׯN=f a`KÑlÞ^Pg•H“ê†9Ø´(±&&ƒÄí\7àªÕt¡–µ4’«¢…-Ãð2%tÝÉ12iö×€ñûê¤ÜÐKC³#ÈÌÐHTõqQ>Ÿj--ÎVk>Ÿ^›SŸ Évè8ê;U%Gîßß]0³»ÁgË.“-ýe5Ÿ šhÆ¡þ›IH›­Íç­Õõà9òÇ=Œthôð:eöþõiyŽ”´úQ+ãÇâä¬óè|žê ʩѓ‹ó^‰Nïµ6™5¢Ðcžâ¯…(Žˆ¼ò9ú)gD43*_o Ukó£ªÛ°Zƒ›vÓñbuÂg‡[J-ˆÁÌy^òúþY?q+´õÛâ9F»¨/z€vê¢&šŠ”¥“Î Ì]NâJ+#bÁÆ[Í7KŸÕb¬#@´&Éǵ=ŒiÀ ]»Q¼Ø`ÚöRÑ¿wñK¹@MT¥ µ¡¯ðÁ@ZR×sÒŸ[é×0 ÐÑ&˜·ä¨ |’dœsÚÁµ·ååÒÌÀa¤!Þ¡&0&B)h34ãN¯ÛÂJ_´õÑœs­ÝܲlÔ Nè.‡Þ1ø,*<ï²mTPÏGÀcÐ-òµ:Z»½¢\ˆ¥¨»Ä$LR‰“.׫×o  \à­y OyQD¦Ù;lJv1â/æ‰õYògdÿŽ…eNV›~·Ñ¿o`À¶ÇDØV—÷ iy߯ÌD2ªH,uõ‰íØM ·+Ѭƒâg·$Ù”!vš!']€PK¥¡ k¡ïÀÈ÷~ÓÔ$ü$©öIRÔük-Òm‡ØÈFk}J‹@‹¡\lÄo©‚wÖÏ¢_Mâ”ÅòLËÁ^ÓCÚnÒaØ\êWl Ïìu—†îÂH !?Œäº¢?ŸONgIQ2Ú¿gpÑoA«“û0FáV£‚wÅ!ÑÊe<„,°ìgxöìJÆÈýzhç.æ !ÑeÔŒé3–” ¥Ô(žÑL´¸n+ÞÖG!Éçµ|cX–Ñ™fÀ‘BHÕßÿÞ¿™(–Œá•]¥ÕHwÆÅÍý&YâTÂ)õ°Ù_;=Õ™!íôáßh[vÌnCûÍË­ìI<Ë¢k{iX¯œÇ_Mú|H÷/ô 'Ž+vk¿u´aõÓkš9‡½Z¾[8#q0|¢z¶¢´Šª5 uT¹PÍ0KÅ ÄIZQdaº ¢*:âƒôHª X‘¤‘UÒcÔµ<€áw( .Êýã ÷T­3lƒi´¹QÅ&%Q©ŸÁ%ÏÕv}R*üPƒž&Ú¨¾S”J{Ïâæœ´\ùÕËÒåk3®øꕜT\égâs/”HGaüvájSˆhK89‹Öd‘5ùZtUtƒ8Ð\Ár:DFÖæÖ'ÛZüdr¾J6íER 6¦z•¤‰ÐÆ–õÁehÊ$r^9|T­[¥‡ùe z>ufw³ÒT’Õ÷YZžùGvúsËÏ(;v°QŸÊüÎ∩O¦‹bóíâFí:iÉô°þP°ÑV@ñ" ªFOf *z–ên&—±gÎÙ¶ñ|ŽÞØss4à’}ÌÞµaIBS$·ƒk¯‡-©&è…°˜“P{µ§>Õ?ªžï²ÕBw "@[cÕi«ª9\lPh­ÛAV¢Ð?þÃE׎a\ŽZ|`–.apý(Í0}ÖÊ$ªŠùeï‰v§ó{”°¥ã4 (ÐY@A­ßZ½Pä¢3Lvêúú fÒ˜°<¯ùˆ²S0†¦!&bp|30ð”Zà7e> ×Ë ‹›.# ]qèü¦‘EIO T¸ÙƒAË^9p6!cü°>¡Ç+œ²Š-¨–6ê%õ3„g³—Nú<积ÕSxR 塨ÉL2}¤8}‰y ±Êp˜àaGïpŸ?I§N¢> 8Åöþ†)´, Fqåh’ƒ‹'»·ô•³ìGß|¢ß\535ç§üZ¼’¥|J¿J©Òïßc¶&U¸>uÉ.òáœÏ„‹d}Boq2Ñh–êî$W<Y­Ã=ÒcÝç÷a@ª²×êз€ ÓG 3’Åìá=uá±wiù£…Ó&b( (/’·'NÌEÏM¶Ç]ïr‹á0'xmß"«I77+Ò­å¥j¯uùÜO aR¾uWFøpý:â”®=‰FÔ@G€„ÉËûÉ{ƒ’ïº1ñ‚A@8á.…•C‡.¡ý$9qï]WðâÖ¼î ¥,#c¦®ÛN™$BéuÓ¢˜¥!d4ç׎Êa<ÇðL›_m¤)˜‚>eƒßCƒ e® ‹`Æú“¦\\9àSê‚-Óó«š!ÚhD9Ø(cëFãì6Œ)B‹Cý´Ì~[+ )5Æs"9‹Ôú "‡––=жo†¿,Ê¥|s “NK$T°hrâk2‰ô¡tb”Z€æÔ˜ä¤j/µá¤cW jì1$m¢ÇÑ${ì‚‘U‹‰ÛŠšÐOsQhÅìq÷q&ö'éêLâY%cÎTbþc)+À‰q°äs8q†rжV6?qðà̃úPl]‘t(–¼ùb+ŸS#Cw#—œ†½Sžè=ä'_¥Ç*#úÖ}Ö¨ÑV´ôåÞ"³U!¿9{‹”‚M´kH½tCnP›j JZDKóž\ÛèÎ2$ȱ 81ð}Ëèeuüóh*Ž/RžB»êòT€­’F9´0ÁÈ›èäZmôܺÅLA`ihGU‚õ`ô9Ôý·ž“×a9ñÀ ÝÃ$®ÐŽ'ðiEÄÍ\OUÏí£çcËô!bÛ—qeùuhn"F“º§þ£¹õÙÚ¤D>K*­F{~ XS™Q`˜± g-P¦Ê6@›)äŠÇVÿ&¢äò”è_М ÉftÚóñO;I—|œ?tH_² ‚ks ÛM©Á^dà DˆÊ멲µØ5!5WèÎÖÒiqüƒêñ0AµNñ8½ÖMU<® xK¡'¡Us bJ„6Ä»–ª laQ8m½–Gß_Š,AmþV'GE’c–eD°ŒS…ª³ÚWJÙBdv0l†£Ì' ‡BritÏ Èäa F `Ø»ÅÜdÛnìˆ$?ŠdøÒbG/}h,>‡ZB /-øsM &àÔB–òâo´Ö9Æ—kFŠ–òL]„„.i–°C=·Ä[ÉrYÜ@;?¥Çj&ÎÉ.éŒIÌ7ìŸî2 &ˇº[±Õ,´¬ëPé‡s!±ˆ„X5r^˜¹Q›$§ÓXÂ\‰Ì܃L›¡[£ã'• ž”Vê%ÜôÚ Â¦’’>0)çD:)'7˜ÕåHŠˆ€ÈøÂ«håâ¹í6©) MCIZÞH¡Ìœñí´o”—ıZ›‚"ÉæÝ}×âíÉ°Ï )F¨U¾ ; LÁBJp$º§{«€¢èäÄ´Å+kèöf^£¢Ìz¿nïs]^åŒÇEoûžƒ`m0tËtXñú4ùÿñ0“x´˜Œóüä™ ©e‚Z‡’ |ŽnÜDEZ}7~>r ÛÀ¿àƒÎøM$/ÂiÙá–ì‚" |\Ú+ìî´\2/Ã-ÄÓ®JROè—ª¤—±9Â’v@ Ž+|ûôJ 'm%I÷>˜P¯DÞõV9›;VV’å•2È5ä(#â;—É Ä0-),kºƒ°˜b`#:ìŽ Ï ¨7I¥þ“77ŸjË( }ø ÃK1WÀà0+«9[—ôæºQ‹VTðq“?*à~í€åYº&gðÙÙçˆZZÆÖˆFz5¶ØP†¯/^«„”íi¬¤¨1(oÔÝÁRTÕàÙ0±Èg.vy#ÅÉrjýNëàÊGÝ3ØöjŽ%ñï%«ù&ËO]éö2ÆmìÖXü\·ñçsxf ¡?q{‡û_¾&ë;qH 2U±ÔçwîŸomós”{÷—-–3šQ 2ˆ‚6ÖÏMû°›’rY¿­æpe͘µ3o!t“Apm¬±¦ªlIÝr6Hðís!ä !7%ä­ñ¡nL™¸1¸y‰ƒfZ{À§ŒóZ©3 :“¯[ò4q”0¬™ñ­më p0nÓ²Q‹ÃrÖ¶¦qÝnÿ¸íj+;œŠrÖùÓnN…yr;E?L˜“¶­åÞÆå@’F™¬„•.ƒAoÏ;9z¬b5¤ýùÿDZn\ ŒA/Zr9V W*TB¬ánŸ6°Ù¨e؈‘Ú0y>,u[ÚF¯™ÍÕÚU GxgÉ÷ûÿý¿þ×ÿ™‹QFdXQŽû)Úb¾¨DòH/S€s㼠nm´÷\ æ0aùu2iÇÒƒzBƒ‹µâg* [Êi<,m89y\/“u>` ÑÕ)j·ì[÷=ck°@ƒ`³§’*[ ž…° ð¦õ…1|”!)*Û¤–»¸@k‹ñS“ö(ùÔ‹æ°yäç[¥lT/êÑ¿Aôi¸¿™XÆïO³¡Ï‡ˆùãRÍ>ç“°s KèÏVaý ä°Ï±Î¼¥•õ»˜aŒx\M½B±Š'ŠzÓ¨]—Ñ8Ud׉P§_ xrvy0}ÕrÊMU•‹Ú‰èäaØ|Ü6Ü.xeVd—³¬æ3Qã÷Xj Ù¨T„ó6›ÃO¨¦~#Í»¹T‚y;%ä·Èß¶3÷>nñ|ªZ˜¹n›ã.á ¢ãݵÈ܃`öÖßH=cí#]Ø †Ýµf\Úm¯“‡0,žaœ~) ÀI‹Éþ=¦fƒJF!·k&k·ð­Ê¯…®Ûügi}ØhUó¢ñ 6“xÿPD˜ì$ÙeŽWåvv,»Ò&.êMš“#4üRK+Ÿ…È<À 7¿+ý„¨Ô¾n”Zß`lÞË ·Æ)"/¥½ÀŸŸÏ&#µÞ¿ÁmÄ(Û…ù½ÑpàýÎò·ÅÜÖ›UA‘q‹}µöðØÅr¢Ðµ·C^äåÀW—ôêP¾þÒ*Ñ÷ïïo‰éÕ™”ÒÙ˜ú"øÁ«207.XÚÈfUnÿ Âç¹]µâ °2°í:ÀB˜“ØÙì¢óÆêfæ­·¨ÓÃþªÁË+{~ ^ÛQŽF¹²k¤,„¼ÝzÖ-\ãÃkÞ¾øà™Åì¦ÛvjK¦lQÄ2¿õv]§¿©ðëÀÎ_P3ÿÏê@ Q+w•šCc$8™]Ùs<º½ÄŠ÷p<ÇÒÍ}hUü ì`ƒY*Éá›ÞDUf}·ø®ØJ#¹b+´^l±gï!_eÙŒ4ï¤Ù‹¢ˆ|\<£MŠ'Y÷ÌtPàšØè¡:|´ñ¬ˆNáMçiR]BÖ£ÒbÒωºYR~>^vhƈÅfzí›±Ð5søù¡Æ9Š´-|Žº­Ó{DŽ.¸Y8áö³ÑnioÁ 3óØ ïߘºaD@ew,[yAò<ƒÊˆOíý:!ªÝpΚ·ZšÁdYÅ)/Pä¨nô°›b o^o 7D!äæH¢LB‹xãf9”‰§œzîùnZ‡>©\,IÿÞvòË÷v*ù‚}tJ¨È•@¿Õ<õÖñü‰DyT•ã&á•'a¸®¼¢;0)ßY¥%‹žß tüº9 ›å]V2)Yž% Wž#ÓqÀgíhQ!hÇBé¸Ôo ÿH›œÌ—sPlÕ$™îæì‘g«45:ûðæúÝ¿õ|38Ê r× Í®6 hiŠºóÚ)Kä@ñ°LiD6G¢Ñ«0”.>ßÀÁ#úï*Bâ^n­û gS¿ˆyûmPT§Ðå?€šÇ¡ùÚ …{"FJ[•tŸˆoÛÛoí¹'Ôú|ІÿLTŸsÝÆ´qÕ”•ô„Æ›)1J^ãae3) MPÿyî>e   ¥?cÂ-TÏÀé=üÆ<É(ßÛìA´žîs3ìu®íŸŸU¾Q^â°Û‹Bج”Ö:ÆLâ ºŠl«ø…bT'º¦@âTnÓc#MúÉÞAÁÐÌoT0²Æ U3ª[š-¯ Šp*Õè˜m·EC^Z£|©A¢”*p—ƒæÓÈ£ekM#sÀUK³Ã0hÌ3Ê,ý¿‚(rkEâçGØÓòÛÇÕ‡.Áþfäâ܉@D|<{PéR»¥_ýwÕב¿Ð *¥¬&)$šéraYÔ]eÌþ}ESjç{sú4±Q¾>·1Ýá| â æ-"¨ãøbm#^z¬uþ.†Qñ=¶1ƒ,N¦(#¸«ÞÎÆ×ˆT³6ßÔuÓõÌ¡d3"ýµFÓøYµ°ýž\iÍD•QãTÐ/sF dð|åã+ŸÏ‘Q?Ò¸SÌÒTžQR•¥MÒçœpç&”éq·’˜MÓ¦Nzb&æóÜ“AAâ9˜0Œ…´[3-¯ã&T+“pšýsõ­ê“tî±aŒvÉ$îÂô*O¦ŸŸühn•¹-:æØ'Íd!oé @zнù œ§1f4„åÿlƥ鳹qÑ6Zꃡž:Eú;íOõZÔÝ®$1ˆÐË7˜›­]7sàŠ'‚‚ð±jc&d¯ÃåºCÐ(‘Ç6 $`÷,)s¹ˆÀ¨f™›r²‡Où‹=œçô”©‚Sü…ÙQ0Iÿ/Ì<}ŸÓ?òÚ«òÿ!%ñõ,ñ¦j¤OÑz„¸¯Ñu#’A¯’Å>IrØ¢iÐ ôÑ¢Æ ht…§úΉ^š€ŸDjOùQÁâ‘ó‚@)tÒ.HÒ‘Žhpö F©H:šLœç$Í(µ±d1M¨fNè?ÎÔÅ8Ê“Ùàã‚_´àYøüHÞ™ÒsþqütK €ð&2•~³´*sÈKë!•‘Žê;SÛdhË#ÎRXdt9—–Ð6"hô‘ì;„žÔä÷ñm–)Qú6ÁŒìú=c¼Æ‡®avyS›Õàצ&] þW(ê¢ ëƒ$tjÙ ˜±¾ý”5â yQäý#Õ›G [5½qÄíÂèL¡ÐxÊ ¹ ß’ÕPÏÀù0x¯eEs|;Ž|žü10Q†£œÓ#­0w›]ÌçÃMŸC£ØÊ¾¹1ŠV½`æ®õúûSÏ·æ>0ôÒloë‚0²“ÆD{Œb¡rdYpªØ"s¹¤´ùÆ€» ¬’$Ÿ·¢ YÓû„¾g{Ÿ“ž­†ÚµL²”˜oƒèük/ʘÐ;é\½ÞF„©B‚Qº&¦Mâ¶,—8H+öíÜðBá6×+Ö‘ú#/“ÚH+ZêLp%g¶DEÉáá{jZ»¦÷©Mh˜=¨Ywe¡ª÷Gfd OÿòÿB Ž`Xnê±Q-·ýÔ4é‹üò­ãc+åò¢@FÍ™„¤ AÆ$êŽåç T¡ûXËõâÒÞDzTá›P@:EFí s6­a¥p¹2¢0ÍÌM ŸCzœ4d ‹Äf‡ÿý€S'ýÇÿõÿ?ÿ‡=*™øD!üBC,,¤Úîò/5%a¡õY´ŸÝþŒ½¯!áÌßþwµ¨4Q1¦úûôl[L¦–?óbŸjœý¥ù)¯ëé ž0‘³}…Ø{…\0ܾE³lJ«õO/·Î{Ÿ3Ä žZ•8¼Öj?óÌ„ÄË6SË÷e°ÈÖ/ç­_ŸŒçÐ=ÇNž>ÎSƒþÅUŽjzи8}ŸMòù¡ý<¸(Ðfêp‹×ûYz~³@'’ IDAT Ù‡i?FëàCñ×ÅBºŸœo=º³áO#À(Ñž î8; ƶå:Y^²ësÒõY®/þwkd}˜„åÙ |¡¯F_0mÓn°¡:ÎñkÑ’Û8™3_õœ‹Ÿcا֧ã™1øÇ?æ¯ÓÔ‡Ôï&uOáó9t.¾^1Z%º éÒÂ÷â#ƒ²`rǤ¹L™•¢#pÒ~nP¹-o–0;àt¬MÔF„LLÍ!pLgò¯áÎ:ÐWÓfËg.,„š×Ô@äEè¦ù| u4Jhjïcsøûè}°‚;úzÞ®ñÜ´ÄpÁp™iš×•ÿ÷uC_ƒåï÷‹‰{8Ã`kÆ-‘”áœ_ÄûS´tQ£§²ßäÿÆ%#ð I‰ùð¬qdxñáZé?Huºädã“,Y¡¦Âü3öŒª¾¶¾¡åç”KL·B…Ý H¾~í­õúÃß‹TªRZ‰é>‚ê¡zè_Oé^V45#Sê×jm·±—ÄjzNf8 Â?Á´øsñ­û1/ã%g;Üò64¹y$B:?똩¤…èÇ‹3àcázmªÍ$/Û÷ì £’‰ƒ“ã¼¥¯“¬V'I¢ˆA¸3­ÃOŒmçßÖ€*Ü’ù¼Ÿ¾jÄ1]‡…Û°e‚³Í€ÕüêÍ›Zž¢¼øœÜþáÖF¬ÒŽîÄêò›Sê0aøž®óË7½—™264dzŽ)ß·M[ ÍŠ×o'yeNÂíï›åU#©H/@Fq­HH4ï)öûí®õñˆÃÉc ¥ö{ü÷'oO`(5*<)”Ø©MWøLZ}poy¹ÿPlj¨—.–èkÞ½yE ÁÕ£'îkÊj½Ì™Ç‘µ3 Êjg¥Y¡ᩪé9°ç’°«é©©u2;D59ãì ¢ns®Ëo/®ˆ§ìi¤Ì¨Ð§ ûþo¦[d–}1è=àFFÒ°\ŸW.ÀZDÚÿ[à•zßùY"7Nêfd‘zþ †±æ•uNQ”²$B«zõÛ/£¿ëôQ<ÌMÜ/勿-u¥V’ªà^ß6¨åÿáÉÝjh.j;AO£>˜ŒÒŽ—‡ùÀ‹èùoÖ‘/F•¢u¹k˜K±À+w”ãˆpÆ{ ƒp=õ—¦ÎFý”M€¢‚¦¯ï™Y6WA(9óF÷Ù~Z3ŸÀÞ7kZúmoã0C gÅ`£~+<ª×ɾ$¾Ÿ%o…êuÏkÿ¸Sþ`prhÆ ö®ø:Æ­mmB?È<Ÿ½)YuH/fßõ˜÷Å%Ôdž§-A©AÚxTxºòË©Âs‡ìÕ=°¬ºàn4Y÷Œ¦£_Š›4nŽ·ŒŽ½ žcÂeí©AÁ˜ ½[70ýÿ°–„ÎØßüÿð+²„jĸÍ냽¿›Û¾˜i‰ËJKRòßP݆Ãí>Ÿ—á …0ÒSu‹Ó~7Ksl|¡܃ö›‰Ë²DWÓ­×–fD6<=á2ÿöÏÿ«ÄK’§m”2¶+¿|®Y›#žˆ»ŒPO}Êï{4P‚GÉÙ¹Ð2ÔŒtŠöa¹(IÆïP='Žyœ™AYÐü"—±™j[Ÿ?©µ¾ ™èØÃ¼ãDpÓCFøÌJO­¯Ï ø„ás¤Q.àáÂÄP~îkâƒÂWX8€€^ªW,ïìZܪ泌Äaëq£_ÀeÎWÏ=½uˆ}ÒQ<ôs³dd†é+Ûÿà‹¨ÓŒñzÅRª5’Ðèª Kg½¯°,;àxÆZkò¿Îç¹™ Óœ'¤¶y¹]@Üz1$ÓZ ½£>sb÷ˆÆ7ÉKƽtÀJùYœ_?ëg½¬àg#C:!/^½ëB;ªÈdZK—0 M¸É6zæJ% Ò:¥«?(K¢Õ®½“–±ÂÃáY2f ‡0¢qhÂh™àåÕ!Í~ƒMˆö†ö¯B~BÌA e˜†Íã°±tm‰Á|$~fÂÇÖ[1t Þ{Pðø5.3gI¸X.O«B…b8ù™Ü`B+º> 6>¬÷«ƒïkĪ} º^ë¹­¦Å©Ûл1Ø8+àó))Ž©‹ ´ÂÔ_ç¼!¤ƒN3p:7›c¶áˆx68ðßß³Ï`÷LÕu? H±šÄÒÎf»?Ï Œêi†|x 3¢Ï¢Ïú|°ÂñÔ+Á#Ùrý¨Ö«ýâQ/ã€å:Aý¤ËŽ?šG»kq×¼ khÌ& !¾6#/àÂÔ´•a gа÷M¬u"Ê£Ïð³½3À»ò?´ ÕhS±ÚëSœv#²w÷zU^µòâþùŒ²j†ØðlDçj…Ï_}hUö‚—ÍÅív£6Òg¾U¥´Žb6«Îô¹šc"ù«¬aú«^{M~•kM˜aáú†œfAkË–ý  A·êÃ<ô§ý\+~H½à¼Ö^3ö ˆ¦)Ì%ä­t ©A?·)1!Xc ¨‡b7¨ÆÓXºÚ åú4JJÏ~NLB°pE:V°²jmâǘe¡t€Bd²ª|<å™Ìitõ'U2´uùÅN!ÕQ¥ ‡åøÃÑ!ºÌ´[zÛXè³>I›¯hí#CÖ ë²ÖíJÂüïÔ¡+¤R÷)š{ƒµ,+?’ì×k€ú[:¨ L ¡÷1P­4Yhö‘´¢¥4s/YÆ&¦¡Ð4àƒ)üÜýìš%ø_¸©Óô®Ó3 ·ùе$,íýü—pµçs¨)ÉN(Úúú¬ëÊ?بþGñÀ ìÝävÅÄ˵‘IhPFêáƒ%V’?“z"9×!ü•uñŸ\GøþDU®D$~½*M(4éÑëõg*LcûdV2e–>¿ïu"¯#7݉IcxÙ"ªÇäOzm‹]ïj<ßI5±y]è;J×ú¸•#CãåS¤ÊP-ì¼è «›~y: óÂÆTIioM³gÁ’8שeùòVúÉKÙ%j†ïOýܲk ¨ðh }~"ÅÖá¨ÚºQ‚ZóÐä?ÍЩ¯7îSi¥¥(šÜ¦l$1|rü¼ Ê„! ÎÚD~RC`e¾ò¶ü&8v/ÚШh4bc£þ›`)^ôêzãª%‚wˆQ#oéÏçîT4¼oœ««c˜Á@žÚæ®4EóðÏ鳚§UôaÇZÇZ_Pº6fpgË2Ñi¦%BH±)Æ-ÙÄBÿ_C !j­«åfèíâ{·= ±—rt±Î]Ÿì_ã/« õu¡Áæùá€# Kcy"ä™è0  A&[аþµy‚×K4®ò îNw±›aþㅧ¡Ý  &A¯þŒ:àÿ^"$.ˆØE]+˜ÇÍÚËF*Æšs‰ƒy ØXÁl€¥Á§LŠ¡˜x=¯ùèKäå&Ë«¢†‹Ön+A%*@­•Z«¯²4Õ#°±Xä?“·›P¥<<9q2­óúM£üš3™…§—X)Šziæ‘™*ˆ „ív0Ú¢x3òÆý¢—¹‚½êˆ¡&WÕÔÍ÷zw”L¯‚ûs4 “=Ø'`ìüTeÒ+{í>2‰ßß³âkMÿé· / ,ÿÉjh‚¦9¬³W£G¿©²¹¯Mcýõ¡^mŒ^ÂBÿã3B'DqÄ ‚@ÿÔ®ðèyÁ2îüÉ€¿(¸Q$PÑ ©ÌK]~šÓwz@00_éö¢[©½ž»AK¨ Nu“íZ¬Ó$‚ëXÿ™ïåµ­ !JÄ—ÜÞJ¶8û@_Íþ¾ Nn4>Ë#rË£ {/1Un1ó‘€AxQ`„µR³Lv+ϸÝ'ýõ¡Æðšw†‰t…»!‹A×uÄ¢Œ…Õ¸–ȱÚilMJjO²™-úݤöTEÇÇo,r5M„ç/ÉENÈ6ßò¼ëoHkßÿ…®~XîXCžpF&‘‹ÃÀ¶Éîc­ß6û†jÓ!o/h6n&Âé ]ç9ú>m¹o+œ•€Zé×IB¡¹Æ@p£c‚nºÕ?žÖí ¦ïèGm„è”z«b†§:LBrŠn8w@Å•üušó(i´‘"IŠÕðrBÂkܼM˜&^Þ~ÆK|nî|–Ún´òØÐ?ži( m0C畟:„Þânî€@4íB0n[ÔsÚp•+ç™ ¹ˆAK‰‰·Àt;ïrU’¶Ø£‡âÅÒóƢ眴ršÅW®VãAIcæþÕ“‰³øùÁ¯ÕgAR¡ ÐAd ìܘ°©šó#'EfŽ=û¡gï¼ò^ªÃ3ø»W¤O¹©[ åM˜ƒVëÃW)ȵ«­ÊI§QD¦8ûߘҫ½<£ OáŸõš-šü¯Ìëó€žúeviÏóÄd¹`É q¤RšM•.Ìfô0ÊiÁõÖ®Xî85Ÿ ¯iVZ‹Ö ÓÂëW©ûsÁÀ/oÆ9…Í~ zŒ¨¿'¹Êm¥ÍD¸kBªæ¸ËÛ˜ÊGa@Hxß aã*ù´ÓJ`›?Úµ ’Ëߥ ¥5¸ìÞ”´#JR`Ðè |×i[•‡00//¨€rS/÷BXLQµÖè[è+ðä(¨VB_Èny?ûß*Í Ï¶ú ÿc×Äšz¹µ!qJ悱û¤7r!Ê%Çp*ªÉˆD†ò¸9žðɽú°Nòãö»äºM’ò¸+I.Ìa•¤ÔyK·)†åí ¿u±%Iþ£S ¯`˜þ—6>ú<eÐBoÑ‹ «Î»ñcO¿"I`šœäóž|Öf:&Þ®zD^NŸ<@¢«¯k“yhȯÀ@´@úâq<£,y†º+ª•ƒ·?€¹9LèMÅo:†vR85Î-´Ço¡Ë‹6xOÐwà ’økXœlÒ‹k5^ÿebÁ'ð¥Ô’=GxZóàÀ¬Sˆ´ «ò=þO²]LòÅ!ਧ V‰9Q×â÷=“ÈØ0’bÀYIV)h}† ÅúÖ(áOÊæ3ajö„{G  ¥ÀCM·ÿ,GíÄ©C[Ðráo?u~ÍÎ&ð1Ôº`;•Þ­i,/”žÖ®Mœq¶18HY‘{ÏŽÝ¥£ÖÅ!`ÞJˆå è<®·I}6ý ñKØ9m¨°¬›Wh …mÖýA˹±mºØ½ ô•³ ΄]?Ûx=þzáóZ¦¿ìXLÌ!wŒ÷Ì”™PáîyÓy0ʆy;=$߃£u<ŸµÝ²ä†çSAâ^Ú‘wïæ ò S;TLšh hÛþDR®\r*…áå(3Û}j-½©½Q)–{Ö ô¾ ëpyqÀ ‹¹ ‹c¦Ýq(UÕCu£|.m°“vâµ:=?nîDÈŠ4íëK9—ñ; ÚBèÆýØ* 5sè&TOL@,<¨YËB¢V“o¹]D ÕIÊ:]­v³Àâ(ôçy" S©Ö{ÒgZ7hY -R;ÃݯùpÛiG5àÅnã_«7²BäÙ^¿Ç3úýýíŽ„Ä Æ*¶+K÷-‚ ª«´ÀXçiõ/€J¥¢©¹n¶*¼ii½GKåü£ò‘­l¨ ·ÑÒÖ€ú~Né•.äB%ïÌÉ|Öॉ8NVtA#ˆRõÅÂXéΈ)\1„<îïæ®"ÍŒó [ca†€eòL ³±>Éç‹‹"£Z´Æa; ®¦ÚD­› L­Ç(Ÿ0NÁLi@xž6Û:´W#—éyT_1µ-¡ß¸a¿§™™Â2…Êon!øŠ…9k/ZØÌ¤OãHÜ5)¯WÂcq8W\‹9=Îr±`oÕÝq6“TÇ jä5ø3ÙiÚÆé ?at¬Z«)‡>¤·å ‘0²ÜŠDôÁ}ç#QJ£3ôŠž0 hw€ED)¡ô¢ÜŸ¨=)tÍ "½È¢­´ÅžÜRJDëÃ7S›’«Þ~có‚øÊM=nšYû2 ®pÏôŠÌõSUW··ÿ^¨m먽|iãï—œ˜`ì-Þ(KN&ßg}àkªäÐÇ:ç ,zÚpLJwü,¥¿¯µ ã6ë!4„íÉ@ÿ|ì¦Á› àÝ$…>ÛM«oX[`Ä-4›sÁ6¡Üõ¥ˆ€y“b ƒ;¥B¬Fã”°åò®ötÅNïß4þ›]ÆÙZEé "©Š DH¿ð3Ã!Ϋ%è_ˆÊhàѵ/â.{ÌÒÁ“¦ )~B³Tó‰ÍÛ`®ùÊ­‚ìMýÛ${ºTÍʯm gSÇÞàʇ ÄpAT ¹z¦’Åé&Ó7B-\ο«øå{.”09éz-GÈÖÍB‚{š_îSú¤ð­eH¤1¥¡E‚4ƒÂ’ñ†å°Èu"Û(¯¢Œ£i;Ö™w“› þ×_†'z‚fË3‚N‡wðë‰q—[ ”ÐÒm1è&‘‡–r¡ú2ážÃÊÈü8§`ïÒ0h0]cà%™6Ë9dêÐùöÉ7ƒtÔOØÐë~ £+µ™a±ëPäOTQº—fvRŽ‹<¦öÛ/3œMïáËjÀ€6‡ÅýGÜhº« ecª‘€¥ MIn/à&µë<:-këìCàu+˜)|Öç Ô?<«lœ^ ®´˜ŒjT’µO,Ô©êB}€¯Åu:Ó\üh¿Í %Ò”šj†‡¿)Ǥ“ëlàÕ7k ;à~ÝœoQ½­pFY èÛë³@:0A²–AÞ"]™ aaÚÆ™Ö{(9dççŸoܰp"Ÿ1‚mÖ˜2f“3¼íµ6ÜÍ1, ÒiEÎ"p?`칺&ıÅó᳡x½²¼jE¢jÒVìÁ¢×ÚÂôé§6Nø€`'Ú45 H™$yýøýç¬áU¼5ÝÿTá98`ƒ%µnÎÝ´'@¨Å;:9{·ÉfNˆuRÑ@U HO¥é6Ê»šw¼i/ЩîX >¶HôR.Á Õxr/ÂÕã‰\¹ðT9ìX‹¼ b¨RzÑҘMnByRZ5¿jçF©v˜!Ú DíQÔ7IÆî|J•;2`x0Áøº¦Úc†`/îèE=‡!Ó h‰æüªpêüìgú¿2ô?ï|=öÇ(&¼3ºoGGÂA3†ÉeS]B•|Ò‡fŽ&YÌœ<ÈÂG/·6C_Dæuú»>‹Ö‡›MŽMÿ©*G…å^д–½µþÝcô„’è¶2‘£æÇÑ&Zoµ>:^[ÈRÖ7Š\¥u?ÀJf¡\tÈ·:¥˜éäŸݽ'+)p”q“àЛaÂ?PÝi8d„ñ{ƒ] ÊèEîÞÐ=®oÀ©4–?ArÄ¡[çUǩѲtL†µ#CY-×pˆÚ ø€›~„Ñ=­1 ¸Di¶åÎùÚRˆ¥ÝìZÎ[!ßþÅ'eÁ ÎW #¶Lñ;¥êú`×v™3•i”½ +é†ß¥Þ£ÂÜ…Ú3ÁÞAmýnuosåjG<4Uõ×/lŸý¤YtÓaã‰=ˆ‚¯È— /)ŸÕùZ¯º§¨¿¹C³G;"Û49mo½zÍÆ °FUÃ)d‘©(ä{,ùá7HpÁbáÝ¥$°hù ]U·ðÆÆR†!c›wpwœ’}[DhƆÎ#Àb©èopEG:Xqœÿ4žì$C}»êäeqwvçÛT{,ùK”ÚïryY¿_á‰&=y/{_æ ™yùklP>ZÐ7È÷²yôfƒþ¯Õ÷ç4ðX,-´å5­ ®é…Ã@-è“F9(@aÀæÏÓÚÔr1Ï7Aœ ›2×’—Îf5Ÿ*˜Ö¨½‘&N’Ÿ¼ÔÒU¢q[Г ‘Â&8øôºì2ðºÒ‘eH{ÅÁ>sk}ë{NC~ÝO-²61*ØèêÅxË;\þE0ô+ÔhÖ:¢× LO±–F¥£¯{+¡?P²q©Çxº›`mͽÆÔglEŸÕ£ªàwóª+õdC±¼~?o Y÷ÝríC@¡9ÃxÛÃ# þ¶5…Üp­‰nOpåD‚DþêGâdµõ[dsZa/ßߊGKå™ ´ÙÊ´ºå¼ÌÜ@JíÈGƬ†ÂH£Y,׿ouçÞ£Af~– Mà}uéØ×2Úõ…7BÜÍrÇO±ˆHÃSJ†îüfÍRj4§n|ª®ú†Lo¨š½ÔkƒÁ4•UFÔ†žd¶¨ÿûÃ~ÁÌål¬ë}â4¨8é\hW ÆÍPYªtÑŽúñ0\õœA<Àë´Káx¹BÓ]Ýjº }–õ½Úo¥K¿.×&RCä,XµÛÍó 1‹çË$gÆ¢ÝnÔ”†\먳½Ð‹}G»!‚E5m•_ Kà SCxÔûˆî4˜·Ë@>dÄD·Œ:(+èFÿ¬ªÐh ;ãÞ‹À€Òqs‰¤(:ÐdÇû,!M”Re:苞’ª—LšSÚˆv wБt—( [œ2Q>Wþ¶}åù݈Ö×ÔNBÜíºa å—î,”àâ½B»îh"3Ý€…=¬¤s(hÙãßv¬1P\׉%å+WIGµÏW¡!¯AüË Ó9~éA’ 4c+´ŠßX.9KÀìÁí•—¶k\©>8Wm0sKƒåâ,ÅÏl «‚ærbÓY >سr6Og>ÿ¶Gµ *³ÙvZÌÞ>;2弡FYEh®çåàñ)†¹ d¸76€d3’þX2C‚=ÙþTÄLÄ3Øã¦m3Ç"õ‘å×J³ß@׸ÍôŸ ê(½–¤¦<Å£V®)ÍBÉý……?'‹PFb¥ê ÷P ç>JfiÇõʲœöÒB+Ñ‹áZº•c®‚¶㡵÷ª@Lj s GÈçJ¶LÚcvŽ—å Yšzmþ\#:•ŠÅŒT÷T)’4R´º£'S˜+kÏè=éÝÌÿR!Cf^VÑ/‘ä¦dÔæpžoÙõ[»F$õåQY _PL IDAT쉚¤Ý/¸{ý9ã{ A³ha>ö2 幈™øŸœåÆKÞïg¹}› œ®_ “B¦RÜ£˜ÊÜ‚Ð}e€_è qjOô)-3ÓËhAŸý7[Š_ŸrÍE<„¾*͆Q2³oÑÏϺٸ”ô‘¿ËCÌÌYºÞ\÷Àå%n4½Î4­H)0Ö„@¿µeŒ ‹|ô3BrP£OÏ,ÉÒ(Ȇã} ×ÐPÕh?¿`¶dA*¾×òÓºNYQdÚðŠ72úÄŠ“öJªz›-5RhTÛÄÄžöë.‰õ‹Åe•ßà1à¦Í‹æ†Q¬=ýl øÛè }g7Ž…‡g'p{ ˆÒ4#²Ö(ÚÜh”s¾è¢ÖT1ÀÁœ}aÇ*RÚ»›|Õ×ø3à<0²µÂ,ó¿6žß"Üìó¥q©ÀH6½‹ÉÔ§Æ“¨§IE9å·:už ¦°ÐW.ZIÞ¢úrxYQeòVš/LÚµ—<5ñ7Â$ª®p=›\MÛT:üÒ†uŒZB$•líœ*vK‡;WFÚÁGKÓÀ¦E·‹³hZ¬0¶ÙÁ¦Åë>Y|}>«ý}C¸€CEsV,@õA[{ʩꘃ4["%d–ýþþà¡f·ñD28û!E~¾vYÖqõ?ºTÏq¡ «!¥¸ðú é´OöY„>뇖“Aõ…ëÑÌh'tþìôê:ù\cèaÄ]ùmwŸ2‰Y•–f?fjÂ@Ç'i:õ,›ªt–/d5°û<¯fê"ÿl]~@„x¶’@ÁFG€¦evd9ô‹1è³9D ã`4„»B‘ÊŽb»”ÜJ)­âªr-õ€Ïˆ C‹ÌŠÁÄ2ú+#„nŽ¼Ï½÷¡Øcøx@B·`QÁ„bNeOèN,F7ô24³º…’ê_”h4nn~PYïàn¥—@ùVžRÉpŽa¦Ü×…È‹²%Ï–^Ž·gmƒ£ÅHÃéh¶š÷©,ͤç8jœ!ªu€)K¯¸*ŽDEè+Q¬\?D{T1XC‘˜vôØØwWV½n¼-ÌâݘWh4³mè\%_n¶‹Ÿ“"Ñ‘%oGÕ÷T[)—ôèx­«W¸³ †gœÑÌÚœYöM oº‰‰Öñ;–¾4’Ê>ùð˜AIò£Ôh˜òµIc¡B! öMyúœìƒb#¼Jo­Jü=~j{{/Ч¤-¤–ƒÄA=Ç&û #x¿B;úÛ%Yn1ÑEˆEËæÈ%‰ôKA"jþ@n]ÇËI Å]áU3üº( 2~Y³©×YI[ égRÒX `ß¹Ÿ„Y­ìzRF Ôvó bë%;î?©J.nR¸·ÁÖ?)"ëtVpì¥YY_U©ò<½” <Ü˃ ’Ug”0ÖYµ!媬Œµ½ß±Ü)h7Is?é•@¨21Q*|²TG_Hœ²¦?"úÜʨ?¡vÄí¥$CНîxتm²y8PfS qgFࢷm6o’µ>ç4Z@)¼KsÏ@lSiПÁú´MiÜH'Ç#{o&` ¸L ]*†ÁÎ[ÿ[ Ýë5ue¹à`3¦Éð¦bÚß Cë&û¬lÜb¶„*¥þ ¢ŒášNŸÛ°èýz ¬8°vð –´çÁäÙ@ ‰ í÷¡lÉ‚M·¼1‹?¥FhgüFO¢ãs·$¨J­í­'7!t´™›¯‘rëÍUèyeÄ PL¢±VÏOÌ^ôÑÌ‹µ3g¹ÂŒW$-`êÕú0ŽlaoX6|†DÃÙtOôRZLÌRê½iðÙÛA*ßQ‘xüˆP‹™nìYÙ¨,‘øówæò˜lkc-ל¡(Ú OÃÀ..œî^ÓË·cøV14%±p(7á>LÖÝOÜ3¸Tf4«ÔÝaZ1ƒ=¯^Sï“0Í ê7¯þ³IµNãЭ «{¶YÁdÊl<[FEêê¥#™Ç& 4e¹X¹Âp‰È 'H7O~v%CiÆyu_ª)ìéͺ7êÈ$¸ìO$³sà§Z'ñ‹ýgÆÈiw,ŒòaëX p ^¯/à ¿˜¦ã`W4^`žÈXÄÓ SÙy*‹²J +8^Bk}"ßjúÊ‘\~%JåºR¬„¢Š4« ?×òÛLIOEù+Üýþ«+ëJƒ°»9´¸uWâ’TkáþnªmÎ7NEN¤"ÙŸþ{ ÂhDUG¦5„7Ån¯˜î(Ù9Ö7?[Õר‡ÜÔ7&×õŽÔéÒ‚štYèÄÀ´N/öf$ÜôCmö8øá+ähè~Êäù•ÀÈí9'ù’Q‚Ø]¢r÷„°SÒ£H3Ó¼æk“BOüÇkAfõ›Ä™.']"Ú'Dôõ_ÿùÓjMüZ8°yj/IôP²ó£_\™,¯«yOÀ·WÉWy§²ï†n‰tŠ=JiKWnÙœVDõ?·º:§Û­aGa”ôT¨¾ö–%Ý$Ý2Ó`­+1é/œÞe SøM€Œ-&n‰gù¡ë"0v_h’`œ@ÙVs‰Ø0 0Þ„nJ•\À¤µ0µO¦ƒK£Õ`Rïk–!¾?ã¿|Íx2FŠÛV£¯¸¦›üLªTÑhrÀ$:¾œe„hk/Ã9‘÷‚†¯Ĉ‡×Ç$3úÌécëÞx<ȇFç›´Èô'·#Õñ{~y/mÁÙ…ˆáf§œßH›¨H›s¼ôGysv÷Y2 GÙö4ËÍ ½3šAØäPM]sæ ãF´ôÉb(…Ä 5æóF?PT£Üdk9Ì3ŽÖéQ¢œ Mc ’é5J°q³½D_y*`æws84Â`ÄG$Ö|´ˆ‰k¸.>{w‹åR-4Kz îG™š6Ön‚Š…Tóøãý€`ÄÀÕsàé,ô1ÑqyYÈrüv‰å‚ ÛìB*ÏÂI'L*Ä+ÂhÀ³B‚ý{fýÜHNæd]#(1¡œ<úÿMω^H®T;+ëÐK(T\„;iì aìŒå½ÈTŸ9ÜjÆ·f¥Næ ´£Ð?‹'&úRÃáŵ>û™ ÁTk0nÝèk¾+µi}äà ¯k(“omjGä2e’ͯô¸[×:t‹½5!Á‹z æÙŒû\×ÜåO ¢%¥Cœµ×ñN éìz+»ŠE©bd౓­Ùõš”ºíò‘R<ÿ;91^ª©®rLaF ÷¦üÒrz³ÄDãÁÀsZÝ©ÒKé?® &ÛJÆz p'¬N|¦"Vƒ›Uå·ÊIøyÆZ„ا(Ò£:ʦڥÎ_Á>mØ>͸`J«Q‘u Û³vA&ß¼8mæ?{û Žà …·ú¶]ÑiØÓ´˜‚b'âЪƒëa¿RCpóž‘.@¶³61_@žd*Õœ¶`O¿Á¸ùm¼p˜j6AB|J‹%…ªi(.)›M5ë7³—XΞúM: œì‘”z¬ÚÿP‰ÖaVUîr y¥Q‚9i•XÖ3 P"É*Cöy\|Ö|y•kƒ’ãsÌ>Ha€(Åmûš¾ÜL/""žNOct–Ô"="î/³ 7dÉÉKÑá1ÜËa«æ‘`% æ’IÛ‘*·¶»ZF q£ª7'–vÃMkš¬ƒù^H·%îÞnÎ(A„Û­Ñn¼Hì‹2Êê~–^ü…]»’ìÈ­DL\ °I{ÿÿ«Ö&mÀ¾ @&ªz¥…VÒ93Ýd=€D>$‚ Ž4ƒ d8±—O± iB†÷h‚Ó8Ðÿ¦‡R[`¶‡í¼‘S߸ALŠI½€‡d†QÈQ'@ùªO×wô@(……Ó¼"€Çí±)ʤç2Gâ‰:H[•]Ñ”ÀFC{f Cdz3Hh=ÐÎÊy±¬Gƒïç+Í#žÌCÂç¨H›‡™ƒ±) ÝÜh8×·"¼«­AGÇå¨ÿ^.™²›æÈÔÝÄ4äNí‹«¬¸®àVOÝkÉÿJjܲ ÿ¥Ó!/D„oq0äþÇÍzlMâ ²,ÃjôŠ’][ž®|“—Pê/®ü9‚•Å*¤‚‚êDÜrP~vë èÃ]o¼ÌæíLÉ”7n8Š‘g#¦VO3ÜÅFX¦Àdú6`ð¦,ð¦®s’Q“µ^ΕáÂÖGóVzǃó¦(É%aý4¶[In%ðn Ä|Ž\²ƒaaÎVÊÙeìοü!)>òòË!ç)€!ßÊËy?Å·ª&ç)y8~Æ“ÖL„s²ÇÍ¢CÝ×O[)Šr°e&ÁÎFÒ¶Žô# ±‡À,ÁÓ)èlYT¢´É’ÝŸÂÔã|k(x:Ñ=¡½9~[í4uÅÃÿƒ·„c€.÷®eÙäÁe`Lëd¾úP*ïcidÐGÞ‹û¬C|LñE(´~=9C_ÒŒ·«n­,ï"ü£Åñ±×ñŸÄ€Sx–•ÿQœÏÚjøåÓc«¶×ÛØE.–|3FY1iåÝù–©SYÚ@ëÀÓô²KB¾øüÝ &Ì削Tßõ3<^+ëï/S° ih2"S¾ëÆmÞ7aÝÏE¬€d9@˜.Cæ]¥U°¤}f.Ï­x6ÈUåpûáɱúˆÏ )'è…TÚ>ÆÖºa|tw=44µ£>MJjˆ êEER¸o÷î¤$QSùK“2•¿Íý—ad3 ­nŠØùTã§¢ðdéïúÆö!Aºé¡–CµïÏ»[Ùõ ÃÂßù‚ö´ýcã ë®*Q†¦"onp'DÙé i*ÊO9:N_*àÖn°ù?©žúq8Œä„õ¡ÐÃ\€À/«¾ÃÆ€På úþìõãU{¿ d(¨.¤ôí|òÙW˜âÛÌ¥±„‡—ñF¤³"z>%MMBð÷á.»öŨ£tr®Cþ÷ U~þ[¼ï!8Åx¸ˆo¥jç↱믞þ¥c•ƒˆ-…Y¦E­—K”kk£ »II¨ êÆðÓÙúÓÌÝNËõ§æZuŸ,•á‚f ©æûþ>È£±þ¯Xå=>áË&ìEÔó# Ä©PÂJ7^CíÒš‡—Ì7jE¦ÒÍè.[ œai²`êç}ÉØã¾n± @(®‘éEF~Ê…kdýÞ¿ÿ•r†¥Wi˜mN¹£Ë/oX¶šw 2À³`ÛÁ@Z4ˆsМ~(êB?¬ù¼Qsw¡9AÖÇ©i¿¯»ûeéNM°ÃÛäèc|ƒ¢’{‡NÎ%e° ΂?¦…pÂîm òÁòAO”q4ƒºÝNsæ-ÇDËìÊù4OSÐý˜¯Ù[%ƒÖ Þ2ºe»yåN††ÄÞ®ò zA©Br¹¼¬M|¬ïtC›Kʇǖcè_‰…¶µ×Í1±­«AàÂãÓã÷Çsw?9 Cà¿]z­Óëê©)ð­lÔ·™zU¿µAzÜ|³‚jå™”·ÈÔ`ú¹ú9TAdnd×­L“ Q…U&{±vÁ*é ¯æ:u-µ,í ö9øf/QÂnÏjçëTÅ[Fª˜™ëåÎØ€Õ+ ðÜÓ7Y2.µÏåÅ›ÊT¾dÑ™Ï^ z«gÔV)µ^úŸ“Œ—ÝXüèž Ïf6"ز¯ð® $Å„d”Óˆz âÖœ¨Gm/säv>æûB9Ñ6§êj;„𥆢D:ôÒi½¢¶Qg·ï˜hÝ`€ƘÝä/Íø2ó†BÀþãY6rµ3æØUe!œáf©EԘȄ¢²Œ€Xçix©ÖoQÛ`)'×­ñzTN ™ŒûXİÀ§‚ `}Í÷|iRbagZ—dÂ4‰èdí¶¥3ý gíûMÛ'BÓmÁ´)mñt;÷ÝÁbFâ¦rP(ËSc¤Yg¯òÇ _“A)éNóÜ6à=}ÅGy‡[ 9”IN½ôîçhCᘴŒÊ—CpúÆ;‘yæóç‰üx ?€ŽCCT=DmÈLÖ=I\í#Ox}Ä0$?­ ŠŠt•rYIÊü‡˜¹¿0‰íezÄF’¬UzD$Ý=ÍàN°I QY0=ÜôHoù‘¶9Òœb{Àufk {vk¤Ú,;ùNuòÝ>£ŒKÈÏ7óÂyf÷ŽRqܼbÛ¦ Åšu(óòÆSh²vA*= ,¨÷—­äŠ>ΕÇ}yR†_H‚ħåÑdIÌ9\µto2ÙØ©Øx²¹Å•!mF÷}—©òͪ¦ŸA6ÔߨUÏ9’Í’Ðl¿¤4NQÔäÅ+›—1~ÇjÑ’‘=4+}¢{k¥Y ‘è¼XËx!^×ÅFuCÿáÌJÇ•¦‹ò0ríõ¿ÃÈœ·¦²Ó #3ݶ§f½[i»Á Û×óuÝEF:DŬÙ]ƒ'*×­ð•¡Æ9@‚§Œv<âl+ºÑ¼ÓハXHô3ضᒭ[mo 1”À`EªˆÊ.›Êú.'¢#R¹,J!ìSçpFѳݤŒQ¬1¤\‘KÁÐÛÓë›;Y›€Cn@4·Ã¡]¢4b~ãQý•sç´i¯ë² |¥¢Å8Ú°uO›µÙ¾ó:^Í÷,]Úý‚FîÜ_ êmÎQJ”4©.«¼Š©õ<ʲœÔ†¯WƒlnßøNëvYÒàzi‚׋ŠÁ°Jg ›q¼ écF³Oë ÑÁJEi²ÇÏ>Š!íéôØGD_ýQühÖó†ðqû×—ÙòÂéY僶*‰R²x—âM,mxäއüIma:•ŒËbѾ`–Ë®ãŒI.mŽ”bsÿcò›'+ù&Á‹Êá¢/ôéù™ŽSeï³M‘ÚÞ¸¶ÞP/Þï”ú\âáöÝ™W<¦ë‘Ò ÐŽp4!CDIá[²vÏÊûÕæí‹‹«=¬5=¸U72B†qIvãÍîý(5 9X>J½4„8é² XïW·UàuË2yÑ·YÏô=¾®¾Á"|•¥§5L¦ñxi=QxÎ.ï2N"¶xí¶Ç_ÛÐú÷ |ˆÑj#S»+&ï©ðþV<;›4–GÖ¼0µýÕæ s˜:Ü—Û:Ï|-‹Ý —êE­.êïû¬¤Ö· к(¶IåÑ­Å,†æá‹Î›5pÎr`wf†—a^d¯´je‹שּׂ`1ͼÕIjÀÄvŒÖ™"µî„ð°}VÆ )¤Ïz;ºË(ïxGÿþû”±QÑNßÀxÛ(‡d¾úŸ?œA¤K…RåçæTµ³?úaøFRÀæ}1AßÍ´Yž)‡Ëõ»®’Uú6‰I˜6^ˆ='C…/{Ü€7b+ÿb €IMèœX4€jsVòÍ|PùöeLð (KÌô2Π˜Q)V³[ð¶ 9 äÀ‰¶oO°ãü~¼6eÊ–Ç@;!¶™µQlƒG(’ÀÃ'¬o<}t(±§+¡^ ¨”ÊY÷æ)³+ðhÉu |æs¦²õaJº« ¥õ¥Ë¼úõ( åú©®ìd ² Ѫ&ÚgóoÀYŠ.eÌÈ#¿ÅýÝ^Ô@̺£Ó¬a•jjóèàf=ÀÀl¦¤RÍÌJÄá5ý¼‡i\…æ[wc€´ŸA:ˆ©è/â… ÉfãÈ“ršR·y5–Zÿ•uü'JØ[. Ó\zŽog+B›aJ¹Ê[~½?eTrrÅfqÑ@LÎjˆÐÜ× Ö-$m4­ƒjÏëÌo ºž;ÂÇ©i¿7Ö_†GÎ>g >àNÔ£;  A+eý<åSÖ¶Š•EGm¦PO1JÇ,¹¯‡`ÉÎDßU÷þbcƒ»Û£V£Å>ƒ,³¦Äì0hÞˆ™!uÂÕsÄ5´Àƒo Z×FyN%Špý_:Œ”œ>êxé2<|•Ã2óç °¶¼"(›™ãÅŠˆ>@ÞŸSV†áåÒbÄ­›Fá±¥ùNŠÚºü}ú_¼Ðº’÷âÃk&-kažmcÕûYNé¥#§Ñ¬æ|²„5š~¡‚NÝïâÓx |«2 U’RóA‰i['ÃkS#Ö`eyžÚÈõºÚ³ÂûeåZMtQ\­­Ç®‘ä4­Ææ?ɉšRÖÅŠ|@è˜ûìcßiII¹g梷&ß žKy)îŒfUÛé7@æˆÆ'ªÐƒø1ªüû½þL!Í®I'Ó\!ɤ'£[¨Œw2†ÕÎÀQ"Î}ÓªW´Ûr{¯åì Á^?<€ÿó_ÚF)†:MÝч— £óíªªÙîü–'Íæäü Ó§ÖÀCK‰Xç?è0vÙÞôRDèìmÆ,ªL³ib9Ú‰ê k òTƒàõ?>¯ËôûGvý;Ø.Îqš`WåûÐw°m°-rß×¢šØh\Ï[­isÅ9WëË ”'F'ItJàå¥nƒlöî7h†Ôp­È!üe>ÕLГóɺº+û!!çúªÿÇT6?]päÎõòÁ¸Îà)Bm§ÃÖÉAi×°ˆL#‡Ï<Á‡Õ÷ð\ˆžõ¾Ó,f‡AñÈŸ?lªX%¨…7ÛÁ KVR–7G@þ¼Y$ô)4Š IDATAÙf“Z·!š›íO7‹Ú?,5jÿ>Œ­s%x/K(‘•%â4¡Î#Â.k2¡ÓOŠÛuè3ÑC,å½9ÉÍ['¨wÖÔq< L¬DNIÁF#<œ8»|ù)Í:þþ×7£™·/”ÆFH”Óó’êT㯧»æÄ–‚®°Þ4œÆ2Ñ¿¶ GéðÛyTQ4ô2¯D¥oi¶?‹9¼œ¿c@ª@5$jç!áï‹ä½$„xii7I[7ëF¬õö½g9°üQ¤Ö)è„vxžÖÑŒHôb:¤¾Æ ~ þÔ´³ÆåÐý&‡ í€T@<¥}Ìé?ƒzøE6ß!£¡0Þle]”ð78ˆØLsðeGHŸèV~Jß$­Iˆ=¸·Õt™J×öiìý#ËWu°g:ŠáÖs~À®tÃÊ·b"`$5œQ³³‚w"°‡Fûß=Y~ªwJOÑF.Ùé=8é`|\¬æÿ›âÝÓgf5áy²EÒœX­ßÂ}Ÿw‘ìß,`K3t>ˆûºÁÃRû´FΤS·`^ÃÿÞN‘ºÆÜuZ†$Ùù*ïÞ'HLTe¥µmU~Âçm'l wR@ÔgÿøQ/ÂY»‘äÚx^ÃK]§´Õ&ú6ØóÑ_®6¡Ð办ú"ŸVžûrŸ¼¬JÐp—Û®Nƒ5J®”NÔÃàü³ fx~ž¾Ù²!σFèìLߺ.ç:÷YÕG§½é¸P£NÑ»žéŸoôA,µ÷45mÕ˜s­:¯[Ôèwj;”¹Þ ³€¶-bü½†MçJR$Û1ž´eÚ’±×Ç^Úeà?’\Ÿžµüø¹ÖJ¼†a'j[`æ6bT®a¹8X^EîD³…F+^-„~ö®‰1œíƒ+~sŸjÔm5•‘©·W)ü¨$R󣊪˜7ZŒúÇÀ°¢nT-ÄŒ HVK1ÛŠ¿e$úõÀœØ&¾˜ü 2Ù›yÃPú|/dhájdú5Œ³IãNï„*@Éd,Šµê¦›€G\´xâØìå@Ñàêy ûeyð íñ3<:Q—*_ã˜èؤ<ð¯-¤±GM tj ¬®Ó–/BQŸ€¬dD<ù}ÐdªíÉEOcWßHÌr8”@Ų]Ö^ðÖç ºýÿûsÝâŠóE½¯‹>lŒő=³šå{5Öî¤f û¢FnÔ÷¼nëfÂËL„Ȧ9Á«¼®^ÚIZ0àÇÜ䕷ؤÖRöÈ€ yý¥à!íS#ç õù¢³>ƒGD¾ÿ¼(Gˆ¦âù ×ꄌ-ƒ((JÂ6œ©˜¸<þ¥Xqî{ÿëF´£¾Á38‡–i3TÚ¤:¬–Q´q*Ö k@Ubâ#!Ë>ÛŸÜ-7À\±âŸòhèß³ˆIkNw ÷yŸ¤_}šaîCzíâÍ&X‹ÂB­:íýLs™Úa磡Æípo%%.Î2b4FvÐÓ¸yfQ •“è“ „¸R2 ×hmŠJkÔÓÑТBJþÈ‹Õ]\Ø”oÙf†iC /# lº¦cÙL¶¬Á’ 2%2ÏTöTÓ{0kÖMyVÕKˆH›ëú/$š;WS;Sl‹ŠtÅÑ=Ã×D¾d°üe~4ª RK %\Rð,&=&Ç2†._ÿ­­Ÿ^EÆßÑiC(SºŸXŽÈë×½GVBTÆ£·¬5e £A:Ò­yhZÌp¸c5€ 5¤ƒ;C9õ8¥¶ä›Êè Êd†Yú „4Ä—‚Q· 3JÚ}A¸õËRΔæŒñ4Ú£d›§/@¸ØhsJ—;·™\÷õI3íÐó,4 ›ÂÌô®Mø¿öõ’qÜ'H;&Œì`€–†eÉ7ûæ,ïN²’t“¥Ù·1o¨å} ÄÒªéóÄï…º¬y”‡HyÙBÎ/Äi-¤,u5í¬ùþ 7$º½WÚ”£Žb+çÎB€¥ÀÑ HÖt`´BQ"azÞ0ý>ÁYÓ½M²*ÖÓà|å˜RžZ í‚ò+fté¥å åÎ,™á+Ó=Þð‡ËŽû>]Ú\ø~1P¼ŒüŒtÙÕ‚(ušû…(Ü%VRò¢r²¼îr ¥­ïËŽòî9aDËa(#¹ëÔàîô@  À‰óq«¼OôÍ„ŸAù¹FÈþ;³‚R+“ë9ÌKÏ·«Á¡Ç2Ø®ð3m0ã˜yâ*œLYk#nµoVsé]ðp<z X×J >8«ýY$§«1§§Ú_Nj®k¼´NÒG5Ý|ªÊpËšgãÚÆÍcë¶ÉÍ–NÙ{Øš¸—~„]Tœaš•/n÷þü½«Z>J+™ ú¾v­XæõÄ @~-EÇ1.ŸPÜlጆóÁ—½ç]æuÂ$JÐ×·õ¦ŸÂÿºçMûv“ßÕµq– éÐÏ鯆omÈ7\TïU®­¼ 7àˆçµ$О¥\"ÍñÂÁ÷K—)NüóÏæaý×yØQ••R å֬鿀0§ñÕHƒÌ?rSåö-‚ߥƒjw@sŸ“ëjÊe_$Ì$¤&?gH…Ž B”8j«ëϾ˜«Ý v –§ÙUe .†Ê ´Ó;¶É®XEg<‚®`£â$T(J‡·™»ž èU½ÝS΋G:žäÞ'XY/M³?ßçWîôDd|”µùŒ‰—î%û*WasÑQÃæ–  pÑÚ‰ÿ;˜ÿqÙ$¥IXÔi u‘¿^a€¨ƒ ðjQ"Ö +†þ=ÞåÁu0É®´^Öÿÿû¾¢‹,xškÈ^v4•®ÂdÃáòXD§Nå‹]H ¾4³íëPoí]ÕC0^ß<ì*ØœЗ©ša)†wQᘢ¶¬A[¦–ªâ;Ên£ÏÁc-&Ex'ð~È„_¥"-hôÄrq—MÐ7åÊQÑusØ@ddfo£áÛTÓ[/Î2ÔÅJq&]WÇEofÍ ýL»8ÀSÈ•"5¶íZzgejL˜6Ëx1æB ¥¦ÑÍx%#óNDJ!h”QÚöYì}ÝåmÛ˜Ó<¥7*¨WWijÕˆçLÅÉË9TºœëâFÌ N–ïBFŸ·óèD»ôf"äì'Le ;`ývôÓŽ­iöA˜Å~'7P3ÍJ'ùå´lð,šÌá„?{¥¿#œIS]hF¬7·ðƘİsó‡C¹‹‡69ŽSß\\H?·1$êÍC#Ò yå4ë} %½Rº;f)× Bµ9!B-üƒN!„«›íÖ—V>Þî÷évž¥ °sJ¦htAà ¶eÆë"7f9%3¸ÈÍ'­ l‡¾%äù;ì†Ó‰¯~4²EÂÙWF4+sBbݻٟ¬Ûî²AKz‘|÷ºµ–:íy× p=ñΧkþRï(LOÓyÍ6~söFEæX.Ö nƒéδÉ70‰K©sç÷Í òô]½CÙ¤Úb¨à I„’ëv6!M6úö¡óøtþŸŸ°QÿòÁFé†^æÖ‹¸hàÖRŠM߯´0ø €@uCez®íS»îÏË:Œ&ü-o/㲟ÖÛxI W¤Ä±â¥p:ü¶õ!º9Uös­Cn•@,£þ5F ‚—•R}Ç ÈfñmT_èÚ_Õ…6òDgwÃ6, $Kq^†Џ‡ZÝ!c.‘e\ÐtQ‡oçߟ;É%§!¤iµÆ(ÚBFàY9,š‡Õ!1*ïëE9ÿ5D-`ãÖòÔ-ê»´yÁž>ŽPfˆ¬N`rrQØQù O€§Þa6dyÖÖD¦7}ÄížÁ1kP(—¤û#´"zKÔ•9å\B\A¶ðùâ¶•<¿o?ôCZ÷©9ñì¹Ç{LOß?:…6š÷õé6V™ñ¼Ã}ƒ×âa.D@H¦É–@…ȃ+aëä´I— õׯ¶Š'†«5{‹û’ç}$F¶e‘*]6ÁÓgQó@ðgã®VI¯²^’ƒÝN¿(*¹4¤)R¾[”Ø^gà‚^ïBåy±BýŽ®ë.ŠnÔœLÿ£ûJ<Œâ} §ŒÁæÅ ¡4æ(à µ/¯C!W05*—6Ïnqî‚„o±yÑfFÌg¡£¯s*±ú{¡zÑvZtßïwý•4’¨ˆðD]½¹è¯[ÿ#IŠïý5²^åF¹ôÀ[:O-zÁ?«Ù­róÑææÔ§˜­ÐM¤ÃAÆÆó>‹‰Œ~¸ýsïë¢ø‡‘ZXyeîM:+÷=M|lSí¸ÔeÛ´Ì*_éûWé ¤íÀïÜäHëÓ>:ÕÇ÷Ní‰UÐJ“?ë¡*û»AÒz҂ɧ`ì\ÊæKÜg&þD7ÀÜv¤[Œ›å)ç´ŒÂÊå½Xmk¬Ê*†Úñ‹¯—ŠT'V˜´0¸J6„‹vÿÑÀæÆËöæØ §xó´EkS!þÍÞZx—fÖÌPî;ÀšnËF‰Œb°5#欵¾brˆ‡=#6‡óe²àý@“q jÇ%°çî—3ž2^ @¶°Þ1¡Í£`õ*tx4jÁB%‘ߊì21K¤€Øm‡Œ½n _²[Œ¶Â áßé†$1Ьõ¼þ¼¡™¾°NšÉzéaœnn\Ív y”£/d Šÿ—CéÊÆ3[W=kßëÔVãI•q-n[5×yãø5»võ;»côÓV³!ïÙÖb@$B+Œpéú ”+¡øLtÓ–åfßbh§áƒX™$#b`£8­ÞM·â~LúòàRÜPÈ®µƒw±í·k™c­àŠþÎòÎ}10|£Âçæ Èµ£×Â@IšeŸ Sѵ‚æà†¦êÊ5af´AdvyÙÞxÉE=Ƀè95“ugs{Œ\Å.„¨Qo²ä»È•«¹%k!ïƒÐ¹ N´>5=O…ÛÈkÌfkêÙ¿äg³^ :ª ©o_ÁX²µIƒBŽàyEðç´GêK•c™|ŸbQ`žÓú\þQrÛуù>ÑήâLJ3’v¥}VÊbW¿÷Ë¡ŽHÜòIS|rÛr¥QMêµ|.“?LK¯Ðõ@ª—)‘Æ&Žaý›},e]QááÄ ¸õÀ¼­ú0‰|P2E÷ªÛ‚%ýÊ)em°ôíU˰ʽ)º }çõVã,ƒefW%\>ôå—u™ŒÙfƒáìL¡1¨—™a‹º¥§Óôga;,Käëd#)ìο֘@³œ#“YV² zš”*oˆ¶OÅpßâÓêg«ŒX@PÀ‚ÅQVݰ±jˆš›2–iC½r¨˜'k4‘otñl£¦ß×îhˆNB\+%‘_>›Ët9tdÊ•ƒ¶û•Òì"éÔ³ Ù4A³ûûwQ…ÖJ0„3“[W™“,[T©ÔË1ÖL)*êRò‚bíÖúym8©¸Czëõ ˜‚éâ7ÀŒ„TN厒1]dØÑzQ/±hÓç Ø»:+'[1Ðíž/ÚlfUÔø%¡‡Î¯{±žñ]’¦:å‚a¨» LǬ`^³CA&²[gÇø*'¾¸šlrÈ:ƒÝë¬dÜœy¢Âس†ˆÞ^L9UæbÔ_îï‡æ ¼oŒq’ÔÔïçâud7C@L¡BöKÑæ-¥ÍXlºTÐYÂ$ӑ ”Èòõ}™<´9ôŲ éÙÛ½á5—š¥R6¸¶$Æœ|ëwv¾gVöËò«R`'I1@´” D¬æ°#=7v±ð|ÌÍmU£Ò¨€SÆþ÷ïû>!÷uU™bð¨+ƒ“ yËòŸm:ÆÕ‘Û 4ŠJ¬ÊÉè4ƒ*Ë€SЋRª÷h¤éê@šDØ€¹|_}ïꕱ-e;ªTâ˜?‹ùÄFCD…¡Ù4“ƒà:Ìi$+ÿœ®3B6Ú{W¥:¼¬tDéeÃÞìy4—`0'oõ¾F"¾…™²rjY’h‘àCœ˹¡ÕvK›ô¬æJ;$a¶†ª‘ÂÜÛŒŠ¼\þ£M6|0ðñ¼“€ ³6HPï.¿l`4^à‰M`Âx°WÉS›Jã]·ôFïû–Íh ÿgù½Ñ'úw9­2+«Ð\zÂåÿ_Öt”ÍØ×ˆIn–!eø})ÂËÓTz6Ê| U¨4‹8)=2D®%¬CÝ<õM#ö:ý±T;±qlhy´ëmMVšþŒ±´DËdÏ!ï/% }„ù E!ÿ÷­Ø‚´Yl‚Ætb1s”ö4Ã.»>>T^á´Ö•h5é¦È1Y]Öôuôpgy÷_›ðºî¯nF±ÃBO«Õ×£M(¨‰VÆØ¸€ÄaSŒàf’뜿°™~n•¹xÂÃÛˆ§M~<çõB³ò&Ññ™wFo *¼% ífè|Ò«Õ¯UÀ¦ÆìŶÂ/e\v«0c1è&gLˆtùìÙä'©YSð¼CšVäaÔw‘aâ°±—(1ʇ¥gQ:P¾:jNÁœy*ó¯°ýççL!fÍËÔ!Ö$_4Lh¦¤ÐÓÓð÷©?)+æ”/Þ%¾²> Ÿ7ªgYÈñÇGeÊöM:ã¢Ë¦>ÅN3ôÂÊGÁm‘‡%\¢èÆ5‹xÞ:¹|™”q˜ ÔÓÖh´m~¤ñŸÌ9f³¯`ë“Û¬O^Z£dù»Úëý^x_†HÍkÌ(³›dëÏþÙ +„¦´$éDQÏ?h%ÄX‡YûØÐi0@Ò*ÉiR< YT7žš½ï#ÿ¾ÿ®Ä°5Ô³¶ÍPëÄÜñÇ^ŠlƒD‡ÒœL¬×{‰´Rq]õ]Mí3¯ž_ÙÁôñwT -Ä©¹ }ã%ä&~‹ ‘ á^'ØK¼ªÀ©A²'sç²úz¨ƒ:Ð[Ó|M¹ù„§w”Œ‹ª‘zi¤Ê7ó|é„ÓÍ›{1‚XÚÖß»ã8ý—ߘCAî}rîPÔÛŒ¾u¢¦þÙKâb››Ïiû™?šãLG²ÅÒÓÕ×þjøñ0·UJɢТÑ8[Ï{ÅX)¿`"‚,‡×—äÖ{êð~ ùû+ïÃd1Y¤:[ÃĤͰ“Âú•–Ù\f³WùT7Ï%¦Wñf˜‰¡XW´Á›¡üY×8¨+Íø³¹ÏòŒwiQƒ¬´\,÷õOÏ‚ ¨2MËLÓ4ÀäŸt£ÄWRÔiKÆ6ÿ¨ú“$J™‚Eõólw(yÁ˘ÂNów½%¥½L×é½Q8”3wÝ6Um¨Ñ ùñÑO\¼ƒRÕ×Ó£^„O—¤¯[Mîüº‚ä½ß³òÁ®€þ'àvž»üÙÉœLq| f”á˜>Ás‡®òÌIœÅAêLá ?—Au:Ûl²•5×vŠk{þ þA%Ù&h7æ–…èo"&ãz.>=ùŽB$ñÉ>˯ ¹m&¼p§ö˜ØsÛg$k÷*ª);«Hyž@¡ÏQù´àyë½ïS:Èa‹Ãìê}W›™ £¡Ál•V2Q— šIÏ\¦FJ!¾»“bO©ÿŒœÍåðÏUØB,4¢×%gl*û §Æ[G½ßä -vVbp’ é™hâ0K´F-¬kÎü÷ò£ÝŒ71G#³¥&o¥çN¢džàš­W Q¬DHÞ„¾ …*A†Ë<ÒÅêÂ9¿'J\ ½®‹mQUnÒœÆË‚î³Ö÷Q¼ñˆKÈ¥¬û¾ÕÌ×g0{™ÙŠÉ6Oð¾õmçR8h•Y˜SÈ“XøI^¹îK4,þv (G¥­O}LÒ'ÎÍÝ/Ò%ºÎß—²þ :t4P91’Êo+[\G× §øIO'k¿Ú¶l]ý]¡/Wü.fkP–ÒÍ9ðt¤Ø.KÆs!€)ü™¹¦XgáÐ÷u×bH®fé”3u^åiZ†FÏÒøo¼ˆÊîP€VéY.úèá*‹‰(@¦àûáß@„*2‰*ÐvÖositÍ„rÏÚ I¼Çò[˜CN¾½þÜÇ ô(ϵÏXËÈ ù£­__È¥X›9D謱ŠãÓ뇾Q˜-8ÑùBÐ|:‚ÿ˜àïU G$‡ûÃLV"ÍèB˜Ø‹Óùça1Ò¢Îõ­ËýêoŒ±›Ÿ­*Þ“Rò„Þ¥‘%Q^Mã“4šÒ^Á\úyñ&@ð•Z«Ï©µÊâ·1›¢C;¡äœb§s¼Ùà6 Ý·¹È–9jßì)S zL;‡K>`*i0MV7Á®€ÆéS¹øböz]5PäÚÈÉ«/ƒV–;|ÞNþ¼|õ‚¡õ©˜ôÅN?©öµò©Ñåõ—Ь ÞC 믗ÅIìeÌ uCQØœ- Ïû:Ãá:ä²õ¯J“‹ö®z<€UÝõse–7ÁHæ•ÁÃw™dF»•áÕƒ”’õZÔ}(ô†P™¿ËŽA·¤ýÖ¢“™  •â¹s=³rô9ÑÿðdJ»™Æ´õ3·K‡:v¿À)EI!‡´%;Ï%’ªÞžZÞºûé8Üøì÷ô£¬óé¦X¯eyY!½šrµ²9¥‚Íhvrâd璉ºªU†¼ŒÛ§,†@•œiJV4úþƒú}Î;÷ŠÍ(7»ÒÒ+‡Åx]v{×¶¡[¢‹_*]^©DÂÀ£€Ã÷ °;ŒüJåè/'k°ƒÄŠ“ã[I°=UÒ.H[7̸Ôm´ hÒaa"ëŸ-=wI±¼âåMâ²5|¿Uçü™ôÔ«äéÎÔ\<-£•AvšžsüWþŽû²PUf^úµ.½Aõ3Þ7ŧòƒ”¦ûú@š3ÜTúdyñ¾ïÁ=ßÏt0¢iXäÅxyY’{ˆ x 4ëmdÔpœÁaœfª+ÐYªG.·Ì–Ö#]×§~CÝVßÖÉS[C•–Õn•À¾ QMþXôëýlð¤Ç·÷Gæq uÏ|+&!ƒ"Ñ)1)ŠtÞ¦Õs >,ú÷vLÂÒ®WÝðÛÚtÖ°zšlo@c6ìÿVy’Ľ[2Éʪ‘•_4¬^y—/Võ¤Yf­ÿti»Ðºõ™6ìØ·Ò Ü²ƒˆÕè§4kiíîëÓ\×U¥|ÝÐwR`¼âˆ¥q­øÁ/q˜‰äI’#ºÊ¥ZбË8}Åü¾A‚ç>ÊP/º¶óD`L iÜM£ŸÕ¢½¸Û—íC±žÖ“‹géEž—'øÓõ:‘3 |ÃËöÇq)„!-~P}Žn9MõÔ§€]¤Q³‚h¦¶²åÉJ’5Ê1§7.¦0Ì\Êàh»Ú¬80 ‘“}#¹A7Z^ý|%š`™FCÛÎ6$/ÅjhûËq…y2¨—hNúôtµrž·v¬nJ/­D^Œµ›1S½e¸Æ—­:K]ãç»[eÑÿXpÝÚ}Õ§ðúù5|Z×½OèÖzAð’ôê0­7`*MRP ÜGžôу7 ¿pÖÀ öà… Waæ·ðtœ¼‰J¥º/YÎÔ*³žµS?—Cuã.F-5K*4˜ÓA6DgÍâÿ…7ûe¶´É„†/ÎZtcaV1úÏÌ›œù7M2Í ÔGèva ÂÃFþ ¼ØÃ»|©:&Fù¹2¼J¸TöSÀ´(xt»$„O+TÖišT;ò¢œf36âPTÝË}uoäÝ€ç¨)gqEvôSWï8§;fæ°bjäSJhº»Ò‰X‘gåt? çö§·‘1~eOCí­¦õw{K³¬4K©.ûè˜éš ¯ÏŸ¤I¥q˜d¬Û`Î NuXo®ï ‰âõ,ň·Õîö¼j”µcG:+R 5CøîÚJ Fg J@§øêÜðß@ âßϺ®›ò7òÇ@*ç“G[•ÊosÅü(Wç—Ø°5í¸$ŸÚ.ä ¡Ä–Ò0ÜK Tóº·AMÛä=ï#ñ¾Z¸×œf·éõ ´ø¼Ñƒ¥ÔµdAÍ7Î, „.l&—V=dî·ú£-YPyêkCe#›$c¼¶žG!=}Ý&mL#‘8YÏ&–CŠéΤ‡ÏÍ€\¼Q·¼ÂP&á\(2hGISËú]šÒº°a¹w×Rc@ü3›žWM l…lÌÅŒšÏ^¯ºØ˜=èI X}š~CXµA¦?ÿ±YÿYv…÷j÷õµš^ÒÁ¯„ ¹I¼oo¼âîZáBZìÿœ9Æ-§Š,EýLߥÔãíñ:“]g6Î(,Jc¸´&2ù5ô@wÑ1äSãÈŒˆå¡­šÞ´oõF‡.°Yž€]&f->¿_=å•'Œ/™²¾¤Ù£Ê0„Ùâ[{:(¦€I©0:hå3;%—<œr¦â±ÏŠ5mÈÂÖòí2be7"™RÖ›AhE֌٠«^¢×µi£3 M9­gòã7›±¹‘Ÿ(øY󿀅ŠYÛ¼ÚQiùÉz¯50ðÓ}áHßù‰ì¸ÔLÕhɱOO©éÜÓl;y@ƒKää/ª4{ ÝЮ72çct e–Á|áE›#°ïDëµ#—'o²À¬Ê·e—{Ó×u×ÚãAÓT嵡üÐP–Á-!È$2½Ý5[壉ü}J3.#®ëñ7Än[PÁ,ª‰þÌʼÙXÔÃùXŸ¶C€@Aýš}+,ã“ÛÄzñ.{|⃠D(À%h0õï¿ÿnÑÈRêîÕë{?ï¿L>Í */VF”ì×OCó>QÎ)—]kЈ,†e·êWU]Ž+ŸÊ-ag†`ýÛ}Íóúv»é°y²_ÒVr_HÄ ¤Ï芡ˆàKƒAo)/k“*{yi7ᎶRë^y‹¡üC\œ³{{Î8–21~sö’@ú­ß'%·3CÚÏìÛÜу÷·¯Shij™ò‰­É7AsМm ÅA©8]’’\òÔi>¿ÞD»†ì®‘JÇfŸëÖb¾0é]Þtz¬•%*ÞjcT9¬‰áŒ£3—I"hDÀlÎ.“ÑžÒÍ“Ê:Ê ‘“° úËÝ0ÜÀ w•_dÜg-3Bˆ@£=q¯Ïuj‰ÊÙrQòÑ?aúmn€„M&ö¸ÆrèùW S€]G—¨ö$;±ïäa£ïê' ª÷摎)@¦¬‡ÜÇ%î¹mk¶Ùd õ {ØçËOuý^(FÎZ¦á€C*l3‹—oo´ÅŒáïJ_*XºÆû|ó›—NÂɼõ&]N†ß ºfBgFƒs“ÂQ´n©÷õÑ¡ÒéÌH,”´§NÍ¿Ë8ëØe`]ýñÏ.N@A çÉôhæP‰ï€»¯(&®hCz˜ß*•<åÀìŠ¿Š¿s…ä_%?ö!É6›b:cÿ‘•¼çøNüœÒ³A›Ã¿d¼ý8“íJåÌ9bòͤ{Œš&žâ§ÙuÑ”?ðªÒ1áYÊUi‡ùÍ(y0ˆ,¯¨¥ Æ †ÔQgIÁd†º ¾†š+·é}kKP¦2ýÄìD-“\ðeVý«–žÿ @ºmWÐ æô-ñÿøLû/P,šÑþ7˜uR{âÉ_2§©#½ú‘ñuÉD'¸ÔŸ Љ5a²P¥äý¬!¥—U‹.ô¤-í3ÅÊ!6Ø·†_ŠÝÒýNÉÛëÉ !±ÕDfé”FÌHÄ ïò*­CÿÆsö]ÚÒ¤Ê ˨aòEÊÛE´vw<™¿‘€õä2¨C…gï´„¢sX¿³-M3or³qsfßeÛ5ÂË‹«l%ÞX’^¢8c@Š?Òybß(fpƒ~’Ûë€ 7Ç›a*ãM®²®«4å|Î<ÁODÈÕ+è ­^ÍtAû+à'ÚoÆ—ÁXðû|#wt%¡vÓØ$ÇYºå.]àiòezŠ/ÖÌË$xOlÊ€št6ÌÖ®Š+ šoð^MŽ)®~°^}DÆÏâ0}Ï~1“˜¬æ#Þ°ÑЄ_3BÀ‘D9•ǺUÛ[Ÿ,¥Rh)'A,Ÿ]–P}G ðD8™\ü*Z…ê”%i«¡ÿkF€²ü—ÝMYûø7Ó¨ øfàÆV0G«j“5˜Ôª)SÈr¥=hða©6=²Lö;/aÂþçè‘7GKTu&¤âðöð)-âMDO:ƒDÀ Ñ-´©_Ðq¦CÌɉ×sºôÙ|Ƶ–çÍúÖf¤sÉþã°Ã…[8¯œrCn\šwÛÝÕ®xÝèu,ª¤Ãô¼e¼òVÃÓ:Cwò€MjÎW&® Õ‹mUI?¶«x5ô6Ÿ”,jðÒ—x^º O_|õ]è’8™7ôUdYšéV>ŽÝŠn–P0øFaNF÷0vìc8ò`ÍIŠâíd™vª›)ÛÇEfÂp5È'AL˜ ØÀRålT’F6»<¢ÿÞ$—ž¿þ^ƒ¾ÖÆA  ‡UEÇxoJ „PwáûµB¿ÄT•ŠÑËhéä ‘ëªJ1;lŸ§øö\Æø™È”Ñ»‰ùûZ„ÅÍZ?Œß­~HÖºÚÍp2ô íêh¯¬±d28íjjë.ªWÿœÞšfWVs•bâŽ$Ïâñ]&P¢'žåÇGPªm¼³d·BâÅÛ˜κ‡¡–ù$¶Ò¨’ê§Ïèå%€· þìwõ0VN ³wÝV~¤‚àïJ÷MI"äÚñßVU`[ï‚QÔ_ôCh†óäfhûÒæfÅJÂp,w’™â ·ø—EئÛ4[Zﯧσ쵂±Ì̾—‹;º4ãŽn,LA5H¤—Ûd´€¡ï¾ó| †^Ü0?cel6aÇóŠu<â®+·Œ|½Ð,`67G Œ¢í!9fe¸ìh.=!ì´úÑÒ‘;¡b{E7{8§sÒ·Q‚:ç½ÃׯÈ9tḞÐB âˆî.°r9<¥ì*L3 ]Àœ¯½ˆuŒ¿ê?)%L­ßI¸üeìjªÀVÀŸ'¨\ÝþšŽïg†Ù!|é«¿Ms]WûnUóîðó„|›:J«E£RrkÌ_ûÆ®@sÄß­¨Ý"'ϸ‘‡ ¾”½SÔÕ\´|øÑ Fsþ£DôA:ìÛ§úQ7¼ðJ(r¡ƒŽ–®äy™]»è1õ®ó/!@ 6Œí¤ÊãêaH\iÓ?y€¨8H<Ö}Êl²XK&e†­Pÿy§‘a@šeª"æbuT‰UÈp¥0?cÂ0."þøv]žÚŸ‚9Óíd[8©äÉ#Oµ$£02º8&˜FñÞÑÍ1¬a ´ŠNoÝs† ñ³ñŠx>Jx¥“Ë,Õ p{ýhDw3&þé„QS ¶ú ´_Zºú<è Þ^ G磜Ôðq ©OWöžbÐ(9bß±Þ=ÀÖ^¨Ô´4ªÃbQxô rô-+Ë·z°;©0Õ6ãF™ ¤V¯ü‡üùÏu•L§½VÄ[§Ô±a8ŒÉ‰÷ZÐQ<§àáëdÇ& ™lËBFPŸ/ˆ€–hÑû¾‚áí±Rp+ÇoöŸ^yxMé9…É×îQ…çu‹´Ô¼¾ } S ‚àaP™,ëó¹÷Í¥xÚçFbús–‰{«Œ‰g‘‚ÖÙ½ç&óÁsɰGíÿe&úèORÂÚ!¤„°¦cø™ØÇ€ñƒ™å‚b?wAB"æmþ 4ÙsÔ° ÇÿoØz]ì'dÜøáz›Z v>IØ8¹[€}dú‚Š­^Á¶{@—¦ØV7YÀBtÈ$¿ˆ3=yE× "¬)nYwBjÓ’ï”…9ÏÙ>“Ÿ¤Ó^%‚ˆ‰&lvÉÅî‚BlôÃÜ Æ|«µ"ªV‰L›kŸìfey Ã=pºÁÄx»_cP[ÆÊŠêçÞ­/ ˜{l}ÇÚ5x0é°ÆFÿù~£©É¦˜¢}ÛŦö28Ë!Wj9r¸’Vc¦žÜçWð®g¨ªòT¾®-{wMY"cü×H1¤MYe…n Îõp`i1¡ï±€¤d¸Ð©¾Ñć—ŒÛýÈ1k~ÊÌ0|sC¸óp¬˜0ôM—,è,=ú€…f¾ ÞµD7,àèw ýhö= GôN)^!~ +ºŒ$QßñáDÝÒÚ¨8sòó_¤üIóØÖ¾®Ï8?Ž~Ìf&©üOÈ”¼ä;òÝ*Urà%¾€ôBã³örõŽƒ“Oû€ƒÌ„ ­ˆ»õê–ËJ"aÄu“!½ßº5r…ü‹S3]îñ¸ógÌFØÐ õb *¢ yÚ4Š~}Éá~uÿ¨I­â켉ÐMÒ—LGÏE “¡‹‘Ó²¡uìòhÂæu*#5÷85 òšÅB[(ë_ÉJ‡±PŠ×_jÀêä£6CsÑ|§.ÀÇêÍ¥°³1„º.•xc»ˆù8Ýš€šïŠN.š}º$~ÌNµ)ÌŒ¢zè rÔì}£(æ:`Ò*»’6òóšð»¤Å†Ô3ùç¾€Pé&öU»£1Ãu_ßs¼{¤õ´¡Â.©øW;«Ø åAhÉîæö ׆»„¸ Zò{…©&°à™uâ=2±•&rßéÛû}®ëú'7¾å½¼}“åPù&fbv×ïyÞoûf4Æ› ·• æØëyú»1C+ÄÕ½&-ªëñš˜;A¼V&<1:ð†2®M×0 <Š·4e¶qrYkµuÜàƒf2!ÁÖÏ+¹œ¡ÄŠÆIÿ{È–°?À£¸B}tò¨†Ìüðâù´ÁÞ ƒNÃÊ®rÒçÕÍ7ÅG¡Â%”beä·h/l#ôYó}g4›°1e“ĸ!å£Ï»û7ÓJJpè¤nd£25T[¶çÑ8.:b&#¡z½qK_"½xU6nq:T -ܼ§ÁÇ_Ù§„ïüãQ†©îp'àÔî.ϲÓD4E­5³VÃÒçZ4hÛÚ³õ§ óépzA˜°8I k£‡ÿ"E{Áκ‚yJ!š0/øXQ¿‘º”¢ýÇþ­í5cé;J‹ã=‘ÎÄâ|,U¶¦!xÎ @±‡JD8´dõLº”!„°»Œïîf¸„æPÈ®2ëg›Q`Yqã y1&îz7¦'ÑŸº•Å Äi )3*_F¡FSØØ5ýƒó‹×%•µ‰Ò£—1~ à‘·Q»åQC?˜e,È¡Yk[IÒ‘.“]|Þ¸? m2‡¹ô/ß™¾¸²e­c’”Ô¼3mÙaÒAC^´˜Š­Ò‘loܧ]1•‰¬µÒ04;ˆòÀ2Qò÷jsÕ2Å·ìkMXê˜Í}^3Vž9+ý† ÎDiÆœ<¾mU)æ`vÜ€d0‘kAzÇþùr൶ّ'ê`X3:Ê"ŠˆüóÏ?ã%i‰õÒŒ*{¢Ü…ÛöÓÝ›_ì\kç•ßWMò=œƒèÚOYƒ¿DQaÉëò¸‚÷zl…GM‘MÉYÎû‚éuÔ[©Ã‡!h*ò%¼Û+`w»ˆ\" FÂæ«²üŠE;¦ºëŠe‡ol”¯E'‚ûi =H,§ÄPðo.D8àb¤ÔžjQYQæÌlÄÍ-ëÿF]E$¬¹yÑ$UÐ鱆ŽÍ†?î ‘óp¯\mƒY$¯j‚üJ¯ÇqLMÎg’ ðøµ?þç ÂAÁG û¬ÓŸÖ­ýê@'Ú»*ÄR»oa,í+¦E½“·L$ÒWÌØÝˆÐ®·æy§’v§!k@¹òÒÉhf8tZ–5<0Œõ‚´ácaøQCPø´J¦ÑFšÚaíØx>ÄpÍÈE¿àZsK”•Ræ ià žÆ8€}å¤;*2ËýbèxýÇIš–¤2Yø>€ë4"%›Ÿ¬Ïß÷m,]ˆ×6D›sÊ»›7‡ê<}=Ö‘UƒC_jEE·c€PËxÁdfJo…ׯX9ç ¤Š¿ËëáJŠ[Šù{Ó'7oÁ ì¬yNT<›Ç¡;.[†æŠ ŒÜV¶ÕuËÙp~>a‡iŒÝ®©V e‚—I Æ”ÍÅ ¡psˆ¸ó®ÏËì¢óE3ì…¶q­e+¦ƒ¿;â¾å ˜’NLr2¨¡mÏSF~ñzGX‹“ô–ЩžÄ'ýC•û 0}2=s÷A‰˜n(jÂÍ’5l@$œB˜M¡çÛÉ–9šÑk’všŠ* RáK*Ëõ·A^‰cT·Z-Þ.]F±œéU|±¢¿#Á؇’ï“9LFŽŸwüÙ‚®­6E‡ —aÖÎòE{ƒüÄBe ¨³¿Œ MÈ—aú}eމAhvÕŒ,?¿á‹ßvþŸá‘»Èûï¿}ØÐnž¨“µiCB½tqAÊlùûÆõf#7Ùfœ+&k÷6ïhÙ¨æÉ;ø†ÒªÝ0c–“BŒÙÊøÈÓâÞ’ŠÈæØá5gmÔÉš$ù“%ê8ÕAf-ZÓã_—uìˆÑx‘¦{«,&LašÐ±ƒ-‘=i6‘Ü5ttÔÏ“ª6Wtëc@š&q6ÜãÑ–´T¢WQØ·ÛJU¤™Æf-ºÛ5}äÔ‹­á¡÷(Ký¿x£u ™6µhÊ_@ãÅ T<ÑêskE²Õ0LåÛDÈo1L<…é÷ZYzÎ8»¤hù¾ BUÙ:4¦ uð¡ðG?,r/|ϾÄiG$Á,Yƒæ±s¥g@Û´ZØ l9Íx)sÖõƒH'í]å̽2>¢u’(}˜« úE5¹OðÆpÃ[lô@¹Ñ ÛΰcÅ9ee>óXC@*×0aÊ—“ü@׿|~æUzØaîré]HmŠ·l¼"öIn­`°eŒ¶N]M{.¤ “ekêØgT-nqáH„õBU­ýj£'®E9A¡ Lŵ)6ŰÍPʬç\ÿ®M¶C“|iòtQý›b‹9l+«¬°9Ùû¼ÇØãzùY¦º½­¹öp*–±ï K4„óDœéìL} zöåš.-N›IQ\ÕYQxZÁDéÈÊ5dotKämJM60,çóÌê–+U‚3P­­ò´q£ª1ËB\žÅìi •¾¦yuõ…AYä/Ÿˆ5¢7>Ö¦^”†{¤95¤Ùs5ÆÏïë`}a¼²áOwù&ËÉs;wÄŠÖèe‹µµªm(˜€ØI×D)â¶²Ë'èà‡¹Aõz@8©0óA)ó-ç_ P ðÌG,LÀz¶ÝKвº%µ{&NÒÛr>lÅdˆÎñ{®}òVLøÑ#ˆŒ°n<ÈþÜyU UÁ@kxà!–à½Âzþ²n~'šC…¦Tx¼~Zo(yŠzM^»ßÒKÊ.þL®pzªt¦Ej'Í•sc)h´]N"óJÜGü™—+ä4!p úgÄA„ò[Zt½ 9x‚`Öbzü•×ßõ=ü°ÚsÌÁ÷·jèJ‹ v31Èr„¦gÙK({‰»Ë}Ý]º §ÞZQÕŸzïHý~ÞWЮܷ1{(Dgƒ&ÿˆ¨ÑÚJå Áûõ6wÙK•<úºšóÕÔp:@îûêùšJŸ5å×&8¿,I±Ê.¬z2aÊðC_×FhÂI9ŠòQëœáŸT›¯E’N ½‚šØ»! BÍÊøÌ©4¨\mÒ0°Ë•ü‘AÙ’àô™Ì|õBn¸×jržÖÄ;§Ýp#FC· óå3ËR¨}Üͪíɉ|k’8=èÏ;•m‹QhIZ}Ÿ‡§u6õ&pcD—µö-ÊÂp@‘–E_ïö.x{ ¢ÑR]-ˆ:ˆ-ô•Ç\ÞØ!5°Ô Âÿ~.% kÚþt&…á àŒð¨,A¢QdÓ½ººx£ƒœp > Ú1èFQ‹VÑøÖvf..LD—úæºè×!{¶NeãA¥ v¸jÓ- ñêÍ94ûÔu!DoËIcƒÅÇòA„L£îôªÍ\E÷²~^œ¤3”€ÀOø¤Ú$g­ó%» 5ÞŒÉVÖ½/ñ 哪ø¢‡tK¿N L¿Rb0‹èR‚¹|Æ7j$«¼\ü'³·ç0ˆföCüÃÅ3Íü PÂT|«¤˜vŒ=¬ÝnÙ©Øa¡œ@Ã6Q‡•Éi)}pƒ¦Ñ˜Tˆ8<Ë)-qÀálâÿo VÔ†.œ€¯2C¨ßÓûf/eä­¶èf6‚¡F9&AiO ÿƈ+3 {žoêœ7H|â¹88”øl–yX öI]÷nx!sðì§IÒën´PíC­27ƃod.„Œ™8ë`í?O¼DæUîXOÞW5¶ÏûÔ‰ž¥íRix2JÌbå|b Kž°Hi P¡E û{4›¶D8ÙÊ›¥°³•÷P)&gIu‰S¹ac˜§ÒÙ†ÄÝ»¯âj½ï+ñ¾ßÉ:"XRßñ8'äfO“p¨é½Üy¿ÙÌû˜Áª¸Éì;çÁ%Þ¼2œAšS3s—pv¹Ft'–h£‰ÜD=С’oÜ9AçĊ{'hn*¬É«×Ül˜‰N♓ö–•/ˆlËE¸S&Ì׃e‹ÏW‹Äd\H(ûH‰¾„ùãÍ8ƒY«Ìrf3ŒÂÕ׬嶫JÅ}SHYÑÈjŽK•W#à%ÑNšZ²ûဲ_$8NFÛ¨:€×u5Œ§yŠaIÈðpk>¶wÊñ€ÔlBýLñ9°º›Î‰prù€†o …mC›˜¸æ+o‡uœwtªK±w‹èúHü= \u%"—a¸¬ùrÒ =4…A#ß®»jÆM n-÷EoSš²'bSÚ¡?ûi½µi'ÁAÂ(Æ”öÔw®¾c¤°òÌTŒÎA ßr…ì€yEFsL óö}ž·û®õÆ|i•›.í[y㚥Ç-SÔ æ: uü‘[Y)ÉBàt0ÓµQ@Û]JÁ-|ç-¡u‹Ù­À}ëX=œÅêT»÷»¯{«X Æ… ÔìÁ¦NÄ‘3™Ú´AûÝ'“›£çvñ±á9ýå@0e“Šü*p¹[ eÚ¤&û}^1±ïêp-;\+ê…¢áE°í!ÜFCC6Bù9°&.S¸±J|œš5¸ô¦¯(ú.¹i^æ†õØJ1 ȱC`Üx›(Å MËxˆÒ¼8çif¥útXTaL+ëb”ò\ðøéús+Ü8±†mÌáD?í4vâÖG]ò% nõ&!ftÈXë?pz<~·âK Ûûô}sîêýüyøbú¼£¶<:u97×BWÖ}¸ûVê„´X´Fè«F|ËÍ]؃vý³´§®ëó–¯v}VŒBqŸ~5¶¥M€F¾¾ôÌ Ü’qàsÉÌjDÉp#Ù¥p3 þŒTâ9 Ϙ+$¤Õ y`ŒFÖà¹C½š7õî ·(V $€_æýÚÊ$ãØ·{SqJÿa»™lŠp¯£Ìy´k}Mw"}ÐõïŨ ÂIDATùìÎ3÷§f)lÛ2æ—FÈ`£üm:N¡RQ; (©8‹\æÃ1½q§Î¼þ92A ^N½¹AL=!,±[~Ò”©¦ Ÿ†Sµêª;7°Q+Ö}“wÆ‘¤ÙÖE† ó·ÿJ =gÈÿàŒ'Z–lm'¸èóEë(ma¢øÍíñ¾jèF¤h¨˜½Z«% zí~½ý>¯²tèöU½’±·@ ¦p]¸±ÔaöÑÃÈïþÕ,#ãÞw£¬×_ø{n„ðæDí °¹Yá!ïr‡Þe9Š>™ÈuÊ]¦AltO—£Nd7Ûø ƒÁâ˜å+ÄÑ}bCé¦á¨ì¯Ê‰’MÂ\ûúÃñ£J·-R¦åü{e$]Œ´O{æùöî°,¹ÀP¡¼®Êsô/…–‘ N•‹2V€ ¦Á°Ï~Õo ,{S–vâŽR(FÝHÅ-€gÌ&ˆZôUœ¿RÆxËÆöw^Z"© Ò€¸¨Xó-Ñ{çÅD×ç,¸†µ¾T†E¸V‰bÀÇÒš¯Iºo§s€T¶éêhç w½ìðÝ4^cÒ$<ºlÔ9èÎÔ;;´'ÜŒNøðNòæðÕÔêÌØ¼z{y`Ÿ+å ûg€£‘V³;µ„O*[ÏFl8øQ y)Û˜ÔÿsýS4iÅágzó¦›wÁ–1¨ ù`´¿ág®"Õ;å¤å«;`V°þ7éæ¶tâT^FÞ®6™™•fÝ/‰s,R ä2åECI‹SâWe{§%×Lj¢ÒóÊ<ÑÍGs\íèú+%û^`ƒ]ó-”à»ð»ŒÜ€|«t¾龨U¿Ó•¿ô°÷}Ê?— »…6ú÷#yÒÖôðžÞ†òÿNn®Å®ð¢M{”Í [yz#ñ)¾@}˜é§ã}m wáTtÄòÓ¥¢èF¿Ë1zÕzJì?´¯d»§¾©Ô•ËÆœM,ý¾úgGŸru²;£7† F¯¶ò|½û.äÍ”ò«Ô™éXHÖºR†œƒN'zìsíBâÖàð v`,·šƒo‚7"Pë–®ét± ¾cp„éä¯ÄH•™Â ‚°³oŒÕó¿|›Ý$gƒg_óÓæÍÞ­_ëÏaHɧS-X#q8o>+c¦Ëk–<À6æìú ÙGÞÚ¹p«DÂhï[!Á›øìÙn­U¾ƒëÿôƒ.i3FJ½‰,˜‹WNtÖÎ1Xš†¸'ê¨5÷Á¥ªÓv)x&û÷Òape<ê"ç<ß@çó ¬Œóô?¡<OAùrP+ð7_=ýe:a‚z³ð6’vöb%ºF-¨J$.•u¸Ì_gµäti¯Û4ÉžUyß"f2HP¦Ê¦þ’»#Ú9<9šXG‘=+E@/­FõŸï.ÄÞ‡|{°dí@·´pDƲ²,q6Ät«IײcÄëY¥A~Ùˆ¼6£¨ò™KVå0,t>B ºƒk1‡yduŠ' o!Ù A+Ꙇ[Yær¤#îÞ ŒäšYsÆ”#æÌ.pµW)Ÿh•œ¸a©‡\×õ#h§•(ênÓ⟺qvDml1~÷§56車äÜÊ œ·ÐMb˜èå3¹ gyß·úˆDÍ2¡–OÐQWý÷1™Ï‹sXâ·ã¤} Ô@¼eXíQÊ6ÏÉ?Ì4R›œu°¨ã—?–Ž /cˆŠ„ó4®Õxé´{šLuö˜Œ†Ä–_XYÛÏ;ˆj±†t:&ï~˜gè—*PÌÒD6UŽG§±Ž8:¬žÆ×IÛÇ2@sždòy—ͤ+Ð;¢#ÿ†îM9^¹Å; ŸQ§ó„¥=6³8ûÐán(մϯAÄBö”Lþ¤ä)Íê„ß ÂËÓûa¹„€i¨Bó”|YÍy[ŸÞ³uo¦kÌê?Ó¹¶ol!‹×ÃT¢Gç]¬Êd‘z¸¨î‰MÌK,V¤<ødf E¸%‚w¡±„7?Ìî…¡Ôª­Ó¬®éßb¹lMדucÝ×ÝsZ¤ž–!B;ÜgTr¬;Ë®ùÕhAÆ ¾±d™Æ²L ñ¡Zä2ËJÇQ¤SÈ=¬$LžÚ êàþuÄ‹'“Ûú‡lëiA¿^ŠVvš7×ÐðY!ÒZžwI&¢ý®k¥èz¹»·¦[•qïg÷j¬5“OÕ<ž–pž¢T倘˜mFªÊ‹U›’â=Ä*¾Ö‚æTµo5dQVÔ”~Öu¬˜¾ÅÝ!YÙ|ÂÄv é f}‡A…ìZ_BAÁ¤Ë:IðsòóÔÁóúŒœ½´Yåx³ î%¦¤ý¥üŽ×ýÄ £¹R-¥+Šîÿt0ű—±²êÀ`?;RVVÒ–ƒE[¶E“ Dþ ¥‚e•AÆ"òÿRºúŒ÷î¶IEND®B`‚./chessx-1.3.2/data/themes/boards/brazilwood.png000644 000765 000024 00000301042 12042321450 021243 0ustar00nistaff000000 000000 ‰PNG  IHDR @;üw AiCCPICC ProfileH –wTSهϽ7½Ð" %ôz Ò;HQ‰I€P†„&vDF)VdTÀG‡"cE ƒ‚b× òPÆÁQDEåÝŒk ï­5óÞšýÇYßÙç·×Ùgï}׺Pü‚ÂtX€4¡XîëÁ\ËÄ÷XÀáffGøDÔü½=™™¨HƳöî.€d»Û,¿P&sÖÿ‘"7C$ EÕ6<~&å”S³Å2ÿÊô•)2†12¡ ¢¬"ãįlö§æ+»É˜—&ä¡Yμ4žŒ»PÞš%ᣌ¡\˜%àg£|e½TIšå÷(ÓÓøœL0™_Ìç&¡l‰2Eî‰ò”Ä9¼r‹ù9hžx¦g䊉Ib¦טiåèÈfúñ³Sùb1+”ÃMáˆxLÏô´ Ž0€¯o–E%Ym™h‘í­ííYÖæhù¿Ùß~Sý=ÈzûUñ&ìÏžAŒžYßlì¬/½ö$Z›³¾•U´m@åá¬Oï ò´Þœó†l^’Äâ ' ‹ììlsŸk.+è7ûŸ‚oÊ¿†9÷™ËîûV;¦?#I3eE妧¦KDÌÌ —Ïdý÷ÿãÀ9iÍÉÃ,œŸÀñ…èUQè” „‰h»…Ø A1ØvƒjpÔzÐN‚6p\WÀ p €G@ †ÁK0Þi‚ð¢Aª¤™BÖZyCAP8ÅC‰’@ùÐ&¨*ƒª¡CP=ô#tº]ƒú Ð 4ý}„˜Óa ض€Ù°;GÂËàDxœÀÛáJ¸>·Âáð,…_“@ÈÑFXñDBX$!k‘"¤©Eš¤¹H‘q䇡a˜Æã‡YŒábVaÖbJ0Õ˜c˜VLæ6f3ù‚¥bÕ±¦X'¬?v 6›-ÄV``[°—±Øaì;ÇÀâp~¸\2n5®·׌»€ëà á&ñx¼*Þï‚Ásðb|!¾ ߯¿' Zk‚!– $l$Tçý„Â4Q¨Ot"†yÄ\b)±ŽØA¼I&N“I†$R$)™´TIj"]&=&½!“É:dGrY@^O®$Ÿ _%’?P”(&OJEBÙN9J¹@y@yC¥R ¨nÔXª˜ºZO½D}J}/G“3—ó—ãÉ­“«‘k•ë—{%O”×—w—_.Ÿ'_!Jþ¦ü¸QÁ@ÁS£°V¡Fá´Â=…IEš¢•bˆbšb‰bƒâ5ÅQ%¼’’·O©@é°Ò%¥!BÓ¥yÒ¸´M´:ÚeÚ0G7¤ûÓ“éÅôè½ô e%e[å(ååå³ÊRÂ0`ø3R¥Œ“Œ»Œó4æ¹ÏãÏÛ6¯i^ÿ¼)•ù*n*|•"•f••ªLUoÕÕªmªOÔ0j&jajÙjûÕ.«Ï§ÏwžÏ_4ÿäü‡ê°º‰z¸újõÃê=ꓚ¾U—4Æ5šnšÉšåšç4Ç´hZ µZåZçµ^0•™îÌTf%³‹9¡­®í§-Ñ>¤Ý«=­c¨³Xg£N³Î]’.[7A·\·SwBOK/X/_¯Qï¡>QŸ­Ÿ¤¿G¿[ÊÀÐ Ú`‹A›Á¨¡Š¡¿aža£ác#ª‘«Ñ*£Z£;Æ8c¶qŠñ>ã[&°‰I’IÉMSØÔÞT`ºÏ´Ï kæh&4«5»Ç¢°ÜYY¬FÖ 9Ã<È|£y›ù+ =‹X‹Ý_,í,S-ë,Y)YXm´ê°úÃÚÄšk]c}džjãc³Î¦Ýæµ­©-ßv¿í};š]°Ý»N»Ïöö"û&û1=‡x‡½÷Øtv(»„}Õëèá¸ÎñŒã'{'±ÓI§ßYÎ)ΠΣ ðÔ-rÑqá¸r‘.d.Œ_xp¡ÔUÛ•ãZëúÌM×çvÄmÄÝØ=Ùý¸û+K‘G‹Ç”§“çÏ ^ˆ—¯W‘W¯·’÷bïjï§>:>‰>>¾v¾«}/øaýývúÝó×ðçú×ûO8¬ è ¤FV> 2 uÃÁÁ»‚/Ò_$\ÔBüCv…< 5 ]ús.,4¬&ìy¸Ux~xw-bEDCÄ»HÈÒÈG‹KwFÉGÅEÕGME{E—EK—X,Y³äFŒZŒ ¦={$vr©÷ÒÝK‡ãìâ ãî.3\–³ìÚrµå©ËÏ®_ÁYq*ßÿ‰©åL®ô_¹wåד»‡û’çÆ+çñ]øeü‘—„²„ÑD—Ä]‰cI®IIãOAµàu²_òä©””£)3©Ñ©Íi„´ø´ÓB%aа+]3='½/Ã4£0CºÊiÕîU¢@Ñ‘L(sYf»˜ŽþLõHŒ$›%ƒY ³j²ÞgGeŸÊQÌæôäšänËÉóÉû~5f5wug¾vþ†üÁ5îk­…Ö®\Û¹Nw]Áºáõ¾ëm mHÙðËFËeßnŠÞÔQ Q°¾`h³ïæÆB¹BQá½-Î[lÅllíÝf³­jÛ—"^ÑõbËâŠâO%Ü’ëßY}WùÝÌö„í½¥ö¥ûwàvwÜÝéºóX™bY^ÙЮà]­åÌò¢ò·»Wì¾Va[q`id´2¨²½J¯jGÕ§ê¤êšæ½ê{·íÚÇÛ׿ßmÓÅ>¼È÷Pk­AmÅaÜá¬ÃÏë¢êº¿g_DíHñ‘ÏG…G¥ÇÂuÕ;Ô×7¨7”6’ƱãqÇoýàõC{«éP3£¹ø8!9ñâÇøïž <ÙyŠ}ªé'ýŸö¶ÐZŠZ¡ÖÜÖ‰¶¤6i{L{ßé€ÓÎ-?›ÿ|ôŒö™š³ÊgKϑΜ›9Ÿw~òBÆ…ñ‹‰‡:Wt>º´äÒ®°®ÞË—¯^ñ¹r©Û½ûüU—«g®9];}}½í†ýÖ»ž–_ì~iéµïm½ép³ý–ã­Ž¾}çú]û/Þöº}åŽÿ‹úî.¾{ÿ^Ü=é}ÞýÑ©^?Ìz8ýhýcìã¢' O*žª?­ýÕø×f©½ôì ×`ϳˆg†¸C/ÿ•ù¯OÃÏ©Ï+F´FêG­GÏŒùŒÝz±ôÅðËŒ—Óã…¿)þ¶÷•Ñ«Ÿ~wû½gbÉÄðkÑë™?JÞ¨¾9úÖömçdèäÓwi獵ŠÞ«¾?öý¡ûcôÇ‘éìOøO•Ÿ?w| üòx&mfæß÷„óû2:Y~@IDATxDÝÙ’#É’­gL™Y{èsDøþoÁWá/yOv÷ª2ÿoYD5"‘p¸›©é¬jjæŽëÏÿçÿ|_^¿_Þÿ¾\ßïËýûËûu¹<ï×ËõçGï_—÷ß¿_.»Ün—Ûåq¹½5øãòº¾.ÏÇ_.Ûõrû㟗×ûãò~|»¼ûÞ™Ëå×ëòþõóò¾¾/×{}¼~ýö½±‚}ùuy½j{ÿíòºÝ/—?~^îu{5NÀ.¯`];¾^ëÖµÛåYû¹ßƒi„÷åùñ Þo NÝÞ}Á¸¿^®¿ÿ³¶÷Úü5|kóë÷Ëí#<¿=.×g€ÿò· Öçã÷èûq¹}Öëcïg¸ßåvÿvy†÷;zïÑvùõ½Ú?‚y¹<Â'D.ÁCæûú¬O.†ÿûû#ü#Þ—`‡Ãý/¿¼¾ýH}?~uîß— ¾<±ö_ñô~y}ÿ½îøýûï—ç3Þýö÷øÕpÑ|}Õï÷ÿî×NÞü Y¿o!G–>¢å²·dðzÖþÙùoÉHÿ÷õò19$‹“S´þh¬Æ¼]¿Eãëò_Þ?µ¿^Þø^ßÛ7Äìgt&Ã_áv5¸·®ÿúãòü½?þvyüø‰ñ ˜ï·öññŸÿ¾¼~þëòÿþ_ÿwÚ”å ï©Ãío|ßÇé[×",q(¥{ýq¹5xø×â ä×?"Þ`!Ñ`”fŠ3ÍMõÝÏúaÀ®}„ úè nýú]¡Øõ;XõЬ1ÓXƾ¦h;ÕGgtxN!çZpRÀ{ç®Á“¢‡‘ž„€±”RÓ˜p ¯}vˆìäÕ÷—ÀÞ‚}xdä>a§Õ›bôs§˜É'‰Òùý.Ú5.ýÝ5|¿ð$…¼Ïÿ ¾Öýß¡öôx¤õ%Ì;¾_¾ýø­þ?²•?jÏ :ñŒ6¥x§œ”qF ¯ã%‡Wðb\p~ ~ÆñôÓ‡á0>FÉðn,ù^Ó…¬{ðû/IѦàpŒJˆžû|%¸[íŸ3„ þ}Ëø\Î+­¬Ó3k憥ÀÐ:ãGŠ[·Ø>wž†Àê{Ħ}!Òþ{‡€ÿ CA(Nöçdg#öSys—õ5è¯àêAµ„£`µ¤0!t¸a1¥Q¯¬uùU7øt²Á†—1ï„âZ8])Cí§ÈÀÚkʃ¦àyó¬ÀÜKž n´t-Eìj4EE4ßjO˜< ®LÁÁ¨o_›bäñ>ŠŸðó)µ3FƒxÇG˜t„€Ø?G‘ü+ß÷Ú—*+C=ñ*4Ïù“bmû7KR8•Å~äÙ1Áž/Œ£=º¦l˜Ú¥Îè0Zò5ú_Æ ¼t:K §λη`< ÝK+PËk§4’“ˆðÿQ¾Dà»?¸ôóç¿/÷h½,“Ô¨WéÁ´LŠ:xwJ•Q#ñÆKŠtÞ¬ò{pv-œ&òCÜ»ÈWjq®%:ðF:S@“/žðÕ ŽS0íÌâ—l‡ çDQ¯R”ɬ–§[8­­Ñd<@Ý£­3N §ÚS^J>Œ2ÑŒP²qw>YE¥UÐüÑX˜ñúþ§AkÜw<†£É¹ÌVø­1QHÙ—„øR(¸hÏÉïF9y}¡›<“+˜¹ãa°^ßþ9BT*ždƒ/UAÄhÅ›w<½Õž¬U LF¥=SºÆ$—ë¯<ãh‡±?*¹PÊ4e 14W-‡>F!‚×™µDÈú\*°ÀºÉ­^Ʋ3‚"Ô•,¦ýØøQÁŽŽP„\°sËCô:kãÇ YóòÎÆŒ¼c÷'a˜pZòûÎ"÷½VÑòj†M´%O++°NŠ`Â@°/3¬þOJ‰‘ÂÅ<Ï+ÚŸÑ_»Ò?øQx$¥$å¡fÓãCx˜¸„[pÁîYè÷ý®í¿C5œ3À{åò{bó äMB«)x/¬â|•“–«u|d…FçNd˜Báki`@ãdíùÎyÛ¡/<¢Õù[È+•1r,¨gF²ôFÙj†_¿úâxþÉuÊÁþ¤C4ý•.œ‰`r›çm\)\„éó ½×…‚ ч<ª÷I"SL$¸DbnºÒ€!ðŒ³®…„×7}ê÷’ýÓG­OÛH£g½y@¾êjj†¯¼Þ™ñréZ£0KnåLyXÂZ. %Ê3&P’¼lÞW©àXPÌ/áYÄЉØÕ±Äˆ æä®)ʽ$~FœÚä·‚•àR’ˆëZ Hù)ÏbVÕï ¯4¦{9Ou±ð(•@‘Wž!8LJ3æ]^§éµP[!.:xµÄxZéF-®Bl)œóî"Ó£Ïgx&¶®×¹2ÌBó<`ø5†³¢›bš %¯ðšÁtiä ÅÎãLž(w´ÕˆítoןÉávãÍȱkR“°†÷<\4>“õÝd¯3n³ðêàÐw¼ƒÿÒ›®K¶é›«ÁèN<Íklˆ®„mLa}ÂÓ÷5Œ(ŠÂpL–ö…÷+¦w©¶»–g" ,‡Ûn€˜ÃC´ŒÑ”VÿM<ò¢§ÎgœŒS˜ÈS" X˜“¬ïgœ8;OxàÝ0‘µºãX4*\³@%#)Ãðå™2lÒ%±~üºR cõ9el2„ ßsÞÏW×ô¡Ô c‚ÆwÞ×L“% %&‚Žg-RÎÞðrÔxðX!7^Už¸7V$ÌPD˜W{eF]ès1øðˉ«ñš<§tÒtãB¸á[ìé“’åL:ÑVªª?ÏŠŸê´^5ïäAŒŸASâG“çÍúÄ€)Ö_åÈ,l:ÒŒY¾˜7r N¯µ¹þdAѼŠ=÷Kh×{‚1H!¶¼Œ¢$˜ŒªS%ÁUÌŸb•X±×JȽ– ‡Ýõ‘FNH dFE8ÉõX.øáˆA›e=ùEȽxÚ<qM£…–k¥—[ð6ƒŒ +Œ e,⦔/Ÿy'Ü67™ó6bê+z_ &Obu&i(ÎÖ=¸¯®-´B ÿªW×ñà´©(Ú’BŠm Ï0²ä:|„Ëfûf¡úâqÂÁ³Y'i¼÷¥|©~¹· œ[Ü€Ïf©±y^ _Vü 3ùYl|*`½»Î)¤èdmø.{‰ÀR] d Øg0X<œãÅœe ÎmšGªÍ`Ö)ÆÉ³—¯äZô›wŒH¸ÜÖ;ÿÌûr,«4þºÃÅø”b–"måª1D„1„ÎãBÿÆD6¶AÁš7’ß\L0æ×;F<.e±ðw)Eå™x³ÅN u1›^øj¬ÍNqGJ jyw <&œ NÇö¡Œ17@CðP[Þ¦ëŒ`ãó%Bxçp¹ëy'}»å¥^Wá¯c㥩o‰~øbèígLŠ`PÎÑÐõ…wB’r€üú¯õyQp4¡Ga]⾇†`e3Ú¢Š°® R£Þ!ºã%ÏÿÊ+äËãf¶ †Z(Eù³Ö·Èߥ0w•ß‹â„ãJk±®¢30Ñi’³TB¾Š¯ÜkKv§ÐSÆ nã•ÏS0‚‰?I% ¼ddv|&ŠŸ¼î þ©{ÓéLñ<µ³þ,~¼jg¡ãÑèY íäB ÖûsÌ㽑 Ñ}黤Ôë(F-Ê2±+†ÏC° L so†k:õÞŒ- aC=·Ý¥µ¥4§Mí2õ…ì@`u'Ї¡›Íjƒžü£èÓrÜÂʷƇx[?ÿu¹þŠçO ÍÁÚ²ägM^w–z<šºál">oI1£$ø8ÕH<…ïò/¤ÕK6¤oúÍ#äå›yt±è >ÖŒqž¾H@é•[^…0¡°á""˜ß38Ç€·&îp˜ÒE'þB–Ò‰l¼£8ž¥¾ð+ä5Ï›—÷Wa”‚Ê/gSÑB±¦< r nðnyz†!5X[$ñ®4”ÒÉ]E¥$z†:Ym9à± qÐ&pÏh,/8+Çe€P×YSDùU~×X}ÒjJϫΛ…ÔÉ9ÀÞ_u=ÝG<¥tÜú CVJ³VðMƒæÍxd å%`jP^&ÍU²¸”¯FEúœ"$øº ËhÖ²¯cÉûJ[®åzÚßä®ñR]”nÙPMJ”Q†¿Ô€×{üµfÇ£^îÿj üÍK¦”í"foÇñ1N„)¬H¡{¡µ+µË,j{Æßf“ÎŒÆÚM0ð Þƒ¶š#^¦[œÈqÜš±ßÂÓå–Sà)'`xÇã1†Ž0áùfœNàÕU9ᇆ›váUY„<\„´N[BJr÷åF‡8lI†5÷·üåt¹Zj‚rª˜HQ+%‰ùH›—Í2.%ÿ+_d<¦U Ó~Nç]VÇ _N"GœúÆè1¹ïr*ÐDæÕN“-=UÄææÓøni³€L _—cÚ½dVü²id³Óú­Ì‘™˜m†à->Ÿÿ¼|C‡<Ïl•2á{8ò4ï¼)!ÉU;Ûµ¼KÞWa×_á~è£>/³EÆûã/Ÿ7NYL4Æ]z£µ0l æÈdÅØñ}K“Â㫎‹{œ¥¬t/õ…ÛuÆ»P³sàw0¢b1'€aJ3ÉpiíÑæŽSûí*ê4¹/ÌGSÉEl '†Öµy>m‚+¤Œ¯rÖÇísµaá)ïY$çöÑ›‰®è”Bvú”u¦KŒ3¡…)qŒ½VTŽÃQ“çŒòë÷„Ávdˆ¯÷Çß o=7­åš$C²¯o»7Æyê†ù,+…p1Qè úvµ¶òHõ᪷•+šEÎ;ÁÃD¸,ŠR®>9åβ))¼xÿàÎ!R¸/¼˜±ÝÞmU‹YfÔ·ïؾWµú-§awk"…° §p͸„:r# TýËûîÊAá|VX~†6^†C|¿›Pþ𨟗ð}›aÿea[ªsùÙ{JÁµ wFƒpJ ~Å«NøÎCvîL`Ê#á°ˆUW<¨Ý»ØÈ Y1± f¹>~KŒ7s˜Wçë]{N)¥£;±c¬`žž\ÍBë¿™sý±5MØqBa’„ÜK¯Ð“˜Ë±ÏɳsLŠòÍd:~ÛD —¿v>+m»Fãtºï<܈Ìò7ë%ü-o©»æŠÉ­ž9dz4S”ÍÂ"2˜W^;JWç oË„ÏrH+8ïÞ9¯Hi —úÐó©Éà9Eùþ=¿«mÝ+<3$JÉÐXµY6ï´U¡˜{js”.¸¬:w1ä;ÎHö̼û\#ÜnìÂ× Ã |ílÞÌLÿ^U÷­SG;|ENA¸¤ ø}„œbÕbžF<ó®ËÊD)¸tgµ¹ÀŸ*RÕVÉ.¼ê; 2]ç·b¯W@DP¶@{@;Ÿ 9ßá·[û+-$”ž(,s–"ïWÃ|¤+*”¶kÚgRŽû°™t±^n¡È1ú7/\OØÈ4n9MàÊo µ%1Ÿ„TA8Çñ,W+$ Åà5F¨¼²utjÇïÿjµ—aLJN˜`A^ #°îÌrȧS¼¥´I±k&X{ú0Ù5 K‘L‚°#V-:ü& g ˆ Ï̹ñî-]h"–÷¹ü,µÈóµ—6¹ª!ömwkÏ”:¨‹-\ØÅÓ`hæ¹ÁñSÊ3Ž·êŽ÷à Ãaʵp²?“ÇûÖl½|LùÊ Þâ3س©œ¿¡‚þÕç”°ñƒçuÞxQY߯èÒMQ»ë'ôª<œ67R¯>ã7)e“Ñ“eT•Ægø6#¬ñ¶v V€÷BKôjAþéþ°¹”,~p¤ˆ…˜Í{õ;Ë^µä!nflƒÕ›­!-Ý’· ’0 åJÖ$é‹¥/}¶%h‘ÆŸµ7´06¤ ‰hcOx§x°Ãð¯—_ŒW^EñÑ÷hÐ^øá¤äDf¿Ûµ!ÎíqP-‹™…C®ºaCA^qK„ÑnóèZ`’DpÎãáÙj†x3:ìp””õtÈ › ð',jgPÙ'ôMQ3¦íKe¾¥.½ßá¸ÉYJ¯L²œ–q2BŠÛØ`PiÎvu× ;©ôL¿fÓÓöð–ß>Š·Çÿ ߢݸçñô÷3Ñ ¯´Unþîº÷à%£ï£Ü&MÒ+;Û«?ñk·³(º)¿púоQC’ut *ó£ÙYGy_Ì Ù´nÌ\Ø©©È2¯Ázex}í‰kœ;kI!(‚ÙšDqܧd͘OÉlž…B&´YXÇ {õ£Àpž'ÌvZG‘(J ¤¨ð­ßÑŠ®GñÜ~¾ÔõÄ­;âbWCøô vÜK6óeœr!þi‚ij´$eÈë³Y)…Þ}”6>0“ÞCX½nïžÝ>å’Ö•åLÏŸí²ùVù%ámf ïÎÓ^ñ¥>tÆ+Öþ òw8dì«£Ö‡LÃMá\¨Þ¦y'“u8m­¼h¡ ð~•ÂùÁ2[ræ¥åì·Â§Öq‹(5i„)Õê¤øJ6ó²é~ðƯßrxç&Sçâ»óñbÉø"Í£”`RÍ•¶íHC÷K°GS‰PlCo‚]èj5‚àRÚǨObx±Ú]—³¥ñ­ ‡o§Êñ´+7™G^2·ÑãÎbxß¼Æ(â"þ >G,å`czÿ÷/ë¤DÔ¬kfOv±\šäl¶ßϰ2ƒ¸¸òe‚¥1&¾L€³zÜnÌ“¿R@¡±>‘8.N©Â›÷Û 5AÏÃ¥p¯öèñ8Ûxš‚ioÉLy‹‘.wŠ'J5gÙØSºF¤” v"޶sì¶Yèå{ ÇjÞ#¸SÁ;t¥Vö=~àqf Úö‡“ªí NŽ^:ßÂü<>ðÚ¥–žAË$©tkÆ¿® ÞœÙÁ+ÜC¨6´É÷“ŽÔ¬vÿHt值­¥ŸvB,*>î6&´Çlègu ’^hÃ$Ðd{ÁÆž1n E8¸ß˾¿™ª¶B_Ìõ¦|òFJöš–{ «yËóþd†Ä}Cň”Pè¡ÌòÍFÄ‹;ˆ6e%^­;d‚ïVíã &@G1Ü2&.—×_RÈÂ`Œ´Íh7fÕëö­Ñ7 p­"'„CÇ«n茥•« Ê.÷øúª Àù'¢Î)bkO ?Ä7y)Á®Tnÿ“ïâ©õà–òÌRóz] Ò> ¿ƒÞ¯vLvŸüÑ!9á»?ÿp{•…”…:Ý9™Ó²¶°ÃƒÉ2®ñhaŽ>õS3`õàWÞÿöøOÕV~ƒ•kR\+IÏ“ÀŒPtÈBTšŸj`&ó¨Ö'©ý"LxQân¨•% `…ü˜ÀR407}k6Y¤Wç8)÷¦(5à5S,³´£l}çén1¢ëg7²M7ë"„Ÿ®6ˆqBPc¬ˆÜNÊsKÒ£uB•Ã) i— ´†,Là1Xý ooæWÓpŽ‘}¹—ø@ׯîý ïàH®¤1b‘¢­n($ËíxûÑÞ¢@Ëõ‚‡çÛYLQ`+ús?){ø} ×&é…þO¡.l£… S:³íÛ&µÍ³“Á—Ó °ò«nÖõCw„0 >Ç+¡9¶}¥I¢›´õ×ÂY4П’jŒïê™àD«M°mþ 'ï[e¸ô§ý€„ÝÆÔáõÏtHȈa¬öS:‚`1y™YøB¯ñ„ô˜ÔØEðÒB[¿Ä§ÛfÙ!,wA\y‡˜2]Ž@þ[N‡˜%÷ ~ásnï< žGO1kýÿžáÂ*ÓÞ{ Ϥ”Ø9Nˆ7ú‚›¬ãÉöòÖ¯1¬n,]@aD㢠òäõŒ@ÙÉ2µÆÌbâ -àù-‡ÝÇ÷îxãºêÏe3°v©”"žÓž`î?=zƒÕ§c}ç¹j¿•-ô‚’×±QÁ,zK¦<¢âyk:üäü8°»ú ‚x ­xºŒÒÎjß™#¹ æh#ŸÆˆöWe­†Ž6ò+bDëðŠ÷…„fÁ!o¦(÷áMá}§…?$ì %Eà,L¹eB;Ö[ǧ\°ÜGΔ ¶„U;nW³÷û_Ë7¶T–"Êùy6ËDÛ:Åê/…˜m›§ ‹…˜A="Òå”÷ZÒ¾° >ªü#ê¾DäGpôÔÁ²ÜŠî1¼y„£åB»Q¦ŒGÑv]çeƒ2<‹a™bûRúÑÇöÖ>Ö¿SLv»äÒ’ EÑÚ‚9EGGmŽñN_Ø ïÍ"²œ(°]Ñ^58jxð¾ëþà¥Û /®÷ÚÝ…ñÄýÒmDe¨%þõÓjŠA·à7`6Um°»Wd/'ý­t­¤ÃÔ¤gÏø¹œ½³ð{ã€LžJ-^vBÕž¡œ>˜?Ó› ‚7¶Q”2%¶É•ëšXÝfn†z4µaõ%ÚË…ÜÖ5y™(1³jˆ ù¿Oȧ¨Ëõ¸²z/,rýLqÇSøyªÓ>q7ë`Á’(Ž¿>ZuH ØF\-tð‚{–÷Ñê‡ô³å¸­ÛVúQ«$` ´¥\»—M³Ÿa‰·â©,e'OÉàí”·Øïr×ç±]ûÈãE“N+…ÏvR«"4zàÁ{ “è2m¦Œð˜JV®àŒmƒ­”£VhÜjFŸ‹,õƒ§<ѧd5ìSÆèü#æ8þ\o H.—•e(Á¢…ô'ýñϚϩX*Œ´Øª¶ãRm ùi¦ŸÌoÒge$CÎwSOD5p^·k|”w¿[„¸ÅŸ8^»M2­‚¿Y«s8O#‘ƒP2E¦ºÕ¨bá`ÔF˜eY1ë#âV=êÇ »\ÛS¢ó+”j4ÊìŠÑ·¡Â{Q¬ø(\hU!ÿLJ̵çÙµv§PGÄ!¤&@ú®”f¢4Á‘Çüòø‚No2JM 2%6þñâáìt^Kª0£Zd¥¬¬äùªx\Þvôd¤†ðDÞûòàDCrÿùÏêŽÜlôÚ¤Åõœ¥ÅȬ¢í>מ%Q›®Çý“a>7Òq3陨1–€RÌÎ͉§õ‹ðu¿ÿ¯`¦Cþ-o|ÿ³‘2l]:8ãwsLÖÌ 6TpŽ ÁßXáœ*¥`MBúàš°Äô3‰PV/xÞš‰JHîY/åÓš&Ž•~Ž¥øq}13F’BoÂO2›>’)q¾IF<Mà[Óc¤’ ýgdÏ xÔDÚõ¢ÞX…óBX”QÌM"Â{›táÜE“ÎÍáb6- ¡D­ÿvã}‡¼„dxS¨_­cß~ S‰O+¼w•GPE¨ÿp Þn›Í³í>ŒGP/ZcÞ œu63›¨òŒEžåFTû ‡OéÏ÷R™ß/ÿúýU‹νg ÿ¦`,ÇË !»° ›{@ìªâ^囉IøçÒ18×ݹå) ——¿¨ ™'‡s˜EOïвqLÜrZÊ•ŸçÆjžL9|ÂeùÌ4»óÎ ŸàÆèc)›!ØϨª.{±Hဠ)«Œ=.dl C 3«“t.[]ÛÙCëàî/ŽÏÚC@!Ù~¾sçš±>Ûëº+ÂW1~ÑE˜úHé8TFt­F¶ÙoÊÐóÎqÝQÆÂ9I9ôåAnêGfÂÍ.Õ"»%ýð"—hd˜á†Æ#Î3¥Ëå5r£à_xj§dDÿؽ— ËÍ%£fç 'j:‹T^ÎõߎgÀä”|ù(‹·|û­Í*ï–1[0$ì”`…ò³ÄÒÀäá3a|¶ƒÉ’þ0½ÅKPùæÖI«£Õ¯—DÄß3h!õÖ†KuoË7’Õ…¥ZCüå†!u)ñnï“£tçØ¼gñ@^ˆg¡+œR×¢—Å%µ̘APõv/ñXl+1g†Ý¥!á·ëúr@ ±]‹fÂ7C7æ&» NxOt> oPÃ*ÞS[§ Ÿ—*I'àðSÈ5‹ž—²}þÞÄ/ámÏ_Qf›g·:ÑØ”- þ6ãj,ÞfK\ñt3ûòéWµ¶Gš+^l“§ŽÇ“òïÕo»:ÅÙ>ÂòM÷Â,ŒGE§K¡Õã<)oü~QªøtV¡ìÌ67øÜÿ˜ÌÚ>Þ÷&[“fJX÷³ƒžÂ3ü8Ñ'ƒq;…×Dßáö·¿ö`+X³ä‡µË­n¶“´¼cŠ…b{ƒÙà.‰µ¬ÔŒ~(gzmWq\OŒõ)‹A 0ÞæIpcVòfBõÂi ·z`±t¡LÝ1ÍÃÇÔW8XhmD‚c(æG¨‚ó¶ç£#«ñ´¦ˆ!ô’—n7OCSNH™õ[Î7‚'eª½>úÇ48 ¯V(¦á°$:àþ|þwÊÕj\M*î-³ñö @|ž«o{¢WôX«uÓ^ƒwË î†ðΛôÝ’‰M<¾ãRu‚Älßåar¹<©ÔA^ЧÑÿ[ùPÈ6aJ·F/}¨Å(|{äÑ ÓugÜ5D¸qJÉn;âÁB(/×h«š,Ç”BÄœfÂ÷B«tÇ&–;\í ÿ´[?'÷( iMý0x|X"#ò¿3òxyk¹sÑC ù¶ò_Ö¹Bé«e.Ö¹&¬i3_žpNQsQÄZCì=wS0#ûÜý²)vÁÓýv¡0€ÁÉã-7 >—[P xNià]›m¥Ê®ÿJá±ëÛÙ"é/4™ŽAac^–ñÅD¸)C¹¹JBo cŸY>xáα>T*ê—R¸U± ,³W}æÊŒÐ¹¢bŠž0w£UÂmwðàO¸)‹'+,O£ n‚ÙУFÛyÜÒ™óã\ ™ÇßyxZ¯Þ*DýÎÞ'ßįx¯âdÊ Ÿ:v Ïs ††Gt˜Ä#¡#xìÝ8…fá™ìWtß8]ƒ3~Õf÷p«¿Õ§,ˆö ‰ÔÁb•âíÁ2)AÌê$æµ"® N1èæfƒ*÷õ±Êcj®;(nCäB=i³â€-‰m ½IGB·žê7÷[ÔÇóíþèØIã¬ÜCÁ kN%à žRHvA§ny¼ip¬nL3êmdsÐÙéÕ[Ö®=Ʋ£uö)F³v„¾0Å*ºÞÌ [–z½ÿ+üVKÂÃËè…ü µ~»©?/IQäÕ[õ‰WR‡Î漓ÄxC‘OTñ]ÞåáLR‰m=³·2žßÛø‹Ñl¯ðãÕö¨¶Î£Ï—'ïMtú„ÿÓ Q/íÉÁ­ú0ÜñM”àÛ5j ê‘zànÙÏf\º$Š©Xaüxjn-òÞ+˜î†mœº’ËxPÖ€}B€sïLƒOW5ìØy5¶:ùR—K‰RO¼x¿¬@Dtü½~I]ʳ¶|˜e6|ùÑ1&ç!„ûݱe,­ØIª# ƒkã©^¬¯‹ý/#ø\^ä)Xo»€¡»ÐÑç7xakK0&t‘±å¨Æ†çõViÈ0ë{hÇX“„)EaqÛÐ ØFÇä—XÛ…F «Îgy_ ¼t¡<ûQØø¼jƒvlCl}Ô}%&Pòù-#—64 ¦×ãà y6AbŽ}(p”fÞº±vs§pÇaDJ‘³z\×y‹yL¶ù ÿx±”áÆ“IM(ûrÈ)uøó`)áèë:Cåè†¬ÍøpJ_ï&µ¿rÏTšÐˆÂ4sÛr<(]9+ XN¢øÆó!2gÛM»d 0E Ò™î¸Z˜v–Œ.䡚¦_*¹¬¼’ya>×nò1nÊgBcy5BŠxÜ“4~LÛ-Ž„š=Y÷ý2ž­u _ +ì(QØ‘CmJ`nW¸fínÇÄ|÷6¿z~É«õqO{À°Uô_ÿ]™«ÉDy»€ÃíDƒJ˜^a›à$—rMpÂÜ”=Ž„Ï¹ßåÀEò1êÚbê|žÇr¼dOIm©ò]m-Ñ…úñ»1_šB!êpÆüÖ8êqå쌓¡©,t_Bxj6列f÷wÛÊBö‹JU&A“™ü›Cñ6g̪äÙ¿´GÅ„raH²šy85U}ñl¹"£ìõ‹Üb½»S¡¥8O`’#I£”ª(¡uʳI Ú(c̵O.ôê–¦í»ß¡RÀr¨9·«­Ú!¯@S(ìÞÛ¾m5A˜ž‚v~SôÀÙ±b=õ´…V×x›”ô¤ôàµëKYOø¶‚k‡ÑµŒ)p.pŒ~fÁ—4¾cO¾„èÉ+“Òñ¾ ž0²h>SŽ&·žJzõh±ØcŠÉ£q·ÝÌø³±Ã*»‡‚+­l&žSÜB^÷ßn{ßÜ9õviÛóG R„ÕàŒã0yô¿Í«R( ”e†âY?7ŽçuBÏíë?I…G£7!Õ8{J±çûÈñ…ù…áÕcúŸ<©áОⶉ%£¼Æ °ónHâ!{<›ðlr•ŸõNC ¬ÿ–K™>ŸÙ-F¤åY÷ò>ŸåÅj) Nô5ëŽA]_Òš5œBx ‰¨vY¹:cà I µÎð‚uãóFîU8¹!¦¥Á€'b  ߘ‘r®Òäp[½>òvü³çÃo!²k ̪{î莦•`€Ê2ŒVÇ ¼âAã¬ãf¾nÒçý\…×ò©x5÷ >¼¦4„”>ÐxÍSí.³Âÿm÷Ôd Ó:¹aßÊ7&v&SÝe·g×èœ7x‘1?sûfÞ©o}’‹2M{y«ÝÝÖyhÌô‰/ö î†}!¾H"Tï~Þ5ÌqÄs¼\ù‰2õgöÈ+ä(]z°ÁŸ8œÀï©á·H28 ,ºàÐÃíuèØì•w¡ó!µ¡Ü=G0võ¯IB}ð'¿]ˆ/Ñ·uYEü¢‚ði?ㆢÛrâxxÆ ?“¸ÃeœVì-l«&°^:ã²³‰1šéOfp_D‰> ÊGT?{…þ£QZ7‘PÇ`ÁŠ®QCrz¨ÿÙB¿\Ƭ,pb7ÄxˆyáIÒ’Óîc!8;KŠiŠŸ·ÜêÃêAç÷œ•0;RŒ%“­f`tÞn u Û6A.·âÆ)$Â{±3LŸ§íü¬ óÖ=A! k;€y  ú.Œ8‡­3÷œæëGx&ñ—ЀãáÌÖǸ†ÞŽŽÆwsí°`Þ)¬O;Oòdà å·|M)F=j–bOhâI#.Å{'œFˆ¸¥6”O0Î(·•Œ·ƒ{py‡W¡ž¡.£rMÒD†×’ôÆèo¥¦/eDÒƒûí¥ºR†ð£ÐSÜ`-ÌÆÓ”‰™lï#‹†#å‚7Y½+·á§»A?XÛMž>}¨òšâÿSÉÆêd<@'ã0òW?¥ÌzÆ“Ÿ)tÚ‘ën€…ØPÇR7I³R·(Ƴ¨Y£sïs›3 ÷mŠŒ(eÝO„ˆ™ñãþ»Ëß,ùÜ{±áà±®¦÷«’»Ü-¬å+õõ°sÛ¨Ü{«ñ³\IŠýz„òÞ)þ–Ò?>k„ó$Sþ1_~ü}ò9Ìä RÄÆ}vÓ’õïfÁ)mnb!ÖoLuµdm“õY)gŽ>"(lVÏûQÔÚQû Õß(ÓËýÀy¹+œë]Ûûh¬Ù„ ùÚ…^§¸õ1Å ÆÌ)Kì»ñͧ`‰9!Ø'KÍ+£.¥§V$ÜÛQ³†·l´gø³‘ênŒ §ƒq“8á.ZKžoíÕ›çK9–Z¬oFK3?ù$Zœúcž9Åù¬AÔ/áyü[|ƒÿ6JP¾,ˆR›ì¥2>òGi otŒwÞù#8}Òj¹ê@ç¶þóiS4 ¦d¢!Â#,Oý•·Q§“w¿»QŸÎ,W“Ú-äw£• ×ê¸AŽ/«ht÷ø%O>OMÖÒ­ÐÝ.˜ÆXý¢UD‹Ù9“øí„åð‚ |ÝæÀA$q«“' nq>àÛÁÀUÖ’˜âµ·}“.ÜE˜¼dl7zM3ë“jEDŸ^ô¨n)+ž6;êZe­`=¶*kÄ5ªÆÓ…Df} Tç‚V'¬z|¬á²c¶ZU²(]JÜ/Lö¶ìÖ:áåÑ/Mt+E¦xfkóV1á/Qø7³ /OH$³d ƒÏÕ“ŽÐFS(OîÊb‹ñõ¹Ûõ‘gç bopŽÒ¸p›" 8µ—Š|í^±"ñÞC½#Êó÷@°ÇÓûåŽÛæÅêFŒ;K} ÏÑQ¿SÜv|b0q‘ÁîÞ‘g‰¿ûqf\õ+4ÉÔ0¬ÉœòVÆ$0 àØy¶q¶¡)v‡8y"ºFKøHoHœšœƒxÚ9ÏŠ cÚ“ô¡4<äÚ`õ ¯ÚßáçIñ“›Gˆ‡5ˆq;ãe¸èñ^í’Ããùë—¶>r¤î-opë,¢ãT?*$‡KH¥ ­éK'(Í?tNQž=õ®fÓ”ö$æ1#òdZí P9§Ä,hHÅPJã]|ƃڳbÈ#‹Zò­”ñïÿ ïè7% «ýj™&QÑfò!i>«õK·EPyAáVAwÏÚÍ Ôâà-×Ýu3¬Þ„2åïÜÊ%ÁÙ2$㚢Tú°-?ª«º‡A²;‹g?XrÀ˜E­òc?ÄÓÉ“ÓvžÚî±Êó”ÜOŽ#6ëqvQ$`»£°v ßò¸Ý7÷×$g ôRIžÛ¦>øî X¢¹Áy0™*83è”r+® ]ÜF¯“kuØ»Y@ŠI”nF]þ¿)ÎÏ&g¶ ­ŒñÆöt+ù)¬¥.yhy6qüѵ)pãÁ=a0LüÙ#? GŒðÌØÃ%A®ØFèx<0ïÄXÕOÓÝ&ðÂó`F祟J»Ês[êœ-ï¿Î×öÿ1þò+éMa©íɳ‚!ÕLîÔ@\×*è}.¤äF¯m1:…è®a‚¼ ¹™Ýlø~q½Ù-P ÃÍ+¬áV‰Â¶"¹ a©àpjÙÃõá5cÉÆ”'^y§’ßyB}…dµ.¦Dxõ£<ëÔ,íÞ¾Cê¹§KñŽúõ7¯«QòÖS8KQytžyÂdžEA2Œ¯%Àó=Ø’wå).ÿ~1Þ–$'] ^Ü4«Ú;»…Êéx4§qã™É\yy“7äN73þ¢€‡ûØÂv7ƒæ##ÒfÇö0=ýŠÄ­Íøªðbk:<ûJùÙy.tí`\žSX•;—[Ú]†ôàÐÂh·TÎGÁi+Õ"™Ä ÎÜÃÊmŸ’o[Ú†¾­µ‹x ÛÂ#E|ÝHnæ)9Ü PÍÏטv¥”Žc§ŒÎÇÔëïYçQÆ=ûE¥>oÃ:Ç\5s ‰)6d$±1æ(AÂy¶Ç¯„Á½ŽwÁDc'ŒNGVÝ(`Œ™@]žw¸È)ð|[}·s’Ø%ö¾rMãÜ•ÂaÜ-]°ìlÏ{+ÂÆ´m‚ àÑ~ô<æF“zæ#…˜‹L·Fªr@ÙR¡v‚à9çÑb}Ÿzœÿ;`ÜáaÕd÷ÝÀ3åu *L*D˸Òx”^ê2a,ˆWEÉò^ ¯3! øÚ2jãK-ä™_w½û(Bíàƒ¨þuxÚ³g©ÅJrÁl–Š—ë—´µÌsÔÀÐg5ÅJB—ê¹»­Ô¦Ô_ýZªŸ³È@¶4–ÚÔÁÊЖEÚ n ©eå€ÔL¾Q• 6 §$r”m†wéyÈÛÑ‚^Â7“¸”çRÙ¢{µŠàÇH^ö ž@³Ö'E­Ïµe&>BÔ„E.Ü”{ –‘X‘ô­„–kÔXµ7ñ€Â8Þ®AÿŽ,a¯ÿJJ&=r)AÚ0þ ¾ÑÈ[%ðLh8›@òNb1Ž<Üd=vÈXjî¯vB⇰YÇ=\)#öÚf×èãèÄ>ë·5åp´”ÑßýîI9äŒëcân? _ʆ`ã‹ÈâIK ”+¶,CÌ"—Ì+³ÌÅŒ”Hž(WØ;Ì¥Õ÷ŠËÅÉiG‹‚¯ ²Õ‘ˆ‘ZšÑ^ˆ² ƒ}`lêO™:NtëX×EÅø¹sÌåmt®Ÿ\#NôrÇ6Ø žWýÊiªD0“欷·›5ÆN)À1 a‘24¶HИ÷n[% yQÿ÷‚P#Ç/† -yŽ'X‰»QÕu=(­–õ¨íV CĬ^~p6Ã/ú¸Â†¦; í!¶§?¥Oqj¸Ñyrcùmg‡£±R~yûW À¥ ûåS†B|8TÃÇ0ÄV¥ ‡N¯¤¬=¶-Øü>_Ûw×óU†£ Ìò4ù(¢FMK—S3\0O.§þõÑI¡‘CèTM“ZÌòèÓìÔŽ“þ÷ç¦&»™níjò¸•ÿŒ¬•‹v—åä[ÅÌø9n¦bá) ÄB auëýÃË•bt¬ö%A·n:Ámø”/KˆžA²pP$™bÿËFVã³)ëæžôô«öy*K~Š A Ÿ„ÞhÌŽÁjcÀnƒA}amX¦A¸‘y8eŒhÏzé’‰¹‰~M劔ɧ( ŸÍövžGl%Žf§+R+W^)Ür!Ñ@SÔÂ!^ U™CÝ;ÛÛµñ ¼ƒf¸1Z4t~FéuœÇ FÃë'BÇ Â^žØ(fá–¹Îò_ ßKãÂÏ+¤6]+\µZòá±k,0zWÈvµ¾ÖëÕkïÕjÏRgmàÑk^?UÚä'yòö”n ‰~^ÑÁšâ¬¬m#ÂH ÈLÈdØ¢£;ÛrìµiýÓ(¿¨Í¶ç/§mÌï×RÆÎ‹Š/{É?]]ËÑ%Üu^hMq†Fš]= Rºgþuû­Pñçf®ìWË»f`"Ӛ犼õÝ23‘cÕýXŽlÏ ‘;WNb™Z±²:…$ËeÍ}]H“hDÕ÷<éÞ)HJjäyÄ„j‰OؾÆyäòŠøýÂQЏ’KL2ì]Ka>ä‘!4ßÝ‚Ñr@xta»¼Ãwä7r(»ëÕS»ºÀ¡ÅX 2Ú5¸êpB#Œ.iAmy »©GEJXxë1m# ÚB]ëÂV”(/V[­ñAŒòÅ–¯6ÞOÝB@¾Ê"1+®¢k£°¥õ®-%È“î>ê†Ü Qd>‚yPŠù¥¤}¶ÁV‘_H—¶¬¨=‡ÇX[³öê^”Œ ¹u®ÓøBÏfB³?ò8J_Ï.y·/N¡sEI«õ§”î©°Á5ì2?¬0™5ìÆ§ßªÆ'XË\ ›“nŠWÊ)ÚrÚ„‚BJÈ/d8æªsÕ, Ö>vu½æµËú…—˜Èº“ÒÆõ¸4JmË쳜r3O‡Î©­ 4ÆŒž2Ï*c`8=3N²EöÆ&ømL˜Ð£ž[XªMü¼® ]»B•:ã~’º–ìIdS&[Â&øO¹¨BA;ePxöóÖªOªnñäfëíA¾[g í8¢Ô¥¿*®¹½{p¿RÈmF¨Dö´o‘‚ÖŠc˜ó ÷Ý“‚ÿ Ñëô`Œí¸O+÷¥`d’ÌT†ËhŸðJIì —;ëéáR©úƲœ8W‰¶Æ3Çèù.„4[YÎlâµ¼pƒ7'껌Bå\l ²Õ{;>ê•\tO@IDAT?NƒRĤ!©dAò… +t¶…ð¼y­y¼I ?ÚÏ6O¬ÊlÊ_?“a=²Ê&;eŠ×ús‚ݽ•3nw ÏÖ}„¸mMáѰÑÑ´¢ëžß¼0ÝFX[¾«ž9k…3êß=*óÞÍòÙÆB7AõÒ&q_ûÏ£›§6Þ§ κ1ëùGâÉ3k •=—{öø9!•𾣄ßú1ª˜n1J‚?­mxÐì¾Ó›ýœVŠ-‚ñ’qº¿ jrÚ31(áÛŸë'£BðKnt"£™G«5BÒªd‘qìÁ¥Nöê«Á“ Xrx'‚Ð @[ò!€Ñ! {º4ÞBzÊ©NõN))Å6Šj’bœáÃìà„ %Ò>Xvßy3§-K±ƒK·“”çÛ÷ÿˆ“Á‰:ëÄt–Úw¹‹]h¥Ù5aóþ¿cDÞ¢õßoSÁðêxwõS^Oú„ãíáwî» ’«iÉ[(EHWF'•–èÁÙ#€s°oY<œ",\Ñùú=.vnù÷ØÈ”òYâ“Fiì“bpå3^Ú<"EÄiÝ5°û‡nÇn9M¹·êT3²•Sm½8â§|SîÆi &r”%ø -èÛ‰(Ú õ1Ž×RBiR3x<¡ØîR9‰é€bJ0gÉ4^¥wù+ºD¦®9/™rK…jQ®ApJ` UcšÎÊWåf]Ëÿ`1£ôÔ®î¯× ¢õ5ÃôswËz²Õ™‚b¦Éã%„SäHñ›¬Ö^û^û_§ +’çÍܦôõoæ÷•oÌ»ï†ÍíO/R[¨¾f‚C£"ƒÑʧV¼¶ž)®GÃÁ9ÆalÆ5ÁPÄÚÎÎPŸñ ûn£‹Ôò(óèØÅ(Mc(½$‘PƒaÆèQ¸8AvžÑOŒOEœO¡ò†ð]¡Àóï¶SrѪ&_ù§|q¿rUŠpJAø|ä¶Ü÷Æú6&\ŸÂLycdñ–>HÊücx§¸"qGÝ~‘iøjC9½“»4b#ú©.Ä,¯($ØÉ0ž7 –°ì%ü#Pΰ­Š ‚0"¯€½°“äYI‘x'J#U¤®ÿ~‰§sw厎ÏfÄ”CÉ)rùâq÷s nê#ø†ÄŠý\é­›Ú-æã¦Û,î)ô× ÞBu¬ßyƒÕéªÖÛ 4¬b-z-IÉ[åá#å5»³/d^~$fšWî]hrÇeŒã¡p´å¬< ¥½Ñ=/]i¨ð‡R®Ú¬’N(½JÜÝCMˆÅÛѤ„!J Bê°ÑqÖpEypü…k»‰€•»å¶·ÖrQ^ç¥D»7õ€ìÐk¦Üõ ÷+*,·My—¾„ò‰t)RÆ-ºÝ3°òUÍ{~yVþj˰aaö=] aWæ!è+‡&á™жu·þQñ5ŒIÛ=›žÆÞŸV5bPÀgǪäj\}£G\ƒ‡x¯·­Í~ئÕD„Ë÷$wz™*C¬JóÇ`ÖJ<ˆœ“Ê…Ãj‰Sú„(Š3·S²ØøAæíîfcÂzÊrwSC{B²ã$˜¼£YáÂ[ôãÿf™áè~º.RZOA6¬à‚_JG”¹q§ä* îÏÍ@ÒÏshÜv8oÅdÞCž›Vb”pÃõ¡€ç=Ô'uk6l/9rÀ3„ÆÅ÷”ͽ/<:‚â7Eþô>øÒ5L˜.' 9 ã^GÏh ÃhùáÝ"D]nÁÜdלðmù¡cn÷<Ñ­ëŒ18 P85NÇí7ìd¶,´·A6+]-©ÁVÕæå(åÁ4ó—NÀ­ji;+&ç 0H]wÀÖ㘠˜)+›‚ îfW ðúİmçÙúLD$pan5#Œ›Æ(.ò$â1C|}B'ë炈bÕHçam7l›°¤$ým$…ˆk+éÄ -' “1š0žõ Ô£w©Æ~=œ ÿX|ÍF)A|¦!õ«’ )[ø1¾­¨Ä\cãݹÇw”ÎPöH:y&eœ@å‰'t†kã}KÞ-wî–MçLŒ&<4;:Zl .¯ÅÍŒÓÅá–&Ãý7<ÒªZ¦€9E¯7Å£À¤ÞÈ!ô6p4`H]ñ" e a÷Í^w#~¼”ʸR!søÁÅ*É¥ñÈŽ#Ý*Z{ž‘2GQjnÔ¿§ºÿ5m´¶W®ADÒìO,9Ô‡š'Îó`³¢9Œæ5üØò©]>låby ʳõŸ‚±¾Øì/K[Ñ—õ9ÇòZËäѶ%¨ñÇdp Žiº‚q꜂!I_Û‡Év]×i?w_{ÅS?º÷j2pïw-öD÷Ú³B^#&è„=ÏÔ÷bbÃ^ÆHÀ)ôrÕj /O¼§ìŸËjž{Є]}n2@9Ý EÂ4ÞžÝ"1êþÂî<™L#é3¥ô+GûeL+# Ea¦¬ç}If^7t=åkô”–<º53ãxÍÄÁCg€RS&ÁÛ”¥ñƒi·Ü^Ї€q*£àE/M(M"/V]J=¯+„‡ã#§Ç^ýÉóisrX¦]íïßÄQíÝ„–’ÄÜõH`:kÉÍÄêäÚ…ãUÃåY‡†t¿¯ç>ÛœðᆠÎßl×n!ý<ÆßìÙ,‚ÒQ4Ôx^Nãí¬§<óhLX~_7â>ÃÊ<ÔL8ÿ³ˆ~†“‚ì)Šæ`é‹Ä¢áNáÖý™Á1Ô}\K86DHÞÇÌÎó4&üë0c¡7§æ‰ù5éjÌKa3uÉÑ Oh¥æåùÊ):žÍR퟼›ÅïõGÛßR&VNŸ'iüèÞãç:73;|× oOïò¤‚ ¡ÍŽ¢ûj¤xM¡Mà]9ßò¤û}âû&$B}ð6ËOqÑô þò´&‹"ÑÏXÑ5OOþÉTßÕBûL(#|3\å;†F;^sj«Ž4¾ü{«Leé T@à:E ¯–ã¶A ×;îÆ´•¾tFÈœu .Ïxk-r»©ÎsP4)Ù]ñ“ óÇd(ÏélDÀaBiDPú²æèí š”ʧ.¡ÄÃ*aÈ!¯Í·Ê¥ÚíqsfjÁ›‹ž€vµÎŸÌZ­ÌxP’œÀOΆ%g¡Ð˜  ÌC¯VÈ5Y˜¢dl[A˜õÇ“4 åì\„÷%ú;§–)P¤ åiøFc¤òÚs®OÞ9>Hà-òŒx '>JýuÇ ¡qŠ„ßþ´B¯ÿ–›ÑxO?ößA¢¢J¦ ¾¥ÍÛÚh.ù}µÍ&7³>ÜrŠnõó@"^N¿åµÄœy¸†žw»ÜzÑàÁëy*,VØP:Ø#ÛúN—䓘UP¬Mý£kY1Ìs ÚŽ ]y””7@ºÍÔ5‹©Iøæá»[2¼EŽÆRt‡±?»¥:Þ&Û< ¡×(TÜ—+ÜöµS»û0Ø÷Ž?ã“›ÉðýÊPÖq÷Ó²ò†`‡“8ežè˾"è¼ñó°áÐÁÙ¸Y:!+Œ¹5ŒA˜;k›2mB­c¿ºZþTxØoÙ6a^¼Ûèyjä8]RfPµœÔ„¾—ä¿wÏoÆØ …—<˜h%ëBNpxYÆwºÅçvì{ãŸÒQ\¤A¼x¾«k´‰à!e“ÏøãóY?=Bø{Hî·H’ß›1ÕyšçŒ~-­ôïLN(ïñzºpŒXãðâä1„àÙiøö©8‰¥)}»É jÃ#ºV*À›Ç·¥+Ñöo¾¥h‡|P,‡išüHu“¨1…È3è|ÒzʳzÂ*fU4ÁŠÉ¬Œ0 êl»&œîG'¬`ÌD…1a âP³Mñ!ÃËõ-ÅHùsé¬rKKߨ©\ôv ñ†ÙQ=xÔ` –cÂKܤ¾G˜•£ åg–ž&%áöî5KŽcÏÀÆaåÆí+Aþ¾‡lò™ øpxUºxÝ{úBßìÛ³ýýmvÈ+š Gw„õF“tn<Ì‹(øÑñrÃïym¥­åÚáïÞåSÄÎ0c®OÐáe=Ü8×f÷#׊˞8Õé1×p'R<’å–3'øÕ.v˜’ζÍ5ð Dœp¸1üÅ“§Ä²‚ ɾ‚sÆuk–ëÜŠkB1ŽK R_ž—bzyf÷ö•ºòîg‰Ù1h^'`Q‡øåM `€X‘6wŽ+åK¬vëƒYÝ”Ø3F̆ƒcYoõ;HQÖ<œçøQØå*w|þhE@ù"À¯j[“-ïXy ·ã$©sp¢ð!?îf¹ãr78ç×.|(oB(á……õÕE«b¸Ç{†?ßÀX£.ÑõL.ß8ŽMNry{kòƤh<ý CN*j¿z0†ŽÄ3Ž” ÞÐvõàq&´˜ ÿ·ƒöùù{ÁBÉ<†]»53¡?–|ÐȘ”ðÌêfìžz€¨yÔDÙ6¡…w­b\iRŠˆY½ëçg ¶Ð_þeË–òÎýÓ­S#JFSþǃ4vJfÝ÷ëç"¤ ÛÝñ§RÜúÖU™@˜qï-oäiWž¤ï+0ÏÂ)õ—Š`|40”¬šERé—kí~×g‚b¼Y8*6Ç´àSá5ðrŸ^fÿÖÓ§¼BeíxˆSv9ǵ|–~‹Tãe =Œfh¢ ã.šX‚¤ÜlF¬ün÷‰‰Á£Ýà[m|†e£‰Ç&g ¹Ýc³cØÇ«ÐR—|ò¦ Gûn‘´‹_·nw]JÆy„+¥÷`ôË:S7ÿfK;GÑfØÔ(>Jv½¢v©ÏnŸì:%°K\™Š‘ÑéžÛâ•’o_´m@Iv¨bã³Yy {?9YàÌPW‰î^à¹Ç¹Àø„Ûy4“o×ÏÃB ò ˜¨Ð6<‹û¡âÞÛ=R ÜLÛ/‡Â÷ÕµX5Hî'5`›1¯ÖóB{^ðfÊøá¤ë ˆ—ŽÞ@ðrë‰,ð×l·P¶$H¦·~˶AjÓGý¶d–RŸÄUÞÐ'ASþú€ÑxÈ·ã#^t”fe§ÍSÅìå],·/«ig{FãW#L‘Wnˆáë‘çÚÔ0`»¶SÆ¢B”‡|…ýŒÑò`·0¤îÁm¸à™<âÕU^ëkkµ4‚©Ñƒ‡ç?[ËàI¡ë8:x20 ÕT—æÔoö6FŠˆÒ•‹L¼2üíþÁ‡¨1 ØR›B* m6Ÿ÷ DŠOqÉ;ùqæê¢&arViØ C¦0p|ƒ‹ï¶Zí–ã±ßÞSÐè§¿=òXÞÇ{*äSËs[fIµäŸ.Ågu9¹I¸&Ę3e™íóêt¾·ì¶YRûû<Ñ};Qjm†‡1— Ý`k„Y¼Èm7L#_cÞrÉùð„GùИ‹õ]§Ä1"ÜΖªpê\ì80bäBtmöëM}~tó8žgû208|*¼uÁ¤(½¬…ëäÁ˜ú­°ïR 9!ac°Tc©pMƒàýgY&X'Ï”ü‡Í©^2B¯)S4ÕíÀ_7ݽƒÏVa2Ï$íR‚¥S¢®ñÏX¼Rﮞq, šPþúK›ê >ÃB?Êž<°'œ)ð{8ÁÆi_W틜‡]Ÿ ]{ìkì7~YWSòHÙ¶BPH.<²À˜È‰˜üñT†Hû?'W³Ê¬F!)¦\’æm<ˆq›mRyžkÇpé9ƒ»!>¤îwÖ¬œì% ^¬\þÈ‹ë5È„‰Qõél£ž\opá\îÄúN;Êá›ÚdLXˆª—ÒÊõÇÙ±ý≽âšT„ˆW Ïà“¼{‚Làï§RTV/_¤ìSž<|åLžBjrVƒHOx ‘Çá¹w;—ÂPèô/#ŠWAgŒSÔàlYŽ€½¡!l—o>%lŠ=䓼Çÿ3<%®ð“Kö4´ýªÁÚZWûÆP”G+奬r×”ˆ²­•ÚÉÎ ûÙXËÀ‹x¹ù2–x ¸Ö_u<0‡€Êä‘Rr"¥6i&kä"}.W‘+…ê(!O5}y†s×·Q›àÍ\•iLÇko)ÊÖþ˜2]Ë BåXYaq;DêžëÁr.wyÕgc •) 7h¶Ú¿ú,Û›%}å#ž`RÅ'±-üòÛhë6L#¼êší+LKêY·œKÆ´^h~õ$yã2(e•™˜½>˜ÚX¿¢eÞ9ÜCžÐÉCÀ™ÁöÉùá¿ròéFÂãñ¼ _’߯ ‰&àðµ…·í3œWáÉ‚[˜ýh‹gヌ*îÆc|}QÿÃ1,§£+n(|1Àßa„ãxF€N5¼Í¶—óê]Ò¨Fp½zÇkGÇ ñ§6¥ VT<_Ñl^~|ïÙ‘/¦ï—G-Z¬—B“©ÒÑ«°ÚŒ 6‡Hƒ®¤aR’w dy]´ï5O¤ˆÛ*‚œí܇ÚuŒÄåYêèéx£@±’ Ä 7,&Ë K/ŠLÉíÑ¿)E3¡¬ó¾cCýXúO2x2„† ¿Œ€¡tþ˜vcÅ'c*•_JòÆZ‡‘)ÕÂh#ðûÁšÚX’ƒ'Ýzõ°ñ?Ñø5ÄOjÀò´ÒÄø©ñå<Ùª1:#x36e• ÌjZ©äèÇ¿<û£Hg7Õ‡T¥±-+6|¸—·7ÙÚfàáNÁˆu!›üjô‘”`ÍfÊä÷ ‘¼ýÈ¢þN£ÍTæò–'…T‚çí„Ø.‰˜'4·€ã•HÔ{BÒïþ~k ¾Ñî*å}3+®Sä´\ó#f†ïÖL맨q²s½ 7¸<ˆ§<(üjç 7«ºGÉR€±Ãc¬ Sc-5F^¸ñ)ÞY^dáG™©;`(ËÉèN¸.·ëÜ¥( ßÛìTÙ³{â,Py2‚rr»uäKá%½=÷‚'ïºudÂI$Þ ·;šð¨FíY…ãÂÒƒ³²Íï-äê9‡p6#ª´öÑêx¹ÏF Éí“ðchõ^>-/_3³«ÿ–;sN'&ÛEÍxÀXNj³î/8),ùf{2mr›—-§ xb5'ØÐ)0“À‹ 2Q°b¹œÙöó8‰²yÖÅ .o´ÒðK ™gb—ohÏ“D¸ÐgB@ §®&ˆZÌæÅb6Ùý&yŽmýB”ñsÕc3}zSN$rmäh¾ô; î–OE&<²ÈÅÀEÆÞ'ŒßšlX.]ßðDO|c°u¦êœõ¥)G[‚Ý9/:tþ{¡¹ŸvËí[tÿ½ –ájðì1»»Ü~#”¤’ì: Ï“-¹xÜ÷$&¶Í‡gS˜{æ9XiMlÆ,9 + ÁIÊb~foÊû¥£ÂA~cmŒÁcjãR.–‡'+ ñ.ÂËù¹Ìc +B‰RMí`ˆ¼7µOJáüQCßÛÉ 1J` -7 z_ÈRÙGuÍ*ÓRÞN¨½µCF¨zßÿëºÄˆPœ²²l CŸ TBŸ`§‡rE×l['XÂgX˜jKWEò·§øO]žr0¸V4~û߈®R iÂña×Íæ=Ò9tãœG/˜1C$¾=£Û×mìB¬¨ŸFï"@°ãÕQ”=Þyë¶ÍþkœKRéHÜ‘o…tM„ò”G*[ŠëÐÐÁÄJŽÝ…9ž•ºp_:JÓ웣hBAöÈùÌ5æŽÓ }t⣹A´-ÏŽ¢¥j¼npÖ7 V;g·Êp¢É«å<µÝÆáI}èTýz>e«îŠå«ÿ×?úV÷¹²Œ«Ý¬à \=Qaë^¯zÚ¹o¡P!OØ–äN_,ñBH.š7’Åa ã)«ùŸrB'ã4t{ÖÌNH˜ˆ×õñX >hfŸb(BkÔPÆ{—÷Ü{* íÜÙ+%)²¢4`ö…Röo olϵv/ÆóÓ£0(Ï´›¦‹cêñzÝ?laŠ"àÇ<@Ê»Y~á©‘ë?Ͷ„œÏ —£ÇÀ€QÆæÇ`ÎDï­dÆE:²ÿˆ7= ½E}sŠE-Oqå@Îö0´ÂŒb¢y >gGs'ˆ# 3õžœÞûÏS)x»SJBxÏÔ?Dó,¯<˶¦ï{v 9 €Â̰0p–ÂSÀ, #g9YÁhW<ïl:32p:¶kož°2@×”‚6+β6#æ­ãÖúÃÄ'ÝÝm˜ Œ'ÊN½¤+¯@6fNðáNOvo¬Üeãad4u‹‚ðâÚîCþÊV?ÆÇ¢EÂPöðzýÑù5q™°ë”F –ã>S6+I”h¿R¿s']×R€m\àQÂßF;‘·Ü—ÞÊyᣆq_®åf±)$¥9ês–wm‚õ¹Ù@ ÂS2DuAù™ÝÍóhÑ»zl¼‰›áëMGâK‡&©&"'uÁÊžàÑïDþ÷Ïÿlé²j ÅÌ¥<&g&&?~” àLé;ŒXn ¯éÿÖš†COP°•Üõ•`X€×'^Ë'ÓŸK~|;I‚µ{Œ¹¹‚„f­TÎVw•üíÎ(¯Iê×`¬íDýÐÉEe…y„W¡³»¨æõ6ó;ŠFá[xÛSª¦ÜÁL©ÝCm›=ÍaT¼ÎÙtZ"Þ1™p{Ø£ˆ2àìrTš×k¹0D¥å_A§Þr«àþù¥ð(Ç›ý¸>•"¶U@RFá\Z¦´u¢Ô‚¾O~Rr÷æøà¤yBpn›CgôÁÀëx¨|%šà‘°o9ófÑ@z£Ô„Ww=©*—2)Ѹ±ëä‹ç53h`£X ±q"$ÞdððÜôÄ·à5™š²Ç¿~Ù®ŸýZBµÏ-"$sZq‚‚\„Ü„%Ø=š#dòçK÷\PÉëÂ!KЍ=;9mÄMÃuõ ‚ý3ÀÖ-ÃhyÚfшÍZ™Ë¸Ùà#¨ö9[—º4¢¹´ >… ñ­&$ Ö½Ô§¡ 1t„™q÷7I@ðp[—xºáÞ3 Á¿ä´³¦ðn?÷s|yþ&4£Z¶9#z¶q6üv3PB§€¢ÄÙÍŠ•’¢×?Ê›D×td³øÒʉ2Vì'by þ©˜<ß6¤ °øE`y©S;ÅkÀ㳜_S$žˆ6¨ãeÑNì³®B·„‡§³Z§Œ69eÝ eó{4p1œÎ¤‹ïØL1ˆãy/¿ääÅ[q ¶y„†ll¸aÔ’Õ{â•e£•W5~°¡-®j愦V), •-ò ÚŸ>xVø4àv…ƒ?ÂS’Z5 CšwÝ8`4–ÿcèñžµ Q¡Û:.ãJ2ñŠ2 ZãoBIRí¾ÆËþðx°HèÞ»·>Œ:µYEþÚ)¯3ÃvD†þG¿‹Aõ®_ šÙn‰u΄#Y“:„…ãä¡ÏÆÊCl—h +ùøîg`íš4„ÿ¬E£5Šëìà+qn¼aªË·Š¾+’âŽmJ!¨qÂ5 „Cf xÕ¯¶[ÖáMóЏJ9í%)B}包¦vdoÆG™Íª#'§ TŒ›’Ê+Κ_|(4v‚ûTØ©”ð \Í¿&{l®ÒE°ǽuè“@7³OµPô“Ǽ¶ÉOÄ7¥¤`àGüÛM;uR ÁÆËàíðêTD‚é~ã?…f2e Ý ] µ³ô ’0ÝÌ•ÅÚ6¨F Xï«ǀx`ËžhZûwH™ ™ÝJŸ¢‰ó-úê3³xU–?z|x04D¡·œÂê¾MrôÛZ8Ü£siTtyÈü !Fïþ Šì­6ÆÌ8áò½·ÛüñÌ‚0‡tî~ùòóû&!§Z«Úgq ¶"¢'cv.¾Ð’RÅÉÿŸ§;Y’#I×ôˆs"‡:ÕrÓ¼ÿKᆠJ_BKKŸ:••‰ÄÀ÷ù4¢<àpw35ÕžTMM¼hÝ#ï!íºÞ4š°lµ i œâÆ$›)èüVü«Ì%¤9{èŸk#ªä–[DêXWz­È3¶>‚d³v4´ó[ÕÁ l»Ý,ž)$njn}‰Í¶ayÊ¢?.e1’""*n)—ÎAAÐÏúÕN$8ÅN§ŽÚµ4 kj°÷{EÞ%l­É ‡ÇbÚ­(7™¿±(¹ÎŸf\„MYÜm‹¦Ådêo²©º¹Õf¡Ô­v÷Оg˜ Eè Á¨mý2àkûìÔŒý,Iƒ{¥¶t–\IËìM ¬\G;»8´†=æõê|#Àb›Æ¬­§#‘)¬ÇìY™~ÅåŽÇ p'hW¬F–LýŒ詌r?p͵Ïz‚¥›¾2Çw›A×Ùvd儯qöb Ñ'8#Ð7Ü'ÉŠ±|_§;gÊ1%3wwaa¶pÆOŠFø¡¾IФ >% 6î}â›{0~HPjpù…$Kl†Ò ‡ê0|…2DœG³í 9¡«ÍhŽFÏ1øÀ^©NeÂzH^2é»ðéàŒ3Võ±;óÊ u[mk˜ ¹ž10Уv³ºÊvFÁÒzŠä—Û̇ÕòX‘6NôÚ1&KZ"ŒÉî \BFpõ9Q×uí–I¤¬‡«$ ÜÊæ¦¨?`lú‰4ÆÜ¹QÇ„©mŒ9k\¹yÛb£g‹)û{´u"ô›í Ówý»ï#6‘.ûbÂêo+_ú`ü›åà‚¸µúó£ã±ÀŽ„Ô*cÌ8uÄ„’k5žÝ´ï{vÁeÚ'e€k™Ó»E˜Óá+Ì1Ïäò„gäÑWí(Ÿ~ƒKê‹%ë±\³ŠèÙ‹ j¯í“Bá'+K(g8Ê^ uïmÏ 5cîöúí¯å_¹ú…7Ñ:ùÁÉä*)T¾ÊBRò z<9·ŠîYm#6&0óiL÷z¨ì³ˆ€ š€nØ~Ï×›—È¥à—ÙjM§ÅLÏàe¸O¡u[5»nÁl˜xˆ• ÔïÕËCÐí\pUÁËÕ÷òá@—žbGDqÝÞÓÅܳ˜"&§ËÎirÌcÿ5dÐV+J”lêáXé·ðѵÿ“ß+'k1ìÁ ëší‚ŸÒ²8(6ò©g¢EЏe`]5¡ëئ4£3Ƭ“¬Î”×lFÝ_»ž,ÈXìÉÚ—±rM"¥þŠ~n)5^”4k%›qØõ%“Õq—H­ÉzJÜ’.¦u«hêsw:fá6ÎøFS¼øÄòƼت‹AàaQ2€wç§³"¥É‚Ú-ÖlËY$Ü4\ý\_ß~nò¾Ì©©ª­cÝ0  ÒbÑsƒRçpÓ; ºÜþp ‚’¡ŽU™`PV/#³<§Ÿ•@™o'SªÚŽ)$)"g¾ç‚ž„ã­oÃÞ0 –Gß½ >3¯D3Å€lÍÀ÷²ýK¶¿IϪ (ö.qÛ!íe5šwlbç§mÜâ¶F¬¸-æ¢<ý‰«Xľ¼ w•¥ucÑ Ë¸úî<™ ñF¨%øâNëõª­ÚUŠËçM €ÿ0w7æÄè)~JZR_ÑT[V]:ô£˜jn»sƒóé†.J°ûžÔ œ|@x¬ªaíS. þ¸lÍcô´£«¢ƒ ¤ã§?V4¦vœÀdÛH|'cæ÷áýBâÒ¡)w¸ ¥Ð×jú•Z\o¡G3^+ knúƒÃ<\ãÉ®;f‘ñ}3C×÷´ßÍ×»£-éÍýžýøÐbq—˜½Øú¸²–ÆÜrÖ‰bò˜?V,m0fÆô #³°[ñœß+j†~ÈÖo„¶Ô­g b°œâÄÚ¡K0£Õ¿ “Û::ül}XßàLèÁvuc§vpSµÊf·ÒÒ¬ÅÊÃUãÛ—)@ð³ÿ –é«@?!ü8¨•+©ãY¥úãǼ0J@VfšË욘ýãÇ»þ:Ëh[¥§MaF<ž· °Á`è¦1jƒúê·þ|¯EîbäQ²’sÇ«ÍcððèƒÛ­}<£¼íS.mú¶0 zI*Ÿ¤¾kÛõ"+7=ã ~(±<´x€—a§#Üy´æH:ÌÙ'YÁæ¡ÕÇÕ‚yë m€$  .OaúíãmÕûsL£ý1È2 |ø÷mYã²}²Lôx3Š{ûÑÆ”šD{s5ÛgÏ@ó‚ö2çmgA[¶P4ÍÚH~úS¦í´¿bFãíÀaƒp FÐ% ›jÒ¸½!–•d‡ë‹°$ø)ÕMcXnÄÍ`ÐnÌÑyÀ+Í•5Žg›¬ÓþgÞhq­ú$€1MÒR-ˆ…ÅOú·šbcÎ,‹b¼i.Åöøl1ï‡Û=ë<ÑMŸ+kuHáq ¦²ÄÙ‹kšÕ®ÂM\GXm$àÂ++al¥‘à,ÞÄ¡ÚÛ¨ò2éàÔõÀKDCá¥1x¯õ—bepá_Æ(ød΄§áIéRXpø¿ëW’zt,Т·ñ2Pœs×m áÒrRY(ÂÀµ¹š‡~ÇLr– ¼²/‹ñãÕÄ„ÍTˆ÷:ÎŤêÏJÆÇÅF¹Nž€Å1výS6Ÿð®`<Ír×…÷î|F?%6ýÚ‹ÇUœñ¢Ö˜ég{½P ¾P&\ú:º=zÞ·Èĵ£I0Ôº1àEiãD§)Ú³p×yç£Y8áõ¬ãL«ó›ÁCýYu ‰Ä¥öbD'p¨3›‰Ö­MÌâq½SV¨ùi!s?kØð&à·°À§m¼:³Ì.€ÜØÄÌ LË,#Çn–D¬Aƒǹ¾ä±HsIý& –Ü ö1}w¥MˆX˜®m¼:éûF V³:f²sÓÒkºM1Ÿl•ðÒLï´Ê~0K¶!ˆ¹ øžl'zJq(ÛnØ/±Y’Ý»Vø­Âÿ½´gårV©ëØ4Ü¢ÎåwÑGW_,·„c·1ðÁÝ)Ip`¹zÿ')á’ (ÁtÂ˜ÛÆp0¡ î«6‰„¿³X1{±ôˆʳÀ.'ƒrÖº¿Z Ê’ã…Xy¹ZZd}C“zW£¼¯Ìe+]´Ù¹èÅå…vCºÐ£ š…j~eÂ×?>3:ó aEÞ2rãã ‚,ËëÀ<–åÍšM b F4è ª#@Ï%Å@ Š‡¶ˆ bZÃÉý&s%Ö빩«Lˆ ±>õëW±ƒu‡]8r¹Õϸ&BÆeô4Ñ¿¾™ù˜y&»5q<ë§6Gþ²z«5¹}ðP±ö˜˜bÀ—€v3+\>ˆzuÜ©ÅíÞ§ä¼´zÖÜufâZ|Ôõ»»oŠ]$Ë| ZîáGÆä~SÀÏ1ƒ%†œ%ó˜VQ!k?eÎMyÁ«ÇŸh.©zdIè_4h è„43¢.ðWï;¼%&Ž%Cý>ל©Q¸-XM)Z•`.&楶³ ¢ùèF*¥ªËÆéÍKu•ëÛbIKmÌÚEå eÏU”‡¦\ ‚˜´õ€vˆb~ y4 æ+A}ÜæóRí¼ Qˆ¥‰ˆ¹}XBtål€#­ˆ %HTV{ÃåúD(˜»½´g1bh(O¸îSÓeÊ]µ ì9äëgV+E8\ÑuÂÞ5ý£õçp}²öiÿÙï¥115¸†ýÖWÄÛS) O³»i߸eu.q8–5µ6®éÇua‹ º„î,þO¢îi¾B4R>V.²w²˜lŠæP/±ßb`BÔ‹§v|®:P1”+€ÏÚF#L|Rဵ^ëàØÑh+£E÷Suk×9ø&(çRrǰ ÷ï·Ç£ÅÈáy¶Ú tè[yÓv&©}‡! ‡h“W LfÉtj­é¦ SœeÁ€7Ðîã,ö[Ýf¿(aQq·tšCè¾ÖÙ)Œ’v€.nÒÖÀs(¨•F1–YÁNµþ©X§¾S„Š`¶.G\àUý`ºX4ÆDD{‹lJÇùYà>ž²à¹Ö{sV‡¥جE¸tñp42% ,¾`y8F¬YxÂ÷]GI|ÍÁÌÉz•ðP¨âO¦-ÁÝÎ\,0Z&¹Ÿ«ÁIˆcv[ƒ0D.}³V†DE¤4/¾û¥«Ñêñ;«Ki‡KíÑw1h×-Sß¹`Ó¡&¸øØ06€æGèø×Þ®­¯… hž1Â[€,.•½+ 7eåfï3*ú¯í}5Ýœy|YHÔû†7„²×½·}Gž×ù•NN\"Î2¥ç¿»¾ŠáX¥KÉIí#Œ¸Ïü£Pè žuLÄ Øƒ›%D8¡ýÌ•ýëä(e•tŒ%<‚`\1V_ÈÏâ%ÍhØ4Ê:†w¼:b¿¢£F¤¤¾úB»”Y¶ Š·ù%BŒáá"`èðìO7Hùô‰õ³eJLSq!ååfX:ÿâLJôG»OSŒØ–#¦-¹¾‰5ae‰Ðˆ$€,&šÀ—»›§«õÕžU$¤šu­§eå}¹ ïq%¸BD_胷Àîøµ%^‘ ð%|'É(Æ´+–f¶kèaHøÏ*ÆÝŽ·–è ™`9)âI°Hƒð'Ù‘,­nJ¢·’™C£}ÇZü›fÇtq‰ayøàå»i9m §* U÷Ó‚Uß™‚ å:ë«Áž ½hêÇô·"øæ6¸ïM×±Ž1qÖËâS\ù‡›iDÄ›ÈódAÞŒD"xsƒËžCF?L–YÍÑàîoÓnº` 3Œg¯y¤Õ »>ˆ;ƒ×ôbšµY"ßà›{d-»¬‚)I€5M^öí£cøpH¾G#7’o_Àà]Å$E3ªÙ·õÃòMI‚yG;©Ÿ°lbËÕ«½Á Q¿sõS_(µ•ãuÄT<\”i·#ÕÕ]t)aY6…íѲåPÊ8÷’Šþ²u~bê:^»U'¢ù5+7,£˜a;ÆOùÛlm 3,bø“éˆ1:PªkI[H‚ÓüѾ}Öz%ºfM:}vF:ZÉ-Ùù’|¸®™ÛIX—Î5ÖfÖLÇ1dŒË >†Gi‰¿"¤ÙH1 c…VèR\â†0k Ú«1àj(´3ÍÝ*fk¤Ú-Æ6CCFhe…Åã ÄõëúÞ ÎÆeY&á MBpî,c©NcdµÇƒ°ÃÖ˜Nh¶®’Ì1¤c[! öþcâCåªz Žb Sžƒu8ì®°ðpîÆ Êjô1ÄüèÜv]†c 9s‚rî?fµƒm–2£a×ç·ð€«Ç H׳qê¼÷Q:q1Öï.¿)bfx†3\î¢F<²¢üïñVLj fçÀ ´oK§£Jç}¶ê;á§Cã-acsF¯9-M~J téÖ‡ëGeýtà{¹¨kµž¬Ù¶Ö`ëÐü¦ŒÐ¢Cq ï³za³Ô;‹Ò Gkƒ„KÝCZ’VØ'ä{w“¥7µ©?p–$Y ‹•AvËuÈ€<x¢<"NKC`XiaïZw˜L!!žë¬R†ï 4Á"üŽ5,Û˜Èm4û°åD˜Z[D•É.™é;¢S‚µraiVOL$&f†ÚµÊ ‡¥s› bij[&£-)A8BBth±mУ\©}ÖÁO(®ïÚ6ÕBÑÁ`á Ñ#”Å­¬hV´~Ù†”j‘¤ïFb5ÅÔ"r% 4ñÇJ½'Â@IDATe ˜Wí–U³öXÅÝÞŒ{sÕ ÐhÁ.[í¬öÒAsN‡ÀŸ„§C ìÛÏÉTçÂ$Yïc â{o ³iœ¢:jÎh×7qtˆàÐ ÁÝÜL¤ö½Nl…©]¥ ÁËB´p`ü_F§”`]\ ÀÐ];ŽÇÔά¬ÀÊ4Ö™ÖÇ\|ÂqôŽûêRA~4ºqÉ–Û(Ų0$<àØ=,£.+Óµ}_9ŒkÑÅjO.˜‚Œ˜>eŽf&êüG™¢kG| èïÍ—š_a‚áÒ¿«}}S$ÕN™gVC¬óY×]ƒ[ãXp°6x ˯ü$´_¨n8j§¯YõŽÏkmü-Üñ’ÈíÎ8BÙo÷€¿hG4SiƒMLØ_ØE‰è60iÍë®ê›'ÁÈ¥§0gB£«jl9™!¿[íÝõ‹Ú:¸³­ˆ6Gy^¸ÖsÀ,ΉÀf:VQ?\Íí¢iS›žDïÍ.˜£D„·¤7“›Š¢¡Ð@R²jü’ÝÙ]ÔþrÌ?¼,Ñ2é* h•¬wýÌ Öž•ˆú“£Cþ›¥NÈf™ÒPä› ›åˆÙ¬ k¨lp™EؾvYûY’T§›ÂÓ¼‚¶¬Ø6üëc!©o34c8¼ÀÈr¥ì ·Û \¦&}¥T›Åèwnðú¡pΊ×ÅòˆõÛùúåÚ;ú]°É‚Æ&4ý˲})×pïtçµ' ówщ°­ž¨á ˜­pˆ?¼}ñÆ?1¯ÅKÁÏ>1NÌH`ƒ'àÅÀ(,°BÇe)ëæÙ£w …+\—3<‹™)LmšŠ³ºâ[.®[z³{\‰:Â'„›ÀîçÖݙ券SÒÛó1 xÏo,Ñ–çDTšjGÔ-p¨íJ"qv©|0ÿ{Lj ]ẻíŽp÷‹Å§VW? €Ý\SÍ’|p`M[LaÄa›ƒŽù'(úaY®²Ø,†É{…[ä bL¸ã)FÊÓæ›ðf¡R׆©}ã`^ŠAÀÝðÍ‚mE.‰•èÚ %›uFÎë`ß½5úî"ŠÊ6î¶N‚ ŸÚ¡©ñÝsUŸ÷YŒ+Ù¦sâú©ÉÙœéÖS{La¦|UæšûÜCk?AÀ¯ú`e©ã’‰àª—Y2I„›˜æÆ„Y¬È»‚ª,0"Z¬ÉŠD»C˜¾Û†Ã|83ø½ÇyýHº63Œ¼ˆåM„Û_Tï\MYa™™-yƒ ŽÅ¢Å@á ^P‹®‰F,,b[v|Õ†Xyf§Ð.¤ƒw1¼ê—§áöX‡x¤/¹ÿ×”çÊ5ÁAc•kœÆFÃ,@„ÌòbP4²¸Ú«Ðâ,,­ÅMéL«Q¬äŒC=âEfæ­RÍ”މmW°0 ZyË8ð5ÓM¬üiI~ôCÐzäúÆÍ)š û ¿½hÓÎ÷›ö*QLz°ëWº u¨˜“.ZÚE󶪷xiܰ ƒ)(BrhDotñ8w/£fYV+L1@s_¶ä)3¾Õ- ;BmʇPG]ŒõbÉ]hi–E‡™W1 ÷g§ƒGšZ‹«Õ2²®Žp KÇ· :7ÛQe‘1›€í{tÉ,']q”™Rv0xïx?j{nøÒ¶6úŸ0žÓ\ÔB#<:¿É‚.>µKÁ;&×e‘l`t¿‰ƒ©4å¥YÜp˜½öè¹v®GíàÿèšPÍø¤ ³—Ô›€¸ŽÑ!›‘2v[ÂÖøx¹Y©hÚàÑ-’—Žï÷'¸:q®àI-ìÜhMH¸ÁFd&‰Â«]H«;VÁdÒX2÷“2û•S¶}›ØªÁ6f®>çÂ*¾²(py¯Ò $ž„‡²¸tu6Ç (åÖýc-Y p…Ø)G(UÖ‰ˆW•VÔ­±5|:ÛZ9|+´g±¡:@Œ VÕ¤‡Å& q « ,¦JÊ£ ÀÂ)ü'”]Gü77x¸úÉJçúûŽÁ/»~ÌsD믚²Z{ýÃ1‹CÑ|á\×3Ôke‚ÏbjÇdïQ8\%Õ÷åßR`eCz0ÄáÆsï>]Å„tÐ7zï–‹ú¢M –˜)¥Ç…ë꾤ŒýQÒ¾¤<Öþ¨6ÉÒí)È¢ú%!`Ú½­kËód&ÖƒgD˜Ü뙿eÚWŽ@º…™íÎÃ]~aû}ðý ©·¯¯˜o-œ8i«‰K×_´[éng¤ve^›éçí¦|ç×b3…ƹǃ¥C4缦D/KÖp]=ÅÝw½¶ŠàÂ팰ÍéÌ~€t)4œ;Uœv—ûÞDtB·øŽtGä1Àe\‹¨Â]iJò] šm.³cÕ9C:ÍÝlÆ‚x®0âÆ„âßïÚ+ðuÙy–ŒÙ,QÈuCÓ¹g7ÑI¶Axm³pãNÙ¬÷÷îz³ÒÕ]¹™ŒújtLãzv "×æÑ£WÅWp˜• ØáÝzº³¹kB`ÓøÉbÖÃ,ÒE%\µ'´³@3UaJ@êª :ßïÎOaʪóÍJ†Î?¤¼ðk§2.Ý÷Š‘+žÇ4&†hS¾Õ=S2›ð]§hâºû°ãçÆï´l”\Ü”†Ö¸¶—b?Lp[FŽˆË²µš{“O\×ãÊÊÅ`]ŠÙC)°> Ôø‹e09·e$IÌN&$,!÷lâÝP±ÔZ+”Îâ§Í\¢³"ìs¬R†Þ¶&ÓoÙä|IáA¯qüŠíÚÖЗܲŒ|¨†èºU&¦Nwïcop×—1²é˜[ƒ'¼ ~í;«úÑv·§ryq|L‡¼kûeEþàþwìðS_Æ®EÿЀ :–¢–¸LÀ !‰·tiÕý#öáË×`ÁÉά¯¾ŸvרÌ~ ±°¥só‚)¢´„ Zfw”iÛ¬^ƒlIUnTÑpر4]m€#nÉ¢œ˜KÇi}€˜ìVT6ÿ‹€õÞ÷#(î°³²ªxÅÓQN¼<ÍRÖWc—²ê~ãºû¤(¬¦™‘®‰‹¿r‰h4×w•WpYœáÆnÉ­åb×sÎeñ¿geMŸY8‰±ðcúáZÖcí‚‹Ûe?¸A®š²HÀêïñÅAð‚öt\Ÿaå¡uÙÉ DgXì9¦FÂq¥£à{y v¾ ªð'lAÏ4鉹ð¯Ž×6žOHvÐJÉG‡Ïp¨çñŠÙ¹Ý¬Þ¶M‹®›’­»céɃ ýZ©g$ ·”Ì^"eßAcuœ!Ø–.Á ^S¾Ü}ô—qbð¨Ê0|˜8 ©·Ì£yÌRå>p£èºïØÑx̕ӓ:±wŸØj“û »1œÓŽÛ®I¥å,ßL¾ ö¬Â Üb„ŽCè¢ØÒz9wÙ_ýðdòá&Ye“Ìë8h¸úÆW¬Ë!Ž£j7ˆÃcOÕ_¸°®´ÇtTœXûÉħ*üaÖ:‚u,xß\'«Þ˜•eé­îKý ¬o«>fí xLh<«C"Xc¤ }ÛØ lœÀš0ì0aXH¢†Æq¿¼{®^$ðQ"RtÂ98ƒËÁþ;xÄÎ= ´ñ«5à]|°šñ#arᥘ}ጠ“ƒéઠKÇ6»‘ë Ú¹g„ðߨRÔ˜XwáàáfÕ[­x¹n°ª” žZn%R·­ª°¨.$.ý¨G EgY‘eŒ¸r€ÂŽ-ù Èï¶½˜4ÌX/P«!éÈ¿½½#šL !Ü¡fi›Ëì;nž‚/xŠÛÄ&@ê^ ÌãÉÎ7ÆÜ7–¢~zÄ×2úâ¸- £™e,àÑl1­ö‹É%IÛ¨,U÷†$Ë'6K›RĤ¹aÓ̈ q‹0|®1¡ÝŠYªC›ajzÌTʆÍQ7psg¬W‘µÑ•l,&?ŠG;ó<á? úÄdr¯÷¹ï)ÌkËbÄ„KÜ$6DçÌjOFlÌX,×€›™ðjÈÒ©w×/4N\ó𜛌¸µ¡41¹ãYÄZ®ä"ñé·\Zë——`!ìrÐÏ¥«æK¨Ö>|¢µŸ²Þ/S¸íólSüâeÉ‚æ|HгsçvŠÚ.™¬àÃÆwsýÉÀ&âë¢h·•=VÁ`7Ïmr ]mqÖuKµ&èõñ<Ò÷Ü•b€’ôˆË@Œ>ûÂ5¾õ»ÝÅ´AßîNeƒ[tÉvÔ‹±ÙvaL·W×ÕmăTšR¥õ»gBÌDh7w±¬¸gs1§ÞrCcxΕ²¤ Èf=qmû ve=Ÿ ñ,¡g‘)Snfæ‹[c™‚;f‹ç¸:ÂlßÃ#ôè7’°d$¯lq¹.ݬƔոõ³2Δ7V°VVU à®.‹‹·)gp¡×cꞀ°Û­ ~%hdSWêhh·ýk¬®çÂ2!H,ÚæRÑWliµ1zš†«a}„CZ%F%°{®J‹ÙNléó’ÁD°zb›ªóVË|òë§*šÔk­ðì( ‚­6ØÑ•‡:·…ZeÌæQ(9 Vùƒ1âgU+IeÞŸ˜RqUNPÙ¸Á—mæ~ÄI ¤'Ä1ˆù&cyB•¦¬V!6]׃²WH8˜u ¬Ž@¤®N1OÄLjnZM Õ‹ J';¦¥™³@i“°$dæâ¢ÁsµŸ%í²» gæjÑËÎ\ÔùÅ+5\M‹åùU—r*:&X0…7´“¬%Ë}'ô“_qÜÚk2†8x ¿{7·»{\:®ÿ¹äÆ%R[÷l¡x1ÐKÉ‹(%Àmë_‚Œžº]Ì®báo3ƒÀÃùcm¹Ó}ý¹>9hLhÕÓøø" ¶E²ÆM}oŒä!?ZË®I ¶4¶s'ä2þùŽWôݧ)ð²ôÖ·<µŠub~OaØ6lv8šòän¸å[â§õЦáRfßAç…G(1ìd_î%Á'8H<%"l§;y ê އ à'Ø, Kë\ð’‚®AŒsD L9ž˜@xÌéÖöÅÕ;+ÄÍÂFÄú?ó¨Á¥ö„¦Æ^ÖWo„:5JP¨nê/¥PÛä²§0ÁµYæ($ˆºÑúç›PbEôÆÝ:¼)ZpR>?ÌM´}~ÿ–0ÔÙ‹×…pNèÑéH¾FŒEôqÇ!E©oIáÖr£ñoÛãà ‹N¨vpsÃÛ¿jçë‹"4jmÂsKîñ?Á$àÎõ{Œ.C³¾3Zr‹ŒŸøhY¿€y7¹'#Ƥ3'î5Ý¢3c[›Pñ÷i„ŒuÛhŒ2Éz÷>ƒ¤—åeþbL&>M¹ ɉfD°â_¼¬]˜—ÜBE±÷0KUb‰Žr‘¸^èÆEÖ›õzá9f,h¯?ç=Ãl{ÌÕÁ‹eS]›{{H`O ]ŒÕ¹m{¡üSMsnH,܉÷Ï„¸§…ŸgDJ‹'Á&‘·0sAu̲•Û™o F[«Eh³Ñ:¼8— ¥ÆšÕ ,@¾ y¸±l˪á9xްþ°£hVaq«Y´ÆáÖw{÷ü¤\u1¡²0cúøåE1W lód=-u36jÎ-Ö®oôjì3=^IKƒï \øCЦüø@ùô©s2€‡ð?÷ÜÌb¬¯%§²f8íÿäŠfÕ¤[PšíK#Tt–Z-›úEˆ\É¡ó¾£ù\ÑMc™b%”ﲟ, sõ³ú’‘r;¤ssC‚ù7jºûJÄ%þ¸ŒK7Y×o2Ó¯2ß4ÅU‹OÏx~#,·s%Þ#äj¬¹ÎÊ@³ˆÊ#”§Ù:aåv\àjjïÙ¿Ê”b÷¿Î L¼»a‚[ÃSÓÃ\úqñVÞ f–9ë…éý…Tï¾×†ÂZ–txÑte '(ßËþ*÷~ÌÙóøx„ý‚g@QÂàßn.ºÔ>á­lÅÛèÃ+S”ðµ+×Öe‚_|›‹æ…ðȪ¡„hV·³n0ßM[¬r|³žó‘¥d 5䫲 pLØÌ/wÛèy¼¢ã #ÿÚϱŠÁ|[k.×–ÃÛn¦´"eRXèÇåb~Ä<`Íh‡¬öÑ Dı k¤ýKƒûœÛ£š´Î ”8tbM;¦jgP¶!«µõ‰‘þXÞ\I„Ãi›íÂX\–¢þÀÉy!d'#vo.­0þº¥)Ïݬa_²²/ÊDqídx}³Wü()ï$45 €g»aðÄà~cóa;v]¿Ñ©AôB$Ĭ‡võ#½Æèèà©¢”Cõ¯ß.Ä´Úì^tBß;~I¾, ~ž"] È%`«WôÕ{Þ#ú\1š3‰µ‹†àžÕÊ{úT¢v©¸ùZBê7w\_ûëлŽ9;}Úô¿k½jz/W"ÜêJ€')Åî°¤pá~ýBœÁ•Êct”K Êç dRuʧGÈ~rÜ@0{GÌeÑͬè¡' ‚¢s×1Ö”¶e1ÅC+`‡È¬ÑÎY†T@ À“•ÜÅ5qˆ:š°dïGçÅ7îr¤Ê2SÔûxÿ©¦ׂ »*‚d,ë+aèûêrSžŠ…7çY®ê“ÖG·úD§¸½±ød˜Çôí±kž,áé$®½ƒA)ªVþhÅÑ#ú¢ã}¿“ñ›¥D ˆsÿÀ nO7²`3L,ã¬ñz·œðµ­ÆÙ˜©ëj‹V„úŠ·cMë]Œnáþ²¿³ê ì¢1)Bäkìyà×^2ý¾nOÉ#+’´«4´>äÔϨ÷€«)ÑZ@´q ÔÔæW©Í²§´FfZƒ:hh±a ÀjDŠ›–D¡6Ai‹ÎêiV¥þp×dɸ„SWÃÈLr}Žô`É-Ø4UØ­ÎÈýRýl Æƒ+w.}ð$,«R2Ä~_ Òî]…®X§„Ô§Y “‰³ìÆ t15¸@EÆ”% 4ýüàÂ×¶ÎWˆ¦p¡CY€»D‰;¢ áDSï®Ó^MÓ}Ǿ7\–Ý\¼Xµj …¨_Cé¨Kvkƒ {/»§øýt{(W b‰”guSÖ´¦¾Ã­óÖaZŽåš¦2R~ðƒ¯¼aá³sG78KX ïU¿‘`FÀzÚ)d«/ò+œ˦k¯ïž–e/½Ó`ÆßX³¥gài“X æouîíZî3Pì‹r¢}&Mõ• ¢¾0Õ`5› ¹÷Ü$ìMòBy¡ØÏ|ïƒõq‡¸ÚÞtfÖ÷(ȞȭØ´_².¿ì­~_$x‹¿b™Úœ ·Ã5A)°¥‹âÚ \}.<ˆ¨™ÐÅÂË.…Í{GêxmºÜS”YÄ9–°°Þ‹ÛA>¡èÚÕ.×"aH:7Ÿ]ñ}B¾ê˜â%l¯×„²ÿ™ÁÀXÑ=cg˜d/ ƒ:Ùø Ç„0:ÎþVò:’ µƒ#™© t–¨eLÌ¡+RìF²¥”1—5¡âýðU‘½úˆ0¾QÀÑ'þ¥›…~æ±Uå—Õ¾¡µÄpö¼ë®TWÙ®ò "Œé¦ä€ù3³ÂüV<°2÷¿yEDAñ„—f×Õúê@ÄÏ ×ãh\ÒÑL»ëêCÉ 1—ÿ@¤,õXÖÅ™Á´ùUúq÷ÞLU3aÇȹw«rUÝ-šÅª»!§F·õ&?Ù««URQV)(n*ðXŽ™0ÛQ·Á/DÀwqp0c‚š¡6hÙ¿ÞQk‰‡{ l’iãÛ§0è£ÏhÀ­ˆî«ÅÎÿ– BõÏúï}OùgM M¿·õoýù—ÁÞ‹ÿŒÏ$G4ÃaBR;EßÑb |Á ÇŠËjü 8[Fx÷øŽAœol9!Ý”jñì¬7$7fÊTð[Hw¦¶)¹dÝSàë‹W͉jDóBp+#Ìܧý{l©Ä£Ë·,‰ |& ÿê½Þêœì–EÍ´§-cZUægªwsK̳7\Þô="Цõ®6xúJB®¤úDÌ~ð> S¯ó¾gz¹ó˶X^šÚEJ5‡šÎwL¶:7–0¥­•®[`ÝÀõÎ]Ãj„3ËRœÒ9B/íGÀnDD#c ¬mº9KÊÜ#› 麶ÁŒnó`q±o)ÜJ1½vÜA!YDTÓù`ÀÃ)Fn¯À´›ë“Æ3ž+åÔÙ)×.Mä—mµk<œ¡K¶pÈÖ­Uæ1jEçïq£êEÆÉ_,„jYÅ ÊcNðY¼ä¡˜¢h"ËQ3¹ê«ÍA\Hp£8eI6rÁÞîñ©w0e¥>=¶}e¸&±p0ØMWÉöuêM¢Ê”Ë9vx¥†ËîíÞ˜7Ÿ!Lqvqcô_ãÏÂ,éz? /pЮý1“Ü×v,h¤K Ô\~´ï6EøÐŠu³?LÈ4¨ñê'Û=ÞÏ»>Àå0†àÁ¸§ñfFXpÊÈXhñµã–¾çÆÄun­»J0¿{rtîÂMê]Ú½ÓÖËŠÎjs? D?B‡X¹{Öh/¢‰-‚ @±Ž8n½^cΧ©\–ûQ¸Î QxˆK ÿ8——Ò1¦ë…[ö6ðÌ #6E̺Mq™â1z‰Ñ:1!8Â{zóÜàë¦'±òVíYèÀ‰1ÐñÍu}`Äëc¼ð£ã*V½pïMæs´«/T³õ;w½×5‰Hbý¢«3+Õ…Û¯'z/¤©ï³tm„¶ä£l,'\eÃä#o&AÇÄí=Óè–K`£õüƒuž]·Gò2DuM 'ÚŸú0«=|€Y€ma©Ûé*/®ØR¤.b: $ã[—­7»|Òî=`мk/ÖŠ-cÌ×_„è;„æ–k·) Bä‹ã´!A`Uä+ÈÎTãDqÑ´Ñ^)º•XdR A¿µæÍà´Õ[ƒfõìØÔØ/ÁÑ×úá>6 þ+ü‚ƒ‚É®ÉÖ^IÈ™ZŒ™ÁJÕ ,\ÈÜà^B’Uq?EtÛ~5i8aW? »õ½i³g*òósír3%…]PÅø„Õ<õvHAƒ,áØð mA}¦ˆÖkˆ÷Ì!?ÃyâÕŽ e®ƒ`UÛE4†Êjt}YÕ"åéÐÜó«ŸÏ3\: f0ùÏSŽ(üx†„?Ë>ƒYEe7qñ K>*¬‹Ï5§¯vÇ²Ô 5c\ÈOB $¥ŒvSnuB’Ä“ÕWÌEäôs«/ËzGDÌ„àëЬö0¾ô¬¶,ÍcE©V3ÑÆõmp•s"EHÀ¡8=†RCÕ:3¡‰Á¸„ÓL-’®ž‹òÖÍ)³(™ ×M‘BwSSõG ¢ÒY'ˆF÷'L°MXO9eö¦>ì©I©4F~È5édP²i;:¶z§ˆú«‘âmlŽºfVOEßàÛ=¼É k,¦ç’¬”k[™ýê} Ö Mi¹Ì-öˆgÞ7Ü`q}qï¹ö Ŧó&úÆ¡^ú}È\ÂÍñác”ŽØ„î™']=~iKºÇ—µ§‡nÂxaÄð` ê‡Qé) $»8©}=fI"ÒßI÷çrëp>ÓuyþàúÑŒ.su,§LhOVÓ¯¤ž0[H:.Ðÿ¡S¦¥Bþy¿Z,s˜{ö¡ÎRD1†™Š63¯¡~a;°4xß-9·$`R¨öW?‰áïZs¸Ûb¢¹å°í|.cP>MF¤c}Ä7=µ$íÜ ãZLÞf‰‡ß,=·$†Sj €˜‚øqJ<–À#îV‚w,qª-âQq—œ ¤4êf›©‘wß)¡ž`Å(L¢ÈŒÈµjA$PW “rŽ ?‹E´›Äǃ Üg ²b«‘á9·&d4³cÉbý©1R°Úä•–TàEײºÅ÷VÍód¸(ÞB°ú³Bj•ÈhµÍ^åIS xÙ¸•nâÉ!FœëûõVOˆ:ÁT»W" Y'OÄqÑžùV×Ö šDß’œÒëY¸ˆµJ=KC`1>b>öL‘=(0≭vtÜ“®ŠÛ mÖCvdQFEƒÆ/56†Y ê]‚n‰ÈŠÖ]ÀfM"Dm©ƒ¸£Nq²~úiòN‘«Å Y(+„ÏqÞô8ÈÒ_¸q=í#¬öEÄ8ŒÉÜ ¡ v´ìØ”†–Š“âϹ…³!c 6 mŠ·È5¹85I´Víúy” ö÷ oBƒà®œ$lè=ƒQð#æSà˜|®«B˜ovs˜½üT[T¼m2!šmÑ®’K×µ"tîc’&Ûú-aßÍê]O#[ÿ—%O Θ-ð q©ëÀša›ò>°ôžðsûö{¬Ïn]€†,%m`º¯“ËÊô[»…ˆ}K ±åGJœµ/¬±0 ‰ÉÎ×]ƒ…X@mÛÚ>YBmÉsý ÈP¸ª"¹xF»„ h~¿—ìØi°Ê Îz®DD\Y1!C@ô1ëAp^.qj+\š»Ѹøš[\B!}E8këÙpŠÅ¤úÔDðˆ¦¸ºòJ‚Ë×îþ—G‘ƒFhYÿÅ¡§n×X…Ûð|€¯þƒÕ=2DVtI”NR¾.œ2mVÃâ‚2×G›d ©Ÿø·AÂ1¨lDù¦à)ÜfŸº~sžd7‡Õœb.CÇÎSfŠp=“… ôÜ Íi”ÊIâïFΊ×s«}ÖYÖ±d¶™OŠ¿Æï<ñˆ²Âúˆªérã\)¨FîhY ÄerYº%Q1ú¬© ½Æ4cžxê0·1"HYPZ5©'Ž,]ý…§Æ*!™@x`} n9>‘ÄÚÝõY#Ë´È%)‹ˆ€,Q_1—Fúà‹l³ÀƒmÂZáåâíY¸‹ú97bÈzD”áÒ<øJ"›Ðé·ëÜšÚ@õœÐéjðA¤k'$)Ÿ6¤±Â¢·ÿSÔ˜¶¹^¸ T0-éè÷,!\{sð]C1¢“êO´ù[t n Ô;ºc$ÏÊ61Ó\ò†úK€ÐÓ+eÒ{,Fq©-R¶d|1‹TƒúË ë>|Á“È×_Bæ\o1œ-ûVOÌ3zaMß9²~Ì€ìšðúÞÙDn-' ¾ç”*øÁL¶vSÒv}¯[ƒ)¡,³AD®ƒêÈ=¶2¥´Çª%繟È$ Õ¢ä¨ÑÂl`aÂ…@}®ý;š0mì¨Ë Óg™•E¤z ìJ`èÊep1ìØãúNÏžd‚†Lè¿ïuÙG#JTÚ„OÈŒŒù;±~ê6·êþVA0’oWp™ÂuQbÕ¸´† §¢Ñ ~ž,Ë0:;U@Úõ¨iltÛ¶¹¶>ÍÄl5PJáQ {^‡–ƒ! —:ê- à„g7Öè5#>7õçθ”³cH¾ÅÍvUéвS#kœw¦D&(h®—µY‘ [´¬¼´% Ÿø=Âû¶\F+•$X=ÒÍÖ*«³­ë®_õ¨7Ä]` ‚@ÚY¡} ê‚QÃÛÀ Ö£ À²n:èLø bMuQ€b‚ oÔÓãÕŠž("ökÌšØþ ’­V©Ýn ì7M™ù;°{‰»ãla€€ž%Âi¦dj€4áî0ñXú0Op7·¬œ‚±ð3V+« ˆgØ‹©#sQ÷ÞÀ5&Ý"’ñ¼$ÈK¹f´º¾±Ìõ{¤ë)ÇìC#ŠË`YtaAm\ì¾ zPÄ"unÞqÅâeŸÜM€Äê9ö–qý((%*ëGƒ¢vq‡c&ůªßìO6Bx+p6¡ïfòQ»ñ¶“”€…åÞ|Saó‘™ÅÞŠs1O1¸I£äE £Ái‡ÂŠ!òÆuJqö- fÙ67ñeެØfjÀЛÑ!äˆOc0„+ ÷UQn¥šbÅ%7çÆþ²Ån„ZŸf‡RXé›ÕJqœe¾²yx‚q–S•p‘“èk,c()m?vqÍ—¯‹Á¿LXhJ²óxCèyƒâ¿ÝQ×å‹ÙXsð­àq6¥)&8 ¥ÕÕ€7ƒ•Õ¬ªžÑL¢H:pꙉQxÇ”yJV’(mN» y|‰‡KL°üá³õ'®mÔ,þóiI¥3Õ´ÈÉ},s#Ér,á…‘;ñl޽_x2zÛ®íy±¹aü¯‚ñd§טÄZ6íÛJgÚÊ"Iz=±v1ÄC‘QhýÙqŒöý›Õ Hycž~ƒͻÌÂÒô©¶qfn1ÀΦ”µËbm;‹®ÓÇ2M‚©ßŽt a"´­èî aP€ì¸y£Oþ3 iáILÛý´µa˜Œe#jý@):ør½xQ ÿ«í%$)–ÜhÏ[̪ˆƒkø-)MˆNì×ï„@x0

    …¿Ù:Dn¿-wÓœáýЙý8ɃQ?È~ O€ÜùL^ç…Oìb íøòƒÆôˆ¹¿) Z»ÿñ›0+ïY×>+¾“ܵðüéž\v!P†zÛ}µ øRœgàÅQPOÜÓ)nìdh–Ö° â°ãà¤/0r™M’G@“û€ÜÄ;dø¿0_-ÉBQDNødáàúÑódW’ \šÖ"ÇÅž‹ÆA|·,¦dÄKñySmqŠ`˜3VNqãôfjð' #…áÔµG(‚18 ÃÛ1½69Ð ®½7¦£_Vç²½¬w3“1kÇÝ~o&ÆÚAž¸V‰™gëéÕÀ‡Iè&¤`aûJ&”“¬µ8š@žy) …—vñ`1YaÃÅ]ž'‹s­„ˆå­OBµ ÅÑ­Âz>Y¤!ËRdæ‹"ˆ‰ãÃïxµï·ñŠPIPþMŸhÌ`\åð Úˆ×Äê;úÒÑ(˜®Õl˜Ow¥¹W”ùæÎ’‚Ú'©L|@p¿W™h‚7A´’v.4m©ÎävÀ–Wó>Â5X϶Ðw.%Ÿ†,ÄW{óË“ÙÖîûn iån >©Ï`5¶,ÓóÁHrKõÉåŒ9]7Ž ’ ^í±ñPj¥Ô‹à~î ‚÷}Â…@ Í*L—–ð#¯­p¾þÅ>¾ÏZÖ<‡þR¸1(åXmlÊçƒt:|ž—c-F ·Y×dz>Œç0=¬ÔQßANù¶8¶þîÊ-&²÷ê`m³ãÍB‹(0˜ƒ³sãF×Í›P¦`ò&èg·TcöF$rÀ*§’°j€5õæ-Ï2±‹fÌ2·Ñ´·ä3-Üg5¸á |Ĭ¯¹¨„{÷¨fæGË– ,Áe}W‹}÷¢í„ÏÊ·OÚ:vÚKIžî%>{Ó5.w²ªõp }³ôX¢b›ˆ2€)Éù^ÜG ¶Öm"ž= ˆ˜‹ûéI8þnÂBTÔžhypcÏ³Š³¦ 4,]‹q”º£˜½Ç\Ôæ¡þô¦€\)DF¹ô„#Z)ÜSbJ–€1Z¿ð4+  (K^L—`à€½zÜE_EKG5|Áò%Ú6vqU•¡~]ÌØ¬<æÑ­eÇ« `£ó*øY<‰óx€`J¢d0ô?9jB5£Kp„æõÅ˶žîíf¨$³ßb%7ÁœÍ"Ã6X˜²`G›#Bæ˜{B7x,&JSÆ“]Wû‰íª,E‹?›OVܼ¨Œ@{–qoÚ³D°éçžàˆá]¸5‰’¤4ˆ%æ¾¾'d\,Rp5#f.ó éYogi]Œ²‹û&ÓëÇS6ÄÕ?á¬ú„ÈèƒöÔt (CÇ9íÕÈ"f½é™l£X‡eÁl«y\© þú}À‘´©õCñ†#/MÝ=ËÆÒ4„éE³½Ÿãßë%¶wÿ A™öÀ×ñvn½4F Ò „ IwºÑtºi /K–ÊwÔ=¤MP¸÷m >5#!Pܸ!Æ0ÖO.®ö-šµ}°páA]/aÚA“ 'a ƽúmćÁÆrsq>—ý&hçž‹.wm¸ÇÅÌ$ìþiŒ=~,¢vLìw˜n9Wß'Bzü~¶ÌÆØV'ú _×/38ÌÔÞµÚ¹‰ª«êqtËI™‹nAogÎùZD ®UÕ|𓿲1*mXœY¬æåü–š×ßb>!X5sÖ!àåf¤­4xBx%Â*0|ÏøÈmȬY”›5`M1A×ÁBŽBÕy!Ãr•pèK±}óà uÅúP,!à BMUôµBdgûµ7\Iµ¢­g«}¸Ò„}µÀZž%r©cá&¤Áìõõðz¶¤3,_}+—l‘Á~,Î6–ì.[>1‹£x&6Þg„Oµ®áMЬj¦|+×è;øL1n±E´ì‚±a•ú²þ„™Ë½l&fõÞ»? ô××`]•!KÙŠè±™À]‰#pgבòÅb¬^–h‹Cüî\ÁWr Ž?Ä¡F(NXkH¬×®!Žõ[ÌÀÅk¯d‚¹{Vbp„Ì:šGîzaÁbA‚K¸eß)Ê÷VqÏÊêkׂÄ%ýß{ÓsbËú|we•çv¸µÅé.ºqW”׆1 Þ¦™OB»°ÀÒúÚÚŒiÎoÊ%NM³)a”^ì‚0 ØøúÇzJxat›uéÁZý|ÚñD$»g!D…=”kÞIlW›¨q^g,9;z±ˆçØ>¢ã÷èsm8µÖ¯ØÖpÑ@6\(yàŒöÁ­fï¼,):gs¨Bªñ`âÙñ΃ëtž‚ðG—fÁ‚‡Á# ™ 6îA=¶´Ø«[­Æ u5b\=múCÏÙ3Âbw©«ùIÒùbƒÔ_’~ÔN $â%¬Û*Mñ: ·âºeX[‚¿8/Å=´®þüO›Ï£àaÜø}dÂOi#m-c´xóyéTÕ`bYë,ÖSb×lÅÌ\,<1»â+‚cÔ¦ÊDýkð“TB„hú>ÐExV…‡ÿ¢ÁâGqæåMj]ÌŠÏüD©®Y­6'ëŒ>Y¢qÛØÁf¬=…EÊí"‘ÂLéÛ|…_mt>Ê¿]+JÌ&°œI´¿äà ÔhoÜÀ޾¯¬Œ'Î&Åðw=å꺋”ßÕxC}íÑØžÊNK¢¦ÁU5hͧ°®Ò\p|oYÞõ’¢šâKç%¾âêËú¸~ÑÖc›×ËšÞÚj“úµ5ÃÜkÂH›ÒëúJc`ØË x ˆi­S:¡).Ü`íõ,QÈT†|÷&œß+Ø^Ø94âŠ5w—>Ƥ„†–o‘ì,n×úÍU§q—æIÓ¤Åf²ÒNÙÖhúôç)÷ºÈ˜k¨< –dm.Ëð¶c+ëzZ¦«Ñ²‘G¤ïú¾S:BV¼zöÄ>¸ñç†!ñdÖ/ü7Ë’€Î¾ =õÚXÕ¾,}K‰Ü4e—0pow°ÂŒ+–¡r޵‚hLi%Zp.ܾ)HËbKÆ?}™0ØFž¦Ë<»7yþ‹“ETÁO7÷Ô§àÚc]Sú«æpÄÒ½6]þÊ-`O¬ÛCž˜K¶œiñ ÎUPâÍî*Ìp¨ ÊÊíñâU–=ºØNØLžâç6“‡¿nþë?þ¿ÿѽé´á¾Ö,¼ŒÍ5>~þ«X³§I¾mSÇjƒÖ¿¬Ó×O·¥}Ý›ñúÃû á÷oÒJçy÷Ù]Pý «/_¿¹¸yÿfSA‚×oŸ?]¼y]É¡YŽûôîsµ8rb¯~ùpñð¹"ÂuhL›UP×Á´™ îð[_þùç‹ÛOÝ_šÕºiUÅU[èø˜õp¿ê«ÚßüôS×| ¯à}ý.‹Ií‡M™ ºyÿsãåà·~ÔjÏD鿾çð£Ï÷`eÜ~kåxÌùQŸ|Ó‹7=š¢N_½b5 ‹¸2f‹†V<øoÿÑx¬A+TjOöT¸øËwïèU‚quñåë׋wï3ífú=Á1ZÆ~ßµ×1U±~Ù/$Øw+Žïÿg Ë·‹»/ž!Ü>õçáC‰Bˆ&@ñî¹üBÁ?õè,ˆðrÉν鰎êc¾ÿð¶ªJÂ_XpXÛ5/ß¼;ŠI ‹ñ”Ÿ¾ü×ÇÆcÀ#¯^¿ŸaÀËÏ¿jiéËÉÖ·`»‹n—ñIðùÏ/o ÎO]\ÿ¿ÿÏÿÀЄãË_H{ï00yýæ}¿¾øãŸÿb.~úéýÅ?ÿ÷?V7{hYÝ7obÞË´ð.Kóí›G¶G˜ˆw_iıW{ûöMÄ ‰ú|ùöíÅý—oúíÅŸ¿ÿÎÞÍ:ýãŸÿ¼øÿö÷(*Ió­”øøgYe´¢µ?ÿíoŽO)kG¯¿ýzñW×Ûiý!FÌŇ_»x1¿„X'H·ó6"ÿöË/ºŠxbÃLß·øÃû÷K޾Fdömô•*£üoR,Ëö Í=ÆÄZwÛ\,KýêMÖ< âE”5Ì¿Š_ÿ 4xÿáçð¹¹øëã5c%®.Þ°1W}íÿñ¿þÙx?.~þ¹GT4¾üÇ¿>]¼Œ‘oÞ¦\ Ú‘–ìS|ÂK¹(׫èõ%åù)\(þË“ç¹ oßozÿþÿ ô”¡1î£cAà¾Æwt·0à!ƒ“ͺø’xŸ<ñ›ºbX‹+o‚]Ç;ÜÔüë_\¼_S°Wžô”µþó¿~¿x“²ÉtñòÓ_ k×Ãå.#q Þ_~îúˆC¡Ä ,×ÞcTn#¤Å ·1âeÝ%ßz_¦ ·ÓöpÊE¸—õ.&PŽ[Q‡×­ð°³¨ï_#Äç¯ÝWëcVðvÖ —–°~J8ßF˜þ.&}å6»Žàm2;bÞŠÏbÀmAìmD¾o¼û`øŠpµ•Mn3pX"¤áÖ}‹È`“%LLr½%\_—LœÄéKö)%ºÊºƒc«F¢Éû?³ì‰Ù\2Ѿ‰n߸JŒŽ>÷ ð&aûœùψo“Èw?ÿZû›pÏ4ô›<Æ·,ÅŸŸ[á ¢åímt+&½É+\÷výŸ}žåúÄÃiÌøò5ø\wW ó[ßmÍöú§Æì;/†›<Ž…ßÂñ*Á;0g àÝñ†Ëº=×½oO—GË–K^ü•ð}‹þÃ÷Gã’‹»–wÝEgc´›]6yù8¶×‹‹6Hê'Â窾}M+úMúï 4·=WíiÊ}̘ Äìëì÷¬Yˆ½ÿîhqãlEJˆÝ§qñ2ÀŠ‹Ò’û´õx“Ëc)vm hæ}c‚Á à—²,yÒw¾®ÑËØª¾ßnAE¤OC…¯#2M<Åó¥H­W‹L(Òt ·6¯ÞTå,%Þsñ7ýôá·ßê/¸*.Nz£Ä,% 8þn¸v,«xû¥{cbsÇt7õcüwÁö:¡¹¦ìýþ)Ký¡å—_?\¼ÏãÜg#DóÛ‹¯Ñ@Œ®ÿ·yw…GŸãŸš¡xü>Íø$ô-¨Nßoß¾f±nó ’šøžˆŽnxý7ñ)Å/öUøìÆ'ŇY»ð“Õ?$hj‘÷ŒD}¡Ï,y·d¾G<Žž7úÌÜ$œ7mìàO· “a¤4ÓæîaË­.&ˆÓÎ€ÒæÍëMóÒVLñü8…RYŸëÞç|á)p¾ëBTl†Ðï?ü4-ÊVG¨¡e‡üúDÈ~Žis{õ¿ø®Oî¼A¢¡þ¦TƒÀaäfAʨ±>Ý Æ­paÒFÿÅTß*ŒöÍo„žbªÂ‰ŸS6Çv«B„&@*ü`6W~«Ï®£(`ºeÙCv‰†_Öà]±'‹}6ñ/ hLûí×_ç2?g•„nÕS£ w}Ý€–ß SàÄ]~©ñáMîíë—Ï4×~M¸Þ¿{ñö]î2ø ‚ãB" Œ0æ` Í«B©w 4Á#$w] ²Z"ň†q1ÚeÁ‚}÷íD¥)ÚEÏMÆ'´Esq­R¸†–`¿ÿø¸ñç)’)‰{Ž„C¼(x“'¼K¡ª1vaŒ5€¸î®N¸ÛYDîIÊWÕ®ÍÛ´N<"@Æ$Ù%DÔxÆà™Û,G®äë×Ï‹a”Vcs[˜„²´b´¯Í?ŠËœ»޾D„!bÜ@ Œ-þt¼_lA¸9„8 ÷¢ÞIWÇdÞ¹]sÔ,e„ÿMÇ•WX7{ëKüòñ?JÎ3%RO¤í®!ô@–¿i¥ÓrŽ섬ûsî‹õ¦tÃ3¥øòåSøÜ‡çù¤db4 Á¯Å³¯11ø 0æ. ‹Xíeâ§%Q¬OøØmDOƒç8ïe±62Ü |UL*ÜYŒ~6s·£¢0›{Ä’-Ð Ÿ–hûµ##Ô×Sá0¦c_;Ï#L†Âu´ Æ/Žsï ·M)Ñ®¡'ÔbDq÷×Â0üI„H»0¹‹f¢c a`r7ÛÑà´œõã€ý~ñ.‹pƒƒ-šï@IDAT%"ÅÓ®ÿÑÞB«΢5øyœM+È]¼ŠH€f…Ò©š+ò Õˆ»ä&hÙeíîÒ2¯‡Æü òÖ¨Í`¤²Ï=e=&²2É{Ä,Æ¢îÁʺ Ò›„ä¯.8ÞŠjçšðÅ¼Ž½Ï‚qÛà¹.n¹AL<¬Wew2Ú—1’q=úß}ÏŠaÌ›ÚþY|ÏUûóÏ?—$ì‹(ùáç÷q$…áꃕÅôƒ—µmè),ØgÕR2ð÷c¿7ëÐ5Û‘>jY¦S&þ5kùÓûÃt´ÀŠH°ç"¦Tf8Ë®Ÿ³˜õ¯n˜ 8þñá Ç`¢x”B,Ç;ñjŒ×­ÁÛb?r#l‰hs«ßDÏ7YæW,a Å Jp ¨Ì q¨ãÜa'ff7pš¦Wò93#¬÷Y Ú º,߉m>ª<€qø>ë÷­ÁÏfAG³igU §Ý«˜ŽHÇ ”õÛu¿™zDe4¿/¹8ˆÀ%-˜«Íf9Y5ø¬”ÒÜÌ]nMí6&ÑçfEë{»„üm}²´>Ü`cõxˆD¹OVz˜÷6ø[£(ævX-5Ë¿Wv¡TÏ/1Ö˘¼Í/͔Լ)ìÆx3/osýv¢" £U‚¬´Â•‹»?—˜PÆ—)x˜æBóSähÿçd1…ÿGÕ†Qð›uýX›ßÿùg¸+ú:åð’8 +õµ’º²ø³î]»u|D,Ú¢§ð`SŸµ›ƒåK‰†*æZrP˜·äÐŒùøT•A⇶âîónÓ)îæôˆ€™Ì¨2Â(,F EGHbìs§ªä‚yD 0,KñµëÄ âÇY5ýÕM±ßÑ0ÅUq‘8â6¡ËZ(p×Érž{Ê.ë—»?\õY¦=Ƽ/ø¹Tž&ݦ÷½Å% ®Ý‰•ØÝ|Á±).½Dš>÷ÝqDvls· !ë9ÁŽØžuÂÚPFΙȄŽuÓöÌÁöø÷?Úá‹ð÷ ‰#go£Ã·„D¬üÏþÞøÂžï‹ñÆ´èòG% 1Û?þñYîöð»¦,Í—„dÊ}e¥U®aÙx(ôÖÏm‚ñéã_ â}Ï0D+Ö oߣϕ{ꃵxˆÁu—q¾P}*+yÿ’’ÁÇNµlÏ#ö[½°o(ny£¾…„n¥ªøöî݇Yhñ>8_×^"qŠÇ™Ý.ÂÐÆœu¢cFçl«uWšÎuÜp,§7ÍñÒÇb·p¢™ÞÚ,’ÇUuYýs¹Š4tEäsB¤Àô×[vï;¤¦õ±çma ú¬RH,KP`$X2.›uûåçc —¡L! XV|é¸Ôo•_FY KûU2Ô'âf ³~åƒáã¿L®³ý¡o¬)OÍòo€YŸWŠÀlñ\Yvÿª,Ub!^¼ýzWA^Áü[Jõ6æÝ]üŸÿ×ÿqñ¦Xéð¤:èÏ¿L°Ä¸‚ù7%&n²Âû¿ípõ\Ž€r[çÿú=¤$äi•ÚTãpñ#ÛûB›f|a ÒDÙႈú%´~åžú¶6M,xŸ…qL%}E)Ëœâ0¼'Cà¹Ø`=–¹rI‚°…©›u°;oŽš5 ¼i”‘à$þ'³"æ\x¸=RJ½ë‰Až€¨Ó‰‰X\ô—ø–«þ”ëäï¯+m¡‡8T¼Çë銸Ê1Ü)ÜXçH¼J…ß 1”n¢Huñ»¸X>åøT̈éjŒ,0ºS¶¯š}âØX¯YÎ þ¼ ΪîJÑŠ¿kû*«ÍÍzá5^¹–"®<Í(WA~³xø•»® Q°×Yë#”[ªN!8˜)Í 0“-V3eÇ•" k§ð¸ºZ¨©ÑÐ7?8Àwñ¢Z˜øˆö°˜cnÚ7ALB—õW°@b!÷$+pÎ 7ι6ÎRo5rçi°—é@YôCóÝÆƒŸymî¨Á7!;Z°Ý(e“ÅVµß} ¸E ë{?À^Ö\b­þk 8‹«-þÒŒHý±X’”%l]a4ñY¾`™b¦püPi0–ùSK ÌF¼o6å'aEB!›ü– Š«¿Š£Ç»w݃ݵ›ž+ðçÍô«ìCè wªí ]2 õÿ÷¿ÿÖï'K.Ö«q XÓá‡ñ’Õ/…O’Iሼ@˜ñ>˜¶Z;´T ¦È ¢ðÆt!;´¸“ElEL–kÂ# ¸c ×'SÚ²„äÞT•:Z„ÓÁL}Ç™[ñ wõ²öÜ¡ë~ú)Àâ“ëÍXHÓ_—!_¼€Z +âšdçnú/Á–é†`ošjÖƒ°Çâ†í%›¶Ç4Ê„Ðáy}t}?XD„p²da<Â/¨ëõ»j!±’&°—ˆµ0#z¨]-Ž ?3§~™»Ý6“°8'XU(á[œ—'Aña¹ ' ÁË,ŸgFó¨ßZä!nú’÷Hæ '€æ›¯³d[ä³_õýUJ !ŧX?ÿúsxæR{K7c5nbv ®°íÚ§R…Îr`–ò÷£û’"Åd4“µ2‹åP¾ï¬ÛkÓ¬ñ‹¼àŸ0^$^æ¨'IŠ%k'é;aމ‡#Ô_~‹($xaÐUâ]#NÁ´ YDëŠYç¢Øne’„e}L`2ùÄ(BÃB6©t–‹Í*¹•”‘fr/\ <¹NåB঻®J ¸-®Zˆò-沞, M>ÖõÔJe”,á¦7³æ§ -¤ÈB*PîNµnEåèˆq\Ýë¦áÓ”0×þ!+(AD«÷­tQÂ2Ýy|âHîöMÇ-Á;œÝ¢‚ú{¯BЋ¥“Mc>E»ÏmôüQy&RwmÅòB U :ã“ùf)7€+úDêñZbGù¼#‹7œ<+xÚO&{€®¸s¼xöxøÏsŒ¿Ì2«ÁÍÐ(ÑZ±"ÒgÖì¦Á” ³œi%ÁèZq–0`Ì\°&VSèO¤=Ó,ØN^Ì"KcmXÖMqUìÜA í,,d²anl—Ñ¢c»:B®ãJİ`1#‹Îµ;//Â3ÂG¿ßú„;+¶ß¹°-x!_³N˜è¸PaÊZ¿xÊ÷S‚ „U™åâQæ=Ó¢T°È¬¹{ñ·õs¦ø¾%\Z(Ìòo5NþˬÍ]çðÑ1!zþ©ü\1¾}Jx,ô¸)ËKn:AÞ WæódYöÏ)Å]¬¦vˆ*å¹,r`É>·½ V®”Õç àâSóÍÚGåþRèèæVOÂó-«L©THNñùx›˜Vf~Ìm„{ž³òæuxÀõgÖFeÅÌQB˜là=™2!b¹Hm´ªÑÑv®Á…ÓüèÇ23}rc,‹øå&à©êh«CëY±2¦uÍ‚\mq%¦[di)ëdÿoáÖÌ db6=úû/bÐ~›L‡Y`ÈzÃ笒éDcÒ²šOÐÁ€ÃAæøŸÞ›€ï¼ /J).E²­KìØ«·–7Éz³H%c'‹Íõ<¹,Y؇;£°””Uùôñcí i:¦X®,cÕˆ‚0ÏÌŠƒ‰›³Ññ…G1…5ßøV¸0Ü3KC”¶ûâ·­<×rfXÐ’a1#AõË“ýë÷?—%»Ü2æ‹ïâß·„Q%d±]ãZ‹¸ð'Z½.¥,›óEûþXØ­Ï wJµL7vžBýSÉXwÅ5pÝ·K¡iô1Nòå4…€0áâ™—/‹œ‰t¯, ƒ†0õ÷UQ5`g}jµcŒ'-Vï^·¼~Y$sìbZ£îrq²º›W1°¾_e­Š¼vÏÂϹn@¼#°ŸûªO¿X./‘ˆ¬†)+°ø~S™CÒc¤­îè¨iÄ Ü!L™>Að`Ä«7æ¯1¨q(Ä6ýæb±åK}¥á2ÜþˆáUgGÿˆ §³æÅů IJî˜b1­¾®£Ûúl,±¾ôGLwvôRyЦk)%^ˆ½;1«KˆæyZ/ÜPwµ8Ã*åYP ÂËve]‚”ðåK1íÛ„V­Òœôê¤Í]›…QÓT6â}>>}s“z/ÃOl§ mÅs³ºŸS,îöòk1yíoûž•)–=Ó|x©= T$cVûšxŸ¼]Ò¤Ù‚L¥82˜æMW¥ŸtÒ"e©½wÙÏ ¤îY`=-å– çÛ·![¶½¾;×ųJÖ”qá °o}ÑR±áI:N݈ûT«=ëÖÉ-˜õŽ4™ÐXðñÔHS¤pÂO‰œØ›·¸ä·ÝJ³F,’F±Ø¦å;‘¤ca–åáv6SüΘeKõ…x.øj·„ ¬‹Å§Ón¦[p–Ê$\ÁB`“Ü”ˆDõˆø×˜ Æ3£@š"4‹ÄrÏVÛX2ÎyÙ@â~Ô¿– ÄÖ~K²²ÜúDD *á¬&cú£Û¨'-Æ,¯/Yyò7O±W» çóÐèð W4¡’+cv»'úu!kIA-KKñÔLÅkbÒ !š<Åvè`ÕÚ«L6 &ø¦¾ÙúÛÛ¦ã X§`î騗ho…ÍŠ÷ÁE1‡W«]§ Æ>–>å­j!¡{U˜ñûm±â«¹³ K`R^mwWp¿.œØJý*Z% ¯B"Þdéëk8õ›[‹ÕÅ‚­lóDL!¿ãÑvÄA q¤ç *KÕ—Œ ŒfÌ”9ºŽõ›ËÄc"fš:’ÄX†-ÓÜŠ–sí¢Á–îëEAP/‚…ɦ‡n³b’àÈ­‰ oŠQ)G |Ÿ{QÍf¸õO0/äâ °\Т©V3¿R†!˜ §„^Ý+ä‹r–9°Ô©ëç¶]¬gc•oÝC‘µx^xÀÊQ ($BMe•å†3x)ØózÊ §S¸É{|J¨¿E«‰nBt`M!ð…õÈbÜ‚ °­¼‚3ѽþXSe¬EOI”[XHq#¯³¬µóhü[+xnRæŠ ƒiÓ”Ñ@ ]±¹gå¡ÏÅpf@Ô‚ñfÅîèÀKÊ($Cƒ¾â­öá½ÂÕžã›,:™b®#tƒÑÞ3õU‚ÑÆü‰é̼€r…æ:5§VHp ˆàÚ±H^¾C2ôúÕ`Y‚Ýó©;ϺÇ`qeÖfÕ“{s—Bž©7þ¬U=›%{f†>)‡~¾6]¥öÅJ(‰Ì̋ŲÔîL£/ËÚ‚©KØç²âÓqðOKÅD„˜f#ìÏ¿–1Öa+IºBj–Îõf7³lÿõŸÿÞ\Q¸žÅ Yª,šë–Ò°Þ?]üñ_ÿšQC´€eO³Œú¼{WrâÖ„ë®=üY‚‚–kŸR ÕVþD}Dì ƒE¤j—”ú´/â«Õ4ûu|ƒ—⺩B|Â4OV$§4*¼‰ÂÓ«~£1£a56+fÒÁÍiîÙ‘U+:›sW_œ!Òwø“¥'‰[+Ï´­I?#8ët¦”1`bI„h@™AõRæøS0DmOgS–E§€7`!¼A;àº/Å-–±³‚.N:fºþk‡ág ^1_Hr›ˆëÜËRzVR¦µ$!mž£,aU3ñ‚‹8ÃÔ! g7¨×Š ù´!v LßæN~Iø|oœ,xÌc}?¥|V­ÇÇt”ï‚Åv²ùÕÿ#Xám©aÖ+%‰Rÿ©Ã‰iÍ)+yX·Y‹Ú(ó80#Юn¶aq\¯ò@hY:ñ<…;¡«­¼ÂÒ04eá Bþ–k¥àxˆ®ÿ×ŧV‚órïÃ3›ÍèÜ›‰¤ÆgÁ?ˆÍpåB)ñ—’8‚N±Ðí_õÓ²|^VeÃZ2,+“¹Á†iá¢0…‰43Åb6"˜õ(š„£N}ÏwUrâv4‰Ž|{㺫£#¸ “[a9×%6z[@o¶áùZf›Ð,×¹Ký¯ÙµÏe ¸5-”õ¡öÛefbÉB„1CN2Âå )¼¹ Vø0(ð#®†’j.‰ªé¹?ƒ+¥t-Îañ»%Ì<‚¢9b.fgSZîAŸ¯U=Oe ‡ÅBLíóáFIþûÿ¿ÏÊ7~¥„áN±Ä}H±&Ôá±ì¢åëÍ1=4ÿMSžŸÌh(—ìæ¥è¬¯Ó»~¼ ‹GXá4©ïU²Ò¿ý-OP†üëßÿ¶cè¤4õŸÿëgÅ?'7­ÔÉ[)¼SÖ-ËõþÒê!YX1±ú#áÔ7¥"_Íð$³Dê8ÂÝRíÑ‹f=:ß%¸L•ûò›uý4+Ä%.b§mISsƒ2&â\ˆeí3åÓJ@ˆè¥Ï™zÚ«–Ç•°R«K6ûUv,¸¯ë¦y’—“Íf‰‚ íËúµÐRœö%bî¾ÞίLRѶ">œY$BJÈd½âF;9pi¬Þˆèœ0E@މ`•Œ}n¢Ÿ‹3eæÅÚ¢çÙµÔU b2 )Ê«¡aVeÀó¸êqàÝÎTIÔælS8B½zjÇx‚ݰÞX˜ßÉ Ç,n†d¯ú|ß=Ä”Õr·>»Q Ka$@”Ïl ᕃ‘åC+ö—;Eã˜!ù1c<úw¨?Y[–~wÍõy£ÿèÄ[PXC|½p«k•ÐÚ9W¼‘¬bâ¯ÚÛÃ@.4eóêEe‡€·¤œE¸+{ ²s­½[ÌÁE±ßúXº¯VÁMç„ó] ¸HBö¹ºØ}ÙZ¢OQ»–Uò”€p_!Ã;½ŒûùÆqÌÜí‹\LDš%Œ b$Öãúm‚ã”b6YŸVÚPœÛÛÒ¯ÚØƒ…”åýTÂÄ<Ò^J`czíY™ûŠå²GŒßP˼$ˆÎ•*GaâÖÚeõnÄÍ)ÅJ6âÝèfn\‚áî5Q$by_µóaC[’E¡ìÔ/ÌqžÕ£ý{èMýPÖoÉOBÎíQ¢gW­ß=Â!£•%a<÷-¤‘Œ ÓG?ý¹]ÃMõ`Ù¬Iý.¹ˆžê†,8«*®|Ÿ’¢™Ì›ÁBcn±R—m°Õñ'Ú7æ±HwÂbGq æ“Ö%hBÞr*)wr0@ïŠAÆœ˜Oø BÜÿ8Ö‹ušK®Ä7ÐqÅÅQ ·¢ÎÈBÆùÁ0X<°y¯<‚ø1v«ddáúêõ¼Âdõ¹ÚZu¢‚Ï•‹sŽ‹:J±­×bà³+|vCsÍ]kÑçÖ¸EÖÆõbÊY „¬bÙ IXC…â$ÖG¨Àå²`Û/¼L3ÊüáýØT$ÑøÄìÿ'êN”ä:’ì …µ°ƒDwI¦÷.™d²™&ØØwÔÿ¨ìI°˜U™÷ÆâËñ%<â–¸/Ý]ãñh†¾²”ðaÅœÒ[hk¡€? lÇ´{O¡z¢ï\€PæKU:ŽÀBë#~ðq ìžÊTkè Ý'€3~ £ˆÒ³<üðnl¡#GKÊ‘`Ûë#ˆ±ä·”Lí|(ÐZM×0É]I™*›H’på~üòú÷ö¬$7+Ûkè}ÍN"”/2¡0éïå ƒr &ª)‡7mîÎk6À`¹N´³nB,qM;%3Ó4ˆ¦Ýý„"€M°‰ ø?“D«Ü»ôPe^ˆCqø=C¡¾câ¡9e¸ß‚<ä †Ð…P(ƒªñ †dõLw÷¨(†Ö`ƒüºêgËOßcfÝ×wsOðD~ü²ÇKsQšÿuŸ13AF¾M71м¼/ LP¿VrÅigòaãlLv6 Å” Új EÚSËäç¡2ªèH¹ló| ­ ãW)&V™ít)%Ê+Q¯]x$ŠÓG ØàÑ2†èO擪üò¸2/ôkc`ÐûÒ)Y±Õ>¢a´Zã½´[n…‚^%y¯þùê—OïR4UIµwÑáêcéÒ`@6‘Xo¡åsÜ]˜é$ P âÌyNà8ßiw¼f4ʘàD÷xg®îef¤X§hl7ý f bÄ·ˆyD€’©Ö&!ˆ!0aì~ò#8Ø>[IY 'H †"žcE á”ÕçB €µoA‘šÌˆº ©þ$çù,ÜJ Ï5¿-bC ä{‚©;µ¾§(¢·÷¥l>Æp[Pß¼yÝÔ»¢Ðª†¿(ù%© a/(O`ùÆG˜­Ö¨(RôëÌfª2_giŽ@€üÉráCó…n÷ZŸ+‚Ï Ú5"PæöÑ6”§{æ"ì„´FŒ¯¢òw¡—²û¯‡•‚€Ü[oÕv¢¥ºÊ5 H°A-µ½}Ý犙3í¡$Ÿl{ÀŠZ›gÏ‹‰ˆ Z ÐMDÔÉLÆÜnf20Én{f^ÑBD:ù©ˆÕýO i3–`U»R;Ö}n¥a<â9÷Î4"!P_¥ß­öäímÌÆøEÓÚŒ;M´ï ›00õû]UO ¦Ä² Nó{‡¢ ·ïÏgÆOx¯"¨—#ü|ÇgùÆgìû´§ñrp}h\VjäÈNf€`P`¦”ÿ‡È\&_dožJ›Þµ?˜rqü òWŒø¡ëh| åúuûI¸ü²0ao pð†rK`ó/ÏÒç£-«A* ð[)—GÑæÒäV|R³.øæàš>‡‚û®Ï–^Š ::7²Æ:«Õû“VEL„6Ÿ <(žëíÿPE¾ÜcnÔç;JØ[÷Օp´´‡–WuÚø'L á­qÞ賓ž†s\ÓµMÄ.piÐM°r:£U!V0æRMÌ:)„ÞÇØ)í¶Þ•ÎRPèP.9æKÞiáŸà0iü+ÌYĪqêcÅ®õ¯@Ó Ïü©þÚ’Uãaîv[ŸÉ½!²ko‚™¨™éø¸ËOÊw-•ÄT%®¡ýPà${O⛡qw8“U·[pÜǽ„[òÂjäôŽæg³•Ýp!L ±©c,Q:gYy§ ™»j!¹EÂǼŸS¨;÷ÈÖQí…Ì `gQ}÷ó]™Q¾Ÿåád}SºY¤ÆËçk@ X²P{^¥¾" ~õJùyI殄J/½I)ÿÌ>XBßÂE}ÅK+R >·h"þÚù7¡¹IB´_G;àÓ’n¾!?€0è¾%ÍÖ @¾jÈ—pY†BTC÷vù…œh5u?2#| ][Æ–‰ Çú˜yÕLBNà´qr{!Zßÿ 9ÒBõµ"„®…®*@¬¤œT9k¸P„󋘚4(amžù‡6AÚ†ÚøÓvm{Ì:Ž(9”Ka|gܦ(í‚€3£ ËLu¨.ßµ=øªs3B;Õåg{b»w¥T%ÅÙÙ)æ}8ô|ìÏ|  âAJT{Ü.Ò÷…R ÜÔæk3‡„žPYN3KhÐQ 1š÷7?{– Ö³ˆ®ÊÄð‚b•H$ø ¬ç¿|ùëÌ.°±F/‚¾[¡ Spž–¼ØØÝÿáûUÙ ¡k­úl:ôC+¥øKk°¥B}AL8AÁ•.z‡ŠM´ëb˘…¾†&ìû–¹øó}—¹€”çÐK°"):ˆˆ"@©×Ì$Æ} æ0‡2ˆ£dé8¼!\ÌJÁS_c½0G0båaæ·6ÌÁæv‰ã•Ì7UÄ—b×å cÐD˜Èæ“àuáÆãÝŠËVH‡«$ê—7Æî£”V^,áQ­m7,¹?÷É£~,P¨£ Œ{ø¸’ ó×õÌo@ð˜eH6?;ºª•é‘©÷8Q…Ô¾lEÁ—‹ÿ©M¦övŸa €€øK÷ñ ¥aeÙlTB/fý`èçBWJʬ ÐÐ}ù_G•D÷“¢ã·sZñJ)ìõÁ7ÖN›°‘@"Ð[UEÌ0åò˜LˆÀœ1ŸLt!¡:Ú«A‚uGÅŠ,ßÚªaþ–T —¶kç8ÕµFJ +4 -M–©9»³n|ÚáGÑ âð»n¦¢¿%Zù‡¸™ëÏÄž´B×´ÆA/TƒÈgP·‘íGeÊ©kL€ößå=÷'fA è-¥³(¿ùμÖ”Üé®@Ï%H)šèÛú2à?Ê+JÏX²’ìÝ.²ùSèÍo°˘|÷¾Ï$˧—«=ÿϘ˜ü?~ÿç²ó1ÑT{+Œhhe¡Àu„„ÏwÙR)ˆDG‚¸3j ¡ï¼œöJY]Ç—ÓŽ4Á"0;{±k %¡–g]p™5q€WŒÐ1½äˆì8[GÎö^ínm½k˜ßÑ)àÙ<PmÕÖˆä°(êpº¡”ù[;Í=B›äV.B;K-AîgÒ^GLíXõnX.-†1Áé …^›xž> @ê³fÓD¨Áiµ»Jz¥n'è—©]~ ûº—àÒ@‚C.ÁQCš™,aŸ˜E ¬y*ÁâšW›"6P Øg)¡cj}.AýꉉeÓhsäÓÚ«ÏûŽÍí~(¸êÞüÓyBc€TLŠ @^íÞÝÒI…¢òc)°qüñûC¡ ØƱPü{g[JˆœZÃÍû(Ží”OC Hü8%Ðúæ;ß/€i ji™G½ï¬ì¯­ÅBE~œm›³DÑx©«üÌY ¼ªŸëútÁ¶TFC󱪄'‚Çßr»ÃçU·Øp¾Üøšß|߈z\Ö,:Æ E"„—T²@¬õb‰ßªŸ¼$ÖО»¥ïxõû"Ÿ‘»u%Öý°%û3Oc\€!>¢Æ. ¢øòY÷äÀöɘéYaK¸ÆPÇ‘U$jiÇ —ºIt!”±i§™ìœfϾJ¡<œóÊa§ª桃±»^‚×ø0½Ej3¿MJb>g÷ ûl+½3™”ɘÿ¬WH ŒŸÏ+çiÌZ.3cÍ×9/–ü(är¨µ¹¼[‚ÙÁml–9ù~ô¯o ²OZÉz'~¬n OuÖÿ„2¥Y€”€ºñ¥{ïW¡ü÷ß^nþ\J«(½ÝoY‡ Rˆ©¬Š²ÝkÒ èÇGüTѱk!™üãßþþ÷Ò?NkµÂ“uSx(ê¼ű`j4ñ˜¯8ä,%ôê÷W}vŽ®{Êo9’@Hr$f^œ_ àI²8ŒøÓë˜ÄCŒ1×554ÓÜçV9 @æ1}Oêzþ@:£ ƒvPÌ”9´š?3íª=L¤Egiçø‹}Qb¶ûºßáH—e?ýBÎn7.Ùš¥}-›¥¹ =·µ yƒ‡ÙOë1 ãûN޼ C(‚!k…BnJ“¸v ¡Ã“VCºq« Q·Ã„ös/‚û^þKª§™M«§¤˜Ò2 V¾×ì)¹*hÈŠ1{Îåìw´ÙiXéöA”=޵á*9Qr‘ªë)7K0ó\œïeœÁaÃ[ï¯;|>‘èó”«©|-hrðåw¿E)¤­÷=w ™u‘뢢Ü?%d„G;  6®~ÈÞCofùCs½{OpëÆµ·G§ˆÄ V,ÒèP¾M[|A©DÓ8¦)Åî—•m_œö.9¨’–27;= ßù ËG䡱¨-»}­h›€Ð¤ÃLÊ6ˆÝý¤ÒœFÌEc1ܤ³J“ïOÀÑ}“p^¢¿†1ÅàW!"ºˆcä·ª°9Ôž][0šþ¨ B e3qÝç\æ“Ô¥8'QÁ²ÅúÆò âNþÂóµôé·ŸÄ&&Êò”}ÄÉÚ.@ëwm;°:ñÖB?TŒÖ\ÖCBßÁÌ#ó)'g¨À–æò¦Ð¥!`ÚÿWaÝ–Ìf²bp÷y b³£ç CÙ®¥Å+¬¬i¡= ¥}Úçä3óÕBÒ[´U •Ÿ~·ŸArwÉØæ8Á„[‘¥ëœÈ¬^»†»žÊ Á{`¾9³#¨õÏ¥‹bš)‘åR ÑfHqKlr"¸”ÔÊ3ÆTȩДɦHòhu]uÉëÎz6—† ñð—7µ.K´7¶:<–&^@x4¶2ƒùÆ ]¿ìA~˜25&Âú¤bÓ•Œ5øSvæð˶؆ˆ¶š·,Æøžð9í_¿ÉÎåjŽhdýXàÂ?6g´%d”™;F‘VCš\ñ)ñÄö\z¯àƒexÕ#?r¹NxÇ1%\|ˆùJM„Ð1/`Ÿ \6É@Eƒ4(δ¡;RÂø%€£m¹"ŒãY9êÛ%Åœ4ˆ${„Ó'Sºµéšä‹Tç,CÌ®¥âÿèNy¸VÐ}ï:z×f–jwèCØÜ×õ„tÄZT˜\ >³x]ʼn <^‚(ÂêxZæãÒΔèó÷™=ýÛç»ñuÆ,é ÊbÞo+g¢t}||¬”CÝ#ÓVh$“@:q¸Eü|¯ÌŸ¾ù¥Ò.æÇUù-o9¼&ÅzÈdØ{¼9Äà¹×5ÚMº: rÔÊR|H@l'°´j…Dÿ;¯'Ú8LèÕý×›’ª€6÷­!dA7•CÞ?tUÐÊe=_üú,'3Ç­³"•ÈÕ“ki¡ä!_™TÇ68ÓÖ9ãýEbÔi¤[Ó®1µ×Ö@“šËç Ý|%»µ@º} ’·ÚWª-7¶Ç Ô¦<ÖY7ÍYÞ²WS l¡¤ýl|PD é<ÂÙ%›¨Óد*z›;a%ËŅĘ“ ²IBÃ<Šs™°Ê]v­$:™)éæ„9¥åV+øRÒGOó÷¬›ÿI¬ŸŽPBPâÏCf2Ü/Ñ­Rd~TýBtªhLØ¡ÄuÄ+C¡¼ôO µê:hÉìæ'C°«œ{såË)Œ€ú¬‡Ã”ðw<éºüÇß'4Ú¸L˜ãaí(Lðþ¾‡á±kšÆäÄÒĵQè óÀâØ~1—,ÚŠ|·w£ddŒõo@|Šý¼'\í°Å”ƒdü (G“ ”Æ(½ž¯”ÝHX˜'’pƒÕ½ XÈ’×ÑÖ6…Ð í®C§¬üÿ¬Ï Ãõà»ïÕ«W~ƒ{« `t;…ÀS?P™µC+s“ùØ ]ñ„l8½u @®BwV²ãÙ0>¤KÂEiö;ÿƒ¥‚–9úåõèMÂÌæ‘@$(i ¾}—ËëzRN:˜ƒœyŽ[#­ëiARJ *”ô¤ í©q2Ô`.´1tlœ>£’ý’”Pí^ñ5]Ë718i ßA5ã ™^¾'4[%H¸¤9¦´KDR"Š-]G¨øÅµmiŒxÿ°ó Ý»ôŽqE içéÈ_Úž(@±j(ê¸A+'™:ƒÇÑ#bÓCÓã» Z¨u*Ô÷NAâïP™@ð-y î´#ǹè7¾AqÈi—ÚßþãCÞ÷íR{Ö£Ìd ]£ZEóLo<ûîiH¥Ãž=ÿ5— ]{ߊnMà̓ҧ$«ºæy{^S•0Þ«ñÉ…º¼¡}5 Ô>iï^nPhÍù6rìd%üæpÓÖ‹t3oÍ2$;hÂÞÓòódʘ“åï|OpÝëP÷ÛŠ 'œÌ†³¥ëaˆ@³™¡xTÎŽà]/•YËI$tÌ` NïªM´!Éù5Ó ã¸8Êd.Å9Aô^Üó3䪘vÏZCB Ìj$ÑCkÖü[ßiU1Ïøˆ$ S¸®eú„)èPEP<¥ÉþÝŒæ„cT÷CkÇ¿&DMhkÙß—þh<Ʊ‡NÇD ^M_}c¢MZ3Ÿ)*¥CuÈ‘ßõ'úu/ŸKÔÛ9äÂ&|ŽþuÝ΢Î'üíå‹~lIÖïË‘ò ÚDtüöø”@Y÷gU|¶rÓõªa(ºJïù÷ñEu6ëzÝy:8ÚdæRW"9iž–AÇk«„AÌJáâ? œ³õ–ë‰ñ¶ÿE—´(­Aņ§ *ö@Ȧ]%ão:‡)sas¸$$âóð°W¢’ß T‰Ãºˆ±|t›n5&'4­Ö.Ùc:ÅÞ-Ä¡‰ >ÒF¨vŽ£mŒ]{Ü jÔÍ \žoïûD|²}3Â"Oxšrè'Á2µ‰Ì“Ë ždûÉ (¢(ÖAé©÷D} æ#¦ÚšßT`ó,Ký?ªêYŽB önŒBÓà zí@S¦XÈLpyÐÔÊBkcÒW‚p,V„E 2²–ú~j‡`t*Ðk MаA*æŠèrøÙïMžDߎwož±ËL0‘îy%놌p Ô‹$¢ú18(·½¶M£ùl´u¨Òª<ˆ€Zu`B™=©DžáìúåŸ"4(tœS'ýÀd1Õº5Â`ŸB?gËF,iZ˜¦X€y:‡y'¬6^cÃ8 DÉ(ŠùAˆcUÁR•ƒ"•F-EÒx_d¢6žè²C‡´Ór©‘#ï…¶Ì,ÚÜk®P|Ï–kìókû\~¡ !—eÖ¢{øª>'¨”Jeø²£,ai¶TìiP<wT }ÂJ¥g\¥0â–ÌÑN6ÈÊŽ”9l 1¹±\@¹qt­güÝ IÝÃjžÅŒÀ ¹@feÝûVså>mEI•Jœý7qïÙOqüh5áp´×l<‹8| kº4wŒ)˜ì;ˆE(Á.s%EÑÍ5h›0ba>àyl«°¨-1% #t&L$ÈcŠV™QÆu“Ègõ½MSSˆ„‘l¡ÛiôPj>`÷ym?nýROd~ *Ì•H›JÊt3E„‚ÿÂWF@ã0FkÒ®çó ‡vÎÙ/ >sD rþù·"fóÒÔwêA¡¤®ª‰É8ëðDÎ h¢“|ôä[žqA3sP™ììŠW é,ŸÎÊ” ’+7kçH‹|¢ÜޝåÿÊI‚¬Û¼4eM#ÿ i¸"S‚W*’·é»k‚:¥wMßTÊqÌÝQltßþÜ®ák²p{&[´å Xá¾E L¼Ä»2,|4fIrs{ÒI_@d¹ÒÆ&·È!Z@½¸`€øHmÉhχVrª€A`[0Ûµ–—=™`ÙàÆø³AäŒ#F1¹þ!´—ø•Ä7pN;J!"aÀÜ1¶{ ÃAÁƒZàXÞKå ¡á[ÍTD¤3ñõMP¬¬p$[µñŠM}NÐhðñ]ð/%§ N0`ËéE\þ¦òmgú(MíNÂßdÇpHÄü =#²ˆO`Fé so¥@´еæÅ{ÆÅ?âv¯T f-2î{Ö$áß¿ûºÌ1w‹£©‡Z~bû¼òY>%ÿ“"3¿¶eZÖ¤ü˜&|öUƒ£ióÛ´Oa¯s€±“¾Þßîã'¢å±~­R YR2<@* HAÕˆ²€ïK^ÿ2 ÑÅý’è^Cÿ^\-yf¤ànwHÔJóó}vMŸmeÇ}Ç?’QgŠ›i ¹3µu@Âk}~ƒ¥1vÛ‹3ÓØß"N‚äÔ¤Ü]Ý;“S["8Z£Sõ†6¸¿ïÙj#\-Cô}Â*²ôhÎjóJ‡R$&$”ŒS§U&Á¤˜0 „ t‘|DcÆh5…‰"çïùvˆ¤ªE{[Ž‹èÆy]È”ZCÝÃ`˜¤/ @`Šúš³\©§Qb&I*ÃZér1Y ˆ¸ ž¶$˜Fh‚䙊Ɯ)†¦”ÖóBlà}°¾  ¤Ò)šÙ´N९ÐgÕ(µ/"G–eÅÝ#ú…úCØêv¾¼9Zˆƒã1`yñâ·ÚUîuS –Smžô‡ƒõ¡Õ£ Ÿ.‰} ê>÷|ézY,Ýå}ñºã 7F+·ëÊÉ-j×,æ‚Mæˆpôk„ ³ï®9DŠP*$fÓ37 _©Ë&p´“1̃lÑ­µU%K„`QRƒ,¥Q„fKh s.Mh›‰J“¹{m%TÐHõ Á;« „‚†É£5VÄ!¸58Ç;ß*’-ÒœêþÄ5ZÒlÜð»–­‡œ"ñæ1‰&[Ïífò»ö•X™£œs„&Üs„""ÃÖS}°2_òÏ0s%`Ñýù‰Ú¡Ü¯+BÂhÖߢîÆè}®ÀM;PóOw²ݘW3ݘß1iêËú;a¬éIó{¢oüN¹š›9~9kfÝšUtâÙãò~÷-ñÙ] š[§FHvªÍmŠ÷ÂOóù”lXޜϜ@M¾úb¨ž÷Âñ¹¦=Ì+s––ˆ^-/9<bYLÎÕ“ù&†Pdt“ÆZ š -¼S¡±;å="0QÌM l}“|Æ,HRÓf-:½ cN¤×ÒULÛÓ)B/ù@IÕ3ñ&]ÛJî9ýÆH£ÃÇ¢¢ E yúocƒDˆAØ8ô4ÓÚ¿óµ¬"¸Á1ÒöC»ø¤)âCí° '¢6.í¼o¶ –`kŠ-)ÜpN©¯æÍ¯ühy¬à’ög–èÞVA$‚¡)å4ãù£õDaVÐïV4l¬‚*{^q´oÉT£¾ëð°ÀŠ@Rs¥„äÉÀü|èå漏âË çfP|þ¡ Ó3ŽÚÎUj,xLŽ˜|òàØ›ŸÐO¾ó’]ÈÜ/.žU­+ ΉL­—êH ˜v¶á<Ý›À05‚ ¦™Y>LóŒ³Ýw’¶Kþ68×`ÿRábtÚ„%Z¥˜ξc<½èA)EžqÈ­³‡mIä÷¨Ë«ÃÐ#¡í3èêÙqÏ„9>GØíW Q,s}L4§ÉßZéáTØï±ÇDlÌX‚9áâð'ßöx±-a1M3eÍ)ýÌmø0&¸„]UïÔ÷ÊäMÔ³;˜f+ènt6Š„öü]Âßu‹¦çßp>T(B02q]šòæ©OÌ’a|å§ËXU9G”/E¾_ †=3Ñ¥•Ôs*]ÛŠú6Ž }|‚îÄn§kÕçò®}}9¶ñ _“Ê¢o…ŸAô9s»‚„ÉÏAvó`eœ²àÄ«I«¦ ¬Þ—x—üÎ êU*g¹6¤Þ¸ë”_’oÕïk¹/ß÷‚d4 ¯súŽ m"ECT²2w;†Í`Òjƒ50>}¯>£ 1˜þäÐ&´µ;LeôÙ¯|ã/BaæŽK£WlŠi0geвIÜÀ}„ò_Ö}ãéuüÙæ‘N ‚Xßœ$rÎDÜFùž÷k¯4†Xãž0aKÉÔ½ÅzsÁ§fÍ´ó+C§;åÊ(‡Ï"éÌ:ÅEC `|”EÚh]|&c¾¼¶œ ¤Œ}Uðg‹Í íi ÆdZcÉèM¨˜ý“ UkKñˆúA×xéï×– ܃–ïîæ"ÉóAEÉVvX«XQ.‡Ã–QO*%ëÖŽå EÔ+S\(í¶„x¼¤nÓÑÁ ‘ªQLüUøN ¬ï5"eJø¿3ÿ1æ›ÈÃ’›×ýX"Z¶¾Ö˜5ÿ€ðÛ´b¡~GéVBOò*2ָ֖ܲ.ÍÞÊ‹ lãbî´!Éê/‹0kAÝÙœïÚboNùsZ{Ètcf §ãq›@-2±ÇOBhD’¹§õe©J”È™>§#tê{sfΞwb*ÁöDö­‡dƦ†9nÔÚŒd3“—• æ0‰Þ±°{-x.׆B£Ó RRžŽfŸõ½Uœx%hYd`0ÿæ° Uã_4iÿókÖ‰U‹ÓN<çfñs)ÂQ:Ö œ ­–.ª™ >/0á¢P JÄÅq">á9¹aÝIBv>Ço«)[§o^GþGð|BõØj­6& öAšÕ{ì18šDø\ï‡)BHˆ›µ{úý~Ï2£‘`R"ê«[slßÇê_ˆ«p§ÔÖ©ÜH¸Cfþˆ¼cš–ü¬!Â?ffÞ¤(BÜ͔týJ‘º µ i) ÿÄøE›V3 í<{ Úw®k¾ócaSÝ£,ÿ¤#nV]Рþ·?9š ‰"®•‘kyEŠ4çœpgJ¯ÊÄm¦R% t]¹%h<ÒG”©?W(‰ö虹' ý"z›Ó»üRÛ˜;íY±ÁVn¹Çú”&!èÕ4§ìÐLP¢{¹ÂFµôµü!KÐh)aE;5áKHߕ՘UA‡®U€Ì¹×=";Ḡ;]TGy)hsWwy…˜´9ÜõÎÉ5i“û ÑJjû›mÑ;MçCf`|¨ÁY†$ÁTû 8DoÛAç6HZ7OX™|‘5&Ch!üY8N1F¨C›éKæåöÚf¶¬@bÄÙ˜ÒÐÀOSlìý„–Ì"g¼šQ\‚µÀçÆd}N(p€¹Û†¡àã ªå£åÆ+6у®…¨‘?´£…û›ƒÏ§¸••¹ëÏü^Ì#ÆbÜòfL¤Sºø˜hï°#ÏÏŠ¦S˜æ ‘X‹­M×'³/mÓ¯k3ÉŒHó‡VÇLsgäo¥tè(àrÊ€?&ÂçÞJE3åBDy\óM{Q:ž~‰ܳƒÐrb„œbëOzË _{RSJ8~ÔÒ1Î4xk¥Ê±0Q†ÁáA9¬¡šHÌ ˜@ ¯0  ð€tR™ÐJ©b w¹ “#„ˉÕ&â2# ›ÙA¼k–¡/‚õÙÅl‚òF´ÜwÛmÕ©Ÿú•ˆ% nÝý„© Øó{êc)£úQ§¸ÇÎ7)‚6Áäö¡Ðç‰æ¸”¥-¢Ý•¸!ÚÃlL{üäÙ¶ùZ“Âp6Œ}§[Õ?AVYCIÎÖ„“§C ôjJ{'hùá£6gÊõ¥¸a>cß1gXH Xž¥–ê `ÌÌ×§"‡ùW1x…ý!Eö‚Ìžby(_´×È‹Sž`×ÜDÊ_ h ljˆ¢@IDAT˜k`œü7…hF ž7Ρamï™,É wÄVPàdX)¼ ÌKKÕæ‚½¾‡P [Ð’¼ÅUÔßÛ|æ6öC¦ÚWR¾“vÙɫժر ñº1±:|Ýe5JJI‘·[/Å´d“¼'OQ„YÄÚ߃râÅNmˆß¯ÿõGV£- µ¿ˆ„ 0>¡ãÌæ¨cx „4¾&°/†ÑžEt1¥&šP‚#˜áE¦Oçœ#úÉøCQË2Uçà.ÓïÚõÉ]){בbˆ¤õíµm·4wK¨0Ñ~F%-aR¶Ÿ¯ãuÖT3SÍà‡i«k–<¨#D-©LÁxsâËhÛÿ$Rí ¼|Gè]ÁŸ]qLÑðq;¨|Ñëüíhƒ)µ%óX¹ZN˜Ñǹ6IÑ(wñÛ,Äë‡Blu× ޵YýC*‚gÊç!’vúp:~ÊŠè“[‘°z!ðJÓâYþmBlÉP{x#j"\âJA¹TÚÚÜûZ¾«0"³O•¿|š²b„Ú‚Ó0’¬›ògf»—)ôBÔ&áÚâ±<Áѧt¡=þ†§ú¤)¬7Fã~âèÓÆeÈúW T‚Ò¶ˆ*±Á7ÂÛõ6AÂŽí-à üÌ(f_矈0á 0—BÉuPÖƒODÙÐdS¾HS?£E×c°qм?$4è…I”píă氨1ª;D£)÷Zç5¯—¿½o)NïºîÁ7 râ×ÏО5¡Äëî¶æ Q·Rº¢æ Óâk&4V—(B&°]‡…@óÝg!5w¾)eš¥©?<£È”nΈ®¿Arn †¹:Ñášð@†„±ym ˆµ|Z^ÎLY 9ôÀøÌ®Ó¶l´³DdþÕ1mÍ«ÔG`1)ir|™¤¶­½F±ò —/SfujÂ/¾\¦n‘]ÚÎôqÎ=ïl>XÄAlÑ9¦9ÂMp"Ç54èC¹ÉD³˜D˜¸M—§14ßC"¨ÅAçsžE,†ÊwÙœ/=C)?ybúòùÞdÒ£¹JªÄY€üa»Mð\;Øò’>×4ôÑ•/jEé÷$…ð4(K*Ææu ÎŒ P±¿wë‡fGHE£y‡ P|BE½Š^)zp øäÙÛe°­Ÿ„ŒOè:§‚Ímh~·hX{X% CÄç÷q2)Ç_G%0ó À7€c·9ëë¼ED´zf ‘Š#ÂfŠù˜ ˜]§U9 “@±xÝ?Wu¹õý~QyˆÖ¤i¼œýêŸÄKˆHˆ÷½ ƒSÒ@×/åî¯æŸМ¦tüà®pk–ûm\Íè lcp $U‰³ksÕ¼DxYB§~Í£ì:m(øX!pãX5 ‚ñø}˜O‹˜ k°F}ñqâè˜ Ô½™4r‹† CÔÅir ÿKâzÀóiŠk Ô:/ŸÓ¦u•ËÚåœC±¿‚S!=3‘¬wmKTY‡J¨?ß­‹l’⟕c‚@V[0hÎuŒö½¿äBÍ*ˆ¬gÂÒú!Qßq-øUÇ—*ª­¯å ›çOgßÔÁ¶·bõ‘µK ùcòo‚ î­”€s?$tmuÜ™qPR›¹1Oä)ÐEÛÇ/ (ЪñØ­HaøÏÒEÿÛß&\$úE¥R3¹µG¨æþÔŽ CÆË!â$ ”Éq[œÔÕI ¹¬ ×ʹ1øëµ5 nã3V¾#%9¡°]?‘"y)Ћþ@ˆâT r|0¯ž˜žÉéJ¹$r¾Eï.2A&òa6ø}‰Ú¢Æf‡iãCØÃ ~•Yñw»…ØPÄk‹ãµÇ\dž £È²ŽºøÀöà 7ƵËzÍÔaâ)ðlëfÁKtÙgÆ84N(1öõò[Ó—mª¡ú=(Ÿ¢ÕÖÌiý^–ÿ¸¨Ÿ æø[RYÞÒð$Æé£}­CÏPÄ—Ûl°Ô|çÅ4×{ÌŽ1©E½v¼ýýåoãSÇRëH!Ò©ªyPÑÓ(ã ž@ÙÂ}œ¯xN“’[ilˆ?Ú·WAN%Á·•!!zZúåqô} (¶Fœ Y¯“,Ïj¥ÈÔ¿éô‡._È"ìLçOB¥¹ ÇòDæéµ’½x®¨WÚH`H1 µ×ªÒ£ a!¼j7#XhAC˜‚±Gã0 )@Sh!gc´)æ™pVξjb¦{~šÔG%tÚñàêùwQš8×åû—*>JyHkˆZyéwƒÞ'@‘Æ3Ø «c æÌl7.“4FZ%Ç'È3‚ªƒhÇÜuaßË{ò[÷A];Ä”™ãeÉÌçˆEèÔÝ=leâÅßÎá@a¦®k †€µöYFDi§Š³ùÝJ3“‰0F÷¨¸õq~¡Ã 1Uå2e°B„èdü6 ÊÐ^1(Kåø_©2¾®ä´˳q)8Р€Ü•o{8LJºªè¾a– ¿yõ¯Æ}PÐ=Œ£}×>*°€ÎWýÖ/)£©¹¢ ;8þd ’‹@‰¯ñY6‚ÿ€‹‘,@~‰ðå"#Ï•4›<{±‘ Û—¢·¾Oýn^„aU, l?hm’c„(âٻ!C ‚{ê ϱý`]}1‡¯Ç—¶# ™%gå­Ô#êÁ$£Áˆ`¢‹âŽE‡«˜Ù8Cò4qf¶wÄ#tjxí³B1Læn@Õ"Plk¡c¤ (¢ÚÄ^Š)°†ý ty’¿¨Üè¡uò˜Ê,ÎüÕ§M禄ªè%Øf˜k›¥{ùžüYŶL~|ßöÈÆfÌß){¼RØù9…´Bãˆ7Ên‰tæ³{ùL£õx` H¡èùÇ?_ýò¯vzZñ(Ú/5•?Kð‘¢ 3É‹„U€ÒüÎ1%çDrBP¸AãR× Â(…àÈ©Œš›5ÙŠoWŽÞr18F|Ú(¤æÿm-)÷‚³¹ ¬~•pb@Ím|ˆ9×@î©OZ#Eyìœcö ¤1pÒ1˜Rß­â9šsX Öƒyär‰ $W‚ RiãT‚Ï‚¶ÆÅ¿²?›)vôüÝÃOsXDÜ"BĆóC„]%¸ÀäYãÈè#ûsL±è’…Rý[@—0[ÚDÿ¹87|âfŠ·›‘w 7ršĶ„ÐVÜ 9mM{dz™äç3•ã;QjCΆ%s›ð¶Æ(‚€)[’2Ⱦcæt†ãàÛ¤Rô&Ëá”Pît'£7øUwµ\m N&Ä „hlƒõ&YÉGQ“¬Ôô©° [ÖÓ_¤…†ÆJ„ü0ߤb¾Nã9éžôܲ‰î‰%¬–âáÒ9Žk¤0cüDc—V™¯Ì,¸Çê‹à‰é%tõ¡E³Ò7ü?îÃ$ÚÚæ_Æp líõ,[•Fê¤ D¿ðÑú½ì¤+fÓ† ,ø‰è=“\ÐÓû“ö;Z±kBwŠ:ÑJ’’ðA>ü¤€ÌË:r]4¿N€ß¼ê)—™ýùýÍ'B@ðùEǶg†ðö#@‘Æ?ϱ¨`ŽÀ†ÂÏ_ïïØ¸¼°µüÜËÆÇu4¨Œ¨&9†ö¾=¢›À•`%Q6w¢Ï7øãÏ„Ý3¥R—ªç¯i0ßÉ 1IËú†–ƱÓݶӿÏäU™,5d,uO«h-ã“pÐðÍÀ$¥8~E’ëÆ$Ju?ßѼE”úgvó¯ל5á¨ÕçóÜןÍSJg h¼}q)š°oµSlc„vLàL~£#ŒCqf3ÅiX á1ù‚ÐHÿކV;§´E?«jé»ùS”â@7?Sè%‰ù|ò£ÍÑzúV=Ô‰K“l½6—L7© d^¼lc|JƲ¼«Ö)VÐëk‹ üÉ%°u]{ ÄÐ=Œ97׈ÝÐ"dN`XW׿\\4Oþì{ðÒl¢¤ëáF<ÎísK_ÛóÚï‚Aê×igË8‹pòçÌ›¨ ¹ Bò³P\E±Pÿǩހ*[òëûåÏhUHE8æŸElhøü9L”Óó¬Šâð‹ _– (¿Ãu÷ÚL3Ç\5üÊœô€H?aAPW´ÎìHH}ÉåÉÙ?3il.çÁ‹¥DR N;¾‘ú𬂴±Fc h‰Y´9‚–oX»,¤C}‚îžËJH(½D+1:Ú*»g$S°L43ý¨jkd3;a»]:gkñݧ‡¯%) ÄnÐ"ØŒµje¦Y5^üZj&úKsÉsFÆ“Ò$d®BF w·µ`cu›‚'9œÍõÅñ*lþ\;WóÓD3sE¬. )PQE²ó=&Ð%ƒ‚`•¦J–º~G`t=âão 0âZûT$;"§¡ïÛ ²À¥IFŠúItºß¤}.w$ý°SZ™¯ü®§™œ­ 7Ù™@­5N÷ }Ã% ¯óºŸ³c‡á8àäC*%AÒETlGožEêæÒ Ô¢ÐÔ‹’®.Xþ®{Ѐ/Cyù?˜Ù·â’ðŠ¡<…¡Ïó§¢§ˆøNB$QÍM@3OO2•HK×çz®? \ã¡LdÓÒË„‚`›ÿ|èèæ€`{°¬,;ŸU!C ="Á‘ `—èžÀøÕ7šp5T«_–CR&U#ßËj±Ž‚s²ÂÃ…¢ø"vÉfs¿î.߸VìmÍAVbB‘d‘ír õ³¤X.ưÙ"æZ—¬•»v×Áñ˜5þÕM£}çñKË'Iy$¬ÌòLÆx Ç{K×;lœŠø,¾†¦Š6†õÛ}Pø˜þdý7ò8< F‘„pŽnÙ½Ðhȱ ÙyÕaóI*nÐï1‡@sö%žÍ“äuåæ©¿“ƒ4gªÑEÀ a‹ Òn… 6ЉânŒ½–¡èƒуeø‚¢]U2^‚œ=Y½þÌg ñ>3GF^NSä*÷U0Ú£$¤qnÇG›æÑÔµ‘=¡ˆ7,(8tÇo•H”ÊEqε$þVŸÖwå"=ÉóCëæï²^;7°±þ 5&îŠ"ù]¨Í2 ?¨8êNÀc…E[I¹­M“¾l–-6ÉŠP·ôfr ŽÐ@æâ Èë·žòÃlYiÎ#–ÏÛYºbŠ1Ž&ŠÆÙÚü³’òŽsUzTF‘˜ßC—`¨ÖÀ6M íÆ' ¾iÐêóƒýCMÄõèLª),øæU{ÝXúã„ß+ {o šC ñæ|‡ZÐ^•‰“M_ÿëõ"5ÑõLeý,e‘i’Xf×f¦Nà6‚pcyÖY|˜MØ¡±ï¿ÅLÕÄ+5kP×mE5uû$œ"@ï*€¦Ž(¡˜Ðê˜ÎD¯kXôÆh†'%|ƒE¿ø` ¥UÒ/Áü¼àa©*JN© ~c øJÚ(_Váƒy2±Rr÷BQˆ½§Ñ4¢$¢^Ù˪L¿R49]HÈ¡ ×ñÚ‰::+.|ç¤Ã‘üQ$qá¯.,×ô:c¯fÄÔ€i e9[û@&w!ðœüÆå :Ì"d´  Î45*#àÌOÄꋘ”¯”“Í<]JªTȤ€f 1&k£s%a¾èµMG ã½Ò\Rfb+¥D ‘®‹Sª¿Á³·%£ YhòzÔ*ED@sÞ{M•B™ÕŠÊ×åÈBŒaiŠ1aî4+¦ÖÞ§&ÜŽ™;Rãp¼¥¾§Uºs Ò%— ùu”j9ÒÆÄÿD›wo=„&1¡cßþë÷V9ê'¦ËUBÅ%¿oöcHd+÷‹ySz @IÑ?W€YöHVÁU”Û÷[«Í2|O!,_~IÁ˜Tù<Ï-áêDJˆ¿iEDšG °` ¯ðÛ·ÌaJ**Çç{eg[eIi °ÌFÃ&ï{&ÕñÇ^®1¿cN³tñH¿{Ši7þ«¨Ø ¨r° .ÞÛdÔž®Û²kSM á~–Báó­øÊER1dŽPÒ¹]1!«ÝK»ä×8–^PÚÐvBe\0Üç${ çˆÂWâDóß@¸È 7ø‰ 3ŒÚàÀêËZl59¥LÖzH’Ú’ÅPç09¸æÄÄ kêfrR”<×cN"äN¨o>”ÂðOÖWŒêã2‹(æÑ€Öç~ëÁSêtR@M¢_ëTÇPB¾ „Ã8Z¾ 'DvÆ•ȱjëÆÉéW‰sɉÏö}Ô¯bÏ"ä(ýrzÀ«RP"k4ÿ2fBÜ\–ÚË»AyîÁŠ@³{–ºœhl÷[ p¬Áo•oí "´¬-@W'æCÀسµäªµ›z4Ä)[£h'ûФö¥NÂfW›ëÖ½UÕÞ³^ ýí¬Þɉ²„ÜJ€¿Mb©¡•Î5v*ÁM£OˆÌ Ò öŸÛ*Hà ‰Ú»õZc42zL™Zóbú¬âÆ;kÅè @;ˆ$1ˇ„ |J&aOÙ©ÑçüÊ1ÀÔ„µV¢á!Š@†YKà‡d7ʬðYv0ÏVB¦˜p2SÚØ …9Ö¹7㔜æó2Ùžê(€€ÀQgÁËwÄk®‚£EÈ]3_±Aèû}9eŠš`‘àdm–c+3ý®úHñB¨ÖóIZ& (l®Jšì­pFR«ËdŸ¿Ùxì[Ù¦ì”âBr>e!0ÎD‚.h°‰[²j¾«jÝu+mDÙÍ_ "ÍÆ¸'Ïò'›“%>'oA=AÀƒ'žâYqFh$]óÇï¿gq>®X:Kã¸g®ZâAcƒTò¨xII˜yà´³plSèßN4KèW5Né‡ôZ RÐK[æÉzÎh>Ü¢³%àäEæ[}I^¢WZÝM«÷»Ñ:¹š·4ž?äßLIÚ†iàöaH xi™‚ËYÐŒÊÍaM8uõ÷`eŸ‹@krÌq¿Á«ò¥y"_Q™D÷YâQeS{}früÊ? ðFt‰Ï«[ùïä¤Îz#‡ØßÝæÆ•å ˜Tƒ¨ÊÈ)™Bņ4ôqŸå4‹ôŠ=¹ §Ú„/u¬ù¢¢Z§½zb‘ñ|Ê¿«¡‚Ž$+€¶Ö‚W¥Â-I!¡ªg±9²Œ`ŠÆ-kñ‹äÑ()¤ò„tæËë©óšSP¼ÚÄ|Fþðhß÷hVOÊ8|jÕHäêZ{§ûP4K3AÜjK| £·±ßŠOž9Çïózz:@^úiˆ¨ˆ@—Ö3¹_‘‰¦ŒÜ'ˆ±œŸ>ÿåmãøàó— ϶·&šè›oHp¢þÒ ýb/'f{‰â Œ/%› ôF‚bQ>ß¹—šy1°¾Û2M„©Ñ…ªE¨Õƒ¡á¯WIÐLZízê7$ ãZýaܯUøB7ýŒ˜fŸ“äiá2þ̃ [<·Å2í–Ⱦ¼ŒÅyÚK vŒmÄÀhKJ`}ö=SŒˆú9u‡LÌEè‹öР܃*[~tæ ôwæ‹ -éùm|GíY‹}ݳR¤ d¾ôT¢ÌÎü ¸ÄÝb…V§Øøµ=A‹>‚È øxæE"(ÀûR7×!µr-…!Îæ+¾üÇ?àTô¯$¬A±`K|’ÔæÀM§7m7á-“ÆÊÁ}Ñn”ˆ¡³#: 6<*}ô(¾ýhŽ,[Ù,¨ó[–"¡Vä  ÐY¾ßCk>ržÒ2NÞOËÕiqhu’&6°@†E2 %"Y1hÙú9ïÁiWäGµþ˜¦»œ;\’9â§Í×P€™Ýú2‚ të¢ 2ƈÒåÓ|Gˆ ÏÀ ¥³E´ç9‡<Ó¼-—õÃÔ{i‹Hòe”iŠÓçóùÃü´I íÿ™å’ KW¯ZfGWt¯ÝuÖO­,è÷Y‰^m,ÇêBøG¡ëÃÎÛ‘…|؇þ‡~L+!`ʹ'üprržÍ5´!ô¬Šï?—:âG㇠p«Wåìž;Á”g¿ å–WŒçª±Y;ÁæÎBìî¨:7ásȨJê³À«q=ì^®Ê%çûÏÿüç? …ß3»öÏÆö8E8JñQÙåFg¦S\9\ì#1]ÚÃÙ|&À~C!¾bœhT: gµIûN~ŠpZµ •ËÍõ~|Ç"¹:”²³ ãêjH$ú5!×Y_Õ‡ûA4Æ@¨>N@ü,cùŒÖC¡{%‰#6ÄeFû\! ïÚ"œ]ˆÁ§L èWµ!=].c冹ÞÀ\|ëï&Är¯ïÍ:ñÕ–êoïR#<"Ù) Q/Ô‡ê ¦•ˆÎui™ÌJtð4Ëÿñ¿þgŠÑuÑÍOðvV]ø”Æ/X±n³Q×r%ä$ÝC_e ¸SŒî3`)Ç•@hO¥t/mDî+¹Ïúí©¦)$sïü·ûê¿þhüå€ãµå8û¡¹>ö¾üØ‚…>£k|7–Äæ€J2ó#?™b”}ñcóÜõÇõY«®:Ïžužr)~„×l¤™¤×Ê„aŒ‰˜Ì¡ØrYÄfŠøBÐpQQ‚}Bu[ʆ)2A¹!ÉK‘Šê˘cšý vŸÍä71¾˜¡3ŽEÙ~ïÅŒn3÷¼û“!Ôt=eaæJ÷ŒI Ð&Ý7įÂhš„ Á ?ÿÎaÜ]|ÆŸp¨´üèã[D4Trd¼”WZ†0Zý!¨»=þ6-gÂäÝoY Y©¨ƒr‚ŠLOýäó„TÐþL´TË¿Ði… ]§Xá}'ÔŸ±³oV:ÆÄžµàæýX |²UÀ&v™Žgíå6Eg Âü,}Ôp‡¶ ¿ü¤õ÷h ½Eʹ£]ßé˜UízN­@æނ+´Ð¤U ÖE+†Ø!¤¢t¼ê3·)‰6Ó_Ù-þV jqòùmÒ"LHî!h´OÄ9L “1@rúH» éb”¾ÕYÍü _õ¯{-ÑVæF_Ú¤X‡=Oí<‚ÂS†ùkMHŸ™ ¸— BÏ¡ae×Ei¥44F²Ö#˜ªŸý^»Öš«(ÛµKD…òYÜ}åÑÆ^Œˆ°¿ùmß3}”ŠBî<¾ægMÃY‘ô³©*’¥LoóÛDéÆg.(€þü²»ù˪Ц=Ìðüµ¹‰Í3 oéÅä> á¶K–}(Š·bR£3ûøC¸è/‘vñAa^y°‘éxB¨ê­&Q†åeKÊShyGHM fžëgÈ4NkÍ"kcaIÿŒï_£Ó¾‚®õ½Ø–•Ó¾+/Ê¥) èÈ>+ j´ýȹ!dQk·uÝv?%L„óƒH?…$"+L†Uñqš&A:BÆ$ WæH9BhÉËàÝê NÀðÔ ¡iŸEß&Å”Króͬf õ(µo4‘ÀAaùÀ#” Úß1Dõ®t‰âˆk@r|ü0ýÔÉîÇ«1Ú!`ðÔ YüTˆ{\ƒî ñhIrˆh1GÖʉ )‚ òPÕ}Kº6FãùÜ|ŽoÖZ fÄ|–2£‹|¡ Ü\œOheÌŽóõì^ç­œ¢Ö#Ÿ;5¹{§qt½± ¶ø–LdÍ.úF´¾DëÒ Öø) Úöç-ý¹__$~ž~IXñ±@¢~¯o\BcMnP¿Æý!÷\1ïÍÏñ"Ì÷” ï&ü'°CàWÖ$JOÖ>´NÞXE–!Í_ù3I½gP‰;½ ј؟˜Ælî€ÐÃ6¸¾™ s-ßÍ¢ùÏrm4•x«<ÝÕ×ã'N ý‚“í7ŽQgÚ˲և›UÿÙ ^4€DhÄtÒH9"´*è"ÕÂñþü1DI¡g³Q"p‹ï%ºÝO[úoÈÔ_[íÈI¢ýÒ&fŽ¡úõ¤&{ f8¡T®ËÜ)¢ëogNÖŸà€YŠ UjMð#*fF•l1µ¬„ë¸Ðåy öl}~kõéQ‡»ëCåþÇË¿ÏpûñEاöEš¬ÀjùTç£ ‡>}F)~ýͳ‰^@xšì­8ÏASþêÉß=ÍmZ8 Á·gCÖøÒ|jŸ§xKÞG_Î%ýúÙ2œÃ¥z]óCo1º½5߇hÌžu0˜&½‚ÉP ÇÃx!võ¹üÛ"ƾSû·ã;jHtD#y&Že@¤»’w¾ñ§ø(4…ù¨Ë1òmŽ´A¬®›“›¦BZu~"8°%F¤!ÍA“Ÿ>J '„i¨KïPímízBÕ…¡õý¸ö3 Ý&ü#á!Ý95áÆwJàgz!ŸÀ£*éŸ *ÅÑÿtƒðµ>ârI<뤋sÜß/O'55߯£4Òø_žXŽ Eí? 2þ›@S\éÖ6™#?–áÜ“„“ü¸b†¾N -ÁcUÒÑ–¯)¤Š‡ò°4"ÝœRèp;Ýê[IÞÿl¿¯’|Ms²>>-•ÕÜcׄŽ*‚^ø®ý?ðJÙC<çqSlʹW’ ¦Ñ;±K›A2ùƒ:Í/Th¢ qøY€Š¶2;ÌG$F‹ÜIOS°2Mì^ÚgÙf¬ñ-A›«!-3S®¨üa‚¡£"FB=᩽­{ÁnËœÂùòÙS¶Ã›f‹fm oE›ù >g9·„vQV¡: ¥ý¢ïÇMžðl_r¸ì”›Ïa´#HãIû™Ä]ËdÓž¾Ã&Ž¿© †‰ð;¡çväó¾ºÖ\=<Ð8Ñΰ%NEî¢@åäwKóÜïÊö0@#y8þždð΀NÉT"c²1.8¨m.‚±^KÇä¶0‰J˜$’ô5X§N/fIo œÐ1ëtRÁ«~¨¿*¦3(MžR4ò¤šB(s¡-…¤ÜR9‚)è‹6Qç—ëÆn9ZrË„€ ðqY¦³=43 ¬2ÕåeÉ×BZåÁ\–€ªï•¯áŸZ@KwËd-ø˜o(rô_ž¸(Ç—Êá"dA°+Ä‹«"ƬIóyÒXkÀb7ƒ¥– Á5jaÏb{“±g¡k ¬k0•íä‚gI êHs@IAÁ{–ÅŽ‰ÝêDfM ©Û VµEöŒÐ–”@ôŒ0ùR –Ïj(Aà&™ðÑ@ãØŽ6ójŒÀ`é›r;²å™õ•¹è昑¤é˜Jh1]tî)ï¬å ˆV*¼/öº@i §]Ú/§h™P`pükîM{tÃLŠ™S`ÂÝÜUË7RÔg•Uùœµ°ÛΊæÑ„…"døä~>ºjo>§ÕkÙÞÍšÛã|1æt©¢)kZñƒ|ß§’Þ+hLµàÒ¾±€®q Œ @Q!4îw¤†â59yËlëiýš#š‘‡-Ý6»¥¥€ËBño0ý„âBi(b¼l¯gH¸)ðlÀ©p2Í› Æ¸gö¡v=_mÎq0‡‹@c°àÀñ²Û=ÆF°‡KŸ;æ¡ûqû*"¶Ì;­ƒLVb˜¯c{‡Ô™/Ë@büñ$Ñi[ÚǼF š½žˆB;7¯>·Ì$ÐЦ|Î7AD ù#rýYtWÄÀDRHÿ3.ìô0iLy‹Ð™þ¯µKÐ)ˆr{€ù‚ AÞ‘®í)®Ì‚mÚ‡¸+Èí^ý{†4 8õݧ ƒÀâ£uz™›Ú±qªý8T¼ô™ñà*~\bš‚]ñûºòÛ[똀 lÎ_¼i•$$¥ ÚË­òÿ?¢ä'+ŠË­Ðòst».ƒ ¬¬xÌå–¾ûÊò¨Æ4¯Á|—×ZøÄ’h(p7­Ý.~f©Æìtƒ˜iª5ÍM¶Áb/qT"ù¸c¦K%ôû%¨P–uña&k ¦iåBµ5g?NDËÈ(à`†JOð3bî©¡ë³ÊO%àÚ¡UBæ/cãÇü¨ Lý<ÊtŒÐT„^þ²yCj'ý“.Ë£*>øo«­52¾³d:Eãï’X®€¼Zf£s}GúÄß³\±AŸËBÇ%Ÿ›ßò|ÑïCgÕ ºœŒCV«Á¬´)R…­Q€a¬+èM‘%½Gƒ„‰iŽ˜³*zþ›1<+çxÕ³(\C=¿â-EÔØŸ·‚‚þàsíÿ(JGÜ; 3þ}IÞUNæHf§å:ÂIJÏžÿšÀ7Ξ‚É+Ïk5(0šl 5ÆÄ#<8¼DnCË·*J8%ž¹$P³} Ÿ“˜-å!Ž&e«µå˜‡ MZ-Îþ†âCL÷+%PL5†™¼;î5@XêSæ6Ñ•ù:Œ!IÕ~_$C}Gº´ßTB™²-åÔ§k£Ï A½­,mœ4]ƒPJ/ A¾[>¯ß¥GŸÓ/E%M„Y'˜¨›œÐa¹Ð¤×ÓѯB ô8ÓÍ…yVwF?è%Âdæ¶!ݸû *Yùx^¥ŠmJôÁ¹·Ž¬–¢eSÇgü@@{0ù› sä™ß@D{|—ù£•J[ì³ôÉDkCøS²ñ$!ãº-M(’“? Z,ÃJŒs•–Æã.èµ;ø>Ÿ$x…\¤_½ÿ~ïo¾‚Hê8òn8‹åê™Cûƒé4Â`—IÓÂlÍnk3fÈæ›¦÷P¾Ì†².HEhø¢ú=;Ýú½I— ÙªÍF¿këj¦þÅz¯ uo6ö—¬¿F¦Õ1T瑘Ps]ô›Öic¬¦”Ö#þ­ì\%—b|«ªwLm¬ 0šÓƒ‚~ b„ €µb‚õ¡ÔâL—P£…j{)¶\•85àG޶{!“ü⓲è(S¸\h4‘\–³“«Tþåù{Ö^­;ƒf‡^Ö†@‚ïÈÏ›_NɸÑÔ´ÑýM(9Kò‹âûð:Ýÿ)áØT ¡-åZ,!g ·€Ë“~ÊES å@$8ÏOæŸ&4œ[/Q³¨hņ±“@:Ää0Ò"Ì'D}faaK*cpÑWßOˆ"ì„0éÕü°ù–üœ˜ïátÌÆzGÌÁ!‰°=­5sœ Ó½e›>K=F(&Nÿ|BzAeLU‚.ºÿà$` ¢Åü/…ü¿O0ëõ¬+ÓÄþˆ ˆ¢xBc¢âÒv„7’?¥¨“üåBÄÌŒ@›»k 0z3­Ä@në­„éqâ•|æKÚªc„&ò¡µ¨@_»”-T`žDäLl4üµ­–ó<5‹ DHv)ߟoÉÿŠùžO÷!T#(‚"îÀã\ )3(.7‰ÿŽÇS:%x²Tx'ò9¿¼ }¹Gܵ•ˆ5FB6‹ÚýÒUiñâ ¸•£¾E[8 ˆúÌÚ†j!‚ž#'˜ª˜!˜,~–F焊«A›)‰¨1Ñ%oå´Žé (Ðëø*$ _Ö$/Éín;§Ô‚ÂÎz³“hb’;Bù|þ]ß!ªd¬ 6fœÃÍ ^Bæ‡&¦üC Á€[‚íÁÊ|"¾‘ö¢^ãl^:ZHÍúiðý0³˜á8´µÃ¤p?j[UÈ£*Fj~J©={C¦ 1Bhð ÔÄ‹v·~{q¡ˆe»Äu½˜'ÁVðÁœC ©,VÀþ] :´nîÆe ¬ôÏöÊãÊh¦Ö`î¡ÒýÀzP5ŒÀ©Þ!øÊù­Í£ßñߣIgZ¡P&ÂÙ„¸òuiº± ˆ€‘ü/Eûý÷ßG_.ÛY÷¾±d]sö˜„Cã„ìX׿hÙñvìžkÂG‘¦€* ^¦¿±æ`2¦Ô wU¶»QƒØ5ž€rl¿}M£¾YÖ:Ëb4hƒ1:â8Cþ‡¤¬A«‹;ž;~# ìG¤5z÷ÏaM1Nžbœ±AIc{ßúd³m¬¡R·3ôú›Ù 9êLêÃ03ôᆭR_Þ1–?¤_Õb¥$*fooD]®]Ah*0G~ô±9Õ·6D‘‘¯@åìÑ`R-¿1±?h!¸Ñ7ɲ8TÒ;¡c¢ “åe  QB÷›‹9Aïç¿uÞ^Èø°Ì„Õ oed÷¡X÷㇪¢k&:dB[g¸Øc¬! ï=&¬«™Êõ—§tõ%ïI(­®ˆúU³ÈX¬˜6yç»E^¢9Åõ¨3¹Ý)Æú|ôŒ>– ‹È8ú÷A ݱ ·š´É½±M6iµ 2œÈ˜†Pi)€«÷¹B©„˳*T…pÌëª&´î‡T-ÏTGçÆwî7Vé.ØDŽð6ؘñÿÁéoŒ˜ƒ 4ÍINeZêff“2™„õb9«%p»‡ðÑhh5áëw‚%ÂßóIº³.›ãçÛI¢F¦UêÁƒ¡ýpÔÃX½&€؈MPÐí Xô‰à„œ"E€ ) Ãß›ÌüAÏúžåiìç°G+FEÌ(ÚIUL7‹cŽªŽŒ 굉˜v®@tü³ßWƒWÿê?ÃÑ!àYQ=a¤ŽÆj/ å¦Dú§"æÉÄÁrŠá¹]”›mÍ“ IçÙxOŽ,Ÿ²|З‹À\³ZÇ'?ôtÜGÜ òFcNíEHf¬ŽCª«Að߆:5$„ GhŒÞ¦ñs²ç,ëZ÷Â`Ï/A$æYÚ†°šÃjãšJ®3Õî´>ž § Ý[[;U5¡'T¦´¾?ÆÀø6æ‘1ôAOsÞÊùH3-QëÙ»÷Ľ¬ƒ¹™S";¥ón,ЈIòyÆo¶_ª3i×¥9„õ[âkL4sÁЉAÐú÷àÔ¦M~¡ýÄlf@pÂgÍÉm9”©Sm }î÷´5qòÍ)‡qQ<~ÔŠë &7ÓÚøŽIÁ¨{9û|5´Zʪ9zaº9qü\ÊÖß„¿Nz÷ycÈT©¡„$„ÐÛ0ä]¦ ˆ‘4Ö•¢u?¿ò¬çzô»k «þ&Œ]ÏBq•LÎ¥‘6²ô‡÷‚E/k¸ÊÆvס+EYÙYã\j ¯ëØøÈFÏ?Ñ0/¡Þ½’ï^L»tç",XE¢è°ó¡KÔL b±%rI®$äE¢¡ÙˆÓwSàAŽù˜Â>'l˯õ;?Ès6Žƒ¡'²¶z`bÚÑ5ßÒ\‘–Sêþ¥¾­äeß^§)S„Š8„Ð1d;o¹vháÌhǼú¼ ,“ÚœcHÊÑœŽF'P´²k(Ÿ¶=ìï2GLœ@Cù˜¼uÐÚäóE½Û%hê ¤’¤pôk%…ï¼ûz˜ÁtAëÃM<¬X gÜK†Ìœ> ¹Ta'ü4ô5þ-¹ùݪg`„§Ä-•e!šRãTõcñ ¯ãYžÝ׸™ØßJŠ{‚¥ Ñž__¾œRJ‰=éo«5eŸ¢knCJ ŒúuàÿB7. ¡D¯™tUÐÍárð’m£,Àëq­1ª AA |"içêãÊMH44Ç|GK˜ Sä×±ûNÆ?¤Ò÷<¬Rìe»¦ ^^t³‰Ü#.a%@üÅeÏ 2f™øY*ƒd!sã,Žé^×Ê÷EÈ2NhK ¬¦Ð>ÂIËæƒ|/϶iîKŒŸÉãL[µÆ ±¡¼$/¡pþ‹Íé®±0ÏK«&V!‚ú€ê: d¬ë·yHàžÔG»Â˜o¾cKTË$P‚ÆÌtó|Yjf\gÌ{'P_s˜tÁÅÜÃêËsxj“všÂÐüY Bsª|ÐA‚ yÊ£mªÊRjß¹ÒªãIp ø%wì )*…äÍ?Ú¿þãuþßç)$¨Äá²Hÿ=à¶)‰€qL7 ÅÑ3ÍOnˆHBøZ¢-H&Dó ­Fd&hZiíÔg`ߦtRÆØ…åÈVLØQf ©AŸ­ˆòt¢Î¡ Ad"ŒCz¨A4ˆ…ýœê&í_ ¦¡ðã[DiÌ1S8ìg^)sÜ<&¨ë›ù³”(82Ά3ÆY˜¯1ø6`ÖÞå+ñeú:Ëp6›ó‡Ì¶à‰Ðù› S& Fˆ˜B¦œ€ñüLJèsQPtËZ3©îéÿ GÉi Ñxæf$¨xñ¤õ[üñ#—¨O†7pM¸ 65Y1û’²Š²"¬ ´ Á8ïŠ@Ô6^ÙÔÂþƒzé ê":ÃPƒÓñYÿm|¨ÏwlXÂ@+MêTzôe qøÊÞ›"<È Ïgؤߺ1Íañ‹²d°¿³ê—ß!¬ØUnËD°úx ÄåŸ:Þƒžªèsˆ‚A„Mšh'œv· `¾Q×£9É÷Byãט-‹ù»¯[Ò²5±@%!Úaé{æ¥1* %èC9¡-sI~»Æ˜}OÁ%‹ ÀWC»=ó·ñÌä7ã8ztòCíû‹P&|ŸÄ3rs´·?ûI<›¯R6ÜhšûŒ±¥Äú=ˆÜ÷7 Ch¡Ÿ@’Õ¿¨59O­——Í/ì/JβáÛ\xû3‰_XãT” ¤MÙÖ”(:¨‚¥»B^qZÖ6tBÿ!}>§ãRôÍwǃ¹"P¨€®–¢á²ÖlõKj«Îû`H ³4ÖêÝ×Mó=šB@æhb®Ä£ôr½u¸-­wÉGãP²¯ŒÎ‘Ëÿv½Hm¯òiÌ-o²²QVšðIC„P,$<ÉHb G¦ú¡ˆ'é=~I×!Hœ67`IDATBÊ÷ÀÁí‚kàžr9Øï‚e["¹ú^VÞÄþþØŽ(n£öû†ÏÁêÆÌù.ÕX0pŒˆ¸5>Xš¨@•ü” N÷;!T8‚yÛךîÞ|Þñlý¹ùz¡ Æ\tH §ÝÝòc"å?i,=ó/llx2­æƒ   ‚k@(%‰)7·@ó7K:œá9öµ9s\_&¼H¬ÕšãPgº´Qù‘ÌÚXÅ)†¦u9AçnÞ«”cíùe*;$° á­jçž>2äòHY¦ÞÏyêwFtšk A„O)ü2¾“*!(†bŽqúÔ¶!2tŠ1¶z^'âçÄ_Š0¦9)’-Š>».A5ï]ßxñ…%p®õoÂBð–‚?5D9g9d jCdȉö} ´h5z𤵣tKNïc¾¯†ÚÀ­áŽÑVóäÿ­Â=ž.øCïPÖŒ "øH%8“dðÞT³™ZêÙÌ Ô°œ™× ¦!híÖzë]Û—ü·%`Ó(U/„‰ß2m¦a ÚÀ#Þ² 1¬-)K|¹Ô'&µIvͨZÌžI"惪™ˆKT ¤Á´NJpÕzz£9®0"˜Ù&¨ÆRçµ{hþ'ÜØøFÜš,rub”1½h𠉹N&æÓ@‚÷¡þëžý&Xb: fu!»UÑç?ÿïÿú:Ⱦ þŸÜ?eʸF˜/+`n”_ û%3p-WJÖöÃùÔ]8ü’‹’UÈݱýDî,+*;£”ÒGÒY¢t»×Ŭ] ÈoŸ«Õµ/9ïý·R5Ÿ>§„|ôüíÖÑ=œA-×Br ÇæâɵJ;m© 2ŸLèŽã3ûIoðÅ @tæQ×eÊíÌ$Ó@s}®E½‹¨C…“L¨·lÝSêB6Ÿ9|ð¨=·MÐi DQÁ˜Mñ‚©葦/ïØ»±¥òŒSª”ùÉáµ$Çä µž™îúj¸[ò£yÇa‡~*3"ÐÐ#„æïL° ’,Î÷7h°S¬A”‚©r˜uHßt°Žû0Øßh@à ^N0ù:å‚4;Î-3%qD‰è\@ÆjØÒÀÿ6Ph+Ðû³4 …!ÔŠ)˜¶ŸÝ«Ínòpi”Ô/aý(- $’ýd¤ 6¯è’‹ì™t “¬ug?ÕÏy b>cß+F&¬N5pWÒ¿MHÑx±$¶ÌBP+F‹œ»Ž §01$Y±$w2W1R`·‡BÎÉœ[wpwH`(!DX‹ ªÉÒBþ"Í7pþBÿóç”U3 ðÁóg¹1²æ'».©›ÖFt-eÑNÑP¶>½gì6B‚E×ïvéq hë)™ëƒö¨R(ÙÌw'”µS Ž:=>ŒÁù‡ «Öè; u¿äyöY§ˉÍßj‹fÖξ‹ð|H%þ3Éßî¿û×))¦å0(l³©2…RJ¼fÑzµ’ÿÇmJG–…Iœ˜ø·í¿% LºŠ—<0‡÷ãË,`iŽ?¹ßYÔ´U¤”ªã0ñû޶kÜ¢|Š´gû û§ß/)G“þåcßK9¶C¢¿ ”#­‚‘t¢ø„îmn„SZ¹dÂþ'!|«¸•uÙbEJV4'œ“˜€}ëÌ½Þ—Æ ÙhjÜ™9à´:"£[¦KD†v333A‘Y'õÌ…ŸA¤GäíT­¨wSúƒü- 5†ãkžTL ÏïH#f²ø˜´lJš ¸ =Ò | ЈKx¢yDEiHA»B€þ>iœ>¡™yÕÌsxã8ÜckCù¹G2ôJ¡”§ÛU&’×Ó6S~®¬AžkÄÎÇEm5ÊíX´mâï‡} ŠŸŽÙ™[þ¢Ç%üÕQh6ôÇLpcâ?)Å'˜;U"Á††€C¿T(à2¾4ë±õM “î~–*k˜À™“b““½ <Çw»¸G-Šgšm¸êÏÍYKÈŒ»¡Ðv«Eüþ^øø­9à1¢©Ä6‰/—ŠoÏ-¹y1qp&€Æ|Å4Xhp&™/Í\H¢* áÀÁ;‘¤â7Ì7hªOž ëÞL2´q¿üÏžS–9ðèV°.ÿ†ˆ˜ºÉÕ.·”O÷ˆ†ÿìÌ;&è˜óù6/¤&\jÿ=!“ޏåçOþ”êëÖzC>Æ/l>å¯|ms¢¿6›Ýe¶ÃΡŠÑF…™wâ=zÔ /ÆS†˜­D·²>%M_Õþ%k½K}°–½¶¿£v¸Ê!»†«  è!Å„–è¶Jë)r*ØØT#ñU‰´¾D´"õ¡z‚¹ôG߈ód¤øÚ V§ŒÇÜŒÙõú`ž¶ÕÁ©¢U9Yó˜ltã×å}¾ãÌmýbK‡‚A£qûnkØнÆo¶™®®ìÖDª¿1¤qDf/kÜMœh¦‚9Qôi |B2&Ö ÓMÞSoS™îÙšcíÿ¨–͹'> ‚qè5æ|:?Îà/Ø0Xƒ™?™yaò~T±æ{ž‘9íÎ$AD‚½V(Ù=T} Òx|gl?;“ ^Öj›ìü]}A‡)Ksä¡¿ÉHÌ!©\T¿"Š&!01wYåOJâ)³ÇN'†r¸Ƈ‘h4×#´kTˆ_ÿ9 16QxèužRdKì ”Ví2Á8®ƒ¬´!hæ¦z…ûÒ°GãÇ;å“6b(ŠyA$þ¦y°\Þ£ðÆ©4®F£7%NPâ?Sb«ÄK‡Ð¢p+Y,ËIú'àÍÃÞeûïÊ‹òyÍ›UT˜å$µmœV–®ìà\bBï$ƒ|‘*¤"û&fJpZä?g%óËù0P%&l‚­‹¦ „“Ÿ(‹ÎWAù)È)´)Úô9e3ªÌ¹{/}0aü5×'‰™Ì³DXÏG0âòÎéLF\«5£~“ 7ûü”šïš»ùCW¥xÌËé@Pâ–™ ŠÒ=)šÈ£ÑRBÖ[fY0åëwù7Ú¹õ&z§*cívÉ„²X~"TP˜Ÿ5¤ïw>œïDžÚ㯊\ %vvŽÚ=NbJãÜI8·1ª{¯«ä!Dü1ó—V›ßÝxÆ×Úz¤ê'¾ öøzÊÛŒŽç„OÞö¢¼øÓ`7·=7š…©Ý]§U¿lNñËXûÎþ®†@RžÐå^¢R]þ0ÿ×ö˜Hdÿj»'´k¬>7Ô÷:#µ&%bÂÑÑæØ:D¡y}ß@¼,ÉÌ¿ þ—Kª!lØûUB$ EPø–K<‘&èÜ“Fs hhæ‚ö`¸À@4ɬ`¦î¤O‡˜65Â1ÍèŒ×8&}ŽÁö/Žd|(„aÚ–+t¿¬=¦K¢‰¤1ûñ]e'­G¬!ë÷¶Lf†I1WBÔì"DÊf¬Ì«“I xÃìb»W€" ·ÿ#…W¬L^ ß1WÛÀÀKô9OPûüµ± –²JLJÇXq§h[¡JÁm» L*:/€K[gju“ò d¢~Ï/QmÇ W)sÝb¾¼ã‚¹\¢w¯ÿ¨=è{Î=4\çæýØ®ë¤Xúik¦=)©t ”ð³ ÍãðÌ8QL”hQC0h°SWÀØûÍMŒ‰ä×a† 5ñÒ”þ¾h–HÖï& dÀuìšEµ1YŸ²ˆYwCÄqQ» m3Iç>šY#À|Š%N›,áLM¯q#b2Ÿ„™€‰ö-)Àtš&‘º?Þzvó xœkŶ q–ð(ÂÐ.¿f⊘ê i¾þUΨsS×÷ÿ›ºí¸Š, à 06–„Ë`Íû¿\×*0ždy(—ûÿv(×ê4BÊÌ{c8Ã>Cœˆ‹ÐhÈ5 ™Û× í¡œó\a€„” ­ŒzØ£ë|AiEɘHWþì[–‹Ò³N*œ™oùO¨¬:c–òÙDÍæåéL„PR@ÂzH©ýã~ »1âqÉåÝGkü%” oペ±$pËØýÀé`Hø·jS"Ÿ|ˆö™¾ò\’ú¯›ˆÁôÑ?uÓ—ö 8Fù½×ˆBN~ ¿Æîù­ ÔØÌ&‚€Ì%³d¢Q>á@(>3h€ œ6è‹p27ÌõNe¨Oþ¦öŽïy"Ó©þ(†ù€nhÇt1ç•ðDDïgB›ÓdžËú'ÎJáž¹7‡[ óh¬kS_3„¹>Á•œÜA‹“þ1?§ÂûúŠ1™;‚‘æA¨A0»iqÞ©Z¢zK{ÌtCm­×Id£ç)ĵ\)’•ÃKÊ&àú»ëD¿e%ÞuºB:°½¸?çFQ|õ}5*4–"ýú‚XÛäX¹)SèÚèëfŸÂä"-Ø É¼gš·h¢Ù(¥&·8KÐP"«G€Šå0OK«¢uˆh]žpˆŸ¥£RBq®G„Á,ÄÈŸªÝßa24¯Ï£ÇP ¤$M£!]¶T3±À´IȲc&¨^Žª¡#.¦9Ž¡¡C¾ÌsM»؃€ñ–ÝP¬h88R"JÌnóPÄeMjÏëï(}qÌnfùDÄèï¶Ýo§©š¼"Š®ÁðêLã¾çä+0EäíhëZÁÇ"¸†¯µs›¼îû>I ë#4P~E`ù%ü¦Ý+Êô‡µ´ÆÿÚ#¨âˆ$Ý Øá3ÚeF› ¨ äÂ7Š™Þú^—ˆî~0ˆ8ô/!DV ‚GlÑòTÔ¯LÀ.j¼µÉŒQГãNi £—¤³SæG§xŠiý(J¼‹FÐWñBÍÇ”Ò ,ú ¢t’›$§ Ñ–Óú­š‚>̾)ÀÙuõõ©Jké¡‹³KíÞ ¢5aúR{ª¼ —¹¬†ÔÍæ|u-~F}‚:§pVµ$Ñe-Ì’ò‘í²„rdëÖQ)Lô•µNùš5ÄGØ-…„‹o–jÈž3añg¡»5\“e¦r¬/Î)aà£ìX‹n X[S “¤×ñÙGr¼òu„Ã# @‘ˆÕ5fëÐßÇ#ˆä2™Ca|Ì SˆÄe€‚iÌ´Ýýö\ þ»ÖM5ªlþtZЙ®swP.¦'ôÖlWbs¶ÊQÛ>+QÛ”c>U,‚8|1E ¢Ñø»¿)ƒ¾ÝÃEù\É ±@[cí{+D*„ްñ¥Dú­¿†¨ü×—# ÄÇ„‹;ä¼?ï÷«À Z¬e;¾2Áâ-؈NÆcÂë>p‘à¦0['n<„#‰ jS4|Cwà²ç†h×’ cy)  ±%5€zçðÐÚh¾Jõ¾¤xlƒ¹³¢Î jø½:໑Hè5î\~ÇÙnš3Ø÷ÊäíªÏn üh|f(¦4“W  yúüÁ1un‰efù*aø¾Ï£ìwi ‚ßXAò†2÷ÍRû½à%ÁîŠc Ú[åL¦eKnÝ   AvGC0AÒ?Red¨¾EK@1¹9sMsz.æ#$\¿ä» Ö€Û”&ؙ䮿ÉÜÚ DËœ_87âQüÍlA4÷YÒòh†Ñt Ãú1ÔÀ‚»#Ôúm‰ôl„2Þƒ˜æ)÷fþo«œÀïå¿»Ðøj%e Pi.Gú}t›]{V¾€—‹V„ö”úvE¨)’`N„àš{–ã,vŸ¥·öÄØA6Ç‘ï·v¨%QF!BÄþ­¢%¡X~,‚.’¦Ñ Ú‘„ÝŒ‘uIˆE˜øDÙâ<æ%ƒvO3jØñôa°Mzù¦Ú{×Â63È,0GÛÓ8%Uɪ€‹ol|{? 04!§Lö|ADfZÅèÊEÑL ÛJÙ=ÌÑ ßP¹q:s1²Šì*¨LÑó{o±]Ð$H`rf’¢$ÂxŒäº˜3ä³ Ú-ôn"Ú°u`Oèž-gF·8Ñô1$ÊË äoüi·¯&À0}ËzY 4W³'Àà,ÉM°š÷N®H9,þI%¡½ÀqùÓ®Gã!2žF c3æÝÓ<̉€3©'Uwr¯€çCt r•\¯»¥¿ê÷^qDýiPú¶À)úv²E°äö^¤‡(4Ý“m0áh½R%¯9•ûÍwù1¡ýÚ€ýÕ¡´ò@³çCR«.zܲŒïœpOÃùQÌ&ä…ÀÒ?òùä iNÕ-[´©`– ËÙ™ÿª˜õ—è<„ÿ]›Vî¸Ü®¬ÃúoŽ´™· ~â´K}›§`ákÅ‚B쇩ç\+9×/÷Z,‡Wûž#L tjåEúCôˆ.Ö=Ñ˜ß ¥ÿþóÏЀ5iU£9;ÿ‹ÉÐÐAñ¯=—ø£½¤4ËN4GBÇ·äÍ%KÑ<®:¥ÌXº±û›yí..Ã9b%KÓx˜~4ÄkÂÈD¯X`hדBS\E¶ö 9fmÁ]BŒþ„Ð ÐÆ=Œ#bF{gÓŇær‰¶ ÌGï>ãùEaC !hÅŒ…÷.PøŽ©!í ß–i°,c0 Ùîv‰R¨ÃÔOÂ8SC©ŒAÏ„%\F‰Ž“‘ O¢O–#\÷õöœ1ÂFS ëKèÚ/!«O‡ F.‡špzW0Û¸ÕÄ%FgY+†iGĬlÞ©P2“#–†ˆI´Ø LÙÌ|ôÀ|ÂG!j6im3Âh~ŽÕ貨5zÐfûd™Eß3‘ƲÂÎÚw-Ia‚ùr*ýý\6Àx0ëT@jþ!C×ó½%ă”}½€ÀI£;¿!›“ÔÍJØâÍ®K8^öôs´ã lºö5ÙÌŸ¢ce)T¢[Ô‘(AŽà€rö Sº-*4&Â6׌Œôù–ãÁæG)GÓä¨=¢7  ñ?ïŒC4¯»†ï/eÄݳiRÍÐ< !d<' 4ø*g—ÛˇÚv¾ºdßU”—¤­ß¡eBgP>ÀHjf}Îià»ÐF×B/BUžrx—LN3¡1 T:æ¹!˜,ÒSËG\—!^i>ׇŸ¥,Ï*¤k›Y—”¸ëa/Û»›B`ë ´'äÊ«¬“ |H"Љ PÜõ[§ß]÷0—Fû0Þ8aPŒk›y¢Gü¶’aÕ"Icjæ‹jÛj’è”`ð‘Dâ¢n¦| û‡¨TDR îú1÷'"מ‡ÀÙ*Á¬n[Eh°Úuòk M¼‚r¢Scá/¢ ºs‘˜{~1z EÈÒæ·í÷îœÅdc@5Ï]Ÿà:Ûy‹Ðod÷⯠Óõù‹ªg6òG2?Ûó!…TÇv±5ÊÉWƒU«-јP|¦©oe¹E|[4Ù4!y>dÐwŽrùÅñdñík¥Oü­“ÔE`N9*LŽè[J#„€v4³èGJAÞ¿þó˜ÎÞOCã˪4š–ãÔ˜·™øűqCPD`jÐþå3#.$…‚¿Jlϰ…d.vò¢MVáqãV•òA¹=åé~„»m­v{'" bç˜Ìƒ¶-ÉA†&7ZòQ ?Œ¿ 0.Qo|-N %ÁJÈô]õm,ÌeÌ£è}~j(ûäúäï¬"ÉK¢ÃÓŠKU`‹eGPŽ%ºËbuQÕÚ¿ÌŠ™—²+‘³\æÉíF£>' —²±ÚꥴŸ,Põ›bV×<<…=¾Ÿ¨ÏÍ[s ‘B ú`§3Õ‹Ìú[> ê0-˜6ÆI`fb׿ª;º_ÂXõðÖGQ§ïº±ÿQ-ÛŸ¢öø4i»A# ³gµ§V.°èv‚A™<P¾‰&54ä3ãîu„®q†Häië£äâjvb>@ƒ°0­ŒPç×__Œ&>c"\$¯šÂÈq!þ—4Ý…öðçàÅl-ò-ÚNò¶3ÉÚœXŽ¡NØü¸ §°“JŤÐotÊG±ôÎþE’ý Ò– ê·HôdB‰® j ø®ýÍ€«ˆ©ßÿxÙØ  `À¶Ø,8Àé j3ʪäWGßï«ùkÚ¾EÅ/^¾Ø8( ^Šâñ BwŘÕ®¯®ú”6š.ûîê¾:<µg";(&2Õ¦ êM4aƒˆÄVPÀÇkìÙðæJÃ"šÆññJtº/r–•a¯/ñvÉä ’¦-ÿØPÑû„“–º–YØ1ù“*˜ñ€œ¦ØuúMèûÙúîk& Rñ‡ºa¾Áºešö$ÏØ"^BÈܨudB‡„<bH= T½D«²ËÒŸªV†R¹ß=\#iÂB™ôyáWŸð@ ˆ–R—6in²;\=š gZGŠùƒ¶D¼­hÄ1Á TBp'?°&î“ç´cnBÚ=qyr^íg õŒ½W’GÁ²oSþî„«¹HéeºÅ.|&±„mÑaŒ:t!3q,P P@þƒaÞ Bæ;sÒ,»ðø!_%¸PpÚœKUD ßG('çÓê†ÔLþA"‚äŽ+³'d×^Cúœ¼T}×𴈲'”L±‚ú-Öß"ÈÞKÛÌôÅH ö5¹«20ŒÔÌÏ÷kŒÒ4JÇT‰l%%Áóh){,æË¥pL¥ ?oþiƒ*„NªfÎ}ód„Ÿ?W„‘Úòî]Kp;ZXÕO,­Òx•4=ó³P[tY³$äxDÙ¤øÄüÆ™µ~³VîQÐM3Ç&½È7åš2t¼§‡oÏ¥É×.³®ÝÛrÜÁÞá‹Be>7–OÀò¬µí­}£uHËÏ7ÿÐgü[:jVÕpXUÁl…· = + ÅÐ$£Nz;-“7Zæ>¦úœM—¥P€9Âð™¸î5@ûxùOÛLÂþf4Ÿex“Y.,‚Ðz‘“Et‡ AˆÊÇâC2Ãj2h™JžëΪÂ&1F0 ÄÐ/b/O¡ø˜±çh჻1E»cjƒ‰RüêÌ# 8F>°Ú€ÀJ­ø³üe/fÅTP(´ÂGdsâ~˜§,‚ÍT{ס+Åî:ãÔ¿z>•95où4És¹@ˆA¸û¸û¥SöQ¸ÒGCàêù²ö(£”Ðõú̲ꔽK(·B)×2CÔJ8X.ÄP¼vðØù2‚Fé2ý™ !¥ÜLíª£ ~sÂB»€°ß|ZByNÔ²$+Ð5O T®ÎàsdÓ\šƒ6ôf„‰Ð.D°ä³ØV4i°@”ƒ˜¾ó¨„Ao˜µb>%Át ó-&¤¢4}Ò;…õ&Ó¡­J‘Æó!›Êsì™ü“ûêš¡ÎpEã]qBB+p!hò…c0Õ·µÝþã ¢>üð£M’Q7"4Ñ"¦#Ù]Æ-Z9GA»PÉ’9$µ­©_hÂÿÝSr[JÑhšXÊ!ÔRM|AÇÌÑ õ¡›HYC4hžÈ4éa1Dµˆè:Zl£7A3àmR/ýœ1—œh»ÜMl¬c03L˜3h멊|UÌàk®æ¬‹%M‡Ö¤IB ÎøA‰’Íù}P„)²6çjCÃÁnÜÝí$VryÆ›Ù-ÿÕ…ó¡ø‡î#ÆTf¾óõš­†lú؃yj`››Ãˆ,]0䃔R>ÒÉ·s.ËÐ0¶3Í ÎÑW2™MèCr§lÎúãÚ0_‚ ‡»Ë>(~}Ý&wÈ©lŒ™‹‰C!|!'ÕU_ÆL¡âùãÜ ¼ûx꥖a¯Ô› ’Êç/~5â~)µ³Ž¬*IHd&È >)T¡`€c ON¢5Ô£ÔÚÃëãÃ÷7m"Â"9(ØÅˆÆ¿¢YOò•~ø¡k˜·´()úÿÒQkˆ`Ræ L’@Ì3˜åµúÊ¡‰ Xêm(HP%¹ ¶»çœ‰ŸOhL} 1„¢0 ÌÝ|±˜Í<Ο‰ ’ß–¼nåLµ#²ØÈÃég&¿V­zj~!!X*mžÞœý·±£Æž|U Иtר¦JÙôk<ˆl Ñ@åR=4ßD ¡O¤›`ÍGŽN̺r­ä¨ï(Æ—N&ýmŒvº@Kù~Øn©oý›síÓœ÷=f²iœ™¼™åä¾5™Çø¶4Ï>6)\$æcBɹ<æÑç?–Ö @üq¾÷9@³du«W\1E˜ÜŸ WCiänCWÉïŠkvßÒ¡‚È´µôV´@ú±uÁ’¢ƒ“zÛÙ0ú„ö&!‚™Æþ&­3K.$—p0™œ_Ø+.tŒXæ;Ïl5Ø%MD!@PqWí\ÿ$ê“ÿÒ¿¨jDJxùQ+ˆ MÈãÆ=XY~DYÔ ™^LÚetÌèzi”Ó"`}XгØD¦Él -Ap?Z·´q!üžB”F+µ"¨oKW™$®ºqi"õLT%(йщ™Ò o}õÇÌ0Tò¸W¾”.’–qÐ7y†"„…`<© ½-ŸrS¤Ÿ'‘€Ž¬¥sq¯>h‚Îj._[{‰"–ïM;ƒ[ÇXL9QÌlH†”‡ M^3Ñ— OBY’ÓÎúàøZ14[žI»”þ0SË9¥ÑrSöBp’¶uæ—Nìí1è:A¾¥?fT{«SÔX‹Þ0žïcÓêúZ”Þu4[¸KX˜5gä-ÂfŽ»Gž_lÏ2å9gÛpœ€P¨Êï’â±^N‰øKÆ$E"ØdšûQb}ª=E¼¯N âö}íð9!Þ«¿^·ÆÜ#Wk@pIÞ«³+HQÒŽÆ’Ä’ÅúUœõ¥töŠgª“Eçª`¬‹C½ÛÖoëbs&8'ønÛ ÑÛøÆ/ [â} ˆ€Œáhs/¤Â†£_4Ͷ§…@yX"™±âÑTÔŽ%N'OP|–†;)µ³©_¹€òhœA% K"ž3º(¸‹©"ßjy£PÏ*9Õ uŸR#˜¡…¯#¦„“ȇ³®*ôÇl0.—Äÿoý;™uy¢ %X1™™âÛï$Ê1 :„6õ@ŽÆp Ú!¾SJˆ×F¼hÜÁ¸JkŠâ»ûdNHl5E?ó NÖÆöoÔ&ÁâdKC^¾æt{ ef£]÷rŒæä‹ä%sµÏ|á!¹\!Å!';KiæëüÌŠp‹<)ë—V˜ì—±dÊ„PÑúá^È߉z§XÍ­iîg‡ %4ÒGCî”&*E›#¤”È£WC™Ë˜V ëwtV‚G8w¬]-*– g YPüCƒ­æä:áÙ#Ú~x~´Ú’¯-UQ`;¤Ü@iõ ‘“Ú„D&‰}#íA¤I2·™ºGœ˜ªxAÂ$Àr]‹»c1ƒ 8úŸb8¹~ÿ6¿R6‘4q—ÂdŒ£LF·'À¡cCPB`!0âd9=ƒ¼Çƒ?¦JwkÇiƒ9xfÚÅoÁéÃ1l*ÐuüWAŽù@Õã:Œ˜R@ŸA Â4ÿ':|ñx²Æ°³\TP4÷FQ1kí _B‚8'ð±œà Ÿ?ÞøZÖ«ePJåI̶¢>˜;¼`(÷‹ß^ŒÆR™Óê÷æ£8Ä ˜0^:ÅÊ„¢ ‘«é|D;íœó'·¸½)²¹áçêxÉLùûO!/žÙåg£”eJ; Å7ImÌN –/ߺWp¤/))åi–L6_JO°Y×18´1𙇤dÿ(~³f§1G01¸î¾“4jÅ$UÕlþž§¡ÉÊåÄãˆË„Žéõ& °–hej2Ó¶IJZbŽÈš_¦\{>N n¦1Ûó= VÎsšÏäCˆcvU\D¤Åv _’pˆ6÷¬¦1÷ˆÑÚƒü„ÄŒiAX÷ ëäáVyÓÅ7#”½ÙçÛ4~ϘÖý±ô»Ïh˜< ù‘jû‡ùaõõ,¤‚D‚<¦Û¼éôù[%cÆÍ¦*¸MòçÔ+ÞpÿÕómqMKC™“ŒæçùQ¯I° ž£sÒ. »ßR9Rôƪ kBº)z9gÐØø¾0$ïBo9Þ``È+ççŸ<& @:‡œrXIô_ÁC“_ª§1Ý £ùmëñAðHÁΠg ºñ¬ØÒ…ŽA„„”;9 14ÄyMäƒVèæiÛúb"í=<‘;¦íYÏSñË,(ŽÔˆIjŸ¦×ðÖ)í± âL=ƒp©–/[.+Á°,ÅÇ@s@L¦Eô‹ ? rq%}Ö×›—jkìâŸ:–Ž£Í—1Œ†Ʀ]ŸQT~¤±RX E :5~,ÅÞ넼$³CIzÀ5XéY}pê¡·yë‡Ò:EÌß;ý!ÚbÔëW¯ˆ*Ãw¶´þ¿¹¸'Ae‹*hs¤”ü↺‰ÀÛ+Ü>¨è3t²üÊûò”„Å ñ´Ûgþ¡§õ| ä,EóÙÓ8³l'Ÿ¯ >^Q ™‹1ú¢Ù­MO’L MãÛ Ó̇]ŸI1?©ÏúáÏ@# ßL ‰J+8]éøV¿¹N{“dgbhÄüi‘è¤iÌ!4½{{ÉW´YùU°ùÇõÌç8ƒ‰úΚï6)Õ%ì`>SºÕHÜ?[>wbCcT9‘´ÎÈòm7­öR…c±•;Ñl~TÁñcF7]{µyhÕøVHÌÉÚ8¹çß=7¥V0”è,s¶¥aKª7ç·Š"=Í’0 ùSÂ@Áî³Î+3°\bcRöo·œvµï´SBbNÆE ¤[¸0gÝ—›‘¹¯}•ue¨.ÍÆE0f¾&…­Rb´¼OÉÑÓ½£m×3£çZÊbSщbï³,·r´ÍgkÜÇù…bŠótª6Mµè øTân‘Óc™d>ygÃß#çŠ` $ñLþ%}aY ÓbûA¯|Dƒ­G·Î ¯¦°÷´Ã^×å´0„• XÚ0ô6ŸÀQgLä8øë8 cÚõ–ƈx÷y(5fF4ƒ=‚ôÿÍc4%Pœ_{R,ù&¡ß”9µPQ.¸™19=ıj&Ôš©ÏÌ–·ê›BB*±ŽND Ìõœa“à†4š2÷Ì"¿—öC£`PýSA÷‚O{‚—'Üv ¿ÑY2ÖÏùr*‹b¬üìhºÚž®²©kÞVìé­„ŒtÑ^tk=š‚D_È ~úzBüŸ¯Gðõ]PîYmasf)¬jH¬ªÏ­a§,r„v"2RC^TÍ ¥³°/¥jäç.Áõ¹€ª•úf‚Ù~¹=`€ ÂÐoÌì×:© &"6ú‡I“è"E~‚Óãu6?*†¼mË"Ãçb¶´iðù¡€$%"ùA€´`Œ\v pNòÊÕO&ÏAâÆœÆdš“ÁÜ…í̪OÇE™h Fšw4Ë9–{Lð"°ë˜V¨‚6Ì7EÔm®"üní A˜®ß8Œ¹ë ø£Ÿ^Â=ÍC¾8ûïd:¸ÎGo~AÂ5¾c‹ÊëÐÙ—Lúùw'çj °*øÜ5}H–@ÉgÑ•? œÄ[¼& ÊÖ¸–:íAC¥hW ¹^#$„K{jÑÖiƒf.Ía¶Ð߀!Ä17 Mº(°6!?M„y’ðô·—ª÷9Šƒn2¶&'Ÿg°+ŽM¸1×ÒŽçÎ2oú9Ï5îó/µbüSËDüU¹0~š"X‰Tga½Aíz>êžöSÛ}4'™Ó}ªqlê‘Ð2éPŽCÏL‘,hA¸øÄPDŽQ‚X6ª‰8ÑÏæ:ÒµjïÆE kàXLJ–ÌNÝ7tâëRTùBi('Á®è´¨»Ï)ÖÄf²ùÙâcmP"cµš#(”_•Óä¯:}SC~‚î;Ã|C-òásR©ÀcŠKá-_¾³ ¡77¢nÃQ÷éÓxµç7¹&r¡ä`ÿ¸01¢2]N,¡a&h))¹ìüˆA"?· †tʹ_爤#þœÚ5gà… æ¶üÞÿúâeÛcX™<¯&Ž¿w~Çsø'-ÓeþÚ®õmR}¬‘ˆtçDóLG(#i,ïsY{ˆÕó%ýiŠEæ”D¤BrªåÕ$¿¹Lh\ÒwŠÓ|¬ŽJnÂéíœo#@À4¹H>+6v×Ë¡a–ôÎ÷™Ký*pàæ<+'èÅÅP€XŠk‰”2iò²N`ÝjFmÿö[Œ¨?))Ehb½]Ä|ïlõÙ“æeðîŽr¢Ú‰^ùþù×ò„Š ú¸ñJ‘ÔV>¢€Ã?½è6f.0ïøµga‚?ÉõxùÏK)©ýt´/áÒ£k3â€÷ÛËÑIxo‡Ë6´˜å0…óÙü†pEåµnzTß‚ÐÊùðqõL[¾a}NXR8âv¿ ècu{ÝÏÏBl}ðIiäu cz ?ÆÓrÙ×ò)UƒXÒq†]_o9¨|²©¾¿´êñ¹ƒ×ÿ“¦›þ¸ ¡AHÓ"xhŸÖ3‹ú…d+a]å©$w ð‰Ôå¶N2Ù Æ):$=C  UÇxô‚ÇžI¾J¿ø„V9TŠSÔK@Æ¥! Ìù."ÌS™DÈWxA÷GŸúj|óã]™ Á%DW­h¬Äª¹Ù“´|m¿ßV5#9ΤS+ÿûß™ë@%š6r¡u’?Ï‚CYò`’Kçk{?„ËÊxNË¢ä<:ûp,»ò ñµFGò7¹ ãam%ì'šSV_ ÄYãCÔ_Œ:fiF4mOj'ÒÇiލ¥«X› „ !‚Ï_nLƒPÑÁÜ,w…¡ X&+Ïïoާ¨´{“—ö˜¦S$˜ ‹—#Ö  ä4f=VÄ :A¢@Ìí‰?¦¹ ¨ •´“Éém„:Ü‹Þ7ff‡Ï¹È­‹ $_‡ óÿDÝÌÙd$bë×< óï;{B*dÜ^‘®‘Ì݉bGbz&®Q0{}½¢ o®w¹|ån…â›Ëü½1ϾÛy;ÆÞ¬&D¬Ù¸–çQ¿ü£bŠŸøt5’ßR[mÊYòÏ\¸o'¢†¸øc s¿øŸMÔ¦~KŒãCól•’CÇ\¬Myßs_@t\Ÿ-Ñ" ÜÛ*HðIsØz(MW+ÖÅh‘Oƒey°àÙƒKø8â&M0ƒLÔ!€ÌŸæ—gÏ#£ ð“>÷¾Íʽ_ò·~¡ÄòkMNîͤ’˜Mdf,â|k’R, C+{P®ú Ìø®² bãFËe%º§±õÔðýž:YîÛn°ÚžÐ4&/(Àç"ðRJ|Îm¨îsù¸ ]–°M1(´"\”s+ )T…¢¢ûÃC EH) P£;~8 pülÑf NàqZpà hŸ" ¿XtŠX¡!Pt0(K™ ¬œÜ÷]Où¯!så*½Î’½øãmÞçB-Á±¤E—•è%ŒTø)#›vt<'~x–0ç×=¾@K‚÷¸ ËA“ÎOŒ•ÿü>w#~æëᄇÖX5ÀHbøYDމ ±[ ç˜K©¬ì¨A4Š âmé,&ÚÙeÒÓ~@>Ÿ³ ‰¥š 2ðœ@C6èç$'Õ Gç 7JZ&íUVîO¨ê—‰^;áY‰SèDŠgò×ŧxÆ÷¤þù*¸Š!ˆ‡AÛ~ÚX¡6—BàsªzEÞæÎ´\EXbi\Æpòl}¡¥0|Žá¿ÿÏï!p.FÂen3Ñ’¹hëµ£yk˲›T‰Bˆ}—–˜ë”¼ñpâqês޳sØ<ÞóݘD Ç*¸ÃÕ)~hñ_âZ+—ƒ”ÑÀÕI¯m»L@ñöCŸñß™ïëΫn$›×ŠP¼K DÛ–ZIÍG»„Ž¢d Ðk ™‰Ð92Åþš€#ôµ ôÏ|Å«íµ1s®#Örݱƒ¤Ý“0š-Q¾ÏC²Ä÷î5QQ Tò~æ¤ûš6J6óQ¶RÒ{¾%“æÁ+L ™oi m~&s›ðÕÎñº jšÄÜ0=„×öÁªiÔÉy©®žö×þJÂ"‚ 7ˆ)Ä0^Lä|Šáó# ?ŒÑ‚pÛrÚµ rHÝB…«ˆ>ßuÏU &SŒA;ïOMßÛ”Ë1tÁHù¿Í³ëö(Ó„»E®D!ºsqŽY3^>9 %inàH–AQ‚D7—ÅC¹ &å`Òiqs`s¬€£|o7×yW[‚6+;l)ß„ÐPh-ÈT5M¹Œ Oùý¾wú-3xóÜòl‰¶Êã±úKÊ-Á}WÆÃNKŽÆÿEýÁ· މIEND®B`‚./chessx-1.3.2/data/themes/boards/cherry.png000644 000765 000024 00000264536 10633750627 020423 0ustar00nistaff000000 000000 ‰PNG  IHDRÈëò/°bKGDÿÿÿ ½§“ pHYs  šœtIME× å*òÐ IDATxÚT½Ý®,É’œ÷¹GDÖÚÝ>‡þ€¹ §@AÔ…ôr!€¢½œ vïUáîº0ÏZM Îàôéî]U™þcfnnÿ÷ÿñ?•¹QY…Qd…§2‰,ªú?–ÉpgG`f p‡ÌÀÌÀ€ÊÂÝÈ®ë"öƇqöÁ‡C•÷{s]/œÃðÁœsú3ŒÌ$v2|’ÜD$†A™ú¾cE8™²ôÝ*)s $UY˜»C†>ÐÁ ƸÐIŠ‚Òwy~›™QUD&ý£¸éÙ¸ ² 3À) +}TÄÁl‰¾YéŸ3ןWýÆ…qú]$ÖÏnŒ"Ž~sU1¦>#¢ 6Æ€r†6Œ(TcL,“â æ˜CUꙠߨ¿W˜=œâùÅÔóß²07ÊŒÂqןïÞ¿©À,õÝЙ2+2*¨Ôçfvd0Çàìd­‹ÈƒYbædéŸÅй.̇ÞÇ Ü½˜ƒUÁZ“½“17=ƒÌbÌcè]éuÓ·‚€1p‚bNúÐ9>'Yû "qÓ{ÙÁbØé‡§‡æã"Î!«°,=¬Ð§×)†Mjf idÓ]ß ŒÂ8xê ë î¤%f/£21wÖ0²ñð…ûÔáw]wÜp3¬_Šž‚†YQVDe†þÜ -É *ÐçW`®ƒ›ýP¢Š¨Â * ÏĬÿlt9Ós,ÃêpÎfÎEFᣉõA³"S/xÍ¡‹7Y ™É@¿™4†9Ÿ0‰ù`º“á˜÷çšaîLsÜUÀ9úó‹ÌôÏ;×½ÐÉH,7fæU0Æ`ŒÉ>›2p3Ƙ)8˜ë;cŽ ½ëˆƒ•3ç¢("7ï‹“˜O ØûfΉûdÄ`.çœäœK‡Ô¥3ƒŒÃœ}|RåX£ öÑs6](Ãfé¹X%ó>oê.朾uלÜw’d½ùõõÅŽ»¬¡‡e$›'«Ð‘(õ¡‘8Oãìd ïHaó¢"õçúT4«šdnFÜ€µ† Peds™<1¬Ì)*fA&TsN†+eÔÁ("aöK4’è h6¨:%xu:1°q}ͨ¡ÃJrù€åèCIR$”ƒc`t**•y•!r³~{URUøXdÞ¼ûà¿Or÷¿ ƒËk^ÎOôse}7ë([X‚ÂǸép¥ a¥j¨Š 9e¸9öX·O`‰ŗlŽÒ¾ñ9•Y1,cô³K0&E¢jX%™É½7c¼Àtª«Jeø'Ë+ëÙ Œ¯Õï ýf÷>'»upq2ƒ1UQ ÷Îwî/ðÙÌpï oɼ®I•"ìR¦ddžÔK«rþúý·ÂmÐÏŠs6T±£ØÓ9[I6kóëúâ½ßÌ1†» © Î9ŒñE²IɉÃ57X>)‡¹µÜñú"#K/?qlȤ28pŠa°ÏÁÇÄúŸ¿wâÃôŒŒCÕ ¼Øßßø0ìÉ&•¸%‘ÑA!YUª*ñ ŒR6#*ñ(•=fŒ~A:dãSe×"îŠúÙÿ;€¯'t@ÌiOJqÜ‚õ”:}i†_ؤ=N&äfÌ¥kzR¥j¾ÀºtsœC) fP±©L®AéÖ‘yôýyÿè*qsÊ ·Áð¡ÏŒiì`¥ÈÝgA‡ÙA¿ŸÄìo`âc* ô!õ9©ñhU T€¾¹¦êÁܱŸRï~o]ù4âô;Àð91;ÌåäÙD_Ê9×닪Á\CQíÄÆ}°æâ¾o|©€¨T¦c'¿ñq)#d`goö{+r•afüõ÷ߘ;ïýîdèF—¢ê÷ýÿgàãÍ“}t¨ç0N|3Gÿófd:ˆØO_ôD?W„çÐˬT­mÆC—4“¨YTÎÐKÀÊ»–F/Ê]•W'uxN©xqs¼`ßʆÓ!!Îé|md‚[@÷Di‰?µ1ŠÊê½ôYSùÑϰXëéͪŒãa‡OY˜:žÝöe%ëL~˜f0W—HÆ«#rvwòħ÷Ì.S|è»™õ_ø˜¸/•ÅUd0°ò®2AƒWGö\)_KϸŸ­p2}*§Xb~acrö·zPçt{ð¹¨JF’>Ó‰³ÉR?a>Ž2§uÐ(À–a¾œ}J½p—’YɰÉ÷ý›Â˜yºÞ¬$"û%û5»¥§´s}Q¡¦Èç`½ d¨|±þÚõ<¼JÎ~cf\kçtÆ‚éSõhê@»õNTRi˜ûnР:-S¼¦.#aJוLwÌûފ• wæd&ÓUjŠÍ§² N¼ËˆìæÙ»Oy.äÉ££TJR‹Êd˜u¹7ˆ“`F_¬á)ÁM/¼;l`¨!ÎÜ[a WíÜ—›Ò¿öÛ¥<ºIâç╦9qôƸÔeÎð{*ûR¸%5‡²ÇÏÿdêô³Wm_>t!ÇœX—ߘ›h(3@à¨ôÌ*•Ý«ªTŸný>Œ²d¬Ñ8…SYd¹ž…#ÂÞ=W¡Ï¶.ׇzÏsŽJý1È ½ûî§Á‰­Lúü9ÑYûÜ[ïi æëz‘¹©š0Й½w×¢VìóÝHU¿ˆ†F™ÊµHm½H-/5Z±ïF“œkMvWZ^‹ŒäR0ÕŒ•8aBÚÎ9TnEÜ“ê}|0ܹÏ-4I*õ«Q¢­>d:V7¬µô½‡¢Þ0ÇŒ¾*Å„BcZc5³³¤ú5/ܼº"íôÂÆOIe]JT÷0Uúóu+œ,¡.s\Ýgï~ BôïŸãõA «ú )qá8YI$äƒ&!$Æ]JÙãù®*é2¢Y TrÞª(¼¥™+ãÖ“M†€32O÷w!‚¥gÿ”I>™ªÒ•ÝG ==0!QOvE~Ì‹9ÁµN?P¯ä>¸®KkEï?G2Æ`Ÿ#dNÍÃ, õΑÉ××lôÎÉØøœL¥1Ç»9Ù{«ΉÃ÷Ý}€ÏFõ 4•+VŠTÕPëSOG(bV§S@(Q‘ÁÎdÕèVw›‚¥)c\³#jt³¯g8‡uÿTͽ~cŽÑÁõÒwÌÓØhâ6än`$‰œ4Ƙ¤™ÙA»×`9,Scê/:9ë°ÛOù%ÏÿÏ#D̼ˆØÔ13)Qæ´FTžßöà…cM*]ŸÛM¹.¾)° }öÎ`goeº¨bÙàÞ‡á]r—ÃX˜<Ê»ÈQ]M²Œ±ÃüG%ãëŘ“ù~÷—WTRMïdŽn“¹è‡wô€Ò•׫—az zk-N&·~ŸJ*WÚÜ•x:Õ„w»{¥i½ ìlԣʂ,àÔà}I³>„ŽO£¶.‰QL0'£’¸‹5§pö âsŽ^ÿôÃ6Tví#HA1Þê0çäNSï@£-s æìçkOü.àAæÍìH›è2Ƴæhì~`£¹ j£'›\×êÿã$§YÇ ,؇¯)Õ6îBWÏv­EÅÛÖc|J¶~" *{c¶„~ùÐa&¡ËeÖ½4b‡áSû½sÛäD~Šž^š—ž#ðúú""™d—Iëß»OufpBÏ]Ì•’ÝÀŒ.DÜúìtræu ²Ünœ“¼ßßOiKÜE&" y¾h7dÃúvªApwañUL7ö½¯¡C™Õµöáê `ôÁûNä k%B5§³Ö N0Ö¢R5v£þÍ3T º…ñy¨• ¬Ò¥"?øwÆCŒ•g[Ãö¹1Œ9e‚¯¡¾úð¯&÷2‹ÑÄú[(hdðŠnŠ l6[˜-!*–7(D´Óï[üRì`Ôä”`ÙsnÌךœ½§jvâ³Î9Šóå =KWÒùúD÷NõòÔ‡ƒ+¤§Á}o†«M«†•Á8\ÍŒ¸ï&óè÷­ïp-ýîê’ݼû®‚k}ÅÞ› e qZ*ÿvD—PÇ”)“»O2„U™ÈÓ<‚î‡.£wµ³÷çÂUKZ誊ꄎáFà]ÛŠx­ùÁ¡U¦¨$RƒíD|7Nߘ»ÀqAh¼Sufœ£/;ļ ÜI‘°UÇ¿ùZ˜ëPÏ98ïw—bR¿ß:¬nÛ“ÝȺPc}uÒ× SVlF9ƒapj7ÑÕ‡Àg˜)ÖAÔ€ \„°wËOcàfœ&Ô²Nb 5¢®“YDdÿó(A•!^ãEåáœÃš‹¬Ã³ËXgLÿd!¡QÉõ2Þw‰Ä­"UÁ">Ș¹!x»R|U&©›ÈœWùÙQ8«Îzö)ïüšÄ9 DœO úfμ.öÙ]&'ï}thÍàZ“;nõ8sr*Lö½Y×Õ8‚óµ~!†<"8{3ÝHF«÷õá5¤ð‚•˜Oæ *Þz·ØO6¯d ²4¶‚hÍ©¿Šª¬æ>7§Ê_(Ì&©º» Îx Hæt† Ñ÷c'„Be1:Ò¬¹È¡›¯ºlsîï·jd‚ä;$×°Rp¶ c7cÎÉ\“Š­RêtÃgN•$+’š¨FwFsŠöcŽ&™«‰>3#‡)Ë” íuF `¶ÆÁ|é»ÚÛO¥ÑðóT,3›ohÞåè3N¹7I¡s6ºNe¥cÁ\jPµEžõåÈÚ8§"ñkŽlÝtøT¹ãͽDlž/~N6ª÷ú@äO£o r2NgYõmÃ'‚¯a%¾0Ó石™c~ª‰s Ùçð¾³-=ºß­&(ι»lêÒÍÑ„²›QæÜ¿ÿú4í»ž yð!¤ô9çÀI "©üÝ%WËb¼‘´&QýºˆP¨2^=¦že0×b>¬• Eá©xš,SæñÆŠ7¦Èp*àn8Õž'’x!.Àu™æ˜Šf4ÛëÉr¸|ᾄ ‘ŠÌ©šõ|¿™Ã¸ïoÜIr„¢Œ!MRg¥Èý¹àöàîîŒu‘’ÏíjâJЫ/‘T"µŒstÈU:fCªô3id«%™‡²`ød–@A#=ÑMoaeؼ¸&¼w6ç±É‡×³_"ŸïòXBh‚ŠF”þ—‚qÎÆÓÀ¶PG‹f©¬ZS•ArD¬™4SÏQÕ¿=UúfÁ4üž-HSež÷¹p[ý|„¦¬þJc-®Wpî¿»¯ëʤ9: º«:‰ûMz«"0•E"gÈ„sD?Œqaḿ‰&b3“°†©Q†9Œ‡=õÁj ›ÖÇu‘Ïy«$*°ÜÌÌF™µ™küHB*°ó\lJ‹¼„2¹V%TÇL}À;[ÐP äÞ¤ællÜ>j'2·È6’“&Í’“~Ûë5§–†(Ÿ²n8Ðb¸~)•Å5r¯;‚.òtD>IæÆü4‰d]£çÓÛTu™Æ'ò>ìüÞýG‚W—€ª½3C5-‚Á)ÕÑçSû»_ÜÓù9°Í! [”‡ŒÑÝQ`cBc,±Í-·¨T?ó‘%Ÿ;ÃÕjwÕþ>žl8qä^eÜw¨”FèfÜ;ßFU€&;³:":}}I#qc>¥¿ô.G«È*æ¸>º5I\R$±;sM¦/Ü7>è -j”&ÌÊú}©¡XÃØÁðâû½±¡æßý « î7óë±7Q0‡ 81˜û}7'un¦RžkÒ¤ˆ† %73ñ³‰% !vcé©—w üRÚ Çà¾of¸¤pô糕ËR¥¸ïÓR ÕØ?ÍTˆà>z1ÖõúZ*õÆO¬eòÕPn¶Ä„Ï&Ôæ¹Ì§:mSà¹ßjNýÁ.ßÚ£ü5oÂÓÈ \ÐE("íS>ê’µŽ÷!Ó8­¦àßæTÄ j¶–eT‰c0®A·Ãof1Çlelvðs°—DŸOäC%ªÒâ`­ÅÞû°íd®—~[%ÖÙòéù„P©©ê d’t¸¯¾ š§ðÒéŒ2|¶zYjd“1WgO½8\ÇlQ³¹ke®ÏÖºùÀMd`Uêç6¯¥Àð ·`ÃðæÃÏ´ŒÊb0•Ò—äÑysŽÒüݘe™»Œà'ò#´»Öéæ­úáÓKé|NÖröŽVѪ™œCuþtþ"YcôGn¬lñ–tÃg§Ìç¯ÍóܪoS‚†GUZ¥lQ±Èéøø4¹çôÃvTqöG-L•˜÷Žšõð¢Á?š,å›ó#¹hfXßÑ(7!Iõ Þ›rÈZTîÏoQ’nmW_:ЧÏoýW’ó2£önå­È;•£að&ù†7ÌÙ|Ò‡ë)S>6ýцØs_XŠL«Fʬ¿ƒYê½¥”  “‘ÒÒ•äõñyGcLÎ ²DæÍ5Õcø&f÷¡>DÑ…qP'ÏC±iŸñˆ1’£ð@9EYß×/̧¸«âPéŒkH!À#óÌ2n²$ŽR¶'{o®—T°÷ÝDÏKêÔ ‰³3ÖYYâô‚Ã~ß›*‡Œ|V‡9UNÕh^ _ *næ\Ø0NÈ…Óõ“1ý%³ ÆKi²Óg'î)¯Š"öY— >ú›ÀÈrf*OG·&ÌêÍÞ‚³çìldA•‘Ý‘=×€²ƒ†>šd$. S™Ä|Å3ÃT4àŽ—85Ö‚Ý?s'=‡òð*?ŒÌb– RRœCF¾º*.‰»}ÊGöÍv°#räù赎B¶àöáDnfLªµÅþ!N³…_£Õ]• Z§€g&‰–°“‡²_£Ñ¥1šï¹„(ºJhGù@ªÿôáÌy!„ʪÈwsÞ(^:I2‡Ž~6òz½-ëj¨*¨“êÿLåvT1¿L0jÉ6ÁÝ jQÜïýƒUý@\ çºÄÄì[‰×2ÈdÔ›œ8¬q±w õ"' Thhoé¾v¸OêÁu•´<'„ñ_#X-_¯ìF˜b¬Å‰7EƨÓð£}¢ æ|µô}wd€z7gï›8 Ê-Y‰Štaä¹[W„÷ •±£›Ôó4´EÚhØQ#å4vO—W 6Tr›™O†¯&°º(´‡…?-üìù©±4¤eCrýhíÙ¼›gaõ"?üž2^¥†©*O‹û^Œ1YÍkÐÍý£Å3»8û&릎°îï#‰K7B§ØþF×$êßvn†%îôˆƒÀ€qMòÞ ÍxÛ‡ÉlHº)©%¦$ùÏpšpI´«u_Å4ÿ@çã)'£y¦Úøì#´n¶j@R´£©×Z “¦Ôgä ’ŒCdqRB´}'ÉO„>±y¿EBrµbódA¹$بáù{×µð4"ïÏôÞÃ.‹UíôV-õ.çäÝ(Qqâ÷æ¿TBM¦'¯ÙÀA˜µ–æ LòvÉ_aö m¢+5Ýv¢ûWy0¯—ÂúV½[‚ "qƒ…dJk¡¥Ûü4…ÄùVÑUư4ÖhP!¹[ÿ¥éÀÙ’ò¢<ùõQÜš&!S‚:ÐÑðo¨KUÍHe sÊÔßÑr×å˜OFÑåÞú ºkÀ ïÈÛ j†È¥Gs䮿}Ù€Du]gA»•‘ÅqçÜ«äúºZ,×UÝœ“”cÐ㧦i7±ÍÁß·h~3çŽàëZLO"e¦Èórâ–2Õ¥i#ÒˆVùfÜìû-Ò( óIÖîÝýÇ >2 Õû:äqà÷èH½YÃøü+ sL‘âŒ>.Îý­1ÍÕÐ$É|]¤Δ¨1ïŸ&ÜÞx§x« ËX/I(*VFœüàþTÃL†‰™Öð³¯Xg½äØó¿:Î6w¢ÄÝ3ø£™Ú-BíŒQ¹±|iqÔ6ŒÓ¦(‰=$ïo=Ùšƒ1úÒf}˜£Gð§>ƒuâ€\½IMæ#áðVîzsJMÒT!phÌØÜ>“œµ·ær¢>BÏGüi6š¸¶ëê^'(‹~Æõš­$ÑŸ9£eÀö¨h XjÍÑ*NÀgQvˆ<\×ï÷!SÍôµ„ ôïØ£ËRýB¼ÖÀÂ9­É·d­EæàÏZ=Õ8Ø8q v='¨Õ#­wñÏä·u”Ü÷áu]]‚èg%×pæxýƒÄÓ@ÖGqŒâ8É™‡Q°Òøû÷&£‡—ÎùXîCeææ4–%¯×Àó[°‡Ì3ƒÙ™êš¯ÎÌIåTÖ©hŸ-›‰å2¸æ BϪÌ8[Ò_—úZmê†×¥ùîÜ"nÓÈ}>KöˆK…©6“¾ZqPä9-ÃåÏHÀ˜’o"~™Ò„_O@FÂйy8¯¬b ×;{¦"[Þ!d´çb™Úç4GÔÁ´zþEhÂÇsÀ[ •ØÐXEXO‹.†Êõ*®%ÀGPü šGy[Ô9ìó7çmÍö;+ã÷_}¸ª9¦„‡á~°‹G?h©Q”g&#Ëø~K*`ˉÉ.xßÉðÂLbK÷bïÃâ¾là³Bë×N¨15»?+S—ýr9÷-mhE.!Eœd¹"ižà;n’Á¯_¯6„ÐåÈH ýú“Ѭ7ä¹Å\7ñš=!%”í¼ã3“û<˜Ç3ЄµÎî¸ÿ1Q¨l|¢³^&Õ³óæõƒ‹Àýèr¿^͵PµUÃÒß9§T‚3Fkå¦ä3ãÕs+IZ0ÅÂK©jÖ*O«OãqZðöô°^â6¤èô–ÃXþ‰æÃªMž`¾z³dÑù¹³”†çŸ”¸¦sB iDòúº4LÕã›Ãœ8!hÓt+i½•cSš ×ëEÆîtÛì±; àKlþâð>]&Îɼ&wóúj†Öúƒ?þåÅyß¼2À&¸Øê¯×€Ø¬5…Lñ’0ò©£]|Ž¥2ÌôIŒÁé&òº.â¼Y×â„ÈDë©Âr¸S̳ϫ©Šƒ-õk;¾^ü¾‹1_Üï÷ÉœÎïxxÍã(8÷%¥Hÿp7“kýâ™æÈ:ÔÖo33æÕðj&å Ï_jœ½•sa&k(|ñz]Dn=³yÀÅÇ̵ÄgM¹ÕjBÁs ÿ•ÕÕÁ—`ù’DeøD­öC HµÄ)2™k5æ>ÉÖb´†¯¢Å¹SÕŘŽý§ÿ¯õÌõ?hŸtØ„W3Ö•:Ä'ÚOêÓ» ¢í\T"Å- ¡ìÄÇáî¥ ¿X³5Oæì£?‹Jò´a*"iö¤£>YëêæßºÑRWùãƒe$6VÃÚè»U‹ÝBz´5'Mþ™z*aùŠÈÅ­Y²nLòÕ³$A‹ {èhŸý=ah%ôl®¶Þ©®Íµ~ñûû7²¬ª¼y]KRÿ\׋ßß1ÇÅZ ¥¯)Abg´8â•*¥„0Œ>×Ř²e:ûîqå.¿2õœ[!qäÔ(ô‘ãH¢™pl0®«õu/5½šCeß 浈£‰Îëõ%Þy5>ØßñúúêÞMç)">ò¥,1G爸®EùÄ2> ÂòRk¶%•¾÷󼪵h…zªÝ߇y±ï­Ùv[ŸÃ\ˆ¢ýÇ÷ß—ÆÚA¢»r7jñDi‘aÑ$Yö0“uS'´À-5øSœÈ4Êñã©ÕþT§£’×õ$’µ<ƒ-qîFo„ÚxG€óÀ¸kj|²¤¸•ê4ºY7]š8š÷Áýû/e«“c·Ó“‹•ÁõzñûûÍœŠJ˜,‡Œ"sóo~ýÉ0ãûý-±_ÌɵfûQ)ؼ÷ÁM,|žèúöHgg›œI.ÓDe&{‡ÊÜáÜ÷­¬”’ÀgôUü*F!€Ç•¤]STºî*£ösp Øõá<ÌôÜ%-±Ïs¾Öjg5Î2T°ðfêŸ@à­- Š IDAT;‘\ë%›)åc¹$3 1Úgß ‚Áu}}He]HØïßRHØpzÏÂÚ5Ó!™S#UCqÇs¢å=†ïáWòÛõëg\¡C©Ì%¹·ÿü¿ý«´qhÌó3èÆ É‰%Pëú/B#£h¦#z¸_‘¯XÖ¦c¥ƒ—ç€×§ÉS­7 â3 ô(¤Ü­û”AœÝ"?ïƒÚN{q3­3‹iÜvx Ì2>ƒ>å’î[nØh¦_¿c˜Ã”¯ÒéÏ2+Ü^Ì)9zDr­KÑ÷ Õ%šýõ êsé+ªtüþýÍÉû½…º¬É. õDƒ2];ûÍš뺸{Žb®Ù¡•Ï'å¶âÀpÔù”6©Ë‘'‹œûÍ5æG|Ie‹Ø·ú´.7ö-‘1×\œ]ð9ùë¯ßüñÇœØ­Í þüó_zz38g.ïj@èè'«wÐÌ”¾l^_ò¢ˆ»ÿ¹'‚ëë—z·só¾ßüñõK¹A˜Ø¿™KCN{ëõêF»çeüA+e2WR|´3î}x­)Ý_¨‚‰HÖkõå]ÔÙºXÿÏÿþ?–†4WÝ„ÍÑŽs©ú~Mý!Eñ>[jÛQõNbtzssù&TKJ>~Ž=ªÚFqÑíö¤>DÔxÐÚ~Ç;[ î÷7¿~}ñûý­ºuŒôM‰²ìfÑ× CKÛxºOvÞH›–¬ÑÃc¯¯ëcc¦“ÈC†fOÌ.Nªáþõzñýýk÷nüºLÙ[VG×ìR²ŒÌ»çj–ú¹µØßßÌéI}„ ÌzÌàJ£Ø\=)'³¾é´|fꙺ3]r9g{Ši{gÏ‘`DÜÅךœ4.¢è¼¼giÖÕr£ï©^XÛzFþüã•ÆÞïið Z&C–;¥9£5&;Ô¸%×õÅ÷·ÃÙß”© _×—˜î’œçë_þÔ9Üç£(°9š+Ø0ûœ>cµÁäOÿ-[®sTJþ›?[p;Z´Ù#ÓÕ½Õü_þ‡z˜Ü9~fÊ­=mçš»Íl)±{ñ×}$õhXp ÃI^IÃä”ì)9VþcÈ›bÇájÛH̘8ëå ¹YsMòÙ€65XW[ḚU—ö+"x½. #§d¹w¿VrvUr^—æ#BMŸ›ª£¯ž·®Rëë¥=qi‘Bõ8]NJ¡ .•©ƒ_’¢|ÿõɆbÔWá!ek¶¤„G½{vºkóÅÆR7Û|±ïo¬~8•õzñû¯ß¬ùÅ|]Üï¿U>øì ×CYÖBÉ öN^_Ê{jM <ýþÝ}@àkIâ®@áÞ²÷¢Ò9õæ×ëÞÿÖYjÞèy«ÍqQuTµ=OÚ䜛ëš"}ïo`ï“”Ííëõ¤|òcºwv0¿ÖÇš¨¨x£¾GÆ?¸÷»Å›²¸Ýû-+SÏ  2ª"ÈRŸóŸþ×ÿ®*£]ûˆ&«JÚ–»?T6>0¼ØÑÞO†S…k8þ˜'?Zƒ¢åÅÕrH¿O|†öï{cs,Í  ñ×ì>èQ¸›‹8:å\žœ´nØ÷GµùëÛ$`ufYÞ%éD…q-EõÈ#¯WœåƯ埇zv²Ø9×´ Oú$ªýd{L3ô‹“F+º¾}¼—Š®Ý3­bŒë¥ Ô6F‡¨FúLæk×ø®Á» Îi+ 1} Öuû|.Pœ›¹^›$àÃ5åºRrÖæûäGÒ1]ú7“á*“ë™]®Y—R@¢áÓ14Ez¶|³ÆœœØD–šÞ@äãY,ÈÝMóàk½ÈP¶Ø¥ÒÒ*Û:TfþôH&éÈ»Kã¯_bhìP/Hžïå­†”ïsXfzîÁL œ‘ÿ›ª¨1_Ì×504£|2„*IdDˆsÕcžbl$|B©ÝÚÜ˧C9>’óþ-“ƒKZ¢ˆvÎî÷ÊÀ—jËéÅë%³¸95dØ<Û•ã©£ŸÉ²7a–šÈâ¡hÞË vÍFCî.÷ßïï{7ŒcÆï[%Ò}nÍÈß¿?ßO *¸ßÿ¾&;Ú(Å×Hrß5·9÷.vê ²Ÿ•ü‹sõ,Ín™óc®óp77cüâïÿòÍõZÜçÝc¾SÄ]„Ô¬Àþ~k„tH<:æ`Ÿïž÷_œ ¾ï·Ã~fM|š<ŽóoOVáëÕ—KþcÞ= µõ×Ý/Imìü1_jYÃÎ;­yÓÔè2õÊñ>=›“\kv ­ì2§P×1eLwÙø z2¨höcÚ“Ÿ–Øþ÷ÿZcîb¡ŸÑÌÑ_N {Û?fˆ}Ìó1'øxá-‘¸™kIWEZÃf}¸z®“iFš3Ú½\¥ÆRTO·É¾ïv |²d%³Ìyçi¹¹ R·IóY•`=e“½¾AXW Ùõ³?~]GØSN„¤4Ksa&ÿìøHì3““zùNum^¬ù¥ùþæV|>„— "O¹^}³ERœT‰”© û¯×jO.>/Ã4;óh£†/"wXÈüŸ&âq~Œž3Ý·Hç¤Lûãõè³h‰‡L~æWÌœû~Œ¡‡ï{ƒ-F›QkxÈò¶UÊ'vÏÕ8§¬÷ƒ8~ÍhzˆÀGᜠÓjKk=*Þ~ fòó†ÓmÏ4¨ùlÒ|v¯Ì?­M¥©ð2¬¦üšr ǪôòËza‹+=ï³u§‡jú»BÊN‡?^ª£÷8ŒL°ÃÁ˜É}ŒQ&«Çn8,Sbº8Íöq¿U¡¦Öj¹É‚ßÑ{8êôo€aDE´…¾V t/zXAZp9”Ý=ÝH;¦Œ.ÓF»¨<©IÈž ¬÷nYþÍuE«aì,îmAú þ~3­Z‡ÕŽã#>¢ÊŒh¯Æßd-Äê”O²neœk ¢=«ªGÒ «à5~\ ­$ŒŒŸ¼ù©ì©½'Û®õâ¤ØîŠo݇§Ê^O qÙñ¯ø4őͪ»L'4·#Ô8oqp§WÂõ^ç¸>üЉ¼¥M5„úg:´U„=w#§DHöV@©þîEz›O ña<;P¢³nÜøhÞi‡¢¢ "Ú^3¥Þõv4œj<ÝCСiTö²j´ÆÇ´ZktFK‘Û¢ôr9nPJ˧ҚÁœÑ?:[*0{I[_ÃËHŸªj8𾏳=³NdOÒtz‘£h‰”²Öóøš d:Ú—I5u{ñúcU-á–{ïXϼ‰Á‰Àüõ™7ù¸ž†ö|,mÙºoFgβÑ‹g*°!ÖË5“ïNÔaT±D»³xY7oš,<7ÓU„ÐZ«w/—7ÔQT=Gªá÷}?ˆº`ìê€pîÞ¥"D²&åûS:p·îê1Ë>çÀ¤gL$DÌ­À"ð@•´ÑÃ6©l‹ÓÂP]&6TÉ[×,ám\ÃI£9ºõá„vÝnäT9”KÇCU<>Ç«ûÊúÀXæªdaÌ¿ï^I†ãì£h{ZYm&pÂ[A©ô'í‰v«~]b;%àœ·{|þ·ù QeðzÉ—i )=m¶R´8uÈØÌq}ö@‘û QŒQ¼78Gu½5‹Z`¹¥/ëÕoÕ¿ÑtÆé)²ÙDh~ä%s:£NÛÛ\íNßëÖÜ £¥Ž–Î8ã£[;‘ø”9+©èÅ9¦ƒ~îüLÇÙÐd¥f,Œ:C4IìjaP w4!Öæt²ð©Þ2Õ‡ÐáTISä’ “}çI™¸i mpx]‹ï’ÐD1d9‹Œå†kéP¢òëµ.IûS¥Ëµ. ¦eD¯KFК8†É(;[…aÖ¦õÙ‚Ôhû •°êÚ—¹Tê›ë™óô˜Õs< nK<ÔèE:&$°z|VZ')Êm˜&[S¼×x,U­³M£_s1¶õ@ÔGTøËç–ÍJõŽZÞÈ8ÆËN+§Ûÿ*îV»‹ù›®¬r g]‹ɉn2×%F{˜2"ä¬ä8^VD¸×z\96×x‘c3¬86±ÐÌ®ï5b°C¶4·¯#yŒ fçŽ7ïïAúuÃ( ̜ҧ½^‹*ÿŒ–V½Ô\V@ýj·¶ìòðÿmK¤F³NÈ–óz½dyé*´fbáspÚ]õ~²^“û¾¡¦\LLŽ/§™ú¼å[V-¶®†¹vÈ+øûÞ¬V;ø0öûn3¼-¿gÊÄwÅ Ý×t¬kµsMª7¹Æl€ Õ׋Ӝʫæ‡dƒÂç$8¼Ö‹ŒêfTg9Á@í¶£Œâ®Æ¬YõîÓÓ®g×KkõÜ¥hžK,ùÙ‰? Öv¹ÖŠˆÓË~€ðVwmÕ*ó‰ê=9.¸û¿þý[O’]äÙŒi½±HˆÆãÉ$»,•(ZÄ)OÛÇSwŽ-u'{(ÇŸa˜þ³‹¡‘\÷ÏÂÊ1½u]mÝs ÙK"ÝJqÉéû´5Q;n–·±s©ÑŠ8 — ·íl%qAqí4¹Ù[M.©,¤;êÇ–?*#YùкIK¬É¼3>ï6DxšóVŒºš\¥¡ fÞ.‚’HÛØå^o@•PtŸ7\6¡æE†æÙ«'#GÛÈÒÒ•xH\óÖqùGÎóHrŠíb÷9í Ó‡Ü584=[ÁFÎ4)´Üá§5‘[âÇæZ|¿o2‹¯¯¯Öù‰ßŠ|\ûGH§Ü¹ß=ý8€v¶4‹LŽÏˆªù¶AÆ-$ì´¡aÎeIÅíó¡:ô:a®ÙöTÕjÉNæï­²Ç}1Y¹x»jXà5رRV5¦½Iâ½2×J™1dµx±·ÒÆV]? Ÿ—vÄdzÖZ*±†Ð Ršž3ësX¬¿Â°võ“gÒÍDú¡qýŒgZ9_¯/¨h‡YKj\V,ï©Þ%è0¦ÜQ¬š§yFZÓ8í“•ò†´Ã~K¢Â¼ÖßüùòÏ·ù6-X^6¸Ï–BÀ'ç~CM®×øÇ^!]yZnžÅ¼&Ø$vj]Yv?åÊÓÙ#²ï8ä[2³’ØŸhq>VOîÉeEcâÆx|†Ê«ë±ÆA†ÏsŽÎÄôVáäkÉžÇtð‹„_Cn,õcöYkËÕ¥Ìm.­]'¥Æ8!k%cªGèUÒfòñì`º^[}è|µ‰Êß÷›kÉA¤v)Ò%˜¬J—#a¼ó´Ðv1¿,e¿rn¸‹_KÃIå‰÷B·Ç´m“•ìÃnjثØ[g[õÈ©ìUjëEÉVTШqnÍWxÁ©·i‚‚9ìGJíbÕÏ‘9@ì“0Œi×ÇæÆ½¨»÷Ì}±#4GÂÒÄÔ’•¨É"XÜ’Rò>†½¯äºÆÇcjôÞqM*1_îXÄcÇ´Áki‹p®Þrô8ÁÔÙøNþzÏšgÆçeå¾û7?»;²gcÔhÞ½ãâËûPZ¦Ý„ÏÛ1`®æiz°ìk-eÛ×üÔû^k4Q§ùîÑÏݬ½“§`ÎõºÚ÷¹ Ór!x[ªv?ÙÈ_ÖÝó,Wïá³JîD×õÓ±*m ‹âûþÝ–Ÿšd}ï͘“ß¿{©Ò`< l/’»aèoÃK`Ìû>¼sòû®ÖlmÜ‹û5´²ïhélöü¸Ù”ªÁ“8«³´FÜ$§™ÏÐR⸖ciTvº5¸Ø§À§`ÝBrJ©q¬Á²Ó}Aò«¹ÿÊÍ¢™øqMâÔÕoÚË'y²x“vkTIlüZÂÇ«\#߯\Œ‘ŸÝãU½µ´¡^º§`°‹Œßâl’ ®F¡¾Cš¨iSk£Ç×V­ÌÇM}qßѪgÃXLk°ÜÝK`g™<»ZÝœã°Ü•¬¶ÁYTÏeKå>z„Tš6w-z¹ã£à´ƒI•˜íTO aÞ`MzSz:¯Ïz5HIèÛÁCÚ§”¸OzÄ„Ü⸼í^ïÜû-×øi²î)ë5ß7ï8`«—¢ãÝëÜáiè¢Ì9ð»{ÒÑ‹–|ÊpûG€CÀŸëÒ9s­É“Šº ~v"®a¼ï­_\³°÷áÏ?ä–s]]m¤JŸí”ئy'´«=ëͰÁÎ<ÍÆ—ÊÑÿóß©I·Þ“ýÆe¦ˆ§ˆ®—åüpúÇ’G‹Ñ-Ó|¸±Ëøº`>,öPÔ:Yœ^¬“bÞ+eåÓëÒ°ÒJ6‰†dmŸGÄšE%wTo*~­ž,3WTqÃîõg{YMm"ægSQ– œÇ°P’®ìYÛ¶æìéÀälPP¾äpNïìm«ñ¬K‡\è¡:*aBh$ôkÏà¶@Í^0¸–lI¯å?®ú-xü{>ë»ûÐiþ:ùµ¬·÷J–sZVþ솱žjÔze"zVŸF ÅðÌ–Ð<¨P‰A;6€kí¸iª("ì³Lót¹þu]-5—sa=+® î]ÌY‚;àFHE.·ÊÎ<©ç9†”ÇeAøÉ W÷*rf=\«½ZùL»¹9AÏ/4ÈM¯¼û't®©ÒùÈ–³÷YÐÒáÙ4ï}8e¼ZˆXüš®™ß§w.Ø>ÿŒH±%ÙDYÚà½1¬w0<J§Ê„Þ¶:5D~K‚1Õ½³{#T•3›¸Ì‚ï0† öcÜülXm²Iî,|IQÞÓmì|zËk»œïgt1Nlo®Y\ë™K}Â<§KœüÙÀj žô¾õjyøMæ Ÿ·@“ðÃ3}Ö› An› Á¡Â˜ã‹¬Ã¯5$‰™²*ýÀ6´JF¦,6Ÿ=äk­† “ ÃÐ\­[Ûqx§,vªœdÿ2Ú8ï[Ò›ùã«ÕFÊDÛ¦T¶)t¯øë÷»y(ù «Ï6ÝeP§ª|èr–³†1.-v½RÍ>®”Þ[Ä Á‹©Y÷ï£MSßÍ‘Øð^'åX““ƾßÌžnünÏ×Kr¥ˆ›“ÅüÕóÐLç”øŒ8š™Ø=Ï1ݰÖÛ\þƒ!ï“ür!‹Àæø YÑÒ“jéÀá5ÑŽ´ =ø8°×T3§wy*˜þ‰s¶Xæžt¬†#é¿'F6­)k½Ô?Vñáy$æ3aáú~ÚÀŸ]&½öØ{í˜_Ú¶åV!âXšV[ܱ‘­>kËÖR‰é6xG²1¢~±®£j}¨l:–š¼,+’Ë\ëÓ(køÂòMÖ_”KÐheêëÚªçA¬vþøóbPçÈéðçÈü.bãs%Åîׇ…J—¥°–82/yóõšä´`­Kâ¾zVgþè…¢ÞÓ|ù¸f>ÏûA2 cWB­Þ‚Üö·‘{¯¬æQØÎiÌÃs00ÜßòûK%ÛØ†lG=üX+$2˜aêG3[:åL—ÏаÐô%wwzòÌÐÄA"D¼w’çÌz=Ác¼cÆ|¨÷ MFp‡4ÁsX붊לm*,ú?K²ç¹ä…+_¨ÙóÓŠ0û?z²àÆÑj¸Ç;êøfß-$|€´xßÉšŸï’ux]_ †}ö~]CKÉCì÷³6®Ô‹>æsF±Öäõzñû÷ïÞ<¬ÉȽ5ì¶®‹}²‡¾àlØ<™.Æ^þÁ»çì;³Õfî»ÉžÔ0¿¤ÁЫy?>©)ÓãÑ©5R¸ô³«#›üÒÃÐNÀéòOÚvä¾{žî³µœÓ‚óˆèÌÀ{U3*MÔöÙ|Me²ìƒÏúï÷MšŒg–TÁD³çïö‚šcà%öœ8ÖFa½ ðÙ÷Q¥ÑÜgg×\îX¶É‚µ´B;1˜rJœ¦ƒujà~)bÛ%ÒÒÛ&(ÔY/½ ›ŸiK›ã#ŠœíÙ„UÏ¿;î«Mòïý·`à~Ó‚³'un•™%evVqv°{>&3Y~IúÝÁgx–Uôš=ÃÖ%Ÿ­sø—¯õÙœ ‰WæÕ+ z§J@] oCbÆ©ìÖí¬É`SᜳÉrî;û\É=Qò-DÊÙZ÷Ç8÷·æ_\äeôv´guÆ®³gÒå¸Ï2‚¸4¬÷ëëêÁ´®JÂÛùÿSõ6˲äH’žšàçfUs„».ø.Ü̆oÈEÈ·c×Tæp`Æ…*%mæÌùž0ü:Yíel³®‘—ë Ël-g¤ú13qÀ»s¹å[JÏ¿ûššòXÊÕ´“ ¸ëºt»ÉYŽ_‚¬¥³ÄcÓZlÖ»ãºt3.)‰ƒ’æÓ‡²Ú¥PÍûqºègh¾¬äI¥å#lZl1º߈6ÂÁÔ»ù…(sjÄÓ¹Þ²–N=@þ?c3ç›,Ï’`MGâ~ÐIµ%ô’ÑÓaÏÏH6w;½è‚„zwÁ9¶ÜÀ5YRº:K@ %ç=þŽ-Tµi¾Ø—¹àqâ3nØš²Vá^‹tâ¹é8;`÷íŠÒV æ\Nw\–g‚¯¿QÖz< œûYœ Ôº›t(Y¾¯–Âý¸Äº1Ÿ‡ùçŸü~{¹~4ä}£-¡ØdÉó\œLÝkÂå›vþü œíÄqðÏ,:é<5G'ä¥IÌâ¤!¦{G­‰e? Q ‰ÏŽÃP¸Æ…±C®nÈÖ´©½eE¥_ÅìÓZaÜ¢Et y'ŽcbÍ/™ Šù·†M¶ˆFbäÔÀ`-¾ð5oÜ §)K÷½46¸M¸i_‚äKÕ´ ÊÇóƒcÖ²GúA~X ÍaYÜÜà¶Ð»ip;àÜófc¤©tïÊü˜ï5¦uÇ®ð†#ì«Ò­@¥ãJNÇ•˜AºI-–vSYæU ­b 4\Óp´T@Ю¦°ÔÏ¢7$+¤Ð£à>G œ3)IŠ8aæøÜ<­çÒ²Y>þ,ÉyjÊ›Ò8Zž)«-UÙaÀo´¢DʪOD.œ¯.IŒ=†>¸ï™NÏS 0\z¹»Òy“UËí?ÿ¿?©ŠÄÂÌÐÖÒ”æ°(é”&>³ðûºÐCš)7Ìâ –Ò=Ñ(õç%èY}M,ÎüQ˜Ê>Œ4F%p°20²pTa|&çç² Úš¸Øy~ 3Ö›|ó“nµ®À–÷gb®B; ué²ý°fàçlð}'~¼\_†kÌŒ €qÛJ#´$óްKÄö¥ßåø[ä%àX\×"ľ*8¦’m7É'c÷« ÷LÄr4áž‹ŠØJÌKqg#ägÉ‹#7Ÿêfs¥2a”Ç8åöfÀ?jÀ<쉸Û¬Þ:P†SßÞ(Bà h Îß% éøiä´ȱ¾PŸ„ǬÝ &iM4..æ) Ó‚fª1ÆÃìíç‰*r Z8æXp?“ËÝé{.\×À¹êðmºésûS²®ÏÀ«5œÆ‘”êüzý sâè ­{¢,0WSÚåÍ­%Æúà^†Ÿ'™"6Ê™W8ÃâT3;€hÆ xç °F•§›h^¸x/ °Ð'PS*R0ô¬®ÉÎmžãâ5"Ì5ñBá^… ÇÙØ‡ÜÕq¯ Ì@4Žu›;ë^8åõZn±éÁ\B$(wWſtöZ] aZ"Âèè;ÆÍ…œG{0–^‰¬†û&•ñlâi C3•%ù·x*j¡ksn0Ø¡â*¡E)_f6ØLn-¤·j(êZ‚Eý+ŸIn n½+IÖh†`hX>ø©{CÞ¢§(AI¾Ù+8¡´F“/\îÂÂÊPjíByáZ@´†19b†}âs_šÌÉty‰ IDATf]5™h 3 §|ýè”ü¼ÿÀqž'޳ë…h8ŽK±Ók.)¾@k1Ðç3ÏX8 ˜×„…á¨B[4úOjŽF²F®à—ô‚^5Þ*ï8ÃppßÄxžÍðùP_t6ƒ'£Ü^=0’n°ØÐÏø³á<æ3Þ)©Ã5(xtO¼Ü@zãX.Tç3çc *1ÇžLL| èf80ø:uD¢*ä,Ü×Â=Õ°Þü¬Y¿[f–äêA÷"¦"‘9ÆþÕµÀG–?=à¥èˆC´B­x­ÿD§|fÑkÍÑ[H(¸½å´ÿBÆ)S¬q.¾xe k,¤…R­H)ÿGO‘:Z,d‘E—‰¿Ì¦õô’”b"yiŒ½"2d'ÞCIŽœˆ2—éŒaAÞÛ²›DHÂÌpßS\°BÍ…¹X*-–KNæàÏ‹+tKD”<Åû8À¸Sn ÇËc!1ÆXq_ƒS¶µ™¼C‹b(3f¡ÅøVDµvb̉³þøù¡¾o-4Z,&uX˨# ~=–…W8{Ê!–¨ÝX˜ô4áƒÕݘs7©–ER»eµpô:&9i ´–øÃ„©/E+?ÛWC‹ã«Í7ÎÓø%fÃÑ×7qÈŸ«ðs†² >oŸ4Úf»¬ø÷G ýâIÖ[ÇÒhšãçdÀÔð¦\‰\þ8Ôf9: k6B Ì¥‚vt+œáXC9îÒ2]÷¤Ã-¹¨<œYéÌ&çϘIÍÙLîn »$°@§µx©?Äaè‚E´'Êl‡«6«k¢£=•ê:—FÚáDÇ6Àó~‘÷u+PˆîO‹›|sØ ÌÅiÙRÖŸ»=Ä™ÍyHÅì=p6í¨*1­}iš¦*Ö¶öc yÊg!\…ä2±ðcñdcFûr±‘iX›Á,XéêAu´â ¸ÄTèPÑ…·7ùŽ;c X Ê‘”#¹c®­°Ã•XÖѿéÞÏëÀ}>ƒŽNÒa÷Z JíÑXÉØ¿/œ'pºáç8ý:©äÕK2ÇÀù󳆹 èw!½Q¼:~£µ¿ß†?Gâ80ÆE­Ú§ÐܸüjF9øZ’-°l—?<õ†2­ȼíÝr©Q¢ƒ,œèàÉóÞy:œX`(èçs¡$‡ÏG~‘Èe›Ñ䋸Ї•£G¨Lti´šò:lÈ+äÖÓ”k­„•v=¾Y@,EhÜK""÷?Y…ÖKé†1'åk Ä)æíÏI”93aÓ©Lο%,…a„ždÿÒFíÏKÁì%µ¯Ä0xcò/Ê‘‹qÍÛ?ÑÊÞÌPÅ|ê•ÒüqÕ1ø•Ц, ×>€áНdT\„‹RøÝ3‘£tÔ\R]×T•_x†Ùä¦tªt´nø׿kO€ÍÑ=š’„À¿þIÒqºee8€EèE™#ûêh† Ã…{ü믛Ú@é[ 4LD§Š£›c¬¿¡ý’í_obu¸'’5Ô(Vlîø|è3 ÁÄáK¥‘x¾ðß:ƨVˆÌ£Ñ·¶Ç4…â>sI^½‘ÿLR $š-Ô¢mÖ¾hméòQž’¥EâK ª(ÍÑP莭oº­;]q›I'a&O<މF®%žÓ7/2½«þŸkI!·šGcfG——;;pÈméþ·¼Eã(5…ÁÜø*ÊUÆ-iŽ3Þ.“TÊðÐËTòïr%–””°¬'Ts‡•³)/Å+›d6ÌTùžä9I3™àÎ&ö:6H8…Pº9-‚=Tc®£Éù7ÍñóÇ sÞXk µט@8ŽÆAEnûl‡Éê}ß×õæÔsl·ö÷>FRA°êB”ÑÔHm 7ü—ÞdGÿÅ39ñJ8j±ê8zÇûשýœŽB ';wt*•‰€vhšR‹rôÖÙLnI¸±~k³8â,]M™)t‡9ÞåyP)½Â#WYU(ïDi¦£>Ô0…-m>׃‰9Üš¼ gjÁ?Ãö$*Ld•OÆ“¶íJ¢š§8mê6yM[Ú'Â|*“[Š Oƒù‚u(‡V«qˆ€&\jöÖ¾0³n|)¼9î5)cÙ8ÆÎŒ/Üu˵G OóœoLcrTV¡R8׿8¨ÙuÙK/› úM^µh–ôÚ,1¹Â4I’ãm oªµÌC*{w e[4ůñE:ÄF?8ˆPþÆ¿ßoÌÅ}VaL1sçB¸X_ DŒçs#²gÀ|á<¤Ç¢ðŽªÓQ„f,Ö$…? Xt ŽÁX ,íY˜ÛRE˳m*Œ“²#CM‘K„¼î-”O§„TyŸ7ØÍ¼?a%¡‡\Ú¦HׯØ+”€haI¹É†tà3{‡.߈r 7×·QNP´ÉÛ ÀÛ¡ÞÂÅ®Í ;3ø_œYB¥óW?Eidm~ 4øj¹ »ÌdÄ€2þ(d^ôº§P<"¯Å—j'(­-ß1–œwîÁE7R«ö8áH\×p±4•ⱇè Ñ&NyÄÍ:2e÷Ñ0‹Á¦>w¶5ÕØkŽ'«%“;‘ÖwV%K¤T<õï$3· ¤l6®Øsf§èx_Ö›^À†ü E¸tÇq¯ÞN¦rI½°Æ@¶z~/Þ M{âpÙ5rÛ Þ ×à–s‰PÃE¾7×óub.ƒ×Tø¾^ADgÈ>êûº¥L”—iÁ©Œx©×rÊ„JÍÓFWÌlòq45Û4ÃÖSâçÙè„[TsÊÂFlTÃ2gƒkûN‡'MQDvã½&z£<„>tgòr™Â°R4m¹e‡u¢,Xsm=—@ÉürYz±ÏZë¦Å=µS[ªN3ŽM~Ù’°÷΅憧1Ç„‘`Ù‰ñÍQq;0§,Ë9˜†÷{ÀŽÜɧÝp¶YÀ$*º‚b>saN¾X6d.xëµ='©[EÕ÷ ›x.Ú¯±_¶"ƒØÓ)‚¾q$_‚†`Öá­¡®ÔØ`bF ÙÃiéΤ\‰ÞÒ39rÝØp1Æ Ã!¹K× È”­ÊÈä F¤ãóR`§6–ñ¹û#°.)!8^YhïޱxyWI¬–¨jX—!‚‰´cnß,Z’­É|´”7ž)e.»œëlE½}JxçY(/´ZX0œ†×³”]ms¢{¡”wD§¡‡ÉA¶g»qåeß[£ìB‰Põ`@ƒ=‡ÄwހɀˆS‰ÏLM½¼ÉDRQºRyêÖä?hh‘ÔNEG¢¤qb«|9‹q æŽjЩ̚ù7˜E9f:P€÷(œ¸~/œRΖ¬¹G¹<•WegȆ`&DhÉáˆdf¼”¨lذC®@—TE®Ãü,€B9ñHáÆø<‘Œ‰[âár/³æÂ5n¸-i騅rÑ7sxûH»3Õù™´`ŒuXA{ó·ýn¶ÜJ6ƒö„+õƒÛÍu6ãuó›?ï7wy˜@ôçàj¯fzx!–¦B5©žC¶`ÕŸËkò¬2Á¼„ä\À5Iä8œ_Á=DZ\Žw&ð=ÕW¼ºJŒäB-57zÌý(¼Ä]â®b|!Òe¸‡^àJcØ’ztLJ¬™ámjöM[D:ja”¨¢ª·<ž[eÌ[ašÚÒ®)géhÌñVx%Úqº¤ªãsÉ›„À ÛÌùÆ®Ý §2Ô †Öyª1ÎLKµÖ‘Óäå1ØblÛÐwç–3°ŠS7Ö¨Ôn¡»xFf3æBURI² ˜ÉÇÑ•o_ÈyÁqŠVRʑٱzö ‰ŽóÀd7ˆkeT /e‚˜ÊÛÖJÊ‚ì¿Àga ?a&–¬9j =HÒ¯"PdfÊëDmÌÑ@^s÷:wPc-¬j0?ðïÏ 9Œa¦Û}Á—Ãä!¡ã’àÆ,ôƒc R°à´Q<ùù¥-d°Þ{ÆŽ;¹Í^Iåfk‰†Æ%X¦T°dk]SŽ®ÅQà˜ôƒÌɚ؅“dc6èmwù½×âüš[†ˆN 5#ÂÔI}ÇÒ¿—Àò|²!Ö¸Ø)47„`ÒPìØ"±éLdÞŸ½y½€{'wvÈpù *ø¥tå&ýU•¡Fa!E×öÌ ©¼rÈ£}`ŒK8GÉ.b!ÓŸX±MÔ`@zbËÀJ²qF,¹/•µˆí•ù[_ Ž’×J¾è˜U‚F¬¯ƒÓ¤Š(¶÷’) i² ´ C1‰\%ô‚:,Žìçd¾Ê&ºÆïϵË1Yæ"Py3¼È¸aŸ‹V^7È“D?ÍR Î1o*Özï¤"MÈ€ö¾õ€¨æ˜k’-­”À0ïÄ}§˜SýÉ#L©IóSxýæ‹kÞ…C] ï›Û\¹±7‡ÉÕr9ZPÂl( íSR®¸"­âõštB)ñ½ <Ù+ çùRcoÞ½#1öÂL.âr% §Hà¦Xf§„–W¨x.'šƒ”z'2`rìZŠQ`X ÕVÁŒ¥g‘}5nnøŽæ×âd/³k÷u”üÎlê9s °Ä(õ7ø»GÅz¾ˆò߯dÏÀÁÛv!R·5?“a‰ËSÇD¡„{ß“Õ6¸“:8½âဧ¯œbx>ï7!‰'æÚT›ÆÞ®Ý.’‹ËŸ2Váº)~ŒÆƒÆÌDƒçcñ:R냄“ý’ÿù~ãççŸ÷w¼¨c>7„)m šJÍœO˜Œ‰rã)ùÇ)ŸLQ™²q‚7”)þ,åãßQÑ¥¿ŒóhșȩÊDÖFé´Iî,8:t HCÉœ8Z<õôX†ÖNRO"xÀ5–šå¥¤W×ÎB¡ô&ð  Ý€÷ü‹Y˜•’W(b}É(Z—J<ØŸ0!Bî,ºYÊ‚/҈МÔ+A=‚g=våÊB\ Q0s…†'|`ÜÓÄÚ§§ÃZ|øh“Õg™¬åsÞƒ™ªDΠûñÖv_ËÄBbµöDw»h-|‘YÂÖ~žsÐ[£´±®ÇÌágÓÁ¨ŸTŽhÝ¥|QÅ,åæ’ô=LkZçsñ: ÿÑe ÕÉÉžäº?ø\ °›y,iXX¨TPm:~ÿõoDsütþîÞZt4'±5úMÚ?;±e'©ë5ž@’RäqÁàÞumͰ†¤ÞŠÄ*‰Ð™Ðz©€H¿‘Óe%±ÎK\+ÉX:0á–|"s`MÖŽ…À{1þ Iàœ2[«‰{ûÍoè'þk]çiGKW.L¸6×»!^†þÓ" ÿ“2 lé‹Ê ¨coX7X›é!µTmN%q3GŽ…Ö¹®h$-àS†ßÿ¦-uÑ;+‰}Ì6fM4,ª\‡mQ o£°Ä¡LOzk|R?é ×埼‰œÞñæ…ë9q†Ê›C˜»0 È É)p=‹`þ†1L{öÍ9]ŠVS Lí:­ó•g&8ÚÝK¾1Þ(k4’Ý̘‰ÏpÌÿüó9¼™Kr"l)ƒÈÖóì:8Ë'ÀDÝœÑ;zoø¼oôÖ™F‹­…”írpj”Øþà“3çk²‡ ·&q_ Ž#A°pŽ%Õ„{°î6Ö–ä›ä ×LA ©Q–Œÿ"êµâ8Ðnf9Dà-Fjß$(Aο{²îÁ¤ÿ%„Ý¡ö(´º5øˆÑ†Ìkºk„mmçê9®Õ¹ñð»°¥¨Yœà5³×5é§HÃ2Òåß÷«ê3 @߯˜h‡ Üû¥4Êqˆ^¥¯¡m¿µ†æ{NÆÉÌ G ]9Ð4ñB5Ê{Êà­ðƒAI­Ñ€Ôš¨‰É1þÙCq|ü~ýJ6"E?…œÚ©´¦¬ö¡Ö½¿8þU?’ Ìša|´Çšxf§˜*<ÿ¼yS0#4ä,ŒŸÿ ??Žœ‹/¤ºͼ‰&ÙÓä"ð#Üaû±ó|ážÀ¿þýFk ÀïÏ_@t´{$`‰µ .žòé9˜TDçì«RþuÀ3ѓԂÕv(©jqœêμ×Ûj²`Æñ‹}„¤Õ«G¤)ˆš’ vFùÊÄŒ|›iªéK@…|òÔÇL˜¬ž­™™NKðÏ‘ø)Îß—…k¦Ro‰8%Gólôe¯‹3zD׿º0’‹¹õÎcÁ×bIY"¾—~ÎU0g(¦›2ú<EèÂ=ú‹1c-Ôâ‹]n¸’•'y ‰Â‘yF¶{òFöæñK Qÿ`_ã†ãl(L¬ÙpÝDÊí0[$Å Ð÷Þƒ¾öY€wþœ—úc?ȳÐ÷É žÌÅ—tཙìÎ…÷GÚ.è^cpøÑIéàçÔ©ÝK9~† TUx3 ‰’îBØ?物¡@xý¼t€?‡c|øÒ??¸~_ø÷Ÿ«€¿.| ÿÍdáW[°ÿû¿ÿo•E·ßêT|—ʤº–ÞÜË‹òskÄÎ,Eˆ7—$q»²:è‘£4Γʅ$5‰ð{ƒjç½,Û+ùÈñ®„ÅÒ‰ˆ(´~@ržw|VbLCsC³…jˆÛç•SµWp©æÒ%µVŠZÐN¡ö¿àebî:æL:䜋PõÄO…å¸b–MyÀbécŽYì‡LbÎâ0—àl¯èJä¥*Æwf=% `$#Þº8Âf¡Ÿ¹éöç³}PXX”ëG¡ÉLÄR24MJɃêWÌIi‘™¸ÌÎGaÌáh·\è3°Qèi9Éí½ŸD†º DmhgçÄë^xýü0¹x‚/¼?eXsúv®ëB–S@Û\ñ ´LŸýDÖâï `Mz=FîϘ™Ž-€ZT·FM]ïü>~½:Ú{-z’=qJHI"ï= +} {fÜÊuCQÂ9e*v%0_:s…áŽÖñ˜’¼Ñ¾KÝRaÙúêø+Û—·cÒN¬™Hu/Sè‰8MHœn”ì;ீ×Phe‡ÔUqø_˜ó†¡ÁÅï!ý—T¨SsÌäâÔöIÍLÞ vP =ÐÕ­5r­`À Eh À\äYUºòé,K̼˜ÄjôWM yã·¶Ãd´r©*e¹5“ÖêY$Š¿,µ‹´²óKª’þ w²¥ÎFŽCF²¢í–ÈdÅ—Ë̘Ѿ›pH‚¤{Ãõatµ÷Ž;ÇÎñûa”!…ãÕŸˆI ñâú Ó€÷P Æpžìð®Åâ,üùû/ý^À¿þ=°¬QýÐg?ü#v©£ÐzCk'îqá8~áó¾`ÿÏÿù¿WΉœ7XUÞnmîHÆË,Ìt…È®ûÂç-5²ÝCañ¼z+ G3 œynR[0w#©S"0š™äjmÉB©; ;n;‘NDhk¨b’ÒFã/IU˜ÑqÝC06n‡[p¬Øȶ!lr©éÑ”ÇÖ5 r`ÞâwuI¶ñœÔkNX#ª–a&†s~øbh!7G‚ÑÜ{4äF²ä==Ur©õj¼‰ÒÍyƒ­•lÝ4[g¶†£äR¹3R!…òä~¢¼®éZHJõlT w¥Ó~S‡m£Z½DiO™¡8KrÇÅ7s0x• ¸ ÷û{Ñ´¸>·xʼnY¼ASÌ-¦þî=]aNàè ±÷ Åïs)îû˜$à®9ÕØkâÕ!ÆsC?üu1æ9Œ ómÇpªºs±úýÿµ ‡˜%'Шä b!ÿÆB3ÂÛÌús}Ã[F<ÜTlNmñCc- ­îRãÂMäã$iÓ&‚ÔFþ{,±h]` ¼n £›i$p‰é¼Ñ!Ó—á£×œ âJ£½Øå a]“+(‚J/…ij¯Qø}3Ó \F;€dLœü~ïÄ}•â îŃ ®ÇÑðÔ­’Ï$jÍ’,EO®—œG3Ü#U‚i“/§*oÐ /NÔL± H gÉ4pÊ(|“e]“TG8i—Î|ÃL~>³˜ÐÌôìÑ @Ð×øÙ¬`ÿïÿoµ¥ÖU»¬p•zsõˆ³ oNš]øƒ 7cíivÇ’Y l® XXðS¤íëßF|†ÄÑä•àÒ–LÜhÊç&™#õð4wÝx¸Qk(PE½SK‹(EQ;±üØÚ¡Ÿw>^êÍB¯îÜ`߉ÏâQƒÇ@ *‰›,ù²Y‹çœ $……)ÈÀS˜Ε†´ i%Ÿ‹Ù-MÞCñsTG3½ÊWßdÌ}ÛN÷¸Þ cQ¼¸¥*!Ù=Œþ7JxöòÓL½WòClçâcäËè푵”&I¹ÑšàÚK¶†¼šÆé˜…%RÍ~¡Úq0Þ{MDçF/8Závß­âpk¤Muføë÷¯×ÖZ¤:# 1ðsþù{ß°pÌÉL™‘ô0­,Ü÷Äš‰öï‹Ò䚉åíaàBe̦RÀ—; ”ÎCg*‘ã˜3/¸ÓÏÝ;ëÛþ£§ +i1=Zg½êKGoþÕò”—HbÈÒ¨?Âp[Þ‚/Џ¯Î9ù¢rSià! nÇÐé6K\¯Aš:r‡{í­ù~HÈk±ÐOš³úá¨õÎβ´ ÏN“XãÎ$÷#É.+ÜwAýœ¢Ïˆ@Ù-UubÑL§&©‹“ÙÇ*AÖMQßXD yÍç¶@OŽF‹“Þè…?:¿ã,–»Üt¸"ü›6‹’¿$¨½3~60åþ-yÊe¥¤ ‘ÂB~ë™ {HÙ•å’kÊ]T w¼NŒ©„F¬`¸ÇÂçú0. ™¤y¶5Ç g;ÉaÇ?þøá$fÎ4|Þ7jþú=‰t*Â)<èƒ g¦ ø4š¹þË?»ò³—î§jÒ°~…%Ö`‰ã"uC;†zF¸_œz*/£”[Á"Y"A]á\ìQ‹3nâë³€ãx=y} Û‘P.‚˸AÀ„É#bOÞ9‡ \ ÈÚk] „Ü« X4X˜Ü£aS´i2ÿ¤Æ¨Ú¿ Ä(6×K·s2˜ÞÚŠ«Šz ÞGüñlâ·úKdËf¹,Ç)ŽîàÂti/±xk1QaèGäýÑ sø³Y7M¸ÖâmZ›±§É¢,Ÿ²> ¹¿'”üè²mìOæäA Õ,—º¤«˜ìH“82ù2ùT“Oúí–1‘J?_7´:ˆkkìM”O 8ðÇ?^œ¤Î½D¤/¢qÈ¢ÊbŒ…{ý/™2tœÑ){2Ǿ“±N©‰æXj˜ßØ_Žv¸IɸЬñt¯í TP¢ñ´iOš’܃mÜ×—2‹Bb83™LYå i sݤZxa.òZƒã1X±³&zb`±þ,|—t÷}?Ó$^]hègW°=u=KlFp0Ë]#X–ƒnür(¢\ðr&¦ê–rÃÓ98â  ¥¼ÄýkÌ)Ùx=ÓMäôÒ¦yc«š¼-x`~Žöçê¶4£§b×ÙYÜAäJXàùY:ë4!ÚCî§g|<¿—yð·7CóÎÞÂê›t%r¢Ur[¯x(êÙ‘ÙÔgüí@4{D ¥R’VlÀýx|çÈc+Ôö´J/?ÿüùÞ@ŠÌÈÄ“=³U· uü~z/gÓ ²`þ§=ŽQzhøÌ"æ¸ »3VD|Ñ–æðÖá%¯‰¥ÆºªÙÅëuïXóƘãIÂZ˜–RœF å@”¶±ùE¯è6w%6Qû…ÅÆƒ}„ÄxP,/¤#*-²–MNÀ{—n(×Â,‹Þë wŽ [ 4Aº9ß_€OØ XTÞ°0æàt¥Ü8ê IDAT,Iއ&h&uòRŸy#ñ0Š'nÈ$ta傇²Kˆ4d ´grZÂz|GƒíUî/L‰\¨Üy<À~>S;¬ØKBÌý_dÝÖ’b!2›l¨ƒtÃü6õpúØ99b¿æÏ­¯-6ÌXœÈ[ˆEpìºéþ “ÜâIúÒÄ2#— ‹0?¥Ê>2¦~H/V ’î°CÒkúyøÖFkŠŸ„È9}4ìÙ¦4h'VÝhç!É>•6:b.ùf 9Æ6×b¡œ?òœN¶/И„•SPR‘.‰ fÆ/É'ˆ–¾±žv³ÈE…,hç‰hM6Þ-hKMÑX[ úùÞÕ `Ñ»ž+¿ÇZ“|¯ÞмÐ;­ŸyOÅ>—J±€ÙB7–`9?¨µpSÙt‰O ´FÁm¹º#':\®ºâƒ·vù¢ß×K'™¢Á"8­iN†VJƒ¦†É˜Åß›9ÐÞ¶V¿Ü [@0žµD±Çhdà´}Y÷ƒ{És|Uµž‡ù¾x"[Æ¸Ø ÃÈØå¸…k­'û¼5GÕ…ªGÞî|¨×\rUµöéÃè¯&f0Û­5 hv:ØÒšA¾¡„‡HøLì‚0ÑöÔm(‰ƒ,8E?”uNJU2“¹ÝžŠiÍo/´Ê$è@éFỄZÚªûÞ²ôß³"hyD L­%§!4ÑpÄqŠÄ°pái&–-D*ŒtsM¬„¼Ùsð K0ž„K’yפòº”:üÎ×ñÄX‡·‡FòÝÔÓY6+Qó’vÊ_BfÕ23|7·¨Á«ÔAQ…{^J°ç½ UÃ)ÑšßèèBa: ýºx3JÜX+©Û3AÚ·tx2y£Þ_O¹ÕãÐ{húΦNoæ‚„Âl(û/ý¼”„g:ZëÏ­=×ЦœãQ¬‰ûfŽyT–T»sŸX÷xrJìk6Ü×GÉÅÃÀç3Ðâs^Àxc*Ãу/½i;>g¢µ®þŒŠâµ=~0çBï]ŸÓÔ´3Tù¹&Uß;¤YÌ‹´bO+£±ÜGÛ?@frv­&š€ƒ}5êÁ5Šåúш‡D<'ÛšÑÙ¤Ò—BÈ»ƒõ e¦ l.{6Ö_¯¸SA<Š»/GE¤’{DÀëÆš&OÑ™¹)/ÔW76ŒI[i8hͶ¹tEùöIhÅo %ùÉnjØSÌN— +­hÝ<Ål#.“§P’\9-Kô8¹×êžÁ­ šñìM(÷¦4à;Òâsߨ~Ö',xË1³n¿LJés-QÂã™/81$ò±šwóÏokjûú[¬–Ü„)ñ QžÔµí8BŠjè²Ë ””{§@/sñT×pÌÏõׇÍçèM³Æ‰ßœðEiÁ{EÅouä”Ù †v¼ØóÈ»‘kß^L޲N¯Æf4ók:@¨ëÚHäÍçB¹ÔõÇXƒ ‰n J9hƒˆpíÞLÑ´94ùt¸>P gmKŽ##™ósðf;ÌØåõ’yL½ÇVʬ1L¹;]ÏQbåDc“ˇäxð&ýÎVÒjjCzßfRIïP§GûÂ\_®or,ý \vQ–²à J!¨,ž]\ ,h;nZÞG°ë^¸—sfýC¦ij Œkæ«o«--ï,8–®§¦î-0¯9ozš#ØLöƒƒ„çƒ"¾¦z‡|b K¹á¬.‡,¤xüý‰|šíÚ5z&¹ZµsÌ ©°ôb7í<:¼³V^Ÿ sܨ¹¶Ðâ‹©éq1£³åEN¾œÞ°&äë·§ôAJÐØ|Ï4´·àšë"— øÒQ1¼‰þ’7ŽuuSÌq1…·ˆX5ÅÀ¹ºhÂëORÝŠõ”Ö½wy‡ðDy»ßï:¶©dj)gÒ®Qoa\7o‰–p;y{Û>¥ ™7j`Œ…ãç@œÌ ™ãõ?‹?žþ µv(õIõ:ŸºÒØ{Œ5RùÔŠVÞ˜ÌURÇ5F†€Ô<ÉS*Á F=ØÑUûË\”>+ЋÍ.?¹)ZÈŽZv´öCK°C®A²€1¨C:¿N64'*oŒûóØR#9X ùß\}½ŸçLNšj'}<Ð$B1ë B˜€Ea’•¹ø°õ=ßíQŒ‹?ç8_Ø|Ô‚É%Ǿ“’‰ëž„€H½ ¬Ë©°îÏ×ã©Öõ½ÓÚLÒ}G4–ÆkíºÝ÷.ÌyKï„.(ãDs‹ør}“ D>讟‡ld“͘¢P™&þ¹‹«\[z“ÅB‹X£Oß#xÓÝå|–š;æ}c܃9RÙ„ (ÓOçeÂy²iâ`tï©q6±‘Ê€Î7ÙÖÓä×*mc 5Ùp¶ÚM?¥ÊiœaSÐa1a˜s°¹³ÆÎyÅoè#‰s°átkXˆšX90ëDóxw-ä;1*íñ @f#·Ä+^?/?/ xúvØóçÚjàöem`qR8XôNäæõAÞfÝ,}ZÌ]K#t{¸QáNPF¬É²œDïlúµ9o6ö¢ª¿äšS·bŠFÈ¥.ŒnË#u°¾÷MÒˆôsÈsHÆK1k óºQF GkíIv2+„ÏÝHÁýÄ=*ßìkÄÕŠÞPsh¨0Yî,¾I¡ýÚö»ïüKö¬;5\Ȇñ¹hæ’°SÇ5KÔÜ~#áX¬ù'ÖŰ­7Æê­E2þru*ySÏχýk@½j«*‰ÇÖç¿®Bë)ݱŠäŽ:µž0žò¹(ˆ½8fŒ['ØWJþ-L(—æÉϸ·]bl(YHoo‚4“¤®¸±ÿÉÅeâ˜ä]§«“lžU0¡JM éµ%!àIScbÞ ç'ŽŸS9#ÜÄo·IŠáHEà ¡,½Â¡2ŠÞË ­ýÂúuàþL|þ|£òF?YFIq´ Õ°Ê™àH˜=°cÍÖ:œnÚ®qÝ¥FÐKT“†6ýÿLÓ-î¸Ñ¶h8΀ý°zòÝ F” %úAw^&˜†å”™”'?EÁèÖµE4T ̹ÄÑZº]ñ°¼KÁï.C`%ÚCŠß£Ý‹7Á îçYÚ.ýM›{*$"¸CÛYïk#«P¨ßZ+g¡K­ú®Ì\ÂΠqlñeô£¡?'rÅ3\™¸ßî÷óuàø9Ð:½¾ÛãÍÍðBI$6k²ÓL¼µåëo¤Bƒ«ÄjÔ8+¿ØÖð:·²v9Áz–¹×ºU&)DsžpÜÆ†ó.Û8Z¦ï©À¨ª [RD†‚(yÍÍùr>p°I}|Ißñ5¨þõ,Ä/Çëç$×w– y](_¸V Çõàv<o¶>7…ß¿/Xt¤[+ïû¹uÆõA´ÆÏKuw!¥u£ECÒž`Æž4bsͨˆ`†:!Û)ÎXFs:ÙvUD*£À}îß²7WJ]Ì“}³¸ž-½éEX%óoy§G$L–_ä–ÅS:F#Ãré%fÅ~`[#í.¤À…PQÓè2—êaIØCΔÈ+ÈûƼ  Ñ;ŽƒrÇwÚ°r©~ï¹ud€^âò&$žñëþâRs}ü –¶iúÜ#QºëlËРƒ¶d@¤Œè†~Ö¸q½ß¸ÞÂÃÑ׉ýÙÆo ,ŸÌB4‚ ÌÔûÔÒ‚ÐáKö>¢ê§ù&¼a²«Mh\$ö4V¹?îÖµ‘xP¥C9E¨•T Do¸¯ûQb°…Æó¥"~à’Ÿ0˜4iÛf}2<ÑØúB6#5Ÿt 9JrˆÄõûíè8OÎÒc‹ìŠ'ø*¿×%ëÕ•ÒÒ„•wO€&ðèÁÌYbÀœŠÒ*XtD.&óÞsLôó€u†þ<È¡è’K#f ïA™ÿ¢XñýyÃŽœ'±™ 8ÿ:é›` 3ç—¬Žb9PõHZHe`Çhš2iä/µ.ÇÄü9³‘¡¨AAø“jµ+ñ—²N=—B5·˜³ö–Ûž8„/IÆäŠœ0ìÀÏzbßÒ vœ8<Ð^ ósã~páÖt}¯††rædx8jS6e²ãîHÔÆRæ¢Ì%ÿ…‰åK™…«Ãò–œsV1X*U€ôHE GÖØ¯ ¬š¬Ì¡ªcñ;J`n'g2q¬*±Æ-ùŠÃ®PQ|˵­(÷ Ã°D³~(ob’ñ´8†µ$Ò‡sm.ýt’Ýs9Ö]xÞ@Púàt™© ¥¥‘úÝ ½K¦,DfÍþj±M6òÌëËGN|®ëg/¬c2bº ÖãñžÛ×D"pH0 X-Ž4Wƒûœ®{ ÐOÁ4¡IåÓ x¹)tÖÐ:k^”K^¡I—~_>.¦1®À¨œEÓ>[+¤,úJ-T×03%/o=( Ga¬¡ÛdiÑÕž^Mǥݡ‚Á©®Úýw-ÙZïøû´¼nü~_êSnÄA0h*¾M7"æV«´4¦Îu² ¨xi ˜IXôNwÍ܃–óŽÞO–‚óæxÐMèŇ¹PhÑžT´€‰-‘ï¿,¯Pï´[/]zgÅ ÊàôÅ{¢‰;ôØmÖq{ ^C™ ë$oW.X÷=qý•ˆóP“”B%ƒZ|ãt¬ "k$úzC ŽB#ÄÂ&©ïP^•=¬%bˆÇkœa_ŸF.ô“qeió§=¿_räLåV‡a ª€ ¬ëƒñYðÞÐÏú!¹ten@¼}6.Ms뱘àTk2Ç{ÍgdÜB{ ò3T¶^Èuc&›™^Ú9ÈSëk…š4gUë —?óv ik>ð’ªB[ãFxÃÏq@ò õ ›Jò `ùúÍYf´¤«wCUC%¡\9•ó3'w(„œæ5$”coÙÛvÌmÏ·v-µ“Q»|¡‚”¹"Û9G<›‚pDöøõÇ?0®êºðчݎ®ŸA€¥ðr‹ªñv;ñ¢‡!DDñ,ÌÏ%¡\çRÉ'SŸ’ØüªB¨GªZOÈÎŽ{†5&G-bŠ¢µ¸€“¿Cô&M²ö–Ü5L%^õ0¤“ˆÏmuC­ñ„—^þ‰´†ãçG{¡Ÿ„I¬9PS•Ò9¦–¯ÉTؽ4aŠº€ ÅfN‡Çdž ²>èg’Dr%3¼BfñèǨæ%ø~›Š#V<ÏCY>îÂ…©ç€~m.\Àê² ýÃe0Ò7P–*U&‡¡aÞY‹TM4†Ó¯S2_úw¡_hÃŽ®ÅЦ$ù\¦¥7€ š£ŽE©Ê\¨q¡.ànqÐ'n)ã˜ÞÊ©™èeÑÅÕZ;¢F¤Š¯ü|»ðÜe ÜTÂm£á¼(R‹¥)ÒõÆý!ŒbôŽ~P&þMáîÔ÷Ë—hÊì~Æ¿Á¦7¬1‹¤ntù´d5þë± !„TÏ FÓÕÙ˜öÚ—ÐÈ{—"<Áf‡,Ì—‰ã¤¼gR:oa=€žÐƒ?pûÓqẴLs&k¦›‚ „R®FÓC¼´ /=#”÷~`Õ|¦v[yÜ6Fv÷±¶€ì·¬¤‡6Ðâ%ú «ª¥?žð‚8(åÞ”åfH/Ž¯Ð±JÖ N¨P»¯UÓ/°àlxúÚ­@š9!¦(±gì¶cÉ-òž°˜hDÀȬær;ÀÜ9ýÀA.ÿ²‰u߸QhÇã8\R<Ù#p„74?XÈÚ–Pn…YÂ@é¶CîÅõµ¨ñšY‰š”Hô&""è-˜cÀîÞï7¬5Äyàè'Œ à¥Ö䡚Ղ ¡BZ,/Xvž>T]’áïÔEm¹? c´×Ê£\|Ÿzj¨%Ù))Ü;_>ž,c<ñìÑá?æ9N -ÊÃËPçDÃn`S•%'15å"põxœÞmj‹¬˜hí@+Ó—QµnØÞ·8¸ D`®  ¤ß?ÕT×­ƒXø,„5Ìû­\—WÄ%p”¢Á^ ˜mŽu±ì´’WFJª(ˆRræh]ƒ&êÉ›ŽiÅ4YÌsm;‡#”¬KÒâ‰æÖtEÝ0t^ ¢J˜XƒåÐÎXè;ùÞ<_äÏä–·Q×sÈíõ¹>ðvpé¸G—²C®¼ø²ÛéV[²¶·ç”ÿÊÈå1V”Ô÷Ñ“J6z!k Ïb)¸.\ã xÃqœò„ïRT–¿ 6¡Ä„DJH•Ü_˜F îϽt+î1œå'¥e“𜖠S¦£=ÒÕ¿”\{ÚØ%•÷çPJÙœ›“«OC.Ц´^=‹à‡” ’®J²-òñ„—^.Ô\cpƒ|pÍ™Fmôèþ>L* Tˆt²¥ñØ‚)ˆ=¾ª½Ç.Àï/Úvwš {MÓEí¶­YdÏ5ÁÆI¤‘šè‡,º¹\Ï“vpáE&iM!E<üÚœSRtßv毼Ýe‘Ý?u¼S“åÊÖ!o‰¢$"~§Ñ“^^8zǼîÏŸ˜šæÇÁ©VQçõáçâ¶U›@s{˜[\¬ÆÏ\rýu7Œ•L\m¡S«?§¶#4m“é&'rÁs Íq¾Lyyôù®__{ÕDØ!©·Â(«/ ¢¤00T8ëáÚ›åÅì-iû¥D%6ùDC.;ÑÌ™ÉÞÀÏG-0æ[Øw;o¶`Å0¢‡¢(îr`ê…¬­r­¡ïUìÞ¢Kñу¹kd:T+®õèÒÜS§¶{c_6åiÚ+ùN+£ì?1±Wl…•<èüùï5aMúÀ)°MÖ˜³Þ5lÐMí_"=sIާj:àΨ›s ­ñæHP'#Z×›ŠçΜZ’(L¦•=|‰”Eh*OJV[ ÖÂa8ÿøƒ †qc¼ÿĸá'q›åÈP<ö¬Õ#ùNe’¨R"Zˆgë]§™ðžRÁFœ|É÷4Om€Ž³N¬µ0×ÀºM\%A¤OZ¾”uX¬›ƒ²™e Òƒ&±õ°¯Ô+¢¹4ö\ò”ï‹·e³Õº¥,ûbH]ÌÏôÆÊ!ÆYP\p.¬yáAbV<~£ ²wÉv,‚ƒ^—ë¸'æ‡/œG /øq’"h@ÉŠQ¿”™–rý¹â+—BeêñNëÛ3PÂB¥FÅ>Í­£ã…µOË¢¥ma.Ìyó4+RPæ5`ÆmÓ8Ü¢±–×Ëí|øödË„.…ô| |«d-€}e%Ϩ1ð>¼ Á¨}±f…ÊëìÓu‹Qk\”´äv2Æ£ôಯðÐÜÄ©Ä6™è6“«Ô Û3ùTž€Îò­Íí¥”_¨ˆIiª¾ÿl)òb{ÑK;!w˜›àî´—>3/h“Œ¾yµúó†ÍöÕÎ9ß”zP³×½-ã¬*qOM’‚S8M%¥ys¨qc|h½CSøL3Xì_0.KAœ_™ÄVºn±çFí Õ±ÕhdÑ$bÉ€4trÉ„Ÿ¢VbÓs=ŠÝÒ,yNÉ]œ²lždUÞ0ÛáºMùߦ›¦Œ/BÕ&êw–µ‰rÓÃDwÛåqáºvF´„v‚´c1σ“0>wMx{Áe(ÛOi&D$¶Ê¥ÓÚ郯ÔÍÇÔþV¦m¹ ö‹À'—¤¼Òž^R~#À¨ÖMÉÊío²FKä÷…E>¨Ulø/g©´ËæÒï¸ËpÔ#—ð;‰ßÂ~°wœ_æx0£Ô`IMüÜL%Dîf Çö>2¾Ü”óPk6æB­‰ÖƒF¢=9GÞEÌòLjN6;ñM5½(GNE·å@‚Ë¥&"¾Sû¦Gm -ž à\9"ÀÄ‘‡êhi9Çʉ1 ÿ?Uo»kI“,i™{Dd®½ëí£ÁârøÒÜ%. Íœ®Ú+3ÂÝùa¹Þó«¥îꪽ×ÊŒs³Çî¼Ñ41åq`<¤ñ6Tcð0w÷e¹Åu¡1ãS©°WCÑÆ™VZ+q Çš7¦F't-{ˆè‘•x2ìÖºh‰^V$§°nÍ¥dí¦]þ,ù¾±ØÏÊÃvvá*æ1­«`ÇEk* ƒùu}p×Þ¶[îküd”@8ÙûRÉþ?OH‡ï©ËÂt÷úœ%ª Švú‰ÖN¸‡ŽNÀ|$ïXRrå#³6Nµ®æ§ø¥ÓØr $+¾}`^¦¦áþ­¶)½ÖèÛv´]Ëx~ßÎ^õÆ"”íÓÙÎùÅN V‚Íb0öq:¥á¸¦ÐS¦< ùÄ•*;Í¥ ?dœøÑÒQÞç뵯#:‰H^å/î6É…0V"æââC¿TÕÅEH܇~Ú”+B®LÈó25I¯õoߤåøì½±~ñ!-¿P[P»Ôg†øÑîФ¬1{ tc~™÷™½aÅ”õü#–Ž£ÓëÓz"ò…Œ†¥VUg†7$€y]À»p·7ã¥4;yÖUgHRPZ¯žüôw4Ùc8 ’…Û\ž¬.XàaѶXÀñ8ƒ‚1«f®ìû‘ß&Ù¦Çx ”~ò¼‚ÃBSè,+&ïR&<ð´ïa%s:üü[Îa³£Àù ;Áä$¶r%Õ\ÇÝùÞÒjG;ºD™@ëŹˆì&Pm4ÿ²Åc˜7´v Ç ½ß‚e2ë½S ÍÜ`𮋅ֻ±@Ÿ»·KdĽԪ›¥µSîê‰1ü±¼ˆˆÄšû^Oµ×½…?lHÊ-üó!YAiBæ{¡ûxì e†>Ö-ìŠZžÜŠÀéL4Bú P,bJjd™M$·fîæÛz/·fSà_N×\ V¤þ•Ǧ!r›-ƒ  ”F6ͯc<9ø‡ä‡Bä§ SÇAwG9RûâÙÚ`ø8ˆµôþ x±oÂÖÀ;Ÿ ùŠ)/ª1v8Ê9Óin˜W< `™ h¼È&ö9\6ra;½¹^–•Æ{×®¤n$Ú8H¹ÏÒîÆÕ”+<ƒKó A³?uàúí+½!Ö›0èbDÖ}çÓ¶ —‚|O¢j=%Ö).tûE»ûZhÅàÖ¼ß<Ñôö|NÞ‹¶š|«éx`Þ´¹0Tu¨Î€»Ô6-6¹FJfÇ'"í lý€÷—>N€Z±ÜpKvk£6å݉‘1µ€ÜŒÛƒ¨üà¥É¶5~x+dÁVÑMÒ@Åœ¶ïš5uÇÉ'Sr¡îÉèZòî·µ·l9=Í(E~<4ñrØ\+}n…$y2sßåÌ|˜äÄ|Ê)ó´Î°À9HE ›¡&jÛŸLÄ”ù¦;3!û¤k>–ºGx¬*)>œOÄbJ³±#ŽÓï˜2n^¢ç$}~;¦KŽÜŒc`­)Ï™=³‰¢/ ß8õï:˜ÕTÌz^8N{ó¤ñãYí7—·yÃyr§È]]'·R?úÓJ»{JÊ ŽñQØS6I»hT ½îûB?áC Ž‹¬{i§9‘Ù¤Rþu„¨D>BX Að4€¢ãTÝlPªÖõ€­Q¼'Ìb2IÆeKz^GGå-1{ t„´h†Š¯§ôi_zZ¤ü#ä.1u\÷õ7hE‡;k³CÙï[=-_½Áì@ë“ÅšÎKþµF²ãäaíÇ^ò–ëâ¯ÎûÝÊ•H4{Ñ…qíq:£Ü-ù³Pwin±sõ´™fÔßH1eV®‡ _XëBn¯˜Ìª!W†©&/âÍÔfqQX'R¨°yùý3*UR­Á‹UT!òæýg.,Lt¨¶ &ÙÖVPï]”we@29wp]Êbð/Ïàx/ÎÖм£©s¼µ×cbœsrrŸ›ÂØz7Ó‚;EÈËöytœvry©©‰áýŒ…¬¤„WŽó<©º4‘-ðÉoóhvâ¾ÞXÁã]¬7b:ª-D/ŒÎºë}4hR²¼ \×ÅNÅõÃÿnò‚7«÷XõqF‹øÉ1kUwbúÍZƒª˜7®ê‡«pÿB$â/eÛÍšºID_T4¸WÂíhÍäYÂSÝfÎîЭ‰Rµ0%ÙR¦å,‰vÝžˆŽ®ˆBF*G/ÃçNš ãËaÕ`H{1\ŽîMp¾©ÏÜQ‹àóÖ)3S4èB%ú949ñ 8Ú/>CŠ$ ©[Òøl[²! ,7ÅŽã5«à“½î©§NµªÉre‚`‚T L«fb=ÔÃ¥pFbN!æW õ䆦|:éÛæú­Ø*†÷n¾±ÎÈ/az\’&ŒPË)µú5?.Úðx øÅ»êã¬ÍÀ}½HøÑðúþ¦£ÀÙâ[öfnÃ]Pˆõ¤ 3¥™Ç†ÿqf´Ya¼sq’*RAq·dwu0ÂávÀ;Xª™Åjï{¡FƒŸ?k|1žãT>hüRB’].×¼à=Ñêæ¼°ÖƯ¿~±É ;ÃÂàÝ}¿q4îôˆ[/»¡O,ôl蘺˜C“æÖšB3<ëlI¶*qÿü Xo ê&e8V±Š9}á uÎ5ߤ‚TÁú)€4¡MYBL”F®0LÁ%£)™NІ¹B¶äo{†PÏLÆÊ1ïPŒ“Û3 €¼7d§Í`Ïï­¸~_¨š<#7ÎÚÁ¿÷,G*ÿçÞbŠ˜ž,kqú k^DYV¡wÂÑ¢¶»·à±„¿a6áš”){qc¯ "÷Bb”Ûç…Db-¬ÇkÂ6©C!"¿ +tñ؃CDrvé—¤àñý×÷³Xr`¨p¤â¾10—ÿ›—аq°žŽ\bQyi†Æ~‘Ö‘dc"TÎA!pX²&¢brÀÛÒ­£IakhýÀº§î·Àï’Ô~œŽŸ?7£¦¹ædv°+®7O'lòÂÖR=6Z‡µ5îY˜qÁÇç̸ó¹yÿHkÆÁ5©;pÏ%x‡±O¤-ô6àÕÄ•Õ6k®¤â6‚™dÉ ;7ÞÎOV[nV®š æXÇœ‹ŒVFoê2T¥[-ãÉÔ_×õ¨(›ae¼øm‹ù† vg–8YÀaTµÖ¼žÒ‘5/¶,¥ã¾—v(ÎBF;aua]lF.5ÇJFÜý{­`éÈ»j¬íc ¹™(Ö"Á¥wB Ðk®OZV/aï§Îfûë "½7²…½A+ÉZègë­诃ǰ…Šƒüô˜(‚›¹»ß¡lŠ#’P¿÷½Ð»ê¹>Ï £  hG¾éÔQ·dC„Ú•!ç„áD/;;*( 9÷ýƒqv¬õ£>B6j}½4 ÈÀ¯¯ðþT.<÷ŸÂ씣]+Ç÷É;¯ ¹&L¸ 5ŽÖaÿïüʬcŒþ,Q÷}SN•e{'ͨ‡›l8¼‚·ý=¹­’GˆHœ2çŠZ*zn´hµÈ44OXïÊlì˜ãžoM˜Ñ ÓUâàu7¥º€3{ _gñ,T£ÆÐ¹Æ ¹:Ó89oÚ1¡£åV±J-L—Í‚ÖóæC¡$&ô¼æ,šü‚ƒ»(¶ÈÖ ™¡5Êá%N,#Ç"éd¶`s–[Ã8À-¶yÐuùååæ°d?ÇZo4wôq¢j¸VõDæd‚°õÎßutN›s¡Ò±ÖÅ´4òkó®ò“Û ¼$Œ$Cl-JØQÉE˜(—{šÎ…â½on¦ðî  (“|N*Œfwõ*†ªí8·Y‘Èuãæ}“…Õ©@­ý¹{‡äÄÑ_´ÔlGq‰º9_ZIQ¡½¿ï7-b²7ï¾ù@6§.| žË DkZoˆ¸q¿o´î8{͘×ÂÔJÜ`§ ØP{,‘‘›ˆÝ¶ZÜÍš;¬;%DýY…öë/>xó ?OÄÍ2ÖëTwp—kÔ?Ð$´`G‹_ýR︺Ã÷D?ðL{Í y³Ë# ¸çfæÞhÆ™8ÎqÈEÜÊÀ\7Z‰0Üøýgâ¯ïA»ørж]ð,Æh5È\256f=ª8APê6‘$óf…ÄœˆEÙ¼&Uc­‹=bî’Õfü kµ«4ëZSß+¦™P„•§Ñ滤ȟhpf>àABÍMóîB,ë°¦š•8ÎÁ²¾¤Èê݉:âjžŽvСáéÀŠ…ãèZhØFOm%Y¬ðfŽÄ–! ã܃ÔÑqœ§øc–ŠEÐ~~S]8Þ”»ŽE?•ø¬k&³ëYÞeµ¥4³§©ŽU s=]f†uñÏ4ÍVè¦5µ‹v!1/uù¡—lG//À޲€Îssi~¡Š=0ªÞ× ã8Ð_/õUÌgU2gÌ×-pžßXs"QrÌ–J/e¿®ìQL¬+sÃ|_@Fw/õ² xs×ÎR; JY8Ž{ 4Öß~F²x¹Æ}óh=ö´s†„ú}ÃÑ9®¸9s)íx‰k½á3¦M™Üá©ó8ÑzGøÂõžjºÒ5µ»X{ŽÁ0C3æß¯eªãÚ U ŽÄpÎÙÒ¨²­õƒ\ô'Úÿý¿ü‡â­ »Vk˜(¥€R¢·Þ kýð¢e´’äLœ‘,yw8­–^/úúF÷dqâ{¾Nž§saŶ˜ÄÃU…ñ ó6ð'snîR@Þ÷%ÿ'®­©kotÝ[8r\×m wC)0ú›¾¾ÆSXêæ¸/Z\úމ2¡óX= _LZ9æ}=”ð6N^Ä/¡ê8ª>-ºM•tɺë½ë®*: [Ó.´Ô—Âð¾‰q8ÎŽRàËqÒÎÝı;†ª½Q Ø;øÊÄÑǦr÷ÇÞÏ“ØkÝÜ•„þ4ë@×<óé‘\Á¾yÃ=™[7wô1H2é®{_CµÎ{^LØÚU CÍÖ'øVr€·ÑÙ¯˜AY,ò¡(÷.ÕO9OJ3Ùsž'™‡EQ»­@á¹,Øúßþ›êÂë—þÒ-¸7–&>]=ÀœD,o¸®™K\ »6oHC#wZ*æZ8Ïk‘¨q~È4Ìû¢Âb‰ã8U‚ÉÉ÷Zô`™7J½¢Ýýš¹—¨à7»ÈÁI=û-L™uõŽÈêaô! ]:2yö^qÑ’R\•ûàj]¹Ð¬aÞ7·n•þìV]ë ]GÐÑç”ÙtÛ„|“Q²Ðر¥6d ˜ž‰{òȹøò·q°JAQÓÖ>Òë~ÐY× vX‰&^[N=X®ndv=—B³¼¯Äd?ŒwÞéÒ!纹ÿ×ÇB3ÕÀ¶¨ñˆ(Í-#ÍZSÃצ$'éxnª¬VÀl‹õ¨Sþ¸¢MÞ+ÎÍt¯ÿxÛ‘*Å È!—CÛ:~{w¤ïjëz¼köý¯ÿ]µ¢u¸‡f Û9K™0S)9¦²z;$c’üÎ ~jPdº|†{Ýpý9HŒ¾)ᇒ}.…˱î냥ÉÝëÏÞ{Glu©sýó<Ù—='úxé|yÉ·c¼;8m̯pÚ›ï k¥Þ§òíz³ˆž™Î(S ¿ãÌWWÆ5—UñÌö‡!Ù³^à ­¤º¦Ü}óxµ’`p,ýܲ3‡p½w U¦ ·ØWÉUyÇQw§JUé’¿¸{‡8RüßC]È\ë¾ø;ãøÒ´^"Kš\ÀR½mÃù]Û¼ Àºovà-DIÍÞΧ[$­aŒóAÚ²§~K窰vª™8Ü6`‘âØÓp[Á]¸ê¾4-þŽÞOX èö¼ŒMæÉÊ@,²Š;tœD²ýÈiIÍèL‚µþ¬&WfILüù½ËÞY>ãžÊXL|¿;ä4+mm(§\Ïît]«õlé3ãÑË[—¤¢DZqÞ†7ô~ õ•oØI…Ì`8Γb@9îëWþ|NÛ0lâÏïÉîÃúd±Ï¯Ž_c –!'‘•mpµ©2 HýÒD„:0li@¦8©ÓëD<îÁ/3“¨YÈûŸ›[û¯¿^gWëoH5›ÏCíKï&-w×l¨?¾*2K÷ ®Ú£3=‰š¨lXÉ|IæÂ¼x~'´ÛŸ—lN>X+»ITí´]¿ÍjfþÖ iL¶®ֱŸbNÆ]¶šö0Ÿ)­*ë®Êéª}ä^O­Rª"-ƒ?wÊγS>ØýÞÊP9)ÀŸæaUMV>S¢vs ¹¸¸3OÓ Xs¢¯U¸c¢7`¼:FLG” ߦ§`ù~c% <»ü~ïÎ rжg&ä¢mι ƒ !lݼô¦Ò’õ°q›'æõƒ·†Š<ÖŒv"çyÀvc®‰À}_ý`Ck¶e}qµÔj3üÜoääqâx½x”é<ª¬g û8UHk@ÒaÚ;ßС²KÓ @¥iªo±àÍÐûýBsåâ¸ï@Î ø‚yÃqžøë»±•IÉEʽMŧM?Ëøe~àå‰Þd×üƒã<wö6~RFåüc­…7ºãà¼b-°¾{O÷a§fNXJarùða@Ó¢Mºj(RÇ£"Û‡ˆPŠ'=jḬ̀4f)©B…ìºçƒtñøÑt’ˆ#òɵ»€~À¿%Û³Ž¡è‚-ÆáX×ó©@ÝÒ0Vðê{N¼FÃ!‡.güáÖ",­·†5§’††ßޤꭄµÂ1è ²"â2#äKê"ÜáQQ^_ßlÇUŽ™éRbF©ïS†ô®ó·… ŠœÌ³èñ†UmÁ‚XÌtV,¬9£¥« ±do^œo€øÐý1›ˆµ4ç…œ-UÜý*D~ì@™ýÞ:š­[Š¥ã¸eŸ)DÐÒÝ XÆì×ë í4åL$·ªóqCãÑkºólÂý[ÏFj°Èõ‡Î×ñ¹Üwð~ß10Oq¼¾8/Ò0ØÑp/R G?¢b.&Ëœ“*Ò1Øì„vÀÚîñà%"É"öS—o^Z²šŽ’ ÙeaErRoSFQñ‰ ìs+V æ¢q4ó)ÝÄër“›à†(!¤Ü1ï7ò¢{ƒ ´(ô²N÷q¨r3]MJoä%½˜6ê¡ ‚…1†&Öú¬€8D&Ô'ï4)õÆJpÝSwà ¥Ï6_{³†|_è­ÃüÄ}]xßoŒAúbS6¡Òõo’“ºA3µx1¾òzÊ!ioˆEÍ¿=hÓ¼ùŸ¹£ÆØÒª5¨…ÑÄ’¬#B;K-uÉ'åîâ•cÝŸU¸+1Æ@oƒ»ôphH3=”›²Äî{¢ !q°Q™[tÈO¥°›È@Æ„›Š+qKuêúýXªy_7YWÞp~}i²±1Êðû÷ærvË*žjÉŠJ‘Røÿã_þ!;JóþA­‰î'w“ól”Í]ðc¦—b!×@Ù§œÕÇ©†0h—Ndv=Ø“/†§POmFE#k3ÖÎÛCG`ŠOа7ج‘;`ýä½³HðÜ•Ü(úyòÒ–²e/Éæ\²°¦·ÓØ #ÖÍfÖUªLƒìëF’¸.äMÕ&˜Ü0œ$’ ­þÖtk›ù›˜±0µZ"¯¯Á|sßÔÚ®+J–ݬ{âžÜRýlèãæý†åæø2 ¡:d…÷7Ѥ"Ø¢$M<²pß:ï]Ä艈?ßX7»ú"˜sŸ“‡××À÷kHµ©§7,S1!4n­Ô0khšK«GsV/Wˆ9¥h2FÌ<Œs—ü°?޼Õ°ÈyíðzQª/5.5Ù}bòˆÓÇ`êÏJûRµ°ÒñõÕ0NR]Sïùóþp”k'÷–fSŒ@°ÔGÇëë \;¥sUjï*‡É.6´Ø½ýdåÒ=ÂàèþÒÕ`ç=v_¼zàw¿{ˆúçü)¡t‹ü.ÅÍ@_sÁâÆLÈÃB¥7Ãù:¨IN@çû@xפý'Ãô8ºÞÄ‹¨=„µ ¶tá40X©z·¥¤àÆÁã û¿LHžÙ{c Ó( Þoªç@ó†®jgÇ5ß@ã…ñ™þÖv)gð Ю¹ë&óv.ŒÑQ5Y\³&æÛí]8¤íŸ¯ç7¿¤î»ªíƒMÝ5dÔÙ å»ð´í–z8”¦dòÍmÀŠÝ"¥Å‡Y’D`Á#iãh¯¤ÜiÖ{/¦í’V"o Ö˜­ç°ðP§F®É Si8Îç1hÒ$]\½Œü®µX¢Tõ)kÞï…ëâKó/ÿþm”N'/ÃAâ»qBoÅÐTYûÔÈÁ1§Ž@1ám Ÿ*)!Ãú9ŸÃs7ƒ²æ–öè^®¹ÇZ´ •qK cé:à­¡ÿ—]8|G£óÕIC—a,³}¬’<ç4ÐÅÁirï†~¤ùEÑ­ãú9㣊­ú”$­•™<^4=Ž~àº~Sf5F2‰\½0ŽW,‘Y“bá­±€ÆÓ‰ehãÅ/pæsA#]„G9X‹<î\æ¼8n¤È^8Ž&r}jU@LtãêîÆT”qqo*ZôJe{ÚŒ6¹’>ç¬ÈÝ1^/ô¡T`Ò¦zÖ™û½`¶pt–`ÚSílÜ×z z×;q­…ï/eXœ‘çëýÃû>Nô¯/l¥Wã½,Rqê‰9Å%[ëÉï\ï¼oœ¯üûö<#†ëfÍrS`–sx—÷gøº. ;f¼1¼ÆPït˜×ó¢šM䢯˄I20íºmÏNßȳû@ ÐN5ú‚*t0C?OCÕ€7`ôãø¨%kâþÏèíü¸|#aÞp¾øîÙIÆTͲª¾DÉ 4Otãd²bâV Ì^ÇàÛì4Ä50ó¼¦Q8Ȇ9??ý0¼ÎÐï¨ú¢…¼X¼±œ÷‡c]4ÆI·DE«OKdÜoúšaú;~.Ä ¼gØxŒç ­¿–ãî·=S<®H…·.QŸ‚ÊÜe¬`sØ[99zƒµ,àþ¹Ä³jt±BÖð3ªy£Ð0oQ__'¬¼CiM ýcS—s.”΃ Ví°¼@Óƒaß¼“®©Ïµñ1C„ž$ ® ä"™q®Äûhðýï^„IÈKV+X¬]U?® IDAT¬]È©yYšHž›WUhþ‰> ýèbk9bª  åü{K³«j†¹](øx‘l“KNäB­½ÀQq5cj2TÈœŒNËÐ ‰Ž{ÑŠQOR¹ ǵ¸Úfg3N<âX‰¨ bÎ@ÎV¨ÍG5¼ƒ²kÖ\¨*`-Ö+¯íÒÙ±tºQx½:R[y"Ö›$ëp[ÌŸx'Ú´(AîF%žío ÉaE9V¾áY”<"¬º¹XœÇ÷6T|„ÓÏ(?4ƒ—¾"rycáÓÏYÉh†5ÑŠºN¬»àí¼pô“¥19a>¥Äq‡†D‡÷9Î×@ÈÖSªI¾~n Ú ×¼1Æ ­uØ©'·êãèZ¦eƒ†JGïbó¼ÞŒÈ ÌÂ9^XÅŒÍu~ÿžøë_ø¹Ñä<±b!£3•èŽÃ9h[¶R(Ú:uó솩ø¸0y]š ÜzøK ê}õvr‘—¼Z¦ã”Ë~£¦£îßšÂgÚÅVÂ<ÑÓö æ’$[‰ëNdJmqàøêÂï/¤:JlÛ vnïxʈlX+0†¡uÁÝÍѵ¾û ­vÖ-_›hý ç/Gï+&º’w¹®G.»Qè8:À ¢ºgÈRÁJjãp3Ók!*qŒêåÝùÈ oT¡ƒBÇ S;‘«Àª¸£ ŽÕ­‹ªËSó\Å ï÷ oŽ6€®¹’ÕBëßö}€hÐT5€áõc|!+1°!ѼèÿúÇ7îûÆuOŒóÅÝm¾1'ÕœŒ€‰ye^ß/+w?å¢$¿t÷#x®‚áÆ=¥Åæç}ãë¯k$R¦vôN×ïû½‹6é²Ý9#”üw =½ R¾}ÔŒe‚ “›¹³ÞG2ù‚¯E#b­…̉lƒ^±àNÇš Á­óè¯ûÔ C3¨nÖI Ô°&"i˜‹óyÃÑ:­ÏŸË¦Þ¥Œ;³À]Yõ{² áuvÇf6)8ï†îƒäš(á5¯7ó }Æë@§\š†,‹9ÀHfo°Pa,Rþd˨$¦„:Æ ë•ê¾Ø²». u|çø&ÂÈy¤éÝ>U(ĺÕgÈAz‰,hš »7ù¬ )‹eëh£\9æUHKßC<§ù 6…ƒ€¦tïß??x Ãñõ͙⩠ˆ‹¿Û8_x_œ+çIÉ=?Á¶œDõpüsÞr°v·µhÍ”©2×S³É~@§8¼F.\¶Ž~!Ys«‚žs5ͲõçfJå¡izOÕÛ ‚ðî9)*X ÈG„OŠá[1%ˆ°­§ÛÝ·‡+x¡ö&5on—-±<ïé8Æ©…lIÉãÌ–và¾\¸ÚÄ¯× ëBÞLríö…ÑD†ˆ“…›Þ÷Ë8ËúóóÃ\‘C¸tW­ØËX¾á Ö!h…,”¥¦bQ Õ %3Ñ#Ì&Ü6ð׿ NRM“ò,J–å| 3ÕEjÅ\´§ô£ãì'º/™ T(¬«9¶€œoTÞ¸oÇ? Ç·0¦XÓ)å¦+Ì5±t¿È`ZÃÂ%É” Æ\ ï¸TÎ*¬9®«ð¯óÂ1޼:0ôÜï?”‚WathÕYò:ÅÓ¡±‡OPObÈý\ k‘’y9T5+ä¼q­ÉøïqÂÛWÈÂ'Ex@ÀÞ‡êâRw¸Åi´É±ª¬Hë@N©†~ÎØ °?ïœç‹Ç¢GµÛ6îÆï¦1RºÖv\y]^/úÏ aå¶ßï…ã<51WGk'ÚAy—0¶[mÂÂèDà š´ýÍpéHP9;zç]Â÷Eg2³ûôlÎ:´5—«õ´ ŒãÀx Í0þYÆê½ð©ò¤gá2;±>:tü‡ØÑEùôŽ\‰~/nIÇÁ³¿–C¼'yDçpŒN‚‡aÅÀûºÐ»ã¯³+³¾ž¹‚p°&gp¦*¸-; ï7-"C&¼%’×>f\$rsº†Ý;bÞ2’5À&ÞKÖq§œ%”„,Ôb.ã[éÃó<nR„µõC•[`˜è/’GÓ摤ñÈ•²T~ÊwÄ ŒH\×z&²ì/o¢ÞóXAÃfªQK l°AȰ+ÉØÏÂ!ë ªyÌn'eÙF+xTÇÏŸ __ê·ˆ±L0 ʾ4‘Òø‹ù§% Å#ð¼(û[©ëDLU]’£¢ ßgÒòR®ùP ÃʨÄûšèýÀyòþ°„ùl>”áK°+§ûp :î{r®6s•#ØÑØÃhnŸÞDz]µ„rÕŠÍl½‘™¥²Ps†àHåÏ’Âþôv¨_…ó¾†D?Áˆe’ß„H¾4‚¯5q-’ÖÇèÞ°®?øêÀùÅò¹H¾0©FæFè×&g›&”EjÓû*Ø0üõÅYÉ߆y73Œ(Ÿf ²Ér †¨T2­³é¤”ihøys‚ýúêŠÂÒ¥µÏ¢{LãNÃâ}]¸Ö„<¦È¼X«¶‹t6+ÌLî]])æ6ýó Dh¨×´c ­€ ³Ä¼éobÔÕ4oZô Ç¿V&æ Ä\È™h#U½\OSRÔ‚/`Ç3ÈøÈEW»:JóŒÀû½°Òpüâ!=7|²®wǺí/¤-ÜÙp½ç—Ž sªr‚yðŽë.ÑSÆßÌŠDN‰l& þ;2ÞÉÎ9™±Ý4Õñû÷ÎïÁú¸|SMU~l ËMÝQFŞƪÂÊI¿Ÿ2:\ÐyIààz³„™7rŒï_X÷…Þ,ÑŠëæ?|ßÌX H†¦ÖJüùsc´ÄëûK÷ jÅÃE’q!p(ËmZ(Gõ£¡ Ÿ‰Á [šqÕµäQ*[ÉKÒÄTÖÀ€Î@ Ã^”ª×"òü:õåª9:eÛI¼þ^m Ã1Þ‰1NXg9Ðè/I†4·¡û­|Èæ;Èu߉÷ûFoE$QÌŸ;bF'â“^&ʾk-t³ù …ä÷¶õáÌbû ÃTÜžqZ~ »ä/£·}\2òsËUx¿·‹·#ïÄuÓƒÕLn‡N)m‰¼0gÀýE«äàqg]Ü©çâDœÇbz'©¸¨îU%¼Ä¨ÁEeÝKª cÞœ…õÎãþußh½p߆• _.¶AøLtõ£lC'TaÖøùªDÉ%2¤ª—WÜèCá3·§¥ M¬â`¸*Ð_ÇxjÐ~}¬uá'Fã›}eâç¦3÷ׯou‡ÓVn`ž»óZH˜˜9yöålÁp #X¸xq´â‹XVó«ZYÁ­ÞJ]ÝÜò~Ö„Ž×Éûï§ØÄu¿Pi8¿¯× ´\VuǼ˜DôP@¬iHùFF<–‘)¿ÏJ¢€x\˧´žßõô™{#_Šð/þÿ…ƒ_yã nˆÌÙ‘1FR “Sn‚Äûç‡ÿ8Ï/éûDef—à „çú[Ç ™¦)úÔŠ2gÓÃáž8Ž” ¦¯"æ¨îK(žËÀ=u„êÀ Çõ8Zâûè*PJÄ 4§›yþ1¤5D-|'Ýj‹šOd¡mEiiw¶ñ ”׺чÉãÅD“í¼@牀Æ£f±>Ïd\$:TTL”Œ—M‰H‘JÚ©üÑî~¿µ@¿0§žÁIÂK¿¯ç9ž‹mó¿L4Üq¡àøúþ £û®#1³Ð“¡åØIV?ðûŸÎ×ÀùK.èò>G/‡@ Ùý›Õ…Èá%/À“Îóz,Ê©.¥å]'ÞÑð¿ßß]nÙMº¸auÀABâ}ßãàŽfÄÛgîªæF|ùwѽƒ´qÇ,¸-d+ŒÆ•ÿšóé ÿzÿúÏŽ¼ ¯/vxð² u‹ Ô€`€ªÑJßû®;73Õ¯¯Þ;ahbxmôO‰ Çûx}9Úq"¸g K00Ò M–ô†¼o%Z_¸×­[á‰ùs£ûD?Är’Ãsädò±¿w.¸=Röà‰1øsžÇ@ÅĪÄèu 2Ÿ¦(þ®‹9ãóŽgî±]ά%ï ÖÝmNã<ე.RÖ2a¤ÔK¯ã³·þ©oØ%žFèÞF7¥³Ä“. `Ý?d¤íz¸óBtÏ­`,´>à½ã×9y!ð0°bâº*:Žëºx¦áçºñúGH»Š8Q|ð3ܦVdß fð.è¥!*‡rå´›#nFYÝ€ŠŽ;Ú0ü»¿yèÝwÇÐÖ@–Is~."ðYÌÚä˜ ¡êëußOOHªG=#Q¸UãЀ<+°–:Pt¾µrŒ#pOC-Y6)طćÊzêå*7z$sN5Šf;Õfg£ìì¥\8wÞOÊ @îTIÄ<¼Âu%"¯“ÓóusõmÍ0<à ´ñ­6æ@–37S”H޳´Ã³Q÷~'šsoÂÈ­±¼Ô/y«r®äN™l&+'>Ö¼ãz'ÖdïKkÐ]l±òA¿—7¸Ÿ0+üüóúqJØæ/Q< ßå=º–bµ¾ Ž毘¡õ…Xˆ„­p:Tÿ•Lá ÏBKûÄZã¯V¨œ8ZCÿ25”NXrrÚ*ÑÿåЃuX@ʼnªË/œçTI¨KU`!üœÜµ¼/¡ì"Ùõ¥’$eV+¾ŽãSM-Ú‰u=vÏ{Zã½HàmÖ„Œ@·D?šŽN¼“hÏ>Ä%;7*-‘õAº9ªC°¼`KUu`,ôA¤åJ^Co›ògÏq ™³<5 n í8Q˜OlU’kµxÌhÝh(¬Âýþ'^¯_p ýÙ¥Ì ï*”0;Zg•BóÂõžð4õÃs8W@Ü*,](t”JV‰Œ…ãx1êæµÇáü@cžc­ÄýsaNEÔšHλh†*h îa- |m—ìlÜÏ¢]Åå©Câ<®{Âíû½wö¥£¤òñÅwÛŒƒÄ 6o¾ñ´Žµ¦Î€UÅYP³Æ¨÷úÿmñ¬hãØUfÛ"aF)–þË3>ˆ™F(%çÒÝkê.dOÉŽâ(þÒÛ¢Knä¢ßßRjƒPÎ"Eâ_ú“ý&A¤©ÔŒLj'«\Ò³÷ÑÌ”ö'ŸìÚ¢swm¸Ã{GÄý8‘7Ÿڛnºpqpµ3ÓíÁÇìÞKW‡™=;Ñ·ÄÚz¿k`ŹƒÃ‘Ïb°ÅÙEBŒÞòG»Hq|¡DÏ«*G UßiM®` Yß ´[l増¬ÑÁl›‡ÜšHˆD¤fÕ\sDÀk)ZÀ¨lmø_9ZOåò¿ØâgÜ/Ù úá¶èåü™o7Ôº±æ…µ ºŽ$lÑÅû„îätÝE_,ÑÛéÚ÷‹Ø=Ž‘ Ö*tê95l-UÀ¾8·z´Ö.«TÓ]ÏdÇÍÝU [CkóÔÎÄ!ƒ]àö0kA¥(«yñ~‚¡(+/M²\é œ²Þ“]%Ç1xÆKå<¶ÔËÁÄP(W9ì¡È›üž*WcVà0IôüÂRášY¥s¥5’E*üiÜ-'A±5Í-Tâ2TKìmèßZ"•®›·t¶Ê> ÊÅâONö5=ÕE‡f%ôÁÑp…€z0ä³ËkÎ…£\X:f2Cá½iêLwEÊLAÛ8Ïî·j؆ܥ6vsŠÌq ]†ÈÊ@MgÕßhãÅÈ´MÎ9ä˜BõPaL¬Iˆ··†X ‰q~Á+¥Úí"Ïx>DùtÙsöñF¬zZµ¼wVU—ø»åê9a¿J=ÇZš\;ï„U[jÅßmÅ^ª'Sç<õd:Yk"j¡ÕA×D’Z—LÅíª Øí’-"©þÕ¨C§R-Åcß¶¼´yžð44y9{²WÀ¿ÿ£z0—·É±æÍBƒ°=…0!^}†zéYóÌ{Vi• Õ°™sÅZû혠%bñ…=¿¸2Þa×µøÒN‚©c‰~h$´ä¢m%€óûÂÑNÄõƒ×÷‹9Õ Óyß®Ô.Q©ÃP%6•tÌL¤qÒŒÅ8ÞÄD嬆ʮ;i`FZ>‰ýAUŽÞ Õ‚ÉEÕ¨U9¢3‹fÀe@(9‰"qÒ;M »’-‡4$ú1ÐÇ¡6³…M‘nCÖà_Àùëëo$Ãûrþž·þS<å´ÄŸkà8Ã&΃Q dà~ÿ¨B;ÔøÕ Æ·ìOW\†ìÚÊ4€e쮞 Knéµñ6› ¸ÖSÀ¹r—špSs%ö‰×JÀë*X,éÏLFˆô\A™ÖJ}ç]C%×âSè¹w¡XPõ˜.²qÓRQÁ•S9nìå.ÛM¯!°™BR(fð^µC]U€`ySã8Nú¸JZPEâ^­¼9®÷’øÅu¿ñ³ÿœ ÿùð_®/¼³ÐPøwlj¿ÆÉÙÉlð `éýëÂWOŒ8;i²P1è}à)CdÓ‚B&Uk”X»;²¬éÀVš¦[ÓÐX¢­À9¿qs&ŠVGC`¶I:þ”¯Ë€ó8øgs°'´“&ºdÿœñÖè”Ð=¥5 l’òX&ÿ\“»D­_÷B‚Â=YùÞÔ›tyãÈ@:ùUœù¬,ŒêNzOB³‹„fE‡·`"€«{Sþ›Zè,±1Ü€,^ry¦íZl×6]$—oÉÝkŠNŠËߘ¯0•˜XÔsðôÆølT"§Ê-]È ¯s><{lÍ.´žúg¢at Ç\h-SY©´™Ö"¥°¹)FÝ~Ó÷K+Pª_.qª6¥ÐŠØ5“8›{wôb¼¶Ø¸ºòÖtXóŸÔþãÀ¿œŽ³w\Ñp] ×tü—›fÑ_ƒ–ÿ³‡%~®7-,Ylñò bÆ©¼†A^Wã÷—6Y¥l.e'ôð.xuAØ åÝpt×"×ÕYØ‘é¸ç…•´€äÏD3ÃÙÝtä3ç1iÉÁ\ì¼®Wl9wRÒwéŽL€"ì›Ñu@º ´ft’ï½ùÓ…èÞd¨^ ¼Ž\ÿʆੂ‡†éPŽsõä ¸ÄG51:Ô™zVÜ¿Ðé×é$¹, ë¹<®LnsÖ°t¦­øhif „X”BHê\×Ó=+´•2_PBµN…‰Ý»³¢àÁ‡Á$·ò¥Ì‡žR€ò*Ÿ²ÊJZ´ Pn}«@¥|±vK$d¯@`¦?}‚f»ˆ°=ֆɸo„:ÛHZ¥ã‡ÌÞ ›ö 1m,åcòÉŠ ×pýMG4.Dùrxg'1äÁ ]r ÉŠ388‰T“¡zÝËkË¿®*­Ðfü³Y¤Üãg!³á»“,¹{½ÉêN´ÓøjJê0Í`)lŸ–JvÞï‰LGä x¡KV?šá¾÷¢H³â\¼#6èHºhjno˜úÚ ˜œ½ÕbG:¼¤êR_:~§ ã 64wiMkÐ`j®ûn‰¬h<²];WIŤNe (ü°ÑIŽÒÖ´’WƒYG¨‚™0¬ `]A)|ß5Ô£œ\…’û…ƒZåR)øÆÐC@hYÊ«ti§|Jõ~1Ö§*ËnüZgë5eC¡ÄËÁã!H÷Äc>ß@ƒè‚œþsÞNlçe²?…ÎwO)%̧±‡O)t'­50ö8RQbÞ› .AæRã–Ò òK4 ²0qyc8ò(Gë 'šF[èžÜ#ÝK4?xÑ·n¶!ûÈÒ.ԃǖ.J ²Í÷á²1^]•_Mý°?oIÅ9Ð<˜ÙÔSRÞ܀ŒWG¬Hœ¯Áç ÿ»³?±ÝX“´œ,N| Ž>œÏ±š ®›*±'Ÿg¡iwŒè­RÂÅ ¢‹×e”ëÕ²¥ÉÈu3^ª©êZ ÃÃQ7A^Y…i» °µT½Æ]ÅvÂÙoe­MÓ3’¦·¬„©/„¹ þ}. ‘7e¯PÎ)yß²ªî<뾟b{š¶æÒàïàE~’ož˜K½ßVO¾¤Èè̃XáP}ò¦z&›ŒÃÐy¸— ´A;ï–]QÚNm‡ø»»6‚Ç?ÃÂÑ gçq&4A¿­tO —ì Ö·>ÿn´œßETóº ¥#f†‚ 7BÒ^…ÑxäÔÆPBrÅ’]†ôÏË_ kʃ²~QãEº c$±n+&j—/9¬-ÌïÊŽ÷/!GWÇ$]Éú÷ÈIÓ]7’6xñÎòTðÎï®6ÝÁ{p’9Ì>EéÒäH¶ç~ 8ò^lÿŠu‹ËÄ ¤¢X°J¬õG•Z”êæ­Lz±œ—*><}ŽéÂÖšé>"þ)Í=©¿•ÝkË2Ž.ݶ6ýyf#¬º›Ž}í1óqe—’…а“;"þvŸÊLŒÖaÖ1§cåstÌ•m7ý‚¥>•èÞˆKm®Œ4ø2fÂÊp‡H'ùFi.Á‡LXïôabœÌ>äÝÐOG+×ú®KÆ®kXËrÃòÁ¥îßÜq¼öÐ5Y\jŽ#ŒÈÓ,Äj°ô¦ä¡~÷‚uæ7zW·z9~®…›äq.ièE4sÙõÔ±l°Úš„qŠîìX9Ucѹìã5òZׄæ÷Ü—òN–Açëžo¸rqß0'¸Ö0gb}ô'Â]÷œ:"o–[¥ ˆM蚈ü€Áªiâ >Z§ap4žŽš±ƒÓþÏÿù¿ªŒ%¹µ„u‘ã Ä»`ÍUû>¢;D1m7úç˜äÖ‹Çž=(³¡cÓ™¡æÀ­”ÙNF6Î/2IéÛ“r2Œ ÈÄa¨&M[t˜~¶PÊMj˜y*|Ó.oS‰i¥s¨ƒž¦tTMf4ÂÉ#×ÎNW‚°:gö‚Ók]ÒÓÔOeÂ:i’+œ9z§Û{¨=‹Œ¬¾”’¹S/}¦aŠ‹¿w­î¯Ã1hMƒÓ¤„Áiúœ‰Þ¸`T²šm΢Rå"9 ìÇHµ©Ë~Ï©&Ξ?0Ïaº¯6Ýávü95ë‚;::«)äÍK8^gãT´ÙXI‘3)–˜N!$ÁŒ±ûTÔ”\Kp>æ< TÂBiÈzš½Ø>yr%P¹"·×T=HG#ÏmŒ_°3Ÿô¼µ­ ô ±Öàà¦3z `ˆpnOšá7±”Q n]þü~‹×´kï„èt&Ár®§ß‚Ç$GYWµ¨²ÀdŽö¹Ð±©äÜ6±[[Á¶{‡÷B›dïõ£+º +ÄÃ`)Grj‹»sÖ‘!3¥âªkN‚Ëbà¾é\5ë° 4{†ˆHVÑ#ᘘá°tà>x\QDùlp ª‰»ãgg¤Ÿ”GïXaXycVÇšó fÊÍp æ|Y{@S÷Æa8„ù¬L‹]1W²}ù]“ØèêqLëx_…ÌÙà ¯Á¥÷ÒCI™>ÁyµŽ5¹Rÿ\uqÞÔw“E‰ó¬• çÉ¥ ²º6ìÃ[ǼI‡)[~£]³œ ­±P¦›«ÀžJfÖ ˆc›)¤d©{Nµ]vP"V«ö‘ÊTG ªNPÓl»yioU ËÖžƒªm¤hŒáúÒxälQU*ÜôZQ}14#ò¦RîÝbãìn7J HW0èSùYX¼ú\NGPÒÔÇÌó Àhh¦A·À¡ßm×Áy'FgÞ»6,9áý…5M+{$¯…¤’dõÌSFw˜ޱù·ª ] !… E ¬#‹Ý*Õ„”K›ß•Bxfl}ˆ;Ð:‡¬èN†vûî]ÉÍÔ0”°~?2úbëH×ï£á¾o.æ6áí¥c±aÝ I±$6ÕCÂ#9ÛxÅakËôbõ¦swïDÒ‡^nþÀ²Ô[%v¬2Ø–ÈÖ>¡)ÛóŽ€%”¤Óê®#ÚŽ¯Ò»5€°‹™O5™C>~)ùÿáKéÞ™f´ úJiÝì!4k»*‚G–=(VW7Ìu±_¨Ø–À¤uFÆK…;^LùE|f¤iT³ÚrãxaÅ¡Õ/U8´‰^ŽŽtÇ’ÖÕ;É0®b3>`¸¥U¯Š/í÷M‰KO70Aý+QÙY'—KY–/C…a`1‹ê4·<^™;†'¼Ý˜“få…ëR˘…¼f$¬s­£ ÿá¹ÚÝ~{¶Ôü[Êõf ÿ?cï¶#Y¶d ³yY‘UÕÍ>Ý4ß„„çA#¾Šà‰$ýp¤æcø^ݽëáîóbÆÃ°¹|ù%2+¥¬¬ÈŒp_¾ÖœÓ̆ ãÚœŠédKôY´„Ç5Fyo„š:4/oÊ ÷`ÌÕì¤B‰·”RUŸÃhî ÉŠl•5²\µhê,rÛð UE|’CÏÈãïI ™5""¤k÷]’wŠ„Õ˜eºEèÂÜI²ýš±™Â* JÞŽú ¢˜^ø¸É)ÃÄÑg(V P)eÌΛ±U øÖÐÂT~õxhP ñðÉÇ }ÝÝim„˜Fã8&œ”˜0tih.H‘o$ΊhØLzaTx¨P\¢îqï@†¡J©Y+Æ4Ô`IÐ#’…+°¹¢¦ H<‰%'LS¤|¼cÚDJ'\‡3ÍJ m6MÂ1æ9j µ,{ÖŒu“Pq'Òçæ¸ô‘’’¦5 ¸f¸ð3û;[AœˆšDËÞ ‰ˆE£,f@”~ŒÚžau¥x1yjôƒW4ø,HÓP U2}LÔ".ðf0Á·\ñö^ã…2ZKwäº2"kcŽh[¤ÜáAM]%ì†ó‹>LM!… E¦9\V¯Â£°H¦ÛÑ"–ÁcŽÃY°ÔÑ]–œŽÁî²÷bß 2@sFѶÂo4y†Q8¬‡>‘ÀÛ`.)ɾ¤?C÷Unê,ÖkRdîóëÃEfoéä}Ò×"i´’P)–f¢ÑK°4jh¨VºÃï`ËêÒig ËÓXW» y8¦ [j<(|⊄n•ãŸ&p$P$§0 2àT ’ tëÖwcÊœ;r‰Òxb«“€(&™âá­H W¯Aá1Úc{†[ÇÛ)”0•#ÉŸWHVè5ü*%#•L±8K(…tê$…ÇW÷Yo ަÊ0Zy÷Á÷–¥êí‚R )‡€zضQƒ9ü4ÓV¢¡+˜#c´÷å| Œ‡Þ±YgC<1JiáËÍ1‘sPŠ ÿ÷?þÙó¶rÌ…y"c¡\+3¢‹Ú˜ó*Du)lºìZQn"}W±ã| ÄÄéMíÜÁÀô G%rêž®H°t– v² JŒÈú’¸‘›Æ¬sö ;ޏF‰²|›±Èº¤§ £MØÔ÷qbwጽhÌ´Pè€ÅõŽ¡¤å|÷ÎÈ0H²<ô„LvOQò€+™Z9þJ^›ï Ê òfXvÀ 8e&CÎ4^¥°ëÉR"ò ½]( D°"4½Ü+rÐ2$ꉎ1Ã^8Tóµ$XŸÐô¦pK1/c¨)DÃStºEaâ¼÷–¡ÉQŠì¶´¨…J‹š¢HWiŸ´Sž–䓹a†îZ F¤$g±,¡oClü=(˜TÐÌ'6lc l!¸jwdÁmˆ*žAg‚Ãõ¾Kjf¿BÒ’`YÝŒeôι„e ­™t„lÓâOI¿ì(„D¨åSX@&ªtÂViK}pÍ{ƒ>zê}BafŠ>°Oª™; •'¨±°e·•ÈN»¨¶ìAÌ£5k̘™ävå ”´nz1_`Û€éVbü5¤RqŒ.´sB¯¢ÉaOíPáÜEîœåÇ'£«cŠà”#zC &«9 i¢]+ ½zDúÀu(®½"IC–Š,Š··Ž9”FM’˜bhÆ„¡–  ]ªªöPÈ\F£’#ýÛ 5© “+ÍŽúeõr¤)´ÒÊ;Ŭ¿APÜqþ0¨RîÉCh®$Χ÷™CðÑÚÅ`V (HÒà9¼=`â=å˜Ð´ deáV– Ý•]‘ucÝì¶«ë¬1Ü9k’<ÅÌNÝm R8}cÓPJ†uÉJê ·î˜ðìÐbpÏœ*4®½.Œ„B9¢l 9Uô~EJ#8‚ójH…ši,(mÀRjQPK41¯P=Ã&ÓO™É¾œv¶/SÉÁ—r„š” YµNJOÿÏ\s!æ)qðd»Í¬²²§A bŠœ¨JBῲšü“v,êˆp‘fa1À"A7 ¥w ô 2°É©Qz„ÉLõÅ<œ1pGJ•¤'AR!€v`°ÞÊMŸ‘¶ÐšS4-=ا¤½øNÙÏhÓ1&…æ8ÄÁꃺ ©:‘7>8N‡¤íU[3Ýœq`÷[Hö ó!•‚Þ:9v+Ya¡W5§r° '¢“ñ‘’ÒoÊD®£S [‘P(½$µ§dú£»+jxÞ‹róvOHÖpzרcF|däP*ÉZhímŽìŠ­ás¦1YZ4¸R EœÞíÐü2X¿ò ‚På~eæ#aÕ=¼j„Åù˜‰ò®Nư»¢5¢A9 J>‘„YfÐbJ°H y9Æ*@jpp™–|å’Uä˜/^~×áÓ¿ÀŒ Ûøœë RbÈ‚JˆÄ‰Ñ}v‹Ž%¢þí'Å.V ‰»ÙC$e§:zÞ0FƒLÎZ§,A!Q1OÌ×Ê*J‹<Œ‚?ô=,æ(ÐmÀ†âã*û< ) ÃôhPLtŸpQh±ù D Y=Â6%th;ÍÓ€aÎŒkBïjjx{slÅQ6Á³š¤ÚܸE×Ö©H¸j¾€yÝ&‡ dPi_VZYq>{¨Ô³`VQt¤j0I1qçpK(‰ie»xøääT‰ì¤ô—ì®eoF!ñdcáÀ j¥I\;»×óÒã`Sú ý¸:N…®P)4Ô·wŽnv…ˆ"Ùê ÆP(,:ÿ²+ÑSí¦#ç-„Æbdcj£[cC0Üz´úå¯p©Âϯ}„ã±Cþé?üƒ« Ì$©kQ¤ZtÁ3 3EÇfX˜üê˜" HàÓ½“MÐaÑ ¢3ž(O*®ð½äŨU–Û‘îE½…²ù@k$Ö&èÒŠU[,ýÝ š„³,© ^@’î©TSÉpš‘‚ A7íÃÂ:zŒp¦5Ý{ž¤°d'êŸUÃø’¸}>pz›X6L+¸4Ck9äj&ªf¡ˆ@©ÁÊ„µÝèøÚ-fÔÃå.'£J"cD¤8Jf£°MÁ ½e1öC’hØQ+Ri»'Ÿw(IF±KI¿Õ}”¸§Ð2–àäEÑ;7QÕ!Òƒù@³ÖáL'gU8¨OQë¡J’C‡›¨c(먑‚„°“N%¬'‚íF²s¡,!ä@ú¯¢hB-äR5S˜¦” ÿü?ý½k2JìxŽ%N¨O–{(€¤àº,UA:Íì})å-òÞ"$*Õ2Â"Ͳ/7–ƒÅë «äµTsHÿÏÛÃñˆ*6¢ž`ê6ç$%éž7CAÜ—#£ãÄ$Õ]CHb’“T7M¥¼µ@¼˜“‡p³$øL8_fs:õ.…Cq”H#Øôdê!^Ór´M@îÞñ‰óÕ0¬b4ÞóM;ÞŠ¡n¤Œk&:6• ýjÀ¨(23!ªÒ>I¹Oê´©Ö)N¾™†D¨ê1º`tEÝf D>vݱš•ib¤½\«o“H±#=™Ñ[“ Ñ4ä<1gbêóÿ5+†Ç¡1õæØ"~£ÇÆQGÖ‰¼\[ pÅvªÌ Ò÷H7Ô3RsÕ¼¶AϘŠåP\'p² Ö]ÿü?þ/J†‹!‡ ¿‡¨ý$ÜjÆ×4ˆÅj•†¤(0bîa"¥Ê<ùZ9fÁçà~¨‹#äkXS ¸3ÅÑ<• Å‘yª!&Ýð…¬E0Ù Óažƒ—¢ !Ñî.hNÅ nÔ¶9¶5Œ*æX.¹F€YGÀL& jt¯PØz#Ò2Ì8ºXÁ¡¢¥Ú„Í-Ñ‹wB¾æøŠËE1gFQC-Ô,€šH™N‚gt€Rj¦0xJsèvwLS\;i3Ì& 5Ç,Dh äLž1&£c§JQŘÔë¥ÎqâÌG*qˆÎP ò§xx›¼¡Q’bxXg«! •ÕP`‘êR«K–õ0B¥½û­ìƒ‰í öpz£l’±Nî½3DëJ T5EŸI÷Ʀ}þãÿ𞔪ÖsÌì$zq¬È%ô[„pÝÉ~¤¤ i覧°ÍZX;}ðT‡-]¡ТT Öb8ìáWíN¨Â*‹œÇ!{s6vfgs2%‰Éǰýàtæ]C`"‰ùlô&®-ãÚIÞKšPª@%Þ-”ùµÉCCÖ%éé0ŠˆY $×F–¼áTs°„ªFµ Ì_&UCœ…ù€CfÇ´& Ã>/ m*~~süT;õU0‚ãÆ¦XÐ>"5Uqd™+§ò È`î`³·5.šÞ߃â!z€N´QGõá~®Y¯–°eK<åacwŸ…f¸ðúèÖnœޚ݇ùh%XëÃU‹…áÁIë\“Ñ6È™÷aŒÎº¤6ÉÿÏÿîï}®Nx(Ï­ô ¢¤gÀ)GªaÓBÀæËï›ÆV8MMáX*) uîRˆï…)x\¼/`̹ßLiê:»‘—Ì\*{ÓÚ€Tê”%T É’­¡Ãºz ²«“Suƒ´}"2Š,ט…È8wAïD#†M†‚•*+ÒÅìúRЗ˜}É  SÕD“Ëèƒvc57@èÌDåw ±³å©'(~Å ¾)R7ÅÇU1!ÎS1|ÛÂÖ!/û7 .4á2âÿÃ<''Žãò4fª4-ú'ØŠÑ8 )Ú‚>=¨Ä®µ‡ˆG “ ¹¤lÜöQÚ¬‰ÞîÀPø@¨D²rU‰A¦¤øžnœTŽÆ†—CÔGQþ¤ã‡&´kNl9¨H8KðíÖ€•’픨¤Í•ÃX™tòÿñ/ôÒ™AÖóèÎnžyƇc¨«s¾èñ[¤.c—Œ\’¤«¡D%»PѬ_£QY†—n•Sg‹= ÛÿÃNëCòáÑ„ô Ÿ,N§5F“ÉÅÐ&¡?±%A¤p¨ÊÔÂtÍÈÞ¥u¬h48c»ÁK3æ 4L©PJôB 8ihÅšqü7ë ‘R{‰LœÏ…&–J–„;`9ô$ §8ÌhU¬)&"¹;œ<¢’¦±8’ Râ0P‘‰”Âùç\¼ÏˆZ*(ñlM s$œ/}N'G©ÆëDŽˆ`܈ÎzMBŸéŸîŽj!T?[h1ó@Cú•“)ã&¬è;Cº‡£¾ =Hok6"S ÔY´ÊzES ò°8ȵ3§¯¡Ý‹û@Ô´|Ö)$†äÿøoÿÎK¦ÝÕ.¢³¨“Ãñª¤LS‚7ë¦7†‘n{ä!UÙö)¹} i‹A)63H^›º£RÜ(sß<œÈC¸±’Ê‘²†¬½ïrQ4€ H"V¤žŒœ¯Žv©x«Š·÷ \æ¤Lf.¼1†„v°1#Ÿ°Ó*)ïp¶™âr¥zßœ [r&"”ɉ””é(5Q&(ß´>º\.‚Þ*EµUpz³Û´åd*a!_¤Â¹`¸£Õy Ù@ë‚KÁ‚š [%@PP7êyMÀ$³àó2¡HÈ)!—` 'Á´„„>Ø=C– R ÎhzÞ¥P1CƱsöÜAÕ{ðÆ-¿3 ©œôž ØÕ­Ý9å`[d¸p®B¥1Ãå*ѤiN>ï²°Q-û@Ÿôká‰S ý1=ì0`„“þŸÿÁiŽ9(oôŠ}Ά’ùËÓÄÀÚD ‡‹ý ±³qE×^"”(¼ç:'øú ™(~,‘K‡Å–Ç|„GŒžÎ90ûF ŠDCƒôYH^Èú(½E¦9>ÏŠÏsÅÛ[½át¢½Wo¹(g[b T›)WmSj,)þõÇÇïï ×RcÌ÷óT49ÕˆÒÂ,'Žá¿ýF°à—¿qÀ¯¡,û ¿¦§({Bf@Ž¢ßCDBM YpéŠóÑÄÔ2ðþ6©H(=4‰ùïçF+‚­µN™DEhÈy.A-¤þˆ R I¡Ý6l¸â^öf)ü0bÜZ <†ÃX6ÖLG Jn(5Óå*$jExHS…>¸’wÔJc¶‰©Öê¾/:7ÕhÔ\cb$Ø’ ä``Î d C­™:T¾KÈÏ v##ÅQQÌ+bf=hâHÔ· “TùŽÕ‹¹ ‚uÑ?‰´‰ ¼…µ1a)‹ZEb3Ù.»C¡cnJ ¹ ÍÄÍë%"!Í1€KgÎ[+U>à4€©•„7}›ÐÚÐÏŠ>[-L-ò«}Ц™u=“»Äôª³ æWÌTë¨Rp##zƒˆùîO’é&æ$ºP”£À†Ö'¶Íð·«øOÿRðoÿªx«Jƒ*j¥½tͳdxïðJÕ“1Ì8ãò.Ž·2p:UüõwàóHÈè꘣q#l…0¬ ¼o ))þøU1[ÞèîäîØDpz››„ì©QT"ú ˆÒ¡9XY!RP5‡w¤ï0½˜FÒÈ\‚i;—ÞñoÍÛØ<­ŽRf¤sJ¾¹ï’¦î(3Ñf’ È ×X{Eå¤á? €MÌ1pi#„-ô2z3ä?H¾³F-i"WV@)¬t‰^ÚÒQ…Lßä8ÒEFL bo^»Ø¹évÑ˘¾ÍYDIÀs'-{Ìóщ’—_¸ —Œé ´rˆÆµé>žyÚïoô ì­£]r ŠÉ>¬ô.ö¡_ç¼@-9…R¼ «€§Š] ÇÍ¡Qõ> á¤åPÎÁ¤§É  Ÿ•~›!V Jzȵ›füü“᯿9.]C5ldÍ Í}Ÿç˜ƒ…¹Ï%ýªßUbûs’t—„ž#š¿n‚é $2EâáÀ)uØ{ÅLJbÌ‚·ÓÄV#°EØ»Q­8$m4õ%í›"5áÌИ|²9:ƒæ#NXVf†ø5Llèsž\ð7k¸|:ÚEpiiÌe"gÃõ’ÐzAÊ‚ŸÞ=¼©½6Lv{:ºPñ‘³M”²Jáɨ:TèWù¶bûµãܲ'Î,B‘1Ì*³2''¿e„Ö+áÊY!šCQœ¿êP„ÓÈi<ƒ]ÞžÒ ·Tf±}á~Iøü¤ÉI)@)¤jÐ"­†D(¹P)•Ý:ºÙ,nÅ5% \z+øã“:‹£f‡%Åï?ÌÚ•Tõ‹Ó®¸ ç9Ÿ[¬bˆB¥ìÀÖ;Nß ŸŸ?%ò  š U6× Ë·’‰1›dJE¦qTˆª–—KÂV ou’F ¢§£`÷‚ИfÒ†ye9\$ïoÌZÏ çë [ê¡P?‘•<%w¦6ßÞiúÇÀ¹±‘[cþÂÄ€ŠSUÈäüŽ/£×鹨%¡h3´ Q4Gj”‰‚j@ý3ƱÝš&~úÅÑß)aÄ–ŒázâdçÖ'.gà_~Ï€%l'gVQ/ŠÑ殤ØQkÆèXƒ§¸f³qˆ4=… kUl’!ÿôßÿ'e¡ L' ÑGÈÕ»Ò.q4[Ó=¨ñ{E±$;i\Â'ŒÊ‹d1¤±‘7¢,Ñà Ã(¥O~”¢E»Y™o…r“ŒØ,|<2‰fÑB <¼û¨Lß»c Jæ—”P7z÷ò˜œHÔuÚ%£ÖbÏ3@Ù5»°„1å€û5cŽŠ··Ž­’ Ë9ðè sâ}¡ÓQ´…]e¨ã÷„_§-Á[mx·®ˆ B¡Cë„ÊEg(“6-2˜«ûi=\q>'´®øö6±¥Ž\©')ÁÄPƒG΃Kd ÁÖ]¡Ó#¥ g‚".!$îˆÔÝÓ:ZS|þ±!'àým`+#XÅÁœ’`V‡Åj7L[ 5lÍî¤.£M]‚kK¤ì8!ß÷°U2æ0ô«#— Çâ‚\7êBÊJo*÷.è)²ü_ÿþï} E™ S#£ˆ™&éƒ4Æ-h¢fƒ1ΰG!ޥ༻ùâJå±õP…§tŽÄ ÿI§Ðt ¨°£]\Øý|s”„àquÔJÜŒè' ¨IL"SyJR'+¡ ²‰»Ñm+“"iâÄþ˵'|^59ÞN¦f¨Çü‡ùDM µL||füñ‘±Õ‰”®È¥Äà™ Ð/p&¼½"MBõn3Š ™}ÎW6 ioL5”ý©$¤·„¦ O÷¬ðÙ™ŠŽM̨Ì_Ї½VZV )ðº»gE5cJQŒË V˜Jˆ;3jxˆÙe¤÷q^õ:Äz˜±|~:úHH˜LwRÀý4éš.O™ÛÔê‚ú[BÌâ:ÃÑ ŠËUqéŠë%ã/ïW”h–(6ÑA1Üõ Lè1ŒdÏë„ê„üoÿõæX„À„ð˜(iñgVQwDS…‘kj/ºä‹Ã¥‡Ó3ºæ2BT.ÅÀ’£ Ùy[Ig&¨®1Z¯b˜"h è­E· 8Ù¦’|7¦Â1kr¦ å I†/ÈÒšjüö{…Y©N•½†Th|î~ýHWüüÖY4Íè“bc V ;ðù{†[FÞHÃÞêRœôývj^m§‰Svô]¦>VØè<•Dw+!«áÜ2þú+ Ì·:pÚè±’s&¦è7–€† ‰…”¦OG.Ø¿¦8'`ôELÙPÃË/ìƒÔ)°Á:uÚ !¼Ê4dhPÌyß& ê#ê‘ËP0Ü“…INÆ¥'Œî¸6Š;¼B“A)¤~€]ÑT‚±•Bé3Ô‚3àóZqýt üònt˜cìî¤W•RéZMrN"æ,ú÷qv8ƒá+ƾº–†ãr´µ`†R8ÜN¬ÛæAáÜ8‡è©LˆÕ'!Á‚âÍÊ‚NGŸTô‚¢,Ò5Íèmø®W$®ÄÙc*Quñ{×î#ãrH*xÛ §ÒXGEµFîú¢íŠ I×ëbŠ¡§‚`2[€•tMÝ0=£uÎùÏ”\JU¤4ç{_¯‰ºÀ¤¼í>d¯j4Wy´l›£œ|çlùœ¸œéƒ1§¢]³sÓçœBÃw.BLš¶“CaªÑ$…9i§€]ˆf/þ˜/¹ÙœŠ£nŠë5ã:”^-áU5k?` Ÿ©ìƒuÔ Ê© ÖŽÓkË9ç³âóâhMÉ”̧‡ÇG00TéqãlxO§d,m-k>ÎôVyc*Ÿ…–èU‘Žc3tÓ†#Ÿý©sjðRV!Lô€ ?ðc–%Ø@vgVò`Zó©l‰7'߃ÉiÑSYÜ/8ßT‚Ÿ€ooT"¼vJé\.ŽùeéK"ä—Â~xŽ˜÷PEsÃ—Dfn ¨5Üz=æï1é®ç•hÚ˜#Ö4SHÛØ5Ža.ê-uüü­à I$MdŸØJG1‡Ýe1‡ã}ûDÉïøý’ؼì3¤{ÂýIÖ!3л‡Ì+…ŒZ²¸9t§—\à'|üfhWv°‰ôÐúÎ÷ËiQõ¹ÙÆÎ]É-Ë1Å(²{Ø»xÈä„®€RuÄfˆ“KF瘜Nôæ¸ *ª'‰yŒ$è3,Ý‚G—KF-%c·®¡Ú>¤MqúÉqúYðùAîù“¼³÷Í‘l²f èYÅ¡9 3CÃ-#ÚQ=c;þR;>ÏŠ?Î@›Tçß,èÁÏ*”f2Ém䟾Qm†a4ÁpzÄ¥LȶòòD–éœ"¿¤ÕÚ0n3ê@ɔ۱êâdzp7 ] ÂO´é”m¦ÅA€˜‘ë“"?N¡©ªÑl3É&.£à·sÁ– ï…Ϋb†1%×µLJO w_(OÙœ&RšÁ7Põ[Ç:)̯øé'vãÏNµM)ßi!«¯º¤+3²üåoÙ™z¹+ÎÍ1gE.Žš8 5Œ^q½6œÞd·ªžnHNiþ©ƒ³0R‘Dp“©©PÞÝp¾c²Cœsœ #"'ê”tö¹4Ó ”:gÀ´‚ÑoBUEo@ï¼åŠÑŠ .Sðëïo@R&HRëg¤AùæfŽ$%æY˜Vª†Ip°RÊ@ö )4%üôKoLÃõ“Ây³åÓ`—红®@«Â­òÞ#xG3¬ ÀpÚsú¤ÐÆedÙp9¬“mFz~þõ·ÁMà)QÅ/%Ž'ÆÌALú@“¢¤ºN5RIѳòŸ¬%¦×60ŒŠ‡)f?RfÍ¢tK¡dž‚‰*QD‡ˆ~þ‰ƒ2 Í`Š¢AðäC¼XÂÇ9á$ßÞ7ªr†ý´‘Ësª,ÒÈØû6Ó׫`¶uÙáÇÞ‰ö”‚}Ö¬§‚?΂ϋA§"תÒúÚgDQG Ö-ùJ§ÇIýÈ8à ôè@̈*f¤:àÈ”22f ‡æèÆ wÌ^éÒÓ€"F%Ÿa¿æ4 qƒfFa3Ãlœ‘˜ãæîj&¦aÍ Zë˜]Pë†1­ŽIÐà|V¼×†œ4ñ@ezØiSa†¼¥0©A(Î0硘I+è>£1²C€ŒëuºaL¤¯,MÌF–þÙÒYf¿mDZüF¨Y©î®R1ÐcF=ŒÈœ ýÉ !Š>¬óP¬É )¦<<»'¸®7ŽBLšôñÄ:eA¹RÑ:((7Røm+J2äêK[2¦ÿ&fˆ:äÄǬØáM‚)ŠË'acÎIÊ<üV39Äú¨ì×L¦qi:$ØàKdPÜI¹q6^sލÕAN]J8Ÿ sl•*²ìPƒ>ï8$vûíF'ôk:1¦c0fŵ‘9žkÁÓ;Ó²ÓŽ»T؉¨ÓØ3éRå±vƒdú¦My 3±æ\ ’ƒ‘|‡Z¡LK˜KάW€¦1ÑHLI Å¢ÐNAÉpW\†)¡Ç Ÿn0¯8óFжÄôÈh–¡à 8¥zF\Œ¸4çI,•‰¢y·p>¥„d6 KB<è)ƒEœ*²§^3ür:ÃÞ ~ûØðÛo¿¼µh\ä`o ss eÃÿ÷/Ô¨†)š'a%E„£"zM‚ßû;þõÅß¿Qfl„ì+$*˜…à3¡VMŸ4óäþYp¹Z@Õ:H­©UØ`T`t£ò®JS aË6£þÐ¥B4ŸfHYƒ.nôWÀµ¢ç×Sš´ˆ7›uÎMÅFòؽÏç« '8mbPˆÅì[ô04ÄÁ4M€ Nº[CE 4Q·@µ<ô¯8YͲ;§Š ÔÉiÁQ(·ò7¡ÓzÅš† ÎcÂ¥¢7AÅÄ–&r~Ú53›.¸†Θdñ$wqèdZTg& [$ó›'üŠl‰æai½ Ê ýrrT%!ÁcÖ€³ EÃ*€_¾ ªÎÍL ñãåÃíl ^{Æõœñ_þrAÊNWZ-³j̉¤‹„¿•ÿ8f0fÁÊ´µÐ‡1„Ó€Wǵ¥]·ØÃ‹¤cœñ§ÊH’ÛØlJ ¹ÙîènøøÈø¼f|Û:êTõU|kÚ›v¡GŒlL´^0Ó✵RÉ~6§§ºNxKÙ3f%réþ‰QYÂdÓJÇ·Ÿ ŸŸ‚1 r6üÍß§ÓDI ‘æE¨†vÞðy&:™àHeP=ËgTz¿ü4‘Jä—Š‘»-I™…Ûpà C™pŸä4%YöÈœòâ$GŠ‘Qß]C9vË´«¤P(Êâ^ÌP4“‰&Ñ·e²¢ï›ã}›LÏ,Ek"™ar¼—ò;뤄ëô vÊ……µÐYêê š{@7 UŸh—@Ó@N½' $¨+å3%Æ£1á%!eà§Èu¯3Pƒ Faq²z/£â÷ÏŠŸßR¼6ÓØg±YBÐzpC vë8ØÒš iضsüŽó9`Û0 â¼]5§b(ÇÓŽ¿bb’Ù­à‡{ãP¸¢»ãÜ3ŠrÖªÕ«!oçÇ´àÒP»\'&N¸^gvÓE·Š}ø¤oNÞåDö8@Ri»„w¼&r§„È¢jŠÈ€ÝÙê[øö-aÚ•Î[5…÷ öQ\3z¨ü~Îø×¿ Š:~ùiâ­UJŒÜŽÎÒçÍ£ƒRBÆtjÐ>âF3AƒØ¤k|1N6Q.¾ Õ€|ƒ2CuL`¸âz  ‰>åbÌœ‘”sÜï%X¿KL"4«¦ç6E í$Áà –—zEGMáë *dlžGÂÇ…&3YCŽ¥P}y"Îá<í"f\–döö˜!Tc“N›(ª€7¦§ËÊN¿Oè ø»Ÿ/ä"…6WN|ˆcЗsx¾[!—B K û‰`ô)•ÄÍw‚-×ËÜuÈ´9r§ Â4•®¹€ÖIM4u²!Щ8b†„KW|~ò‰ |{›„ó¥ ž:4Ç$ ¨¬!’1FÁ¥‘;—2ðíÔPYÅh4&fxËHåÄ´Ü;òI¡8ÿÎ)ÐÝ.F+¢ªÉýO<#%E-3F©÷ÅÔŽÂׄˆ?>Ÿ·÷sˆHÄl¦Sç 5eŽ@§ÖBZ…Es露— ÖÙT¨pSN~1iPŠÞRñäB>½qz³ŸEÉÑ›Sä¸Õ7Š`P¸[¢Þᆟó_)òc„⎆„•Ášb4Ç©^ñV&~yoМ1lcú %zPjN˜Mh˜ô¿ÿ7áð¨9EÒ;ÙPÂ7Ã-$;™ X²1Ð@_°K.Z¼ì ag–ºL-#'!'j˜ì‚Ø •ŠQÇØm& ¼s`®@Xw 4ô‚—ï:bô’˜„ûUIŽ’(—ï.N òq†é®¶Ò†Ò›b†o,(Õ£¶R£U£ajÁES¤â;•ÅÛ4æ°<ç…Ê.¶K4š¨Å»¸Zs’ë:dF±&ªÐ6›©€O…§ð? ÉMìä}¶ŸõNâF^Æa"šR¸žFc΂Б¦›g†MÃ9´§4æl(KšsX-'¿‰w@0lI5ÔN»Ö²ºÿŠÖ&RŒ;ÃSÌ™üͱä"}fáwŽÕ¥èž6¤<OôLÜSÊP·1EʈHe¡b÷Õ£`ôýòn{›dgºæZ“†Ýw' P‰Švf±«ú\dÃ,Ø•P˜})_”ÝZå$_ §§U~ÞtëøÎ\(a–ÏDu¸@ÂoiצnU4‡¤Aƒ‰›‚.o¡=&š‘V§ÕRlš°ø EÆm„²KÈïdcvÂãSÐBjAËO9N@÷]û|‰gtnéyÄ>Õ›oE0c%HŸ<@(b!É1§Üæ\z€!ƒ. aÕ”±Ëò8è#§XIJ³ëãFcç¿×Md1¦º4"íÔ.¦ì>2Ãî—(Ų±1#Äê½_i÷'%Tê—°Ó@¶9rÚÁcê&2LAÅQOŒ³@ÇtA»6üÚçqÂÁ?ü²áT/ì IZ˜Â43­H•ð´É®yRÀ}†ú4äi±S=€_Y(ó Ò.s ba´öNù!¤evÃØÂºE(d ¸åñîT'ñ©¸€S}.i×Ö¢ø†rOÚm€ÝIKp%d g.|CHIɪ±‡mh:Û4¥™Šs[“†¶‹b"¢œf O…[Mªfää”mÕTYwl"ptjÛÆ XJ¤‘kPÜ&4c·Sð4(y²FYƒP¨º è-[ Ÿ‘³Ç¨yÂìŒT8æL!W¢ ¢t¾²È£³¢äI§â?¶R¹H¥GZ&E!"HF;öN¢¯#1£î€¢qÎE%ƒ©`C÷µ°˜Ü° 3¹ï=M¬÷˜²9çHyx˜´+…24£ "æÔÃRq””°½› b4L$äÝÆ³B¡é¶H”2ЇÓc„`˜°`D äŠ\Ší§6ÝwXÍϱ—v<½¯€f d:?‰‡[Bl1¯îÑ‘œr/ýBbàÅÓˆùô˜i÷…|¢:¡|v†C—IÌŒœ®B*»³áÂÐá]îW9Ì;ÇdGÂ#"gáô‰mË(É‚š5K0˜Ö±÷]št"{Ž\9[<¡·˜rK„UI@ •ŒgE¸gyœ;K¬”|IÆèÈ©µèÔ˜qP¥,t@®Œö¢aµ`\è£[èV±hƒÄKMD« W§&$Frmz8Õ Ì2®Íp=£ƒ€–TcÌê8Uà§-#CöF§Ù :Pl!ƒ”z  ”o„² BkwÝ—1%[dŒêSEA@^VJ£]Ñ&}Pƨè¤XøfB0I,ììÆîZ&¡—µh1t0Ë{Ðÿõ¿úÏ}Äêš&oœ"¤jÀBo ªM¬âQÈEô%…/ 1y6cóÅfóLÿð \¤œÅvY[„H±}Dšw—ÒE¾K™ NŸŽ ¿üDÖbbZcc96ùš>DGƒó…¨«¨ÑeKü:„óÌo²C)eñ€œ9¦%|šhQì‘ .åÃU×-«‡ÐÕ`œ5 è6U²ÜL'±å,FJ(9Qã–…ݤŒªç*Ô‹²0(J¤äS:<ã²?0.Œ%¤)=.\/—{Xï)ë¯óeìZi%uÚ-¸ K§Ç¡5ÔrÆä›;SmºyÑODÓD‰¢ÞôÐcNC é¨?…Üí‚ôÍ\À#ôÁ¦Íð—÷ÝZCô&8—jdc’êb‘¶‡Ý;÷X+{çkeÊ‹æ¬!Ä,1¸Tc .€kw­‡ ÒO;­á§Åtˆ…þjðZ+-‹ž¤,Ö´DñM{faÏŽ¾IXlÅ @LÑC]ožb$!+Ä''ð‚ê€p°ZCJ®)LãgtýÙðÜod~1‡¦ÌºHXC©0Åá0©óƒ„f±>m%R·]Py™êœ¿æ×=ì¼çRb`,íÌiF¡LÏt̳÷8ÉEÈ‘fÁkzØy¨(z[Ž¿ÁО,ÌÝV3r7¤ “#6SëFsO:ÎRsù[á=›ÊFžÅÁ'²Ä°-æI°§›6ºé lYåë ÈãÚÛ HŠÞ3Æ•=¬eU{Àø#Çó$½T뀦Ê(3ƒ23)Õ:Ö¡~÷IJ@Ç UBÝ3ph{ý”ß¶€aXX"„ZO9º¹bgž ,à [§UÂR9.B&i&œŒH”z®ëêö°9ˆøåû¤™ï›LwéÑpl‚ÂÓÄ–|Ï3iÛì¤Ê8áëi†>uÏÓÍ9Ÿ-º\¨8Q™ÓrÑ¥ Ž_$híÜ4là $^€p2.‡jøR|Çšy_ж4y'Þ"¼‡kÒn†Q(û.@G,©Æj¦.õôR(³£ñÙKÊQd“«qŠšÓâB~—Eó º. ERƒK }Fã" V™ÎhhÆé댪\d?xp¾²v"E‹ý«ig ä”iL4¦ À2jÔ»?_¡¸\½ÖoÃq9+Äs¨Ñ‡@HÒÍ ~BóûnÔ)fô1¸…Ûoü$ÜòÙ†]À /q2GØÕàò@BÕb²Ù¦™‹«²cPß^¨’oÒ ôŠàLKà9 FcÁ¸¤[t5$]ögÆ ²†‚·:y8­%|Î`¥.ª²Ä””ÏøaºQ‹,êaÒ¢· Ë—)ìu(nÇá°¡1I“N›@ŠM¬…JÚõ¡fŒ1Ó^0½„ nÂX Ë[ÔbK÷8˜%Nê>©"Ë 1Œ†˜«XìÜP6QBï ‘’ÈïU^µDEOú5£. H7½äc¨MÉ\º‘á;B0[ŸŒ^ jŸ#&=y¡Q`ð{ÌÉèKõ_È)«í©>ôËâz9_ J|{#T+{> Žä j½Mf$NO*ÎÓks²)R¤ÃZu÷£YÎÉùÿù; T ÀÐôÆœ¹¡£¢ TM€ ôvAèÔ ”ŠõÝ@=ü=PQÑÐþ4-Ì‚+CCÃݯ|¢DzÜþ²|{¯øèŸû¿Ôrû±Î¿ûö­¢·†ÖZj¼‚ã ßâ=;.*ÞëDðñÑø¥ h}½+¯#Åý³u¥ÜÞüþ.`ÿD@¼"J­è ¼ŽZã›z¼GÝ_¤7>Þ€÷ZÑã{[÷¤¢ãº¿7ßs ÔŠÖî®çø«õõôx¥ŸµßÀ÷:>ãç€oP;?GïñœKüÙ¿¿ ¢ïŸùá®T²¿¿U ·Ÿõ~ |ô¸ÏøV€¿öãzà{}~òÏï] øëËmýÜ®ëÊgW+ &>¯qå{B¦x6ÊŸì¸ÿo¿­†¸;½Ýþî°6·¯Ý-r췥ſ6n»Žýë}sß²àézz<ƆÞû¾°Ö»¶õ½åv³ù°züFÇþm?îß½£õõÚ‡ûÒ︾½cÿ0¯~õõóíðj¼´¶ÿýú´øWWêºïëïVíã—­==º//íðÄö ¸?‹kàðsýá<[Ÿ¢Þ}_<ƒöbm¬ƒ¡¨·ÏÛ^\áã†Ý×Â~‹; ÊÝõ®ëáfºÛäõùß|=÷õ¬p?Ô^]èÃêíp‘m_'ýá­_E†XÃ÷ÿÒot{8wk6¾x¼–ÑìÇkõöáÛþ>mGkaßô‹«?\7ÖzÝÛ»½:Hî¾=¼v[׿Ëa!öµÛ«ÝmõççUêÚ‡H¸¯n^¼Ïßsü²¼>&Qê«mùŇØpxúó°?¿|Y¯sÿ¸¾ïÞân¶ûë.µ@û~‡ûáñ´ý´C"îßO_¯T¤çó÷ÃÒùÞIWžÀëï½=àýì7³÷×ÏñŸû ןžIßӼLJµÕãõõÛ†ƒ ÆÆiè{ðx>púas?Ó}<L›êþg±én¨·ÛóY·÷9Ë!mÇ'Ø_E‘þrôÃAQ º}w/|w¾Ü#åaù=|–W/ð*Â=„ÞÛŸívݽuè1Y~ ½¯„ñUN{óÊ}Îu¿QúWŸøa1¿81¿ê‡uÜ_­ÑÉZ Síµèzÿâøûr”y_yx*Ç.wµÌã~zÂôïÞ«öp¥m߯ÕéO9.ÄçLúélýV»ô/ºú2(“Ê©NyqÃûÑãî¼yºEývÆÝ¿Jù*øü¹èu¿yZŒhç o÷—¼§Mý.'|X¥N¥µžúÓùÓŸ·Ò^Ü”ãMîÏÁ«ü‰¨¿¨kîò¼¥?]ÝÃk¾çý=¿_è _§·íîó>?ÈöUZÒ°Ëïe[åÅÆýNÓWÖÀ‚Þ‡‡öãöêî’p;eŠÜ8êûC8~•Ǿ~ý×ã9<åé³”WÉÁs®ûâî"å=|ær+ñ ¾whñÃÔ¯ÖF~"õpíåqsô¯ê£×‡eïýð<\ÿ$ IDAT›þ«ýâ¯J\N}ˆµ?.æzl¬Ž¯~ä"ùê */J¥òÅaq¼ÿåG'CÚiE/BM)¯?jÇÒ¢Ð×ÂéO(ÃÓk•²g#/Óšþê{@{?*À_ ? 9÷UFy‘à•§k)¤­±ñÊ— ã©xïØÓ¾¯Ä×Åö—®Üþ¿ü0‘ÿÎÃÐK¹}œØÄý®ŽÐ<ŽuD_`ÕÓf8.Ò¯½}--äöîÿñǺKùËk°|g“,°J¿¨Zö©/Þ¿¡=ävÇ4ëXE•»뱈./w}±ÆÊžôô»¿?Yå) í?Zõö Ž›£?FˆÇ|ïß‹;ýnß7ž°Ê÷rˆ~_¿ó ëã‘û¢°n?.¯ïÀŽr\„±ñJy]aØ—éÛã¹ñð\J¹¿ÀûÃu¥êýp¯ï«ôÞ_×»ý{ÿíTúzaT†½C ë-BT¼€cëí›úZ<¥Ž·¯‡öÜ·Á¾Aê#ŒûÌe¨8RCÚsúÛy?…û"Ç”¼ü©–õ1”Bìñµ{ukú¡gq¿ÚC¬|v‹¨?@lå1ë:|Þc¸)/A‡d}¼ÒGi9¾ç¡¸9Ö l^µ/a†=:•Ö-±)Ky¨Ÿîaëãû–—PÅ#"TžŽ—½¾þ}ld¿§õõ7”õaJùòzú«Èù"³®ûM*¯û.@ð²n?¡mòz Í•§Xþˆ¼z瑽ߗХ<—w;¢_^¥e‡“¦q2ôc‰’|i÷æYŽTûÆ=.”{ôú¶™ú ¾ôÜѼ\p{,4¿¸÷ ß³êŸX”{¤ê‡üæVG®Ex‹:÷¬ Õúê4¾£}….¾ÆÈ9{YËï¡â%÷­ßƒ3ý%ÔôÔØ{ˆ `ÍwLÿô1^ï—ØñΕÇþ¹{ßiòþæqCϨò¢÷¢€¾¿¹”W͸þ]u<‡”«»ßE”rk|—ÏuŸ^£àÝžXlÔ»N|yJôWí«¯z<åm+¯‹ÚÙìt›W »<6pËú#|ýø¸Ú]Ír¨ÿöô­¼ìyì—ý¸Gô¯Ý!W·~„Æod¥XõáVÖµH=!O°êáÿ»Å€g.Í]Ñöx’>µMó¶òܽ8œdG˜öX ÷‡ÆÛý'º‡¬Ëñ=Ê1ò=öiÊCjÙ_žVå«”øÐb©¥Üew­ÞºsýGpîqMìõFyj¤ÝoÖ~øø¯zoýøRiXÇŸÿõõ:*¯(I/°ä»ze§’—G`joÂ<¦t}ÿÆ»ªïVƒ”±üXD½ž2è_·Ä^µsËóIƒþ˜¹¯‹ïO¡?…ì[qß_Å«‡çWJ9T2ßW…^‰T± ý ’¸5?_òíʾèÛ±'ôb}ñ!—e´?ÞçXÞíAìßácÝž÷LÌWíª‡gÓèßë/–¯r»GžüÝÁ±ÃÇåXï=–Àýá]›¡ß ]¤ÏIY¿»[ýîä¯({úóÔ),¯S‘rãýj¾ wùÐ{?ŒU=ÿÇçPîR˜Z^¤ OÝÈ‹«>.”{tî;¡áQ*¯.³ÜÕZx¹6<ö^¾ý0¦Ý3^^ÿ‹ÖPïx 8Ýï †1ˆo¨Ã ½âÅ”¸ÏúºÃÚ“p_â8¤ª/¶Ky€_û!ö§&Òý&mÏÈayµûáïûBnÇâÿqûMîKþÍéè/X¡ÇîþñA½$àõ×§ésãíHÐŒ4kͽìHÖW/×ïªUÖ½H//A†—^ÇS¯èA/O}‡ò´’û—àËqÃ×»{Q÷x?Ê»dS¾^ûEç©z¨…uÇ¡Æ^ Á‹"½¯:ù+í¨k üç{y:MöîZ{´ª7Y¹‡W_°èå!è/ûGϰbyU9Ý8BQw¬ÍùÜ ~¸så¹p¿kî?Ô^í«{Øn½„Õ¶¼ja,˜·ÉGÆõmü™äWŽ4Ÿ<ê«ú²¼HÊSþ1Eëí¹~) |ÇsÑõ„¿f |´ôœ‡é®²ïïŸöïÁöÅ×í%ìúeN{ÀCcDy¤nµ”»r»ý±ˆ~ìB•Cž_z5/¢F;t­ús/+Ã^PJÿ΃/?8 €¯ÇË /ÒîÑ®G`â5,z›(|ˆåkŠÆ±¯R¿ú`/úåGîWû~×8.OLyh¾ô}ÌâO±àé‰åÜÚ]«{Á·nî[ðÒª‘^õ^¿ÞJåñA–{4÷î½;¹ÊN3^›éx—C½Ña÷1w?bÃý‘çuÖÃ.-_B¤xY©= |?`ö/ÿ¹½`©µ‡0PÝ¥<¥ïSÊBÖïj·»Mö__ôgz{¨úÃ=~øìía­”?“†}™‰Ü§U·ç÷ÃRçÖ'kÇR{jö(`žú ½õ—ó!íé«#'éUvþì·”ï£ A+·±Ù}SôòãÅØï£òcr´ˆ˜õPŒ×—¡6v¿©™<,ªWq¶wOüŽG ˜û†Øççí¾Ýë7ñ–•¶þ¢ÑUVS0f+Ê+;îÛòþ˧u=¹íGpHy¾ïCyÃ]—¸ÞZî£q?0xû œ»4鎼±á îÌ~ú~ 4P áUêYþ$ÔÎÛ¯¶Æ#K§½¨ƒêÓõÿÿ•}Ë’$·’+­ÌÀEisÿÿ?O-ˆÍ]T ÀQ=;#©Õ]™ɇ;βÞ7›Mµ>7Wì…ùöafqÁ8fGÓó¹¬p¼y;Pn”™²AsX€…ܳyñfÂ9Ï }Ï£ cnÊGÑ÷üBË…A)XJ¡ó SNì•}ÊáæES×/À<˜ RvÖ…'î,:A¿Å¡[·Š¤$-©¹òøšŸÁªuÁMgב™¡Sùì´VÌé9V0瘨{0WÛ®Èݱ½(ÿ‚zol¬øÀ©Å³wö‰ ôÖ.ã/á_Ìð܇*ëô#Àû @Aƒ\×ÀCBV Èø¬,Iƒî$D”’£¢€{)cð‘Q ¸BÝÌR³‰yò½PD—ÕÎ)‘'E±ÔXÍ1ÿ;¨öoܘžøw‹N”*¥ú.Ag_bñB¯+ê·—ÞF±Ö_Tá¼þGØè(JCu•ª6Ðìzém†D%TŠ-ª3¶5Ï (›Ï¿çÓ9üh¢49CŠu$‘Ö?ÁˆÁs»Þ‰lS*3 Oy-×(‡F7 À즈 ªàQ!d7ŸFnú9ÿ†±¢)_Ú‘ñTü7%f©éûËh¦Y„{âÚf·~u…+`»Å·{¯\mç×W©HUœGV‹ÞôlòÓ2´0$i«ÒêM "%‘:·Ì3ø¢òãÅÁá†1Yg¸¥xpüƒxðJÊ:›oòSNDø!<ˆuö\‡¿Ð KŸSØ)ù̧4¾Åô*Û] þ¾™.uèVë)«¸ä´›z¦WÃKåžÂl'=Eì‹»yEiýˆ9m Ç*)S—"NùtjýQ'Éî h_ÀMâ€àDö< z þ3F_O¹y[Q̹óþØý[ZÎÒ1IÜkIY.J“»-Jo«úö¸g¥ÂPêS™ £ÏÂCÕÅ3`]ÿ‚ò^Ö ãí}=ä ÕnËi¢Õl3(„¸ß‚HÒYYž*EÔ齋¹Vû=@r¬6 À0¹¾•vE`mNŽÐÑ7P7»2™Ÿ¸†„}}F ­ÍÑú<ÿe#v£qMtÜFÍÞì&â)ÁÚ¾Žêør™“Ù1Ëo^Æ Ùïs·z ÌÎÅ+tag*öÇþúý÷uÃZ7Þ)Ô ÍÄ›¯”»7‡R«M)„T"ŽÝüÝŠNõ†\±"›/‡ +þ9Æà7 ü{r¢Ö¬¢re³ƒm^Ûd‚ UjL¾ö-ÍRoËôÛ¬š7B™»‡Z !æÿyàï2Ç@«wKcð8Ío&pÆ­ZfÌ=FmÈejðù™€X úÿ±šo¨Ùì¹uwV¼îøüùl©þóB$"¬äwþH#‰ËIIi:Ÿ^F¾¥âêw2ànì”^õÈ ™ LÄœÈJ¹•F½™i­»W1enÝŠ+¥/¿¿hšØ¿¦Íx„S¡ðf!ÿA••¬tí­Jx`¦‚Á+7àèúY¬Í´õKvÎý~çænàE÷jiÇݬ|½±“û3MÕÒLÿ­Âá!˜ð·þª¾Ú¬D:’”£1!)#å4³1Lxû­ x÷çÃG£æVÌ·ÑÌëÏ‘ÈÔ[+îD¦:­« ]KÒ]Þö‰ !вÄhÐa?É|§g©ìö!Z Óá¢) üiæy8-e-Ë–€°ñv‰á¾RÇhJÉ#¸î¬r è#k!é ¡(ÓìºJyÑ9Ëüú|[üo^}û™p ‹c®à'8œ#9~~h¥$ÅÓ¶0étUñ‰‡ÃkƒV-TªmšØªŽ‹„¼±2ýù 2­”a0ç{Ttc´Š=6±×lÊ®¿Oþ1z Ò’„ü‡¿O†à̉¶CCLÍç ¯kNú®åÒëJÑX%“Ë!]àWWS­°KŒEî\€•gÉ×P±ÿáÒzŽ»+ ùO_²5ï1§Žûz½-‚Ù2¼wçuw­(»!>Íæ‡z÷àÒØPRiûz¶ˆïù“—ñ"È¡f—5”´ÿqèšôX\d{ÍY}«t¾ùdâ›LÛM¢‘I¾¸!Pc¼òYõÚS}FOùî‡tôN  2=[G8*Z¢»´ãP²›‡”(é–zÅí/— Ü­rðÎGS›\F«(î„;‚n«wŠ ”uièNx\ƒÕLýùé~¬ìÙž¤‹—ñå9ÌB”ãD]ÌÑÇpT½çç08D!Û]8ÛkodXW)r =Ùn”j•6ò÷×JÊgKH65¹X!r÷Ã Ï ^°W»œK8êcgŽUv <îò0+Ó á1òoòë÷ãuG ÊÓ9+;x)G‚ú?ÃU?¬‹2Æ^k¹]Vº¨çíÙëÏx¡À~ßƸW€öDû¢nhŠkÁíÕYQÿäã†Uƒs.NÁì}I?::à ´+vFœówæ=ת”a"¥ßˆÔèfë.Ç*+ˆ¿†jĆmÔ6†-Ž;ú¨ÚˆxNÞAüuÄ=ÐF:²j¿ á†dÞƒ}gVù´#1ÿF/ ÈŒÉÇý±Wç j^Ÿ«¢Ý´ÛÕW¹Ù”ÿó{r¶Ê8‰“Ó{~_œ~?ú™&ì!ÚD™qÜD<¤jzl[©ÁÒY¸Äëø„"rc’-Ýû:ßÑX­ÒËßo3­—ì«çæÂíÙæ °Â“ãGoñ­fÖtâ[^ü©1ÖuÏý¾UþζDR'5cÆï¹):•ðý(­ø×¿ö&}“µúîç8Èf ¼è ˆÌf4–âZ>¿fâ9&"“ذ·ïu&C­dÔA0Ã5§RxA6Q?g<ìÅþkY7„'Í´ ÐvŠ•’»àùj-B..£á>bGÔÎr{càÞaŒZ7õü@ºë%ÌS›hi-õ,¡ˆù~ÿ¶3ªùÝ|ý¿ùýbO>?läcþç eÜãˆ÷ ³åŽ—^³¼ ¤Þ_n Öù»•9VwC¼š‰E(·Fð.ÈiÈØ¶(ú`lŽüÀ²Äæxõ›h3}b\ùwLáYÇ yJËšÉÄê$rÓŒQTk¤GÍÝ0^öý×*àGý®æ¨ÚWÈBÈ8»|vPb¬ˆÿ&Æ×ÏøÙ Þßþ܆p-îÝD`{·4Uó Žãß=é™Ã@ð.7Ÿ¥ôJ²ELE+P*øÆÆû÷ë ãîâžDX’®K/—v¶[ã Y«‰NäH–’ žü‹+ziš4õ¶NnàvÜg•~¥Ï‹U;’]/&Ü/7JsHÓ\Ú<:•ëŸè˜½ñ¿ZOÔ¸§`ö䵜ÒËJ&Õ:›†­gü®ÑŸŠÕ°!†ÍI#€Ö%|4Á“ˆÎ¢üÉ0¨C|Œ—tÀ[@T]4)Ÿ›NDŸ¡¾K~×S“$5ûCo@ 1êæ£°žîs‡ÊœººÆP€‡bÞ݈}ßí‰xŒéþÚͅɾ+??í2IÈÕÍÚƒ”Â}5‚ú`¶ô(§âˆ¸^#ôš[EN—õ'Éê§›1ÄpŒ²Oöz;Kˆ¾_xÄlRNŒ$Ä-#<¸ T[Ô"³»4ìÝä›»¢Ý˜|nbètå98F5Þ~ÙdLG–<q|ûŒÍ§æËùq· þ¸:¢znÝŒöÀ{s8D9•¾úv T}T’3ñé k®rî*²qGÌyÇöËX/ähz]ݤeQð^À±IöCÛ9àÞ €õÖ×ò˜‚Ï{A*·r:°»û>«!@Ó_èȸ}:3pžÏB$br>Ú~UVªyhGpØsÕc­Ë-ƒ>¹%øœ¼S5Èúˆ½Ë;fEHD¬ÈØQì@ŠáH§ûa]£˜_€¶yy@ût3_ÏÚ0¢ ^ÂWªc<.èmb/¶Öùï2è\z‰”pŸù’Âî0=iQ7~UȆ7ÀÀa¶B™ 9Z9?›ÍTû®ìðÒ ïãFÃ¥ñˆÝäë\•ç8^¤ý}öu`'nFó̡׀¼Æc{gƒŒÈ?}Aÿ (=ÈsÍÍ2¶JqêïP m¥a 銛ü³BÃ1Äà!»qZÏdåD@²Þ—ÒoÀÜàˆ“J³=OP$ÜEG&£Á;O¥ùnŽZ¶¹+Q{s~$!$5Ô,S@c;RÞÊã½ » ±ò mì"ÖÖn¦ ONjPù±(9 ÷}ÿ¯(AÓ5NÑ.þ3ÿ½ß/Ù ýБ騡CËÖS Àºi“”c°ÐÞ%Àoþ€VK—Fxg‹1Ñs?Q~Â#6JWG}Ïä$JFÄVˆ„t>š Cã£q_íÙå3@NtÍO·ÎÍ»üFùÍ"\ûߟ)ħŸÂóê´ÝŠÆ‘ñ$¹œ9xAv±ã~†Ùé7êóéÙ.|,@ú¢0ÁŒ%OØ´F¾Õh¢³lJº·\ônÃNàå|„q5«ÄÂ93¬ðü4=Xö‡N¼¤Í’W]h¹ñž+å¨}×^¼óB(Š¡õÉt/ËçX$4{*„à/·ÈîArnWý™Ôé§ë?Ø”K×à›7¿¨5 B.eÿÓ\"êvd)§_ ²”åÁö؇XG4øHÿ.ûϸÀÇí6¿iN8WBÓeè£Öh‰4 '¦Øù$,|ÈŒs7oDË<ÃèŒØfÄ`œÀTÅ+˜‚‹–>öûÈb!¤ßÌ’^:Oã.NäA½v“3ØuNÒOã\Â[ a[O›åÁ9í<}+dȸ¦!Ænn¦Ü’]Ü«®}ô{3‹0$£Í«ç,ã&c´}œd-‰z¸9‹â(²å›Û}´ú KÙ*g«ÆÒ°:$Ö•òRŸ³Îû䯨éÓ2ì’e½ó1s¨MéªMúuKeFnúü-ºƒ’ÈdÅ,†¡N²*îÞ¢P,õt꽿p ˆêpa]4í¶$IÍ¢ú¸:f£UŒf ÝáG5µ¶@G0*/“7¹Þ>ݧ‹YÍíÆµ¤!ýþê›<ö—a¥æ :kËó°7pÿ1Œ{Bˆƒûœ9¨–îbîùÿõO­¶¶#Ë÷k·Û ÎÄ÷~í<‹Ó;Ò¤,¨ëxäx÷Ü ïO¶…¢íBø]Š`/¾ ìd\mÞiîòé˜qQñ¯ýp3úCî!©Ó ¤¿GRPÜ0­D»úT¡Tx[ÜòÈÌaZTïÒ.ûä"ŠíV^朳)_º ¼%׋ûÈŠÈF\ÉàΚöÃ0 dé-r@#=n]£âsÙtBL¹–2j’‘ʰ’§«Š‰ !?eÑ+iy‰UíÙÊžÙ2ªq¡˜5Uï IDAT}¡óžP.³¨Ž)üû3””—1Fõø'žHÊNÆLå‡Ì¬6Ç1¯îÏ®þu¿Ö>ÁÓ ní/ÑíLW!&=Ÿ|I°›±ðCŒŸ×Üòçœ4h…çö  ñº²§ƒ„GÀy+É}p+”%{ý)ÑPÂ38ã?þ‚Å%~ns ) “!§=7ŸBDè¯WEÂ~Ã>ˆ*ï Z±¹ºQÝßt^\¯’e¯>[¶ýâÏîñæõ^­´+Ÿý†ÿzöd°`e3Ûoj^ܶÙ\œ^½³0š3ùxß='†À”Ï—³†¦&—B…6ÛÞºÓ³¿ý—,BCÖ®~çlºSúð˜CÛñƒgÝÞ@ÄîR½¢)ê35È-vbÂZ>½EE'džѨw< Y¸× R|n ùÈñG}öN'^¥Ù}3·ÏMѯÓ4ê3XMAÄ\(ª"ŒVÁDºéØÓ,¢»êÚ!‡:úêö_!yçYIüú{Äî=¨¶p0WÆ{þŸhR¾ú×RN¹Ubp¹=g-’ÍöKc dOAKвJŽþ°ƒßØç{î…3šÏ‰l`´[ööZ•ðÛ)§;DzGùuõ¬›äË©Ûj ÚÅ4ÿâÔ—hÖâKë½ þ¡”@ûç Y·T–ÿƒqGIÀ=Ç%+-;Æ­›¿Îw¼¬ÑìT ÃŒg÷Éœ Hu¶Rb9ìÌ>a•Æô$N•©ãKCËÛ©(Òôî9.ñÀ…JA¹(dí穦à(b?«o7‡ W¡Ñ‘œwÞ ¾J#'Ò¤ —¼ì[VÏm«ü Ï r$_ãŸþrÛQÞл˜ŒÃx'9YP…5RäHcºåeEªü‘Bdï¤\cüü4¨Ǟͮ6>hö3°‘üéŸÅŒá jçœ×Ù¤‘qT sŠH2Wl÷âf8qlwJâ»"1uRŸfŸÇÂmuwÁ¼ŸòýXmX¾BnŸ˜ù˜ó—÷0[©4jX§qÏD¬¯aÌ"öUÚi;C4ìÅR¥––%¯0uû¶EÝîzç3.g!»ÆGº½|qoÛ/Ȭâ“£:’¨‡Ösãás ±e—Õ¡/±&kä@žØîl‡Èpž±â¾ ÄX÷ûy®Vj‰4þ{4¼ j4]l‰Z¼’츲RvŸ'nްöÙÑë”e”CAŽ"¤×ªL寺wW z]Êòå.eCð¬îDl†‰Äˆ Ž­Ž>'[é»õ[³^­P@{+rÌÿ`H—9¤§3¿8/Î2Ó¡6É¥‘Æ`^Úßtç†.Uú˜c¸,Øów~D£çóuaC ¬‡’ÛúÀ°ƒà}J0øú+õp%‹dÙÎAN“Ç”×9ü¿:¢*ÃŽ¶À£Ï?o Oe“p£Ú¬çÔ˜=®sDƒÎtŽãiùƒR¿E!|þìOHÑÅp-ç=vý„ðü…¹†,À.v³êH"óFºUåBN ®¸ÝܷͽHl Q‚%scB”³ÒɆLv"˜/Q^ØØÓËÒn†ý¤ŒêfFìû×óŽÅV”MÈœm¯ã‡ˆ]©QOõ܆Ó/ßrÎx’KƒF%EYrÎ¥|ºÛ¨~3À¡[ýlyRà”/›ÐÛžÃc±ógñùiúbµZ«ynŽÙ:g:š½’Hþ€Åtpê´ª²æg3Ìë71Ïù]8«¯ËÄ|l6vxBZ“™§?£ÖÛY'®–POÇþ-à ó¶'nyýr!F±bc,LÄ¡`>LÀhÝšÅx žÞ£ÑW=_ 9üʆ—EjmˆÖ]Å«ËL˜5oã§lÃJq1QËÆ5m׸f¯²N{_òÎyÉh_ÎéxÂ_0ð—~¨¸?‹ê'=Zä4¦ M|» yK&šc¯Ö[!¡ÈÄW9}ž²¥úýçl  eZ¹DoYÚ¤\¶‹(å1ˆÞÃ?ïÔ£;x#äIÍš‹±Q,ÐÑrÈÚia´ذP\QD~u2áÝ‚Âg]‰ÆQ?¢(ktaÌß;¬ü'P2ì&éSz÷f™y{H‰u“ÓN|¶Ÿ/£ÉÚYZ.yã7u†fµâ,v.¦Í‡ùM cH«Ž÷þSBœQ"'${UÜÄsï©‘4ㄾfœh •ÃÞHOsŸ¦M«k¶í&•ìtUI—µ? .RÇ ’p9I_ŽñeÈTHì3<—ï1 »Yïz* "ªŽ(±|eôOæÅ1ˆ"Óé>Æz¾~¨ ·Ä±šRí!.|³…/‰µ‚JY2Ô|;ÂÃ.ÆoþcùáuÒ¢ãÍ?_"/Zî)q¿5žÏËQM+,sZ@  ò}DÕ‡P}3Àèk~Èq3Ò_/Þ+á8TP®@ûTg ¸»üäú.ù¿¦¼Xá窎á-8I?ùøBðÅ­ï7ÈÓ|s#ïcŒnÞ¢zÎZ‰f££½‘ôË8Ú C©®Ô§épúÐL«’¢Xᯢ^bTµ0‚¢+ReA9j(f«’{Ô`17ñgÍ ˜pô¾ _†SËv EEñF3oÈœ©·'+ü9æøZ}Ä”·VUËêÈ*”ƒ*7Ï)]×>(C9/A¼±˜=Ì‹Ê3Ò+Önÿ ˆàØý·y$bf Ðªôk¨•8›ÿ³Hו%öùóéB…„ðª VgŽ•Ç ß ´üÊᇬŸcÔ÷¹ðwßÜ+FÁF }fC…!drÐj=¶ëà[À ²>-võ"€™%s#;Ó¾.Šá˜F̈SÀì]xÌ鱩¿FœžÆ%‰œ8ùuØh¼^`ÈM&ÈÀþyŽŒàzî~6{ÞÇ¥™l¤}6ÊSK¤ET"ØåOýÏ@1G¢BÅ /P¯îçÑv†1-ÛîÑaÃêt/û¶´Ó ñîPmVË儯œON¤Šo ]üy^F(P¹O0®ÅB‡?<@ôS3ø¨`äla^ùÖ«¸•%g4Æh˜`6eÛÏ j=«~úäp%m ˜! ÒR°qì#ë-”¨h/]<ÝiOÔ4·Œ{ÅTáî9¼$7P#Ñ|:#8`¤a5mÆù’øõW )j¾È¹a.vÞWäærÄsÊò—ÙR7Àç°[õÊ]û–©‡É´lŽ/•²—M@ÊÈÊ`¾öˆ»™’é”ñ)5ÿ(Fe±¯#TÈ,]Eº¨ \EŠ=Æÿü\ä ·|þóÅ 4°4fפW6pjÃ݆Øðø½ÕϵdÑ3›dŒ1nuî˜ ã´CAXz„½^ņ»¼šýMêþÈ£¢j7âmVHžÂGΞÀˆ­ñygPëþàÎÈfÇ’3¶.»lѤ ñï„íñF™¶ƒ/Ÿžó }"í}Ї¤XBCoµ/+= ˆàR“¸°‡Í-Š^6••`®7À´c«QnS²Ö8° ƒ±òÃ'#Q°”=F¢Œ[€«ö¬uò¸‹!‚Y·eï7Hÿ›æ§=ÿ…ë‚T“Ý .½ˆ¼·^`Û®aƹönfAÇ †A¸=×¾ÀŸÕ 0­jºîQ ~É-”@È(%˜À‹£Àk‰[ãáÚæªÂ´tØšùû83-Ì'‹‡:Æ(s÷§SΧ5Ž[u= ŒÑ!þX=‰÷.i¹ªÆÍþ\_- ÍâÑ4&Ëø;êã]œyJ•h˜FÝ\d¾ðUã–hˆ"²#?ØV!gshB{°¼9Ǭ¥mšÝbcE³âàÕ>‰-ɇãmÆ$A)Å$r7 KžºÑÌ›ô1Ч²!†2í{¼- ×=Z¬ 9•iÚ Û›T­¯Þn´‘¿Éh¾!Ê]™3ÂTÙÖ*P)Úñ,ø½ý–”‚Öd÷²RS>a7ftÐf¼³W„Pp„É'2"9Í×*88qÀWxz(: îe1 Oíµ²”›Û0"2ZÂEÅø¢Œ]`M–Ú_%ÛI·¤¸6yËôAsö×o-6å(oäÇkm]â×­œÝýFìHrDÞLùîÍ„Íùw.Ñ•m€ûýÍ©ßõ§•¨ËWÎ:¾´”†·dr¯ä†dž´¥Ô™«:tÀÊ{5'a7Šö=úÞT΢=§…½#® ~§Ø5$f¸Ô¡’P[Çûà-™„ãš%Y'Àø?þ…Bò^ª¾ý+³…y‹ô†ÐolûØŠ[ëïí¾¨frè QøÌņ‰‚*=þºÇ„™ »ïÉ ‡Ô¦U}i€„ØvÎÀh(³Øªhµèhzù"‡ E·ÕŒy’êlÂ\-L܆½„ ”¥/eÌ™¸Ø°¼ ¨lm€Inÿ«kâìÏt”bMË×_ÿž÷e϶Ñé_·â’o§Ö+ßÕ’Êÿ.'FI¯7T)S¼´Z£ó}õ@ ' "Ó²òâ¨8b#K«3ÖB…‰Y5WíLƒ²ŽôüÄ'b•Å}6!÷¤+á“@dåˆö[¶› ãbýÖ0{<Ê‹°ùé¹.îö t,±Ày9üUÇ¿Pöþu¬6Ü µ‡¾ÞohQRæsr»üVÓôµF@jwklj.µŒj>kc­!Î&"ïfØY7¡’:YÇ•¤bY0¡ Ùa,5$6*T±ZOŒ– ‘ìwnðèLfÆ—]õ´óà?±f,‡ÆYÁ3Iq6‚A¯–‰§­)òÞë·;þMu,|ÿ”Ù ¸£¤=·ÿ<yyU‡õ­ýHœ¥ÄpF“i/ÃL ÔO6L%|…܈M™¹Æ±ÏTøGÙŠo?¥5ê—™Çqü–±ÝàœØ>“€xÿ0FÈJ¹Ä÷â¼&•%¬W«¬Ž\qËà 9Ò<…1Žoòó\›¢ì½ü5¯ÛáÕˆ’büq¦¡òTÈyµ¤FÓ…Œ‡Yí¢Ð/燑{JŸÏ†‰ÜÔD¸ ¡.%ã䔡0nYrÿT-hྲv ¾~ó:ßQz sxŒ&·C^$ÐÆ9žæ!jJh=˜Þ0$¶k¢Zy\3¼¯‰IÄÕ8¡@ÄoÒüàŠf¥†”§Ç¤ãåvhœê5Ï1Yvlgü9ÆLXXQ7G•Ìø÷oÙñÿ…Î^1øÅ“Tfb¼d°y-ñ<÷ÿÉóÈ,sTÖ㕈>›ŸýF¨b·–iC¥Ýr‰×}6"2ÀGJ-žäÙA5õDuçì lkïÅ#Ÿ ¿ éIƒ¾Où0óªÙô¨F¤5Ú‚cõNëð)Mø7M„½ìw÷_µ!}½Ê¤—»¿“Ï-EJqíç»ùßZ…1¥ ‘4;¿9 VwÊ|êÞõÁBIQj&µ·”Î)}þ‚Æ«ÑãÙ`ÐþŽnq9éÖu,ÄQh¦Ì åWþþ4›$$ç(ölÀ½ª0÷ùÒU­Ë×÷‡rsä˂ߖ¢­¥­È=k©ú’}”ßßDaçM•>eŸ&~N' S¿îÊ—«K{>ǰUº2­Ìƒ@Ú‚B<¡N)€[ód(6ÒñpÁRXž‹eJÐ3Kº^'æçE=kà0.©Š&Ù8âBU?»R#žtvC쎶“Yö5F ‘ñ¢Ïd§P|YX³—†IæÚ˜ ›>FÛÖúG‰Yft9mÔ÷1›øÃõw¬3“>‡•Z-¼öxL5ÍA²·^Ê©i2¼fD&]Ô±l0pËG‡E±eùøZ'?Œæ»‹¶tê>;bdôILæÍel»zý4i?p-õÂ&g—G:äC”“ n¸'7’{ÆÐHMªm©ß{ròvÞº+M6’¬Põî³ãqÎEÅqfTß³½«^¿Ãƒb­5–èàßRZ1îqÑ/Ð5–èÄ$å øBFÜñ,Ê&3ùÔáA¶1Q©sœñˆóÏ‚Ÿ>$‹”¡"¤õÈoìlŽ»ˆÿ†Jh*A©Ÿ!e‡øï¾Æê}˜,$§ýÚüŒµPØóBL–F©÷v4« g‚O|òŒŒ«OZ5Å@2ôÆÙÿ¯–bg%ÙÜ$ìœêb˜g—4ñbã ±h °>åÅ\]ɧAº¼Ä;¶uB8n戺Њ}˜ºÁ# G¿é ð’²ÓT,]§ô KêáP ÞErfýÏÍÄîðˆSzwD„üºl¾ìÍUÁx2Ñ6ã€tü~±•ô..Ð,—è£Vƒ\ö‰Ì9”þµâüÞn|@—H`ovfÍd âLä¥nX)}ôùhK$´r‹Äã/Ø bjàÕvt»³ë3˜h<ÎáqXìÎ}…¥Œ{»³³ß´¸ä¢h@Øõ‘ýУœvÃÏèj|Œf^=úº¸Ó÷¬Å¨·;3}¥ÏÜl>ûh¦¸qÎk¦³bœüÖˆYMïÍü 7c˜ËŽ q‘'ÇÕ pùE†:ÞÄ!…}çŸ! Ö[g= _Âúg€ 7fѼ32¦Úo3›±H9þè6;‚õó^y$êɽýŒÉÑ”\}Ð^›=Ö3cŽýKý^vÙè¹Ú+Îe3Ió„xNYêZBÙðú>Ÿ/ õ@kjt=9»È‰œ¹>mžÉud<›ß/°¸„Z£Ò³[Žì5FYpj”;ßštÒ!¼iªð|Þo·õíÚ†ÿDyó²¦LËù+–^âä©ÔfÔ³”A@s•¹š*w'›Ló””ÄM‡‹3fK1¸²¿6^ì‡íj²®[ #¦*š‰4durÜ8p+úä¥}­_ôR䛤ÀGrÙÔ±dÔ!à¥nþýßsOãL¨s/.Û÷Gõ5]ž ‰b¢ÑÏ:z’@R—zq÷‡—§)ô 6— Û žß‘M»µ ZXGò‹ðµù0¸Íëš Ÿk5ïR‡*2"ªÐa{·e,ð!GE |÷ûVŸ%^^ì„YÂ%?6¯€+ͤ·ÍøÔʆâöÚæB’ Ḱé4¨Ïdz磂›×ÇÔÿn?ÿH¡*¸$¬³®ŒÕ=Ÿ¬%¶Ñ‡°È÷GÌf¸3ÐU©(*‡ 39þU~©õ„ ™·y&½‰ýÕnϹ‰Ecãï`DG´åë„ašj†ÑÖ…ŽfùY„5çãÉ× Ïß&¬ÑÎQ]³/ gHTYZSÛøjgíà (à×x:Õ³ú>ù)ýQOOÅSrZi±o1•4´u.Ò‡Çè|žý¶ö¾*•ÀUU¾EoÒ—W MAGV¤)õ{¯õ^nº”n‰¹µsáˆI¶îîÝÊUØ'#ßF‚¹¡Ýé1l¨è.fܲÃW’Iuñj§¨QƒBôµ>?!´¬¼ƒ£œp'wpT«O4>tÁH#*fP§Àõv0ªŠãÚIgð-çùn•ª)Œ„“Ô•MOÓ†Ê}v  Ý¦„ãxq©Q þÔYêKŒ2>Z¤ ž«WtÒWùÏZÿ ­*ÓœÆwI¨ ‚Á«Òn,ŒÑE™ÑC(ŸÍöœæú¡Î¬ ,'eå18̵zà–Jùy 8â•òÇšUF †ììð†@êóOª³dÁ²Ç‡ †—íÙœïƒ.F‘;áow‹82Ø´º\àWcêhZ1]Ì GùÙzCÂ5ÕD¢°¯Å)%J2tìØÑÎ5=‹{­gPŠŸð­@ M_V€xq „ÃÝ8¶ ^û”„€¡IªýMK ¥Ús:×O‰²\F‚¤XåËÖo P<±_e—!»‘f ö1.$î @nŠåR“¿è©D޾$ûd)òÏÇÁ‚tŒ¨Á“ c)»¶X\9yÛºX<¡µ¢eeÖ9Wû .¦íFl“ãj =J›"=’d–-£Ý9c”à£y¯Ï£¦Œ9²:ì6²a‹b¶Dn»Ù4ü{fãÎ_œù³4ího#¾Ä¸æ«ž2zz°7H·‹fœÇwd¬lÓŸ=À¥Îƒäë¹bMf Ãí+k._8f°»®åe±þ.¬™vH#ш9¡ì6Ñd¦M qÙ4G­š¸í|4Ñ”ø4•”«‹M´(åÿó%³=Rû‹+¸¤=:0z"÷…aï<‡GñÒ©ü omØê_õKµð:ðÎ76”£Q\o‚ÔïÿAfàÛÖ îݦ¼.r0—± !Üû”; e¡aÂksÔµ:3Òáã¾hMrʂإ×5k:~_Á¨ééR¯¸h@¼Méiž¿LëZôÒtè&ò»šÚ¦Ž|?vÿ¡ôû2Îáå÷R,?»í¨0oëLtAP|Á7·ÖÞpª€E™t,NªËúˆ9Z-£ùgñóå­UCu|“ /œb°’­Âr²ø}Õ߈nùù~GWøëÍZ2Un)VÐbýjÒ bÚJ&ŸR cD¹Ë–,TZj…Òz_dJ‹TC_ÆÞþú:M Û…ŸÒ=`t¶k&$ÃpËÿÊ HzUUYTç’?ÓvÜÄNúÅ>QdÝ|J‰îC”'Á«h™Â•œ ¿YŽüÜjUð>ÑÝä¶O!2C™Á¸µ««!sä -úf^Þ¯}‹±€'Èó‹ G5ÆUÉ­ZQ ‘~^£ PÕÈ‘àjý³N“Î^[¦¸º >ó3FC€±xýV*ú²¥ÉúÖÊxm$$&F/‹F] pÌù¤hŸù@c´q¡Û&±žàhÊ.4à}þø½åhžWNú ¹™!ª_hF¹Á]´ÀÎ#@Â¥º,ÔY`[fÕ´2Fã.wž~žF ˆRÚ¼¹IƒÔ.¡ IDAT¼¯Õ½ÿr‹1Q¦jv3$T<Ä˶ŠNÇFp–³G´2mƶ”tY}ìÜyz?¯ñ¿ßù€šÞoÙNf#LorÕÝóÇOß2‹]KdÐyÓ (BfßjÃÑÄ’°îp©|@ºÏMÃLn-ŠŽ{ ìCÒ5ÁR¥Ù÷2òYSHÇÅf¸Ž}Ý¿o‘¯'öËS…8n>ÃìdýlÒ‹º+³‹kòεŒ:=Vºp ›©€ž¾ {u±–Ó¿ÄCrrówžcâŠ|±f@Å-½Ÿ=zÜž0üÈIOu§‡¹¦œóD‘”ä‡#&¯™M,„,™ÃK£I2Žò)WÜv]¨Pc%5Š@'QGVYTñè/¹|VjÊ=Ç‹7o9h:j”MTW8Ž¢éð:” hK°šºqg]»Îz¡D·ÆÁ§LYôSÄÊÜŠç裛+«Y¶zvè YÏR6Êž;™½Ü28¶>èJæ0ñõ*†èÜc¾/Á®…Òã hÖ™ŸË}ÈZJ÷†âÅíЯnû¯ĵUˆ¥ˆ1œXÃEÿÇaq…‹ÈÑÊÏZ˜4ÛPÓsF,´S'É¥9ʬIew Ûy!däF)}J/Î ý„ùxÄ[ÜÎZäUáŽÂ&GIjàc~¾ ÖØhî µ<çŒZ7>ð/„;^è7¯„|ï Ðô,úÙ í‰Ä¦!v'‘nXÒ‡Þd[nuo—žŠò(ΆaóÐÅ\bÕÍó8›b“)á7ÎÕ²ÙU”Û¬@«6Ê£®Õæ@ÏY§Cz—ÞsåÃÞFÍðÒÓÔVQµq; à·=—¾ßÛA0š[…?ËñXŸwçe°ÃŸ7¤ß¨aBt#ô¶Ì/Dac?_ò͵72Š]à§:ŒçÎæ*éhÎ(Yåh.äϲYº)ë²WfxÌ`àãê&Ñdysëe•|¤¥·JgK*7Jdh7òm¸{ Õ°9§Rêuúª$ß¹F…ĵÜS9¸G™™ï1ä%³k+¥Ï@ö°,L-$rj@#éÐ.-€KÑCÇõð/7scøŒ©™uωƒÛ\p!“Ô×ùH9_MÔ/ @|Ð0†kÜÉêÎxD/L=”§¥T:‹LaSʈ®L%\¬nÐV¼–à§O(­•ns¦‚E$3St@j›:hJaãN8®6OÜ7Ðë¼i)õPõ%ç€.‡ÇÚéÚiú–ŽÌnác-à½õ×­æ£ù7¡1üz6• NvÛŒpZfŽ) h€½™«HbÖâ<8ò-ñZÝ~¶€—X£Úå´¥EQB†y6„¨Ã¹ö ©¤c•Úxh'BqMï¿0jDZ¶Âj–¸YN©ss–A+®{¥£ÿð EÏ#Õ/î,¸Áð>Té‹[9(§Ñ×hv•Ù锈/ÊâB…Ý–‡ìC9Ü¥ñÎnéw^WLx%å& ú^]Ÿ„ÓuäÆn[= ·7ðç½¹§,{Ø“,‹q'aqÔz8ö¥dPb ì© d–¦Fõ®ƒ€òLrUïš Dˆ‚ õî«äç=“I~fœvÀ¡Ôdp~>íQ‰¿Úýóß,'½Ýèi¦?8rWÔ;”ZZ|©æ»T˜J¦fg’µçD\Õ+1o«ýjëS¦e)(ö¢hæ¾r3‡£FZÀÎà!LÑ5ûëµÈôÓ }VÜò IJ!^øKmú[ÖQ¯"ñcRòÀXKNƒÿD^ ’ ˆ{{ç¢QzH(·Ä>2R2]Í×0™7H ã÷>ުخŠñ §<ʆKŠ/"<´ê}E;£Ìm¢§¡¯“4„œôîYr™m!ë6öq 8£ÝPPR#´•S[¿Z4“úì£Géuö¡(">°ÜzâÃ6Fp¥´&½‹áíMÌ«_ÜœCJ,”©ÐŸŸ¦ÃwCÐä0ÏúœÔ7³Õ= QFV6ÁlØ{3’8#¶;ó]b‹Q­œ+ aÏÔ73¢Ü;|Ž,V¸8„vÒ‹œî¡R Öƒ6]W¾þ(‘Æñ¥Á}Ùó‹}¦I4êé û^°%((i L_'ùù5–,õÂñÄ­ãç÷MÉN1#q¼´ #GY(úªšÛ²Õ[öOU`FŒ$ß»Qç¯REF5kâð@“×Íg‘V©j8ºöa>µ·ºi³( !0íIlŠ›m¢5Î,¸1[¾¸ÿî“·4±Ÿ÷øóZµÌdåøRŒ8£Ý•»$q¸×óYèJˆj CÊøO”Z<·ÎKyDžŒÝÊÕŠ¨Ç1-ÖÅc¹}ŒœÚ«åODymió3õdT^Ï[ªÒ™ñ ëiY>Å@úüwí.ó¢ýr&5äá0ž¼„Aǹa…}o0yË6oFGW“5Zn§öº&ùIéªçn§<[(¿¯ÑŒ xã « LO BêN}ziñˆ5m®-=yóM눽>M¯ô¯©´æ«g {á®kqê^Ôà -–Ö ª cqÞ÷7jMÈÊ™«v—, ª¿“"ò‰ˆ/`ém~yžÔŒÝæŸã”~x˜~Ðg«[“Æ’ê7‹–G2{‘u§ƒ]^ßÅG¶y6òJ{´÷Í[¨ë`w¯ÒôÖõª`Hè.«ã~é+«_xšM µÆþüÚÏišt#숶=ËriI5šÅ&f¬<Š$Æ%åÐQO‹®jˆÑáÒ”l^Êæ²)ea¹mú“ë¹96ßâ—h~zªÝ\>p•S˜ï'ó!YßV×øTr  Ze &;%)†õii^eijÞH<˜q4h`èMlê¼¾Š 2L‘öÌsƒf+"°ÔŒ*}N4#5©-vfçß™Â=)ö,åõªöòæ(óüññó¿‹!\Ó…42 ûc¡†¶W?ù(°A??ý¿q)M* cÏŽ®w›/Y%'s46©cȘ,Šë»@Äü Ý$=ð‚&Š 26DÀ÷?œ(,ÿ,ÕÊd×¹§ eŸMФZå'¿:.7!`“9ßÎRL)ˆ‹Ó²¦/ÓÇ{KÇ¢R5f—õXll/~’¬r‡{vß@I‘ÅhÛ²Ÿ‰rÆ›O#F>"R¼ïŠçÕ^ˆÙÇè9páBX7sßúg´£Ç;cÍ»1ÞZ핤Q¹{¸ûs­ß®Z±˜€z2ÁÜû¬£Ý}Ë&üæ%¿ÃXn%J˧ÄÒÄFøNÇtmMúد£Ùéç aù9ŒÙ{—d<ûp*„óS ¸*òZNiTç“Æ¿Ëü¤Úù6£«¼VNÿôWlÚ£Bágî%¢û…S7\1i¸—ŒÍ ‚¶Ÿ;ŠQZ„¢YôØ3Åî­.µ¬>ìœg•E°¯ÛÐ á_ R†qiŸä¨ŠkmÞŸ†}C•¤mÊQNðaÿëddÎþŸÄ(=Q­§“‡,w·dÊ¿¹…³;p)ÿPHÊf4µÚÑâFÍ Ÿ„bA¥"I*`„Æ“1c°îÒ¥Ù_É£ì@šï³Ï6¡VGðØd›¹Ziï0‰–:fúe§»“Cõºk6~É?9”Â|xSmûð êß lð¿˜èÏžåÙ»¬½±Ñû˜›& «¢qß߸ÈëGQø<ãÔ¯])+¨û÷óˆþsÃóæã.›®:»ßmåxá;øÖûÙ hzf£¦g­£7š2„6V¤æb-ã¥ããDR‹ q«1[Up¯Ë¡ÅØjævhQWÚ†ž…÷=•z 9ýz6ü„ŽžX Ñ5¬™å ï$.pòƒ®=¡9݆¬F©mÃÙc[tcõ3C:ªÑ6·ÏÚš"·@ZR‘ý‚¾º›Ä,¢&³–ûOK;ŠùÚW'‡‰opD æØüÍ¢®öÓ¦X =WÓ szMÆïv²”?öÕsO>–>„R¬–«ù)³Vh–9ù)ýR·YìXG*ZeqÎŒ ±Ñ]nÙ¾MBš¤&ÈÍÅ2š,u™ýÞ¡|…ÝÊLr‰@rêmJù4é®"2á¢<Ûy9Öh ´ãöÿªAíU=¢Ús ¡D¦ÏST<×s à%ïA®òéÞzj­ï¬Xù3×°„°ZçƦXaTÿ/yO‹•ûØ:¦u‘‰¬q)`9òÌÒëÍ–9ÀƒOÜnÖêе0å ‹>›ˆ ãåî9as]ßo>'æÏe¨n]rï¦ê¬‘|‚MY7‰¼èº”À_å]e 2{‚Š%Z8î}ª UaÒ0hQø5ÜïHYYnOÞ.‰Ï—8å6™žvëž½´iÌŒmS$I¾†ÏFVÙö/¡XÍÑÔ[ìÓ9•µoWn¦ßýcÓ3 ~3{ŸMä* ÙÓCÎ’ÛéÌr¾¥:¹%Ú…â¥Nbä¢7! ¡“„[ƒÅªÉs_·G›EçDâíÝh~Ø¢ þ¾HA8~Š<‹985@¤Åó!—Ü¥ý´äæAËËÏÙ𣊽>²‹iò”lê{£P{Ï&ìã©ÿ×pâR>ª 2"Þê©Ô J"kWq'‰p‰©[o4‰,ŒÖÝhKHës:Ãæ4Œ*ˆ’ܰ™?’Ÿ6Mz Èž³?uxP¬ú¤ÌêG´ÿ7‡…x^ ¿Äýå¸Mœò@NñbúOV´K”'eJP'=1ÇèE±¿ìÏ<]Je YêûD ˆôž‹Í`Ø‘¥<%ÿÏÒÓ ¾Í›t(þ5¶QÜ€ =w˜ÔcÆž‰n`ê†KF7i:‰Ð’§×Íã˜ù¬“Žù§™,ô +ÇŸHõ€'„9ŸE«ŽÔUvé¼Jó—d¢÷=E–N~¨Cò­Þ„‹n˜ Sûaס+tŽ{¡7Þ¿l6—;o›ˆq"¶#FûEbôž¾¶§8œÁÏ þR -o¸Ñ—‰A”晊Ã1¯“¨½ÙÐ×Aaí·u+Ð#7tÔRZÑ—ýQ=?h…q6ÆÅ²6x’“]‰Ræé1Qa>Þ¯¬ûßsݯÁÅ ôatÄÇì«™£Õ)A¯&Ë^³/ á[´…ÌmM#£*`Hðã ÏØSÄnÞîtY`K¹4›íÀØf¬×þ’󑇌“‰[ £Íö~÷}˜ˆÛ} _ä xD>ɸ )‹mó~ÞÁl7u¥V˜2²®Øœù†ççÖØ~ÂS±|ækØ.ëîˆÇHˈ‰.ݹ™÷J0Ž7še!‡dæ…èA‰_6A§ñ6s®›KT£¼¶üdøÝ~€€•×5 ¡„Ä32a$§M¦Æ2×ìSÚ ÜVÃ^Ûü¥´Lê2îš›º>£¢5ªÐ²Hð7Ö½Þì Ì,5ý 3íóÓ¿›]¯ß±È®ã«›.K’R ý0!3…jƒa-£Ÿ…ñCë­Î`N× 6!˜æE•ž¹Ð/5Æmòðv€ÕºŸM~ð¯©Ä°3¡nø£D+ÜÙ„—Pì(kÌÃÏ7,Žèl̤Uôè¸þˆžoº©­Üá:¨iÌå Ë)V7ýÖô+ˆ²l«7R‰0Œ|µ59’a-@»yf¥LâÍ "R]3>2ŸN×v™š‰Ò°‘9 ÆÚéI[ÙZ¸¤^nÏl¡÷ š§ÔL× ]œˆgûüûD]LglW¦3¿¹gsŽ^ÍkÌiÈ:YÜå¹G¹¶†¸°ÈJ¨qG‹ô) r; ’³M½W#ë«¡1Pô6õ³¡mtÍ"A³»YXêh3ˆ^Ãø£vfþFDµ„#Â:Gz‡ OCP¿AýªõgßíRAí ¥¯Ÿ¬·YH2Áè3®ÆÙ}À .ÎA’©/¸nò‘£ËúJ|Á•©} ·V38óÿüÐbÝMع8¦S†0Jš¡ÞåjEfÍÏFÿäDf©Wec`žÛ‚z‹Îú\²Ù9³ÝéjßXã}Ñ6ËÎdéLÔ+Uz/o7€±ß‘¬ß^D/?åy{š ÄMÓxy.!7TË6†Æ:|nŠ]4ÏqÄÍú\ŸMùå'Ã%¬ä⹚ãÞäa»û±‰ê¨Ñ½ª?2se Rá¶±±ÍÁ&@4ìôÔú¥ÞT0è¶5•žcp¡Ä˜Ùwn YG/…ªŒãÔ{"²ã¹o¯¢‹Æè$yVJ³ýNà³#OBLŽiŒzådåÀ2Ž¢ÏkŽˆ[ ocPè “œÑ{ãG“õ¿•+Vz³WúøÆtb0bhޤε®óYÔ3í¸UGš¹y‡È|>‹ª³yM²gW.ú1¤›î˜~"éäàXMišƒÛ¸UV¨lx4ÜsåîÓ¹w åíCú^ú6¨¤Z¹.#ç|Úïíeb)ŨٕŸCs©MñcI<|ˇ$'$g÷!Yb&š¢žäÍrëÌ)%å¨F ÁȳÎ*†c jhÒ“š E˜±s ŽQQÀ`û-„ß 9Gê¥5@Tcò³pñHÎÓ‹k\bZCŸÕ‘ÙômyÑÞU~Rª T0dY=:DJs›%‘òx⎳t•ž~ôfð?Œñý]ênv~âj^l櫆YuA±,(çÂÛPÔ2ž<^¿”¿ß!U©ÙÙ5o ÞÜœ¼YN‘®I÷à5Š¿n²Åt‹ smwˆñˆý[@, wñÑV ºÒÅ7³ wÆDßUO89‘?rûÅ{•wJ,WZWò5zAû wV”¾¹?ÅO8ýÐ<¤•Å>‰¯.óU/ڃܢ¥‚¬9ñÀ(€2 ŠÛhP3w}-›$Œ>–`ê×Ó ?¥ºsP6†›4èµ:ŒÙ —ŽÏ¢œ‰( j?ƒéΑ5A ŠçD§×Ðî¬ÿûsOIÕØ~-||e« )_ÛÏÑ';Ùw62åw'é÷~7ÛÍÅÈ\OºcZ†²ÑiÜ\§1€Â‘åëŠ dÌ;Ár‚Dˆ+:¤yXÄÈ8­lVÏ”C&ÙÌÞ‰#Op˜a6®|5'Kìi{RŒa Ý0›;D`¦å{ˆj ÇZ3#%(û’eqé,K‰¬°² ÷FócñgÉôT/*Ç(íÑBº£ý=o¯íÉu9¯ã¦ë˜ $ŸWz¼úDfó6¾æmlEeåpxΡö—ޱ%Ÿ/?Ì„»ot4,DFQî²°½¹mÄ|Êψ83=•! a„ ñŒãžd©¸i&K‰XÂ2ßÖb¶aÊ<%s®›aÍ0ÌÓ™¿³H=¼W6T¸·¾—õ묶ÿ,ËÀ›à–1JÛ®FÎpV­>}Íu^E}xaB³=’çb_挢ºóìÍÁÃÓPNTÉ ¯>Ê'IçQr¤ùϹ~ÖÏÏQ1ÿPb²5u÷ÒJ6øBNt3›–[m¾˜Xü*wDYÆUB3¢±ï;ê‘ú\š&pP,'î<ÅдÛóп} ɘ1õ‚®—GåËnðß=U½ú'!yóÌ2xšÁ‹<÷nÀ®EbZÎ< ®x¿付fÀÕ7~(oÄí{Ì"WbôÂòJlbb/þŸ†Ášú5ö¦•£G”«I£’Ø+Ê ]y°¸D&YY(\•^Pç}ðNd~\eLrߪaý6é°¸]ürÌûILJLB«ßñ£`¦|aœðªåPdbmÏmSÀ}H~£MÛÔ-Sg}Á|âØ¶¡7ŒûØeÙ< ü‘aøX‰O‡Â½¼pðw!îMŒšÍ§‹G"¯3–e¨ËnË}\Âs¼ÍÔ›lõÃ̤±ÝZ¾ê-+f£%ÆÈêF7.£¼ìkì˜Ö^ì&þûË)ÑÁ†ÖîÉaUÒP×aûVAÛùÚ6•µÑuri\Òî—r^ã×Eå fI©S¢Ûýr”Òqk¬îˆ*¦ÙÔaní6ÉÒ–Úrã?X~{‘y¤ú0pÞ5½ùæšD0Õ¬a{ë‚Á’®·Ú7fô„ÔM¬þíl˸”x1YÈ ’Ñ_@&ƒŽ›nÑrRƒ{¥´@“°ÌoVˆ!QÛ…W®S;IËðûê3F}Ý%Yì|_n¡ŒËÆe=Xqrhx\Å#Îw\Ž‚U½‰Ó‹a¨_[(”Í«£s—i+IX†KôˆX(bÛ$ýˆ²Òù‡kaŽQM ?à«•ñêy|)–ºà•š¼ÐÅÛïCnU®ÂÐïÄò ?V®ù)9ígC©ù‡'§1Ø I{ÒësXœlGÞZD¥Ñ±-Û(ï3ø &äãöà"š­¢É[žhœÞ‰Â#˜dC€:вðÚÜ/5ò˯·Ñuñ.²M=hãÛ£¨g/ëz~âÓƒ„íê´PÊÞí$Yl”â@|D“]—QÙd"¢âa&k# Ü¥!ÿÔ¹4`ÂeãÎΊ{øªéFv˜wØi¬Uñ<ƒwKäk 60ËmŽ2,¤¶©Àßÿ°ye{ß`:`òa¥éÞbüËí¨C-ËSÛTþÌœÖwÌá#Æ­¿õêDñSäøÍk®pX™Í’œïµöY§ÕΊp4nÃ1zV Ë{;ÀVfÀ¡á)Ï8ižÈØýÈn<;Üçèì{ö"˜µ`Å,÷×^ÕF´‹&ƒ”½GZþ ¥`@ß~ßvó0‡ª?7Õ½ånð&ˆÌÅ6lÔû¦9ÆàZå4ßÊ7j –’ºŠc<±vvC6××Úæ¬ùFj¢VÿNh¥3:Ú2……¥Z{^o¢N ¾VÃãŸúÑ^ò® %·’sê¶Ø&e4­žvz{èi–îï:èãÂÂÅ~dß1ËÚÊžg 7ÔZùs+NqE$=±ñÇÜÏ€²˜Ñ1Þ¦„xã}:MÙøLÖ”±™ ƒ‚jÑ‘d&]³3^Ø’y&IŸïgÇå\82³0mOr'Ž!Üü~á§Ÿº)5/Fî)Ðë\ÑqWXˆ¹Ãj¯ítýè}™J¸¨J¯A—åŒþyÛ#`^íCRA ¤DçwãtÑvg|ÕÕ4ȸ6Ó>#>/åø^ À .HJÃ1æÀøï!íZu/ZIÐóÞYy7øž¸Òeí°ö òz…Ê©eÆ'»›GöŸŸQ2×ÐÔ[= ?·®{v‰+r…†]ˆ›¼±’”S­¢¶y‹8Ũ¹Þßè‘0;ì¶eéOËwõ#>eéܧ$K) ‹s>†hlHWX|á»ö(â,_ø‰êZ¿~íý÷á‡fî‹Fj²Äuqâ‚ÍEï‘e¬ëõüð~ž¯.Cþ:ßÅîA–× GÒÜ4_Œõº#ÄÑYuô?86m$:ròƒõv8=pöÍÄÖ’´éQöWð y­ž©÷Q×»ïÓ¼`óEÕð­¥JS¯ròÖù¨T³ºGWÊ_Ž_€c¯¼5ä¡û¬ÌÅJŠç·ô”¿y»˜ØyWàXlÔ¥.Ï__3ºÈÕD† ¦)šZuÞ»^h76gIDATëõç¥é3>öµ•>'ݺ)ڎųXo§}%ÎíÆ}º É+?Æ0!&‡ÊÔO?ƒD¨ü[wr5¡N¦,%²2Ä@ "÷y^k±ãÍœî`ÓŒ•K£Ÿ¡;sôÔ3ÿ‘ ÒÅMÉ ñéÎÒí‰1þÇð”œÃMЛì룡øÈ‹`‹…C%Úõt0º¬+pÉ—{Ó`æ ÂqIšbÛ$B6_ÖœØáë7ÛýÄë?÷½8„hg—Ý·SzɸiÆ+TäÚ3™3´õ¨1¼¤r F†9zAá胄!£˜PKïÑŒ\Gà>sŽ~µÒ¾¥´¡«·ŒÅžO߀Χä\cŒÿ÷Y ÓÜø§ñI¾ÆX½y\D™±àþl@Å%ñQ©¾Ùñ`¸ãI:˜k}îûÔ†éÕÝÝVçôY9ЬNHØó&Ìóïïÿ_á³j„óìžó×ïÁ‚t´¬®ìîãø¾¢¹OJ›¨ì'­£IGƶïz¡Ü^YÞôs|)J,¹ÂçnŠ‚AœûÙ1±V~ÖÿJSÉuÏr¼2èåƒð”8Úóu˜ÿìNpž’"áå‰ÀçÛ¨é²ÌRFЙ‰N›ÃØpQkQÝ ›ÏE飫üVÎ5O§‹¢³{‹-á¸'øFŒ6ëO¥‡„ò¤å™Ì—VQ¯ý=Ê;;¢~·QäæÌ6ê°×à9/äolµ‚É5: üóÞ¾z$¯€Ö­}ã==t6»µø$ep Ûå.Ðà{ÿ3 õ¹Q“†©ö¨Œ/•1 ëè ìFê¯ÄÝ1&ºªŸÖÚls( zâ[Ì3匪S:ÜÈ^êv2â½âJö¢-Ò mJ1½o—‡À(NO‹oU©[Ñ©HeªJ÷ãæ·ûjO¶ÛýVƒ6ȵ7}¢¦Þe¦cpÙ ±±µ/ïýÇG¼—z&…sýCŸÜÃx$o1k¼µ+Eë²pÛÔåÝ7X©Wû^Ñ<à½lc¬yðåpšqM1qãƒ3–Ðe¦£8;v¨UH‘½0tÙûéŠRo7âñå}ýlê°¦Œi.ÊGâÑ)ÙÉûÑ  üwDÆ7ºïNs+EusRR¿µåÖº6_?Y™N|ÞYw!"°¥”“²G½vÌÌTjmÔíÌ+~ ¥Ñ_µ³êp %š|l8N+6k2.‚O‰=sÉrPGÚdfqÁø ÕѾ¿ ;Yû†“ŸËkÎkÍÿõëW4GÞîkí©Ïñ!O*bÀ4½bÆ/û¢šª:8§mkP—Íü¨ ëþëüùœŒ\An#‡ËÛ1O±ðÆÿýmõ(Ò:¥–m¹Ì–ÃEŒ·Sg…›»æ“Ô´Ùì½Ø6ÜÿÈÏüöã[;lxj…Ç }èÖ`#lósOvÒVf¼£«>ŽŠå‹ÿ¾Ú²ôæå[˜cLŒ¯çÍëU89ZÝ4á%u\DaS‚6«8r—èê{çpäÊÍ{Z¤çÝ5#ÒS}¦ê`µì‘:pYøÔˆzÉWñ÷}ý¬ß&v¥êtÖÇ:;Ï[ÊÓDUXÍfq­–ýFi2ù”D•k–›mÉ}Cˆ>µÁ.q—ß’ý—ηè”1ºZð¿Oi·–£lkóužÜüìëyã»K3Úðü‚"Д\w›Ãñ6srNªBiéè'ª7 //„+±Ù™ <5<Žcà ½T(¥d:eQwÃùNy5ªžeاìy6öýd.yµŒ?(ž÷Á.\¢-®ûTÄÓ‹53 'ßvŽ1çÀçCþ‡Ï©÷eotöPœi„L¯CÉ¡““(Š%gH'üwiʨpjQVN¥Q¥ù‚,¾Š`XþK á¨&T~CðsjîGl_ßœµjŽæ`JÙ:~ŠhÊÜ03l®h&yÃ<ëpžnØrÉ7š=›c­"£ß˸çµÊÒXkË`üPòR÷k¨¼]…óó°æï?ãùÕBZTkHò¾ãÒš»äz…ó®W dŠq³[r‚Ïz‹èg0Y„…Ô D(K{¼H=æjÞùþ¦{B°‘–K€ÉÒ&©nagFãœiX?뜈ZF®,>ÍåDîJÇV((èÉ1òøãÓûŒ ˜çRïµÚ1¢ë ðœÂó,±ùY„Ï-R+×Y_íŸ.ꃮ>ðeKÚMÎò¼}ÚOÙ2úɽ1§l þñÎñÇ Ý|ϱ‹¾4,Œ†P÷ë^¦>Û³{¶øõFY/‹Œ¬ÔsÅOxAÝ5'-61‡z9ÏßërÊÏoìB–-¼y)øÞØê‹<m `ä<Í—>r†uŒ°k}J¼EÆ!ðhÌWSÇÿÃ.á°ñëUÞåÇ?ê•NžL‰{kÍ_H×Þ »_ˇD>Ï…·¯ÞœÂ5ù]òµÿ[QVžº½|dL{T²ÎP`vgÆ´+ßšÃßc?C|Á¡yÏ&œÆpɆš·ËzŽþh‹c žG¸ß¡–O‰ØÀ—ÓÞÚkŒµøŒÿ>ô8kÓ>Ë—ûùì]£¿ÿÜïy>£úø19Ê,ýÑjN÷+^½ü(Ã>,_òsÙf/%t—©=/Fh¢}_ ñ¬c„Îûï²8Ë+ŸRkùå¿þŶãï!Ê(Ìèî=Ö9\u hÊD‰ŠL cHHü?õKÌwÔŸöÄÚ„Í·\xöYBõ/¾?7ÌÙóTú-¯ßß§¯=ÛŸy¹™›_Æk¿zG45ó‘/ÜÀ£7g(͹ϰŒ5ÆÿN.þIEND®B`‚./chessx-1.3.2/data/themes/boards/lanta.png000644 000765 000024 00000311406 12424233642 020204 0ustar00nistaff000000 000000 ‰PNG  IHDR @;üw$iCCPICC Profile8…UßoÛT>‰oR¤? XG‡ŠÅ¯US[¹­ÆI“¥íJ¥éØ*$ä:7‰©Û鶪O{7ü@ÙH§kk?ì<Ê»øÎí¾kktüqóÝ‹mÇ6°nÆ¶ÂøØ¯±-ümR;`zŠ–¡Êðv x#=\Ó% ëoàYÐÚRÚ±£¥êùÐ#&Á?È>ÌÒ¹áЪþ¢þ©n¨_¨Ôß;j„;¦$}*}+ý(}'}/ýLŠtYº"ý$]•¾‘.9»ï½Ÿ%Ø{¯_aÝŠ]hÕkŸ5'SNÊ{äå”ü¼ü²<°¹_“§ä½ðì öÍ ý½t ³jMµ{-ñ4%ׯTÅ„«tYÛŸ“¦R6ÈÆØô#§v\œå–Šx:žŠ'H‰ï‹OÄÇâ3·ž¼ø^ø&°¦õþ“0::àm,L%È3â:qVEô t›ÐÍ]~ߢI«vÖ6ÊWÙ¯ª¯) |ʸ2]ÕG‡Í4Ïå(6w¸½Â‹£$¾ƒ"ŽèAÞû¾EvÝ mî[D‡ÿÂ;ëVh[¨}íõ¿Ú†ðN|æ3¢‹õº½âç£Hä‘S:°ßûéKâÝt·Ñx€÷UÏ'D;7ÿ®7;_"ÿÑeó?Yqxl+@IDATx<ÝË’dI·Øõ‘y¯ªîþZç"!$™ 3 Œ 0LÏÁ3€#†ð\Ìy0 3¤£sÎw鮪¼FFFðÿ­%¯ÎŽÛÞîË×}-_î{óÿ¯ÿÃùâb»œÞOËõÕ~9¼žíõõ°\í÷Ëãáy>_\^,çóiÙn/–«®?œ–Ýf»Ü^^.ߟ^–Ëe¿|º½Z~{}®Ÿ«eÙo—·ãiyÛ»ïÜû÷å½1.6çåzw±œŽosïiñ[c^lfœmŸ¯wûe9ês»\î7Ëáí¸4ìôóøòºÜ^ß,ÏO¯Ëæb×}ý° žíz¿þ÷ÁÕÕËéõ¸üôùnÙmwËÿû÷\ÞOËåíõòøØ½]ñ~<.¯ o‡æ´¼Ÿ—§×÷åËÍu×lfŽ›Ífyß—‹ÆØ_n—}cþ‡üÓrPÛྻ¾Z>ÝÝ.]¶O‡æy\~ùé®®š{ó>žÎÁ|ÕýËÛá}ùÃÏŸ–‡ç§ÁçÕ~·\ö=]¼—%ø·½,Ýw ûŸnL|yùýk_.ƒÛcp}>D³ó² ——õÆ#|¿=Ïx½ -Ÿ^Þ–ûÆß£ç÷×år· î®hŒ·~ß„¯]87¯:ãøß)zûêüoÇÃŒÑp@[BÇòíé~võ» wï˾~7õóïœö§ðr³¼¼¿/ÏÁºD«ãÛfyì7°Þ]]újÙ½žê­¿M¸?5Ñïß_æ‚Èׯÿ –Þ„H#/ÇåØà¡¾Áv!ù}y=¼.çm×8/½¿ˆHï½?6øq·‰·úÜdžß$¢÷ÝÝõe÷‡ÀpäoSㄺ g C“ ;Ó?D\Æd]rß–Ãq»<5ዘs’·ýv ¾·70¾ r.€ï~\þÝ¿ÿ‡{µ\ßÞ5áÝòzY~ÿíÛr{{¹œêéþ«ýÍrµ»[~º÷z¹üå·ÇÃØ~`Ä€ïÃ$2¸úoþõ? ¡á"X·z{³\^Fˆ·—ç5AÜEÌMplÞÞá— ëk,¿i¿|Þ//¯¯]ášZ¨÷V!}‹÷á§—å)¢=<.ÿþ¿Å$Ëç»›å1Â_'ìÇqJXŽižÎg´¨¯†Zn¯®»LÇå!_/–Ãûn¹¹¹Y^#Ð |=̱õá½ùà…m̵}‡sý‡ï¡Ñy9‡ç‹ú¾ ž‹p>o÷oªè°ôtZ‚p9Ú‹=¬-_¿=.ÿ—ïáímù×ÿâ—å¾þ7ÿÇÿø_Ÿ¿|º‹!¸Ö`£éb1-XÒ ›,)H²—Í;Ö…uISõ>*6¢£uÿæ”–ßuý{Ì|:¿.WWé”þýñq¹lûî;u÷í›Ì!†8†˜›ë]Û¥-ÞBhø=MØDOÇ&ñõuùÇïÏË·°¹Ü/_Òh¿ÿeŒsèúc¡i7Øiö4íÍÕò%ÂýåÛ·å1$ܹOkÜô{cÄдÔ>Ãï²½Ù.W$1O"¥½MœTÈ»èýýÝÅòÛׇ´íÅ0Ô)BÕ×{£áGƒœúLS"è’uÙ7Ès0>k²é~ׯxì’§ãòôüÚ˜Ëò¯þæ×å5¡í‚åÿô[Âx^~IH¶Ý³Mˆ÷Í™6{ ®÷ƹLÃ]\&,§„¼û>ß'DuD ©²ççU`>ÝZ®ï®–¿ûã·å*šÓã!¦Žf‡Øwïáw÷¡™ýþrX-Ù>†¸ ºšï+MT»nÜßÿ>x¾b!‚‰ö5åxsà%¦¼©ÿ¿ûÇ?'@ÏËñ/ÿ:¼„³}Wlôôâx?¦6„g`eÄsŒ´ß_…°ó0¤ ^%ñ$Ó5Å´W bH&ÞG„Ûôþ˜ÖÚ4‚Ý]Ö/ÊÆPXx›‰¤ùΙ ¬Ör@Ì”‰9Ÿê¥ß^3Ÿð”™ÙÃÝU:/Mrq¾M€Hï4æóÝ]^×s-x.ëÿ¢.?]Ý,ŸþÉÕòëÏwËKqÝÔÞƒé\ßW4,© ˆ/?®/³jƒCy«ÿ}ˆy4‡I×ÇóëÛòs]ưá9Ðûß0mį¯}~M;\ÃõåUnNTÙfš›vŽa4–"Ë4Ä #á:œõwŸ]ÿÓL]Ì{f|IÓm/i¤±®ÞÓlÜ .B_5þf¹ÏõÀØ1ó[8a^ 2øË?¤å¿§IïÓܧüîw]ïu32¹ÓF8 ±¾c¬“k²bðIYÑ–ð—ŸÒˆ´výSTÌ0í‹©Y‚mÜøåî2kóërÙ=Ü…@_vÿUœx<ÆÆ×O> ÇBÔqG{…è¦;š ¡û¾ÿ§Vµù=ö;G8?‘èQ?1ýN=3Ýïéõ Ih¨lÌóyŽ9ö9=Ljðš”Õy|Áš¡Éå„ ª÷ûñSÿ#1;oÁ±‘I$Ÿä˜-£•w }s³_꜆¥9^“âºËTæ á„·\…}óˆÉ©s¾ìE°c˜#F><-¯/…ùôým´ŒO¯Ýûtý¤°Kc½,§üÇ»4­Ùiœ4Mpjnïi}ðñ™oöiþóÛry°w MÆÿ>åÂ`(ø§±Þ‚÷þ&"½$øWiÑÓ*ì€k7¹é³~S#-ªG¯÷%& ¹VË„n>^žÞ–ï/|U¤¤1Âõ²eßgÖãªy1ÇÜ$€ù§lhr>hïŸ|àÜ™ý&F ~Œ÷zŸgŸÍ¿1êÿýßóO·1û.;}Ú6œüô©`!‰É¥ 9ÂÁl©×çXˆt-9­çsv-´˜mrR±"„bëC‚¦cÚ¨ê~JDó>f&š þ|yıvÒ\/Yw ´ú ¸ñÏMpÓ¤9é»K’¼[n÷—áô˜_±O‹$™Õ½ç&’6‡ÆlìMÛGhûòú4†ýúý}ù'¿\f~Ïi£´YÚéð@a«a†ÿ”¯ò\s—Ö¿ºÈwK#c"}ÓhäŒö„ˆ¤ Ç5I±ÂWÚ»I^%Ü‘·ëðn3ñ§+Lþ8 ™]µX] qß_ÎˆÄ ã5‡úf‰°¬Ô6Mû[A“q0« 'L NÇÜvÛ״ܸ@Ã<Û… d0U Ž5è%Á˳òû¬Š1SÌ' ÅÂmƒ|BD¬a2.ÖÓëKtˆÞµ-âöVð…“)”XghËŠÁÙе>¸D‡5JH_“BþOÑcħ[wÝÄ©§®›Vÿ¾Iß)é0›”O”Äôõå.&Dx N³˜4ÿ¦:œÞßåÿ½¼ÖW@^4öÍu&&vÒha¦!¡#ÌëFp”[õÅýHï5–ëgìò.ž¨žÛÌ¢wRœØ¬°åØ?ð±¾G”¤îõ£|ðQfç½¾în"Ä© ¥ù´x-Aˆ)zwfjE•„†y¿KëÆGc¢^ œÜäWþ”†HŸ/ïiž«Ë0›™;ƈÚ(Ø^áÖD]GžºvóÔ¼£Å{îÎK–U¼¼L{f¾r¯¯@&xˆfpMú7:^ ІnpS×|Ô`úô;zÓl~Ã<—áô–O2³ÍL¿< Ó…ô]rP_óÚ n95Ï÷÷Õ Ž;1Eù8FÐxŠ@׸¯.£Á]Ðhhµ )Æmþbæ9ÄØæ"âÖÒü3¡_?}É×x_¾%ø&ƒ7„…Ô„Ç´§û¦Ô ¿ëÄa) ðš4ÄûðÓ BN9NœØ»ûÛð÷¥(=àöõóÖ9‚*1ÿ"êlÓ–€¾Œq˜“wÑŸ…°1´àØç8 ñ²)CØs×qÈß#5µJ2ô¸ü‡?>4/,œß•–ãR“NÜÈïüùŸ–«¤\dºkΛ¢Ç^†™¯Ãê)î¼éñjÁЮè™?¶] 0šþr[°ú_°‚0ÀâfDÈ4ÈKî_ñ9Í:š¯I  ,˜hÒBÝËEäÊ<Y>?òf“«pú+Ñ‚ÀñcäëàºMó#duàç2«ǘR*Í“—ÅR,Ñžfë—æ•¨†/Ì ¬„¶%ˆqˆñ(œ’H/Œêî/ߟÂ)f‡'¤í „YÀàïô–¹©Rûž4¦ž¹I`ÈäØ(ˆ+ŠæwùÝ8ôÈÚê/?RÁN´ö9Çþ&Ó*E°¶¢Ùày‰99†¸ªß:öÙ3M™šM÷Ë¡IÑ~ˆvˆé–s¦šy4vDz~ÍL=÷[šìÜ{–àÐgLêÞå"+€8ó ]CL>%<&Þcz9öWe(¤Tî /櫈øõÛ×åo~¹ÐE•~ô‹J1Vã5çÀIØÖùÞð{ÃÀSjNùýÍ0Ü ºà2—H0c°·1müj<)xÕݤžø(“=¿4ßF;gºÿø—§Q¿äO¢)¼¼÷‰¦ÍèЩ„ø…a§;æš¼U½¼æy¢%>Å-‡>âpŒ9¾»Ì4¿ã˜ÃÉ–à<6Ó߀ømƒòÈ AßN¯Ë÷‡§Âîe¹¿Ïϱ¾Lʤv8õ—™„ñÁlcÓ–¢ë<î‚€‘¢sÈgVsVº<íû1És˜1Ù&íc#䘶æ8“oðwþJé ¾ÕUðn‹†_% CºÏ4ŠíÃ÷UãÇl„æ*©Û6WyÆŠ"ùëë„7éþöðRËlîF›]ä€c¼SŒGÀß^ Lí=˜ÃʳÈô² ¦>p+ˆ $ù³ñéšÇÍ] Ð@··éÏTïÕec„o&ø¾@Š[ñóÏð‚!¢Iøãk½ßÂg²1Ñ!ä=gÉNYé‘<†xy‚ÏþbLÇþy•ºîw Z‘ôш¯é-ÚY²"cÉwÁzqÑžùÆ ¸CßmãÍ®à+_˜° ûÌ]°ùþçÿîòÇâRæ d «i¶¯E-P§o&®3¿‡4d®rÆMi/@m!R ƒY R ½cÆú“Šáw\æk<½}Ë÷Ëß ¯Ìü0éÏ—HÊ_8ý½J!ȱ½Ö'Jæ>¦nÏùA‡&z¼//]÷º|)yÌÏØŒº)§!¤ÝHÜÖE„Oh˜¹ÕÇk‘fðì›ËC«,—ù'ppÙÜÍ“¯ŠÁã¸1mû›u…æo!Bs¦²¬Aó ‰³ðëO_FˆëO_ÓøØ!üœ™”ïÃ4×VB€÷|YÑkho«»àÞtŸF¨îÃÃö¡ &­Êµ˜ðãð¯}Æ´3 ûÑgX»FõÒæ™EÊy5þá]PÓ`Ñh‘I‰õ^By,\ÝîbðI£ôIÏ1É'.W¯L8Û5?Iñ]Rd\ú…{&8•s<¦D¶Ñ®Å‹Ô:µÄÄÆ&R@9±¢!Ñ9ˆø@ˆôÁß­ŽIÏsf)-zvo¦9âSÓÛúN²H7òòûÃa¤ƒûWøËÿüÐ/ÛåËO÷#Séé½(½¯“¬‹»“Öù”?ú–4âj¦`SÔœ1ÌÁÏì;Ò¶».ôüÐÈÍ#ÐD{È‹øü§»Û»üÂ÷´Ú[É[É\Úý)?æ©|"> ‘2¸!ôO—´[ °”Ü1óÍÓZrìGV畃ÀxݪÆ]šˆ“¼/8Ù…”@çVåà6Éà¡-™ý1åp\DÇ\œóY¤?4ˆÜÐ<æy+8àoËYÑàϹœo}=$8ßÊùÉè£ðÌh>Þ× ‚iä…6D~‘uôˆMˆÓÄ"ìYIˆ¸§´Àånn" ¦µŒgypî/Ê^°LF¡ûøa>†XÁ“ß¡ÜÞ{}b–]„qðÄ9­„ù†yš-fN‡Ð2±b3: 2¢gäNbºð¨Ñè·40[òŸ6¿H€®ƒ[Þr“­ï~º±7á=º'D #eªs¬žŒ %iàÌ)øˆSŸŸ'ê-»rC ˆ3FªaHfDô(¯ƒx0IË©ÌãX€V«»áüÉe5ÈEÈaFÀ,»ê¾Ï­T„‡þ2}]w û4˜œÛL¼¯ROÿä×ûÆ Ðø=‚5·fuœ â=-D£ùŽ»ãþ0;>CFÔfɯèvBÍù)³­òM7¥vh +‡çÇÞ?§¥_Šü”g~4ÖCE Ï9È?}ž`å[Y̧ý­‹ûÓøVüfÚë‚u™&(pa^´{ê÷–kü´ÿqÄò)/bÖ×։ᜦÂÀOùlš-1áz1ç¸íü\¹Æød~V/ÂÙDÛ -“ɦL[^T8X…Ÿ–V`ÀlöRÄ1w05ó>i®~¿Š–T–kðÉŽà4^¼9ùÒÑ#õ-Š~¥Caà¤ežS&\³Ý·ÖU¯ËMY‡“S·:¼h3B¦´ÛLË&ª¡ < ô¾qÇi–xå{©(¡zi—5´Jh 6#Nö­©7®ÔD&Ë`˵Y¾‹á¤¸¯1ÇçÛ4Â/åcåÁšYÂ:u-†àrˆ ήH[ã*ŒMê=­{S~kMC„בì”^--[‡Lê²¹î÷Û•1Œ@áî>¤ý®’RŒ¿ÙåÃu½yΪF @X¼ß…äc>aàŽf„+S6ÍsTå ÓÖø=Í0« P-+QŠe` ˜YH«™ã,kæ¾Æ÷Ê7TBŒ~[ëèiO.ÕD¶132¹kŒXéÓj>‹”·q(Øá i6Éä‰!/ú5¿Þ£ðIÁ= ­|ð·Ñ2NÆM§#­¯XB°K[qÅ[;°Þ8iá,À{.ÒnR!M¹Î{ÀóQ,U~¥t÷™ŠíóeÀñ-DƒÌïE®ƒˆ úÏùŠ™à»àwÉ^*œæ3– ’©Î8~Ÿ¥«s’+ t YÌ F$©k^ªÉ%JäÿX _å×Ï÷è°üvÉMf´ &ïæ›H<ægF¸úbº'õ±¢&‚·T´»Mo›h;ÌDPó¼¿Cü]˜TBë¶,Áü.«@¬ë]xÓ|\g¾ý— ³úF 7èsQ0°ŽQð¹|ËEúBÐBoùŽåég„- Õg¿1‘Ûå[%Tï™uÛ=OˆÝÅ»½E¾FÐÈç–Oä’œJø~¨ìŠ«ã½bˆøŽ¹ºWè±}¦Æ)þ雥ª«8.ó1~Û0©å¿à‰Z xFÉwC,7°é+æ¤ÿa°x(xX½nn Z¸øÁ›,éuŠŒ+°“Q}BâºgšuÔ„.\ˆF«íóé´hWKz ˜Z7˜Ò'½Ÿ[º’±'}÷E¤‚ѱvNBgruPÌ—OÑû†Ï'¹MéL9UßÑ O™:f÷@ÌkÓªø ú-ç&pê^Ë~·Ìû’•l]²J•´”IO~3—ï¢=ö ëµÀb»É÷M›\ÍRÑÏ-ÕM0Õ¼¤™*dJø`Z\à÷¼(óS›573`@ĆÉòçüe r^¿µl1LùR6‹£të/eާÞÇÄjã0ù¡92]RF|ç›yJ©œ‚½~×ý6K‹¿Mê*3®Ìµ¦{Œ¨|Ù1¯áë4ðcsÐÆ°!øùš˜Î·ëÿš[¡Ò\B&täÕSƒÜšPäMjnr TôHvoch°­>eZÍý“%X5ì)ÆÇ´¹Ü¬\0pmc¸Ýõm›ãÌA·fJZnÒ†E‰:µæª!i矜S¿¹ö0"%ÌQÁE‘¥X®óï A ×Ôý5wË^1)°H=ìz몚š 2dѧL© Ó@4Ï?ÿë¿M@”0Åx­[F¾ÉsÝuÃÏùjY”{oí7‡Ý ¾Á†1¶}¾ìï‰ùýûcÚ1¯‚ƒC -½TÒnÌøkæ¥t‘•œX6­¤"d3íJ¾0ÉsnFˆÞCÔ]D¸*p8–’¥ó´;æË• ‰ß¿‡—¬ÅÝÝ—ÞÇô!dÓ} (OÑ UàúXvAÊé-Ç c|¾¹ ¯=áçJª¬µ\ß+ ¥A¼ª¹ügõ‡8‚Eé‡ôÏB½E?ilÖh6KxÚ)¼š|•«c鹎)>ßU³„Ä˾´¿ï%œ7ʸj/ M²ÚJ€Ï÷qO}¾%@hÎYìHÃO*çïþ·s~éÃEŒ¦j÷2$Ðl4äk:ãÛ09f̉†¸—CZªkLâ}2ëq~H“£Msú³¬Óú ²”1y¥Â·~L“‘âqæcžaéIApTÓhiSO1@ÊËÿ^R9ÌEÒ3]ï10…Ç”[>ÓÆwIj!]þ’[¥™é®‡Ìíss¢y7!^àòõÛóSeé—cÚþ&ø¸ יߧ4=a)‘Z§óž¼Ï¿}{)MÔôTJ¿LȭޥѮbªgy°ðwp“ݸσ°æ–¦ýùî®"Ôo™[V#xûiÏ΄û×DõšÊh ä×OŸ—çßË„ç̸†ãi(fš­fÄME–|-¹©K (øb1HëuÆø›>óÇ$°7ù ú\#¿LYL"!«€ëG£Y¦ô=âÒj†ò#ifˆIKÔYì?Œs‰™ÀhiLìiMkÆœ¬|x~Ñ8ôoߺ6©H¼Eݻ˛!ÆK9”ŸÊþ0)ðqD / tî«“콩¤cøüÖײ WåÀ®¿| |_¡Åc'Of›cÝå7±&cG‚/ŸR§á-¶¼>TÚ%b>–Î æÝWõÐ*J‚Œ“pŽùøhABü˜vDǰ2Ì2nK (@Ëf3ÕùÀüËCJ„\_–÷Üe ã‡÷ãÓZ%ýmfµ‡¢²!°—ÍcÚ9bL¾É[[UOz›ù•&béTÁ쪢¢5å¥lŽ i“ü¼{M³_š Ë€}m¦Ìxk|·(ÙÏ’ÏeêbcPÌ£¾ ’±+ÉÆ±¦ í¡9åÇ`€:eþøNü¾„àD…²¨àk~f#¿²ø¶ñBbó}M*×Äg}6ùñëú”Ć“Òã;qÒFßxcªƒaçóos'&ŠB&ü¹ÜèUZÀ2¢”ÄÔ¿\àsyDkËêQi_FxòEíðÑÌTê½É{cí[²;¦9ö1ë9 ’®²f~¬ãc5Ó0Y0Žö)˜¯„ز Qiî ¤­IÉé¡…};კýÆ¿i«Û˜¿´R™& æoiÌ*…eµ§‚¢b¤Éqþ–;"`øtwmAª™…Ð_tèÈ÷ñ¡UÎï&èXëE‹ ÍTfƒ×ufF3›…Ât‹™»zâLà[nG¸[5æ‚Sþ5MmHZM;åòÿ»ÈÈ>Yï³o¡&²ò»\t˜´©½Î¬O´vT™ÛwÈÏØDø‰­Ò‚Õýƒõ»÷Ú0ÆÀÁ»|g=vs» óï}~ɇó›±f™-IÕDž*®u,•2Y{L&•©¸ÎßÁ¸/Qμ»dùœù2y|tÞ&òŠ &šï&ô§/i´¤Ó s}w“½G Mí[0™Ž¢U&^É»¤,dÊ—2›Éi "ûjEd$§x˪‰/B³Õy?ö6ìÏŸcÎà"ýþõ93·ëJ Æ$8³<\ JTä¼¥%‘ƒÐða¤$t>ûMsȲ $N †äO_[®ÑtÏ$ô ×ÿɯ«oqMÇ tH†Ó”–f¥„y†“M@gž/&éÌ7+æÃv‡ËQí‘mƒTp˜Ö¥™ÌÝùEwÁ‚q "Çõld ~H? È®Ñ쥠I­¼ò z?ùĨ~#N n‚¤ŽƒÊÔû‘& ‘KÀ*È<ñgÒDÝ»2uÚ'DA¸ˆÜxî3õ.Æ]Ý‚¦Bs¶RñVTËÅHNjùe!îÐ8ù‰“ÈŸeÊ1ˆW¾.¨ÀàÔü0m%âÜå+‰Z ÂE‚1š0èÖ›Œ(¸y€I.Sî 30µÜ“”írYùú)KCZÐçLO¿ü¦ˆŽ6„ɾp›bf+Bv§Á' óª<ª„¾Êë‹þ6©¡›–.ïr'Àñ~(­Åj5ÁY” éÆ<·lHÕ,)~¾müáÙŽ-M`žàwµ(âÐ:fù¹¥Rì`‘ßòí¼§€æ½ÚÕhåèfRÌ&ßj2ä!(è™J˜!ð§3„y¯CèÜe÷úä]¸˜C¨˜ÚˆEšàMÕ/Ãܳ¹%n·§DÅ åôC’ë´ì‚‰÷­Y§ËÆž}S57SÅQÍ45ž˜÷ï[GWÝŽ2¦ïŒ²Mƒÿòùjëd ß𮳟>UÜkoF7Œ;”¶Ö¸šbUKw¿þŒŠåõ+9Ïm²©ëœiî÷4/¿ù{ Š©¦ùX­â•æ`=_}áT«§Eø„®ûéSÅø*º«°aÅÞÛnûKëì&ºË Ñ>|¾žˆj&ϼ%yü”÷ÞSHlÉ,bž#à” ‹ì0ni24Oûì‹#M„³¾–uKd—µ·ìÕ8ÍÝÙœÓ!ݾ`Z•¹€ØPðÜ£ÕÔèô.&ubBy‹˜˜¬!Šh™nÚÈjº I¬SÜœëga1h¿ù×ä°W÷*sÏ×b1Àm5P©8õK)‘Õ‡-Ù Ãà*|Ñ@ÿð”SŸ€üVõ Å*bœùnÍù:8\Ë Åtù>¥Ÿ®«¦؃Yšiܔ޿^”h¾W·Ç§’PàÄ\•±¡ÿ9=Òì£)k¾iºXs G1‰ëDÒÇ`À½¸!ÜY‡Wp*Êm¾Ñ^5ÁƒÝx4öU¹Ô×V®¸ ,å6-vnœ×¤ý†LIQãQ0Õ$€œ¶¡kã'P¶6ú]r”oU#rTå1µ_@âY“Uœ(©Q.õmÖŠc°*M´¯iKzÊÛIè÷‡ŒNÒv{¹&I7%T­¨ˆž @(?ËMÝ~qMð"éµ–Ì4diæzÌ4¹–¼Ë$±þcˆ©Ul< #Íc‰hËÔ5V_“„ ŽÑt"šý‰¦Kšù2VIL¾tö+© –RiѦõ};+(•0…Jð?×Ík}ü—ö¼|}l€œ'Œó–Æz¨o»Ãäé°ùu“Ü>lZ‡îþ«î†oî¹åÙ. ZüÅ)£iôgYÍRÖ{N¼œ[,Û­8µ±Çõ‡n×Vq²2®Ðôù£JGýÖþoei»*8F6—¯½Ñp,Ýr΢pj¹HÁQ˜9b¢~j~ª“.ÁR#//wÏã¯ÞûUOÑ?ÝßX´oÃÄ7\Îróïþ÷“ Äy¤² Œ:YMwåïó¸3Lê¶{êÌBƤc0H“~ÎÑùJMˆ6O!Þ@ÿƒŠ,å•*+¬Tõ¢Šƒº§50·rÅ |Ì;Æ IŸÅù ÁjXcÜ”ÓKZKÆL}[ÈUË·‰Úêº 3«‹Iœé¤-X‹#²È2–ñ´k¬BÜæJØT?‘w·±WO@Áô™C®ïç¶BÒ„É‚ Qév|KC†×ðä!Øæ&ÜÛ+žh&âtÅÍuëä1º‘øa´õ¡áq ‚;öžôQÏ*cÃTê(­ß‹z/û“ü•¼èž(¥u•fRJCþø32ð3˲}'õ…nþ)ˆ8<o8xŒÔó5µ•©£\Þ<+ôiÃäÒD¬¾ Æþíûò© ö)‰”Ä ´M?b¬]ªŠÖ“¢©M²i ÈÙÓ°š¬ÉóÄÖ Õ€i2óGeÕ™‡ÛÌ;íÃ@NH¦ŸxÂxý—Ù!éJ¶U¦|ûVÓw?Jæ•3mÆý!1,®f+F¡yÐs×ݘX›ÊIÝ)a™H Ö 0Å4¥'Òóý5~ ø˜„ÑÌ Æ¥9»cù-8Î@ѵö½BÞc¦µYÌ) Ÿ¾Ü̼ûúµMóOÀÆ| k„¹[?æü¾üœ¯f†àö_š¤Ã/3*>”È«qN°øY"ʵ`$¦Ÿ«Ïž—É“«û\ºGS¹rˆ)hå¦Dþ¾/Êߤ(Ôê— ï0\¸2EäšÀœ’þY_NQÀåü-o›Ôs‚`¹sjÃgCtÍZ>Ål4Üäb³&ô:œ>ôÛßýé[[N_—?|þÌL½F=4ÉÂSY¬–pdÿÙ}«¢¨›¤V]×…ºŸ¼Ar·õš&J½Z •e!±|¶Ûj“hòsVhG>ˆ †TîGSa ó|­  įsý&¿Iˆ‡ ´ }×Þ·€-mDj•»Û6ù ã ÅüÃå Ÿè·J«´}ku•fnd´ŽbV=º…Ϊ³osî™Á§{Y¸'B úÛÏSD{ùi3K}Ì90ùÀ‚ ‚ÍÃOB¢1»ío‚®ŒÊSk<ë$O•ùË—‚€Ï­±L‚¿uÛfý4Wö6“y—ÐÏ&ó&+8 ‚ÆŠÄ€kÁÇêãAƒM]üOA@üÒ<¶$¶HPIc ù÷z„íÆÐ=DŸ½&)ZØ÷”àl•ˆÙð‘Âa‡Æoç®ášü]gÜüÛÿï/#øÿå¿ü[<Žžˆ²jÂ9“eÐ@zÒ‚C.‡ó“”gÙ5¹4È4@«€r¹Šq¥`þ|l¹.'tßœTÊ”ù {!4KÄZ&³2AÚú&aåáÌ%s ò\D{ JЬ4u˯ëd“.{h­Å~”u½“vê±qä ¢n.–¿ýg¿ŒÐÐB|Lë«Vq”ZÙáÏe˜y5¿þ-M³óEDÜŠIO$"öºxð”#1ƒÿößþýé?߯ îÁSZ‘‚qüç4Þ.ŸŒ3ë¤!ÎýÎW”‰¨^~ŸC»¨ICaÒ·ü0+qûüÄx—xi«÷œL >¾¬3L”»m¬@I±(ÒÈSvUŽ>3LÀ•fó)Aà' "Ük/¡¡[yê¼µ6ÿL§ÔÌ£)åÔuv ^UôÓ/Ÿ–ñOÿ&Zw?Fï¥ '[]¨Žï·oË÷¿<.õë—ÔfÌÁˆq4‰`ΪÏì}c„þ#Æë†™¾äÊG„GEóÄÓ1¯ÉÇ}Lôø…ÌjÐDWý“º—Æ¥Aœ0€µ…íjÞT*«Üø›¿þ<ˆácØ"…Q£ ÄýoÜ„æe<Œ(¯F+6qv0•ÛjFšåÅÙ]–0^e®At=ó?Ùÿæm×R¯˜;nÀ@ÖG›Uš®~ï¦-š×1¼Ô¼{É|N@øÁ)¸ˆ,ÛÐ÷C>mZL‰±lÓGÛ‡«²á5­÷V–n›×mY›îšî­$¡ÍÄÓü6@ pn-ÊÙ ¤é×z-׃ 4t¦¾úüÖ}ÖÔïJdËN¸“uûÁmA%èp¡¡¦µ*4{¨Çؾ[¿ÝK ¸bÅQ-Kvoþû¾S¬Cï쌚¨ ác¬Ç"ª‡8ÿå=f×Xƒa’‘$„ +»r]B ~ÉE…ò…òiTõ¬ýFy!Hä2|ƒ¡Ò¬ýê͵ö»_³ÕñªIÒ¨&=rŒ6­™}¦¡{1vÿ.Ò(LÇ_‘Ãë3¦n”aÎÛ£ÙáW·£ÝŒ…‰ù4˜©cg¢wÈ!l —)«/¸:‡TLºW­fPÝâÌÃë;« õѸï ¦‰ é$¤cZT0åH´s:g†é¶î+‘Ý’+§a—ð{NQÈm œ:Ü«tNÁP¦vß|튃÷© îžMÜ$Ï©Ñ`ƒ¨Þ¯‘jJ¯ñ·„!kºËb¹FAÊ$£ëŸU’º9™wð:Q°÷MåOÚî&S5æ¾ẇP Dø½–þ(@qI⟴f¶|IiؾÃõ1N°—>¸^þÐfçÞ R/ÙP S‹ö4utòLŠTÙïvÌ„ÔUµ^”^i«rœØï—qÁ.q|5ÈEP5Òfçþ¤šÜ¨é~çCÒëœì»2é–kÔr–ÇO ð]sêÝeåäØÉÂè¸à}í8·ïÁIheën¾5¿xg¹ŸüVéšÖ·v„¹‚HŠGÚÄ!;ñ¯ýyúœ¯ô-m(@>ˆ Ÿ™v·ëoÞ—½m•ç{~£F0úø½ÿž«€Ð.¸"Ñxú$}>ó¹û$ [‰ë³k1`-Gðœ2 !Xß™»‘‘àºä l˜€Ó9EiRþý¬`5ßkŠÀàpM(2™s¼ÛÀÝblð±6˜ä•hÚùÕ];‚¦}«mˆ층ëÜü ¡P%. 3–¤±øœÀ] ˧½È—xl¯ýqmþ¯ÿå¿?¿CìæP^¦iƒC´Nyb‚tÖ©vl={„“j‰ »˜$¨…ëX¦SÈMZ¾Ž6áÔs’ç|Á®e ,Éú7¯ì1T«DMº<"jˆmûŽyâ. ‘'’í°Ç+'4¹´æ[¦iNìšë%$€û2 ê„,›a¾”x„ÑföIð¶F ai$6Æ  çJç}ÑëÎVôØçbÈã£æ˜èšoDºà8ÑVï¬Éç•"!hR'¶%(SûÃ_eMÄsmÌ,&Ÿ¬þ¤Â&},æ¿/·öøõi\= §hõÑgÝœÂ/s‚Wsg››•ªÎ–a³á=f “û ×§"“Ï%ÁmŠrb®ô|ßæÃ¹¥é„»|ý¬7 “Ë¢`0ÌËß·˜{ÓÇ DhâY–KÛÁ~Öòùô-RdRMþ‘¿ˆæÛRM£õªJ÷"©Sænךk•sùŠß&MãTP>›ˆ'úÄÒª6v[t¶ ‚qV>KŠ ùW½ŽVô:¥üòÏb”i»&¢Eº<ú ó(#³?ƒ¶=Ë?¦5ΩôÛ’¸?• æ×"© bVK >¬SZs}nŽ×}~,Ou(‰<åJX kkd0|ÎÀÍ䬂X?ÐàãÑD ÅšÖsES˜tªi:t] »«|ILÎâÊ8Zí&Í6¸ÔSßa©.þ˜Æ< j_„o¿­æÑÑÉ/Oઊ'˜X™ fì±ÖiÃÈ[ÐàtÔÉ×6¼™“'B[þ7ëg­[ ŸÀdS‡ŽFEtÀ‚“+.&‡HI”vú9†,9s-8„£|àGzë+t4Ñ€à8ïZÊÁÑ*ÿd ó!~Q%a³9qp~Cf€*߈¾‚ƒ3îОï%iI1Ì2çC íFkÜë¿ëIؤw¼½LÓ']¬‰ÆÄj<&Œd1wŒß×4Žt=«ïMð%„æãFô˜î5ĺ‹HÓ|½1Ï9ðÐR÷cƒXèÔ®¿üör{1ÂHeÁFðÅ/ᜂÁpP?±N_Ðf}[&ëv¬Uthàè[E1¢»Æõ3b—ò1cüÆA ‹ûü¼ºhà þûzÆ:`’ðp—Â`à˜‚«hAÙú%óÙü1ed®ˆ£)¥lš‡wÂ;8 ?\3sÀOTŽÚØj w„ÔK¸ÏEI#Óλ»´…ß“L>˜z¨¡YFj@ë¹Ú7+d_ÎU\„ücêYš¢«F*LІm¨àDÍñ³¨_ÛeÙ‡ÃÌ{…$ûÔiË?çÌÂÀ¯“3D“éûMZ⫟œFƒL`C¢²_ÎWþ­rù9©5ÆZÍB š/*×ç›°ŠÒ%Öiv‡8ð,€`ƒIÉ…@Ñ q‹òÅM7¢…£ÞÐ2 ,äòžc;ñf-à{½„h'.l"ðlÞ"hÃr$“myl–û~6 ÚÖˆÿ:MÉd8ºÄ°sçǃ_°AY‚¯n6t=׃ö‘Çãë¹Ð–S×øÝœC{×·µnŒmà«H2êãàø®w–pÅ £ǤXU¸Ê§ÜÇáàa±@Ô ÀÇ.Üóˆr)Æ©kâãAÖ;5G ˆu`f]¿Œƒi¿:qD®‰O GØ1+ 3‘Ž+!¨Iò7UMÆ´9F#¨D°órB )¶ÛèýpºÉ+.¥öcí¾Mªº—­rÓRÚ˜Ÿ®óƒŠÂòdê9ñöftôÒ0âMÅi²˜$¦ Ģ옉àõY!éÌŠ\χsP·ô˜$Ô÷½kKPh'€º‚¿ ¾Îޝgn! ñf’ýbl¶œå…$¨/úL À6÷Ó$1¹¢šÉ<û¥ë°JB˜ëR†€æ”ìÉ/ε™QI¨AWÀÿ²zøž„}‡ Ì…æ÷üƒíOœóy=ÍvpdE%\‡JðåIØfÎW4î¥%sj--wχÚŽ˜ˆ*ù¬aH93ᧃfH(@ù{Nuçfü˜ô ¯Ž¤&Ð{>Âs§Ä³ ŽÛU­ƒ3ůؘd`jýž ‚a“ aŽû'™+6c\úÿ£¥l¦YïeWä§”¹c2°«ÔÆ8Œ´2—€€|–ŸÚü­ÌÍla 1©¦©‹¬§abA@¢5×¼·¬´AÔÀåÛþé¬Y÷Ä`¯)á·)ʹŠÒG»æ‰Öe(i6T÷r3žJ`c$+Æ‹_j1NßÙ üV´>Õ2ΰ‘SeeÒ1 üˆ…[3óèŠI¿$tƒ—úãƒû½#}gç‘Ög¿§w¦ \=X/[,×¢ïù²_³†ÃdìwM 3›ÁÂ?s},?T ó+%æq4éSƒ‹ÌÉîKFÝTµ’óцò\h-$7Tü•ùÌyïý,†÷*=“L$[‰ÊAÔŒæë:Mù3ÞT®ÅáþÀa@hö!|ã[Fpý`ác|È1ÎvÏÀS¿˜•–ÇgzœM2;àh¿@’Es8E !…YW¥{Œùh-üLÖaõ¤´EãÿÙ y|÷àdj1 MÃh﹨vˆÉGkÔw"¸l;s懀¿"ÁáCašñLc œ}0™ÅÙÞZN¯¸é˜_×à”sG“ÁWßѾ4¿²zY3mzÓÂF>¨SŠ~ûgû(6‘Û$(ü൜>š7/î­‚Üëï„&áûÀƒy†žic¥úþ+gI38?婮 ©%eYí©hÖh·5¥Zì ¦=˜$;Úø|‡&¥@8ÑT&IR,ù AMAÙ^µÎªv 4Á„l<-„ÁggY 0A,f*)xÑ"x¦Ø ‰Æ¬ý89¢é(À»}pF_\%áá¾ÏüBËiAQvP4¦Òúíb2ù´nùÀ¨M` \˜cñÍ7âXA  ªÐotÄè{ó[ð<=Î.½®qУ¼×ÎÂjXæ;Ѷ|„›ªmgC}öN:ІÐlšâ#Yº™¤-uÿáM —Ñ­´p·E¯¨ PžháèätŠC´:Ì+·)¥_ŠT$Ý”nww‘û±Ÿ£o3—Gå"]ë'?^ñïôUû½X„ù.Ü9)L*N“FÃуW¬_ð–|=ŠÂME`ˆag_Q¿­‡Ò÷®û2˜ûS¤€ÎÝ6µ.:T“áZ¥•öh°æ8“ˆM"`›µQOºÂÑe‡jûüV¸)_¦S©·Ü µØçªhßf­¶õVD9˜úIš#ú½ÕûuöžÃ!Ø!Å×ÚÆàÚø!Ág-uV""8?ŤxhÃCþ„Láê*kþ RZ¡>B6‚‚ H†"²Ùž&ôÿ0]Á»Ë â‡6”4¿êóoJ²^­ZçÔ<@ù%á<ÙÌœ×Á6«nýA`Tåðƒh•ÈKšÇCh^òÓ0+CŽjoÑì|ZÀž`õ57é±u¼«˜”öãnì•Òß\£ƒAg²õÃâ[}™hž„"nÒ‡Ï>¾;A­±v<–  ÚdC J.\oÑ`çL–¹)5çYñpb(f¬«ÑPÂêõ”',Dy”ŠÉ‡â;"nÝ%ÙM6À°DWTÑd©'ÇÞ‡ ;® læ¡ 5©nÌ… ’Äž¥ƒ4 v±$Æ·êÒq{6Mî"†Ó4‡{2r]‹ ,•KÐwšs ¸û½94K®¡m´šÙüX¡ñ•²þ cvý:ƒf|· H/Ä$ Æ®›¥KøéBglsªùx Y(ʽ>÷0œ°ÒÀ«&“¿š3_ÙS˜žËå)Ȱë\]•ÏU‰”. °_¤}0o{Y)þ”ºÇ…³_À2þróµ=S^£‰ ÁýžÎ$#`žö´xÒœbêñÝ8ä¦!¤M~{ì\ÆîÙˆð›'Í=-2ŒKÑty¿a6¯kb.MòޤƒÜ+c€È¬ÛðL`pÜß1(}rÓÇÖ1¥P$l5O#Ú—÷“4¦ iOeV9RëŠÃp»û!—gJ’ØÏùTà™°>æÛ'‘ÌbdÖ×Dgq¼hX†‡7•˜&†N$呲ϫ„)c Ì^ÿ“0¶5'H`"d(bx䤋Dƒ$|%ÄðJ×}˜â4ŽÆ4â®þü¢i 4ùÁÌW…È8çÿ«ÊÍkÍúµûûkËñH:SE÷WHS¬À_y ãKYzƒAµW|‘¹NqdªÂcØ¥©zÇEº®a6¸/Ã+\öߘF4 ±îÃ×|1Â=O›Š)h¢ g÷›iÚ*yH€º-r¬¢]Lm–•¬¾…7 d5(¼:rypð¡'ÂÌŒ%ν>-¡³25–RJ.t•ºZO®š;B$©Äôpß§ÄgtQ?ͯIý´ÇdJŒ@ÿ#I+܇P ‹ƒ&|í†ú|¶~ØäfórRgYæd@—Y“Þæ{ðç-ŠíʃQËF¤áÖˆ²×näS ~´ßíÃm>±€Æ°p)BÃkmßš$§%¢Á\g y ÁÚšjê>U&ÍÑj>XÀdì=pÐà71ûMþ3¸²ÞÎ}ŸÀH[¿ÉGèS‰ð/õÆÕàûMoó£I ˜gž8­2ÖH±x ºþmúâØ«®1'¾1=6‘µª§Õ–\¡¨2§H`fÍq§5O¥‹„<˜|oÒ„õ`=Í7„a( !¤e1éh6YÎ{ÉíÓ((÷ˆt¿U#)´Þ\µþæ*É×j94?”i2iÇð;ã㵌ôÌ+Iº£_ƒ¦%ãR¯©‹˜0&±ö§ã½òœžÊ—®_7=SÓ åµ³Ž\´›á1ˆ¢dû©lÃåpDÞ´Wp4@ÄÌdb”~³7Ó0Ç3°õ‰ ›q`Òœ™–õù"1Jð1ý*1_Rå´µø}Ê–úmE‚Éྠ~ •™büM~1 aŽÍ%ú±”Ý€œ>¯'Aº/&íÒÆéÏ™%°¯Úk2ë¡uâÑ_„Tn‰¡Œ1£®¦ê'a§©Þ:{‰Ù´SE!ëãÃæcóm°Œóˆ pŒKRþ}g‡_cyêÀà¬+iixòñƇó= Ml·ðÛj†bÈ„èÂÒ˜R ôñi©GišxüT¹ãáR4ëólëÇÑmº ÈoÏßÔ‘h«JÇé;\Þwsö2ꋚ "¤½EL+˜‘£Î¹dјÔI‰ ·¬ˆY³è<®Ú%ÆH/U/“²P0¦—FW0p“šWi;Ù|]„ Œ;‘i &ìÒ!®a&Š®ñùÞa’õ«ö.«BY ³lÓ`Ƹ¤6»6ÆKs)¢X‡‰hY\>­û›ï˜ÿ<§KÕ×±³IŠ¡c°«­Ê+" EúbˆÌÍavü¹(&'Èᥥʹ)aÅh4Ûø¹½·â„!†Õé1Û#˜à¨Ÿp†—˜i6ï77‰ddâ:°Ó DÒ6½Ç_™¼üî~Ƕ”û&$ÆÜ 4G*£"ü3ñ£`ú^?¡1š'íÅ é {<Œ—Óê›õá‚H¿ÝwÀFf4ñ€+ÅPs‘['õ·û‡¯E¥Ýð§ÎaoªCSÐ9'_vÃ,iE$z’œWÅÒëXYV=dXÞâgÎqhI¹=—ÎV1pÄ\Ó]ÐÀMy¤f¤99µjˆÈ;Í‘c}wàÍŠBÈÍÑ­M& ‚D•ï;ÃäÚy˜Õ0¡©Ÿ8sÃZÙ\F0‚Þ~0œkILà ä<µCROCÝ™G($uäò1wÛYÝè¾ ?¶)]¡GÃÆEäîë{÷øŸk1’ÇÍ‚Ñò´Øy‘V÷ð™s÷ó›Qº©ÿ „5€ 1RhdE#¬?‘„ CYŒG ~f&³†A^Ò°7lZ‘J’³6EÁE‘¤Îý[O€ˆâÖ5\ƒéºØXß• &ͺ·Ê ™h<7¿»ÖÝ ßüd{¨U7ÀgÍQ]Qg„¨ùÀ÷:J_¹ aÀYÂŒ¹%ciqQ|ÓD¹àm?°mÁéüä9*œ(wâ¸cR9A%^G¡üah¼j°„×=ïþ\Ña à‡ …¶ˆ™4¦ JàP’ÏRH™Ü4ZR#´~%ZZÚsËœÉë=1°÷jB¿—2ú\ÉÆeþWÔú 9ëO(øÃÏ•e¯uÞÇ™ÄuÇ<<Ú\WS÷›ÎQYOHªò¹Z1XælO$Û„rVê5¸!e2æ³é¼×‹Ž¦Xëå˜Ï"»¨y“ÏúrT™Hr‡_^± ðõÇ—Ô$»Kw‡ŒˆÒóÖ¤x0]¢Ö$YRŠÁ‘¸×E¤p“¶aÎ ž¶©ÿ‹K›«hn¾ÍæDøYÏ áØúqœômåEžçóœ†Õš‚JEër^¯½?E<ŒÙ¬Ò€ÑGi-IyÌhp®ã»§ËÛ7 ¶\ÓÇ×ÎKKݛі>oS ˆøªh8ógIŽÏ{àLß•^U¹Ô¤b ~²"áp‚qƒÀ–‡1ÿ¿Ì÷T9X^DLÃÒ(ßç¼hA _üÏmË/NÂ<`Ö=EIµuœÐãÈJ7¥¬<‡G–Ðq»‚)‡omûëʵf5…u©9üiΛL0¦’&|?§-wÿü¯>¿äQJ€Od‡`èß9SMd7l § ÌŠF¹‚S´Æˆ‘¤æÎ^˜— ú‚Ú¥ÊÕâOHá`Zåß,S¤ˆ pÌ{Â?TûüÐuÖ:§ÕgvfÒ¬†z³yÓ„úŽÔB°©c„‰¸Ø¤ÞCVhòy Lã |ÔÄ…çñ–%r{üØkëZm6VI¬× ÿ©GËFÙ{BPÆÄ7I€™=6qÔº«ñZcM¶pæ÷Í”Ü'~sòTf3\¹j8êu¤i7€Gsg 3~J ÔÿÙ…X—këÒ[O €œl½Œ€c~ØÉ–.Kö1Éú;š¤Á¢ß<ж©õ—Y4›¶Vªö‡BÂ/!†&f0­Ñmh¥›Þ6…#\UBwõÞ1?½)¬þI]«§ÇM?À3Ɉ1j’1“ÞÐ ‚`õ ÷=oÍuŽ!›ÜÜP£Kƒßù3´.À k®ëZÁ m€ñ¼¢u‰i½y•‰öR1wÎ#«ç^xŒìs’-÷7mÀ¦õ.êSP!ø‘Ò’î°gø·Žß²êT8„P_d¼×õÈL€d}|„´‡ûMu6—Âlmã×Ââxa˜Ó=7(eïpz·/c²„×Û³µøÞ—Gž4lß Läþ†éûBùÛKórêÕXòú篬´Ñ®û) ÙUÖ£S'ׇQåg§ë>ä¾{Dõ«™—NÌ›6ÄõA*ü”¾ ØÉB˜ýÕm//ÇW!Á °ý)J$']FÂmý£zµU³é È:$c¢š‘¢:äS}‰¨J×ôûjªý;ÇXààû†ºƒpÙ}~TŽH¯5ÜMÐŒÕÇ úq }Ö‹ÑÊw2 ¨< à+-Ä!áè¡lÁvb>ÿXÏþ›Ï]8`Ä5àÙážü$§T9äñ^õ¬Ö𻵈C:Êw´n½j`fª<ÀæG›ù‚å£Ñ‚ˆ˜›C4«Æ½-Z„'ï=bÃÑ$Ü@úĪˆù@’È\›LG8ý¥D±¯F‰Žññà_³¹¾uhU`®÷|Ü‹©( ™‘§\´M|¦™Ds×ó -Í2ûðÙ”fØãà rŒ¡ÚH .ËQ¹?"­v ZIL'0Ùpx`ÆñÖ…SzI!,Ľ2=ê¾Üà”->å˜ó®˜ÕLág‘ÙG›½¬i©‹ølâmGvÍfš €]Ð|;IßlHèn¨ê)uÈ2DÍ^”~y,mduC`1ñ0äQ³5ËT]É®°Ô}ŽaM´æi„Ô¯»ÄùËÒ#$ ”Ù¼;‘+­a~ý»ü8IÈ6Uþ !*ö1ûÄÁÄÒbS/{0M¿ÏZ5ÓËÿÓø\pÈë¢.«F²ŠDƒ»2½NTP„ ,¹¿ŽÑ­Á‘p0{ûX5]á¼æÁQã³t“äªÔ[ŠE0Â+[1Ôýðžy"TN8烓µx—ÊQtì š!À,ûÁkùU­‚àlwjká]Τå/ϪȊT †‚jêË騄-ª™£42Å܈ñ¡=›2Ë\©ó9£_¯Ôñ$S#*Fž«IMžW]rå}Va|ˆ´ý ‘W=¨™VÊˈp¤rÕ8œ’y.’òH& ¢1ÈM‡-’|B‰È|Ïtýè¿a£– 6„ÑRo1tOé¢Úç¡d_#áñ©(ø¾\(¦÷pûe`ªˆ~{2Á‹yºÞ¡?ž3¬xÂù€°=Ú$ÔË*ü(TÝæ_Íš)°›+N‘çÃD±ô~ÆÝÃç¥|Vvý”¸…A‘“Êô+ ‹ œV˜TDK³hV8»ÕØ¡m‚÷ªåG d;¦Î.ª/”VQâ&—Kgl›ß-ýÁÑÁ [ÍOBÁ*>åÛSý}l˜Éò·Âjc×oB£3jZ·˜êr«&˜Î¹¨à"Z¯•o jÉõx åT#Å#‡ùÊØä„VܨÁGòøî#áš–ï$™Í9sÅb½57ôG“ÍPð;°}·ŠFèN Ê² ù,]âÁd2z‚ª{úv‰l}ö#Üc»èDP$à÷‰îIɹ¡ÛtÐ?i ®‚(]RJCù}„$ÑÖbë"vC}£­ã£)¼ÔŸ×KÇR`”4Àh!¸­1ztW¤˜{&_Ö¸`±W¹±Ö÷ÍÏí#M€êÆu­I6¤ éŒ`vyHœZaî]ŽAüŠe2IÑÜ4Ï£K¹õ‡»Z7®Ãh \pW'³3™rÄ©ÙDe~´ñ¤¹½¹êKíŸIH‡0‹æO4~sÎË…?–À1týþý½õöïiØ[â÷Û}~+fóžû°&Í£L0ÍþÝ´ÎO¶ŽM‹Šm·™ÒîüMkÖjù!›Jd_ÄÀ´œ¢U£ŠÎ6Ôf³W~‚‚>óiš¨ãêG•­Ïµææsÿ`g®WöCÃ)ZðtÈÙ¨*÷¶2 f›í:«Pé·æ&˜à)+(Ý«Rp´b<Äs=Ç­{< fæ;Ö4ŠòÀÍÏ©Ë}´Ê¬oÒºýD3éïþ)îìu–ãpÝ5ÇLÓ´SZ …GÕ¯š…@ÌQ¸à®/>¥~sZŠž-“¶ÈÆU6˜R­|âïíéh¥.¼­¸ží§mŽqÞ£'%I¢ ͤp Y2¡“m¡öÕ›µøIXcÜIúwW]e%KÕ…û[‚ด©žîµ$‹Ó+z¯)(œFEô%¦RÖ4œSRK£&DÈâo Ò‡ÂLX_|˜JˆØFÕ ½ûÚÃg¦;&R­/æ9@R¦½ß0úTi1Ê-jú7ONw=æÅ˜Ï‘E@wHlZm˜Òž~§| Îj‹!Tº8vvÀ> )úŠy¥çt­®ÄØá;|]é#æLÎʃÝÞ’‰4BÿÞ:S{ WN•pÍûû6€¯(¸j~ˆhSíüájgý8ã墇͜ìŠë:††Äd&bs”btbRiQ2¡Œ­ú>ü C eú–6+fÊ>z²èSªøúãF?Œ÷>lBc"×D:¡ª¡§yEñ±Dõ“8´šö3í%°À„R/#/Ý%`ÒÞº—{ óÚê ¥*~i2&ý?^‹%º3ud5 »°›=žjöaÄtÂé$z¶kf3s3bÅ”ùJû"Áá¿ –u1ˆO h²š¬Iègf Xã±`<Œï>Gu8ûyúè:Lê‘PLÚ‰¦ÏÓ€3×T“ût—üv?3i›£±æL™D•vä3Y­`ƬqCœ `ExLŒ}Ó8ã&Ï®6À{*¦ôC˜žºžs,²n…¹#4i1Ѻ}ºè¶úek}Ì»˜éÙ3,1n¢âAËžµQ¿w¦4sa½]ѹ¹¤áêR1«ƒÒòúÒz±½Ï¢kZî©Ó,)Î!Qù·”åa Àä够{ÚçsO½d‘DóÛþб£Û=9è’Æ¤/¦º pr*“Jmc¦S„ÃÛT¯Åû駺9 @%}£,»ÁFÓE™ð›hR«D| ú<'Ê 4RëÜI¶<´Ñ{×c4q²þf 5øžþcy¦DÈVÏçö]…,ÉœöÙÏk3#:¿9Åѹ ½q0QÒ>«C~]²)½€ƒ¼ß‚—î3&÷6m:Âs92¹)ÁÌVhÍ "5ʇ•lšãïñß.òÁðÍ{™*Ä7Þ) j 1±VcJIZ« ÖkóW—S=ë:0\ßäG…Ë.+M”&*Õ”3Ïñzgu{ìÄðžè¯Îà‰êhO9´ø¾ŠiZÎ¥‚ÂT æ¿`ź?e€éÓ^ûp„áøoò(‰x@IØCkËuÓRaîI«S]ß|Íß‹ëAÈZɇ4óÿ}ùÈïMµª…Y¦±í´ˆ ÐL‡¥¬ûy⸎^BªÄìMѳ#¶Ž%l™j^{+¿ÆLÌùË“iì&‡ç5(êLÏ$cf%â4ÓÊŒ¶>&8|MáØè´³üåö6bffÓ2rn¢U9,… i²³ˆ‡Ç´¨:Œ]'ë1ÍôCn­ã ¥FZÒA–»óš2ªÔ“ÕÚbÿn´™[Ae³™qþá·ŠIÓ^·™eY„‡N&˜Õ„ ø¢”ÛÿþRÍ=­S»ðŠtŽ?´Ê%(€à.LµvãJ–OJ(í’š\¢ã;úk¾!¼öv´Ð¤K¦œn$®IJk­aT:fyÎæýÿd‚ëËáCùN’£?M&@ÖvQÁÖŸ;̱!W1°@T[Oaˆꀹ–E˜ƒOû ýñO»Åë'úز¼»§çŒáUS(>ptšä#ɧw¨uÏ—u&]¼8“vð¢s‹-¥f} pÀ„èy&nÈ#¥šmœ×º£¾Mœ3’^á":Æõ2Cõ™úy´F^1–„:‚$ÇÁáTvÒ¯´^ÁëŒ3þIcô/PFÒì=?p3¥.b¯Ò”vo‰yƪJœQÍu°|èH4„qn4?I‚]€²ž‰˜IlþNÕ§ ݱÝŸŸ\ÿ¿gN<C¦áØr™]sžð.çøß%<¹17ù 4ÖcÚEE †°¼y4+Á±ø`*’¤N¦î‘Ÿ  7“»ÅcáÚ¶‰ü±dá´a‡6¡¥†Nþâ«æé€yÌ5)®æ79ÜÏÆ ïŒ}¢XþÓ9¼Zå 8S‘Ë2«?êGðDȵ®žëšÈð›sÅÏ™‹hФ_ºQ¥È1md¹è>DÝöž$Γ,ëȹ$NaïY?ý­ßZÓíãˆY~‹«•ò+Œ”äxb •ð!Åi®3>h}7ÆîSô~$imŠùštþ³Ÿ„ãRwbÜ5Õ¤ÛÌ|f"`!Æëÿk²¼ùѺ£19ÿoËŸ¿V†ÞXµý4”¯Ô'Á˜%°Þ¨ ·D¶>º LýaÈïþ·vÛ½TŒà\æI¾s³Û’Õö£«­{|ŠbΗ„çÐQ%4¢’-WýÕip5­\&4iüÍ2X÷}íhÏtó¼=¹6fQ»Î7“VšÓÉ|~YƒÈ9àCÙá<Öc'úǪY¯Ù2YÅ»ŠlÚËã¾ø­‚,7Î}X[”¯HEKÕ/,£×yùùKUÙ1Û ½o0àhJóê’ïÎ7ìú½=„ÓÃùu2=-‡œEm•þÂqÌ#ñÇB¬ÈÌ3`©rÏž•œ}ÎYžÒóEãÕ¨h¶#±£ñ¨~+-†žñ? Å,ó´Í¾Ç@?ì©“)l u©…©Yã65ýÆÄÓÖN7s¨±V '1¿SÁ‰Ü \4sÿŸW)™©³î»2kðF<¾®–ëSCð·y$­r¬ß=C úhó4öæ/}uz§Q#Dªn_ ¸s[Î…ä·^/ä=A”*Xϰ W}Zc肜Æ6¾g«Ø 7ö¾{ñ)×@›¥µnS* ·žI˜ûÐ{+S­Åš8Õî§Šœç“óì– 0ëúè@XÚÞ·"2InʈŸÞ5{ôo^Óg¸Ï¨Ð’<ãYúì{ŒÈ®y. t÷ú&úO'¤va©>‰¡óm@Y‚cÚCê<|„Ž99¶³»?îgõì«°¯V›ïFqL„šy†ÀpCŸ"Ĉé¤NÌ#T'9£÷2‹û l c ¸o˜.¦B~Ê<¿"âzqùž©5k&(.×<§(Ë\¼¤©V×À¼’ð_~šþL&¿9;üh­aìvóŠªS<š‹"J¾ 'EsÈP+'„Ñc²Ló8Їþmé‘a(Fصb¢8Têê2; <ñdꈿ…Äמª¡ Òi×ûˆËÏe’þ2Fm‚¥î¬ƒ– qeàЧYó®Óñ}Á ]ËáÅTkž±þúÖFÿuüx¼J"yQ.Ãu_ ¤øô$¡ÞÂá+BÇÔu'W8;|Ñ 7Ÿs%šø,<±§hÂøÁ¡Ý§©¢Y¤Ñ$#Œ†cë+)sJ‚ ~þI@Ë|ó#˜kZÑ#,&vkú¯àGÇá 0 Éók IÝuk¯1AßíböIgðäûÒ”Ll@öì“èz˜M_ B;ÍÁB`î/]ÚK×#3FY8ïzžU³?š®{Ïo…4ë±|˜»î)…—5—Ô‹Ç© ™>kB°ú/%/|Þ´™Í[W=6ÂÃW\÷=_;²&+`ÎSÝx–¶fUÀüÚ‹C59b•pšì--íCÃÜu²?Á¢[/cp w%eûˆg9o¬.$\ZѲÊÂ4ø>æŒ)]2!6öžUh®S)ãm-–×föAe°©q´ð€/lç§{Ä\ úæO›ïÑ’vÍ„£CÿßêA'K…r;zçEï¾õdî»ÃI¬[D¦-ŒGºaD¸<ÇLªcfŸj³J{ àj^+²`]Ïò?üfà¹2.>mJ“ÍBù¼Îx[ºIþÍÏÔ¾©'Z,#ÚýXÓÊÜs>&× q\qAºŽx/8ÂS¯’»_J5èÇK»äœ€?Înʶ/n:æìsé(Úó©ä,t*ÁË6¿¯q°+ós|)O÷–0¯óç §Rÿ6Aà`GK£“D÷¹?66€ht+ —ÑÁY³R½0Ì(pî#?"ŸtômÞ!åU@Þh0>äÀÚ÷ö#OÚ)øæÈ涉¾—bÃì„’Ë&ÏÈôÉÝ:7q¶]6Ïi¬YšB€¡m9•»œ²¤è>U1 uº§.h¼9Ù3.¿)DwÖŸ$/p¹ùt3%ER5þÑh²ß›M¸áüÅXN ]@úb#Юëú.\-à!ØRÏ>ÿŠéýVŒÃçt)r~´sÚn“„¼Çéˆ6Ëoo²ò;l½÷¨îúÊAÖäèÜkò…„6R]³Iúå‘h)*D*À$ìðr¢|oF£*Š­¼ã¤%bĆ˜tWïÑ–âÀ?‡°××êƒ4íZø©1hùi |] ¢A ͦhbdßbðæx?føMÈÖyùA„m¢äìüÄ×öÞ>hª9Ò$x¸Ì£ç¨epã/~Uÿún|¢ü;–äéµ”tøDô}Î, ­Rý¶Ìå}ú̃yž{ÙѤøÔë…˜´1íxD_…¢ÿ—À¯Á¼Î,S[~ÓF[ŠøƒkèÚÿùþ戙àÀFyt¤ÆÒuõK<#`#—‡Ü° £bÔ M»âX}A<Ôè;ÿ6¥Ý1G9TšCrVrÓ´Ýä¿a¤aÜ,jœ_ƒ{ L`Åÿ@ÃPb5Ã1ïh‘úOH4„…¦Ðƒ)1°ó:ŠÁ‘›0’ïR½Á“YŸ%ØÃv’¨îÑ×hÖììBeRr]Åœa4~é2Æ|Š$sü'“òmŸ¡CCkÜöW0m,ÃêOÑ8]ƒc@U(»~÷ôHÎ:ø™hÐOePÂàY"œ{æpÛŠ† kÑó÷o¥c±“Y- 8Ò4Ú"qnKc†1ƒÇEX^töŽ´Ñ0°¨^çïU0äfçÍ8YkpšÉ_3 ˆïÓEwÓ¾MpìÕ¥=§(£%3Šg“Ÿ ç„#ÊÅxdõ½=%@búÄÒH‘tœxžˆççÓ\^¢9¢Hš]óÜëc¸ê¾ÝoÆ-©ëAÔ¯©ÒûždýüôuÔï6†Q )¢RïyÆŸY‹U™3HÿxÀæ›…ÔõtCHÀÇ ƒ0€Iºâ(ÀAZˆmŒ‰ÖBˆü”å"þÈEßË™¹$¾ùô½L̘ iÌ¢Íb{Èñüy¶9 ò!ÉÔ°)z‡;,ÍôТ£1FÓñ¼`ð4£™wÓš6ÇÇõÝ+UôÑ”°Ó_¡gÅOóc®E·×­ÿê|Ü®4£’ÎD¢>"L7©ËÃ^V–<¡ÒêÓ]Ìê*@†¶)Y)×ÁÝëΘÀœ‡Í˜ ¹•?T`¥Dªˆ®Øt‘9N»-±™ë¡UÅ 2 _JÐÏ&^ágš1Lÿ4;Ï|ïèÃ0©é<ÀmcÞÁWÂ$Uçæ‚1Û<¦Å”SU®ôʵ˜Ã ö9‚œN»•¾}ûmyýócª9i,”Ç”¬kÓ©œõ:áM¡b_ Zšß4²LÅAuF€šDsL[ÐtLÃ*éú£áàÒ÷ˆ¨Ä‰ïBâFRM]@}Ûm÷áB¢òܧÜãÊÑeÀ‡Tà™óC~ŸµÚ…TwŸ³¬KÁ¯pÓn´\ãṲ̂N+ ÐK“Œàà˜!2áü €p­€! ‘á€P)¾üÇ4kçXâ^ÿR‰äOéU8¶,7Å]%Çú–f‹f©Ê$ÌjBi¾èÁÖ?üZ:}î)§« „1ic"ªÄ¸à ƒ7¥o¬úðÕ1(ÿËþÀž¢ \˜eÑ,ü¢Ù1•И ëZŒm0+$1èc§ZÕaRˆWgÁºµ¿pÓ? t£¾ÑŠ¡`½r*–ÞÒ<Š.æ\Ž(Gæ=h ¹û.$³ &בOÛpƒ'*È|ë•ßÙ2àá‡ò¼éº˜+< qWͱÙd%ó åv AÈæ|œE3Ð诳~^+§G¤†ñ’8àŸW}¤M6‚bð²½]>u2¼è3Éôc=fËÒ×gÇ>`’Žš—5š¥ßë;ߦÖï³bÒ ø  ÛÖ=7 C1`‚•ž@Ð1ç¶¹bšH(S°NRµ…\ œq²+Äÿ”ó­Nî­z¡MLÞ·S.ªÄhU +ý¿ìÑÀ`ÕÀZN™JËœ¸Ù¢ ¢š†™M<•LÄà FÚPÕï«ÃÇT4"s‰>g£VLtSQ)V~Ž9ø®s Qš ~P…ÏË÷4w~sGðËô=Å„KÛE ÉÞ)Œhž×Áèæ]ºÊJËç‹jò;-4qÈúĪ!IYÖAÄj¬9µ¡1øë4ËBÑñ¾ç1;_怫Í-Ü̳ízD×ãº'±Ïó<šB6«Õ$[VAä–¸iÝç9G—Jwö ó" ×7DñÀF]›,ÓvÐïsÙêMj! 27­B„‡˜'£‡ÝñkêïÊî3éN-pà6&Âìë5iŽLÐU„/Ib…Zï¦?NùhÿºúÑŒ£)Ÿr2—¬Hó%Ä)nÅÏO ?ÎL±Ãø´Ô¹BNx“8ŸÚ)U·=ç˜"o™3Õ5.ƒà„9æ“ÍšycË óÍù_‚ë¹O™iLwSÐÏǘ1e÷zÂ9ëÓС¢V‡è§åažÑò9jÈóSø†ÿ@tsŽÌ÷ܰÛ`…ñÕ¾Ô‡ýá²hnÉS‘,«%ú}ê$?}ºK„~pðsªd— ¾H­Ãƒ]„ÀQHÁ§Þ½VH('„ëiêø²¥¥ß«o“Uø±Ø=‡÷Ãh®ÿíkû&¢ åº¿ûã×I3üËÿü¯ÖçÀÕùsÇSÄ DS5X³'á´r¦: pU‘g̹¥jYxs‘# †u*hÚÓ‚& \š OLb¸>ðÜ”hÖ†˜ö5Ú†$ò9è|^‹ðàAäI3„éÑu'ÄÒz_k˜èƒ˜pà± ö_`R‘ V­»½ºçóÿOÕ-g–déyFD 1dTeUu³›S‹ÔH3Èh4™étºC]€î@§(“Lj‘¦&»ÉªêÊÊ̘Äè}¾h£v ø±ÿ½Ý—¯y-_î>òk<ßå3 PÀÞ‚3bäJNó€ðIIeÌoÍ¢o ˜0rÂLNøxD ‚‰Ìiwð'á´=/GÛ`,ëx-uuYEõóóG¸>¡Ct^¾¶áÑä¨~Âx6E»TÊyã@]·¤ôº|Ÿëç÷á"5ÊÕÚ¾<¡þ²þä_/Ÿ§±³$ptŸâ€okGÐçTl!£Nó}”\ŒbÝé󈽭aÎìÊ3{Öz\„œXóû÷~ù}+(h`WgmÍšùÚ~tµùúEš´Î'žD4€®Sï½¶û£w÷i#‚ðf¸ëKæ{©39î˜T¦ÃÉô×UÖï!ù‹Æ ­!üÄä´žg§©Í®¹èÕgL(vÀ¸}ê_}µ¹‘˹#¼ÂþÜÓšˆNŒK7¼·Uõ°s]ë%aºKÓÒœÏbÚÄ».s¹÷íɸ=UÒN®å›\¶ò0REÌžé~V¤890ÖüƒÓ¬“´ ¸3\áED8 ^(fÙ=‰Ž +à‚;ÃôZÏ&?R5ÑKáFdÝ8çâwXç.7DÑ.SXOšQaÍÞ?@ógtKp;\*¹¾UKñMQ‰«‘r®ý|ãlpÛ³‘ta{É9’z€ÍÆÑJr Ý(„žœJ·ë“Mß7ʇúÍ›W º)¼"„øŸÿ÷òùzòŸüý_¥ÎÛÍóEY$ÄÀ4Uǧ³$[\TW(”W2úˆÙ»7Ÿ¡¾E™RÏ6½ Næ“ã=“þMk}ˆà‹`Y•H¶ÀÆ® "‚,Öˆ¤bƒÏ©ë>Î,õ1oÃnwõ9æí[¸Ì®Ò´Þ®¾bAÆ Ý0áBT&´NÌ8¼zU½\ãǯr—öʹ¯º˜Ÿ÷·?¾/ Ì\" ¿ Ì [€F†ÕL‹mo-ürr¹úH×E¾yBc É1‰…`‚d¾-¦ë ×jg3¹@®å¦¦ÝnzÞœ¿M¡VR×;3$%ö×¼b¡Zsl"ã®e©¾1Nè ˆ€,‚ÇM X÷½2…ùúž;–¼h«XN²õ¿Iýœý°Ž7`ÎøºÀŒß€€Œåâl}‡bŽæ:0ïE…oJ™¼ª¼ËÆ5wM1½ÿ \ݰýsÉ j§|¾Z#°¬’/9=Ì¡¦MªDb».ƒ)­Ô€™Oõ²(lLóÙ…“¦üµ»ú´£‹4SbšR2x‘nŒ.j¤™H°ùËM¢ÇH˜®íçC8XGõ7®` ðj­uïèK@vZnN  ' là»i åžÅ0 ÜwÁÓÓùŽùÀµû¼HAà¦(cÊÎ{4em/±â=ƒ¹hKU?‡«õž¢l"·o ”9Ùü¼1³4¥†Dê6 TÁ"ks¼0 K-e™¦âªaiæÖµ˜nãB„;x0n÷ž–rb~'x1ògf·þ9O¶B ãs ïàÊ *_SWÁ:©`£?ædÚïÎ¥ÚÄé@~#‰â-꟔Ïûå›v‡J³üô!Ÿ±Î¯ò5~z{{ò/þÙ?˜óÉ1å[\©—cGjARóEþGuS»Ë1E ±E00ŸóºÃ­c6K EùBÌÄv'Òô‘Ô¥¥øBgSXä–DÓÆ˜m:x0sÊ£WchÝÅñMf6úT+º‰ùb´Äa–Á*´MÖ÷«cÚ:܆B½%Z•ÇŸN±ÌC§-*úÜž1øÉúY\jÄΪ9þ¿ú.ƒóÂ76#Õâ }gešsJ˜@æ»`±×C–FPƒÑ1×–,Äì\+ï]F¯S)¦˜%Aë}¾ø—¬×§ž9Dˆiì¹;ï T¾äWm‰fôXŠ©(|+µõ¬ì„£È¬‘±÷ô¿ÿÝ߆C§Q‡ÇgY¿N_H‘HÉƹ iàÓ‹lÑ“Ç (Sù8Ÿëk^-Ž_VCÃq¥:CB4Zúà‰ð`ý|_LëR g;Ûö2Í÷r&MçwÊ•HUÈcIg4¼5Ió$käjüèwAª•{'X ,¸0f¾G¿ 'ù!>T-3Éë;DpÑhž±£S t£¶Ãô‡|J}«ÿùy]|K)š$|0ßv«ú\@%¹zž“^ÎŒ&ô ÿÁŽò€AÔ(2‰õÉ<'Ì{]äHè”0fL ÒÞ}¹n£õ¶4åWªrLÕÕüBå\ùTÓLëiÂf)ÅŠ™$˜Ö4ƒÏÅÀŒÙ Ä4œ% @+ɾýšÓ˜b>LÂ%cºÅƼ¨7åqÑ|6†¶Näêüªd~%fïÆ=û¶¿Ÿªˆú_þÏ¿9ù¹sx ‚O~Ùÿü?û³Þkb~âÏ1¹zÒ•sE³NâJõ׸Mec;b–H=XdÃÙ´ªËn6\¬*âU%YæZóN^¿T„Hòß]mEçð—¶žˆ¶1í%Eƒpó1 ÄG`>«Á‡T ^ Iu‰²v8:¦Î{§¿éþø©ÁDÎs‘è@û›–’&˜‰m|‹dƒÛ „€ëgÓAŠ.ꤘk—äø]E¥7 4j—öy°}1³ß3`¼ëþÇ¥/ªT)BpÛ fï«ø&h Žêè4¸C{êÿ¶:Ë!œw•¯¸‹4†ºèÞdƒö.Ì%}Ü%Zž[ÐïŠHÑêÌbü˜,Ñš&¼Í„SŒùô¾ ¢!úm‡Šà¾àö$¥7>žü½_\Í_—gý® æóRBbqkÁÿsS}/ƒÀ#—ÔJ£ñ;oNþøK¸}P~ˆèR?×Õ=¾xùìäo~wwò‹76~jlÑëÍ/~ÕŽ°?¦/:)½ 4Í}^Ðú¢zò¿.š!5î<ÏWÛSŒ1çgd¸È²2‹™Ù\ã}9«9 ù‹IB£^ôÇÁ\& ƒmŒâ3&°P­¼>DkϤÕ|·¦1Ó=!›’º‰(ÒåÙiã"HÄ L&‡žfÆ´ÿÐÆE;Ógi…ÆQb"dÆ€}qì¹’ ô¬u+üX%F|Ò¬Eþ]R_›ü|` ܾäß*Ù7måŒÅÛ[DdZMq(¦¡I¤aLMà‹Æ4&gåyñ@ÚF°R‡5bƒ¤'%·ŸæÐ8’È\‰OÖ\äa¤§ù–fì‘èâË»n(ŽÚ¸ª‡I–ÚÙQ}'°p¬„…K×ͤæ4˜¨ù¬)V 6úÆ…77ïN¾KÛ/[™e ~,eò™ÐîNpord\XÂÁ¸D•Üf¸þö‡Ÿ».Â!ºlº1Án8iÇ )â…–¿R· $Dq"…XN©Ý5ó‡X‰×La)*é¥Ê±F¥D8¡w¾樿!Œ¦TîäÂtžÙÎø}¿< î/æzÜóENÒ… W*eO~4ŸÏ7ßà@ŒË[³·É°”´²ßñP÷M5ÖwH¾w0uÈ“o4æ ɰ«\\`áŸå—]† •ßBÚúÍ›ëÒA›¡xgã ¡q2“ CÁé}ø°·Ëv—Õoß›– ^ «` ÉŽ5Ç|V~¢s;>›ùH°e&Âz‚ASö|ï˜O™Ô kc»Ê—T†ÅsGlÌãtþ|²4:ÿPž—6ÿ 8ÀøÍ,íTôpÏP —ïÞ½ŸØ7|7I£s¡§ÕáZ4û93lj,wæìÑ5Ç\²uA¡¶gâ©—p~Wµ•Ü.çnQ’I„fi¯ðpÑBØêG{&=5ÍÀÞwæ,)Ä*R0æ_9•€çç¹È>ô¬Ý4ùD.§©Ê``—bÙ]TèšK%Ùü%Ié†ÑS¬lË÷}c<®Þ`§upƒ!„á ®c[ާU¢H+t‚NÓaÁYÓÀaUÅ ×B0pY9—M™æ%áƒA°`zË%çæ0Ñ¥(Y^K;j·š­¾h/ûýa2@(;ñ7Ö¹ß}¿šMÈÍŸšÐàËÞôå©™˜ÀT¥ ÿŒÑ&#(Û›&ÜÆ ÀCÙ í2Q/Áy¬­HAžDÔ{q/ä„z ÐmÑ_‹iÌ~(ƒú8\*¢¦&9´hI.)Íæý†ØÏ˜3Õç}3s†z/ABý/ºëWhôB|W_Ú ébHìžRuÏhß‚q—!š ±:ð2‚Úû¡hÏÁ/Ô¼zuUiZûªÕ“+×òiTÉYÝ.…=¯-&_Y“¯äê`Ñè˜Nï·5†QàÊ´›Aø«þ¼Ê¤xý(Ø(±›ìvÂJN Ù.ÿ¾¾Ž©Êó˜ >Clﯿû¾—𞯟Hâ‡7þ¸húÆÝ9 Èo÷„iRíq 2 К›Õ³g7„(Rï÷£´+øê‡Ÿ¼` ¡8¯%ÔáÇô©ìE‚¼×ððc}0âÚî §?1O õݻ뿙ç>ÉÐLu¿Û¤gSl8?!  PÁZTÕ½’Š ”PÙç…†2Ûap|6ŽîÚ¤9pÅúŒq£" <†k<¦æˆò˜!$³–7¢NÝõ8¨Ý·PEÁÑv„ÝdIW4°ÔLJ¿ÿ¾µ½Co°ÿÕm1ìqçè®ÍÐ ¨£áúq–‰»4»rWK˜ q5 |>AŽ\œEþ¤—>Y2;BûIÛ cá„%!ÎFò÷8ù´ëœÜžÌ;Ç7y7"ZRu 3óã²+ªöž¡¹74é“à»åëŠä'<ÉŸö¹_20ó5cªþ­ ¹h6M#r;Ôy0vã¨ÿu?^¨ÙÆÏÔã‡ÅµÇ[Wxqe ²ˆŠNß¿3õvžúLÍ×pû4Æ$Ir]mÑ$\¥òî²¹g%š¶ýð¨TgвŽ1 ŒôS[u¥ B‚ïêåïþ=ÖýÑ k$¦Àp4ͼ¾ˆQ÷»TùšËÍv¯îëçx–’ƒíkI„ טýÛO)sàá~¬pô÷[±hHVReÿ¿ú'–æNò³_„eÛYÔ÷áÄ}gKË(1ñ˦›LKŠÖÙšˆ»V!€,“tÛ"&Ñåm•4ï7ßÕy‚¿plÖÆ% Ó¦ú n†ccJOl¾þ6uè>f§$hæá5š±:ŽÏàÇó1¹“¼°bzóSÏÚò·ÿkQsn…M67-Lìs§ï¶f§ç?ãE35ŠkáßÜ"JâD»A’ÄáhWZ üù€²ò"í ÌÄÛׄZȳŠK_/-BÈä 1“‚%ƒ+{ú)Ȱ0Ûõ6Ó?[Ù8àg;ÓGÐx9 ԛό›–œ»sY˜õÅš ÂÆœà§Öx"@Ï>Í„ïäsÕZc+g1A¢<0à>j%c–àÄHL->Øø4m:.N¡¨M¯Yòj Ï´eŸÍl¸"͔ޔ.[ƒ‰Ç5é,qŒ nÞE|qCÛÔîéÛNØyý¢hDš<»I:M«™R¨g©Ä©Ô8Óä9ÒŠðHî¡U$°ÒšMgnš§Ç8T"lß÷¾ètÕ´a¬Än½Ï„õ¯×¦yÒó˜?K•ö™´J † N¹!B×òƒCbÇÞ5çÀíðÑ„wþ'´×>ZçQø–vÔB$G®^?»<¹~s‘d¶Í[3A[×:)F&~q £ÞO€ô»ª~ùºe—s»Då;¹øÙv øw¿û©ß‚9XΊ`Ÿµ:Ǹ?'œ¶åøñýÏó7á˜`YeøxÙÞÄgÓh †œÞÅÄ’ÛÝI“ì^ð¸J:ô|÷v×–<1L+%ð1“w^Úgem={Ý¿ØêÐZuOÙHáXà$5„'4ÙÉú…‹`Á¿­‚^]è6 í;ÑúS@ñÑZÙŸR €Mð-T*´ ÚÖc÷™=}óg¿8y[ä’…îlŽæörvSmö”šMÅËëÑ®TˆÜqh2SS£ÑV™Ïü™t¤eÒ¤ìEÀZ TÍuÚƒ½›2‰ù¨ïEw¥'ó5ì'Hã¼ Kë$`o®®O~üñÝÉÛR¯Ê/=ë='ZÞ~iê/&ºˆ¹¢E²ÓRC½yÕ#õØXÓlGTü¢iAÚJò¶‘ÁCG޵Ç]sÚácÓI?Eà‡‹´u„eÚiÏ3=|y^‚õ}Cz.On‹2ÿ¢d¯=Nïšþ X€ý>­Ölw°&Ô!¾Y¼“‡L"—;Ù ‹ötÖ.$‰–±¯ Àò…´ÈU¿#üùm+ì{ÄåIYÅÊ›'ÆÀÓDõåÙ¸¾€jKCõg›ÏÇÜvX=«ê–‹Sñ5A¤PøÌ܆Kp·ÌÒª·¶· [å'¥HÂã]Ó®7iñrŒ„lÚ,|ÇßÁ¯6ò¢ï?‹šz|ž­U°b^Ý’Ðßý¾ÄžÿÛüî_Ä®c ·í¹‚ÅW=ëfM"RÐ ²ê€#™æ0õccjº³qß>RðÙE¥G™1(3¹-3AŸ0ms¾#€þCà0V†™Jºéÿ×_þv‰äW™¬Ÿbž[òT<޶rpÈÃi—Ð VD}‰¼iV‘Õ"×ßµj®1ýñãÇúVTZÐP–þ4õuÈŽA✸=yÿÇO'ÿÓÿöÿžüP¯W~ò/ÿÅ? ñF×/iµ¯%iW¨“E¯4Tæ‡0“ôMð³ˆ;0ªËWFn–Þù†_Å/‹Pû‡Ÿc %¢wØ·»Ì.„@IDATÑÝÕ‡ Œ¦;Ê#mÜ)‚¯Q?öcóÊÒP‹Ì¿1…1ñ_‡V%aåÛ,  ûN£ñk¿?îéÃÆ„ÎÑy‡WÂ{„kJÉ™»— à«õ¼%½ÒA*€ÞÿônÅ*š/3­Eáyé;Ä&ö'§mS¼£>ÙhÛ1˜šáñ¹ÌûAðRž»¿Íƒߎ^ža BñÚãu è@0íÄÒŒfÅÔª¾±Yáz©Zri~Â7¤?kF þ:ùWÿú·Ó¤ÿäÏ“й‚å".°´ÐT⧘O;¢Hyí±&Ðg·–éa’Œ‹ËðÓ퇞§˯5åtžO¹’,f㮠ßܶ‹gÇq]F”2fó¥œ&¯œIr—IÞÜtcc µU<Ó©µ™ìÆ "äè 0eÃèJÈ’PÑÇÚ‰ (ÇiËírEº›q ‰U›0Ïì³TÈ¡3¾1íf\Ù°1”TÚÎ~éY¶Z’³òÇŽ¤._[S×Ý?Ö4ÇO+õ\ÂÕ—RBÜ5*¿¡9}zÑIV6Íd¶“¿¥í¶Þ#æÞ/*RQ÷·crY•îæjŸœ·àœ¿ØŒÊmʦ‚Ô“E+ x[t´ ÛƒïÁ¿K¶WGõ&Úƒ0Ú ð {€0?Žæž–àsIkPçÑ¢AÐ œó$±N.Í7_ „2;Í<€AÄo~ýæäüßüõßíß§RøÝGÿ'Á|V`ôgoš‹¾ÉB)ÄØ$v0@š5B°…Ó%Ò2C(¿îúœÎX' 0a ¢”_Ÿ•¶p”•!oæ#€©w‘!‰ýRþÇ>Ð_¾:L2X ,F”"x_4©ĸ¨<ü,þÿå?:ùÃûwåüäÍ÷í{‚.cè'qó×\Á‰fsá¦EfžÒT“¥˜Ý%bW*R¿oåÒݧàŠÊ"ö¯EˆWÕ­`æË’Ñfž¿ë1âóË«“ó_¼ˆ±ÏO~x,ͽ¾¾NëÕÞCšØšYHØ<-JöwùÍhœŒøéäá\ƒ1ªDqŸœ¡ ^Žÿ³px³º>5wºé­Üß›ÅáZb:“Šáå4êD%rº²1ÝX¾Œ™Ð¤Fb*Õ8¸‰ÏÈÍšÀsìI`¦â´K˱i Âý~®(µÇF|FÖÀI\L¹ã÷õ=¬¦%ßå‹xSùáHî¶~­Dýá¤%Àý 榜ع²Aâ¶_y—%—$±×÷û3ôý¤³»ˆE{h4†/é27¥Qcã É -7ÇZ{&ò}w›4Ø’Â UŒ¼}÷!x mQ+ÊÑ/¯žœüçú'ë÷çUUè?ÿpª °ÉmÉGEÆ}ÿ¾ŠÓI‹¬—ù^˜Œ—_ÅT¾OÓ½¯²åyšuûd‡0¾öøÍ÷ßPT ×óvB8kG­gçe "Nó'_Ú˜ò}Ù]U -oGÿےЧù¬¨?áKÇÔˆâ‚~¨9 4Œ ا¡#-hEÝY­oßß6c’0¯Ë*4³(›ŸÏ¤MöüØÇ¸ ‚LÃ)œP!M;Nó´Çêëû!»¨”KÙÿ8æ]ázëºÓhè2òswõÖ¡z¢ñ*l/>p ®žxÀ½bWnÚõY–#üV ØrÆáà‘|oLd”Ú#Úøb 7‡®n2‰8ÒOÈñâxü»ŸÞž|ý\=óûŸÛžè/¼üËÿ¢~:N šµ“_š¢o,÷™Œ_¶'ôט–öcªDò×EÒÇÚŒÆT*ç,||y¸„;¸e~À+!°’Ș&ú„/f/2'H„D†Q‰Ö“ÆoQjîÊ•ª|‘Ö ±=/’É ¿¶Õ½VuLâwE¨úßÌKLÖ‡¥¾òŸåG>{Ì…©„ KˆàíÞjQ k×,3MID“’Ù1j87omù¥ÄBËoæCÏŸ¥‘`ƒëmîÅ}Ö H¦ƒñT^jW7ÃÀ|’EÅÒ$2÷îì¿-V¥'vh`×oÏÈô'호ç6ؤÐV4"˜iË󪙷À¼vu¾±ì?š·íÁŠnŸö6†pÂ¥0CÿýviŸ{÷þíÉŸýÉw=£áC <§¨20vѢ࿢Ìlýî €0¡ÚJ³À}õ]ü«_·Èº=›{ÿ§üÁßþáíÉßüþÇváqòÃO7'Z®ï™Ú¬íÞ–´¾j:ì®(ôáäÕ›—+ÍzcØ/ñ¦$õM Ê—òŒ¤/“%*ßY»4a0{’×pÀ¼ÓÖá—•à~€wÇÅ— ky˜i%SŸš²:½:è–âŽhxïmã"®Í\ŠZ*=*å ›s…¶†ŒûÈ!cxøÇ hÂÿמzΛ܆»7ÇVÆñÛMm˜ñ±wÌM.åúäüïÿ›ªº9’WÇR—8¼+øUÂ~Ò 7f¬—Í”Ôß&¯cRõq›š³¼ùFé—).*Ð33ߤ#3søl*€;×Ìš‘|GeD·™½š LL—–›ÆÉL>kpßç¨Ûmʚϛ^r¥DêG㧈»Ñe!÷ùÃ?†¼‡“?m–bßÿð¶#ZcΖü(ƒ>ÁüóOG„­äŒ `&(Xž/âPN§Õûõô´Àrgá`´/w^pNûL\8ÄÄïKîS;ãY nÍqL5œöþ,Mƒ×§Ët fÒ˜˜Üb:¥´S~d¿–µ%—(]ÂWÿ¹ èz. +ÂÉ"òi¹„ˆö–k|_¤&§+Ê]:)m³ýÿ‚C1¯ÉùÌíÎÕ»ñh8V7®ª§”Û-^ÚŠ|!Uf@þðÃûü¡Ó“_ýª©¨L3»ð>\Y#j@öI9æK‡Dù«Þ5##ÔÌŒ€BŽ(u•¤èý‡²&ks'Çä_››%Ep÷$'ücfw‰Ó8†?Ëáå£0] §µ©²ß Z2š£«äKiHئö1#qe]iêÍ Õ¦ôMbAÕç/·#âëñW§/wMÇP™×"ä ‘™Õ´Œâˆ·™h íoó™1»Nµty V¦åÚÎ5A´ø%ùƒ73DÇx‹bÀèrð¡!¯kÕéá€Úú c›ÒxØÌ—(ÚØ¼ ¯ün´y,ÜÝñj}Ëä… èO#©^æsòŸd+P›çÂr¬Oƈ}‘–©6z›o-_Õ|Â_ ÿÈcã …RF1õ@ŽM>œWioƒN¾ì‹~·Žä”zŸšäÖþøîöä÷%¿»o›ŽTþy¥B+nÌ9nçÕñÝ7s`Û3f“CÌs„Dc!Q÷B¡0é€áyV§pÏL“å¦qlµ±u ΢ «y–ÆÝd{w yôÉÑxòÊ“wéè­ðÿÔ •7]´…ím“ÿÌŒ‚QsÊ7­L{h3æªyâîÛQ@½_†>ÄhùZü™mÌsªìv}ì`Å}»m}* Ø)åù…ª–¿VÂÿ´çVyÓø/"ôüÏÂ:Ø{>WøQÿÀw ' ÓÎ<î½ÝF7›öÂ%>Çɇ³ã$M’ËL¨)äÍÏö³áÅG52Œ"}ŒO»˜ü'ûטø3 ËC>»Š‘ä¹mᲘ=EÔ8)Ó”ÐÖ‰G4´.Àž·yC ”ÎZë¾5Eò›”€0˜9mV –ÐnÀ~ûܲр·U ³^C„®áäh~ƒíÌ@ˆül»ª¬Ê%ç†9HÊ“€³ˆ”k‘{Û‘Æ™Æá:OP‚ ŠI똉ք­¸Ã\¥AG,tN[Lðœ‹,”:úÇ<$½é ù½¡6CòÏÎ4[mµ¨5 †H}Î$õØÓ˜wæ¢w,üŒÈ¤Üv!YþmØø13qÓ>ÍÖ°Ì´A`Cá¦0¥O[žH£›}\d h¹™©8Eá5ºþô^j|v÷"æBùÍÚE`,Q£Ù ’Æ%¡]>T_+Á'^-Õ.4 ×›¢£å5b‚¶4MãÐE?=¾(´÷~øùÑ—mîÿHyå„çØ5) ÖæÇ¦ÝŽÃ¸cÀˆÿ!%ñ!÷ì…`¨vÍç«ÑLŒÓ˜Áv5>i8âf¨8"p^:½½iNµJ½ÿôW¯š:Lçy»âœÆ¥_3S"4ÒσóªŸohÝrßM¨¦~—ïÛÇ~‹Ô}x à·oýÒ¾ßß´)äc ÀÛ4{…¨Cô*›ƒAÕÝY§rùplÒh[ÅD¨\Ž´¹Ï$5³-Ñ3¯58JV÷žï N¬CtÚóûaëOíd‚]?@M`¢“™#Bâyõ”¾ ühdõ/#bJ€Y ˜˜'œÑlš\÷U½øhgR„2¬XqÌÇLJ.‹Ž¾Ì­‡?ßËáJ«q?} ×ÀAdxµQKe{=é3sÕvèçCÛ$!¥¶ œö ˜GÓ~¾Íz\_%À š{®j;@àEÍß“ê mÓ瞟„y#Ê•‚ã¯Á@;ç2@^¿äÿáð7-±"N£ü·»ÖMð N“| )WúP­(q~D£¼œ}qh¸>wO- ‡}']Ü—^m¬äÚûœ–Ä@Y‰plB¼­ê ç Hº'ý§¥4I,ÃR¼k®¨½·šÊºkWùDæCHopÔÉüÐL§Dk6K|¬©ã+mcË~ªšq­ªŸÇþõÕxIçTáž#‹ mÚ«}]ø‹ùó<‡p#Ct ÀS™Fª¸ô=ùe~»\ê‡Û·õ+½“PP2Î14?•å±³„TÔ–7mŒVö±¤2,PQ÷18Ó\¾¸ýPg}ÞŠöØëç·%eò:Uö^[¾×¶óÂ8‘ü­Ùþ$L„;ÄFDœ ÍuÊúÚB!Âiçòvó‘¦Ù­¹Yß§{ÝÖøSˆÖí™–0HzEn§ErŠTë'rÕ¾¼FêäÇ §×¨‘åÖŒå"§€î\¸ó¸]gcH@+PͶ îD¾˜èR?,¾'¢¨”ë@sm¹C‘œ%]Òp ˜Sx ~¢ß>î¢Ù\èÛô£ŠæñqfGCÚ4>¦ñbHB· Ô§cèe0ÀÌâ¶£L-ú½/$%ØGídi¹,’¹ï^¼8’ÿ!Ðy'±W=œ|ÿúuüßœ"VöEý#S¬¸ôOɤ𣵎ÍcA00 ×äºÔÝ… ô>§’³‰XÇe@´ÒéÉËú[[±+MË_=Wt‰>9ù)ɸú@ží¾Bç‡cf âÀwmŠò˜Q'È„BLDwIŸ˜Øçß=kÀÒ>rˆÊ“HÐ%}!LZþŽùÉLÆë}ùKÉÞí%“O«ä窅?úè©•åKÎÚø<{5=¤é/Kµ8,ú¤™‹«ˆq—_|Æå(â£Dˆ§ eâ?§9Í…Ú•µ´X~'× ‚Š˜Q⇲ ¨¡ŠY^ÐÖ»4íÅkÛ¡Ñ]ÇR¿òAYu… OBÖe”ÅŒ«"G¼¥ŠGõˆ 碢 ç”`¹g´+Îlb*ÎÖpaK53F¯Z$Ð$ ðPaÐL¶)º-ˆo\% ðï*ýR;/¯^üÔž…ÖV!O«4ÝfWÁا‡çE0Ë7Zè…ÑLo> Gø7çÞÜM8m¸ pA]VLaªq²×UÃÈóI— Æ ißþef µ1ŠßûG‡Øð†‰#ýÛnZ®Å8ù_¦²¾kÚlf¨ŽIãò!£¡4ЂŒˆýF(ý'ökæò8.OsÁ¢1ùAí;êÔÞ#ž¿”Ü Ÿbˆëî3í´èuˆòÓÂt%Z¢½寸 ãôR6Û“%÷ãK¹ Åä1š4¶\ƒ?My¬÷È?ê=þ¥4•-™&ÌfŒgýôù¨*‰A"*¼ÂýDpW‡ÝÄÔjè˜a÷Ïš›ßÜmî¹ÇvI’Ûô ñmŠv1ui^èƒ#þδpê"™¡5b¶’õi)p)ZÕ¦éEÉyËNïlï D¿Væ^ÁÉCÒ!_zÞVÚ]ÊÆôh!B31¢õž‹F&,$¸¥Õ »À°lDô›0ƹûPŸ¬)5'¾Ë @AÓ̆c„-Q=¹@!@ø:c~pc©#»˜ˆÖù£$Jô‘óÇ}Ia§(Q×ÒÙ¯01:8%#Ú€kàƒ±i|3ÕѶ/;/o÷›”„þîúåæãÇN­Ì´AԜǠ¤ÒRB&LyØu¥Ton烧p—ÆK¯õ³ÞrrÝt-ÊÌóqå÷¾9ÏLºëX„ƒXûu°¦#9 ìÂɃzˆv[Õ3äjzk63N&dßè´ÀËa/bŒm×cð·õ¾ùY4#Š ˜}Aúü¾ûl>Ü‘k„@.VPÉWKƒ$`};0ÿÖñD¿OxêbIÞ—–a]¬[ư_ÂÅm¸3hÇ9¤{÷Þ–l3/,Dí[rº4u ¤Ž–6ªO)©^yÀK¡š­RÑüN¼z.L€Áš‰ ¾ß—7kp®ùoÝ£I·fÒùòÚ4ÖѱÀ†“Ì\»ø_“<§n±¡4]Rb„äCAµZÅàß½£~ð( R*qyYåtSx6@ èçå´Šô !RÐ`—-SLÚ¤(›*™úñ§?fz“ns¨•žŸÕžgæDKÐÒCZøhª§eðmƒ«ÞÉZÔøú·ñ¹qýÚh3“\7Yƒå7CúüŸ~Ò.kL1’K‚zÕĹŸ[е A„tLŸ°¯ÓÑ©¾ß'0ÎVq ÆZçóo‡³†ß]õ¡žProòv,—)4X§3_• …ë¬@½ö|BVÆÃ|4‹!™nÍ’Ôt†Y¤þ˜rKÊ â$7øŒÈÙ#,ÎçEëÝXÚè€ CZ_â:%ñ$cy0€°wõ¾jOpžûÃ/Ä$ôô¡–ŸÓ˜ÏùcÇôÒ£Ù;“lZ-‚ļ´ŸH‹[ù¤Í { ô™[Á¡Yù]ûä…æúª©²‹³'¿zóºjš¼•j ÏÓÎoÓ|ëìøÓjáIÜ™iÁϦþ1­)Óÿ±ôË?øõ÷Á{zò]äœ7/ùö÷¬Ì<š†”*Ø¢¤ ~ZKðÄ×µ_`‹1#ª}ôŽú¶Å}ïΔڪ/+1ß7&§±ivòmÊŽ–µc컦.‹GVOÒØ©õì›ó;ÝG“jV°L]½¬´þýÏ8ùíïZÓ5q-ì:ùÇ©†?ýÕË`\Ĩ¢5Qœd/±3À×>3_‡éˆØm”sWˆÌE¹¬ªÇ‰ñpD8LÐ+ê¸nK¶#ýÓÈZa?N:zšsÿ)5ÂsºoÉnAô}lœ‘e–ë!¸¤•¶fòÃkrÒðÈüA²DsñÌö§á9f1ø`\‡’k™6f­Ž€f³îÅa{_û=o‹ð¢©|_ºl‰mì6^¨?ø‘SôyñZ²³ä¾ü¬‹Vç¡|M*Ö~ü¶•xáÕ‘b­má &-ÐéBï2CœnSO¤ßž~Ö#¬Âe<„¡’PŒâ첎-IrþW«-ÚR»,=F žùJuJ…ÛÌF„ÊÀÛ­”žœxðÒºW‰ªD(t“çõõ¤Z3KÛôUŸ?–&à™D·9Ž‘ Ð9}ê,“1_Wºõ¦<Ö?ÿ§T·÷âW'ÿô/þ,XîÛ¿îUZ«Ì~]Û÷ú‰M€ÊýñÃBSt¶ž!fZeLò^ÎTVø¥­mCóL£´%ª‡«L€•ÇÇžwCŠtá´dn>ÖûŠbOÓ—åag+øÍùýú¿Ø{LÙ§Æ%¡l 4žÀc4J–¿¶c¦•ÿvh/ZæÑ?\—F)€k²qDpO“K÷TPáy*OE ZMð££èß ØÜ±`ÇP,ÁÑÔ{…¦šÎ|p3¾|±ÜR|1åñópÁЛ0~®’Hé~Ö!¤¶Æ•òT<騤¿üË¿Žó.IøEuqÿäïÿi-u&lo:™Û~'×u¶Øš ²q ˆ„M‹]¦$NWF´»h ÓBÕÃ1Cg’ÁGªP;Ss7l—…n^tÞÿòöcHÎýNÇ86º¨‹±£J tsÑ®©w•„`À‡°ábü§ÿì—'ñå ìu ˆ>UÅr“i}ÁŠÁan¸£Z¸A¦Âƒ 9ÖêEß^÷Kô²NìÚf{Óœ¯cD à ±ÅLêM‹é\ï*iº¸Hð¼ϬAÉ•@EPøÒ,&øËÕE”$O6åûÆÀèJ#Ql ƶµSú’U0;Ô_”ùL´—ÌìJÂ%Ìû‰6hˆOiqqk|‹/—ïT÷ÉÆÜhÚ”ÿ¡Áò·KBêš㴺´Ä?/Yp'?”¡0eù2å¡:oQN³¤õ ·ªÅ¯²rµÙêJŒ—öë E‰ÿæ¯~—ÃÞÁ3Adnø×º\ š‚fºY¦¬œY­ù4ÉZ*~8¨Ö’ÐNR"‚ ×+î ª˜T—À ¨¸ûÇLC@GËŸÌq˜`Æq.6Ÿ è7È“].nÌaˆ'óÑ€-üaNÜZÞ«wRöÓÜ–-òŠÓýþö¬÷™ûܺo×1&FÙ¤3Pê×ׯ—¾á›aÕí¾ß¨l~4n[æÀ S¹½÷ú𝇠\Ïr.ì$oúeúp}ïü?õïSRY“,<+ÜO.p^L{L˜NüD†Æ}¸1u„7º$¹™AIi×Y~¥zN{ç'+â¥@³`&«Âô}­Ì\ŽÒËY.c]â<+`Ö‹¦UÞ/x”3\j¨ö` S›âDtÐ ŠÂ²à޼­ÃÌ‹ã6¿«ÄæîÏßœüã?ÿuKG3Ç8÷›*dz{r?´FBjá¡9@á µ g.°µÃ‰ ª”g<ÁÌ÷´ÏCt %]b˜´(âB<•Ë=&|’ä«„‰ÁëƒÿÇtó]?¨þ–³{¿áJ柣½X<“”ŒfÐBùòs’ Ë96¼š ö ±n¬¹…×÷_,€‰=7D0uÞ¨¿¦N\3!°¸5ÆÍ1= íÿè\’ýñÚ\°‡‹< JH¼+Çè䋯Ôrüƶ¢ÓE®‹W]ÊäŒ2±l–ÛîÄÔ'\–ð´Â„ˆ}úöç»´‚Œw‘g#ùó_¿Ns´;ðÛ?ü¸-ÌiE»Éhå¶_U¼ ša~FÀ‹ÊÌfH&«\AtSF|™}>Äá8æÌPOÞ³cì„Ü—ª}7‘ݯ˜›½Í¶À4E°"¤ô‚Òp,LË 4aåí¾a_(``PÊž‡„d¿!ÕúŒÞ“†SC³éO^O~“ˆôö7&“*—‚–žéoÚ‰ŸïöîærC6ò™ÕçµS¸0¦p V ä[ÔÞ˜„C¤ñ1çëO~Ñ*î®iäpr¤ÇôSŸõcíÀ;‘ã]5ÖÄ«|^Šâ§VîѺ¦¡DëpŸ_|ÓÜ pÙ¶Á«Ý‡´ß1×,zï÷ÚäŽÉ<¸BOLØž:¹;Í`†¯L¹çºÏÉ ÝÇÕƒóI3ÅÅeáC¦´ä´Ð}íÅ;×E‡¡ûäe91[F éÇwïòSšUˆ}ÕwìÖzæØ¿Å1M›~ Ù&¹µ»ª[W`+̉iU©( ÜÔCƒ´_rðœ{Æ<]Û¥A`,Á„y`°`NùŸ§%GéÙ«‚ hˆ¶Álðù‰E Y—…Ih:Ïîɘ/*_F¼#’= ê;޹gÎø±QÍ–sÑ (Ø8©ÿŽ>·ª¯ÏN2‡HfÃ,ž9#$³6öVLheÙ]ÎúÊ”Òü;ø9ˆÛ8½g_ׄ7»¿;_xQŠæå’n×K„™ n“ÅþŒ‘+<Ížj¬¬8<«§ÄpOƒÁñ¯ŠFŒ[²zSw ƒ>Áðò<†5=¹(yO ÜŒÜ=[»ÒE´.KµYž†R÷£Ýfi¢Ä= kçÔZÖ%C»iÅÕM×јΊ:ßÇtö䘯ªµúÀ/Ùü‡œh…¬¹|aÒ½V ³ôÄáp³û›MÉ·ØTL*6xÁQÞ9O*Žä'*6È4ç§T—4 Ãê§AŽq_?Þ†ØêÒ8a&Bкýa¤=²8€pØ»=¬o0Ò¦viï F”ã°fÚõÐv›M`ÿ6&ãÒ?d6¦>p;%Úðݽ6c†ÐM/ÑÊAÎbRª ¶Ô:b~xáóõ¶¥moeàæ+¹÷ÿ»hp꼋Vº+¡.õµ ißqg¢‡%|“YÀô¯²d–]ùÒÊIÊ™ŽÑâÚöØ0Ç ãäàÊ,3ÂäþºÿÖº·‚Š2ØÖûPS¨ÉYÊÀhU²[æáY¾¯s÷äwgíz€%Ô¨×N_µØúìéË`nòûÛ”Me† Bë~ ´Ãó^Õ#WIÍm pbwfnIÛȃíª3ˆÐPñMº{®67Éß·§åŸò¥lŒ±m…û™ éGÖMí§iò+˜óE“![Ѩc£>÷oÕ͆ßýiŒ>cÚ³„ ˜Ò‰?´µ­9–/ëžÕûÒ#ÝqÌÆD䯧8T{Ór=s´Öb®d¾?ñQ¶‹S)]xÓú=Jz\g9ƒ¿kg¦cËØjÀ:\ÄZNUÆÉf‡»”kË “~¶Ò©:6ý®»OòÒœC<"6òc–#® þ*hlé¢SûÒ)Gô ü(Pëv^O…mcLÅdC”ù`>­,Ôç<R+Š™ˆbƒÕÚˆY‹±çãwy>UþäòýÞÌ!ª¯çjô“ð÷ÕT_Iþ,ÍÓ÷ö|‘f£;;lŸ¾Û û¡&ŽnUT¿ÊÕuB˜ºœÈ8ršGb¿GºŒ‡†ùòáìÛ}TáWÕÙ¢ì{–Fþð}{µtNÕ1ÎrGÖo)¯¢PøU‹Î~|›5Ëâ±-À<Ž íýy<{n%ZÁ:'íÊš)GÆjGÅwlB¶Î çƒ?ûÆÊº˜S¸õU¾³…üÞ=øxÙõäøïþYñA%¡h¿cª\ 2›^^‰•D$Uû,f|–IþÔ³9ºª.)kÊæ*ć• £±\ZbÜ3ŸJÀag¬Ï_Þ6pLâû÷–DJ€+õh—Éj õç|]©IèåëBÌ4U­ã}Ço;œžl>ÌÖfô”èÞRJš£¯Ô>Ø.©$—!R˜Ê¸èSY³·úSZûC)#çÁY׬¢¼n3ið^¹ÓÊø0!©¦éI  z%Öi´/ªÌë‹O-™›“šY‹•gåöÐP‡›JÒ~,ÑT۲U{ÇN´”AÅ11~—Æûš… …1ÌÍÆñ4Es—-<+ ô\.²æ£jÅ8 H²!WâŽ]4?ü¼úÉ£†À&ï<¸­49/8×i ~ a *ÙÛ`ß• ÷]ÈìÆSDëÝG"¥81@°‘j)Œ-–®³£`!„6Оª}Ú!¢5êφohP.‘ñ*hB’¬/pÅ:ýäkô{p#ȱ¿]¨J¬Ååëa”¨¸öàvózú×l±í~¯ÉÞOkœ½U{Y€¨³ûW1m*Ú#pÖºÚáÔN°ƒæÒpÏ»«f|zC­,)<8@ÿÌΣ@ƒ§¸è2bÁDO$ð±tQIFËSâPn¿EbÜ•Ð,‰=zH£¶9w…ÖýÒw|8„?òp¶\nhÑ-š×i>4 ‘cW½M3+¯ºošòCùàÍ8±h¬ƒJ$Vk5Íê8 GÝ4É`*¹Kšýi9Á×vy¦tõa-«ëS‹»Åjæƒi¾ƒ)¼×ˆ0ÖÎ|Fl¡’Äú”$š]ÁÈS ¶Ñ7ÊZÂ4 ļ2¢0WÒÝèw´;|=&/Ášf[}€z³~jîÙåaÖøŽ,f_§,¤%tÔ {F4ì Ä–£Ü¶dàVL‹if²B´œ"S´™œ˜m¾Kcë5ü4¸|¼![#Ûd@ò„…Sß÷§ßƨ#ÀÙ§‹D0óyBó• JE²4Ê»Ì6»?l;“ÂJ&Kôx.cbvå)ÏR9ü/Š`c Gw©¼ù\Ô‹¶¶}ƒ›Ø”ü´ ·±ÐÓÔ)ùXRI Vѳ*#àà…ŸOY!síOÊôW  É…X²¡Qšç¦íîຖ%ýQÇ¡? \"„ásóñoë%‹~9Žé#i¡–1˶†èûç t ºVL™T®Ú5'Ëü_(K3Eü$Ç?Ì|IwTV.R-º†sˆv Hú‰ô ß¿²_ý¥¡çpcøÑˆ`ôRU-ßDd»hY }æ¿h<©›éÕ·¾äfºh?½ÙºÂdš. 7 n¼Ú'G€ZÝ{çI³–å¦Î=ÁȦ'í±ˆÊ¿$žSX1õ1¶* ºgïÑ7AÍlõ›® -"kEˆátCA8L“ƪ:C÷Ï|ñUŒ6Š[F`E s‚¦º/÷¸"Òº26\Ç!²’m!BmJU)¸ÀÌ4Ü6‘l›¢E73&#b‚ïxÕœ6Ó–Vœ—«<ªy©;«æn €w ìxÄHiÑ#¸M‘4ÌŒŸªàØÑœàcØÈV ³#©½J¥#sÉ™ü®H8R4k}Ǻ½kÑJØ ™1dí1íÓ, ¾•â`~–ï‚yVœ™M²9ÒLiƘöv×D¾Ïìäï%zAí1‚¢DëK óPc²ü÷5´ 11a0¼mw'ã‘z2—Ìw‹Öi‹63/ºV m÷2©5yÛ•Ìîç§½­Õzà½qÞàü¬ÌŠš£HÁ³Á¿BÑJj ŽüÏ©þ]‰~–Æü‡P¯0¡ö–Yè¹ÍÛ£ñ6ÈÌkÂ3LË)–5æUZ(cãɘ‘¨ÝLñæp³ ˆ&A@óGWš§¼ Ö(&mo4gÑLå[Ïùïüæp¤Ú‰›X¹‡¿Ì³Ë„æ¼MHM`xòsV–‹‹Þ†×¥ë ÙÔxÒt€ÓnZ‰p$ÓÒ /긯%8‡À¤Ÿœé¤Al¾5l®êJ30i›P†Pk9\“rš(b ˆú€ž^÷w~PãœÅ¢EI½é3N¼ n[y\ŘgsÌ—¬Ç5£‚ÄTb¹Œ'ò$„þqð)„Ñò–½•æ,à¢ÒûK†.,ï¥ Hï!ríö¨èÎÒóç1RÂÙHú–†H“„;æ×’Âa@­Ÿ¼Ý“ê´*…à0Ö᫟+_ó}Ȳ&°6r %`bŠåÃ…L…$¶‚ qÖXBˉ} —ÙˆŽFê„‚GQ³@é€î5D¤àwÙºe?S*R?³F°êîÐhEœL3²^psL«øŒ“‡ž¹/Š9ÞW¤"~xÑ»+— ¤ai˜Z n;|xÕ)b÷®-2O‹8ˆOéÒ»òx{ðQQlÝϤÔÎÚªSÀÒ’®Ï4â‚$7€Äý1ǹ !Á&µ¢&fØÐå×f’8c´G÷²ôå±*J5!ª£OuóbÌ“ùàçüË~2«(ð4ïÛbô (õ7ßY·’{Ñ×+Ží}òg‡…œhÁÇWSY±<›ÂDRÉmGT#˜^š„Ý0y!ökf:/Œ¤J˜Ò8•çošÈ¿qÜ+5€B 8&­Ç@ —ˆ4§P,I&,8)–e‰_Z·>½N„àŠV³wËYQ©=7ÅNþŠ ø©—™F4°+„<åãÆî­­c¶s™ª%S›ü¸Ï=;WI/úì m];û$¸¹"9Ërr\úABn.xk ë÷KË&>¶7ù¯Úæ.ñK‹0cuø~y#ªœ×‚uBrH3 *‚ ÿÒVfÊÅŸvn†5·÷g!¼þîJŸ+øò_)+ÏÑ}ß9/*^àßùN~ï>ñJÈkïðí¼I¥3ŒŠKßö’Xé¶EiÑ¢Ø#$`È+~ì¯Ì‹$Vžðs9®|ìò“•8q¬Cæœæ˜Hî³™³ÿÊ]ÉÞÐ5[EjIúöãkŒæk½cáöui„»Y«ÈödqQ<ÂÞÄ[šÁ×Mß=©=®È×p´é=¾½d"Ì6„¯Oö@€©Æœ´^ø›Åæ’ê)J~ŒÈLÜÇÖÒÒ%£ùI£õºLé]‚Ãuyƒ;Üœå›óáùoÛÈDƒEYÝ7þX'í^ÒºŒ¯u!ò¢§Ÿ¥cS»ñûüÓÞR7Ì[ýéwÚ ÷¶ÔÂçº*N©»¦ ‹ÐJïĘOšú ™áõâÅÉC{ýuë¯g÷DO&¥‡Œ˜·k5²’&>‹K$w¢åá"[† ®8“hŠ®·g àçª1\·2™UZV=ÚǶx›Í®mÒ‡Iß·éAã´ Æv¨õªE¦cpQ ÜÇ÷~GÈ´fxÙ¦’¿ûÃK\çÖ¢]6ç]f.–Vi<4Ó“L (íÀTýu¿fc D;à LŽýýú*ƺïèùü!ãjLêAï‹8ùyÀôÌCšÈ,‘4ÑñÝóÅQyÓTÙË|è̪'Ô=2Ñ‚EÜ"°Í”ÕžéµWù´KbS½·`¥>-±üÚÉ‚¦'•’=O{™©zûög=îâ€iÖ ŸXGÊfE¾,¿xÞz`µ•†Õ€W9±ŒÇ]tÂ\;~É<Øõ»ï®ªÙlv¬gë6M—éñ^Ú¹!×õ×wáV¿½5†ï«áÁééíÕT'µ/PgÂN|*ê]$R«“€ð’„Y°Ëi"ˆÌ dÛ>0Gݵ¤O›cÒ˜}eÚ+†ÍlóÕ2¹šíRÁ{þдZ û!äb/ÔÅ)³ˆ÷0%fûò $¹¾Khì2vs6´]ŽÉ@îÌmÿ8[3Œ€5ÀhͦE\!ui½È²z 8ßw~ç€?‹Anú’I&}ý!2 5¦3 l¸LúLšåËTIÜÆvgñÃúú&™±¿ˆX¿æwÁˆxòoò‰›óM¬ÓØÄ~ý>Ïį̈.6jmÃvv¯]¹®š˜°LüÁœP8~– ” Ñ$ ÊÞ‰5-ÅÏ1f5Ü¥a¦—êe¸I&>~dšæê’&ºÔ «~)‰Z>0€±¼8këÛÆrcßöóðµ" !i,è`A8â}Š» ;!4ãB[­½ï8+ ŽánY©ta÷@PèŠç÷%_’² ©fÒƒiS9^)²a¸‹Ñ°pïl3‚\Œ‡|ýtÊ܇å<¹]}Ï6ξ`°‚Òàhèw‰Ì7MÙÍìf÷{FŠ|BÒÞ¸"õó8øÄs!£ÁZMOˆ°¹M ǘù/•6SGT%;;"ÉøØ¼âi»N]¥ Óo9߇:†hí0»ÛôZ„wšÓ}ÞôíàÀ‡f®SSTÌÑ­}Dõ37ƒ€<Òy“ö¾S@­HóØf2ä¾ç9QÈúÕʶšÛU3ö›† ®@  E÷Hîë"œðå¡K7džF"zï‰Ú™VèQÜqSûr›+æìçÀîûþ&ù Nœ=‡wÆ8ðžžÛ˜½q¤”âåã „×@оˆH"×4qàVÔ>_\Ñ„¶¯¹!Ý#0ÄÔø²ŸõÑb¨g‡TÌÇ7ç?·¢GçÎô z–¦Ï–¤®]YÅpä"$`DÑõaî«» “é¿S¥Lœ¤8@Üj2Âd?üŸx»NêºÛ>3f>öýQñÀämЪ$MÙµ}¥¥J`R~j';Ö%õËj#¦­3ø›7®ÏÝ´ÍCAX}„æúQQ²¥ŠqC1-Áܪ:Æ>,’+Úî2í–:ês?×nó@‚>Zæ8w¥î¼.c6¿ÌæEë§8ó¹_¾V{èFcßö¼g4ƒåscw5“ÄÜžÙE¿o¹Vf^L+>Âd*µ–fY6__ŸVNCòs~:-~JÂD¿&ó!ÀC.ÚïPÛ*B •ÊG0>ÂeZn Ø`ƒ¦ [ÀüHøÎŸ¹­lçº1Ló¢5ª2øwjÑŠ¨®ÔˆØmii/-UÒžÞ _³b&7fxÞ’áfLƒXusÚͺ¾åø? 1—§aŸ6ü¥Qa™µƒž7ÇÚ˜á¬>¹4™¾ùFN=bæ.'Á8ü¦ •LÙþÑ4®@‚Æ¥iÔ>2GàgÂÒhlœtZѨIùù¬(tå›ááÒ怭1wJˆúlØfŽÏŽ\\•£²‡‹„éƒ/­¬OZò‘ùôo7‚íqMàªæÈQ#ÆPM©·IéöÚ8)ŸþG–†66¢¥ÑwTæfô;^—?ÍÆ2Þwi<‚€ûÓ*اp‚U ñЗS ævÄ„?GëÓRî¯ÿæ§E¿¿¬dìy5œ.EÔrÔ¤¶“*Xær]ó]‚lŽ|Qâ¨rýÔÑAv°Tð¡Hò§Îp3½ö]{•X4t¬ë¤4bbÈ$ºîÒ“Ž«—1Q8¨¡ÌÈŸÈ‚kæ‚E«Èƒ9Ö”™µÃ) f.8bo¹@í)×ç³Lú{wùÊ$@æþX™v Ü꽕 Kí.ŸYÂU‰¼™ˆãîpñÍÔ‚•ÿ"êø6ó²¯à–Nà»Úü!‹dòbÝiíÆ °tÑ4-û¨8i+=ãÙiìcms&¸°È»Ý‹Àݧ‰Â‚È&¸Jlü%™uQØ€_‚•f3Ç.JN6V.ÔRXc P¤„$ý-Žº/é-ψvpç¦ùÌtÕ`âÌñŠý® „Ɔ#Áë÷²m‘}Uƒ¦ˆ‚ØÏ+ý¹EêÛeÕ0º¸R6–<)qzTZ%4¦ŒßSù$áùö¯:rJ™ÎÛvòü\®Ü„èiÌ ÈÀ•9™·•¨5ï¨èñ¶[ÄȤ}–4ÍL’R’þ± jkJi=Î/Ñ´Â-HbÖCi=2 :þRŸœza–Á:È3[|óž&j2–ÀXã~3óºåX‡o3üF¡¾ó)–p!Cz0/Eѣη ‡¹ ¢pa ï"FÛd5?cö!8ɤilºynéൟ±¨z’ߘ>ÔŽÙÌ=)ßÅéTЖOíßsŸ1XŒ1Æ;Zìÿ´PýØ/{H YöN>kŽ–+îL;Ú,gil…øà`Ú„&|Ƴ [Í”l‡¤a‹}úVŸeâ‚ Cv•vA>Ÿ¾÷/hGt„[Y3™´Ãiùø}£™ ÖCòÕNÒ@IDAT_ Aüp0f3©%“Ýëì8ë–Y£³0*f’iÙA_hë[9ÈII:%¡!äEšUbÓ6e˜^+¶ù0ív•oY/CœEGNc’Ýw¼+§yf.͈èò_+ë2¨i›LuŒnÔ}Î ©fJ¦I½’ö¥0¦c2 ®¾ñ@È<~¿ì¿$ßzŒGPömpÖ_^v|™$n‚ô˜uÖÊ0Ü)à.B0 Ñv‰êYŒçPÁó“n]´›?´§I—Ù³¡ÿõ渚“ešÊµb8AÆUd’.ËŠøf¢' ûâvÿX7æzÅ ´t_Ï]þ­µiÖø&¨ŽÃ 5d9DWo7úÖi” 4íç,` r…þÊ{,»3p h”Ù3ÍÔ¿}…¥}ñåÎ6/œd`UùDZPº€¹€øÉÌMwü*bŠ ¤xHØFò3#:x‘k´_«ë»ŒXʽä·hk8vãKÚŠö+fï-ã5ãЧ UìUúÜïNó|"Ÿeº;s\ÛCBö¹¨–é Èȱ3ÓSó™›í6ÆT×ߊmÓx#ð¸®aõ®±oÌáÁæZ‘ ª³>“+97Žö“ÌY•#—ÇõÑs°ÅIÚ¨›]®x$<À#ú.Ms<Ò[´n÷ûýQ»rïæ“iÏš”û„ðp]²† ì>áÞ¾Œ=Ã\ o•’“ÌÆê (Šá!ž±n?·±–4»–+¢ùb†gœG¡ûR+’ÁðM;xîcµlÆÕä]µÂФ­‰ýGÅÒNΡ`²8¥;Kóö™‰¡--?¤Ù,ꙟUߦê\Ìò‹L>UÍTHLëŸ)þl¾±õ ÎŒ›bÙs"âŒAíÓØ–®žRkSŽN#Üëuí-h®ÕÔ`o¤©cäòZN~õúåɇÇÞü&xÓxZß/^¾hü½UŸ–©:SÈe *„‡ò´¡‚Z„°¾žåÏÅÇß®G¤á¥z>¤c¬óæ_MuÝÖ(Eriεß?¶ ºZÙÕÜ%€”vŒ¶½—0ÐH1ÄfsêƒÍ-/|ÝÛ:œÆ 1ó)Šà£E ßìiš\ÆÄ.H÷wI71ܶ6¹H0(©mU?qi88´lZ& š‚•ó$‹P<âY©6jíÜcMÊÕÙÁÒD³‰öO%™p²¤¨RÁ󱲡æêeÖ謇?Æl6©DÄ&øitÎîmÚ‡H¢ÈÁu„ç—°m®1Î.­Ò›Ý²Ï 8ùð'ë5ª‡ `“Ò*ƒÒz‰où=“E- lÇE[¤éA¾œöbÜü‹TÕo^ÚÜ,­ŽÂ-6ÎL?: Ý÷!ç*¤ªÅSÇxÓÏb‰e¡ëãm©(úS'ŠÒØ„íù׋J²‚½11‘„æ•rô†|×ô¢T·E´loEòÞeŸ ÔE„ç±hw‘}³7‹%„ÙTBæh ˜r‘?¸—j¡%ºÇ90ò—ß_žüô¶ª™|: ÖsŽ»PçdÞ•¬V~õ,f„ßC)õY]öÛQ1X¸ìö×MmEÖ†ÙÅ”à|Ö,“rvȲkÇþˆYä ZH/ѽ€ˆ£É!Ýqî ¡ã@ÞŽgiO©?$D÷"©¾kœ=×à˜©8Ò —AÆwt¤{OÖ!hÁD}ݨIp_c®ç9U1Ö²³>vÔk°¾kÅ=Gyû¸Ô¢º¸E½sz‹ÁsÅgC¾BMò0·®Ã>7㉬lxàÃ(2MãEŸ“ϵſWTxph—Ç4 €UبzYžÆZ*£7± 9]›Ž`ÊšXYÆÊê"~<'Úà@Pbw¡´ßóiùUðˆìÍ$X‘2·â4ÁœL“†oþ¡h[´?7^~˜Ê•ÁúÇò‰ª„àvKR£ŸôÏi8¶ZÍ0’’{þã6Ü´e'¡riš®iÙàL'pK)É3V™#Pê&ß—%åàQtçeùô!³óUÒ¯—Mu=3;û aÝ£a·.!{I‡x‹ÚöòvTÕSä'ÂK‘²ñ̳2ü7. ¡iœ¶ý]I+ˆMŠ1µw-87CñÍÙuA«í7ÎÔ Å|˜Jñã’ÊøI[p¾· +`„Ì‹O¥ ­‘f>¿‹vzÚ 6æg¦$„«v!ߨ5<Å”Ò>Æ­/ßéd9¯Uj«!ÐÚņV¹3´cò.bú¥žÊ‹~Š Û¶Fï9¦Ú|1¹46„’=`™Õ]¤ƒ+kþdä( S@ :ôn?Ët]Œü|4UÛŸÛW‹Zzf45€W¶á® Q+Û%|II¥lƒá”ÙèYó òzU4¹š{‚÷v_Á©Âæ}טù˜§Ì€YÓC ·òsÒ… Fá€S¯çMfŒ1[Çn¥¦À1MãÚÏ÷øšæ´RL¶]þC›æüêÍ÷c@2ÁêÓhØp°R1—JcµEݤè¦me…ŸjGhOv6e”´bžÀØÔÑ“~Gis§’§=¶ „Ñ©‘ÔfæŠ"–¿ë㯘”Ïæ‚ #Þ"­à‚¸ù}¡óÍ´ÇdǸûáûÇ$õh§EbÖž•¯ül­ËŒÆAˆó“fsyb¤Ü‘³cË=OÓXKçô¬UÑ÷æNkb•8 Éöa„¯´•`E2ŸÐ¹¶Ž8dH‰¸O=g'2T#,%”O‚˜µ?<%Û3›¦à>Ü5)ÐEîÆ@µgútÅá–r‚wŠiAéκ!àX0¹@】¿O@NM »hªß±œA]C±~‘/óÂìlÏÉA2Ž÷Œi%—êJ]Œ0_3¦±îë³›‡ìÔz 5ÓØ»ág&d¨Ós1ìUß›ia‡ÀhÏ“ÜÍ6Ãã%ç„©0 ‚)84iìÊ÷S苜÷Ûr˜ÏJ©…ËÏ®˜†ê褣ȠE 4¿¬q xôá:–GŠþ0&t TÒ øL“N(ñP—ïM¹ò;ç›v/W*À+ᮽIP˜ß¦£þi#ðæd¾ T*ÃåÿÇD§œó²ŠÞÌÌ4SLÀ …Ð6%<ùãm»¯2Ý7ßjÚ•¢[S¬üçÁêû.ÚΆ9‘u‘Ø–br„c\•Ï#†Êý:bÊ•~èÎ7¨CyÏ`Õ/Q2‘Š+,·¥ØóXÍÝL+›ü׸<ÖsíÖª$…CtŒ÷,F{Ô˜#<çº1Áã¦Yôú¤9–‘ž ÔÀo¦<˜í"Eó¼êü’Àž†VGê®wbš~ÚEžuZšgÕ®Y A›aøáóP1Cž‰ ƒáe ¯„ÊÇ “ªP4ÿÑìûìRä{´Ù/Ál³!eñŸ›ìwŠLÊN å²J¯`tÁàÏ?ÿ\}h¾üÿñïâú^á:z¡uþ 0É**±Yåó6ÉMýœ7ELV°à̰ˆæ¼‹ƒ›ãüa¨Ýñ›Á¸¹í,Ž4ªg’·mj— «›|E eŽq8ä(Æ<ª&Ú&®Ï›ªkŸ+A2eˆé8ÎÌÆ¡6 «œ>iEÜ^RÈnXNŠd3G³;é¤ýj!¤@8לÛÑ$}cB°ë‚%‚y_á¦{bÚ¾–0:‹yY…oE­¶+¡Mî3Ó ³§W[´ž±ÚóùbÖ®È ð‡9ýO ó VßB«÷o}]?9òÜÚ± ÒK)Ðïø—-ÀÛ˜ÚªAÇKLù†Á,ší3QKÂwÏ"¦Óv¿B‰| ãLs—Xæ7Á=fZt,ÁåäÕNô9¸õ¹üƒFËÁFk”Aÿ)²ž•eaªŸŸ½,?˜2zëtË-‘™„¼¨T‡ïu3¢\Ïá(¦(dm³£`ˆÖc”Y/Ú5”.0©"í59+Ç1§d–ªé.p²•D÷l0a¾ÀKÀ$µiÈ`Á,i5ù*95cÀ@sZBvz:Âwõ¼a`¾›úºªÍY…îÛ3:ëñZ: ƒWD9„$2Õˆê©O Ò‹óz–Zkýh¼,¥g³$5D‘ñ>à ó`r—ÈU:‹KÀ‚3‹¦¶ÖÅÊU~ > ´@ÎKᔺ,}ÖRN§ .ÌùeÁY-ÊÁÞÆÄ½ðÄÔwÇ»qS¹Ò€j”ž™Õê+p:‡.Û\ºèX²ìè£ „ì“]»Pá;uØv“}›ÙJ­C)_dù¹T°óÉQ@âÜ CdX]vÙæ•Ædͯe8OÂ8 %D³O±N¯2¥ü+åÿɵÃiµ§,¨÷‹?¾UÔö!.E˜/i&AÇ‘Jh¸‡_h× ^®«¶XŠEÈh·Õ2ôO+»ã[ê@tod0¯ò„Ö¨³`å[¿÷‚CKŒ™Ÿs߉xiŠ q븳|Ÿî„‚³üÍ<Éêôê/FfM\Úþô£àÀn¥|ÃÍu›ÂÛ¹¾E¼–A—†Ls>[ÒY§hÓíq.-笑 ^*æSË3v[þ’)¾éh@i.'R*½¢Às‘9¦Í¥€„®³já³yÝì ‹šÜÆØõ°Õ. ÌæF–ŽJ'ÌySkIÒðI#´©9Ö } ›ýö»Ä蘘ÀçN×~ôbÅð̵íÚH­?¤ÝÞ›B‹Á%dÛY+å_´NôS¿â¢ÂÃüiŒz7óæ4;üºÆEÉæJÃÎ|¼ßö9Æ#5{ >6=Ðs¨»½H²—¥8´eŠÏ:kTã˜~¯FñÆáƒž-CÐ`Š å&ªm½lÝXÓ  ¹»£ÏHÙX–öh¹¶ÆÃùÌi ii>ÄÇ‹o|’E·ÊÌD™L¨2'’g[’ÂŽÝ–&‚? ƒ“Òê_"ª‰þßþá‡è]MOøka¾Ÿ¤ù”š«Ÿþè1»ŠÛ̶<ä|¿©WZOcïgàÛ Á”|à¦ÛP#ƒO5ú]ô’÷õOªÈxnˆO™Q>3÷‡h®â:æbzÑDàtd/Âë´ZýAŸ­r¤¬R#)¯p‡Þcy|/bçT±$°’˜å«4ÞªŠÓ ûŒ`„õkãqMؘl5½bº¤”¶à:D€Eç­Æµ &Éã¸~̳Ï·1-Úå=Fô†Ý}R­ÝÃσƒ?¾{¿÷¾{õrï‡ò_ú»le ÈÖΨ˜ÃûT×Ö ¿ßWÈa§=zs³ü§-Û4L(®öœÉ÷]Àsù\оïùqaÌdfäs ‹i„÷™Ïh3ØÏèGø’ì¡oœÝ’àÆœpîÙøæðøbÛpø,¡ãv¹*@½Ÿ¤ƒ¤ùÑx¹¬ {QWµÒ@ +æHþêû7˜¬ðòSU/1 ö heûJÌi9®Ó—ƒ ¾ï—1Ñ€Ží>{`dZé´={ÜÓÖ ‚ ¢ÿN³|ã Q¹ë¼)(p˜¹Ùûý„¸­ê¯1*_ºh©Œž ² X„{\!+LêCÆê–Ò&®£Ýƃ.÷%Ô3®1-=ØŸ^=4K0Ð.1…êžGªf‘ÀiVºä?íŒÃYL%a^A0…àæs^>0-à_ú«!‹1» À£9Ó¢çê9\cø\iÚðh¡ÕÙ Öæ"{ÏÅM£AC%D˜dxnl$tÓch’@ÙˆFT)EÌIýÐzS7ì ܨšë:$„õÏ7ˆ'c°p໕ÖåKÞ— x^[¥”ji¶W. zë Ù<Ы¿ýÝïc¾ÿ’ËiG‚óœätRpò_‘b˜F\[}»s52µ[o‘ÔHŽ’!²“»êei–•y5Î0:ÆØvb ÎÊ1Ãäc…’ ó§…e sEØ8"of?­ê#]àÄôÆïÍ!à@Q¯ÖÆé}ŒŒ¨™à%¾CΤcßM¦ðœ„¿¦½ú¶ñ.êF½Ö0Û¶íÑÇuÖqíõU•Å0fhK9]¯_¼ ùg=cÑÑ0œÒš4D¼ˆ– ‰É–BU ºöñ`Æúãìðž~6’E³½Þ¸ z&¦ð·IŒ©op) •46ý&1Ío£Cv˜4AíEÖÔ«‚c$°‚MQñxÁ#¡Ž¡£±I„?VÆ—:iÃÃQ1s›,µ¸`AŸ^FLÔKv3Â~ÞÔ\šÍT4íEË1|÷6¯2ü€@çëå›·Õ½=D¬ÏOФL¤,>Ï«mÐ%¥ X)möÐ^0oÚÌ!7´Cô Æ‚)>§4¦Uø©Vdªíóô¹ßFÙr_Ÿ:ú\­Ý¢N]¸0{„àmשޓtµ‘ŽüÔ§>c‚/˜©1)(nê•ÔD”³f@.cR3mµØ«p0§~§œ[]Øã‘m["Ï3½Ìô`zÚ×žË /Ÿ•¨æœOW¥‰dÀl² —zrûæ¤=z¥öv ¶ [ l<‡¯zl–!ŒÇbÔg—‚ˆR.e(Ûá³±žÂ§:¯®^iŒõ™4ÒP<ÇŒ#ÑE®~OÄ]µñ¼6ű‘C¼Ó}£•Ä•?Œêç(©@¶yò„ì²`ë¦MMí¡x]®O_tλ“ó*x^¾þ®…foÛ¦÷®°ådá+º«^´ÍËk2¨¯cðEI¢3QŠRŸ«Ž4–MÓEåV´³àIiß«ý?"‹V³!œvÚŸJ8–»âó<Ó#²ZǵEzã·ú‡„€Á‰´^ Òø‹~Ctû×ÍGŒÐüλžÁcLk`G*¸ÝsmÑM¿j—&8v<ˆaúžRüÚëõu©Ïùªi›HžYŸé‘Íà,ßW¶d#ጻ€R …pný QÏ g6JÔöãEòwwÀ`w3€–<¾>Ö@3§Ö?_¡6¶f%GÇômðœ».ĪÏ ábÐÆ0ߨ.ÝOI&ÑãìhJí§ê{žã5íÁFÄ=›Ÿf“ˆ úùx½H (?} ¼œ.nÈÌ>2Ô¦è,kÜiŠ¿ óžá¯xêÕ©€ãï:k-%¼µ“b¦h’i¶ž1†]Ô¶¯ºQyþ¿/TìO÷­­°Û¬€b”ëç“~2÷¡áÛ4[ãÿ”2às?ý×ׯŒñ´e=”ÐCàûN½×Þ*Û:¹\ïL9ÄÀ|xôœbøÆvV2×a&ë$ha–e0 ^^˜Ÿ©.r»meE>DƒM×ä&FíbaZŽ`~ëœç“ÿøx =_îs®ÈfjðEÖ¦@¤d~0¿ƒíäëœâ„ãÝ¿µ¯Lý?ÿ³´@ H;ü­)%uE#¡ÿ¬ ¯ÍDqíbñ€¶Q{›$I«È ¦"b—Ž`3˜÷ÉúÈ„‡^’|Êž<‘ƒo‡J7X†ÂT: ÿí`$wíW_½‹@Ú¶ždóÀ1ŸLþòZ‰3ÓŸU•Í„Õm #Éådó; ¤7ú¢Õ<–#±’±˜åb{’ðQŸbºOíÀÞø']ñ˜~‹¶™°m“rû †®§„Œ/'ƒDŒrRâBCÏóÉh ÷QÅúWåîÆ»=sÓ]xš«RòxOµÓ/Á‹õîÊ’jñ˜üÀkÉ¡vgâÚ-ù ÆpÁG~ì=>Õ‹Q0¹Ê£M‚²Ï1$æûËbßíÇf.¶VF2ß“oGƒs[ð!ã‚Y~-o»6åFÀ›£@´°mò×hja¿måÌ`P$áÁÒÛ Š =ƒÉ`M¡öÓ¸?ÙZÍgþÚXäöä3{xÂòXaÊNMèõškŠÛðª )llžgH{+¹&%æI¥Y¶ß^ßUýú(åÒ(¾>Í?¬Ã@vŠºbF‘ÑSûÿa)ÿ‡±‘tÉÒL¢!>"DGì¨ô0G“ û»W?”C”¶åöøHî¹>ðRà§ï“®?+jäàê7nÝ{”Sã¬Q)”-±[ßÏÔ\¯6©iÂâôŸ÷Vàõ‚^÷òu§"9V"Mã0Õ&bέg‰n2?Ï §¼¦É”<>³VÕ9Ò!ÅùCô ²¶“LþZÞTzçGLôhµ\øŠŽ1xBP¿êíøIÖÒð×°¡mŒ_b˜m, ¦ÞðªZDæЬ´|r®\½2™|ÓͦDx›…›Qyÿ©‡Ÿ»÷9Üsí¾4®÷Šf$d·Ÿc– ·µJpÎÜr¹Â£jxÁ¤ó?n:äò#:Dß+)¤àmÌ„–¢ÝV{(¢(pÓ{Ö•ç¦ÓJªMp£½ìþl3HR7ÓR›Ó/?™€TÙXæ²bBJ÷­À®á4i au¾½/Š%Bêá0´ÅÝü«OŸ±^ëÁ€‡zlŒ» ¤ÏÒA“š™ðnéoù˜æ¢©> |ÉÁÎ߬ Úæ³»Ÿ#H°‡çø¬6]‚Ðψ›öˆñ’v´ ßÎļÝã!oy<€§BÁ¿%JUZόƙi¡ÚêYý‰f1ØhRއŸFa<¶zS¬úAØ]G59í`­$X7Ë2­¾¨À²N¬‹Òê›´³ì2h3ëusŸBÀP„ƒêÙ…FÀµï#ËôT¾±ßærœÔôy®Dm,˜QŠ ²$’ùôùÝ?þñ5ÚV)€M?ú;ä³BÍ›ï}5tzO ¸>ļfÒ®Âg>EIË$Õbbë"^~t"P*}Û¡Åé‚Z§y 3s儘¼×|ÓQL÷MïDù%¸®£›4ImûÝ=;æóÔ:æ'Øã4‚ì¦uÛf«võ±C½ž½»›…ßÚ¹²ãCãaúß\6ÅC%¡aÕRò½ -§wÛý‚Ôø…Ÿö˜Ð,?›Þƒ½Jú솴¶ ò¼“Ú=æÀçŠ?ßÇQqƒ È…QI‡Ò–·ù6üU&šG¶Ÿ ¿ò0ì^›ö5äijÀ÷“ŸHù˜„ MÑ}»O“Þd~”W9ìïLuíÑž{ß4Ð¥7ʯ%X燲ü[L –¦ÐÆžõ¦°À®œÝø^BhÑPìÖ³3|eêŠ""¸)chÚôw1´MíÜÕ¢¬ëÍŸó}ÐGÌ'A± ¢¬„Ò*ŒEoó÷”íÍ4gÍhé̵&,Ý2¿»4Uí ®ÓhàÁúOWìg,¹qP( ?p‹ËûÛ—&xeAà½×ŽSÛ·-ˆÆúfùR¯e ä)cò´3 ا½ë%æÛ_1m4ÙØä§hñä.±@ˆH‹§‚5ÍÕkHʪ¶65U?ð@!X(í‚(ÓaÓVý­Û·kÕ2IªRý¿ä­ìê”éIº¬’;IÚÔüÆWoF2vúÄÔ'8‘$ßʱŽî#„ešÖ}4¼1örYwZ³‘Ùæ­µ²F†MÈb^æÌîR¡°¾äÝ L»¥….›ÿå ƒa˜Õþ•7„T•¢K0nk¸ÒD|J®Èʲ˜òþ–Þ:“uF}Ì®1âC÷¯Ã-_õcêÌÖÚ3£3a yÊð3µ–MÒîv [qÜ€aF™»†ê4tz5É n #îÂ`¨¤²Å¸Æ ½ÙcŽÓ.p¾zYÛ² tú{×Ùta|mx\뙆LÈêH%6†c+Dý ®ÓJÊmðDG?쇼†r]‚—D&-°kvÐÔØ·ˆ0" üaÍ.nDÆýXZ¤gmv[äøë§_¦ þól{‡ë²ó{/Æ ÐXZ¢& ÏOwàøià73²¼]·¥ øjv3uÉ3æ~n3®=U ð[Ñú½©Â$$2w?òìа)ÈžÓÆvë„Çð5ѤiƒÅåPâÈûíKˆ“ö!Ö³i0J–½PˆÊïíö.h©%û¹pAL3ßûE„¸ÛéJR¹¯ù„¡~§K±›úJ— ¯]3.‚g—ÔoüþæH¿ùË>Ó¸|ÛAÖzæ’»àà»1ØWæ¹µ!KéP*ò†§0×àÐé;˜³ŒÊÙ,À‚  L8 °ðq|{/s\ú,ªÏ2š~ëo§eÚr-œ?jiPe޾Ç?ú{‰ÎIimI…‡•ãhÞ]L”­×ä‚¶ÅD‘ì9´w5Ð^ nÛ/51D„cr 8†êK0†3À÷Í„ó/™w;—hŽ ½j(*ó˜Á­ ýG°" üãÉŽ!?§ `²" ÃD­äh"îÕúª!c6ãÂ$¿¶iŠHö ·þ´K[†üý>…#À×K0XÚh]ˆ¶‰FàYq-B•ƒL˜èçV¦Ùiêàˆ¤§?<ߜƭ-i°ë,ákÖgÒ3+µo †ó#Æâw»&ëë¥@AUÛ6L_ýbŸž¦<ŒØ5û¾à±>!Y?Ú„ocÜŒK8Ÿ™BÇ …ŽN«‡|àùê=+Í庒{’\]mZñ²Æøg QÄ@€$­>N-†ú”Gi2O|ÈÍÖ©“]6¨fÿÿù¯?på|g«- S{gûÈ ª]#"Õ[OÛßp£¬ŒCÃIÀò5®¬ÒK³Ø·Ï‰—Ç7\ÒóZ¹ï]%O[÷ ¶}‡ü$ØÉèëw ã{ΉǴt®nÇÍÞtRÑC© ©y7¥õà!pÚ¾ÝoAîQ¤Žk?AiŒßù‰§.ï`8ÓY˜‘üI¹^›ï-VÒÐòt—\xν,ðâÊ*ˆŒ•3½n ´vc¢÷}¦u¥ùš™¥D6#Ñp*šÝ:êžx $1,6SÄJ8ª#‘†²™’è—/-; ±ï0EÎêt´ ’dÜøàf”•U©ÉÆÜ€ê›&ï‘¡qôËåÿõoÿß"@{©ðQž‹plnæ`F¤_2gÇY%1uS«;æ¡óy#ç$P.` -²Bµ°ýÍiÅœ?JlKt„n‘Ôù\uߢµ`‹37(ÄN*b¸4FHyJÕ?DŒ…ù|'‘/Qì(à ‘hÐ[®)ªÝTœ¶ú5iŠ$2 lÅ~c–ÇJ=''½cÖç{éoÕ©=•&1c÷\Ž!ž>6&m@÷"ÙŽQªçfzG1ï‡ðôtŸ™ fþÇý¦yPE+„²ª[ò¹qþPßÔ~+OÑ#“Ò¿S®ÏJm¾ÃäûnvÎ"¦\*ÝEPDÁ¢MéË#o1!í=9U›÷r¥˜êÖý*:U¸0W#Á¶ ‹;dJ–fôËòŸ3õâíw?šB³ìu $¸h=þ8“Ò÷åÂ×þî ÏÌ«í#+¢æK6@þÓ¹˜ Ú1oÙOL3F©o©Ž5"c ›ÎÙ®ßn !á±÷šâé Âø;nÎùñC9ã}sXFº:ÆZÔ*dºV5Òû.‡é͹HYµ=ó¬Ü(¢ÒgZ±ƒ…!”ïB훵¶ã¹Ãp¤RæcÅhº9k^ï„íôOÜñóB$Ä™ hléô y˜™Pî,¾T‹¥1!Æe¾Ì:üYÂͱA‘¬‚ÚFør4,<׸ÌÃß~ùÛÞ#XÛJ.¸ÃTßYŒHîànÑ …«ä¦½bÇKÀñ¹g´?xCtBG§cü€áÑR[Våù\.\;Ý­{}j¦kûy¿Í2„ǵÀF¶Kµè]ðg‘夺Å|ù¥oÞ*P¶ˆ©N0-jg&σù–¹Ë ò76UWLO°DKyG¦ÛucÄ ‰½?³T[4îü†ÆqV ²cû–)BBí®Ü¿_¯ LEœè˜?æAœÀš ã÷Ñø:ó?£p³º“üP_Û¨[4+˜¸ˆÀ"HŒœEâüÜi°ž!¢„ò¿Ù (¸¾¶GMDwÑÖÑuŸ×Ü;3!Ø™Œa:¦Ø8ƒ;8¥«¶/`„‹-ÆŒ)’´}ŒÅq«|IÄo†Bà°Ž¦­8ù.Þ Ã×;§1lôzª¶wtéˆ'rŽ‘ (x!vx¦3ééŸÌ²ƒƒf8‚GAÌ„ñdúùÐL¶{} €ùÆý¶4 ?n‹éCú~CÅuøq~K“½¯‘»"‘±þšVÙÜo 2¹[žÐçL ËrULBÈæ‡€E-'¦Ú òùz,Þ”&Œv*¿7Ç›XV$Ÿ)ìÔF¸¬­i'½±>½;íŽa;ûé>° JàxYTZ›+À–w°V’÷#äøÏ]8ç»;+8X®§¿h"Ë87¦Ý£¶is¿¦z  ÜŒ‚kÅÝçðWy9w•_u|‹˜>mgþÑÁh‹ÀõUùDæðø%zSº¨&jO› OZq2Øä©¸ï»PPÒ8M9¹w1‚¸?jð ÒOˆ=ÄùtÑ^[×< /Õ$;&üx‡ÝôŽÖÏC4€àãìwmqÿvQÐ@šMï§ÐIBÊÃl>ïé]"vjR«mD|ÍC1%¡`Að!ÿš4V¸Á1r8y´e‚)¯Îí îY„îcè·k3O è¤1 /KÖ²„ P0ö9šœö8 Öxá}>µK°:¿~€†ƒÆéЦ±s×p‰< ‘&ѯÏYe’D­èh¾S¦±ÈF@îc\S9Ò{O!€T0ƒ Àï€×Fê —¯¿~;¸¿=­Í‘‚`"SG¦»#Mnª»jØ8½™­L±Õk42É ƒë5JØU‹äŽ ÂÁÇl‹³<ì]H&oC í&ùcîZ“—ŒÏz‡Ï­•–=pD˜)ÊAVí².YÌᘰ¹6³R¥).ÓhßÌk…“Í™&|¼S%ò\ƒL¥¢_)¢o3Ķ+\¾×n˜bœå€×,‰ óÑÂ|5}eÓ—E˜¶Šùl~d÷,32Ûã&ÍÄç„)ô"U0‹˜³c£Ûj=¡Ý`Z¥y àS‹›ìþè²Ô2h›ñ ÀX[Z:O+í½ *g^ö7ühÎʬB,åLC‘œM?E`ð&é%aA‹PÑg˜7)§)Ht…`¾‰P qŒÛþróu’|©„¤ðø 1[ˆ×aè^g"–~æBÖX«ÑöybÒÏÚOêÔÚ}l nŒÛ- (MPsÓXžçÓ°YÒ®F‘ ˆ¶ã«zÛ@ì úƒ_ª+%F¿T›³ÿ†Áo½³’¯Æ÷7+cPƒ~⇃ùA@)Ö7Ç`ÐÞ™¯ØçÞ÷Œ ÒY{FO hBÖ÷*uØ»ta´ L0æ³ðG°·Ô^/%z„`Š$é‹=Ýcõ½eú{»{'ñCèÛ%5Ǥó{$Z$àuvjD˜1ÆTf®Æ°¹ Ue&©Bo Ž$¨–6E÷P½Ôט¤h“j=Éå3p>BãIªÓ™±‹œÚ©ñ“¿3äô„üì$ô/TÍŒXé:U~©Ï!t*2ßpúŒÁ3õ†€$/}'á)"É£5˜“XÄ$õ9.×C7úô¬­h”qŒ£¸|[}ø¶ÈHÝ_4•ºç(Ñ¥Å3[ 1 L«ÂQ-ÌÇ$BïÞý^,èpß©7GD y¤^œh)hBTšŸVõÓ›Ò­Ûf„l¶¤¼ËÒÌc¾BË-Aí½fJ¤ eë‚ÕhÆ;!€^Ÿž+ÄS‘èf`¥•84p”LÕªIËmmI÷cÕèØœ8æi@c®¬šñÜWJoTõùH™}NûÅŒ?¶{¹Q÷ݬ%bæiÃè¨aÚÇÚ±v“è8 `—üÆñÿ¯_þ7'Q4ª.ìöªýŠ«U¢qHÌØ³ThjMtü53BsÝVs§ÍZÐï;¥¼„syQ)z#µ:¶jœº­ým#V‚ö9 üØyÁ3qµõN~*9Q}¡MþU/ÌD¦fB¾Jš6¨ãĈÐ@9¹’¨á?dŠÞ4ÃsÕ2L)ùRô‰]=TGÈd9ÄŽtC fPišUk¦Õ~äÃX7–Oj=Éu.ÀíKão\—–Ÿëfpb«éŒ#µj£w™R~ÛCœðœ¯ç±¸#&íù€—¬}Ìl> ìÄr¤ÑÅ!^ö¡ûNmºÖÛà&Z/áÄd_‡ì1q}·™uÌ—ª»4íÇ]ÐÝÈj­4mhµ£JéÏŸïÞ}(MòÕ²Šðf>Ÿ527MØÚ&ϬÆU¹ÄïáÂf\“h¤@DNYý÷„-UîiUQ9^ !ù¡²À*¦q-õ2)¹]´“±Õï!¾9?¬èsˆA '#zWdËo±£ í²ƒîºou•÷}ÓX3õ?Ûl“íË$\´]+t2õÖïœ >JÚÎ?¤.üÜgµl.ow(rmØ–ô[•8°gÝBꤾ=GS§ðDà0›tƒ·Ð_½ÛÕéÈžg„4i~9² S°%3«LNÏ5ø³ƒ±S{ÎN÷EÀ™jAÑ¦Óø@õGRhðÇVzÙ³û„0¦PjÆgÍ,Q}JÝ,· º#Ç\†s˜F'™"ú0×Á׃֌¸}Ù4Úë|‘zí¶Ìrù³¿¶¾»‚[ðð¥bß)Ç´>¸T~žŸªèY5Á›€-»[ñ@c~ˆ!%ÎÔB@J!…Rð…IóaèÀ«Oö¹›Rä”·›éVe1©æ>j @L0R8v‹ËKpmâ¹û; u~¡†Î…yáÑw §6k*†?‘h„ B9C Á•4nm`i)‰û h¦ß3T·¶‚xï,h¨™ýi«Ð±½ïJ#0?¯íPߪö…¨ÇúWЀðÓøúAŽé.;´j¡Á³ƒ¤»YËÃ×÷? ¡;tíÓ¢[{~ Üf’6©ä¡dÙk+ÂxÙ=TÒ™I{‰hÓõ6þ¬¨0åwO•Œ¡e@?|¡éÚDÑû[¦Á„н\Ì 6Ìõ½%Ò4,FøÛ!íÔGª{èÞá&¢gAŠþO‡¨´¨ë%íN9Õ´^gµ’G¹0A‘Ц‰ë1ý€[x\UÞ1¶pþÚ‘’u[á¾ÙÀzÁ"!&Ìœ*¿çHi/€§‘s)U¶±œZö##NMò“?´óꤣ"^ßн·™#ShG³ƒ¡ÛàÃANÿú6ÌEøžÁ½=C8q МDðPH;ÝïY€€Ž?BV¿ïÙôØE'¤Ô^«›6´ïµ£jÄ~°Ô±×ï`ß›ëÏŸX¸WÔ¡Š4é¹ç\);ðõ÷ |<Óg¢ÿͬÔw"ÙÈkèx4v 1IÕ¾#F8MºI(€ÓZ©±En5Ù˜%‹|h&’ °§ü¯SYrLõv_SÛI>¢¾•zÓÂcü|/ˆ7(›yK–â% ¬#wLq+òë¼öü¹˜lóÅÊî]&Ñ—HŽ™–çdRzúš6Ä,PED‘¦àjšU˜ö³UZ±†b Ljx€¯\ÐÇ=U{ik‰l>~°Ÿ‘&Ƙùª1æá „œë“8%X˜Úœq í»¿¿ûòÏ=¬´yñÆõ˜ã/Ù—H!ðör²ó¹cøÝËdjð…l±õ³±÷þÅp›Š˜*¡tù:w(÷(¸·©7mfÏ霋´^ï"Á5=Íœ û¢ì~Nëç¸Õ1àryáZxÌ$•î¶2Ìoñ1à¹a;%Oq¸êæ…åžC”"%Q™‰~BÂeì3;ÌiœÖKòh²åÌúDJz=¼……8Qù| ô»Ý ¤‡\[ÐD‚ñƒï~Õ6Óuw4±{Ý™i5Ó`ñT£5à~"#ãÓo=Ç|P-4‹Í™¦uÑcv Ã3±úÜØ°ßo3O¶9Þ¬:çë*§2ÇÁ®Ô‡Kdé½FW[içðö-Š15Š­±km¨OU*ú<;¿óóÀ©^P ã|Lžø­v¡}IØ:…aî?ö"|Z<==6ßàP Ù]µœ2<ÎÚK0¤œ¼Éµ¯unuo_íÚªDð„ÉàÆzLnÖâ§R“{¡Ènš m¢´Aê˜6’j`ó«ÝòBg÷Rr‚‡˜:CöÙ;ü„Øî#Ä{ŽíC³E³<ÆxóuYPêÓ ™-Ä:}ÕjÌó¤&´¡H4Ñ "X'Xna{À¿]ôñ³i%b’ƒÓ?ç·ÈY~ªª¦ «>ÇDšnìiaÈïy”õh°G&ˆ÷L Pµ‰EúI{ä"½F ~£èÏ f–ÞÙÁ-ÁKõqm`£ÞLm~kÍ Ë¢종]´é_­¯µ=š˜A~cs=u¿~^|¼õ_¿ü]©&YAôMÝ­zÈ.°5ÙªÃ"ð¤·ØnÏZð÷ xj…Àn*­ß¥`«7‚Þ5‰iÕØ¢w;ƒ­ŒªÏå)÷„÷–TAs­LÓu^åü–_H È ™iÌæKãt‰]¯*,Ø|hn‹†:¤ÉL`«–±XÇšà‡|ϼ(§ŠØ,œQ]»]zFþ饪Œ~M“ö|ÚÚ üOâk²o2C\G[tsï0é_›NmóÅp ßBzâ.߉üÿþ×ïúÕ°Õ&z­á7i"{wÕ-!K^ïQê_Y”ÀÚÞ†TãL™ò3ƒ~Rþ¹ŸŒ ý]i…Äx82œÄ$|šˆ0\a”Ÿ0r1v¸LÂt1YÛP`û¶‡§/ï~‰Ñ>T{øÐX¯S9´‹}épŒP¶fPö‡23LOçKñÆÃlôØLL}ˆº‡æ˜Ç¶¢Ói.¾©D?ÿÙNöeñmß4é8³§Î8Dhê6aÏÕ+¥ c²Z¾ÒnÓzµ±tQmH©í^­Ì´Áƒ3Õjlßï‚D… _³fÌ|ÙAЃ½ízûƒL½ BzhE§q‘ݶ×qDPPpŸ/(Iky!`;Ög²¿u1WmɳÑ&R6ŒÝv8ØnTIÀÇ Š ¢0W¢½Ô…Q¾–ÕŸk‰ìòøg0ežïm` =/ÀKóOa¬›ò¸4¶Gkœ¢¾¶ö*3pÎ?äR˜Q°lÁ¿5–›fRa€‹Hu?9´øë¯ëSì ±Í, û}îAÓ'läÿ@IDAT^1.?PW¹";C.-i¾ô¯vòùZ¶á²Ük¶ S¦¼¤qãùÚŽR¶AñÞëÏ4ÔöØ™€\¾ûz“~Jð3s}Ûº\óÊ¢_x§ü?[”¯–Ö ³@$zADšîé•[bï–êËoR*·½oökyKŠÅ˜¿Ty×3›H«<¢ÍÅËp­¨—BS¶PsLŠºÖ"tTÈ,)©Š-®dâ#[üL!mSmÇ'Ú1´ÆB Æ>¿¸Šoðggš9:Šú•®q4½@B‰ÖºG\Ê…VÚšÌ\oÁRBwÈÃàâ Œˆ|šÑSÖ6 ò>DÒb&îÍ üZÛÅ%è–½G;ÈÖ”ÇÂk3åõCÚ’ܦBÖ_Ûxë8uåBuŽ‘õ Á’°ÌK©× ä 0ÆÂì†ãFy[BÙçs!´|ðñ['®ožf FºŠ)j´ÁB“{8úÖi”ðž_R»LyÈÉ5ùÜL ï|›ö4ÖL¼–Ò|ª¤»¥éÆK8Œ6ÂÖîhÒ8ãö­ÐØáÓù·¸%©ác OkÑÌóÓ)•òx%š^=î7¶Ë`]%T²Eü»bälKòYâ9Ae]¯ÿ1íô[p¿üw·ç¦ ƒ!#ÛPòH8–¿¥âÁ:^ŒÆ±D ¹©ÎöERm;†O-þ͹:¯žW…Œa½k+_ȘÔ^ˆâkà¶«ïüí¿’‹ëY(^…JÈÎÌHZÏÔXƒúX¾Ä²j_¾Èæ”k—ɇÎUÄóÙj—6‚Äí Ûi±ƒlãÁ4f%l›Ä&l=Ðïýèšc£¾à,,ŠºÁo³L´¦A1ΔÚJì=Úå2BóuøQÚæ&øÜŽ^´´eGå×?6íjåS¿clB‡h݃¡¥ÜàûŒoÅ¡9[|$ уЙUÚÍ»³mGÉ”ƒ¨›Ï —,Åý.JµVƒ™Pt)zØŒT¿/ñÞû0¸#TÀóI1ŸØ´·¸I ¾¤;ïöMsû%óØ>í§<¤˜g‚"¡°ß˜)«úù„©»ŸÍÕ|L1"õ>-€!My‚_Bk(’äWðÔÂ9UrIìy†Û`3…‹Æ3I¶Ž#Q¢Aîâ…9®ß`3g ¡WMÊ[—»ž±>!Ò‘`i™ZÐM‚qg=In®F¨¹­Íü0Õ zm;;üD^oe™ìÐfù<?'Õ=€+è$ê]7Y‡síï[W‘/Ë¢0;œh£!hÉ@³ô¼˜Âú”ö³Ûì³1Üá)ÌG0âÎÑ…ÖWZïô™¯U Âçõ¾¶Ã“ê¤m Ò=iËŽWžwÕ7×óÒxEŽ“å"D´óæë 3ÓXnë~ÆŠ—kí¾Ê졜?½X˜ Ê÷9#˜Mû xSˆ)FÁ™!ýN²„¸´Ê¦—’¼`M]×B¯ÓN‚„¸ì;«ƒ%™`OÈ’ëV„+ÿÖÍ1…dçre±òqæ_!‡¶èå kÅš «ØÎd£'1èƒÍ©úpà<'Ô˘o„ _›Â%6x§‹2"dóRôƒbÒÐ,v:ì9Ïvo…rK™Q 쯈×ß1ì£}ˆA0!%OYÞi°1ÿˆº_¹hIУޔ„äøaý Óu~ôA„©ÍåžR74ƒå‹ªåÛìÈt·¦lºú; R =cQUIÿ«Z1°ÚP^TµCÌÒê £HÏl8! :ÜÅûÚz¸¨õI{ì/Ÿ ºqš+¾ ɽk}†2,mBFò°•sx4‡¸…PÄÜ7U)Ñ7•Ë.E°dÓ —´«…M˜#¥=íbGŠÁ¡%ã Øm n`Œ›Ð±fŒ†ªiM~ò\˜ù°‡&[‚Ìð»}gÐê?£ÉöÏ¡]ÖRÿ×/e[ µvç3nWCækGÝpƒ'´ðý…KñÐø²YÈŠÐÒ4;ü\É©ñWh¾â¤>lPeñý†$ÝùI‚ 1Õ¶%›€ì3•(È7k„©Å,ü¹¹ªiQ¬YH Ç´ÄŸý•ߘ3 Û1fÚùOíLYÆlwª)‡Z¨¿Ü€û&”wB%";¬Ðî”ÝŠb” sžƒÑÙv®ûêÜ~ÿ××K1-‘9ÿÛ×f jãòfk˼iÌ£¡ú¤Ä¢OŒÅD—l¯êæ¡wžŠÚ å¸î[•Döè3ƒ!5!{°c#Ò0xè¤Á`ëixï9« òÙÀÜ}÷H„ægUZ) Kà/1o*³q2…®Zïû\ê6ý!6ûn(Y’ÅrÍ¼í¸ŠvÇúpñéÝï-ËÕÿÖ¯Ä?‹úN›.Ñ'ßöÀÖÿ!Ëg—á™/}õ%5pøMx£  à‚ ÌÇÁ7¥²@Ìr¡.*þÀ]·‘:{KBbäMâCêæNëÄPyF‚B=#~Áâ³ÊÐ1ÅTˆÀ4@An·‹v ~&™+¤3¬ÓÌØ<“+ñý¯"Ér…|ù=BufE+Ø.ª@V±]ZÛuc‘»Ú Lí•wyÓ¶·]_îCÜÇ_"v ë´!s«þÑl¶_ÿ³ãg #-{ßÏ™œ@»»êúàÍÆ”w1è—|¦»(äóü“ëä®<šáôSL°Y¥6KÉ3mül&a}ü+,\°·ýÁò©sC>6¶ŸnÚêÖþˆ1rÌíÜ•–²—½ApÑñ mŒÓ_ š^:VA?Á£ éµ{ئAž™¦\¶~#œ @Àã}Îu6óm u‘EyßlRâYkÑ!?œ¶³ï—æþ!wWqŠk'Ø×úûf@”l™Š•T¿2Kí²ûÖH…0Y›q ­!»¨ÃùôPƵ-Š–…qÏãt„µq¢G— i°«žŽVMÙüúøEsõ ü¢2ƒ]Ò62¤îDaöµ+ÊdZvv}‰z?òù2«ˆôзòýÒòÕë© €™#î•|³˜5óCƒ˜½Ùmz ¸Ôû|®¹µ$­ÁÔó¦ó•ç{n–"¤ÒÐã>oÛÒVrˆCƒë¡q åÐãždºÃiKšÂ8ÖY} þã?Ûq"88KIõ9¦z„Ç߾߽£}³!|tïI®Í"ܵç5ÿZ³ÊëWß3–¶~¼è¤Î¾˜ß œH~’ïê0£‹Æv‘`k &¸øÔŒŽçìô¯/_Þýíóoõ‹~„­q…×mt‰C¢Íòåѳ1®ì› ³aÑN Âg>IF¸¨h˜I蹸e&Ïä¼àC0ó1 VÕB Öæãôâ~Yw„d²„ôÏ1<ͯÄßE¢Uí÷S¿´eŒBj¡—k@+ Î[;a6´þ¢ÆÞˆùç#%‰\5ŸªFÜùÇÌÕú3ð!G3Ì^ÚVt»fdñ%VͽRRü/ ÊoCðï%L€8ûìå—a®p£?éè.‡ÿwœ6¿±ÖW„85tá2&¥Þ$„'í’ºBÉ®°žÀG›˜™ÆŒx}R›=`9C ÏX;w#|ǘ^—M°©” ŸM˜zjƒéu¡¦U®OØSVS0¹4ØYÇ·£-hëñ„¿,¹ª¥ÐÕlIÛ9‡ŸçfQ¤^®s=$®Å°|k’âCY·%G›îÆX—Ê+:gÖBæ€$H¨5 MÃ,ïï:¢†_.3yÍǾç«ÅK猙Ýwï[4¾¹ÏÌ⤬¾wÕðœ×F"³Hi¢1ô„¦!ÅR@ÚæösÎ~ÎøÎ kÿcæW ¿q §\›4 ¦»9JBÁ¤mϼîÀÉDn¤sÆ áÓõæM“©¿/)þM9{¿ctéãþ¥»À;b—„®¡åsU·FãpÏ!ð6ªÏ‡/'m„gã¿ &±ÓÜ|ð¹c¯ƒ"Ì%ÝôTï·ßþ}B™V`а™>ž³6IÔ½qõ™Õjý®Ëƒ.2­Ù^ËŠF­ unBVQ^ÒOZb ÷ö4üq§ÀÒ³÷_³˜÷ïþç߉¾8ž‡Ûð0ß³ßÉ«Â/õëi—-ºüŠàZÆ¿‡â§I6`ú÷ÿ»ðw²<Æ’ö@:å4|j›nçèK%¸G{`R&‹–à¤Jå(ï2¥7$¹Yµ<Öé9š@¤5³d#`ø. =+®Aý÷ÍÍ0©“#½×HmJd: CÐàGFîm×®0ü“¼õ– ©° \Ÿªþh,ü,³júD¤Ž­ÍÿŽÂ]>O÷žÓ79ß´’t ?jD+ÍÔóѵý,o·óøÂ‹Ù Œæ1]D#ôƒ!ß—ÿMXµgiþîJß~ºæ+“φk¥TÌ7 æôÍÛÜ*VŒs·FttÎçæï¡Ç·Ÿ3W¨Æ¯Vå´©ÒÞ·t–&žßFõÅÏG#ZPöÈv ÛjÏ^«üaM#ݹ"Ü™äY‹®ôת86}XfIjH A‰Ç,µ`n×—ÎL !ÖCÆip†9i.Èr=–)åHÒGÌ8¤jÇüïö™îçüƒ(â‚9 Uh(Ú­ÇY«½Ãü½oÐõóÔÞ®SúÓ(1aß› ¢l}¯ôü¿ïy,8ƒ÷[;KisþWí n>;ßr¤17"õqu4CZ;ж^÷Ç»<üÙÓ8ù ²ŠXY„¥ŽÊ¢ÉüP×õç²îöï׿ƀð©îŠÙÿ `ó©ix$á3†±ÆÂ¿£Uì€à;¹‰)‹éàö2Âs' †ù­Ù¿?•ê9%ýµmܳ¥Ævë÷M7QöŠ¡9áC.”Òèv>­éÊ„)éуÀÓxö²¦%¹4¶äsIw=ùo:±6°-Z¨†UÐÔ=œ>L)#j2×ý ZÞg”í^Þ¢™ì« f¸×Ç9·I‹ÆYutÈ_>°Ÿ”þsÖ)†Ü06Lc„9éBû7f²<(0Èí-Óߨœf÷·¾„é ááªë:/²ï!éûÔph±»ÌlôYÞO°ë b{«Ûvæ§©áÄF’.÷ÀcêQÂ÷¢,Á§¤T´·"€v’w6¯­Šo¹ 1ŠÕj 8Õ'n&n4~[X®UùȈ]_Êéÿp`w²&m‘|¯c°ÿ›¨/Ó›ø+-¦ØÕ‹jÔþMD‘€ÆpK| ¬I ÛZŠ‹6F˜ùXáI¶e‡zEbnC¢o™{ý\¤Õ1m$03!ÊV8¼C»_Ü2ÓËÄ¡ÉÇ‚s lÞiÂÇL¤~›É¦9ùq.>1Ÿ•Пã×·Ãóû¶8Žåg™ù‡~Z~©Ø@ÊêQYó›_°%ÄhÌ¢a|¸x+·³°‰n¸z¹q$Qˆ‰.Yí1xäšT}Ê«V–t_Êä& óÛo§ó_¿ÿ«\×ûwÿñG;kf¤Bê!D×iØ•ž[”q‚µ}Ód,§öËç¶Ïm‹VšÐ£ç¦žðlöãÕ4Ð"íMÖ<â_ÿà Qö‹ [W4õ\=_: ôî¦% éhΗ¤¶u~F<¶*ïYÇ_ÒPÆN2g±BLc>ß9wf,JMѸÛ©¾^V¼@Pj&äm³òÚ«ÌpÕ+U÷Œ‘Â¥…I!Ÿ;¡’„`꓉Öá÷§òh¥2"ß»›Ö™‚ï¯Æ7 “üýÏ*æzO‚Wbþ*_˜Î° ñomƠ̶éÈx'Ú¥}'‡°Š::æÝe '¨´TÕâ)§iZÏVªŠûô¥Ùƒ÷Gf}–¨±™—¾)ª4+’Í,@Âü½Rp›w o 4ãa¸®ÖV!Ÿ[RÀœ+FÁh,„ŠãÄîQûÝM¸Å¼W6²#úÊxhBœPŽ Há,ÿvÝ"âæA:>«÷ïªÝ§Ì*àVËI2¾°=NæÑ”OÕºm^qù€­‘Ž¿Šš\Î\‰©‚Ð{¬ßÖàÜ®7çvó„ Ðå< ÕÑRHò‡ü ˆ|(I}C^+JÈ…Xñ Bå¹0OfK± ©îÍAˆO-ÊVFenÙIéO_ 5ºE˜¤Ú¼±Ÿˆ.¨‘ð¶•šÙÜÿÙbý´½|[X_5Êc–„Â_Ú8}Yå§²æcã@àûN¥!×n'wépî˜ÇF @š)YúˆàÔÐhªÕÒž ü¢ß4Xüúë/Y‡p2·¬à¡ÀÁâðKƒõz½šG޹ӄ‚—@dùÏ„P.Mþ˜Å ËbFç)‡ð íD@ðgiYŒ‡žÜ®EÕµ»è¹vÀô7&­È#f¡BÈN½IcQÒæGkäRuoS@ª{©hS7J‹–+ Ùb˜45j'DFf篥ûtÓò½î=…èS2•´wŽÌRØQ fV_A±óòf}ê’€¦%Ïž>avƒ/d¼4ÕµP?x™Ð¿b¼ïí¾ù!ÍæÐ‡Ú ó’~B•& vgâÊe=µtò¡â3?hÑîߘ–|þ’FÕ®4ÖÍ%î=²¬i§çî[;û͉Hå휚ô?ÿíß'ÕÿÑrŒc§>Ð|lòÚ® c ¥æÛyt4‹iuRÊS¿[ô%}µŒC0›%Á@+P`5Ð&˜Õ;z—ß7ÿ;¸£©Ä1ËBpâÛ¤è0Ÿ^ ᥩÁè¾tR %BN«5|%]„-1OhÄ û‰æÏµÕ1bÐÉ|woŠS]Û£i̧е÷mÛ·5!€~mG€[=où k€DpÍ-@ €“nANF’S2®_å)‰ªX }‘C†QBÅ$×›××V}™y¹ÊcÝ(l¡7!c ŽXïæþ¦% ;üO¢îÒ"Ö­!¦ŒÉ»ûN Œ-2m½ø[š:;0„’¸t§Unÿ%†³nã¥Ê‹Ã©*æ[”=‘8ör)ƒ†×ÝL*NÄé˜)\)_G ËøÄçôÐîE,Žû‚pį|¨Ç{!ÍñÔx߇4ùI@ª4ÙB0ܒɺ¡ ‚xñ5â‚AÐ#jO¸Ò‹·w˜Ä´¹™{æÜçlá|tÚä@Ìï¬Ñ4E#hB³×ì·/šî,ê¯ùñ§¡æ#o†+8æ/ƘÚÃÏXQ†$2FÇ¢ó^Àô”\r ⪹ðGóA+_ÚÃ1+ze¿f>ç5st²û®W ­¸)Ö˜JBvÎl?E‹ SÉ¢eB”ç˜ËçœxRó¶ds!ûÌrú-€?•-n1€ æ1>€aúö·ÀÑiåKé0j"Æâ{¼–ü€⯙ºwW]mù¥3Ô˜#©*1 vrµ+•èMžqûç!.ÄÐ"}Æ¿sJåŠnë|&(˜™½ùÈ`‰ñ˜5ŒÄÌÚ¦Àþùû×ÚfÖ»ŒŸÒ`¢Ú/_3éY›æqOEqÌc൸ÔU0³..[z|( æ7š.ô˜(¶Ï21p­,$7Î~xÑvoµaZŒ @ååN!q8›÷µ é`´vÄšsܽ‚Q¸¨ï«~šyŸïgª¶a¤PŠpS¥V¿aƹ'½ŠVux`éÑ4ÜOiÅdÀ@ÔYÀàÛß>«‹«¯ÍÜÓœÝ#A5ÐCˆÂt©Ià Û#9ivÀ4Ç<ÿ²›”¯{&O{Ư¯™kOC™W¤V6DÀ_›Ip’·*cu0¦ 0^­†¯PÞç¡þlbŽlHÑJ€î[¸ÃÏ2½FÝßeÒm˜C³­Ä>xV2ôÓ¼˜…¡™Í‡ÞýZÔh*iš=¤„t¾ Ÿ,ývN¢§Q`7LS¡«AÛ»ÆÁ{ÜbÚYN层eUDñ1ð>£ÂAÇ Ò]W îògZán…ŸpUÛü'•DÄŸza¾ à Z$4ðp]\™?7j>j¯tFg[(þ2EŒ€M`ƒðËw<‚,?§\N?[RÚøi¯Môšñ¡Ooi¡ÆaƒÊ),°i6xž> †ªú¯_|ä›ÛQþ…ëXiû,êm€It̉þ‰î1ÜñÅH> ’Ú LTìÙZˆ~WZ„¡PòLy˜9 Ü`Øé‘¡c³’½Ëg Ê!P@,Ó‚ Bz™“Œà`²k×ñ´ï_Û(ýhÚèq{:­q£L??ë/ŽXŸÛm`åû1_šóºÝÞó¶Fp[˜M#…(»bYíg—~¦6pÂ*oBöˆŒ—9«VNð+öLüü©ú–â+³ÆcO›~Ý;àMÎû;†éfÐ…#¶%fè]”ñ3Uûn–²h¼æNVCD8 /ôÈUsÝ  L;bÜTõÏM‚ž §9ë#374÷Ë2IçœÄy4Š–:8ºU³2¬Àð.¥„[›Ò}–„%ºI&Ý]Yþi¦þiîÆÊU î׬)e暯Ý0óA[¼ôK!3ÿ½tɪZ ½nîR»œmÑo Ó„2×÷s“ôü3ΜÑt’û×\•Ei/Iܳ±PF>WèCÛãÉ«Õq‚±Òh–-(* "^ÂÍc´‰;¦i˜6Ñrtr¸ŸÛëleãa¶Ú°©”_Vw±1%fz©¬JušïHî‚u¦üNÔm,,; G W`,vé†BâógIаø˜ýXÆ®0_}r\ið¦“ä^‚¨ 4@$D¿áöÌ÷úχ¨.xøœotsý) “½OâLìÛ#å!?á¹nšèñwÿŒ¸¹Â='¹ði „!FËŸ(©¼óuÃ,­ Á’×¢5ë} À»cU…7"»ú³×2g?´7ÞâCDcnÒj9­ÓĈSlÑ í[—ߣ˜uø‘¸9MµÈ×܆¿êï?c8Q8fƒH¼ùI›Y‚[1×*£íøÅ;²Ë"*HÌíƒÝúi-mð}-3 ÷îU9Ðßßý# Y­NÑÌM~0§õ¢÷K~ä² öÇÀ´€,–ÿñ!áj,9Üðì8­F˜‚H?öþ÷ǰ\è"S>Öey·§Ù~³3l”_†ó%²cÑéë áhÒË\ïD*ærùÎ4u ¨1 \lÓÌhà<>c“?% ¢rçü Þ‡·­i•›Ì¸½i©k´K/Mimƒ¦Ð„¯¾‡{úvøNùºšZÛ¤1Ÿ Íô‚™²×WŸÆò]*;F\‰Å2þ$A‰ùÛÅ_¸ÄhÀZ;º£N™•°½ÞI _CžÏ±Ñw¿_¢HÈÐr};ÖÁ³Î+ $¾rŸ•„ÎlÒûK‘ë›pM{0‘<_É’H‹§ŽÇÑBôý6Õ<3q\åñŠ#3³ZóYBÐSBÂÀñ_!`{07zHTͳÔAà¦yœOáÇt©=Õ»ÒU‰ª‘£aie;„Ê‘Œ™[?{)~.˜Fã· ª_E¹ó­‚ÍT¬]h3WC àõwh8»x¹ýÒ„¢c+ë20d!”¡A« ^_ﳩ6 jp8 éøfÐ/ÄØ:ÁäJÕÌ[[†`ŒRX´v Gji–îÕfžà‚nEïn¯npÈü¼øÛù,ïÿù4[½TGAúMìÛ¸—¯h¼¾Øu3 öHƽá¤Þb(ŒXöðÛnJýöáù#/qypب*’|Îk"ù¦ñ.$ÊÆ¬¦Ëg.(¨Sn€ã0ŸŠ[³&R` ý½cE"@Â4#p}§‹z¢Ï“| kjoëCzúì}ˆP=Ÿ®½®/ÊY÷¡t_ j!m̦¿²¥ý—­ˆÑ}C°aŠç_÷.ÿíL5F¤Æ9ìôÞIèýôLB–FçÇ‚ ~ð­2ÿ7Á²]Þû˜¡®ë=´×çàCšJï˜óé¡*R5¸Ò—=›Ý…ÁV=` …üÖ¥`–>J \Ñ+îȇ;~® qâ–n†Å‚ù²í ÀÆiÊÑ!å²9ú´ÇJØL¸lK:½¿Ý-#,m°ÙŸ7–²1½ç#ÄòK½§®®ö1“lšÃNB1 j„Q#~“KTðÈaöœ¢ýN3Î>ÛÑcþJÙZ4c+Œ~?ØM‚ƒ/3é/jv8t®SÀÔeÇ0 §ß1@æ,$é¯ù¿_÷óézùT‰ÁT»´Ñ}þýP ‰/«nï0äG0ö+B¶ý…±Æ¦Ð­IýLÄ­w‚}i˜Þ†K¦N$n¯Ë&ö•õ`°c5c©ÏÃ1¦è!ÇÏ– PÁbÁK¾/@LqÕF$ëoMZJEÊMø—z6uI[òIU ±Q^PÁxË]1¶=‡ Ѳ6MÉÆ\,UâRw6K• „€È'ÓªKäÇÜqÏ Z‘òz©2oêÆ”áˆˆ ×’ªíxžÿàphG—Îü <,?¸$yû¨4È ˜€êKņÌV·'aK•¤%¢éÖ˜¨þ0âúHêiJ®_•¶àáA³BôÍ×1Ë>gʣǞñ¼9žPæ*.¥•½4bÖc8ñ!x Jpô!àÂ@ ÑúÄt¦±Í–dˆ½sö Œ©=n™®êÒ(œ¬Ievxy¼¬ —åS#œ'ÿã(+å'½šÆ˜ÀžÏ›Of• M7qajC:'ë?­^sÃÊh[¬}öwÌÈÒIP+ }»n¢zÒ8,4ÜÉGʆë‚>5±škEÐkÉÿu­cÓm~mI]B1( °¥ õv™‹$6ÍÁùÖÂjTdI“’œñ\̦k›ô„€žî½ÈlpaËçû½Çå·R#H’ ºÙÌH¢ónë×í¹ÃðFï‚5x·E­.%¹ß/ ;>jð=Ò`êí0Hºá%Ž8þ&=v ñÉÛFF»2.š¶›twÏãö¨æjDÓ=Ï?µ‹?Š ¥¥Þ 6QL)þæpµþ,‡ˆ#u'‰Ý¨ÉçJdDªý|gŒ- lßi(âx«R‘ºàÎh?u0kBø·‡ŒŸÑauzÁÜ_=“óäô®jõíô_Šéª¨ñ½Y‰X/û³F´#ºži3¾}’Ó†RWûúì×ÖÝ< aNÓw7ð:¼ÕwÌAhäçW§0¼QP¥Mã }nƒBˆ«ÇJñKNz#¤ˆ©O# SÒó„S@{NW$2øò¿æjT w%5cîØôÕ™£œŒŒ±™LQÚMŒe?æÖ¤ñœøHê"פjë3ÒL’¥˜ƒtýùgLÛ ma-/)7 ýh»0=˜•Zû ÌÆH5< ÃðªºW¾…|ì`?™e>†­& Ú ~Ÿ‹òw%“ú’N¢­<+§•Öðìª=ÓIr#ºò³bœ|Nýhßç?¿1'¶mœÛº.AST™ß´… }Õ;OíBÅw³ß¢tM2|ÇL›Õ‘–ÁKVò³Ç€5¿ª–Ñ€@ðœg|ŠŽâmA§$J³½Ð{×i,¾´çä1¥ ¢Z,ÞF#3ææÓ˜å>xàv«öb¬›2#´…@q¼Z~6O}nÕ¥ ©äÿâ/œàÚèTz[Í$~j‰¤¹S€…ˆ:±ù6|‹«iê3ÃaD&"̇£ j¤¨m)™:Çd+·^€Ñ£S¿“ÿ3K‡?³ ¦"…¿ûû»›OIFà]†kQç¾&QãÁíYîQ$ûæ|Jfã¹ö¨önþÞî4È®4ök€viBH uYŽðÁÞÕv>¢ûšïÓ¸¾ØC°9Õ°;–5ó;ÂÔÿŸUñPÿão•:µ÷­]»h‘¢ŸJ˜zknKÒ´1+ ¸ùåӻǖ*~‰ÙnÓ‚ß¹™Â¿®=ë7ÌíÒ„Î÷ܯü«¦GY§×'bN;öXÿ^.¤#l»K¨o»‘ùƒöä\žÛþ¾ SPB*˜0:ÛÖ*‚C9Îå7^ÕI:ëäKÏ£© 3ΰV¦ù¾Ë3ÞôaM ¿Øé(¹5÷]ßÏ Ö»çÜŽN'À#4¤Í‹…oðÕs45ºŠo­•Šùøv pÀˆk‰ŸÐ³y– Î4ŽäW©ŸÃkþ¶ªÊrÉOvBk78š5$…ø4ØMKÉ2ÖÐly!iŽamÇm½×ßa™Ps‡ˆÈ#ð&Æž*PЈÁºÌgãR`zγæ¥QŒQUÍc‘¦t¼Ûm ôCÞÊÕõóµw¶F:¸H.h¬È$ÇÞå§Ê·ípšÏ _‡C’ÝM\²ˆ÷GÉdÚK—B‹ö€?{HæµVÍ£ŸðþWð™˜oØãÇ×nj¼~þÙîYÒH´×cÂe|á‹78wåÞÕÍy–ÿA¬–c9jvkuš€].Õ·KÔ&>A:Ï”«;l«LÄ<ÄéÛtëM³`»WÌr¾À¶Ïe*ˆ®ÚK3+Ò™þˆʶ¥-H××õ]ú­AÿD'R4°É÷‚@ ¹EL½'qÙ'uÎt…·þÃ,k ÷J³V÷xƒÝ¹Ã!N¿ njÿ åÕËrvæŒóMíµA| áÄŸˆ™•4Ñã n‚APq‚OÌýÇ_÷c5f{3i„Í«‚Ѹ1y8¸½;cÌ; ‰Ü ý4v’ܯØp’|Û£°ÜÜE*tJ*ß0ì<†.뻟pÉ @ó^¤´˜~Y³-Ò6Ü¥ÉzCÎü7œIJ²t¤‹* J»ˆZŸp®@­!,¯ƒÙeñS0Û÷D¾ÏH!ÿ a8ψÌý ¡ù’´šœÓ}Lö!€Ì sɲvÓ¸2öæ(íÊ5"Å@3O5!G¶$p§5ÀµÍzh<ŒçþYžø£nHgF|f6aÌÙ{Ï™¾]Â}Xìý%`i¯`•+S¬€ÞL¬kÂÐï[Š1#œ¯×;­¯1!Fk‹óXÄ,Ê<§[ÑÆ²D;?í,ÉDHù è)­Ýð£&£©¿\æ!\+ZýÜ|6æmȵF13µß/ÉpãñËaº>m,Lwf›±çsíÊtôoï¡)¸^ÍEwI|sA¾¥-)¨n?Î?O³ÑžzU¢˜NÃÒÌ/áP²>âÖvV%ä{šr±>ZŸiÀ>B˜ÀXÊê9ÂvµRSçÂX4œÍo°ÖÜÒú_¸®ã~—68EŠ“:yT»ž%¦–l)ñB#†P*ÝÀ™#\TÇ· êzoa=•“t½ï3áúÂDÄ„tñ5WwÖïÞC ImH2p©E˜ø®ñI,c6%^˜GŠr>Ëwöœã–Ñï=ð!¬ë‰W¿û»ûô¥i·°Ói£ÚM’úµ'úœö”ìý•P5ÞiÌ¿Ò7Ó¾ä>uÕX]ÆACnŠ"cBðî\æî4ö«íÚ¹n7‰ˆ>a¬-3H“¨žYŠ,xà^E|ágøn ߪmzÔ%h±dC—`ø–ŲöOˆžµ¹Í£(CFWl¾q=… ëI|‚¿ì„á™ÉlJ¬½tøD¸ÔUyƒ8³þõfÞýPÄ+[ú×3%Ùz‹É"¸ÈòüàCiâù€ñLH Ę‹Èš'Ü>s!í"çV6ÿ¾Ù©š‹$pëD"¢v¿c~WÈH_n€3Ý€ôŸÏCTÌÖ­iQÌ :¿k—Éäúîã̳½X³-!CL~£Y Ø“bP.f|ú]m]”ÜŽ½«ß§¼ gXÿ(œà£½Òg!UïMCA]ÌGltµ9j{nCŽe˜[¡F™†ëðˆÀ™rŸ¡Ÿc€ÞÅ„/ZqkƒqS’ESÔVm„ 'â¦é5ÆU`0Á0)®pOÆÁçÆJ㘘];ƒ ¶âv^KpÁ_ÿ½G‡¸µí“û/”VÂã„ì_ Ô&tâD³"Wޝ_cö™Ié‘2Tb}æ_Ôߪ±NÔµ€GÒ2x#v(£ma-mHoÔ-¾_„j½ÅÖá¦îÇTãàS˜9-èŠÀÔ (ŠÍèÔ=MhÆæíÚQ ˜hb•–Á< R¸œÐ Ô‡»Ìe•͇„°Æió#}snb dgnŒ–¢ÓDÊfhNU‘®DBˆ9ê¶±õ_mÂ%ß0,­Õ;Ãðx|RÜ þˆÞïʰKÑXÊ) ò±¸*²Ý¢¦"Wôƒ›…:íŸ7&$ù´|\>Lô_‹Ç zI!½7ï>¥wt÷¹ YVµÁ€cŒ¤I|Ú«çûaÏ«ÃI—Ù B3:f~*‚¶Zк&z}õÞe ,Ž€w~úCüÂE¹z,ZÀ¤r¿ûWHÃDÚsm†¢wù]R-O÷_:Î*Ö[ß1]ÏJ©˜gå“n*-4«ñÀn§•l½óµsSD¥á7EaL _ø‘ ïþë?§q¯ƒoþ¨.ðf}Јˆz]1§a[š*‚Á›9Lðx{Í!ϾÞ.v€¦vÏb1Ô¥D\ff VºÖïÞ…ï¥À0*•”¿àÁ úkÁ…-ƒ¿•@æ ¡>ñõö oæ¼m.`ïÇÓ'1x𠻏7P.¯Ë2,ÀkL;ù=ž3}|WÅO«ÝÍßK+0Žä›@¦YJ¢XÊ‚Ãé9/ÞÆ ¤øÈåQ·†r6f”„©„£Ÿ*3Þ6Ç!sò{SÙ;²/EÑOÚV%´òýíSÒ¤2Ó[â©Ð¯C0∥™·„±ßM ÊÒ– J¯ÐÚˆ—3lr>eë=»¥ˆÁhŠPå·´8Ÿ/4Τ`fmo6FyaÆ039§ÚJ fÌ'kCÅ/Û—öë<Ì8œ,ÉŒašÂ\UJ’«öòàÁC4J]{ÛÎ,Ä*×ßY.a”†Ää´nÿ\.Df7A ™9vl­Á,•–VNÐ{ '/€36GIø»û–´‚o–Èûáp þɘ|¦4¥é6}'lGAÍôC:òh1]ÿ÷;œÊír£„Yxȳãcî÷À ~1S pä“„çÒ*QœØ3˜‚i@õOR’XÑTUsÝß´ŽÎ–· ¤Ðüj¤¡¬á'Ūµ+Á™Ië§¹O3'¤ “NCÔÏjÓHè-‚T½"´· [Ä&B³K™”Z7%ð›G¥VƒÕÔ!H&¯ü¨}¡«Þ éï!P‹&õ%ƒ?Cm¦ ~ ‰öñ9ÜÐVÌíL–çÆù9Ý'H2ž1¡' |K櫸V á„Ë3[’àRc ©-ûP3£ƒ BXŠUµæ³. Áx J(°è/œ4ž!¾»ßmý,˜ ^ÕMÄ¿[ï¾çÒ`üÃoÒ³¬ÜS‹ÔlrD…ŠFÄS|²âZœ (º .Ê"~ŽkÌyà ”Ÿï†¯übdQyte Y©à‡\²¥]ʯ†ÿ®”‡Ë›Ä6£D²­rêù·dª^ZĪÖ 5‚ù'´ÄžUdÚߢ«çæV¿y‘T~¡çE„C^A ä¹”t­r¹vm˜´Ãïj¥f’ÎÖªôWÞï„Å®ÒEµ™ESB8OÐ!ß8¤bæ~GpÑ„ÊÿcÚS.ߨ`.u k·ÎïðßÿôÇÊ ÓI«%IInßR¾E­ïGÄSúãÇX8oz <óEk¨'ãœü` Ì,ä)Ïâkb^Q7ùÓï@9.Ò”°knÂcjOëäÍU9Ü€Ák*ákÌu$f#&¸¨ÖæA—¹gw"ìépZRD3#=ï´Î á¶#kp#8«  àKßg‚ø0¡¾Â}°ýt·j%KÑÀ kZ3¸ªííãúˆ¤ -JªŒáN\0¡h¦}È1¾Þ!œû=d*áÒžc:¨#˜l‰ý÷;e€%pœò+m2îc‹Î’•ŸL‘4dÐ<™4ÉÓf=èz«Ü®—Iù9²)‰FMW@Nø{âtnÀŠ}¹ÉWÁXw¥/„ûÆèçs[}¶J«Ë"rë¨x5k.Îê×6úQØ®nëBfØ3|c\˜Ku–i5&Šƒašâ0ŠÜå­ˆ Óœp„“¦ézóýÎï@„[Ÿ}ÝX>˜ÛßõbÌ@Óðf˜Ã§rôþqëŸ6¬ö2Æ|Ipâà ºèA…ÌžóL!._«9£&Ô_LÛ¢GÕ1‡::î <ƒ–åZßÙä7 z<ü )-Oi€ù}Éz²RV«Fïwí±ng:زd8$0gZY ;+#!?w‡%ƒÍûxãÑ'¡‚ÿ›RhŠEhâ梁¤´œQsõÈT¦Þ¢5V%°òøu¿Dèöùþ¾Ú/i¯>~š´ø²è·Ð>MrNR2¢‡{XØÀ¾ùQçcZoùˆ•R®*¹û~*ÐÁ¥Ï¼‰ö‘«%|êPç«Ò8´ˆcl¸(ÍòdãÊÞÃлYÜêøÚV/ÚÈg–Z‚»|Afú%ŸÎ †ÍÃg¶ÿ!æ[DnDåï"pfÁ’RÍ\<ÔöÇûÚxîcdšÕ‚-þ6·RlJÝä×ú°©N Þ–ž~PA³ÏuŸŒ0$¡Ø¼{¿Ãëcí]GÜ\Ÿ4]#Š>±IÞºµß3í‚0UéßÊËëBl–þ#Í/ÐSûýë9s.VÝ<ïc®r‰eF„"Ñ|h±‘ "º|wþngrC†ö,— H( ë®—gltØL>ˆ!ØDï]uãæc¸¢¢§+}¢ù¹,– ¡þt†3 ²!­$ðW©¦NY¶Z½bR3Y;JÒ?´n¸ßqyÄ›ÙêIÎsÑÒ§r<¼ˆ†x÷&1LW aTZPßßô$a¤^!ˆ”“Eœï™Ò#Ù¹}¢)è0Hpô3ÿ«{2îœñ·$¨T‰¿eöÃMPDú´”Ñú·tHãLÁA$Nc jÂLŸ-ˆÊÜA#¢".«¥»/ùN“pU>Ôv=[Ïô§^1ìÞ“WŒ{bÎã´¿JEÔ ™–k„·ºŸ¦XñM:Ív4(ÜïþÛ:4JB &ë;Zë#EÅ=qœÃv¼¨ƒíÓ˜Ö;ÕßßÖ/õÉÿkœá˜b>j[¿ÿõ׿Ë?–®šuè¦]Ó?uÊÆßŸ4@LÈü 0j(üþ«7øþ°º£3Í/Ë¡@‚À¶A% c¦†0IVRnjç  ·”$£F ˆHQá§!ßfûüE­8C'ÇÑGlïÖH›mÓ”WÄ ‰|ªI–ÜœgXåùQß!bóÇ‘w"Sðp«v”ƒÈ9Ê /¯ï}&³ªÌQV¦,ˆ9S׿C{-šÀ¼.efÒ8‘ änlQêz¸Ÿ |ÇMdNnÛ›w1JÅ\ÜœbŠR…Šç7ELŒ6<Œk>üÖ×R911œN¸áɳ3‹žabQ]t¬ GàDù $ñ˜Åˆ»Ô†N }h-M“Qý¾½aúéôö \xqùó¹0ìæøÁØ7Ó 7ókc¤CÌ>‚šhI¨‡¤ø„*fðÃKfšrѾfaMlž Wü>Ãîcía£E o˜‚æÞý§0Åy0•Vmù2*UIÁYeÒ9ЮçFÉC’k•ÆŠ3{"âÆÚ DÏõ%­ñ¢EÏgš?éuwK@×Ö˜l-k@DtÕ^̰<\}¼¶¶Á„;„l“ç§m3¥Ô“>¨…-ݬý 2¸"zÍM#HÚˆfâÄÆG=0¦«%^{·g¹.˜x•ÜÆüˆi­f]æâ'¤´ä GRhÁ5fwuÉUp›@IDATÂÁ|cÖõ̮د¯Í¯ ó6wŠ›!q¯?Ñ똟Å7]Äy‚þ5ô}Å;+ä­Ï÷˜½½ÃÅßnÇ qewCpc¶ÞÂé˜YóšV¨C•-¿´G ºâÄheÍ»Ë[ZDÚ5Ð8“¨ˆdüˆv·P óÒ¤ýúr!éf’ÔÇcऺÏÞÞ!v×’»ìå¾ß®£î1ã4À>+Í€é\ãT•àùgà9ïŽéúôïÿ™À!LßÁ!#×à`5.¬'ÉOFLk‘EˆæÕ·Æ7Å´zyÄs}Ÿ½ùú8¢èžKAûé…ü4¼ÍØ·P ìoƒ?­ÍÔŸ%¥5CÃö"ð˜¹[ÂG`¶]JòñÙÑtá$“ ‚…•÷éƒPÜ´£Í¹ž1r1B;ˆ„õí]»kýa_¿¹lŠ€Õ™Ã®1kíS`‚ž¹3*”ÇÛ”“bÆ@Ul¼ºò©x¾&pTµ_íB?%j„Ú‚S?™VfS{+´ ø”çü.Ÿh³B˜dhÍ.-`vˆV2*f®Ð1Äò±"æ_[ 5µ;„÷L@Mnû£c*§[ ”üD”àé•°çüZ€n]°ç BãÁˆˆ×Ëý™ 7½Z{™·Þ%hÉè’ÊjæX@?®Zä•ÆÎ ˜36$‚gºKРÂx/éX`êw}Jìû‰ i3À±2®¥R<ÛÇ›+ï÷ ‚û•5'-£ 9eæ’£κg Jk¥EÁîYJ¾d-ö/Fï×ãJÍæË ¬ÊÜýÚßvw`nP忯ڃK36„†³K¾gtÔ³K.˜Éÿ>ë-—ÐŒ¸”Ö `A¨…ã#ϼ8j@ ž¦ ¹8šh’*\jà:ŸNþíÈㆦo#‹Ñ»,|jF²³àø×Û̆ÜÝçLÜ›£Ä —j!3(x´ËÁLn}{pý†îA7?OĶHK·L®ÆØª¾i“m 1d{Ï›wUÅœðw¡±“qnŒ³›‡sDÖ÷öGüÜMZ‚ÑCú£ÔFLh¶ÄFí.A‰èu8 M¬²ù—âã ô[} }A †ÐïxDHIhRh¯çªGß×É1ô^÷_Ñ…ºËºèµxu‹Æ˜hÄ#\³µw~ŽŸÃ1”²ZAІi§F%W£0v)Š%F\Šõ…ÖúìÚŽ hSûzÓØ)¯«­¹=ÒQŽ'ó¤Ô/Ò‚÷ø¥õžâLF¯T^@ ü*p º´Eĺæ÷Ž @]˜}÷Q{‡&cÖàkH¢}?ÆxÔ nóÅçÎiº¤Ãb¬ò?ÓaÌŸ|×µÒÕ­6z€¦?µÑö¯é¤ˆK0rªBLÈŒ¡˜:P/Ÿ1¦wÊ¿]W:,XBr¥füõgp—MlÜ|9ÇN}j¡µÙ‹¹·åÚ¢õ2Xîzï×|¤i µ}UîW›1K¦ù󯟋òóƒå}7'â0ÏVª…šžmü™:æË¶(fglriZ Åh6™)8©øÂ|Ï-Yí£÷™G™ g¹Œ>O`#₳ÚùÜΩ:s8·> €þŒÁ×܇°s´£e "8ùþpÌ'·K—éºËfˆDíÑã[<³e­\²€} G’ö=º€òSÌê„x}<´fx³hýÍ·-=$bƒ-žPè,ã ÈY}mÑï½—ÄÕpŽ=IÚ¬D’ö-BÒcŽ Â\ùSgWŸ!¼½ìn4†^bxæ@!¥)±Ô=ŒçT¸¨I"”F …é2ƒÄ`ÔÿÝCð´Âvcê§CªÏ,i¤ˆÓ¼}›%âñePƒŒÖíà¡90œ£ÅÙ»§—¹&ùD U26“ Æ-hOâIêo¸"|픿¼hn˜¼*¸™xyÇéÈú2Ûó\þWúïê²L=mV¡‘߯ÅÔþYzˆ¸ Fºa=‰@¥WrKgN¶AvÉÄ›Á šå¢´ý(ª$w÷ÙØÈ"@„„U§h þƒfRðÇf[ä}†ùHŒ/&i+°Mû=ñ®¨‡¡DÕI:AZžÑ3‰6øSáÁ±C-°ª1>•Ì´ íÀ'z›K½èpœ*hƒvš5†¨Ä9zÅH1DýlЬb ‹¡ø«öÍ‘hïö‚¯[Wcb…>ØHmyœ;T>uçó»—žj,%uƒYÕ8×ˆÂØ¤þps—|§)æyÏ­j¢]B ^ë ½Y„h¶²­`“ƒMýÎ„} ³àÒ@ýùô£´[¼²½¼kO„þ[ŠåÙá;…ï˜M™5Œ 1r0‡/›‡:mžòê´Ì´LíþÕ:`/s2`-€b(]áeƒ;:# ŠbbÇî­NÓ,;r«6®gŽvÅ®ñ&?#ù›¹éÖf¤Ch7fê[Æl*WZ’Îß,½ %æ#±/_mŽRŸ®m¢ì.ˆæ³nM‡çQ¶žE~R3üAãÛôVã°µØ[ê&ÏcÒv{HÖÆp1Ÿ]^–Ÿ»ÑíazNeÎ@ ˜”ziû¹"Ç_Ë;›/ÕxD)͵Á… âbvé¥2µ¦E\‚Ÿ†ûž ·½…ݶæ¤Ò¶˜¡±lºq3^RYÁJ»rš;çÒ°”Œ.á.>åÞÌüJ­`´Ú¡Ñiÿìõ &LŽé{†ïÚˆz.á ¸ù;‹¢ížmh„ã)Uø©iZ–nIés{Õ FÛ¸ÄÜ„áGV÷Gš¹Z’P܃±|‘ʇŠN™†n L Y/é·þæè2«!!@UìN“…õí*Ú«$D>Q ãìZÛ}ÐùAǘF$x7-Q7þs”Õ¸¢µßÝÛ[šÿø«ï8 J !ÔÇ@Wý¼(%½á™Ic´@œà]Ñ ê*;Nå +É&"Çd<%PF ¨øam0ñüì1l8!‚EÙf‘.ÄL;(šÖÍd-=-÷^â[ñ½äôh<À F™ÞÔÏCZcSgÝZqlx\µ7Õ§W0Ø3aN˱.ËïÇ1¤kC¢¸G|ÎiöÞ½b6Á[,= ˜}Ý_zÔŸu9y÷Z;2ÑøÏßÛ<¼}ºi2">ºi›ç/-Rzj/YŒ W¿~ì¨Ú‡lYˆ˜ðÍÿ’’åŠ"ˆÄðMÀSÌ sêË0–$E‚îm'О¿ä‹´ÜRºåÁÆ”†«ÓkRK|瘋Ø,š=ZdsƈC˜ž³«èÎÚéZò;8@¹ t\ˆÀ¶ÁŸæy̘˃ júMÎ óŸùí´A‚¥â# 'Ý„á˜æãWÉ[i#%Ó÷Ñù5s4E›û𿾥‘h¨÷«ò0nb°T›Ö|tÀc „÷ ™MÞ™ÚïÝ£ÑàWªhÛŸD<Œçì7 ÕÍyäÀôÜåç™sÂÎq¤êÖ]@I¸ &ÝÉ(~€ß-LªQóÂäCУ˜à!ŸÛ¶¼òÉ]€ªSŒæ\;œ*/#$ L &Ð÷Ô<ãèþµʲµ?Ý}øüî?ÿ*¨kc(&¿wl™Ì]³#˜E)ÚêÄÌÊ#‰˜Mƒ!"•nšæ.ëBÖ1`ûäºuœ÷å~B´Ý¢|î+ƒ¢<¶ð<"]cδÁSIQ¬€L`‡=|:FˆÖµéNȬ5¾Êhg­"ØZî@_W©sëQ{eÈÂLª¡܈¬áåòzè®™\Ô|÷ù>Â}9\ÓñÅÿ×Ôlו+éO±§¤Ì»ª<òZžy`O<°ßÆûUüº5)ßÊ”H±‘èÿïy][Í9gol = ¸?4U*Gc¤ß*ٳꀠ…dMcr‚R¥ÕÑ %ã¶´IXŽï–ïH±à¸²^®;wEr‚©G×(HÑ4y—³ˆÛ NBìÁtíצ|Æëœi_-W*n¯Z«3á9ØTŒÎ1¹·Þ¯]K(Ö8ó<0:ÀxÔÛ;ú“£ÕVFD쌜‹6¿®¬•dæ§NÕ¤L~…dØÛ¶"šî϶ªã²\9"®ÏN+p¸iš3˺þ݇QmE½Ÿ@q¬@LÕ«MÃC¶³c5BsÊêˆD}Oåâô]çXÐrbj?˜çÞ»j04mõ%ìQRBq4aGG§š>J8#3žá†Õ(4Ɇ ! ‰¢°iYéœøÚ{h í¯ö´îãk¾.íDàÄ!ã–!Û%@PyiICB ¿¶,æ‘}ü{s¡âlÝéý“ø™¤]ð«é«4€Å÷\¡ kš¿^YÃñ¥t·zN‚›”fÎ^„§_ŽEíø{¹lkŒà„|SuB/¿jÓFí’bî{z#~£Ká‘Ëvx`fŸc¸Xc8 vâÇÕA}‹Ã>´ãìoo_ AÇÕiPQ¯Â©Ó/y·ÁÑwŠË!5ËÉS›úì©sZ #l1Ðö,ÿNð²Žú(]Ï:sa¯)’ê«6 ^¾‡˜¥†­×$y¶Ú"H:lg·»µmÃatipñÉ<T妨îelª¥w–bzPY&×ix~á°ºžÝ…àH]ÇBd¦RZm iÓPß{´ æÇÈ×7iˆJR_cœÛÕ+ê¶ÊHm±²`ç‡Ýí°™ZªŒl3 „ÍLEtëŠÙ¯Z@Ôsg‘¤XW÷“¥y]ËV!<`¤‰cÅæÒ‹½ãÏ€† ЮÒ&àÍ£¿Æ=÷#ñ¿ó¯*“Ýá8!ª.Þ×Ç£¥‘\ÔÊÏÞãWsäs]ÃBŒB;Wò¢ä?S \ my'³c4k×)¸¨TŸÕÕLoÞ$d=®|1ËËÇ`3ýõÛ¿”zõùkéuil Ë »©E;c-s¼×íØJ˽†¿í¤‹Þp6ÑT{Ï#/ iµ¯1ß|è”Å&.ÏŠPÒÿ¶æ&¶È‚Ž\¶lX„½gÁ1ªU(„ RcÂiÀT÷k ¶w¨K.“ÜM±ÔÌêꕘ~IÝ‹=Ùªí©»øKOmk§|+êÅÙ˜R7”b.e»Ç/­é.j" „‚,05›Ë*îŽX çÌ7>™'‰}ŽØç÷û/õÃâøúŒ&[5VíB;‘P-€œôzoF¡·péBTóM¨¯ù‰!X,-±X ï BMš’kƒžºyÌÏù™+cêSõ´¯ÍÏwZiÝÆà|nŸÀ>mh駘‚?ž /YcœùŠ9寿¾Õ‹ü1ë=Ò®3Ã_mÓÍJ\lGWA/Œu’§©~L9л77­w§ ™o„ø weiK¨óá¿ÅAøï.kqàígƒBו<¶6”´î¤ó ÛÈ­Ê™äGÛŽWq2ß„ƒø%çےȪ*¨È9ï ¬H$Åj'žÆÑ"âQÑœ‘ž3S›Àù@¦«H‰0©ºE5©ê2œqWUˆ=dêg¡|þØmM K˜‡ÉÅ'}{ûn¥ÈC"Ø.Ò”LñÁ#‹ÆxFÅcÛ౓W(%C®ó=>6Üá¹|â%[ך…8wˇ#VZ1Â\ܦ-e‚Ç`NŸ¤QÕmê»ï%9¤-/ÓPg-(AÀ£Í »(D·3í|ùîwtú’ëQÛÕ±ÁÂbÉï€ Žmý€”¯Ê‚Äã+Ñ—€aÆu½;ÚáZ„å` Èðz<7RB‹hs.•†ï*Ò§¤e·cÀ:•^渇»€ùq½à,“kŽÖ’=᜿úÒJß3Qo|›¦v?¿k·‚Û¦«þúë{¹9øùHÉ݈T1ÐhJ ˜;0ì@Á*Œ{¾Mmê”0ÎM«ÆŠn‡Bh™|†½w×} ¡Üšl‹iªç䯢 ˜ pÇÁ1‡r«Ìñ:“ Å¼ÖwˆþÛùJ.ÛÃb€0ÄnV¦2Ì•ª î>2ÿü.ÚÐÚ ¶ç?Í÷Y‹HŠA­µwÞI³éÖ®hb2›•÷®¸™À·äR«Õha »\V+ºø‰Ì>wÆ*²7ÀT´ÁáàSˆµóáZÆOx(ê6k°”°ðÊ­|}6•È™0}{ô}jatÖÑBäƒ.¤Fƒ‹*£®0M*… 2ã7Ó"'r.¸»áæþ,˜‹At¬Â1KÂ,Ęl²‘03&£Æ¾ÃñgÍbdií¡ždèDD¯¢4Ãe„½/ !`˜iÚÈÀ„„õ«à%g½¡Ìê­ë­|ÃKzÓ³Þ£y]KÓ?r®ÍSëGÓ‹GJ øãËóµr¢˜¯Ï-« ¼z°ÑñÃ{„ª'µÍœ˜Ô–€ùöü þhàvažê¡‘ºÖ÷>ÀÌOkÑ€p9í‹Âˆ¼´°$ÚºÒæFØóšZg8PȨvà%~œ ¢#ÙÁØÜ¬-‚í+}®ÊšÏT½|^0ïOŸâ¸ÎÃãr¹g1×Öø&à.n˹zª@­]ÙßFÌ:–›]«ïÿñZÝ8}©XBßèZ‰pÔP©ÚF5»ÞÛ£ ¨aŽ0|øÏ¹hÛ¿Ú-Œq}¹ù#gÓ{NeóWß_ßM&X%Ý4^” ˜¨>ûQK³¬‘z‹™h®n+úCXõ:ô…4 àM$D£¾§ˆ˜%ó0Ï;>¬Ý„Hq¸å¢Uö¹µiGÕë¼ã¿ŠÒ¿tŠ'³RähÂÚ‡p˜Á©;ë;!ÜÈ ŽF…$¶7ÄÈ—«¥w7̶·Ž%¤"&UF¨È\$y¼‰!l¬Î$me_ïlª«¯@ºÁÔ6öì…¹+áõ­-òžÜ“äó½¯ÕYm ”úÍ«[G“fÆ´þ²@ú! jÕ;!³Cg³Ã>šUްÖÍà> £û6§ÇI )U^ài`ýâ6¹ö^°öPçkÚwdÃPèÎÓ«§L4Ç3bå‹É¬`Î’#êqÏ$]¾ä4qíüxló¢ªÆÑ~)‹ƒ¢Ÿhfúü $Ÿ †âÒ;Ñ-L·‹fã´ýÆ@›’38‰P±T "ÄÍzÝŒËM´‘ø&Œc U};²+øhâ!±ú9ù´ wÁ ß¾·±Q ´j|˜›DC!&2²Ÿé¯öñhª>È1Ŷî>"9¯C ÀǼMˆiOÀŽTÛH]{1Ž`Ê \°Âä”Ï—`m꯾3ù;~ ÒÁþ(5³ Ÿ ˆÛ}Áy*µ2B«Ú%¬EÓÖj°ƒøýB¸4ÿuB 7=ÆðÛ¡ Þ òa,B2æóJ-é´^ñTæþÐ^íºƒ¥ôsëà ØwôúHœ5£¤¿lø¨ÿWÊa´n×iW&Ÿ#íDÒmÁÁ„íélM¯i&äz­œ³Íd8#Ìe8Ü\ñÎÀБFÖž2y[„TJíÏ"â_ï:›!¬š©ãÊ¥Ö ªºÂnþÌ!¨M4Ag‡O²µnA0íaZáî̬|LYoòXìïÏ?ŸÚ5«d;£ÖÜ|;ï)?ï¿:‰ö²‰Cê±AŒ $ø”Oö·æ:·Ð‰pbÄF¦tŒüBr9àJ2„]@9¡­zª…Æœù£Eh–ú4uÎ×QèN¤)Î"öÞMø8a’}õ«8ëçõ]q¼3„àÚOƒÛHXlG¹ÈÓsQcŠ>1;nûîô {¿‰µö-öڀРÍŽñƒõ èÁMØ*¿“ÂÙ´`¿q2_y{ÓÔ‹ Ù«5æY|<‹¥&E›q£ÿ×ÿ/­äa„´D§9¦àþ§/_ãê6ÿöçâQŽiJžCV•åEóÃw•IžpˆA 2¬HyŒ–Hÿ!]U½4îΪFêà ©å†`’åUÁ:È2Z¤‘ÄÆÌ6ѩݒ"^GÃÏM:³½ó‰L±1™|L-dåWQëDø?NªD=­—é™ÿiUóXþcFyîàûs:7ÎÈío¸68éó¸3ÁRG㇘¸úzÇ@ØàË6,êyfà*iÜA@áݶnÂ\ ô÷.Mòœ5ù#ü³ÎWÞ€à¾D‚òyå?÷Y¨1—AV—U€ê°{-\ïÔê}ª¯æÂ§hŒ‡·‚ëÛD´´¹ô =1 Éü2ÒµT_ª+ÔM㇇Ârª·_L9&áaòõãUp®Ò®¶cvÀ÷ãu÷»uE%.ÎÇßÈøšÖàCX`Lr>“Ž:)ïÙÉꉔñÅø-"¨ÑÇ—ÉÁL–ÇÌ8I—¨f¢3g¾z½Æè¢aÎcŠæÜWT'Ì+JA •Õ"H~ð»t1£Õ8! ì˜ÆˆÞ!ÏÇth#êж’¨ÕÉD3$à¡1”;$Ç*Õõ=õ" kÉ!Ð78? ·~ô†/]«?Œë ƒñü–‹xgY (ê°ƒªÃÑrIGštsÔä÷·Ï’ sAÌóšm1ÍÇ•ršËáÕðm¢b|Óû|:ÂÏ¥!\„,.Ë(àwê¦wi»íœZ{Ó“Ï­²<øÔ#‰U[¶ Ñ'‡Qs!l6ïz«nŠâüêwô2øC“zk CŠ oDgPkëj €Ì"í°•€ #i3>HϪ•Ê쿞—%¼i·3²äºd±@®0[jØ©óJï1YõëÔa>â†ÄÖåÚsRæ'Eøù7Ê£dæ`6þI®•Þÿý3”ßB—ž™97¢ä`§’úiõ`øi$õiGÌ*ª·‰}À×I<Ž”µãì§î9Þ˜ªþô³ÅR¡“¶í}®‚š\˯ýOˆo©@°ƒÓ ˆ)ç¯‰ÉØªŠë^/„MÖØüÄ,MiÉË|JÃ`'¦\µÈÛ(ßT¡Y#¬d G1`#éÊÃ;á…K¡Ût°042F•Ì+¢ Õ!JÅ€‡Fp>i1@˜ëþÉÌ"aø^q¦ka ö6­…Òhž÷‹*‰awÎHm@—››,¨Už»†R³ÝÅHË“~È«ƒ ûžidÎćlM›]Am½NÂB.mâS=™€:Ž8!×îÌ2­pÀ©º®§¦ð΄Œ@uR"¤Qv¤YÈb!™êv!"È~Lú¶“)A{0lr[{uGÐÂo7ð„hŒ Áý«:¹ä†„º?Räƒq%l‘aÒ6%§±”Œ³ÝÁFû0Ë^¤3zm}õ‹ÜÕCú®ÕÑàN#]¦ÃX &UV9—BùƒBFF’oáú{3”!¼*õ:ŸJÔ`¿ûp ÚcpášSÿæªí¼ô.& œç9߬—£; XWcü¡±wÑÙ@OˆJR®÷+™êw0˜û½ý| p˜ØåP Tzzõl[–èIëÍNw{«ÿ<6ÀJ›/Ô4SdÃIC’ ´]V› ²"õ°Î)çà*ëbÊĤ0޷›l¨""ª‡®af6p`P“D Ž» L•W »´rÈ%µµ¸45íð‰Tf’ræm`¶Ê»‹ Ø-#/ßýð*œc›¡iB»g†˜²Rò"åhÇî¬Ìj‹HCøÑvªŒñޤ䡯½¢ÍÏÇ  £òãø&¢×êž¡<-2ÍWv‡†Hü=[Øá@ú°=fªç!W$O˘ȿ ( +|¦BšBµ¼iα1¤µU=k¦€$rÀÙ [Š@ŽÉaîSG@ŽIu™…›cßwÂ4WUï?Dmý‡Ú¹UF½S¾wDà~ßK»4~7 ¼2ç}Øégíì ›`ãèbU:ñCÝ4(mžeÉ„ÛÇf—èO›0—`{jŸ¹F¹5ËzhL‹ÕÖñЂKCu˜SÀ ܵÍ®Úr¥ËF¯†Ô~ ¢ÊÚ"¯cfúÒX ii~žþ =|bBëZdí,-Úè Íkþ~()£Ã3Ͻ¹º/$ÅÕA 6h`Úß1GÁ 4ó¯ˆË_ÀdÒ‘H‚Y_ò? YäÜì‰yLCë-.Æl™J,± ß›àO€Ãmd˜–A3 7TÓ×Mãq’“æl„Ó"—iÃ.Ðvµ—ÅØ¥mñOói„zÀ–Q ǹ߉=ÁU·“Ô˜·Ž‘IÈáÇ´`H‘†„SŽoƒ§©Ò Ê1•|ÉÁ(;´IJæÀ{Z¬¯¸Z·Ž¦Ûˆ°éÌ4„“G…k”ùY?„¤¤¦c³$8peÕÁ|ºdÅÈš~ÎÜÅ"l÷ÒÓo™gÂA+ÑN˜ cXt4¨o/7ƒ%±;1á+ê,%3æïÞöËéÓ;ÜŠâ–›åNMs­¶nÅÞ'@ ø sx´e‰èö˜¿ ñðÉ=àû÷|Ñ­þQ0 ¾ËŽz¬=gÍûnÄ'u^¶ÊóOCýÈÂ1‘yIÃíOïÑA4ämˆ¿^pÒ˜Mã¤G¨Ç%ÀË¿üÒG+•“†DUŒ_$¼úBG_ºé˯jtnùµmÛØËÍ'çs:*É<:1—Y.Ð&Ô;ˆo¤…þœ“£ƒ‰ŸÉ¯1 °B쮾Y1'ÖÉ+¸M+[ÇaùÁGÿ— ²ùmA4¾»Kè^Õî…†‚‚óñhŸͿoƒ¥Ú•ýÌ4ñ3Ç„ü#ÂÛ³û¿ýQÝ–H¶%]D6eÙÇ»‘%ÖÆ41ì,TH³ — cÒ¢ˆÍ·å{^õɰʘ®Úp¿0C7=§™ªc#R¢ëÙ>·'Ë0—eíVEe½SU CÚ¤YÍÛx¡öà3š7w_ Ù t›ÀÿÏÿöŸåÔ<Íq“R£XŠyÙW„ádüj<¤ÄD/ŸšõÐwHÖ¥:÷ñj>º8`{OÞZEƨŽHåï ’Œf[ù™œ=a…ö4̇°42æ¦3~5óŠ0(±¶Õ•äͯHphï%¶bB Þ”2ª¥©¶ÏtÏ…yU&›DКoûWG(¬B÷¥sé!`fó†miSsEú~Q<5ºD,;K¹>K…ê$ý[ƒ[WÍ -aâ­:Ô—ÈHªckµ!˜Æêâ›áèè¥ÂGuX˜ "*»¸^¼$ãú• cä^®,QþK™åûjú˜Æ ØÐÿÜ•û¶Zq~2!Å\/¦ƒ«ùýoÑ‘‹ö\½Þù™ða2´¥¨BÂ#³Gå‚ó®oQ/ί–Roz‘oà,Ù_q¨»/‘4 ù½p[]ùsAW•ëd’„áHä4BÌJBŽJðĘUG¦Š¯å’Ü@ëQÿ$ù.!˜IìÙ¦ô¢ 3Åàûé!­¢ÌoÛZÛ¤˜,cz5oæ$Ø$b ŸÐÌ„ÒvZSn!wÊ&Óƒ'_ŠÛÙ€Ól&l0 û“èg°ä'íOï‰×x>ÚÈ77@;ö¾Æl¯-Â"pö*Ä8V¶Y¿¬ë˜TþnËüܸE£¦ 7Òg@¦ÐæËÖbBÒU>åNNýží f³*‡ <Ó‡”ŒY+±Ò)e« êT‰õ~´ÈžbY˜'˜·ÈªÏMÏÞr*q“[%j`Þ ?£{©€R[pWÆJDÃP™;B6¢“/£©Å¿B40‘i±m»™©ÂLÈêßÔoÅW©¾rkhí÷ýýñª¬Æ0ç} XYH:#ÛŒQ02v0Õ¸Ý;§êC¾Hº8Ú”÷^ƒ«®4H ¾Zõo¬‡AP#»Ëñ7à" k ~öLyå¶M2ãܸuæˆZltyÑN™l(@Ê!0.Ø.üÕùšY +ßî!87+³vj+BÓ/s Ôp*µl>±ºhe‚ÜÕ·ªgàêO" ‚†› Ý®ýó¥öŒtŸË\>´`Ö»#¿¥M}oÖçTŸ:jõXë]F‹H¿5,1‡æ[7âí1cŸ5ˆÿù©¬æÝö"1Ž‘>ÆcNçŽÔw:ø»àÚiœý®•X¯b>Z_ýëãàˆ¯S©2s”ÊÈ÷÷ä›F£•&l´Æ €p8ÐÏ@ýÇÿ½Ñw×8¿,´öÎnî¿ýîÝ…Cz$éQèrü#9¤ŽÙGXSpê«ØªÁ”v·¿Í4*ï¾óÊ<`6«Àm^‹¸HÖ·AŒÙ`¶!ÕTÜ Õoî÷kLJ]<ÝT÷}Œ’C¶¤N^PÝ©ŽÚ é.[¬0äË›¼ŒQ6"ÇE­@£eÁú)s¬?ÎŽƒø¹ rúh_à Šl<#P‡Šmê´¹Æè5NONºúòó}Ã/¢/s éSþ¦DŒ 页¥=ÊÅb±ûÚÂãè"{7Z…OIÈÖòþó×?–4Ì* ›¥Ç÷®î±$R^In*hz~NÅ5Žدò©¾§ªroh<ãîÃf}Œp× æ#ଛàį½»T¡, I”:„ÖFW¡1$÷ã—ƒÖŸÌg9ÈGrs7}‡sf©õžWÞ^}âpÔ3Y亠4±õ¸ З$É*®!¬æŽÍ<Ôæ†d0X:ž»hÀì9 ï,άYPÏ¿{üû÷9ÑX²Ä77ÃŒmg¬ÇO[ÞX]•(Ÿ˜iñ¨ÿòîBO¾ùÚþÐ/¹öÒ"#.Žþ1•„ñù޾ÓZ þë@ß·R®¯žõÂ` YFàú)³§Ñ‚öóL_·#Ðäc1ÞŒÅR¿Ÿ²8‚ûõÊk=íO´QL“˜9ž+ „w£á¤~3<èe¸­d Àâ¡hÆÕ“ŽÌÌFuähîPÚ…—ùÞ1ÚÕNì!œa„Õžç§ã Éçù¦]êÀ"1ãú]ýLrþ¸PÀ- “O…% :‚/iÇÞG\æF&…³A¶r?MÅß2‹!zŽ I‘t}‹~·ªú…}‚¼÷!É•lP”3º>ÿum…›ßÚ¯ðÉÆ\S% dÒ®cˆ·2uÌ»:ç„ç¤ó‘Ô÷\˜VJâFç}`tŒEkX²9­WÙ†k‹ƒ¸Ô²à¬•-"|"y÷SŒÿªÌ°G^w ¬ ·žWWÚ'ü¸8ðö~pj@øáÛUu„Š`qCƒ:¼ÛDfêà`{Á$Oßl{’nOQÀãtI}±Ûƒå–3DÐÁð gýÙtlß_ù}õA¥Óf”T÷æíGK86ë¼ÂEF÷ÉhÕ½çö®å…Ó:!õšï1VuŒ ÿ¯û´#UlcPˆµK”If rÒ]*¬t-úÄ€aˆMBÍ+0(ÝJKt³Žø§;¦ú>­'ß2w¶ï5UhÕšu©¢I‘­4±QBÀYu‘èËÌ”yãe§ÙÎHì=7µX0“…9_êØç°W½Ý–ÕAå„Ôx¬z!¤Rõ†°Ž¹ŠH!iéí´E vƒÑlƒoºå™¤» œ,ˆµžbN‡ù̧¥ ©Øêï N ëMmsÈ\”wšãºþiO™É.x^}0ºÅM©Ë8¦ ˆ@«žêÈ,\ø`ÜÈ9Ú1½è`sxcÌ ›`цhNI,Ý ²{÷¹Q?š>£9%zZ<4šMáô.j¼ó¸ÆU1×;A‰ˆ J…3ô‚Æ’0Êí~eì×<û‰Yó=såIîóã¿¥ø@P7ú¨lä«g“èÞy#ëñÑ0•x]çLÊk¡´-ûƒÝX°»{ò 3Óq¦¯†WŒ2PêpŸ².0ªõ˜W¿„vPèkÙ&#¤&!;6=4·©Üçï4 %Ö·„cgc´vßjí«ã´¶ *Çèñ‚Õ+· Ìßû#Jx8.N»ŒVægü,rŠ˜+ÔO`Ùþ‡wz¼:ƒ8‚©©úÌRô]f‹0F+×¾´þ zmëŸQ=œBÒ&: óíª<¤´¨`þ¦0{‘»ùdíÔïHSø+ë“ ™)c¾…‘lG"3æ¥ã |üH`&`D4œEê [m6©’–•¨ £—*²¬öÈ~â[4†œ:’ç'³_î~o²Ù~Èg÷1®[ôl9¡‰%1S êj‰Gg˜ÚôÙ»ÒÔ…J6·Àßë(ú¥ÇmjÒû†ï}òç·¤2èe#c‡Ò Oq06RÚA1©Å@›(¯Ý»8žþê½Ò¡:ÿö¥i®º3¤ >~'&ŸÃ[¿ IE¨ßÖ7SVg®_Hp¾yš:Í×!¿Ïßÿ­ûp†ö=Çw™»‡˜âEºH¸ùXèSÅÉO‚[]ÜÙ\¥©a-¼“âÈgÂfÁQKî¨OŸ-~¯ü³A…¸)—Õm@ð}²ßŸ“œbʻޕpQ'· A¸{nD_û–¿ˆa ~ÌÆ䪼Å\HÜ—™ÿöí{ÌSÂkD0cñT.$·K þ)0É/îŽà?ןÃõá ôÑÔ®bLþoj¢ÛÆFÑ%%›¢ñB‰¸ýg"àÔrï`*"¹¸U„–¥BÙ]7”& ´ èqùÒ¥z>`z7 YÆMý&<Ñ$Ęÿg×ê÷JW_‹½wêœÁ‡ Iuè–1TØJ™ÂÒqÝÅrve µì o/þ †žÚù|W #´:‘]Ôîw„ÉO‡õApæÿÌxÀü±ðГêîíðvÞ=õ3qzþû×ÔÉÌ‹³:–€àH—[dÖ¬óU·>éVù4$ÓÆ-ÓŠ.þ03ZÐp¦ÜgQ6µè–‚Ú>î|åpc+dÌ·¶<óåÒ7³/ËÄ¡Aë Á¼)[\°z‰"1Å‚Ž@ñK¹Lý‡NâUW MY1¦zñÕꥀà^·)@¥çYŸîö0ÿ]\ÌÈíLž{: Ñûö3 ?¢E’)@äâ|/XÔk57í0}4ꎽ¬W©Å^íÇœ`ß%™[i9Y¦Œ÷!Æ=l+ 3Ÿ÷4n¼©p ½:Ðn³KðOuÀà‰?âoÍsý6hP~lÚq ¢â…dct`9<Ã\; 'áÞRµµýoªÇÎû–€ê/Ar&ÈÈi4h¸ïKpŘÂKÀÅ[¶$¿æfÒ=ä´&I¤K%2/‰Åÿ€ÝäDÛö°¨Ám/Ðg”ëÑ¡—É…Ÿo¾3ÿ‚ŠæKñùh+Âð…ùãÅ´zkKtŠ'Eî¯Þ ÅT_Ÿš _Ø¢b>uLvÈÑ&õ±Â'¹»½Ž{¨ï½³Ñ=¢ïÂÓšŒ>Ô|³z¯Áª1Te+°FñæJõÿM”4˜¹Ù‚òà>;‡9ë­­ŒÓrB„pvƒ'¸¯­Öƒ ,wrŒŒ¹ÝË"p`‰ ô7¸ŽFKú†»õ\Á sã|Oý‘4âÓ /Ÿ²÷Dæ:U/ÅDñpÖà£76Hn[™ Gÿ¸ÜŒBà™üLsõqÒ_á†b©ÝùÂ}¡=³F.á L¨¿©ÑÀ1i@­ÔO ï/ÊVžeE„êÚ4Zê—)C dœ_Ë´ºÂOî빂Ý5G< Mc2ƒëßi¹Ï§CJ£ôå»y/üCï¤>æ|§*gf§ùø0.-±$O!­ßiÍS“`œU@c’ÿK˜§·¹j°ï³‹ê’[' áæheClm1OŸŠ#ึý[ ç¹È²çgò>äž1<"÷¬!j{ÙTÎÀnkxߟ™B ´–B´h«éœŸ uX)¼Wu¸Ë“s!0¹±JF0Sv;¦»MÀ¼¼ÐT¯Ñþuòi¬êóo}ï¢ö› ðXr[uk¿ècÃåø‚Ú¯ÿYŒÚ¤)díðwEg×cº˜á€¸W9§uf…&`FK-èÊ,€ …4@u‚Âÿðb«÷¼V©J&’ÛL(fÈ1…Ö¿î¸Æ@IÎSæÿ2ßsÓ_:nÀRé5A!Ézd¶eñ©òËÖѪ1É Q´®Œ“ÈÒñC"ÈWøô8åkjpcNKKiÚ:+0bѤk¡{a&³:ãêÁò/íj°¨J ¬ÌòX:¼IZhÑ}+Þ ¢æVT=!ƒÏ V¸7½Ó‹©òXX†×L(•6ÕÕÛLôž 3óÜû•  Y Ñ !:´©®èif ½lU÷šEº+é•[qt º ƒ‘f4_¨¡ºæ[‡<´XãT«IƒZ W\ ¼ÈIð³´u¿¤•ŒðâÏu|Aæ1/ "C@èP*¬ ð£¤χ©×ݨ¥9Ô1NuÐX¿¤=ív£hþtˆ§5i×? 1Öæ¢=Æz™äˬjS릛˜4ÑxšÓ½=ú*Þ,×¾-?]ˆØòvp¥yÆCŠAK¬Ÿêž¦‹é˜.q8ŒM0©e2†ï´ßá Ÿ}V! .iOË弋õ4°ë[L¸@6*‡­âÃÀPnÆ$,“׿1¬©«4ò™ËÕ¡þõÛÖjrüîhb"~˜‹öÁ#©´6m)B ˆA slÊObtÑœ¢EÔr†ñ­º*«î«æ«¹`¶Y–{⻽€¢‰@» X ¦{/)Jœ21šþâ—Ä-øÕ7þIáV;0å±d$‰=ìCyU˜T¦Q˜ßMÕ„ ÉðïòaÒaÇø„, ž.|Sµ›Å˜yŠºæWÔšº¼w¢öÈþajmWÂ;µ%#`¦Eükûã„M›jÚðR´}ka™×Lí2L|"˜ŒcŠÎ*³ @$#IGP™#ŽijÏT`ÂÀPÿÖ7̼bPÌ£?þ€ë‰³¥6¿?µé¤IÄ9 Œzõ»äçíÓ´Þv)•Lú—›ã. ïv̸ˆ«<²0­[îÈÞûæÕ™lŠÂ%´¶1B‘‚;Ÿ±~â# ‘ðWòÐøÍ ž<±&&62@¶õ »He³{=€Rã½ú+_ë9„À²ù?—°i³@‰ýK²^ h–ÚØ{¢òîGð:†ñŒÒŒ¶H+mCxHö‹©¶xÆqQàu-n ÷ièG¶à;nõ–«êô+Mœ$;ÄÛ‰}f†W†ƒn=‡½MûðUÄ2Ç@Á-ny_L,®â‚éJ0†üT/‹¿8pÀIíaÙI~šÈ#\]Þ1R¿BÐÜ~@.šM¹W¨ñ9aäK"œ€y‘çû»˜.ÁchÙíÖPÿðGÙ*¹N4ùM‡‰o ­2‰Ý”ƒõ5?`{¯{ú#c¬úã÷Îi>ŒT¤†‚¢4º 'vOíÁp:³ Y!ý“µúœ°ŸÅò;P2ü ©mn½¢ÓÓ ½:!p4Þž4ÁweÇKùnÖÜ..N8ÉöùÌ¥¦ù5‘2$’f)ž¦a:ƒáØòêÑ}{2ó1ŒüLÁ÷kHÅýãLé&Nñ®U‚a–ÙÒí1fÏ!C¿Ó(cЕÝn©Á-ûDÐZ—„ E¿"Ì,N߇,þi5¯æ‡´!N‚¦Ö£Iæ»@¥^ «`hW8^¥ºƒcwßë*©hLQø#­ôØl —âŠÙ•"‘·å!\÷cÂÚ¾2gu >žP¬ëo1± ŒbÏ„ Q™Ï–[Híym|N 9Ñò“ÁJeÒ#õÔ»}iâ¼³àÑã©$Y»®Þ太-£¬ Amí 1™Ù1¢R4ð–…=÷«7ô'pfD´yÕäãEÂÔ<ðÿ¯´_ï*B¯¯l*qp¦Š¶Ô’öÛ›QVU5yƒËd©“†U袄‹SÉWS7?à“ÉØž_çè‡v?W¾nfFޤZpΧ‘ÑáZn_¸É”˜;f>Œú`CB-‰6™o†Y]ÛZ‚6¡ûÝ{FjGÒ„uæ8GÉTâë¯ÇêO‹ZümÛઑYKÇ¿¡W§9êïvjí7G‘n5êƒAFp˜_ ×šäŸß' vn°n³‹åolÔÊ'v™DÛ«öxáG™õÁ` ^?>š§ø‡˜º¿Ë4šþ½yh£UZk6+†Ä|—½+MíÚ»3å¬Y†Z~½}tþm°åÿ~µÇõé÷Lý¢EiaÁmt–é#y6,Ï*ÔË:ÀEÈjZàŸØ6qA³Q:tHyëÂâÌó„1ΕõÏl<Z¡cjãâê“0™c×*À(ž)®Hºì›K&£7À‚7¬*’¦>ë¬iJµTðµÆ¦·*‡°.u“ZS5*ùr£¿êÀ›3c!å¥A­Eˆªª”ÞLé§'Sæ³/c䓬ŒÁSÏ+ö™Ìêà…Șœ ðJ*1±{ŒzÏjçhžª©þ§àÝ9i•~í™ú¨[Z”¿i«pcé«ÜJÎ(3@fî7l`CP¶ýÝ¥=gÒÄÁiÆèÿVïsfÞ~2'HŽ‚ÓÚ’'ë ‚{*yøCÐú ÖfH޽kë ŠÀöÐNjºÊ‹þÿœöeXHȵƘ¶¯úÁ8W#xyå„ͬ |Àùæù£’Áò0GİÕC€lÐÈ i×›M«¯|`}Ø’ÖhÒ€ 1xPe=Dls}¸) Uuˆ…e8ð/5ÀÿÙ5ÍWßSÙ¤U8Â1QR½Lz›´6µƒÉŒDÂûK㩾m~~`®Ê£#“îÁ€(äd„´â˜´ÿzu¦Á L´Y–:À|bö¥EE`}ÂÀ4‹ÿmÚmeœQ˜i©HK.a !…ub›Ô1 ÞûÏù_ Äü@1¢÷z ÁŠM²jÖ¿ðP¥FüÛËe}…#þðkÓYfq–\êäîÄùëÿ¼™`:k/‚,1sÏõlüøÛ[>Ø]'ˆ|*þjûMß´è«Í„Êjº¼zmP1¾SSm"?r#ï¼ó?*LJä«Âð’gaSà›hF «‰£sVÄ xœ@VtÃ’„F»‹2oÒÎCU©¬)UÛû5õ™tº˜ „÷xá›O O„ç¦Ñ²Ô­ÀÒŸŠ ÀÐ~NC22‚”˜/ €«-¾ÁYX£»ê¯ëÔ )Z¸  Áj]ªðJoÅDF©iãmn¹gˆ?=¦èW è"B3[S£æC­p(–Ê!rªÄnmŸ°iïŠù„U¶½Dðµƒ[X‰X¾¨äíðCî¶@Ÿ ìàïJÂÏñ&+žp\Ú¡Þ¦´Ñ|_ÂÌ5Je3¶é: ´ùÜš·ü\´á±ƒ Ùz[Vp_¨ S"î¨CÅ–Ä>õ³MN ìK¸Ýø{ ˆ‘X6–â¶/Îp!B ·Ô·× éª]û]HºíÙ|ï…ƒwH¤z¦ açÝwKž‚4Ó Õ-Þ·A_¶&æÒaTXô=¤Ødü¾ÅËÖR,‹:Õ>èɃ‚äË=ñ&ÇÌoœôêiM „ mÀ€¹i&iš¸çM† —y¶G´´$PjÿŒ ,lìÃ4ˆe8õhÌWuµeí/‰Ž±#È/“èÅËláV-1rB’Ï{ qê!Tæ¬gNêcàÍCëÌ~ð\ÄИ‚Pßçgº¸.[nP}#|êîgY¿ aE€™¾·‘âF1õ³>Úð#êŸ%”–40³›ÂŒ¡l>„3Fh««ßªÛÆP7·…\êŸA†ÐʲNâ ÿÞóoEì9Hˆ(û¼üùò­”2.JíWþ2Áñºù—,Ýçv6û®^*ª³&ñPeáS0‡ÀÊÀa˜pL‰‹Ìÿã=yLýöéÿÿ”Æ]*xÝy¿^ Þ&A(Ìò3ßâÞ 95éGÈåÜ]©±ì6Ü "šIÔ:¡„„@ØA -Žb Ξ ç, ×WBN5[—ÂÕÐöíýç1ÔcS¨¬Sýöùsû(¦ýÂ/­ü5M ÏÅM…<³ÏÅ_cïhP‚µ[t=Eý“žÿ£½ìßEpy¡ [7ÔGƘ¦ÕÂ\q¼˜/?q˜i»®vÙ#"íäyÝÀÁ±±œZR ±&7èŸQR$ø6˜¨†BßiRiýëËLÝÓ×Vc~ÄÀ„LJ]˜FuNS ²ã4ÿL;õ§[Õ›öH0i ÌÒmW‘ù‰mâÔî( Ű².@¾mvƒ¶26¼ŒÆ L®O|>°omµw«ù¹¬åO\]K°}IË4Âí•úW=ˆœ€°n›”ˆ}[i«·ü:.¼³ÁU8Ðß-&Š×b¾ìàêUIDATU†l`úù0þñÕ»; X=1îiíÖjx ÅjYCüs)[…´ÁWO ²(%'# Ø_G»ª ¦ì šÁ™ÁÊU1b²^ÇZ%¦Ó‰Û¯1ÿeWø"©É:¤úœâÊ(=†#ý1)o;¦Cl£M@UWá$e³)¸%„_k§ºÌÄÐ4?bZ)çØª"‹ˆê¡%1’“€‚|Ä×:m¦n—y\ñ²Ã*BØuõžAŠ!Pçù/Ì«8 IuØ¢ ;íC{$?iuóãñ™kt¬\ß$ ÖòüŒº«¥žêY-QxábŠ'H½õ¸¢ QoÎÃ-:öv8ÉàÔ2!ˆàÁ7®Ò/ ÿ¾ß,|OQ¨¼v-ýdJ <~ôN¯¬·hÔ×}•S ~»‹}¼}ëR×y6—FuP!ÏÂqìÙ¡ÔñD•„ÂÑEN¡2Û¿;措;ÝöÈ›PöX¼-ì4¡¨xºJÁÔïÈ`˜å-Brëø®Õ£IŠö wæÓ¤½j]›zöÇ3| cá®bʽ‹Bˆ-c—ÖÔïÛ˜AÆÈI©Š zó®1ù2æ@I?l‰ÃTEº#þ´Rz°ÐpÏI™):„3‚t˜‹‘!6ø`þ´ÓeÝ0B#êÑÞÝï÷4pŒ… LÞÏÒ®ND ÁFj‡s-U^C´Kp±…ïÀê·à®Œ„ŽÅ&»gd¿}³ë Ÿ‘@ÜO`piÈ=¤rp«Ìrh­Kv³g,&C³~Óà}Ýv(õ8Œîµ¥É-¯ŸûÑo€j{šµJ¶Ì"kã£~lе—ì&Á+Aýc:âM%f|ìÿýýG;{Õï…ùt0›ûPµß:°2K¤Sì8§c¶Ã‘eyóQb„°Í[Ygö™ $e‰Wtø¨é­M Ñ„|F`´ï8Å5@[ÇZGoRË)˜Í°ü°Ž6ŸÏòC±ª­Q…£i£ RaΪåWÙpGJÓË|ê´A Mv$PL‹RYšåÞ3tΛ d>:î2r$!ú„~0 ‚$|M¸äèÖžWž¦>+Û‚£òÝ]{õ¶o`•9ÓoCM w¯?¨ p+–:¤vÇfç‹2“÷öש£A‰ôý›FÌPBQm´=ÝÑúûšŸJhsuà Auk—gÇåZ9»…Yá"`Hâ®Ù¾ÿV985Gl.{Ç‹Q2 ¹x–ifëx¸[?Yœ„iqã`•L¢WË—+ŽtÙÀB#vi×q*¾6jß(’9Á„=«½„í©è­sHªiå#åLNtpæf½˜âÙÂ@woÓ$=ºvøs(’Å‚‘¤4]ß~MÕgnÂÑsžïSçèä<¡Ò!Ám“ä½y$›TTsÛ+SB¢ö7eb¬…™šA'ý®éÜ`cµ—]\+L(¿ÍÀCêˆ&³*ÌùD²z½©ý…;Úÿàê ½y××86]}õÏ}NöüµÃìª9ʤ j[šM…¾±¿5a€K8¯>Ź@(OS™šµ¥ïÀØ}õ çVO,°kpÀ‡©—¿7âìÒ•¨´6%2ÍîøÁxÛ€j‚Š ÔâIŪæ*ýb4jê§n¸Yÿ6ÍØuQ.8é•yc '*è˜lb«¨\ÝéÞA¤z|8¥1§“ |ž Â&µ~ÛTÒÓS¨ä›Uñæ@{wÈ‘BÓ™Ô¿QÛY:°§þ¡üÆ [̆‘+ñaÌ[’f  #H8Èœ8‡Ojû>ŸYp¡0\QÂÇl Ê Çh‹¯!Dø`®awyAÿQ²KUT•Єvk«Œ0†þ™·ež-Š’Þ¶ý¤Ãÿ–V²‡"˜ôÎL›-‰¢ç—=ÃìÉ]<ë#Kÿ4i©ûß¾/E*üOhjSÛЀ»Ýuú,ùV±¶²þ8c˜ëBÀ•Ýîï},H0§ôÜÞê“V¼¾×·`¬#ëOhÊë ªOQ„4›˜½ŽßþõÏ?+˜ Kò7+²Q $ÔyeGÌ*#é˜T5f—ðü˜ ûöÖê׊÷;"g:¤jýP_=”“·5æŽ3E7e`9k' x‘ÿÍ©ÂO£ÝìÜ¿ídú¸]à凨?寫`­‚7À"Ã$Ñt#Ñ(êgVŒ—ïWI4Èc€¤Ž»Ö×ì̤é9ª>}\üMÙ &"X‡¡N?Ñyÿê»)C‘@ t¦"+¼S™bñ¿çÊ›î“ùPÜÕu:Œmô~Óˆ3ù·¾“u"XÐN½³Ž?ÐQHäÒ/.Ð÷|BS¹sþÒH_j_Ï–'ÜIÄ­ß^Ú⎼˜Á/ö†|¥œ¢»»ìÄåýwÿ‹[ KJLÔ_w~î[ÁYB, ˨*ðb†U£Î³ÀÜ¢eþò6 ±ï©ÅÒ²!&ÅÝ—¢õlÏ¿4ÉmØ’°jc¤%T·¹JÁÖ×¥ñ„ðvfx¨“ÝêÙÉ]Ã,Kç pa™Çê´ CaÀàf#AăÅûfZ‹ßÂdül·̆Ȃä˜Â-Ö±^Í‘õoõ9¢; êþ]ël‘PÄÚmÕç¤&[×a6šË…×L~_ªÂ‹‘ݲaa¾û²ÐÛ˜Ôÿö9xΚ‰\ŽêÁœL_•Y%¾–‰ Lâe7ÃstzKûI4å·{ï5ÁǘcÎ> ¨&þÁ³¹á`¿-Är‘ùþÙ,ú°¢¦â~^•œ±åF„±§¦_›<èT9B…¯úy]ØE¦TÐ ³ZÁr—6z‹ÙD €ßsáæð½ƒ´ë¥°@Y­úþµFÝÛ¨Î;fy*¶#!ÓÈ8†í…D¨ zÎ6A­=ªÕ´CÖY!w¾QÈiå½K¶ó}Nâ¯÷M-°®"B(ë_€‡a°©ú¤Š†5+&!R–…-n¤.¹þÁ,͈zô™gÂΞvI)®­Bk[hÙ8 Âîè´ØÒ…òu˜Z[¼ÏV$Ö̉ç[X&É^|LóáÑÏ~-}†óøbÏÕI?8L;D?×&ÚŒÓÚ¨>üÿ½8ÍZ/ûGÈ vBÜwÚÞÚ3´¬ÝQCõØ$]º÷`ÞRÎY®îÝGšN0·Ù W]¡²’µVC¥“ëãÅ’-,ªÂdÖ‡ø}ý¥ôø³ŽRµ¦Mfàšùø¨s_ú¥ÄPï}sÿçZ«‡¸ Øá"SýÂZ^pˆ4„â­ [Ú'çPâàðcCÙÌ¥k|ÙW²‰PG Dä´ÆC”]!d›ù”#O÷"§œ'ÒJûi€4”ZjŸð ‚^,Í;°Äµ¬NsbшÐï¦emåÚ©Þ`vÙ‡ÅQ¦' 3W@HÆÖéªÚxê>|Ì? ô¨öÅ¥¤‡gGŽ˜ñõžÙ»hTW¯ƒ»w^ɯ(æàúEa™Ëÿ‡ï›¤ðÑlWˆ¢E¸#" ¥Ÿ¥»©€â¾>ÅëBu푸KÞÞ‚¹9ëÛ.¢ç¡¦pÀå4ä7BœN °‚¼FUþ I´ACü“—/Õ}[­A ôyèüL Ô†á:Fñœ™i¹ û.ÓÂ/Â`|á ˆeô¨E¤.ñF´ԧžñKæaÎ BÆk¯ÃÚŠù™€˜ogª-é>ª·¿Ëqaö¡ ¾`¶˜xò²LË"ia Ÿ½ÇE@ Ìï4t‡}[³ék0¼uß²M–†ÛsÍ%ioxZÐ?˜0_Œ~73ñ¹=ÍŽŒ£ºo*oÉðÕTC[ƒËµn÷nŽÚ4´ùdü`é¨Ól`K½PÛý¶'ɺ 6l²L¸ªG̶"=K­Ô¥ãg‚økB„%gŠ¡Ÿuz%«9ð+ØóîÖ`ªÓãj£º‘tÄji4Yªß12N1ÇÙ`^Û[¾_ò"SÚ!Ñy7ú„ÌêÓÉS>™Œà›öª]«ûCLŠˆ³ÁÒ´bÀm~·Ð´ã0 û}E0J ŸÆLZ¹FdÚúeêCz7„êÓº*h¯iðxÄúÜÜ`57ëB8á§®Û´qáÆz\=Á•>Û CÿŒ6­eù4Ç-Ÿ3×@=ffólzÌ”bmÆ#ÆÆ”Ú G+×$Øu´ºíR1FuÖà™mè¤#‹õJŠÀ<ŸÒÐÛuíÀÒµö¼Ó?l»ÅäÁÌ„{öAäg}¢iÅ-ý4x+§·Rü¾˜:´vňÌRÏäÏd¬½˜›[b§Ï5d›Y`VB¬ØE~­ç8üª m0­¡ ó‡bK!ûý#Grmu‹‰uŒ)_ãxÛæv1¢ê夻Äi=¿Y ü £Õø'PŽŸÑÁÄ 2[M ©3R† #«:#÷M"Lÿ>¯gŸõ™å¹5ðŸ Ñõ{ޏ~/º?7© ÓúÌ¿ä‹Ãßÿ¹!½?Dð9/ºM}É®¯ù³ò?ÏÇÖxÏý¡þù‡LïõÙó5>ŸQIDÖ÷ˆÈ”>ªô{ýÆG¼MŸ×%¡*ýsý’­Ÿ#2ú½®õž×¹ï‘Ês¥B$×?ô?þÇÿG?ÓbUµ´9ž`ñsD‹¿ßbx¼n‹ÙscT˜Ÿ…÷ü›È??n ú ñ}Uóµˆ0,8¸&5ºõ~Þ¿!ûçðÞ)™Þô¬%IßW2"…§í‡†R,è·?¦ºÂþ<õÁ§?Bðf–®“EHøùÏ7ì¾×óuRºMéâ_º®ßØL?OÄðwJ÷Ÿl¾ úodžW x¶þVþ9ö³”´qž{„‡‚Ä;Û­D¦Düü¯Á7æs(ݰ9ÚM–µÑaø3úéŸâü€§Š :PÎ÷ð9ØŸ×ñJ².Ø<· È"$Ä$Âmó°< žÃ"]nàzÝisÅŨ¥ ‡…='ÑŠ²F„á1îk½®ßtOÔ(möyÃH»Œ í§ßOâšã€H—eãs>½.ûµ´Öcñ¯h£þ5Í›Fo"b8¬„|É<¯«éºTýsêÚ0ëçe½?çw0ÒýlYÚ’–u˺†ØœëQÕu,îÃøâ¼è%-N'ðó=Iñ9ů÷]ÆûdöÔ'm0y?˜…˜eü~,TÚ‘ #KlpØH¦ºÒÂg¥k«>]—ö4å˯¤{|]e¥ÝS]¥q“_¿×Z89š¼nÒÒ¾·Í¯¹Î5,m´¿3•u²"—*éJÿâ¼bÜlëˆÑmâ¾¯Ï ~-º£blfõMú|M tð{õñt½f4DöDšï4dÜ5Õ"æýóžVÙª=jê’Rƒ_Þ‹zýnFU‹Óšªµ´syOÏjƒ¸>‘ø/ž›çùºOŒy1ŸÅÿ¤¼ZW„Y' /Ðú-”½nÓ– ø÷ü÷ö"×Å£îÛ¡ 6³Æk`-5m@©?[Dýwîù5ß@ºŸ²>;ÂÌžEé×A¬Ý{CF´HŸÓ N†Ÿ%yR4ËÏGÆsoo@Y ѯý^Wl¶]‹%åíŸ;jfyI79Õ)ÕûZ#n  éÔÔô‰RDó(`}¡Ù!õÀÅÉ"d¦«ÖyA ›[áýž‡Û÷”7ÜkxÑù=…ÀßQÓHËü!Öº!‚z_ÒR³zOž×× ¦´û¹k2]*tßöl ž–ËÚØ¿àq›Òu]볬ôwÚõ¤ãþü÷}'’§æ¦{=?ˆ9q2ë:`<ÓQ5b’¨3žÏ¦km{ä°g'1¥ÃôgÊC#-1í N1ŸÛ‘ÂÓƒ–uJ§tåñþ€-ÐL‹†Œãy}O‰ ¡ú½–ŠzÚ|’7F9a¿7Ï)õD¦†+¬Óþú½Ú mªéðh›È¨è~à<93娥°Ø-¿Î¹ž¶±¦Ÿ àPÏÕãV?ãÉ" ]‡:D|áªEš&+QDo"S{^Ûvã©QŽd’ê’^×ÚˆVj¡@PÛD¥_Túܘâïöƒ§n¤T0YƒdÓiÉBE¦”šAÛQò¤°©êM=œÜâþ)=Q¨aä :?ç…³® ê''¾6ȆÀþòú¥}NË¿ÓNö!²r…b Ñ4k׳ëiȘ®èðu‰’=M£ŒŒ•‹×é]ãB”'+=ò“Ú ~ðÅ~ߟ@ŸUo€×Á'ì©Q¹'‚QLáÐÒÇÆñõ‡‘þ¢{SV 7ȈôlzA>"²ÝýôÖ}7¾uò²H/ÌÛCcv®/®œ"’•¨0-¬ºi~9øœPÐR ¡ÎÁßpN!ãþzNÿ„r±Í ™ù<« 6~¼øüL !BD6E9â Ôðhäü ý^šÝð·%ˆœ F¨¡bÅ»Î`ÁCóTüãÙ뛡æõȤq ÎßDÄñ´Š”XøÙ"±9ˆ÷µþP‰ûä¨9=§Â[\»>§ô„YV$yH6Ž‚lo”À¸•Fþeâc&4Hê >D¯º}ñ¶“ ^é aú7Pyƒš¥×&A¦õ!;‡÷¨€YR‚¸U×é¹;F§ú³c1Žg!uŠDGHÃt×û"¡¸—“§F²Êåç{Ÿû~ÀSàǼè×Xg\7i”Ý× ˆ/1Ö¶q«kä×xYÒ1{;q÷b ¾ŠDÚ‹å©xöÐhÅ­Ô®EÌ2+‡Hsì%õ%ý*§¯oæD|R‰°ºë‰§^º®«¥>~mño¬¹ÈÒ×"íp0àc)Ú÷ÅŒ÷K€ôè´¡RK C=‡XäÙÖ7°Ú&òêÍ|¾§€\Éæ„loœÍèÚj†v‚ïáOœ,»vÃD+’>…¿êÅýcxš¸0¸G1qÝŸç‘HÙl‘Š? ýà}úŸ©Ë6VÛ _7¢EEF"XÇô“ÜS­ ÑâÏL ûÿ¾‘njsÔv´£‚õ³m¸–Wh7Óôz¶¢c,WÔ8õÚŸ#YÇüÿY¨¹ aÙDýVß ðRúB>’=)´ä€VNðç K3•ÄB¼P/ÓF®ƒzÀÿþ¤®ëóñXLÔ>äÙš ¾þ.kC8Zéibd,‡Âoï!Áè•ë:Œ¹ wͲÞ¤Q^ÌÜ4^ÓC®'¾?iD…fÈÔ9mI…çúYЦX¤Ï ˜£ÓÒk9N¾©Mx|þ\ÖWØKʇ<Ì Ûk¡uêÞ¦T°n‚ÐjqO³Äsv€Æö‰ÏgP%ñ`©Nú,ù61¬Šú=š3Èá7Ïš« ,8EÁQ°Çã°E˜ãZ4ñjkƒL¦2µGÀ˜Û€‘Ç"‹ÜÝèßüI© JY+†'£¼C–€ZM<‡©Ò­wZ¬ç€ ó‘Úi¨W†º¦v~}ÓgÆhçº.ÔT9õmá&ð”+=£9R5¤k,á[9-ÓGf ¿ÇiI[ <ß‹B^à5¢¢®ˆgé¢$±ô˜>›É÷€¦#ê'C°€«›ÂƱ–*Ué‡ûBÙëÅý†ßŠn$75äû~£Æ/²Ž¦u’¾!Y®XXm; f+G•—b\IÉì¼)1íK CÎ9‘KcE?0§(òÍËÜÛÆb‘tO„Ÿš%ß—©îì$ð„ða$ÝŸÒ]€g…3eJgC~2ÁYöAÁù$ ]Í/h,þœ}LÏmª}#©Ê–ý§€÷ºüù„L‘¢¬³|’zúsºÑ~Ú¾ý©Q®§Y›0TDíl+œë{<Ü•¦å³rz˜jš^‡™Ž¬¾éR¯^2>yLµ¸<‡ªYóólŒFIÑéÞs Þ$òH×/y´c6l>9 ûþÜ«vqÑâóê—ð*Îm­Ý¼Ê\mG]°òÃvßsç%úãZ«¬_Ò$‘Aa¶Nü%ù8æÛfšN}¨p »ÌýhUÔ{Aˆ\ôªó÷­saIÖtY‰ž‚ûþ’ ÙzWF xþÑø,K>‘P¸.¨ë«Drá?ÖEKrR·¥"Eú"Îßý3OÞŒùõ{­Í ²×f—úÜGÆÞS5¯!5"GÏ(›g@G`}ê½1îâò ¡Û„$Àxt\ÞC8Ëýů—7 þè¹dõ§5FM§Ù ¤ïeÕLÃݾÔ( O1@…0mòT.3à…%žÖõ4ĪZâ¦a¦W=Ú„Nñ”RÊ÷ºàAçç"D‚å¡S”¡è1(î«6Ìå!épÄ\žQ/ ‡y¦á¡7Jˆ.eþ°\®Yá>Ç× Q‘â)e9<\ë^‡ÐOâ¢Òkµ??SMÀˆ•ãÍÔ¢ü}Í^øÌƒÈ ùè½̹h­ Aäê°4#*B±êµÄ¦p%h”š¯EÞ6'Ÿ¡Uÿ™o(TÞT%E4„F¥×o¦ÀƒÉÔÒ2T±7̉3¢‡puÙ¥-2øZj‘ÌWaê÷ÀÛ¶ { –>ÊYž“Ž’ç‘J*"\›¿ù˜DÙx‘Î_›¡ÒI‚ò ÒAv’IÅ3È€r|C»$KBð*L_#à7ÔL—¬4Õ4^¼ißðOê0d «>é¹r÷mÓYcÔÛ—„¯“z̧'yI…ÏÞéÍkcç£ 2ˆAúÙžîåßéàªröñþå–ißlµo&W¯ä¤œ—Óó!óÛZ°Ažvf» ³¾v­"ú´I-½ã'ã5MHU‹piiéŸä"˜ªUöMK,v!;Ó" ¾F2l½;ŒŠÈ˜ôØT¾hªûF\¿WˆC?$/ÅýP§œÆ)Ð…ˆ  ûÙ¹Z#75C’[õíµ'爤VUûyz”ÖUèlÀLÀï Bõ4©I"ë•Vo _p"ú!Á!C𵛑tà Eæô0°o î 7_z4È;y³o.‡!]Ï%‰G)E±êXìîÅùܰ*œ"ù)*¢]KZe8 ŠYÜßTÉ«µµÜø¡Ï}§kEu6ÖLÞ@&$ýÃ&ݲ €GJ*,JÝ­ÒwÍkŠ.é ¹‰ìˆ+´å-¸©jöËË”ÈPdjWÿ¼µVÁ:4éÚìó¨+¥Þàƒ&h±9©#s²]å¹.ÿ6¡pöŒVg¦ílÒ—Id*ÒF,KA¯Y—UÃq÷~bˆ6¢'}&g‚7•G«Ù"ȶ\EKE.t¬+²S C¾4’î™×Ͱrðœ­D»aRÒÌf•â†x rK¤èdAšL¦9€„ù>B”(¡mj?F¿®è'©ZyžÓ[KΊïã3/ås&6üdŠˆøSm{N›cG—¼˜åu¶ÆZ˜XÒMårC|£ jŸ’"g)»C¾èã&sk±_eÖE&Út,“´ä—È6GG¼9WŒÉ¨!Åдx±'­’|Ȥ“…éþýrÛ aL'çnDlVŠz«càaô h/Îð¥a*wN+€v!•sqÅv>L ‰KÂuBögà ìËh×_ªj"豊# ø¸p\¯§XòÏSl´ê40ë-²‹·ÓÉ!àšî ¬Þ=µ,ˆOkê ~Dª4ÛŸf9ÏAA¥Kž\NÝ’„`YAXîÏ=ûAù!†Óá䄟Z'w[Ï|©>QH:¦+PŠN4jCP¢šz§£œº£ûT¦h:[unè`¥Á¸܈NbN};$É:ÄíqhÜÞS¬¹ˆ…§•Qæ¹p%êú$=ü¸YBš]ë7µ¶øTÔê©KôȆÇ,Bd|ËÜ *L}aÚ‡Ž¼]_uvÜ,C“èõíðõ\ør:,¯34°Íé.·Ÿ MÚº‡#¸Pš¬š¥Où¹„ªrOÕ&釿6Ц4»BÞÞíxzÝjÌíÈ—’µïï×] .¢—œïßëœD$E5,휌¦}QÊWµîm´]–R*Hw6K]61Í„Xl*Ziœ ¯ŽÓ© l÷«1õ9R>›ô¾!%Šò±6Ð,uq!á%WïÅQj®ß‹-ž´p¶Äûm¦ ;¡jÕ11oð\üžàÕÌ`J#[œj6¥í¼#}%.¥>uMá†g9 d-©Ø}Sê²ÀN ¯AZ-Gy8˸ø1n“™X ½Ÿ擤%£H`ˆMÒšyÚiSæï½ÍàÀÏîæA[Æ‹òuU:àÌ詤Ҏ*= 4Ús²ìcY¢©“R“MÓ”®  àÜJkjñ6O¸zÑžŽ.q.ão{ôqkÓî…o{PQ‰DòÕVDNzzM—íÇÉ€}MÃ]ã Œ’7¯¶aj¤:A¥¸‰îÏM;2Q°Ó#t[AZîíESÏ»Í:¤ë7Ÿzï¨ âaÖû²–|ýÜ7wYìRšvpý §.û¸~/ïZÈQCx_\ »_ØÉZˆÃ”)#C–¾õyÎÖ°u£kmFú³³MÖÆy‹-FŒÈØTƒA P¥L]åKm0‘¬9†ºÌ \GE:¸§B¡ QEoª=‘×u-ôJ¢‘7ε`N¯YÜj%ŠüÆïSe‚]+ᤚ¡ç©™êTü=N‰'–›Ra} ËžTkÏ7´oÈÊv=byJêÁ.CNƒ”bFËɵfNz-æÆÚVî)r"fÙ£J¨Ýmõ'N¿ŠüÖ³xÔŸÝhòaíį5“ª…qËõ¸Þ/kÓiØÑ$Gyˆ×ç¸ïÝ·.F\M|]a3£O)s#:\…7SÁû©äJÉäMgJTÕ¥HMÖ~®Ó­KYPZÓûI˜¿Ï3Lý6:qòZ»l^ƒR*•_þ÷ð:³íOÿ-$ž»x0¹™tOOÓ¼êI þW®¢2¸Û£ÁZ+Ú´Kv0»HK¡N™®åÚòýÙ"ª;ø8pÀÁ˜ü°ƒ—sþx¢n¢P“¢7ì!dšƒ=È<&þJK#3Ó‰·ƒ9Ä[x×(ñµ„f¬ýÄÆ‹t6ÿÛ&;9™¼Y¹¶1Ï/Ÿ!nDËP7ñÔSs*Ú%ŸèI{=Ãù}vý°?ïïõÄt÷‘awƒ>OGë˜íX³ˆÂìsœC‚¨Ûò#d÷M{6÷ò:SAžw[/8'[„OüGÞ4%|[ݤ¡°æ×nÖúÂ$Ofãad`ó@!ìï˜8œ™ï°è"ìꮑFão>Ÿæo¡nòQÆ‚^€8­IluÓ><×oª îÏj]µÉŸ@üLˆÒ2:b:X¶S|ÏBF©QÑÍe«"ÊiWöæÍD~ˆçAY¤H’¨=æÓ[š„z>fÓººð®Æbÿ/"/sèW¥:›Ò$ ™ë8çbÏBº6ªÃ‰™¿¨µK<د>`\6ê<¦ýVÑ͵”Ãuq;h°~ûÚxoà¡Z‘&GÅ·hã†6ÛªçÙ‹˜Æó³¡nSÒ§Ý<ÓKœÃ û¢ßóf¦|K88R³çk=¥K98cyIUPd©<ñx|W”ˆ¡gE÷ØÜY攼¨½ÿsïtOŠÜD³”ý˜£§9/Õ„ƒ_Ã?£dEºLâîÏýÌß(æsqòˆySú³Û3ÚUôT—4þBʸ ~"Ñg©¼‹ŽËTWº.AéyfEEš{8­«kiéŒè¿üLà'jÓTƒ¹Ï—v‚m6ÂÆ¤WIù½^à)Ñ椣©.Ê:ÿN‹it²Ý÷ ^Z ›t n÷#rú–YëçÁ}ZÚ™Nf©…5XÙä,Ú{d<Ø›“x"°sÅY”Õ ¡ÛMí¾‰£ª‹‘X4FS¤Õ‚‘dµ=af”‰„ñZŸÑYs4WRb•”6§÷‚g}›&ÑíÏ”[{Õâ6:ÏXùå}™ˆ¼Å‡†ÿ©¼E©ý0ñ dææñ; ÅcÊýëôÝÆ]€&­ºx“̧…(9ÿwdúÖmÄ¡ó8X`f¨ÒŠ>{ƒßxFÖÊ¿g y!¥ïqæÂ0|¥’‰È-ž~F:Y\×op5‰ëi³ó¢wÃl$–? R¼;þù“|W$¸Xˆ¯ Ò53³åZÏ¿½(˜šÌPádS*"tÛ‡ôc‰á­E¢o[Æ‚áÿ:NØm(Œƒàifcîô9^ôcˆ&©[Sp‘ÈÜÅò®×²9yæ6dàK uk+ؼøç¾?Á7M¼.xW{*é öÂÇ{$œ(ë²*!Ù†$êÕ]Ç<à‰Lû£ƒ´Älû!™URó¼ Êrp´¡Á¡Ræ>.Ø*ÕYõ,fI›Ä¹wÜ1¯ùt"_§êvKÞ@xâ ÍÖª6x„=½ú9@4ÈÔ9ª–QÓ’S´ëº:*^]…] IDATg߬6ñw˜öuô5ƒŸ› +pòGnEÁ D¥éLù=(µOc)Þ²æ×WÖ³ow¶5€TÂ÷Ùè‡S1ZE*Îc8³^­›ÍæS¾§cuK.Ø¥Ù›¾!VI†^ Ù«`î~àM³Õê-÷}g8wl$b¹èºduGo@’ä$Ua†Påñæ«Ybï ÏEŽ(*=©Ñ„U ÓT£žOñêâ4v Õ¼kÃgÀÎ\¬‡|„Q-[¶ë‚ŸÆŽÑB: )‘9H»zØÛ´¡Áœ¡a]\~z»\‚HÛ¸f_œ»ð÷ÖÏžËêæC™}…žwó½B+¢@s£8Õ3wÐ7žŽùº›E¤&!žeRp-'ÑTsÔâ7–:vØ"¾§áŠGXºú€EWl–a¦4éT#¦z`<¬4‘qHÂÉà|´:Ò=œg†¨»fÎ ËI6½Vã8 G4üõ9ý‘þu¡ƒ)' VþˆŠéÌ —×Óòþ¿×| òš}yá’D¾ÉENV;~W ’ÙÞ£Í^ˆ2B²S_zMІëƒøÙj®Ç½¯‘¸ÉöÔ5ZÙj¡ w›én†z«fºÊŸìžs,¬±¨²ñë“‹!Ñ3_cûxíÒóöñZµ8=¦Z%#ij¹ž!’†ó°Hˆ7ëƒQ=»VÖ¬vê½AÁ$•¾¡t)¦t©6FÉÐô%r_’NeýÖ_¡µ`¡HÐðÖjRf€øå¨ÛçHV_?†ÃP2NuNy<úÒ'4ye}sÉ=ïèÊ{{]¿iS),,”ºOiAN+(úæ{ª•ñþ,«/–¬GÅì5>…™‡ðlç D鎌1œö¶$GÄI·öÖ‹±ë‘¶KȤóÚ':ö~Hôv[ X.þ›X_oÕQþ½ ü ¤9ÐjÝ,Zßd8<¤Õ0ÊÛ—ÊaŠ¥e –’glËÎÞ êûþlèvšƒW¤1‰Û¿Z½ìŸË~¾èÚxÓç«bÇ=¼P”ô@ï{é UÎ"i“÷¬x矼\ñ2y'DtÇBv]”’ÑýŸÏŸ&|¹Ã=¦v»ñèdöð¤Þì\•Jê_ÁúD‡v]Ñ=U6¥”˜ÒùX7½Iø íC$ ’õa)´(ŽÜPnкÕèº@j¢ª)=™NçþÆûg]é+€üÔœM!ôà…«#בÙyl½íŸxãý9êÀÌñhùûýÑ»K¨ìQq°.ôº®F na£Àhi;JX|c´´'Æ#hª€uÝ›ëºH.£ë«\GΜA¤l6ænÁîû—~9¥Þˆ iQ ï‚^7g¤™Ãˆâ=µ€œLеA™QìI†KÖÐO$cÅMA΄һ0ÐåïÞÏ>=PL í óéR\âFxˆ5Ùs­ ydkŒ’1ÚËd'$«îkÒ„1xË\ sÎßŸÓ©Š„}¿³ï—žaiÅõÑB…¥©ºŠ×^ dúü“}æZkâŠUÚ8lžzD~aò¡†7õŒUÇÚE‹5#ðÿ %ùýüüUþã;§•>ÔÅ¿¤ê¾§_8 œOAòõÁíë„z¡EŽq$ã÷M÷Ž¢'%› (îæ ¨e› `\0­W¦0ðq—vß0rF3mû4Ð#©ŠÚ(Í+½Îf× ס®|ˆgHÞÁÏø1žÖ)pf}ãâßä:OÖíO½D`’ÆwEä)Ô¯û𑵿VOú. uØ ©Œ;LòÝö‡âLØ>žàþ O©þö‘¿ËÜß þ÷\\:;Þ úyî +žç-Î)ž‚•GΦÚM9ë—$KMܽ^5¢€•üó$©÷ï&°!®è+‘[º©0Ï@6oh#ßø€j¡%ÎMÞBOp—ç8t5áëôº-ý<˜ÞWÔàø+¦†,ÕÞ©÷WS› ö…{]×–lMõЈÍM{ˆ¥ ]’€¿èËɪcQ¥íÇߟúÀw´þÖ”Òïi°)pGµc0«ýÆ‚8ß¾÷Ýã¹N?l®‹å|àxJt ë\BŒÞó³Y{£Û>Íßl¿ÛiÖ*ÒÍÜRsë±]ðð„o=ÊKº KŽ-©M×ð§QUû¤:ûeM˜ÝõKî'¯ÆÌŽÖR ׸͓a1˼1Ц´Ï™i€žZdí¹*©·ÑœÇl¡6yÙ¡þé[•è£ÝNw}·cµSÌìþè†AdÑÿüÏr º¢T„ÿr«ªÌþìI @Ø—IÆæ.´³k6GÕˆô&aêΊˆôÔ¤.”D±ŒÅù–ð .E$‘àpu–lsiæQxX6"$5ZuÀæžÙj‚O‹X­Åˆ m§ñçäº 2ÍÑ;9ŽÀÈS«N‚,2‚XUÕ/ú‘¸%#Õ~¢%ªc‹pC,±…ø«°”"Ê4õ2U·ª¥/þÝÎõK"Ã>Z“¹}rqüIÞ·šoDžh ؾÒ!÷Þ!lã÷*ècä#ø¸²þ/ž&Óp×Me£‡ ;>µÇÌolri&$q¤]´,Óž&‹Rì>œubkª.(q5ôèÑM¦ºe$oxÁÓ×SÛ$!a:°ìT´M»FÊE÷¡ BÉJ4ŸöÜzñö’µ)b4îð’"Ò›“pBŠh3BàšbóöøÎÛÈÂI?gE#•ˆóï¢^iSŸ°0»Ñ!á¶0T[g_X¸hxúJ¸å¸½Aˆ}o#PªV=0de2§tkªALõ|(iž‰Åðýz˜1IQXb°ÅUöflÀÈ>f—Å øýÏs{ ²ê­¶½±LS4Ѭ¾ë}ó­kTU2‰ÖòJ Å9és¤¨Ä¡;º/«ƒ¯„­w‚aÕÓ¤wÒäŒqŸ®ÁÍ'Ë-øxͪ3 €^ÂÉE{äÙžbÃj,ìܯoæã)Z[(òttN³=¦ÅS]žé–Pç|¤+ òã›g¦ëQ:ÀÃïe…v9`–{LÚ8·dà`!yߪvðÅšî³DÿwD hÅ­ý“ää˜ï¶Èá9°6älo.‹¼û•°PôÈ©Ç0¿Ð?ƒÆ9rY˜4Œé’'ûõw‘½œÁi$,OËýˆ†dúEåZ2t$©í¹hІœ¹(—ÄJG*Gœ Wl9™,Œªéþšüƒ~ö‰PŽˆ¢T~òÑ€.Éq–EÕÓ(¦™¬.®4û¤Ô'²æ%ê21xÎ?"=ù67ð¥m‹óÆPã§É©Ö™‹Èp©cp Ͻ€2 Sg3‘©¯Ñ¨ÎX<Á¤a £X/hx‡MÞ»Oü¢É+xBƒZ2=€{¬¿ÿaI:J+P!Ðk/váIµïCŽQ¼6-!LûD5PÔqÒ_Ëã’,R9ÏOÂçVâFiQt'îüq[ÁzxÂÐ.Ò§4èm‚!Å?0ðÌB¿Ë¬@‚ø7²–·Œ×‚]…PÉ™¶cVÂúW\!åéI#‚ƒ„=‰øäû€›½iv4M©SsR¡¯NïgÓí2QWqRpŽ`Óøëf˜1Ípá·Ôm#OÕŸký{JÛɱšOd´“²í> ÑÁ/â¹lµ$:þ9ñ>Ë΄+·¡ ò¬EåveÌÍKøoÝ3ðÜÆ!Î5ƒ³âiØÍÞŒY2Oà ^· Jò}Ò$7a²‡ ëÔ…»ß?ÛãTé~5¿6úøÍîôy¾‹,>Š =eôÑ{iHŽA çú)›j\Y߸~œ‘Nîë#Ãêšy‘nŒ}j+fô…[ý2DD?aFôÑ;¥VŸm¯öZ`Ýë€Ï8MÍZ¿È”ª) "[°—=Šb&G?Gxí"$iC†+ȱ‡òï/–¥á€É1ýÌé”nîiÉb¿G¹SŒjGwmiîja¨ Xhv€ ÕRïÐRËò\<;¯ã¶BÈ™¸ü¦¶ÅÖ¨§ˆ0ƆXé× w€âq¬ÔÅ›}ÊÊȳ˜Q¨=—Åù„m1¯Þ!:ãPL’¡°Ûù³Ÿd!w  I«Ó¦$»àK,â¶¥h‡ ¯ß+R1ÏÛUwšYbömøüš}¬üï©{oý®+‡N31š¤{AaÍ CÿyŸµ®P0óU(Õ¹í³'HÙ§õ£?c ,‘q åÖ;ñ`J»möÝç7#oî¦Â$£JØl×7x¶ÄäÑŠ%½™£€"-äþ$T®¥Ùnï,ÄY"(fô¬Tøƒ¹WfÿÝI³.ô%NéFN[ΩHÞ€|2Í‹­”³€ðâ——ôâù‚ª$Î9vîk‘Ú‘·Ì¼èH€‚vÅt,í âjxÛôrotéN¡<³qÎÈÚH÷á[«É<y7bysXv˜¿Ó¡çcâ–n~ÿ·nZJ±Ð5½F‚^§Ð‘8›YíÅ1˜u™¸¶ sýß/¶—ò΋8Cúe@uz|1½!î3²ô‘ÞŠë­¬}•Æ/ІæÅŒH3kë2Ê;&C´IR²a d‹ïö|š¶šXMŽ'y®J¿–6“Þ¦Öm„ \ ¦-Ûž$µS,aT±)‘üá<ŠR@î²ÁÜýþiSTÿGNhÛ©¹iÛvü9ørpháê,]”÷N‹–­Fž©ÉõÏ“ºúY˜ùçÑâóí У›Ì½>ô¿Ô9‹i~¸ÍhñÊje¼¾6ìôèã T„Òv\á?‡o°>ϲ&‚9‚èGoKœA–¸s*²è{”uã©§#ÃPöçÍy\¼ó¼ôS ÙN…œ÷´j)k…yFòi«4o®)jº™Zª÷}?¦s¤­Cñ¾5 4Åß±eD×OÕY|7UÃ÷Ê„g.xësˆ¶\ØtˆNºx2ÙŽ6—{þWœÏsDŽ'ÁÖ ›7‹÷‡È"jƒå—½Á¼@Wê=Aõ™Þ–yœŸ5*£œS%ãœ.äI¶ ò…+o0Õ{A«2Dˆ àAE  ž€X<¿œ:äóÈ„Zÿìù€÷}o«¨É(ú0Ã}Ò‘õœú{XEÝ<”è}ˆÎT¯á¼÷z=ÞËîï°Öp¿†5ñ~nz¼ î÷’ǰCç¶åMBïÇaäóãÚhÁÎûe(•–Û9'–Hµv4éuÆi4s'Ž˜çÑ`Ž:׳¬ï#0p\ù/Ÿ‡“ÄÜçáå‡ditµÈý&ÙŠKµG["`­ïÏ]šÍŸ´üusÎÒ‹SÍÕk™˜J»$5Ӕ†¤¡¹ÿÚj7¥˜²ù“6ú[ö„Û ¿g'©¥2EþÆß·ÜAŒ¤Ö‘ߥêÝÏñ§è>èÆQ§û~ðfU=«wI ”û7)ûS»œÐ©2"0ª…°´ùƒ$§Ô¨ÏAG¢לx4Õ{+–ã÷¥æõ9=}3Ø?kùµÊ)²vœçx‚ ‡×÷á~`Øpše¡·Yöq=¿ÙÇ슴Ì`"°q—¢š” £ð’<^éÖg‚ÉÊî„‚¿ï&z”jcNœgÚ uňVXÝ\c4Ièº:'"ýõ‡´UÃÕ¯÷tr¾±¸§hF—¬ ³„‚É%(1˜²ÔT×ïõeÊ/›sãõ|¬ƒ|ãx=¤ƒ™[“\¬ðÁÉÅr*ൠàÚ œcÆâØ"ð2È«L3¦ûíèÕ\®¯çƒâ\^È[œr‹§¯cí[µ+G´à´€ë0žÚÊ›­63ÿ–³›¢òà´\eêu_¢æiw2—NlÍÅÃŽ@?ië8êZ¬ãIXÇeW³îùtß§¯ÈV{K°oƒgs±ü8Ó¿ðÃýV}IUO\Ycá¿ÕçÌóÛ( iÑ&"5ìØc®oæÛû¶[ ö­üyCH&–²¦RÓBéõÂD¨ibæß#Àd@0m&k¨Z"Y]ÕÇ!_@BÊ[ÍÎשšPœŒú&­‘dž ¬4ù– –„ÀþY{ß…÷}X9QŸ¹…MÊçÈ÷cê÷¨&ûÙÜcaþ›Œär'$rGò› ð¸gôäÔ&€<)aã^€]j&þhlm}Òßý®uòçôKfƒ»õü°/½€¦³ÇÖ®‰w4ÝZ9x®Ë“/QcŒŸ¶Ç{ë9[”~TµõV£ÑÛ”ùbi ÓŠRðÜQˆHÕd„]‹s܈£/—úf~ÙœºtÿlW4…iúZw™S:´%š{2§¤>uþ™•©L#ïacz:Î죗b\K-´ìqvg`_¨¯–¡ÁÈ8k|¨’ÒQË¢¾E§ø^¼sz½h˽ £;"Ý·?ƒéêߨêºÿû‘£4Y^ŸÓFÈ>¸^_¸D½"3§¾ ,îþ‚†mºï3+ë¯wßš;Ç´ƒÀB.eN_„ÒæsXËÀœo™íØ-CR/Ù¾gqÐ˨„©×¾^cÈ0 œšÑH=(!f÷G—ždA'r2k|„‡5Éå¹%—ævk¸”+æJî6Ûj H'$rqµcŠ•´Q_/΀«,Ô_Mjt:9£x¯ÊI^ïE%:¯Ï›¤w9>õIyBij^[CÅÆhu#|g¡óg››²¾¹©¨îC°¦OÓïïñ7]óÿï­…µ ’nù¦C.{Aþ­ãFõv¯º :¼#AZWÿÑõ]2Ó?²£j½Ïo„ãD"&¹Ë²{é‹Ñ N3 gÇyó̃~NfzRŠ÷‡_³D$ªzº¸ý¿"E³3*Q_2"ˆ^¾˜š%?®õýëºèúçŸg=™î$ç÷ó"g–³ë8K(5Áƒ¨•cùù&Ά Nu$Bæ&´1åuV8Ö•›y^‡6¶x2[ðöáʪ÷žû;-`-ø3k()ÏĂ׺ï‘ðßmhÍÖq4,¡2 ìa˸çªÎ‘Ó¦i¾F4Y)ØiÕ¸å̓×ï5ösø‚ß³S ?)¬#°Ñ”ÏkÒÒžÜ5X Þ§-§"QRºÉÔèç禚úuId™ö¢Z¶FétŠ"TŠ|€”ÑÍ• Q»äÝn¸Y2¯³úVt¶Ç¹®«ÔGT\e$E³Às†t÷Ð(ýþdº|ŸT;\y’ÈϺ1?aQ‡TéŠ×F£™lV<¢ç¤¼­$Ž®> }ͪ-eäfú/ ϵì7rÖ˯Gd5¯ÿÄîœÔiå!¨}K‹8¡->­*7¨¿×63î¹ë<ÝcqÉ{a;¡<éJRgé§t*^Wæ<;6¯œñNe¤A¬SÇâYŽn°™7dYy‘Š’9z…uêÅðð;ÕÏϾº}[ŒèY5oö‡Ó$­)ãx›vx¿µ37ÅßàÇ-™'>ò2ø™*÷ÂÒ'‡½GLQÌïÙ×Õ,íž~.Hp‹È(–Ɖ=ß”MÆê‚šyhL&ܦˆ¢»¨õŸ¯VE'\ñĤĞBm${4ß,‘^­É¨õaèU ßš¶"X°ù'l;åq±žÐCœ‰ØNæ[A ÒQ¤Û>c݃µ]–¹ÐØ:šd4ÒAHéª&°^Ïsûç»?wd^¿  ² ŠZë† l[—ü#ÅòÓ;7¦>óm¢CGÛÇ#A_ÛNc¨'õ1йH}²d8±#Rð."½&¨Åäç¾Ç‰½~º©ÙÚÔ4‚íI ™é# ®ÝÇ?“i:D¤<ÒÖνÀxúËœÄ)g9ð@š/NUŒÏŸ¿ÔLBÆ ES…} ŒbñuNãñߣ,©%jhQq¾Qž©Ÿêü1¥{ÈÝN× ‚ôEíÝsocÈ*üˆ#Ò‰e6· 0à'~Ó…]ß=7Hpªq朼Jx&àÛ«J‚a†Ö¡hß™Yå,¿â(–6_ ]éP™ñS=DÅø®zýN&iÕpR0 ‹ZRø.Yš+é]«z+Ê’àÇ:åaÒ}K§›o’´¾ÒÌÕIVú*˜ß «švM ¯Ý‘ÃõÉ:ðôE9Pé™l<ŸÖ!š¯Oÿ¹Ä™åõÓâÎ %G³GZò»Íî®Ò i“!èYOÇÇz¨º’xƒÎò¨YZñÛ¥o…¿äH”´h–¡ïý¿®ôl­Œ‹ÿ‰ÚCXÊÍê&Û˜`Êð¬OóÐß(¯}’v)½6íoj¤«‚¼iþ_å.²ôd¿o'4õoÅg‚ !jèé è½õ Ä ÜÍ盪Nóšî7ûØ)åeù›Û zŸÏ!é5•©´´Ç³U~R­CëçÚ›"ví|¨VùìÖÍTDK¬X>ø°ôŸE§š†§Ì‹£?%ЪÔOÓÚ¨ƒF .S’?:ñç‹ÿqOÁhcGh¶ÕÌ…ý–è$¤œ—Ó.F«‘^ßaÁÙ#¹'ûåÚq„Á†dØ}úÌߢâé÷z뇊GJJÛiņŽNL!ù¸2ÙS)KgÆa <Ûz sIlšøüAïYv(ôé  s*æ½<§:SûgÌ=¤in·–›-ñàh›d(ž—÷cgî<ÃZéd×8=³öoN“¨ZÔ‚û[‹oTÚÖÍ™uN±nȵIlD¨÷ð=¿B}ì÷‘T}HÓ=Þ uiÄÉâH¿¿öˆ»0®Í[gPó LÕYú0ÉÐ2-k~m=%ÅbØbT"sn9°»©iR`OöŽ ~*c¤AéMG©~Úô€:%%3Zé(/žàjPó”~¦Yô—$â1eøO\§È¨Px£÷8üŸG0×iP 9~:‡¯ïg÷‚£Ë!*ŽIóÜ€„$‚öú½šHQDeÜ;OO?YÂãk(FøñSÌ~ætƒ[qêÒuä5®ë)D…¤-¢,/éú©Äc¨³ùº\%š÷ÓˆY~‚ÒŠ Uìµü!gŸD³Xó ŽÄ i _ŸÇñqUS†=XÜïtƒEÏ>ÖkyâW5ÁÈ ìhî›3ëjOzû&q×%«o>¡SFÇ4PèÜëŽbÇh”ÉÈŸä4=¢e\…úzØÿ5Ä©hTp­ºØDÑn’ª‡’é¾ëÂÁû¾SÊ$’GøMÎc£õk§\;}™FæÛ_×y™BðÐMŸ9ùk “¶Ü&Ã×;ʵûmp„ÙMD×î©n,§> G°4 Å\Cóâg&ºïy抖q‰;ñ[*Ôüµ¦>•ÑÇ«^{™hª#!]k_®¨* ™ïW°c¸¹(Ó@–fV;ñûS*e .ž âl4pØæÙ›¦;n8aŠÏ¨¨L‡ys¥XRP²úú$¶Vj^ÜùÁM]}S«B;èhhjŠ\Ùˆ IDATžfPoB$À¿œ†N(ãZN÷ ±éPG`g¢Ò‰ÝßMµ2Ý¿¾ .$ÆP6ñ­U=úaz>ªñBo³µ#ñ>”Ûl‹$÷Bø‘Q4ÐÈÁ|oÛ'^¢ÇŸ¹oG²ùBÚ¢EMRíZ[\r%È8ÆÜšR¬ŠDáçjì¾ב¥nmÎd&CÓ}LÔÒb èDø<ôƧûs/hÞÚA°:8ê;÷c«·'m(8ÙÐCÀ¼½ž¬~¦¹5Šœ=r{ž¾ÇŸ=®úP˜ü@CÛ¤¡©›º á,i£ÈHV–¥ôMWU¹×%ɉõ>ˆŽMHã î;· þÉ£&Cp²»«Œ¤œ2)”Ù´Ã É9¸“õTÜH¿¾Yþ Q˜HÒ2Ùw¼f½Ÿk°rßÚ0–d$òä#ݼ½# -ëQ_tæsîž2…Ô¿Ø}K_òbÈH‡Ä‰××d÷)û¤Ï \‚Єª¯U^šTÇ^•ä–‚u‚Ë´Ò&Œá›+¥¨î_æ˜`1í–¥u£ÇÉ?º$qzVPvÿر^_¦bu¹Èiœ•ž"~Ï•âëÞ%Y‰vJAÕ 6‚~’ÐJÞC²äEül:x–O¸h›¶Ë#VÄbû ‡Ú ¯—Ñju^ø·á–ÁÚÝ{RnD'zPÒ~2¨h.$Õ¾°””¾ÐÆy1…:ê¸vO|(l§^>&YòœŒ’'êfòÃÅÇ ´vÈéLù9‹ý6Gi.bWoÚ ‡9°z­–[Ÿ .oÂCÓNÝ R¢ÙÒ*ÙÑ㦠ýïñà®8¹.¾º"Ê.­½ÕBÜ`ÞyãàáaSQ²ÖIGíuîƒò<^îÛ-Íÿp¤o“v¡‘ SªÔÛ½jwîŽÎ„šêŇÕw¼—•ÂNfÈ[haôNhQ‚†!óµ9E×j7ë¢L–>Qx›f¯ì£ŒÓcòZ ɉCâ¾#~ª¯îîµâª1喝é©=ÝøáÄÀŸ‘‰›Ñ½|k›*Ôz¸é×í4õ‹ÈlÖ}”‡¨‘-ND¤«õ™˜åúÚ­wH]µ¶èÊfÈÛøµ2+£öýïÂý¬ôV@Ýøh10ËéûL‘ý=-#áœ+—…ÑêZ©³<^/ ‘“ ‚=CýKhÖ™¬Xð÷« ‰–€"ÈzroèVÖˆ8݆ë=§±poyEîÏQÇ`¼o÷A€¨¥Ð/¦sb·óægÂ*ÃIÝ@ŽKFClK‹îÙØW(hPò4ÍöƒTÅA‘ÖC¯:¶ÁVag€ލ•¡@øžÕ!þÕ¯w8<ÐÆçMaž&Ö2ÿ&²¦ñ"¤k/í*uÍÏßmŽù[?Æ$Í1äâ½Âœ‹Ì·Æ*çv ¾ÿ˜4H¿þò@êgpK£ôóº6ž¾{zÅgŽŽGm\ǹát}ïd§Rdb$Ý —K¨m`€ö§Zp,Èÿª×l½âYÌŽM_® ðÌû¾Û&î¯[“q4ÂïÕ¨b²ê5ˆÒ¼I„d5â U®£Å=uYÅ3™¨¾Hò}ô s?á:h?hN‘òDˆNö¢ùqN•²pó!ä¹H/Ð.¦x'>7ûÅ¿å@²ÑP§Ùq}¦¡‹ó+¤>éQ),RÁ Õ¸Y‡ÆM/ƒÉJXp(m,=ú9/òƒºø*L¬'a¸‡poJIô-]ë¤â® /®†!è9†>r©ðóüYùÁ”bx-ÕÁIýš"hi5uØØêž¼¨öõK–œ¿Œr˜à[¢âû%”$7ÇTI©t?¾iž`ÔYi™Üg¢‡{eªwÈ¢tñ÷}·h3Õ{±WɉPƒA1ád³A/ˆö~Í[ðWëUœ\[\eÞßç–âÊò,>Z=:õU¼iF„È#ÔµÕ8¶}ž”8!Jßá„3„}ªAjô«½ðñY¦Z‰;МE,º#a—ì´ô{<úˆ©öÚ ÚbJT:ñ3Ò Ý)–š¶”)¥Jµ¦÷™… ]ÙŠâþ0s)†‰~fÛð¬æ›] Eï’óÈ0åøsb¿ 3Mc‡^|äsÑ Sg9ýä… RiødÙЉ{ë±PÀZŸO-¾dì{ßÀZÛð4^›G½Ù+ JFÅòæ,J­í¼ÝºÇÞõjÇ〫Ó)ÙÕ¶ƒ,G‚ˆ›kV½êž…H6ŽOpÀ•¼2<Ÿí®8…ZnÄéû>в …4! |FfJ¹QPƒÆjáq)¨¥xØ»‘+¤çZwïFü6õ*éÊŠÉ7ž–ît¨6;uNÃLN¬™`×ÃÂÌ#‹¤h3ú’ÉìÁÌEA<‚vëÖÆÝ9ʱh>;—Ê*µk#f¶>²±‹ErFõâ [?ýîç‘áW{Ì wb²O]=àfžÍAn7å‰N6#»ü}T¤Š£i†_‡˜íUAð72µ"¹ÖÒ .)ÖÔáYÍŧYòÕ' [ß ÌóZpéŠ×½&ûþëÆ]°Æ‘CÚžI]îI¥¤(n¢@}=¶ÉµCÓ´fÈãxýÀ¼ZÜSEÿ¹¨Å{­2´ªá)Þ¨KþÕ{¦¯•þ”³K å4 >ò©þþØ‹¾ƒï…áûŸi~FÏOô@Jûli#ÉIdãpˆü­˜ò46ƒ irŸº»Ä)¤,¹È0}™‹Ë£¶w@6¥&u!yYQ…Ì‹”±1æ Mz”Ø XžqüÚ Ò7Éú^Üÿ‚šSÇÞÚÙXkD‚&Žæ©Ë Ò°]‡¶ ŽÞà[JsP…½֚Eö{Ë(̽Ó|‘ŒNfjÞ ‰3ú:ÕóÚÅ6\gÙŸ÷ÿZ’4¦îL3üê¤L‰Ì¶!ÅÏ6‡{9%À LOÝ4²‘¤©R®R˜â)E÷š‹~þjRý,ÞÏá´îŒ{ý>šJϳ}%ÍÞ$#(Öäaæ^&0ñ„ìfÙJÖ86ŽîÅ;Ò4×?õs¥Ô „1F;¡”÷ê_Äê SÚ$(ü=IL®Ü˜õA¤O3éÙ<ˆµñNóJÕ®Cjÿ“áAd·¢q“v”&ƒ.íÀ¼«u·œn7÷!Å!¶R\óvîzže-"-u{nî\¨ÑðP^«O€¸=Âõé´’ àðkîÜ8Áºø°œíÇ×Í׉Ïh`Ý¿Õ8:|¡ôb ¾w•×ûsÎûkvˆÔ0[|ÆSíµ£=OÒ¤•`u¾f»ÙœëÕ9+ì¬:þïC³]|W`LÝ/:åxzx&çžó|wõ(¹Ø§À&2Õµ1à¸frãvv·u=Ÿ°t˜î´ëtxïÏ·;E£ùÄT·ä‘Ô}›ÂXŽH cÜO‹é̓Øàà8yìŒC¯Ô£Œû~”¸·}B…íÍZF“¯w‹˜d4Á@Þh—’Ø}˜‰ðŠ–G™õF°I²çzaô^çPéß|€¦Í¸k‘oòp! ÔÉ:‡R³Yš¶¡0]{;]ü5ƒ×ðÿ“<°G¨Ÿ”øðÿwþœÇoë -{ß:Ì~ô¨…éM†¸õ%½êÏm’´GGžvÔ.RœÞE¹Ë¯ÃÔ_¼%o®¯Ú¯äíÚà©V½ˆ… Ê?çÐ(iž`’Gš…?‹w}æý @)q{;!.½Ù§I;¢çæ&l3¶‚µwäM‚ßIS² jù†š&dåÞŽ¿Á¼û³ I„Œ°¶ßŸúx¾_^S•šI†{‚¹W•HÖ a3\SR±Ö‘×U 5uƒN=6*WUº#a»P¹¨ƒ4_N¶Ý¾Y‹Œ^wåòžžb…m…¥Î$–gh¸ær’–3§=~ïàñë†WÏ­ ÎGò°iëÓ“´dBªtèrÛ.1ܵwþC›ó!ö´'°Að9XûÖ;#Oµ—fBÆZ Ñ– £]áYüß\;YJ¯öD.¡ÚþŒ6sBƒt 9Eøi@óµìQÅ”îÕzƒw×ψXÁCÎz&.Ò€ÁFôȎü\ѯµ°¨sÕò^C»gcDP."i.Øûjé?†ÿì~rADFù¤ÎUíQ|"SŠRöR¿7}‘2Æ]‰Ï2"»@ùyÈf™q¸P?=¦ŠyìvHo|Ÿ¤ÚdºoÚ' ¯öí%]÷ónÄ(·H§9ÝSà§ùY½þÏ{r&+ž‚ph%¶&$ç°ˆ‡¯mŸ[É 1ç½'Unö^,û†üŽ‚Ì2xZŽøSódÑ“SkäçIU$¦ÌÀ†'ø5T»é5óµM½í£Á0úòËilDG¹4 ð&¸º¾p;î_eux‘þÍj*§áw‰|eÀãÑ+éw,G©Y*ODÒ•çÜнS9¬¾¨ÕšÑY¡cw±ÍéYÛ“[ |ŠZY"®Eúmm;~-¬‹ŒtD–D¨ž[£¼ç0pçÛ”‘-á÷÷¾piqíŸ ô˜Áñ&Ù(>`Ù¡=«³³¾Žpu©^+?àúóNF·Hü¯æª? ?÷¬ˆJ·³â—;ÒeJ°7ZmmÕÐWuO*däÍNKÚsirt\ì€ÄáCǧiFc ¤ä ÿxSµö£—(2¨p£U€Îat¿amóe~d†¯§§%åð«W|z½’ÓÇ_+¦Ë‚j 9¡y> YkúdÔIN!Šu—ü¬Êp!G§ˆÖŒHí¶CÓ)È,C¶ÄÛŸóMI7çQ¾ØNk°1jDª7Xý”‰ããðQÊqô€ŸÚÐð†mô«K·Gsî‘OÐaóöÕÎȵ4æäX·øçO öÀâùa$”MV²z=X D^@3ÖJŸÿÄ P¡ë+çòŠòÉ鳃â6Ú«ênOͼÄa@áfï37ƒÎú¯#ïÖ"=Ÿ~Ç¥Â'd&³Òû¤™¦tÝäy Ÿ_žúáaÕ¹‡ÓæÏS¦râ“Æ¦‘Iôfd­£yC-%zM÷oçö+‚](e—¶i¯$ñYGãÖ€ ðF`DmœuC”dÃþàò»¢|ÚÏ£)Ðïîiïåë¼j_̺upæód$ùsÿ|+@O¦Ôt8Ñ•ô9F €T™M‰S² ’ÌÜâô¾fS¸&ëT' –jû¥ëM‡A¡ÚÉ¿ë8ç}ºgˆyÊkJ<åÕÕ²³ÎJÄE*²Í.v´Ö¥L^‹V÷!ÓXp¥!J–£ò0»pŠÈ´6=_N.fÇÇvŸƒLæ—bËu€Ùéä¾?~©Zt'yÓ²¶¸¡²{ƒ(ˆÀŒ„éûµÉÎ:×þ‡ý6±FiS!‚€âçp´Ñ=îËömŸ4t>½KÝrxÀó ,G1;Ƨ&7lÁ+R <pœœG‹¦=:ž‰N&7ç#o>ÔWçL¢ðÍpkÔ²9ßt sʰˆÆ’ ½ ÷€P Èúq@¹¶I_dRŸ4ç\s¢´éš"Ÿ·!߯V?%7ÿ½®(.·Ì`.j»÷m.&“S6/òæ\OÃyþyÿ¼“£yœÈ‡±Ðhž—¥õ™~M_•^øJ *÷Æ÷“…»–Í p†Ê£y*Ó–¾ ãôRÑ=•«Y‡×uQ’Ü%kÇ¥1Cµ#ÅÞ’dÚaú¨r“èu{«éRË|hvYŒë䦡d­Ù)  áÚ½ê½8%™acÏû„Ð?WBîp¦fw¿Y“ö 5õc$̬8§4 _à õû^m#4I¥ßÃ뺆ßóì2û¤ ßAÅpmÓu~&ÞvÉîÃô ’Ñ,”4‚'´Ò¯;O Î p[¡°ÁS]²v+€Àæ0*J…C}°H‹ÃÊ羉DžÝ ø_ï?ÿ\…a>r!Þ†’&¢פ­þûJâa¾­Èh$×v‹Ô06¡¢“•ŒÄZ"×”F.¢ûÃV:õÜ«¶éY{ diû;TaÁHƒ ±ãa²Í'NUàXÒqßÕÀPXäè •OxKé CôJ)ÔYŠÃ‹Î}ø~Ð=ý׬€(~Ã÷ÝG5+ô*mÃîŽ^ŽÆeÊU¯A"<Ù¡WMÐgÙUh5v)¿wü¡gntJç)TÏœK¶=ŒŽùÿk=,/¼Ä—ôè…§Úì`­ã©Ã…§<Üw ÷è&®ZmØd%% 'Ú:¹'EÏîúVTÂè\ø>ä¡? ÈGÞkì-jy –‡ô½x«ù¡ÔÒ+OµÍ= †Pi€®DëQ)îz1î‡$";ú•ݦ¤ÆÅ2/\G"xçÎjYÛåS±èlgyòVíã Z/É …‚È¥jô{]©æÌPӹȯ'¹ßƒ€À!÷–<`€w;¡«š¥Ü\¶ ²ÏÏ]¿WÚØþì¦YˆSÍÄE²îé’ÁºÁˆ6¥dñ;•¬˨ìƒõÆm}ÙºDdi”„;>>ѤÔ?˜ît7DM­¶#¼[;äxhÎWM® @ã³ðo½²Ýê­Åy:/óW’o3á'8»Òg¨›Ûg¯Áy¨ç ÔMsO&U´†9IM ®³4r¼T5˜ …üæñ†,’ däå™8ü–φ{õ ž¢è垨jsÄ9„53m­þS­÷ ›®øëÓ“NéO'_âHrÓj»/A¨Â~0æÆå#% Ì›óðH§A}];lé›»z K¹<Ÿ~‘´ýo–I¾ÀM»«IÜáŸG­Ö‘ Ãy‹º[ T†èu–àIí÷û‚[—;dO½|öIWxš3)Ò”1îCÏ»¤õ£ÔšÈ ó²n¨½)xMð½‰ü3þ&óê+ ŽïŸ˜[dbB’žrñRÐ{º°{7ޒɼwÑ ç´`°ëÙ>Uhxl;-‘cKfN°í0ø`ÌÅùây¦Hå=ò™ß`ÄuIÊÚlô}»aweýu8¨u‡Ö’š„|¡CÉîÑp+س¶Lvj•_÷º¤ñ=‰' +Òé‘„^ Æf'5Ø¢9~t¹Ô™a ˜×!¾?$Ý›¹SÏ{×­¥iÚ†²äиו ôÁœiì™Yä ¢nCêßf,bÝ ®F¦ºH=ÑÎ)D2@ÀSf.ÇÓºØT¦w¼3j6Ê"ÕX7fŒ¶µ±JfrsW€Œ¡×|š*L2sLóO½å㺠ê£äܳYxXsÅ+ìÇEl?%Ѿº˜NµÖ““ä u8bI†¢X`éK=Ï¥ØÃ¯ð|íówüî…(µJ!¦r[)í^yéöQwiø)ŠYâ`NŽô1š.-³„fZ`·}H?ïÑåcôÑ»@ûœ|»Î5„D“¡ÒÜ2û0Ûr\ä“+ü3âm`Ü×åâÌ·‰SÕüºî+ï!ÚíÆJD|í´óçº.’ëš‹¿ÙM~ ´?NóJpÑ«V£§ô¦54½ôm» ãC-ˆ7°Áï@g}N³}ñæ)ל"˜ÐšÆ*‘û#i£—3ïÌ˸YœŽiÚIÍPOÈTØjocˆ¶Ý!j'ñ m¢OÁ˶ñA2×J}„öµQ¤˜Nþ—Û•Øü…<–2âmÈ$ yåOúY­œ5 ’Ö7޵Å­Â ¢gÞ¡k%`îoë ¯;„ŸrM‘ÆÙä~vp€‡Î½SdÏÇ'Èú°!!nAz´-JiéÛõu~HÕ‚¤A•€0Ÿ`Ó³1ß);Ƚ”ÛY‰SG£ †~ïûÎr¯ä›kM2¾Þfke.JNÑîïPéâ¥~jÑE2…"þ°(Fè P)½´ql·•Á‡Ü1ßÈ»y‹'·_—7dõÒ=u›N¥d– ×haè~<ê¾µDÓ,yf!j“—Ǧ?"ŽsÞ.Ì£]ê^är|½MfJ‹¼[,ˆ*ijQ ¼œZ(8ßóëú¥ë’ŒLùv“ÛëîÏýÚ?¢Y]-• ìàÌÇÒ©>XÊ‹[C ЧWRÚéDB=»j™8$q[7ôk»n"œ}þ·®@ôï‹Ø¹CÏYV~Ž_ Ý r¦AYÇD $ïxšb{‚»‡qBGfuvl©I­JÓì@MÈU˜ËÉIñ}G[bÙjÝlr¡i³ñ ©¼Q¬\õ¢Ÿ›SEküõ³P!m`×s,¬-§©¶˜ð*8Ù uç@\™¯B±0kK«^¹¢Q*¿{PÐ'u›œ¢rI¸u¹Ìdf=åû’¢Ë)gßöG{®ü9ÕÙÕýçÜl•õ1ýê_‹u¨¢R­…cÚpLÚ ò­ «û¯[ÂÿVÀ'kUW!¬W03²UãþÄ LZBGå?ÐÌJ:¾¬‡ŠQNryŠ'm}Ó;2ô¤mfÇåä¥W8²šÎåMr੆aöѪ4óø%ûÃxÙyp°-V?è¦_íÆTC³ñÁ$/ÁK¤o²ZLŸ\+ Äi[´âš*8AÖÊÒ哬öë Ÿµ|64XoMgC=ü“(à?Ò&™Æ¤Ôfr;È<íŒ6:m»éam Ñœf)6Þça4){«ô{JWPªžÞÁaÑ{–õ VGż±u¬‹öf¬Ð*HjŒ)DŽ€JÔ›ãaó¸úLHÙDÝ%2§LÃ韢ËÓ‰±wƒO°·Ô‡¿f-¿¤WÙèÛV‹®ßôÅWØýqHÝÿH0dÝÉLÔ¬sÒé¢Í¶; ¥·í=µ„1ÿ>‚±pMÉ,®$?àýŸ ïìÁ,b“ŠÚ¦]ùÍ’×Þæ–o@¿Xðf‡C`ãÞõh–Q¬¼™óèd'h'×G,^vÅÁD˜z|‡D÷ubD óâä¨x]×⃲ò{RU‚ðé,”ymn¡è],ˆà>\{þäíá6o«6¹×X’±'½Œ1äÍr«ÙÓhr8:™g}¡6«=Ή]±3u9÷ƒØX³ qÓ‚©«p®AdY†sÉëPÎ`¶©“‹R w{‘à LTO}æ›3á–³“¼E¥¹XÇ9¨.°!oGûÐŒnI˜j´M Kža6¬/Sžð3ÖM†:‰É_ÎyUB5×9;Y,'¿ã¼‘„äÊÞmOM¾´Xú‡Ùz™Šô¸ŽHèÝ)}&ަRdtyšáQë„Úü”Yé¼O<"[-ŸšÍœÇzì4NAÿP(K‘˜¼+:_4#fq=ÀלëØÕÎZFÁcã'ÉÚ—ˆpþ6Ø'ù,sTCçQ•s«…Uu]s\bõ(Äds þŸ¦9é{^újúy}Ê2Œ›ñi„ÁiÒ¬_ʧÉijÔã’r¯ÿ4ÛûšøºY²ñl#âºùèj8‘“ѳp$Mß`í 8¡&ÃH‘ë% ¤û^Òµ³‘Ä|ÅH÷Ügx%ñÁϯzÇ\k5°O/Û²”2TöÑâJºAê’!7m ²Rü—RÞÊrü^„éêõÕäÏ{–~F4×5ùÖžà[”CÔ†© '+Œ3ËÐæ+ò… |BŒ´"J'dÍZêuÚTß ×7¤“³¨ƒÛL7Z2”¹=ü=ÖYç­Â±é$+Ó¼Ã"Ë7h0Ûpðö®¶€1Nµ²é¶Ýfá³ “£—¨xêùá[zªå„AÉQ|N]j±¸½58Nê,ÜèUoâšQ1Çê“ýÏQê¨ ß©Îð"óÆõÏïÀUR?Èù7€°4ô…@QÞĆw†¶+[ïgІ4¡P$°‰e>Êu]¥¨Ýîû“Òu!×ù•Óý¯ç4ßRìá*¹7xŒ)ê¯@mý4Èù,iƒ¬9€Aýx²dä —·Òb[}¯ÆˆÓrh:æë"=×ï2‹ï-¯½0ßê庴(‰ë‚šFJ÷¬C*‰n4º’ìù& ¥Ô0ª­3 ñ¤Gp®Aþ&<Àb¹ÉÎö³gv½;7öÈg0(‹û¦^N0ƒqx›… í:‹Ìõ‘¸Ô¤Î¨w]||nSìg¨_צˑ$;[øˆÒ@”ÕÙâ•¥¯ùü»0r>ɦqU’1½>E”,°¶û#€LѾ¦n”õù ?0ÄIôõÅä%lÍ©ñ[©[8µ¯V+Ÿý xNÿJ‘޳Tp³Ô Z\£Å"'å‚Ó‡T˜›íd!û{Fá:êZ:Außá©(ß.ƒ ‹Ã{ºlÇJHS°ß¡.´“C¢Œ×©è~ª[$J.ª…Pƒzu.Z§Ùìuæú6Q“ÎH[(N<µ«ŸTÒ^E³ÖÞMèõöì½-@Á‘·ÆÕ¥q†ÃHð˜Åt\7èkûÜj@l]50?Ì(ܵôÊ%%+Ê©°iÁ–ü](Gˆæ…U øÕõ IDATmlñÐßœ c·6-ìîn²ÕÅøxMÓGk)WÇfšùÑ"*é¶aŒógÖT°óirªòýuºÃÜÔL”fhTC„oD×ö プ¯ÅÖ„j)ß"¤gÒ¦S·{.Âtý^m8HâEº÷åät½+³1½·m3Î(Å™_*bµ¢UµÆØÚ‘²kåˆÌ a5Žï:1ºuêÒ[¯ùC$jIÓ`Þšjж}”_ì:ŽbÍý½dÿÙ^W‡™'ϳÊ,¾.‡“£Ö ²ú&j“ÔTkmú·µÇC øÂ%Eè2ÂYн%“I%tç¥úÅósw€BÑå1?³Ÿú·³!DP‹áì„a·&ß*a¦NoÜ? ýDüÀÇÍ|H8ŠèIþ0¨ Hò•~‹‡×¿øw½?´£*0,JO:(ñ²€¢ÿ…[ztRüúý¾.IêëÂ+ˆY> íH.nãº(õzh2ýKˆÞÊ(Â~$0n»Z/ÁTC;å÷#ÄeG:×/«³‘å¨hhÉøÊÄîAÙð×|rØ~2ÑïÅÁ<£ûwJ·®‡®Ÿ¬0“­L£¥4Œx™aØcýÅ$q±Qzìm¢W)z–#ãa^…õ µÚ™ùŠP õ§`áB¬£Õük.>lEï¡‘*äé/OÎõÓ<‘ Î …™çŽÈ˜F¸+"Ù.ˆ‡Ïøƒðh(ð}.ƒ5Ãda V:õÞšÍ6ÌÏ1†Z¤§ž•ÀÖYÀÁ¦_+-¦RoÀ&·#c±ilõá:ª&sîdâ÷þ‰ º¢‚äšÁçTk"8¥VKÔu’¿&ó±+$F̯\‡úCúQÕèOÚN}Aaô˜ILJCA·v©Üt³$ˆµöá‘ÛlÃéY`¸I498£S’¼§VØìF°ó{(~GçÁP©úëAò±Ü€EÙ /I)Õ=ÜŽÙâÕR{ïû©ï‰P”¼$B½ÑJvâ?ÿ“Ãj±–´1ÚL'©5 èlm¬c'tt¥p_ÝK“Õ‰­ECYÍ\XÉ`e‚A±HžF7ŒS¶$Šn‰Óê)³ÔC2ÂÈÜöÞs;¤JÖŸ ‹ ¡wmÜ4Ì’Òw¿4ª%5‚&9Jš«˜Ô|¼÷õcΡäÔÊyû~÷µ"˜h‹*ï|øõÚ2ay¤&RòD'÷ÿçµ uب+<Ùê'çbÃc±v(׆è(}«&òœòþ}‡i“1³¿NäÍ3óžýŽåiOòŽWþeHEI72yŠéÇÑ+Õ:À BçÁžÒëºl ÖÍ0ì4y\»uƒLþ.ÉË­QœæM¤¥ÖyRû¥×Ó=~I?IÛ˜i[Ìù³–ÖúŽ!žQXå[Ëcî~ZÔ–PdïTI–§XI$äž'“º7øVUÓ©ŒN°ª5‹Ã¼nãŸGpëIršh’bÂÔn ÜñYßu|Ân¨ÊÈ‘ ÅêàÎR¥3o'uòÁâWÂרø“ÑÈü÷¹åüª<ð^¥-WÊчӧÊáÆ«Æ^SW•€gI—\Í R f¦¸Û ™ét8U´„/nÍ ¨„XÍžôíŠ:Dàë±X£âÁO‹Á_ª¢3Õ®HZéÓ’ªlWÀü®ë7áLÒ¡¯Å¨’„Û’h§o9íðMI‚ºµCS~ŽþU2ÊVjSžLÉTAç4z†ºó ‡cÒZÓHŽâÜ¥ì;bî.@N åúRæ âÀNôÚJ n¡‘y÷gî²Yõ(ÃËK:ԡ̓œÒ9™(E+ÛËY»RX ”7ó鹃Ó3oÖŠñ3L þÄy€¡¬Œo0+Í¿¦¢q¿çËVgcƱ۔zï÷´%Àܸ¬ ’,^ ,Lgƒý¡g~ÒEaV1Êjk¬Ðå÷¹~/€˜8’GWÅa‹QP£ÇänÌó¹§„Ëâþ©#§$àCøL¬4ÇÈ´¼¶m] '¾´Óª.ŠÓé©ÜΩ}C\—Àèi]ˆX€bÿu´´ LXú<Ðb¹µ[6Ô3“iÚ Íó…ڛ̤-Ðiò뤰æ–÷Úñlê­Á»ÀÞ3Îe¨›ú‚®iTþL<×)ÅÁ¤¢X~ |;`ãI;`KMF /Ïß'ë.0ó•Vó\›Ä ÞhWÓdµñ“c„œ™r­…²&§„‡G¯Ç~–¶¬ëARadæßùÖG C¡j©à=õÒàhm‡Vë3Ø5Ì,(Äšå¾ï€m­HÙ[៿ÏG´ÕÉ]oÇ0'ÞF´nî@¤Ä˜Ûä“ ûyE»±ád,"ˆé^5ˆ_ïŸ0;Ä"9Ç}㸕o•·Gݶd<±ÆÕ3…À¹O¤kðU)ý“¡#kŽ¢Â˜îÛˆG93]„*,f<­ °¹ q Ta¿%5c e=ª‡3Øpn“Ehí<}Ïû°šÒéœN¥1ÍD£Ô¾’‚˜¾VâfV(d)Iý㟅EB(ô¤fOo‰©ÕyÉæŒégØ’qj*Í­’:Ê/`3¬|ø%:—½;Ú%CZûá…¡ñ{îˆziÿÞiêGJœ¿¾IÆS¡ÊPœÛ¶á'˜%õÀ)#¡ë¡‚~WJ#SŸ7ú¹a+5åYÍã$Yí>½еwmãÌ·a¨[¸©’§Ö‰Ü^iGGMÍņ譛ûD$¥w ëÕûcöøî=µ8Üã'J•<ýш¨P"e4udÙ‹h°gB¨äUø7ö½k¬­nËã*ÞYSU-hNæf•Û8$R‘ƒØÏ6ÏBÐ-˜òúzúÁ&Ó¡%u“´9„Åu‘™zS,äÝéô&'4‰lé Fãd·sÊ·`s`+-Fë½ŽÞ ô’žá5­ú"‹k=Õ}”ëÁÆ×<@Õ /ã‡8ª‚b­Éßòqì×öìeŸ‰ žD{0 ÚWj=’x¥#Í™œ Œø>½ö”ra4©cÃ2‰ÖeåyX `¡`ï°1ƒ&íá46ÂãvwÍWêÖ,º3ysçHpÃ×^ùv/´Ö’$6ØqW{3j=áM[©F±/d˜’ø‰]H;?tR:œjÈ£¾ùg{tJI)âêDtiLubù [‘ˆR€’Œ‚V<”È {†"î?ËÆ=ß G‰”÷W–Xðºóý8=é,mG——µ/°Ys΢›OvÉó—౟\IçˆR‚˜¼!w±÷Y !¥'êsÙ)÷£`ä˜jº|0Y’ƒ` 4£ïö¤Dcê0Q”‘q¶:=HJÒÌÆ¥Ò C\jì­Nµ¨AŒŠ Ç÷…¡Sœ†6nù‰ «\¸G>s‚Ârbá©£1\ÐÑÓXhSÛ‡zdÎçz UYÖà•-zC(7"t’…XÔrñ•Äþ7¹„Uth_ßÅ¿3ƒNù”es‰Ò¾>°w"š©>wCë¦YÓ_àÓúsycHÑs­†5T"MU׬‰Ï;zh®|n¤à(œßü Dg=KÓË'`Úp\'t1éi{ K[¯X k^¬Z”ūθ)›Jèï©& ¡2Š`‚½ž‘(„›­‰ÿ,>B"ör,Ì Ú®"]ÓkÃ\7ÔT‰¯|žt_çɇ ¥2vMuf`ù=CÁ5Jœ`^t”¯žûöÒ QáX.q°$™R_ ?uÎu aÜwöˆæ’lš«Æî~›]ö…5Ø„JHä…ÔîxÝ|‚[“˜à »MGxQ‚”+%òSwkM§i¢¡$Fýz>ëÚ—Qƒ]¿œd. EÞb;?žÍâv ¢G¦Ñ ‘íf‚èO wk ê6”~¤ Ý@‚¬ZvÀ±ëg=…Å(€:ð»iŠFbß 3ÿ‡/ªî’EöÜù]ôkÄ7—A1ýpÔ²X^é‹d!G“²'v¥(RíH}e!üê' Æ§„y‰¾ì¡Ç¤šµWl{³LcÀp”Ç Q)ºz`q"!WÑb{ä×O–fj·ð{ÚŸÆjð‰,?žÐ“?q—•çŶg|dwÃøÚºWB…,tð÷MfÙ‘P¤#L/½Õ¼Š®m¯>AŒÁá$5A½’“•6æøë âõ8ÖpŒ™¦rÌrh³€ÙsæÂI^˜T‚ôã裓B]i’Yö,[£5ÀÅÂ(#H4‚çí’UM°fÂ{óL[†Ý5/«&ëÀ2Ï2¼†ÓĪQª,{k]…b66Í­cz“ï96¤Í©6¸ª31˜‰iL q³žÕÉRÇTVGLàþÀ)_$3wt´iÂÔ —…P _®;IŽPlõRÕ"S@ö'¥òÕW¾ôcTy6þÞãÍ$DZÐ^˜ï^}4\Ƚ ±éÿPû J5OãÕñï![Ä¡C*é”ç€ ˜ôsÓ]ŒÀ«ä$Z˜áÐy³oM®3eãí­LØåÞY )a>hQD@œ PûY|¬9¯8Í…^Þ¼‡Ðãxád«P…ñ¯kÌ%þA>zCqîiÌ ¨ÇË›µ¡'ý}ƒÏNfÅjúrzí4ã‚¶Z·Þì¸~É’‰Ö¯¡™·iãô¬èEÐ ÿŒårˆ6RŽXÁ”OïÏÝÞ·ÞÍ_œPk4þÝm„*ÜÚêÍ̺#LÛGwâ®úkì¢~§‹›ÛÉ:³èÓ˜bJ·~v‘.Ì !²IÔ[`ܺ0Ô&gØÑzô—ê(‘Iô’µáBŸ×1ÄÏ9T0cq<™L#Ó|ªy°ãnN‡^i;!kRÌ­\&BÔJH|¸¥óä ;¤²šNì+šÔì!%Ì<2è=· &# "úP” ¶µUºHþ…{3_¿ñ2Üx;ò9Çü~`læwdu;f2m ؼÙó·Í3áîžâdiÆ»Ë#òj9zRÍðó©–C.ñ?ÿóŸ•zôÉSØK²æw R-z¦÷s+ 4:Žr°§Gò"óæÖÏÚïÝ Ô‰ÍŸ•»5%BÛ “û;"D},\G‹êÃwÕl:ùq p5hŸ‹M)ê‚Çú4œR"ÁæQ› X]–7:¤8^ŠM* ¶ŒŸ-ZOŽýÙRã¤4 M,‡ÇnOF LjÃ(µ¹…Á%qcÞÝç×ë™ô´aßñòRÀsî¿ý÷ÿóÿú_G^9jW¹oòJ`§ÝJµ^—k¹.1Ÿ£ {—º~AAA ¿¯YЦÑ)ôA8Od…a;¡H”Œ{AÑëÎ49¿lHûyït8Hű§) ìxµü_÷Œ<ºú¿—S2jõ8›Vï{ ?^µ©ÿÌ뺰ٽáBB»×Ïd’Xx?/%ëä,ƒºˆeVpè}ÿw #÷"^Ð6Š4|”|ÚvŠž3Ô¡™»«%˜¬ {{¿†0X ñ¬RØ ±ôÉzÙiõˆT»wo_Q¯Ê~¦û¦ïâIÅ,f_œûDš~iÓJFÝê Q_ä‡sRÐM4¦ÜP46ʧ©¼6eEä´¦› ÖOÈé %ê“ÒúÁÁoeÙ­Çn$øžA[”(|– Êâ§acÄßk×îçŽ>Í2RYü‡š¯$æ¹æ ÿÕ×8Ï’^—`åèè#Eö‰*Ú([ö>¤ûQüzÁËqÃj: §…(åµtX=Á]®­B„ž&O‚¥à|ú…‘A¹ÏÓIWü4}%U¡4™reÈtÐ¥…Ÿr<|N)NsŸ)¿záëÉ.IÂÎCy%é3k­CL‰6ï‰Å5Ÿì¡ÕÌpB_O»÷ôÅR@9G)”š¤ÓGïÿŸ²·W$IvD­¸, nÊY!(—²RË£·Üú¼Ï}Ô•™Ê(æ …Z!ü€™GÍóõé.ÉÌŒw7`Àºá^´Íqê.'Þ-6á€ý6Çt…½C8Oܬ¿uç:ï4¸K„ìºN;îÔ8t3ßì¨ï½YÙ׉c؇MPú6ĠÍ5}ë¿ÜbfS; êQ€"ì0ƒQ\~z:”äÏ<‡#ÜúàlPúƒ|—Ñ_æ£ Žâ‡¢ž#&¦QÂü\ÕÉ¡˜…æ85ØÐ×ðœ’M½å¯…9nÞN›áFñ6aýã×ßÿü¦#]"™Çy#Ûy GhTK þÞdQ.ÔÇá6y¾F)ýáïÎñÕp@‰ÍʤhN§åýý¹Ô1ó±1ñ»Œiø½Ö¨—×QXÇÞNõ}}WÓzNSÞy…­ ýU£ÒlIçæ‰ÚŒúƒuß êMädŸÁBÊÕ£ÌkÖî^Ò½áî‘,6/ŸÉ»bYw­Ù½QÍûÜ »Vß-ÂX ½8ã“R?bðTçÆXœ~e·ú&C½ç§‡Ý dñ~&-P9iÜšH2”ø—f¿\´üY×bÂÍ`¾–ÏE’oœc³=†Í4õa=LëÌÁ˜º±…^g¹æ®'8Þ£bASÚyá:Š¡TÝ¥Ð~ÐÂê>Ãô{‚7°»|¼Üë0]›Ð׺ݥÕúìa)RylpþPª¿±Î¦³æ ¬ÓÎp¤5· ÓÆK0nB©»PªI}{Çî,“¾œâg§ÁEeýdö-ÆÕ§a…‘–Þ‰Ÿ„9—9ØŽíq-ŠÞ ~Ÿ”‡Û¡­òtõÁ­Ö° sî…ÚÜG<}‹Íùµ¬ 8Ú1¾ú]âÞpÕ¹™=yàÎÒ®ñæ0jRϺÍõ#ÓdÒ—m{°o}¾º¶‰þ¾µXÌxÚA†Ìc¿-š"p@X:~?׬ñz™÷X‹J?”¸4ŒQŸÐj Á¨ççnæ˜ÿëï²\¦e2ߥ©Z‹ö²l•Úi'ZeHZ§‘ËÔµÈ[¦GSÌsÿ.‰°*œÜFrm=ôŽCdˆè/Yy2dvMÙNßæcN;º•ÏêKj¿?Ç‹¶Ì äÓùÅÅ¥¾[,˜ÝÍ– ©YŒª!öp?gcõ »è™Ûø¦:÷©.’÷†=H׳váÛËŸPõC){„mÇ‹·ÏëžD}FhÉR@}V}ßZ¥0bõ:nöˆz96ñfÄßxû\!A»ô"ØGʆ»´rAÜèô€k=™X†`-lи <›ƒèTr®¯“6igÁ\ÛN@=–g\ŸÇTt¾ëÚe¨o4mì/s¿xsHÀ ô/=–1žË³´~w±9G½g!¾­_€ÇøðnÏÂâÝ ”MóXÞwsýýZã.%™Tºù*™ýŒx '²a¯üÙL£ ³d¢ 4kÓ¸ÞüÌeT¥Þ$|WÐV9â Z«¬õqJ:%V¬Màç6†Øà÷c¯âXv¬ aþ¹SéÍJîÎð F"hl—aMîpR®ü–‰‡ (߯©ãÐoàâˆé-¶Ä6 ˜ö?ô‹•Ê|ï4µåç>ÀµPKØ}lVy²Æ={膠"OHTþ»ÍU Oñßÿ¯[D“¢~ÜüÚüC|º ‘? nØSݸúçÎ~Œ MZñÙ–1†˜7ì]K¨VDF6&ÿÖ‰Q¨Pá?CN‰è­D§Ö{[§c£²äÿ×­þE‰éM¾öûÀïÑ8p…‰ ¹?#a§.zD¿­“ã’£åùÜ©×1özYö‹j\7‚†<ݬÊÔz­ljûª}a¶°˜S7HÛíÔ²å|º,©o}˜­“ðÊpãÜù'ßÓdq¢ŽÓ±€1÷óÚ˜+hú÷6ýzK}ôî­[‚n½å¾ÌÁ+ÚØ­gox ßÕöµI dóûàî§L€c<>‡Œ>TW])\Ñê[¸49¼õ¾'?þ„YQÞA¦«}H-Í1ÏEó÷ÀYnG¶n7Ä£ù¢Ô°W§ þ\é|Ë‚H+yíܹYq’ßËBzñ!§gÅ5T%[{PwœôYVHMfƒÜÜ.3{õ/:Û¥±äô>çbƒ‡» {ßáó÷Í\CÀ E+d6Ý|ÐþûH<ýœî¥=WFïÌ×ö#Ãt»¨•Û+Åþ|è{D;„"@Âî ºÊ‘+|ΦçöÕ¬/ø„tƒÐ’\gðCÀçØª×Ž]¦ªš£1ÑÍS‹Â¬j˜u?r ,>œÆ@\¹Œ]VNí5Çç™ nÝ? {ömTŒµN‘ršHá`äïYt^ã*'µÊð RóD6+©¸Š®á»öVo›­h|ì®|„xnr7z‘£zã‘ i°áåY.ÒȾ[Ͱh¯ú¨˜4@»T†6#¸˜ ’Pu‚ ÷8@0H±RXe!w|ÐþÜc)z*‹Œ>å*j¸µ+¢#×ãr-çuòŒiD=˜ÞÆ`H:3‹½àJﶪ D«–fœ;OofïqhÞØ.n7±“ƒ¸/|[Ì‹{;,ššÝR„¾ë7¯àGpYqÔ}RÖUºdl×ârt„cã¾à\ˆiXb;û¢tKó$³÷a–ñã×?ÿþ˜ˆÐÂFÝG¬Ž3é‡;á\$=R-¬¤Tï`2ß[I†`žß‡_Ÿ·»_êc=‡ùxcükò Óy‡ù““B¿^2åZ[ÒÂpÊz/Û'˜»­o–©¡á†@¨yÏ% ¥æA¦ Aàs¾Þ~¡²µ¨ª™¹—„ïUc×÷bsä¶W53œtÔãœ5ÖôP»çè?,?')§x«ôj‡‚ÛÔì]v8¢gYtáûùù EÖ°Ø+¬ ECiþ?G<æŽ5¼g•‹NÉÑ• [† žÑáX¦Û§“zËY ™·á*-ª> IDATJ’8[fï‹çh•IýDäžËÏCÔ´A6CoQ*í´ÓÜÈí†á“ÔÄÄ‚JÖ®+Ù$ã fS'Š!?ë"ÑSÊU˜V”*!¨"•sT[R„ }’ÛðrÃqc—I=FßàÐ äÅž¹›vµÏ;òõâ‰Ë†zK’E¤FÊOÒ\퓦˜XÄ’·¬GXhŽ\Ë»M  Nß²”Ç×ÏF> Ô¿gfî Ò©G™ÒìŽâöã¯Áñǵ\ÜæÈe‚¶°+/›,²Ý U*”pð;4몚M÷Töäúê *AoÎséÕkëb´H¥ZX–Ф߹d)Y5¿ÿÜi‘ÔŽL…>‰æVªRÏé½°‚ho-OŸj¸&QËñ—"¡òÕŒ”GÜ»SÃѺ‰Ë‰Š ä­4 IFÁÍMO …ÆŠìÙáðfS¡4ÒÆÉJpû8±VÉHìR¶´bLDjZE°ÁÝzÄÈ"¿å /âé÷uDeÂ.;ÔÙ'©ÉŠk–|­êÉW™5×™’Æ<•·ON»j“AÏ‚¥òš'ôÐ-„G<ô^Ä#ùž Ô5:Ž À?ǾØIÆ‚иÜÞ:Pøtµ:4W¡76Tê{NmL ÞjŒ7ßÿ¸‚u£¬^^”„X‡;É à\@Ì¿ÉÂs¸Í²®êU2mÀ½M´†œŠü‘>”I·CžL þ©1ü"Ê=Õ‰ž,NÈê ÅÉá™"²g2ÓàvDÜÙÖP#?Ró oŸ ô[¥]óì91O˜ùy_Á¨)>Y-o$?~ýýÏoærYáà×T‹=ËŠ:óD Ë„’­\÷"«o#1¸žkQ¨%ð´žêWds½æÕåø^èGHÁâ"Ói˜µ>ÔShâ)l–P”˜ñevyä¹u% -ÐÊéƒkä·w†¶P)ì%vÙçk‘®>Ý ±¨¼…ц)öɆ=A1϶¯å´Ÿm¾†¦B®ŠouÁ‘ïì?ýã¯þý%ãî0–=Äb;g­%-ë™Íi¨ü@~_®ñÁÿ¥D‡ Y–S«kuÊ"Î&(€ßëµ=亶!_{Ea:O'§E‚9ÕééIÒŸõ)¨[’<2še鮲–Ågì‡]ï…ªuÃóF»©– Íû4‹ÖOè†×ØÐb¾Ùlâ,&±}꽡Þâǯýó£—i~›Q$_t‡GÂ?øS QèoÒðSÁP*‚Ƶñ¼¤R*&;R)‹·7w”kLj÷¯òÜ»ø§Å®_˜µ1Æàñªc¢Ž´z ]I¿Šè8d:Žo:´Œ¦T‹#¡!$ %™8ïF-eÂû©H$œqà ³~& ;žnÐÈÇyl¼8œœGÇö¼®Q/‘'6dx@}a7 =E$·ºŽi œÕQ,ðÀëGNïUÂLÐß1OR¯7–yïÞ-Dr>C’mÛAZÜçœL«kÒÉ®Ô©ä Œ6(v²âœXÑËiÇì`… ,,—YZïp!ÝpÐ$‰§.BtjQbpm«J¼a ­RK»ª€]áuÔr´ÑUðÔüÌʉ?“ ©9k¬ˆ ”ˆ8nLþáâÀþkŒC,UBÓ6·3hѶ³Ð ü½ ìò1Ô¼ðc5éÿüûw"èŠEƒŽR¼? §/ V ›øƒ§I%yÖÝ,,ÄšÉù§r}ÛCQ¨µ-‡ZޱXˆz^²ÑRò5­ùk(ÔÈkøð9“Õ&.¾E‰²{{O¢34ÎF#¾¸¥YwiK×èÚD±s8ÛK¤úl[W¶hDæC€Œè× K^í¿¹¦’ì] Ûrƒèñ¨!’ c›A»È {ݼ“4` yu×ÒEŇâš)©§÷:Ä-â úa/&À„+¡¡¦S¨V(X?Ø÷¸š§˜½h5 ’ kPåñÚœV¨Ž äŒ Üli<­Pd0ìâ€5nò•6˜yÝ&sŽ{ì £Hü,¨LdÙol÷ +Œ¤f=“/¯?1¤ÅUÆø°Ù5§º5 [˜=«¹ÙLM»–wÌ‘Zî’'ÞK÷«Â‰ÏËø^ŠZ˜ð"Zñã#Úƒç§ÝI !´‚Å'÷ŠÆš?åiÀƒûÇ?fSº< z \aú"TÊIýdIJۉ#ƒ¬‚ÄG± òòÅQ…±aa9ýìï¤ 'ßÜbVÛqÊÉ4®©à÷ÀdWŽØ ‹î¬¹8Óq”7´ˆ ©Fg/´%@ôÌ,ûr8ÄÒ S—6¼LK×st™9įuó…YŠ€ø«x"Â]4EW‡¢vfäNÇÎ'¢·´H0º ™[wå8f9ŠÊ< ZbOñM§bu;ª!ÿÙà@çSëžìdûÖ; ñs WF–¦¬ !OÖKÑmh±Š ôéED#ô&\ŽÁ”XlÁBj¤œÉö;oQÁ«‡|9—«>wò%(Œ€Xoè=”ØëÐßI·/6£ ÇŽ<óbuF;8¹ÒÆ…·±O®I]À›KbìEÔ°#ªS!ÐQ’{%ÒJaž)2±èTzIð3Fˆ¯E$'M×üT,?ôfÞ²­+—Î÷5}¯<‰ÜPCE©å©I%ý îjÉ8M`&¸H"!H¹Iæœ9®ˆvT%‘áz »Ù5Yöñý³Q[§Ã¬Q{ Ѫ]a̼kººjØr$äæÜrO9=/ÛÄ4ihÂ5(N³Ý}[ˆÚˆåŽWm;ÜßÈýÉÂx¤Áb•;zŽÍŸ4$UÇSyÉšŸP­`–Ë…Ü{†ú/˨ÀûÞtìýÌÐÒ¬¹XÛúañ¤KØ™¿¸P/Óv^:×ï VÿêqÏÂĹûtÔw*ö6³Ôò¢vA®Ð6HO^e|Ý‹q‚V”­SŠQäî‰ò‡S[¥>éš=mŽ¢æö»»×Uƒ'T2Š™!|6\Gö&•ÓP–ïç(ëãr%áô,ü¢ßXwTíNóÑ{ 6>9PlÁµZ%}rÅŒ5) äCQh£1Y¹vãnI¶š°ˆ-–‹°xU:wh†Á<Â0$×mlt_#§¤­¥×z…yÄîû¤ops ôÌÒ—òö»3¡×³w@EF7ûzEùzu¼A‰VŸb–ÃåNýB5Kb€(ùåwÔöHMЧ3âŒúo:òîgŽ|`GÅÅÞ ï%=ºþëšÙÒÙ¥„DVèªd‹Ï“ NyrxTÏø&âà˜]né3s|5¾NC4Ö}©u7ÈÖÚ<Ž‚Éx ˜ÊÐixÊ/x zG8ts©§‹‚Å•åê\Þf±Ðwö8G‚Oa yv73·OãyØ |FMÞâ€&Ùš}§˜å¡;ݽîJÃ[üäÁ9ÞÓØ£×(¶½'·¶5*ÖÃúëk/žÎÍÍ=X-1Ú Üíwã <ôµZfà‘‹7âëþ×ìG@YJ¶C!u¾ÑO:î‹A.5V[JaoÒŸI×ÚÝÚ寯½1¸øòŽík]Ö“×AÏæ>wWWPÁëÔÆ.…ôm@uxÄø¬ ÖÅ$±d'º»÷ê„{AÓÞpD @‚ß—7¨r¦Ñri¾ïý´‘r“çÌA‘°öÇTïÑ#îëôž´1 ¦ 0é'p¤²5(–LMœ 'BÎnagÍHÊL`BGSÔ ¥Š·cç¬ùêê²Ó’>{91¤DA.¤/+¿—…76Yh–²cR ‰ ʰ+ÌÐÏ9¸ îÀ#ÜÐ*ud C þìjáÕzÑcßíòk÷…kÚtЗ,ìgJ Aa×îãIÄ4¯ï{@}ãw-r¤è2#¡0®3*/J[GÕJ Ì ”)Ht\5ž#ˆ.¥É3Ë}÷v}Þ»¸ýÁæÌP³s?AR‹i¤÷nyxܺŸVhs×þõ ËÎ)AøqýÝå†Ì«,ÁÙjhñM9Ö(4Æ(¿Ü"öõôJ9w÷;_p_;œ?ÇÌHØßpíÍÆb˜} œæ°pø´rB õyœòõ0è-üN 5~áÍ^žFQ2RA : êâ°Ë¹Ìd0¡Š$µ®áʲ3ºå)²^±¬ÙeÏZ%â‹[ 4’¯Ö[Û«gÝVüÒ©°t §÷}sgÝÍb”¬”I?LË®kd†?¢¤£”¹@úíÕªïé=ãMÈ0)ø™¾J—ÔWïïnç01JØk$À;Ãνêëõ‚Í ™›ézç¨tìrQÓ»¢4?ªœ†ÂÞ·ŒksiKwçÈ+:}‚]lçiksM„Rç¸déŠr„YìM4Îký6ÏG(qXWƒòص–.¶† =žCÃHÐÚX ⮋Ü!›ú±@ÐÀ&Ðtz(@Ð1Ú™Í'Ø…rœŠÀlš˜Ûƒñ˜AÕãߟv pãkI}¬D¡Ç£x<}­ÇQ(«rþ7úlM0øbv"T#Z0ñÿÑ£PîË#Ûœ^?tROËqegCN­I@õ¬sâ#vãéùí¼›Šð›lò{7íÒ[…‘#a™å±®s[ˆÒò¸Š05ähˆÙ¼€7Ÿ9í·¾ÖŸ«ŠÎ‹0,4K¨î›÷ð½ôhr¤t±‘™¡~‚ "ŽÝæ”0fvÊ¢7{ŸèƒwT8Väà@K^ 'K±»±³pt!…áæŸ[¼‚åI;e«¹ C†ów5•sˆwRš½M­jØ»)"?dËhpRO•‚Œ­“Ó·#¾.F¢kØ<$6=ÞnßäeS»i¨·=Á¸ß»KD%<3'.ƒ`IBדä‰!쌀,Iî#.kå(”²­}ZoA(*=¢£Ìƒ ùñëïÿÞåK¤ÑJ²×ˆROI$uz‘ù‡u2i½‚›ñjn¨Ìä÷«‰bäZJ3ÙC42 Û¶xƒ<·Å¾‹Ë~VTf5KbÌ@éµ!Þ6‘mß"Îd†0£ ÂXz“–(»aà%ØhÃ>Q*¿n`ø«ÜÉfàˆ …í<Ð.€Š—CC ZpÅFfê£+$4ïß/]Ë`–nüž6G#à÷ Ó~è p1ý%­Õå+(§ŠOxMcd`Œ M³F¼ _ÄI?¨CØa¼yLªc¼ò`Ü„ÚWZø ]ëÎ7¯Ã5~A¹ÎðödšY¨¹Oîè!=GÍÆ“º@¦ {’6gñC6l´ó½˜ÂÂD"¸‡Éû^ís\ϺÕK‘ºh<¡? 4Þ¤éYßHæû¾˜…M%\b/nózõ–͉7Ÿ©ñsòžâ:ŸdnšªjIIì’7)Ïsé)LE\<–ë]Ç$#•NS,B¨ñÙ{æ 3/"u7RŸMõu+fêO˜˜ÀúÚëH² cÏFz?á”ÒJQ*i–”gdo‘óÈlÈ%FÏŠR+•@\Î:‚M¡¬;üfŸ…–j&¼·a>lný:ÂѼ:Mšç¸+5V»Á–rÛÁ"t÷_bYªÊͦ´²Õ4Vón^Õ±RŒ Ò&S]<›kÆ¢œªÛ_wM]#XÝK¹ÉS2ëë~6uœ´ãi‰z9u@aþ+hŒå&öç©ÉˆÃ)ºÅ³Uþø`&ºms/pà]vÅH¹õm ©ŒìR=ÍÓ%¡$lµ«cžÛ{Ѹ : ñÒ‹î¥Ml{úPÇ@Õ,¹¹µë³ÄZÖpUštÐÝÆ} ü%ÇI©hpå]ÆhÑF<à .Ë‚ÄB˜é—¯ÈÔK<`o›ô=Ë=­û÷Õ³¥÷s]›Ë†3þþg»×¦.è(!§Â—4ýݾÙ›ý€:ªfqÆ"Å%Ü®ÛÒö…r¬÷?\÷†Ê¥TØéT¨¥Þ¤ßÙâ“ÅÞ:µ?@»º£dP" ˜Ž yØf³œOÐ ÞÀÓyäI5gmæhªk𽋠¹e]dš]O&•1|ÂΙ-Qª æŽmRfFѳóîO8“t]ÃxÜAÎáMäÞ0sš,â9bËlIcÙ+ÑpZb).y:)d§GܾZdW€pÍiÆÜòÐWŠŸï;^!òšÂuȸ€‡`õÑï½³Üd˜…ãJ&®ž®Ñæøßè£BF#ãpRΞ–>$F>ðý°£ƒù”ôg)¾'%ƾ/}Ïât)K›C®•†÷[ÀQ„ Ðò{e}¯ÖòëÏ—ó„Ô"!R fÄÂfŽå$°æ.ßp|ë06õY°¨±\ô°¯ñ㟚[wåY ŠL w€N©bXs1ú¢Ö¥:?¬45 ”‹_Ó|‘KG‰kVX%ò¼ùDS%@ËÌ6À©µ"èÕ²YŸ å°z­n:J;K¢i¶€p휉Ÿæ4Ðç¢Wôæ«®k[9ÞÃ~üõ÷¿«n)(Ê7x·EGX§|;ŒuÈŠôxв95ùR»–N›8‹]”}øÀšŒ¥&i8ÂÅÍjŒ]¦ââ-„À(4€féatð³œiæf×µâçV©x°=š;pê5¨ºvt¿¡Ìî–…¨óz@^aI *"~XhDMÞÇá{>­MÛa6$_=@4϶ƒBx'Õ‡O¹;¿x âS1s@âל„9pLJó …ö…´^Vàê]/@Å]è ÞÝíÎëH‚µ„`dl¨²pS7Ö¥ ÙÊ>ÂÄ'”ÍÄpCTËÞ×kÜÁÓâ0“ñYÚ+tØ*ºä’TÝ ¦;²i¹A /\”+×âYÛ†3>»²å …]¬ÇæÅ–ä¾gÉLü)sÑ„a·ÔÄ’Y–!/U-iÉ-µ@ë x=·±çÃ+AÛ“óàÙÌ ŠZK›œ˜ ßÊÙ(#„QÎ'ft8Oœ{•즡7ÌÃoq>ðà•« EƒœM‰R‡¾ÎÄ"æxÏ}b˜ÎĘ£ˆ"æ©Ê%Ræ³BƒZ¡ä–ŒŸ „/ð\N >ͽW‰˜¸Ës,èC.2ãÚ¿Ó妾›CFÛ':ôÏž­žf‡si%3Ud.â®òÙ]»àínE&ÑæV”=æ×ÉýH ç%|'wùúžÄ³äŠÖõÛœD¸¥M#Lõ€±6—í[U”Ä-[»úÔjÉCí­²‘=Ÿ´`½Þhׄ`ç 6¹Ý ‚:þ¥R¢©áäÈ$5J‹óW¯N‚!ؘîƒåèhZeP—ß5#“Ý ’«_‚_àe¢å 寵,h•XÜE³Zb"sÝ•ïmQ') ])%Æ ·{;ÌLã8/ù à¹&vs;¥¨„H‡;âb%9E ËAøžP…á}jÑ.?T¼\nmÔWÙX‘û³TYòÑíÁ¸$a ð2_BØð×çÃF‹åÌÄzƒ…Õ¼dg\_{ì²}m “•͹„‹q&85²V•-Òd˜­YÆY|Ý]…§ØüÇkÙ‡¶¦Sý´ÈPsVhõ¨Âë‰Ó„:<×Úö"˜z5\¬X‘ßòJ±°ŒãlO‹í‡mj’¥<íÈ\z8Í``P {⣻4Dfl$°T±yþdùÀæh•ÝS¼d¾CSyÛóò¤…¥)ý-ÎÀKáâ…'Žkùý F½yÛˆLõžsõVwA9Ás$5hÁU· Ü…áî7jªR­y®öi¯þÅ^k\L&./ºûŠ„ŒÒ`° ; ûñ×ßÿüŽ/ áê´ÊQÒ`µ`¬NóÂáïI†îŒ4 ¯Uªos¤€y‰­¹u´ÉŸ¯¡“ÉË×X|*A¨ÜD·Ä~(å#^¤.3Œ1[W¥cbÉ R—Ä„ÚØ¥ê E›Ý#¿:‚ÜC*¿¬xÿîË¢ Ý_À4â J] © D£%`—“O&Lã°é±Ê`oi«B}¼äaD<{;+¤ùQ'vò)#¤›z!¨%·Â–Œëa”Òù¡˜¡/Bx¹±­æŒ ‹jʬiÍŸËÓœG‹—†–*CÇB“anûT:‡ öš""Lw÷q}ú\Á¼9õX…ÖJç4º‘ÙÚtO‡â)±kÚ°Òì4±ížJoÔç3)%\H/–¢·ï’˜Ð÷Öƒ ½é”¡§ ;ad€€¨Ï¡ó8ãìR»½IÏí®ÿë2'þf¿°\4;LöI¥È‹%ÿ‹¤ {˜Å7€e³Í §ö½((Ž’¡×ÆÿM‘ÒkÂò°¨4T!h‘Æ,ÒŽ°um{N·#÷¬>ù3ÓÑÞ8 !G^££aFðâ1ªûa—Û›•Qf¾øR²½ gÌÃàªLè”1ŸˆE¼ÙüЕɎֶ™DˆQ\ûÂbCìòw$6OÆwq¼ °€ç! ­U¯~G$´l¿[-!ÅØ:ŠÜõbÒ->‹©±k-À¾CI§*"ä:Q¥Pí…8tå$F£±ÜY ü_OÏ ¿¸ç1I`=YëxR¼Çxmüõ÷?¿qÇ+ÇUeÖZ¢uÌ £cÅïño„$­ˆM(›bSôÅbYtµ#;0øezÒAê²F‘;CÀªÓb(wÛ_:ÍQCQ ~!öî…ü!n¨—œÅÎÙ§“ë«‘Z Õä8á:Ǹn„E¹{ O›Y–Ë;Ä@”eçS4]ù»!cd©×6mÈÓ¦b¿Z8»lójqFt²ï·’üª,TJËý5âY¡IÄ(‚Wß15X‘J©ÅŒ&åmËêþê¡Â –BAåDkSá šárÚÉܳòJÌ€K8¥WÚ,":õJ¾NE?ñ<ðÉ?›×E/d™œJcšâ\æÅÙI‰ÂN#H½&Ô¦ý w¥—È…&R©CÅŒ½ñæÛx ¹‚^Ìc€$Ñýz ÿ&‡>%RSé‹X* .¥C¿WÀùùtžØ«êþ#¯ÂB9?À¼!s+ ´aàHÅR$4Ï[6ð«ª4/ˆ3WbE åOÒù=÷l–.ûBíá&ë’)#>ªƱ\ï*)Î(}Ê'3ʨ\%µT2ÿ­±œþÝ›1þc˜•@zg»Êe*¬+¯×/¤>XÈ ¯…âb¬<ç›1uÊyœv˜¯°ˆ¯– ¡—üÉ ÈÊ/N䥉¡Ãf~Hl<¸šqo3=|é´órïgCÖÇI˜Ìj`Ï6 5Wž« †Î\™^'©QÌÞÎágC…“‘ ôÅÕ5~vBî³Û¬Š¶ÒæÞ8.‡É*òzHM¢Àá=©”’­–]Írâ”6k-7oQ0ÖeÒë:‘[Ò¹Œ±;¬(9Ó{ï‡ã?•ny¶ ²àœ"ÃZöbr'³?žjž¤œièr-¼ù¹ÆŸ¿»üO+¤6°…fœØ/0M¨Nv͇>URmyÐËÓó0O·xPëãÆMú+n k~ZüMzŠD+P¥ÃÐBÅ­KFKu²ÑÃï'¬=À‘Õdõi>ÄÉ¥dÝR›QUõ œg‰G·ÂÌÉE7EZè(…½–Ÿ7îQã ó{òêz¯ÛThk›1ÊZjœn”D´ â!2¦ohšQ#œp³£(UÔÿw¾€oI*—5Õî±[PùSé˪‡ Æ‚%K}Ý£,ªEÊÌz¤È‰ûÏA®$oo‘âñC»®¶zÃËÚ·=‘ëZ:Ç1%&m‘Ë^ç½D‰Ÿæ ‹\giz±;M¶nâŸÁ^VM*òbñ;ätØ„ô ®¢/ÕÐü‘‚àn€6;«çö<³|†‘až÷ꤻ‰ÅzjÊM±Ù'ÖãG €?›[Ø«±:QOû7sëýý×µ5gmHæs´uäR+dG¥A.ÐÐ!mÄWWLw¶ÒWNÆå¹!Ï'x7õ%XZº,„žkL`æžt»XáW²°½ä‚„íø=oÙÚf¦’Ös-íxr@¢’Ñ󔦛~I[Ël:C]Ûú IDATÅ  BíUÛR·*¯ÄË‹–ˆ-‚ÙËCº¨Á" ÿì,Vœ`@‡›Öñ~t–sÀ. G³à¦¹G.¢ q+4¯?@6qâ’2ë¯Å ¸I:½–‰ÙvêmÕ Ÿ¸±g=¢Y/¢ÐÛ§èpœv¿L´yªçãÂðᎨwãJžf‚)›.Âf‚{¤.å iQ €‘âxÎ@+DÛEć¹ðÎØ¼¯$X£’`‘]’¸d9X6¿o¥hÂ\A˜ÊþF” ºwÊÚí0SÁ{Z4¯¡`TW`r±ò-–Íd)j¢ïMÕ€~‰±^Ùáõdgu6¸ ݈ùñkò í®A §x9•šÙ=®,# S©¿}aïÅÃ/¸8çfø‚¤‹1.ÃRæøAk|‚E;è­lçJTäZ*©$˜& ­6uoàãåfÖº­0ÊYê´q:Æ´“\d@€æÌ‹†XüPŽ¢Ôa×V ©DjU)­é] µ[×ê«T,T?º¸[Ñç…Ð*7zÇÅfÇä¶L~I`ÁDzs6*˜ˆƒûqWJ< ežóØæòßš½eç3°þ4“tó’Jï¿G"D¯gXê¨^w¾wêyÚ’Ÿùaåè³ϼ&=¢¾?ÍÓð™’½G”¸(+) 7¯lù4a’R6™&Ð$ËP˜Q·Ï!F„¬ùÑø«[?z4W]¥Óæ @È]bÕÎ#$ç„âöŒuhcÓ¸PiH‚>¥l‹‚«È.p¹µô{akžµñlì€'d4x~_4KÎï[?¦Â9Jïm.hÒås‘à‚*ÀVŒ)|ö‰¦ÈMe/D©LE”‚òcÂÉEz@I>2L:’5‡.Kªc Àá'c®ßÝn¯`JÕªàPAËNMé?8|ÆÝ¸‰ ³Î˜ãp`-\J¬‚M›äIª„¨Š4 ýÔ‚‹IRüàr²I‚½Ú >=çÒwÜß®\4 × ûV~€¾«(­æuy7Ôµ´]>Ù\MENõºÃ\™`ÙmÓ–ße3B\ʽ”ƒäƒÙjK}äOÆ” ]TÄ4°Ž2’ˆ¬1DzC/¿ŠeÄî]à¶rõ–sF3³ëÓ̾(‰ªÊÉ‹Š,[j|PÓŠƒ>xb{j€xq Ž-ïcãbËhgþÌ¥ÌZÆ~îbò¤Î^IlNç_\;©M›E¯l‹"™ÝÅÁUÆÍKëM*›t»Ð4<•×I'ª‰†† ð0œògÔQ-lEOÀʆʵpÇgKÎÔJ†Î’’7 œ§š6³‹Ëíañú¢UîÌN²}Sš×`E 'ŽŽõ¹‘§n×}ÿd2«îßò<5—eˆaØì©«ÆÏ‹L„›ñ5å/·¤¢r<Ù†h+¶A tOéh_†Í†­8³w†oÝä̘>°‚ðƒ:YòõL-oF6 88Šyx2¦sè>¸­kô¾ k¸7(ÆòÑ-çD¼ö½×ÿ½ô1²]¿ëœ€d©Ö>CG>Ùù4ë_´áº\] ¹9¦É:¦ðV¯)ÒönY‹>v¤°¹†@ƒ¢¼ %Aÿpü´f£S!¯›…×uüœ¥’­48ÒúÑ®¼wP6ñôBt®•³Ø `³ë"šEspWP#DavûŒÊâÕC´€ÎyO¥ˆ `b#¤¬%~éÝôÍé¸k—ZN½bC°í…ÀXðCïF¢µ„ek©%ÈArmˆ(*ÖÖÇÁ*!‚››~¹ˆó,AÐH:µqncüñ%õôT&ƒ2V4,GºžÜÒWu{4PSä—æÙ˜¼5³ 1;KHBÌù„Ùp6ó.…¾lª‰'ðQ¸Ú$ËŸÇ£9ˆš[§yH篼EÄŸ†#íº>ilïnj˼qr>-𸞢³›ÑGüáã6Ñèòai'^Cfí„Â–Ž B_,O,}Ü;¿  »ÓŠÚƒ§ZìS+5ï¨à—ðËdLЪÎ~U~Œ¤®Æ¡ìÙôOžØ…d"] 'Éï?¦u[Š6•%½(HÖ¢¢X\4ôy;eîpUÀÍ_Ã8®Ì$4Ù _]ãæln:$ĨcÜ"l› úv¤¤›Ì’¼¤B!`¥Á҆ȫænTO‹UúÙÙÃù³ÓðŽœrR§WþÁ|-Ya]3ž×ù{ã™sÙœx âLBäEQÜÏ™ä@dFáùK90H÷JcRVql¨Hæ br#ĵ2Û"¹ƒkˆ&¥55!»Œ®œ0Òð¡?SfyN’‡ÃÝ*æ'ö!!š ‚‚¶Gu+xÔxy*ì}›E¬¦É¡¾Ì1dz”«Ý…g½oEü½Îx˜Dl)Ð,)WéZ4ß^±!]ïß5¿-(+}G‚i,ò)|‚3ø–L¢tdñíÍ%*̃7üÇÑ¢¨Ä;öb³9ÈAö)ž¡kŸqÕòÞÝ[Ú‰¶t’2Í/¶zÂr\â—š" 6êmŒÀ¾{yÄ{€.–º’v›Î’tt$ñªâì³ïÙ~oAp!²”€Ð(wK“úÌã;OHç¹åòQLÎQÆ—K(ŸnìŽaÁ„Ô.Ëú2Œ› ÏåíÅÇ' ¢?8åéE¯‡aÇq‡“ÄÙ˜ÊCiÛð}æ®;~?^ÒzÅÝI¸BWx&‹\¾_óˆÐd“ƒ!‹ÍºÙ»ãpOWLpøèµ5é¸XŸ ‚½üº©ì¼FµXLlÒ¨WÅ |m'”ö3‡‰6¢¯}nÄœÚý4|+0ö,‡¢o¨}\Mòmš°ìF­r„B3à“z!qhÏ9„8gÒ}—›³œ ˜æÞ¢”^% ܃ÁCÖàFòþC¯/T4P¨RtîY¶ïQ^§ê¥©p„Cá AÄÛøuñWpÓÇÿ¯Åx=$B¢³¤)üì éOÂæ&|À(ñpŒÅ$?…8H3½˜‚ù  ºå{”nP—êËÓ\rgR¦0/,…N¦w @8²ÕË>ÂæV©‰¤p…¡Áýp–À ¥W>Çø¼@Ëöµ˜a>à,ÇalÛÕH+® V<ë7•C€K.|öwÜåwªèx6uA¼ŒQ™ ‘q;˜GA´5Ö^íSÿ”tí5IgÏ’ Òâ„å¬sQÆÔöTQ•dÛå¸6ðqŠ.}¤‚Œ'ìþd  ®KùˆV'u[Ëò.Ú¨{F¶›OQ(óÖõõ<7o¥—~V”gYQ• k3LR¡FÛ$ö[``_¥'nRY77Ú7tAŒYFµê‚´+ª̸es€¢Ô ègC›eÏ¥Xen}ÂÆ×ß}WÉ<‡ö^°ø£8•ºüöõluv/Y+¤ï±ZÀšhd> ³Ì'ÇŒÃ(`óòÄ”cçëðVŸqölhÞÖ÷yÃ_.vo~ÐRÕõ¿ƒqBjÖ›‘èu‰Û>Pc NÒ`OçfÓ¼|NÖý¶ U©û.'ßcÊ@›Û' ¿$š8ï˜^ü}¤S#”oX^·¼žX`F§Ð:Æz }SO7l=ÌÁÈV•Å:¿¶O+µìÀCñ %`+vÄnÑ[AÁÅÄë"È ß6Q4”Ai׿rxxz†Ýë\÷ûêE?WDÍ¥ãî¬}ЬÝUžÁܱ+yfvY6P†Ë0ßËnxlœ}º­. ðû:—‚þ€÷P^Èåòy#åMa©¯AÂzÑú0NÂÒœ=ÞÇò™Iã/ø¹Y÷Ð ½Ø{=»M®È†Æ'y)§žÙÛ!ŒÏ“BؘxÖf îå2àkÖ{‰¼îÅ¡šåiþ=Ä4Îá;#£µ¾›\xÀöýëŒ]„<?ofAÉŸí@½6é!³(j±â¶gb#ñDÊçÒ âJfÈŽ24˜†@ËwJ*ô3`l&ÎŠŽø8~Ÿ°ã¬?ÿáªg¢çŸ‹àSO|¶ŽÉ L– Ìš¿Ú§öÛ>×[Sß aÏ(âò@å·âôh€®˜S„rzíT¥çgLíG=@§òÅ%®Õ7´‚°Î`Á´z¹„9÷V£÷Ë­£éÚ¼HÍj?]Íwh`»l.öçàÕêÑ÷«Átov®à°Þ·FJ§‡ˆø=°«–å ¨ÕÊ×cýÎ^|íðpÌ$…J¦ ¥ô»;솽.t ߌ,÷æÎÞ yí*agždî@ó¸glò°+‰FAä‰l–²öF㿯oƒŠU´ vÀÆeaY]߇nÖ¥¿©VˆªsÍ|y}ç@[msÞÁÃÌ/[é°Wsë/@9L’«VYrŠ€Ú—rZ‚ãÛ2[Äøyሂ´x*Sq;L&4ÑKYÒ­?ÜÛõ_ÿúû·û. ÖÑ? Æ(KV ® D¥æVÒl0Ã’,:5QM‚E«÷:"vL¯pµ8ôCõfŸ;õÚT½xCK¦Æ»cy' gw¤–¬è, tÈ §0›WP$ƒã×1V9ͶCîø„¤ÁzVMð0W¦št¹g5DÙÄ~j–V!<@ÅE ¶¤(Iòu˜n#,ï†7ÚÌ;ÍO ( ¨A‚IÂT­ÓÉÒN–ðkŽÂ)q*Ä<©–UeÀIUSa{>¡nø”Àƒ¡›jd᛬{E"hãWÝDÀÕÕ ©/r. +$P¹!³“þä_<ÞÛÛT²zêoÌPÇÜ üçaw7Éùð?®„•ÞÁÕýÀn™Øœ¬ëËjR¡TÚM‹EA;·s)¹Èá4>#Â:4 ÄÒÎ:¨ŠL#©wK‰»¡$¡o!äù_U4ÇŽ’1 •\ô»±eSß“†èvÈÎõÃ^lroz~>Ò,•¦žZw·<€†nøñ„FïŨùžì ö==°Ãzš#ÞXˆŽ4ÄóFãBÂcµçuBÌI’2‘¨–™ct@¡Ìò‰®ô0».vü^s/âP­ƒLÖ4P«Ñ+ë’ÌÿàfùHÓa¯Ý.'‰|mnQ˜÷iÙQûU±×ج ¢ŸI6²‚54:PãòÌY¤2Ö,¹±#dmÍ›dU„œ¦× -«d“"7üƒñã¯Í¤‘\¸\æŽ%ÔåCZ²Ô¦ð%}„W§12à"q£Ú{¡7«¬€ò 7o°à¯kMõ•…3õC–RVqÑokš¾ð´››Íx°?}›Åm TÛJ»„vaÚ»àóÉ0<жm+Ÿ#Ä Úòd¡>h­€"qbnîUMFý”K<’¡ôó¼z’ó‡Ñ(AŽNyÕøC‡ëú6ò? 7{ã<8n¸ç" o»nGÔ¦ád4HÑU’Ž$7çâ¶¢p0„׬…!ä(ÍY¿2rT ̇nèËðÃ…ÔïÓxï“c2_S֩ݲߒh7Jâp.$”»ã×`½¯Ø´ˆ"¾!Dßåy>^ËJÚ”¬ˆ÷2 G³My ’géǯ¿ÿþÈ—ÇÝG :‘ZËäùçzG¦ÝG·íæIbIËýPúðªhø6Ä$//†8"ûúÕÔôÃîa9ÕJ¾—ÞCóT~Nó·?*µèÏ\Oýôb=ŽŸÏª ©œ™‡Í&ªôô¬w)¶2P€DCü(²cïìP9¸?µ¨æ¥·ÙUv³#áÿ%´kƒ^)‚[í¯€Ä·_/„‰-°bl5ðàpÒP—%¤&˺=ÑqHâÂRø§aT¡¾XØòIY0øø¦{7ÄYtJô´Štœ‚6Ï%™CŠØ\ ‘r‚‡3ž™’Æzt:-­p+M+|Z#Ìã¥ßæé;UlìÒDm~/cÝzâ:¨^4S³W†¾°—˃c»Ÿ sD×’ä³K¡®o»Ì ©ÞÚÞªÛŸEBEé:^ææ•C/&§»eëV4̶7²S`Óæå\ Ž”ãi €6št%V®æТ¹ãî܈–¼8b81‹ F æÈv42A^¤ÛÆùö¸ßWó±@û~``¢Îú0Aè”OéEΆeaÜ'‹J¯˜\wвTn'yÞ–ÑÃXX¥$¸ÇÚ³µÁZ¸Œø´S^Å^“AHi„»Xíq¿|N”îÚ(¼ƒptbr¡¹SÀyö7öÂuaÂÊщ‡ÏÊ9ñwúà³âföV=|ZÂÜŠÒ)/Ïð^b*‰Àwý:%ç™?¦=í2³D©tÿèÎA§›Ù$õg8¼eÿ&üþÔ»¤ e>Ï•éA70Ûÿì;=Kªéç5SbzLÏ¥~,ö„x?t¡nžÁýUñž‘ùç !µR?5p¹tk)×x¾Àž1jüÌýà ÛRËÂÔ?¨w¹ydu¥¬©|LOlw:ö‹Ž?¡²•5dS‡N{&$DþaÀ°JaÖæF0s,^Û‰ú¤<ýæMS•*}ªó‘¡k}ÀŸŸIÇ„v9µ/2yÃønòú²1'šº=aˆ±t\*&_®¹¡t)¨æ×¢>4ÓÙ'Z7,’ž ¿ˆs÷14h^Ù¢ðÑeçFÕâ™/Y¹ÚÓmÝ“DÈÅJ?_<èŸBYñ”“Œc,ºäݼí…<7ÚÈ¿éŽjÀøOBÈy|ªï×G&gĨ‘t;WÑØ_Ù³Jb-„jF©'¿–´9Û‚y Î`ýRÈ T Èëo¼Ö_¥vpè Ø„* QĺPÿ¿›M¶ó™p]ìºÒú3í¹{A¨¥û†¬møÔ6³,ŒÐJ«Oƒ¦ ­{–ÄÖÇÍY›D<¿´g‹|ãͤmwôds¼vA)ÓòÆWçÊD:›…ô Ý8³š0ðâ°aЫq¥C­žÓ“ ŸN1†¾gé£ÇôÅÊx=ŠP­ì‡e?K¡h.!Ã8a»Æ¯êwLAnf4j×ÅΘï×Y-ê'üì´ ÉÆ¶kõ-“ðÃuØj^ã¾ûòBÞµ·™Ù×ëYµÜ¿J²ޱX¥UHoRôAÚ.ž97B}¾]¼¸þÜsÖáš=(@¶ µS™e‡ÅìÇ@c–0¢nw›×ï”ç8þK¡X„ÏðÔˆ×TܤhœÖjŽc¬gI!xñå˜N´ülÀ`(Jõ¶Ú'žD­m„gþ¾OEæj»¦nX¨¸ƒsI/dÜ}Þ:ŽáýŠÎ‹ Ë|"Gî·++„ žóTj‡rz†hÉ™î¹ü;‚/¥™CO*š½f(º»^XIiÕ»¦•Z¨ëì î¦Ø¹FqŽ‚âE_P¯Y¼¾Ì›[»Ü^Q4úò†õZ™=Àr‹Ó2p 4ˆëy¨(t·†ÞdoBweŒ;5âý!Á»sc’á±´xé]tá½ù¸ãTkOMÿŒÇX m{–å<æ§ÈásjÓüªùÔqÍüú×?¿³‘™§£Ú‰óðBó”öWÜ""”%ºSíiÂè<.¹*áÃ,³£¼0dúÎà&•Ëþz@ÿäù²ñTXöbñ°½e+²Õ;‰?YÞaôð»£]zÓ~âéÄÕñ/jx8YYïÇr¹4Ȉ‚IóEpÚø¡ªÀ“¬eTÍk€~ƒ„8ÎÐ'Š…ÃòS:>Ë Ô±^…o>©Fc‹ Ÿ‰3AŽ”CpØUÜ`ø%ŸP; ”YÇÀRÚ0‚ò“ Ùf×½T¬Oæ»S"o®ëæ‚Â;æâŸ2‹ØÞæGæ?°³:"f¤kGD-µ³¡ÎâÔ|ÉݧÓf‡Ò³Ù- l¶@µ¢ºJ¢ceÎXikoÊ.œ-ƒˆx^Ås´úÄÝmÄÌO¹œò¶P>±·5æŠÈcHtÊŽÑ(ˆuŠpSéyëz1¡f²ë£ÿîܹKá<àð^ÝMàa˜•>xEçwŽLüº!#‚ŒKIKqLÀí&ï™Ñ0¤BÄtBŒdïZ=ùûWƒ¿ÀØù‰Øóâ:PÑ._›™[DÍUðbhǪ‚.¿13Õ†&äAòµ‘?d=vño¦¨9QàŸ¼‘PgØ_ÿüû·NØTKÌôH’lÖ½ól‚WRÛÈæåI܌ҢÈIE%:~YIb*Èm½:ët¼:º-Ì^PVÌ£¹P‘„ók¡{}ÊóâsDN‘¢’MïC°«KTÈzªh²ðAâCqÑóỜb é!›Z+Ux»ú)Hr`üšU ÿFZHRÀ‘.SØNÉÉAœÔ½@°êIÍ Ô Íf5p\Rbª9ý ­ÿnÍ­÷Ø<â ¬^G'ì?Eª‹åφìŽ1hw±c™]Í;zq9ËCødõ=,TÀXþdÁD&|UÝ®S„QM ó©^È;ƒ—Íì½Ö¢{Q&ÇsÍ?n8Q(õhÄÝÈ‹9"Ê÷Ÿüɺq]³$´$Gxù_Z <¯ˆæwoI» ¡ø'ߥʋH'ÕæÏEÑÐ%?.Ï @¹Èå¹â zÏ ~Úql—Taè0å%AÁGG—¦ m¿@éf°i*þ’C_L›Ù£iôcM7fÚ'¯Q$ÞO²“³ìÿf{¢Sóz½žN¾mè³5 IUµ]íXB©G.4Ëm+ 2Ä'™Å)ž«Šã¼viÉÒ•=ái²Ñ% ÔÔ>Ê*}Rä °WÂ-³7mÎñaŠ(–Êt¹è8²Î È2Ȇ¸¡D§¬pÒdAiݲ­îŠ ‹´Ãã˜(Ç:v‰$*îÕx²’ê?`ÒI!ìxä2é´Šãs~¨|Æ>³ÞvÖûÁ)’NõæÛ‘rÖì­°jŸä`ÂCD ¡í89’ö¹×Ф§DÔn(pb™5«S¢Ê¯unÀk{؈•E­ZF¼ÑÖdcz¡]Ÿ<›!'JÉgkÅ^í"~ÛîŒr¢[nÆ+ÒŽ¿æØ5q%ÅîL;9Ð7(ÂR[ÇÞs&í8sà’‚´T毾¾&z2Xö¨ìEíuÝ }eE:@ºà _ÌÑïEá÷ë¹C¶ü6Å8W®¹€,ÀVÇM4g žçÂó¶àz¶Ê®~ÍcžÈzž¸$©GÞb±€SÖ‹ª)H>´½y[í•QªCH°ä£ÙòèÛr4¸$H×o››[ï_‡#rCx³í³¾¿ÜZ„½f¬qoP–]z2À¸l;bϽ¹ü2—º{ÿÂv¹½þï×þw˜@Ìd£íÓ¢°lUœ3ô{|ÈMΕ/êõÔÙ}•6Xö|™Ò¤dã˜ï¾cC¸yž%„³qÈ:ivçÌS’uiN9)K/W=cOpslù=©q¥’&Utáâ¼Vª?õædåíÙîr&]˜Æˆœ±±„ŸA¥B7Û/¯¯ÑÏã{ñÒy7Í’ûÀæ ² e&ò– €­ÛCOd—#ñÚê3O÷QÛ‘ÞЯ5àÝ"J¶ÍäÖ2_÷‚~°[9Ò U¿º€¦CtÜ |ƒ4»Wwë+çÚWÉ€f® ø†“§˜³œê;GÉ&È—“Ï{i3Sˆ9g6šI¹k¦ÝÛÙ÷V럴[AxðÐZÊ`ñ×.)­ÌòsÕ’Ý$6ºŽ'`è+{JL ‰nvh$JlÛªZc4¹DÖâ±Ý!3ä…û&“[+×3ÊɈ¼Éa’UÏâQ*¡ðTkO¨—Ýc ˆÝ»û‡ ›Î\àTâ‘E©Ì¡6³è_H¼–i·w€ß»o£hk{dÙuLÎm4shYýÚ›X8{Ç¥×êB(Ò);Ÿ3ý4kqÛþDç"À }›úytAÉ3§Ñ®Ëíõú¥@nÖÑmÃ@ù pTb]ˆk‰àæ~A}j: $˜qߨ>K6oAñÓU¯öÕaoó¡Ç­Õ˜=5þa )í&çåë`ÿÓ³;y(„Nùí˺K±âq%)º î8é×àány¨\/=aõ@fðMr„ÀDvN#LÐ'YÄ1¹ŒV3þ3¢ÁÁ3xc½Ç +¯ÓƳ\ß9_e•ÕÆÖèÉ;üyâFR6ðx7ö…xxÙ3i¬ð]ë³÷ƒü=:AÔË3Áz\k~Ÿ Š|´ÄìL²uô„­Ñ.>¡‚óE°QUÅ3ónJeJ=y/(Œgvþ¤[D¦qtµOë¸ÈDk[75y…Õ ÑÔ¬‹Ü eUí’@Ť;8ðóü™A‹ÖDÍPÀ±™¸tŽTÖ>sµgNQÉw}q+_ic˜¶®¨žŒÙOµýw³ÁÞSÍ©`É­V=¼Á@VdcýÛ:ùÒ¼È^¬?~ýóÏïS{ÎFÓp"z‚ˆ’×Ë„Ñ= y}*rS{È,cäŸë‡©ë$;×,nËb%>o–Å“±!`”Càœ±î¸A´{ÉÛØJ.KS¹ÁHšâ˜r”Ã`_Fs/øè¨êÔN5œÈÜ&àˆ><”ËÌ W ±¹uƒ™Ì1TO3Ñw±Ž-öŒ´@Ë×G?=··k>…åŽÿi¨ÒýsÆæØ¨ÖÛÚNг ÅIµû©ÂˆŽ¸ù¹Š1îÉR…ßåAŽêçU–¿n°(ýÀd†üî´8tó(Lµw9ƒÆsa’Ü"}¤1X­µ€ÌŸaH¹þ:{2Fu= ±VSC—wroB¬’ö¦Š/ƒ8øß8÷-v~FÛ°·ä[¿ùgâ ºS"ÒbI›L¶lŠ•v4§F/LÝ´À´Ïz6†ä(’NÇ)ùÈ)%ËgLñ|í)ñ D>x <ÇPãõn«¡‚ ÅÀòÌG6µTer1OPݵ½TôÔÓ9¹œGêc€¯éU%ZÙW5HŸÏ‚2 b<;ÈqHmj˜xwLh´ÀY“Qö'ëÏ “Lªç€ÚÙÚåÃlÃíù¯ÿóÿÍoÿž?ó}ßäï³ïoûþþ¾¿áç‡ÙO3û3ÿpûÞßjßmù˜ß÷óþÞ_þøp‹ïïû¦üü0ÿùaßßßöÑÜìg˜}ß¿ë£}؇»}Ø·Íׯýmßøá¾-Æ{ø0·Ÿ?ÍþóýM¥×÷÷·}ÛÇütöaÖšßïë?aÍÝ~||ßõmfn?ï׌ïù £Ìûýg|¾ÿýóÃìÇ}m>ìÃÌ>Ì>¾íûÛÍ>àÎkx –Z«Oùh÷çûžÿ=>ó÷¼+n6_£Ý÷ñóÃ>~·ط}Û·yûX÷žüí{ññóÃâûì}˜ÿ4ûøéó§ìÛ¾íã§Û‡˜}|؇}ØÇÏoØÆý²ùúójš}÷0û9Þgÿ¾_ÞŸn㕾¿Œuÿa1,Âïo³ïŸãg¾¿í£÷ùóÛ¾ûýº÷çøõ÷¸ˆü\Ø÷¸Ü÷C`1ža÷þ»ÿǾÿöñ?fßë92û°ÿ¹ï½}Ç­Å*§©ÔPÍ‹Z>²^Ë •¥Nš8UÅ2S] ‚ {%9¹ÕY%iâ0Â.÷e®Ï D`òxE Zsk>x¨où=Õå™Tó03wŽRhä]£lÐtž†\NDÄÿO²8ì/dHKÔ©Kl¸ ŒŒŒ÷Sü9üËuªúU ,òs¯/¸7žý´@âÿ¶½tƒ¬*×c:y³Ö¯q4N½Tg>Âͳ+ŸÀµá–õ<©8…¹€Æã¾›BE!dðƒÙ 5+±Ïç ¢ÉúŽ v*í^¯/f¾ _ñ™øÛ¦æªíÏsAb× Çžwé3…ÕëÅì:¿• QÂÆ;E9¶|†Ê±X4Gܧ²àÞA&³TŠ]vv…YF‡4«R)<˜íþ5ú„¯áðé€è!³î ÀõŒ¾"×’â±D¨ëþ¿¾šõNè@\T—ÓΤ‘fî`ºƒ“ÈcÍulÓI^ [ž«Ók#?‘@ ín`½ø kŽÇ€¯[ü¨ØŒp\pTô‰Ç÷ÜîÖ¿»°…)¶Î$[‡Ù±G9½Niê)Ôe 77ï~d2Öˆë\(Í(£ÊpŽ€8~­W’B›2ÿÖ®ó5¡y ^ @Ù¹šàrnIÙÏݦ_Ná†9,…’Ñ£TXócwèÂȘèZ ãÿ8xò~ Zs9ùœC!C€8 é›ptІ¤›ã÷îˆRºI} w¤×„$–¼›ÌJí ÔÜ{³|_»Hˆ¼™}6‡ÁØà^‘Í£2(¼57d‘£! !&I­dódÖlú¸‘t?þúçß¿9ÉÕŠQ‰ÆÖޤ3ótË3.ÙëÃh`Gÿº%ï\1u@E+En‰‹T(ç!õ³Ëg]RõTÒ]<õA .¶ëºûž0Ïñi¸D$Ey šÏСû–!^v2ñÌU5;ŽÈfž„‰áƒâEP‘@½píÌÖ³4šSݽ^«óåýÊŠ4¤ð?ÉO!Μhâ{@´Z#=_<¨üH܈2ðnb™“5%Î2ÀòâÇT£4¥³‰ƒ û^ù*‹BÀÔ%Yò5…©uʰõZ&ˆ5«.Ž[ÚᩉžOó1&”?kD~AÞ*q2Ër«·›lcuq$©äžcow¡%隺ÍqIDATÙkXâ{/ìw¦ÔÝ低7—ã2€:1>ïê¹E ?²Vhþ®O(ÃÞÍ6[Î ¤g×—ªr‰ÕšXN¢¿sí9¯bHÛW¡-)l{™?FYG6 ˆ<»"½’f§Ó@«¨,¨ñÑ]°W bÙ»¦2vÚc Å ÜÆòrBp}¢B츥ÿžÄÝo2âÆ%XU6z9NÀ)y#éP€³OµO¦Ñö.õaôl[e˜h;>[÷#A½HÓ ÐŒÏú6ÉÀEÆõ¯ñ"y[B·†¥CdÄHÆsÿ0ÖÏPüÛóÿ(œêúƪC†d‚DT¦KC×±½húb¡$u )³¼¥Ùsä>‘–²¦æ&ß%q³Äg£ˆù‚ÀÏ×Ãìõµju·º¬Ž 5Žû4$:KwÏ,ïp,ƒ'"Öc#u/HÕ¶e'åË¡Þu]j9ªà TQrÒk=’K£IÈçæõPDʪÔÊN Ž‹4¤EøtÆ¿«ŒÄêš)¨€ÂQ¢ÑŒ(ó…Ëš«‘c¡Ê¹ãVw©·B›9É9Ë™£L^‡’<Ü«ˆ’Ôt«Áxuúl]æÁð)Œr–Ó©•N*F%GŠÕÜdË¢¹Y¿ó7£È«V$£|ð1´uW…ÕJ f/&×ä¦z¯õAÖÝRÇ&ú/ò{j¹Ñæ) §¹jœiyšµ\ õXsh£cóÈ;—ƒñÞ]‘“ËéÄòVŸ¬éä趇ìLXÊ»œ ž³§ÅR–åM¶÷œø“@„@¶yœ«aú³K&©'û 2ýË*®e/ž!3{» $b!èâvl·ò«(Ó !SfÜ\áÌ9N2_±½°˜Ü²1uèq$ÿ¥(~§—£ öÇmÎg8„Y&·ôæôÁÚºë *ÃÁ²b×Ç-ÒŒ OFîÉ ôPʰ»%±Z¤¼Í˜$K8>EîåCŒŸ§§LKÝ|“ˆ ¶÷ô»«2¾R`¿úÖe€~‹cááñGå-\@¾ï;±ˆ˜úÎ#AP`PÐÍ&~ÀDzwùxÿÍÛRk^îvù‚&äd>0“/ýÉÚ„Ñ^jÒ!—oE}œ,­[ŽG‹RþãîvycÌà³SËðÐXªßNý‘ÁaWUêá3€*u©"Ä #ó*±„šsãuä…Šþ Õ€œ"»Çÿ¶7ï|6®™Ñ1RDz’E¡»h¤FXvg¯¥i=ïEÑúûÜñˆÎ¸úi‡Àrçr+]ì[1-ÒFmî{.;© ìæ5ÊšÖ¹ï`ö z+Í­Hvª­X e?5°‘y+Ô³™ßO0/× ‚’„ƒáž_"CªiZGÅ£¸g²Ê ª@¹­ùôA§VŸÐB5S>|r±^›Œ»~]4žê¾‡S:·šÿFšØ A1ØvƒjpÔzÐN‚6p\WÀ p €G@ †ÁK0Þi‚ð¢Aª¤™BÖZyCAP8ÅC‰’@ùÐ&¨*ƒª¡CP=ô#tº]ƒú Ð 4ý}„˜Óa ض€Ù°;GÂËàDxœÀÛáJ¸>·Âáð,…_“@ÈÑFXñDBX$!k‘"¤©Eš¤¹H‘q䇡a˜Æã‡YŒábVaÖbJ0Õ˜c˜VLæ6f3ù‚¥bÕ±¦X'¬?v 6›-ÄV``[°—±Øaì;ÇÀâp~¸\2n5®·׌»€ëà á&ñx¼*Þï‚Ásðb|!¾ ߯¿' Zk‚!– $l$Tçý„Â4Q¨Ot"†yÄ\b)±ŽØA¼I&N“I†$R$)™´TIj"]&=&½!“É:dGrY@^O®$Ÿ _%’?P”(&OJEBÙN9J¹@y@yC¥R ¨nÔXª˜ºZO½D}J}/G“3—ó—ãÉ­“«‘k•ë—{%O”×—w—_.Ÿ'_!Jþ¦ü¸QÁ@ÁS£°V¡Fá´Â=…IEš¢•bˆbšb‰bƒâ5ÅQ%¼’’·O©@é°Ò%¥!BÓ¥yÒ¸´M´:ÚeÚ0G7¤ûÓ“éÅôè½ô e%e[å(ååå³ÊRÂ0`ø3R¥Œ“Œ»Œó4æ¹ÏãÏÛ6¯i^ÿ¼)•ù*n*|•"•f••ªLUoÕÕªmªOÔ0j&jajÙjûÕ.«Ï§ÏwžÏ_4ÿäü‡ê°º‰z¸újõÃê=ꓚ¾U—4Æ5šnšÉšåšç4Ç´hZ µZåZçµ^0•™îÌTf%³‹9¡­®í§-Ñ>¤Ý«=­c¨³Xg£N³Î]’.[7A·\·SwBOK/X/_¯Qï¡>QŸ­Ÿ¤¿G¿[ÊÀÐ Ú`‹A›Á¨¡Š¡¿aža£ác#ª‘«Ñ*£Z£;Æ8c¶qŠñ>ã[&°‰I’IÉMSØÔÞT`ºÏ´Ï kæh&4«5»Ç¢°ÜYY¬FÖ 9Ã<È|£y›ù+ =‹X‹Ý_,í,S-ë,Y)YXm´ê°úÃÚÄšk]c}džjãc³Î¦Ýæµ­©-ßv¿í};š]°Ý»N»Ïöö"û&û1=‡x‡½÷Øtv(»„}Õëèá¸ÎñŒã'{'±ÓI§ßYÎ)ΠΣ ðÔ-rÑqá¸r‘.d.Œ_xp¡ÔUÛ•ãZëúÌM×çvÄmÄÝØ=Ùý¸û+K‘G‹Ç”§“çÏ ^ˆ—¯W‘W¯·’÷bïjï§>:>‰>>¾v¾«}/øaýývúÝó×ðçú×ûO8¬ è ¤FV> 2 uÃÁÁ»‚/Ò_$\ÔBüCv…< 5 ]ús.,4¬&ìy¸Ux~xw-bEDCÄ»HÈÒÈG‹KwFÉGÅEÕGME{E—EK—X,Y³äFŒZŒ ¦={$vr©÷ÒÝK‡ãìâ ãî.3\–³ìÚrµå©ËÏ®_ÁYq*ßÿ‰©åL®ô_¹wåד»‡û’çÆ+çñ]øeü‘—„²„ÑD—Ä]‰cI®IIãOAµàu²_òä©””£)3©Ñ©Íi„´ø´ÓB%aа+]3='½/Ã4£0CºÊiÕîU¢@Ñ‘L(sYf»˜ŽþLõHŒ$›%ƒY ³j²ÞgGeŸÊQÌæôäšänËÉóÉû~5f5wug¾vþ†üÁ5îk­…Ö®\Û¹Nw]Áºáõ¾ëm mHÙðËFËeßnŠÞÔQ Q°¾`h³ïæÆB¹BQá½-Î[lÅllíÝf³­jÛ—"^ÑõbËâŠâO%Ü’ëßY}WùÝÌö„í½¥ö¥ûwàvwÜÝéºóX™bY^ÙЮà]­åÌò¢ò·»Wì¾Va[q`id´2¨²½J¯jGÕ§ê¤êšæ½ê{·íÚÇÛ׿ßmÓÅ>¼È÷Pk­AmÅaÜá¬ÃÏë¢êº¿g_DíHñ‘ÏG…G¥ÇÂuÕ;Ô×7¨7”6’ƱãqÇoýàõC{«éP3£¹ø8!9ñâÇøïž <ÙyŠ}ªé'ýŸö¶ÐZŠZ¡ÖÜÖ‰¶¤6i{L{ßé€ÓÎ-?›ÿ|ôŒö™š³ÊgKϑΜ›9Ÿw~òBÆ…ñ‹‰‡:Wt>º´äÒ®°®ÞË—¯^ñ¹r©Û½ûüU—«g®9];}}½í†ýÖ»ž–_ì~iéµïm½ép³ý–ã­Ž¾}çú]û/Þöº}åŽÿ‹úî.¾{ÿ^Ü=é}ÞýÑ©^?Ìz8ýhýcìã¢' O*žª?­ýÕø×f©½ôì ×`ϳˆg†¸C/ÿ•ù¯OÃÏ©Ï+F´FêG­GÏŒùŒÝz±ôÅðËŒ—Óã…¿)þ¶÷•Ñ«Ÿ~wû½gbÉÄðkÑë™?JÞ¨¾9úÖömçdèäÓwi獵ŠÞ«¾?öý¡ûcôÇ‘éìOøO•Ÿ?w| üòx&mfæß÷„óû2:Y~@IDATxDÝÙ’#É’­gL™Y{èsDøþoÁWá/yOv÷ª2ÿoYD5"‘p¸›©é¬jjæŽëÏÿçÿ|_^¿_Þÿ¾\ßïËýûËûu¹<ï×ËõçGï_—÷ß¿_.»Ün—Ûåq¹½5øãòº¾.ÏÇ_.Ûõrû㟗×ûãò~|»¼ûÞ™Ëå×ëòþõóò¾¾/×{}¼~ýö½±‚}ùuy½j{ÿíòºÝ/—?~^îu{5NÀ.¯`];¾^ëÖµÛåYû¹ßƒi„÷åùñ Þo NÝÞ}Á¸¿^®¿ÿ³¶÷Úü5|kóë÷Ëí#<¿=.×g€ÿò· Öçã÷èûq¹}Öëcïg¸ßåvÿvy†÷;zïÑvùõ½Ú?‚y¹<Â'D.ÁCæûú¬O.†ÿûû#ü#Þ—`‡Ãý/¿¼¾ýH}?~uîß— ¾<±ö_ñô~y}ÿ½îøýûï—ç3Þýö÷øÕpÑ|}Õï÷ÿî×NÞü Y¿o!G–>¢å²·dðzÖþÙùoÉHÿ÷õò19$‹“S´þh¬Æ¼]¿Eãëò_Þ?µ¿^Þø^ßÛ7Äìgt&Ã_áv5¸·®ÿúãòü½?þvyüø‰ñ ˜ï·öññŸÿ¾¼~þëòÿþ_ÿwÚ”å ï©Ãío|ßÇé[×",q(¥{ýq¹5xø×â ä×?"Þ`!Ñ`”fŠ3ÍMõÝÏúaÀ®}„ úè nýú]¡Øõ;XõЬ1ÓXƾ¦h;ÕGgtxN!çZpRÀ{ç®Á“¢‡‘ž„€±”RÓ˜p ¯}vˆìäÕ÷—ÀÞ‚}xdä>a§Õ›bôs§˜É'‰Òùý.Ú5.ýÝ5|¿ð$…¼Ïÿ ¾Öýß¡öôx¤õ%Ì;¾_¾ýø­þ?²•?jÏ :ñŒ6¥x§œ”qF ¯ã%‡Wðb\p~ ~ÆñôÓ‡á0>FÉðn,ù^Ó…¬{ðû/IѦàpŒJˆžû|%¸[íŸ3„ þ}Ëø\Î+­¬Ó3k憥ÀÐ:ãGŠ[·Ø>wž†Àê{Ħ}!Òþ{‡€ÿ CA(Nöçdg#öSys—õ5è¯àêAµ„£`µ¤0!t¸a1¥Q¯¬uùU7øt²Á†—1ï„âZ8])Cí§ÈÀÚkʃ¦àyó¬ÀÜKž n´t-Eìj4EE4ßjO˜< ®LÁÁ¨o_›bäñ>ŠŸðó)µ3FƒxÇG˜t„€Ø?G‘ü+ß÷Ú—*+C=ñ*4Ïù“bmû7KR8•Å~äÙ1Áž/Œ£=º¦l˜Ú¥Îè0Zò5ú_Æ ¼t:K §λη`< ÝK+PËk§4’“ˆðÿQ¾Dà»?¸ôóç¿/÷h½,“Ô¨WéÁ´LŠ:xwJ•Q#ñÆKŠtÞ¬ò{pv-œ&òCÜ»ÈWjq®%:ðF:S@“/žðÕ ŽS0íÌâ—l‡ çDQ¯R”ɬ–§[8­­Ñd<@Ý£­3N §ÚS^J>Œ2ÑŒP²qw>YE¥UÐüÑX˜ñúþ§AkÜw<†£É¹ÌVø­1QHÙ—„øR(¸hÏÉïF9y}¡›<“+˜¹ãa°^ßþ9BT*ždƒ/UAÄhÅ›w<½Õž¬U LF¥=SºÆ$—ë¯<ãh‡±?*¹PÊ4e 14W-‡>F!‚×™µDÈú\*°ÀºÉ­^Ʋ3‚"Ô•,¦ýØøQÁŽŽP„\°sËCô:kãÇ YóòÎÆŒ¼c÷'a˜pZòûÎ"÷½VÑòj†M´%O++°NŠ`Â@°/3¬þOJ‰‘ÂÅ<Ï+ÚŸÑ_»Ò?øQx$¥$å¡fÓãCx˜¸„[pÁîYè÷ý®í¿C5œ3À{åò{bó äMB«)x/¬â|•“–«u|d…FçNd˜Báki`@ãdíùÎyÛ¡/<¢Õù[È+•1r,¨gF²ôFÙj†_¿úâxþÉuÊÁþ¤C4ý•.œ‰`r›çm\)\„éó ½×…‚ ч<ª÷I"SL$¸DbnºÒ€!ðŒ³®…„×7}ê÷’ýÓG­OÛH£g½y@¾êjj†¯¼Þ™ñréZ£0KnåLyXÂZ. %Ê3&P’¼lÞW©àXPÌ/áYÄЉØÕ±Äˆ æä®)ʽ$~FœÚä·‚•àR’ˆëZ Hù)ÏbVÕï ¯4¦{9Ou±ð(•@‘Wž!8LJ3æ]^§éµP[!.:xµÄxZéF-®Bl)œóî"Ó£Ïgx&¶®×¹2ÌBó<`ø5†³¢›bš %¯ðšÁtiä ÅÎãLž(w´ÕˆítoןÉávãÍȱkR“°†÷<\4>“õÝd¯3n³ðêàÐw¼ƒÿÒ›®K¶é›«ÁèN<Íklˆ®„mLa}ÂÓ÷5Œ(ŠÂpL–ö…÷+¦w©¶»–g" ,‡Ûn€˜ÃC´ŒÑ”VÿM<ò¢§ÎgœŒS˜ÈS" X˜“¬ïgœ8;OxàÝ0‘µºãX4*\³@%#)Ãðå™2lÒ%±~üºR cõ9el2„ ßsÞÏW×ô¡Ô c‚ÆwÞ×L“% %&‚Žg-RÎÞðrÔxðX!7^Už¸7V$ÌPD˜W{eF]ès1øðˉ«ñš<§tÒtãB¸á[ìé“’åL:ÑVªª?ÏŠŸê´^5ïäAŒŸASâG“çÍúÄ€)Ö_åÈ,l:ÒŒY¾˜7r N¯µ¹þdAѼŠ=÷Kh×{‚1H!¶¼Œ¢$˜ŒªS%ÁUÌŸb•X±×JȽ– ‡Ýõ‘FNH dFE8ÉõX.øáˆA›e=ùEȽxÚ<qM£…–k¥—[ð6ƒŒ +Œ e,⦔/Ÿy'Ü67™ó6bê+z_ &Obu&i(ÎÖ=¸¯®-´B ÿªW×ñà´©(Ú’BŠm Ï0²ä:|„Ëfûf¡úâqÂÁ³Y'i¼÷¥|©~¹· œ[Ü€Ïf©±y^ _Vü 3ùYl|*`½»Î)¤èdmø.{‰ÀR] d Øg0X<œãÅœe ÎmšGªÍ`Ö)ÆÉ³—¯äZô›wŒH¸ÜÖ;ÿÌûr,«4þºÃÅø”b–"måª1D„1„ÎãBÿÆD6¶AÁš7’ß\L0æ×;F<.e±ðw)Eå™x³ÅN u1›^øj¬ÍNqGJ jyw <&œ NÇö¡Œ17@CðP[Þ¦ëŒ`ãó%Bxçp¹ëy'}»å¥^Wá¯c㥩o‰~øbèígLŠ`PÎÑÐõ…wB’r€üú¯õyQp4¡Ga]⾇†`e3Ú¢Š°® R£Þ!ºã%ÏÿÊ+äËãf¶ †Z(Eù³Ö·Èߥ0w•ß‹â„ãJk±®¢30Ñi’³TB¾Š¯ÜkKv§ÐSÆ nã•ÏS0‚‰?I% ¼ddv|&ŠŸ¼î þ©{ÓéLñ<µ³þ,~¼jg¡ãÑèY íäB ÖûsÌ㽑 Ñ}黤Ôë(F-Ê2±+†ÏC° L so†k:õÞŒ- aC=·Ý¥µ¥4§Mí2õ…ì@`u'Ї¡›Íjƒžü£èÓrÜÂʷƇx[?ÿu¹þŠçO ÍÁÚ²ägM^w–z<šºál">oI1£$ø8ÕH<…ïò/¤ÕK6¤oúÍ#äå›yt±è >ÖŒqž¾H@é•[^…0¡°á""˜ß38Ç€·&îp˜ÒE'þB–Ò‰l¼£8ž¥¾ð+ä5Ï›—÷Wa”‚Ê/gSÑB±¦< r nðnyz†!5X[$ñ®4”ÒÉ]E¥$z†:Ym9à± qÐ&pÏh,/8+Çe€P×YSDùU~×X}ÒjJϫΛ…ÔÉ9ÀÞ_u=ÝG<¥tÜú CVJ³VðMƒæÍxd å%`jP^&ÍU²¸”¯FEúœ"$øº ËhÖ²¯cÉûJ[®åzÚßä®ñR]”nÙPMJ”Q†¿Ô€×{üµfÇ£^îÿj üÍK¦”í"foÇñ1N„)¬H¡{¡µ+µË,j{Æßf“ÎŒÆÚM0ð Þƒ¶š#^¦[œÈqÜš±ßÂÓå–Sà)'`xÇã1†Ž0áùfœNàÕU9ᇆ›váUY„<\„´N[BJr÷åF‡8lI†5÷·üåt¹Zj‚rª˜HQ+%‰ùH›—Í2.%ÿ+_d<¦U Ó~Nç]VÇ _N"GœúÆè1¹ïr*ÐDæÕN“-=UÄææÓøni³€L _—cÚ½dVü²id³Óú­Ì‘™˜m†à->Ÿÿ¼|C‡<Ïl•2á{8ò4ï¼)!ÉU;Ûµ¼KÞWa×_á~è£>/³EÆûã/Ÿ7NYL4Æ]z£µ0l æÈdÅØñ}K“Â㫎‹{œ¥¬t/õ…ÛuÆ»P³sàw0¢b1'€aJ3ÉpiíÑæŽSûí*ê4¹/ÌGSÉEl '†Öµy>m‚+¤Œ¯rÖÇísµaá)ïY$çöÑ›‰®è”Bvú”u¦KŒ3¡…)qŒ½VTŽÃQ“çŒòë÷„Ávdˆ¯÷Çß o=7­åš$C²¯o»7Æyê†ù,+…p1Qè úvµ¶òHõ᪷•+šEÎ;ÁÃD¸,ŠR®>9åβ))¼xÿàÎ!R¸/¼˜±ÝÞmU‹YfÔ·ïؾWµú-§awk"…° §p͸„:r# TýËûîÊAá|VX~†6^†C|¿›Pþ𨟗ð}›aÿea[ªsùÙ{JÁµ wFƒpJ ~Å«NøÎCvîL`Ê#á°ˆUW<¨Ý»ØÈ Y1± f¹>~KŒ7s˜Wçë]{N)¥£;±c¬`žž\ÍBë¿™sý±5MØqBa’„ÜK¯Ð“˜Ë±ÏɳsLŠòÍd:~ÛD —¿v>+m»Fãtºï<܈Ìò7ë%ü-o©»æŠÉ­ž9dz4S”ÍÂ"2˜W^;JWç oË„ÏrH+8ïÞ9¯Hi —úÐó©Éà9Eùþ=¿«mÝ+<3$JÉÐXµY6ï´U¡˜{js”.¸¬:w1ä;ÎHö̼û\#ÜnìÂ× Ã |ílÞÌLÿ^U÷­SG;|ENA¸¤ ø}„œbÕbžF<ó®ËÊD)¸tgµ¹ÀŸ*RÕVÉ.¼ê; 2]ç·b¯W@DP¶@{@;Ÿ 9ßá·[û+-$”ž(,s–"ïWÃ|¤+*”¶kÚgRŽû°™t±^n¡È1ú7/\OØÈ4n9MàÊo µ%1Ÿ„TA8Çñ,W+$ Åà5F¨¼²utjÇïÿjµ—aLJN˜`A^ #°îÌrȧS¼¥´I±k&X{ú0Ù5 K‘L‚°#V-:ü& g ˆ Ï̹ñî-]h"–÷¹ü,µÈóµ—6¹ª!ömwkÏ”:¨‹-\ØÅÓ`hæ¹ÁñSÊ3Ž·êŽ÷à Ãaʵp²?“ÇûÖl½|LùÊ Þâ3س©œ¿¡‚þÕç”°ñƒçuÞxQY߯èÒMQ»ë'ôª<œ67R¯>ã7)e“Ñ“eT•Ægø6#¬ñ¶v V€÷BKôjAþéþ°¹”,~p¤ˆ…˜Í{õ;Ë^µä!nflƒÕ›­!-Ý’· ’0 åJÖ$é‹¥/}¶%h‘ÆŸµ7´06¤ ‰hcOx§x°Ãð¯—_ŒW^EñÑ÷hÐ^øá¤äDf¿Ûµ!ÎíqP-‹™…C®ºaCA^qK„ÑnóèZ`’DpÎãáÙj†x3:ìp””õtÈ › ð',jgPÙ'ôMQ3¦íKe¾¥.½ßá¸ÉYJ¯L²œ–q2BŠÛØ`PiÎvu× ;©ôL¿fÓÓöð–ß>Š·Çÿ ߢݸçñô÷3Ñ ¯´Unþîº÷à%£ï£Ü&MÒ+;Û«?ñk·³(º)¿púоQC’ut *ó£ÙYGy_Ì Ù´nÌ\Ø©©È2¯Ázex}í‰kœ;kI!(‚ÙšDqܧd͘OÉlž…B&´YXÇ {õ£Àpž'ÌvZG‘(J ¤¨ð­ßÑŠ®GñÜ~¾ÔõÄ­;âbWCøô vÜK6óeœr!þi‚ij´$eÈë³Y)…Þ}”6>0“ÞCX½nïžÝ>å’Ö•åLÏŸí²ùVù%ámf ïÎÓ^ñ¥>tÆ+Öþ òw8dì«£Ö‡LÃMá\¨Þ¦y'“u8m­¼h¡ ð~•ÂùÁ2[ræ¥åì·Â§Öq‹(5i„)Õê¤øJ6ó²é~ðƯßrxç&Sçâ»óñbÉø"Í£”`RÍ•¶íHC÷K°GS‰PlCo‚]èj5‚àRÚǨObx±Ú]—³¥ñ­ ‡o§Êñ´+7™G^2·ÑãÎbxß¼Æ(â"þ >G,å`czÿ÷/ë¤DÔ¬kfOv±\šäl¶ßϰ2ƒ¸¸òe‚¥1&¾L€³zÜnÌ“¿R@¡±>‘8.N©Â›÷Û 5AÏÃ¥p¯öèñ8Ûxš‚ioÉLy‹‘.wŠ'J5gÙØSºF¤” v"޶sì¶Yèå{ ÇjÞ#¸SÁ;t¥Vö=~àqf Úö‡“ªí NŽ^:ßÂü<>ðÚ¥–žAË$©tkÆ¿® ÞœÙÁ+ÜC¨6´É÷“ŽÔ¬vÿHt值­¥ŸvB,*>î6&´Çlègu ’^hÃ$Ðd{ÁÆž1n E8¸ß˾¿™ª¶B_Ìõ¦|òFJöš–{ «yËóþd†Ä}Cň”Pè¡ÌòÍFÄ‹;ˆ6e%^­;d‚ïVíã &@G1Ü2&.—×_RÈÂ`Œ´Íh7fÕëö­Ñ7 p­"'„CÇ«n茥•« Ê.÷øúª Àù'¢Î)bkO ?Ä7y)Á®Tnÿ“ïâ©õà–òÌRóz] Ò> ¿ƒÞ¯vLvŸüÑ!9á»?ÿp{•…”…:Ý9™Ó²¶°ÃƒÉ2®ñhaŽ>õS3`õàWÞÿöøOÕV~ƒ•kR\+IÏ“ÀŒPtÈBTšŸj`&ó¨Ö'©ý"LxQân¨•% `…ü˜ÀR407}k6Y¤Wç8)÷¦(5à5S,³´£l}çén1¢ëg7²M7ë"„Ÿ®6ˆqBPc¬ˆÜNÊsKÒ£uB•Ã) i— ´†,Là1Xý ooæWÓpŽ‘}¹—ø@ׯîý ïàH®¤1b‘¢­n($ËíxûÑÞ¢@Ëõ‚‡çÛYLQ`+ús?){ø} ×&é…þO¡.l£… S:³íÛ&µÍ³“Á—Ó °ò«nÖõCw„0 >Ç+¡9¶}¥I¢›´õ×ÂY4П’jŒïê™àD«M°mþ 'ï[e¸ô§ý€„ÝÆÔáõÏtHȈa¬öS:‚`1y™YøB¯ñ„ô˜ÔØEðÒB[¿Ä§ÛfÙ!,wA\y‡˜2]Ž@þ[N‡˜%÷ ~ásnï< žGO1kýÿžáÂ*ÓÞ{ Ϥ”Ø9Nˆ7ú‚›¬ãÉöòÖ¯1¬n,]@aD㢠òäõŒ@ÙÉ2µÆÌbâ -àù-‡ÝÇ÷îxãºêÏe3°v©”"žÓž`î?=zƒÕ§c}ç¹j¿•-ô‚’×±QÁ,zK¦<¢âyk:üäü8°»ú ‚x ­xºŒÒÎjß™#¹ æh#ŸÆˆöWe­†Ž6ò+bDëðŠ÷…„fÁ!o¦(÷áMá}§…?$ì %Eà,L¹eB;Ö[ǧ\°ÜGΔ ¶„U;nW³÷û_Ë7¶T–"Êùy6ËDÛ:Åê/…˜m›§ ‹…˜A="Òå”÷ZÒ¾° >ªü#ê¾DäGpôÔÁ²ÜŠî1¼y„£åB»Q¦ŒGÑv]çeƒ2<‹a™bûRúÑÇöÖ>Ö¿SLv»äÒ’ EÑÚ‚9EGGmŽñN_Ø ïÍ"²œ(°]Ñ^58jxð¾ëþà¥Û /®÷ÚÝ…ñÄýÒmDe¨%þõÓjŠA·à7`6Um°»Wd/'ý­t­¤ÃÔ¤gÏø¹œ½³ð{ã€LžJ-^vBÕž¡œ>˜?Ó› ‚7¶Q”2%¶É•ëšXÝfn†z4µaõ%ÚË…ÜÖ5y™(1³jˆ ù¿Oȧ¨Ëõ¸²z/,rýLqÇSøyªÓ>q7ë`Á’(Ž¿>ZuH ØF\-tð‚{–÷Ñê‡ô³å¸­ÛVúQ«$` ´¥\»—M³Ÿa‰·â©,e'OÉàí”·Øïr×ç±]ûÈãE“N+…ÏvR«"4zàÁ{ “è2m¦Œð˜JV®àŒmƒ­”£VhÜjFŸ‹,õƒ§<ѧd5ìSÆèü#æ8þ\o H.—•e(Á¢…ô'ýñϚϩX*Œ´Øª¶ãRm ùi¦ŸÌoÒge$CÎwSOD5p^·k|”w¿[„¸ÅŸ8^»M2­‚¿Y«s8O#‘ƒP2E¦ºÕ¨bá`ÔF˜eY1ë#âV=êÇ »\ÛS¢ó+”j4ÊìŠÑ·¡Â{Q¬ø(\hU!ÿLJ̵çÙµv§PGÄ!¤&@ú®”f¢4Á‘Çüòø‚No2JM 2%6þñâáìt^Kª0£Zd¥¬¬äùªx\Þvôd¤†ðDÞûòàDCrÿùÏêŽÜlôÚ¤Åõœ¥ÅȬ¢í>מ%Q›®Çý“a>7Òq3陨1–€RÌÎ͉§õ‹ðu¿ÿ¯`¦Cþ-o|ÿ³‘2l]:8ãwsLÖÌ 6TpŽ ÁßXáœ*¥`MBúàš°Äô3‰PV/xÞš‰JHîY/åÓš&Ž•~Ž¥øq}13F’BoÂO2›>’)q¾IF<Mà[Óc¤’ ýgdÏ xÔDÚõ¢ÞX…óBX”QÌM"Â{›táÜE“ÎÍáb6- ¡D­ÿvã}‡¼„dxS¨_­cß~ S‰O+¼w•GPE¨ÿp Þn›Í³í>ŒGP/ZcÞ œu63›¨òŒEžåFTû ‡OéÏ÷R™ß/ÿúýU‹νg ÿ¦`,ÇË !»° ›{@ìªâ^囉IøçÒ18×ݹå) ——¿¨ ™'‡s˜EOïвqLÜrZÊ•ŸçÆjžL9|ÂeùÌ4»óÎ ŸàÆèc)›!ØϨª.{±Hဠ)«Œ=.dl C 3«“t.[]ÛÙCëàî/ŽÏÚC@!Ù~¾sçš±>Ûëº+ÂW1~ÑE˜úHé8TFt­F¶ÙoÊÐóÎqÝQÆÂ9I9ôåAnêGfÂÍ.Õ"»%ýð"—hd˜á†Æ#Î3¥Ëå5r£à_xj§dDÿؽ— ËÍ%£fç 'j:‹T^ÎõߎgÀä”|ù(‹·|û­Í*ï–1[0$ì”`…ò³ÄÒÀäá3a|¶ƒÉ’þ0½ÅKPùæÖI«£Õ¯—DÄß3h!õÖ†KuoË7’Õ…¥ZCüå†!u)ñnï“£tçØ¼gñ@^ˆg¡+œR×¢—Å%µ̘APõv/ñXl+1g†Ý¥!á·ëúr@ ±]‹fÂ7C7æ&» NxOt> oPÃ*ÞS[§ Ÿ—*I'àðSÈ5‹ž—²}þÞÄ/ámÏ_Qf›g·:ÑØ”- þ6ãj,ÞfK\ñt3ûòéWµ¶Gš+^l“§ŽÇ“òïÕo»:ÅÙ>ÂòM÷Â,ŒGE§K¡Õã<)oü~QªøtV¡ìÌ67øÜÿ˜ÌÚ>Þ÷&[“fJX÷³ƒžÂ3ü8Ñ'ƒq;…×Dßáö·¿ö`+X³ä‡µË­n¶“´¼cŠ…b{ƒÙà.‰µ¬ÔŒ~(gzmWq\OŒõ)‹A 0ÞæIpcVòfBõÂi ·z`±t¡LÝ1ÍÃÇÔW8XhmD‚c(æG¨‚ó¶ç£#«ñ´¦ˆ!ô’—n7OCSNH™õ[Î7‚'eª½>úÇ48 ¯V(¦á°$:àþ|þwÊÕj\M*î-³ñö @|ž«o{¢WôX«uÓ^ƒwË î†ðΛôÝ’‰M<¾ãRu‚Älßåar¹<©ÔA^ЧÑÿ[ùPÈ6aJ·F/}¨Å(|{äÑ ÓugÜ5D¸qJÉn;âÁB(/×h«š,Ç”BÄœfÂ÷B«tÇ&–;\í ÿ´[?'÷( iMý0x|X"#ò¿3òxyk¹sÑC ù¶ò_Ö¹Bé«e.Ö¹&¬i3_žpNQsQÄZCì=wS0#ûÜý²)vÁÓýv¡0€ÁÉã-7 >—[P xNià]›m¥Ê®ÿJá±ëÛÙ"é/4™ŽAac^–ñÅD¸)C¹¹JBo cŸY>xáα>T*ê—R¸U± ,³W}æÊŒÐ¹¢bŠž0w£UÂmwðàO¸)‹'+,O£ n‚ÙУFÛyÜÒ™óã\ ™ÇßyxZ¯Þ*DýÎÞ'ßįx¯âdÊ Ÿ:v Ïs ††Gt˜Ä#¡#xìÝ8…fá™ìWtß8]ƒ3~Õf÷p«¿Õ§,ˆö ‰ÔÁb•âíÁ2)AÌê$æµ"® N1èæfƒ*÷õ±Êcj®;(nCäB=i³â€-‰m ½IGB·žê7÷[ÔÇóíþèØIã¬ÜCÁ kN%à žRHvA§ny¼ip¬nL3êmdsÐÙéÕ[Ö®=Ʋ£uö)F³v„¾0Å*ºÞÌ [–z½ÿ+üVKÂÃËè…ü µ~»©?/IQäÕ[õ‰WR‡Î漓ÄxC‘OTñ]ÞåáLR‰m=³·2žßÛø‹Ñl¯ðãÕö¨¶Î£Ï—'ïMtú„ÿÓ Q/íÉÁ­ú0ÜñM”àÛ5j ê‘zànÙÏf\º$Š©Xaüxjn-òÞ+˜î†mœº’ËxPÖ€}B€sïLƒOW5ìØy5¶:ùR—K‰RO¼x¿¬@Dtü½~I]ʳ¶|˜e6|ùÑ1&ç!„ûݱe,­ØIª# ƒkã©^¬¯‹ý/#ø\^ä)Xo»€¡»ÐÑç7xakK0&t‘±å¨Æ†çõViÈ0ë{hÇX“„)EaqÛÐ ØFÇä—XÛ…F «Îgy_ ¼t¡<ûQØø¼jƒvlCl}Ô}%&Pòù-#—64 ¦×ãà y6AbŽ}(p”fÞº±vs§pÇaDJ‘³z\×y‹yL¶ù ÿx±”áÆ“IM(ûrÈ)uøó`)áèë:Cåè†¬ÍøpJ_ï&µ¿rÏTšÐˆÂ4sÛr<(]9+ XN¢øÆó!2gÛM»d 0E Ò™î¸Z˜v–Œ.䡚¦_*¹¬¼’ya>×nò1nÊgBcy5BŠxÜ“4~LÛ-Ž„š=Y÷ý2ž­u _ +ì(QØ‘CmJ`nW¸fínÇÄ|÷6¿z~É«õqO{À°Uô_ÿ]™«ÉDy»€ÃíDƒJ˜^a›à$—rMpÂÜ”=Ž„Ï¹ßåÀEò1êÚbê|žÇr¼dOIm©ò]m-Ñ…úñ»1_šB!êpÆüÖ8êqå쌓¡©,t_Bxj6列f÷wÛÊBö‹JU&A“™ü›Cñ6g̪äÙ¿´GÅ„raH²šy85U}ñl¹"£ìõ‹Üb½»S¡¥8O`’#I£”ª(¡uʳI Ú(c̵O.ôê–¦í»ß¡RÀr¨9·«­Ú!¯@S(ìÞÛ¾m5A˜ž‚v~SôÀÙ±b=õ´…V×x›”ô¤ôàµëKYOø¶‚k‡ÑµŒ)p.pŒ~fÁ—4¾cO¾„èÉ+“Òñ¾ ž0²h>SŽ&·žJzõh±ØcŠÉ£q·ÝÌø³±Ã*»‡‚+­l&žSÜB^÷ßn{ßÜ9õviÛóG R„ÕàŒã0yô¿Í«R( ”e†âY?7ŽçuBÏíë?I…G£7!Õ8{J±çûÈñ…ù…áÕcúŸ<©áОⶉ%£¼Æ °ónHâ!{<›ðlr•ŸõNC ¬ÿ–K™>ŸÙ-F¤åY÷ò>ŸåÅj) Nô5ëŽA]_Òš5œBx ‰¨vY¹:cà I µÎð‚uãóFîU8¹!¦¥Á€'b  ߘ‘r®Òäp[½>òvü³çÃo!²k ̪{î莦•`€Ê2ŒVÇ ¼âAã¬ãf¾nÒçý\…×ò©x5÷ >¼¦4„”>ÐxÍSí.³Âÿm÷Ôd Ó:¹aßÊ7&v&SÝe·g×èœ7x‘1?sûfÞ©o}’‹2M{y«ÝÝÖyhÌô‰/ö î†}!¾H"Tï~Þ5ÌqÄs¼\ù‰2õgöÈ+ä(]z°ÁŸ8œÀï©á·H28 ,ºàÐÃíuèØì•w¡ó!µ¡Ü=G0võ¯IB}ð'¿]ˆ/Ñ·uYEü¢‚ði?ㆢÛrâxxÆ ?“¸ÃeœVì-l«&°^:ã²³‰1šéOfp_D‰> ÊGT?{…þ£QZ7‘PÇ`ÁŠ®QCrz¨ÿÙB¿\Ƭ,pb7ÄxˆyáIÒ’Óîc!8;KŠiŠŸ·ÜêÃêAç÷œ•0;RŒ%“­f`tÞn u Û6A.·âÆ)$Â{±3LŸ§íü¬ óÖ=A! k;€y  ú.Œ8‡­3÷œæëGx&ñ—ЀãáÌÖǸ†ÞŽŽÆwsí°`Þ)¬O;Oòdà å·|M)F=j–bOhâI#.Å{'œFˆ¸¥6”O0Î(·•Œ·ƒ{py‡W¡ž¡.£rMÒD†×’ôÆèo¥¦/eDÒƒûí¥ºR†ð£ÐSÜ`-ÌÆÓ”‰™lï#‹†#å‚7Y½+·á§»A?XÛMž>}¨òšâÿSÉÆêd<@'ã0òW?¥ÌzÆ“Ÿ)tÚ‘ën€…ØPÇR7I³R·(Ƴ¨Y£sïs›3 ÷mŠŒ(eÝO„ˆ™ñãþ»Ëß,ùÜ{±áà±®¦÷«’»Ü-¬å+õõ°sÛ¨Ü{«ñ³\IŠýz„òÞ)þ–Ò?>k„ó$Sþ1_~ü}ò9Ìä RÄÆ}vÓ’õïfÁ)mnb!ÖoLuµdm“õY)gŽ>"(lVÏûQÔÚQû Õß(ÓËýÀy¹+œë]Ûûh¬Ù„ ùÚ…^§¸õ1Å ÆÌ)Kì»ñͧ`‰9!Ø'KÍ+£.¥§V$ÜÛQ³†·l´gø³‘ênŒ §ƒq“8á.ZKžoíÕ›çK9–Z¬oFK3?ù$Zœúcž9Åù¬AÔ/áyü[|ƒÿ6JP¾,ˆR›ì¥2>òGi otŒwÞù#8}Òj¹ê@ç¶þóiS4 ¦d¢!Â#,Oý•·Q§“w¿»QŸÎ,W“Ú-äw£• ×ê¸AŽ/«ht÷ø%O>OMÖÒ­ÐÝ.˜ÆXý¢UD‹Ù9“øí„åð‚ |ÝæÀA$q«“' nq>àÛÁÀUÖ’˜âµ·}“.ÜE˜¼dl7zM3ë“jEDŸ^ô¨n)+ž6;êZe­`=¶*kÄ5ªÆÓ…Df} Tç‚V'¬z|¬á²c¶ZU²(]JÜ/Lö¶ìÖ:áåÑ/Mt+E¦xfkóV1á/Qø7³ /OH$³d ƒÏÕ“ŽÐFS(OîÊb‹ñõ¹Ûõ‘gç bopŽÒ¸p›" 8µ—Š|í^±"ñÞC½#Êó÷@°ÇÓûåŽÛæÅêFŒ;K} ÏÑQ¿SÜv|b0q‘ÁîÞ‘g‰¿ûqf\õ+4ÉÔ0¬ÉœòVÆ$0 àØy¶q¶¡)v‡8y"ºFKøHoHœšœƒxÚ9ÏŠ cÚ“ô¡4<äÚ`õ ¯ÚßáçIñ“›Gˆ‡5ˆq;ãe¸èñ^í’Ããùë—¶>r¤î-opë,¢ãT?*$‡KH¥ ­éK'(Í?tNQž=õ®fÓ”ö$æ1#òdZí P9§Ä,hHÅPJã]|ƃڳbÈ#‹Zò­”ñïÿ ïè7% «ýj™&QÑfò!i>«õK·EPyAáVAwÏÚÍ Ôâà-×Ýu3¬Þ„2åïÜÊ%ÁÙ2$㚢Tú°-?ª«º‡A²;‹g?XrÀ˜E­òc?ÄÓÉ“ÓvžÚî±Êó”ÜOŽ#6ëqvQ$`»£°v ßò¸Ý7÷×$g ôRIžÛ¦>øî X¢¹Áy0™*83è”r+® ]ÜF¯“kuØ»Y@ŠI”nF]þ¿)ÎÏ&g¶ ­ŒñÆöt+ù)¬¥.yhy6qüѵ)pãÁ=a0LüÙ#? GŒðÌØÃ%A®ØFèx<0ïÄXÕOÓÝ&ðÂó`F祟J»Ês[êœ-ï¿Î×öÿ1þò+éMa©íɳ‚!ÕLîÔ@\×*è}.¤äF¯m1:…è®a‚¼ ¹™Ýlø~q½Ù-P ÃÍ+¬áV‰Â¶"¹ a©àpjÙÃõá5cÉÆ”'^y§’ßyB}…dµ.¦Dxõ£<ëÔ,íÞ¾Cê¹§KñŽúõ7¯«QòÖS8KQytžyÂdžEA2Œ¯%Àó=Ø’wå).ÿ~1Þ–$'] ^Ü4«Ú;»…Êéx4§qã™É\yy“7äN73þ¢€‡ûØÂv7ƒæ##ÒfÇö0=ýŠÄ­Íøªðbk:<ûJùÙy.tí`\žSX•;—[Ú]†ôàÐÂh·TÎGÁi+Õ"™Ä ÎÜÃÊmŸ’o[Ú†¾­µ‹x ÛÂ#E|ÝHnæ)9Ü PÍÏטv¥”Žc§ŒÎÇÔëïYçQÆ=ûE¥>oÃ:Ç\5s ‰)6d$±1æ(AÂy¶Ç¯„Á½ŽwÁDc'ŒNGVÝ(`Œ™@]žw¸È)ð|[}·s’Ø%ö¾rMãÜ•ÂaÜ-]°ìlÏ{+ÂÆ´m‚ àÑ~ô<æF“zæ#…˜‹L·Fªr@ÙR¡v‚à9çÑb}Ÿzœÿ;`ÜáaÕd÷ÝÀ3åu *L*D˸Òx”^ê2a,ˆWEÉò^ ¯3! øÚ2jãK-ä™_w½û(Bíàƒ¨þuxÚ³g©ÅJrÁl–Š—ë—´µÌsÔÀÐg5ÅJB—ê¹»­Ô¦Ô_ýZªŸ³È@¶4–ÚÔÁÊЖEÚ n ©eå€ÔL¾Q• 6 §$r”m†wéyÈÛÑ‚^Â7“¸”çRÙ¢{µŠàÇH^ö ž@³Ö'E­Ïµe&>BÔ„E.Ü”{ –‘X‘ô­„–kÔXµ7ñ€Â8Þ®AÿŽ,a¯ÿJJ&=r)AÚ0þ ¾ÑÈ[%ðLh8›@òNb1Ž<Üd=vÈXjî¯vB⇰YÇ=\)#öÚf×èãèÄ>ë·5åp´”ÑßýîI9äŒëcân? _ʆ`ã‹ÈâIK ”+¶,CÌ"—Ì+³ÌÅŒ”Hž(WØ;Ì¥Õ÷ŠËÅÉiG‹‚¯ ²Õ‘ˆ‘ZšÑ^ˆ² ƒ}`lêO™:NtëX×EÅø¹sÌåmt®Ÿ\#NôrÇ6Ø žWýÊiªD0“欷·›5ÆN)À1 a‘24¶HИ÷n[% yQÿ÷‚P#Ç/† -yŽ'X‰»QÕu=(­–õ¨íV CĬ^~p6Ã/ú¸Â†¦; í!¶§?¥Oqj¸Ñyrcùmg‡£±R~yûW À¥ ûåS†B|8TÃÇ0ÄV¥ ‡N¯¤¬=¶-Øü>_Ûw×óU†£ Ìò4ù(¢FMK—S3\0O.§þõÑI¡‘CèTM“ZÌòèÓìÔŽ“þ÷ç¦&»™níjò¸•ÿŒ¬•‹v—åä[ÅÌø9n¦bá) ÄB auëýÃË•bt¬ö%A·n:Ámø”/KˆžA²pP$™bÿËFVã³)ëæžôô«öy*K~Š A Ÿ„ÞhÌŽÁjcÀnƒA}amX¦A¸‘y8eŒhÏzé’‰¹‰~M劔ɧ( ŸÍövžGl%Žf§+R+W^)Ür!Ñ@SÔÂ!^ U™CÝ;ÛÛµñ ¼ƒf¸1Z4t~FéuœÇ FÃë'BÇ Â^žØ(fá–¹Îò_ ßKãÂÏ+¤6]+\µZòá±k,0zWÈvµ¾ÖëÕkïÕjÏRgmàÑk^?UÚä'yòö”n ‰~^ÑÁšâ¬¬m#ÂH ÈLÈdØ¢£;ÛrìµiýÓ(¿¨Í¶ç/§mÌï×RÆÎ‹Š/{É?]]ËÑ%Üu^hMq†Fš]= Rºgþuû­Pñçf®ìWË»f`"Ӛ犼õÝ23‘cÕýXŽlÏ ‘;WNb™Z±²:…$ËeÍ}]H“hDÕ÷<éÞ)HJjäyÄ„j‰OؾÆyäòŠøýÂQЏ’KL2ì]Ka>ä‘!4ßÝ‚Ñr@xta»¼Ãwä7r(»ëÕS»ºÀ¡ÅX 2Ú5¸êpB#Œ.iAmy »©GEJXxë1m# ÚB]ëÂV”(/V[­ñAŒòÅ–¯6ÞOÝB@¾Ê"1+®¢k£°¥õ®-%È“î>ê†Ü Qd>‚yPŠù¥¤}¶ÁV‘_H—¶¬¨=‡ÇX[³öê^”Œ ¹u®ÓøBÏfB³?ò8J_Ï.y·/N¡sEI«õ§”î©°Á5ì2?¬0™5ìÆ§ßªÆ'XË\ ›“nŠWÊ)ÚrÚ„‚BJÈ/d8æªsÕ, Ö>vu½æµËú…—˜Èº“ÒÆõ¸4JmË쳜r3O‡Î©­ 4ÆŒž2Ï*c`8=3N²EöÆ&ømL˜Ð£ž[XªMü¼® ]»B•:ã~’º–ìIdS&[Â&øO¹¨BA;ePxöóÖªOªnñäfëíA¾[g í8¢Ô¥¿*®¹½{p¿RÈmF¨Dö´o‘‚ÖŠc˜ó ÷Ý“‚ÿ Ñëô`Œí¸O+÷¥`d’ÌT†ËhŸðJIì —;ëéáR©úƲœ8W‰¶Æ3Çèù.„4[YÎlâµ¼pƒ7'껌Bå\l ²Õ{;>ê•\tO@IDAT?NƒRĤ!©dAò… +t¶…ð¼y­y¼I ?ÚÏ6O¬ÊlÊ_?“a=²Ê&;eŠ×ús‚ݽ•3nw ÏÖ}„¸mMáѰÑÑ´¢ëžß¼0ÝFX[¾«ž9k…3êß=*óÞÍòÙÆB7AõÒ&q_ûÏ£›§6Þ§ κ1ëùGâÉ3k •=—{öø9!•𾣄ßú1ª˜n1J‚?­mxÐì¾Ó›ýœVŠ-‚ñ’qº¿ jrÚ31(áÛŸë'£BðKnt"£™G«5BÒªd‘qìÁ¥Nöê«Á“ Xrx'‚Ð @[ò!€Ñ! {º4ÞBzÊ©NõN))Å6Šj’bœáÃìà„ %Ò>Xvßy3§-K±ƒK·“”çÛ÷ÿˆ“Á‰:ëÄt–Úw¹‹]h¥Ù5aóþ¿cDÞ¢õßoSÁðêxwõS^Oú„ãíáwî» ’«iÉ[(EHWF'•–èÁÙ#€s°oY<œ",\Ñùú=.vnù÷ØÈ”òYâ“Fiì“bpå3^Ú<"EÄiÝ5°û‡nÇn9M¹·êT3²•Sm½8â§|SîÆi &r”%ø -èÛ‰(Ú õ1Ž×RBiR3x<¡ØîR9‰é€bJ0gÉ4^¥wù+ºD¦®9/™rK…jQ®ApJ` UcšÎÊWåf]Ëÿ`1£ôÔ®î¯× ¢õ5ÃôswËz²Õ™‚b¦Éã%„SäHñ›¬Ö^û^û_§ +’çÍܦôõoæ÷•oÌ»ï†ÍíO/R[¨¾f‚C£"ƒÑʧV¼¶ž)®GÃÁ9ÆalÆ5ÁPÄÚÎÎPŸñ ûn£‹Ôò(óèØÅ(Mc(½$‘PƒaÆèQ¸8AvžÑOŒOEœO¡ò†ð]¡Àóï¶SrѪ&_ù§|q¿rUŠpJAø|ä¶Ü÷Æú6&\ŸÂLycdñ–>HÊücx§¸"qGÝ~‘iøjC9½“»4b#ú©.Ä,¯($ØÉ0ž7 –°ì%ü#Pΰ­Š ‚0"¯€½°“äYI‘x'J#U¤®ÿ~‰§sw厎ÏfÄ”CÉ)rùâq÷s nê#ø†ÄŠý\é­›Ú-æã¦Û,î)ô× ÞBu¬ßyƒÕéªÖÛ 4¬b-z-IÉ[åá#å5»³/d^~$fšWî]hrÇeŒã¡p´å¬< ¥½Ñ=/]i¨ð‡R®Ú¬’N(½JÜÝCMˆÅÛѤ„!J Bê°ÑqÖpEypü…k»‰€•»å¶·ÖrQ^ç¥D»7õ€ìÐk¦Üõ ÷+*,·My—¾„ò‰t)RÆ-ºÝ3°òUÍ{~yVþj˰aaö=] aWæ!è+‡&á™жu·þQñ5ŒIÛ=›žÆÞŸV5bPÀgǪäj\}£G\ƒ‡x¯·­Í~ئÕD„Ë÷$wz™*C¬JóÇ`ÖJ<ˆœ“Ê…Ãj‰Sú„(Š3·S²ØøAæíîfcÂzÊrwSC{B²ã$˜¼£YáÂ[ôãÿf™áè~º.RZOA6¬à‚_JG”¹q§ä* îÏÍ@ÒÏshÜv8oÅdÞCž›Vb”pÃõ¡€ç=Ô'uk6l/9rÀ3„ÆÅ÷”ͽ/<:‚â7Eþô>øÒ5L˜.' 9 ã^GÏh ÃhùáÝ"D]nÁÜdלðmù¡cn÷<Ñ­ëŒ18 P85NÇí7ìd¶,´·A6+]-©ÁVÕæå(åÁ4ó—NÀ­ji;+&ç 0H]wÀÖ㘠˜)+›‚ îfW ðúİmçÙúLD$pan5#Œ›Æ(.ò$â1C|}B'ë炈bÕHçam7l›°¤$ým$…ˆk+éÄ -' “1š0žõ Ô£w©Æ~=œ ÿX|ÍF)A|¦!õ«’ )[ø1¾­¨Ä\cãݹÇw”ÎPöH:y&eœ@å‰'t†kã}KÞ-wî–MçLŒ&<4;:Zl .¯ÅÍŒÓÅá–&Ãý7<ÒªZ¦€9E¯7Å£À¤ÞÈ!ô6p4`H]ñ" e a÷Í^w#~¼”ʸR!søÁÅ*É¥ñÈŽ#Ý*Z{ž‘2GQjnÔ¿§ºÿ5m´¶W®ADÒìO,9Ô‡š'Îó`³¢9Œæ5üØò©]>låby ʳõŸ‚±¾Øì/K[Ñ—õ9ÇòZËäѶ%¨ñÇdp Žiº‚q꜂!I_Û‡Év]×i?w_{ÅS?º÷j2pïw-öD÷Ú³B^#&è„=ÏÔ÷bbÃ^ÆHÀ)ôrÕj /O¼§ìŸËjž{Є]}n2@9Ý EÂ4ÞžÝ"1êþÂî<™L#é3¥ô+GûeL+# Ea¦¬ç}If^7t=åkô”–<º53ãxÍÄÁCg€RS&ÁÛ”¥ñƒi·Ü^Ї€q*£àE/M(M"/V]J=¯+„‡ã#§Ç^ýÉóisrX¦]íïßÄQíÝ„–’ÄÜõH`:kÉÍÄêäÚ…ãUÃåY‡†t¿¯ç>ÛœðᆠÎßl×n!ý<ÆßìÙ,‚ÒQ4Ôx^Nãí¬§<óhLX~_7â>ÃÊ<ÔL8ÿ³ˆ~†“‚ì)Šæ`é‹Ä¢áNáÖý™Á1Ô}\K86DHÞÇÌÎó4&üë0c¡7§æ‰ù5éjÌKa3uÉÑ Oh¥æåùÊ):žÍR퟼›ÅïõGÛßR&VNŸ'iüèÞãç:73;|× oOïò¤‚ ¡ÍŽ¢ûj¤xM¡Mà]9ßò¤û}âû&$B}ð6ËOqÑô þò´&‹"ÑÏXÑ5OOþÉTßÕBûL(#|3\å;†F;^sj«Ž4¾ü{«Leé T@à:E ¯–ã¶A ×;îÆ´•¾tFÈœu .Ïxk-r»©ÎsP4)Ù]ñ“ óÇd(ÏélDÀaBiDPú²æèí š”ʧ.¡ÄÃ*aÈ!¯Í·Ê¥ÚíqsfjÁ›‹ž€vµÎŸÌZ­ÌxP’œÀOΆ%g¡Ð˜  ÌC¯VÈ5Y˜¢dl[A˜õÇ“4 åì\„÷%ú;§–)P¤ åiøFc¤òÚs®OÞ9>Hà-òŒx '>JýuÇ ¡qŠ„ßþ´B¯ÿ–›ÑxO?ößA¢¢J¦ ¾¥ÍÛÚh.ù}µÍ&7³>ÜrŠnõó@"^N¿åµÄœy¸†žw»ÜzÑàÁëy*,VØP:Ø#ÛúN—䓘UP¬Mý£kY1Ìs ÚŽ ]y””7@ºÍÔ5‹©Iøæá»[2¼EŽÆRt‡±?»¥:Þ&Û< ¡×(TÜ—+ÜöµS»û0Ø÷Ž?ã“›ÉðýÊPÖq÷Ó²ò†`‡“8ežè˾"è¼ñó°áÐÁÙ¸Y:!+Œ¹5ŒA˜;k›2mB­c¿ºZþTxØoÙ6a^¼Ûèyjä8]RfPµœÔ„¾—ä¿wÏoÆØ …—<˜h%ëBNpxYÆwºÅçvì{ãŸÒQ\¤A¼x¾«k´‰à!e“ÏøãóY?=Bø{Hî·H’ß›1ÕyšçŒ~-­ôïLN(ïñzºpŒXãðâä1„àÙiøö©8‰¥)}»É jÃ#ºV*À›Ç·¥+Ñöo¾¥h‡|P,‡išüHu“¨1…È3è|ÒzʳzÂ*fU4ÁŠÉ¬Œ0 êl»&œîG'¬`ÌD…1a âP³Mñ!ÃËõ-ÅHùsé¬rKKߨ©\ôv ñ†ÙQ=xÔ` –cÂKܤ¾G˜•£ åg–ž&%áöî5KŽcÏÀÆaåÆí+Aþ¾‡lò™ øpxUºxÝ{úBßìÛ³ýýmvÈ+š Gw„õF“tn<Ì‹(øÑñrÃïym¥­åÚáïÞåSÄÎ0c®OÐáe=Ü8×f÷#׊˞8Õé1×p'R<’å–3'øÕ.v˜’ζÍ5ð Dœp¸1üÅ“§Ä²‚ ɾ‚sÆuk–ëÜŠkB1ŽK R_ž—bzyf÷ö•ºòîg‰Ù1h^'`Q‡øåM `€X‘6wŽ+åK¬vëƒYÝ”Ø3F̆ƒcYoõ;HQÖ<œçøQØå*w|þhE@ù"À¯j[“-ïXy ·ã$©sp¢ð!?îf¹ãr78ç×.|(oB(á……õÕE«b¸Ç{†?ßÀX£.ÑõL.ß8ŽMNry{kòƤh<ý CN*j¿z0†ŽÄ3Ž” ÞÐvõàq&´˜ ÿ·ƒöùù{ÁBÉ<†]»53¡?–|ÐȘ”ðÌêfìžz€¨yÔDÙ6¡…w­b\iRŠˆY½ëçg ¶Ð_þeË–òÎýÓ­S#JFSþǃ4vJfÝ÷ëç"¤ ÛÝñ§RÜúÖU™@˜qï-oäiWž¤ï+0ÏÂ)õ—Š`|40”¬šERé—kí~×g‚b¼Y8*6Ç´àSá5ðrŸ^fÿÖÓ§¼BeíxˆSv9ǵ|–~‹Tãe =Œfh¢ ã.šX‚¤ÜlF¬ün÷‰‰Á£Ýà[m|†e£‰Ç&g ¹Ýc³cØÇ«ÐR—|ò¦ Gûn‘´‹_·nw]JÆy„+¥÷`ôË:S7ÿfK;GÑfØÔ(>Jv½¢v©ÏnŸì:%°K\™Š‘ÑéžÛâ•’o_´m@Iv¨bã³Yy {?9YàÌPW‰î^à¹Ç¹Àø„Ûy4“o×ÏÃB ò ˜¨Ð6<‹û¡âÞÛ=R ÜLÛ/‡Â÷ÕµX5Hî'5`›1¯ÖóB{^ðfÊøá¤ë ˆ—ŽÞ@ðrë‰,ð×l·P¶$H¦·~˶AjÓGý¶d–RŸÄUÞÐ'ASþú€ÑxÈ·ã#^t”fe§ÍSÅìå],·/«ig{FãW#L‘Wnˆáë‘çÚÔ0`»¶SÆ¢B”‡|…ýŒÑò`·0¤îÁm¸à™<âÕU^ëkkµ4‚©Ñƒ‡ç?[ËàI¡ë8:x20 ÕT—æÔoö6FŠˆÒ•‹L¼2üíþÁ‡¨1 ØR›B* m6Ÿ÷ DŠOqÉ;ùqæê¢&arViØ C¦0p|ƒ‹ï¶Zí–ã±ßÞSÐè§¿=òXÞÇ{*äSËs[fIµäŸ.Ågu9¹I¸&Ę3e™íóêt¾·ì¶YRûû<Ñ};Qjm†‡1— Ý`k„Y¼Èm7L#_cÞrÉùð„GùИ‹õ]§Ä1"ÜΖªpê\ì80bäBtmöëM}~tó8žgû208|*¼uÁ¤(½¬…ëäÁ˜ú­°ïR 9!ac°Tc©pMƒàýgY&X'Ï”ü‡Í©^2B¯)S4ÕíÀ_7ݽƒÏVa2Ï$íR‚¥S¢®ñÏX¼Rﮞq, šPþúK›ê >ÃB?Êž<°'œ)ð{8ÁÆi_W틜‡]Ÿ ]{ìkì7~YWSòHÙ¶BPH.<²À˜È‰˜üñT†Hû?'W³Ê¬F!)¦\’æm<ˆq›mRyžkÇpé9ƒ»!>¤îwÖ¬œì% ^¬\þÈ‹ë5È„‰Qõél£ž\opá\îÄúN;Êá›ÚdLXˆª—ÒÊõÇÙ±ý≽âšT„ˆW Ïà“¼{‚Làï§RTV/_¤ìSž<|åLžBjrVƒHOx ‘Çá¹w;—ÂPèô/#ŠWAgŒSÔàlYŽ€½¡!l—o>%lŠ=䓼Çÿ3<%®ð“Kö4´ýªÁÚZWûÆP”G+奬r×”ˆ²­•ÚÉÎ ûÙXËÀ‹x¹ù2–x ¸Ö_u<0‡€Êä‘Rr"¥6i&kä"}.W‘+…ê(!O5}y†s×·Q›àÍ\•iLÇko)ÊÖþ˜2]Ë BåXYaq;DêžëÁr.wyÕgc •) 7h¶Ú¿ú,Û›%}å#ž`RÅ'±-üòÛhë6L#¼êší+LKêY·œKÆ´^h~õ$yã2(e•™˜½>˜ÚX¿¢eÞ9ÜCžÐÉCÀ™ÁöÉùá¿ròéFÂãñ¼ _’߯ ‰&àðµ…·í3œWáÉ‚[˜ýh‹gヌ*îÆc|}QÿÃ1,§£+n(|1Àßa„ãxF€N5¼Í¶—óê]Ò¨Fp½zÇkGÇ ñ§6¥ VT<_Ñl^~|ïÙ‘/¦ï—G-Z¬—B“©ÒÑ«°ÚŒ 6‡Hƒ®¤aR’w dy]´ï5O¤ˆÛ*‚œí܇ÚuŒÄåYêèéx£@±’ Ä 7,&Ë K/ŠLÉíÑ¿)E3¡¬ó¾cCýXúO2x2„† ¿Œ€¡tþ˜vcÅ'c*•_JòÆZ‡‘)ÕÂh#ðûÁšÚX’ƒ'Ýzõ°ñ?Ñø5ÄOjÀò´ÒÄø©ñå<Ùª1:#x36e• ÌjZ©äèÇ¿<û£Hg7Õ‡T¥±-+6|¸—·7ÙÚfàáNÁˆu!›üjô‘”`ÍfÊä÷ ‘¼ýÈ¢þN£ÍTæò–'…T‚çí„Ø.‰˜'4·€ã•HÔ{BÒïþ~k ¾Ñî*å}3+®Sä´\ó#f†ïÖL맨q²s½ 7¸<ˆ§<(üjç 7«ºGÉR€±Ãc¬ Sc-5F^¸ñ)ÞY^dáG™©;`(ËÉèN¸.·ëÜ¥( ßÛìTÙ³{â,Py2‚rr»uäKá%½=÷‚'ïºudÂI$Þ ·;šð¨FíY…ãÂÒƒ³²Íï-äê9‡p6#ª´öÑêx¹ÏF Éí“ðchõ^>-/_3³«ÿ–;sN'&ÛEÍxÀXNj³î/8),ùf{2mr›—-§ xb5'ØÐ)0“À‹ 2Q°b¹œÙöó8‰²yÖÅ .o´ÒðK ™gb—ohÏ“D¸ÐgB@ §®&ˆZÌæÅb6Ùý&yŽmýB”ñsÕc3}zSN$rmäh¾ô; î–OE&<²ÈÅÀEÆÞ'ŒßšlX.]ßðDO|c°u¦êœõ¥)G[‚Ý9/:tþ{¡¹ŸvËí[tÿ½ –ájðì1»»Ü~#”¤’ì: Ï“-¹xÜ÷$&¶Í‡gS˜{æ9XiMlÆ,9 + ÁIÊb~foÊû¥£ÂA~cmŒÁcjãR.–‡'+ ñ.ÂËù¹Ìc +B‰RMí`ˆ¼7µOJáüQCßÛÉ 1J` -7 z_ÈRÙGuÍ*ÓRÞN¨½µCF¨zßÿëºÄˆPœ²²l CŸ TBŸ`§‡rE×l['XÂgX˜jKWEò·§øO]žr0¸V4~û߈®R iÂña×Íæ=Ò9tãœG/˜1C$¾=£Û×mìB¬¨ŸFï"@°ãÕQ”=Þyë¶ÍþkœKRéHÜ‘o…tM„ò”G*[ŠëÐÐÁÄJŽÝ…9ž•ºp_:JÓ웣hBAöÈùÌ5æŽÓ }t⣹A´-ÏŽ¢¥j¼npÖ7 V;g·Êp¢É«å<µÝÆáI}èTýz>e«îŠå«ÿ×?úV÷¹²Œ«Ý¬à \=Qaë^¯zÚ¹o¡P!OØ–äN_,ñBH.š7’Åa ã)«ùŸrB'ã4t{ÖÌNH˜ˆ×õñX >hfŸb(BkÔPÆ{—÷Ü{* íÜÙ+%)²¢4`ö…Röo olϵv/ÆóÓ£0(Ï´›¦‹cêñzÝ?laŠ"àÇ<@Ê»Y~á©‘ë?Ͷ„œÏ —£ÇÀ€QÆæÇ`ÎDï­dÆE:²ÿˆ7= ½E}sŠE-Oqå@Îö0´ÂŒb¢y >gGs'ˆ# 3õžœÞûÏS)x»SJBxÏÔ?Dó,¯<˶¦ï{v 9 €Â̰0p–ÂSÀ, #g9YÁhW<ïl:32p:¶kož°2@×”‚6+β6#æ­ãÖúÃÄ'ÝÝm˜ Œ'ÊN½¤+¯@6fNðáNOvo¬Üeãad4u‹‚ðâÚîCþÊV?ÆÇ¢EÂPöðzýÑù5q™°ë”F –ã>S6+I”h¿R¿s']×R€m\àQÂßF;‘·Ü—ÞÊyᣆq_®åf±)$¥9ês–wm‚õ¹Ù@ ÂS2DuAù™ÝÍóhÑ»zl¼‰›áëMGâK‡&©&"'uÁÊžàÑïDþ÷Ïÿlé²j ÅÌ¥<&g&&?~” àLé;ŒXn ¯éÿÖš†COP°•Üõ•`X€×'^Ë'ÓŸK~|;I‚µ{Œ¹¹‚„f­TÎVw•üíÎ(¯Iê×`¬íDýÐÉEe…y„W¡³»¨æõ6ó;ŠFá[xÛSª¦ÜÁL©ÝCm›=ÍaT¼ÎÙtZ"Þ1™p{Ø£ˆ2àìrTš×k¹0D¥å_A§Þr«àþù¥ð(Ç›ý¸>•"¶U@RFá\Z¦´u¢Ô‚¾O~Rr÷æøà¤yBpn›CgôÁÀëx¨|%šà‘°o9ófÑ@z£Ô„Ww=©*—2)Ѹ±ëä‹ç53h`£X ±q"$ÞdððÜôÄ·à5™š²Ç¿~Ù®ŸýZBµÏ-"$sZq‚‚\„Ü„%Ø=š#dòçK÷\PÉëÂ!KЍ=;9mÄMÃuõ ‚ý3ÀÖ-ÃhyÚfшÍZ™Ë¸Ùà#¨ö9[—º4¢¹´ >… ñ­&$ Ö½Ô§¡ 1t„™q÷7I@ðp[—xºáÞ3 Á¿ä´³¦ðn?÷s|yþ&4£Z¶9#z¶q6üv3PB§€¢ÄÙÍŠ•’¢×?Ê›D×td³øÒʉ2Vì'by þ©˜<ß6¤ °øE`y©S;ÅkÀ㳜_S$žˆ6¨ãeÑNì³®B·„‡§³Z§Œ69eÝ eó{4p1œÎ¤‹ïØL1ˆãy/¿ääÅ[q ¶y„†ll¸aÔ’Õ{â•e£•W5~°¡-®j愦V), •-ò ÚŸ>xVø4àv…ƒ?ÂS’Z5 CšwÝ8`4–ÿcèñžµ Q¡Û:.ãJ2ñŠ2 ZãoBIRí¾ÆËþðx°HèÞ»·>Œ:µYEþÚ)¯3ÃvD†þG¿‹Aõ®_ šÙn‰u΄#Y“:„…ãä¡ÏÆÊCl—h +ùøîg`íš4„ÿ¬E£5Šëìà+qn¼aªË·Š¾+’âŽmJ!¨qÂ5 „Cf xÕ¯¶[ÖáMóЏJ9í%)B}包¦vdoÆG™Íª#'§ TŒ›’Ê+Κ_|(4v‚ûTØ©”ð \Í¿&{l®ÒE°ǽuè“@7³OµPô“Ǽ¶ÉOÄ7¥¤`àGüÛM;uR ÁÆËàíðêTD‚é~ã?…f2e Ý ] µ³ô ’0ÝÌ•ÅÚ6¨F Xï«ǀx`ËžhZûwH™ ™ÝJŸ¢‰ó-úê3³xU–?z|x04D¡·œÂê¾MrôÛZ8Ü£siTtyÈü !Fïþ Šì­6ÆÌ8áò½·ÛüñÌ‚0‡tî~ùòóû&!§Z«Úgq ¶"¢'cv.¾Ð’RÅÉÿŸ§;Ë’#WÓõ=$3«vIGCªñiiºÓÒ©Uµ3IFOê}>Dl:ÝÝ ü}L¼hÝ#ï!íºÞ4š°lµ i œâÆ$›)èüVü«Ì%¤9{èŸk#ªä–[DêXWz­È3¶>‚d³v4´ó[ÕÁ l»Ý,ž)$njn}‰Í¶ayÊ¢?.e1’""*n)—ÎAAÐÏúÕN$8¯ÅN§ŽÚµ4 kj°÷{EÞ%l­É ‡·bÚ­(7™¿±(¹Îßg\„MYÜm‹¦Ådêo²©º¹Õf¡Ô­v÷О˜ Eè Á¨mý2àkûáÔŒý,Iƒ{¥¶t–\IËìM ¬\G;»8¼R8× 5l;ÜδÛäI5ƒ¥œ5É÷ü}g6Ò¦ÝNx¬Œæš¼Ól‚býÖ6ÀdvlÁ-!ŠðbŽS4ޏUÇ›jêJZ[²¿˜®Óeõèu- ÎÀ!ä[ió™ õT tª}Œ8‡a×4ŽwÇeÒ ­x»Ì-b`—pÕ®eŸàß’q"Ô¸£AML¨«sRBÓ‘ÑÀŠ›Yá|Ån¬ ~ {J3” #Žý¸,˜F·ú_1,LnIlÄ õj¬ˆß›K—mХޢJ¸¶Îc¦kô §¬7ǵ)DŸ™ -‚eÉ@íSfh4ÆÏº‚ú«O  ¼ÙíÉÀ0ô Úðp,ºj·òT¢×uOedz%RÀhZ}¸‹zˆ}?ü1&÷4˜;-Œ‰á÷wZàš±.“æ\ÄžÈØEuoŽ0b82rWÑ9±[‚5˸{‡ËhÁbûÖeJX j`™Û\-†Ì(Û8}ÝöaC¢ü§·>´†=æõê|#Àb›Æ¬­§#‘)¬ÇìY™~ÅåŽÇ p'h׬F–LýŒ轌r?p͵Ïz‚¥›¾2Çw›A×Ùvd儯qöb Ñ'8#Ð7Ü'ÉŠ±|_§;gÊ1%3wwaa¶pÆïŠFø¡¾IФ >% 6î}â›{0~KPjpù…$Kl†Ò ‡ê0|…2DœG³í 9¡«ÍhŽF1ø;À^©NeÂzH^2é»ðéàŒ3Võ±;óÊ u[mk˜ ¹ž10Уv³ºÊvFÁÒzŠäWÛ̇ÕòX‘6NôÚ1&KZ"ŒÉî \BFpõ9Q×uí–I¤¬‡«$ ÜÊæ¦¨?`lú‰4ÆÜ¹QÇ„©mŒ9k\¹yÛb£‹)û{³u"ô›í Ówý»ï#6‘.ûbÂêo+_ú`ü›åà‚¸µúó£ã±ÀŽ„Ô*cÌ8uÄ„’k5žÝ´ï{vÁeÚ'e€k™Ó»E˜Óá+Ì1Ïäò„gäÑWí(Ÿ~ƒKê‹%ë±\³ŠèÙ‹ j¯í»Bá'+K(g8Ê^ uïmÏ 5cîöæË?Ê¿rõ o¢uòƒ'’ÉUR:þ¦|•…¤äôxrn-ܳÚFlL`æÓ˜îõPÙg4ݰýž¯7).!+Á/³ Ô ›N‹™žÁË:qŸBë¶jvÝ‚Ù0ñ+¨ßë»CÐí\p]ÁËÕ÷òá@—žbGDqÝÞÓÅܳ˜"&§ËÎirÌcÿ5dÐV+J”lêáXé·ðѵÿ;“ß+'k1ìÁ ëší‚ŸÒ²8(6ò©g¢EЏe`]5¡ëئ4£3Ƭ“¬Î”×lFÝ_»ž,ÈXìÉÚ—±rM"¥þŠ~n)5^”4k%›qØõ%“Õq—H­ÉzJÜ’.¦u«hêsw:fá6ÎøFS¼øÄòƼت‹AàaQ2€wç§³"¥É‚Ú-ÖlËY$Ü4\ýÜÜ<ýhò¾Ì©©ª­cÝ0  ÒbÑsƒRçpÓ; ºÚþp ‚’¡ŽU™`PV/#³<§Ÿ•@™o'SªÚŽ)$)"g¾ç‚Þ…ã­oÃÞ0 –Gß½ >3¯D3Å€lÍÀw×þ%ÛߤgUP{—¸íö²Í;6±óLj6nq[#VÜsQžþÄU,b_Þ»ÊÒº±èÒ2®¾;OfF¼j ¾¸Óz½j«v•âòy“·„F'à?ÌÝ91zŠŸ’–‡ÔW4Õ–•E—ý.¦šÛîÜà|¿¡‹ì¾ç5¨'«jXû”Ë#¨¿¯Zó=íè*„è`éøé©'0Ù¶ßɘù}x_J\:4åW¡úZM¿R‹ë-ôhÆ‹b…amÂMp˜‡k<ÙuÇ,2~ifèæ…ö»ùzw´%½¹ß³ºC,î³Ë­+kiÌM!g(&™ñcÅÒƒ`v`LŸ02ë»Áù«¢fè‡lýFh‹@ÝÚxÖÀ!Ë)N¬º3Zý‹0¹­£ÃÖ‡õ ΄l×·vjG1U«lvû(-ÍZ¬ü0x¨X{LL1àKÀ@»™.D½:îÔÎâvïSr^ Z=kî:3q#>êúÝÝ7Eˆ.e¾-÷‹ð£Gcr¿)à¿æ˜ÁCÎ’yÌG«¨µŸ2禼àÎÕãO4—T½±$ô/4Pô‰GBŠ Qø+€÷ÞÇ’¡~ŸkÎÔ(ܬ¦­ŒJ0óR[‹ÙÑ|tƒ#•RÕeãô楺ÆÊõíN±¤¥6 fí¢rвç*ÊCS®ALÚz@;D±¿†<š„s• Š >nóc©ÎvÞ„(Ä ÒDÄÜ>,!ºrH6@‚‘VÄ‹$*«½ár}"LˆÝ^Ú³14”' \÷©é2å®ZvÈòõ3«•"®è:aïšþÑús¸>Yû´ÿì÷Ò˜˜ÜÈ~ë+âí©”„§ÙŠÝ´oܲ¿·:—8ËšZ×ôû¦°E]Bw‚' Q÷4_!)ß*Ù;YL6EHs¨—Øo10!êÅS;>W¨JÀgm£&¾«ÎpÀÚw^ßupìh4 •Ñ¢û)ºµë|Šs%¹cXûwoÛãÑbäð΃|Xí:t Ž­¼i;“ԾÆC´É+P&³d:µÖtÓ†)β`Àh÷qû­n³ß ”°¨¸[:ÍŠ!t_ëìFI;@7ikà9ÔJ£ˬ`§Z ÿ^¬ŽS_„)BE0[—#.ðƒª~0],c"¢½E6¥ãü,pïYð\ ë½À9«ÃÒlÖ"\ºx 8_°<#Ö¬?<áŽû®£$¾f‰àæd=Jx(Tñ'Ó–àng.- “ÜÏÕà$D‚€1;­A "—¾Y+C¢"RšßýÒÕh õøÕ¥´Ã¥öè»´ë–©ï\°éÇP\|ìÀ ó#tüko×Ö×B4Ïá-@—ÊÞ‹²r³/}×ö¾šnÎ<¾ƒ,$ê}ÃBNÙëÞÛ¾#Ïë|ŽJ''.ç „ÒsŒß]_Åp¬Ò•ä¤öoFÜgþQ (t Ï:&bìÁÍ"áÐ~HæÊŽþõ r”²J:ÆA0®«/ägñ’f4låGC‚;^±_ÑQ#RR_}¡Ý Ê,[‡ÅÛü!ÆðÆp0ôGxö§¤|ÿDúÙ2%¦©¸ò€r3,¿üýgú£Ý÷Æ)FlËÓ–\ßÄš°²DhD@MàËÝÎÍSŽÕújÏ*RͺÖÓ²ò¾‡Ü‰÷8‰\!¢/ôÁ[`wüÚ¯Èø¾“ÀdÈ@cÚË 3Û5 ô0$ügŒGãnÇ[Kô‚…L°œñ$X¤Aø“ìH–V7%Ñ[ ÉL‰¡Ñ¾c-þM³cº8ŽÄ°<‹a\p÷uZN[éŠBÕý´`Õw¦ AC¹ÎúªCA0†'h—Mý˜ãVßÜ÷½é:Ö1&ÎzY|ŠË!ÿzûgñ&rņ˜ÛN‚£Ëpl!ç`NPÎýǬv°Í²Qf4ìú\ãpõXéz6N÷>J'.ÆúÝå7ELÀ Ãp†ËsÔˆGV”à=Þê±Áì’ömétT‰à¼ÏV}'üth¼%là`lÎè5§¥ÉO ”.Ýúpó¦,¢Ÿüª1u£Ö“5ÛÖZÀlšß”Zt(ô}V/l–zgQºòhmp©[cHKÒ û„üên²ô¦6õîÑ’$‹a±2ÈÎc¹ÇO”GÄii ë!-¬à]뮓é/$ÄsUÊð½&X„ñ†e¹f¶œSk‹¨2Ù%3}GtJ@°V", ÃꉉdÀÄÌP»Vù#á° t®s³A,MmË$ãc´##GHˆÍ!6£ zc”+µïÁ:ø Åõ][¦A(:,4z„ƒ²X‚¢•ÍŠÖwmH©Iún%VSL-"WÂ@¯T–€yÕc E@IDATnY5kUÜíí¸7WÝ|ñáªÕØÁj/4çtüIx:ÑðǾ=ðœLu>!L’õ>Ö° ¾÷Ö0›°Á‰‘!ª£æŒvÍqsG‡ÝÜÍÍ@jßëÄV˜ÚµQšŒ±,D VÁùetJ ÖÅŠݵãxLíÌÊ ¬Lcm‘i}ÌÅ'üWGÿàx©.äG£—l¹R, CÂŽÝÃ2ê²2]Û÷•ƒÀ¸–]¬öî‚)ȈéSæhf¢Î—)ºvÄÇ€þ^Ñlp©ù&.ý ±Ú×7ERm`á”yf5”Á:ŸuÝ5¸5ŽkS—±°±üÊOBð%€ê†Ã¡vúšUïø¼ÖÆOÐÂ/‰ÜîŒ#”ývøe;¢™JlbÂþÂ.JD·AHk^pUß< F.=…9]UcËÉ ùËjï®_Ô–ÐÁ…œmE´9ÊðµžfqN6Ó±Šúájn?M›:Øô zovÁ%"„¼%ý»™ÜT …F²x’Uã—ìÎî¢ö—cþáe‰–9HWY¨@«d½ëgn°ö¬ DÔŸÄòß,uB6Ë”†"ßÙ,GÌfMXCeƒ«,ÂöµËÚÏ’4 :Ý.˜æ´eÅ&°á_ (H}›¡ÃáF–+…d×X¸Ý^à25Áè+¥Ú,F¿¸{Ìpƒ×o…sV¼.–G¬ßÎ×/×Þ™Ðï‚M46¡é(X–í‹H¹†{§;¯=¿‹N„mõDíÁl…ûküáíìãˆ7þ‰ñx-^ ~ö‰qâ`F<Ï(Fa:.KY7ÏÞ ¸[(\ຜáYÌLajÓTœÕ¹¸:léÍîq%êŸn»Ÿ[wg–#âNICnÏÇ@‚â=[¼±D[žQiªQ·À¡¶+‰ÄÙ¥òAÂüï1©1t…ëî¶;Â]Ü,ŸZ]ý&vsM56KòÁA4m1I„‡mz4:柠è‡e¹Îb³&ïn'ˆ1áŽÏ¦)O›o›…J]¦öƒy)wÃ7 ¶}¹$V¢k+”oFÔ]9o‚}÷Ö軋(*Û¸Û: *|j‡¦ÆwÌu}¾d1®e›ÎMˆë§&gs¦#XLí1…™òUu˜kîsQ¬ý¿êƒ•¥ŽK&‚«^fÉ$nbšó¨ÝÖHJk1‰©f¹cbŒxzµ¤±§Z|Ìê¢ #ô#c’$l BÕ²ÕÊ7e§† &» κ;ß/.)þ±ãùžQ‘%ªM}$¹Ói*É\qà”"]_¡4¥pº}oÉÉì4Í mÌ‹ë³u„Wö”̸!\á;÷¾å`ŽIµs˜†4k‚»’Ââ¸,k'ãBçÍ:d%VCw»÷žøf±"ï ª²Àˆh±&+íaúnóáÌà¯çõ;éÚÌL0ò"–7nQ½s5e5b„ef¶ä} &8R‹6…7x @-º&±pp°ˆAlÙñUbå™B»ÞÅPðª_ž†Øc⑾@æþ_Sž+×9T®mp ³2Ë‹AÑÈ>àj¯B‹³°´v7¥3­6F±’3õˆýM˜™·J5KP:&¶]Á>€jå-ãÀ×L[4±ò§%ùÑAèëK7§h6d ï‚þö¢M;ßoÚ«D1éiÀ®_éb€Ö¡bfLºhiÍÛªÞâ¥qoÀ6 ¦ É¡½ÑÅãÜ ¼ŒšeY­0Å@Í}Ù’§ÌøV·$ìµ)Bu1Ô‹%w¡¥Y=f^{\DÄ$`ÜŸÞhj-®TËȺ:Â%,ß&èÜlG•EÆl¶ïÑ%³œðwµI–nO@Õ/ yÓîmXÓXž? 3±<#Âä^Ïü-ƒÔ¾rÒm„(Ìlwîò ÛïgH}éx}Å|káÄI[M\º~Ùn¥»‘Ú•ym¦ó¬U=×m‡¨õ3‰» &lA'be0´>Bzµ®`ZàO@anHî>Žw«æ~â1å*Aí/k*îk<…b a ŸöÖ¢Wÿ‡ëJN\T×(Ý4pß‹í¶aÉjï÷‰€é¢ÿLiQ0´p8`AaQ.«þÊšeÑ Á,_Ö_ç0,ñ:˜Y˜ú*‰Ž8gÚn.0×/¦%uÞ¡´l”\Ü”†Ö¸¶Wb?Lp[FŽˆË²µš{“O\×ãÊÊÅ`]ŠÙC)°> Ôø‹e09·e$IÌN&$,!÷lâÝP±ÔZ+”Îâ§Í\¢³"ìG¬R†Þ¶&ÓoÙä|IáA¯qüŠíÚÖЗܲŒ|¨†èºU&¦Nwïcop×—1²é˜[ƒw¼ ~í;«úÑv·§ryq|L‡¼kûeEþàþWìðS_Æ®EÿЀ :–¢–¸LÀ !‰·tiÕý#öáË×`ÁÉά¯¾ßwרÌ~ ±°¥só‚)¢´„ Zfw”iÛ¬^ƒlIUnTÑpر4]m€#nÉ¢œ˜KÇi}€˜ìVT6ÿ‹€õÞ÷#(î°³²ªxÅÓQN¼<ÍRÖWc—²ê~ãºû¤(¬¦™‘®‰‹¿r‰h4×w•WpYœáÆnÉ­åb7sÎeñeeMŸY8‰±ðcúáZÖcí‚‹Ûe?¸A®š²HÀêïñÅAð‚öt\Ÿaå¡uÙÉ DgXì9¦FÂq¥£à{y v¾ ªð'lAÏ4鉹ð¯Ž×6žOHvÐJÉG‡Ïp¨çñŠÙ¹Ý¬Þ¶M‹®›’­»céɃ ýZ©g$ ·”Ì^"eßAcuœ!Ø–.Á ^S¾Ü}ô—qbð¨Ê0|˜8 ©·Ì£yÌRå>p£èºïØÑx̕ӓ:±wŸØj“û »1œÓާ®I¥å,ßL¾ ö¬Â Üb„ŽCè¢ØÒz9wÙ_ÿödòá&Ye“Ìë8h¸úÆW¬Ë!Ž£j7ˆÃcOÕ_¸°®´ÇtTœXûÉħ*üaÖ:‚u,xß\'«Þ˜•eé­îKý ¬o«>fí xLh<«C"Xc¤ }ÛØ lœÀš0ì0aXH¢†Æq¿¼{®^$ðQ"RtÂ98ƒËÁþ;xÄÎ= ´ñ«5à]|°šñ#arᥘ}ጠ“ƒéઠKÇ6»‘ë Ú¹g„ðߪRÔ˜XwáàáfÕ[­x¹n°ª” Þ[n%R·­ª°¨.$.ý¨G Eg¯Y‘eŒ¸r€ÂŽ-ù Èï¶½˜4ÌX/P«!éÈ¿½½#šL !Ü¡fi›Ëì;nž‚/x^‹ÛÄ&@ê^ ÌãÉÎ7ÆÜ7–¢~zÄ×2úâ¸- £™e,àÑl1­ö‹É%IÛ¨,U÷†$Ë'6K›RĤ¹aÓ̈ q‹0|®1¡ÝŠYªC›ajzËTʆÍQ7psg¬W‘µÑ•l,&¿‰G;ó1á? úÎdr¯÷¹ï)ÌkËbÄ„KÜ$6DçÌjOFlÌX,×€›™ðjÈÒ©w×/4N\ó𜛌¸µ¡41¹ãYÄZ®ä"ñé·\Zë——`!ìrÐÏ¥«æK¨Ö>|¢µŸ²Þ/S¸íólS|yW² y#´Æìܹ¢¶K&ë#xÁ°1ÄÝ\2°‰‡øº„(ÚmeU0ØÍsDc›ÜÃBW`[ÜŸuÝR­ zýE<ô=7F¥ $=â²£ÏþŸpoýÇnw1mcз»SÙà]²„õbl¶]ÓíÕuuñ •¦Ôdiýî™3ÚÍ]A,ë€îÙÅ\Ì©7Æ€ÜÐ^‡s¥,i‚²YOGcÛ>¨]YÏ'C^fÁ¶HÖ8°©ï‘<äGkÙ5 Ô–Ævî„\Æ?ßñоû4#^–Þú–÷V¡NÌï) Û†ÍnGSÞÝ ·|Kü´~Ú4× A†æLE¢Aí¢!¸gµrÁž>•¨„]*n¾–úÍ××þ:´Å®cÎNŸ6ýïZ¯šÁË•H ·º‡àIJ±;,)\¸ß\Š3¸RÙcŒŽr TCÙá”LªNùôÙOŽ»f,ºÙ‚!ôDPtã:ÆšÒ¶,¦¢±xhì™2ZÂ9Ë (x²’»Ø &QCv‚ìý輸±ãÆ]@ŽTYfŠaß^¾ÒôcãZ0¡aWEŒe}% }_]nÊ“B±Pã¦â<ëÑU}ÒúèvBŸè·7vŸ ³ó˜¾"vÍ»¥#¼ „õw0(EXµÃ RÀß­8zC_t|éw2~b³”Ñ`î8ÁíéFŒ`æ« eœµ1^ïã–¾¶Õ83u]mÑŠP_óv¬i½‹ñÀ-Ã_öwVa˜U4&Eˆ|=¯ÜàÚK¦ß×í)rdE’v]ƒ†ÖÀ‚œ:âõpc5%Z ˆ6”:#ÚüJ"µYö”ÖÈLkP -V"Lx©F¤¸iIj”†°xᬞfUêowM–ŒK8u5ŒÌ$×'àH– Ñâ€MS…ÝêŒÜ/EÐÏj0¸¢qçÒO²ú!%Cì/ñµ0 íÞeQèšuJH}š:™8Ën JSƒ 4QdLYÒÐAÓÁ.ŒAqmë|…h :”¸K”¸#ÊÞH4õî:íÕ4Ýwì{Ã%l¹ÑÍÅ‹U‹¡–PQˆú5”^á@€ºd·6¸°÷²{ŠßO·‡rµ –@yV7eMkê;Ü:o¦åX®i*#å?ØñÊ>;×qtƒ³„•ð^÷ f¬¨B¶ú"°Ây°l°öúîi™XöÒ›±1 fü5[zž6‰bþVçîÑ®5ì:ž( O!ÚgÒT_iÑ êûƒPíV³Y±™{ÏAÂÞ$—Ê Å~æ{_­ë8ÄÕö¦3³¾GAöDn}4À¦ýBuñ¸øeoõ{™à-þŠehs6Ü ×¥pÀ–j,Šk'põ¹ð ¢fB /»b4ï©ãI´ézpOQf;äXÂÂz /.·ƒ|Bѵ«]®EÂtn>»âû„6|Õ1ÅKØ^¯ eÿ3ƒ±¢{0ÆÎ0É^u²ñŽ at"œý­äu$-jG2Sé,Q˘˜9BW<¤Ø:eK(c.kBÅûá«"{õa|£€£OüJ56 ýÁc«Ê50.«-|Ck‰áìy×Ý(¨®,²]åDÓ74LÉógf „ù­x`e î󊈂â .Í®«õÕˆŸ®=ÆÑ¸¤£1˜v×Õ‡’Ac.ÿHYê±*&¬‹3ƒió«ôâ:ï½™«fÂŽ‘sïVå4«º[4‹UwCN;Œnë1M~ ²WW«¤¢¬RPÜTà± 2/`¶£nƒ_ˆ€!2îâà`Æ5Cmв½£Ö„÷8@Ù$ÓÆ4¶OaÐFŸÑ€5Z=ÜW‹ÿ-$„êŸõ+Þû•òÏšš~oëÞ$úó/ƒ5¼ÿ7žIŽh†Ã„¤v о£Å,ø‚Ž—Õ6øp¶Œðîñƒ8ߨr.Bº)ÕâÙYoHnÌ>”©à¶îLmSrɺ§À7ŸšÕˆæ…àVF˜¹Oû÷ØR‰G—oY-@øLþÕ{½Õ9Ù-‹šiO[Æ´ªÌÏTïæ–˜go¸†=é{D Më]mðô•„\7Hõ‰˜ýà}¦þ6^ç}Îôrç—m±¼4µ‹”j5ï˜lun,aJ[ *]·Àºë/œ»†Õ$g–¥8¥s„ ^Ú€1܈ˆFÆXÛts–”¹G6Òumy̲Ø#†Œ õÅ… §I‹£‡™d΃§W3ƒkïÅälŰmÞŽæèöo‚6x¢„~1*÷b_î^[¥“á×k.Õ‹Â ÖŠXŸ…ÈpJÞd«)üî¹I±$0žÈNcM¾àöo0¢¡jºè@ˆW˜Â¥6ñá„Y]4¦•»´ýCûŒNÎZé Š`Ž™HÞí–tǦÝ!5¦‘ Ö‡{ð\T­õrt‘Duž%Ì]ž$%­e±t:¤j]ûÙWêÌïÀÚKð=DáL÷Y[ÈÒzĈ #Ðnm¬¡áL:AÄ<.ïMί¾HtÌø¡ÄÁo8h¹°# Œ(I™ÖøM™£CÜÄáÓ×íH¡™óÁeiؘÛýÅV1S­5¹„}·Š¥¤~Wökamï wÉK…Ù~}à3¤  ÑÚ³qTVíHxªåÊ’7·ŽŸRZT ØŽ´ýš ÔÉžÙÜ(’Hq&^°¨5}‡!ÝæÁâ:$bßR¸•b:z㸃B²5ˆ¨þ¦ó À€‡SŒÜ^i7×'gŠ:”5Æœà³yÉC1EÑD–£$(frÕ×›ƒ¸Þ 4uáFqÊ’lä.‚½ÝãSï`ÊJ¿~'lûÊpMbá` °›®’í7êÔ'šD•)—sìðJ WÜÛ¼1o„?C˜âìâÆè¿ÆŸ…Y"Òôþ^à =\ûc&¹¯íXÐHW¨¹ühßm‹ð¡ëf˜iPãÕO0(¶{0$¼?v}€Ëa Á!ƒqOãÍŒ°à(”‘±*ÐâkÇy¦$¥öµýê_Œ\›=«®‹MÙÂ@Ãg³Eðœ$v= øŠŽážÙügŒßb‚+¦Z¢ ö¡i\Y“÷n†>¯Ü‘kYÉâ‚_[5œ¦D<Ù5ër ¶õ™€ac;xáñG‰­¦@øÆgæ—…^w§x»~ŽæŸë”qXŸiKYGlìæ$ý5,%ŠÅôÓe;s.‘e#vËàKÿ P½â!íOÊìúû6ðo †¹ð¹úÜçÂ(ôf!&TÔNþRŒ=‘¾2ÔÅ3ÁNÀÐs%3hXÆ[ haýž5šÎóG¯õÏâ\KÜ:²3…En«ì'êg[ë§E®s‚Š!‰‹ï¼!EÁR›% èV»šbȸWd„-ÄPÍ8ž2² Þ‡ñ¯A1‰ÁJA;~U¸åö cÛS[½V¬ÉP¹€÷ëÞiD±öH!Ͷ›ÝÒ+LãjzLëVa”„bké è_ßþjDëÎl},}ω êÜ Zw`þòäèÜ…›Ô»´+z§­WÕþæ~ˆ~„±r÷¬Ñ,^D[,€bqÜz½Æœ+NS¹,÷£p¢ð—@þm./¥c(L× ;¶†mmà™/@GlŠ˜+t›â2-Äcô£ucBp„÷ ôæ¹Á×MObå­Ú³Ðc ã›ëúÀˆ×ÇxáGÇU$¬$ºtï;Mæs´«/T³õ;w½×5‰Hbý¢«3+Õ…Û¯'z/¤©ï³tm„¶ä£l,'\eÃä#o&AÇÄí=Óè–K`£õüƒuž]·Gò2DuM 'ÚŸú0«=|€Y€ma©Ûé*/®ØR¤.b: $ã[W­7»z×î=`мk/ÖŠ-cÌ×_„è;„æ–k·) Bä‹ã´!A`Uä+ÈÎTãDqÑ´Ñ>)º•XdR A¿µæÍà´Õ[ƒfõìØÔØwàèkýpPÿ~ÁAÁd×dk¯$äL-ÆÌ`¥ê.dnp/!ɪ¸Ÿ"ºm¿š4œ°«Ÿ†ÝúÞ´Ù ùƒù£v¹™’B€.H¨b|Âjžz»?¤ A–plø†¶À >SDë5Ä{æ?à<ñjÇ„2?×A°ªí¢Ce5º¾¬j‘òthîyÕŠÏç.Œ3˜üŒ€ç)G~d.áæøð1JÇlB÷Á“®¿´%ÝãËÚS€C7a¼0bx0õèô”’]œÔ¾³$iŒï¤ûs¹u8Ÿéº<pýî FW¹:€S&´'«éWRO˜-$èÿVŠ)ÓR!ͼ_/–9Ì=ûPg)¢ŒÃLÅ¥ÍÌkG¨/m–ï»%ç–¤ì@ Õþê‡ 1ü]kw[L4·¶Ïe Ê÷©Àˆt¬ø¦§–¤[a\+ƒÉÛÂ,ñð›¥ç–ÄpJ-0S¿1N‰ÇxÄÝJðŽ%NµE<Ê!î2€ó1Á"€”FÝl35²ãŽã;E"Ô¬…I™¹Q-¨‘jãªaRîÁQ¤ãg±ˆv“øxP„û DVl5Ò #<çÖ„Œbv,Y¬?5F V›¼Ò’ ¼èZV÷­øÞŠ yž Å[VVH­­¶À§Âj_DŒÃ˜Ìm°Ú`GËŽMih©8)þœ[82j³Ð¦xp‹\“‹S“DkuÑ®Ÿ7`A joq¯ð&4îÊI†Þ3u?b>ŽÉçºú „ùf7‡ÙËOåà­EÅÛ&ƒ¢Ùí*¹t]+BWà>&i2°­ßöݬÞõ„1²õpYÐQòÄàŒY`Ð:—º¬¶)áKï _1w°o¿ÇúìÖhÈRÒV¦û:¹¬L¿Õ¸[ˆØw±‹P~g¡ÄY[ñÁ+Ó˜ì|Ý5XˆÔ¶ý¨-á“õ!Ô–ü8×߀ …ë*’‹g´KØÐ‰Öé÷WɎݘFë¡ ¹à¬çú@DÄ•0D³'àáb§¶Â¥¹ë‹O ¹Å%ÒW4³¶ž §XLªOM4€hŠ«+¯$¸|íî‰qy0h„–õQzêvU8° Ï× øê?XíÑ#CdE—Dé$åëÂ)Óf5,.(s}³y@–ú‰$€ÊF”o žÂmö©ë—1çIvsXÍ)æ8tì4¢¸ –EÔÆÅàË —E,BQçæW,^öÉÝI¬žch×ï‚ÒY¢â±~d0h!jw8fRüæú=Áþd#„·gún–!µo;A XXîMÀ7õ6‰‘Yì- 8óƒ›T0J^:Lv(ܨ(oܤgß’`–msÃ_æÈŠm¦ ±BŽø4C¸±p_åVª)Vü]rsnì/[ìF¨õiv(…õ¾Y­ÇYæk›‡'g9U 9‰¾Æ2†’Ò&ñc×|õ¹üá`ÂBS’ÇBÏÿ펺._ÌÆšƒ·øk爳)M)0ÁI(ݨ®¼¬¬fUðŒfEòÐSÏLŒÂ;¦ÌS²’DisÚeÈãK<\ê`’€åŸ-@¨?qm£fñwW\OK*­˜Ñ¨¦E~Hî[™I. øc —($ˆÜ‰gsüî}éÉèm»¶çÅæ†ñg¼ Æ“\ckÙ´o+i+‹$éyó`ÄÚÅuF~D¡õgO@ÄI0Ú÷oV' YäuŒyú 6ï* KÓ§ÚÆm˜¹Å;›RÖ.‹µí,ºNË4 ¦~;Ò†‰Ð¶¢{!„A@²ãæ>ùÏ,¤…'1m÷ÓÖ†e`2–ý¨õ¥èàËIxôâE1ü¯¶—¤`Xr£=o1«"®ácRšØ¯ß ð`xà| »uˆÜ~[î6þ¦9Ãû5¡3ûq’£~!üžÿ¸ó™¼Î ŸØÅ@Úñåé rS@´„wÿã7aVÞ³®|V|'¹káùÓ=/¸íÂ5X϶Ðw.%Ÿ†,ÄW{óË“ÙÖî×n iån ~©Ï`5¶,ÓóÁHrKõÉåŒ9]7Ž ’ ^í±ñPj¥Ô‹à~î ‚÷}Â…@ Í*L—–ð#¯­p¾þÅ>¾ÏZÖ<‡þR¸1(åXmlÊçƒt:|>–c-F ·Y×dz>Œç0½®ÔQßANù¶8¶þîÊ-&²÷ê`m³ãÍB‹(0˜ƒ³sãF×Í›P¦`ò&èg·TcöF$rÀ*§’°j€5õæ-Ï2±‹fÌ2·Ñ´·ä3-Ü–ú‰1誢°Û4%rµ°œòɇÀr“®q™| vÑbJOálceTNÂCl,®A¯p´âgväìÐVíw‰((HýòRM9"FÀ% ªê›6×Õ²F}öf¦“XñŹÑ<¡·E\ØŒE°gùŠ9’øY7Ò^Ÿ³Üð>bÖ×\T½{T3ó‡£eË–ಾ«‹EŒ¾{ÑvÂgeˆÛ'm;í¥$ï÷Ÿ½é—;YÕ¿€z¸…ƒ¾Yƒz,Q±MD À”äü*î£[kˆ6χDÌÅýô$œÆ 7a!*jO´<¸±ÎçYÅYSˆšÎ–®Å8JÝQÌÞc.jóZúS@®"£\z­î)1%KÀ ­/=ÍJ‚FÊ’Ó%8`G¯w‘Æ×FgÑÒQ _°üŒ¶M£]\We¨_36+ytkÙñêØè¼JþGOâ< ˜’ƒ( ýOŽ„ÐEÍè¡ysq÷g„­§»Ù*Éì·XÉM0g³Èİ –0&…,ØÑæˆ9æžÐ ‹‰Ò”ñd×Õ>AbE»*KÑâÏæ“7/*#ОegÜ›ö,lú¹'8bxnM¢$) b‰¹¯_ ‹\͈م˼BzÖÛYZ£ìâ¾Éôú±EÇ” qõO¸0«>!2ºÄ =5]ÊÐqN{5²ˆYo:^,Éå?÷¯îµöoÄ>´©íð~wé* —RÀ?`aýY¸·Eo–I\Üq‚H!ÍܸeИms§Zí8jsÑ~¯Æ†ÚŸñ¹PH V®“‡È»VÍÎoô`ÅW<î÷”Š î ïúÐ2¼OæÛ(ÖaY°[çjWjƒ¿~Dp$mj=ÁPü…áÈKSwÏIJ±4 azÑlïxÁ÷z‰@€íÝ?hÐE¦=ðu<‚[/M£Ñ‚4aBÒn4݃n(ÀË’¥òu…iî}ƒOÍB7nˆ†ñ̃õ»‹«ýk‹fm,\xU×K˜¶CAPÀdÂIØ‚q¯>Gña°±Ü\œÏe¿ Ú¹ç¢Kà]îq13 {ùïiŒ=~,¢vLìw˜n9Wß'Bzüþ°ÌÆØV'ú _×/38ÌÔÞµÚ¹‰ª«êqtËI™‹nAogÎùZD ®UÕ|𓿲1*mXœY¬æåü–š×ßb>!X5sÖ!àåf¤­4xBx%Â*0|ÏøÈmȬY”›5`M1A×ÁBŽBÕy!Ãr•pèK±}óà uÅúP,!à BMUôµBdgûµ7\Iµ¢­g«}¸Ò„}µÀZž%r©cá&¤Áìõõðú°¤3,_}+—l‘Á~,Î6–ì.[>1‹£x&6Þg„Oµ®áMЬj¦|+×è;øL1n±E´ì‚±a•ú²þ„™Ë½j&fõÞç6:鯯Áº*C–²Ñ=b3»Fàή#å‹ÅX ¼-чøÝ¹‚¯äˆB:Qœ° ×X¯]Cë·˜‹×^És÷¬4Äà™u4Üõ‚ł—p˾S”_­âž•Õ×®‰Kú¿÷¦çÄ–õù&îÊ*Ïí"&pk# >ŠÓ5\tã®(¯ ! b¼M3ß…va¥õµµӜߔKœšfSÂ(½Ø< `°ðõõ”ðÂè6ëÒ ‚µú+ø´ã‰Hv?ÎBˆ {(×¼“Ø®6Q,þ&â¼ÎXrvôbϱ}DÇ_ÑçÆ26pj­_±­á¢l¸PòÀí%‚[ÍÞyYRtÎæP…TâÁijã9Öé<á.¿Í‚ƒG2Am܃:{li±W·Z;Aëjĸ~ßô‡ž³g„ÅîR¿Wó ’¤?òÅ(!©¿0$;ý¨HÄKX·UšâunÅu˰¶q^Š{h]ýùŸ6ŸGÁøñûȆŸÒFÚZÆhñæÇÒ©:«ÁIJÖY¬÷Ä>®ÙŠ™¹XxgvÅWǨM•5ˆú×à'©þ„Ñô} ‹ð¬" ;ÿEƒÅâ6ÌË›$Ôº˜Ÿù‰R]³:ZmNÖ}*³„W1ÿ⩱ƒÍX{ ‹”ÛE"…™Ò·!ø ¿,Úè|”»V”˜M`9“h~ÉÁ;¨Ñ4Þ¸+}_Y+Oœ'L&ŠáŸ{ÊÕM)¿«ñ†úÚ£±=•–DM ‚«þjКOa]¥¹àøÕ²¼›%E5Å—ÎK|ÅÕWõqsÙwA¹õâŽie.ëÜÍáæCi—€·Ϊ ­4 ƒ¤#¨JÁs¥l2k±‡·pmýÞêÈW°½¼³MFŒïÌîÒï:cëE|@ëÏlh`ž½ñltæO˜ú>IË()YÖþཬíVÃ-O×M½jí€û‡‡Ú`4~Ìîé‡)6lªýö¸ÇÁ¥|‘4yŒÅ¥r•é(¥ å4V‹GûÄ´\Dÿ7ª¥n(BCÄóí¹«m î¦ì$j„Ê"U>Æ`«T5¦­]õµgüÉÄ›–C÷m0uW8Ä÷wwÞTØ86<ßÊ™ }¥èǺQüà §7å/‚–%N;úœ)ÃÓLEý£ñ:fǬ%]BŽÆþmµL¼ÀY¹Å—=ï§2ÒõB•h%fu§Ý©æ¥þóÿú¿/>ÍTæn^>6 ©·_<=<]Ü~ùÖ2A 8n¦™’ǿӾöÌûüç7U†kÅC ½I;_~”á¦uÏäžSľýÖÜ($ ^;ÿ¹ßJˆ×2ѧïß§y×|ûç/ß´_„Î ˜$¢]u·Ý¦sÒª×,ÄíŸ^¼ülÖ&«u› ¹Þeo{Iè>‡Ã]m~—ˆ¼T¹¿ì|±Œ¸í-<_³MØß|û·µIÀûûŽ=\<ý÷?Gn8s‹,õí—”­ÓYæ§ÇV޳|•;¶yÒ½GSTâþœ&8œáj”|~莰jƒüÿ%˜ó ÑÝÄ¢ÛË9¡½þêAˆð¼ºøþãçÅ×?Z]|ý;ºY¸y!žZB˜2Ömr,çí}Â÷òÿDƒ§‹§®õ¬»O_Rì `eOŒšÛä-ø o:n)`òôòL ©gϽij¯ß¾Ä»„¿¾ž¨»¦K»æsr ?¦dV,qøùŸ]Ü}ÉZ‚é©éÓϵ‰6üü¯¿»WìÓÅÝ}JüÏÑí*ž‹¯üýóâÛŸmš,\þŸÿû?²¦Ÿ/~Ä«Žßž~\üÙE–(mûóçËÅ·?þ¸øYýs4·À•Š ?}ÊL…Ч¬çSLg=»QÅJ æÝZ˜;+ Üfy-Íÿ”õ`äˆóX©{š¢Þ"¯Í?dIor#_Òn³-?Zíq=L‚ó¥÷çOÝû\_Ï æ]D~úùãâ.ü„æ‰ï>±Ø]Ó\ê—~UýÑž6_¿œ‰øÇÜèÖ3×÷£ÝÃX®û”âgFx>‡ç?$Ø¡‚±¿Zäø¿¦Äâ!Jxï¢ÈMµÊO17Ù)$8¹ûÿªAy‰i÷YŽ/]o©ÛvË‚d_¿ç÷žåùœç  –ɽÔö1)´ðãKx}Ž_ÿó¿þ?Ú˜øÛ·‹‡x dáåÜšÎÓÔ×St²,ŒR£‡%a`øÜø¼ÇC¸~ÏÃMI‚ùg‚óG™zdøâEŠûùs†¢NŸ’…çÚß§è_¾D_!K‚þ™Õ,Ôøñã9g‰î)°¸rÔ¿ºøÿþûáâÑêÛíëÅ—ÿ㻸ùçßIwzIP'þ¾xHÜcË-ž³*ßÓ+^¥˜õú–ɧiOäWØc<ã Œó³þn¹£¾K6ï‰[i«»í[³Ærtý§„õ)+¡Ê~ÖÈE”ˆøš5¸l£Èë;·Fÿ¼øû) ‹[o¾?E0 QŸ»|~ µ¡Ùf@cdÂò×ÏVÚ„úçû·êíâ¿hÿÅ·pHl}†´ª_²,áóòãW‚–jW@ý©Ôb=-~ î¬ê<%Ø×7߯œÏYÏ¿D¿´úúî1Ø/þjáBv7†¤õ]‘ÙxOfn.~>¥1û)!ºM¬&zøþ:'œù”…ø™×yÈj~a‰BõG´7ÏÜœimmÝF'ž ö¿¿UËM°Ó¥‹þõpŒG¨„D€…ÆwaéK1úm öä¸/EyLجÙ{èŇ—éŬTJà>šÇ¬Ð*¢•²–Šè©š‰ú‘‡!Ü‹ñãÃú|xüyñï_£w×ü‡0ê.¤iÔÖfEü›´Ûw‚ó3LßrGuüñë'áÛ‰¯cX–Œ@Õ9 ~Š(„ò:­»ÍÂ,x'Ãëò›PÌ­Æøx1Ùš<,ް/Óò´&d¹ýOY-–‘«ß踒W¡°y²Ý䆰è¯ã¦Ä’‹d¼K€‚K’ñ”æ:/>%`σïs×=‹¿rŒÙCüjóÚ›…¨ÝK4Ù^/1¤îRº` LqŸ[@»Ñ,…¤[ü5ë*0 ¯Ü]tbYXW–›‚><äF¹KÂÖ¸Î}ªÞF° }ìx#TÉò}ý|sof¡6]IØ[ú?YÝeËŒÖë»ëÑX²™‰ðÛyñÀC÷2ftP)¨a°v ô˜Õìq”á(ÔºK`ÿÈ+Þ ºN_WrÉO…AO)1†{h^w…âxyADòò ÒûTG]ˆˆ1ú~×ÅŸ¨á2Á¹˜„á5Kùø †»¸¸¯Ã/ç>)0Ù« Õÿ&Ã;¶:P¿ýÅÓ,«1Šu’›g÷”Š1ê…ˆ‹jÃ}œÚYåq%© ¯/â'YoýAžpx¾² ¯i¹Mÿc¹n÷[D\ñ.øs°9¥“ˆ’&ýU\ò#¸„øWSÚSf•P–©¸k3%Ÿc¸ž§œ.ˆ~ÆÃ(Œ¡L9ÂÁöQšŠ”+ž‰”ôcv@2ø%kx_ÌI÷~CRj1ÞuüùYèñc“¬R4ÎÊä˜'í‚ÿ,Ö Æ» ¸>'¼ŠàÁG >|aëKÊË¡Ÿ²ÎV­×Ž ¿®¿ëZߊ5)<×KéÄŽöý»#ÄS¢%ae„>%œ„ âW³7«Ívxþß„›;¨Ã焎Ä".–¢* €.~33rg _L…ÂEìÚšÂÿ”Î^έÖÙÅ]ÚXË€‰„s7nw~Ëó¦×îx©^%F:`áx£vî9WD Y&zôÒoœñÝq–Ù Ñhºr^¿ë ð..IYÜÃÑbK bi‚ZÉ¥€€GÇOõ%úb¹_ã!æˆ-ÑY–‡¾6Æ×’–%HᬠQH¨¢LVΉ^,&|:J)<â*=_[Ì`ÕáCL= RQ˜ùm¯n[åÊø)¼~$8ú9W1‹â™9×èë†uŠEhŦ,axrSz×¾ôýdÿ’ʨ„^½õ~j°ý}Š–9Ò]¯J½l½öÏõ…&£Cˆ!nn%åóñ\SBxÔÖ‚UïÑó0:'š¸¹fV­‹n»øëWå‘2Ÿ4žf@yÑgªYœß@Ùßç¤4AÀ¼K@–m"Q@IDATÖðjK1"@phÇV#W[z*Æñ~IˆˆM'?Kæú˜éˆÕ¨iQ.8ñÃﱬ•ÐBÈ­Þf…gö×&…((p•÷Ý㋬ûýçÃä'Ѷc‡qÐ;Ööi®-… î~ã¼QÖaµÂèCæÄi,õ}DWú‘‘Ã÷©Øò±ØcNˆ&{¦1ì»?$ausO!Æ×2LIÀçÚÿ,ž½qG]´!°›ÿQÒÁ‚1"wÁ¨ï¸Þõƒ²ÂJH$áÊ•~°|^›ÙHQ… ä±ä~p"€ƒòd¾’4æ‰ð71IFbÍè!‹&Èbg4r£—k ãsçÈ EÒ×n† .âczEå†2™ùV–v,cjÀÎʱ.’„™m™°˜uq«(~“HpelÓšæ_á+KªYVn"2hÌ:._LU/m2Îc)% éÇò%F>&¬¡ÕÎ<‹5rÓ~Bœb—›²ñ#83(Ч²8Vøs æß)¦FDíoÕ>  ¿¸.EÂcS÷›Šh]Ä}ðæöwO.ªDSV€¼±YSV‹E‡÷Òx,ø1í)fÅNÑ› :ÏêYç¸?BÎúý]ö=‹ÙçoSXî‡"+×ï,Ôh  GtSt Ø„r±sý4ZôËæâú ïá;˜)MŠÝ5ºjؼYõÃB×§£c–}RÔNü·[´‹bW€µÿ£’áÅóNq‚,–ùRq9H&8bÕ¤Ø[kW‡|éBå‹F=ÝHæ´u{ø¦ë!ÇÍ0ã&±w“PŸÌö±R1& }NH2æ"wÙg…Û—â«*0‚–n eIýÖ–ðq‡2ZŸ5£e'FäîË⊇̟¢cÕÔð®Kûn>ÑXqY„ĵ¾˜’Cü?”J2ûß¾}M€"jãÆÙš‰Yÿô¹:Û.g9D“4ÚøðaêB t öÝoC0y‚1Ú˜î ÷1…5JPïpŠq}—õ_!_f. Vsë,ã[ÊlUëËž$,eŽ–”‡Ç[£Ú+Åšx±~ϳÆñ©ë—8Ö_—LÄ„·‡>`Üá©4EWb«í⻺œ‚ø¬O;<¢1Z€O¦¯ó-h}‰?ÌÍÖð>«Ç´[ ûA™Ä:ýT×KÛÔטSÙâcïç4ç)«©$"aøTlô˜ù~‰(À¸¡0Œ4ànIž3×AÝk™TßíÄÀ|¸S‚mìï%:³¡H,–e&l_Õà²{œC8!Šàþ#þ@µx ae³û©¶ê}®ðSœ¼ªÜq£·ä(B®¹¢ù–Û;탵spbÉÄf,ýcf•W 0­Ù{ 5£·t˜xkÊžîßP“üpÃÛU+¥+!Œ™ñâk¾—1ß$èp_F¬<Æddøm÷{(# åLÈÖbh::¾£õ+‘ø°Já<Ã9e¸ Ô„ÓH1‚õå=aÂÉ Ìí¢\D®{Ò½¾x2^b.Ó®m_+ÅOD²E"ª¸³bU,­‹i¿âîŠ@Ìê·û$?7õ«àS|8÷Sk5#ÖBaÛŸ_àË”çJ²´oiÍâˆà3ÑÏõ –ÍqÞ´3YaÖMZ{ž±G† ¹C6Bd®[6Á­¬rÿÒõÑîâ«Ì´1“«õ¥o1A7õzÛš÷1|”I—%'2Ö×ú¹u½Šen};ˆfù¸+«I0’•&´V$}j-ËSd Sb–"âGÖÐÈZd1C¯<ÜâY’ÓÆkqD!ïbñRÖ);Vß@uÌ|ÝÔ+:¡ÖÊAp>f;Ó©/>TH*d‘$šÀ; \ó {ïVN™  eædAÇЪÿ1$Þ¼ÛÆ~Ã_¹çcžœòÿù÷xvá%Ö¯{£>âw23§°ZØ0þÌþ„+íïŸÿ«òÚ=û"Þm A™Ç,ËMÉ—‡ 4ÃùßI×ú«é­«ªüÿ(HƒÞmz„Mü‚© ³›¥-ȸŽAFØ«d jƒ‘b.)!{|bªsoÏ?#¦Èˆ€3+RgŒÂ„5“=ÞIÚúó1FÂkú ¨_»è>¡ùäb妉¬xíOÙ§¢oDù¯ïÏMÂsÿ ÄJ'8¡×¸‰P/¼(Òeñê×fh¢H^5Ôâs÷´êÀ]—À]¶.z%Œ°ný.a“•'‘z‚@ ć狿×·xûg† ’fFÃ*Ÿ”ßœ1¡G#”{&¦èÜ'#‘KªN.ýkV÷üJ˜+ñC!æ‰*»$,º-ü„*b݆L ñz0‡/E"'ß³rOµ­§ú¢Â…”$¹a,¾DSÓÌÓÄÆ_½RvJùyæ»þ÷þœµÈX.+2WÈ…X7˜,,8gR¹dnà„ïV¢Ò'«¸%\š ­?®jKÞÝ K)#Ü\8¢Šã¸'„´Êˆ1kÓz›û,~™›’«DØ;†À_R –ü¡ ù6 “åF·`®Ü‘WÒ‘\¼4.wÏõüøaºí¸íH1œÓŽÝJV\_c ØØ1w·ºýXâúC.ôN©¥?–™2-¤hü$t׉ÁNå>¸4”eqˆ°Yãž |ÉܦÇóZ‚X\j¡CÖ÷sñì}oñ)±Æ|aÚ ð—ŵP€@°ôBÓ TÃÉö¥ÛÖ#}“ȽÓ9 É3ñ¿W†—eâÀÇ‹B ÙЋÃñgã)™‘¯%K]¢®ÙâUaˆFJ¯óI³>@7g[ýëÛ¿ý1?>¡MÂ?Š˜Ubf½dƒ÷ˆƒ‚®¾Ó˜v+¸0+ÂFjÊ»ú[J 8^‚Ð5ÎO£2 ’ Ûb³Ï VÇh3ÁW* AóÔ¡Yi D¨P€5fiøŠÂ`f°Ö»ì®é@B²¬ºŽÝôN!$N„ÔÍÞpýQRÿð"ˆ³e‚\´ÚÚö)T’€zú tƦ`¾cÞÏî¿¿‰R:Îúí8Œ&øôÇ×àeIz?7­e ïÐ$‘k¬{M(58ºNòsÓ˜«+Ö·1‚$aduÑÃ/`žZ¤O¬³%‹XúsIÞ©ß ×.Ëd¿.%˜ï]ða@öÛ4,+0¼Ÿd…RϳÔ7zHºº¯8¢>W÷c&o–È’bØ.–D”¹dQ~Ö†¶°~›µÈšÝßíü1É®!ˆE ¢KÎ]!6ácQß*%ü,Ö83 n¶f¤î,€Y(³¬à±X&A§Ñ˜…©·ëzÞ²±¸‹”„{3"QÕWÄý^’ôœÚ‡û¬Ó * JL(·:e&m3-7ÚM¡l߯ÜÜ$„)ÞCô¸/.ìu¤ å/KÏ•§$‹¯b:ëÈJb"ðÉrL8únŽ 7¢û«ãèaQDp MÀXêÆþ¹äçxY«yyeJƒ&Â*ïÕ1×ñâ>ÅŸï%%ÄÃÆº…¯‹­-£$¼Ù[´üTòsVéȾY=e-çÉþ"$â÷:{è³¾Ì#à ]KBTÁ³FI§R‚ò©qAÜy–‚pÐHî†;Þ­uD Õº Ö˜ O®Û÷ˆËò8vJ¹¯˜ÆÒ1ç,Øæ |LÍZ@nÖ/bˆùž"Ä„– ›dE™@̤Øk2þºeV¬ ´ ¡e¿sp‹  @0ôß[ît,{DØꋹKÄV·ŒàË®ƒÇøO¬n UÐŽ²d‹ˆn+ŸIE\qQ ŒÒý«ñ™ø:z;~pÓ^̙Է¢9œ ¾Ø+>|ir)ïsBüß-‡³ Á"Ü=ã8£aƒò Z,ðnì%9Ñ’°î¶… ÎÓ ®b~òqøVÐt) ÃíKnÿ£¾é ™.qõ«eìðÜêñè@y„Ê¿¤­óäç#Œ@7´–8NÛ(h`õKåu!òˆ=N$æÈÒD4)¿i¯CS±ŸRLÂܘACý~êýœ ø|éÓÜ(KÐ0 ;m<Öá5‚¾”P Di-‹«ÖG€)‡êú¿XÂ…IÚôØ?Â|ì0Ä‹é§X÷Ü#GáϹr¾GöZç ˜Ì`­¶Åz¹uÑØËzrob^JC{( ø’UkÏí>”c$«&`°„Yä~S„ºìhk5fPþ#°ú ¯Ž±°”^QY€õ”ÁJ†>¥xމŸ?J7,á²è“«ä‚}²„)!f‰ÅËsáo–WR‡ B„8µw1ÌàÛG“+ÿ”Âò|¥SÑ_±ú,§#¤»×ǨŸV[-Ù«ßûjË36×2ýŠÏ¹)OÖþòÇŸ-Nmj‚x_›ì·LeÔÍncˆÀÇmœ[íÏà€&é}ˆ˜O ÏKoñ…êŒîÐZÊ^Ú.a`Ê•l¸0VR<²¾Zw-pŒ¤±ãÃø³µ£E\!Ò¡UÿY 賈ɴk¹ø0Á^ù#–<ýü>§ØÞÀz Á…`ª®N™°Y‹ Ô±X9–ŸµPr ðw '—³l?ø…#J<Æç”“Yñ)޾ƒXykÖ– ô²’åsôàêf¥;®ýIà\ z"s°%dáÙ`+•ˆ «‰/< úÿ¬T³Ù–ÑJŒÉÕ×Qð#ñ(¬[(Þ‡ÀºOÐê;…ØùHNiðÈðú ,B'ü=‹R»®þÌQÏ{Ž\òh|SÛ³þ * ó%(þêÕ €•¯bDîNCf<¿½cð´”ëxh³†´ó­ –õ!3W¦² :nþÄ<9 óGÀê'"@P®£¹?Ü0½#ÌøaÚà q¥ßÝ&Ó Íª‰¥Zá‚y'¸.c‡¼µrмÏõM;O9æX†Ük‹!¢ÑpÒGÝÒyö~¬»¥ùÜݦ«àܹ ]gÜŒT¬!¼CoÊÙæÞ x ìÄK<ÅìÚû@V›ÂÀã>A}h"ü£ÉŸJO Û¡…iIoÊ“>°”Áãu…˜PQ"ÅpJ”hD·h „ºè= x…öJUõ}ª¼\‰R4èây‚MŇr ²œøeFþÐðó®6íÕÈrSñÇcÒ»Zø"‚Fži9x̺kŠê±Œù¿›ûãE¾t?uÿîƒ,¬rÀ?,ýIKn3ÿ¬Bíu|N3¾CÙÒ"Eõ±7;höÝ×õñ­Ive 3+ »{`¿| izY¯2ƒ­~= ü±eUó˜Ör¯-Cn7¬’¨ˆÐˆ«ï;$„¬Îö^×QoÉ@ ^›•¼§o÷e—zyމ„&ÿ³Å­ïS}ÜWôýš5±ó•åO‚ï…ŽÑ4õϽ¿ûh(4¡sÉÏVr?W‹äŸáDÙýÛùj‚¯â½$«òç–¢ëetÛ½9 覿‚[Ìl(ÂE€M °t „…#Ê+Û˧þš$«Ä+/Ð*¾ž–[©þã¼mpi#¶ŠYÚ(ÍßôU SH§>TÛÆ]Ð\[8ˆy–IÕKÂJ‰iβ¢˜Acý^ˆZd0÷U×_ƒ‘«*@‹ð:&,+Xþþ> d‘éî•$eÁÈ—g‚}V˜†ÖÇ‚íÚ³þ¬3 D ÁÊ7§„´?ZÌ‹$¸\ÚŽÁš%Ynî:‰Å¢}¯ð˜¢KŒ*°rð^É"|¸R³Uè¦ g>÷ Xø –ÛææOV^y¥þæ"£ùqÍÆ"Õ^<Ì+QL?._âSPŸ`3ÍöJjÃ8ÉœÅu8ƒ}wô…÷‹g¼Úôë- yWœªTgÊnªŠ‡„f¡ ¸kx%ÓÝ^õL«0í6†š–.sb…KBÀš±VH¹ÁI×bÄQØ\p6–MY~ôšXlÅQˆ©aŸˆ)n"D\’ ×@ˆ^¬è¹ÖÛ¹¯Ä\-°8ÎoKˆ)vLŸ‡ÇÚj«w?2K¡íj¬lc^ÓÂpÉ\ˆÕdz= 1ƒ[g0ŠŽMÌòt%wwtpõ½÷SZBeÆÇ½&€°7ßÊ#³Q½£cÈabtl¼šwIR·.ÚÀR¬+‘›»$Áþ×_±£Å­V)-Ö3&ኗV‚ÿÑ\yNf™¾ûcXBtíôú+ƒ%dF»ŽN¢?E¤XGˆ/7ĸõ.Ð Ðýõ#%ïl4àEñŒÇJê~<„1ê;…'¨Wæþ¼ljS#©µxÍÅrÊÀ­Q}ÌúYÊD+¿VÜbÏ€µžÏµ#°Ü„Œ8Š”€óz‹8Y§h9ÄÜädnÑíIû±&K²ø¢˜®ë”%”2É'ÖªþylŒhpÙ%ëo (ÂóXPD"ô]Šó–û™¹~n aç6´ŒøÆ]¶Ü4ÿX›!xYŠe«µQNØÜx’)V2?n%WÈÊŠ/V­-¦$ÅTŸëãÌK7TЍâ±Þ," ;"MÖò”j#b"ªLŸ›#˜B—¼R®Ø2)%!Ån™çm.ÙCo `8¹Ž7aE Ä…õ`F£Æç½­4v¿­u–›’« ¯õñ¢øðÌþìP ö‘È2´ëßbÏcÉyœ~7&%ÓC,ð„¨ØñF%¼Ñœ‹exðQ57«AxáÅ‹ ƒ¾§g:.Fo´œ9jAYmø?þñ-³Jx2•˜¤`ì†ç·Ð*×+/¤y4mS4¨Vú㦾aÆŒ²6õAJ`¾#€ÌÈKÍŠå²báhµ7 s'FŠC“„-{Š»C,x a]̢⚓Ôqã}¸3šïÅ2(hËââõ…[¡³p ®vjr˜½‚±cYÁ†;Â[û—âft8 'V°mt”àýã[qPÂú+«#æûÖoYü²Ï>u¸A1˜[Q4ZôÐúËS²Ù¸•ÚpFO.}%„„µÀ8ÀOÈŽ5Uÿ#àܨiS4Zφgõ¯kêïdÄ<÷Ÿ,„?׫xôY$ ÎK]Óø³²G¹ßOD¿h$2xcŽö}6TßM“Ö«íî›ë ÿºøoÝäœ0^åZºjëѬ6½óñmS91šIŽ’!_Æ[¬ÿÝ?BHç´Bžfµ_4]¬C†sD ¹çÖìÝ;½öIƒyŠ©OÛÞÁ~+JÎÏbýÖ™p ”˜ƒÙ'Ü.°=c>´‡eµ AM϶k¹@d×Ñc :¾{sܯ1˜O"4¹íƉXŽð–©ÛY '9×G? <ÿ¸/&œÅÑÚ_˜Z‰ò/†mxÌçú»÷¡ ÆßmîÉɺ*šÿ(Dzj.»Î —þêØÁ‘©#\Ìáçû´Šn—ÿŸª{[êØÒ4l„$¯U}ÿØýt• ´Aô÷þ¡tU'–•Êœ3bìw1"&ì_ Í:ÂÁò¢87·®/4˜;ŽÅR º!êöÆ@0å%‚å´º%ÕE¬|£Ê¡ätZòº¢ÃÕ7ñö£ë–ÏîÇ:®bïƒÊuÈÚm-”›ân>/ýL ¿ÓŽ·{³+ h¦Z dÞI0/ÆZœoøŠø¨8„ÉY‹0#ë¡ *PgURî³ñ‰àšƒý(£Ý×Ãy;’£(³[³Z´,"r:¤ {³¹ôf¬[K›³Ÿ[Ã…+ô£gp 0áv”‡ï+%ÔÛ²?â&q1X¶¿¸ñyØ8ê8‰nÓ²„;V§ ìÁ¶4GÿXª7/•/(Óô«±Å¼þV w†Ž¦‹ÈÜë}û–ÔMÔ‰M i”{c>f®Ûõçĵ¼¹õ}÷9¥pÂÖsgb'Nƒ/Æ™)»b1*Wx°sfª›ÚÔž¬Ëþc1£a¨ëæ)"R»4‚¬y7<ž¶x¶¦eG½Ý´~Û]S"±º¡NWµFYŠâ¯=…H\àŸµß‰F öà·Y5šô¹ìË.~šÍõÉv”%X n“&A´J`zÞËÿÛb¹UqWÙIŠ/˜4©¬VÑ›»Å<Âh–ô“x4ëÀýMCûÌË=$Îgýj4ÖÌÐH›õ˜0)+}Ÿe;Ë„ Eø}h€Cy§ÿS-0á F–€ëãæ$dp¦,¡¾WºjæÁ°PŠÖu‹;tV¿±ÑoÄžw´·wýÍU]®a·ž ¨èô’M:êCM©WöY OÄ{¹Äé2o/´D, F©„G6–à ½L-Ä?z¬ÎÙgG„7_˜îŸÁîô>øG¹ýŠmÍ×僭Ðñås¬Â¬ÛŠœt´¿ï8Žº5?e­I2·ûúÎàâI ÂÁ‚•Z6Ð>'D*ó~Ž÷9Ëäòþ‡Áõafš¶YÈ~±ç¢K s»WŒÆò3$<²J?X‚D\›‚9gÊ"Ž+±ÖÜ%a 0Rºq” ¸¸²djm—>=n$ éïJS²ØîExM¶ðœð cï…‚r«;ª4O!à»·©Á,ÚtÏ#X1ò|~ÆkúÞy‚2]5>‚òðõ[4VNÉ­þüV¢†'ýäÒ’³U,œÁò_%“ÊJY oÆÀß,¨XqN?`Þ6ð÷½8}BˆšøÆM,á&t?÷)Å^Çò«5f…ý ,>$ o-mqÎò-Z%Ž“«ÕX]ÞèBNm•®Q9Á‰èè„pc±x²­Û´Å+~á)ëŠpÛÍ PÚ\ù¶äeÚõ‹ÑqÁº“»‡‡uì‡ä¦K†´ï¶Ø±ËO¼Ð @V>‹ Ö•› Fõ9t°|xºpbh®EYÖ‰FðˆŸlzg1eØ,ëÂÊ[WÙw¢º¥8˜²Çt%€â]جµ÷‚ýn\{;:§!¬‡—}Å“ࣥe8ngÌî{Œ[ƒ*!îd]]3zÏýÆ8ÖK,­#‰%…Ãçh}# èžÓ ‡ô+W1„‡ÊòL¼Ò,vø.§:|´œ›/z¡Ë.êomVàAÙ2-|¢;Áf„41°ÖʋŎœ“r)#C"Æ<êÕ÷ê†~Œ’ ˆï¹T–Ã1–Ð>ôåç‚^5B&Ü–â "H=±GZã!Aª ñlëLÇÓØJ Y×UÑÄpíŸc,Kã>A÷±¬Õœ š°åæÕªvJ<ó‰! C6éí®_‚S¹ŸÓþSV™¦NC#Î Ö›B¿Ü«¬5XÉl¡ÜQm§ÐjíNνK!)EsFP*F°g©¿#Ð>:UÕµyÖ[òÅÊ*m çt$ñÜâjï÷ ‰L).aßw)¤ÆŽWÛùöžB7·¥ÀÕF§¹h5œÔá(Ê,Òh¬>Œ,v8žµX´ ·^`"¨\äV=êàÃÔ®C7 J©þ¿±Ò¡ÑnáW×÷ÇÆ<~tí>žBbçb÷ËÀ•ÞÈLxÜ {Y–À/€,fJpv O€±’·#. meëìå2N@»8‡Ú@Êä è#`³Ï"€=$ôË^³D’»¼äZ rùhNv «±m´sIÛ ÆrѰmâîÚd~n]b`A^Ñ:ÍJ}hé©âOYP®±îÛcAá|‡ÀÜ6I Ù+m4†»×ò_È <;ÃòËYWŸ¨³7)—GIìtéP¬Ñ9¡C‚=Íã>–‚rÍå½ïRé\ÿ©­W”R­¤”`Ü–|Í"å~eù¬–ë”q ëï{‰ec6%¤0, ñÅ`§(©ìÀ` ìÁ6?ÁéüÚÀ "Ëû©dp[9Ëk.Ü%¢$z]Ü:®…}Ïò®ÍÐ@–¢)ð!Wª¾®•†Q<^m(f°;퀵è;fÕê !ƒìˆ‚¬×ˆlð¶óß&€4 ±byß&wÏA˜€Ú' Q ÈEìUÍjõ= @ªú¢vçÏáªãB˜}.±Õ—ILÂïÕñ¢ñÄ®ûÜ"}{+³†Y›,¡æÖinªïùGVÁ ÆT`'à…ýPBª-Þw¶0®Ûº+0ü{Û*Y›Ÿº`ô‘ØmËAÏâ>Ë’ëˆiÂYªæ@þ÷®Íê+ÂMØ~&(ß dü>gr»ŒE‰•#˜b²ãÿÓñMáI yBìEˆ(›XKŠ«¤sWÞ°cHº­,–ó(6o"ËŽïâlcO\ͳ—  "¯¸ƒK”!z²œ´&h[EhÚÁÕІê÷ ÒÍ:^fMÚDúßt[ÖÔÍ•p#· Ë'2—º^¨RÖ+7Ūqµ,’`ü±ñ%ÆCX² ”Cb–í‚!ßWŠŸ[ò‹`.冸¸;‚B š¾ñ»`‰nñH!$k£«}(æÅb% ,`—¡/îmÉÍ("³ÄR€%j)(ËI0¶w%Ú&ûY›3æ„ îÆYBD\%Wû¯ùÿv ¥=Ø6&}°,V‰…÷ Yx³$1é›p7×O©.kÉx:ÏD0³r«;¡OP‹!ñ\R7eësÂ$Æœ'®!¼‚rãQöïñi:…ƒ(џܺ—yιâÀŒƒŠýCRú£‹Þ×.}ÓÓ(oßš-ßWWR ÔM«ô;iVJ^þJXŸcN§÷†\¶,¢‚æ!A&xŠÈ ‡ÛÄþú¤{—@ç%P¿Büq‹öݱÃiìÀ$¸¬è§J B.Nù†y•JØÄŸNL-¬üÙZŸ¸=Bá±ÞUƒ+„o\GÆUðnT°¬\‘€üR3l`볟;Ýó&æ^ƒµ¸í}ѽ£æî$6vóËäJ(0Ê2þðjö‹èDÖÅrל¬Œ³X.?û:zm[jp9U„ºx>æe$p,†—xˆ¢üþãkxåR|Ü+·Ýöc „Ÿ¹ö/‘íÏ`»Ï•¼ÏÒèîf7fÉmÌ RGáiâ¥TêºÔ›çÐ@K!Yt«&J_;ܨëˆÌMÞ€¢n«f÷ù]´LZÁ¢• ¡ß²£®K»ëÛðï‰K©c‚¯zÿTãñZùa)£- ?:|À˜, ¾/Kc·ßÃJAØ4æâ-ÅgGÉÊiþU(¦Š:2ã]/øíºîÕxðÛæÙàÜs$”[šê­=Öx5£r9+•ø=3δ£LIJT/2þV7z¯»UÜó©^@'rJѳ^„DG5ÿñ°š‰`9¯Ri‡)fêUó?4Ömœ`ÒwœZciB`¯£œ#Ñâ«÷UØ£yÌãÊ!˜»îh÷îÍJVËóHQZ†¼q(bǺ¬Žz­AÖ^†;Ÿ —ÚÅ;_å[.ŽÔœÑPc6¤ Ü!“Áî^\šk¸3è]·MðQá¯SÇËé D#ƒ{“³Ðk|ÓK|nœ~‹ÓÀ‡ÂÙNyIzñœÀažJDÄì:VŠBƒ©ÿð!%Es‰Ì¥44î€aÅâ´=uµ"V‹Óºï² &Ò5Þ /G·°=¸}På00ø·-Åâ-Xs">áò…ÁIüZ¨“~©5BÑš¾|ùË®âú_mŠ<-:thyµÄOâ9 DÉ$Ï„!ÕßbE®R,!›"l„y‹ïŠPjáfmvôi óSìr4­…ý[.=—y„ïŸÁÞE¡ÙwYH­Rj‡Ž¼Ô²jÀ)TNÚ·gC¡Û’š5fBd±žÆÿh]Zç S(ZLÈ”¢.{ÄÜ^bÕ} cÙ5gf¸V& ÝŒ5ÁJy-HYŒYÅîwïÜ×Ü×ÊÂŽ/\¹šæèÕ Ê‰š4ÞÎjÿHÀHd»&K8…µ)5Oá§95Äñ<|Àí-%.½!lB©lÂé)¡¸ß fDâÙŽ'`‰,øü\B¢­Çg+/àqûdªëÿioIV‡›EÔ\–…÷7‘‚igÓü:kÅ ç+f¶ÑæWŸÝ Òî °%!®£™ÎdýD‡dÀ'Kœê›CÈ,wÔk‚¿€9Í”yZH`ÛàŠò,šÅoÍ]>+A»‘ XMÙÖÀÆUNêÂÍÏMÊV3»üß`“78ÄPçLkÁ{-M.üÝÓ~Ä0~ŒL!P&Ì- НÌ_–‘Ðk‚¶8Uo%°ï%)è4Ñ‹±'f­¾Ù} Ñ;'š<þÁ=æwqІÓ£©˜Í¢J/›käWûDŸ¨ÒG(rÀÑ ,—f^ƒï´”YÓe•½0,á œ”÷”·$bÆók!å`h„7èĸœ"÷ɦ…ï·È´›Â$nê+Ö¢|ÿÊ)oƒËj eð%5@L°µÉÐU ì¦ÌmÛÛÛÑ`,¢š Ë^-w†p„qÒßwêˆÚñ5| ,!œ÷¬Ž'ë[ÜV£cØ-— ¢ÅÁm (‹ñX‰Äoò@0vbjß±fêY‰ù¦æ¶EPÖË­ÀOôÔ #+uõÇßYa™æM]l¨´Á:bÎö5G„_÷rÚ½Ør Râ¹ß¡`,bS°êØ!ˆ¬â–§ªmz„Øm±.%âv°Q²îa¡ý ZF.–¤ØáêúÑ“«èCÇR‹Éцª,°há,,•,›eÄcBC%KþŽ`LtGñþ¼„CâLx÷ÑŒ!ìÐÏñß\n+ây F×k¾„Ìu,”pÊßÇ ¾Yø¦¦œ[íIùüö: vq¯Yø„ v"Œ,¤9(m_,¼òŒÁѲ­ øZ3F?V0¯@Z׳ì3äOWö™à jO5½˜)+èØ‹(¸Å„#44 \ÀlatÏìe膬[Dƒ»–ÜQ¢cßÑø¾c±¶ž®,«˜Êۜھ¼Þî¼æh.qŠã !Œ!~ˆÎf6'á–Npº‡r(/x ¡!ýÙ#¤îz˜ËçO1·g‰A%,‡Ð€µ:)2L&, b'd½îý`s“ZVäþ4FÀn,–U/ÐØª†ùÜC&ÑaŠjüpÓQôšfØÍ7Ïê%|w-!:îXØs\p°#I0Î `º€µÑ5ž³R,~³NpÃÇ)nôͺ‹Ëv«^ä#RnœÑ£ÉŒ)ŽgJXXèÅŸ r–ìXû7帩.¶‡Í¤:ÜëÚ$̨gÅÝELÇzÉ--NŠQw êøµ>@°b8Ý,]”3KÓß²šÂ•еLJ AG›»¤RTZÒoË€;9¿1+Ðhˇuy¼§ æ;ß$+<·›6bº…z<*õUBRžõ:®—ÇÈìÍÕ)p¿Ô©«F˜pÓƒ ÜFÌ_Ñàc€ý;´á~ ‘°H¬‡¸¸ÚOÓrù˜IX€' ½ BÓ †¬{ÊÖ˜¼ÊKŠt+Æ{1&ëóð-ú¦°`{šÕn¬Æ~Q‡‹,4†é)TüjÆ\ošr£1Áî:‰\·tc/ôé4ãŽY×Þ&Ðà?Ê¡VšŽ-ñ%Àn”Wfè¢]—-V G†„€Æø#ÙpoLe0›Â4™n3:à{¯„×}§¨}–j—ì´q®ž* j`ÔU¢ß xN¦«ä+V`ýWBz•¶}.t<ïÎQnTòrîÈV Xž8R§Ëé¾=ÔÊ5"!yÔÛ÷,‹§h Ç0TUŽyJ8œüù»bó'å™ÁuÝñš[j 9Ï7Y†–àªÚ±ö®†x©îö+&Ë É%ádâï¬ÛilƒRVã:>WéÆyÉú| ¶«2mZ»'Iõü´Y°q•ž7—ƒè¾ó"Ú’05åî•TƒfqP: |vWckij21ãVýDl¼BßJ1L±bðؼoyŽ»q?V*Yh3ûÙØÒh‚. ˆá·]|ÛgV~"ó\ìc¥’ˆ1gËR^Åõèso»&:D‘Ѥwú,U,x P±|ª¬¿8šÕÔÆú,`³$´Yf¶ ‡,kc{äYP&å{¢f‚;æ]Ó§ßšViqÃÍÛ# Óg1£¸‰Ù;Æ£IÕÃVåon݈ÎejA×´Gˆ´ëß®¡ #*kɵï8¶ixˆ©‡ð'IIÔ+0'›1×KÌ"&QÁWJÁ~+çQ´\‹¬T°œeê;V4qJ1-Fö›“T¡Ú.öl<ÂÉx¢ÿ~E?š0úTLGpg4C¬ ¬¹Ð s…«ˆ@bÞbȈʂwW4: ǪÛ{)Ÿˆ•'lÁˆ­ß“‰Š¿*rNY©F¼|~yq7&ö$ÍkÅ÷7Þ¬àM›O&3ü¡´¾ïåi[ Í8…ñ|2ýóâÅ‘Íså‘€§e„ “hTýX&“Î'|Ê!—sáÏú$¤X y1ÁmëȾ=ÌN¢"X…übl(Îb¤ßc&“cƒÍ9F츌V2°Úø°Â2O,Q„=‹Óœæg!ôŸ•±B#î´¾LÍãæÅ>„‰Àë]¼KãÛú±ØM æ×G‡›»­kÀ¯,%û£Ñ9˜†`bàåw¬š¡Y¬ÀÀLJ¨ãEY¤?ruèÀ»+&DG¡º¿û[üç:§B,~kâ/_*öÛ¥8eêÞ!œ&Ä%¤^§´vÞSBI¤Dý.BоèÇ2ökÊÉS¨£¬®VÝç9šÏ¡=Nn ¤ïdá*ý¯Ï)2üÐÁÞmÉQ“ôi×öóÏ ²€"X^6SI8bÔjv2?Ó1ͼNëb*aö‰gM!tÌûÑFc¡™9(DÃø¾š0\kÇÄ+ºü ÈÛJгh}N0Í+ŽaqY•UX‘ Â™P=X*ŒZ´ögîŒÐèhþWBö‰õ $+0oñžZ(<2WË5nÐÆyßû?[Cþw¥"Á\ç:VÂH†mƒKA@n‹cY°Ä-ÜÇœhmȹ×hA(Ä{®dád÷Vvà‰i£WŸ³„j¥º§ÑíÐþ(d#F)m°â ooPü¼|N8 i7M”hÐ ýu¡ýñ–îȉ6,–=F(yAgÒ »:ªÇø6êÆ'à—˜ZG¾:Ìî‚àIÕ»¢ïìÈ)å:gJ£‰l‡ ŽÁǺqåVM˜l„æÎŒ¹“O ¢1Û=ˆ÷}šÀ*ÈléˆuÉ»û˜«¦Sså¬D€ºÇø~Á>Ö™PþhÃøvÄa^×Ú„tž/rŠØ–È8B"„&VÛ Ñye¦ÈÁ]ÈÆ%a'½g åô%ül[uR{ ú5rtM @™¢/±w½›Ýâu Äb9˜Ç„*‚…\Ì\´–§ÄQrjŒbD– <<ζ\¬9.…é’`0æ?d½Ÿ¥l~®M¼.‚Hà÷,–>s¥Z%ÜΩQB“šh¤Ú5~N…s#,èMÁ:Û'[á ç¤ÿâeÂÛÒ*$hýR°Î:q L5 h¼¢æV#zÿ©>´0ñ¬&ß~’}ÙaÆßO[2´?œ·÷–•ª3:j‚†¶iõ6š „S} ¢Åki´ Ñ:(Ô//M!§¥þÒsÉH2 ˜0ö~0Š0+êþµMSÚÑÂ1$V7otI¨#Ç\ð‰wlÝ”É5†Ï³—_eú7n+‚7>í·BtU …‘„íó—’‡‡ û*|×7MÍ6p­Î2Ä‹÷á¼l–‚ôÏ]hãÊŽ„äÐÿ<êâXOÆÀKX2ë_)—¿ýŒßM|Bœ,¼¸òMY$‡]0ƒDvªôqLs]C†›¥BEz :#a㣋Ê%†ôÉV„T*röLß&€!çub€ì&šæÅÉÒÜàFD"É4U@ KO\¡%„î_KO3h'Ú}@L?ZÇ­]„u]I(¹æÞh‚ÎŽÑ{)š(.=šñ"†ö*-^6‡‹:¸®¹yïûw\ מB4žâ¯ºÜ»ÚÝužnoŒ½+ê–ËÛ¥Ÿ¿Å£„ Ê”NQâj WÂ_èr]-Œ¹ÅÅ0Ù&š¢'!A·K7ó˜ßè,Ëï%»Æ£Ô¡¹O/1âã1"©Bð5ô×gþ¿ÎçÍwxsqÓf«Y!]ÛxÄÐK¼Áa‰í§[ë×p"Ô仄 Œº“Tµß“‡~{uº­–ìa'à§AÒòSð5 À?ë&ãkdÁþǾÿwš[µ¤ú\<`Á0"F9 OÔ¨P­«×fsÙLJ3ëcßÿ3Ÿû^w[”RΆҞæ£IÑ!Ž áM­Qêr¿•Kb+jªYqcÜ‘¿ÿ΢~ﺟ!¬õ½QÔ¤ïhónæcx%Q%6µ°guÉVk{ÓP‡”ƒç%~Ùëp]÷>‹ ¦ê£¿Õ€Ð\r´‡'KñZüBØ€Tô4‹·:ØuñR”¬ës Û}dKn¾û³þÀ¬UºN¾é©PF“M ·>1xCÈLg›$ט…ο³¡•{–ˆs«$¤ÜZ3OP×Ã,Œˆ]‡ú0g?–VgÉï·¶´Æ{WóÅÃÏ”*Ø0T?§‡m©9ž‚ûùÕã3ÄwA•Âõ¿#Ñ´£gã!%¤Q%Ü<ÏäwísÍRÜZRÙïkBUlM)á4[BAi玚èKgöi£±¸íÄ%OEGµÚ§ že¶Un$Šp^c Mƒ²R‹C(€{›Ð&<Å'Ã}íQT:S"fH|‰f»Ÿ[QéßCî‚ÉVN„| áÔf.ËZ.Ýb Y'Zg ᇚW—Pø.‚ÿë_eæ¶ù&Z]ÛRýÏ}gÓux…§Sa÷ȆF 5RLOÓSÚ.梜»uZÇÛviJœ@!æSÌÖ£-ÜêÞרà™kbâíŸhdñ(wµ "é¦%|˜ßøoÄ}îcÅ¿v0”°h½‚Ñb—õ‚˜ØmHA,x<ßE¢÷<—ÚèXé$y‹<$H¥i&TýDáœ@‡;d¬è8«pVf7ó¥ÉáРì>x„ —ŠAÄyA—wï[ì®NoØsBÄzb®ö£ùðn;1Ó\+@Õxßëò™÷LñÌy€zo1œìa)ý%+õ¿ìºÊÄ93ï% ùU?ßsî9rZÇë ¹i öº±Çên¯ :]^ÞœRTæº>ÊH¯œø†+5¯U®b‹Q殹­„ê,ÊÎ)¡‘~/æD˜ˆü±ù>'[wux¿>>4~×›d‚ðQ£ ³:e´¢èRù?HÏ{nÑ·ß¡+IÂ"ÿóœ„Ä:8ë)Á³¾Q'„´EÿUC°M)½ÆXî̺;‘0Ý% 'üëlq]Âʸ-¸l×IH,sÎM7²SRÌAÜ5øFhÑZ]”½õ –l ]{¾M`§ g|V»ÜP£Ã±hè ´8ßùRf}’)+Hy:R‘®«á,Š_€YCf Y&>ÛÜÒ…Ù ÄMÈÒJ©¿‰LhœK6LˆYCc°!‚}Ïåt­e ;ëõȬ'Ôkã^i®Ì‘VÚ.ˆ@¨F¶‹ìa6›Ég"œ¸Ó|âC3;G@¤ÊΜ᪖NiCÛÔUO µ¢¡ÛØn¶J‚K¾Üë1Î?¡ñ~öjâÑe^É Atæãƒ;(Ó+éG˜C Y:›æÅV`mŠýÆ|ev•XçƒËNL›·+ç’«Ñøógžª« ƒ"ý^R‡ÙèMøö8 …àîÝÜð3<-ˆE%œx5Xlÿlu°<Ë×&`ÙÕS.NjÐËfÍ8e`1¤/¸õy‚þ:q}+Lñë´äeá£y1 ›ÜMTÓ?ÃgåúþÒ^ãFÓ¸Çâùy»‡&é¯ãò4bîÉb üe×q±ÆU±Æ6Ÿßpsѳƒƒj‚ô;MEx¶d›d¢¶å¸IZÈMSÓ@ÄÝI[Å•ÉFȰ֖ɪÆØU³âñ’…'oerß`ð¸ÙÖ¶ƒó5x<¥‰Zã°dÖ^5Ïw!Ð K/ÿ§p„ ÁÑ-XAŸË~±Y-oÇÏ#†Š¡z‚’5^Ö?á`ý6fã[ì·|HW³æñA‡¸ù0ðÌ­×ð­@]ð¿´`q(.¿{×ËÙoÏçx~pbp¨X4¡ë=íøe¾~À&1ííäÎk³oÜclÌqË £m¼ãº½Š§ßxè;µ¹”ˆšM»P4:À ˜™X>I‰ÏèಡÁdŸÍJ5‰û í·Öw%"ºlº)+’ÅoBÕ2Å£°Rˆå¤Ý'yˆ’›bУ}s;}6kH›_OÙ!&¦p½.).QsTžàÒì“%ÆbYÏþÕ^ȕ䔉Wx¦X‘uÌÈiÍÂ)ãxoáß~[1p kóD°“±²$Ù¤˜MˆœÍnõKð¡‹‰Ž€ei]ï^e! ·À¢¿{ÓÖÝYì}‚­ìü€¬ ˜¶ ÅÆwŒN]Ú5 ï5ôv¸”¢ü§ÚÜÄw ȼVP]¼^Áã>o‚îæÀ”úM@U1úàè»qú>ô#Ê„›ä ¼Â ò¢Œ"Æwã\ 0¿Ï.¿½§0æõ¼|¿o·cóMèºs]Ì @œë³Ìcðšu8íWûóø@÷ßÊ0a”€Uùî:+í÷ÌíåNÒRL˜¸-ò~dq& ÷· uILãѦ^§ $‰`XŒÁâÀÁ×u,`O]ª÷äbu¾Òù-æ°µ`Íš¹`Eè X®ŒÅ£ÞÁg¥Dîç®ï^$›C"?5ǯ‘º}&—§vžÍIâÌàÍÕJÈ„Ü÷Îõêz&ø CŽEiîb¢Q &kÝ¿—‚ûº’ÂãÑú±Zb° -Î~“eâ™L”X¢¼PÇ’ãìZcP¼ J°ÌmÂàL!)W~(‚²ÎŽÛ}ìýE ŸƒëwðÀ%zæ¹Á‚“×J]Í&dʼ—kOÂÃ*FíèSg:UÕ׎Ivaqv à]ȪÑJš'Ÿ I½'&Y-0ËÓã—js:ñŒ üRÌýÕ.»»ªg°@IDATÌÆMc­·/ƾÐ"¢ Ù"ŠÖòŒÕš IÆ)|«-)bfÑ‚eŒC”à`‚+‡p3[5É*éýÛ‰[%7j7•_–!—ˆœÓ¦"«’B4än¬f¼ËEÞÇ¿k?“ PÙÛ¼Õ–Æå°%Zß.8LaZè„ߪOâO/?Ì >Üâ}0¯°mµIw ¥J¦Â½ï¹„ƒ0Z©Ø|X½5wEñÇV„à¯]ÿ$B ɱ¦³² çè•öY|š7çÚñ›ŠpláI@­Ç¿$)¡·MQ(Á"²ªŒ¡¦TGØx‡ø¢ƒæ{°úe.ÿ¼×"Žm¼Ý"öq„ €-µì¦\R ªå&ÙÖ4.â^2C僇Ê)îa- °;:688‡ªsyXàÝEhÄ£¸nYYa-HQ]Á~Ö‰gòŽæ•L¼öü+ß¼³5I ø ’/ž¥à÷÷J%æ#l19-ÛÒâÐÛÜ8ëæçcD%là—@~`'[Q ?pQUD×±£¹×ÊÇVZR «yÏ1S\<wÑÀ”yÂ’ïHߦ綹8–_}ÕFvJ§ü3Ë÷$FK)ôhØÅËJ3¼–y;ƒU8䌪‹çÌ#yJúkÛ;ϰÛç º}\‚8rNñšºñ‹eÛÊ@peô¶oŒo½'D¬AeŒ"R¼+ÆŒÆ ˜ÊÄÖ†ã/eD7Ž+ÒG#ßIŠ¢’J1^XîÑê.@4efåªìN½rÔFlH´º.¦+tfÛ(N'hOqõ9s¾V ºÇüFœE4ïä á¶EjûJ$z”‚pÛ0Ĺª×vÜ?d$;cFðèü~ßQqŠ»¹÷Nƒ… ³´å©ÄQØ íëYüµí7÷ýnÖQ¤kÃUQXÒHSÜÚô¹0Mˆ 3¡mŽúUíï·ìaá𣦉¬á“õ mø¿+j?5gæ~߉Q¿Vð}®|#ÛçU8hîP¬Å¢èŸÅþä„Ñ2iÖW§¸£Þ4:Ð>}‡Û¨ï}¢QÕŠ÷ÃO„XSxÔ÷oÕüHíÏŠ¯?û{'64Æmb_ÒÛèxaÞgÝmvr §U¡=†þÑvõÝÑ=ñ“™hÞ&4'KŠãþ`´–y÷þ9>…¿Åƒ+Ú&þ"™—e¦rÚÆBtƒ/¾œ‰… VüsZqQø„T7%k 1Ð=Œ8'ÞØŽ±Y” ./'S9;‘15ÈâÌn J1(å<%¹Ù,µøÑü3A¥ºÆà~•f¦¡°qÔýÄ~’¼K³[ ˜67 ‡ ݺùü9†5ŠŒ{×ô7ŠîP‹g¢áŸâ$®Svý)c}‹FÇѼùĶsÍ]{ÜcÌl‹ äÖÆE ¬‹¶³q(r“Ìõ‚SfÝ%q!OàÈÞÜúSJæiMÌÍ%dÂC©ŸŸñ}ÙxÄÖy"…;žþ¼x`îhÙ¿…¨Õýxq^B²®76…fñfüj€%Ž£EJßXwŽ?žnbaP‚véÎÐpºø®A~þv}ô`«zËZg^û|Yc“×$j{V<ôš»‡¤ç½±2ÏêCMh æþQB@‹¸VU¨1ha¼­%ú½³Lø #Â+ùÞg¡>fñ‹´5ä8ˆÐ!þúì¿X·–‰R©>‹` D~”ar÷,Âê$‚ÎÙé¹: \6#I|€¾Ä$<¢ðà¬i<íÓ…hHFbƒòARǧ¤ÏÏ}4¼Gî]÷N4a8ìi1žÐC(3ׯڀF\Ù˜’+1æ1dΜÝ//ñ> üŽBG÷söó‰ñ|.ÀU x¼ GVœ¢á‘ñðpŠ^)»ë¸j°å~Ôî-_8 &, HªL ³/!ëdbIHý&å瞀î?#0bB&kIƒ'­IÓ¬Có(جòÅCo²H²?‚鈠3{GÄ0  1-GpÂ/±w@;ůcF÷,g¯ºßÁŸð6Ƴu¿^äNa½Tý¬ESš>×hq]š…Œ—g¤±âàÛ—†Œðƒ'aæ>)…ºY¦|áˆð‰ÿðû¥¾Øý~BL¸Å_¡Ã$@'F4kK11r.Y\ ïFóÛí[Q‰n Ëhï ¦Ürt_ó$D˜ðàåJ2ñQ8Õ$û™$ðýˆñvÒEc°vh«.˪Ã?Œk% 9!ŒÎÙ ÎP0BÁÚA²ïL9o¬àýß_«»é¬„˜MmçX0—¹•;ÖñXBCj³L; ªû!\‹ 1Ô¥ÏN|¹–uHv²„°@¤v'qÁ£s8-Ókž´NV ‡HëO ¦—Ú·>¾,¨ëYFø@”à#ÄÒþø²ŽèæÑGx¬Î™«Kú¬ãå‚‘õÇfB°®•æAÄ­¬›¡Ûo"‡‰½0ì,°€–ip%b}æþ¢‰ßͰ`=–T¾©ù!¡@m ÞjSÖoŒÛÿŽ`ô÷Eá}î‡ÕñwÝ£¦ ±!Ñ©tRh‘5 ÚEhdÝî3Ç ‰ÙÃ…¡™L$\gùÌg_ò]×/±ˆÛäX ¢kxË)Qf )â©¡¢Ñ2Æûê€ÛlóFHÂ'ó4è¨X)5ÊŸ’„!¦Í¬öÓПp5³ß„‘uÛJE¿iÌÎUîý Þ™™#¹Ù®'€«‰e! ¿½]ËõÐb×(ú½ªñevï³\¬1t³®bD±¦gøS$e#ð¹¿rQèF9&·©¼Âe;"ãÐ<Åhì&å™à%dËXu\F>aa#¢DŒ¦÷žP4¦¬Õý@Ä%[hmßQJážµ5%°p‚/eâIÚÃ~? ï­vxŽþ@]«¡%E›ÕO‘œüÁå/kü„ MÐ×–ì_a¹A$|§ñ!x&<Ç(ä'ZwÏJc¾7q¯# î9=‘âl‚4¼ã‰p»EMšakæ¾ðÿË@‹PÇrœ÷'Õ¤– â~@7¡ˆŽ ‹£1Óê—d]³X‰Upë‚!Œ¬Žå*kÏ€bqPᲡ|à¡e}g]giOOOŸkKͪùYµÉVVp‚Å÷¸ÚF”,„úûqÑNS¾@üû1¾ñƒº :¬#ÞÜwx²z,°#šúĹÿĭ V±V˜‹°(…d³jªoÊ›ÌÝ¢é,䉟àŒ&£pã7=Våê͉éÀÉ]?ýñw;MxšsÇÜEK!‚‹"8]ߢëS” ÎkŠ·®v"Ñ<—ØÏ bÓîxÅ»Ý_vo­Ý!MÄèÄ‘ÁÒ{÷€Îø4!N™&7 Î`±ä¼Xü† P…–l£›—QvƒÕˆ Tgý"&I7ðÿT ÍÔƒ!ui×¹aÙ¦®óí§i´mKf]KxÕþöH…€UC{8¿™yL1aaÀÖD“ÞÉkBEÎaæ=1k¼½É]îó>æ$4AGK)Ó½,/²öÉ!y¢˜×ÙÌ]$@,*ÂzaÖĬɹ\å Ûýw îËj„ Û=ƒ°Æ^³lóøNìç=EA·6h…«3oN¼Öð|i0 Sr%¬MéZ×Î®<¦Vjü^ü Cï·7£{½N#I #¶Ë` ³„àP× s¥Î›SüÌ`(Bo•ªñƒñuø³xAÉ\ñ¤ÉoNæB?ÂN@¦"~QQÿöPV•æÌÜF`)¡t~Ÿ¸Ìr”1à±AEc¨8ß}[~j²í¤ šH{“"ÄccÖàù½ÆF5Æÿˆ¦ªmb¼÷˜/féç>|?„`XL„ã^M dá¥ÏRƒêr ió;jw'Š6Î+Æ©³…¹C?Aµ#@zR§½¦ùÕåîÀAÕä42Cp¶º¡%l{…Á×Wμùé0¡Îº)jìƒÑ&ëñ]–üƒ:ZÂÊó°:¢fAti¨QõÚö·—7†*lßÚl_ˆ\G3áƒM_jŽÛK žÆÖ7IÙ) §à wÌe»kÄî)oð²ìvFª.Ö^wÊì{?úјøeµHçMõÙmÏb?G…æ5–ÆWÆDðRDÑâì^så}ž•|ŒŸïʺ_ƒÅ—Tñ¿´×5ŸDq;éhLLZü¿ÀžåYèÿÙ¶UßÝV"ˆXæÒâ¾£ÅZZCÙfÅ×p²ÔqYŽ\£z4‘°­³ÙX©÷O|fÑ~ʈHeÇH—Ñr[Z–&VlŠ1%e2€ä.ŽìwÔßz®£Ãžš›ÛFÄ1‡…ôÄ+ë—ën˜}‘íV‹¼t{DÏþn©0X-.Ø|¦PýõÍqýí¹wIJ–§YŠÿ¬Ì¬c»/)‘ƒG`gõ +25‹Ÿ‚_{»¾J…vÛA—ÒìZÃR`” SH·k¹@ s*BÄK9a+êqs¾Ìçž´,PÉ£H;oN@?†4®MBÌ;81YœÂå(åÜ97Ä0lnDŽOƒG¼g+â±Ö;ŽÁõšûÏS1ÓaÒQF0#æ*ÍåDXnÕ tNqð ¢ÿ~(fŽÀ²y“•'ÔêœÊQOíoq& —7%X/%%ÊbLVªi °~JŒâ}Îhî„7rž úáÉÝG.½ºà¶ˆŒB*/1"\N­.Ü|~–‡ƒï檣«p îܲªDÊŒ–}·ó~„HL+ü¢é]‘µUvÂSi —‚8ô'ïå xYwDâ%Á³Ãœ•g y¸¥Ø £%€ A‚ðgïj…#yKj8s—ÞCÌý¾Ã¥ îÅØÐÙ8]'¾3Fÿ-kå7ÖÍÛ½2=ß±œ€4(÷:§ÛÇ$:Þÿ£ùcZã\¬&á"œƒ)\Y÷lËQ„¹k+àEèŒ\‰vÒV¢‘{ÊcmsL.†D`L]|ÓwÆÚÁG]ÌKd´¬;!á^õòÁú$N>—ÔÝ¢òÜüŽFi ^Áî;MZç…B£9®W¬ K«hÔˆ›53.ᆀçðæ­ªž¬˜Ár1÷›bå’›Ñî}¾ b0Õx…Õ{OŽœ¥Ý(U+8Í‚†KøÙÉ2¯$$l°QVì @Úàáv#TÀ_”-X[µmqË$K[à á-!^C¯#1SÖD¶F˜P`î¬WnØAH´…ÅB¨í£-®™Õ Hã •!"ÎŒ’þv Âû±t…ëÉ‹j‰Ž c!ÄR[uˆqQ#Ï}¶;žŒ7·ÞÅ"‚—°q³RÝ ·2‘ LĘ·c†›Ï}è¶¥¹Zò¯´›eIBØÖ–Öß ]sl–wKqh’ X;×µ%-ÌÁ. ‘²© :ÞW‹”æî¾ºœ®¥.m~BDÀÐr÷Þ˲#ÃF_!Ô„?&ŽºpŽÉÂ/;Xqô€»þHñæ0Îì´j^á ˜YàÔ¥y”ßð6yy£1ƒö%˜D¤kMª&Gkh€gÑ.–¢yÝÄCle!b³X÷‘·rq¼Ä~âÙóÀP÷Â\ϲ–ª8a|jìö–H!îaØ})á‡N¼îÌ1.LË”ÓX1Vvǽ_¬Óõkz9ZÜýY¬ÇG\%Ô…V®;¸k :¡1utÈôeÃ,܉OÏ©ö˜…qá'ŒpQ\W™óí}ó4¦X×.8.„ j¬#…ódõßâÍ2PS.±unµë>j1’N "*!ÙÓ¤¢‘Ä.¨ãE÷w‰x£¤ +C°Š«l…T‡S½.Bµ®m4Iúf!LN˜à5¾$ ¾E{4Ú+©Xr•@½XHaÕá¯RK¥®"`Â!ó’ 2áZt~"YB…hÍm?>‚Í<ýëžm“X u’±%dè5{2!)ÞSSY_fÓ@aÂG;‘¤ù[Y—yÈ^@"’zÁ £¾ƒ!¡øÌ¯2 €1Éwܦr[ÀnŒ&ßo‚ÎqÛ åû®Ï( 7ô+ û–²ìŒˆôœD²Ä`¢Åݲ8-ƒ™…â *47ëï´-‰ÍªûÍpqI2qO¿”|(ªs…Ë" lÖòW»þæ¶bש-i M.‰À¬om£ä¹}1žsÕÛvH’Ø-!}JÓ¡&VTœ%ãç¡XoñúšVøK÷rÀ$ØÅ‡qqOk–uüøÌ©¼ÏšвïY_‹ãEø‘ ć%6–F‚ÚÑ}Í |âÓ`ÄhØ SÊ :¡ìBó5ÎΕäºß÷ƸÚiMÇÒ©™}¯³V`3Mâw€‹@ß{R7bŠ1f%« ’ Z6,Æ‹èa¶Èô8+¤l‚°2f‘P ’å"”'I§DÌæe8#k¥‹gª¯éOÜ“…š["`iL‡mïfU,ú^>л׃ûªë ú–k‹âÝ[`œò\–d“Š •°,1ë· |—æ¨ä§ü½O(ÉiReUØ3 ¡"Z¾K@)«ºá–îCæ­û|1SµCg&î %ã÷ß­¯G0™(KD€dì€GEãî'Ø+N ƒâˆ9Ö ¯x B©‡ñU'wßKúXÁÅïÛt µìßfáìÛ‘,N<›¢vÕ-ÖV¦yW‚‡îž3sâCzͳº*‡!ù9Eñ@ÞCÒ1í{ˆÛÑv•i¿÷ÈÑnàFHìŸwí«mµúQ 'ý”ƒK;|÷,. !k‘÷‚bŒèxÚíñèÚ.:û'‚N@¯ñ.ÂA–VaGMiÍÈLð9Û„á¾…ûÛÊZ§í•K.b Gzý®¨Ëÿ~—’4îžâ”þˆ™ŠçÅUa8bšÇί§¾ó A‚{íQ^d%†±`4w“u[n¾ËRØbÍbÁÅÀ½÷X*E¤4 [š#˜oj„µ¡ˆ×«à–ñŽ)Yò¬rÍ™eïþ(F)x,^Wtôâ(´7Høö|¯…@¥sˉVüSa†„WJôÔu¼ÅID24X<¿¦I¼f("WÚ” ¸5Ԏϸ¦`×>_œÝ5kÈÝèÜüÍM¹{I É“?ä"ªCª/k0IÆvVL@“”ˆðš!\gcMƒ‚ H̱Á™qϧ4›U²AHŸ˜w%x=ïYÝËŽhPGTìdÖ ®÷úÃi£yßÝiò©[ ¡”Â*Bª›Öø– MABÊž9k—ÓHZ70G“ÿ¬w̺¸ a|,y‰é¸¤c™Ï¸,#LºuĦñ`×ï NãG›t»—KG\'½²Ü&—gúYûâ#–S"ƒ&£Qß+ßsXx3\è `ei‰E8ÌK5¯eOÌ]1¡d#Mw±Ü,+åìÆ•û†Â9‚˜‡fH41AÁ ¸ü©¯`ÎÆs†äž'Ó½”q¨7^ê0ºá}a\IæNGˆ'øâ =¡£s×›kMlÐ<# ‰A\ÑC±ž‹7@ß¿/“;sä&ú›«ÞSÇ#æ¨LüÅ‘&ɇám#Oq˜8!ÐÒ¬$“‚S>W˜d5bSF”„U¢ ;ƒ ’„¼™e§ÕCø>Ë ““Ûu™XçÁIꪈ{˜zâ¸)@¸)Š#âÏj„ûùg¼æ0oŸhc/~žuãîÕá7kÕÇáÝêÃ%¬‡R„:X‚Ÿ°Üw¨ä–úT€¯]Šå]bÖ Ù(Ѽñ£ã÷ZûÅÆ}½{$|ær˜ÒÎð‰ÞÚÐ(uU¾D)!‡=9\<£—Ë*‰ 1/ó9aÙš³U øÎ(à#ú‰Q¹eÏc™ Çw¼Çþ^h•p Ã6fß]„Úß„‘xOºçQ‚xyqm°Ç#¡È½Í2DqnÆùz´@ldÍ—x| ÙDc‹Þövvº€ÌŒ ;M>±ŸDô½Ìé}O˜,&‹¨Ê.¬Ú2Ì P§µwÍÏmV5{]©$d™;?Õÿ-úÁ|©¢@ݒ︓úÏ4Žˆ¬ 6;e;Å Û(„PÿNÀÅl[› ¾–Æ@“Ï2„ÿzá*,`$è%Þ#”Q3W²Ä#ºÞr kÉ-¾$¨„@|å´S'„Q”u%'ôæFÛsØ#Os<ާQ¡W¤ã—Ô«.¶6¾f4õ>Ë+)ÂUqŸÄÃtÿ,¡äDšè$Žñ½ÏæR òq,3¼ BšUW}0Ë>:!ÿd>ž¸½ý˜‡Áðbi}”œ‘éìÊ_˜õ¦hW¶džÚwÁ,Ê"#_Áº“N#,ÈvJY®Û³qûñþoÅÕºn£æ¬M(‰ÉMî^Ç|ªFYž eÍNžzhmX l·ÛßN]8þ¦ùd…c 514Ÿe1'û“v.v Jca„-MÎ% !ºl4ùc­ žâÌI;¹,÷ìô€ˆGë£lHp½¢p‡ÇŠ;ç Åû”!">\sa[[Ž(ê¦Oï–ÆeÂ\Mżþ˜½H‰ì>³.¿Í>…Ÿ{œä øY,‡¦^ M×ä=Yjžj38¹NõZc+‹H^f}º–Ò7a×äÞ y<]¢l‹pXï]XQÙV†æä­T$Ìuà‡oÆ#ú0¬ß„±k)ÕÅâ5ÕÈø†…%ÁÁ N1.±Ÿ'Lzø_0-ÓM’ªä'”„ω&? ‘ÉD´®÷"õ4 0rËf ¦IÔõÌ» Ø 7Å" ù6u-ë°#ÁŒ¢{®ÆûÚ´$Œ’¾¶{ÎóŒ­/~.H[ŠãÖQ”Å ÒiP=õrDŒ@gÕÂ2Qn F[Ý9nX"u˜=¡ú½8'b!äˆÚ—´3Ÿ,*\F°C³<}<zÏïp¼‡—ï–=3X{@ßðT£+m~Ýãb>¸|ê>w!kLpŒCXe›[½3Z÷©ì[¦ f Óš3-¬‡{Öž“Y~4`þLð=x?vž/^W,ö–C#,ö©dƒ ò:[ýicŒn½G3!>»ÀD ­ï (o8¹™–Éh°‰v4YPr1ŒP#‚{VHÄÂq±-áEŸ£¢qDé÷'›„rEß5NÔ&ï~ñÐ\$׉HÍ}q¥æà(ޗݲ²[[®Nvн÷îkÂý¶ÝSc^ÄÆpû`? ÎÜ7ž;i˜äF†î I^]º9hÿ62±½XÖžõûÂÛ¤,ãžI×Ü@Ã!\CFLU^±–«äƒ ºPµM@2E1–,—{›b2¯a[ %ZfÛöK±qÀŽŒ1Ç|eÆÊ.>“Jâ¬.)Ö[Og,0›`x` ·Ñ–A¸ÿqe|ÖàËŠ%CˆbþæåñdîÛ~Ú7KÜšM½þ[Ðâasƒ…pùœrÃÓüè0𤠣æhú?î'7=7W'ʼn[<.¹  Ac¹³À56ûÌlZð´p ó÷ÜCÀÝ×ÍJ%˜\œ¡¯Þ¶WHýµ]ÙL¼ã7šv¥ í-K®À«zîV~s…8Aç’Å:‚zY­î_qœøÐqdG½ ‘lÌé 8ùžfÒ/TƒÃûf-C1!!€]pý­fy–%YàðC¿ üÞs#zÂ`lœY}³÷ÿ$Ïíiœ˜Ê §1%5„àsÇË}ykÜ h`\HEÅ/%ŸÃéi^ã-†ì3Âzy]¬e  }<ëže½(,ýŸtê AÄðž’å’KÑtµaô3`?†d¤VÔïo8H_O8ß®uÍ•Z’z7Kð¾{Hu‚‘Œ%hö"´¾—Ö ÿ}žŒõÐÖ1mÎ…ÐÈwâˆN:}דw®ÆšQãКL\‘ÀwéjÒir@ xuŒét¯nŠ„.r|ê83ÍŒï6žÍ4iOj*ø‹÷™ÍxöÇÏ$â±Ÿ×Æ±8¿–TéN‘ù²˜šL÷YÚ×–ú>”l¡„S<¹…æD¢{0˜x§ ©”†àÝ.<9 #âzÄïó`dugEûpÖ- ŒÜ¥:é__; &~Ë2)–oá½k= Pˆ~Úþûݤ:NÂûf•&ýO$PüÕa“?š‡»²}z6ÙšÊX½Š,§£9àÈ}æs-YwÉRïSz´fÍ­ï¾+6^1ScÅ×xpç!“,f8=û9@¾¿ã7a#ì’ÐÀË p)é»?þ£ºŸz%Ë숻ÌùàHúº"ãÅçe\(BOà’™HDX²Û¬×M’⊎ÿç?ÿ+&áAž/õŸIÿÅ„–¶VNh°§­G¾j1ÓA„WVÉJTBY×DHÛ\©R LÔôîrkÜ+÷Gë&…ï RÜîÖ!øµ‚éYWß´/d}nY§5RbHD°ZÓpÉ{;ÚŠÇš+lï˜+@)åDaô:±«fN!ž³ƒW,C«í‰Iš-4‚WG³âî÷|.&ˆë hB9“½ôÚsWR(®ÍÓ—ès\&ƒ– \ß‚MЖ¥·ˆà$V/+A,+\•mŸÑ%ÇÛ˜Q£ƒBô¾ðñ·:Xçæ£  ®içå$]VR•h›‡#ò6@\ËC¹^LL àµby4° !dbÙÑÏmÞŸEœívŠû0M®‚ýÌ~¯Ùó!EY”[mNûGnºÖÅë41\×m‰)@YKL; À/í L£UZ¸oj…ê¹,±ŠG<ݾϺ^¶ ð­ 7ƯÐÛù1×/‹Ó{fEÃÊÆ¼‡™§ÓG½ˆu]Ý0v5NÊÁ€óˆê3eUF|DFØþVÄõ~–ê€F“xØQ‡è}w«Jë„Ó‚­›ÆT Ÿ /ùØ’Ô[ûK0÷–™HüQÁõ"jQGµ—âØŽé¼¼²_Ÿ¹³ùÅ£g}7ÒL¥™Ÿ… _¿©o–p„ø¶”¹ûŒ›<»øXˆ8L û¢ÿáÁ@‰h=¡ËH&Xû&ˆ¡ŠÀBd gc6ï´¿iֽӵž˘>÷½ñvM+H%uè)Ðè!1»¶–Ý} ú½§Dϵ³¬=/4a Šˆögôgß³”½ã_Ÿ‚ï™ t×ð~»Þ=:šVáè=œ]CÀÁèåúÅÁãzV¾)æ Ü©gòâË(0Åó Õ÷ÅrD2rmo)Sj;¢‡ ®U+¡Y@ßç2Fµ(ÏO‹É²c<ü‘KT¦øÔ½³,ÉÀT×XàãB†)ç0!dǬâÚ{â âÊÆ£!D Y¨„s]8töŒíGÅæ­‹£ñeí”bµÆæwðdÓu=æGìÞOcÃIÀ¼þigŒE¼ ZסCì¹ßî!€c+â+†\,!ס¢íÿdÿÆÙí»î(ÐaØÎÒ'Œ[¯e0êgô0jÖ†àQ K¤h„è¶§æG˜Ì¡S\~r‚Èm3‹×»x‚Þ7’Ûâ­“(»wÉÅùÉív?áB3ôG Ê Ï³"ÅDœÆäÕ •ÀÇáæ:‰U}J7]]uý¿>߯Ò-Æ‚ ôšyß/ÅâÔø¥ø†K¤}#ªuH-;7­fïþÆ Ñ$:œbgˆ5Ïš) øe…ØYžhD,Á7 zÀÆH÷þì3§©>tÿsðd–ãü¸\l3gZFã±¥–Œ¸‹û`º.ž³g÷]+<’™sàG¥ Þ¹(ˆ+ã8Qke„Ü÷÷ á nѾô@™«Ë_‡Éäqx6V ‹V~.$ÖSF縼W¬Î­çšØ=oó²\”}uÝ&¶û½Rš ÎèÀMR^ ½$¡¡–\nÂïû?‹êzœ0Ú°ÜÖ¹)‘³€È‚n©Y¹ÆØf²Æg×ÙÓ<±Áœý? Æý®}‰ôv¡U =y¨´û̦뱎…xzaÜf¤ õx«kq‹ V^ùÖ}§é ö®Ú‡àA;—Úœîâ2™i ò9³\–ÎÔ•œ'˜v¼X3­€«ØÊd}é‰átú[q×·ï’$»Ò”)z'VŠ­ á, ET%œˆÚeÍ×2ã×ï[G–”â\^È{ÏýÐj+9Æ]÷JŸv›†ÊDË$­U³®À‹µ]`P½v‡Šƒñ¥x“b²Þîµ~>7­·†¬–m|ƒnMxBb ®GhÔòÿŸÿõ5z™7¡jÊN Á¾x¾ñ ¥×¼FÊÏ›qÁÜ%øÀÈ{½ðKYn¨áâóëØõ¼«G~ÖŒB.ÕÅÈ!Ä*ïáQÒƒjb´ ª‘j_ÒûŸ1ô[–Ñ“ƒîªÌk*Ò îñ¤÷{Ëx¬!7w‰ÿhÓêc ¯––Ц5”vÝCÍ™#˜ #4—KeYè6bÿÙ£Àdg’õ@Ö†Û–€`ÊÜPˆg‡'ˆÓú4ÊIYëZŽ?•cÔ7]äM:t¡¯³°wrñ§ !!îo9'®iÜ ~önlI/ÅlÂý’ ª K[¹a%ÐÄ äEô]IœD ç!ºž '²XÜöqsǪ³¨®õ³ 8Í¥jà»Á—¼Á`?Nü×°cd̬”´•­hGyDKI‰òTÔ ßè—mÏñ›õ\³k÷R [s7ÿ„ìÀI9įÚîAO×’“y&®—u^a>q¯h€^¬µv»YLƦ{½Þç•x¼«Õ«ýx›£)îÒXnKq„¦{Œ‹?j&H{ö)Ž(ŠÀ¬ˆÂåϘv\¡,/­éoš»£-XŒÚØ/§ ž•–® ¡! ÉH„¤ 4¦÷ýL)º7Õ胣eÞÒ6BOÃ1ÞÉ­lŸpžAÌéµâv ÜÝY&Z—"T׬ ³Ï¸s_ËN»†âˆ½XK ñ¬OÓ¡ñ˜ì;%)°ÏC³ìåq]Ÿj\2ôfÄã˜ÛÁøñ­ì%û×ë’þǺ¦è`úuÛ4x?Jhô¾…‚„wVºÁSâìç­&õ·òïÕ¥»ÅubªB¹¾HHNÉÂY!Ù鯬›ëÖ FQF #œ1feÌÔeÁÑ£«ýÙ¬øÜ?x]MxΫ‡èò¬ø˜´î¤ú@ú—Ì7˧Ý{*KM'h¿b²ƒöµ iÐ8*PuBç÷´ì£ÚTİ®éñš5ˆ ¿*ÏUUôÄAæß騬äîjpàz1ù¯/ë¯+A‰ª­ Á“8&N=%$à¾óm°º'HË-꿾|ƒ×­ó«xï –ûŠŽjulâSDðµ+ÇÂ)I)¸¾$àöŸ 3¦¸÷]Í•ª8\ÔVx² :…Õ&qL)äwÅxf\q9†sy,7M«n²ÒWðævSÊ>g}…ÖºÊo[W|`¡×'ø§„Á”?)þ6—RL7mšåÌßñƒ`[Oî¯à®îÈ6Ù5k¤Qcl¬œ%3F¿¨úßûæÎ¡Ò­"õE¤ààI݃1zDw!úð9BVøýTáyT/ûŒ1?´[˜¥›þ 0±!úcå—×î¼4?àN¡BJ*M³c´»Æ¸µ"oåºÅ'î£Ñ2'kÕgYêdŸiíÉ- ¤†µüÙz¶Že§|ŠðÌÿYë$àÇ"­«¤ûÏ2ZÊ! —Ö¨×c1P”Ö#§{y]9(£e,=‹íÈ e‹F!bõsá"´¾D <µ9üC¿àfÅÁç‡z/¾Ê¢²Z͸ÕtJsg=|¯oÒ ‘•–Æýg›g°¸?\]«¶«Û‰2¯`ÎYÿ>[i¨ë/s£ÐøÀê=ž»Ž‹FçeáÌ@™¯ïN§Žñé1,ø´µèÆ»Ì}YÖ´;¹žž>&ºöbšì}$ Šð\µµFfñ?wÜDp$¤mxÉ,³†Ö^ÿU¬ˆ|’[»5 4 ¹lAl­ú*gÂÜDài+4NØíÀKûuœüÓÔgûkf'ÈûéÞÆ6¬hÝgÜËM½qY\±#˾„ºwû]ƒIÒBKŸ*s?¬®B¼îg ^Ë#|,ÑÿZ¡7ףּ̓[ÙÉ)A[a‰¦” âULG/–Hÿ¥ ÝIÎû³BDÿ‘†[ðçÅZb6½zøà;BG0Ñþ³†]Ǻq%úÁÛ÷„òr¿ —ùÑvÞ‰â5Ö%N5¶C£ŒA8oq£I{S2cž¸Îæ%K§?:÷•Šý]Øí¬‘ {Ñd#‰ ¾Ç¸‡€ÿëÛ÷¨›«»éÑYíë׿˚µå$n]§û؃þž³DëB r4MLDå€}F@ï"°Îàë]‹9#B L"#dÚ¥ñºWªÞ³À2·Ç®;+¡X&/ÿ׿$®»4É`²„¥ƒ„°)º/˜YÁþIˆÔÔ0Ú:ë®Ýµa4 üÙ©T ’²Ñã–Ûܘ¸EO9)÷±À‰mÌë»>cåwïy ßÍŠD+ $væ>e©ds总6•ʪ}Û¼A²øZlu ëôì†k>ô4GÿÛuçÿŒ{·è¢U"„2h¶ÑM|~bÂ’ÑN¢b\Ÿ«ó –ùg¨ðÛ=–%µ¡IpI©½®:§Y‚³?4h:uýóÛÑÏÕï^’‡Ì²dãݯù®Z`Åi'›nââŽ!;÷†³&Üo@€8I‰ä—ïfŽ4}žÛéçRâ™è2ne¥¡®Úó~;º0+9YªÏ–ÑuÍ,cDþ¼ó”m}9äi¯£?.Ën,KF@¹a––ËU³Jþ‹Y˜Æö^²¤½j§ÔÁ$äŽ÷=ÞuámÌ1-B‹U[=.i ®`ACêGÞÈßj‘¬L .Œ‰ý5—L©šg·jÀÒØ6»˜œ@D»Ö| ðSè/íÝð:n‘ Îö"¶sÍ`Ï aŸû‹«¾\õÜ|Å–ÝÏÝ:Ó{¡IsD§¿Yë‹A{¼˜@‚-¹¼.v5Ð Nóî‚Æ²±^RHP»¥f„#³ûœ­¿~×-Û×.âÌ¿DCãåm?e2êµÀxÇEèÏ‚ò=Ä&u×\:!ßXˆgÒ¦úc–xnÒÀÌ.¡˜e»¥<êá[Êà œõvKê p³2#¾8.Hf mJÅB]›ø[ÛÑF©?BÈ>-×=66ë(ûC!» k$A­]ŸØ½¦æV,¡Š`?ö¡D ƒ‡¯9i}¨ë67ú…Á'Ë[¹!+¡”„QÊT8oΣ$hw” ~0ÏX>«%Ñ»+5õ’Xñ4A÷:ß÷y)†GÛçbÃK,§Ò°Gw½y‚!AÇ w¿çz£ÛÅ /+ f+0à ­]™vð'˜’ŠFaYOX‚½{›‹‘°²$öƒ- ˆ·[}aÌúgŽ«Çö-`å&Î#üñïLó}6Y§ç µæ¢ü{ kc`<¢©ò߈ùìFk,‚-‹WëÓ²N[VÛeÁ'èêl,pÌs¸%·£Æ~úû’¯˜š«Nº·gW³f‚z+Úàh­»ùv–M8ßd14¡K5¸S4<Šfˆ VIWÍŒzvž`Ï“¤ÐäwÖæ?ó Ñæ{ÞÆC·ƒ®ÛW0ÎXxZ=ü8޳ø·ÁƒWA¬ÙÐÞ¯‘#Øl«õx Ë¢–[‹>R«6Û+CÝVp(~8t­žÑŠ„QájhŠƒXÌÆu®ú Ûü!ŠéQ£å»¿ûü´ÛƒwO Jè4Xº.³3‚ÎÕ¯à‹dÅÖ–Ô(bMJ5K#«fÿ_<ؼ>{z¢;ü¤™¢\{’{8TbN–(^’´|‹)¬$!&…#Ícã–p˜„$ ‚E ¡#×ÄZ}ʾ–°(žßEwyô–ûrVÉ¢ [¸ÔˆÖ÷Bž=VVë}¸êÿXÖNÓe¡Í:¥k®ikó¬‚dà•±­vøP õÚ`³ù›KŒÈÊ)½M9’2|ƒ‹Ž~1y‚|B-RÈãp½[^ä¸eôWx7ÀöuÍ•sD®›„»’\cíßnä¯I4íÊ5RËu˜®kÆä42ÑuÈ« &Á•¦îyd‚y¬“z°ou„Øóp›Gšh At°‚` §Ç(ü» Þ!¸ ‚°„'"0÷ÜÄ1ûǽˆ?À‰Á®ïרY×£ÁÞc(&„êpù”¥óHBì\V›Â9—šë?‹{•eω¤Ýº‚„ â^ªê#øDü„#NŸSÔh]ÔEÑJéG,Uö#és¾õ}æA>w²÷‹µ†“:×ÔÑÁ =Ä’³…9YºÑÓsûŒp‹ûà¸L:ÜÿÀõ}×F8ß¹nïŠ`oÜýýàè…Îè“fde®B›ˆ»ÍíÃaqxc^}ýúmL’0ÈY#å7 ¹~ˆ‰ä¹ß‘¦£>ʺrq߇ê€4[l¦êÎ}Ù”#(Öœ).°³>ðZðò„ìGO (%h¦8Êe.8o ®«Kš»Õ˜ƒXŽÊ ô'69 q-ð–þ§)–Í2^§,²·i3 E4Öì²’p˜º¦q_ ÁÍ —ÊBî!À\çºxúÑáÌ¢¾µq½ (…½¿{ÇǰˆŒvŒ£<«u¾1…uÝÊ”‡Aä§ Íõ ·ež£aøM tÖPö¹¸¾›Eml°+pS>1×V8—^æe4àã{?âc4BOB´uúÃÅŠË/ËB6˜Ïµp8Æ„2Õô0…Ç“ßÕˆúÛ|¹Ú*šš"%?ö=ƒ'’îlL7APàìãs©~ëŸö^ô9B uc(R›ä¡^9ÀCF7 BÈr•0… Íåœ Ï›°Ïæ.šx1DbÈ6¯¸²2F×Fš1^;{ìî_f{Ö´“ ªæ+d Áé7¦ø• bì®eÞ´qšß܇Asã„k ðÙùÍ*‚âü¦”ÆöÒF`4¶~{°µ¹X÷ÆW{[±¹ù¹d°éÑd5ÎÆ”,QÎ$wóá„&ÜåÈn >ŠyYA` µª€xœE«#<—V1ûÜ)`xÍ9¿Ãžù’ü(‹sŸõ»Û¦àFc½ñˆ¡ñ·ùÙ,¼Üçu¡õè¹ïñÝk‹«û ¾ð˜§‰÷âØ€Hæh0à}.ïóû:pó¤ÔÂ}%@ôÙéjåÛY¡þ⚘p„ûV µY\@„A ÿ„ q,Ÿ}.ƒæj×±ÂZf1<\Ðq¸ÖK¢ÙÃ|$ÄÌÒÛŪbiÂࣅÇrû[.ûãOÁTìÁÄv`‰8;é &sD•ÁbOÉX,«`ÜCoÎr]Ý=èÐܲå7ŽÖb)c£)Æ‚;KKû ¯9áºx¥+ûsNô|:'‰Ù X‹±meeÝ@h?Žƒ‚ÎI´ÌA=»6¼ÍÁ ø¡Ô`bµÐ„•›’6x«GHŽ7!¼ÁõF[ÆÁ5@ƒ‹{¡·{Îw* ‹¼Í;ËΗ­žçó XñÚówû£¯´Ü†t§››(4¡j½î¥zàUKSkÓŠ‘\-­ß–°ö›4 (90 ŽÄ‡xPŠ»Çw^€Ùš>“­Ñ-ÿ±+&5NM0Ôé ä DÓ!c õ§x£ùhŸÏý–)oKïýM(ÆˆÒø :}´óÄ,ÛS*AD&<·Zˆ÷Ù¢ÊEí'ÑlqÆÏBôïÂtÄUÿ3¯9¼0 m˜ci¦uX0ßí„°ï1’ámî²Êà·:C Œk^Êèoð}níÝû¹éxNÂ¥§ ¬2X”eŽˆœ$Êu^îmÈèÅÂ)UÊÆYò„žá½± D˜Ár±¢Gš;~‰oŵ§c©Ë)H°7Õ ¼[ü™Š„&Ü.W´vöhö)m×,àÝ(9bè*ÞÖ¾F‘@ÌEÐ4NøVSërLg¢5•b&!‘Bà%Ó!ã&”ΜÛÙ% Àå)I˜¡|ÀeÚ©ÏeX-a•­ÎØOœí‘0׸‡‡¸(tq+˜n5c4—~bZ“ðDk¬¸#€9²ÖÃU”5 îuYSHÄ“(œpõóiIFó¥ßs¿³:¡( gußtíÂ}èßfuPÁ¸– KÐú O0¹ó5Ї7bû–»AÄÞ…oÓ4^BYFwï$+nu*ØoÂèûÃ0.ß©¨ ?lr‰¼ ±ƒÐ–¡k'ðçi®¸ÂàíÒÅÝâkáÆš»Xú¡F ÇèŒEé–…;M¬ ŠrË$^&{è0/À> šþ+0C£ Ãa^,œ²ª‘Mnx‡¼ÏÙìuJ5 OlÌãz5£ÌN‚;AnìíC àª#1¼Ë~%´ó&$?ì§«žf”ö4áKÌþÚwqõ×χ2 – }*VQ´¯YS8àÚŠQwtñaµ±õÊZ9×-n÷îcŒû³¿só²~Î ìûÌÉ´+ krµH\BjV/ÃÝCôb\ºg‹ÝšÃB3÷×b®¿ÆA'%(SÅâ]ßã="n Ò¸·Åx¡8í^Ñ7-|mlMžÛ‘pTkÂ:œ¹YkÜNU€td_Œ¶Nb £•iêDZ%(ï©5¡)÷¹|°í4ˆÅÊ»¯9òî|ÿ}£÷}ÍmÚõÒɯOOmeh&q)Á Ü½IQ„g{ås‰ÒÌL¨ˆ7þ%åq¶k®9>ÂØÏÁ5 -„ŒÉ’ ÿŽÆju³àñÕòŸŠ7.i°ÿúªŽ¨Ç~_ÎGÜþ’îÓS Úb~×9 ¶¿b%‰ª /-ç6ýøðŸ=<2­,T‡KXþªdoÐõ¢e‘^ÅE¹H•k+ÿNànÓ‹ûVæ"DÈÞßÝ÷ÿc‰ü&Œ‹²tqY©Ÿû£‘¹u'%¬X‚9=­ì¾83­t<JÑUBÑÐ+\geYÕÏ#È2êþÖm± ÞP½_Ý-8ý&„¬¢ûferZ.”ðïS}Žæµw…°Ü…×_šUaåXIž&Óö~…ŸJÜȆÑéJÊ”pGÂæ‹ݧ›¦?»§9‹••Ñn%‰õK(bÉO½ÿÕµÝüíGŠßª´‚ä»÷š7ÎIDATéœÆóÒböï/Ñ=ÁÛóÞÐ'xN鯩 'ÞDFóŸ‚. DÄ^¾cžý5·ŽOÁÀ}.ü ÂºëºÆ•Ædx¼ÖLÑ,+«ÈÈYÜ5¢p5] “X\°85âzO+ïæoíû¸«z®:þÚú!ÆmA¿A¯kÉþü¶ü?î>ÿñÒµÜõE|.N²hL' OÀx"y¸Æ$É$æ&ã–­‡3ûé,¾Aç?ëôxlÙ‹É·xÏ‚>²*ýVÀ\|‘@1´š›ì·ÀÓ eÕæÂ{“PÄÀ‡Pš_™ˆËä¦%<¾°ÐÏà ²DI·wäKYë³4ÍöóXªÜã·ï5Kr£•‰bjãÀ™¥ å|/ÙÜúgßg«j´Uü•@ð4”b8~M„gÝÛs“Ó±1¿<È>S݇˜ùV1c4ú;/Õd£÷å°! ?{ZÎç”í,²¶8@à‚’RöîÒx€—ZÂp&¯>»Äs§LÓ(1k®¿9þ믿†7ãã:ßš±±*FÞúcžoôYL†`]l·’ºÑžÔHK€ÖžI+“Ë,^i¼Î@îpÉ”ÛoªB×–X0ñ³JC4&çÞ¤åóêö¶}¦Õ]/a øœõ«ø/£…ö¢”VùæÁY/,Ð9Obuf[B,ëj#aÑþ·ï³â¬f# Šðb2IK$Iˆ#Nç¢eÓ†ö.«ã‘ q?9®6è÷K«. Ìd*Eд!£|Í•Û ;8¤šë-ƒìs´.›¤Ã=÷ƒ3Î`LçÎ$RYÌmO7”¥ž3 Â!ñ3}a5}&˜‹Å úÞwMp¡3X0ž‡[Ù&X—A‡ãI2*îs],6ŽMšµân)Œ÷<#¾hŸ ºyJ4x=|öbx¡?Áuzÿ]|g:ÏAó¯ûhýg*§¶EsçNšÌs;>à¾vvЦü¶â4šPßA¸QwbÄ:jz¿&„ˆqN¸J~_X´Ö<Ã\¶ÆWH±lî_°œ 8fV\6$úœË‚•®„Ÿ-¬XÇÌåÐ>ó·1)¦pO[rŒHë««> t1dþXoc“¬xîÙuQäŠÅ’„…g°(q†-­`É€¦D,©§9M¡:D°»†%uÏ2tUÀøG§x¡#AIY,ÞßÜÖä«n˜@Ÿ-— !zWÚJ ”A@ÉS`rNvÖ‘® —U& ØÖð£%¡¼ó­œ„Ñ%‚®ú 'ËŠ> ¯žß¤ž`r½¬¢í¡Çº™õÄ<‹Úñ²a‰Z÷Cùŵ{OºCIìJC!àìÞR}oþ.Ž!ê"Í‘}Òð &ÆáþnÐê]‹!ºê*Pà9•â‘bŸ®ßx¬Gœ*ûêº9‡Øß3†ý•0r]6˜”–g}c‘öä#KëO]w»S‚©Z¡“” ‰•ÅÞ‘é4DHH{/ r’™& Âç8y×<á3—òt–yñáP6\; Ȉ4+ :ñ”;YÏ]7ýÈÏsO´dö¿r@-`è'.ªr¢~Š0W¬AÓ˜Êw ™En±¢XCì§oPÜéÌÈ ›]û±Õ˜Ž³ýMÝ‹Z\·–®ácƒÁ8鵟§ïÿ;+ðÙû{Q½º’rQ³æ”4Î Ik>h+j=ŽXÐÜ=»l; O‘¤‘YWÍQžÙo,²œ\c´ ç1ÀÈäûòÁ‘Ra³fší¹ïR 'fÓ žW¿Êùò•‡]0™yí“ìî’±ÕÞ}êrnr¬KB0kªíŸÁþUbùCpb¤gÚ¾~ÌÂpŽ9Œݧڇ0mçE+b2}¿Ë¸û3F¤‘cžþ£”ˆ¶läî™ç">º1cNís'Nû´h9Ù®chHÖ–R}’5€Ì'8Iö…µ4ug±ê_"mœ~Ýñ‚$«ï°6÷6-SHßÀþ15ÂñïéMuÍy¶úºÎ Š`i±¯©uÎ7À|'éG[’¾ŒyÛE¯ ö‘Ô5¾Ó4Ë'öijÞ® ˆ¤=Hš.ë»cHÀÄË{‘Nš‚6{»¾!Ú³J×û½kfì䥴 ’#áÆHˆê"¦Š‘»†Iú}êGß_ø’iø•®‡)­íÃüš2B´ft¿9ZËhDxÑ€è‡ù޶;Y`r±îå"0·´íOð'¨=?|Ö·LwjS¨cðbe ÐÓ‹¨MDÜÙ‰«þEãhˇvR<˜aÝ¥«ü Û$S{,¡Ù+)IPfï÷›œã¤ûKZŠ‚šž{øôqŒÇ\ ë'ßk@6þ!ÍøW;çsî1àƒ!&¢B.äñ 0„ĶHWõ l»ð»™à£y7švÁ3*mÎ=µXÿÎ|Š3jN¹G†úš°­ 1 y#JŒº…ãÆôiN‚ÚHá6"׿IÐDãíÁ¢.Qô*gÈï>Ì8&eg’ó‘§žëÚªW}šÔ1…¡£ÆÒX  ÛŽô2$»÷}®“BÔòt=½<[$^õŠ@ÇX fÒv $C}/™@¤øÚ7¢¨C! •¡±sklÛ ·¶¥88ÝžåÄÇáõ1ÌQÚƒ¶MºiÓf|¼Maõ›¾-¨üçs´ãђǼ3;GS?ú½±ö65èÔLÕFvã×ܳkbðõó¾»W´H ˜¹‡6ø”Œžé Wvºâgã´{÷§7RH5Ñ|ˆ¼|_ÌTOcLÈ‚qÀ NøóÌ´fð1ÃètѶ軜bŸ »â 2aNÃè•ñQ-]€3¼Öfôœ °jõmª÷Ê*åsh;jYgæMÑlÓž(Š”w m½ë¤†™fçe|ÍQ¶¸Hq* b»fÇ j) ä,òje˜¤\ ÉD¼L¯³ÕnrúWmâ:„Õ7“JJiêÜ¥µÉ,¦Xf&˜f÷„¡¨Õkô}ã;þÍa*„3¾™cè^ßÍ«¦fzÁ ´?ñâ¿Ø] ±N}ãé7zŒ!!vÉ|r1œ¹ÆgFÉzÚ95NbËÒ¤`%oJkíÐÆ%äƒ]¾´ûïË©V€ÐaBË0Õ6œà<<‡oGmÀ\û'̵8ò—£ÓèÌBaŒCÎ÷í¾ /80'Í%ª-sÜÎ>!Ü[@ß nÌÜX?>Üîmš‚â¯O;o•YÔ³Û•¤¤@ÐÀ/Iy¦½0›Í¶ˆÕÛ>Ì›p‡À˜CƒŽP},Hy‰h:’XöºDÀ"&*]!§º²=ÀÒºÔ+s#\AXmG«½9ÀbÛ‹)0šR?cˆÆDSHN›MaæE,Ü~ ¦Àh¢^„5iÇHxÕT­ ÿïÙ®?lԴ͸7ä“dÌGÆ«, L@"m+‚ÉÄ@:2#ö©O –ÚÔWN¾Œ¦ãZÀ)¦ÙT'˜Ã¡Y.жåîîcЪ~îKu «¯–þ0fŒM»À5Æóò gcDŒÙ¸íñƒyás`è=×8|rqŽ+°džyeø„ n ¿MÍ´ØùÀäÄÖ¯„Sxx_ØWøµCC¬P †¹$I£]9м¬ü×Ò'Í,”~%”VñÑ¡z™ŒÇž²C|O‚1D3×w7ÌaƒùÙê««rY¨*qý]b·´Â»iOûòýPpŠ»Jìo“Šë4èû÷¢ÂÖ|Œ¢î—·"͈E›Ñd“ð5„Ä -â¨_OûâáçÊ·ú%¤Xã\Ú f‚0ÅávNï}®}÷Ì0‘¤Ç`%—ÅH\\†IŒ3£T»¯Ý¦‰{6:–– ‰¦ýÊ_:Àú:d_½)uãªè&„ÉŽä Ã1~‰%ÆmúÎb`¦»ë¬ŒuÆ$c`i.â6ùéÚ¯¯ÏTB<<Øv> f®On ,¦ÃÜ„ð½4ϼ€®1qþµÑ¤ALjanãdï)†è]6GÜïÚñÄvfyÔ>~Þ›æÊ?5ctÓ–.*Ê!„À®d꺥·áº¿&ð&äA»9á¿Kš¦eC¤X‘Š©3å:¤}ÕÉ£,ª “ßú¾¨AxÖÞÒLºhD¾IXlH„h>Ÿ+ÑÎÇ®Ó6êR½ùήm’<¦CÚð¨Ói PýAšÀb»›¦9hRì^Õ9ªahÈëòÚ¦Më¦w‘f Áç]ð‚[»ÉX¿H‚gÃØËqu¼‚ Z–oK{lÛ²ˆe9é|ÇðCã@°L¨µ-TãðXÃn‘,£ófšî6“k€Æg®Ú†˜ŧùòHvˆ)‚íG;Öª±Íʼnê1Ö±NÚ…ïJŸu,¯ª}–â¾ÃáÁ=pÍU¡4à‰GS‚Ý$3ï¶!{mðÑA-Ó@ ƒÁø>Ë© ®Æ%3ya׋ýÐóGˆX‚:çl×GZ§Nö8ŸùS5ÄOSù"‹Ïi7gy¤/¦AÈÚaVçSçLJú1 î¡ÍŒ¡—3 ÿQ¯»oR×ïü ry?m2 ’Â3í2ͰZ¸úÀ´—´ŠÀæYÒ4-9Ó‘ê|5n!cómEðLŠzFÂ@ˆ¾5•õ²½`Z‡RdøÙ2ÏîçÁÚ’²%ri]ÓR6.ò¬¥Ë80áW‚Y`€#Eà>GÜžw\.œ~·_N7BL„‘Žé~®¿ß‚—Få­‡A1¯|ª4È9¡Þ“a²¶1”¾!ot­=ôDë}¾Ž¦tKWf´Õúm·®zÁ3-‹&*£0$A;ÁD‹¦^ÑrÀðß{3–ÑÕV%‚B8óæÌDŸ|oM:%Nojì6‡5NfàfòBtâc3sD6t6óIRzÞ9! {*tÃ÷¸¢ù(: “Hæ„3öôóˆtÒ1D„,÷0D7–%š_û ihf‰gIñUr× º!)ý†+çÏÐ’ÌùŠj›¹»iþ––R0AW`¬w–$˜Ðu9ÍwùFrœ˜ÍE»§b°oiÙŸµ Îìï²ý"]zM_ð&àš¿W ºÇ[ ß§ß¼Ön0uw´àaVþf7ß?”r‚kƒí$S8Šàò?ÖÁ,ÌѬcÄc~x4…CJ¢ù©PJÃ&`´’¼r¯€ºb’ð¨Bû¥çæêeºÑ‰4ÜCydÖÇ|1ü œr%ÀžÄ„t?–¨¥M……pŸkæ2%Z—$Æõ}_ž®ßŸëHÕ0óÙ°6; #dº%¤zSÏG‚5}vG| p®ës)Œ$…Ñ:Ê©TRH;hHD&-*n™¼ÈŒrK>§Êx¾Ï°‡ÈX  6i%ŒlQŽd+--Ç…É Š±JK)Aœ D ^0&ÚJNô D÷ýìòƒ¥¹iÓ X IóY¾©è"±ê:áʨx™f„æ bÆðýΤ¿KË L¤§A ÐO2øþá!È4ð­UtùÜ]Ÿ¹eÊcö71é׸4t'¶eK(Ãí¦‘"pÑ5/̈Y/šïÿ~ï=#%Ö-Ùx¥#Æ›åŠ.hÂ\ƒ­k« õá-Gl¿îÍu‡Kdz”ûöcnI‚R®nk;ânþÀÌŽî¿UËF¸Ùø~¿ìúÔMcB¼ý=²o%¨ê&’®ER© ȶãs#RŒoæ39ô²Â„¤¢økÑ`Zk¦¢>WÛEBQ(É “¶å!ûŽÈ’&¡dòY´Þéº8X éà³yN´fçýßE\„¶Ô ‘Í$cŠç΃eæCÛ<Ò¶ýи»=á[6Ü=eÂhyÜÝèçqòáDÑÀcÏI0§³ýñ·ÆQ^²mÛÙµàõXþ3üXƒCk”£U¤yšÚ8Ö„©eµÎKŸs{†§£ý1äÜ«®Í˜É ¿^˜&N]ÛêhB‘2¡´ÜsÛÀ5gá´W8²RÁ¸éW{õ —f %ëùÔ\2ÓzfAÐn+ % ¡’Ž£Â‹b"ä×®…ƒQb~S³)HºÏ±[,Ê¥î@¦·¨dé›´ 1_ÀAôLꈉ€ì—ãoð€ ÌŽ|L$ B `Èù21˜” íäyÈ]]!mXK*3øF40iÜ|eÈÁð|ªåõúmš³”b­¦Û‰ë\‡ 0ázÊÌóÉl3öÙÄ}7$×ÎmÚ 4%'èâ9 k )øX”áfpM‡¶—À‚ـИ뒊™¥·è&54 Ús4ÜK±Él¼¥¥û=m³ î¹DM0(í"úEkK´õúËLÂ0 d“éÓ"=<Z§igpôÀMüÅÁevﵕéà;êí?‘+$5à|Œ4I”Ef6"²×SO{ÄÒCV?ן{»wDëzzŸ‹}6nDU¢¤bÛ­a¾ $ôƒŠ¬å®h\/LÆÌ†פޚÚzh¼™©Bxáþ&ˆ;éë³¾ G¬·kô0àöÉ ÅÃC0lµðˆã;H«ú‹œŸñ|Î6§üü¹ñÙI ÍÜV—™ÒS†¹ibxúõz˜æµÎgcú—4®ý9@1 ×Ìq8€a0Ñ«b†ç[̕ꙕ𠔱 ¼^d?Câ®êÉ©ÊÛVt›p0.‚‰US?²&) k· “‚âZ©?Í]±#jHh ­®-„}Á½ý) ¿îa¦ô.­`kŒ<»MÕI±¼ÏQÛ>z¶o£Ý´¹ÐÓ6|G¦ákà5nNÑ!3æ¿.—ÇÔ[hNÚ™ÓݘüαÏxfzºVûTÆ·´3|JB ëi[Ƚ4n9ÊŠA¬7cèw)Áìc‡XÒ1?c¶D(‰ 1»Ÿ£^›MDÇ\r?ìnð!JÑ„=>FH$^Ÿéb÷J?¼ Oü¤ó< “×~¼ó76~ˆsY¸$¡²ëÁYTüüÌtÙ5âLü;±TAÇI„÷{ã[µŒñÑR|·4ªãTÝl•ã?ÔÕŸ)UŒÏœBÆÆœ’m©Œô gDMÞ¶ìÍuîŽá—·}¸Ç†‡~à™¿^[)æø!ÆŒ^¦w¯Y§˜mÎQ°pp~”?åJ\[×ñ×}é„}3µÜK $™ Û¤ó8‰œWFdOæÌRU¾ß"€ªeJŸ°ù4@¿K@‰Ã\þ¬RÍdžä¥l¿ËµLiSÔSÌà{ÒL޹_…øÑš ¹ÈInþÇž”ñ÷ìVJ#Hñ:R$ óûÞØìÊ%ý²”P̺¨Á"æ·´ªÍ›pŠTÕ'âþ,EC~7þU,ׇ$üÌùÖÑr!8\I@óŸ#û»­›­ÓPCfhüùq1Ä’âá$`½éÙ«n:»zÑä˜KvM vŽ8FX>/ÏŽº-r7›D»Îj¢FÁrýHð(?æ5ˆ¶ÅÈüe¸ˆ6›©AsH†``f¿ëGШ–@ð¶ /«B«*RQ!Åmϯx gÁsvŸ-‚OÈò6Û–ŸQIVyÓ˜è¾Íp8ŠÎýÂÁ¾½Vç?¶wÌÏæ/_’[p¬D›ùL;QëÁ° êàr}L/D/r ñËÑ5è%lk—vb2h$Ó€ 2 §ç‚pÞ×^ ª&ñ›½ðº#ð’XØ«On•&¥•Hãr|1ðÖ¾öøŽíÞ£¹&P0É´ÁÖÖf„½‡–¾kRV’l96™_i‰FciºúNPgÞB:¿V1>;~ðÅàÓmOü!æ«ÛÇ8õ2×BšØîôìqKÂs<_Šö'¨ú‚Çå1ÃÁIBŸÈw üú›&«-þ´1äEÚ;Ï-u÷Ý&]—J›©¾ ÓÖµ+X‘/¥Õ0ø&%ÌúýËÍ9™†Ô!=…3÷ªßOë±lUl\W&®ŸêXQª}X¾&¦¼›¹ÌW@¬8•ÆBv>¢z8RÇl:fAvüßMç©HÁˆ¡x hJO·e‡ÓÔ¤ð•Ž_”‹Hµ o}DHp X{ÌÔcÞËœ¬{E|~<™Vão¬^/¢Î· zÒ‹ ´Lì"ªlΙJ‚DðèŸË¥éÒ ¹1?_¢²x·îWRÌ7‹÷j³¶0Fm¬€¶¾T™H[ð¥”4ÑþƒE?ÒúG•03)-%MÄ yŸy`¾o?™¦Ïq=|îz7˜õƒ±äA×W7ŒyP}ïG¸ô÷ùìOR³X›úK{ýN jf/Tƒ…K"i. ˜$ÞÑŸ¶T5}Á/†ëç¬_ ¡Ø@Ãuõœ„hæ>úmD„€{¯@ iÀ³ŠMñ¨NàœÔ£™NòµüM‰JηÿnCÂêãjh»¯×…HÒ\ŸÖEôˆå¼6°ÊßJ™ìIÝ­ØÑ‡]1$\rR  iê]ò€t+4BÂ|ŽS¿(O)Ú¢ Náhȹh#„’xõu¿ùäLªñC„]ù•g¡d¾4³¹¾6¶Ùš±F˜IŠ ¸%(&Í,ˆÊø³ç‹1"à*lânĨ³½,ÚP$Ë7cÞš;ô\–Lc¢Å‘–´½(?¦é>Ïš™E&¯ëÓk·H6â7ˆÓO× €5’½ U™]o×_GïVyCóâ\R–˜ž¿Z¶Q›Ë+¢Q¾3kuLϧùþ3M`ì¹q…[ݱ(Ý™©ù÷1»­è…2Íìü ,h½ƒêŽ< a4‹Øÿï¦S5ÅõêÂÆ0LYƒ¬Ã³Ñ"é—»2I*ô˜Šþè¯!Ý{û° r€ãXþ¦v %†¼™‹!ºñ¦f‚`ÔÊ<‡p¾ª3¿ ¥kkmÕØLDÌÔ]ö•6#¢Q.¾¬Ó‹¶!f¾Æ6&Á‰ö¾¤±À¥½™¦ò•\͇üfÕ;ªˆ˜BÏ®ªeÂÆsH5ý¿c®Ñå+kÓ¶yågk´Ø¢û„P] 0ïãõœåöù!ÌsoºÖÿÁ~8ÑüÒ;ÒGÞ4 ·é(“×d{ãE#Ìé=M®&ˆ117 ä7;Xäׯðß3\¡ßim»}ap¶n"þHÃ=äØ;„ "M7` ίEGöB!C6/²$r³ µŽP´‘Ïúòoó˜k–ÿ[´…ø*ø8@Ð €ñºÔ·jÕ/]_^1ÂÐSóõƒ'/ÚðjM¹ñÿhHu”ÛOˆ´N£žO̳ªbf Žàˆ`üRFÔiïf(˜û«ˆ&G\UqÐ2¢H ©Ì¡€‡&ñ÷Áã4×Áöu‹í#Œö&ÉA³ùÒLÀ‘#­ +ÞÊÁÙ´ïj'óiåüVãGÃÕ#Íî:FìŒÍ‡õœ´Žµ9H¥ÐÎŽ¡D÷q˜µñ×Þ|ñå7xö†£Q)c4¿…QP’PY‚á¾á=úÐ4³€= #´—f/HlÙx¥¹0­…Yýa¼0¡_gÉfIŽ/i-5wcO°ÕÐŽÃPžO¹4æ|;@„¯™ßÚ<•HÇ¿©]Ô“²t`¬7A‡kyÆhºÚ×wwVsÒ)´Áæé’”Ïm‘aË4¥úÙ<à›O#@dcf°½ôl¡XK|µmàÓï5ÕdKŠ©è¯ƒÌ÷Ö äk1©jýâªÀМü†½@ù˜‚ߌ!@Puëˆz%J–ûñá˜[ÕËϧÞ~G`~˶ÓhLV™Ñ ÓìÁ:³ÚxM YŠJSY\ÎÝøÚÞ+<‘&rY^q-ÚŠ"Û®„[Â…¹h ,7ÓÛ+ “B¢9Ýî,¾;ý†ÇUšh;¢~èÈ“—«?ý‚;XÏòÕ'œLƒñÉ­õ)71ßR,õùÍ>d~Á÷µ)<~¨Ûî1Ç\—F“¢Kè s1нþхϟȯ–"ÆÈ7ý&‹ÏX pß1­Ü³þž\,¦¿‰_”pÙ«g‡?f5¥ õM¼ú™´†qùsšâßÝ ‘œÒQΑ‹ësÐ—Þ uÝÃÛ ·_ÏŠBïrh%Ší–`5?¶j,±xþ&¸ À’ÎÛÑ©H³aT“Yn–¥ÜÖïÚPšž˜ýq&»_ôW[žXØþ®¿KS@®W4nIn΂³­Æzn¬Oµñ+{j¼ÑþÙ¢«ïÄ1Ž$-„y6V*à­4­·cÄzö.‚¶~ù6nøPѪ“~“²4p{…êMMqÔ7¯Sü^;/ p: w†h¥-b}N#4ŒY†óK×ÃNÏ,1Œ8¿ÊI{œ[ùÇlHÄ|% ‚cÎU‘—¯|zyŠAr[~ä8¿Înûo+p}nW[ ú/ÍÛGÁhÓ¨¿\¦:·´o“»v± !_>óÕi©³/¢¥’ü¦h¯¹=Kó-Õ~Ì$m£ª´¨â#ýQî¯ U-ÜŸYŽÈ–Éþ0qË9)Éëj’R2z•1€rt¥åÁè–^q´„lÏ.HáÇ‘h¿dþÏQ[§ú$b×ÎŽdÙÛ¤<&ä|R(ÇG8fõDÚ'Rã'’xæk)˜þ6FµˆÌÈÖ÷·ÔŠßÕÐY‰Æ¼ÒÊvVà‡EÝ|Õ"JÎx¾á4gh'½žÓÿ¤U»µµ²¯~ ¸³Jjw¾_ŸKÈÆ¬§+ÓLÁÞ¸øyÜÈv´ÄüÝ[AÅÞI=M³ŒBZ›ä‡¢iÂ"¿Ø—`SÆÞ*³Ìø,KmXóïokwš<¾T¶±üÞhxñ·úck8Nº%"ÕÏE#½tLíÅ7£•”Æoj5xçËu/ßÁÑ|pÌέ W\_æ”(É_~Ëìc^yCè—O/z7ÇÅbf“Å_fÛÞ¶ïÍ/Ê) sü¿¸>Á­µ h­‡fELV[,-ãý¦hLdlïK³<Æ=òùMÔuçêæ´«„±¼Y‹íñW²sãx&±!ò†æÉ÷i[;¼é´¨Ê7i“,æFnm¥NõÃ,3ÇjÕHÄ[5öƒ&¶Q3-¹š«×ƒ´JpôjllK¹ô]ºÉ„º ðm Þ-R —¾ĸ™Ú‚ÿë»Í–ŒOÀn3kÖ¶‡k 5”é‘_ËTÅÕ=+È2!ßx‚Õ6lŽý²žúgרšçpöÓP,@ŒWŸü­ÌDÓœ_ó©?5 Êúi™ S9Û­D‹ðUš„{S‹ðhZ'Þwˆ5¼Ë½2u{f/háY€z«ár¥ä E®O„ܳvMÉví]Κ×Úxê‘£\Â1!7c",êñp–€§o•ÍÄdp±:ÃÆ&€3³ÔA5‡þý˜F ›õ³Äô]½,b  p¿ ×’Zj@ÒÚ‘ÄoÎ)ÿÔ¡ FD ûT5m'˜#[s1!~_>¯¾çüÖ¦Ôä`#ޏ!bÈèr— ÈŒ'œð1,ˆ‘(”¼ç–÷ hŒ Q¦ý¢Á˜š?a lúñTÞ$81¶ ‡¦$ås9b¸Xu‘6&âÓòn…™R5;“ë'¡H€¢Ï\5~›Âꮊ7úî>YÍ ŒÄýMÝw†][{OÝ;ª‡Ì]é©”§*rüÍ»KŒãócgè5nŒkì÷äV_×3‘K|Ç,~¯…ós¤¬ÎiN‚Ì—¢È)4÷L3Ê4Ð…_[„Fó­®2ºÈjü˜S2TèK+no xÅ.lp½ühãüØoxïÊIâmÈÔkØ®E†$ǨÞD-‰dƒ]ùS *Ò¬Q™r&KuŒT ûô”Ö¨eœ‚ˆ“)—ÈGØ‚„´µ,g$²¢Žæ‹¹Š©º™ÓëÍœh¾~ÝÓî¦d4‰ÌL_11/¼‡º™H‹ê4ê/’¸Ò¬t¢V}‰iáã["á>Z·aRÒ4Ç’¥µ9fyE$låîŸé ¾hÄ¥ ºvÚ]AjK.ûô–â‘Hg^ŸBª4D®ö܇n®¸á”—…©€ †C$±\_c_ÄøÊ”ð}îa¢‘šy_„%:lKùŠÌî2A"¬„ƒàzù®¶Û@øõš¯,ªËehJÃq"àâ¿Ûˆs $º}ȇŒ ˜Ê)¦Q5ã‹Æò=|s¯ìˆð+f»mÒÁ®S@ÑW;–nðß/©«ñ/Ã; #­S\pœ²Õè1‡=“Çö¯,ªÎ329å²8ÆI½œÐ|½‡!®’ßµµ[\0‚‹|·³V*{Ûz•ƒb²1¥Áèä”Ò|™S\ÚÄ Ö’bDPáüB£}HÆÁqˆGiªíBµÛÑ4Ç·Fò? –›úX,¿$è˜#s"/ÖØ1…~. ëÍZDž1Q!ªþ1‡­Â¤ôP,ƒÔn¼³ñ &d ž[‹¸óâúaZ(¾ ÏH¦-ð6“ËAH6m‡_{¿~ƒÓ£³Ü‚¼¿Ã'3f>–V6¾þy¬ï—å—ï^×krpr«àUÿ3£ý~´fë‡@·ü3:è¿Ò¦Rƒ7³/õÇ¢Þ·BÈ?Äx6¯R;`fÇu´kT¯Qp•¼f© ¸9üÆÁÝtjt ŽíY±áðê¯ý#UŽÕÉ2„õ?uð¡lNîg&¤#~'5×!óG ð‰øJÁ2릗ž@ÍÎIY‡6]g‘MÚ¬v˜S]r¤—& þëþ0GH\ë^‹Æ8нhež‰]æ¾Ï„ucÁÔ¶÷x›Àôªw¬Ñ4„E¶ÌòÒ}‚{æ(áSYó1ÇVÙCí—bׯE ìtÏ_Ä(ô¸Ù4æRmÌ× ë³óoõ~f 6‹Ðuøá³gÑú³·*ïMN¹äµÍ áyüüØxÍ7Ÿ`är*%ÁñÆqèã Öã‚C ж|GZmc$F'1Á^Áy[€ÇâzH3ýýO¾f€\§|L1¾o½´ñ‹|Íðø :¨è*«˜é[Æd¥Ð¯`NgЈŽK¥Õ"ømÑïÎé À~NC¥vÅÑÝô¶š3……˜P/1©â£ú”­–šæ}©÷o&ÛIcj\BwIÏØÛBeN^hèÍá>)F_@s2ä¦îJŽ+Õ¹ °±–©…>ZµýñçÇ΢K`Dz­]‹ j'Í-âRï^¾d‡Ì³âÃnFÄo$¼-"&(ú¢AÜͦ5{8†Œ™õW;OåÊìóÂ%øYžKe•Ò@f.ë<$Ú笻§}¨–2Ðf"·#Î4݆or’Û_ÂùÏ4—EZÃÞÒÖQð©ƒkÒâÁßÐÇw½¦”Žý^®4›Ó³üÚðÕø&DY'ÚJÀh÷T› )½ÂÄL1óM¨„$ÖÚl·Ör‘ býËûY`÷%wíWÏw×1£áã ÍËÛÃG=ªLb¹Ní_tÍ*>ÕîaHÜ^‚Ñè®W2Må÷°@à¯R'[ÊX€ø»Ýê%mÑçm¦$kI"_åwg”›tI¿Üwª¹]= ¶_ÇÜT?‰´š~ÏDvÄ»F ê®O’s¶:«|+€­È“‚8(n¨ƒùž[:§&i-)"þäõfiš’J‚ÿ ¹ª/˜ª/Wò…|¬‡ú™[­ï¤žDÛnw›†ž˜£6·‚/&ôŒ]!X_g–ÎŽªžÝ°wí¹}ÝCËܶÎaÛõoýÅac\㔌ÿx—‰#qgßy&fSÀ‚èOÂzÇKDÙ_ï`±À¡1cf.àãçïLüE ·U2xQtc[`yÊM©5m*{K›=‚CE$v…h„Áêy ‹N`SÕï­eñ¬ëiÁÿþYÅÒ}·M'µ%h™»,éИ±Æ}—!ØB§Ž‚:cŠ×ðW°^=åX’’¥<"F€m3=%šSZÿajlNù!@¶‘"?!‘þWîÝD‘?SÓ2óvˆ¡e.>$‰z}Öp×g×8Õ¾3Õcî¾3ç'šC䜯r(ÎGJ²Ê5f’”s!@ò™¦b‚!˜„ó•|ºofÆgoæŒÏ„¦Æñ±ŸÖŸBmÈá3[‡A´%‹¿²ôPå8.ÐÊîåó.Q¡ƒqéˆfyÆî»­ŠÀÔÐKÿIyØ*y{Ä`ìú€—÷Ym~^`Ý\z¸—õ»û¶¨¨´ <ÏD×:v“Áô^¢×1H¨þV‰ÿ¶Ýyi)¶?¦dnc8¥av[xW>¯2†,È XA’M×Nc³ÆâS,ÈC‚wÏ\Ǹ<=íIkpƒÊì²=ï÷*ŒŠÎ"Æ+ûû$ Ÿû›D½Y¿ËïØ¥ôåó?ýîTK%êŒ'ýˆ[&a%i•¼þÒ|ämsÄÒ˜Iÿ3ÝiN»óE˜ÉðiÇžO‰J‘žø`ž¦k"\ÁÁ!ÜÚ†Fa~r禬ÚÒþ"Ú¾Ïy¶òÏ 3. ‘oÏú– $hfr¾ôiCÎùhé*¦sT—®œÛö ƒq+‰Äñ42f«ý\!v9ËÆHwùOiKÊçÜŠºéjíÆ³Û[ñ{§;>&tf—˜A¦³³ßÍÆMgÀ9^…GÅaŽ›ÎÛ@"øj 0 í×sˆÎ÷¹!PMÛÀë}óÇ/KPøþ]Û÷“ëP>•ìÿ]ÞÖ‘3ô~ÐÖ ©ü¢Ûûª¨~ÆÄ"^UR²e«ÒE|mx¨MNÄT¥ëî{ŽÅGÖ“HHëÀ€í`dQ Fò$U?ýùQB[Àmš­†ß%¡Wa‘¿þEvuH˘·d.¶u[½xYEgò_zÄ¢#ZuƒŒ‰ n¯Ì sF®Ù’I÷RCÝÒ Æ“œ*š¾Õ'¦s¤¡iÅŒò›—ON:ßÇ1z>Ý/WRPxY{ Þóò´“ø¬+M²µ¥¾àÔ3ÁL“³†KÌ´ ‘Ú7“ó´7-v &ôY¸3Üm‹G0b‘¤—vÎ1 iÞ·#)%gà”4×^<~¬ŸhÈ ‰cãF£O¹H)»h ÒÎa7š ?m»â÷Ìï|ÏZåyá&ö°–d:™`¸MѵƼ†ùÐ;8¨ûôOq 'WÈ6#Gr ªešv1Uð©°>, È$?7ám~u€ö åùï¿ÿx÷_9Â!]jƒZü&­æÙ™ˆ#7xT1BɯAP ‹XáØà!Là@ûnßgj¬Ÿøf¿þ¨J¸k¿Úm ’ÝøöL‰ÚJcþˆÃŒóhÈ˱02s¢Ix‹ÓC£5b½¬½Ò V㳘i„…àí.ÏY7¹ –Q*ý’W‹>»¢ ƒrtcQ¤€¿iÅû,D¢ó`?B]_ú‹ð«Âé:Íü\@wsÛñ¶õÑ`kd NEšœ]ºE¿fš.Á"áÃ\ ŪŠ¤I"ïþYß\˜¾Ä¤á%¦B—ûÌñm~¡Ûã—\/.’S òS÷ò­á5† Vôí†ø(±¨ x>îÒÑtj2…¤/4‡›ÿp!”ŒjPIEND®B`‚./chessx-1.3.2/data/themes/boards/maple.png000644 000765 000024 00000305452 12042321504 020176 0ustar00nistaff000000 000000 ‰PNG  IHDR @;üw AiCCPICC ProfileH –wTSهϽ7½Ð" %ôz Ò;HQ‰I€P†„&vDF)VdTÀG‡"cE ƒ‚b× òPÆÁQDEåÝŒk ï­5óÞšýÇYßÙç·×Ùgï}׺Pü‚ÂtX€4¡XîëÁ\ËÄ÷XÀáffGøDÔü½=™™¨HƳöî.€d»Û,¿P&sÖÿ‘"7C$ EÕ6<~&å”S³Å2ÿÊô•)2†12¡ ¢¬"ãįlö§æ+»É˜—&ä¡Yμ4žŒ»PÞš%ᣌ¡\˜%àg£|e½TIšå÷(ÓÓøœL0™_Ìç&¡l‰2Eî‰ò”Ä9¼r‹ù9hžx¦g䊉Ib¦טiåèÈfúñ³Sùb1+”ÃMáˆxLÏô´ Ž0€¯o–E%Ym™h‘í­ííYÖæhù¿Ùß~Sý=ÈzûUñ&ìÏžAŒžYßlì¬/½ö$Z›³¾•U´m@åá¬Oï ò´Þœó†l^’Äâ ' ‹ììlsŸk.+è7ûŸ‚oÊ¿†9÷™ËîûV;¦?#I3eE妧¦KDÌÌ —Ïdý÷ÿãÀ9iÍÉÃ,œŸÀñ…èUQè” „‰h»…Ø A1ØvƒjpÔzÐN‚6p\WÀ p €G@ †ÁK0Þi‚ð¢Aª¤™BÖZyCAP8ÅC‰’@ùÐ&¨*ƒª¡CP=ô#tº]ƒú Ð 4ý}„˜Óa ض€Ù°;GÂËàDxœÀÛáJ¸>·Âáð,…_“@ÈÑFXñDBX$!k‘"¤©Eš¤¹H‘q䇡a˜Æã‡YŒábVaÖbJ0Õ˜c˜VLæ6f3ù‚¥bÕ±¦X'¬?v 6›-ÄV``[°—±Øaì;ÇÀâp~¸\2n5®·׌»€ëà á&ñx¼*Þï‚Ásðb|!¾ ߯¿' Zk‚!– $l$Tçý„Â4Q¨Ot"†yÄ\b)±ŽØA¼I&N“I†$R$)™´TIj"]&=&½!“É:dGrY@^O®$Ÿ _%’?P”(&OJEBÙN9J¹@y@yC¥R ¨nÔXª˜ºZO½D}J}/G“3—ó—ãÉ­“«‘k•ë—{%O”×—w—_.Ÿ'_!Jþ¦ü¸QÁ@ÁS£°V¡Fá´Â=…IEš¢•bˆbšb‰bƒâ5ÅQ%¼’’·O©@é°Ò%¥!BÓ¥yÒ¸´M´:ÚeÚ0G7¤ûÓ“éÅôè½ô e%e[å(ååå³ÊRÂ0`ø3R¥Œ“Œ»Œó4æ¹ÏãÏÛ6¯i^ÿ¼)•ù*n*|•"•f••ªLUoÕÕªmªOÔ0j&jajÙjûÕ.«Ï§ÏwžÏ_4ÿäü‡ê°º‰z¸újõÃê=ꓚ¾U—4Æ5šnšÉšåšç4Ç´hZ µZåZçµ^0•™îÌTf%³‹9¡­®í§-Ñ>¤Ý«=­c¨³Xg£N³Î]’.[7A·\·SwBOK/X/_¯Qï¡>QŸ­Ÿ¤¿G¿[ÊÀÐ Ú`‹A›Á¨¡Š¡¿aža£ác#ª‘«Ñ*£Z£;Æ8c¶qŠñ>ã[&°‰I’IÉMSØÔÞT`ºÏ´Ï kæh&4«5»Ç¢°ÜYY¬FÖ 9Ã<È|£y›ù+ =‹X‹Ý_,í,S-ë,Y)YXm´ê°úÃÚÄšk]c}džjãc³Î¦Ýæµ­©-ßv¿í};š]°Ý»N»Ïöö"û&û1=‡x‡½÷Øtv(»„}Õëèá¸ÎñŒã'{'±ÓI§ßYÎ)ΠΣ ðÔ-rÑqá¸r‘.d.Œ_xp¡ÔUÛ•ãZëúÌM×çvÄmÄÝØ=Ùý¸û+K‘G‹Ç”§“çÏ ^ˆ—¯W‘W¯·’÷bïjï§>:>‰>>¾v¾«}/øaýývúÝó×ðçú×ûO8¬ è ¤FV> 2 uÃÁÁ»‚/Ò_$\ÔBüCv…< 5 ]ús.,4¬&ìy¸Ux~xw-bEDCÄ»HÈÒÈG‹KwFÉGÅEÕGME{E—EK—X,Y³äFŒZŒ ¦={$vr©÷ÒÝK‡ãìâ ãî.3\–³ìÚrµå©ËÏ®_ÁYq*ßÿ‰©åL®ô_¹wåד»‡û’çÆ+çñ]øeü‘—„²„ÑD—Ä]‰cI®IIãOAµàu²_òä©””£)3©Ñ©Íi„´ø´ÓB%aа+]3='½/Ã4£0CºÊiÕîU¢@Ñ‘L(sYf»˜ŽþLõHŒ$›%ƒY ³j²ÞgGeŸÊQÌæôäšänËÉóÉû~5f5wug¾vþ†üÁ5îk­…Ö®\Û¹Nw]Áºáõ¾ëm mHÙðËFËeßnŠÞÔQ Q°¾`h³ïæÆB¹BQá½-Î[lÅllíÝf³­jÛ—"^ÑõbËâŠâO%Ü’ëßY}WùÝÌö„í½¥ö¥ûwàvwÜÝéºóX™bY^ÙЮà]­åÌò¢ò·»Wì¾Va[q`id´2¨²½J¯jGÕ§ê¤êšæ½ê{·íÚÇÛ׿ßmÓÅ>¼È÷Pk­AmÅaÜá¬ÃÏë¢êº¿g_DíHñ‘ÏG…G¥ÇÂuÕ;Ô×7¨7”6’ƱãqÇoýàõC{«éP3£¹ø8!9ñâÇøïž <ÙyŠ}ªé'ýŸö¶ÐZŠZ¡ÖÜÖ‰¶¤6i{L{ßé€ÓÎ-?›ÿ|ôŒö™š³ÊgKϑΜ›9Ÿw~òBÆ…ñ‹‰‡:Wt>º´äÒ®°®ÞË—¯^ñ¹r©Û½ûüU—«g®9];}}½í†ýÖ»ž–_ì~iéµïm½ép³ý–ã­Ž¾}çú]û/Þöº}åŽÿ‹úî.¾{ÿ^Ü=é}ÞýÑ©^?Ìz8ýhýcìã¢' O*žª?­ýÕø×f©½ôì ×`ϳˆg†¸C/ÿ•ù¯OÃÏ©Ï+F´FêG­GÏŒùŒÝz±ôÅðËŒ—Óã…¿)þ¶÷•Ñ«Ÿ~wû½gbÉÄðkÑë™?JÞ¨¾9úÖömçdèäÓwi獵ŠÞ«¾?öý¡ûcôÇ‘éìOøO•Ÿ?w| üòx&mfæß÷„óû2:Y~@IDATxDÝÙ’#É’­gL™Y{èsDøþoÁWá/yOv÷ª2ÿoYD5"‘p¸›©é¬jjæŽëÏÿçÿ|_^¿_Þÿ¾\ßïËýûËûu¹<ï×ËõçGï_—÷ß¿_.»Ün—Ûåq¹½5øãòº¾.ÏÇ_.Ûõrû㟗×ûãò~|»¼ûÞ™Ëå×ëòþõóò¾¾/×{}¼~ýö½±‚}ùuy½j{ÿíòºÝ/—?~^îu{5NÀ.¯`];¾^ëÖµÛåYû¹ßƒi„÷åùñ Þo NÝÞ}Á¸¿^®¿ÿ³¶÷Úü5|kóë÷Ëí#<¿=.×g€ÿò· Öçã÷èûq¹}Öëcïg¸ßåvÿvy†÷;zïÑvùõ½Ú?‚y¹<Â'D.ÁCæûú¬O.†ÿûû#ü#Þ—`‡Ãý/¿¼¾ýH}?~uîß— ¾<±ö_ñô~y}ÿ½îøýûï—ç3Þýö÷øÕpÑ|}Õï÷ÿî×NÞü Y¿o!G–>¢å²·dðzÖþÙùoÉHÿ÷õò19$‹“S´þh¬Æ¼]¿Eãëò_Þ?µ¿^Þø^ßÛ7Äìgt&Ã_áv5¸·®ÿúãòü½?þvyüø‰ñ ˜ï·öññŸÿ¾¼~þëòÿþ_ÿwÚ”å ï©Ãío|ßÇé[×",q(¥{ýq¹5xø×â ä×?"Þ`!Ñ`”fŠ3ÍMõÝÏúaÀ®}„ úè nýú]¡Øõ;XõЬ1ÓXƾ¦h;ÕGgtxN!çZpRÀ{ç®Á“¢‡‘ž„€±”RÓ˜p ¯}vˆìäÕ÷—ÀÞ‚}xdä>a§Õ›bôs§˜É'‰Òùý.Ú5.ýÝ5|¿ð$…¼Ïÿ ¾Öýß¡öôx¤õ%Ì;¾_¾ýø­þ?²•?jÏ :ñŒ6¥x§œ”qF ¯ã%‡Wðb\p~ ~ÆñôÓ‡á0>FÉðn,ù^Ó…¬{ðû/IѦàpŒJˆžû|%¸[íŸ3„ þ}Ëø\Î+­¬Ó3k憥ÀÐ:ãGŠ[·Ø>wž†Àê{Ħ}!Òþ{‡€ÿ CA(Nöçdg#öSys—õ5è¯àêAµ„£`µ¤0!t¸a1¥Q¯¬uùU7øt²Á†—1ï„âZ8])Cí§ÈÀÚkʃ¦àyó¬ÀÜKž n´t-Eìj4EE4ßjO˜< ®LÁÁ¨o_›bäñ>ŠŸðó)µ3FƒxÇG˜t„€Ø?G‘ü+ß÷Ú—*+C=ñ*4Ïù“bmû7KR8•Å~äÙ1Áž/Œ£=º¦l˜Ú¥Îè0Zò5ú_Æ ¼t:K §λη`< ÝK+PËk§4’“ˆðÿQ¾Dà»?¸ôóç¿/÷h½,“Ô¨WéÁ´LŠ:xwJ•Q#ñÆKŠtÞ¬ò{pv-œ&òCÜ»ÈWjq®%:ðF:S@“/žðÕ ŽS0íÌâ—l‡ çDQ¯R”ɬ–§[8­­Ñd<@Ý£­3N §ÚS^J>Œ2ÑŒP²qw>YE¥UÐüÑX˜ñúþ§AkÜw<†£É¹ÌVø­1QHÙ—„øR(¸hÏÉïF9y}¡›<“+˜¹ãa°^ßþ9BT*ždƒ/UAÄhÅ›w<½Õž¬U LF¥=SºÆ$—ë¯<ãh‡±?*¹PÊ4e 14W-‡>F!‚×™µDÈú\*°ÀºÉ­^Ʋ3‚"Ô•,¦ýØøQÁŽŽP„\°sËCô:kãÇ YóòÎÆŒ¼c÷'a˜pZòûÎ"÷½VÑòj†M´%O++°NŠ`Â@°/3¬þOJ‰‘ÂÅ<Ï+ÚŸÑ_»Ò?øQx$¥$å¡fÓãCx˜¸„[pÁîYè÷ý®í¿C5œ3À{åò{bó äMB«)x/¬â|•“–«u|d…FçNd˜Báki`@ãdíùÎyÛ¡/<¢Õù[È+•1r,¨gF²ôFÙj†_¿úâxþÉuÊÁþ¤C4ý•.œ‰`r›çm\)\„éó ½×…‚ ч<ª÷I"SL$¸DbnºÒ€!ðŒ³®…„×7}ê÷’ýÓG­OÛH£g½y@¾êjj†¯¼Þ™ñréZ£0KnåLyXÂZ. %Ê3&P’¼lÞW©àXPÌ/áYÄЉØÕ±Äˆ æä®)ʽ$~FœÚä·‚•àR’ˆëZ Hù)ÏbVÕï ¯4¦{9Ou±ð(•@‘Wž!8LJ3æ]^§éµP[!.:xµÄxZéF-®Bl)œóî"Ó£Ïgx&¶®×¹2ÌBó<`ø5†³¢›bš %¯ðšÁtiä ÅÎãLž(w´ÕˆítoןÉávãÍȱkR“°†÷<\4>“õÝd¯3n³ðêàÐw¼ƒÿÒ›®K¶é›«ÁèN<Íklˆ®„mLa}ÂÓ÷5Œ(ŠÂpL–ö…÷+¦w©¶»–g" ,‡Ûn€˜ÃC´ŒÑ”VÿM<ò¢§ÎgœŒS˜ÈS" X˜“¬ïgœ8;OxàÝ0‘µºãX4*\³@%#)Ãðå™2lÒ%±~üºR cõ9el2„ ßsÞÏW×ô¡Ô c‚ÆwÞ×L“% %&‚Žg-RÎÞðrÔxðX!7^Už¸7V$ÌPD˜W{eF]ès1øðˉ«ñš<§tÒtãB¸á[ìé“’åL:ÑVªª?ÏŠŸê´^5ïäAŒŸASâG“çÍúÄ€)Ö_åÈ,l:ÒŒY¾˜7r N¯µ¹þdAѼŠ=÷Kh×{‚1H!¶¼Œ¢$˜ŒªS%ÁUÌŸb•X±×JȽ– ‡Ýõ‘FNH dFE8ÉõX.øáˆA›e=ùEȽxÚ<qM£…–k¥—[ð6ƒŒ +Œ e,⦔/Ÿy'Ü67™ó6bê+z_ &Obu&i(ÎÖ=¸¯®-´B ÿªW×ñà´©(Ú’BŠm Ï0²ä:|„Ëfûf¡úâqÂÁ³Y'i¼÷¥|©~¹· œ[Ü€Ïf©±y^ _Vü 3ùYl|*`½»Î)¤èdmø.{‰ÀR] d Øg0X<œãÅœe ÎmšGªÍ`Ö)ÆÉ³—¯äZô›wŒH¸ÜÖ;ÿÌûr,«4þºÃÅø”b–"måª1D„1„ÎãBÿÆD6¶AÁš7’ß\L0æ×;F<.e±ðw)Eå™x³ÅN u1›^øj¬ÍNqGJ jyw <&œ NÇö¡Œ17@CðP[Þ¦ëŒ`ãó%Bxçp¹ëy'}»å¥^Wá¯c㥩o‰~øbèígLŠ`PÎÑÐõ…wB’r€üú¯õyQp4¡Ga]⾇†`e3Ú¢Š°® R£Þ!ºã%ÏÿÊ+äËãf¶ †Z(Eù³Ö·Èߥ0w•ß‹â„ãJk±®¢30Ñi’³TB¾Š¯ÜkKv§ÐSÆ nã•ÏS0‚‰?I% ¼ddv|&ŠŸ¼î þ©{ÓéLñ<µ³þ,~¼jg¡ãÑèY íäB ÖûsÌ㽑 Ñ}黤Ôë(F-Ê2±+†ÏC° L so†k:õÞŒ- aC=·Ý¥µ¥4§Mí2õ…ì@`u'Ї¡›Íjƒžü£èÓrÜÂʷƇx[?ÿu¹þŠçO ÍÁÚ²ägM^w–z<šºál">oI1£$ø8ÕH<…ïò/¤ÕK6¤oúÍ#äå›yt±è >ÖŒqž¾H@é•[^…0¡°á""˜ß38Ç€·&îp˜ÒE'þB–Ò‰l¼£8ž¥¾ð+ä5Ï›—÷Wa”‚Ê/gSÑB±¦< r nðnyz†!5X[$ñ®4”ÒÉ]E¥$z†:Ym9à± qÐ&pÏh,/8+Çe€P×YSDùU~×X}ÒjJϫΛ…ÔÉ9ÀÞ_u=ÝG<¥tÜú CVJ³VðMƒæÍxd å%`jP^&ÍU²¸”¯FEúœ"$øº ËhÖ²¯cÉûJ[®åzÚßä®ñR]”nÙPMJ”Q†¿Ô€×{üµfÇ£^îÿj üÍK¦”í"foÇñ1N„)¬H¡{¡µ+µË,j{Æßf“ÎŒÆÚM0ð Þƒ¶š#^¦[œÈqÜš±ßÂÓå–Sà)'`xÇã1†Ž0áùfœNàÕU9ᇆ›váUY„<\„´N[BJr÷åF‡8lI†5÷·üåt¹Zj‚rª˜HQ+%‰ùH›—Í2.%ÿ+_d<¦U Ó~Nç]VÇ _N"GœúÆè1¹ïr*ÐDæÕN“-=UÄææÓøni³€L _—cÚ½dVü²id³Óú­Ì‘™˜m†à->Ÿÿ¼|C‡<Ïl•2á{8ò4ï¼)!ÉU;Ûµ¼KÞWa×_á~è£>/³EÆûã/Ÿ7NYL4Æ]z£µ0l æÈdÅØñ}K“Â㫎‹{œ¥¬t/õ…ÛuÆ»P³sàw0¢b1'€aJ3ÉpiíÑæŽSûí*ê4¹/ÌGSÉEl '†Öµy>m‚+¤Œ¯rÖÇísµaá)ïY$çöÑ›‰®è”Bvú”u¦KŒ3¡…)qŒ½VTŽÃQ“çŒòë÷„Ávdˆ¯÷Çß o=7­åš$C²¯o»7Æyê†ù,+…p1Qè úvµ¶òHõ᪷•+šEÎ;ÁÃD¸,ŠR®>9åβ))¼xÿàÎ!R¸/¼˜±ÝÞmU‹YfÔ·ïؾWµú-§awk"…° §p͸„:r# TýËûîÊAá|VX~†6^†C|¿›Pþ𨟗ð}›aÿea[ªsùÙ{JÁµ wFƒpJ ~Å«NøÎCvîL`Ê#á°ˆUW<¨Ý»ØÈ Y1± f¹>~KŒ7s˜Wçë]{N)¥£;±c¬`žž\ÍBë¿™sý±5MØqBa’„ÜK¯Ð“˜Ë±ÏɳsLŠòÍd:~ÛD —¿v>+m»Fãtºï<܈Ìò7ë%ü-o©»æŠÉ­ž9dz4S”ÍÂ"2˜W^;JWç oË„ÏrH+8ïÞ9¯Hi —úÐó©Éà9Eùþ=¿«mÝ+<3$JÉÐXµY6ï´U¡˜{js”.¸¬:w1ä;ÎHö̼û\#ÜnìÂ× Ã |ílÞÌLÿ^U÷­SG;|ENA¸¤ ø}„œbÕbžF<ó®ËÊD)¸tgµ¹ÀŸ*RÕVÉ.¼ê; 2]ç·b¯W@DP¶@{@;Ÿ 9ßá·[û+-$”ž(,s–"ïWÃ|¤+*”¶kÚgRŽû°™t±^n¡È1ú7/\OØÈ4n9MàÊo µ%1Ÿ„TA8Çñ,W+$ Åà5F¨¼²utjÇïÿjµ—aLJN˜`A^ #°îÌrȧS¼¥´I±k&X{ú0Ù5 K‘L‚°#V-:ü& g ˆ Ï̹ñî-]h"–÷¹ü,µÈóµ—6¹ª!ömwkÏ”:¨‹-\ØÅÓ`hæ¹ÁñSÊ3Ž·êŽ÷à Ãaʵp²?“ÇûÖl½|LùÊ Þâ3س©œ¿¡‚þÕç”°ñƒçuÞxQY߯èÒMQ»ë'ôª<œ67R¯>ã7)e“Ñ“eT•Ægø6#¬ñ¶v V€÷BKôjAþéþ°¹”,~p¤ˆ…˜Í{õ;Ë^µä!nflƒÕ›­!-Ý’· ’0 åJÖ$é‹¥/}¶%h‘ÆŸµ7´06¤ ‰hcOx§x°Ãð¯—_ŒW^EñÑ÷hÐ^øá¤äDf¿Ûµ!ÎíqP-‹™…C®ºaCA^qK„ÑnóèZ`’DpÎãáÙj†x3:ìp””õtÈ › ð',jgPÙ'ôMQ3¦íKe¾¥.½ßá¸ÉYJ¯L²œ–q2BŠÛØ`PiÎvu× ;©ôL¿fÓÓöð–ß>Š·Çÿ ߢݸçñô÷3Ñ ¯´Unþîº÷à%£ï£Ü&MÒ+;Û«?ñk·³(º)¿púоQC’ut *ó£ÙYGy_Ì Ù´nÌ\Ø©©È2¯Ázex}í‰kœ;kI!(‚ÙšDqܧd͘OÉlž…B&´YXÇ {õ£Àpž'ÌvZG‘(J ¤¨ð­ßÑŠ®GñÜ~¾ÔõÄ­;âbWCøô vÜK6óeœr!þi‚ij´$eÈë³Y)…Þ}”6>0“ÞCX½nïžÝ>å’Ö•åLÏŸí²ùVù%ámf ïÎÓ^ñ¥>tÆ+Öþ òw8dì«£Ö‡LÃMá\¨Þ¦y'“u8m­¼h¡ ð~•ÂùÁ2[ræ¥åì·Â§Öq‹(5i„)Õê¤øJ6ó²é~ðƯßrxç&Sçâ»óñbÉø"Í£”`RÍ•¶íHC÷K°GS‰PlCo‚]èj5‚àRÚǨObx±Ú]—³¥ñ­ ‡o§Êñ´+7™G^2·ÑãÎbxß¼Æ(â"þ >G,å`czÿ÷/ë¤DÔ¬kfOv±\šäl¶ßϰ2ƒ¸¸òe‚¥1&¾L€³zÜnÌ“¿R@¡±>‘8.N©Â›÷Û 5AÏÃ¥p¯öèñ8Ûxš‚ioÉLy‹‘.wŠ'J5gÙØSºF¤” v"޶sì¶Yèå{ ÇjÞ#¸SÁ;t¥Vö=~àqf Úö‡“ªí NŽ^:ßÂü<>ðÚ¥–žAË$©tkÆ¿® ÞœÙÁ+ÜC¨6´É÷“ŽÔ¬vÿHt值­¥ŸvB,*>î6&´Çlègu ’^hÃ$Ðd{ÁÆž1n E8¸ß˾¿™ª¶B_Ìõ¦|òFJöš–{ «yËóþd†Ä}Cň”Pè¡ÌòÍFÄ‹;ˆ6e%^­;d‚ïVíã &@G1Ü2&.—×_RÈÂ`Œ´Íh7fÕëö­Ñ7 p­"'„CÇ«n茥•« Ê.÷øúª Àù'¢Î)bkO ?Ä7y)Á®Tnÿ“ïâ©õà–òÌRóz] Ò> ¿ƒÞ¯vLvŸüÑ!9á»?ÿp{•…”…:Ý9™Ó²¶°ÃƒÉ2®ñhaŽ>õS3`õàWÞÿöøOÕV~ƒ•kR\+IÏ“ÀŒPtÈBTšŸj`&ó¨Ö'©ý"LxQân¨•% `…ü˜ÀR407}k6Y¤Wç8)÷¦(5à5S,³´£l}çén1¢ëg7²M7ë"„Ÿ®6ˆqBPc¬ˆÜNÊsKÒ£uB•Ã) i— ´†,Là1Xý ooæWÓpŽ‘}¹—ø@ׯîý ïàH®¤1b‘¢­n($ËíxûÑÞ¢@Ëõ‚‡çÛYLQ`+ús?){ø} ×&é…þO¡.l£… S:³íÛ&µÍ³“Á—Ó °ò«nÖõCw„0 >Ç+¡9¶}¥I¢›´õ×ÂY4П’jŒïê™àD«M°mþ 'ï[e¸ô§ý€„ÝÆÔáõÏtHȈa¬öS:‚`1y™YøB¯ñ„ô˜ÔØEðÒB[¿Ä§ÛfÙ!,wA\y‡˜2]Ž@þ[N‡˜%÷ ~ásnï< žGO1kýÿžáÂ*ÓÞ{ Ϥ”Ø9Nˆ7ú‚›¬ãÉöòÖ¯1¬n,]@aD㢠òäõŒ@ÙÉ2µÆÌbâ -àù-‡ÝÇ÷îxãºêÏe3°v©”"žÓž`î?=zƒÕ§c}ç¹j¿•-ô‚’×±QÁ,zK¦<¢âyk:üäü8°»ú ‚x ­xºŒÒÎjß™#¹ æh#ŸÆˆöWe­†Ž6ò+bDëðŠ÷…„fÁ!o¦(÷áMá}§…?$ì %Eà,L¹eB;Ö[ǧ\°ÜGΔ ¶„U;nW³÷û_Ë7¶T–"Êùy6ËDÛ:Åê/…˜m›§ ‹…˜A="Òå”÷ZÒ¾° >ªü#ê¾DäGpôÔÁ²ÜŠî1¼y„£åB»Q¦ŒGÑv]çeƒ2<‹a™bûRúÑÇöÖ>Ö¿SLv»äÒ’ EÑÚ‚9EGGmŽñN_Ø ïÍ"²œ(°]Ñ^58jxð¾ëþà¥Û /®÷ÚÝ…ñÄýÒmDe¨%þõÓjŠA·à7`6Um°»Wd/'ý­t­¤ÃÔ¤gÏø¹œ½³ð{ã€LžJ-^vBÕž¡œ>˜?Ó› ‚7¶Q”2%¶É•ëšXÝfn†z4µaõ%ÚË…ÜÖ5y™(1³jˆ ù¿Oȧ¨Ëõ¸²z/,rýLqÇSøyªÓ>q7ë`Á’(Ž¿>ZuH ØF\-tð‚{–÷Ñê‡ô³å¸­ÛVúQ«$` ´¥\»—M³Ÿa‰·â©,e'OÉàí”·Øïr×ç±]ûÈãE“N+…ÏvR«"4zàÁ{ “è2m¦Œð˜JV®àŒmƒ­”£VhÜjFŸ‹,õƒ§<ѧd5ìSÆèü#æ8þ\o H.—•e(Á¢…ô'ýñϚϩX*Œ´Øª¶ãRm ùi¦ŸÌoÒge$CÎwSOD5p^·k|”w¿[„¸ÅŸ8^»M2­‚¿Y«s8O#‘ƒP2E¦ºÕ¨bá`ÔF˜eY1ë#âV=êÇ »\ÛS¢ó+”j4ÊìŠÑ·¡Â{Q¬ø(\hU!ÿLJ̵çÙµv§PGÄ!¤&@ú®”f¢4Á‘Çüòø‚No2JM 2%6þñâáìt^Kª0£Zd¥¬¬äùªx\Þvôd¤†ðDÞûòàDCrÿùÏêŽÜlôÚ¤Åõœ¥ÅȬ¢í>מ%Q›®Çý“a>7Òq3陨1–€RÌÎ͉§õ‹ðu¿ÿ¯`¦Cþ-o|ÿ³‘2l]:8ãwsLÖÌ 6TpŽ ÁßXáœ*¥`MBúàš°Äô3‰PV/xÞš‰JHîY/åÓš&Ž•~Ž¥øq}13F’BoÂO2›>’)q¾IF<Mà[Óc¤’ ýgdÏ xÔDÚõ¢ÞX…óBX”QÌM"Â{›táÜE“ÎÍáb6- ¡D­ÿvã}‡¼„dxS¨_­cß~ S‰O+¼w•GPE¨ÿp Þn›Í³í>ŒGP/ZcÞ œu63›¨òŒEžåFTû ‡OéÏ÷R™ß/ÿúýU‹νg ÿ¦`,ÇË !»° ›{@ìªâ^囉IøçÒ18×ݹå) ——¿¨ ™'‡s˜EOïвqLÜrZÊ•ŸçÆjžL9|ÂeùÌ4»óÎ ŸàÆèc)›!ØϨª.{±Hဠ)«Œ=.dl C 3«“t.[]ÛÙCëàî/ŽÏÚC@!Ù~¾sçš±>Ûëº+ÂW1~ÑE˜úHé8TFt­F¶ÙoÊÐóÎqÝQÆÂ9I9ôåAnêGfÂÍ.Õ"»%ýð"—hd˜á†Æ#Î3¥Ëå5r£à_xj§dDÿؽ— ËÍ%£fç 'j:‹T^ÎõߎgÀä”|ù(‹·|û­Í*ï–1[0$ì”`…ò³ÄÒÀäá3a|¶ƒÉ’þ0½ÅKPùæÖI«£Õ¯—DÄß3h!õÖ†KuoË7’Õ…¥ZCüå†!u)ñnï“£tçØ¼gñ@^ˆg¡+œR×¢—Å%µ̘APõv/ñXl+1g†Ý¥!á·ëúr@ ±]‹fÂ7C7æ&» NxOt> oPÃ*ÞS[§ Ÿ—*I'àðSÈ5‹ž—²}þÞÄ/ámÏ_Qf›g·:ÑØ”- þ6ãj,ÞfK\ñt3ûòéWµ¶Gš+^l“§ŽÇ“òïÕo»:ÅÙ>ÂòM÷Â,ŒGE§K¡Õã<)oü~QªøtV¡ìÌ67øÜÿ˜ÌÚ>Þ÷&[“fJX÷³ƒžÂ3ü8Ñ'ƒq;…×Dßáö·¿ö`+X³ä‡µË­n¶“´¼cŠ…b{ƒÙà.‰µ¬ÔŒ~(gzmWq\OŒõ)‹A 0ÞæIpcVòfBõÂi ·z`±t¡LÝ1ÍÃÇÔW8XhmD‚c(æG¨‚ó¶ç£#«ñ´¦ˆ!ô’—n7OCSNH™õ[Î7‚'eª½>úÇ48 ¯V(¦á°$:àþ|þwÊÕj\M*î-³ñö @|ž«o{¢WôX«uÓ^ƒwË î†ðΛôÝ’‰M<¾ãRu‚Älßåar¹<©ÔA^ЧÑÿ[ùPÈ6aJ·F/}¨Å(|{äÑ ÓugÜ5D¸qJÉn;âÁB(/×h«š,Ç”BÄœfÂ÷B«tÇ&–;\í ÿ´[?'÷( iMý0x|X"#ò¿3òxyk¹sÑC ù¶ò_Ö¹Bé«e.Ö¹&¬i3_žpNQsQÄZCì=wS0#ûÜý²)vÁÓýv¡0€ÁÉã-7 >—[P xNià]›m¥Ê®ÿJá±ëÛÙ"é/4™ŽAac^–ñÅD¸)C¹¹JBo cŸY>xáα>T*ê—R¸U± ,³W}æÊŒÐ¹¢bŠž0w£UÂmwðàO¸)‹'+,O£ n‚ÙУFÛyÜÒ™óã\ ™ÇßyxZ¯Þ*DýÎÞ'ßįx¯âdÊ Ÿ:v Ïs ††Gt˜Ä#¡#xìÝ8…fá™ìWtß8]ƒ3~Õf÷p«¿Õ§,ˆö ‰ÔÁb•âíÁ2)AÌê$æµ"® N1èæfƒ*÷õ±Êcj®;(nCäB=i³â€-‰m ½IGB·žê7÷[ÔÇóíþèØIã¬ÜCÁ kN%à žRHvA§ny¼ip¬nL3êmdsÐÙéÕ[Ö®=Ʋ£uö)F³v„¾0Å*ºÞÌ [–z½ÿ+üVKÂÃËè…ü µ~»©?/IQäÕ[õ‰WR‡Î漓ÄxC‘OTñ]ÞåáLR‰m=³·2žßÛø‹Ñl¯ðãÕö¨¶Î£Ï—'ïMtú„ÿÓ Q/íÉÁ­ú0ÜñM”àÛ5j ê‘zànÙÏf\º$Š©Xaüxjn-òÞ+˜î†mœº’ËxPÖ€}B€sïLƒOW5ìØy5¶:ùR—K‰RO¼x¿¬@Dtü½~I]ʳ¶|˜e6|ùÑ1&ç!„ûݱe,­ØIª# ƒkã©^¬¯‹ý/#ø\^ä)Xo»€¡»ÐÑç7xakK0&t‘±å¨Æ†çõViÈ0ë{hÇX“„)EaqÛÐ ØFÇä—XÛ…F «Îgy_ ¼t¡<ûQØø¼jƒvlCl}Ô}%&Pòù-#—64 ¦×ãà y6AbŽ}(p”fÞº±vs§pÇaDJ‘³z\×y‹yL¶ù ÿx±”áÆ“IM(ûrÈ)uøó`)áèë:Cåè†¬ÍøpJ_ï&µ¿rÏTšÐˆÂ4sÛr<(]9+ XN¢øÆó!2gÛM»d 0E Ò™î¸Z˜v–Œ.䡚¦_*¹¬¼’ya>×nò1nÊgBcy5BŠxÜ“4~LÛ-Ž„š=Y÷ý2ž­u _ +ì(QØ‘CmJ`nW¸fínÇÄ|÷6¿z~É«õqO{À°Uô_ÿ]™«ÉDy»€ÃíDƒJ˜^a›à$—rMpÂÜ”=Ž„Ï¹ßåÀEò1êÚbê|žÇr¼dOIm©ò]m-Ñ…úñ»1_šB!êpÆüÖ8êqå쌓¡©,t_Bxj6列f÷wÛÊBö‹JU&A“™ü›Cñ6g̪äÙ¿´GÅ„raH²šy85U}ñl¹"£ìõ‹Üb½»S¡¥8O`’#I£”ª(¡uʳI Ú(c̵O.ôê–¦í»ß¡RÀr¨9·«­Ú!¯@S(ìÞÛ¾m5A˜ž‚v~SôÀÙ±b=õ´…V×x›”ô¤ôàµëKYOø¶‚k‡ÑµŒ)p.pŒ~fÁ—4¾cO¾„èÉ+“Òñ¾ ž0²h>SŽ&·žJzõh±ØcŠÉ£q·ÝÌø³±Ã*»‡‚+­l&žSÜB^÷ßn{ßÜ9õviÛóG R„ÕàŒã0yô¿Í«R( ”e†âY?7ŽçuBÏíë?I…G£7!Õ8{J±çûÈñ…ù…áÕcúŸ<©áОⶉ%£¼Æ °ónHâ!{<›ðlr•ŸõNC ¬ÿ–K™>ŸÙ-F¤åY÷ò>ŸåÅj) Nô5ëŽA]_Òš5œBx ‰¨vY¹:cà I µÎð‚uãóFîU8¹!¦¥Á€'b  ߘ‘r®Òäp[½>òvü³çÃo!²k ̪{î莦•`€Ê2ŒVÇ ¼âAã¬ãf¾nÒçý\…×ò©x5÷ >¼¦4„”>ÐxÍSí.³Âÿm÷Ôd Ó:¹aßÊ7&v&SÝe·g×èœ7x‘1?sûfÞ©o}’‹2M{y«ÝÝÖyhÌô‰/ö î†}!¾H"Tï~Þ5ÌqÄs¼\ù‰2õgöÈ+ä(]z°ÁŸ8œÀï©á·H28 ,ºàÐÃíuèØì•w¡ó!µ¡Ü=G0võ¯IB}ð'¿]ˆ/Ñ·uYEü¢‚ði?ㆢÛrâxxÆ ?“¸ÃeœVì-l«&°^:ã²³‰1šéOfp_D‰> ÊGT?{…þ£QZ7‘PÇ`ÁŠ®QCrz¨ÿÙB¿\Ƭ,pb7ÄxˆyáIÒ’Óîc!8;KŠiŠŸ·ÜêÃêAç÷œ•0;RŒ%“­f`tÞn u Û6A.·âÆ)$Â{±3LŸ§íü¬ óÖ=A! k;€y  ú.Œ8‡­3÷œæëGx&ñ—ЀãáÌÖǸ†ÞŽŽÆwsí°`Þ)¬O;Oòdà å·|M)F=j–bOhâI#.Å{'œFˆ¸¥6”O0Î(·•Œ·ƒ{py‡W¡ž¡.£rMÒD†×’ôÆèo¥¦/eDÒƒûí¥ºR†ð£ÐSÜ`-ÌÆÓ”‰™lï#‹†#å‚7Y½+·á§»A?XÛMž>}¨òšâÿSÉÆêd<@'ã0òW?¥ÌzÆ“Ÿ)tÚ‘ën€…ØPÇR7I³R·(Ƴ¨Y£sïs›3 ÷mŠŒ(eÝO„ˆ™ñãþ»Ëß,ùÜ{±áà±®¦÷«’»Ü-¬å+õõ°sÛ¨Ü{«ñ³\IŠýz„òÞ)þ–Ò?>k„ó$Sþ1_~ü}ò9Ìä RÄÆ}vÓ’õïfÁ)mnb!ÖoLuµdm“õY)gŽ>"(lVÏûQÔÚQû Õß(ÓËýÀy¹+œë]Ûûh¬Ù„ ùÚ…^§¸õ1Å ÆÌ)Kì»ñͧ`‰9!Ø'KÍ+£.¥§V$ÜÛQ³†·l´gø³‘ênŒ §ƒq“8á.ZKžoíÕ›çK9–Z¬oFK3?ù$Zœúcž9Åù¬AÔ/áyü[|ƒÿ6JP¾,ˆR›ì¥2>òGi otŒwÞù#8}Òj¹ê@ç¶þóiS4 ¦d¢!Â#,Oý•·Q§“w¿»QŸÎ,W“Ú-äw£• ×ê¸AŽ/«ht÷ø%O>OMÖÒ­ÐÝ.˜ÆXý¢UD‹Ù9“øí„åð‚ |ÝæÀA$q«“' nq>àÛÁÀUÖ’˜âµ·}“.ÜE˜¼dl7zM3ë“jEDŸ^ô¨n)+ž6;êZe­`=¶*kÄ5ªÆÓ…Df} Tç‚V'¬z|¬á²c¶ZU²(]JÜ/Lö¶ìÖ:áåÑ/Mt+E¦xfkóV1á/Qø7³ /OH$³d ƒÏÕ“ŽÐFS(OîÊb‹ñõ¹Ûõ‘gç bopŽÒ¸p›" 8µ—Š|í^±"ñÞC½#Êó÷@°ÇÓûåŽÛæÅêFŒ;K} ÏÑQ¿SÜv|b0q‘ÁîÞ‘g‰¿ûqf\õ+4ÉÔ0¬ÉœòVÆ$0 àØy¶q¶¡)v‡8y"ºFKøHoHœšœƒxÚ9ÏŠ cÚ“ô¡4<äÚ`õ ¯ÚßáçIñ“›Gˆ‡5ˆq;ãe¸èñ^í’Ããùë—¶>r¤î-opë,¢ãT?*$‡KH¥ ­éK'(Í?tNQž=õ®fÓ”ö$æ1#òdZí P9§Ä,hHÅPJã]|ƃڳbÈ#‹Zò­”ñïÿ ïè7% «ýj™&QÑfò!i>«õK·EPyAáVAwÏÚÍ Ôâà-×Ýu3¬Þ„2åïÜÊ%ÁÙ2$㚢Tú°-?ª«º‡A²;‹g?XrÀ˜E­òc?ÄÓÉ“ÓvžÚî±Êó”ÜOŽ#6ëqvQ$`»£°v ßò¸Ý7÷×$g ôRIžÛ¦>øî X¢¹Áy0™*83è”r+® ]ÜF¯“kuØ»Y@ŠI”nF]þ¿)ÎÏ&g¶ ­ŒñÆöt+ù)¬¥.yhy6qüѵ)pãÁ=a0LüÙ#? GŒðÌØÃ%A®ØFèx<0ïÄXÕOÓÝ&ðÂó`F祟J»Ês[êœ-ï¿Î×öÿ1þò+éMa©íɳ‚!ÕLîÔ@\×*è}.¤äF¯m1:…è®a‚¼ ¹™Ýlø~q½Ù-P ÃÍ+¬áV‰Â¶"¹ a©àpjÙÃõá5cÉÆ”'^y§’ßyB}…dµ.¦Dxõ£<ëÔ,íÞ¾Cê¹§KñŽúõ7¯«QòÖS8KQytžyÂdžEA2Œ¯%Àó=Ø’wå).ÿ~1Þ–$'] ^Ü4«Ú;»…Êéx4§qã™É\yy“7äN73þ¢€‡ûØÂv7ƒæ##ÒfÇö0=ýŠÄ­Íøªðbk:<ûJùÙy.tí`\žSX•;—[Ú]†ôàÐÂh·TÎGÁi+Õ"™Ä ÎÜÃÊmŸ’o[Ú†¾­µ‹x ÛÂ#E|ÝHnæ)9Ü PÍÏטv¥”Žc§ŒÎÇÔëïYçQÆ=ûE¥>oÃ:Ç\5s ‰)6d$±1æ(AÂy¶Ç¯„Á½ŽwÁDc'ŒNGVÝ(`Œ™@]žw¸È)ð|[}·s’Ø%ö¾rMãÜ•ÂaÜ-]°ìlÏ{+ÂÆ´m‚ àÑ~ô<æF“zæ#…˜‹L·Fªr@ÙR¡v‚à9çÑb}Ÿzœÿ;`ÜáaÕd÷ÝÀ3åu *L*D˸Òx”^ê2a,ˆWEÉò^ ¯3! øÚ2jãK-ä™_w½û(Bíàƒ¨þuxÚ³g©ÅJrÁl–Š—ë—´µÌsÔÀÐg5ÅJB—ê¹»­Ô¦Ô_ýZªŸ³È@¶4–ÚÔÁÊЖEÚ n ©eå€ÔL¾Q• 6 §$r”m†wéyÈÛÑ‚^Â7“¸”çRÙ¢{µŠàÇH^ö ž@³Ö'E­Ïµe&>BÔ„E.Ü”{ –‘X‘ô­„–kÔXµ7ñ€Â8Þ®AÿŽ,a¯ÿJJ&=r)AÚ0þ ¾ÑÈ[%ðLh8›@òNb1Ž<Üd=vÈXjî¯vB⇰YÇ=\)#öÚf×èãèÄ>ë·5åp´”ÑßýîI9äŒëcân? _ʆ`ã‹ÈâIK ”+¶,CÌ"—Ì+³ÌÅŒ”Hž(WØ;Ì¥Õ÷ŠËÅÉiG‹‚¯ ²Õ‘ˆ‘ZšÑ^ˆ² ƒ}`lêO™:NtëX×EÅø¹sÌåmt®Ÿ\#NôrÇ6Ø žWýÊiªD0“欷·›5ÆN)À1 a‘24¶HИ÷n[% yQÿ÷‚P#Ç/† -yŽ'X‰»QÕu=(­–õ¨íV CĬ^~p6Ã/ú¸Â†¦; í!¶§?¥Oqj¸Ñyrcùmg‡£±R~yûW À¥ ûåS†B|8TÃÇ0ÄV¥ ‡N¯¤¬=¶-Øü>_Ûw×óU†£ Ìò4ù(¢FMK—S3\0O.§þõÑI¡‘CèTM“ZÌòèÓìÔŽ“þ÷ç¦&»™níjò¸•ÿŒ¬•‹v—åä[ÅÌø9n¦bá) ÄB auëýÃË•bt¬ö%A·n:Ámø”/KˆžA²pP$™bÿËFVã³)ëæžôô«öy*K~Š A Ÿ„ÞhÌŽÁjcÀnƒA}amX¦A¸‘y8eŒhÏzé’‰¹‰~M劔ɧ( ŸÍövžGl%Žf§+R+W^)Ür!Ñ@SÔÂ!^ U™CÝ;ÛÛµñ ¼ƒf¸1Z4t~FéuœÇ FÃë'BÇ Â^žØ(fá–¹Îò_ ßKãÂÏ+¤6]+\µZòá±k,0zWÈvµ¾ÖëÕkïÕjÏRgmàÑk^?UÚä'yòö”n ‰~^ÑÁšâ¬¬m#ÂH ÈLÈdØ¢£;ÛrìµiýÓ(¿¨Í¶ç/§mÌï×RÆÎ‹Š/{É?]]ËÑ%Üu^hMq†Fš]= Rºgþuû­Pñçf®ìWË»f`"Ӛ犼õÝ23‘cÕýXŽlÏ ‘;WNb™Z±²:…$ËeÍ}]H“hDÕ÷<éÞ)HJjäyÄ„j‰OؾÆyäòŠøýÂQЏ’KL2ì]Ka>ä‘!4ßÝ‚Ñr@xta»¼Ãwä7r(»ëÕS»ºÀ¡ÅX 2Ú5¸êpB#Œ.iAmy »©GEJXxë1m# ÚB]ëÂV”(/V[­ñAŒòÅ–¯6ÞOÝB@¾Ê"1+®¢k£°¥õ®-%È“î>ê†Ü Qd>‚yPŠù¥¤}¶ÁV‘_H—¶¬¨=‡ÇX[³öê^”Œ ¹u®ÓøBÏfB³?ò8J_Ï.y·/N¡sEI«õ§”î©°Á5ì2?¬0™5ìÆ§ßªÆ'XË\ ›“nŠWÊ)ÚrÚ„‚BJÈ/d8æªsÕ, Ö>vu½æµËú…—˜Èº“ÒÆõ¸4JmË쳜r3O‡Î©­ 4ÆŒž2Ï*c`8=3N²EöÆ&ømL˜Ð£ž[XªMü¼® ]»B•:ã~’º–ìIdS&[Â&øO¹¨BA;ePxöóÖªOªnñäfëíA¾[g í8¢Ô¥¿*®¹½{p¿RÈmF¨Dö´o‘‚ÖŠc˜ó ÷Ý“‚ÿ Ñëô`Œí¸O+÷¥`d’ÌT†ËhŸðJIì —;ëéáR©úƲœ8W‰¶Æ3Çèù.„4[YÎlâµ¼pƒ7'껌Bå\l ²Õ{;>ê•\tO@IDAT?NƒRĤ!©dAò… +t¶…ð¼y­y¼I ?ÚÏ6O¬ÊlÊ_?“a=²Ê&;eŠ×ús‚ݽ•3nw ÏÖ}„¸mMáѰÑÑ´¢ëžß¼0ÝFX[¾«ž9k…3êß=*óÞÍòÙÆB7AõÒ&q_ûÏ£›§6Þ§ κ1ëùGâÉ3k •=—{öø9!•𾣄ßú1ª˜n1J‚?­mxÐì¾Ó›ýœVŠ-‚ñ’qº¿ jrÚ31(áÛŸë'£BðKnt"£™G«5BÒªd‘qìÁ¥Nöê«Á“ Xrx'‚Ð @[ò!€Ñ! {º4ÞBzÊ©NõN))Å6Šj’bœáÃìà„ %Ò>Xvßy3§-K±ƒK·“”çÛ÷ÿˆ“Á‰:ëÄt–Úw¹‹]h¥Ù5aóþ¿cDÞ¢õßoSÁðêxwõS^Oú„ãíáwî» ’«iÉ[(EHWF'•–èÁÙ#€s°oY<œ",\Ñùú=.vnù÷ØÈ”òYâ“Fiì“bpå3^Ú<"EÄiÝ5°û‡nÇn9M¹·êT3²•Sm½8â§|SîÆi &r”%ø -èÛ‰(Ú õ1Ž×RBiR3x<¡ØîR9‰é€bJ0gÉ4^¥wù+ºD¦®9/™rK…jQ®ApJ` UcšÎÊWåf]Ëÿ`1£ôÔ®î¯× ¢õ5ÃôswËz²Õ™‚b¦Éã%„SäHñ›¬Ö^û^û_§ +’çÍܦôõoæ÷•oÌ»ï†ÍíO/R[¨¾f‚C£"ƒÑʧV¼¶ž)®GÃÁ9ÆalÆ5ÁPÄÚÎÎPŸñ ûn£‹Ôò(óèØÅ(Mc(½$‘PƒaÆèQ¸8AvžÑOŒOEœO¡ò†ð]¡Àóï¶SrѪ&_ù§|q¿rUŠpJAø|ä¶Ü÷Æú6&\ŸÂLycdñ–>HÊücx§¸"qGÝ~‘iøjC9½“»4b#ú©.Ä,¯($ØÉ0ž7 –°ì%ü#Pΰ­Š ‚0"¯€½°“äYI‘x'J#U¤®ÿ~‰§sw厎ÏfÄ”CÉ)rùâq÷s nê#ø†ÄŠý\é­›Ú-æã¦Û,î)ô× ÞBu¬ßyƒÕéªÖÛ 4¬b-z-IÉ[åá#å5»³/d^~$fšWî]hrÇeŒã¡p´å¬< ¥½Ñ=/]i¨ð‡R®Ú¬’N(½JÜÝCMˆÅÛѤ„!J Bê°ÑqÖpEypü…k»‰€•»å¶·ÖrQ^ç¥D»7õ€ìÐk¦Üõ ÷+*,·My—¾„ò‰t)RÆ-ºÝ3°òUÍ{~yVþj˰aaö=] aWæ!è+‡&á™жu·þQñ5ŒIÛ=›žÆÞŸV5bPÀgǪäj\}£G\ƒ‡x¯·­Í~ئÕD„Ë÷$wz™*C¬JóÇ`ÖJ<ˆœ“Ê…Ãj‰Sú„(Š3·S²ØøAæíîfcÂzÊrwSC{B²ã$˜¼£YáÂ[ôãÿf™áè~º.RZOA6¬à‚_JG”¹q§ä* îÏÍ@ÒÏshÜv8oÅdÞCž›Vb”pÃõ¡€ç=Ô'uk6l/9rÀ3„ÆÅ÷”ͽ/<:‚â7Eþô>øÒ5L˜.' 9 ã^GÏh ÃhùáÝ"D]nÁÜdלðmù¡cn÷<Ñ­ëŒ18 P85NÇí7ìd¶,´·A6+]-©ÁVÕæå(åÁ4ó—NÀ­ji;+&ç 0H]wÀÖ㘠˜)+›‚ îfW ðúİmçÙúLD$pan5#Œ›Æ(.ò$â1C|}B'ë炈bÕHçam7l›°¤$ým$…ˆk+éÄ -' “1š0žõ Ô£w©Æ~=œ ÿX|ÍF)A|¦!õ«’ )[ø1¾­¨Ä\cãݹÇw”ÎPöH:y&eœ@å‰'t†kã}KÞ-wî–MçLŒ&<4;:Zl .¯ÅÍŒÓÅá–&Ãý7<ÒªZ¦€9E¯7Å£À¤ÞÈ!ô6p4`H]ñ" e a÷Í^w#~¼”ʸR!søÁÅ*É¥ñÈŽ#Ý*Z{ž‘2GQjnÔ¿§ºÿ5m´¶W®ADÒìO,9Ô‡š'Îó`³¢9Œæ5üØò©]>låby ʳõŸ‚±¾Øì/K[Ñ—õ9ÇòZËäѶ%¨ñÇdp Žiº‚q꜂!I_Û‡Év]×i?w_{ÅS?º÷j2pïw-öD÷Ú³B^#&è„=ÏÔ÷bbÃ^ÆHÀ)ôrÕj /O¼§ìŸËjž{Є]}n2@9Ý EÂ4ÞžÝ"1êþÂî<™L#é3¥ô+GûeL+# Ea¦¬ç}If^7t=åkô”–<º53ãxÍÄÁCg€RS&ÁÛ”¥ñƒi·Ü^Ї€q*£àE/M(M"/V]J=¯+„‡ã#§Ç^ýÉóisrX¦]íïßÄQíÝ„–’ÄÜõH`:kÉÍÄêäÚ…ãUÃåY‡†t¿¯ç>ÛœðᆠÎßl×n!ý<ÆßìÙ,‚ÒQ4Ôx^Nãí¬§<óhLX~_7â>ÃÊ<ÔL8ÿ³ˆ~†“‚ì)Šæ`é‹Ä¢áNáÖý™Á1Ô}\K86DHÞÇÌÎó4&üë0c¡7§æ‰ù5éjÌKa3uÉÑ Oh¥æåùÊ):žÍR퟼›ÅïõGÛßR&VNŸ'iüèÞãç:73;|× oOïò¤‚ ¡ÍŽ¢ûj¤xM¡Mà]9ßò¤û}âû&$B}ð6ËOqÑô þò´&‹"ÑÏXÑ5OOþÉTßÕBûL(#|3\å;†F;^sj«Ž4¾ü{«Leé T@à:E ¯–ã¶A ×;îÆ´•¾tFÈœu .Ïxk-r»©ÎsP4)Ù]ñ“ óÇd(ÏélDÀaBiDPú²æèí š”ʧ.¡ÄÃ*aÈ!¯Í·Ê¥ÚíqsfjÁ›‹ž€vµÎŸÌZ­ÌxP’œÀOΆ%g¡Ð˜  ÌC¯VÈ5Y˜¢dl[A˜õÇ“4 åì\„÷%ú;§–)P¤ åiøFc¤òÚs®OÞ9>Hà-òŒx '>JýuÇ ¡qŠ„ßþ´B¯ÿ–›ÑxO?ößA¢¢J¦ ¾¥ÍÛÚh.ù}µÍ&7³>ÜrŠnõó@"^N¿åµÄœy¸†žw»ÜzÑàÁëy*,VØP:Ø#ÛúN—䓘UP¬Mý£kY1Ìs ÚŽ ]y””7@ºÍÔ5‹©Iøæá»[2¼EŽÆRt‡±?»¥:Þ&Û< ¡×(TÜ—+ÜöµS»û0Ø÷Ž?ã“›ÉðýÊPÖq÷Ó²ò†`‡“8ežè˾"è¼ñó°áÐÁÙ¸Y:!+Œ¹5ŒA˜;k›2mB­c¿ºZþTxØoÙ6a^¼Ûèyjä8]RfPµœÔ„¾—ä¿wÏoÆØ …—<˜h%ëBNpxYÆwºÅçvì{ãŸÒQ\¤A¼x¾«k´‰à!e“ÏøãóY?=Bø{Hî·H’ß›1ÕyšçŒ~-­ôïLN(ïñzºpŒXãðâä1„àÙiøö©8‰¥)}»É jÃ#ºV*À›Ç·¥+Ñöo¾¥h‡|P,‡išüHu“¨1…È3è|ÒzʳzÂ*fU4ÁŠÉ¬Œ0 êl»&œîG'¬`ÌD…1a âP³Mñ!ÃËõ-ÅHùsé¬rKKߨ©\ôv ñ†ÙQ=xÔ` –cÂKܤ¾G˜•£ åg–ž&%áöî5KŽcÏÀÆaåÆí+Aþ¾‡lò™ øpxUºxÝ{úBßìÛ³ýýmvÈ+š Gw„õF“tn<Ì‹(øÑñrÃïym¥­åÚáïÞåSÄÎ0c®OÐáe=Ü8×f÷#׊˞8Õé1×p'R<’å–3'øÕ.v˜’ζÍ5ð Dœp¸1üÅ“§Ä²‚ ɾ‚sÆuk–ëÜŠkB1ŽK R_ž—bzyf÷ö•ºòîg‰Ù1h^'`Q‡øåM `€X‘6wŽ+åK¬vëƒYÝ”Ø3F̆ƒcYoõ;HQÖ<œçøQØå*w|þhE@ù"À¯j[“-ïXy ·ã$©sp¢ð!?îf¹ãr78ç×.|(oB(á……õÕE«b¸Ç{†?ßÀX£.ÑõL.ß8ŽMNry{kòƤh<ý CN*j¿z0†ŽÄ3Ž” ÞÐvõàq&´˜ ÿ·ƒöùù{ÁBÉ<†]»53¡?–|ÐȘ”ðÌêfìžz€¨yÔDÙ6¡…w­b\iRŠˆY½ëçg ¶Ð_þeË–òÎýÓ­S#JFSþǃ4vJfÝ÷ëç"¤ ÛÝñ§RÜúÖU™@˜qï-oäiWž¤ï+0ÏÂ)õ—Š`|40”¬šERé—kí~×g‚b¼Y8*6Ç´àSá5ðrŸ^fÿÖÓ§¼BeíxˆSv9ǵ|–~‹Tãe =Œfh¢ ã.šX‚¤ÜlF¬ün÷‰‰Á£Ýà[m|†e£‰Ç&g ¹Ýc³cØÇ«ÐR—|ò¦ Gûn‘´‹_·nw]JÆy„+¥÷`ôË:S7ÿfK;GÑfØÔ(>Jv½¢v©ÏnŸì:%°K\™Š‘ÑéžÛâ•’o_´m@Iv¨bã³Yy {?9YàÌPW‰î^à¹Ç¹Àø„Ûy4“o×ÏÃB ò ˜¨Ð6<‹û¡âÞÛ=R ÜLÛ/‡Â÷ÕµX5Hî'5`›1¯ÖóB{^ðfÊøá¤ë ˆ—ŽÞ@ðrë‰,ð×l·P¶$H¦·~˶AjÓGý¶d–RŸÄUÞÐ'ASþú€ÑxÈ·ã#^t”fe§ÍSÅìå],·/«ig{FãW#L‘Wnˆáë‘çÚÔ0`»¶SÆ¢B”‡|…ýŒÑò`·0¤îÁm¸à™<âÕU^ëkkµ4‚©Ñƒ‡ç?[ËàI¡ë8:x20 ÕT—æÔoö6FŠˆÒ•‹L¼2üíþÁ‡¨1 ØR›B* m6Ÿ÷ DŠOqÉ;ùqæê¢&arViØ C¦0p|ƒ‹ï¶Zí–ã±ßÞSÐè§¿=òXÞÇ{*äSËs[fIµäŸ.Ågu9¹I¸&Ę3e™íóêt¾·ì¶YRûû<Ñ};Qjm†‡1— Ý`k„Y¼Èm7L#_cÞrÉùð„GùИ‹õ]§Ä1"ÜΖªpê\ì80bäBtmöëM}~tó8žgû208|*¼uÁ¤(½¬…ëäÁ˜ú­°ïR 9!ac°Tc©pMƒàýgY&X'Ï”ü‡Í©^2B¯)S4ÕíÀ_7ݽƒÏVa2Ï$íR‚¥S¢®ñÏX¼Rﮞq, šPþúK›ê >ÃB?Êž<°'œ)ð{8ÁÆi_W틜‡]Ÿ ]{ìkì7~YWSòHÙ¶BPH.<²À˜È‰˜üñT†Hû?'W³Ê¬F!)¦\’æm<ˆq›mRyžkÇpé9ƒ»!>¤îwÖ¬œì% ^¬\þÈ‹ë5È„‰Qõél£ž\opá\îÄúN;Êá›ÚdLXˆª—ÒÊõÇÙ±ý≽âšT„ˆW Ïà“¼{‚Làï§RTV/_¤ìSž<|åLžBjrVƒHOx ‘Çá¹w;—ÂPèô/#ŠWAgŒSÔàlYŽ€½¡!l—o>%lŠ=䓼Çÿ3<%®ð“Kö4´ýªÁÚZWûÆP”G+奬r×”ˆ²­•ÚÉÎ ûÙXËÀ‹x¹ù2–x ¸Ö_u<0‡€Êä‘Rr"¥6i&kä"}.W‘+…ê(!O5}y†s×·Q›àÍ\•iLÇko)ÊÖþ˜2]Ë BåXYaq;DêžëÁr.wyÕgc •) 7h¶Ú¿ú,Û›%}å#ž`RÅ'±-üòÛhë6L#¼êší+LKêY·œKÆ´^h~õ$yã2(e•™˜½>˜ÚX¿¢eÞ9ÜCžÐÉCÀ™ÁöÉùá¿ròéFÂãñ¼ _’߯ ‰&àðµ…·í3œWáÉ‚[˜ýh‹gヌ*îÆc|}QÿÃ1,§£+n(|1Àßa„ãxF€N5¼Í¶—óê]Ò¨Fp½zÇkGÇ ñ§6¥ VT<_Ñl^~|ïÙ‘/¦ï—G-Z¬—B“©ÒÑ«°ÚŒ 6‡Hƒ®¤aR’w dy]´ï5O¤ˆÛ*‚œí܇ÚuŒÄåYêèéx£@±’ Ä 7,&Ë K/ŠLÉíÑ¿)E3¡¬ó¾cCýXúO2x2„† ¿Œ€¡tþ˜vcÅ'c*•_JòÆZ‡‘)ÕÂh#ðûÁšÚX’ƒ'Ýzõ°ñ?Ñø5ÄOjÀò´ÒÄø©ñå<Ùª1:#x36e• ÌjZ©äèÇ¿<û£Hg7Õ‡T¥±-+6|¸—·7ÙÚfàáNÁˆu!›üjô‘”`ÍfÊä÷ ‘¼ýÈ¢þN£ÍTæò–'…T‚çí„Ø.‰˜'4·€ã•HÔ{BÒïþ~k ¾Ñî*å}3+®Sä´\ó#f†ïÖL맨q²s½ 7¸<ˆ§<(üjç 7«ºGÉR€±Ãc¬ Sc-5F^¸ñ)ÞY^dáG™©;`(ËÉèN¸.·ëÜ¥( ßÛìTÙ³{â,Py2‚rr»uäKá%½=÷‚'ïºudÂI$Þ ·;šð¨FíY…ãÂÒƒ³²Íï-äê9‡p6#ª´öÑêx¹ÏF Éí“ðchõ^>-/_3³«ÿ–;sN'&ÛEÍxÀXNj³î/8),ùf{2mr›—-§ xb5'ØÐ)0“À‹ 2Q°b¹œÙöó8‰²yÖÅ .o´ÒðK ™gb—ohÏ“D¸ÐgB@ §®&ˆZÌæÅb6Ùý&yŽmýB”ñsÕc3}zSN$rmäh¾ô; î–OE&<²ÈÅÀEÆÞ'ŒßšlX.]ßðDO|c°u¦êœõ¥)G[‚Ý9/:tþ{¡¹ŸvËí[tÿ½ –ájðì1»»Ü~#”¤’ì: Ï“-¹xÜ÷$&¶Í‡gS˜{æ9XiMlÆ,9 + ÁIÊb~foÊû¥£ÂA~cmŒÁcjãR.–‡'+ ñ.ÂËù¹Ìc +B‰RMí`ˆ¼7µOJáüQCßÛÉ 1J` -7 z_ÈRÙGuÍ*ÓRÞN¨½µCF¨zßÿëºÄˆPœ²²l CŸ TBŸ`§‡rE×l['XÂgX˜jKWEò·§øO]žr0¸V4~û߈®R iÂña×Íæ=Ò9tãœG/˜1C$¾=£Û×mìB¬¨ŸFï"@°ãÕQ”=Þyë¶ÍþkœKRéHÜ‘o…tM„ò”G*[ŠëÐÐÁÄJŽÝ…9ž•ºp_:JÓ웣hBAöÈùÌ5æŽÓ }t⣹A´-ÏŽ¢¥j¼npÖ7 V;g·Êp¢É«å<µÝÆáI}èTýz>e«îŠå«ÿ×?úV÷¹²Œ«Ý¬à \=Qaë^¯zÚ¹o¡P!OØ–äN_,ñBH.š7’Åa ã)«ùŸrB'ã4t{ÖÌNH˜ˆ×õñX >hfŸb(BkÔPÆ{—÷Ü{* íÜÙ+%)²¢4`ö…Röo olϵv/ÆóÓ£0(Ï´›¦‹cêñzÝ?laŠ"àÇ<@Ê»Y~á©‘ë?Ͷ„œÏ —£ÇÀ€QÆæÇ`ÎDï­dÆE:²ÿˆ7= ½E}sŠE-Oqå@Îö0´ÂŒb¢y >gGs'ˆ# 3õžœÞûÏS)x»SJBxÏÔ?Dó,¯<˶¦ï{v 9 €Â̰0p–ÂSÀ, #g9YÁhW<ïl:32p:¶kož°2@×”‚6+β6#æ­ãÖúÃÄ'ÝÝm˜ Œ'ÊN½¤+¯@6fNðáNOvo¬Üeãad4u‹‚ðâÚîCþÊV?ÆÇ¢EÂPöðzýÑù5q™°ë”F –ã>S6+I”h¿R¿s']×R€m\àQÂßF;‘·Ü—ÞÊyᣆq_®åf±)$¥9ês–wm‚õ¹Ù@ ÂS2DuAù™ÝÍóhÑ»zl¼‰›áëMGâK‡&©&"'uÁÊžàÑïDþ÷Ïÿlé²j ÅÌ¥<&g&&?~” àLé;ŒXn ¯éÿÖš†COP°•Üõ•`X€×'^Ë'ÓŸK~|;I‚µ{Œ¹¹‚„f­TÎVw•üíÎ(¯Iê×`¬íDýÐÉEe…y„W¡³»¨æõ6ó;ŠFá[xÛSª¦ÜÁL©ÝCm›=ÍaT¼ÎÙtZ"Þ1™p{Ø£ˆ2àìrTš×k¹0D¥å_A§Þr«àþù¥ð(Ç›ý¸>•"¶U@RFá\Z¦´u¢Ô‚¾O~Rr÷æøà¤yBpn›CgôÁÀëx¨|%šà‘°o9ófÑ@z£Ô„Ww=©*—2)Ѹ±ëä‹ç53h`£X ±q"$ÞdððÜôÄ·à5™š²Ç¿~Ù®ŸýZBµÏ-"$sZq‚‚\„Ü„%Ø=š#dòçK÷\PÉëÂ!KЍ=;9mÄMÃuõ ‚ý3ÀÖ-ÃhyÚfшÍZ™Ë¸Ùà#¨ö9[—º4¢¹´ >… ñ­&$ Ö½Ô§¡ 1t„™q÷7I@ðp[—xºáÞ3 Á¿ä´³¦ðn?÷s|yþ&4£Z¶9#z¶q6üv3PB§€¢ÄÙÍŠ•’¢×?Ê›D×td³øÒʉ2Vì'by þ©˜<ß6¤ °øE`y©S;ÅkÀ㳜_S$žˆ6¨ãeÑNì³®B·„‡§³Z§Œ69eÝ eó{4p1œÎ¤‹ïØL1ˆãy/¿ääÅ[q ¶y„†ll¸aÔ’Õ{â•e£•W5~°¡-®j愦V), •-ò ÚŸ>xVø4àv…ƒ?ÂS’Z5 CšwÝ8`4–ÿcèñžµ Q¡Û:.ãJ2ñŠ2 ZãoBIRí¾ÆËþðx°HèÞ»·>Œ:µYEþÚ)¯3ÃvD†þG¿‹Aõ®_ šÙn‰u΄#Y“:„…ãä¡ÏÆÊCl—h +ùøîg`íš4„ÿ¬E£5Šëìà+qn¼aªË·Š¾+’âŽmJ!¨qÂ5 „Cf xÕ¯¶[ÖáMóЏJ9í%)B}包¦vdoÆG™Íª#'§ TŒ›’Ê+Κ_|(4v‚ûTØ©”ð \Í¿&{l®ÒE°ǽuè“@7³OµPô“Ǽ¶ÉOÄ7¥¤`àGüÛM;uR ÁÆËàíðêTD‚é~ã?…f2e Ý ] µ³ô ’0ÝÌ•ÅÚ6¨F Xï«ǀx`ËžhZûwH™ ™ÝJŸ¢‰ó-úê3³xU–?z|x04D¡·œÂê¾MrôÛZ8Ü£siTtyÈü !Fïþ Šì­6ÆÌ8áò½·ÛüñÌ‚0‡tî~ùòóû&!§Z«Úgq ¶"¢'cv.¾Ð’RÅÉÿŸ§;KŽ+I×õŒ&°ÉÌ-™É4ÿIèJ³iº<Ò©ªL’è¡÷ù܃ˆXáËýï;o–2xÐ6"ºGÞCÚ}½h4aÙjÒ83ÄI„7SÐ÷[ñ[¬2—æì¡Xn©kÝégEÞ˜±¥ðü ›µ£¡}¿U¬p!ÁŽÛÍâ™B⦖áÖ—Øl–§,úãRæþçJ³Ñ()"¢â–réíð¬OýâD‚óZìtê¨ÝKºw¡Æ{ŸWä]ÂÖšÌpx+¦ÝŠr“ù‹’ëüsÆEØ”ÅݱhÁ!lZL¦þF ›ª›[mJMÑjwíù 3¡Ý@!µ­ßA¼bm{5£@?KÒà^©-%WÒ2{S+×ÑÎ)¯Î}B Çw2íyRÍ`)gMò½ï™´i •Ñ\“WšMP¬ßÚ8‚Ì®-¸%D^ÌqŠÆ¡êxSMÝIë`KöÓõu™D}'zÝËB„s@pÙc+m>s¡ž „Nµ‘ç0ìžÆñêºLZ¡o—¹E lãn:Uàªìü[2N„w4¨‰ uuN Chº2Xq3+¼qƒ¯ØÔtOi†’adãÀ1¢—ÓèVÿ+Æ‚%"ƒÉ–ÄFœP¯ÆŠø½¸tÙ¦Xê(ª$kë{Ìt>á”áæ¸6…è3“¡E°,¨}Â`Ê ÆøYW0âO¿õ)¡`7›£=†þ‚6<\‹®Ú­|•èuÛSÙñl‰Ô0šVî¦^²aïŒÉ= æ¾ÆÄ‚p‡½Gà¸g¬ À¤9±'2vS]Ä›#ŒŽŒÜUcôØ-ÁšeÜÞá2Z°8¾uÙ„VBÂ…šXæ6W‹a3 Â6Now|Øèÿ饭ayýAHu¾`±McÖÖÓ‘ÈÖcö¬LŸâr×c¸´[V#K¦þÆôYF9‹¸æÚg=Á¿ÒMo™ëÛfÐ}ŽYF9ákœý°„èœh‚ î“dÅX¾¯¯ûΔcJfî:ïÂÂlá,Œ?ðC}“IA}JlÜúÄ7{0>$(5¸ÇüB’%6à é„Cu¾B"Ί£Ù΄œÐÕf4G£ß1ø'À^©NeÂzH^2é½ðéàŒ3Võ±yeÐ ‹º­¶5ÌÈ\ψèÑ Û¬®²]£Q°´ž†"ùÍóaõ°,V¤Ó} v̄ɒ–c²{—\}NÔu]»e’)ëá* ·²¹iê›~"1wnÂ1aj£1gÍ‚«17o[lôÛbÊþÞ‚=ÀfgÂô^ÿö=`Ä&Òe_LXýmåKX ÿf9¸ n­þüŒÑñXàGBj•1fœ:bBɵÏéÚ÷¾ »à2“2ÀµÆÌé]Š"Ìé†ðf€˜gr{Â3òè«v”O¿Á¿%õÅ’‹õX®YEô쇠j¯í§Bá'+K(g8Ê^ uïeÏ 5cîöòí-ÿÊÕ/¼‰ÖÉžH&WIéú›òU’’OÐãÉÙ*Z ¸gµØ˜À̧1íõPÙg4ݰ}ž¯7).!Á/³ Ô ›N‹™žÁË:qŸBë¶jvÝ‚90ñ+¨ßÛûCÐ\p[ÁËÕ÷ã Ýz xˆÅu{uYLsÏbŠ˜œv.;§É1Žý×ACX­(Q²©‡c¥#ÜÂD×üŸL®\œ¬=ưƒ®{v ~JËâ ØÈ§ž‰)â–uׄ®k›ÒŒÎ³N²:S^³ukìz² c±'k_ÄÊ4‰”ú+úÙRj¼n(i(ÖJ86ã°ûK&«ã.‘Z“õ”¸!%]LëVÑÔçv:fá6ÎøFS¼øÄòƼت‹AàaQ2€wç§³"¥É‚:-ÖlËY$Ü4\ý\.O?š¼/sjªjkÄX7 (ˆ´XôlPê»ÜôNBB£nv>\… d¨+dU&”UÀËÈ,Ïé£G%PæÛ—)UmÇ’‘3ßsAŸÂƒñÖ·ao˜K‚£ï^Ÿ™W¢™b@¶fà»ïü’oÒ³*(гKl;¤½¬FóŽMìü9¢[ÜÖˆ·Å\”§_q‹Ø›ƒ7Á㮲´6][ÆÕ{ß“™€o„Z‚/î´^¯ÚªS¥¸|Þä-¡€Ñ øs·1'FOñSÒòúŠ¦Ú²²èÒ¥bª¹í¾œŸº(Áö='¨A8ù€ðXUÃÚ§\Aý¸iÍcôt¢«¢‹ ¤ë§?V4¦vÀdÛH|'cæ÷á}-qéÒ”;\…Rèk5ýJ-î·Ð£/Іµ 7ýÁa®ñd×]³Èø¥™¡Ë í·ùz;Ú’ÞÜï9í‹»ÄìzëãÊZsSDÈY'ŠÉcfüX±´Á ˜Ó'ŒÌzÀnÅGp¾WÔ ý­ßm¨­g b°œâÄÚ¡K0£Õ&·utø·õa}ƒ3¡Ûí“ÚÁQLÕ*›m¥¥Y‹•?†«Æ·7S€àfÿ,'Ò[~B ù!p,P+W"R׳Jõ7Æya”€¬Ì4—Ù=1ûãã_»ÿ’et,ˆÒÓ¦0£ Ï[PØ`0tÓµ‹A½õYÞÀ×¢7»y”¬äÜñj3Â| <úàvkÏ(oGû”K›Þ- ˆ^’ÊO©ïÞN½ÈÊMÏð(ÀJ,¯-àeXÁéwí„9’söIV°yhõqµ`ÞzÂ7 ÉÂÈËÀS˜>{àxGõþWL£ý1È2 |øû‡¬ñÙþ²Lôö3Š{ûÑÆ”šD{q5;gÏ@óŠö2çgA[¶P4ÍÚH~úU¦í´¿bFãíÀaƒp FÐ% ›jÒ¸½ –•d‡ë‹°$ø)Õ]cXnÄÍ`Ð6æè<à•æÊdzMÖiÿ3o´¸Vý%€1MÒR-ˆ…ÅOú·šbcÎ,‹b¼i.Åöøl1ïÃvÏúOtÓçÊZ]Fx\ƒ©,qöâÚ¤fµk€p×V ØAxk%Œ£4œÅ›8T{UÞ$0]<‚ºx‰h(¡4ïgý¥˜A\ø—1 >™3áéBxRºþïþ•dÀ†] ´èm¼ ÑÞooeµÆ•A“ŸÓÑzøzá=¸œ†úœí‰IY’=ë!†íFÈs‹àèÊ|}[æÖÝ è®”©Ì³¯¸ŽÈ1Ú2-ÇùÎ^g΂ð3‹h~eñçÆ†6xƒ°µ›fZØ ¸îMnƬºûÎZ=¸¾Dñ™f}l :35ùjÜ­½k¤ñ¬ÂÆ)Ä5Þæ¨ƒUv '!aº¶ÍB;8Åi£ðCý‹#ÚæÃaÂ囯կþÑ&ØÔã(ƒlÝ‹ 9ÎÂ÷›S%8 ò{g6j}SʲxjJÄŸJ;¥)áèÎZ²Š©Þ 1¦¿‘sÉÈ$’¿Õo<)X"A Ånðž• |v;Ø'\”J Ð2åçæ){Ó&,–Ü FLå¡Þ¦¨÷íI©hOAR?«âg1æ[œ€áiÔ-!m±ã8Ý̈Zw­Žc%maYÖ>€ÄµGspb°Ð‰ù!#¦¢•V(¶¡¢Ï&Ë«àïÔPq¨>c´âôvÃ5. dX{ê¹q›Ñ°”ÌãàYϪ·±Z£$¦>Pœs×m ]áÒrRY(ÂÀµ¹›‡~×Lr– ¼u.‹ñãÕÄ„ÍTˆ÷ºÎŤê]ÏJÆ·ÅF¹Nž€Å1výS6á]Á2x›å® ¯í|F%6ýÚ‹ÇUœñ¢Ö˜égg½P ¾P&\z;º=z¾´ÈĽ£I0Ôº1àEiãD_S´ßÂ]ç}Í ¯gÇ` X}¿Ù<ÔŸUQ—YH$.½r#:³ð@ÙìH´nmbëE˜²@-ÈO ™ûYÆ7¿…þ:Æ«o–ÙM,Á\À´Ì2rlñçfIÄ4¸q|×›€<i.©Ï¤Á’{Á>¦oWÚ„ˆ…éÞÆ«“ÞïbÄ`e0«k&Û17-½¶XÓ6ýÅ|²UÂK3½"Ð*ûÁ,Ù"<„ æ‚à=ØIô”*âP¶mØ/qX’Ó»Vø­ÂÿÞÚ³r9«Ô}l nQgòÇsô‘ÄÕË-áØ6 ¸!% L8wïÿ$%\2%˜NxóaÛ.&TÁ}Û!‘ð÷-VÌßY,=¢ò,ð‡†[ÆÉ œµnãW‹AYr¼+ÏCø®––ÀYïФÞÕ(_*s9Jmö]ôÎâòBÛ.ôè†f!„š_™ðåã?ÁŒÎ;XwØ#'‘[ýŒk"d\F¿Aýë›™™g²[׳~jsä/«·Z“íƒ‡ŠµÇľ ´›YáòAÔO×}µoq»×)9/­ž5w™¸ˆº»û¦ÑEâ±Ì— å~~ôhLî7üï9f°Ä³dóÑ**dí§ÌÁ¹)/¸sõøÍ%Uo, ý‹ }⑆bFCÔþ ཇ·Äĵd¨Ïçž35 ·«)E+£ÌÅļÔÖbvC4ÝàÀH¥TuÙ8½x©î±r}§S,i©MƒY»¨´ì¹Ê€òД+A“¶Ð Q,@À¯!&!ÀÜcå‚"¨Ûü½Tg'oBâ„Fi"bî–]9$ ÁH+b‚E •ÕÞp¹> &Än?Ú³14”' \÷©é2åîZvÈòõ3«•"®è:aïžþÑús¹>Yû´ÿœ÷Ò˜˜ÜÈ>ë+âí©”„§ÙŠmÚ7nÙß[KŽeM-‚kú¸¶È KèÎâOðd!êžæ+D#å[å"g'‹É¦iõû-&DýðÔ®ÏU*†R`ðYÛh„‰Ÿª3œ°ö}¯ï:8v4š†ÇÊhÑý„GÝÚõ|Šs#¹cXû“wo;ãÑbäð΃ü¶Ú tè[yÓq&©}—! ‡h“W LfÉtj­é¦ SœeÁ€7Ðöqû­n³Ï ”°¨¸[:ÍŠ!toëìFI;@7ikà9ÔJ£ˬ`_µþ³X§¾S„Š`Ž.G\àUý`ºX4ÆDDg‹lJÇ÷³ÀýùÌ‚çRX¯ÎY–`³áÒÍcÀÑÈ”€°ø‚åá±fýá wÜw%ñ6KG0'ë TÂC¡Š? ˜¶w's±ÀhAP˜ä>®'!BŒÙil ÂXh¹ôÍZ‘Ò¼øöKW£%ÔãwV—Ò—Ú£ïbÐî[¦¾ï‚M?†šàâcÀØV˜¡ã_{¹·¾* yƲ¸Tö®€ÜX”•›}É¨è ¼Ž÷Õtsæñ|d!QïÞjtÊ^÷Úñy^ßç¨trâqÞA(=Çøíú*†c•n$'µ‹0â>ój@¡{(HxÖ1+`n–á‡öC2Wvô¯¿ G)«¤c,á㊱zC~/iFæQ>Ô1$¸ãÕû5"%õÕڠ̲uYP¼Ã/b o 7C„g¿ºAÊÏ¿èQ?[¦Ä4RPn†¥ï¯?þJ´û§qŠ;rÄ´%×7±&¬,‚ÅDør·só”cµ¾Ú³Š„”@³®õ´¬¼÷!7Aâ=N¢Wˆè }ðØÁ¿¶Ä+r¾„ï$02ИNÅrBÃÌvM= ÿYãѸ;ñÖ½`!,'E< iþ$;’¥ÕMÉ@ôVB2Sbh´ïZ‹Óì˜.Ž#1,Ïb7ÜŸ–ÓÖpª¢Pu?-Xõ)hÐP®³ÞêPŒá ÚuS?¦Ç¸Á7·Á}oºŽuŒ‰³^ŸârÈ¿Þý•FD¼‰\1O„ÀaàÝ(A$‚77¸ì9dô÷aê°Ìjæxˆw¿›vÓ5c˜a<{Í#­®ú î ^ÓCˆiÖf‰ |ƒoDìb° ¦$Ö4=z ØwŽŽáÃ!ùl$ß¹€Á»ŠIŠfT³wë‡å›’ó®wR?aÙ8Ä–«W{ƒ3¢~ßÕO}¡ÔVŽ×SñzU¦Ý‰T·ÏÑ¥D„EdÙ¶GË–C)ã¼H*Rø›Öù‰©ëxíVˆæVnXF1ÃvŸò»Ù2Ú@fXÄð'Óct TI[H‚Ó/üѾ ý­õJtÍšôý圌t´’[rò'$ùp]3·“°nk¬Í¬™ŽcÈ—| 9ŽÒEH²‘$bÆ ­Ð ¤¸Ä aÖ´ Vc6ÀÕPhgš»UÌ4ÖHµ[Œl††ŒÐÊ ‹·ˆë×ý½ú28—e™„'4 ÁÙYÆSÆÈja+† ¬1Ðm]%™cH×¶Bìý¾ÅÄ×ÊUõÅ:8¦üÖá°]aáaîÆ Êjô1ÄüèÜv]†c 9s‚rö³ÚÁ6ËF™Ñ°ûs[xÀÕc¤ëÙ8uÞë(¸ë·ËoŠ˜€‡á —稬(ÿ÷x«cijïÀ tnK_G•ÎûlÕwÂO‡Æ[ÂÆæŒ^sZšü”@éÒև˛²ˆ~ºð^c.ê¢Ö“5ÛÑZÀlšß”Zt(ô~V/l–zgQÚy´6H¸Ô­1¤%i…sBÞÛM–ÞÔ¦þ À=Z’d1,VÙy,×!òxà‰òˆ8- a=¤…¼kÝ}b2ý…„x®o•2¼o  áÇp¬aÙÆDn£Ù‡-'ÂÔÚ"ªLvÉLﬕƒKðzb"013ÔîUþH8,(ëÜlKSÛ2ÉømÁHÁ¢CsˆÍhƒÞåNí{°~Bq}×–°©FŠ. á ,– heE³¢õ}RªE’¾;‰ÕS‹È•0ÐÄ•Ê0?µ[VÍr½@IDATÚcw{7îÍU7@£_|¸i5¶G°:KÍ9ž.E4üqn<'S}Ÿ&ÉzkXï{i˜MØàÄÈÕQsF»ç¸¹ˆ£C‡nns3Ú÷sb+LíÞ(MÆX¢…«à‡ü2:¥ëâb†îÞq<¦öÍÊ ¬Lcm‘i}ÌÅ'ü7Gÿàx©.äG£—lÙF)–…!áÇö°Œº¬L÷ö~å 0®eD«}º` 2bú+s43QçeŠîñ1 ßW4\j~… „KÿB¬öõM‘TX8ežY e°¾ÏºîÜÇ‚ƒµ©ÀËX8X~å'¡ ø@uÃáP;}ͪw}^kã'h᎗Dn;ãeŸí¿îD4SiƒMLØoØE‰è60iÍë®ê›'ÁÈ¥§0gB£»jl9™!ß­öîþEm \ÈÙVD›£</\ë9`çD`3«¨®æöƒÑ´©ƒMÏ¢×fÌQ"BÈ[Ò¿Í䦢h(4Ń”¬¿dwNu¾ó/K´ÌAºËBZ%ë]?sƒµge ¢þ$Æè’ÿf©²Y¦4ù&Èf9b6kÂ*Üdv®]Ö~–¤Õé¦pÁ4¯ -+6 ÿúXÈ@AêÛ Í/0²\)$»ÆÂm{ÛÔ£¯”j³}âî1ï…sV¼.–G¬ß¾¯_®½oB¿6YÐØ„¦ `Yv."åî}Ý÷ÚÐù»èDØVOÔŽpÌV¸¿ÆÞÎ9ŽxãŸ×â¥àçœ_ÌH`ƒ'àÅÀ(,°BÇm)ëæÙ£·…®˞Å̦6MÅY]ñ˜‹«Ã–Þl+QGø„pØ}ܺ;³wJr{>ï9â%ÚòœˆJSˆºµ]I$Î.•æI¡+\·ÛîwqO°X|juõ›Øæšjl–䃃hÚb’#ÛôhtÌ?AÑËr›Åf1LÞ+Ü* OcŸM1Ržß„7 •º6LíóR nÃ7 ¶s¹$V¢{+”oFÔÝ9/Á¾½5úî&ŠÊ6n['A…OíÐÔøöÀÜÖçKãV¶é» qýÔäÎtkƒ©=¦0S¾ªsÍýÝCk?AÀ¯ú`e©ã’‰àª—Y2I„MLsµÛI a-&1Õ,wMŒOo–4öT+€O€Y]ta„~dL²‚„C¨úQ¶Zù&ã¡ìÔÁÄbÄYwgâ[ãÅ%Å?N<ß3*²Dµ©"w:M%Ù€+œR¤ë+”¦NÛ÷–œÌNÓÜÐÆ¼±>[Gxã\AÉŒ{­ްsï[†à˜T›1‡iHÓ¸&¸+),ŽË2±v2.tÞ¬CVb51tg±{í‰1a+ò® * Œˆk²"Ñî¦÷Žá0Î ¾÷8¯¤k33ÁÈ‹XÞD¸ýFõ¾«)«#,3s$ï[0Á‘¢X´±(¼ÁKjÑ=ш…ƒƒE bË®¯Ú+ÏìÚ…tð.†‚Wýò4¼Àëô2ûMy®\4æP¹¶Áil4ÌDÈ,/E#瀫½ -ÎÂÒÚQܔδÚÅJÎ8Ô#^ô;afÞ*Õ,AéšØvûª•·Œ_3mÑÄÊŸ–äG?  7®/aÜœ¢Ù1¼úÝmÚ÷}¦½J“žìþ•.h*fƤ«–vѼ­ê-^÷lÃ` ŠÑ ]<ÎÀ˨Y–Õ S ÐÜ›-yÊŒouKÂŽP›ò!ÔQã@½Xr7ZšeÑÃaæ­ÇEDLÆý9éà¦Öâ6AµŒ¬»#\ÂÒõ‚ÎÍvUYdÌ&`{]2ËÉCwe¦Ô„ ^û¼µ=¾´­þ'Œçk.j!Œ}¿É‚n>µKÁ;&×e‘l`tŸ‰ƒ©4å¥YÜp˜½öè¹vîGíàÿèšPÍø¤ ³—)7q£C6#eì~·„­ññr³RÑ´Á£[<$/]ßç!Opu⻂'µ°³ÑšpƒÈL…‡¿º‘Vw ¬‚É:¥±d&î0&eö+§ìø6±UƒlÌ„]}Î…U|e-PàòZ¥H| eqëêl®PË­ûÇZ²à ±SŽPª¬o++¬¨[ckøt¶µr2øVh#Îb5Bu€¬ªI‹M â@VXL• ”=FA€…SøO(»!:ùonþð põ“•Îõ'ö=‚_v-ü˜çˆ&Ö9Þ6eµ÷ú‡c-†¢ù¹îg4¨×Ê:ŸÅÔ®ÉÞ£p¸Jª/îË¿¥Àʇô`ˆÃ/æÞ>ÝÅ„tÐ7zoËEýѦKLŒ”ÒŠãÂuuß RÆ¿þ(ioRë?ªM²t{Šr€¨~IÈ+˜¶·ubMcyþ€ÌÄzðŒ“{=ó· RçÊHÛQ˜Ùî{¸Ë/¿o¾!õ­ëõó­…'m5qéúu§•n;#µ+óÚ Lß³Võ\· ¢ÖÏ$îB€˜°}+ƒÑ õÒ«uÓx sCrû8>­šýÄcÊM‚ÚoÖTÜ×x ÅÂ?í­E?ý®+9qQÝ£tÓÀ½?.´;j„%«½Ï&¦‹þ3¥EÁÐÂå‚5†E¹¬ú+k–E'³ü½Y}‡¹`‰×ÁÌÂÔWI„pÄw¦íæ²ñ0sÿbZRçÊ—>AÖêe.‹÷’³==«¿óvS¾®‰ók±ƒ™Bãìñ`éÐ Â9¯)ÑË’5\÷ÄŸAÏ@q÷ݯ­"¸0d'#ì°A:³`] ÍçN§ír›ˆNèß‘îˆ<¸ËbU¸ë#MI¾kA³Íev­à!gH§¹›ÍXÏFܘp] þþÜY_ÊγdÌþ[ ˆB® MgÏn¢“"ì$‚ðÚ1fáÆ ²Yï÷v½9éö9ÜLF}5:¦q=Ûƒ‚ȵyóèUñf%vx·žînÄšØ4>B²˜õ0‹ôJQ Wí í,ÐLU˜ºê†¾ïsßOaʪóÍJ†¾Myá×Ie\(ºï'F®xÓ˜¢MùV÷LÉXlÂwIÑ ŵû°ãçÆï{ðRÅ©h޶–mE·M­Åÿ:˜¥TqÐ\¬ÿMû€õ3á+t™k¯"²]rÁp]\/M—"E÷QˆÏßÙ3[b~ã$¬›™©}'#4hÖÅ”ÖÍŠÁÒèMvpŽ•#ˆÓ.MY%7!ÒᎳû*D:ë3@˦AÉÅMÙhhk{#öÃô·e䈱Œ)G«Ù›|âºÿPV.óèRÌ2xLõ¡Æ_,ƒÉ¹-#Ib¶p2!a¹go[@ÅR;µV(ÅO›#¸DgEØß±J=x;šL¿!äó%E„½ÆYð+¶k[CorË2ò¡N¢ëV™4˜úº{¼{ƒ»¾Œ‘åHÆÜ|âMðkßõXÅж۞ÊåÅñ1òîí„(+ò÷ÇŽÑ ?õeìZô ªk)j‰Ëœ ’xK—vSmÑ?b>°Üy œìÌúêûótÍ|á [ún^0E”–TKÀœŽ2m›Õk-©Ê*;–¦» 0`Ä-Y”sé8­“ÝŠÊæ°Þ{Å;G («ŠW<åÄ ÉÓ,e}…0Vp)«î7. ë°¿…Õ43Ò=QcñW.æzâ®ò .‹3lìf‘ÌÑZ.v™ð]ÿ=+kúÌÂIŒ…×Ó÷²k\Ü.ûÁ rÕ”EVwˆ/‚´Ç ãú$+­Ë¾Ü@ñx†Åžcêa$W: ±—ç°`á›  ÂÖùL“ž˜ ÿêxmãù„dqa÷­”|ôqø ‡z^¯˜ÛÍêíØ´èº)Ùº;–>‘l0¸Ð¯•zF’pK Álà%RÎ4Vׂé¬à5åËÝA¿'/ª ljšzË<šÇìá!Uî7Š®û®Ç\Ù1=©g÷‰­6¹¯°é1íxêž´QZÎòÍä›`Ï*¬À-Fè:„®Š-­—³ËþöÓÉ#|„›d5–C2¬ë áê_±.k„8®ªA"Ü =TáºÒÓQqbí'ÿ[œªð‡Y#èÖµà|s¬zcV–Q¤· ¸7õK0°¾­ú˜µ'à1¡ñ¬‰`‘‚önc7°qk°˄a!‰OÄý6Nðî¹rx‘ÀG‰`HÑ çà .ûïàQx;÷$ÐÆ?¬Ö€wñ‡ÕŒ £ /Åì gܘLWýHXº¶ùÛ\ÑΞ§JQcb݃‡›UoµâåN¸ÁªR6<øl¹•Hm[UaQ]H\úP ŠÎ^³"Ëq)ä…[ò#@.ß¶½˜4ÌX/P«!éÈ¿½³#šL !ìP³´Ç‚Meö]·FOÁ<¯Åm b u¯æñdß7ÆÜ7–¢~zÄ×2úâ¸- £™e,àÑl1­ö‹É%I;¨,U÷‚$Ë'6K›RĤ¹aÓ̈ q‹0|®1¡ÝŠYªC›ajzËTʆÍQ¸¹3ÖŒ«ÈÚèJ6“ßÄ£}ó{Âô“Éä^ïsßS˜×–Å"ˆ —¸IlˆÎ ˜#ÔžŒØ˜±X®7;3áÕ¥…S¯î_ hœ~¹æá97qkCi<*b.r׳ˆµ\ÉEâÓ#n¹´:Ö//ÁB8å  JwÍ=–P­}øDk5>e¼9^&¦„)pÇç9¦øú¾dAóF>$hÙwg;Em—LÖGð‚acˆ»¹þd`ñu Q´ÛÊ«`°›çˆÆ¹‡…®À¶¸?뺥Zôú‹xé{6F¥ $=â²£¿ý?áßúÝîfÚÆ ït§²Á-ºd »ê‡±ÙqaL·Ÿî«Ûˆ©4¥> Kë·gBÌDh7w±¬¸gs1§ÞrCcxΕ²¤ Èf=qû ve=Ÿ ñ,¡g‘)Snfæ‹[c™‚;f‹ç¸:ÂìÜÃ#ôè3’°d$¯lq¹.ݬƔոõ³2Δ7V°VVU à®nŠ‹w(gp¡×cꞀ°;­ ~%hdSWêhh·“ýk¬®çÂ2!H,ÚáRÑWliµ1zš†«a}„CZ%F%°{®J7‹ÙNléï1$ƒ‰`õcˆªÎ[-óUȯŸªhR¯µÂ³£0¶Ú`WWê»-„Ð*c6BÉIX°Ê„Œé?«ZI*óþÉ”âˆÛ‚t‚BÈÆ•¾l3÷#î Hb =!îˆAÌ7Ȫ4eµ¢±éº”½’@ÂÁ¬[`u"uwpŠy">F´h5-T/>$(}ÙØ1-ÍœJ›€­ !3WWmÏÕ|–´ÿÉînœ™«mDD/;sSß/^©ájZ„(·È¯º•Sщ0!À‚)ü¸¡}ÉŠP²ÜwB?ùÇ­½&#`øƒ×ð¹Wps»ÛãÒuýÏ%7.‘Ú’¸ßŠGñý(y¡¸ýK@ЃÑÀ³S·‹ÙU,\ãmfx8¿¬-wZã ¯?÷' ­z¯³`[$kØÔ÷ÆHò£µìžjKcûî„\Æ?ïñоûkF ¼,½õ-Ÿ­"B˜ßSv ›Óަ|ºnù–øiý´ix†”ÙwÑïùA„#”v²/ ÷’`ˆH$žŒ¶¯»y ê  ®‡ à'Ø, Kë»à%݃çŠ@™r|2ð˜Ó­íõíw+ÄÍÂFÄú?ó¨Á¥ö„¦Æ^ÖWo„:5JP¨nê/¥PÛä²§0ÁµYæ($ˆºÑúß56¡ÄŠè»uxS´à¤|0>ÌM´ý}Lêìú‹D!œzt:’¯c}ì8¤(õ-)ÜúAn4þí8b|¸¶è„j77\±}ñ+¡ö}}Q„F­MxnÉ=þ'˜<¹ÑehÖWcF @n‘ñ'-ë0o“{2bL:sâ^Ó±Ñ-:3¶%¼ ŸFÈXwŒÆ( “, ·÷Á$½,/óc2ñiÊmHN4#‚#¸ÿê¾v `^r ÅrÜÃ,U]ˆ%ºvÈEâúA7.²Þ¬×³“Ž"„瘱 ½þ|ïf;c®®—Muoîí5=t1VßíØ åŸjšsCb©àN¼'x&Ä=-üÔ8#RZ<Á6‰¼…™ ªc–£ÜÎ|k0:Z-BÞ Ø˜Öµà Ĺl(5Ö¬^8`òMÈÃe[V ÏÁs„õÉ¢Y…Åuîfч[ßöîùS¹êbB1d%`Æ&ôñËÅ\-p°5Χõ´ÔÍØ¨9·X»ÞÑ«±Ïô x%- ¾‹ráA›òãåÓWü¥ÎÉÂÿì¹™ÅX_KNeÍpÚÿÉͪI[PšíK#?*:ËF­–Mý"D®äÐyïÑ|®‚覱L±Ê»ì'K#È\ý¬¾dG¤Ü éÜÜ`þš€n_‰¸Ä/—qc“uý&3}*óMSܵøôŒç3Âr;·â=B¡Æšë¬ 4‹¨· A†æLE¢Aí¢!¸gµrÁž>•¨„]*n¾–úÌ××~»´Å®cξ>múß½~jz/W"ÜêJ€')ÅvXR¸p¿\‹3¸RÙcŒŽr TC9á”LªNùôÙGŽ»f¯ˆ¹,ºÙ‚!ô DPôÆu5¥mYLEcñÐ Ø!2+d´„s–!Pðd%»Ø &QCv‚ì}è{qc×»€©²Ì5¾½üSHÓ‡kÁ„†ÝA2–õ•0ô~u¹)O ÅB›Šó¬Gwõ—ÖG·úD§¸½±ød˜}é;)b÷|Z: ÒI8\{ƒR„U;¬ ühÅÑú¢ãKŸ“ñ›¥D ˆsÿÀ nO7²`3_M,ã¬ñz·œðu¬Æ9˜©ûj‹V„ú–·cMë]Œnáþ²¿³ê ì¢1)Bäkìyà×~dú½Ý™’!GV$i·%0hh} ,È©#žQï17VS¢µ€èà@©3©Í¯$R›eOiÌ´uÐÐb%€×jDŠ›–D¡6Ai‹ÎêiV¥þp÷dɸ„SWÃÈLr}Žô`É-Ø4UØ­ÎÈýRýl Æƒ;w.}ð$,«R2Äþ_ ÒîÝ…nY§„Ô_³@'gÙAébjp&ŠŒ)K@:hú/øÁ…1(®m¯MáB‡²w‰wD‰¦Þݧ½š¦}ÇÞ7\–Ý\¼Xµj …¨_Cé¨[¶µÁ½–ÝSü>ÚÊÕ‚X"åYÝ”5­©ïpë{ë0-ÇrOS)?øÁŽW^°ð·ïºŽnp–°ÞÛ>#ÁŒ€õµSÈV_äV8–MÖ^ß=-3Ë^z16¦ÁŒ¿±fKÏÀÓ&±@ÌßêÜ=Úµ†Ýg Øä)Dû›4ÕWZ4ˆz?À T;€ÕlV,@æÞsgp6ɵòB±ŸùÞWëãºqµ½é̬ïQ=‘[ °i¿d]<.~Ù[ý^'x‹¿b™Úœ·Ã=A)p¤‹âÞ \}.<ˆ¨™ÐÅÂË.…Í{GêxmºÜS”YÄ.¹–°°ÞÂ‹ë ŸPtïj—k‘0$›Ï®ø>¡ _uLñ¶×kBÙÿÌ``¬èŒ±3L²—…A}Ùø Ç„0:Î~Wò:’ µƒ#™© t–¨eLÌ¡+RìF²¥”1—5¡âýðU‘½úˆ0¾QÀÑ_üJ56 ý›ÇV•k`\V[ø†ÖÃÙóî»(¨®,²SåDÓ74LÉógf „ù­x`e î󊈂â .Í®«õÕ…ˆŸ®=ÆÑ¸¤£1˜v÷Õ‡’Ac.ÿHYê±*&¬‹3ƒió«ôâ:ïµLU3aÇȹw«rUÝÍbÕmÈé„Ñ=F£ÉOAöêj•T”U Š› <–£AæÌvÔmð 0DÆ]̘ f¨ Zö¯WÔZ¢ƒðá(€dÚx€ÆÎ) ºÀèo4`VD÷ÕbçK ¡úgýŠ÷ÞSþYSBÓçýÁ›Dþe°†÷â?ãÆ3‰ÀÍp˜ÔŽAÑw´˜_ð@µâ²ÚΖÞ=¾cç[ÎEH7¥Z<;ë ÉÙe*x-¤û¦¶)¹dÝSàËÕCs¢ѼÜÊ3÷iÿ[*ñèö-K¢Ÿ ÿz¯·:'»eQ3íi˘ÖE•ù™êmn‰yΆkØ“¾GÚ´ÞÕO_IHÀµAª¿ˆÙÞ§aêoãõ½÷Á™^îûe[,/Mí&¥šCMßwM¶:7–0¥­•®[`ÝÀõÎÝÃj„3ËRœÒw„ ^Ú€1܈ˆFÆX;ts–”Ù#› 龎Šº”5Æœà³yÉC1EÑD–£$(frÕ·›ƒ¸Þšº°Qœ²$¹‹`ïôøÔ;˜²Ò¯ÿ|¶se¸&±p0ØMWÉöuêM¢Ê”ËwìðJ 7Ü;¼1o„?C˜âìæÆè¿ÆŸ…Y"Òôþ-¼ÀA{¸öËLr_;± ‘n$PsùйÛ<áC+ÖÍù0!Ó Æ«Ÿ`Pl÷`Hxÿ>õ.‡1‡ Æm<73À‚£PFƪ@‹¯]ç™’”Ú×fô«|1rmö¬ºn6e  ŸÍÁs’Øý,àkX(:†xBdóŸ1~‹ b¬˜j‰‚؇¦qeMÞÛ }~rGîe%‹ Þ·j8M‰x²kÖålë3ÃÆw-ðÂ'â[MðÏÌ/ ½m§x»~ŽæŸû”qXŸiKYGlìæ$ßÿŽ–E„ˆbú麓9‹È²»aŽEð¦P¨‹^ñö'å v}€Œ}xƒ·Ã\ø\}îsáz±* ꤿ)ÆžH_êê™`'`臹’4Ž,ãwGÄ P´°~ÏMßóG¯õÏâÜJܺ²3…E¶UöõƳ­õÓ"×9á A ÅÄÅOÞ¢`©Í’t+ƒ]M1dìa 1T3ާŒ,„·Áa¼ÀkPLb°RЮßnÙ^algj«×Š5*7ð~íF„ëŒÒì¸Ù-½Â4®¦Ç´nAI(¶–®€þõí?hÝ­¥ï¹1qA[ÁAënÌwOŽÎ]ؤޭÝÑ+m½©è¬ö7÷Àp@ô#tˆ•»gfñ"šØ"¸0`ëˆãÖë5æ\qšÊeÙÂuNˆÂC\ù·¹¼”Ž9 0Ý/ìØ¶µg¾±)b®ÐmŠË´Ñ­/°1&Gx¯@ož|mz"+oÕž…œïÜ׌€x}Œ>t]EÂJ¢kû{?i2ï0˜£]Íx¡š­ß¹Óè½®ID‚ëXY©nÜy=Ñ{!M}Ÿó k#p$ec9á*&ñx³0 :&îì™F@w°l\­ç¬óì¾=’—!ªk‚H8ÑþÔ‡Yí¹àÌl Km§«¼¸bK‘º‰é$ŒoÜ´ÞìæS»÷€Aó®!¼X+¶Œ1C\¢÷š[®Ý¦€u/ŽKІU‘¯ ;SÅEÓD{8St+±È¤ ‚~kÌ›Á騷Íê Ø±©±ïÁÑÛúá>6 þ+ü‚ƒ‚É®ÉÖ~’3µ3ƒ•ªX¸¹Á½„$«b?EtÛy5i8aW? »õ½i³ß4TäæßµËÍ”tCBãVóÔ;ý! ²„cÃ7´õ™"Z¯!Þ3‡üίvM(Óøs«Ú.: 1TV£ëͪ)O—æž÷X­ø|žáÒÅh0C@€ÉÏxžrDáÇ3Ä üYöÌ**ÛÄÅ0dd,ùx­°.^<÷œ¾:ËR'ÔŒq!? 5.d”2ÚM¹Õ IFOV_1‘Ð+Ì­¾x+ë1‚_(²:ÃøÆ³Ú²4oY¥XÍD×·ÀUΉ!‡âôH Udè› MŒÆ%<˜fj‘ôpõ\”W°nN™EɹoŠº›šª?•ƘÈ:A4º_a‚cBÀzÊ)³7õ)`OMJ¥1ò="פW’AɦíèHØê"ê¯FŠ·±y8êšUX=}ƒo{x“ÖXL Î%Y)Ö ¶2ûÕû¬AšÒr™[ì-μo¸5ÀâúâÞ ríŠMçM ôCýè{ô!p 7ׇQºF`ºß<éîñK[Ò=¾¬=8tÆ #†cP?ŒJOY ÙÅIë1K‘Æø¾´?—[‡ó™®Ëó×GO0ºÉÕ±œ2¡=YMŸ’zÂl!é¸@ÿC)¦LK…ü5ó~»Xæ0÷œC¥ˆ2b 3×3¯¡¾vX¼÷–œ[’N°)Tû­‚Äðw¯9Ü1ÑÜrØö}.cP~NF¤c}Ä7=µ$íÜ ãZLÞf‰‡Ï,=·$†Sj €˜‚øŒqJ<–À#îV‚w-qª-âQq—|,HiÔÍ6S#;î:¾S$B=ÁŠQ˜D‘‘‹jA$PW “rŽ ]?‹E´›Äǃ Üg ²b«‘á9[2ˆÙµd±þÔ)XmòJK*ð¢{YÝ·â{+‚æy2\o!XýY!µJd´ÚayÒ”Ç^6n¥›xrˆçzÙjà Q_0ÕöJ4ëä‰86í™oum Iô-É)½ž…‹X«Ô³4ã#æ[ÏÙƒ#þ˜ØjHÇÝ1鶸 Òf=dG5`T4hlñRcc˜Õ¸Á Þ%è–ˆL haÝlÖ$BÔ–:ˆ;ê'ë§&ï1€àô'rµ8! Åb…ƒ°ãwœ7=޲ôk×Ó>Âê\DŒÃ˜Ìm°Ú`GË®Mih©8)þœ-œ µYhS<¸E®ÉÅ©I¢µºh÷ϰ µ—¸Wxwå$aC¯Œº€1ŸÇäs_}Â|³ÍaÎòS9xkQñŽÉ „h¶E»J.Ý׊иIš ìè·„}›Õ»Ÿ0F¶þ. :Jžœ1 ZàAâR÷5Ã6å!|`é5á+æö÷XŸm]€†,%m`Ú×Éeeú­ÆÝBÄÞ‹%ÐX„ò‘…gmÅKk¬LCb²ïë®ÁB, vìGm Ÿ¬¡¶äÇwýÈP¸­"¹xF»„ h~ßKvœÆ4XeÈg=×""®¬˜€! ú3ëAp^.ñÕV¸4w=¢qñ 4·¸„BúŠ&pÖÖ³á‹Iõ©‰&àMquå•—¯Ýþ—G‘ƒFhYÿWÅ¡§n×X…;ð|€¯þƒÕ=2DVtI”NR¾nœ2mVÃâ‚2×7‡d ©Ÿø·AÂ1¨lDù¦à)ÜfŸºsžd›ÃjN1—À¡cßSfŠp™É„znæ4Jå$ñw£ gÅë¹ÕþÖYÖ±d¶™OŠ¿à÷ÆžxDYa}DÕt¹qnT#w´,â2¹,Ý’‡Ѝ}V‚Ô…^cš1Od0h!jw¸fRüògýž`²Â[³ }›eÈGíÆÛ¾Œ ,,÷"à›ú‹›ÄÈ,öPœ›yŠÁM*%?:Lv)ܨ(o\RŠsnI0˶¹áˆ/sdÅ6S†ÆØŒ!G|ƒ!\‰X¸·Šr+Õ+~”Üœýe‹m„ZŸf‡RXé›ÕJqœe¾uxx‚q–S•p‘“èk,c()m?vqÍ7_ŠÁLXhJ²ïñ†ÐóÅÛQ×í‹ÙXsð­àq6¥)&8 ¥êjÀ›ÁÊjVÕ Ïh&Q$]8õÌÄ(¼cÊ<%+I”6§]†<¾ÄÃ¥& XþðÙ„ú×6j»âê|ZRiÅŒF5-òCrßÊÜHr\ÀK¸D!AäN<›ã£×µ'£wìÚž›ÆŸñ*OvZpI¬ecо­t¦­,’¤ç̓kC<Ôù…ÖŸ3'ÁèÜ¿Y€d‘×1æé'<ؼ›,,MŸj·aæìJY»,ÖŽ³è>},Ó$˜úíJ&B;Šî…pÈŽ›7úä?³@žÄ´í§­ ËÀd,ûQëJÑÁ›“ðèÅÅð¿Ú^BB‚aÉö¼Å¬Š8¸†IiBtb¿>'ƒáó)üÝÖ!rû¹Ûø›æ ïׄÎìÇIŒúA†ðcxüãÎgòú^øÄ.Ò®/?hLhø¢%¼û¿ ³òžuà³â;É] ÏŸîyÁõØhçe¨Oí«mÀ{qžc``DA=qO_qc'C³´† ‡'}‘Ë|m’<šÜä&Þ!Ãÿ…ùjIŠ"rÂ' ×GÏ“]Ib|$piZ‹{F,ñmYL!ȈÅçMµÅ)‚aÎX9ÅÆéÍÔàO AF ©{Pcp†·kzmr \{m8LG¿¬ÎMgYo3“1kÇݾ7cí O\«ÆÄ̳ÀõôjàÃ$tR°°½%ÊÉFÖZM ϼ†ÂK»x°˜¬°áê9Ï“Å9‰VBÄòÖ'¡ÚâhŽÖFa=?-Òe©2óEÄÄñaŠw¼ÚûS¼"T”ÿ¦O4 f0®rxmÄëÄê=zÓÑ(˜.j6̧]iöŠ2ßÜYRPû$•‰î÷6Mð&ˆVÒÎ…¦-Õ™llyõ1ï#\ƒõl ýqçRòi`ÈB|µ7ï¹<™míÞ·y(¤•#¸ýú›Hý VcË’1=?Œ!·TŸ\ΘÓ}SáᘠêÕ¥V @½îã."xï'\Ò¬Ât a ?âð Ñ çë_ìãý¬e`Ísè/…ƒRŽÕƦ|î1H_‡ÏïåX‹‘ÂmVƽÃqÀ¬ãù%L¯+uÔwS¾-Ž­?‚»r‹‰ìýt±6‹Ùñf¡EÌÁÙwãF÷Í›P¦`ò"èç´TcöB$rÀ*§’°j€5õæ-Ï2±«fÌ2·Ñ´—ä3-Ül·(^Ec(³XS0}A(· d×5Bšq¨?õ­¾lŒqEá®·áÝ·ÃsE‹YgƒUXµprYfcô!ÃW!L P¢Ë ÙõI‰X¦·;­;÷¹8îºEâO¢€ºŒþ¬žNz×­ý﫾[ßúêBwx Ì)X÷}dÉìs_b欖89Ø#{Wô6X–R~œ1-±l¬eàYΘÐ÷ú¬m-¡Ú¬ ÞEÓhöi²ÏA„¥~b ºª(l›¦D®ö–S>ù-°Ü¤{Ü&¨]´˜ÒS8Çd•“ð›‹{Ð+­øÙÁ£]9$;´Uû]"  R¿¼TSŽˆp ˆª:À¦ÍÅuµ¬Q{3Ó€I¬øâl4O¨Äm@6cìY¾bŽ$~Ö´×ç¬7<˜õ5•pojfþp´l™À\Öwu±ˆÑ{?´ðYbû¤£c§½”äs/ñ9›®q¹“Uý ¨‡[8è›5ˆ ÇÛD”ÑLIÎ{q%ØZC´‰xÎ8$ b.î§'á4^øÛ„…¨¨=<ÑòàÆ:ŸggL!h:?Xºã(uW1{¹¨Íkýé L¹RˆŒrè G´R¸§Ä”,c0´¾ö4+  (K^L—`à€½zÜE_EKW5|Áò3Ú6vu[•¡~ÝÌØ¬<æÑ­eÇ« `£ïU*ð?²xçñÁ”DÉ`èrÔ „.jF—àÍËÕý_¶ž^œf¨$³Ïb%›`Îa‘ˆa,aL Y°£Í!sÌ=¡<¥)ãÉî«}‚ÄŠvW–¢ÅŸÍ'+n^UF =Ëθ7íY"ØôqOpÄðnÜšDIRÄs_ï ‹\͈Ù˼BzÖÛ·´.F9Å}“éõ㈎)âêŸpaV}Bdt‰A{jº”¡ëœöjd³Þt¼X’Ë ~î_ÝkíÞˆ}hSÛáýéÒU6.¥€ÀÂ"ú³po Š:Þ,“¸¸ë‘Bš¹q/6Ê 1ÛáNµÚuÔæ¢}^ µ?ãs¡&¬\_"ï^5;ŸÑƒ_ñ¸ÏS*‚º¼ëCËð>™l£X‡eÁl}Wó¸Rüõ!ú€#iSë †â/ G^šº=ËÆÒ4„é‡f{ý޼¯—Ø^ýƒ]dÚ_Ç#ØÙzi¤’vºÑtºi /K–ÊwÕ Ò&(ÜûŸš„(nÜ ã ˜ëOWû×Í:>X¸ðª®—0í„‚ €É„“°ã~ú;Úˆƒåæâü]ö› =ÝïÚp‹™IØË¿¤1öø±ˆÚ5±ßan¸5æ\}AÒ8à÷oËlŒu¢Ïðuÿ2ã€ÃLíÝ«MTÝ}Pψã‰âÖXš»Út“¥u¬BØì™ÀÝÏá˜UD :\]Ñý GÀíþZ¿$ç£ójŒ;¹§ eízK÷|'þG'‰¥¾À¯'mÐTP–Æ:KQcLˆÐZÎü6 ÕàÞ«3µ IÏ+s¢ªäC·LñD¹èôöÍù¾ƒkU5Ÿæ¤y„lŒJg«ùñý–š×ßb>!X5sÖ!àÇf¤­4xBx%Â*0|ÏøÈmȬY”›5`M1A×ÁBŽBÕy!Ãr•pè.K±sóà uÅúP,!à BMUôµBdßöi/¸’jE[!ÎVûp¥ ûjµâ™ØxÏŸj\Û YÕLùV®Ñwð™bÜb‹hÙ cÃ*õ38dý 3—{ÓLÌê½Ïÿn,tÒ_oƒuU†,e+¢{Äfw+ŒÀ}»Ž”/c5ð ´D[âsß| ×àøEìjԉℹ†ÄzíâX¿Å \¼öJ&˜»g¥!öGȬ£yäî,$¸„[ö¢¼·Š{VV_»$néÿ^›ž[Ö相+«<·‹˜À­€ø(N÷pÑ»¢¼6„,ˆiðÍüÚ…–Ö×ÖaLs~S.qjšM £ôbGð4€aÀþ€¯¬§„‡F·Y—¾ X«¿‚O;žˆd÷á,„袰‡rÍ;‰íj5ÀâwÂ!Îë‹@Ή^,â¹¶?Ññ=ú\,c§ÖúÛ.Ȇ %œÑ^"¸Õì}/K ‚¾s8T!U—x0ñìxçAŽu:OAø£Ë‡Y°àaðHC&¨ƒ{Pg--öjK Õ¸´îFŒÛÏCè9{FXœ.õ±š_$ý‘/FÑ1Hý…!ÙéCí”@"^º£Ò¯Ãp+®[†µ%ø‹óPÜCëêÏÿ´ù< ÆßŸlXð)m¤­eŒoþ^:Ug5˜XÖ:‹õ™ÁÇ=[13‹ŸÌ®øŠàµ©²Qÿü$UÀŸ!š¾tžUDáaç¿h°øQ܆yy“„Z³â3?Qª{VG«ÍÉ:£OEc–ð&æ_=5vp£kOa‘r§H¤0Sú_á—EòïÔŠ³ ,gmÀ/9ø5šÆ¸ÂÑû•µ‚ñÄyâÁd¢þ¹§\]ºIù]7Ô×Ù¨ì´$jJ\õWƒÖ| ë*ÍÇ{Ëò.KŠjŠ/}/ñWßÔÇ庣ǶJ! hzk«Mê×Ñ „Ì|èÎX& ®7¡¿ùÁû!°§tBS\4¸Á:ëùÌãbFôê÷½‚í•“C#®Xs»ô»°Ó ZNëW—Ĭˆ¤4DãnÌ“f5SˆÏæ# |&}¤<îï·äƒÒ†d™E—Y››2û½Á¦¿þád‚™jñÍë³eã'™ y•—ñÕ¿¿¿ÔïÿË¡â›[§†3AGC:-é¸Â,8"Þ÷‡Æð²²Ù¯ôK!…G!¼ ~„³r„°ÃUÄÛ}–Î’4L}­_ô¸ÿžPô÷!%}ìž—_OW÷Ñ€™°Ôïks^³` ãw)¼MP^þVvÊÖ•‚ÿCÂôôóGãk• óŸÿÕ–Hxd Y>Ù¤ÄHˆñ-y§»ë9%¿ƒÃ·V™wºek:Cžj~ê[B÷wÏA{f‰¾&LñÐ"¥’Ë']ö¨¬¬ÜMŠ+¹x¡Áf‘À]²ðíRL1œyÛ„l‰ÏÎï ¯•4\}û##“Ýä„~¢ùS¼‰|@ôèÅCgl~þ럫¯ÿõ_›Y‹óO Ü â"äsášcÒ–xkÓ݈يiqW<ˆWé{šàAÇ4 ·8Áj ÷¿ýz¾z̲|Бƒ÷0˜±õ ÿKAþ]öY‰„í1§é[-3.ÃvJp²$ÉÇÕóÏŸ XÚšöZ9òêrL–ÍIñiÜ3…Á¤ú%,oŽÂ€ð¹Î…¾Ttü³*÷÷^y€|óß³DÏ¿>îë/›>ÍÎ’+í<ü!.Š S¨O`œµ˜,_Ýçî³Ï-í§ÔA£·fKžN5¾ÖU±ÚÂGm£é¤ëo à˜ú_‘âñ,)½Íôtu÷Gá‰ÏbØnc­ïêÿ>Á3Ú¸Ta:Þ|ýšpõ}áÉm»ô$o ù{ ‚ì Ñ[«{X½:IÁžÂáK–òî{×sÅñù9+ìÐLfž¿,lAR¶$#WtW˜À{p«÷7·=+ýdì—ÚDÜLèŒù¥ðå>† $=²Þûç¡géQ²oßë·¾ncüÎi̫ܨk/¦#ÐCtÜ:AÛêƒG‰üWO•ÒîC\ø3Üó6«˜ò¨=r¡—xÿÚçó`aÈ [šFÀ÷´€å_yÒßEó»øˆ‚Æ‘À}ms׊üÜVÊòíÏbÞ`܉_̦ô˜ ¸a‡®aŸ™?ˆ¹5p÷ϵ¡xb‘‰&Èòýéý%@WHMPý¬Ö2ËC/_C–5 .±¯¾Ò.Ú΂1ù6 õh÷„ëX&í¦¥ï!Mu°Ø,ÑyÀèÆ²)þN?ÿk ¦YϾ¿(3$Ôœ²`݇Ü>WÇÕ,ä˜ 3X®,FŒã’(‹@{•‚¬A`y$˜/YÏ'n|Ô}!<ú’J4© à(§³zHÄ`wÁÀšˆ3mk¸»g} !À\®Ìò'¸²fßò*\¯áÛ›ð~+'ðÏf‡uš6 ΦJ7¯Y¡hö¥1ôKG{|Å]BòŸ(8¼Í!ßÝ}N[ÁœÕdaÅÛøIn²|g{DW™å“×iÿÏýg¼g]WW, ¹h¬â'Ö!âÜübE"¼ïT·ý;ŒHeS!òb…mè+H‚ë´}±@€rÃÝ0¹ûõ£À<ÀÞ*#(pÞæm¢Vy.6”5³j,P6ËÈZ|ù²gϘM@»oe‚Úˆa, •\tS9bÖ—wÜnÔ 5Î[Âòô+Uv@¬,bñXßYÌÂøË¢Ó¶×„ƒKtøÎYœ™ ÉåÁõñWÊÓ}Ö(¾ôzî„YVìn’ÖèY"Ê÷ÕÒ§º ¦/…ñ»ÌÌS"X³<¬ƒr×~‘ltïK4;K& Š…ÒKâ"p ƒYoÞ@ }Û¢Š»™0Â0>Eê“ì}Ïú ¾úÙ:ÆÆúúÇ {Ä䯅7ð{.ùQ2úšR’¼—ènÁñ×?K>“™?çuä,ßÏ;¶X¡.Žu…: I–¥W|’¢%[¶.ƬL[ á4Lõ5¢oßjò˜K}iqm@˜fI.v(kUç³õ»Šx÷ì\çº|M˜˜ãK1×)Ë(Åt7ÁÑ¿ ¶4Uú%b§3iêß a ŠY•¹‰œ]›©B@IDAT¿„) ÖõÛáDWÄçf—PÄÈÀ뇻æƒ3w°N­qlIÄýCï!̈gY/–èåG±g5JY&ËþÀEœçBt_ùå%áyJèͼvß=W–ù\6< ¶×^[âT·¶¾2{×B‘Îêœç„㾬ö1oƒû\*ºì‡ÿþ1îá{æ<)pA¨£Æg€ai}qܬD@sI2ɹæ•`ž—mcQíÄ“çàôl(Ÿå•´Q–Â`˜bï®.|ŸJ …Ë„:­{úQ¨Q[±™”ÒY¹çp¹ëºÚ–¸P¬{©~·¤)@|c]ìJ3ÝULöóŸjaÑñ9x¢ë]–ʦñî»Ä®Fá•UÍr6l¾¶3–¤ˆ¬'«/£Ÿàƒ«f*O)²•û³¿¿^Krâ“ònB–‰ìûx¬ã„hÀe”U~o]:,_¢‹ÊÁ] ó˜V`ÿýÿ¥¤ÿ.ö{.å ”‰ÚëòR2“Ö³fƒ ïUE^R2^ÎN¿…3}ûœ =—¥GÒèŒ{Ø\®ñŠùO8hoš…wŽa…(—0îôk }ÂÇeÎ $f€€0†¾D™ÝöGd=·'âªé'õ-ˆf¦ë‹5ºã*û%d º«-€jçY|FãêÊJ”§à²ßa™oÌá& ~{}Ř{–qð°N÷¹#u³ô¡hžÛiöqBÉEÝÇx–t+@º—µ¼ï³ä‹üKc¼¿3óxER‡ë—’*tbÄÇH’R6ð&4’1¯Ð—Ø£EåÐc!@ pý±0ÀwðÇHBÏʳBÚ‰cÉåÕ¡¾efaóV”Œ1 µ)·àVxçA÷’‚U4J´“aÍ‚ö¡nÃ?XMta])¬KFãák2^`™°€-˜´%ÀåSÔ€4QpŸ‡dˆeÞí£‘®3Ÿå´°F,”LSÉã Z½'Í'Ž#k³ˆ øP ö”›án^ þ Ð{B±i5ŒªÏ'b®£øLKfv`aD•%¿†8Eð·jG\8ƾ™ˆE_ÿ¬æyŸƒõá»yRÚÒM}AÆœéunSLÆ*HD"l¢Ð"êoS®Åƒexj€¯ÕÀ®s«7•SFH}£%u qpõ’Õú¼©­þ>pëõN¥ Y«“EyµC% J¹RKŠÇ$q}—BSuYv/B’uìM4—‡,·NÈú>›°°„µ¾Ny1zéS™‡ ¾—çj©äoç*'°òY¾Ûܵ¶CÏ„8úoŸwÖR­r«¨Ñ-¡ŽC)I&@‘”óW™[öð›ˆ\Ð÷á;EÏr·)™0°IX‹ýþOyCu`!–B·0G®)MµÄ›Ç‚MÕ|ûÇ?™ÚL~êÈã²Ý Vc@„™–RûÛ¥e;w(ï'Á5ªiJýý§i»ý¡æfB`;¥Âƒ¥}(µ—š 9»õ—leýHVcÃ’¢Ð0B$p"˜RÛ¾…þ²²¿»fqX¾»Ð[ãs›ø¨¿îºº SEæx/=‚·%SAý%戭ߛ{ÉÖg[[6`Q°)—€ù>aV Ä( *CŸÐ CbêxF)³·_·ú¼ÔþÛ_¹°¬Æ]Áø%‹k[æâ×Ûum 'Ð%#p“míœ0¥Œ÷­Ù$ ¾ç °t_4¹“U‡³¤pôÉÂ)S™ø"sEòÛ: O+kYÅÂcÉèÃ÷BƒùnSfÑ$£ÚƒRY~÷OXLVÕFz°WÈÃ]Jב sÂÞ¸?ÅeÖwJýøã?«”˜‘)¿±™Ø"p7®öã„8a@CÈ’É}nFyàR; #i*$hLýCZ¡œ$e)cd@º©ê'bDœ§â(Ù2¡{¦|kš«Êï #3_ `¹~Ìv¯8ƒ%˜K‹X´œkðYLãõ !ö’!Dë=ëµeGáDSK£_Œ¶Š#x¹ÉW+PIÄÙÞ£ÄY,ê—áþSX.ù…öë»_Åsô±–Ò~+ÖõDùºŽÁ nyж­¢Y±ûx‚Y×­¾‰f_ÁV/jnÓ¦¯JÅùë¬ö*2q•)cîx’•÷„ÌPI¦M[ %(d0òf‘ sË¢Õ\ņßþ0÷Å”¼Ã—¿š9)ÎuÔð}ä±òŒ¥ÿ÷MNxXù[.üEi-špëS‚:°ÞömN½o¬=’É2 98î3À„AX]Pr 1÷LúùA7¾‡9Ód3 '+´ÊÐAP1[ÝKE#-IB˜;3Üae’¹lÂÎRú[w1ª„%…¨ ÷`ë Âçž/i|ì‹Y÷Á#†IÛ»ó¾éÂ}_BH0æÚƒG”ûÃh£ˆ©d”s› Æ[KÅnz¶Ç·ÜÝ ˆ1æ“ËÅX̻粲ôQ)È¢åŠX¨é/[ŸÄÐ»É £íbGøÔî%AšûŽ‘¹¸ë,•2Ætôže ÇßÉâ¶P–R©x+~â‘À"޶êŬ äT3µG±êæÚ»ç©~º-+ŽÿU¸ÁÊ×þ>ÃóÅÌ„L/Û.…] Ð6?%`꺮?è$A»ƒlmÃt8~Ù´^4‰§›Òíþ{ _Ûí Ž&}?³îͰPΤ­0+2„ZLôªø°°gZ°Ÿ‡LÿNÐbùb 8Ä’"hbq@>RDDþšf¼¶´þ’{»û#ÒF øÙrÿ`q£Å.Y½ÇÇ2¹˜, C"öÞÿ¼¦ùg¥r¨–mí¨.dçúý­Ó˜t„T`Oû¶Žn‚œ ÷VÕ`e@:Àñ¶Õ1—2=µ8á­{´x-K³1;d OZb#ø†ò²üG–(ZeiŸ'ÜyˆÀ…à±FõóO«lçf‰²Ž,ç¬EC+q(¯HÜ$GîE/Ö‰çPA@o±•»6©õŒ‚–E±ð¿ªÕfø‡;Á´ÛÑx÷s«ñG@ùX8‹Ý%j/…hŽçyý3@ÉjŸiPòuxc~Ó{pLø•ê„P e`Õ7ë’±0–ÙyÆmÓŽMüÚ<ók3>õ›Tº™EÄmɽ‰³ –_7lj"dN³ÒԱljñµéí´eó¡!À*@jÖ³ÏÀ  €ÜnYRŒ~‰‰2]sÇÒõ.uoý“µŠ s`¾¿–Ý?”ÅŒõMèX.‘lUK¢!f! ¦ûîö<”à,û–Ô`&‹zŸb™ó¤/Í#"eí%äXŽ`Où¬Í¢Ž•@>Ý®,RÉh R^ÐÂR󣦵”hd€®/\Éül¼ÐlÁBn«eoŠ´¹ŒYÁÇ”MŒõTÙ‚BY°(” êæsDæD0àO×xtwÊœÍ'×|JouKå åžÍ¸Ôþ¹%Z|Éíš`¸/\x])LxÐêfó!,‘HE®î[ù2O¾4–DVì¸0 wûå{pa|LÑèm1_ÜÌ•ÒS$mô[¦â/+$|c‰¢ªñÅÉnŒqâh#¨Áú@´î9åÎÅL¡eQÞ´Îsˇ”2É1Zuÿég¦»Áظ=!SWK,¸ˆ Ò´]v© P,"f‹A³jÂDn%±1W9Â+éÄ#+5œ„Jh¿ýùç¼–›½°ÖN£3K¾Ìë"Xà­`%Š¢ ß6Kƒ§8UÜÖ`‘‹ˆD¦`QÚI ]_õ šõvVBø&FE¸}î±fO+Jè&˜>§0d} »+á´F}lq[1Íý‚V Gsžâ‹¨ˆ;9ŠÅ1p€ xm6Rõïr‚ܲnõ¯BÈ I|i¼yP™™'s7¸òMŒDˆ·§–Zeå¾ö:õÇúnì—f ’F»Y8Aµ Ÿ{Íu +Ä.S ÓHÆ ND0ãòÌí4–ë–Õ+ÇÉfD±0÷åþM—óðCXûCTôÇUôC ú A‚šbÖmô‰¡ý¾Ø7\Âw1+ÂiVúëÌ~í¹åÆ¥Ha?MfÑ_,¯_îi í»8Ÿökf=Ÿ›Ä×—¸ÍBÔ‡®oª1š˜ÒS5Pž!( À»_L¹Œ/®Ú%Fx»V0žb'Ü«Ng[k–;5&˜„ ‰ZÈQ¢OË}ï¿´ú9ñæULãÝzR^å¾øqóèøÉZ÷W9D=R|orá驆bÈLž…¸o…ILÊCs²—–•¥ƒoÛRÕS(’³™11^}‰ÑÍÂ;dæ;U"k§ì„øhÌçd.âLÊîzê{XG4ô±åe£øûÕĘdªQúݜŸlW eÁd{’&Ù¤9–œ[¦³ÕÏò.·2A©w.ó\àPâR‘`|2‹«~-²ÎLI…µÝ!y4.Wã”n[·½ •(ʱR+iªû'Óa™ µ¥V 䦫²²XëÐ$Eö6`ß…OŒ”©ÝöqË}¯¸Ê ÞŸs²rÊÄ-Ή˜‚Zå})Ð÷úZmP¡ü¢þ>¬‘í D¼µã=% ÈÚ)¹ôS-”@‹Y•7d‹f‡^K@>X–Ñ%|Ãk«fšãÝr¯Æ—YœûÄ—,Ùj¤ø3H­`ož›õ…<)„ð¦^Aj›…}aj´°Àx &›‰ª‘¹s±¥b7Q£Üª'³.î _q¡0n+‡œÆ°ÇÇ4 •0ò‚­j;’»ÁTÃ×ü~|‹èUò#žln&¾¤©4}ó^k ö½M4ÅYv^=‰/À&P¹efX¬gÕ7"æQÚp,ëƒ3袯E—Ë÷%!¯í4“qi·À:e¤XLY¼˜”IØ= ž–ù³Î*¦ñó˜Uò³zd0™¼W‡„¬@½° Å*ÂÖ1«UùÃóKÞŸûœ Üî}’æ›~û„¿Å­^K´ÃÇÚ~ÙìJˆæúZü«tö%º‡\´¦Øy4®¹ë„õÅrª®¹ÎõÇ6[†g žÏÜìݦÄ.«˜,1‰ÿx* Ü$GYõVQÝeuÌÑ9"ã-+D¸L›ä9c!nY˜˜£œòß"šià-¾[\PПd{™A`AN,ÆåÒòÛ€2-çÉŒ« ¦´›òKsi) )ÚFD™Ë´ÀÕ™1–¨óÃÝC¸Å—2ðÅ@¡üÑ-)Bð£Yœ…Á>B‡7¸Yì‚öp–Á~k‹f,¨´T¿YÛÅ•‹MÏ¢Q…sG•–”¥&Ì „¤DöëËÞmö.+K's]¾u ±>+i>t7›µNÅ!cñÚðùj:+CþÒLÏ—úæ v&ÜëL›á),ºNà, kÿ•ÈeÙê›a‘åë辚(˜(Ú0Û¦š YD;·ê¨>xŒÅñÅêÊ8—ŒpÄÃÔwí6ë”ûžA§÷ƒòÜâÝþÇ¿V=˜¥üø§-°Þ¨PoõÊ *[JËŸI8 °ºPÊÓ0ÙV×.Í&X`Èêm wBÃÊÙSÑ­ Dÿç¢7WS_sÙ´ÌBŸUÀã! ²}$bψÅúáê TÎÊÉôÄ|Ï 89T#£É4zK‚ê_&¶SÿœD`åžúz.T–؉S¹‡~”À -¬SsF+Ã*è ¦Ã[|ô˜òØwñ,÷Y†ÀL9Ì÷¦þ·%4ü3¬á|Y[´øùÿþ½òÒõ…bôBÛê|GQ²¸áËH•6?æ=ÌJñKýø»“'Z}o¡€r•)6³úT§Ä´ßå{šÕD_~%=?"«¹šM¡xÂu=Kê·}ÒX"cžx™j´¶ßÃ935ßu´>å$e7¹€BÈTƒYã§<ÅÓI")½ð=…û£…½ÏBþÌ€ìø Ü‚X?W&™ŒÁ½Ï ýÿLÝIzeIÖç@ /2"IŠTGš„šÒ@ÔPGCù',‘î¨}ï2G>òHOî=ÇŠ]W¶-¸ðì/ÃÁTâ æ$ÎgÌm$a„j0Cb€®J˜%Ä{ÑIzd!§cê!(.Ÿ±9/rç,()œ³f=í‹<£¾ÀnSþM×ÂlVðwçEÚÄ /d/ÓåAXš+ÎtªºŒˆžr"p‡V´B/S3¹Œû¨À"Ïö°Z‹ðÕŠPÌ‘Xa( ïSÏÍVf:”øjb|I•ì¼û$ü—ö‰ñH¦Þ‡KS‘NªS„1¬›-¬Ÿ¡OZ’¼ cWLžIôƒÔ`CÎ$J3€çS¶0‰ gÏ1#óA|QHŒWÿüWw97¦xá´U™£ˆNÌQ”Ó÷<Ôõókl²5™3J™°¡¾ÿþj±,1DZ+ $Î\€TzjÍhCÓ6 Ù´ÿ>êó´[LËá¼+±¡îf*p@ú!‘ÜÔà¢Ü-l)-U!ÕÈ­¤¨ÐÃr~vcT3¢û£l©µ¸ sMͼÜgð8"®26‰a³‡ 8‚_5NÏw>Sýq2(m+D9ÐÄг4ž°IÛë!¢gHtµõ[&S;'Fµ¶gIµkÅ—âKžãG6ÒÔ`L +£î.jo@!¦B3I‹ö%=Šh±Û¸µ´ ÖS!q1Gݬ8%"“æájñâæžiRëkûjþ"™îi íHdyîÛ3-ŒµoÅ´ñÁ&Cˆà0Ô¿OU@ëh¥a'Ûzp‡‰REÉYè¡MªŽÁOÄ}H_T¼ß7R³!/@ê®ôÁàì™UضJN„ Û™RCá#‚á L7§ñO­bı$2bJeñÂ!&Ï ´q¤®zo¥ìÆ cšë ¶¬`´Ë ¢"unKþõÍ YF€—TIf Ñ=½g]ŒS Œùü¯®@ôNø$à¶ÈMU@ï¯<³)vF¢ID¸Ÿ*\ìµ}½/Ï˾ŸÄ¸í©ÿ·L#A0õ)Õy]œN5;ˇ7ÅW¢¬º¡Ï²#€Û~gž4ÌZfÜ|mÍA‚ºÆ½Ž(ZE| P*ý‚ÍŽ½627ŒÑsX03A,Q†KxjD1SÁB>žWDÂîÄ$ÿx žóZ{QGÒÐ5„½îÌk oÄéJˆLÔ°I åûª¹LÀtþÁ:Än'I9ÁFÕ‚y—\yňÄî¼b\Žˆ #i*÷8ÄDÜ*¨¹8V¹O©ÅGÒ´±æ<Ó2$6ÐÿA.u@¢†pñ=59€´íL"LZC5õ¸‚Oß7âep¬t/l (•©ó¯Þ©vzÇ,S³¥› Ùsì,Î˜è‹ø.ˆŸÚ›÷qÄ·e7~iö¤µ! ‡lG8sBb4ÌélË·ºŠ!^땾Ì'&›Èhé2LN ZgüÚϲ\lUuŒˆ…!X( 7¤ªÏZ¿Ôæg¢á.ÉÆIºMÐtª]اÞ_ÂCnÕðàþOŸ€!<¢³rÕMïiƒ‹pQB›õ€¼®à¦"ԥܬ#h¡6µ‡Òûoñ«ˆðâ80ÚØl„0p7Jnl“Ð µp_eE4‚ˆeÒ$¬çNø¦·9ò7oú×½L¥7TœÄ°Ö/iÕ‚LAc‰9*wÞã9µ™¨tÀš¡-¯B…gú:”ÞdQ…ŒGz"€#œœ¦Ö";Q©Ùmé’ ÑücŒöÄaÿb‚'f iÜ®˜IE3uŒØw¤%%®«èÖÒt×;þ}™Ù¿;i/žç<Çk©-d6¢‰QHXŽLÒ×Í “‡œ½dL°T'aÒ„ …ムÚ98½4'¬µ»þœ‹¶¦~@ILöê3f@>MˆcÖЊ»-´1ùìDóM`îÖ± P ieÔ^q!DØà_´ÚjÕTVß!>ªE€åÍ (l‘}¶†ó®üþ` #Ä©ã5¾ÿdQbŸqâCDòn7ê]ÄCFéÙŠ©™[–“d »4žðo  ×|Aô}jÈ $U^ UCt¿Y̲ç{ÌӠ‘„œ„û>­,i•ôô™õ²É¦½Ó8þPÝDˆá=#âžì·[bß'•Z7›ÑïLH•Á;¬„a‚ù×lRa)¶£Ãõ:>\¥ZåÍ#ìrB4ªØZq7Au3Ó7;8–~[Õ>¯…n­®{VdCz´_›ù“jIz¹ì£æMëëwõ/lúžû™ç®mñ©`+îÉ!˜”|­U^c’æI_Æ…Ÿçõ¸ ‹oÁ)T¿¼/¯©Ø %MòLõó{öƒƒÇù¾‰ÒÆÑ³måø!ÉÅy7õE!„ÇNùs$ˆtž±¿º/« /uÇö¡ p¿POñ%äIE­Ã¸0sJV<Ð:•ÚÏØ@‰÷uéldD­0¤(á°Ÿd¨SH¸•ca Äp¨–©îž¥F0ŠŒ‰L‘r+Îþ2§qÖh3 üôyÅ…1ÕîµWB8œzcý)0Ûï;îRe“‰Ojª†† ÄÖSÃà/&MZñš™@Ž©&ãbúˆôjmêùæœÉx4&A]_°;{Ÿàp˜ W¬dš ó#6=[ÒcGV$1G"2§Ó~ñ]vz”=½† ãôF߯à×|c´ˆq)žÖ ë)ž;úøÙA÷Ù·èp÷pTDï­©Š·ñøù«vkt®È­*„ÂhÆ‹*U Nu‡õˆ+ä7fèÂts¹¸‘J6z¯o{G»1Æ-¯zÇh7\pÞAô¯dýRG(t¤1…oÌ‹«™–ÁÍ_±¥çšGƒF†:gkˆ@ØI«×ëju6Wó:»0ó¾J’·©ÖQF„o{Mª¹š6}Þó$FÒ+ñê­3Hm>?ë°0TëŽmò8#"^9Xª‘-ˆAÏVa•iŒæã¤±#þ,oqäO¦]WiÂÎVùÝË#$ˆFX$©tÎø(4 9VæeÁ±“¦_›^5{T‡jxäL¶­<Ú`Ü20Ã4PÏ-õ–Ó¶9[ìÏ\i½˜}6¦=1õüG„AÔ0X´BÇ6ÌÐ^³¢j1ñ|K>^×Ô$8ECIûσèˆG8ò=Ë@¥%IÒÕ›z !_²Agk¶p^†·²|ÄDªIZ|Pé‰C€SŸý&*Ïö±ùñ°Ÿ]Ïž8)¯…Dœz#Õ©¡…Ûœ ê²jÜ€ÒÞ‚ªõЉ‘Þ¯õ„9ñ»€ aÁ…J9¥ÿ(ã»ß[yëmŽ, ÄDå:ã‚9Öu6䪛œÉîCü¤'›V§XšQëŒÞâ]pd“¶ýG¸k¹!ûâLòÌ…ì¾»½’ù4Gq¸•·eÇÒDòàÂ:ÇÖÎ4h×L #rRæõ‡HfŠwb }y´Çc*ÑJTèBnˆ'bžS”d³dúÈÞ…h¿>,«ncæé½<^Ìû3 úÔÏql1Óú&xÀ<ÀQKI椂&‡T±í€Á&4àüêÎâ¢y=-”$#%êò¼|éêÄú¼LS¿ãØ8üÁòÚ õâªI”€ÂÞ’3žyŠXHa×RJÍÕ!Ħúaƒú'³á¢Sôl%¥AKï4ÞK‹´F€`¡Ið«—Ô7àrˆXû¨üµ=ßIЧ.\bÿØ´ ¤D Ô-n#5Ÿ’þcÒüºnðÆ×߃½ÌÙ Û7{ÚšN1F’º€™ÔæÏëkiË4ê³Æ ÿ.ö5§‰‰¢íˆ3½ª˜/;—r•¤_¦*ÇjWÃROƒvBD ˜%©ĺßOA$Mƒi,NºÈFÒÛÔæ”‚C”7¿ˆö­kÉÀÁ¾ÙwðaÃ.ᱟ#vY–Ý@ÓHË]ñÅ·:˲—§ý’ÚN ‚ F#½Í÷³pÓõÒ0‘)J( õ[ØE”TÓ\÷¨ %áêÔƒZ/}ßLÀ'¦R‚dû NAÖ*—ë«»¯ß‹žö_肃2Ø'-¨’Ø"C:@àTCôþ DØÖÖsëCBà5ëZ=Ì–Œx×O¦gU{]¬§($^&©ä­£æ —šiF6*¯ƒô<]©Ò`©mŽ^\+fBï:caŒ–äaj¼UC¨ü¼Âžsàê½ùv OÈcµ Лº‚‘ØìXž/d>|ŶB AeKJ‘‡{­`ôždo9v!戙‚ÎÛ}g¡“4E2‚G &Zÿ¶„˜²w{özÙq‹ÕHRÁ?› ÚóäL–ÔóSjÿ>ÇèáGÄã &c^0gúϹ•g{Í ½ãh)šM8hÅÒY1/M·!Ò’F¤¦™´GõÃ%•¿ƒLá©»!¶ µ በá¤Î "ê§§"F\)ôQ‹oQ+4M¤êú(·iß³q™X(èÙ#ž‰!®y‚Ál¤¸”âO¸@ƒÑÓ½¿|dpç’/#íÞ:M§ú&Ñ{Ô«y*ÎæuS8ËYŽµÙ Y”¨ø#ΣÒö11ÂA€gï\·ç%ñ\U”¾% Ò\ÚëBü*ƒ“úA…¡;ϱÝá!6!âWƒÊxøQ 0Ób}¿¬Hã~ýÏ¿W“DC`Ü‚çÌ–€ÀFÔbÇ¿s¹$Y{/`_À›_ȳRG+ƒêapÔI›(–§Ñ<&IüKªFp>‚CÀlry(R€ø€|-€“.ôÖgF¨†§ aLµ…©Ù‚cPÙ _Ä -“c€q œçÔÅ0ÃÇ‹ •˜9qQÊòË?;ó[d£àJ6XðëEL9M–£±Ø”+h_ð öwa°ÖÀYâ´` r62¯Þ‡ö¼;Á Ÿ˜œãÙ¬kÂüªÈG$žâL*À9{…ŒÅúâxzdšºé¤ c{¶M\®Ýîkqž&-I‰ ÒÏyÙM:¢n?B/XX¥Kð²9!zuh½w•ZD¸ ì¶Hñ´æÒyÖ ù­ó½îM ZˆçA/Ý… èÔWêîœÄƒ1\œOR!vÏgOйµä¼Áˆ$©¥Zåg½ð‚ýa–»%¢¥} ÅðØ¿\UWÎÒDyψ¡­²$†ºùGñÜ={„4ÇtîzÁÞS£`å]êwá{o8ˆëŸÆ ˆýovmϲ¯ÚÏ |ƒ§ö`Më¸î8BŸEÉý±`ÖðÙE¥­?†H’ïfÐ>s&DaÉKÍ>Ýìíæ£Ž`6ã;/Ϋý`‡öœT+<]¶†Ys>qFÕIólL¹ñ`¸S愵})î´cSĽÒ`},+‚"t˜êÿ"FìnAÍ^Áèe„`ÀP"˜4¢ÞP"½”v¢Ê#Š·ì ö€…P3ÒA«î¹v±î Òp`Ä"y«ÔI×ÄCÈgqI û²yÛFD y/«9ë³$ÉdV¶¤Àl‹ŸjBœ*TæuFCŒcžìEU% `ãLFR^,‘)˜œ$OUꟼ¬PDèϺrAxë5‹u`J¦ó„dâ€]×ýJ- ÑБ—ÎâqÏ<äL9íël>-㔪+ L´Ak£Fµ~c÷²G Í…åVï¾Dpa’M——2œ1WVQÓÓK]¶vñXÀ¾ŽñuB`2H6Xbd³S§ý8¢š&ìGûZS;n?Ëzô"ÜœwÚƒ5(Á+ºàjv(Çõä9¸Èí0NˆŒ.õ þ9?‹-=¥»I‰5‚èy#1}Ç|‰²—|·†¾ßɬå?.þ9”çÈË£¦lH½q¸¥ 7À³ÿ82ŽS^T¹…7C\1Äœ‰€ÃŽÚ¥5žOJ:ƒ ÒÑeÿFÌmÂA¦¥ÆÂ’žW%JI?!vÕåÀPr¦1TžÇq³„RùY"TtçìBŸ-GL¬ÿóøøŽmúíc ‚ú=j&R’„L¿Ì¸j?XÝjÞóý .¤ÒevÛR`> 9ÌŽÝ”¹¦n¿"ªcŸ9òš.o'íøˆÞ"ƾõk`!å[C/-íØ>Qðc­÷²ý§Õ˜+AˆÙ׿]Tª5€™Ø¢Û¯EW’žlefgO¶÷ˆr¥|ÑÉåCö ©F’°K å7B!»¿ÎòÓ[0“ÊDÌ„!ŸÀ‰â Àx­à›p%7‡f¨¹†é=ùBEýeo}”hŸýóGHò_“¬ö,`º—dyÔ>—™˜˜`ó´ rÜE±õ0Ú<Ä#–“ª;ž-òÙ­I8‰mÇ(¦²my'ÑWQb»O(˜¥v”š+ìd'QuG"@}„ѳ&¶n­m£¸cW'Q(QùÚ ïµ×uFŽ+¢ÛÓ5µgúžÍÊ'­8ƒŽ:¼U¸`%(&%¬GìÄ_ñ.e[Ò;­#¬ÛWpx.¤%ܵëx}Ÿ‹ "“vbwƒcÿ,ì¼%®êÝ‚ve€ìI·TÏ„Ýh²¶~¸\Ž?¼j> ÖL°…s’Œ´™¼¾1Ÿ! ”°†Ñ•úÀËoä éX„ê"cÜÃl<®>©sšá„à¸OàÛ"{=°IYµzo¥‰œÅ6/ÛÍ9Ûüîûp$@Z}ÉñQ£'`Œ_&ah¤þèn É»ö§¹ïZÏ¿Ûðñ£¤@Á_~î&éGº ó.w>¦Äöãö¹•?ƒ} –ÓžÙ•Sç0~÷¾h!íÀ†U¼°T+ª …Š ªæ . ńճ r2x›i‹¨Ñ¦“ǽ PŒÞÙ¸0Äÿ é õ+$ˆxS;_xI+œ$ê.P)`ŒËgµ˜ôU¥ò¦Tlê‹=¤ à h7d ; +!¨u†\ëýDzEA¾÷ºÏwÑ`ö)I"ã@Ò?ý}ªsËdx1GËíÔP¥dÍáv'ͨ0ÞìÏîY<±=¸G„É uÀÞ7ÿSÄüw{hæ…ñ•G½&9Ø·E¼Cp’§ç!I Ž›ÝïÛü­CëÆ´×à\‡ŸÇ“ö˜“Ä.¶è]@Ô{È7&ÆÂ 33À¤)Ñ£°KÈG@Á$M·CöA “±AWˆßÁã¨Ô ØÏâÁ4ט?¼ ½8sBðÐH$ÛGN—rÿ]ëÕ˜ÖײÆ8ðsº‡¶ ÷.ö­D“‡„³¶#¶Qæjþ.Åâ)=‹B¸!8"Yð¶Eo“ÝØ—ÅSÊÁ°Ÿ[ØÂ0í‘R77°m.vT‡ß×n7WÙ·áuùBêñ‘æ"-•EòDrc ÒBnŠ*ãº65éÕ¿L†~ŸlÝ+îuEmòÂÓT¤õ«6[aB„ŒÅô„bH_ÎS›­ÿÓ6–Äç»®•T–óæ ™¿“úí!xù9;²i·×½®Dë2/õ¤„ ‰¸{w‡à›ó£5:3ã,r¶Ä'嘈-RœÊ½({±ÖÁáÏB^ß;XÿÛu!µ­¥=ö¾£œ«ï t1“d]"Z;<Ÿgá5˜õ›Ð¼(‹Dš Þ/ÂËÌŒàéÒÊuãï¹9tF㉺Àð63d!¢~ŸjÏìq4ÀΖ:œÃþ vŠÅRWì‘Õñ5÷Ôaˆ¦CPíuñ¦ÿ¢Ù:Ï£·¢ÎcDà…¸Þ8Ìfü€·Ü÷r£’í‰í1­r¤g– è‹S© ûR5‰M¹gă"¢^oìþm¾~jþ±*Êi=Ôy‡ž›Sâ¢ø¸5N'=>Ú§?“¼Šòô8#¾“¼_ÿâæ“‰@ÔþP×[G¿+óêå"½¿ˆœ8¥N™±µãL‡CLwËýFÆ[dS—;•ÖZFÜÁâ¢rª›]ØñFü÷¨mÙ㘿ý*L¥a„N0a_'Á 55žØá×ÙuŠ-f«Ç¸®D\î ô”„¥Ýz3®±~ZL;½kY’@Ã{•£—‘¡fuÿg“"ʦþíë_"òŠ•spdsܶ¹Š&k£)›í¢º—Ž¿»´ÚqSùõ …Æ@+˜Ênxá]ï-‡#"v q%'¸ù;\Ô ôlñM&ãÀQ bØ1 2§zÅÞ¨I'çå$€£ŒJo–KìYèF!±8ã±jûÎY v„»/Üùð³CÙI“ #´Ñ<³©÷$;2ãW`¸¿¤‘r¦ÙiÍȲ2$• {˜‡$›Ê˜ÁCÕÉ$aBÍ9FÃ\q- ! ñRÇ<Ç€íùuhÙsÏ÷wMÀ–*ý5žÈ_ú«÷vp¾‘í qöxD#Ö;ìUv'x´áàc7k—Weþ8÷q‘y>|Ï1æ„ Sˆy0ÆB­û1µ¸àÅ6M²7©ÀáZ¾¼ß‘·RºISqš†ëÖ’–Ý\>sÕ–çQB°¨ ®bUB€ÇL-j@€{ÑBÏN´gñ.y¹mª/iœ¹réžæH0N}ˆ*³QnÏT]¢®.vÙókbjP6¤„K¡ˆIGœÇ¸å´Hõ-¼‚³è°c„BäYW5Ò†®_\Æœ ÆS ôy¢'t°\#i¡ú±ßš;;Òz‘9Îþš- Öù>/pHìYui2.óÄ’ÚÁbï¨ÞÀh–ÆöšK‚H3ÂþH õ•ä8(ëÀõ³ÐËu%Uê IǨ`ó®6žŽ‚öGl³ªàÆÏ³&Ï¥5bn{Áì#ô¹³Ð‡fÛeórâ.Ü  :'XÿWxŠÙNìZA`f ˜døÅô­A*´¿2ZM³uRõ+Xˆp\Ɉ‹c5^•-Ó0“múΘŽ9î L·ÈöT]"‚kß·ewþñŸþ±ýkK÷TdžçæÛäÄ®Þ iIœR1¢Ýþ®9 ó úÎ ÿêŠuÈìgeGsH®B &TºÞÂ;⤟×0€à@äíLÙ¥ u‘ÆýŒ‰O]z)¼óÔíœý«Û²HU;^Ú±5ƈ3ç§~8‰àßqén_’*´pT’R*†*ö9/ ZÝœè}”®N  ×r6À,uïÞ\†>(÷îu†ó2)lž_Dsª‹4|جúa Nr0î¿ážTw€ƒ¤ËlNÞÕºiE\ˆÀ&ùf·Á]!£f %ÂV!õv$ iàì’`ákˆ(HV™JÃ,à =p¤xy$_ðkasÃ1³´^?úÕ‚À Îë iÃx®8b’^Üñ‹ß˜1GÒäI ¾i˜L^¥ºFjéí£ò×E¡w­$–ïµZ`G-“¼;n™ %mÖ¯9çìaÞy°iNíOè/:¡òœÞ=qÌ™ðºK؉ßÛsÿ—*Gt».-á,›ÿ±æEª]–è¹Ó÷¬)"I³žs(ñ’H«'jÁ”a~ÓôY$ÛG!x´É¾§r X®yb"H5gr“¼Yjå¹ÖN>1H§¦¨ l ú]üŠÁL@‡:ž ë3œd ˆ’¤œ§ê´Vó˜kmÛZÙ=Øb…ŽÖÕKñ‡×|r´… l³u†Å²&¥^¨Žž 6í5¢d¶g’1€¶Ïh[Ç`‚y ¢E©È`wg0©ºÚÇÖ¥«ýSÌ‚Hä½ïþQîüK»l)ñÍQ`&.öÚ͘ï@SÊá $. “^ëƒlµz1’p[[DòV!ÌŒÕhnDÈ–ÜíñáákÅQüJVDLœäáyõWi‡íWïØ¤*r£ªýLFî]ço¢”‰~ìÙIȸO«â]PXÖ ³Ý×M,aÄUë)l8} SX+{^´£gv&¦ðÖ¨2 Ó¬Wÿ×ÿþ¿ü‡Òpù½¥ã"ÅÂÐJ½.®4Žƒ†VÈ–#=MsZXˆXårã°K¨hªØò.²HKÎó Yþð°Ž÷Bz±R¾—Ù13 <Ó†´„£"Í2„Îõ€r<ú$rêbq±¤±³-z¿P©sZ•©«F#)yÚ¢¼XÒ|yñA ±#RšÇ‹™0ƒKiœ)á‘ à kaRŒKCê­Mµß—iAá³~XSø°§Žnvb{]hiD|£Ý/ÜA+ù£Ÿ5È-î–``‹Ëî‘…cPŽ·¤RአIʬN²±ìS±Àð÷ÍQ‰ð ”ÅIÛ8Óq[÷׉<¦^E5¼»YÍ×ë…hŒÌ’’©DR'ŽSÙg4bÖLðô»T.ízݤ”„Q7é¶Ý‘2ýw—Ä"b!LxÄàz½\ÕÒáªØÐKÕ³fñµ0Ç[sñ ÛvDH yžIJöÙ âl"ñß|A¬ß“Œ©T #ÖAò‘hPø%©¦F2&±" ŒbRÀõ0Gc¬ˆ£™ oA‹šS-‚({ ‰¢C85Ç´–S0 É­/9 &÷«ŽqæIó;E)˜B1-ÍÁ6Þ.qŒ• f¦õZTb#Ø1`ˆÁIüu‹o´T'±9PŸ™7:ÍÔØbqYèåaY!š 0°á…Øl ZW-²±Øg0]àqK-"ZŒ„qÃrÿþ’ä!†™þkí(8ŠPÝ÷×’ ˆÃDC馢۬SFKC„„ÜSñB3‹HA)1W s<®‰ ×Ç£‡¹ñÔå&j⫼­„zÏöe  vܸ-Î`/Ø ÷âùå÷ß[¦5¹(=7†ÌF¼íù…â 9©Õ;AC†fçñÀç%#ä$û34Âk¡¤Öœ¤ý…’’ ­0µ– ¨l¹–Ztþk™„㮜ý@3bŒàzŸö@IDAT›£ñ5Æ 9ó„5 'f¨"…«ìÂ=jDv~d¢ýF(R ¡ŒÕ£cB ZWNJ! {ȹ¯»Mˆ„+õ/‘ø‡@HU[ùÑ\êÁzíJBx¯…òÃñ.whöªR'·h ¡…îI-5€Ga Ð@28A”¡åÊÍ‹î³O§C(l…3»ì3ûôfâ$PŠ€8¨¿+vã6 €¹WGùA@ Xöøü‡hˆ¤Fªm„·–G˜ÎDŒëâ~HD%ÔCã F¡Kà¿wäǾ¨]*t¡ý™§"åDyLZH bª1!ÛD ecˆ¥‘²¦à+‚í³€?˜"émR¨æ!ÛëkXâ꣈½ÓaÙDs2Ö‚ä½sáÐS y8.úo∣LI;ÎÞic[™ì üîžîJ"†ð›€¹Jœö‰aH¤@R“<ÚÖíгÀXì_ÕÆ?*¹úñèžEòÎdàܘàAh0ŸTCÏ̳ö-¬# ¦ZýBÕt¦Åeª¾¯B#¸ø o¼ùwšpÀ‚Æè"x|G|áj©ÉæAïMy@ òþ˜„ì}{|J#¨‘Dî&1î ’Ê)·!­ú­Ýíëâê¾Ð>VK Å Li&:î± Ôhl¶ƒpÈÂ" ä㔥ó0VÏ+¹W Ààñ“IDäm»ãöƨÜ:}öb£ëXÔ É(E†£I…Ï$ýȽ¿¨žŽn˜#Óò¥Ø2b†TàëÓ_-,$\'w[?båílNB# %ZB2T$¦´vÍvü°À*bôGY ­ÏÁJÅý—ÏPŒÜ*GB몿{¡³‘¤ñ¬wfM¸iÙ[µéK=íQ(åD´ýs’«u¼“üæßá8ṳq[ŽÀ‹@àt OßÿøgD˜=Á%jš“Φji¬>»wQeóÿ][sfºlMæ Ïþ#áuëNá@“õ?[xŽIã-¡Lï=úÑÚÜZ'³c÷þJµ' ¼-¯ðy»Få9#rök1±Æ8e%>mÄaáÔ‘J›ew¼FÌ\ð4@RåRœR%]5+m§#X¹Jœç×p7.såØdÒ•€ÙÜ3$)IµeºÒK¸#"ß°¸¥T#àëüeól!)ÈÙ …{‚Ÿ©EY±ºyèxüÜ"Â#e¡l˜ÞQ¡¼ ʳúLhDnÖ(Rö©s7 ŽDI\¯çYòwŠ-ú¸éÄš2þ6‘äÊ놸Ա ¤7ß"Þ‹ˆõªóÊ»¥Ê:XH›©Ù㎽¦ ¶Vay÷¯]°sS­æ[và^¦Éœ¡O;ö>BrùÎÂmÙ³;{£:iDÑ8ìÇ × B!;8M¤#À~ÍY½f䬲'wT3éê“[ãïRëBUÕ‘FñmUÛ0k·]ÍÃJeGÌ[As´Äðd–·S…|¢ø9uˆ[²­»í!6¦¢"Âæâ ùBÍ*dÃh@)—éÀtv£ÎQO¯5gì?ê›*ÓL‘MrTœ‹¶'¿DˆRpSg‡,ßIªËˆ1ˆg¡’ìA¶‡ßÌ£ž¤¯HÒ‹$­Ö¾¨»å& íô\ÌóÚ16Þî]\Œ²µ­,áG#Ô*SHM±Ñ Ù8`Ðú—k¯ºÅÉ3pÆí~•`Á jÈýåñ“,ïhç?wàŠÔž$ ®6Ez/%š:£â„Ï®¿"2 $˜!GÌR‚NëÞ&iO“9Åö!AÍIk­N­ýÌkç$ºŽáº‹j¾ˤ²QÜ`±½»nOßùŽM :BÞ¢ ¼_…ÀBqJëÄ!^ˆºcÆÚBüQ‚a÷éé«Ç ¦ª”MdFÚüót©;ȶ¸d\ÄÓ¦¢z¸%ÏC˜êޕӇ»¾»I;ÅÅc]Ùu‘öQ=¼Óÿ-Rrš-°ˆ|Þ–<¢nï‰ §ÛTÐú÷¦³—Ÿ XTUËûä¤CÌCÂ@hˆPÒÐÛÇ*—†d>éB•ƒ9 "þBI¢p/ `òô‚õ:WavR„QÝbÔ$Ns|O2ŒX[3#ÞÙŒÄyDÀ¤sR?”S΄!Í…©0Dã,tÓ§.ƒ\ÅPNóœüt îàzJ™²Lifïñ¥0óÂþá϶{ÓõNÏ´ ¦Ãà^ZÝ´ÂŽG4ž"UMây‘ø’”a„ÂÙË<‘¬è¹ëûð¡Z&ÂzMRÛc;Ý:"’ßþù_þ§ïæ}Vî« q$áÛýÏ¿]æ êV‘.αªpA.¬´½5Y Ù“n­âaâH$†Ø1 ‰$)†;IPa‹|å-gG^ºp7,»`ö[›»¤7?”§RHÚž ÆXRxàëß;å_éx„‘^Eu9+Ù½¾3ž¡¯ú¼›maœž‘g|PJçAõ¶ÉÞ|Îdàj™RŠ ó½9™Ë3‡YLpŸ4 <ì}ã­š£ï9.í¡Ò[ÕÊÚÙ¾¡)ÛTjU(ˆ‰Ãar ^ÓGg›o]³…ˆún¶sëcç!^؉ þ‡œ¤™|M’!>uq>ÑqÖÞ¼}Ü«”ª}ÀIlN•jNÇV×@©q1£;Bà°'ù™Z+rèuíšI·›Æd¶ ™¡ŒØ•‹ßö³I1B° NÓ‰CcFyk‰<ö¹À¹WNiUÏ´¦{ÎPKN ¾®~×ö™Jjž0Û‰*9±Kc“*I½Ÿýœþè³½ ˆï ªHüLþwR?X`¥Yš”‹uÙb\íû]<®OL4¦fø·ŽÝ\YlŒöØyÙó"æxaFa–GD­ •ä|AäE}TžšÖèö¡lתF¼ŸÖÚÔÍ&k€Ïp¢ó?ë„jšŽ§«ˆ§7Ü$@vÕW „‰ éë?@œVpÂçöë…„1=b"`ïHNì¤9é÷Å,üsÖheï~ÿöOë<›vý(+âswç›å Ï4Žð—|;9<µ {¡¼ é´E*Ã'-d½n¤WC8“& *Bàº/& Ç ÞÉ" ø¤ýÓ*ì»T6MàzAë~ ‰Ix{Ð=A%’s:zèâ1½Tå.2ðÒ0 u¹~"Áë´ÛÏ&!"ƒ ÒvªÅ“+K ·ˆþ7I â9•ü¼ A$Ëâxƒ“"0ÕÐÆˆÃ*N• †6KÒ…šŒ£šË‰þ~èï‘BM¾MÜr@¬*ªÕªƒ4Ûáô_qE«jˆÆi«ìk8nïg6U2»£µ¹*kôÒ8;”ÏQê¿(%˜6G¦*X¾égûd¼k<ÎPg¨ÎH•|Ñ*;ØgTš€/§@£¢õ1Ïô‹g{”¾r©·^3?ÿÚØìOŽÁ}ÿª(–…¹¯‡Ö%ë £ `!"74½gÚÌŽŠÀü‹YÁCQ×aj!Ÿ5¿l£RËÛ¯ªhpñ±e°ëW îý¨±fïËÛR ¤»^~BNIÉUË ºáÏûá°}/z· &›¦x™ÊÆLþˆ(ƒGqS}ˆþªx¶¦XÄi’€$‰h”¸#nG7N”˨GH³•yn½Ç¡´ˆs¾6iSÛ^›G¸ü¡– ˆ—}9î&1š‹úô™ C{Œ[I¸™(Åqºˆž“´Íëݧž‰ø±©ìå”ÛôÖÙÚVËØ>¨¡æ9)„j;WÕÞúødGBJÎŽÛ2¯G0‡ÃF„=D;¬8³W¡’gκÜ%ÞÉ÷:'ÆÚM0ùX›cRSÑBR3"ü㟫|TŽJ Á„9™ áœìÚv%G®#N_^3btÙß¼Gž­ÂÂ4Tƒ¶Ï¤_oŽøÂ€8¨dQ*m)°<<ês+iÖ­oظ˜³9e§$ ìÛ!&šCËÜé²M˜=ÕRy}nœÁqgøÆì3sŽn˜kKºÓhE”þÍS¶ƒÐ0z³‡z ¤[H MJ¡f`´Øq=NéÉm~9ݸ¶7’8=‚׊¿O^3ì_«òmT.‰{IŽäøž¢Åçò‘bhs‚šz·µ`¡!\ùü#w?ÕCr(†T‰2»‡Üïy¶{O|Îæ?K’[/RïÞäóŸq3é âšÛsjˆ#°4XƒÊNpPì…ã¬Õ¼]Ƙ2;3 ^!»eÔz®}f'ÑÍö‡˜T¤ÌõXkå´%¥¿]倡 oíÔÎXæ„ ±³U×û%|ÐÊšH°^îoc÷ é7õJ#Þ~wgGË:ðh¿o½¾ÃÃìû¾dnÍæml’Xx!Ëc»¹JUͯµ¥Ó$¼YÝ$Ð 0÷œøË¬YÚ±y85‡i=1SÐ!¨ó…«Â/¯™½TÁ•¿Œ8Dñ£ó•ÀËzà<“;ɸ62ä]R#pRCm6‰wWÔ;èÇ}ß&Õ^Tö’Q’õ¤^leE`QŠÙá¤@º…ÎîjaÔ’| žT °;™FŠüqW?SéÂ*‹KXÒQðöZ¡eã’Ìn¸TÅœ¸C1²õŦ6æ¹%-õ4D„ršlKͧ¶›céÂ$) €Ù8( 5OOÈhyâ¾Ér F­¥õ/©l­- ­S}J³¢æ§»síštEœ¡Ã¥jïþIý5IŒ4µ¼ÌÏü`Þ ÖLŒè„oÄÔ¾v̾Âw¶rÒ3g!¸ŒÐ»ë¸Ú,s™Ù–[Ó$cDÿðïQ¦CR‰P¤2ƒüBq¼dECwšä³ðw•î1¬‹YF¼>» ^y\ÙÙ5èwBíVPº5¤š#²ÔÞsª’ôC(ŒPêHVÛ… m´—óê_ Hmz=\Ï(\àÿãsç•®‹?ù jcDçp}¶|%nOªƒ×êÌ3걏ȿ`! ó« $Δæ'Æ›¬e÷7@Œ0­9Iã]›¿Gˆ­9Íòµ+HQš¢?Ôyû‰a­ÄŒDý,8EÒ\æ=¥Mí5ÕÓÓ¼bµ;7²‰›7&¶ˆÇN¥Í)‰àì_- Eò›¼oÁvž»ß½‹Øú_„$¸ÌQø¬–vBqênp/òО¶ïö/.¯.„#( äò¶8ž¬Šjp¬ƒù´Hïž´bÒ°5ðÚgÆ ž?øjœž[!ç©OlSý æÁ¾xêzJßÛ{[cÙÛ:¤öïòÔoÇ©‹E <&Þû2`ÂÑÎÆa2ô¾ëNOa§¤*Ø**O¢8¥K“•‰cQ¿€ôK¾¬õ&•#ÏìûG/¿œE¶!F¬³úæý¦yOxé}ïá°ˆºçcã‰ôäC{‰³y|1âQT·gª ÉÙ>œ¢§¤ªÎRo­…™ÐCMSäú>ÔÆC#K$ØÅÈ&Yì"·ÞÖDu ­¸Ú–øS'(®¨¬E"PiÎB¸7`c—=¨-‡° I±D@ÈÓ†ÄWm,æ:—$B¨mž4R!DµÕà3‡)p ÜoLSZ´»íœ[N/’‘C4FKJïxAïí*`Ìöd{Îü2^lûÆ$}WæI+<@¤I¶È-DK˜<"] ‘°hŽ… bøá€Xä<ðþèÿÚ{—¸Aà7t"E!Ä"o ØZpá|‹¹®rÄ™ ‰lïõIª ïÚ¤ Bg8È6Ë Þ9Žª„Rx¥ öÉý«>ð%b}ïxß:–Ú1‚LÕ·€©œÌ¶ ÄmRý™LF?£ŒˆâI¾"†(ï4”<Ž©p.œî¹žbØ 5;[¤¼·Œ‹öqª¤U*;2©’dÑ5L‰Ñ<½ÕÍëÍL÷» ލñ;W¿²wG)!:¸¶¶kLå6LDœö}c¦*[bëìýÖ½˜§rÌÚ*‰S@°Ô•ÊgÙª—`CA¦ûíd ¤J_£ÎQN´ççâ…­Ëé?v§ûî»n‹“¸b„´¿µ±Ý×…Ó8"Á…™"¬²~©ðÏLMCÛÀÖ%UÙôóŽÛÞ›vš6Š 7w ÍÀ0îýU¶¸‚•h`Zq3¸_VÛ0({ÏÕªW^ÐÙ_â„$R È™hÓKa…àyÒ¨¢…‹'õzÜœÍ!/4CÇBR†( “w;î5xQæ¤Xð™´{.i=SûÖ»13°yHRÝrÚx›j³B.?“Ê¥>Pjb¤“”ÖPêŽé@½rX¹¤„x]K’Í)ýˆô] qó½+ë!¼uö‹¤ŒIG„{3¼kôĶJPÓMBTk fLÒ¹kmAÝ'ÂQ1=|*.êÉuþêê°¡¶Öe1ú~Ç!“&“_­á”Ä%\"¡¡¥³âüËQ¤yÝ?;}œNÕD; #~Œ€0*IkÁsj5æ ÎCgûD 4Êç–:Æ›3Nà;Y8¸ñdæv'¹û~Çh¥‹èå»T1}N\’RajëpÎê¹âº(©½~Z#&¢]ÕïRr-`MÎCŒ…3êI¸IÂ$×yϺ¿¿+rؼUäF¨b‚ qÄíWÙp=Ô¢›g¾dǰ/·7 )§"'»QCkï°£˜QÁ¤/`ÀEåpËï]U<=Â!ÆxŒÆƒkê+fÚÝ!®m5&;¦¹h…T¥kÌv6%ñ>Ä4¿ø'D »Ð¼YgSÎÝIÓ&ç!Cüê(ÛûNÉ‘Šùm ¤&ä2¤Æ4Þ]0ߣÆÆ¢?2ðÇÐÁGj“™õÙI– n¾V ÿ!ê84w­QøKŽ»)QP¨ÝÇ …¦xPWß·&=þÌÿ%<ɬ°íUf‡½)¦« Zƒp:U4n[3GH@·Ù‹Œ|¢;‘Ë{tÕHÜJö§$d|R]ì+ÅŸÊy¨@yd$BõDí*¥Cº‰ú%•¢Å­QŸF#yÝ¥´.K…Í„Ãh!Lšë2“Œ§›UìWò@-Ø»Ì!kÜåö^ ™…FÊߎ0pHRÄì«—Þkêå³TÉ?²]y}Rz®xh5=âGò`dJ¥ûN¦é7ƒÁ C¶c‘ý»ïÁ9âFàKÈÛ÷Š~FíiÈês]~þü3æ šD1%ÙÑQ’Jf½³/Êôún“²¸1‰ùC¦Ï£f‹Qq#ÂNeÕJ¢]ÞeóeßéU¨xÁ…7L-öîuºT†Å=uì׿ÿû_åèݾ—RÕß…)ssMð’ÞϽ·y±÷R®ð¬ W¶C1º´†šÐ~Ô‘"H%^ýŸÿÛÿüT½ÄB>$¶µ,ß}g³1M@x¯àg«ïëã&:¶ÀÃ4vâž·0¨–¾ñ‘ZæPž¿,E ã±N%¥x•tñ²<3 uRíÍÉœÆÁ‰?EP'Z¸Æ\ãÄ>Z ,J"À¹Â3Tƒp„½¬+B?ÌëyùTN&´\Fù·¹ýÇYX„€ƒ1;M¨Ú±}vÐ2' —;Þ¹¸Z{"…—wkT·‚û`Þ}M]Gp>ÓÞD§ŠLÏ’nÑȈlA UZÓ}„¤I(âõfËQ麣â@G¼ï\¯˜'Go­ÑÀ²WÚllÅQì*=lÂN fø‘Vh/j2{x0S\*ÈNK°D–v#hÏ~׺¤u§–¶TºÅäbÊ #õ”':ƒƒ%=oí¦žUÃFU;ž×B¤z¨B]’ZYŸÈ‹Öž+è K¯8ÛJ-@Û÷T×?²›JhÒà¾q2•³g"b14ê‘Q-/Œ[_Cl§&„,ÓûJ›ˆ|¿3ü1…˜Ù“çG·ÐžÑ‘KßÜfÝ sšÅ¾Bx«âw YNQŠG[ŸýO½·c/›º÷.©ñ'K)µóÜz£‹Å9ÀìZßš‘ãóôiïêçÒH-9eÖv‚Q0çÞß)³öƒpvj§•I4´q»’bª`²‚Õí0ŠÈ~!Ùl×YlpózŸX7»Ô<«®±·þ“ËFzGqê¥[“”ДláJf£ köìÇö:‰N`µÖ/¿ÿ1›òç*§|D0˜2y¨t´ ¶»ã¨SÆæ¦  ·ÆCTýŽ›ÔlB¼;R…ªs– Ù3Ôî‘Öb2ª[MH Ó)äóI$­"HôojIÍy0¤Zf0qª¥mb[ZTyî)ÑGp­1ô¯¨ýKܧ¨qLuÍÉ€m,åßì¢H%ŒaÙ–Œfa'sÆÚ‹'‡ ÀÎx‘÷’»SvÁM‹UÖ&/,Vvì¢È¦}Û+†–àw€j#m=HDÉÔé¡Á楰 ø Qb¢i† ÕšÚG¡-™£ëú²L-|Q† Ä…T0ÁœŸ`g.·!­{p̉xÖI’" å܃ƒÂYëÑ •Ù«)Ì“fj¨Æ~ìmàBm²±PO¸lÿL‚‡]Z·Jkk¿È\[ÅN£bZ ˆ°z4gLéû ÊÛUÈ;… Ïã‘ÔÜs@u¨ Ù3l2ñC ív­Æ•v@Þï™è-nK²FdÆã±ZIëtÙ  ¤ñ¿£“=ƒàH:œšÂH-OÏ! €n"¶b••gQcì³Ù\¤Xk˜DÉódÿ À–>¦ íFeØ4Šš‡G„û=p’¤î»Åû×z{ó¹çú¸¨þ-eF z’ã!BešèýW¼ßÞ*cʰçY‚9ÉH•=Å(K&ç©ÆlŸ—úqŠØ`Jɬ!/.„öÜÂáå-)ÒbòêIÙûÔ¢7b`Ö—§ªDMØG=àpÝ0L“/1u¾²xðîìÇÔ{x¹ÿò}&Æn‡j]’L-LIÜ;Ê@@¡—`¢èd‘†rGú ±Ñ€ Ï*k>°ù8L*ÞøÖ9bâ1aCT™y И-uÓƒÍcšzA<€2QF„øAp<<!!97Œs±˜âˆ[ŸÕ ’-Щ¶#ìâĺ’òÞCÜŒs6§˜˜ ’·êÈè.†º@¶®¤ $"àÓ&bÔÖÏeW¶ê‹‘žRö#}ßArx*ÖS탤;Ò…ÔG¼í4'Þâð,þÁlÕ/íü#"[(¥9©Öè×B#º0B² ‡š¬‡úÔ­9Ü~TF ácŽCÄ 8@‰Üu&—3› Æ_ë÷/p ÓBh†Ž91„î¥BM‹’ *Öcr}™.°#<Êž¸KáÅ)tÍÌêgpmA[x#éÖÙ+¦:v©ýµ×ˆ{Ž^sÍ ÇÖ¯kHþ¾V¸œwî±3Åê&”Ö<¦ ²ËTÞ®+}¸'‘Ä—q_kɑа$Ü‚¤mœíƈº§"ìÊéS½¼Ÿ©²ˆØH)bqåðm.\ŒpÊáa ÀÜøÙ’l9!U¹«wÆpj6%Ñ’,ÆUÊNÔö©€ëTBÜŠc…K–xoLë"‘nXt¡µ 8oLY¦”qy‰“b=iH‡mìFŠ0x–œœ‡¤[¤òì˜/-³ò&ç^Ý^y×Å|·12knÇ"b¥hrÍ;àÎ9( ˆ¾\nLsN6މØZ͵]Œk‚.XyÓv$˜hŽ)^“DÞoÐæ;ðœÃqadæ|¬uH{âĀ܈` ËÀ´ÊpGÈ t„ÈX"5®CªðÏc’>bïFÒ«ø©ÞÏÜ÷ó3Øþò¢uT›† —\güDah­«I‹Ñ4ۀߔ­ð™¥êˆàµñ !¤‹ hÆêÒVÈMÄ6à=‘ŠÞ€šƒš2†. “.„– hz¿ïW0êg&òAÀObÇ4$" eŒGI žz䀚j„n_¤ëGHƱ‚ÆG$ªP¿ö6/àx¹Xa 1[s¾åx­b_#šCá.ܲŸ³sZã…HȹÛyŽ1¯þâ‘`îÌ¢L~özDÒíiž&Œd—’„`Åžš¹ ¨t=y"vë‘!:¸Æ~ç/*eû÷iÃÖK"!ÁèÙ”i­‡‚Å‚ÕÂOŸ&¸(gá>ü‹jØ—ð€ù™`…±C]Àë‹$$©©6‘2¿vƒ±C«“€ljG:ôïüL­&æÆêdY"z)µÆH”ó’äKï¾Å­L¼‰1 X&Zß“@ÙzúgÅ©Ô%» ‚©»sÖ4D ˆˆÕ¢~a;ä´€hyRD \ÿE ŠÏ‘l;lÍ(%bÊD°“þìæ£ÆwþRel3ßž óQ Â@v¿3¤:IÑ^<Ç`G0B¸O‘UAåÙ'ûç3t¤Öoáœ<›ËÎ<ôBü%uReˆ™´WŠþÀã9Gl!ÀÏ;'ÓóàÇæsTSÚ°íná pš4ês¥õªÿm];TßêO9\ðÁOiЧž—›ü=á—ðÔ~©Â9ƒMrG%÷.Õh='ëà ©ÌåÃnbsÊ–Y¯8 S‡7|—)t_ÁBxn[è*â¤íÍ>MdÆÆwwñ—±ÈaŸ@C 3Q¯ôoN95õg´ï€uƒ´¿Ôdâ9¢œÄic»^Ê—øXMêúT10Ái·+½Ç}â\®G¤m|ËšÍÇÞ:Þ1‰IÝêÁˆ‚Óì9Ä»º#°«œFœ¢ôŽ’k¸€HT½]^³çš8Œ!À8·¹´™Ús@»=úÜù†÷•)I¾\“]TÑ‹3S4°žÕ­Ä É"ðØqöeb#:!bÍxtGí½]ØÞIÚ7ž½›Dü©þ¯ç[æ$€öºLžïǰ4ÄÎBÛU°ª8jϬ½Ë†£IψÚ9Ü‹„…Š:OåÑÏýh™$e*4X\·±ûv̤ll&Bðza‹‘ŒL¤Ešœ=-»4Æí]ŸÔuœ …í®1q|˜–+Þo¢BWœ(`êQM5SAî¯"äNÅõTTɇôQ{ ðs˜ù{¹¢x§Îp­r¬sB@kŽ`2”¥ìˆ^òF#êV $±âgwµg[„D½…)Œò 9%s*’ÂÖֆΠ2â^\ª,Dz`‡v¢²°ÓŽ6§4!‡j¥^¬­Hºr?¯Tá+Éü-£^!nIª4àõóò… ¤ÙÞÀMEï!Z ¸ºÃyá­#-¿u%=1ä$0ÁŸ#•”ÄxöÅIaD„›]H~µÀ>3žû40Â)ûjWX]t!Žu=¤f§ HÌæ#i0!ÇOPŸ„;ŒKMa:ŶÚgH}b0ö³$@2¢gÁNÒ@®‹¬ð3G³w#ú®JšÇÔëñN5˜x—®ÅŠQ‚qó2Œàz6aµûº¡Ñ(Ï?tF(8O„[,@úiÿA+`$©Ø#Q¾ÅùÃÛEÑ€+Bý™ÈI3®ø¹‹#‘Õw<>Ä`ÿkêS*Á‰5Dü^¹Ñu¡’;ý`ú]ÿ(×›‡ xFpmªµêœ@ÄO÷ÏGÍ5Î^ñiœõqYÌ©1Zðæçá­EZ„$ëa7þrB¦CŽú;Œ4&›äì §·œçĺÚÌsöÞu»C£=A¤>ɘiÝФ¨HëÍ8é¾H…3;–Goïn«gO®d]J½dÏ1¢æ~ulòKΚžÎ2T¤›ï9'Þgo5Aó ¥ & ìÀ<ØE(^`*=*nh)w©Bw8$D%’ÂΓk-¡·c„ ‚%ÉÝ Ã%‚}jO'ÄñG 5%Õ%&H;%NÊšŠH yùqèÎP‹ÑÜ»¶°ƒæDdÈ?"îìoH´E­+ã9b‹ƒ, ÈÙ“|¸ÛÏ‹&’UÄD)m0›¡ÿôqÙQÍÅ+¬/@Eüˆ¸"W ÇœÊá۲黴€83!IÔ;µ¼èÏ›e?ÎÕ²­£„ŒÌÎó‰•ÙÄu/HcR›Ã`.ž<¥+þI(-„QŠJOx$Íß~Ib@týeäŽf±½Ïr5GàPíâ§' ýJÆöcv[Å4¡æ¼²²õîöbëX_ª®÷œo¦5¨Ùˆé²=l oA’`S°k¨1qË®‰fG:czµk×PãØDÍnçmŒQÇÆS ‡9hG˜“´h‘¹Uñkkk¸4N‘W¹ó³ ñç=‘ÊZ©¤ r@j¿âj­ñt4î_Sæ,'ŠwÐÚ¿Áxá ŸTY®tÄèJ&bxGd÷Y"£Wl°I!4‚¦™R@!6äºn§gÓXñODVò®cˆRD¼#÷/æ÷Ë—BzGtÙ)Ä 71D„#–wÛÇÚª¡{mgeÜÄÁQ}A-kIR_56‚ÑO•Šb›ÝvêM%Œ+d' -3U¿Æš¸NuHR^ˆç©}[ë]×—5íò/´:æ@Ò®¨ž‰`dÛìž‹$ý‰¡I$?< Ӝқ§Y‚Zd[}¨¼‰Y®KÍ­užâRÚ%‰ÂbBÄÚ3<ÝÂÇ›}û9,œ3a”á7d,z@$"Ä`±ÎZ:¡ò’í©ò]1ì3Û¶ i:›÷NB‡ã™U0íÕï10ó„f‘:ýe.Ì$i>4é÷$ûò±¢nY '£èè½MµÍž 9ìÂ…R˜Ì›:k“Ö/ò}<¦¤d\Bb‘ª_‹íá¼È­ïY}ßäœMôÔÐ_ýX"½ÿ­=mãQcæš7è]côC«³ˆ5d±›–Z ±$*m¬š…óCš B’\[á÷÷‰€[n¾îßGvHÃ’ÀT+5º+ší2¦ –±¾y+v±æëàñ!¸Ñ.kÑþÂhÚ bhüÅ>#Úu×$ú:‘s“ñ9E) ’}«wìÞÙ˜Ôt°àöí;Ö1ÇËÊÇÞ _»QŠi±ê¡4E09u¤”=ƒ5¦Ÿ‘t´NÛΖ;*0÷žcÿ’M‹ ´¯…Çš[ßjÚeí…{_¡J–jƒ­HÚ[5â ž x÷!gõ.É{‘ô{égËÙE7w}@ÅŠSá$Ö·;íß„.¨6$DÍ}-ÉlÕÜê>œmC‚|zSæ9?¨!"’Ò¸ŽV FÞåEOµõu M´ÿÈ ÉÍ×FX»È Ú®ælÌ!i.¹T¶Jt7¤¢%]KÆÅ¡1f˜óöB°ÐŠ˜ÖRsNÕ Œ>ä!öŸåTSD„€¼•S5—=Rk<íW ”ÐÆ¹Ž &iû™úUOÈeŸah½fÔ9Ò»L”±›‹§)$ÃvZGŠ€Á´Ñ[cÛ¿úG¡šçˆXÒ¸¬ò[ Ý7æ(XóS0ƒ9Ü00X ‰øã{á¥[æ‘tböîòÕ–1Ö¨²õ°Q1ÛȘ4‰<8/ò…ÓÄ#ǼáduƒÖ\\aÛ› mÌ/)Àù˜æKÊ:ôí{ýS³8N"c"Mâöª`aÀ’#v&À¿s­£õõk±¸Q±wBb@cˆ›XÐpIšænNÁ94š?Lšp Ø>x¾ÿ^Bvw‘Ñâ$ð™ÆŠèû§'úÿOI• |ÇïÀ¦™¤´.}ç.Úìëc6uGÊ,>RX¢8³Ýo¿-c ¸.\©&cÜT ¹ì`Ð iS5¡¨5ÓTï¦tF,÷¤¯½6ÿŠ'"°`»m½÷ðµdÓõg—ù¤#R†|eMäÇ@ñgÍ6kÛvd@ÖçÜ#¼IyKQ»ž†ßKk±eõ_‘;ï©l¸ÎÕäÜiúã8¸¨Sœ}ÚwT5Ä˾´ç(C{ ˜NjMÙ<3÷oZhë¦4TFuWQÄËC$\­ì„]7HæVØJž­X!8D飅µÿC„KZ„÷ö})Xì‹0ÛþâÂþ¢`T«T]·‹òX’nGª'H>1 ±Tí–ê[\†H×>œ¤\ß™Æ'Ídœ $Ž„ ó æ8ÍÝ3ÎðÒ¨xµÓW²ÚeP­*L4°Ü9“€2¯Ëü©5(r`>Œë†ðˆ#" /«åSZdÏ«4 Nl››æc.®°r€•G1Q8¢-3ÿ—<Ê$º+ÆøÈií¦!’qâiŽÝ‡-þ/²¹I»løJªe$(1! 2uœ´7D Êééc9wê90EÈ>c…Én2:o‰'æzVÜ}ÑæyÔͰ 즥ÆD˜Ï1ÛzŽðœ?%ÙDc”ö–üžGk_ÌÍçëU˜$q »húcàc¿²¯0WAÖI¤žöˆ} Z«lÍ ¾†l5»Û£ÁVöŸ†X¥ žÊñ×ÖfÊ6ÏK‹0b>öïm°†åFn}‚ÁXsgu̓ǘÔ[råÿ!!œ^i‘Þ¹û½`}ïé: AÔØ5¸±1Gd`ð1!)¥É%ްÀQí‚QÛÇ‹§± …Š\ÉN•o÷À²C=Ë1P(0çìúl78ŽQx; Þü¼_-Å5…bv<åñ 3Ý2/•ۓŒɓ²L—i³~F€˜‚í‡1جÖ0Áqy%ÐO%õÃÑŠŠ{~¸°~r†gåüL“ÞWš…qÁpeZÑÂú⌮lÆ÷ß~üYZ0¸¢£¶!RhÛßþøoÿE½d$ÚãôâK"–#1Û¥¨±E¸˜¥fÄ÷¨¹~mÍ€m°Sa9M–´Ó×Yb_……Sùæòûi^Ù<#öØ©žž½Ø˜8È5òo¤[1&„*à©MíŠö]ã!‰Ó¢[o”ªÜñÉì™e|àqèI½eVPkê«í…´d»H3®2» âjÅ ²*Dd6NÆ¡…Fày†éCd»¡iD³Ì;Lâ¾ÊûoZÛ:Îf7{ܨ=¶.3À»ðNOÀâ‹·n¿LÊÎK+áîÂÃÊm»½* a[§Ô^ùŽ/´×  ÇÓ‡;’‚0`jAajÞ‘„ö¢³@›ƒg,æ©Æð>\z^1ªô£Í—®rÀ,’ûþ‘áF ›‰²XIøV~A.BVÔúßE®¬ºïJ»|¦jB ÜÆÞaÀaŒ¿ôB¿Œè.®ŽŠµaBkþuË "ê$©j`µs$™"Šö´¹´©¸ÎÎr©4ûr× ô%“€zÌ8- ZC’¿ÏúÛ÷Ö˜úíŽúLRðÍÇry•òh—€-l¢ñ8°Þ8óâí½v"R޽‹qêJ”šÛá,Ù†£kŽÇú ‹@hæœ=Ô|ŽŒú™´Ÿ×߈Kì1%³E©H¦ âumëNþ%íÅK{{È^;‘žcœK2dûG0ýí?D4ÿýÞ×uêç_Iñöh¯$þúÄsåN§'Î p‘öäÿ#Ä4ÅQé$ûaœ("Ø5Cï1„®˜.¢d&íl_jOVA‚®WÆM„Ç™t¹‘–„–¹9©Áz"u gTÐÀîê+ëE%G9,àì`wD±&’8uFdq©€&E5•™„1iò¯ çie ‰Wüª`rïo#Žd\ßEÀ©&R…Íg¼s64›¬÷”ÆSyñGŦ’ !WÚ-Píu6yt¡t/[Þ’3!JåDšÁáHA¸ð³?T•`,YyR?³•dD4"¢¶ÜíyÄ ˆ¼ST€×ÿ8"Xe^ˆl܇›bÎKó<ˆ²ˆË!œ7~nûiAˆ°ÏÕð '°SHG͔Ԩ1ºÛîÖµtXHWmJF€$ÉÒ­eTcØ×šs§Z‘€)$s8ìÑžÇ|̇4uâ/À¢Ö„F*³R¯€Ï‹eŸZÁ4IïCGXO¾—b˜«Îij}Ÿ™=à”‘.mù™k' и-{R©Õ…°§õk ¦ûd ÄgŽ,°¡1߯SŒêÛ11)O:)¢ˆÚ<a¶qÔžaÎö†ChqëUá'N[¦é’’*Õ€ÒºdÖvÔ´q1µµFA[šþÒª³7#æÂZQr»Z*.à!˜•Ò0xG¡qpÀµ0MqƒE*¹L@‹lI-} à Aqás†ùˆ áLÐãÉ;Äâ>Û%³ˆr/6c{Œöz®‡c ;÷Ðy×ßœ²oþImÜRC⎠š‹g’œI,’‰Ä‹âö—Ô:ÞêQ1K" hØ‹ˆ ÊÉ&9®UóôêL…¤½ŠRy6usW#¨3žÔdRã(–”“¾»-|"w½<÷âó ̽»¬Qû U¶¾Uuƒ*„g4:|M Ù€}bS½ìz÷1×ùŒ€lªÞI$D»µu¿ƒT‚F­oÐÆø»ýHö†Ü'õsíöú©Ì®6d‹K´B~ …صÆMiÓAä¢êûlšËt¼ë—”o£`ö @,ÚÎ!¤ÆitS#`¹IL-k•^]go®”*Û`Ç›Y¶Åõ¤öˆöžØW­Ç¢åÆóE@n±ì#+ªÁK F–ICïR!®5º&Ÿ*dØý$D £žZH“V©EÄPv’‹êiýKݵî©ÈfºËÓœ ³Xçëþ¯yù=B†¾Šøh¿¥˜Zë‘5!"GNÙ–ØG° .‚å*ºyˆ^†y ‘$ç=ë1¨bñ±fÿ»¬°f÷]W  Æ€xº£.X{T2Ö>WíZd¹ñZÓ¥˜ƒ"6ñL¦ŽRÿ…Úd¨’¤ÏOÁ5©ÿ\öFé™ö¼»9‰ˆ.8pBO«ZjÝ„ SÎ5µcþ¨K†5äƒd’D/Ôvïªt½‰žT£㊀Ʀ«QHÀ³ÀÐÚž!T]Ü2ãÒ•¤é…-úwvDH¥š¨…å e’ÙøQxë¹mØ¿s—ÄÑrl!ÕÐç21B $1¤JŸ³VùA|#ôIL„Ðó½ÇëµÒQ³}¢Ä©sýN\?û03€¡T²¬³.Ôï9pÔ8b–IÄ7‡*é‚T‡(¤áŽ S§z+»1ˆ $&èZSIwr—5÷ pz ’ÜThc†(!öìÖDU÷NÏÞö;3g®ÒJùÅ ®éŒ×3´| ö²%ã¡þ”oíùÇ?Ý\Ôú¨?¡šÔµ¸•¸‚­}E´ a1Òw’ª±÷}ã‰ Üæ%`# m% 5Ø Ëß®|Þˆ9ÇC†£Û´–ãßú÷Kú§®ú}¯¤íÛïÝ~Óþãêÿþ?þ×ÿ`°çØ ;ìC¾°ÁUņLÄV'HEñµT3Ð8™uêÆüf=p3ò¥'<âJøf«Í›W³Õ"‹QQ}¸mØóçÀQ°•BÓæ .3ô©zÒγøoUÍá«MƇ1Cs#|¸²ž¹m­ÆF°âyP€Ù¦4ä·óåÙ#ð0Çø ~|ž^iÞ×m.LEsˆ!"gp‚Aœb³î~ždôeϾ•ÂLÜœö*TÝKYÑûÙ$ÙêÿBD²« ¸ð7\4Ð&hç6Û¤WÝnLÈúó¢z¼u¬ÝåwEsz>½l6Ï‚¦Í.™&Õ¦žÀeêmÇ2c×ÀÉ·— cn¿’xL¼Ï&1µÐúp<õÌlÐS9ÞkÐB;³‘äÊ—ªbK¾†˜Mã³xÅ+0MBp"æT™ó×ø+6H_h#\¤Úîú™´‘¯½L]g„LÛxœÖƒ/b¶ßÌʦR³ÔXk0þb¦i’ܺˆBº”Ø:ÛÑê1#D7H©×kÑ‹0¬ž‘zŽ.’êë| ZVc$XJ÷aB9Z’X„b]ìÛ*¾û½»óºÖ5”Û¤YB‚&‘3¶.ÖÀeÑ ë£R¡“Ôç*v˜³ZVé’yl×ñ “ÎF iWÂ^Ñ9ß@IDATþˆ‚3Ñ2¢á à´ëƒBmtAMq³â8:yî¬B„ Xo¬ÈäP¶Iv1NäýA ¶.oËxd<¯P1„^vµc÷Ia¢¼è©y"´ˆi…ÈÍpEÂVÀ”Àä•2ÿ,:¡ºà‡aTÜÛ‹èB5]á®N< "ÚO •-àLŒûûl-B†¾Àwaĸ?À0J'êIÄ8cjÖZÌŽFØö1Ñ I}Ç6Yy{‹‹®’ªrœ¤ñ8Âó;aõŠo·ö©o èßΧ†(ùE’=Æ2>‰ô~Jz¨2šƒkÏûk<Í)G+#mÌ1I#D ;Äß”48!L‡¨×í3øEþýÅÏý<³åÂf*°Wû¿Æk¡Þ rVÑ-#aRܳñä•iVfßóœƒglÝ€…p¨±å.ð¨è¾ÛDÅó¼x&‚ ;Ô¾lä±ÚEKŠÅkóL9;xùRŸ‚þìFƒÙ"MiÞ/…8f¦þ…¾˜²Boì¶Ò*u¤=e d*Uûh¢žÛ!ú`FšƒÕ$tpY€:Ø>æpðh]7+_ï]Þ.Ƽ™5¢z.¨Lz>—]°Ól1Dð!õƒü^”®[aJsM¨j†0Ô¥ÔàÌ]o2—ŽLçCF u •Ú®•E1I()¥ˆ`%?M,E…sI+7ì@ž0éˆg=7‘À•‰û}M" 8u>u³UQAÚaKèÔt±˜X,"âÛx¾EäŒhÒ€tò/I«˜‚¤ÚÕtß$Á¤ï²óZ«ð’yÉ£…-ðE˜UòÀeh‰–rWéÚ9Ò¬ìYeaæŒ hCg'Ìãw©9‡‰Š¢"wN"„Orš‚šKš¢Ú8†ßb™ aÅèØS‚Ìó¯b`2M±o¡0}¦úW†Ç½LKƒ î´€¢‚LûU‰Â†nI#V„ŽH1ZX¬0˜b }ü$K ¥õòT<¯Øª³¡cJÝ'\žM`4zšPsŽÚÏ+xf'·£ÙKÛ!¿¸½ãÈ"nÐÉÁ p]¬·¸ŽÒµÐ$DÄÐAŠÇß7Ázâ…P’OHa=ùbqnmÖ~YiÔn¸Ê‚}K5>ÄôÂ` K™=ç}>`u¿\¹í†Žƒ[nN¤ß l@çŒèeWt1ŽÿúóïÔ.‘ßx=Ï>Šf" ¤Tˆi€~oï 1´ÉöW³w{ :Fë§ö4ïC $ÏÃlNëŽF¼ž-„{l<Î úé)Ÿõ‚|ï'Å05µ·s¸ PFã-EØ|­b¢qZÈ:(dnpN¦ÇÀý zªT¥bØ^sD¦]Š3Bû+™3‘„ÒÒíU¼7|;Î:‡#¸ïŠ‹Æ¡%ä¶gI`Üž'™Ù‡èMú2h%¹%dW™UÙF·ls­Å:í)ÌLX€}r !ì¸uë)çh£…“­¥Éû? Ò Ôîz,Ï÷û¼ÔU´@SQâpª¡'m" ª’Úl"\ùB$–”'ùF¬Í±>•ýð¯È:».¹ðÛ-#&b“%˜ q¤?Ðr@Ãk-áNŠê:ûæb•C(#²Ôvûñ—T¥þ¶{k]IУ°}IbÄbÍlL¦ bÙÒ^6×þÅí½E¥6O—Mkó &µ·ô|Òs7¶˜¢Ç”ƒ‰ÀdyV¶hëZKŒðsÖÛš‡èÆï}x: Ã^”A¸£òõʱf‰õü¡"΂˜ sßþ>üãZë§> °¶&©û·Ž6®òÌ[\Øš1ªeĦ«¦ Oóàg!­`ÃÁdFÑTSÉ$UBÆ Lµú$ŒéÛ¢mûŠ™yî~1—@nQmzÙ‘+ ý ˜}NrX,8Q¾´¤Gª©-tSó,%g¶ÞƒÁ¿6âjªÇýúŠº·˜ìˆÖ˜hgKÈ?®b£?4>$8(ÃyÌ›BW±÷k4JEÝõ,cš#AH{fP°¨„©DFê¶Žø&ÂH²‡4Ž ³ÁV"å e—ûôÜB1I›#5bâÖ<+3B¡EØÕTÕm½h¤êèK{ViýÔ‰8æÏ{cêÍó_ y±ñHj£ &'5 ¹`G-'08*à]tÍvtP‹”lðõxväÀÁ0 ˜ .²IþšæÉ£¦î9l{{𬠶è‰5Àí õ{æÂoïµ!N³X7g†îS—¹”lý]u«U ãl Q|úzŽH¢²uLbù}"ŸÔˆX—²i‚ n<Õòˈ*é€ìÀÛT .·÷,E—XßS×ø†—§Õ…0ïÙUz¤Xn¬òff¼÷¾MSsÔ²Ê ö ¦˜çŽØc qºpU -»fMBäÁ­Ínˆ;òÐb–HyzÏñ\C¶![=£OÛóÃ_çJ1HÁÑìRQçþûBøˆÍz¸œ¼?DÁHÇLºÃ<8’îï5õ|“?n|¿³“0—šÇÛ_mri •ÂÑNÄOPÌVK¨1L %iì»Ðbh_:†½4Ïý?»áiëáDEX JR“³/‰•D¡+lç˜?L¯:¡B9þ¹³2fΜ`¸Š¢¥¶&Ɇƒ+ÆÏºbÑZs[˜±‚¯ÔV×µXùÚ~‚/ñ]—¢mN›‡ÍB 48UJÂ.b›N`Ô2ÙFÒŽÿ¥&%šM!d:ûß¡72 ¿ Ðs[f¶œ`hã»ÀðV¾0H,•VHá¢`°S§6>C>“ÞC8À„`ûŽ#Wu›môòÚóþ@Ž@(ujBŸè ¸7‡"Õ$ÂöýˆÛ›*ëöÒ²o®Ý­VfÇ_gGíR˜öŽÃÅofeS¤dóìþd˜ N#h2¯¼ßÁwöYk Ó/>cFðŽ1žµªÿ«UF°VOó¬ýëÂG޳ãÁ‹ú¾ÝÏgóálÒÄD1ˆTجå ÐP6BZŸŸ`7†ñyìÅ(óòÅgö4ÞLøëÆò»£¥`§CÄkH ÷tãš¶é÷Áºg9 lið_x¦çþ¿žîD­‘#KÃp±C•Ûöã¹ÿ[œž¶«‚ùÞ?¡UÆ)32âì[œ4ôuJ MD„¼ÂMbû{‰öàÈ ¾0p“v ²ÜÿE€ÐÎX5M¥¾Å…–nŠÀ—õ ¨!iMº`u®$Ÿ­HŒ€R%Ôàì7ˆµ€ëz\j'ñã‚mÏ"™{.âhžÏž!Á_ÌÌì&ªë¦4¡Z5ìËñØI?bšHM=ǤBRfVè$æ H9n!?u¼® 0³ÍÓÚ–vkd¡Ÿ9wxOݳû®%±. ÝüÖ=ýCXýˆ@=×kÕœŽ[c„ªÖ>ìd߃ižÛ„ Hz©Áõ›É|ò›7:Ú÷‡ÃsH*ðT{¸­³î˜[àð h˜ý}S9˜qv û&8±í8‹ð@°`”þš Ο¬Œ~Ñ1\×Êu2ëÒrýѤ¤GE[iês,"¤ÁãETø!¼‹%aBìã'†ÖçIŠ&ŽàÙwé a‹žÝ=^ojzî9DDlÎÖ%â9$+®ìæ9.}ÇP›[„wHm^ø:µ&Ádxm€"l¤AWOÛ1 Y¯îì:2#Oöݤ bfÝÙÖNB˜ÊÚ6áždϽIÅR™Tèº5xNc[_øH¡!´Hµuë•.œ;Æ×8œ¨ŒAÞjöt¢Ú››ºÀIÄ3!”S÷Xd >˜²é5ó#Çl|[šóCÒT¥hÄ‚þÁ³óIä…CZ7ü‚·¹Âí!;>L.j¡h?B‚ÊòôfÚËœH9LÜ€£¥ž/xºÊ†RpÒ4qÕâPöÜfÿm{hÄ£€”¡"Š×éÄÅÙLW-hE wÛ~cÛ9w†F ¦pçF-[n•>ÆHÄQ{ ÂG„Ô‡î¢ pçsbp±‹Ÿ¤íù-A]c â÷¦ç¤Qºßk©ª póÜ)Fe(ÄP©CpQ¸ ;˜´&qÑnôÓFÊ“¤ò3³ÃÜWR öuV¨ª·û‚[Ÿ‹¡°I [s‰'z}ÎÛ_áÄ/Û"8+‚ÿ$1Àé?‡ã‚è¯kiÅsŸDìIvöìæþ„]H}ôAc-<Ã9˜ÑŽoö¨k$ ÷¿²÷¬æêd(pka“-2$8uÑ÷MºˆD:°sâÚ.†£Üì¾µýž-Î.þÇÇlö×€é©^­ÝâQ=÷°ƒ\BHü€9»¥ÙÜG”¿:ÔY€wmĺ&Úéç ÞÙt¡ôij;5ølã¼k9q¹ƒsÄÙ“×5>º× qR&î:ð&Qç6è¯ JkM5îñ| JcdKÚþ¸#0Z¶º>ÐÅ£:Z¶G–uV±|÷$Vƒàáda–Й¤ =ÛØbt6?€ÄmJ]×ZB‘¼=‡w<øjy½Áá2X ±ihɬwÎãbi…Û¤£®©-½›ÍÌDE°,ÁÖb㌪•â¬ò¢ÉR5T ­Î®ß*£ÕÌ}ðÑ©›“ ßÕZ·µäzŸJ9'uð@œDííÌs\*!8µÒ¼T•…‰´»nN©Ûg$$õ†xHg’së¢Y{PKa•?ªB=56³€ÐQ]-LN*2¦-yò£¸åmŽ•mº I&ÀP[‹¸¨×ös/?Š^^Ä1ÂL¤á*(Táøyå- M”Ãô¸ž[)—Pðí­^| 9ô0á ¢5SÂK7µV1@ªãÈ+G<ŒV Ž663€D‘êsX6Ä“¢Û–]yc“y ÎPúvAÅ$1˼=s‘K9¥N»Á¶Õ÷¢çÀ„@¥aR{ÙEo5PúÚ6Ù™ ÜC" „Ùtr2Öõ?&`2›½ØŸ« Ö< Ü @ôýáÌ5í!6y0`p¥cÐW½TÒí3ôÍ´g}yóŠqõÓSœj®(-[ƒØZ³ê^ˆëïƒ*“„´V¢Ͳ¶Ð-¼O²IŸÙ¡Áçðê̆=ż°á(Éo/ÿD¨5%¸É¶Wãx%Œl‘5Œ8§à¦Ah’Ñkÿ£¥h9sé@„ÉY ¸åQÅMs¾–Ÿ³IÐg£ti‚ÐØ-eF`ìଭõ TTA±"Ë€AI¸ÃÛ);O ±&“ãl••‡CTv¯c“HtŒºBœ!Þ6UI/'ÊqH:4v`[\CNÙÑykÝÛo%,ܱ‚ŽÎÂ?Q®v–ÓT^ÎÆê¶•á«Ö%B5Mæ²Ó؇kÔ÷ òfûýˆ)Ö=kßÅ…‘‘g,ûLáfþR‹; ¾õÌÌ rä/1ÝÖB¬K,õ£µ;`¨C`RŒ×äl±Õá‡)LÓÁY”@Ò 9#0%ÉßÅÁÛ ºß%òõÂGëfÕwÆC혆¦Øùo}öNèt­Â ±O;í?¡É„ž0Çœ>£riǵn‰Yg†$”Ha×SËÑcâïÑÄ*zäôü0r©A\†»&æ×§_l¸ `ü1j‰ìŠN`Ù›zcÓ ¥¸@DOë¹c\mÊžúkp¡R±q:¶)è8Žç$X0ª'qÑÙ¼B MªïJ×݈öi°ë=ÂìZFxœ“Ú!y¶‡( `ή?ÆM= ]÷©V6¡´"nžsÓ<'ZÏRH®hþˆãq>`ªìEÔŸ¢ƒ¯ñwlXs"­lö ªS[„jRH+®y¤›GïÅ)/pò¼yXÕ4U_£ŸÂ5l³ÅÜšÃR£a†”A8â¬ìOÂAWN ü³TäòÀˆUÛ\4Ó¼Óî­b*LÀÕÆ4' Ž` Ù[Ç‚ÈD ù#–ˆd½­Ó¹¾ç׿¤ ·ù %M‘*­Ÿ±sŽ£ÔJ®)¢5—¯ÃwîW,R€š­.°½nû™7»([Ë—sõOArðB¤‰¬®Á*¤Œ/²½z\PA| ¢q%mí³™¢f¥×Í[ø#¬7!^¤RÂ/Ù ²•SßÔQš3v@õ`"jŽ…½óp#0R”Ú ^§bŸ-7®kZT.Å6yôìdÝ<Å"ùhlrÏ!»Ù†¤.ìP;¢¡õì8ØÖ¼¼hóƒ$Ú ¡gg.™“}:0B$-uŒ™·7$D%¼Wˆ“‘­µ xL·N_©›«© ¤:Ãîiâƒ!"ZÙWÏD(6€wScqÞ‚[ÏÔ|Z£±® –æJ¢¬ËRk²O$:éÊ9þr÷2#‘I×6¡.‚¤{ÖÂìºv­XÒæùÔ¬n2 4ÉB>ñ&¿Þ<œ"ÅÄ;6ºŠa+vàŸABca:]88±L¾Ë`ž[þ¡em "Õ¨â£x3 pqªS„(4qnNJ<ÂTVÄÔà*i絆Ӡ[Œ††ë{b[ ä!ÆžÑCö^¹wºuã…SƒvV}ígXÑCRLfã¥9¸×bFmq —F•ïIZ^ä©®QëÑ’=_ÏF1_öfSÚœI )$D.}Å®A 0éµ§º,!ÏVíZ’¦2‡Ùz]³{$Ö#RËÐbÌIN!—¶.´ÑÚgGl㚨EåÚ%Öo%SÐã{mb©ì$I XÅ1 ”EóÈ-Üä² /XɱZ9Pê{µnæ‹Ð8µ¹Î¶e¸·¾¦]ßÚº-9ʵ²AIM€ãỎ“Âôð#ì1mAªõ¬{ÈhÈoÿ®#æ±Ö‹ÇÚÀ»”£2eHHÄWI91Ì ×wÏ9|*/έХJQÀ;ÍÕ…•zG˜~Œ+PÝ•á8œv‘¸ÞR©¢y±^'ûMú÷£V)Ì‹i3ώ饙žÊøóš[/mq—¦çó/µ7º‘{ß «‚å}¬Æ€*NfD3´E•ÚÁ ÓÁtÌûÍoš}‹+±ž8½@ é=câ—S HÌCZ½Y‹4’¡9mq#‚&{FtqÈ ™`ÑuQoâiZ*›íä÷>äAóŸ“6@Ù0N2°CÖ*ëÆ9voáû_¹~k¡†yOM I”¼+ш˜¸Bˆu3Àq¢~k׿€7 Ã\40 b‡Çp—#f÷D°¼q@£HjÅ®øÁßÍÙT›|×#Ò8®K-Lô6„F,8«y ,R›Ê[¦ËP™¶®EAÆv'Áen .+ ³–$î[i§Âf½“µ¸Á 1뛟Þ?S#º¯í¡³áØÖ=ƒ&âHÔö¹wŸ)‘3žõ®a@—ôô Ù¡:Œ‡¨©g„‰é¯{|7&O;Ù“ÃËæˆœÄi•ÀÀI¹|.ÏJ%!(À¡sßã^R ‘Å6¦(Ä”€^¢ÀÏBq›Ï¾—'‘dPfÓàÒ®;%=ž©Ú€/Wˆ{»aÆõ“ƒa„. NrDs/Çñ r;Ê w«GÐÔæ¦…ìÄ9|¶"¶â}k‘TãZ²üš* €º2Pg/Ëvbé9GX§Aú2I*gguâqLjœø°Ì‘¢òíðó EÙrÝ:âõLª’®®Ñ (Þ÷+Õó|OeŽað€ޥɨÂU 7ç…eš?æzÛ1·I/ Þš•“…ãhÎjšCï£ûæ§è ¯¸ÙóìŸö™ d*É¥9a˜ ^WLÐxl j¸UaÕà¥#“HÛ7•ñBhcЄ”Jêgqã09îZ67Ì›aÃOb·ÖÏ Ðf›gä~þ’ß  ÊE²ÔÆS-Ltã¨Y³‰¤j+NÛ÷>5ÓjH@­lOöpÂÃêýtZÝXH‘º“±HÒ€x^%tÀ©…]Óç!‹š•[>u^E³ï¾¾Ëàe¨r¹ÌÈFÊÅÁ'¬´Š*'YÖÀÆë TÌ&õE¾èCÍku6î "N›“–M*CÖä]€5æIk$EîM:žúë1¤9I¹==“íg­Öæi‡aëÙ1BLƒ©½ÅÜØV=M*S¦à°g„¤®/¹7‚ã™"’yÅeׇ_e3„Ÿn²ÅD6&ÍÂãNñ Þ¹vãóš©ç×§` Fi=[ôˆ°ŸŸ~ûû ‰ãy÷I³ÈÞý9-Icƾ¡UÑø1BJ" µë)©£nHoîRµ þjÐryq>á)nÓµõ7±ì…F4ˆš| 8c=Ý.éì½*’¦Tê%ša¯ ©¶ÂÆ"0nR çæ„R!!pb3$‰qÍÓë{¡Æ5õ7¼¿§ÒH³¾Ÿ*„Ù%ûa}"‚EC6vcËPÿI´P›—ÂMÎ… ؆Ÿƒ¤ªá9b‹S«cG—)ÇÖœÃP=w #i$>Š ·M!ö½ã¬01áµøj0;MbÖõ>8"ù\PÅÊžÀ¶S¤žJá±ÿ49’ÖÆq”LÓê"u?雄±¦iˆZÔªJpÔB´2¦‘xO€Æ€8¼qCž &¬ûœÚ¾j¾1æ?'Ýä¿I#…²0Ì,aFhò½ê Tcr*[¸gmRi ²pRˆ&™làgßÙüÃTÁ€ ”M„Ÿ>Ž@#ŽˆÑE`GLˆ¹ƒô_¡CÿïVáÒ©KÌcØß3™Ð]6gƵëùÒúÙðlõ£ö±ë#«ÆáUs¬æä·HÓŠV›È;"ÛFì€mâë`q‘ÝL/ÅûNŸ63Œu¿7aeIø[j÷°䵪>óŠûH{‹«îÅ…®§‡\Þõ%<©€L—mªÐ¿yDÀÌk¶*Bêþ«RÛ_åó©°þ‘©8FxWQm†$i¹ ¤dÄ6MrÄdWÙÄZÛwâd):ô¹¤{×^aÑö‹$hDtMð+MøVЗœL÷£Ð»³ #и®‚ ÷GQsC ,’˜I!c¾·ŸÚfsW6/͉ë½=/˜Áo­×œarœ‰—`é^]¯¶=5É$]‡àÇ@ ¨Òn…=§gµ>í=¤óÞ’êïýÞ!‡­ã>øé©C p>.ÊYK›^x¾ëdBÚ¾lv*ÊÜé¨×5Ù¬UUP˜Š:ú—=yÉ…^2"N9GHäÜÈ<Œ8?m.õ O5L¶Ul²8½öôyNœ\èaP³¿t\@QßËxy¶ßJ®mdZaÍÃ0{ P¤ÛVC*7þ¸´«½xâžËŽE }àûP{×Rr‹E  ï¥R_]gžóÔ>„GQˆÑ‘†à#û!v©š…díâ˜gšïkˆÂ6l··rÙ¼ßs?ÄÛAa,Î )ÊðU`ÊcES7åÖ)HEB ¡¨X™F²Îà¿}ÔF†‹ÆS‚e,*qbjä½(€gêÒ@õé9øÐx­’¨KŸ–Ýêa}ŒI¨æ!;"¬œ££`Ù `½` Ñ$(¨ön©*(»uèžzN“9ñ5u<˜3MI•™9ÉÓ.ÁåÆß<Ò~¤ÌA`ªTè1ùÊm/QGPuÓAh$[Cew^‰¹2õ;žQˆõPùÀ÷¾»‰päÂÏÃý¶PòiÜ€6²ûQp‘ …xZq Ù±‘vÆLÀ§þEã·o¥÷€f‚ìœÃq€XDÎ@ÇÝž)Á@—;LL9»UH#‚s€ô<î€"‘PE±êàm)1n\ªì*ŠþÄŽʹkÖ1Fò@È`ú–%ýøQ%ñf¶éœ¨(¸`ìŠ2©WØûX¨¤ÛZ?Ɖpb‚ÒÝ2⊻NŽÁ)¾y‰‰[-vÕ±¯kŠ|'Í[[„´sÑ:b"î™Jãx€bQ<Ëi€Ä/©ôq‹åé~etmëo\öcø™Ý8FÊaì¶xêôʾ˜ža~º¯RqlÏx‹±ñŽ_Ùq&ewÖÜ©ÎRΞ»ý35ÖöÌûßHŒ¬kT©3„“©Ë;.Æz!4â®Sê*ΩíˆËvQ%]=Û†¢þ¾¨IHs¢J †E R©ëbPGþcˬÇÍ&£LƒÁ%¦ŒÕ®"aïHº˜‰™ÌÞÔ¢„ÆÑ%~œiLˆÌ±Kжé-LGÌl­[Ü‹À‚Ík•´Ír?} ’,­!ðÙ-ìMWµhÁÉ$ÄñzÅÝCí1š=Ðo/.9>Nqo¦ê7­þ– ‘²B$î'‚÷„¸¬SÉÔXfª†±Î[<öö&U#ÎSžáÚ™¥—eù’í¼À+ñ7Ãyw8ñ{ªØ‚üôØÛb“ ®“!~ ¾‰£†{‹€Þ*}ƒ=P5ÆBØ=·W3Çé«ù,&zÎ&”½hÄ®Hµë-ìZyþöôï¸Æ‰ËJ­šN… ž-N“ïUEÁ{„’ ‡¡ð!2"‘ò|—ØKš™/£Ò=RdkÙÕô§‚ä]i´B€ëÙB¨‘ZÂÔ§A¼à¾ê.R\et\NzXfóÔ(ó-ï­K&õ„5T%#lvß±ÔÃ$[HA‹$g *=·çdéÎ9âM·þ×EýGŠ"&É÷BâŠ: ˆß‘HŽ-Bó:ªˆB‚lK°±&’L ³q˜!ì_ß“b¸wkj­ñhrõ#¯›Ô\.½P ,ÏÛý§ˆ¾ËZ·Ø_km¾ê2‘Ôîypv‘sàˆ]D/EIÐÍyŠ™ŸÛdŽhŸRéÍ`cÄ¥Þrô§™'œ Ìw•ù²*žè ÊôI9œÄæ“PcG;q‰i¤v3FAL¥IL®IkA%ô6ñ~`•-‚ÍýÒ!j'þd·Èûò‡ø&a³2v4ÛênH2°30‚>®Mm Ì8%ˆ5¶OãÐÄzìY&€àĸV=Ñ5›RœGÂ2¶ûâ ¼ž)ÊÖ ‡A1W—M¡F˜Tà,±ÔÓkáœîYÖ&$,–Øšì ›m‰Ñ”·ç%jO0Õ=êæÅ›Å ì©+Ëhúª}f72¸“Àœ‰žêk½“£«q¿ù­¤u®ÙPð¥’yÓ`¼½$sRo ø+Á`áñ’ø¯™æpêúÛºq©ö¶7Wí©¥Ìâ„ÚMŸaÈíÑ¡^çWmމSÍÊ顨®*tÅ™äÀÀ}‹lÝQĤDŽL„™KÝËö´»rêÖçiš!³48ƒ@? ´0œ56—¬&xì+Ÿ´¢·IŽ€%/2À؇Ò4~ÓE@_< !ô~™“ù-@ìˆz#ªç)#ðÆà63 H¤Î!…_±ì d!’ž³^Ó"j=!æè'þê~s‰BŒ qfœ¦I³'MØ,I¨ b5hm­bok«!åÕIœzÄ ;C$oNçOž`‘œž«®÷h&…jW°ÔÂXlÀ#™ˆó ±š?aÆÆ]g­ÆV¾@’'ÂE öBóLÕVªýcè¯/ ç%8“6 /@/STR¿ÙLªškÏŸ½˜¶}ö”q>Ÿ&˜Œÿ5›"žR™¤¡¹[ Á1ç£ñ½W䡊Çrà‘ªç ñtáâ}îwŒ—=Ȥ§ ô¡‚3{zÆM=·å"ZŽ“±ú®cE¸Y[”æ ¢á]¶!© z°^"‰X¦îR»8•#`§•¯€3Q+Sab&²"‚ˆQu9Eú½qI*A!PÒ1Ù3‘PÊ^`×%¦CΤi܈ ì²;žOò¶`€j^r‡lÄÎH/V'Ø\ƒø¼Ï¦ÔßæÕ*[㘨uc4N‘óv§AZ3¯±»ž•ýô)9©Iâí©iÌ¥öBž${Ž ÀªÁ"8ëFͼ_›gc‘`˜å¥Íðª`›.Ýuªø9©†ÐIÓ¦Ó½ðÑœƒOœám+ ƒ‹£r;ü·>ë¡%ÔÔ|KØ<á’,¼ªpRî¸Ñ—ïŽèžµ)ÿïÖÞcØlÑÆ[$DÏ_ Y‚%m³ B‚ôÃì³ÒZÜüf€è–¡‡zõÎŒ9p÷—Æë~·…¶Ìõ°à©ÅÌ—m ªßbÝÏÞB¤Ç¦™Ð”±8¶Òk‹’ö Ë ¶% &e§æ‹GÚ@ÿþQX‚”{i~-ÞÏk½¡%éUî 5}D´+-Š ÉðÔ¶¯e:zÞ±‹®g4['gƒµNRe‘˜…d$-xÁݘ’8æÂ‹ ͵• µ¨Ëƒ˜žúŒÃý¤bPùBÊóØŽ@…Ú&*¡¯RGÅ8U/Û³0VpäÙê½L]OÍõ=Ä~íípFIìgqT)TÛg™4ªq—LhV¦¶rÿIm1Fö…ÍÓÎFïIÛùuÂR+TaïOý‡§çöÓ\Æà¯åöÿ®?7“dzأ^jظ ©#jlh j‰TFÌ<,}g«¢{^ÚÂʽxk»ä¯ÿ“Iq̃CÒ©ÌmâÁn£’õ“郙²2Ñ ‚ááßT&xâ´5ä…7ìÛ¨õ¶ùr˜V§Ñ›7¡zHsöyó CzŒhóÓ$p8Û~â1Lkí¦9aápÙ :l]ßTKؼ™…\TÙS|7SÂŽÊðŽn‚CÀ ‰æI¦(Têuâº]Úç¥îŒ 졳’l,¢ô¢ÁZíìž[n!0ë¸WœÑIE>ÕñÒäW!ˆ)€€[qçÍiêˆGk#¸ÔÕàºb©1;¹Úõo©Ú. Ї!½˜_¸G/ÊpÆt65­% »´»wÇq…›©ñ%Âó¹xØN7 ˆœ– Êç§Ù5¨d^Ùû¼wª8xY“P¯ÑþÒG(…”#Š ¶>ÂÌV꽸Ùci¾…»K÷ÃÞe,PׂÀ™´5–ýØ{n'[×…u·èsu;¹,Ë÷2+¡!¼u1x´dö9"çU¯#mZ!sØgcÚðùfRT¬m‹ SW¬8AÃN‚­+ÃEÿ¬±SöŒ¤vŒúç_¿'p¾UôœMûé„9AžX¸ª 7ƒÐÍÄ­&åŽOe,§™KãˆÂÃÐé;€”ÖÒ.Ì )M¯¤®W«m²kyA}'™q*ÒTÑlvˆ²{Ž[†¥¬é#ào(RÏ"÷¾và×÷Ð"ìö½‹ºP}­Á‘)F`yÏi»ËAaŽð%xñÒmw¿—Žü£sF~/ ¹ÊŸ¸çРlA8ª"&—=@_ÄÒÄocY(˜)¦x s8p"â!0ºv»³¤“)Ù&>B‚TöLØB” ÑÞí67±#2P…4¤Î¨‹Ä ÅéÚ¤±¹ jÿ’ΞWKÖ{jI›8?}4ÕÂkm%¤€ˆOªì9W@Šð!ñË[]u@¶ÞµŽÍ†y¬{)._­@"®²Ø¶U~O5&Š€Eÿ©U‰ ÄžwTa£F„ÀB"i5IîÛñ`ÏFÒâ·÷vú¹r'ˆe;1yÄ[åS×d½IÓ ˆEXå+¡Èôµ5ŠÓ©‡¼FÛxŸ½‰`ÎqÎ9äO°4é ž¤7_`é¾î×”÷Ü«Yìù´iþ–¦¼/€/†z×üضŠèQ¥xÌŽUö4ßïuÙŠ]²õêúNoKtÏÁ _\ôkQU³Ò5âVìf <"½¿˜—ŒH›bdxU"Þ@Y| I¥ãS‹«{‹‘ŠûcÓ…¼¿P¸¾•tÿÁåç.áŠîBðò—]¦íØtN€É@R…Kµ0$]ôóÑ|p Û8¥Dè1 BΟ÷³;ÊYgDÒü/óœ/î˜B(M ñ®&MéølWµj©™mίæGhˆÏns– ?;6¤œ’ 6L]ÿNrZOÖÀ¹ï£ ku§&‚ Ž µu“<äÜÁ‚{Ëk-™éÓפDŽwW’$š[zIû‘üzÆè^¦lî5Ç«i«LŽ$ûÝ¿elD¼œÆ˜„ãÈÄÖUO;d€d2åT„Ÿ†³SËUÝ3ºÿ­vo^zb/,c i»Û –Ïí†çlÉË÷®È×Ϧ녌´Àý´9u-i§$‹W08g¶Ç^j‡+DÁAÀýtº ì,ØÂlRþQ錠¤ñ{xªl±uCœLuŸË¦„ùI=Qoö E)G²ö™ýȳê3È#-Ø‹ó±#bvÚŠB€ÂÐå›qìý1Dk‘hÒS§æŽ{/Â?*‰;` UæLŠðÎé¸Uêj¡ÛPI4ê‘ áU¸4±Ù°úBôš!оcCc.°b¨ú•TiÒ“›ëV¦#øÃ¡"QØw$ï23ýíðìÃ6Œ8ƒ {Ñ Æ‘ ÍYrN#²[Néýœ:ð BA<í~’ ?ŸðX¬.•Ê®£Ý˜Â;)‹¤~x‹ôLŠÔ¦º¾ÊìŠx­yñRxm<[lßs”$ûÒ‰™ÑsÎæ6ZÙ#)lõ‘ Yô£19žÌZ—&é¸qŸ$@ÄeAK•µðSOÒŸðýz}÷]C¤M’ÝÓX¦x«7]ÿµÑ¤ã5Û‰öœ'' â£EOuÆi¤ûËo H(’ž:î9BT!ê]û³þŽz7q1ZÈF}­jDõ­£¨[&ûsÇ,yÍbâ!Ûåƒí™n Í)Îl.¤ÕiWà[ÜKýQ««ËŽ’-b´7ƒÓ€‚£ÁÜ1͇w¢âÆê¡.d‡ÚßÁì°FRÝÆ¤Ë{ ‡”Ù`ݳûà,«¡S•øª âàEc–'g°uOôݤþZë°y¨Øah‹x™4ÀG•æXGb›ˆÜ õ¤’k 8¼ŠÁÅ~çÉGø¤¥MS2!2Æ‹"[áÆó„@  2>‰š¯7| pÅŠw£Ë3o/Ã’tbÈ›œÊ—Hÿ¿ºàOÙfN:D’¤ a‡áÕ¢¢öëì®pb"€S5ëBòDDÊé·ãªqŽÊ•ÆÊ¥Üž“˜Ç˳úØóB¤y°|‚“Ám¢oØÃ£‹Hì™Ð+E8ÆVPHljëçÒ…$0Ä^!˜ÒÁaÄšúï{"Ľ[pØNXXê&cú_Õ<¸uˆ_l€y†—!‘àpÆ?‡(R‹ˆ4Ŭ#ùϸ»ûxžÙÍ2¸“ˆƒUêLÊRÕ›ÉÈ*s`Ô\ñ2âW<`ãÒ‚þ˜³ï8PBhˆ¢åÇÀY¸¥–yÀœ8†bGÏ+ïó¯€2¦ç$ÑxŠ0Þ4ä|dDTÙ„ GË*`=Ö˜4e/z8ܧa¸ègJ$'ÀÔ¬ü¿ë.9 $Êܾ *%ûÎ@T@ttØ6•ší¼b{GyWÇq£%Éq™zbkˆy™œÎ¢ª¿‚³8ù[ålbKГ®©zç`ˆ±i”äµ­-Tó‚Ñm4O…GZtÈA)þ P½a"ŽªyÒ€daÚQ÷ñÔ|z¬UÝTÓlKȇLzâéöÅ}¬ÕÆKàlÁaž 4`Ûb‘‰s6[™dnq¬¨Y]›4é‹2‡(ë«ìФj÷Ï< IÌD)¢—ÕwÑÕº±Ý©I%Ÿ;B¢ç:’•äZ_Õ0—™ Yh\IDATÑìà»bÐæìû×ø©Ê̤Œ´ˆª÷=S‰®œùE‚a E«-1еRñ¨€§ö9q jî?7)é+´Ö(ð„ú~g›Ÿ÷ì …Æ-nášÅô½øöÿ•í¤f²`aIEND®B`‚./chessx-1.3.2/data/themes/boards/marble.png000644 000765 000024 00000175252 10633750627 020365 0ustar00nistaff000000 000000 ‰PNG  IHDRÈëò/° pHYs  šœtIME× *¤ïé­ IDATxÚ¼}»–$In%:NJ€ì¡NÉÜŸÚßC}d’êÔ¨á*µWp3ÃÛÜ£çÖœžªÌŒŒp77Ãã¸÷Ï?þþ'0Ðõ×_ùÃ"@À'h~@h_‡þ—ççþ Ÿÿ/ýYŸ+ÀÒü¨¾ëñŠøïøóêgÿK·´{ ÂxN²^Kãy=¿f.b½N ä~þ¿¿.»5°{vþy]ÉÀ À,× Eÿæó¿ ãoi¾æë„e¼Ï88×Ëe,‡ýœ'‡Ã\Óפùžès-è\—ñ5³¿@f½¼{ÔñæøáÆã뙡§ø ǃ6¯eP£hþí6†}_‡ƒÍ}pþÙ,ooëú ý&qµ.æ«0> ›jïw®¯#h~†Í‡ŽýÁ"ð37.ŒÓ½NùÜ?DâHø³ñdü®ÈºišÛ‹Ç…ˆY»gE®ïqõ"ó7Ú_µ§]Š7Åýª?µ¿<ž*Û À×é.þZ³`UÇÃf™^öú!ÛûÍùF’`{ ëlv­nSŒÛRÂS>¾ÌDf¯3|x$»D~ 4^õÚø4~‡ðŠ:ØS~Æ~¤x˜Ä¯õ„ °tÞJ ?†W¤sy±•ù÷– LÏëÑÌ…$óºkàæc±ÁwnOÖòyOÅ×"ˆ÷:X«`–¹°8óÚY ‘~õ×gÒx@¼&Ùæk1€9z­Ó‚Ó´öz€K`ýÜ<¼Ìãïpã´ hd-÷¼²Ÿ9¯®ÔØäº&¼¶ka|xüMj$XD¯q„ál¯¯ïsð`1Ì=py;ÞŠ¢ai“iàÿøüãï~~ÿ¼ém–”¾D—g¨¥ãa\tY¦%Ðu?¯`››HØûø |òïÉç pËâièæõCxlÂ]ôÃ3ä›÷!ºðj!}<8 ÛG@ãÀˆ9ë.vžˆ–;G¢Ë¼ArlJ!@Šñ>m¢ –E ìî!zZ®½0 ï¸BivžÆ¬bX½>?ËK]¹«„œ6Ü­ÙóýükhEKî».ÜŸqyñ†8–¡±ä#¹6 ÷9ÙyÞÊÅO wóž¸;›°h.öqá€h,NÂÌÓ~’ ’ ?XôžˆH݆Í5fä!ùý¯Í ã¡’wcî«0M| 0¾E8¿”ų¦€X„RÔf?,×ïB™}\‹<Q½·Hø¯ƒNUæM.0!“ÿ©a‡ŸÌÅqÈÝè ":š9ÝŠ5oD]iÞ£Á´È×Áâõsq©Èe-†å8yhZ.8ç!X*—¸|Ç6‡å'»¹ŒÇ`ù­¯ÀÃxõ&\"=à¬9‹˜<òºkcZ\ —n_?òïIÅôx%ö`b³9kÓÇÆZ{O‡š«¹ÍË âEÑÒ;#Å +¹è†¥@ãÚ¢†ã G‹kG)úXÑÀHÒ«Båâ²â.1ÄÎü•$ÙXMó>D¼,š,P“ßq½2_3XûǯI‘B’Ghh>h€œpއ#„X›?+Äb6‡Ù<šr²¡c}<„Ìãa–©Óü¬.ùæµÏfˆÃ½ê¼)¯ Ö—/”RFÈt‡ ¾>íŸó³y5œƒœ`$ŠË«3“{Úàºoå$µIܺÍ÷Z±âÃû];“ÑñHÞæ)<[¼1xй4X~"!]^¦:švgMØ„u»ä‘ì}Î 8fˆG~e$‡ãµ.¯³Þe|>®ºÝð,§Ï(inLnJ¤¡E IAòÐç.Ì¥·^ÿ}tDz8¢e>?#ÿ´`9¯u Ò¤Ú€®ä|(¦ß¼Îg¸¤íC[³ .í´Ï˜ªëGÜå[ì¢dž±ßü1´1nUAñ›{ÆT}¢†`,çõ(¬UâòU!¡AmŽãúüß“¥;Ó¦±›Ä¦åƆÞÃmûþ Àz^kO1kíU€€PzOo +,ŒB2 ÆÀòõ9Âïƒ\àc·éÖæó& œ×0Ñû:˜kIMÛá=ì©Ê”!C†—µ:Ÿów~ ElOŒø²ôÝ80íL¼Ý^æ°†-"¥a5°Ì1Ü…HXU1‘1G±äñH:ãñ¢T˜Xëãz A¹i-ç “f]bEâ æ÷ÖgcAfX‹”ê8º)3jµòé]Jð†<üíìä,.@Ç»öès3˜ëX…R_0+þ**V?Gë´ ~è‚aF½Õr KE£^ù-‚‹'K»•reܤ$¢›ƒ•ǧgN WCÍ€#Ÿ „ÄÓ5^z=lb{N€)§ŸÐzf\G»åÁ#SÈ¢‚یv^°*ÝÅõ)%Ü¿$:h‹æ1ÕupoÆñ%ŸƒÙ4kyíUt>5tdo˜–×ëÀhW÷‹½Â:F^ïóRÃø$ZE¡´ö£ÕÃU-çbg¸îZTº‹½z¹xOas8Ï56¼±A9g*€0îœä|H¬­(¼Uvß!-.fûàmÝ…B±/•ñòÂKáReF¥¤ÏÉâÂU(šeÚPØ:ûèk9¦MºéM[ ‡ÖžÙµÀ {5¯ftWW‹¥ã‰^vƒ¾_+æ£iµÂž´ñ9´¯Ì:lû Dh]|YI‰ CØÉµõÔ̶ÃÅJ<'¡éú$Bbª‰9ed^fDõ¹,çÊ ©ì!ÒŠ«5U©›öq¯l*ðì’÷µªdº bïšhíqOÉõ06kßvä^*êíhÆßÖ¢]XŽ×Y¿¸Ð”ñ?aøœŸFÍ-ßd RÄ_EMåTØÅ™dŽ?ôOíðëTm2›‚mAKS’ée×&}íû1óÕò5bo@T¨¸-lõO9zQÍǤ~Ý—`ù¯u0ƒƒÙVÛ%®©Iœmdiàókâw›±ðŽ´Iб¬U¼r||yó÷ofx¯Dɺ`4IÑÞîÜ6áUwÒÝ$ÌÀuƒß´^sáæ¦ylÊ¤ÔæbcílˆEÇØ<Àe‘|¢‰ÚÓI@(º{qƒ ZøXwžeÕalN &3B´lÖÁ¶Œ‘«ÿªwá*Zž0²œ—ç  wè¤~î»^-XaHa}|I„Åí9Öb‡å£’ÞÆ‚·èE¥Õý©ní ».Q,r»x%@£Ð¸<åF¤ƒq5>ôÓ!X:ü1ç‹R´£ħ® Ç;aˆ*M+¤9Üœ²r#GÞíêÃ˃ÎßâQûÙ„Œ¼ó$RVÌcÿ«ÕÄÑ´µƒ…áý·÷ª¬/Œ8å OŸ_쩸Ã`äÁÂ1·¢¹‘i\ªV̵½Ç®æêìäWè6Gà×¶MR®K±îú´Ásö,…Æ>*& R‹ÞÙ+Þößm× zÆXC"€ØPȦV’ËX›‹Ý¡©›ÀÀ&Ý/lÞ|¶e+¼h÷Û˜@ክl¦ÓþG¥t“Ø%Û)CçŠyƒÃh.\ÿCZ¯³‰w—Ïÿì^9G'2œnså6òâp¸…©‹·Š”B)Üî»(…Á•æ0ï=.³rf„+cpŒù³ Þ ¥3OO(#„‚”/±lj3Òm©‘Mí`ü‡AÀ'ˆYX‡jûd|>ç¹Æƒ×`ÚJæey…9Ž *+_äe¥9wwÿ ÈÎÌJh)9 ºE¸ ÜÎ1Å‘x±lVyäIk†ƒòðu‘°/„ɳƒQÝa‘Äe e¡Í„|w+4 b<æ0ožÑµ\\§§XÚ ”Ýŵ4/iY¸‚•r·ÉA&I·°xÈ+Ö¥K 6Ä«¤­HTSv´–›ŠáAäî´!øÓ½a=œ’&6‹c«¡O7b€_Ïâñä[`ÐÁ£_–á1šÀÎKáÖƒq€2ÙÌ«¯5 w“ά¯¸^2ÈáilÄEÃÚç°÷¹MyúÂ-nš‹5pÈa &Jˆ3àÕ—fë5Ó;±ƒ¯Y× ¨®µù—€ÎôWÉ”ž‰Þl.g¥àóÏß«èFƒdàóÏßJmSÌç³øtCÏ…¿³_cœÃ Þ-x˜õ–9 >:k-æo½ÆšiðwŽŠX™¯]š$=öýãÃ$«ü«ÎÂåfÈBÚì V‹#³o1-$N/ ü1 –aü¤®™­†¢ìáÈ}†º¯¯¬úhå¸B¬ SŽ›¡ú±0ÑÕÖáLQP œ‹º~GfÐ1Qîk0òýÏRåÎXûÊTSQÙ˜`†hãö¤hŽBH|?0zŒÚt ‰XBœ[GC ÔŽÁȆ‘µ†³†f©yÌP‘V•bÞÇ£‰lÃ[¹‰%?Øn§¼äË:Þ5ÈB ¦»æŽixtq¥64òüqÓ?€Í4áæ…ásmz Þ @Ö(Ì~$sö¯Íå^äH¨f kN ¦–ý™—ÜbcøÅnâ‘äeeãi¹èkrÞ…Èèæý•UÇrj‰Ëm¸È3¹n<¡ÇÀ¨ øi+²Ûí¥1ïã×ÙÙzŠËY쉯†-¤Ì;ºj”eÛP€Oœ—¢ÎĵDt;K[tKO¦—y3b}À¶­Z6-Hb`M¼ñZ×pê›Ý¹³v%R?3ÃI& ºU‰¢nÚ0Ø…{Þ}˜ÙmËÚ²r‰À•u˜u°«y2Ðñö£ùÖàS¡^ëüOeëáÆ U™¯'Ü'uդ塣dÌœ¢ g1n]¾„X®–{Q°yê¹Á¾YžºVñã®mc›¤ª¼fè †aqÑ)ƒ9ÔÚ¹pѹòd´K,ª5 ×ëKT$Þ ‰í]ˆÉþ^8A¦BKj>Š]H¹€ÃÏÆ&D›?g©6(—(­tK`§N-ú:)`õ¹þÄÐ"àpŒe‹ùG—”³õ¡/²žÐ&O‡>ˆ -9wK&F_4;²aì㵞©ði~Ò¥,¾m¤lâÏù{uîN¯±Æšü©E>†Á”rÌçÄ@p€íÏq&®ÿᄵµ¥=íO.ŒÅb¤4ŽÄ{YÏžžAvß62Fr©®?tD  ¯¼j!‚п¬ÙŸódw—í YªŠ4–1üÚ0£Ã—åTÁ1å^¬bA4Ð8&‹í Öúü2!L¶±2("¹þ;Kƒ¾¨É[~X°^Ì=ÚÃû©«Ñ+D`ÈÞãUTJõAa·ÑíøÃf"+ÍY€Ô(X¤ì®ÖáÊ/mch…ruÀ`›\Ä[´zï®fYõ¸¼ÝÏR£wMmÀ„X¹öc I„Ûx}½§×m¾…ùæ4+¤)¹àd'EÉYt–¢(„àr"J¤Û{(jKŒªa#§#tÍ]Óƒ¦@σ¥ííèÞ’^mའ’0ÈvóojlÈ;ŒâøV±ÀŠ€GãÁ2ÓBµ¦µÀz2’:Ê'°{cWË@儯m«‰H¬y ä–áß̟ŠXç®é‘u&\T—äðûO|RH»à¬¾rJa9.šê)²ÑÔp5¸tXÔ&Ds¹åò5ÛÉG´¨aú‚eϱK+ÆI_J]5Åü:KÈ<(Yn:¹ÙVóEŠZ˜øuXùÅdA$Œ¡¿@§XFˆ_Ãø/ŸHˆåó˜â •¨ñ¥“*jg†R)z ýè*–Ä5Ñq]ÝJDjXÚe_#©¬¦µ¨1pÈŒƒNfœ®,Õi^ëÝ5Wbi¤(‚&”™<2wÉP¿ù„ì)uFÖiˆ©¡øA+{à|øWmpNûÓ 1`jµ‡dÙ+¼â®eñW[Ïùs5žbt,"Â7j¥«‰qJ$+=9W7ÞÈð®»þ%5#5ÞïøhCxä ªRÅ®àÁRîoÚÖ•'-ëüYl3ÖSšP=è.øŽáõƒkb—ãE¨Vë3:8W³è× Å¦bãTRfÓU€iî¨é&ÿyùå¶v± z¤Ìã\7]´õÇWq°e69±GÓÐ\èÈÅ"b‚ñábÔÞѵLtm¡*è`Pß-Ë£eiô1†`²ò²ªI.“J(Xò&Ò‚j÷œ¨ItMT|{ ·£®v†ó0'„k ¸QP˜5Rw…c* ‰–¯Š|V»³7Mžá_ø˜B]¼¢UTŽ*} úÿ’YN †8.tAÿé©gŒó,mlþƒÍF”<ü/EH&êéa¶Q€õ‡‘Ò<ø*–A1À]½Ác£N•]½wNÛÎ~`µùŃɪ{FÊUÁ?t¸2JQj Ó¾ ñ°›K±’‘ÿ™Ÿ¬Ã7ªn^1 ¬é-2¹\ÚÛ®KWõµª{5ÜDZXuþL«;J+¹œ7¦«Sæb£]Öý°6¬yMž¬›RňЦ<.2µdÖˆ²“z¨jKÚº’kNÚȸLŠ|C܆Aé·›MGˆ2d ”ë¦w¤Ônã¨ãà !%%Þ4±6¹LR¦ÅуwíA"|86é[dh¶X…ü²>M[a¦îð“m €±Æ`05¬íì(:i=|Å¥ëT”‹’aò,ml5m6Ð<Ry \»ª{Uµ"-QO„GQŽÁ^!ù0³'Í»/æl6¥égZ…ÜJ053©LèYNÙäVxS`,œV9àM7„E/­œôÉO)M öxUá&ŽfË—€a¹h~\…ü ÓÀX_øÜ•€ 8óR ŠÂ”&2›rÔS0¾"?èƒìÚ!tuTU^Á(\a[5öÌ}Ê.IsNõ.7ªB=ÙZÑeF&ƒ%+´}ÍJŒƒrž×K7tÕ[Ô ÚÈÀšf@G&›±˜>t½e\yT¼s £QI¿'uÏuXTäT»¶=„_l&{øYë\â‰Ñ[œP(ÚZ!ÁÙ ðp“g†'ú2^ÃDlå¦-—WÖµ°ý†Á¢…£ O¨û”‰?z$f†—d½;ÊÑ}ÂxãEÄgG—väÛ„62 ¿ÑUà«fBinâYÖzZ¬ÃÃk˜ }‡¢Ÿ€™þHt³óE‡0¼é×ǧD ÂûoïµfÂÖË“ÔôºŽŸ:Þ+6^78eÚÕ5œ¢õ} ¡:Ńu0H27T²¤¨ÓGž'©¼Å;D»o¬ÍBIzë0g_ôÊ<å¨ÙTøÌª£Á×Ü‹P9*n묎zîZ†tóﯬ™ß·!Ô´˜K0u6¼ 8þ‘Ò¦›ªtàDÅ(ö`yR‹9mÊâ»…·–P«ü³n-䯉î†J~·Šÿ>êæc €ÌùìsõòseÂ/ž>å& ¬(ÉÁwDpÑG欚 4åíèñdö·akʣˇh vâ.Wï™ÍävSÊ6¤îÞ£`÷ÇØR½‹ÙóÉ ×½·^žan§îûu¨†ú.–žbº]웗ìW>Kð*òb¨ÚÇQÝÛ’p›Ý©¬'ù xÿí×àŒú(k^ÜӪ̭å•m8³*Ôá–7£»º…´Ê¬#à#ˆu·ÖèjA«“7qŽ þ24;€ŽâX´gó¹’»¼ÓÏÙx­+Ä&ÀÄk ŠÞ3ZL/àÉæVsglP?§íu³ðñ„4‡A#Yçm2‹öäй*¹jnÊ…dÑ{lÎÏÚ˜ïðy„S‘Û¤é-[iWp}HÊ2 ibD;ɇŒ|žM$\.B§P³óö¬ˆÚTÕZZ‹jAÈÖ–ú–o)šk’© øáYu"¸A|?mÖr³/ÈùlÏØäà“=Êê íÀ³eZZ–á¦ôNÎ!XdZ›t 6¤ÍVqè kå™ UƒaÏ£°þd >.чýèèF´Š(H­%3êm^Í`!èpÇ<+¾¼Èt\Í‹gŸ#¬õŠ?dÑhYh"ÛœŽóþ'÷‹ûù”þ®oX秘a­>ÿüuÂÜ'èÖÔnãHÖÈ.•?È…›Ù*MnE¬{ŽP/µ…DGÀ\p,!ùÑùÉ"NǰSG½“@£ÙÆ¡&™(ÖoŠ:Â2üCÀ0š×†p£þm8[ (7Õ4BT \ä7Õƒšoz&ÑxÒZ¢è"‘^ü]‹Æÿé\¿ŸÄ»%.ù¦zÍ’›ÈìeÈ0n÷`TÆQtœ h!á`³v+`j§i`å(è“ýbó:À½1²ÄØöP#d6Lýø!Á¶ÂþÀY\ ½…0EÉ %†4Tl²‘p/<>ð0™cΦ¥Â~}ž¿×áÓƒ´â‘´/1˜ú Ê‘P³ Ì›*:5ÿ^5¡Ót–æƒH·zï¥oŠªÑ¨/¢ôvóCï]ÄÌëÌõG2K#›5±Ÿe¨i>^‚þôI¤£ ÙMGÑ6‚oÆTÒŠ„Ôk»X)T ŒJì}%Ú6ižŒĆ#Kù” “; ˆ™ÐM‚;\Ï‚-Ð’ø25§õÀÑPk—Û/4\"†X{]èuqC>€ÝEtÚ&»ÆKCϹ®íب&ž†3 }Ëò2C,¢ÐW…ÎD¯¹tÎ1>mG§1ljÙähóK3£NÜxñÄ}R|†Aâ^R˜W6x•á$[SJP;¤$3JQëJ9ÑòzíD™RˆWÈrÐchÛ‘2«w–~’ˆ0«{iS0•ÅK ®nP ‘}[ F¤Ð>¥Çã½^H'ìŽ6ó-Ôbçìqò;ÖB KÒÙ†:¶Jwž.ڻNjÀš†5“²Ò㿟]h@fØS:J¨mÐB™l`37‘‚¬Ò+&u*R²MqD=a×ÕJ@t,Õ o1e“èÃì!¥Lä2ÒÄÅ0‰¹0Û‘Žv8¨”u+ºE œ?´O— ÿtjÚZnÊoÊ^K$5Ôç'·’xžñ…›ˆ–š7 X…oam^Ëê¯äyü—ž0ûX f¶ÐƒGöÀ5ñ6ǹ†JsÒ‘dAÄ«‹VѰ×jG|P¶ÝE/ªQWwÍFß4õÊ®îᡈ¾‹ÛA>6^ruK­9÷ø'=kŒz­:Ïû1X]½k‡BÔ¼¹æÇa°X¦?F /¸UÅß©¾ø¸‰Ý\°) :"iëgÙçO­”e–GuêºÔ™m¬a$™¨[.SÙ^b® ®…ûBçÏééå>ô’÷GHÓ`ª³p˜ÖØ&—Äœb6êZ2âBŸ”‚Ëù#’¢~Õ!vN 7(/;²]5Gé¸FyAªç¨âs&Ëܸüîc*ëT¹O*⮵1Â4üÍÆyÊÞ,•Û°ÙXzª"÷S ¦ÎR š'ÅpTsÍOz¼z¯Òß{’-寂¬šSyÂN‰r±*€î©áð-öìzhã¨7ÖžƒªÜ›äé>"#¿ŒäxaÚk’%¥ôÁ¯ `€ôü¼¥¯âQö­O6÷áÍsúÂÈZJ2Å2ti5ÙòðªG«$PšÑÐ.¾is¡ûÃ$[jèb9 ¡æ|RÒkäPìt\mÉ«e2Ôˆ^^‡|~àŒ6I:ßDñI aÔ°®æ=Â…h‘î&¨‹B«¼iMó:˜vaœþÅ}oÖ>|Â×ó$c œ—L¾aež©B•€Ç}B=ÇU¼«næC êU¨ËÓÔJ ÇU¾‚Švº&†Àá…µz,´Ö‡‘ÊС›L¥6—jjSëž{ Ùø;¯¿¸‡FÁï‚WMk­;™ìB-„ÌÛS¹A¯Owå;¿ÝÆŠè™/æáÒïS)0#bïßa®Ø‡5ØÁªý5QA6jï³íÄFh“éÞ… £ÍÂ-aáXSÛ>ò1*Lo<™ôc©(—¤ *ÍyÎw°ÓÌè„Õúú²€AÁ\ sÐ…©ü ÆŸ2ÅU#¿›IçÝF1!ý:FÂó†Ïyæ)@„MLè9šÔjšª&QÚ”Ïf˽!’Zæ”ÜŽ¿ÍR¤âËÎøR ·œkæÁ-KäæÀÉŽ"† p¬1‘­@ÁY->çû×ÿ¤|,•Ó.R“Ë´±µ)¼Æ% „œdQað¥…H¶Ž~DÅu.’·¹ ÏC.¬IûËæ/‚.YìÙ©"Î Çj§ð}GÌ%ɺH‡Ïbã¢ZÛh¡C¾ B?»T¡bù‹R² §z9¹ óvNùâf²º´ÚÉìÜEEºÀð¹Ö‡b‹KÔ=· í}²òþZ?ÎH."àKÕ¿ú9O½6¤°±ÈŒ赬~"z2QÕ#y˜e.¥2hú_(j]`}A?Do)“µäâ‘/L¯Qg_Ä…IY°eÄ¡AÓO ÈŠ¹¥ÎÌ*1—ÏW ô…YBŠI@b(W‰µÈC†txc-\d5C2¿çÛÌiy639¬Ž«f³ÆÓll¡’±iù0ù=-a3N‹­Lç}I,ÅýûÚÅ-ôž¦u¿°t&Àû„U,žLÔÍK;P´¤Š1ÑÅÑ®ïÐýŒ÷C á€hl&YJÍmœ €8cFÇQ`õñA ­Âb‘4¹Êrí¼¯ïms†¯òá×d'!ÓFç=]?Ó-²lÉ'\s3“À|zqÓµê¾òëû•r¸Jܘ®¾€fž»]›ƒPa¸É­Aõü(InƒÊf.… ,föì4Èm˜ä=â^õ2?zQ¸b“cvW’”Ù&•‹»!+F› Íú©ºšàïCø¸muY²l6ÕÕ9K‘§A•Àb ÑÑ Mâýf¥Í ³ œ•½AaQo¸ E@rµêÍÞÛ§´;_§WØç ¾%d¬Gà#»ŒA.¸ÒƒYt²ärã'ä6ñNx¥èÅw®_ #75C Õ®¾%ȺsQŽqãE°8øµØ%CÐã®}6LÚðr!2æ©ïØ@j)R ›‰3n¹ÆFPH§aÕ]ë Ô„Óv½H‹jB!¼TeÂÐVͺñNyZ†ç&g`d ×Ý Þúž‘šÊŽ›§ƒXFg³"ûº“ð(¯½ËÁ]ÜúäzëfÝí©$êßâEx„Û,8öaE €®†È“+ Yr¶rqàS†— È>ö ˜•æ5®l{´´^â=šåÑõÓIÙ)¶ VI ·‹ÍÅ£#Ì€ÇKDÔ­¬Îk^,6Þ VÜjÄ/ tÛÃ4×%zvK¶ ™/y ê°vÞÃüd¸%ÖbÍÂ/¹$¹†(ïY)**™˜ö1³Ý-¼"ô"—².Ë'ÅÕÁjLoA¶Úkó‹U‘æÕíìB’ªà󆨹è8æ¼u$of“7ÕÑ“ñ6—éjᬩÐ)$:‡…–iœˆëf6>4$Jµæpˆ,®´e(¦gr¡'8ðãFóhQ2Æ ËÖAÌÃû˜r5öƒ]áÖ2=Þ¯å| !ÏQ¬ŠRè˜þÉ„~š_[I:Ñ{lºø±ÂÉ'‰Ã1†¸Åæ;!ML%‚ÏoløGI4A\sU…Þ,6U 3v  Ýd™îÌ$g¥Ù(À® Ø^æfð׬šèA™•`ËZ%&Íu(Ü&Í‹ƒ8¯Á kÙƒFîAɇ’;B+ü\+Zm9–‰Ó­ÃLàŽÅåÉáè_ò²Iëû8@û‰Èп˜Q2¦[¨î¾*Ï‘±ïî ¬ª¿·ö̼eõ`CÏé\ru-X•Í ¥s¹¾q²ÞÃe¤<$›ùœýäó [Æ“õ^›¡n‡ßyu›Ô‡qƒ¢ Hª3­ÑÆ(²aTæ>h[‰{.¶ ¹9éä - }˼–Øn;¾[´‘ÌõßK­¦Q1†Ïù) 6¸…0—vø ¬ÚÎø` ÏBsöD6g1²/VoRC¾V'†ã¡ðLÚnjL­„Ê Íd&æÐ$£ÓscÔ–Œ'X%jEáp›ƒHy¨É%ø…Úô(î¾Y‰ÀÁ¯Ïú½9OãÆž§ r+Vš˜Q›¥Úh”µo^ènW/Õç÷0,ÄõöÕ„¬t PÔyâÞpcáÄäB!DÀcL™qSü¡ E å,6…".·ÇM=-›Þmr"=ípsv?ç9" VUÜØ¥ÊR§+‚û:“lŒQjÍâÚ VÍ­,]\…¬ý¡ó¯zœíÒ¥j㇂^Ÿca8wDËæ:êP‚%Û=Ü[¦Žï ÝLqðŠŠ(¹I‘J™»Ë{,s;·±±ŸŠ­t¸—œ³I³„£Â<©bqÖ½@å.W“Û5,¿0l!yÊÃ4[åÝ«oŽ\5yÖ¬ƒHZ0QÆiyçqéæΠw{­ž¬(VœÐåùóº÷ñöº ¦›îrêÇèV—y<©Ÿà"l[Å27Ãiú_dcy%Řs® [üb€¶Ó¶K¬×3l8Iínª ˆ!7{&•‡0<ÿèA9µ2p2 Ï´F"#§ ¿8ŒJ?¥5ªG׳Á' МDÐ3tÀYY±kls$á̧kãëµ)}L ÿJ7].Œœ'°3 fw¬>¦¦½QˆI0 ÞW+<N' í’èƒÇŒ5kÿ–Éi¸ï¿ˆPC³©íØUã&íùŠ!‹;RöuRÖ5ußølQ¹Öà}|Ö!¡=˜Qþ¢U¡Oà·e},“´AÂl¶[^Bô`† Ðg®ê˜}Ù`8¾ñ4©4¤Æ’W6!Iê×[$4I1ö=Du&̹˜ÍEIz!’¨Å†ö9/o»x[ùAB¾á°Eqq) Âç¿ÿÞÿöërÍ«Sö³ð|_½d¹XÉ{m¾ýÎsPq0¡“q~›C<9•¼ÇT+*‚jÈÊÛµËìÇK¬Î£Ó{d‰f†BòØR»¶OÙ l–mÜýÊ•ƒQ1¡8½Ï¤#%ÊÆ+hÐÑ*yÎö1;Ùh.~ý–Ý=[ÉyÅçïkHt&ûj0…}+²ºÓ! O¥ÊŒÑ‡cï—,ÔôÀòuÁÆËb§#W4ÅOi: ••d¨<»{d4”€zùœð)l·Ë¿²ûGª^d[¬ì.Ͻẓ­üƒ]3v¡¡›‚$Ï× »{`WûðÚׂ©ö-ÚL‹Ÿè*̽ $Ë/ÂW™SÜ• ˆpõîøøñË[*úðÆ‚-q³€›d2“w+q'(P6†(1Ú±»»DÕÀ¶À½i¤Kx6>zRd”\rD™Ý,ÂiZY|7¨GÉĹ=s‡€„·,÷’ˆ ©Ïø‘o¥¶Lµšt©c²Çú 9¥%ºá_j0i‡€¡w`¡Æ‰ ŒårŸ7U£D«GÊžú’ÞbO´‡£êóÓþ³3Y\å)›³ÍA{q!9KÀ}3¿Iâ©CÈX‡©¨™ÐŸfj’åžq¶5¶Úës}Á6Wˆý5R,^„Ô&»6ù…iλ1ê\˜Áf»ü±Å#.†˜ZÁ„W{u`|oÆHï,­g'Õm ‹Í½ ?»Ú¥9F1tpfås†cÃ[Ð…ååê n a1Ï/OޏB_Ä~8'ÙN‰(€4 ¿èšÀ¬6-!nJc¾}¨9Wùîë¦_Fš8À¢ÊÀm*áÍ|³ÝÔÔ$èÞ©z8DtöOåÏ Yo'%©Á„®Z\𥤔ŒÑI·© Â2%ïxß—vÆÃHŸ?mr0vhÝ.>%ç7›u¸¼:NLaó.ŽŸmOT?Šå׆JªBN­é⑃À>ÑÙù<]¦Uôñà•|lŽ`dÚ{–¿)ò(‘-¯] ¬¾FZèYYœ4@w8v‘—„¾¤¥õM¦iœœ@ýÜÄðKAˆ¼E²ì4ç<Ígü¹'• ¤§cÊ"jH¡ï2V!AáÅz/i¿kÍÞDÃÛtBí‘r*vòâ#ÿÕ x&QƒflvG"‹Ýâ:öE.ò“Ø‘9 +•ÞŸ<\$“«ˆ ÕÝCØ¥±ÑA$ÂzÝ Lñ¹X¦öùR¥ç- œ3Úºu Ë}¯u¡¢™Ý—` ¥>g²'„(E7mí‚ T½ÚÕcÞðX­E‚«(=º·Y:-ÍØœi%Ãq2¡žˆ'ÃÔ'4]ºw‡+‘ú¬yë‹  ‘Ĭx«ñ§ÄªA ýìEÔ¬p “ö¹Ð7h'—IzTâ­6¾QxØLóE‰·rðŠ•©f{†R©GÇê:ÓñãÆÚ–\âìã{Æý~é(Æ×Û¡S¯ÍÛE P nhVÈÆ—a›o½üëÄÅž”Šˆ½®öÜG@ª¨A\†°Ã¿AÑžù—‰T¼ÃDéS 0Q1á^§R¹zE沇O„9€%›Š¼,Ò†s$”au´J(‚fÀÖbcS>¨j-ÉvXy´åZy:§0§ú@Ѻ¤Œñ8É:äZjÔ+æ1bë%$z±žþq(e¢+ B½Xâ©Ðõ¶0n 3CFPÎ@@‹põ0†\¤!âæOE”§ük̘|`67µïü­¨—Ú5Ø"yK ×ð#Eb Þ&äBXûZPMð@Á*×kÍÂZŒõl€€NÑhK¢°§vË ÷À%ÒTJÖieÛ'4‡é¥ºSá%^r¼¢a‚vR’Ö& ;ß›Þ Å5ב@›Ay>w l À‰,áiX±¶VXs‰¿D—‡¼öñ:AÔ$a`¡’€;#®“þG639ùù;OÚ3æ÷•z•–àiº”¥§"…‘¢¢ ›p™Ý:,²‘“o: èQ\(Ь&Âðrqݪ¶² »Ô+¸­­Ìƒ=««uFäêÁa߀-ûŽË›ªQBrЮdDß[jkŠ,­¤u_Ô2ž3EÜÓ¯zÿdZ4E2hRdâ™Ýd_Tuž4I´Áº*ÑB"ÏàɉHåv¦fDüÜ_„sÓØòy>IžÊ±š¯øãþñŸÊùOgõ¨PÜ úC`ís±<ø¿§`OoÏ#™Õ+L »nLržA<öURÚ`ÃñiºÏ«†³‚>¡)~ò’æ Ï]é£ìÀ„&W±>tägÌŸkç´kùÌ[N£H¶X»-²Ù|(4BNÏ$>ÉŒš˜/× -¬j"j!•¾nÒ”bßÈ50Å&¾¥¯~2¡¸ºøtÌ ­Ã8Õ Ð 6rà8¦za ï€kÜÅ®`˜£ê–¥>¢Fœ «øãÄo MÆé/Èw ^Ïôdí¤½Ù$ÖÂIF£l ‚VT ãþ奎zƒ°æbÓyr8 «úÂïEVHïqß3W‘²3º>¨à1{Sp{)4 fèäŽ-\Rxîf‘M1F%ÐäñlK¬UŽŒ-«ž•{ãÞÉ„WÇ©À_û# `Æv 4aUEL†½•i®K åÌNØàÍ&_€×ï“¿p¿|~RÓ‡:pËu0wKÏóCGBMê)ø´ëp gªæf sW(‡¾BÓÇu@èíbiÚòJèC*tÀz®‰ÍË(O-™Î²!›Ÿ†:ò± IDATq÷Ák{>zαÇéɘg6DÌDŠpΠU¼3½fCn¨\[ó8à}üRÖ˜Ñq@p¿Æµñ×çã¶qÑÿÃOÊëCk¶Ï¨–°Ã¸õÕ˜ùaþ5cr¿Æ¸Žn¶9Ö„á@Ð˶M…ÐÅçÖÍBJsÙxùk= òas &vüd&Ô"a 5'Av'o(ûA ˜vÓTTW(h6ËH)ÐÝ< 'R¤Hžù!ôqù\‚á<;Òq‚®¹=BÔjù °òw“`ðTš#šLùPCÊ;GbY`ì½/<šJÇ çx|^š›“vŠÜGïv^dée‹¡«Ç»ø|¯ â“}ñ0,úPˉWZ5Ê¡¸•/æ •òŽ/ 5†Ž§Œƒ²ëÑxS/xjyºŠÎÑ^ód¿C.(t³¦Ný¸_[`]ÒnBYËžûü±ï†mÖa|#¼{åe†kÔ8k¥€µiŧ˜QR"ê…8*Ýu‰þ¾_Órø9|Vx)î™Ë"z—6ïF’µTˆè¶Òd1œÂž#¥8^¤v޸ʩ¥O$é¦ z,æ[’öœ¯Â!y*nÜ‘Üîâ{'/ u$×÷ 4Q#‘mn$»ðÐ<õ8ø…±â*…oÇæïÆ£ZQÓ˜W¸bï\‡¡=2;t«p²éÇÓ$Ý0c“ËCdoíÒÅrS*¯yйh å³Î\Ò"xŽ2Í;8ÑUYѰl…²‹ù‹†¼uÉô,ºŸó÷(¾ñtêQCs0Ðô¯î%Ô8 ,iò¹ú±ÌX‚tÃŽîy]¨ô\vÄL÷›ƒáÖ@ÈM׿¤Áec ˆñÔ\””íþ%èF‹ù*6Å¡]7czX ¬bqsÿ"Šaè,ñj\L&Š:QV‹J$-òãaB7¦‹°/:‰Rõ¼ãÙÆ£¹AéÔÏ!NÁ—ˆœËãó,&ÿÔ“ñf·õ!gàšûaò%ið._#,ÞOÒîXÖyî)H "kÍçÏR\½pïac¤C˜'uäs¾£óÆžÂf *¶¡ÃZŸ5f®)ºïª–Õl-Ó{DŒ|¿Õ8háT˜;¸ 㙺 õöÞ2†°%ý7u×&²úŽ(„SRCõñp‘œ`9 éžyÔsKà÷|ž•Œ léZ-{墅šéê: ¤–Gp/%åÛ8³W½Ãêʯö‘ê½Í‚ ´Š°B–KK‹¥Ñˆªl'›œIì)¥eñçß _z\ z±‰È†-D·!€l66›ûxÙ¢«‰G gˆa-¨© UÄÛ.Lív1ZeÇØ([Q® ír!ª!à%ß&i3k$\4,bêÌ‹bUÏÖÜ·œÇÒ>{²ÖvÕ7üŒàD_Tä ¨‘ˆJ×%.*ÖÚvô-â: çUƒ”K€´î‡°ƒp%ü®˜|ƒêðÅ7XæZÄíìû˜ï÷ùÃhÉèj§öÀ'ô£ÉC´ãz^\Œ9c*Ž4Ý£y¬Ì•ÍFÙ JOé’F¨Õûå?¯:­¨6Ñ#$¸7Üœ"SKmíÚõjvG‚me¶^øA£ˆ‰¬†w¥¦xÂÇÞ•@ïÙÊ?•ݨüVº”zGSyw²2_4®î}j ÑñÖ¢…U§‘ bìa®C5jß"X•AÖFÔvJm k\—ƒXüÇü(¼ý‰hµ«´|ÂK²1³v0‘Š“äq|þ¸l`µ-°Q¾"ÏÊ—¿"z°ŠRíBžÒÒ\z)…6­E~ÔÆ‹°7…¹Îé¸&S-ʦÒGBñðQ·¹¹Ùgö›Þ¼›Ø8yÜ"Ñéí €ë¢¶†ŒBla;4ê¨~ñ²HA&zÃRº “3àˆˆÙM„`ÈšEgDL íTU­ë4ˆ«ž¬™«07<Ãô; òH A-ñœ,ÓÈLû°ÿJQ­á«„5­ˆM‚¥ù‹²$+ù•ïð‡Cb…ÄQÉç[ðαÙä&›îKÚR§P2UÅ¥êÎÝòQÍ‚iý1ÿl“eð<…z¨h g§„d™õ á…T€›u«€Xî羃T<"ã6õNÄô&*qÏdŽŸ£ÐN——¼Ò r³ù+ŸÎ{Ĩ ìÞÅÊ÷‘@ʱ‹f2U­Êû¤d¯b5„`=ܶ£ÇÉHlù¦=åÓåAïíå‡"ù5u„@ÙŸLÌÄåfÚS™«#§ðÒ’®qÆþÍ HJ"h›«<(ìE­l4­>¶3ÚÄ[÷ÁÏ9$ºÚI(ñw{(¾×hè“uˆÏµÑuˆÛ©Q©ŸÝ Õ^®¼'xx¢7âöÏh9¶dÃ×ÁÑz ï…r1”p°½7Ï8B0¢B)ÿ Ì¿Þmi§î1Zǯë¢2äѪžæ9?•g+A܃&w3ì{éFw™g“H$Fq Âëf›H^ƒVSµ¸ßš$á«VdQZ2û=*kzš. à`x‰Izç ³4Ù_°¨Ö^¸À5¨‚1+ÔÁ¢ZÈ”byU«¦8CB±”á/~Ÿ áu Ú ø:£8,È& †N¦FS ¤Íæ˜ÜV]s¹ìdëöâ6ÌqÓ‹+ž’«çP{HÚÏH ë¸}!·$“±‰Â/£)Ò‰6:r KÇ0ØÅ¯öl®Åª`øn݉îõC£æ`ò|õEAÊWÊdÝäb÷0 KX‡Æ€þ(ý2˜6”EDn^d»(Æ£Oi²:r7k‹-èà*ÞI âXù3Ãq¼! z$\À•±È×±¦àŽÒ§ãHÍždr-û!9ŵÌ;ÈXüápýè]kpÝïq E,áDSD£»JÅZA¸TÔ™šu°F C'—7%'Àêýsû© F€„¦XɆ휨®ZŽ÷Y) ‹óÔoPÃ×ßB)“àMßó,Â<ô> Þô+„kÔ"R3,k€à½iU24ª%)6Á~ÞbW¨µO´|:K¨7!ŸmógÔ6o‘ÀTâ¦<ƒ‡1Àd$ܨ-g¸ö~î ñzhøtÆÇÕ±ÜGáTøIaBP&® ¼ÀÍxÙÖ†ÔE9íå:!”ê¶¿*.õ¥•kw§£O€¯iº¢táQ›Àþ>ÿÉ’6çâ^BYÍÚÚTwxNý&U¬F`%†ødpj£—G©­ Gªk Õ&ãxn®ZI¥CäNyLLta›.ÝcøRé 7ëÚaÑöâIÞ«É`blw×}é7 wDÜÖ•8€kFź~Ïæ"^ÁSyÓÆ[2Ê#$¹”uÜXÒ* Õ,•Ó¡úY£RrF•KSt*˜fc•qí]ØiúÉMæüR1*Þ[šBXßje½Ó‡í?4’æžng’ðA¼/…]¶y‹Ÿ¿/J",˜UÊqî D«Ö¡/¦’ R؆˜Röâ¤:I‡üñùÏÿø³\Œ‚÷*ûdÚ–_×,1øû‰A³Äwâ•›v_0ê1Å'G¾Á²|µé‹ê¬¤çøª0γ¸úÍí&,„1c‹JÚ•î7úXÿš¯`Ö3ün¸ç.‚¼DšwRU1¼Ä勈Žç8¾§Í&o1Õ†Èr Ôùi8Яva.PiŸ©‹“Œ.§¢¾ Î^xŠ\uØ¿#bä<éá™&Á«˜mÐÒpÂ]CiÝÎ`¨¶KјxSxHŒø0RÂú¨«…ü17 ŽTE ~4ú›?RTÐE¹ÉÁχõ¦Pçc6)žÛëÑ>iòÍç©äÙg¶µ†“Ì95&¶ÕøÕÃÕlPû>´;êö‡Dd¼KsHà¯(ÿ=(Wø0 VªNjDsÊ ,wuk)ϳ¤̦ۀÝx$Z†S"¨Ã‹«j­]q= ü™¡#ázsým‹Ïºw,à{£øåj3ׯ~(Ц/^ól Z-ÕKæÌ5ŽÓMa`*å9Q8«YoSØ ¼\ P7¨ÔEÊ"¬¬€9;ïZ¼Ñ<œ§uÜÅÅ—_¨Iå¨ ›¤·¿]rk£í-}Gq¹¯SïðÖ°öÂA¡Âv öÔp€1zÆ;0l–G°ãþçÖKSwâ®´+i¬ç†ðâ¬çŠ·c1P+ *‹Ì"ÑçDýïó–åôî=56®÷†þj¡{³ŠÌyyñtZYBݨ,,à&BÚPy°A*Í5‡QÍ©Ý9n¦4R¥¹ì}Ç”»‰;¡ß¡ý3¬HDœ.OŒ æ$‹½Õ$¼F½•‘ö À‹ )‚¹‡ÉÎØÂ|ûyg{&é3zä"›"nðóõðÅXÍ Q$†¯5úJ‘ Ó…T0¢`Ê‘×Í!®­þŸO¤¨Ê>³ ûWQá4W¯Iw*ª…ÂÝ|Ö# æó¼ÆyšÉ=r¡)YV–Ü“ ¯‡¹ûïBèðÑžæÕbßà+ÑB©ébÛ¡ô‡–"M)­·Ñ7¼¼s¹50$÷`;4»¦>4¤x¶+*®ÜÈK¬C45O¥êס­'p–>$û ,Ð-,7Z$ݳÃE‹†©³Q…6ͯ)ìD<àsª<EÏ`xÊs-…B™·1ÜqbsÂ=.ºB¡íK¶Ü çB‘±X7{C oý}#{•óÍn}JŠp¿QuÎ9pñyáTŽã• ‰[Ëk..J#›HÞjX<ùþM ¤€Z(ö»nÍ8Jey‘<žñçüøÅy—ÇÅcÿœ$w_§kü+±rC_UmìõŒ´½èuÅÒâC#Ü#de2l“y¼ÇØÝ|ôùÑäp@Á«éÏzŠ:¬ûš8?‰O¿#‘îC˜1¤ˆÛæZ²íKšÉ‹ì'é*$Fš$ÿa! m>Gîù’;6äFU[¾~G^å1ö°<'Ððà6ÂàQ|<ÄOru°ï•húõ yÎ@O­ùY²ä±w7oäúúëCµ¿“ÅÝ®JÈ@®pcÛH|–ïÈ´c¥ÔB¯•Çð?¯½˜MnÀj™>µˆ¹.4÷MJZu½eSol3‘›Ã-ÞóÇ÷Áà5ÊZ(5!iøý® =Ž¡6<¼øcž ¡sÑ:B3„·yïM4E†öÄ.Ö¾³@¼<áX§ŸkƒŠÛŽ^cÏ>Eìë–ÍàÌb”P ¶Ru«‘ÞŒÄxƒÔÖïP¸^×ë“û{RÝ&¢q2È-HÚìöPPaDÊj;SmîÀ]Í#»1”Öžp¡dóF†¬qÊ92zÄV&[RÆŠ7ªÚR’:®M ¤E©ÙóóÞ#D4…hº%i§Ù‡„ý~$ôI_]³¨ßŸ›˜yµ,ˆ÷bVà«ü¢‘d£ˆJdÈ`ߊ±D\h³YmFYl#fpØ7:S›l^»‹¤ÈÔ¨c‰‡eË‚e4IíÔ¦©a­²‰g°ŒêaÉÐHX÷ưléM%ç¤É#Kq-4r¶EÃå Zê;r­ŠÜÔkTZ„È›1 s ÆI‘ô€9DÀ}î½3›X‡†]J «µBÂÁxbçg`ý£z…u(†3Q>ÊIØžeõÀñÌóMqÓÕ…b8½Ü^6T¦§n°©àòqGÏÃÔõÓ)Š[½ r #W(lÄFEÃÞÜqNPv·¶‡^:-ÐâEöÈI¨ˆJuÔ$¼5ˆ°ã†Ú 1æKl-qPá@ÆîÄ:K÷[ô™°¯ú^Æä"צãm䈤×=OO@¦V½4-$eU·ºßjwµPýz§'è÷ÒT;Y¬3¬ùŸ=nJ¡"Ó0hV¨—QÕ”¹>Ïp$”„" *WP _O§MC÷RÌyx¬&vÈ…§Ó‡Ýã, ìêÉÿóbf'l€ñ²âebÈó£M[;·‡CòÛG ¿E,ìo¼åœâö‡_ìøàÁRæL‹C†ûq 9›ð‹õvž3ë2VñÿÓ?DæÄÓÛ¬…É;ÜZÇ ™ºLŒ(¼ ”PÙL‡$î²;û»’=ø`õ|Íd™Žã½4ÄbžBÔÄü á&oéÈ‹¼){±SÑ[•ÇŽR‡.¦ [ ·Œ½7 ̓–ÄÎI«qŽúþ¥Ñ³EQؼ'Ç_–Z­^M›­µ(2¡ÉmUy“ ––Xœ¡0âäKŠ©m…&`qŒÆW3DöÀŽ™ùk íV6TO¡AØUý¨×êmU4÷|þñ÷?Oaøœ¿ÝLès¶…"“09Bä6îï JükŜݘ¢.‘-cãÌ5gX‹âc‡ùxÜô÷;60;Q3 ýšŒ¡!—$º=gß‹UcJ=õq­¼¼35Y™»Þ¢KŽ–,a’%Z€_$£èÞ{0÷Ê_Ö»ŠÂøËâà4ôµíÅP@uÈÍÐΕÝè:¢èM­¥;±(£9®£’Y׬ó(\Ž*>Ïöñpxs¸²d䦔g@›ç|œ8ÏòdAXt{8ªÐi; %$…œuÖiÐ<ry 4 ¼ÑéðïgÃ8FïÇ·‡cBnz×Ìžx)žŽ ¯Ö8ŽáÃ\ÉÑø4hƒ¨ä¶eIÀ<µÊÄMYrüYS•=ãý¡¤X]pšSf3PÂb"“½å`/‰–,%Ú”;«Â]}÷wõ…Ú‹SÁ4ã)L Aàšlt[0g%„ÆsòdT4Èñ$}“vëP4…÷÷ˆü»»ÂŽS òsþvФ 36qoK4Ý–øåAgsð­¬4b-Œ2®5Z‰.ìç·ë|Ã6oZ)ÜèVô@ž¤‚ 5Ç’pv:æ½KÐé¹P™ÿ-xÚÜjÍ ÜIÞÌ$¤+ÿ›¡…pÈ€:ä}Ààóm¡Z•.€À^\'­ËN.îú%»|-õ¨Lþ[sê t»«Å•­ß *UÐ𦛲”V4v“&h:‡T…n»Z4ƒXMà!†uajbXËÚSŠNϺ) âÍ3Þašˆ¦ %U±9ð+{ƒI °!z»\F£G±Üsá¹g@Èšèvò°{±Úc΋Wx*]öøõfµgõ"±øŠß9yì öµi•3¿¹dï!lmÊK ï lt —×o½%/†yn-yÝ(¾Â±5c-î‡Þ5ð‰4ÍšâXW´;[CWëviÎ¥4³†—zú¥„ˆYŸ<×a]ßh¼ßü¹ÍAzÃ<£±?þçÿSÊ‹¸,ɇ?£7¶ÜDp—„†ÍèypïRy¹õ2l´÷ˆð8Ï®·œT°‰ÛÊ–L ç\¨&}Ö£…³'). T¯a©yƒR5½TTÓñƒÉÞC>ËÖÁ÷PV@¢2óâÒEw_]êÄ›}ó’hqÆß<™ö_®¦M ]Ó2pé%¤è£Êâ[ñäÒj‚êÏIdVÐjwA`&¡É,Ž&T˜h_»io*l +œŠurÿÔ¹;~'ëePPrŸÅðEŠ0óƒK‡¸h‘Þ—È$á±ì¨Oo8"³iɲá4};Bl׫Ìä×ÔfîëCÙ¸‰ZmfOZDÜxD³9!¨2s̤Æì¸€ýuSË~aßVr oèù"{ÄÊÐâúÝ÷qdÖ–jB©‹¹„ýX2%Vô¢ÛTüûÛõáJ‡Åþz1jM¥VM@ˆÈ¨*¥·Wëšù7¡#VŒ1SnCî=ˆ¹ˆW —ª„†ŽÃyrÌèWÅÓiÀÙárüžÁ\ ¡IÓ³Üà¼Úè_!iÀݵÆ„vÊ3j»¯¯gò=ÉÖ"`숿S‚5òÀ²¿¡l¦¤9ÒÔt@ œÁ ÇS`Ošp;pxg2̘1ßðžbí„?Œ\èA{ü£qëÙ¼ž%Цo¦ÉUÈL¦ATyÂ„Š¿ÿùÞ{»ù^§(j3¤€¯Gcgƒá[ù}µïÂ.„;Yö¸lkwrÒÅÊÌš†YC†ÇðÐôÌŽàÛ†¨d‹wJ/ô\îÜT|ð;±»¹\kIQ‚Bž6Æ  àb'^Dƃζ”5Âýäž½XH]J(ü…_¼÷•Œ3œçïïñ˜a¸tø<ät«Yi8ö^{ˆÔ¢ä-²j¹Â¹ñ\·á8ð`töšQËÓ‰`­ï}ô£ÄŒå’-â£sÂÁ´Ÿe,ɇð &mÄ ®¼_ô!ö°©öãÆXÑçöHáJ]{°‚°†ÃÙMGB¦³Õ^¬§a"°÷ˆ¥É5•]/=ÀÊ0¯ÔZ°Û¾‰l!xç>1D»+iüÀÒ6†=â³bƒ8 A®ÅÅÓáÐt9lÓ?EeÒ½%Ö»õšw×›ž*@¼Y/ô¡9¡]5r ‹R$Ú†àûÍ*ŒB–˜ÑöÐÝý–'õ’7"ëáÌJ'Mª[üô÷ûäéæûˆiFåô#«¦µ‚p³v„OìqsÈò>SqI̵·L¯!&·MWK“p$-¨Xä /ùœ p܆›M‡>š mŸn&?TU8ÖƒdÕ9葼µµ²5À™†'ŠU[’ý%Ðêqd¤&7„‡9 Ù'æ¡è ݬ"’²1Äl cDÁõõì“5¹­ËT­*û"SKî?w£mÐÛ—YÖ”y- ~Þ_Ü+ä±9Ž8O î7w€jDÍQÕr~¼šs #Çz aõµ­w;Y6¼¯iÖ@ײ°²õB Æ÷=P¬Ë=qÙ¶¡ãX…ÂÉCëìƒiÃ5!gP¦E#¸‡Š#,A®,îß®›ò9//¡ç„åµYBsbyßV`´ \L›É€­é •ßÁØLZÉo𒯽“5Dï‰åæoŸ9k,’Ýl!TR¿ÌÌÝÌ܈/k”u%ñìESÙ“/j<óº»ã+Ó8 Ëóˆ–'Ã…Æ•÷Šßœ™êÒ'Ï«€quONµ£T8›¿˜:€+vǧe ×¹Nbvë­Šp÷d+!3ÇžZärra³¿Œå÷8P2<¿æÙØwÕ F¬³<é 6ÿ=Ü+M¸f¸•©>|2Àià›¢«}Qç 1Ÿ+¢ˆ{ÁÎÐ_†Z†§’k”Üt 6ƒëè¿÷ÊIŠ·.ôaðl÷pn¯å8ùgz}\ëA¨pÊÙ….`d‘ eY3ªFJ©Ó²} {¥]W9áÅ¥e_Í0{…Mw€ó\,ŽXn>W£bÞ{>A»z‘À3¾ºÉeÉ ãéÖW0Ds㋬Y%š„b©$OoŒ^E¤'F‚Mo ¿ÊCªMuúclv,ßs…] sâåïÐÈ+rj5kÚÇ„ ”Lb샦B½Ù^ÝÅ !" ô5ÓãQ†fm¿CÝê”àÈek:FXƱ‹*&Å÷vá'l Ãu˜üúu‡cä£tÕ–×ÃRyVï(éýU:ìÓ+ó§ÐÂ:Ä,†Ë‹‰ÂdPûÈ稵Y”¬¨¦í”bÇ=y!i´J YÖ‡¼\v“Ê•øEö**Ó%4ág…•q8ÀèŠ{JB0‹Tþm6l1©E{³ @pBÇ»ô sÀ-¯rDª¼Å sH4´¦CŒ,’=²“œiLÛ4eÒ(#h~…¡ÀÑ›÷6›R€93ÊyÝ…Ll BÚ$¬n³ò¯§wù†ã‰ö³ T>E.(úk˜–}Õª(}„úB«-Øè{£ä„]¦.Ù*§ñ˜h¾€ªhÞ‚K[&B˜ IDAT¤´ËÌpe®çï1[T[¹Þåa~ô¶b7ÈÓQÕ9t†5*”µoÆptÂl”=»Ikx±¿¡´ŽOq„KöÝê7c™È˜NÜ<£ª¦7ûÙ,:*ïÁ˽M>Go?3«>äb€S‰ƒúÜÞªH¥uìr®ÍHP@àCŠ3Û Q 3þ]¡4R‡Wn]0òŸE$ŠSešÍ†d –[ Ó¡¢>¸L½d»Rq—š`DÌ:CMÓâ0ÇSË©W”|Äá¹$­ƒEW;É*J}MQ¼çzÔßÓþdD'.Ü5ìsÞ¾ùª€NUªbt®ó6ï‘ø’S feºzâ¹È8ß±›Ø6K|(‡àj)¤K‰v°~snFеX¡(ºÚoIUÜ^„²@ªjOG29ð£ÅÐ×{Åj¾"œìr^S‰Ç¼f¾=%Cô uªO‹ºŸ´äO†xeÃ7%kÒl%Ž¡ÕX€Ž_×ÍÎ×à;'‚–óu¼oõ‹ pCS¹ÐÜ”t÷ïIh4-°qã"(\Œ­k„EAÌ$§ëûÔ˜óyª>À¬TCÔ*úîBp1/ µ º”Üçbh]¯üñs Б`œB|Ö?Ç'Œ¾Ø+°õ}niY=÷h/,Çl›XpÁ­`fký†œÌ ÍÕTìlÊcÕñe)è.±f”ïGN#ÖàßTÄÕM*¨SœH6ªM6šªÅ<ÚiȽ5¶ö‚«K¦l¶ÊÄçø.‹LèÕæI¨nA›.æÚ¦QcÓg6®™™õpØpsHnøkA¥‚~óIçÊG³gIד+Ä’¶ÚÆâJÆ€–W«‹B&Š£Í†+A4öæ’„6œ…nÆÊ!ZB†]1¨¨¦"œ]â­úœ% ˜#³DE ¨LÅçÀbk» o¹¨FP;óâsCžôF‰µ¥˜Åo±€vO[HôR(& mëXè•›;zÓ;»u0Väó/šº÷XRãiC^1¶ìò v^YÃÆáàÏ"^VÑu.-Óôÿ^…2Þ…½øNÅ¢NP{žÙëㆥ¾Ó»ÁmÜâßä^_p”-PÃM Á^ì\åÉïD»›£â.CŽó Ô,"»§‡$†]ÒÉP4µ£øÀE!÷â…~Â2š –¾ç|ªÃ$9G7¯ÕÌKˆbê`UPÌ,}«-ÃzBËZ§j­ Íl´Ô0©ó X¨Þ££\@ÔˆEÈÑ40bÎqè8¾ E©Q"Ü$’Öå9ë½Ð¬Ó&bää¡5Í æ ½é,.‹|ì{·H 0Ãû AèqfèàAŽâs¤IÆsQ΢šXõæÔÕ- Æ ¹^Û~båhµ±¯DÖVm9@ŸaS_ÖIÊ ’Gø·Ï­ìïÕÓ‘©ÉpÖK¤à£ï¬[µa?!\\Z‡ªë~øs£…Ñ&vFC²¶ð¼¹ÂÎóÂb¥ùK¬~qp‘uo¬u6¬òƒ)þd/ùj0ÜTà-æó3ÛÖ"|—­´eVÌ‰ŽÆÆz„6¡õmƒãjq ‚nŸà£à5Yå ²ô´©õ8loPÌÝÉ+¼Ha›,:>?«‡ÊÎ=Ó|ꌴ(³ø‘QØõ#¿á×ß~Ì ™Æ[!'£!'û¨£i ņPÌÊ’Y"éÛ0§:”ìØq4ŠàµFÔDæç@©ú}c1ƒM}«¥…”¶a;[m¯‘vhÆ8’”¨#´kj #™_Ià ‚aÓTEøMd«+²Ç¿ïÞч W©‡ÌR¥žF·Þ’>\ýmBÑÁ»{ ¼ñßà\ÒFPû ±ù ⸸ ÑF>”ká91 wË 7ë ac+dÎ4ÈæÆHÃÚ³“yD!^V¼8¬Ê£—Kª¤`±s æH!ŠÍÏ>¤È©*b¶t+V{½OëS±ùrz{Ä'ÅóîÁE.hUe†ñ­/ú±¸¤:–q>Bw„•ãkÐÎ?þãßÿïŸÖž¿OUh  ñ}!úÂKu‰V7¿@ø4Ÿy«bæÍ dü ˜î<­ÆÁ;céã!_£Ùl§/Aä@Ô.œq=‹B#¯Ã"∶ þ U6™>*6'¡x‰H €hƒW@pŽŠjU”ˆF¾€€è)J/¨qA¼u#NzÎY5÷d©Qqé…Xƒ"iK8^ë™/&{VâOa½ÎèÐ Ä ¨Çô•Ê]¾:°¨y £sß1ïůܗ 09p×2çqa%m3»Ã¥rƒ€!*¬ë2Ã…W< ƒ‰ï ¢å5Ngƒà±æ±fB£ÙBDyÉ®'¸YâuÉü¬«Iìy¦ë?ðûüÀñë—7ÙÇÀvl^X“}qâú°Kšô!ײ܃ý…}øG”ò½cMCª¥G3ÐÄma“e!"8Ž·‰‘©$5¸9›ë˜…¶«$ë;FsˆÆçùÑdŸìú–Ù¾›ÜžÏñ¢#1Âcƒã–€ºHêVß‘$g`EÑ­Ã"ÄË›Hj@ Ê«´pQŽŠA•ºH2O:+K8Y¾dÌë?ÏÇÕÚF£äBðÇü¿ÿó88ùl¦ÓN>¯4^d¸$=­b,.ÒÂçªX27OH~x-±›pö¡ù…kT3ô¼Ì•ïTàXÜ!啨Nâg 뛢‹rŒEÿÿ”½­‚5YŽªÌÉs€D²@$°A%ž&ó&—\~MüÇ7nÞØÜ|póy㯉A†ÁW@Pì-iI{GV»ï-OÕ÷“y2bÿHk-­¥ª7t›†ÓèΰGƒ›)Ê®¥Éå‰Îö6¨õà ra}O^îUÎBã=ØnšÛx„šË×›} µvÜ#ã½ú3‚wzç_þĉ9«.‹~öàx’MŸb#">>r°¬9]òIãv…2Éß§–÷ý&Ltêµh—™˜ži¢‰ÙÔ õö4õÍÏ|á’M>ä¨cÑTL6¶Bùði·á…Tü„ЭÌoý}Íܽ•Šýô0GØÃ^us ¨Õ¥Å…º‘Üuº7­ñÛ$kw_wLé¿?Á,m¸Y±øâ‘ÂvH74‹ªÉkhë%äµI+ѽÞßo¼Óc’¤ë#¡y”×Ä¡aMxö )¾®o˜£sª|„%OÀªÐ+:­›ÿ±|'ÌVâMϯ’1gK}˜= ^þ±yÀÚ´ÝJ"µ´)0rhÃRh”{}† ­BÉ"]a²uUAÎB )Uy…K ê²2ÿEâ¡!*d–åT)äØÞE& ½†>Q3Ó D«ky·¤Ät„½AºD7Dëͦ4óŸGB9Ÿ÷yþ(ï!ë‚*2lˆÖ·ú Õ9`¼!òi .Ä&öYî¬X’ôõu^ü€›Â`.<–€¤È£"ßçb©VþÛ_¾)Ù9‘oú½ïÚüb” 1’†>¬ÃLz@œ¨ŒP§q$^U¢ØW>©øÒZÊ-îÊJE])ñÔÂ3€ËF€ƒÓ ë,$tDªUÿ^öG¸Þhþ´}c x”ì´¸ÚÔ4Ž—óÔ¡*°,ýŠb[(çÍÍAÛ¡²¥=âeÃ6ŽÍòæÂ­îÜÒ9P¬*ûÓŸþ”ºÕ”Ž`° \ÑÇö_J¤'\í¾$uþJHü,¶ôÛ ÔÉD aY~°èAŒÓµ§¶Ã}gëX¸jþ|NüIoJ…Sèàó{Í-2f6¨JÎùaØ©(˜–Ï´‹,;³„…ªMm/2=œ&Äį„sè-Ùå“2n=D5?¦:"¥;ç©ý>ÊÔ^<8 O?܇†ÂÒJH«ý‰7çè¿h½»žY ÂG1¦Jp‚˜\IYŠZ¸mЛ‚Ë~¥L†ÜZ}ÍfL¤7µyFCMT ¡:Üé¯õS‡äA¤—¸)²IÌ T²¥—édâ@Ñ|b²^Ñr‡ÿk@Í~”6­Š ¢"æ…0¨¥°ÀLgJ)|tWC§ÂDZ­?¸CžJ¦BÈSÜ&P8>·tDè¥ÕJ6‡v ¨65ÞXôaìMF¦­ßÑ^Ðw˜e‰5^ÿ‘Ãcþ´[ëa¥)§›™ ¥òˆtüúY ±Ý$VùuÀ™„NV]k ¥÷%:Ó–‚ín%–k}X+¹„}D"Ù «¶XêÕ]ÈÂYƒ#ª_…Ü BŸ¤H(NÔzÃä ‚ô¹CàÊ…*‡µy¨î+šºÈ1ÜÈØËJÎ>ˆÇàf´l˜™m]«d‡šM…ä¼If¹å)ËrcÃd>”;ûÔ-§¸ãßÏó,›Ú¤>'¿ ÷7_Æ ÂôzO§»év©jd8äQ\kiiy¶Í’‹‘Ô ó¬ï¨‘ãy&”G(>Üoö%¸‚êq×Fã7?ÓÀر„l:¤P”æ†ÂÍAÚz˜±·o¼á+$ºvw ØœyÀ‘Q|â½ä M6‚ÊŽJ;¹–%›ZgúǦ‡•”´¬?(ÍÐ1‘Wn©Ž Ts¼qHIoˆR2=¿߃Ñ~ˆ4†~¬e.ÉÂJ4K,çLÓPJ"ž0ª!bC:Ð;$ 𢵯˜‚Íœµ¡g$$£Ñ7ßzµæq@¬™`-_NÒMÐ!œÚ.±à;˜†DÛÉ,Æ2CöJ%RõÁ<%˜¿fÅ|‰Ði_£„"@¹&Ü] xƒjâ Iqƒ29Šö‹ 8F €–hÈÒœ+^!Ò ñ%“'nÇ‘Éø uÑìƒ|`ã j$è-þŒp:®îÖJÁ3K]/2¾°÷#¯Âø­°É²„[ C•›ð6ԭn4Ó1ðt‹–XÞN’Í"#»/kšÊÊr¬Dã?àc𯻮4±'<#ÔÇç,`U] 9n¬ rµƒÈ6‡"ç?V@™%¡æBF-›pêêfæ#+kb¿Ì=„ŠÀ¦Û”']ûVÙ"]†MâOÒ/mäÞû„ËüaÊÔ(/%4ozÍC˜D”!‘⬠GÉD¡Úݹìëum§‚6Gï"¥±¯¨s:­5ú쬳d“,\8ðnÁݱoJpNQm}¤Vàe‡¾dYaJCõ*r#lD³RÎ:^ê|JŠ+µhÇxnv=×´waf p81E´ÊeËm˜IO:äh0ï™D¢â HIü*\oí@ð8 L‰¬·¬|ƒniÕLÍÿsN˜ÚÂíC ‰iTåð]*R!¥lôÛ^nò‰ÖL‡ø¾Á^¿+R½ìZêVÁ, 5%E$æ'k^_cû„CÎ\fZ6eiÆÏ´(1Ó½TJöÍly]ÚI›Ì|}Á9ç …ñ‹­AŒÍý±– ð5jΪl[¢y'}Á×Ù“aiÉûSº ºldí²‘[1'ßÀ»}#ô¼¤óL­:àëDâø˜š°:cÅ2¥ï8UªeÜ „~›7l6Ô"@Z+¸QûówÀÙvù EÛäå#jU\ðwÄÂÎSm*auDˆÄ¤ i\@ã‹ €Ü…õ†6ÝË‚1•ŒL>õ,×¹¡äãüšUo¼õ, ¼+3êv¶Ü›²3^’æí,6#c>~Ôãøðñÿñåæ).\Whx´)8E5®ð€è=ÅLˆ±Œ[³ôù²•[öCÉ Éð//GÁ†—°Dù?J±ä¹~#¡,«7¶Xóñ쨙µ_¯L„¿1ψ̛֟²9˜Ê;Ñ OÙˆwƒ21µõUÁ’aƒ˜*§vÄÔ2´LF¬›¹wÖ|P1Iç7‘ÕšŸQM«J7äëö„-ˆ ј¾£“ŠêAÛ K ~–»‰út¤ ÌDt$<¬@€u ѱw´È1t~ˆ!ÆNTp¸ò WªÝ¨BºÃiefŒX•ÆØr[c–“΢|YšÎÂúΑ²ùÎ^-ª§û… ­gíí¤,7÷;ö3¯#Ö¹3Úþ—énõ+íôªº‘Jh²’Î8™êöʼn;–”sZ$RåµÍMLRÓèd»ð‰rئo››ÌÊI5X‹Jɮヿ»ö«Aƒõ1I‰t1òž$¬ ^ÕZŽAÇÌ> —ü¹ YÚÏ-L,Çf TË,ŒíŒ×uÿnÄÀÓÀW¡Ñ÷'âõM˜›óÍCNÛ¯Ž*y3è2“¯µ‰W8(Më4§3ö³DŽŒÂ´ÎÌš\‹(O BSnê$·Þuà;¬9bK ñf _µ6èÓÅ`*Äm!2È j(—¬¢<)mÞ¾ã÷Ž«Ï8çÊ·Ê~¡h–6Ηô0Yµ;²M×’ÐÉ;ß4’ý/ZÂ(ºd–¨_ ƒ—`êÍ™mÚ€²zTÄh­j§/š¸{¾/{ (W„BîÃ¥/ÄžoÞ®Q5P ”aù¨º>í·dÎ7YcÕëÈE÷ðò·¿þù÷j1³´GÊ^º8°QË7Ûä8$†s|Þcñßò 2gLäȸô·2û!tÎ4Ü!l¤ P§Ñy~57ü<.L°(WˆèÇùEz´±èô<7£ãÒ”µÓ=Äcù9 \ÀõyΔ¥ðåªÕVúîRµê.0uÅólØ5¤8.ý¹Oûhðâ|ǯÃÿìZ°óÇø}.3f³³8|âS—¾ G2rXߦdCÞšéóDǯsâQG?ò:-IÆ7‰[d­'{É•DœV¡ÝgÃÊD¬Bd{´ÍÁR0rÇíOMFÙºÐÌà†™œŽÈ®¹è2¥espNÊÇyÚWaóñ‹†•jqH?+0Q´7ºÀ?·Ì4,/|ß7;»¼Ûw‡ÀXJ§Ž™z^ʾJ ”>CoøÚGhz3æÐ¾ᮡn%óAž0'ÐÀŒqûΉJQx# s?‹BWT3|#˜{ª“ aŠ©U—?»ƒX…î…C;êÝPKcµ—Ó_ÈfSü¸dÐÖ>«"RÐì¼ o‚u“èíäУ³Ÿ ø¯Þ(©sª?úèI´¼T!g45\¦Íµ¼{¶Ïfr=ÇqäfTt¬ð¬À°Úyžtv’-eb‰hmoüdhN®Š2££H>¤id¦Ü\ÏŸŒuS3µ`P9×R\¿ë‰Ûaä-®íQ3½r£ØÙr¸CñæjlðU÷óÜwAÎìr­E´À?J•ÜëžI«Ú7{¨pV‘•—èè¬_˜JÝ%Á\àùÌë<úÂpwõ¡”^Ñ«Ú8-oeµæ¬2Ê~:žçYç)ίø,ÛZ¨ }úæÕœç‰oÍ3ü’Þd´0s›W÷íÍ=)l× ÊŒY3°pXˆª«%9/·>ýŒÛqÄ£(ø,Ô÷ãÊX'U·+£ú¯ÿå_þüþ.t].{<Ÿô¸.úID]ôœô"%ºŒÙet]=’÷_èy=é·ëçøµç“èù$º®ù÷®8%¯ËYé2¢ÇüêÇsüCþkϲ³"ô¸.º~ûIìN„Äãë?ŸDË/ã¯^O¢'ÑózÒõ¼Èô"šŸãùþ Ñó߇‰/]Ñãy‘°{/=éq=IžLyÒËõ¤ëIôþþN—º®‹®ë¢÷§¼?ç×"zÒ5v"Š?Çóg°ë¢Ç•Êçó9KÓ'É»Œ¿«Jv)=üQ(ÍÏLã×hþ8O!ÓŸDïÿ™Hd—=Æs<Ÿô¡÷÷w²—¢ù9.}’ÚÏy\ô|HöŸ×Ey’ð{|vv‹È®‹ø1Þ‰ŒÏuQü¢‹Ìÿüü•Çc|±.:ÞßIõ¢ÿtüB¿ýïŸã‡ºˆ®Ké¢'=žÉÁÿë}Ñ ]ôxy‰gú(·!ÇóöÏúxޝñx¾Ïu=ýãù„Í1¿VüšÒED,ÏR5½’¶ºÖ”·@’ª •)ÌôÆHÕ’ š¿óƒSëߣ¶0Ÿ’2{Î*Í£A:ƺ.}“ª½Mž²²‘’Ȫ…+ÞÓ‚G3›ÏÁ¤•£ç×<8¢•]·DÓôîfìù”Ó v 6½@^dU2`p§s($uÓ#T!ðq)©ç‰ï%É©Xs®Ì²Ê#ä#…÷˜Ü’Û¹¾ÌÏÂóÔ *åb©a”õz#ÎM6>Ù[Ñþà¢öwz4¿[¦~ΗTŠÛT“ÒZ)>“[ @ð.DBÿKkÀ0úLÁüµóÔˆkð¯3áÕçË:j'­sÅ8£AsïÕÆãáB[âmnº-€ÚÁãÞ\£—´™ÖOœw:3°ºé j]oR£”D1"‡º‹†ÐSZ±FÊB)<€)†i.g¦À–Á¬T7Oà æHÞb±š& ¦wýæ3hVñÒ±A¸®3À”Óí°:ʦOˆÉ¡rβ˜ÚJ&Žx¥hÒ_\Oâ¹ÝfƒåM^˜-@œ€6O7’EUÖŒ<Û´¦éQð©me‚)B“#ÉHi¸³ÌI7뵿Ä¥N•(?Ã.7I$X•e'[Ž£Oh&ì2 y»C%o/ü•h“ a[ ··¶;0ŽÈÞÊ·tmu–Üàñ9Tæ¥]ÜšNN‹ؘ‘M›mÊÕ Jº)IVo§¢·^>™êÏtY”Ï,ñÏ !–Û¹ m¤~,%ä„ámøÕ¨¥Á *m×J ™ÇÜÒ£ néEÆË²¢Ý$ú<>‚†ÉXÖ(µ’ëý;ÈÜ`†ÀšÖ!ã8Ñ…f¦z/·qúÏ {`OC­JÙB7¨¾ ¯Õu‹óçä‡n’ªKbxV'½l÷Ï.ýÆa‰”)ž#rWf<&øÚ$R Zv!<WÔÔ0íZø§,{àý®°s¤@•YjÐÌÝËTcúÿ]}s¥˜ûŸõÒî<TvyiÌIÔ[ëä‹yΓøI{s³¥FP  ]Lé_ëŠÎ‰`‰TÓ #ÙŒrÊ2Û±Ót3§ Ùç%S„`šµ×:;ø]uPz¯JÆE<Æp´Å@´þŠ<ÒÍFé3opÿ>f_€dj1B,›(œt2ý\ÊmP$ª-iÏÅH„“GÈF_¥Ü°1Y¡Q!]ý#¿qš£X"0X2wþ©_“­¥Eœ¦M„> Ñš‰®×‰¬Òò2o=÷“âA06ž€ÃaˆlL¶µ…þàÔ_ðP–)V•Àn…¬å —¢®°qmƒº/1ÏMñÂá;æ¥ç Rý: ú±KC,µ‰ð¢º:’œ=M”7<˜EY‹ZÇÕqÓd¿3›ã9®J²U)%BgØÔ+‘ßù¶Ìœ!âƒìË;ÓÂ/)Æ–8?­M÷ܤ"ª’›cö'o,möAdÜ ³yÜd^V±Þ©9—»¦j—¼–[k…ò`Lg¯nçÔêGé‘voeÊo‡ ã V@ìÚ=‹é´,§n/µ ¾—CÜ¥"oô°™²ÓôÈe`D¦4Zär›U¥Qu±C1°Uc¾ŸGCogü‘Ò?deŒPÙ´aQòuÜÌŽèÛ× (Ãè6(;—‹¤ul2í<ðu¸0 •ü^’¿ö—4`Çq²ûZ‘Ê\Âÿ¾N-òâtHgÓ$ÑÂ¥ §ÓêõòÅå~¿vžTUxR`^ìKF¯2kU¼a¢²ž‹P.»Q•¹©Ïè¯ÜëÉ¿Ë smЩ¦†C8/?mždçÞë·Ù»Ÿ'Ó°“ª ¾„‹(©*}Ë÷°›(ŸÂ¬”ŽÏ£pGcÑs >ö%Ÿýœ?—ó<‹ "5 Ûiç(íÔÀ>„Jlt§‰È21ä#Z¥8Q舞ÛÂÔpð ü9U¬gH~qî—J³—™I±j¨•-º†›T5®ÆòSW›q (%æ„ì‚ÚçÂÏ!óŒm†¼º{iyç=üïq#{VûîV“y€`]šCÑ} yŠ'À4ä8¼ Ü96.Iü5ßâ0ÁÃ>Aܳwƒhyÿ1¥¦J¿~~†ÑŸ‚¨t(¯çç³*Š(ÓV2du½ÍšÛPôy#àåÖá Yéìw‹Ó3jÚóx‹zçÎÏ&ïxØëÇCåW¥ìx5C¨$øØ–pÊMJ ÚóØ™v•J%3Ú²·µòÜ$áËÒÔŠJ9Ü‹æÈ¼áôòÓÿ^ÎHïp}—åWó n•Ø5Ù¶ä Ç€Oj’·*”5¶¤üŽÍ‘fé{$Ë ãÏçC> B«áÝ(UÞ!IÃF0·2Ji27îþ›öGÖ?;ÎX†y¶”ƒ¾/Þ’›Üß}ÒËåÅ+¨m<Èí‹Tmx¬ú7Ø0¿•„™3F;ŸaÓ o’>ì-\ ÉmrI}Z ×Ëî)öq^Û ;¸`míb†IuiÙm \ÊrŠÆ¢\ä1•e° sâ­oHº‹Kó5,RB¢óÓßCY.˜Â5>ØyÚ>Œ¡˜ŸY')k§U‹ÍÜK%¬).ÍF}¹«_›¹¢Âhͬ×ñß¶3~Œü5½eG›žg ¹ \Æ–•…X´;Â3©)–æÈ§¦Ö˜…îI? 'FØEœTƒft‘”r”X™‡˜<ŠÅÒÛt8ɧ5Ø2ä¨0 Á.æL#\ R@IÆŸôâØŒI‡ís Öq´%=ž¸&p¦vû×?ÖLà H éÙ~N° : ¿P¦5ì.r"‚ïQ[fr‘îH,À!T3nŽÞ¥,B2è ôG˜ä¡âX2ÚÚ.çLzj>4;Søòïý·ßqMÙ>…$p[œGØqô÷ó Øìøõ£È`Þ,:4g0ZÓWK²Bç¶;ÎâÇÛœC¥[SµZëÒH–—Å4{¸¼d“'9ÆáÓ/aY‡vˆ”¨LÓ¹rãõ+<‚mk~sÞ”#Šªg€zÝýDæEpžÛ”~üøAÿüÏŠÛèAÒÚª\XÊVæ úxoã}HAóàåëyS?ÖÆ}•“I‘œÄÍ[²dê×|òA@MÙØØE›SVxÞï§›{ÚÒâíôJe“£7*éxÌ«Rè$"c‰ˆ1â 5V‡Ž ôk»©FléÎyñs*Ϩ°¯B|H,hÓ"èÚÒ\Ê„A¢:Š‚rõ^wÇtö‚ Ùd™ëò{ÚbÏ 9Ë›#5Ξóñ©Æ‚©¸)cÄ÷³ôñ6šßí$¬›AZkÞU1iø’’©ä²‚ÖU—,>rKÔ-C+ä§‹– I& N_@â³ÜV!Í®ñ·(µªj×pQBÌY6xœ+8ØUW!ƒݾ‘Àìª2 8¾îõ†‰’íÔýv'È.ÇÄZ*çi[hru+£o.¿jš³9ûim’䦸ÈÁyié&Z<æ!Õ£š=WoO½Aw–XEE ?ÿ¼aªÉlݳpÑïõE¸Sõ‚vÿ•º\»©ö¤Ëb*I$ÅÇIXÚ¬„løê¾gV ¨D‚É”Os5ØYzïnŒ êzQÚf§b›/d›D·RuÎ&3fäÍ&Ï^ ‰ÙãáVšq¿«ª;ÏÞ6 ê©'Ó™xe4K´œâùðÛA(­•‰TóA8iÂNÅǦDÍFTæ»Îw&jÈlš¬-«? PƒãÃYý«Ž‚SjZ¬z¸Æ³çìƒ_ãá¢ÂÎ&¿äó%ÒÄC°‰êrÂò·jj.Gª–Þf)g0.µ‰ço'V›ØÆ]Z¯5+Ä7K:d(ÈÑá™á*“¶9¤…ž~:Õ¯'»,÷zûf¨è¦˜)‡rç½Ð´m ¦ãEqÐ’óÔÇ–æà2¾¬¾‹~³›6äJ—õ;úZݾóÈ”Çàs~3š‘“RãÅô_Ö}¯®5(™ñõ@ãrL)H=ŒDŽ©ÿ_ú]¢ÊöÀ XÔñ$l¸|H7€?€qu)ãj!ì7æW*jMa/›úê@#ûõä³w|í¢KŸ%"o· g4Å’$¼”IN¢Äýˆ£îØxÄ 6,o»!¦¶¿4Gl§ì,VRPÎqG`s†‡©raº ´‚: w¢A?ÐnJ Fq}þsÚÐPáZSß6Áš»¦Jš?6õ½V ‚À•«Y’1ês´"a¦ûÍT©ïªwðO ݦ|Ó·ÑÝS#Bam Úª—¦¨Æ÷;’S‰Lt›nfZkõ¥OÀ)N„¯oD©e´ºõ;Ú¹Mg‚º>šª,7"0íÖ¹£ö¾ð¦]~‰>wLí¯h?!m\Ñ F}àÜ$wï­&ø•Ï©»Ì:ü£ýXÕÄjƒo爳þñÊZ¦!~™!œ§s´}…ÞðKƒYW@¢–óVÐqåÈ`.=ĺxy“ßQU róõ€ÛÁÛLä€-‰÷õÙWgv¥Ý ®M ²fµð¦’]öüz¯¼›U?X_RÝ ;“‰4ÍY‚Eç§…ÏhskF÷ï2×g¢T=ßµéé‹©¥ð礌BÿЋMšI/¯ûR@içþV_­>ÃJ«Yºí'¤ð'kÑ.ÛEÈ$kq¿Ä¢•xÕæø/ô¡t‚êâvªOUÕæÑ÷¨ùƒÜ&Ýv6x#ÆÍ-µAÕþ5¡uƒ5fRIHøäõ›ÆcÞ 5® ÿEí2ÇA…ˆ)TB$¢ãŸòª™Öa×üÉ©de¢MÔÜ&î™Tjd›àkÔM-Üʃ…ýÝþ{:× œ£:J¢;¦°Í{­LYlKhgî.¸UØ-Ü'f)mz Î÷èi¼åqÂëm{g`—ÔÇ~ôts™• „ˆÌÖ’é*·ÐÀ”¤ÐëþPlXñÊ„R‡Ø¹ÌfÒ¯gúÛióX;çªjRæz®rCaº~%× k9¡:7ÑËLøû§~M •$'s+¢²ÈäÛFDH0Њd[AÃßSj‡êƒ—æÖ ß³#s‹—Í¿œeh{*Ô46âõ9¶™7Ê7M÷âÄÙúCÔœ=Âðîdûêð?<Î"b%¶7*ÀÞΉMõÈë0òÊ“FOEÝ©7f©¤ybÌ/†•Ë.æñÀTFÖÇ9:«Ð9aPš@‹›Â3Ô%Ý,8‰E ¦[ E¹sdú}_.Pæ‘6»”wÜ¢‚•‰:AG7Y,ņiƒëˆôûnc”!•+‚¨³´ ™ãÂ6‡˜a è7mÜÆ}LñrÈõåY÷?OÞfbÎj9+÷ÀÏBzZ6{`=¹^%›ñ³¼¸ ô@Ê/Ü®x¯ yçåPPà+ät^Þ€raqÕênÔvõZ0žžœ«iÏ“Á«[xivå(5¡EOrú£äœ%¾>ºµt°_I´4"ê|aÀÂ7ÛkÔã"S2ílH©#Ì àQÚdÅ uŠM:Öe…ÉgÏJdôUx2[ˆd‹Æ_II™të˜Z=—Uyèó#ÇÁC1Õe{ |M–ÓPsoŠ©’ºAŽ•ù¦m'Ö w‰ëi!élßnÐN&¢FÊcÿ˜·FH@b!q„²Ô ¿jb¯jKS&+ë§s¦}7N»sTƒ`e"O™‹,,p.¾#ôlã¥U3äO•/¢#L‰øHÉûwÿã!+ö>æ³[5­»~=û œ\%CÊp†d/iÊ ¦€„Õ·N\®¥µ:Ô=ýó8èÇ ™”¸ÑÄ­‚$fÛÝ ká¤û±Áñ€›("&–w/%’ÖWo–ÊõœÂîcð7å"*\`8 í´|D–™æîQUæ.ŒË5ò!¥I†Á-l“£îéQ|XõÒÒoæ™lËx¯j|oMÎ:Žaþ]¬x@ê³4†ìpw¸Î×Îä}ìFq³Eo~&F½©9Ši‚’µ2èhQ²”EÞœ)QÝ-|Lm”\g:Σ²P>ÓŒà9¬y˜«'¡‰éºLPI=@67k¼Q‹òr¬2m¬%³h›„Ó„k9û\úL÷ËRšÈ¸E\qníöÜ0žrpŽù^¥ÖîÆËc±7È'6÷’,>æbÎ{ÊJ”ì<ù`x.eΧ6ðZ=Õyw(‡ ÁYrÄLßé0´5Òÿ5Ý߯Ô\i%Î-‹OºÙ:ÏÇ»áæãÕi[ÖŸ;@cݽ¤Ê™Ðµ_‹ð%Ób‘új~ä1o¡¾kw(„)œøUÅëMN@e£×c.L§@3n ifÑÉh3—æVòFž D‹ë{M­åÉçÌ“’}BRè8›6A o˜§qø 5o+Ÿ©¨ÐxÖ0#±€3lRé~ÞeÇí ‹N§X˜Â-¶Ì–°%›ˆ\縨0$okj¥2¬Þ舼ÉÚ—¹mµÁß´Î;Ù(¯T{dZvu“’σx¬¤4I5F&°‚)͘¥Â}´y« µøçi~Rèÿ΢þ>$(¶QÁJu<ƒ€ÌêÈ?/"³©—í¿gzdé£!årÄ¥šX”2Cµ¸1:ç“—XÆÖ o]O3 ו# <4H^æé­å ÀÒ±Âæys ³ôÑP[@²¢Ik½žüFZ„€@ W±le|wAA_-ŸÝ7³I"KÉHAUú¬™ÙSÇ!èÃŽ‹äþå5-©š*«–$ØêèÑôEj8ß4?LÖ3ãY”e :tØ'Ì?‹N%cóòbü56‡5«Ë‘#Qg©ݱ$œeÅqxÆÒHO¨–•p¬7ʧÑÎhùks¾~E¼`Òn.æs qpm´“ÖÝuÒNµ1É;€Ã*`ßͰ ÖféÍ…’,ÁˆJOƒe7áĦ¯É‚y´`.ÞÍ^Y }SÒwy ‹ÃÄ'KP]dg±Õ¯þå˜yè¥T—zyqq´É²pjIÅ£—±µ)%áT"—CÄÎ u{ž¬:z¢·¥µÌTzÕ «­R5Ûtï¨MÓ­ ­žW>è—„¾±l¤›¢=X£AÃ/¢4i˶ÐÒ* áh¹Læï äŠ[¯Ç .׿[yóÝö½ÒØ?gS÷h‰#—¥Ï Z{®¦vöù­_Yh8ýž4¼^™—Ñ}p¤Ë—?ÌÝÆbÞ¸¹wײ*—Ch¸™œö5Ÿ‹e†sµ¾¿Wçê#”SrBn–1k/|¬6™‹î)•Õe"e^þF~©µ¡Èš÷yiE¤Œë‚S㺪#IJÈîö„UïÈ?µF&HÞù3[l´úk›YÏ’ï2¶Ð‹ ¡:Õä¼:õYñàQtQ<áä¨u9Šç@Cóòùÿ~WJ;M!¦çIÇñ¹²Â êÈó„1ÛéÇÄL,{ôÂF¨@! á S>7×¾Ô°Á6†Ú$›#Ó{›ñÔf¢»K;Öò讘º3 ›Ð Ç<ŸÞ …ˆ[©µ¿ö˜}Œß­Rp)Ú%^ø³ý§EÄn®>}©„¡ÄœýCÌéëê=&๮¥ÀÊ÷Cra“7óÏâLú ´1È]º°–±pdjq½û'{-1ºrÐ9¿‘•;[HH®Þ ³4Õ Ž"ŒÃ”u£‰Âuço-Ñ)),¤–.n´ëö—±óñŽ¢Ï à¨;ÍuóŒýÑ ±*5ÛŸÚ)‡«á’G¢#óYV¸¸•€‰¶ u›òSôÂsú‰ÙeóïУ¹9¢ì±¶›ˆ‡>ChH#¾Â`~ÖˆÞ:ä¯çIǤuóNÃÚtD<õœá‹6l(i¨X1$ÓJ¾njnn¸xž¾b‹ &H~¦Žk~¾ªFÀ°]­‹ò³ãî,²6-‘TçBçðЕ9{ÛQ6ÿs°9xF•™Yz!˜1è9ŠCŠÕƒ‰®rÉÏÅ>^€ßÁ‰CûZ4jËZ˜ÿû„›‹››g¸²€<ñ–¥–²µ¿£>|Ú\ÀŒHT— mÃ(”¢U×Ò¬¯g©¿ÃÓÝÕ•e-´€ÏÕãh|)‡„œ?â¡Ú†aÎ+ÍÝúžY a×:QÆf[rf`öš#½ª–kÞ·"p7ä. fY¹ l¦áF4³å¹1q”®‹ Î%îf‘ÿ¾++ª+ˆnË¢º!V¤-&7ñŸù»¾9Äý6ø[ÈSÔˆ‘«h`²‘ \Þ÷É~2!5¢s‚Ô"Þl¿ŽÓ†‡Hõ„´Mm;û'ÉJD8Ç^þö×?ÿ>R¡Æ0ÊqHàÎô¼™yÍÍkIàx‘¿|Cï®<ŒÈD¢¡óâƒáö0:ŽÏNò§×’Ä” г4Ô$VqçÛrLŒß’.€óÄ7t‚×Mm-½ÌĦz˜õ ž›ƒ“X¬]^ú˜Y㤢´áž7‰·Ó×¢ëýÃPp3ïÑK¬ah=Ίy÷†Û ¬ŽÏmçÚ˜^Êsvd’ØySÐ*l–%!¼f8jÕ¦¡H÷ÍÿðIçt‰}‡N¦ß»¢$¯ìÙJ½M{Mj³ëï¡›zI5}|™ *¦ S_Ð2ðªs´)^Üü÷ΰ2Ô`l’9Šò«.p3­eeW#`iƒ¥O#µ5"Žceè¾4Æ<–bLÛƒÔ`%ˆ©õ;‡„«êIæo˜µÁÁ ¤X#Ø6?ˆzˆOÍUÂÇ!Û\Î8|J ½ @¨{}7¯Ãâ猺÷Çÿü1‰:- v•(C8 jÖ¬xÍê®$p9t­IË©e0ÇtùpšÏµmÀ·ô/À}tÕÚ@ãKÜu"š5§¼…·SU^Þ¹s&øö`°¬E@_áWŽ9lÛ¸®d îóÛf_CEÝ­8ÝeŠ#CU1aæt÷—Ú¥„œ&Žf:ünHšmçZƒÂþ(II »ñ @v——•e†„xf›¾3½îñet&¹wÐ|è]hœ IDATíÙâ{‰%½L£õ¬.†‘“-‘IØA¶B 5¸ÑóØ”\fJtZ”ë¤VÇtÛ§³pžçV®8ül¶ä—ìòy$æñ¦îö®!¹ñá§¡K4Cf:ž*€i§J ®.¼!^óÀÁÃK‚àS=g“S¶cÒš ¼NÄJQ†/È å¡ÃNª+³/–È“k¶Âfƒ×¨ûã@¤©åxxNj/ï7|w(ä©€Åj|¾\/#£0æ F:[–™k¸Ê}¤Z‚vÍË‚w¶Ñ{¥­vi|®‘¬êœBcÎ}”Ðzc6<\˜fì"FÄHÓ§õTg÷ŒôTªï™þãï?HXÈ+ƒˆ#&/|h0ÁùCB•<>ÿqô÷gjáÊÍ&Ù·mjòØ(ö #WSæZöÏÒ&œ?<œ'.¦ë›(Z g;h+bü¼ÌôùùIçs"…¶]?ãó¦¼ÄŸfžï2_0ä)§`âßN"‘‘¢³ÃNR–T¢Úa¦º4F8„“ñm׺‘Fp­Šì×hç̲_|46$fŸO<¨³Aç*%¨ÈÌ.AÆJýéÂPVNÉ­h–µq9¢”2›™5RÀ@7gº~ a7•ª‘ ijºÁDû@šMw{£–îä¨ r V\´^xœ(õ ›Ý>ƒ3Òi逛c–¼ç4ÄNt«y+“Ö§¦Zàÿus¬n“ Üöz~0¼aå+E‰¬éÐ眢Šà}Tÿh†œÐ*4;kä/׉7+mC§}ÏD–P¶r|„-ЂÃséµKÙˆ¤…‘… Vƒì‘F½ÌÂtÈÈOwSïÈë¿›ãÇò¥ì8ü´⺇]7¬8an‰V%«iµehê:âSy ‹ çHxÈð­÷“Í6iÆB÷gŒÄdAýNX+VA/¹v’u¢ÍÌŠRqÈÉ› ’¯JM1mDiÑ“$lg”ΓŠz–W?‡›l‹UÊ º†fŽÅõQ`;æ˜#ͧ­‰6„4ÀÎè8 kKv Ö÷;Ç äëg¢›>©5ͨcjÍ}UXíjD‡|Ål̰OPbqñüfŒ (¨P«mœæ²Ðן«ü<—zÓõÝæ ÖΕŒýÄúL‡•P-q&¢f_ñ3²çWª°ÇµŒè“ã£~.‘*6UíØ ” \nDfŒO’ø¡ Fg… uN¾Eu DîÜGk<„, ÚœW²NhÙÜá½^С2ÇK‡Ä|„ÀÏѧè!´ë€0ûi|Ÿçú<>CmªfCé¦iåÙÌÍ*(å¨öýŽðrH1v8Ué8æä¥¤Î¬Ø×ÌÿkP„&iÕ]ç9*éró­›ç4ê»k§ûb•·ÐqÌh;ZÝõ“P̘ >Æ9ZñŒè¶\'ä²Ñq| ÂËÜykh‰I`âk( æ ÇæñÙúÖc•Îq²ÕoÚ«†ˆÃ'pÚˆFy0žØÇ²þMo\ÅK#EY?ûB.*ÚA@Å –¡š5"\ÙÖbÈPO+áô“èÍÐs fªƒXñr6Äìù¢¦(c8ÚpÕIg,ÀõFËw­@êeIëϲ;7}çl.áyƒ“Vôk㸎¢Ëíøm¦ä I¼ÿZðG²Ài^½‡OÚ\—Ž:û`—%yÔ6u3–À›Aj(C)g}ÚHEa¢7—Ogc®m6(Vѱ®êt&Þ³t›Êc±\™ÂrOs˜oij`^X5).2ÝÞº{¹ýÁöl=ºËæ4¥’ e… œ‹NeNU¥fM-¡R£Ÿ-ŽNØëH4–œßg¾èô_š!b%‘Øýk3¼F÷ó6îPZˆÞZ’ö`àƒÌ²IônÎôx£Öõ—xR²¼ÏPg4ÅAá»8Tt¤Fôšp×DS•HaÍË[ÒZÌ4`6 N² ³Ç·N𡽢5PÐ&æ„<Âw ÏÓäƒlšaŒiéâgá©-­ÍŠÃód0yf:äÛµ$áE»Å¹ ©´ÅÅ¢gÉΔê»C£ú×BN§÷xøî'œ±?¥BZ†ïØÖ„ŠgÕrNÔP77ɇ r£ýš?“Xsb$Å 0Î^&*8÷×¥œ\ß´·¼) g«å©©ÉqtªÑy~eù|HçéžNãvPò$£“t&ₔĬèV-`ÅÞ¬]µ»èä˜Ø'e¥@DFçÔ‹Ó‹òÔ“&BSâÀÞ'$Ì–‹÷ч±|ŒŸ¿aäÑ@ ‹Wzgt׈ôDx´URÐÀ|{>3ß¼øuú÷µå¥=%‡£SÆßÜ:˜Ây«šÝ¬ ãåOC„Ð~¹OÙùµ¼e¨ª%›¡¼¿NÛö™Ék™JŽ$kR¤«™:öª$t¢LYG×zgóf³œ:æ(¨G²¡PP—ÞõuÌTJÎvj³ae™Q \Z)œ!ÕYNÑ Ÿï~6C|š÷Pù,N<Æ–(.,äeL9)—¦Øïf¦»ùy|UAIÊÜ5µ–Ò4õ\ÐórWü§Ôõ¦(¥’Ô–§ÓˆB…ÞÃw9ðxês¹­0ȇ À¬ÿ…6f ²Å ?eË“¨o˜Só7«@ÒˆèÕ³ˆÃpÍnã¬@„Á™¦°˜_oN ÛPÀ $Ÿ(úH2 ~x–Tñ¢¬=ã.ϽÖT:O-¤WœpÍѹóœò’ù¢SÀ)KóŠýš™Ù6ÖÜ«Âàƒˆ>Àê›Yäbò Y’wÅæ³DÞ9t¬(0çb½ÕfºyòOf7¨þNyk›P$‘,cSJYJøndÓïÂè°IÌ}ÞÆßkóÇ÷|íw•á•'+!5N“#/8¥nÊÐ}».7›ÉüŒ¤œÜf(z†4«˜—6-2ą̂«¡£Zy¢4¶ ¯²!¬-NßtR§ÖM h†-¨ñ’Â0ó!'˜¬¶û¹HCíœÈòkµÈ/K¯O\Vk-`¹m Þ(‰rì3Bņ®KcŽŸAqkSge§’nÔ1½·¸º|¢ÿ–©FÈ›$\Ûg ±xG”_Ã#šé½æ`WL00h°ÖÇç°p„²ù^m¥02 Ä¢çꑽ)ìûНzÈšóÌ Ù2¢"¡p3ºm0¶s,Íl i¶FÏ<_\:¢"!óð‡Ÿ6NÑ /PœRß/÷7Ú ôêÔsÎedéå_CÉ{ˆjøMLôùë'f¤çWä§ „Äêì€Uû¡<4! na!$VÆÞÛžãoOc¿´‚1êã#µZç_ÿàƒˆ-–al§Ä¶ó^‘×»Lˆƒ™Nµ8ä^cÆ7Ô™#8s)WP·/4>´”®"0͵á×¥ @#;³Ü 61ýÓÂ$Nf’;’¦_Dú•^úàɶ°Âc Œ…ª¤¿g”IP 2l¡Z½hœ«>J¨RR%Òõ@)å—Yó¥XÑM!”ˆŒÉ£\‹Tß´C朙#û B˜âã°>Û7Pöê&£Ü™oqôèhwª‚g³.½ð¶±Ì{ÉgÿÑþÌI%0µj@J¿kSÛHåüß[@^¾ÛUbíZ–t@©¸|ÚÑ4;™oü˜ýå†^±ìsþªÆâ4$ÁPîE.ð6ðÒÜõ…ûŒ4Ã5@Ó½-U¶Ž†Ò%¥‘eÄÔBD¢Ò–~‚ÛC´ CYHÞ‡ýŽA *€ŒK»Ïc}œ«¬Ÿ9c&úî°Ûl”ª­›¿b §ú ¨%Wò˜kY¿sdô[aµIíšµÕÈp1 œ[aÔ9ÉîWÓ¯6ÇŽýRO}X@J›à{½ëAVaž'cŽú©qÌ_<Ïébs[AŽkK#†å÷¾G¨èhyChyƒiî:>•¶ãÆÐ¸ ´f˜ŸgÜvv¦PÈnôËÂ×±Ì;èʺӲ×ÍÉQ6‡ßÓ¯3«ñŠæã"Õ.Êç ò*XëÓâ}Ũl0³ü ’xâÔÈê»Î÷ŽÜ-€Žq ÿå?þûŸ+«TÉoÄNž¾³~ZÝÕ\$ˆèæ¤Á‚§²Ï£RÂ|ö£ß«1ϡ৺Í|’oNú £ÙtÕ…sÆ!5µÓtð2ËFŒë«‰ÖpÐCiš:Mì¤Ý`Rœ¿Î“>Ž#ê\âÓ›Öî‚2+jßiÚ_sWðæ÷¹bæÖ£Ê qûÏ©‰CÁ˜½=J¯³£o3ËFÇçQNÝáÆ¾M©SÒET·µËþÑ[›nÈ-ü:ëˆ'-H ã¦é¿†m`.ø!b¸’»R˜™åÕàslr7ÙlGF$eÆ šÐß?7›·û›AÞü’ËÛ¾?§n@¯)¦,³ÒùLøó(hŸ;'3{ ˜ï# <¡jX“Ød¡:“Ê7ˆÌ-óª8¦Æª;þ ž«z3?£Í‰Ûgªµ‰óÆ—üH‰Fhצ˜aQ¸ÏYµúF“Vú`ƒ0A$›ÓÒ“j‹M*À¬©–:'a{q|—ª³¸“8ãÄç賟r™>™·—åD¥ÍAÇ'µiè&¡L7¥$mZKo±1ÍùÂ_ˆiñ\“ÒÚ­·lã…-•T}Í4õX„ê*ï^YˆŒ­Â©ªx%Á§1Ó+$EvrWožýù‹)èKq‡+[zàŒt2WtwS)ÄU¯h„nkõõ³Ö×^Wéw !›×ä5"µÃ”âhλzG©ödÔ¼¤$Ù30G’, Ù¢cú²ôu(„ÔŽI£^ç1‹õÃõp!£¥0¬½?”mÛþP-IÃøš×2VɦHñÜ{dð„Vd¶ç»OgÅ ÏÖrm^3/Œˆ¾Ì‡šr”Ñ_Üù‡õiú¡fC/dBË€³@±F„BYhÚå7ƒ6|¦xƒ¤I×¢µÏƒo‘C—¤ÅT.·Ÿœš™¨-Ê,bìfŸ Fkª–+rÄ´FXy.ó8²hÓRovN?+hÞᇺ/ëÐU{èo,°Ñ¤•^?ï¯Ç°=ø˜Y–s²ôø˜jq€þÁù,~³õ`!<°œhÅ>ÍJ¡ng62áì*‰ƒèå?þÇ_ЫÅÐÈyžõJ78<+èèÙz¥Æ½óÚ4S²ÒW‰ÅŽB½Í2>J5Û°¨;‰jÄìà}‰žé»ù™ŠÁ à¥av‹ÆƒáfÚÔDÞÅGx?M+Œè;üï%¾š„+[è²{AÝr]¿‡ˆthÏò÷mÃTWW‘Ä}t¼ǯŸtþý¤ãב]ï¦k9=›ÒÅS°:iÙñè\âk(¤=œ±[Þ~†WoœyÚÑãæˆS!—|w'0h¬5ŠY…&YÉÙ" H²óëF;nÝzÓÚFÜæ×(<÷dáPnèаJâ¾5Ýǽ·Ë>Ϫê /L¦\ü˜LëËXÇ̽jºÉ¸YAç7Ê6­›Ò6¢QÊ‹¸Ì€³T¸y{ÊÊ”¢(H´ó¤ã×cÎȾכS¥~í0qÞ#ÊiCo²¶a¡T-ì¾Ñ:8ßÏBUz#ƒ±RNf–‰¬› >ŠUM[XÌL†¥/Ý”F¨còa)ÿáÚç;šc|D•ÂíWp:ø°pš¯&¢ê7=ˆ¬š–Íʰ¸·‹é‰Zóý×âù[æåC"¡Ùi#áX6]›†¬ÌµKì¦ê9'…ÍÊgÒJë7»Tµƒê:Tà^jæþrp¶IÞˆó_l6ö)ݳQ9pZ݃¼”1¸pó•ØÈ9Gô6Æ%?ÊÆ)¦Ì‘Å0'†Ç"Lt@Éæl¯î™ö8)%T½ûÌ'¿ ©i¥ZŽ·B\.îŠOuÕü;¨fÖï.\¥®˜Qª2 Ë„gm"FsÎÚáríÎ.«”§#¸go¯ÅJ·96µ"ÃÅ­ÇPÊæmyªk Ô­'}§pÂSØË XsJÿ4­± ó^ sïJÓ1à9Åm1·úXÐïY m‡ÊF·n>‡¥àˆ·ÐË¿ÿå_ï‚øÂYö)q2œîø1aÉ/úR£ÏÐWµPF©¤×°ðg"¡!âÅêø^ݰõØ4Öýëm# ÐádH„$Ÿ,x ¢ôRˆt–J~à¨)}FD% ~øòêª[#IcžŠu{“wG£%ë Æ@1e.#Ò%Ÿžh%Ã@\ï­:Xá~Ãá³6v÷9«}BÞ~ÀÛ]#æmÀq¬¡ÖFU7–—+δXu÷R4¥P¾í^Yªd„ç WVqãÁ^·ŒsØ>?Î`¸¶ÖþÄ!;•i=­c`õxŠÚ©ßoÓ ò(Xîùv!UnŽUËesl‰éѳ9ѧiâ^dä%¬EõöFÒv€ ‡±”’e|ŽSÁµeNf5Âj 49˜óì|'án\ŵd×O€þþN‰ RÆÃgÎÂ)·7=CŒR'/‰mÞÎ}ÙàØ—ºpw¹9™–Pø·YæL:A¹c)ÛNtê+jä’¸4wºJÁ…ŽCbŽ£Ž\ÕkÅ™OÆÓà&F,^Öæ¾o>}Ýórsè–êZ¯úy{HÆ´Éqäâq$,L!N³0)`@©¶b9Y6F¾Ö=±‰˜ª²x¶•¡«œè3Oä"¼òr»ô5±bÀmvß®Ü0ù¦ÕêáJà%Q6 ¥sš×´q]¦šQRÜð1µÈ€‰oX™ÖšÖ£ø ìTRW˜·¢Õ°fŒ'²ÚÍiµˆÎÚé)º9¬À †µ?x_<çW“£È2§ ¥‘Õ$YÛfƒ–‚w×wl^ $E@sÏ¡¹šV¨ÞMGýø¼>ÀÎiS*µþÄZ™@$#jÙQD•õÒ ú&e׃GÝèMûq€øLmƒ[@¨´êÑn-p—,™,Ü{LJ"îSÓVú&Yü„5E«'Õ1r03$¼AçËx#=ÓZW„ÎóGà)ÃáGYQ3“2ä&?´ž_ÀæJ1æŌͦ@6!r³ÁÓ³Ó÷ë‹o5t}ÿºò!R®©ÆÖæöh“²nµ"ã–™Êõ<ªÊ¢Áf:¸&h:­'±º¼H F:Jj Á†7,ù{™DZ J"ùCB(—Eëè˜^¼†|~~Ô=Ú3RǨ§(fš ç¡QÓ#IÙåþ+%±ªÄ|Ô ÐZNgEç$"›QÔ eB«Ú€y]\f9‹`€¨ˆß«öE ÔI3ZFs9€€CF 1¿žŸ±¾D¯ÃY‘2ÿìØøFú-ð¶ðóY"ÈH2°¯¢UgvÞBÀÙcGpÓõ~m¥QOýjÃoRÊU£Æ|3–[éBY´fô•c®–’ÛlŠ0òž§÷Th ݾH€ss廬ýV\ ½ ³õ©Äâû{pøwãa&ׂe‹Ý” )Ë[?Žƒ¾U õ§6ST- äZs0HÇ™¨Œ¾†XP[ GÓÌIœ×âÁKOb«’]Àë ç“]Œéͤ$š šöƒf ±¬Ú"nRÕ¥š,Ózq»›G–…rPí³ÞA⌷½µ ëy/A{É„i¶Þ&•ioÆ„ƒm ü +}‡JM®ÌŸQ rZ–$ÇaSØGïç:¶öB±÷h‚\÷³‘Bþ’#?Dš¹ÍÒQ®€l\UIÏ“DmÓ$ö1¢·¬¸»·€ Qxk"¶¸Œ+ŠûlѹÃÉ#Àæ/ßCá&Sèš7§…—0“BîI* àÝ€2­•-èõ% þRNnÿ5öõ;ËØãø€ŸA öa(é¬A’ôÀR9þÚý°ñîþU}Jó`¹ÕåñÎBÁîh”Ì[âˆ?\äâk`Aç9A.\hÊND—™c=¾•˜yƒƒ_–ICƒ?mJÂAÊÍú`µáÙàÜþ÷–ÕÆRˆX[&Yyë¨,O HÌMß,mž—¥^'Í®;”œçÈîÃÒ®¤!Y:23Ùé,ñœ1§¯éh bèC_]?&Ñ0;ŒË˜¼ÒèYêIäß!éhÖgñóšùK1W!UÛÖE¥þ_;7ÓçáêÝ‘¸˜ b&Yçí¤ýå¬)Tì sS+ÏI;¬p¬& ƒº†h†mXY´<£ß¸Ô>sòºq}Á¹•²?²ç´h«ÀÑS!kåX_!“*'qs½·ÌË=*É>Ix®F!¾*ŽCK/—ÕðCÞ<ì>ѪƒŒ,•¢;äµ /œšnKá f˜%Ç…·¢&]U›„tËìw%«•´%-ó \ à:q8’U7²W “-@t|NtË–î5±ÀÏ›"<ãÝÌM*eÃé×Û­DŒY>_ôNX•ás¶‰@ü»¼™PÌ?26‚Ë‚\é-wÙ”µ‹þCkí.n4óÕ+ ì›#7ö$»ç­ëé쪦pÝdâè+R$JåÕ »Ï“Õ$"[pÒÍ¿â†qã6¾6%›©Ok…ÔÄQ).¨$o9*RˆT®”þ³çl#¾ÄiT§#öˆ|³O"@ÅÞç(Òôžk‚½DÌE@H€ÕþGÍs3¨ÈL"7¹„0qScPK{ÿ>)Þî`x±p!VÌ´KÝÖ!˜ùÏÿY4x+–,BZÝóm¾È^y¨)©}AÙ6?¹+C\é1òAÇñ9 ɺ]“Øœèåßÿòo¿ã‡:ϯ©‹é6þu h@æÀFÏ”AîØP¯ä’4¤«Dy-–ʪ²ÕÐö¬HOG¸rW²¯{Å‚þ6I ŸŒÌ?ÙÍÏ·òç~‰o°f*¥SÏQ)ùs›Žî• \•ÅJº:¸ùïeÂè"RJNŸãm†¤Â0ÓH¯d†;>¢þ÷ ¬Û¹‰ºéÉŸ+ …AoÑĨÚl§ð;øß‡™š˜á‡‰ûñç¦õhWo¥²ô±Ì<Åzžæ´vQÜBa}sˆÜ+BiÁéµa(Bl€Òøü-OϳèøÎ¦HuaÌìTQå™ÔšÆùƒçcÇ·Àg"g`Eð¤Ü,¨©²€1‡ IDAT™ igÓR^[-/”~¿ÅyѪy¸¹æÅ„ê –œFWtLÐC¸¦Reß5Éõ<ï)Xª£®ð Àn#5ê³ö “Õ*M‰ôkô@)~+幉ø›Rú³RPþR ˜Yº;ŽD­p饤6N,Hvd@ÓrRÀØ¡bêº2ºÚ9 œsÏæ\"ˆÄÊïù„x+ÕÚÆ6]„vDù7ú˜E€Ï›Ø­qCô˜ )Zr³œŽ.åVñ9ƒ\tE1Ò¸&¬Ñ p¯™ù¤—0—\.ŠÓöÅ£2o«:ìTo~™\GâyâûÂòÔÜž_S¶ŠÊ*¨Ü¸ÓOóêÜ};Ã4Özt}¡YAkÒk¿+ð 1±%×ã.rɶ¦lCëtˆÇín,¹Ž¬”o®5Ó%9*”¥Ô< \uÊ)÷oóãüQÒ`¹ÆK•)m Å¬µ?0wC$%6¥ÏY±7cÚƒH¶”7¡yYÜ(¦„. 5ð/G©"tqÝÙ›Cx¥"¤2ù-9hïñ+°aÚTå,ae“ážœçfN|µý“ûI MÄ6höHLDo±Y}¸\Ôz5»;Ò\#¸þ£üÐò£§!‡€…è<ƒõtɲ›X—åR )DtKéѦ#]½<ƒ’}äyLǯ#ýœßqÌŒtŸ:,™{R¡Õà=~ ÒÁ‘ô”±'I˜—Ò’¹5¡£1·!¬ÝhævÑc…=Ýn“£YŸ¯ãø˜™ç:ÝOâãsº±ÓG¡ËËW‘Þ,ÈÇ(ÌÍRûôiIÀ³ËL8')w1½!7Õêäôu³B£ •èÿâ°”šS¯3ä³DMU-[4øc=G“Ž£³XÌVÈÍŒG»ÂS€>¾©º4T‹’wHƒ›C Ãj¬BÑ'ÅÍr_’G¸))ò±¹¥víØù¡QP;Ýà Ô>ÝŒÏγØ H"ÔAiF~êrÛ $dDGÊ>.ԭनý6Ù?XÇÇr‰,óÀÑj®·É&_­-nn\Š^v™m>–ÆT(vñ÷fýx‚œ~§\~£Î+€Äuë "½ ¯”L;Åù`dãUkmªTÍ’KÃ~oKKäôí%[>ªUÎ[ÍëT¢q4èx8?®¶?6OªŠ”5/ü<šß?œ5l-MÙêÖVÛ—–»ÙŠØkKÞ ‘*\œÌsdêÈTr~G–… ·CЖë9í Uðb¶Ûùqi|?è)óÉév¿Æy*m)Ì1Ö¬ D›l~¶×tfÏ ( JtDša°Aó+Ín´þ»…LÈæž¢Ç“ˆžôBOÒßt|{!²‹èy‘ð1ßé“ÞßzÊ ]?•èRš†ìúIïÏ_Æß½.’ëIObº.ó‡:6Àõ“®ßÆÁù…íc|¯Ç“Œ”.z_¥]dvÑõÓèñ|Œ_ãǨ®ä£ï¿ÐóyoA]דžO™_MHõ¢Ë”þ÷y½ü¢Ç“D„žïïDô ½®ñœžO’çs®g9ø$DÑCx¬‹çEÿôßþß s‰^s>žôx¾ŒütÇëkÔ{Ï' =‰žB/¤sÙù“èá‹n,¹ë¢±ˆŸ/D4^?Æé?^îO"ºˆéIx±±pfózÍ9V§Ž•ìöy•z½¯ »Æ¿<çÏqÍÿ¦‡ýüèùèbø)öò˜íúIt)=â÷ý_ævxä”ǃ„Bô¸ˆÞe.îçED/±ùbc>/z^OÒkl:ÿvºôŠgé첟d:ÏE¢ë¢Ç‹/úñ¹Dt½Œö¸âWâ{^/Dw¡Ç“èe>¢‹ò$Ó‹èå%n§Mo¸€DÆ×}>Ç×ÕùuŸ/[õX4\vãÇy\ô.2Þ¡¿OzÐE×ËXÀ~À|ÇsløëI]dÑ»È|4J¿]ó÷ïýz¼]ô˜ëð)/ã€Ñ‹äù‡ i¼N¡ë9½¦çËx–Ôäîî.q@Íjó*®¬óh?* kUN’®ž3m©%ÂâĦÖÓ0#&C™²ÎšGpŠ0XpfY†>«Clƒ–¥[Þ*ð. mHõ×õäÖm–|€YâD,Ÿä„§—½k–¼ÍZÿl ^š`²2 ÅÊÍ ¦nkÙh¹^–ÆâWâq¥ù¦Ä¤“Ú‡¾ŠbÄAJ ŸN ¦9"fÇT¨¾’Ÿãû¼m}yã¿:|Ù 6ÿ[Ïx‰ù‹¾DXÊlñ˜XÄ @ɲ‘“à¢9PÚ&w1ÃÅÐÃ-]š“ÙÞ¢ƒiõ«h¸¾¿À ºD¢F‰q¼·fŽX³_ÍÃKt4˶ߠ3ÞÜÆmýK\µHÈÐKõ6–>r Ê™GË Ö|^yžJ‰”U•µ€ˆO]¡MĆ ß¡BÿÈg ξ98¤S›†é¾Ëúû¢·ííÜůÿü':ü #š~N (΀9ϯ“D„ŽÏϽîh†âŒ 7·€ÖóDŒZqìh‹•†ù²Jf©GÜ[=ḳ¤Ç´ù™ŒÐ!R¬1oE³s ½Ï^²]Cg4\`Ûy0>”«NÈ©‘j•¦¡^¢Ä¡†(KÍ4ç)?=³tÑ‘Eó.ÀðûŸ=xFyç5!Ç0w#ΈïŠ.åÁxªŽ™RR;‡7´ö”P4uPˆ¬¥<ƒŠDÃÌ"½´Ž!yÑ5þÜhõ6x«¿²l–i,6ב‹ºÌƒi&è&ÇÔYðdÝqH-h1È€g9¡J)•f‘F¹Üf€`™¶:f¦Ÿ©ŒÙNAß"‘Ynª @„Í}Ž·ÜÉ"·hʃӦŒ‚AA“›uÑ^4©‰mÊЀØQœ‰ _[±º,9«³}Ȥ™Tû„ž›0J…¸"]í>6Âi¾\;Fe|mT­ [3¶Ž ׆,Ñúgü-?# ½&7Áb4$ØA¡™¨ˆò¦U¥sÐCˆ—5RŠŽSƇðý¶é ž3Xíh´ÝßÄ‚i·í×H][1erÑÚé‚§âÿ³lhIºÇý‹l ì–¥¤oçgV±nöy9âŠl]gùÝœâhn›ZM«¥° %”œœW]ŽÕŠVHes¸q®“ú̱`*Rö.±À+E™§h«»Úy(í‘(ó:ž—Œ¼±¨BË3Ù_‰lõ~h eÍ™#’¾ÚT…ÎR f@°ãÈ—z»Šéwñ«J´æÒŒ“_“å÷ÿ^¥™àgÑ«yžIQgm8*2z m… MÌ8HCmO¨þûnx‹¤«}kÊS±Á?h\ uóDî–¦ò`ÕÞsíD|Èó9§±{7 ™®ºÐÐÆ³g¾°¥jÀÛØ+=Ðs)×fv7F:ÞV ”ëô„ v»Ð2‘vÖy¡'ðŒƒ¦ˆ+“¸Š¹Ì(7” %¥»kZkÒmõ¸’\ Õn³ˆSƒ„) )±“]f©,¿o²t¼ÏÁÝÃ~Â6¾c ö< n¨ßün w°„®¬lllV›o̦ 4Ò3•<+PäHj,ä”Ä 9{#äÜ¢Mp/õ¯ÙÜxíäGS¼µQCÈck§˜qcjàcmœ{ ŸçW:f&ª-˜é Ixd¢ýÅkS´¢øÖÈ*Û~e†ŠvB}îa+$‹x-Là¦aëH¢®¢7e•R3h›—½tIYEêÂ’eVÙf¦sîÜî!ÍÆ›¾7öêÅ©kШtJñð‡‚N!R ÷Rx³]Þå>_¢)Pºn«sâ¬ÍÏŠÙ“Ìù\ó²F›Qç»Gý»T;õ%ÉËZ€’} UÃþL,«,íI0¤“˜I&Ì[Ã&¥PRô1µsår$K^ǯq>T?%Û)*­9Ús =Cþy"‚=êÔù˜RøÈZ/gègÍp”2zÚí‚Ílíõàß•v¾·4« £Ü”¾J7JG(òÖÑÍ÷˜Nñ±’áÖo;±æ}¥YSrKŸ¦¨T #‡f‰S}h>Ûƒ3y½ùq˜)]—†âX‘ ™ï  {„Žhÿy’I %ì”÷Oðh!¸ª÷-gr“@ µXRCTûºPâ°½…€®ŒÍÝTM6G¹†N©åQH.X§ôÏxž4³}³¨‹!®!T»µVG«Q,§žtÄæPü*Œ"{´u_Ü8üÅÜÊ^IIîðõÓ¾ê¯"­©«Šñf’ŠVq[©èâRá*ÜŸó†¨ÃêÈÀÕOç@”Ì5pÐn½êd”å"ß0 øŠ€–ªK±8]ZÆÇÌ"–‚1½94”œ³ëÑZHRNÿÓûÿåÏp<ø^ì…¦r…^žCrà”¡©² ”q_¡Cz^O¢ÇÏIÚ =úiFO!º®ÇÔÈÐkñ“®Ÿ?£»®‹øÉôxÏ…ò|ަüáý]HžOúùÛøòr‰ë"zÿeH'¦L…Bk5”B?§MÌu kÐkj­\^3t©˜—ÇTA1?èz=éIOZ4"R{/y ]Ì”hLן僦,ŽŸ“Ÿ×ü…ñ÷M•®§Ìw1µaCPFüz<ž )¢øºöÛ5´L¡§Ò —ðLmJˆç”i(Ñcè½èyÑ5Ÿñøï!Å kH€"S†6Ú÷ùÜå!ãݹä…üñêÐr¹Äc>G<'‚ç—ÿ{Ê/tÍMù ¡µ²ë¢Çõ¤ëyÑóñ zŒÍpýüI׋w;ÿïËõB×ÏŸô|<éù>>×oW¼­ñ(\âsÞ¨ŒÛ+™e˜K’ßtú€NLÑO™:ÔÀ"\›Pȸ`€L¹Ù³æf¥T‰IOÄÚ‚•ôš7*ÝÚyzƒ.Çâ•M–ït0@>‰ÜU^­Õ”"†Ì¨JgÊÏ·(“y˜«˜§º‚o²™fl…µ‘fnY††VÂ2M­0ÿÒ‘³î¹¦o~¡!õ_ TޱѨk-ÏUjî‰åmÄ¥ÔŒ¸˜7ò+CQìצž_qÍG;Ç¡±IñÆC³–cµÒŒF,ˆVqÖÔ¬j¹¨k²ÔŽÏ4ÀͬÁ Žj>Ô—¿ýå_wÈ6§’ R¡æð@³ˆ«¹BÖhÎ<Ÿ_é….‚Ý6¨5‡[§ŽXL‰mW±_ÍñîeÒboìÉà¢7u9 –“¸Ñä¦qTlXéhÒ]®sžQêN°w%†lX£½â²ê^y燅ås“¡ïà3 f̯£çêÍ+½Àô*¼1éÔ¶”G3®ŸÛÃü„Ó)E«.ÏÓÎb“§nðIöE:¹$TJ¿æCg‘gelÔ²Tf$.c¸Æ§&W‹š“ưý‰ËV•Š5µÆŒµ…Ãàyú隨ZÙÚYä4-`?¸/G)qĘ}a:²ãÔdЃ¡d†÷L6FIËÁô é?ÿ7NëÖ4SqÖLªflZµád’rðr›ˆÜæ°4¢Ö„ˆ>6&²[R„* eØ,“U a‚z>'Bgì³€ Hp3j¦voLãÄ•ÇñwÎAúÚWjÏØ¿jNôZä’†Óx͸ŒÚàô]N8Æ`’<¨Ò]]Š‹g$Q!7@4̱ ¾:çu~„Ò }G—|«GÒpö0, ïØy€A9’—Ò•$r&¤Þ.ÒÉE,»¼Öh>®Lû|>f4¶Ñå³qÙLÚ,†hÉ1aÈýè&á1'§:Ã?«¼»èhÍÃRGu±ªÉaX¾IôŠ^^æò;ªT†* ”®SIŠT&CUýß‘ùåHÆ|^¯øÁÇ Ãë™6©i¬A‰A0ó,†vÆ÷{ùÛ_ÿíwÿáË[ÝŸóÓÒ4`°INjÑ5ñ”òÖ I·­Ñ–r ªW÷ñÞ³Zš54fÕ’Ôäl²ñ¶úóÒ÷¨’n~»I@ðR'ÒZÇn= Üù¥;72mÒn7ùCýã¢*uôÂ¥¦Æ õ^X@ t›sAŠéø‡2ቅË)cÀ&Çâ;¿¾¿]´ê©–ðÌ8/Ú™UýÅV„O|²ÑBAŠ Bl^D©vlò-0–6=J«•mv–0Vðù†ƒ*-Ä/‘uêOµÿ5ÝDçÔöûÔ3o<”Ð éü–Õ¹äÆXº' …¥‹@u‚r&a)¾wo=ÁIí¬²ƒ…‡­»Ù?Å×yÒªz›OŽD–œ²ä’«gœ2ì¢hh h–¤&76;(Vt¦B-f¦–óMÀ¦–êU&wý  R;òKßs²Hø}mËMÒlT7à»ûºªÛ¿÷Aqqã=¬ÓaÔ&t«P—zi”ò)2†+Y”êÿ¯ì{õ$Yrs¿š3™@"u@6Y°ƒï+˜,1Znb²rðå~s?Å,ð‚R $p¬AH )"kîÏkÏÎìtwMUfd„ôéû3×X¸˜ÑBv7¥_Î:ÏýÏ·¼7-køæCœÙ¬Ý\¸Å‰xØþOM÷Ü~þG6yp4(ÿ*5%M­wQèê‰î»]×Ì)¤L2œlÃ’Ö[oSbȾ¶ƒu¿&t‡RŒr¾~á‰+õ5Tîým«=õ¼/t)?Ï’!¾'!Öû¹Ï‡Öø–ñ:uÍJ”ä(&ÃÐ"«xnVœ9 AÚn}¤.K‘^ÖŒ®Äå¢;HÓL¤ÒŸ=öä9›Ð J'®¿ÇÄHë ‡ „Ÿ*hMðãÇ›š9ç¤ÏAÐÏÈP«‰Ý0-R$9â7; £,ˆ¦Ké³±ÓµÖ&×¾§YYÉ6Qƒ®…¹ŠKÇw ñRÆk”}¾¹ùñÝ|e.˜È;ÏÝúÙòtz-o’!|©Š•Q (%×h9¯2|míóƽ$Š!VºÂ߸ͽruhÉ”¡¢oÉÔN þE±¯}˜&–uÖ‹j£rIe.ø#D \ŒïÄÃxXDlgà‰Þ`27ž„Bù›ñ®ÿâ{+y—O®1ËTuÏIÍ;ø3Á¡µ"§Õ§fmKIWÊ×Z}†Â³¬ò÷Në°²½ž¼ßyE†}æû™Þ^¦½iöç¡µŽ 5†¯sKnlbŽ“f~Ø,L±Ûò¬Â)oºÕ®÷–³:V‚8âˆO²GÕ½§‰?%ŠäÚ?ò?“[¢ì/—ÖÄ­‚2t=2ÃH3%È"@Úd>K2d†D¹NüÓÎ#ó3sµ°Œ=CojU™¦\›Ä,¥òû»®H:ý²t×)™HgœžÌèS[5ÞÃÉ8º —ækwÔßà(¿ûWžv=·ã<`¾¼ãw€‡{3»¸½‘üwôÇcpø’רÏÏsˆêT‡¿®ÿ§[üq ?dðïCüf—±»`Ç0»vE ŸS eŸ§wEâë9l«ã…Õu½ºûGúã1„VÒ‡þμ~Çrfàì!´#f<ì³÷~â›ØNÜlz)KÉ[êZg¡R«’ ŽM{Â[vÑI$\ëÒqb”‚W½Â‚©˜ÙvÝZ`ÇP³žŠëú?†ÞÍHàr*¤â ¹Júåæžr[óØki5Q2¹-ãÓÍx#WÏ=£oàãü¸¶Zær ‘CÏ®Û/0< ŠF\ËN^‡Âdv||™(Güò8í&ÅÜi)5¯dÚ*têÿ¹^•¬Fž‹„“";Òéåÿz#8Sõ÷5LÉJŠ Ñý6ÙLµÞc/¡®ËÈnðˆì…&ӹʒ³¿Üu™Gv†2ÃÌÌ­n<_" ÍŠ[ÆCàƒz=Ó51¨zdxååq¿+ÿ'8A”¤\²IRKTK»çz“ž»ïbSùi>Áܳm'LY¾N¼9#H“s”&Ï¥#–²[2fî¼$Öm$8óf…Š’2<Ùº{Ë2Ì\ãá='>–HªÉž3m‚ÂXÄõ"ά¸ñýuæöü(„ÇþÇÿ ¸ðšˆ9YÉ¿ÌÍ—ÂÑ—[’Þ¯æ´Zh é‹®Rt¨mÅQÙMžÝÜá*¯¬ª–K¥áŸm„25ž‰ÐÚÏÒoÔŸ”·:ó¸I• {¢Od1Z3çùŽîb=Zþ2íÈ”âתô¶2ö!ÍÞ+Ýí¢n;I…ß8ÞJœ•ï˜ ìÑÕ“Ù=}²ò{nÅÂHÊ€‰—…àº>Êi] œÄ­¦¦ÛûòŠ›'o ‹ïù{AvÏ3†jɧÔaÅÌÒôÁË;מÌ^ ¡›ÓâiøãÒl­·X©(¢iëB-Ïüû߯,Á îÉq¼;¢‘“…táb-=ãïdYè…Z!%ò ’¨äëÚ>i*_’^@éžII¼Ä˜-Vsþôî9l®1Ë7a4o|‘ )e~‘¹ ˜îtœœÝ°”$äL·gz·¥ÊÆâ"þ‰QM“éx¦¹×´3¹áGÖ˜@TqŸÕÃߊ’UÓA}û¿[ºR†n+¸ÏK4‚ï6UQÜû;ÆI¿µ%B—–•Òn1ñnC›"ëøK¤ºÈ-Ÿ,OŸ5}f-XÊÐÖ s¿aq—#’3(tÔ(Œ¾±sáx‰q((#/VAk¸¹,ýO]x…™ ¨”Nò#IoŽùg•OÜYiÛ½Ät —Ô[:ì¯ïacéZ©G‰Í öó5Tw7"G=¡ã‘»ú–Çêz]y+®íýDkm#$BØu}ÔU=ørb›–Z/Lš"ã—.iª> ¼l@èù1Èñ¾¡÷ÐDõIDAT“J[3šÊ5T³£ÄEgœ'D%½ 6NýG¬.Wì&ù»¾®Ú2՜߰mqŒ÷©38†Pæ,ÛÐê~_Pu‚Âòõ%‹&n_w+hÙÒÌJ4¸kîV_tµ'¹ŠÈŽÊ°”‡-©&¢a*¹Ù7tjWÁ=36o8ƒV¯"ö0¹Zi¬Å§€ñÛßþú—?†±Õ€ÒÆK¼€“ññüÀÏöçq€ø„öqcipäXìð‹r(Ó²ú¤O¨“O<Ïßñ’ÉŽ”2‹{¸ß’ù?aĶõÞ¡/ É\Ã+ê8 j¶Ì¹ó84 …vŽã9Þ*3¤wŸå#pGÌTŽ#m }xt‰ÊðêZbÙüšFôCÓ"8xdª}ï>¼ìñIü×§÷pσíúÍ«â5óÈ <ÏçyâëëxOtU ÷ñ»*€ÿí2áÚóÄqöá×ur©eÄ«õæÐ 04è'Îã€è ':ˆN<Ì‹Mè}”ûÏë÷è¡|b0ÇãsÏG?$ý<ÝæmÀéìïlDí}Ó¼½HuFˆíâ\)ÐkùÀ«_ÔF‹Óâ<Þ¿®¥,–Ýmð¢’ Š…jà?§"h­ÍÓHæ.4+=Y*R“iÑ{W?¢*YÍu½iu$\vü™n¥Åæ­}Œ­¬`$Èt\‡_íöIÊ%ÆHÔýÅ!¥K5jƒWQ½e/PÆìÒu{ÍŠÆ<•Œ#.ÓVô†–SU†Måöðwyž2èl{Tpº¢ôûFod¢YÃëäÁûâz©»ßè~Ê=æézÂLInôëLVÓwT1'ñÚPKkñóÞ£ækF Õ›rs²b/*ߤÁ«™z/×D ÌÚŠ„ò,î!Ñ¡Îô%!÷Èöýoù°7ü¶ùÀ8t-ëC§‹çWÌy$ùýò´º!ñq’Þ¨Ëi_ç÷h¡èM¨PTÎTiLÓxʦïÛ^lDÓÇk‚&ŸK±˜|ÆV¥´|U|›«– Âû Ìž>ƒC¡·Ô¦>ºÏHËPiÓÂ-fjW:#Ò\WJ^`rjd¦x½Öju&ÙCÉ´PXxÈE§Q ƒßûûÕ8rÞW³53Û³‘Ù²Áe>„Ðuûœg$–ˆ1^CG)5íõ”¿…»¶kîDq«‰Ažgy+´E•º ª’¯7>¿m.Þ´Ën!õ?’Åmï6æ+­S©\1ÚSãUý„¶Opaìðí@VÒø^I˜zž¢Iv,á˜Þ°°Lêøí~—­^&¹-|ˆÜ(-Õa²¯m\ÐÈÓÑ×-SmŸ;М„»wS¾ÈÃ¸š ‘˜p]?jIT@…]žuÙ2OâtšÔ^1…Íi(d€g2EWò˜fܳlœR-²â½/¼jÑ%å¬z}NÅátX‚£ äÍÂ+ØËµÙ¡ò¹ Û#1O¼âêQnÍŸ äcƒË%ld“?Ùü€?ÓÇÈÉmCXåÂæe<. ˜.45Ýéí¿»@Š–3 $dz¼V ×Éø/ÒÏrÝêBùÈÊH»4-é)É9("ðr… 'ãšc0Ew0¢Ôq@èZ–AWò cžj0©¯{«Ü” ØÓhCQ1y}¤zƒ’¥«,.5Oc̱ AþDÒ‘dWD•ú¿IøfËö°Î -á*ë¼Ѥ™Ý«&Z’•WMâ^š'~éäŸç¨¾›µ¶ WEfSq'ÆEˆAò:è¨Z’ üÛ\òæ„ĸ0ÈŒŽ+ZÔúª²·í!Ϥ¢ÁwáÍQÑaTb2öçxx¤´#Î1ÍÑi­W‰'®ô!Ø’É^-¹‚…70aZÜŠÇÕôYÞÎÒ“‚e®0‰ûÂt3GᛓL–ö/É’¹r‹¶ðV»2 UìÍ$¿éˆhòêZ“àÚLÿ[˜¤b)EÁ ˆ!£HDv+ +£îÒÜd4òlO\NaÆ’ØÐnjM¥§û–o¶@Ñš$Ž}íçKµm:þÕâ A’@A¼Ë>NŠM¦>K9çÃMe l,*8û¯×¾¿%_W¹EàˆrÀ¤ùÇDÇ~e¯.M&hIVÄwVRyY=WH`qÄ”Öd£¨„÷pÞeÈÊØ(.i¾r0é~ˆ¹öj"bÞ·"+I4žæù•¼¾§ vä J´½)dc¬ÎòÌŒ‹?"ÏäUÅÔÓS’•Ï÷Ø‚ò/*øíßþú/8Àôþ4è>2A4G[àDï_€¯¯¯±c÷sPÈ:ÜK,“'`̼ íOþ˜LìsäKtËeèÇ à 4ЗÍÐ;èÁÏ‘ÿÂÏOœ'ã ÔOðx ãÕ¾ð8âÏÀ)è}ä‘ þ @øxþ Ú_6›êè¯/|Äãèªøz½ÀÇô/œ|DæÈë«ái듟ϡœ€âÔ”=ÒGn zG?ËúŒP,͆Ô|»Ë…ž*ŠÏ‘M‡‘±ï–,y{Ä…ûâAÏæ¹Ó«Ôp¦Íær$[6KÉÚ ŸØÔÔÔ‚Sæß4*õ³¬ ãÅÏK%³’¶ …"Uµ¹§üp¢ro„7ÙøÙ2ó ý"FÂêê$ãM½|ZLñøA¿¹Óže¨£GyôaÍo‚»–/àªe|ÔË2Ùbý%‚)»IãáI݃7ó 0¾=‡åYx–ÛpÐÓ‚±¡PsÜa 'ñ=#×ê ¦w¾Ỗ—_Ò[vY%f ëÉjK¾~ šÇ¦uO¾f‰g×JïÕ…Už¦« Q`Ì4’Ù³mLZT›% Ha%"i&øˆ¨y1ÖëAX&å³1H†l-_C]ÞHÄ'Ô§’|äfæ›Ê6ëÔi¬‰ DYùàh­Ö™³¾^ëòjWO=Mƒ*UA‹I`ZI:T{Ìú72A$,äë§•>ÀçW©Ûý¬MÃÜ0¾¨¹’›ïO’ÜhÒðÌiü`|nÍ+ÔsUÅ’æ]¦åAž,ì®.d…ÛÇmŸT^WÓõ07Çæ–Ž,+*äÉ„æun>ֶφöÙ‚ðø¯ÿøãŸïʳȂ.Ù%¯ƒq]´Pj:Rܼ–987ã9—\rZCöñÒ…9L±×àà¼øwc´ºQ¡7)FtcÝÙ µ#YæèŸ(°xMð} âTÝ7 &¿`OËœ$•⺘väÏnõŸ7 Ró­Q"÷åªÀ3O<'†¶—ÊÂþbŠ×ÊÞÅQÒxø&ë û§µ³»)WrKꜚ‰`œý^Õ±ƒúpÕ×ð÷)ÉÊ$‚•ºX‰¦©©Dê«#ÃgI|zq Å9Μkjå×Åq¬«N¦èD!<ªK—‹bi«QäÏbâbVú-v,ÍºŽ•\íkDxE_C3ͪ›ì[ëg¯•c˜ÒbžÅÖ·Iè,¦‚2o"9U—¢OXùsƒÑ³L‹ Y—CÉ{Ñ©é¤ÐÄA©o€lÀsKº!iöž‚«@‡iºˆàº.½¥ûÑ&õ¾ÙÜÉOhÉ’ì4A'`{Ÿ,e4‘ÜÎ \žÕ‘bTÜëeäŽbÍÕò¦Øõˆ€27IJ Ô ¤ 7$)™ºÓéôa¾Þ DHµ–.Zä÷"Ë„‰ßÑ›2×a• 7Ãê3”§.—¡uiš<ÅRÎI=:.ˆP €)ïÒ œ’®‚Ü5è|¼ñä•ë›ì’’tüQ*¤Q½«¥%åÍ, Ìòü «jr_AY/s^Jw6l©ì²0Ló^©>yëH”TJÍ䀹$ü‹¦K ì¨FÈ7†öÅ! «¤#R&ò÷oørÕqUšIøáÚ.¡³¤!º0â«ì_ÐÙ S6óN¤XÏ0v}ø*iEÚEI|} åø†‘=Üv=YR©ªugÁe§ìgHîË£–»ùµÆ°y]‹†#ÃLótU¹Aºˆ"յ涘*(Q“&ˆü{Iuª‰Ù•r«îÖwÆE„ÖÆújòYô…¤º4ç^Ö¤‹Òý¬¢°(Õý &)'®ÍtÛ_ë·¿þå_þÐÞMqâx |˜Ÿ'˜/HÀí`ºûD :¦={Úœçýœðß{ú\„ypýiˆ%|öÒ¿Æ{žÇøW»É'—0üÿ8Æ xiÃã|]ÁÇ1~暌ƒG |·¼ïŸö¶†=Ñ«ýc,Ð'£w3¡sè žü;çÈ’?_ŠþÿÎýù;^â¼_–#àxè¢`6+à“’ýј…À¬’ò•;ÏÒÀ+Í•l¶cÌL:жEÚuo­á¡–wÎ>Ça6Û9ΡÇ8ÎŽW·×³Ðs²w Hz“°q:mVÕS;O 2Û%:b&COàà'žÏ¡-ñÜö'T_áHϧå²ã„~½ÜhÜgû¯ãŸ÷ѪU“åË }QW[c‡ݶ<úœÏS“î;©ó²D÷݈hçÂ͘ߔ.w• ÕŠ•JTjår°€11‘Mư"ÀuÉ­Ê€~Åuï‚ÝA£„öH ³™/d†-Û€üLj)>²”%²é˜.ÊÞÜ[‹ìSj© ÚœÄé_âÉféÁDÛ\„x±gMþ¸9ÖB×F¿„`æò—&wBžšN<µJ`Ôd¼ô\|?%Ofæ1òÇP¤ÀvB1$Ïm #%‰×ÙUdÉ/8®Ñç|çøl~™x³ˆ_áÝmt¶1^wx…S­˜¿B«CÈ|ò*nï‹4†(éHDÈgé×mc‘h˜UϬÉ.8ÂV6]Æ=ü€ëS"e,%iñÍ‘2în(×xË·1—9ÃÍÞG&à­ݹ ÙÓ¢ |žP3¾ÝRÉR¯\-òĦ•bH;ûœdpfĉâjÿosŠ›‹ßV*  ߃¾º6Ù;—ÓÏ2·gúu¡Ävðò’£jøF<83·†³Ñ1ó}J¦Í´ìN×Òè͘øYצP˜4cQ‘õx n“ô¦ap<„D º®$4Z'ùÉ[$M½Ýßlû›™º¹n6ÂÕúfr†2)2;rÔá6m‡ä¶ÐùdöÆdAf¦Ñ܇Y½rR^6+²ÈAn˜ÈTl‹¹j*rÎ ßS°Ù,C™îò ëÏJ"+*“ÌFí—Ùë‰éŠØŒ5Üœl0 dëi9ù.«÷̪󴽨öŒÈæw×v{è’9Åt¶AT ¿ýí¯ùcÔ“£·øòÌŽ>¸X]ýxR7T”ºéöëE}¾’NÂa-Šn½Œ 4ýýº<Œ‘vZmß¡:8qPïAÇÏ?ŽqZÇèY´wÄ8Àqãè~o,¯Cu\³ç¼¼¡EŸÈ^‡ðºâÙý$ã°1¾^/çÇÙñ|>ÑëÇCÜqNßã?s|v_pgÇë èÇè•6_¬‹hЈàúó”4§ÒcÜЊ´†çúÞÐ[6è ™7¬Ô´ëks͈”ó°„ʼ¥CÐèVÇðEe'y¨–¡T©†Ô¹ÞèÍgš«¥Ú^¥ôV™KVu8YuÁ1Ôóa—”•JЬÊ2ý>œF UXÄ-• AÉi‹}ÐÒë,¥msÂRô=>º‘üŽj1 oºÕDÌ{r›þ„Ži¢¸/÷J&O. yF ŸŽô1¹^}|ÂïÔà³LÌø{ku T`BÚrüæ¨qïF) ²%ÓOËôiÖËHÑeh-…uêÏE¾¶¸nD–NÄþÌïps ù¨‚G“›èUÔ#ÃÁžS.|$ߦ(„¢ÿض†jíC·.¦¥Ï=]jÑVê×¶þ\[±ÖMª‡ã^ì]ÓCBMˇÔÜóñæô3pnJà±M×e ½IýÁ5ÄRIGy-ñý÷óNÏqÈœŠÎ-'¸u¶ÈÀ7’a~ÐZÃu]híg‰o­²éi]L×=çζ,1±xî†qÙMDÓÄ×g…™Þ‘øMä†Ôšú—5u3a Ä(r5p™tB˜‰†5þhÈóðŒøº3iÅA…Ro™ýU("xzWs…ªÐœ+ÿ\Mjüe™íó4žØ¨,¿Ð奨¤Í£ë ~ˆä%".²Y¬·p{*ÉD'Îԡ꽨)žÂ«7¾v IheÏ/ >ÒZJÆ\ÓÊf<ûÛÁÜ•ˆó÷w]Öê¯÷]ѬLøŽ md?šÅcW×µ;·CjMŠG[Ói#9'ƒI“¹-ŽbasIÎXp¶°I$uN_¥ µýˆ¿÷©·q¦p-Á7>¿ l»÷uã*)ú¹ÆäÆ®®9X‡hZQ%³66d;ígœ:^R5e´òÚÆ¦ ùDÌN&¾Èw›b4q²ØRŽÒ"¥+?”—ïÚí3þ¡`϶±H\\ÊÒ=ù÷¤¢³+I•›ÊxHDÒ7Ÿd–8¶¸é:›ÚMóèFAé°ufjó‚L8«…ði§àÙ®¡0™çÚ ã}§º®öóZiÎ÷g¤´$$ Î Íi&îbÍDÓ•b!ö€fè5_\¶–~å …fŸ`–tS*-A?*'–å µ?·ó°=Ú;fÌõÁ‰‘Æt³YaZ.ÁþÈ)Vc úÿ˜‡Ü—˺ >!ø–Ó_·oD…Ái¥‰w=Ÿ<Ÿ­ <Í]ª-SN}Kþç„6S˜8æ)›Üjª÷Ö§¶Þ\•:xÓ›ÏÓçš!]õ%‚š¢ÍKm]Oç(Ÿd]b'DN•á%3W"l D/ó¢€ô†9¹-*¯Ç×DiaUä‡C—ä^Õ1h.Êû}ÇÇÒ?¬Žÿ™’ ÛÆ]韼ÈÖu®Íä~¯‰ýà÷þStKBzüçÿýÛ?Ç•þƒÐZ‹†S0iîiB«IAIü¾/Þ(-»žê›]Ÿ?IÓœQ˜hï„7ÿ«ÿdx–+Ú¦™ƒ·™ÉØ8ˆv-Êm§,§Î¢Á®W¡›|ZhúEÂ…«z3ì«ÜLÛ$öê*,Óí©~è~ç®Pô„vKõ⨗L—M˜T€¯ŠXÑ:†¸A²¶Íî†Sï©ÿ.*ø>¶1Ât¡’ù ER½¹3qctGª‚H$e× £ñjšH—’ICÿ”?âÛ\ºã÷󚉊IISðE÷)*…b=Ô`ñû)ÚÒéŸ3MÌÄDSgq¢BËX€ª.…x ÝPybo°Exò…åVÚ°B«ÃY³ŽÂÞž¥šÍeT*+w ØYÊmÍeLz¿”ËC\…u<]tÒfÉ”(ìÈfšg¬8³p€`‹©ynÈã¨5!ßkMÏxûàÄ;bÇfÝÕÔ…Ré‚SBD|Ð¥.Ø—õ‰Ÿ<¶…±é>ìßs¥l*½ÂÑÛÎÅqë¡×AQØyÖéR¦‡ÓK˜ >¬HœgSg­éâš´‘ßhñþ’t5øÚ{‘=©.’Ç éòJáÈ«¿Ú u¬qVšH€5 ùHeÕGi<¹W(Ͳܔ½K4DDèßíËóR,áö´D÷Ò]:¸¯Ï¦äò‰Á¹£8»¿O%ü4 _4*ØCy—R_øv¾¡4BR"ún¦²¼"j´¯iCê± ÍÖr*:¸WÞœ.1 RÔÍ€ò>ZÙ¢ahcÐd¸~¢"KÓÒ«H|¦ Q©=dc‚>žÈŒù9¹áb1p`ªp»ØÉäucïö3ÝÏ«Ò.3‹ûcñ öÓ+œ«‹Ô·¦OmÕje¼®áV ˆ¼T ƒ­{3gCV0fஜֆS=öæ@¾nÃvÕ°ÅnTÁJØy˜âÂ=¬/ˆß½3eÏ÷ã©”•¹sÿD¬XkÅÝ÷·|(('€Ïòï<` |`ž"ÿŠ2éïõ|ÑÏ3€ à/ò¿v]Üüo˜e:x˜åï äû¸eæg <xÖï|ø–¾K?7¥?ú”ä|‹ßÈw•ƒ>ã$Ÿ/(å£|oqYèó•Ìù_Øÿ1âû÷Iþ¦<ÊõíÞ|,Ó=ú}çû‡ÞÛmã3“þ,_‡ýß™/(>ÖEÇÔþŽõ¹Ó8g»F9€ÏŸQ?Äø–AŸcJÏ‚xïͽ¶÷Ó>Úð[º÷)æÒ}±þÌÞdNò|‘Ë” Í?Ìzý²¾Fz.ðsÌÀAæ¢ß·}¯>oÑy9_€2áÃÓ_ÿŸ'®Õ@•?ª €ä@%ýÏQ‘}V?3Þµ‚ù ¢Q~>žô÷Wðr•#P ŒòW ú]¨U~† Ô {‹|Ÿ}–¹f)íåopÐÞu'ß1ŽqM|{í&ù[²ë?<ƒ:(`ý]9é} #PŽñßr“ñ*ÉË¢tïå(?ÇX`|ëÔE?;éýV½äY+éÏYîe´ë0P {7£¼ºÊTÆ4!jz7‹|–8Æ­BÇ…Òû® ¡ÈçÇ#®íÄ/{€¯úàï®Ò»/rMÚ´Ï/ Ÿ„:É}øHþ#Pýï zÿåÀ +邬¶ê*@æ4žìô~ÓuiÒçeÜm3¹ýF½Þ5Þeôý!Þ%F|xúëOD ÑVƒÜÖ“¢”2‚o¿‚†¼s‚Ηƒ,TÃúþ‡1Íóªïõ”ŠO~|â:ƒì%£Ê „.ÙŽ6eÔÅ ”—/òPöb™tå3PÏò3@» µ. ñ!VsÙÇ«‹¾´Ao.í¤º’í=óò‚úzí:Hwgôë®K£.8; dw#®º¨¿Ï " ’oWÐá#P FŽ`T”ª'"¿êdÛƒëª &ƒË"‹Š=Eå{iø ú}µÈ­Ù¤!Ò¹¼ =yóæ`!ˆ-–e‘ÓÇwe[t:‰ýdÓPF=yH÷ ´CòT«žf:ö´xi6fÝìÞiˆ(£âd¤%N7[ä(ñ¾+ƒùE7³ŽÕYî³’.ÈÀµV”ý½Üv3øõÐN®)‹ï,×ÑT™¥€vÿ¡‹òU6×qÒy¦ãQe!оhd4Ä©8zˆp÷ýí}÷xÒc9Ûm7ŸÖñò*ŽŽ¸—ù"« @c:HèÂó³þN_2³½9¦õ8ºD.à!ÄŒ‚’ãj˚ܠ‹uõŒÙÓ”¢;ÎÔ„̬—žÖÏWNé>í{õÞð¦1·ÄE)SÄÕvßþŒh&¶çD¶8˜ý¤,eòŸÉÿÆýÔÆÖ<ë¸Z.–s½Wž»×™ó”|þÊá9çS“<'ÎrÓG½<§üäܽK#DîYä´ðÏ®Þ=§›;É÷Y¾€›†×oi9å‰9_ËùÓ”>ËÍ;–\@ùèsøÃÓÏy’#g‘]b¹€kÕ î¾›ty÷g9En‹†0ðÍwPf ÎàZõØ£òŒZÙw~Ù+°Ìº•›k m!ž†d!àEbÎñ”Â’¢»ô^Cƽ^Kÿ– Ðô¨—·£¿¦°ÃbwЏÝY¯zµ§-kȃƒŒCAK$œX]§v=;-ô$ HÌ^HvÔª“ÈÆ£^Ÿ$ê ®6“Éb¤ÝzÔpTÃjïKóÊ2èÁU=—¢ÃQCbýžº×ñ€§äš ËX µ‘†K/NYþc'^#>4ËEOŠçã\g½G^Š^cß~¾ÚƒëDš/èõ'ynºóH¥R‘43¨@#><ýôãS$’Öº ”<éñ5 “Y_l½³0GwˆeÑ‡ÓØ¦ôrÔÊ(åQSŽø×ò ­j>±j¼ü2FèGGIRY¯³\ÁTAe’[¾õ’ò *˰ä¼V ÈQÎËEŽãEþrUŠNÚ|û¨Œz÷»&¦G E$±a±9/:iu‡µÐÒï ‘Ÿå$ÚÂ2Fèãï¦býO‰Ÿ·„q÷ê§›¿êdåÈÕjÕ[°SúЫ<§NJæ+*ÏfÛZ-G€o¾ðrE…y‹,¨j ŠNXJ ñýéÆ Éeˆ"™¦ 7Í©tƒa]@ü†z»€öGY(•#Ÿ£*÷Ä P°Ãò8’ÍëîûÛí;ð¦Ç4Ô’£‹ç/(哆¼ïq‹èøÑyHG÷9…#oú~z<—.”ÐpËd´G·_g#dà[‚K‚E3Ô9¥0)ëÉˆŽ²¡.WÔ×gÐéG½9ñ¨ì5$»¦*ô¬±ó‚Ê ¢I&°#E)Úºý ºû=Um­ˆ§»Õ¨‹¡RŠ[öZ³) Ý4NÂðE¡®2¦)Z¤¥Z±³¦Äñ±[4dM‹ÇŠ·<ǤáEŸÝÞœ¾‹tÂþ i¢±‹%ëoú=bÚ;åU¾½ÿgM‹•¯ nè{­@½›AãG©Y€eqèsòòE@ ëex.Š4J(Gム¶IÀ/ào³ÔGˆ¤æ*5“»ß=§àÛEÑÖÚn$d€ÇBª¿¾ ^ÁÝ÷Ûß¾Khpó¶¯ 4 n“È ‘x³aÓ)QôÄ,xKIVJÞûc± ìž´ À|Žû±¤æÏÊ'*éøî°x~ë l¤0‚ÛšLSöɵnk4V[p ¡O¾±NÌs8écúWÈ€ˆ-îSú\® X"lc˜îy–°júáœq±ô9˜¿høÒ%·~?%æˆ'ÿSâ`¡ã\åpÒ8~SŠŒåeå÷˜ê·–Š7k ®I¶¹«ÍœR¨$PÁž)æÁ‡§§OOÂ0h<%ÐQ!B’ÕΘAÆÐQÈ\–øVr \*¯Z-5­%1_~K“kLhÉîïP©îT¬á[¢’{ÛÍlÇÇN‘·ß@å=‘ uEC1­è~ý ÚïSòÊ^|#Û©{—ÄN¡Ud‡ô§ ­ãPâ•iCÆøEðu»w?åo,¿çk[ã(ûˆú¸zxƬ°§'ù5Õ¬Rº¥zI)Ê‚˜´‚®, aiʃü_A8JÂÛTÈ%ÌâùE"²ºH¨Æ/zbÎmż§¹HxÆÀø;z)îyŽW‚Bd§+ÏJí©‰Z§YÈæ÷hóé(!…_Í2'Üf•A¡oàÃÓÏÿÿh'±º¡FÖ«³#„"ñ*i(„ ¾½ ÞéÑ;Ž H=xƒ—+ê·g9þPƒ?ä8{uÚJÄÌðí3êïÿ­E!å*-_ö&]ˆW­¯¾ú„q•A£V %tünâ°ÖkÆ BiÀ|AEEåP¹—g%jqüD‘É¡ÝWB‘çÇTWÒÚIQŠJ¢^x¾a“¾íÇò#ã>ÕšœéšŽ !Æð«Žï8Eí¡r»).³,èñAë‹òï,Ä DŠªÐzˆ”²ÌŠ” ‰?f³EÖhÝÉ]-_”rð°Ê8^ò»-|Nš7XiDR;¡ê’xiŠ|AsªúMw‘ŽMÍÆ’ÞÛ¢T“Œ¯JýÜ…Ðf…—#BœL·º‡Ïsn8ý¤£´UÙ)z´Ú1î”C„m Í1Ì·/(‡MD"ÇSKë^…ÜÒŠH¦´óšÎ^R ¥ w6(é9´Ô°B0þ2§˜}iѺwغ”é± UÙL>$ê𨵞\·êC¿|¯Z—)§šæÓ#Q`šçϡנañö¥wÞÔ=Ð…«9O!jyë"Ù¹¡àX-KF®§ž”&,“$$ Q{,q£¾VI®™5d¹LOÛuPRC+µ%Qµ 5¿úÇ5’´Rù%3£c”}¢e ‰H“³ ¨<&’ß^v}.b 4$¡qÔJª„<̬§ÔǺÑG¨&F¬Ñ*¦¨™x8”)üé¤À»tÁš–m4±D]b<$ZøØÒ;è)Â&J;Gð|ŽÝNñE ör|°…v ºˆDÆ”<ïÒ=Ï@yÏ¿( õQÇ9H“þ¾ ÁÓ¹T—iëUjm´ó{¥ñ¨µÛá•ÔjŒ`#ìä¨6og…« „Ñú ît¼É œ4NÂò¦ƒ>Ævß³G&žþüð–£NÔ‰xðB\å ª¬T¥)œ‘Jå^iᡟàEšZ¢Àèì]-VÑ¡åûÓ^N±hnrÐ8ùÖ @åaŠ«†(2UqJ»ÃⱩÀÆV?:F¤æ´ û;R%yWF¡ÈCÀ À_#/2¦é8¦œd íB9¦a†m© HåSå¨<"ê¸r†>-m‘—„¢ñ£ õÛUaØ;c‘¾¯ñA¾¬aõ4ü •”òÇT$^b¬+Ëšyý´ÿ“Z%ÑúT•0‘Ï §È=Ihñüõ¿@w5¨9üãDwšŸ$Æ0´€Í«_®®m4d‹Ô ·5mм=ÔŠ»ïßÿ÷÷66?2‡Tdã5êRuŸÈã´Ž¹á7 0ø|‘N?šàÿ¼5”/¸ñeú÷’Cžã„µÏ8’flØç¤T+­júryµa¦eïÐFe™[jƒ¡\}ÈшyE%i¼«pªtÔœô3£Ó0k˜õEMcGk­N-…£ êÅU8¬X¼AŠ+æw Y5Dc<+j•‘2Õ%üJb3ÏzŲ­êÌlfíò=4 cW2?ëØœÓû9Y1Qò®–µõ­I™/¨ !PÙürŠU¡µØå!YZÁbíH“ÿ$ü!Åå´{Q†¥(ÆŠF>+Õà ® J™4É_’Öá¦Å·9mÆåEÙž÷úÂBáEBKø?ç„ý÷P1¥©¦"µb.¤Z†?!%Ë9!/ZHìjRTÍu!)qÎ Õ“{ ‹kRêd$e?Kè%TAýö)|[”¡ü(Â)0ù3 )îã6|W6vÀpeav{FN2﬈™CTÚéüHżZäpw²* rÑB#ô9j y|Ñ0yŒDÞ/*ªï4Ò1º{‚–k0.-t0´ÆÂ‰*À¯U%MQñÏò¢Ü¥cB.ôß©&™¦ ¼ D4Þkœ«÷²Ì Z`TxÒ%­)´©U?[BɦÔi¾]@;ŠÌ-ÚEµ¼¢eJ ÷I R…8i<«$_‘ôz^QâºelùfÆû 5~´Šî¢Ä\`¤†q‰ë˜Â¾C*¨¥ ÌÖó /PÚME9VC»ðh>ÿu7è{Ð|oÁ´°PËvnã€ÙŽ?N …ٽ߫Ȯ Œei׫¾W-´êæÉ¯/*¶Ç!€fEÎ ²¾jXž´ª*LÛ %¤˜¯ÁÈ2Yˆ¥ˆ 'ÞUžì¸ý”+ ÙHÅ?ù:#‚©e‹6E¶<!E©ÄŸ*ÅLJ^Áù;‚FhQk:u,ã)1Dçø{¾ˆÀÇXºMQoÞ0VÀK÷æ.:V²>Ii*l_3³‡­@ʹ(;·b­Æ€ l‡U ëÐÙ‹gž‡«ÜG“ž\o-âv³“#: †žqË…ã.œL¨%ßfAËa³øÉ· Êé/­h-‡h+¶·…´†b2ÊTR8 ŒŠ–Þ}ûÇ÷f2£«V[ ]¦ÖÙ¤ÇRŒí=o¸jðjBJåþcRžSh.“šù‹‹õJ™À7ȶ‰õ¹™8“Ý€h™èð¶€mò­(剶>)äèã È·§¡÷nÉ×왫X¹tþø™TŒK»á¬*ø™Î}j“m†²ÁȦ!kÊñLÙØÈÐIÞ©v7î.É5'ÿƒµ‘èë· ÊaêæW7žK¶¹g›<ùÞ‡ '“z÷M-©ùŒOýŸO^ÕžCÐ/±{Љg‰ÿW‚à…]â £jì†Ôˆ°Èãm9”Fš÷ÈÊ. Ã£Šú:<*Š1' ó’øOZ$¥ë«ÎŒŸå‰)W«J~ƒdÐÀ®"Fžsºø”bÕ±åu9 =¿ôã )R.âQˆ| Lê ¯7á•ÀïzqIJ"ÐáJ¥Óóìy ×…&-ÐižA 5„#_”¾ƒ’ªÑÂgVdjß)Ѻ«d–„²¨XH¸sG …µj_ÔƒŠÙö*üú"s¦^Á·gÐn§a+»iˆÐ×g+yÔªùˆDÈûž"'¬ú<º><ýõÓSh8.é]ÔˆÿjU£‚Yµ'©_íƒtñ[Šw‹Nâ%¾Üƒv2`ó— :e‚g}'/Â&-÷ºû} è“YÿæèÒߨq(4ÜGUò' R&ßK ËuÊ„ƒþ®Ff‹šg©ÙÉPSÂLë¤ÚÍ.*»BQ•ÐÈIRÌQó©¥ÉidáeaÔ¸ICh7‚ª>Fºa‹væD' ¾FíÃJüMeG6Ê5¶Nr IÒyyº€I2ëF…¸.òbi/“uþg$‡´“Jè8iÑî ¢ªÿ{Š£®*i¹HAQýœxÑ‚_MŸ…é>ŠE¸“Z`þ-P/@q[CðËMO&©HóëgÐpªvÝ+ýÁ4ôW§°Kr˜ ^T‚Ž’-†¨¤“¢Ë5¨(eE a™á÷«¬agàVß”Ü_Ë4Ý…ÚÜ’Íå‚dýÒ…<£¾£çX†NL·=¥¤vÔÐëd§_Bé4â ¢ P9utøàoJW'ÔjC#øõ7aÖÒQÞ5UáÐA‡ÿÚE}‚1«¬‰+`|/Q¸®~Ñ:Ôo`*J£Úi41ûiÍËe(SZÄIê+’Ûÿý½uÿH1'³ÈËÇHbIdÃ*9 Y£cí.îéœ@<ñœ“Àè¶bœ2æ(hçwr_¡EX’ò(q®×NÄ#ò䜸b½– ×C^ç«„{îX¦--#œ^°áàѱ†·œcŒT·JÔ;¶*gBîÜZ:êŠ'Î¥ËåÐæ0›cá•ÆòCëàÈærùqá$ÇúRÌåÛgÍ+ó}ðí³äJ‡OÉSk9+6øœ.Oíøð›ÖgXrœÌHwixé¨4ÀVôáñITòdÒ‘ w+pÅŸ]]VmRšŸ%ù÷›”0¡è ò¬Š½óç˜ð®º;y²Æ·/ZÀ’D˜Ï_"~~Ò9ö1”…öÿ‹æÊ¥f[J»VZó\ðœÓã[Q2 ³â‘;nU§*,i(™k„Ý:€ÁàÛU 2Ä|Ñá>4ïT´Û‡T0ËÒ“ž :þÝ&’¸N<‡ÝNF<9¡Kóýîš±cNE<ý{æ3€7]rÿÅT®å€rú åôäcÍ·Yÿ÷œÞÕ @ŽÎc¾É51ŸÁóß}£.eÒ…6ÅØóYŸmJJE8¸¤9¥¸Ë¬.-&ìÔŠ9I(5.ÿöªj¼K°ië¢9ÍIOES"F!¨¤ñ¢Ñ3Ž-¯‰v’ó`îvÂE2êw­àzqj4íŽI¾"á¶ýŽbÇHŠArÕ!‚M¬Ï'áa²äñdÕ8=Ycn×Þ‡Hª¦ú„1Kš}AŽ! !Ñsк[Zì\‚ö'Ðþ„½Ù“9=ñN3wÉ®G÷A¹÷ÚWÊsÊ)ÕAô;ò»ôºÍ!©,• êòEë>§¬“ ©0xâLNN.’€›[b½¨F\™É,¶X^%Ù•E,µ&pôšj.'õ–S¿“&ç»`—cŒ‰s窟’ÁæmX»·Ø^óÏ“4t:iÄîä®#;Ò1úCúÝ-aå¡Kc*=ã¸wÝh–!ôÒó–Ùõ¼QéǺzEk¥¿‘ðâcÜŸ‡ eCl†µésIáJví(ùèŸR´À¾ûG=GÙÊCéž•C8VE>ÝûÛRŽzí¦+\f%iÉ›ÆE?ò±«ÉeWIé8 —ý¤9j²rÇJí< ã¡!VâÑÉ1`rÊ»A½¹Ô°´Æg•Ëœ°äŒÆ Uñ%׿`°•}yC碼 CUœR!¦ÙÀC£÷:‚Á›*Òφ5I~-’ªûeïì>˜¨n\g:ò) |Œ‰»S‚Ý>ÙË,ibZWr KBã²ó¸¡]‹rØFCÍL¯O¡?wºG ¯8{úš@k&ö|Õk¸ÅÃf{§ñ2‡¿-³úW×É‹9ùár‘ût‹ Aô¸ª}ºŸÁçÏ ýƒ†µ¦µ9P–G…p¯ÁBöP7TŠZw;™UIhß›gÉ]æÒ,¿KŽ—w߿߾Ë"=»•7DPó³&‘ˆbŽÊh³¦Ó¥ôo§¶ìïÞ±™²æbQú?5¥ÿu¥ÚvK$Z~2LqVUa©Oà·³0Y]ŸŸ+´sçÕk!AiŒÉø6‡–oŸ½QÇJ(Ûb§uè׆…Ž"õÂ¦Ì ˜¦ÖC¬'bËVæùsª ÛÜUÅ›¹ñÖEREçùïzO=úÕ‹ÄÐzôšðÊ…yhý›³8*…§MŸ¾ t8 ››Ï:ôݺrÿjò©,cöáé§OO¨5´ÙÀÌÙ²ˆÛ’oµÂd誫:!-úÔkìrT£ÀÄWuYOŒV“öšqϨoŒzGš¤/!¦ò‘9 qPkþtÒeËRÒdÒ%·H•á"$ÉR$Éoª©Éª‡’h«!Úî3h \ž¦Ä²E—à§Ú ’í¾Võܷۢ,½kÝÑlI$§ZM:xÝ)ÉÚX¯‘E+Ëîùš"æ IDATƒ¥×Z~C}+zú (C¦ÉÇ’vV8ÓV"ŒÚ:Ì/‹eµˆÌ¿joŠvÙû˜Žþ’ö©¤zuÅàùTàºHk„]I ŒI¿ë›œ‚ý ¾¤H|«Áêgöjæ¹ ÷G•Þ2><ýyÿäJ¯<±Ju ýEÛ Û¦Ñuהݳ—+¯ásE÷OŽ ©ƒij•Tc cÕ×P’º>öœ5,jư|Qã€cb²ÎZõMÌNæXp´X-öË "°ì œPg!(¿Æ†BÞV&>á)Fr ÚO÷–m¬=’¡jJÁox\óQEžÿŽºû]1M}nÝŠ&äcØArWµõx{jQ‹&VOlTžA§>ý””ˆ9îMžX7WÏsg]™z&®àÂ9¡4HÔý-”·{|4psOÏæÎ!S86÷Ý딉Âr.ê‘7 iÞ¬²3ŸQzKPµ mÔ™+f.â}”ƒßpéXÒ·Êé1Áýì¹ ¿±¢\ì5˜Oç&?uV±¡I #:d Bx쥩×áF>Ï}Kupn–ƒ*ƒ|¶þ ?=>ùNgm š\ÖÐø,ÿL!Ø!„üÇÖY f*p2Ñ’ÛÞ_“F¸¦ »å iR%«žaü©²—A±£˜vÒÑÊ zäöûÁà §À( f&^úbƒ §’}KÀìOdÕ`źÝ%aM\2Jv¥µÕ–{?DÒyY¥SÖÖÑE 'ÜØ9’/‹ª/ïQ"„ÊwpMðë+0œU¶§;T¾ "®7\9:ܧ°š%÷«û=ã—€ŠÅÙÕ1Î:/yѨB-rÕ‚JN£% ‚FµÐ–ÌtâÚuÀRºâp¿\±(0o)B=®9¼Ñ ª.L–d¦Këaäq® é½Þ.&4Ôeb×E‚{ëÉvÑjµC’jWUþë÷7HòfUá"a5}F²™˜R¼Rž{¹jCœ{˜ü¶$§ðìp’ûP‚Z‘ú;öMc< î“ÿê2Ö6—‰æ›$ØUOãECÇ)-þK¹>£L±ñÐ$’i‹" SÉë’q‚ÉhIP,>ÿ‚²?F¥_Éîy›˜´6}eŸü„Õ•ÄòH3ì¨gw%ñP¹<èóÜéü’R¿þtGÞ—…ùªdÊ»vq¸‘Ç2dÚ% V£»kÎ!ÛÕŸ± ~ýuw§;…½¼j–Ý©Äê6ÌJWÍ€9VuþðN²µuåpZö^qj¥¢{'Sµqç‰Yw#v?^¾€Ê(>­¤†Èõ2NÚ+j'£†+Ÿ"kÌ5ÌÙšÄÑèÑ-’8º:™Þ;é=¤UCªž×\äLtz"q14}|n'À9ñ¯Iº<¦#·‰°Ýž3ø¤ ñ?d\Ý9å" ÄtIWâr”ZÅïKXõ,/~?4#T" ‡È4ân󣡤7¦ÝuY32šX¯íæát”øëŸeï¶Í«=¸âz4NßËsÀÀµ$ÞuLsV³D•Ünд­rl*:o¼’|pç°ŸÆ2SäehIn™ÍÚÔKºwPgç4âÞ­ÿ*ö/mÍ!zb[õ×8§ “k¦ºJêckf0}jqþÞÑÉûe{ü9€dš×KgM¥WBFþ—ãmÝàæ `r€äNÔ+ky®›ËÝÚœ'W©}^œ6ŒãÊ3B •vucl×TãS ¬ï£ˆ^aT(ægið³bØ¿¿µ=ß­Vש:•jÒuz²›˜˜ÅÏ[Ò€¿¥yk¨Þëæ˜i²mv‰6L¬±¡5îýkŽT“Ô¡å7­è=õcÚ(ðeþVŸóö=¬?øŽ<]cÏy•Do`g³nó¸}]øtJ4ëÕÆ3ïŽÓ&vñML¤¯Õ èq›Ô«Tms0®˜ý²Oº¿Ä@O3éŠÁ+šÿ[P‘6Øèö,kK Î#¡¡ÎË­®&CRÑQªŒΉ‚I«õ}½j¸sPדb5²¦¸iâhdÙœ¤†âƇÔ":©«UÓw’‡¸yÝ–BHmŒýŒ=äÈK*¦âW†S!Ñé!dÌVÅÚÙÿ“ö» v÷·ÜÁs;;Âu)<{£Ä²¤06;މ è~µ\’¤&šfxÇmŸ‘–æ¾&Wqq1ZNH—iaÝ)”¼W;뱨” à¤u •Ó€Ê/¨µHøJ“ˆ¥˜%¿õ±5¾Jâõ7Ðá“ÔUÀÑ?e¹„šu¹Ä´~.ÞñUÔ§å>…›µÑéÔùW¡þxªä´c¹jRö¾–J5 1u¾»¥Œg9žçgðÛ-v+7Ëí‹ÍhÎðŒ¦cÏëÕ¾"Îõä¾¹Ñ2¸«I³óf"¡öBl®Óy±úîzÛ¦A¬4 }¯Fw×È0©~–Ù°©ó£E@Ú¶ÓÎç8™Ë° ¹ú=¿ucÈ­; C5%õQœ|l{ö%³ñH†~æ€ÆkWC>ÿMŸOIÀuN=(3YrjáÙÒ±¿û^‰+ÓŠ ­Xǧö, Íř՜o-}ÅÇmÚŒZâòÓ»ïßÿ×wkx¸ÂÃ{\¾q995_(t™)¹m S¿õ“¯w·K×÷ú8ƒQ²«Èª¹ç{ü¥iå âÀ|NyÞ¯i¬X¿½kV5”–>Þ]·§¿û)…V8…Ί&÷`_ÝëÔæt õ›‘û¿xsË-Fvó6ê5˜Ýð›ç›²}‡–’³ãù”wç53šÑŽ™‡7}H{¸òÃ;Q«-R‹z@b8gÖ°/Ð’ä}3Ò˜[m'ù«\€}’Y/¹·”|½é"‚®î€ƒ®òS—4åWêÇ€¸]T}6„¢ÙcjS‚5V3ÌàÆíÛ¶3ä?KÜ|q8}½U’Å?ª6cnu,F϶ÖûŸdÃâ‹ôôg>ƒoëš7!© ?'ýѳ.¡éý¿´'—kQ)÷ Ð%:5møé¤…ÂkkÁŠeÒ§aŒöZM7Z5ðz†ºÀkmrª|êÿàªÃ+0|t· ‡„w>†’Ô Û _¶ a„®æÛf“š ^'0[tõüãƒÆõÊ]²¦+e—ºÚÊõùõ ê0*í"ÙYz¯j е\Èò¬0¥Åé|§^ÿK¢²\•P8;4=F†¨QÕ}ØßÔE‰}¯úÌfõ4GŽ@‡p©ŒJj«£‡ÔIlxÆDÂü˜¨öFwWB¢ÑA¥ì×T'P%çq7Æ ŽZ¸Ôú/B¹) ]ðù6ƒöÉåæ˜àâEù„{¥ôÀwàÛ…ˆOj Âɧš/–ò䉴!§aÑR€rw ³ã§½òýOÑäž™°æ½”,tÍÝUk0&5ç­tóíÔ•zÏÚT)­ PqÖÈŽ|{A_QëG2m B$8GÊ oÂ0¨, ê%)S2¸€†JtKdÏœX×("J)«žkûc—ZÃH¢‰ÈIáW­É’´h JËáJ’áj«ÁpÔÊ1…¾RåWm¬i`„…!‹lŠd5o®tU&ñ}"N*9µŒj«ÍŽží‹ã˜ei x!“ûQ ~µÓ ÕÖ‡Àˆ‡¹/bÙ£þNÚìÚY"i³Öãƒl¶Úb‚ù‚²ÿ#0ŽTì@MÁ[îãîû÷·ï¡è:+ÊC ƒñ3€ÇŽOÔ511)(g7;åò0¿Ãš»XZ)ÈÓ© ²$­4Õ´9ùòºÁä!YQG Ö¦¬@ÂÅÏÉôîñ[Ž&ÉÕÐþ²Ûø&WŠ•ÇôECƒ>wAó î²â¡séòW<„ì•”&{ì’÷S41šr£ øœà`n5EÆ›Ÿ…ïôøÔÕ[’‰¹ÆgšoÍçøüwÍoZHW$¹j Ò+ ËFóŸ\žÈ¹uÖ•AÝÝ)ÑB¬çG9FYkâ²@`µì¼Gî¨8Žzôؼé¼Ó/tqÕêtlfkÔ ô4&JµïÀÕW¹TΧt"ÝB R$ü rŠÞËŒŠª“˜~´ÐIw¨ÐQ˜Û!íP.¸)µ#‹dWÊÀ›Ñ·…6½QÇîµpr´U{õ™–Úé1jŽÍ‹v%ŽP’oϨw»` Ô/á¯j¨ëÈ’X£ù[E™ÔL|T¦+Ïj!íµ™”ýŸB@WkšlÒëƒpí¥EóW#ƒ¥É,u)ÖÖÝQÚ©k¼1 4 Dú0j¨8ŸÃ2¯ùõ3èpR†ø]„õË5$f*Á¯‰jòçãß¾‚†ÿ/gT°ô…ó†5©÷” h@³)ÕP@ÌàÁË?ÌOJt[À·Ïá6â;u4ÿ¬·Ï² -йóE&>=&c4EÀ’hÈ-Fݪ3Yeêâãåªdï“C|jPe÷ãyúŒõý+0ÿªÄ·ƒÖ¬O`¢}Xw¦œd×Ô/д†øßZÀcrQÈ4/4ºOdÆ“ó‡µë¡^Å„Íqþ=°p´Cö ð¾}Á˜òµ„zû4 Ú¦›%/ã‹Ûñx( Öð¼÷3Š=… [kRT/úìøõ¿dNpÅÕüüwÔáØZ¬ê¦#!æC(YµfÆ|Ž~™óoÂTª3êíY¬ƒ,„C‰¶Ò¾w)_m~Öõ¨ÐJzãö`B¼50#›®q¿[ú{ÿþ«ÐN“£9Cjúz“ö°[{µSètC3oQÓi±…—^ñ?l˜ßu&Ñ+I¯êýÐ:—¯ *ºP…Y;¶ Þ©ÕöÛ;Rƒ[òæÍ-.X,?ŸÁ8k£›Oq2MŸ4”æöóM¨kÏp‘šI®Â¯z\íãc.ès2Ï ßŸÂˆÁ(9è{b3˳>¥g7zkøncvjÇ5=⇧ŸŸž<±ÌD²ZÕ"rº4=¦j5§~ ¿•ÚÚ37}꤮ìZcìÈJœ«$»¨i©i€Õ"“ßfU»!yOI¸$»Ï)E*×dt-•Sbgh6d‘PCÔzBÈËÆÑjÝé~SµKÈ9ÉJ w 9Oß±%fæšuŽ¥¤<ô$¼ªiE¢óxÏ@5T(%%úÚë„õ$¬ AÛ"c ¨î$9.ÚûrIï1ìpŸE:¦ÎT§býÆn-¼|qðüYMæ¦U B5á›ì>À&˃Æu3Ú§žõzÝ4}tckõæEóz•<•ÙbØPõmñÊ‚°áÍÔÏ6|gs¥zÕdË ¤o†“=²¶LäJ×71ŸèÜP-Ö&u¡ÝªÊ¿A‚ô¤¸c …qØz®ädâ4‘¾Fré•x}H¼¡³Ö>]=šoÖW2SlRã"¾5ªRñXËè(Z‚§‡rý|Óû¿€ßÞDUÚ…] n3Ê釸WgGa;“2µGcs8y6_¬‡§ Ž$7 ÒŽ§õ½A\Þ° aIt§¸w,ÁÝ©!»%ÇäÙd»Í1´ ¾Se‘R—;h‹/ ²>½S;«Pð·k{ûïÔVs™S±Ì}%b‚:•`]ëÇýþ²1DípyCˆ†Ö¢´¤“l±£ÿ” ŽöÕÖÓqн&%bÍõ¨½‡%\µÏ#¾ý*u¯WqÛG°¤ž0æ%•tøQN$s¢q- û‰ä½_¨JÛWD..¸âåí¸+{¤N R£ØVöG¯1Gç¨ÅR‘›×ÌAš^i¯°ô¢þ&ü¢$îu ĶìñA%2ýXCZ÷ï…D'0š»¶J;ü 'ųr`Ô+Ë’.« d"Ÿ,7»,¿›Ôs·“–éÓÚÁ»i½†Ö» ¢‰.™¶À³Ö ’f u8µTºZ]šj83w¦Õ¥åuæÕB£øœÆÍNŠÔ-)S;nŸã:e¢ _< u w§—~WÐ`âžJùAê!å€rø)sï9N læ\R"÷at¤Y4: ¨áÛYÌÕ–Âó¥åBïÊN+Õù˜ ·ÐZòt°N)«Ó59Ó©£ëØ ¡4>[7õ]˜˜*x>[ ¶`ÈJ‘oŽp$#"ùÎÌÖŒÀ £5jêu{V4¡ ¿ƒvYÑ“éBWœr#‰lGÉëªY¤Ü´}NbǺ£bî 5º‘›ýÎ ú²ÓGÉœ$Rø’b¡*èSdž†¬^P¿~R³œ³Éáª.$¨…©b!IR{Ó+ Íó3ȾoA;í‘øútgÕ‹nˆWíW.ÄOþö´›€A;tÑóÓS”¹xtTG­ˆ@E7ïñ„ú»ŒÁ|Eý6£?EKžÁç_Pw¿£RÕÅH¦AòŠJ²ÇÆ­üÐyIM~,ÉÑW6ˆ,žzK¡Û'‚ˆÒß¹ô³¨mý)B¢éÔ|¿„IV, }‰ •z s£qééä¼­YïÃËU÷Úž¢~Z‹V<®>ÏJÖ–ªAª€¶m'ÃõÐ! ÆV÷+^c)왣À™u0MŽ©jìl/4$Žö]a6£bB>ªJ F8=>èéøM)3ÊEãYRöÞý„“`-Tîxb¡’‰ µäÖÅHEÕ”m4ÿã‚9ŽMÅ Ä˳ jË—0úkxs*¨WˆÆÀI]€aJÎ6GWÊÚ¼GM]О~:>9½¼ÔßW•ØÑwG‘ÜbdRZh³÷êzÙ±w*LĈf7™¸T-”àÛ&D7ñºÛí;壃 !ɬW]¤#0„Ü·í Ÿ,3XäÑ®„¤8I­7½3‚IÀËòÈeJpøâ:$ò–ê_u^ÖýPä0ðmU…æ3õ†håÛÀt]aß­O®äógU¦=™GÕ4 =¹åCmë¨rî\ÿE³ÌƬMÝßk“¼eʰRÈmÁ¸¼ÑX›&tÑ$sÃànž»öÆÜySÍk^ZߨÇMã’B™¼!L‰ tý˜¸m]›n÷JCãp-à IDATËWj xoQœÑ82òœxzÃÚ¸/œúw¾urå£áŒ’©ûF5 È <¦Éy¡Z-2þöô¹u¶Sìåߥøøžþúø:jí¥©:»‚vŠ:¹‰ƒîŒnÿ2º} •ƒÐh#T´Ýï>YÝS»+š"ŠrxRs—~Â7Í9íœ yŒÃ…ʽ±~x€ l€åkò ÷‹³iLÃŤ„™™Ú]ÊÉ”h!<'0N;ý›iÄÓW³ìQ:8å ¬´6CÉGXNYË]tw¶– ®‹¹j¹YuúÖ4蔚ΤÖgT"o¨ÉÿÌ6Q ‘Ôì‚—EãKòFxŒ™¯—KúNmĹ\ô„^Rx¼WÛ$ÝH™Ð4F½šŠ~$ô!v ~ÓgX¤ÅÌáA®1VDÕøXr.øðôןŸ˜ÏÑ÷z|þ}8t)=?* ø’“¼HÎ2ž´wá>IwÓîY¯ 7n.Q1¥Ç¢'§©°W¹“©¦ÉY÷RaÕÆ8oçNª4þ¨½+(õ<¨‰ô؆:àn!§Ê«† bøLíZÕ¿#ʽÑ9Ü?òâs8V }^\ºGýŠ”ë¥›//(Ö!Í7o^*`þD;-œŽÚV´+ümíÿ¨÷?è¦ô¨¶???=‘ëŒSÌ\ÇPVëQ´¾ž‡²3*”ø*H–O~µRQÂÙ6hô ãKí<Ží((ÖþW]å$˜”ö`'Ñ>ÙÍ‘H{ÝÃdÅœ iØ>¡šZGÜϳº¡ŸR,O )ãh3Þëó÷‰-™P…B;;µ¤N´Áª–Ï%Ë¥žî¡z bu¡{¡g|û¬(ã1ƒGÕoÛäûè*<_ÃzŽÍnQ­Y!ò6r%IÅÚ­‘Jj“X þ­AÁ'ëÔk`&5t‘_@åG¿†CÎüîž¹aýößZ–8$ë$‘aK3Úʼn•¯jBg’[¶¦*çuÙ>Åå|~NMßR³ÎÇd×7íM‰O­g¯Æ® Ú&ìe_ÞäÛR"’‡,J4¼ì}rË{}@ÞqaIù„è"6äÀîNÎÒ4eÓ¡dÛ .Ñi¶ÜH²Fb~NÍM»Þ½+}Χ²vÄr¦÷Hÿ÷ÿ¦ŸÉæ˜qÛàÆsØ©ëÇÑåÑöF^•Yš9ôÖ¹µœÚ·1ñ†‹ÐŠ›GL.Ð*¥'® ¹ÃTÿBÐâXh=”Öy;'˜ »vRÕÖs×h‡[§½Žñé<°Ò3KÑ&¦®阮N»ëxÕp²Z†q,Ž©›<Û]rãû³æý­cÊOάÎú·u ÖÑ7®Ü|qk±Ô™ÞÑÄs+n2cpdåd×EË X˜ÆýÜhÐל·¾3Wù·ãÜ)å¿y—âžQ ðó3ʧ'b;}>Ýì]øÍ©²|м*&ó&= u½àÃÓOOÌ3j½†ïl!y ˆñ* ìÁËgáìÓà_¢Y¢…G´^–Óªv$%å÷hé_C¹à-qZ¬4ÕõÕrt—Ä…º ³ûúÂø€wk¢.PXâxRÌáÏ[ŽI;¡¢¡r Ž–›Äq82fH±¦“·%ÄÁ¢ºì¹µ5ªâHVœU•™AuѪwQq×Ï^YE_cBæÖ8¯<t'±ºÜQ‰>ï”ÍŒòƒX1y¯GÒÿc35Q—÷@pg+( ÊEzWKËLPsm~ý,#6?hæß‚·Wä6‰PoϨõtWÁVÔäE5Hß’?@‰º/~ò÷&¼hcP}OテXîe{ ]…ÿ«ð¦wàÝîÍZºUŒ“®¸S‰)ˆœ;öfiïcåA‹Îh­¬w.ÝÝb·ØÒ^´q¢cm6`V; ÁÀôCòñÅZó°2¶{k®ÓøõòáÜ"¯;¡]à…‚2ý+c; …²opÒ5¡íáÆBz 3€›³1·F{MA³´'ª;èÜ’¾«µ_ø(9ÂëÔìFˆÔÃ=7GJãoý¥¬1a³íž~þÃÓÏÿóÉyø†èðUw¾%A’á2"‰âÁÅþ„ItYGáÅÄÄ™ª©'º%™ü¢èRÞm”ð†!~î…±CœàHr«ÀĤj2K²ý¤ÐSªVãèŒû6â¥Êº¹yÛAK|¯î¦¼¼¨ÌÓ<¢NÉõP‘ܵ­áj¿^d×ûöUÕ57“6NïÔJ›+¯¹_4 BdnîlrHmßF°³ q»¥Š¼x‹‰;;ÖP2_eO•u¢üÅŠ¹ÖNÃØÎ½ãKjFKçÄέþH ú2¨Ûþ½À÷åAïå7ñ'S½/Ôó³ Áu/Ã<>¨Â1ù[[6o¾Ç‡§?=<¹\$£™„ÔÖú%hß:3ç2nPöæ`]ڛΨ˶ãX»]¯\ST›µá},Fp‘VÌYêj/º¨*±*»4ÈïíÜP{Q–’oîÁíø+ÏÁâÕ7æô רѭpÐà‰Â[ÖwI ‹› ™RÔ_Hèn¯÷ÈMëèЭSlL%™ƒ›(ËkS M›[î£î5& ˲q›[U¯gPú|›PÛ©Sd‘“®]õõ”zº˜OUq¤´€ X5BJý"µÊI椚_‹h^èx8ÅB¨W©M¡lÆ„ÐÞ†<¦/ª°)¦“8Wrêy HBoÛ'N˜Ï]ËåÞEcê~Ó<­t†geeüÖš“q›d7ÍÔ…Wá˜!Hý~Ê Is ÉøØšÈeYqSåM†fkʳ"Ó†^¦Þ|Ùè:R•z…lµŒ; š¶ÖÌÛUÿ&éž×RÚ¤ÉRåi-˽õý5­šy³7se hzH¢“l§ê|Æ[rž´UD´­$0K…S´õ–St¯¡Àƒ±Ær$¯öÂqh!}QÚÅÒ‘nÇò)“›ºŸR WrC†}TBW QÆ8ž;&)Ñ$,o‚“+ö™LD=¡Ýë®X“lØ@‚k+ ³“° ËÄFÜv¶*©±3‚§3hŸ8jCrv—&7.XB: 2/J“lò‚§D”(Þc:¹r˜cu=½}l–&$‘)µXÈ^Â{­Ä/nsÇ .1œ±lM©ûYS牓LN„ý,dËû46³s%ô¶g³MZ›ýxU?:Ó®4Œné0UŽbíK*ÞÒ aÏúÁr´Yìk_º¼ÈÅ }D¼"ª»Íò"á!¥üÒ\'Ai—>¦"nm>ï’^4×LÞ†*R›\%N¡‹t¢ÌÎcPCæ“~銊™¨ˆ†nÃV0-ÑE Öö‹TGa”µ²è>hŸúØRí½=t~žÔ"Ár&TE ;:õ­“V–p.¡L΢5ºLä B9ÚµÄsjǃfe|ïZᕳKÚœ7]©xHúŽ"hß² ”ûĸHjÑrù;Ž1£ñ^Bëó³:mŽQpµO[•ß}¿ýã»…-Ìà…tˆ­âÐÖq]¶=ZƒÛŽ˜×‡h¶Û#”ÎØK½¶P“¾Mô sïV}²;Šõî'^3ˆãŸoÏ(ƒŠ‚ÊÛFX°ÕµÈÐ&h÷*l˜Ú!é¨ç6Dy¹óVÏ#‰fK§Ã‚ˆØ 7hDZ7¥[Ça)LÉá”-Ìs83®º#…™Ù!å­ÓŽOîÐâfÞ5+»uæ¶Òoó¯4†y2í?%/…ò)¢øáééç'þö"žFã´Ãÿ‰/Š;/È·Áª±ƒ6!êôäUäªï`©æÔK±/s°Rm¡šÖà>íþ‹ãâ¾s5¡Tzù®Æ«ˆ–Œ'7÷\ÃÐ4Ý5¹Î²›»€i”ÄXµÉ×ÖEQæGl¦{Ww‹Ó»êàAÔ.¦äÖ™à5â Ô@hTôÅNGói2¢íàË B”6äâ«Rd(®¥‰-–«îèUH¬ã)©ðRÔQY~oà •ÀԠᘌØzEÒ¾›Øy% ú²Ì6û›k¼Y]ðÇÒ—k<ýüé‰öS -©ÓØ ŽêdÝ„}ŒÛT(,¨UX#ÞY[J–¥6KKŽOÇ)¥8¸ÎÎÇ’¼äf¨Gµ:çqRäi'Y2²_Ž…Ú‚eK¢[ŒÂൃÅ)Cœj<јp#ŠUjîì§’£{÷1n¥t¹F‚Ù-/qRÞMÇ© o2ÀkÌ bá:¡0))9Mª‰Kr±´pð>Šk¹µ\MÊDšÂºÆä\‰ÌrBo݆@ËŒæý}"{î“ÞýÈ%Åå¨î.3W3L‡ÀÚELüõWÕƒ¬Â#=Úûãg‹»Ï7G ¬÷}Kû“[B¬Zœ’ Öt‘¦cÒM"eŽ¢QCÇÈr¥¤â¶CGà&|˵5¾ÈqìT‡*æçÛàmþ¼3æËcì¡ÂFq´3ik;iG§iû:ÉÖÇ•íQBB½°wH¶E ÍÛB½VKeúaHò¬ñÄVaäŒ><ýü—§HÂåyÆzq$Ãòú¼æ†háÆÐ¡Ž‹¼‚fÏædØH˜1ï∠çŽ66;Ÿi¥J.*(‡D‘¿%p–¦Ÿü¹CÛŸ÷?Y5)5¤®ƒå½2Ïš¬¦ÖpÒ"nú}9¸'o {AÛÚ>ø;,XSñí=9šVäzvŸ*ËÖ.·=ÛqÙ*þ˰a" n‘½=¤Å†³·^Žwß7­Ÿ[¸²éÆ«j¼Æ0ºlk´]WÉUjçÞ©­hC_dž^¡ Ú–}|Gžéõj¯é4rë=‚D*̶«sw­Þáäc;”|Y-šöß[ûÖhOvk+Ë-C Sä7ªæòót/È‘¬ìyÖÔ0Ø6íÛÑ’ -ŸÌ6Æ>oÓ*€|ŒÏOŸ4§A2cGèß1$6Bl‚¢éY¥èÍ#·OÆüæmÂ'Ò&\ßÅ&ÕYl½Ø‹N¢Oë¾y«†3ïÕj¶þIšœ¶Y¬ž Îî$»—.ÞJ‚ír¼ö}í©H<®L™Xi6¦nÈøýu _pIK“7¾%jO~Þ)>gOs{FNï,Dl0†ñÎ;ÙMmú-»ú¨û[mñ|–“ÞA‚ä¼i±F ¶Ò!NoF7Ú¹ÿáéÉØ¼µÃù¨« ç8™~/ R­¬ÍäÕyh5Þ‘ôôŠBª‘XV´±Í½GwvlµÝ´S]L[šçcw¤§†•ë{Ë;üçÖþ­ü6çTž/$Âå$ î(Ä´$5¹ã˜<’T›íqLë²òôšÛú‡Á«5 Š¥Fþ<úwFéax÷€ñAzÛ4yB¦ùdŠL¢õï ŒÉÀ.½7/Õpš_f…vòõšZeÐáô{¶vâ4?jbÙ Ò®œbC«b‹[_ŸAÇÿl©I WMÒ³ñóÒ!LH4‡T‹P±™Ä‘wU"Ôo_¥/¶ñj¿C'S¦˜—Ñò’|‰I»Ìj vè3B„ÎÐŒRQpÒ¹Uî”’±[5ÙL®ŠVó¡¢læ<™khݳ ³æ59ÎZI;½!wiª)©ïX®^ˆ« 8Aë-\ŽLÔä÷E‰bž{ž`§“vn&2ív®§†…\½9‘×c–ߢQíÃÛTgZ®^‹$ßµ<6Aèl“4ß/º³:5š½ âÉfô'Ûô´¤ñ>éûåýÒí÷Eº‰mð°ßS4Ðiêø—¬Í+³9Ò’¯‘íÊÞï°“šr:sã—¦ :6ibúÎs$ãI #¬Þ©­Õ4÷ŸÛý¦ïh( èèhïç6ñ[‰“zVyì(k y7Þ?• ×ÿ¹«ßlåaá5å!–‡uà/àRPð¨÷”Û¤†<}=,×/òûo(üþÿn²µË:”Ô°7˜Ó¥ ï4z/;yƒÎfN”’æÒ!j>¥àÃÓOÖÑpLVø™ž`§ÀÕýKÅY;N PÖd9ˆc_£%´æ@ä=åâeš°bïe¿j˳¼«¸6"àrX©9á(·ÈPµ”Ë5(!µgù¦“Á[BÔtb• r(¹Nþ+Uþ)‰Âü¨ç54žÃA§µäzHï,j°ì­ÒssjŸgLÖšç%(ñ5½‚Lյ̌Bã£xø"–=ϸ\µ‰M•÷îô² ÐÕ\8Ù®¦|ÀO: /ÙÔ}šY¡Ý{½÷)ظ¹Í]P/zº¤«¦SÒ©<—°òHŸYi+ˆ¶Å9£çÉ›"ÙÄœéàpeq7½S$E<Ëï&k&Ϩ„Z;ÌJâ•N•Ìö¶v*Y%ð»ÒJ—0GBȼ±yw„ÉÆ¥ÕÅ” -3·Èß|Vh»¼#9æµÞÅ“Éä„Ègð €àD7£WöÙIÇ~ŠÓ°ÜT‚œgÝW£µÅ›Uµ«íd­½oøÐ5H*Iÿ“O\æ@úüÝvºÿÛt}»Çù9ÞŸFBü¨sqÌð÷õ¸j¿Ý·º»™Ô$95©)³šùM[¶\é­éH¯‹÷[¸”\a'Uêk·ërâx¥”+0=À}–²~¤I@tw]^’4VÛŒ§†Ô×Vî&.jÉ¡ön>@^ðLˆdbǸÆ!iÉfNšÝ)°‚†I•Ž×ð¾jz„$7wëLº½A'’ä·´´wtܯ$—­|u¹0ƒAËâ“…ôÈâYÐS›~½‚5GœaÀœÇ:)>ý^Ç䧻ļrÉmMyf𵚞'5qõ– (cK”ÕÜ•´ÀÈñÜgòrIsÑ ðí èn®ßðáéÏÇ'P*ç[uÔŽp¯d—öxrDIš©‹T½“‹ŸŽ£B”•ÏÿQi»d mlÖ!…LhÙ©&Ü¡Ìx%e·–[©,4¥Bx«¿Æ Ê­*Rƒg¹K}‰DÓЯU'+uFQAQŒµN2,!¶Êýóle¤É‘šrm\)iT=¨¤ÖÚå„loô‹t¿&í0ÌC[бv¢`îÁX³-ÁÕýr+ë%3%Ñ´Ô®û8¥Ü;$¢l Ù«è‹Êñ(É8~wQ— 7:JŽÛ¯Àá(m¡ëY™% ><ýíoOb*w"BnñÛö§@ÄôF ¯¬®ëi—wh·bÕ&Ù^ºMþ¦×wö¸;$,Yd6ÈGéÔ„¶Ø”âìIŸN992îÇhöb½¾ëÒŽ o(Ki{,ÊûÁ’­Ú¡SªMoš€"Ñ#öÞ“­ívs"*R·ØýcüÍÕÒl’òìvjNjhÔ£e. «àÛÔ;„’¯ŒÁx0(ŸÚüÉ¡~7”H\¾šÛ_#Y%íÓÆ²èâLvLÉq_í$à ?µÔ¡²&%«Y"a¿Þ„GVö@µ¼  »]êyÂ">ƒµ? dgoê>¸É±ÌÝjOýñ ËGòRΑèOªÐ»¥pCnW±ö¤ŒêÐZ³œaÇË)º8& ‚Qôï×)ui¥‚úí+êpÔÎT©½Z¥äátm’ó¶‡{ ’¦%Ž(¢PŒ¥•.ã}æK#)gŒÆö®õ拪á(œB|wî‘R®c]SlO‘üWíœUÃ"Œ%à¾btPyL¯Šº÷À‰Ï*cH`  I¡ í#³…OÓ„’ê娒ÚEI¢K F߯³úéþ˜ô>5m2Kh?¤½i‘û0ÈpW+À‹9+vNw '¿`ÝfàßýÃÛ"ýLIÿ—ê´ ]AµïùDlÌçÏ’@™þÒ™*ç&9íÙíïs•õ–ÄEœŒ6úÁüèü¬ /¨Þ” Ýf:mxv¥Jy– øG:…§µp•Ýcg5úÞØk¬ßPŽ úä–ò±‚WËZýˆ¡S6Þ:‰ÄÇnœÒ»,R R×¥¶$Z‹½·ŒŠñ;¬N¡ÇöûXµ´8áîûÛ?¾·“-eýÞWš¬Ÿ7&fëó'ï¸Qí«ßâMe#3tŽÜQFÞë§ÁÍKl èÐù¶nLšrê&D§ÃèèÍIVzÚ Þסø‚ëL¶&rÐ5Ú1Ü0Àk¿5.ŒúÞ£„ôµ°ò.Wu[ó²qÝ2­›®:?nzG*lS­¬ëa#Ins}Ñ>7‰fcí§BmgikdXf·2+ãÓ© “˜‚õ…&ÓÇÖn´.Í£§­,^i¦ÓgŸ,)KGÏ0§ ¤ž³çþ»&¶/©zlÍ7sÝïtFª)ìÈòÝ–R"´}„%uH36£LáYÆëjÊyO­­AB¡„îè$%RÚu±F×îðò"v¥óKß„jYÿ”FVšq†6@ÿ~N½8ò§²$épn÷à€]v.ÉàƒpÈ)W¡–Ø;²nS4¤<#·p.Iáá×ð ¡UõM3Œ ³zSÒwÛ‰.ÊKWÖ^oï“ó²ï”ÿýœNsnë ñMÆœBŽ®vÀ7e´¾ixuZ}¿‡šÅ”‘SWsȯ©s×ë'ñž˜;¶«ôòéUÊ}Ü«%˜“Ä nàùL碧¹Ý; €K¨¡äC¾uã“Oѹwÿù[ª‰q¡xóöôõM7ôžbÂíƒ{&S@°.óûu†u¬í¡[çM›C9—”Ò \‚»r`oŸQ%°–hnÉF{ŠJC×èØ¹ ÑzyoiC*NôMÆkÚzOEß—Χ· ;QÙ¢ a#ÖNöù:ÿNNŒÁðÝ¢6ý‹Ð2;åoå™Î_¦fc3»‹ê~NiC,t™–âÿ‡–<­õ¹ÇÄJ¹TSìðàÛ¥ ¦b9lWM½ÝB·p¸3M¶ÕžÅ=F.Sh$ì¡}w»aå"ˆim°\JPìù½Ý¿[T¼•‹t“¡Äcÿ®¡ÛÅNë‰d§a?îÜÅ÷éô+YÔ •ò—¹hÍäåvBr7v˜[Íys¿H<Éé4ž<蟵Ñâä tÚc5‰ŒC™>¡”ÎÇ*§¿„(J7ì,б”,æþ‰OFq'ž2ß, Isj „)Á-‡ÚS¥ÙÞšÁÍNSÒDÚДž ØŸCøËÛ¦lP b#(kR!'A†t’¥#?Ûö A"º°lµá¼u(`I4%[«æÐóMÿ榟¹µÓìC Gª¬¹'·!fRW¶»ïáºFi¨<~?ÌÒ›ÃÈŸy’¦ÍšynEsNKáF×ÁÍwEX‹wJ›î€Ü`'E%EPÅÂNfkE=¾»(Û¬ÐF°´ÕjNS»P¤g‘b Ë Ë[1t¡€+õ¬MAAÛ4¦Ÿ x?LÉð¨ÁxOÙ±j½©M· ”å­‡(7!TÞuM˵S6“ûmƒH¬¹ŸÃ -æõLä>ÜlLÖÞVŠM¶\}ˆ8·ßœÐCêÕ òía\¤ ˜/%1D)áGÐûþš‹Kš“jûƒ v»š·!Íyݨß9›ƒ Oè÷ Ï÷°DtæÖ[r^<ØîñoÛL÷qþÔ…MÅC.S¢TóFhµ±£–òoÚšõï¡‹é]JúoNà d“—˜ÂpÕÒ-[0Ý6ÌŸ·:Hõݵôä»}Vë÷»ª«Å»1‹&—a»¢_8ïb;ÜmÆ&Yîû±l°ëý‡öèìÕ<”­q…õ |Ž“çöh,?oÉ››”¾Ónw+ ÛÕ šÖ‰]ƒzõÚ–üù)N©F÷4¶8J?v~Áï.ޤt•7p q~s{ q¿0J„IÞ>mqŠD•ÃFÞ7§pgîr%îòÕ¶Ÿ:&åô)õ /qJƒbzèž]ž&ÒHyé*?E„¸©®"ÏxŠw¸¥ušŸ#±wœóVfuw÷Æ MxÛªÚXp†%wõ†¹epíÀëÅ+cþZ;5#¿)ÿ¨aÇöÿÔlé’B’ÚÅÖf›h !Î IDATiVDÚ%žëº¦9 µ¤¹Ì³ÊfØ-ÃYºcãî΋´ ÊJ©Òã$Kv³;¢?éTÅc»[Sš`U”*=3_.ˆ”»à/Qâ«åÚŒ}ßH—ˎš|U»##j­„“3¥5²š—9cZÓ¡o_Aà~bcz7Ñ1ØÉ¯îÆŸ; „w—¢k©<·m¹tÂÜïÄ8i§Ô iE!ŠXAi§ÝÔÄs£T¿j™uÞ›ìUmš(¬C&¯ZòV„ßùŽ’ˆCXûØŽ?mUm»Š¾»nT”›'»Dž±ÝvË,û–Õ©ÕCëë%`ËÒ†«!¡G+W™ötqº þ/cï %I’d‰^¯DjP šC3˜3àä°Êµ°ÖÀîǶi,ì{èÀÉ…5ìeÂJ¶0ºÁ°ÇL¨6«òU5óêésúTUf„»}UE®ÜOŸýÎ`ºg4¤¾)|Õž‹Ærósz¤òÏå~hŒžzê NŒ NJäD?’sˆÖkÒÕäçbMåTwÝÖðÎÀ(ð°è@HãûÇ;ù{}#OgÛ¾ðLóµ<‹°º¶!Lu¯ „rs~êLqç\šºó1A¿ëqþpšÓ‡“FçÔ ¤Ô]æÈ<-‹øåc=o&ûãu£ñxÝN{µ®„9¹Vb—óáÄù<ßú$óíÞÓõi³#{úI nS;/:µ’êËãó(߉“~.òB…C~_<*›·‘·¢Õh™á*|§Ô@’Ð:e‰ºÀ‘p›¿‹";C(‰NŸ%·vbî%Zýç˜Õ»¡œ§ &ÊKóVýIC]§TMQ¾ñKbËfªGŽ^F¢¯LÀ4¡ rýâ1­Ç6¨ä`ráU˜V§üG§¦_#Ê.ËyÝ¥^K×ô æª2é5Q8ŠÓ4*oað]«h~ŒâQ»gÀÙÕ}‰)V:Q7Ó2¶¸n›\eÝ$Û ãÂÝ=õ·EsÅè4sËo$ÍIrÐdÏ„Kÿ»§¿üüäorÉN#¥E¢ìÁžìç®qP•X<¯ØÎEhmñÏôQoÖLÆìI68éä¤õ÷Y=X©º"0xÿAÉçmÕÈS n¡‹ÏA:¦I¶sÊö=Öømæýj‡Ö÷Yfm©VHß?+ÿGˆ>À^:ŒÉÒ¦ ¶±‡ŒÅA]nvqᙄí̉¾]Ú”Kå:õ×Ä"±ijîwÊ-d ,eþ†’T+íö1…;LUÝ‹*ú¢—º&N\ŠÐFÑÐLh ’Þ_Õˆ£ûÖqȽRæÒ9_ÅaEvÆâ/ µæû7”1‹Ê®hB:O¢»Óqh¶~Q‡‹ì²ŸÌò…K¬ß;µ£3I³{E?úoØŸ÷J¿¾w:£7üQ“†a|Rã¦9€HÜQ¹÷ãúP£ÿweÉù¼ŸàsœSRв”å:·“t毠ùÇ? ¶œ”}}¹ë}Y[.fFlÒÒ•ÀHîŽ;ZsÂ3™CÐ[¢äKÏ_O9˜ÄiÅéØçǶ_¥™‡Ç@ÿùãSÚs“tÓ ¬ÎoZ‰‡Òúl ÆÝۮﵲ„éh°N)©ÔÉæpI)è;’1E)9ŸX²ë]F1Ð*$·ö;LÌœÜÁ¹‰=+^6d9låXY Û~±¨²zÖ[”;³˜‡(E–jBx\`”¦ú–ÓAºóêKVÒNÉP7üé1íV–—Òe„4°Ñ*ØÙ\UÃ_³[ã•›s«îþ‰^Ê)¸5—¦µÍÃ,HeyÑ´ã„B™9ßöâ×ÏXY¼¹”o_ÄŒ›®êFmžˆ+;ÕÔŒBŠm±ÉŶƒ~ðì9¹Ð]¾=´^ëg‹„t{2šSvùØÒÛ+·Ôi­ÇKMÙèȪ•'y{$´!4+Ž™†ù¥M7ž³‡äŸVÍòÔ¡}éƒ6•±NAÇÎú}o.§–Þ®¥†¸–† (ƯŠ2qÊL)KæŽéþÕQÁ,½J¸å;×{ wüÂ]fRš‚‡O“öÉø¹„-š[YÑ8CÚý¤}é)”‰UM¸v½N×ÃØKj¥šnòâ—¡1è—¿kü£ZV¼•œ¶1Ð×­ ›W+ÝÐNÿˆeêyo/ݶmÛ |gÃÊ!9ó Ýãìß×â<¡ŒÜ£b4“Q´ÔC³\Ù–Èr4w“{E¼ØÌçs(¼´ÝµãéYµ©$Y_Z¥]FxöX>œ”Zt>MoÔqŽ ºO/u:ÞWVS>7×…ßqd`ôŽ Ã> ýÎʹ“ëÊê±L9 ÉY콪ñ^&ƒ?ç׈÷¿JXÏôQ1-·×p_1ÊõVR ñúâvDaÐWÁÌrÈV&ú 5tü¥¼Wᚢœ6¬´Üž;·š B\U¼ŠÐʥijþCÛ¤Î:èOâ§> !þ1Z¦o0igi¤LXã9&BzLÍ|—Žš).à£ûyƒùs'¨BÐ hìøP”è|œßÒÃ}U±ï{ ѯ!ì96ÇÑRà…ï´t«éžè,H’l‘ú˜æ(/08k¶ågl—FË´å!Ô2Ö­½ÞÊå¦ùOÄ@o¹ÑV4;?å•ÛØÃÆnþÐ é”íÂ|>5ÏeþwÔ~§¶$v/³ÎO¼þ{wìéœÑ™8'e*J\£ +z$ÀÜ ÕžSö`"ãõå‹oy õrýó×”¥q"˜q¯Ônz}JHì'Ðý`’OúŒé=’¡Cw2Ú¸âÔø0¤»åç“ë¸4R§ùðö²i{?ч:rÇ®À‰` ]–¥]‹O‡‘öwf)ù2Œ8îdâУ–Xô)«nÿ_ƒe[\yˆÒ¢¤mS·¹RŠ"S/‚RéVULóÌàîŠi Yjx Y9FêÙÛ :1€Œ2 в¤úÙ" |µ¥á›å–¶¾5<ß9h%âºd(žá×ùp¡Dþ7÷5Œé¦G8õ™)éPÃ6÷éÂÇS·Ö}Rëb°³•X›ä$z¢õfÍSÆTަDX@Êc7¶›‚ËÄm”\U®Rx˜)Ûhâ4ë¹°Þ+:/ÿœrÒÌ$‚!öQ7œº-ò+¸’>[E<ÜOÙv÷ŠòÙly ];}T­{šMÕú=ïžþíQ`Þ’M¶ )JFn­ÙsÉÓÜÜ«”2 ÌßNƒ0 ©šr…#ešF3B•)jIµ¤”¦‰Ô烞L9Úqz0 ªæäXh/>Ç´¶\%[¤7°#u&œ¤ŸâíEkcô‹D Ü6q˜œv^ÜÝš'h15 ÙŠ¬äeˆE!PZ(ÈþrÕ®ÎG ”‰µ ÄÄ÷éå×(}FlÑ£ng¯ï¼Dmñ~Ëú¿Ô5Àwð< zyé+P>¨SåŠ&“¤˜i_ªVè‚3'pàAÂEKî — ÿƒ9;"±½ÙK­ÇNìDU™ïèàXÞ'A–gÔõµlF>Ó€go‘ž} ´sGyÊy…¶sìIaÖªàÚ~'>ÐE‰ñšÐ¿Qóþ¢üb¬Éo*qÈ,1 ”R“vžY¼½<›MÍÜòšTkmt§lÛ½c•@g$èQ?îvBµÏ}:!ß¾J¤Ú-É­/ÙŒùk¤'sWvózŸKÇÜÝëV¢Áü( eg/·˜ ÌéÁgkGZÏQSf³¿& ÀŸ<:žÖÆ­žãvTRפ3: /·“M?ùñ¨tÓÉè!V,Gfpæ‰k.µÏÀÚ¨Ú‚ ‹6´‹ô6Æ&õá8(dÌ :¢t¹ïç¸þ÷fîg„¿¤|ÌSie<“1™ç¶ÎϪDëIøŽ0îLUˆ]W¨ÃýžäÞÁz†ÞôÏïšUaâõ9¹³äèv‡”ùG¦iTAmÞ§>-¥TréVWÌK5ÕšìîÄ1²ß±­¿\ßhzL¾·ˆ!•ÃkÜrø=çCk›žz¤½‚¢<ÎWr½¥L‘4i÷R)Ij ¸¯,Qò`VÎNÒÑ:¸&¢xY@‘•nШë-à~ÄÅ}¬0ÿ†bùæ%eº+‹×`ÿŽ2ŽZ­ zÏÿž´,9¹ª&o²ºê±––Ç¥ý…ðÞÞ‡Ö4Å Ùõªá±H7‡`“ŽFï³D3%–êùä\:­ Mé]/]ùµW¿_\7Ô·W”¡¦?{Õœø©-1›ô­Ï·µe³÷ ýÓ“ü —§E™¡m\Zž°§—ɽ{ô™žˆjÒ dv±Ìíµ3=NÑE©^òl˜É¨%õ4[wŒV›À§y&r®1À¶ù…Å(ll¬WÛU¶tü Ñ0Mø±èø%kßStš?W5{ŽÞMϯ<„&²ü³>¨W 1š>%ƒ¶lʦ½J'L攜9ênè¥o¼Éô’!óµ ß¾H/V»DNEM1s:A¯uÓRºcíú$Ã@=¼9¶”‚²ü.ïeFeFÍ º—°ö¹õFsÊlê͸X¦tÁ·o(ƒå.tÀoþÔæÞÙÊ0é ÖWuPD;Dó‡"Me%bb {ÒP¢O ðìo Bþ€'d¨J@ MsâQ•Ô[ò‘³¥HQq;ÿU•o¤ ÜÿlV¶)V#E™¿%–*b”ŸmØêMsZ”œÆ‘‡ºÊƒæÃÑ­¥ô72{¡7mVõÅò<¡‘•Ý©i*m÷Ù#)Œ¾žºhxYu±¦ë[Í:°Ö”+™8wÖ_e‹•åÑ<M­š_HÉм‰äX“ŒâU¯k€!z9urb× Î°óh윹šÍ“½?èDònŒC“t.¶B'§S±Uø»öJ´;¾¾¤Œ[pfi£s‹½{O†Ž¼S¦:µ[°i•ÉzBûˆþ §3뢦OLÙÆdúvBï@ûw©YT1:ñm»gf7ÞÑÖ'¯áÆÞ) ç^bñÉspÖdöî.× Ÿ™ œ]èE x}>kå{bÆä©ˆ:+®]“ܹ½ç‡Ž’’¼¨Ñš³ötj³‰öë/Œó¯Œûôø¡÷øƒæ8ñï=›TÔ/æç¨Æ*&sÇn¸oìÍêνä0osÇ?¢ü]项kÁÔÿÌÉ‹{WÒšSsæ‡67Ë}pgóðÝ39ïÁ”îùS°¢_º…Ë®óA¦Ý31Ž–Maâmòâ–ŸõCIVÒ†^B-ªÿÎkr¡ùðÍbãO‹Â‹œhAii-wE ¸ÐV©um``^_pê蚈¬ÝHzzDv-q(³«™%*i%:°æÆÅÃÍæòˆÞ¸"¹€@f<|{J.*·úVøVh<”›¥5ùsTnéÈ“y·ÚÛé¶_“¹óùMç¾Þt#Gð¢èØœ#êxxçF¡psͤÄðß™[s975ÌT£±dYoœc8åì':²+Lï©}D“Åp(Çè§jNy8ÉaX[áÍYΟùE ø{PNÖùH¾­Æ<¥˜ó4f½¿ìÜ:¯XncÎôýD'»JË|¸æÝÏ™%&¹à'Ëú’¨"{¢Ëï^ºï˜ï‹¯\¤4ßñØ]ÀÐ’:;Mr¸Bz©h;+=J9;[ŒÆž®Ýr4Üð*¢[ ›’Vè%ª†34²Þ¾H4 3s:-.¿ßþö{¬²8§ý6uà˜,è÷ 8wÂëÛŠÈ`8µéü£íþd€ÔÎ1Ö“þ)z'k º;WA¥l (Ö8‡| @áÎq§Yަ ŸZ7ÈÆ­‘ƒ¦4?¦!W<„ÍÕj²ùD°ž—©”nhagó~œJB\ÿ½£é÷™"÷Ì_@óÏ'Æ|‡ÂÏ' çÙ…O^ü÷³ê)†½=ÙaÏíÄ1Ûÿ3R”±mùŽƒÂÉ®òxbò¶$ûý~´ö#ræ¾~§º úñj`|—³ŸªQwLtŽ‚en«K²‘uÓ{ åTPBüÐÒ®›¼Á—Dÿ8æ¶ýZo¨—Œ Ns¥œàÛ×ð<;U%žä¤k}Öç©.tgûÐ.§%ç¿4«ý2™âs/ç~Y=ì¿&ˆ÷%*l֭׿‡ž«ï¶ü¼7¢)±R¹À–ú³§—ÃúG×>[Ä7s´9#¹tšOˆ‰Ô•P=ÚvûºàiLeDöú£äSÃ1Opjr7úm9窌±óxée\¦=!É?6šš?È\¤á…(ŒqçœÐÇ4“Ð-ÿ™ÞÏö%T4Їnsq&TºF'ñÙ<×ïëaÁswÍ>Û'}ˆWO_Óì$â šlšS8:Íר‡Þ÷ã ÝH¡ÄÒqš9¢ÏsÎ]wÿüÇ3€ìö§«š¬?w BÛ¸ª5%ݳ›!t¢¸ƒbõMý| Ûä=&N)»t¢PDB€ ëÇgð3¸%,ž4–æ^÷ùX3¸6»ÝÙ‰ísè8ð#í'1QÛxËñļÉÝ-ÑR×àze`©]Ý ÷à`‚Ø%ÆõafvæÐn¬éŒÔ5ÎŽÜîØ¾°õ3¢~Ö2ÇÐT ûüwOùô+²ÙÿÔŽZb†lž¡-ší3”ÏRè£:÷‰Ž«þq„˜]SR²Î8m¹ò¹%¨)9Þˆ‹N-ÑÚÖízºðMZ¶E¤?«çÄ*BâWÙ¼Eõ0¼ó{„Ϋ:Öpô0}Ae©õëK˜Z«³¡h¹K”X¬×›“«a¢¾ï9”ËæÔŒµj™_£ïÃö‡SÒ¢­~CYþEýp¯zÌF$|A¡¥\U?¡¿óýÊ2«V|C™tÇ,CˆÌÛ\aŒÄˆJåMÝY¦zÝD¤b*‡J¢©ès0MÑe>¯ªû§džm%Ú«ShüYr^—^i3¾6!ßöâ&Û]r¤÷“Û†‘åª#ê<ðé¦ç‡^ál¦Âí¶©a»‰h“r2Mvç’1Ñ2´šO\?“å^ýÜ×î½—ÚÊe»ê›àn‰Ý¦®Ë,g VHÔyîv˨J«f¦ÒçÝįßÜÍQú™Œ™ö숹+‚¸ÒžåÞõæt½æÝ£+ÉE"Ξ‡³kÛì0£PñiNY—™jb^Ûí²™…œ\(Ú¥¦ÍV« üÙ5Sö⬻A$Ý-ÎÔ¼E§äÔ&½?žchÐY`P˜ßqrïyLœf^ô瞬ó¾÷÷¶8ý|ãÄ.‰ï·Dg¡2i‘RRS›o.™-!cé‰dHØiÐ{¾X×§ðY.Í)T|fufîMÇ„«³ò¾)a9éL=Ò5¨Åžk1&éçCŒÙ65Í(ôîz®OŽñm-ÂcŽyÅ”Êb-ï*³Ên™p©„®éÙR™nÝòM†s®—S¼pYøö+ÊxMð1%9C^x§v´a~ÑnÌ-×­ÎÐàš‰htÓ)ÀÎÈ|ˆò&¡‡¸ß\Öäæ—¢¯d9)ª.›?tÍõzȵhW¶æ€MÞ×µãaѱ töòY¦ÅÞ­˜6Q~ެ•ŒÌÑ'Q,Úy¤Ý«Éá“{y0ß;Ë6Éç>¶jFÞS9rëŒÙâKв£ÝøkØávT úvqæÄrnRç‘wk½>n5t;QòFahÖ §ÞÔú¿wOùéÉ&¦&C¿­òGÓc4‰ÞÜT=álà€ðŽ­Ù~ÒVø­¨¾L B³î̆åŠÆlÄPâA,H¥R»òçAo€™ $a• ¢ÊUÿhuÍo«Ún&³ ÛU™¥yÏÖ¡nAjfk2žP?(SßyóJºO><-ô;¯Y¸b”¡«îd‘lUC§âåßU›v»ê¶Ò¸É¤U˜ð%Œ5Å9x Õ%™(`ªƒT¹Žâ¹[bW/c²©EhN p3¤`H&!hùúš…mM/’™TL“¿'gK‹±V6¬z”íµÓóäR«*›×õÈ7ðóW]¹fAZrM†>Ñ6ÛCfƒ¯õ8ûhØ›èø¥ ù|n‰ŒFr\»ÏiKnªÖÓ¬ç6–YÏ/¢œsƒ×¯M?Åëçôs·Ž¾‘wÛtÍz8õ¦†¼ú€2r"oI_’3Íu§öë6žÔ ‡3ëXR¿â˜— üø¼fN”•dbr@›ÍîŸ+qÎìþlÙá}mymþLfÿgrë“ ‰³Ï•á,(V3v¤N Nþc0JiVäÅÌ׸ý2† ;Dç,‘´1»$£k9qwÆÑ"Ÿîxüž%¿þ£(;¥Ð)ÓX_¨õ³úÿ1Ióp›²áäê}ºü¾ÿçïmüo¡<D& Fþïìæ‘ëʆ|·ž˜:« ü"qž²¯­³Hó­µ%%«ªýP«ƒH¥!0iµ ¤°û>GüëqXÖg"Þ^@ËÜ@é)RêCîô ™k ¢ó»¸©ûgÃÅÌÊ%N/(9GÈ÷ÎË”mØ£G4wQmýsp©=§ | q<ÓìbÏÆ Ý¢š®í$Εv4vŽØwf}–_£Ÿ8qïVçãCO-g¿qù^qÈôH:§œü‘¥åaÅîšÃž§sà*å{ú5ÂN2)å""yÒôÔ ©ŸïëHš 4º ™¥cá²SmrvºYóŒºùF¿šß›mÍ'z”>¡Úìs›@P_PòîÙ¸ñ8ØþCi¾ö+=ô_øÔztJŽŠö9)"¸nm0NÅ‘Ð]‡­&íÔ2ÔÁ©¨Œˆ°«hØÝáœÃé¤ä†øüëÿB­Ïb‰³­ñsþ½Ù±;Á¿Þ;¾*"ø18êMV 3†‘bĸËlÜPʧ`Ý–|<ú3å*`ô LYË·(a“é9ŽÆ€QøÕáM`F34›ôs 5ÅX€?¶&[ÊR7a±úDé#Òb{G* |“êˆÓft)¤sZt‚ËÆ¢TZÍm-݃zØÙ’qÏJ±ž¹{\Ñ}Õµl çVèš^ƒ«°ì8?ºô7˜¥‰ßæjº“]ý4á5ë«Srs­zSâ¹ 4=ÎUjËÃÊíFÒ¹÷L½bsObóî©JKçp}GžƒKÄ”dÛT.MÚñ|2f€Ç$¹íiêwkéÜsÈýC:àÛÉÔ÷'Øg5ã]Ê4Î ” b†öÅkbæ„nD Ð<ø.î© cÇ^ÎÓäž„I­DÀÊÃñ]Á–ÜW=ÎùÓ‘`èú=åÝIS_6(!-C¡ÿt¶£ÔåæòQ>{ý’DmÔ=‰•@÷mЕ·|”Êò­S±Þ‘Kxobs‘\ŽßpÈ4<ä<2ÞýùߟJñ½ |ûõ2¤DYuJϱЎ“[Äo2j6ó9+ɨ¤]©t7µ3ZsœÞ ä^ÓÄxipr¾}A¹\ÄuYMÔÆ(ÛŒhh³K_õ¹”K ö2£Ðþþ+Ê@âÌgnèîk§1ÒîðÎJˆ„Š’Hc•³×V”NÄ4ó¶㉷P’'%Ágsí9͘Ò}°RÖá8¦Ä^Î.)Û1‡ÉlÝç¥r¶É£|UAœ’§ášY6)ëhQ¢äûT ë3£ä˜įñ‡°ª&ç{ó³’ßM°µ¯–_\ IDATl.yž:a…Ÿ'ÇIŽæ.ò¯&,ùùw}úÛ“¼IR³—ñªmXSþ`ÔÀf±?Ç@Ïì) ¥ °Y棳9ßïÚÞ°ò4v– }Ef&(¹–ôŸ«úûÐáÑs0EíÁ ”zê³­PŒjL[€®É$žÂVÕ†dȃÌpZäïŸQ†¢‹“<ü*Ù}¸Ê5¢€‰³aå-b“^:t*P«±ùY^2ûöœ›ˆ5T‹)™‰7 üÔ—ÙhFUïÙ”žeA—i ¦¬Å\ó¦±ÜÚÃrÀÕ¥ à“»ç ×P‚ÃSåÅ|HQl\£ðÔl¿*ŠG~þŒòðoâ²iV°¦™q¦oM®ôr® óR7`ٓבmg$³ «‘×#êÒ×N̾N‰dÙüØÑ„µÃÏOêÕlX—g zìGÁêKPZ·ß)ãzƳΠöèñ©Ó=#È™üÅi.ŽF1ßQÙ%M‚Ï&øDoA'%EWó ÞŸAËŸ4ëÜ[«3¼kf5¹@hî›ò„ÏɹçA‚Q2ç=o¯LÆ|<¨ý"¼¦ß[:ôuEN*°!¦P»™ŠÖndÅt@î¥jºß”‘ÇÕµÞ\ÓÊ¢Úé¢+:¯ÿ%š Îé«L¢ÝÈ- M¢±Ô ¯Øb™ƒe?ÿ;êßÙµ×V"º~Á¢žjÅÛ‹h;2 jÇc;‘‘4Ѱâ@„F%ùyÙX’vC˲*&Õ%ûÑÖ-Y¸nI#ÿÒ!‡Ù»¸£µø‚a%ÙUM›2^Sžà¨á­¥Õ” ˆ#ëO’%¨í†u ›Ôª%ÏÔ!†4ÉùzÉC¢%QB$—ämŒ¸Þ¾ã¥2 h–£kDMמØNú["Ù¦¿«(RN(5eÛba4Š.Æïžþúô5ÞÒr®xk¹*ÎÃÑ:2‡é`ß^P®*(*a”°­éÄ’£v®³)½4)d9¥“ ©z¶º#1Ê0JªÕôQ¿gÄG·—ˆ‚þI Ø‹ÔúšÈMmé ØUÍ×(ÏyC­›&kÙ‚²‚ß~C¥\cŽ\uš¥nç×–֏ޗT’ÎzCG)ËÊxˆ;vHÔ`T-Ý‚m¡—VŽêjìçc ׇÆ?Xn5¥rÑßY‰kÄâß9}ê[”œ5±ºk›Eo>Ϩè1rçÝI¾<´¶E‰—(Õmñ’¨kqOhÞÖpÖw†óÞþw¤¨MJ¬3ˆ2k*¸“¶æ©xBbñOŠxÆASq£±$œ÷ínIü Û ]ÄB!³Æs2bÈ®H°cÊ‘ðÝü 0ÿ¬ÙtÔ LâO„9©Ãß ù0\%å\Q—™Ò•^ât¨ gcàîôþŒò·ÏJÉheЭ8 ”¸|u6£9»œìÿÔò—Ž× à?Òê¬10?µðúÁŒ®÷cæ6h6—ÂiaÎ>¤,˜â¶Î5g9£v]0g‡}÷±Ã¤'N‚Ù-*EùÜÎ |âÛ‹¶øŽRh™³yóMCZƒ¿&®Õü)™àôÓ<¸»:³§N+ ­ãÖÒæäkËû@×gN’t‚–óQˆæ/׊ƄÁµägŽ-|œÒ7ì‰1H˜Ígͱ`®þš9NFõaÜfSP?ãá>aG±Î ëµ›³Q7 ÙïküAx÷ô׿=þ ÙMï1€vøDËI/äœ1(¢óX/~QNB~ÀZ퉓“v…çÏ E|wq{–EÈ9SýžËFcÕÓE²Ý•y®mÇÏieÂñœš)n²'m†…gºv¤åùxaWBòú¸™R'“oh«º±ì'reeù úôsí¢5Í4S ¬18n0´±ÜÉÎõœ—àXì'sá{ÈÛ£Sã]èÕ”Û8ú»5(Ù-“ÑäÔñÎÀH­k›µwj®Ü*ckMýg9lªÕsƶ—Áþä¬6F8±SG˼´’ o7óS§  î;zjù™î[ìFUH'¥á­!]òú9h#ÖqGòóïšqnwì]É}ÿ<¦ –žØ;5'Ø=¿^¿÷×);(ÿ¡ÛÁc@˜Âh¨*Á˜ÅIfüc[’ž>àD_4žd£X¤…Aô’"Ѽš5H•Ápóc6/Q<Ä~räë‘MŠó›Ö˜¯ç;ÉÁq„Ž”õFŸ ”ŽçϺ«©~Æù¬£¡™Ʊx¿ãr¤±Ýáq¡Û1n'Ô™øw7È>¥ñ$7•ùçÄXN†àæ.C'2æžÖs:Û轫2£•ïð¢îPšg íbFÇ‚Š(íøw¼«2ˆÑŠòOO}šOvÄüŽÏ\Yz9Çâî& »§¿þíÉç¬׋aó–$›ên©& J Qnxõi{ãX’Ü“7ycÍ˶\ÁßÿõÛ¯¨õ†2Jž‡y4Õa@™$¯¼úÓ¤Yf™ürËòÏ:Ñ·¼G¹\Õ| Kˆµ¶¦)j}G¼•ŽPNêäß[|6“Æ]úˆ2}l.$ý‘Q3xkaצÞ63 e-Ðc’ó"AÖCÔcœ^°}ëJš”›î2Þâ°µÀá-Õ(ê´We'ŠÉ¶¢ÌSÛ¿¨Ä–#œ•Y)6 Ç–t41XP6î|¹:)ƒK«çdF2õrncЬý×-±ÕwO¾>É/Ëdº¸Nº(gæcj£)æÛ+êöŠÊÏ(Ë¿ê0§:…¤8-bÕDnm°æ*Ægeùˆrý¨Î¬×S¶‚ >k\ÓM\Áß¿J“í¢‰U®áÂBj>†Á)0ñð xHUùUæ¢Ñ¸©LÀ´´7Å)2‰ ^®­kG÷èC)9ŸÒPÈ-±ts‘æéÊ{Xnacxטj³¸}\Æö\J· Ðƒîü[¼TyJ>Míà–ôE•û#æm™ƒ… Ïó«Ì ªÑG– ÌX§íÌüê4!æ¯éþws¨B‰Ò’æ!úýlŠx{éÍm&g>R•…Íx^Þ{ɵ=ˆvö®ç¨k¸fã¨Ðôè† eœP–å*)¬’:Z¨À§±6´ºÅ¤™7€ÞëÐ,ñ²Œ°W«#hrt²Ê¯:É}/ö¶é‹õAWÐÒ ŒMnŠO¯ °}ÕÏ©-òåÏ‹ün™Òà‰¸˜WêdYã6Ró ’Bô¡q• ã!]>èT~J1ÎÏì\6èõ)]9™7f} •sv}hw è9!rk?ÇVâƒ)EzY·—@"+Gê®3ŒjÏ×}aÒ®ä|13nXå¥çoÀ4Ɇeצá»ÕD„ÝâúLïõyauê7ÇDNœ¯¼Î ²‘ ©ª¥‘èÿùÔL7éA¦Ð>‰ÔíÐHÕôÐ›Šœ®B»Î‰ÐVÓ´Õ2±ÓÚù£–hW¡Fx–7û !ŸmtòWyȉtWS!Í0¥ÝiH[*ŠV¨ÑÀ¬ €2ë.Di÷Úœ9ÊU'õukkòÌ‚ÍB0_µ ÍbcÑeJ™â5½`úRå¤ÛÚ²NåÁ²B¦ô²Š–fwIp¬YªZô€‰<â[®«–À9#½šØ4/Uvÿ2%aRMšüÏrÜÁU'ìjr} b¨ïF‹>C@Æ;q´xܸíêa=šISôv+kÚ• ¾6R§•œê¤óîéÏ¿<Év.ôQ†…•Ь„‰Š¬Ê â P·g”ëÿhK·Ú´ü±—EjÉZWÔÛo‘;bëñóg”kWVÏÖ«<v“§÷‚´Ôê5:?–Rïru¼\ èìB jT^/+pM¹&E{5CcÊÇdTd¯Ý¦Œ8d 9uŘÁ¹TÙÚ•t[òÊ¢ÿªªÂ&ªš‚Åê}Ö€Ž)ÑÇ·¨¹ûÝkÛ{Ó×wÊš5úña¶ß¯¤°4¹FºÞdTéhÖ@‹Ìœ®2Ízc)—!ùטcÐU÷ÖS5-Îf~ n˜ÅtOV¡è®ÝéHF—JsU”56(¿~Nâ9M›ŸÏÝ;Îôéíõ"îè5äÉù}ýÜn eL)IÜ#÷šêì¬AiÅè3&²Ã»;§w(Jþ7\Á3ºqÞH¨–{ç øÚ²TÑgšÚìó ì, §CÓŒ(}ˆkÁÒs˜½ SúáN6doÆÐ1È9É#ñkšýs_"»¥cI;¨c~Ég¨V#æZÛùŒÃ¹ÝñêupvHCâ61#Þ=ýùç'k–Jù(5¢…Ìךì%+EŽ¦Ç¨×òj“Wά_(£¬6D(xŸVœ>dè@™f”å´„=­Ç¥Ž’ÈéAÐ G|ªODZ©]þV£ô+3ÊôP`{Ži½j¥ÉB«[¿+«ºÄ—Ø®©„+>¿¸VÅJ¯RRÝm} ÃÖbb ñR)A ,¥ ,Ÿ”Õ V¥ ˹tÐ%pp-…¹˜o›èÐËìÁ·”17ú›0(Ê襙ËùjMÁœuHiÅYuK„×½O³sè"cÏ_)QÖ—G-».Q>"H¡mYefy[Z° Á” 4+ŠÞâMJmÓ•èíPº{m•x†ÈXÜ¡1Õ•!ï¶oJÈhË5M@áb¥qh]ÌüŠÊÂnel¢Æ³þ‚YéÍ«þþ+Êò·,^÷[hL‡9ggK“kñoÒøŸis)ÿDHœûŠè†ÌµU·&Ì^<§ðOésô´¬èÞÑXe±Ö̢͛ež?ôeóSË­»Ë”„AÖ'•–8X†Ž­‹"À"Rî,m$CcðÁñœd”/¿ü5ÅçÕ-”…Fý0 £Yl þ–î?â÷ )ªøšÊÅ!î¬ô?Ue”ï®[k Âk²UÜMi¶½Š¼uüð÷ÿP ²òqlèTÐÊ­9â\_@ô^_”¯nZ0‰bnzP>RQ-ɯjÃYGÚ¬9{ɪi?ºì¹Š8—b«±öÛªz•1凔Dù™Ð›T÷¡m>­Î-£®:Vë_Èauðµ¸þœ”Ù¹FÊÍ ¿yÌ«þ\ —Ëö(aB[Âø €d ­¬ƒš|Œo«uþ,›­lF4Üä˜ÌlÛyYUrDÆ9õ1œ\MÖ$ñM‹)ð÷/2* ¼è<øÏò¦ðð4K>ËÛ3ÊpªczpÃzÈ­0¬ xÕÒúêTx^_¥ß¥Iéôß}ç¿ü¾ÿçïA=z<ÆÏ?Gmvª€K¹Úðåß…NMÔ™¾‡üÀä¨a³ç¨5…/†kÚýxöãxßžõû—ÄÀ‘ÂÐLóç“im79Î.+ëš"âZ7ŒÓ¼Ãž{ðSÚK:×à =¶ÔŽŽ‹æf×ü&ÜÍõ¿ÖgØ?v½J’ ¸1w—årW-Ú±ûü‘FýœÆJ8Ã#m7!F3 ¾Ÿ9ÇÄq~’Iº=ï~|Úç¸ áÝÓ_ÿúT ­ÀÞ֌ʆ•á£:¼8„ŠZ¦sxP5ÉËÇRvmÛIo2q(åƒ0Q韼\ñ?P.L3€«$XDB@¢…PÆEaÈ^¿ê*;ki¸§~Ò¾‡‚MÚ$^]“oÒ’J'ÆiÓk°˜ # ÆÚoÞ ¼G“m¿\c~`†ÞõÕY ¾ÛC‰H¥ýmRWìt‰¹`“}Vì”hÕL<¹K¥]6Ù kç‹e1 µñ˜Qƒêäcù’Æ},Cúä9ŒëxÞiW¾Ç‡Îšª[&rV²ÄJÈœKDx¯ñ2¿ÆôÉ;KýÞ=ýùÓ@êt­“ÉM›šÔ@-š,Ö²ÈÔ†sÛsLÔêŒT“níJÄ0}Ò!ÝU´ JåXQhŽºuÛ`æÅ\0²L´ gù>~ûŒ2L_Ö Ê’Õ~Òm½Çk˜©y|bðdŠÌ2ª#I ÝJÖ²íÛê¤RUŽš[M¤ÊŒ^£ìϱÒVn(íðëê×Ô’Æ€Ò©‚ч؋f½PÕ&ߣ±‘ʨš¦úEzK£ÙÛs›ÁÔpŽ·kl¦ßæ†ï&ƒRŸô÷šEEÍð8 ¨m†âem:Nnþ¶•$Ù-|ZÈŠnböù Ðxk)Ýz£ùù+hù9.*váÛ¿ƒ_óŸþ3Q‹)­$pS®öwoúýzÕ¨òhÉgÔÆ…¡BC«Gk,Þ3ó¤Ÿ[q”þ$Á¦¤ BaãÕ‹ÎÇËajþÇŸïÆn!Ìj㲕œ—ƒC;FkPø F#°~ ½ÉŠ™«U(lÎn¤ýêLgNÓ ²'!¦ ‘Þ7·)O[#íHÀBÇæ–l)ß-ɲóļÎKó[zA€p ñzûÃÕ`¦'¯`¬À¾Ë Ã/-#Õ`Ͼîu´á oTã|¢Ü×·ÇC|W¦Ó˜’%;Ü:×3¶h'?Ƹ¾Ïè¯Û©ttîþ‰?`&óóïZçszµãI¹^4"mOñ|òR§>@]!A"!×ïÛcÈ|Ætvýr\îô·w©‡ {52$tî(gº›E_Õ &]ö¬Èè %åvSÕžÂgÌ›”7™ äîSÙ³ÒÞ£ŒCP<¶—ØÎ·M…û5 PÔ´T´„Pÿ¨qPôkÕòÍH“WGYš…ò‹J»–Æã7àkÞ¾i R¼\6@GôCÀеûL÷õš«UQ+ócÊ)­¨ U‡˜9xê« 3ÉCìÀr,mÉf“e›¸“ ï¯çm¦uÚ#H&Sî¢ì‡ö¥,á{»½hJ(ãæå7¿Ê„Þ‚vÖW…¬§0©5õH%©#;‰Âä2—IêÁm?±õE‰šµ%¨´F…öw™éÌ«~רÏü¿‹¢¼C G’9ˆÑ”ã$½À’ˆa%R#¨Ut' 4îØÖ4«¿¬Ì*lÞR¦Yû x-[ÇE( (ÊeÊYˆì;™«žÉEé#P¿ê ÓhÙF„»ˆÓôntæð*üJszIòÿ¶ÀÏË5Á†p:vHOKB2“ãGfœZsï¹{5Ø©uE-Sp¥è±% ÚM/ɵ2÷|õUz#G–˜K0*нˆ¤dJ~ugHa·Ö»!³æ¡ÔÀŸ@äJ„´Hi‘»^Õ©ÒæD©)¦«Rf¦výÀ*ö„ãÔî…/W­éæ×0+4~‘…97ôV¶êuçí¿Puh(€¢‡È;QM”„x[A? ÝÃBR²úÌ·Ý[« lœ"²l²¨ï…øåîé;ÒgõñImÏ·/ åÏé3paÒ±lj$Ã]–ß}¤á͸ýŒÎ, GugO_B·0§’´W+Ò‰œ7OéÞ+ÇÚ|Çø³ w/Ç0£ÜGšóÌA¾zK× Ëì$¼ÇŒãeͬM‰ Âk̯Š=\[ŠŒÓÅM¸f¬òÂÆ9Ôœºø‚”yv{Oašgs3ëû¬Ï«I(æçNR.[Þ+C¢†_³e¼d͇›eÇÂQ¬(%AV€6eì¬?7o_pùý÷ÿó{ -~Iî½OÑšX±bxƺe…×T”)@¡Õ’7¦¹TÑÈ=‚ñÇð z«üTv4©RÔ ›r)гtÏ}vÝØ¢Ë3ñØljw‹Ì ÎÑ͉)ÌûMrùæO‚"*Kº½nøeSïQ¶·Ì`te«æŠ&þ±C}ôÞ¬Ÿ£ü0Ý.©Ê'Ñü¼ï Ç?³7ô\þ¤a¦Y—¾·Ç¾>'Ϭþ\W€þ¤×öv`Pœ–’‡ë£Þ:L–¼MÜAë /F`íFíš Ð|f6Ö=°.¾§€Q›9¥l¿Õ¡ÝŠìÂlòø_ÿÌ,eø¶‚jäüÙàBw/\˜[[ê§\œ¼Ü…e:†æzP·f½Î Œzså>‡0¹X_pb~\Húžè$ él±ñ|’—üí9ŠÀÙ÷\Ù´¢™éÄË*vL_@Ó—ÄÍ}îû|bÞI¸1 `´Y½µÐr4þ°°P(”Ý;öœd‘¼{zúåIj°ääy UTl´hÂsHHõ ke¡OM‘ Æè“2”n^’!BX­Ú ˜IšÕŒÍƒ:käÔŽe,áEk"æ¿êñ|®O× ±Ñ6D±§º÷ÃTyk)÷V äòÀY”D:ÉS¶ÓPùßY­]¹sKyM¦K E+÷¹ãZ3ßV”å1·¥Ã·Fiïó §†õ\KUÿÚ+ê÷_QùïÓ7fdº~M,‚²H?B)„rU¥ å¶`ÈÖcys‰³‘77´\mhžYtëoê¹»¨Ú”o 'åg•‡¾lZrmç¤Jv´ëÝÓÓ_žD“›ê|NQŒµýoðÛ†r}¯uç‚‚ª4v ޱüíeú%ðó’X¾eñ 1„K³ƒí˜~FAÕ&i –ïógÔ‹2rir¶0è½*ñ^½äí›h“ÝÐYW‡7ˆâ;––Za3–CCLÄɰ2ç¼³xPÃÂX¾$T})øû <ük2{Ðcq‡•¹Õ ø1Ê%ÑxzSðº¦L ÒÆº@RPP™fëiê+Êøe|ŒÒ æmÅúùÿÊE{À,ƒ-©wÒã(àõ7Õ ”PøÑ5ú²wìãIý•owÞÄ¥Ê0¾G½Tyv¶UÅNiþ¦ãƒà‹úws y&.¿ÿ¾ÿž½¯¤äy o+gO>§å¹c­ž°G2êl±ºRóðnê‘;¢nZfWi[̉”¶îO꫟C'ìÝ˺ÁY*ŸÂß*ÕïÍ÷÷t>ž®,ëúØ;¨ûÙ[Š»çA–|lûh´ì•uÏwê0eîúyæÓÜDC÷ïǤÞä6¾¹÷^)£qÆ!7Çüy)¼Ÿd-ÚµMêP~n™éøöU’…ŲSOQÞV"jJûd^ÃÓS9"\þCwAŸ;>O2šs^Ë3á˜Íƒ£µÁ¦óç$ ëA²ú˜¨ÌÆïú± èI¸¿Ób–$í$´á/ÿˆúql¢ŽÐûdó³Öôv=>©øš pœé`œËpõ¼B¥Ú½8è®Ë؃·ÏmÏ=¥½ûáHÍ1sÊ}˜?ØY:ð¡5çVz“PØWc»Ûc6GúÍù9=sKR›ÁýoO˜æ(XiÔôÔ‹”ôèY|ÅÃuTYÆßË·ú™>¢Ø¶ÉP-™Œ–QL–÷)ëš”aJ€4 e¥òm¡¸ÈŸål‘%‰’%”üɔ¹<¦â×ø3$O§ 5ºÑsPº%ãpJò\ýÞé£èë·o((B£¹üÿÚQ˜Pؘ7•·¾„‘%ø’HM%Þ·4|ï ¶4Íïiï¦Â›ä¾¸a›š(°þ.¯RŠÔ-å˜(s×ÊH½üüY2J¦¹-e«P†êöŠrù{ZØ.ž¡XrPJbî~TƒóÉwÔÂÆB^ƒÉ½žaIGãÀò cŠú*/XÝPk‘/×da\ŸÕpÒ;ñf;º‰wœ<¶È-’dJŠNõ+ðA”ÞÐ SÚ@1[F2ƒ÷5Âã›Rˆ[Fq¿Ê€ÛW¬_¿€~þY3H>h6Çsúþdhp=|‡@xj{yò¿{„Çnb s+ˆ:˜0g³M<@ƒÞœÄOd±R‚ìÛÒî^¦†.NüÕáæ`gð¤7ëØ,jÊå·B(+wpCã“|H)ÎIÁò숙öSÊu9+©ø'&ç‹¥Xk-õz©&}m¥²µ¢LŸÚÐE—®nÚð¾ ”‘šäIJÉÑæ/ŠR™Å}fU½›øû”‹ZÁ”ŠzðèÚj¸‹ÕÄ/‘ôJWµ+ýŠzYQ®?‚åx,®®)ä‘U§ÀJ„¬GaN½Ï>Qµˆ*Ía¼f s¬d5ñ¶ì¦•H–=…P®“š–ÅäÜ›iO¶²Úøüý?¨ „´Q§³¡HÇr¨½øªÈÏ_@×kL¯í\ QczÏ·¯êÒó^ùq‹ÓJ ù¦×`•HÛíËlܶ“ IDATÿ~{F’©5ÀU#êêÚH˜K©)JQ“Z­áó ›6ûÜ$9}øŠkòË6Æ¡yšê2ÃÁéAø‹Åüáíšðõå$•êd†Á=½!Kl;õŸPKòÃ{¸Þ'Y-}ž8Ÿd”Ø*Ú8§ôr€žº¡‹&!ò?ÊP¼ˆíâ2vïð-]“^Zý   Í­óa¢ÞÈsöØñïø’Š$ßp;y(´¨/–™ÄUŽƒoA/6UeÛ­áW[¬ñIÞV9_Bü‹–pä EåQCOA+ð ‰[³¿@“šeEý»™/+ÄXŠ8ŸÐƒ˜Œ™§¾Ó¡A—$Øág­å¯áìWe±m?ùìÚçûðàÐðt„œs> çô¡‹XN†ÕT’§Vé [³ëçä€?ƒÁͦû&Ï2‡¢cU/æ<7-ó®©iN0sœtÓîM)çêy\ædÊ&b9©F_õ,q_Wa‰—ëæ 6…W!Á¯É bÅÁtÚ\qÆ«^_•;ð¤ô#ñãÈ,T*¼´K*¹CP%ŠÂ¿þéÉiÆ´h“¸&§’°èd¼Ê,Ã"²‘»®ax슺]0îïÿ[Œ®—Ÿ\k6|]¸;¢QàÄ÷™} +€ï(%9j(Qüü_(cêC¨ôœ>¢4~Su·Æ˜“›9M²iÊÃB­E Mó‡>4‘Jtˆ’¤Õ_t™!QÛÕEšÈijH7ÊŽÕN^ŽÕÊ0뾪©žd·—’\ä³îÄ26’'VÎ+?T2Ìý(îæoæ¼O¾šóùU[¨:Œ é“ß˲ü³ –üMµé»|öd‹ÒKÚeÕ(/ê—ÿWý & ýµ*¢³)å½ù–êõ⼫¢Í(ñTå¥Ï½ Zgzfåõ]oáwOùŸOn¤V"'¤L:e­‚ÑØªä,ìÆ¢®t%-×4<Êžåšâ†õ†3ØsGyõU±îÕ2iÚo9$W½qSš”ÇO"Ð*EÑ#4¦måòwú 7"…Ћø5™]C·]‘¦¤²ãÆhÚ |•Öy ).¡´z+mõ³ª%}rÍÁ¸m’³æé8ìZ×ͯ£¼p:ÇáäÃU.¾#ÕùlþF¿s®«@ø +?ëwpý¦áHÉʪÓš¤²ÒŸ3é•ë˜~Røþ!LþjZÙË ªÇÄÐfVq_zÈíÚX„¿hÆŠ¢^”Lñ¦% ã,»¼{úËǧøòdÆÀ›îÂ*µµF2˜nT©ÌøþM^£iÐÔªuEdcgô¥$¬zúT ¤/5•TÓæcï¾z»Ÿ ™„¹4ɶLŸôÅ™£ÁŸÞëJ?¥—‰»cNæ ´´¬ÙFíG¡º4…a#åíÜLèÞMPRòS ªq7Ç.ÛÛʸÚe­WSN‰”¬%²™‘;]…C[ PC=Z¦W—Fȳþ„ß@å3;„ƒ.?û³e±swL4‚±c¡îï”(G1pc9§u½až—SûªQÿ`çøŒ…9îÓ륔¼Ók"Ç^#䚊íÌ`ì`íØ<¯7Ì4úwÛùÚ7ÿÔ‰õ8ö•ý~î§ÙíÉà Ýk¿ÇöÏÇŽîù°ïA¾ÿåºËýÓg2›]/ûg{|JéýÔó·ë–ë–àÜe^šëpã›<+«]àRŽh¿ÿÝ_~ùø´óѾ²ÖŠÊ;¨Äñ¡ï4`0B-µYdG°­;ªißù‡RQ+0 êXQ É>¥ÈKr®ú»@¡Aþ_pÝQ­±$`,W ¥øÏŠÀg@¡+¶õ eü¸®tê%l®0È":àmÇu0@Ï¥èÃ\/r~µÊ2ØÖ7\§;*Æ´yŒE.ðÆ»žOüo(„¡\C„Aª¨Ë;3j}Ã8_¾€¦•E°Vk•Ì;F±mo¾˜Øñÿo=¦­6/Ç86–ûZÊ å’³=ü ùïRŒEÎI6Á®rõã®åâŸÑ,Hõ"÷¹šÜbÇÃ|sÕgfðçi«oþû¶ù z}ýøxÇ2]ýšØù¥"?¿c!ì\QhÀUKȺÕ4s­¸’|N)ƒbÖ ¶ºƒ·ŠëtŶºÙ›8’¬<踯1wÚÁëäe}ÛXW€@4ê Œ‰¿³ëªa7o¤QÁ°»Ù®då€ÄÒn·{ÈÏ·+–¬¬ßƒÐ¹èçÚN´§Ô"R|ßVsÒ‘hÄm•ó¿Ù5cÛ!€…¹~ºzÚjnŸ}KÎù2|¼)<ëÉã¼å˜ã¾Ø9ÚÊ&êò`ÛùòºÇNFÀ-éïMîb×cÑËþ)»,%‚úèg;9Ícìö»ûè|ÇËL Í]®]»óÙN`ó;ß‘b–áçl÷·eK6ç9Δθ­7Œ }.ãA¶çÁžå1 :w=9ÞÞýå—Ÿž@T} ·ºcÄè«–‰ßlµ¡2Ê›W¡ ¥`çªÆxƒ¬hØQhˆQ®@ë¶c™5\|CÑŸ•¢zyÆ,+ÕHòó×銫<›¬˜[}“ã& TYÝPd娥J ·Æ÷تT&[½vÔ*+×Ê;C'n²ÊÚÊÆºêÖRAÓˆRß½ŸÒsJUä\vÛ‰®$ÇåeÆ4jé»ÀÛ›ïC‘›=–‹~¦*uku8ûì¡ ^0:ô}‰Å£ ]ã:ëNQíµï´Ý=ïJ…Ôº‹a9ŒV1°|÷ß|%–]cð‡ømcluGI%oZ×]Tˆ¾sI´­o¢]Ç€U®[Ú^·7T0h’¿LÆI¦Æî`;R)†Ra!´#‘?Ÿ¨Ô2ø3;a«o¸Ò Ìÿºc™üÐÔ¢D Œ¾¢Ùj8‚š•ÂV«¶¦M5-X×àv–ü8A´ÎÂÿïÑßv¢ÑWwî&ý¾ªèÊcÿ\æ%y‚íQkú÷P¬Î °®–#ó¬?Ç»ô³¬‚œV@ûÎuãgºïó +ÜöϱÝúñCÎGãs(V9J½Ôî×6¾Ïv¤ÛzKu|µvß ónn?jFN}Ïf=æB ï ¼î`–j¡Åw»>R)°?#eVˆœ'a”gЬY0‚°ØÎDÇãYfÂ<ú»ºkÚÎO±³Ü˜½T‰pÓ{å½Yº8 ErcÆBKê]FìÌx÷ó§Ç'®ÀµèŠGÊ;õà 7\§+ß¼v¯\}e•·.j|û31Bº¾þ¶Êê;4ñÖwt`®$u¥iû™wÔ2 ²¼å[}õ\±oìuf™t'©o¸Ò"+&[¿­£e%³´`hÐݸ ( (çXH«Z¿n¯Ñï0€«ÖÀ¶ã0KïD4úuJÁ[Ýä:[C¨5ïÙ•e´¾.¥‰iÏ'äà½×Vß´/<¡Ìú/é'µvŸµ:À /U•™oþùêu»í< íGœ|¬;¨^oèqJTšT]ì3êÖþNT5z>ݬ‡)4`ÝÞPj³ô‰ú¦0@t½6ú<Õ½r)ƒ¾Pr­ö3\çÎŽDød«yç¾74¢·u…á:y5µõÆ·X)Ю,¹†¶ÕÓj@{{á(O|‹õB#É inÜ#ÉJ³hMn(šžHv<9®1é뵯S£äß›ÖVf¾ùÏøNšëa_ÉvilW¥YÐJ«^ÔÍÜÔÏ{úεgaP:¤»@¶9ÏÏPEj$û.ÙG¯Xw–1o\¦;[o~?òu]hô{ë÷tÝõ{—yñþ1Ödò{̼Go`¿¯%Ѩˆ'UÃ-÷…Ôõ"͹Xc¼·ýPº×;ßt§¶kÕt„²ƒüòóǧ;XÞöBJT§«±ïýïJWÜXÞpC”FÈ–6 èê-onî=ò W4/Îjâ­î_°m²Ý’TQ±ñ®ÕWf[Ylj0 PŠAÍýt·ªvI9‚!u6Ñè5öÕúýg)²B£$d¦Ùá®`«_S°ëÎ4êðÏVHøu.©’aÝHf ÙA7fäzÊWùL(ÒVÆÙ³yïiÀ÷8'E† ×èJä(á•®udzÞÁzÀŒZ…0Î#ö´:WHÏ‚z 3õmW„ðâPÿuºtÑù lýCêG’ç ÖŠk‘Þ‚h@ݪ£u…®àZq%¹÷›¡^Û›ìÈeÄÛ& ÁP®¨°ß½ §Ÿ“{Ùü¬¿ûåçO¾ER¸ÑlweÒHäÛ™ÝÌm}Ã2-¨õÍÄA_ k긤«mí¤,ýá´ògÔ‡¡¹Häõ #+àPz±¥ «¨z ×"•:è]}¸-+ÊÆ\¢°¼hV>YɵCJ®ÊÑEš¾B6~êà0²ýŽ•\Æ…'û‡ 5p¢‡ãåúTŒtMó¶ , HãY´,ÉKA õVmZQcב’MËôÀfK¬Z*¶×7_äì+Ù¸>#þùÍË[ßp¥Ë,²•¥òòKÉV1x95ÒF 2bT}É`ÖRuÝ<•n `[wŒt‘…€/~F#u$ˆ>?Ÿ?XyÐ õ\×”ºýÞØ =j ³~U¸Ž¥En¾v´0³}ÎÞÁ‘MwÅQÂX9ÅÚ¬¶ ¼Y“²eo`L´…c3T” µh™Fmúöî° k)%>¬CRšÚ¿ï¬Í.ö¦4̓¿ÜÔ;Ä:(>î×èÇjå“5ùVVŽN'·¯Üª—ˆ46e—• £ÞWØzsÎ{c²âe XÎ'Þ/ÚPïÌxV ¡-á³)Ò®`§1„´ø… `Òÿki·3j¶ßK%i.ÙòÐñ‚Ôó>+@òʹæÖ%¡3VßfÜ®\Ú¶›'¨“ÕŸ¹Ö6”bïPÆ®HRÔ–”¾×0n«·ã8Ÿâ÷Ȇ×ãi²»ƒ›sÏ/¼Eííõ!<”vGuÝæÄÍÃ&7ŽYŒÝèü’Û´{W4Fx·Ì‹¿˜PêܦŸ—tŽBŽ8égev÷,ˆÉÐ(C?—´Ø1bÈçØ p‚@Ý´¿vu³!¤ÇÎÝN`w]HÜoû\JÇ*‹QÛ¿Žé™}÷ËOŸjiË+3:´šœµv…NÀúÎN®4ø…‹ÖŽºEKÖûàXu ;²å¢lx˜¯`Tl\ÁÚX‚ô ¨bÜ2çÐ]¡^!©Z/_IÊ FÅXFAºRybõqå †”mÞ'L„××ïŠuÇ0]qÛnÚlÁ›Nœ »yWmÎŒÃã ZIÅ•dµÚ¶·à,•êÍ7¨è‹}¾­¦†LF³Ü ²šsÅP*^·Ó¤H™´#šø±Œ:;RŠ_ÑPŠÌ¶@ddz ͘Wy]}Þ2 ^Ti®Ÿœs †ªìpCb8 ÀÀ•ŠhTsб@ð~W‚ìœ}~ä¼(TŸ,ÇlchyWÊ[sN¢5†Áß“¢¬..ÍÌ@…š#åŠ:ú)‚†u’aÀ8“Ïõ¶msUÈÿrx¡d434º}÷y‘¹FÎ,Õ7+³8[ö*7|¢áÍ!+Óóör¥vx1&]£s˜¨ï¹©ÝûeßGó(t¨{ójç£uµO{éXÇÊj½4ß³³L×Í€2Hÿ _)ýÀÎìSwãøÈun›ïÛzkx›Ÿd;Û‘Òšãû¥Ù£—È|*Jó¥MwÓc°ÆÛw®^ÒŽ±é7|ÖÒƒݼ#æ -§Œ2K ñôdŠ>7 ‚ÏY =ȇÅ'þyǵû²²5ùÒÙŽ¶k•4»i@=.¿^hA©Ëÿ÷ŸúÝÚL?¶Ü]šô=:!‹ÒJv¥'äáÒ9-¼¥qŸR´»m8#_VŸq·”ë¿?—KæDÒlÁÔïv[oiÞg¨Îòa Ô*ÝT{Øò¹dŠ}v˜5tm] ¬ñÎßÕ—oÔ KÇŪ–‹Q%²h¨Áûy?ìb™6©ËLJŽ”ÕOVå½K<ш痛#º-lžH¼ãq–ÏY_n‡UøfeZ:†•+v Ÿ×gŸ´×…ºõXr-óâh³ Zƒø÷çjPôoNƒg+ å¢lЖ2]Å©(+ûç5# ng5¼îØ×5À ¥‘‘VõXÞýôéýSnLlZZŠÀ\»¾ÎFÿ6*J­}Ö…€e²•gT'Z¥ÙôÕ¦hSDoÕw—e•²LºÓäÕn@-íÊw6[EmUmè1M£ÎyÔ®”«R§Eç¯Í¯‘(u2|U¡V( d;àyý.öb»bÅà­ lÍ\Qqÿ4úªh; x˜Ä¹½Ö=¨ ½>1·crJ¾—Cùæ•Ú®’Õ]m«W Pf(µ«bœIé>oAôô®¶Ê.[à¿ó®p¸ÁÜ&¼³†»*@QKU’iâÅŽQÜ…iðÿÛd;íè9öí±Ë3¸cTW{cW;¥ÚT§"-øa¡%È\¶[¤†Ñ$Œ™,mº¬ÁÛUœbC.´©”4O§ îáÊ[‚€™wmºÚ‰8™dÕ¥”3î4G^¿&†eG[º·­rÑŽ)Œ³Yùì<9ÎsÕ÷Æ;çGYa¹%"Éž'Yh¥¦ä.‡{7ø’ã¿©PÍî óÞ­xéÓRÇHÕÅnÓhß­bpiA8%¶½– Z¼O´á .6XuØ?ÉoÇÆÁ¾e\dFýuàE!æÔoí €Á¹¶ÀÅ8@ßýõБ9Þ}ú4?U\’•,‡£+¯ñŠ®$oøÜ#ãÑÅ sAh|eÏ¢š±È›KZ3¾­,Ÿ[]Œá%Dñ.Tl'ÑEYc0 ì2Uc~‘R˜Ž5²á8ÇŽ'Ȥ „€ŽêÝ À2ºÕ7Å“.QÍ149cº¸åxØy%HÝw5‘2 à æe–ϲcÈ2*0LEŒY~Q«ö¬á¨NMý²4Ö* ëû¬Ç+jjn;Éë*DÇeº‚•Ë%b9÷1De˜]›!hˆºÆBþ yÑQ€w?ÿôød,\I‘’^¡PbaÖ‹<<Œfæ` 2ß2ÓÅF2Ó<ýªÜŽÑtÌ4à¢zƒjm•’þ¼,*ˆé1Dù˜ñêZk4÷e„_˜t±·õͧÙû¦p5v&©âëùáÊÍòõýU.$‚Dç%^­iMþ$\§%H›Ô:hI£ ˆ’íEµ—!ú›7 !ÒéoÒÂçù¨/ä¢/muSp4ú[lx@LàE‹_¼„ó ¾:Ì:·|(Ƥ¸&ÏÒ(‹ëÔl›2/$éR<­ì‹ëDàMçk«(-m¶Q(ØSb¢-™ ;¤lQYÌ‹‚Ð@¡ø];'›Åü`ؼ4>á0bp«cêºèe^üÏm9¨-§8`C›Gx“í ÆFamöoÇéq.+æñPZ™†$—†ãgn:²à½Étèš“²{3“ -:BݧeTæ˜Q*cF¢TV™ž[f2€yÓȱqiµÿJYtrÔ1}yvæØÒ_34ó£ÐÿÜÌœ<ÁîYé—¿7ÏÞäÚÜ‚Ÿæœ/ö9X¾/œ€ÌBÏ^Z?mö¬ð +Ä ¦í½»©ZÒH®ï~ùéã“é „#¯Yº‚]§ oÛúÊ›‹—S¾’O£C¤¶råZ8”\7V½3 ®0iÕ©Ê£²Ê¦­¾ÒsM>l5teP}HÔ³ýÊ1ik&š Ý1MwbÔtß²M×b% â‚¡;Z”$¶E‹TÏ&ئ²Ë6b[}s^’ñnz©Œ>}·rº:gGœ•œJÇäÌR´D¶kÖ¨;½,,-s!OæMgŸèàÛ&p;ª*µj¸ªCÈMK¶Zª<UÆ£©P)íbî*S4¢ç„ŵ—cñUA$Õ)pñjÃîý¶UФ4þÉb'â¹q½ŒjoÞýòÓÇ'Ùz+êf]B «õ"Üû´›¥ òI!Iô–.¬•^Ý6ÙâZ°ñ›Ç% šÉµÓ9"ò0]Q+‡9a LýZ½”†±+AÎJ—dÄU(.~ÓjûË‹V¢.×’ÃtÖŸ\Uîê£/q}ŒVa?s¥ÁÉž€.T†æÕ(Om6e£XøpTfPsì@Ĥ_Û7ö•Q½óT~s#ï/¥Ìý†I‰ bŽ%/ë››iegwŠQ`öMÄKâuwÑÞUzwÄȤ1*2(N½±ë·7æ Ò-Æ ¿mr_<â\iG×I^ÎR<ÌéþMÚœì«]p¶Uœ~@g0ú6·´“g„öbï&Óö©…y IDAT-ÆÍ‚Š¥í<›Ÿ…tI¨ÁèµÑäóÖ™ lو#$c*WFPPžcâÒÌXFJr='+…ÖD«Ïeˆ—RÊÈ,“ˆ6ᾈ%ñÁï û %ß31´éú®Ï'aÔ„‚†îØ¿¢T{rŠ´4ªÉqÒ¦»À®ø¼ÐÆÁj¥“•I]ìj’¾nÛ›”5`,ƒnσ[ÛxãW:ºýöˆ™NÛm…Úꎺ…¸ßf&‡ÝxÇü¸Ù\¡¤;^¦ø{‰SÕnÈQR:v â[šU)›áEÙG¥¤TÕõQwæ¼¢ûª^Qi÷™’N%«f&`ÍB«ÆB¦"²U>—iÀºÝBR@a0'߯µFƒ,“6ʼn€zF¬´ó1íöÂf¸„‚5•Cí9Ùî)%cKq7ƒ‡­F9–Qw<‘lë®e^ucS©n­o¨E ¢&*tI6§Tt>âÓ‡U•F=Ù›,Ó^„v8˜euXž·B">¨"ŸßäßÏ6™ÞüÏGÓ±15æn¤;Ïr:3k~Cì(z|v(éL5xÀÛ»‰r ³qŽSðÔ@ÚÅÊs'SÖ5† ñjÀVxEþXg8n˜§9áܺëÜlþBFœØ†ƒÀÂÉZhi (ÒóÑ´’1ž^d–‚X™0kñÏsÎÇîé&ƒšökFÁ¢0 !6ÝÄýÝ/?}|)y ×ÌKÙ“Éܘ­1(‡Õê-¸«X¾H©QÌRV¶û¦9$œF÷^áP°˜§Imúm_u§òÞh>ßuµ4ˆ“0êfð'|Õ4†ÅÀhÛ”lkjZÑbú>íÕïÞW€µÖÆÒÈ.a­;xcâ^°¹Æ|ð]Ä¡f °°Y’˜?è,š}^«z=y«¾ËÚ÷së/ìú^íÝàU®;Èm‘j\¿Ô8PÂÛŽi°ÃÍÝE&ÒÏë°žïÆUK<‡áƒHÂÄŸ³Ùެ1Ù™±Ÿ3 Œsn€ L¡÷Ë/Ÿ*Ky4(aðJW “¨µjbÇÚφm¼éö9 ZStðc–*×iº„ê+¨_¬9Spõ•ÛÈŽöp˜wU°­&ý\Ü…ÇTë’•s#ɼÃ<Q/^‚ÄÖOyBm4û‘\™æ=U›¹ë$ø¾ © •grB\VŠ#Ë F ±í×Ü—¡Aެ仭òŒJõ©ª×Ã144êãâ%“áý6 “s’y€•¼^êAœ6mqi(;4t~aÕ›ûbžÌ:x͆y`¬Ó$ Pµ£?¤Ù„-ö÷×dÞÁÛºªUK®<´ÝõС5™×s˜AØ¿›‰EÅ€BEáí<7gcçÊú*¨å2Ê^oxT ôfžæäu?K¡µ DŽHj¦ ËÌ`SñéqPS‚íQžÌ\ÇN÷iþ.âý¯s"ï ƒúæƒ « {ª·¿À´iëÜ©äî¨6C–ßÈÆû‹'4ÝYYØ9¸ß“Eœ)<ÿ‘RµW6TüD¡_Ïf;¡– ÍP_ÈÜ´¡¯‹óÐË8.ý›eüر>Í®Ñlûó‘¨5Û™%Úß`é7F¯õ—™¼?@âÉÜø†QíA9!(Ö/Íb*ãጴ¸“J6‰° muyöÆ@,™9¸í3Ò˜[½1!W”Œ)zcæ½9Ž@¦Èõ+ý"ô9{[íIŽdËײ y@w˜# »¨¨Š6=ï¥õ ó ó ‡_v$Ø‚‘0†SÖ̶Ù6,ͬ«µÎi}Tý+3>ÜÝÌöþíÐ…š·mabÝ“Ö_Ðw“)¾êÕ‹]Úˆ©À¯›õaQ]©#‡Xˆ¿³qÏÃa7ËI»Á­Ùì4›ù¢['i጗7wò¤‹|ùDJçö˜ÔL°p¡¨Mµ÷K[cÖ"Råb:l'ô ™œRkâÜÖ´Úô„eéü¸;-œ!YÂ÷¼ 2±Ý¥îDeÄÏÀC§jO? ^ï”)‘¾w8,gŠGЃ&â¼h¹7’àƒHf¶ÙÉw'Lþ?Šx^lð2~‰)2;7RhÅmóÃkôÅ«_73\|Ý®)#|î†6wø½®X$M®ßLDêϤ m{ð€©EﺛE &åw¾Ã²U‘¯ÿaƒB7.É+îᤠi}š‰¾V#O,ÞÞæsæÂ_íεƙ?³=՚˒ê~*Ú,gµ­Ñ0±ƒ™K6‘‡ÈÐôð LϰZ˜ƒìaŸÃåL*}•ÜÉïD¿oÅHòÈÑ ¬°bÕ 5Ò¾Å]ìÜ}ŽSžuMFhÒwRßSÆ8CÛ4²ÿße7–ÚçbgõÐ6NÒ|F4еõÈB­hõA ~ÛÔð…ï¿X>%jEÊErí‚ÚйÐFçôFƒ}N•ç¿¥•æÆ0nýî ª­+bÀ{m¹>øì»ݺX½_rÓÇPøâ8 ‹Ãó‡‘ÀPYú ¤†Ÿ ¤ FúñH€€qêL(!S½¢ÿÝ= 7|(>ñP#žBAü÷Ób\Vc7z }hšuJV›£«_·>mrûŒÙÊ@ôüµÃö0E@à{ž€Âˆ¢!CžeMG²B;Ëj/fQŠöYRWÒ“£¿A9䣳tÉi¸P”AñêbC{¨0õ玧+sÏÉ2\Ë%:<4dV£[‡3ä"çùŽç2ÃÄŽn …ź?èö|UòÁ„ ñ˜ê÷@ç*”éæƒyêû‚½ÕØ2ã¸t‘¿ß€Á>•¥9~ý7ô²'œPeß„| ß:§Ú'&¢A9]Â2˜öù¬ÊG¬}CÔ’Ž–ÇŸ‡UÄç#Õ|νëÏPa^KnIÖ1rq¬ÇÆžf3NóÛX88‰ ØáBDcÚaŠê5xxöÌûtºN…·yáÈ‹ûuCª}Æê×;€€“¨”®©ÿZRˆv«±ôøÚ“ 0ü>{r16æHFïŽÓš‰™UríîÈ‹ê¯þxµl“*_ûí§ï@Ÿgô‘kiq\8£õ˜4Ve!Ý”å¹Ü<cŸ­šÿì dÉ9{,€•ÙŸ›ôÓ<.43™¶tk+ŤˆÖÞý—O‹SV[øx„P°sµMúð–êj«54AÏÒÒ1UǺ,ØŒ¶´ÎAdèçO-ÑYÿÉ6D‘|t`Íäø7‚O§[\î—Æ5è±ë|i Ž@ìéÞI¶8&½å!·Y ƒÄèž°$诉ÏXj•>à ¾Öc5_lwáY¢ÑðÏ•´cÊî»]†xÎ4òbñç L_…ÙÝUçx›ÜZ‘Xq“àhV†±:Ðs±ŽgG‘ûç!3 î¢|·¤_ªÑ±q©x±âp%ã1_ýò®0Eý•µT!߉'«%ÞÒó´÷S×+’pq“pŽMÛéšòä\8à§gôêEÞöc‘2a¥ÕLK>~Z=÷­y0«wŸL10ï8>û¢îÙ•$ý»}'!Ôl¿{¬M•ŸQIÂ!7Ôê>:¼I—|ûÇ7?!pתMø)½¯ºã¼0!±b+”˜s„ömîZÒïr¹{ÌÁ°ÂŽðrù0üoæØÃj¯þäqëƒCñ‰áÞP[¹î±ÕÎéà¤Æù±ˆ"þ}¨¹éd¹H8ô"Ø3†?Nî°\s—é—Ð5ñà,g±£xÝQT1 åÔ +Àrt=ãš …±»Ÿ‹œ§ú¡×ºúη?÷Б a§­.>TÃõCxN·"ôêÃg+qþ˜R8‚‹Æ9’º•ClôžTyHq54 v¤³œ¥ô  ^×ÉîLkݦ €ê¾óÅBBßçé»$^t¢XܾþŒbu)v²õYäÚȾýÔ¨·R£NI!© ¿5‘È#æ)ÚA€ä¡.rþuFú-9îÜÒ:IV°BâB0Dù]ºÛ† Cð$לcûu+–qNÄ;ä¡ U‚—ëi³Ûó’„tÜÉs ciŽÚŸ»ÊìA‚@s)5²gI1V+æO+Ô›ùqØoñ×ùÖI¯;ÝVcÇŽtýŠIîáEÁ kô fÀÄê]¾œø5C2´yÐj•ã|»Üƒ“.ó‡¥u’2`.gç]݇:Å×ÈAS³â<ßá4ü°£ða"UÄzÑ=ü‚CÖ¤$›bw%þúÓåÈ®ãÞúASuô—=[œ‡ŒEñ•v¦¬óäµÓ,ÁŶu;ŽxOÂQfÏh.›·ÞþžÉ µ hìvÜHæ7˜šÜÒ{´NCϺµ[±™ >5®¤›9½<ÌBïÞ›)¸¦Á\gwÜÅ÷¢c«äAO¾9ZâzuŠå-¦ù»8ƒ† ájš M Ž‹E¨î^¼n3‘½ÊÅ­&µ¿(›07wÄÃ|_xgÔ¯‘e"¶: qR‹Î@üWx "ª·>¿B’¹EmúB>”3ô¥Ø¤ÿNÏÚ‡×$‡µ2ýÆÇS0åxd,h>Oö»'ƒÆÚÕL:tÄ÷Qµjͬ.—aü˜ØØ÷ùiüBl-ûF6g:ïc Ï5O¥®!àzW—CÒÙN«ß·úyþ"/Kâf²ÉvTS2G‡Ž¼1¶@ìT{òD_>”&sn wÃVÙ~÷YsÇ)T×Çîÿ:(„uX³ ÆfÐÝc£ž“/s[ŽƒtŽ×á«ïûÍW?5Þ"xdz ]Äøž´Jû‹ƒvoÍ!8“®ì“ºk§…­Õ*[mÒ!iï×M*âp$:sYÒiˆO¸Öùß}l@t„š,UsÒáµVzO2hØñﺈÔçb¹ð‹¯®ž€«•Õ,¡oo×^}øÄ}}•¼(Ò}»-z ,¬O]¥ØꃢjUDp9lmîÇOpXRÄ›D ª£.«ÈèYŸfà²âu‘8+/ŽŽi·¤ÞRƒ®ÿûÈÊÚZÔzlY'K)nÓV÷Æžeê¾ÈÒ²uêÄšÕLühµR´Ü#<áçåßsŒêmoçjÁBPB 푞U¿ÚžÎ†(|oVS‹Pn}®–`¼¤fO·A/Kìû¸¤Y£gôÐÛß–‡(=¿<9ŸS˜òòE&cV´ï|¥všelW nöÜŽnmòïïÉB2ÃÖ”ôKž4$ù袻TxÜQÿ\Lÿ’Àˆr›õ…•ˆ©ä ʺästjmË’h­e¸oy5 Éxü Ö5a÷Q½TKÇB?3§£É•ViÏ ·)a´… =Ì`ŸtRŒM…é)ZÜ44”î¨Xn¡†4SÞñù:×`Ÿ&ÖþÏuRù8ÈuÙƒ›×kÍóââÍÆ«Æ5æ|þ Ëºz—¯¿þúÓ÷úlR†BÜNÆ‹Þ'þ 2 9j´ª]±‚ô臭쪮˜81$£1Zº›¿ÎI)«‘ú–=ú# Xù 4CÕ» ¨ ³²?çQA×ÓI"Û(’’ÐÙŠ>wVðb{N¹u³¼• o¥©Š%yÁÆ,,éA19Ï·Ñ€|å.Ò¾ª&¤.‹¥`ˆá bDhY÷Fäx½“Œ,}Ñ‹çÚsû{Œï°(v%719ÄNÃ7Ý8Fyë볨P§äbp8¦4ôLCQz¼Þ>t9SÏÞPJ>gøÇ(f±†Ôˆ¬"2%LÑ #~̃ìK𴞀ÙW‚A`Ê¡?s·l’›îÆøwö©èÑÝdŸàÚù³*õ#Vëþ¹ÑèWª R®_7ÖÔ~pú³£ÖXÏ‘X©Ýç€sø+¤}ö•XB³aÛN÷õŸ01ÀPR Q2{U.²Ö¢XÏ·äg§Qd¥Aù½û±÷$ŧ!Ý'ŒE—Aî¿ÓçûtÿæûóCo ûh蛣Ür„»GVá˜f *l|¸¨±QŽ`™q2¶$”2¡0íœ;$V ¼ñ.sQžI%ð Ãßx…9/Ñ3‡=×d0­˜B•lÃS,4(6èS€ÃjQÔ‘½¶^¬|kê÷óMˆò‡ ÈfžZWü¼ý,KYä4%)fMhªŸ­úõp`…­¤Àqzd‚ÕxÇ_)%e¶bEA†ƒÅFÝ‚‹ :Kr^ž=v²ZòIbµüwÎ8,ˆG¤JF¢Fdt …€5Rõñ.ﳫ˜³ˆ‹>õ!Öç­ŸÝÀÔtÏLjºWêÃ)’ƒæ—£†[”Ä*QÒ“Ò×ß~ýå;0£¨Ä8Ç`iŒÕC~ÞvÅ­Õð›eq>/ M×cÎÛ¿ˆ&êzƒÖ^w‡³yf¸ º G!Óoú’6ìÁˆ‰ ÃÉŸK`2iÅM>úÛ¶ö‡Œ¡Û·3œìô²I.í*;"â×éñM‡€Ú¸8µøïúò½µ#|(YÙW£™„Dܧў®ŸóemîòDþ{Ψ‡ ð?Øv‘n|ZøÊwcçxÝÝÓ ­N÷¡S*ï[•`€öëÁæÅµ†w\¸Õª¯×áùî>d´ñu^Rê#X½6ÔæFÄ©A Œ¡n{6WSsÇÄP œðÞ×UÿõŸßÿ=o-jiº¬”êô! SþÆæ9qæãDÎiº>Z6ãW|¤•»Õ·¥ÏŸ÷ê—¶ÉMvõûç‰`ò),³ùÏ<”ä.ý‡6Ó¿=ÂMa¡Þ”ìóõ¬r,·Œùé¸8…OÖ›í4Â7al«˜›ôlPã+ŸG4tý?¤Cýߨ‘oÖ\ n·ÝÎ|Ïæd.cýÛ´ùó³ ÷G÷®b’îÓ[ífì6ÉÖ¢ÓïÔK·³nüaÖË®äh›ãè¼Ìó ¸¿lbî¢ÄJC§qý’‚ëmèÕ’N?ß6Iôç—[;a5r“6fMTT×år%Á#9wׇ,ï+9 Ñ¡:`=îy:Îß'9¦ì @a}È.r^Rv¤ Ëjm²m1óàŸºêÝ/!—©†•ÞU øL¯)D‡¿{Š¤è’†°ŽSÚšMØã]\ëMø)õ²÷›ÅÛØÒbvÕ»üa»+¿탭ó“/(>/’¤‡ße%xYÄí§\„bUÒGÊU‚SËm…ï6á$•ªƒ ZXq¹¹“ïvÖ‹Ô½é¢uÉ^–40ì7©·šÛ”xU)2ZK¼@æl¿ñTìïd-ÞkuUûäÛP|ÎWô¶1 ÓŸE-]"†y9‰’¿½%Hå ÏIKÚNäÉyùÝjÕE·Å˜<"U.Êļ¢-;5YXJ47¯>¤ÐÀCÛNŸoj¯Ëù^Ø4ñì’¯¿ýòÓ÷ч‘ðdÄ9m¸ggûäR#ŽS±s3dŬ“Ïš²àûPŬgMü½ˆÅÏËõ†~P>adééÙw¡º$|*çx;ç  ÕÅ‚˜HµV‰Zâ—Û2Óð eî'ó!¹O­q¸'ñÀøœý¡áõCù_­¾fX]àÎȲøpvTìÒLiZÈ-,‹‘M1;”½…¥VÔ͹ZÚ×þ\µqàØñöü"áÎtv]½<äE¾¹õZ]¦æ^Œý0´8‹JŒ©ŒïˆÈ  o:U™–ëVµ¾¨‘a9(=¬H’UƸßêý‰Vq‡Å·4ùâÛš ¿ÚmM¨7Ï$ 1t£DR¼ñŠŸœ‚¤3Ú-~ùè=¥«¾^ìÚÓ½»Üu.s‘ŒÂÏʧgTþbñ²‘‹Ž!áèìJ$3õ$Èôc„ v‹­ú+ÿå çâ§vy•)î`k©«þq iJ»íÄîqMg¢IxS:C’4GS¨ðÇF;e³ÿÎ÷>܋ݛ×4LD]ë; 2%‘"ùxüAÀºÕZ­Vƒèma¯.w;¬{æ.O/KPÒ­ãµÖ‡¹êŠ Êtx¨«ÔbÁ5èz#ÅH¬U y…+ÍûêÃÓF5@׃ õ§Õ=ð' ]µ|(R!Å¢Æ>º3vEŠ]ø…`॰¹ÓWµ´ZµÊÖCèÃù×á£.‹“ÅùÄŽá¾ð "°”ÈÔ»”œiXr»ã pá˜dhƒ÷®>¼Eßß{¤÷â0€£Ÿæ$5 ^‚!˜¬œ ÷J‘´Ör‘‡ü¼…ÿÄ™Å#b4Ê‚R9Y÷ªï§b].^Ö-eåv^é£~«é¥FH¿RG ü°Ô4£]|‚WºÄ’ã0úÝ)‰ô1OóPБER ^ÍY²1üx5äïñëŒK‰D)0Ä( xsgÒ9¾T…ÑaÚû%??W=—Îqa$üsJ¿²GRèžáÖ¦‹ta—Zo)wo)Å­°àpÌ›çÇ׈:Ó… &Æ­6Zî!Loââ,©æ&°n¡>húûöºËurME)K¿ttÃç>ÏËîã’§Ý7»ª[äêu–¡6»Ö]Ùë*g?B2oGT@ú&>Ô¿ßí3rAÐÏžY^&w×ÚØ ×ÁÇŸ’®Ÿ ÿõ¾HŽ‘ó@Öçr»¸ðàýýW?8 –ð:_òÜÖHç× zPì&ÐWŸö"$YJ‘.]öç®E=¤ºc<"vÀVòWWµ­kuz†àe•Ì("¾0ço]ÙÍ3ÐO]mÕC J‡GÄùÕW»‰(!—Afž§ —¡‘gî©{@,¶~¹éõ&r€œ_ƒp?4–šâJb@&b.0\7vŽ!çiP?‰kd[ì®Ðr¹ZºG'‹’ «´T8Ÿç[‡|h}—G:ôam× ~^H ÌÏÛ :"ë¦xÌe+¦£mìáº5hù×Md"§gG¬ÙTlx¸ ¹O@£š¢Å¶–¼*>¢—!+‰ó*—Ôº'?E +ãgøYšä¨œg[!òd]õ"~÷áZé¨ûÑÓ{(r#]J…êƒC¸ ÷šJÜ"=zn`„“N¼ØÆjÏw\вÏ­ÒÃ>CR  )  «ÔO¼8gIËk ºÛ•[B‰ä xå`œZ]m΃Føê›+úÍžœ‘I]¾þóŸß¾3²’ÛpRàPÛþl^  X(83¤€®I#<Ìý¥‡+ãÝê–,ÉéõÁê[ßÕ¤¦»ÊúÓê®8¬¨'tõÑÕ„}8uZ±¨¹H€ÜÝ9¨î*îÙXj‘ëì®~Æñ„Žs¼¥+³­¬?oBŠë^Dü³å–ë!íÙÈq¸úV®œ‡ïìy›œrîØÃÑT?&ú™ž‡kVîÏ*î«‚×®ÔU;êoSŸÃÿ„ø™¨s¼4—)܈'”ä= f]\ÅCKÏ×Û§.¶=»×eØu×C­¢Ëó -®Ý2ZðÙõˆµ)7Sí1,.Wâ¡kd’J³ ºA{m¶Å=ä욈ˆˆÖç®gËÖSôÔcv œ£wÇó¸à°Ð9œrëR¨¼D´o«ÖŸÇCó\”ÒhG‘s ?÷§žkB÷´Zå×1qØóÃÙ°Ýð9ϳ®x»Â³! Oï:¯i²ÚÂqbN@LefMµ’~Î.–KËÂõKÌ=éÔO-”QÍò~ÎEt¤-Rž\ E¶Uõ>BõMJfMÆ]RÚ1]47á4ìÈ®tÆõ¹È_iÒïŠc“íw°| æÚpínJÃh£Ä S5MYêM IDATmÇ7å¬mc¯×%›¥œºÃ&ÌßUžmC2n°u¥Úô“æl,º™­úAmÉNz¥Ë à¬öì/B¼R™‰³2u›sRXŽÍT&¢bÿpó7&*n¥þ­Rùƒk­PÅ’â˜glÂ\†UÐz ¡qü˜ôšæJ”+ÂGN|—ôøœ¼øÌ3“d¬šœü×\÷ $ õéòYAÎþ|Íý~Óçû’G5„tU²ïWºFÓ*¨w,\Ö<$·÷èJu ?`Æ(./‰Óîgo¹í[Ì1Âsz†„[ÌÕxD¼1ɤ¡:t{'6XbðEgQäu—‘Ûwj“w=óÇ®˜%ðú ŸCËkBP]LI1þ«¡ƒƒPÌ. -Ä®ÉJß;ÜœG¨n»¢šŽ~L;vI•©†å\ãu¹rø`$]ÚGìÒŒ‡u.$R¯Ë$.õ£´O à¼]øâ½cPƒ|3_ªN¦z¡‚¨fö-Ôºx̰Oõ=ËúE©«žÆ:qs÷m÷—ÀÒÔ™Ák>X£!šà{Ý^RZ„.éÄ­Šæw.A—ØÁîß­&e. b}q[jzüh"þ£ä^ñA <{ìþÕ8½Ðài€é‘l PáâÞv¹d¡OѾ5bàª4g´ŠwRR{j™ôûs#Õµ}¸Ï\DWNžü; ¶:/â…ù^wcõHËMêâ–Tç""_ýuûŽsk¸Ä¬®îB2¨UZH5;†Èl‹á~Pè-¦–œ!k 'Y*‰› )£1ÅÔ¬…zÕžgB=ìs Ã~·u\±õ›ÚSÃbàR¼¤ZAËA±ìgjè”Jht@Ã÷öò0·Ü”w®°-ƒ¬ßíè‡ÇW¿ w$ó!ªÙZŠa”¨>Jä’ 1 PÜZS­çžp¯áŒ‰âµ cd/d{tMÌbTÆåðp­ÍdÖFq†ïZ#H(ó“U“…l=²6sª‚¾nihbL÷uM¡9&›/–»žS©®¶æêدÿñÛûO9Ĉx(Рᡞwü"?\B +O˜š«Ÿ±Éí´ ðÿeñI±áúˆÄ(/ælþò±ÈÏ[µ"‰YÈSƒpЊÈÙ ¬B=ù×ù–ú\U2%þ:«ê“íÀƈë^V¥)øeÅþ'°BØ‘ñrA9ì×xÛ=rnÍ#x‡Í]øN_nãöž¯B£›Ò * É´®\[r²?yß6juV’}´”• ‰{ò‹HÎöŽöhæÃ¯ s$¤öð'p•|Ó» $uÞÓ§—?Ã{ÿö×[GéJòäÿ¹S³Ë=’×<¯ˆÑr¯vÖìŸçŽ[£ñà‹ $?õ,#ЮMÑR£MË¿g^ÕSzZûô‚&i‡»Y«­ê¸GÖ³¸nˇoD¨#ØÝMè;­smÞMV¤6‘çïñõ÷ß~ùŽ)î9¬EàxËKÏþvfÆ™i¤ù:5¦†²7dÝýâ*:ÞIÂYÐ¥!RÖxåÅ„tÕº=Ë”®KPi$^lî¢b?ƒ£IUy γ*XÛ”ª–­V—Ü &<^‡Ç?·M¥‘¡÷–Ÿ·oò¯óHÝ ýG‚ê\,b™'ƨ y¹ÌO¯.Í‘<Ú].um:ôM¼Û³[ãbXs5–”–üÙ•ÎÝ`gAöÞGׂNFÑëª)X]~Þ`#X¼®)Ô‰ƒkof\„_UÅmd-¢!ôêìRŒÉzf  ÉÓ œ@®V$ó²Ifüˆ(öìõ>d·ïUdQh4PE$ÉÆƒX¡”è0q‹…ã…ìíS[‡*!ÏÅíZÉCQ—$Q©Ïf ^S›Ú¿?Wù×+N·÷ªhK9LúK’>éñò¢{]p¬e{§s­>ÌA¹Û ùÐÎuýüÁê—Cè—=qP#Äe"c¡lqI-v´“µ‘¡…-º[Pþv<„eñb¥–6¢¨ÑÚÄKèÿÌÝ9j›2½SjT"…)•”ÜÅ5ŠçÔ)AÚÄ£j/ÝZWïp‚ïÝTÖ½Y£]D§#BÁ+B¢·´m•ó/Âä@ÖzPJÚ—Èkì@cY W>eŠ –¸²"¸ËuÄæei2AàT)Cµ˜Å”ÎÁ45¾ Ø$³e}àHJþ>ów漓â9¹§s|7[){Pp$ƒ†e@+9L"e] KòYÿœ ±õµLá5×'&èRÓ1˜ zþ܉K–,Ç"ÌX‹:mýWæ*ijÃÍ ^ľ̉èÝûC9¤‰iõÕ¤?zB¨¡ä€¢¼6©'–Xo¿Ètææ‚²ý »3G`¹¼‚ÂeðÀ5›¶Þ´©PÃÙ÷²)ë«s²'€ôEÝ•;€åºM˜Ùþûiêº9yæâZ‚3ØY~?ÃÑflù¬”‰ØöÛ»4¤“½˜” ÚȘBk$“0S-Ù§n‰Ëuzúõ)Ùw›ì ¶i’•DAMÐs,–óuJ„Ã>ú¨oIÒî–ÙF²w¸¶ïš"ó²ž"ñ¨ÎØ·-,Ò¯ž#)&oû×þóÛ÷RŒ"2­˜çÐ4×!‹¬[µ$Õ?¹d8ÈÄ2¬vx®"EäpÃÑðáá%àW€Ùj®=êË[ú©˜×Î#ªüÉιëˆLè"i:îu@‘D»¶RgOSص®Æâ >œƒ\–MÄ%Ó<¿ÐÜïpŽ1¤mM]võƒG&0Þçö§Z‰+)hÕ&ºÈZª´ú°ÏDȹ¤‡×ÝŽœ't:Ød¡\À¬ŽQ„Ï ¿æ£pu>ü¸ÜmN4«±YYýê]vœöó’Wïê[w!“ƒø}ö·Q¥DÖ9§1C ½"ùªDP'Bw´vëšð‹šˆ„´­>œ?6ƯÿüíÛ÷*Íý>æïúA*RGí+ «bP:(€×½kÍ¡ãCeî¶Í-R’LÜ¡rp¦d*8+AN“Hè€p¤â§³nEÍa ²D%Š$}^_XËÑpéµQåK8Ñ®‹«9‹¤a!æê QÏó"áÁpÉÈ“ É7ûuê ®Ÿê¾cx»¸<G)¡ùáy)²H­«›àëÃ4<ݬ˜Ð¿=ž×jœ*+AIJ/t-yøÇþúK²êrHUP×=7k”áõ*£ñ²2}Ÿao å#É;ÎÞc¯Pa`9`x¦\h´0£9"cÑZº›ÔD·-«éjÚ¤QòÕ¥Æ[ÙJx›ep#.§n{÷Á¼ÖäÐÜ3äà<ßÖ§_”!y›íuÕ :FÀCP”ƒ„—“CaðÙ_¯Kö§6"Ú¦qqÃì¡ØeRGmèCÑêÑØ(*™ÏT¯¿o»Ú\i:,µJA0+.‹iÐû/OŽK]Åðc¡fµkºVÍý®%s¹ð]‹ []#‚mñ !—Ÿ”Åa!Ý}¡+äÝ7fµM¿§[ Çp²äú\=î™UªËÊÄH'ËÛ‹ÌM<´~]ì9R òˆêÆ÷A‡Q`s6º½Çha®ÏfdÅ·ü¼­òõ·ß~ú^K3ýÐ"çë2Ä;k°ìHâ×LöXáà÷F{ƒ! C·úçÖ̦ ÜŒ¥ˆtËÔ3yK­=¬*@ÔK‰öòÆ]§Ôcås“EµOH‚ºÎníÈ%dô°Ãü/&ÙègF_2øÍÅŽ¶# ƒ¢9@ÂL;â ]áz\ëê-lNâjeñï\†JSŠ<ôœ^‡:@‹ß9’„æ'Þ=ª‘ö5GFðµÄÏaL¬ÈCwH2Ä)Ä­xf¼Ç äêªÉ?aÎmqƒ‰JùX n²Óõ”¤ÎÍWë½dIÜU¥W•ÿZйÍäṸz>µü†©<ߟºj-Ï"ý/á9Tuª;Nñ‹Ê:›xIÍ%HPNv°ùMq¼a£?¿tØfñsâ!RaÚÇÍ£Ýfð47qÍ­†5® ÿ™B@oš½èx‰†]SÚªjÐÆõÙ ¡+4“iðyrx¥K4$ˆÃP‡)…ÅÅÝî£þ™Ã9¶N:9¯t}ÑÎíC[ôƒÜ‘£¿¥÷‡ïD|ôa´/8U2ÉÄ•ËCZE›:“çû£Ú±žŽ±ÚF£¨8¹DF—s<\¿ådÅܲãvØgF¨pŸ¡ÏÅÄuÒº…#|6ä°Ü€Û¡Œ¨ïù±kŽ&¼áKùqD´RÑÞ”ügLò”cŠ"`ÝAn…Sœ”.¢&cY?\{jZU ¾›¢ö‰28±yaàrã‘ÎBsàC¹Có‹¿FgmæýJÏ.ÜóW?Ü7ÃݽFÁŸ ²_]Rk½O¤~Þ¥uÇ@õdÕAÂ/Û³-îªõÔñÔöÿ.©+]m‚•¤ íZIÿ%˜_°zW&mR#iŠ›]¼Í׳¨NÄÅJ±L­è°š´ŠÜS¿z'CÜ S"šÁžZ§|C¶¤µHæŸDé`לµYc†ë5OÂT´'bá¬_ã€"¦·Ìî 'Ð&§Eö@Çíì6-ÍgR©Ý]cn4_S\ÿ­æ •èIöÁ³kr12µ¤›æšfqõ®Õøe³,£9˜µN¢Z,üÝ_–ÔÀ19Êøk³‹ßÓMùÄ»u2í,Èú@„;Ðz8ç’÷½6޹îK1¹ájÒÓÌWÏy&øs³ÏùÞËw7£/çñ¹œBßï¶âëê¦7æÙœðBÒ“^j^pt1R›©º+­š¼»Å(ç—Ð5‘.y Ôó,ªÆ‹É¿¯Oy"bA£¾x¼®»ÖwË×¼k‘†hìó@Oÿ¹çèìJÏ-˜iŽÂ÷þ:ãªä[ìU#XBõ!¸ º¿(d &¾+b}€&Iü×åJÛê¼”6 óaÙ4ƒ-E|¦™dXý½f¹·Â¬¯jÒ~ãQ5a®k¡¾ìèÕæü3ó‚PoSò.q¬¼f?èÎñõ­)|¨9p£U¹µP¯î+ónà¬ÒœM‰x*Hމ昈Fä›ù¸Åx)ÜÝÁè%c}‘߯‰q›‚"¯õ˜åþy$»~vÐkÐpì³}IµEÏÆ§?^GÂò—@h<_ Š¤Ù‚¢;–Ϫ;‹émñmØ p>OÆ…Ët“†, Ê“@7†«ÿžn,e˜ Ÿ¥’/[sŸ’|Qìê±mZL¦ ûoÿøæ/uvµQ‚–¹ cA@ª“éæfÿ]׃Ӓ¸©tøÈ2=TóAõößk1a“™¡Ò3U“}Ÿìv¡µëtlŒ_ŸØe”GãÍŠrHÝX{Æ%ùqV:lô:ýý÷_¾cëò²ï4Ï3¢ ¸ÿÍru¡>6†JûVuð':TA2ïVªüñz˰>ûL”gÂ$)®EÚª¦F³lû˜§YbúkG Ï1ÃÀìÇ#J$—‚ÁÅðD¢Á}ÿŠáèbq ‹ / ªïAÒ" ª;MúÕ}O¾ñÅ©íÕ<þå°…RBW„ã’{_(SÝQ°Sn:r}Šnª ™PŸ‹)'ê³…>M+:Û0ÓÀ$G6`iCm0‚WPrWÒ6;nâÙÃñtµXPñù™ôkjG:¦ñû¬ŒÔ"Y=êÊýNÐÛ«Ýþ²G€þ¿Äƒ¬Þ/YÊÇ]ðèÊ0\Tñ°K¡œù¯ågÞ*²ŒaùL`9Áûã ]е6Èò<ßÎl-OÊâÁP}–azľnÒJUÚs±LSùR ÅãD‘!Rä’Õä0Œñì¯KðÌÅ–I†±øªœLE‘͈2È;ñ !¨Œ"R€@ü„áMðß ³ÚË;« p¿àñ^h)Ã`8 5Ò®„~B7× ñ/R “T|êîž$W6,½6»ZŸÍÕ€\Àÿòeî“sPµƒÔ–|=Ÿ'};¯á+áV¤m«ð¬ãxãYé";Užt…¡!A*ÍNÂkmeÄ7«ÿaó6Þ…-ܬx¢MV%<ñiJ>—ê]žëæa¯É;.Ûåõ#Y­Ó·o»%f}‚BT‹Z«É¿ÁÇ üù»Ûo«ÁërZ”H>jÔQ‹ˆ¼ÉÎQkt~„¬°W?RW‰_èªÕ÷k*<¦ðmûöq ËõM¤uía?x!к§çs¯6¡˜<×–™W=X[²b8Õ„»3Õۣ[m9«­fÊÉíK­Z>C2§6 MõÇ|Û‘K ƒAø˜ÝŒ–Ÿd,åñºäÛ?v¥íYëW¦ƒÈS+ýo?ƒL^‘üâ&Ї!Rq­_>xý¸Dغ¹Þ«4'ªÑÀ>ÓQ>_Û6†°8àåOyóÌÐMåWîýXëØU¯+ý{Ÿqm1@þdvÛÍ5®KKQ|¨íòs&r J ïž7Dz¶Ä‡þúÛ/?}±œê›pfÅæ#änÃrIp=Jéž[i!=¾ªxQŸ@™yZÛÕµFvþ“›fÅîR²– [:<ðž åLYëLÔøÐ!“JßS9•idqlÍZƒ¼úå$H³½ÆC˜Mm7†óôþÌ–ØL6×—ãx©ß¹ê«%ÊzÔ‚é¢pTAÇNÙâô°°¤æ¸HÃ!öôh½)SB©´¨Ÿês—µ6×qáÿZ‘ºšØÒŽ?ÏUZr öṶ̈Ʊõ¯×[ê3HñD’^#‹$Ñe·¯˜Z¼‹úi`ƒèÒ]µ]$×-_‡N»z뾈 yå÷w‘‚_8õöè‡jå.Â剬uæ6U¹ÙP§-$ lÍ0¬ ©\#u—“Êóµ š-&Š<5¾³‹äÖiÓNœþ¹[cÓN“b—s¼Ž“`KOع9ñôz†´%ÒrõXŒA/:‚>¯9À2§j,暇––ĸ H$n7ÉÌN­gm7wshf¹Ž®Ü‡w›jmò²àQ–Í»=žáéÔvwÙ‹\9”ŽýÚ¾×ëÍ;#vt>‰àšd²¢­Ü]ºwc‚×:’ƒ jQWãv¼¿@\= ¿PGçLÍ.8‚%~‰"Ÿé†È³vÊ_I4(œî€Û•.­VA:¯~ɳæßß°ÐNå‘k®^‹×Ù#üÔÂ4 Y ¼.[ìŽ …¸3—É*è¾É"Õ¨èÊÔÕQ¡ µð Ã1vƒûˆþçíg ^ŒŠlAû,< ì²ø® ßÌE»¦‡ŠºGûëò0R„çð±p6í€>«,cø/í#^»F¾>œƒÜ¹È7x'·*NGƈôÝNËò\ ÚÐ…"Èö¤pÌ:—#4UõÞ÷NÙÔ“Æñ̘OäþyKjÝ8³^>&›i€?ìq¿{Îz`éÌ/`O¹½H"q9ù^µ+‡€F%'«Ñ°SWï 9^ï»’ë«\,’óIª‘Ógn@wMU†8€h…•t\h&Tá¨ˆË ßãõò_ç?·OŠ\Žë–ûŽÇÅ5æf!` Õv«wÉRÇPñÕ½Àï¯ûpTOÍçt‰I;9_îÝxÆëT˜óIæ Ë•AÃÓIéñÃЧ:¶©~Ë’K¹ãöª|Íl4ׇ´…BèN2û7ÇIÞ·ÆroÉGÿ=Bùå¶H,ó¦#¥¾Èò¦\q~8èH¥[y³ñËù¢ü”ô²ÖLOÉt‡°Ñô9&|/=D.ö)Fs»MªqÔå—ž;xP!Ϲå8–#wM(< g"Bæ90W:ž¦ìz‡|H¦ÝH»igz½<¯=Ùâ „énàq˜ÖHYÖà8$“Ù¶ K+ke"/\¦â›¼Å’d£¸À¶…Ÿ§nÝ‘…°37U‘µ ¾Kq½ç#»àÔäú¥ÅÞÜi¥9H.5.j°²Òh©÷:¼Ù ²Ä)>ÛuQ4LÓ˜¶æCÊõY<ª •zïæ ¾Á,Ña(9œevRŸ%r°D¥L3‹n:5ÌŸðYæv7[á³s>¹ûï%|òÈC`[w§µW…>” ÛŸ/µÑbÀ+¤§Sz6­¹ k>â¯54|‘/©ÇÀZãX…æÉÕ»Û”)ò¥“i(sŽšë®fMR­ê¡¨„m™·¾.6fVgZe½Xù>H•í"±,]w“='<É]wT·–ð¥P‡®¨%I7$ù±Ò`Õ½’Îêê&T°±Ú…÷¦¦¶ïÕ»üñÊÉZ3j³–æê™qua׳™U–œ·$áÆŸyØÌ"mW2%¥ÖµÜƒz8ý8Kès³íVÈi€*ÒëÓÉS³§¹ŽO¬æE{Qj•"•ÿùJf­J….šǤ üãuÈ×ÿç?þÛwøxœ€¤T¤Îþ’ñ˜×ÙohÎóTRÝÙß4±Gfž¦V†E¤k+³=‹\§Ò6a&­Í þÃ%9ÊXû¼<‰ÓcaÃD·˜*y¯‘² rN‚"xɺírá=GR0[GètÅE ÓIy#Cnw¬Ìºƒ-AÜ8 d׸Æ´KxÌq ” »v‡Y,ÎÁ¬Ï¶ˆ +ù>,Ö"… G3Ú©AS…$;C%d@¸HN³Qd#Œ|/¿ã²4¬î'‹¥ 9€5²æ°F<²¡A¥Ý°S¯³Ûçk‘9ã­ÚèùÒÐV³Hª˜‚w»zÏ´pLµ÷ºgÛ"”L ä)ûìœ!b׫;P9Š8(aÿpaâ ÞF†Š‰¸ä"­C€içs¬f]˜‚X]ø†äÞ©îÉqx‘uÝ˨ñáÂû±ý7¹S±ß#°rJž0§]žüÜtá6.;Q´Ï-ákêi„+0>s ÉìÖÈ+¶7XjE¢ˆáa"×ïÆã‰fƒÄ.ãðÂDäl>@üfŽC>é}‹gúëÿç/ßrö¯ÀîÎã!ó3¨ØNÑs•wˆ;¤uÅú¬Òû[º­òÇëíß‚•S$`_k\—€5s[‚ Äh箕jì<]DÅ~‹(|®…E æÛš\ÖÚÄY MhÕÔ}§h¦E ÅôŒ³¿m…Hµhºµ,êSy©Î« 娕ñάbðk=¢n„ƒ±•=…@{ˆb¥¿ú¡ú¯"TœÙ{¿’Ò¦OkÔnUvšÝ_Ó=¡ìäç”=\׿ÑÐvê<¤³$béF>ôEZd0LŒ±A@´9»6Úݼ+:¤±8î×_¾{ZrµMAÇã‘m—–F´>£C‹U IDATPwTMUÙñ—ý~#tÿëKxÍß)ª ¹ïÜ*=úáLjÈU7Š£g¬¿½q) >›*”4òvâåâ÷ Ça@½Ý†™h„ h¥ß³Ñíxγˆ hù¯Cj‰â滕r‡‘ÙŸ)ïC”€Sa_V4  ‹t^n¨ãïÆÍ \»¹vNBYzi¾þþû/ßëxÊôR@^2?:ÕLÊíòè%éÈÅ£ ã"yXl9æF7ƒX ‘Sxuu‰5Ë£ûyûY։஄xg+j®ó‡‡a}®©¦»ÁûTL…Çj¥°·+O"²]½”Õæ¥‘Ïô¨'þz½e®~]×Zä_§1È9©!©ú¹1#&™Å‘õÓâÝ@\„{ö¢Er|®ÿZWG âóÚú,G—$źv”"Í#ÒôåÕ£íþtZ­Õ&o9Ÿ€~b—&aŒ¼›ÈÄM_dÂÊÀ¬´8Ê.‰¹…ëùõ·o?}Oo¦O›õ½ê¦çc gS”A+\Ò].o¥i¦ÝÛw•Ól[<Š$ùF¸ä«A)‹¼ú‘2çt\œŸ…›êž)²>›Œ¡ø2a Å. ‹´”â?âZó ytç #3 ÿ‰ÈNo |>ødÍÞw5ºØèž¿¢²ïêXQnmºïƒÈ†N+Ä k+xG‰,üIíࢹ*G?äÛ¶ËŸ¯·­þÚä8ú[DÆ4Õ¶cÏP¡^ƒ]@‚bÂv®[4<óa9‘5ª·š‘›²L; vÁ‹ŽYxøáUq¿É´8—º;í0†ìÿñ_ÿóû¿{¿}CmFV¥²C+ñ—\9)IÉÙo:tëIeš¯u’½Î9|ÓŸù<ÌYy}í®*žçµÐm-ɨa] Ïn:¨”¡K‚ G’Òî_lÎäLÁÎÎÆþY]›$ö‰W6]»VEþx]òmËî;W9K¾®!>YïSÞ!GÂY eo¢ÃKŽÍ¨Dñ¨Ð Ë€g0…ëÉŠëÞDnÍ ¡Òf+ƒ+xû%ýÕåÛ?¾‘ª<.ƒ¢GŸMÆ9èØ”ßN¨)`å2ÒVŒ•ç|i]€§”&ÝÞÊ>ñØ[ëêG¬|m[} Z,)Ëôrèq£Ÿ—ÇF‹œüz®…Œ]rq¿e^z”Ql"}Š ÷Þ_/*÷Úí¹Ø9÷P³Q c×ì„óÖ±]ª:rð Qh a6>S¿+ã%虼ÚsÐà(àЊóEf¹Zå@’À¬-X7¦©9)ô{Žúì—·›AÚ}»åÏ÷ÐKÆ2˜2쟤З3Â‚Ô ŠÆD `ýlß±n- Æ×´û/: ¹ò¨]ò`…W€od¨Â §n»ké]…Éš˜€h£ÕÐì0TŒ „€YS=O/ûË…050ã–I GÊ€Š#I`äC ~_ã¡ÖÔöfýQ]ÖÂl·Ý1¤ ÕýÑ”É[VóúÉÃ-ØNdÀz3jñJ ¿…ËUæ°O‚eð?§ Q»v‰i”Õ®Ë^CšÞ«mØàI@™\™,¡VDBäìt˜hnQç ’Q»‰. óY«U¾þó×oß›Y&KAKT}×—Œ”i] n]ž–g]måY¡*eQ;f]µ†(ÙÛíRË„:˜UŸ:î$ˆˆ·á‘_áõXL1öbmTó{tðƒÃÛ‹è9Þ¶Zj7nöD$PkÛÏÊF{‡/›cÜ÷ü¬ ÔÜJ5 wIY‡îÁ2ÆÏÖÕñ‘-´2™s\Òžá-‘Ò4Sr,.ßð¼ ËïàŒÑÿágxËXx§× »·Ye‘V"·5$¬È]º¬EÈI„²V»VâÝ-ÜGG.!Ê@.ž»ôˆšb‘ëÓÐJ2nÖíT›”œ?9ï£ íbΈÒS™&jÄ$Åì_çÛ4܉ÑÉõ^rÛêÀ·R½fâ-ÈȰŸyžÚÁËÍ@a Óë›b‰°K¶p§ ?G ¾Hë¶Šô‡’0×Av6k%_8$Ó#úíXaÑêlå!ï3¶sd†H\ ðŸ„|ÐÚQ[TáÅsD' §Øk7Mó›ŒÞ¥Yæß^wË÷ÓV5l1 |í¥øŸ±{È3ŽÚ»h³jàkói=T çù–Z›7Kļøs1oM¯²K^&W£Òе{Â]5¯ij&ÓwìÈ %$°ÃY$y~‚/Šèœ|’Íܽ›EŠê'Á „“"×$ó˜j€¹›……Ãam.6 q#@Ó׫û µM¡«µ6CŸ[+[-,]¤mÛ­K÷¢LH†o4~¦Å2 ! ä)-2£gçÜùÂÑimmDŸŸãyÑaÁÙu!óiN2–O#’ uÀƒUŒñ„˜m-‹Œ±„ßz ˆñô$B—¢©Ûó°$ªG`T= iEcòåKŠz›wÐägÑCç v>»ðc[`mØ9ç"QëÈ­eñA*꯵V•l”%ñ®–)bºíÈa`ß!aiêЙrˆNÑ×'îùb.Ï¡Jb[ —·Šˆƒx´V£{ ˆ"3"Ï6¡ÚoPÜßéß5R±†í@ü ÕûÜ“±UQÁèÈÁLú„¯ë©¶¯¿ÿúËw(F‹·RôÅr†5.’]zËÛ\Â*k¶LØ4Q7œf{ëio.ÿloʽÕÌ+Þi7Ú‹{¯ìžÒÔªñy­Í‹UC«sè‹Ú¶UÖZ4”¦.ÞNfoA â0xTMB5fÙ‡xÁÊ0ꡬØX.š<Í=ú;E—á×ꬃª–*òÿýù/yÖjizA0ewû/·ÛŸ«ËdXƒæI­öà +íE*,Ñ@xÒˆ”¬A÷·ñG"Žx½"—”góºc)šB…!îùRØ\²J‹eEŽðù«HMí-eÊ?ôj„²¸låëo¿ýô}îžÍ×Ïý|7…™%Ä\4ã­ÅôØÓœõð‚·_ߤ(Ï×ÛöàÌgijê6¡oÝ’u™ÔqŽ€ÖÌ?‡hBÖ‚ô.¬€t·¦5,,dÏûÔAdY‡¥yñŽ£BÈ·ÏŠí¢B×ÔÕ#¤åéïmõæN[—›ëÊ °B•AJ€) ÌO¦Ãó¬Iºÿƒ" Í»˜ÇÕÈ&Œ©ùÛ"õ$uDñû÷ç.RJ5ñ ³biBmçlÉW’™S¯³9`ÙM³l…±{›‰¬â i2ï°M2x¬Ô·—&/€ÞfB1\QSèì…æ/fïäY[e5†áø8/Ú)³C´.OvJ^ý)yk¯»_7ÿûšÙ³ ãØö;ó¶Õ¤“\Ýç-Mê¶OÖÕî–Ö¸»'–Üó¬„N»ýL.‚w›O8/ò_fÉå<”««RmÊ5Aù.‰ÌyoDT!®é„¥bÎÇg…ùì iSZV&tw~¨ƒèÞ‘›×Û;L=Ç‚µ­&ÈõÜU£Öͱ.)j^—* @³?cÛlhYƒ>ÈN^½xä÷~]þ6! Q½ƒÐ܃ëóº{÷á‘rg† ò›PBœÉ‚Í… G²4¨'‰ üàh¸t+ò•`y¤ÏˆÏtôȹ!é³KJŠO#¾;É^°ðnœ‡RCŠ÷¸z‹t#|TŠ]KOqÖ@†º}’H¢&˜ÅÑ»<ŽÿüþïK>ÛV½MùQ×T³&êÿ÷_Ul2Ûr;ºGIÿól˜}5·s·, —Ű©K_ ]:ÿ~ú5Ñ»n.Fa².MWÑMI!ö];ÑIny£•B(à ’bÉ\;EöipÄšˆë–® Õ?S ïí]‡|ôûý÷Àèð¸¥\)ü­ËßÓ3?äíÚª©oÛ·0Á1ˆ$ÁFÿ®¥-ÖŠßìë¯ß~ú¾V*©0þëÏÉs[µ²oÙk Í~þ‡G<ó£‘S·ÇôU-÷Wf\{¬°˜ZH=n8Âz%Åúó5›Tš4íE”²‡Ì©˜~¨ -¼ýgö¨ šu‘ áꢂ@³àl¼<‹Ï¢×ìºg\R¤¥bÏàPÕ&í”ö­z¡:NúsˆÞÎ@4CömÕn ›´:=ûÛ ‹× s˜ ߯QT_µšá .wœ3^Џõ™½»ñKÐp ûIµ×§¢á;³® ^xOÔaùПYÐÐy‡©+YŸó”}±&‡ë´ú¯ÿñÿí»ú"2JÓõT#$HûÿNµù& iô»5ÃEpO%…´Î9t¥F×aa'_±‰úвCW+äKÊG«„õÔº¶Hàârö(ü…$xaqÄóÉùx(þrjמ–ò´n«>Ðôë?A.BÉ q)ðå”7XÐSsTr£ˆÞß²<É Q†v‚žÍ%(ªR^Ân÷ˆÑòTO‹¶×Å=<ÖÚÛ¥Vˆ{䂈ŒRäeêˆåYä:;ù:–µbŠmEr³vo«–Œu¿×¥¤-´£{Ì„8n‘áÜ)ÇvŽ‘‡“ä|‡>7¸Û _¢b 9#Çëç¶F6|àš'ü||&|öp8ÆŒÄMQ4Ç ïI×RÆ’{ÕD«pV&˜5æ —}—2,Ô&»$ÕÐõ1§—Œ1¢~¡•º®-Ø¡6µMS œ—ņx»î\ÆTè‚õìªÜÍÞå’×Ùmˆ³¸‹ÎD,`_ÿí—ï*@Ù;@îÛVòq’ZÕC¡µçI%ð0t¶ä·þ|éËxvÊ‚‘¡Ÿ w†T~´ )` áZ—‹Óln€9‡ž2L0P8ñß°ƒb¦á0 B>‰‡w^Uã— WÃSÄש`ÃÜŒX ykvï¡Úõ]ÔU¸Kò)pbx‚^õ¢ aàqòáµ E¿ØÂ3ñÌ^1+`þíÜy k]"uÎý=£tZÍÝm£~Cô¦ÇI÷9/|’§ùÊ|™·yOó‡Gªzœ‹òÖ%å¶­zÞa`jº‡±ä®QF_ŠA혞óº/Ÿq´4÷ƒf1Ü5bœêÚª÷øÝëÁí<ÛUu~Qo÷ŽYº{ÝCGÇs'C Ý2çÚ²ÐÒ;t½r뻺æ*ÏE$ Y¦Dû~ówÄ(€²â)Ò:µŸ{þN t}\žrݘÂ_ûí§ïEšÊŒ­ëâ 2>ûIÓR&ˆˆQ>€³¹È5˜Üt²P¯:G$·ä_,úëá¸(æFK€¾a„$dzTF#j—qÉ…¡ +¬)'Ç­p=]õô;¾fäòõ£2–>ºBÚÌç"v¶~ùù'íBVKµÒÂÚ{Æqb‘bØœë'To…ß?°¡2y[ñ‡ïv#yñ¹Ã &þèð Ñ8³Sê÷#ùY´8Ç4ŽJæÑ´¤‚¸¼F‚¦ÍŸ%ɘWÆáØ»GHl4âzIôÎù’‡Lìo]fuk¾²í]‹³eÍÄî.´gß:¯ì±B\„&­I}›Üqž•ø>¡Ÿ@nu]2=]"#e¦×_}röp±]F½?¦ìFrÆ^v帳Êor6Õƒ­Òµ¶4!ÉäèØÞCU@C£VónÕÍ»Í4W {ïc‚¹ÁNx† f”(L÷4„d*=œ>H­’”×1'›Ý‚³ªº’’˜gj¤çOaÖW*©Òä×§\À+úÙ’¸3y¯ÇTž‰”\´%æ¡ÏnE8Ä,­Fp†5å¯3 A2s®¡|*ÊAwXúâÐùóQtÃëuØÃÆ/Ûå¼^ʦ¥ÉÐý2ÓQOeÛW’•;½¶›J‡í½WŸH†år|‚µu–µÇÍÀµ‰cK͇ψ¿`”Q3HÄQ;½“ì³9-L5¦ÜË€y˜M­9»‘S§T_Õoœ°¬‹RÚH·ãpÖ±7ÝY7…Õ?Õf“…8'9ÁeyÙ”~wÊË>™Úë¯#lÔdGvq©-Xw~[,Ç«;ol¶AÏÏÄÌ(KÇcúŽ_ÿûo¿~?û›¦åt‘Êê°dw ÒˆûÞèÚ°~IŠ$ÓÑ ó}"NpÖð»»q„VªV’©˜Üd³ÑK§®õÖ]ñ‹üTŠS«‹¹åjò"°-˜ÀÝØsà}Š…°!ž¹‡»$,×͑鞠 *åxHó©øQ´C¥à†á&ªÅ¼6£Y7å“ivâ峂[e‘'÷A5|Īn>LãÏ;Ï=´ŽT7öUÌ<²n~ ¥‘j‰³ƒÑL&*âÊé´°S6ìßûô}ºÞiÊ“vûßþ³ÉššÍm¾àL™Ðû•R^ë¼ ÔÛn’C^båš•ž,¡–›™úçè,‘®¿ZàN%¼~n!“æBùÕ³G~Þ†3‹¨…tM˜Â¯€3ž$â"Ä‚|òŸÉ«{bLÅõòîЧë]saï+hUý3޵nzÜ #î¾5óvÇL…ÖߘGYîß‹ ÝàTWÐ^–+¤Bq_¸Ì¤ÆÉ¯Ò¨ ã÷ßf19:ƒ‚rdR?WùXÓqxN7o>Ï>yšRÓ…jcÑIz)KPÊ-–K¥!1Ám[•ãÒ±‚š2ô4vo¨"‹»9ëÂF’™Ô¼{øªj6T$ëjÊë*Ò»«T#Çæ6›AØ÷âgosáFÛÃ<ªe„μÏ<ÝÚ’¥ôê=~¿"/’õ1Â1׺3»JÕN—‡iÔ ç ¦×ËõIœ®÷@•Ø} ò¿\¬IŠï¼#ëË0Ðo“®nx¼ÄåNÒ«wWÅB§O¿ÿýY·*ÒÒ6•í´Ò\62†¤“Ä--øú½ãu(öé4Sr—¢…ê,¶Ká&øun«‹Î‡„ELü¯@'‘ýÛ6ˆõ¹è öFD(c¨šå=4ï-ÑÇ«d Eˆ¤M’—o‡|ÓײxìÁè—îÂ:ð¨q¤²{ëû• ÜŒš€{Œ·´-üÓ‹ ˆ`Ç , Àìï @þyÊÄÑrKªéœT "î‹ï60íòðçbZ!¾^l€p”‚®±"/=®ƒ†ÉETq=1À<á«ûŸ7º¤H ¼À!‡²ç¢Á‡}þ¸ÇáCO1ÍECZ7Sw¹g•˜¼iy‘RTåkÚ=ÇŠ–xþ–B¬êι*6”áÿN?Ë[£ªEat_|ë™ç›Äp* ¯¨ýèñÃŒYaDÐÔŽÔâia“9Å·y;J¡Ý—Š«.7™ÔÉý˜~~MÑÇ”CéÝ’ºåV¶Ÿ*á63Ûj–c´Û°®'É]DS´r÷éJ–[ÇsñÓE\ßZÏ5°IžFö ½„ÆVS+:5zб¥¹žÊNÈIÙ»ªyƒb¯éÉf|[a\ jÔ9©Zzae1¼ ¹>ûHrGÄ5#LM ¾í.^ÌjEΤ,݃$š]÷–2Œ(ˆ£xG²“ðÀåéK&{h‚YÄ®ÃÇ”ÜŲ¤-:fœçe¦œy)‚lÃUÎ×AxOIÆ$÷S˜sßv/”gG^‘–:a¾òWR %— øgO;Ói;^$÷VoX|ÚÅ…ŽyÈúP_ÎâA;&×$N–yú”Y/üžW™LOÅ)CB*㨠ç"¥®JŽ|¸²]Ù\¢iñõ÷ß4aj!õ£k˜YvV¶.I±Ð˜_\Î]BÍš%ö†¤.Î0ü§e_  ²¿ÌÝFG€Ê[ûÔñÂQg-MºÝ,ïB™ÔdŽ>º“êe5G¥ ©’ƒ´n™(ãâ—p‰XµÙð¥éâçbæw©bu$,+waøÌ­;Vt×tÎ(Õ³+©Å EŒOâgB†2 É_lލÃG4œcüDÇð’stß×;¢­9æÁÂ{ÉÜÙGÔʸk÷DdýI¥ïõI]&»PûVÕÂ@4x¤ƒ. Gqßj‰øvL«A»O©U»l‘/A.9b¾È¦ƒœþºhB9é”:é˜: ïhZÉ3ü^íïyl[8+,ëtlš)‹G?l›ì~SÒq§í" ØL/àrɲšoÛŒ@ õˇañç°N ”¿JÇžoÿØ'˜ƒLú³š´f™,#IyÊ þ3@¡Ç@¬IÕ Q›StϘÆŒi¢(ÖЎݵ¤§âÊå–d1è!IE½ŽG/ HýãÏ?|6"ÔØÐg²'‚Ë,áiUn·yÆuM´}%@É×þúí»þ£åa»=ƒ‚îG¥2,™I’ëÎAV„‚Å&ÎqØ[¿¤>w[Õ†oÏ k1‡Øºå¢À[ŠRå½(&x˜?d6#`±wvlÕ.äM»îXضÙ~+¶b)hO¤•‡8Á ¶âÉßýÈîI`fêÂð*«Å· ê:#«GÓÃ;ˆd»]Ì­‰"{j„wÙ§¢ ‡ÅÃO‡Hr²÷ŸwÉÑß²ÖænR‘‡¼,GÑ=8USÊ2oy=ùÒ˜hší[“ÑEwžÀot‡Ÿ{® ©y9™jŒ·þìA ¼îHá—¿ùŽTåý%zÂÕ{¿(:±ªï®¬m·¤!V„zÑgoýžV˜#ÍKªÍ;Ú¤íãJ²ñ=+d›bÇJZŸ~+gïÕ4/£»´zŸHOs A^$Sh“"ŸiG¾ vdÇ-]÷ÏhM„>É2X_”~~|,Ñ1™‹äÝ7ëTj翾üª[r;Íœ86ó—øN̲ ¡ ã’ leacÏ v!â÷ÌÂõ9ø³TVaë3®Ïè帟FÏC“ªZ¬jǓƗI²œ¥ãa°âãÌíá¬ú¥<[ܺ[õƒk†‹Aì³Ú¦ÿÞ'žW¿=púY®4,:X¹+È´I&~L].î¼´¤ój¶kæ‹Y®7ôMªýÇùÿÒÃjP›å÷ó +Wh™ªYÖÍöÞ§#”T‹ÉËð6þLß¶fG0^PlñJéê ÜLMnÝ$ôœ£³Å@z(ï,Ø$ç™­¨ IDATs,œÝþ=> ¿Døóu± ¸wîÞå BÛáhktÕ¯NÒꪾ– w’º'ø¹»âÆJ줻¯$½t¯ûKÓ¦œÂ6µ Y?F”^¬ì`”Iå¹×=ˆŠPËn5½ ¸ˆPââ¿5&%f¤ãM²Í7‘~•ÚèI¢½—ô$ÇŠyç=Åqùp©ûÑŠ£k O¥›·ìw¯?±³AGµ×¼`ìVïÞ*¾’†›ÓœDXî/iufߣJN?Ük®‰à¹Ø )9н$ßH 9'g9ã‹ê âþúë·í»T‘Ÿ·UÙN4ˆkh¯ãáfǙۘLzrlÚ ÀÍÃ<ŠÈëÏCJ]¥•"˳8”8ÈäÅÝe:Í'H ¥ì·.Íâç°GšÖ& fx;•œg®‚loÎìSú÷’Z¿Üv±]5g[!gGL±‰Ñ•Á”>M{ )ð4ê"h£à½oµÊbJ‚Þc¿Ú)9ý즧ãáµhÁ?^jÀ ÁðìJëÖ 8Fº¬ÅQCiP$Á¸=O^¸ö þ„éù².§vUGJB.œ™^2ç ƒW¦£8IÇj[øÑñù¾àHÕá× Ö®ûj#Îíd#9_A••{òÿæ•\ßÎmÛe7YÁñêiØwô#V3éÉ!gÌê¾ùyjxº"6ÈðQ‘µVó_‡ŸÜ:uÏÄ1¤>ÐùhÚÚ-‹# DéÃrr•WÌÞ랺?P¾†Ò©Ç€²bÞR3þ“P«©[«4Û‰>×h—SÙĤÏŇ!^Ôâ"BÌbÈÓÙ %w]–aÓP68!•ouº·A¶þõQ/9ïÆŸË¥ä9:¦-u¿TOU’\L‘Oàæ…èÄí {l.“ˆÔe ja y:ð¥<øs¢…œº§H_Ls~dÓŽÈÍžGŠ.ûá/’Â!)(ƊʰÔV‚Ü#ŠõXƒ#enÝ/ÍçÀ¡$š¯5ÔÕ†—d±&®ÙÔŽÖvÀ:Û_¢¶X8;Õd>ûdc¨ÓžC5óŸ!)0µ‡:A*k93gWÈ4;}É›±NðØŽ×áʰ"×t½³Á®+¼š¶x¸°“ðØ]ú$¡Â9VNÈ0®ì æ:aJQÅÙ_¤¦YÄìc†êµrš«ýûmk7;jpbiNÃ*ÖJŸHúw)ï¼î^ȽúE&+<|=áõå–tý„œ“Gï]†Ÿ}´P‰ñf󜩱I‰ŠÚ”=KRt1¹B½\'[êDŠçfÈÕï*cæýwÉ3`ç´)¤ÇN¤n¥wK§zŸ—HÙª¤4žŒm|+ɦê½î ÒKtîœ ¦æMýc£|¬Û*‹¥aºn|;6YFbU}P¯|ØŠ$ &d(ãWam üæMùë|ËèÝkÔ5¯×;ÁÝ·ÍJSUžh? »³ÙŸ1 ÷‰mÍÿ®SJÑË8X«Icê§Ü’Ҍ޸f„OFpe3™ 2SÎ×;DŸœµñ |*«’ÝRâüíªi;çãLÍI[Å zäDŠ•æÒ;ê”!Ÿ8¶¸fâ¨ÎüŒÇ@=÷½ô`\uੜ­ ¤Q%>ÃZ÷)á×p,êŸ×tqª¤†”>ä´P"¡ùW رzGk:uu¼ãÔSúúuê"Uz]ºÅ×voÛy.áõAL—‰86 3+/«u#‡Ù¶§³*g¨7ò Wi–AÞoØ~üž> )­V’:ÓQ&a¹â’ðÒVÿë•óQö­ÝÄàaSéèÇ»3º@g™WÙ>Ûakgl·é&pŒãnñ¦äqòtê$ö{§ˆýBm²#Çü§y]×'ªAÛêíþ\]š~²0"ýAÞ‘N?·¥ÙÇáu‹`GíqgÕS£Ï:_ÿõ—ïpfç9:r®ÅûB+uµ<Õˆ¦¼ûsW­K l)¯r,¹nµzìòBYØÐƒ©À4VuމÉÖm•³¿¥I³)nOqÆ!ìÝŠª”péy:쟯.i¥t¨´¹&1ÁõvåGM熽®”ñ_³%Röõ¹81Iƒb¯eõé¾HW9¶­®.©¯Ù×]¡aœKû©øOtŸ†wÿTk†å1†ì[ÕÝš4]ûV§‘%$é À{^Y cûˆN–½úç.~r;‡¶•µ³§{ê-‘®;-Nèžö“tg§‹CžÏÕ?£ñŠVµZ€Z«RJ<Û C‹²ÖE¾þ¿¿ÿò}X>Û9Þò:»‰@{´:OèäMÕš< 8ÚZWc“£mÀå_Rê*Ëoµµf¥ÕŒKRÕ.:d¸«Õj}Ø‹ú€˜Ã5nþsБÅiÕ|vÌY([0—EAeD=ÇªÐæUºtg 7;3ó᳜ ‚|u¥x—´g“ëÔz´÷Ëgæ»gÌI–¢®NµNóïϵ¶Ûå·5×f ÓxÈyžQƒüñç‘ iÐ@i«w—×ë"JF»5SlV|ugbɲ³]féz/Î×sñHÂQZÜæÃ¤éQÑÅ0§+µšÔÓ$¿‡‰§Ü:6Wïrüyä³8álöM\·Îiš*vêŒò¸¶##àÉ]!ËôJÖA±b`¯-iÖ<ÊŒcÙ˜}Î1µý•B,c«‡ÓYºG»t´ßo³!Þñ•©ŽPFHs>T“È6ѸÁQC6‹¬ !“ÓìCz`ŽøßaB_·]¾þöëO߃²ñðŽÈÕ-µÉί{¼µ†õb<½“àDî hÝðt\²X²”§=3.aro|ÖžW¯nmDìjÍ),#‘VÖºÈÑãØ¡±‡Ø0éZ:›ÉDwîÎ KE•¦b‡¬áGµÞ5w¤È=ÕH_¶ÅŽ6’ÒµúˆHk­„¬³¾kÛµ‰\Ž?Ü‘›º`­4ÏVGr,¿3ef)Ål×1Á/e‘:Gô‡¬ÏU[aÂãÉ¿žGòPE¸ Ï®ÏXq¼÷¤^|¿1ô˜m?_]k‹P.Éþ¼í¸þu^RýœâÊì¬jÇ]k“ö¬òøÏÿùýßnýÜbð–ì¤Ö1¥ˆþ@ߢ+Lû¿Ë£c° –f—)xýu%ugVÚ™S2}E½"{Fý“ C? ½¤5úS†cÍÔI\³}3y "n«ˆÂ/;¡6§·Ür!ÀëÓ=üÔm’Ô”ì|ܽ}Ê;$ÿlêUÄk¶Þ_çŠý€r’v?Ï•T†WeLªäÌIž¥¥?{b¶íµùýÉ:·ÙŠíLzüúë/?}²Zÿ|­z~®¥y‘.Òd¯ÑƒÎ®·J9Ôºã­Ç̂ϳ\L¶"‰[5<¢,w¬µq@;´^fCÎ.îJ,œY^–Ð@1“« ·X‚–ÞÏè‚1ñ">?èêf0 ׬!rL86 ×mhLšv|Dv4:ÊÄcnXYdV_Å I´À¡£üFm èî§ ®¦A•)§ü³øLf}jÈR1‹ªúOâ4áÁHÝK™”czY-9ê:­É1ZãÂë\!K¶¥ˆy÷’Âr"ºáaY’‹ûUZy¸'žÝ É™÷¥,òøŸÿã?þÍ«tMÄ»vKK½S 0ð:’?=åyG‚^¡I¬ömŒvH:ß¼º~ZÁ@ØcJ_–#´m«¯¢N²ßÚGz"´N¨úT£±³Pg1á…äŸwˆ#·™7•3­¬·ÓàlÎkßÙ…å$Uþxuh¹Iéû£÷úÁÃwf\)?+}šµ|º–}Ú)ä3RD¤òêâ×lþµ '6<&OÓ5í$|Âø²’¤aZŠAJMf$. Â&l>†^³t\e,Z°1ù\Í-݇cY:Ú«t­I : Fû? gIøXVíÐîšÁyNþ0]Ø5òXïRûÔe x9H¾£!’Ä”ÛÖ>6²^Ën¦ ظøl7àôaú0XVkˆC{ð‘õX_‘L`Þ †$'Ü c܈!üÁŸP¾,øOÍ€žóÙî'°ã§þ_3™ ò+Ùt!¾üåÀÏxuüÜð>Ex’þš/|†Î%­Ž>=?d¶Õ¥f®EìøF?=0¦.•»–ËoÑg-PŸ¦ÞxóYpÉgVˆ ]!k>‡LoáNÄE<^GÐ&?¤k¡Æ4:‰õj&1Viò‚JZªë„>ú§îÛöv®¬D‹|'O~Z˜Õp… NžíBNB®%I@™-©'eB5à'¹=ûTˈƒ¹Å”Ú¡}ŠN›µ>C¿óÞÛÒ5Ýó‚b*X|»Ñú[Ü q©›ýº°åör°Á !Øk {Ÿ^‚IõÛ©}»oíVøÜ&³‘†Ž@a«Í-L!5.,·=S$˜\²ÿcŸì¾M„-¥]nì¦ê–Ìeju~Y*¡M«Ërü¥³q«Ío7!wæ6òñz¹•8Kbªõ,I*œçz1Œ£N?´a!Å€ý#'bÇv=}–ùƒßÕ/¿‹üH·- \À{Ì_ ¾¤’q,óõ9B­Öx±#óå"%ΕbÐJß+}ýí—Ÿ¾×Ò|JŒâb …_¾Ï /Fñ“Ï«¿¥<5„S§ã?–8ŸÊ‡M \Fd×ÙI(9e/Àw$T-r¼4¬X!ÆÓì6 u¡ß¸tÀiÕ!Š9ÇùHÿeÅìëTŒÐÕinå5>Óœ Ïà‰Bƒ8G£Ò„¿m5ÀËV$GÔÊ>Ð"­çÅ ÑÅ„šÁrZ“!«Ø°¶Yâ¬'å2WŒZË1p´åsqµTñá&þPÆìh$"µWõ̓׳;›Œ±¥LÎDÏ=ä0#u8nÁ‘€<ð¬àj,^¤« a¤8q8/E#ìÖ§&9ã¯/a>©©0>úág@™ÎsûV}H…Ž—Û"‚'y…lv<ØmÀ„ASý.:§vO¨º\Žßv¯4¤úL¾…ÚÜØŸ\3>«Ï6yαÚhÖ ÷zK‹Úÿ±SíPýL¨mÅÄnÆ«xXT«·ÌõžäãcwZòdF‰‰•ܦŸ‹Ý}Û?eÜÕ^YŒ=yöQìµ9èB,ãÆ14X¦° Ñù8;›Ò˜½uë›÷,«÷£vÍ»^ ¿¾à_ÿí—ïøÐë³Ê]ñ?e! >cuGCÃé/Ê܆ÐLæhàAØüªÚ ñϧÊ*4Ûœ†[¶£ Ë¿ú°œöžóÄIo…O'"êxœÃu^ç#“¢­–DTd $X½k]4míÜ™ð7Hpx•Ç#v¹Ú×ÐÌ QÅõ?ȵÀðNëð,nÆÊ pÞ%C~Þ ¸="ž[Ó=Ú÷“gÜ– æ£pVÀ/‰Œw Ïó-]«ŽÅ5VÀ>çÛÓ›ü³ÛµÆN‰o I΢Bþƒ•þ|’¸$Ý–Äæ“…°õêIáv½zs#ǶÆF-Ø‚#8‚6´éÒ 4]ºt/½Ô“g¸Ï/Œ¡G°›vXªNÕ©žÙ›%ñ/þ<ŸFjuW:²[§È*£7YÊ¿LÊ,òóÒ@×1š|üöí—ï`àû”ëÁ©¨^ËÁ‡ª?õE2,Û³**ƒæãŽ}êU´ÖMÃÛëjZfåÃô"¥ÄœCFàíî._ÃáoŒ›-–%Ì’{d| ³ÅÌÀÂK•ã:¼tXË-ì)£ãºšÏ;t þk´TNÁjö¨Ú}Çð¯|ýÒcïjƬÙìNIã 6¯(ôÛJÑq\͵åj̼'Œ|Àªu÷xÒÀ@%ªÝëþ”¥l;l±è£s”rb/w¿‚Ÿï0eDiî÷¸KâzA Z©¸–řʚ& ¶ÙÉü°)0i²mõù|ƤÉöiÅ×K-‹²{¯!·ãÿ"ajÆÛSšÑ_Lp3Î]_О·çsð0§ Vâ­Ð_ß1þi¶€’í5YI„ «QöÉœ%¯³ƒÄ0¤cšls‰7¿R¶‡;¤ÐdxÒRØß­|ÍÛÖÐ÷4šs¥¿Î$øû½ùœVsçÃÛ`½^I’ifbæÎîŸf"ö]ƒòߥ^qÚW$BÉ+Û¡²Ù6ôI5pi~þ5{$¼èUd²!šØós„<ú㯿>¾ƒ£."7;J«ôqó¦>dq÷ œ0G?ÌÐøtä1 c  1º4Žg‘›¹kÜ<õèniL_ÙÚ,YèCP~„­8%Þp”}U¬ŽÎÓrg‘"RÆ"«ç€/E§ÅÚ÷kÑ Ýè6t\ßÄTc&€c¤C¦5ôþJ°ÌäLI÷%…KÖõ/ËÚ™6ñö{ÿÿn.Yý,!#Qãíã칤«}c }ynóõ¼]yÜhtäÑþJ¥ ¹Àú¾ê%VŒß=“ól™âSmq{¶àÊ+×IUTಓá—UÞ0U‘«k£½%2b¯€9Tw°ÿÇ lÛéÔ.¢É¤Fq<{‰ë žýÌU™¢Ôx ûõ$Ãcñë)vì@̤ÒMû^¤âŽÁ‡ºšA©V#E‰é.A˜œÑžòR @|zW™DS>GºW¹®á+*¾6{vcoeaöðMÕ¢7ÏMÚ9Ê èÙHeo¬1Ìà8ÂÁ™Ð0q°y‘¨7¾Ö$¬¡ó±†¾ê‘k7:EEÈ©÷M‘W;­Ç5ÔÝ]T-ÒqC# §:˜š3:ðË\~i_~3 øq2®áú 2ú¥ÏºðùÓg9ûå–£,S]Ë9Ô¸s½ïõ8P û=8R«`˜d%Ý}ñr´)Ýì{]# ÂâºfíãñįŒ%EÇ¡\¼ÛCY¿Ò§ý ‡Q¨¿3Þê®&ã…äz‹Ru€GÌcè\ê}MÏÂÝÉilî*kê…†—e9É8t$á`Ø­'òòÉꪭ¨£ Ö`ëá+Ð }Úê&RÕÓ ›yP‚ËŠ·û’Ð.”óÐÑc3=ccøøÇû[ÈÁ(QYS¨‹ïÔSø¦Ûzö!½wÿY­‹X<Ìj;†:§ at§o*:êÿJõ=´ÍÚI2FõÔ%íl5Ã7,z'œXº{÷±´j±@Žö`…R´Pn•²xRÒZV/!E C½/É3"™MpäÑÄ!†ríu#-Ò»jÖÑpneÒ›SÒË£!qPÙq¼äÚ»ëâ9ƒ9j{l1ÚGêS±*0` É8Ítþ¤›×öi“?ŸÞ± üÔÀbqšú"¿;óàl4Ràç.Iàðù}‘R²Œ˜ÿûBÌPÿ²qpO4ò¨õ#nxO7Ì‘ŒÇùç„•Hg«÷:álÎÈÝku~ÓÑ)<¥fSêÙ™Ü ¤§ïºßg¶•%¦«§Þ™ÇÓ^Ùº}†Æƒ×…k×¾ŽÂdˆëæqk B|u°‹k†% ÆD~àGœ@%B_WŠòÃÌ»J¥°¤ÄꯌŠÕBlÒÄÞë÷–]÷«$KO7ö;ÙΧ˯_öËà›µ0)3Ìóõ“çy¸¤Ç`L.ÿÞCMPü«1yðþ(å–w§¦¼ª¢;=òã\#áƒ=º¨¨~‘âPñb¹pŸ?mî„Ióý¾¥ºUÁÐÒlS¡P¹|+1„ô´djAj©™K/wµŒQc´aµíâFèOÎÞ®]ÊÀt½Þ7)Öðî2È„9£pš¹§=ŠÒ>ÚäŸ?Ÿn”]J•håa_æ–ÅîmPóPÔe-j´ÜC$ÅÑ<·!2È<Ì(Äãµ±ç]5·Ò0µýƒìËdÝ—R¨–2ä¼.ïVãXAd‹(5òÔs,S‰9LÜ4|ØŠlÇÙ­†%Þ2n6s„ˆ ë7ì\ÿð>Y•@ɸJ¸LV®/HÕã§ÃKÊJ Í`¹9óê»1Â~ùpÈ+Çâ¸ÕBM5UdÒ¡„Úhò‹ìu¯‹éE€ûö°Ît½ë s]—Ï<3Ý^¤fvC(-¼wAæºáözêX$´½ì¥ê„^käÍ“Ÿ`“ó4Úp88íð[ºÎ&[ Òáv_üÚNSÎâ1ÌMîj>Gúuz¹@%%ðè»AÍÁs2h—ÚÈÛô»Lóè9.¼\ `Áêô9räõÅÚ¼“k*…%—@‹=+ÿ×S:iüQ.»'™‘#±IqX—&×5’3ç9 ¡È]d‡F¸«|@yƒ•. 8çÌAþ;»îŽŽ©6ÑÁÝ[–Ó”:&°¬-î/Þ´)—C²NÿŸÜ®ÉF+‘Wˆ8ΖÂ[œ˜I“ê˜hOe€mW/ï,ÇÊ!N”, úÔ»¾çšå/¶É½R‚¯_¾Æ4ÿ±§{€ "8*&ÝѺٸ{'ý’Dg{ó²6ÜIj.''·–ê×ÞRLò¼­“@h*wÞQº°î$žãne)èð)Ѭ®é™Õékͬþ]ùßTÒÃYQÿåûâèÈp¿¡>Ä›Bp0¨Ùï»\ã)‹MxÁŽ_ª•')Âùæ>¹h.qŒ:Ô|°æ!Ѹ‚*®ðìâ»ÙèzŒ¢9tn‘d÷œ:«ÃÏ&ݨù:e.äG‹ëØìšA­çRÌ9Zã)¸BUœÏÓ§!'ž¼{/;…›™£IÑ’Æu-ãæ$Mu’Ä"Q­@àL²¼»;Lj‡}uu‘…!=!à ¨¥ÞÓs?½Í“hðì0T…éñ”Žo2…¡ G‘J@Ü™—e‰Äæ¸âå!Læì6àuÝ¿e9‚‡æ ÔŒý6ÒÛk[Q<^÷åóÇo_?}u‚Ñ© —ײùH‹Uëå8¾ÅjHÕmÜbfB˜ÿjÇnÔš%i`'êÔpÁ3ó¯0hXÜòRÕg=kz D`â^a÷ƒ( ü€ÃÖ?Nºl²>6coaù9Ä “Ý^:Ö+`>‚LnXÒ L ð:}k$Ãk 8ŒÔðÈ¡Zdº×Å{̇àf©ÁIŠ’’îW)êê(ã–X L™)tÏdÆtÝdu³°º±ø]Ã2ô¹ë¼,ÊrFúÜ·ªÙ¹‡…zjqkªÄLž,hýå5;¨«ӼĽ]m¿ýãïßÿÍË-g}Èmó´vžˆsfKPÙ(ÃíÓs²ö‰á)YI¾!bB Oƒyâ<ø¾~Ùåøóxý®à˜Á°AÂ^¨NFvYÞ_¬ŽBÏ’-ufC ”#«3 ÚûÈ.}ùZ'{œwSç¿2œp6Ë‘Å;bä·#ZÍœa&RúÄþL»¾1„}ÔAá2Eiü7Vÿù¿ZP RDäãÿþþí;#E”Œ.«¶®®œ~U‰éÔy­·T2±YÙJƒ-oä-m©EÆè£5,@þçÓ£”ÑTŽÉXˆÐ¸”â4N@)7*»š^1}Þï‹´k¼Ä€9˜P7‹Ÿˆæòª¨–(&É`t‹Fƒ[%îÓÐñrœççoá$¨µ8rØI¡ˆ8ƒR6Ym1hòŸ"ñÊòb˳–͂ӊÇ&l5lr‘\“møT8Åg+"×òЩÃħ2 ò’˪RUw²”(ÃE–„äÁ¼–@zŽd?ËÖ©ØX¯AVH•íOCiŠ’òrã;LÒGž:ŠAr[Y\$ä“Ônu§qYгx­Èùö‚°ÉòçO:\Íä2Š€—1w,¹S 'sžîÑš{5IDAT9gI°,X’WÓBåJ3ä¦Ü·0b¦ª@“j i+†g(ØíPȨP&êà­TÙîåeXåhÞyȽnieÈ ð#h eq1QM rÆ«Ðà1r"q}¬‹#|”±¹Òc„ÓûbÔ Ìâ{ñ” òU¹Óžt‘«7ˆã™’ÕËÞ„fM —oClgˆ&?^ÐÞ£ä6¨öu:IšdNÚ¥>ø“ó)úúˆ¡ Lf´ÀÝ'؃èÔcø°F"ÓZÕ¸Ñ`¦ò€ìñ&Óá<¼”ÚÅqÃøß.-\HØ«µOL9’ë²ñ†xgJ]ÏÒž32ÚœÏþ©†2æÇy„÷W}ÍkGùÀƒH'Jøé"nm'ï1ÖË$Z—Õ®î³À¨—‚<(KÖKHâz㑌çÉ÷z¬é³€Ä¥¸eÎí˜"ºçÌrüÜa媯²f:Ýs÷!·›3xbîšcËé™rŒv*±˜ºîëèNT€pT¢HV³7ÕwL{+‘¬*„L``…’HÝoÞå­DBdç<4dxáÄѸH‘­m4ûýñPì¼2H B–/Q˪„„ "š<'UÒÎIFìˆÿåAƒ •l—Ùü—ÁÃFš_Hè70¿áÓd)E¤mœM¹‡š+”{Ø BŽ,ö—¬Ù±ß·à²Fjha4ÉËNmªÎÞän›Ô—bÎ÷'€²§Ë wKK4Ü ÒƒþF{ÝÝ;w)7¹zœú}4¹ßÃ¥=NeèË6Ôë‘ bÒÏ‘pÓÄõ}üŸß´ÄÂñ Ç ½©Ïï}Ùª½Ë½xNË]Y¬¿J>Q_>EÉ2&öå, Å‘©£àBõ‹I€GZPWÇ"×èÖÅP°>‚4£÷€.Ño°è‡KÈóç1Ql†ý³aõ,üJln­N·Ï°4‡ë¸²Ó¶õ‘,^¡Ó€–C¦f†-ˆ û£ª®³s+Áú¸I±©µÎº_´@$ÑÓqïsô#¸nS~‹–>º~€¬‘PV¹j=ËV7ç{•Œ_‡ÀËH°z1wÄJxùf-E¿¢ûy=¥ÞùàQ›dB<8Y‰_%10i(r VM1ÆÙ¬8ós޳¥ŸÉƒ¥šìþÊ s>þ­4tîŽP$B ŽØÊ¼¤Ã0D@‘KÞZ8Þ9’cæM¿šJŠdP×Cs‚2 Ï 3rŦs5xJìdÙ»–ˆhòÕHŠÚ=É·{¹Z“™_ÓxníáËÇJ·9µ’ƒÓ½îoÒ„c°XM+ä¦ém€ÄÛÕP,ýœF?ÎŒ1X=Òà¯ÊTVÛßq\yH5‰XºDü;\HäùH>!ÕCR<`³:³>AÚî›Ù½Di3º6*ëôÔh>€ÊòÌñ–iÉÔey¼ÇïAè<(ùÄBƒ®©³Ð3× "¬dA™ÄCG§¬Ó¿C#ÎP:-¾Û-‡Ñë*C–2Ô˜›ŽyœÌE]DÙX=u*—É@“”{µKœZ¾pà©0˜°©‘…•R£,²[’–"câæ"7§ò÷5­+¢wØweDÌç6Pö§óÁ}Q«|¾orþ|úü€ƒ>ß›Ë,vO†¡~­êVsü|&°€MÓ/J +ð”²úÉõñoûî¨GYœ.d°@$X0ì’LÙv‰3¤”ÖܼV,f…û?ê)n­_=ò ëB0Üâ†r€#EºÿÙ­†H7{¦ð»gÕ}é7¹†$a#ÓuÍ;Qá)cPná’(änsd7ÈXõ½Öï¿?VY¤úT÷2š{á•\ȵN&¾—¹Þ#>Ž›mω²RQ*þöi1Í»<µtr©ðÛÍŸ&^mz† –FÖ6WµýA©²õS¡\A”f^ÖÅqˆ³S¹„–|ڄл¢lfèî:Ø /wíiFZf Üxp]û}OëÔÙ¼P†ó Î²Z]ÊÍ£ÀDª÷*_ÜI?B–û˜>‹Ý”k ž *7cìÚDYý-¼œŒH&ýFª?=Ž×²ÂJ"¡(ƒ^ˆ0PÐÃïó}“þy¸éâ CPtbݽ^ç^t„A9"7)>7(“N¤C'On~0¤@IïØ¯á±uÅ QœxÜ82=G›ëÅ_j@® I×$ŠÝâ(œ†²øýc¸xm!>N÷gDš]Oßé îO£ìDX«†0-©×â WºK¥ö;û} 'OûkW’ŸNL×$Ù¿ç8kô\åˆMú}^…Óè9C†lM>̺€Îþ­¤§¨îRh®î’9ý3!l% ”…&Ñ%F‘ËE6“Û"ÆÌM²§‘qeÈÎxþU`IÓäž¾é³jîi¼Ï ÌŽ²öþaò—íÔ¯y›õ_¿ìîFǬeñøc H´õ ¹DÜÓ3™¿Ï‹[=‘Ù!>ã=45úQicÏá7ß:ø '£lûIÄô·³ËÇßýú¡>˜©)ªd:nÔ¢ò2†|R•/„Óc°À~dÅÓC’“Á|KaäALýÔZº„wïqúÁv/~Ói Æ(”꺗jÉÖ$`D¦X×’eǾËÕ*?ϧì÷-ôq“žÇ#£L¬Åѳ&i.‚,¡Ù— fÖÈ7-0„ ’¢Û• 9^vgú:||î] 1ìWè緪ϠŒPJòpnV Ý©ŠNù˜ ’\ÛÜ:ûÙ£”¼owA•®îÐ8FLçA<%&CÞbÃßÁCXÈL&:•\£ô©‚ò³¦ NÍ£³l9Œ§/u¸Tã²³¹Yt¸(ús³—«›Ø\4YK£/~{ý=™V!Þå[­¯w ÈáRµõØØuÍê†üñ÷o¿|GŸ%œS‚Ëô”ÓŽÃ ¾Så˜Çéª2hˆ€øûni¤Š†õ>2 ÝjÊíÞìò[WÃYžì}Fhô³UJ Îít*¨ÜÐ,n7é½ »Aß ÙÞÄsйl0 Sä*Z3¿³AºžNEçò2ܰ÷_±²“/pï1$K¸}–3ȇ—QF.'/kÈ]†`¹„câ´æîB&¦ŽÜï»j^zèM‚Á1\Û³"BD’ݽîÏSü o`à>“3á×"òÏŸÏ@Ç$¼Šæ®›Ð]¢ù’Dä×ÜW :õjGnó]§¥ÁU á"ßú˜Žb¶æçæñÅÊÞc:jYG V­B± q}'ç—wIi¾’"æ&>Q£»‹Þ¯ž÷d^F?÷£Áœ¥»z¶ÿ8•*—°Üðנأ”@ã<7Þ‹'ÓPn>ÔV7ʘÿÞÍòª¤´-~~ül_â÷êš Â·ùP›~×A¦ˆáØíõZåÅ"Lø²*1Ÿ>Õcë„ÃP–YEUmüí—¯ß÷/»ÛÙ뀯©c8ôÍ:•áÎîî­4Ì.³ ­çKh˓ﭟ2Akx]M®óRgÂ{°lEÈÿIH@4B%»Ü&£ˆ<Ïî«ëÒù@1ÿ_†a1p›Å,¥ÈvC ýŒ› šÇ@ð4H6dxc·ßwRuoÆaÓÏ(p±0ƒqÓ]ò¡œ£ÕŽ®fƒ4æ._¢Ø7øuóï‚6§&ÄbÛc“e”€O Š—dûº$[!çÚ]#Qn°qæÇwÆ÷`z«UÓüÄÒ|>’ð*[ÜÆ)¸°áŸ¹ËCrq™™!ÀËî>">£Ü¡:µà¡Êϳ_€B]>þñÛß¾ƒŒøãüa;BÚËh2ú-#R˜›’t ø;¯í®XþêŸëf_¤Ih¦$D)£y!·tijCb Nä%K\¼,ð¨ÂKÁ9@(¸”ZËMžfˆ ­…"‰J‡Ü3õ%Æ EÝ"•u‚zQ^lXP»=Œ<×dQtõ¹&éAÉŽä*p“ó‰ˆa‘E)rœ‡±#f’eyáËmn`géPýðÙÏ ˆ¶–5é0’Ú²$ H—ÖšD+»ÅOPYìe<¾ g0 ¾®øþÞèeª²”UúèQb•Ч`ø[˜¤JÊH „Øê1Q¤“ˆì½Tþt /žŽdø]5÷ÃZ½ôÀŒc}„PÞ=”*¨Ü²)ÔL3ŠkIÍç;ÄŒ½[o6!th•*GtBÙ8-÷‘&˜â0bž í¤y“•j £¯”eŸä¬ÐL÷D“¨˜ÏÅójß4þêi°4±º3ûHå‹Lª<–%H——ò4sh.bt|ËÄ¿?»Kúä>ÍËÁ ­a<ÑÓè2I2p%xÀ¡«<Û›¾ Mò d^œ¼èblÓàÁ\"ðQ]»WÍ.ѱ{ÿ¸£Æ ó0ìðW£ŸÙ¬®÷L¤ìÃ,…:ãÁZåìuá¡-W6>[=Û=zž íùЋ;?d¸š°¡§†ÿ=^4,¸wV¡Z¯%fø¦Ðéž('øïQ×iˆ×Ý Ïžú'FßZWÞ™ÿ¡gmZÙlNÑM±3}^´ö c7™wæÔ0çÞ©Ív&U’††‰›YŽûº©%m¬²Ö¶?5Á`)Öš–¼è§æ½Vo‚ÎóõmÝ)üugXÓ”õez>G“×ùÅ¡oXþÁ3š,óCÁX%;ÖgX¶;Lª;üîWþõñ5©Ó¬E²C¸.Þ˜¿¢lÖ ¾87Ò‰˜ã·ò]éÙˆ³ Â0‘ÝÍóæ‡ t:IëÄPžœ cÖS““%/Ö}ÌÏ·Ùš"S3€Œ8¬Ó†{Ð=¨v\?FR²Ô—M{M/@09Ü=´KC°Y¶Þ æÅ¹ÄŒ&¾y^æ€î¤1 g–1d‘»ÕûÜýiõæÍ§ÕÞðÑç£VîäE ¡ ÿ>'î›õfûRtR èDµ­.*–*‹óy Ì‚®›ýleÄ pbõa$XÿmöÐH‚E°r•êòèn‰ˆ14ÑÃ}6ïÕË®ë§X<—ÂÖ 3J9>]´Æša×R‚Ðẩ’Ý?à]‹È³Æ~È9?ýó÷`{!רXz.8x¸f1–ÄÅ”DEDÞRØîÚ¹ÈéýÕDž%B- ãrTဪ‰j›ê¼9« j¹º—ª¿å;mªk’ØÊd­øÎëDÍõjŸT0ȳšêåðeíÔ#¬ñç0(jP/m¤’¾‚øZýux‰‰2碳Áô2ïÐRúôÙ0¼‹c<¼®)‰µ9˜Á)±ž™n;1ª€ý‹é2dòÓµ·O¥G|^óó¾n¯t]kìì<¬³çÌÃáóM¹©*I Œ½î>e çÔëiZY*àòáy|ý’Ù ï*–¹®ýÕ7˜ª–¢ëq쇙ïš-p¦FÕKÏdGÆü¥‹búúîž>OV­—©ájDHLåÈd"Íef¨$‰TÓb Ò»¾ œ:!„Ÿç¾o6>~mª[²MbqYO½ çúE˜Q­«7ëpN5âè*$jgZÊ››ïw÷9D”…X .¸rªŒ’O”6¼Ð¼g ÇCegä@l~(-™…É žg#@‡ÕþŽÁxVꩆ g]<‹øÔ»à°û÷Ú·Þå?džåðìß:åIEND®B`‚./chessx-1.3.2/data/themes/boards/sandlewood.png000644 000765 000024 00000322411 12042261464 021241 0ustar00nistaff000000 000000 ‰PNG  IHDR @;üw AiCCPICC ProfileH –wTSهϽ7½Ð" %ôz Ò;HQ‰I€P†„&vDF)VdTÀG‡"cE ƒ‚b× òPÆÁQDEåÝŒk ï­5óÞšýÇYßÙç·×Ùgï}׺Pü‚ÂtX€4¡XîëÁ\ËÄ÷XÀáffGøDÔü½=™™¨HƳöî.€d»Û,¿P&sÖÿ‘"7C$ EÕ6<~&å”S³Å2ÿÊô•)2†12¡ ¢¬"ãįlö§æ+»É˜—&ä¡Yμ4žŒ»PÞš%ᣌ¡\˜%àg£|e½TIšå÷(ÓÓøœL0™_Ìç&¡l‰2Eî‰ò”Ä9¼r‹ù9hžx¦g䊉Ib¦טiåèÈfúñ³Sùb1+”ÃMáˆxLÏô´ Ž0€¯o–E%Ym™h‘í­ííYÖæhù¿Ùß~Sý=ÈzûUñ&ìÏžAŒžYßlì¬/½ö$Z›³¾•U´m@åá¬Oï ò´Þœó†l^’Äâ ' ‹ììlsŸk.+è7ûŸ‚oÊ¿†9÷™ËîûV;¦?#I3eE妧¦KDÌÌ —Ïdý÷ÿãÀ9iÍÉÃ,œŸÀñ…èUQè” „‰h»…Ø A1ØvƒjpÔzÐN‚6p\WÀ p €G@ †ÁK0Þi‚ð¢Aª¤™BÖZyCAP8ÅC‰’@ùÐ&¨*ƒª¡CP=ô#tº]ƒú Ð 4ý}„˜Óa ض€Ù°;GÂËàDxœÀÛáJ¸>·Âáð,…_“@ÈÑFXñDBX$!k‘"¤©Eš¤¹H‘q䇡a˜Æã‡YŒábVaÖbJ0Õ˜c˜VLæ6f3ù‚¥bÕ±¦X'¬?v 6›-ÄV``[°—±Øaì;ÇÀâp~¸\2n5®·׌»€ëà á&ñx¼*Þï‚Ásðb|!¾ ߯¿' Zk‚!– $l$Tçý„Â4Q¨Ot"†yÄ\b)±ŽØA¼I&N“I†$R$)™´TIj"]&=&½!“É:dGrY@^O®$Ÿ _%’?P”(&OJEBÙN9J¹@y@yC¥R ¨nÔXª˜ºZO½D}J}/G“3—ó—ãÉ­“«‘k•ë—{%O”×—w—_.Ÿ'_!Jþ¦ü¸QÁ@ÁS£°V¡Fá´Â=…IEš¢•bˆbšb‰bƒâ5ÅQ%¼’’·O©@é°Ò%¥!BÓ¥yÒ¸´M´:ÚeÚ0G7¤ûÓ“éÅôè½ô e%e[å(ååå³ÊRÂ0`ø3R¥Œ“Œ»Œó4æ¹ÏãÏÛ6¯i^ÿ¼)•ù*n*|•"•f••ªLUoÕÕªmªOÔ0j&jajÙjûÕ.«Ï§ÏwžÏ_4ÿäü‡ê°º‰z¸újõÃê=ꓚ¾U—4Æ5šnšÉšåšç4Ç´hZ µZåZçµ^0•™îÌTf%³‹9¡­®í§-Ñ>¤Ý«=­c¨³Xg£N³Î]’.[7A·\·SwBOK/X/_¯Qï¡>QŸ­Ÿ¤¿G¿[ÊÀÐ Ú`‹A›Á¨¡Š¡¿aža£ác#ª‘«Ñ*£Z£;Æ8c¶qŠñ>ã[&°‰I’IÉMSØÔÞT`ºÏ´Ï kæh&4«5»Ç¢°ÜYY¬FÖ 9Ã<È|£y›ù+ =‹X‹Ý_,í,S-ë,Y)YXm´ê°úÃÚÄšk]c}džjãc³Î¦Ýæµ­©-ßv¿í};š]°Ý»N»Ïöö"û&û1=‡x‡½÷Øtv(»„}Õëèá¸ÎñŒã'{'±ÓI§ßYÎ)ΠΣ ðÔ-rÑqá¸r‘.d.Œ_xp¡ÔUÛ•ãZëúÌM×çvÄmÄÝØ=Ùý¸û+K‘G‹Ç”§“çÏ ^ˆ—¯W‘W¯·’÷bïjï§>:>‰>>¾v¾«}/øaýývúÝó×ðçú×ûO8¬ è ¤FV> 2 uÃÁÁ»‚/Ò_$\ÔBüCv…< 5 ]ús.,4¬&ìy¸Ux~xw-bEDCÄ»HÈÒÈG‹KwFÉGÅEÕGME{E—EK—X,Y³äFŒZŒ ¦={$vr©÷ÒÝK‡ãìâ ãî.3\–³ìÚrµå©ËÏ®_ÁYq*ßÿ‰©åL®ô_¹wåד»‡û’çÆ+çñ]øeü‘—„²„ÑD—Ä]‰cI®IIãOAµàu²_òä©””£)3©Ñ©Íi„´ø´ÓB%aа+]3='½/Ã4£0CºÊiÕîU¢@Ñ‘L(sYf»˜ŽþLõHŒ$›%ƒY ³j²ÞgGeŸÊQÌæôäšänËÉóÉû~5f5wug¾vþ†üÁ5îk­…Ö®\Û¹Nw]Áºáõ¾ëm mHÙðËFËeßnŠÞÔQ Q°¾`h³ïæÆB¹BQá½-Î[lÅllíÝf³­jÛ—"^ÑõbËâŠâO%Ü’ëßY}WùÝÌö„í½¥ö¥ûwàvwÜÝéºóX™bY^ÙЮà]­åÌò¢ò·»Wì¾Va[q`id´2¨²½J¯jGÕ§ê¤êšæ½ê{·íÚÇÛ׿ßmÓÅ>¼È÷Pk­AmÅaÜá¬ÃÏë¢êº¿g_DíHñ‘ÏG…G¥ÇÂuÕ;Ô×7¨7”6’ƱãqÇoýàõC{«éP3£¹ø8!9ñâÇøïž <ÙyŠ}ªé'ýŸö¶ÐZŠZ¡ÖÜÖ‰¶¤6i{L{ßé€ÓÎ-?›ÿ|ôŒö™š³ÊgKϑΜ›9Ÿw~òBÆ…ñ‹‰‡:Wt>º´äÒ®°®ÞË—¯^ñ¹r©Û½ûüU—«g®9];}}½í†ýÖ»ž–_ì~iéµïm½ép³ý–ã­Ž¾}çú]û/Þöº}åŽÿ‹úî.¾{ÿ^Ü=é}ÞýÑ©^?Ìz8ýhýcìã¢' O*žª?­ýÕø×f©½ôì ×`ϳˆg†¸C/ÿ•ù¯OÃÏ©Ï+F´FêG­GÏŒùŒÝz±ôÅðËŒ—Óã…¿)þ¶÷•Ñ«Ÿ~wû½gbÉÄðkÑë™?JÞ¨¾9úÖömçdèäÓwi獵ŠÞ«¾?öý¡ûcôÇ‘éìOøO•Ÿ?w| üòx&mfæß÷„óû2:Y~@IDATx\Ý ’#Gš¦i,Af¦ÔýOÐçš#´ŒLW’ wó>ŸÂ™% `fªÿ¾éb†ëãÿù_¯Ç×ãòúøy¹ßÿq¹\ž—ç×—˯?.×gç~¿Üûír¹ÿ¸\¯×.¿.¯¿þ¸<Îý¼Ün¯Ë×ãÏËëu½|Ü~¿\®ÏËåõ+(¯®Ý/—Þ]{uæVßç£þÏð]êßëÇŸ—Ë-°ÿùx^®x½:y¿]n?~\n×{}þº<~ý5ü÷ßÿyyFïåõ¸Ü¿>/Ï¿þ úýrý ÿýò¸}ùu¹?þÿݹáøýrûêøz«ïï}Dçן—Kø¢´s¿Õ5\7¸—çó3z‰žÇ¯>kõñqyÛûÙw°®úþŸ`ÿ5š_ñ›$4ï ×xޝWø]‹™®Çk2Š€ËëÏÏ®ÅK´ëóƒ.þú÷å«ë÷p|=k¾ßÿup§pÃo^>ÁøñË­þ×h½|þy¹=>“{->â›pÃ?œÁ~þú•¾þºüü­>¿ÿWªÑ¦ë÷Zt~ïÏt…î`=øy¹q óŽûor¹„ïõ×/¬ÅÆ[:¾uýAéŠlŸÁü ßç¯ð|]þßÿýË¥÷ þ5#ñŠÔ}Þ"Œdžˆï“þHI©­Žˆ=tÀN¶Ô+ƒ}…õ#´×³ö]Ã|1ægíÞzßn&å\»À¡†3·{í;_3æ|èËJ^Œ*ú®Ÿ_) ?Œ»ëOÆôv€p¢å³‘Ôö"h'ç@/¾Òy=;ýJp:Ýw†ýÂûGìS\¦/׌ÿz焜µÔ/g|Aúp…/®FS`2œÚNØjV´áå†îÎ…5}OîWzÍq~þV|Èùº:9OÞ‡ïD3½èÀ#9ŽC>è@ãÝ.œI Ïonøä‰dÖ Ý“\òÃfQ¢ëÉœåå³ë}dŸx§€óœòßã?â'묅èåˆ>?&Pß{SX^ ¢¯‰mMѵÈÕ‘k‰¤c†•ïPB@ᮉ’¯8CüÌWFs¯ ´ð:åÞ~D0Á ±ïE[Fû•&ù&:1aSWQÄXÿ˜>Rq0^<¯È÷ºçÉ"7AïYä-²î@PÌQâúƒ‰–à=>þy"XÆýÈЯÑýqû5œDò¸–)2„ûoሒèÌtpp£÷ Ë…ç&"RìõO\“Z$L(42ã<ÁaWfà2Ðþõ™±¥_— žAr"Jëõ™ìoÉNE‰èuÏSv‡õ­}Ñò•,îE§¸š~8çŸPçdÑËɈ:˜ÓÁ³ zÁ¼ƒäÁ G{íï²ÖèÑ÷èíJÆã4˜Éôò[¹‚rŸ˜LØO#‡½ÙÜ£ÿîA¾ë0%¥”Ú¢>”s ¡þ‘R“:-ê$œ„+5vµOóï|îûÑngŠð—Àbg8 \†8޹kB}:£_‹ iŠŽù\rL2ÜI¦tCÄü”‹†)¦ø¤£ˆ×vii”Ýþñ¦IŸR~%¾D¦[ýïEü{ÓS¶ âlj%²”{å ^ªGùIMµÀg8©ˆoàèA&ɘӼDˆ…. ¹`y׆‚]ÓÉ•,$™ V•îžúLLú烗œ?ÒÞB^zÍÀn¹Œìö ƒšÞs0áZöðéœI`© rËØcžÁgK5ê_r¨­þï3™:üËvŠÈYò¼(ïÁà.baP3$ŠïÚKjcŒÕ4}îØ×v 夣ü†A¢ …R¨`ƒŸØwþJ™„^‹5Ûõ”@¾«ºø3F¿4¨NÃ}] S—Ï-]óܾ$8©k¢NÑ vßß ˜èZ”ÍB^Á¸$Ч(#Š&¬{I ì¦þŒ‚ü¬Í½²á'‡ýÌ0S6 ZŠ$¯cM¾÷ÎßãCz{Öž‰ÎáfÄiÇÑõ3à ÚõùHæÄú¤ÈtF†œCÀ\ðÉ4g+œ¾£1Š;JÖäÎÀâ[½x×^;þ[2Õ6Y1ôÕ}䨨ÍtXk¯/Î,ò¥«JL—E@)˜#2æ¯äætÏ1®Á]þ]û8ˆ–º\þ½Ó€ }Æ;»8žÕÛ XlÀé­<Ï‚EJ^–9Œqqpö)÷Ï/âD/;d´yè·gQŒöUôÁŒÐÚÌ)QûN c:X ŠBÓ’óN‡Œåq¯'áºf œë8¼ÁáV7q(2̓üÍ“pË@iZñ}ëÿEÍò¼K·ø¬i²Ú@D? ž¥Q…øhÆØ‰Fd‡:o¨n9ìëC¤#GQ±ÏQBÃ5Ų“·íG[°e w¾Hü”Ê£Oz«vNr+‹½âùå³ZÈéú¨ÝB.1(zž´P\Kc þzÔ_ ÒÙ´[“!¿‰<jÀ°‚¢‡ÇiˆÑþÇœÿMxå ¸éF¾ÕZ«£ND ÜI!æ\ǧ—£Âë:%³8‘Ct` l‹0EÙL¨Ö(À_om‚uê¥hÑ_¡Ÿ0ïŸqÃx8YòP¯xÂÅ-º—¢ß I ]‰ÖΟÁBmRÞJ‰°bý6Èìg"ß9hÆ1N ŽœÌü—! êM¢fYºœXÇ3 xâ™A²;õ7ìûÔ1téoäú™ üÀLd”ñÉxöÒuúÉF4 Á¹ÖoAc†^›Œù‹2ôísQ±þ²ëÊB9¿ ðg¥iöÆ”ZŒV†gZã=°@˵h·è•÷l´IápÆXªTóñ„zÖ./PÜÇÍ' BV£0’zÄÁY‡Ö• X† Æ3 ½ŠçŒìNñ"¡ E' ¥’8"8é!6|‘@êòh~‹÷ß‚gN“­›·" W#Ù¯X‚!aØ«h]J³ÒûíG×k;øE ‘î>8Í)R~)6â¢ÍõO´¹â!#ùN]ä±+Ù†*¹'Còh°D9õdŸM›âù™1ö}xcçI7é@¤ahêE~e0WÓÃ_„#Móž£mé˜cÊdœäòñUMpÈY?Ñ©s°û?úW76Âc75J§Ô±Žl´"w†4ÑŠ†èÞgƘ¨0½¦•ê†ünÕ–£­oXYÖß²¦³\¦þñÇÀäÿ ~Ψ>\P£ÈPôZãΟ—¿Ê2ãè¨QmŽÔ²æ°ƒ=Dá lƉOF0Q@6<†¬Ò“»bvðz fgà¢T¯tÁ±3H Hp2&^xkŽ šÖŽÈÞÌ\ qû/Ø¥Â&Sñü²Dزâ"ñ”­ `‰]+°7Mþy7žÞtnú”`>þ}2àc`¯ÎŸëÄ@æ£÷wX½²hsÜXXÿãÈàˆLàì;XúžGuÿš¢•ƒÕÈa2’(n¿D¸ 'Q‡hÇo[ýL.kx –öf|ËT¯yAðDËéO"73Ï0­ ö9g ©HJ.gªŠqÖ¼sV§Æã×ÞÉ.ê?'ˆ—ÎÉb‰@àHKëMA:/ÕѰyE8«Ÿ­ë“°Yô›I\1˜I¢ˆ1O…lB­_×ôÄŠ d£ÈŸ—”yŸ€õíݺ¥Qc ¾H)tŒÖðtÞE¡.<Œè˜AÒØ(’•5%ñúõï7®fï£W ©îH цpª³ð=ÏÜwôú1 «>·hxJ1E¥3ªÆÑg$˜Õ’Ñ·É{õ/>Œ4ƒ«>-ÔÕšêW;í¿ÐÎ’Œ“7ª+žösàþºµ9!ÄZçixQ*A¾ÊÓ µ«ùaLTÊ nõ[T\/^‘7 \ˆm¡9;O² žðEþŽ÷E@F?†QÖÆya~´+'xœElÏæžDÃãÙrÅöÓàÁlx¤g)ð“ Þ®‹¶ˆœÚÖFKññJ5¦RYíÍu¾Ì3š 1zQ¦ßv»t:úŠh£ö™Ñ™ðµ<9t6Ž©7s þpM+cøUü12=9¦¿ƒj^„·ÿ§20ú“e–‘*5V$¢ƒ¨Îkiàa™ÁåLgÊè›?¼[ëdlTOBÆãµ#ôëè³èœ¨`î­%ñ¼ÀlVB›ä‘'ÍÉ®:³¾[?7à¾)#êƒçË_e#i@½ãuR¥/½¶èÐWLS…¬Fýs•ß­8hlbÂŒ€°P*ï¹7ñ’Ÿ‹Á&ºÑNš˜\ë;œA0 ¢K̬FRöžPPk³á&T)*¥šîï,Ô3BÎ2ø´YßãvfX[{Ei8l9ëBG eQ4zE‘Ždㆭ)Z\q°á›Ñ㜥[-+Âë9x”ŸÒ¢,Oi"¹»O½É˜<Έ>8'µÔÌAdç{ýgQSÚ¤ä`S0K è6p$çõìÂÝôN”N®œ»wägÿòsÁN«8—a :œµ=ƒo8‚U“•œT”±ú08ÃÖ°ûª÷–ã‹1s q]m¹ôó*AƒÿS¢•Das:΂ŸMx>»°©R˜(t—’Ö&`ê @@ “N=¢ÞÉ 'ˆ@v}‚ÝTLð(‚*G•cT‡;)IEìØüä ä7WT]´IÓ”É#Ü¢Õ´ òöŽùÚ.J¦Œáã[¥ oÀ6p$ºñ,87O%h¤IK”]Çx˜:z;\æ±T<©Ï×5^ã¾scm±… $‚P£À3ºEMmк¦Wpèrðngµ™ È­s ¶½m«O9gƒ1 »ž.’Óö/ÎÑ ø;X¡]Ÿ~à“zÓïé}ø²”¨´¡råð‡¡°h\üO§èjçT?ÜàA{?.ÿøg›6@8Šà[;ëd‹QË%¼š’­«Úzit™ 'Xq@ôeŠ¡šM¨FˆšqHÈÜþ@Ä!üÝ~ý\À:Ép)œ›s› QõUöÒK4ÔP}p°CÃ!65‘¡«eÑô9£ƒ§-ש¯'¢R\¯ÕYÔ”Üñ„ÈÐÞŽÃ`)ý;2ëäL˜ xŠ!?ý“!›Žñ:dF[åÉRñï çÝ©ÚQ­³Û×d¬)°Æ (T@ÚÁ—êúÎgúŠ—Í&4.ù-o×áImkyuà&„à†4À6 wýY±Ðe00€Lî[žtŽÝËNÀ‚¹‘€‘㨷¥ï[´›,RÜ9,}_ÿ©.iLqßâ0¡m19åL¨«áPŠ€Ìþîoÿᙾ%½ã¤”e’µM8Q– ppR[_ØE á9Ó„‡¡b¼ÞSEME@€b &…ßÎ(6/׿Wƒ’­O&ø Í@$ayÑœ°(·O£ÖI5¡N¹®á±óº-reˆO¥ùH„ø›È£iÖäBçñ¥æâPàïEí¤îúIÝoüõ™<û4ð2:—Þ·ˆO™Ém)ìêÚ QmûÈÍMÊ>¦>ng¢Ñ¹eº—¢òŒÚƒk½YdÛ÷`múªc+4Ë8§·jd„q¾ ÚºúaǸ¿jgSV ¦Ó³³Ü@Ê;ú#N½¹ý€ µ)úÙ(LÆ^Ž—RìœÌúoÀß‚dZG˜Ÿg] 71e% ÊP”ÊSW_CzÆÃÀjÜ›Â|ÊõÁ°ë=n¨mX a}'h×½j¿2't§ús}£tx#k¯-£KpH]dËp è¿í:©-O>½9ðˆÏ00ZoŠÒ¸ÿèýå{×D8Ã’ƒƒ&Â]jÆI·gCÑ"BÛmA#ÇŒiʉƒ„?…€U×§y±S²hkc.ÉLØÊ¤¦±ü6jÏ ßtk·À £‹™º¥³ï.p;îš~"PŠVࣄá]m©Çv87q›q}É÷*’Ýó(Ê`kQ&d?Š4×m(¥‡)¬¦½&Û¾.z“= à™î LΪ‰~¢Ò·‘F@xeõɹcš®/“€É_:(ÀSü“ŒÇúñ¥h;—VO7m|•Ö㇣ÐËC©WÖú0œ?£àÈT30Àçl?BSÒ”-ü*†mZ°X­í&Ÿw5Ó1 ÍÓ¹EÃØH±›q(:m,bDþadŠ×³WŒLPà$ˆE‘ˆO{ ª(—â¶û8ƒc¨Ük©w±!òCÑ›2m<`W ‹ÀwŠV&0Þ^jÖDß9½«gkóe±ÝEÛ{sJ¿Ï ?gÕXÞwTÿû~Š:nn5h¡­†êf*ºÁ%ð͇&‡WndÊ6WðDØgðïŸápõ\¢£Ú,Ìg¥kÓ»ÁmE«Is¨¨g «‡³n´ÙlzF¤˜®þÂeÝÞFm2šmR0²µ5+a/JÍæA'²‡õŽ­e«ÿl@iÊeS3E8nüÕèz¬²ç&¥˜ËáiçÃÊê!ìûUT«Á6Ä„šh“ÔZ˜/åÝxr}¶<„j[»3¸mVìN¶×ŸrJ:©±¾`ñxA<‰JQvž8Àô c™H‘-ê'›@3/³îÔ;›Ü‘—õæD6äÕón¹­?8ÒéœÀ’›ïZ¤iÄÏ“Õ\ ŽA“‚‰ê€ãyC˜ù­H‘¥Æ™Šápš÷šRãÛ(°“Ñ”Q)…Ñ_™äñê.ÂhgcœèÞ\§ÌBööò}$3<Éëî`ô.:ÙJD88‰9PÌÓ ÏùmôŒt\Õmã%ƒŒÀÀ1ô¾.ås°..]–*ýYU"ŽS«á_ôRs;Sõ3”tÁp·Xѱz’Ð×3[‰¶Sžtì\¸Xú~‹×î >å$/@)n/TöžB}õ-&»Yûã/!ç¹ ®ëú0Œ"¡Q£zd`¾ "¶;:â0Ê+…ë'õŒ¾«Åž¨¼9*¸)_›ú1€hÐ\Á]®*bgl ’xtÚ-¼;ÜFËïa½:_ýü‡”>ðRBÙƒOÁ}}J-»ò6 Ïô Ñzåf"J†mëúGQ¦•A™Ö—ãf”hYtf¼d$:3 è]Ô÷¦JðÔ?}·=ª6£³ÿá¯ùÚÛsjÖΑQpÛÕ}×p<íx§Íê½ôfóĶÙMF®E_¬ãÞëà £ƒ´Gåé…øÿîG–pöÙ«QÐþÃ:”½òÆîÆÀ&aKCe“›…È/÷™vb!Ô~ºjŽY7”\œèãnÁ=A>š 5*»Ý«]¸B°Ÿ¦O" H#ö(ó@¿MBO}GËhE8¤P_P?pjGˆý½viðœcŒu‡§ÿÿ~#o æ3Sßq†¼ÈS+Í8Rø7£»RïÓ%0÷××ÿ{çFK×#=ÇW À2¸Í0€wF½Ò\8ÔZ‹V„0ð¾@r”?ù}Ë`2Ñ ?ý>*ÜJŠÝJº2fs¥õ7²n®óä)¢¥»oó ÄIùÉmð9™ì–Q×f¦lÍ `Tê¼e®¬Àïœç6ª"ä:ÓfoßÍM;ö6ƒúG‘¥ ‹ RŽôöì‘[¨®ÓFD‹õ¸Ií}9óO}å5sµ8œ,³ –>-ey‰CkÉÀµí>—EºES8&çë™Â‚N1ó%Š~ÎßGðåi[«^UWD;©t ë¹Ïsñ²DX±vç·ÈeTº[‚A€aï¸8ÓÑý  Vp8x¹þ8uíŸÕ—_à×vd‹N߯EÀ AoÆp2’³2fŠM/eׂ¡¹=´¶^} òêxR"¹ÁßùÜè] Ð/‡ioätMmâ~‚KÌɶòj ¿2ZS(jjÙ(|[e¡'¯Ple‡Lz77½<°ë][Ð8m–jû2º Oí…Mq!ü¬Nšcâ‘Ç*÷xß´ŽÍÿð¸½VD)s±”SÄø¸ÿsýÞ@¦ýz©I¸"Ú §H¶e6^ ‰zÑÞF¬‚imΰÈជ‡¨†`—¶{ ì¯+éEè1FÊy¿ë“Ï”Iðo¢‚˜àrý–. .YPB„DC°tŸ;GNí£¹7cCÛÙ×Ç€)'¢(ŸAU]ìÉ#³Í6DÀ€LHüÔ@5ÒŒ“Y*j,"%\ÁA”ûŠN 6ÈÚ‘Ýd±@1º›ØÅ¯M §&G07‘Jµ,=qªÃ¤Ï^;ö¢^éÆñ¶‰ºBë2þüsÏÑÖµmTe|"1°ñtöüÆ^®Šö¤ˆ¥„ s ¿ÓÏA€ ÏÝ ”!Ô!Ï8¨^9ˆÅžÞI‚õï¾$Ü­Ntž·-Z¯–µ üÚÅßCãÐÅJÅç8:&¨N¼¯WøÍ(íHq‡ÞôRŠ-?+Üe×µ^]ô W»QmHí !gkÛŒyúˆ.iùÞÁYjlûúW+C[®„;h¶Õ› RŠA ƒøù&:lû7rkßœ\óÒ1«¦D˜¢µH³ À‹s• ã·nÁ71®¦,agF„ÐÄ'XÕn¦6oes›M tN‹tÕnKÃ7ÑJ¯ã¸èï0ø[~Ìn?è²³„·ÛYøL58örÞÊ­-¸:¤ÑÊË Jîf’<2ÐT:-ýÆtìeÉPëa\ñºèf:‚]ª1ÓµGóm¯-þO†dd AM#Hxσ(®ïÇ«b®?) é5Ú{)HÄéø&UPjuã¶€a¤ÑUF(Ø›ŒÞEœ@loYa_î˜}r„m|¬ß A´,µN±å‘Ÿ½vf-/zãôzí™)pÀ?!‘MŠxþˆ¢XˆñúÉPDG(×¢Y„œxw þø×Œf³AE ú¥e’~&´âi“•ÉžlLè“›i¨ÝRP’Þè’!pI͇öá=£)óyNÏÕ[ÿhY”JµÙ.u`XŸ&éñ¼ñšˆ¨ÃµM*}X&°)kÚ:ý‚"C GùDDfF¹³Ž5D¨Ž¢Zµ±JOr=EÌê*ët'v 0‘:xÓÒ6ãK(˜6ß½«}c\Œa£`)"¸g4óPáe´;œbІ¿^”À!S›HOðj±Eó˜ß „ãWÏ2HaEÙ•‡6Qmʉ¶ 2J?ŒÙ '‰¦¯ÞFÈ¢óÕq¸+º?ç¢Àz’]÷­ëødõsS¾I©}©Eýj]ÑPäÿhÿ£M½ˆ¡Kk²¨9ïy3M´z«ýú²Ž¹8qÿËVg__² ÅÙvŸ,àí=# öì)àGGút´“¹U<³ÎFò]ϱԶ[»t2í/Äk´²ƒÉ¥o"êÙ ŠÞÞ]3aÖMIðMhö}auÑ*ÙE`wŒÖqYt# ©¬k ]ˆeðν¸a¬õ"á¾%Ëi¾Ì]Á<-m^L4¢œÚÕ”Ô?2j«ŸO0ÁR»dDÃC“2¾g%‚¨}&†ƒ‘æ-§YÎåÏÔD…{J"¬<Í,ê„;å›ìžâ;O€¢æÒ{ǯF…´)ÍQÏظ۠€¡p(ãAuµØ°}r¢1GIÈèžlºúÑ”ÐýÉj<“l•E7Â\}Y»t}mîÔf8·AؤýÉN`¡ý¼9º‘m0¢o[×¶É hY@G?(çEfÎQ\î##¦S;ŽÆ[hÕЋÐ<àvìGÉd²ó¤ìD§ñÔÇ Ò!磲u+@Ècõ—ƽ½9°¤•¨S¢Ñ¿×±6ÃZžáw±–w¬Wí­¯zm´(‹ž)ŒðE°63&âFP×ÕuÍpÁ@û>cd¤uœÑy'ÞúV×Úa±ZÖ- 2¡½¢C˜°íâ6G!ÆKEy)M9²(š!Á>–)'ú6Ac)s;@„ààOqÙãÙ9ž¡†öÖ gƒtí<ÆÐ7_iY³iuûË€u¶åÌ£ë¾z‚—Qð½=›¨NžV„Ôµ$ 'g_d¢èp´p-°ïÍ0-÷y° ?Ü_“l”ë6ë“ Dwò씀By`{ _@&ÏÚ1ÌEï?Í?'7!”ÅÛM¼{y 2B·Ý·#HJ1‡êK¤XT )ŒÚ¥4BâЛдžáv–œb1"S"¸§Ò–ÅÖa ÿ 1ÏHÔÚ,ú?DUÊÆìèÏ_箟Ñ_½"BÐÍÕZ²V‡ ¶›‹¬¦1¸0ª97â‹s‰zÛý`òà ˆ2¦ªXMe6 Â8ÝlX82‚R®úË&]2LÉÕüŸ!VðêŽæs^”z¨Ìèfña‡ŽA >ÝÏ»Uòì½U†9E}’O댃 ªôLö‹žjÏð¹mt£lÆÉˆ£9(Á©mÓmgÀ=]#«.ì»Ñ¿G¯àOƘ±£}‹®¥Ïl€SQ“aëι6˜bpx× õRn¢®>Åàúy×ÞuKF²b:C ¾Üuiç9ã95–IFLžIGÝšZEáÕ¡úÉ;‚°¿H,¥¯ÀNéKq;×wÝ#Â-’ŒéÒ£(йèÀs2lS¢ÑÝȼS¯¢Øj ¥Ù¢Ì¢˜ØÄTLož) Rç„ÂC9VÞ,Š­®¢¼6 XªB÷ÌyŽQžA‘ suÑ\é¼—N6hJQˆæœŠw%%™\º×Yr,9eaM)ųû7­q‘…ÒJìzªUa{ëò9ƒ²À^’™îêeŽqê°M! UÖO!+bJ=_{(S2¥›×«§A”–ÝuÇüLI-e6WH¦æ m`˜È)%9mÐ!šöýùÙŽ9ævôXZ­ÍóùïŒ)|Õö“Qx\iίÇ~Hÿ)¥q|0Rkõzg~ÿ­jú#â@™—Ï*)®Þ@Ç3"³.<-ø¨íZœNÁ”oŠC[ ?Ö™iÆà¤Ú®û{÷ÆŒCMÃã‡Píc\Çz‰Ò¢ˆbÇ0šnÒ´5NBF'C‹éEë„~î¼:G-Æ¡‘Û> mŽV}1²Ñi›kMÍl–p"ø«Ð^D¤ìL#.hÎÿã›SPXÿE? œóeJÙjMü>M“„ÚÊy®ÆæøÒ“T\ñìk匹D/AlE&¸ôa3‡Zn÷Q‡“Qâu—é -õ7› 3^H=cøÚnšÚÕgz¨£è- ò°­Õ‘¶ Ê4ºZ\?Ö/ž”RÒ+b²ä)ò ŠÆ”o7ÉïࢱuÄÐDʼ©5 `ƒ—ž(?fgäÇûëÕ_m$Ûc{˜Ò¼?ð®Å»Ÿ/:žhºŒð›pzGýx v†ºQèxî¤è‰Çd²ÇÀÕgËd#²Ž¢Æ*r'WÑ24ÇØî+^DªmèexŒqí9¤ã#v›” õߌ¥ÔàrR×;f¸s.pC n¶æ ãߨ¿rƵ.0Hñn–zwòè6äãA7ƒÈèä˜Ì€á{}§ÙsÕÑÇ$6%7¹)‡7ñ½s+£|îJ'º4Gvõ@Ÿn—-àv`É£Ôâë´%.Ŭ}`F‹_ú™Q C„Ñõpˆ3²)#VclMBe ‹@¯Š»yHW‹pšŸ‘7uš·Šè yUs:bÌÙÞÃ8çŵÁ·t¿TØ´Â<ß\`û¿2†Ó0ÑævAO|—Iø †ìrp/É ElàQ$;úu¥ÑÒŽjëµ_'‡,\O7úð"ýÆØäù] ø\­ÌYKY¢§Ú)l§ms¾­½+':f°oS=DîW{2Ï“)ú-”ÚPì~O…&Ëèh"×vºÉ'f£2¾¨K:ï“úI¥É<ÞæŒhÌù¯Ðá hŠzªy6hš)ÌS²5+Çd/¬÷𮣠#xè¯ÿ^ÿŸÑjÙŒ@à`Ы ý”›d0zJ„ˆø()ÿè¿Ö…m¥6)wcË›()FÊžÓd,}âMRÃ÷¦æ_»6ˆ ft1ÀnZI( —:‚C²˜Ó¹Šp07LÀÑ…w+ "54*}ýõÿÍ©^EE´Å›}‚ (ÊÅýŒ>~6]Cx"Ì öyNÕ Qß‘ežšT…x&ë¯Ç©ŠšµŸ—Æ@¬„úÍYS#TéhÍ^-QYjt㊲ û·% Gp“|Eƒ—'„:æ °ý½ó­·^›à•lM²ýéútó~¯WûóŒÎ“ɵ©­¥e‹÷i”K1ì9zôz®âÕš›Jª]×k?G9…“`Úð–XÃÝÏKuлþ{ -*2´EÚúÊè` ^2ÿ4 ÉJOêS¶àïgº›(·{Bª«ö„[ŽÂ0“¥q€û„÷Xºœ¨£éÂÊ‹¹K†åVÝÕÞà ¿éš'f‚êJ}Óío LL5õbÜ»¬HªcgÖɨR™‚xRíx ©ß÷Œ [ ˆÝŸýa<0ÈBq)Û˜ƒýÍža¸jR_„IÝ{SÓ Dæ¥`7ºÙòß S‹´6·,nzÅè7ïsƒö¼-0ÛßWDÎ\;Ž"ú¦FÀ[è-]Y« Ò1¸·as€ ²œ/òŠ`~fÀ<¥šV4°Ñô#4Ðò¤ËãOѾé`“cÈ vÆ8ÃÐfpr¥Hoô›‰(ŒÕìºÄånÄï`]Îø¥¿½ƒ½¸<Âî3ÚžÝAæ6CÌH÷„\_ý•J²Û&§EèàŠ aKô_Àh-cº-£ˆ¦Ü!)à²ä5«ñŒÝ¯ÛZÕÞh‘Ž·}+0õxL>Öo›nýÇš™ZÙ}¶l†)ÏwÂN.*%¤…dFÊ#(ž²j­kÏsj뮳úž‡¾•¦=:¿U‡ÙF,Õg±klp¿Üc¤ŽûÏ «UŒMŨ±ÌI̓ùƒpi­} çÜßÌ»kkÍWá"¢„{µ§¶áýV0OU¼¤“]ÚFVôjGÅYŽ ± mé©sJõÓ9W=–·¯&K‰' Ÿ4‡§$cá%üÑÁⵎñ<3Tx6yŸa“Ù3, jö‹.pЬŸ’AÔ¿JßщDöËkÑB¦±Ûµx®ÿy¢AÇÉÏ{ýÞüΓ÷ÙK©¾ œ‘Ì:«%eHFßðiƒ/…¯EB1»@f𒹆GF}}$Ÿ‚[ø¸ηnÉÊ'LuQöšR™ÔG[¯À6ʬ“p¬;szSáÛµZP¤¬ V£¿¾«óÜ”±|„Ö«?ÂÈ+Côãèl4|è®ÿÇl¬ÆW>í0(ß/†ÀAâxák6p®×ÕJAí ³è¨Nãxôó^‰B¹¯FÁœ¼m²5Ú¨tPóˆ¦sÐ`–µ’“ôEÑ#Š¿_S™}çˆ,¯l  ‹±.¤ˆ ŠŒ'd°‘„ýAÙõI>“ã·ëÔt=ZÈÍ™&™4ˆÚñd[þBí–±Öub[£Í¦Ø‘¯kh Ë2¸o]üU¨P’íxÀŠbé—BkŒà "¯F¸…0¥>‘çò¼!$¸®A4 ÁÔ€a¹ÑÅ‹g2®0§Ý¼•Ý87†b ¾çÉx3æ—))ÀðëÔpßFª” l'!·¯VŒ ‘bÆ 7E25Rp}8]¼˜o4¨‘ºÕÅÆ’x™&¨\2µ°{d¥^[¦:mO#¾óéÉe îÉ œ+8V”E‡ÉŽ«è3’kã áC~8”ç`“‡ÕÁ j!!0^ò·ÿ“‚³.™lfÐõL8Ç~à¦i1çÈD:<†Í‘ðskèÉ.Èr„±—œ©>hÇÃtÓÇy…¿Œ/A.š# ÖÈ J_ìÅÜtØF 3 Â®~«Qúẫæ0ŲÛs‡p÷‡$$áù™—Þºÿ÷¶Ÿií–ò”S,ë¤Emºf³c©ë> Ìp#^mSƒMÖ»Ãn‹î pH犕@Äpá¿büû¹(ûµÉÒFÏ 2xÅŽ)—3|©-e<ŠFR£6g͹A‹·nàÃ?ãA9ýãvoT¾_$¢¤YnãgÅy á÷s¨ >>²Í¥ò \Yq²`0Ž™ÝŠú"¬Œ°“ѳWüm…Éd#^7\¹?ÍÓæúÆËŽÉ´è¤ÊoCjFâÜÓ 4Ô>\VˆŠÜ…»ér÷-ïš)µhÞtI¼7Åt6yÐIŧa}ˆOú7m“°ŸìÍyâNpb3k?§çø‘X¿ßë ©AhëÜuP—…§×3Jõ—É×…ß¼N’FøM­-¶NèZ)ЧKŸ`Zc¬vù2ÓL·m{·½½,¾6 Ûˆm2w©?î&ısa‰ò˜KʦŒˆ‰"Gè4ÍŒ´6»ÿ¶Æê)„f4½Nnþ/,F{'Å,Þ}‡=Qö]ôw˜‚¤âà(-d#ævJ¢Î»V}MlÛ=kлM±šqk4Ààl‚ɉÏ=ƹjt’ßw ßãÑ2@ÈwŸLƒQµGØ7Ò]J~í¡OtYr= Ãp<*É)Ü'Õ2 ôw¹è¶Ÿ²@|}6Ù­Ï($8Îf-8ÐëFÒIgs>8<)ÅÃÞ#¬ á=òFÐu“.ή$xØ®ÞÚò‰9)Áµ`é}ob\aÊ!8¯{k2K/R¸„\o“½"ô˽ )ÃkÐ5°)Åä)‡Œ3ÕN:Þ<Cƒú©Hëâ„Çè­l$ °6¢fÜíýƒëà'‹"mâWÒ7÷™"^y¹óÞ3Ò PRX´B¸àà%þŸF’xêÓòe/‚#y4ëžw]…æ ˆƒá+ºÐGÿ›Ï3cvO´ì‘&ùÙViÊ\ÚoGsܵÄyR›ÚUT“R]0W†ì‹TûX›¼Gˆ‰÷ðTÓº‰JV[½ÆÑv tnñ®ShŽ´új¡à@­]‹|èb³’.Ñm·Š>¼Œ–°'XŒG,F-¥í÷9"`·X´Ú]g¢^€-±Ø†.<‹(SžŠê*u‚÷{R†Âv׌јÏpžj,Ši„wR—Ég»uãSfm¿G‰¥øË_]#Õè&€ý¹,»z‰D„Ú}&„Ù&˜7µàÝÂó³2b´E…¢Úz­ù0+d¶ßûˆß»¨•1DØqHÑ–¡•*'gÿ}GxEm™ß&ïãÿDˆR.¥¡ì:ÅpF@æ67Ÿ&ÄôJ§J èâœкô«s´Øilm…‚Ì™ùeE§Í 2¼ô|œ¨ëÉgt}Ó` Öøsc‚tiÜÇñ²U1z!Ÿ² Ú Dã8šºN½€”ÁŒß;h ?áQ\B ±€i)…¢F»®Î:!K£"…i_[@°Áôæw=‚m}Tá+u/ÂÔÀ]c‹b _ý<ˆÑ“A¥'Y7C7¿‹È˜ˆÆh럡ÖÞtÆISª$¦…î¾) ªö¸ý£ió›õ©Ù»eçH1ÀÈ<¢ã#ÉYѸšƒTN¸FQúkƒÙ9GüÇZQQÇC'šŽ2J–£7¨o齚1(âÉ3rzSpô,ì¤D4G‘H~pv$º0Þ›g­½‹§è.†v"i4ÏÀ\ "£&;UWHáè°³ð3Ê­&Ìp vXƒ²Kh»žÑ×îQ Æüt¥š4GVÃ÷V>h@§-s®ày”ó™Ä&?Îòß=%_û€P<&·ÕJ„ Ð,µ†›6¨•‡:º¿àUÈ'h„||§N»†=ó%Ùyr ELŽ­¾q#JV×MƒcüµíS1*]w…Bnë¥<8Â7ð!X¸§™À¢Cíâ‘p¢À³h6ǘ;_cÛÍfLÒ žñ®oD'Àø£Œ"ðÖŽWŽ„¯?7õx)Ðq¢ïxu5aL°Ôv¦*p‘L£‹C Þ»µ†0ç'ýŽá\UÄ<8)gÇwNÒwѯÿ;ÍÐÊÄGTÙ»X;ææ7úìÂu7”çÀŸôZ]+7Ú3ˆµ+Ú.šrú»F“Ìw¶Œ•Õ8}rÞ¬C´ãuüQƒ¿½³Îk–s”ÌÙ¸}›½èCwÕ—(¡gj…ÒC­Dp–•tUO8‚Yï„@q߯yÅÎæ)¤_‘o»cƒSô܃~Rê¦D0šÎ3gúž@—šQ3a›Oò˜Ëj{Åù–ÛfPQ™b c¿åå`÷Æ%:½f€d%¾lTæZx¶Y66;œõpJÏc“Úä™Á¯§r môO ýýG¶éÍiûìx×v–Ùô§¾©NÝ‹RѱG¿qp‘o#tÂN™ ’#ØñFAÉÉŒÂêÇ­`ø°E“AÆDáxpa¦€fK’óàp¨µ¤ü‰ÉŽ”Wên@y2Øœ ô»% :fðÁµyø«Ôuʶhè¿ç £Û}Êælñ!«|Uªµ·£s<ޤò¸/ø½ïøÆ\ u†zÆ´g2UdEhÌëG©#!†B¸GµÆ…uàyt‚AÄ)ZZ¿­8`.0p‘cÐàógZD¡›ÌÁÍ[òÊMlKènšqÚ`äögFŸyg V½D9ÂØd\Ÿ–Í^ŠÞÌÂŒþ‹êû•o¼d /åCtˆ€ ÖÔȶ¢õÝï["|VPÏâ¦DQ£vÉÃ>JAs–î£÷FÜѼI|QlŠà èb2}’U°Îêt8ŸŒö°&tÕw.Èj8gŒ°¨“­Ñ2ÊD #NÁÜ& Žl†¶{”9t<®4èîÀ2V·fþâ%@IDAT`0¸äô3#ô‰]oZiµft/Ì!j“Õ©‘o=?}êL—’Æøh5õóÉÁÜ·5]#¦XÇ&7ÀX$ðâ‰ÚDm¥ æêx3ÄlÝöø4˜“2Ô®g`„» ÌE6»Rnä#Jª@)²íÁF¼˜O‚AÉ3J½æ?LjC;†EKéu?bn”ŽÐ°•#lugp¿âË­¦ƒ½èÓ‹D–°UÞmÌÿUJnðÂV˜u3 ôôΈQB»Òñ2¥iqŠÙl1Ù™ —2‹<·ýnq«3(›êbhõUC%üú%×øI@ùÉgx\ïß™K –Òd»ƒÐv¢k]gÉ«Úxi¬ön2‡ùSK˜™M*«_°ÇYíÈÃün{gdx`œ ¶Œ¶QA®vNþ[¯mamã‡IgÈq,ÿ£­ëáüÕŽÀµÒ Ïš@2>›"Ù6&;!=>B`˜àx…èҌǢ!1‚´³¡%òô€Ö7Cë1ýúùÍ8BŸivLéK9p×>yÔ¦ûjáZ"¦1UÙ޼Ή¢‘sK¡›â6¢{ûð0A_S¦;ì»2Cœe4þm©v:Ã3Ýx€ïà…s7a‹‚ÓZ}ªÁMYšlE&3¹ð²§kAgüÅ98¾ âè9Ïp“jìˆ2A¡¥úª¹‰ó“µÁ/òzòÿ÷òØ'#è÷Œ¨W'·{ÝÙ๕šÝÐ2]¤—M¾“¥”,´Ë$ú—£úÍà­M+AùfäÁƒ¹Ç yÑ VãÇË4‘L· °ãýØÁÙœ«E¶‘<«,{ªXÛ°Ž— ê]ˆƒ­B¬øÁ‡œR]Bz­-¥ðæ#VÚµ³dix£¹Ú5ƒŽ)ÞäßÑDÄ JŸÞÇ:‘Rϯz' š0nE»[ÿRu$t¾Ûýls²+WJ˜B‹^®i“è”g<ß ‡Œà½¨(:¢¡vÉ_j2?úœò­ú˜gëIZšð#Ì›ÕSQÍ™˜›~fˆ$—0Æk^h£ÀN†i%Cˆ—ègò^‰3Ü®OçìäãñZKÈ2Âx.œj¼ýœÅŒN­ÀÅ»$Éa:d­µé²C‚=…r)º¼‹xÚàçØh†Ž.ÑÃoÁDã@ÎyÖaÓNÉq´&Ÿô î»OñV¿!‚TƇØëÝTïù*Ö~W0F OL¤Ò1‰ö1Ô)¼u<$hîÀÕLЫé2†ÚèÕ|ضž×Á&´3ßVw̪S1‡¨¥éÃc~1oÐ`º28¦<¸}ôŸÐw Ÿ„{¥ƒOÚ–x%…ì6Ǹö‡õàž~ôI ê$JÝ­ ã!)µänʪÑ+á÷ßä@UéIDöR.e„bØ–òÖŽ“³/ üm¿ïXÖØH–â'¯œJ³þ~©©’ϞϿ+ð3™ œ3Ÿ××hß !c³í< 늂#›. rTHfZaså[ ~д鞮×(ùÔhâð™»…o?R¤ëûÅ.ˆpvÔ÷ý …t¼ÿ³‹ ™÷« óá‡é,ö/Æ6˜“j\AA¾ž#|EgÂæµ?ãóým|”§Ø?䧆Êú»N‘(LÀ܈ aŠ;FÒÿÝ_²JéNêðV3ˆÌ˜Ø º¼Œ¶_Ms"*eŠÜ¡FþICŽŒT3 BД±07Ÿò‚#ªã**À;2^Ræ¬i¬OÆ­¢0@](«N0!ø ^¢« £×‚ûÄ2<¾d|»5`ŽÙµ`þ™ºÌ*¤ì)ÜNGƒ›¶~ˆ@¤—ñ.ûÅ¥ÚÅáú.¤G‘´»Yƒ®ô¥wòÀ_Éž“mÝõ¢PJG1’gœkHáÃ}e¿Á¬¾¶"#8(Ÿ–Šx««Ñ4y+éo¯ÆqÛO7Æò¸mn,šxBª'Â=1 '¢Õ'Ò™y±ÞmE¢à ¦E·_ÙÜ’fÞÊ¢–E›Žgè¼)JØV—"7é6Ã;»Ãª‘U¦›QøY0õ^©¥¹¦ÑíØF´‹$Ád *ÚEÿmCAibÓГÐý?"ÂŽ¾“¶RåeŸé žÜ5V6ÃŽÇ¢SD%PQmßB†ÿï þd6þ œWtbÑ@Ïä´Îà’’ü¾ˆ_S Œ=Î׫9¨ÒáÜÌXtˆ°G AÅ!œý߿ݱ§½´Ù,ñíÂþʆ"&œœHÇ^›M`‰A%R6¤„™+3Æ|iL–ŽyC˜Å'¸œÿêþÁo$œgu6õ ¿m±¨Õ„.oHÑC†ˆ˜ØMã¤Ê “'3¬”àN¯uÞž’‡?óð~°q~¸£2¡Ï&Û‡%±Rxð˜¥ÓàžBû ŹYWv òô=z÷kŽÑ2ÏM*" [‘ ÚëM@û¯‘¨ßÃGBÍ©VÅáR‹¢û,IŠlEæp¡c¼û>#O¸œxÊcÐýËšõ_"TÛ¼îÖr£D)¡&»ÞzPçÕ7£Ež-a¨!áU„š=Ä__6ÂÇ;'ì1œŒíìœ ²jI}Ÿ„—cLÙ„°Õ§n3xF‡jo;Úq #ÛÃÇî÷¨dñ3bhC—²c¿)ÇN> ”L¯Qͳƒ-¥+yéyìèXZ%FÈ6¿–`{BÕ©1¿û1šÝ“Rf Ò”õ /%yþb€ßò˜µT’–ÎN_oS¬Ô¾ ‹§ònòw&¬( ¿?ÑEy`6ƒV—œÁ÷gægÄë‹Ì2󯵩ä”L“Ïžb:sJ ­I4Ýz:„àÏäšíÚ™nî“SŽÁ¼këÉ’1ðmuI GŒJðž-8‘-Šœ\{œ;Å€®e@)—[íÁHZ“QWÁ›Ñ(éߣî8~„Ä×üáè"€Èá„›Ì &}ŸAgTsv–Ù’±gæX½r·©¡ÒEÔ(0Å9¡UÓb'•'¹¬jWD%Û=¼>n{\´ŽpA὿Æø Òï¹=†ÑÔªípÁc¤‰¡Î8#hÌKÓ¬þðFx±hZ†áü 9ò¼#µ-ïP‘Õ£ÁÃs—F¥ø”örû¥ï©Õ$ên²f"h$¼úÛ%#Z™,žðc”£,ÚÑNtÏðîp8ÑÚQIJ[+ÑöƒñvÞ|޸ΩœÃX6PlEdílBõCÞï§ZdÍéÎòˆè:쌜teÍY…3ÓN-‚³:ŠòãOªÚèhΉ ÔÏÖøŒ>ù›„×Å b|öŸãê‹þ§þNܵY­et²à1|ƒ3µ¹ï»A 0i:r¬”N @ }øðN‡Î“Mž‰¥–_ søk½•®m˜Ì ͲЀqçBÍ~}‡F[SÝNe®>áä=´V8ep£§…x…c!¸Ú}&, ÐurÖ(øÇk ™ñär+f„[Ï ¿) Ïn(‘À0æú4"ã›0Ž‚PšUši»04óÛWØ Å DdtÍ{­ÿ<:q€pœ'ƒj§3J£Ñ›ÃQ–È`@´t×åÍ[ŽÜ0Zé5£ mŒCÙ×°‡'XK›è«íÝ稃/Ѳ:=9o:ìû˜[­‚³a!øh"¿Á9ŸI±L„?Ê[8ŽÚq÷Ôà%ÁŸ¨>õßJy…mΡ[¼÷0õ­6…w[ùƒóµŒ#“#ª²ti¾kž²àÌŸyTJ4nA‡ôï]-4¿7£².›ÐîX0äÞ^› è“Á˜zØ(—0wî´#àSWZ l(xnL%àÓž±Ø1RZj·ÁOxB¼ ‘lÔY¾HÔ‘D¶Gˆ2)x£ËzÿßÖD8c6ø ö7`N¹ðÃÅGË[!Ú… ätRtp”è —Ý!í³n˜©ïŒú=PÓŸ(AûíxXûɸ>)ÒÈð\Óf÷Ç,;kCTJ)sf#ÚóSØÁò½0ІÞÀŽž«]çë¿ Ž|øýl9×ué¶vΟF}€™4gOK»Á^vÕÞäi¾XÔç|ÿU .­×!8SXª~«Ã÷+*))™L* ô€ ¶«#•.zFÛÆtK“b1˜ Þ–ŠR.ñª›ŒÌj1"Ž‚ªE‚½HǸ!ü&˧„úÎ ;O a¡Z2ÜF´Ž)ôæ0½}nJ¥>^sh ‘JãÑ1FkÃLLï驵%°#ŸC$aMdŒ*\Ræ~t|ÑŒr‹Hè!ÉÕsáÝÎk´¢³K!ŸòÜ×—á:°E;p)l8j;#¬¿û—ôúÖ±èòNxR¬¡Ý⵬xDq>¥GO'*kΦä¸6ãÐ'˜ ŸœÎ Í áõšS0¾x9Ó1Ášì±“Í›xðŒ_mºŒÏýö‰ðŒLúíúôD±e"²˜²kOžëŸZ;}’©hlr)ºâ7eÀ¿¤»1Ý”‚¥Är¨O‡£÷œ>÷ÖéQbYËÚ÷øê+| ÕÔJ¢L>"uçzÍ8ê„ °ý¯fÛ*Þ\‹¯^kOþyçjñ‚ÎFNu28ßPÑÊ™àMÖ}¦‚­žX´€ýÑlz¿ljZ¤F!½X¼9>“Îâ»D‰ð Šð„÷ m¦Ó¥%÷ù>š45Åâ õK 5âÑ„ªç9/ªRœ·éú©Ýlõ’NìR¾&üŽÔ†úG‹Ÿd0}ð#ãýrZpLÍ<~þ3Eµ-ËãEÚ.æy{¼Ø|d>7ýòã=9{Ï_ ®1#Øä«ç#fû5$¸ƒë†Ûí—Z£Iðc†®Yi¸} Ÿˆ¸1¼}}á4÷å ‹ ÷YĦÄm)Ãkôo:#§|<<ó¦PÌ5‹¬îz)H^m· ,+gK– ñ…ïDàŽ‹(ö`ÚmNß›cÍ÷ä[²ë^ŒÞƒÿ|´¯'‰wüðlç 6Ò¢¯­mS^ø•æË‚dŦ¿*Ó1ïèO%:Å ²cÓEéÄ`ĺð‡EŠl¡Ñ¯9ºp’D@øºðܽ&.zëâµãóµïGð¬d)”pxÏ® ñ.eEˆ Dˆ°³Ì¨µ;b2é”é Ûò7Êj´´%¬%5(øó|Þ( ˜„?sˆc(”Œè@ ê9PÐ÷†ß. “|Š&"´Hµµãà-‚¯ß?…#~Ÿ}0¶ ‹u>#$²Â¥Nz¿¥"Ádº‰q¢ßEôœùÕÕkõƒcE™Á•£KÍf*H}H乚,# èbÓYµµëGú}¹¥!§«GPYÔ\y,â¯Kø“ë[5"ûíº,8Qw]”•þí ¼ÿó÷ÁZ ¯Ô?eÃnX¢«Î¯&ÏpóØÃFðQêßl)Ãt°ù(f¢söšA*Bö’ÿt$› 7#zº¯C¨SÀ¥ò³çGŒ[[ƆÈS71<¢µØ:Òíæà8„U˜ÎÚDº'/¼Ó¢=hhEç,Ñ:CgL\­ðŒS­¢Œ×Áèà0 Ÿ”ñ÷ íõÙ pܵÝ[‚ºµ'a9Ú:Ù?‘j·ÌàEFÈ©!#èoF¾Zûo}WkvmËce‘ÿZýíyÖd+~<£‰_õn\sni½zj›o“Çj*2ìí—àßqDr…–ãxÑxÏp³¦éãïtñr<·B yQ7ƒÒ[ð¾ö€Jœ¡@ ãqò­Ï÷1Õx9jÎgÞðøÈá ~tOîVX8*¾‹’2MøùÒÌ †ä½êÌ[Ÿ †ÚK½³Ú&AL•¥§úñ2mü‡Ð€ð`€ã¼hc l†^ïH’g<í€éJïpIO PΓNýêø 4i1ØsˆŽÁ F>}úÆ€2‘ŽÇ®Ïøa,‡GÊ3/FO !H ÌÙ£ö¨}„íCß™€»~p%‡ëÍ7p - ŽD*†NŽoY~ãXš1RÕ‰ <×'•þPó Lq/JššÁ‡Áˆk_t•ÜÎq¸ê/§’Õ0r+ºK"¼+{ÆÂE¤ôíG²ŒÈ¼k"±›Ò=¯Çw$ìFªQ¼ê[?C: q°ÏµnJŠ(!Þ)i%Bxç ‹rüÍ28çGxÄÇ”i ¾:OwãõY]% 0¢wŸ­­2ú4™³;¢C€¤~ûá;QcK7"N0öpÊ¢ë™ÏøÑüpŒ˜<©·C0ý÷þ áu z¿çˆ°ô9Ý¢ÿÐÇØñ~¢Â›ÖÕ¼HÀîRGgP!úP"Áyr&Æö½©Mðå¡l¥ Ågx³X†‚Î>É_ !¥hW  [jËçÜÁQéÚM‡µ97žsÐð¤ß¥×Z¨»Ï2(ª£†¿ÅÙW:\v›LÞ;}FºŽ{õA-'X„?úÕÚžüºIymRMpj1 ‘Ò1øsþÒïP﮸hŠH‚9¨H€7aª;Giô%”“–@Ü«újkõ×jj”`o$2ÂØðžð–Fƒš°ÈÙpœi²(\»8›“Ô†ˆ(¢ÿjÛ;f Šu§G/¯•¶E®„WÃ^µÕNÁ1Wuި߽Ívfo‡.¯äõ½7å ãs­z9\Ü_÷É8š ØlÆ£v*9u®vž‹¨‡[ô‰€¥öøÐÁ €\ÀÒ_  £• p9$çÑ EÚ=ð˜¬÷,Áá>[Æ’}G[Æ ‡°0¯SÝ¿y@!¼5Ü”ÜÎŽ"d*8ÏD)õ1H¤ù—ä°o )c'¨àm^ni\z‰ÈæºU¶yíÆø)•0Éi’m nƒŒ sõ‘´fÿÕQ£^"VÀ­]#ÃáBQ…z×÷ðïnÚ¥PºmN}‹­hBgÑ%¢•ûÒ'‹àœÉ±6tÛEû mÆ0Íq&Õ»°Í£1ߨ”c%´ú’'žÈv®æCÏVz8©h™!йù…–£M$œy:»¦Ô˜Šç±Ñ~4YÛî§œûûço_‘ÌŒ¦¯œÆ3d¢´û¼/íýpãXíšÀ((§áÂ/:ÖLê`!ƒû%œSÞäuÎ`!XnJ3&„«¶\4S›õÄV3Ff’Vÿ¶)€Pµ© JwÃÒõGÓ"_ÿ]?©ÄãËŒÔ:‹LxiÉž¾Õ¼­ÛLÓuo¥é<»6{àuF½«µ*ÀÕ¬[º“ÊãÜQ¿¥´OJ4³ŒÇn9Èrvcõ÷@ëö¯p•8{Ò î$£A´†q£Zt¢(,Ò›b:šRFóú0Œ6÷i©=Óyí£¼cSˆ ØþY?¥Ï–^ké»6fÈ=YÌ:ÉxÖ—uìžëŒÃÔŽ›…¤èi}¥Ë­¤ÔÅ P&Ú÷‹äAUìŽøéÖ¡“Ítèl¿'zwa2<álp¸tžLšòûÙ´×~È¢„ ›RÓ•=wNÆìK_¯«QÕDeSæ¥(FûhG¿GìÙ7šq¶p¯c3`+oº„cŒœ§þÿó…v1î¤ß·¼ë3­j±ˆŽ.°È3PàuŽ ÉUºl¹Î¯¬/ÒwUªþ*åšÞ™Ô8¾œº;cvÃ@Âs3‘Àßq”¾´ ýÓ[õ9ßòŠÒ zøóŽ“¹[”*ìfPþÕí mF@ÃìMôC-˜¸5­âÎ ÄÚ³F© õAZKÏöâ}LmÅc©”ƒ y˜Ï#%m‹ÏnªAý×…)¢ *ÈyALo™ µõ'J£U¿²É¨7xØ%FwM­Ôú¸w0x°~RMœ áãgõíê0‘#!e˜J~¤EÜóûm϶o‰Ì¢T"²6·êDÑ‹ð-ý‰"„[¼V Q˜ÚTЇi˜…ä×;(»fCÅž,ºÎ˜újLR×ä”çò’»€Ä˜AU=»†¾#±C ~õ 8×áN(Š.°äD‹à!<÷Ú¤@4.ªƒwô@´“TŽ·MµËhñß›Q†+t¨¥¹ê“ñŸ_°rw#zQ²)j ÌX6Á ÌVñÎ}X'&ÌÓ#žÃÌ©*º³¶»ÝyîÃÔF Îh7ðŒMÊL{â5G³pOĘ):)TA‘L»55Ø ü§{^5ãê{¾Æë°fB× ½ Z£wËl lsn¢a¼Á°´ZûÍŠÛ½;yÄ[Nü¦¥Zr›2R2JŒøýé©éè8Zcl+d1 S*Ò}Ô—,Ñ­6›ÓqöMàâkþ–9”!õí3>¼E‘õï>¯Ô9BøÉИ1¯oý¤É3·=f¸¸UðÔô›…c‡wv…†=:£qó§‚Mkרqæ|êŒJŒGåa-^žç!é¹3Æ™±_™?õGce?VØc5–ZRÓ4è¢FtŒÃá—ÔGd?Ï•I¹äS#‘ß/Cy¨:ÝÍeÉ”Ï0ã%sNçûÌÆ`”M–¢(#ñW£É!E©ƒ;‰Ëy#¾aéôH–ß§þtcÂ~;–Ú}D·²¡šx#ˆÈ´Kð&ž·«Æ¬Cµ·Â<Ô¢I©7øÇ—J¥…°=|hB+íºRѺTÖ÷¯=A‰°büñŒB.ÃmH­—j6§t+Úlë{Óê¡0…+‘"˜rê7I,´å£%KúGp'ÏŽ”Ó–'âÁÚ’Pwl^)mltM+" j’ùBˆûÚÉ>ŒÙìÀ}ÓD²”êáèLæ£( \ %È{[¸(GVAwd4Á`ô[£îLt;†w‘ïwÓR¸ ‹$ŽÑM'X[Š"Ç}v¼_ø+YŒ?Ò7‰ÿ^íD¡þç ™R¸£ihL/3Ô¿[,ëóòó³d}ñ¤‰®o…«Õª¦³ü8ùÝÅ÷TsCéb`UÊð©­M_+D[͈ýÚãë¿PÒù¨ z†?|œikýY2G”Uº¨«¼Ñ!<))ÃÝv3Û!‡hßL5$ˆ>"‚ÞÄ…ÈÈ L3‹ˆE0{È‚NÈ1Í»­Fì±å¢jº. NÂZô ?{qñ{‹€ŠÁ}Fn(Ã#ÓvO¬ˆŒÕPÁÜÔà§úŠñƒ¿"©h'mø¥£qÐÀâÙWö0Aœð7½ÐM½ž¤EFâÉ÷MZàGÂÚ—e¼\öÆþQþê_òH†2ŠrOhÁ•¹Ÿ %‘î¤Püß~N­Œ7S@Œ¬Y‹Á‰'½—Žy²ï}nG üF¾œ ¿ôFó“ nÉ{Zªc‰h3œ‚ü8b[¯Õ0ç8£!O²™1Kå‚JצM¥5¹¼ &•*nŒÒ¶‹½Õ¡ˆ$ ]Ndè’¨5a$¬ì:åM}“ÿ Ë ?2À@'­ Iˆ3>ÊÙêŠ[h‰å,ô-b¼ëÇ;Oˆg,ÒjÌ åg+8fÁ×kŒ1"¯º ãÜžišà $Êß+/5èÙƒ'3)zrÈÀ>¾ã„]òIq&•O1ß'Z]È7¥ÑqÄõÆhmëo Ê2¤‚v« ÖS‹‘Ô;‚,©å›+>1’øÝ,â­Jb}óÔ¹ Aº«à.}—3ÁF/ºÐ‹žúrêèÚ\C Íví$Œo~ð»&á0¦ÑOÆœ+ù•–Õë"1¹Ou}üHnûP<—)8´0œcƒLÄó ÐlÇÓÒæÌd­Ówý»^ƒ9¤L†÷Zgs‹9 ë‚ÍÐJ¡¼íl&À'DH aÂî`ÑsÂgéäÜ;BŽ ¦K<ŒA _ð‚´õKU …„ïõÝ÷°xK¡Ñ€å¥GN"Ѭ¢Et­KÅøNœ Ô¥‡dCP)ÿŒñª¬Xï˜r;TRˆ rsŠÉE,Cû“6É"nQ|Ðï8Y£+Y€çAsõ>ÖŸn·)´ž›! Ð ¡Øk?·Z¤ääÃØ#å·)*DÆ'™$°É¤ƒÉÞ¿õ&}ø[¤ÛšmF!;ÜoÓn0EÈsöÚ2&FúÜü4EÇÙˆÁãíË­g`ä¶LÅ7t¹ªÊ†§6 Öç?êß6w‘!E™3:ÒysVÏàΪ Ÿ¯'aOô8ò»ŽAµ"°Ì( Kýâ-‚Qh‚[/òxÿÕ²soÃb¼yªÕŒGO/˜ £éÀ#„¬·×FÆ¢\¸O*îûê(ô&@rî¿]Cÿj;)2˜Ñª~så(©U”6ÂÄ«h´§·FÓyˆ{H¾ùŠO•³ŽÇÊì \M-ºÃFÙŸ±ÀjøÎ€¿‡gIÀ›CöíE”pwŒÞ¤?¥øFöêy—ÏȺs`,„ëûVM L˜ÕgKÝ rÁB_דQ÷—Ì9ÝûµZ=¡ªûC’¬”á}j™ï ¹ÑGncx¡æã÷ ö`ðbÌRC8†—ÆB»<@ß)w^”`0¤PFž‰ØàÕ\–·hCí)×ð[À Ì "ŒìVôB>K‚›XSðÑ¿OÌ ä(ÌœÔ|Â?Båð—Ç[LáNšŒaÑäëmõ­÷&€kÞÔ΢˜G”ìw,:n³TOÓ w^¾MEq÷€Øm³gb¨t(9zūӢ†¨hÀµH#•åØV¼De2±ÑWä%sq9'†@2Œ$¤]§3×'èÍÚjÛ®S:±FøJŸdC 'qò'—è–ºÉ/®¶3U5™GÅÓ’éyK¬ä§qŠK´)±úÞÒìžÖ`cÆÛ_?ÚðQ«9wøÿø³²O‡DÈÉyw¢YV’JZ6{´~G×QÇ£,³L©Äkþ –{D/á0š™H½BHð‹v˜ìO;ûöÉi7Á|½)×!¨¾dïÄè·w¦4O’¢ ýÞˆ-Z6jNùRðµQŽÎ¾)–¦ëÖ¶í§¹ÖŠ÷”‹Æ¥Ðh ³ùg„˜±ôÚ¶)Ó;Kѵá%Q±y²É$ƒ-®M E,Mr€ñüž]|ÆW”Ž~NÆØ¶-¬ìÄÑ(tS(Œ¯cÛåÌúôåò›z«óv loeúYDCó»ï)"^‹~dGfd‹Æ¾›0ÆÊ=”à…P÷[·¤˜Á¤É;‡ŒF¥– ¥hîlp듌_Ò2z9—ÏËûÌÐÒy‚Àép¼¤¼²tÑߨHñ+A·&œ‡4CµöÊ(ýì,ÙRÇ1rç±Á‹`ôŸb¼ï)šéPÊꈈ_ýR(Ï4ê«·IÏèôнþk¦¸›©˜^ÏÒüj=sWÎYõà9L$ÇDýMfo-UK¨ A Ä“Ÿ–RñØÓÆ N:¯ó ×^„÷Ü¿ìñ¾J”EœxÂjcð9ÚÓ½n´*:Ò¹úWªßÃûÜ”U£Hαß]f`Ñ"ÒÒ-¼Û@Ü1IÛÅäÙÑŸÐçtÑò²¢UŠóh°Î!ú3_ÚÒ³Uœ³ù¸¦bfDèNPÆöÑusŸ›_%¯¹„ÁKP´ëSöÛÌ@:4w¨w‡Óàáõ”<ä àl/«±6`Eô¤Kî¯Ó‰ûÛ‹'ú€žsKÜ&+OÞ"’FÏ„¼ÝƸßlCË“ÖÁNÉ'epÌΰR\B]zI™ÜÔÇ lxÚæW)‘P»æ¹…G< z•Ô¤®xøždu~+W¢Üä&÷¯>Iúr.ƒФJGÂŽcP^–¼~ZmZû ·;$š;»¨¾ôæ»AŸê9 Ô½V@ísäà¯æ“múnÓ§ñÜúŽØ „›ƒ1ì àÒ—ÔÉè—Ò3 ôlþÁg°Áϼ;wp'I”ì} ™€›Ì˜é@H˜£ÇsrJ6 ¼NEJWŽAÍXÒ“7¹ R¢­À–>áߺz¼»@Kœí³ë_¤î;‘°‰GéAÇ ïRC ã³Ü:òà`Ôž1aÒäõòKÇk{ê‡cX‘P­så3Š˜ãùî?F(ÃéÔ´·Ÿ• îêÑ‹pìpXѬ-b›‡÷›'ZþªþdG’,[÷üÌÝzó&<"òä9¼¶U ¨‰8(Ô€#Nø |øù œ…Ë{OfFdxk›;ÿOÌó’j¦ª¢"»YýZ{í-[ôQºÒY×6ABµ£¬âÕPêÀE7骷déAZŸ•Q*·£ƒ0IQ.ÍWË1bÓv'œö»•ÍÁäo.ÇqtmåGˆíιg¸*¢²¾j/q\¹µãR—‹ñ Ê`©ÿà­ÿñ† £éw+qò&-òìnĤ´Ìå:FÁå¶:mäír+‡JK„ó3EáTÝ}¬…Y}‹%“¸}¢Ù³7ˆÉ‡ ¨‰žÑ¬‡`šÐëcçÁ–°§‹K‡8œº›ŠÓâ¥ÏÐêÅ£v‚ Ñzòüè”Q1¸+«00ÞT÷à EÇYƒ=µÉq4+¾oÅPê­Ã9J%•H’zßÇ‘©,KºCÎ4d31 ·œJ 5r¤f˜ìAheÉÔNÓiDÓwÚªþˆ‡‰u·i8Dx"¤H¢ÙÆ@¹\H„Ÿ•QaƒÀ#¶k¹×ofd¦3™ÿÊ'“Ú:Ô¥òö9Ž‚¥³ÁºX>Ýñ×¾Ìg&ø±ëby0Rƒ4³‰ü~7¸8b"¿ƒ×hxL#¨‡³~ú\ßg«o¢Ou,jø^ú ¬‘2Ú=,Y:†ÇñkÇÕO¸Ÿó†c”ò ôÚ×ÀÒ3¾7…X}î9|®“2ðfDx 5²p÷¬å£ÿ¥r¸ä4øSB>Dê<9R)-D!ª]s¥Ï¦Õxà;\Ç¿Ši } bJé$¤M‘ÖþÓ¦<ñ?!2h/e=ñä0ŒB„ @òå|TÖ`K”…VÜj @X"?—Áo±§Ñßî3ýn·%¯MÒ+C x/é¯Rm-…Ò@¤8 ƒ!ôCó7­”uÙªåCã?o7GøíÓȯV3Ÿ50eàáqžÉÂ{ƒ.á:Üfê„éä<†)—….4:ÌêwLV ÝœNÛ*Á ^mË´`£~ëí«†YJ„9öpœñv>£eŒÞFÕµcSšò’Á€¶» 1+–¥.Šý4Zê¥c]'ÅtíXû»›qaKaOlÒúžÑ˜^S䬃@ E‚ÁCV0¼¦¸„býSVp¡¨v¨¹wެdáÀðor°D|ªðqƒ‘s‡r¥¨½¦¸ÊdH+ù&Û¾/ÝÕ`g]<ß^|wJSŠa|¨‡#ˆ>¿E”$Rg‡¥Ñè,]îN"3aư¹ÉbK½s…*Ÿ#Ô(yh$Öÿ$XÌàF[âSÛË÷ Þ‘‚“]Kæ²N¢óí:VÂQÇ0Ì Yµþ ÿ\z ˜é ‘ÚEØáç¸ß¬î+|£UpiZ{UuyËÇÝvX…—’ã#ö„Oyˆâ* ŒŽÚ9š«rጾœÈ œ…kpFSÚbˆàÒFaKŸ#yç•>^‡ líb± ,ŒY­‚˜Ætåuãw0œw¬‘Y®¥TµÕîYÑ« R›}É«È ßl0Õ]ŸU†BaÄ„¼ÞÁ>¾kNÆáˆ[Ë¡FÛú88ž|m–<:ëqÁhi..(ŽÒtÏèM…Õ©Œ·Ï‰l„B˜t0‹"λˆøÀuÔqõµ£¹Áú¨¶Ók;kæj&9ü·.­¶ù²Kf:¿üð,Ï„0¥1Ú¸ßYØ–…µð€±³n˜ÝÍß ¢È"HlÀáû(ÀSBãÝ­Å—µ Õ§f*Ú(iøGx‚X[áúm+ºs?•9@NÈS–Ñ%¼#Tûêµd}#lÞ¤©³–j5Òlàb}4I§¡Úk´° e{Q Mž±ÈÕÛÍé¹b¿í²¾ÂÇ_´ÝH·¶S4C õ´±ÐAß<Ý`ÒO\Ú@c D ¾ãÖ]>…!@<ÔoÊÔ6.Ç+šGc½Fôÿj¾{=[ÏÊ-´ÙA‘-3œ–檵¡Ý«H®¶Â³Æ÷xñ$w­˜o±Ï´ 3aUë=‰»‡ítŸFBT®,Íoxà§GÏna”ÐïFlˆ´°Âï£]¢rùsHP&®<'t‡â¼´p5Æå–ÎP²Ñ&þ0 v³Rp¤êw£i¼vý 8OèGÓhÃM& ³jëþ€cŠG kkÞ(á ¬ƲBk4ºD£è¹Ò}–{½UsæàŒŸ­Uø…?P];p%9›"Æ g7rÔ Ô`«ýø¿ÐnRÆÂ;^™ ûAÎä»WàxqÁzÚI #Ú¸º)û½ØÈw9ú­ñ˜œ ”C;R!:­LåÓŒb‘å*ˆ2Aˆè­á«^åf¶1͵幂þb.x|Ž`‹=«›Ê$ˆ\móɧ¬PmŒÄd;ai… IB¡ìÀ¹…¥´¯Î§…`˜å[›Úñ×k ŽþÊÍÇH'8‡À#lðÁ»}RÊ>µ#CÌqT£àÓJoÉV´$ü“aô¨§}¡Dðeœ¯õ"ÜMƒº¸½xk²4ÁþÖsÚ,Éš©i©ÒbÒ˜¥Z²?Ëçwžà÷ê#“³J ±uÎOçÂÕK '³W¦Ž"X‹sVX½ XǰDôs¢Ç¬7øjÁÏÊgb€4GaOçcr_‹ÇÑ¡Ø;Ž6Ruzø/%Uýâ ¸/¶«1}.Ê寫ÚW¤Žl黇Ðf˧Ôáß¡ÂK:ãkSo[#©ï\ø(Ñ/7—[ßfïfJ–Ë ÇèWwW^ŸÑþX°rô1’e‘ãqt[ 6áûÉ,!<„#õÁ”¹Óì»Î+½xƒ6$í¦´Ÿjµ–¼>>ŠÓÒf›Ôd™¦õ ”fâBÖsiu—ô WdZm¬å_cx±~s¹X9AÔoDOÓÁ#;]*¡Ýà#~Áu (kÔ³6 IÅ]Å⪂G[Ïxmó |&Åúê8àú[»¡¬­µŸÚ¥Ï¾+?4ˆ9T^ïh¸+15DÑÓG93…(se;v)Âr÷˜„Úî•ò¨è"œ)V¸2ÌÍ*yðpmÄî.d<šç_}7ï¾µ†•§D!Ó¨9pTÕ4ØÏ¯P-‡‰þ¤` ê šÂ)/ùÏGù=×oÊR\À(õ„{Ö²oƒ›Løˆ¶‘ ]ÀnA?^]pTûC”µDÄ-qZ­èÓÉFÅWˆ((ÉS¹ìd£±Ý³«»­Ìé„ÐÂ3QcYBµøAŸ³J DóËi:WVgGŠBéÊêø`wØh h#$7ÿK#¿–3 Û"Ð…Í<,@Ž×øxGëO¡ˆšXäÃgB³Ns#ü–½#ê1r»¢‰_8W&YîØ/Ǿ£Gž³ò6ÏD™7e…ǬI—®ÄS]Þc»ÎÏ[ÂøÏ48l Ô5H©÷C¡âËú޾ŽS’”&Áʸü3vLs'ô öÑï<~"Ë3¬®µ|Zܨ…Z¬ñUÛêu8î4+³¹u§]Ž[é£|Ux-*[ `¸rlG…\UdÝ`åU²·o^ÿ˜%QåÀÈÕPÁe[)¢ÍY f V[Ü8÷Cãºsln#A s_kG±ÊŽ}×W.J!ÇÎØÒ/žgP"æÒ?G/#à gð nÚ¶zêw|-cßV» 2+Òu9‹´ºú þJƒÇµµ²s,Iår—à 6ˆašeí]K¼*{Ûgô«ÍÞ¡äú¬É3nõ3E×X î„g#d¿G»„beªúÜnñ1¼Voí¥Êùïã~máå ?Êvý¹¿)”óSJEës!C0L@â ÁßàƒTLà+Œg 0œ*—Dëä$H°ûÚµB¢œ!Ù¬ˆ«ªŽs''wD"_áiÏM°: :#³²§þHú6?¹ùÊjÖaé#-Qõ `öà”kz.¿5‡Ù¾ÄëÜçøF€â…·ë3ë'‚ô;§Þ]ç¬,b/ÙjùÇ,cŒ˜a΄Q?á:²ô44­æ¦btøÍÂan¯¿•N`2î(kÑýöqÀ¡Ñè4¶ 0¥ÖnôŒ¹ƒ¬á<±«ƒ¤²š*íµÁó2Çom¨Ÿ ,DY·Ú®ŒãÍXèk[©Áµ>'èŽCn M0|J‘d[!À€7:Xo[¥ Òžm–„¯þ­xÄ©æ[]’µA‘‘ByXdtîŒ4<W±.Õ=fP\®®’½&19AÛ;Bܹî,ô·ç¥Q GewǙP£sG½5w0KûÍŸ,c4 V·±êrÂ¥^DI%YÉ,}!Ãb°ÊèßÉ C`úÅ—VÃgSƒ° ÏŒÌbƒf1æ&ó0c4º mõcÙ`uå Sß•ê­\]Ñvñw$o:»` Ì·Šh{šúË£•¦iÞ:D‹+3á1eÐÑxå1ö'<ʨóÍlÖös^ƒˈ¼´‹š¿åp+ÞC-ÁµÐ¤ß4*Ž/ɽïDBû#´µµG‚IÛ npΘ¤A”€U!àµßWo$ç‡Ì…V}„dÌX{®ô½|7Ã~[¾^9çþ_)×qý8_û 9×7ÐKH·¤¸4A3%‰Lz‹Ú=ºžð.þó;QÙR8ÇSz8Í{¥8kÖuꌢ&¨ˆ‚ÑK}`Ö®iO£ë'K}?i|nD [>+e@fÐÄhâ ¸CAbvÜàZºw+å Òý«€ü‹ûRðö×nÞz4¬­ƒã«»Šê,ö>¨ŠhŒæ‚–’d´’šæmK}MÁØí”9£„-£ð,9£yn·wŸôÖ_Æ;¹Ö)·ó‹áÖæÁó)sôK1 FŽ›žô-ÄØîã#T¤X£Èf+×Â^ÂK‹`Î]G+EF×3›”„¯ìl©{4I¶t'-@¬Ðî? ”94w+10´1w]ájÀÜoW=káºr«ç\Bšuâ4L#-šLª6^jdó”1úY:÷¬aˆÓÃõ›eÌý¯k™e<„º’íx€hõ¡fñɱtÈʘà¢Ï%>ÊK:s—óWÇêDü,lÕÖ±X -E0¸Ø >Ûa¸YýÁlĤ%»-%ŽVûÖîaµµñµ½eOêl¡gn9ë͆êñ½r˜‘XMkg4BCýÇ”V-ÏUO ƒ?§|rd'È¡÷p)Ï’ýX$ÛJ¤”0k5ʤx*dük?åLù;®õøÐ};yª»9Ùps!(´ZGá ³Úpk‡ƒm:ž¤P­]ýoßžfÖZ¬¯ÇÒø¤=ÏŒ@“%åÝ }^(EÄ1XX·|&sPÿ/€ì±kSD®Þ³›Ìüf‚·º6†>KL3C»é|y-‰)ý©Þë8ÆÐ´-DƒmçiB‡ËK ,P¢t¤ô½=`‚Ë4PxøH0::'!á–6®ÑŽ*ž˜.QîÁøO—Rg1p8X“{+_‰Úö¿ÁR±h-F»N§¨£Ogý’,¤é¼Qd}Ç“bÈõ‚»5Lùj¸Ù•m×ötßHõhk©~„Fƒ4B™¸¤”;8*/Ç«©ÑMàŠµU•h»)É\ù±kÔ+€>Xœ½YKç¶¹eÊØ+ä|d1àѧ6û"R*¨TÎ=¿F·Q)ÉÕq «R8DŒC¨ÅušHP鋨|k«\gMþlµUöÎMøê*u°-$¬zÏ÷Èe¡/°«—Á°Ÿ¹ˆ~¯ŸBÕ £Å ½HÁÓŸÙï6ƒˆÞ¢‡ht|IÅ1‡íX{•ÝÀ"aŠ^ÿÜ&-ëþ®%Ü[$áìpR·Úß ^í1T­¬…Wê²ÁXtÔN™†ÏòKý&hÑݵÚ:ȤïˆQÛ®!Ö¼AÛ½u¼z¾'Y8ýösžI_‹·UýalŒM¹œ#'ÄÇká@¼Ê+Wølu¾íáXÈò¯­³||0VвúvÈT0‚AÌZÕÀ½}öà!÷gaÝ»˜Àƒ¸ï]¬€†&J¥ÝÛ$1"$0 ퟔ·Vïûîá(œNÌc÷F´ÞœV7“ŸðV‚CS&ŽeÏ{î¸ÊÔ}‚†P+j° 4Yr#j7Â;æPužYy‡ÜJ±Ñö“).¢4c°(J!•NÈý5Ê«^.5áîìHá;Ëݲ§d)¡œ ŒìÏôR§Wým­lÅ üžåld¨ùèß«¶sÕÍŸæybc4Jxr÷›ã-¶ï-nU&S&"¡ØÂ –ó©úà}a±pª5ÊK_í9ÈÚ[Bý9Zú¥\fË·Åïα¨úšbG‹á¦)?>.6«ž`&y´6Xì^iç43šFTo–óÇù‰Ê 1 @¨‚ –1£Ù¶›ÀünPi÷Ó³ùiäF?~¥ý•UvA;¿ÖC‡^GüÊHß#P¿ÒèѤ‘À°`û‡ø“ùAô—ç!S"ô„¤"HœëïvËVŸ ™3}V½yâÃ"DÔØ¢™z-ãkA k~å46—µ¼ÖåŠ`i}Bé8Œ³ü³ôõ–6@:Ò+úÍ2 ¦TÉ`,¬õéÃ+Ëú¢”šŸìÁ3%S‘îíhàTY§Àõ‘ˆù“bt‹jßSêÀ Î ¨ëàAÐ>Ž ÑÅjãˆõÁ’’„'ál;;¥jFõ$¼ÝÈÔÇìL¸tÚ`ÏÎ,JH1õUÔN0ø­ÝÝÌn­ØY™ižkõ‘ÞÞÞ}j5Œ®uÚmƒ F»ÛÀÎÏ:L`bx Öïú³Åø¶änÚ¢m&´‡¶çb"¨ö¬®ÖfóŸK¤%Ñd¦2®Tÿ€ëC¶ÓŸ³O.^i¹Âfõ7‹§·„0nƒ·ÔÀ »Ô]SŠ ŠOz®G‚½¾t©Û¼6ƒ Ñ¡(…x è1GH×&ÀúîaË.Œ Ï)$¿´„GáÓtbeÏ÷Þod›ò¦t1ÎÈà 8±"娴Fׯ_Jày<í¢àï1¶58‹ÝšÍŠ4OÀ›bM)N{Çx›6¥–‹¯?Š];þê~@è'Å9oµöè34âÖþŸävcî&”7×IpÜ=¬Î˜¬œ8vÙ|Öiy°õ¨Ë «k¿4ϲD˜(›F)×-„˜KL€b¬:•KQt¼? ²UºÁçÚ15N‚‘-˜P:ÚÖbÖs,¨NÀcz/綸ÂaÄ(”˜@‹ãjg{ÁÄ!/äZ?«[š“y%®û.P Fpø…bd…Ñ êÚÍóõì‘›u¬ín)–#R¶záVÈIÂ1á.–³Ã`] §ÚRÏA£Ýó Ïÿ˜ð¥ˆpë„T³`Ícš(ö^ðYè íÜ÷>¥›Tþçí­ gèûð6H5x‰Ãr>Ók‚¨å`$€ éÊE.mö·o´úqÛÕ$¢cdîð„RYÔŽ(yéw¾Ø%B#™c×in-“Ü»F'=u²ŠE¯®ËVï6 =\ÊÑfÅ‘EüM ªŸÍ2;j@#Ü„«1ZêG³˜q¤j^ÚïvYå˜HP3Ø—íŸfÁtÅ•ÓoÂ97ì÷˺‹x‹½2Iƒ×ÊS¬ aˆ,‰ Ö^ÍE/eÐåæ²´êtËw;“ÎhûH¡ÄôÚ%à`]ÌXÛµÓÇÚ†[ðͬw>gi$×ÂîGàŸÒ¬Šïð9~WcËÉœð øûêc‚WÑ€¨C_ƒçø¾Kèë 3à‹YYý¦W»÷§N L†FO< –­pf‹nwòÈAN ºO¼À»”D@<™ -xL(¾=O·u£É6TDÈYL#ĸ- #¢€ ìòg®i%H”YÏ„v|”%$BàÈ+Ò¤i¨(Èv¹Çîº#1Käê+—ÕÒ¤æqg5sÐÍ 'ÄuÑ+{Ù)ÿŸö÷TÌá—ËïšßscÁyÌ›Gîhå)h¦=ð¦»Ø~hvé–ŇÑPð>÷],+m¢Â”EêiÝÓÌ—žÏâÙ¶úÑ1«Š¾¥“š;Mx`K\ónæã?6¨¯‡t+üø¢ttHDº–,ç¬k7<¬f9Šüµ)Q¬yÙÒ¡p .4j׈Ú*Ĉ*ëÅõ=®+­N¼¨LU3P)k}V¤š>Fëg23TÀ8¨`µªH𿉇 –Ø5/:Í€à‚ä¤ríq¼|âÜY9!»¡Ã.à'(!€¸2!m‘hŽÅ ÙâWe[u]_ÛäøáŠ#PšrF¹Ù«V $³µ¢Þi¦ÏÒ&t¹$mN"^ÒÉ…ÏLa…rdA>M!­./7N%ô,¹Ù”= ‘_t?­Û¢œ”Bƒbä픯Î,DÖ6ÁÔŸ‚£©h×y•ÃR9?®´Ú .xλð>óB­­CãFƒ‡™.ò奔Ï׃¤•BAÖ`Bi¨U[?¹è„N N+ÅUš0ÕÎV4o¹•ãÚOµ]+¹†À=\+ò…NÖo³Kqbí¨™¸ßyÌ„¹,þ ¦ï@ÔGåÁÐÁÙ÷¶OH;—4õ•æÙ€|ÁdD„æòT ™ð=[¨ ÇŸõ>×Écê© a¼Æ?íÓ4h0'Ò¢®<$-À0©MwzZçšo÷…A;ŸZÐuài'Éʶ†ƒ]d!òåº~hZVpgˆ0\¢˜²§ý&¨w|$˜µž”Ç”Jú'"O'r¾A}¬‘vBhaÑaé¢GÅÜ€"eˆùá]‡ œ|{êxBÈtëË;… W³6ÚgùB(eœåq¼tG0©“2æfûÛT_‚Qº%’*Á1!àŸ#×&Ñn.3üªMÑðäÔ*–íÆ…-Á*nÍÊ.cu,M¤½r¢áÿ‚+RÆÏŹu²©å팀w[•Î@<‘Фȿ8tÖ”Ù\SL«! ®±Y0†dœÔ`ïm*6I‹ëÐ2µ]Ì€)‚®F€V6‚ÂÝOecðÚw®Ì|ýë"7:7¦ÌÓONa–A‰¸eßQtÂ[»TΞ€+PGȬnv58ûêò*“ÆB$§}k3«;Š Aåg±@0·õ£ÝYü,xXÁIŽU=1²YŠb±Çâ<ƒˆ˜K2¼Ôƒy ^æ!‹÷mÓxÑ#˜¼k#¡÷ÃYÕtÚqðÄpYæà®~4ZÚE-¤MØÎžéIš£ŠÎñ4E»`í•¥ zqM™6)[ínÄN“íW08¦Œ£oõžM‰zX±PžxÔSåëû™–ÉU eÌPÚ‹Û+-¦ ñg“Ÿ¯ISŽ‡Ô h•Χ¡Çž+´.‰‚Ä3#÷b¼#LƒªüÖo” œGubp²ºóYÀ„6Ó–4f­Ò¼ƒ±-º¹F×&$!yÓYe"ZÈ©Ÿðd ‚+ ïú uÔûAÌ€B’N«3lh¦_#lÄ‹ iýbŒ´2 Á+“&Õ~tNד¯N {pg–¼~ ô£BµUßÅ2;{w)˜ØáÛéjë¢ßÞ[ÒNjr—1¾8)‹’eÝ0$FCj è{J\œÖZA߉WÖ­|g»J¤ˆ%~Oµ—l*\'hwl”ÞYÅ,©FÚÎE€,IJî€ö,¯«u:1xâK½£¾ö°Ìís»Ñ¼…‹×k¾6ñhOH¨ÿ訚…µCP„§÷Á3g°…-Šv€Ϋ½$mÁX¤Ü—oÍ„DèÜÌrgsCÑMƒJÅv.]•Ù“ÉagC sÀ¢±B.&|°`À8Q}mC×êBµ37àÜ,1DìÅ’â;]‹Í .a–Àt3|1êîÙÀüb”aC–ÝGqÎÁýè7‚ÄœÒIz9ˆŸzGØp‹xÇhÒ÷J9Ñ¿wð×·ö‘]}$Ì w¸)˜K,_ÅÚÀ¸½ùXÂ}$yòT{èn`S†!%ï:H–Gd‘cOš™Â7ÇžpôžåÓí¡xõxô¹‰ÿxáµXâ V§5GÜçÜà‹¯…Èœ,i+™­…Ið÷K!Ñ>M°Cyõª;Nv]m°n,È×ÖvŒu© Á×pçkGÀMªèFœ¯Ë‘¥ÔצáÀâ¤BzTxá@à•Ÿ u4‚°å)6ó3K¤L°kã”ÕšWU‡½æ›î)òß_¼EÌ5š´D*Äøïå[\a´S‚7®Ç”ÝäÏz/, <‡²†oÌ;hZ?p Z|?[û”aᓾ²žÑ(šUüxÕ||Í‚%°ø±A‚ïÛ).K¦ÃlJ¦VKãò@ÙcD¢Ó;·ìž!)®Ž® UV*…ÒžÏ;vSRZ”@œYÏ•)F8ŽÑbdfÄb ›öÂ$kT×FO\äÓ÷› åë¼Äpº•î>Ç' \ª*Ä_?˜ lÂ5Ýp¡x!‚ûS“òé[+1pÚ[¬²í8Bº6œ‚Hʰö*Á¹ -\¹ѦrcY[¬Å|×G ˆHÏ8ÌTÐnŒQ<ÑûÇv¸¥%ŽGP «™-(íÂr«,_- híÜnšûíêSÿ%±›=Ú¶º`XÞ2šÆTs¬Á•ëÆžüXïX<~¼vέ0v¶ sº¤)Á±Ø|?¼(·[g\Ž=‡[ðáùÁW4 g¯Dí¤g¸%³DõLÕÂ+&èõŸÂ ópŒÇi70Ňjh?«¸;d ¾&"?^ÝG²¸i,¬€† `KÇ,˜L(«PFŠ=è¯TÉöãsü½`zLÌÜÆ(mм‰ð„ ¹¿í‰<`•Ò^‹z£·EîÀ=[ÞU|t¸`ÈEˆ…1›®‹1ëMúÏš&γ§„ ½ã#3ŸEekŸLîµ;øÔKÞö›„5÷‘À×çr€Ññs›jÒèáõfê|+N­uƒyIÛèßïK\|ž•$F”(R>a?:8II¼YÙ@¡ÉÈ@*‚ž7:¬ ¾¦ôá_„F_ÁàLˆÍ°€q)2m‘J»¾¢bª%ç³ Úñ^Æ•·éç“ -Ë]vkk Hr©7ë G"“Än zìÓlJ¡ƒöä;j÷ \¯£ã.Ââ~øp ™ óCH~˜æí4 î¦‡ŠïV±ª!Æéä>©oþ5©=₲™„˜Q7¡ÿ,à«ývpаêÿYˆ”Y› <‚)Ó­›>°„&6i“ç¢ZDЈCÐv [b>ݯÛDó¾ÇÔŸ~Rî¢@•ËLé¾Î¡:W›´ròÏëðq?{‰g‹“‚¯p×› ç`ÒÖáŒî$Êyr2ë¯Fü.ÏOÆóÃSl¯éL©Ò YÖ|‚ìz-èo#ô~u­úf=R¬öø^…›hX;‡§Š¿ÉKŒt•`>•W¶ gî€9mµ¬*‡æK?5Õ•Y÷}c%ÓˆÓ‚gåÇ—šþÊhÄ©¬]V%›”‚wÄÉó)wìèYoA©„7S‘ÒÌa2¢o%4£-ÅæŠÖtîØ­`Ý+”à5²~Æ!b¨3¯¨ŽúVÆÉmî4ÔwŒ ”pIøHì„çESeÝÎH+_¨0«OºÓâÀ¼#v0&``˜yK²X¢Â‚ê.¥¯10ÑV–¼AAtéÑdÏêÐnt˪Ÿ+“Ø+¹v\r>Á ýÇPxUæE3ÎëÒ/WYºb;˜« @p4hZ5VÙ ¶w)œÎ—Á¬ßB Ú<ººíÊ5yÉIÂy$[O¡’Þ^Ø­}àâcmÙØÚ¶æx/Ÿ59¨ÌöÜYÏŸU= ª[oÚûd^6æ °>,ÁÑý6C$DȳzC¨VüÞæFµíµÔ€‰õÂr€Ûª–1Ïz,¯oïêbú„Xƒ¡u ÔòãwŸéÒ4w¾„iëS®´´S€‹Å¡›;ÍZ×®8i¸&œÞŠkîcV]‰ÕÅ rŸè¸LdÕ‚/£“•ÉšNl‡€Úu¼%Kêï²a‘²öp'”Û÷d‹Mà»l¡Lð$0ð]Ä»©Ýg¼µlN›+×UlÑÐaLH{ç~ ¡Øh,$ Îíî¾Þˆ£ÎF5ð}!ö)ØÎ®4b†)Ú×bH©s°Í§?—÷ìmø ̧öZ yÚ'xÅN@þnÄØjŒîÞ˜±:£’`GÌÖ ‘µZì“HEôè¤gp42›æ#@îr–¿ÉήÍc[\eëLÕO¸RH{X Ü³ð&x®o©½zÁÝ,ÇdÄY/XŠ£žÌ€Ä°"–µ«´n•!0ÁÔî‹Ø‚Ð)X,IYŠmê :‡Ei×¶2¥×ÏæÄóVY·ÌMi„&yÍ8¨Ï`Žö¢~FóècTÛHöÅ÷ž¦ÉCy[hç66˜ÒBçžþÚBŸèϪíF)Uª­d'J}-öt<÷Œß‹ÿž-íËï×A›N õÓɩߦ6µr¥ "L€fšŸÝ³Xl÷£Î­@ŽYÞrwPf˜Å c %,/Ú(Áê;ai ÏnoŒó•›¿D^?³L‘-z¶’8wÝ(ê\ˆƒQõQ…å]Ÿ¥¤áîÕ‚]Û0&¢î±Qyœ!!¤$˜cl¡Ç ð®÷h³AX[?1.HÁ ²RÁÞ`(5#·WITKÝÅÂ1*ZT6†¸¾Eõ¸V>÷}ô†ÊƒsŠ¥~F-…B„Hj£O8k{Ù„´UÁšÌ›{vúřԊ{swË\¬W[êVî+þO1á±8ý~cZõœH«R¿ó*„0×»‘s  Á”W[KaÑüú/$¹G»+.º%P±¹ãC(ÆöˆJ²»67VP;  ûDŸœ½£NÜ—¡UÆ@'ˆ}ÞÖ ~÷¨' C‚¤—b9ÿÂ3 h¹©ÊëðXÉ¡}®ëÌ“5}á$‹íÔObP„9m´ †nA|rÜh·eV™Š{ºŸÅYË!FžÜâøòíä"„ ¤žZ\Ë’\d OfU':R ¹¢\FE_"Òî²ëaŒ­uC‹ÞõYgÖ½{"f¥µ[¨0‘ÄyŒ·êù)Wì÷q+èˆLW !²ªàÈJcXyϹ´¤Îig÷l¶„2ï”®Tþ Ù1UÚ>»8y¼4A ¯òpÀ&  TøÄ7 šÔmΘl¾¶˜1Þº’$Dã<˜`'¶0¡p¨"‚m–Îw^"ÕØ‹ »MU €·ÂºŽfÛèŠÀnÛ7pô²ˆ­pñ² Ï/Õ sl@^…¬Tnš–gþ#Q9M*—p.Q)ÀîvÉ™€Hî<—¤N`Ói1`½så#v,ásýʸ¤çÀY›®Á¸ï~ƒaV£FÈæZIÎòmuÔ’|ÂóH9 ÊÅ¥Øç‹Ú±AR–F>ÒÒnIÜ*ÑÞiì˜(g4W¨zKÑ’v?"rÖ%º p%¢Ù1˜;Ú5ôNc@u¼² Õ¬˜kû‘ ÁS“GONï‘ T 4.+ ƒ¬r«UÚÒ¸UÖê¾$„³—âèäøš ç¥ÈZ!Çñ-ì7€Ðj‰úh†¦ˆÕ—ߪ„´Ü^psm>71ÁoÁT7ŽÈÒV Aú+["ú FÆ»|VÏ‹-ö‹fÁ7j„àöÀê)Pˆ0ý‹YD$ebTu"l„)çªýNEFq§¹”­l.u£X·ËÅ«—Vf… }¿ug±kWA§Á•@ŒbÕ˜“#~ÄÖn%ö”ÍŽ² J–¥r¬Z¡ÅyV%ÿg4ž@çF¬)¡~ãYî£Ýd»Û.XçÏSšôÞýíÈ”æX0,ÀYlx„&Ÿ`&L´ltdJ&`!Ÿ€mµ¹6“Íà«ý„sB ŸÍ)ƒ¥v‹ë†_ÌæzsãS0FWÕëR™T?y[ÝúsQ¹^½£cTòxo¾»Ø=>€¯*ЍpÔs°²}ŽGÕë ^5zÝ`¦â¹w.øûIîS>RÀu%wÒpˆ\e€um–f•†#ZÒ‘ëÐá1•v”=·áe=Åøñç=00F€\㢸„¦>gŸß18€g=Ô.iœÙú¸u£#8Àu¬bIÀTÏËbWJ”íµNÀÒØ²N­ŽÓênÖE¿ ª¾F8!ì8·ÜK€KRŸ‰‘Š7Ghë÷Ó÷é¢QØ­ŸòcNZ·¨]#H³Ô!€ˆ_hT‹OÕíI“´hØî\’×(F›] ÷jö®­~íÍŠ½ *~ܵ§ý«‘6¾Ö.U\F/ Õ¢=’fÁ“&nº[Ðï?þDkm5@l;.žŠIIÍ»uúpöìàHÂ×ß1÷î¶`g,Hm„"ˆŽ>¡P°‘'µŽ‘¹Ú:ÝwÆ%†³zéf ¸±n{<\h08#j#Áq£€ Ý™ÅH‹Ž€=¡AÈl£Ìq¸ —sôïºvñïÄ}ØUÛDÁ,cöØÞÚ(%Ð&IzwÜ=*Y }5hQ7ÒÇTäGç˜]вëÞ~U õ)ìtS¹¦çó³ôÅTµ¥Ð1z_ÌgB±Zk½o qaºÐ'…¨¡Sþ‚#‚s#ÉÃÂuGAC³•úÚ54èÆªÂ˜,ù±Bä …?ævB8eT.‹z´ –âq|ÝÎXÕèÛjkª}à°…¨*{.ù”œDW ¯íú>Â1¸‹ (w5Ô<€éGt{ãŠèÏÓZ½íÇÀ hQçbHÌ=§}¼W„Úë™`€/qú_vÙõ=*UÙípƒ‹ù&è±ëˆ¬íêÆ¸G­iÙK#Â3lÁ°x‰\/6Ãñ¦Ö"lÉÿíÜ©åö™©¥­µïцW°†×UªF¹’!ãògyP—‚#…Ø_ {ð.¼My‘äcРÝÁW“ðSq 㜞}Qï,¼jp9çò;§dmWª_s}Ú´"Ø¢]V%~×rø…üpÃTH;—]=bú­f¦pí>ÁZL<則õ—R¨ê ô ¬Cð,ØÎÔpšº£cÔqʹŒFð¦hÏ)§Ëêe´*¤lï-msèowš¯Johv©\aÉ~oD.çØÔ³aC0'®í÷éä ‰bˆXÀLê÷=X"¢kÞ¹ÐY¼~¯‰£|ñÉ‘'ÑáPY›zS>7P©à‚÷Á°¬ÛŽ:oqD0´~ÏA|) ²­|o3…ç„°x¦iÅ¥ÎâJQ-n¦¡†r„x4rúž RÒˆîŠ"11& t„3³hF &)Ñ þ)ÿ*hÁ­ú£áðL€zp´rè=hEOÖ~¿{bUpSø¬ýRBÔex€tuúN1’ØYªQ°«ãüÖxÒÝt-6xÊ`¤0‘`ŒU,~¥Ä ²ã¼]õÃ)EÜnË„ñÀ¶ƒã¥ï¸2 ü”â–¶²$æ$N°ÇÊd#ªâ!š–ß^®M©:†ÑÑ/‘JÜ\„0bÑâÀÑÜ>ÅwrN ]ï¹muÞ¦Ég‹_3³Iü‹T ©¬ÂÜV$ߦáõ¨HÏnÔeÑJDÜ1¦="@TáÁ³r Æ%€‘Ô+ßtãñ4 §FùÅLÒ0{ŽZfT(iCäï Dde^|—V"/Í«nn:Ü Èsë1C7Ûß÷š)V¬ÁèˆQ“_°ÇÔnW ¯zq½SÚÂ׳d›ïf*†g÷ŽFF¢b«S´1fFóÚ&Àj’­®O• ZE‹OÞ `Žú¦?Ѻpåˆó çtQ*¹Ž$ ìVþ`R®·ºãÝàUHÁ$!% 5tåG4ïe 7WÑÈýû;ÙŠ@ÏwnDC€ÚçI¸ç¥í ”„¥ÆŽl ×qÀpq-‚›Æ¢wqS3!OvöÌ|ú÷r£DÛY!â|H mm‡,!š¥Õ¦¶fð‚)ÁO2™@´ú$žÌp'¿>º&ˆ•æCЪ+K1!F„$±×/Á 浯<²ƒ[±Q<“tº×ê·Ðb7­7(ëÁ‰q£\cLÄèï-K2úœ'¨¯€àöšVÒ™\Ÿ?Â)¡sá¬1½b›òÛ T®ï˜Ûàˆ–D‡Ô„"0v¾v¢A±r· $ šàò»Ý#Úr£QýVñŒÈúç%R¤y|HŸ¶”ÌÁ,#¡ÕÒFí‡qŠ z†$¸ð)<|p|ÿ¦­-ÑÎrè 4Lx3u1òûÉÕ…{BZÕñRNzƒÈ¶Â€U éÍ’ŒPº›ÕÓ•Ò@Áz ù)¥m¾KÏDEÏ]“tF¤ „6·KI<Ü\ ƒ„ç‡kv®&gÔgçšä62ïÙ$,Ù”¡¶Y߃Œ3÷úÔ®O4~û'×¶2ÛÁ”‹ ¥,u$0 î <à.TC×Mn¦ü¨•êêwB—Ky —ÆùJèŠʲ(˜xT¡a wœT§…˜S|®í­»¬Q–<úΓÄöb\aQ³5@@Ô~*Õge›“Mà&€•ƒï„7:ãkY…` ƒaR¶£ÚH [¬š ÿ×!̇]N¡"K‚¤?žUkMP€‘N.´Ûk› Ä 4 ®õ°Ž8Ê ÷` ¯CHͤܓBߺm0Û ƒä„#ZH«–_ÃÈÅ4¹3ubROÒ)w¸©–4ä¹Þb¢ZgiÝ:˜ˆu©0"$È•DâÞ1Y ®ï€©™n ¥põ1íR®ë¹©o%b³’ëGÛ«ï:OZŠDÈw3xiD_h ƒâ¹Fšá|Kch'KplWœ˜=aNH"_âF›8ZXá|õ6Õæ»¶›«·˜”þdI—UP;ö£"‡è‚²Yú°žr¨—Rÿ0 Ãc+¤ÛYIýÄàbZ…ôņ—K „«5:fPŠ·Ø£Fc‚žn'{µÙ;…UãljK9úËæp›â¹8™KØÕÑZ ßµ5! ÿâ¦QÎa”ËIÀœšõ¯5+sÕ-*àRV¦Èº­LfÑTH€V Sš^æÜÿš9„¨2CçèchðÇAÿc@¡½¬”ÓYÉÅtÁ¢ÜøÁ#=õè»—ƒÀŽdí–d¡TÎRÕö6¨6šì‡ð ’¶cZB?¦lrT«n¼FǼ öPÌoøjóÈ@(¸k£°¢~½~¯I|ôÚk;gÎds’Å~å(X¼¡ýèÈ÷öóÅÖ,K°?›/á©cÄ΄÷¬àÃ÷bÒw¬|ɽ%vµ``Îz¤WZÖtå§¶"]Ù„8[)rNØ7ÂDØV Ì©YŸØâÃÍŸf ª§­-l°€»³$šÜDÑs’^ƒÉ»ÕR<Ü(øý…þñFta…»V{iú1—ŠÐq¥8'Ø@ä¢rub œkX?Ñdýbaq('˜Øî ÍÊ =8§œcXŠÕÂ¥õ_øRV_[ã®_w<=ÚÛ½=j?ØZ™’1}=WŽ'û8RL.Ã$|žÔmøåY÷ƒ3ÇÀìŸ9–Þ9@í‘‹—m­Ò(=VŒ«ú𹿲Fà?ÿ£­­âT_æ^ëÒD¢éÁ â[‹ ¾ßcú÷7Æ-ÊJ†ü‰¹×Ò.ŸîmòcS¢k Üù- ¼Áƒ‡“»JÙõ+‚kø(„|yòЬ‰rñ £öüÚµi‘CÌdAD•Í\]¿=yú„Vn@ºjéØ&ëáožýK·~Iõ\¼nAÆ·“Û÷ﵡ£`!Øã³âÑþ"?µÿ30_‚Š PÔ¯ö’yÀ‡«Ë|x“ø/ú¢Q3ï þ.\×Þý=ºë/½½»>¹Çôð»lŸÇa(Þ¼ö½{¿°x¡˜ì\ÿ—è}u5þ}õúÇTÿþÉ ªùŠh”D^µGÏã‰Mñ "þ%ø,„ˆr­Kl@ºåqtHUçìü& +W=PüìnðÜš-zñÿÿ5»K݈Äõ“·4rˬÇ(6.`¹·W§¯,Òc) ˆÜ}lÚ«5€ž²#wôú;Å‘•MbÏ×kOŸÝW®3ñ¹ncE0³Œ_16AýúåäKKS 4^cP«cz~ÏF»‰%i}A Í怜}÷0Ÿæxÿ®ü5×úýÁ$£;Ó.Biïs…²‰¬æ·§‹“K ¾•)sU,æôþH1žÐd$’RØÓ; ÓÿåÛ«ÁòˆVw@¾¾Î‚jMº‡û[8ËŒŸœsè%º8„.;qžD§?`¼“ ýæYê/RMž¼¹¾Q¯- xþþñ‹tUàX匊)ÕÕõùÉd‚~ð¶B‡ž÷È#<~ýžÙÖ+4{ò€Væ¤ÐÐ[¿)ìÿÛÿð_¿dV¿ß|ò¦ÔX¯5á^Úå_jéÕ“™ãó“7ÌýÝ£û[1E¥ÂÚ@­W®DlgPÐUnn^‘~¿C\LrÆÄdw% £ñ&5øýö= ¾Ÿ¼~íöÎ,.ø ¹3p}!ªKsiÛ-+|I¯<ÙûÁNSO·_N>~¹Çà ƒ’CH_Ãå<-t=l—ÿvïßHòŸfýF»áùÀ=Û9‚Þ¢Ü{ý6Û’–—^h:ò†íÃÍ ~gQ¢ÝžH¤™|8<Ì<½º9éïz.‰×wt×ÿ´é +ÿð±ÅSÛÊÍF4 KD#¨E øwB|•ï«Ç¬Å¿ IBÒJ¨{~õá³¶Zï¦äüUÄ1¼Ëº´ò#7’ñ|´Èòb7{×d¢‚à|IhãòÅ«KÆàôäÃgakó}S‚åUŽ„ùá¶•.=¾j‘7aõJ[ f cm–¶)¿=^°@·Á4ÿ³Ëú|Mñ蔫ä(\ ¾rœH”?=~<9»cg/K퀾ób(òæÚ¹ûWð3¼?ùýyCß3Iðð:GÏKë0Ž=ïÌÝÂïÄc¾ ÎòRè?ÚÃu76}#‘ú¿¼a1¿<Ï•»×&«üúgåÒìÉ«x‹ˆŒôÉmb@/o8š.£‘à²a…X½pìŽ9^|wÍ|Ä_‚ú’ Ƨß>~Tž¬òíÝíÉ+N¾ÞòŠBˆ’<Áð­¦.!ôe1øÐ¹·®ìË·xÑSâ›i›rykFãiñÈ+ðæ5µ1%í½äTÐIxX4ÝÑ­—k´å+ä> .ð'(\¦þüýä†@^§ua¡‡{ž1/å½.XW7×´ç%k¤Ëöþ ¶ÔÍ+D¿ûÍž‘g¡¸«È%ñþЍÅhFÅŠçzr§K„óÝOàyù€Óª¾Ð÷+1ÛÛ´•ùy$䮢ѥ• µ¥à&¾»;c‰X‘=´‘õz$èwú‰hß;Å<÷Ô÷k "'/ é-n4ø‘µø—è– °ˆ÷"³Ä<”â¸&„ß?³Ê„•t†!öèúLXpJ(ZБ۬~32 üË,¼fN^¹°A%ë×Ó¢‹—p¼xóÆy8ÜÙëß#Ë?}Ï©‚eƒ{+c¸ÏèyÅí'ýmìq„r’2½|sòö K–X'˜áyé\´¾´ZäÒ¸â¥ü²P†1éÖÝ`z$#¹ßÝ4ÿÿøÿ4"ÕÍõ5~ûõíõ„«ß/Q<ÙÉͽ¸âr/x+ø½g)Jü1åB¾MtgÚŒ^s/w­:ö}É|ÍÒЋ+‚±…~ÝsCÄ`í«>"Ü#Òs!t£ÉQŠ2ˆÝj#÷–[½ºô¬¡ÜÔìØ´<‰…>ü·ù†W`JôêUÜG„¸µ7,ç—£¥Ê•ƒí`Ükñg»¹W¿¥Ë…à÷Š$ /ÁRÜ[¼SÌ™E|é9m Fi‡Üu»>ݳ €B ‡r¡9â¯_>oP´ÈO¥k¤¯÷í*EX_¼„ð`Àí=ÐJS'Ÿ>=ž|ºý¤mñ4·v)–}«}¾† ­^5Íu!<:;ý àhÎsmäŠg ¸®Qøu|/DI®²ÚìØ\j‚m‚º%}!S³C”Ш»xå¯'_>ˆ¹›¶=o–H¡%Âc$cv‡¯²dŽ…!͘¡Óq…'8aÔùÂ^R‰©ÜÊ’¿‚ª›l<,AýÕ²ûk/¡Œá—®·¬HÉÍyÇ$<$ï' j›·ëW˜ yóªQ_!«WFÒg •ó™ñâáâ˜ÄªÄèb·ø]¾ÍU¶ryÖß@â ˜¡Í¾ÿì˜À]°Z÷ˆvÊZ¼õ¾Ñß…9hjí;Í!(MÎ_³ŽwwNÞßEĘã/O… A}4„ýÎ×\ä“`ÿ‰ßiÉý„‚€wƒ÷7A~7]=ˆOM¬7)sòR<ÝÃiŠ1·' Ë÷‘eΓ<²Ë,…>‹M?—Ä7ʾ`Îãí·ßy#n/«õ%/ï Ñ@ñŒ—ºiPÆ"_^½…ëéÉ͘ÝløžÜ²ƒñ“Ðé“Ðä’²$¾¯¯¤19x¾Û“³×ÖõóÉú#Kx&¼9£­ŸÌ‹)¹ s0^_½æ6œÿÔVä!£{ïûQªä5-úöÙÀmzxS²×xZÌòýãÆ Ä‡O\4ÿþšWýòåë<àvÉ€¼¢5_i@¹¦[èlU󛦼4ÔqûùÉ£m&Å×$ø§7×b=£Ã?ŠøhâæöN¯þtòåãJÄef­Öæ± D²F‡·FQE½fø€ ÷1‰Z-“û½ú »6 ã~{¦XîòÞP4MûúƈøÓáÛ+Ÿ¦AøR…¿ÿƒ»yV™&pð@ïí«‹«“Ç'·‡ÇxOnülÙ>©ÿ²SŽk kÅî¬c±‹ˆý#Æ]±o^i˜à5ØøÜˆó3‹Äšö÷øñÁà‹B¶Ç”YÛ¯‹ñ(GÏ˽iÉÜÀ-º m`˜/üéá=·Û-;/O¾<\2§,óÝ퇓w`)ÁþÉàLlõ`àðÄ¢gË.Ä^Y£bú¯\ß=$â„ȬåE-öí‹ éûJP¾êcf%⨃//¿ýapCñ)Qkîõ•`}þôw× ]È:•({#}gpÔB‰K²¾ÛFm¥\›÷÷ŸÈ…!!þ=áILÈC~ø"fæuÊpœýùÏÿ¦a±€ºé™›WoX¥»“÷wïO^Ÿ½r’n |4$÷Iöä”Ä%¹Àûb*ÿû'ñŽôÅ%«p ˜OÜ òÐ_¨ß |?ãÈËsÓ´W¬Úõ«ˆŠÀ,Ã?>Ó@1Å…œ³…É‘Ñ_#A½êää\XðÔÈ1—&Ïuñ$ËûÓ?°Þ¯ €ÎÅZ_ŒÐ¿•šÃ*ûÞÍçkA¯ jyÈÏ,õ¹â\`.2EšùÆõ„Uaëc½Ðï«r£ço¹C®ŽôÄ÷²ˆ8uòË«ŸåÍàb ôpÓHUÜì¯þë/ÒYHB"dƒ—ÊU¬ý+‚yÍâ•/Å‘Eû¤ìFàâõÕɶÁYÖŸ×yÈÊ£¿÷Ú¿¼"z¤!Az¸ÿ¼0¤™‘öpj vf s.þ{d^³|ï?Ph¾ðü[é–2 L£ÛÇœ QX^ÂòüºÎš$6Åš°µ"©0ùtYŠÊ"jõäÖ˜ <ÈÁlî%þ™ðãð„ú %½£Hšó@u|/&ä)\=9ý?ý/Þü…¢…1Ÿ$µ'÷L;†òÞ'Ÿö[ËŸ0ðµÆÎÔ~Áú|e ßÒvЙk ½`5Ú™êV|ñ Þ"n£Ù;D=g  UÞ³‚·ú{)ßõæÕ©ô÷—ò…'ïnÞˆlšmdÙ¢Ó{äèÚ—ðï¿1és§ÚÏcšÃõëR"¥–1ª£±S#Ôw?³ÈLÌC®Ì]kWúIkoýKlƒ¢'áõzO¬R+—/nJ_”ØF8uC´Â¤­>ñ_Œ¢?*–$nMá7–ù‹´P¹ÇkÖ£iÿÇâTßSNÅlå ŸO·=þìÛÉ?>ñYOn죳¼wbÇ?d ¾òßmé󊜣A«X΄ñ÷‰t_¾¦Lhô ^£ëknYÆ’§ÿÇùù/Ç Û×x’d3ÙüçÿwD wø]ÌUN§ùÁŸr¯ ¬?‰ÁJ' Þ­÷Û}#Ÿ÷Y\ñ(ŽxhÄC›Û5¾Lîïï¹Ùäï¬Û¿‹åšž¹¤åŘOY·ä*“}k²úËÝGî)$ŠŸ´õðo¸±«×4þV…ú’KÖö r‹òïÿøL°Þ*«!y·}\‰]ÂëÁŸçeâÎô%F?ŠY_ÂáF.ç½ôGs¾”[%8¼B£»b±f_Îôׯõ!•röæäW Úø}¥Ò½$ü%°Û¨¼•áÅ¥-—úFÈ. û#k—B=²>ß ÑŸÞü^ÖE­4y£¡ÿðó/'ox“WF“tb0Ÿƒñ•Ño)Ý øìVWñôÇèDy¯Ä3¯ôµÝéÅÍn¼%Pç\bVmÂ*<,yÉXÜPþôÿ ·;.óNÜ^lyù}”E“”x¯G¼(–£#äõþäVìWŽ Í@IDATúë®ÄÎ…!î?Á [Ê€má@ÄpŒ²Ý{J¦&N>5‘ðþoþô— f¯¹¿×¤÷‰»ü¢¡ qÕ››× :ÖÂ_ÿàÿ‹šz‰Ó[Vãw@7âl¶ U¹—¥ÙŠ/Ÿ[=+R¯X¯Dî'D~G Š->¨suîY=véä]y+AnåÞ³ºO¥^À+#Ö/ÜÇÓ'1%¦Oþóo¿m$vž~v›wB‡ò×ê] ²ÿóÇßX¥L=ÄAX®;•sioÞ”ó[ðu!½¥¿¡êCÁg*+Ê:~$ïÅ–Ÿ¸úÜä-å"[Óê¿ÿþÆJmwÉ‚qÃçI¹\?¡ç÷v–üEô3"},Öâ’³ èÐÀä“s¥>žxŒæ·|:ùý%ó¥úÃÿÿóþS!¸Ñ>Wê<(ŸÛ»[=Ja]ž\¿k¦ÉˆÙh¹$7'{òÿöÛÉ æ«¼·,÷øœ1")V£ý;!ÉÍ›´?ºìÜ{>£Ð]_y¿þöoðCn¯{¢ó€Oë+zÞê(Dùûû’Ñ eigÕ×xŸû.UÓü/ƒi¬4ØNÿ§ÿõ¿þå+@ŠÅÖ¿>†èÅ_¹…ŸßJ~Z¿~ýóÉ¿üò:- %å›[d7×HÂîPã&‹aÚ 3Ès]0Ç%GKœKc4úÙ,-M½æ2ß±fe5‹ÚÄæ7ÿµ8~f⋳¤…%±¹{ÌùéíۓϘñÿí—_¹iVD_=ù’‹x…‘ï)Æß?5ß|vò¯Üó)sÿň¶¾Þ¨ÿDèÐâä§w?qÓXˆd7 ÿdðñŠk:g=?!ž²fÅ—\H/´W躘öÞÈ÷NÜó‹ÁO7ø|LÐdýo ξ¦Tèv-v}Íå?殹êf?ZîÞìèë÷À2|àE®x7ào½dƒÂ‰æs/„BžW·\mÁùé'aáÿtò–°5!ðøùãÉ5·8fßâ%÷*xéi§o³°Ú¿ H7¯Œ@™ŸB›_^‹M~F㜷zMx/Á—¥–Öã^¹ÿ´„KæÛ {”ÛÍs¼Ì'Ü¿˜œÑh–åܯµ—LS®ÄÄÛœü…wâã å˳þbpwúßÿüó_Þÿ|ó3â hY×,–‰+J›4j,‘ØôÛ•Œûg¯Ïš/,à¥ã\ÝCî·ø£Å †è¼ÅÌѮu Ï (¼X%&¬o!M 7‚->j®·§œ¿× !øºs§,É+nä¬Q¦×Õ#,­ $'?+ûRþð#«~—‹FÀëÆŠÅ<äÀªÇ]e‰ 3¾Ë`€ö¿'nâæ (‘þ)šÀ‘À{ Äʘxz‰.¼€Ž–Þ¹Qîì ºR „zÉÅßh7×þ»Ïâ:ÉÚ¯Ÿ7²|GÑ$´£A3@ø%‘~kÄ­NIlÞí?¿ýiÞƒkôG‹"^›S/-óAyyþŠòZý(e–ººù =D‡wɲà-›ze ù½Ì2¡»,…ŸÍý–œ/ð’û¾š‡(Y~‹M¿É„P¬Wåt?ߟü'Çngmªð¥ÔÊm¤˜¿Rð«·æÐ¸ì¶ûÈ’;à¹È9ùˆnåèYçÓÿËû¿ýKYüR×\]K{Þ(ÜýŸ™ð– ½"ÍXo¹Å¯b§V>¿2z|ÂÔ,D+.ÞŽ?ÿü „zFµ«÷–U•gãöʰ ¥IþeIƒ€Ó¤Ìÿéå a„«˜5ø –K.þ^9·W7¿yEtX‰¹{Âö&ᦱw¬rƒ¨6ºÌjǾzcp¾¬]¹Í+±b©¥ YÃR_¹Å˜vZâÖñO7¬£Qê—ÏŸõùšõÉ–<¥ ï‚b,nU¿Âó¥*.iôÏ„ê½PÆ€v€±îí›|K óÙ=†!+ÜÃ~N)CñÞ`æm×ñ{Êpanù3ßàÿš7)÷Ur#Iý…ŸÖ7hr«MžQr¾¬UVú©š-½*Rd9ß¼#øóÇ’×%¹$fÞ·´ Kƒ¤ö|Ì%\°Ô…A×øñáñ ÿ§_2FhJaoì«[ üµ,ƒQÜ[ðzÜ–¸–¤/ÑãT{Yá{ƒ²ú;á͜˘´us‰|º.Ä3(½B¼+éŠmO+x¼ç¸x¦Dc¹’¶rOM‘]¢ ä_ÿôŽžcnR_CÅk1‘¶Y¤Ä…(Å~ýB˜Þ¼2’þÂ]¼›V¤ÞJý48yûó02Ï,Å#ÀßýÔošg€±çóbô×+¦Ê¹{ñD3÷,_¹Ú—ú{:¥Rêþ뫈I?þÍMKg'¿xß’óSð¿J`0ë›9ÈÍVÜü–h=°r/LKsMíq“µ}-Ï—k|/ø·?›VÔÏ‹öI†ïGk§¿¼:Ð~ÊÐdþG£ùßïÿ`Y(ªÝ¦&€·˜´Í:­“úbÄöHIÞP@‘Eýbæ’[g9[ÎT:ƒÖ±n’Ä®ÿ‡ŸÅÉü¯Ÿn  Dº)êퟹU÷¿< þïЯµyg&\ÿx/¥%nûõÍ» ½ÒoùË<,ƾ2õwÁ2e!IöÉG>èß‘Ê4kS” ܳ¾-1k:¦X¿ ÃÍñš×nQÃ;0=ˆóî ºÜí'ž Ül ð‰ŒNþÁÜußÐ¥¾–VzMÀŸn%¡„*ïÿøprúýoÿ뿘j¯$Ð̆íò%'¿Ó€+&þ;¤#èÛbñOÉÑfû+|Að"4#©ó“?hð³Qí n»¥UoÞÐ@Âp ιŠÇ´ƒ¼fªˆŽ níSbâkå[ ýD Ê¾_ÉœrS%1_«_ÜwÚdw¿B.;BÔ÷yC~iâþÆÜg+u-ŽÁh?wp#ŒHÈvÏ/ëù’ ¼cÑs“ª1j±ë›w4–9ûÌ ]@S‚õ>¬+#U‰¹y£YkîÊŸ6?_×‚ÕæÖ¿µ*‡ù\J%—Þ€ï–Aø\8ÀÕ¾my\ƒÿ¿'˜hZ|wïw±ì™Xò›AÖï!N3?Iý¼Ûü;ëÜNZm•ׯ„ïÊ £Aè'ží+/°™+ÛÒ9þ'vÿÑéÿô¿ÿ_ý¥LyÁoÃ÷\ÎRˆÜ㯂ÝV ·Úö;"6ÇÛÊ•3w­ª 3—¬b–²•ňohß+îF¥ûZŽSÝK®V=Œü…U,¬úÁ Úv/wõ^ŒÕ‚΂ê…"!Wÿvƒ‹ŸX± p~KSr%¹•Ș}Ç‚|¢ BA¿Â€,ß=ím›[.·;²¾@ø†éìøýí¦˜\̵ÚçM/|(ðËŸÿEŒ_îûÝõÏK­d)‹Õî ¢ QRïç'‚Ø(ñmÎ…!o’`þþ‡D®øèÍ[qÚ~¾tËB+BÑæEyE}]²H¯(Í¥µx1¿P¼Qm÷ŒüäÜî{L!òËVðcF˜xɧ®Ý[KÙJ”bÖW¹AV÷Å£ÙaËó5k€R,÷™ð=‚µ4Û/n¤ä¼P‚ó’E÷WÚmž½ä3ì¿n/ÂI㞬ˆCð4ú2~¦L×øÚ¾‡)n³7Vòg2Ñà³Ù§²Ý͸{‰ÿ»ý—¿¼þbõ«ÎÚZíunQÚõôïŸÞU~Aô·'ïÅDœÖ žO,Ù4BÁlAïo¬&ʙ߳*/Aõ‰Ë*ÖûÓO?Óf ”haB«ƒÿ`Yî óÓ¬fOrD¯!ôD[§÷ËŸ™åøB¸>K‘¤¿ŸhÙˆPŒ#F+a0Œ¼Y¦ÿ«@û…ÁLJ  D²b&~ÏÅÔ„á%—ÿ(fl¡íÍ o¤úÜ‘þ5ë•ûülJ1 ß ¡kŒ/û’ËãïÇäÏ\dîmñ3¸¾‰WÊ|ªÜHÞ’bŒ—&Pm ~%¦ûÌú½xY J¨ƒ`ßR¨{ô¹Â-_Z’‹$¸VÒ´þ.£ðÛßþ~òÓ/-.°îN¬œ¥/»P>¶x¶ÛO¯LØ‹TćYJy[ û•à~×_i œ|dQnõ•¼^SuåÒ  XæãfM"ê–ê«üVãÁ^"â-e¹} %LhƒT70º'¸Ýc|ež¸Csµ-cYLF ZûîÍŸ”5)ŸvgÄw(íUÓ¶¾–\Ì#뛫þ÷¿nä+eCÀÏYò€õ“ø+\šlÿbòÜà¨TÄ{i§˜{-˜§G­¹Ø¨ï“”ÐŽùIŒ¾O˜~j¤Ù`ªÙÒö6S‘àÞe•r¥¬ú-ájÄz/놧— :n)~8•ÆùM:žüôîõ¦B¿oíÜ‹“ßÀE‹—°þlÐH¸Ü]Ó|MáYAƒÇ+™‹kùÁbòÿí'¿ŠÉ‹ùwgÜÁ1¼—£Ø3¸Þ³æ ødõ² ”åóg I~ƒÏ<Þ…AY4Mø­_†¦‰Œkñ|‚ØýFÑÿìßþ+A¿àü¢Åq¬ßkpPðú]Ì’[øµýo~ýUW÷'ûÛ{Bò‡ëˆþ1 À2ï¯ßýzò®•È_¹Z+)¿°roIúOÏßÿý䯟ÿßË_½4Úþ¥8Ñj”oÜù7Ž(Á› ÏmÐr#Ù¯“cvnæâäý_ß³ N¸9fœ_7¤ÿzò'ܾATªqrÊå|ãF›åønàôŸ>üƒ…úvògÖèõÙÏ'W¿KïÄøŸÿƒùê~‹ýî ¬ŠãìþŸÿó_åøÎ ,Mç|üø‹ˆ¸ú,|(á ‚“ ƒ¦/,Eé‹nØÎ½À( J™UáÖÞPÔï·—Ü$Aú5/©Òî 7„ªÇ¼~’!h@ÓÜÁWp7øÛ6Å,ØKÇFgƒ ë ¶ÝwzÉ*w/ÉAü«{8.ÛÙŒ…m!êµÙ”­jUNÛ¯0Tpä\ Çç^PêOèðÀÛ]ÆR'O-d(esƒ6Ÿ‚ό͟åM?0Ýb‘ÉiàÔd¹yuå+ÞŒÏå`¡o´×ÌÎ=có¬Y\ý¼4:ÿlpú(l± G¼ØßÜ,Ó]V-~üIÅ7Ý)¤±FYw¿¿å×[ø³ÃÛ×ÿȕܴ«@Ë·ŠiN_ ’ ¹?Ùò¯\ø×÷'?¿ûóÉAãà[äIÄkL56½"È´–Öì½9N. ³Ól«çËܬ~Î(CSKùÄ=‹£<£À6kÓÚ@T§q¬¦9V2Á-\žü‡wÊâÌ+óË1ú^7؇¸3¦vÛ&›OQJ|üƒk…_išký·†îæÚ@ÆHù%¥l“ËÿôÛƒVÈ@ç‚Ǹ¼)¶߈cKáNÜTrW8ƒã°c¹,q‚çýF”ŽI£•4Á•‹Œ [ûwÃíX€Wh*öÇ }Š‘[\ÖBõ¿Ê|¸û›©Àws›Ÿ1º•)Oâ±\úÏÞåë>P´7¹uÂôá³2Â-ö‚°5àBoÖùå}%OûÄRüýÆ?Àó¿4ùpkºôó?¾œüü+EAúoVà|­¼¥…!ÛùŸ×j­ÀúŸÿ~ò¯’zCÓk#ejXµûYÕ¯´²ûz>ŠóÏàØÂ‡ÓÿA Xº%L¥r›Å _Þ›š’,nk‰ëòWLx9¦S'{’”÷\Ò'y%ÖƒÕy°8µ ð'Àô×¶˜|‡ØzX¬ôJ.«¬ÿ[Lk0rð¥K¤ [)Óän`¢}œ+x—ó+ö,ß×2ù5%c"åšÅI` ÎY)·ö-ýÐ’³ÖÙ5·»%^.k󢼤ð!»5ÈxÏ |Ô7gû³AжA¯årÉ:Ý$?Ëã•àÿ‚•:ë^gÑÏ=WxF›ÍÈš5/ÛbÎKn³vî0Vƒ÷NpI¯x‰}×”ž=fq…7{fes›¡÷mð‚yÇèÈ­vÑn·I€îÝè6ѯ¦3/ È9×þžùÊ#pÂãABÖbÖt|>Úªx°SÂOò…-þxÝÂXÊO€»Å€ŽÌ •Ó}Äßæ¢/(sŠÏ¦Ÿ¤¢~6¢~Mè®ôù›°á³ðçMq»qB["70á‰y‹Oƒ­´7( “Z$xS,„aÛWïNV]ÒõeC݉øq«jÅ)gRúAÿ£%La~–’h…|:_òóâü«©ª+æûo¿€ø¡JÒáåÜwÁrõ?‰[Úc°ŸÙËA÷Uö(4§èZÚDØÒä¯ïY1ðµJºóäí£{Þ* NϬ&Ás®ëîä¯÷¿«û&=*—fh¦¢¡-o*®{ÿu^½…kBÛ6gW¯JèæÄFXX8Ч:ë1\`ßý'Ì¡á=â³ŽŠŸ|ྛ‚üÆŠ_‰`üúÓ; 9X¹»ð4-ù‰!hf%ËøÍ@C€6kúê’0w{$ù"ñG‰ôrm *(p åÊ‚Ô@ÆP·È¾ø£s þ_ÿþ70ߊ@ º/¤ôÇ13ÔJ³)ôƒÀ7o~–Û“dfůÄõÍSÿôޝÒöüÛ§“?Üô«ÔÔ¯Dâ‘p}Ax˘\°d­„~â¿›Â쾟Ÿ½…‚h…=Žÿ¿4ÝYå[šßõرǘs8§ªºËv·±iK–¸…°ElÉo‚{@ÂH\ÀEÞƒÄk4ºªNfFÆ´#öÌ绢:O:™{ÿÿk=ë~ϸó;pê~Ôþô™ Ñ$´ü»¿ú'œ›®†‹Ÿ ¿¶ôµ‚„4ÅÓµ`}ãµ~Û¬8e†,dPâzéaiumâU+/õ|¤MŠ•.½W˜©ìJAÙªýØY‹ù óçÌaå[y¯ÛœÞTa  ñ·à€ó±>†ÙÏ+h )¼«â—aÖÊÇG‚gæ O¹+ |Fxkv ¹b¢ÊJTÚ¦™‹c.4êL„œï051‚÷¥Mš»SƒmXÕû˜¼Î;Oo-‘ßÁïU`¯À€<ÞºôÆÞQôÿP”ßדrîçs8k*…õÂìoÑæÂ÷FÆßÕŽº`*§˜yZ>Ö"¾þáQ¡åEO½«¸dêxO“fažvÑ¡w$_â·—˜8g¢•^ˆ¯v©Ð޳0aŸâÁ$¬Ø£`ÿ¯~N‘ød˜Jüþý+SJ a0Šm˜ežÂsç{ÌâÑ¥?_ìÒºiA¡¦Ìz°¾2K£ÐATåÇ" úNzÁš®Á…Éÿø_ü#º“BÄ 1S6Õñ]ÂbMÅ6Ƭ ‰ê³í©ö)é®Ä¦“  Ý¡Ö+ëÕÔ)O§êçÐÈ’ûS,(“7M’}4%s¶T³WœpJª{+Qn·"Ë ¿±±Jß;ñLB7QnnŒµ÷?;„Û °s<;èjÏ®ÿÀ¸€±î\£õsÞ- Ô’*|‹3.ìgŽñ6èiù™ ì£V€[_ì=bßaîK’¿Ã€3ãwÕùùúƒwúy%ëˆ:ú‘í§ÂÔ¼õrÕKa£•÷O1såÿÕ f~¦°wýú6~ø³4ŸîÒÔX¨~gæ£CE(WŒ±þy'¤iJ †'0Mc¶VNv©þn ô®{¦0su ð? vV!¶™( mŒlŒœî öT<ÚÐM®¡ƒ:9D4#Ý©iÁja‰mŒ 5úb÷Ì1ÂdwU?òˆÏy£¦Íhâ¸vIÛÕˆtãg¿ùéOý\FAh¡Xæš$ÿ~}E [žå ó¸¢q²‡•õW q^È£‰B5o>ïda©<åDýševíóg4™ãðèЋ¿6¡›Ü72ëÏgš°­ëœio fñºâ`¬pÊFh¦êмÆBwbž¯„ùÍ&a3ëã~±pW»~ã¸2ÙhB¹Þ«ê¡)¦@؃ÜGëW2:42Ñä3Ó˜½Fü‰žoyš4ç“Ôa9å4ÓMWVëéGL­FðN…Ž›hÖd†"Ëó¿ÒüÕ}~V}ü¦°ôàŒ. «yîE_y¸'Œ_»x žàèXÕ#æ|”Ê›Á£×ô•v…?K©âwô§œXÊ„%WÏ&ÿÝþNÕÏÍa Çܧ†Y÷~{#9~ ‚•(Ï›¢6-¼*Ýý0•9(ÊoØÊ¶ë ÁƒPv±™-­B"¼ÉŽöÙè.)}ήæQöáñ®_i7ËåhÄh=éÝ™« Á!ØQVÔx3"„NÊ{.3+ˆ\ zT£Äª?Jf^yÕ /÷<#D{Úc› Ñ¶§Ê¦¬¶Ç`Øt”õW³cÑ™\õNGmº8 s°Õßb"2ƒµQ¿1• 䣦kHØ0V™ö6í“É%úÀ“,ÌA?ïÑwyª?¬õWŸ彪ÆiÂJ¬æ<·Ú6G„3iÖË9S¾þ´m‘‹$=·¦<ìRKÁ4-~Ü?”2¬¸" „1b¢©«ÝërI€Çw¬²¤½“_1HN6ù½çÌÿ€o^(œ´"}‡Sè²)·Ìîå9¯ž`årçD=àƒ{Ì>ÍáÅ3³ÏŠN  Y•åø«905DTçvî‹G)¶sRU¡eÍÈIÒ¹¸RñJÅ+µ’íµ;xUüˆÓ#ê-31fc˜m É4ÛÖg—w0ŸŠüåàïxµ4Š3“Á#| yTZ»ã Ûzÿ3“Za¥ “Cà)æÅuˆÖ—º¼ètG+Ù$QÅÐð¯tápv´¦°2¥¨{þÏøˆ‘.8VUæäýü­,‰¡g„DBU'^1϶¹s"·/ö‡±Ë„üxfš}¶BWËÇ\Å õxäõyRøj!Ê4ÕèµÀÜy¬ÜØ©õSe8ÝÉÞ½ QÕ=M0ä}¼å@€5åW4 OÓ¶¥/áüPÛçQh™á…{nS±6¤ Ú3\cªRžj#œÏt¬}Ña uiÔ¹pÓ ’ößs6Þü|ÚØC܉B®:À¼`™ páÝS¿tö•èÑÁoÄJ[OçøÉ+¦+¸TÚ5ù_þêžf6Tœ©Ø²"UZ/ö±W?›0{¥¹Þµ_›F¾ÿ"#Ì'ïÇ ºÖéžJqNq«Î!Z¹Ûd¦$—ÜŸˆE3U…0Žh 8Ÿl¦î¸†éÄSŒíÙµ¾­Nm’¼2w·uÅaŠª5w@?|—J+ì>Ͳ¡­ª¼®OeKÀÊè„‘ì „`uc +mÄ:KÞ*ÑÅYƒ=0ƒžhíL‡=Õh=fã 3œVpÇžRn¤HZ 0ößb„rxnïýuРá>žÆ`ID;ÆÇÀû¬þpzcV‚Ðz{Ú0eƒjÿœ0yåÙg…°0oÃÚGŽÁ(øðžÑ€^{,lÕ“ÙsëÝQm?S8µ‹©GŸ±½EJȶ ïÈö`ž·qÐ;¨ RÎÏ å³öŠªù»`ήedr޼|Çž…„п"0h=…°àfJk ¼cÌÎ"g¥²¹A°&<„öhçgͨé8[Ï «ÖiZÃðä±R-~Œ±ÐÁy±ySÖfü*PXtv¼žypÀ;B,°åyžvðp~ùLøgÎVò±%öñ=Õ\ŠgËt\¼K-‰«LHèfÂ(š„&¯J3ž6x¥Ñ ½éŸ´Î@q b¼WÙ/@rZM‚Íw0DLƒntÿmÔÿ¥ k„-žWñæ3O/DÝ%ó[‡Å½o–Ö«tl—¦;/0Í ß½Ìà œS¥vHCP¡ï¼`¾×ÝÀ Ÿ^¯’`aÆ’ñ1ᨬ¶7Iõjá: .ÛÂŽP‹õ¿{¼½ÇÇhNi­Gí‰9‰êƒÒµ1AUöæ>aÁñÀ·ÒÕ¬Ô.`Û~b.ÜŽ!‚lÖ#qìó´;^­^÷wTW„ÈOx»f5}ÅÖÖuoË•ïÏ/ÔšZS׸YÓy› ¦Sù°n!±P½¼ªuPÝÍJõàÊ÷ñÇ”¡ËlÙX ŒáÐ V³Õ--·õµô@Œ))±Àg!˜b›ÔöÈ¥üñ”ðÎw£ìç'V¸òlò¿þ×ÿì´€¥Þj&ö ÇbC„M@ªR$//ï´ISÞ.i-.¥VTŒÍE拊ޱSµ1†¤|¦Ø`ÑÌ N}¸,l±‡0fÞ¡vP[û¦úUý%8Ïè™, “aéÛ1%˜®Ÿ¥Ð›÷÷J¡*ÒÜÇ]T ŸwY(&S˜æ­¶nyG :¼Ævˆ¼kä˜ÁÛáÖ|–æåœ`¹‰u¯¨Éik ˆiCÿ=(蚎~k]:¤fÁ´ÎêõÞx´åP o Fôœ%Ü0¦­GøÜ:KfÏç¬Ò+Zï¥G¾Ö:r¬æ4W^kU@>î”Ѓ9¿rÁá`,Š¡Úkˆ8-O©øû´Ó¥ï¤×öGûð9¢ý@ú2\7¸Ä§^àÂèTDÄW(ÚSW¥Ä íÎOBrä`r1†à‰!°aâ¹`ÕPYÿ.»n<šNx„«H@#ÕL[ØÅÒ6BÈïÁ6ìÅ{›9ŠáTÛט­s¹Ë˜½©© 'ª:A¤%&ô/«ÃDÒÍ;Ø’rl­_•ý\Ò^UÏìiÿ”&/¬°HÕ.+Ï=0);¸¯T]¹kç´,A:ü*]òœô@ƒ˜®*ugçÊëy{ýº@ÔÄ€£Ø¹"° ž9¥=k ¯¯Å6)\D&á¹&`Í€üØäèFØ5íé ÆŒJ¨é€¼f¾Чuü¹Üsá1Û@}no[ÜŸO4÷X™±$²°Ä¬rš¦’K L:'qØÕúÁu–ãÛhWhô1BÐ B":Z7.ííœÀ¢„%FÙß‹¡¶`ëjxÒ€9¢' ›>#Àiþ8+õsDç ªºÛÏ‹Ê×ĵwæ›”Oâá¼o8£Ìõ„ jÃù41m˒Ĩ» {ñ÷“ÿý_ýãä“ hÃhÈLVD„bXÙå.¥s8rè#ÿÒÔœµô_ùÎ#MS\²ë¹RÿZ¼øÔA@55&,‘F3“g½_`è‰ÒKbæ7yt/`@-£[ÁâJb–Š":ƒr7sŸ-œÓE€\†„%v¨æäÜ™,Gíðv¦·¬kGØ ´¶,@‚Á ê‰sÒ†×bo¯Gs¡ïÙ©¿›òŒÊ&¹Ü}Q…EjÞ:åØZ9ñw¿ªž¶”‘ª3‹1wí›Ýé1À8-R‰}Z­lÄ£Ü ¿ú¤×f2·(Àƒ¶ß1&ëIc¹âô ibÊá9Tµ•‘ƒå^' ‘'û¨G¿¯Ÿx¨Ö㤔wun9Ñ×qŽ^àÎèH Ó[ž1áñÅÆ€$°iáÙ„yÙ&êsJˆèÍ9”8¶ð>á õ+ ÏVÑ5bm¦uý€©ì3gpBàóXS BT™í³PLEªÊn æ·<õ,O¥Í²ÙùóÂswƒ>4™Ï¤[ë ^c¶RsLc“é´ …uÛ[ÓÎtÈ 0«{øõN-îLXǃáœ!fa½ÊठÓÄ{Þî¶ ñÎM[€t™‘ßM°à_ýÝ¿õ¥mh_¨Çu5‡…,êÈó¬E²¡55Ù¬i¼ ¥N{¢,½IVÛ„ïÒ.¯ðBÞ uû™íùÎ’©¨×öH˽2gÏë„ï‚—Ú cR€dÉ‚-ŒÆ+À™<†aз´Yd¦Ñ ”É1ª`2±œª÷ŒŠ¨5ÒIª}a4ÿXç•Jìshpc…žâmï& 0ËšèY#ÇMò\¿íÁ«™KÓ5…?Ó³¼¡%ˆ|ý'û˜¨×kZWTnžBÈ;ßÃD÷¼¡‘Ú…èÅ€9;æç\[Saðä‚…XyvÅ K&¸~ækU5U¥iWjÏîwÂÜNsPÅéö峟-o EcOX™­µÕà>s0Œ/­K(X¶rÊÝf>ú¸Åâ. ÐÛó†è2C–Q²AJ’fÌ»Çõm½Ñ ógÑ.¬1ÜÝŒê Má2vŽ@k.žšOÑ$¯KëÙŠŠ¼pçÌ{Hˇ}«ä˜ïê«&@UY<ÅåK'S ÷‹ê Èn„šÓüËÃwF3Iäœ{™ªò~‹;Dx/-ZËòü}Nb]TU±åŠ« )ÊŽ&Ú65¯ð0_Hyª£iÒQtZ¼.l¹âµìm¤:Cò1¤æÚ:ëÎ Ž1ç4CSQkazúþpöIÑÀ\əÇF¿ìãÈ©7xÏd5sºJ”¡GqÆ$ê Oƒ&h%ñgzç7(¨?£9_d5òäjã$ƒ° ¬Ù°êìʈì Fã/ Ìoz·,Õxt¡R¼AEÃäÆ.°×z€¿¸ᘪC´ö¿+LŒk†”Üb¶ æ˜,àߨ\ˇߨ·¹ÏÆ‹–Ù_È.5]¶j£ƒ€sáîsž5ÅSÍÀ¡}Ù%æ93[aÙ(‚°à ÔzT¢ÕŒè)æ¿ÅpÍê>ä¼ä)[kÐ넪[]Ž""ñ©jDgÎüM¼¥T¿Ÿ&lÉÆA§lDfyXçôÆ\µš½¦;-a¼™Èõ‘Ùº!iÅÿˆñ8œOÌKAÝÿÃ:ådpÈŸi‚b^÷$èÎ箤óšR’‹lŠA06¼’ÙÌmÜjx0V÷’¹½œ^Él<øü¾šDZG1žÍ ŒCŽÙÖ0]ÍæséB?(˜ '+<Æ…àðqÉŠ5ÓLF¥=ºï¤ñM’{maü›~{‘-÷óP_¿í~ä£s€vFŠýÖ f6«fq°ë³Ô¤ƒþVo.+Pïq»=>ÍÇø¿,bŠLMªÑ°Æ®_¨±¼°Q]lµc¶—{C‘¦4įôí–Á>ª›A«wÏ~…¿±Áðdßf?¸¥²´QÞɹ:ڦᚬ_ÉEš›&zÅMܪwfJh+q^ÉcVøÆNÁ¾b¨WÖèYwŸH£Ÿ©Ôù }Ê"2$ÕÀªÁ1´ñ‡&Zt¹÷•w§Ìâ³V©YUØÉÛºÃB¹ØcÐèAÁÈô¯þâo©®îÙëÕdÑ Uü"Â8…SVU  ‰ˆ»ËTÀ‰k ñŒT;fq®Ì_Õ´µ"~¦!š¸ðÊi˜ ZÌ §$ÕƒëéО›)iÔZ÷NT(ÙÔb]ÔØ0×i«ï‚›{Úã’z³ñ ÁÔfñëðÚ›yRuo•­¸ó ¶Ú .ÿ¨q‡C-›/¥ÈYsaŒÊá;ÄÌ2V£ÁÂBr´´ËûÀq´¯b–×Ìà­<õ£57¯àî…Ãß°ÊÙë³(Crä¤äœ&~MSí`ÛªÎÇ å4¹ïàMš xû‹‚1m.¢ƒ);&$<\ÿLñ×FÂÍ`èJ¡rö’£‚DhŒr¬’ÕŠI =yTÌé‘©êÆ!ç‹.¯#±nÀ¦Þ¾TA”Bë¼ø7žÃ’¦m–bú„¦£©øn8½|vƒ&'¼P(('¯kï÷M·(f$s4)¦ë\(›W‚ö`xùß@®Ú3©\’ÊüV7×ýoš[JTPb§ 滤‰šõ"uK£4ë/gb‰X™%Imž])£\?,ƒPƒÐFl©Xb5luM5 <œs!$à Ñ&&`9èß¿|üRƒVœÔ4gyA·¡r§|Œñ{Œ‡øojé.ª˜äþþ¯ÅÆç“@y#àÒ[ý¬ Á"×Ü3Æ8ZÄ•(T(àcQÞå¨y„MŒaö=‰ü8[6sã$FãzslŠyFà[eSw†üìàÝ<éòvå<ñ¹ŠeñKLºÆ`/5z`:á®%s µÊ¬·¢•móì˜ø|ÁùúBfÙL±C÷s©¼-HPkä s 'Ƭ·ú*GAÀú…Áæb®kL1jv‹Bá (ÐpsÜêß¹–ƒÙÙ/˜°&ºŸµ 1¦#øžõBxN´rŽ{ZnGÔ¹÷A´ ø‘#R¬¶\úžu´0¦!™>k7ü9Z^‰ÞÁ:©µÒO˜ÿ¥[bÜé¿ù{úex©lF½¸ÅäjI¬ž­Ô Xá©U{TÕÂøy¾eÕ´Íì¿å:ÛÎ9i¦ðšûØ4Ï9Œ¼æé:À:åߎvÁðeF ù¬`ª…«ÙÆG4×ïÒæNb—4’¾òˆM_*¾U†dN\Ó$¯Þ¹å 7$±k¤>2aµ¾vˆ~^ð\|c„¬ëŒS"´NÊéB÷DlËkªŠ¦y6k¹V„µýÔhu£F1©Þˆ:èÖ˜®©¯»Þ©‘½ÉPcˆÛ ›=Y! écòñ+Àïg²­ã°ê‘qš}òî v0ÆhXûr–!KðõÅàœ.ßÿÇ_ÓÜÑ´Ì#ÁWàèî©R©þÝkœ#4àòýÑ÷jèªÃœ#zÙÊ? —{ÍÆ±„œ ûyšxÿŒEjÞKiÃ£Š¡Î)+ªŠßßY©ý´îšþ«m/??« F Ks‹V(v ¿€ØéH¿ê¸žï 玪fÚ&ñ¬t nb}a˜ye à!ã ’ˆ­ ñT±â…zµ—{@`½:gЏ÷¨È± ÜJº1=çêðN¾o§ž[U¯¶B¢uu' DPÚ¬å©ÒÔm¤ÎÌIÖ¡_aëR!üñ¢!m6BIÀÿŒ-¥±j3¸×ÚÊÒ¿sHvÖµëÏò®Gïêó p|b2ô¿|UwǤér$4Ì¡ëê-¨’`>ù·ÙJag øgø°¼ò[@žšñ Ÿ¨•jÓ4MNhKš¹ò)<<”PÞ=kT¸5ñPiÀôkÅÄåv0ùW½M3Ç'äã«J&lá;œ@“òdýKÑ€&æLÝ?'w Íð“ÌgªM¦‘÷-ÑEª&©Eáñê.›²õ»~Iy!²4ï,‡Ý ê1I•&äNø6#°^)ß-ÈñUÁëÓóË G²ªEª»,J±²€¿ 3}öÙ£F¶ªð§õ÷ûe ºìäÆé‡ûȵñµÐ×pžÂnÝ÷ý§æ‚zöGgˆ0ˆCÿ4³„ÍŠÖ²¹Àá j׌î­Ìª2ì…'‰éBµ ÆHZc5Âå4ØWßë†ë>Ã`i¿Æ¢¯±7·¡Ú#c¢ *®"¼…ÊÓ3KPb:„Ž$9¡©0Z|À¥Ë ï8BZùÂgn ¸ô"3š¯ÝwaÆþ;l< ç½²´ 4»öùýæè„e§oóUÜzÚD¬hÐX¨pXŽ)MW=Îìi¬H…LÅ`ÈbªuO³±q°_ZÖ#¿ÖV±.ϚƬ¤­Ñj£á;„<åi@Q7IV~Y5,sõÆÓ h:ºŒNã5¬&¦¨ —EoÉÁ4$¶ëv4À¹ÝçµÖ›òB* F¯„ò6ëOnz{½¿õ.4 kž=‡6¼fŽ«}+ιÇß9ç€\ ŒŽÊ!nîJñ¼]Þ6FoT²6¦H9ˆº‡G¤+´Ó;N¼Ú9æ¯lJe¾ CiŠ3eàÃp@6Ö[J-u¯œ¸>ï×Ö…Òü˜“E骄K8©jô õÜs·Ñdуw£}ý2e nUÙà_Z·5ÂU´mW=Ô"*ð%åE0õp´óžÅHXÂÛoÁ‰˜×Wþ”©Öó†6ΡªìmPß»’4g²?aŸþßS 6=¡Õ¸oÐ7jNÏ{ÆcêBÁõ† T¨Ò”­Â[ECŠ›æßLÿêOõ¥øX&­yÏs„¸¤Aü|Î+&&üÕôöXË9QxØÒE…ÍàkîÈ£_‹¾¡›0ΈSÁSSOƒòpË'ŽKe¤¿™PyP!›½0@©±.³ +UMœf¬MqL€aj޹¯©%&åq÷‘Bà79Ⱦ_ŠräÈL…üL5 ™üÕõ ]p°6 e ¯ö’i¨ºx‹A*Œèy¹¿áQ: ÁèÑ}iYîÏV |Ęy¨ç`@¹ã¼Ýœ*~'ö×:6$"sH‰ŠËqL¬½ pWÛ7'eª°bÈýˆ VòFP<ß¼ 4ÍQ^·‚Ð4]&mS–+ÿñ-ñ¨ù(ZUóWÏu¸ñ=jðî©VÜú{ó³…z)fcvEnåtÅ*ã¶ê{¼nNÛR-è&€éâôŒS÷ü%œÁ•Jè.œIÍ[>å‹iëüJŃºÒR‘rmc“»4£óK÷W78ý7ÿñŸ}ÉA(X\ELÓêosNM<¼ƒ+ž¹c’sHÐT·(ý»†¨`²Š×[•$ûT.̵Òõ gRuRWìnNã9‰„‰f³q¼ã•¢Ä`´“Î9…I˜Á(ê0Õ›ÙËy?w@¿»×¬Ä¬ƒkç»U}ÔôÒ×1ÎX$ZŒëÈ“è®6¸IJyÏh˜Û¦Re*˜¸ s¢5’î®QE"ÍK_&¥ÃmêAžëÚÎq“¸ì+3::ý@—î¾ñw#à°ŠÑ% ?~üÐc{;ÌåׇoªH84ru‘Á‰îš«b§K~ÎËJXÿ’é%#«T¡Á¨gT¿Óa¾aôÈÔý$á¾r´/™v Äv„f€4ðHÛÕÛÜì³Øm«z`Aª\²Y™{ðƒ3ñAL.Œ9™Sc0Å!l1´íº©a&¶6+»B]ìÃú¢a1]‘§6± ¨A?Š(ë¹â à6{¼{ú>\|é® ¡/DᮇÙòÊ*q¿Ò32©b”–hlFé…,2ÅÓŠMU Y m%ÛQÿl׸6¶« Y†”©$5R>•‰~/')T0x\©üW¼`þÖáf¶¼L”,¿W_Ûá`Ý­tPø0GÆ´æBN1TR{ oŠÖ}‘iƒÇ ô®™”K¦9S×Dÿº=k¬/Ãw#ˆ/nÈ!)õÖ4®ÌLñΪ~VæÃtë®O‡ª’‰ ^‹æ%oê‰ Ä¯Ô^©¶lÒ Í^+£)ð¤ïú·º¾¼ï™}}¨–rDzofKšodi0]ú+û¼¦ÚêÿJgi=U†6¥ªB® Âmö5ǘ¥—¬\ à–—Þx¸ÉM]ìuA€'´ê¤¬ §lL¢MSXö¤ØÒ.|vG^‰×m›+¾;z_Þz#M©Ø‰ÙUÐp£ •I¹åÝ{RL7)eEjè›ËŽáitŸÙgJ£˜_gˆ3 ¸Ì?éi˜¿Øß‰ –¼X‚EÃÜ{g1çËbãÌí¿ù‹¿øRn·Hú~2F÷•W¶â@Ä8=CÓF¾ìK]tR– ò¡9oæÓTb0a–ÄCè5s–¹:a‚0ko°Áð½Í¼ñ²÷Ìϑ٫è¡I¢#óáÞ‹RUuª…]öÞQYwÕ¾Yƒç4‹Mv·ÆLzÎÌ6Z¶†êE±:']V‚¼ ɯ:s²„¼–Ƭ‘»iŒnZÀç_¤FµQwZttܾ-LBZ»ƒä˜‰dúû5b‡ž›åì4SðœPN4yWöÌi˜d9äbh{¦ðyÓÖà¯K,Q°:L•'ÿHC’ BQ\–Ç]#ñbD÷,×ú8­âÿ0µG¢îÀSKÿ&÷^—bŽ^u£Èš6´B÷Ô!³³ë.70hh0Ö“F›Iñ=¨=!Ö¯’ºÛ—ºÖµ:sfò…CÏT©¿ŠS6R”A¡´x yAŸëDœp%›3 #0kÊi¯Á¬Êõ®¬˜þåo>AaÃó¢ê²ªÎ® Y2ÑðªôH‰ãy>Ffx«CC¼×d©‚ÔÅÀvÞÞЮ0h·OŸaÃkKáóÙäÖî‡ÃÐ¥9 BWæÀsÿ¤§IMÜ¿ûx7Â, ëÚ µlg•ç[i—÷*Q|Cƒ(¢®!\òBC+¼wS0;Ò^ÝÚ4SéÜ ˜òÇï{­jˆ¦|^¦·Í§%|ÄTˆEÒqCOþÜ%Õc)­øªø²Ã§a1C?,ŸvÜЖ'š-Aj¸ä3˜¶æ¦ZK-ý·$Øræùyä{4=eY¬{fzÕåâÃЀºS|õêü`±~ˆtádY‘1™¶Jû[Íê”™©od-êPßΨÃ#¬øä½U–Yï2ì ïÍÓ®zf#þ˜ü•‡.yΔ\ø¦q*]€‡ 1F+ÀhGuúm YBÃXÆ"~öÎ#¯Yëz©°dn/x¦‘'Óý~ûå à{5î±+3•K­L{!ö¢ÖßSã¤|ŒË§ Zr—;î /ÓPMž°rì%é Uv”‰»×ÜRÑcزBÓ½÷Ô¯!`8¼±Ä•UK–K«YÔð"@ô®†h ,±è™†l?=€ €·¯iñs˜£8UŒSÃÎ=³Û]v1Mý(áÛªUÎiî+šøœã0®ã Oú'ÍUè†3u †ù*®¸ œµ žçŸ`cY†Jöw¤øÙ»nŒ ¹âU8/+]ò£táOæb³–æìaU 3 ÛÇ›÷w!s!•°YY“qq2¢]™à8hÞªpyg֒ñrÐs˜+Ù¯fíYÔ¾9,Ý<9pVXGý^wØ5·åo„žÖˆÞ ¿¼bÎ<›FÈñªH¨ÂÎF±ÝùÎe Ši=x~š¶ù|%XÇ…Ö%ŒÚ…ãRp´(«CÎ[ÚV˜ Ž-Å9°N0ŸÕ –à?4]‹÷Éõp& õ¬*o˜×HóhhBUªgc¯üx ‘5ùÎ\~4hn¿Óÿ|‰™jô/.š³" BKR*Þ[¶¨2¯-uÂeN2÷MÈÚ Aº&5:Ä;|ž†]£G…ô=íˆUhÜ{©¼˜·ÚÐgª4G§›•i³È+Ýj€¥›’~û…€Ì—¦Ù9 ‚“K&ñšôtiKQÑnÑiòè*Ê‹q@IDAT“ “8æ}5ŸøæFwŸÄ Þë†Ä8{$æ‹ù–—§vÙLÛ=où†¸¥yœ-Æ•+õ¾ªhî„FnÂ:¾_ÿ샗I°4µ © ™4ýjŒ§u”û%Ô|S6äŽwX€6Õ_5÷Ñ$þÉìâ[’Ý4…&â¿¿+•v¼ÄÐ¥ ¬À«h>)‹B«€˜Àz›8•Äïdà›YXº²;—ót«J>8ä7©*¤ÉÌÒ¦½š‘é-C”Ö]ÒÞ—m$äþ¾Zº@~|×·Qú£Á»ã@ઠºDóÂ<ï ê° nXk‰ ·T9žç^Ki·$M99aíb³ëAkÐ ³TÜãMQ<‚H]LSn»ˆB£>Y’_°¶—»jCQ»k»Ž÷–Æ ·×’;Zmí#»òþb‚]§qÙ íÝߥx^àñbÀE7²\]´„ÿôËÉ‹åMÕ—‹N8L©6ÞÒ·_îqi¸CðWMæ„.ŧˆé€bÎ[L²bSjŽë5ì(pžù¬·¡AÚ{eûKD—檪¸œp©Ÿ­€ôïï5-ÚE11[Î YÇT*D©îìÁ¿8È#FLöÞ„ Ò°]¶w+wh.@[åI—Ë4g žô™„`J€*eÿûΚ økYŠ;ìδ'N×9““G~`„…}¦ž±œ‹¸ÕD®ÅE_™¡jãš5±Ç­Æ"{¯ª§K¨×2BôË`æ rñ÷~ç/õI™½î ™ú}—V—4n XLYGÜA)NY«g}ÁsðáœRhÊk1¶¦V•nÌ V¤QÐüÜ,ÞRmïUãÓþÂ|e6Š‘†Óº`ÈV†§ý‘{<›ó6.{ Ô«á•Õ öF±iº*¬Ë\enSwYÈ[k¬ð6«“FoÎP™•9 W í¸Ýíž1è¸vÏTòö¢Jzú/ÿîo¿ÜxÑ%¼†Ù©y “ôQ‘…fæ´@ 2ÍÚf¾¾J:ÓfIìð~Ã(6VµòÔHŒE‡ø%Ééþ̉Îól*B Í5fŸ’(Ä.}#®–“³³%:NÄ…V¤š4z—•‰ ©ók…ª7´É êq4!y‹u÷¾‰¾ðVXäÅ¡çÉ{gÉôjáj]Ž ´5SWãâ=¡™nº$yÅUoFU;u²•NÚ0ƒ­.âñ û/¯­XA«~É1¨ ÇyA®¹¼ü§ÿØ›=™EÇ r¸hÒÔ€!èÚ„BB¥õ*ê¥lö˜ú™åqB<¢-3Ýò9 M1C?+åyÎÕµ˜wZ©¡Cã6S´)D’Yì¢ÉÀPÓà ¢W™ÒUFóîÉ-U´Lytû{MHOE!ª t/þ[»h·eÎÁ²×µ”áéÆW^vX¼ð¿ÿåûÙ=8Ðý0]Ô]åúÌç†ã«é?ÿ;ò…CÌb ‹ªgµàè5€Meâ¡Á('Ôri#øë90àoóy©hÐËÌ ‘x;Z¯ÂVü4¼Êp_9zª·0L!™½ÐIE©åP÷íáìwæI7Ε_…÷˜%ŒÓÈÝ‹[%v½ ô‘™ÇVé×_ƒå ;ä+Ñû‚ãÍ8lBÖS…i*™Š‰–´B9ÜGÐá˜.¼Rœ°aA™ÂÑ„ísà^ϘbànT?øù'š®R¯’ìç4ßï¿Þ–6Ç^Ã…¨ÖB&ÍÓë ­꺃R…ÝX¾7@%1çõ¿*𬿥ëm ϬŠ!ò滥ÊäzgßcŸ„\ö©,R³›Ìß]*9Ÿ>}™‘:sô.Ð÷‚‰Ïb=æLŠˆ~R;ù¨Ø±«2éaW¼EÐ+k”Æïb` û*Ú±'0GŽá´z@¾|R®¹ð›Hº3¥ÑÉÏ0 :„Z@ç:g)jéM™ÔSÜ™U%íÛ~ï;ÿøW¿TJŸÄwåB×™®¥döˆ}¨yÚÏÁ)òìé@€ã–$‹ód®*ë©’$û^ˆiÂ'ØÀBT1+ùn¬C@C‰ÕÏ4G 9‡WN‰‚ÉS’ÛüºÐ Ä–5+Ç|`îè±Á4ÏÚx[tÒ˜ÎY‰¹>¸uÜ€é3v‡&G² ð¢DÎ9©°ŠæfZŸ`žeÞ; u)Æ5̹•åtT ¦Ëë~'ð£Î1SHàœ•v"WÃÓǘ“ø»¬º¹¤´þˆ{0â™ÇÒw7\[)^š°UÎ&LøËu<ç´fw ¿0K…gjŒ‚!¬µßcB‡Ÿ—Y¬o¥Þq†>y㕉åä•Õèܺ@ºf–äcMÚß¾î?´m½iæZO3›^®†oO€ò|k(«{±À¼÷@ƒ_%ÂÚ݉œ¦IJj¬b~ŽÃh€²¦‚üÝ÷]\ô#ÚøP ´Ÿy(.½ì­Z»ŸzÁp¶pv¢vª6ªþ’õ&ˆir–d —áíÆf_9>e™Ò\UÆœ˜ÊŠª^ß³kt^Ъødì#¡ª`ô£çÁ¥4¼Z þªø+ºAðÜLy_Üx·@ˆÁŸ0)~#•+ϾÄW´õa¢LßÎ Œçhu‹}÷ïyP€BKΛEÀ!0À]q5Wä;5ÞÔ©G›ôø± ¹l7s‹$’4š _”^ÍnI)˜›!RˆecT’Œ–Ôú"÷±ºf¾þÓ™Õ“æ'ãªzN?*`—”‰qâÀ“6ùÖÁØØ‘yHøŠ¦»ÏWàÇû9BX€Ø ¸fi:&¸lC—VJ”©*÷\|ò_»²ö¡ >aæ×Ny`ºì`à7ÊY?ì–ÇÊÈèÙ'˜8 ö†úŠrt¦ÅÜß9b¾J«Ê,•íèyŽzt»9ýI øºy„„h%HN5^ѼØË^XZ¨á˜™…QsÉš4±{8þpÿC|ñÆÀ9&ð\æX:òœÖv¶ÿ#¿[{°&GîF\6‚‚í¼{«¼™-Ú7˜²pöäD ð8 ëcžÓ-œÍ¿† ½§÷y kb ~Þ `ÍmÏEfwByœmï…—Æü›‚âØmÂëC“f8#-âä ÓIl â9{aÂ>3_+NÁ*¯úW´(þÌ4ã2§/9v„¨qkAŠ"ëw!ed`l|oÔ[¸lâ½^Ïi£¥õŽ ¼Ÿ\2¶†9hDBâ<° Az3¤< Ý@‚L÷CL£¾föQÚOyYýÍ?ì«RºœÓè5Oíú®L7*èqäÚ¹‹Á'ÿó¿üËS7ïT† … z*'ê`¦Â Gµqrï¡“*_bVàÀ{ ÎIo~€ÑFýZ‰ {Vøô”AXÞfsšëÌz NÛo^i³îNlDã~ç4äº|«ƒO>ç´Kÿpœ7ÒÆŠRÕÊ‘ŒÁŒ[ ýÍ ŸÀ_ <°×x¸1¾£+‡¦ŽE—#rÚ²p S‹±“-« êíèïWâ_MxÍÓ¦¡’èÌri®&~œý÷?¾ñF÷gö«_ ˔٩2(e(º£¹ÚQ¬”ÙÜb–k}­J'O»LCãÜ S9c*hùJÜ}®q¬'MõÝ ?—Û¾@ïB0£Í¢TdýÈUkß,?pÒxî±»ù®xÜ;œÆÌÕx–eiMx½ šþ{ÿöÇÝå—éo˜æ³ý—Ó.&Wƒù®à±`óôäaØ+çõÂ$×ûÛ ˜™÷³SJÅ -1pf|MLíáÈ~²áü›/]pÉMn¡i”nJŠñ µ-z¼U!‡ó¢â¡«¤[êÿ•ªïfÉÿ m²NpOüî P±gÒrŠ`øUC{fýˆh£Ró„lV“ÑZ;^t}Åk–¦¯™?æxT6å‘cƒâñèÁäÈqÒÉ:Õ{ðX†€Æ>GÀæ®8*3BK[§yiªQ¥‹ñÊP<‘îÇMI}LžF¹CÓÞp¥î²K’kI°Œ¡µ ðòÿ…;*Šå4Yc ÚâiµLáŠldJj’º9®8ÌÜŸs º ó}"û…Va­÷ÛÙi_Ì!¬M»æa@`&’6^»@±¶„Æêå\ÍÞÚlh;B;E€Ù©ì)ø À\¨Là_h»Òœ»Bcm°x#Ø9’‘¦:ùL`5ž1k˜±›ª$!%ﺢt:ß•ðÛuŽTë® $ðßzŽ`Œê98dËyc@f!¤é_ýG?)vûèMùÏ1Åá·dØÌAU„Ð] üÅv1Lð…©ï5’×^÷‰M cÎÜöÑg›G²Ä0åóaÏ1C#)ºÖ+Œ´õŽ¢éUüVaÓ}# Ž`‰ #Ò€ïñ?fÎá5ò­±qy\ û>aŒ5-RÕõ ‹Ô[|ñÇXZá Sx‚WµóZJ¶D™rÐ+µH›ÌÇW·€ÓÅSr†%p8Ñ){rð —Íú¸@n…¢Ï¸ZȦ:Zq8,@yÚ¤ên$%,Å=yû¦\î%{Öûc`‚¸äGq‚çžÔš}-”ãÝi´nzÐy³Ôn¼Ç‚Ô7\ÛBw*ÇÀŽÐ³à>Ž[.{Žg4Ÿ0ÿV9Â.Ý•\ùýáyŒfkë‹ÎÄq¾ÓÕ¾k mzFƒL+«Ÿ¥ËΫ/,S1ÆQ–¥r­sûš8×£oX®¢ŒÏ¸l›©–ˆ§.iÍ›ýúü• ۡ_U=4J£€p×<­G’wSQ$<ò[] 6\øæ Ë ~´Ò{š$o®;áªò¸•Ó¡Ù‘)ŽaÄK…GgöÆ#¿¯¿cÄUY«Òq#O´_±ÇK~m H¿69¨ˆM¿îá·g#×-L”“×o}tœI¿÷ 9s „NK’Ï•ñ¿Áúªºwþ <Çë„ÍA>Â¥+$ºûdïÏiÄÂA´ÁAüò‚;ý—û·_ÊO–Z™ä1†ýh«¼«G×Ñw›²YÏE÷•œ—þÉlRV̳$™ô‚’ßËÄVÒqä9½ðþºy‡%gZñësUƥͶ©ãHþWííi‡<ä®·EZ•Ƽ¦ –çltÃyÓ­y¨;ÌSZ«ÐÂàièîããµA»áŽO`ÔëJ(£ðÅ“ìÌ:Üê@2…º«Ú¾ÄÐ-žU‰”³Õ¿L³ÒÜ :w5Wbü0ÏLïWuKÓ¿©•{öŒ÷ûâÀyµuZhîbˆ~…ñæÅ½uü“–aìYéîï [mV÷ÜþF ¹gåÒB•B5`(Ú̯p£)Åe» ¯°OMH9EYŠš«ê%~²‡ÔÅR;‡<ÔL?¾t~` ­·¥t*(m©1Úû½ÁA *,AMð‰ç1e¼Ã-ŒÝPƒ…|sw<”JźݽêªñÐætÅ» hC¼©p“ÅúÂéBãé¬L«Ãí~]†ˆfŠÝ˜ YŠÙMP˜ˆÑj9¼0=õÈ;.ÄrÂäMl_‹ÓíŠCÉ(L¼üÚ©Våûâ Ky-\ù\Í;[Íê{5Bwªm›Àpòû˜¹ Te¾0)Ƹ0`(óô{©¤Ÿ?‘hšüÑP¥ÙñÑ­LbO¾?2±‡œ›™€Jšƒ*®ó³_  q" ècç1±¶jðJáËŽä!Lä›û¤^¾‚îÅšÏO£Óƒ #W‘ÜÄ0†Ðjr”6¯ð³ðËž’§¡yÖÌ$_sܪ$OÀYz¢—·æ_‡ó02{,¼3p-Ù #u-š `ø<9Êv–0ÆÖ¯a²Š €…µ[¨Ýœ2£‚Ù—>W‘lYÊÒ’“FÞ•U©,?ÿnô1ÛAë~m® X@cGræžö/:+Ú år9²ÝDåE¢ð¯Xn±ÁòÈÓúëÏ_ÂBo=ƒ”ùBâÒf]cߥƒW¤= ˜1]€~.YMŒ½e Õ›E‡‘öÌD µBÊÒE£3Ëó*×ªÚØ£FÜè…t\αïã5å¾q£MÓ&$²Ê‰zN3¦(e.1ìZN´òž9ﺄ|™›&㳘£€µKs3&tt1‰ç4½ëÚa†=›ò„,1âŒ:­æy[š¡ì² µÚšõ‰gDX„n\Ea‹sh`LùÊÌj—:—°?À91øgÓÏ` Æ·Ÿ´#…~tøÝ´\¥HDËÃÝh<³jx왪 yõœž¾üìlšt¥Ñ_1¹JÊ«£LðÖ½ûû*î”û Ó\ü…¡1Å uô^ØC^{L”°Q뇅Õ>ÜÚ/L—cT/vì€y%ÆÇ;2寖jñ‚>“fm’Ø“ýt§]UÖÏÒ}‘±3w<ÓУ¬a£Z¢Oõš] ’vþ‹¿ø³/å/KɌͻyx5I€lœC‹y4Œqáð¤ªi©Å¹j w–¿¬ÕÕm›Q˜Âù!8-|ñÜTTD-fôÞð,†ä=uü7D±˜_q¦LI¥M•%,-<“ ºá=Žz;­vègZ9G$-3âQüÊT§<øÊ‡JMÚÅ+ XD(R¨nÒB·´¾øú{nï¨ti6¾<ÞÔUÑ’%³üstI=õ t@}+­±ƒ».Ê `kE¤‘[Þ:@ìl9 o1£Ñd±†6º,Ϲs|ÎU‡ÜÑŽÝ÷\XZ@Pb1—-±<ÌIÐÉfŸaÎ9Ít-MWš¬¸W׬HqÎ.ñ+þ9†˜s‚ Õ*ÖC“iÎKUIa¿“C.•˜5‰Q>’ Ÿ{¡Agn’š8ƒ†'ÙòÀuo´|÷£tj%X+ô)[³W„»k&ã+\‹Zí81sF Ñ'½M÷ªGèÒ»s2ƒ8ݘú $z:‚ êÅ´ˆÌH³—UiS2ÍÏÎI%>£ÔßÙCŒ)Õ»"(Pû¥ýxá”Gm“÷_ý% ÑdʧÐÞKSø—ýަ«.m܉fÞ\)»Ê°šX8lR›^“7 Ç\¸pðB¬®Œtà™°ù Ó$òˆcIò¿ÂøÙa{}“Zk`O½_×Ãx‹FbXׂ$}Ö!Žó†,ွ|¡ûî+‡ ÂÛ" \é€P@wÅ Ö_[ÀµzÅzW«]ü/¹5wÙò•düŽÃ²‘Ãn*UNXæ.†Ú!ö“ØÌš„êQ+FÈvA¤¹+’P@Ô1îú‡PQ8 ”ÁTi¡‡žå{áÅ Ç%æ*'ÞÄØS*´ëQuPE´—DŸk? ÏÅÖƒ”èôÚ1<œ°TkØôæg'„vàXŸïò àJ8±IJ K8؆޵œßŽá H¥uÈrvK G”Þ›ºð,ŽÙô®¥PðºÒŠãQ¦¤¾â¿)Ç?QÑ<ÃTË.Â_6»®–ðBÕRûCkÎgF=à§/ó„üÎt8þÓÚÆCÇ”% j*{ã/9ª(òÞ• å›ä”j>Ájõ”4¸ûÒªm+ÎÕÍÛ'R•ó1Úþ˜h+°!/²Ñ¦6u+S'Œ‚Ã,¶‘L@ æÜ(‚ÑRçôü†å}eâƒ]-GÜüÂ>ò™¨MprrŒšP¥Jm›kÎA 7õÚ6`‘4ÅÅŸ„šï’rË0¬]‘Z¸)Súæ™Ï<Í ^“¥iÕãÅ0™›ª ýõ`€Z/™›ÌV±²Ø#p^ÿÂϺh{4Ê[WUÒÕÖÆPH£W™áñÑ‚é–. „bÌ<ÒÊçdŒG´cÁúÞÖº8» o²™‹¡bß³;ñ¸¦.Km¡-¦èc–ckç(Õ—RcTUC1Ò[^ª1³Ç»ž·©_ ±”ÁŒGJ¦Ö†ðìŠP}·©X IçÖWSáCÚ”³ÅUQÔ¨Òµ cúy„´«w€8q¥]Jµ1½Þ&¤á Û´Ô ®™9åB.Å OMütD™ÏŠ È(&Î0cCÁbUÜ[d‹*Ð[xàÇò*Õ߃¤9·Ñ…ÑK«‰ýo$:ðÁF+o´Ñ5Ðv6U@W-t1ÒzA0N†{Š`Ê)©ÚýŠƒX/o©ÄTsZ¾™8Ñ=MWO3È‹¯ÝY,ÃUÏ˵²»OÍ™ÏÊ÷_ÃŽþžÎsFlœ›Ó‚»Ñ1C☯‚‘T¤¼–éjœÝÆz´Óã°†¿h8ÏÞ·cVžMñ;Õž³ &DÓävo°/å#rÊÃw^}ý]—GO.Dæ#†ˆ˜U=wUC^4o·™Gf^¸rx•Ÿ%-™Õs\³:ˆ„/yRèÿrö'WŸ³æYCnhQHÕº¬…|¦.¥-ŽÙ¼Á½ïÍj¢}ŸPyí1®ÍçóÈÇ ¡„«‚Ón—㉑K»» .П|&pž™ÉÌ©ú9èá÷þ¥çiÑÓ:Ô©õ1Y ¦<n­í«ž„9,•F×Ú„†àŠ?? sUî•㱉9ÊÆ¤)=¿dÀÄ¡î°4F.û[ Ǿ5­6É•g—Ÿ³LåÜ×ÃY Ó ö×üÞpñ)Ç«!óc@&:î87ÍÔ©~„ý@¨÷9‰p£÷wTák :û0¹Áþhbë“ÞS¶¨xàBD¡ÏéALÒºßDÚKÕ–,Ål{©Çc· |_°Ì®b8ùS¯Ùùbw8ä6ã‡"õxe®Â‰½àIñ阘ÄÌÖ¨”Ô®l¾[÷WS8g&â»KA='ùb2•4]NC.1†¨žpÓ(µo èÎ9á’Ñhjö¢q`Íd©aŠ…a’ÃGy 1¼>ïÄî#€]Ôê£O\Š’„Z…" ¢ª£öòò<û_~)|$^ö.£jî^Ú„Ewà&9øóŒäÞ#î³øB‚¸ÎT{ÇÆº2-íáB b™Š®2[Ol’©ªÜ´†ð[úVF¨¡=Yúœ¬¿â·.}yŸ®eñ»!Mó2{–£0K7‘ï8XahÄÇ3¯w´Uò{­½ÝMáïÌsñÌg{^}ªDÞy b³,¥á~g\Úÿ5:MË\Q]ÖX±CGH6Ωq äw4g×âfé^Ÿ§„¼NE ldT{WBÀ2å»v·ˆƒoadÎF];™²F³)¡Ë tH¦‰ÈwÆQÌFm‹CͶ ½lD“¯ÆDRî~µf¥ib˜î“….R}„RV‚Uu1Æ@ DÅ¡)å²xÔÁÇé_ÿ2 Ga’žD””#1ÍZnñU¬Šƒà˜Q Yli§Ú+ÓÆÕŽ©­¹ý›Ik*jV¦áŽ]Ïzîó—¼ú {Žñ;x¦YèèÑx=t{pÃó3Õ,愇L^#9SÔ«Ìö5k`é¨{æ)O5MQãËD(k+å¶¡ ‹NŒ ÷Ó]ÕÈ„FOf¶´ã%Gh”¾{_Búùæ'–¢(_aâbÑîSãÙŠÑ®iÆî<‰^uóm˜ö#¡Ik}¦ý2ÑÛߎF¬'¤kÃfœMNû¦Âæÿv®ÿä·Ÿ1rÞ9Æ"¼¥ÆÊî¼ 1F¿ 1Í‘„ÆW¸Ú…<Øl´OÜbÄffgÍ~ÈÏ~äÔ\„Ǭ{Ñ۞ËWã‹ÄԆƞ7 É=%¶7op·~÷ÔÄÎÑ!¯†ó‘šÙ!‘عx™ÛÍð˜¨"ÓD­¯9éïH¾}#¾³¶ŽÍö‡TÉЕÆ]0Eï1«L±9j3¾†ë,,ÚÍ™iª ËQ–ã÷Sfí^*…¹¢uEgiBK³i‚“¦ #4“äø`³¦¼a¨,Ï t‘’‡Õh7å Îjâ~J"VŠVg¼rI¤aZÓ†1³-ø ;pÉoàǃÍ< B1Ê¿§lîÿ›‚*4UÚ¯ëÕ«Þ•a\ÓëÍoÉ ¾…õ=åìî×9mÔ‰øÞïX’¼ù†/}³¥Í1wƒõFŒ¸ˆúEÌ'!O·`tWŠîyPóQûüUÒ]’[ƒx™Í<2mó¼f"³ÌÄ.õçpŽ1S’U)X«åf©lÒßmÄ*›Ñ}müÚØØ1ŒÁÃ\ýŠs|*)¿§y·pE`e‹@y–%Ò_ ±ü‰çYïÔ¹½’Þ*”ùNýw Û¾] Ÿ•_Y뜆)>W_ÌìÒ|0¨@ÃÀߘ; ~Œgú-Ï5ͲD¿ ²fò<´ß3Ï3i±îÑ›…½x¬¥|w¾÷Â×7›…) °¡icÚR¡—Æ­åà-#*L;†Nú­$˨KlìIg×áXS'ú¡÷Œ)”Ò5ŽÍ„ùó‹Ÿm‚ãÀjYí£÷#ï=¡|§8e…ÈW•ïE`Ÿ̈6údC—B¨s®fU9.Õ_6õµÒƒFÞ} ì„jíÐÂÓ?ÛÛ¥é^_NiòË# -XÜZl(ï“@ŒŒDåÔ€fŠ)‹)Ìì‘>‚Ô6&Åd£%£“VºëìS=±áIjlIJ·ÔBÊWRTc3ÉÁžïkÓ{›~³¨ƒÏxÉ ^ÏïþÚsŒ@YÛ Éc^Ò¤MálXæÚíg+fÖÝ&…¦>-ÙãßÃmçKû¼.æ¢Âˆpžæ47¸çr~91þÒ>ŽCebà>GóäÝö¦­WÊÿÄÄ^Ñ0ãòL•g>BœC{SÚÿË=˜D‰TÛóÂá¤ðmŽÞŽö' bÏšùÒȈQ(ÎU"Ù³ß5Q΀/ž“Ö'ö÷þ8°]šîç[^i!†×ÀÁ´låñ¯/B,pceZm¶i úÃU±â‹x‘;Ÿ;މn±Ù{uMÍèó²-;j¿Â…©zòXò—†WÂ/Ç|¢6±~Ösê(-3ѯJÒ«+ð9ÅiÚ¦_¸ t×1Veñ©Ìv·AnO°F1³qÛ¤g&5e‡•k\ÊùÂVàBZ*¯ö•VêüvcLÅ´NÞw{¬ì¾¹È…‚ê¶›É&do<ûWøIÅÔH#‹ÿîò‰É©€}!öø\dâgôyjs˜½›à«ÉÜöœ0´½sN&«W@{Ñ`yϹA»JûWøàœÒy|úZ­BùÿÆ%à•Q«ÖFbô*fëØÏä ;ÖÚo&öÛ/Œ—Xðwƒ9vˆªû:ÈSÀ·bï¿è‡\m`£'ŠIe¶Â…•åÏhÔ7ŒÔï{>DyqÉdÔêœé?ÂUJ_¼RVGš” 3Â6ï?xgÕÞÝVT!Ãiê.]‹Ã™&`ŒºÌ¬¤.”9-™Îq‰¡ó)ùP$ÿ‡ï!Ä‹ïµõØmšcD‹ŒÉ$úlh»• —²Aõ_ÔüÓgU¾©K Ð_òz›SsÅ3>ç-ÞL\•ÅA¨áMæãüpŤ‡>ÕRLø(¼ôcóCzPÛKšüsùx7}«Øíóï À¿aÒäû:“n¿"Ôtö>¿‘“`õ_7ÙþDØÒ’X† j“ýÙsàðF˜å¢Wöû™úzÓ¯¼ÍSw¢Ó%e;Q­çœú,ÓRéÞ¥ýbŽK—4&`'ü•ùN š9ùþé?r>$štûÙp"Ö¤²{ÈÂD]k0:qxb ª¹Ä}9ÛÊšÎqß@ŸØeìë¶âæ¦s> 8Ÿ”³cÇA°+À¶ÜcÞAE£y´„è`3Žy¼©üäYè0죤—;7½4É)›2몺­¤½¦è¼Ö<¡J±j=—™iXQrðAùÿÌÁ¯TÞsëÚXJÐÏ]†\ç™rœ5º¯œ‰fb¡CžÕµYmÓ †xÌ¿Ëu˜ÛÜImF¶ÛájÿÞ“TÈ_qK˜ª¬)EVaç±aB"açüWة˶‹1æÍ†ÌÃhKáŸFª5Nn\Á%=ZQÈD¬³Y,Ý^PÓÕw‚¸°æÁ\¶nôªHa”ÂǼ~ŸE*¿[*­0ÈJs%xÔ" HÀhî.|DÛN#\%T˲ѼÐ"ôB2j ÕœÈØ+çn1Øu6«Ñ(ÊÚ97¨às5Oeš›Úp#¯>ùŸþùb¡MÒ*]°Ò½l d<Ùdh- JЉ Ìe²ÿ ÂÎÌU¢„!š¼)ç?0Íé °—ÂY1‹]\s@ Â(饭öRЇ§µ°»Þà(‘=:él¡²Ÿ"ì3ÍוªwÅ©ÓkçxoRÔº:¬aD%µ³ûiòJ|jˆïóyhÜõ®ýªR±æï3}µÐÇÁáœÌ£qŸuXŽÄCšeX( h†|NÁ$ÄïMkeýxhã ªù«~åáÎ÷ UslÒÃuû O :ØaÓ³aöÖR|ÔÃÞYßZ8s ªá+Ï?l‰ÿξ€kq ZF(©§{Ì ŒÞz«.êVÍá'ûNWëfJL0n-ˆÁŸ™Kü0¬ßX’upR„ X™°rÀÝGµ(ß^¸¯4áìW #†Ds=ðJ»$æ3 ¶ö¥¦$ pñ¼p5í7ªŸ+$«=±V'I’HT5aŸ]xÁ“.ä0fÉ1Ñ%¹àŠw5Ö>‡†wY™WÉ£=’–¥`¤Ö>™$¹BD¯‹M‚‹¤6 ½Ì@a ,W#¼Ö+†ëï¸JEU`~iÔTûØ‘ô*9öâ[Ö»t“å+Ì–wÞå4óûÆpBûÞ˜ؽÉ?j–÷îâ=vŽÀÅMNпÿò÷Ñ£…äé3QéÇKà}*ör_, öµ}xš9ô¹Qg­6ÖØ‹=†¼ÂÄ3ïL;Îhôú&Np®zé³ZR{F^üLÙXÚ·_˜BW9<Å£Ö˜´R3¹Ÿï¬„‹üÞ§¤ÀX±p²çt´wwœç÷Bˆ7„xTÿˆx”_ºÏ)˜˜þ%š‚*W1ªõ7ðMqB#êšÐÈxá^ùüSa¥pãyÈS¯syô„å’b©7¥‹…&ÿÇ¿ýKJ—úÔ“4 (?8\]úu#4w8¬Ò§~UãЖRÛõ±öݺàÚX±â…q¿£¡Ùç* ];g,&–gqý* ðh/ÌÒO¤¤Ã)Ç\›dßiHb¹]F›Bcžc¼bLI½åH¤éÆ©ãò¿y6ãé)(ëyu Xgö‚ÆÝ;R9xBÐNj«ònjÂRк’ÀPøñ}¨É©™‘¤ü “9;ª•ó6äm½Íò&Ÿd’¼,Af4ÂUO3~¢I‚:£]2ƒ•Îw½}Ø6-j9£˜j@ç `Ÿóf»ÃØÒyÈû—Qò/µVõPåõi”Tr¥óàæ å«¸ã–Y-›ÕhÜ[Ϭï—Z¢©ß Þ”Þå<^¡Ã+Œ}¸a×Aó¢ë=‘Ä’Ö,]èÖpI¨»ïO¬c€¬†|?jÎ?þšäß[r.d”wǘ™÷ Wfuÿ?Î2j_("»\þhÜ"…]10ñ°°/~>F`´Z‡T©Ò#¢taÉÌßå W›]`Çÿ†€]AÇl57d tÁ]¡€Ëá½)çOj󢽫;×bjÕ&~GУ÷¾ÕUMjò°*¨,:_¬jF[×IW7Ys£‹I5w&“¼Ñƒ\ž¶äyRYÈæ'º5°|ó®+—ÝìåLûT%Ï…†×ôÔø³ÍóáæŠ^9_"n˜ÚØXÒ¾!ÆŠX‚ðˆ€añÀêëjÀpàÍÎå]ÃW¶=´Í‡O¨YЏNÁÞ¦‰8ü\c}žê9š-U .°OW؉ c‚kÙ/¯¤])QM^è}x0pÿ9r€¶„åœFlT•Q.p~n9T i¼ÁZ€yíÆ\ ³Íd₃u5i¶+¹&òÿ“>À¨6•Kl…Ë^Ñ«”dï©»HHbríûk‚Ó…5ªÕèÈîùbL¾ŽÔŠöCš0£eì—ó7»½ýµ™{b?úÈ™*»aNÞüF•¥©ê½ùX¾–НÞË—SÉN™Y¥ƒ¼pn( ›œîÐÝâiªE[‡Ò’U^#bŽ~Û?zž›JJ(À¿ù/y^g~Iâ-: rCJï1öŒ¨Éº(‹-ÓˆL*‰ïâì½è†IeÅ™9ÂFawƒ¹¹”`9Uæ¼ù†£OC[CÛm’yä%¨žÝŒ›ˆ„_êYÙWÑBŸç L |0«aœy‘uÓíÑÉÒ|׿°\•áUå´˜&ïyµZÖÊÙ½‚KÃ0?(hH‰´ÞÄ}Â8ŽœqšÔŸcrk®’~Ç„Ý8ï¿ñ¾›­Ùöƒv°Ki¤*ˆ½ÕL˜(o>¨f³‡B / Ù§ì¬jJ¸E8±©søÄxˬYH×gf±+]od bè¥ÅoIp—4—Êõoâ|3`Jãü‡ßߟ­¯^ÏþS—eß2ËÕÖ¢9.¿"êޏ£~Žæý*b_9”œâp>wv4ÑõM½ øòZ‹g6Á ¸âÇkÜ{TÞäñ´5‚tmì»â°\`ºLÍh˜'ÕϧrôÛòp½¿±·ÍÙÛëshc:ªÃØz_Õ,ßi€f è[%WEV†³¿UÃTu›~¸÷õ·5™àÄc,uƒ}‹Yí¾¸ZA-“¹b…HÒ5ÙkÞËÞ*º^oïÂc„œðO ‚ê€éY,Ï®+§EáJ2ô_UÐâW¸9íš[G²¬*Z7ž-KÒœ”tÖöIð²žiÆÜÙú@º.¢Ûš,£‚wÖ œý¶æx1Ñ+€°‡öÖ÷í){}e7«`Þb›÷v°à©J…¢Þ iWxÖÿ;gŽF1¤Y%ÐàÅÒK¨ø~}Àpá‚-"‹·ŒtW¸¨Ëúx*ª."•xou}™ŠÂ/GDù‡?ý 1³ˆSq=1]‚j*ê»jÇXB Ô:ž…&‘ù;ú°vf¯¤{`¹øÛ/’ü ‡Ý5öyÊ›ïF­]ßb Œa:ä¿%ËÉʈzy¥}†/‚!º#ãB¼°žç*…÷Êüsž( C=1­Ï?ÑdßÚØ)šèzÖ%Z&€/†"Õ:šÓ“5™¡j•‡û&`j_"¿@{N]û‹ÉÎ1VPAäÂtˆÑL!-Në9#ƒ_ÿ¤$þ½ Ç0¤FÀYo YÖ9îí@÷ÂB]³Û ’aâýåûnÂóBˆLC“Á‰zƒþ®†°gJd*,×g:ñÂ^e»2P;»¸ÄÞ;» i±°L<3 „t¾®›ðŒœ0ì4²5 +x®SÀµ@s…ŠIò’v)g9®}ò÷KÍ(…3šã²‡ Ÿ˜Þ¯ëû8~NÞPƒó¹Á3B©‹g÷’æ»ÊˆÆM¼,’ü™·ñþ°EåN§ª)d1®-öÙ³rûßCÙ PЦß/pÉ)`ûÆL•.-\ä1ÓpáÏ,d7tΙÂUjvtæ´CZCòÂ*-ï"ÂFIðºÄ¹uþÂlŠ—€j4 Õ/hŽX ÛNWôŽ— ®-™•Êç@Xe¡ÝÖ ÛáTtQêDˆÊ3Æœ%L‰Á.aÁ&5ÜüÎ,4úŽ9^çÖ]Î7fýÀäwÛzC]“±wÍ“Þ+ò|³¯ •Ú}>°{JjÆGa’J¾˜Y®‹-‚•ÑJKXBöaå¨ò–·?ÑXœSÙÝp/˜k'„6ê:ã>‚3xÃù—†ìÞâÑ÷Ãï=eÐ*d­PÙ‡ùÕèUYåD²fyøo2Q=$Œ;¦$ŒLÉ{ÀºÀäû×ÿä´Ä l½ê²fq§â¡rõi šÊ|³€s‹®Í²™&]7pŽÛÖhþ]W¹³è^b`B߆—P†°ŒxÙ{[ðSŒD¼SmˆÑˆ°+È«ª¶‹i…šz@dGd~ ›¾’´5¬B„Š>kön–JÚ$/¹‹˜‹WüÇ,Bf‚ 1—$ØÁF ¿¹ ¯Š’[÷Éa!`‰cÌs¯dj©2¶‚Ì5f¼"DÕÎh’­ª”§õ÷áÑ]44[IòAl¯ccø6,ÙTØß˜…÷üƒVÙ»@ø%FÝXwÚ⺠a’öœ)šÛ²ïR‰Àp^Âö>:„_?Î¥ð6ã,Š­‘RôùÁüÇä?«)\ª^Kc¡š'¡‡@03Za´zA&œ£œžƒÊÿAßB¿á4žX²<÷-Ü>ª ¼«ÂãTI•·3ïA¯…ýíµ«%ŠV´¬B/™ß:$3ý9B¥Ië9) g{vaÞWvmDTðØäÿüoÿé©´ÍüŠ`ŠJa>·¸:UÍÉãÙ2c¹Ï¥Þ^µüÆvä^רtdV^¤Ÿ*(lQ‹bi<Ô?ÛLÞh·Usblà†gm½$’q r6º»oŒ€wa¹ÐzZ»f¡‰›Þ8°G³í–´×íU½]µ‰yà¡€=m<°üÑ~ÎaÑFDŒKvtƒ$4¡áÝÂ1?”U¦~'­ÔLÁkI¬õ”é€F<Äͱt‰÷—k]ÝUB¢÷Ld—7Þ8ä{±Îµ½.ŽWžKyÕ¯œ§—4›ý†g»´§kÜ]ZŽå‘3UöP`®Cñ¶µ*äæïåõ–éÈêØÚ¨:.-÷B‹³­«®E…dÊ|Ø'Æ»û…¿:ô4m±ÏwOûù‘PÃY@IDATq"Î3±*9(iÿpȬÚHT5夜bpòLñGE星%\Åu!dU¥YGÅAâWᥠ³EØ÷š¢ÿpr”>{-á¥3UÆ-¼:·íRìë™yÅå}¹‹ðê [ÍM$`Æ*.=v©ÓË{–¸ ø„ö—·y{…S‡ä< *+">ÈdYM—æ°IÜs `oi׌‹»Úüì’GYÙê‘ÉóZùÛÖ@W7d²›·çcpÓ\Ë]‡ý†Þh‹.,Èš Z 7î6&/Gú°{:û@Ó9#©²ƒ)Ó(×—w^í0ÀÔsú@u‹Ùõ* /Ñn\þ÷I ¦I¢Y® ã Ì”ú[;™…wׂyDB+]`󫪅”ºh&i é÷*£sú§j£Ki\ cÄÜø{ï³ Öe(%ÑMçÕáúu_‘+ÜÌkVAç#âýNhL;áPn5õ+ô>†WÖľؚ÷‚Œñ…_(Å`Ö%ÓtACûÓ+¾x{ó<¿¢ï(TÕjÆïÂȦ:tVf½„ üÚåC…ø*(iúCÑÏð}¦PÍìzn2{ÞWøƒ6ã6Êp0·q}ÜüˆEô,R¸¤Ö<¦ô$¥C[S»Œ„hëÌwª’ 4÷¯Q¹õ]œûYWÂÞza£#^¥oº‚ªIT·´kÎhƃ†#ç<6Zãdc:£,†‚ófEö}¾ fIï›GNmRø%Í™Öñó®Nýë®f ½ŸÔ†Ì d'š¦úàÖòú=vú:ä«pR3lƒAª½»–Q©Ôþ…G]x¤žf&žÓÖ#óC–pÓ3“ö擊Q»ówã’JûëÚK£è 0— ³·nÚÞZ3&Æ|´l3 +ÏjÞMÌOå ]XGp[¡­.,Ì"6h%Ü•™ß|¿‘¿5+A~F´ ß5-hÑú £,MSÌ Ú/ÑÔ7Fg]ÃæŸið2…ÊÂÓ]x82a šu£¼óuk€õ¾s4z‚ae‡ #-œùQåˉJ)lX‘|çÖø–³&ôÔàöÒˆAóF¿…ë§ÿæïÿ/ &³2øò€õ„¡Þ"MWŽÉ„§xiÖsžPñ·ìÅš9Î ïŽò¢™ÔFv=À›,«PŒ®©éyb”Ÿ#€2«*¦cœÆ~t¯Ü¨7l?¼ç˜¼¸QÚ«±Á»¼)ŒÞÐÌ&©æóö¿¤¾›!ܬš'!¡'ŽÐ>{Ä$æAŸõ†¡^h¾ˆ•GZj¬"‚¦Œ>X%Xcž´õEÜ4yÅœ…–ºðzË$?ª ¹BHžÀиwЯÚáž™Ãí¨0@‘¡¨â§ÌÄÉaÖõÖ:ZÞÁ!wmJäÿ¯éΚ$MÓ3¯g„Gx¸{„Ç’YUÝRoƒÃ`Àf C€dš‘Ÿa>Ãq”†a|DaÒÕ•±/îá¿ÿ­¬®ÎÊH÷÷}–{½î>s64 ³÷~¦)jÙ1ÚwÐ ¥Ùï$UäÍ7¾¼Áb¶Á]O÷Ò´z¿žÚÞq.èçgÒý“Õ©"Çq2´•w…·ø\Î]vx/”5qÄÛo¬léuIµg¶yU†°vk@xôn/šÛW øI6sfÊ–/»ùBËSD&;Úî¹¥ü‚¥Ÿ5Ö#(ªa7 GjÆ_CO 5ž¡~nqøÆl^n“‘‚ÎìlM¼ÃwÛö€óíb Âèìç<‘L^„[H`¥w¢ ¯ i°‚*¥³~shñƒk#X_wfúÿ‘l”¥Ã벚?Qü9bˆóßy¢—ÔZm&ö¤Ì£ú…ÎÜGhìž ¯‹a_òôö»ê{ï?ÂêAèÖ3ÙJž}NU ~ ˆ>±·¤ÑîÕ¡9èòÛütxrw.•eÄ£v©ŒøKqð8ûQÖue s‰ èmKPÅY'ïW„6Úê ¸G\çÒ^’]1ñš}üŠ@J“º¹aÙ÷•Æ©ÑhoìÊ7^?å %±0 ˜êDoíGvø›üÁjjoæ:¿Î¿|úéþYbÄ•¸ô¢|r^ð@‹Jž—×7 [Öhw癵þ¨ïa}Žweš¨~|s5ºB(uäj/pÓ‘ÒÜW™9›­ó¶¬Uï©WÈ–¤®Q|sìŠv¤]öÎìP du >å$Ï” žãTpaR5š¿ ùRòüõ}­A‡Â]‘ŸpõµË¹¦ž3’ód,Ãã„娲(7•ší–ýãL9%:çãˆÑiA»ìÄóî$à*[ć’*w’"Or¿“¶¨ñ†µ'ÝòNK–tmE+NÙKõÝç›Q^Ïè­«ŽG‚-šóûa'âÎR×kG6ê7D÷é¢gR¼NÙeÍ· 2©uÅÉYÊND•\˜ÓÞŠ}%i^3spçuõܦ_>'ÉœW™§µL’¹<Çmœm/m5Àwï"ª l t¶lļ&AI¯¶uešùÏsgouû¨|ëH>žI S(ÆÛX{ÓŽš2—UÞ„÷Rê\ #qƒQÒö¦Ý!æ‘£'”Ú§l;õoø†ý"ò çI˜Âˆuq-=®âó5bL>»¢!IÊ5Þtô\'5§ç¦dYr’»Æ ­«®Ì©{ ä„í 9bNu$ÜÕÞN0U9Œe=MþæŸýæë˜‰ šùÀœØ.¾—ÉXÇûo]D„Xž;”ªÿŸ Û£ÏÂ=*‡Ðgž1šù^\Q;‹rÇê ˜=Uo+ds!xĽÅ+1Î1e‘X®Îá¢÷¦Žú”Ó%=±QËf¸rbŸSU[Oõ'Ë%uƪ>agUwœ¤ÃÉ#KÆó² »˜:¦v›'=÷lÆÑÉRiFÞãë£í4œ¤*Â]}Ýý™½—ÙP¸®Nÿ €m!¸ìãfã-\FOíÛWHŸ§vÂVOD—"¾ìâ' ð‚k]öñT÷{¦SBsõ:ë†HŠÓÃ(«dܲ¢ún¶yþ füñ囆 ¨TF^Â+ß±Ô»æ©Ôç:÷¥Lœøà¦ o‚fòWö«¯e,?2BK(¡"µÕÓÒ‘ŽIòÞ2CO¨Í.qÑe[T\SÑŠ^FÆ%ßãļÝjPëj•ŽªC§£µ!„‡È^ÖÙ)Zéâ¸ÒÇ_‰ç=;¥ö»øÓ3‹‹~¡ê>R|>ðÁ¥g-HºTK)è…Øò#œµKÝŠOÎ)Ó¡Köé×f>ëqìc’/íÓdÇUT¸p„”\Þ©PQÍS1µ.k¦L›;üD:ͬw“pˆgS¡M&FvnÎRcËv¾WO—îãÎÃ¥º‚+Zz'å‰8v/Ue­ÙmÙ]£Æ™ÇXRǃ›;Þ°# òÆÆ*;ù ¼ñºs+®ºâ¡€š}.²å\ÁH)½î+[Ù9‡pŒx°wÉ,Ú;ª(ž_ea8gÑ‘Â2À; 5[Âk„ÄÕ°ò Ÿ€äÑ‚ØßùºûJ‚‰‚ •1÷7áâ,É›áC„V”êvÉ$¹ÄhµxÐ MqÉ&ö`ä]loH¿¤46þÊs)ñt‡ƒÖN"/rQ=€ÇÕ“0&·³ˆ1 $(r’-µÍÓ+RÀ(ø^x«,÷@ý% Ô0‡&  >†á°W¬eÔ†8°Zu®nùÌÅw‰ ÄO·ÔÍÁfƒvÆdpLÀmK†9Qã;Q‡ríŽqx‡LÒ,Š#Mƒ’Ây…dFIÅ~N $Ç¡¸êÍ3*Èi^qêóÊ;6g¨˜ ‹Aƒ…ÊäÀÿ<ß ¯¨þ¡¾F÷©S„VüÕ! æŠg–ðÊ¢R é1±4H›0f–pºzóÚÆœœ8¿¦JI•w6XwP$éâq[üS$­ƒÁ¦o“ºV8Á¶–Âé3PüãtuÚJ2.Øéi’æ½$…²é‹²œ“œÍ~dS"÷MåņëžÓó‘’sûv$j¥£0à|¾âØÎà˜–òŘØúß­÷`ï !*Cj…ÀŸÁ&fT’²çÉ¿ý§ÿä«ûð">]Ì6;`"ˆWGÙ05•YPshQeÃHÏg+ž»Ø8øekån¯Ø©Y—åtìHò÷5ºt€õí+wwê³Y•^6=<¯ˆˆ³’¾…ÐPGß•ÐFglˆÔMªòÝáEÜSF~ؼà ¤Oêâ˜×û¹¤ÊšEº/'fMÉœmì(‡ï¿-xiêö»Ïœ,ç7nI5žË,°­qÛ´³¿{Ö´ólǪ4ü«sBÜb¤Šh´5Ž0/viTI¬|ùwÏÅKãò†‡Br·ös¨Ã šŒ lí„Ĺ³¬Kk]X—æ†L0hïßXçŽ.nµb‹9KàÝ1]6¯¾Ñ3Rôˆ!(ǯbýßn݈áÊÆ¡?Ú øãU‰ê A”„®QS ´Úè©*·#¤¾Ñ•q^ÉkŒ`Ÿ@9ÓOŸK£BEJÜp¦DF`> &Ç’Éý›ë¯•cÖ¿%Ï¥£0½¥/çUd$ð’íá3Ç6^V‹ÞŒËÒ"`ÊĹ ?ãFq6â/!ØEJz^Gî€øÚÔjlé=Ç^Z‘s‡XÕÔ#®±µ¬õ(NôÝšNÙ#®rðPMÂ_qÓ9;¬E³zÛCF=¦kT^*P~RØÔ¤ñ„ ÆÈfÚ`ަ ­üyTr©ôšzÏ¥À~)æ·"£¥,³ãZ.é¬Zâ­µ×ÖãÔ€—.¯î KÜ^ k} kÂ8b¡¡„Œ’wïÅ^ƒC’ðá—µÐxc>m¸º‘ &Ú²µë Ÿä8erl]pݱʬàƒL£ÊÎÒý('ò•<{w} ³µ÷Ôg±ßœmß½¨_"Ïä NY€aÌô™`•3?LDJ^)A­åF/,ž­¾j;Ï„Ó,‰¢žAi²‡¦Ì–ú1î:û(ÒTÁW#5°ì`Æ1ñÀ½¤Xs6m@cŒØ¿úõw_/ªÉ°ˆR¤Fº5»§b“‰ ÜŽR]gT`ÝR­qyEÒØ·?S«+ ïd Ž`†nˆjöáuX¢@²&›‡šã¡v‰E!’3•üµ½µäaGك߈?—³wÊY½ÀQ+Mý‰?:¿#.kKíÌIŽ…°_]öGB‚ß3ÔsJ*êçâÀlµZè "-(U0÷ßÏ'±Œñš^&z^„sï\7Ï®g’ϙپ øêLÂPŸhŽÚÖ¾!°âܾ> ‰ì±­ìÖC‰rB©ƒyàÜŠ¹Ÿ>yŒ£“5„ x9)BõS›i¡šçeOeöX©lá¬JË^ÙòÒ÷[þvw¤¹uŒ*D¦º•I*çžýœZ­/c {(ÄN´«a’g*ù«^#¸0ÓW™ÔµëcÊÑ0»O?Z~”´;'ø'èº04cy ¯tž‡è;G$8AW¥ë‡·~£ÂƒÍœÇÙ¡§“wê7«CV]ŽI´°Öw†ðDÜ6NÉ£ª¼æå/BKõù&ÓlQúïQüÂ^:Éxtp{Cu×B¨?ïÜÇ’Aë¹{.xuç ¥1]på]ä7OH¾³­°.5É“#sš ˜ÍE"5M³¸ëšZz“¸Z3Dt‰;9FK}jpCíg«cx·Él¼Ù÷‹¬ä\”ö´{› »Y.ø¥÷¾±ÕÚDï]ÃÊ‚í9 è¹)霞­…ßÞÞÿWÞ—Uß¿¢Òf}—™1RÚ¨a vØ]Ò9ñ?7YÞµ8ïÔ8ÛŽIPx˜ÚÆEÙ!¦–s˜×dmóœÕhxxœcL_]mÎφšÎÙ[o³þ®\ÞôDÏ(:’4ÝÀ¤øÐ_$¤3­q@úzÌés÷huH̽3§ú}¶°R¶¶žKg’Œ§Ÿ¾#!bH{}g<‡‘~Ií W¾’<ùžH‰†ˆyâ„S&Ap\yƒ áÎNÜyéѿס9mIˆj³Š¨6º‹F¥dÂPyUAå`hºÙ}p¼™ {Ãïòº²ë*ô¡¤‰pÜKB<¯­)OÅH%F3ã8 ß:ÅÏ´ÊúÔÒ\Àþeo*-Ý"zÝá_\ðQhç‘:mœ@‘V4b«ÙeÞçèEf¤Õ•”%bMi-ëM ðîf8+SÄTö@;‚ñÞ`ûJEÕBØu19 ¯a÷Ö0)L¯ù$ä_.¿·/ë“£WEöqÒtÏ.ÊÜzµ†®#gî*‚&úºÏâÕY//.æÕÚçTåÍ¥9›¼“=†$¬Gä€#9Ôä)~¢ÉOó[Æ$tŒ@xÌ”©«¨RÒyglNòLd¢4¯:àÁ¤`C®OÍÌns›C‡",IÛfwÔã%òáî‘p¹°CÐg­ä“Z‹4‰éHÊÙÆ3ÞL¤JÂé÷—iñby§©Rž3÷¹Ùv×-É3\4ï˜êÈÝ…&ý¯þŸ >| ö-ò’JCŠ´oZ"î¶€"™5—ì°šô]/ö2ÝïE^æ>H¢;2ã·J‡øâ`ŒÚ ¤¾5Á7—Tè;tNMœ¹œˆ¼wrSóè©qÒ 'nˆú’*s€nqå›ÈË/onhÒÙ{Ø(;„’ì@ @~DÍ‘^4=; æç³«R¨0JqÉVqŒÃ¦#‡È •pÖTg /'²ŽÒÑwj€_U鞈‡Ý5¶ˆÊ((ÃÒ0ÛÜZª¥l.<‡ ¸eùn!ÀÔPaOO6Ãs þTeÓ¢’ˆ_>'}¬Þw±•’§ˆ\AyÙ裗·'2p¬µ"Xg—cÒOm? ‡iš(Ådiby¡²¢"÷ Ð uf2¿ŒÙxë¥â.IS] ¨zË,HÞs¬hVâìHC½ƒ–ÞM‹:NÃYƒª_ìa[¤fœÛîÓûãòs’ØŠülÅ„i*'QeËœ·Š½ÜïÑÿó·nnQe†øfëBçž'Þßl ÄÌòþÊEn`ïo»ÿÎá¤A28Ùo93«j‹±z‰Õ§”Qcœ,j†<Û­ºãrÔ’©æãl‡B7$Óñz…µœ‰Qe;–W8Zs`„-B~噇µõ|Ï@óœ….%èX]I)âÙ;ä¢:>Â)q±yÔvÔçË–vÅì8ÄRW#ûK¢TŸ\öFó<\žaíÚÓ&Ì·˜·3ÂT¼u%e<¥V¾Õi4´¥øÈ˜…g}K­ÜΚ7šŽ/G TP…#HƺÚÅÙ:"ô~¿¬'­7̦֞ݛç¿wÙªå!ž‘3çðì;¬0 ÃBgç!(*ñ`oM´ ø/§ÄÒìÙ:„¥~¹v úÂÍ÷ϲƒºÜMÌ9nx˜c®G´þ19jìKLRôiâóê|k ßĬ÷Ö‘– ѨSÄkÈA8%áï/Q¶T¢bÀ÷8!u><õ¡]M†„âÊà­w\C^š‚ùŠðÐÉ7"”½Kî–Þ1¯w ª·=‰QS ŠËËaKÚWÏ!M*4½\Ä3•ø–{_£¸¶ »d\~6Ž-ÚÀÒEfÖœ„·×T„Õ}ºE$+ï¨vãš JÙ!ªƒþ}Å¢GÞ£=‰µ¥ž-á’¾>_ IfIá´Æ@¨!ÂÝzøU—G¹“|¾ =1ŠcgOeÀ4,ñ`ᡨ‰A’û×ËÙCh`ªoß8alÔÂu—E+P~D¼äè-4„‰PFíM ¯ç«ÃIÉ0KúŽùûÜË~ɹlRS÷”)U7ÖÞWÑÕ¡,„vIÄ!ªM6#3§à«"6Í ÛZç }='´âîlSç:î‚}ú*ÓÍÓœ0’°ïÔ>oò?ýÙ/¿–>b^è©1ª¥(Mqi6ÖÈ¡ów ¢©ò¾_”‹Œ\íðꟜG™D|DÙ£Ï Š)4U;ŒB{Ð FI…té¹öω¹ A+¥2±!.ïÕÚ>R÷I»*ª"ò6Ý”!ç#$ÿŽ£ä„ÔÉ@Zuèþ]³õ’j×Ê&<̤T’kÍs|”,Z•j9’”3±îà HÃŸÕ `]ðô.Xiæ8a§Oš{Né'ê[2êô´u^yê Äüñ9œLâàSé/÷ɹ°Óc6^ÅQ²%ëF¶ädýâ‹ùÀp¾&*½‘°ÏöРÁáù"ìÄmŽžqkƒr^%8\‚}®Á1uo˜Zú&Í›¹ÉUÜ!uôO ‘L5vJBþ8&¡r:#|ÄÕ¢j€s˜ÂûÆ–{ˆs®Ê*j¿&KÙ¯ü^aÙ·{øI4áTÅàÔÉN ›ò,ÄľàóTü‹`µ’+ÛÈLþö?þ“¯é¼ bë],W$ÅÏ.êEN]¶Ò*N2¤³£‚Òˆ¹%&CdŸ:fOÔù3À¶#8½ÁÑ$äzÏv°¡2Cr*$ #LœÙô²ˆxÇ[þÐÍÁ{wÜøÙ¥Í¬§O<=Ëdî»Þ²u¸GaŠV•A>&dºòU±Á½¯Öv7âÙžßäË9sNZŸÖ,áM4W "BŒÑð›lás{ÊKd€GˆÙµ ¹ººtñþž§]‰g)a ¦>g#æÌ4±<†« í7B~1ieÅGˆç;qÙ>’œ1|%«DØ`Îc_fOfÑm²#Ýù #>&m¦îœGYAïÎ=¦º·="ñdRŽ#Ö9–êŠ/Êì¹48³CjØûGs#gô”.ú“}Û8‹®»=Ô+¨4ÿ’5ö̤˜ùÄžóêß¡"cNž[©ûƒ¢z!èµGn²zÐVfWgŠ7¶×ÉŸÿææë’m½®Wpa>K>¼fS TÉ!× Ó 1;z²ØüÖÁf´n©„ÀêÑö •gKNI¯ðMµµý)…p&A”v€fÍ Ï©ÜºP•û×â²}Ð;|vg30²:ËÎä Ééô6S]ñ²°Û¾ÈÒNqtw1ÇSñÒÞup¯r™gžeÓÞžY-GNFÌxýÎüXy1ÒÀÛŠÀc.|Âñáü°!OEc²S‹Gd…ý²I’4¥þç]Ö†pOëÛª½o`ó™“ï¬PsLÍ2M9gzG?Kh’x…NÃÇ`Á$¥?ë@„>ÒóÑUÕ‡TᣄÙG1³hKÚÔ•¶ ö êùŠmÖ™Þ?hÄnŸË˜aüýã­Ê9ãÎ&%Š¥¡2G¾ù~’4¬1XS%k“6g4n`,åºñL>=]Û|Aò2cüg@à]hRGt¡$ÈÐõ0 ¸ Ã<Ûd´ØeKÕàÞ;ˆ9v̉ÓsG•ÎI•Õ”ªô¥ÄMïý™1:'°µ¶ –TÊ”ˆ¯=G™Õ§òäî _)/-o®¢ŸQVo*ÚñÆ&Ùð¸UcÁ½gÔÜ{& ÔA¦Ö¥¶±Ëø‡N¿3Þ ´°¬"[qÛg˜#òrJH+GÏ·wDzñžf¤¹o ‘•`Š‘ƒ ŽÙ}oÒÕ²£/m`|Ñ—Š™RÕasõ_)Eª¡=uI=qØŸíϤÓ"Û¸äÜ¥QíÒn¥Œ­²“{S×—5É]–z¤ùÆ3vd•‰5rr§þŽAEŒPÞgDXø4œ·áÙ»lz’*‡‰ÉeÓ"Ü'LKžŒIU߉9GÔ „:“Õñb&Orɶ+äWi5×Á^u? |ia5¶RFJ—01°„á­{ËyÄ0“¿øí—¯‰éš7Î©Ú e|zpë‹ÁÞ È–ª—Ë«iDDüÜ'ƒò:QO UV¾ V"Aµ­ÅFÇ{^3¢ÓTópˆ˜½g–Ôðû)ƒÿÜ»ßy^]ÆœM8ñÎQ~kLèß#¨XgWS@)ò•eò IÙ"¸­\·zãHú§•t mZ1ãõzôà ‚[øy.ƒ–t±Î3k¬íȳÿ½¿ÃPÏß×kešIrø·©ó9LS?‰F +Œ±²™±›JyluþjŠxs“›·Æø‰ÆBŽî ô!¨ÏVº‚Ë$8Ǥ¿ãD!Aáãß¿a’Ê™/‹œ ÄlˆrK•±È«£.i¶†åu +5kôþ+Œ‡Ù­n8fIÌÚïÆ,;÷¹°ç&œ¿‘žZgE»Ò×À†SôðídD¬âÆqÐó"g¯ È7Øë4¸³´m8Mõ/r4ù7ÿäw_kv˜8Ý@0 Ól²6 ÝAž3zâÌ7vNÝ‘jsŠ}ÂFƒj)Xr™TÏhÝQ³FNk%Vãž)Q>±H q5˾&2Žqéákå¼çÓ9Ôð)ɰWSë1“ض˘ùéÛ£§É+ËËe›ÅÙ¥mµM|ï˜}Z‰à) S–ï{RˆD* "¨²î´Q›àuI¯žSpªí&Ù;qnñííqÌ «ád‰¡“Œi‹¯ÄÔmÙ7âM’"æò ØóÌ _Ú»’\›Ç[™7Rÿ\öÈP}It’…Ìðlî`0ŽÁ•ˉª» î ŸpÉÒ~Ç€Dë>³ÿWç|J­Î¯¯s6%3 •0IEÖÙ´¡@¦`ÙbÙiö*·ï‰x“ÈÑ ææ9ך·ùÂ…Þ\-:fç±_“’9£“—ç”Ø6)ZU±ÑÌzjËfY(÷ÊrBù;É_‚GCµ›“—¦m]þòÏ~øZ® 5c¨Ž\?ªã¦4ÆÆˆ“Óȉ­æŒ¸ŸŠRD åª]BÃIö{ÂA{ÊG°º•Îó\S±OE¨(DØ,¸“p BÖùŽ´ò8uêÀòt#ôOr$Åfa‡ šsV{ƒF­„˯ãTR:bë`nß~ïÒàb«ŽnEÊy”½”Ö@õ³Š0äc Î9Y. ";&=‹çÖŒ}Øsö–Å\ \±è÷çhé*^ýRƒ¥GkËû=Õ~Tò_ÿúË×3vRvjÄMB#lÒSj¯ pÝü¨ÆÝµ³˜]}a ¢pbuâP>{ØfÔDŒc’¥Ã;)ÛÅ¥þ*¼NÅÇŸ&2¦]^ÉøT8ÒŸÖ1ðöREMà ÕÁvÑeÞTW&sâ| çsQ9¯Äú¼T-\ÍÈ-Ì"Œá„ØËHHšÍI™êTâþ`•&I)q3抈~>©éb©²'n‡ejÑqpáe¤ìkg2âÐç5“ÁggeYøy‘“8*© j¹vF>Æy͹ÖSFÐÔÝøhõD§B ‹!u<ãËõ5bD(ˆ©pX* q0ÜSµö÷ šûÎÂ3Ê<©'bÐJ!àêÛa†B•Ìá‘yãÐ… ò}­³{¬eÉ£½ÑC%7§dö5Áä#2†ˆFT6²ý„KÎPå¦ý£‰UÊ‘ýxMÈ/ÏÏB˜ßa3™š¡WÝ0á6íä/ÿô_ƒ<ž-â…*,ÃÂ9¥GÇ‹*§A_ê|<â•„F4V¯ÐèÄg¯`#™r*ýåwe[„š'zgãàÎƩX‡—º¡}ây¥ŠÕA83¶QϳÎ3˸­ÇßB¤¬«ì›j‰ÇÀiž×á.¨¦‰Ã<>¾¤~H»ÁI´ÐH‡ioÜeè4…©—‡¥%¥Êêhþ.>žù †b¨>DΦ+ý«2…óT ©Dƒ éY†Ðžê=ç­9,¥µ7_7»jlWìäsRµ(QÆz¸ÁÌÚ³‹·>«éh„mìÙÙKDœÙS—Eå8ŸGÎÔ;ÇdB#4Ø©}ÌòMr¥¹?›•4àÊŠ!×=v´‰y½wʦï;Y}¥ˆEœ÷OCºžûL’¬u¥k¿§BiÄDUÁÔª|FÏŽÀÓ,á­çQEMñö•ÈJÙ3çÎ<ó$CõNÂ.òÀð9?›ˆI-éÐ1IÍÐßþî7_ƒ@RPRm$Ú9I H†9Cï"½w>/ôÅ‹—+\^9´ì¦Dì1£ßÙƒ¼ª°^û½=e‘ œŠ[j=ë G…ͽåkÞÓ@™l²˜¡LEâ¤õJ®"(†³KªN™È5Ïž +ôU:û3 ;«Á£%“0öAÒ5.«ØvÜß ¹Âgÿ/ToÊÏêJJ×ñÜÝßÂÏ,Ïó¦ ó ¡{E«.¬âÒ7.æQ\…IàÚ¢7˜-R;0œ+Xzb×n#V’,Ÿ(!¡¬“}\NãÇêÇ™•;fãýÄFÆG×¥!”Îï]d¡¸© î5{ó…FÊ)8bfäŽßs*F媄ÁÂçበÎi œ¸Óì÷ƒµ×–$ ¯Î ;Ž‘«AôZ®åøÄÞÖ4Ñ…Ä‚•è˶¬h)tÚfË”™» °¿ˆ:çÌó^˜d6w©q7ºc9Ëö__7ùË“§¹:CQŒœ@«œ¹ÔÑçpG\±Ã= <HcQ!{öÊ‘Å'ŽŸµ#«»@€o8YžØ‘‹X—¥L’Q\Q¿[6RÐÁ˜··y‡{NLS7y§îI—êykÒ³÷ý¼E"™T¸¢kh sB¶×f)"‘½PR>à‹݆²¥vk2TL3ذ H “¨."¦kTÁQ^I6­]Ç»Ï_Ë´)¶Ç®]|íÖÊ^a†Üñ²Uj°¹Æõí¯þÔÙŵm˶鳅×.h oðãèEE•€-⨯0Ä"º{9þôwüù*Ʉ𨡶ÒÛ èç›#íqÙ;„W6¾ìž;ÄVËï•Mt'ï$ñÞÙò~ú0Ó&ÆÍ„ò½‘ïÝáº1¯¿HØ"÷,i´Tª ©4b‰¯ÜfÚ2£3õT¤£ÐŽ)p·n°áƒÃc\¬Q!¶çA– Ä3w‚ö4ԚÚñ¸}K·~S™0ê’”“‹ØVkŒ×5b= ^9eQêàr qƒèW¤Cµ(£›ƒ}×úÆwñá \´@‚^ŠhdµÁ}ÞÆÙÆ™uexu_ﻤ–K¬gO­IÏbât!BÏÎb" ÈSÚh]¸“ŽÒV7ïî©;ç@ŠI—À4Â-Ò«žd=iW—ÓvfÂR½·ˆ‰€Â×b ê=†ƒ¬Åßð†½òÊH©¦c°ØqJÿèô™D£G5Šûã¯U;åá,Ø3ß™’5“TÈfšÇ–xeÔçý–r•ܘRÕÎ|¯¬’z†¤ŽË€n@`©Uå4«CÎ +ÿG‘·wÜÏöBÌ'Ä:µ˜frY·9ÙŽ#6©ŒXÈ3’ƒ-éÀS·y§¥d¤2ëE=²Làg³¨Eã8¤Ü¶KÄ’j.sxOâ–+XÛ²CëÙÕX|c-¦» uw.~ÕþÈèþÀ3žyf,Sÿ˜§ÖÄ´(Ù¢^Ùç·_’^aÕšìœÇ éRNcàzvR‰>zª›jýuê݃î> ür)ŸI÷$c¸éO/wà(…^„+q· ï$we¦¥•¾¿’._wÕ¨>иίˆôÖ\úù”ÉS ¶©oHÅEñxLšé•£²„k–:W7Œ §ªeq°`Ÿ³v÷gkþιtɘjÕ…»•cJUðòa’θÌô¢$Õ$m6æä/~óÇ_£È(­<°TŠÊ[k¦[…GnbD5ލ=~„Kæ¹2~⺣ÀV‡p†³zú5 ºm_ÑS=[Æø†h ˜õU K,m*qÌ0º ¸ÀBR ‘ûÈž4®ð‡ý„8Ö¤Ðh˜):ªQÜ9ï«ZܵÃ]¹ÌJv%FØ;v_ƒd²ÉŠÇq7¥C*›Xñ ¢8åÑžÞæ$¹Œ"X˜Î= k"ú 5øî³1Rñ®ˆÌ=£Á†3‰æFË oiòR•k•n¾9Ôo*¬Ýg*4*£ö•/†©>=?Žjž»ƒJ´ÿJ2¯D(²Í'¤|Ýqãkûõ½f<•b¢Ð†VjÖn-ñ_øûbÆ6ø¶L™üì2Ü]­™WÅc0t;{'´á¹h¸YjUѬMÉ4b8cxíÜ]–ÚV$¤¹e+%ÄPsɤ#H¨ÚFûþþÁúÜAÏIOLþÛ_ÿµÙ»W¤Q™ E'ªxo$gÞpÜÂâÎÀsDJx¬Är´ŠõóÜ÷ŽRPÕëlÅן.ÎÏŽ:à°¯U];wÐD)WÔù”ÊùDŒiAb‹þÇ+ü°Kü4¯»XPR†‰ ¸¬hXeãSc¢r ó&ë€.U»*ëhWíH¬¿@yÍ,»ð‘Vϼ̪ؓ(«¦~8g.Ù ú{*WRõj]ÍåˆWƒzJf¨èuÉžý{YÈ?ˈ©(=“Å}“¸T£)[¥pXØ'¶µVï°(_Œ|Ó¯‘æÕÅYKE[†’4ªi^rÚ¤€ÁsSÍ©Ó êŸãÂŽ‘iG̹8ÕY¶‘e+gÐ…/¯—ΨM‚>Ð@Ç‹°Ë‰;(M¿¬•÷aオ0ØÜ½ÍÜyI?ß~ó|ïðz† ò|Z$ü÷”&9Ñœ<¡ñ‘Ɔ™hŒw{êîk(0 kyQ´UäeUy€m‚PkŽÿâw_k ŠVúŽûvE\0!yòt_ámÎÙŒÖ]í–tšI³¾P·‘Œp'¸è°[ë’}¶düOΓõ€¡¢NjÉ e¥ÔQë i3°2o´qIÛ‘öž„¢ÞÛý3šY²kÒÔaNyqõ,ؽ…Qºx‰£˜Çب+ó…"<ïé`Ê'L2÷HqRÑ{;ÈŠÐëöup`/ìšâ¥õNlݾHÚ"Œ±{?ëÏ­õc)6j(UViÔy¢ã+ü®+Ãiv†‘.ÄD+w¬Ë×1]Ò“lAìî´ Â¨,ÀÍÂú\¨õ¬<ÿÛ="§•’2'y”î¬jÄKÏ,`ô¼&#†ƒ’ÈIxŒ¹XMJ]m§$a‰·5ìœ*[wݶ˜vÔISïkD‹œ¯“öów¶Ý¢2Í<ÙñLôÀ6‰¬÷Éó^|¦ËFÝHvîš]y.FÝÄ͸3)xGL¸ ÷9Ó¼gZëÿü×ÿRfŽËä%•Pú*W­FÛ‚ùÅïjÿ¿⎶½’8»³o&šÃ%½ò žý¼Eu9ÿP™;àv‚ë|¦QŽÍ;CjXðó ry<¿C/p]î¨ÀÖ8<´‘=Ä&<àªã¨Ùá,®ZŒ@ª‘ŽÊEq5Ÿâ zf‡™óP·€“œïT±™xĉáEÎÄÐß‘’öñL%žÅ  …÷ #Þ¡×`±D‹v_†8ãgHæ8:f¬O_; 'bcÜRÒË´…Ñv®’ÖÔHšfMUv9:¨!4 vSÚã)cð4ÓE9Ò™=¼ÛOØä¨/ñÝ,—wDXÖMm2¥ëð°¦rúU2H­ëRë/Tÿ©½åg×X>Ó!ð'Ìo óÁpEhÂê*`oLëiõÞ©Ql¶âødJ•ÔÞ…ÜÊ%ìv£òñ‘Ù•™ð‚~ƒunív¶L“FR|{þÉÑ}”´Zèä¿û§¿þ::Ú;°# iNÆ1ƒtƒ0Þ‹ð0›·;ðž.†.M»òº6=6ÎËjã'¸-{,ýžÔ¬ïL³SG ©jžš |f˜®S.õ qPɵé(êh\<²B8;D¸JË,Ù1íO¢½Ç¿¥zÓì¼R˜⊸DGæÐŸ@&Ã!²ÞÞ Ý†ýùœÔ¨oJs2Â"¸23F™· Àœ$(Ö\xj&:Q¡Üý’ $\¹‰¯.aË.®v­Ù¶öYÖK}¥7¤ê±XžM²YO!Ä ¶ái|ê4ZÜAÉkذco‘®aS•¨ÐÀçzhE½ ø¯%æ†'~ ¨.)ñÛOÓ JÈÞÊTª˜>ûöÌ9W§!Ƥþnäo2ç´JC ]¦ô–Õ{v¦{í~'¨¡I¼ö}ñÃïµ1t’©óÑú‹VðœþXC‚´ÅTèmfÏ…. KF€GÿÇßüKwEµ –@Ô8kŠãÉÿ8$Q¯åðKC<©N§Ò/ûbb´g[öÇ>ÛÅXæ¸ø•”z§rÙ“ ¥U•ž¾µ‘µ÷a†û6Uƒ5X¾œŒñM?Bœ[i[{*(®p¨¥9û• -kAt‹Ë?4ÀðHÂØàl`ÒSã£ﺖN›^é{õ>%¥¨äÚ@fÂaHíÒ̺ýòú2>z[“ö˜`WÃm§y§gà¬Ì—ÍÜ.MÒÞ–þqC½SUÏ{²œ}Úsý“º/JS·y s¨ÉÆÙöìIòÓâ_'N;p¿Â$·¤L˜ßEÀ?µnÃC‚-?1è¬záSîÃ)1®†)C¾`zÄ m9*ùÈ=çžiƒ`ŽcTôrª€¬7ß0yFvms÷ˆ½RŽqñ+Ÿ`Öjh¶lô‰6Ùõ¡wç0i ‹<飯ù_ jªa­¿úå|-4Âëã`õÄ h‡ís¥y#zï8­ ):h¡xiM«ÿÖX(•}ΰ&Dü=.¤Û JR©yÉç‘/lÁ¹Ÿu±9"•MÖÖµá6%¬ì©„Þ› —³Ñ´Ë—’ ¿Y0¥á]ì\^Q%¨ŒH{±I﨎ø¶y`ñæÙÎ~ Ìz0R}[Š@T•‘ÍÕ´¦Ð“ ŠJ}ó­çÀðß•`Pt£óñs»AÀ¾`]­ÄªýGkˆ{H•,ñN¡ƒr®?Ep}3A€Zè`¢² ˆ Ú{W÷ñwã¹$ë‘ÛeQ É{”ž Ž‘ªœk‚e§Ÿ:¯ï–óê~ޤN"âTuXf6rZ,ü³„ä4i6sÏ ”þÃþk¨Q`#º‹•µ´R8Ex¾ïû7 Í%!@g¹¢&2Lg¤Á;¢œß õÁ@·6JzDk—<&€S]ÅËgë2K±~•2#“‚§~¯€¼,³ÑÄšq¶œHÅé—–ž ?6Yߺ.¢Ù¦#–²WN2ü¬iL3Ck¬¸#ÖT]›ØXwsG69 ܼôžUØïÝAwࢆz)H2Á©Iñ’†H¶Îûå Y÷T\yÆGê~™(wë' ²þPll]ÛµÆùˆ¾5sV‚á¿Ød§Òч„óÂðPrP¢Î«3®»½3ÙIA̦Å϶Ýç­û³l™ä3}þƒpflÌHéãƒ#ê6nž±§bÎ)‡°¨RmJŠ–´èò3‹ÿ¾Vnr«„ÀƯ“Ú 8ßL¬²Ã]ÂpÂïJ};¶ò§Þ{@ É«]{'ñIÏ­wÂI‹ƒ·Vüí Ÿ‚†’À#›³$…rb Ö)GqC½; JƒË7ZáL ²ÁâG.´Þ}Gº&”QQÓ r Û$O¸ìQ>©LÅÅõžC‚ž'`‹q†(dù\¨¢Ëôæ³¾Ûxi¡óJŠ #Úv =m­sêP$qÚz+¯¬ŠŠ«Kå F‡*ð„(«IPÉÞ„íŠÊÈ.‹™ Ò[›W’2%{qCjœJtèß:ÙIÖ¶’ªŸ”úè”ås–— Ó/Ëp0 &‚³R!È…|wV°>fFuÓ™ „úøõLM0WFtñ­Ž˜%•½°ÇrézII¸I=:—íEZÔ1È£Ú”œÆæ–‘í GgJÅåÙV¿2êfH¤ø.Mpz<Òžù ŸV¾ÿŒÈN¤W1ªk}#v×j›óT/…ßL@¥ õõ9Íd¢LØÇkÉÇÇö]ð¡ÒË(q ¨cÑ3ûŽmå¥Èˆ´QTƒšëª4Z躠¼˜˜´\·BG÷µþdánzF…œRäõ}–-¦ ˆ t«¢$eVôOŽÆŽê誫8«oNPá¥"u“_ªU©h&«¹Ù›(Úú1 ¢Êj*TÄÄM2²?ÌŠÂMnÏç=׌ß©õLö+ÒS2?œµA£¢îú( çBˆDcÙ0yÿoг· ¨º¥ÆƒyçW6íèfŸÄòÞ¸¾B^'̾>i—ÔuB˜¢xj*úBÍzÎI®§ÍÆ*BàíÆÙÕ ØZS.EC..é(DXáU©fi$o%³ ‘LžÐ9oCÅÁÝ6IÂ4š»Ý6ó/¼yMŽj·–jUÿ¾=ÚÅ|àÕÉÁcä?*¹Àˆ𢲉ëŠzfÆÈÌÑ–e³—P’r±$ûÁ4ÜjRÿcmxû9"µ«ÒzUŸëÿÛ°ÂCîo(g©FØ…ÚXAl’TÅ]®ýñôd/;ÔÓÁ’}¦,ž¤ ªÉCÛKfL}ä•…±åE%%K¯ã @N䎎¹oÔ‘µ1]Ú'f¬l¼´sßrÈT©ôŽ»¾¢ìâü¤L“’NÍôº’;IDATƒKšÕ>b4’´¦ÙW‡[mÉ#e©‡¼oY½Ó”zŸ"¶zïz $¶&ý‡$ÛðP‹o—÷ÄÔP>7ÝLn̥딣v ö†‡ëñc&p˜+yÎÉï#Hžá{ŒŸ}\rÆNØC¡¶rùÂß²·WB£+Ê'/µ5@pñÆhܺÐipb¸ckØa²)°§“”ñhÀúbô"qšÇ™–ÅóLËTœ4Šú‡êó ë¥!-Ú©¶'Ûõ?ü›}ÊœŠÊ\ZécŒŒéíïÑ”sqpÎ3ߢË)ÎßqŒã·(Þ$’)ÜÓßK|¥B» ËtµK{¥¶œ†ôZ»µY¢¨…ê Öku[:6JWG’m‰ý=wæBó˜ Ý$ÑŠ›^y6ü‡(…Çð„ªmÁ½~¨Ëë$Ô½RöܘªÀã³DjØ}u]餯<¾ïq>>påÌe³Ž»Vµ–“Y¾à)â?ŒB#’f¸b¾Ô!Žã¤DjÊÒ¡üG·­V?Ghå.¿8Î[× “Á$Óa¬©üÚ‹4>/? ïlp}ÐIÿP« Ñ:*r0ÌÔç2)‰»S¦°Cè©Ùò{¾ýâ':šfœñ¯w.oð õÏ)õžÊîàùÌâêM[z,+ÈÑ̻˞‰rüZ’X8Yb¬?`äÖöžYä#áŸÚu4`ºyt9\c8#ðþWÔq@PÏ4C¥`|ŸÃ¼’Y›ˆžXÈ} S ªž AðP9„~d±ÙÚG„]?é|&ý»õÏ+› ›k°ßg¤oßÑå5ÞyepÖ¶¶,Ú¥”xk—®(Ü [`…ä¿”>4Ë-|ç¹îï$!‰íå$û¤¸fÈ]ô]V­)ª»6~ 4ö`˜µf•8&3’Na?(+¬„r§c—Ny`†¿<(®YήH å§Ÿn– ªð¼rìR…ßj5VKØ8Ýÿür@ÖúºJÍuˆÇºËxi¨ôè§@úgßí–F毩u8øg±Í<äÔÖN(ÍغÞçJFƒÎÔƒºh¶p$Ø( ¶²ÿ¶Ähb¨Üì¶&¨O¬%륉š-´dÕìÜ$/“‰ì:–€«6„ŽM‰ð‘úžÈzw1Çy£~F=X+ÏÚj2€fÄ5M´G¤¤y5Û®‡íDÓ`gã¨ó–`› ì¸Ð©øm‘ ø'UYSóÆmT­Xð¡úëÚFíä”ebÔò¸¶Ê!¹Ì‰d€SôÎ6éìÿþ·ÿÜ~5‹ápÄ£²Ìñ7ˆ9ñ»à”ÈÔ¢C.ð3Nº¼6HÙ’Ê:™ õ¼Aÿï~–9­þá‡ïUñ¶–ÆîûSTþ{ ÷7)èÞæ Z`öÊ3â+‰`ލÆdJ*¾9o¯lêðI¹„Nj{ÊötØyß©ªC8¢z›g[çü'NÊ,±ï “Fñ¥ÁOHøa@L0‘ëtX8ØÁ\åΙdžQÆ€ÄSò$±å}©çU‘åñ‡IÖQêþõþÓ¹žÖ9)¡ ]zÚùZ&OÝÄJ÷ÚSÁwa³Xñ¢zë’0ðœ_‰(à—a>aÕ˹­¾Òëï~íE*Œª£D¶i µý¨§0ãÁûƒ0&Îtáú_ÕŒïñáÑ@CQªÂœa–¹Â…sþJ[ ™ØÓ(ÅξJP-ä¶ýŽ#È+F¹3¯?b šÍÒ´„„^kÙéeâÌTé÷|‰´IIÎEÊ)mˆÐ‰éLÙçAQ'5&m~0(ïRgòsnŒ5À¢Ge#®ûKYÌHy´ÞÀNú,[»ì´·¼ºú4%Z7^VGõˆ%³4ì5}TgÌÂT’¬„ÅG‡+êõÄó_ÕÞ]~þ4—‹X¦H õ|ú=¬œ¯Ùî ·ÜùÓp&Fð£Þ2HÄá0²/ó*çráJæ<7\o#nùâKˆ<'óú@š—^ Ö€§áz/2dvžñãÃOÃÛ[ÂË<¸¸:zÖ€¨Uùv|H¸˜§~ÍÙÊßê ZNËÜ’òÏöð"Óú~¶÷2~ŠÕ.Ò.öp 5꿼±àãfgd‹åP8Çfì-:`¡9³¤þ•x¾Š¶D(G¤Ü“N „Y(1í4ja‚[YÎá5P&òéXÕÍ•+ì¶WUcõÂ…'×¥WÙBå©Ö¥ûg±íÏæ‡|ÓtˆÔ>€oy¿Âs´Ê3˜h/γ¬ôsŠx¥‹™UÂZ†=ʧùÄ¢yÖgÖ2’/˜t'â|GÿÛÿ/3¨l°Ü¼º4|¥§9,/"ʽ¸¾bw{Ï1±Ï ‡Zž¦åQC5ö©?à-ñçßÜTŽJªmÄçÏ_“k#zWÄñï~ò Þ!j ¿«ñùQf '¶‘”WNúàú:æ—É[†pWž}»´±Øà„BŽÇ];”½äÈï~¡‰v¶N®?nÞàefß0K>‘pÅtßSÁ$eÝ œ˜C&¤4¯Ìý¬Ù)ãR%OxÁs‡˜:¯Ì37(õåãóD E#-©1LÔç|ñ‰ ¼ b(c¹$ßæl”’SVÿ˜B­<;º=ófXBmÆÇ\Ó“çy¶Þa42£†OUÄ%(j·‘įž£Ùn¦-­ ýz“êÛ-S«EµbçLÓÔ/4¥pamæ†ÓÑh.’=óE¦ôB;–ò ²¼Ê7õ>ÏaÒ”œZû¶ÒÁB;^ó^B§Dˆ 8m0ÐÑÿõ?üsp +cÖÆˆ?ö˵?¥90nsLO\‰ –%Ò<·zÀÂ|¼V¤ÜäÌgÒ%Ûî{£Jw›Ôcá†ýîÄéþ¾‚h¤1vЋ`«zÔ“t/¦~g"MÜwM RǯžÕÀúKª¨D8'k ñ½ su‡Õ£UúçòÐÄ!œHÉ.‹¸œC‘ Ò »$݇0éCi]Ïx¦r×ÔJ U“Pià‰ÌÁ`0•l° í¸¼.Q”ÔM…R}ëJ /p‚1&çøÔ:ßaV©ßêWû8§ŒÞkª®ñ¬«ý=û¬fؤ6 ½ãá‘.KvÙµŸó|«ž:´ÛüL¢ß>=J[Zj±Ëƒ¾Ì`æ¼¼uº‰^¶ŸNŸ%‡š¥œ]‹vl•$Çp¶ì¦ñÚÉõû„Í&ÞRBŸþþîÎý3†bò{™/r÷#IÀ%¹ÉNs ê\5Bw˜¡ÖpcrhöZÑï=á-Ö¹GÐÈ=»­Å¥¿»›¼éOð¿ïÈ™Ôn`uîÀÉ"šÎû7ž…7† =ºÌÆY[r²ÀJrï™2ðL““’ð…ëÖøþ„ÑÅa—Y9mfÎÈ'ô¬°Öàv­B&$^íDŽí éÓ~$©Œ¤w‡8)þÕoo¾nˆíÂhÍÂHe”ÑûB-2I%s‡\‘,ÿ¯®T¿øî,""ÂÞëp>ÀYó"ÈïY¼GTÀ·ŸžH5¡ ñžpõìÓ>ÿôM‘Ð Bxá¤ä(”.¾į5E¶ç3âVÎÁ†Èfqº6†ËkiÔz‚M¾‚Óׯ® ¿úþ¼æfÈšª WlbÒ*[™yÖÐoTýÝãÓ§‡Û[ S¦¸_s¸\@¿ºÏ š;&ÒË#‚ìg˜²{Ïoƒ<u¸¾Ý¹Ö¯ZDD¢¥RûÜ0¾'o­Žàql8/ÀÑëËKuŠ`\Fæs*{¦ÈJéK©{”£FØŽ-3E˜¦æ9+ªöX|…8ÆTmDôH}œ“¼ol„Þ¹g'–PzF"<ò&Ã/yµÕ¡ÜL?ÛŒñO6^²ÄL‘ô6Û7(œ'6zF»ôÉž7K¥ƒÏMýÎܨªïWæQæ4Ž™ì¦Ï>s〪8"™ïªð[HuGH8£N`Çìš'ªèÚÔ'Œó³±—ZÐnŒµÊL@øßÁR·ºþ77¹Õ_}¾‚. ¡ÁúÝ\h„™Çü —®¬ŸÑE‹Ôú¬%I1×»·{ÌŦv‘I´£‚¦*¿|¾c²p`ìÁ¹Xj}1°CŠ"hë\hrC3ÕŽ$‰TFsg ôÆS¿X^1?ü½³Zœ±å½g·½Ö¯ç#ž|úÝ/n(u¶>‘·ÔdÎÏNáŠ`ù»ÿ樂?{$ |0.5ýÝgŒn»w'ºš}¶ŽŸîÎ…Úâjv‰8‹žþ,*¶ó®§úM91ùŸÿËß}ÍÝ/E&UU¦íT!/§ 7¡Nuq³¸üžT¶n`ëw›Wثԛ†EŸój‹¨Ü…SÇc4©ïÔ¶·DÌ ?þTgÍecÒ·c,1†÷…â#ø© ùÙ‚xcÍþÈ¥ï;U×, «YðªRÉß~ºÝ@‹y"v]’ƒŠãÉ]Y[]Z“c9Gˆ("<‚mæÑ׫Z_¬çòØ(ž°G”w8=»fô¯FdÕ`¼•0è9§¤| áã#E½;w %ùíÿšM|åßà‰ ÕÝbƒ„‹ü"7Sû.‘uÍnÊž³}–]£Í´QÅ"È ñ/?_G¨ôÒìÑ Ÿ$ Š ýú¤ký›³ÿjóVÒFð.‹Õ[dMêâu ºç@_“ànÏß§ádêpÞž|§TþÆ64oe)KÈ(K©pgöËÂ>÷þ/zóÌá² ¡æŸÜ`Ð{”‚ÆþèógΜç[k8mcÛ‚Ú.¿Óâ/Æùëß|ùÚX‚¤Þ(d¶¸²cÒ¶EÙpøÒæÓÏ<±g†c4V#Ú­2uÉ„ce&>¼uáÕª„Å5îµg¦CMÌkß[ÊVãKÅrFfn…Fý]ª¦]M-Ûù›òG;¢NBïA'‘®ß˽õ,ýù’-ÉÈÒ¹ª™5š¬Ö"Ï~q|<œÄAÄÎë»›ká1¶Éy¦«Á3©”*zbЩ•`ñ¤™RÝ÷iYÊÙ¹Ô2I΃*pÈÒïÅd*-¼uwûèrµ¥ÉzÈãí»^,”ª0'C“0h9O$_ÆOC!›1RsÎ öhaÊ}G[Õ¯1›´šì~`B•T[Ìâ U‹?þ隦3«j¯hÚ}…]LëÏUè,ØÜ¼•ùâÒx2€”/gÞœ#ÊL [„>ù«ß~ùšº,¥¦!)5¥|$ }ƒv±Ç)µÖÆWÔÊ+{/nM]WÂ~bñõfþÆv(°ÔöWÊzm+˜#Ñàg=a*ö©¨ˆÕåw2UÊÏ;Qßó›1Ñ`å$^éB¯2•¡êì©*º²©JZ°1#¾¸í‘ÝSÝmpÁÈ&¾9˜*ù†˜ÏEùq‡Âƒã°¯Œìœ¯ô߈×êÉR(ò!ï8C¸-$w2ü{?IÔZ˾Im8iy!0l4UÉ­d€kœ^—€àêswÞ=McPoºü'‹—ˆ¶~-µ;i\VÞö²¶xöX«œ˜ºbʯ›{o¿šb5 }'î¡ìi îv7£ÐœÁÓØÔž“íú„yr´’¸sÊ&€÷ŒD®{åà|µ£ã€”\<à¿‘ÂÙÿŸ/nHO…i4Rw4ÑpÆSÑ¢F.DE;>º¥&hìÑT¾¼¸V> ˜ÆÈÁQÏb×—L¶‘¨Jê‡Fvî«ü7Ä ¶™:QœŒ˜žtÉöAÎAª ×–%ãxD4ÔTFã9G_¾DªM†z¯-°DU²aèºÄA¨Û*:Fœ¸õŸÁ Ÿ=¿¦>¥÷4bªžÈµ{Ä—úJ¹•^T2eݧ>bš1ÐkÇöc¼TòÊSï©à¸ç°k?f É¦uIMÛNÝ\PÕyÝš9·ag{,³ÓØQ+_ÊÕVÖVâhMyjYŒQW†û§^}c|k´Aè¥ÚÑ|çâ RÑyÐ…t*j‘߈¯¼ :ÀÑÍ‹tÿ|~3<ÂF ”¼ú†Q/©²ãm9>#jÂTøÌ¹Îí±rÅ­Ÿ’Ðõn^^åýÊ>zôÙ^XsÉÑ[Ð~"¢­œ°ÒÀö(-ÙQ¶ÉgÅMe¤Däõ¸™’øS¶õ É´GŒÇ^e •Ù8ÛG±’ɺÞú\ÝJ­* ßbH-<8wu‰xaïT|u¬ô²^Ö#±Àúk ÿ$ÚqGR†çà„~<ËXòa û)bâ­É¦„ëNR”ÀÛã<_i©Îsòúåëpˆþ€ÃŒg©§[*' ª Ò®FŽ% VáôîòêH¿‡‚¾0\ê:·‰©Ïluø|†6פ® 'ì§F™Þ‘s "¾j~K/zÇ­!è×K‘§@«ð².|¾sõÊÓ™³¸'ù³xn£hRçÏ͘wpwÞ_S S(S¥&‘OTÞΞBýŸ©Ã âþž×^ï³CbpPÝÂp%›ðXBÀƒ÷\"æ% _X2‰UóÆ#Ò­)®ŠöÑùáX¿ö™ ˜gÈë ‘_R)fQ’RÒê~_§ìè1σº¾¥ä+=¨»é•HÔ&P±Ï‡_>Ó]þ™ó©åéWwû´ z¡òiD’ôü&<6O]~½]n9 A2Ž˜$r'‰9‚¡ˆY˜\-ÒrjÒHÁ™AV÷ˆå‰mrîL®x¾µÑ¨sÕ³ŸÅ£ý†wÜbîGZ0'4¬´áˆ5Oר~Ö©®yï’*×­£–cí3Aôl}Õœo™·lÙÉÿòŸþök®z^Xå—©™jOg(¸Î彡ku¼Oˆ%ª­¿]Á ­ŒñO¤Â& –®õœšÝ/Qý)’_—ì{×$O“}šQQ6L¥ƒ¤Ò½¤Bi×îƒ ÛSãðÚ†¼S~yd]c\(¤p%ôÕ;ïqÞåâó§À[^ì:Ó G¥ÆDÍ )äWõêds˜ŠÜüôói\“o0éÆqš³/÷j©¶ÐÊ¢ÐãëD—XhìU,4¤ 8UÅOw.YV/ÅSxaýŸÎL˜|_>µsêç™§R•μû ¤QÃÇrOÙ`EŠ\Ó(©ÉŸxËÙÔáŽWKã6‹¶„Ýæ9A Ál8?¯™f1ÛGë}ˆÖrÞ ¶lÔŸ9Z5YoªRI#Á4I3”ô!²éœÑ•÷×/ZRw´YI  ‹Î×÷ó®¯Õ$ØìÃù¢FCM4tNx¬ƒ< ` Fr%á+^o¨ee Ï &¯'ÁŸþ`…¿þ)ìIEND®B`‚./chessx-1.3.2/data/themes/boards/slate.png000644 000765 000024 00000061155 10633464147 020226 0ustar00nistaff000000 000000 ‰PNG  IHDR„žA\°bKGDÿÿÿ ½§“ pHYs66Bï®tIME× 7;!¾GÔtEXtCommentCreated with GIMPW IDATxÚkn#MrµSTI”DiÔèaëñN¼•oqö?¯Ã°aLC^E]øýè÷äûÔÃHj4º[¢ÈªÊ̸œ8qâê¿þë¿N777­µÖÞßß[k­-‹ÖZkíýý½-‹v}}Ý‹E[,íëëëì5777íýý½-—Ëþoooíææ¦ÿÌŸsssÓ>??Û××WËÿÏâ5å5ïïïíãã£_Ë4Mýý®¯¯ûßÓ4õël­µišÚ~¿o÷÷÷ýûy¯Ÿ_}峋EûøøhÛí¶µÖÚíím[.—ýzøùüš¦©?ïãkÚï÷íææ¦¿–Ÿ7MSûúúj___ýçyÎËå²6¯µµÖ>??Ûñxlíþþ¾Öõõu›¾¾¾úÃãÍ ò&Y„år9[œ,,ÿ=DnŠ\˜<7Ë¯ÜØûû{{||ì¯ãõæÿÙlyMî%.÷ɯl ¶\.û½ÇþšÛÛÛþºü~®9Ÿ±Z­Ú~¿Ÿý?ëãã£]]]µÓéÔ®®®ú¦ðuT‡ãúúúì°ä{¼ç<'>l†Üß?›x±X´ÕjÕ¦ìªìèÜ\uC\œêäúTñ½¸Cù=nHÞPk­o¾ü-Mem|ú|Í­µ¶ÙlÚñxl···åkßÞÞúÃä{¾¿¿·ý~?û=oôlÌõz}öðG‹^=Û\O®#?£ÕÍs£uÉsŠU©¬Ýn·kË岬ÏÏϾ‰×ëu›bB¹¸\(Z n. Í~^ûöö6{ O_[- ]JÌãÛÛ[;mµZÍn2Ê÷`³N×Bsík©6ÛÍÍM»¿¿oÇã±ÜÜÙüœÅbÑOè4MýþN§S¹N§S›¦©?ÛÑÆá½ñyæ÷¦iê‡<÷y}}ÝÿöÁÎýýqS»¿¿ï>97’Žé¼½½=[tšäj1øÐøé[¯¯¯ûƒçéáÃÈçä=öû}_Ø|ÞÇÇG;Nm¹\¶÷÷÷Ù3– ùöO ¿N§Sûøøè >úÊæ­ï’õò©Þ+kÃkË¡ÍÁ`ü°^¯ÛÛÛ[·RŸŸŸmš¦v8f×Áû¹¾¾n/Aev9ƒ™˜Ô˜¬,D,D.Ö€€'²Úùñ{}Á«ÉÀ6ßË t“ê‡Kf?žë‰Õ©uìæÞ;Œ¬`Nîw¯­¬YÖ€Ï#Ÿ{{Û­ƒì»»»öùùÙc˜ëëë~Ÿ777¿cú:šIº‰|Ðýý}?Õ¹˜D­ñ¯Çã±ÿŽƒ?Ü,@>§2—y,<_Góm F·“¯‡‡‡öððÐB 3¦ÄSŒ[ÞßßÛn·;³ÎÊòŒ¼iól¹ùJ élˆÏ=?ï“øŠ÷Ÿ×0 ´•ÈÆà³Š{ßívmzïþõõÕÛÛÛ[?±Œf¹ó†Ü8£4‘é%O8š'8Ÿ]Å$ ˜ø@x:xòþìBâfø•‡—ërÁÛ›Ú)$ï—îÇ©%­Ä4M}Óp#çøy1;ã:å½éš³9²±öÙ\mqssÓÖëuÛl6ýA/—Ën rjøæ Òœ!ð¤z—ç}ò ³ÐÜÁ rŒMd£ÜÜÜ´«««î>òÓ4õ÷yxxè›0ïõööÖýòÛÛÛlA*Ä ÝO ƒºÝn×­#ƒ>[DZ‹l‚ëë뙕¾ººjooom½^·ý~?[ƒ<¯ÜGÜ677éñxœ­ÛÛÛÛ,¦zŸ¥î ^d3‹,t^› Ê…8©4cn\ý$o,‹žL—áSàÉ“Î÷o‡Ã¡o,žPZ¶Kî¨r}UÌCw”gD`,î‹n€+÷—õIÜã8…›4Ad²Èü^Ö4®-–7Öb2’Ç ÃÁQ>0d¿ßÏ’ìòl&ž?ÈQ šßóÎi¥5ùøøèfß RÞéTœÅ‚4«‚·*5e•»ðïÐ=ýúõ«‡ö—¿ü¥ÝÜÜ´§§§ÙçÆJ~||´»»»YúϘAuÜÜßþö·\¬âsI|1ùÁ˜a´½X,Úr¹loooýÄ.‹v<ÏÐG›KžvZþO£c.âËËK÷ÿÙ ···íöö¶N§šÉ,Á¦;nÇ™Ž-Ä¥/¦z¹æ x1¬×ëŽn.—ËöóçÏÒÚ1Hl­µ_¿~e~±¼ ~NÞÝÝõ5äaÝï÷m¹\öTýãã£MŒ\—0$³MÿE,œ–ÅØ€3îhf/\DFðÄí³9“®$âÍ K´?MS· _7MÓYÆQYˆ>ö‹!8” ΃ Yeá)'6Ái6Cü¨£j§©×××íññ±[‘ívÛ}j‚Íûûû¶ÝngÁUÞƒïG Ãf“‹•ku\«p:f>šij6'­îjµêñÎ××Wûùóç OÈå¡IÖ” Ð…¹õzÝžŸŸÛëëë,P­¾ø}¢–Ù€‹ûûûn²ƒ‘f‡Æ0Ï5–žÄâTv4/"\ÇÎQ}¤ü±‹Iªy V®â šÞišÎÞ#•H,¯Û™J6WžÝjµj«Õª,ÍÛ—çùÒªdƒT®Î.îúúº­V« » ¾D‹•M5»gžº c5óuùšÂ<Ô<¼Ãá0KñèqqéRòºX²ŠŒÃ›¢‹sÌâ@8 Âзë^Ølðªb™“MôÑÐr‚j×”ÂÁ¨°"´¼ž›››™»Ëûä=„rót‹Ï Ï‘€Á (¡g“9òÙ<¼¡üþ$ªª‡ ooo»ùŽitŠ'‡µ…Š,Þ@¼9F;¤òž¼!¹Ñè6ÂJz{{ëæ¨k°ž¤Ö¬6çk6ÿ~¶L1mi³QgAeN‡#U^€¹ öõUÕ/V'-VuN1Þ\ØH1ü HÆ…¶KÊ÷S« äÎ`Õ¤œ$º1ò&Xœ¢å¬H6D Ù³T=âsf]X£Eüøø˜ý?Ŭ<››››¶ßïg®œ˜Î"“``†˜y.”–!¿Cóʇ€(vpuïpfŽ|iÆW«Uûúúêï¾le\›˜¦©ÝÝݵÄRÛívæÞ\p2¼âŽóà™Âgóÿ›Íf–RûÐ,‹0óÀÒÅV¼ºÉÆ$ ,‚µÖÚÂT/—œiò*NÃÞåÔÇã±N| 4ï|xÁËå²§ô•L G*ÉÄf%eãßÞÞv‡URs;Í?͆±ÌkÍdÌRYI’*+ñþþÞ¶ÛíÙ3¨¾r_ù]2ÏrèóóARÙ*Ó›°ÝngT¬,.­ óæ<ÌårÙÓÄøWI1™ôÝÕ&cZëÍLJkˆyÄhÊÆ¸ººêþ;qÈv»í&¶*ÄyÁHŸÏ3`И÷v\ÅÍãÌ…‡$™P®o·ÛÍžS~×,8׊²SSIsýïÿþïÿ/7w8J6M^"iOòæÉŸcêØOz{{ë7t:Úv»moooít:ÍyŒ  Æ%À\,íêꪛwÓùX¬ËéCÉ(åétêØC®;c¿ß·Óéôçƒ|ž:Úf³™‘lã ²áò'ÏŽl©¯¯¯~ |Þ¡íçOâŸl®¤–ä p1Ieøáá¡Óìx¸A%“7gq*?ɇÀØÃ\Ä”oca²‹SK€–<=ÈÚf³™¶ŽIª - Bz£g"©#sÅzÊýå:ã¢6›Í,Ó¡µ™¦©===-ñ g¶.L£i¤xçL‰UƒZ®.,G*W«Õ¬zhÂ'ƒüz¦®Fó~ÎRF½ •®X[ù~…Q4l¼¤"´¸'"§Œ>öx<öÀÓ_Ùt½,LU”€©Æ0¾YæÌÖ.:©8¬ 颹iæ¿U%¯ âb‚Ì[ ªj<á©vÜ’3JY”×××äúùù93ü¬ªË‚YEÆ,ˆ2þ!Šé8Ç}(&ÉÐc0©˜×ËÌ…4¾Q!²¹®‡/µÖÚd`£‹¼ølq–A¼¨'‘¸j§§6ÑÉžê5`ÅŽ&ÙCÌÓÉëpøÝI­^—˜¢Bcišïïï;0åÓ8"ìäÙ2nªø#¸>˜ã3©ø¬æÁÆÚwÆéhNG¦=€HŸœ6uUY:7š`0I³Ì.^6…Kº ¨Â“ô’k‘ ÂÊŸ7Q•À3s5‰Yäù&çñ?\f3…UÅÊ-QYÁª÷4dO’05[©´Ñÿó ™²xUÕà‰~e“ä{¥¸@ì>º¿¿ïåv’MóyYø ’6¶OôÏ'’×N É|ˆªG$à›šÍIUpì…ãµIÐK îêêj¶AØF8ˆòCÞdÕOf"±0/&Ó†1ƒéwI‹ØGA_w?+UIù9Á”|Öv»íß ~’Z?aȌʩg£.LÓä¬#zX³*2ŽûW.Qëò¼ཞœV¿¯¹–••·Dñ‰àÄíímï:ÊE>==••L·Ì{Øn·ÌÀ)\6ÛÐzšÂHŠcwwwíùù¹§_ì#aOjå?™ÒÝÜÜ´_¿~uRëétê&˜n‚Q~6ÓñxìÏ'–'4›¦B ¹Í׸”q±¶C+É&è|þáph«Õªc$¤ú{ó±(8Å4e‘²÷÷÷g.„âq3\„ÜÐÝÝÝlÃä´T(aeÞH,¥idÊkDkàKÌÂi+alnZn0s7Ýg’‡LZáˆoÉ ¿—˜)ÍÔ,\ÑZ±9)…5·äP9£ª(u,¢Ñ’Lù߈°±aÔX_h²ªZ‘šŠÁ!3žó> f+†´+¥N_ {U7p\ahIrJŸžžÎUnÂlâÀÙ®N¦ÎCvù( %Ç•UáÅb1³x§Óé¬wÔyî–J7Óž ÷>Ví|NÕ\¢å‚1e³Ÿ®@ž4RÕímþ«Ô“˜ ³#·âUA)¿ŸÀÙj-\€|VžCžW(z¬÷¸M›»êia°KW@^Š-ü˜ãMòÄ'âNpT27”úAEÀ¨6ÓOÞ°jƒÆgó!&%«2 ZŠêT%u­$ˆ~&~±*K,ËùŽ Ø>"ñV©g6Á(½g€oê3˜K-†ä”°èö‰CvPÊÔ$uNÓÔ¶ÛmÏ\e¤Mn•Š$BÂ.ƒØü|†¤ýñ0XúæúٙŅ)f|EÍ«N$9‹oooíïÿ{/Á³~ÁMÄÔÑÂaÜXïïï³`ßÂc~Ö|Þßa'=¡c9< ¦‰¥s8&?þ›Ð)KÖæŒ.d¿ß·Õj5;™•{HGU|+­C²§¿£b‘©o^YÌrðIÈ™ð¼{)þú׿v†ØˆÃ@+ã{&ôÎã,ïx<ž §dQÙ¡V'm%ˆÉ|}}ÍuøPc® s±§iêˆbe®,PU)¹9¬èu—Y-Í‚^]]ÕeŸS©ÆÔ¸ÊZT÷_)ÝeLT{–„äbæ÷Iå« íê98­‹Å¢-ÞßßÛëëkÛl6³ Š%°‰«*‚$»TÄ“Kåf"•¼™ŠðJ2Mõþn4‡p2SlVÓD“fÂßìåC¤•|zzê4?ÞC öPêh øH¾u˜ØØìÞ÷¬ðYØä['‹Á¢;¶í^b‘YrªÎ>R· Tª¼¿ÄÜÙŒÅbq®³8*Ó?³îà?P¬ˆà13éRO-‹M^Ë*+ªŽê}BSr¶ ŠƒK‚Rü^%è…¸$qÌg _6;%¸´¾—ñò-¼)ù{Çãñ7ÁMÿWX«¶µê&S€1«Š­ü–Šé­ÜS‚¨Kª,Ö9pjëæ4³"öò5ä‹Òä·¨‚hÇEifÍfVñP6ßÓÓÓLÖ)èjÞ×-ìÃÍ=ôŠiUŸ¯b…QŸ$P?Ö *‰Â*-u`DšÜ(6!ŽÝâÖÝŒ5qÙ<€UròPÜ(W Gp‡w·ÛµõzÝÖëußðg؉ã‡Àêũð¿&Ÿué}H£[,¿;·hž¬Pm ïZ/ß‹Z—$½Ž‚FÓÞ y㘧ø–¾~Ô MORMÙ¤ n³¯Î|ÖËËK’¸ TP?ÛøœH²+µð­¸e¨¶S]Çb±h‹4Þš!ähÙ‹S/^HJƼ {W 0æ22"®vöHšt½Pý¹x,›`ú¹Z­f¥xs4›-E—P‘[¹Á.em® gmíW‰[vk^\›ƒGÙ~IÉ>>>žEºù…ìþ˜Ùl6®ä¤z®F…ôQG‰¹tn>V%ÿÏÉ£D{HÍã "JšÊäâd$¥¥¡5­2„ûûûöððpv’ó»U,S-$É:Áòõüü|þÛÏ –˜çH„°¹% Ù¸C÷ä¬$UE¥h&0ù>¤ÛéY\š]1ê*'³{”Z¢Ùm‰ß¥šó,hÖ_WuqWµû8žd¦\Äãùïø3JÛ0ÍMpF6csرž‡Éw×w|½^ÏÈ?veIÆ%sžlkEº€E7‘û‹.8¯…‡ý~_j޳ãìR1ˮؖš¤—¿ÍˆöCáI¾Ô ÔQ¹O ev˜*™¶n0ʵYP#¦À'›2î…t2FÛiÝ3ñ8 dë’Ø€pu6~‚ÜŠ¸SA͸-bž{%ëš,(ƃ³Ý@$ƒÌß$["]Fø¼¸¹Q¾†9¥±à )uRÏbiXÊu D†PzXGp‡¶ÙÒ¹×_¿~õMQ ,aÿyq#ŽˆN²yºÂUŒ6ϵ¼½½u^êÃÃÃ,Ó`Õ••à 2àæ3ù6ÏØVnòƒ«ÐÉjahJ‰[ž/¤T‚V1—#‚¬Q̪ [Õ7Ø—Q¡¬ŸŸŸ]6˜)7–ûTXcáâ»ÊI—WiG06‰$Mf–E7CÐÏ–…Äà 3¡»0 .«Z…{#+:9igL‘˜µT»ÔõœTn8ÒȪø& yžéžæÄbüäF’˜¸˜1'ì9¶¨z..Mò£ë³Õ¥Z=ß'3=Ž™÷bã'JWwÚ-™à²~'Aýúõkö†1XÑÂi> CÛzŒTdéãXºµù´ünNt<~Í%`°kT2§,'ñÇm·ÛµÃáЇC»½½m¦Ït1­÷UÏ»ÂFð³9¨Õì,fÝè±IYÙGs4¡G¦Ò³8C,þü935YpsM½¢Û˜UËÄËŒi¢)d*ÆK@g3ž›_5Ò¸ßïÛãããÙ˜Iò:vs1XËæJÏssowww3 &‚`¹?â ž rI›+ʼndÿKî!ן¿GÄ`×t˜†2–X\ŠØ"ViPU¥K±A7›š»¸ßïÛËËË <‰êÏlj;ÆD©%ñK$˜¿Ó?¯V«3¼¤BœÐJ‹þhÚͨ,`ê¡Åa+ÛŠÏñîînæÊ*nªïszyy鑵5—ÝøÊ©2Œ/¬VÂàËeiF+x<(g̺[écƹÁBñ²¸“úÄz½îî š¦_ê:Ìn·ëÚÕ..‘­í€›\ªÑVóM%ªÛ }ß•<5°F´ÄÅbѦÝn×á[— Ma7>1j†¥AœǬµû<œ‡‡‡3ÑŒª±„îË×Mfv®?V³¿Lîe±*æÇgÖ€¤‡Æ.h%.ÉT•]¥üc(Só]íõ©Xç­µ6ýë¿þkœ¶Ûm{~~./ÖBüžS3VÖòàò -Yä‹Ëµ¤uYB iÎþtPkónBn nêY›jÜ×V nV+í{p­®ý¸iù }4”eT`íç;-ŒÖÚï©|l`1iƒh—SRŸÔ¤}dHù(J9›#@«á±Îy¯ívÛõœÜÆf+ÁM‘âjæ8)~UªÉ‰B?"†Aÿ]©ÕŒÈFÔ+î%Ó|6Óµ½")OÓô»–Á.d›Mãù—hu¾§F<­‰˜@Ñ‹›(:à”§ðŽ `JÓ´ÚDÛ¤VÃÒˆ&f0 !áªpĆʂVò £¯`óB9¸–‡ÍYÆápèÏ×`ïÜ"–ÏÝC+ðÝÅV»½*”¥#¬ŠŒòD1`£ö­W%¨Î{bûaJëé«ú8ªO ˆ{?ª*"7‹ELF#¨œ*ò€Ö õ¤?~Ì\Ež£‘γj'M uä4F«'‹“Ó”¹–ÖIa(7š^7 37W0Ÿ½Åœ† ŽÀÆk¯z72ã‚‘ÚVÕÜNn”*À½$ @’ }~îWËå²m6›®I™×²ˆÆ`?<nÔ_¿~u)¢¬qd [gPNkíw£ûܵœ‡D’­#TΨØT#™cg%¬›¨¨ÿ•Ï­šŽ/åÞä/z|C…A|ÇÞò¼sþ›hgp•Qw;7H¥XQ«dë_'h¥|c,­ïT‰“4b„ Ò¨\NÌÞ£+ßšEqbï“iò ­–7lNT]Ί:âV1 ­ÍH˜ííí­÷‰¤ŽËÈxd$Bâ>âiTóLHY Ù'•ƒv‹Œôgîag>!¦‰Ä?©-µÛíÊTÐ¥rV?³&½zaèâUÖÇXÕƒ¶ ¯Á\Ñ¿QüÄÓ¾„k5®UøgÄPLнCx-9SÍ!.$Ú]777¿uF¤ÐQ–ÁS’Ógvñ|Þ(›iù³\G‚N#j ~OT×ìè™ M7=«ú6È?È{R^Ð}^àl¤€ÔH\e%4Ôõ˜ 8«ÜG3PÆÁܬa†¼öQ Aâ*ŠW>€'‘ä×!Œؘ6æoönTšQF;©û<‚yG£ëJÉ.‚L'«ÍÒðÜ_d†LÒ©ÊãžSZein¢²5Kùߢ<Ëå²[KjŒýñ9Ó¬5>ÿ'8ÄÅçCÉ΢–shÑM¸>Ÿ '™Cµ0Ìb ѧNJUiZE¿£K¤ÊÿÒ½T2¦ÅrñŠé3ËUJIxÚ(æh£ð@äw’u„ÃÌ1 ã%ºß)>ŽÅ¢j¼5ŽØ9Í‘ˆ!}šcf±7ÐÈDºwÂ<ЍÑå:™UT&Jü´M¸QZ¿ŠÔÊT´lýøø8+çW”7ÆVÉ!˜7 ˜" uÙ´y¿°Êhuºå«:¥½c+’Ö~k!P£:€=A)9,Ö\…J„B¨±*Ûív6O"æ.Väêêª}¹†ÃáÐO 7ZLäããã –ç&!©†÷™ŒÁʳ®­:K»Ùl:tìn„ÈÉ ûË(A»¤ö“‹×0’`šñ$X´EÂγˆr1]êµI}Uj«á†’¼·•èõ;Úe-!ÏÆ ÜÝݹ“jа­Ëæ>X¬-0=åünnxEç÷¿«4Ÿ]í,SÐÍõMÆÓÇH ¶© f#¤[ˆÒC¼ù<€«««‹ã @ñ&,÷kb·ãl$'ñþþ¾=>>öf•ƒ7jÈ84·$«Æ …õä‰#êÙåT©±Ë®Å nQZñãã£ív»þ¾Qº­$¹)&ª°PkjTÞ%XàÉÃQYr50®# ”ýdÕ¯I‹Ä‘I\D¾G…7T–Ì͵•öTµQ="©b|X\î¡8æªò½S]—Ã)qÌ,.ŸmîDeefâçáÚÜp®”4Gìaúº "#•ø€G"$Ø2x²`·©÷ÜTD@‰Ä´ó³égyêG€\5JqDÐaOk…0¹*´6évb"ó,Ížçøè<§X ?C²»§ÐØóæ>ŠÉuñ'¯ÏÄ<ºƒœè¬NÀ(3HŒã>ÒjDÃ¥âOXÔ_ÝMÆ:?Û›ŠÊ³Ufëa>†[ªØmÈh½ÀÍË ¾3iˆ„¢) V)ïDp(ä¤È:΂¸[Éâ¾¹XFµá'Vs½x:Ýš¨•T¸KÒ….XÑd“úV¥À¬| 3|\ 9És`I¿Úü„“]ò®H69 OOOíõõµ‡3r7¶ûCºËàÈ  EKŽïr6cˆª·‚#ùP’F±êVæJ8ƒàS6&¥|Ì6òÌbkq€E,åÿÃ<‚Šy^a*>(^ÔlP‚‚ìÃô瑞˜ÿ?==õ€¹’UUPonn~·FͧáARM”Âå )œÞDg§{Ö† IDAT”:Ns ¹v¬ˆFš'£­2“ëdpVSü6!k*ÌV:ؼfvã¢W•Qàéé ³œüN.l6-Ó.¬j¤JWÈ×yîVuO“ÕPR •eý=þ>Mêñx<3[•*îñx¼ˆþñß–ã­®+‹Q.r0F©foe—º‰=Ä­Ñ0K¨ÆPqÐL@;aeŒâqÔ•þG-TL¯JBÚÂoýZ­R"ÐüD7‡¸SН*E„[û ‡ õd¸ÛÛÛö÷¿ÿý,K¥M>Îá]½c‰9ñ㞊¡å^L›`cþ4ÿ1§ŸsÃy²i®G%wnÔêÚ½©GÔ\ ã.ÌÍuéŒ32ßÞÞúuÇ‘åz«hÙq¹\Îz/iî@™Ÿ0ŠÌ”±¢ÇA+U^!z#j |]b^¸,ð%`¡œY”môå4ÔqKÅgUÓ°†óNgt™Ž &A¨š˜sþÅbÑžŸŸ;#ºêür,RIsH±VÜ‹ªPäMÌI=U_†Ýè%ÑVo–———Nµ{xx˜É&±WsÕ<2§ù—Ró!ˆÙÔ27¿s]|nn"æº:n¹ã¥(jõÞV«7»'u‰QÌammk\;-e¹ò?L›ý+áž|ýøñãLnÉÝâ&žæçTsÜÈ£ÞM>W¾W/²ä]K*dFì+Áu{zzj÷÷÷íõõµ×*ˆ‘GíÅ;7£ P’ÚÅ‹eºfÎÄýý};=x­#Î ÍC ZÊêe‚Ù …œx7ÊÀ,‹ç‘ˆù|¦´L‹]_ÍâJ#´' Y?œP<コMîSK6’ùžF…)*¼¥6’É¡¬×××]6‡µQfa×åÎ2Ÿ@ϯü¥EWsÝ„žg8ÿ`@»%òîqelU}Ÿôjªïȥǣ¨ªÕUü7MÓo ñëׯNñ A„'ŠGš/ÒnÕ]m“Æè—# f½†à ЄÒr$EL¤Ï‰‚~€´2qL cRç‚$"j›÷±îeÅ·gàgëaóNN³3=»|vž…ÖàìÅ^¡§×ÁÍÇc{yyé aG쎀}¹ÐH6›M—ïq¾Ý~Aœ´Êµ«bÙG•.te9xÝnÇ·årÛ`€µ¼–‹a::­Ö›f¯Ëˆ¡^±«ªƒáL£’`0’ÅInŒ«««?u*™~:›0ãÇ:¼™L¶ÍȦKQW98)oáÒ§[sÊSZårJÍ­L­ûâj* Éþ¶ê7¹ôÅ ÍÊ;#€Œ‰%sOA¬ZüYÕP9:¼Ÿoš?’¶©0úíPí×ëu¯hVl¤<$?.4Ó%K°„ÍÜšf³’èÉIçÃËõí÷û®a™?‰‰Hì!¤j¬Å,ò=T˜ÐõˆüS5Ù*&Ýg© .™j½ÁP&"v!ËP»9&“;sDKãnKq‰3&SõØgFQ˜›©Ê땹æx¢Š“YÍpÐl¤ºUS±¹éf\9õb^ ”sϹV2¿ …3)pæc66öÎø#'Ê–]ãHÜuEìtÊ÷26þÙ®€ïÁØ ²L;ÍSDóAŒJ¥Þ%ëjcW2I}ø/]Þ^ÀKS¤&.`INf¬"éóÄ l¢yV«U–YåX/zv¿=ª–>==ÍD(_Xi_¹hò‹ t8ø»ºº:c.åN§€¸á8Ýn7 N­ÊB?“ËÄ¢Ôˆ¤Â±EN/«Êbõ |špÂ!-$ذѧ8› ÅÚI‚v]ÞÆ&ªXijڃ2ª]Â…›†¦QEÇwgr±þa.O“[]ÊvšËk°I·¸i5U7Hh67Ÿ°ßïÏXÕÕƒuu”'Õ¬õ¤Þ>ýÌ.èúÒ˜[Õ„È*ãØÏâ¨J—Úª&}]2ec8ýú®Æ»»"¦‚Ž w6ÃïW8ã…ÃáÐc/š­S5Šcv»Ý™o¶öDRÝ^yìÇ 2UîŒ$•J¸u”å1¸Í¦¬Øbܤ ੪ë5õ ¯¯¯¶0úÈȸ!͈›~”ÿ¯>¼’ý©ÆU}"®’™Qd(ñ¡T"£›Í¦}}}µÇÇÇÙðÕªf`KÅ ;×É4ð߃L®Õju$sƒ‘€kIhÒúgæ¾5¤ gvãA,ýùzùãããßaùàpuÑþžÂ£UÁÅ‚ŸU–SÍÝOUó­›{žŸŸûýr8J¥™áXƒÝóãX¹aZGÂôŒú³H¦e}")5£ªæOä1T횦ߵ ÇdØðÿº2n€VÄdÏ‚ˆ¹‹);óaˆ˜ ‘»0–,„×mÎD%M@2PJó¾·¨å\æhÆÁ°JôƒŒëªÓÞ~Þ®'5”ÇXºÏ1‰ï9øÇT5ëŽ:«).SéEH:eÁígdÕÄÒ.Û¾@¾¼¼ÌÈ­N)«æv@{¡sJ+µšøè ØÉgÒÍ÷ò~9•ù¬ nGñ¦Èy\ꄹ‘H0ÆÅ2½6[ËE¬ª¹¦*Ù[z©B„9½›)nè6  ˆø&Mf%u==¦ª‘âå(¸"ÑVÝÛöËîŒòÃr¡Ê’ʉEâú*ñ’Q KJžSo¿µ'.\²)ý|¨X[±ÕÍN¯´ŒôÀ ´MD!‰ ¤âfºvE¬­¾Ø…å›åBzƒð#©$³šš~i!é[ (ñ=Gœ Ç"Œƒ¬íÍBÄÔP³cŽHmv/´;Át¹iÆ <…„N§ÓÌ äÂs£ÄõÝ –{ :Wu|9ð< ~½¾¾¶ççç³AöI§gP ïÉé "ó|9ÓÜMÑ.JÙR’'B³Òï0@e ËÉY¯_¿ÎŸNfK<în·ë}Æ0ªÆ’ŠeÌ ¯:ºª¦bvfg‘¬ÒÆ€1èfW‡Åª¸• ®¬©§ë2ã T¾Fž¥µ§œr:Æci»šËŃXŽ‘FF?°6yéúyyyéÊJ¢7‰‡”¤ûÊs»Œ¿W©. 2•°7³¶dñ™ÕpSE0•¬¥j ¬I¶³+&7¾Ýðw5Є×ãRLw½a´š8[m*%®²‘ÙkyвóÂ9$ñ‚d’ª¨c·Â@5VqÕ|JHœ-ÎKCLI3;ý~ŒZVdlý÷PXëu²Yæ»!íÖ”rÆä@Þª1V¥éëš÷Z]ÛH+cúÿø3ˆ• çZqðª_“›ÈƒNnŸ]î®. UÀX%õkFr®…’CÜUãP„ÉFUL¦.5Çb…:l#•'ºrE ïvÀ£$Òòó¢ÕaQÓt‡Uƒì$‡³ÊÍ?”²¯»zÂrMÞæoVÙ‡¹*X&>Ì÷÷÷Ù<n7®:ð⃳uËg~~~ö> ©©ªz¼!­ÈÃÃCïj>PžÿåEäÏ<ÀÕ„&3¿™U$n#Ãët:õM|uuõ{ ¶Êç}§§à…çf©f<ù$rCVfÝâ£#IÁJS¢"Àr|aõZ*¸‹k¿ßŸu[™°›Î03£FTÁêÙ‰%™˜V×Ú´0$™X“{`ßIRâÍfó›Bt‘:æü±L^ÝH5~˜','Ð Wu|™“ “xÆhÇ2Z=1QM÷2ŒŠd6e-¤ê%w2ÿÎ ¥û²¢ú~åæFì)wã³¶Âù`v£>Ø„¦]!¢Û÷Ä8϶àÀS[‡Êï;æf«‚¯ªH“÷H‰§ ñD5ój4dÎ_9Þ´ƒªÁQIúÙ–³ŠSü^– b *nˆý0›Í¦¯ßC_©øßÇ4©ót[’+’1U$ÀDLÆïh±ÍÒþüüì ^=H÷ƒÄ·ºš˜ë±e;Lr5#”ó4«šFµé9n²R㯬 V~6#·gkž~¾.A¾­DȶŒa¨?19Ð i6UHLÙ(Â!®L©œ^V§, S™K‚?–õÏÑøMßTb\ŒUæò=$†óª*ËÂkÙÜôÏÑ+Ø•ÝhQÌÊk8žÛV"ÏŸV)Pý~¿ÿ­S™?NmµZÍ­ÇR$® xBl‚²¾a¦—L]+C5‚1IÒ0Æì*cU6‹éæb‘‘@ÎH†u;¢O²SHÞ¯3kR°Wék zUC `ÜPÙÄ›’¢Æ:/nnnÚf³é%ߤX±0ˆÑ³>?Bã¼Ëc}B\ÉBs'È©Tî9j±Nþä}RußO=$®Œ •ƒ“#ªùþ!¥dcUïÁVgQÿL'Ï1ñ1ŽŒÕ ‡“÷—õ¡ê®‘ÇÄSÄ–²©Ø½EBrj=Ó4ýÎ2컘.:8Je3£”8È<»<™’Ç´,¹ûcš×ÑèiZ>ó2)fv)•3ÂWÅqoŽM.±»âËé.ü;¹—Ìû<¬œùgk|ƒqCgcÜÜÜ´_¿~ͺڪT¸Ã~ð¤1ÚNµŽ1GLÐHAΠSL·ëÇ06¨²’×××~S§Ó©ÝÞÞö?Ù]²±y-\èjxE±÷Œ,»¬Vzª_µÁ s?<<´ÛÛÛ®GY ´r=RtÌ5åäSWŠ‚í±™bÀŸ‡¶\.;:;“%t]¢*?ÇlÇÌe&ýUôTÄÛª¸• «"a {ñTÓ Æ{‘ȇà8H–¡úUªùž˜SMìËÿù}g0´ |ÝUbºË\;A9¾/»±(q˜éeŠn}°ÖÚï a†ƒ&šhGÖ4Oì,Á¼I7×pø)Å-xº¹›Ÿé^ ×\$[57Áç%ؾú w¨ý#ʸ\º ²Ô¿‘·i„²âò¹æY¥ÆBy®m/_TÊŒx9h=¦Ú~œéËs«š8¦Zñ“ Xs©Ò±ÒÈÍìM[ ?á¢Ò4iÙÿZ•Ÿí—™RS$…ñTªµ¹wbq3&Î!±pË%1ôŠàû™q8‚®ªNVÀæPfqnLuÛ˜ÙÀÞ ü\8‹9¥˜™iç‰xúN§S÷ÍVŸ«LnêDòÕA²²ò\¼ ¯8ØËIÛœ_ªÜæZã^Bè1G…™M2Æ ¦2†›8-F0»6ìjµ:£ËÇg&'ö äxF:¹¡²ðŽª³ØÄ5V«U·L¤­'ؼ¿¿o»ÝîÌ51íMÌÀÍÁªoxš¼Vb ìÌæ‹&jJ’Í”ëßï÷ít:µ?~ôgA.)ÍÞ7ZX.Ìm6›öôôÔUõrª/~ŸœŠ¤à  Mžœ¡« "CøàÔù<C¥ê(¯³Îïs£—`åªüL똴Ù×@*OSÜÜèš³yJþMˆÃÙ`ÄgX±²Ÿ©=8&vA|ÉòGgÏ=ÃÅÉ…y±ªˆØâN;sš &Ñü1qaÈ}V­¥9¯†Ázóø÷r}1Ï®È2ÐqG8Î)‚›Íæ Zf{¤›oöû}‰T³IstS–7öøg÷m,xá9É$`°i‡­}ÔŽtkYË/Üqi‹«‡Œ20›âááaV„b§¡öQ5‘#Žª‚WÜfÑ衇 Ðò§j‚oÌ;ÝÖÕÕU)åá²Fr]Ò·¤Su¸li öMœÓá“À 0¤<<´ÓéÔ6›ÍP“Ûõ šsOÿIœ”Xj·ÛÍ<Ê,U£xb²`qÇÌN*þIþ¿ÝngÄaš´R^ÚHˆb®kî'Ùä†:Ö.«,±€F˜>1 sIWÄÊ/ò‚óù=—®}]f3sƒódóq6XBÞ'ÄÖ§Ò® ®–fÄë¤Û)릃}$hêkà¦!óŒã¯zPÉSHŠ>–'z·Û©•øaS^'Ve¹\ö4Ѻ 9QpªacZh@~Ý\„*²f ùîînf™Ò‘V1Ìvâg'&é5‚?¥ª®òzÍ[uð˜MËë«ä\´ôø„X¼è]%ƒ¹þ·û·ÿÇùT‰'ˆ:¢'·0`TvþŸùT¤½±47ÌÔ86¾Æ/»UãH”áû±XGÿêN«Ä,)˜åooo»«;N3Mv[ÅedxŸQ¦æäZóÇ¥õ|¾«Äê²i)äÂVE>ó¬¥SíÔ:ÇR¸(’<ÖBÝ)œã8›ö´Í1‹iJ€“øððл¯£Ëà&Ö'‘Ì,Ê»Zê¶øÑ—[êc®¯®®fâïK­ѯ¯¯û}3ЧÛtæaëâŽ5·"ÂâvAº2»aìÊr°°·È|G6Ÿú G¥ãjžëUæòÝ0óѬ(§O¤»0 ¦¡ÆK¾Ó³&‡®0¾»ºÎÊõ²0Åû¾4I™.…ÏÖ”à¢ÝcÅØb¬u6é(ÑlH/ÖŠàÅW ý²Ñ0GÑ4¥œ Å&½Í=777m½^Ï ×ÏÏÏv?ãjðšéBªN-ÓüŒ’­ÌŽxJ\¢ä›$r Ëï^8ºBì†i%«†)’ˆXQµN¯o2°qɬºVÉî„tA’Ü;7ä¹ùÜÝn×¹‹VÀ»¾¾þ3ðI®Æ91À¥CÕ&÷Tpî9ŸÜÂh'MsäÉx¶»óÉÍ÷8ÅV,n—T"µ>€UƒpÕ)G9ȉ»Ô'ýRÛYv¬YÄÔV¤Y³àH‚<²º=„7‘=›õϬˆÃœŒ ³†«Ùô|Ie¿bGs<…­ •ËJP›ûûüüì0wŠUDei™/õ|”cÕ×b±Xü*q»B–ÓZÍ•t}¢"] IÞËú%r=§P–¨s·²ðÕ<ò,Nx[CÒ÷=I¸¢×ç$Þßß_dSÓª™Q-³n˜Çij$Ïø‰XGU·áÿ½fäa|}}ýV¡#!Ö½€T8sÌà L§ÒGAsz_NéuQ¬rG___½Äœ—SNÖQ>ß®ƒº¼ó ¢¯) 2fJJôÓ¹ûcf¬ëvLa*N‹TŽÖiÚ¨Ë@kC]Æ\ÄŠtÂ]m—â?Ç›´Ú¦ã;ô3`|ÀùÜü¿36[Ñü?½<¯¼I°®~º§%›ÖòË” °…s6%|&zΖ­È.UN ts£árSæuL9«¢£üÊÿ†µÂÎDÖ IDAT\ <1˜cý *ÏWJ8t£¶tä¡V©'ÇEZ0ñšô›¸”)ñ¹&Î↟x11Wd ‘Y`Ô:¨PRŠ£f[ϳ¨hhæLÞ% ÅÈŸ{)_ l[ß3•¬*[² ùÑx 6wu¿qŸÄwx¦‘䎃J2ŽXQ¬@Ês;ÝP;²`„¹«b˜7üÛÛ[™¹åùpdÇT‘Æ8r¯ÎŠˆgôVL¿Áhj†+³¶øU½šT‹%‰”iÞˆêÏ ªI#y­«xÖ‚òcĈ‚(.³ þ^>wd-« uÔv`‰«ì»ÙÉ3Ѽ¡ÂÒ8–;sYÂÖÚlšŒÓ“ãÈ–ƒšWOfŠj}f£Ì:²jgQOo J{ž˜§ô1úfu×B^Uvb¢Nú'Ù–àÌf”™UÐs&ûĺ%"ÞPµCæš]ÌìÓœ«(z¤ž>ÊqÑóäSÀkDçïñ\˨b“·lº!Ÿ‚t;Ë"R»ŠÃXv»ÝY laVöµœN§¶ßïÛf³i›Í¦óLW«ÕPÅ–ñûbG§¢ú5•"ॲÁb±ø³s‹ÄTú§jcø¦\¦æ{‘SHÜÜx{{ì#“é%ÓÕÀ·ôõ£NhrFÝJLÁÀ[Õ,ËþúúÚ7VÜ™ pÕ ZFÿžÅéŸQ¡Ð.ÑåxCe¹ÝCY Õ^X\3à î÷ûYšc à ¯‚Ì9ôýÒή~Æ/¡úWzMé&Õ_Ç4¿¤ä¹mÏ®Õ 3f#WÖøŒCðu)€¼fB®Üް‰XÞ»‰ȬV«³™šù…ìü˜YŽMfÊVѨòGMÇÉJb¶“‚ív»ÙTÜüÌ¡‡¬155¡„3¸9ÜIÍ ÕTîñîî®k`1(æ| [A+ò°æ‘e:ùôô4 =»„8{OÂåàæäAén5%]+Á³æÀRkèäAR;â;–5’H?weЃÂ\²Í© tËÚ MrÀ&¥h–öû,*ù ȪÍP¹¢‡î"c½ÈTC»ßQÏE5ûcdMiyÈÎÆBy ú%Z˜«•1c p\Ôrª˜bZlÒܘS"kTq-ÂëA«9à 67›ÍŒüSË#wè™™¦¢Ubé,èY+ív}];¥æ8%/)ô;h¯83&½ë#Šæ”"ja[y〈äT`cªdÚ:‹nUàDx™5ϧd»a⊪`•û?]‘ŸÈbÈÖ…eälŠlü¹ ¤sͶ¸.ö<˳‰U¨¸­´P̺\¼–>??“l©U`„Ï‹ËDìIˆ•¸4ø‹¦/S\øÀi\âufù÷ymb“ÿOÓÔ^^^f³¿}BÙÿaÂÝÝÝ™°_K9EOÑ3碂Íã–2»3L6n4éœMØ%’pÄŸåÙÙÊM~p:é5ȘK=kšé!ùTÁeŸD5õÅ,bZ³ f_F…•|~~¶ÇÇÇ™òk@±‘Äшí>*ºñÄÇRÄ@ÂAa–ÅÓlÖu…CT´» Ó zmÆù-ý/3 ÷Mú –˜EäΩ<©<Í4ùÕ<ïô-¼½½Ífx¢Åâðö¤gì‰uäˆNØ«(ûÆ.Mò£Éf@¢ê{ÉL ´0£Ä©ñ¤¯ƒˆ3×Ö1ÑôòòRæðÕP›Owi2©ÈÒ¥Ÿé9ŒŠs¢8":qËö!ªoP5ó„{±\.ÛóósÛï÷Î0øhO‡>˜…µ5$zY ¨³æC¾%asó'+aV¦Î´D±&—ú:’¦Wz^£éÇ3S“ꤹ¦^qn$_O}¿ÖÃ)HlQ™ñøU›ØÃáð{Ä ÆL:5Ëë¨É`-Va»ÝÎ>ŸüJŽZ¶‚¯õ´ƒT2õôäWšÍ¤ªZÒ?ËëÏß¹/7™}Å7kv®v ë¤{YÄ‹Û+–N…Ù4qLbîâ~¿o¯¯¯3³ÍÇX–èIË&MÌÀ6ýüÍ6Ê‘bÛîèF h%øô´›,TãæÍà1ŒU!Îév,=3­Ïc†C¼¾¾vŸÅ…gúÆ‹bs‰Ssb.ü±³Ûðx†‹Ä¬óáç$R57 /.¹¸“a³ÙtwPMÓe¹˜V,P<8,¿CËi%;ªÑV‹ã¥£ƒjʪ8i—M ¬‘&öb±hÓ~¿ïó(s“¥žþÞHšOÍ( 2Å‹¥oßó÷KÅ4Æ-Õä:b´É|ñ›˜Ëóüü|f ÈñHzÈtÎê¶—@$Wv}ºYé rPÎXŒñš̨s|ú—ù—8ív»öôôT^,#õj1Ù«Á>EóùÜqešk±JM#j>Æ>Bçœ:âNàl]iÏ;§À™9ŒUÐ̺)±õ%ëT´|c4´š;Ê%€‡iúÑLq% )ΡSð"Ø2êU°hVU©d?h¥/F6%sò^»Ýn–ê¢"èdè—§×”9¦l.ñ!Óz$#Ë"S0ÌþÜmæa˜çi¼¡zOB뎱ø|¦ŠFo&Ñ%á òL7wjT™ m†Å\¡Œ¬+j¤»í8E'sÖÃò°4$ÉßÖ®®‚=Ÿøj®èÈ¿û°ä9°"˚̈œeÄ:º¾Ñq&.–a\V ¿»Ø‘³o&}ëÒ÷Ü$ý´% =…Æ…"ŽZ2Qu·ÛµÞ)VõqŒNšbÎõŸŠWɵ;ðg:UdŠ>ŠAROz~~Ð@c'ý€’˜Ê!©cR´‰ÿ ^ÏÎçrÂˬ¤u¨{Ú?}=E0˜ærÓ¦^@Ì„øE°1˜ªæˆgÆ$VóÉé–ªÂM]É'T$Göñý P·Ûmo¾¦¥eÌl‡B*I ^^^ºQÖ8Ýe†­gðØÄ€‡f<*í£•V9µüYþO݈ŠûWI WH•[¨TßMÈ­N y™—8Œ•ÚžO?É?ü7É1([ÝSäJ°Š5ªd·9²‡Å2M”Tšìãr‹dÀÃCV«t”$Œjº?7—Õï­Îb2*¼õ+ör>£*óÖåòqy¦ÂÀ2Á[d Ãùˆ5ÓÚ²U­Á™ã%6ì&Ž‹Œ] ³Ã‚úûPI®ê+ Y«ô+Ü<âb£j3•ø´|FI»w€‚N)/Ch­.3"ÈææQ€X1½Â—p­†àƒmˆm}Ȭî•Vƒ–ͼʸþÄSq5Ó¥ °ª©{³0å S$“7ÊfZ«ÁggÛÇ1Ïg1Ç_î4«Ç#ѳ-žL.W+4’'?î8 5W`ë䀣±Øl9ÖªºNZ×<3º‘]»ÝŒ1Gür6XÅ€Çnˆ4ƒ'„¼­K7’ÓBæÒ¨e`Øø ô@ÇÅ»ïÒpbÉd˜%Uåq£šU–æ&*ÓùSì£å7FC?jŒý±VÓY̽Ön¦¹'K¸0b7A!q>4Îéô&bCÜŸÍ8Éœ¦UÄT~ßšÜ߉VÎ5÷¼º³Šì¯ jg|À÷áA†þãâæ¸ŽÜ|´n9ôÓÝÝÝÌ/&M©*n4Û4ïœ7M¡¯ŠÐÁ™•ùö©%нëR²@ÿ_Éôg?¥¡ùªK+¾Ý=câ¹Î,P„æ«~ZO¢¨£Ø‚|I»U+ådÓBHÀï 8¹(RQ¿Fèããcç)p¡ˆ’#P £?óÆÈbǪ®¦ŸÏÏ¢ªK“ ùööÖ ??.‡³»È˜¢K´w2†ªÏÓ¬rªívÛÙ]èFžIЉqž€hÎ&±³ßx £É³lÒÏü%+ÕŽMÇ”»¹¤-QUGG߇ï])à0E­°~×HžÍfŠÕ¤;ñáJ ?¹RÝcþÏô< ÑHW¼ (-ÕX½ÆØP6+g¨s£N§6qè;wÜ(m´• ø'?(;ÝÜCRÃ.5ÿz‘ Wœ‘µ]£¹Z­úx¢,že†ìÒÒûáyôÕa=Y–à’’N5$eTi¼ÿŸ€1õ–Pî쯈¹“ÕÚG}Õ,§<ŸÂXÎ¾à‰ŠY·Îö¨^χn EÎÍÁðæ­,™Ëë•öTebÙéžx„бÉ+UÚk=Îjà­ƒ\§öÿ‘ |ϱK䟚-6Ë.i‚Ã9´¹q‡‘ƒ6žÔ0}]ƒˆxy~6òaÕ pE•þ½ªz Ê@‘¾·ò³<õvi#Q´ÑÈ>£dUyUwù%jb"×føÚXü¸²¾Œ,óà¶ÖÚ{5´Ì§-7“É;4Y9„g©ÏÀ tTlÈ»Ê ¨R“ׯB8Š#Á2¶ ÜßßÏ"{nb¦ßTÚ§‰õ=¹–â{¤v³’‘)?c4 &¨F=¦I:‚™A%;¬2¥¯¯¯ß1DÞøîî®û@B¼9a!”Vê#¦Íù‹oÌà díç>¤^ﯘޗâW/I}«+—áÒ˜jÃÇÕ*Ù¹i™›Ÿp2;Ä}Ø“áwëõºW§iéó¼Ya¥ë[,mbÚ7BѨ8KõTW¤í}ô I5&*L‚c,?çgä!TZ ~€Y,b-Ê,i|)â·uóÆ2t_É8+£ü2q“Øé‘Ún·]¹¦rË£áö[*erñRŸwÁ+H"Í{m²X†ÁÃ2´k6c‘Qs»ª«›ŠBúX%›è”Ž÷UÍ ç×óóóŒJ`e^kþŽM2Ýß÷èÀÑ‚­cågz¶ÈT„#Ö±•àC»z||lwwwm½^w_îâƒ%–“ÍX––<°ˆÍ™¸»»kooo=x­ YwÄ‚žåùÌ&¸ Nc‘ö‘\0{,hi8i˜)m0»2r+ü•FhfP>¤l?tI~4¨îóóóOYB7›$¿eã ¨BÀ¨ð–nèDßûý~&ÙD£Ì"‹j±s›ü¤¥#†µÛùneóÓÝT#&«Œ‡é8匫шÍ`÷h¹gsF.ý;Ń©:ß§ÖZ{yyé`¯‹ÿñàéÿ¼£\XY.—½}>fÍË¢A$¨¢ó ™äÌï¼'ã"oXúPŽD¨ïÜè“î°,TXSÔ¬rìc’Q¥A- 7:YЕÅÔÕjÕià> >uDðhú+¯"³°äì2»{7b–/µÍÇRb»ÓTæþÄYbI8ð’‹NFêùùy¶)M÷÷z0t€ìƒ›¬-–óz^L©òn²}ì·’™$†a?XMŽKð€óÓé4‹%Fæ™/'.‹¸\.gÝÕTžËâqÔ37œ Æ=œ‚ÆuRËŠ+ÊšghùÙ§èf½IâŒk ÿøñ£l/äÝï÷eú>ñô^JiH¤½ôÅò8…8¼)ÜÄ[‹òšïºÃ©WmÊ%ìTcT}§Uêà5ÝÖKñŒ²ð2ò,"òE1؊힢ãÇÇGw¿ÕàÖ‘ áõRË‹ì)×?nnn~z¦9޹ivVùcJ yÑõ|›Ó‘n¯¯2Ÿy Ns³)’ñØíTÖŸ'Õµ jYò³‰µ0c0¶âÒtDJ‚m8ègìK5òÆkÕù°l Gðß5ÐŒØHM–ÍÇtÒµúQ¼×ZU¾ HG ãlŠý~æ›+ž1’€áýÒšUóºLà÷ÙÕÌŽª_•XŒe¢æ`x£“ò¸ÝnÏÆVq€Íè}+ ÜcA#G“S¼Iëª(jMPP“ïÉR®S+Þ§3°%0edŽíÑPøŸÿùŸöóçÏ.1@ÎF%ø•ZÁ¨˜ÓÍñ´póèa.ÖÊtŘ\‘×××Y…UXŽ—ä4~V²onoodÜìâ^ˆ˜ÒŒHæiNæ‘…~xx˜ wòt»†ƒß|Â(RÂMb-L£wÔNà¦$|íÊ`iV«UÙ]eA^«EM|ÖëõìZ)3¦kÈâ_R £¢\úU¦ijÏÏÏ]S›™\jHœ‚œÎ²ÜßÇÇÇo’-a]ú²ãñØ^__ûŽ#D[)ÈÑ„WDWžäJ­†‚!þYÞ¯›6XV 9¯Ê³GÎEÎ1ÌÙ¼$‰œÈ?§’}fkyÀ ±ƒîC÷Ê,ƈ0­ yä`,\ ñ yÊœ[ÀLáb¸Ôlm¤€I) ³»Ú ˜×2ö \rUsËÚ(>ÊïW8?c+^,úìl6²¹«ÑüÊiefÂZŽy¬GÄu$³EM1LcöäŽ!Êù´TÍ—*“Î>hò/IøU‘¾‘T’YÍ ¼„•TúÎtf~_z?Óñ+YçN?+nF¬…K¾Ã‚ªN0>ËpVYß Úš¿½½ý©u—aó3ª¨U`{ ûëׯnuHò4Mܳ ´Šï÷ îïÃâ~ÖëõL21þ—óÂ.•ã/ýlTcqê @¸?1átªÿ»Ù—ØÝ:f;qÿ Ö±DrdŽž•Mó; `«úGUНú$Ù–ŸŠ¨ƒ±Šo0bSWÃX9¿ÃˆIHÊs4dí*êè~cY ´¬éûfW®eaJU.&Â^žoY©¿ó"íoX–±ßifÚWóóo6% xC)¿s+LÆ%|ó«Ò~6žå’¹Ùˆ‘ægJ€-aÖ¢r~ö0šÏþþþÞ6›Íïk0k˜„ЪBæ4ÆU;’Aâ[à L­ §µêTþXªSrSÙhl,öÆŠh ii¡£“MµÛÔ"FsØRzY:š¡âož-㦤Dz=2¢‚ÌGÏ’õ”üþf³ù“†)—ö¤(4±ñ_ì&Ï ´bË(Â&¦ê3®° ¨¸Üp‡Ì÷ mýã㣛­®…ÀûR}0Mð)åØe_©âÒu0nŠx«‰^__wéÈ?¸Ó,r}‚gD5HÊ¥~$›Yù7-ldŠ/}YôÂVkxY—1÷”ì ,¦üM$LˆBí'„œk¤ktJ[¶^__»{á v“Ý-tÕ²ÐÕåþø®e‹zçVª‡öAÕ¨Ÿ…á"x6DŒ‒Q³É%¹œÇø±IDATßj(A«·°zð,=çÁr8¬[ò¹©ŽÇc—60)˜#ÙÿD5®¨`‰5µë ŠKº"ˆ >|?Ããf±ÇŠu™”¹;ݯéÝ:š3IV߇-‹È„§0Ñ{ÎYH uò)ìKùžñ·¦§WqÀ%=êõzÝžžžfôö¼n¿ß·»»»³qN3ó‡,irGÒÒÇ “{±݈»È¨´çûdZÏçÓ4¦’%¼¼¼œ >¡¬ [âùp÷û}G4ó ˆxaômFÓ¸(nÊæò˜âyØ´nY³ohE*.De‚’ÌËÀϧ5m€t³Öžrg¼Ã\c/q3›SZYâJ l²ÉK×Ïëëë 7ДM’’6i_wwwå¨D•~Âh¢N•›ÇY„PÍ*⦊`jü¦éx•ë©æc‘ d· ¢«¡u¼.–§Y.¨Z)XŽfŽŒb³Ñ÷&î\p&ÚǼ[Þ®b=“hãHʆrÕ|ÊDs®‚ÎÊæzãN8ÎÈ'ÁVqªœÝd•i•ÝTø€çvšÙåŠç¥Y#–[¶ê•~Ž €ÿy ž" ¾ôIEND®B`‚./chessx-1.3.2/data/themes/boards/wood.png000644 000765 000024 00000106526 11217130264 020055 0ustar00nistaff000000 000000 ‰PNG  IHDRnÜ‘Y”…sRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÙõ—|é IDATxÚd}[’$Gޤâa‘Åî™îÑö:{ž²2ÃÍì‡Â,¢z)Ân’•pws<ª ù?ÿûÕ×_¿ "ø¾_\‘È„©bUâ¾o|ýëÆãŸ¿ÿÁ0‡˜#ÅPˆŸßÀ \×…¥€ªâóõƒX7Ì. À†£ª0_/D|\¸ž_5X¼ðúçèx(À}߈H¸ÆÈLÀúþA 0þõ‚õ³ðøú @aÎ"Í߈L@ %Šœ ’…ñï/¸9¾ÿþÇõ/UAdbþþ†HÁH Pp¿ß/…tE•ÂÝ¡ªXkaÞ7ª ×ó þøQ‡¼þ/~c¸CDPb˜sa­¢3‡Û@Ä‚ ðýûøxâë×/Tª€ª‰/ˆ8 < û—€q]QdTanPˆ®†˜¦wÇãqáwÃãñèïÝ?Gú—òÆWDý/cÀÌf3Cd!!3þ-`æ03¨c T¿¨BU¡*ÈT …¹û…ÌDä…ªD.¸^P€ˆ!2¡*Pܪ€™À/c< æà7í£„¾±3øÌ¦ûa2jUƒª"2!\×ïëwW@×ãª<!3‘•ˆXçw@QDàç‹"P*P7È@æB Rnˆ˜0s€È,^ZV¡"ø3 nUáÍé7'yL±bÁͱ2ñ|>•5 QàÛçŽìÞÏsN˜ª ª ˜ŽÊâ!™0Sˆìú…ª„dkA”)"VP¨êÏ_@æBÕB„A¢ ê@ñ-Ïä!4çáZk"ü9Z×…•uÃz‘b\ðË¡bˆXeˆ’eÅ žhdA»0ÈB‡ÀbÎ&æÚ…¿à2sæ VÂ@a­ÉC¡ü^5;-Ë.4vd+Å®ÞDßa.ƒ¡zß¼JVÁ|ëô¼!|ÀƒŸè—ŸµúðªI':ô5‡udÛŸÏLá}Ty?õÒ@å‹ juy;_XóE!"¸ »*\Lš0&nÀšЮÖ•7P‚ …ºÃ›p( µb”:t èp”?PLˆIçº2ù9"QÊ·fPדŸ«€€Y¢]ý:*óõ©‰ê°*ª,`Ôæ\5¨9î×|C”=•T¹P¢˜ká“ÙÕ÷ÕQBúp(®Ç—;$ /¨L¨¢+ë9q¯‰P>L` …}}u}Ppgÿšl¿D  ©_+1&ùâ›9™|U‘,ñE²>b3º™?ßxß81æ‰5_çÆÛå¬ÕUÌoþŽÊ`î<ñ|7›‚Ê€t °õλ|˜6 ÷\¨L\×@¥Â¯¿ø{¥ºª]Ð*”0¹ðzŠÐ¡vHáŽpßß(U| ?­GUbÝ?°nðŸ'lOb+2 k-x¿•k€›¿ó4>ot*aËSH.Ä ¸ –¼ß^ý²Ø÷e ËRg☠?b*Dˆðí©îã2¢ã?c~¬…õúÁ¼_¬üº±eÈdkåéu²€ûþа,T%3áfDÌÞ½Ñ.ã pwøˆàƒg…i7½:$¡Ã?Ñ"x<¼¾¸*bÝLhΈ`ïõzóÕù(]ô™ˆ€`n(c°ÿ4†ÄìÈÁ~Ô.M1|4ÒÃ4âÞ-D+¼~Ã='{í*èõxòæEaÍ ãÂpï¾k”"Ö»zÛ ¨€ùBDà}³U ýH›wáÍ,°¿ŠˆžÏ'Æp7<Ÿ"2'!ãTªû¾´OꆖL‰÷©ò?ó.˜ü —_Ý °7ÌÎÕ…QU¸Ö“b0œ9ž×å¬<ÁC¨î¸bébÃT c©ÂTp]|h™IH±Û‡}hbE‡Án§ŠÜ Cfû aÎÍd!¦s~Qýá!†’,‡ÙÜV€V!ÖdAQÅêË×uAÝ‘þ@‰ó´Ú‘®2Ís¸£0+ua•#ÓiÈ×7ÑÕådž5TP‚ÅB²agoS¨Z¨âŸ12+ª ꆬå„ ˜\®ÐJHTó¾¡å˜7°‚ð˜<~AÆ“y-5†^XÊPo60L1Ì‘+1g ¡(ˆ< «pÿþf+p]˜±à® Šá¼X O¨^0YÁ¾O Z,QŠu/<Üàè>½ó~uY+0ÑSQñÆ“òɆyD66. {1|¿p=ž¨îÕT —³¨‰|A°pß¿QùÂýúéPh]ýa µx’Mq] Ðì*¬AßÊ.¯ ƒ`­‰ˆ H· ]f—*ÔíœàÎ6,dXg¼¢ N 3ò®ë7ÃZ k-6à*ÝN,$&æýÂDÄoF!aú‰µ°Ö|÷…ʰˆ¿+£SÕûMÓîk·ªLMyFãvàSΜȜ$Ð%´šãŽuú¹]ú²%@7½¼±Ö%¸»}æLâ‹«Ç3×( n2^0ÛEÇb8ìafX”F¤ Öå9äÝÔVa˜¢r¢Ö‚ `µ˜ô3ùf¨£DQbX4ÉÎÂìk Õ•´ó¦ÓÃîym…b;¢€hȼá†É,˜9pÊR"Š•œ¸˜5€Ðƒv^†¡Ù=%ø>¹|“«±Ä@Eáò;™÷ªÃ¨»cÎzubŽÀÔk¾+EÙ@îÇhC2WPL™üp¢0(³؄٘çx8ä9~f¤°¶«)ÄZÝF(`óÁƒ©¼~ÿÑ‚‰@´N¤1ñ3ÙÈ9ßÍ{‡»,ö~ü,Š‚ÁL$Ü^¯ö¢ª…R@–ôAD®Fÿ­ v‚l«vóÍï6Þ_Çq`¢ƒrˆW^ˆ;oüåóÆU DJz.W&Äí£¡ÜÛ™`Ș]Úîx¬Ä8§çh%3Ή”]9vCQ”)¼à RHÕ™YƒÀ …Û€T°UØV ÈL”€Õl²Â¼£«Ú.>%æWáa´êÎC›IL2™³ÔÙUnhQÎ$@ Èx£A+JzäÖ“UW ûHBMà6`ÆD®6z$Xk2ï÷ EÁ•” ¶˜ó&RÇ9ö¸,­>EìoÖZ)” R0PõãÁe&V$*f¡íj .Wòâ"²G4°«a<‡êµ|<.hj%L8‘˜÷?Ðî?WÇ8ÁÙÁ›‚ÙïWŸn¸oÞ ±6HœŒcÌ …6Z³îÎqn=Ââ«›d¢+)ˆÉbKUUˆ¸¡Š• Í`#xÅ…â4¹qK•Nc¾Út9ÎI7LH!¸.&ã>aØhú»E± œ)øWßüx7©×M¥‹†#`Ÿv€{2o'÷hh_KeG>ܬÜÐÃâdz`£\§h±î u †ÝŽT±Ûx©(û0{;öÀªé÷[g ý±õá0‚/Sž"飯­º(¨›sV4W?,Ž5ÖâŬ{¡Òp]æ}#kòÎ÷Ø^Tx Ìx*DÏcõpPÍ Îd«f×uÚAFžÆ~ÿ÷-rÚÌy”‚E‚Û8£(ôÞ”ÕÛ¼Y™fjWÍ&ˆØ‘œf "ÈžÞCº(ááÞöp‡›cøÀu]]àUÿl€38XUÑóY™Ë)€ög–Æbwøw÷nÓ¡½0 —óÅÌ•€‹øª9$+ ÊBCÕÎÔXÍ`κ¼dYñþ%f=v%ìdfðÁ¹Yebí“á7E"ÉA)BYc ¬LŒëÂëçWëC“,á‹bÓ¤CÙæjð¾ËìB£ýö¨ ÖÍÉøF‡öŸí»ðq?:’pŽÙ÷®€\ ëž ãâÊž¶_×`¯*Š¡†xݧñŽæÎD›"jÌÛÝָꛀ¯D^Ps"˜dçüïiÁD¹šû xŒ/@ÈÜŠß,«U#Ö{N¨Ü™ÀšIÄ^ K…ÀX`iíŒáPN¼ú¼÷ÁBÊ!…XÉÜÛùÖL¥°ç_ˆ|ønOüÌ wžì{~ÃKp¹£RÒ®jj|p+ò³€æÒ˜C?P3H±%èÍ u°©DÅ7RþÙ5Ù%ŠÝ„ÔbŠW,”>’‰ußÐdaXHÄ \=6RRØz(†59ßSîÈ…ðš“Åø†óÌE ÖÄ=°òÀ ‘ 5¦ …àùxÂÌYbwÞË*¨ ˜bu‡cÁËŒÌu›µç-f.X‡·áÃÑ-ß eU1Ã|Å黲¯µ0'ûÑqÆe@$¹bÝ=Nˆ¬ÞÕ`DàºgøÉ·˜Óýêz=Ÿ@) „þæœ}==ÞIŽÒ6(pß7*˜vž×ã´8Uýæ5Å!"ðóóC°½°Peà\S¡úr5NÆo4DÃca®€HbÞ/ YY, Ô½/FÞs³~N nø î°‡óC½ÖŠBÙb°_âMé±"'ʶAÜ Uˆ˜àKÊßWµšªeãú), _Ï_pwDóEÂj¾HTÀu‡ìjøžÔ d×O,J œÄ‹+üzBkaÊ ÎiA·Cr0‹.+›Þ7R¬­)²þ–Áj^ÈZP<Æñ‹}]}LpÔQjH¤°pU çI•0}ÀôB•¡Ò¢ÂböE6EϘœW°¼MÔ™Ç2¢) › Ó…kMæ“Fdª s1Ä™îĺCµâq}Áìù×IÓØ&09&©o•nÍÏ ¨4ö¿QšCïàÃ0w¾• ˆ$ =%³¹”Á‚ì¯2xˆ#š]¨§šŸ=üÝ„+lʇé™Ï­ ¸tüY$¦$Ì.Š9oä|a!0|°1Ö÷Œè^AbŽ ‚Ì´ÒÄ 5™|µ§Üw.ŒçÀ5.äL UÜ+ ã:0ª¡"°ÀpÀCÁ߯·4ù@L­‡¶ÙœCE7®Í–r7h ÷ëê7‹›>Ùöx@veeØnknÄb˜Ü¬¯5oH ‹“jNÉEÎJ0µÌìñ‚äÛZs±¼k. ë‚‚\ ßo8ön©Ðì2Uy6=<±Ö¢Hi#ñ5Q¹ •ˆ{’͵‚ƒÙ1Ø0À9¿Bs/»R€vUÉQ§ä…‚^ÎÞ+“0“àäPQR¤© âõ *6tæ0T›¾¶I9S–Òs-ˆ YƌϨà„c­W÷pÉH¡Ö\…Aª:1¾®°‰vì*¼QhÓ h Xmàº}˜8ÄÄœôôÍÇiM»Q7!3»a&D“ ­±7UÓ'D’ÒÙß8€JÌûoˆÜðñ€(Q…8ðò›'± Ьê™Ç›ßh>ð ©Bq‰E¹NnܨÄÎ-Äùäôz{0ºÉF̯u ™ ÜB„ø!I­ægNé;Êôþ ;¤v›ÂÆÞXüYb¢Öp•ýAAgkr]®æ‹6)¶ßÌÍÖÚ}ÜN–•ÕÅÜ»ýØtzÙ­X÷ƒ;Exä ÒÜ Õ'Ö d,HÎ~ ~]¨9Q"p}œ «Þ$z5ÏÐÏé%{«bËçA")CókÞ$Ç~Äz¢LÑaQ}ÑkÍCñ+¼)nUÈ´o¦æk¹zºÙ¸c¹N«w¬L"FOyQ„Ø„C ±Štv}Óôª µf÷bdoÇŠ7±¸{Ë}È«Ñ%5Áê¢k3¬ Woš~ô½P úžÌùOo®OBhr7»è“¯7sY8wƒ¼“î>5[²Ö9ç¡‘ot€Ø'!¡Çã (àõzýq Ñl« ‘øl9b"bat’Ö·†ä¼1YdËn–ûç{ 2D©5ö} Ìïér7»™«‰:ìãÔù=¦oZÄãñdÉ¿&Ö\-ì( t çíV¥ ‰ ÅÁϨ¬Žª„b=•¥éuQ)åé@"ó§û˜ÍîJ”Ììg üù{< ÈÐHhM È¢(\‘„‚c›—]i¦7”eæ|7mÀÆÉ=ëf‘äÁÜŠ­”Óˆ~rR R (­ßÝ{ñäV°q$&¯d ReÿzÀƳsB²H·@|o$ˆ Ö -Á€‘ÀkÄ2½g‘° 0@­Ùo®{¾|_ßÞ\Zøº¨H^òW_ó…9_$Y;±n¨ Q@©ág.D÷o›Ë.Äôîž¹íx»Ã‘yë™ÖÖÌ5N{uGØÜ®E5ÐÉ'ýáלÍzªA©4ÏÅXÕõéµ}*{˜jf@˜>ðûû›˜d¾Ákm GM#dߦ͔¾›q5übäÈ:œ3?Ѧíß¿;* &‡}ÌP¹Ø`礮.ï!‚þà¾tàG•½™“†øxÂm ZK¡YÝdAÅ; x÷JÙ¬äÓÿØ8˜µØÿ¹;"?Áþˆs¤f×Âë¾ÙÌ›’Œ4.gî»gj@4wDðA±E&ÇMævÀW´†/›êþfüfG­™9 ­9ƒžb‡Y—´ µ^O$[wï[l‘º\ž­Šˆª_«Ãv“‡?C««ZÛ¸ªH“€I›ëÿ†h"óª`zÁl4‘ªÇ;(D8ìëSÝ€n£û"À{¤"x½î#fä0<š-FŠñ¶_@rË«¢/~\=”lúvÆê “\S>06áóƒá§©Ýz»#‚T…é÷‹¸eOê9•ØÕ©œëª vú¸ýsµß4i ƒBš_=†¼¡·»1Î VSTU¢Ö:TÁ=ª‰Ê&[å9ŒDŒöP¶‹aѵ¢°jÓA¢®iÖAQGéhrJS¨×*'îûÁØXÅ™(ÈPJXqC« %HuÀ7—ŸUÁ=—rrNIèÖùÙPþ„^_ ˆ BH±O--WÊn²í"Ë·*YJ<½Èådž°VÜ$4 ÇЄÄZ …À] åH! “€@Šòa‡«ˆ#JÌVì˜ ¤ fâú‚ʃhŒâO¸?`0h±oâ­àQ\©}±æ[ê ÃŒÀ4+ÁùÁ¦­æâwõØ m§ÏÃmŒXˆ&Âl8fU‹}D ¥isÌa=ßzÝDÑïûçH÷Xf7ùµÕŸGñCém"1Á9áãˆ"åÝ:X¶­ hŒñŒŸ¨8$¥hôe´Ø0ºüæ4»uEe­o˜® ÷=nca®…*Α…#­|K£«‰·›If¦-ðd±µcx÷¤À}¿ö8JOâÞ%ëe(›Øj¥åžÝk¾Õ2Øcú:ƒK$ ãl®…Ö:´=žßÜxò:ëä(7ÑÔ;Ý„»SFo¦ô ÆL¼· « ̱"G”a=ܳ.s;“‚=LÜ £]œiS|xÏí³õƒ ù¦«cjëòšp†¯rXáG ßBÏœ &Š ’pæ ›GG)À jYh\Ä74ó¡N? ™M8œ÷­…F?ÜF8>IøõEØ(¡k%©¢P1\ct±âgH)ÊS‘§ÒŠÈVhöC¬:l`ùsƒ¹Í½Ôs£>™jiðµp·N¥È”Özk£@o"Ðh•l6¨±(³N">.*jl"›¯iÇØBš®LU„ig*.úÖÀŠ}¢ Ò”‘ýt˜®G1µ¹óI.ÆiŠÑBv07–Ĥǹ™rÌÒÿ,›Ø³%Y}A¢ O–ãY̳b¢±Uµ/”ái‡äèa.ªXÕ›ö}=¤ì! šć[ƒ‘×þ11´öÜzÌ% N\=ð¤# ÇÈHÁÝ›R«—PiáJm„‰a™ Äuö}‘«¥[]‘¯ÙïFQ|~&ÿìINÈÌè‡Ä€T›Ë…ܯ|ÜRj¿¢150¿1†AÇÅз8ô,!WZ` PÐÀɱ¨vC0xÓ*:þ6ù†Ð¹Ÿ«eÉ‚XÕDög#£NeYP*L4AÁ×B®2D£+?ée‚[¡cO¶…k„'Ø/À¬µ‚ÕĨZ¸2š¸È”Eä ÷Ç Ë° “ÁvÑ5""Z TÔ« r0w/«;ì°tJöˆCì¹ï6¼.,©ðc7¿`ŸWMM03Ì9×ìã ë}’§Î ÜN1„¾)»›¯Ö˜»ÊùsÒ·ÙoîçéÅÛƒËFÙwÏy¸/Y0X«û¦-îžKºPØB—ì°“™|ˆ"÷ý«=Э Y bœ¸ïÉ·´v=cve˜È5¡¸àö÷'L®æ‘ŽÃ€ËŒÎïfÿÔ¿œô"Ùí)í«©c™›¾Ñ ÂRëTo¦tÊ•xÍ`½{¥HAÅú(: ‰m¬“¢?7Åãz@£TR3Vz´ ‰ìÜÖœÍFaVôÐÕÜpßÍæ’jÄ„?åÒ\~=Ø"Åüäô‡*¤²éñ¡çë)àúz6 'ÿc|ÁTÍ=™+pY‡ù*‚„¬iØ{W­¯c™‘tèȱ½h2»Z& ŒFÞWÓÈý »y­¢NÍÌ»lnG…>Á« …k\Mg¯ÃIdSç=(B¡m¡bz<>öS,í#aàMÛPÚë¾Û3„Áf 1¢¿†àt4êßÜ{y¤T ãzBÕ±VbÅzKˆ›èZÍ­¬¾ÆË‰Ë2(Ù‚è!¿fÑ꩚R¸®ç‚ÎÉ‚JåfàrÚ¿1×oDý ò‡­Hêóºãb¾EÝ} ‚u¤²'í¡©tî"Vä‹ì`£˜5q#îßÈɆã ØZ§›Bš@†4Ž‚É/Ä=ó>o@©#Å‘6ê°ë«’Àü"KÚá4¡XÐ ˆ<‘X€,À©Á FîÌóJ¨óFê…²_HD+YoÜ7'T> î ; -ƒgÁ ®¯ß? ÊµÛ*$«êøðfÛa˜9®ñ (r­c÷aþÄØNB3œßf7_°Ø“­\ #u¯&-•RmW…îöÕ¨5ýÐ.ï\X-9-‚‡}2«¹ƒh…'óêóë‹£›& qÊmoe‘´ÁZ4e€†íÆë¨8È8ÈÖds^‚œ~ùBÆDÖ æ¤‘sòog$TVµ‡j”ân{ûPš|Ô©V}~}AêÆÂ[c¥TPU8œ;‰ã53†âz>>Â7[ ‚—]Ð-`§žvYo³•jˉMôŸß  ~ÌÐP|°àºÚjbϤúk6Ñ”È ŽUÆu D[QUó,ªsÖ¦åí"c7ëÛ ge[]§Y÷/\××!=eNÄ"¢²‹©f À6˜Ýö›Qý&á,ñ[Ñ*MäÙPÛ.„DÞèj"¬4ß2Û¦c3ß² ÀÕ( Su÷‘MžÍOÊ‚[““؈+ý?”užnÔ¡> ‹ˆDK‡š>.‚ê2·ð¦pïkF3»‰$­½ÞCÓÆ;7X{Œd”SDç×Z‡k¿õߛԕÅï+‘÷M ƒÉsã­ hªC½|ÃFJj  IDATM0ü ¦{Œ:˜þx(ùn—úðìëÙ,fŠYæ©dùÅo> Ím´‡³ylGH½g­+Îh7èúIq/Ž*ÄzÑî‰qú%˜Àý‘‰µ„‘ ů…QÎ+7Rfÿ…™7d%ÑA]H(îì(X…Z +øv¢Ûü,Õ8¤©^ëL3Rø¸PEo-sÇx\GKq·G—5‘–(U…2‡ù³¨ÕTôû„H6É{º~C4aþ k “-…äÊCfÚ¼~R„Ï¡a¨ ·áξözíÖ„Þ‰ëׯžÒ7bU Ã,¶ b¨Bh-˜ëøH±Ø‚üó (Ǽƒ xÆ»Gº_m7Èá*§æ ˆA6Þçãx>VWaR=™ÚÃ?ÈBF®ÙÃÅVšŸP—ÕZ¹ö C1 ³Áãb– j*÷=ÛÞ|ŽÙ#:5^+Õ‚ÅÎé<®žþ|TÞVY~Q*ÖðaV׊áÏ"Å$Ùóíð˜ õëDH¿…Q=\5˜]o)ñ&±lÐ4:©:¹…±H È _½ik¼Ð'Èø~»¹Þ&œ==·1`cðlo®£Ü©ì\ÌIAÿ6aÛp[T¦:qÈ›ÊwèoçÏ·WH`-Z)V(€ñFÚÌSÄ!Õ¿3ƒÑ¥›ýÃB4{›H¼àþ >¾:ÿ GóFÆâTB/hLX-¼¾ÿjB{Æ ÄýƒxýÈTÍcýøýš×3 ã韛,áÔ›nÀ˜3ÚEíû¤k‚Lòᆲìù=\¶ýÓvÂÛ*@m‘ýìy[D`K³8Zٸ̕›U¼Ö:s/ ªƒ u.’aš–= ¬¤¸C¸†5„¿3“Œx×Ôy]õÇ}5zxº‡—Ä÷þôjþT­µkR¸_?lл¶?IL~®n¬K~=8¥Î6#Z»E¡m†¢`&x ÑIÿ̌Վ|­ËL\íðþi‡¸ûXRLlÏã:Ol“жcš=ÉŇ2õº®öìbÙ $Æ Ìêuÿ r!rb®×É[¾k:`2è5R‹ÊÖ×u¹“›@¤pÏ|ÿ°Èy\b%PÅ x\_<¹ü³ÚM¾ÙÍòjšÅ§~ûPÇ7¯¿æŠëá”så¤ãm1Îyãž“Ñ(“z†ÆWñaÁëþ„ óþ@Þ‹D“7T€q¬Åеɳ­¶¥¾àï©ÿëõ:}eUÁ ®­mE‹2D)É/íкolÕ[qZ'ÛÇ*+á&øz>9¿RÃóñ…)/  žÊ‚9PõFûÝ!ÒSvy{&høÎÏTÿÉqоšÖœ¯u¥J×ÜÑd!úRi*ä½`ž1öp¶+Ø9)Ç®nÚE>Ýgë°âÔǹqÄš˜ë»Kyzc¬è¨*ÂîNe>v °[6DyŒ~æFè ÷úFÄ ¹n 2*Žœ…žÊ}ÁÚZ7B¹NhµÇ_ÐqaÝ?0¡ïuÓZ´g±J÷D¶å ¶{„ðPV‚üc?§:ÐC‘3§xWÔŒ+ 6. 'bòZ*š4kô[¤Ý' p{Àë꽊‹ÔAý‹¡(hQ©¬U}ýùGUN¢, ír5÷tw÷ò1žÐ?üñæÓ÷±A[%PàaÞ²¬Øàé{¹?À1Íl«ÄJ`\_=þKj‘xWSÍŒÞö‚ÚÔu5²ÄÆc0g ‘37}óaÌY°lN×öÏÎ:£¨ÜûÚ>~U8Ô}k$¶³éyl}\ éã?w›Åéé7Év[pÅŠVÇR¼Æ` ¼çq P¸Ù5…ò!õ ÒÖ¨?ÙS›}ÅÉøêÒÙ!²­: 09ˆtNmÊ÷‘eÿ÷t[•¿oü‡]ÆãÛ¸lun5§c-Cœ´{;Îæ†¨]4ßVN,pÖÙ/°Áå½ç@¶*o—Ùú»–d¹]äîb§k€=gÜ´4Ú]4õnƒìøó¯lÅëÎíóO[ßöCÙÐÚiת6®¾X?ά{‘ÄN†;¿ñMja^¿uäš´#Øá¸±(Ù ðf:ñ¢®¶ø[¹Ž½ÅÖkãã­}û'¯ƒ8Äzû‰½¦Ú®Hê)Ú•&Ø0ÜìOV²´Õo@zÜ$ݼ3´ó°挦:ØÇÀöíRþ.VÞ&­[¤øIْ膽)æÈ÷7â#•Ç_··%¤ÎHs ±‹qyϹOå‡fn'1£‚ó6¥:…{ȱmŒ-Ú[3¤y–ùÇÏ}óñ6ÁÙx§ÙÑ T{m±"¾š´-¿6~T10Ov4ÙÈfqõaEc¤ ¤ÁC´Õ°c{Áâžw»©Æƒ·¿ð>lût¼ÝÚéCIúI›°nм*®ñ8¸Ëæo‡‰ÇhsRÝb>à-N¤*çBµˆ¿(úF­!E¢O«$±Q5„Xï8h¦»¶e¼»¸iaf…{ýàÌS{qÂöÅLRÀ÷›7çìÝ U­2z<Ô¡½Ò^(YÑŽ¯~L×ÐÅ–ˆ·•£uf˜7€F¤¤²àÓ¶Mäd;*(̤k‚êÛŽjS±MàveÞ*¤ ¶B‚@®º+h<®jAÅ!IUëó`†RêTå\ º&PV”‡<ºÁam_,UN°çZ¸çö!×긮'Lª(_zŒ«…õupÆž4‘ ÛÓd`ß±} س+ÂOÉ®ˆ°7;6mŸÑ„žÝwfœÊn䘧’9-1±îžÒ%æÄg¡íìwáùüÅå&üÂÃ}_Ú ¢éy´oÜÆu+Q±‹þ™­´ÝoÙ^d l+©=ÜŒíö]În"»³Ï·R´þ# ¿õß8U¤Úª:#ô[@Yð|þz“T¾ÉÛPz‡U*.ó̪ä<ˆíDûhO«?)óøÃ¢i=~þÕ ÞE ™ñy„óPëîh#(Pô~{5œäÈqÍ‹êX1Ãðè"å€d°_[óÆ\‰Ñ1Ár\Zµ÷‹nóTôzÎ5'¢ßõ„Ú…LiíBôSk7ö€ÛÀx\ˆ=äÝ¤Ùæ¦š)äºkž1™4ËMºXâ6JšàDk-E·xC´š-»:L²}7‹êmÛF¼×eÑJW>ØF´°«7Ø^!±÷°uÅÙ›õö¶–.ÇnéÏU‡†ý¹é±ªPj°Þ’u¯uš5ãl”RóU¤ ¬®T? ­úØ.s «í’¬ö‚¦næÛ,Ž•ï.ÒŠ*±·Æ¢¯›9hk%ôD°BU/8ó#9£I]±ßíj{—îû°ù,o_@£{±êµ)Ü´1›fV!¤UÅÓ\=w îœXs±™LA¬\¸ç*mT­HK@'\ÐaÎy²[WNpw·žmœ€ã½Фý½]_”ðî'¢‰/r*…ßJú/ÇZXsµhÑ·O©F*x+2Y8ȉz =ƒJ´BA±P-Ñ}@zAànQØ2ä›Vˆþ*ÌÏÅaß“¬6ÅÖ·«Ð¢p'«Äj‡ˆ¶ˆ\MõcÛ„î«;,7aV÷ÔVzCâ~%7 ZˆzA,8’ÿŸŠœG—îë2x+z¢·ùª*wËñ͸›·òViî¡í1«1D]ÿÜþSuÇÚûÜêhÎý,MÚZ¹úP¶nËûêðç>8ŒÆûkö–Žl¶ôv‰%vùn[¶Æ}£gh{îÇÎ<[Á|XÑÝo[Õ­Ÿ%›“¹ýò³7L½gm¤Žo4Ü‘ÑËWÛmåí°þ£1ήŒ¼¹‚79•gº m(#[w6hiû«4Û©¤oÚuwùðA“w7h°¯a},qÚì`ѽj-Úav/ƒÜ®§÷mi¸°Û`ºÈÖ±·?Ø^ ±÷¥V3Á8βó€ë€ìrv;lðáOÝEÑPFž·u¯®n€ÚÏúÈüÐ&ã\\5MÍQiþ<®fÛV×þØQ³Wk½†º“Õ{ÓÓ võo×;Ú³ ËÓìÓ·¡®Ý¤o4G÷’÷m¬Ñ«aª‹ƒ÷¡”ãª×úõS}njF½×A÷çàCÑÞhÂ+#‘íe©{!¡èYyFäF>¶:ÚñåÚ$ÛµˆEî “Ò‘âsê°y¤ûí[+ ]ù ÈûÄýݲ+ ‚¤¡ÄBbážä•HÜâØjON­jÀüѼÅDFo•Ò]Y†odý0?•œ‘ŠØ…jðWÚ2BÜ›í€&ĉÀvl<´ÓØET”°(ùùäŠn5L_ç¬ûw¥’i¬rÁíÙÔÄ žpÐU€ey -@¢0— ä‰aD0¾¤J2þ;IQÂa*<¯ÁչދӶ×$T%Û’|Á3¿iC]M½Ö³ ¶°W”¼'ÅfNåèbµضù³çhg:¥w³ÐM]MŽÂ†V·ÉuÊMöYkï’㨇÷2 wrœP¼«a®­¦›òà½a Y¦·\«— œN·Fãù}·Eˆž¢-C1ˆôøçõ -€peR‡§”j5,ÆÍWÝoRµkü^8üBÌ@ba•=‰˜ë¨}ª *I´*i‹g$[ñÞ®]%AЖ ¼îçQQÇ|{/°Ý ï{M&׀źfš¹¼ûA饴ùtìÍ„ÛÍœˆe«‡›LÎ,¨¶ƒúΓÒÞ‘s&æ‹.€ ?Ç5®?‰ŸŸÜ÷Ýã"9¨ÏYSÝž“ª›–Èü2œz6×ÉÁºõ®md‡ÝΆJ£«aFó«½ÇÆq•>ެ{ø8k¬¹S] ¨ .¨>1ì.Ï)&Y΂îûÆ5.¢ ;mŽKMé•-kÝĬ­Ì@EîQÕŽÄ6ZÎÕ¸bCq;?p%K)2­ëcBžgþ¸þ…qý ×ø7Tž½ o‘F¾7Jsx£J–°4Â3Úã,Z{}F@º›s‡È…«þÙqôË·<x½~ºr~/=ÚŽHµ‹«"ÀŸ•X1Ï4½öÖþ\\Ø¡_T€:Fß­HÇ*GÙåmöRÞö¼/̤Uû¾ÇMÇè’®TëôZ.‘w1Òˆ'à|ý mF²‰@æ«AbÇJâÙùÀœkUÖJÜw¾ ß`€Vw½áŸ÷ÏÌÜ®²vJf:¡Mi‰®cô ÌFßã¸ÿì¿üºob-†Æ9çq9Š–Lí†ÚVQY„î´àÛ"$Ï"ÛÑöïEíÇC³¶±€žê¼š^Q­‡X/ÎÓÀû\ßxú“®ºÐ~‹ó…Z“¼wÅY},­ýÚ"²Í±·'Õh›‹¡Œr¼Ãä;x+^Þt´wè=ÚïF8ô“ÛèÖ'|lI~“G¹Ì}{lîW÷Hʵ0Ÿ‚D·wA´ =ۥ䘋nIªX{üßèÑuYï׋±‡TDß[¸N‘SW¬W\×ÙpI aié¶ÂYåYsƒˆµ RÃmp´Òz2€ý˜“T#ÖÎ¥‚URhº»Ï›£‹ÕÐðxªòÈž´÷ÖhK‡«×|" ƒ«.ûmlx‡YûƒÎ ð†Áä½¶@£4£{Ê^¢¡Ý¬•}à ~ý"8‘Ùå|o¼ªèuöŒL8S4á6Ǫž¶8d.HöA•¢”x¿ò‡¬Ú nÿp¡ƒb­úÃéæÄp$4)˜ów4 âÎä\ooDŽﹰz¸¸÷ÉlŽ Ëê›2¨Ô"æÐ³{ò`ö„ÊÕ¥s.ö~};"VïsáÃ×a&w»Ñ›·‹mÕ„9·Jªìªt Ô+U´YdmmÓí5 ¸»ñ¡KÓw»ÖìÛ~‹fÙÜT¢G²¶!µú`“‹(û•oÞŸ¨›Š·É3ÑiUfû¸›I¥jtm¸w“I*{e`\4YÑ®¨2²™-¾Wâ—H[ؾe³ì½È­Ýce· ¥ˆM$¢¥SÆ‚ c<>–âÒ—L9N3í@vVΟ^#XóÆZ\¤a:úþ$ÆóI%©;Öœ\ÁãŽ^¥Eܼ ·ê»×ì…ˆ›=:$ªjÆî™cî¹½qÒ¼uæq9qÆÅ ½Íž]:-ÕºÞîÙlSQî&™ˆû¨`"n t.­î“ôèxãŸÏ'=NîÙnãñÁÓì=ˆmÉtFØ.²ÙZ;È Ñ1z1¿^7KxÝôqtYGT¿úäJçJÕt#Í Ú([ ŠÜ×+àƒBÚi°ñ@®<,®J´Œz/xÏÓ‚ÔÙ¹gKc¶ù̦þs̤gÖ·j¸D¸.‡(™º”<$ ±m‡6Vœìq^g , .Øó¿!zG«†=9h[û^D»Eòq™$J©ZQ³vÎÅ­¼æF)sµõ¢¤Dëvƒ+0{ÂF¡0Ûãî}Ú«‹½áƒû$±&¤&BÒYt'ºO(F»ÕÞmÎýÅæÀº ó‚Áq²Ê¸xwÓU3‚ŸE•’ê8¶†¤JÐŒ»ŠÒbÜÉU/µ2 öä*™HD*"…Ô…lÑÆæ8n&ð.Ù¥…÷Z\?y`¨ê› ¨úFÄ‚Û1ÇáGØ‘óXõ®î«„3¿1Þ†1èÞðí¬cg7Ï£è8_“£,btà슆Öä>ŽáXÝûlgÕ•}¼¡Ó¾wêè»ßÚCÝ&û@²YÝÛÂŒ^—k%f¿Ñ öüh¬åÀûómóðMþUïtØs>o8vX½ž0ö6ÜkïI?tï­•†*®ÇuôÊGp¿•¬m·Dë];…ŽnÜs¯‹î‘<•˜¿OÃêöd™³À‰á¶m$¼)á;Q{¦g÷@5Ñéj‚?{µ pÓ#KàNÓí½u[: ÑÖ?t%½—§7tD.DÝX3!Ò>_5±â>Å÷…£ÙˆïØöÀ‰&+cRýô`±*Ê&}«x¸¸C ëÙJÈžºöu­ –Ö¯¢NwÓǰ¿€ÌùÌßgîµ÷Šnöö°”â‹æŒ#ÅÚ\LÖ)B¿¶”«ÞÞ]¼-n¿Êm¤ý¿)­rÁÛúé¸v¿zUŠÓ5!¢«½¢]|Ð4Èf{‘,K íÑE°íP$˜÷:z­©m­ ¶©ÎfÈñ…±Ã`ãºê äA¨ö欈 dÝXm[±#út™Ò‚ÂÍñú™´ lW¸-qUQˆõ~5AbZÚÜŠfqDmËà :þ èÈDΟv§cÁ½(ß-¥»Ž™skû¦ ”D6'd³¶€ÌÖz‘g)Å1ˆŒv~ÐãÔþº_Ȥ}…ÚŪ²¢*=Ò¬MæÙÖQ€bë©´êÕ_œkÖê…“„XÜR,…Ô â׋ß/Jöò‹¦?B0WBŠ+¶EAñä²*÷|µJdK^qVUoð^+äÄ*ÊÏH}λgWƒO!Z ÝÎi5±zñR5pY/™èf:7:3Ækº-&öz¯&ÆnOæ¬ðAˆ£zÙJ¡·Æ/"šhû±Ã{ËÔLJ=c{³ÐvsÞ}©lŽBíIˆí£äod¼}_âƒnAx¯!Ãa{× ƒ™EZüæwîýF%@×åûÞª¸öê˜\oÒÍu]Pkçð° ýêîL`zõÉ[¾+Ò+0åÕ› W³¡/|ß7'ÚwHÕf?Ì… ªAfíIúPÝj4ß%©.Ý. ‚Òªpù­€S€ÃkϯOÅ ofv ¬"uk}1æóÅ=/;Æ¡frÜ ÷Æ]0‰¼÷+l|sÎlMùP0úìƒÐ¹ÎSÀÆ,»E:xm\¼Ð{qùù®ÉZå=êß8!ËmÇO‚¯­Y‹ÜÔP‚ÈÙ_4L¬ïÿà¼õÏ Žy,`qgûd®h?ó÷û ØdÑ5?°ù/ǃr%Y¾ß ¯æðï÷ lµlCb0rs- 8þhÉ×5cä;„îmN %ï$þÕ¤^.…îT~h s*ìaŒA~‡î³ëâ8Ë‹Eòëž¹óÛ\$£âZõƒCãë;4r˜Z}Û˜‹ô©µûQxޱçëï÷+2`Çë|Qci {Jñ…­…™k{?•×Ä,–AÑ´ÞªíöH’Ä€wð­ ­ Ä×ëÍøÅñáZëvæFlÐAgÚ='%ŸÏKWÕ’…„à6œÅÀÑ_èƒÛWÚ^v JºèšlF׆5®&j¢pž'2æþAêË å\㢲yîmªª^÷«²ŠT1w¼^çvÉd-TsaR¬u¤´úÞ¸ÿ;Î÷¶EßZ‘¥;§ÍÂPÑF¨¸'0±TG;oøÌ$­¡TlÈÄçç+Jm$Lª±Ô—°åñò¾A²§LÔ»yÜwŠS‡(Û«Ü!ö‡zx`_þÀÓšÀ1"ýç?À®¶lð½’q3šLða„çœh§ËÓÍ7÷õânë8^ô®Š’v¤ç^{øUòM¿c¾µ$çùzç’k i@ï{ã |·3¸˜=^¯,`wDÌZ©$ÉbdB Á½<%©â'0ÇÏ~ +g.&sTÏãàï¢÷{¹O°Š|ãÏΨéäì!ñX#0¯µÓ™f“ó¤¦Þx Ǽ€Æ}T„íþ¦‚‘¬rݹÃY÷þÞx]Šl;¬˜ø¹.ô×ÉŠVþ„ ­'áe’FäZx'Úá˜ë’ '$yïl´Wb^%™hhÇ3ÑþC„U ¤ ©`äÙËDS ´÷ÖÐûßèýo¬©‚a§HÚVl3’§Ð˜@k/D6ênf×)!ï··Lf3ÃõïMÚæl5,CÚÔ°æk•n•C…Î1JcÄJæCç~ã~½; ÷¶ªöÊàׯŽãsaî²ûzŒ+ŸÖ:ÎóÅLÔfÀbß‹Ä9sÙ£TJs SZ“¼1¼&ªŸÊíDä ™ mö$+=Î%w(`šê¨Ï5©v–AåÏ_9ÅIn"$@L0Mùõðû#g<Ã&¾*añ;9¬âeêw1TbÉøï´u­Uα¥kP*Þ.ÌᢀPˆÔrð·Ý¤F¼2×í7ߪ@ǘKá¸mOcZï8ŽCGlö~mÛIO¸URê7bœPŠdé6`AÝâÑP7ç—sF™2©ð2e²ùvÑÓù·KFÛçÈìÝćÖðÝÅ*{š5¶¬PfMNj$·CþrÝšþ½›…""‘Td7×¶¦|äÞ1^5‰ß˜Éój\*ÜbqÔ?ææìÛ`XC1]Ö±XaXÁ{¥LöÌoÛã?ïTÈ'ëÄu×­9e¿Ê_–c \cÏZCåövå¥,8À4³Üh uäwTJåÐ4·}ËàšÒp”V¤?˜èðɹÜEíñïÙ)’ª¸îñ‰H¹C4bŸ(.G0PYÍrƒ½JÄ‹¶v›SƒÜµ ·×¹õ[ÆF«IwÃqœ;UÚïoeK º»X['7Íiib¦¡¶Ã»Bµjªdò‹‡ú9llý ¦#3´i\UÖäÀ%±kdˆ-&C¤ß¢×ܳq}à8OQ€lWß<1—¼ÊJSæÐÞ a#Q˜ãš[&u¡ü}ŸÒ;ùh†]ДݯñÜ °Émn8σš‰\°&­1‹zƒ,íÆ!Õ3âý@zC`J*b¹ð~Dû-…T\B’¡Âû²õ¡£d„ ý}*tBlõL”¨f¬¥~²qFHCÍ™Bãoa˜ñãoÜT=®«¬]Ç‹…×hJ÷ÕJdÙ­³R^¸"ÏrkŸš }=Ý0µ1Ïd~²íÄBb)‡Ž|WŠWö=³½©-EÒÒÆšå.ÇRK»´:ÎÉAU<Ù6uqo€¢”]qÒöÞ´;ÝqóÃØÈýܪ,l²¿o;¯YS8SÛ"Ö'¾ªIú,^¼5ÉÒ!krè i›¨—›žÐÔC>Êu ˜º¬ÅS&ÛxCÊ)¬D¼ÚšðÞrùÞ\÷¢ï°xŠuoÖXݵ½uõvìþõ kæ»+ÍáœSöV™rÁ»däq‡:¸¨Cü3&%ç[¬¸$ h›Üjz"c…f$¿Îo9Ù&½\¢"]ß!ÈgõŽÔÖ7EÉœ¯¿ö‡^¡ œëlXù¦0\×EÍH7âÛïZž.Í>±×Is a¦DàsЍJ üù|÷áš PÈÆq¼ô÷ù^¤®I›ŒžP²ñ½ýwoB.ßþwøü|øqÊÈÌ¼ŽƒBŸÆ5ðýüàúþ éc›)cE2£íèk,Á£ywŽïb  w"›”ZQ"¤˜”¥U¶ê3ÅÉÍðý|Ѽ+õ°mÞÊЦ¾×ŸÿÕ‘ÏqÚš7½Óa»ãúâú~kâýzïU”·Á‡ÖF•8<ïÑ£u\ß®ÏWq¤RkGiR%t 99oäÖóÏ3GÌÀ¸} _ÞÃkЊF¤>ÿï\Œâvɉ¦LØÿóÿ_ÙzàÏŸ7¾>•î@ï¥}L±´ÎóÄ?ÿüƒ?Ç{#”xÔµIN—„ìýç/\k»S9s£ ›7äd%ˆføÏ_áþó_˜ÎóÀu±üîg ‡%ð÷NòDг,"-%p“Ǻu,|Лãýú›)ˆz Zk°LŒï? Z;^/¤+LišÒy7o°Hò¢ß'ƒÁÙ;[‚f•û#¤ˆ6Ù.Ïœ/¡é³+ÅCWÂZ™_ŒÑ°fà8 Í_øŽÐ=`ëÀŠ‚p–êm¡ÿûïñçOÃeI©ùâ¹Ò1Ç…5'Žóĸ.ŒŸ'àãÚ&x²A®oìÀ¿ïÏíh šH4ŒÏD Î#˜èvmPp|¾?Xc*=1Ã%@šhN‡L¬Àø&ü<0¯KwGb¨" i)P|Ç…Þ(Ú×Wƒaž*MÛd¡ƒþö¹8tHO¬‹£1‚€CX¬%›póŽy](zWéß)5ø~~øÍ,Ž´ Ç­áX—6ö+9p}>˜H¸ìÉÇñB®ä‹Ð½ JM=H”‚ˆ²èx$R%,LÝà/áhÒè7åÊÁ·r¸Ø#î ÖlïÉR9£ô®QÏaRòGGS¤e…ä’êÃf¼ÁvZ²9ŸÂ9üóæÅXçã80“£¼AžîÓŒ&JaÖ°:àãÞªGÒdÒËè[à°!åa ŸáPAáÝuŒßï—úMR¸”psH²àœÀ¯³óŽÿ|¿hmr¹üýH†¸·Þ ^žkFŠÜ\a“m »ûÀÓüasÊ_ÈŠÞŽ½‚¯¼P“–°»s|£j’íÇ-!g5ÚÐÍá Ä\XC±gáXÓé8MúåŠI¹bpbñuœçÍ?¨ Y‹á»Þ ÇáËì˜ü½C& Ké&}S‰j3®È-ôÖp´Žœ„êĘÀ[Úé¥ÝšF£µm Œ°dëu©œ›Á$]°-%œcÈ\Ì2™@ö(.¥ -f‹®§`ÊÖ*°–m}(û]‡³z,åæÿí†q];ôa³$’M9mñÇa´±}سo»q7sQ£°¸æ¢ÅÊâÌ[ø&1»Z+9:߀x t!étMô!.>@šAä$Õ/&š1V-‚(ÅBR@EKÛ ¥æÒ›²“>tÄÝ?ÃØ»1UJ}¤XÆaµ…Q­o×ÎTg>,p·¥™HE­çì{(J¼͈ n-§ÎpAË:ZcIK96߯5sÃ1ç^ÞÊçjóËÆ»×Æ~hÍP¾Œd㔌¥&u|Ìug¶Öƒf Þ¥7!v8‘Õ_JÍr w,kŠï{ Äàd>kÈ[.us5ä†=7Ó$Çöò¸”[¥’mTâGY¥ÍoôÓëõ‚5ûµö©?£vwcõ¥Hä˜S¥{nÑh‹ˆsÛ’bñŒ=Ï ±ÔÖð7vð-OðM¨7®¦ãZxî/Œ9§ÔC6yØcÚMOÀÁàŠòl[m©rvêDjìw"”³Ú+IÄûõÆš s°°(ü½›£ËMŠ{ÇßëRÄŠ‹áÕ6O¬õ¾§PÏ5T™H­ù.JžD$(µ›5ó¿œ&XêÄHô“ ë q½ã3pœt’¬Ëàmbe¢+¾ähA­~«t„Éf»”¿cKt>îéLa —r@Ù… Œ3˜ç]mŠÅ±‡ÛÓÕõÞT¬œ³¸V5ó/<è[Ÿ–]ß/ß~^S)ÂÖ_ˆ\ß…þbÅÙàݨe‘?€ Ãâ¢\±e'Öø¡È*¨Åd^*Ð[‰}§æ©ô)2|ˆ¯Ð§X{Vzãëgpf4_<Ò3×õUÀ+}qÖº0ïñ–¸é¼„G)[”ÕózÂ@äV»¦î¤ø°dŸû¯q-ü|3F4$NùÉ¡b§Xb7’Êöª„©Yßïw!øÖMÑðn;ñ7 ¸úÐÒÚ—Â 5‹{Êóõºs÷öÃȽWíÝÖ¤нÒ;7þô$P ÷ù^7SÄB{`S)Wï÷ûç] þ:ßÒú;Îã͵¼$du,0Æx¡ok;qªò¤|ÜÀ•û8{†;ÄNõ½…/f†ëKœÄq*Bçy  ~t˜Fhí8XQy—÷C^²Žá(¯_rDU»5oŽ£L!vÎ çˆ%,ó¡Ûx(<©²±Y%îŽ÷û9'~þý—>ˆ‡²F1P‰Î“ŽÛ¥9ãuM\cÉí8%Ç[saÅÂyž`aK5RPíú<[kðÿþóÃ'.h*vpèŽ+‰ÞqÔ;`m¼Q"–c{.7‡ª¦.c ×Úæ‚¼Î·ÀÖ+‚fG”X”±°~°ó¾¶ù¤5Ç_x½ÏÍWi½) o±ñkì6'b÷[?±ßÊ~¼Ðzc”óÃZuWq¶ ï šÀýïÔÎm*¦Ô2a¡ù¿ t·üŽ Ùóx!UÅæbeZâмw-6ðsðºj9Iyûùî€W/v c ·4× /N!E¬þÖ®<ÛAý…7ž÷‰lÇ’=dßY¥$"4¼Îbm‰Ùä`)“‹Kðê˜ß@ËÆÈÍ“—z3*¸Țûˆ)T¡dÜ~8ÖuÉ!#l¯îL*±ÉÁ-ÅŠ¸åæcÁ4˜pRÀ©ÆZ Gõ´Ú˜7§Ù¿7UÜ!fIY¯zw†l‚i_ptÍr“Z“l ­­ÈcÞ¤yOx¼õVw'ÓÇVÐöÖ·c‡9Ù±E©ÌÌ–ñO&ôB&Ÿ 5’»Ë|žIâ¸)l)¤Kl;O I@lâkmب®‡>C¼LsœýÔÏΈš5çödQòº:5®ëÚt Š†xϨ1ýŒÅõ,ÁRˆ@»Vàs}0×Pàzl1ù˜z6ƒS¢óD’s»o-™ðúy >ΓÒ9®jôvX p“–ªÖ°œ#74G8½ÝúÅíÊmíÀçZˆ0t;0ç…9Î?'zgUÔ=‰h.aQîcºØMÕ¨œÁVKàÜáðØc¶QQµ‚‰ŸžÎqôÍ ³GïÙ{G;ú”–NŒñ,ªK—¿-\‘·–ñæº8^Ç‹^Wø­ÂŽži’¹swÚACe5ñ©{o°B,ÑŽö€³ñ­ƒÇ}¥Œ˜9|Í‹°ïÈ |>×X0Î#ÑMlçúß;°”±Ã=+Äî†î/4t¦¶¾Å¢c|Eºã×u‚Ýœ‚ž×‰nÎÊuN4 œ=‘qág\KøÑx)‡Ë"EÞX.ÊØbËÚ~¯ø4ž| b“Ëß•@;N¦üºcÙD?™/0¯ºï÷¹CÕÉø´‚øá2†®k0)ÒX’­qaŒ‰€¡Ÿ/½+p h7õ²0•Êѯ†> -Þ‹\+Y ZÀÚ@o 1>èDÙ”5—4™øŒiŒIÖšhÝXl4ßä¡Úd&>ßϽBYkó°š;N‘àæœø~¿øù~dL¿ÃÊ—¢¼¸àýXÞ8ží¿÷R•>e2…0‡”û0²W˜œŒ㢻ðè»?l­±0³Žë{ §ì!´…(oO–Ü XÕöÔÑûz¿pž'y)JSÀ ?]¡¶È™áݱ”dYt}7¡¡y]+½.QV—Ž×ëq·tà”Ö1“0š&>ðÔ1“òG÷Öq}Nã>­Ž¤•‰œC#'þ²ÿõ×¾7z—D܉¿¯ÜkwÛœGµm~lqSÅy¬’vMñœö8¢Øê<¿<7ÃÏ÷Ÿ÷zT<z ¹c¨ØHÜý«m)ƒ²Æ„h‹ÌÕCÂZcQ5'Öui¸ÁùGW®B"Ñ4§»i(NŒ·†™îz‒?æâNÔp_Š#[jœ9¢:3/ãô¶íË%؃UÆítœNÞÈqhÖ$ö| J>aÆx”í€Õpœ•œª;¥nñdzôšú€]¥µÖÙe,´vâZ“G>n·Q-нs$Æ ¢ׇÜeoHEÐÀÂ- ÜÐ݃•nÜîäë­ásEŠ9])hT—U)æÕgçÉA)©;v£²Ã57Ô‡õ:üóï¿Lçh ó³8ÀÕ0·*ÔX •/·4iIdN¬å{gfVÁꬄMOxÓ(®lNsi¨®ÿÎÝ©ð*^f0#ù— ¬X3нSüê–lË:•ÆÑÏ»"­0ÃîtõÖ”*45ïÈÅ^n^¸ä!Û•7:ú9,’;¿±&bB: ÆLiH\eÿƒ*$uT O¡„^—µJî”F±vt»ûÜ O´`$CssÉ¡¢_l ƒTÚ•ò”Òìfgò ™saÈe{¤Fígl>fAÏ êfG5/ A>ÙK¨è°Úv;e¹{+QaÀ&fU¾ÌR½S(mï4-58D>½+¶ôã1Ä&]g7ç·‰£r¾@í@8b:d1CÞ¶ÚiUÞÖthÕŸÆ ¸’¦zo;do‹_zßÌ­µ-Š­û®Jéý¡<ÐL žez¡—ܼæ‚~a™Kgó½¥wyÁ›ðÐ?µü,ºº¶"5{ÜqC¼lP«måUc o¸õ5µP®9ìzdôÕ?p(OφⲋFä*Œr/Qõð‹ns?iý ÚwÅ`Xº‚éJæVD¼’ŸE&¦âC–dÓû(ÍßÒ¼Ú€/e“æýÓ¹¿aÓ­¬ÔÃ]Ró꽬rÙlÉ€‚Ú_ï7üèšxØž]VºV<–¥1ÊþàLÐö¤ÄÌp¾NÔ•u.Æ²É Rë;kõNøb,L܉Î;ò™­BbáD Í(KY]k£ü%ëóÈ ‘s~[ðÆÅ¤÷@ëA|¼*6«9¦¸ùî·T½Ž;*˜šè°mÇ‹—¤¾¤2ôuMé 5×¶:É/®<ššÖÄâ]¶ï.‘a#+„»?®væ–ÔÝňî\±H\ûÂúðù0̽F©©ÅK•Ú2À€1.¡ï µ%ŠÍ=ùi½ ¢Ê“‰ WÈÏó¥æÀ=¨·Éÿ[§UmÁ{·¢×$Âp(¬–àÏót&q#Y=‘N.ìÓZ°HX7\ã‹f†~¸¼]Æ1SãÓ”0ÔQµ’É…`“í±p(ÂÄh‹’x³Ä\íÏÎɾ®©ÈëŠØç ¾ósÁû»”œZ·l‘nÐÜ0®/ÒV–~/Ʊp‡–"aânÅŽ9/nŽfÊŽÜ Rë7äwæƒBcû’2dҞݑvÊghDŽ ²Ó¦o/HÏSÓxVrTÒéºÏ×ÁddUÕ”Bñälmø¨;Þ½#[SœJÚX7ÏÃÚ¾wÈ^,íÐq Ý“ùk|TéYÌbûŠŸusý!WÏqžÈö/|Ä‚ö’xèËûÙõ%¶ÒÍ€ Klêwtou¯@k˜ï÷ k¾I?sL…<¨ðØ»·âª8ŽóÄ÷¿ÿÝ›f´ýp “OÒøÙ_m«ÁkO¹yÕûÂLiŒ—ÐôÈÂ!N•èv#uø½âV…Ô»s#ù®Íæ Üáx’Kµptn˜\œ˜¹°,ñ: K¸`*ѽq0:* E3¼^/Y—8–Z1p² Mn ¬¸£7yðPžñ>×â8Έ¦t“upÈûÏ?ÿàõóö\²Ããè7 ;Á^Ž–Mo¿oNû¿)£gë”RœïƒÇÄýó)í8Ú/S÷ OÐeÚÊö£TS ãË2œç+Y‘®¼íOƒ=šÆZMŒ•`Y¨¿•·^~©°h­‰¡ìÁ Ð~ttt¥Sñéç[ðµ.Ã{-/(´0>r‡Nø|IìÄÝV$€Î_±´z§mú;¾t¥ÊñZ=b‘í^¯þùüpõâMMPY°©Q=”l²ôÅÖÝ^¡‡†Šª¡ß.³b$‹—\)3 hÏ6`αÇ|sNôD“ƒl’¹âÞ€Wéêý6’«ÊJ x7 t¹Ú“ VºÜ2J»˜Á?;"IQ¨à@Åk¾ßaÅEWh²dG&fã”fŽÀ¼Þ;²ñƒ+'×®jgÒ,G´†ãøƒ˜_¶æX:*vp©#Ήþ¦véxlð½;œKì‘\8¥¿ ÑnY•§¶ÚLzL7é@/ uäö‚!¹üè{ÕTBáä<¹>ó ë ].Ü…@;:Ü=л‰) ôþ Þ”04èöôfúÔ$ëHÍû åv d½³Âs1IZ­WŒ6áÄÄûÝ%ùË]öÞR@ã1nÎ lÞ‰öe£*XÎ ¸v®xB˜§µ81Y¹ÿÖŠŽ¡$Ò×äeíca[ ²‹Ûì¿¢lªºîý¶Y}®o –!³³ÐÉrû`K$*ð¢Zú7—¤$V%\òŸóïumkÉÈ]Š\S ùŠk÷Bµ™ÝM\/W¤‹‚cp6ìé„?Bו{Ý€¹®­ ^™ !¨Òí…~¤ÖCuž³ fE±)¥ûÞšMôK’—Ï]›ö$ëÝâÞ;×,…ˆßíE¤[M}F‰„pñ:ÿÚ˜ŠcÐËþ¸»8P<ŒØâTÉR¾„±àk6Äj@ˆµÒTã IDAT¸C`·.Þ]Ê.ý6™â+s©WUhïoÉLTÐÎÅÜiNRWɉ tŒKaïåí:ªj±ÈÄyžÊ¨—Ê U“‘SóÖ%[ÕmùªÔäúRê¾@&r.x&Yv?`LÎ_2ÁGÕ–»pOn†nÎybÞÐzŠN4iæÐ̵àLõçmz½m‘ÛºlÕìèç4RŽ^\(Â3÷D"´j¯´ªòq…Hu;ùÒ Þ Ö™"OO*0—žzç—¶)Ž ßhXáXË©v–U‰J2}Ñi^ýlS'„ÃD"o4aÈéJ¸ ï›ÞO¾¹µÍ,»”Žnævʵgúð˜^)9¡Bœž Ò}G*Ç9ÓÉÓ¨xšeNáN“_Ü †g&ïÝm³rý,zòöXe'ÞNÀz"0%‹ãä`M —í¯—`¥9f\Hӈ̀…¨yBßÈl‡Ø‘–Æ µ¢+ÚáHxæHqÁ¨=©Û1Ç>¾SOur°Š'v,M*-=]Íhq‚‚ú¤®cŽöeçÊÈ€™AÛ–Ĭ¾D§-{ˆŸàâl.b,Ì d3¥PÃRóÇKˆª:…b»A“ÈF~[‚E%¸$ÿcúš 1æ.m#n y¹›5ÖjÖ£` ¶!ו™cÕÍÁÏʼnǶVò3\w¢7l˜ 7Ð*ßK(¤ ôZ Ç›‰‰tþ9Œ^JÜr7ŽòT¥šø[ef /²xۑϵ²J\lDV¬‰Íé*ŽWsÜ|cù­%/%uÚ°± 5GuwsOiV8ÿ?ƒ N¨š +Bå|k_¦ å&pM³„ùÃ>šÖ$®°·KC·†×qÒp>¯`5ÚÄØ&Ñø9ÑÇq6ô£‘" 0ŸÍ©+x-'k6WMãÐx§•9Ÿ~뚇º6Ûœ)2+ô3%—¬âüoƒÛ Ê&‚^Á Š_Ýz¿¿Äª‰wb*øÖ¶óI­iíÿjà¼Ù %»Ißð8ÇûõÂë<7\iè~À~àuò<…€‚ĘÈ4nº¥®A¯™c\C²î…ëûemYT‚›WRšþÆÍ-5!sÐ)*»²Tz(×@i%Y˜Ä¦=lÍcpƒ~}/Í(Û6{TEVÃñâPzó¢¥xë\d~|B¥N˜+¶#§Ú€­ôB¹ŠÖV±9Þ*÷Þ®í ,“圓úJå…Z ’2¬‡é„ÌÍØ°8lf|ãÖ$Øeä Ë$È×y`MŽ¢ÆšHŽîèÇ “: _š¡„cµ°¢´5¯óº“Õ<&M}k.üüü£ ñï…£ïÁüžX›è×ûç&aqahç íì:ó{Ú ‡¿ð¼Ž·µ£<½èï¿á¾ˆµ ¶ ‡B #(µ˜ž@O|ç¹)Û˜ § Ã1†cÃuñ¼&-çyNrOæ˜SáX¿x˜+I·5üùógß3çû¤D­?Ä;j‚K+ß»£Ö[&blïMZ|¥[=ÌïÏ£¦&"PTgµ€çyàu:Òs޽ „>‹ûMѯ…jo›s·Ýã=çµÅÙŒYAJ©Ùéºi æ·óU™µ*jÎpëK…¸œ^yõ&¡¹!Ï}Ò¿—þÅCNRXë8LuýÅN†ŒÕÇA³ó²‰ºt…aj¸Nñ› 2NF.\óRÔóÚºz.w±£9›6õP”$½Ž×ò À@5r~0ÇÀŸ¿Þ’4ÄF|”âø¨€Y< ÊŸþo3Û{ÅíÆ-p®MrwÛ~ðí-cì«t¿S®¶«Èµë,)vi7æ¢OÀ{¯w<ÔÈú@jýžôx’yJÇüZÉàQ}>|~~Ô83é‰ñk‘žDqN6¸¡gG ë‹䂵2¤ØÎÏ®'¸6ÎõÔ‡‹¤¿Žà¢sk0œBù=C“/#òV>ËT_ØŽ;^,TÊ2àÏðÒö|›B×Â×–+öƒÚ”zK‰öX»_,OÞÞ€{§ZŠ’º@# Xöâ‰q]ÛšT.sVMÕ.p,4ÐW¿ôÊK£‚HÛ~’úY8BLúêÄkÂ<¶·Ì›Œû`s½"^ñ0÷qù$õÔôæ&¼ê6ös­“ÖjѰjì_L¥JL̘X,,ú”21Ї…̧_=pž ðÄÄ@ØÂÙˆ™‹¯åÖ¹eƒ–5‰œE“o}NR æL^ŒnJ¬í êØ1YS"™ç|ÍU9®ÌÀr—ö$blC:|±¼ ²KZø…»òÆ9‰ŸU•¦+2“oãqœ¿(ãÛþû¸ïzkúâñ×z0ÁìË6^8ÕWvOˆ’^Çs†«B}÷úÆn>ZY’pµ)QR=|UÉþšžÈVP:o'”{3ˆgh¶5›wCߨ¬®);]ªÌfLmª(+­ÿùÿþO\Ÿï®¸æ0¾CerÃë<ðz3hÖÄNY“,±˜sSÁÝ|[—M´Ø¡/¢ª¿Ú“Ç©¤{ÜwõŠû©VQT=\Dì#*n_¼–T‚Gï¼®jEÔŸ×[Çûýú…¡¿O…{ß—‹*â8\/OnÙž©Øâ@\»;èH…zVq5|5‰Xtd…ýŠÂ¥=nMÄ̱¾.„=߆¼’UA ]´ªÊÞgÃÙŽv(£àîéÐh½r‚/σª²÷ë@ÎÌÉ™èZB=¥rù\‚¤:úñáo’t¤¯Öq´Ž5‹†×?º;Nýþí<9èÎIð@¢5Øqò÷@ ¤Ìz Í’Ê6Ä–I $¿ÖüH‡îX+p¾^Üþ·`jqcöyªO¬#ÍÔªt„ÓÎXh (¦Ü:o3˜³1ìÞ0F*ê™84.þGªqä1Ë­7“¢¦Z ¾¡u»€½ÑVmî½KëÀu Œš;¨’îíØátÖÈtÑ;æãƒñù¡@¶†ãE×ìZd7_??Û¥sÁcá­kaêqcvP?}W¾Ü+b‡ªjþ~¿üLDZ*¼ b»Â¶ÍŠá玽Œue֮ƥ‘aK4[èf >Ð ;²—Ê¢~p®×rPÙëÍíð¼á™¶Ë^ Q­=’1Ȇ$||*õ¸ß}Wr \ŸDëo´@ 4;8ò™ŒK8Ž× ÖÇÑ4]ÜD€aóîŽïwàó¹ðçý׎†qs¦•Ïç³/üq ºr5éévƒ XÓ50ï­“+=YA·æXàà K¬ÁÂäì'íkcâ88êú^_R„˜žå=ß7Ù92“Ä@o'^ï—YÌJðó웡Xÿ¹=Êûu‘ÎóÀñ:·'måÉ?c©±u±rœm㌎“¹7Çyâ÷攆aMö}cš%U)¾^/¤‘è‹ð¶f ‡uÖsmIúùb9b¢Q;‡ñ˜ßy›MT,eÖ~¯í†¸VUµ=à>7M³sNÉX±ÖßO»•òsÒ´Ú"kÌvßysc`¦\²&»D À‡ œèýÿDÿù ›¦Ò’4tUX5д¿tIœm QhÉ„ŠV¡¬€lþÏõ/ÎC}“îPÀqý|aœS‹ÇÂ&úÁ–µŽÞ<ÇÖßçµÐÿ&2ƒ©À^¯7¬@“r¹¦˜'GÂB™á-ƒ2ªr»Ú¸EºÁ£+Ì¥¦R Þ¡·a­…ìÄÁÉNÃm1y ƒ“uM˜=B¯!«Üµê‹jˆÌ#˜¤íÆHØŠíI§“» ¯E+³¶©ïð°EyeÂqDMéìµ´¸T!ÓGÍÛèèªßžkŒQZ8¤Ê½qÍ)W‡y¨¯)¥¦*;ݰŒ$M7÷ Q{¹òÉMÙy7ätgpߊó8÷‘r;Œ#-™!JTYnP§É&œ¥ø^úKqF¢kIJ FäïPkZXßå«ÛÝæ”Ô¾"ã| T6Ég1ÝB%¿Á6ƨÞ,‹ë#UñiÃʼ!fe«Ú³Àâ-ºícÓ`I6 '8¸¾KÄûÁ©vå—ë&íè› 1çÚÅ@É0Ô×óðý\ê‘L ßH¨²%Ô½\Ú™—"Vn`7`BÖc[Ѭ¾‹ÔfEâÖ}âv²ÚçìX’=+‘ÁÇRþÞo€k}«…˜RÈ}VÛ¹¢°»¯½õïçyl"Ðs/Rï±Ò=¯ =ßQá”ú…ú^q”uØv6+éxò%5»Ôµiî…Æ-NHÎ@Cƒ°Æ m s¨,Â…*Kß?3Ñ…Sâ)!œ4e™£Tßv㜀ùZÆÊÖ;îåR­Ò¦Ó>Í‚̹РÔö[·â rT3&BÉK­Fé›Û}dª’ÌJ 2ý7b~M}áZ÷ë¸á4ulòx¢ø“ø\œd6Sd Q3ÑÌ60Îo6ÇDKB^X8-ý¤ê ‰.IaDî¿zëç lo,½Açj3ç*îÜ9Zúþ,Ln>ø‚ëôJ3ñÛŽF½¢~W>|þ0sPIÇïÍ(ÓÓ„¨¹£<¯~t`ti§”P%e«»Àº3ñi äZ[T[SzÓÆvh~¿S Qìôy¤ïܸçÑ™å28=V£„\3ʺ¤›‰Ð0^ôjl˜[¡íǼ¨Ã·ÃÆ·ÊOѥ;FLXsŒ5$u!¤“Ö¹—ÁDcɺ6WÓÑíÏLŽÆÊ½[ñ5œ†8DQ2Žû¾Û :½w,OQha)bâïÛçºÄä?öÂó6â±ÁmŠÕZ“&Źºt~üR*¦…”a3”rL‹±üºEÝ¢öÞÑ›¡uò’9Df<æšôÔ‚·Õ=£]𗝶£åK¨’»¨=„m7íÎZoX¹6ÿk\±÷uHj#vBÕ[qÇØ 1ÖÓ6kòf”¸Úšêe+eC½Ý7ÐÀKÙ(4ˆ5X¿Gr™bûë帮KiU¯½è«óTëŸÝ$–ªX(بÁ¤îõl­;Úa{ 8®‹Õ¥¶Àå˜i­a‰ñ%¥µð€õïË0üü|%ôib£ #tÓz§o4bí +¯`GÃlp¨þM`¸Ùfî’ù5¦N§.™† ¤{5‚F‹È=Æ Êo‹6ÀLpKl/·ËõR•akF[T.šæ=ö‘æ©„nm÷4…œ ± Ñêuè|M)Ú¶&eº$رU]Û¼+/ý~ݱÇ.z¬™Ñ„(cá¯}܆ic§$–Eì)vÚµ •påfǪj&§1eÇ:4ßõФüôÜ‘, Žý˜ñs)‡ŽóäœÕó~"à—Ðf›ÖPÐKà0à¦ùœ™›. gv*…k¢ VÇqP_ù¨úøÀäv¢”GïÖÓû,)ËÜ@ï¸X™x¬IË@HŒµdTa±dÚx¢'vɘ;©±ürU`ÔZ*GÊ nœ—‘2î¢*"0ãÒÌÖvdÊ2ì­IË3ôvS±½ë%²Â37O…7Ë4ñA¼›lTE÷á…¼ÖD€“‚êSg±ä˜– î'ÆVÞ¿ÐÊÀ7V“ Ph)Êü‰Ñˆð;PO³Ìµ.ÀV&V4¬ô 5ËE‡M4²Ãr‹A9XdX¥Ÿšß5í)_A¹ 1ßë¶YGÂÑz*6”†Ô”§4!V_Ê `&lòräôUVÁ‡Ê³Ð°…Y;sQK–V9 ~(žºf« ×D†ËˆMái½1ǪšCw·šqqÁ$‘j#¶2+ãWúT5Þ{«¬¾ ¦çùBëþ+„¢¾¢Íí—úŠÅ¯QsÊ@.&4²ß_›3Ùétžh¾ýuu¤×„$i•&'-ûý’´Û/L©ìøy™Ì»ÉUÁ°¤\˜šë~ì£&SÔ#Mb`qpLÝaUa51 »SqÍËaã~R»÷íqË\ðnÚn§\=Tôm£›Ý~³ªøÖ\{ëÞy³-‡c±Ä/ñD?ŽÍû‚;ÖcãÏxi%s‡Êò¡Ò¶$& úÒš÷K̽øÄæ )µßk±|PÓ3cCÍ÷l²¬Ë•d¬!HߤïdnéDF^L¡h1ÚÑöÚÂú!«bË=—dB?X¹És;F›h¸ÃO qzïø~/L›Û>[™:•š˜2nd»§ô ‹èÞ -ÊÀaØ4°¸±÷±§5ïlη>µñHá¿ë»àé~ÍÛàYi’õ†uüÊ6¡¼ÑjþÚªÓôè8“BÙGÛMų;­ä¢@HÂy‘Ô•ÔòHx†ažŸâèSRÐß²³¿Ñ;uç‹ùrœõñ¢Ò9­vÖh^l@7FrÞpâk&¬þ¢*zEà;/‚ÈÚK¤ïdé.zœÐÈ‹r¾Bøõ>qü9TÁòÁÁT™äFÍâCtDä¡Ç€Ç‚­D·ãgË“*ªÖǹ`>E¿ ¼Þf䮌‘Ì.Ч™»l×µWóÓ·¼#xŸÇî/eæáP`qãPš•’ï;U_dJ;ÜýóýhŠa;8æÍY1ÑÏPš"õôcÕÓAJAâNN¤GúNÙ]3°6">7¼Ûû¿ó<÷‡½Cpëé~HÍ­ÝÆöŸÏíèxŸ3•cåÆkÀ¸ÀûÏ_Mm fý01¸„¹j­a, ‰ ¡éHñ›Q¬Îò#9“15ÇÞZ×ý84ש ÇyÀÎã^/Û#ÂÈÄ5.Ñšr+×VÞ3Ö£w'e%š‹©J®ý’EJ„ M¥Öúî •O#¯Ú÷ûÁZCvd¤{kðÞ°20ÖÀ &‰º}{ º6‚©z)¢mGiF¡Ó–³1äïú|C™£NÖ4á87…TÇbûïå¾-œôüÚŠä2r¦†Ô±ý5®°Þç½ôü=ꨙè°Äçóa¥CØöú§òBl”1üÂŒ±·ÓsL½á—VDE½™š©ò$ÜV˜Äó º—£œ>­i7œçN-Þ¾·Å÷ó ¯4|Lq;o¶´×›vçÂ4ú#k‡Zþqi­Ñ_ÀJÞEjhÊ!]XñÁçó/2W%¢§Žq¡™ãDGŽ„­†ÃÞ[YÕ^º¨ƒÙ€„? \+`ýĘ_Z·V`}'‡³ÞDã1øëÅ·²2Gt"¸B,˜ÅŒ LZ{#fGfÃ\†¹cU;O›óuP+k0ñŸO‘™HN‘¼Và0GO(+@ h›äŠ/b]“ñ¬È aãÛš8àè÷ƒÓ4.ì|2h+ ¨¶ëlqÔô–’×{S¹J=£×Z]âœ6sÄ9ƒ—½ž¡½Ï[ú¥·}øëÏŸû.Û”9ì@Š¢ XcrH /¾ÇÞ:¬˜øÓÿü2R¸;³‰VU¨<ê®!ºŸ;ÖÅtÉó|áú~0ç@Ø3ÌÖ^dºÌÀ¸ÀÒ:‹­Ë¡˜ÿ˜ Ù‘UH+s{‰Êÿm Q_ºn»SäØÊ¿3©Ë45¡2P jd)Ug 0æ—rˆ®·ØËŒ*68¾žH[½¹‘5.£IÐ4ƒ1£Lv šÜ4±~uìÁ%ÎØQ[Q&9ûqž¿£ž…Ϩíx<ˆ?µ©®#û.*î¬80MÒ%žR_&IW®µÂÏ™o÷C“#NûýRÝrÎúg8§eÌ›7ÿDB(«£rÿõ:¶r‡¬_"Òï<U7t ºò¯’–WÙÞšb¦»oÓ"óàúÆ3!Ç|n?Z¦¦ð+ÍÑí(Er­jž&ÇúÒ¶zJã·0h±a OÃÿf…©†-$&ZKÀ¨{©¥Ižîú½m[Ðîh—Â_¶>eã*ÕÀ½-ï2ÜÜžzªŸqÜêoýØËÅ’©åÎû=Qi½©°i›úêÍñù~xDæ­Ï‡.q6å>ßïÖ´¤$(©1žÙÈü¶&{Øœcƒ´9Pvôì··=x’tm0V°Ù·£Á–fi;¿‡àíPÞ¸Ž÷\Àb‘S`ñ¬¯Ü<ÙXÑ–½;ð.%Ç5qEâó]˜WKÑLÑï*`èûý¼ýàqTz=Û‡SÊ.’%mÜ‚øë Ÿï…1ý¼Ÿ2f‡~1.%J¥I! ¹^j}’´;vtcCÞ.«°%¸Ý?ü`•;Ƶy“~6X#`¦ßä˜Äývm¦p×?@Œn/L¼3>\CR»¸šuÉ3Ey\c,f|Û©xOŽ;Nï’¥ów #Ä5:§a`ÑfUš“¥ž«÷Æ,ì ñíºî»¢Ø\Çq0÷ôWƨ+N…øõªL§V4¥·¨#+þ¹dñh?º¤qmø3k踒‹h­[äZ³À'2±îݪXMÁñ±:z{#Wâ Òa¥’°r·FÏÞŽ®çÏXÂ_ØÆ#0Jãó<~/ݨ ¦IDAT‰¡ÙlkXÃÊ*ªb nO ëÒÍôZ4ι0Ÿ½€íMëy¾ÐZÃççŸ?”Þyë[B}x“¼›ƒærqâ‘aó:‚#Ýk]Yá­uX&ÆHœ vÝyäsb^èM“HÛ4üå¾ðè4MF&E¼+~I¹‹J²¹0„ñ­ Ú»†J“ê «/\kaŒ¹«tNööšk«´9w”ÔN|͈;@~Œ ÎXwÿªø½ ¤R\ß×ùbÔf÷4 }G…¸ß’K@3¢e n«mîÍóâ2õþÒb-T©p‚Ó1Ã}SåõÖXÛUþg‰ ÷ýÕ['‚PÕ,iåìÃ&­=ÁÖØZ–21bï9Dyò:®ù…ÇŸ²ùñ.~†iE>P̾M.ý®±D/²Ý´D”±7t7­ârésj½=Â#r@¶#q žVë˜cІ&C)F.,×(Hø¥ ÊÔ6[™7#ȸ'Üt·á Y£¸A ¬õÕÄ aF’uiu||±âK”¡„¶sGh -Ï»‡”½wdg.–Ó–¬­î¹.B_)°µ¡Þ^íâùkg¶0fX-g‡cY`Y^Ù”Ã^š˜¤õy.¿MŸ‚ÆÕð¡â9sÊõÝ–@j‹Jäû·¬0RTgkC€©*ýļøïÁLjÍò6n££ïÿÿ½A¸ƒR#$h4ó”*ôSÍwN?˜ª¸Y*¦™¨Ò/¶ÜÈ^ëðÎJvJ$t­‰¹Ÿ^ý»ã°X‹OíŠPÀ n‚yʆÊÕŠ(ùsÔ à Æ¦>Š^&2¼©ØˆÐ$(± ŽSrSŽP 0öûà‹åƒ‰éÞ68n Bw©°4uÊF]!.S§›œ-6¬!ŸY뻡.‰:—ŠwÈë3ðµ–Ÿ5¼iJš“À—ÞNæ.…7ˆ ½Iq3ÿçX³ ¥¥c¯ÞõM¸ógjyùÄåšl^57mü3¹4¶d¦`ߨ.u·¢Ü…ï´EsàžäoÅX#õhn*’ïÆºW»©¯tIɉÊМ4› 1w„V.saÉh_ ‚ÛצD«.«‹`7™ZKÔ${»tðÜøúãÍ —nŒ)ï¢Ô˜„ÆW{`¬T§Ö°Ãó̪®°ø=Ë{LYŠ¡šÆÔ‰`¹oªZëXÅshž¶ñTõ™¬˜ÜœXlá· J“þFœ½ ·|È2j¼scw2&»îµ,C Ìø”KÛSò,×üÝ|zloj™·öóïóZ ahÜMÅBwÇë8Y1EîUü“X^÷qÍ]9¥ìÊÆ)*DÌÊ¥™zpÊöUâQþùkÛ»M8Oe:( ÜVS}:½õ_ã5àk¡9·­%S²\¾‰˜ãKƒ?€µv?ä¬L…CT·GÉÃ%×ngeàq„bo=Ü”À ø˜À5¨¹•úîùäb;0óäÁ–Xݶ’¹4æ]|Øå[oŠØZTô– ¤¦èåb1úûÀÄ"×äõFë/ÌųÝh{Š•ø’؉uñ27|Æ?×+5ºRoõ½.Ú’´ß+íB`Z0$¢Q±>íëBÆbÕÞ’@7Ú¬2†ŸÏ¿L6T[Ìrô锊w±†[o›+Â8é‰}¯N6Ê(¾™8^¯pK°oÎó8ad;>ß1×ÄyÔ¢\“Õª&½ÞxÝÞy¼È9QFi;ï0Š|ôhc²ö÷ßãûý–&œm† =Í®17ôúº.å1T Ä£8Y„À9ÑŽ×VT›êj)ÿ”9¯•þU\²ÒD†£5D¾W m¢]œM+Ó8#ñ8wc ïZ ã;ö0¥÷¯7ð>ë—Ž?êCjQ0ÐòhïôiOjúnê¿6‹ÌŸ{ÿùCÀ¶z¸P¥á‘UšI%ãÙ@ï„È5·÷Àõ¦4o‹–佺Qƒï ýgî\ÕÞ:`}¡¬ ‡å³ÛqI·¦¦¤ä]øÇ;Æ­IÑ0gU¤\å, zMoA€­¸b¨Os¬¼´JïªdíÆ!>GKôFyù7E/P+“ÿ"{ËXsw¿-CŸŸÞ=ùœes‡e؇h6ÖÁ/ãí@fÇçúnx½ß˜cÂÐÕÌ/`Mtû‚7 EŽ)Z… Mj^Tci4¦ˆitU\aò÷k"·ª]0٣漸ZR"q ¢Úy¢É±”j“z3Xc¿Yk Åuü—±3ЃµÁ¶^TÕ ?D«(åÛÁÿ^(÷Pº}h2I9¹™IÊyÉY²{ë;¡°¹ãuÌÌ%YÝ­ÐíbYŽë»Kô &ÊÔ¹£ÂBÖ,lƒ}ïÇΪ«cgiZRÂ$XŠšH[˜9Þ ‘Œ¿ž±¤V„@ã½ã¸à­õtªðÞTkíKÙ¯P °Ägøb!õ+È>%:öÍrᨛÃËýXBÚ™J.žêð9Þ90Wï­Sz@ áíÞ¬\³¶' 5]Ø(%0”0ÐÛiÙaCMÃÝ1Æ5öTþ;ÿ}Åj¶ý¬_ys{¿–ÏŸT@”G©öÿ¦žyg 0Î¥Ý;±V=ô·y†#V ‡ \ˆDƒý’ TJV]MåÔ½“³nÔoä= î·BÝ]šÛPÇÞ®Á:½ÝfiŒxØQ“Ii§$P¹ÏìBwE)„KùUY¡,2æ/±?ünõ÷TõÝMs:xlçCºÁujÍvøTŸwÓÛzƒÏÿnÒ¶œÉìÁÍAå“Ú¤8Œ[z:¤ÂíÁ…ʰÇÝÆÉÈ­’ÛŠ³æ˜)wŽßüÊšA)Yp.‰'< é›ryFRÒ²E)MÃÜ0ý¥y¥#§éKw(‚yˆuZ>z\,­Ô šÖ$So¥È’ }WŠ£N&Z#ƒ¹7î~ì#†Ž;æ…NO{H·éÎÉ=n{ÐÛZoîÑúNX¼ß’ØÒ»\ is[°€´ë†eÀ4 uÒ44X:zí#¸ycÐÑcM±$6@Jt¹ ì‘D—âl) oÇ ´oéŠ „5¤7„LÑæÆ)8:ƼàÑp؉–k3 ôö`z¼9ˆ)®†RK¶ š¸î"œ‰HsDöÁÔ —ýv)ú J€„ýÕylC†ŒÞØZš¥žï“«”)aÑœ˜ÆúÑ<§JÔ½Qˆ3½ i`áˆø"m0 2a”Î;(CXvg¬1cq-£G¥í1À¯Ï›€kÅû‘4­!{ƒ¯õ· Ó_À„y!/¨`š/Œ EW¦¤i¾…§­1ÕOö]õÄ·Fƒ:ù(¹E³Õ|¯‹YßÂ;y3a…ËØÎ»Öìÿ|¼íÏ¡öœsÐ}ršrË|/kËtÚÌ;£#¶ôý@æ÷“øú³cÁgàÇ‘œ÷†Ðe%‹‰~žüŒÔËÎøbÅÌz—ÿ®œ±‚—Fe¦˜P­µØª=±;šš½ÍMÀ›s‹ðëƒàš3\x÷[Ñ´ÖÂyž˜AB‚·vûÙôª·Ö‘¸Ôì–P©=Jr·2Q®ïÀ¼¼¯kÜätE£‘66ä»þ·ã8$ Xøù~1wQssNÌäAï}‡âÒ.e–Fjÿü|°²©Tw|Æa¬dë·F#åŠó}P£ã,Ö¼³k½ã<%¢hZ#& …ü÷牾(uGÎܵŸÇЛcˆýaI3`ð>ÿwŒ¢»(c^§¦úÒÛc¹9ÆdˆQbK÷ÌÝ¥_¼è‚ùó:7ã¤ÊåÞ;®ëÂu]TŸ©á¯l„zêªêªü¶rã¼^/üE]AÀ «"èÿ«‰Ü¡º}¡@Zh{gLJ`Ö? 1¨ ‡3ëõºÆ>¾‚â¥Øí72PQ¬­ßõtkÆñâ,$ÎÊžáÀ¤²‘KÅ=/Û¾aÕØ¬XµƒãºMŒ,ðý ‰xÒ^9#æ1=-‚”/ŽEw·ï‘±IEND®B`‚./chessx-1.3.2/data/templates/html-default.template000644 000765 000024 00000005636 12341675350 021772 0ustar00nistaff000000 000000 [OPTIONSDEFINITIONS] #Name - Name of the option. Use @Name@ in header, footer and markup # tags to substitute the value. #Type - Can be one of String, Boolean, Integer, Color #Allow Values - The values that are allowed for this option. Ignored # for type Boolean(1|0|true|false) and Color. Values are # are a | separated list of values. For Integer types a # range is allowed, specified as in 1:200 #Default - The default to be used. Must be in allowed values (duh) #Description - Short description, will be used in the GUI to change the # option. #Name , Type , Allow Values , Default , Description MainLineFontWeight,String,Bold|Normal,Bold,The weight of the font [OPTIONS] ColumnStyle=false SymbolicNag=true MainLineMoveColor=#000000 VariationColor=#00008b VariationIndentLevel=1 CommentColor=#006400 NagColor=#8b0000 HeaderColor=#00008b ShowDiagrams=true DiagramSize=200 [OUTPUTHEADER] ChessX HTML Output\n \n \n [OUTPUTFOOTER] \n [MARKUPTAGS] MarkupHeaderBlock=,
    \n MarkupNotationBlock=, MarkupResult=,


    \n MarkupDiagram=
    ,
    MarkupMainLineMove=, MarkupVariationMove=, MarkupMainLine=
    ,
    \n MarkupVariationInline=(,)\n MarkupVariationResume=, MarkupVariationIndent=
    (,)
    \n MarkupNag=,\n MarkupColumnStyleMove=, MarkupColumnStyleRow=, MarkupColumnStyleMainline=,
    MarkupAnnotationInline=,\n MarkupAnnotationIndent=
    ,
    \n MarkupPreAnnotationInline=,\n MarkupPreAnnotationIndent=
    ,
    \n MarkupHeaderLine=,
    \n MarkupHeaderTagName=, MarkupHeaderTagValue="," ./chessx-1.3.2/data/templates/latex-default.template000644 000765 000024 00000004223 12341675350 022132 0ustar00nistaff000000 000000 [OPTIONSDEFINITIONS] #Name - Name of the option. Use @Name@ in header, footer and markup # tags to substitute the value. #Type - Can be one of String, Boolean, Integer, Color #Allow Values - The values that are allowed for this option. Ignored # for type Boolean(1|0|true|false) and Color. Values are # are a | separated list of values. For Integer types a # range is allowed, specified as in 1:200 #Default - The default to be used. Must be in allowed values (duh) #Description - Short description, will be used in the GUI to change the # option. #Name , Type , Allow Values , Default , Description MainLineFontWeight,String,Bold|Normal,Bold,The weight of the font [OPTIONS] ColumnStyle=false MainLineMoveColor=#000000 VariationColor=#0000ff CommentColor=#00ff00 NagColor=#ff0000 HeaderColor=#0000ff [OUTPUTHEADER] \documentclass[10pt,twocolumn]{article}\n % This is a LaTeX file generated by chessX.\n % You must have the \"chess12\" package installed to typeset this file.\n\n \usepackage{times}\n \usepackage{a4wide}\n \usepackage{chess}\n \usepackage[T1]{fontenc}\n\n \setlength{\columnsep}{7mm}\n \setlength{\parindent}{0pt}\n\n % Macros for variations and diagrams:\n \\newenvironment{variation}{\begin{quote}}{\end{quote}}\n \\newenvironment{diagram}{\begin{nochess}}{$$\showboard$$\end{nochess}}\n\n \begin{document}\n [OUTPUTFOOTER] \begin{center} \hrule \end{center}\n\n \end{document}\n [MARKUPTAGS] MarkupHeaderBlock={\bf\n,\\ \n} MarkupNotationBlock=\begin{chess}{\bf\n,}\end{chess} MarkupResult={\bf ,} MarkupMainLineMove=, MarkupVariationMove=, MarkupMainLine=, MarkupVariationInline=\begin{variation},\end{variation} MarkupVariationResume=, MarkupVariationIndent=\begin{variation},\end{variation} MarkupNag=, MarkupColumnStyleMove=, MarkupColumnStyleRow=, MarkupColumnStyleMainline=, MarkupAnnotationInline=\begin{nochess}{\rm ,}\end{nochess} MarkupAnnotationIndent=\begin{nochess}{\rm ,}\end{nochess} MarkupPreAnnotationInline=\begin{nochess}{\rm ,}\end{nochess} MarkupPreAnnotationIndent=\begin{nochess}{\rm ,}\end{nochess} MarkupHeaderLine=, \\\\ MarkupHeaderTagName=, MarkupHeaderTagValue=\\,\\ MarkupMate=\, ./chessx-1.3.2/data/templates/notation-default.template000644 000765 000024 00000005057 12341675350 022656 0ustar00nistaff000000 000000 [OPTIONSDEFINITIONS] #Name - Name of the option. Use @Name@ in header, footer and markup # tags to substitute the value. #Type - Can be one of String, Boolean, Integer, Color #Allow Values - The values that are allowed for this option. Ignored # for type Boolean(1|0|true|false) and Color. Values are # are a | separated list of values. For Integer types a # range is allowed, specified as in 1:200 #Default - The default to be used. Must be in allowed values (duh) #Description - Short description, will be used in the GUI to change the # option. #Name , Type , Allow Values , Default , Description MainLineFontWeight,String,Bold|Normal,Bold,The weight of the font [OPTIONS] [OUTPUTHEADER] ChessX Output \n \n [OUTPUTFOOTER] [MARKUPTAGS] MarkupHeaderBlock=,
    \n MarkupNotationBlock=, MarkupResult=, MarkupDiagram=

    ,
    MarkupMainLineMove=, MarkupVariationMove=, MarkupMainLine=, MarkupVariationInline=(,) MarkupVariationIndent=(,)\n MarkupVariationResume=

    ,

    \n MarkupNag=, MarkupColumnStyleMove=,\n MarkupColumnStyleRow=,\n MarkupColumnStyleMainline=,
    \n MarkupAnnotationInline= ,\n MarkupAnnotationIndent=

    ,

    MarkupPreAnnotationInline= ,\n MarkupPreAnnotationIndent=

    ,

    MarkupHeaderLine=,
    \n MarkupHeaderTagName=[, MarkupHeaderTagValue=","] ./chessx-1.3.2/data/templates/pgn-default.template000644 000765 000024 00000000732 12341675350 021602 0ustar00nistaff000000 000000 [OPTIONS] TextWidth=80 [OUTPUTHEADER] [OUTPUTFOOTER] [MARKUPTAGS] MarkupHeaderBlock=,\n MarkupNotationBlock=, MarkupResult=, MarkupMainLineMove=, MarkupVariationMove=, MarkupMainLine=, MarkupVariationInline=( ,) MarkupVariationResume=, MarkupVariationIndent=( ,) MarkupNag=, MarkupAnnotationInline= { ,} MarkupAnnotationIndent= { ,} MarkupPreAnnotationInline={ , } MarkupPreAnnotationIndent={ , } MarkupHeaderLine=[,]\n MarkupHeaderTagName=, MarkupHeaderTagValue="," ./chessx-1.3.2/data/styles/checkbox.png000644 000765 000024 00000000527 12414047305 017454 0ustar00nistaff000000 000000 ‰PNG  IHDR à‘ pHYsÄÄ•+ cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFÝIDATxÚ\ޱN„@„gïL,ÈÙ, XP Ãú$w½ …O@ »Ë;ÐhArÅÒ(Oϱ—@aÔÂÄb,¼MÐIþ¿ø2ÿ?#HÂZ;€Öú€³¬µIc[!Äçù>I’›¾ïïʲ|õÞ¿朻½ ù®•Rû,˾¥”ä›8¿<*¥ðOã8>7Mó(Hº®{—Rî‚aY–¢(®`ƘãÚqï´ÖO°ð'jžgDQHÓôÞ9w½!ùµêpjÛörš¦ÓªøïªëÚWUåI"Ìšý $«nú–!ü¸IEND®B`‚./chessx-1.3.2/data/styles/down_arrow.png000644 000765 000024 00000001760 12414047305 020047 0ustar00nistaff000000 000000 ‰PNG  IHDR#“>S pHYs  šœiCCPPhotoshop ICC profilexÚc``žàèâäÊ$ÀÀPPTRää¥À~ž™!1¹¸À1 À‡!/?/•020|»ÆÀÈÀÀÀpY×ÑÅÉ•4Àš\PTÂÀÀp€Á(%µ8™á CzyIA c ƒHRvA cƒHvH3c OIjE ƒs~AeQfzF‰‚¡¥¥¥‚cJ~RªBpeqIjn±‚g^r~QA~QbIj Ô^—ü÷ÄÌ<#U*ƒˆÈ( >1H.-*ƒ%ƒƒƒƒCC"C=Æ£ oÅ]KW0Þcc bšÀtY˜9’y!óK––[¬z¬­¬÷Ø,Ù¦±}cgßÍ¡ÄÑÅñ…3‘ó—#×nMî4}2ýüêë‚ïá?~úÓúÏñÿ 4ú–ñ] cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFRIDATxÚbXõéÊ?\þž!ÓÿÄ«¿¯þ¾úûЗhc†ÿ …k÷~Üûqó‡Ì¼ÿ ÿ˜sÎν9ÿ?Æÿ ÿÝ,¶þgøÏðŸ0j_,gtÚìûIEND®B`‚./chessx-1.3.2/data/styles/handle.png000644 000765 000024 00000005425 12414047305 017123 0ustar00nistaff000000 000000 ‰PNG  IHDRàÌïH pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF@IDATxÚ\Œ10ÄB- ü+aEèT®mÆÏ}ÄÌ "„‹™¨jßBº{ƪ’GÜ}²‹“}Àd÷õŸÓˆï¯IEND®B`‚./chessx-1.3.2/data/styles/orange.css000644 000765 000024 00000023372 12414505244 017151 0ustar00nistaff000000 000000 QToolTip { border: 1px solid black; background-color: #ffa02f; padding: 1px; border-radius: 3px; opacity: 100; } QWidget { color: #b1b1b1; background-color: #323232; } QWidget:item:hover { background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #ca0619); color: #000000; } QWidget:item:selected { background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); } QMenuBar::item { background: transparent; } QMenuBar::item:selected { background: transparent; border: 1px solid #ffaa00; } QMenuBar::item:pressed { background: #444; border: 1px solid #000; background-color: QLinearGradient( x1:0, y1:0, x2:0, y2:1, stop:1 #212121, stop:0.4 #343434/*, stop:0.2 #343434, stop:0.1 #ffaa00*/ ); margin-bottom:-1px; padding-bottom:1px; } QMenu { border: 1px solid #000; } QMenu::item { padding: 2px 20px 2px 20px; } QMenu::item:selected { color: #000000; } QWidget:disabled { color: #404040; background-color: #323232; } QAbstractItemView { background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #4d4d4d, stop: 0.1 #646464, stop: 1 #5d5d5d); } QWidget:focus { /*border: 2px solid QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a);*/ } QLineEdit { background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #4d4d4d, stop: 0 #646464, stop: 1 #5d5d5d); padding: 1px; border-style: solid; border: 1px solid #1e1e1e; border-radius: 5; } QPushButton { color: #b1b1b1; background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #565656, stop: 0.1 #525252, stop: 0.5 #4e4e4e, stop: 0.9 #4a4a4a, stop: 1 #464646); border-width: 1px; border-color: #1e1e1e; border-style: solid; border-radius: 6; padding: 3px; padding-left: 15px; padding-right: 15px; min-width: 4em; } QPushButton:pressed { background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #2d2d2d, stop: 0.1 #2b2b2b, stop: 0.5 #292929, stop: 0.9 #282828, stop: 1 #252525); } QComboBox { selection-background-color: #ffaa00; background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #565656, stop: 0.1 #525252, stop: 0.5 #4e4e4e, stop: 0.9 #4a4a4a, stop: 1 #464646); border-style: solid; border: 1px solid #1e1e1e; border-radius: 5; } QComboBox:hover,QPushButton:hover { border: 2px solid QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); } QComboBox:on { padding-top: 3px; padding-left: 4px; background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #2d2d2d, stop: 0.1 #2b2b2b, stop: 0.5 #292929, stop: 0.9 #282828, stop: 1 #252525); selection-background-color: #ffaa00; } QComboBox QAbstractItemView { border: 2px solid darkgray; selection-background-color: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); } QComboBox::drop-down { subcontrol-origin: padding; subcontrol-position: top right; border-left-width: 0px; border-left-color: darkgray; border-left-style: solid; /* just a single line */ border-top-right-radius: 3px; /* same radius as the QComboBox */ border-bottom-right-radius: 3px; } QComboBox::down-arrow { image: url(:/styles/down_arrow.png); } QGroupBox:focus { border: 2px solid QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); } QTextEdit:focus { border: 2px solid QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); } QScrollBar:horizontal { border: 1px solid #222222; background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0.0 #121212, stop: 0.2 #282828, stop: 1 #484848); height: 7px; margin: 0px 16px 0 16px; } QScrollBar::handle:horizontal { background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #ffa02f, stop: 0.5 #d7801a, stop: 1 #ffa02f); min-height: 20px; border-radius: 2px; } QScrollBar::add-line:horizontal { border: 1px solid #1b1b19; border-radius: 2px; background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #ffa02f, stop: 1 #d7801a); width: 14px; subcontrol-position: right; subcontrol-origin: margin; } QScrollBar::sub-line:horizontal { border: 1px solid #1b1b19; border-radius: 2px; background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0 #ffa02f, stop: 1 #d7801a); width: 14px; subcontrol-position: left; subcontrol-origin: margin; } QScrollBar::right-arrow:horizontal, QScrollBar::left-arrow:horizontal { border: 1px solid black; width: 1px; height: 1px; background: white; } QScrollBar::add-page:horizontal, QScrollBar::sub-page:horizontal { background: none; } QScrollBar:vertical { background: QLinearGradient( x1: 0, y1: 0, x2: 1, y2: 0, stop: 0.0 #121212, stop: 0.2 #282828, stop: 1 #484848); width: 7px; margin: 16px 0 16px 0; border: 1px solid #222222; } QScrollBar::handle:vertical { background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 0.5 #d7801a, stop: 1 #ffa02f); min-height: 20px; border-radius: 2px; } QScrollBar::add-line:vertical { border: 1px solid #1b1b19; border-radius: 2px; background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #ffa02f, stop: 1 #d7801a); height: 14px; subcontrol-position: bottom; subcontrol-origin: margin; } QScrollBar::sub-line:vertical { border: 1px solid #1b1b19; border-radius: 2px; background: QLinearGradient( x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #d7801a, stop: 1 #ffa02f); height: 14px; subcontrol-position: top; subcontrol-origin: margin; } QScrollBar::up-arrow:vertical, QScrollBar::down-arrow:vertical { border: 1px solid black; width: 1px; height: 1px; background: white; } QScrollBar::add-page:vertical, QScrollBar::sub-page:vertical { background: none; } QTextEdit { background-color: #242424; } QPlainTextEdit { background-color: #242424; } QHeaderView::section { background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #616161, stop: 0.5 #505050, stop: 0.6 #434343, stop:1 #656565); color: white; padding-left: 4px; border: 1px solid #6c6c6c; } QCheckBox:disabled { color: #414141; } QDockWidget::title { text-align: center; spacing: 3px; /* spacing between items in the tool bar */ background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #323232, stop: 0.5 #242424, stop:1 #323232); } QDockWidget::close-button, QDockWidget::float-button { text-align: center; spacing: 1px; /* spacing between items in the tool bar */ background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #323232, stop: 0.5 #242424, stop:1 #323232); } QDockWidget::close-button:hover, QDockWidget::float-button:hover { background: #242424; } QDockWidget::close-button:pressed, QDockWidget::float-button:pressed { padding: 1px -1px -1px 1px; } QMainWindow::separator { background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #161616, stop: 0.5 #151515, stop: 0.6 #212121, stop:1 #343434); color: white; padding-left: 4px; border: 1px solid #4c4c4c; spacing: 3px; /* spacing between items in the tool bar */ } QMainWindow::separator:hover { background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #d7801a, stop:0.5 #b56c17 stop:1 #ffa02f); color: white; padding-left: 4px; border: 1px solid #6c6c6c; spacing: 3px; /* spacing between items in the tool bar */ } QToolBar::handle { spacing: 3px; /* spacing between items in the tool bar */ background: url(:/styles/handle.png); } QToolBar { border: 1px solid black; } QMenu::separator { height: 2px; background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:0 #161616, stop: 0.5 #151515, stop: 0.6 #212121, stop:1 #343434); color: white; padding-left: 4px; margin-left: 10px; margin-right: 5px; } QProgressBar { border: 2px solid grey; border-radius: 5px; text-align: center; } QProgressBar::chunk { background-color: #d7801a; width: 2.15px; margin: 0.5px; } QTabBar::tab { color: #b1b1b1; border: 1px solid #444; border-bottom-style: none; background-color: #323232; padding-left: 10px; padding-right: 10px; padding-top: 3px; padding-bottom: 2px; margin-right: -1px; } QTabWidget::pane { border: 1px solid #444; top: 1px; } QTabBar::tab:last { margin-right: 0; /* the last selected tab has nothing to overlap with on the right */ border-top-right-radius: 3px; } QTabBar::tab:first:!selected { margin-left: 0px; /* the last selected tab has nothing to overlap with on the right */ border-top-left-radius: 3px; } QTabBar::tab:!selected { color: #b1b1b1; border-bottom-style: solid; margin-top: 3px; background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:1 #212121, stop:.4 #343434); } QTabBar::tab:selected { border-top-left-radius: 3px; border-top-right-radius: 3px; margin-bottom: 0px; } QTabBar::tab:!selected:hover { /*border-top: 2px solid #ffaa00; padding-bottom: 3px;*/ border-top-left-radius: 3px; border-top-right-radius: 3px; background-color: QLinearGradient(x1:0, y1:0, x2:0, y2:1, stop:1 #212121, stop:0.4 #343434, stop:0.2 #343434, stop:0.1 #ffaa00); } QRadioButton::indicator:checked, QRadioButton::indicator:unchecked { color: #b1b1b1; background-color: #323232; border: 1px solid #b1b1b1; border-radius: 6px; } QRadioButton::indicator:checked { background-color: qradialgradient( cx: 0.5, cy: 0.5, fx: 0.5, fy: 0.5, radius: 1.0, stop: 0.25 #ffaa00, stop: 0.3 #323232 ); } QCheckBox::indicator { color: #b1b1b1; background-color: #323232; border: 1px solid #b1b1b1; width: 9px; height: 9px; } QRadioButton::indicator { border-radius: 6px; } QRadioButton::indicator:hover, QCheckBox::indicator:hover { border: 1px solid #ffaa00; } QCheckBox::indicator:checked { image:url(:/styles/checkbox.png); } QCheckBox::indicator:disabled, QRadioButton::indicator:disabled { border: 1px solid #444; } ./chessx-1.3.2/data/sounds/ding1.wav000644 000765 000024 00000023746 12452032267 016704 0ustar00nistaff000000 000000 RIFFÞ'WAVEfmt "VD¬dataº' ÿÿ úÿ .Ûÿ]ºÿõ®™çU$Ø-)NÝÌìä“6òÝgœ“â,=¶¿9çmc0¹` ˆ%Ô¼mϨ:òÞ5 25DÎ-2ÑèuÊg:™èu àqAô’ÌQsççÒ1ŠëšC/é‘ê_î*÷&2y´Õ-NíšXÂÿçäbí@:çêˆ)Íûº±Š@¸HüìW~íŒöfû‡ÜOà4Dßçy%"ÁéóÚwÜjé$7êê ÷[¯÷'6ùÑùÊ:î÷ö´å*ûQãkìÐF<ë+1$Ì»7 Aîúñ{µ!½ÞûÖíi½N/eóO M1òüÝÎü4ìþ^B:äYÛà½yîì‡4­³ÛEÑã—Æ:øøÅ ¤.°èÏóÒßÕ®í­„BŒßèâ¡¶( ¾ö–ñ‚ÙVÍ; çÔæA9òîD'!á)ô¹ßm†òc å@Ú›úi¹åùH Ûš™Ê& ŒäeÞãD ôwݬñüä1ÌõBÊ<èÔ'ÅûÂ20ú¿ã8 XÉÜêóâbE÷ò÷ îTâ¥öÂçè ù| 6“ÑÞ ÷ÉÆ’nþrH¿È]ìôí?áðwá Ú¾ñA﫞úÂ..Êš tò´Ð$^` mnøôÍ`íþõ3CîæåÎÚöÐõ ü8l!ÙÆò çô(×=(]wŠððÅÎ7ñ÷Ë?œäéÞòÕ'ú1ÿx æûTn¸À Üólá50*j Áúë.×±#òû]<ãfû\üÜØóõþ"Oû‰¿=­öùæD0Ô™ pûþ÷õê9Ý¥&÷‡ 7ªØ®ügúÞGý ¦"€÷R-8Á´š÷Ôî@3Þ#Bùõáé0ã+-/ø™ /FÕ.üøÔähW÷"Aó0 Ú„ÁNSú¹õ526ÞþóòtõŠìê1 ÷µ 8) δúAúËè¼_§îs 3únòsýˆús3ü÷øpï3õùí¸ñ›7 ô €#ÅÆ¾ýäúÏî_µØœéäõô¬Ç’%ƒý2jô‰ôì¿÷Œñ"úÅ7,ñ ÒÈÄ œü8õÞuÉMâF±ñXÎ,@3b,ÆíQòqë5úöe7{ì ZÃô ½ûQ®R(ÝßÐð]ÕË1zêT'®èÄîcìÓÿ|ùåM6¶çØÊ ÖÄ!þÃÐèêEÙ”ÜðÎÜX7''fäCíï{dý´ @3‚âüÆ©  ™!+«8ÖºLó›äÅ8U!à»ì!ó7 ÿþ?¡.úÛÚãÊÊX§ ¥«öžúÆÕ· `õ+ì²ã“¨?¾úxÖÇN üYð>.; Vø!øòôìÚí?(}eè'é×Dð.ýçm àËõwœýÁÉ‚8õ.«óÑôËò8ïåôï+iÿ/!0Ódñ!|íQEô=ðF«ùÎM˜ 9ùÔ,žýÓîÂò¬ôèòÌûÿ.äü© êÏÅó€?ó½´êÐýÞö®Ò4 Íû(ø›êYñŽ÷q÷¿…/=ø,ÿ£(Íü÷™ ¹øó, ÝåhüØõËØ &‡ ¤û%#êñVèò´ûžüFY.nóµü ‚Ì(ýæ ý-¢Lªà|üŸö=àß* ü´ëTæ©ô%´ÿÎ Y,ãíeùnÎS2–>ýuÞöþZø$æQ/ èù¢ŒæçæÊ÷Ð÷3¬&‚ç\÷*jÐ þC« Ñ÷bܾTûåíí1’—÷x6âgèÎü} ‚,™!|á\öÙÔùü^'Z¨òÄÜþ»ô3Ä%ô§ Œàdë^°ý`Üâõe~ÚˆW¸Õ âîâÞ4 ¹Gù<2€ýxðš „àWïš®'p1¥×ýöfÝßËa> üûÍëšá¯ý0†÷=íÞ=áô7 çHp ý „Ôù›Íå QÙü@¡÷ê8檟Ñÿî,™ð‚ê%ãRùfŠ­ºeÒ;üZ³ë›#†¿øNÿŸô„êï댢B(@ê†è¼1æ¥ÿ¯ÍöÿáXÒ÷ ²ð£%lœóuûéòìãñk0 âã"Sä瞪êð)À›ûoÿ«ýYÓõŽzôU&J ¶î3ø;òZïPøÅ"- ÿõ$ß,èæîK tãöTû²úîÕX ·f÷ %4ûézö óóþX%Æzü?—Ú=êz Uóø;< ´ñLø7ù^Ù?æ”ø #Òÿ<æåõEõÃøNÏ&£ù΋מîǸ÷+ðÀ6íö®ù3ÞWºÃø°÷ø¦ã×öÄøÒý¦A&‰ý}õå ¼Õ¯óÔ¬û¾ôèîõ1ûQã°{÷mò»âÉøùüƒ ¿$·÷ÇñU ºÕ.ú¾áþñŸû©å,÷“ý?é¢$é3õšìlã»ûÑÊÝ ï!¼ñ\ïÓ(×BÔ<΃ ¼öQã×ùžÄî)(ˆòiÙç¥åÂÿ« ú ¬ëÖí¸ Úa£Áþ¡»òsâ”ý\ô‘*Œ ªîÚ Òäé…M ë Ó Ÿñä£íÏkÞxëÿoÿ\ïIãÂøi+{~ëµ €ã¡íœ W ) DÃßÓîÃòâù  þÁ ¾ù…íQåTc Sû8*oþ—è‚™ã¶ó\Øo e† ,Û‚ñ$ Ûçí0>ûćõÀì=éH1 Pýí'`÷IæMå“ù*MÝ·ºéØ5õv 'í}N÷ƒÞò@íÀíË^þö#qððä¤/èÇŽ9(ÿ¤È×°úÇñW!lNóü&ñ‚ïAó5’þ$êÝälàë¬lIƒÿû®þwØvÕøõù!)}îÙøïðNòîøÙ> éü¦väåFõðÿ sþúÓ÷sûlÚBZŽøì l ê¤ö+òûõÄþ¸ “ vú»ßßLè¬ šõÆj± ôOõú$ÞÌ ^~úzÒ€æÜõïô-ú½'"¸l÷™?ÝìV3úxÞoàïQôÍùãÛ;nú­ûƒã™öîøŸþj g!ÜôÇ Üñ•ÿýÜècÿžëúóNúé°ùýør’õÜá"ùIýî ü2ñäwÜuö7–ï@ùÂè@õ‰üïЫSöÐŒðÉáBý–‡>¹Yö9î²ÞòüN³Ó2 ~óuçÀ÷ñÿöôÖ íêòD  ìÙâU¹† Ú Çð!ì xáE~>„ØiîßçÃú‡àùÚ"Gî» êåþH – ²eëSëÞåž { ÿs „þêéþ€ºýå"N ê„*èñéÛ ® # ™  ¦æ6ëcRéuØ :üÍüèYìôi #D"e»å&è3ïÛ1ò ¤ðã8í˜ hí$¿Ð÷å÷áç ðN aÞ{ý®â”¿è‹õÑÞa a)/à²ð» ‚ñ!Â_ó6%ôéÒôý )ŽöÅàfBë4ü3~C¼ÿ:ý3ßÖõƒõwƒîÙý òÉë¬ùåBåÿõï6à=yî"9Ó á<û6úeß­û(û÷¶Îé/û‘ñYïÿX4ýêOáÀ pòÁÎ Ùü—÷ø¾àFEÊù‡ˆ ŽåùŸòÜóNZ€ úÀ=åùã2 Ðö TÒh÷¾ôa÷íã$ ƒªúšÀâPø^õ’ø  sö( 'âËçF0ûù@ò-óÖ÷+蓜3ú7JÿÐßù-ù}ý Ežíòêàí®ØþnÁÑûãí„ó~ùvíi_„øóùßÞPûÒýɇ´þ§ïï]áéòñ~*ozö‹ê¾ôDüóâ öE‡ôåÞÀþ¯Œbm£øàìçWã ùe€añäè6÷}ÿGøq˜òu ñVà0s·îäòë›æ•ÿD ¡ Y ‹ìŸè¸úYjýyqÍî(Žî6ã‚w ü  k’íêÞúê€"ÅþÑè,ê.ÿN‘CO Lêɨí^çÿ ²C +ZgéUêÙ•ïç o"µþËBÿ•æWí$( HŒ•Dæ×ÿîìj—W ‡ q+æ!ì0†ôˆ]!Zú£ÿàúæxñ5 5`Œ6»â+ÿ¯ïcòÎâ%ý.ä,ï Òø¨—Xõàû÷;çö5P)ÀÓúhàþÿ]òø²ìîæø±ã óUƒüî†,ð€øžõØéü­Ndµôãßßõ“þé¢ Úÿˆü¾õpä@ùYÿ¢ãPëåõ@õí@Ÿ 7ïÓàè½ùÂ5 Òú¦øôvæcÿ¯ʾ£ ç˜ôSö!òÿÛ¨ *ýÍë\ãåþÝŽýØõÝõdó,êÝU‘Dã@ôù'÷± )ù cù¦è"çA þØ Œî ñœôüóÆî K¢ "áŒõ¿üðû¹Õ/ÒõGÿ²çìÚ“ cZû í[ôÑõ(ô[Îþ§ ¤ü²ß<ø3?Âtÿò=üVè•ñVÚƒ +ƒõ\ê£õ±ø±ù¡•Àûäø„ß"ü÷ã+ÅùJïšú“ê­÷eà­ q ðé*øTüÿDÔ¬÷„Öôûà8… „i~Tôþì›úîºý¦\Ïl Yëdéü¨Ñvó´ýàòÔãÒbå0ó \ïì)üMòwÝG!‘è:ëQÓ’#N QîûYò¼ç¼ v!wOrëPìàþ÷v† î)ÿèæîe×Ð aÑèé‚ù#ó©ìlò² ±þaèû ëAþûý¡åµòg œ bÒ7æxùõò:9­*ÀùœæÝð#­ÿbXù ÷.ú¥æÛ÷% ” ‘Àû¤ã¡úø÷š÷Âï;/«õ<æïôµ Ò÷xtóÐó¶øéHýEÛ: :öuâývû÷üò‡äü|þâò/çú*l:î…ñ›ø í¸Õ6÷gRñÚ⣃ÿâ é÷rúSñqéËÿö#À—é&ðãù„ñ½.Û ÿÿêÌí×äê² ¯¦îò§÷Hñ íÞ²T »êå1ðµü}ö( OF¾û“þ}ëQè¦ šñ—‘3îö•ò}ñÀ Dœ Wã¢ñ¨gûØÕ€÷ûèêáì{ø ¢Xýnêöõô¥öÇD¦#öýéájôV¨ÿX¼<þ«ó”øì/ò+6 Ë.[÷ÀçR÷:øüx(2ÿƒëùðánø! !ø´øcðy÷’îñ÷v¼°3ò¡æÿù=üKÈ«ºúü÷Mãsý§’v?}óî¸÷1òvýÃ, ‡¤ ±íçŽý‰ª}úµõPøƒõåå,_Ü£œ ­îÆìmù‘ö–õ± ›þ°^êéöî Õ Áð¾õIõºé öœúêøì¦ü|ûUÌ‘úW»èxìÍ Ò ¶0,ìŒôŠö¢î¸‚Š’ ˜þJèîÕØÿä ÷TRöÌüqèÓð› U  ‹seè©ôÝøÁóbŸë×ùúælñ˜Ðd  ý„òmúØéöo™ ¥ æûçåRöþûLùiœÿ'öçšõ– û¢êz÷mï@ùžì û‘*y/ ™ö¯ä7ùêÿwþ(Ïû˜ü–óaè›ú+í^"òVí’ùxðýíRãg:ò åýýÖ¯öÞø†òâêG%Ç ® ˆ Sí,ì@ûðôû ð šÿðÿï眿W ,ñöØòî3Ô] Ç ‡é©ìcþÝùH Ï6û üGínê¥ò ݶìÊôhô ó¾ N’¬çoîŠþ¢ ™ÂöùíÐîÎ 'Y™ÿéõ&÷ød–À¦óü åkñ:‹À¨1þ©ò&÷iîô~¦à#$ú³æ¶öÇú5ýž «!ýHùæ¹õü žY»Êø¯ï¯ö4ñù{æ`g @õÙå’ùÎþÌd*ïûøøðö­çÆú1š{ ™ó—íf÷èô¿þs—ú lñ†ælý´q3÷ÉõöŽê?¶FX Ë -ïÚì˜ùGùs% òü4ÉîµèñIUÆÝ yò‡ó{ödîÄ1·2 ÎëkíüüÝý…: £ø›ýŽí0ì®æ {¼Cî˜ò#øâòÄ @âLœÿªéZïW e}ô×ú­íyða ¨ l ‰ÿêóÍú™÷çåíUûÆèSò‡Š ôvÿõð)ù4ïxõÅø ÅûêèõQþrü Ÿ8ÿ¾ý4øxémöK l  •húZîÜøò¡úX]lÓ‹÷Bè#ø0ÅÏùûúlö@ëû†ù » a£õÕìÊùµõ®ÿQ—6ôâèü;:%*¸öêöáõîBìb » ¨ xñfìãûïùl þ«þæñÔêgÖ µ wò¶ôö¢ñþ9` ³Ð+îíÎþþ‹p|ºùsûäðÚíøÕ ‘Â×´îÒóLø²õQ G=/ìï‹ ö 6…õùÿð²ñh [| îÖë8ô ûú E(ÿcüoëýñ‘\Q ÁŠÿ+òî÷„ò?ö{ ý¨ yüóéÜõ}þHþÅÆxrû‡ùìëåõ± ðn ‚åú¤ïò÷(õðúû¯“›øi饸67=]üøÐ÷‰íTúpc N göîýøbøcÿ9¿s¢ õ êCü ã^» 3øyõ\÷Qð ÿ‘½ I<«òºíCû+ü{j ¸üþ¬ó ì_€ ÀhŽ 'ô¾ó!ø°óŒšÐgîÀï’îZþ¬1 Ýøûäòáî±X ‹8 °ð óÏù…÷†˜ ×ÎÿÌíGðålÖ@õù<ótòóI8 Šî¬ójüzû× oªQþlü8íQó×|ì Éôñ(øÉô¯ö× 2ÄÉ€ü}ìxõ¹ÿJÿC ìúùùÆíýö¢ ±ã oü¡ï\ø/÷ðúîø^ùìøS™½8üè÷žøiï5û ñ Ê{ løAî§ù0ú ÿ› Nf^ö³ìZûÍê¬b øõ5øÐñ`ÿ­ò ‘ŽÜôåíåûƒý·%6 Åüý¿ô~îEÿ u¼ • jô>ôøøõ…–ùÛ¥5ò«îÞþÞžFùú;ô4ñM¾ õã ‚Kñéó³úÄøAu ¢Aÿ©ðŸð~­ôböÙøïô‘ôNwi; pçîŸô7ýü< FVQýcüð]óº ÔX4ó&ølöBøË 8î¨ýríXö8ìÿD ñíúOú‚ðÏö¤ Œpì Mü ñ_ø¶øü• ꃰxú$íãøxÕK ¨>ýR÷=ùò›úÍ j Nˆ øàï¡ù“ûÈÿ{Ÿ ÿnÿøÌíü¥ñC  †ù5õùZô‚þUO \qõ±ïÊû¯þõU` 0ü“ü˜örïÈÿ 4= ìö ôêùM÷2õ7Â~ýò›ðƒþÈt n×øFú9öäñŽ¿ [ BóÃó•û‡úg³-ÂÿZÿ›ñròÃ#÷ÕõñøúöúôF; èépHñ‰ô þäý ˆ‡Çüåü/ñ2õ*ñ xGó~ø~øiøœ Ñ w#ýEð/öãñÓ \Qñù'û¨ñ~øJž«U äýgñ÷ø­úÐû* W N7ú+ð“ø“§ \Öü™÷Iúó$ü g ¡=½ú`ð`úUýÿùð ™ÿ+ÿøõðxûõos – [ùåõLú(õÍÿ" 4 ¬åø"ðlüÒ¿Ÿ œüœüÜö°ò¥þ• hg sö õûÆ÷Eo4F¶þõÎðÿÃï½¾ù¦ú‡ö õí¢ ~Ÿ&vó õ®ü°úFØs€ÿüýïôgòF=X¨m÷_ù;÷ö÷  ¹NÞ|ñõõÄþ™ýšN¤ü»ûµô»ônëØ äÿþôîø§øûº‰ µêþ^ð³÷Ae5 ý <÷ùTú8õ“÷zZ¦t Žü—óYù¾úCþà D özü@ð)úø¼ç é UþË÷ÃùŸö¾ú ËŸ¨ˆùäò†ú4ý,E  Pÿœý°úõðöüc\¨ Saû4öñù¡øñý cû«÷ócüåÿ“Ø + ˆü“û¿ùzò šUŸ e¹øeõöúþúëc@áådõýóÈþye˜ ²ÇùúŒù«ôH= zóeŒö_õœü–ý‘Úi–þiÿyôªõfТ ØT÷3ù1úG÷/= ÞÀÿõ"öÀþ—m)üoýGôÙ÷ޏãÅLõ ùcû úšs rFçü;ô”÷"Y×( Rñùüõô{ú‘²4ºÙþäó ùýÔün í ÊÜú-ô«ù)cK ’ý0øŒûTöUýË ICüLóßú=ÿ|ÿ“ ² Gÿ‰þsùëôüñg)òÝúéö§û*ø] ²g½úWó¢üm‹ð ÍËüü¬ø:öÄþÄ÷'FsøNö…üLú™K ›WOÿ¡ø9ôÎþ”œ ~oú-û±ø$ø„> Œöuöþ¨üÖ¡ AÿUýä÷½õ@‚ ¢ öføsúcùnú! 9ÕKõ?÷Ýÿêþ‡* ð!ý»ûÛ÷¼÷­üB WÀöhú¨ú÷ü$M î¼ëþ©ô¦ø÷ë—  4û½úxøúâÝÅ$Òý¦õøúCüUÿ¨Ð (œþ#ý¶ô†úxåW*þùVú°ù€üƹ÷Žû(õü$þ}‰³¢üüû_õ½ü €šAßû˜ø•úYûÞþ+ ª9ÄÊù_õÀý&UÍþûû£ö7ÿº¾ôïù*øxûUý ¾ƒÿÈ—øFö³ÿžs$ùû÷ù§ûSø–íål—_øNøÐü^ÿå: :–ýÿñ÷©÷¾­Srî$úcùJüDú¹‰ -Ïtÿo÷ùþT3Ø ^ÁûËý÷÷|ùÆèy¾¹øxùuýSüŽ™ ôƒý÷;úQþôÞL0ú ýø‘û™ ûB³þÅ÷úêþWþà €/ü9÷Üû3E n$ÿëøÇü›ù¹ýÄ^òüa÷(û’#­ñÍþŒþ%ûñ÷­ýé¶#ý0øýûÕÿ"i³~‡ûˆ÷žü6Œäoý0ý½ú"ù«ÿUfðÜhûì÷Øý¦ü°­— Êþ¦ú9ø[þÈ—©bûHüæú«úŒ\&·ðú5øÿcþA´bÿfýBúZù) º·õùÔû‰ûcü;êuO-4ùìø]øÿV%Öãý[ücú×úõ섾ãøÔû†ü)þ”ö^Óÿ³þÙøúÝRî1&ƒüËûûúzüŒh¤öþAø\üÒýÓÿ‡†þUþ“ýüøûR`ë}þvû¹ûðû1þÓfÖ…{ýø>ý?ÿH²xýãü‘ù7ýŸ ­b÷ü×úü.ýÚÿ¼ö¾Qünøjþ¨lzñþü¦ü†úìþ±@ê¿¥û”úÌü‡þE-tÿ ÿ”ûùÄÿê"­€ýfûÇü¹û\ê,°úÆúÔýçÿt=ü1þ‡þNû+ú2„öQü0ûaý(ý÷¹}½Äÿ(úfûÿ)@Ù©ýÁýnûpûгnêmûTû6þ†þ˜˜xþõùGüM.8ùûVýëûØü·ú³¸þæúÖû;ÿÎÿÏ…Nÿµý0úlýƒö ÒÿCûPý½üJþ£En›ýÄú¦üZä=M^ÿKþ4ýÇú³þ—hFåþÓú¡ý´ý¡ÿ?¶[<Óüû­ýn»@@2þ‰ýý¢ûùÿm}¤¬ˆýÇúAþÅþÅz S2ÿ[üŽûÎþd@ô(ýý:ý¨ü"õ?ÅzÄüûÿÎÿª[)QÿZþ=üYüîÿ!laÔQüíü´ýÆý.¹ÐvÿSü•ûþÿ·?ï%cþËýtüNýžK¢Áûý[þáþáûàÿ§þ4üaüðxŠB¨ýýñüZþíÑë¶Ÿÿ{ûˆý+ÿçÿY·"ÿþbüUýÒûŠf$ÿ#ý˜ýžý`ÿœ½TÏÇþû,þ»Š:EþÙýÔü\þ;@tOþäüáýoþG fÿÿ.þÌûëþÃRl[bÿÄýÙýoýVÿ:Å~¢ýàü\þAÿ6×ßÿOÿÞýSü¿ÿk¬‡¡þ‚ýþ)þ8aþ/™8ýýúþ‰!#ÿÅþÆýýüåÅŠ°þuý}þæþím’‰Ýÿýˆý¥ÿª×ÌZ‡þ|þòýÄý2.¦çóÿ­ý¥ýÿ ÿtA êÿKÿýþL)êU™þdþGþŒþ»@Z8Qÿ‡ýÿý™ÿ8Âán[ÿëþUý¸þÝwÊ¿æÿÍý|þ¸þEÿð’Ùþ“ýyþ%¯Ø^ÛÿíþÂþ¹ýZÿL’%Xÿµý¿þ;ÿæÿ?×v•þÎýÿ ûÂÉXÿ¬þÊþ7þñÿš„#’ðþÐýÿµÿ]6rÿÿ–ÿþ*þÿƒ2ñþ“þòþ¿þg¶K±±þþƒÿ!«ü–ÿNÿþšþ8,£¬þ¡þ6ÿAÿÁªýG²ÿ¢þhþêÿtÒ¹…Gÿ)ÿ¿þ ÿfKíÉ-“þÒþˆÿ³ÿö}¥ìÿtÿºþÑþ>ªÔWÿ+ÿÿ{ÿ¨<°k×ÿœþÿ×ÿ6M¨ÿXÿëþ7ÿ¼¶óÍÿ ÿGÿVÿ×ÿÉl¡ÿÅþbÿ<ðãÿ]ÿ.ÿ•ÿ£²‰“šÿÿvÿ¡ÿÈÕ-æÿÿÿ«ÿBUÄ’Òÿwÿyÿvÿàÿª“WG‡ÿEÿ­ÿáÿ9«’ÿÿËÿ•ÿOÿçÿWUL¹ÿ‡ÿ£ÿµÿ “f(ÿ|ÿÚÿA}RáÿÆÿ¯ÿ–ÿ Q?Sºÿ©ÿÍÿæÿg8ùÿ¯ÿµÿúÿ2F ßÿÕÿÓÿÒÿ3 !Óÿ×ÿðÿÿÿ/ýÿøÿßÿêÿ ./chessx-1.3.2/data/sounds/fanfare_x.wav000644 000765 000024 00000033264 12505043427 017626 0ustar00nistaff000000 000000 RIFF¬6WAVEfmt ++dataˆ6€€€€€€~~}}}}}}~~€‚ƒƒ„ƒ‚€}yyzzz{|||€ƒƒƒ„ƒ}xtwwxyzzz}†Š‰ˆ‡†…„{vpuvxzxtwz€ŒŽŒ‹‰‰‡}wrrpqsxyuy~‰‘މƒ…‹…yy€zqpt~{u}ƒ”š~or|€}ˆ†‡tmsxs|Œ¤§‘o[an€}‰ƒ€~tlsvs†©É§gX[^kƒz†‚ƒum{ˆx€¤¬·˜need|…v‰wwkk‚ˆhh’«´Œdgo‰—{‹†‡†wmq‡nQtŒ”˜u[eyw~Š…”ŒŠ€Œ‹esŒ›Ÿ‚X^r€v‚‚{…|‡†zOV{•£ƒ^h†™”¬˜Š„™™ŠOFk”šj;N{}‰¤Šƒ„†Ž•§¨rOo­{>Fxˆ«“…|qr}†’sPc’®“TQw‰Š¨¦’ƒtqŠ“~Yk…›ªj@Qn{›¤ˆ~{…› ’`lr~“~Pasr˜¦”†pj‚†‚PZgp”is•Žž«Ÿ“‰bSyˆŒaWkxgIhs…‘˜•šub~¡§ƒhjy•‰`0U‰ž•“§†qg†’m[\lœ‹c=M›¿±—œœ€r\~¦Zjo¡¦lPIv¦¤|{„xtai¥ž_oo¤iJ]hœ¾˜€‰••Œn‘œMIYy™wC^m‰É´„u~|ƒavšcWl‹·³yKx{±¬xdusƒpq£…adqš¦7=v²Éx‹”˜Œr“MXq–¤„F5`Áá _Ww~†n|„XSvºÏ¶jD=€Þ´mGcizt„ŽfGH‘¶±n>:^Ëʇg¥©‡zv`YLƒ®¤wTYp›¿7X’xk~lp`›ÜÔ¢o[b’¤£J4}šŠp}liPd¥¾›dPQ¡±Šxb›°•qpk}siŽ¥”t_M‰Ò†;B‚«”b`Vuyw¶Å¤fQyÒ¹C$i‘hYJr•o‚­ ~\MoÈÌpCˆ»¹†`Nl’}‘pUIW¸×‚M™¢z_Ld“²Æ¼’oY`²Ñ—31…¤ŠeDMƒur††vlZXœØ·nOŸÌ¢^NW‰‹‰“˜obV^™Õ°Z T®¥~qKi€˜¡¨ƒWC}ØàŽ&Gª’cdQrx{{z{kl”ÒÚ™NIÃŃqCaŒ›|rqkPMvÊÏŽ@-’«ƒdb}’‹•’–{VaÁï»Pl®sl_[chkxfZlk~Íç¢aHx綃XAfšŒrg_naV¶ùÁR(4¥ªz}{wiqƒx‘\“ÚºgA8“Ìt\\tŒ•iG<^ƒx¸üÏlKF“ñ¦kT\crj_O\{qšõà‚O)?µuu|ƒ{jgu•ˆ‹ÖËoAX€ƒr_N_в§ºÑ•96X[£ÆnoŠ}}cCQyƒ­Û³eWu„¶ÜzUphQI@>h¡¨Æò»qt”{u¥nQvhW^Xb€« ¢Ó­N.O`k¾¨qˆzlyt]Yq|™äÈ`Ivƒ½²VXeUOGDcŠš¥èØq^‘f†œbo‡aT[f€œŠ±º[5ix`‚´„sŽrpstoox}¾ä‚AnŠ™»~Oq`Zbgiv‹ºÝ‰U‚—xt™‚a‹€h`ox‚{“½w2Yzjw«•j|xt…ŒvgsuÖ¨Yd†|ƒ­“[bobhsijƒƒ—º“QnŸ…l“y‚›‡}|ooy‚§’OOxmh™¡€kzj}˜ˆffpˆ¹·~l†vl˜¡~d}kh|xcn«™b`iyƒ~œ‚‰t]o~€œ™kVnta|š‹yzpp‘k_n…­µx‡€h€œ€v{xjz}cetƒŸ™ra}Š|qŠ„‘™–†‰dfy“—~hqqih‰…rh€xfi{¢®•„€sr•ˆ‚ƒ~s|€hbn{‘”zhp|}t‚}‹›’…‘q`q‚Žvuvnlƒ~‹}kx‡{lkw•¡“†‚…yr‰Š‹ƒv€„sdmx†ˆyqo{zw‚‚ˆžš…Š‘€in~Ž‹|yxyqi|w‚ƒpt‚~ppvŽ›’Š……p‚‹†‹zzƒxgktƒxtsw|r€€€—ŸƒŽ…qnx‰‚{z{zjx€w…{qutvƒ‘‘Œˆ„ƒty„‹„v‚qor{{wxx|u{„~‹•‘…ˆ†zuv€ˆ…~}{|rt}v|{y{~xyz~†‹ˆ‡……~|€€‰‹‚~~trtxyxvzz|z|~‡Ž‰Ž‰†|z~ƒƒ€|}wuvw}{u€}z{}„‡‡Š†„€}z†‡~ƒ„}xuuxxvv{|}}}~z†Š…Š„€~|}ƒ‚}{{xxsyzvz…~{{{}‚†ˆ‰‡‚‚€z€…‚‡xvvwyxz}|z~}~|††‡‰€{}ƒƒyzyzyxxxzƒ„{{||ƒ†ˆ†€€‚}}€ƒ…{xyxxxz}~{}~€‚„†‹‚€~|~ƒ|z|{z{vwz}ƒ€}|||€ƒ…‡„€ƒƒ‚€}~€‚€zzzxwx||~~~€~ƒ…‡†€|}‚ƒ€z{{||xuy}€ƒ~|||~…‡†€€}{~|z{yxy|€‚}}~€€ƒƒ‡ƒ€€}|~€‚€zyz}}zwx~€ƒ|~~„†…€€‚}|€€z{{zz}€~{{€€~ƒ……~}}‚‚~zz}zy{‚}|}~„„‚~~}{{€}{z{|€||€~~ƒ…ƒ€~|}~€{z}~|zz}€€~~€ƒ…ƒ€}‚|z|€~}zz{}z|€‚€}~ƒ„ƒ€€~||~‚z|~}zz~~~}~~€ƒ„‚||€€{z~}{{{~‚|zƒ‚~|‚ƒ€}||}€{z}~~|{~€€~‚‚‚}€€|y|€€~|{|~‚~{~€‚‚{}ƒ€|{}~|}~€~{{~€€€~€‚ƒ€~€~{{~€~|{{}€€~|~€ƒ}|‚ƒ}{|~€|}}}€||}€€€~‚‚~€{y|€}{{|€~{|~„„{~ƒ‚€~{{}€}||}‚~z{~~‚‚~z{‚€}|{{~||}‚„}{ƒƒ|{}€€~|||~€}|~€€€~~€€‚€|z|€~}{z|€‚€}}}€…„|}€‚€~zz|€€~|z}‚ƒ€~€‚‚‚‚‚‚‚~}{z~~zxz}~}|}|}‚ƒ‚‚€„…‚}z|}||zwwxz|}}|z{€„„ƒƒ…†………ƒ‚}{zxwz{ywvxzzz{|~ƒ‡‰Š‰‰‡†ˆ‰‡‚~||{yxvssuxyzzxw|…†‡ˆ‰‡……„ƒ‚ƒ‚€€€~|||{xwz||zxww|‚‡‰ˆ†‚~ƒƒƒ„ƒ~vsrsuvvuszƒ‰Œ’”’Œ‚zpoqtwxwwx|…‰…€~€ztpsy‰‰ƒ‰‡‚}{~……~xwwokkruoqy‡“”Žˆ†Œ‰ˆ†‚€wrs{|vz‚–Œvb^gv{{}{~~|ˆ…ƒ•¬©‚igjq€z}wnq{yuƒ—“ympt‡Šˆ……zs{„weu•yqyˆ•ˆƒ…„~us}w\aw†’‹wxƒ“ƒˆƒˆ‡‚}€ƒj`nuku€€…‹ˆŒ‡†‡„„rdq…”Žqiwˆ‹‡’†…v`Pfˆž”wlЇ˜š‘Ž„}|jNNt›yjkfcz‡‡ˆŠ“‹†Ž‚mr‡  {gsvnx˜†p`NZpŽˆvx‚„‘›‘”‹„”™ˆx]Wm‰‰}vrei{w}„Žžš’|ny„††~t~zmux{‡ƒ€‰†wd]n}}ƒp{‹Šˆ‡ƒŠŒŠ–†k]hy{vtWXotswz‰‘–››‡{ˆŽ“Š}hjŒ“jl}†‡~}_IjˆulpŽ©¨…qz‰’Šš…PXtlYecp„tbt›œˆ”qpƒ~^tz›†^d‡”—ymlGRzœ§¤qYx…²µ…h|Š¥›†yPKcˆ¢¬>A`€“€k†–ªž‚ƒjlާ¨§p[]†“xWjƒ™•n]CFk›¶¹ uY@}À©yl|–¬–uGB_£¥—wV,7“’ll“µ½kTZ‚”´µš…{a"dòÕ_V•‹_sw93HÐ÷¤^eaH`¶²Leоï}8Ncal™Å†JIK˜×žSs—¢zyoBG`ªûÉx}h\Ig±‚F}¦Û§NIGQg„ŪsQWŽÝ…uy…•t]voJU…âÕx”]MMv{jp™ÉÀDbRNb†«œžjGmÞ±at_xsf\rVaÇlEIx¦}|‹y«ÛhQsQ@a°¦†„BRÂè}vmibosb”^–ó²‹l7>sº˜dxˆÀŸW]MIW£µ€‚fO¨ó¸9Jgyzon‰[ÔĈo4"cϽ–g\”À }a<S±º~}sMŒèÛ©Z G“˜|g~jpÌØ‘o3TÎÞ®”Sg´¥¥r:(œÉ‡{€UrÒã½~zœ£vvfc¤Ä¦sW 'µè¯¥xIœ—£†I sÈœk•kX¬õÉ”R^¨˜‰~iM|§¹r^2óÁª¨Nu¦“v5B©²xŒ\ŽëÔ›v$¶“}‘…FkŠª‹oJ nôϦ·X³‰}{\¦Ž‚ l|Üß§‘B —¢p{£[W…pjCç䥧¥_¡pi l˜‘|™‹€ÇÞ´”l]·‚lœpGuu‘vqA+¾ñÁ¦·‹y“y[s6GŽ“‰ŽªŽ´ÓÄ•ƒA'š•k~…Wckƒx_Z8”ìÕ«¯¾t}ŒmYCq†—‚³¡¥ÊÖ–€j2c—xhxrQ^|^fRtØß¶ Ìjˆ‚@7R€›ƒ¦«–Âì­zvUC‘‘pkrYTr™_X]jºæÌ«À©avœE&$6nŸ¥¦§·ë¾qishkdU_uĹž93‚»¸£•’Žo˜‘jV .B~›–…wªâò¼6P?^e\ˆq_n´È²P-l§­¤†ŠzŽŸl,2oš§z{”ÖêÇ¢NFNOjWv˜Zj¥ÈÄs$S’¥¡Žz‚‚„Ÿl…g""Y«}qƒÊḛ́l5JHbPqªoZÀÀ–)?z¡›t†”¢l“”<G‡¢…ilµâʰŒ\Òâž_/`}La£ž±´z½‘k¹wpc_œÔy}¿crq[‡ˆ~¯_q½¶Ž ¥yF`£xs”‹˜š…=2m´O@n˜”ŠÍ߈AZ¬v S³¿—”±ŠSL›Œn~•—‰Ž˜•W.Vš´Y?Sš˜‚¶ä«TF8<©È¥Š²”eA‡—fp‰£Ž†Ž—r=I†¾qKB…œŸ‡›ÝÈn5|–L “ŮЩ¥y>u¢lgy§˜…‰•‚RAm´ŠR;g˜ª‘‰ÀØ–9`“d! uÀµ”Ÿ¯Ebw`mœ¡†|‹jHY›¢aCO¯Ÿƒ«Ú»MK…u4 W·¼™˜§¢SR–ˆ\f‹«vˆ•{]H€¤{IFv®­€œÇÔi9n|I;ž¾š ©­nD…”`Y€¦šzzž‚tEgš‘PB`¢ÁˆµÝ•6T}Z$.~¿Ÿ«§Gu˜mQwœ¢lŒ„SQ„£a?S‘Ë“‡§ÒºF@|h5/bµ ¶Ÿ—\_ŽxLh”£Œj“™eBh§~@J€É ƒœÃÇ`(nsD7Mž¦—¼¢™xYƒŒSXŽœ•pŒš˜nDKœ”BAwቒµÊ…(`€O?K…©™¿¥‘…el]Iš—x‹”¡{RA‹§X2n¹µ”ަÀ˜5H„V@Lq¡™»±‡‹{b‰mFoš–|“‘†R:q©n,d²¶›‘œ²¥M9‡h=Oc‘Ÿ½»†‹ˆbx}HY“𙕔\=d§‡-X­´˜—¤ªb7yz?Oa„·¾Œƒ’kj…VK‡œ˜ž‹’g<[˜—DH§±›”–¦t?h‹EI`r–³¿™€™q^€fFzŸ†¨‡t>U‡œY@›±˜ —ŒŸ‚LXVD]m­» Ÿ‚^yvDe—ŽŽ§Œ}JPx–nBµ—œ›‡—‹[W†lEWg„¨­§Œ’Ž\nLT‹“Ž ”‰€ULqŽOtµ– ›‡ŒˆhTv|NQd|¥£¤›‹™epˆ]J{”‘Ÿ“‘‚WNg†„`e®™¢™‡…t[wƒ`P\xž£­ˆ—jeˆmKi‘¢‰—Š`T^‚ˆv_œžœ‘Ž}wYoƒhVUp“Ÿ´‘‘zbŽxSW…Ž¡‰––gTUw†xh‰›Ÿ”}zekˆncSb‰°Ÿ€_Š‚\UtŠ ŒŒvXWp{px’˜¢‘˜vgd‡qf]X}™Žª¤…f„aZb~œ”ˆ›ˆ_QcŠ€st…“£•˜‡tjj‰zahUf‘’¨¥—g”k]Yl—‰–’pLbˆ‹nzw†¥ ž‹waj‡€blaYƒ–¤¢ž†hƒ–z`[X…¥”“–QZ€Œn|uwž¦œ’{_c‰ˆkhmVo™¢¡£Œf~“‚b[Oq£›Ž—ŒaQquwk’®¡™][ˆqeq_[”¢š¨“k|˜l[M[”©™rOwŒtx~fƒ¯¢›‡aZ~•{gliW‡¢–¨™kt•”uZPT‚©””‘~`n‰vv~ds¡¨ hZoƒlalby•‘¥©{r…˜†fPNoŸ ’‡{mi~v{€rnŒ¢ª™|^g‰’vY\k|ˆ“ž©‰rrŽŒuWTcФ›‚}xyz{~}us{“°šˆj_u’‚`Mmƒw˜¤Ÿ}n„—„]Ubwž¦~wy|pz|~v‚r|¯¢z\kjEe‰qŽš—£‰ks•nXfg©‡wpz€}o‚uq¨©„ab†sXcŽm~™•¥”nr–“oL_d‡¡ˆ€’ˆnr€~z|tq›®Že_ˆ”pahŠrq“£žom“›yTMZ‡˜‡€››rlxkrŽ©–gU|™sdy‰|mz£«{g¢{`HI‚™ˆ}œªfyrƒbk… Ÿƒo[o¤„W…‚viƒŸ·‹^w§‰kK8r›Šu”²˜jvsužlZ|‘£‘rY]—Wv‹}gr–µ¤fe¤™t`/X™uˆ­¥on~n˜ƒSrˆžšƒiY…®g^Š„th‹®¶rTŽ­yiOd–Œ‡‰… £ŠjYu|˜´XFQq˜€x|…~‹¬˜xhs¡¥‰J:N`–›‚Š‚¨ŒrXqxŒ¶šXBGf¡Œyy†ƒ†¨¦ltzŸ­”Q3HW¤…Š“¬”~[s{„±ª`?A[¡ž|tˆ~š§jpr“° `/EU„¬‰~‡Œ¬ž…_q|z¥®g<:Q—­†t{€‘ªŒopm‰¯¨m.@Uz­“zƒ€„¤©‘hl}u˜°t>6HŒ·˜ysŽ‚ƒ¤”tso}¨²‚57Qq£|~€™­›qi€v‰¨„F3@¶¬p‹‡z˜—uontœ²F4Mn—¦w~®¨|k€u}™ŠQ2:r¬¿Žq„Œ~Ž˜|osnŒ°ž[5GmŒª‘sxˆ§³‡o~{x‰Žd25fžÊ§v{‰€‚”†jtr‚¦ªr>>h‚ Ÿun}ƒž¹•qw{vx‡v<3^’ÈÃu…†|‰Šikqu•®†P:b€”¬gy‚–¹©{v|tizJ0T†»Û”s{‡~€pjxsƒ«žd=V|‰¯en~ޱ¶‚v}x`j^8Jz¬æ´tr„v†sgurr›«xLMu§ig{Œ¥¾”uzy\YuiNBošâØk}‰w{tktvf†±Œ_Hk}žªsgnŒœ½¦|~}^OhkcCcŠÓñ–in…}rlk|yip® vN]y•¬|jb…”µ°„{{cJXctVW~¾ù¹mb|‡scd}xo^ªŒ\Pnª‰oa{”¬¸–}vhKLXwoSs¨öÚXk‰{\^~vX„®¢pKcЧ–wem¤³¤…soSDJq„_e”çòUV‚ƒYU{‡~^n¤²ŠQXŸš~if‚«®’lkX?ptU\w–•_]¶›e`{‹ž…qyt†­ºŒ[ga3(^ªµŠ}ÂúÄP3[kZ]q’¤oX¥§xbw‚˜v|vt¥À“Z`e?F¡Ä£{ªôÑd7Je]bo†¥‚Xt‘£nwŽ”{€wg—Èœ`[eO1Í¼Š“äÚt?:\acs„¢‘`iƒ“›}|}”‡ƒzc…ƤeZ`_*!wÌÏ¡‰ËÛ†H2Nabu…œ™ney~œ‚‚xŠ”‰}ct½¯mUWf9]ÁÞ¼³Ö•S3BecwŒ—–zaom˜‘p{œŒfq¯²yXNkOI°ãÕœ˜Å¡^06ffq˜™‡jjb–›œtm›˜†km›±ƒZBfa!6˜Þê´Ž²£l20dio“›—‹pc]p §|g’›‰xs‰§g=Zm2/€ÑøË‹˜¥z5.enlŽŸ›}^Xc„ž¯‹e‡¢Ž€{|•“o?MsH2lÁù✖€?&]qnŠŸ ”†\S]x”®oz™š‹‡w€”vC=n[>_­ðî®uŠ„P)Vsr†¤•Œ`L]o‡¥«y‘œŽyiŽ€Q:akLWœâôÈxx„`-Hsv†˜¤›kGYk~•¯’z„Ÿ™•_‚„Y9Su_[ŽÎêØ‡lze@Akv„“ œ‘sIViu…¬§…„”Ÿ™…Xq…f?Gri`»ÝàšgtjMAey…˜ “xOPerx£²…¢œˆ]bqFEjxm}­Ìß­pjh^GUs–Ÿ›—|YU]qm”²ž‹‰¡§ˆ]Zv{P@^wyy ¼Ö¸jfdUSi{“§›’{][Ynk†¬¥Ž‹Ÿ«eYg~_DXr‚~›³ÆºŒkbicQ^z‹¨£”deWfp{ «—‹ ±Ž`ZbxjJSj‰’µº¶™u`fo\Pr‡£­“xcia[rvަŒ¡·šb\assTJ^‡‰Œ³²§œ}eiuhKlƒ˜¶ŸvbnjZmu€ ¡¡¾¢^[dnucLT„Œ‡³´›™†khwuG`„“²¬wZor^hyt’£Á±gUenrkMG~”ˆ«¸“‹rlx~RT~®»Qhxgbvn€ ”›Å»tPfnstZ=l’‰¤»•‚‡wr}…ZMz‹¦¿“V[xrgvko“••ÃÆ„P_owtd@_“‘ž½™z{vˆgJk†™¿¢\Pq|oond‡š‘½Ñ—ZUl|ym@Iƒ•˜·¥vswx„‹qRc†“¼¸mH`€lmZr‘Ž¯Ù¬jSc}sMBq›™°²xjmwŒ{ZY|ޝĄKT{ql[e‰¡ÕÀwTTz‰wW=\• ¤»‡ehqŒ‘‚fYnŒ¡ÆžNHf˜e\Xv“˜ÇÚbKobCI†ªŸ¶—^^f–ƒp^_ˆ—À½bEW–”eZUc‰œ¶Þ¨jI`ŽŠgOAk¬¢¬­fW\‡Ÿ†xjT~—±Ë|DI‡¤sTVTyœ§ØÉ|LQ‡–mUBV¢­¤³wNVž|yRh’¥ÏŸI=v¥†LUNfœ¥Çß–SI|š~]LBв£±JIyœ•{‚\WŒŸÆ¾c6g¤šVKNQ¥·ä·[@p‘ŠbYBn°¬©žS;y—•„†kFv ºÌ„2UšŸk?OE}««ØÚr:dŒ’n_DP·¨ h/pœŒˆ‰J[œ´Î­>@¢~=C?d¤®Æé•?X†ŽjSC¿±œz-`‹ˆ‰‚SCгÅÈ^6|£ŒP8?X™±ºçµMK|‰wX;a°¾Ÿ„:P›“~’ˆe>s²¿Ó…4cœ•a31Iˆ³´×ÐlJk‰‡h@JœÆ¨†JGŽ |ˆŠmEY¢¼Ô­JNŠžm?%Bx®µÇÑ‹W[ƒ|Œ{G>~Á·ŒVH}£„|ŽnTMŒµÐÅjHqŸzM5m©¶¾Ò¥mPu|…ŽQ:c±½˜_OoŸ–p‡s`MvªÍØ‘NT’ˆX%#cž¼²Ã²ŒVb}™b>P˜¾¥lWi‘£wuqe^d™½ß±gEy”f/V•¼¯¸µŸgRt|—zFM~¸«}]j‚£ƒfnal_ˆ­ß̓@[’w;G‘º³¥µ±Ng|އPIa¨³gkw”c_bzjy¡Ñà¦OA~ŠI2…¯¸ž¨´›WXxˆfVW·œtpr›mQTx{l¾äÅg1c’_ +}­¶ ›²¬iOnŒq]Ro²ª€yqƒšwLIwqƒ³Ý܈.EŒt*"o¨°¥”£¹Nf{‰{pYX›·‰xx”‚O9g—~x¦Ðâ¬@+w…B!a£«¥•‘µ˜U`tƒ|xgS¾š‡q‡‰Y4T˜‘v–ÁÝÄY_‰X%S›ª¤›‰«§c^q{€{tUe²¨ŽŠsw‹a5@Š¡€·ÚÓzC‚l6H“«„šªu\rtx|dTž²œul†n?5u«‘‰§Í×’.-rxMCƒ«šœ‡“£^qp}x~wV„³«œzfzuH1Z¦¤‹œ¿Û¢B"[|cHw«Ÿ—‡ž‡fsuxvwak¥µ®cnuT5F˜´™˜±Ù²Y%GvuUi£¤†Œ—…jpywsr‡sd·ÁŒbbn_?6€¸¨š£Ì¹i)7h€fdš©Œ˜†pl€|qf}i{±ÒžgVeeM/h´·£™Á¿}2-[„xa§–y‰•‡qh‚‡t^|‡tpײsLZfZ1O£¾°™³¼B%MŒjƒ¢œy”ˆvd}yWn‡|oŠÕdžMJeeAAÁ¼¥´šV!Bz˜wx–š}tŠ|hx˜ˆ_b„‚t{ÄÑšX?ajQ;oš•u€Šr|‹„mn‘štQj„‚|ijuERokTUº´Ÿ“ŽP>j•}v‰‰wu†…rpŠ„Z_~„‚“¶´QQmr`Vy¬´ ‘Œ~]Gež„mŠ€w‚ˆtnƒ—ŒeXq…‰‘ªµ‡\SgvgZkœµ¦’Œ~dPa‰œŽpv‰„x}ˆwr„”‘o[fŠ ³Že[etiag±¬”Œ‚iZc–‘wnƒ‰{x‚wt‡’wecx‘˜«”lcirmae}§°”‰mbk|ŽlzŒy~yvˆ”‹zhan‰”” –uiopneft™±šŠqfq~‰‹ƒpsŠ…wwvu…—~ofj„•’˜”{nwvlfgqŒ©œŠsiuƒ‡†ƒur…‰yvtu‚•}rkj~“”’~qy~phhp„ž‰€vmt…‹„xr€‹~vuu‘“tmkyŒ•swvhhn€–yqtƒƒzt|‡‚sst}•„uooy†’‰…yx‚}khm~Ž—Ž€zvv€Œ…|zx{‚„wqu}‰“‰wprz…„}z€qhl{ˆ‘Ž€yz{‹ˆ|z{}ƒzqv|‡‹{rt{|‡Œƒ€}ƒ„vjky„Šƒz|}~ˆŠ~xz~ƒ}qr{ƒ‹‹€tu}|„Œ„€~‚†}okwƒ†‹…z{}…‹€xy}‚€vs{ˆŒ…wt||Š…}€€~ƒ€tmt‚‰ˆ}{~‚Š„yz|xsy‚‰Š|v{|~‡…}~}‚zqt{‡Š{~€‡‡{x}|||vx~€†‹ƒwz|……|€}€~vvy~ƒ†ƒ||€€ƒ…y||}}xx}€‚‡†|z{‚€|}€}€ywy{€ƒ„{‚„‚{{|}€|y{~ƒ†{||~~~ƒ~yy{‚ƒ|}€‚ƒ~z{}~~|{}†‚{{€|}~}€€|z{~ƒ‚}|€ƒ€{{}}}}}~€„„}z~€}|~}~|||€ƒƒ|~€‚}{}~€~}}‚…€{}€€~}~~~€}}}‚ƒ€}}€€~|}~~~}ƒ}}€€~~€€~~}~€€~€€./chessx-1.3.2/data/sounds/move.wav000644 000765 000024 00000031400 12071615462 016633 0ustar00nistaff000000 000000 RIFFø2WAVEfmt D¬±dataL(bÿbÿ ÿ ÿðþðþÿÿ_ÿ_ÿ™ÿ™ÿ¥ÿ¥ÿÿÿäýäý\ü\ü±ú±ú<ù<ùSøSøløløwùwùTûTû­ý­ýúÿúÿééå圜þþ>þ>þËúËú&÷&÷÷ó÷ó¿ñ¿ñÑðÑð5ñ5ñãòãòeõeõ=ø=øëúëúýýQþQþ þ þ þ þÅüÅüýúýúÃøÃøÉöÉöÞôÞôóóññðððð—ð—ðòò4ô4ôìöìö¿ù¿ùÝûÝûÀüÀüãûãûøøøø ô ôrírí8æ8æ(ß(ßSÙSÙ³Õ³ÕÕÕv×v×óÜóÜ×ä×ä'î'îµ÷µ÷ccöö  d d e e yy  ÚÚdÿdÿ4þ4þoþoþÒÿÒÿîîèèçç))HHõûõû¿ô¿ôìì¬ä¬äÞÞOÛOÛ5Ü5Ü\á\áIêIê¿õ¿õ« « ÎΚšè è AýAý~î~î+à+à–Ô–ÔtÍtÍNËNËcÎcÎáÔáԙܙÜ*ã*ãšæšæÊåÊåïàïàEÙEÙ Ñ ÑçÊçÊsÉsÉØÍØÍ¤Ø¤Ø§è§è^û^û^ ^ ÷÷u!u!ÖÖÁÿÁÿ\è\èÑÑn¾n¾´´´´ À ÀVÕVÕññ22++ @ @ëLëLNNÃEÃEH4H4êêéééé:Ô:ÔÄÄ:º:ºÓ¶Ó¶ ¹ ¹>¿>¿ëÇëÇpÑpÑ]Ú]Úáá‘æ‘æÍèÍèœèœèææFãFãÞßÞß%Ý%ÝÜÜRÝRÝ`á`áYèYèòòåýåý. . èè & &ƒ1ƒ1k:k:ß?ß?4A4Aü=ü=66Ç)Ç)¸¸ƒóƒóÙàÙà=Ñ=Ñ-Æ-Æ0Á0ÁãÂãÂêÊêÊó×ó×ÕçÕçñ÷ñ÷¡¡´´íí++µµœýœý‡ó‡ó ì ìéé~ë~ë{ò{òbübüxx± ± MM­ ­ „ü„ü é é2Ò2ÒU»U»j¨j¨¢œ¢œEšEšõ¡õ¡›²›²©É©Éhãhãîûîû‘‘ŒŒ††V V wùwù2æ2æêÔêԣȣÈÃÃÅÆÅÆ:Ò:Ò›ä›äûûõõT*T*Q;Q;DDíBíB?7?7ô!ô!½½6æ6æ´Ç´Ç‹®‹®gžgž¢™¢™Ý Ý Õ²Õ²ÌÌÙéÙé²²œ*œ*-.-.»'»'jj²²ÂóÂó¥ä¥äŒÜŒÜEÝEÝùæùæPøPø””j&j&Uõ>õÄöÄöVøVøúú<ü<üÿÿ¶¶eeffh&h&*+*+m,m,I)I)–!–!  ¯ù¯ù”í”íÖåÖåøãøã}è}èžòžòã㸸NN**5/5/..''üü00úúøöøöùù%%´ ´ __­ ­ 0'0't(t(ð#ð#88˜ ˜ ‹ý‹ýeïeïMäMäÎÝÎÝ’Ü’Ü;à;àõçõç*ò*òýýÓÓUU««ÖÖqq‰‰[ [ Ý Ý 8 8 • • Ÿ Ÿ ‡‡++eeMM€€99LL22øúøúþöþöööNøNøÖüÖüÈÈyyG G ò ò ò ò ‰‰GûGûùòùòÎìÎì¸ê¸êîîÁöÁöèèddy"y"J.J.a4a4k3k3a+a+c c ûûvìvìöâöâàà¹ã¹ãØìØì9ù9ùÃÃ;;››44##""dÿdÿãûãû½ü½üççm m ``vv‹#‹#%%Ä!Ä!ìì[[6ù6ùòòíðíð³ô³ô*ý*ý³³!!/ / ((Z+Z+ý)ý)—$—$ŒŒ¾¾Ö Ö 11……ÁÁ  f f ' ' ,,©©ùøùø„ñ„ñÄëÄëõèõèîéîé¦î¦î’ö’ö££{ { ØØCC!$!$@'@'ó'ó'î&î&%%@#@#í!í!Y!Y!N!N!*!*!f f ,,ôô””X X ëëgøgøëïëï‚é‚éîåîåzåzåèèÍìÍìØòØòðøðøñýñý  ZÿZÿºúºú`ô`ô:í:íQæQæ™à™àÚÜÚÜ–Û–ÛüÜüÜãàãàæææækîkî®ö®öÚþÚþ;;  »»::  ‰ ‰ ??iiÆþÆþÚýÚýíþíþ¿¿ßß ++ÇÇÕÕ  ||%%š š iiNNàüàü†ù†ùj÷j÷€ö€ö ö öu÷u÷½ø½øIúIúüüúýúý99ºº]]ââé é   ¿ ¿ »»ùù¹ÿ¹ÿvùvùóó&í&íèèÐåÐå1å1åææçéçéwîwîµóµóùùVþVþ--ªªë ë õõ]]þþ  \\VV,ý,ýãòãòêêQäQäÂâÂâææ»í»íÂøÂø55ÁÁ::ÄÄ[[ÿÿÉÉËôËôfäfäXÖXÖñÌñ̺ɺÉ+Í+ÍŸÖŸÖjäjä/ô/ôLLTTŽŽöö¥¥­ ­ ØþØþ=ò=ò.ç.çNßNߥۥÛlÜlÜáá]è]èÜðÜðÑøÑøÓþÓþññÕÕ¹þ¹þBùBùwòwò‚ë‚ë}å}åBáBáßßVàVà¡ã¡ãÿèÿèãïãï¯÷¯÷·ÿ·ÿTTô ô 22((ÊÊ$$} } YY{ý{ý¸õ¸õïîïîïéïéMçMçnçnçäéäé@î@î©ó©ó"ù"ù­ý­ý——))^ÿ^ÿŠûŠûSöSöžðžðDëDëççpäpä³ã³ãÄäÄäHçHçëë’ï’ïžôžôæùæù'ÿ'ÿYY  í í llhhq q ]]ÎüÎüÂôÂôZíZíþçþçŸåŸå¹æ¹æ"ë"ëÿñÿñáùáù,,OO>>/ý/ýBóBó>è>èAÞAÞK×K×ÚÔÚԓד×%ß%ßLêLê÷÷DDÌ Ì yy,,UU»ü»ühóhó/ì/ìtètèØèØè.í.íŽôŽô{ý{ý]]¤ ¤ ŠŠä ä BúBú§ñ§ñ[ê[ê3å3åŸâŸâ·â·â7å7å”é”éïïÈôÈôýùýùèýèý$þ$þºúºú\ö\öÄñÄñ°í°í¿ê¿ê`é`éµéµé’ë’ëîîòò‹õ‹õJøJøúùúù|ú|úùùùùÜøÜøš÷š÷»ö»ö­ö­ö´÷´÷ÇùÇùÚüÚü‡‡PP®®' ' g g 4 4 Ž Ž ªªÞÞ“þ“þYúYú‹ö‹övóvó@ñ@ñçïçïïïÃîÃîŠîŠî î îúìúìBëBëçèçè+æ+æ~ã~ãjájápàpàÛàÛàáâáâ<æ<æbêbê”î”îðñðñÒóÒóÖóÖóþñþñºîºî×ê×êYçYçFåFå_å_å÷ç÷çÞìÞìEóEó,ú,úFFdd³³ïïiÿiÿ+ù+ùŠòŠòÿìÿìÐéÐéÜéÜé>í>ísósóiûiû²²Ò Ò %%uu ììdþdþìøìø—õ—õõõA÷A÷¸û¸ûYY  l l v v “ “ µµ]]ŠúŠúvòvòjëjëææ_ä_älålå`é`é„ï„ïÊöÊöúýúýçç  ““  ÁûÁûhôhô.í.íççØâØâþàþàŠáŠápäpäééîî=ô=ôLùLù]ý]ý II22GþGþ6ü6ü4ú4ú…ø…ø^÷^÷¾ö¾öüöüöøøûùûù ü üØÿØÿss@ @ Ò Ò nnáá' ' V V úú{{-ÿ-ÿoüoüeúeú ù ù<ø<øÂ÷Â÷,÷,÷HöHöõôõô;ó;óKñKñaïaïîîwíwíóíóí‚ï‚ïæñæñõõ}ø}ø³û³ûJþJþóÿóÿŠŠ++÷þ÷þ5ý5ý:û:û;ù;ù´÷´÷´ö´öIöIöjöjö÷÷ì÷ì÷!ù!ù}ú}úàûàû&ý&ý$þ$þ´þ´þ¯þ¯þýýýý—ü—ü–ú–ú.ø.øÉõÉõÂóÂóòòNòNò]ó]ó„õ„õ…ø…øèûèû!ÿ!ÿ££ùùýý§§=ÿ=ÿ=ü=ü7ù7ùÜöÜö¥õ¥õ×õ×õs÷s÷3ú3úŠýŠý  99++ÅÅvv}}@@ ÿ ÿhýhý>ü>ü³û³û¿û¿ûGüGü%ý%ýþþEÿEÿmm€€ddþþ))èè55''éÿéÿ¼þ¼þÞýÞýýýòýòýÿÿ††++__44vÿvÿKûKû ö ö|ð|ð€ë€ëèèſſ#è#è#ì#ì4ò4òmùmù¯¯ÎÎó ó ‘ ‘ § § ±±’’bb7ý7ýÔûÔû—ü—übÿbÿ††77V V àà© © ÀÀóó8ù8ù¡ñ¡ñ6ë6ë¶æ¶æ£ä£äóäóäFçFçóêóê2ï2ï*ó*óhöhöøø‘ù‘ù™ù™ùùùCøCøË÷Ë÷÷÷÷÷ùøùø×ú×úkýký‡‡ÇÇÓÓ\ \ & &   + + € € D D °°‚‚__¼¼««--%%^^——ˆˆë놆++ÓÓ˜ý˜ý;ù;ùÎôÎô×ð×ð›í›íUëUëêêÜéÜépêpêƒëƒë¶ì¶ì­í­í#î#îíííí/í/í%ì%ì/ë/ë¾ê¾ê3ë3ëÞìÞìÆïÆï¸ó¸óJøJøåüåüàत××[[ggnÿnÿ1ü1üjùjù¿÷¿÷š÷š÷ùùÒûÒûWÿWÿÇÇII..  ÿÿtýtý7ø7øCóCó—ï—ïèíèí¶î¶îÙñÙñ·ö·öYüYü™™RR¶¶ll¥¥üüßõßõHðHð}ì}ìRëRëííññê÷ê÷üþüþuu$ $ 8 8 i i ùù··ÈüÈüm÷m÷·ó·ózòzòàóàó÷÷¿ü¿üYY99q q n n   ÀÀ55oýoý[ù[ù·ö·öëõëõõöõöoùoù·ü·üûÿûÿ~~´´aažžÍþÍþ€û€ûVøVøØõØõYôYôüóüóôô²õ²õëöëöµ÷µ÷à÷à÷D÷D÷ýõýõZôZôÉòÉòÇñÇñ¸ñ¸ñÚòÚò2õ2õŠøŠøyüyünnÏÏÔÔøø££55KüKü–ø–øÈõÈõsôsôÝôÝô ÷ ÷²ú²úCÿCÿ  / / m m ØØÉÉ?û?û4÷4÷zôzôjójóôô"ö"ö6ù6ùüü­ÿ­ÿÐУ£  33~ý~ý{ú{úÍ÷Í÷øõøõZõZõööøøùúùú;þ;þ66QQ22½½øüøünønøÔóÔóíïíïbíbíÉìÉìBîBî¨ñ¨ñ„ö„öüü——111 1 0 0 ! ! GG[[0þ0þ¢ú¢úløløøøwùwù›ü›üÍÍCC" " \ \ 0 0 OO88–ÿ–ÿûûq÷q÷ôôôôÈóÈóÇóÇó—ô—ôÁõÁõÎöÎöh÷h÷e÷e÷ÕöÕöîõîõõõÄôÄô)õ)õuöuö¨ø¨ørûrûþþ^^¦¦NN¡¡..JJ\ÿ\ÿÂýÂýÄüÄü‘ü‘üýý6þ6þ”ÿ”ÿÖÖ££´´åå7ÿ7ÿØüØüúúO÷O÷ õ õ‘ó‘óóó¿ó¿óNõNõ{÷{÷ÞùÞùüü˜ý˜ýAþAþþþðüðüGûGûdùdù­÷­÷ƒöƒööö’ö’öÈ÷È÷ƒùƒùoûoû,ý,ýjþjþõþõþ¾þ¾þÓýÓý‰ü‰üûûáùáùùùÊøÊøùùÞùÞùäúäúòûòûÍüÍüFýFýNýNýñüñüMüMüûûïúïúúú¡ú¡ú(û(ûüüJýJýŠþŠþ»ÿ»ÿªª55NNþþZZ•ÿ•ÿÙþÙþNþNþþþ0þ0þ›þ›þ1ÿ1ÿ¿ÿ¿ÿüÿüÿVÿVÿ/þ/þüüÕúÕúùùÇ÷Ç÷÷÷0÷0÷-ø-øøùøùUüUüöþöþsskkŒŒ©©³³ÝÝnÿnÿÄüÄüHúHúUøUø4÷4÷÷÷Æ÷Æ÷NùNùXûXûƒýƒý{ÿ{ÿããuu“ÿ“ÿ1ý1ý*ú*úÑöÑö‰ó‰ó´ð´ð£î£î˜í˜í¤í¤í¹î¹îªðªð1ó1óëõëõ¦ø¦øûûýý\þ\þÿÿUÿUÿ'ÿ'ÿ¯þ¯þþþEýEýyüyü£û£ûËúËúÿùÿùVùVùåøåøÞøÞøSùSùLúLú¹û¹ûqýqý=ÿ=ÿ¼¼ªªÑѦÿ¦ÿ°ý°ý›û›ûÙùÙùÒøÒøÒøÒøíùíùüüÿÿ++    ÜÜDDPPGG£þ£þïúïúÊ÷Ê÷¨õ¨õÓôÓôYõYõ÷÷£ù£ùüüTÿTÿˆˆÝÝ...._ÿ_ÿwýwýÄûÄûŒúŒúèùèùÕùÕù5ú5úØúØúûûüü5ü5ü ü üˆûˆûÇúÇúÿùÿù`ù`ùùù8ù8ùÌùÌùºúºú×û×ûëüëü¸ý¸ý þ þÆýÆýåüåüûûýùýù…ø…ø|÷|÷(÷(÷Á÷Á÷OùOù²û²û¤þ¤þ¾¾’’¼¼ðð  HHöö‡‡[þ[þºüºüÇûÇû{û{ûºûºûBüBüÓüÓü3ý3ý<ý<ýðüðüaüaü¶û¶ûûû½ú½ú®ú®úðúðúwûwû'ü'üáüáüŒýŒýþþ†þ†þãþãþAÿAÿ«ÿ«ÿ""––ìì²²õÿõÿÅþÅþNýNýÉûÉûúú¸ù¸ùšùšùAúAú–û–û\ý\ýBÿBÿëë  rr''ÖÿÖÿþþ]ý]ý°ü°üüüêüêü’ý’ýCþCþÂþÂþâþâþþþÏýÏýÊüÊü¼û¼ûÚúÚúPúPú3ú3úúúûûÖûÖûüü(ý(ýýý¼ý¼ýÓýÓýèýèý þ þ?þ?þsþsþ”þ”þ‰þ‰þ;þ;þ£ý£ýÌüÌüÜûÜûýúýúiúiúLúLú½ú½ú·û·û ý ý†þ†þéÿéÿ÷÷‡‡ˆˆOOxÿxÿÅþÅþ[þ[þHþHþƒþƒþêþêþQÿQÿÿÿÿÿÿÿnþnþ¡ý¡ýÝüÝüOüOüüü8ü8ü¹ü¹üzýzýWþWþ1ÿ1ÿÙÿÙÿHHzz||]]''æÿæÿšÿšÿ=ÿ=ÿÄþÄþ%þ%þoýoý²ü²üüü’û’ûpûpûªûªûDüDü*ý*ý8þ8þAÿAÿ””°°ooïÿïÿYÿYÿ×þ×þ™þ™þ½þ½þIÿIÿ..HHllmm%%{{bbááøøòÿòÿÿÿyþyþ1þ1þEþEþ¸þ¸þ{ÿ{ÿƒƒ±±ÞÞÝÝ~~££,,$$©©ðÿðÿCþCþáüáü ü üìûìûüüâýâý¯ÿ¯ÿ±±šš$$\\ïïøø­­NN;;ÔÿÔÿìÿìÿuuRR\\kk\\ŒŒµµ––44žžääLL˜˜ÏÏââVV))XXÊÊ__êê> > 1 1 Ÿ Ÿ z z   ŒŒûû>>ˆˆ  êêCCkk  --<<##ÎÎ44TT55àànnîîrr¼¼——££ææbbààÅÅ¡¡WWÉÉáá‘‘ÝÝÔÔ““@@ff<<‡‡;;44PPhhUUúúEE33ÏÏ11uuºº¸¸‘‘©©õõ[[ÈÈFF22ßßWW¯¯pp  ßßðð..„„ÙÙ11))  ððîî||ÕÕ––55™™ªªee××^^ººHH  ùù——ôô%%MM’ÿ’ÿ ÿ ÿÿÿ}ÿ}ÿLLbb‘‘¥¥rrÛÛÖÖuuÕÕ  }}ññ€€««::²²//77##ýýÉÉ‹‹DDôô££HHííššTT""ùù÷÷òòââÀÀƒƒ11ÒÒrr##îÿîÿÝÿÝÿöÿöÿ99¢¢((½½NNÇÇ,,ŽŽáá  --mÿmÿàþàþ§þ§þÐþÐþ\ÿ\ÿ;;HHUU44ÁÁææ¦¦iiÀÀMM11mmöö§§OO½½ÎÎgg‘‘oo77*ÿ*ÿ~þ~þ[þ[þÍþÍþÅÿÅÿ““ììðð}}ŠŠ**ŒŒÓÓ22Ðо¾ûûmmììMMkk--’’££UULÿLÿþþ/þ/þ3þ3þ—þ—þBÿBÿðð¨¨!!II¢¢ííHÿHÿ˜þ˜þ'þ'þ þ þBþBþÆþÆþ„ÿ„ÿ^^00ÚÚ;;AAèè88OOHÿHÿLþLþ€ý€ýýýÞüÞüýý¤ý¤ýdþdþ:ÿ:ÿ²²!!PPEEÅÅww77 ::UU__LLÄÿÄÿ\ÿ\ÿîþîþ‹þ‹þCþCþ þ þ#þ#þIþIþ‚þ‚þ»þ»þàþàþãþãþºþºþfþfþ÷ý÷ýƒýƒý(ý(ýýý$ý$ý•ý•ýLþLþ3ÿ3ÿ))››ÚÚ¸¸@@““ÓÿÓÿ-ÿ-ÿÆþÆþµþµþÿÿ™ÿ™ÿ[[¼¼µµHHwÿwÿÀþÀþ:þ:þîýîý×ý×ýèýèýþþ9þ9þ^þ^þzþzþ”þ”þ¹þ¹þôþôþKÿKÿ¾ÿ¾ÿ>>¶¶  ((õõqq§ÿ§ÿ²þ²þ·ý·ýßüßüKüKüüüIüIüÛüÛü·ý·ý¼þ¼þÇÿÇÿ··ttòò++&&òò  @@áጌGGòÿòÿäÿäÿäÿäÿîÿîÿÿÿÿÿÕÿÕÿ’ÿ’ÿ;ÿ;ÿÜþÜþ~þ~þ/þ/þûýûýëýëýþþKþKþ³þ³þ4ÿ4ÿÅÿÅÿ[[îîqqÛÛ$$DD44õõ„„éé55}ÿ}ÿÙþÙþ`þ`þ&þ&þ/þ/þvþvþæþæþaÿaÿÇÿÇÿøÿøÿáÿáÿ}ÿ}ÿÝþÝþ þ þkýkýèüèü¶ü¶üåüåüoýoý>þ>þ*ÿ*ÿ¡¡ääÃÃKKÿÿäþäþOþOþþþþþ}þ}þ1ÿ1ÿ ÞÞ……êêÌÌccââggÓÿÓÿÉÿÉÿáÿáÿ 33LLLL44ÌÿÌÿŽÿŽÿSÿSÿÿÿèþèþ¸þ¸þ‡þ‡þYþYþ2þ2þþþþþ?þ?þ…þ…þéþéþaÿaÿÜÿÜÿDD¨¨’’QQñÿñÿŠÿŠÿ/ÿ/ÿðþðþ×þ×þäþäþÿÿRÿRÿ˜ÿ˜ÿÖÿÖÿ((""ìÿìÿÓÿÓÿ·ÿ·ÿ”ÿ”ÿiÿiÿ8ÿ8ÿ ÿ ÿÞþÞþÀþÀþ¶þ¶þÁþÁþáþáþÿÿKÿKÿ‰ÿ‰ÿÃÿÃÿ÷ÿ÷ÿ##MMvvŸŸÆÆççøøõõØØŸŸRRþÿþÿ¯ÿ¯ÿzÿzÿlÿlÿŒÿŒÿÖÿÖÿ::§§99::ÿÿ™™˜ÿ˜ÿ0ÿ0ÿôþôþïþïþÿÿ_ÿ_ÿ±ÿ±ÿôÿôÿÝÿÝÿ’ÿ’ÿ@ÿ@ÿýþýþÛþÛþæþæþÿÿmÿmÿÌÿÌÿ""\\qqaa66ÿÿÿÿÌÿÌÿ®ÿ®ÿ¬ÿ¬ÿÄÿÄÿíÿíÿ<<KKBB%%üÿüÿ×ÿ×ÿÀÿÀÿ¿ÿ¿ÿÔÿÔÿõÿõÿ((èÿèÿÿÿÿÿþþ.þ.þàýàýÂýÂýØýØýþþþþóþóþ^ÿ^ÿ±ÿ±ÿåÿåÿøÿøÿ÷ÿ÷ÿîÿîÿêÿêÿöÿöÿHH††ÁÁëëööÝÝŸŸDD×ÿ×ÿiÿiÿÿÿ¾þ¾þ–þ–þ‘þ‘þ©þ©þÙþÙþÿÿZÿZÿ™ÿ™ÿÏÿÏÿ÷ÿ÷ÿÿÿÿÿôÿôÿóÿóÿ,,kk»»aa˜˜§§„„,,¥¥UÿUÿ»þ»þHþHþ þ þþþPþPþ»þ»þ<ÿ<ÿ»ÿ»ÿ""ee||mmCCÞÿÞÿ¾ÿ¾ÿµÿµÿÃÿÃÿáÿáÿ!!2244&&ôÿôÿßÿßÿÕÿÕÿØÿØÿèÿèÿþÿþÿ((..&&çÿçÿ¶ÿ¶ÿÿÿGÿGÿÿÿãþãþÀþÀþ¯þ¯þ³þ³þÏþÏþÿÿQÿQÿ°ÿ°ÿ||ÑÑ      ÓÓ||ªÿªÿMÿMÿ ÿ ÿéþéþéþéþÿÿ=ÿ=ÿ|ÿ|ÿ¹ÿ¹ÿéÿéÿëÿëÿ¹ÿ¹ÿvÿvÿ+ÿ+ÿâþâþ©þ©þˆþˆþˆþˆþ­þ­þõþõþZÿZÿÐÿÐÿEE©©ëëþþÝÝŽŽ—ÿ—ÿÿÿ²þ²þuþuþhþhþˆþˆþÉþÉþÿÿ]ÿ]ÿˆÿˆÿŠÿŠÿ`ÿ`ÿÿÿ°þ°þNþNþþþÙýÙýàýàýþþpþpþàþàþQÿQÿ±ÿ±ÿòÿòÿ ÕÿÕÿ’ÿ’ÿBÿBÿðþðþ¤þ¤þdþdþ1þ1þþþüýüýûýûýþþ8þ8þvþvþÅþÅþÿÿrÿrÿ¼ÿ¼ÿðÿðÿÿÿÿÿÝÿÝÿ©ÿ©ÿpÿpÿ=ÿ=ÿÿÿÿÿ ÿ ÿÿÿÿÿÿÿÿÿÕþÕþšþšþ[þ[þ&þ&þ þ þþþ<þ<þŒþŒþöþöþjÿjÿÕÿÕÿ))\\jjYYLISTINFODISPKbext[cart./chessx-1.3.2/data/sounds/woodthunk.wav000644 000765 000024 00000003536 12452032267 017717 0ustar00nistaff000000 000000 RIFFVWAVEfmt ïVïVdata1yyyzzyzzzzyzzyyyyzzzzyxyyz{{{|~€‚‚ƒ„‡Š”˜›Ÿ¥©«­®ª ’n\LA<Uo†—¢§§¡’{^;)*:t®ãÿÿÿÿÿÿÿÿÿÿÿý¶g(c›Êðÿÿÿÿÿÿÿÿÿÿÿüç϶š~gWQVfz‘¥²¹¼»¹·µ³²·ÃÓçÿÿÿÿÿÿÿÿÿÿéɬsU5$HpËõÿÿÿÿÿÿÿõÚÁ«˜†r]F,$6I[jwˆŒ’–œ¤­·ÀÄÅ¿³£|gTC4(*9K]o‚’¢°½ÆÊÉù¬¡•Š€wnga]YVSQQSW\bhov{}€€~{yxvxz|}|xpfYK>1&"'.5;BHMRV[^adfec^YQG>71+('),048=AFJNTZahntwxyxvtqmjgeca_\XTOKHFFIPZgu‚š¢§ªª§¢œ”Œ„}vqmieb`__`adhntz€…Š“•—˜™™™˜–“Œ†zuplhecaaacgmt|†‘œ¦¯´··µ°©¡˜‰‚zwuttvwy{ƒ‡Œ‘•™ž¢¦©¨¦£Ÿš”އ‚}xusrqqqrrsttvxz|€…‰Ž’–šœœ›™•‘Š‚yrkc]ZXWXZ^eks{ƒ‹’˜ž¢¤¤¥£¡š•‹†}zwtromlkjlosw}ƒŠ–šž¡¢ ž™”Œˆ„~ytokgca`__`cehlptw{~‚†ˆ‰‰ˆ…‚~yupmjfdegiknruxz|€€€~}{{{{z{|}~~€€~~}zxxwvuttssrrqpppqrtvwxxxwvtrrqqrsuw{|yz||{{zz{{{{|~}||||||}~€ƒ„…„ƒƒ‚‚€~||||{{{|}|zyywuromljklnqvz{ƒ†‡‰ŠŠŠ‹Šˆ†„‚€}{xusrqqpqruwy{}…‡ˆ‹ŒŒŽŽ‹Šˆ†„‚}zxwvuuvxxvwz{|ƒ…†††††……„„„ƒ‚‚ƒ„………„‚‚€~|{zyzzzz{}ƒ…ˆ‰‹ŒŽŒ‹‰ˆ†„ƒ€~|{zyxwwwwxyz{|}~€€~}|zywusrqpoopqrstttttssssrsstuuvvwvvvvuuvvwwxyyz{|}€€€€~~}|{zyxwvvvwxz|}€‚„†‡ˆŠŠ‹ŠŠ‡„}ytpmjiijloruwxzz{|}~~~~~~~}}||{zyyxvusrpoooopqrsttuuuuvwxyyyyyyxxwvvuuuuvwxyz{{{{zyxxwwwwxz{}‚„……†‡ˆŠ‹Œ‹ŒŒŒ‹Œ‹‰‰ˆ†…„„…‚~~}~~€‚‚‚‚ƒƒ‚‚‚‚‚€€~{{|}}~~~€‚‚„…†‡ˆˆ‰ˆˆˆˆ‡†…„ƒ‚€€€€€€€ƒ……†ˆˆˆˆˆ‡††…„‚€~€‚ƒ„„„ƒƒƒƒ‚‚‚‚‚‚‚‚‚‚ƒƒ„„„ƒƒƒƒ‚€€‚ƒƒ„„„„ƒƒ‚‚€€~}|{zyxwvvuuuvvwwwxxxyyxxxxxxxxxxxxxxwvutsrqqqqrrsuvy{~„†‰ŒŽŽŒŠˆ…‚{xusqonnnoqsvy}€ƒ†ˆŠ‹‹‹‰‡…ƒ~{xvtrpnmllkkkkkllmoprux{‚†ˆŠ‹‹Šˆ…‚~{xusqpopqruwy|‚„†‡‡‡†…„‚~~}}}}~~~~€€€‚‚‚€€€~}||{yxxwvvvvvwyz|~‚‚ƒ„„„„„ƒƒ‚€~|zxwuttttvx{}€ƒ…ˆ‰Š‹Œ‹‹Š‰ˆ‡…„ƒ‚‚‚‚‚‚‚‚‚‚€€€€‚ƒƒ„„„……†‡ˆ‡‡ˆˆ‡†…ƒ~}|yxxwuuvvvvwwxy{~ƒ…††……„‚|xvsrppprstvxy{|}~~~}}}|{||}~~ƒ„„„„…†„€€~}|||{zyyyyz|~‚„††‡‰ŠŠŠŠˆ‡‡†…„ƒ‚~}|||{{||||}~€‚„‡ˆ‰ŠŠŠŠ‰‡†„|yxvuttsrrsstuvwyzz|}~€€€€€~~}||||}~€‚‚ƒ„„„„ƒ‚€€€~~~€€€‚‚‚ƒƒƒ‚‚‚€~}}|{yyyxxwwvvwxxxz{{{|||}||}}}}~€€€~|zywwvvv./chessx-1.3.2/data/images/accept.png000644 000765 000024 00000110144 12452032267 017047 0ustar00nistaff000000 000000 ‰PNG  IHDR\r¨f pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF…IDATxÚìýy˜$×U&¿÷ވȽ–®êêUÝ’º[[kµdËh±ä¥ÙŒ ̃1;xàaøó ÃxXÃÀ°Ì3fÁàx¾1fð€1¶iÛÈ’­Í²vÉZ[Ý­ÞªªkÍ=#î=ß‘yãfDdduµÜ-Çí'Ÿ®Ê¬ÊÊŒ¼ç=ïyϹç0"B¾ò•¯¯ÏÅóK¯|å¯|å+€|å+_9ä+_ùÊ _ùÊWùÊW¾rÈW¾ò•@¾ò•¯ò•¯|å¯|å+€|å+_9ä+_ùÊ _ùÊWùÊW¾rÈW¾ò•@¾ò•¯ò•¯|å¯|å+€|å+_9ä+_ùÊ _ùÊWùÊW¾rÈW¾ò•@¾ò•¯ò•¯|å¯|å+€|å+_9ä+_ùÊ _ùÊWùÊW¾rÈW¾ò•@¾ò•¯ò•¯|å¯|å+€|å+_9ä+_ùXù%¸8×áÇÙÄÄ„åyWJq)¥3==}­ã8×Y–µ_q ç|›b†s>!„(sÎ œs›snàœsFD I)¥§”r¥”¥TSJ¹&¥<+¥<íyÞ±n·û|½^ªÛí¾R,]ιjµZ€ßh4¬×ëw]÷^g:ÔÎwE_†?399yS­VûÑjµzG©TÚmYVªÑgñöY <+dÙ£@ÿ> ”Rh6›¨×ë/¬­­ýC£Ñø€:´”ï’^wësŸûÜ%³³³ï®T*ï©V«7 …*ç<ÕØÓ¼þù¢üç#$HË,z½ÖÖÖVÖ×׿T¯×ÿ—ëº÷:tèD¾kr¸è×¾ð…ý[¶lùþjµúÏ*•Ê~Çqì4/?®ÑŸoƒßL&ár]õz½³¶¶öØúúúGºÝîß:tè•|åpÑ­ûî»oÿÔÔÔ×jµï­V«—Z–ÅÓ ~3ãýL¼ñ›±ÆÕ’þWJ¡^¯Ë•••§Ö××ÿßn·ûs Èà¢X_üâ÷NMMýpµZýçºá‡F·ÃÏjð¯ȺgFÿ(F ¥D£Ñð–——ŸZ__ÿ“Næ»,€ n}éK_š¨Õj?T«Õ~¼V«]iY–Åð7bô_kÚ¿`Øk <ÏC½^ï.--=\¯×ÿØuÝ¿=tèP#ßu9\ë±Ç{W­Vû¹Z­öæB¡P:Ã?_Æ?îç|>þÎF´½êÐu]¬®®®///ÿ}½^ÿà;ÞñŽûòÝ—À×l=ôÐCû'''¾V«½§\.O²ÀjâŒ}£C|­>ËÍxMYA(´ÛmZZZš_]]ý/ívûÿ=tèÐñ|7æðZ.þôÓOÿHµZýù‰‰‰+„B)5dèY¼þù£óqŸ«J5Êèk‰;)¾ù¯5©V ¬¯¯»gÏž}¨Ñhüî]wÝõ7ù¶Ì༯G}ôÊZ­öËÕjõ»ŠÅb9ÎÓo„öoŽ¡+I20v€À@Iÿgõi¿K`§àk&´û9Ƭþ×› ã„úÏöz=,--­®¬¬|°Ùlþñ¡C‡^ÍwiçÅë?÷Üsï)‹¿T«Õ®BˆP¤åõljñ³¼ÿ™…î`P\0ô@ª †ÜP`XÿwÉ¡cY€ãßX`E6€€ßV‚ƒ1qN€tž` 6p³Ùüõ·¼å-ŸË·k›¶ž~úéÇq~±Z­þ‹R©T w¸îñϧ×'R†Á{uÁУ6€€ë€Ü”lB¹ë o à5}PPê)P=)°ãw@ÜãˆÀD $Ê`¼ fMƒÛàVÌ*¨   b% ,Ø9AV6TÒâââÒêê꯷Ûí噂Îy=ûì³o.•Jï¯Õjo³,ËÖcýÄüÙ `àå‰z`è¡FMu04A^^oÔ=rÏÞ2˜»¦šà¬ κ`L‚1 .óÙ¸ôÍ’ôžÝ'áMˆlHYP(@©¯ö$`ςٳ`…í°œi0»¢2€ˆU@(úŒ¶>ðM8 `ŒA)…•••öÒÒÒÿ¯^¯ÿöÛßþöò]œÀØk~~^¬­­ý³b±øï*•Ê~Î9×)ÿfzþèg@d`ô]0´Z£@kðÚg!;Çîi°î<¸\ç-Þg=0A`ö0kLl¬i@L‚‰ €×^XàN@ßáƒõÕTP Z¼5@®€¼³ oð@JTJ9ª Ee(> *n ; Š{`•f6 °ˆM€à3 ¬à\ºÅ€Þ£ ^¯Ë¥¥¥/7ÓétîÍ[–åy:uªØl6®R©ü«b±¸¥/GuG¥ùFmòÁµ½½Qm@­‚a $WàµO@µ_Z'Á»ó¼Á[¼ Vœwvö.0g`ïÄ4b³ã°qŠùe¹ ¸'÷¨÷*¨wÔ;ã3U‚TexÞ¨4”v‚—/‡UÚ &¦6b“~¸€BËx0’˜_w»],..žX[[ûÅv»ýѼI#×K/½´1öïªÕê;ŽSÔ»íd¥þã>‘ˆw@ÕÁØ*8ÖÐkœ€j<j½ÑY€%Öa‰&˜%À‹{ÀJûÀ —Îe³Œ<á³e£$ñ—"dÅz/ÝW@—A— ¤ ’%x²ON@–æ€òeàÕ+P¨^…IÓ V¡Æœ>+È £Bð¾°Špqqq}eeå?4›Í:t¨žïòb× /¼pmÛ¿Y©TÞiÛv?Þóüi”?›¨'Ão©50,C¹óè­¿j¾¶~_…%ÖÁm ^¾¬tXñ*ÀÙ5°^û©žŸ D,…)0 wÔù*ÐyÔ|J”[‚GèÉ)ÐÄ%`Õ+àL··ØL"”ØAŠq¼ži¢`øùº@gii鿯¯¯àСC§óÝž@d9räÍœóT«Õ;8ç‘_xnÿ\ æ÷À¨ Fë`l^ë$ÜÕg@õ`wNÃk°D¼4V>V9®ˆ6EíicÔ?–°Ñ!@Ñ}Ô| h= Ꞇr 𨆞œ„WÚV»Öä5°+»A´Ä' p2gF€R*"®­­¹ËËËU¯×å­o}ë‘|×çìå—_~«eY¿].—oB0"Š5ú´.¼£7«Oõ¸Z£E¸íWá®>,?Ç›‡Í×!¬&Dõ2 rXåÀž‰ñö,øšRbüóð¹K¹ŸŒ?ü¬»45Ÿš/@ª¤WBONÂu¶[®‚=uìòfA|„’ŒÇ’náZ__WKKKßh4~ñ®»îz6€¯o`GŽù&˲~§T*]'„€éù³¦ù’7&ÁÏÛ·ÁÈ7|Ù9ŽîòÀÒÓ(x °Ù*,» ^¾ ˜xXõ €U‰§ôL3®4ª> S@€C6úW@ë­—!• é–УIôìmÀìµp¦¯‡UÞ ÂV€Oû©DX#Ó‡£Ò„!W£ÑÀÒÒÒçšÍæ/ÜqÇOäðuúÞ_yå•o¶,ëw‹Åâ5Y=þ(¡oXàëQ  ÞIt—ž„:ûœæI¬5XV ¼¼˜¼¬ö&Àª Œ—!›÷-OSÆû)N4 ëÀúേΠ(éÀsËèÊ)ôª;Áfo@qö&0{'À¶A¡ Æ ©BaÚÌ‚$6Ðl6±´´tO³ÙüÙ;î¸ãɾþŒÿ–eý§R©tmšáãù£ÆßcM0¹ ÎΠ½ô¼ùG`-¿‚’µËj@860õ&°©7…šá›ÆmŠ}¾F `j”Ý“ÀÚƒ Õ^Rà¹%´å4¼-—Cl»åÙ@ØŧTá×°‘×?kH€ÀçÆÏÞyçÏäðuòž=zçü÷K¥ÒÂ#¼!Ý?7ã§à0NŒÖÀinóº ÷'ŸAYœ…Ãë›Ø6ý @í†N ÊñMƒgi?c¾¬Yʨd5@PÁõÇ•@õçAÒ‚”6zª†¦Üì¾Åí·Ã._âÛ¡0ÆŠH«*---ý}³ÙüÙ;ï¼óå^çëØ±c7øÃR©t;x’ñÇÑþä84¨Ó§8-ãšóÀ;ù Š(Zk°E Lp°-w3·ö–àP]ðü\cl̸žmÔØÏsˆ@ aA¸ïó…•/gïy]ÙpemoÝÚnX»ßŒÊö7BÑŸ DB{dì“(58Ýh4äÒÒÒ_ÖëõÿÏÝwß}2€×é:}úôeÝn÷Ëåò·r‡¿Œ`8Ù:‚ÖÉ{ÁŽ?… ? Ç®ÃâPÚ 6û`êÖ°n`¼ 1±?âÕþ s+2BD$*«g¿jÏJÀ“6z²‚†šöÞ€ò®·@”/Ø(T6°1Ð…A"ÂÚÚZoiié¿·Z­ÿïÝwß½þõb_OãÁ«Nç—Ëåò7qέ0Õg}šÀO7%ˆ:>åÇI´—ŸFïè=p–_FÙZ…Í;àÌ«]ÌÞT® v;ó‚Ã4caI¶OcPƒs Œ?AiÎHF^;% ƒú÷“oÄØÒ=@ýXJs®zhi¡¹¶û²»QÞr-Û Â$€BP@”òÒµ†&°‡ÅBŽ”òG¤”§ü‡œ¼¾–}äÈ‘S*•~ɶíRœñ“ç\3 ˜: ÁN`ýÕû _~÷$Š¢[t¡À¶Ü̾(îÐû$¯Ï°Iª>¥{eJqâR°@`4:þ0 ?îÿþÓÀâ?Ë@JÀStÜ*šÅ]ûÞŒ‰Kî„Ä% > ÿl•IŒ»… ¥ÄâââêêêêOß~ûíÿ+€×ÇâGŽùþB¡ð‡…BaZ)Õ7þ8Hü¢*¿ëÇûX¹GQ?r8òLð³(ˆ6„åŸÌÃì­¾ñ;SqÓ°ñÇ…›{oÖÇgãlL"B @dôV}Xz¥”g¡ã•±®fÀÜ‚Úå‡ÀìKAlÀÊ¡e‰Ÿ[šÖ¸®‹………Wëõú{o¿ýö{r¸ÈßßÑ£Gß&„øãR©´ß¬í× }ô:€,ÆÏP£yxÍçÑxñ`¿ú4ªÖ V\ÈÀøß ̽°+1…¾°°'Mõ§>dø4Z„Ë.A²,áÅ&¤$"`À†Ü&°ð9àìƒþ‰ePÊBW–°îNA^z=ª¾VåJ€o¡–t0€pt:,,,<Ðjµ~äŽ;îx.€‹tÍÏÏ_Öétþg±X¼Û·ñdÏŸFý›ÇWúÖÁÕ)tVŸAó¹Ï ¸ðjÖ»ë7ß°˜y°ý_ÑæëõŽYºÒ¯ÿ½Q)<¢á8›FqY‹w²f†„Jò=7£ñ0F€PÔß1ÀkgKû—d èºEÔ½Itw^…êUߌÂÔAÛ …Z?CI¡€–ô–––þ¢Ûíþìí·ßþº_Ï"`©Ùlþ\©TºIã8…TeÙà>"œÕÁÕI´–Gë©¿GyùeÔì:lÞ' XLßl½¥Á®fÔÌ÷=9 Õ©i4íg)2=KG„¬€W™˜tVaˆÍb(%/ù×Rö€¥ÇÁ8y Þc“Ï ÑëBì¡4C`l'ˆ&À˜Q¾Mÿìõf"P©T¬^¯÷=½^ïq˜3€‹,îñŨ\.ÿmÛµPô3=¿Yþ›, ù•}œ5ÀÕ 4Aû©O¡²z Uk¶pÁ…,Lîv|PÚ6ðôfŒoÞOiôž ÇË@ò}qlà|èÀp%bb3£>0h¡A{8ý`í%@2@2(ÉàzêÞZ³{Qºî[PÙz ß„vjÁyjЬRbaaaq}}ýî¸ãŽÈàâ‰ûoB|¨X,^­Çý£ ~’ßùDcáËh=þIÔÖŽ£f¯Ã.8'ßøËsÀ®ojû”~ʦö›ê¸îñG>ÒÕ~Óà)ň“ =)ügHA;6BP8õ@kÑïª%\W .khÌìEùÆoCuë¡ø.&t˜(-PJ!‹;æçç¿Ðjµ~øÎ;ï|Ý (}Ý…®ëNø9Û¶H)#FŸDýÓÂ"/0þSh,>Šæ£ŸDmõ(ªvóÀ¡‚îV˜¹¨\æïÌmH¬c)Ô\¥‰fcü?Ž&0Šú§î\£3ˆýY– fvCoÎ40}Úïr"ÐÃ$ê/½€Uçï0{kܱ¡ØV 4Kfáÿœó~(011ñÆ^¯÷ÞÇÿæ¡C‡¼.œÅWWWß]*•¾ƒ1f™|“bÿ$ÑpƒÚþ8ûÄ'!^x“Væ‚ëÊ7'`êj`êßû‡P^SÔ?Ì—G ’Œÿ1\G(¨ 6A L LºÏc ßü^ÅÂÐsÆÔB˜á.ŠNêÇ€¥¯<ÐL8À=…w1ÅXxúI,+˜{c„þ°“¤Ì@RZ0ü¿R©8Ífó§<Ïû€{r¸p¼ÿ.Çqþ…mÛÕ$ê?*öx~¿ÐGàŸþ4ä_Á«£Èz:ÿfD˜¸2 ÕFמDKñ”Ü4ÜÐÛ+6r=HòúI,!ÍãÓ˜‚_œÑó”Ÿáz¨@ÉÏKB0ÿÚ¯ñkt!HŠp1ƒ:æ¿üeœ­NaæšwCÁ‚¢ Ä¥ÓX@x¿eY˜šššu]÷}<ðÀ#ßð ßÐÈàxëëë?T(Þ ¥diÇzGîQ`h«y¬ÝÇĬ\CÉîs5ì'öµK}ïÏ0º“n\®¿éíûßS`ô§ëSb½‚ŽRÀ CÐH՟ŃÃp3“°Ç¾gx鸳Iç#âp³¨^ê‹ÏF™ÊèaF®ãìÃ_Âzm;j»K`ÜŸN—HË~½@¡Pàårù[———¿ÀGrø ÇŽ»Ê²¬ïB”âŽ|fiÜÙ§þÔhÕç°þ•ÏbzeU» Á¤?U—i»Ÿq vy0vÛ086†'‹£ü¦‘+ h!„ÎhD¶#˜@¤ZòòÌyÀHÍø¹}À d-!Ž¥Ç…>µË¥çOFJA UôÐ[^ÀÚ#Ÿ…SÛg²ÅløƒMyêþˆcœsÔjµZ»Ý~ß¾ð…ÏÝu×]g.êØùb~ñ+++)åÙ¶½/mhg‡;ЍÐ*8N`é±O£xì8j¬ ›ÉAÁiqìÄ¥@eO ü+@7¨@0n¤©Ý”ñ½GÁMú7|ïjßËàq7¸yjp“ pUô>ó&GÜâ~.îyÜ”û{rð<5xOáëu)¸_{OR»NR»VÊøŸbnÕ½@åÒènÂ'À&Ô…óÂQ,?ñp:Fkð[´S,í€ðFD°mÕjõÛ¶¿ûðáõ ]Ì €¯­­]/„x7{Ô±Þôƒ!šà8ƒ…§>ùØSØÂZ(2 A1â +— Ÿó×Ó_É9îT¯ßËð{ $ÅýjD¬¯R^Ë(ÏO ´œEéöçV1š½¾°N> š¬€FDRf8P½Xy9ÂD$¾°…Z8ñÀãXœÝÙ«+P¬"œ Ø4 )ê_W*•b³Ùü!ÏóþÀ±œ¼öÞßQJýˆmÛ»Ó¦ö&QþÁMù3îÔ2óÏ õ•0ã5Pæ~•‹£ÀÎPÙPpí¦ ïñl·S¤y>Ò¼-ùÞÑÕxQI†w&íþ˜ç…Òîû:éfþ¼yóÈ`.Æßõta¼—¤ï¥Šþ e|¹Öá×ʯÃp&¢À£c)”˜‹¯Æ—¿„ÖÒs€ZÈ y 1™@ ¨Õj-Ëúž‹™\¬ €¯¯¯_gYÖ7‘çå³¥ý´~ò–=ŒÊéyÔ¬.¼ ;xa}HMy`•êozAœú‹Ká‘áÅ•v£˜ÿIÓ”–aÐYAZå\ZIpüE‰O™$-ÅÇ¢L ŸþÔ½>ú)»þµã1ÿ›ì"é,Áï·PÚ4ë‘@'6)LRÍ£§±üè§qÉ¡ÝðP‘Hl0.ê P, …Bá=J©¿¼XYÀE ­VËVJýsÇqvëc¼’R|ñŠ ú³˜œÇ³÷@>ö¦Y(_ôó=0ž³´5ˆ÷i¸–Y§^+ Óû,¤žŒ1|•@…“Œ;ÖpÎáX\6À…8ã–ÐýP4³‘Ð@‚”Ï4¼Få9/Ĉ¢à’_ 0C{àœÝs¶\1 ÅKý¬À¨ý£‹šp°Ûí~ÇáÇÿèСC”Àkàýççç¯äœ""+­±GºòïéäjÝÆ+h<ö fÝJ¶ jSô€0 (Íâ¢a/e6µY©ù~B>ÀPüM&•gñòfáÑFe½ð‡XÔ›+Š¿þux-•ÆâJŽÍ×£·úŸ ¹Ãï³/5ʘé5±üå/aâ’ë J“ÌcÅÔdI‚`±XtÇù.)å_8™Àù_Àw !öêì'ê –C ,>úYØ/¤èÁî{ÿÀk™ó)iÀšð 6BûM/ËQOéIÍØ‰ABh`~åÏÚñg$ýO0´¤ÃM¦¡Å•+¦õý磘p 4|¥5Ar·¡ðgì ¿ïbw1&ýÉ ØRa’zX}æU,^þyìø†íଠ‚ € ~iz€R ¶m£\.ßÒëõÞàùxž×Ñ£G÷rο‰ˆì¤B â„?"Pk¨ŸyíÇŸÀ¯‡ã×ãXfPìÂTTè ¾!ñLJRb`Ò“rðsžŒ¦ÛôÿõX\ZÌL1š¯I¥¤#GÝâ~^ÅüLÒß2ÓzÒH/&¥)•2Ò Ú5ôÄ˾8*{‘*L9Ì#•ÂŒì¢þðWÐ<û Ö@)‚ਊÒr¹\tçŸÜ{ï½³98ÏÞŸ1vçüª8u6kɯïý[`ê –»•Ó+¨ VHý)…jZµ þÇp3LÓÞª_È£´j¾p§ ]Ô“Õ£Kïi܉y¬˜þ3¡ÈJšx¨bôÌŠiåÒ`×FŸðäaåøYœ}ôsØûû@¨G†íĸ?nÏ…, X,ÞÞëõ®ÅEvFࢀW^yeŠ1öDT'æÒ¿ÃW+X=þ:?íª‡+0Ä(ëÊØØV9zðFìk‘4 [ÿÞŒõUŒ —tü7ݧñ?ññ˜ÌxLíÏ"b3Ñà¾Ðè#B ví™ñy°„×lW†¯«Y'¡|AÐQ3²‡£=ƒõëžAuû÷[‹ûØÂFh¡Ñ}W,·4›Íïº÷Þ{~Ë[ÞÒÊà<„+–e]KD7Åy÷´bŸh(àùÞŸ±ôØQ[^GYHX<3yB¬uÚ* Šv°“âye¿ÒbXEÃgþÇéò3ôý˜n|¤÷©n¢„7oj‘‘L»Æjptº¯hšvÊo8ÝóúyÉoнžLús†«¨-®céÑ{1ñÎk@˜î³€Q5zZ08#À …Â[]×Ý à¥\Øäµ¾¾.¤”ï°sT\–zÚ\@®aõøSè<þ"¦¥‹ÉÁfA ×ïgN´0E_÷ X´Âe–»j±¿þ³¤ý¯2Þââ~’Ùbý¤ø~èF1ß÷)éßb_ —ñ*9Ð>úï]jz^ %£:‰RÉ…IŠ~6ˆ† ì¨@„-²‡ÆCÏbýÌs€Zïk£<¾yçÅbñ*!ÄÛ>Ì.»ºhÀòòò%Œ±;‰ˆéyÿ4£^ Œuµˆ³O<€ÚJUKú£$tŠik_ D=ƒ @ìŸ0SxÍ燞ތûÇ¡ü4"-·ÑTß8%„?<î9ØÀ³3Pµk«÷0é¿®gjG!­¡Ð¯¡Ôê:È'–ª$QY¨ûlð›l 'Õ7¦°nYÖ7 …ÿ`)€Md*Žã\çyÞICMoo¦þBúUGké´Ÿ|ÛÉ…- áæ0h;×z÷ *Ìxàacñe@U°ûtª/u ÐÃH¥†û†]†S³Šˆ÷ÊŠ±G…3L Q ¯C"ZþpHõõICŒ¢ï‹´ÐÂì¦DL;O ½¬HŠ’Ç€+Å´÷î(`‹òpìágÑý†ã°&¶‚‚â =ÔLK †_[–…B¡ð&Ïóvä°‰ëÈ‘#çü[lÉÒ×/¾ÏŸCPgqö‰ûQ8µŠ*“°ù{ CÚ ¥«Ó”àaͳüdˆ¤ÅþO4` 4\ú›äu‹~kèl˜¤ „D À’ÈÔ°¨?ÆÙðûঈHÑ~‚Tö3K ®/„à¢0"¡ÜðÔ$Fþ—ª’°-cþÉ/aÏû 15Ô9(©y¨ùµã8»šÍæ·>|ø«‡’9lÂBìp³Ùê+®éG²(jÞêO>‹]ÒEA(p¥ÕúÇÅþºQ*x=@ØÉž4 \ê Œ_iàC¸2€©®1ƒ°„Ç…¢FO¦ ÇÒZÿC,$†…ÁUi™Èpüžz-r¦±hñƒß“A×!•ŸYjÀì8%©°E¹XøÊàw¬@±m ” ™ÎÅ<€ÞW(`Ûö[ŠÅâŸXÎ`ì¿P(\Ûív/Oòð&õ× _ÿH®aáÙ‡à>?I&a)¿: 2ˆûãâZeĤn×ÿ"iª–YÊ)^ ïSo¥TT'nãÕ7CçZÍ 0H ô¾„¤¢Æ©ô3À„ñÐШv>šHj¾ÁÈàoHÃÛ dXôh1WQ0r;PϺH­(Ág&ýº€)({üæŸû2f®ÜðŒñ¡ý”¤ ~Û0ÇqnQJmÏ`sè?BÜ-¥œÖ§ùê=m¨§“`èj+O?‰YÏE‘æÈýJCÊnd¯X…äs÷º7ï ~40|©ƒF5õ4ûïégöUЩˆ1 tv p ˜ÅÜâl¹ÿ7ôîÈ0­X§Ÿ2 5Pò)æMêÃSCÏ/@Üÿ›"øÛ¤±¥1‡n;÷ºŒk0ê÷,IÂ,yXzòQl½ê.(ÌÂ?hÊb[‰ëÿ›Ù¶½½ÕjÝyøðáç:¤r8‡eÛö¬Rê–Qt”úO²‰ÞÚi´ž9†]JÂÊgŸŠE=·bšòäþõMÔmùgˆSëõê>5 ý_p>é8p¢Èeÿ‘¯Cý‚ÉÀ[†ÞYbÃô?büJc$) „É Æ “Ï­‡zHÑO#jÿ«`ó=Ì5ÁÔÁg£°€„ ÞW¯=8\%õkƒëÏà(Âyxé+/Ãý¶y°Ò€W2í®¸0@q§ã8ÐÈ`ã‹•J¥K›Íæåæ‡8¯o†úïÔŸ}üä:ªLù'|G Û4SH @§ ”TT…Fœñcàá%AÌ Šh`\·_“"ÓÓfCgêC pƒ† ¦^×*’ ßõGù@C1ϯ‹›z›´ðy= Ÿ³Ð; [š.vL"`6€ˆµÐnõgFCƒÙõ¯ñ@ÿT$A_ÃâWÁö7쇤i¬þ…N›"¤ïE!lÛ¾¹R©Ôr8Gp]÷z)å\šÊ?Êû@­aí¹ç0-=ë]wcÊE# @€3 ×ô [Ou…ÔR±nXÓï§¾§Ç¨.¦„l2¢ŽÇÜH^šcèl3a`üaaŽÎFd …T™Ï¯†µ‘~”x}ÃxÌ’j.#t T€°í#<{Á¯±Ó4ú/ÏÌÊKÅ4À¦þIÁ2¶(‰å§ŸÆŽ7¬ûûfDM@Òž´,ë2Ïóö8ÀÆãDz¬7+¥!ĘC=ñ?d^kͯžÄ%D°aèèw¿$WÛ@2ŒiP¦Úi{1Ý4~¿¢Á{Áóz§šÛ ڱϷÏÙ@1 ¡RNñmlñ0ÿ x§Þw¼œ#„ñ5){LËE*ú4€’#Xˆ™–*ðÈF¡¾2ž[iïeÜg¬6DÌ„f‚#R}Ôm¥Ö,Z|$Vxò 0hZI¼ðØ1¨ï[³ºPÁ™ð´ãÁf· à€P¡ÙlÞ~øðá.ä)B2°‰‰‰ÙV«uåx?zðAñÏÙž\Gý7…;ºÎ ô4“Щû7»Mgéq?饬40rW3€&¶ƒ®} èŠ7€_uó(Í>Êmæ_…÷è½ÀÓ÷‚Ï·”{ =µÒ´¾0§éÁkò¾ûý“[14²›ù×Ö]]ÿèûaYÚÄo.žÛ½ðk»ú¡_jÓCãÈ(ø£üë¹=¸'¾ŠÊÂX¨R`üL^hÕƒëÏ¢íÓÍsz€0–ªŠà_ÅÙŸÂìÕ—aÒ%4ót–e½¡Z­‚wÀ¸P,wÔëõ]ãÓþ`Ì©VžÓä¡S1ýù†ª1<“t¶³ Ò*ù ©úºñKÍøµÿinðOØ{•ï96pø¶KÀ¿åûAßü}_ý zŸøŸ°æ_ôÃþ>[3Ð+õÆ'r`¤rvÄÜîøkNi—Ðh)ÔJ€CMWaV€¢ánü.V€úÉ÷ƒ]qCâß%%:šÇ¾ ~ïG`ÁC±ÀúóFüÌ@ +4×| Ãì hXcŒÂ+ÿg™"”°…),?û$¶^ý.ˆ cï¿ 2ð`©T*hæ°Õn·¯ðX±›GÖï“RB)Õ¿ ´ V=çBˆ~3Ô¤&–LT¾ÿÿA³2ú쟢PÊÆ3©zpÓ(öu\ò´kcÖN„bŸë_ùöï{פ>¯Rʧý'cýåîYLÔ€’6ZÐ×cT Î4–õýzö7ÎÈuáW€30åï“iFX{åæ®oð†ªþF¥ÃÏ˲¬+wïÞ]ÐÊ` f›ñÍ ¯@ª¨ÜùUT¸OÿùPélL~XQ´L <ÑÖ\ì²x2ªöwô8ÜÿUX[wÁ¬dÔ½l(xµÛmÔ¼Ýû?väYˆ^–ë®ÔöKÁnxŠw}3JÛ¶£T*ÁqpÎcû @õÇõ_ûAˆîغhg@Hš4Ö‘¤ ‡_+cŠÁuPoÞ÷«±ž_g=Ýnë§Obåwÿ-*ë'0YÊ F¬ú60`}yÐ 4©™ª>€EŸyžŠ1*D8ñê2:`ð HŽLÐÆíMÎùn¥T)ÆÏ\®”š°,kµÿ~€TÝÆ ÜÅ&ŠD¾ñÇVÏ¥¢ƒÑÖúQÜpº \êË€U •`¾]”ú»oxÄ5oJ,"‚çyhµZX{îiÔÿ샰O¼„‰2P´BÙ¯uaÍ–­#p¿pí{þ/ÖßöðÞùݨLM‡õç±LÀªN ðã¿æïýjP~v@?L¤çê3-ÿämvò°hJ . ö^ úéß"°Cã¯/,`å·~åÕ£˜ _? H Ï/tÖ}ïoVšŸ)’ñþû)_ÿ¨0¡L€»Ð@¯±”{A¥cö¬LrBˆ©µµµ½¸@‡†\°â„çy{“ 7}Þ_འÕAóôq8ES ËYvæ¥Ñ[JÊ`#z= ¾8è[ç ”%* o_jºRJ‰V«…¥{þõ_ÿW¨ž~['fj ÓU…ZM¡RU(Êe…rI¡ZQ˜¬*l-´0ó¹ ÷G¿‚ÆÒY¸®Û§Ôq!Siÿ5èÞðMèvH½aÌÈ„¸Ø(üa¶=5wè_ÿX±˜ÆòÐëõP_XÀòoþŠ‹G0UT¨,+(Ï Ëô`xn°2zn˜±¿2ʽ¹áõ͹ŽÜgF°Ú.‹¯‚³.’ Hc¦B&¥¼4ÏŒ·J¡—^I:Ÿmý­@ÔEëì”ÁfƒS²ý˜H8 Í¤cFú´N3fÙXÖÏ“}·î7þxm*‘B‡´éžÃèüñÄdÁÅìa²F(• V‰Àò+m ÁÍñï%‚S!T«„­'žþàÑX[ëƒ@ÒF-Ç¢ÞaðzZ3MÒšj±uZ ’H+{'ûºÁÿ=ÿFµPÿúÁªµä4bðþ×ÏžÅÒ~ÅÓ/bKP-,‹À¬ ÎïåÑP­± 4VÙi0˜ð Œ9ÙÈ #×÷ßs€pP¡yú@þNÛ{qì+(aß›Àx«&¥œN¢Î£t€€CÔEou EP´wF¤©‹«0ãÂ~ €–?‹´ÙÚRpÍÿ^‰ pÛ·%z"‚ëºhœ<Ö‡þ35…JYÁr˜£€ðfk·ð>Ë¿ñ‚B¡¤°eþy¨¿þèõz±, üº°uzWÝŽ^'`z PgƵ¾Þ Ùƒ§y~WÊ¿üŸÁ·nKõüÝnåeœý_Fáø³˜ª*Tàý[ʯðãj¸«Á?öÛXÑ­Äé81ÍQÃPOÏ‚˜!apg~ö¡uvŒ¹`L¦¦þÒzrÎwç0Þ*K)kYŠâF8‡E@$»è­®¢À†›çô §h;aKªÈ$_£µÐnkgûyp÷Êo/–=¨”½^ËúŸQv×1YU(•xhè"0òðó>{ÌV°‹ S_úk´žžçõÿŽžF ½Sñm߉VOAÊà |x ÑM)¿?¦¡ÿ}À©‰ ~¤€Ròßügð]{c>|ïÝnë++XüÿÅ£OaKE¡VV°lÍø¡ÐWmu}ÈþÚ-D¹*SÔ¤(íׇ"æk r·ºË+~7)’CžU fŒÍå0~P¥O”T3„ÎA0w¥Á(zr.²´±m§)š2ôô¹€KX[–—©à^wÌÖåúkTJ¡þÜ3 ‡ïÃDÅñ¹­»m€Ðî³[A …Ï4¢ÄgùÚ[в+p=Íp™¦5:Æ%D‡)À¿ð{àûÆ~f‘˜u‹¿õïà¼ð_ë()Ø– ½>©hÃPÒ˜WcÙ/üÙÜÄÐlöýÏ–?¬XÌ/Aí-5ï¯Fî»”Z™Æ¥TeTº/MTJ”ÙìÀaÚæzÃÌ4A(|œb‡â †WÎ#`u X¯ƒ®¸q(æÕožç¡þÙ¿C¥ä {Va@ëÁµ›ä¨EØ“†/´Ÿ·|&Pùê½è-- y~ýÆ…€<ðÆ(!¤Á)¾8ïß/ráÌo´²Î ÿåoƒ]wkäwBãWJõ=c} ‹¿ýïá<ù ¶”ã/ƾ¡‚V`ÚÈpF@»ÔW’g$ökbŒÞž|€#ôÖÚ~CJÏù'íËàû©Æ[¥Ty”'Š»ða @xX¶z~îÑöx‘wÛb‹E¯ÓÚὊ®Û…ëL€×¦R7ˆ”Þã TT(8šçãA…À÷d ?h‰4ÀÐØ€#z`OÞ )“ãUƬˮAOa€^’c\Æ„àšñ+¨ù%°[ßI™_J‰V£…ßûMX܇-e…‰’‚c+0n¼ÿ0§ß_ºßûË^Ôàu† 4ŸöÙ23Ì‹>f‹l^£ Àņi!v-€ñ–MD¥¤,@œ²ÇÙÿò;~SEÂd™àئ¿w® Õû º^Pïߎzl„™ð=q ñc==œòŒа'‰l÷Àh0kÌÔCbâý¸û**X0ãZ|gŸLPÒ¹gàŒ†kú´€b¨¢91G7~6|h(l«·ux°áã^«R í瞆m©¾mG»øí¯C#àáß^«Rƒc¾rðö©gᦤÀÞ~ žtè6D°Q›[ Ö7ýØ»~"IøŠ¤$9y¶Ât(ØÁ¥#VZ2ò«,›«@»3!Å¥QÌýC€ÌPE'—ÞâõÂø_e´Ë.ØJÀ ™ØI‚K–€Â ä'“ @Lá/Tþ“(cØ›(šI˜€œÝ•š""ô޾[([Kw…ÿ÷ÓT4èX Š‘69Whá‚–6+®…òÜÔë%ª“ðìRr&€’75c Œ3Ôîz' ?ú«©›_#¹eaû¿þ5›C0å{U„BûûaÓ(ÿtecÙ¯øã†èG)ô¾_îœ ì²˜ßí3ˆÁžà¿È)ƒî”ÄJƒkæä0ÞDdcø¦ñ÷…^R‘0’÷O7M)ó4hc𱧍:Ù¦ §”‚\ž‡mQÀJê “N‡ip.ìî,ñà÷Å€¾sáêË©B AMÏ@² ¥§Sð˜À4fgjÛþŸßÚðJ)xž×u#EIáçRºâjзÿstÃT¢ÔŠŠ u)fTh­Ýzò¨BJÙÅÂ0nùâ=ú¸ $œ¼‘ýx3í 8‰QèšÖ(#d¤4z/F»V:èùhÃkW“J•TZ¬Ù€` ÜÒ…/-%ǵä6§¨@zIFQö|Í„Zk©—1*ø×ÃÒ[–’Y!lÄE_Ý>Œ÷?TÎ1ù?õ™KГ1âck{Àø×ýë 4Ý1Þœ>1阙Œ¹±”=·>{‘À˜ ŽRfM~ˆ >,éñ?OÈ ÃgÂñT¡À†=’r ñWó†ª×ã Ö ŸF1z ˜:„† É‘å¼T*‚¸Qs<Ålr½OAhô½^/bøác©iH§çg~ —ÁÓ+Ú‚nh-ÝF”ïÇqµg#BÝxÂÏp€ó¬šSr¸ºY­ß¾ž0ÆKnd&˜_ÈÇc¼Oð&(b1›‰Å_I‘-6dÇŸK ‡qÿÇ©ôB{ŒÇÜoùà4êÀ¸‚²Ð~ØÁÍIžRü¸óays»ÝŽ”$›†À9Gåº[оûŸ¡ÓÓÎÈ ÏßZõg/@Ó> ‚÷§’)|"ÝIȘú7Ù1f l¸/Å&ìå¯7¨b#:ÀàÐ s‹)Èc˜‚¾yDÌýZŒ©zÝÑñ·ç‚È®¦C‚Ljd2ðôrðs\óâL¥‰Xªy :F‚0Þ¥‘,Ƽ¿×ë¡Ñh`þSÿ õ¥…HI²ùùqÎ1ùƒ?õÊôº p]_éo¬ú_S_ ktÃ$ïãXpDO‚&¤ %¸Ã±»7ß·—ÀxËÐ3óû£B€èãþ'Í«?fˆÞÇ5†ÐSD06o ª°¹62fÕ xë«P½ö°·‡NÇÃû•Á T´nÚï[T·¤£«ò;vðàtaŸ„§ÙxÝu]4›Mœýû?Gï£@óÿNg¨ I/²ª5X?ùh4ÚðÖWVÃèÕ'£áQD˜ Þ»ùÙèሉù“þÇpÐïW°@ÄûÝÔGï»Ø½ÚË`|hgI±$S?/Ù`ƒ¿‘[/ bÑQÓ‰çâ4ôóðlu~ÈSš¯ÛÚ¾žÛÚkþŒ¯7ˆãyOd2˜ï'5=@B»_¯ß<¹W™³œT/®”ÕOAX \O#Ï3R?О+4þ¥üä'þÓ…ÙÇ>ŠÖñ†2æçV¾ñ64ßðN´Ýþ[L.@€ë¡€!ÆòÙ¤é4Ì´Ï»_^Qº§01VêÏ„Nã@k”Êš”`Á‡¥ÀaÕ >`Æ{3FÖ³‘\²yÅØ RÍô4øâ‰ÄÃ8!(¸Ö?P(•?m¸³¸MË©`Ós9PæEhž?é(…È™y?–öf.‹DŠëÃç®S]ÿ̽YQ(Ò¦‚F¯}ØÍhéK ïÿþ6¶Lf& SåÊŸþ½! ¥Œ¼Î9jïû ¬•¶£ëFÓ©}ºÏ´žìœ¢U›~ÂØƒ†hÖ'.-¨÷€0„³ 9ƒÇ9ì‰""¨~䙲O1̵™Àx«Çk ÅôÀàqÀ¯á2Öï‘xBŒ³øƒ#‘t‘.ʱáyv°ç_RÂÍ3ú¥«oBWýcø~- Óºk€×d×7tá¬Ô¿÷|ᤠM?À 3ÐÝy}äÔdœšß:ý¬‚‘Ùš÷2quI1ÿÒƒŸ„ûñ÷cªìa&è^dY Óg¾„îã‡û‚`ø»®ëF®…=5ö¿‡FÛo¬iìÁ ¿WNÑÝËXŒªOÑv_:ð+0Î~\Æ`ÕÊPJŒ±ïb¢žÀ˜À9¯¢úi Ø“¸` ¦ñ¼8Á(¤„‚%«Çýä0‹—„£¬m |úÉDê~m•+ ëïBÏ3zVHð@o ðÖÕõÁ!¤üðr£@dÒxûnœExõqX%‚(hê¿=`£¨èùWû,ºÿULW$f§åšß­6Á„©{þšëk}Ó„fÃÑÚ[¾ 7|;:]í,Rdh¨Ôj#hPÕŸè‘âc ¢`ô):b]{ŒƒËœé À-xÆF4±¯å0Þê2ÆVÓ¦âŒcÀ¡È†39‰cýA¿C¸BlAÏ@ÐŒ-rR ë°½äËOE¨¯ Nœs”¿õÑéž‹ènP®Ÿï.j PM@uàwáÔ¼¡ŠÒ¸Ó»Àvß9¹{ñÄÃ(¬¢Ñe(dl4õ_{æ^t?þK˜.v1;¥P™Te¿?J ¬ØC­þÔçÿ+:N$, Y@( rÎQûéßÅ›‚^­Kq?ŠÔH 0ÔÚ Qpj ´nCÚý—{rDVÿI²ˆ€1û5 6.!V’Ôÿ´1MƒSoàœ©iôï‘õ\; ïÀ_Bž i¥ãߘ ˆGGòå¡áé¤öÆ·£Q»Ä}õé5JÛŒ$ýp½:à6·ã3h=ühhßðÑÎÀqž»ÓXÎ<‚b‘ lŠ–‡:¥ Ýõ%4?öó˜,u0;K¨LD…Çœ oÀ*u0÷ø£yêºÝnlX.gfÔ{õ–?_ex`k(ŽjYhwç¸LKÐâX€®•p Ç9 [fApüL@Êa´$üÎÙÆ „Ki‚KÅ÷?0æ 05ƒ.çðÀ† }Ì3å‘OT;%^¥þI½à&¸hÜÑ@@Õg÷7|œÈ9‡](¢ôc¿f'ˆ}âϸ³@ ”. Û@¯á³Õñ™Bôf¯ÝðýýçO㙞»ñÂ?¢ètP(!€¥Ñÿ~0Bì5Q´:˜ª*5Âî¼ ð Ú@ÁŠ”€’ÓBùs¿5$zžI 2Æ0ñÍßúÕï@× BÿHíìµ^D% ÀpËw– ð±7w †6ã(mÝ"'‚&q¡]`ŒÎ`L`ÛöÙÌí¿Œ\søÖˆŠ(Ìì„[²Ñ ‰  §ý õ ¤èÑ‘?<›Ïù@<´ƒ«iÕ³OÃ}ñ±!-Àó¼[™¼íèÞö´:ƒÚ—ÈM?h™açúl ×:utÑyÇïÛžQ™DØ‘§ýôGQ¬(8Å ÿž5܃0‹È©…B¡ËjV°£/@XPDØzæSè>ÿÅ!A°×ëE>;Î9Ê?ýXEnÆ8ohÙS(0 ~HàE¼®É8hR €.¼²ÒÌ.Ÿ€'ö£HÛŸÁûÊ`ÌÕ)‹ó䯱² ã·a&Á·TÐc¼ßV.bà@lMÿP¸@aº‰kʳƬàf¢”¾ðáX ¥ŒÌø›þ‰?DãÀ;Ð „ÿˆñ¢'õžwáÏ€¡óÿbûu‘yfS×uQ?ö8ìå‡P©(XEÃó÷$zk'ƒ€ Œ)ߨ-ø†ÞŠ0£àT€é/ý:Zzõ&%!p·_ï{þ=šn Hôô¨¦ÍPLa  Ç¿µLBðó@ÌVá”§ Èƨꨔ,Ù¶ýJc@­V[°2jBn’ ؘÅŠ°¶M£ Þ03däægÛ§”zΟycîkŒz›ž9ÀÌWÿí—Ÿòz¡²Q¬`òç?†úM?€vÏwîæ°ÎHÓK->¦Â4:ßù@¿7ÒƒÀuÝÈ5ëõzh6›¨?ð;(›(›°DÃÕY@`MM€µ ”YÎÌÍà( @ \0í=úòŸ÷Cýµ™quí?‚µÝoF7`û‘!]€Š™6Ïc¤p±xkð‡ùôßÙ9 EÿOÜoi!clerròXã­¶¢Á;™DAã(˜¾‘üÆ6 (lߊ6ãœ%ŸüŠë#žìo² m,`³xh À)*Lþͯ¡Ñhô Rg:X…&~ìBþôa4æÞOgahàiÀ ªpoùYô~ü9°}ßÜ÷üºÂ®ÿ­n·‹Õg?‰ÂÚQ›ò'™±¢a´ö@ÈY Ì›p´ßÐÒnÎ „Ì=ýGh/Ÿºa( QfÞ÷‡X÷Šðô¨ã«ñspˆ”Vðùõ›©²øŒ€ A8à1†6ç(îÜbÅÁP$÷¤LL'9çlðBmT ´„'¤”×%‰}i™? ° Q@inÖÁáö[÷`¸›,‹9õÇS`²_Iôïã^d|8cÀÌÙ/cýó‚桟@µZE8ç0Ü0®ëÂqœþë.^uØÕ÷C­‡ûÄÿ[{¼{¬½ ¶õ P¡ \úV°Kßp;è2hº©ÇÔáßèv»X[<ùØ¿ÇôP›¬¢á)õÑç ‘]l¼Ëül К”Ä˜~†ûNºÂÖQøÒDç[¶mG*õÐ »÷cý]¿ˆÖ§þ=jVШ³aAP`±Œbªú4§Âÿ)ÚÁ©¯ïh:‚ò €Ä1³c7%(%üVŒ,[ ‡œóãJ)7€1c¬iYÖ«a:-œ~kÒ®8a&Ìpfã2Ê;.Åòd zUå7×¥‰ A<Ì’»YŒ£ ë‹-Ì­§ÈóZvÝÿŸptnpÃÛQ.—á8Nä5w»]8ޱe/¬·ý›ÄM|ÑgCºÖ ÷àït:X_[Fãó?…)g S[ïoax*²y&µêÍg,ŒýÍk2>(]@Á—¶ù?8vü=(x3ŠÅb"È0ÆPý¶ÕÇÿ/œµ'PdZÚ¿ H{aufDÜE¸Ñû/<ª½w  Ã܉ª»øñ K®HÒ¨´Fª¯Ø¶ÝÍC€1€¢^(Ž§Î¨‘ 0+À*ÏBìÚ‚8$‚²`°hÚ FM@œ‚, a‰3- ¢tºàïRÉÅÎÏü+4ŸùšÍ&z½^DøbŒÁu]t:þZ“ÑĵÚ ¿Ûíå§¥”h·ÛX_]Âú?þ,jò)Ìl*UÀ*ïC§ê"Jág‘¿k¾¦<Ã̇eС…úc PT˜zè×ÐjµúµI‡[6Ä{ iûçiõz³×þ^l®ŸFîzàCö%3p*3TÀR3i{”sþb¡Pps÷…qÞ¬V«/Q;í,zÒô PäVUàìÞŽlÄUˆó|zåÓÜ]_$ ÂKø›ÐÄÔ¼Ôìu\ò‰ŸDû‹õõõXc±v»Ýoªáy^_/Ûnu»]4›M´Ûí¡ã¶aP¯×±²xõÏÿjÝ{0»˜¨vE‹õ­ |, CÓß§ÐA…ù­Ì-> 6À*À–îã Gÿl(KêÅK¯Cã-?Ž ¢ ®1€~ Pk¶ûNRýͳÿæ™0´¸@aÏHTVè €qleDß„v©Tz²T*å°Õš˜˜8Ë9y”çO:ÐY¥]—b  9jºóêD{èB±I,ÀæCLÀ*Õª‹=¿ò3¿…Õå%Ôëõè›+°J’þß±Oæ@aÛ¿ˆ…goD·kŒ_4cîÀ…ß«ÏâZ1¿YÙ×oLýIª3ºœcUÙ¨ìÝ…j¿(Íó›Êxƒ_ÍúÐÖ­[»9l4kµÚ™ùùù#Dtp”÷›×·xnÕ½× ±ý‹h-tQêýO 8†•ÆN—a­"ð|aˆà'ì¢ Ã BeGùêüõz‹Ï¡}êCè* §iUÑ«ìöª×ï·’åx¡¶Å2à8€m–ƒÁô¡îÇÆ‰˜þô¡h¦cÖý Ê èb0•;4Doø…"`‡u¡:ǹÿƤö„ýÞ,zqÀ }?Ù{öÚ+h7‚:‡ÿà ~(Å,>@°ÁD`ýTŸVŽvÓB4Å€–âð¶O`âòk¡X ¤„Å3̾玖u´€³çšw ÐofÒ¿8*LúùCÿ=Ø ¨Y@Y?‘Ç¢µBO2!Æûg| ÏÙsc€§Š\_   TªõãÑÒpØ2Ð_…v¹QÀ ÃOòú kÜ‚s`7Di’•#€£â3K%„xšˆ–b^EãÔ‹ÅåB¡ðd£Ñøn3ˆ9v9”ôi´f!å$J—^‰Õ/?.sáÁ Û‡)ž? ×—÷CåÅ D(ExF€˜Ö|TÆ×­vi›ÙѨ;!5œAÆq¨b<~¿j.¤äFNŒ‚%±A÷ÝÀ›÷7qû O)†Šþ¡´æ‹LÁƒ@ÿñq¿n"臀<=Ægþkæ<`l8á!BôRz¦ ê0$1´Á±ÂlLï;bS+ö{KŽ“þ @ñÈÄÄÄÚn_t0ëÓÓÓO8™ÖŸ>N¤tà`¼IL\zpÙV¬“€Gá±FƒÙ„ø±T‘vbZ °àA *tÛa€=h"¢çÏõïhs^Ÿ9ZêÍ,~1ã}=5Écºf’>™ ¼©uão˜T¸Ð:$ñá £N¢ÿ³bpMÌç׋‰ ˆ°òÓ”b0"½?. ˜€yê/Ö¥°H­GØt¨v`“—^âý꿤JÅ´™ NV«Õ‡&&&Ü Þ¾.t Y*•–8çO(¥v… D[3HÊa£ÇJpÕ$ û`ù•3˜‚[)¨@zÞØôtºõGæ P4Æ»êö¡f4è!¨ãÐmS¯f 7³£Cˆ„¬gZ±×'-`‚xÐjlI ø‘PzÒ>Ÿ_cÎ×€Ø@#`Aìø¢ â¾6 ƒi˺²/ãöü*ЀcÀæXKDUs,xX2 †.V˜ÂþðØ+™ÔÝëk õI˲N]Èùÿ‹†h—ËåÅB¡ð„®²f© ÔA€s.ÊðØjûnD{n -nùZQ(u«¯W¤ëLÜ fô `¯ïLøÁ;·ò"ÐôòZsd5ñô¡·eás[¾‘±à‡×ä{=æÜŸyÈ¿/Ɔ ¡)¾_¿Ph¢\B«íèsy<+x½áu°,ÿ>+` –°† ¥ÁõëÈ5–0.° ³(¢OzÌB{n“ÞŦVÚ€gÏûÇÐÿ… =þ¿À¶íµéééZ­Ö1"Úkž¯7‘:©8ˆq…*Duì{±¼´‚°´X2íàWRö lOjú0 ÄÚ¡aõçò áeÈŒ)@\WÑu‘M£ïÐ L|%ÃÛë`Õ÷þÚàÓ¾N€á„»sëL+ˆ2 0ôþzšT“ÿûgû1híö8 5þoþÍ@kàÚçE>ñ†sœÐŸ £kÄà‚c6œ«.‡3¹¯à©SïÍ}qÕ úá %§ýˆE[L¤ Že8/Ciî*€M‚q;Qü‹ÛkÆ^T–eÝ·mÛ¶“ý¿˜œóúôôôcŒ±§ã¨W ÁKp1Êþ›°6YCƒü®ÁƒïõÑ’ZÒR‚zLÝg4 ¾Ù!ŽEr`¼…™«¾€ÕOýÅÅÿq1¿~ãœ?T«Õžл˜ êb 533s¦T*}^)Õ ÏÄ'¤cÓ‚aF¢—mEíŠÛÑÝ» k̆ bAa¾ŠñNúN2Eož°¡)Ë» ½hð‡”F™#FÄ¢†%5ã53KvÍ›9ˆ$îgXè&8*ã=„¬DÅÐ}F±Ñ®;ŽUq$ýˆKphÔ?Lûõ.ÛŽ‰«î€‡­`¼ÎíX‡‘–ö û1(¥ZŽãÞ½{÷‰ŒŸv\@këÖ­ø²‰Ê£úêÃ(…ðOÐ(VJ»a_yD %à)M”lx:écõ42„¿j7®Lñao©­g¨÷d¡$yà$¦ø»lØðÍ&žs¨‹«aŠnP0Ô8$"¬Š˜ë*ÿÌÌàèjë—9x hÀ"/Á¹æF°ÒnÀšãNÐ<†Å~ZÑO þ=299ùÅÀûçpžY@cnnît¡PøŒRª­wÆ1iY Ð'ôZ–?µÂÃ,jn܇%rÐSD,F-‰ÏÊ@ÓCé5ª«cPZì­‡º§ö4O+ 1…Ll’ =ñqí9”©-hÀ£‡úd£ðwÃ#”"FÂ%µñ"-¾;¸¤=/COqœ%tÃ~Lø(¶Œ—‡òþ&˜ûJßsDÔvçÓ»wï>Š‹$÷1ô8ç¹¹¹{<•&ÆiÑ´ ÷{ò*\lCùª[±¾}+Ö” —¸_"ÙÔdx5Ä×qÂKñüqWù âv ªáLAÍdÊÈÄBhÐi7= ¨< ßcñÌA鯋<³‚Qˆte ZqºözI\âXƒõí3¨^}<¶ °&ŒéÓ~âh¿ádžžššúŒeY­‹Íû_¬@ZÛ¶m;í8ÎßéZ@8r*)$гŒ1X–˲Á˜¦`o¹ÖU7`^”ÑT<ÅýÔ Ò©=%PúþÆi77÷Y"z*Žž¥¿Î„–âô°WÝyí~,ƒ®~'«P5— ±± dx¯È)¹„4 Åc¡gÓÕxɆXêiŒAÆxü$êo>&µß‘ÆMÅ„$J¢0l‘Æó"†¦#E—0KžMÝÃde¡ñ¯‰‚6]%°@è†+0yÕ|`åXá/í¸¯fxjzzú“…B¡~1¥þ.vW{ÇŽg …Â_K)›YÓ‚¦&àk6¸p@|]ì@åš;ÑØ³Kd£ †B2<[RÝ9’Ué!#€–¢‹èZJNiq¹‹‡_» „¾Éð1ëF¹ÏˆçeŒÁ›7]“ Ò©¿bÉb¤!޲½B!þZH’@Wq,‘æÞ]¨\}'z´ “Vq(í§ø'í+)e³P(||çÎeì±€ X@}ÇŽŸeŒ=ÐHÓ’Á°6ÌdÓW¹æV,MLcMÚA(Vä…†EQc• }m¦‰g&èÞÕcÑ8[!€A«-…l!€2ŒÝ|_¦Ðç1 øàuCÏ"Ä0b }L &!Ù@,ÕAÙ ¨¿<âXS–&¦Q¼öVðÉ+ øpQêÿ‘°õy\õ_‚á‡#Þž™™ùd±Xl\¬ÞÿbgÐÞ¹sçB±XüK¥Ô²˜,@ztã÷Y€!lŠèÑ Š»o¿îFÌó2ʆçi¡€gÆÄ j>7„3ãí)A•GLf N@Ói·Ò ³Æÿ*ÆÐ)B¡pHdQAŽ ‘.)›ÑEXòÏèÏ% q2`8¤O24¤÷‹ëoDé’7Âïø£8O¤þá^‰ -ƒÛr¡PøèÞ½{_½˜½ÿÅ @@ëòË/ÿGÎù§¤”^V`Öø¢  a@|.Û‰ÚUwC^w5NSMðZ9 Ó¤yKtóTF\ à £p]0™@$=g wzÚNc-I5*á¾è¡‚fôž,úÉB¥åûÁbÎ t>I ƒ´PHj©RúãÓ‰|ão*Óªuã5˜8øvti˜˜8‰Ô?ƒ÷÷8çŸÞ³gϧ´.fï\$ AF€@sjjÊ©T*[__¿[J¹+2ÈÒý’DŸPTÊò7€œ@;Q¹öíh´ZXxá%ì JPÀ¬`ÓA›DÓï¢ …R²Àe2Žá¢˜ÈSPtœ¹Þž‘–ØÑ8RÅÜ/oØú¬¸Sy# ’Xôýê5}ÆCBa’ Òcèx ª„ÎUû0yí!th; ¦ÀEÁ/Ñç/Žòk!æ|­VûèìììÒÅîý_!àW_µ8ð˜eYb–'œÛNÏ „z¦¡ —¡tÝÝX¿t7¨„Žâ’BÏêpµÔ`¸!¥æ Í5” ÄéñŒEk(†ë¹~“úË1of`>ÿõ“qŒ:!ÞõTÕׯUø:Ü î—ZܼVòãW TB}ßT®¤s)ÀgÁE±ïùÓ¨ÒžÑÒ~Ú·oßCû¤.´`©TjÍÍÍ}‚ˆˆAíHu`ZV@ÔÀx ››¸¥ïÂêÎXôŠèº¤ƒ€ h¨ÔÄ)݈"Æ‘ßm Í[’Ö¼_ZKÉ©=eT¦¥Íb ówbSˆºñóôRḳf¸£´kf^R†çwÆO’¡+9e«»v tÃ]àS×@ò­/ABˆ3LRýõ´Ÿ~#¢¶lÙòñjµº~±SÿׄwûòË/?Q*•þT)5¯lÄ@\‘hV@€ `exlbË(Üx'–wlâ*¢-5Zf ¯ÎÓ þöÒufNH/ÑÕ‹‘TØ‹è„Ðèój ˜ß“aøúk0T•M ETÂIDÏUOóüAžŸ$CÛãX¤"V¶oGñ wÁÚr<šUXV!–ñýŒ¢Ÿùr¹üg8‚‹°æÿõP²ö7Þø9!ÄŸH)›žç!^,güþa!Ÿ pa¢ —mƒ½íf87Þ‰¥msX”E´=ò|Ô7r¥€¤€¶ê›™Íøâ² CÕ:hРd8<„ ‹†:(˜"¢¢d°!DÔôÝÈ@„F¯‹~*Ãk¤™q ™† ‹ÜLûÀŠþØEêñ¾ñ/ÍmƒsÓ(l».ÛnOøCaB@Ê„Ý Äí)%‚=Ô´,ëO¯¿þúOŸ|ØÍë@=z´Ûn·åäää_Ñ}RJRJ…bÄðã²qdž-ËöûÄñzl' ;ÞûÆ;±´m¨ˆ–€€k„ùØŒÉÍø_7,•ñˆ¢†¨´y׿s‹ÒvýÖ'˜‘µÐº›ô©96z$„0ˆI3ÆÕ„€èiÆo ~¡ñ»€ìq´$DZ¼m; ox ;nE;ÀÄ·#¢Ÿ9;Â4|<Ï ¿&"º¯V«}Ô²¬ÎëAø{]‹Yþð‡{ív»½wïÞ…Bá•R'Ã2.Ÿ›–äœ÷™€m;}è`Š;ߌÂîÆòŽ˜—%´U"ŒÓBj«ƒ@Äû`柸ÊAǸF­É82nܘF幋ǜæ‹ë@Ç&¼1QïÓC´ZÑÕŒßÓ? x’£-æe Ë;w¡pó[QØñfôØN€× ¬âNXŽx &Õ{çd±Xüo»wï>ú±}¬d˜úëb–tZîB5úQ?ó—ù—üïxGÕ¶mçÉ'Ÿü)å¯ !¦lÛþ€ÚÞÂ’”êõzð< $×á`ÞÙÇÐyꋘ8vs¢ “þôZ¡Mû±˜6Ð#H ZˆÎ4'þþc}Ÿ…ô®Û@üqYf¤yRÛïÈ…ŽÃMK&)üáò„¾H(bžu0j*tãW žëçù¼ê—íAù†·@l¹.Û>dü¡ð§ƒ».ò™|›ëºR® !~íàÁƒvòäÉæÁƒS›}ÒÅdLÁ².F#O[ßó=ßC÷ßoÏž=ÖÌÌÌÇççç¯Rþ0€‚¹ Ìb }ÈÈÐ…²üKåyèy öì-(ß\AÝùGx/ÁvÖFì ÏÂæ––fxT˰.nvÒ‡]Ò0ñd ÙƒQ#$e(MŽ1~•q@ ˆ?RÜÿ4OOšª‰}P ®ËÑð,Ì«ZW\ŽÊõo›¸.æ^í¿盞_vSìóÉwÎ@B_Hù=­žÂó)?õ8:®ÀŠtp‚Õоá joüv`â:¸l;ˆW`ÙÅH̯„éF¯Ñû´¢Ÿ/–ËåY–µòñ¼ûþ÷¿ßÜk¯åý1€s¸#ïcû{øÀ¬éé飽^ï?zž·GJy@?ûmÆý&U43ƒÁçqp«OYPމ›Ê¨—'pâé'0W_Å´è¡@Áø; B]IçZ|m±Á+sî@߇Óx‡Ú•k?ÇSKñÞú÷Ì`*$õ5ˆŒÞŠÉHõ…eÔá÷ýCVèW÷yŠ¡+V<‹µ)ðƒ7bêê·¢Ëv@b /Á²‹‘²n=œ3ßôþžç™làEÇq~WñâG>ò‘Îûßÿ~•aÒFöþךX‰á³qæž{~¸{Ûm·1Û¶q]÷7<ÏûÛ …ènžÓ@§–Š1ÿ&9:d£rå7¡SÁÂWFûÄile”!a#å§Ë)0tK¯¦ fã 6h5Î £Ö»ë#µô.9R»¯¤T_˜&ö ¥üŸÏ?ÿ|÷ƒü`ï™gž‰kfN W‹2B+.1ÑºÈ ?M»ˆÕÇÿâ/þB–J%ïÀܲ¬V*•­ÞGDe³,Ô¼îqL ÚHÄ‚”ÒY ’8”p`Õ*˜¼eê_Ä™ŸBkñ,fXwÀ,5˜òE40úBÎ#ÚÉ:¡9±xH ;%µ)Wˆé¯§©ô£¶pRµ_šáëT_?ï ¯ï1¸Š£¥–dës3WÜ€©·£CÛá±i0^,ËJÛŽ2þ¸ ÑZRÊõz½?~ÜûØÇ>æ=óÌ3I’kšóI2v–^KVp^À†¿‘!Üc?~饗²÷½ï}…;w¦¦¦¶–Ë執,ë,Ërt08 $F2~`0)]p¸ o[„·ò<º/=ñÜQl¥&yŽP°8E 2ªÓb®¥Mš&’1jjeÜži…>q%Äý!4óÍV‰|Ã÷ÀÑóü&‹(C]uŠn…µåjôh+ˆÕ^€öçOcjq”_÷þžçõ<Ïû ÏóþÓ‘#GNýùŸÿyçP#œØÀãbç62ÿf>Ëòs;wîäï}ï{ {÷îµggg/™ššúEÛ¶ÿ©eY<ÐðÍÿõø2©–=¾ÿ*”÷½ (^3 ^c¸°Á¹*ÚÊâùuãÿ0ßïºîß®®®~àÑG}éñÇï~êSŸò2ýF€!ÍØ¿& `½F†ÏÆ4øQɬ ÀóÏ?@`«««Gn¸á†ß›››³|+àûxž×?4zš4M@L)ÕÿÆl(% ¥1/‚j(Ü ¹ë*Ô_y õ#¯`²¹Ž)é¢Ì<ØA³LŸ9(ôÉÃÌFBF%„10“Ñ ]8Ž"“4õ74jýüœÑ p"¤âp=†–´°J6Ö*`—_†Òe7Áš¾=Ì@aŒ—úõüzÖfã«ÿ ×ëýýÂÂÂï}ñ‹_|ù•W^‘_ùÊWôÚË}ܼ¨QÃá(ká|hçÄ6høY <ék6ÆcI?îºê*qÓM7Y¥RIÜ~ûíWìܹóJ¥Ò;…, B 3иM6×O~¸—¼ ÊmÁbë°±„Þòóè{ 8z õ:&„‹*wa3êk§‚‡-ƒÐØ¹Ñ ˆÅ}=f–(Yø ¾Ÿæ£ØSŒ*ûƒÇ|Ão(ëÊÆzµvÙ¥(\z=ì-WÀÃ,<ª¢Æáôu3 «‹·z(`èd_ÌÚíö'ççç÷3ŸùÌs'NœPO=õ”»ººªFwÜÿYKz|ì`3€à|ÀF½~ÜÏŒ2îqgµZmÛ¶ïÛ·Ïš˜˜àwÝu×þË/¿ügJ¥Ò· !,ô@W›“tý€I¸€ ¡”çe£„ZƒÍ–á­¼„ÎñgW¡´´‚)îà B(˜ þÑÿØ‘äá¸ož@ûõÔà8¹Ù̳ïí)^ùWÚÝ.Fß#ކ´°­é)°={QÜ{-¬é}ðh›ãelpnõËyu¯¿‘úIа§_»Ýþ›£GþÑg?ûÙOž<©ž}öY¯^¯ÇµhM3ðqÏck_S8Gã—â³_Éešz]]¤VnnnŽ_sÍ5¶ã8ìî»ï¾äÚk¯}_¥RùnÛ¶‹&ÐY€‡¦‰ƒqÓ?]0(Pê°°jŸDçij'ŽÀ:±ˆ ÖEʃÍ, `Ê`ºgøÚ7ã~+Šÿ€è<ÂÐÓÃ/Þ!Æáyð‹x¤…,¬SÞî­»/GyÏu`¥ð°«‚ñ2ŒûcºlÛŽ„VI@kV÷Åõ}0øtZ­Ö_>õÔSüÙÏ~öøéÓ§Õ«¯¾*†c ÃuŽfÎ#îªÐ˜±)⹂À†`Ô?‘ŽÇäV9†Ï±±”-ž$â¾ghffF\zé¥Â¶m~ûí·o»í¶Û~`jjê-˪…  §ãR„zLšÆÌ~sRz mpÖ„uXXCëÔ³pϼ œ> {i“ÜE‰$J̃-Ü"p¡ú:K;ÈŒè–eˆHͪ?ÂÚåqH(Á%†¶´ÐfkÊ;; ¶c'ìûPÚq5$¦á¢E0«1ümÅ¿éõuá5)æ7Ä¿úêêê‡|ðÁ?ÿüç?f~~^.//S«ÕRHžÅL ]¿:I?cv?d#ž+kˆpÎ 06ŒéùÏ%ŽeУX‚$I¾‘ÀÔÔ”˜››Õj•8p úîw¿ûŸÌÍÍý”ã83q:€ÎâR…¦@eöÂ÷RAh @ªFmX¬Aë`îYtN?wñ8ØÂÄâ*ªÌC™K!á0Á aL)øÃn‡3ãHë·üÞ{Ĥ¤bʧ÷´H !-ȹ)`Ûì­—¢¸óJÀžK5(6…"À àÂcŒEÁÔù²¶î6;?é Ðëõ–þËÇ?þñÿóüóÏ7Nœ8á­¬¬¨¯®ßWØíq–ññÈcbbb‚•ËeQ.—­û±{Ûþýû¶X,^Æ9gql )M˜Â8u˜!/ಆ6«CP\®¢{öxgOÀ;»vvN«…I™„Ã&aƒÀ3€ü7hñdX¬ÁûÞßõž¯Üû)|ßÃ÷H §£Wnµ ÌmزÎÜ%pf.‡“¬I5J€(°À¸åOeŽ ¡²~–ºþàkêt:¯9rä?øÁnµZriiI®­­I¤7+ÏòXš±ŸKh0nxðÚÀ9ŒKÛÇy<éf²ƒP•J…;ŽÃ„ì½ï}ï7ÝtÓOÖjµ[-˲Í$н™YFöÐÏ¥‡@ÝÜz×KP=0t XË¿Q Ô[Awé$¼Õ3«K Õ5°Õ¬n®`CÁæ‹‚¸"æ×0„FF}‹`PÄ!‰Aqß»{,0zÅчç@SU°©IˆéXSÛPØr xa’•á©«B)Ü*‚`Œƒ1?}¡gSâ2*a V7~]åO2~½º/ ün£Ñxð‰'žøoú§úD§Ó‘FCÕëusÖ‘éåǹaÌÇGÀF5‚ ƒÀfÀ(ƒ§ ¸ñaäHy,@*•Šp¶m3ìÝï~÷Þ·¾õ­ß=77÷nÛ¶'ôƒCiLÀÜØq"¡ºFË ú]1‚†xpÁT‚u ÐC](wÞúÜú*T{ ªÝ„j¶€^h÷ º.˜ç®ôä€` 0Û‚²-ðr(ÀËeðR¢<«6 »6 fO@±"xT±2$0æÌös•†ÑëÞ=ÎÓëq~œçO3~Óû»®»¾¸¸ø7ÿøÿø±¿ù›¿9æº.¹®KFC&¤Bz/æÔ¢g$÷Q΢'$iYáµ€ãO»ÅxÙQê=Øãeø‰?gÛ6/—Ëýï÷ïß_ùÁüÁo:pàÀ …9˲xœ6I@˜³ u½ÀÿÌt@ð»fpæ‚” Î\pÖ'Œ¹þQd&Á#Ý:$˜¶A@.âð“À„BŠl€Y 8 p¿W¢Ÿ¨ bz6Dñuc =®~?-ÖÏx¨Gu»Ý…—^zéCþð‡?óâ‹/6Àu]jµZ2ƒ2öQŒ@m€!¤…,bïFÀE¿s‰ñÓ<<Ï`ðfRl\éÿ¬mÛ,8+À°ÿñ¿éÖ[oýÞÙÙÙ›-Ë*Å@œ(˜LêkftèàúߨóÁ($öR²_Àƒ}êìQðºE?hÊà ñ ;¨=fD\óî!‰ª½.êé@`vaN3ü´º~­g{yyù‘|ðÿÿñ?u]—Àó<éºnVŠŸ4%)úý¬ù¦7çÒRYãø8c6½8O0ð4ãçØCÿu À°;î¸cî;¾ã;¾qÿþýßY(fôP@Ï Œbi3 “@À,~‰cƒ¯Uä÷Â=œÔÝøÌû—^÷ØúHí$ 3=}Ü÷æ{Lb@iñ¾nüÝnw饗^úøßþíß~úÞ{ï]`Œ‘ëºÊó¼Q=ñs†ÇT{PÃŒ¸cj¯9dñþY¨>Fÿ(#×bÔÏf…Ø¡X,rÌó<üËù/o}Ó›Þô®™™™,Ë*&éqY‚8jœº›ÆŸæãzÙlÐŒ¢ªÿoŽWO<³½)ò%Mç¡ü¥¥¥'~øáOüÑýу–eêt:*cœ>jVrœÁ'x8¨ ˆÈ˜BŽ P H€ŒÞT±OÖ\~V¯ÍS<~ÒcI 1êïdÒÂÛöíÛKßû½ß{ÓÍ7ß|×Ö­[¯. ¥Q@Æ6 Êeôã·Ûm/..>û•¯|å ýèG=}útÉG@šÑÆyü´Æé*ÃóÆ=÷F‹Œ"Ž › Ió%Åñ,ÅÈÓ)ÀG°†q„ÃÄ4â 7ܰå[¾å[n¸þúëoÛºuë˲ì4 HÊd‚qAa”øw.?»QÃeüžç¹‹‹‹/>ùä“÷êSŸzü‰'žX#¯2Á(W)l ‰Q¤Â(0 øš@–3ûYA`”Áeõò£ íy’ôƒ¬iÇXVóÆ7¾që¡C‡®¿öÚk߸uëÖý–eYI Î[HŠçÇ1ü4¯¯ßçyž·¸¸øÒÓO?ýåÇ?ùå/yaÌ^ZŒŸI·Q0 úäý÷ßÿÊ3Ï<³œ1e¦F¤ä(ƒÑŽi<*%k• ¤yÿM Æ€¬ô?d¡ýi0ÊÀÓÀ!î÷Ç7ýû÷ìÙS¹öÚkçî¸ãŽë/»ì²ýsss{9ç, d‚Q¢áFbú4Š?Šê'UóiÆO ÇŽ=úâ}÷Ý÷äÓO?½xüøñƘ9óQ…ò˘ÇäFYÀ(²õ!8'p¾ )þO¢Ô£€NñGÀ¸‘%$Hb)I@€÷arrÒ¹ôÒK'Þüæ7_zðàÁ+víÚuÙÔÔÔÖ$M ©®>+lD0ûü77·cvvv‡mÛö¹jãò¤Ñ~×uݳgÏž^XX8}üøñ3=öØÑ#Gެ5Þúúº+¥L;¿QÈZ“ŸÀçð Û`V`T–c„ãÁ(8ŽÃ …‚U*•ÄÎ;+ܾgÏž­Û¶m›™™™™˜˜˜©T*µseY¼³Ù¬¯¯¯/----ÍÏÏŸ}õÕWž~úéùS§N5:Žìt:²×ëÉŠu–8wT€ *ûFTÚ€áo6ë´à ¡˜g–QäÓ€£4€QçÌnCç I”‰©WƳm›X±Xûöí›Þ³gÏäÜÜÜäôôtmrr²Z©T*år¹ì8N©X,„ŽmÛ6ç\ð ~Pþ’®ëºRÊ^§Óéöz½v«Õj5›ÍæÚÚZcee¥¾°°°öꫯ®¾ôÒK«NGJ)•”’\×¥`“eÙ YškŽ££ËnG‰€2c0‹µN`”€‚è 8‡€¬…>qŸed£Ò€áó!åë4 ÎàÇigžVd÷xÚ}YèM”òX\}ú¸t . LáP?u÷õ¨4`@)!Â8…Bã†ç- 8îl@ʰ‘ɇ…âž#­OºÙIap„XGIa<–F§TCãÆÏ™_›?/1º•™N[Í¿Ác^—~TZ!ùà?onžÁ°ã–J¸FJ»/é€ CôÈkÜcæ×0>笌 ËÁš¬!A–jC ½ÌÈVÞ; XGµ¸1eþaîFFO&M©ÏòûæcK0x³¹ Óƒôï)ÆàhŒB “U1ë¯I%<–ľTÂÏl¬Àè•eCª\Ûh0ªhÜRà40å¹iÌkI)ßûyœóDáM™<&CãöX7>.§ÌS⫸¡!„ø¦¦£c†Çk~ ·&O¢ù: ˆcV„á KIÏ•u£±”Mk~N,ƨ“¼ÜçÇT ûC/½‡hL0ØHñÍ0üM[ÎïRãRJ =I-œ³ö"DJ8A†!RŒÑ&@š°)´i¼N™! c~7ÍX_k MÈ2!7mònÖa0îàôg†2„-ã:Ó× (ClŸ•ÒS `ð”–mX P -ç1Ô^-k;s¤° Ûáª,ÆÎÎÑð7BýG}Ÿu“ñÒx²T ŽÊÏo²<–5t`´ƒsfVZìQÀQoÔïó”çÔ/œ9øZ¥ÄÄqe•à\Ž gùÙ¬ÚŨp!+ó;þ?—`³X€9­>.à†Q›Êyš¡Ä {Iq< ùjL² EF÷XÌjðJ0 F?Æ ÿ£ -ËIÁq¨\> <)=—p뜵ÍÒ’R{,#ˆû™¸¦q->&C0S†×Wç _ÿ^ŽÁ€lÅ>ã0€48_žç¸ñÆÑ6#CÆ€Ñùö–#ág²xõQ•~,E,ÜT1ÐE!R€$£§µ8icªE]%¨å£‚#F܋˵ó@áH™ˆ1û¦V@†ë¶ÑQíãü¹0‚¦ìã³Æ Æ«"Ì ŒÝò )BuVÆ”úÙd p>³Iu é5ðqE7`n<& M€%°“⛯C!{«¯Í€Íˆ÷_«¶Á´Р1¾>È¢¬od2Ü>Hž 4îäàQºéë|EŠ †Œž6í\Z<îccuöÙ`Œ>„¾,†Ï6ÁÈÏŒ+Ž£Ù«ûÆ1þQéÇqZãÍLý Æjm’7`)ñ˜cè*Æè 0G|•]hÜr GÄËêåÏ%έ¿Í„óÁ²@Vv•¤ z›1ÜŒó“XL\ÕyÑ2@Æ´ bâuó ÇéYÓ†q´=ÎP“è¼ÂðQÞ¤.F£BlÂÌ8Ä>!¾R0î:°–Àçâ ·€lƒqµúg›f…aVað©îÃ~Ľ¤¢¸L6zÞB€¡@V¯¶™ãóŒß(½óc˜Æ>*Mi~ÔFØÁ8^>I¥f ú bŒ\¥¼7JøùQì!Ë)º ˆçú»Yèý(ÕŸ6Óø_K0)SäIF=g\iî¸j}Úc|x¯8ÿkMõ_ËÐà|ë&s܈€ˆŒ±{Ö^þã¶õ¾pDÀMd@öÙ‚il`”·™9ÆIá± \¯GGH€qê€s;…˜E€D&’Ôλ÷?_ ­0‰l„ FÔãq¤ˆƒH¡î›U¬3®g߈Â!ÀFA`‘p\–J˜èqÝ” Ed=è„1ÞÓyel£à1 @Š€•æEÍr\†¬/¾m#bþ,`@]Ïp¾)>»@³C„8c~”qŽ««q:®˜6ÆûÞTïNÒ6縵ï㈇€Q€´~#e»çbàì50òÍ2~lÀÆ ’@ã\ź€Ð¸×cÓÿœà`#±ò¹PñséÆ5þÍ:­÷z€q6=#l–ȸÑÐc#ôþ¼þ¦@FØhÜ»ÑX{³jîÏç‘Üóã-`3A`#`°ã¸_Ÿ«¡Ÿs‹¯¯œlĸεž~³buöû×Zô;ߺÀ¸ °‘û6#=™õëM£ûçÃø7Æ‚ľçbÄ_k×€/tc?,â\ÓŠ¯%lT·ûÚœÃ?¯° ×p63­¶YF¼ÙtþëÎGذ™à±T>óõ8Ÿ†ÿšÀkç;gçéõ¾ž þkÉ6[cØLAþk ç6Û˜_Ë\üF ½Ž|³á\q³@ã‚6ü¯ l6b„”À’¦¯°Ï¸Ùø9nÞ4 ‚.2`cÆÉã€œÊø³*Ãg;j"böÔy™Òóµ0þ¯ l"(Œ»qηçeçÑ€¾Þt€×’)lôw6üžèB0º 6 6b<ì4ØÎÿ󽦓yèB3´ ò•¯|½v‹ç— _ùÊ _ùÊWùÊW¾rÈW¾ò•@¾ò•¯ò•¯|å¯|å+€|å+_¯›õÿmÛþq®›æ`IEND®B`‚./chessx-1.3.2/data/images/accessories_text_editor.png000644 000765 000024 00000021502 12141255204 022515 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËtIMEÖ "¡?bKGDÿÿÿ ½§“"äIDATxÚí |ÕÇÿ#Y’%Ë÷íҰÐ4)…@»¤”À†²´ ¥| ¤ ¤MÚ]ØÒf—–íÅXØnBhZRh G I“…Ää @sv.ß·,ë–fÿÿ7ó¤§ñè²%[~þ¼ÏŒF²43ßßÿxÿ¹ÆÛxoŸÜ&}R6T–eé­·Þª Õø²_Û°»±7ãë–K.¹¤U’$y\c°­]»6ßf³M …BÕqV!OÀ×|"vššbîIêÇÏ€³»pºûNÅÑÓ]Y-€uëÖY Ñh C%À‡C­Â^‹=/C«Ð…ý 쯠çX¿dÉǸÒÐV­Ze8÷Üs+f*Y(N'"\•¦åÃùX­VÈËËô““è%ÈÚ)$ðÐÀºÇã‡Ã±¾Î‡ýmüßWð;Ö¢w89.öÚk¯㎮1 ÌRqÊ b¯ÅW¥Zn%öœ!¯4ÌÍÍePy§×‹L&ë›>Ç[0„ÆÆF@KC .3›ÍL<ýýýÐÝÝ^.´.Û€ÛöTqqñ+ ,ðŸöزeK®×ëe±”CÅi-MUË%·L–lÎ 8JVKƒ%(,ÁIÙ—wuAoo¯.pí2±“ˆèwI8ô>ŸOûÕíØŸA¯ðÔ¥—^zä´ÀúõëïÄðƒáºcÚ‘¢;¦y­ÕXÑj‡é³Nnž:Ÿ'ë疬׉@|ŸÖ‘¦íííLÑ?/oÂõÿéâÅ‹76ذaƒ3Q’EÖÉ-–ÀR§e¢Õ¢·ÖŠŠ@õ óy½æ÷ûÖ›ðNÛär¹ÂžEh4Šxó„WOТÆn˜1c rÇ™°Zíüp @Hª ½Ç—ëx…wQ$ßÿ⿸m,{€8™_RRóçÏ²ÕÆšeµélüw†cíÉ Œ¡µµU›+Ï3ܱä8ÀáZs:Db·ÛaÖ¬Y¼M.aæ_!€§xulÌ–>qÝÉ"õ€„Hhø|Ægp/jÆõY³iÓ¦éY›¢Õ·òÒ+…*òŒ¥Œ DA§Êû³gφýû÷Ól)ލÁé—²Òà ‡CÏÆ’HµÎÀ=D,/‘®¼€ ©¦¦†ÿìe˜,ÈJ°dÉ/®/¥C¦âމ"N6{ ÑÚißPY˜Œ„:…KÊ™8?ÎAò*™S…êT+P¿ã«8Ù™u^ (¥ñ¿8 ÈöFë˜îEb óè@__8Nœ~‡nQ¹œ:Íëý6‰Þ£!"ÍÓ:âw^ŠoÝ›• 0€+8WëÆB£K˜ŽFÛOeÞ¶¶66χxÔ Êåd݉‰…× èÿèH%9‡l­ì¾ÆZ-`¸%irïÌU“µóÜ€[7Ú.//g¯‡’—PHPP•µÀÖ§- 9:—R#K?qâ>wïb‚XZZÊ\ýpSò\ [·nµ.\¸ÐµëcEü„TÎ""Kohh`IžÈÍü¡œ™¤õJ”ð†9 Žfcè%ðbÒ7–†‚¼~‘L¾pìØ1v\Ÿƒ‡…78ío3øÚN™N ±•‚±ûàY œ‡™5@ø>q8î†Ö\‡Þ†Þ· îÃï€ìøÎ"xcÇpdxΖÌýpfKðj]×xKü¾õÐxÿLhþõ—Ù¼_§Í ~ìrÁõYá°yN—aàH7Oc=´>{3„¼Š1KhwÕ5ç@Qí°*@Ê1ƒŒ!Áï:=íïBkÏq Àë@\P”+fþ7xGMèîýÚ‹>ÇC@ð¶AÓo®FÀ`qæÂ¤ª«¡pñ&bFˆêF_ª§ÜUCoÛÐØ³BнÝÑÛ3÷^ —ÏýøF% |—6oÉÀ¿ŠÁ·úÊàÌ‹ÿ o]¥ |ÊTA®š uÿ g–ܹyáƒE‹]6øÝh†€ vü:îb7÷Ñ­ÐüY¾ l¦Z˜sý UV*°½hÄo¾°a;Àß x TY ò¬Z€ çL«A!@š´f´•Ãáà/ÀëñSìøúö›`ã9ÏÀ3£1 pp~ýÿ8üxð߃frû˜èåZ&œk×€TV¡À?ÚpïoŽœRö+þQP ¶uAˆúßvœ9 Œ×-°ZòçÀ4Ó28pìqñƒ’ í¾þ2ïwÐ;¢!À`0È㣀$àyW€_s¯y!×A€ÂàxtöP{Pè¾=GÁõ‹ç ØÙ A Á³aò¤…ü'Šñ›¾=â9‚whCÀxÓÀDZ}ó_cð-–J8ãZ„_^¥Àßqà·wÏ ƒ ð” £§œ¿] !—Eà³¼̶ðÙC·ÉiºÇcÊG>Äû팇èOó“×2øæÜ2˜‹nßPV±üï> !·G×â1º¿µÜïì†~‡¿Ï ••góŸ«ÝuÌQÐÍ”Ç=@,øoAËS_gðMÖR8󚾚éx仆À€;&èxbpÕ çŠÀ&ÿ™BR—t"‹/kàØ -O_Y»ò¿pL^t+€­BtÕÞC ¯|BÌísý!ÕÅ‹¯£ç#SÚÓÞsø$äLEo⮃Ñ!ºAÀ§F%Œ·°ADà£å~é˜tÕOÀX9 öbp–ASÝ\èØþ/0ðòç 8_ Çù *‚`8îÇ÷ ¾®^–x»%°†/!œ<.€Q„ï>Hð¿ÁàçÍ¿&,ºÌF7¾é¿ß===ìs>ÓpÌ»:Ö< žç/€@¾”´ûw·’úè*âp"hÀ(€Ãÿ-Á÷€17¦,¹l¶~0†ŽƒÉõØgAIÏ-`ñÕ+4tÙþºÜ ½WB`F~ ¹†‹‰ ƒ?|.5þ¦ç(¡a¨;â“^‰ù›ø/ƒ_÷½§Á:a6~ÈàÁ¡ÞÉå yÛÀæy*»®²Ž›@òd" î²Í‚îÕ÷‚nYÌa`t˜ÀÑVy1èv·’¼NE’ Ç=À‚gð÷ÿZY§Â_ù$¯Sá#“ßðõB8³CŠ6÷f¨í¸¬î·Ã"ðŠ ç×Ë!PaOèþ¥ŠbòmÌ@¨øêÈÔ Ãð£²}‚ÿŒß`ÉCøO€uâ\þa]ø|Þèï…Ú®; ÀµŽ €©»ÅàxôZHÓý“ë·Ì›Í¬ßO·1í —cpíÖ `¬žÁß·A…ïƒÙ¦Â?Sï=‚ðoGø=ºðù¼ À¤ÞûÑ#l{‚þÊ:ð£.*Þs÷2ÁvÞÙ ›rP¸Ôw\Öðýº^=ç89j8s=ð üõÐú»oªð­0çûO€­ölþQÕò»ãÂçóRÐ3úî“¿),‚žk¾~›%:$ø ñ7ìVfýAw„ªÿ¼ì"…à‘tm·!nòtOÍ¹ç „Cþ÷~ƒ–ÿ)ü'ÂoDøwà´3)ø|Þè…º¾@Å@p‹@¾éŒH@øyŸâ>Á¸úÀT³‚¯>³àYØ’8Ý⼸|`Ï:hö¦0üºƒµöÓ*ücŠÛ÷¶§ŸÏçûA%) î¸àÓaË· ðý¿z=xs{9ü#’îIç>0|RÁëÁçË]{߀¶g—2øRŽá?¶Éç(ncñpàóù™®ÿC°Ÿy>S .¨Páç)ðûûÁ\±ÃCø°ÿÑ  -xúÆwÏ—üýõ|£ Ýþãÿ³*üJÌÇqþpàÓÔìƒÉ®µLt„µè†Ï£k°)Ï7êw€¹j#ò{"ðsàÂsŸ‚SéÞ'†t»Ï±> ÿãW¡ýù›#ð¿OðÏUáŸT,ßÓ2lø|¾Ö»`w NœÀÆú~§Ìe› XІcþE™€ÿ‰ðÉ€Ãÿý2ÁòEø Uø§TøÍiƒOS»ÜÓ‹ØÉ}†bC½`*þ+È%|µ~º†|Ÿ($Šóbøø´ü["ðWþ lS>§À÷#ô¿)­ðÙ‘øÒ…P%5(‰ ×Ö ëA*ëá_˜Iø) À`0XÔé˜óƒà?‡ðqX&r`Ί‡À6õB~‹ß{*#ð!§ üÇÙ(ÛÚ:ÀcP®’srÛp¬¿(ÓðS&*ìfñ&‘Ù”$ç£Æù¾¬À¾-áOû‚ ¿MµüƒAl®Fèh9“ö=RÈ!{xοï_q¬b$ö[ÎéâîSMTûwÿ:Wߊðƒ ~ÝÊ_"ü‹Tø8Ä;qÂ?ž^ø² ,?ä釆m»`&þŽÕuŠÁï¿è Û«:Fjߥri;%›î8ðôžóC‚[þŠŸAÞ´‹#ðYÂw,ðÏ‚të.èëö‚üœâZèúüƒÊ«„‘<Ñ.•KÃŒcÅÝÇûŸÿ ÿ»BÞôKø¥¼ënÈ<üm |jæÒÉPqë_ü‘n©œ,ñ`´jC‰óQãüÝ/AÇêÛ|¤ð y3.Sáã¸ûÁ?’·o*ŒÀ¯ÿúºø¦’I0mÅFæF£¥’ÒðQÀhœ œ*xíÿ8?x:þðm¾A‚9 þå*ünþá Á/ÂßðEàw*Ï]0MdðÉŒVËú$p¨q>*Ûßµ:_øNþ=@ÞÌVá÷¨nÿ`àŸ Y>‡?Ên~‘y€ÑM¥"óH†€TÇ[>þÝ?Bø_à/§ý2¿8ü— ávi=°Û—¥óŽÙ™Ïàïü#t®¹K€?äͺZ9¤ËàßIg| ™6øóÐP?Øò󳡎’sº¹ûð8Ç ëOw« Àœ;ïCø×(ðƒ}§îFø{2 _öâ8¿~ôò˜_X£ÂŸ”Ò6f‹ìZ®•N'x6ÎßIðï ï»ë^È«»N…ï@Ë¿‹jÀé‡_zn|ê%‚Ïï\®¹äΛÈå… LƒŠ(ørçŽÕЉð•») åßõ/ÿz~¿ ÿ£ÌÀ7—(ðY¶/À/¨Và—LNj{p™'`KW%0àãÁ¯»sÂÿ¦’ð|rûfþûDÿå¥Aðµ—×k<@0Ï Ñ8uwNø¶?/~Ø• þ=`Ÿ³T…nÿÔ *Œ€å|·?Úò“ÙºOÖ†í#WF Ý/ÿ+ƒ/!“Ù·/û™wEà7Ý‹ðßËühËoؾ z:V†üJ(YºŒªÛOµÐ£yš¨/«€ê,à–Ï ÉZ3çÅ÷ú þÚ{ø7ýV¨ðFÓ}¨·3oùÛ?€žöüÒo­œ²i)m§èMEàñxüY%\ÑÜTB@¦¼AÿÖß"üûø7ð½Íÿ†ðßÊüÒüߥ¯PáOÖvŠ£€Ë/¿Ü•uІ€‘p÷âòþwŸ„îWÛ7>Æy9ß·ydà·‰ðÿ?•íO®<ÀˆŽ“M …!ŠîI™ôŽwŸ€žWïàìgÝ+ÀÇ÷úþš~ø%ŸEøeì.ÁoáÛË¡t隤àÇZÎPžÃПu@uÚ¹Zõê™ 8þöèyí‡aø³nýÂÿ·ü–UCfà[Ê£àw‹ðÉòËg¤m;…àÈ: ô½é0àøÛÿ¢åÿP±²ü[¯ûÙ?àÿ@ï‡lÇîhødù¸Û)æSÂÓØY†š¤ºÜñίÑò$À¿áÿH…£¤Öþë€N¾o€ÁïjP¶᳡^ø©,s€¬®`ÞJg*ëï{ûqdûïøË¾ŒðñµTáÿP‚_ÁÎÞeðßÿ ~ñÒütz=žüeuÀ=Y¿VéŽwþ' þ¬[.û§ˆÀoû)Â%³ð½Î(ø{ƒŸS>sØÛ)žüÁÃ(‚ºo³Wâ)áC½8#ÞÎr¼õ†ôTOƒ–˰Ï{P€ÿs€î?'8©Ïá•Ƈ_ÂbþÌ!o'‡®w›}qeeP z€xa Õ8¶< ½oþ$âöo¹áÿLO…žö_"ü3ÿ³Ñð· ðóJ¡ä¦Á–Ÿìv’['¸0¿°–‹€ AôYô6v¸Ùð`ø— üŸ+göü¶‡ºÖdØòø­|²üŠY)m'¿ý›ø|E¼8þçÏ`Òœ ”½ÏJ×pϱå„ÿ ²ñ¨¯ÙߺcþÏ•£|t_Û¯þ3¿R€¿Kÿ…0üDÛI 8eò¬hå"ø5šïÏÚ ž ëáQ)y6? ½ëÿ3 Ö·¡åÿRý0Âoá¯Î8üã;>Ð?;îöpè>Ÿ/ P \¼( 1˳×Ä;%—~ø%Ÿ¿³Å)Äü?2ø±¶‡¬ÜëõŠãöAàõšiã¾øžæq¼”Ò‡ä¬ôéHþ¼õQðg/ý<Ø?ý0„„Õûî† ‚`(½ðs«bÿñ`ÔOÖNÐéV.d­¢x=øÚe|¹^ˆ½'«<Àºuëèl \=0Ô¬ࣗïg|ó °ŸƒÖn@Ifü©¸äòeèz@î«©ó%0ôÐ1þ`ÆàÝð{0VÖE­'¹w‚Nðµ·ÆIžëµàùrñú 1wÀ÷ùýáFÄ $®h¸ <œ ¼§ž}o²Ys¡…ç=‚?R®¾×¯tšEØ!°‚l¿B¹çïÓ‰ÁàÜ?Lø.8¾S€o+aðMUg„a¸Ýn^„/‘‹åîõÀ‹ÕøwÐÂÞÑëíÉð_± ï8@²·eóü}ÊmÏ+Î= UUÁóß0üPž–©t>4MפGÁŸQðPá7 ðo\ †òÙàt:¡½½:::ؼ¶Z—lYW/7J”/QÀ?wüøñvÑ©Œº@Å:4œäϵçõð|Éy7з*bWCŸL± ^ŒÌ#PWÕ °y\`rlKþ ¿_…_ ÖkŸ‡©<­­ƒ\y¢¡[¬Ì>^â§ç5x¨áàž{îéÀË£îb êíZÜ{ßP”gÅPu©ºA–ùˬjÐõ\4uVÝAcUø ÁïPáKÖ"ð/yº eàr¹âZ¹¸­ÉŒ|ô<Þ¼ø n.œï¦r‹ÊEÊŠÀG|k.|ÙRÞKþ ü…S­s,÷­7*ÐîƒXàÅï»Þ¹v:T¯lT»2|7×”=@*ñ_»SÝ{#¹);ÿ:Ô¸IýŒG;¨^ðKøMÓÃ/ž¯À§ãùW>¨ðƒ%3tá$Ú¦Xàcyx"©PCE·ê ªr„nÌ„WH(:Hë’MŠ´ïyT÷oÄÑž¥ö²pò'\Q®?ԟ׊bÀ~þ`ø¶ Ñð›TË7çƒ{ñ/!T:3&øX‰\,ðZ¸ñ,^¯@û“ŒŠFWjxíÖ@ÕÓ&†„I nx¡öšZa‹ÅÞY|Åóäú}-{Ù|é™)w:»t³Ç§è»û`œD/0G¾Ï 'Eø–|ð,~-&H1±x•ºx¯Åº¿Þg´Ë :í?›Íf³9jˆó\²ÚC1¦±–e¤X¨·´†D Ò ƒ=0Qµ~ÿ/¸Ý Žñeü\p aÌ—cyȃ TÆâY*|¿ç.hà»/FË/™9¨«`“(ƒ5RˆWù#ã¡}ƈ{Sñ@ €ÊÀM™+”¤Ä÷ät @ÐÐÐ555låùƈg ó —Þp±ëàeÃñ­Ó¿¢ê bžæ<Ü;¨+ úŽPù?âïTø.fùaøf;¸.ú9‹g0Ë*øXÀD„,öMµ‚àûM<000àPGrœZgªÞaH„nT$¡Îm¹1«ÕÊznn.ë´Œ6š6’:~\;ØÿÏ,EÌaÖÂØ/«îðp/~H J¡9¿¤õÜM˜J«ðO9Âð>¹ý$†n±,>^ÉWïÿHü´ý´ob]JÏã¿8`‡@z{©bÖ±~£F‰Pû<€_r:ÿk·ÛçãJcÀUî _¨£rõ’G¶#(W0\«X õDøý_ø)sûR‹×ƒª>^i—¶•¶“z2·Ð…!æ---¼ŠÑ qÂ_æN¾V’ž¾úÕ¯îÁéBzã±Ç«*..ž†Ö>7tö©Ø§àMÆQ#Ž*hQ=zþ¾7ÙÑÙ>öº¯°ã2ºÿºÿØY0ærsAŽ$l <`tu°l? ߔDz}t5ÊÞRó-øXÉ^2G÷x2Ç=ž^>4>|8–‚Âð0V~àR»<œ$PŠåþéõòåË©NM1`»V0 .̽âŠ+&UUUMAK˜Š}†)¦€sº±í£9,›œŒ#JûÙ |úÑ]4“´zIÂ$ÊŠ Ÿ%ý"Ž,ÎCg> å/{Ìg0?*ȇxÚi2<·x²r~¨÷LŽ!ùwÞéF¢Ëç‡$÷è–rôl¹!]QœL˜Ôû[·nõb?‚³GE½r|]²Ã£ÊÁŸ A¦'eÒÈÞDÃ=9$£¥çƒ)Ϧœ8 2ñÐÿÓ"½ï=eù´|©dð}mrʇ_bЊCï‹"! §aå9é¸Kš¸nä!Õd°›¬2 å`ÑõK·ß ü$‘ä"ˆ÷>3¥+,áRÉ›{%Kþ(ûy1-^2ZÀ”[#Õ‚ÌS„áÓgšÁ³çUhß@J­ppæàê@Átï'§ÜZY‚¯©óÄ”Cà‚àg<‹q=//ý? ‡?ßOœõ~‰¢è\Õtª<$ÁµK‚µôÖ¡Z}<Èq<€Çè¾wõ\È3áBz‘_m©pbýþ¼Q±¾Êh)†“MÉØrx” »;AnÞî[pHy$l©ÿPÝw` oв·Ô³w¨Óa]­Å“8¨óÑŠ( /äçç3‹OäⵂЊ$‘øy…ª'èV³}¾_ :B ã'}OÍѱæTeË È7Ì…E’z6QcÑh|ç(îð0ÅPbWv’!ÇÆâ:=®MfçÑóª Bî^"t×ÞMнÿcôÑÉm ®'?ô®ªßöZçôéÓ++**(I­D€•h½•·a‹îžF-´Ó餘@À >DWÖòìžëÄ!œèIbŴ ÎȦÐ¥€¬ÉÅÈCœ‚Èýät Ö—Ê1’BírY›D[àrþáÝó!¿á𳟽¿òA°å¨Õ@~”áûÝàoÞ ý¿=»ßCèƒo›ë B׉>ØþÂ>xõå#¡“û`ß¾}” þ]S “Q¦yóæUÕÖÖV–••U¡8ªQÕø^ B·ò3Øáju‡Ã1h$ z±æÁ‡\ bX‰—3ˆ5ôV¢0Eœ5¯r§ä›j 'XoÔþÌWêÀb2Âb¶qä—M× .øü"8|¼ ΚcW†{\Þ±¡¿ ]õ¯CÐ=8¯qúàX#Bßr¶­þÈq¦2Zs`óæÍ TÈT­§_¡ìzïë®»®ü¬³Îª-//Ÿ„b¨E˜“Q“ÜdìU ?jG]¯îÁ«~bXá¡Î=‡è1Ä2pWWW·0Œæqÿ¸jõ¡L’L(Çï5Üv|NRo/{Ø67 Ÿ=™íH/zO@ßGë¡kë‹àïôhÜP·öé…úµ‡¡~C´è¬“^í[ÖŠ@µž>u*gyõêÕ-ÔÕ¡mÔ÷Ìš5ËŒ™P]]=¹¨¨h‚œ‚IT¡Û~‰§uñÐÒ××§ë=ÄÄ”„ÐÒÒþL{{{àÈÝïS‹:m9)Äyˆ!Ýù+\ÁÿyGk!̨RàSÐè<¦M¯ÀÁ–£~$w» víë„úg÷Âö}áëäô ëÁªãb¯š!{Uèþ8Ûk™|èСÀªU«ãü!½÷—-[Vô™Ï|f2†•©˜3°º‚e¡OR‹:QÞƒS½ÖÔÔD ¢ÀÇj†?"MJãw„EðO3 ç?.`=-ïÆaî•kͰôªK`~ÉÌì{̉ë¾t7÷Ãû»ZaÛSÁ‡.ö¦¤Y zÝ©Ý`INbY,ÑA¢ð3þ|ãÝwß]ƒùÆT´|^1¥Ó¦¡8¦PYDü¡;ï¼óülO¥Œ›-ÔvÜȆ~[hÞáeOk»9òþ€ŽwÀûïž„­ÏîÞ@”%U×çU§²'AíA¦Ò*!žúÞ-[¶Ø1d &Õ×׸ÿþûÂ(´Œ<2·ôlN¢@¹Él¨× {z`Û+‡aëëGᘚ„qÀnaÞ§SJ´4 øÉ ^Jª-Z´È©ŽZþ£Ø2"€mM°nN\‰»#ÔÔ_k„7^ÚÇ ü€Eh˜žJJ\"àd^ŸVíÿl˜îo$¢2»IEND®B`‚./chessx-1.3.2/data/images/annotate.png000644 000765 000024 00000024573 12275477077 017452 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË$iCCPICC Profile8…UßoÛT>‰oR¤? XG‡ŠÅ¯US[¹­ÆI“¥íJ¥éØ*$ä:7‰©Û鶪O{7ü@ÙH§kk?ì<Ê»øÎí¾kktüqóÝ‹mÇ6°nÆ¶ÂøØ¯±-ümR;`zŠ–¡Êðv x#=\Ó% ëoàYÐÚRÚ±£¥êùÐ#&Á?È>ÌÒ¹áЪþ¢þ©n¨_¨Ôß;j„;¦$}*}+ý(}'}/ýLŠtYº"ý$]•¾‘.9»ï½Ÿ%Ø{¯_aÝŠ]hÕkŸ5'SNÊ{äå”ü¼ü²<°¹_“§ä½ðì öÍ ý½t ³jMµ{-ñ4%ׯTÅ„«tYÛŸ“¦R6ÈÆØô#§v\œå–Šx:žŠ'H‰ï‹OÄÇâ3·ž¼ø^ø&°¦õþ“0::àm,L%È3â:qVEô t›ÐÍ]~ߢI«vÖ6ÊWÙ¯ª¯) |ʸ2]ÕG‡Í4Ïå(6w¸½Â‹£$¾ƒ"ŽèAÞû¾EvÝ mî[D‡ÿÂ;ëVh[¨}íõ¿Ú†ðN|æ3¢‹õº½âç£Hä‘S:°ßûéKâÝt·Ñx€÷UÏ'D;7ÿ®7;_"ÿÑeó?Yqxl+%IDATxí} x\Õyö7«FÒH-¶å Ë+¶I @l³XCCj%I¡±HHø¤¡¡xÈ¢¦ÌO ’¸6M*§Rx’˜>%„]¦á;䆈ñеk´Î>·ï{î=£±léÎh1̱u÷sî9ßþ}ç;wDr%rÈA rÈA rÈA rÈA rÈA rÈA ÞŸp¼‡uÓÓ¯”8]·ÃQc8Ub5h@p>ªñF³!ÄóÍŽdr¯ód"Ù|ç…gôŒªþ ôÐû‚¾üÈÓ%ÅÅZ§Cjw-Uãp:³ƒ¤€"5±XSÒH6õöö5mþô…'”LÄÔ³‰h”T±54Ø¿ÕOl=Q¥Ã G_ýÏV—õ^Q=1á+ð+„¸}yRD—å{¥ˆ.ÍóˆÛ¥nY›ÑÕäøôš<î Å¥;—ÞPDÚ#1Q€ë‘Áõh¤¿¿1)ÉÆûÿú¼mê ²-T&}87<óÚ:‡!×ç—+=îñ¨>Í,*r¯K¦xÄãÀpÀÕ,ÃKÒŸ ' ÇüÀ50¸*†1$ ¤ÐmªŽ}.‡ø]†¸Ù¶õXë`T:¢ ié”8Ú‹…U;¡žÞfÃ!î^sڳ婽ň¦v¹ö—ÛÖ9ŽoaQ{ê+*ŸÇ%'•Éì|ø¼jN‡ÅîÖˆ‚@v0fHOŒ"ˆÆØ0U=½¡Ž?^1Œ„0 ðšDK ¢Ôë”H4&íá˜ìïî— ö¡¾>ÕLt ooÒ0~ø©Õ[Ž×îdß; “Ý›´÷ÿý¯w¬77äøãer|ižKæü2+ß…[&ÂàN–°…ð¨èÎáØVOdwcÀV`)rÆ¥¨Ý C¢ÊaH-"ý}MÉx¼áûyÖ¶ìö ;­M9 Eïvz6äùýõ¢¯¨DŠ ÓO™Q*eynqZŠÝ#¥5jH¸¼+6±CÑ#·ŒÂXLŠ<™é6°wÉ;]½r¨?" ÕÏpoc<»~ªy 5Š‘7×þò…µù¥åϼB¿Ò¹Ë§—È,ï²8î]œÖÄ %í#·>¾w4A€Ûa‹@M¸’Rq gPº# ‰†à4@KôvÕß÷W+ßÞŒ¾õ)A—nz¤dzEeܹëóKËTïU–ËâbŸäyMïÐ%Ûi‰$¡¦D×S†¾WÇ€%ƒ›ˆ2 Á¾¾ÝÖ©Î#}½peCh°§a*HƒI‡âµ¿8Ïax¶B×+ë¾$P,§”äË4¿OÌË;Žß5˜”ÑãjªÂÙè3ËPÜÀT1H–È`sÔˆÖýðc§ïS&i3©ð…Ÿ?W]à/j‚G ®Ÿ^à•Ì*Ë™ÒõûC†¼3˜#9'PÑne2ëEÇ bá~u„ 0‚¡ŽöÚMŸ½`§º8 ›I#€¿{rç:èúF¯ß ä|"~¡G–‘×IúFoѸ!ÿ|à“µW¦lK5ÄB!Õv¸¯¡…Dý}kª·díechhRØê‹=¿¡˜FªMúÖgÍ(VÈ×ýÞÝ“í]Qé…Îç3ï‹?Ð1cMÇ‹Ãp5š0ј¸ý„K€kÁùðáСµ¼rn¹”x@‡0òbàö= ¹šúsâÀ0ñoJZîcÔ %‡a&Dýÿbb%Á„À•=³®°|z#Áí/.‘Vú¥¬ _A¿ªòp}⨠®ºý¾Û$7`¡{ÈBUÀ2ÐÙVÿo—¯Ù¢N&`3að•'Ëw8}@¼nÑ*p~8ß…€ÎÁp\ÞçÇ)?`%aB,lBO7§ë7^<1s BWüûoª‹Ëg6·…Y9³HJ-Î?×îA“>`¸WÃMIMÁnu½¯«µæÁ¿ýø¸{ãN_üÅïç¹<Òì+) xàÓŸW5]q>ýû]0öÞ†¥Ÿ+Cnb¤"”Áîö D¤æÇŸ;{ßxÂg\½Føœ^ÙJ?ŸÂ}YEB>´³;*»|^Ïý xIìÖ¬ßTBxW92E&Ëo)(©lðäå«ß²i%2¿Ñ=èÿ L”ä8?Ü:“ÉgÅž‚bÞ®™9kAöÏ“ñ(ã¦>ÿ³Ö:œ²5¿lš”cÞþü…•ªÿÇÿ¬ý\+t‹˜¢HoP=¯î¡Q÷к V#+§ãBýE•‹öBÍŠJËå¼9ÅR”Ÿ'H«ÚÞŽÙœ\FÒ”ŒÑ™av1 )ØßöNÕ£WÚôG¬=ö㢜®Â  ¬½ºêò•^5ÎßÑÆ`Æ…æÆ>ò)ZC{ÂV¾ ¸_u4àtúp”uUul\öÓçV»\Φ‚ŠJô_°ÀýÛZÃÒ‡Ä\1SRªécT u·K"‘¬}øól] £{*ûù{œgúÆéˆñàùaé°[:vÿQ‚ûÞ–düİœn¯æ-”ŠE§Ø2²ÓMÖ?bØ¢Áóm7zŒŠY•ÿgÓ­óWÌjä{ªçWÊò²éDªÖK-Ðg°þí”}ÿÿ)¤YÅäŠsªeÑœYvš˜ð:»¾+þv§Ž{dÞª‹l½_Ϧr {ÍQGKý/®þÄ[£RV%€a8Èñ¤m- äKTüZGˆVì1^ýÞ—:Áù•@þíŸ_+E˜<ŠDN ò£Õ–å ªä–Ÿ>&í»^—r’@€†Þ#ï½ËØcËcàîÓ?yf–c5æ—O—eÓürêìRÙÙ’}ýöEÿÛÏ?&·^|¦¼úÛdÖ¬ÙÒÑÑ!ƒ˜=ËÃ* ·Û#k×®…`ÉÚŽ1* .‡D± hÖ¬™20`Æëùà°‹òòÎ?ÈmOüNž¿vØÝÑŸ¦æ Bf"É`G+¦•“õ|aMVˆ k‹0¯§ïÀ—H7\¾·»#ÈìñŒ~´ÃžL`%Îbˆý%—óèÆQÈN`é–=Ù2ìEïq:ü!‡¼Öé1ÊIeù²¼4!yX'^(­ØwŽÁRçé·G}¬…§n‹NDÁ:KR +pÉ}¿\íñùUÄoÉô9=²£% „9âF=Úar9æÌ™3åСw‡Ý™àÓÒvÈ?<ü{yõÏïH r‹ýrÞé‘/rß8ËËË1üÓõmt[/ruÁ°dñä« ªšOþè—«uͧ¶Ùhòˆ*Y!§ÓYϲ,.õIË@D:­>íÐñÚQžXð¤V‡$ŽÓ‹®ºªïYÏñZz=Õû3ì9ÝžnKŸë½jšÎ¨G®ÿÙ«òǃ-rÒ¢Ù2SÚsfKKëa¹ådý§NÁÚÄ¡þy™ÑŒÊÉŒ` Þž²£†¼g=ú·M÷Ñî>ãÉ 5›ž.qåÖ»ùÆÝwËŸ"%2÷C’‹gÊ‚yJ´·õHw/¤¤Êï|]Öœ¶Hþr¾‰<­¿‡®ŽýH·¡÷„ a–¶Œ½µ¡€;Ÿëó‘èQà“9%~yáð `áÊHïéîi‘\Q1ˆq‹×›½Z!q › Chis•/9ÌlâiÓ¦«ó‚üI–$q CöeÁónèQ7r ¡x` Î¨¬”h$Š”D—B¨~'¥€Çã‘¶Ö6ù—Mÿ"îÖYÔõxWBªæ~H¼xG[[ÈHOo–8ˆ(ØÝ%2¿T½’%4%§®Ú8€=Åât™¶€ïN.¬YÿH Dp9e¦ß+ÝᨴC¨’ÌX»°YUæÌ+Áž @Ü—”( *}ÀyE Å Ô½ù Ž>¬Ôå9ÕÁœŠ¹ÒÝÝ ŽöÀ°4JtïhU—B²âPúD~kk«ÜróMÒÜüšœÁ²|ñ"¬øé”ÖÇïêK¥«'I3 Á Vãϩ܋– !Ÿg{Zo«ÁØÜ¤ÖXÄdµYG¬†D³pÁÕ[ÆDµsÓM7ʶ¦çñ\)¸½M‚³ƒòáS?,®½ïÈë[¥wùÅÒÝÕ'AüõuõË Wý­ø½ W žcÐãPÛÞ˜ å°¾€¢áN ÉÇì6›8‰Z-2g`QÇŽC}bèO´ØíQZ=Mõp§à|– ¼8·¨¸"S§ À ;Ì=—ƒ“©Ë‰Ì<¨‹iåe‡Ñçóùě畲ÒRˆz§ø¡ØoÊ´Š eüQ-mJìù7ß|3ß$¬U<¶AuÍiŠXz{{e>¥¼e¯´ýþi ú—H/àÌS–È'çGñ1‰!䳿ƒÏ3-ÞzO ÍÉ!$j è¦iþ<Ùß•(ë̹+8éA–(ê‰ÌB ˜ ž6mšºæ†mÀç\Ð÷åD>­z.*õù•” ¤``&‰p2ï4o^Ê5£ŸÍ:DáÎb8]µêÀæÆ¶ îA쿆øžVè“0‚Ôʳ_6»sd5 ÎÝ»wÃès 4Wb9YgW—‚ƒiqÔßtóxLwŽêbΜ9èVï߯¹”ôJ‘™Lo †(D=Kâ1@`·Þz«<ýôS ùË–Ÿ䯄2 ;¶o—CHOO¼‰œyÖGÑ'‘³óäÖ+Ï’Y…º·G!‹<‘R.CmŽòÓwGv+uf]ž"f€¦Ôç‘w!Ø©$¾Á“­?å[¢«¤y%ÖÁ¥äTÄ»ª&䪗òÅø£…O[€-òn %‡-ä±.êPüé$¶E¢Ð…xÀ-·Ü¬”ʲeËe%8Ÿîçöí/Ëû•QI""¡½øÛÿ†j8Yîºú2{ä+(ÃCÉ<ØŽ5Ta? ýâûþsu £c<°-’à~v".ÎÔâZõhŒéqŒM• µo]+‚GdðñåUóç«çxz_!×i(Òv *ÈÇur0%Dm ½ƒoë6yöÙg%…üUgὊó5ò©FØ6 çôÓO—/\y%¤ùy:«[Gí8†lŽº;ö º­ô=%1ZÚ6öÖç°S‰uðÒ* w:¥ÜŸD0ˆ_òÊZ!u³ìÝ»[“ú“ ¶Ù˜$©çù%íƒÖ–…xE;¬vr:ãDr@¢ „õ›6}ººÁõï}ï®òO^ ¿ œ™¿;vȃç³¾Fþ…^(÷ÜsRxõq Ç ƒ7Ç}p”7wõ$… ǯp¡Îƾ±Mx ‘]ŒŒßVèÿ¤ÇLgvh¬½/GÕÐÆS” r4ý_"4ÈLÅØT@Á’øq}ð¨6x=‰z.B$;çôXZàÞwï½ò2DKâÂJ[Å6à­XìÁ·2€'º]æ=Äa‘¦­î ¯„öQ-Y¢ÍÁÓÈ£(&‚)Šy.Ï…uO"¡tМO®¥Žç9¹§$è‚}ðãŸüØB~‰,]¶LVBì`Îáå—¡ó÷ïS*@‹}¾÷â‹/–»îºKy Ã{:ò9a”E˜ ';10òûÇ6ÀºVT×îga8Ö,zof°ÓpÛ½{—"ó(Ü/¿¿HYôô­gÍžp°éÓ“Ëw¿¼Aì‹ý£ÈJJZäùÔ´ò;{Þ6> ó{@$]=r>‘¿êìs”¨ß±c»…ü>Ehš€.¹äÅùt ÇR8Æ[¶Š†sjo~@câ%€’¦m½75T¶†k¶ãEd®a]®'ì‡UNkß0†¾äêGgèÞÑã>ýM_"È'àkßpÿʤ 3„ïÝ Ï=g|´äií3ÓˆÈ?hYûZì³+V¬‡~XvF¦ac§îð:#Á}øs£=Ï@˜]ÑLÔ{Ó$íëÿœÖw~øýœá£æ5Šq-úµ@ïªj¾2ü¨Xø<• À}Äl–gŸyÖ~@¹z+V­TˆÝþt>Ä> M‹}¶qιçÊmß½]½“çc-ªŸ)é8ÖÚG?¯áœ’€G&Å>XoÕcÓûñðZ0)ãƒ^g1'{ò ‚³á@ ÑÕÌ À ý… ‰49áS‚02 ¾$ÏùJì/¥ÎG„+p¶Cçkä§sþêÕµrûëU> ¶F<¶«iØŒ­æ±ŸÖ½ÐmÚìVªqû`½YëiM‘Ùô‰LR½rßà¿{€läï®cú|ŽŽÀ,ö(¾Ý[ï“CgG'\µ€ìƒùƒÜ//ËÉùK—.‡Î7 >Føˆ|Φ#ÿ\pþú;ïTÆäåk¦À6ú%2ÅRÚëÒaÂË™69X=ЮŽCSDZ§íjj_´h‘ã‰ó<æä BŠùyUUêÅ~ MiÁë7nTȧ$X²Äôó™ ¢üüGúùìë*H†Ûn¿CŽ” ™Ž.l¶Šf´!dH€9¤£:¢eSF¬ÛfSŒÁS73¢G7ކ]lr4 Ïr¦Žî-uå÷c¶pý·ËSOþÄWb\=Æ^¦Î‡ŸÏh_ºÎ'ò×ßùÿd\J"ŸÄ–Ia¿4Ò2iG×Õ0¾×÷Ǻ·M€¹*zïÌ‘§Æ ‡¡Ûý˜Ð¡&bûh†~ ‘ôAH1¸ÜÁ³TíXC°yÓ&eÙ3‰„ȧ«GÎOGþ‘bÿ<ùîm·™È±¥Šâ2{„À1èq¤ÚËà@·¥áž)¿Ù&Â@Ž¢D¬ F˜^Õj‹©_Ëà«“™ @ä³ÐªWB8¦¨?yñbЈS#oðgþ»‰|ÅùKòÍð.t¾ÅùéÈ?çœsåŽõëÕ "%BzѪ(ýÚ¨1 £Q×9΃º­áûãT9î-Û@ÎcÁ·í¬½)V¬Z]Ìp£í º}ÇD E|b´ú8±ãǿӘ飠Îþyfò”Èâ%ôó!ö•Îg‡³z½G|ôóÉùœ>ÎTçröCÁ&œ5l4†¿w´ç¶ z­XPù|™Mv­åcv8õº‘åÛ«ž~‹3²%a,^¼Dq?]Á.x·ýówäñÇW®ÞÉ–«Ç¤O†w5ç§ë|"ýú;!ö«²Ž|5&Œ!«BÑÄ?5!f¸°Wl,Û _©E‘¦HG¦J)mÿ4ò˜°á/Ârs@“†`2û)þƒpû¾ý-yúÉ'ç/ŬÞ*mð)äïM|šËφM t>¼†™G*zŒ#Ý?ÞuŽ!I¡úº/C’WI`… ýÌXöö À¯Mq¾Eæã‘ÿFß¾ ¹û<];Ú\,Ê4q"ÿ;ÿÔ O?õ²†éç›:ŸAíçS5¤ë|n¿ã™=g.®Œ|:èc¬~–u³ 4¦šÖpç)Þ1ñÊ/S4u§$€Ù?=þŒöÖX•¡Ç\>rîaDôhüMŸ>ù{è~}áûß—'Áùtõ–@ç+WM?ŸÞ‘Ÿ.öÏ<óLùÖ·0CÍ-·“ŠL;ç¸ÏpÓDÐ7m\ÖÄH©È¢\LÃØ«NlllK€¸‘lvt‡ô^S¨¾UE{ éú±&@0ïS 5@±ŸïËWH½ ѺgŸ}iàÅŠó™ÌÃ’/Æöä|~:òÏ8ãLùÆ7¿­‚<Œû¦ØsÍ–9†lFó²÷xF·•¾OïQmÄÛ¶ ൾ|ÛG¾ñ(ТDkkWF|ÙXoh1Ç™=mé3 ˜Æ_/>®|ÿý÷ÊsÏ>§Ô9%tz Ïnéeäí­óÏ:ë,¹ñ¦›eÆÌJµXd´ýáûìŽ!› $SáQøÛDj¸¿vÛç¶©ÛÀw%`à'qjx¬pó^"œöµ !žˆËÏö lCÞ>g éê1ÈFˆSº\#8\ç“ó¿þ7*ÕarþèùÚmýˆ¤îÃX÷Y´‹¡òŽ|;T mîgK~§ ;VàôZþ‰VÜGöÓÖ™6žèÆéB‹ÿ­·Þ×_]­ñã"³¢M±¯“9†ëüšš¹öº¯báH…Êò…ï ›ÕÞHLà ?ªš4ÐÌ0õ(ÏǘóÀ’°¼–d4Ò¤.ØÜdD˜šiÂð®ç»µèN¢6;ÆjZÏ1ýK?LË®¬œ©–xŸqÆY ù¯¾úŠº>|>ÿÔêùÊ5_5 >ÄÆŠ|ó½Dþ؈F÷—cȦ ÐL¡áO$›ô»ìì3"€îX“'ßDNb™…kØ­sŸÁV ,ÔÅíííØ;ä/>þqùÍOÀ=lU–¾™Ã7dðð5XÎuÕ—®– ¬f~¿Â>(GÀNeÔa}=›M¨jüéZýC•ILh±„:›ÔÍMF°góÕ=ÕßþÕV¨N/ Ó” ™`³KGW [€ÀÕí´Óä‹_ú²Ì˜Q©¦ŠYßÎßéGvѹg¯´&Îtü©úq¬‰Ä_28óL)°ÕÚ‡je$ØL(8°µ P˜ 9Rîõff…ƒg™_5W-÷bP‡9\åË( shþÕ'.A@ÔC›š5¼âŠ+Æ5 ¶ÔR¬Ë%äÕÕ§¢˜"0;£QÌ‚]¤a‘ 6¡¾ØäÕÀÒ¯mntäÔ@ë N‡¶ìc@ëÎå˜ fyñÅåw¿Û!‹0íË®®nµþÁúøûØX²u¤€ýOÓ©¥møžL Ç Ça««r"fÚú'f‘pãžÍÿ7#ñÏþd,ØH<otF=S”šÑ¨ÙJZœ¬yå•WåÏþ³<°yÄüéj>àœsΆG0CæÏŸ¯Ä½Yq m1†!»ÈF¿4 ¬½†o<žl´ÑÚQU²B»ï¿fÛ²›Áÿ5·™½Ë_cqdÀTŒý3ØÓ××/o¾ù†Z²xñ"ùìg?ƒ©àÅ úÙ DeÏèTÏpCƒ•}WJL#ÑF›Ôû,‰(S¹çCüÙ½ñšmêB†›¬€êX2¹?©ÕNÏh¥ˆè{ÊygV«<¿Í›7«°ïŒ3Ô°§ÒÓqÁ¼Åx‹_uq¦ßÛ±¦ WEìbl[+#?m_A£ÍÅ_ÙøŽ§dZo9ó‹ÔN|?P1âpËn©rwÉC·Ô«oþp:w*#ã¤Qʵ‰L3¿üŽFÙ/_å"cÙZþ^2jÚ ‰Aó×Äâý]{wýè+óÇÒÔñžÍšàK°~·!)¦nâ·Xઽ¸@^åÙõf›äŸ-úÚ¿=o÷Õº ª‹.ŸùëàúëVvúiy[¢ûÔÚ?;õ'ºŽRÀ[¯—U.´ýê”î·~n>1ÀUOÒ´ûþ+Ï·Ýè1*fU°ýxÒhÀ/‚7)Ë çÚÎ仞 „'ZÑc·Óoó×V?÷ˆs5ØiëxuLSýxOŒñ^pÇcû5Vá[±5F"fÎ p‹^¡çõÇØìæq_@Áì"}X߀ˆ*£¬Ü'C}ÞÙtõ¦l"ë@uÐè¿>™ ÔÙê—ÃÔ5­³®t² ’ÉmV>KúÜéoP7²¼7t̽êk±no«Û_¦ºìô™^Ž ¶›å¡œàÍY~ž3gù’a3]->Ð%îɺÿzíA2YWúe½¿ÿõ[Ź8àôæ¯à5‡õƒJ¨ úÉÜ^AÀbyªMð?&~Ìiv€6xàº{Ç J㣬Þöuh(vykáÔ3>/÷ª»ü¤x®–¿O=Ï’´~::Ÿj ™0T7Æi“ñtðñúÕýè=ðë Ö ÃÌB—û âÇ/êC »ñØOˆ"žý…»«ÝùåÍ€SÇôgå0åú,Zä[¿œ´bý†å÷Ç{»k=xÃÎñ†Í¸Ùéï{í©Ö’3þz/®Õ &âùÑã¤DpÜðñ¸a®ÏT²Îëþäº'Õ…qÞLp =¯<¶Ó¿ì‚½Hè«SÏAs޳%°L¹Èýû¹óùŸÆÆmDññJúù‘3ã'ÜWðk¶L&Œ8 ¾¿ÙYI×áËŽ¸H¨icìmLM²úž”è7<´ñG¦@þaý¡Oò9®Ia·ÊÏ߳Ε_ÒÈÀMäNóK£:£’B]¿l K×§D½åïkž?Ü[ßòÓ¯Oçk¸N ð峿ü¯ë€öF‡{X?Aó~“)ÐKº, )àü«&ùÄä_>ý3ë«]¾¢&LyXù‰¢%~ÝI­3˜Ô®ª¾Œi“õ ì@Ùaå’Ú[óûJç‹„Õ_Ûö7»µ¯^~ŒÍ¤Cuæå?˜—ôÊV§×üéÙXÉ¥e# ç'šJ°Ò€ ôî"€è@3¾±]|èº}ÇÀË„]šP#ðX£êÿï{¼þ¹xÝ>ÄÁUØXy t“tXú“ßÓ+‘ÕL ¿EÛqÊüáªÏè+­{u°î••Ïœ~èz^K†{$ mˆ>\|ìÖÖcÁd"¯MºHlùgîZë*4b¥QÀa¥’¥â)‰ Ã)Õu…|ŽEMçò@/αˆƒÅˆ©ŸÓ &BÁúÎÿ¸ñ1uq l¦ñ#Ž—®/q;ð3Ùõ„Ó‹o²¤¼3€”šKÐî#ðMdIéxÓ[«·+é…#"œEÏîI,Ôˆß>¾¾ûÑÌ–r©F³¸™`¨¾ç—Ý·SÆ €ZÖÒn"~N52U ?T¬ú§  7!-ª¡ãá¿Û¦nL±Í”% §òOß¹ú¿ÁéöUñšCKk617@žºß-6‹5´G8Ò i%ujè­”ˆO˜O!^[ù‰^ Ü´%­µ)w8¦\GË/»„ ×C"Ô°s)  m‹pÃê»5´G8ÒÆÍvR§ÖÁ°é[¬ØPÏi]¯aí m‹Õ‘)½ S¶ÓKo_íL:ëÅ“WÏN:¬YE3´Œsí6eŒu¨áæyÊÈÓ¢>nfð`i#~/»1øè?nÓ5N„ýX¡2eÆDcÑpxë\Þ‚:tÊš[ÀÑ8Ö¾+(7ëóxx«ÃˆnjÆÝhuÂ@úK×€®ZÄTk!jÁüJM˜ÏXCíHS"_¿A_@\‚d2M ²&G°£©û™ñMÖÐ=ÏýhÁ2ž}—¶—Þ³Q›  Á"DàHÂùµððšq7ˆØ¾o>úõm#×ÈÝÉA rÈA rÈA rÈA rÈA rÈA rÈA ¦þ_ž!të,- IEND®B`‚./chessx-1.3.2/data/images/arrow_down_double.png000644 000765 000024 00000012354 12144113023 021313 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ  .Þ% *IDATxÚíMlT×Çÿçܨĉ] ‡Ð@0JU“0(BQhU&¬ª.Z’.º©äAÝtW*uÑMU¥J]¶Ý`ªH]´ÐU¥´ÉxQ¥¤‰bH­$@€ðY0cj°k¿{N÷¾™1„™7ïÙç'=íÅÌ{÷üï¹çœû1¤ª0еõýØštic0&Ã`˜ €a0L† À0&Ã`˜ €a0L† À0&Ã`˜ €a0L† À0&Ã`˜ €QJ‹á!~ü›ô'îö…«ºRÐ41˜âïíÿL•ôU¡ÎXð‰@ÕCEG§uvïþ·)@ÌÈ£+W=]Ù¶k3Ö?·-pmÔò³MæGë±ÿ(Î^¼Š÷þúQuîŠðjÞÛŽŠ~BÈõíï-[æŽï؀׿ñ-ôÒòóSÇÆ9iCø)f0‡?½‰¿Ÿ…Bw¿ñ‹¿k«ÁÚ|BHñ=€jY¡øèÝóøõ{àJÝ?àbcµ»ÑâçBxU¨„¡À'ññIðªeÇòÜ|‹ äØÓ ÇýŽ?¼1€ð9Ä!æ`¦øyé•ÿæ-¾„(Hâ\ÚQ;7ÄùøÞ©Q¨†Wˆ^K‹ÂþX¾î)Äg8 ÅL@E¡*PAA«Eà >H^¡V ̨@Ux0\t½Ýˆ<$uÿ¢Ù«pIz8 "PÅ ‹‚˜DÃ+…º„ ƒÆ÷æ<Ž^%Ûþ/HáÓYAÑ"I˜„‰9õ!êÖ„ ¬`Ÿ©A>Æ>N'Zˆjà"ÈBÎïÅÃqÌ@ð™ßGHÿ¼øðªÞ²€¬ºŸŠŽ "`f ɸ ó‰4z¿ l60«B€ƒÓ\<­dÙø ˆJ£$jë²U ž ÓÀ”áLŒBC& Í‰ U+g À‚PbF:—uó§å_‘ðɉd]‹X¢ ñOa*8¡®>‘ÄA¡$,…Xp¹(Ò@e'¾äá×µ{Qhx¨¼ÙD$€0ƒ… ܽV×§õE ³aP÷Z_DáE .@VA )à—dwï^Š¸ËªøA༇’ƒz wu/FcYx¢P*&€¬‚/!K,uiÐfe ({® /€D1伂/åîæÞ¥i‰BÕ™: ³V8îÓ 2ò™ ˜¯¨ä~-òöðßß²ˆö‡™˜rQ{K׊Hâ÷ÿãØG¿l›ÁÚ¼ÙµØþÝ-;Ã^bìf"4—Ô4.nnÃQïçüóϧÆLÀ‹»^ìçe·k+žê-?ÿµUÃ: 3„™Ûs¸rúÈ…¿Áùª»§3ƒÏmDÏ“O„ "i`òòþs¹ã2ß[9ùÖÉ©¬Ë€Ýlyí¦gËûþ Oùˆçÿ@0Æ/œÆï~v¤1—£´0²ï;Ø1¼%Þš@A@ã¯ÀÞxoþþx™ÝËÆ²¾ÕÜzÐíó›_^7°nó³X1ÐŽ\ˆêgf\>uO_ÃÍßÊíPÕÓ׃5_}›^ZÛX8Џªøøø||ü<Z‡N|ëzæ ·1ÀpeýNç¸ÆÑí§‘>1ƒ Å@ùr zm8‰ë¤y´Œje¢vîzÿ’ ·îÚ4¢$£ÄMÃ3S8Šâààò<çžž ª”’.‘æ!*Z;wØ‚À{y‚ë÷Ó~æô,ž»„ÀùŸti[›½^ÂÖ±ýoŸ{¨qI¦Ã¯®?DŠjšò¥BQ!*®w»ühüщ±s{, |@¾þÍuã2Q÷!Ï@zfAÃøªŸûl[ê…)—–ÏT’¹Þš:.+BÝ?Tr<H*‚°ID£ñKn¦’—[,T%ð…—¿²n®47NÄì(dÌ`Í_ (¤QÊÕú²¤TþðøÙÏÙ`K½¼ñ•ç·:’0Q¨æ0H›U}Hû©'•3ï\8ñX³¹`ã+kFX1Úði£¸»‰î’ñF) B¨žyçÒáÇ6˜ Š`ûêvn4m4ÌCa(öøõ‡_÷žz÷ÒÁ¶ÌÐdÃöÕ‡@¨’ò秃»ábÐŽŠ +• ýôý«{Úf0ÀBÖ¿´úv…õ€Ýô¢MÇåaþè¹÷¯¿ÖVƒÙqñ ™žóÕ§J\óìË$¶2@žÏ£$qo`<)Ì à1~¨æ½ý ï`ð…gúW8œ'`éú€l 3|>}DQŸ M~x½í_cCÀ=X»ep+5fOÖÉï iú¤“;¨¡rñ_“':ÒcM÷æËÃ;P e¦çĈ_•+“[ØaøÖ Ž@eh)uh¿Hº ) ¨ãêÕ‰ÉÃ|>Àƒx‚Í_ú-{˜¢3ÕB³<Ή=på“›?íxÐfx0Vm8P•]Úpí,H‹£W?¹¹'‹ç2<+7<ýe7VµÍü>žA¢2~ýÓ[Û²z&«‘©Álx4x Æ" ÷°±@Ì÷›§OÖ ¨Ü¸˜­ñMAÿê¾v: <Ú|´´“€ªS—¦wã9LAߪޟ8ÆÖo”ºß’»OQDdïôµ™ƒÝzÀc{‚'Rm¶À}ð¹s~xtêêí=ݼ@X±²÷Cv?ŒèÑ;7æ^ëö½·[Œ%HÏVEu\¼"™×Æ÷µ^É|ø ñ Qïãùê¢L•—¢¤þž¹Òy¤™AËör]øƒõÙåÉNêT.îÛ<@{ÐIš÷Zñ^ëÞ+i^Þ7®ú¼×J^Œo ¸'ÜNfÔîÑ:»çïȱ\Ì<@{ñÿóc~^«’h]E¼ê~^«y3¾y€Îö¬~f.‡è_ÆUóéö- 4¡Ú`˜ €a0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0 Ã0ÿ†ØìuZè%ôIEND®B`‚./chessx-1.3.2/data/images/arrow_green.png000644 000765 000024 00000014276 12103305243 020121 0ustar00nistaff000000 000000 ‰PNG  IHDR((Œþ¸mžiCCPICC ProfileX ­XuXUÍ·ž½Orèîîî–î’N‘:tsQ E))E¥)Q)A$ DABBîÆïÊ÷{îsïwžçÌ~ÏÚkÏž™wf¯Y/,ñžááÁ0 !¡Q$#]'gÜNÀˆÔŠžÄÈp++sð–µçˆRÆ%÷Úú?Ýþ÷´Þ>‘D +ä¶—w$1ÁÈ/NŠ¥€ØŽD…ïa'3"xï= ~ÿà„=ìõÎûãcg£‡øT€§ðô$ù@ÞˆØybˆ~H;ä`éB½B G°&ÑßÓÄG"$$lÛ!XÄë?Úñûìééµß¦§§ß>þg,ȓȋõ"Ã=þùóÿY…G#óõ§p!5Ed­rÅ#sKô4°ý‹ý}Lö8ûcÒµù‹¢LöÆöÇîmlÿGÙëüÅAafûþ¡^-ÿÚ‰‘zÈÜÿólœ¿ã_ìí£oð“Âlöý#cl÷íqþzÿúzšîñý§ž$ý7ö 6Úox”Õ~?CƒîÅ—d¸ïãùïx£üíŒÿ¶E²Û÷ñ 04ùk÷'ïÛÃÿ¬é?} EÛìσO¨ýþz{êïÏ-À£|b£ö:¬~”àçÅ£ƒ¬z “P¢”œŒ¬<ØÛC{>¬ØüÙÓÈ¿¶HdìjC_cÿÚ<âhuE–±ò¿6~Bïø‰Ñ¤˜ÚCï]0€¨`\€ˆI ”€:ÐÀX;à Üøƒ@G@’mh  ‚!H($Ôz ¯ +äää|äªäÖää ä…ä·È“Ïÿ¢ ££Ð£p¥ˆ¦8KQEÑIñ‚b…’’RˆR›Ò…2Šò,e åCÊ·”TôTRT&TÞT'©J¨š©Æ¨¾Q“Q RëP»QÇQPß¡¡^¤!£¢Ñ£ñ¤9ASBs—f’f•–žV–Ö’6„6‹¶–¶ŸvžG'Dg@çM—LWA÷n–EÏO¯GO¤?E_IßKÿ‘Ë Ì`ÂÈÉpƒa˜a‰‘ŽQÑ1–±„ñã4ŠIˆÉ„)˜)›©é9Ó&3'³³s:s=óó: ;‹6‹KËM–g,›¬<¬¬A¬çY[Xß°¡ÙÄØ¬Ùް]bëe[dg`Wg'²g°7°¿ä€9Ä8l8ŽqTp q¬rrqq†sq>ä\äbâÒæ äÊãjçZà¦çÖäàÎãîàþÌÃÈ£ÃÌSÈÓóÄËÁkÌÍ{…w˜w‹O˜Ïž/‰ï&ß~¿ ¿/7ÿ’·€…@¼@ÀKA2AAÁ ‚}‚ëBÂBŽBiB-BóÂ,Â&ÂqÂu¯E(E´D"DÊE&D±¢*¢A¢EŸŠÁbŠbþb%b#â°¸’x€øEñQ Œ„ªD¨D¹Ä¤$…¤ŽdŒd䌓”¹T’T‹Ô7iiéóÒ}Ò¿ee‚e*e^ÉÒÉšÊ&ɶÉ.ˉÉåJä&ä)å åOÊ·ÊÿPWðQ¸¤0¥H¯h¡˜¦Ø­¸£¤¬DRªWZPPöP.UžTaP±RÉRy¬ŠQÕU=©z_õ—š’Z”ZƒÚwuIõ õZõùÂ|T˜ÕàÓðÔ¸¢1­É£é¡yYsZ‹WËS«\ë½6¿¶·ö5í9Q@ë:ßtetIºMºëzjzÇõ:õQúFúúÃtöÅo ù ý ë —ŒŽucŒÍŒÏOšpšMjL–L•M›ö˜Q˜Ùš›½73'™·YÀ¦¹¯  =Øb ,M,s-ßX [EXݳÆZ[Y—X²‘µ‰·é³¥·u·­µ]³ÓµË¶{e/bmßí@íàêPã°î¨ï˜ã8í$ítÜiЙÍ9À¹ÕçâàrÍeõÁ¡üC]]S]Ÿ>{¸ßÍ-Øí;µ»§ûŒ‡£G­Ç¶§¥g¹çª—‰W©×QxøÅ[Û;Ï{ÁGÃ'ÇgÎWÃ7ÇwÞOÃ/×oÁ_Ë¿À1@/ 8àG q`YàzePUÐn°cðÍ|ˆGÈÝPºÐ Ðž0®°Ø°ÑpñðÔð鵈üˆ%’éZ$y8²5Š9¬ E‹D§DÏÄhÆ”Älq8r'–664vè¨ØÑô£sq†qW¡uÇóÆ'ÆÏ×9~åtÂëD÷Iþ“É'?&%T'ƒŸ$É$å$ý<åxª-™39!y6Å(¥.•*•”:™¦žVv}:àôpº|zQúï ïŒL™Ì‚Ìí,bÖÀÙ3…gvÏúžÎVʾt{.ôÜóóZç«shsârfs-r›óxò2ò~æ»ç÷(”] \ˆ¾0]h^ØZ$Pt®h»Ø¿øY‰nÉÍRŽÒôÒõ‹ÞÇ.i_ª/ã,Ë,Û¼pyêŠÑ•ær¡ò‚ lELŧJ‡Ê¾«*Wk®±]˼¶SZ5]mSÝS£\SSËQ›]×E×-\w½þô†þÖzÉú+7™nfÞ·¢o}¾íqûyƒYC÷•;õ‚¥MôMÍPóÑæ¥ÿ–éVçÖÑ»¦w»ÛÔÛšîIÝ«ºÏ{¿äãƒìvB{rûnG\Çjgxçb—_×l·{÷«‡N'z¬{†{Íz?2|ô°O§¯ã±ÆãûýjýwTZ•›‡‡šž(>iVnQi}ªú´môÀhû˜ÖX׸þø£ “‰ÁgŸ>·>5é:9=å=5ÿ"øÅ—1/·^%¼Æ¼ÎxCó¦à-ÇÛòw¢ïnN+M?˜ÑŸzoûþÕ,qöˇÈÛ“?Q~*˜ãž«™—›¿¿`¸ðôó¡Ï¿„ÙZLýJûµô›È·ÆïÚ߇–œ–>þ ýØ]ÎZa]©ú©ð³{ÕjõíZÈÚÖzÆëFõ/•_}›Ž›s[G¶qÛ…;¢;m¿Í~¿Þ ÙÝ ÷$yþ9  öõ`¹ JgèŸ@ úçŒûÇ9#sÁ´È© 2ƒ¾Ãù(´&FkˆóÁ_#›!× (¢‚¨Ch>ÐyÓa$2Ͱx³¾e·àhæâä&ñ´ñ.ós ( ê 뉨‰*ЉˆsIÐJ¢%×¥æ¥_Ê ÉvÈ5ÈW(ä(&)…+V1VUTãRǪ;0©Ñ©Y«U¬­“¡›®—©Ÿmc˜k”gœo’ošgvÞü¬EæÁÓ–)V§¬OÙ$Ûž²K¶OvHrLt:é|Ì%öP¤kèá7ow¢‡gW41Ñû¬O‰o•ßÿö€Ç£A/ƒgCC×ÂQt$ÁHÕ(«h¿˜ãGÎÇVm‹>6¿|u’&-‘'‰ÿ_2O G*KÃiêtB:c's-ëû™ù³3Ù¯ÏM–3ž;–7–?Z0ráIá@Ñãâž’ÎÒû[/5•5^n¹Ò^þ¸b¢òýÕï×vª 5LµüuR×Uoè×¼étËã¶_CÈR㑦cÍ'Z[“例¥ß˼æÁÙö쎜Îü®â•=µ½õn÷5=ní¿7ð`°}¨óI×p×HÇÓ{£Mc×ÇË'.<Ëzž83øâðKëWú¯•߈½åxGùî÷ô×™—ï{go(ù˜ò)lÎy^wAü3Ãç/ŸŸ|múvñ{ÊRè§eÝÉŸ¬«˜Õ¥µ×ë6nÿ*ÝLÝ ßvÙÑû-¹Ë´»»Ï¿.4 §¡lЂ6¬ÎJv‡¦ð¢l§¢É¥#Ч3¢™Ž1o²ú²½àÐä,äú£ÀëÏ—Í_#Ð$Ø*Ô"|[¤Z´L¬@™ÇòýŠʃªCêO kŒh>ÕÕ37ž0{fùÜfÒnÊñ…óËC¯\_»½q{{øË´íŒñ{•YÁ4~}|ÿi`®a¾x!ñ³ÿËE¥¯œßPß¾|ŸXêúqk¹|¥àgÖjâZÌzІÇ/ûMÓ-ÍmÙÁ߬»ÿƒÿX” š°Ç·!;M¢¥L¤úDcKû„^›á“s%+ [û§5W÷w^>wþ“ù‚•BõÿwD›ÄšÄ›$$oJÕK_—©–­”»,_¢pA1G)Cù”J¼*IÍWÝ倅†¶¦Â>¿—.‡§>§!1— §)«“9ÅAœ%l¹kµm½e³i»m·m¿í°åøËiÍyÙåׇۡ߹½rŸòxî9éõ‚øÆ{ÆgÖ÷£ßœÿ|ÀBàBÐ|ð\È\è|Ø×ð5I%­cräPlÈÑø¸¬c¥ñµÇ[hÚŸ0˜ØŸÔsê^rCJUjiÚ¹Ó)é±A™‡³,Ï蜕Ï>Çqž!‡2—,›*;~®-)ùX:}ñå¥ñ²‘ËCWÊ*+‡®_®©©©}R÷äúàúþ›ý·n?i½ó¬ñeÓ»æÙ–¹ÖÏw¿¶-Ý[¾ÿóÁjûzÇzçz×F÷ÆÃžÞõGk}«Wú |ü:ôùɧáّ駯G§ÆÆÇ‡'?ë~~²iªþEÕ˲W…¯³ß¤½=þ.rÚoÆù½É¬Ê¡ôŸÀ§Å¹©ùž…[ŸK¾¤.F|uýfô]a‰ÿó2õ ùOÂ*a°NØ ü"ÛÄoá¶±;˜ß¨]hÿ´Ž½˜€Uà’“Û7`Žä —œY` ‰TXQ`§ `þIÃÙÚ ß@¨A\H®)4€1° iHFY `|«b‡¤!=$C ƒÒ ËPô Z†ia9Øއ¯Á(4’Ó…¡ªP³HÖæ.GÂHb¢1X ì!ì „sÂÝÆSáƒñÃdòdÅ!ŒðŠÜˆ¼‚“"bÒ‡r’ÊŒª‹Zº‰Fž¦‘V‰ö.Ý ½=ý4C(ÃoÆsL‚L÷™˜WXrXX_°%°‹²qãäçäŠâæâà9Ê+Æû†/—ß\'Ð#˜,d Œîɵ£/’ð””Üz,]$"«/Ç)·)ÿZá¡â-¥rå"•<Õµ\õ .jTi6jõhOê,ê¡‘µ­lhcjœiRk:döÂõ ¾%ɪÂzÒ–ÊÎØ>Éáãš³„‹ç¡|×7È]Í#ƳÉkÍ[Í'ÑwП9À/°-˜6$8t \"â<éW”wôؽؖ8©cUÇNT&&VŸO¾™ª˜ö Ý8c2+àÌïì‚ó²9#yŒ”°—N\ʽì\.Pñó꣪Қ˜:Ûò7™oí6,4N5¶>lë¾ß×>Þ9Û½ÑKÛ'Ùo1ñ¤h¤wôç„Ès÷©¢—Ïß0¼³™É™ÿÄ<ïþ¹vqó»ÅÊ•Ý5·Î-áó¾@‰ðÏ D<ÐD4àÂ]!!ZB+x ^€Ï`¢†ø!eD# Bqˆ*pêƒ>À0ÌÀp.ÜCñ ìQgP}hZ„îÅcl0¥˜9¬"6;‰“À½Á«â ñ›dîd2„Rry,ù' ŠG”ª”õT‚TeÔÔ%4œ4å´¢´tÚt#ônôßN0Ò0V0©22³XjY-XWØJØ ÙW8®pZqîrÝâöâaââMåÓáü])‚fB Bï„ëDŽˆêˆÄÆÄ‹%¼þpß']($«#Ç*÷S~T¡Añ‚R‚r˜ QÕUÍIÝ逋†‡¦¿V”v’N®n•^»þ¤Á²¥±˜‰±i€Y¦ùm‹–h+9k¢ÍÛa{¼ƒã)§.çÝC®q‡[ÝÖ=T=OxõzSû¸úÖùý° ¬ Æ„¸‡Þ gŠˆ$=’Ž>³ëzôÑ1¹øò 'Ó¡¤ã§¶Rާ¡NŸÉ`ˬ=£qvâ\HYnM¾YÁ¢bƒ’•‹eöWðå*£®IV-ÔÔÔݩ߸ÕÓÓèݬÞÊ|wûÞâƒùŽݨŽGj]‡ê†§F ãZÏb'_,¿–|ë=]ð¾÷Ãòς͗ԯß7—UƯ=üE¹å²S·Ï?àb@Q™Ì€ðF”¥“à,(×i¼ß!b„D•È „M¨a,[À$¸î…WPü(Tê!j­‚ŽA4š Œ:&ӥǺco`wpV¸«¸m¼þYÙA“p•œ’<†|šÂŒ¢Q> ©È©’¨6©c¨Wh¢hÖhÑÁtô ôe  mŒfŒï˜¢™©˜kYŒYXϰɳ½bOææxřƥÈõ»€ÇŒæ½Ï˯ÌÿK ÙÿæÂŒH~_! &-¶&Þ!‘!é(%,µ)="sM6AÎM^SA@‘F ¥´¥¼©²­«“`ÑÖTÓ²ÒÐIÑ­ÔëÕŸ3ĉ›™„˜ž3k1Ÿ>Ha©nb]nóÒŽÑÞÖ!Ïñ¹3‹Ë¡C—\ß»‰¸‡{Ü÷"]½oùâý¼ü;¹ƒƒ?„‡] !‰|mÓ+zôâ1†ø³'ÈOf&R%å%s¦Ô¦©žÈpÏ\;s>[êÜHNd[~Ï…ˆ"Þâg¥™—ô/CWº*R®šW1W¨m¾žQïuK£ãÎNÓlËÐݶ{7TuTwÝ~ØÑ;Ú7?€âÖ{0–;ÑùüÇ ÁW.o2ß5ÏLÍþüD9/ôYgÑý[âÒÕå'?7Ö…~9meíôìñé+/·=D¡‹ÈowwW„Àå°÷}Ø*ßÝÝ©@’×tÿ£Ÿï9ci(Eâ âfö®ÿYþ ûQZ!¦tÛIDATX í˜Ëqƒ0†M&g&%\B|àît€KI.!tÜ9Ø$„<4€ÿŸG€„„‘‡ì ­öñ!­ŒET×õfÍò°f8²ýΡÇ~€(Šè2”Ç'êôÂF‰äE¸lS¥ï¸(Ñ~…ÝwG¿PãØŒ\•þ(óÆGpR^$™ŽÊ*}Âù„‡Øjm‘D +ä¶—w$1ÁÈ/NŠ¥€ØŽD…ïa'3"xï= ~ÿà„=ìõÎûãcg£‡øT€§ðô$ù@ÞˆØybˆ~H;ä`éB½B G°&ÑßÓÄG"$$lÛ!XÄë?Úñûìééµß¦§§ß>þg,ȓȋõ"Ã=þùóÿY…G#óõ§p!5Ed­rÅ#sKô4°ý‹ý}Lö8ûcÒµù‹¢LöÆöÇîmlÿGÙëüÅAafûþ¡^-ÿÚ‰‘zÈÜÿólœ¿ã_ìí£oð“Âlöý#cl÷íqþzÿúzšîñý§ž$ý7ö 6Úox”Õ~?CƒîÅ—d¸ïãùïx£üíŒÿ¶E²Û÷ñ 04ùk÷'ïÛÃÿ¬é?} EÛìσO¨ýþz{êïÏ-À£|b£ö:¬~”àçÅ£ƒ¬z “P¢”œŒ¬<ØÛC{>¬ØüÙÓÈ¿¶HdìjC_cÿÚ<âhuE–±ò¿6~Bïø‰Ñ¤˜ÚCï]0€¨`\€ˆI ”€:ÐÀX;à Üøƒ@G@’mh  ‚!H($Ôz ¯ +äää|äªäÖää ä…ä·È“Ïÿ¢ ££Ð£p¥ˆ¦8KQEÑIñ‚b…’’RˆR›Ò…2Šò,e åCÊ·”TôTRT&TÞT'©J¨š©Æ¨¾Q“Q RëP»QÇQPß¡¡^¤!£¢Ñ£ñ¤9ASBs—f’f•–žV–Ö’6„6‹¶–¶ŸvžG'Dg@çM—LWA÷n–EÏO¯GO¤?E_IßKÿ‘Ë Ì`ÂÈÉpƒa˜a‰‘ŽQÑ1–±„ñã4ŠIˆÉ„)˜)›©é9Ó&3'³³s:s=óó: ;‹6‹KËM–g,›¬<¬¬A¬çY[Xß°¡ÙÄØ¬Ùް]bëe[dg`Wg'²g°7°¿ä€9Ä8l8ŽqTp q¬rrqq†sq>ä\äbâÒæ äÊãjçZà¦çÖäàÎãîàþÌÃÈ£ÃÌSÈÓóÄËÁkÌÍ{…w˜w‹O˜Ïž/‰ï&ß~¿ ¿/7ÿ’·€…@¼@ÀKA2AAÁ ‚}‚ëBÂBŽBiB-BóÂ,Â&ÂqÂu¯E(E´D"DÊE&D±¢*¢A¢EŸŠÁbŠbþb%b#â°¸’x€øEñQ Œ„ªD¨D¹Ä¤$…¤ŽdŒd䌓”¹T’T‹Ô7iiéóÒ}Ò¿ee‚e*e^ÉÒÉšÊ&ɶÉ.ˉÉåJä&ä)å åOÊ·ÊÿPWðQ¸¤0¥H¯h¡˜¦Ø­¸£¤¬DRªWZPPöP.UžTaP±RÉRy¬ŠQÕU=©z_õ—š’Z”ZƒÚwuIõ õZõùÂ|T˜ÕàÓðÔ¸¢1­É£é¡yYsZ‹WËS«\ë½6¿¶·ö5í9Q@ë:ßtetIºMºëzjzÇõ:õQúFúúÃtöÅo ù ý ë —ŒŽucŒÍŒÏOšpšMjL–L•M›ö˜Q˜Ùš›½73'™·YÀ¦¹¯  =Øb ,M,s-ßX [EXݳÆZ[Y—X²‘µ‰·é³¥·u·­µ]³ÓµË¶{e/bmßí@íàêPã°î¨ï˜ã8í$ítÜiЙÍ9À¹ÕçâàrÍeõÁ¡üC]]S]Ÿ>{¸ßÍ-Øí;µ»§ûŒ‡£G­Ç¶§¥g¹çª—‰W©×QxøÅ[Û;Ï{ÁGÃ'ÇgÎWÃ7ÇwÞOÃ/×oÁ_Ë¿À1@/ 8àG q`YàzePUÐn°cðÍ|ˆGÈÝPºÐ Ðž0®°Ø°ÑpñðÔð鵈üˆ%’éZ$y8²5Š9¬ E‹D§DÏÄhÆ”Älq8r'–664vè¨ØÑô£sq†qW¡uÇóÆ'ÆÏ×9~åtÂëD÷Iþ“É'?&%T'ƒŸ$É$å$ý<åxª-™39!y6Å(¥.•*•”:™¦žVv}:àôpº|zQúï ïŒL™Ì‚Ìí,bÖÀÙ3…gvÏúžÎVʾt{.ôÜóóZç«shsârfs-r›óxò2ò~æ»ç÷(”] \ˆ¾0]h^ØZ$Pt®h»Ø¿øY‰nÉÍRŽÒôÒõ‹ÞÇ.i_ª/ã,Ë,Û¼pyêŠÑ•ær¡ò‚ lELŧJ‡Ê¾«*Wk®±]˼¶SZ5]mSÝS£\SSËQ›]×E×-\w½þô†þÖzÉú+7™nfÞ·¢o}¾íqûyƒYC÷•;õ‚¥MôMÍPóÑæ¥ÿ–éVçÖÑ»¦w»ÛÔÛšîIÝ«ºÏ{¿äãƒìvB{rûnG\Çjgxçb—_×l·{÷«‡N'z¬{†{Íz?2|ô°O§¯ã±ÆãûýjýwTZ•›‡‡šž(>iVnQi}ªú´môÀhû˜ÖX׸þø£ “‰ÁgŸ>·>5é:9=å=5ÿ"øÅ—1/·^%¼Æ¼ÎxCó¦à-ÇÛòw¢ïnN+M?˜ÑŸzoûþÕ,qöˇÈÛ“?Q~*˜ãž«™—›¿¿`¸ðôó¡Ï¿„ÙZLýJûµô›È·ÆïÚ߇–œ–>þ ýØ]ÎZa]©ú©ð³{ÕjõíZÈÚÖzÆëFõ/•_}›Ž›s[G¶qÛ…;¢;m¿Í~¿Þ ÙÝ ÷$yþ9  öõ`¹ JgèŸ@ úçŒûÇ9#sÁ´È© 2ƒ¾Ãù(´&FkˆóÁ_#›!× (¢‚¨Ch>ÐyÓa$2Ͱx³¾e·àhæâä&ñ´ñ.ós ( ê 뉨‰*ЉˆsIÐJ¢%×¥æ¥_Ê ÉvÈ5ÈW(ä(&)…+V1VUTãRǪ;0©Ñ©Y«U¬­“¡›®—©Ÿmc˜k”gœo’ošgvÞü¬EæÁÓ–)V§¬OÙ$Ûž²K¶OvHrLt:é|Ì%öP¤kèá7ow¢‡gW41Ñû¬O‰o•ßÿö€Ç£A/ƒgCC×ÂQt$ÁHÕ(«h¿˜ãGÎÇVm‹>6¿|u’&-‘'‰ÿ_2O G*KÃiêtB:c's-ëû™ù³3Ù¯ÏM–3ž;–7–?Z0ráIá@Ñãâž’ÎÒû[/5•5^n¹Ò^þ¸b¢òýÕï×vª 5LµüuR×Uoè×¼étËã¶_CÈR㑦cÍ'Z[“例¥ß˼æÁÙö쎜Îü®â•=µ½õn÷5=ní¿7ð`°}¨óI×p×HÇÓ{£Mc×ÇË'.<Ëzž83øâðKëWú¯•߈½åxGùî÷ô×™—ï{go(ù˜ò)lÎy^wAü3Ãç/ŸŸ|múvñ{ÊRè§eÝÉŸ¬«˜Õ¥µ×ë6nÿ*ÝLÝ ßvÙÑû-¹Ë´»»Ï¿.4 §¡lЂ6¬ÎJv‡¦ð¢l§¢É¥#Ч3¢™Ž1o²ú²½àÐä,äú£ÀëÏ—Í_#Ð$Ø*Ô"|[¤Z´L¬@™ÇòýŠʃªCêO kŒh>ÕÕ37ž0{fùÜfÒnÊñ…óËC¯\_»½q{{øË´íŒñ{•YÁ4~}|ÿi`®a¾x!ñ³ÿËE¥¯œßPß¾|ŸXêúqk¹|¥àgÖjâZÌzІÇ/ûMÓ-ÍmÙÁ߬»ÿƒÿX” š°Ç·!;M¢¥L¤úDcKû„^›á“s%+ [û§5W÷w^>wþ“ù‚•BõÿwD›ÄšÄ›$$oJÕK_—©–­”»,_¢pA1G)Cù”J¼*IÍWÝ倅†¶¦Â>¿—.‡§>§!1— §)«“9ÅAœ%l¹kµm½e³i»m·m¿í°åøËiÍyÙåׇۡ߹½rŸòxî9éõ‚øÆ{ÆgÖ÷£ßœÿ|ÀBàBÐ|ð\È\è|Ø×ð5I%­cräPlÈÑø¸¬c¥ñµÇ[hÚŸ0˜ØŸÔsê^rCJUjiÚ¹Ó)é±A™‡³,Ï蜕Ï>Çqž!‡2—,›*;~®-)ùX:}ñå¥ñ²‘ËCWÊ*+‡®_®©©©}R÷äúàúþ›ý·n?i½ó¬ñeÓ»æÙ–¹ÖÏw¿¶-Ý[¾ÿóÁjûzÇzçz×F÷ÆÃžÞõGk}«Wú |ü:ôùɧáّ駯G§ÆÆÇ‡'?ë~~²iªþEÕ˲W…¯³ß¤½=þ.rÚoÆù½É¬Ê¡ôŸÀ§Å¹©ùž…[ŸK¾¤.F|uýfô]a‰ÿó2õ ùOÂ*a°NØ ü"ÛÄoá¶±;˜ß¨]hÿ´Ž½˜€Uà’“Û7`Žä —œY` ‰TXQ`§ `þIÃÙÚ ß@¨A\H®)4€1° iHFY `|«b‡¤!=$C ƒÒ ËPô Z†ia9Øއ¯Á(4’Ó…¡ªP³HÖæ.GÂHb¢1X ì!ì „sÂÝÆSáƒñÃdòdÅ!ŒðŠÜˆ¼‚“"bÒ‡r’ÊŒª‹Zº‰Fž¦‘V‰ö.Ý ½=ý4C(ÃoÆsL‚L÷™˜WXrXX_°%°‹²qãäçäŠâæâà9Ê+Æû†/—ß\'Ð#˜,d Œîɵ£/’ð””Üz,]$"«/Ç)·)ÿZá¡â-¥rå"•<Õµ\õ .jTi6jõhOê,ê¡‘µ­lhcjœiRk:döÂõ ¾%ɪÂzÒ–ÊÎØ>Éáãš³„‹ç¡|×7È]Í#ƳÉkÍ[Í'ÑwП9À/°-˜6$8t \"â<éW”wôؽؖ8©cUÇNT&&VŸO¾™ª˜ö Ý8c2+àÌïì‚ó²9#yŒ”°—N\ʽì\.Pñó꣪Қ˜:Ûò7™oí6,4N5¶>lë¾ß×>Þ9Û½ÑKÛ'Ùo1ñ¤h¤wôç„Ès÷©¢—Ïß0¼³™É™ÿÄ<ïþ¹vqó»ÅÊ•Ý5·Î-áó¾@‰ðÏ D<ÐD4àÂ]!!ZB+x ^€Ï`¢†ø!eD# Bqˆ*pêƒ>À0ÌÀp.ÜCñ ìQgP}hZ„îÅcl0¥˜9¬"6;‰“À½Á«â ñ›dîd2„Rry,ù' ŠG”ª”õT‚TeÔÔ%4œ4å´¢´tÚt#ônôßN0Ò0V0©22³XjY-XWØJØ ÙW8®pZqîrÝâöâaââMåÓáü])‚fB Bï„ëDŽˆêˆÄÆÄ‹%¼þpß']($«#Ç*÷S~T¡Añ‚R‚r˜ QÕUÍIÝ逋†‡¦¿V”v’N®n•^»þ¤Á²¥±˜‰±i€Y¦ùm‹–h+9k¢ÍÛa{¼ƒã)§.çÝC®q‡[ÝÖ=T=OxõzSû¸úÖùý° ¬ Æ„¸‡Þ gŠˆ$=’Ž>³ëzôÑ1¹øò 'Ó¡¤ã§¶Rާ¡NŸÉ`ˬ=£qvâ\HYnM¾YÁ¢bƒ’•‹eöWðå*£®IV-ÔÔÔݩ߸ÕÓÓèݬÞÊ|wûÞâƒùŽݨŽGj]‡ê†§F ãZÏb'_,¿–|ë=]ð¾÷Ãòς͗ԯß7—UƯ=üE¹å²S·Ï?àb@Q™Ì€ðF”¥“à,(×i¼ß!b„D•È „M¨a,[À$¸î…WPü(Tê!j­‚ŽA4š Œ:&ӥǺco`wpV¸«¸m¼þYÙA“p•œ’<†|šÂŒ¢Q> ©È©’¨6©c¨Wh¢hÖhÑÁtô ôe  mŒfŒï˜¢™©˜kYŒYXϰɳ½bOææxřƥÈõ»€ÇŒæ½Ï˯ÌÿK ÙÿæÂŒH~_! &-¶&Þ!‘!é(%,µ)="sM6AÎM^SA@‘F ¥´¥¼©²­«“`ÑÖTÓ²ÒÐIÑ­ÔëÕŸ3ĉ›™„˜ž3k1Ÿ>Ha©nb]nóÒŽÑÞÖ!Ïñ¹3‹Ë¡C—\ß»‰¸‡{Ü÷"]½oùâý¼ü;¹ƒƒ?„‡] !‰|mÓ+zôâ1†ø³'ÈOf&R%å%s¦Ô¦©žÈpÏ\;s>[êÜHNd[~Ï…ˆ"Þâg¥™—ô/CWº*R®šW1W¨m¾žQïuK£ãÎNÓlËÐݶ{7TuTwÝ~ØÑ;Ú7?€âÖ{0–;ÑùüÇ ÁW.o2ß5ÏLÍþüD9/ôYgÑý[âÒÕå'?7Ö…~9meíôìñé+/·=D¡‹ÈowwW„Àå°÷}Ø*ßÝÝ©@’×tÿ£Ÿï9ci(Eâ âfö®ÿYþ ûQZ!¦tÖIDATX í˜Ëqƒ0†MƸÒAJ°o“p'v.!îÀ9r³;H:%¤òÿ‰‘…Œ$ЃC4£,ûøV°Pt]·Zr{Z2Ùþç®ÐZwPE YÎÖ¢ Ox’£ê&\Ý4Í» RUU‹ó7è}©òTÇ= gpߦÀ€ä îr@ª›¤6ÁQð †+nâå‘N,¹ 8#¤ ØŽâbhH¬È†y~½ÔÔä2~b ¤…ÈI1].z<øÞ#×Ï2fH0ºŠ™’:Æq.$b1ÎÖ侟ÙòšºÄ+±Kw"¸É¶—‰›˜´qÇ'ƶw6<¨¥èÂD¥°@$‚´±ý]7. ò!àR G—iÌ é˜Ò0¤`HoÀÔ“SBNL9 p*$ìœ+ó»r‹§6ŸRÍÕÔõÀz³gPó)0¤Ë Áb@Œ04äàטËtÈÙ}ÚÊ']× (vçÉò ¡û v> 8~Š> ƒEwpdËÁWÌ\éà'šŠ 0+ïÚmf\ÛÏ®ŽbéâÍÐ⽸ÜůS± žµ‹Ã@:7Lξ~u)þöBz¼IEND®B`‚./chessx-1.3.2/data/images/arrow_red.png000644 000765 000024 00000014262 12103305243 017566 0ustar00nistaff000000 000000 ‰PNG  IHDR((Œþ¸mžiCCPICC ProfileX ­XuXUÍ·ž½Orèîîî–î’N‘:tsQ E))E¥)Q)A$ DABBîÆïÊ÷{îsïwžçÌ~ÏÚkÏž™wf¯Y/,ñžááÁ0 !¡Q$#]'gÜNÀˆÔŠžÄÈp++sð–µçˆRÆ%÷Úú?Ýþ÷´Þ>‘D +ä¶—w$1ÁÈ/NŠ¥€ØŽD…ïa'3"xï= ~ÿà„=ìõÎûãcg£‡øT€§ðô$ù@ÞˆØybˆ~H;ä`éB½B G°&ÑßÓÄG"$$lÛ!XÄë?Úñûìééµß¦§§ß>þg,ȓȋõ"Ã=þùóÿY…G#óõ§p!5Ed­rÅ#sKô4°ý‹ý}Lö8ûcÒµù‹¢LöÆöÇîmlÿGÙëüÅAafûþ¡^-ÿÚ‰‘zÈÜÿólœ¿ã_ìí£oð“Âlöý#cl÷íqþzÿúzšîñý§ž$ý7ö 6Úox”Õ~?CƒîÅ—d¸ïãùïx£üíŒÿ¶E²Û÷ñ 04ùk÷'ïÛÃÿ¬é?} EÛìσO¨ýþz{êïÏ-À£|b£ö:¬~”àçÅ£ƒ¬z “P¢”œŒ¬<ØÛC{>¬ØüÙÓÈ¿¶HdìjC_cÿÚ<âhuE–±ò¿6~Bïø‰Ñ¤˜ÚCï]0€¨`\€ˆI ”€:ÐÀX;à Üøƒ@G@’mh  ‚!H($Ôz ¯ +äää|äªäÖää ä…ä·È“Ïÿ¢ ££Ð£p¥ˆ¦8KQEÑIñ‚b…’’RˆR›Ò…2Šò,e åCÊ·”TôTRT&TÞT'©J¨š©Æ¨¾Q“Q RëP»QÇQPß¡¡^¤!£¢Ñ£ñ¤9ASBs—f’f•–žV–Ö’6„6‹¶–¶ŸvžG'Dg@çM—LWA÷n–EÏO¯GO¤?E_IßKÿ‘Ë Ì`ÂÈÉpƒa˜a‰‘ŽQÑ1–±„ñã4ŠIˆÉ„)˜)›©é9Ó&3'³³s:s=óó: ;‹6‹KËM–g,›¬<¬¬A¬çY[Xß°¡ÙÄØ¬Ùް]bëe[dg`Wg'²g°7°¿ä€9Ä8l8ŽqTp q¬rrqq†sq>ä\äbâÒæ äÊãjçZà¦çÖäàÎãîàþÌÃÈ£ÃÌSÈÓóÄËÁkÌÍ{…w˜w‹O˜Ïž/‰ï&ß~¿ ¿/7ÿ’·€…@¼@ÀKA2AAÁ ‚}‚ëBÂBŽBiB-BóÂ,Â&ÂqÂu¯E(E´D"DÊE&D±¢*¢A¢EŸŠÁbŠbþb%b#â°¸’x€øEñQ Œ„ªD¨D¹Ä¤$…¤ŽdŒd䌓”¹T’T‹Ô7iiéóÒ}Ò¿ee‚e*e^ÉÒÉšÊ&ɶÉ.ˉÉåJä&ä)å åOÊ·ÊÿPWðQ¸¤0¥H¯h¡˜¦Ø­¸£¤¬DRªWZPPöP.UžTaP±RÉRy¬ŠQÕU=©z_õ—š’Z”ZƒÚwuIõ õZõùÂ|T˜ÕàÓðÔ¸¢1­É£é¡yYsZ‹WËS«\ë½6¿¶·ö5í9Q@ë:ßtetIºMºëzjzÇõ:õQúFúúÃtöÅo ù ý ë —ŒŽucŒÍŒÏOšpšMjL–L•M›ö˜Q˜Ùš›½73'™·YÀ¦¹¯  =Øb ,M,s-ßX [EXݳÆZ[Y—X²‘µ‰·é³¥·u·­µ]³ÓµË¶{e/bmßí@íàêPã°î¨ï˜ã8í$ítÜiЙÍ9À¹ÕçâàrÍeõÁ¡üC]]S]Ÿ>{¸ßÍ-Øí;µ»§ûŒ‡£G­Ç¶§¥g¹çª—‰W©×QxøÅ[Û;Ï{ÁGÃ'ÇgÎWÃ7ÇwÞOÃ/×oÁ_Ë¿À1@/ 8àG q`YàzePUÐn°cðÍ|ˆGÈÝPºÐ Ðž0®°Ø°ÑpñðÔð鵈üˆ%’éZ$y8²5Š9¬ E‹D§DÏÄhÆ”Älq8r'–664vè¨ØÑô£sq†qW¡uÇóÆ'ÆÏ×9~åtÂëD÷Iþ“É'?&%T'ƒŸ$É$å$ý<åxª-™39!y6Å(¥.•*•”:™¦žVv}:àôpº|zQúï ïŒL™Ì‚Ìí,bÖÀÙ3…gvÏúžÎVʾt{.ôÜóóZç«shsârfs-r›óxò2ò~æ»ç÷(”] \ˆ¾0]h^ØZ$Pt®h»Ø¿øY‰nÉÍRŽÒôÒõ‹ÞÇ.i_ª/ã,Ë,Û¼pyêŠÑ•ær¡ò‚ lELŧJ‡Ê¾«*Wk®±]˼¶SZ5]mSÝS£\SSËQ›]×E×-\w½þô†þÖzÉú+7™nfÞ·¢o}¾íqûyƒYC÷•;õ‚¥MôMÍPóÑæ¥ÿ–éVçÖÑ»¦w»ÛÔÛšîIÝ«ºÏ{¿äãƒìvB{rûnG\Çjgxçb—_×l·{÷«‡N'z¬{†{Íz?2|ô°O§¯ã±ÆãûýjýwTZ•›‡‡šž(>iVnQi}ªú´môÀhû˜ÖX׸þø£ “‰ÁgŸ>·>5é:9=å=5ÿ"øÅ—1/·^%¼Æ¼ÎxCó¦à-ÇÛòw¢ïnN+M?˜ÑŸzoûþÕ,qöˇÈÛ“?Q~*˜ãž«™—›¿¿`¸ðôó¡Ï¿„ÙZLýJûµô›È·ÆïÚ߇–œ–>þ ýØ]ÎZa]©ú©ð³{ÕjõíZÈÚÖzÆëFõ/•_}›Ž›s[G¶qÛ…;¢;m¿Í~¿Þ ÙÝ ÷$yþ9  öõ`¹ JgèŸ@ úçŒûÇ9#sÁ´È© 2ƒ¾Ãù(´&FkˆóÁ_#›!× (¢‚¨Ch>ÐyÓa$2Ͱx³¾e·àhæâä&ñ´ñ.ós ( ê 뉨‰*ЉˆsIÐJ¢%×¥æ¥_Ê ÉvÈ5ÈW(ä(&)…+V1VUTãRǪ;0©Ñ©Y«U¬­“¡›®—©Ÿmc˜k”gœo’ošgvÞü¬EæÁÓ–)V§¬OÙ$Ûž²K¶OvHrLt:é|Ì%öP¤kèá7ow¢‡gW41Ñû¬O‰o•ßÿö€Ç£A/ƒgCC×ÂQt$ÁHÕ(«h¿˜ãGÎÇVm‹>6¿|u’&-‘'‰ÿ_2O G*KÃiêtB:c's-ëû™ù³3Ù¯ÏM–3ž;–7–?Z0ráIá@Ñãâž’ÎÒû[/5•5^n¹Ò^þ¸b¢òýÕï×vª 5LµüuR×Uoè×¼étËã¶_CÈR㑦cÍ'Z[“例¥ß˼æÁÙö쎜Îü®â•=µ½õn÷5=ní¿7ð`°}¨óI×p×HÇÓ{£Mc×ÇË'.<Ëzž83øâðKëWú¯•߈½åxGùî÷ô×™—ï{go(ù˜ò)lÎy^wAü3Ãç/ŸŸ|múvñ{ÊRè§eÝÉŸ¬«˜Õ¥µ×ë6nÿ*ÝLÝ ßvÙÑû-¹Ë´»»Ï¿.4 §¡lЂ6¬ÎJv‡¦ð¢l§¢É¥#Ч3¢™Ž1o²ú²½àÐä,äú£ÀëÏ—Í_#Ð$Ø*Ô"|[¤Z´L¬@™ÇòýŠʃªCêO kŒh>ÕÕ37ž0{fùÜfÒnÊñ…óËC¯\_»½q{{øË´íŒñ{•YÁ4~}|ÿi`®a¾x!ñ³ÿËE¥¯œßPß¾|ŸXêúqk¹|¥àgÖjâZÌzІÇ/ûMÓ-ÍmÙÁ߬»ÿƒÿX” š°Ç·!;M¢¥L¤úDcKû„^›á“s%+ [û§5W÷w^>wþ“ù‚•BõÿwD›ÄšÄ›$$oJÕK_—©–­”»,_¢pA1G)Cù”J¼*IÍWÝ倅†¶¦Â>¿—.‡§>§!1— §)«“9ÅAœ%l¹kµm½e³i»m·m¿í°åøËiÍyÙåׇۡ߹½rŸòxî9éõ‚øÆ{ÆgÖ÷£ßœÿ|ÀBàBÐ|ð\È\è|Ø×ð5I%­cräPlÈÑø¸¬c¥ñµÇ[hÚŸ0˜ØŸÔsê^rCJUjiÚ¹Ó)é±A™‡³,Ï蜕Ï>Çqž!‡2—,›*;~®-)ùX:}ñå¥ñ²‘ËCWÊ*+‡®_®©©©}R÷äúàúþ›ý·n?i½ó¬ñeÓ»æÙ–¹ÖÏw¿¶-Ý[¾ÿóÁjûzÇzçz×F÷ÆÃžÞõGk}«Wú |ü:ôùɧáّ駯G§ÆÆÇ‡'?ë~~²iªþEÕ˲W…¯³ß¤½=þ.rÚoÆù½É¬Ê¡ôŸÀ§Å¹©ùž…[ŸK¾¤.F|uýfô]a‰ÿó2õ ùOÂ*a°NØ ü"ÛÄoá¶±;˜ß¨]hÿ´Ž½˜€Uà’“Û7`Žä —œY` ‰TXQ`§ `þIÃÙÚ ß@¨A\H®)4€1° iHFY `|«b‡¤!=$C ƒÒ ËPô Z†ia9Øއ¯Á(4’Ó…¡ªP³HÖæ.GÂHb¢1X ì!ì „sÂÝÆSáƒñÃdòdÅ!ŒðŠÜˆ¼‚“"bÒ‡r’ÊŒª‹Zº‰Fž¦‘V‰ö.Ý ½=ý4C(ÃoÆsL‚L÷™˜WXrXX_°%°‹²qãäçäŠâæâà9Ê+Æû†/—ß\'Ð#˜,d Œîɵ£/’ð””Üz,]$"«/Ç)·)ÿZá¡â-¥rå"•<Õµ\õ .jTi6jõhOê,ê¡‘µ­lhcjœiRk:döÂõ ¾%ɪÂzÒ–ÊÎØ>Éáãš³„‹ç¡|×7È]Í#ƳÉkÍ[Í'ÑwП9À/°-˜6$8t \"â<éW”wôؽؖ8©cUÇNT&&VŸO¾™ª˜ö Ý8c2+àÌïì‚ó²9#yŒ”°—N\ʽì\.Pñó꣪Қ˜:Ûò7™oí6,4N5¶>lë¾ß×>Þ9Û½ÑKÛ'Ùo1ñ¤h¤wôç„Ès÷©¢—Ïß0¼³™É™ÿÄ<ïþ¹vqó»ÅÊ•Ý5·Î-áó¾@‰ðÏ D<ÐD4àÂ]!!ZB+x ^€Ï`¢†ø!eD# Bqˆ*pêƒ>À0ÌÀp.ÜCñ ìQgP}hZ„îÅcl0¥˜9¬"6;‰“À½Á«â ñ›dîd2„Rry,ù' ŠG”ª”õT‚TeÔÔ%4œ4å´¢´tÚt#ônôßN0Ò0V0©22³XjY-XWØJØ ÙW8®pZqîrÝâöâaââMåÓáü])‚fB Bï„ëDŽˆêˆÄÆÄ‹%¼þpß']($«#Ç*÷S~T¡Añ‚R‚r˜ QÕUÍIÝ逋†‡¦¿V”v’N®n•^»þ¤Á²¥±˜‰±i€Y¦ùm‹–h+9k¢ÍÛa{¼ƒã)§.çÝC®q‡[ÝÖ=T=OxõzSû¸úÖùý° ¬ Æ„¸‡Þ gŠˆ$=’Ž>³ëzôÑ1¹øò 'Ó¡¤ã§¶Rާ¡NŸÉ`ˬ=£qvâ\HYnM¾YÁ¢bƒ’•‹eöWðå*£®IV-ÔÔÔݩ߸ÕÓÓèݬÞÊ|wûÞâƒùŽݨŽGj]‡ê†§F ãZÏb'_,¿–|ë=]ð¾÷Ãòς͗ԯß7—UƯ=üE¹å²S·Ï?àb@Q™Ì€ðF”¥“à,(×i¼ß!b„D•È „M¨a,[À$¸î…WPü(Tê!j­‚ŽA4š Œ:&ӥǺco`wpV¸«¸m¼þYÙA“p•œ’<†|šÂŒ¢Q> ©È©’¨6©c¨Wh¢hÖhÑÁtô ôe  mŒfŒï˜¢™©˜kYŒYXϰɳ½bOææxřƥÈõ»€ÇŒæ½Ï˯ÌÿK ÙÿæÂŒH~_! &-¶&Þ!‘!é(%,µ)="sM6AÎM^SA@‘F ¥´¥¼©²­«“`ÑÖTÓ²ÒÐIÑ­ÔëÕŸ3ĉ›™„˜ž3k1Ÿ>Ha©nb]nóÒŽÑÞÖ!Ïñ¹3‹Ë¡C—\ß»‰¸‡{Ü÷"]½oùâý¼ü;¹ƒƒ?„‡] !‰|mÓ+zôâ1†ø³'ÈOf&R%å%s¦Ô¦©žÈpÏ\;s>[êÜHNd[~Ï…ˆ"Þâg¥™—ô/CWº*R®šW1W¨m¾žQïuK£ãÎNÓlËÐݶ{7TuTwÝ~ØÑ;Ú7?€âÖ{0–;ÑùüÇ ÁW.o2ß5ÏLÍþüD9/ôYgÑý[âÒÕå'?7Ö…~9meíôìñé+/·=D¡‹ÈowwW„Àå°÷}Ø*ßÝÝ©@’×tÿ£Ÿï9ci(Eâ âfö®ÿYþ ûQZ!¦tÏIDATX íØÝUƒ0à¢ÐðÒ;G è¸‰ #Ø tƒ²Þy)#¸@¾oOÂII ä‡ 9'‡ö#ùò’(º®Û¬y»Y3޶àÒ+t7LPE‰X­EùÀ<ýå—[¡.àêsõð¦Bn›ïߟQïK§úÜ9rÀý˜:’#¸ËTImÂ1ø»Nâq¬N¬¸ œì#R¶“B ÄÙrÞ£¼ŠR êäeüB«4lbNÄéò>ì¹_0ײÏÈ€ht#%ë÷K‘è‹ýT¦äÈ}dËcê%ÞˆUº›Úö1q³püŨúdú‡Z†®€ &B–`Ûk@6H„´Ù.ÇÀ5!GkAN×€´s#€9‘ÎÀ\H/`¤705r0%r60rp.íœïÌç q's`;—-ùÜ`¸Àd`ÀXÈ ÀÈàÀÐHíÕ‡¼öÃ=oÓcñÙö¨ì¼ L‰­@ñ u°aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ  C< ¹IDATxÚí{lVõÇ¿ÏïwÚ·­—¾™I¦¨sjŒ¾ÞQi¡“‚\,"UÚçp„Mã$.¡^¶i–ͺ-Q¦¤/™fÞ޹¡ƒ— s1ë%ÃKæX3‡Î"¶ômÏïyöÇ9o[P7í{ÎiŸOòKÿiÈá÷|Ïí÷œS(ñ‡ˆ†äß5ºµ#€ @Q(*E ¨€¢PTŠ @Q(*E ¨€¢PTŠ @Q(*E ¨€¢PTŠ @Q(‰ÃéÐpsm%Y›q®ýÑ;¿$ýÿi$¿|Å÷g5B¨@šÐA$+³·<µ.v†Ò·ƒ—%·Ï¼BÙ3jOKW‚ñ1H3Q¶ñ‡Uk0Œ¹ê®yU^IIvÎÕç¡aR5ެ,‡-ñà•XÏ€ˆÚ®¼£®J0 YxgmeOoOîôi§¤Ï5oÈ;èØ÷! À€€%- ÜÂ;k+UÈk<e¹“3cÓ—žU<|<ùÈ6XÏÂzÆσ)ñà•Út9§†½F”ºzSÙ1'“ùÚ¬ kÛ6âßï³€9H†…C`'ÛEYÀpÈøï˜ÕZqdªþ—ÎEJÑöÒ6ì{ó}Xú–1ÁO" c-¼ƒ’Ò’ú%·ÍlU$9ãož¹"UQÚ´tùl”£›ß~Ïo~=<ñý 0¤;iºlUí @YÜ\×K- ¯¯Á1 »z^Gî‘ç 4¶ô­‚ñÉu7‚õ[bà•z-‹›ëU bÑêº*qÒrÉòL “ð†üm?ß Ð@£Ë€ XÂçÐr¾k¹äÆiU*€$Õ´*q.wþ‚ªôÙGнxÝ÷tŸÛg'Ÿ¸DB žÀkmº´Ìæ­>=‚a)€†›k+{Ù3¦Ÿ–žó•)8ˆ<jÝ„î»!ˆð§Z`ô§ €vy?Ûpóð(‡åeƒsÇùØÌÅÕç!<Ö>¼ûÿu0…2ï³SðÖ³ü ûÈ8]=@̘·bj똎É|óëóB}f ö¾ñ.ÎÿÿVà d@Å@`AfÁw§·ªbÄükî>ê åM—]ýU”!…ǶoÁî?í ;ù|«Ï€Œõ"4-¸©æn@ ˜½|J#;·rÙ-õ8ŽFáÏᅧ]O„‹?÷ *„ Sˆ0IÁÊù7Ô$¶<󗬜VíÄÏ]¶j&‡]¯âñŸl0fð5Î̈8f8ç`|®Y϶­Cf(øxf|kJUßÛ6÷º©˜@™W‘=î”c3‹f€`°æþ xûoïˆB£7—&0È#X˜L™TdÌ×*`ˆ˜¹lrkyEYýµË ¥øÕïžÁ[¯î ⳓ¢/f½&°ú —NJD q9@ÝÕç¬8âèTËuw-ÄX¶g·áÙ /%æÿ×\ïÎ98_HÓ¦ûw Ê„±æf\5©Q€–¥wÌÅñ4;Þ~XßÈ¡÷úÅ^Àø‡‡ç$;½éÌFõƒaü+Ϭ’R“»â–YéÉcÇá5/îûö¡Ø³dÁLt!ÛojE¾«'¶Ï\È Ø…9;ÀI;*üšÍk^Ü'ľ ìõlnìÉ£Bãwãg?z]äabäú?ê áÍAŸW` ÃØbv…ë$pꢪÖãNYñ½ÀCë6aïkïBäÐQ®Ø­ÂtÄO1g¦.ªŠUyÛ0yþ„ÕGV–7ßðÀå8žÆàÁÇ‹¿ù+ bL"Êa ú:‡,ì,hþãc/Þª9À'pîü åG§²ßùÅ"œàÁ–]Áú{¶€ õeý1r°u, ç$Ió"Òô܆—שãìy§V“ñrKo›)ã'â¹W^Æ/o{ ÆȘ`\; ÂO =AÁø\:e825;׿¼U2qúÄÊ’²ž=s¯½ ]?ë¼Õó~|ÍÃÈwö§ŸQ|ƒ€‚ ¢0hx„%"‹€E:z:KO|qóÿ® FDJugHŸ^s žÙ¾¿^³ù®|¸«  ` Ãñ€„•zâûæ$ȉ9JuglêYc%€|¾¬Ý–lo¾ôŒ1ÁãØ–@Â00S ‚8FÂi ÎÁIH'ýƒ9×SÖ®UÀ§Î&T[Ã+‰POÖÆ/(:<ñ´9ö[v>ñÚç>á#ºü‘ñâq«jF8¡ Ü|˜ð5ï|r÷­ƒf(ÀaÞ`ö¸¿“ʼn†a¤ˆÂ÷öìܸû¤A5ÔHm¾ïç¬Ø&ñr‡‚°ðg'Ç`2mIÙÇÄ @„÷àbPºBìg0"½*€¡>tŽItB ï‚?IA5±p>O`À`c`8º¾ê|.¼|**€âxAðÞ.CL´ øæ#i9ur=€s°Ö‚Ã0EÚ Z¾a¯ß9°  Ç0` ig¸ßøŒ„E€'A)ãúE]ER0~˜ Q#ÀPpGäÆF×:aÀSÃpXÂ08Â~À!Æn.UC~ì ážEèÐá»B@Á °F=@1B@¶`÷x„–àÊ×%h“뜃ÀÂÃp‘V°@¬ ¡·?# øl Ñ;¸Â$Ô¯Ä0Ä…ÓC‘™ŸûÞ`NV+0ÁÀØ Ìn(0B¤‚ g…ÁÄ*€b$0 aÄÜ(+¯‚oÕgÓ…Á~ .âÀË~_8ˆ *€âÕàÁ§Û¢Žþ’0Ö/­ Ÿà …±q`£-I$| `°SPœ:Â<‡€¾7> XC@“@ëÎÀ#ê,0¨þ|ˆzPàÁ€á,@æÞz¤Âu0¦¬òÀË?Ÿb0ÞÿG§’ô鵇d œ3 м üð)k#¨8›îÂäË"H#‚ €_H0ÄøsîÐôÑæ½v‹5vˆ|àcÒBÀP—BÒ×ÿéðYLxXÈýIûE8u>ÚÉ ˜¾qÑíúáE3µ'eýC¼r»…€šX%¦@Î?è¦ º¡ôûó𣩒:¨…€¦˜?+iY)ûd¿ @I„ŒníÈF PEQEQEQEQEQEQEQEQEQEQEQEQ’ÈæJ”-„ B)IEND®B`‚./chessx-1.3.2/data/images/arrow_yellow.png000644 000765 000024 00000014263 12103305243 020330 0ustar00nistaff000000 000000 ‰PNG  IHDR((Œþ¸mžiCCPICC ProfileX ­XuXUÍ·ž½Orèîîî–î’N‘:tsQ E))E¥)Q)A$ DABBîÆïÊ÷{îsïwžçÌ~ÏÚkÏž™wf¯Y/,ñžááÁ0 !¡Q$#]'gÜNÀˆÔŠžÄÈp++sð–µçˆRÆ%÷Úú?Ýþ÷´Þ>‘D +ä¶—w$1ÁÈ/NŠ¥€ØŽD…ïa'3"xï= ~ÿà„=ìõÎûãcg£‡øT€§ðô$ù@ÞˆØybˆ~H;ä`éB½B G°&ÑßÓÄG"$$lÛ!XÄë?Úñûìééµß¦§§ß>þg,ȓȋõ"Ã=þùóÿY…G#óõ§p!5Ed­rÅ#sKô4°ý‹ý}Lö8ûcÒµù‹¢LöÆöÇîmlÿGÙëüÅAafûþ¡^-ÿÚ‰‘zÈÜÿólœ¿ã_ìí£oð“Âlöý#cl÷íqþzÿúzšîñý§ž$ý7ö 6Úox”Õ~?CƒîÅ—d¸ïãùïx£üíŒÿ¶E²Û÷ñ 04ùk÷'ïÛÃÿ¬é?} EÛìσO¨ýþz{êïÏ-À£|b£ö:¬~”àçÅ£ƒ¬z “P¢”œŒ¬<ØÛC{>¬ØüÙÓÈ¿¶HdìjC_cÿÚ<âhuE–±ò¿6~Bïø‰Ñ¤˜ÚCï]0€¨`\€ˆI ”€:ÐÀX;à Üøƒ@G@’mh  ‚!H($Ôz ¯ +äää|äªäÖää ä…ä·È“Ïÿ¢ ££Ð£p¥ˆ¦8KQEÑIñ‚b…’’RˆR›Ò…2Šò,e åCÊ·”TôTRT&TÞT'©J¨š©Æ¨¾Q“Q RëP»QÇQPß¡¡^¤!£¢Ñ£ñ¤9ASBs—f’f•–žV–Ö’6„6‹¶–¶ŸvžG'Dg@çM—LWA÷n–EÏO¯GO¤?E_IßKÿ‘Ë Ì`ÂÈÉpƒa˜a‰‘ŽQÑ1–±„ñã4ŠIˆÉ„)˜)›©é9Ó&3'³³s:s=óó: ;‹6‹KËM–g,›¬<¬¬A¬çY[Xß°¡ÙÄØ¬Ùް]bëe[dg`Wg'²g°7°¿ä€9Ä8l8ŽqTp q¬rrqq†sq>ä\äbâÒæ äÊãjçZà¦çÖäàÎãîàþÌÃÈ£ÃÌSÈÓóÄËÁkÌÍ{…w˜w‹O˜Ïž/‰ï&ß~¿ ¿/7ÿ’·€…@¼@ÀKA2AAÁ ‚}‚ëBÂBŽBiB-BóÂ,Â&ÂqÂu¯E(E´D"DÊE&D±¢*¢A¢EŸŠÁbŠbþb%b#â°¸’x€øEñQ Œ„ªD¨D¹Ä¤$…¤ŽdŒd䌓”¹T’T‹Ô7iiéóÒ}Ò¿ee‚e*e^ÉÒÉšÊ&ɶÉ.ˉÉåJä&ä)å åOÊ·ÊÿPWðQ¸¤0¥H¯h¡˜¦Ø­¸£¤¬DRªWZPPöP.UžTaP±RÉRy¬ŠQÕU=©z_õ—š’Z”ZƒÚwuIõ õZõùÂ|T˜ÕàÓðÔ¸¢1­É£é¡yYsZ‹WËS«\ë½6¿¶·ö5í9Q@ë:ßtetIºMºëzjzÇõ:õQúFúúÃtöÅo ù ý ë —ŒŽucŒÍŒÏOšpšMjL–L•M›ö˜Q˜Ùš›½73'™·YÀ¦¹¯  =Øb ,M,s-ßX [EXݳÆZ[Y—X²‘µ‰·é³¥·u·­µ]³ÓµË¶{e/bmßí@íàêPã°î¨ï˜ã8í$ítÜiЙÍ9À¹ÕçâàrÍeõÁ¡üC]]S]Ÿ>{¸ßÍ-Øí;µ»§ûŒ‡£G­Ç¶§¥g¹çª—‰W©×QxøÅ[Û;Ï{ÁGÃ'ÇgÎWÃ7ÇwÞOÃ/×oÁ_Ë¿À1@/ 8àG q`YàzePUÐn°cðÍ|ˆGÈÝPºÐ Ðž0®°Ø°ÑpñðÔð鵈üˆ%’éZ$y8²5Š9¬ E‹D§DÏÄhÆ”Älq8r'–664vè¨ØÑô£sq†qW¡uÇóÆ'ÆÏ×9~åtÂëD÷Iþ“É'?&%T'ƒŸ$É$å$ý<åxª-™39!y6Å(¥.•*•”:™¦žVv}:àôpº|zQúï ïŒL™Ì‚Ìí,bÖÀÙ3…gvÏúžÎVʾt{.ôÜóóZç«shsârfs-r›óxò2ò~æ»ç÷(”] \ˆ¾0]h^ØZ$Pt®h»Ø¿øY‰nÉÍRŽÒôÒõ‹ÞÇ.i_ª/ã,Ë,Û¼pyêŠÑ•ær¡ò‚ lELŧJ‡Ê¾«*Wk®±]˼¶SZ5]mSÝS£\SSËQ›]×E×-\w½þô†þÖzÉú+7™nfÞ·¢o}¾íqûyƒYC÷•;õ‚¥MôMÍPóÑæ¥ÿ–éVçÖÑ»¦w»ÛÔÛšîIÝ«ºÏ{¿äãƒìvB{rûnG\Çjgxçb—_×l·{÷«‡N'z¬{†{Íz?2|ô°O§¯ã±ÆãûýjýwTZ•›‡‡šž(>iVnQi}ªú´môÀhû˜ÖX׸þø£ “‰ÁgŸ>·>5é:9=å=5ÿ"øÅ—1/·^%¼Æ¼ÎxCó¦à-ÇÛòw¢ïnN+M?˜ÑŸzoûþÕ,qöˇÈÛ“?Q~*˜ãž«™—›¿¿`¸ðôó¡Ï¿„ÙZLýJûµô›È·ÆïÚ߇–œ–>þ ýØ]ÎZa]©ú©ð³{ÕjõíZÈÚÖzÆëFõ/•_}›Ž›s[G¶qÛ…;¢;m¿Í~¿Þ ÙÝ ÷$yþ9  öõ`¹ JgèŸ@ úçŒûÇ9#sÁ´È© 2ƒ¾Ãù(´&FkˆóÁ_#›!× (¢‚¨Ch>ÐyÓa$2Ͱx³¾e·àhæâä&ñ´ñ.ós ( ê 뉨‰*ЉˆsIÐJ¢%×¥æ¥_Ê ÉvÈ5ÈW(ä(&)…+V1VUTãRǪ;0©Ñ©Y«U¬­“¡›®—©Ÿmc˜k”gœo’ošgvÞü¬EæÁÓ–)V§¬OÙ$Ûž²K¶OvHrLt:é|Ì%öP¤kèá7ow¢‡gW41Ñû¬O‰o•ßÿö€Ç£A/ƒgCC×ÂQt$ÁHÕ(«h¿˜ãGÎÇVm‹>6¿|u’&-‘'‰ÿ_2O G*KÃiêtB:c's-ëû™ù³3Ù¯ÏM–3ž;–7–?Z0ráIá@Ñãâž’ÎÒû[/5•5^n¹Ò^þ¸b¢òýÕï×vª 5LµüuR×Uoè×¼étËã¶_CÈR㑦cÍ'Z[“例¥ß˼æÁÙö쎜Îü®â•=µ½õn÷5=ní¿7ð`°}¨óI×p×HÇÓ{£Mc×ÇË'.<Ëzž83øâðKëWú¯•߈½åxGùî÷ô×™—ï{go(ù˜ò)lÎy^wAü3Ãç/ŸŸ|múvñ{ÊRè§eÝÉŸ¬«˜Õ¥µ×ë6nÿ*ÝLÝ ßvÙÑû-¹Ë´»»Ï¿.4 §¡lЂ6¬ÎJv‡¦ð¢l§¢É¥#Ч3¢™Ž1o²ú²½àÐä,äú£ÀëÏ—Í_#Ð$Ø*Ô"|[¤Z´L¬@™ÇòýŠʃªCêO kŒh>ÕÕ37ž0{fùÜfÒnÊñ…óËC¯\_»½q{{øË´íŒñ{•YÁ4~}|ÿi`®a¾x!ñ³ÿËE¥¯œßPß¾|ŸXêúqk¹|¥àgÖjâZÌzІÇ/ûMÓ-ÍmÙÁ߬»ÿƒÿX” š°Ç·!;M¢¥L¤úDcKû„^›á“s%+ [û§5W÷w^>wþ“ù‚•BõÿwD›ÄšÄ›$$oJÕK_—©–­”»,_¢pA1G)Cù”J¼*IÍWÝ倅†¶¦Â>¿—.‡§>§!1— §)«“9ÅAœ%l¹kµm½e³i»m·m¿í°åøËiÍyÙåׇۡ߹½rŸòxî9éõ‚øÆ{ÆgÖ÷£ßœÿ|ÀBàBÐ|ð\È\è|Ø×ð5I%­cräPlÈÑø¸¬c¥ñµÇ[hÚŸ0˜ØŸÔsê^rCJUjiÚ¹Ó)é±A™‡³,Ï蜕Ï>Çqž!‡2—,›*;~®-)ùX:}ñå¥ñ²‘ËCWÊ*+‡®_®©©©}R÷äúàúþ›ý·n?i½ó¬ñeÓ»æÙ–¹ÖÏw¿¶-Ý[¾ÿóÁjûzÇzçz×F÷ÆÃžÞõGk}«Wú |ü:ôùɧáّ駯G§ÆÆÇ‡'?ë~~²iªþEÕ˲W…¯³ß¤½=þ.rÚoÆù½É¬Ê¡ôŸÀ§Å¹©ùž…[ŸK¾¤.F|uýfô]a‰ÿó2õ ùOÂ*a°NØ ü"ÛÄoá¶±;˜ß¨]hÿ´Ž½˜€Uà’“Û7`Žä —œY` ‰TXQ`§ `þIÃÙÚ ß@¨A\H®)4€1° iHFY `|«b‡¤!=$C ƒÒ ËPô Z†ia9Øއ¯Á(4’Ó…¡ªP³HÖæ.GÂHb¢1X ì!ì „sÂÝÆSáƒñÃdòdÅ!ŒðŠÜˆ¼‚“"bÒ‡r’ÊŒª‹Zº‰Fž¦‘V‰ö.Ý ½=ý4C(ÃoÆsL‚L÷™˜WXrXX_°%°‹²qãäçäŠâæâà9Ê+Æû†/—ß\'Ð#˜,d Œîɵ£/’ð””Üz,]$"«/Ç)·)ÿZá¡â-¥rå"•<Õµ\õ .jTi6jõhOê,ê¡‘µ­lhcjœiRk:döÂõ ¾%ɪÂzÒ–ÊÎØ>Éáãš³„‹ç¡|×7È]Í#ƳÉkÍ[Í'ÑwП9À/°-˜6$8t \"â<éW”wôؽؖ8©cUÇNT&&VŸO¾™ª˜ö Ý8c2+àÌïì‚ó²9#yŒ”°—N\ʽì\.Pñó꣪Қ˜:Ûò7™oí6,4N5¶>lë¾ß×>Þ9Û½ÑKÛ'Ùo1ñ¤h¤wôç„Ès÷©¢—Ïß0¼³™É™ÿÄ<ïþ¹vqó»ÅÊ•Ý5·Î-áó¾@‰ðÏ D<ÐD4àÂ]!!ZB+x ^€Ï`¢†ø!eD# Bqˆ*pêƒ>À0ÌÀp.ÜCñ ìQgP}hZ„îÅcl0¥˜9¬"6;‰“À½Á«â ñ›dîd2„Rry,ù' ŠG”ª”õT‚TeÔÔ%4œ4å´¢´tÚt#ônôßN0Ò0V0©22³XjY-XWØJØ ÙW8®pZqîrÝâöâaââMåÓáü])‚fB Bï„ëDŽˆêˆÄÆÄ‹%¼þpß']($«#Ç*÷S~T¡Añ‚R‚r˜ QÕUÍIÝ逋†‡¦¿V”v’N®n•^»þ¤Á²¥±˜‰±i€Y¦ùm‹–h+9k¢ÍÛa{¼ƒã)§.çÝC®q‡[ÝÖ=T=OxõzSû¸úÖùý° ¬ Æ„¸‡Þ gŠˆ$=’Ž>³ëzôÑ1¹øò 'Ó¡¤ã§¶Rާ¡NŸÉ`ˬ=£qvâ\HYnM¾YÁ¢bƒ’•‹eöWðå*£®IV-ÔÔÔݩ߸ÕÓÓèݬÞÊ|wûÞâƒùŽݨŽGj]‡ê†§F ãZÏb'_,¿–|ë=]ð¾÷Ãòς͗ԯß7—UƯ=üE¹å²S·Ï?àb@Q™Ì€ðF”¥“à,(×i¼ß!b„D•È „M¨a,[À$¸î…WPü(Tê!j­‚ŽA4š Œ:&ӥǺco`wpV¸«¸m¼þYÙA“p•œ’<†|šÂŒ¢Q> ©È©’¨6©c¨Wh¢hÖhÑÁtô ôe  mŒfŒï˜¢™©˜kYŒYXϰɳ½bOææxřƥÈõ»€ÇŒæ½Ï˯ÌÿK ÙÿæÂŒH~_! &-¶&Þ!‘!é(%,µ)="sM6AÎM^SA@‘F ¥´¥¼©²­«“`ÑÖTÓ²ÒÐIÑ­ÔëÕŸ3ĉ›™„˜ž3k1Ÿ>Ha©nb]nóÒŽÑÞÖ!Ïñ¹3‹Ë¡C—\ß»‰¸‡{Ü÷"]½oùâý¼ü;¹ƒƒ?„‡] !‰|mÓ+zôâ1†ø³'ÈOf&R%å%s¦Ô¦©žÈpÏ\;s>[êÜHNd[~Ï…ˆ"Þâg¥™—ô/CWº*R®šW1W¨m¾žQïuK£ãÎNÓlËÐݶ{7TuTwÝ~ØÑ;Ú7?€âÖ{0–;ÑùüÇ ÁW.o2ß5ÏLÍþüD9/ôYgÑý[âÒÕå'?7Ö…~9meíôìñé+/·=D¡‹ÈowwW„Àå°÷}Ø*ßÝÝ©@’×tÿ£Ÿï9ci(Eâ âfö®ÿYþ ûQZ!¦tÐIDATX íØÍmƒ0à¸Ê©§Œ@7èÉét“v‚ŒÐlÐllÐnPFè©§Jä}+9`ðþáP$‹äÃþü`ìmÛ®–¼Ý-GÛ?pîZ÷!*Äjn Ê óô›_JlB_$ÀÕ¿?û7²¾?5øþ„zŸz<×çÈ‘îËÔ1Á] ¤¾HjŽ1À7ØqcuRÅuàd¥:°™â`l$®È†óåE–ªoÐç /ãƒJýF1æ$@œ.ïýþûsý¨úì€ ÈFg9RªŽq?‰¾ØÏÖ”¹€lxL¿Ä+¹Jw²sSÛ.&O"háÇ_Œm—lø¡V¡ ƒ™•Øö dBÚlÇÀ%!GKAN—€´K#€%‘ÎÀRH/` ¤7072˜ Ì…œ E¢óùl`w2¶sÙ¢Ù‘Ï † LÕ‰L…Œ LŒŒ¼úP×¾¿çm:b,>Û+*;/Sb+P>H,ϦÜQb“@àø(:x4ŒÒ³cÛÜcä*Ç\IªÙ€EqÉRÔâï«á»’»æ¼y73ÖHþÖcÇÄ/œ ó^{(épÛçIEND®B`‚./chessx-1.3.2/data/images/back.png000644 000765 000024 00000001617 10622422464 016513 0ustar00nistaff000000 000000 ‰PNG  IHDR szzôgAMAÖØÔOX2tEXtSoftwareAdobe ImageReadyqÉe<!IDATXÃí—[HSqÇŠ%>tÁ.) QFåDz µ‡L¤ ¤vƒv6 Bz±A¼ÔƒÕ‹%‚t#PR§&y)–'âðÒ2SÃiÞhy›Öp>įïÑ¡S–6O;4ør68;ŸÏùý¿Ãÿ3Óß ýøSÊ(€ˆ¼/Er/ÿ].¥vÄî'Ö»#!ž§¡´–â‹cQòXR4Ý<ñõ¸€3œ‡ôlx¬ýv*‚ªA6xT`žlá–LæÖl Ó'éðÈ& ÌÃKo¼Ì\}˜¹^ÃâCÁîqEð&À+÷2? f~›€ ¨=+0/¼ð*Àuë °…YŒeñA¼çÁÛøsÀ˽çŽo"XÌ´_O¤‘[ç©ïŽš:0šíRnœ¦mFÖ¬J`^ø{Àë è À+pJ%&®6Ùpˆ¹M`îHeîJgþ\À<ªçœs4øIÂm8Fí#àÀ_^x5ÍEú^ëǬ—–brsC&ãó@g'Ò8àW‘ ·fáå€÷\c6î@*7€zZ9MèM笲ž†ìtKëVq3¼‡'jPÒ3Ê샻£ßK+úeàãƒ?ßnÔ%MòÖõ*Ђ Q#­œv ÉðŽÚC!)G©ÐP¢ý΃èîP\&H˜pÚ;§˜œ"ýî‚À _U0…]‰¡' ¥[ Ñ ‰nHtB¢“æŽ]hÂOhÂ4¡Mh|Mh--à…øAB5+¡ƒÄ($!Ñ 3à½Ã~ôÇ0Æpc8†åÇNa §õò~)1 $† 1¼‘ù+D…‘öÌxš”€ÎIaËbKGDÿÿÿ ½§“ pHYsHHFÉk> vpAg€€0á1š2PIDATxÚí½yt\×}çùyKÕ«½P…}!Hq¸/’HŠÚLIv[²,E¦Ä‰Ä±e¹'}œé3§§ÇYNOgΜéɤ§Ó‰l··öÒ²zÚ-K”I‘%Šû $‚ØBµW½zËüQx%pE  Âï9÷jÁ«W÷÷½¿ûÛî½pwqwqwqwqwqwqwqwqwqwqwqwqZH³}· E£ÑÃ~¿ÿK@ Þãñ´e³Ùôlß×\ƒ8Û7p!„B¡šµk×.©ªªú÷n·ûÍyóæ=1Û75×ð¡Õù|¾x ²²rÑúõë1M3’L&·ƒÁŽd2yn¶ïo®àCI€ŠŠŠ¿Rå‹Åâ©X,v_ p·´´ÈŸ ýÉdòÄlßç\À‡’‚ |ñøÃêêê-—/_GGGeÃ0¨­­2™ÌS¡Ph ‘HŸí{m|( `š¦^YYù»_ýêWeI’äË—/300@.—Ãçó¡iš¨ëú“Á`°'™LžšíûM|X Ð>88ø;†aÔnß¾¦¦&²Ù,ÃÃÃd³YDQDQ„'ƒÁ`E0œç÷û—æ`0¸  …}>Ÿ‘Éd2³ý[n7„Ù¾Û@ ðAþc.—‹>ýôÓ<úè£$ ÚÛÛ9}ú4¹\I’0 Ãn¦iÚÍ0Œ"0 \á ]×wõõõ™íßu;ð¡Ògž¢(ß©ªªú_æÏŸïM§Óœ={–L&Cee%Š¢àñx˜˜˜À4MdYFQ¼^/@€p8L("K@ ¨(ÊQ1Mó#‘Èšp8Ü>111<Û¿óVâCC€P(ô„ÛíÞÑÜܼuáÂ…äóyÜn7Åb‘ŽŽÆÆÆðx<‚@2™DÓ4Ün7n·ŸÏG  ¢¢‚êêjjkk©««£¦¦†p8ŒÇã5MkUUõ÷+**Æ&&&>4Æã‡BeeåÿþÛ²e˪#‘CCCÖ®]K$add„ÑÑQFGGQUMÓ0MMÓìfŠ¢‡©««£±±‘ÊÊJ¼^/ªª*ù|þ¡P(?11qp¶ø­ÀM€ÊÊʆP(ôýúúúÿiéÒ¥R±Xdhhˆ††–.]J]]uuuH’Äàà …B‰‰ …†a i¹\Žt:M2™$™L2>>N2™D×uuuuTUU!Ë2Ùl–l6ûX8˜¸ã=ˆ;–555Ûü~ÿŽÅ‹omhh`xx˜‰‰ šššhll¤¾¾ž`0ˆªªŒŽŽråÊA@KÑoY– ‡ÃÔÔÔPYYI À4MR©Éd’T*E<g||MÓ‡ÃD"’É$¹\îŸÏ·3•JÍv_¼ȳ}ï~¿¿& ~-‰¼°hÑ"—a\¼xUUijj" âõzI§ÓŒÙ£Ù² LÓ¤¢¢‚ùóçÓÐЀßïÇår!Ë2†a066F[[.\`tt”L&C<gdd„E‹QWWG"‘ ›ÍFt]ÿ;à)Àœí~¹YÜQ ººúS@à‡óçÏrñâÅÒøø8†¢(øý~E¡X,ÒßßOGG444ÐØØH]] 455‡Óœ’Ë墲²’eË–1oÞ<âñ8CCC¨ªJ*•"—Ë¡( >ŸL&C*•Zâóù¦Óé®Ùî››ÅA€@ P …^ŒD"ÿDze˪êêêèììäòåË4773þ|ÆÇÇ‘å’B‹Åb Ífñù|ȲL±X,ý`IB×uŠÅ"º®ÛqÀŠ`•••Læèîî¦X,’Ëål² ‚ÀÄÄÅb1˜J¥~:Û}t³˜óˆF£÷)в³¡¡áñÖÖV¼^/'Ož¤»»›šš–/_N¡P ‹ÙFZ"‘JÖ¼å jš†ªª òù¼Ý …Â42‚€®ëȲÌâÅ‹ñx<\¼x‘B¡€¦iˆ¢ˆ$Id³YÒét£$I?. ³ÝW7ƒ9M€ÊÊʧEÙ±páÂæ––²Ù,‡fhhAƒäóy®\¹‚a‚@>ŸG\.’$Ù‚w »P(Ë妵|>O±X´¯#Š"¦i¢ë:óçÏÇårÙ¶† ȲŒ¦id2Å0Œ¹\îŽôæ,"‘ÈŸú|¾,]ºÔ¿xñb9räãããögŠÅ"™L†l6‹ÛíF¦"ÛÖ(¶||Kí[BÎd2¶ð'];TUµµ…š¦ÑØØH&“¡»»»Ôq“¡äl6‹®ë±\.÷«Ùî³›Áœ$@4ý7¡Pè[ZZ¤ùóçÓÕÕÅñãÇÉf³x½^B¡Š¢Ëå( ȲL ˜v +¾_Ó4EÃ0ÐuÝ&I¡P “ÉP(ì÷ D$ëZ555tuu‘H$$ A( ¨ªªåóùïrzsŽÑhô‹D"ÿwKK‹ÐÔÔd'p4M#‰ÐÜÜLss3ÕÕÕhš†$Iøý~$IšQà3Áj9LÓ$›ÍÚ"ëzÖçEÁ0 :::ìibRcÈŠ¢|§P(äg»ÿÞ+æT ²²òï¢Ñ蟷´´P[[K[[çΕª·ªªª¨««£ººšp8ŒªªÄb1A¸ª@¯§ÁWAÈd2Ó2…†aXuÌ›7P(D&“A–eËs¨Ð4­¿á›˜#˜+¨ŒF£FåÊ•D"Μ9C{{;’$ ‰F£„Ãa¢Ñ(Ç6ÚTUE’$$鯕ÙõÈ"Ùl–X,L¹‡^¯EQ¨««ãüùó¶A(Š¢¨î¸ZÃY'@8~N’¤¿a•iš¤Ói:;;éííÅåráóùðxXºt) .¤¿¿Ÿ\.gϽ¦iÚ©Z«Ó­ùß ñZ‚p¹\Ó2N"”ãFˆÏçÉf³x<|>Ÿ­qœ¥d€kûò¦1kÐuý„a$“I ¤æ»»»‰D"H’„(ŠÈ²L2™´Ÿ[ù{KðVPJss.—CÓ4{Þ†éB¶B¸Î×' D¯y¯†aØÑÂB¡p5wóÆÝ9„Y#€ªª»EQl“e¹Õ »æóyúûûI&“äóy\.ªª¢ë:¢(ÚA+€cD˜ªî±æeY–í`5ZEQÄãñØŸ·¾×y™`š&…BÁn3½hܘÍ) ­iÚó‚ ¼bFÀªÕëíí% PUÃ0¬¬@¹ÀtQ ‚ð3Qûu]ÿ]ן°´„Ek”[ ËXt’èZÓišvÁ"d9i&+‰ï8̪¨iÚ[‚ Ä$I @IEg2;Ü[QQa‡dGFF¬‘6"ÂiQwû‹Åâ@Ÿ¼äOEQüÃ0¾ ¬ÕuÝ5IC–eC–e9“É mÜhÉ0 ›1-f’ w\f?`‹Å?2 ãYQ›4M+ …­©TªÉ4M\.‘HÓ4ñx<Ç …Â×t]?cšæÀÕgÆwï« ³Äš´,Ë[€ÿšËåÐuݪöµ§–ëM–(‹d³Y{J± ëú]Ü$ö麾O×u\.×>MÓlÚ² …‚©ªêŸëº~à¯iÓÒ³º®7¹ÝndY&ŸÏ£ë:UUUx<;ùs=;À :9 AG¾àŽ\E4`Ã0ŒÎp8üå^ùý~+"÷4M»QáÏQ?*Š¢] bdŸ¯Ä·ë%’¬Ú«¶¦ÜKÃ0Š’$¥f»ÿnª_fûœÐuýÿ, {dYVÝn7™L¦?‹}UUÕÿð~®ÛÜÜ1Mó“–W%{#Ló®Fë=«¦À >9þGÍf³w$æ”.åóùÇt]__,+€óÀÀû¹àöíÛ7OLL|mdd¤Q’$[}[ÕÃV°ÉÂÕj€iq§×`šfÈRZkyGÕÌ5˜Åbñï¯3…íÛ·tÛ¶m_^¸pá“/¼ð‚¬( €]C`Åó=\Öë–Xö^!g‰„eDÜ1$˜k®ñüºÚÔÔäýìg?ûì† ¾¼råÊëëëùÚ×¾FOOÕÕÕ {µ•hræ®§º·®á$Œ ÉD"q7ð>!”=Z¸®àÃápÅ3Ï<ó»Ÿüä'Ÿomm]kåí9ÂO~òB¡R¦¶X,"Š"¡P—Ëeƒpm#ÐI«‚Ø©4MŠ”l*ãFîy®`.à=ãÙgŸ­_·nÝç6lØð…–––%.—kZ­ÿ7¿ùMR©ÕÕÕvÉï÷ãõzÁ®ó¿^.ÀIMӦŠ&«…„D"¡¹Ùî“÷йD“«ÏûÓ^[µjÕ²Ïþó_ذaÃ477×+Š‚¦iöhöù|8p€ßüæ7„ÃaDQDUUü~¿½PÄzí†opo!ŸÏóØcÝûüóÏ¿¶{÷ñÆ?;}úô˜K€ë¨Î•+Wnüô§?ý¥Çü3õõõ!ç*˜Êði𯷾õ-ŠÅ"ápØVÝn·Çc:ù׼)‡àgŠÖÕÕ‰>øàýK–,¹Û¶mÿfçÎ/~ï{ßÛ$g»C¯‡¹F€ñ…/|á‘M›6½°nݺ§ëêê<€]ï_ŸÏÇo~óÞxã B¡¢(Úkÿ½^¯mù—Wþ^ eÛÇL#Ž•³ðù|lذaýÊ•+¿ýì³Ïþ»Ÿÿüçߨ±cÇ2™Ì(sÔ.˜Ëp=õÔSO~æ3ŸùòªU«ž¨¬¬¬Œž5rgªôÉçó|ç;ßÁÊ%Xÿ#‚]ed…‚±ü÷ƒh4:m]¡ËåbãÆKV¯^ýÿlß¾ýÏ:ôƒ~oÏž=Ì1"Ì9Üwß}¡µk×>·eË–6oÞ|¯ßï¦R·põú>¯×Ë믿ÎÛo¿M0´£|–ïoiƒ÷:ú­Çòùßš ***¦½nªª"Š"ëÖ­[ÐÚÚúyä‘¶mÛöý“'O~wÇŽÌ"Ì4µ¶F¿¼ý¹?Ø´õ//YÚÒâv»í”¥’úÓŸ¢ªª=ú-õoUY[ÄÜÈÜïVÿΕÄW#€…)"H´®XѰnõªßqáÜóµKWÿà›/þvñÔ¯Ú˜e"Ì6÷ÆíK+š[þ4¼tý'/W˜õ÷{*~Ñ¥Îæ)J–úõ\5EQèêêâàÁƒXZÃé¶Y%e7øqb&Ðùž$I¶¡Y~Ö÷|^dÁàL×/ÎŽø¶~uéï<ø'c+ø§±ƒ/½Xì9}’Y"Âl@ð>üùû£‹6})² õ9¨2dêSóWÆŒMLJÄO¯¯ã¾–|aR™¬mé_ .—‹'N‹Åì­\¬L_,z£ÁåD)n†½^¡üs¢(ðûðÈzyé^öôBÞ]åö{‚!¸ï©?­j}ø³ñ3{vÆ;Þ~1ìåƒ|ÀDø  (Ë?òXÕCŸy!:Õ'|¾€,˜¦®"˜&a¿"èþFáÍdžÃ¯ŽñÀÉA>³±‰ Ë@ÀO*“µ}÷™ ÀS§J%–qW¾̹ØÀ9ÿ—/6µF¼3©d݇ßïÃï–éîâ§ï\æ•n¤%öLLÓÀ4Í àóz[žù½ªµzâ¾çv%.û¯‰ßþÃoù€ˆð`»;üDÓ'*îi}¡rñ†mŠÛ`hFÉJ=€„A…_Aó5²w"ÇÛ»†xäøÛïkbíÒ~ß4`yªªÒÕÕ5­¢Ø ÛZE¡W[1|58³€Nõoœ ;¯`&>Ÿ— Wa`8ÆwuðË‹yÆÄJ¡ÁœÙˆ5 Ð ø=nÉ¿lÃÓU V>_~ÿoÆ.{1µûÿ}™ÛL„Û¹U¬ápø“ÿúSUK6~)R·à^EQ0õ"¦qã«x5R™,>5ÆGá3÷5³rÉ|t$’éÒÒ0k#ˆçž{ŽS§NQQQËåBÓ4»xà ÝìüoÝ,˶™ÉdX³f /¿ü2Õ‘#±;wò³³)Í(þ@·xcÞ†ý›E‰‚ª2~åüáC¿øFæÈŽŸnn–ljˆ4¬þÃêMŸøB¤vÞb—,a¦ys¥ó‚ R4 •N,Æx¼Y`ûý÷в¨™¢! émmm<ûì³$ {¹¸(²´„Ó¸” ¦kƒ\.ÇŠ+øù?ÿ3ï\âGGGèV+ðÃx\"æ{˜nfúÍ‚$£êñž¶ãCöbºãÄâ)n!n%ÖþÎâšÖÍR½xýçÂÕõ ²`bèÚ{×î¡D„TŠPq”.ùý­K©­®äÙO}š½{öàõzq»Ýv±§µ°³|Aȵ–Žïrý¬ºÁòé@Ífi¾ï1ŸøK\¾0Yx_‚Ÿé7 ’‹¢n¼|v¤íð7Ìîc/%ÎìšàáV@ aÍšú'¾ø|Õ‚ÖO‡*k¢’À䈿õÓ—¢HA3H&4¸s„ÚÅ®¾ˆ »l×ÌZ `À¹˜¼ÊIPN­XD-Yù•oR¹ú#è…ì-ÿÍÖ= ¢DQ׉÷wŽ^8òø¹ýß§ýõAÞÞå¡/=Rµdí Õ‹×|"ŠxDÁÄÐuÌÀ€$™l:É¥¯ a¬ AvÛ;yï"µF¿“3å·þv»ÝäS)j6?Ã’?úOèjþýÈãúÂDQ*i„‘þþ‘{¿;và'ß%ÑÓs3_|^ÀW`Ûƒ¯lÙø•šùK÷C‚`ꆆi”Œyá:†@Eä|1Žá `‚½x3ŸÏ“N§§-+_ xµåã3…-[^…µg®ëè…,fzLñ}ìIp£0 —(PרÜXÝøÇ¿ïcÏùõbÇwÿ7úOvðˆp£w+P»Ú盿⹺MŸøríÂÖÍ^¯ÌI?{–‚™‚ËMnàñÿ[ô¢Š¦—æ^ë€t:Íðð°M§6€k¯.þY¤H$B4µwËd2Å<Ñ–-Ìûã¿ÇÔ´÷Òÿï¿Q’БMŒœ?öÓØ¹·¾Q<ú““7r#×#€À=©‰®~ð÷ª[ïýÓêy‹Vx\¦®aܤE+!ºÝgÈíü+|^éLfZ¶0`ãããön"åñü«ÀYó'Ë2¡Pˆºº:dY&[ÛÃ!Š">·„4o-uŸýO†~#ý~Ë! J"º)œˆg‡/úùЙƒÿ ½ó£Ã׺!᪯‡šU~ô‹T»|Óç«æ5¹]¦¡cÄ c] ݧéúúy`Ëf&&öO–Ïï÷ûí ¡-M`-u.µÖ X™éX,F,³™Zk \‚É#BëW¾ihpŒß… €(J˜LÄÇ Ãm¿ÜÿÒ?h^ßÏ D(·ßý¿¿>X¿ð‹õ÷>±=ZSuIBɰ3&}hñƒšá¯QEøØ—.^⡇fddÄÞâÝŠý[{ X;{8…_n–†A>Ÿ'“É iš½O‘,ËTVV Ù·çuŒ†’,aõY?‰É4u@ ²ªB‰VmýTcëºçÛŽ¾6¸ïÇÿ¨¶ïù5S‹i-lw·Lm [,Éç󌌌pæÌ:::èíí%“Éàr¹ì­f`Òî!Ù}†šõQLÇg·{L0Lð¸+<èEc'{è!p0rÍ(Š>ð‰zA4p!Kn¢™d2Áî}§iY2Õ-õä “¾ñªn"͈² Ñ¥Ðõ«$qé.ŃPà‘$ EQPU•¶¶6Ξ=kF©¨¨@QÛ„©ÅŸù|žxM`ºa¢È"÷TzðJGÎösöÂ\2ü^LQBÜ(™~Rï¼t¥÷Ø«;ó}Ð%~ `B!1Ôs9{a& ëµ®êÅ^Mò ‹àq‹ŒŒŽÓÖ9‚×­°fAŸ["™×ÑMa2> ¼+ár«šär£çRœøû¯;¹%@”$DqÊps6§Aw­Vþ=7òù™L%Ò Jˆ’Ìø…£`êÔ®} neßLÚ<–2jªPX^ëgh8ů÷ãJß0á@igSSrã6‹˜^Éöÿêoßìk?¹SÓÍÓÀ—(ípiy¯†ªæã'ºÅáSr RSgEÝð¸%04.tÒ3”faC- ATÝ$¥ PÒ·ƒ¢ˆèrqî¿ÿƒoíB™\ÛoEðnDз²•»‰36I$~á0¡ù-„´‚^¼eýº ^™5<Àî·;xëØE$A'ðaŠ.DÙ…2ÖÎøkÿ¹ýòŸÿ"ÍzaJ‡c' „&[¨ª€JÅ-¯n\÷ÑG|·9ï©­€`¤sy4Cdê…<ºa>àüp–´j ߆iAr{9µ#ÿ×çK£^’¯:*K#ñöM3e ¥©G“b.MhÑ6ÿÅKHnÏ —Â] ša"‹Kª<Ô\iâÀÑ´bŽPÀ‹ H˜²‚Rœ@=õÏñw~±?•É™z|RðãÀ’˜ZÓ®SÚíR¥TVÔuct¼ÿRg±û ðûk¥Êùn nIÀ%A÷•aÎtƨ‰Ù¸0‚KÏièÜBm¢HçÏÿ É®S¸<>û|«9«~œ¯ÝípÝ‘ï œ(ËäbýD–¬'8o)º­¾ßk3)Yø a7çI§ ìØ}Ž“g»ðºÁçñ`ˆndQÀÕû¶>úÚßë9y`§ZÚme`’#“ÂO@µNY0'I •‘ äóÙLo¼ýí^w¢Ãë¯jªÑ}Õ‚a‚×-¡rœ<ßÏ@¼Àš•,«÷“UuRª1éŸsÓÍ ”ó©q.í|5›Fr¹n™ n¦ÍT]tum#`U·‡Úõ"`­i|oý ™&~·È†¦u>™Ý‡/óòžÓä³)B‚äÙ';@þ­o_¹¼ç¿JŒÇ÷=ÀФàcÖ¨§´ŸQÐÊ  O¶âd+ùÉ¿“©Ø@W¾ãÍqŸ¯Vªù‹’I(††ãi@–¶,«¢Ò/3–Õ(è%m Þ óAÀ˜d{]@fC£qbwv~RÄÏé¦9GúŽø™ >+xµ÷oÔ(‡`H?Õ?Š(Mß¿øzm2 ò*/ëtôÄùѯOÒÑÙKÐ+£(n Ñ›"ÂÅ_g†~ó_övû•n˜ç&GüФÊ;F}~r€Cvßz´4Aqòƒêä?¥L:N¤÷ý¤£ªã‡*7vc±nƒRÔEü^Ð4•WöçTûÏ>ÚÊK"´déŒÌ®Ý01L¨ö»XYëE^?z™ã{"¥Õ?&×LyvÏÓ·:å~¾tÆ œÍÊ”¬ïé›D:]ÁòZCC”ˆz%VF 'o3L\¢ÈµLÃ4Ñ ¨ñ»X×à'Qùï»ÎrîB>T=‚ ’Œw쬙8ôRÛÐ¥Ó{u¸4)lk´[BÏYÓú¤l­¢ÓyÐŽéh3ÁšT “MM\I´ðçGÂÞšQÍU`–\ÆäD‚wÎöÏl^ZÅ¢*/ã9´jLÚ“Å“Í0Kj.ꕸ¯)À¨—·Ï°c×aê ½|z…›SGQÔôwÔ«‘¦*ƒ¬šŸÏ‡ÏçÃëõâñxì°³Y¯Yk‡Ñ™c壾Ü“Œ¦yÝ£lYVƒ_qÏ ³ä>—õ…f˜(²À†F?Ë+½ì?ÕÏ_>Îðà0!Ÿ IvcJ ^-qâ'£ý¯땱‘þ×Lè˜ñC3¨{kÔ;…O9œDpj„òiÁ"ƒj˜ÄÃÝÆå·²¯«VŒÌ÷7².Á ëÊïœ!ôóðò*ün‘‘¬†6© LJ ?ŠĽ~ZjüœìˆóÃ_Áïâ/žœÇó_ƒ„Éë¿Ýcoòt=µìr¹ðz½¶ Ýn÷»Ž}qjëïòiÄyMësVMSÌœ"§D(è§?ëãô¬\ÜÀÆùA Ó$žÓmƒÙ0K®Ý¨ÂÖù!Fã9¾ýË“¼süŠhàU”I#”Þ·Õñ=ÿðN_Û¡_5í0èP÷ã@¡oz®ynàLD°Pt°*ŸÏçú':]öL\tû£5µº¿N4LPd5›áh[/ƒYÖ,¨fãü YÕ`,¯ãw‰llð±®ÁO{o’ïþâ(™žsü»ÇêøË?ØÊÒ{æ‘Hç™H$ùíoK>Ÿ·7x.Ÿÿ-Á;u±í,™é¹“Îk:5ŒS°å¯Ïôž$Ix<©m¾—ÿý…gÈ_á§{Û¹œ”Ù´´†u^rEƒxN§Â+ñà‚ 5^™o\âŸ^9Ffb‚ Ï Ê »ñeû)þNWï›?þe2™ØÇ”‘7<9ê“£¾\å;w.›æ‹^וּò)a&m`‰©ôøÈåLÇÁÑ ™JwÕ‚PQô#  H0<<Æ›gûQM-¯fYµ‡åÕ>úcY¾ý‹ô=É¿Þæo>ÿ ëW.¥hˆÔ¢]æ½{÷nz{{ihh˜QøVs ÷Z­Ü,w+gŽöM,·#¬k[$ìëíeó–-ü«õq>¾u.öqáÔI^Ú×E[—UÑRãeqÔÃÉŽßøÿŽÒ~¡›€›Rü^TPPq]z%5²çÅ=Ã=­›\pŒzç|_®î-á¿Kð®Uîü‡™ŒDË]Ì3e$¦ 5ÑóÎ/»#]Gˆlüôýņû|ªá§€V̲ëµÃœ¼ÐÇ[Z8y”DO;¸.Ìç>ö8UµµTl^&d+ƒ7>>N.—£²²’Ìdhyß)Èk©z§pŒXë Ë…ün5/NÛ;Ȫèîî¶·¦7L“‚!²níj¾Õº„=oç_=Èßµ7rÿ†.vrìä%¼’AÐWJ܈¢„ü´™:úO§†»Ïç㎖šAÕO3ò¸N}Òž¶èTåÚÀ2-#±dóÙÔ•tç¡~_¶/à­n®*º£`‚G˜OráÜy>V—àÛþqݼ—ÛCA¾â°÷æ=uêÇgbb‚ÊÊJjjjluîlÖ|o5§ÚwŽ~ç󫮚—p¸¢±,Ã1à÷û¹rå ½½½|ìccíÚµ¥AÀe–-]Ìï=º‚Pª“ýò-Úû3="¢ä”<ø´ „s?Ü÷ý]±á×.Jþü ïÁÈ»ž`ßËÂçEgò,Áv‹&éþ ïôûÛ6V®yê!}áã•yу i,¦¨Îwrà̓l}ð¡ÒÁ0m^ç|ºdÉ› ­­­,\¸Ð>VÎiÍ'˜)Jè æÀô]Áë­ƒ¨¬¿­Ï8³ÖVôù|ž¶¶6[øŠ¢ÐÔÔ4í÷x<TUåðᣌ]>ÍÚ*Ñ1E4Pä'ŽþìÈØÈÀJ±û8¥äM‚’ªÏM6ËsÎó×õ7K€rF“_î #;§…%õ”I¥Ré7ÜQÙsä¡ÀÚíôŠÕ²!º)hÞ|“ÓgÎòØc±qãFÜn·½£·s´-_¾œ††0 ƒ3gÎ066Æúõëihh˜¶{¹›X®ö-"”ÏçåËÀ,"”?:cþ¢(Ú§–vvvræÌûtqMÓX´h ,°WuuuñÚk¯ÑÕÕ…_‘0¥j‚¹+¨gv\ºrþðÞbižM ßiÙ[ž5â­øžoáýž^;pAcJ5©@:›Œ_Îw½=ä5Æ+*EE$Q$Ÿ/pîÜ9úúú¨®®&–6ÙÉÖ®^±XŒÓ§OÛeÙ©Tо¾>êêꨭ­% Nóå­fu¾åÿ;[y,À9XÏï{<B¡Ñh”`0Èøø8ÇçìÙ³ ûPIÓ4ùìg?Ëý÷ßOmm-º®óÚk¯±k×.ÆÆÆJ÷£¸‰ç%úOï›;øíݱ¾®W ¸HIÕ[Y»q¦Ï÷NuM#ïv œ Nû <¯ EÍ0c™á®ÎDÏ©‚˪­©­U\r)¯?44ÌÉ“') Ì›7orçR™V.—#süøqâñ¸=wëºÎàà ===d2***¨««£¦¦†P(dŸ=\N„™H (ÊŒ‚·Œ¬¨¨°ËÉA ··—C‡qôèQFGGm­c-%[³f _üâ©©©áòåËìܹ“óçÏO–«¹e7½CúþWvœè=µo§Z(ú'…?Biô—ûôNëþ¦F½·v€©&Qš^\€x)ž™J9GÅËZW?òð£YÕXôb‘âä>~<ñĬ\¹’L&C?}}}ìß¿Ÿ¿ýÛ¿µOò´¦ (i EQ¨¯¯gÉ’%,Z´ˆÆÆF{Ç‹0å•ÀÓXì˜ÓÇÍ©ªÊØØ½½½\ºt‰ÎÎNb±š¦Ù‹O­©#ŸÏSSSÃ_ÿõ_3þ|ÚÛÛéëë+Å)Ünd—‹D&Ï[oê;zèàš¦žf*fo =ͻս5âoØÈû ༞@)Ílœ¸Da ªo`ݦ­>rÿÆ µ>EšœÏ‹˜¦ÉÚµkÙ¶m^¯—®®.úúúxõÕWùîw¿K>ŸÇçóÍèÖ™¦‰¢(D"ªªªhnn¦¶¶–ªª*¢Ñ(@`ZÀÈy(T6›%N366ÆÈÈCCCôöö‹ÅH&“öBQ‹N×1›ÍR[[Ë—¾ô%|>===öbÅíF3EÚÚ/f÷íÝs(>:tÒˆwyNËÞÅ»)#ïƒ&€óºV™Òn¦k'šê›·>òè¶û/š¯`hhEüäFL[¶l¡µµ•ááazzzØ¿?/½ôcccöÚ¿r£Ï:ÙÛ"„ ïŠí[Ó@6›µ—„YÕÁå;Š— Ýò¬ƒ­—,YÂã?ަi¤ÓéÙü~Ü^/#± ÞØ·÷ü…3§ßó‚CðÎýU7·Rðn¥ 0ÞS‚)Jôœ;sj`"•ÖÔ5Tý^{«÷öövz{{©©©!FY°`ãããôõõ1yìܻ¸Î¾EKpÅb‘\.G*•"•JQ(¦­ ´‚:Ö5íå¨ .‹¤ÓiÜn7÷Þ{/«V­"‘H ë:‘H„P0ˆ†Ä¡#ÇÆ~ýòÎW{¯ü†RÖÎJÜXxß>ý\$€“WK09Dìël;>#)¾šššZ¯â’%‰x<Î… l¡¦¦†Å‹‰DˆÅbŒŒŒØ>ûÕR¾åI$g|`¦Ðoy8L"šL&1M“––6nÜH("ŸÏ ˆD#xýAz†µ_ïzùÈéãGvUõ8W¯Î±Fþmõ³A€™ˆ`Ík3V!©…|Gûùžþ!WEUMm¤",º&Uz?W®\Áï÷3oÞ<š››Y¶lUUUöÜm…ŠA¡™1Sˆ×‚eÑ[V½S[¸\.Ö¬YÃ<`ŸG$I‘Š *" ºÀ›o¾Ý³g÷+¿JŒÇ÷RJÜ O¶1J‘¼ô¤ðgRùp›…üB晌D™)#ÑGÉ>ã(P•ÝÊš÷n~xÓ¦ûæù=.ŠªJvò8÷ÆÆFV­Z…¢(Äãqb±ÝÝÝ´µµÑÝÝM,#ŸÏÛÓ@yjx¦H ó„Pç¹B~¿ŸúúzZ[[¹çž{H§Óô÷÷ÛÇÐ…‚AdÅË¥ÎË©Co841{›’‘7îz¹ªwyï˧¿àü^§‘hy àar­SFbhŒÖÖ=ðÐÖG6-[ºÈ/˜¥A:A’$Z[[Y¶lªªÚ;‚$“I†‡‡bppÑÑQR©”½@´X,θ2ÈŠ øý~Âá0µµµÔ××ÓÔÔDMM ñxœ¶¶6R©@€€ßÏ`,‘6½ýö¹Î‹moPšçǘü¬y7"ˆÙÄÄœåê• ,Y¾rí£>ø`ku$HQ-/Èf³TWW³iÓ&H$ŒS(¦úÍfÉf³6œgy<;±cÀ** ƒ¤ÓiΞ=Kooïäû>|>?ESàôé³#'ŽÞ—Ë¥O0U‚m¹vJ£Þˆq|ú›Àlãz±?SÓ‚å2ÖzüÁõ›6?øÐºµ«ªY ¨ªäòy Ã`ÅŠlÙ²…@ `kƒÉC¨í"fÚôÑ™Hr.•e™ .pâÄ …þÉè¢äVèéRß:¸ïÈpß›”æùq¦gX£þ}'nngçÏ”k'œ±ƒ ¦¦…ólÝúУÌ«s›ºFQ+’Íæ¨¨¨àá‡fýúõ¶›gíb{–À2EÁçóqåÊ8ÀåË—'cnÜŠB"]à·ßé:sêø^ÓÔÚ˜ŠäÍ”¸qªûYõå>—p5#ÑEÉ6°ˆ¦¤ ¢@¥$Ë+W¯½÷‘M›ï¿'ì÷ i¥H¢ªª,]º”'Ÿ|’E‹‘Ëåìía,á;w±F¿×ë%NóÆopðàAt]Çëñàr»ÐL‘sçÛ‡Þ:ðfr<~˜RÜÞ©î–½SÝ Öý{íð¹ë¾D®>-(iË>¨G«ïß²åÁ---K²` i:ù|EQxøá‡yì±ÇðûýÓÔ?Lù÷V èĉìÚµ‹þ¼e2®à¦8f|sÿéîŽö7€N¦Gò®¦îgÕȻюž«¸ž‘è£4-DmñÂ¥ËÞòÀC«j¢¢¡•Lù|ž††ž~úiÖ®]k3!422®]»8zôh)Ïïv—¶¡)h9~|àÄáwö©…ÜI¦Ôý%ë>Ít#oNªû«uð\Çõb–‘bÊ6¨Q¼¾µëîÝôÈÆµk뽊dO º®³nÝ:žyæjjj€RÙÙÞ½{yõÕWI§Óx½dIÆd:zzsoíß{xtxðM ÉeÕ¼Û§¿ZªvN ¾¼sï\+ÁäaJTàH0U×6lÝòàÃ÷/¾gžG0t[ƒAžzê)êêêØµkííí“õ2’ì">‘áí·ÞºxþÜɽ¦i^`JðÎeV·´:g¶:õNƒ“œéfKØF¢ Ë[V¯{dó¦ÍË"!ºV¤X,¹‚V€2™!T 8{öÂø‘CoîO¥G(%l¬Hžeä]­üzN«û™ðAçn%®UŽæ,RUøèð`×Åö‹iQöVW×ÔxÝ®©]Bw©:§o(¦¿þúkÇN{g§ªŽ2U{ovÊÝ;ëûîu?îD P~ÿ3ÅÊDËSˆ÷Ì›¿èáÍ[X7¯®V“TN娑ãWNž<ü†¦ªg(r,ëþ«Î™­¼Óq=#ÑY…d‡”eÙݺî¾M©®ªz{ÿ[ñÑáÔRµåê>Í̉›;vÔÏÔy\-Á4“‘¥DŠJJ¦¤ÚÇ™ÅêœÙê´n´85@‰VmB†’[WîÓÏ™ÄÍíê¬#n¤8Õ3ùJ£ÛÚ eÎ&nngG}XqµØÕ¬•QÖ*'«}hŒ¼é ;ʵÓP´Ê¬iÀñs2qs;;ç_ʉ 0ý÷—«úµàË;å_„²G æUþ¾‹9þ%‚»¸‹»¸‹»¸‹ÿaENjª°Ž%tEXtdate:create2010-02-10T00:53:32-06:00ù)/7%tEXtdate:modify2006-09-11T05:30:56-05:00[QmKIEND®B`‚./chessx-1.3.2/data/images/bug_add.png000644 000765 000024 00000004412 12142367140 017172 0ustar00nistaff000000 000000 ‰PNG  IHDR szzôtEXtSoftwareAdobe ImageReadyqÉe<¬IDATxÚ¬Wkl×þfvö½Æ/0Ð`£†Z”HдI( `7&Æ6Ž(•iU©‚b"Ò(ŠÚðPøÑ¥- …?´?š à`h ƒ1„€¡ à76»Þ÷Îkg¦çÞ™ch©cyæÞ3÷|ç»ß=sVÀƒ]³ j¦‹‚µ- UX¦UÕ g2H&â­²ª7uu]¸D~ò’ÐÏ3~òÔ/kVASÄ¢D£1Äã1Ü G*.v]ù’||dêÃÄçõ§P呯½îÐÈé$Eá@TU…¬è°äêò:þÐ}ËàzåÕ×¶oùóæ—èÞ=·®‹ò¼ØU6Aô–Ž7‘O9«^äI¾N ÄŸÁ¤ Š˜, {XDϰ¡&U,]ߊæ1@þ[  ´ü¥¦d__ßãû›÷s^”ÖWâƒÒɾ%³¿3’˜–‹Lõâ­‚‘,k';ÃèT>^w4“e³µ‹êgM™2åì{Û·åÑsj¬¼ñXül~~Á!ºŸÌ^z»[¦—.©xztÝ àì>ÄR|ÔUOBkûÕ%o[Ñ-k[±’Å`k³,Ö½7wÿ¦þ…F%dD0Uú'êë`– ›†™ºq€uÇ?›Á øÆQ´o¢¦ð1Dw6ý¤aASJ,â§%:2ò§±ôçÞ÷{}¾Òo•û‡þü’êJOGÕÊq :Ñò#oV=|ߘ·dÀíà²Tä6Ââ^èªÝô!3Ô‹‘“»)H½ƒyÙÃêìÉñðÁË—/í!ñöÒkòX´Ã’“MÚ^öº©À”_DìøGŸÞ=1 ©°–·R^ LÑÅ™ÍÐhΤS „iíP Jž¨Eñ¼£ójV¶àiZ÷Y„,MfŽÝÓ™ÐXR"Á¡„%…‚YUHÆ4ÊQDéÜJ ßÁ3‡ D¢äq…(˜ù,Šç¼ŒîcG`™&Н¢R| ·]eúØà£ ‘é™QÂÔl¦#0uzz„öŸF©úMœ»I-€të߸¼ƒ3ê)øB>§§ÈŸÔj¤Ãp¹½ÐضPäÿU îª„l? z9+Ç €]NÒÂ4&SÖ¤4-µçÉtºÏf"H¡z:Á–•0³îãzˆR,.YºìùHòç‚Õì,D Y%cg¦$8=“„A™ä¤8ƒ $EMIT ”8DÀ²Ê“ó«ß™\½×°„¥/¯lñù|Ÿx=Þ¥ì=ö²žŽ’ʼn7€jÚ†³ãŒçüôLœ¿›ux$ïRŸÇ÷É‹ËW´Ü‹q6p{½Ï t½ÕuéòUë»ØÉèÕ2´÷loå "Š)3›ß[æÆY$ü8´U.Q‚‘µóýêßg&–?öhÉÌÒõ,Yb,á/›7Ípޤ›pô:‰É²è˜É,  Ø`m›gfѽš‰‘Àý`Òfx©ZÀE²I~á›}çÛnö}ÑvüÀ‡÷úøIŽJû*U [¶ýÖ5•3U’¼ÚÙÏŽPº§m`«ôe” =øXíÆ©ç(š¨jÀ9.F­ZkŽüÇFF$çükÎsˆ’°5@'€0I&ŒƒŽ¤Àç;¸a×16î"—.b_Y„ êg7¢±lüž§j2.ôœ¬8pöã53ﵬƊ\Y¾Kìȱº¯&‡ x‚ÀÅeuÅΔp4 Ò½©±ÌÊb—amÝôGãÀW¿Äp*Íל bæ¤aÕâMx§yíòš a¡e šØrâ˜øÖ ,õÆ5VÌ¢P¢½¤³šN5A§lõ[ ØÆ÷çå¸^æÃ«5kÐvm#:zÿЍœÆÖ,n#t‚ÆZ¯o@Sí›(ȽX¹ s…£H•U5;Îxæ•öðð• O¡zo"“NAŽ÷“ТÄýÝÏZ6ƒŽÜný:ï§èìß‘L/ïáÎO5‹ÐÜ™¨{b¼EØÈDŸ ÕÖ-Ú ø¢ZàÀõNô¨‡û,®¶%:í£’ #½iC²tä&UÃ0NKJ'ä¡/y‘«ì*9ì^u@÷’Ïä AgÀÏaÕ‚êøý:YV·n~ËU†é¡æ¤hoKe™V§S”t§?üãQü¢½«™TÔ,{™!¤ìúÝaXÔfN¦ç5|”C€º¾YÀs;kvÏǼ¶Od„‚dðï?ŸÏ›o˜Æ9§‹…S$hIt7wá£ÕŸ¡¢;Š¿óži!ËO‹QW$#îK8xåºÝ”2"Y#âußàuÆØœ‹|®^£Ò{›™>¹IåŸ'âñÃNö¹‹a “ ÜÚÎͶWæbÅ´b,cBü:Š÷7µbó}æQ(žy’‚0áRjÛ…[ ¸Þ«ýs Ú‡=÷âh®G6Þ¡?2ª,ß¡ç§WηÀ9ša›=±â l?õÓËéa"©Û©³YJeˆúÃK—)@/öù=Þdì²Ä§{Úµûü´Êñ;ϲûòÉ)¯Æ¼²ïc…gfîݵÎõtàÝËÑæ|ü»†€ÿßårºë"‡¥nwe†óƒ„±5âˆÜxЧû[Óí0䵾尛;e·Xþ¾u‚R¥S +IEND®B`‚./chessx-1.3.2/data/images/button_ffw.png000644 000765 000024 00000016701 12141003207 017754 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË$iCCPICC Profile8…UßoÛT>‰oR¤? XG‡ŠÅ¯US[¹­ÆI“¥íJ¥éØ*$ä:7‰©Û鶪O{7ü@ÙH§kk?ì<Ê»øÎí¾kktüqóÝ‹mÇ6°nÆ¶ÂøØ¯±-ümR;`zŠ–¡Êðv x#=\Ó% ëoàYÐÚRÚ±£¥êùÐ#&Á?È>ÌÒ¹áЪþ¢þ©n¨_¨Ôß;j„;¦$}*}+ý(}'}/ýLŠtYº"ý$]•¾‘.9»ï½Ÿ%Ø{¯_aÝŠ]hÕkŸ5'SNÊ{äå”ü¼ü²<°¹_“§ä½ðì öÍ ý½t ³jMµ{-ñ4%ׯTÅ„«tYÛŸ“¦R6ÈÆØô#§v\œå–Šx:žŠ'H‰ï‹OÄÇâ3·ž¼ø^ø&°¦õþ“0::àm,L%È3â:qVEô t›ÐÍ]~ߢI«vÖ6ÊWÙ¯ª¯) |ʸ2]ÕG‡Í4Ïå(6w¸½Â‹£$¾ƒ"ŽèAÞû¾EvÝ mî[D‡ÿÂ;ëVh[¨}íõ¿Ú†ðN|æ3¢‹õº½âç£Hä‘S:°ßûéKâÝt·Ñx€÷UÏ'D;7ÿ®7;_"ÿÑeó?Yqxl+diTXtXML:com.adobe.xmp Adobe ImageReady åzèIDATxí] xU–>ÕÏ„’O!‚2"-ŒàHš܇ŽÄÑqÓ;ã·~Î8#ûu¿ÝÕ^v|Í®NüæwfEm\tVg£+Ÿ²òhñ-£2òРÈKHBÒIúQ{έº•îNwR¯®îÐ}“ê[uëÖ=çžóßsϽu«JEJ¡x%`+Þª—jN( ÈqP@ E."¯~É”Pä(òê—,@ E."¯~É”Pä(òê—,@ E."¯~É9çbý—Ý;§*fæÑk„ZŠA„jÀ«ª¾"„1o› á„(6SìHt…×?üþUסL¹p;x *¼Ü>ŸÍ>”¿÷%5µq ©„!œˆC÷Cè ½~bÈ@jåeõ6—£U]osHšd…cˇª±P=®&ÏÇ´8eÜy’6åß‘0FÁø¾LI?zö4D:záèþh;Þ 'µZ–G”‘ˆ%M‰ÞX“#QÞ´þáׇ¤ur¸þoÔ%Ä„ßQf÷“FìN;E`GŒì)_?.š†œàfçÌøÙGàÀÑcðåǧá“_@@!³8Ö›ÚD!øòc;·³„!ò3d°ôï¿Ù ®t¸¬w¸$Å_ºp"ÌÀm&\ØÂeÓŸ¦€.èÁv~ Z ZOu²³G´@7¶ôôP6Üã/®aÉžQ•Pƒ–b<ŒLT>ƒö†B‡¡ûlb½2zba¡ñ¥Gv¬M/· v÷7К°¥×’nT£iŸwÃ×ঢ ¯brµñ>Ÿ3ë‡NƒÏv‡ãhÂ{:£òQBw¥ ÆNñ°.eʸqp1Z™³Ð {ŸÁ;¿û#4‡OB´'Æ ehÆ^#ðêãï4 ÌÔÛÄ*ÜGu ©¯õŽyõSá ˜†K™R[ú)h‡ƒp>Úñ9|òÖ¦+~&^6¦×M„铘uyçý~íÄ”®!!ðòÏ ³k(8,¹cN•ÝikDï':ÜvÖên¼ýJ˜Š-Î&¯bãêÛú‡oÒ¿ ì–î&b"Œ›\ nžç;FÁÖ7öžW*]C¼'ŒE+_ÿua % z×Ü¥®rW‡YÕÔÇ»+œPï|X`»Û{ßx®[û»Ç÷ÃÎöaÿÛ¿·Ii”P†|O?¦Ìïýn?v 'dgQh‹Ecþ½óRÒ%yÝ-P«·Ù…«VºÊL o›×Κ‹ŽW;¦–ÎÀ¦ßïÆ–õi^…6q} |”0ëtN‡»aûº?Hé¬k£‘D ¬AÞpí]WN±&§Ûμûš U°üÇ áR˜ÀF-Ÿ­¦];aϦÂU«ûõ;®3÷%ÅÁ1ûož}N~Úš/Ùä„n\Í$RˆöıƢÿ•Çò3\Ì ß>§Á5Ì$TÔ”?°MþtˆÂà•æ]°íé½ìø\ûIdÕ±·3æß¼æýµV××rPËQ ’É/«pÁ]ë`"ŒfŠ?‹³uOmØÍœ°Z–Óã]N!3Ú1š@¿ÕG–`Ñí—7¸ÊœAªñˆšr¸sõµ8;–ás4ùÿñàÆ!Û׳JhøIŸAìíŽú·­Ùc™%° òÃ9 "Ag¶üJ'üxõõ0 [>…‘}ð¿¾Wpcz úÔUs Ñ'èŽ1Ÿ`ÓÖt–à[?˜=Ëá²áM€ÊQåð£½&ƒt‹ö-Tþ†À›º8Ô/ìù^v Þ­Oå~ts\}ûìI‚]ãœ~uÙplù,•[>:{Ÿ¼›×ìê:4…ÿD\š@âw£‘XÞónY³û°)²Ò7¿š%ƒ‘ä%ËæT vhÂ2ªqÌ ßþ»+³¿vëæ’òS„KHÚ±—œ4ÍY6EºÝ™’×¼ƒœ® ŒUÄN‡4÷øŽÙp•g:ãü­Ža÷ƃæÕâ( ï²ZРi¡‹wXYeÿšÒrrÖ,l˜¹+ÕDsûµÞ±pÏ72þßîØëï/Þ>0%&OQÞž®( ¨ã¹½9¹”ÌAÓ?bx¼ÝÙê O9¬þ·[¡Êa.«úÕÊW“AQŸçN!Ÿ1ŒáL!ö míöÚ÷×›+9']€ÛiLˆÎjêÒnùiªÞ _á¼gþað µ–¨|B¾›¨,>•Ž«]Žî^fzW`ºXxÛÌ:\  ¸pöXXuçM¬ºþü8†K³JAxCa/éÅù›¾7žß»]] êr™n1 éÇÅøÞßZ<ý›Û`–‚z ðç5øŠ#\—޲DÙ,R_Êà9MοiZƒÝ!øìvê¾wNòzpÁÖðÖóc?†ýŠî—÷¢ãÃȯ¦ÌòXMo ^’Ïј€6;ŽØæ´áx›oþòi ƒ«U}S &pUêÙ…K¢®þº:!ëÛ°ßGݫغ;{¡«µÆÔV±¸ã«.Uש);S«éeâaÐ4(YÞ .Ô«wðœ¦`þò 6—P‹?àÃÖOK¹^Þú.´ëÄN@Ý_GK<¹á'°>°ÞÞð,ÌXR‹Oæt€ôŽº2´ä²šžÞx^œEiC‹€²B-ÉzpÕªËa¥+ Ín÷/^p94à Øñü‡Ìë'‡FÍŠ0–"çôàÆeðäÿ V\ -¼Y¢¦ -y¬¦§…7%/·Ée­N½ƒç2ó¾3­û}/.ìd}?ùûËŒºd¾¼"ÄäèHâ.܆Áã7¯»×-…ÓGÚÙ25å¨Íc5=µ|%ç“ôÌ#m$c’5ÉœŸ3;Œ\̯M$~Q”°D­ÿc8 Ÿþþ?­:&³—ºñÐ ~ÏPñeðè/2çÐ9LZ9œšWû‘Õô´sØwYW  $sŒ¶Ó¾‘`ØÐÍ |×OsÙs®ŸŠ}¿6¬Þ¡Ï\§ëŸÕŒƒöÂwa54½xôFbiïÕW~zWd5½tú޹’Iδ‘Ì͸QdsÔSK"dκf2|œøœùõn“û4e?£F°î¸\ ý‚q° v½ôK¨S§"u£‹ìù¬¦g€ßô®“¬%ÊžCol8F­l6ðŒsG] ßÅxIîÇÔîÓLGö@Oß¶ãæƒMO¬I³FCûWgYª-?=ŸÕôÒék9æráó$s’=O×Àœ%Sªpì_O‚œá›Ä<ÿOß?޲£gSU‹Ìu üÏ/ÃU+¦Cû -± ôôð˜~ —¦“ìIjuµ³ÆÂ®û%ï<ÝYÑpÜ7.Og3Û±4BXf»6‡Äy‚({ã‡Ú¾Õjzjù03ýdþ¸¡1ðe“ŽštÝúÑKL\¬¦§(O…,²ä%Kr–€ò÷$ÁÎé@B°yy º`æhö®B.gPOŒNÍ`üf9/jàØüëg`ôÄ*èl‰­ªˆ«é Ä‹ÚsÜ:(‚@@̾æâ:åXãŽnÄm yØh#­=è…ãn¸ÂD÷Æ¥±IÙ¥Âæ'7ÂU·L‡Nº›ˆ ÈÆ“Õô²ñ¡%Ëû~4#RÕ]$IBí®n ñZÔ5¸qZvߎ/”>I-’3åSj¤–ûŒùh„PO|?·=ºÚOeOà½Lzq|C˜r’ÊÀ—4[¨“9п$ ,9æ‡z9a×™Rˆ pâÊÒ Ñcµ3«Š¼ÿRô ¯BºÀé )Pw`4ˆäEæ< C {áøBiZZ•ûÐG¯߈F­×ŒÀËázÐ[¦~ÈQ€® ¼RFËÉ~=)ãÜüÓUì%ÔøŽìYM9“JŠ$§ØŒ ÈÝ  ô@®¯gÈXåÌNf†cò‡ðÍ·Âñƒ­ìEUÑÛsúÓ3àŠÜ J? )M4Áœ¬KMâã4øv‚¯à·pÃŠÕøýŸ6vÿ‚k5½, êJæ`â±®Bð"ÝÀkøyy›5£ûæeé­Lÿëèù>žú,¾òÙAz¦€Óáqÿëô¦ LOo©™®Kãt¡+è@\ÛÈ…²ñ® !{ƒºØ/2ØŸ¥’&e8áÙŽ†šúÝeC',‰O«é¥2hèˆwôø8‚¡Moaº€ï­!Ôùxß_X€œ¯Nø—7Oýè5¦|›”Ÿ*¦´V”zRÓ‘:zšŠ$³R¬6Dë-.ÞiÆ·\+^­C8súdRF üåã~ØòTÊ+Üh¦Ó ÚΔ6ˆÜ3œVO/ÃÅš“xŸÏ-›¡YsAòº-ÎýK¨ãfÔ„yã+t$Ï{þ²[àØ'-PÆŸ!ä<¦K)[zz¾¬Çée-Gà ŽZÎ;³j².4Ã³êž þl÷±íÄ ßh^ÝÈS:„hŽjΜú˜<ýp^„+nZGQù®r Û¼Ül±zÉ9õÓËÆ‡êtTü¸I’ò¨ÙU›ß,zjx8Y\ øm;»ó€C‡ZÎLœ9¶ E_¯ 5µbVåG:$ÏÛ÷ý8°óKiZ—¯ÃòXMO©¨nµ˜þ±‰t` 8CSÁŒ."² G€ì%,A¾' p§P wj„<ï Ü6ÃÜ¥?AOÿ4zú’õéë´üVÓÓÈ^rv®xÎ3.˧ `ã3 uDÚ‰5õàg^€»•:Z$¯\ÿ*Iž÷ç°^¾Š}—¾"®¥ÿêR² GôÔq•1W¿¾[»'a\]‰ªI$„Š*ãRÅK•ƨĸÚ-s“”<ý`ë=PGÊïFOŸ¦u5”›-¯Õô²ñ¡*]–«"ç8šÒ¯a @…$ñ Ýn÷Ó¾_@™ß¦‚X ïwAã¾{à¡?ÿo NÑkÒ ·|¹t«éÉduE4$¤@`¡@2g;LÀ±­ÛÇOFÞð]’í§›/Z¯¤ô Éóþ‹Ÿ}ŸøÝÎa¼é‘yN_+žßjzœ®–˜ƒ]Q<öýèf…IæZÊÉ–W»–²”„Z7J¦ŒPŠï 4ÄTô»¸pƒp|K﹎)ß3{äåë)s k¬¦7/YÏ¡0SäJÇ(kâÝŒ€O&gõ„4—?nŠç3|{U-]ÈGZ QÿFßž4k þà${' ¾![3j/°šžZ¾’óqõðu ”æã‡Z/LÎcdßTŒ¹ÈÓ€/0 C}Ð63ĉVƒnáZ±j×jzZ•Å(Y ¸Äò`ëZ­ådËo*ˆÈ˜ÉžmØê}\yô¦ëRÐ.®p>4& ࿦¾H{iÙ¯0Å L.™ à54oCAF®tPúU-Þ3ó>€| €€êëUf4ÝÝQ“ªž±Ûl~Úx®Å  ‹=ÈŠçCU|9tãW‡ÏþG£Ho5Sjªìq—ŒA5×;÷ Š]¯jëÏ»Âþ·ÅíBm‹ÁyÿL´sbˆÐ¨‰#ðËB“â ÈHà€ÈÄL) •-›~Åùc bý©Ïۇ·#¹"GN¨ú9v+é8îàR;oë‘ÎrͰ% JxΫl@+Äû9R(™Yr$7}Éçýø¹½µ©rsdˆ}Éuá€HN+¦}ÙëçUFÀ2åMK@ iŸB±;…Ü铤–*ŸÉ?™ÜF#ÆTâM£>0FøŒanILé|†ËïòûÛOZcö“…`¹àÄ ¸¼#È‹ÍpÅSýó¥|¢7ñʱ•³pQïs±!"cèu“Nõ$gÝŸ¶„]ðužÈ½·O43…¼€òxÊ'Ål¶&”†—ŽÏQýSÕXàã|D@Ø‘ë[[#‡ù¹|ÄyïyIN±Ë‡¶¨»©i”ø–©˜I“×CŽY±®N1âË·ò©šy·É²á©XŠ AÔ~_—0Ä'Œ” VQ¡ 'Äüí­gsrc'Y–j÷ ÄtMPÕ+–5⮟Žyj]5ø´t Ý+[ZÄ3iéy=,8pi”{Êë¹®.òQÚP[OÀ[>>1…OP Hkd;¯[!Å .¤òå ¸®,€s-¥úp‘{ûhšqek ÒYK|j(xpÁ•p5àäÉJ›M`£ž^h1>,Æ[ßø‰û‚V<—Ûg¸|¸³ŸDõc óó´BˆÑBÑ¥F:¢Û µ< 9ðŠ è,–õ:ë±ÅÕcmùMh‘šº]Ñ&±Àœ;µÂ²H® ÁÕc÷ჩ>üP¤=…uhÞí¶ ˆ¡^w<4T•ž";î´$'ž ûN§³N°'ðÛÆ¶ZœWð¢y®V |ïž(´a~ìÏÍbÜŽF‡–iW«Ãs¨­l)_ ä}*¸?K¥+%P€•Ò.@Z% R¬d©+¥]€´J(@¥XÉR VJ»i•P€J±’¥¬”vÒ* •b%K%X)í¤U@*ÅJ–J°RÚH«€TŠ•,ý?ôÈ¥S`#%IEND®B`‚./chessx-1.3.2/data/images/button_first.png000644 000765 000024 00000017313 12141003207 020321 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË$iCCPICC Profile8…UßoÛT>‰oR¤? XG‡ŠÅ¯US[¹­ÆI“¥íJ¥éØ*$ä:7‰©Û鶪O{7ü@ÙH§kk?ì<Ê»øÎí¾kktüqóÝ‹mÇ6°nÆ¶ÂøØ¯±-ümR;`zŠ–¡Êðv x#=\Ó% ëoàYÐÚRÚ±£¥êùÐ#&Á?È>ÌÒ¹áЪþ¢þ©n¨_¨Ôß;j„;¦$}*}+ý(}'}/ýLŠtYº"ý$]•¾‘.9»ï½Ÿ%Ø{¯_aÝŠ]hÕkŸ5'SNÊ{äå”ü¼ü²<°¹_“§ä½ðì öÍ ý½t ³jMµ{-ñ4%ׯTÅ„«tYÛŸ“¦R6ÈÆØô#§v\œå–Šx:žŠ'H‰ï‹OÄÇâ3·ž¼ø^ø&°¦õþ“0::àm,L%È3â:qVEô t›ÐÍ]~ߢI«vÖ6ÊWÙ¯ª¯) |ʸ2]ÕG‡Í4Ïå(6w¸½Â‹£$¾ƒ"ŽèAÞû¾EvÝ mî[D‡ÿÂ;ëVh[¨}íõ¿Ú†ðN|æ3¢‹õº½âç£Hä‘S:°ßûéKâÝt·Ñx€÷UÏ'D;7ÿ®7;_"ÿÑeó?Yqxl+diTXtXML:com.adobe.xmp Adobe ImageReady åzòIDATxí] |Tå•?wž *BÑ¢"" *«è꺻m²jëÏ]­¨µj]·©ÛZ[_ñ·¿ºv×ÇÀϺ?ÐÚø`Õª8X´>F¬ |ðRH ÉcfîþÏwïw3™L’;÷Þy„Ì7÷õ}çœïœós¾ÇýFQU• iørÀ5|«^¨9s  Ã\ PP€aÎa^ý‚((À0çÀ0¯~Á`˜s`˜W¿` 0Ì90Ì«_°ææÕ/X€a®žC±þ—Þ:gtÔ5¢RUÔJ—¢Tð™T*#…*MÕW¥0ò6+ªŽ«j#Ÿ=ñöðÊ»×0U~eR…éà…x1ù )—›à%®51صqq Œ B ÇcÂu(B¡W…²  µò¢j—ÏS QW»<š¤]àhù4zB •M,¥©³' )N›x¸&MýïXIãhm¡¯z=ßÙ¶"-]´së~jÞÝJ{¶7,È£ê ÆY%â]ÑO¼¸aåݯ Ië0ä`Ñó«âj¼ÖSä®e‰¸½n>‘ 0aj9M;ùp:f:’JÈ/Þ9ñg+}IÛv6í£-o}A1(§XwLœ£]ñ KU‚ÏÝÿÖñ`ˆü2 °ø–3jˆÔ¥¿GøqOüñ &Ó‰8fÒÑ4B\7ýIh§N´óoh?µPÓ7­âíÎmû©-=9ôÑÓLjÇåãJi ,Å4¶—B…é3úhÃú(´ƒ:Úº)Ú¥+Bg4L¤Ô?ûëµË’áæã}Þ+Àß^j ¬yZz3Ðë÷PLûÜ%ÇÑ©“Ž… -øê’>_Ü‘0ëÛ÷î¢ÏÖï¦Ý0á­Ýú‹§¸JþRM˜V.\Ê´‰i:¬LuÐÆøgôö3Scx/uwFX†Fxº|'¯!o@˜z—Z˜£˜úŠÊñ4·úX:f`)Sï–þ ¤Oh'}´ösÚòæ—BÙø3ùÛ‡Ñ U“é„’)º¼ýöV ¿´¢†kˆ†E©{î7ùéòN^=g´Û몇‰¯ezünÑê.¾êt:-Î¥¯b“âmý¯o°Ð¿àìYO28ŒGUš8µŒæÿý :Ò3ŽV¿±‘6¼ø‰áb±`´;¾ô•ßåWW2¯ào®=e±¯ØD7«Œ}¼¿ÄKշΣù®o¡½÷ôçö£µ¿³{+½µb3üo_žu-H@Ƚ„"Ð}ì¼I4mîDz÷™­p {ô`QiŽvGkWÝÿö³ Erz™ À­ÞåVêЭZê+ö †,øþ‰tþ¬Sx‰{nùûè½üþz´¬OsÊ´«ˆ8É^¬sœŽôÓš'>Ôž × ÖwGâuù` r®ç_{úÕmðúÝ"º3i4]vÝ:ž& †qËç@«á½·hÃËù+xAlŠ?É at»ca•ÜÕ«î}sGŠbY{”S8÷‡³«\Ežøó2tïhÆ™GQÍ¢sÐê}`€æåC>¤× S'ºZC1 ÓÇ dw±›ïÕæX{wे׫ºåLôî]-_Ô}ÑMóèìñ3q­ þKôÙÿwù´÷Ó¦\ñ º"ðH"§îÎj¬Ö¾pnº‹9Q€s®šSãá2JÆQmÝB˜ü£øÌPè…Æ÷èõÇ6ŠûCíO<…p»Z£µ¯>²nY¶ë›uà–Oªd“_Tâ£kë. Ét˜|Fë}úejü`O¶ùu|Ò5`YàŽò’¢Ôf{à(« pÖU'ոмA®ñ¨1ÅtÍçcwßÒç0ùÿuת!ëëE%Òø“¬r±«£»öõG6dÍdMÎû—95*)AoZ~©—®»sMAËçôVd3=ß»y×§OCž–³Š ‚BÄQ¼üPvÜAVà;WΞåñ¹0IBT:®˜þõ?. ©¤MѾ á?]÷gË êû(€>—×P¹úÑÌ÷2®g_5{ŠâVÂÓ/+‰–ÿËÅzËG°·å]zõ‘ C]†ŽÐiHrV±;mÆ$Xåk¬ßá‚~€ôŒ¯ö“ÁÎㅗέ¸©0ÊÐç¥ |šaö—­~µ ü^ÌeH8µ KNæ\:M›îì•×¹›Œ® Œ–Äê¼m„gÓ™å'ÊßlÙDëW}â\-H˜1µà…-œâÚB—ÊE¥u¸½Ÿe"eÌ,¨™¹•jà±ýŠÊ tóÕ úÿÒ²™VþløúüÁ„˜8@Äy;Û»I‰Sõ¿ß˜‘ ¤Œ(À˜þQ#cgËJÊ‹éÎ{þ‰J©˜6cYÕÃK_ŒÃú½ åˆa#…ð Í[ÜëV:?•œàwGê㪷Œ]Ú?ü¢ ¢÷ÓטÉ{ü¶—IVpXKy€ÊÇõÙDcñ©v_æótÔ¡˜ã®Àq °àû3«°*„:zöúÉ5ßÕ½ë´ K³ ÉdCEº0>àR)ðÆ“טƒ`.—ã ¥:˜~,æðÐ÷®ùñâé^C¼ÓjjkŠPä@§±4{08¼$¼x´ŸØý Õ$¿×+ŽPyð¼%:ËÉ:9ªó¾;“<¾Xõ½oc· ¶¾ 7ŸÜd™æ}_µÐÉçCÿ}õ€q¼I8›è‡¿»ŸÞGOcì‘#M–q.[W$JÜr}ű¤Í d­O€åîzï@õŠÞA`Þe3jþ²bó2+0S•qt@cUü¾K¢Î>¹’Z)BOÔ½¿8ÆÂѺ/¢ 9h?G©Éã (ÌrQ–aXÁm¥LFñö}qJÊü4sahU©ý`§=ü`([æ+Sêð×±ä˜Ì»ìÄ—O©ÀÀÐúy)×s«ß¡¦]­`ƒµí-$Ç=,øv˜13upÞRQ–aXÞ^©ÈÁjÞÕB?úý"ZUÿôÐÏÓêÇî¥Öýí¶ðc•´“…à­âQ*˜×¨ #É1-]Šš’ýþsæŸD´‡Ö>ùWÌpJc–>½ø‰:Ó/L¼Xôb2 ²dÐ"*†p[£” æxéÅ_`†c ʰ¢¶à°_Æl‘8 Ë„dpéˆpÄ̽hF•Û­Tba§ðýÜçê·k5‚ †•æ5>Dü=ŸÐÏü¾îŒtñšÍÏ3wlá*ÏJ¡àrÿàdÅãåkÎà ‘ø›G>˜ÇÌkæ¹|gç숈Ç㵪ªé·þM´ƒ>}—ºDY6Âö’_˜_Ù·¶«wé.|iÔÚ¡W,¡ÚòŸâ%»)nõ‰É9ü†ô<¦5‰Ø¬\ÛVž¬p)ÞZ6õ'_8¾ßOOß¹Ö³«×ÕJ½Œ2 ÃI Âµ5uPÉX?ýiå/L>Ç}“Óø¥KEW·¼_ºnåö}±šb[(ê©áj: ¦pSüsÑç—„š'¥oN'Ç0dëé‹!½'1¬èmÝßE?†»î×(Ìñ ¾å~#Ð[…°Žà=ÛŠl+ú©Õ*Zù#é”qÓ龞MÜe±k¾D|@«¸ûé-üqi;›ü§.¢+ÆÝjR™üD:„_B–!µââOeÔÜ*Àœ…0ÿ¥>&‚N L‘ÿ§ëvKZóçlC‘àk!ø*ÅÆçþø«AM~ÊJÛÀŸ?dÅ"¥še°îënÀ–ˆù\}úšŽ›?‰^}bƒ³þÖ–+"zћ藕ý¾èÆg\íèâÍY4¿þäÜä'³ƒ?–v¯Ù‘º!\<+n,ü±¥PÁ€Tîo›LO„V‹¨Û)‹8àD@·”ô!ñ¦ŒâÝ´ò"ºr|&?©&Vñ'1ne]$ßQµ^æH psôIé½m[Á°.ÑW5¨µ{a±åöBËA`–DE÷½£z¥ø`åùç~†A.8îÓ§Žò{áJu“&þT ŸÉ€Ö!ƒÄ÷é^[¶ì{TRÉ„LŸ{„ØûÛÉ7¤KPb~lï–xkéšaH¦ €7u` L~ð†{‘=}“ŸŒ#üÉeSÝË1 ©8W¦Êgö™eˆ+®JŒFwzÕú?m[cdJã²Ä\ñJÑ@ÑH#M«!œx¸Ò±¤Ã´0°ê¥_¬ìëÇ]FO­º ƒÇ"¯ “ŸŒiüÉÙ»—-?1¬aY \vT0_ý#¼´yíFôo'ƒÕÄÔûþgª¸È„…ý(R _ã°É?ëÊ™ôÐ?s”?ÇÀ;æñÊœýã—9Ò9K0΋*Ò‘˜×²À,˜ð=)§OÞÛ‰@KÛ³‘š½6`š-"ÃÌJ|Í‹6xåÒ¿‡þ‘.÷ðX¾GòX~b k×ýá· uÑù,뤟-ÇÖ ®òÞ»ÄANVí¸Üºíwá¡CIVÒ8†!™Æpø>ÒÚ%6tzê±Û±û/WçVo1Êg ¤düdM때Ä™÷A¶˜¬+€*6`¦OßÕfýœˆØ-ÖaÐbR‘b±Eš»è¬+fÑÃ?&Ÿ7ì,Pà&2Hü&²šÎ"aêçXTiùUç¾Á Ûx`á‚aðÑ(Ÿ×¦Ô±É÷óÀNfL~2‰òs»÷’7òlže 'j óªû~}Y€Uzz•3`÷zšÞ ÃèÂVrÅeEÔðÇ;°Óàå9“ŸLã—æ:ù­{)y›Q·e&ß0EX©"’“A °˜¾fòÖ¼þø{Õ˼ÉO,ã—s2c4­’rH}ð§–n¹RÚ‡Uå@ÇñáÀ_ì£ó.¸ß(­GxŒ_ÛŽvpöØÏ!x”Þè|·cXW€äJ !ÃþÙÛ©ö'¢¶}tÞ‚Û艶[!Un=#ìK×û|èil °’øoŠ”™¬+@Ktðì€ïŸ„…âÝÇÙRÝqærºê·¼~;þnŸÛd0IüÂJ²¥tìHP–Ò²€gaæËHè²Ëvô`6S"m Ö¯•úÅ.¤§_~ â‚?zf]B"~§yðõ$d!oÒ9[V€˜ª6ó§Ë†ßÇBÕáÃn„+!,Um¬®>|º¾w{3yúiyK†]B~Çx¤óžeÀ²HGè‰y-+ö­ ‹•©Ž™4ˆ&V"¥¯E L†‹{7\OßqÆ2ºâ?y‹Ì¸„þð÷©k ÍäaYXäeÀB›Fîú5þÎá³ÅzÅ¢‰×Öðá+Þ4ÿÒ̸„ð[yÇû òað2`YNó²À< Ì4!™:Ò¬PŸìƒÑ…~l_Ë¿,vúi7Á%Ü‚'Ünê% †?Ý÷RkŒr •ea1YV€ÏÖïZ#iá3oƒÎ‡¡™xèĵÅzÅÌÒàÁ1´¬ÛO[Fµðg\‚Yü¦óAðÜ-L´, £Âi^XVÆBÂFUš~@ã¹û4ëÒov³´ðZ^â¶úÑ0vñÅ´—žLû½³øMå“|– Œc1Éž¨ñR|Ä:ب›(šh¥Ì\s!ÞÜr7~©dþÜ›hÙŸà *eÑ%˜Á™VÉkϰº!g9ÙS€˜+Ô#xÝäK:[®™^Р/MzÜyÑèOO RÍ}w"W<÷ Ü@\ ýR)HI°³¦îÖ4»§”Ë Ée.ÿÖáÁ½m4wÚõôà–ðd —à~¯Ÿc´kþ¹.¶-‰ÇcAÖH>ÀkíŠ`ëÌÐí%m<=µ…éÓÊÒ Õ…^‚Çç¡_Á%TßÂߦv Žá—|Õ•YðÜkDiG`×¶¦5øùôp¬›G¨äˆ ®áÖî‰øÃ++×xžWBÚ¤ÃPì8 FŽÑ%0ÍöñË/ùÊ÷PÜ0ó\HÐæG€iÀgÐõŽ÷D𠳟M7ùQà@p¾õ'Zžó @lÞÓF§Tüˆê7/^v  :€ßp_²q}”zw$9ú{§•†¶ ¦Œ[‡8k'qîˆ9õ¢ãèÙ{^@Q’eÆrc Ä-¦•ß|ØÜÚNÛrä[ Þ%|Ò ciÚɇӇ¯5 Å¿d ÃäÄë´³Úˆ‰«£ÅU€ñÇ”×`à ÓÕ£64p¢ØŽõÔKfÐó÷ü w³pŽ£¿Ä ¿Kð]xóÏé§6ÃD[qýÁ7÷\åI1ž§G#àží$¶ªœØêp PíÞOš–‰þ8ªLÏø©å¯£·EÚeÃŒ£ÿÍ¿¡£7~4`b–»±Ü…Å C5IËJëî5„_S?ËÉ:9Þ< °uè „Œµ–ºæÚ!ÚåQÈå±°xÓÜvè¶UVj»ô°(xTg fŠÂŽ[Æ1nÊèÇ1™RËׯ–1üin!™ç€aúµ"ذ²þëxÐÁÑ”3mÌhwLm„ÈˤÜeLà(õ‡00éXð¿9æV*öÛ÷OÅ®Œ(#7y¾ÆTŒX@ש©ˆ)<ƒ°uÓoâZýÍçŸÍ2¦LìØI£€ àŽ±ñË!R!øY!õå@oÁsôOõû¾tÞôKÌUvJg,d•2((€d}곡Z·?¬úÝL˜~‰=£ ÀHÊ(ÇÏÇÇÂ|ß\s¡ÿ”àšÕ˜»²igÓŽþsÛ“q`Ë'•ÎRT%,È•±€>Rh¿ ‡ôÉ «*›¾låqðŒ¦¬(× üðÒX o-'RÁèŒÐOzÓ×b>µ?Fµ¬w†ÌÜeM˜|C ë""ñÙpºÖ£~YeÄY>ã̪0BVœ‚|Íi¸…2èÓ¸AY¾à:™=_ŠI£%„ Ýa{KÌâÉ"N’ÿØÒºöàÞì˜} ³ö7ë@"g%Àî9Ay?Ü,<×?WÂgÜ9SF^:¡t–;N!,q]DAÐ!& œëÉÁŸæ¸[ ´îÉ|´Ï8S¥œ*T^^<%êr5€•|ˆÊŸ«&’ìçCž¸ZÝÔÙ!ßåâœsÏË ðªíØ¢z¸­i0—ä‘ ®8‰SÖC?‹:¢®^5ȵð¹š9·‰¼U^² AH¿Ç% ñ#c€GTTiÆ€XíÁ¦¶ŒLì$òÒìu^)=fŒ2ºK-ªÇe-ßË4Ô\7ø¤ô)K÷ïW$=ÏémÞ)€äFqyqˆ«Ãê¢?jë dËÇr!ü´n]¤)²FÖ-ŸÎy«’IÅ£Šk°*°s?Ë÷öañÝM]ä`dÓ¯)ï@2®x”¯ƒ'K].Eôäó|;ãcÙ0¦¾ëñ#šy-xÉ·!£’àâ‘Þ*|y\‹V+ŸåÃ*ˆ:ié^“ô˜¥aÈ)€¬˜‚`±¨Ë[Wg|ä"5À"5tøºÔ< îÌ2cÈ*@bY|î¶f࣌"… ¹ ˜w·+¤(j¨Ë U¡÷â Z ×^¯·JqÇñÛÆ® Œ+TÂ<—™W ì»§*ÍÈoTc®pw÷Ð2ífexHX³•-äëËœ÷%©ð$›((@6¹‡¸ ‡BÉ&IÈ&·óWAòP(Ù$© Ùävâ*(@ %›$ ›ÜÎC\ÈC¡d“¤‚d“Ûyˆ« y(”l’TP€lr;q …’M’þg±áF¹QIEND®B`‚./chessx-1.3.2/data/images/button_last.png000644 000765 000024 00000017371 12141003207 020141 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË$iCCPICC Profile8…UßoÛT>‰oR¤? XG‡ŠÅ¯US[¹­ÆI“¥íJ¥éØ*$ä:7‰©Û鶪O{7ü@ÙH§kk?ì<Ê»øÎí¾kktüqóÝ‹mÇ6°nÆ¶ÂøØ¯±-ümR;`zŠ–¡Êðv x#=\Ó% ëoàYÐÚRÚ±£¥êùÐ#&Á?È>ÌÒ¹áЪþ¢þ©n¨_¨Ôß;j„;¦$}*}+ý(}'}/ýLŠtYº"ý$]•¾‘.9»ï½Ÿ%Ø{¯_aÝŠ]hÕkŸ5'SNÊ{äå”ü¼ü²<°¹_“§ä½ðì öÍ ý½t ³jMµ{-ñ4%ׯTÅ„«tYÛŸ“¦R6ÈÆØô#§v\œå–Šx:žŠ'H‰ï‹OÄÇâ3·ž¼ø^ø&°¦õþ“0::àm,L%È3â:qVEô t›ÐÍ]~ߢI«vÖ6ÊWÙ¯ª¯) |ʸ2]ÕG‡Í4Ïå(6w¸½Â‹£$¾ƒ"ŽèAÞû¾EvÝ mî[D‡ÿÂ;ëVh[¨}íõ¿Ú†ðN|æ3¢‹õº½âç£Hä‘S:°ßûéKâÝt·Ñx€÷UÏ'D;7ÿ®7;_"ÿÑeó?Yqxl+diTXtXML:com.adobe.xmp Adobe ImageReady åz IDATxí] ˜Õ•>ÕÏf` " (> E„` ÓFqu50h¢1&™^ãÆÏDã讫ù¾5é%îšÕñ˧«»>‚°>>w|°JDOh‚€È ÈK†æÕóè®ÚsnÕ­î™éG½º«›é 5UuëÞ{Î=ç¿çÜ{ëÖmA’$(„á+Çð­z¡æ$†9 (`˜K`˜W¿` ææÕ/X€†¹†yõ  €a.a^ý‚(`˜K`˜W¿`†9\Çcý¯ºsnYÄ1Â' ’Ï!Ut ÊAŸ¦úJ´m‚$„DIj¦³Kì=sïÇ4åÏ£DÂñð:x*¼¼~¿Ã ~”¿¯e5˜µq¢\Œ„£Є×Maèmzí8DÞ@nåE5«U]ãpÉš…cˇ²q%P>¾¦ÎÏ´8mü‰²6•¿£a$ŒQ°¾¿¿«Â}°çQh;Ø ‡v·Z–FR!FD‚D£Øit‰ÅÏÜûZ^Z‡¼ÀâÛΫ%1à*rH#N·“NàDŒ›ZÓÎ9N™‰œ%àeϬø³öÁ®ýàëm-°ãí¯ Š í²s¤OlpHBË÷¿½‘EäÉŸ¼À’;ίê\^óã.¬øÓN‚3ñ˜S`S¸bú) z±£Ð­G:ÙÓý»ŽB¶ôÁ¡h¤&L¯dÑcJ¡-Å=P!ØŸnÝ Ÿ6í…ž®~ˆô)@è„„úþmóŠÁåæâ}ÎàÒ[æ×¢5bK¯"º½.(GÓ>oé©0â 4áeL®îóÙ0³¾ûðسå DÞÛÙ¯<1x%ð–z`Ü´ æR¦ÓÑÊtA|,îwžÿ šC‡¡¿7 ehF¯|åÁws9 fêRî'‰ºÐÔWùÆÂ¼šð-˜‰K™¶ô#ПÃ~øtó—°ã­}L Ùø3é¬àŒêIpFÉdf]Þyg'„^Ý Õ5DšA¾øï¹ér‹n˜[æt;êÑÄH.¯“µº+¯ÿ6ÌÀçPV±qõ¿‡mý“M¤ô¯(yÖïŠ ÆO-‡ó~8Nr ›>†­¯|®º†ho´!Ò/Ö½öhn %s —ÜtîO±§‡Yåäã½%n¨¹sœç8 Û{lvöv¼ëÛšï:´„1*O ñ·ŠýáH¾ó½þØ–½–HRHl~5I3Ñ‹®š[&8¡Ë(Ç1/|¥šýÖ”?@¸€¸CÊqÉIãÜ«¦É¯;¤µî&£k#%Ñ Û%Ïð]tÃøNÅŒó·:¶Á–µŸ[W‹ã $|cÈjA [(ˆòB߈¢Ò ÞÞJq™s kg-ÁJ5ÒÜ~•oÜ~ÕŒÿ¿vl‡g~;|}~:%ÆOQÚÞî~D¨ÙôÔÇy”ÌEÓ?jd´»³å%Űì¾C)Ãv\VõHÝËéd0¬ŸóN!Ÿ1ŒàL!z†¶ögÕÏXÿ*9#.Àë ׋’»œ\Úî®FÕ{á|“÷ä¯×¯à°ÖrŠÊ‹ÊÛDuñ©|_îqõ1›å®Àr °ð§³ªq)TNøÀ”9ãà_nü>«îòž†¸4«´I€7f0KÎ8$ðoZýñFm%hKe¹#DÓ‹9\ð“¿ ´xúé77-ÀÌ×ÐÕ†ð±^uixºzÐ’ôâ2/û3ø÷|ÅGY¢l.0Zf¢|–`Á÷gâKŸUÿä,œä­À[_Á[«·%¢­)ŽZ@_8–†yŠ-eWý–¯;àœËNÿºá6Lº¦<ÛàçÞâHgôI#5æ˜Làrwet ¹ÙèÀ¿àꙵ}zûŠ©ßY: ‰¸ªý¾—D]xŽ:! «‚o ßÇ~Œ£»½k&Á¬EUPRî…–¯ÚÙbK#eÉÓÙV”¿ù8RÇù˜•,/•a„¶šJÖ€äJD… þµ,X€WŸYëðU8ñ~lý´”ëÅ ïBëNT¡±G»ać¯{ ÖÖÿüê©Åpôëvèéî3X¢>>º;zP‘Ôï"Åwãoì4”¶”å¥2ôQ˜gQA>ðe!ÊVp U$k$`I° ˆÒ:B­Çýw64Ã!ؼúÖë§‘¿ÃÃ@“Gxx¡¶ìnxõ•»Á‰Bi?Òm¨L=|Äè“%Òh±ê@eè¡9$-·ñe­—›dé-À¼+fV£R|¸°“ù~ó?ûÐfFS6_^gêøÐ÷|ÔòhIX¾Bú45¬„ÙM£û:€úFÊÖ’'FŸ!éë Ä3~]Dà×QçÁi9Eúæ‘’1ÉšdΟ™9[QœqjýÛ`/|ñá 1­™ƒŒáÀ@Š kpü÷†[V/†ÖƒøÕOŸ):ÉxJ 7éï¼Ìü'+_Oüà>É<=ýô)L€^Và°'@sÙsÏ@ßï…ç–m6gö¸Ë¬µ>äc½¨¸þò—{À‰ë ;„AìG•ñ¼Vœ“ÒWI{ßž8!’3$s+^™D\5ÔRÈ̾x*l¿dc~±ñ¾K÷u* Ä\¦Æ‘Â8v¨ "=ètÓ!%%:RÑç*I}–™¨lqƒÝYG”}jê韚ŽSk‡*&Œ„sÇL‡µ¾Ï¨r—`æL3©CÌ%6rAV0#¾Ÿ_ì0Âå1lb“$Š´À\­DF J&£1X‡LTƒû'“×08}B!³¦H.eà_‰z•Y dKð;Æçá3üM‡Ó°T¹¦:°:ð2¹Œ–oJ¥Tà‡kV^I«ËM\mQ;¿cZK.âòvôàbS³™³ZJÀ„*w“à2¥RÔ˧ÀJÀ«‰(ëA•˜ú†¯VuÝ Ë/ýôý¸‹ð+ Kl·ÜHL×x¬*w“à2Õ(À•ªV“uÓÀŽlòvÂõݯ?‚¢ Ê ÐVЧ22Ñ8¸uäg •M˜Ä0°´>ÞF3á®yÙ 97)›üoàY¨¹fÜÙŠÛ×yñã ôÙJÙül†•‘Ù. ÈJRµy‡ÒL$Qé b#I&“þ-I©-›ü•hò/Yƒ&_ÄZIƒÌµô±ŒLȆ»ú|AÖ–¼®©Ÿî[C¨ósó–”§®‰¦§ä×Gà±®ûÓ­lrzíTLþà",³h\î4 ˆ 1ûº4“±äHÌÄÍ SjÌä/¹jûx…ü=~b“Ô×[AŸÊ°¢^îóU¹Ó’3šùs½gÃ'‚dÔq3©L ëe ez^vÊDZR«ïƒ•wÀÝ‹Ö༸e- ©h¤z¦…,¥¡2¬(‡Óãhâe2ë¢è‚§Ñq6 €=[lœrö‰*ºù6èÔ‰²*p”//fòÔ1“ïA“ïÂÝ6´”­%M:Þ¨ +Êát¸à;‹RÙ{¶ÜÈŸë=BfBxøQ®xŽL½œXž^6ù‡áX|åï`ÿ޶|F«\ˆ–“LR •ô¸à Â¾€aÿO욀$6‰¢À Nšr $†žh^Y=yä´dò;áO»î€¯md˾øQé)SOÚd{›6ozá6ñE3˜ˆXà'öûRc<)#צà G{i&בÛ+ú)•3ù—øï‚¶]èï]lûUXF$Ÿ'%ýø„)®± +øâû±Õy{EÓàêJQƒÔ˜¥—²uõÜd1·@®Áø¢KB\1ù;n…yÓnöChòqŸ fè Λœ~¶F¯ÿ~¹ªrŽBƒYóOìš¶Tˆ(FœNg€®Õ)an²(Ò`Pç»Õü1“_sÇ/˜Éwã¦Ô™Û¥¯2¢ù‚ʰÆÈ$ HæìÂäKp`WëÆ 3F‡7Ü+P¶ýÖ,§¢ÚµàsöôÊñÚŒ½üKÏÿWhŽ€èÈ((2a×Vþ‘Ë=€EÒN¡´ïŸž@`ÅfÈ$3dŠãàQ–"™kÈž6‰iÀ)àgÐõ²É’+LŒ›>˜  M§hÃå^¨ß^çVý ھ闋mX@#UŒþGH›¨7x1ÃGX‚I=äJ÷(k½Ü$KoéV±w «"b|  ’ÑOO?Á^>®κ° vãÆ“û>ma»†›)3%ÁAiÀü+N…î£_9!+@[ÆÒ¦©Y%L',¹ýrx÷ùà”wúN•)é3n=øš}óÁÝ­S’fÐùÀRŒ=¥¢70l bàÜ)Éñ+dÖÒ´U‚«tõrÁj˜ÿƒ™ðÒ}¿Å¬³ñ ­k“ý.ÂGð½Û‡3‘ÛÁÅß:&Ë’&ž›~²vpHàðç­+ÒdÓüØRÕ±S+ÞÀê§Ý,)ÐN×ùDü}_ú ­®œjìD°:<Æ=,W8'ª¸&ü5õ ¬”§%Àx†ÐdqˆÚÔ¢  W¾ÉÏ¿nÍŠ}ÝÁLÝ9Ú¸ Ñ@P7i2XnˆÞ˜ÉeOâ ˜]“éf![Ž[!—÷'Eñ|(Š›C׳÷Xîÿh ¾rZe™3*á’1(çzç}‚¼WL–*À]áÿ·EBÕQ“óþ‰Xψ Bc&Z‚í¿Qí ð>9ÈBH*nñÕ΋jŽ|ÙþBÒL&d ÄÓè‰e  `ëÁÏÇuÖŠÇÖ/B}Ë>ëM?bF@®@è6!1ï p p çP O¨†$¯ÓŸ ÓÏ©fD¤bBþ||4„Š/§{Þ' ëB*8Ð&E¾Öý­{‡¦².&ã V+&–Î$!ÄØæ} ×Z'ûJâ>þâWùZ÷uÒ)€?··"ö0sWYUAA|}†û¨€Oø(2Á>@Ö”O$³ "H ÀS]SîBÞé“¥YU>“ÿ >2{5¶_Å@Àá3†™%3¥ó>.|Ëh?œ³/„¬[Nœ@€Ÿe6ðûáf ¸â©þv)ŸhÛ"^:®t6. j¾lˆÈ:N;‡ñ §zRg»?m¢SðwÊ|oŸh& ¶€ª¨(žq8Q>º?NõOUcó!—(Õ´¶†3:Îçt“m÷¼$·ÔíG[TÏ6g! ÅÉ8Ï—øøºà5«#ÖÕ-…ýv+ŸDh»ˆ×㨊’%8Ò€ˆ¹„<Ÿ0R'xXE…6œ ´·veäÅN¼,µ^çˆéÊJ¡¬O*ªÇËÝóo®þ ÐàzêŽ•Ž Š·õ6çÀ¥Q\Q\Ìqu‘Ÿâòm=oùøÅ~A-íá¼n¹tÎYp!*Ɖ#1ˆ=æ*ŠËõá"ïí£hÆ ˆ‚áöð â;WC΀ ®x”§'OêyC ŸkgüX6„¯¾ëñG4sZñ\nyÎpñHw5~‰Ààq¹pF Õ€]ê†pGÿÆ\àG+y^1;‹E}îlq5G‡¡-Rc§¿QʱÎVaä-â+H`ðô:ýøaª Ò=_üsë®Ñ¼;M‚ 5õy£Mùªôxyˆ¯¿v»ÝÕ‚SÄß6vTἂÍs¹v`à¾{’ІéÑŸ‹ÍRÔêïÏ/ÓÎåî|Ü ]Å Ïe Ø>\P„½(À^ùÛN½ÛU`/Ø+Û©`» ìe {åo;õlW½ `¯üm§^€í*°—ì•¿íÔ °]ö2P€½ò·z¶«À^þØlî o¦9IEND®B`‚./chessx-1.3.2/data/images/button_rew.png000644 000765 000024 00000016414 12141003207 017770 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË$iCCPICC Profile8…UßoÛT>‰oR¤? XG‡ŠÅ¯US[¹­ÆI“¥íJ¥éØ*$ä:7‰©Û鶪O{7ü@ÙH§kk?ì<Ê»øÎí¾kktüqóÝ‹mÇ6°nÆ¶ÂøØ¯±-ümR;`zŠ–¡Êðv x#=\Ó% ëoàYÐÚRÚ±£¥êùÐ#&Á?È>ÌÒ¹áЪþ¢þ©n¨_¨Ôß;j„;¦$}*}+ý(}'}/ýLŠtYº"ý$]•¾‘.9»ï½Ÿ%Ø{¯_aÝŠ]hÕkŸ5'SNÊ{äå”ü¼ü²<°¹_“§ä½ðì öÍ ý½t ³jMµ{-ñ4%ׯTÅ„«tYÛŸ“¦R6ÈÆØô#§v\œå–Šx:žŠ'H‰ï‹OÄÇâ3·ž¼ø^ø&°¦õþ“0::àm,L%È3â:qVEô t›ÐÍ]~ߢI«vÖ6ÊWÙ¯ª¯) |ʸ2]ÕG‡Í4Ïå(6w¸½Â‹£$¾ƒ"ŽèAÞû¾EvÝ mî[D‡ÿÂ;ëVh[¨}íõ¿Ú†ðN|æ3¢‹õº½âç£Hä‘S:°ßûéKâÝt·Ñx€÷UÏ'D;7ÿ®7;_"ÿÑeó?Yqxl+diTXtXML:com.adobe.xmp Adobe ImageReady åz3IDATxí] tåu¾³/I–lIÆ/Ç–mL06X6¶Áæ¡åaÚV51M"µ¡åÐÖ$…ÀIÚliBBÚqzš†ƒ1k äà¸T|ˆƒ1kŒc/NÀÁ,ó𠬇õX=vgúÝç_i%­´;¯]Iûëüš™fçÞÿÞï¿÷þ™Q4M£|»pݪçkÎÈ`Œã €<ƸÆxõó €1.1^ý¼È`ŒK`ŒW?oòããÕÏ[€<ƸÆxõó`ŒÀ3ë¿æž¥¥Q׸JMÑ*]ŠRÁ[Ò¨ŒªL«¾…qm³¢)aUÓxëQ;›~²»%­ß ‹”Ñ0¼ /¢¿BŠßå&?ä_‰ý¸ÌÚ85~ B «1 a?¡®Ð‹£#ñV^Xíòyª¡êj—'®iEW8Z>•N-¦²i%4gÉ4¡Å¹ÓÎŽkSÿ§I4Þ§O’ʵŸ¦Hk7;ÐHÍ'Úèäá&‚%×h: ԨʨW»£õµ¨~ÓO^‘ÖaÄà†o¯¬R5µÖSè®e¸½nÞ˜:§œæ^t63™>GÅT ÎYñï}L§OÞ;Mïïüˆb§XOLl£ÝjÐ¥)ÁçܹCŒ#«¿{Y ‘¶ÎSà~Üã‹+þü+fÒBä i6 ×M?tPÚùgÔH­ÔôY›8{ì`#u¢¥÷O…ã}4}ÞDQ\>©„&ÂRL§³’¦#ôîÞ£ônè(u¶÷P´[BW4L¤Ô=ûÀkûß7sñ×ÀšÐÒ+X€Þ•Á´/ÿÒèâç„— ¹º¤ÏG$ÌúáSÇéÈžt&¼«­G?cp£jTP⣩sË…K™;m̓•i§NÚ§¡7Ÿù5„OQOWT€eh€×¼ðÐ[9 „œ€0õ.-…ûY¢˜úŠÊ)´¼ú\º„æc)SrKÿŒÎÐ!:Fï¾ö!½ÿúÇB Nü›yÁdZP5“ÏÖåÍ7Pø·‡)šp Ñ¢(ç~š›®!ç°ê¶¥¥n¯«&¾–è)p‹V÷å[/¥sÑâ\ú*6©þ]hë|…•þ_îx’Á¡ÕhÚœ2Zù•ùô9Ï$ÚþÊ>Úû¡„kˆuÅ‚ÑuÝ‹çVW2§ðçw,[í+òÑÍ*c_Pì¥ê{VÐJ×yhï½ý¹F´ö·N Oï‡ÿèÃGA‚ÜK(ß箘As—O£]Ï€k8©‹Js´'Z»åÁ7Ÿíó“¬îæ¸Õ»ÜJݪu¾"¯È__H×-Z†À«PsË?M-´õ÷{в>ȪІ"®!Và${ ‹®Ep:¾€v<ñ‡x¹p Z]OD ä‚5È:®»ãÒYš'Zï-p‹è~âŒRºù[WÐù4CŒ[>Zõo綠[sWñ‚ÙAþõD¢ÛØ kä®Þò¯ägŽe×þÝ’*W¡§þ¼ Ý;šùç©æ†kÐê}@ܡZþ@/­SºZ#1%ÓÇ dw±‡µæXGÿ·¿ÜóN¶ê–5èÝ» Z¾¨û ßYAWO¹ûqÅŒ>û¯…N}Д-ÙØB7¦G9õtÅPc­öù³Ó]Ì ®¹uioœ;È(žXHµU0ùŸçCC¡çÞ¦—7ìÇ£íŸ:¸ŽÝmÑÚmëwotº¾Ž€[>iZM~a±î\O3i²P|;Fëݼ•Þ9é´§']†í( )J­ÓGŽàÊ[×ø ½A®ñ„‰Etû}×aw*Ò‡0ùÿ}ÿ–ëëE%2ø×r±»³§öåõ{³ŽàÏþ~iFJÐ[ˆ–_â¥oÝwÍBËç´3²Ÿ~ó³]9×§Ï@Ÿ†/MA…ˆ :£"&Øú gÜ#¸êKy|.L’•L*¢oþÛõ4‡âS´¯Cù›¯àHÿáès p •Ûµ¿w`;®¾uÉ,Å­„1¦_V8-ÿG«õ–`ïý]´mýÞ‘®CKøWcñ$9«Ø‰6c¬ò¥õ{ŽZB ÅMzÇWS\`¦xÕš¥¥Š›êq2ôyé‹ÿtIÂìoܾ-¯ü$á2údE+Ã’“ú¥kæÆ§;“®µîÀÖ5ÑâXÀë‰ð]sÛº¼|àüõÖ÷hÏ–CÖÕbÜ 3†¢¼°…“_èR9®°$€Ã;¹ÌŽd› ¸¢æÂÕ¨T=íWTN¥»nû²àÿÖý´éc×ç§Ä¾D|mWG)*U¿òä>[&lÀR˜þ ãc gËŠË‹è¾ÿ*•PíDzª_®{~8Œéó2(”#†QŒÂ34ŸiuWìÞdýT²-. À©S5o»´[~XÕЧ˜É{ìÞ­$+8¦µ¯!Wa]:d Ù]™þ]†¿ÒÒnàŠ›æ×¸=ŠßíV¨êk`· ¶>¢×Ÿz~ þ G2ÏÉw#¸sóðd„÷ 8»Ñ;ÙëÂx—ÅÍók†WkúWX MŪèÙ‡%QW_TIm¡'/ÃïC÷9’[?í Ž¦NšRQ*¶mݶòfšÊÖ@â”bJ }õ¥eXqó—O©ÀÀùÑúy)×sÛߢ¦ãmpÙÿãîUó‰VZ¸ª‚ÞØü8m ì G6ÿµ6vØÂUô0ŠJñ ‹Ù*¥‚e=¼jÓ»Â2¥ë¸• ßÍÊÅÔ@'éµ§þ(¢~h²™UL´4Bù+מOÜö?ÌÈm´Và XÏ›¥ô¤èkA!ëôÔ;üUžá/þŠå7ί’kúØ÷sŸÿáÿzAüP3ÃßÅž+8Šn9ÙNw>ý%ª-¿DÆ!w ëUgp²}µ(ÙE/ñÌ#,R%Ë|×3ûw˜eÛ¨ªZ«iqc­ÿ=:Jüþ¸YÞLÿ¾Gz*}ÿwké/éŸq?^WØ™t_vN²ïtÂÀô一+Ë,fž–MšG[z[aFμàò̧í4kÑd(=øð#ŸA\ù8i7ž0Æ«“ô¯ø§È ™³ìe¹Ñ­),]5·}ÿjâBÿ,ù°û„*—9™¹ÛuÁÞåkÐÿýè9?¹5=¹àÕiz YÊ1p!{Ö,2²5åb>—_Ÿ¾¦/¬œA۞؛ßß_ß~ºƒîÜ|#}ã¬ïAÅÈéŸDëÏ0pš^r-ØàCzÓíphxªØà†üÜx87i&=ÚÎÑ@¼À¡ÿ=1jkŠP`û-´ÆõPåH?’6uæ6ž¦×¿"’W)wÖ®Éòs5{ñ4zûàŠœé&Ù_íϸÇüÒöÃÛB÷ã 7‚?)<0Ò’vãNÓŒïDwPZ-è`°ëÒ-3l„ÿ÷(• €y˧‹—"pºÿ‹Òe$Óë:Z:i2Æó7=|/^áÂÊçnÞÁ^ x…ÜVŠ“}ЦׇtÒ®³`¹s¶2é‚  @U\•Aä>ádzñ‘øê^½(C6Ò¿œ}v¤¥‹¦Î.£m?†ò:CŽô%RC9Mo¸Z0?I @Xrí¼ª=¿;¸#©<Íý€˜K#üDšºñc+LlËÌ}fó.¿em{d ª˜A¤ŸJ Cðì4½td'å,B- ]¤ªãå†-¨`0ŒóÒþ×>JDÿiXÓ!ØI}*† ö–Õ>x-ݳ째°9½H?õ]ùÌàCÁNÓšÇÞ³}L¿(Ô BEï™í€‹ûžiç”Ó¡·a0E'Ì–ÀâÄK´7wÑ¿¾úUZë àîé[¡|¨ìJ¡â¦"9MOÒMg+å,yÖ·†ããP5~÷.qÕôI+¹Üº7qÅû©éT&kx-›½Ðè‘>+Ÿ³5‰(…ÊwtšžÑZÈX@lù=È“qhâÌôÁ®ø¬ÁêÔ…@M™]J¿Þð=¼¦‘—¦Ó7C[¶&§éYÁsö,€Î½T»fmÃǘB'M…{Ù¾áqPâHßÔ¤WJY3ÿœ¦—’¡4O$äžæõ©.3Ü cÓ‡27ìû…9e“j.GÎtÑ’ëϡІ_áÆDú©jræßizf壛ý8r9ê6ywºÉ—æS‹¯T‰awŠï‡WÆÑ“w?€Kç"[쥢Ë#‰NÒãúI™¥â)rÜE\fÖõ€DAYQ)®Q ÿÌ“±· ÙþIxVÏIzlr¬•½”[–‘dÂä Šq$ê€4ÂCÒoô»¡ ƒKŽ&§è¡†½•4^C½áõêÁØ­ @Ò—4kŠ$û.t#ÿ$^ö¼EüÚ8{]¯\r’ž†hÙ G‘Ôƒ”_¦[ÃA W"žh¸+Ü ü‚è¯üðnìFæU¼ö&'é ™±0›Yæ"›s)Æп @H`ßyh÷³è²µk ùýÈãmD¾à0½ÞÆc\FýdT@Æ0@á‘ÖlyŽ¿ÕsÙڿ£åÿ‹úñÊ'<cqbÊ-ÉizñÖkFVÉà1*ÃÁ0eO$²ƾ…[/@pêH ]vé]xÄôIPò!{‘­K}ywšž)YAÌ»ž„.äA&[ÈiZ3?ºœ0EX ÙÝ>—¸ï¥ ¿C·þ êÆ°Â’õòî4=Ã2ÓeÏ:`]d¢ô¾×Þ[æ(ó¦lø{ðDÈéû—1#ø·àŸ»lÖ‡Âô«‡ÓôÌÈu tÑW«ìÒ4p×/a IáOmÚò³EÅôè7·Ò_?t ªÈ/œ0‚T<;M/ýËù}‚œr‡Xè<éRÃÀ„°b fÔ‘-X/D\ðò†whÅš«qdAa(Þ¦7/òœD„<†ºÀÆH2 €#{Žï¼ð–ÇÔ9'‰B;ö¹’>tÛŽ½ßH—Ü´–N‰Â”ë! Ç£Óô†ãGv!ûZÖói$3aÉP @f¢ÌÆ}‹Nn¦•˾ÂSà†—ˆØL‡_§é¥ä)ábõƱ˜‰dšâeÊœ '´7&`Àñ[5c±]¹üÚØÂ#‡™wÀMƒo§é Ê›”µÎ/¬nÈ„þ±ŒßDÒb®P¯â%"û€A2kãÖ…'Qxç½ËƒôŸïDm¸‡P”v­ü§Éc‚ÞÅÎÐÀP!Ü„Î/Z^(íÊr¡)x;»C`'ù{g~w«ïÇ×o¢šŸÉw¤ÛCÈœ_AÁ¨SôúÊ“ûýñŒ˜ ýGogpøpc ø©.ºÉO³% @¶Ù߆<œ»í‘0ùÿæ*`=½,i¯ûÊ„§é àå­Õ³iØi™²Lþ¿^ÃYX&®gÞÇ SãœÇ“A–_N}pç'´l5[‚—‡é!ä>½¸ŒY®ñ,äÕêqd*™@A$ZŸÔšûù¨¤sP ÐØPÆ_?~¨‘*×à[DOB@Cô8˜2Ƀ#ôúÉ_QA·š}7 jÁD¿T S2œ¥­ÃÇQ<:^µøn 6ݤê!„ðh;=]® 9Ç(hÖü³é0mø&ª 2"9C–ñ,Å-/öäçù¿»dÕí_N¹‡PÈ,'R|ÞKd+=)W¬Bæ‰Zß±ìmáÓÏ=k/x«d!pJ<)dœ7Ë~ õНq]sÛb¬6þ5îË.Ÿ.jÅ+cÏ_)·Œnd%=vOœØJqb €UlácN/&ÿYb˜½Ÿ…¡ø2>λ–Bê¤Ç~ÜíkÖbîʦcMGS_mþŒí`Ëg”,R4%,Ø•±€>Rh¾ £ã2èã~4'¬ªlú¸Ç¬mMŽ€kP~vI ¬@P|ñ€ ò¦€¥Ð›¤âYÿíÃçö6öž´oÏ1p è[ôÇt’>º`úS>“tLA€M÷9õ P}qi£Êòïǀ·½› SJ0iÔ ÁˆeÓöònÕÝ埔?fùkÏœrÆì÷­ƒã@gàm9Ay<Ö,T<×?[ÊgÚY/™Z²È­RKDQ04JƒÃ¾ çzṙð§Yu+þ¶“öGûLs°”U0CååE³¢.W=¤QÉÇ£Tÿ\5‘d?{T­º©)bk?_ÒMµÍºçexµ?lQ\B¼i°”dNÅùH)—õз¢Ž¨«W‹ø³­|aÖ-@_=N(/^ ´ßëFø€Qb€GTTiÆ€X홦v[&vúÊ2Ýýœ3=q¢RÚ­Öa·–ei®|¿ô)ëµ–~åY=Ì9Hi•U¹Vù¹l¤­'-OÈ…4E Dš";dÝri›³B*šPTƒõ0DÌ\–ëÝEíÃ4`Õi r&²‘ùÎÕ”ó‚+šà«ÁàÉ:¼KXôdy®mñ°lSßuøˆfN+^ÊmÄ@2\4Þ[…©²Z´°ZY– [X¨ Bê`¤µgG.ð“.#²b ‚ÅÂno5Z\5Ê8g#ÕÃ"Õwúzêµ îÒƈ@ß 2|]n?^ÅîÇÇýˆlr0ïnWHQ´PwA,4R•ž$;´ô- û^¯·Jq«ø¶1?ª†/œ)<¶.0ðDMiÆõðçjÞ…îéY¦=]Ž neó× ”@Ö‡‚²”/qRy8)í¤•@*ÅI–òpRÚ9H+€TŠ“,åऴsV9¨'YÊÀIiç ­<rP)N²”€“ÒÎAZyä Rœd)'¥ƒ´òÈA¥8ÉÒÿªÃÂ,áOáIEND®B`‚./chessx-1.3.2/data/images/camera.png000644 000765 000024 00000047645 12142367140 017054 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË$iCCPICC Profile8…UßoÛT>‰oR¤? XG‡ŠÅ¯US[¹­ÆI“¥íJ¥éØ*$ä:7‰©Û鶪O{7ü@ÙH§kk?ì<Ê»øÎí¾kktüqóÝ‹mÇ6°nÆ¶ÂøØ¯±-ümR;`zŠ–¡Êðv x#=\Ó% ëoàYÐÚRÚ±£¥êùÐ#&Á?È>ÌÒ¹áЪþ¢þ©n¨_¨Ôß;j„;¦$}*}+ý(}'}/ýLŠtYº"ý$]•¾‘.9»ï½Ÿ%Ø{¯_aÝŠ]hÕkŸ5'SNÊ{äå”ü¼ü²<°¹_“§ä½ðì öÍ ý½t ³jMµ{-ñ4%ׯTÅ„«tYÛŸ“¦R6ÈÆØô#§v\œå–Šx:žŠ'H‰ï‹OÄÇâ3·ž¼ø^ø&°¦õþ“0::àm,L%È3â:qVEô t›ÐÍ]~ߢI«vÖ6ÊWÙ¯ª¯) |ʸ2]ÕG‡Í4Ïå(6w¸½Â‹£$¾ƒ"ŽèAÞû¾EvÝ mî[D‡ÿÂ;ëVh[¨}íõ¿Ú†ðN|æ3¢‹õº½âç£Hä‘S:°ßûéKâÝt·Ñx€÷UÏ'D;7ÿ®7;_"ÿÑeó?Yqxl+@IDATxí½ °eÇy˜wúÞ·¯3ófì+n)+4©Ø Ë–‹Œ%‹–@-ŽœØeWâØ K±œ­,GLlÇŠ+e›Z©œ8‘b•XIdI‘%…‘d‰ ˆ@ì;Á`0ûÌ›·o÷äûþ>}ß}Ë 1O1Q˜ófî»O÷ßÿ[ÿ½œsS]×ÕëÝËÖ»·ë7z.n(À»\n(À x—sà]Þýà†¼Ë9ð.ïþ pCÞåx—wÿ†¸¡ïr¼Ë»Ã¼Ë ï]Þÿ?Òî'®Ýn€½›]ݼI»Œo·ûûÎÁ‡°zðÁÖoíÝÛ:zôRºpáð® ?3ã¥êôé±zïÞWêK—îè<ôÐCëQŠ ° *ö¹Ï}®U=ýtßožzbpñÜÌ`« ouu­…dv] Z)Õ}}íNgeyu(/íë[zèé§WQ‚ÎÛéÊ x;\ë©£›ðÁûoÞÓúŽ¿òï}ï_Fè}øèvª«T £¬¥*UkQ³®6zñ÷ªVw[,ÇNmx¶VeêtﶦxýÅ_ÿÒ/ÿö¿úÒo- Ô—;ñ¹§Ÿ~zåíx‚1@0¿Ñ¯ð[çžyfà[?ý‰ûîûØ·}78OŒÓŠ]I¯§Ñ²H#m5¢ÀNI£6êR7°ÓAÞĺ¾µºêX?ÕÇíÕvç¹¾Õ¾ÎHgu%\£(-|c1ÂÕlŸû±³-´«uxv6½DâÆµÎO~ò“ÕôóÏ÷Ÿ?7º¶²:\-/Ë//„¦ì¾Yáš´BPÎûÔSnƒFî×B¼E½Ã-ntZ¨ÌZªÕ ’‹Ë+pú7uV—f§×æGŸ¾=«ŸúÔ§ª±±ÄC;Š®ª4O?ý/¾øæ`š]쥰¯ÓévÄÎܸà@«o­¯Ýn/,-ޝ]š®3YCˆj‰€|¯kØ)œ i (c X%&x]ã!Ö»vmy„' ‰vÍÌÌïY^^8RµZûÚ­å kçW_¾(1×Û­ÎÈêåÕ‘öâÒƒï}ï2zvÕáaÛà¡Ï|¦ýó‹¯ þõü~|ldäo7ÿ;¿TûôoòŠá5>òغZòH-íZ§WÉÉ©Ÿ‰`¯ÓwäÀá[ÞóžÛîŠ{Xë–:͘î}ÉñZÇŸiSÊdæ›|–V³ô{ù¸V½ôʉ 'ßàº<Ë‘ ñj,W"½ ÌB6ÇÎdH"íg± ît¢µx-;‚ÓXN,QÏn8šè޵بï}Ú×Ò‚©©´‘à’9½0˜m~¡»ÀMôwûÎFôCÒaýMxËX_Æä—«Z_îõø(i‡Ë—tÔ#¯ùìŽÆj:嚦‚½[Ú5ªÞíù|™m¨#Ñx(æÖöC‡!¶”SÑb»|ëå£Ñý5æó¡ŠÁGe*ÓàSà+°á²2_hðë¼®?(¸ Ò^hmdØ›V€j¤4ËÜÑÒ}5÷)g}!ÜkIs;ò-†¯ ”|fï”ÛvøZ,¡Ð³‰ÞuÏÕkI0©Xf± ·µøíÊg‹Ëý•¤Æ²»–®6põÒs­ù¼íg4ð«_éWég¡S‹—Í›ÚýÿÇh™¡y@ÇÚb¹æ‡æ:ÝÎÒWs½0,»O½ºÅòCéùèÔ«6ç§=î±4§×²¼»]Z†Æ»íÑN¡_ºË ¤PôAC—ÖDت• Ÿýoo~ qM¹^:v2ŸøJ½À«aô¶Û´ßcñ¹/2Ú§ ¼~o—Î|â6–‹ìí->¯€‚¨áÃN<ÀÎÖä¾H{!da(uÛ€Mîé–¼oBS›´4m€'ìØíž´Êâ,À@ÊRáî›r¤p샇V¨$ yù¢²ˆOöôÒµ…ÎfC—+x*—†ú«À••ÄaŽzuu5¶ËÄ×nµë¾þÔêo×Uß@ªúhRáÄ «Ì§¿Szn%º]½tHg7º·}ñ {ÊŰ׃/î÷”³ýè/íÊoÈý¦ÑÓäÛnæ *v³€P6?DºJ„(–I4Lš/½ù‰œÂÂÃC(<-8ˆ§Ši ª$añh÷ó ˜–ýó­­.Q%²ÏQ^2¶Ð×Ð+“¼‚.¿4žfy%U¬cD~ÕLí¾¾j%¨æWªé+—Ó…¹‹ÕÐà`©†‡R58@},½%!W›ÏÛO®B϶Ñ=÷ËÞ-Wø)ìµxùiy…ê×Ò/x²çQb•˜¢®—Û‰?\ë#¸M¡®7ÆÊ°C?dd†qß4š¸9¿7myÇÜMc]»ïÏ-î³y͆”‡`š1Ÿ´î 7% Ødo À(®>Ó³]KËUµ°XW#CUu`ª®FGª PÏÌr2k…üjòæ£õ±Ûn®(÷Æ›g«iNúTó‹Ð }  ¼×Šîm7Æz-Õò†ŽHs_9m SŲS\½PY—tô<±nÒÔQ´×S®)¿Ë1€«¡r È×›gËíZ¼jG¼Œù¾iêyJKTðáÞÀ–iQ|"&NÿòJ žK¯n>ઞ_½Ãí²ÞXÈl챸bIrö~ò•éÔÂU€½“‘?ÿÆÙ4}e¦š[H³À´ÿÀžjbd, ï­nºçŽôÚs/V'OŸÅóÔÕ>û1Œô‰ŸÝ(¿±L-ºÄ&¶–ÞCG±xñÀ dúŠGèÂ&¿x°Â÷®Å—ömOMùà'í5íìÄì  -^Ô»âE«F­±šœŸÝ«,³‘žéEL!Ùy—JGŽ—WävJÇ ÀR·GY¨Ì%ûô”%¿c?£uŠ7·–¡’iY1œaŠéBO‰uÑ1šèÔ—^{3=ûÊ+õ?ýgÿ<ø‘zuešËõ-·Ý—¾÷ÏwýýŸþÎ4¾g¢¾õî;Òc<^Ÿ9sŽ:}õd›vZýà”`v´Ï°çó´ ¿ìJÐÓÐÊ!=…Nï×ÍåºtSN¼ÝØ‚ÞFº©¯õÆ Ñob±Ð?ø† \g `|×(y£©Í'‘}èÌXÆr‚É~Êì|!\‡rfÅ—üí \‰ûBþÓ/:'ñt14ØfÀóVÕÎpp×Ū_¡d½/}Q(ÏõìT-„ĘùµSéËÇ¿V}îïþ½´´¸Z Ž'ÎÍj'z.W?õùŸN¯|ýDõ£ÿå’FÆÇª÷Ü}{úÊñ'"&ê«úQ"é@|,Þt/Å⥧×R»–]…Îø¢psFN6üŽ“I-ø¾WÀÆÃØå‚—ØÃ¯×ï¢}èÕ䢡}}iðèaºL^‡>ž_WXúq‰ß®þæz]¶žš/Ó”žLR/z`X¶í`i5n=]…z†Þ~wgæSßÏ~Ë'a×âsÿBÁ/îG{;óaN*ÓöVã¥°Þ F‰~”ŒòåLÝ[ÕWY ó…qÁ¤XPB¨ê€óôU‘)[Xòi£øÅ&š_ZÈc»÷-ç/tG<¤.ê5`_;-Ï/T?òh:ùƉjxx<ŒŒW£ãcitro561?BþàÐdõ‹ÿò 5ªÓ¾=“Õåé+é õWö@‡‚C/_Šå íA±T…W¥§\?©ÂåÂÝ‚¯q»!ô¨_Õïbù ?ÊGeʃ?²zÛË{{ۻш¡q½,š®%„¦·+wM‹×Â&€±1„+Dñ1¸Â`}e•E!ò;õ K9„“Z­š¸q`»Z}Di-,´Í<^¥ZYdž¿–úÁ¿Þ'Ÿ}¡îëLýýýõàÀP«‡FFrLCùÕååºoa(½þÆkõ…‹ÒÔõSÁ+s õÒürZ]éðü—Ìï±ì.BØ´ >Pα~ Oe¤'<“ü²ß%Ýô¿ëéȧ&¹¾`›Ø#,Ÿž‡ÐÕòÒ^‘|Ó#¢˜×@\¾¶³à膚i‰çÚ©Ågwo ™’aX,į‘K^­X QØU?îÙ±»=ÄQiæëaaÁKê{à­¬TkXæÂâbµl±Ž0ÐßJ¸vPæóÃ(W›…½5•Š«†‰v…ŸÄê‹@ÅÕ2Du*]d­@Ög™vÌgè!»¿éwcÑ[,¾¡Ïðü³/V¿û_sM3ð)GW¸"V %p^CÃî…_ÔñÆ”(ýÉ~¸zï÷‘öùÔ÷‹…³ŠghàõÇœí,ZÍ,cýv÷%r»|{–k´x-.G”¾R¯ñxÖ\WX\{|¬nè…r¹¨O:¶˜µ ê•§6š?Æý1£ãù…´4}¥¾tùJš™›ÇM¤´÷رºÏpÇ­71"àQÖ–ë嵕ԿȺõP”z‰öY¬WPšÃSêý “ÕzvfŽÙžt÷X²vZÆÞèocña¿ÐÙðáÊÌB:þÔ ø…N…pçÌf„g0]¡ˆõ(ç¬H•~àý÷ävЧQøÑ^ÐÕ›¦C»ï¢qÆÆâ†—¼´“Áb˜WS?Æv,‰À«C”Þ"ªo˜B¡uk\*GŒé”/PaT_,%AtI‚thâNÕX¹x Ú{ábzîù—«Šù> UýéOüÛéý¹ŸgdXH‹}ó𺓖–”CZYƒ,,+ÌWßñßÉ£¡jåüt:yæ4N(áQòì'Ú³ÿ½–h àÕ… _Ï€|¢#‚S_ªšbëÊOeŽ /Ø*‡2¥ZÃ7•%hډƥ¢IS.VXszw=€Ñ½+ue¾ßhv0½Wó6ç+ü˜¯Ê,z:Æ3Ö*|„U·&'ˆª±ü,ôìÊZ=+tK”Ãýb¹Z1€аý51@›1½¯@Jx„v?ÃFß kùU$j¿ã–ci~~¶™Ú›n¿ý–ú¯ü¥J?ù?j¹º2Z7ÄzÄÊÊbZX˜¯ï¾ç®ô×ÿê_Ä“,§é¹™úÍS§Óm7«††9šØÂ±=$'TxZ®Bè Ÿ~#É ›• ¸Aá€æSÓòb¢ C²—QÑÓXžüÛ€7Úím'ðèOæónyu+Ö¾ {{4-+âºæm—Ý,cZÔÝÅÛ©½“D狾ä±<{„•……j7î˜;ÌšügGÆGóš¼Ç¬²Qà(¯2°Â7;?ÏÊÞ<Þ. VnüçN„K•ó/¥[FÆX\èOõßÿ!V}‡Óçêg«ÙKgQ–~z°b€Wýñ}4ý“ðßT­ñ‰4wá|õÈWŸD©ª ‘Ɔ‰I–âqÉÂú±¹ÿ‘ÕXn‰êᇣ T¨°7Œ"cp4ÏÏŠbö Q ¿³ŽÒnƒ?¦ÞÖ%À#æû×íØëËÃT‰´W³7kzIo¶øî˜E}ñhñ‹¬È¹Á26š5vϲ¼ùó³óini©ÃÒöÜ_WÌ»éöÃ"ă¶¼-ð„gq쟪Ç(ÉpQ¯áöÏ¿XŸ¿x9  ÖyŒñú¹_L÷ÞsgM4™þÂ_þúÁïù®ôÛÿ○Ϟ;›ðDûcN·<ð¾ÓÌùsõO¿^~õëõ·ÝÊTp_=Æ21ÓIZ‘ùZ(°—/áî›ü ålè³ÿ!\ý_±x¡‹_ÃíS?<„ñ<·BgÀíl’ƒBï¶ãJ`s¦íB `¤ËµÓè¾×â£^ÑP4ݱ¦j©!T,ÊN½³Ñ’ØŒY\ZJ{''ªOûÆîñ²\ó{ñÆTÈ"ML¡ð½ˆÚ÷W‡L±»·Pãt:{î‚|J´Qì™tÏÝ·²4–Øé«>ù]ŸD¨Qz:Õò¹Ëivv®zì©çÒSÏ>W=|(>t¨ÚÇ‚ž…².‘Ò[”Ò+”߯=ý…ýÅsL;YºûPg„ [®Dëî·B'$ÊÖa"·ƒÄåpœsâ³x˜C9õQ<@Á?Úu€bù«ï e „BÝ›½Ì¯c#†y:y*CÍNLºD´Îñò´÷Ž[kükÖtñ·Ä žbñæË¸¯¥5éíè°x÷ßyGDó‚õüåé´ =_þʲñ3Uß|äH›ÏпĢÒk¯ŸªŸyᥴ0·Xß|øHºùØáúÈ¡ýiÏÄHÝ€>À, ,Ú.v£s…¸ÙâéM(­$PX95–ΗèŸB6&0À Ùš¦»"F€(ƒ2/|éŽõv®§½"Ÿ‡Õ•˵(zÄç&·³RÂ1Ÿ¹}ÝÎÂÏÑ=ûìó—¦%²Þsû-yL |ÑÛÈ×c¬]œ©/á!XÅËø µ#⸖¶V;ó¯Óûã,ЦÖ öìœŒŽŽ¤jÔY€¾#²^«¯ÞëMécc#õ£?XgªÇÇ&d÷*¹ Ö¯¿ñ&SÇýõQ,ÿbßž‰4å·‡¡Ï•™­,›~#)÷ç»–Ÿ->„â{î—³—,T=HÝ•™ ·â'- Pƒ¯|\Óy¬·w¼Åâ…æk„èæ³ 1€zÄU4L¨f"‡Èßlñ½–oŸY~]cÌmOÈËÇ’g‰Æ‰ú0Ö7»{Ê?”†õ€%,óòô£~&3:S”¹®ô\Pq“øGÎÆZýåÕ+ÕÀL‹µ}<‹›37é†Oƒû¦ÒÇþ­UÇ¿ö´ÊUMÝ;[¸ó¶›~uæÜyN ‘?¢ð«6³„ßðÁƒX,<Ì(?øWú¯0¼®Gí •Lä$½:Xß4ÐîÙ’ã@OP|¥½¦¿ÓjöÜn#—ÄÑq_óR³ì«Ð†Â©±4سœ 7óXþ'o´ü8‰ƒð‰ïëþc‡e˜}Íåݬ¹p¥>óÒ‰êâ¥0ØmÅ,7”:Å1wiúR\€Y](O4"‹rÖÓ$_g¯ÌU‹ÎƒÐ>þÂJÄFµ”}øÛ>ĺAÎf8T³ë÷­|uìȡڡÉA¨ÊtJ‰Ã³Wô›;¡?,›|‰.|ÒEçNÔÕ;Ÿ"”Ï0,[÷úˆèÌ_ (êHs+NJ|¶•{äazS~¼TÊ:\oû¹«3ây¡[:•¢aÙâº_4_()«”[ô•4Œ½cÌó øó—ó±Ýªÿ–/ŠÐxðâ)N_à,Þ ™ ¼XvöÝç˜Ò=ñäSճϽ’^=q¢:‹…âüÁ¤÷ð^â̽´‚‡`„­„W;i~úR5¢'%F°)ç|°zôøéÒìÎ ¦Qf•þÀýéw¾ühuÝ¿!ŽŒ ´™÷3šHØúØË×ÒeÊý„WÑìÌp~NwÕu˜ÊŒÿÁ/¾B§†î_¶DZåÃcˆ@7/&éàêz`=×ϳ[1€Ê¥:ÚÙkA9꘧ðW—XÓ_Lí}{ì%+~¬àÍͳQ³”Ç|»j~¨y'Íœ<[Ï3ÖkâÜBIˆ…éô‹/¿VÿÚ¯ÿvzâé§ë¹™yUûnÐÐs”г¼u5·–._¸P?ûÌ3é—å õÓ·ô×ßÿ½ß™Žp^² l,-Î/ÔC¶ËXBñÏÈ@úà{ï®Fˆðidt¤¾÷Î;Ós/}½Mƒ¼gaØåeOKG(»RT(ŠPáB¿B >‘/”/|á6[ÒöjÐ]þ‘#L-]‹Úÿìõí¢ì¹Ð÷ÌßÒžíD»¡$=t4i¬ÿºcåWÑô«Áè$%eN‡y¾:Fã`áúÒæùíEÛ/:7sòMVüX€OÔ&?UÓûúÕêK¿÷ål)t¶ín 7ÙÏóƒ|\úïÅj£q+2uY™¤óçÏVýÒ¿L¿þ¿VýÐ_øÁôß÷] 9ÃŒ FïuZÆ ¨C<ÕL5Éè'Ð»íæ£Õk'Ï$NCv_:|ì`õÒ×O¤s¬3»ð$P¥'pèÑ„‘çú!|)”€ ߯ÍýÂÏ2Ö╵1¥BÈêPèI7:‘ÅG(K V ¨ ŸýÆvÂC­ßß½ 4™{¡4-Ìþ ˆE"pÏÙsö.ç³ð3?3Wyúvx(kTÔ««…7Ï×ßž û”ê_üzõwþ»ÿ±Fø ”5ý~\ðPÝ7€°?ÐØ×GÙßò$rrâ« ìG€ýõì,G»~âóõgÿæVgNŸsç×Ù%¬f­g‘Ó¿lúÝázëúð­7±Ô®Ï]¸Táx^ S½÷=wqà2Af"&ˆ±¾Ä8P›ë÷Œõ……Oò¥)çÂ&I,cw1C=îÀ¤NÑ‹masi‡sL¤ó}˜Ý´×´[øÞàßrŸ|=€×µb€ˆ¤¢Ôµ>6[~Ñh4Óf²õd¬ìEÔ¬@]ó'˜" Jý‡è •r†—¯TxäŽ`” êþÄÓϤøO~¶:áBìã·Ùp÷­ßù½c¾ÚîRnÁ x„45mÂûí¦¯<ü;Õßøì‘^;u …,˜O†„“=Ùhòï¿ç¶tñòlÄ"îîÝ7ÁÊßpuŽ)k÷$Ps¿µx»Tv/»|Ñísañ…?1é"¨ù@°‚Ï ŒØ£ÏùЉàÍÏøh,ßàw8P1Dí5°¡Càu­•À)@Ñè¢áR§àÒB¦V×XUrfÎ"Œý—çæ Êˆtý+€çÏ_¦¢óy†M>^xùµêýÔÿ†¥Í#Ð>,ò±H=€»|YA»Ûiï{ò'o9¶ÙêgWrìÖ™n÷ Ô}i zþ…'ëþÏþvu†Ù@[†;›ðâL "t1Öaq#{÷±"9À,äJ=;·Ä­º¾ë¶[ªËœœ™¯–ñlÎV<¡àKô¿/ÜÞŽ?d‡eÓ4Å5}‹!qÓXŽùàÆn`¤)vEX|–ƒtQY*wͨQšE¡Ù$³ß¶­¬Dó1¯Ç2e몌¹‹Uû +€qÅÆE¬µË-ÑiÝÅK—ÓOüôÿ^±ÏÉœ¾Ø½káÒqûÙÂÝâÕ[LÛ°z,\ÀIžV?§´ûš}zŽƒ±ˆð¹O¬†ØÀwé¾JÏ=ñDõw>÷ã,þ0uÐ0Oð™CçŠÑ˜p®¥»ïº½º4=›fçf˜È,¦C‡§Ôkvgqfó”'ÆÑ" "ú/|‘ 2i;þ°ÕXr#øuËWà1Öû¸+EZ=Ñä•kæ_X¼ílcñ‘Õx†&Ù`Ÿ"¤cRåµ’ãQ.ÏÒEðg,ÀP°ÀºñQ^ᢙ#ð87¿¼ÌÁÜùÀƒû øÏÿÏ_­Ï¿@1VöX¢msîÞ#ZÐVàá 4žÁ‡‡ÀÕã<úõZxʇĶL2¥`(至ÜþÝßüê‡~ù‹¬ qƒÍü…f§Ì Ãþµê —|y&ðÊ̿䔤:ppo=}eºšåäÐ’`sÿ#ëoáO Zº^Ÿ‚°PK/Pcíµøì, @•Pè+1@|cñZ>bKzM\×D‡³n¶ü°`h£EÛZó,Ÿ»eÎûc™ö¥a÷û½°9ucÚÈX‡äg^x¹zø+Çš1S-×1š“7 Áöó¥OKgŒïG1ûM3,Ä>„O=†)u±t-_}#Í‘ZÄXzüCÛ8 œ~úú_ªË¬7P“‚мÂ4@×~øÐÁt™ÝÀù‡­UÇâ@è|5lj¢åeÖ7Àåí¿ïòEkñr·ÎÑ5ÏÿË BïZv>ÒM,Þs_AúDTöPH;aæ|‘yf½èn(Hcùt)ò¯Û(׸¤Â«Úf¤m 'ú‡¬»8ÖÓ<€'ÞB!J=ò¯ÌÏÁ›Ǥ»þÕ_û ªâ1°`þ¢¾0\8ûîŽõFû 0æ·¸K~Œý<©ƒðxYA¨á¾ø úÚµ»}qÕgNœ¬~ñ—~…´  ôA_(ºÜ®ŽÙ˜­f9¤ÀÜW/pDl~n®^vËg õ¥_½°±øh-,3ãu%P`–Rè>M6³ƒœDðâ’y…:ffÈ„ö½¼Ÿ‡ˆHçJE.ª&ms½m <ã Mç›PÁk®¡ìŽé6ÈGg%,4ʳ¯:«tk×5ô°p±›ç1}¯ýUÎ_LR´á4\.Šã |ËG¼õZ>ŠàØÏ¡Îð¾±ÂšàC’@+{¬‚Ø™TÐxëï 8È«ê _ü b“yèÖíPN˜7àèÐ(íôÇìeé ‹C¬%Äz‡F›SÅ´œCè-oG3R ³]":d.=¢~Ü<ÿ4WÔÁú¡Œ¹¹nù½1=TðeÝ.݄ԹØ¢“‚ƒQúmÏ$&®  Ü%#4/k¶kzV°ƒ«l1OËÀ¢W˜ÿ 7³|zØmáF* ‚'õq”ŸúŠ€;v›Na“|(B4Ð1eˆ˜ÿŽóÀ¢)ïš?|uAÔxúny—~Ñ ,¥¤bõbåof™" ŒYÕ¨J¿„a¡ÀÌØ˜ ,-¬ÔË+‹|§žœ†ü…zee‰%<–EA‚ߎ/q—Ba قòuõðO†?è¼ *îÅöÀ ÒÌ‘4?¸™à€¡iOžƒô.x€P(”5+,9”ºÊØç²¬+~DåÁú«¥ôyv.®€Ë¬j ~<õì³î{ËÒ–ÈÕrí@Ò!Ú ù›Ë•ú"#ØP¾ä |•g³e¢0¥Ãk¸iÍ4ÂfÑ"³’•eby`„`v‘˜f‘i®ÏzW>óÜjñàÌ÷‹eªÈÁu-\Á–4_”5 ý½ž š‰1¾±|äP,^ Ù¶A‡[å–ß`¥ZœRkGÒ‚ÐáÈi]ZtÏ•‹^ø"Ggä´å¨¶ÒaÍ6Œ²í³z{ïhzÐÚ=ÿ‡Ô\ÍD—ÈÃy.•è›ÿøïrQO ÊÆ€’1ÖBÏ÷„å=ž‡fÈ z˜ú×Ï=÷<· WËJhíèÝ^ZY&êwÌOµGÁ–X×ð*}þ€‘Jt¬<¯o}¯ÀÓð«ëYò _Ü’jŠúaÿ´XérÑu\’¤DÚAñ–eDmÌtngÝâůÅ 5£îÄ8@_ãÂ*B@~ÐÑÆB³åPMË‘§´»BP4~˜4ë<‚5]»ê²­¨%]¹ÌË£c}¡ùÞ7ãXè Íù0™þ«ZȲy˜ËañÄŽcéú˜ª J‡„ñedH<ÈÉI¿HûaqêôYK7ND¢øçBäáúû9)Ä“I«Lo±H`™~…÷w€•ÅÂËXo:Dth l2÷„>ëÈ¿„ ž‹†íQ©ü¤_A†ƒ›ô' •ö‹ú¡ƒQ1î:çö¨ëÛ_ ÌÄEGƒ9+!Ò–i›Ê¾‡9Ï €JFy¡EÃR|Л X4Ë­aIy@Dƒy2G¾²ž„AÄNÃ<ÄSб€C€d⢬'m*KO=Ñ?Q…xÄJç´¡—°kù9pÉÎkûA—Uh( vPÓ3N4ísO4^x£ÅLŸª@³”Îý³9é-–o7£ðº=@7†*c}X¼4®¦ÖÇ7ö¡¬·¨•1ùà -*Ò†¯PƒèK‹ã\¼õƒ—qù„>§eW[nõ²–OðzšÇsP˯a)”‚c‚z I9Dà«ó: c(‚‚™Qž?hpQß=@¤Â5п͇GÀ¼i/*„„dbÌæ0ix ›ë«þÑ¿^‹§|ñ”dæ~aqØ—É€°e‡ì¨ƒù‘Ï· ­§»ªãÏ&>iñ&·C¿B 4n*™ói/¹á0S¤u÷d³†Éò2Çv¢"Â7và´Ðv²y×Z¸¦d{•%š-cŒJ iògð§üTNwÿX³g-(VôXÜçÈ.ÛÀYYÈ„=a<ü./išäôí…‹¥”êŒe0 <Í¥äécw çùŠ„rÈDòîøœ>ª€èšÖù\X׋x‚eðÀ4È-–/eŒÁA Dó”Å]Ÿˆ¬(AL¶©'¢iê‹8Òö;"“à–zùU…¬ j‘J“c˜<„jYŽ2ÝzF÷ºz-?,¾ësôOÿ¢“Û߉¿ÄnóvJ¥®6o„oŠjŽ®2FÃ5äísúýÕšoã’±Mys@/{á¹üêæcG1^˯Ú9¦;ßö!Ñ8‹G´½ºÆÉ"ÔïÊ*é& g†‡_Î1ÂåWŒÀ£G–аºÌ¨Ë @:µüßï½t~)#=ÝÒ²‚¬.¸í›A ¿Íù‚yÒØ D,K5F™ñmà D×ûmš1` ²„~F¬b2  Ýðd% ŒâMùP|Y¦SˆÊBÊ©¸B¦P20Á5=Àµ@E ÁË%®fŒY‡ð–Â:Ï|°{æ…c”`6o(iÇôT}è÷……v:K1k@ð1›`ºi÷–±àx”›%ÙÕU^ê¨À)·¶âóåwã¼i†ì£ß*žÀÝÞˆÚ×=À ~ä#RðpK{¢x˜èð¥€Ò ï>òS¶–±¬*]á”r_ÛÝIÝõ¼>zùßä—ûÂ`Åq÷!"õñѤñhŽ¢øžF!¶À@³Éâu÷ ÞµÐ|³^㺉åõ^o{%*Ah´–ßhÖè+ÅÁÔ–*¬´9ÁÞºêÜõ˜P,Îù¡æ}âÛ?J—ZÝwÖ–°d£~ g }DËÖ4–/ä¿›Nghù¦^äû¢ˆåº³<ÏK90*¦ñ½–o‡Þ÷-¬¾õÎ;% ¥2æ;«ÈBVêi,~g¸ôò`iÕÏ™ÁVƒ°Yêò_ð§ 7Z¾^9ó ¥#h-7,^O eëºàSÌnå™Îf¤Ë 7næfÐ’«[¼µ´û wÁاmº–ßh~ôÞ›ÎT6ßÄ`ÿ<Ž?b`ž§{É´ åyìöñ¢ÔVSû'Ó'þÔÇ«zÅ]·Šâå p]7ù¼õCÁâ3ä{N³Ò¸¼ÊÃ#–‹—:ðæ}ޱØh¯¸õ=wVßû=Ë×±7ýâù…†ñ€T`…Ò“ACC¾=¬]xó gÛ(ÀH=Ä‘ï ä,AôìôªÁ# Á7| ¾åßrš;c^6p‹æ+Ãðƹ\ "%ŒOËóE—/Ô囟- #ß4l†PwÝ1€=Œ«×â͈±ˆ!¡h>÷[0Ê;Kl£jY¼l™#øÃéìùsô]3‹‹Y1>Q8ã›ÒÞwoõg¿ëßÅrç±\bc=Š=Ï®iéÄXúò›3-mcùõà÷ÿ`ýþS†Y‹Sk¨®,Ð=× ´ÈVý晳´¿Ê3ƒ£bî‹@o¼yºžãgÙ‡j₈¢>¶‚K¤$l?IA/TFÀ°\ Eâ6k˜FÈQÔ #†y¦.%ŸÛ*¨¥ä¿PÅÉpÝò­Þ(V´¿; ßÌÿËW ¤2:–2]Â=Æ=ˆI÷ÃÀAÖÐû«³ožÑoÉ ãØ%ăR-êó~¾ÿ»ÿuuèðmia¦¥ÕiÌ£Ü+Wì"/u\ìBò8Ûw1,~uqÆ£hi•ÝŽSõØrÈW,_øíúOVÿÇ~DíSðyìÇãÌ£HDþ¥@êôÇÒÇxo »œDN¯¾ú:òK<+8Êû¥GâTr0VˆÎ÷À^‹Gðe·ÎˆÑÞ+7e$Dx9Š·î bÕÊ‘¢¹ß:èÛÎâuùÙâ]LÉA»òëu{€”ËWÃrO‚Åö"4\'ç˺|ïÞ@å›9pÂ<1PÃÌêÍ3¤}1æ`02ÓGê<ø_ßuÏÕOýã¿_¼éÖ aÖxvÖ*ßÜY!äláxN^­¢P&Æz¶ìYð}Ï<ßFJú#ÿÎÇêú“ÿCUMí :iVîW˼—À®iIvåÔé7ë‹Lÿxœ`.õÕOñz·É‰Ñzœ‡D‡GñœIda*óÁJѰ±|ø¡x#¼:g ÙûÅÒóHC€-G¾E¼ïPàž@žLó#v°¾èÀ/ ÁmÐ…Þ/é]ð ÎöZ|£‹!ø®¨X–6::gî|°BKŸàÝ>Ã#ƒé•—_—RÕUœá¨²îAP ÷ËÒ¿ø¹Ÿ©>üÑ0æã ˆâWQаpƒs~އ|{;ùÛõÅò9Xœ¾ï/~¦ú…ÿãgÒÀ‘CárTT®T]Äs,±n¼c‘M>þlÚ71^¹L<Ìó'OžJÓ3ÓÕž½{?‘GPÈid×b#Ê6†ñ6P6å±YÏàÍûó¹61€#©i T»Ð%‰È7°¼Væåòo±x»c~^A¯´žFÏjieÂõ¶×¢¶P¶ÁâÑÁ¸g>šÉÿ<Ÿæ‰Þ¢ÅSWCõ©S§¥€}ôájßÄdœª¾p‰òö R<•›ƒ±ŒpÆ÷ôÿÂ?ûÉú³ÿùg«½GyŸ¿Í7NpÇZ1­]ÅÒK¾Uî¸ï®ê§æ×ÿý?ú{}¼9È‹už€WxÒ‡3~¬úу`|ýµ§ž KÝ75YMòl <üêc×{&&|5L=É ,†úx²É!üö;*‹Sf²V9­ÌžÂVý͕-Q…GÈ‚'Ûi¬€ûžxÁ³D"×G{2?Dá„Y ä‹—´÷wÁÈ4þG´œ¿Ø{.4Y<ƒÜr·ŽrFɼ}Ûsô+¬F0ˆØÃ»x_zùÕÔáI!ˆ£>Š`: >•6ðàx¹Ãgÿæ_«¾ðK¿þÚúUGî8Ìžèñ06~5Ø7^¥»?x_õßþƒM¿õkUßñ™ïfÖÁãé ^ª¦Š tfzžåo%¯ª7Þ<Ÿ^ÆCâ%(k542”žç´ò ï.Ú?µæÂC#œIôŒ"ýîŽõÙâµülñvÁ4óuHÆHCуnc;á 0o¾×“Ï âh×âCð–C–|§> í^Ýâ‰m£Û•O;ñ×Ü ²Ù¸¤B ©Yv5`I7Ðá@ËÆísš†¨y4½tâú¾»ïÂŽÔ{÷¬ñ‚¦ùú±'_H~à>-‰òþQŸnêÞª~{ tŒßÑ;n¯ÿÖßþáô·~äoÔ|å«é+[I#£í꼸“àš€¦Ä'f»-c3 ©˜¡th·g ×›!tµX0™`>½‚@_~õïåcept8MÖãìÐtÒé3çªGŽ-}ËîG–¼Ð <0Q¶ÑöVÐ_ÞþU±ôZñtp(–øí›tHŠšŸ[Ìiî<“XÏúTò»‚‘…eE_t“ÕésgGÒy1Ùh:zä`µßÞøu°g^ž}áEâh<H@¿Ž>È.  W\¬Œñº{3u÷añ±B YM Pvë$ÎÖ•—ôCCã <çÃ]<’‚çj<à ù ^èÍ6È äíy€•W¦kà-Àf¹BãÄ-÷ižžÄ–°Q®Lˆt‡ÞƒCCŒýlé.ÕÏ?ÿrº÷Þ;yãÆHJ{AqŸ§Y/xø‘ÇÓ]wÝYåÅΆA4c˜^^DZ‹¼ý ‹6CðwÐÑâC £……û;r87tðñ5¤ t„Ák |eÁ~û³Ï½”žåeÆö©tèàÁzjï…\¿üêë(Åñú/©¼‰7‹>8•&GÇ]ûgÙ:Ç0›16ÏBè='r…Ø=‘“·hƒ11æK/‡|(¨ WoÇ )9‹Ø‘ŽÃ75_è$ßì•î>|HÓ`i×0ÔûÊGBÖpXz˜ôöc€¬wj€ÂfÍZ? “ù׌…!|‹©ŽuXðH=Àsö{Q‚µêÉg_L÷Ý};Ó,Žcmë1|ì…—¾žÞ8u¦ºïÞÛÒ8c¯{…¢ 3,O^òÄ6ØýL‡|´9™cWã«<¢dc.ç)â3¼)ô‰'ŸMü–@u¯€Û¿*Þèño^“ùÃÇx&ð@ºåÈáêðá©´o|2V2uý Ac±¼¯Â·‘¼'bw+­u-Ót¶|æèRm<ù¤YÕ¸¡ë–OÀl?ºÆñ8‚ ¿ƒ …üñ*/·,fƒ.àNb€·öÁc©£Q5ÖÎ4M~vËÙòÕ@}“³§z®˜ñˆ÷DÍBL±``ý Jpû­· $–WjúŒwù^à•ì@”¿Ÿ@‘>Õã¸guž?¡Â)ÿè%ÍÐ^þ‚UÒt6F–-Ù4šº>{þBzê¹—ëiAß³w¼>|d?/}ÜëK¢Ý‡},=ÿâ+XüþtÛ±#õ1Þ:ÅJà0'[Á4ÌìâUøâ¥ÀÛ 7 Ã}M¾˜Ì1;ÓŠ˜-µ1°çƒ°  wÏMÕœç&ðácÂí¯‚zž"ŒñòA,¹ÿÙâÑK0Ê'…ßÜÎü×íÅV§Ð(Xc_‹Å;uËCWh\ŸÒyžŒ¸îùçÓ¾ÄR\”lj¾ôõ×’,î¹ã¶46>Ì‹ºûy7Ïp563œ.^š®~§…}¥ŒOåNMí‹ØAΩTå¼?_tpÑn™Ïë0;œQôéßS§OûàIâiÞò=žnei’˜„¸Ä`©Þ\õ«ÿ÷°^1]ÝÄ›Jo:z¨:Ê ¦˜©°ä; Å=· ÷wž®²Ó”+ÆÜ‹73öçáC±L…/¿øT¾ŒÄÙS…Å£JÙò â¦l%üÓ˜øô‡«Ìð”4(8Ílƒ…¹ŸÃùx¿pÜöHÚ˜ôè¹vÇH¡šk§ÂâiUÓÏÐ<Î5zùQŽûᦸ/¹>ÓW ªtyûÕ§Ï^H?ú‡õ}÷ÜÍ<{‚1ž×9 a™ã¾œ¡v±æeÖžÇ=óX8ùÃ(Ë»qÃa¹ôÏNr`a.ñ®¡ùįƒÔ励ޗK°ƒÇ?๶Ïoß­Ü_ù:o }Š_ ë¯ï¼å–tôðš·‚BÇ$–?íiÙâÏéy†íOß*|=Àf‹w¬Ö’=nÖøw@ JÙ Aôî­¦´±@Í<˜ƒ°D?À®gc©Q˜âà-.ôÙòE†?ÐR$‡ àº=@X=\á|A¨^ ß+V øª‚æŒuè7Ë1€ñ†À4Ê®¼óçÅ{îìùê•×^O'‰¨Ë”n´ºëÎ[Ó~ö$öòÞÿø]–«ù5{úäÄò¡å+|ñv£{”@}çoƒÅãq)ÇigÕï ˆ™SÓߨ÷ç–O ‡DQ¢’ t«Såj,žÆ)±A×ä0ø"û)ÑžŒ·iò©ÙÐ#äݹæJàµg>Ù€i’/Ž1v:b8}5‹o45<€"‹ÐòŽ­Þ§›ý­Áz"^¾0ž`ïøD}eï¬Iœ$º”N¼q’’”cåÏtáDŽ\üÞ³lª^äÅM¾ë×7ú>?Üq~aÖ·aÙCÝ €[%㉠Q~'p¤ö°Šo£yf'ñÎ äÕb$ΖV¢û-óy¸|5‹Á}ƒå;*gOàM|çwÿ¹à£Ãyð¨Ú„Ìá/ _ªó~ø‹P LOØ Ü}³þÐkñ>4»Z®JE¹n Ñ@’š59 Ó{f Ô¡Ä ›ü¾¡¨nÏý8™ÃXËëÆlVÛ":÷àÅïç›]Øç Ó »‡ ñšÙE¢ûËiii3‚>ëçz¦GÓLÕãý€}¬ò+ œ6Þf„E§ñáXë­y-ì ¯˜ñw=ìƥf"§ ŸT@ïK}¦_`ÿ{£{=²šþvï7);„Çý÷¿÷þêýï{Oàƒæ€ÅÓD‰f:¥Áe¡[±áW ž„Óæ6ëañ$c–‘ExÇ,vÝ ü´jñvR ¦¨aj(i% ghšraáÝòZ|Y1ŒòÍýFáS ú\AæM¾l'³›8\O¬¬¥¥Ižâ¨ù<Ïø{~9ðažf8º^‹ß@¢Œù©ÆªÃCðDù5Ïú²IN#óPG¿14ø§‘~3VCgãU­:ýÞÝûr9ù‚†/t+4QX,>Ê7Âc¸ˆ¶ˆ!„ÞÐ:ù|†ÌçævÅ“SêS/ð4Pá=(Eo=`—<˜`CÃ`Z\jXãL+ü¸:”rå´Â÷*¢7à ‹Š‘Ïm®x÷_ì ò‹Ÿ^ã΢ˆï÷óÉ ïF`x9f1Ò»‰ÚóúœÚ÷•±L4pì(•§• u¹”~À°øðl±š™[->÷“Ïìib ·ºMÐܧù#ßû¡`M¹(Ÿ-5îË]Ÿ¦N<ðæéy3Vwüm ¸®!¥’Ž/8Ç óùhyë|^ËŒV‚õIŒù¼F “×£ûì1,Bçs½¦ÈÂWߟ×Ý{@=›Èí)|Å+xÛE÷ÅÇâ’õ ð¥WDiâ«ÅCíÄD­\éŸj¢.? å„6XÒ(â–û¢ó¾¼Ê*-ts~I|ByEŽQ/÷Ö™ #ho.וG¶ˆ’c‡úz1 ÌXø´L¨Q1–—rôÓòqh—ëåúæ›Var~Á6úWðÚ®¦ ˆr¹5êѯR/ÃŒ×%nÓâ z „n£{’J~o}¾wñ•ûx½í÷Dm‘ôZldæ10k÷·³øè:ÜS𥾢B4Rëz†° ³³ÔµÁÜvËŠv¨Ï_÷~Ôë\½ûóQ¿XJcAµ~¶À2–‹e}>¯»ïøÑ‹Œ·« Zߟ7ÐË,oè¦?ˆ[js¿˜-^.HÏUæó4îÞ©8EýX·xûoK…O¹8’L_c=×íÐiÛ îZ¼–Š›û¥œ²P-¼ps~Iw-~S9y\ðd)C<à ØÔb 1ÿ%Ÿ$˜-EöDy-Ÿ ^¨à…¢±¼ýz_¨às~SŸûâ‰ú@9÷é_©'>Ûë­–œnðºôg|Ùr»øJ}-Þvì2ì õ¤×úºür¿êÓ¢2 Ú% W±øžh4;ëFÃb©V`㟯iñÑÕÞúd4ž%E@' T¢oîkyo¹[g…nô.–·7Ÿ‹³ŽÀV,³±Dì]õÙ`ñ ¥Q¾xù àËX^,÷jóù@ ½´¼a¬/õ@d)ÆÜNÄzÀX¿çNVlK€‘ÿ;±x£`/ôrç–ß”—— õjñ9VPÏcÈð‹]3 #®fñ1æ6䀷×ò³¥haH°±ÌkY¼Ñ½‚*cyÔGtZX·~& òÖ=•å6[|×rñPðQßòLXîñlߺ§#;ú+¼–Ňœ¤D€Ù2Éry[1óhCñ¡xY»0Ý{ÅòeÃX¯Å)Íý@D†c¡—õws?4Vw-^.X8ß]Ô+kóÅâ»c®ø|ƒ?æó ÛÝg‹·ù­»uÓÝc«´¼ÿVѽ%áBÔÈõŠåÆ|^C’\z ¡óù\Ám›Èž6׳„º²^¯X¼0«fÆ'Æ(Ì ” ¾òe•e‘•µÃqÌÞì­×–½uíSŸú/­8¹Ê¯x;}êòÊòêÈj§îGÇ¡â}(è°”ò5`Ã… ya¹É 7ª íœG­" (ñˆ5Ü]†þHTN¯£ëÅ-on?Ï2Ö/g^ͽœèý\/­³Ýî*±^ÒRë©rsÝn,µùië¬cè-€JÀŸíïÑðM½åÙcÃ_[ËYëôìì)’<<ÑYY¸Z—԰И ˜þÃoýÖþÇçNO€ì(›÷·Pæ(H')í©PÉ n$¾)8àà£2ÎG°ç^çÜüëÕÐâùãÇO-"Ç-ú´ÅØ“£ßy|íø>¼PÍŸ?ïK°[þÁ5–ìÕŸÀ¶â øÍÇ Õ e…5ïY~³ãrk¸s¥]á!Ã7¶_Yoëƒ>þñ·gf^Xl ­ò¼W«½ÒGLco\ßœ`%›GêïÖWFÚíÅ3¼m륗^ÊO™nCò¶Waœâ¸±øñó+ïçÞÛZòǹnâ ÞIÎè݀ߜ|(2žœœì=~¼óûy’±uœo në ’^¨WèMßøþÍÍx'îXv‚ìF™wnDôï<™í*Å7`WÙùÎCvCÞy2ÛUŠo(À®²ó‡ì†¼ód¶«ßP€]eç;Ù xçÉlW)¾¡»ÊÎw² ðΓٮR|Cv•ïß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óûÜÄ7„bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ %)ÿŠpIDATXÃí—[Œ^UÇ{Ÿ}.ßeæ:0íÐ褷 Bű¡  P ¡l|0–#Ôúà‹ñnàIc Á$¨ÔªÑP.š(¢€ʵQš ±е´À0Óù¾ïœoŸ³÷^>Ì€ØtHE^X/kg眬ÿþŸuþë¿á½x—CÏC!´ÖˆÈ°å•}O¯o¿r`ÌûÊ„ ˜$sÁáÝëÎzØ®”šxãÿ Y;ùÒÞm/eùË󀘗©ƒûÇï¿~ëˆNj£T¨ÊþÖüá¯/0Ý.ÈËŠC“Stmz£Æè—só~Bã”Qž;ø:UlåÑ&bïã÷ÊÔç·Ýæ¨ßmdçOoXSëoI¬."–,‰]»Ž-[>MiV|ûzüàŸýÂWiö5¹êc—põ% 0^}õ5^;Ò¦Û¶ÄqŒŽ<½Ü28tûwýnˆŒ(¥&æë-ã;ïÃ;§|8W‚Òˆq›Œa|ªâdÓ›8÷ü‹xæÅ×ùåãÏàG¼CB@$àzÇdµŒª,ÕøÎû¶ÌËÀ¡½O­¯÷õãŠnA£¯N¯[ÐÉKþ|ÏmŒÿÅ‹«•Å»’¸¯Î÷n¹•¡ÁYšPCZ¯SÙJEDIŒ&_|v=pí1t'yï%Î2¥[–D‘¦“¬;¥ÉT7'^²ˆz–2yø0ÁWøÊ\…:ìyâO»ùÜW¾ÉèÉ\±nEžSoÔp. ´Á…äS‡ÇæeÀõrDa{–f³I·Óq’pb1Ô4ìGàñïà Áá+Ë«—óáÕÃl[I+…$1‚Ž4Î{Ò4UÞæf^ÞSk60FS––ÈÌÊ,0»6 ï*¼«Þæ²w!xNhÖlÆ4Ó˜n;G|@!h_¡#…«ªù…(k¶\>3#yÞC+«°€æ‚AL³pÖ3» í+?té5ÿxêq©ªJ‰€‰"t¤4÷=ñ4“ý]²Zsͼ£*-?²–+Ö¯cøÊËØñãŸqÞê“ÉZ J 3=…R"Ë>x±¶Ï @)51ùÒ¾=ÏþñWg.ZDU•Ô"MdRÛõ 7þâ÷DÊá{9¡* ®ÄU=ƒ-Îßð)>ó‰ ¨àùuÎ^9ŒH@Eš4©Êœ‘s7îy« Î7Œ¶.[{Ñ“aúÝ#mŠž%3ï_}—ž3Æó‡¦)Ÿäs*éƒ0ºl˜n¼•®­¸àÌêiLe+jM…ò…£ëÔ‚¥+¶mNŽézywǽߺꓶWèH©DÊÀt§K×–¤Æà|@% ®¬pÞ#4ú›tóâ*Nl‘ƒw•˜$ãã×Ýy‡ÒæÊã7$/ï¿ïú­#‰I‰ë™Ò"ØÊªŠ$ŽÐ>Ðvž¾ÖùÌ4Zk’,£èäˆÒ(£ÖIšÂE_þÁÄÀð©ÇoHBœ0|êòË®Ý>' ðL4g»Š.x²ZF’$¤}ýX[Ⴠ‚ÈhªÒ‘Õ36|퇫†O]Bà¸h­ !ÐZ¸tùe߸íŽWŽQ´gD'‰¸ÒÍYt0IBY•”¶$IS’,#k6¤,º²âì ÙtÝÏïèZ2¯ü¯lùô?Ÿß¶ï±_¯ÙûÈÝÔj5‚’LÕg'žˆ÷JEŠ%g]ÈÊó.ßÓ:yä³åo{1ÙûôúΫÆòNÛ i­ášCKÞÑÅä½x×ã_þ)ÙšC2ðÖIEND®B`‚./chessx-1.3.2/data/images/chessx-64.png000644 000765 000024 00000020255 12117557125 017342 0ustar00nistaff000000 000000 ‰PNG  IHDR@@ªiqÞ CiCCPICC ProfilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óûÜÄ7„bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ %9â=ëIDATxÚí›{¬egyÞßeÝ÷åœ33gì»f°oÁ¦ׄ$ÆJB@…6)$­ÀQŠD[W¦IZ7DVU¯ ˆ$@I¥H%4U)—¨8 cÀà;Ø0ñØãÛÌœ™³/ëö]Þþ±öŒ‡4`Ï; ú“¶öÞ묳ô­g½ßû>ïó=žÏçÆsã¹ñÌyFÎ}ºC=K7¿OD®VJ] \ ìvþ¥Óû;Eäf¥ÔMJ©ý?tˆJ)DäàZàšfvtúØ7¾Êìáûåð÷©n~„¾kØÓ;O––˜¬ Ú8ƒjó,ÙÜw¡:ãüËÈGkÛÀ€÷)¥î=~íHŽO.Æø³J©w´‹íKöñÜ÷¹OÐΓmÝ’äIžá\µ ÍöDi|ï•9Þ÷LvŸÅž‹_ιW¾Š¼šÜ!"×k­oü~ñ} Æx‘RêÃóC_ðåÿõrä›_RI’Óui–”2ô]GV$eN‘¾ïÀ;Œ²Ø,a6›“e9£q@=_°8vŒ}/¹J~ôo¿IMví½WDþžÖú®¿vN ÷w×_wË{§Üó*Yß±F=›ÑÖ-eUC JdY·£ Ú”‚,M@‰ –ó9kkk(4.8Œ±Ì·g$IJ[/Ø{éËËÞx½2Iú¥Ô[žn4¨§™Õww?tû6ïøèÆ5]Ý iÆÚÆõ| m4¾÷$yŠk:–mO^•äEŠwBèÚ!"¼§oZÆkS¬µ„q>з-i’Ò:ëZ\¼òýkö\råãÀ…À‘ÓA? ^<~ëÿÝ]_ùÐïáœ=ˆÇ&†à{‚÷Hh£Á{ŒµŒÊœ¬È1IÂ|¶MšeH´uóï…Å|AŒf¾@‚ írI’¦ŒòŒ[þä|õ#¿¿ x|5—g€ãUJqÛ ÿéZõí[nT>ÀŒ1ð.".×õHpÄ(D߃‚4Mñc<‘$ ®ïÑFC€èIK@ Y‘# ª*G)E^•´ç[7ß >õ;¿ªDä¶ãUÏ8"BŒñE"ò™O¾ãŸÊâЃJkƒB!Áò¬À¦}Ûc$Ë3¢@TïcYlÏ£5ËÅmò<§ ‚V ‚`­E|Û£µ¥ošº¦(RÊrÄcq¯ºé]× ÈgVs{f8¾æ•R_ùôïüš{ü Š> 1"Ä>ƒb ´- éBÀ{J#>`!ƈ|ß⺎z¹$¯Jú¾'„H½h@`>_""оmp]wž,KéÛéËåœ,ÏX>¤núÝ_¥ÔW€§ÂS`•dî¾í#¿¯‡(‰ž´H‘(×ã%¤›&‘Ö¦øÞ!¾ÇhóPô}Kš¥¤IBb-Îy´R,æsP ÑPŒJ$lb(«×·4‹%Á{bp¤ÆC×÷Ì; îøÄûp÷©$ÄS‰€w?tû6ÿâÖUßOC+ƒ5 cÄ9I,mÓ•&ËS¼ëÉŠ‘ˆµ ×yÒ,Cé›xç(Æ#Bï0’ÔÒw×9´!z`¬!ñAð"”! t]G’¢|éSêÛ~Ó¦ˆ¼ûûÀjÝ_}Ý­ÿã÷ˆ^¨ëåpcD|“§­Q€Â CöBCZdø¨éÝP¬ÕHŒh«ˆ!ÐÕ F+´h¬É•9¾kÙ±c‰‘®wÊZbT¸ÞC8ïÑÆ"Qˆhê–Ïð]×_c¼è©,ûTB_D>üçÿó½bA5QÈ‹’¦®™NÇh"‘¼ÌYlÏQ¢pÞÑû@’ä„ÞÑ{O*˜€ï=>8dÑ­iÚ†¬”záÓ@D‘ŸÝ~ì¡ î»åF”J)ŠŒ¾´Â÷e-ÄQåÕˆn¹›o=ò86¹Ÿ®ë1ÚÐ÷/>ÿÎÛ³Æ(ר $¤yÉb¾ 1–¦©)Ç%mײ6Vc>óé±8|‰žƒ?Êë^÷Ø»14q”0UcèúŽt•;fÛ[,¾úy5{õÁ V}Éß+'اðôßñµþ¡˜$U 1ÚP× Fã1Áj…ïºÊQ!p×1Íg¿~ù| Fæ³m^õ²Ë˜–—âª@2e¨ÏéÇ9O™%¤³9ãªb}:ÅÇH{l›ÙlF ÅbÉ¡YÍ£³†DÃÙgþ Š"¥©k´µ€¢(sêÙ!¦››ÜsãËKßøÖw(¥n<í "tËù%¾þTˆ`´"ͬ1˜$%ö$" ¬1$6A)0Æ0ª ª"§(rò<ãð¬á¡­%¶–üéÃÇÎx ý¾—#/øI&/y øÉÛÙª#[uÇ¡ÃG@†¥uòkÑf­C™„àFmPXΖ¸Þ±s× ‘‡ï¾Eõõü’U[~Ú9àÚo~î£Ø´c(ò ¥4I’bÓ„zî16CăÒhü‰Æd˜´0t9‘í&ððÖ ‘?÷Ó/ãÍ¿òˆÓëüö¿û·8²`/#Ö‹œÄgHŒˆ$ ®s'h·ž$Ïgð^ÐJïãõì¿åÎÅë¯Þrº\³ÿK7¡­¡ëZ\š ~¸Én¹Ä&Éê†k ®mŠ«‰‡ˆé#´.Ð:ÇùÀŸpóo¢G"YšÒûÈÖ²#Ó¾3w¢”^ÝøêåĵµV¡éP£í5ÕdŒO×9Ò"'zÏý·|Šó_ñúkN Ù×/¶§[í§œ¬‘¤ }çh— Yb¨»Ž´È@ J\ïÐi‚Z5˜Ç³³Ä8ÐdàÖ{0Ê “Qέïç袧O¬ÅÏÜvã<áów?ÈBÄÕÓg¤´Öˆ@D¡R‹±–ålN–dD‰„Ól– PB·ÜžŠÈ¾ï&¯Ùï‘ý¯~ô›·‘Uc’,¡ÛžSŒ*êyƒRÆ&¤ÆÒ7A’’xäñC¼ý·~‹®mV¼ røÐaÞþÖÁ¿úÍë‡PY…¿Ä¡[>¯É¨äª×^ÄQ‚DP ´B[ƒµ–Ñtz1G)M,ËÅe A"6)Q8Žì¿›3/ºâjù£¿ªØï‘ý¯|üÛwI5ªÐ5ˆV”U‰ï:$ I:J€q®£î=o{íåÜ}ûŸñè¢ç‘#3öou|ëÀƒ4G§®—ˆD¢w 2ÜtðDžr ‰£FÓ1Ñ9bôÔuX3Ly6›±g÷ŽU„2'ŠIUa´"øh޼Oö\ü·®TJýѩ怋=´_¹¶&ÆHšXŒV(¥ÈŠœÅbŽ6h0JW<ߦ Ó*C'–ÝÓ‚‡g!v¸¾n>„ËâDHDª¢Ä@Û¶üÄ—cw^Dˆ=tÚœÖ&;'kUNž¥t®Úê  J ÖXB 8ç>²<òˆZ)ѧ\÷E·Ä9÷ž¦ë¢QZ¯&- !†ˆVz•ž"™Ñœ±1aïzÅù{wgö;²ù‰>ò!CVïMÓð×ýCöž¹Éîµ’ ÏÙÅKÏÛË¥ÏÛÅæ8c”%¤iÆÑC‡ "„ÕÿeiBˆ‘å²&Ér”(ê#³’áO¹ ìl¶ âFÃÅê%Õd2È^"(Q¤yA×Ôdy¬6¬O+ŠFSæ)‰RC2 ûðb¸ÙU±ÿŽZ Çc( J-g®•œ³k37*r kU1Åõ£õP‰Ò”¼,Ù>vŒÄh¢5øzÆ_±ñÔÊ`_7$yA©m×¢µ&ƈ1š,Íüê)t•¢´‹šéÚ¥œ”ø†zVË!ž(uÇùÂñe2ëã‚͵ŠçïÝÁîQŠRñ†0Ï«‚¾÷,ŽÍXß½sàμ'„@ˆrúÝ`p=yžá%â}O–Zú¾'Æ€ïÖj´VC——$ˆƦ$‰E' z•°8QÏà‡'¾ËjyÄãïá‰ï(°Z3Ê3Bײ6)Ñ!t¼éð½§ï{²Ä’—¡ï©·g¬OGô]OQåçN€¤á]Oš¦˜4¥kZ¢(­H²c‚ƒ´J âc% Ñ/1ã*üåx}—9àøçA «|1F¼÷ÄYÔ i‘Ó¹A3t®Ã*ËÖc‡P(š¶A#4m‡I Ö¼ëO€Ãådƒz6ÇuÄHÓ{Dé•F1Ò4¥÷ží£GÑŠU’cp~E‡Ã ZüiH^ñx½B<‘¥UhÛŽ®ëïñ"¤iB³œ“§9³ícyÆö‘-bÛEïÐ ]OÝËñ}ÇS`ÿdç˜$A”B¡¨ç ¬V(¥é½£Y6Ø,§*K´¶ˆDPÒ,A´Ek½Š€xµ '=ù€œ” „'Î!V+&£’‡k÷]ÏhºŽž4Í@[Š<ÇZkÖ§Sšež³÷½€Õ¦ë)pçÚY?"Æ|×| MbpkÐJ ¤EC×÷DºóCCâ9+®rRcs¼Æa·"QžøÛp~öm¢`“„¶mH“„®k˜L'Ôõ‚j<¦–=Ú|¬åȑãñ.PîÜ+À§ÀŠ ß<Ýû|E ¬on‚1$IBV( 1š4Oéœ(¯ÖØ4Ç9‡R « !øA!ÆUG°zÒ1FâñüNæx"´ÖD6/Ðiе Áyb4š$ÍéCÄ9Ũ"Ë2¦äYA Žõç]¨Däæï&éïF…•R7ízþ¥º®£* |ðXkñ>‚ ,Žn#qØŸ }GYäC·¦Ò¤OÈVC;99žûã!a(U9´ÞÊh¡ëJk”¾GmÛ¢&+JŠÑfˆ¶ 5^ ™Ñì~Á‹Xy Nm (¥ögÕd»Zßͱ­-Ò,Ãè¡Æ›$cȪ‚j:¥OT›¦Ã6¹Ârˆ¨U8ÁÉÚò²ˆ+0ÆeνúMøxlîùß_}€ÇÖ|l‹eÝãCZq õ|NžY…¦šL)§ò¢¢Ü}Åtcû{-žLþÀ¹W\Mbše34C!à]‡5†¶éP"…,³h%$Æ¢ŒEDá:·âüCÄ„G¾³×—¬J_Œ(—œ._ùøðż—_~Ý+yôØ’#‹Ž#Gç¥˜Íæ(e1Ú\ YÌ ]ÃrvŒn¾¤^.9ëEW±2Xœ¶"ô¾¼ü5×}㦠õØ)’Ì¢U‚V®w$EFW÷Õ˜®®ñ®å¾ñ±/ÞI’fÜý­Gùçoÿ÷Ôu}í=‰Ÿô9ŠpùEÏçï¿æjš®åðÖQB4mÇ#Û5{ú@ZZ”µìܵ“(c¢x–‹š,ÏÐVÓζYŸ®ó¼+^ ð¾Ó`eK¹c×y—_üà_RÚDÑ-gý %C§FØ$Å9Ç­÷<À{ÞÿAöìÞùµýª~¢ó ÁÑ"›c^û¦·òæ_zÕ Ô„íÖqøØ’|JÓvd‰E­(zYd¥&M-EU¡•°qþeRŒ×îTJÝûtDQDäúËÿôƒÜUeU¡ÐCÝ_ÙZ"¤)͢ŋ5k5‰5$VaŒÂMb4Ö(ì‰c «‡cF+nþòíTþ;7¦LG“ª O-¾wô]‡±ÖÐ6-‹EMY 4U•¡Œe¶u„D.|å5JD®²Í‘'•ÅEäÞ}/ý™ó¸íó*Mó¡‰Ûž“&)ÛGuz±`mÇŒQ\òü=\󋯧ÂÖ¬fÙü¿|\þ’KCd8¶{}Äæ¤äã7|–}ì“«ãÂçíe÷ú„*K黎¼(Ь¥­k;FBøÀú L&›g}ãÉ$ñ§äYEÁEÑ÷w~ðWÿ›{vcPzô YVà{‡±"ë›;i ³eÍþ‡#æ>²ÅvÝ"2t‘‚"ø€²v J! …Di…’¡ XcÎÚÎ1)R6§#Î9cInpu‹6†éú"F+¼s¤eΫßþÇh›\¬”ºëÉ6JŸÒÖp—ˆ¼çÊ7þúuwâý'Jœ ¢ªp]FÑ55ĈØå$£Š\Góš[.ÿùk¸ð™4H‘¿ú_¾W×vIïZ’²hqde–Š$µ«¦´µ4ËÕ`nˆ•.Šœ,gÛÃ4ze‰6\ªÉ„4O‘I’ £¥Ð6%I‡sÊQ‰.Ærõ?{—‘Ÿªcì”8²"æ)¡m†k& J™AZO,YQ2[4 `4Q”!8&Ó ®D üÈ¿Z^~ío‹Rê²Õœž=Ÿ RêkÀæþü?>tÅ/ÿ&¡í{ºÎìNtbéçËÁ7’˜Ut8¢€6¥4>zD âªë{LjW”YØØ±Ád} cú¦Åf)ijxé~ƒ—¼þ-‡€ÍÕ\x¶`µÞvŸ}ùO½çþã‡9ãü¿)¾] …Á0“Z"ƒåÍhƒˆ¦*‹AˆÖƒ}.ÍKæ³9£rDï=Ñ;|8nªò(£‰Ñ³ë¼Ëå—Þù1ö^ú²÷(¥v?—è3b–ž=~ð‚{þì¿Ê·ný¤šìú·ËÏLloMÝÿuŽ=p>pŸ ‹-ŽÛb9›¡!-ÇäÕ˜é®3Éwž%g_x¹Úyî%äã¢Lü°þdæY?¨?šzn<7žÏÿ¯ÇÿêbÖ[•p ÑIEND®B`‚./chessx-1.3.2/data/images/chessx.icns000644 000765 000024 00000361550 12045216060 017257 0ustar00nistaff000000 000000 icnsãhis32倃‚ .l‡†l.€ÆÂ»»ÄÅ‹¦Á«¨«§¨¨¾¨¼¤ ¥±¯¤•™Á0æ¡Çœ¤z«Ä1k½§£«œ˜£–r°Ám„¸§°…Éüù²D›­º‡…·§¯¥Êèè«j­¤¹†l¾¦®ŸÈìì¬e«¨Âk=0Ħ¯“¢®Ÿl•®È1¿¦™wtmmw˜Ã¦Ä¬¬°¯®§½¨ÇÁ¼»ÂÆŒ€ .l†…m.‚ƒ€€ƒ‚€0ezzf1€€ƒžŠ……’Ÿ“Špnusrnˆ–…„ljlwuslb‰„3œlm½{`_zšQož3e‰pn ˜‘‡ŠLxŽgwqxU¾ðç¤/iy†{x€ryr»ÚÔ›Dsmyf‹pyl·ÛÕšDrrŽe=3žnwq˜¡~Wcv¢3…ˆlnURLKScŒ…“Œqovytl…•‚ ‰‚…¡€€0exxg1€‚ƒ€€ƒ‚ 2aqpb2€,{‚d]]l„z†cHGOMJDaˆ~^EEFNLPN:52:>d}‡fHFMSLC_ˆ{…dZ^j…z€ 2anob2‚ƒ€s8mkRyyRvðÿþþÿðv£ÿýüûûüýÿ£xÿùýÿÿÿÿýùÿxéÿþÿÿÿÿÿÿþÿéPÿüÿÿÿÿÿÿÿÿüÿPxÿûÿÿÿÿÿÿÿÿûÿxxÿûÿÿÿÿÿÿÿÿûÿxPÿüÿÿÿÿÿÿÿÿüÿPéÿþÿÿÿÿÿÿþÿéxÿùýÿÿÿÿýùÿx£ÿýüûûüýÿ£vðÿþþÿðvRyyRil32 ñ‰“ƒFMNGŒ)|»ÕÜÖÔÚÔ»|)ŠŒÚØ¿®¨¬©§®ÆØÚŽˆ<ÐÛ¬¨©®§®±¯­³¥ªÒÏ=†DÞ¿§«³«¯¯±­¨§±¬¨ÀßD„ ?à´¡²­¬¨€¬ ­ª©­ª¨©¤·á?‚о£©­¯®«¬«­¬£¤³®«Ÿ¬¦ÂÎÚ›«ª¯¥¢ ª±³²¯¥ƒ‚y—¨® Ô€,ת§§¯¥¤ˆz™Ž†Ÿš–ïmd©€¨Ù+}Ϥ±¨±žªÿÝEnì^‡¢þiJ­¬¨¨Û{¹·¥¬¨¯Ÿ¦ÿÓ1RaN˵spovq|}{xmt°Ê?†GÒmt~rvvxrr~xue‘ÔG„AÕ~i}uuorswwusxusukÖB‚Ëiqwwxqqswwmm{vrgtm’É’¸`urzllfow|ywn_eUdqwf²’€.Êtqpwqk˜{TebZmh‰ãa?sprrÎ.«m|qxj£ÿß/Y¿§DUë^.xurp¹~´„pwsxk ÿÐ&AZJ0>‹é\.uzsp’¶!Âvrotrr^VuÉÕÅÃ̲†ÖU1zzqvÈ KÅjxvrqvo@”üâãÞ×Þk-NrzwzqÉJPºit{qry~f™îÚÙÕÍÜ~^erz||oÂPQ¸pxwvsyc˜ìØ×ÓÌØy'nlivvwr¿PKÅjptsxs€c–éÖÔÐÉÕw!dlillrmÃK!Åxnyrwt{d“äÑÏËÄÓy"lmpvsrrÃ!µŒq|uru‚g—ìØÖÑÎÆ](]mn{‚~‘µ°i|uuzzW|µ§¦¢ Ÿ˜’1ftvyp³.Ër}qr€]—³£¡;ކcr{}|Í. ‘²utlzmP<€7 44#50=gm}lµ‘ÉŽiuyvjaabba\dmaaqwjË‚BÑ‚j€{uvwuv‚sr{ppsc†ÖA„G×nzzyppzvp}srbŒÖG†?È·untot€‚wr{pu¶É>ˆͶŠsjntnx–¹ÌŠ+¶ÆÄ¶¶ÃǸ~+Œ"JRRJ"ƒ“‰‰“ƒ $LSSM$ Œ-³¼µª©´½´-БęfLFNHFQr›Ä’ˆ@ÈœLFGOLVWURWDN˜Ç@†IÊlCNXKNPYRKLWSO=oÌI„CÎYBWPOHJLPQNLSPNOD\ÎC‚ÈjAMPQRJILPQGGSNKBNDpÅ“ 8OLSED?IPSQPIFO›“€0ÁNMJPK^Žr9B@:HC|ÔV&NKLKÄ/“EVKQDžÿßJ¸Ÿ23×SRNNG €±cJQMQD›ÿË5TF')|ÔQOSNIp³#¹PMJNLMMNqÃ˺·½¤zÁKUSMPZ¾"M¶BSPLKPK"Œó×ÖÏÆÊ` 4LRRUJºMS©BPVLMSXAåÎËżÇq @BLRWXG¯RS§IRRPNSY?ŒáÊȹÂkJGDOOQI¬RM¶CKONRMZ?‰ÝÇľµ½iAGDFFKD³M#¼RISLQOV@†×Á¾¸¯ºiHGKOMKJ¹#³jKWPNP\AˆÜÆÂ¼¶­P?HHU]Wm±˜CWOPTV€A Àƒ ›   —0eŒ¹€¸¹ºŒd0” k½îôìßÖÔÓÕÜêöî½k “ sÙ÷Û»¨¥¥¨©¥¡ ¡®ÀÚöÙs ’ DÉùɬ¥ª°¬§°¯³±´ªµ´©¦ÏúÉC iò笠´²­¯¯§¥¯®®­ª¶¶¯¬¢œÝöhyûÁª±§³²©¯±¯±±©®¦¢¯±§ª¨¥¢ÆüyŒ!yÿ³Ÿ³°¬®¯ªª®­±¯°­ª¦°¯¯«¬©¯¥³ÿy‰ jù³¦§°¯«°©©ª®¬ª©««ª§­®€¨ ¥§®¦¶új †' FîÇ¢®¥¨±«¯¨¥­«ª®¬¯©¡ ­¬­¬¥ ¥¯¯¥ËíF †%Åࢢ°©¨±©®¬«©«­±®­­¦ ®®«£¨šŸª«¯¤ØÆ…) t÷¬§¢­¨®°¬ª°ª¦¬®ª¬«¬«³„cq^c“ ­¬¬«¦ôt „'"ÓÊ¡¬¤ªª°«hssp^‘¦«¬¢¥¨µu³ï×Ik©¦¨¬šËÔ"ƒ+lò¢¬¯¡¬«³ x÷ìûrcwjrl[€¦u¼óà>Kг¨¥¬ª°òl+ ¸×š³µ§«¨´£‚ÿöÿrDYËùÿ‹Ošp¸ïÝ7C౤©°¬á· +0è·Ÿ®°©«¦¶£„ÿûÿpBKKD$+h^¹íÛ7C‰­®¬«ª®½é0€-jò¤§§¦¨ª§±£mÏÉÐ_r‰~tms|‡Z½ñß8C²®©ª¨­±öi€Œé¨§­¨¦®©¨¬xO-BÄ€þÿþüôÿ˜ŸçÏ3Eˆ´°©¨ª°«ï‹€¹Ü¤§±­¦«©ªª¥nrÿêéèæäâàäË<'0e®³¬©¬¬£â¸¸Øž¢¨²¥©¬§¯«§—wöììëéçåäÝø` Ff€™¨ª¬°­§§Ü¸¸Ð£¦§·§©«¥²²¬|÷ëëéèæäãÞï]'v—›¡¬³©°´¥¨Ù¸¸Ï©ª­¯«ª«ª°³®|öêêèæäãâÜï]0§¦œ¤±®¯®©¬Ù¸¸Õ¢ª¨ª««¯¨®¶«›|õèèææãâàÛí]+tž¤¡§¢¨«§ªÒ¸¸àŸ§Ÿ­§¤¶§¨¶­|ôççåäâáßÚì\*wž¢Ÿ¥§©¨«ª¦ß¸€+‹î¤¦£¯¬¥µ¨©­«žzóææäãáàÞÙé\.z £Ÿª¬¦«©¦¢ìŒ€-iõ¬¯¤³­¦­¤«®­yòäåâáßÞÜÖò['{¥§ ª²©³­®¬òj€+0êµ§«²®¨­§«µ±¢€õééçæãâÞã¦>4N‘¤§®´µ¹±Àê0+ ¸ÚŸ®²¬ª®¨¯¹¥…fÝÒÑÐÏÍËÈæz»ÙAlŽ¥¨¯¬¯±¥Û¸ +lô§¥°©¦±ª³ªdŒƒ‘ŽŒ‹ŠŽu•—Ãâ8Q‹©¯­ª©°¬õkƒ'"ÔÉŸ¸ª¥¯«¸œmâÝÙØ×ÕÓÐÓÈ16¼É-B…£¥±²µ«ÑÓ#„ tô¤¼±¦¨§´­mQ9/00€/..).;22cŽ£¤²°±§õt …%ÆØª°¥«§®¯œpekgigbddi|yomž§§««¤áƆ' EîÅž¬¯§´³ ¤¡§¤¢Ÿ Ÿ˜˜©¦˜š¥ª­­¨ÆíF †% kù¬©±§¸·«­­ª´¶ª©¸®¨ª°¯¨¦¦¨¢¥ª»ùj ‰!yÿ¶¬©¹³ª­²¨­°¨­´¬ª¡®´©£¨¥§£¹ÿyŒyýÊŸ·´¬°´¬«¯«²·±­¢³­¦­¬¥ŸÆüyhó߬¤®²³¬«­°³²¯ª£´³´­£©Þóh DÊûÏ©§¯«®¯²¯·°¨«°±¬¦ÎúÊD ’ rÚ÷ß¹§©¢¨ ª©¤¦°ÃáöÚr “ k½íõíÞ×ÊËÒÜèøí¼k ”0eŒ¹¸¹Œd/—   › ƒÀÀƒ › —0g¼º¹¹º¼g0” m¿ëçÕ¾²°¯±¾ÕêëÀm “ uÛ캈pljruogjjy”»êÛu ’ DÍî¢winwuo~~|€w€qpªðÍC  hñÌtc}uwwmp}zyzuƒƒ}wkiÂôh {ö˜syo{quxs}€txplz~rvtqj ø{Œ!{ÿ‚d€{tzvpptq{}{vupz{{wxu|m„ÿ{‰% jô…kp|xqyqppsrstuvvpvysqrpowo†öj †' EíŸiwkrzsxrkrqpwvyskjxwyvnhlvyl¥íE †%ÈÆflzoq}ryvtops|ywuphuwumrehrtxk½É…) uíwpmuoyyorxoksstvutuzWO[KFblusttrév „'"Ô¦ivntqzvLa_[Eamqwkmt}T¬àÊ;G`rorwa§Õ"ƒ+nålxxkuq}mpüîþo>QV\XFTqT°àÍ42^}pnvr}çn+ »·b€rtnnvÿñÿo*AÎôþ‡2jM¬ÜÊ/,]zzmszvº +1åˆi{zqwn€nyÿùÿn )@B?BB¬ÙÈ.+Zs{vtsxç1€-lånprnrup{odÐÇÍ]n€skfkqzQ®ÛË/,`|{qrrx}ëk€+ÑqqwooxnrvR8>ÀùõóóðíãóŽ“Ò¼,/[~{ssw}wÛŽ€»½kq}vovprur`IjÿßßÜÙÖÓÏÒº6 "F`x~wuzylÈ»º´dlu|osso|wsdjñááÞÛØÕÓËãW0FWgrtx}{un¹º¹©kqsƒotso~{tgmñßßÜÙÖÔÑËÙSSghjv€t}„qp¶º¹§rwxztvtt{~vjoîÝÜÙ×ÔÑÏÈØSVqnel~wzytvµ¹º°hxttvvwpyuhlìÛÛ×ÕÒÐÍÇÖRLiofgohptqr­º»ÀfqjwrmorvklêÚÙÖÓÐÎËÅÔQMhmglonlrrk¾»€+Øjqlxvo€qv{tkkèØ×ÔÑÎÌÉÃÐPQjlitumsrmgÕ€-kéx|n~vouny{vjjåÕÔÑÏËÉÆ¿×PTrrhr~tyxsål€+1è‡qv{yswpw‚yooèØØÔÒÎÌÇÊ“6*6ailoy€„‰~‘ç1+ »»fy}wvxr{…oTXÒÂÁ¿¼¹¶²Ëk¢¾1H]mqxuy}k¼» +néqp|spwr}tO€x†ƒ€~{~hƒ…¨Â,9`rxwuv}témƒ'"Ö£g†tovr„faÚÏÊÇÅÂÀ»¼±*/£­$+[ko}~„u­Ô"„ vèn‰{onmxI<*"$"€#!",%!Dajl{}pév …%ɼs{lsnzye`KAHEGG@CBEUSNITmpptujÇɆ' Eîexwn€{grngqmonomgdstjdeqtwwmžíF †% jõ|syn„€qxvozwou…wpswxonptinq‹ôj ‰!|ûˆrp…|qyzmsrmy‚uujwrjqqpgŠþ{Œ{úŸa‚€tz~qqrr„}zj}zptxpdø{ hñÂxjx~{rqpx€|vm~‚vjvÂòh  DÍñ©rowqssz|…|tvx}vp©ñÍD ’ tÜëÀˆklakjrpkmz–ÃêÛu “ m¿ëçÕ¼¯£¤®¼Ñìë¿m ”0g¼º€¹¼g0— › ƒÀÀƒ › — 0i‘¾»ºº»¾‘h0 ” nÁêßħ˜”“—©ÅàêÂo “ wÜã¤hIBAILG?ABRr¤âÜv ’ DÏç‰P>FPOJXXYUZPZVGKéÏD  hñ·M<[UNPPILVTSSN\]WRED®óh }ó{IQIYSINPNWYOQHGUVLQPLBƒõ}Œ!|ûa=ZSNTOJILJVWTPMJSTTRQOWEbù|‰% jñcCLVRLUKIKKJMMOQOIPTNLMIIREeòj †' Fì‚@QFLSLQLEJJIONSNDDRQRPHCFOSD‡ìF †%ʳ>GSIKTLSPNHILVQPOICNONGK?CLLRCªË…) wåSKGOJRSIJPGELLNONOOR9AJ>1AHNMMOPáw „'"Õ‹CSINLSQ9SPN5?HINDFMT<£Ï¼0,?LJLQ;ŽÖ"ƒ+pÝGSRFOKVEkÿîÿl$7GKH55K;£Í»,?VIJPKVßo+ ½¡;[YMOHXHoÿîþk1ÌìõH5 É¸(?SSHNTN¬¼ +2ähCUULPIXFqÿõÿl9<: (,žÅ´';LSQNMQqå1€-nÝJLMJLOJUH^ÑÆÊZiwjc_chnHžÆµ(BVSKMKSYâm€+’ÃJMRKKRIMQ9';»ñëèæâÝÓà‚…½¨%HQWJMOJUSO?_è×ÖÑÍÉÅÁ¸ÍN /9EKMRWVQHž»ºFLN^KPOIWUOAaèÔÓÎÊÆÂ¾¸ÃJ ;ECEOWNW^LJš»ºLQQTNPOOVYQFcäÑÏËÈÿ¼µÁI;LGAGUPTRNM™º»—BQNQOPRJS[OB`áÎÍÈÅÁ½¹²¾H 3DIBBIBJNLH’»½¬@LFRLKZJL[PE`ÞÌÊÆÂ¾º¶¯»F 3CHCFIHEKLA§½€+‘ÉDLHSPJYKPWNF_ÜÉÇÿ»·³­¶E5EGDNNGMJG>Ä‘€-màSVIYPJPITWOE]ØÆÄÀ¼¸´°¨»E 9MLDLXOYRRLÜn€+1æhKQVTNSLQ]SIaÚÈÆÁ¾¹¶¯±€."%@EGIQ[`cVoå1+ ½¦?UWQQSNT`K2LIJ±­ª¦¢œ±]Š¢&/=GMROUXD§½ +oàLMWMJQLWNAso|xvsqmo[qrŽ£#'@MRQOQVMáoƒ'!Ö‰@aNJPK^DXÏÀº¶³¯«¦¦›$(‰‘€t€v wvwvwwvu€>Ú =n‰ o=Ô€ z= Gƒr„uttuuvrƒG =z€Ïz=G„q|èùÿúè|q„GyHv¯ÿþ€ÿýøõôòòðïðñòóöøý€ÿ þÿ¯uHy>Ç7x<Hu¯ÿþÿþùôðíåØÑËÅÃÀ¿¾»¼ÁÀÃÈÐÙâìðôùþÿþÿ¯uHªÿþý÷æÐ¾ª©®§­²­¬«¬¯«ª¯¯²´²­©²°¢¥±³§ž©®«´··²¨¨ª±Íê÷ýþÿª>v¸Ej#vìÿý÷çÉ­¬³«¬±ª®´°­®®­§¦¬±´²±¯«²²©¬¶·²©¨®¯´··¶³³«£©¶Ëéùýÿìv$j¶GBH ­ÿüüïÇ©¨¥ª¸°«¯§¬´±¯®­«£ ¨°±¬«±³´´³´µ´µ¯¥¯¹¸¸µ´¸µ¬¦©®«µÐîüüÿ­ HB³KdBõþüùÞ»¦£¬ª®¼³«®¨©®¯¯¬­­¥Ÿ¢«¬¦§²·´³´²¬¯¶­¡®ºº¹µ³µµ¯¨«¯©©¨±Ö÷üýõBd²Ij'—þÿüîϸ°¬«­ª±¼²­²®¬¬±¯­°±«¥¡¡¥§ª´¶®ª°°¨¬³ª¤®¶º¸´³³¯­­¯­¨¨¤Ÿ ¿íüþÿš'j²Kl(±ÿüøÛÀ¶´µ­¥¨¨­»·¬¯¯ª®³­­³±®­¥¤©°²¶®£¦ª°±¨¥¥§°µ´µ´´²¦ ©±ª§¥£Ÿ–¢¼àûüÿ±(l±K³ÿüöÊ®¹¸°±®¢¥¨¬½¹«­­¨­³®¯²¯®¯«®²°±µ¦Ÿ¬ª­³¦ ¡¥¯³­°µ²­¡Ÿ§¯©¢¡§Ÿ›©®·Ööûÿ³°M4ÃÿüîÀ¢¨º·­¯±ª¨¨­º·¬®®§©±±°±°¯°¯³´¬±´¥¦³­©¬©¥ŸŸ¨¯¬­³±ª£ª©­®¢Ÿ¨§«°®­­ÄðýÿÃ4«/Küÿüæ·££¦´¶°°³­¦¤¬º¶­®¯¢£°°¯°²°¯®²·²²°©¯¶²ª€¨"¡š¥±°®±±ª¨°§¨²ª¥ªª±²¨¥¨©¾éüÿüK§Ul<ýýü㲤©§¤´¶««´°§¥ª¸³©®´¥ ­®¬¬¯®¬¬¯·µ¯«­³·²©©¨¦¦ ©µ²®¬²¬ªµ¨¦°°®¨¢¬²«§¬¯¨±àúýý<l¦Wi'»ÿû㸩©ª¦¤·¸©¨´´®««´­¥¯·«¢ª¬­¬«¬«­°°±¯®²°¯¬§­®ªª©­³²®«³®¬´©¥®°­¢ «¯°¬°³§£µâûÿ»'i¤Ye&³ÿüද­ª©¢¥··®­°²¯ª®¸­¦¬²ª¥ª©­®ªª­°­¥§®±°©¦ª®¯²¯¨¦¬¬®²²°ª­±«¦©ª©¦§¤£¬¬¯±¤©²¸ãüÿ³'e¢[A±ÿûæ³§­©¬¬ ¡¶µ¯®«­«¥°»­£¥®§¢¬ª­²«©«¯¯¦¡¨¯ª¤©±­ª®®£ ««£¯¶§£««®¨¤§©¬ª¢¢ª©ª«¥¬²­·éýÿ²A¡[F ›ÿü§¨§«¬Ÿž´³¬®¬­©¢¯º« ¤®§¢­¬¯²ª§¬¯±­¦¦®«¨²±¤¢§©¢Ÿ¯®¤®¶¦¡ª¦¥¥§¦¨©£¡¤®­¥ª¯®­­¨¿ñûÿ› F jEÿþ÷Ŭ¯©§ª­«¡ ¯¯¬€±,¬¤¯¸¬¥¥ª¦¤«ª¯±¦¥¯®¬®ª­°¬­²«¤£¡¢¢ ­³®¯²ª¥¬ª¤ª«€¤ «®ª°µ­¨«­¬ÊøýÿDjžr% íÿûÕ­ª®©¨®¯¨ŸŸ€ª°³³¯¥«µ®§£©§¢«¯±®¤¥®ª­®«®®¨ª§žŸ ¦­¯®«ª®³®«¯«€¤¡¡£§©®¶¶ª£­³®´Öûÿí %r_=®ÿû߸¬§§¢©²®©¤¢©¥©³´®¬¦¨·³¦ ¬¬£¬²²¬¢©¯­®°­«®³±ª§©§¢¥˜£©®­¦«³²®¨©­¥ž£¥¢¦ª­²¯ª¨°²®µ·Úûÿ®=œakwÿüë¼°­§Ÿ¬³±®§©«¤ª´±¨«¨¦·µ¥¢¯®¢¨°²ª¢­°ª®²³­¬³±¬««¬§¥žš¥¯²«©±ª©¯  ®§œ—š›˜¡¨©§¥«¯¯©©¶­®çýÿwjš1Bìÿ÷Æ®±«£™¡°°±­£¨®¦¬¶°¨­©¦´µ¥¤µ¯ ¥¬­©§±¯ª°³´­©€­.±°¬¨¥¢¢§­¯­·¸ª²¶£§³­£›––˜£¨¥¨ª¨ª®¨«±©ž»öÿìB™6D«ÿý߯­¬¨¢›£«¬±«£¨­¨°·²¬­§¡´·¨¥·²¢¥«ª¨¬µ³©®³­ªª­ª§±²¨(ª©¦—£¤›ž–…‹“’›Ÿ˜—ž§©«¯¯««®­ª«¬¦¤×ýÿ«D˜eu>ÿÿðò¬¥¨§žŸ¤­´¬¤§®¯°­¬«©¡ž±·¬¥²±Ÿ ¨¬©¬´±©¬®©ª§«®¦«°ª©©°­¦¥t99@;:412+F‡™Œ•£§­±¯­¯¯®¯¬©¬°¬¶íÿÿ>u—e=³ÿøÍ°³¦£«ª¤ ¥­±¬¥¦±²°ª§¬¯©ª·º·¯¹¶¥¦¬¦¢ª¯­§¥¦­®¥ª®¨¤¬±ª¬³­¬©L%etijimp;o‡€”›¡®­©©«©ª¯¯§¨¯©¢Íúÿ³=–gu=ÿÿ籪«¡¦­«§¤¥«­«§§±²±°ª¡‘ˆ‹ŠƒŠ‡}€‹”™£©©¦££¯²©¥§©¤¤­¯²²©²¬JSÝ÷åçæîð‰#]vzŒŒ”¥©¤¦¬§¡§¯ª¦¨¡ ´éÿÿ=u•#;³ÿ÷Ȧª¨£­°©£¦¥§°­§¨®°²´§_$-20/-,€-@ /z——ž¢¦«®´µ®¥¦ª¨£¦¬®§¦±¬PYçÿñòðùû‘"Mio{~ޤ¬Ÿ£®¨ ¢«­§¡›£«Ìøÿ³;”!=Bÿÿé°¤ª¨¦°±¥œ¥§¥°¯ª©«°´µž>>Ÿ°¤¥C¦­oe‹”œ£°µ´®¥¡£ ž œ™œž¤´¯ORÚ÷àâàèìˆ=\bnu­³¥£¨¥©«§¬¯¡–¤­¸ëÿÿB=“!v|ÿöÌ¥£«ª¬³®£›¥©¨°°­¨ª²µ¶¢HmòÿþÿCþÿ¸,U}އicid`[Z\YS`€Œ’šŸ³±NRÜøâäáêï‹0MYlw“±µ¯©§£ª­¨±´© ©µ´Ïöÿ|v”!HøÿŸ§©±¹²¦ž§¬¨®°­§©´µ¸¥IeëÿýþüAÿ°&Dkwˆ` 6H@A@??F4Y‡Š“§©LRÜ÷áäáéí‹%BUk{”ª²²®ª¥¥£¦±¬­°®¸µ¶ìÿøH“kwwÿø×«¢¡«©®º¹©›§®¦¬¯«¨ªµ·¶£Gcêÿúûù÷÷ùÿ­"5Zk€O5·âÑÓÒÒÏâ¸0C{~‡Œ›žIRÜöàãàèí‹!=Qhx“©±³­««¤›Ÿ«§­²®³µ´Ûùÿww‘3;¯ÿ󽦢¡¯±³»º«ª°£¨¯©¥©´¶·¦Hcëÿùúùøøùÿ¯ 'J_vJIäÿþ€ÿ4þÿäB6fq}ˆ›™EQÛöàãàèì‹!UjT&)3*$!-KYfr–£JQÚöàáßèë‹:New‘§­ª­¯«¬°«ª«§¦°°²²¦¾ôÿ°;-Fÿÿ謩®£ž­¬§§­±©Ÿ­²¤©¬¨©´·´¥Jbéÿõöõôôöþ±#4€A?9) €1)5@H^k/QÝõÞàÞçêŠ:Peu¥«¬²¬¢ª¯©§ª¦¥°±¬®«¸íÿÿF$={ÿûؤ£©¤ ¬®ª£¦®©¢«±£§®¨§³··©KpöÿþÿFýÿÂ-(),574/,)&%%&&$%())0-QÞôÞàÞæéŠ =Oe€š¦«²¶±§¤«­ª¬©¨­­¬²´¹ßúÿ{=1vsÿöÉ¢¥¬ª££©­£¡¨¨¦¨°ª¨«¦¨³²³©CKÁÕÉÌÌÎÐÌÇi¢ÝÃÀ¿ÁÃÃÄ3ÂÁ¿½¼·Ã³KN×ôÝàÞæéŠ!>Nf„ž§²¸³³­£¬¯¨¨©¦«¨ª¶µ´Ôöÿsv/n}ÿñ½¦®±­¢ž¥¯£ž¦©©¦«¬©©¦¥®¬¬«Y-2,+)'$':Içÿþ†ÿ€þ%ýüüûûøÿòiKÒòÛÞÛãç‡!=Mc{–¥´¹¯¯¬¢¬²¨£¦¥€­ ¶·²Çòÿ}nŽ1êÿí¶¬²³« ¡¬´¨¢¥¥¨®¯«ª«¦¤­ª§¬™u]PE;0".¨ÃÐðòîîíì€ë8êéèææççååääàñß\Wèÿôöôûý˜=PczŽž³º°¯ª ¬³§¢ª«¯²°´µ±¿ïÿê1Fÿÿß®­³¯¥ ª¸¶¬ª©¢ °·°ª©§§«ª¨ª®¤~qf^J_òÿýóíðïíí€ìëëêè1çæååáôâS2·ÝÊÊÈÏÑz$BSh€Ž¶»²²® ª²¤ ¯¯­®ª®¯¬»èÿÿF={ÿøÕª«²¯¡Ÿ°»µ¨¬±£šªµ¬¦­¬¦©ª€© ›†~vrp^&Qåÿí€ïîìíí€ë€éçææ€å0äáðæv",())+,4M]q†’¥·µ±¸²¢ª´¦ °°®¬¦«­ª¹àøÿ{=‹.vrÿöѯª¬¯¥ ¬¸²¦®µ§ž«¯¥¦®¬¨¬«¦©¬ ‰ƒƒ‰u1Råÿïð€îìì€ëé€è6ææååæåãâäãØŸ( .GYk|Š’¦³®²ºµ¦¬²¨Ÿ­²­ªª®«©·Øõÿrv‹2t vÿô੦©©¢¢³±¦¬¯©¢§¬ª¨¨©ª¬ª¦«°£—–“œ‡;Räÿíïîíîì€ëêéé€çæå€ä0ãâàÞûî^#,3Wit€†‡Œ‘›§¦¬¶±¯­¬¯¯®°¹»¨—ª¶®°·Êñÿuw‹/vtÿ¦ª¯«©¢¢²¶·µ¨¥¥¦¯¬¦£¤ª°®²¶®­« ¥µ§KRâÿëíí€ìê€é$ççèææååäãââáàÝñßW %7Ge}ˆ’—•—š£ª§ª±²¶³€§¯µ¸¼¨’§¶®«µÉñÿuv‹,wtÿí¹¨ª²¯«©¥¶²°³®§¥¨°±ª¦¡¢¯®®¶±«¬¡¡³©MRâÿ€ì€ëêèééææåå€ä3ããâááßÛðßV )BTq‰”¢««¦Ÿ££¤§¬°µ³¨¢¢±¶µ¶ª›§³¬¥³Éñÿuw‹wtÿ¯³«©¥ž­²«®±®¥¤­€®¨¡¤²¯®¶²­²¦ ²ªMRáÿë€ì€é€èæ€åäã€â1áààßÛïßV *D[t„”«¯©¥£Ÿ™¡§¬¯®²±ª§±´¯®®§¦°°«´Æðÿuw‹-wtÿ¯±¯­¥§µ°ª±¯­¨¥¯«¥­«¦«µ®¬´¶´³©£µ­MQáÿê€ë@êèéèççæååãääâáâáàßßÚïÞU *B[rz®ªž ¢›šž «¯°·±®²±®¬­¯§¤²¸¸¶Âðÿvw‹3wtÿﺩ®¯±®¦©²¯¬¬«²®§°¬¤®²©«´®¬³¸´®¥¤´®NQáÿêëêêëéè€çææåããä€â1áàßßÙíÞU )AYpz§¥££›¡œ¦°´®¦­²¬­¯°­¢¦²·»¶Áðÿuw‹9wtÿðÁ­¬ª¯­¥¥ª«ª¤©´­¤¯¯¦¯³©¨°¯°¶·°«£Ÿ²®LPáÿéìéêëèçææçååä€ã4âááàßßÞÙíÝU (@Um}¡¡§©ž ¤œž¥ª§¦¦¥ª¯¯¤Ÿ©¬±µ­¾ñÿtw‹=wvÿòÇ­§¤¬«¦£¤ª©¤©²¬¡«³­¯®¤ §®±¶·®«¥ž°¬KPàÿèêêééèçææåääããáââà/ÞÝÙíÝU (?Ret¡ ¤¨££Ÿ•¡©¡¡¥¢ž¢§®¬ž¬«±¯Ÿ¼òÿuw‹8t vÿôͬ¤¥ª§¦£¦®ª©­ªŸ¦´³²¯¥œ¡­®²»´«§¢®«MPàÿèêêééççææåääâ4ááßßàÝÜÙìÜV (?PcsŒ ¤£ŸžŸ›˜¤§£¨«¨ Ÿ§®¯«©¤«´´®£Ãóÿv t‹8vsÿöÕ±¥¥«©§¤š ®­¬«¦šŸ²µ²´°¤ ©¯´º³©§§¯­OPàþçééèèçæåææää€â5áààßÞßÝÜØìÛU '?Siœ£¥ž˜› ¤¥¤©§¤¬¨¥­®ª¬´®¨¬¯²³Óöÿsv‹#={ÿøÝ¸«§¨¨¦£š ¬­°±§˜›®·±±µªœ¥±¶µ®€ª°¬NPßþçé€èç€åäããââá€à2ßÞÞÝÜØìÛU 'AWn„’Ÿ¡¢§¢¡¨¨¥¥¦«­ª¬©¥§ª­­¨¤©²¹Ýùÿ{= Fÿÿç¼­¨¦€£#£¬©®µª ©´³¬°©˜¢´´¬©«©©²«MPÞþçéèçèæ€åäãã€áà€ß€Ý,Ú×ëÛU '?WpŒ¡£ž¦ª¥ž¡¬«¥­°¨¨­§¤©§¢Ÿ¦¨¨¯¹äÿÿF,êÿ𿫦©©¡££¨­ª°µ¨¡¦«´µ®¯¨š¦¶±§©«¤¥³ªLPÞþçè€ç=æäååäããáàáàßÞÞÝÝÜÚ×ëÚU '?XkzŽ£§Ÿš¥«™™®µ±«¤£¤ª«¨¬«£ž¦©©¬ºíÿêŽ,n}ÿòÄ«¦°´¤Ÿ¤¬±¯²µª£©¯±µ³­¥Ÿ«·¯¢¨­§¦¯©LOÞýæçæä€ãââáßßà€Þ0ÝÜÜÛ×ëÚT &BYi{”¥©¤˜ ©™˜®¹·§œ¢§ª®¯±±¬ª®®«¥¼ñÿ|n2wsÿõÏ­ªµ·¬ œ¨´²°³¬¤¨«©±²§Ÿ«·²¤¥­­©¯©KOÞýåççæçæä€ãââá€ßÞÝÝÜ€ÛÕèØT 'DYk‘¥¬©£¤§Ÿ›¨²¶°§¥¯±±³¯€­ °²¯§Æôÿsvo=|ÿù೨±µ±¤š¦¶´°²«£¨§¢©®§Ÿž¨¶·«¨­¬ª±ªLOÞüåçååæääâãäáâáßÞßÞÝÝÜÛÛØÖôéZ ,FZq€¦®©¦§¦£Ÿ¢®¶·®¥²´²²®©¨­¬®²´Ùøÿ{=0Fÿÿî·¥©¯²¬ ª·²¬²«¢§¦¡©¯«¤¢ªµ¶¯°±ª§°ªMOÝüåçååæää€âáàßßÝÞÞ€Ü-ÛÚÙ×êÖM(;Jfwƒ¡¨¡ ¤¤§¦¦°²´±ª³·²²±°®´³°²¼ëÿÿF+<°ÿ󾣡¦³¯¡ª¶²­µ­¡©®¬®¯ª¥£©³¶³²±ª¢­¯OOÝü䀿åäã€â8áàßßÝÞÝÜÛÛÜØäÏ‚P 0`|“›š¡¥¬¦¦®ª®³²¶¸µ³¶»¹·¸´¯Åôÿ°<2vwÿ÷Ѩ ¤±¯¤«²°°¸®¢®²°¯¯¨£§ª®·¶®°­¢«°POÜûãåääåãââ€á7ßÞÞÝÝÜÜÛÚÛ×ï»"#UQOXBGv‚‹”–™¦«Ÿ¢¬¨ª¯³·¶²³¼½º´´°²Öøÿwv‘Hÿÿæ²§¡¦­«°°¯°³®¥©­€¯ª¤¬®®¹¹°¯¬£ªªMNÚùáäââãáàà€ßÞÜÜÛ.ØØÙÕñª&‰æØÓì¸&9ju„ŒŒ˜¨ š¥­ª«®­¯´±±¶··±­¨¶êÿÿH’5;°ÿ󪢦¬«¯±³²ª©¥£ª±®©¦¨³±®¹¼µ²¬«¶°QZëÿüþýüüûúùøø÷÷€õ2óóòñòîÞï©3¡úçâýÈ)0Zm€„›«¡ «¯®±±§§±²°««°¨­ª½óÿ¯;‘,wwÿùÚ²««ª¦°³³µª§ª¥«µ¯¨£ª·®«¶º²š~Œ20©Ã¯±°€¯€®­­€«3ªª©ª§§ºÏñ¬/âÑÌæ¶$#Nf|ƒ›ªª­®¬®µ±ª¦§ª­¨¬ª¡±ºÖ÷ÿww“'Høÿォ¨¥¥®®¯°­¬¨¢ª·²©¥©³¯¬²¸ž= 13/$"36€3223‚2ƒ1.05#(ó¯/‘åÔÐêº#D[r€‹ ª®²°«©¯®°§œ¤ª­³ª¤±ÅðÿùH”+v|ÿ÷Ω¦ ¡©ª°«ª¬¡¬¸²«¨ªµ³©®¹”'`´±«³±¢ ¢¡¡€ Ÿ‚›0š—®xÿÃ2åÔÐéº"XÍ‘*’áÑÍæ¹!6Hau“£©§®°©±³­°±µ¼¶®²¼éÿÿB=”g;³ÿùÍ©¤¢ª³¹¶­©¥œ§·²¨¨¬µ´³­¬5”ÿþûüûúúùø÷÷öõõóóòññðïîîíéÿãA$´úêæÿÎ%0C]r‡š¢£žš¨±²·³±³±·¹«¯¸Ïöÿ³;•u=ÿÿ篦¤¬»º¶¯€¦¨±¯§¦¨¶¸±ª­”'c»¹´¶·€µ€´8³²²±±°¯¯®®«¾©. ŽÃ¶³É¡3G_rˆš¥ªŸ›«´´±¯µµ®µ®£°¾éÿÿ=u–$=³ÿøÎ¥¡°À¼·´©£§©©¦©©¥±¹²«±ž8/.)&$€"ƒ! €!ƒ ,# /&'$#& 'AUl{ˆ“¢«§¥¬µ¶­¯¸´¬´°£ªÑùÿ³=—%u>ÿÿð³®¾º¸º­ ¦«¦¦©ª¥©·¸¬¬¦ˆne_PA0&„' %'&%&$$&&$$€%**4;<5/-..&)CVev…•¢¥¤¦¥¬¶±¬²²°³®¤³îÿÿ>u˜6D«ÿü×¢¤µ¸¹»¬Ÿ§®§¥©©¥©¸·¬¬§¢”ˆ†yhTKMKMNMMLIMLIKJKLKHH€J)IINSX]\ZYOFLXcnz™¡¢žšœ¦®³³§§µ³«©°Ûüÿ«D™ BìÿøÀŸ°€¸¬Ÿ¦­«¦«ª¤«µ²­°«š††pa€[<_`__]Z^_]^\XZ[YXX[]\Zfmlpnjic^dght…”ž¦§¥ œª³±­¤¨·¯¥¯ÑúÿìBš%jwÿýç­®¶³°ª¡£«®ª«ª¤¨¯¯«®¬žŽ“Žƒupstw upsxyvmiprm€p)rpn{ˆˆ…‚|wxwt~“šš¥¬¯­©¬®§£¥«²«¤Àòüÿwkœ$=®ÿúÚ´®¬ªªŸž«´¬¥§¦«°°¯²¨—”›œ“‡…‹€7Š„‰ŽŽŠ‡‰…ˆŠ„~~‚Œ—œ——™Œ‡‹‹†‰™Ÿ›¥ª¨¬°«¦¥¥«¯«¨¯ßüÿ®=_r% íÿüÕ«§ª¬  °·¬¤¥§±¸³³µ¬¤œ™¥ª¤ž–—ž¡¤¥¤Ÿœ ¢ŸŸœ ˜›š•ž£§©¦¦¢™–˜›˜–˜ž¦­¦¢­±¦¥±¯®°««Óûÿí %rž(jDÿý÷Ĥ¥¨¦¬·¶®¨§¥¯¼·²µ°«£ ª²±¬¥§®®°´²°€¯1©¨­®®°«¡¥ª¢Ÿ¥«²±®®¦¢¥ š£¨¡š¢­°§¥²²¨¬¶²®°°ÉöýÿDj [F œÿû𷜢¦¯¸²¬«©¦°¼¹¶·±®ª£ª°±¬¤©°°²´³²³°«£ ®µ´¶±ª¬¨¦«­­¯°­«¦¥¦£Ÿ£¨¢¢ªª¨¦¤¥©­ª­µµ®¾ñüÿ› F¡[A±ÿü篠¦®´°«¬¨¦²¹·º¸±®«¤¬²¯«¤¦¬¯´µ°²´®¢œ¢´»¸µ®¯¯££¬­ª©¯°­¯®¦¤¥§¦ §¨£¢¢¡—›­¥¦·µºæûÿ±A¢Yf'³ÿüᬥ¬²³¯«¤£°¸¶¹µ¯®­¦«²®¬¦¦¨©´¶¯°³®¢Ÿª·º´­§¬®¥¤§¢§²³¯²µ±ª¥£««£§§¦§¤¤ž°­­´¹âüÿ³'f¤Wi'»ÿú஥µ¹°«¥¡²¾¹µ²­«¯ª¨°³²ª«§¥±³¯®¯®§¥¬´µ°«¨ª¬¬© œ©²³®µµ¯ª¤£§©¢©«¦§£¤¨§°µ±¹áûÿ»'i¦Ul<ýýüß±³»³®¦¤µ¼·¶´«¦­¬ª°··®®¨¥°°®­®®§©¬±·µ³°©®´¬›ž­­¬°¶µ¯¤Ÿ¤¤¢£«¨Ÿ ¢¨®©«²½âûýý<l§UKüÿûçͲ¯©¦µº¶·µ­§ª«®´µ³°±¨¥¯¯­®°¬§­¯³»º¸²¨±µ§™ ²®¨°´¯¬¢ž©ª£«¬¥ ž¨±²©¦ÀêüÿüK«M4ÃÿüòͲ®©¦µº·¶´°®®©¯·³±´²¦¥®­¯²®«¬°±µ¹¸·²¬±µ¦–¡´²®´­¤¨£¤±¯ª­¨©ª¦´­¦ÅðüÿÃ4°K³ÿû÷Ó±¦¦±¹´³´¯°²©²¹®±·²¥¥¯¬¯²ª«®¯²´µ´¶´«°·©˜¢²±³¶¬£ªª¬²°°¦¤±¯ž¢®®Ë÷üÿ³±Kl(±ÿüúÛµ¤¯¶­¯­©±³©´¸©¬µ²¦§°««®¨¬¯®±µµ°³±¦´¹¦™£°´´³³±³´°¬°±£¤´° £ºÝùüÿ±(l²Ij'šÿþûëò²«¬¦§³±¦°º®®¶²¥¨±¬ª­ª­µ´°¶¶®°¬©·´œ•¨´µ³­´º¸¶¬¦®°¦§²®ªÄìüþÿ—'j²KdBõþü÷Þ¿««©«±®£¯¾²°µ°¤¨³®ª±²²¶¯¬¸¸°±©¬¸¬–𝳮²¬¯·¸´©¤¯°§§±¼ÙøüýõBd³GBH ­ÿüýð϶¬¬±­¢­¾³¬±°§¨²¯§®¶¹²¦«¸·´´ª«·ª™£°¯¬²­®¶¹¶©¦±°£­Òðüüÿ­ HB¶Ej#wìÿýøé˸²¬¤¬»³ª®°©ª´¯¥¨´¹®¦­²´¹·¨®¶§¤§­±±¯¬´¸º¹§¡±»Çæùýÿìv#j¸Cv>ªÿþý÷ìÓ¸©ª´°ªª­«®µ®¦¦¯³¨¦¬ª³¼µ§°²¤ª®¯²µ±­·ººµ¨¯Ñì÷þþÿª>v»? h4ºÿþý÷îÕý±¦¤¨®°³®§¦¯´ª¨¬¨®¶´®±±©¬²±®µ´¯³º¿ÇÕì÷ýþÿº4h ¾=CH 3ºÿþýøôëÔ½®«®­°±©¥¯·±¬©©¬­¶µ®²³«¦«®´¸»ÅØêóùþþÿº3 HCÁ9w@ Aƒîÿÿýöóé×ÌÁ»»³©¯´¯¦ ¤¦¥ª«§¬´¬¤´ÅÐÝìô÷ýÿÿîƒA @wÄ7x<Hu¯ÿþÿþùôñîæÛÏËÉÁ´°±°²µ¸½ÇÑÕÜìòõùýÿþÿ¯uHyHu¯ÿþ€ÿýøõóòñîííìííîñòõ÷ý€ÿ þÿ¯uHy>Ëz=G„q}èùÿúè|q„G€t€v wvwvwwvu€>à‘è‹ÿÿÿÿÿÿÿ§ÿÿÿÿÿÿÿ§‹è‘à>€t€v wvwvwwvu€>Ú =n‰ o=Ô€ z= Gƒqˆt uq‚G =z€Ïz=Gƒp{èùÿùè|oƒGyHt®ÿþ€ÿýöòïìëê€èééêíðó÷ý€ÿ þÿ®uHy>Ç7x<Ht®ÿþÿþøðéãÓ¿°¦ –•–’”˜—ž¦³ÂÑâêñùþÿþÿ®tH©ÿýþõÙ±tnskrzttutxtrx}ƒ‚|w{kn{siuzu‚†…qqu‚®Ýõþþÿ©>v¸Ej#vìÿþöÚ§{x~tsxqtzvuvxwplt}ƒ}z€uu€ƒ}tvzz€ƒ‚ƒ€~uksˆ«Üøþÿëv#j¶GBH ¬ÿüüæ¨wpmv…{swoqzxuttrjhp}€yw€€‚~€€‚|r{…ƒ‚€„xptxu†²äüüÿ­ HB³KdAõþþõÇŽmhuuzˆ}txpntwvssrkglvzqr…~|}v|…zkx††„‚ƒƒ|suyuts‡ÁôýýõBd²Ij'Šûÿûá«„xrots|ˆ~w{xssyvuyzskgmrrv‚„yqy}uy€tmwƒ‡ƒ€ƒ‚~{yyxuuokpžáüÿü'j²Kl(°ÿý÷Å“€~shlpy‰„vvwrv|ut{{wpjpx|~„|nos}tpnq|ƒ€€‚qju}vsrplcnŽÊùüÿ°(l±²ÿýñ«{……{ythkqy‹†tuuotzuvy€u+pzƒ~€„riuty~ojkp|€x{xkhr{ulmukety…¹òüÿ²°5Âÿýäšksˆ„vvxrprxˆƒuxvop€w0xvvts}{‚qp{vtwtoiiszwy€vmttzylkurv{yyz¡æþÿÃ5«UKüÿü׊ims‚€y{|smmv‡‚ttwkkttuvwuss|ƒ€|u{zursrico{{z}vr|sv~tqwv~}rqus”ÚüÿüK§l<ýýüÑ‚hqpp‚uwwmmu…~nqzlfrs€r y„„}xy~yqr€q!js|xxyv‚sq|ysnz~vtxzqƒÎûýý<l¦Wi'»ÿûшpprmo…„ss~{ttwwjs~rgqtusqrpsz}~}|~zvrpxxtvtw||xvzysp{|xmkw{|y|rl†Ðûÿ»'i¤Ye&³ÿüΆxvrpjoƒ‚yxzxus{„ujqzqkqqvtpsptyppy~}rnty}yqptux}}yrx}vorutstpnvvyznu|‡Ðýÿ³&e¢[A°ÿüׄqwprrgl~xxtuqkx…uinwnirpsvqpouzpjrzumt}yv{xlisql{ƒrlvuxolquyvmjqprtpy}t†Ûþÿ±A¡[G ÿüärsrnqrfj|sxutnfw…vinwnitqsyonruxvpqxsr||omqrljwvnz‚qmuqnmpqpqmjltrnuzxwwo”èüÿ G ]jDÿþò¡u{vrtuqgk}zt{{yrhwƒumnrjhppuwkkustytwztv|womklljv|{|}tqyulrtmljdeirsnxupvwv¨ôþÿDjžr% íÿù¸xtysrxwnef€tIy|}wmu€xplqlepuwsjlssvxrvxuwwstphjigpx{ytsyytyumnlhjlmns~€rlw}zƒ»øÿí %rR=­ÿûʆvqpkqxuoihpnr|}wsns‚}niusgpwwphqvsxzvux}tpsqlogblrxvpu~~ysuwnghmojlpu|zsr€y ƒ…Âûÿ­=œMjwÿýàzunggw|xslotnt}qqpr‚~ljzvfmuwmftvqx~wu}ttuvqogbmx}wv|tu|lkyqfaefbk€qnsxyqsƒw~ÚþÿwjšcBìÿó¤{zqibl}|zrhoypv‚|qsqq~mnyekrsnlxtny‚uqxwtwwusnihnuyvƒƒq}„mm{wof``akolrtpsxqs{ti™òÿëB™cDªÿþÉ~xvoidovvxohs{sy}tsmk€ƒrqƒ{ilppor|xnywqswsoxxnrrprpmfctujphU]edkndaimnrzzsswvttvsuÁüÿªD˜eu>ÿÿèš}vorqhinv|qkr{z{vusohi}‚wo}zggnsqryvowzrqpvwntyrqszxnlK&)/+)$!#/]h\dpqtzxuuttwurt}wŠäÿÿ>u—Q=³ÿö°|~qmvtmknvyqjn|}{sostpuƒ†€u~{jlsqnquqlnqwxpuxqmuzuv}xvs5#_mbccgg7JYUglnxv€qopwyprzsm°øÿ³=–gu<ÿÿÚƒuujqxtqootvslo|}{ztk`Z_fe_W]YOT^dgmqojimz~vqrslkwz}|u}z4LÐêÔ×ÕÛÝ~=MRb]_mqmnsojrztqrkj„Üÿÿ<u•g;²ÿô§swtmwzrnqoozwnox{|u?&*('&%&&%Qffijkpx‚yoptpkpy{spzz9QÚößáÞæè†3GLSQ[muikwqkmuxrjfpvªôÿ²;”!=BÿÿÛnxurzymfppnzxomt}l)? ²¤€¦D¤¥¬pBa]bfky‚‚}rnpmkmhfjjn|}9KËåÐÑÎÕØ}(?CIJ_{~omqotvpwzj^qzŠÞÿÿB=“!v|ÿô¬omvwx~vidptqyxqms‚€n0lòÿþÿCþÿ·&6TV^YEDJEB=<>;7AT[bik|9KÍçÒÓÐ×Û€!5=IMc~€xrnmtwq|qft„ƒ±óÿ|v”0H÷ÿã†jkuv{ƒ{lfsvpuvrnt‚‚r0eëÿüýûúùúÿ®!*GR]?4B€:399@1;[]bcqw6KÌæÐÓÐ×Ù/LW^_qy{„€qxskz€|yxzuuˆ¿ôÿrv‹qt uÿð­zrpsrlo{nw|rjqxtomoqutpv|qed_ep_'OßûäååãââàÞÞÝÛÛÙÙ×ÖÕÔÓÒÑÑÍËæÚV%*4=EOZ`bruoz‚|rx€vnz~vs}xpy†³ðÿu t‹qwuÿï¨xspmqmi~}qwyuljv|unqmovt}pnqhnyh,NÞûãäãââààÞÞÝÚÚÙØÖÖÕÓÓÒÐÏÎÊÜÏQ+01>LOS^`gsihwvoryzu~yspywnxƒ¨îÿuw‹qwtÿìŸvqmjkhhw|{}{tkgs}ytqjo|z‚…stzqt|l/NÜûãåãâàßßÞÞÜÚÙØÖÖÕÔÓÒÒÏÎÎËÛËO$5<>IVXY^`loluxolw|zy…€uju}tw‚£ìÿtw‹ wtÿé”upln€kMnzƒ†~njkqywrlju{„vw{qt}n/NÜùâåããáàÞÞÜÚÛÙØØÖÕÓÓÒÐÐÏÎÊÛËO(NW`tzuqpnkeiz„ƒzs|€{urxwxw|À÷ÿ{=+Fÿÿâˆnu}€tiv‚{t|vlqogqxtonu‚{|zrq}z4IÐî××€Ö<ÔÒÑÑÐÎÍÌÊÊÉÈÇÆÄÃÂÀ¾Ï½E(2GQWpuomolnmmz~|w€ƒƒ~}|zŠÝÿÿF1;¯ÿí•kls{ku€zw‚ylvyuxzrnqv~ƒ€}{qk{5HÐíÕÖÖÕÕÓÑ€Ð8ÎÌËÉÉÈÇÆÅÄÄÀÊ·rF !?Pcihilotnoxuy|}‚†…ƒ†ŠŠ†…€yîÿ°;1vwÿõ´sko|{pu|y{†|nz{{ypltuy†…xwuly6HÏìÕ×ÕÔÔÒЀÏ8ÍÌËÉÈÇÆÅÄÃÿԤJGDL:.NV\dbbmrhkuqty~‚ƒ‚ŒŽŒ„{|»÷ÿwv‘Hÿÿ×qkpyxzzyz~zqv€ywpnyxy†ˆ|xtlwy4HÍêÒÓ€ÒÐÎÍÌÌËÊÉ€Æ0ÄÃÁÀÀ¼Õ—!wȼ·ÍŸ$GMX]X_mgamvstxvw~|}……„}yr„ÛÿÿH’k;¯ÿí›tlpwuy{~|srrpv{urnr€|x„Š„|rs}7RãÿêëëêéçæåäâààÞÝÜÛÚØØ×ÓÄÒ•,ÚÈÄÜ­"ÿÿç…dx‹‰†…vinsmkoojrƒ‚vvs[FCD:.€<#''$,;EQ\`dljknmw…~v{}|xl†äÿÿ>u˜cDªÿýÀnnƒ……†ufnunknnjs„„xwsk^[aXI714146442056343453004422147;@@??6-3;==;;<>@=:ELIMLIIEAFECM[gmrqnhes{|ympyo{±÷ÿìBšajwÿþÚ{„€|vjkuxrsqmsyzuwvi[\fe\OHKLPOQSPINTUSIDKLIJJKMHES_^[VX[WRSMHPelipwywtvuplmt}vm•èýÿwjœ_=­ÿùÅ…{wttgevtmnpx|ywyqf`akng[RU\_^_c]V^cc_WSZ^Z\]XSPS]fljcjnb]_ZTWioirtqw{uplkswvr|Êüÿ®=_r% íÿú·vpruij|ƒtjkq…~{~ujbetwrkbcjmnomhfmrnomjlnkgii`[cilrxvuqhdeebafkryrkv{ppzvvzuvµùÿí %rž]jDÿþòŸmorqyƒunln{ˆƒ~ypgiw}}ulosrw{xrqvyssy{||ukpvminryywyqkmhcltmemx|rlz{qw|vyw¤òþÿDj [G ÿüågmp|„zqonnz‡…ƒwtplu}}ukouuy|xutuslkz€‚|suqnsvsuxutnlmjhmsmlutsnjlqurvt‘çüÿŽ G¡[A°ÿýÙgozyqolo…‚†‚vtqnzytklrt|}tsvrifn€ˆ…€xywjkvvppwzvvuonlppirunmif]cunp‚Š×ýÿ°A¢Yf&³ÿýÏzlxwqhk~„€ƒvtsqx~xsnnmmz|rqtrijv„‰vpttkmqknx{y}~ytmkstlqttsljdfyxw}‰Ðüÿ³&f¤Wi'»ÿûË{oƒ…zrhi~‰„€{truttz~xorlixxrpqrnox€„~upquvshdr{{x€yskjoqjqvstlknnyy‡Íúÿ»'i¦Ul<ýýüÍ…~…|sij€‰„~sltwv|‚}qrmjxwpoqrnrw}†„}xszwcfvuvz€xlgklklvsimlptpu{Ðûýý<l§UKüÿüÙ™}yuml†‚‚}tnpty|uvliuuqprpnvzЉƒ{tƒrahzvp{zujepqlwzpihpxypo•ÛüÿüK«5Âÿýç¦xtol~†‚|zxtoyƒ€|{yjit€s,qpt{~‚†„€|y„q_i|{xzpskkxwrxuusep}uq çýÿÃ4°K²ÿüñ³yjl|…}~{|yo|…yz}wjlvqstlqxzƒƒ~€~v~…tajz{‚yqvsuzxyqo|{imwz­òýÿ²±Kl(°ÿüøÃjy„zyvt||q~…sqyxmoxqppkryy~„„|}q€†obmy~€{tw{ln‚~jk‹Æ÷üÿ°(l²Ij'üÿûÞŸ€~wvno}|o~Švqzyknwqnpns~~|……{|yu„‚g_r}~~y‚Їƒwowzop€yt áüÿüŠ'j²KdAõþþóÈ“urqs{ym{Š{u}xhkwqmtvxyx†‡}vy‡yady}x{v|ˆˆ€sny{qp~‘ÂôýýõAd³GBH ¬ÿüüç±…srzyny‰}u{ylkwtkoz|qx†…‚vx„uckzyvzw|†ˆ‚so|zn€¶çûüÿ­ HB¶Ej#vìÿþ÷ܪ‡|umw‡suwnlxuijwwrz}‡„rwqmpv{zxv‡‹‡pi|Œ¨Ù÷þÿìv#j¸Cv>©ÿþýõß´ˆqt€yqpsoqzuljrwosyu~Šnz|ntyy{|w‚ˆˆs€²ßõþýÿª>v»? h4ºÿþþõ⺜Žzkimru{xmgpxruxs{|w|{su}|x€x|ˆ’Ÿ¼âõþþÿº4h ¾=CG 3¹ÿþþ÷ïÝ·‘yssrvxngq}{wutxyz~}qmvx~†‹ž¾Ýîøÿþÿ¹3 GCÁ9w@ A‚îÿþþôíÚ½§”‰†{oqywoiloouuqwur‡œ®Æàîõþþÿî‚A @wÄ7x<Ht®ÿþÿÿøðëâÓÁ®¤ž•ˆ‚‚„ˆŽ–¤²¼Ëâìñøþÿþÿ®tHyHt­ÿþ€ÿý÷òïíêçæääåæèëîòöý€ÿ þÿ®tHy>Ëz=Gƒo{èùÿùè|oƒG€t€v wvwvwwvu€>à‘è‹ÿÿÿÿÿÿÿ§ÿÿÿÿÿÿÿ§‹è‘à>€t€v wvwvwwvu€>Ú =n‰ o=Ô€ z= G‚ptt…s ttp‚G =z€Ïz=Gƒo{çùÿùè{nƒGyHs­ÿþ€ÿýõñìéèåããâãäçêíò÷ý€ÿ þÿ­tHy>Ç7x<Hs­ÿþÿÿøîåÛÆ®›Œƒxvuqty{ƒŽž±ÅÚåîøÿÿþÿ­sH¨ÿýþóМoNGLEMSMLNOPMKQWZ[ZVPXSDHUWLCNSP\_]WJIPd™Óóþþÿ¨>v¸/j#vìÿÿõÐ\RTLLPINSNMPRQIGNW\YXVQWWLOZ[ULNSTZ€[YVNFNe”Ó÷ÿÿëv#j¶GBI ¬ÿýüà”VIGP]RINGJSQNMMLDDNXZRQXYXYVXZYYSIT^\\YX]ZQLPQPeÞüýÿ¬ IB³KdAôýÿó¶oHAOOTaTKQIGMPOLLKDCISULLZ_WTXXRV]REQ^`^ZY\[UOQUONMf°ñþýõAd²Ij'€ùÿûØ‘]QKIOOWcYPTQLMRPMQRLECJNLO[`SKSVORXNHQ\a]Z]\VRSURPPIEM†Ùüÿú„'j²Kl(¯ÿýöµrXWXMBHLTc]ONOLNTONSSQLELSUU]WJJMWXMIHKV]ZXYZXLEPXQPNKH>Gnºøüÿ°(l±K²ÿýí–W__SROCEKQd^KKMILQOQQNOOJT\VW]MEQNQXIDEJW[RSYVRFDNUOIJPG@NR`£îýÿ²°M5ÂÿþÝ€ELb\MNRKIKPa\MNOIJPOPPNOOMW\TZ[JKWOLPLHDDOVRRXVOHOQTRGGPNQVTTU‡ßþÿÃ5«/KüÿüÍlBFMZXRSUMFGOa\MLOEENLKNQMMNU^[ZVMS[UN€K"D>IUUSVXPLVNOVMKRQXWMNOKuÐüÿüK§Ul<ýýüÅaBLKIZZOPWPHHN^XFITG?KLILMIIKT_^XRRX[TKKJIIDMYVQQYQN\PLVTRNISWQORSJcÂûýý<l¦Wh&ºÿúÄfIKMII^\LLVTPPQZQCJXMAIMMKIIHMVXWWUVTRNJQRLMMQVUQPYRQ\QKSURGEOUVRUYMEcÁûÿº&h¤Ye&²ÿüÃdQQLJFK^ZQRRSQOU`REIRLFKLOLHIJOSKKRVULHOTVWQIHNORWWTMQVRKMPPLLIHQOTWIMRcÃüÿ³&e¢[A°ÿýÍeKRKLLDI]XRSNNLFTcSCEOIEMKMOIGHOTJDKSNFNWSPSQEBMMGU]LIPORKHNOROFEMLMNHPWMeÐÿÿ°A¡[G…ÿýÝrKNMIKMBG]WMQONHAR`OBFPHDNJLOGFJORNHIQNLVUIHLLFDRQHT]LHQKIILNLJGEGNMHMRPQQHváüÿ…G 4jDÿÿî‡NTMKLNMCGWSMSSRLCP\NFILDAIJNMCDMLMPKOTNPWPIH€F%DQVTTWOKSOGNOHFD?@CJLIQVOKPRPŽðþÿDjž_r% íÿø¢QNQKJPOIBBNNLRUUPFMZRKFLF=FNPLCELLNPJOPMQSNNJADEAIQTSOLQXSOSNFFGCCEGHMWWKFQWS\¥öÿí %r_=­ÿû¹^OLKEJRNHCCLJLUWQMHL[WHBOM?GPPICJONRUQMOVVOLMHCGC>GMRQINWVRMNOHBBGHEIKNURJIRUT\`±úÿ­=œjwÿþØpSOICBPVSMEIOIMXU€KEL[WEDTQ@DLNHAMPLSYZPMVVONNMGGA>IRVNMUNOUGDQLBGLKKGIORLO^P^ÑÿÿvjšcBìÿð‹VWKC=FUTTOCISJOZTKNLKZWFH[R@EJLHEOOJT[ZPJOQORQOLIDCIOQMY\KU[HHTQJA;;>GIGKMILPKNVPDðÿëB™9Dªÿý¸YTSIC>IONQKDLTMRZVOOHFZ\KK[TDGJJIJRPISYQKKOMJSSJMM€J&GB@QSHNG7>FCIJA=EHHMRQMLONLMQPR²üÿªD˜eu>ÿÿâzVSMLICCHOTKDKSRSPPOLCDX\QJUSBBIMJJPNGOTMJHNQIOSLKLRQGF1"=Fu—Q=³ÿõœVXNKPNIEIPRLDGUVTMJNOHM\_YNWUDFMLGKNJEGKQOHNRJGPTMNWROO$!Zf[\[^_40:8FIIRO€KIJPRKOYQI›÷ÿ³=–u<ÿÿÑaORHMROLJJMQOGI€UMVOHA:=GE@8?<26>BBGLKGDGSUPLKLFFQRUVOUU$GÁÙÆÇÃÉÊt'17C==HLIJOJDKRMLOHFeÒÿÿ<u•g;²ÿòKRQJSUNHKHHTSJIQTU[Q* $#"! ! 4BDFGFKRYZQGJNKEIORLJTU(LËãÎÏÌÓÕ{ /373:HPDGQLFFNPKEBLR”óÿ²;”i=BÿÿÑ]GRPMVUH@JKHSRIGNUXYHA¡²¥§¦¥¤¥«n*A>@BES\\WMHMJHHC?CDHVY'F½Ó¿À¾ÄÆs*,/.>TUHFKJOPJPRC:LUiÕÿÿB=“!v|ÿó—IGQRSYQC>JNKRPKGMXYWI kòÿþÿCþÿ´!"89>9,,2-*'&)&#+79=EHW\(F¾ÕÁ¿ÅÇt#(01BXXQKIHORLVXJ?N^\›òÿ|v”H÷ÿÜfDFOQU]TGANQJOOKHM€YN!dëÿûûù÷÷øÿ¬08?)0=524:-'==ABLS&E½ÔÀÁ¾ÃÅt(26CQUUNJGHGKVQNNP_[iÛÿøH“kwwÿø«PFJTPQ]\L@NSGMOIIOZXXMbêÿöõôññòù§)2=!0´ÙÃÅÄþӬ):9>>AF!E½Ò¾¿¼ÂÄt&05CPUWNJLG>DPKQTPY]\°øÿww‘k;®ÿéwGGJYUV_^NCRVGJQIGOZ[XM!bëÿõõôòñòù¨!+8>ßÿôöôòíÿØ604:?DBE»Ñ¾¾¼ÁÃs#-2BQSUPPRKBDNRUQMXbZ‚êÿ¯;’iHÿÿÌYJICTZ\_ZQIRYKHOJFMZ][N"bëÿõõóðïðø¨ )48ÏúÞàßÝ×ñÇ/).38HK!DºÐ¼¾»ÀÂr"-4?LOPUZVKILQRSPKWi_gÐÿÿH‘mvwÿóžMMJAMWZ^YPFKVPHMJDM]]WK!aëÿôôòïïðø¨ '0"ŒŽŽŠš'+-1GS$D¹Ï¼½º¿Ár!,5@KLLT\XMPSQONPOTc`X¥õÿwvm;®ÿçvMSIBPTRVVQGFTTJOLFN^\RI"bêÿóòðîíîö§ *1%# &+.0FT&D¸Î»¼¹¾Àq ",2=IKKRSNRXQLMIISTVYK|ëÿ®;6GÿÿÑYLUHDTSMMPSKCQWJNPKLWZTM$aéþðïîìêìô¨€1 )5DºÍ¹º¸½¾q $-1>HJOXQFOTLKLGHTTOUQjØÿÿF$={ÿú°MGOJFPSPIJNJEPVFIRKKWZXR$nõÿþÿþÿ¸&!!#')'$#! €/#! DºË¸¹¶¼½o %.;JLOW[VKFNNLOLLPOQYZfºùÿ{=2vqÿïILQOGFNUHEKLLMTLILIN[VSQ M¿ÓÄÆÆÇÈýdšÓ¶¶´²ƒ°6¯®¬«¨¦¥¢ž¨™@A³Ë·¸¶»¼o$-?NOX_WVODNQJKNKNMS_\[ðÿrvon|ÿævLVXQGAHVIAHNQLOMJKHJVPMR,%(%%#"!%7CàÿððïîìëéææäâàßÞÛÚØ×ÓáÑX?¯Èµ¶²¸ºm#+7DKY_SRPFPVMIKKRTW`^Wƒèÿ|nŽméÿÚgS]XPFFQZMDHINTRLKKFHSNKRJ6&  *Ÿ¸ÃßáÜÛÙ×ÕÕÔÑÑÏÌËËÉÈÆÃÿ̻NHÅÞÇÉÆÌÎy&,6=BV_TQOFPYOJQQUYX\\Xtßÿé7GÿÿÁ[S\SHEO][NKKFCRZSKHHLPNLOTO@;950" WìÿïàÛÞÜÚ×ÖÕÔÓÒÏ€Ì2ÊÉÆÄĿξE*˜·¥¥¢¦¨b  '/;K\[UZVFQ]MHYWTSKQRRk¼öÿ{=‹qvqÿñžUNOSHCQ^VIRZKAOTKHNKINMLOVO?=:?F7LÚõÜÝÛÚØ×ÖÔÔÒÏÎÌÊÉÉÇÄÄÂÀ¾¿½³ƒ! "+4:>>LWQS\YLQXMFU[VRRWRPdªòÿqv‹qt tÿí•VNKMKEI]XJRUKEKQNJHILOMJPWPDD@EN@LÙôÛÜÛÚØ×ÔÒÒÑÎÌËÊÉÇÅÄÿ¾¼¸ÐÅN $).6<@ANNHRZVMRYPIUYRMWVMT_šíÿt t‹qwuÿìŒTOKHLGDYYMQSNGEOUQIJIJOMV\NKMEKSDKÖóÚÛÙØÖÕÔÒÑÏÍÌÊÉÇÅÄÃÂÀ¾½»·ÇºI ! (357>@HOBAPOILT\UPYTOKTSJS[Œêÿtw‹qwtÿè‚QMIGGDESWVWUNFBMXVQLDJWSZ`POTKNUFJÔñÙÛÚ×ÖÕÓÒÐÎÌËÊÈÆÅÄÂÁÀ½¼»·Æ·G $)*1:;;=>JIEMQIGQWZUU`ZOFPXPSZ…çÿtw‹\wsÿävOKHJGGHKV]_ZJEEKUSOJDNZUZ^QRTKMVIIÓïØÛÙØÖÔÒÑÏÍÌÊÉÈÆÅÄ¿¾½¼»·Å¶F *46<=:=?CMJQ[TRRQ€UYegR>R]UV\æÿsw‹qvsÿâqONQTPNFI[^_[LHJMTOIFFNVSVYQRPCHXNIÒï×ÙØÖÕÒÐÏÎÍËÊÈÆÅÄÂÁ¿½¼»¹µÄµE2@?BB?AAGLKNUUZYMLLV]ciQ:O]UR\‚æÿtv‹qwsÿámKS[VPNAJ^YVXQJLQWVOJEIVSRZTMODDWS!IÑîÖ×ÕÕÓÑÎÍÍÌÉÈÇÄÃÂÀ¿¾¼º¹¸³Â´E&8FDHMMJBDEFJMTZYOGFV^^`QALVPM[‚äÿtw‹qwsÿákHV^RNJAQZRSUPHIRTSRMGLZSQ]XPUJEWU"HÐíÖÖÔÓÑÐÎÍÌÊÈÇÅÄÂÁ¿½¼¼¹¸¶²À³F +9>CPPIHEB?DIOSSWUMKVZXURKJUUS]}ãÿsw‹qwsÿãmJTYVSJKYWRVROJHSQJPOIP\SR[^XVLJ\W"HÏìÔÕÓÒÑÏÍËËÊÈÆÃÂÂÀ¿¼¼»¹·µ±¿±E+64?TMABEA?ADNSTXRPUTQPPQJIY]_]xãÿtw‹qwsÿätKRWXWMNUTSQNUPJVSHQTJNYTSY^YRIIZY#HÏëÓÓÒÒÑÎÌÊÊÉÇÅÃÂÁ¿¾½»¹¹¶´°¿±D)55?OJFHBAFA?HTXOENVOORROFLX\aYvãÿsw‹wsÿæ}€PfUUNJMPQJMXPGTVJQUKKTTV[[SPHCVV GÎêÒÒÐÐÏÍËÉÉÈÅÅÃÀ¿¿¼»º¸·µ³¯½¯D$16?GELMCFI?>EMK>>HIJNRRHDNPTYNvæÿsw‹qwuÿêˆQKHQPLHJRRLNUPEQXPRQGCJSU[\RPKCTRGÌèÑÒÐÏÎÌÉÈÈÇÄÄ¿¾¾¼º¹·µ´²®¼®D#*/>DJQPAANOTQAzêÿuw‹qt tÿî•RHGOLJGEQYQNQPGMXUVTG>DQSWaYNKFQR!FËçÐÑÐÎÎËÊÈÇÆÃÂÀ¿½½»¹·¶µ³±­»­C!).;DGHGFC<9EIFIJGA>ENQNLFLVVODˆíÿt t‹qvqÿò£XJKQOLH@HWTQPLAEX[WXRFDOUZ_WLJJTW$FÊæÏÏÎÍÌÊÈÆÅÅÃÁ¿¾½»º¸¶´³²°¬º­B"+8?AFJF?@DGFFLHDNIAIMIKVOHNQRTñÿqv‹q={ÿö³aQMMOLH@EOPTVM?AT_XSWNBKW\YQMMNYZ$FÊåÎÎÍÍÌÉÇÆÅÄÂÀ½¼¼º¸·¶´³±¯«¹«B&.9?DEHMGBHLJGHGKPKIGDEGLMHEKS^²÷ÿ{=mGÿÿÉlSMIGGIDGNLQYODFM[YOSN=HY]TNOLLZX#EÈäÍÎÌËÊÈÆÄÄÃÀ¿½»»¹·¶´²±°®ª¸ªB'138EFBJOIADNMHNOHGMGEJF@?GHJP`ÄÿÿGméÿÞsPIMMEHJLPOVYKDKOWXQSL?K^]RRPGIWU!EÇãÌÌËÊÉÇÅÃÂÁ¿¾¼º¹¸¶µ³²±¯¬¨·ªB(/2;HJB=JO=M]ZRUNHMIDNRJDDN]`SMONOXU"DÅßÈÊÉÇÇÄÁÀ¿¾¼»¹·¶µ³²°¯­¬¨¦¼²F )5;>NSMJJIG?BS\]UMWXWZUNLSRQPW°÷ÿ{=kFÿÿÙjJQXZODP\UOWQGLIDMTNIINY^XVTLLWT!DÄÞÈÉÈÆÅÃÁÀ¾½»º¸¶µ´²°¯­¬ª¨¦´¤<!168MPIGIHJFGSVXUQ\_]][XUYXURfÔÿÿFm;¯ÿé{GGM[UGQ[TQ\UHPSQTUNJMPW_\XUKFUY"CÂÝÇÈÆÅÄÁÀ¾¾½º¹·µ´³±°®¬«¨° c< +4CGEEGJOHHQNQTX`c`^aca]^ZP}êÿ¯;mvwÿô¡PGJVTJSYTT^UKUXVVSLHPOSb`SQNFS[$BÁÜÆÆÅÃÃÀ¾½¼»¹¸¶´³²°¯¬ªª¦¸Ž?<:A1 48;B@>IMADNKMRW^_Z^hhe^[VV¦ôÿwv‘iHÿÿÍ`LHKSQWVTSVSMQSTSSMISRRbeWSPHSV"B¿ÙÄÄÂÁÁ¾¼»º¹·¶´±±°®¬ª©¨¥¹‚f¬¡œ®†.3;>8=HB=HPMORPTZWX`__WSMbÑÿÿH’k;®ÿé€PHKRPUWXUNMNLPUROJMZUP^f_VLMZY%KÔðÙÙ××ÕÓÑÏÎÍÊÉÇÅÄÂÁ¾¾½¸ª·'yº«¦º’&2?62CNEEPTSUTIIWWSOPTJQOzéÿ®;‘kwwÿø±]QPOKX[WYPLOKPXRLFN_TM[aXH55B<)”©——–•““‘ŽŒ‹‹‰ˆ††…‚‚ž·‚#j§š–§„ #1>94DNPRQPTXSLIMPQLPLATc­öÿww“-HøÿÞpPMILZYUTRPLFMZRIDL[SLW\I"$!,.+,++**€)€(€'€&-(k¸„#k©›˜©† !-9??IMQURNNSQUMDKRUYJCPwßÿøH”*v|ÿóšPLEGSUWNLOEBNYRIFLZWLS\DY —žš‹‰Šˆ€†„‚€}z/v†cYÊ”$i¨›–¨… '3=>EGMUSSOHNWQNRV^_QLUžôÿ|v“i=BÿÿÒdKEEPW^SMPE>NYRLJP\YSTVA‚æã××ÖÖÕÔÑÏÎÎËÈÇÆÄÂÁ¿½¼º¹³É¤/Bšmk¤—“¤ƒ"/57?BFKIQTMVZTXY^e]WWiÑÿÿB=”g;²ÿô”KIIR\aZQNJALZTGEN\[[VP@ƒéåÙÚØÕÔÓÐÎÎÍÊÈÆÆÅÂÀ¾½¼¹¸´Ç­1 ƒ¶¨¤·’*2ÿÿàg?Ugda`QEJOHFIIDK\[QRO<,,.'€8 (/9??>FHGHGP]UNVWVZRDfÝÿÿ>u˜cD©ÿü±LK^_``NBJQKFHIEL]^SSOG<;C>2&!$ #%"#"$%##"#$#! ##!! "%(--*+%").49BGIFA=>HQXXIJXXPKW´üÿªD™QBìÿó…EZa`^OAIPNHLJENYXSVTF45C?4+('%*+*+*&*.,-*&())''*+(%.415501-+0/+3>GLMJHBAP€UKL[SHS–ôÿìBšajvÿÿÑ`Xa[VNCGQTNMJELSROSSH:4/014458603:<:/)1402114.+8BA>9:=:883,4FKGLQRPMQQJHKQWOGsÞþÿwjœ_=­ÿùµcVROLABQ\PFHJQURQVND??JLE;47=?>>A?9?DE@75@:525AOSNG@@FGIIHFCINKJHGJKGDGG=8?DHNRPOMDBCC?>AEJQMIRUHHTOPUOOŸ÷ÿí %rž]jDÿþî‡GJNLT_[QIFFS`[UYTLBDQVUNGGKKMQOKKPRMMRSUXREJOFBFKRSQSJFHCAIOI@EOTMHUUIOYUQTQŠîþÿCj [G‡ÿýÞpAGJW`ULJHHS_]ZYQNKHQUTODFLNNQPNOOMGDRYZ_YNOJGLPMNPONGFGEDIOJHONKGEGLOKNXXNsàýÿ„G¡[A°ÿþÏaAJT[SLJGHX][_\PMMJUXRNEEKNSUMLOKCAHZc_[TSRDEPQJIPSOONHIIKKFNOIEBC:@QGI[VhÍýÿ°A¢Yf&³ÿýÃYEQZYSMDEX]Y]ZPNMKSWQNIGHHSTKHLKCDP^b[QKONEFKFGPTRUXSLHHPPHKNNLFF@CTQPUeÃüÿ³&f¤Wh&ºÿû¾YG\_UOEDZc\YWPLPMMTVSJKGDQOHHKLHIPX^YPLMNNKC?KTTRZZRJEGMNFLQOOIGHHSWOdÀúÿº&h¦Ul<ýýüÀcV_VNFEZb[ZYNGMOMT[YLKFEOLFHLLHMPUaaZSMT[Q?APONTZXQEAFGGHQMEHHKNJMRkÂûþý<l§UKüÿýÏzWSNGEX^Y[YPGHMQWYVONGCLJEGLJHPRXef^UMZ]M©ÿþþóÖeLLYSKLMHIRNFCININTOWc[IRTHORPSYTP\ab\P_›Öóÿýÿ©>v»? h4¹ÿþþôÛ©€kUECHKNURHBIPLPSNT\XPSUNPVTR[YPTboƒ«Úóþþÿ¹4h ¾=CG 2¸ÿþÿ÷ëÒ¢uXPNKORH@JUUROPRS\ZSWVKHOQXai©Òê÷ÿþÿ¸2 GCÁ9w@ AîÿþþóéÑ®veaVGIPNGBGIIOPJRXPPg~–µÖêôþþÿîA @wÄ7x<Hs­ÿþÿÿ÷îæÚů˜Švhbdcekr|Œ«¿Úèïøÿÿþÿ®sHyHs­ÿþ€ÿýöðìéåâáßÞàâäçìñöý€ÿ þÿ­tHy>Ëz=Gƒn{èùÿùè{oƒG€t€v wvwvvwvu€>à‘è‹ÿÿÿÿÿÿÿ§t8mk@"$&&$" 8Yw‘§¸ÇÑ×ÚÚ×ÑǸ§‘wY8 !H{¨ÎâëóûÿÿÿÿÿÿÿÿÿÿÿÿûóëâΨ{H! #X›ÎèõÿÿÿÿÿÿÿþýýýýýýýýþÿÿÿÿÿÿÿõèΛX# H’ÑîýÿÿÿþýýþþþÿÿÿÿÿÿÿÿÿÿÿÿþþþýýþÿÿÿýîÑ’H`µèüÿÿþýýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýýþÿÿüèµ`hÂñÿÿþýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýþÿÿñÂh_¾ôÿÿýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýÿÿô¾_B§ñÿÿýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýÿÿñ§B~åÿÿýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýÿÿå~A²øÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿø²A mâÿþýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýþÿâm ŠôÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿôŠ"¤ûÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿû¤"1ºÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿº19ÉÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿÉ99ÍÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿÍ91ÉÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿÉ1#ºÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿº#£ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ£ ŠüÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿüŠ nôÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿônBáÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿáB±ÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿ±~ùÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿù~BäÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿäB§ÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿ§_ðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿð_½ÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿ½hóÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿóhÁÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÁ`ðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿð`µÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿµHæÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿæH ’þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ’ $ÐÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÐ$XíÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿíX›ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ›!ÎÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÎ!HçÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿçHzõÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿõz¨ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ¨!ÎÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÎ!8áÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿá8YìÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿìYwôÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿôwûÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿû§ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ§¸ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ¸ÇÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÇ"ÑÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÑ"$×ÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿ×$&ÙÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÙ&&ÙÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÙ&$×ÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿ×$"ÑÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÑ"ÇÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿǸÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ¸§ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ§ûÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿûwôÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿôwYìÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿìY8áÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿá8!ÎÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÎ!¨ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ¨zõÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿõzHçÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿçH!ÎÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÎ!›ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ›XíÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿíX$ÐÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÐ$ ’þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ’ HæÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿæHµÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿµ`ðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿð`ÁÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÁhóÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿóh½ÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿ½_ðÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿð_§ÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿ§BäÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿäB~ùÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿù~±ÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿ±BáÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿáBnôÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿôn ŠüÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿüŠ £ÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿ£#ºÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿº#1ÉÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿÉ19ÍÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿÍ99ÉÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿÉ91ºÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿº1"¤ûÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿû¤"ŠôÿýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿôŠ mâÿþýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýþÿâm A²øÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿø²A~åÿÿýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýÿÿå~B§ñÿÿýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýÿÿñ§B_¾ôÿÿýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýÿÿô¾_hÂñÿÿþýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýþÿÿñÂh`µèüÿÿþýýþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýýþÿÿüèµ`H’ÑîýÿÿÿþýýþþþÿÿÿÿÿÿÿÿÿÿÿÿþþþýýþÿÿÿýîÑ’H #X›ÎèõÿÿÿÿÿÿÿþýýýýýýýýþÿÿÿÿÿÿÿõèΛX# !H{¨ÎâëóûÿÿÿÿÿÿÿÿÿÿÿÿûóëâΨ{H! 8Yw‘§¸ÇÑ×ÚÚ×ÑǸ§‘wY8 "$&&$"ic08û jP ‡ ftypjp2 jp2 Ojp2hihdrcolr"cdefjp2cÿOÿQ2ÿd#Creator: JasPer Version 1.900.1ÿR ÿ\@@HHPHHPHHPHHPHHPÿ]@@HHPHHPHHPHHPHHPÿ]@@HHPHHPHHPHHPHHPÿ]@@HHPHHPHHPHHPHHPÿ ù×ÿ“ß‚8ÌÒ¥yfÕÛ4÷p DÉdk~ûNsøhKØv“˜lnòôcPðQ¿SBj´ý#î†ÎAÆãºó@¥¡ººýÏÿ;Î0^¶yR9ß>ðX©ê]òFå Â51‡Þ 6¤Amé¢?ÏÁ~Ñø $º¨‚ã1fÑ÷EÕ©Dí‚+óÑÓEy„tï?õErÅ¥]`°ÅÕBUÊ]z–íŠ(ˆqö¯¢&Ž\×&ŸW]AÍxÿ+Õ¢õ%ô¨>Q2ãí=T‚º xstXm¡ —ök ­ÂÔ¨ñ|/eƒÈÂí¥ï–røL{pßÒ»5êü£ðQ¿8ÕKWèãÌ~œLóò) ”ê‰úô™;ƒ(ÉÆÄc˜ðMMÞ›p>¥áhÃàžMðt@†6çj®ÏÁ~óóA$ºLJàHR:S"˜³ÑÚ*¿ÚÛ« 6†ï"¨æÖΣ)uÿ ÀúW·ë¼· 9a‹ˆbܶ$»ÄŠ’‰Aa@ã‹ËYAK¡­…- sþéøóô²ñ¡{ì)nÞ\QYoÚs,ö|Ý,dT:½Íd.þ¯äw?ö,ò1'¢K[]Øôä3Klå…^†Äèáã¿P©Ä:>‘""ÔÅÇ£wÌ0ˆ;Ô®ª²»&zMÅ´vº^ø[ƒ$–¾‘oÙß™Åù›Çàp_ l{Îã*Çò¦I,Ô"0ø^Ö8”d½g šmÔ (J7ùò‹S¼SêýÃz ñ×ßRÿU®­l·{i¸ \s˜]œ-Qá4üŒHæ-î—¸j?«Éùrö5ÌåW*›¢|>8mßõO;µ"%õð¨e¡PgS³{ö€aÑ¥+jPy‹À“7A/Ö2`¡6&®¢ÐMÀŠâ×YJ*ÏÂÅŸ…u?;(k£?rs \Ãmð_-­Éq‘?=WŸñ­¸ŽÜ¹!›MvæÚªp.3rØ:{}—¾š¦M¨ #0RvF #³‘7ãý§!á¢@O¸YЗ 8ÚR \w¢wÈE"ávno2ý©&Ïh`7ÁŽ‘vÇiîÌÓjPèÖc«± iO›/m”WéçÍYün¦ÂŒù+¢lŠV–“I^ÏqÅŽ7u_¡RA[lktÍteuÂOOžü·QU–© =§è2{-ÖÖ“W}2NŒÓ|0;ãÍ~ÌÍ8±)ÔhŠ©Äê   ó³žh—7xhµê1«È¤Ò­K¸æ×Þ( Ût‡Jb ©Gâ“)‡ÂRdáoÇšûOWK¿& ~ªè9òÉB€ÄbµÞ9dˆvÂöóÎù £$ãÚú‘µ±:Fº?!¨šHÐUkk4òK£„ôÕ‹4_5=h½Höù:³ÍUÙŽ¾ø»;|/G\¬Z{¤µ|Þ2¤eøzß1$ÅQ›³6âršÏTǬ¹ˆk2¯Ë<mêC ²‚}nH³YHÖ³æNhuÚÒ­ë´=;c•ïhÈ>ž§>ù;¬IË>cÔë3ìo]³-Ûö?!Ö]››2v^·Rá4¡_>¯S“æ’á‰*,p#õÆ  CZ =«_«ŠåLSî¢TBOÄ@{q«dšÄãz¾F93v*û¯v`€0¼{qj`ÞX‘úÅ‹}xùfV!Þw0îäA²Øñ!çÏÂÆŸ…u?;,k£RæèÓOAÓòµ«©_ª@`ðùƳgèȾ"ocG¿ Š@Ûσ|Æi—ЧÁ]#®ŠÆl$&£ÑðK ”­Nß1xj¦cu{Ü­<š­5‡½§ltzÖsË‘-ŠîL?ÁZ£rwNM_®~%¢`Ôfªk‰½vÓG( º¡yޏRˆ{îÄÚ]^q¿BJÂ?ÚÆ\ÕÆ6×·7+Ñ»ý×xHTjÖÉ͆s‰ø¯+%-$˜­³¤[*‹;R¼LÔ¢¢ÿá©‘-ÖÖD·¯#o”õ§ E;kIÑ^ÃÔo0à¸ZîÂKg2*õá³û%‡3diù_ÚÝêÅ=ÛHÅ ^33J X2¿ÃÄûîá O︽(¶¸çVëe¸ö=0ÑI*Ó œ–¹Tn]åØ% ýaFH~·]`…]Ëá¾`.ÝŸ+è%`‰üìš?ž‰²Ä‰v÷M09 …Ôª>sPî"Ì¥w[ Ä´ƒ„Ô”´åFÎïò›Ol.¢ìLc $ÅQ›³ï(?”ì’äÇ xzÃ2J€E€l2ð絃å:[Íô!…–ZC¦×úa/³‹ÿ3é¼kö«j4¨HÈ:¢K‚›óK®åXHÞE“Š@2HX<FEZ¤ø®vHÏå·³<ºc›ÿE/Ýò‰°žÏà•^éDÒŒ…Ò§wY‹½eY_y$êôÏþ`n(EzÏ37¨é[ök“ ¯HIëQÍ”qò¤*dÚm×þJ ÓŸWD!/hVÚ“OÍÇ-ÖÖD‰öÞƒ:Þ±òØM¿ûJƒšÙ©ÔJFk,“é5» à`®ŽO¸’˜LJ䪀(2@ä~ä©ùãx? ° =½‹ÞÉCtJ:Ãø§˜{Öͤé L¡ÐUää+97mô"Ÿ-`³ã¹(j/ùý¢Üá(àZ ó$_¬·e‡8N‹?Unþ…;5P¿×F§þ]B+ö]ÈVàÏF?§Å÷e±ºò½ö÷ïoEûŽ­¹UÉf^—<‘Œ^ëçm±kešªNxC>5ÁóÔN"—Fþ¯ÁÒ–> ;›#xYÿCk6”ƹmRÄž–jšÞØË~\qî±I¨„6ïÌRpèLh/°ÁŠú/‰‚qׄUÓìÖþÔQf6À€.N~‡“˜`P 2êYºhˆw8é—ᛀ=œ8øò/¹%ú'_ÏÁÚ~Óórj™,jq]M°‹Ëé5Ûé3d2&P >É“’žÕ Pí/mƒDó9W 6¯sì¶Y ¬A¼ß5í‰c)þÁ¢ªbßï@V°Ó¦|^ÃÇuh¸€Óï»±­tHòV=ÍãÅCáljæH BI4;/š8–ýï'Ï'ññú<6îÿBP3'¹6/rI$‰ÔŒé£hý§’?EˆèÜÌdyÿf À4¬Så)¥Þ­c³}%'‚µÝ?*´QL‰x0Ò8P¬" ÛѯúÐ4Uv:t ÷ª–Q.5K5ë¯0 aáÎwŒ$›ô×_$,4è-ÃØZ¦¥¯D0^ú,KÊtû!ª%M©+¢úÒåŒýo¼Íc³°³¡Øeë—Ÿ<¹6çS§Hý£96’‘ëÆƒFÑ~>¯‹PŠCœÉ“þ‹Ý"ZjÀŠôE×Ë}Ò»‹äbÂ^p8ÿb:S‘Ïæ)øt…‡J€±Ênµ5忯anäªßS“±?0^$ÎkÖ<u­b=½P¨?#`ÏX‚,Î0Ï@׬:òóæ¼ä¿! ZXÛ«-L·Ú‘è72HÊûÜÈ_Áz” z¹óúŽ“á}è^â¦$ÈUÈ\1‹$ù§™ßé•È/§‡È‡·«/ªÈ| ט´lÛ2R%×vдUß…A™F?‹Šsz"#†›Utñ£È¼Y9<—ºÑ†ŽTˆG–Ãhø'¼ªÛ¤èšú¨Ê¹­ÓÞ …Ó‚Tb)¹Ãû§´è í˜åaÞcTÖéˆ,9BËß0–AÓK j }CÞ1PÛBñ€lÛl¨ò׉y4¯™Ô«m#9<e×Οó¡!B‘ƒdM¾aŸÇ/å´B w-këËo&Åì¨i0e*ѱš±Ïç~…ÞÀvïÖ7FºÆ~ë®`ç8Å7½Xó»uÔ…©æ&¶Ý8`µ$#<ÇÙ—1Ãé®>×'šœŸÐUÓÀÊɪE–“x˜¾¨ê7L õ ãáN‚&âÒ{âœJÝ"w|ø11]NÚOkŽŒwÓs è­(ñpxb>YºÖ¨‰ ¶zê^ùßÓ­Ö~ñ1}(\)J‘B: "z¯NíÐG€|7ü<é#SÎ/ E4â4¢×ÊCõû…]r@´Ízºã홳ÕÕ Bµšm|jÚìÞÁc<¦zšòwÇ•J°¡<0—&š½DÕ¨ðãÇÏÁ\‹ÃHSîH$ÓeŸ#ì¢Û-+TUÅ}6޹Sóì@«!hßðõù`\Öõ] -ÆÆ~Ü`%x-§Õ¾¼úã(Ú»‡}d-.Þ]M±ÍëÎLΨt7†YPN&Kk#"ÑØôZæù”š!ÅÂGä‚=Rk0—¡¼iø¨w ‚R£LŒN´»5¬¾bQ;ÜO‘ZW™YÕËå.4Ã.Œ—Þ”ññ{÷¶‡×ËnwZ´´ IAðN&pE‚QV Y㯗‡•s™¡Ö0—BœOÚøöt-Š»üÌt * ß鹃ŒeÕ?Aü-n¾’;¡$°Q¨q~‡!õÖ” ô®d"O°ân°Dž7%¸|˜B°Œ‹è¥‚«o}PÏæ9øt›?>™À±Êno#† ß2ÎâšØù7ɉqæÚ+´\Ì÷°Ÿµ¦J˜ÛhÂÒ¯³‡Ôö ]švÙ™‡O˜‡0bg€¬Š¼6ÝŠ:èõB+ÆŸ×ÐÒ!øI¡ ÌÂ*È ¥Ó€îq–†Mòu[fÑÚm($ü{UCXÌ:dÞû™9ÖËÏWÔ0’¯ŸRêE76U¢gŸ&j¬Õת®Y³üÆÕº3H®Ãž FÂë½ò+€ZŸOûs>&ë%tdsöî4vŸé„~.+?r?|8ž÷ŸÍø5½=7¾»}¯U–Ä\~¿+uõKºjõ.¹ß{šP<%ГòeÁ9»A‰³B&«Œwõ|Š»¥¤µÿ68êî'Ç ocµÀyF>N}ÁKd@¥„¹O’$h|`ÎS¯É~\gäFÒÒ’†Ê08䮿(¡B‡¬­¾6Ÿ×ýõX×1|:9±©U·!®8uxW7A¯òò·ïÎhªð~¡#ðÎF¾?°è‡ä_¦Ô]>tý¬²ô ¶:ýÊx ±^‡Ž5ŵÌCð!¨6Ú/íQ¦(¿”ôµÎŒd ¯zp>³fªaxÑgú_›ßÃñqÖ€ºöQšzhÊXú?l Þb‚¿lŪêvðrÿ;±ù"ÂXãÛ‘l†_Q*Ž,óe39q4ÒÿwÐ$»Πþ"‡¸²‚Dô§xyÜÄb•Ñ'²Þ‘ ²Q~;F–ÿ8:-»Ð:Öß•¸:E°Šî¹3rÈ °·MÍ¿.ñf…—Mm‰å­æ/¡=˜ ÞØ-GG*†!‡ 9ÕhµyþÔU0 u°Ã-4kå¬RfI­Â•1•s‹º¹½Ä£üY<¯ø*2Ož ý*}½LË8(É"ð"é´ÛMYoOÒFO/3(ù¿5ÏÅt‰xqtçqM¯õ™.ónäϰ M_ìëì]*š;Y?Œ{ˆýq_úfì(å¹ì“Dyú©bNõZ§È¸×¢†¾îg!öËùã.¢–ÏvWѬntù3åÐýq—•bBÆxT//~Ï›íÝöé::ì”´*çî^u³®Wïþ%¨žŒ$ñèõI¹m5"|FÝà‹Í?Ϙ&¬¬”¢õ[oÛ›ßÇhIñW½éÄö‘ª|]‹Wy(ö…´aÿ­n§²§§?“´ÂWA]ÎõHoìØc½òæNûÎ"BiÓîò Õ‰•kñ,c3H Ïæ[óé~}1€“ Øê=‰yh•b µ'skËj¾íTpQTJødøgQØÔ‚,•ÇV>^CÑp"`DSR¬%0vÂÝ@Ê]Ôž6DΣC8ÏzöÜ?²û¢KÐer“C æuçšçf¹{¿^ÉD4ùVåŒYù?äV¾5ËN÷R–ˆ|W¼UD£ñSÇݱi‡V —ù˜¡šb•Ûí*~ÆàÑúC~À>ÏŽ‡Ü)Gï#BP ± ]à æÚA‰hÒåzÑCâ€2Þ…‘]Lýz4+uc¡d¥ý)_"!/ŠÍ3qx¶vé§i×Ô5U‘)bÁ#cN[ªË€ÈµGÓ¹­¨}ö# -{̾UVÖW¤®¤¬ò¬cÆeùöõ6EYL˜t¢H*þæù!¯R¼¼“beÀM^ˆ§•ê:ÅßjSÐÌÞA€*(quiÃSÙ¨ J'¸FÚ' [’ wx:Q2Í%~aQ+WÌžc‘CI/õÄ]ãMïÉTî&z"¯~”M‘ð§áyzpõq}<ˆ]hšªTšœ~e$?ÚÇÄjê—1•, Æ[zÍW÷Ã\ò–YSYñL¥ÆÙä¥}gKíÙ±l:@$ß{ä§´Òœ·”˜CzâjHn6Ç×Ar |¼-jÉXZ« ¶ï›7ŠѪ‹éÞK%ra 6q©ϯÁfÊ@в`îXJÍtàJôp7±~x’Ä5X77YUY`Ž/{ªB³=7Šý«ÜÓ¤³Gjªp¼&ƒFü F’Z 0Y ? n)㙀è‰BL;Œ‘£¯’?—#+à‹`÷Æ uÿm_’ÒŠ-›¡L6ÿWd—Câ(L€b&¬Ùz̸f]@KÐè4ÙKæR÷Z‰›˜ äôæ}Éá$œæ7?ÿxüÈ–?Ž‚X‰7Û)RE‡0‚ù—·h:©oú).ëUZ}[åÛ~¨V]ž…(û€Œò¶§õ&ÐkÉ@Yxfô7ÕuŒ$`óÔæF• 5N½¸t‘e˜摺æÌ¥ÄZ+ùï.˜áƲ©;ö—M¥Æˆ-´}ûò*:‡-Š{{VHÞkžÍêeXýBŸâdPQ›dRDz ªA$Ž÷„„ÀÉÏótÄ®É>ו¸Rb¡x„\‚«e=~¿ð§£"þ|.óîü’ú­»÷[øÐ—å0Þeöc . {`A¸öT,°Ø”Џ­±ÛÃûR®ÚNEU?4Nµ•0"¶q{¼Ú0i­QØo÷Á†´6Pzà V&̤À×ᤓ|·X,¦R*í¼WͤbD8ŸöÈÌßÐa$¹œ?/¥eûūآŒ·.eÃ)6ãÇe~Â{­H´  νnZÔp}ynX7,rëq‡pÖ©£2¹Z³w’≑ÈÐ-rl^zž«Æò¹v7£ø7¨–q«*%Ì D¯FC™3@pÌ'ìužú)©Ü¾+,ÝÎm9=)í—ØFÚÌ5ó|J=m@ð2ÈïßFQ‰©-Y“çÇ\M*¥rñ˜g^„½×oÛu‘èŽñù~çêVÅ4­¯-PÕsÖ§YÚ²¢ß•(.„Kª3¡LíQwðW5ƒ%¾•–‹sƒ `ówWï^ÜÇÈ7ÿ^vY‘ªy…°Ù¥Îtœ1§æbꪄ=ýgE±WXt8y1ûó•gÀm| 6¬u]L猑aU¬¸÷¤q~"W÷ÊMæ®ßv¯FBì‘°Ð X´ó¹#–늙DQ¨/û1~SB ©m xƒ¤´Æ¹{&ì›æÊSP4Úù^¡mÉÈn„ƒßÝ\¸¬ÒsÖFë¦LŸçB¸íó}²=ËËòÛ/e‹°b\oä¿+)òf‘v‘_Q[—ÎÒD/Ö„2“\Y7¢õ\¢|Ê‚S"À— ‰ß5yyPõÆZø§Hþý§ðÃÁ–€.ža°I+÷µŒÝ_JôFÎtÌZgh6 ‡V¿ÏÝ/íÖ’b–…šj1aã«Æ(~å„~¸½É*‹g½ûXTh^bÿ`ˆê0ã­£¹ûÆÔ(»×U¯ð\¦m‚ÜwÒÞÏ´®[’о«(¹[òþ«qÔ5­ƒ°ßw>ìÉ/2{Z£¸µU¬¤dÁù¸G¥“ÐÕQA‚“Š•À†{ýÖx.O±¨§SjLn0'CÅ\dβâò„àÙµ–~—×>’åö8±£Îó‚ ,ÆñR<Šó~~_þzõcg{EÏ\O7SYrs.÷QÅý­~ïyO€w» ,æÙp|2Ö©}êÆ×Ñ—ïzÊ¢§½nè1ƒË”âÅrõGÖçgìÞ/v=´•=–¹K,—fA;ïcÝ€ äâ‹×iÍÓE„ךt ÏÂ韅×…ÈÄãAWðt;œç·µ¡WnuùkA'nšå ѳ²:2zU,Än»÷0‚}5 {\Kj–€,R™$FR-Ѽ̙-…UËÌ59òß1 ¨È³V¯|¨-¹d{ý¢:²»¯.…­^M²ðªÅòóÕ7%@WAÙI@v굎§”·&ÝUب^’vp‰ö„uJžj“S(ðîJ9Ù¤¡¾øj—ÑE¢ß+ÌÚh“Œ§ÏÌ¥™XEF€Ô@ f>‚òÈN:׎Ÿ,÷ÜÒ]½üAçÞ½¹!S˜×Å&®<=Ų”NÌ ó)v¿WY¼6y¨2Dq {¬K ò-å÷¹qÛˆ¯Öx‡’=‘_¤xxˆ) ÄGAFV¥9g[¹z¾è®ÁÛ¯¯³ŒÚÙ­`ÂÜÞIKåTèºÑÈ ÷$£Â%´l •ÝÇ_°Wƒ9vù"­‰Ô\†’”C9\tʼ«ú•Ò‰!4íóçƒa‹vÙ¶n)EÎR«[Œ„õóP[z…E9ãË$Å3bEõ<®ÖçœÌÉ6u!“ÃQ·¦bÛUñ®¨‚ŠÂã … 2{E)–w1Nx8ppíHÅ 5ûQ—Æf­Ëüž,DÈñU·~”…“²ÿô^qïA~:¯å,ÖvnÒ»óþΫ~RjÈõVÅìê£BUA€žç£ðÌu¨í™ƒ5ô[*ìÉ?TJ,ó«ÎzaÉ‹0ö¿ ÀÆ“x'¿òN‚ןzÈ©ÒZüÅã’–¥¦È¡]ê™)ÒAü¿#cî±3FGvѹß2Ö8‹C5W9ªf®ËY*פ5Ÿ|iµˆÂÇ?J Þ8!¹ÕXx„\cižw¸`‡Z†Ü€ï ÖïDMB{gë†iHèe»òæŽ⧘±èÎ~‚Ù5›ÅÔäߟ¹½ùûKÏÏ×ÀEýsø™­†ÛzA\ÒРɣ„­OàÎôÊN¹Êˆ]½ÿþ.dî‰'Êåýº_ã§@ò¤n^)Ó”^ìfœ‘ßñü DZcþ°¨tÏŸ64ù! B.W÷è«Ò$Ç«y{cZ‘F3iÌIïæ—wÞú˜çvòôVíÙè^‘øj®Ä…Åw/€Õÿ$ú˜Ø;Àz /¢ a…lÚ¯Æ>’,.· ¢Ñ}zžx®Ëÿjv‚löÑtß5=—Tq c4 ø©¥H­‡¶5·Ñ…»í%³È¶ÎîÄ5Ý@þá3m)Uý[G›¨‰ÌÁ¨t64¸Ê•˜løàì9´ÃOXa/úÂúèĉdËorÌPÄ"R&ÊÝ÷¶ù‰ådl¼Õé¹ü²£©ãýØ#Cî4i¨p£U:UÐ0Š¢ðœÒ« ­™…^1ÐÓZŒ—c”KÀ„ªÜur²ä\’UÌoßBˆ÷/šð¾Àëÿ™ÅC4KkÖ›”Ë÷¹¥N$ˆA±ák¥÷®ª·R'(¢›^ôìì·*Þž¶÷/iÔesë»°L·FF§m‚Š“øuúìF×jÛ˺¸§˜ð>TÜýãÏr‡¼vÐØÄ!mäJc.D`z‡¼‚ß’Ôw‰< 8o`¹îŸM ýi°ù ùd%…rŽ^÷¶ÊCœïì{ÒR™w”^†`òVÅËo`Þ8åÿ`&`mLé©Îá’jY 3ø)½ô_'µDJ¦à‘{ä±ÝÁɶVXE.¤Æ—l]Úl90ì¶H¹C¼SÔÍ=Áö:!Æã¯eŽnÑ}†ŽÉ­U¸†ÏÝÛ™î¡í¼@¦xÄd'›VRv·ì£Wß$òÈä+(äenÍv[xS®Z Lõ¸ƒ/Á.¿É(>GŒQ†6dç^áP_ÞËK–N¥ÀK^‹­€I‚Ȩc…‰Z qm´X ÒÍ8ÆEŽ%;ýôœ÷W,x¤Ö)Q…B?rÎ1ç^ÍãYÖÖ¯ô2–ó¤éxúG^>íý@KxööNEu§ti æ+>¶”RWo >uá€'®ù¦…#Â7¤¤¦6ÇP=÷¾#Â2%žåÅ?f=S’,· /u‰AñEA !. .¬Ørg›‰ˆŸ…'üÏ KÛ¡—Àk'ºvÁÇ®›|ìΠa/Ç‚Ž+ág"²*kÒB·—ú;*;wåIþ ½6³žQ4³ÿè Àº'†åß“Œ«u…Ù´Ñ=š´3cZPÜ÷F0küÚ]†ý¯ë‹N¦|š5ŸmVán$ŽhELéë²rîÁ?ÐßͦÞÚ=$éôªÒ |ǬX¦n\!Nz8¯]ÒÅ¡þ¶Äßlr„ýÿ1Q¹ ¡ éõ õ Çí°É¤ô/t:¼½¾ýJEN½|TÀmË‘‰ÞË5ôÓš’­;/ #¢X–ƒ‡üÜ»ÁÃ­Õ }hlÃzð̊Ưzàå2 TVFo±gËœdg<É–I¸ÀëÄ&¹ÉÑ!‘nÜ{ÿ5{Û%}ü%r"~ódñ É.ý¼Ý«Í®ø §üá¬׉a†åÀÆïÚ9Q½ì¤<^£pžÁýšoe7&:Ív“ïôM9Ÿû.û¢Ú ¯ªî“,¢»}§„ÆM(OöéSá˜Ó]¾b^aHåd¿›òyß™W+b¢¤›ÿR͇ÅëSm”å ìá¨ÄYÈ ®fÙÁR¶™4èÑχq­ëA²÷§iœVhÙ© LäË dÇ¡rgŒƒu —?ÂêzV‚“ŸÒ O+NØ‘­iia¥?`ºl?ÁÎÔ»ýÍé¡+ÄX.šÍ‘-lnŸk¨É¥ñzòßKdaÎ$ºÅ¨+9h 2_Zž Š–çˆ^ÇÃrz®˜©JÖ: e¸M®o¸â-e–½€à[% ÚyÌ+±ø¶šKïØ«&q”Eª‹ŠËާlKÙŽÑ_ ÛA§¾öš&mVO‡¹+•±ú°L}5<á’¤è¾o}5ôz§\”!"nß^!÷ºéKRDÜ ãD½ )¼ ô ȯ•3à{’õÇ¿ò’¦šÿz@©¯hSºêH u„¤9z”¼wP&ÉÓÞÍÂS"p¯>½žÅ/P9ÇÅF!ÿßí%ÀçyhõÊ­Z+oËûÀE;æ_b5æˆÔbíùã†séQ@½êö¿þ{Y|¬Ã²—†÷W}åýÓ5s©ÐíÀ–[Öéuƒ(#â0ô¿¦Eådsxy¥¢óþ&BäÑÕ.C…åÓ¨}‘ÌÌ@„-wð§Õp*@Ó£§ŒÒâ ¹y O¨^ò…2„wΛÏcA(ÎI¸ß¾hpM8Ž¡ï³ëq|°àÿ6º)'Ý`ý†ðp’Kö/Û¡wò)ˆVž×½Â/ªæSòzÿjñfb‚»†.[k_Ö¸ö‘†ª\§û‘úÇr¸f©Ts®”±âÃ#’0ëmÍ*€ö1*¹®ç])SÚ>ëGèì3[~ý² ïr“†eSu9’³%¶Üï½v¦²]Çz¿vûFC}ÖŽ<ÀŸíî› A¾·œ˜º:­vT 4Ç9 nò a×X@”“¨ÍýœFQåÜõ_˜©eNi]Ðó”ÙœGº”]‚ J¥#(üV}ýÞIÌË»O"ê¾°•mÒ8Ï)>¶œ,«fÇ@åó»ÆÌÓ¡6µÍ{ÏNÝôt7íW<ɯÄAÂôÊIŽÍ¸UôhöB 5þqÀ|HÛ”(Ö:ï ¼ #›=ÒŸ-h–‡ÞñÊQ™±— îsItÇù…ŸÚ|ƒ;¶e{³¢3‡¿‰ÏÍ+/4ªM‹05kÔX"„€[Zˆ­ù5 Uѹ@³ò[¦7[µ›)ÙÚÏã?~âÓ“årãªX—ÑH³(¢3œ­!ÛŠ÷ßÅÙ¤þ­‘Z«äáìÛB7q”¬ÝüV²Ëdâ³QˆÇ‰Ó+üÃsö݉2±þ”ž?}·¨ššxMmÝÔTØC<u¡ø5…¶FüÈ” ›iûÚ“ûºT \³Àü d“’ëC¯5rV>B\à™°É5žRC»Ëã Ù}Òpcgé²ø˜<žÜv¢Ì`,HÌ×h«gMÌY¼ÜÀ„ ‚ÅIj…Ì]9á…?eþ*“Ÿ/¼:–,©{dçvŠYàŽZp÷yÙV‡i[”Z'ͪRÉzt!ÿ.«Ò öJ='§w%”ò–p0Tý'Mo$¯±aE"}kŠð=£Ô)>vÀ^šk¶ùR8½ ƒL{ÿj>±¬0´}‹“q©‚ååjó5ø3©cóU–œ—ÍR8çg_?ø¹¯œ2¾¶§õ¢ùŒ­õ —ðÎi¾ç^Œ÷ŸÐWd1N<´ûüŠŒP©0Ú 8·I Ï·—÷Cåfxù1Ä0+ÞÝ^äÐHºòæIÿAjË•Ä8‘Ë×c)jy¡:sùØë×ú[Ž´y]jŠœ;‰›‚Nð5VÌ·ÕÊ Ý¬œ.!î-%íšR_j‚‘ îtì°0œ=Ž–½Áh7ó]mkž’äÙ$ ¤XÑ>á7'òR b:¼é"ý¤ÒĕnÔ gBTç“ àhòFºÍ­¨Ù²IT†Æ&œ VÔ…xÒ!Š:Ó‰Øc¨ÒoÙDÑ€ rЖØcŸ@%ÉA¸]Èù2°è’Øíõ”k…‡•jz20Ƭ4=-Õvûòd¦êŽÝK2tJ¥&MŒ¼ú*'#äúY+Ž€0u´è‹»ä$Bœ^c.vDò’T5—MÓ¦U]{a.ÛY¤‘×pc` |·uS·©!#ھ߄G!¥—®©ÛŸ¡=Ù·úO!ÕkƒU$cnÅîr©¹tF“ì¯ÿAêÃSÒ,üÚh±ÿb{"¹#Úþ$µô.Ä_jNªÑÊýºèÕ(Ñ'ÁîÎ¥vÊ=¬¼7èZç’ÀWhçÔ¢8¹e*àÑ—]Tm†îš_¢6Ÿòjpÿr°~N~Ur¸¡ŒÊs!þ› ®tªŒEzÀ[¸•èÃp­ÛmÄ%Ž{S•¤7$¬vÝ•bkwÉÖÕ´¯Høï?i4p©•_6ƒH-LM•OÊÊá ›Ú©–§^Å=kÅa -«¹™“Ö•/XGæsã€Ï £¿™ŸÎ§9¬ø’EbÓ©=!c±ÁUv3qÒbñ ¹JΊ])ç®X8Ahòfb{âÎ*(„cŸ¬ &f >8Ä™šoÑ./éh}âúVÕ×âÏý‹“uwxÛ£z_»"…!ÏqrvLØë eEÏ@‡y³?Ш¡ÔÈw M'eŒg†wwTeg(¹WÚrÞ/i õÕ|«¡”õO{ïÕÆïM#î‚Ö1!(Iãæ×uFå÷ý~ÅïJó®‘Ê5éªõ¶ã©rsASXwNRåǺïðP¦ÅWNm«G“ÝüI­$|Œ+c¤A›"vRA«?t¤Ò]ÄÑG"·tN›³Ocã^œ2á;>Ä5_ü5BçV¢ábÔÑ|í~8iíá¼Ôr…ž’2ñ¶õUqCVK±–°Sj»ØRN9ÄMÌ?µfñ7'úZûšdtn^÷—>;@ˆŽåÏÇNÈUV*GûñùŸã¦ï9úôÚ…Òÿ Á2£ 1¦ ÇK–]Ÿvy›} ßÄ55í–oÄt{KÂËF/Àâ hÏ—ÿ3ÅêäN¹+GHß&âdîs€X^–ª?‰LèJÂÎÊ¿xÝ*µˆ¹ö@!éü—&èóìÙ9¡M/žX\ø!›ä›™|ùy±ø-ƒœÔßSuCþUy¶:C~–(S 9•ÛÓüƒ5yí£¢žd‹Ch˜ï'4¦]‚±Â8& –|ê BÅܬ„çbñkÔÿBY¼ÔzØ[žÿzyC#¦îd\ï¨% @_fñÞ˜œäÙÏSÖC¶ÇTôq[!^Mo”¼YÀùÉÉ6GíN hfnøôÑëØ }²%k;DµF<ÝM)KÅÛ~lîJíß!dó\¥>˜SAÖ²EâkܰÒö…Ç#Õ.%™QÿDpßî½jµ]õrç9-ÏþítˆéÁ«RÝFvf×0<²‹ôG_ ЪšùªëíÌ”ûÍmV­ßÂí2hh²T¦^ÓNÂÈ[¤ý–©X6Š-8¦f¶ÌÿÖ‡&z4!ÄѦŵƒ(ÂûAª×’HÀaÃv•pׯP40ðñÖÔè1å9¬¿ `ßÞMÈwß¶CݪÒõƒv,ü-ÐIÛyÁj·f*ÄBL4'W‘ëêkñ¦ÜHK¼´¥­³U2›i†â/o}¬åþ‚nxoCS" ‘Σ˩ÚÞfí;€j5dY侅޽ül,äÖ… ¢¢rk³^sÚ+à:ò3Ýov'ms`@%@4Žk9¤J/W~ҵ̹|IýD ûοÔ`JÇÆEoOÝÁZ—w5‹¼ë®¿:ÐVëü*1ãmm>ÿÎã7ɳЕ’ãÆ‘e'â7¡èä‚J5v:qÚq;KÁ.i×—ŽÏ¤¿R¯«,OĉKÍÔ®!¨ùÊ9¤vT‹/ àÚ‚ð`¼Þ¥’‰×™½§>Pò…Û{2Ý{JM»‰!ûx2‘½›Î´Ú®K_¦é˜·W-*ô‚ô® `¤<iƒÓ©þÇ'*C>¢c)ù/U¤`ë5iÝSNÙ䛀¨K*̤¾Ìa9ǽŽmé*à¼ÄH©È¿÷P2¢,i9#^w <g--Q’¾Ð­EØ7xÓ?èß§(dÞï¤Sö͇¨Ü u1F‡¨Z] ŸmM !ÖJ+œ1©ÂghjæUˆ¼FʈÙL‡?ŸÅ j°1ƒÇœ(k/öoã”ÙVÛ¨¶Ã]’ûJ‚‰xlOùOøÑIK²éAÌí|2’”ü+»ÕÓêG¥W7÷‚ΡèV^'…ÇNðŧÃ7IÁ²T”r„Õ0rõ@'ÛÜ"©»=2@1–0„bÊõË™éUˆÿY¬ØkžÔÌ_{šž÷8á •Í"9² a8-¾©‰¸j¬jóÖ '¿Î%ãaÕ†¦ñóŸ‘-ÍÖ2aÞZL>Äê¤@ “Þ…õóŠü¶d<*ʰœ§Y&nŵÀàëOƒÆÇ“ù§ ü®•¾XÚ=J8ÜÄ4*(nk½Æ)à^¹~e–ÂVqŸWt"›êÕd› .ýâXJ…ߟº]ùû^ÏÏØ8Eýsø™­†ÛzA\ÒРɣ„­OàÎôÊN¹Êˆ]½ÿþ.dî‰'Êåýº_ã§@ò¤n^)Ó”^ìfœ‘Äöœ¥'¸+w‡@,ùñ–ù9Ð¤Øæ^öµnzªv‡ûÞšE{—è])MJ¼tGÄr3¶ÜpñU’wgoòZÔ?üµKüâ_+î,”Ý@ê¬Ò˜MHKfó¤Äk›K˜÷{šèbCa2æ†"ÙÚ’Bé ¶O(Æ»“”Ì,I˜Ð;¼N‚í_O”cWŒ8Œ ÷?ÛÂÿ ±cüÃlâ ã¯=݉pò¼gÞ Ço)å³)©9Ò/ãAœ~myúNNý6º@‚Kfse ¢bñž%«¶Ã¹À„@×E6‹, ã§&ºÝSªf² “ÏJ}ÌB\#yð¤jonml¿ãœë6ìW0@3ØÜ£ PdÐ{£(4E÷Ù‰Nè&›)EÉRÝÖÒÉèúÈ$ª´?#ÞˆYøfeY¯Š>YO×{îPË!œ¡ø­ÈÂl’&œ×U¨> À/‹ïi$*‚[vµö¤š…bß¾;8òÝ åzóJíŠÃx;â¶ A¬3ay0— £¾á[àõnÄ+1LÔî¶2 p±Ðâ‹ýS%äõ¤Ë6’`wÒ7–©cûÈ¥ˆ5¼B…&Å,Ök´™–H£ÌdˆI³”üîñ“vwÙe)Ãì9ÑA³Û4ø?Øê,<$)&¢eÑ ð†5ǃû׺!âB‹ƒß ` zîÅ #ül®5âïå·rÉ®'=þõÙDüÚ –O˜¢_" »Ãáy4™@Z) ­uy!FjwŸ›uP"JÞ­‡îD!.˜Fè}_=†±àr¾ùt·â}càcÀ_ˆƒÚì/@}®àå“£YÌB¥´³JÑ¢ ÊY–¾¦%lñªYWö©÷×2X–έ¹1JÖƒa¶ T…'BblüƱ™[Å« p¯Y ¯äð›” ª¼Š† ºÃÛxÁJ¥÷ˆùñTÛâ›9A€Kþ Á¼Æ+%5ëR&x^Õ‡H>6Jÿ0Œw!þ&m67‚ÆR$—_ Õ ýóP1ýW,-xÇ@H%Ϧº` X™û(´YËn!5 מ{-µn†¥øÞr¨v.µ4—°ÞöøÝzcŸ*ûBÕǶÚ2´îØC(l399!ÎÿcVt—ÄãS¬h’\ö蜠ÇBí¬Š[£‚lD†íF/!Ó´OùÎ!fY%‡Áµ¯‡¥xáô=FL®u£Êà×ÅIF%›ŽŸ©$‚F8îè+U›à‹‘˜l´¯gê%d°í”t¢½»¨ÎXŸ²€A¬j1I¯yË1&Ù[¦³Bxºø¤â'öõòâvvøm¿‚*=­Ù—6ªEw ŤR—î9O_6ôI”c¥¼s¼:\û£Øí6¨0抸"7V„aŒ¯¨ÈñHÓÀC¢¡{ ŽŒ’ãý/u?f«hñöï¨8äÍ|Ju «Dé’}yü?!Á; $¾h´Dön£”Õü(Ù¾Ñ?[ò®ËXòÈvìòám®èzËXª $OëJ³–)î²õ–€]aÒÝmd»Þý+÷ºéKRDÜ ãD½ )¼ ô ȯ•3à{’õÇ¿ò’¦šÿz@©¯hSºêH hã«nHÚ;ÌÅp‰F€%€ÏFaèõòöÑu/;Ü#ŽÚ¿×’;ì¿Wýck÷o”ãy+‡ªìᘯ,±xl ‡( ôY…œ˜BkÁ‘O¬þh3¬{©Ø@²Š-`ƒÜÞ B>muÉxÆ~àç,]Äže*y¡ù»å½"Õs)[“SÌ“Åô·ŒÑRÆhîMè-@ ëŽÖû®0™¼)ÉÄ=æEàV[Û;{{€¸LN»= Í÷¦©àœõþb8€Ûìù'+Ϲ†ˆ›Ämïȹí-<Ìï5÷t$3L^Ý0iFŽÈfŒPG¡¹ÚšR›'¡ D#s ôó\÷NÁ4¢­®0{hI©¯à¯«à.ÐÜ+\õìx˜©ÿ-ÆÄ=ñsÑ?&* QXô¥š"/ÿ\ß/¤ˆ(Ê(Î?Ý-^|ã‹Ò“……„Á·5CDcž“âÒÝÔÓÇÓ-Âð\Ž6|Ä¿˜tßË8¢ƒì°DújÍöh~ ¦‹µ;%Ée¦Z¸ËÞå=kà™ø›ÂDÒ墭s¯R;|úuH‘SÚ>ž-Y‚nüÍC3^ˆEq}§Ç^pöBÓdhH8„_~n†¼B=Üħ¢™±sÑq{X'>ÞÞÔø»…kŠØ€×ÚS|ÀŸÎ ÿˆ†BP^Q‹PàPOúaÑÄ…Ÿ€cχì 4Ç„Ô:$#£kbm)öUÄ2û§@eù?HÀÐnhp«€TûÌwê9{•ƈÒ1µ—°{ˆMH»naÿh ß[plhž|æÌÀ‘ØÈ+àCJÌï¨`eoWAå(ã õ@Mƒ—A\wÝo¸4‚ÿ9*FXÔ0Eì¢v~EelU}ieóI÷ø$à¦`|Ê™ºW‘ï[bŽ„,H x#™’sàÏ:ªlfb:=w2h3³¾PÏyPeŽ/‹ˆ*•¶H^š]ã@)$ž”xÀz[2ýf7»4í‡á"0/N3׎Ê-!ôŸßzv邱Ûç\UÇLô~´¾.ãÂ*AGæ2¾Q”V­®!PbÂWŸ½zÔŠ}øÜ;ªf·É‘Ùý¬-ÂŽ³Ù3!VìÃâo‹).CªÉ9ô}wtÑU“{Ê ¯ì.Ãîl¿Œ»$òÜJŸó^DQ*[^hŸâÏý‹“uwxÛ£z_»"…!ÏqrvLØë eEÏ@‡y³?Ш¡ÔÈw M'eŒg†wwTeg(¹WÚrÞ/i õÕ|«¡”õO{ïÕÆïM"àT˜ÒPÇ%…¥º¹ÿ•¸}-ï¼ãÖÆ ˜)éz)N ©¬;§)ó;Cÿâbðjޤ ö÷XC¶ €¹º>5î“Üh9´ëµXâŽ3ô·¥$/‚EœÀ¢¡˜…ã¼~R}i죊<>­³” w3™®ïvãâXc^¤A:´–¦]A&pBAÖ%ü?Ì¡‰<¿º’?dãey˜·ú1^²´Î72A—áwb„$R"b ’&ê ÷ºQ) E²æÏ71>wb¯<&ü{ejhž”51hQñcK¾A²”²µ^½Óbgßa:6xص-Ü×å.¥õ÷® «AäzñÖ¢‡‘ÃÎ;'Sd]œàèÕBZV°b0ËP×Óa>‘TÊØœ¤pdfDr·ƒÄ"!h5Ÿ=€_nèo›ø5Þ±ñ)SŒÜÓ¸($€”Ý@„þv:¦Ì7Á&)z*‚¢`]ÇÆõpPy²¡0j,Ï“øEû÷!Qà`:m«X§M¤NØ§ĺ¯³zœy¦J¾ i®5õ‚©²Š£ÂfæËb™E»é˜:ùo±ŸŠ‡‘mwÓJ_`%n¨Ú*ш¨rÆú§ðŸ9c¥8‹IBТ…<%ÁŽ´ZsED§¡AÃÜuuÓ>(®ZA*A¯pÂàƒG WMÜ_ Õ„Ç%Úßi­“,2I³‡®â2jNå¦ö/ël£ÔH.N§äŽ„> í‹@>Zà•ÃüÑ¿Ö 7zÌdh°×" ДYúÌ#Œ“´`75®|)sF,|[3÷N:ÀòƒÎtoŠi¬bJÍgz× rWõ\ªœÿ€^lP,ÕÈ6Y‚ý¿ˆ'A+ŒÏÝÑW \³ÍŽ6Íy¸KF]Â>qÖ˜¾ßXxÝ¥NØ’¢KHÇtL›ºÓAAŠVîPß|7 ÙÅ-@L\°þ—û˜’çpÜo°+û²†%ËÂ餮ž´ü~‰TÍňJD˷ǧÓF²iüNß¼º÷ ñD_vHã*et*¶8Õï³n×°VßÛµp­墪1ìæ J¥JU œ!­Lâ›û¥ˆSŪ.ˆãþã;Pd —€gD½L±ÙÒ½¹@=Þ* üªÅpÜ?­+—€1IÖ‡v˜?=á¿ Ñ;! Ï'½àÇÜìËüëÊ1׳fêm[ ’bMÈ7®ˆš®ÿF!>‘<ݘ£$D|ñZ/†´dmQ„"Á £Êw)©®‰Ô[šß—_¤`9¾aÀ¾Æ^ËË:hv ƒyÈbÅh%Æ€œ'ðµ]…¼˜®£¶¶˜Õ^_ОÖcè¤h;TFgI¾šåëÔË\C¨,‚ËñL/þ@ÿ21ù~Á@¥šÝbÉÍkDåì¿¶Ý4%µ’Yâ[+·IÔQ3˜“Z¸¯s:nju¶²jþ~#Y!¹ž þ *‚ö#c¦‚7›-ÿ3è' –اW $\€úuÙRñ­FaÅÁÞ7IJ«_@’–fíÀC;¡ãMSUUB ÓÑ™.FÙyÎÍ`6ª=Únúv ·xS—CÇÛ›¡´O:‚oýe>®ˆ¶GG qŒ¤¬„$»h_s¾¢kÌÊËó5QƒV®÷‡K?-2‡Øè>­q¨× /+\ [ïÂ:(3  }­Z'¯à‡!äöÝ1-X2%ÃÍC}éºÐp#޲ü”å6ÄI ?Ã-3Ë4âR.ÐIXQ^‰(‘UJ.`ÁŸ‡ãÇñÖt¯ió°GŠŽ":!¨(Ö¼úíâ%’+óÉ%Ok¥ÀN)ßvŸ_Kš; Ô¬6p9÷xˆY4-0S¼“”®¥$÷qÎÌ…èŸÇ / {Ï-EU‘ö¹véɯ¹” "rÚåïßÜ%~¢£å×Ó¢÷êILSKˆ«zäÆ˜t&Ñ}Ëln”— #†pŽºjôåù,ìñoòƒD¾ÀS¬{„RHU €Hýa±E8ãÍÅçd¿Ÿ½¾Šgbª|-ÃÍ„+¤@ÐÆÀE*ëo^0Å%Ì]*à³Cƒ-þ5­f!”¦DÝ¥:$‰ãæP·K{·3ô¬/ø ² ÙÁ í:*}Ž¥é›í‚tà2{¨Ï¸»Õ$’.<)ÍÈG~±Žö.¹KéP­Ë§ðd)„.iÊ@_µŽ¦±²%œžLÕ¿“Ðþé?vÀ^©7<”ˆp¥mÑQÿ»5QÌǵ6ÛØï[s;œù4$ªŸCxMcÂ.w›6ªY/ý¯ë?taeOæipÙñB»¶K§›\ñìEøïëŸT•áÍÅ¥Ô£`O_ÚKqyðQÛ$"»ŸbÅu Q@çÂãëÒ6@?廀ÄyÊ—ÄzRTQšÙ”]’Yzû›*$“Ñ©—©.í¬°ßß½Fí!1ìFAŽï;i‡?ëVS™ÜN™¿‡lÆ)/1 põ³L³\W½VÔ«â^ÙzŠ­õîÒ‡Y‰ú"£ÕÃåÍâ“ì‡à‹M¾nÔàHV@ªH¥à{¦ú걊î(柋è1>ŠÞ¤}Ë{\˜±/‘jÚÆ^b¦žÒ¤1&hv‚2œv„i=Íþûÿ+ÒÎì‘82é§VoØÂò^ƒÁWkÇÑ«Râ[ð¦@ ®¸¯»^+c1جÃÞ9Ÿ{²ú2½oRˆai+ÓÈãÛ‰ V´²mЃ-V™NvºµØIå.ñr×hsœ¹ƒ½¿o‡ß û gÖ’2÷½Dºµò&EÅr/åJ÷½Ô&ïP(R%T?ˆ«ÚëîPJsƒ^‹9J̹º‰»aUÔQ'QòÄ[×—†µCÒFØ-`á°”,0 ¿¤+{ oÐMï,ÖF¾LÆ_©CÔ?Lòüm {‡×¨Ɉ¯y³ÚâÌ¡9Ò6õ%:—ÿD¯ño¶oÆp9´¨W˜}üwÄâôL‰6†ÂÓõims+]/δ¯mg-/4WŒN€Tò(¸Ë¯÷ñò‡ýWµ»\IYÇ9â÷$©‰ªW×° CÄZ©œŽ($§9¤ T j¸œ„ƽ«Í¡X†¬eñ6=h²œ]Î\Íòú~ùÇsÞÂÊ ·aØ¥c¯‡Mïÿ{ä^@ÆtðÓ Ö*º´·«%‹¸¨Tx–9UD­[ ª;×:„òhtݲ?„!ãë?ù_¹4A¬š¤Àáî.»)¡ÇuýA¦DnõÇVÈ S€H}:NƒVpyáYKÎ# ñôëµ¹W[ƒGl@d7/S`©uŠ\6I¡Žd²0N0Ü@ ÖGYÚíÐÄP5{öà»ÉTدľw©Ï½‚Žàþ}eIxä-=ƒ£S¹€×gRXˆñ, N؄ӬU‹‰ŠØë¾ž7‰ú'øšGAF<¦áÍ:É*̱®áøIù#^FøéÞ$8Æ!ÇñÆ€8}´žÉè'”@¨ãÒqû&?©Ä€À-Iì—Æ€=uÒa ‰Ÿã¬F¯#¥Iq¬ÌS!"uÓ3ÑIpTð­ÜuãFÛË•Ìêþëš­BµýQ.V$Ó8æUæÞz…XMÅ`k¤Öe=Ÿ¿h& eÛ]{?ÜçÑ]¦þHi†Hþ %À'q\ü€9Étèt/ƒ‰ätØ>4&íáZn˜]{e–¹ÎoÃ[·À¾ï÷[RUî©O$Üô¿mJ[a)Ó }µ”еÙm=„-)÷ºéKRDÜ ãD½ )¼ ô ȯ•3à{’õÇ¿ò’¦U½`uô´ª[kˆWÄý óÍÈýzí¾Ê—ß+rãóžÄ$“sèµei›Í íޯܾÿ`YØ“ŸŸ¯AuBSN~È"¶žÛ*‘íqz.`¶²ÚYVÌ¡‡Ê«/»†ö}hõîm’Ä1P÷8GLžx¼ ƒÉÚé;¼%´ Ö/hX“MÁè;KZ•{S¥Ã”{HÊ“óÐÊhtþ$ÑUíO}£þ&äòüoI{ŽaÊ>âwêvÆåw%ùŒ@ÖpHsoª.)Òá-šYç¥ûù*¦°W¡îÄþ6K¡:„aÏÊŒÙÙ 5æå¿ARúÒya5ÔÝóîk#$5D±âD~ûçä\•ÈäÑI¬•DJ@>Ä û§Hh<`[IO¸ÓËþ4²ÊG¯U¦UI~î¿&Îý÷£L¸t…òucB"4×UWÜrÑH†½±¼!¬Í˜UÁ$vÿkÎÛI”LæÒkX0ÐÎU%³A^ªD[:ê‡ý猛¸~’´«ù—¶\~hY1þ…¤Z¾ÏɽÜâÜßê'ŸñFŸ Ó«SM ©ª´E¾á;Ò¿Òú†.”b¥Šß¾¸û™}xŽ·à–¨†3–G¸ŒŒ~q·zL©‡z½Øæ‡ØŸ*žö̱íò£®wÕ³NMúõÞW°®§A}¹Fÿt@åŠSy$PY9cc²}·ÚŸÝ§'b,öµòd“G‹êU6a¿™YM‡Òƒ õ¿’ê FÓ”BÆNt:cïp²ÅÚ#ì<`˜]K+äAäQû|ø¥JØCu[ša4ž¼ 0ü©d‰#Îôáóü,ú8¹æ“7NÈ;ðÈd’ÉéŽÝjøªÁ6\0Hc‚ ­Nµ—c![…2quUX.À‡*lœ‘®¬yHšÃ×óŬî.&ñ%1Ô2“£ÉžAòéx§Ó‘ñÌ"¡~ñ´2®AjÄÀ¾bÕ«ŽõGÜn1¢|Âér>-Oó44RSã»–z¸8 ¨‘*t¤CRšœãtØLvÌ~~üx³Íô°]g3Lø(”¤þÈÍl÷ŠvNÖ4ÞÀíp×u“ÝQ»öï(ðcq|ã7ªŽåÿPÅ¢Èyñë„!Ö(D0 ºüÈÆ¨ÕdüÍ !Ê;Ä n4Ò»ˆ[Íô«šâ{ÊÆ<œqyî &ç`”ÉyÌD,6³s!ðh"\Xà–­çüQ7 ò™&k•’¹k cÆjÐ ÀLiX^êpö)` h:¤3åp1‹J×Ká€s³³Ýˆ+ŸtçÎxŠ@kyÂ>m›x+ÿ!€Ž¾õrÍÉ‚D™ñax’TÇ}2­IΦۯ¸¥R¿óɤ*ìŽ,±çEíDö¯"{½5ïJ7,1äéN¿ î.W9Ëòx8©›-'Ø`û´£zÍbˆç]kö¸ÈÛ·æÄ¹yºn«ƒpdø•‹[ˆj$϶—"§›‡÷6°l|lÚC8à*d¯ýa‰Uk6ÊÑbPñ\ÿ[x½—Ö`nû¥š«÷¼\’ÆÚœ¸æ~§®pÝ^áS¥—ý¼{<æªk© P=ùqo^)k˜h°1”-89Ы{k›¾•‘'‹Úï…‘‰å’æ07tg)yy¿aör¨^s玅Bá1C'å÷ü½=ÊP“õ%ÏâÏý‹“uwxÛ£z_»"…!ÏqrvLØë eEÏ@‡y³?Ш¡ÔÇ­…'P_½½7€¡T–+”ñçXÁ^ —~Û–Ž° )ú†³¸ÍòàA-›¶›ÝI™GÔÛEÑØ¯~ÃäÉùh|©·¬È‘©)­îŠ=<4ƒùÝ¢/AÄíàÝ<¯h²ô{‹ŽŠw@‡×ü¢ih#A廦Âýü¼(¶û ¦Á+ˆ–çr8J ®¡×VÊìríá*åU{ò¯ ±gëïÓ‡ß#‹Rñ«'3QîëÚÀGo]ìѤIP;:<$«SÃÀWDnL ª§Aô›)G\ˆás‚‰Îe>¥a˜,žÖ¨AE1äCU=r›ª‡;z†z¢eGÆ}h°nY¦ÀêA³ç¹Æ(ï·à½æ¤c¾N‰F'ôÃ3À×Úv‚€ µU¸yªíµ[m¡?m/ð¯¹ÝþçX+êø§:¢ÐR¾E—[*RœiðÓ¸ºgÿ1mìPwÏêq„ï<@¶Åù~›þÝ/ϳOä´Èjo"UâäK1y5[‹b°ÂÉÑçç€Æ_« íV½Éï|@ÂBd5Áÿv5 C¾eƒQA@Œç…Ë3s´"cAÞT‹çˆàë.ÑÊzÉ™ñ§³X8†0aÕAŽÓ¦¨Ú˜°þ+´ccÞ®}L~ri‹±·U"â%çnÒ+¾|ççÂH µ!¼Â"ÏÃ4Êà×Åß“Œi´¢èÿ‚Éy' S§ª·üÖd $Ædé«óçì[&{Ü&ƒ­*NÎ}6øxq³{úš¯~Ú²éÀï^˜ Ü"à ͬ}_™ V[HIÖq«5:6-ÐæGá•ò8Ùµ¨87Éz3!^ PuzíJó¬ð®÷mîÄþ#öåä‘Ú—¸ÀvàäMØDÁ˜É _G¿D gÊÛÙÍ)´3ó²K0oT¦°¼´”0¡ß_N ©gþ,Ž[„ %Y­¤´S.ó]®•§¹ò5/Aµ·ûuzœ·«§CntÛz9¨ûqºJT:mNèPSY‰ÇÉÈ‚ûØ?ÈÕq F€8訙K´cÌã5 rŸ ŽÉ±ˆïQjÂSôßÿtmÑŸtéâÿqÁslU«KÒ¨Š©åÚ9)‰­©˜ÁÍ—}¤‡·®IK2!BÅÉÁÿxÈQAQã½Ò6QÒ¹NEß0{s÷ÿ?U¤X,ò¼=õz‘àz…°?ø˜«T5œƒ¢­^áÒì×ô:Û©²md”ô •ˆûÈ¥•ˆJv¤0Ûø)ŽéCËÉÆjæ°¯.¯È¶>^í:ŽýÁS5@ݘÖï*Üþ³"ŽQÂ,/ÖÓ¢‹/X-TÊþŸ˜R”,« fê?4=ê+—ð|tˆUñï…Xö3ÌFPÅ*`oÖÖ'·ñ'¼þÈìÚFì kø=½‡eVM,{Ÿa-ÌbÔQáhMN€|7HQÍÓQæí—C{ý§ äg™¶î¯]Òfoc°y¡*»“-Õ\UEÁo%+2)BÞ8D/¨ê1·&1ßHÖ鳇šz5ŠÝàãêø}ú7_°‚‡ÌNp_‰â‘ùdÔ3›ÙWŠ©Có–Ê¢EЀ*.¶0@²oÆ5.KÚ¥Å}Îç÷!ذ‚ E~a”†“ú}7ï|b‚¶é‡ZÛAEÆ& @”.ÑKižñ¿‡ë ¤ ^ë ê»òÒ&âf ¤‰ã„FíûÄDpøÔYؤ2XÀQkqù Hü1 W4ÆÙ‡muþEYÃOba‰Š’Ã"äMé»ßÉ´Úü£v`ÂÍÚí¼Öš¹¦U¨’ÔŸ_Z‡@g(-lá>>ã¸dÏéűJˆ%”¨’‰ ¦çQ“ƒV»ù!ëf±¹æSò‚£Z:Sá“ñ4UC:á2Báø­å®ŽËÙjòf;EÊc „ÞmÙ5÷EJ¦8we¶ý€pWÀ/ÄÇÛ¶öíŒ>݉àAóh#•ZRS‘T¥ÆâmZ}…—ŽÕßFCŽAm^l¯{ú”÷Ú©ÆÎq$%JÁÿj„²&’ºtµöæ×4¡—j†Èau—]-"ZÆ’¨c >®â¤ &˜kªúe0|Š1É]^²–M&ºËY{ÌÄøEþ€&-›ÝÚc*à<Ê’±(¿‹+A›ÈyuÛœ BtH[>n¶Õ;ñ¨O¼¼_xdÃþðáo¨ÄV»6f­@ÂÔÖM¥—ƒ™Ìü4ªsðS}» „Àn¾~GÓ‰ á+µGN²KŽdlÙ–Ô|]C&[͇€Iìí˕ۛG‹9Ä3ƒGì–{|ÐF÷ðbâËš)SèþÁ§µ)0)œd}eâ†À<ÓûÑùv¾™œ$ ylÅ¿~PW“M½`Ïbš§^Ŧ á!zYÂt1²aàkì”àÓêÛ ™]}QX õƒþdâ¯Ý±…`|Ë¿jœ1Fèï…˶/¶ÛØÚ‘<}(ß öÇF4§)†#7…o¾"XZ­¬¥N=Ø”jÑb"ä4Å‹Á†mPYwLðïk——æ­Óל(La ³\]öÙïïL‹k¨5º¾küÍįïxÑ«Fl×s€ÁbExSS RÐôÃÄGsÞiO·HR³·$Û%Y¶ŒE%$ÊTw!ø’´fÜõ¶W0MèJ€ÓòÌžBÚákôYß#wf?1?”iÔ9^›~_ 8rÙÉÆ:?áÆ»]&Jh¿yÌø•œÍÞ1²^œÓôÈÔ_Cçzô ™íç³ë–ò<ä;¼;e!¢mP«K4ƒºÿÙEÿ)ÂÌ7n 3A¸L„ûOQ‰Gâ½YõPÚþÊÃio6ê.JÐUO„ –.ôNWšÅDTçm~⨈PÀ/‡ ¢Òt |B¢÷%FÇM9ƒ¤£u÷Å 7LŽŒ½ÐÀ‰.\°*üm0ƒ¦¢(‚”çœ:ÌMÉI ÛMš¸é"~öÍÀl¿ñeîF.€á–ý#ˆ´ó’«g£°âo­ª 툆G[ËE·0È=ïv`»‡v‡¢‡è5 4 eüN^‘ÙöçØ6qi5ÓNüà û¯­ïçèy~ŒŸÏІü=#·óï“ùú_‡t÷áèeá×'ðìøu¡ü:÷ó·cÐþÅz&(K5ýI•¶eÝ|¸8Mc¥¤®Ë梃ù‡™º”Ö›?†UEŠvÝêº9Ëy‘}2ñ–äÅ4î'Ÿo@@QZüéM8’u7Œ…¬MíàóåmÚ¤p «’®LÏyR®YP¡+NÀ…_ !J\4Ã9ÖRþoç,<5 åÈ= äpdÚ¤Xû®ƒœ‹îÕ‘Øõ0ö}^½¢Öi ÕdÚ:+‘ç±crÂeQ!œ÷H0màˆ®@27šê³úÕ¼ÒJöàË…O9D‡ð8÷þBÄ#{x€rëIØ– Úš½Êfî^Ï{¾uÇ?[ÇR¾P>fËN°z9¤¼[ˆ/#¤f Ã_ô|¥Î^ʬ”K1¹5çy0§?,ºb”~¦Ë߉¿ý Y´K¼w9Ñ €³³M€£§uáEÄ2p$êØžiŒÿ.Ÿâ.žkô-ŽzLhˆ‘{9^÷iMƒ+éÆÊ³?Ý%èß±q{Â=‹¡=?n¸®˜û¯=DZ6‘3&ʱ¦‘ Òì· “ã$Úà´Þ•_êºN²Â½¬Ó3ãø•¹iȩȼè~©É™ ÃåÑéaE™Ö¥Ë@óÄETÃT‡SòvgV¿º‹L|¿U[“Ü.d×îø¬-Dǰ@Þvi‹",t€ñY0­MX¤Ñ*Ú´¨>5b1—µ4!r ÇÍaòâÉ5äœI%/¹¡Æd–Ò‹ÉVÈi–øGtyK´g/¾£"Õ-âÄPH/f_ ñæøáOÂ}[ÕKnDh ¿ÂÇï¸û÷Õ'Ü>¸˜¢‰LSü>‰šÏÚ4ÓòN­£¤.E<ã§‹,[6ÇvRkŽböñN$ºLcŽðŹÌT&‡<'‹*H1K:çHØ)ðõž@Oî®ôö† ÓLhØCƒÙéB¶m€®t꜓ÄV°€¬rRè“Twšut"f¢¸Ý£+‘éÇ“å³i7ï*w´¯ŸÓiêw€£(ÿnꤶTî¢þ®#X+²ž9ßG¤®;©ó­ŒZˆE ($²ýkS/¨‰Â£aqqS2ó© —&§vp7G3€¸ëä§±çT^¾N̉h­c‡lÇL…oÒ]@øwÔÚ¼˜6‘ˆs,ãÊMŠW¿w}µ <™7Bÿxë@ô怎Bœ¥G°éó8†Qˆ¿†_¥¹°s¦”X¨—»U?ð“ b@9å/eÈ|•ºx¾ù˜èÅ´ÖTbŸa½ƒMé¨ÄÓÊ7†°°‹I»ÓÀC‹²¥¼õhíÂÛå{WñI=ÚfYcRZ^Kâ2•[[àhœ8«·êÓi[ƒƒhG±‘¢C¦â–Ö)ÓØµÓíÑÓ]`’šÈÁ—W3»X{¥+œÎZr ÜzHϨIús9m· £~·™?뀆³‘f8ü ØÃó°b€@0¶‹y®n·wöø™s³p-C7 ®CXݦ·¹ %J˜ÕÆVºtú¢U‚د?´q¥Õ‡€*Ôž 9Æ*Ý#àK#6œbÿ?BË¿5Ò°]1yÔY‰Wf̤•å“ßÚddm¿‘ùÞ÷™Í§vÜ)FÕVm œ¡«ÚM£ºË®Æø­Ú@ÞNÝ;!˃8éV2«V¡DçM©àäd–󌫢Í&ÏQ,{¡Ç6÷uû¸›ÇØ`w`{ !sxÆ{R Ìl©:ñí¬üYŽo»-MX2eãiê}ü€p˜ý LÇÙÈÏ õÆø_h%¿-(l#®ÍV¸ ˜ò‚ ï³iã9lίYZHîg²X–ñ,>]¨Ö<Ìšö R[ƒÜîG·ð§>>bÊ£ò'Ú¼ßL-$Kòï2ûl¹>Ð}5ÈÊ•Á´ú!°@onÆÈɲeÍ.:dl4\œ-rÙTm¤Í±ÀZ/€òV)nªÈ yz& žh>ƒ}ãd³7af½IgûoÉÆðÚz¸€€þ0óVD€9ËÐGÁ#‹jâÍ£_–xλó„^‚!5=Fä#d8e%¾k£L¤1ZéJnÚOÝ0YÛ­On*cL/ŽºAñÒÏ»¸ðr°‰€‘8EŸV×ÿÃI£PÈÎZ×ÌäBŒÆå±´\L ŠÂ”„e–£ö8Ñßð¢IoŠ(¿NdÆÉ90E,z•‚ñÊa„c› E¤‘/d>>èÕœ=Ù?à0yÀàØä¶ ¬Ì¯_­¿s~×Å3ç7p±ÿ¯æMÃ÷ßqiünëeZâIê³Êi %޵Ô::ƒ_öˆH Àaò©ÀQ{XäqZ£|Œ¥§J}ÆäÝMSN»\€½Õ;çRDéï4¸^oA4ÇùÜ`ÙÚöùƒÑêhG4|ýÚŠ`/Ò½!cÀÙõtÈ™•6þ¥-mCÌ~…ƒ11¾WBK\ÆÑޤrnä´~C“ˆ.*»;°_?ô~`3ç”jPº¬Âˆå N;VWîšO·Ÿ;ò–̘ìBjÉL©#ÓÇ­0d .‚ Þ!j|{ ª!÷kqÄxn.6ÞD+9U¥Rׯ?öTžûéÐaêŽùùK d?w)‰˜š}Ø ø*žº_ô)?nTÔYT^&°Mì’Øeu ‹)¡“΋L.ù„ËÉ|¶¤j–we¹¹[ø’£a¯ ){ñ*¨ëÕX3­BRÈ>{«o¼ÉÄ—ƒ«UÓzŽÙ3Fƒ@V Û†‚w0`ê¢ ­{xŽïŠð®D&]ßÏ+ëq¬ë8¾”9·HæT%4êe¼Äy¥¹í‚ š¹àùï2/¦-ÿ)1s­Øƒ”§Ç F¯½Ó£¹ƒÛP'Á“coÚ*bÈp:Ÿù™€¶ßÇÐT$%u·êÍÃMtûOeëreAð#Ç£c—KÀKh‚M/X¬“6õóaé]’üdJ ±‚î>ú¼¼‡C²pVÖÙÙi7åµ8-ö¶--\ÇŠ2/m :N'(y~1‹Ú£ӑ6G”ñt_ž"í¦ {üI^â½Sc³/¥@Âc §)¶™åCâR“¸µ€â]–Œ+|Œ %FEê?2 >F®Ò,ЊÈÓ‹H6aiæ´ùˆO¦½úÞõS­B›‡¥Vª†¬\ ï·Dqùá=F°MO"Zâøʺ&ÝPh„‰õ]ÎR1]|³(`„2’@F“r.©{Î eÏoD½.®ÉA~†ÝÝ>8‹¨X1‹˜‰¦ÑpÃ7ä£vs%óÄîtÁŒlßµh¶„ÊæíNÁ €Ù'Éìqãà%04uY‰s´¶'R‘â4yæE¼c.Ö¤;OêVM4 ÎÈ\œUBû³(h¤(¦ØòýÝ—þ¨Š@“È÷O…‡šÓÚ 7ùÑñ1 R™^óÆJ¾¹D®ezušycj圧ïŒÕµ…P¼¿ŒM±K™ÂMã#\)Ø• ¦;!#šŒ0´%™1à ÔÎXý2—& G¿§ú÷48ç¸òì">«y77J³ç(맨üÛ=LjÇ$|”_Ÿµs t °þ‹¾(?ÄdH•ú*AñWj}‡…N Å6X¬ú+ `pÞ×±Ïè´d˜Ú7ºµ<Šñk½²nÓŠfD¶H–"Ãç2ÉP—“yçs8À%YuoA­}]ÿy³ ûA¨%™ûè¢_…"ÊY€Ër#oÇd† {Úša‹ôp]*“°f#}Ì‚PfgÆ KSëeù†@¬€0ŽT:Xê«oŸ×MØü|<˜æ¦€´fÆÈØ03É_ˆ²ôi ¡u€Ó@·Ø î2©™a,Ì“ Õ8ãªÐæš)ÖÇH‹àd'¡ù© ÌRÃ4‰©sXåÍø‡3}š&l‰ÄclTaµ^p¦Ýó 6E?æi†iïZþ,ôZÎÛ`Âyxx$Ñ>:$¿:\†´ÎFSÂF¡lv£|ܵ³u¥ìKÛÆê ­ñó£ŽvvŸ çUh ©ï ÷#žwˆmeá@o†–?§–ºsk¬£€n6…€z§P‘ ¸v{[É5á C,J W¾†£s«˜ŠKl«#b+VK¨ý™¬ŸØ¹j«â›6¨ó6rm– ,¬Vwv°b?¨pE’ž(æÄp{>ŠAß Ð´[Ka£<‚§e¦TeÌ/OGL[s´ÒÅËÒ³FþûQlõz|Æ`†¬9~éK ‹kä®þ~{G³•´;g"Œ>rÊ™êK^‡¥Ð•Ót¾…à›ûÝÿEöº ã§åXïJ†Nœí}ç“´3`àÿ.hgÜEÛôGáSÛÈuÔIg>Ð÷' 6×Ã&%õP\'­¤Q:ÖcûqFÇDÙ¯Vòœçÿ)9äôÚ wóÃ3TBMФ34Ëåñ¤ÁPÔ›o&1qõ™jœ—¼^˜è¿^Ô”ëx EƒIb°â.þ2"Ò”{sÍÉŒ•t²¸5„Êñ8s¢8 äõ'‹Ï.ñE'$ªdCƒ½…`ì3!ÅÏ%u2u wJØ¡žš8Êz¥tXÂl.…>Ül† Fs›ùRèdŒvöÔ[€¶6øƒõSÉð(˜Y؈—†p€>¥åÄ5—oIŠ$æ äi½õEÏëý¦ œçç‡W/îÝVk˜~0 ùªý[i·¼s¨?å×ñˆI÷5̦Wbü99<ší—dÛŠ˜pÈÈ»Fßv¯é“¾ÒZx²i..r-5ôz4Úlxghy(äW‡Ú¥eÓ—úH]XG§¿›Š±Ì$i|Fà­èÈkA “‹m½$ñ¦Kì¿$Z æ¡Ê¶F”m×Ü{BäƒFwù¿Ö›ÊÃ|Ú×¶¹Ÿç·YµÓÞ3G¾¥7(ö¢Ïå˜V«nk`Ûª†ÿ+kGFŠi¾\àYƒÍ•{_tw´rÈÆØ}ÅÛ/U"ôyÑÆ‚åUÓwÞS†É"Ây÷ýÛò>VvÑf¥.‚9‘„þmÊ>OQÂÝ”ûþ¸ñSÙQvçf„ʳ1CEÅ“·ýéƒÔÂ:ôðÑT6]A ' p:w‚YüÖª¹UñÛ\Sƒå¿ýDáHŽe/JIÍ\QhA…rÜò|(… b‚e=^Kþ¨t-Yb!JË-ýyŒ¡0•©÷iG|ªœwp„…ßjH/ûʬÉOââášbre13B ¶c9òøÓò_âèYâ VbÒˆiŽtaµãjj2{XÕN%Irí¹Ë'ムU’—®ãaè¬ßæšBØï^dIÓl‰>…µÙ;·qÜ Ó›¿%µæD °uEçÎ µ†ïcM³}5.°ÞqL?ˆAP î;*ÍP]´ÊõûVÙÿ@DQT¼d5“v³Xàªì8û—¾&¼Ê’ƒwƒ¦åº«•|w´šñ½»ÆÔ°í‘£÷4£ààÏî¼zÎ!ÔBÛ/èMæÃ°®tE;ä?”Õ7Ë!¨‹Ê¢',žBÎÎ|Ži0R°m£øÞY´d9h³(^óß¹í”Aé#Õ™€î›WnƒàƒI:p‘uõº˜Yœ~´Œu>‹¨L:"Þ* ›Úe.c™Î>ОGx6çVUïÖIÆe{s…ÏæiVš¬ÏÎ6ŠþÇ8äs÷jÉÙ˜„qžm›ö_о´vG{ü²¤MÕûØ»Ò Ø)ÆrÄ|܃ kõz_èǦSpTÚíïrÈ|B’'àU KƲy&Ô2"]ùÍë¥оÿLÂsÑ)miýw)oØ d•“¸ ó•)ØXµ¼¤ÆÍ”OÞ&Ö8QLã#êŽòe¤Ôu=nš´™Mµ.I4íYçˆ[bwƒyÔÄÝÇ 3Jç¾~ø[]À"/@™`ÜaÕæ,ž ÍÉ4h Þû‰½V æpïˆÇ¡‚¨þ¹åÞÔ°8; mÞh°X6RxÒþÿÇåñü¾2…êÈr±ŒmÊP 6ÏG3ˆ¤À…J•’üÞsü€2(¤õ¿¬ ÔþÔ³¤åˆùîÿ^û;ƒˆÆä9Ç ë}äD$OBÚ›)dÄK$pß§0ÎmkVõ­AB ®A”™Ÿfh>sS@†Yélãd’²ê\ý|w*ô¤§÷‚Ãeè(Άy ßœ©XŠßÑ'/±ø1AD j³·ëßqðuë§?ˆ3s¬Î_E¤;Û<©ÙÙª rºT+¸p ¡vnÑZÙnŽkoï¬ÊyÑ]ÛUY%*rÂaš)eßkÅšèÙ‚ô8;‚w¦l/¼ð¥wuO{44†5VŽÏˆî¨º³mj,Œˆ9ìlïØ’Ïy3è1*J[[3¥Äðš¤Þ,ª0làÕmꇧ íTÀÛ ®Ýç3‘ ñgLïËÔ¸„‰(TyJ™nõreàÔ‘ªƒ|‚7rµ’鵆Ï$È+mšg•’^$†XÄQFî íËvXmZRï~ÿA—ÃzMÌ>´E^éü„÷8]}— HϘ<ÆÒO†páÉ^hº h<‡À”Z¹£àhg®ÙC§ÑG¯Ä_Ô+ðÆ€³,'kúÏ]ƒsa ,Áþw 51yw`¬ÁÓ`ÆÅ¬†©Â ÷mÖ¿zq›†Ü˜s ÚMooéùK­çÆ¿j,bl0£®Žk}ɨPY Q¿zð¸FjD»›U(^ïM2s Ÿ‹´Z.mÆìåì.áÞæ;»øÕzNDîJÄ$>tj6ä,.a—ÕO¶b[âÊ 2MOÞ$Ø&›upÐynnzˆøUåê‹2í“6©~Ú‰…jÀ½‘~bó›!OŒX[¶(‡“ùOÃ{°Pi-*ÔŠu]“~Q>χv½¶ëäãnº{¶¿Ÿ²Lã4A§¼$œ)‹3íÿAêr¯¢*^#)¯ñ‚Ïã‰{Y“ÆV”Äã¹q+ä_óú_š»LÁvxzÑ8QÜ¢IZÛ³ šÏ wSÚT09Ò8 3&˜i¼4¸óJœ±ð²ìrÕ‚QC’—÷ïÜKº ê›dÉ#©æùmнà˜×<Ñ`?Öÿ1ñïÂIèÙ~9…O5ŸÑüË£n}ßí똤»§¬Êz á¨áRÒŽÛGngâ=½êåSf[SQÝaþ‹Íæ} 'ëÓh Ò˜|yÌŸ€á‡;ãukT )…ƒX“½wœsBóàÀµõ]G§ÚýÔ Ï\tzyo_ãí4#L‰ð6Ó ´ÅZáVôHK¡ÜPžCtüË]CműÆc<¹´Òiî§Xñè„XG*[¬÷ïON7!–¡aßò³¾†(÷µÀÝcwLå„bu­×ásKrÚ¸ÉHéñÉÒ&Nn‡Ý͸LŒ+U;:Iíp_œ7øˆïÊYGî—çIòËiwØŽ'­¸¥ÇäD.?0- Vš)¨¨|e záÒfQ««g0î}rõâYI¿ ·z¼u½×gÊo‹ê¬G·øÈš¥Ç÷¢%Áá  ûRþÒýyg\…J‚©q–ÿ?×Zxž±U™PËÓ±3Ëü £ÛÆË(ýa©ÉÒ%àÀüYèNŠÌWfxê?#ÖøªWÀ«ËV OÐý{Xž θÐ+šµ^>Qû¾ú§0Ò)q·›^V~j¬%]ðOkP ¢e%Ü /ø¿ÅcùbÜ´##Tnkƒ³ $f0õÊ£¥ê·NÙk¥b…@p¯‡o³}͇x3¼¢>ûícŒˆ«ÖKG$Mý›ÜSªþ ë¤Îµ÷] ñ¼¢¨â *ÿieó'HÙpf¡œfúE­ãkè KÓ‹Ž.òJ9‘Kã»/(…K‡nbñNwÄ+DmAk\Ëä1Á‰ñt)†¢öR…9÷­½Ïo¡/*S•Áè†d¨ýçƒÐ¼, R·‚”왈nݶfþˆÑea¼ˆžË HUÐ[Qô¤+Xs­pÿ-ýs©—̵e6®º#êô~1²üŠ`ÖÜ•K™–]é#·  )ìIÝxéÛ0Oˆð‘iä¨{© yÔέ”Í™ª°7ðß+òñJ—ëNÁÎõ9øKþ4nbÿ[*ÏøÃç,v&¹×fÑØàvä‰SO¾ûùšƒ¦ðý­¸=†¿vÔ|+\%¿ B}oø¨«¹—Ø, 9«ñÐz€£w«L[‘r«‹*~¤¬·”/È[ ÉÛ‘ó"¤ûÏ­D*ü(œáÍÚa±V•–,àӔإ Â%ë—ÙL¥o0?‡L\h ¦å=kwƒÆÝ®ÈÐ@»# ?ò=>L2’PØéÅÃ6hé;œjþt6#‰[&½ãÚê8†ÑFrAt˜½``åøJM²µ73FŠwªsêŽs@_±õ‰Ïì$…aÅCci™8Ä0íÄxJùÍò9´ƒñŠ’Å1ÖéË®šläZÒ f¹½è¦xç˫ְvTy.à‰â¢u€u{è#°Új XéP`/pŠ0KþEL±€Oã>ÿ"Ëë¾Þ}¼˜N¢ r»î'— ÷Ìý:Çr¯hsn þ¶y75Wú›qpƇOJ.7ð¯|ÏÞ¹á^â-‡4åjØâ6X¬«-Û–ë™ ©·a{~œz†QÕ·V$é\ºSzø2ÌKduˆúX}({9±£â·üS Í>eQTc¦§ó½Ï*É( µôÙØ Òç€î ëäxL›O æ`ôu›M÷PRàd¾â¶Gn¿ØB»¡cºÏæ4úÜåT˜d%*ë>*“âæÏXf(CÞÆ‘QÂä¿«)Ž/a³‚lwŠëØáê³ jnž¶^”)8{ذn±ùѸ½Í§ô†€ÞödÜÃÀ(FÛø ¼ÁW#Š~=ÖúÚ€Z\fl/X{­L­ãïnO\ÍZ[DH§i̤>,O„âÑŶäǘl`íºMîüÒ¢Zß^\JÝMé[´M›t†ÂJá:ªƒýº&BŽÆcvAÅÂ8û?èEzzJƒÎD\ñfþM:*pêÅ¿‚é¸?ÛèbâwQÑ®Pìç,•düžZçØËÕ2ç8›=Ì,X'ì¿'¦äï»t+ŠùݯMrDŽ[èâÌCãùÉ¢©Aq‚ëÚµÚS}ú å9-Ÿ³–+ƒ²þXkøFȼK3÷Ù–;Póì´óF¿YFäLÜßC†ÝÅhxÏï±VýÏ?Ó°P ª¿YžvÒ’½;õJŸ¼bü›ûeÙôc rR†º­$EŸ7Ss™»ÇQ¬ÛÔ~ýÛ_Žåß0ÃS§YÐzóçj? J52*¢š"ÚÖ©D»ÜÇiJ€¶j)U»t¹0Oº^nS‰Ü]kÚ e5hý“æÊ×_ê7­B™ {W~O÷cd¯Xd Ò¦Èj49‘?tdsºzæ3_É2éu ª l‹š›:ë„O÷+OÇýNò§’µK 1é>fù ‡õ÷nèÏÓT ì‹Gv!öŸÿ ì»ØS£ß˜FûA‹Ç  ¯q_t¬JM7M«‹è®\pøÙr\-¹d]¨kÜWÝ*„†Žq øÕO ù.’­êŸÒ˜uðæ<⌨´w IG~ŠùXáøRê»ÔÇ ú¶Nñ,ÎÕ€ÂêÍôŠkaêÒí~¯õ°qPÝâP™a7|¶iå~ Oá!Í­ÿ&éPž± )ª÷’a¸ØóìGÀûÃ58+ÑøžY;U¬™éœØ³¶“ÇÛ@‚C 4ºðYÌôžÁÕW”ÛƒÕØGŽ:ß&¢LRÜécíã s.´~<øLËfE²Ý£ `%®º^¥”9†ç•Ø#8ÿ8k3» _uþ7ër3•j»t•Á—q6!n‡cE:÷râªôš5â êäëiÒ€îæÁkÞr^*G~¢UrË—]Å=Ú«ýq`¤ðô¥âúRjçuª|mÇ庙2[Ö»‡4 ù?Vr¸*³PÜ–Ò±òaytÈ2—ó6€»³ú/°óÚžC$$rR¸÷äLiý(ú\ÈëÞµØJ?]Òù&:-€–pvZÉ¢ª¦sQ4!¯¾ñÌ1~Šßâû°?„DUèËþŠLQ]~nPb§2 n™ãW3…aÑ{k›ØŽ#+Û‚Ø]°7¥’”Ö3˜¶”ºA‰Y‹@wi*¢IÍàíd¯‰þÿi€ƒ dU³I뫉®d~QÃ$1kcA²™A@èö£Óòä´ðâ"Ã9O6RÀ{ß~!`¦ÂíEæ|µ”<À‚“‚ù\ù—ÅÕà3—³ì ð_»Ua2~î¬Ö„† ÿÿÿBÁ†­Mû¦½7!ZO¸˜ þ¼©éQwÓw¥Î±•aò²QŸç Þ(\À†sH—“Á¬›[=—êÛ_–Cj3üà5FìÆ÷’~[ëgΪ=“Ô«ñûˆ2Åè\´¦‚¡; zÞCÝ1.b˜÷¢n#ºF‡y”lSÅ>íâó*¡ª]•ºn?÷3Á‹Î¡HÚŒÿ,X“û¨ zkA 6Õ4ýŸD&ÅwmɆX|œœeFkн]xf,¨Á4Udç¨#MÓtGL­òzÉ/5 ûþ;ÍÚ6VQÌ %™ÅG9”I-ovÔ¿«ù§·H¬R.Û t‰ 5ƒ|6]ß‹ED¹h øäO$Î…:1 QÔ“3O×FPð–û©å=ç!#¾U¾5CwF£mí¢\ð…çlk–“|^Åc—ç •Þ“ã±àãêÖ`‰ØO¨­u|×ú¼u®¤†÷ ­}5+%dÙQÆP¶¹æÎ\>Øü½”»lœ•ÿg’Ôñ”eí¼cÁ° 觤)´ã`“™ØðÈsÑ„]1tŸ ƒ²<Ä?³ðÊ{;}¸Õ¬oʆóø€ÈqÜ*ï‰åèˆ#Ù’+NöÏxšm* 5Jã›tˆV­¢d(â î Ýþ¹žì6ô–»‘$¶ÿ…f0"ý’ÊÂÒ•¬µap‹©¼X3pVuù¬c2¯»ÅÀò¬|¼mžv»™x4í{½òòj½Âuµ(™rÅpÍ΃ ÈÍ)Wt1¾ÍÚ7uȈ,õß-b.Uª™[ rÑV¹…Ãð†ašq`8Ý*¬w“l;”­àÅÌ*(VJ)UÈ °™)WXÒióxBb3“»ißEiív-Ý7|F¿¯¹,½Ðà(ÊóDå3‘Ÿ‹ÞíÝt´# ä'¶LW?@•_ÿ¯æ æÅ/Ï VÏh®ß´ÿ~Ê+.{z{¢#Ëp¥(9cg_[=zJø°ÉJq¡U¡òFЊ<ëÛ%¹ÜÚcg_TÌ—0 E–¸-;#—â€W9­Ãm]̈œhñï‘äõ~»îð ûÿEËÛ¹[wÓ{ðžÆ¨õHäIS:ëÓÙë;NÌC#1H=¿SÄ ’tj1°‡bBŸÉÜ]ôKÌòÒ~ÿV]žŽX­Â“?´˜Šg„fe<¸r"\æòÕfÓ¥9®ƒ3Ÿßý9ñY|•z¼òegµk#ÛÕv6÷Cw½!ù¸ÌUˆUÎLîáäÔí"ˆŽŽ«âOާ£±©\üOd^‚§ç™l Л®ìâ· !1,ÞPkÂïÍÌh×K6Á“_­r\¹âÞ ¦¿ÅÀüšƒ^µ¯œD½²]‰|6_¶ ð,€¿±»ùö`)Qók_’¯Çf²ë›ÙGu°ë|÷¾)ÙM?D=æCJ7˜¦é”ù‘"UlÕ›æ9¦¿¥³¶>c%€Ü- ·ˆº¡_YFÜ‚«û¶£z²&Ã(gx!ëwż¼ÜŸìs•EHwJí¾’ÒËÙŒ6ÓÒ á<Ðj#Ø'(È &çI¶´Íu1=)»±7 è©p¯f¬@<ˆ)-bu™(Šï…wD¹=ÀÞĘhA¢lBänr1Ä4 Ÿ%6{µˆ}½ËUE§‹~ÕkÔÓÄN¤vf·•¥À3G^x´È{n|tÜ­»• LD “‹š (i~ ëÐW¼ü¶“Tðð„ÕÛeë;‰ÑF+¤nej²†ªøïçè£~ÏÑVü=(7óïÛùú߇z—áè§á×Çðì7øuýü;ó·cÐþÅz&(K5ýI•¶eÝ|¸8Mc¥¤®Ë梃ù‡™º”Ö›?†UEŠvÝêº9Ëy‘}2ñ–äÅ4î'Ÿo@@QZüéM8’u7†ûó„Ër"Sâ~Ÿ‹¾#7‡gùÐ~_®_ôË*%iئåî§&ÕÂ>|€ ¬öEØÂf(ù¦ðîbÙtW£_v™í¼×¯hµ›syi6ŽŠäyê!€¸ƒš²—ÒÌ‹I#äýæ[ïìnaÑÃTЫ|N P6‰Ñ§7dÁö7'°8+êI­`Î3t®m-x‡ ûÍÉèD¯Ú4žúŸNñ„D;VRLŠêS%©ñí[9Ø%$ß\”çéaúY9‚40,Úþét~FB0è»4*—Ž» ©¸ ‘½`ÀMÑ@‘n?•8•Ÿ.CÐ} î“‹Óh!`%{wsE|êµÖ<›=‹E’³æÒ’Oаª"ip· êq¡_(ƒ‹åµýòCHx€ªeè[@Ì'L”ËÍ ä£‘óŽÑ½8öSgé`ÆÚ¤ä ¿‘_ ­-;ZJm˜ð£$›«VsWn«ÔähXüG6ÂGq]—n*¾.Ü㯽Åܘáäí\¥™IGÙïqêpBÆa6}ƒ®^.wØÉ1ÆœlÔ¶É@dúÉêìvÄ"Á¹zìªs·,Bä2õl>„®Sž«WðмAÁssçúAzVä»P>ɵzÑ!@zÔ‰„S¿ÛŸï•F~Nмõ]?Ü€/µg+˱JáT;»_ •wFïJa¡‰o;¥Uâê,1#9q24NæT˜Oµ½°yôWcñDÐAŽ×âÿtßîDJ€¢l í‹eó^ñGqçcJgú¬&t`!äœÛ€7Õ¸" ïƒ53·ö_gÎ}b;Ñü5NÓGç}M‰ãcØ}*À õE›vÁGá—Àj|+W9‘ •{Æ/MÆ‘u…«§|¦ì¹¯i3w‡;QU–Î/~gcýïãÄîœ?ŸmÉù‡†Êò\Å35ŽDP³8ÍÜþ+ÇXÁ»ÂîÜ<ǤŸg\Æûbøù»¾¢›*ïñ Þ‚wj¨zç²}{м-qÉ•ÝER¥Ó9÷!Å*8.}ǹveÄ/ãç@t:!»gKa½iʸ)íb [xø¤Š¢³$˾¶ÚAXÚT×Ö ¶W¬_È…Á¸Ìj\ÚÁ®èºSv|ßßߺ0­ƒÈY&:‡[ñûñ,nö¸¸ÎÄ‚LØäê÷DE‹$J"Œq´Ò³î˜¿ þ‚¡‡h¸[[¾+v%Ú)[» Ú/eSÆŸ™h0bkpÉŠ‘žexŸ¿SœþðœÞñJ§ÖêöZ†^?jÀÌK3˜<ªâOǺÍÎWûðKkÌšüÏdO9=æ‡tÐCûBWðŹÌT&‡<'‹*H1K:çHØ)ðõž@Oî®ôö† ÓLhØCƒÙéB¶m€®t꜓ÄV°€¬rRè“Twšut"f¢¸Ý£+‘î4£Ÿ1<öÿiávŠ|Ž8¤#‚ÕF’›‰où–ʃµy«¶¿Œ?ú0o×VÀ„páâ` ;z+gôn硜,¿D G*›"¨Å³³Zr˜„#Š‘²ò¬/(…5Áoyî`ó*7ðS´ÕiÉÁ›¥ }åKÃ8t5·îÂK’Nªøº"Gw³!ú>ûtW’*ö"M/ãB|39{·«dßæç*¦â%±»Þà´%w̵c µçàÿÒûvÖ2/ëàÒd¼:Ÿ¯˜èÏåÔ³m¸]#±—ó‚lÊI~(§’ð47gz*¸xGŠä0ªžûøÏ4²¦qU-ç²H¸sí!ϯÝ*%x¡¿z¬í~ù'|#üŽ˜Ö‡c+xbõ:Ó\f’ÆoÄæÜHÑ}‘}ÄŠBßÐ…,mиlÔx$df(þb¬Ê—i•Ƥ7N¤'ž‡.b 7¹°=â±QaÈA)õ{Ç2éð=GÅ£üWú‰ZsªÚwÀè” :‚Éh^÷Ô,ÑwbÜæ¬Ó"±5Þˆm¤L8ƒÐC|ùÄë²õ>•ü¸‰˜»>,óg9Ÿ-fÊ ê€AjZ, ̪£}ƒJÅuDÙøAÍOÚ‘Fô“-ýºsàsĶ™È)ŠírÄ·âë–ûuç°š9õ!›+wl’3DfA´<ò) ÒÙãÓäÉÄr$Kao`l½ ‚=±TBè½ÏÝUÐ-íåðnü5®i^dS‹nË2ÝìÜ~‹ŠåèÐgUè»2‡å”‹óáãry§øY©S!Û ¢DQízGÝêÅU• W¡•¥«žmßX bë'rÿ1›LFŠÅcIÌk\†f–9É£„ݵü?Ë—cQ*´—µ‡klü ¨˜ zwÞ¤nËìAë Úµ[ȸ)忦cÉÇq·µ>+’‘k«Z9Y†ÇûbÊ£æZ>3kÍpI¬íjwÚ-rÐT.ïÄ“¡pŸ({â¡’q~†õd×o妺·pËùئwÆÁß§âh´aHfßÊÄóªF¢áv5ÝS ´&lâªLMEX­ï=#‹nÇ3p\æ·F¦ë~™cÚc ”)¬fõ }H>s¥+wÏK˜ô4ÿ!ûM ·ûé¬^ƒõ¸$„ÔÖÿTV`ŠºíÔñ¡'4¶Ñ’âBk_n>¸âe)ÅŠÎyü™ü´èÊZÚI:¤V)¥~æ|¤»™^Ý»¸•$óAñÔ|`R9ŒÜ¯ò´dU¦œTÿl{Nù‹d\¥ª%°§å8 ÃZö”¬¯ïB±eexuEúQÅR{VAlbL´f-¿ž—[üä²È²öc{(’ÍV¸æ“øKæl%¬ð àÚ¨4†'pê ’ôÅ?R~õhþóà§à0yÀàØä¶ ¬Ì¯_­¿s~×Å3ç7p±ÿ¯æMÃ÷ßqiünëeZâIê³Êi %޵Ô::ƒ_öˆH Àaò©ÀQ{XäqZ£|Œ¥§J}ÆäÝMSN»\€½Õ;çRDéï4¸^oA4ÇùÜ`ÙÚöù‚i++.šA û/ñ¬pÄå*K§å¾ˆ®ñËFÁñªeø×îå9X7D¸*ofp¢òºØÜh¬úy ~½þ‹M ²‹+׈Vz_PÐLMÂù…š‹ŒþQΪš/¬3h¡O£—Aa’+´pô¾;Ì)_¾©4™ö”tÿvÈÌO ªÊ­7>ØÂ Ó4¤nx"GÎŽ.ò¼ëNЙ⽠¸ ¶óF*Á€C!|„¨M5ìë±Ñ—F^oƒàû¹\†øh~ÞvCwJeì¥~‚ÏÀùÒÏoš$eZ#=AØQŸÎ|¢ƒ®Öá%)¿.—¾>‹Ó¿Ãàº>ÃÂð“tã\öQûZ)t°ût&K3 ¾Þx5ky)¯ÐÏÀ ?eUDÝ5|¼‰RÕ2wHBűô'BÒAàCs-}ä‰åŒäðz§ëùô_'.Šƒ½d´ÙÀøÓ«W§" ÙÎKêŽQ‹µ¦zºû'úELŒÑ‡“)¯ vÃÚŒ§ê^,ѳ)ûkž/šlß›øñØÛNìÇy< tˆÿo{5Âíƒ7õ‡q¼~²Å«µ¿0ê'”+"Õ“!AL<4mtê¸×ªÂŠïízµwz“lÅúctrŸdhžÃ²çMæq¼V˜Eëèºær ¥Æ Ín²Ó¤üŸnÉŵÆþúB“I}E†>õ/e+¶•–ùbºÿ ßêÁ˜ç^Ó>wj‘¾”ÌÄæ!¡éÉ‚ýÚþï²ÿ;øhB@²+ù“ê•ü¦z65"»*]Z&IéH?†ø­Ã#½Ø7ºs4m¶<:šzZØÃÄ[>@ÿU )oK<›¦ xh\Ô¦‰{jå¢~žv BQàQè£JÿLÖEƒ af1Ç@8{r³Kã0÷c"ÈG„„ª’.Ñ ûñ&¨ì)$3›JDDMý62ð×÷{‚s.L|.&œ|ÔÈyæ, 6`Kû­ ·IJ;ãžËù›¡¡‚”™_-1.ŒFÂzq“ìo(¾6µ7.Mòº•k,ñA TÇM¯z-5‹iêkß7ÕäÞœnm.è ‡ö­÷5ýG¨Üåºm³Ôl#ÂÔÔ¾…ƒsûd›“Ìs5Yëó+_ÇûTC={¦?×hxâT­<xô—¦œY‡wÛ)Ši7Žg&§Ù©zkug`uʦ}v„3rº-D6ÍgT‰_¡ƒðБ¦ß½51³¬]óF¨u}~>+ ï±ú¹e–éú$ÂAq|h·…eñ8…;ˆ7õHÖOþXÉQ_Ƨ,'ƒ†÷+w–[IÚ7ºµ<Šñk½²nÓŠfD¶H–"Ãç2ÉP—“yçs8À%YuoA­}]ÿy³ ûA¨%™ûè¢_…"ÊY€Ër#oÇd† {Úša‹ôp]*“°f#Y–êv”YÒ¦1¡Œ+xÅ÷T‚°g0ŽT:Xê«oŸ×MØü~Œ£Ë@0B²*TëÞ‘„ü\±L=”½!—5I)q©¬ q Kûg/²;SèæR,¡Ì4_lÔÆ+'Ë™TIÓ†¶¡Äb‹=˜Bö»Ôîí€1r…5céUå=ù3\¡ˆü ÉA4{õA=û¸T[ê$›Çm 5²"Êôb“6`ƒ_¿ˆiÑ€±Ú|™Þ" %Û=쾂šQwV‹þÊØxê*œH-[ýi·¥Ù/ÔNÜTKc%œ2ÖÃx;jV›GMËÛ„ExH+{pÌ.ØD ¥f£EÑa””#²ì£Ã²›{kîú¾˜N¶W@â³1(þ»éåíIUÖ6¸‚2¢J¾”pe¨t¢¡\C÷æû²‘÷9x»‘U)ÏüëÊNÌ/þLWÏxj¾ÊM¾kݲÏüz´àY4}w—çʰõÅÎ6‘šrD^íûíÛ‹«O•TÅÏfÕ9ŬÐ8çuy¼»º@IèÍ4ÆôõåÉq$˜qp׮𘶎0|›Ó­ôµÿ@£˜]3âß3(·+8ú™?ì{àrG*u'¼ÏöþP£ŽR‡íàÜ€‰UÛm:Wµ–x”³£J„íú¸!F•gsÚü=¨„÷ùÃ4¸Xí¡œ!ì„´'ÃsJoWì/éÓcóÑž´HB€|ê±—(ÎõÈEFóé‰çµóš™íîŸ6HòU· ÞÔÊÏ*UI’!TW3<¶­ '0¸´]sÆ(2ÁŒŒ¯ ¡ØSåcÜ0’A;gyBbLã‚BÙÓ°jÍhj Ú%«éR¦´ª†=±‰µnÜ6¼„é6kÕÿÔªæ½"\sôpóDÕÀÄçí³)¹!ôT3‰‚V×c_øâIZN RTü¹6qGzIEêòƒE¢õë…ÂËF8ùá;f,øò‹&8èž2>hhW[EÑI^Y¦WKO~vt3ݶâ+ˆi"§hågİDy’ÉãJ’;qt!C 8ôŠð*©&Ñøõ²HQÿ+þçƒI„^l½ÒiÃÖGg^^ 5øð쮬¬õ6ãHsjè©Þü{PXgxÜ_–‰•ìÚ6$† >f ³ 4€¢$O·^½eO`¢!üõ íl”æšÌbóù"PãÚ”I,&z… uãó÷£7i$QJ•´FÏè©M€+ÿ…ÍíP¡ŒzÛEø Ðc¿tüVc&OΣx¦A8Sý¼#­ýHðµ÷!Eå†ë)ËZ^æ;|KwÞ’(2`ü3êù¬Õ‘>J«:’áPŽ2¶.ïØ{\VÅÈ|ç`þ55ëÎR2µ9 ßÞÐes®!ì´Ÿ¯ÍÒ)Àl/ºF$”¦×äíÛÓjí—¤ë(|˜ÆÀݶ ˳FÅÍ]+Ønö@âÚ¥eÓ—úH]XG§¿›Š±Ì$i|Fà­èÈkA “‹m½$ñ¦Kì¿$Z æ¡Ê¶F”m×Ü{BäƒFwù¿Ö›ÊÃ|Ú×¶¹Ÿç·YµÓÞ]§×Se_Ÿñ™Mm|365ï+ qè¬à.L¡žå“'xè\`ŒŽ^z%ׯì,“²¼–”$1Õ—VÊŒLŒ5ÊÉD¨•2ì¼j²Çü‡þG|gä“`Ý¥Wä øwÎpùh,~Ê8gH¾–Ï?<» ÞCÛû j©ˆÂÈ“VH2 iñúÏäÔà¿l b9ñaY1|úhü@ãNÌ1g\¦Ž6Ø~Æn©G°ÑÙB0€Ü@îPSéÑÖ^ô˜ïŽi’b-NGR“—x_ª]rµ^ªöºŽÂ‘(ÃuSª_nÜo€º/½9©Éo9KÙ` pŽø«ªb¤7gþ‹UtŸxÖâ^ ÆñÿPGÿ^ìôžP²ÚãjåvŽ?Bw¼ÚÚB‹`EŠœ¡îÛAxf€)ý„B€ï´áeZ_®È>(Ç ²T7+}4ÔÄmðÔiÖo!•[²cxËÐ2t =§çÈfgåC4¯Üù ¢9&á)¨JE,Å8ÓY(òDV  *³°÷:­Róñ·w@ÓŒœ­±^ÈÝœG™Á~Œ@gœí6éÔ¦„Óíš4?i*¦Lí@µÖk–:BVù×{†äeG Æmôò(¼A= êÅœŠRGT†ëŸr‰¹K$>·Â³_©PšÄ„:£ ¢sHƒ‘º;KÍ6‹‡Ò¢¡E2 xaè@u*º6â’Á±´¨ ÐU»¼ÃhãñÎÅr´Þ̃‡¾ Ù-¥A>rÊýzŽß’¡k%ELI[Û€£Eä㊭y „cü¡– ÀØÎ"ï5Au„__SG:¨vìP6ÀI¦d¦a q§Žð5cæ7%sZSûX‰†WÔ …ò©íË™”Zh(î‘?Ý´ /³é¯ÀëÁ®‰* pfÚÉí9­«Ró :à%f=MÝb[GÂi‰ôQ|ÎÑù‹Ü3H.¿Ð¾ÿLÂsÑ)miýw)oØ d•“¸ ó•)ØXµ¼¤ÆÍ”OÞ&Ö8QLã#êŽòe¤Ôu=nš´™Mµ.I4íYçˆ[bwƒyÔÄÝÇ 3Jç¾~ø[]À"/@™`ÜaÝ~߈çåŠ3=4…o?ÄCª¥AœÀŽ'ýâ­Üp lÊO—}hÏ™šV$s«PöR–ü׬2cchŽR€ OÐg}®2_SŽqq,ã’¾¦ñÞ°úÛeúɺ‹Rw-™ó•¨LÙße°H˜ò¹°&IÒ1H}.e°—µ˜ÀÛýy9—¯mbÕVp:•ÿf 6¦)%ã9§ýhAV-³¥†}¾œÕbÈñ…¥÷bJ-&‡É”Ǻü}Óé•xê¿MÿRì"¦qLÉ‹qô-ö£Å&ç2Øæ$K‚Ϫzý8µ*]BV{>éÌ{èÐlX6¥”•~„‚*ÿr[ [šÈ7 ª±çÓ0Jß4µ¾çLëËà!R€_Q¡W´°CsØ¥×ãñ¸´¤¤¦?Xóµ—vV[Yñdg¬2Q>µ2®åÕp¥ÉA²¹]ح܉™z%žŸ1Ùr$N.‰÷3Ìl(½o¤ à7²°¨{›‚×c+ýaÛŠú ñ|‚üiƒ vÞnžæ_ü¹uóÙ‰©{M¡íeš÷ ‹Ý¯¬c­’›ú²€6K[t¸k韻R€ÙÇBÁpÌäd½i2}ÁŽ[¨é­Õµ›í5a*sþ¦3GKh9.eUn!® ÿ(ø»—…ik2{ÖÅ`ôâbdwšsÇí“‘ í×þ±¶þ¶@i άÓbX˜Å6òÆýŒ¦g4mžÃ1„2R°ÁjÑÈ™ªž«€¯ŽÎþØmWFG5»g—ŠH)ÊN/këͧÓŸ—ÂÒM¦I⦺‰–@#ÖÅäÝ{g>ÿ÷|·8+9Û£‚‹OnÃÏwÁìšìy×F? hÀ ÕDdÉ+5tõ<²t±Ð<,È!K7Bé'€œOê é¨)‚XÌgÕ´ÒzØøÔ¦ç÷@F÷#ñ ÿDåìÁïxØN•×øÇsEW.‚NÿÕ…J àׇªµSÕ’ÆWõ˜é܆.­»\á Jâ„ø°khû†uáØµ9f,CQû;ÀÒ˜8:èõÖùUê’b÷†ç衟ë#?*uÿu\Š#ÃÚ#2³m.T›°Ö¾-š-^{äÉV“ýxqXÚ›„êsL ÙÆý|ËR8Bš¯ÆNJûAá_N'3ÏûÒW6ž†ÄMŒY²r´¯|owE!HÚ¯.uðe®ŽyÂ+芻^ÏÂâè‘Á¢«f~îËJ%¹€Þ-›Uó0þÐΈ/?;‘ÝžîRYUí5UjoÑ쯈a<Ç ¥E¤|¬{‡¡Zp„’mU±)0sòD½Ü¨1™XJD}Lˆý;çÕÅýH›Ç¢¦äqÃÙ;û ‘T}A jíiN؉â‘SWG}¥ßŒ°4”½ÂJçW•Ø6ò4\æ/ÏpÉûÞKF¿w7áXöâ€Îµ½-‡ŠDÔª)vKþ.µ«xÑùÚàš I(€O D.øÛmŸ¾›)¸LF$Ö|Ia»U°¦ž}=ù=K÷-ÃÒPB³”s»Œ&PF±e…ëj©_ÍîZA82Ä\r½&ÜsùñÙwdFªÐ¯öi' l ô!‚PU±ážm À«¯¾5ºcX(²V‰îñuùb")Á>¼ð["柬a¹"›³ÂlûÍ|tÖ)‚¨¸6LT=Òÿg—¯ÂÛ|é¦|{4YZÅu¿ê´òéöB¨]„m:ŽUHh˜•Œ'v¸Õ‹£RlÈ=ÃB;t÷Ah1ÎÉšd •›)•bÞÒ!³Ôc»p9âÕ¬§»Ód‚ÔQiÌ• ,ŸšdT l¡%À^›¶ ÷ë³7Gí@øÉZöR‚-Z,t<ÖÞ7{â)Ý$FË„taHù}‘E¡6[ˆí°<›)¼ùó[ñ x¤l2—‚8¨Ì«CZ ;8`2(ÕÝaiÜJ¿5è+ÜBTß ,Sf±ÐgT3šSmº/'ÑòeêÆISMÍ;8ÝìâG ýpÅ‘Rܨ¼9ÔÆ (Eá± FЂŒ4U:N„K0À¢Ò©w¡Ñ‘º…³D· ´Ia`j<Ü(N¼ø(c&>'å÷0 »úÓ =~“ÿk£Ýp^òýJfDkÕž¿§Ûü9{êEõüÎ'¼ûŽReÎÚºØðŒ;íbCwô„F{£*úXá’¼,Q!št®¥Q‰XÍŠ­<PåOLyBLQDaÁONÕ쯴âé™®xÍÑþ U³;UvýZ°ß/-ÐG*J/ëS¡ ÈïKÏ•¥„’Ö –›Ú´­œåÚ¥èævSkiºù½¤7?Ê8,j|5³*iÝ'ë ³Ç£ÿc3üThW3nqâlB\ç•ù¨Û ¥ZkT›5MQIM£“ìbQ¶–V*ÅÝô~ñ..4úÞJJBô-P pûWÀI"»%q£mÛà!×_Æw6‹;€u„E£‘€Ù~*òÀÓ(²uE÷¨?©Lø òÿ»Õðgi01âôr‹Ü–y6¨¶E<×oš6ùY^m±Rè¾Ö£—Ä=AÆ.Ù“¾Ÿêcº>iã5krZY9®…>LcÃOLäÁfÿf^Öõu”ذ^l³´Õ ½§rU¢ œ[‚XìÑ3Aýcj‘G»Å;?XÌB”<…685eÆ×㨠ʜ@\Oâû|ÃuÊÛYñIN}ȳéøàòº³ Ï,M"•¯&‰Öª£a±˜0A¯juh·FéUæ Û/yáJ ¹}ãw– é¢Í)-§ƒ”ñýóFwE^&OȼXòb’4ØÐÿW‹‹E”íi²6œÌÒqºSºF{d•¢Å 4äIsÆùC.G%Ì:úkÖÁn‹vÓ†JqÖàï’c%„ãõ/ê ˜‰ 9Kú?qÉæfâ”h~‹S˜Š[¹…á#J#ÃG ظQ§0Ñ—õŽÒŰÄhÔ¢dÛ$æŸ ¸ˆsh(Hž}›@\\%ïÁô+¢”/ŒŠ19_žë‚E‘^ +ŠýF_–rÔQ(¦ûCøt{CÌñæš:°ÂBqã¹{ûXᘒ‰[ð2FøñÌÖH‚£;Ÿgi ùT%SѰõ@EÖ_‡´pŸ D3Õû ›B®}1y~ÀbÐ'y‘C+R=@o’ãVÓ9ÒãÏ}(Ž4#×ÛVÆÅ&Þ2ˆ Àeü×DOòävš¼€ÍŽíÇ7ÑÛ§†nŠyAÿ ÉôÄ'ú`°[‡ãa_º‡''¸yÇ&=Á ªë? /»’DT?w×qØÂÖ¾šú!™c»4Y„cKáEC=…ñY„…-* Ø:©ÑÝêÝ™]\ÎHö\OÄ ›¦¿NÁXÏä+—€„Z·ÙÙ5œLI,´'HY`¦ÿG€|œ.°ÿÇ“¶‹¥…úhÑ6&¬K€û“x“wefÖݧDÐ|Ç °žgæ/”VèAš?À…k£8ßn2*†nkâH(‰Šñm–Ù NÒg?¾³Å@˜µÝÇ—çÆÅwm%Õ{Ð-B ÑìtAÍ$ R:+Õê±d™€ýßÚê8†ÑFrAt˜½``åøJM²µ73FŠwªsêŽs@_±õ‰Ïì$…aÅCci >}X7sænÔÝ“kiüÕq”œá‚‚…9öjh’Ëp%;ETç;Õ8b¦Ïo¤çBÿesêƒôu†Ëè$1)K鸹á,¥´/¿üàv:ã@Slz.8³­è‰Â@åy}—/•Fès&ºß ÙñÉàÐæÜ8D~æ ÎàRÿÇq¹¸Aæ‘y¶ü§fÑhJéÚò &d&”HF¢:Á­®ã}¶Yû¬Eæ3lRVÞótÿ}tsRK²šï×€kQº+tïúU^G‚”ÙU~!šY›Ôæ%,7-Aøâöå«Ù»FbÔ'Ë#Â*¿MŸ6È,J€q`sAìô·.¡f<ÊÅŸKÖ1_ùNT8F#æãzÝ8)¾NQMY¶RðiŠ\Ïd ýѺ\ãߣ0º§c0”ÈLF^’ ¤›e Nç’pAÓ&‚2 VØË{xÅ$TšÐ†Ås ¸ìW óÒ0Lè.‘Šbƒ¸QÑ& WÒÿ#«u"U œ5)O[·+zÝ˰6(äÚPšÐB]¬„4'D½ÿR_Åºàˆ¬º”oŸÝmTf£—;†“Îb\`CIóø]ÒrƒY°˜å‚\öÈ{¼¼þ>§ùÕ%/ú?™ÓˆìõB†Ä—îžÂ±å*õ½´ƒuˆéŠ–Ç -$«×óª³Ê˜´MàÔøÐ½ˆQ1>šéwP@†÷þ³<Á¼y¼F³ç° ºHn(½üñ“oÿƒr0èû׉°¿'3ç÷zd"kЇ6ß»wuºû¥SJø¶cñ6Ò˜ÎóÏµŠ¶¹‹ñQâÝ{‹Ö³*|ïÊ‘þ¾ÃÖÌ1\–ãÌWì›rÎÈçkFÊÔ7ú§lõ¢P!w(ãúÇɺý<BÄ(›oÎØj›ŠpÖ`ò ý'Ÿ,Lýh*ÞÆÖ›ü)Q3×ݾ»›õö†›Z· „ç-ÏŒ³æ×¸¯‡ý™¸¤áu«•y֚Ŏ…L’Ö½V/å¿ÙC)ì¸'ØÓ×!€å‹bÙg´¿ÁÉ¥CâÀ¢Eó3^W#Œ˜v.­Ó"¤ûC~H®‚_™ÅavL¼Û¬‰Ç@^âyųÉ}~J×=8ŒA6¶æ¬ø©êþñÑ…ÀDqRß9O¿SWîE¨˜sTcÞ¤‘äDÑ× F³éÊá5À|9 |ç¾8“ ßEb-6Bå°ÄúÊ3“=7ÈÇG/µ”Þh¨‰M´^náßeíüšåÇ.~üa,F3Y °›K‘'j[zU?õ8Rb1jZ*}ï§ udö¼É‹Ìø–Å_Àјtíã<®ð¾‡t0'y,ˆ´¿«+Þïú‡š-n–ºd…äkœ ÅæEÎz¥è¥¯+¾ý¡—ú#ÊÂë鼃ٱ¸RJnÃÛe.! Ød„Ü2¬[àEî#FSמ0Ž.Œ”ÒÙŽˆ~ Qì# ç”U;Yç„OIü8P ±þææcÝÒŠøª‘ÏÅ–qR÷46dÛñùÞzßcð;Î{Av*òÿYÏŠÔ:äèB’{,;´²N¡mFÕ®‚3}ÆI *‡ÏH#DRêàêbF¯ âäMë§«fjñHÁþŠ\8­'uYFEu^гã'ÑM†Ó …j-ÝÝç`Ðl ’ò÷[H`ZÛiîˆ3É1Ô®OާÖ:óÆbKUaô whUR6½1ì°¯Ò gTwxÕÏiŸà3—³ì ð_ºµ£ê4 ð4:©’ÇË'†Œ´6#«ç‘ê’º’çTt¨q°i — El˜´zà—júgPF0uÑ£ÆÖ¦-ÉŒ«ôÊKö_?WÚŠþ ƒh%ü9Ìd^©o4-×½6ÌâÔE z4ûƒB3Éqñ–NÁ½Œ\ÿ"ÎW%~®N¹»:Gš±dÇŸ3oÿp–A„IU˜ïpO›¦Êè›¯ÌØÂ³Ì`‹Ú`W¾§‡ß+(Ð ñ/NgÖ£Ni ù´EW",ÔHΜRë"”UJ7÷eýôð7¿ køØzobV½Kw ‹au 5oåâoÃûú%ú?î hvt¾ŽÄ{˜4ôïçèµ~ÏÑBü=&÷óïûùú߇~7áè‡áØGðìOøvü;ó·cÐþÅz&(K5ýI•¶eÝ|¸8Mc¥¤®Ë梃ù‡™º”Ö›?†UEŠvÝêº9Ëy‘}2ñ–äÅ4î'Ÿo@@QZüéM8’u7†ûòN£Heâ=×yx%´¢EU¾£ð»"#¤ÍßíñÆnÆ€lµ£E=b¦³¦~S±ö­OÊßü ûýâ ZbBþù@…<.›Û ñõ šBŠðúBkÍ ý%!âá€H?~¤ä5ÉŽþÒUÖ·»¬áëöÞnIB\|]¼ç˜œU°( ФqcCñ DF¥—#ÄP/iznä3Ö$ îKŽ[œ¢¹‘ é-ÈL·ÇBõyY4›-å “&KP„Œ:¹- l=ù‚″3énW±ÂûyiŸ¾x­•I7± = ‰<Žá>Œ¬LGÛvŽ|o† "Ip'ƒØ]€Ý<Ä•i–#<Ùô€^$ÌQ9Ç2M 0;½çs©Ùf·T¸Šwx¿æ~2ó™– ˜¨­íTø”¦{oF œ jÊD¨¢–Ôõ¼¹©çüÑxõâøžGÙv®¿4ïšI¿Ì®oû.uñ›ñCÇe“€rħ3žS 5­yDŠŽ5‹%‰í÷þ–î=…By6p­Ó!FäOÖpISÍÃ4Pô=‚So½Ÿd·ÞíÁŶŒþ…ÑÌ•ûãH$ÁÓÀ7M«ØHöl<txdröŽÝ\ûÀ2{ÿ|I|¼­æÅTÆIo¿¥&Š›aã¶fÄÎíS"Ø9eÖ2º¥7€pÛ§`Ÿ:­2Ëic¨w±žy_èÊ…ïý~­ÇOb£Ó‰d‹Ñœ©c&½z4,©vGm"Û±ØL›6…*[ÓñÜÕR ¤¸ è¯×è26Gf­s"P£ËÄidÖÁê¹Þx½#¾=Þÿ§3´`û[y÷ønûRáÀ¤Ð‰8ÿW}ñÚÞè0y8ùDž™û‚%ò¾xj´Æ~t<ÿNñp'ºuµU¶Ë„¬:}ü°©~7Ôz±÷ÖaÅcÛ"ƒÁýB*T8:ÏÎŽs%äV}ŠISS:ʶUAq“ן¼Q¶2&ÃÍXü¯bnu¶ŽÃâú6½YÅÑáÓ2%œ$O…QZô4±jDÐÝ‹îo¸·Ö·ÈÎQu°³+ê–ÿ+EE#¼¦Ϲ‹×¸¬í]e2B¾m]êGpiO'RÍwÞ²Rã?³“-“Ñž½g)ª‰Ðª2¯f¶ì…Ïøt!øao[ùÈ€gy)4 ë{‰‡>&• €íL0(þÅzöÉòš)do9±|P¨²ó½ánì ZÐ;²Úz•·þ9ˆÊù¼´Ã 1 >‘D+ä®Ùuº†·RÇ;ŽÄ{¬F¯åà6Í{ìýŒÇ€y"wLö–Ev*°‰¢ÇþQ· zF¹¤A‡~ŒðŹÌT&‡<'‹*H1K:çHØ)ðõž@Oî®ôö† ÓLhØCƒÙéB¶m€®t꜓ÄV°€¬rRè“Twšut"f¢¸Ý£+‘vä’|ÎOµ²iŠu3ß[keáÁ`õЍã[þe² çwï5z)Þô¹Ä4 ´ ŽæÅ_Ý%©!xÃïáá+˜ÓsÝÚ v³h³C2.¢L[o+á ­Hˆ®uljæykùY—‹$¶e6K"‹t¥r$+ëÿY\ +†Mè°#Ë éŸû]Õ%þÄ}4”¨Pj}2á‡wäR¿Ûš‚õ‘­K(vµ[ïN”Eƒ Ëש‘0ðÈ4ÉÃDPì°÷2mæO‚\ÜF´D¿å `§P•y; àÊ/—`@La(Ž"øNWs£ëÂ(õ••Vò_Sú©#¶>ñ_ÆùŽF§¸%†R æÆŒsŒ—JÛ(ý‚Ü­%™Ró)<%aÂar–Xb˜mnëKýk!ü³Ö„èT’݈ÙÜ8ÛŽ1ôÜÆ1‚¦Öñã1Ž´B8¢ü÷H›yÅO¿Mcýoz($QžîÕESBùÚmÜ,çV±¥gÈÁ3Ô"Hñôú>Õ%¹WáOswžx¼‹‘†N!„|Güt »]$SØ\gÅ£$¼¶_ÙØ÷s¶{ÕQ¥ è¸cɘ°wÀLªK- Â¥[=Ó<|r_JŸIp–ñ”܉ÔùpS…±Lõ·9j"“_rTyjòñÈ“†Òé™ÚÂcü¯~)?;aÆ'@îõV;q&·x¼K‘® D!Þÿ[*6爲—F X¨;þ,ܺHð±å‰‚;äÓ@gqI¦ÞWècýÕـʧ9`’ü8*^0'9bñL–;>û^TÌ •_%1%e.k€ IXz(}®qUuF¢ö‘cÇH–»ñgžp?ÈÚ=ó]¿(¡ŸõËœUÖÁÏ×lYg¼P*­°5`â1 ÑÊÕiéŠõáîä^”¤¦ár‡&ÿ_'…‡á-2Ÿ²C»7%v q¯å7[Dx¡ÚæF ¶àÎAœyê__Õâ!ËÑ3ñ7ö„_¯Z éÇóøž Îc~ß_ «hòW™\‹ž*EýⱞlÞØ ÉÙ'"´êZ!Ï“âoØŸ_?.äSîÆ4ó ]c1Ã¥)á[¨>ßÒ¿¨-W8,eSa£üÀ`‹üô{üB·fsc+(2k3{€4‰¯Ú4AŸ€¹cÆw(‘a܉‘AmÏu´sÌÿ8Íÿu4"]³Ÿ²Râ¸ê‚Ór]Ê[Òö¬.ÐÜ +]@ú§µúc4³ëP9º–9âR)W®¨DÙ}‰Fq㣚”rNÊ/s-rsJØGÍO ;éUׯLØñ¢O°ŠQDîŸcH¶yp6íÚ9½Øªq¸¹˜0º·eª¦œÓ 91<¾œ`Ý'æ¬×%¬Éø§7µÊ(‡°ÒØE‹ÊÔ–·Tö?à0yÀàØä¶ ¬Ì¯_­¿s~×Å3ç7p±ÿ¯æMÃ÷Š˜Ï\ìñ„®$ž«b§ðŽ–)¸y[>YnXF]ó¹!<™œÈEâì9³þ£/Ë­ýYyÀ4¯)œgq†4š r¨OZ\#^ä~¨® N ÙÚöùƒ2Ω¡Ò ï>F)ŸK½¬ËŽGé=UcF%Ž7º5aW3½ø¯õÖîS•‡–NSu?„ÕE ´\¸TT@žIlÐú'_Iö˜Ô}±¾*÷«Y¨Ê"‡E–‹CR.Ï`åëÞ„å»h'ÃqòÚì§´äªÍ‚(͸֒áÞK-˜ÚCôgŸÒD,ãW úÃJûçBb šã"ÙcNwcìxJA²ÿÐSþ’_WÙo÷^”.‘&#Áë…»9{jÀe­¾ªV$ѹ…‹nDÃ/D­Æ·,GÅ“ü„rRËÕlä™fûÜåy>Ié¯Ù"ã,T<3æ´¡„]•R^<éJìÄÖ´ˆ½véðW˜»h^n`Þt÷êO@Î=Ô§©†¥<·-¦C<¥$«_›ØpÈ•\ßÀDW«JP¦!"ëò¯¡iVP©W[…hUûØžXÛe8 Þ¹rìãX(?:,Ê4ÙnÜÍxVTÄF+û°å@âGò€îväh)ÿk²'/ÕíM˜(Y×–+`Qîs3®Ðb… ã28Ðz,¦‡(îÐ*þ'ìäü±fvSÕ!;’p ü}×ºÔ‰í¾ŽNy­¶\Iç²tHjwSòµÖÙìfU§—°\ÇÆiïú-;˜1=&§G¯é»TÏý]\8÷1ÓöÓÖ;=-àB£]Ÿ ¹]¡)’f;ÂUã|Ö:Çk'¿?e×òž’á÷ûÂsÄ…zÄÂ5HÎkLç–a£ñ¿¶üùY ïÎqí\¥R“¢c™0³(vÍt¹g#¾ ]ð¤)DŽúÀÅ÷@œçÿVí-í¡Ÿl–¬¨fgE.ëjP­@rÏ],wFÆà¬oÚ7|ð?eáº~”-L Çõr*7ví.ˆ'Äš!¹“E>{… Óà½:{4kâxã2ñý×ã.æ2ˆ‘ ÍÝ…IÂI'W`õ§\¸"”íRc¡÷f2Ó5;4½¤4TßáÒÐ$p¤ów»¶ì×¹‘z4ŸùH@5—*z=ÃÌDÔ’d¢üAe³Lý¥›ÜH&ßh^¸˜Qzþ¸†Ô ú÷5á"PFe´ÁðªÐtiÃr=Þo*K¢·J‹LwË¿Jæ.Ë;"ï¹b§„_XåPl|Ä©Iéu(ßáb FIÍ”5¼ !¬ ¼g¯°jÞšJ4b·¡=µ¶ÀëRéÚqÖßþéï-!N–"a½ñfÓIVÍͪ™ggŠþ'«xyêáˆíÑØ%ÊÓ¤ A Ï¡’™<Ò2j†‹ÑÚ7ºµ<Šñk½²nÓŠfD¶H–"Ãç2ÉP—“yçs8À%YuoA­}]ÿy³ ûA¨%™ûè¢_…"ÊY€Ër#oÇd† {Úša‹ôp]*“°f#Y–êv”YÒ¦1¡Œ+xÅ÷T‚°g0ŽT:Xê«oŸ×MÙ-Ò¢€Ž@úQúŸÅÝ©Žªµ;ͪ§õ%ˆ¨ÍW‚Þ«Š/äÁ•ÀSM…‰Ívôh: “çq¨5¾ôcñ$«Yi`!ÄÁ.6f4ÖCrçÔaE­›¦á²"üg5 “ÿ>&abŠø°ç; †ëK9mIÅKÔ `¡?¼^`gÊÞX0…?¤çh=+NÇ¢?;‘åé»…HX{.zõ̳öm/ myµÈ(7ñ)a/[©ÁrQçFãÚ˜.!ÆðÕßrÃObóŸê±îÄüí ݤ%²GI½Ùƒé.E„…mœ~³;Kü{n3ÉúþèhB ¤ÊSê„‹z1^CÙÎ/5ê駉™ü0^ÖßäyBžr´¾6Jôl]c§³‚<a †.? Ùn¦ßêö0)’=ñàÀ’õ£.¡tEUïʲ:oŽõ¶ä••}ŽÕ‡ž-Gíí}‰_ Mùü¤N®¡%Ïiºž|¥­ECôiBõ<²1ÆP¦¶ó¦-²s*`ºœ@¥ÚÓ|tfÍTÆ vô#¾oR(¥ŽYw0y3;ÿOŽVÒg¸XzšÌ]ÛÒÂõI³Nš¦óȵª+¹ß%tNç£ f³¾¥æGå5£oq¸¹Û63=88¿¼æt Õ?X†¦p]f¸›õŒLØXÚ†Ø;ùÒé/Ho+“µ:?Ú¥eÓ—úH]XG§¿›Š±Ì$i|Fà­èÈkA “‹m½$ñ¦Kì¿$Z æ¡Ê¶F”m×Ü{BäƒFwù¿Ö›ÊÃ|Ú×¶¹Ÿç·YµÓÞ]§×Se_Ÿñ™Mm|365ï+ qè¤&: dØ l“„ÎèÅvƒN]©¨ŠD½z~ë±]ÌY_õ¯ +‡P¼ÿGÌ!lð±[rÏ’Ä(ÂÌ8xfˆwK¥rF‹]ï7¬(ÖXÚǼõEkØIß”vDŠRéÀKÖ‘’d ®¬º¤ñ; Lá.'Dè/Eµ¾&¦@{QÊPñR²)mß«ÍÍUÌP¸´£D*÷*ÎSÃs3‰ÇàÈxÚ”xG‘ǵP\©d*ÜOcB*Ib–a¸<<À%Ì pÞªóšT´ÐÂ>òRi‰ØKè+~á]Óä_y¥-ؤ4WÎÕÂÅIK½÷æŠþ¢ü¿ÖÇÁÙõ1„†j*5 l´mçôÅýG-=0mÂæœWAk^(̧D^9iî@ßÉA‚<`¢Ö±Á°m—+Žñ=»9\VŒ”c¼¯CÖ»ÊSÌòK1 ¹H5†ÊÕ|o› pHÌ÷ 5&…VG¦¾¯<¶a²Lç›Á·ùË ~Átæ™9¼ÅÀ!Íä$ñKÆÈÜuý/ Ô®Rî„aÀ\¿€Ì‹ýåg¹ÉÀ0ð!'róÖo>eÀ¹UõZ9ZrN0'IÇÖ;¿æy5ÜÏÐ9€]W-M³¼£’oZLϧ×ðh—Ÿ1W“`}йÖ,Ê„6›°þ]í }Bh ’ ÕwÙ_%üöÛÓX çuø'å|vºfD»ýƒôzÇË¢…9¤”©Öß»¢ÂV¾ÖzÅ‚`“M  `¡‹¾ r9øõ>!E<3ÛäÃz°hæ7ÿ€»ìibÊÞ´ñX SÆî…ƒý¾aSc½¯½ÈÛÑÑðd -ÄŒ@¹$Þ-zj°=pdWÜþάÂÂ.ØÂ;X˜ˆôv—M`ŸšÇ‰j3ce•ÝǸŠ¢ÒheÓô4즈ºL¥iGؼ˜”B½!Øoq‘QR*(LðÅf&D_“W|¿[ZÿFêz%CÈÚ¢ô$^oIÁˆ·Õ›™'E*rW ÏR ÿ!¡ø.gNåõ„®ºÓ95¤Y&ýº5rιµI `Á'3dMœ¬x}OÄ›%‰÷,ê …N›3„×*ð›]VH©lÊXYìmý +оÿLÂsÑ)miýw)oØ d•“¸ ó•)ØXµ¼¤ÆÍ”OÞ&Ö8QLã#êŽòe¤Ôu=nš´™Mµ.I4íYçˆ[bwƒyÔÄÝÇ 3Jç¾~ø[]À"/@™`ÜaÝ~߈çåŠ3=4…o?íD^«s8žƒSA^¼ |ª~.ä m¥Ã&]£Òá³Pï.Éñ[ˆˆ–BKî™<|e )Ç8ʧnÉ3^vÚÝ³ÇŒã®ØO|g TR˜hÖÔ4ƒ8{Áž´ ÚôÈchËAS„n4rý†$Pi ˜&µÉO+Q¤LÄ@¶6Äñ6V9¶P­Dõ¿¸ßÎLÔñuM`G=oJö§‹°5e=ÌôÛOÉ&PYjNõØý"·çoßpxâc}ô£z=áì}ò@pÐI~!뮊R ™Vh Þ¿z¢™¿7¨ý¬õa׌j/J4f+½˜;Cw5#™Õ›º &˜²uä Úÿ1*Vjr,6â'â•/š‰-Y‹~Pº—¥ÿvŒ§ÍÂ+™ûøl¶‡wÿIµj˜Þo ŸÌ¬ÐÌ9奕3ó†`§ÐU¶R7(š<ä—Š•Eýè ÎJ±?ëjã .¸úT¿óÄ'=Ú١퓯ÎþV/—ò:U Ñ}ùCä|ÌT¢½¥¸}‡ —”aH6‰‰†€ïÕ},:p›š|äÚI*ýP†?Ý­*™ZE@Ä9üDQQÆÏ!þXÆóNi¼®¨ë¹>BDí£ë¦z˜òc^+ê#INÈXÙê\г>ý}áÀ.0 Z,yÎß¼^ÐÀ-;!ÞQ4­d.d*W¦L±SRîS5U ²ÅþLx,@– Õ Ì¿„šâž´U“SóêÄ–2ÒäW ª+® ‡6Ú,î7 éû6ˆDxb*^ÖýiC„à™u?(òžfÍ&‚Æ’áÐÃv{ ìϘäƒpuÙž±¼³²ÌHU·Åä¾[Ùç\à™Ñ/¢#L{>ÔÌp æbêÞ™¼üà/Ë0"ý—Œ¯ón‹µ<¬^wSoà2Öõb¿Âk×v*z crT!ÐtD±¥jbÏ8å%ª˜SrÔPo[ ÿ§8f—¿è»bKåNž[ä4JK!}¸Ú&¿jAR|ÿóú_š»LÁvxzÑ8QÜ¢IZÛ³ šÏ wSÚT09Ò8 3&˜i¼4¸óJœ±ð²ìrÕ‚QC’—÷ïÜKº ê›dÉ#åÅ|ptwå,̉=ÙÃ=•u`õ“a´1µ¼‹V½0©¢ùýsî÷„é]Ä|¢#wÍ( (ë2¤müߦÈXÄÉØàF—%.Ò2럎‹mšÇCµÀÀÐ`Íh–7-k2ëÒ¨S$£©ŒÃâô`p^®Q©÷÷ÄÓÔÎÜY*a騶Hè&ËaC:p/Ë÷ô5Ñ¿wó²8y´mx9ƒ3ˆãˆoÜÇ¡5ÚªT“hø©Ë` æCò“|“‰ã¶diÁi¢§ý TØH°›ïTÅMãÌô:¡š·É<2݉)®KvcSÛL`HÐ:]ÏŠS ø§yCzð.2BDøFŸ²K ¢ü‡1ª¤†Û”L­ÅLè£Qju€]ŠÑVØT¢Ý'ä3ñ8«ÐOê¤o8 £iy©{—vD4ÖTˆ¡‘Ï4|Ó9¬z¡Gt} X{KG€GÍÁgH,”®oÌݯó–f`÷é/~øw¡gbâú!Ï+jÕÅ»Ý[úâ"áÞFK¹‚ŽÊ49‰·›ý° )åð×?(P;Ç™q+²+køË¾¢w"UU)Éj ’Üúð¢p¡HT4óy–Á¹^ä꡵øÚ¸©³Œúh‚pü° C“‹5Àǧ¨nÊ|S£ÊT§f{Gôž´ž$†ïãݰøF,ѧkë2ôØÖ•’.OŽ—ßÇgYɱÔa×&¢v§eÂH%Fý‹½óïæ²²lU@°Cµç0Ø2‘ê g%ÔUÖƒUwÊü„ª]'÷_vzI ¢mfÛ¶?C¡f™ƒè¦æ}¥j   S··y1•É·”ÄìPÇŤ%ÅÛ¹êiìÑA¶ß/m•÷¦Hºt|Æ&iÒ.8uúòÿtÅóúšcR§S„ÎÁà6s nDH¹d.‘í0^¼x¨&3&‰vXH#Å(Ž•éÍF˜Äïp}ZAlS±IgcYÕx>ñ¯†>¼È8S륭 ®¨VÞRí¢Iõ~˜?Ù•NkeO¶ëG|!œLô+ŸË»õ ˆö‰r+ ï5ZÇg& !VIâÑh4¼[Hœ&u‘: éO$[—&_23v¯'áiúÐ3£’òýJfDkÕž¿§Ûü9{êEõüÎ'¼ûŽReÎÚºØðŒ;íbCwô„F{£*úXá’¼,Q!št®¥Q‰XÍŠ­<PåOLyBLQDaÁONÕì~¿ q<€{µ;ÑŽBøX)»Ë€{lJv6Â7Wѧ$p+!Jaöƒ/ØZ#ÎøòßÂõ‡H1¹U÷±ƒ,üa!¢Áÿ ÏÑ Ã•Êê€ Ý\QÄž¸)æ:á"…K`‹Óˆ9æ×WTø7_5i2úø¶gfç7‡ÜÖqåé@žS0Ækt¢€dx¼gÉ[äëìÇÖÛ\JtбZRëíþÍÈÞ>áåo“¡;æ÷6‡H¹Õsĵ»`ñ¥@¨”™ôœzwHa>:œCßóÇPôeõôWé‚[{½%;ÐtæræÓIæsñ5Þ’jÆÛæœ÷ØÄÊ‘m¹sBw7ëÎ:2Å3ÃJ¤ò6't¸ùß’,xSYrí¼§pŠ~#›o£7BÉU°¢Y–éùœ¬3>“ÐÐJ£ácÿžLVë5ˆ™*† ãcËÄ0ái÷ßï¡…#X˜Ov¿FÞeA…iÓª•Nâ Q)û“ÇÏ{\¼ÝÖ-¸«];oæò>ÐVÑɬ**FÁ¯­üôÑÆ·ö<ü—Ï“qóvºâ4oÆæLà‰ªö!ž%†¸‚&) &ºña´öä¬Zö½¼–mpœÓSeï}^ 0Eýé*_¼‡_•÷ëè˜U¨9Í’<&‡1Þ²R~:ôšno€û‰ïÓeùÔ¶}hÓ l®uˆo¾°y`0HEcš€ÿL°&Ø€º¼ðúŠèÀû©u.Dê‘&òÉÇ£ nº_u7jzQ¬òéaŸ¤qÿ>ЍdŒs€Æ…BÁ¢n{ëªÈ:Ä9β!Ĺ 0‡·ÌÝÄZÉ—ž\¢G,_Kû=œ‰²gnƒ`jóØs{‰ñzÌ\r„tC¬Yû ~×±Y3yš–¥N.ìØ î; Ã!æ.Nîèeœ Ùcnh¬#Ä4Œ ¢½ü‘ô .øêÇæž uÄYŸYü_)ütê|‹}üø+[$fÌHYî´,¡ ìþK϶˜"ÎÒmåyÏÔT­|½~zI1 ¡Ä7i¥ ÓÒ{‹ëTº7#¾väOå8Å÷ódÏ¥<îâׇ]‰õsô;)`X1Âj<Á›`µ ·&ýÃÂó_[£0ºzRú„•¦K>ø"³¶™×Î+)×âÊñò%ôP¡Ñwîqœ¢Wó˜DX48Þae›åñhÈÆ&S«ì†fþ¢¼¯í™$%‡eÏF")Î}Qï$ðê¤/jÿ\°Ÿ¼oÕ(°[fƬÂ]|'w!âñ€ïF*71¥y`b˜Aœ9Ó/I7„lÒ7©Äš”œ òªgÀñàæÙ¤Ésù’l¼Dp¼ô‰As“÷¥áUˆFã|czüKN— ¥ƒ$š¡7\ÜÍóÈp“wà‚«®c:@L§HÔU便åðnbÄl ì ýø]}%‚ñxó„1³6¿™7|±;nxŸÄs%BcÙÇ¡k±^== |¦|E÷ïVC2Üì•B4ÈÍ"¢àl¨›UßÂç;Eü8šzÒð‰n\Cö ÿIèòï:‰g,¶úüQŸðO`úƒWß‹]á[¶€’!×ô©¢% ;èØ ¼©5½< W+¬q÷é ×@QçÎAËè§æ 3³¥<òÏ€•йKÇ""#é)2ÓRß„ø¾ËXuìy>ð¢ð΃ç‰ èêTºk0M³ˆµÝkHû!W‘#¹"³Ô}HÆêèÝOŒö¥u·Q¢ýa¿ówèa6*eSÉ] ®Q³Ãj}£Çu¬fRز×í¢ ¬41a< µ»,͇艣¯ÞCy€§°?ŒUMïЭ•-¹Ø¥«|^ügÌb O†.D1¡ ÐfŸ×¸ÜõD ãÑq¤·¿ öªú+¶m#Zyó¢¡ #!.¾5W/VMÊ©³£1Ó“"fJÊ5+Ç’úaûªM+Jà3—³ì ð_VnKerG§!×þ–Ÿ¸~Ù@ö_¶Å’‚F´ÆK#hzÄÊn.9ÿm‹NÆøÌ`Ú¨Õ…I†cgµ9¯KF¶nUÐCN¸Åbƒöˆ¡ö2ã€YíoÙ;Ò´oeP\sJÛì×ü%R¶ÙÏÝÞ&%ÉPòÚ'Öx ™ô߸ðmäøÄ8à?qþK÷¨ãŠðW·¨,#¼¶Kt0»<êüjÊ“àIÿ\§û K‘†åxgݤ¥^QyísP®Ë‹Îcìô»i¦… µŽ¯Æ±µX·‡§Ak e:IÚ)okêú€aÖß ¯J§y¤®7_Øëfß(D]TñƒÀùܸø—ÝíEK ±Rz$s?Ug°hPµÙ¥á X^müoDp‹æ#D:RŒ;‡ñðù2e˜‹e Êg•辡Z$'ô9'Ð:€Ä‚’ë°lûR&Ðo»¦Ÿ+xFTíâÌI¶¸hçAòÁ)0¬Ú03HOÿAý@±¶¦öm‡ƒHS´¼¯'>âö N@[ò¤ÕåD8ÜÆ~ '?âZ¡ù)“¬?ÎÓaJu®P*!DPåÊßcHÆ™çÍ å*,óÈA‹~ÝÈ«.³ªXZݯŽÐZPaf<2mèÉv8]å´*Y™}ñ¿™Zè îü!zå³c+ûÔŒYò?£Ì ý‹É™`~MêÏfN}PC¤¸RÅš àîa¡ÎvsÍ"v–‰/“»À„»Qðc>&lj~®°¹‰ß Þ'JD䙸á÷JC{id²>jAªLÖ~ná~‹žžŽ§lò'Û¶,í|q 8É·'gïÆO2 ¯£7_ Á—Š^}ê¨üÈWŽ2ʉn¤þ#3–t hèdHk …—¥ XâÆü àæx"bbÊC“±?Ë 6òÎí:kÑ,_OØ={£Š¦–±íq^œ¤Ð”þ@j-èU Ä»p´df£6`(Ë/°"þÒ—ÑÍÂÖ_´ Å ~“š/EK¶O¡–ø´(« ¼8zƸBΞÀªFÃÔß¶­â_LU(¼ïÁ㜫Ö} š¨ß9 ±ÀÎaËpö¾‚p‘~Ĥ¬£OŒÐî#­žy‚ðáSLmýÔ j¼¦öéà‘ýH÷0à.¾\‰óCj!­2^5í„(Ô¶ÏyTñô»™.\óàiT¸¸T ïkU©)íáÞaðA홬!™Ù7‚tæ ¹¯¹#Y”<¼õôxæaYЉg¦Xüt ˜Ï™Pð±gc/.jb´›â¥·!«šØV8fxK>a/(.âv#À¾ó^zÁôO«ͽGË£‚۟ѳKïûC1úq•¸re·:hRoÜãV §¤vÛu…san÷§I†³qV,‰!Ój°Dg»8Óöÿ -[ÏÜçª"e­0~Ú1VuÛ•½æ:Yƒé§œ²t­`°°ÉÁƒM{Šñ¡ä þHH ¯cÊúã‰4àÞO €?ҜΆ€§Ñ^K“P^{Ÿó‰ ;¼ÑLYÌ3çˆ,Èk ·ýƒ]­U½<‘`¼†uè›=ëM槬ÊZ~ßtnÆ?Ü—âyÝW½ÞXT·zèÁ†«kØã‰Wâ_{ÝÆ‹ðè–æ<`aó1^ì/5 ÑŃ »?Òmç ASrþG‚Nï~¥=fD¿!.;wKU74› Àk سRýÈžp"|Ýý-Ó^¤Eòº.ò+†ÎCWj4cÖFžŽM¾R– ½§ÐQÁÄJGÅÁ1å ö<8ð¬øÞe5¥ü>³hÞow†„{E}¿Ü¬h@{X® ŠS†Ãû²^ÑG·sjC²ÛÚùó1ab×t:³ B®926úzeúÞ¦ii T€†+Lë§âjÝªŠ…9bXÙá¦Ñm4³fFE¶,›p¾µÄ]oÇ>$ôšûÔ+.ÊL•ß"!TÐÛŠ*©76C&¤KÚÆûhUL®ø2©œœÅ`L”\¬È_ëŒSLÖêRÖ¥~Ž ôU^µQÊÙ¯{ër-X¦ï0Y p×å»LïA 0O7äWК18Æ¿õ Ê‚¯o|]¢Í8X AvÕUÔw6l¨û¿r a>âËP61'61¶HB-ǫ̃ÕL)õY"Ü=²EKXÀ¬ß']Æð續d+ÓÛ+ª°í­à Óa°|¡næ¢1²¿uõ´©?‘øxÆ@æ­í,Žã¾]v>î …×£·çE›…Q•.Ùš™Qù’‚o]DÍÃþTÝFþ²£ÔíïXríwà ’… *>δNµ\Ý;È:É€gF^„R$J]#ªSýØ¿ßw ¦#0œ`%üßí³3ÀFÍ2:>o\è+'ù‹Í pÞ»`¨7€.5mÁ' F~Ì£¡ZFKŠRkø×^PÁ%/Œwƒœ#¯Z"jþ¥Úxƒi›¡„̺jÎ &eÅ?øfhoÎ0é‰1˜ Âp­"¯ð­0¹/¬a—´Œu´œ‘ô•U\ji÷ A€‡TUQ6«n-úÂ"mS³eÖl„†3K„gfŸN‡·¢8ú‹ÈÿH[Š  ŠÌ[6Ü ØaÊ8¥âñÿm@AÞÀÍ›Ë鿇ü8S˜‹Cñ“>VYŒ vôÄq½óÉí‘êï–æ¸êå6ãÕÞ¾PWî¨Û+ã9úœ²1ëP~êÑ‹¹Üäž}¿°ÃÚ-Á&ã)ùñ ṳ̂›;Nõl–ë“[Gõêÿ0Š"M<ËeØ&F?K4†±ÊSÍfF!~W2ï9OU”…VgöHX†ú©ŒàŸ´ëQîèÍœ)lœªJÍ™Äi“±pj7Ùaq‚XHÿý] ¿ðušîXMS¶ Î¬1âÞÂñjlK¯R\è÷–Š­eÀ{æùï4äÄ3hpV'ÍìI^)ËLÞŸ<îI"‰™7¤àEkäŽd‡?b¾…v-ÇàB ¿Ò…õò“À¦mÝá^)ݸ>œOr| ZJŒ½YV·É y™þG/q ¸½ÀቌaË CiCCPICC ProfilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óûÜÄ7„bKGDÿÿÿ ½§“ pHYs  šœtIMEÜ  ù¥n IDATxÚì½yõéUß÷yÖßr—î~G3šÑ6B$¡Í¬.Eˆ£PXJ  ªLˆír¥…r’rÙ‰cljƒË6¥lW€\,b‘ÙAhA’ÑXBH B­#FifÞ¥ûÞûÛž5<¿{»ûE$Í àýUu½÷í¾·ûÞß9ÏyÎùžïù>pëºuݺn]·®[×­ëÖuëºuݺn]·®[×­ëÖuëºuݺn]·®[×­ëOó%þ´~°œó/ž< xp'ð$àh dÀ=p\>| ¸x?ðBˆÜr€Ïoƒ5ðuÀK€¯nÿÿ‰G€·¿ü¶âž[ðÇoôo¾xùÍ·7Ø|ê~n<øQúkŸÂo¯³Ý]GKAwzŠ’ç¦ò{€¦]á}dyò$¤iY=éN–·?…öäÉœ<íYÔËãÇrˆ_~Iñ ·à‰]é ø6à`•Ý#òàûÞÁéý÷ò©ÿÙ館e' k ^Jr2Ú(|Œd21dêª!L=Îyªºaè;êå’íé†åñÛqû3žËí_ø|žôÌ糺ãißÖ)ðÓÀOüI‹ âOáÿ ðíÀK÷ß»ñÀøÈÛßÄÕ¼‹éì“ìúžÊZ|ÔmÒšiè‰c¤]4t1ÑÔ5B9Óõ‹EËØ’„‘ª©q“£^,y䡇¹ãÎ'a¡ßìÈdŒµœ<ånnûÂó”/ùó?õÙßê›B¼ê–|n ÿJàïÏpý–Ýó<øûÿŽþáØÜ8cu´F[ÃÐ ËGRB ´ %˜ú‘õÑš]ˆ4Mȉ˜"R(% ?Ý‚C­ Ó4¡LE¿í8>YSÙŠ¡ïi- RàÆ‰ËÛŸÆ]/| _ô5ß@Õ®öoý^àŸ !þï[ð™þ[¼àôÁòá{~ëï+=ø M]QÙŠÓ7h›ÓTLC2†R*”*‚§®k¢T(£Qb†œ2ÛÍ'ÇÇDçØl6$GÇGdã8rvãŒã+ÇXké»ã+'d‘I!¢•äáO>Äz½¤ë”®ø¢—|Ï~ÉËY?ùûòûÀ?Büì-ø£þÅÀ?^pãÁò¡7¾šÜó[TmÃzÝpzíZ(ŒUôÃ@SµH%‰Á“ÈHeÈ ‚¡ï leQMƒ©,)E‚÷hmƶiH10ôZhšÅ‚L&§Lß÷$µ­¾l%B€”„É#•`èzÜè‘ZSµ–»žÿžû~3GçŽð«Àÿ$„øo9À§7þÿ|'ÀÔmx×/ÿïyý«9:Zá}@Å•ÛNè·[¦¾g¹^szý”ÚÚÅ‚ÉÈ™=YrLÓDLPUõrI"AŠh–-)F””)È1•\@JbŠ%ˆÞÓu=‹Å’¶m > … ætˆ,ã8áÝ„w ¤`Ù6캪®xÆW¼Œ/yÙ_¦^í?æ?BüãÏ—{.?_V}ÎùM{ãßÿößâ5ÿûÃýoûM´¥Kè–RbL…Å`!$²€œ`·ëÉ"“sB( )a¤ Çb0ç<1È0Ž#µ59Dòˆ!Ðw#)Cʤ¢ÛvQ¶!%BI2e ÎLeÉB–ü#er΄èBð7ý"ÿöŸü >xϯï?îwæœß4Gº[0'yï^Ú]û$¿ûªï潿ú#&Œ’4U…R‚ºjȤ¶UQ5 uÝ`êŠLÆÚŠ”2B€4i UÛ¢E&Ïn×1 #¤ˆR‚œ39 BL%Ì™Lfò>8ŒÒLÝÀb± ú¤Ö¤˜ CF‘•bœÆhêºÂZKL „bòç=Ù{Þø“ÿ‚×üËHwí“Ì•Ì;æÏþg×rÎß ü0 ?üÖ×ð–õ¹vß»‰!$C?&OމÉ9BhcÈ92v[¤"B)„€ˆ,ÐF!„DJEÛ´H ª+’€£“cŒ1Xk™¦‰Íf ª¬ôŸ]àêÃc §„2šÎM_Vw *'ºÍŽÓ«7èûª©†kkRˆd!‰1œãÆýïæÿòïó±w¼aïx¾¶ ç¼Ê9ÿ ð·ÞösßÏÛþ0Æ’2„èIÁ£!‰Œ¥°•EkIN! §Dôž#"' ¤,7ß;bˆH­°VÓ6Ç'ÇøàK#ÓÐ| ²Æü4"r.…T„A b(©»¾”RÆ€G¬µˆ1’r"¸‰qX¬V䔉~Â(Ån·á=¿þ¯y÷¯üÈþvü­œó¯äœW&`nÒ¼xEú¯ý¾ÿ¿å×H)‘R„œÞãÝRÐ.H£ËŠ‹<Þy„Td)ËÊWŠ”3ÁG¤!Aäò÷¬–2ZirŒ$˜\@j]’¹è©› ­UÙ»½ÇM¶®€Lcß3öÃ\9L)q> ÄY­×¡@Be äDLéà¤wßýL¤PÔ¶f&>üÖ×ðºÿë;ή2WÞúªÿ7 ó r(%±Zb$Æ<'zÅ97yBФ˜pã€Ì@‚3‰ÌCIԼDžøH ù‚î)¥ &bdZI*£qÓD˜¸q˾mËJ1উ#ˆ!Ï!†Í5€W<Þ8|ÿÊ}ÿöŸû^B¿Ajµš=º6(­Èˆ’ÈiMžHBRŠº­ gŒÕ¥#)û) ”F!‰S N7‘SrÉþc$Ä„ÖHôÃŽ¦mÈÀj¹Bªæ•’hmèû¥51xr.À“TДлéªbyr¦q ²k™L»hqÓD»hÉ9ãýÄ4ŽøÉ1 Ñ9†a ¦€ #ZH´RˆXÚÓã4Ñ´-g=È»^ýƒq‚Wþ‰r€çþA€wÿÊðÈ}ïÁ;WÂ{.¸®Ö)÷µ}$:G¦q*õø\ÖéºFƒ®,.xBLä\0|Ð ï]ÉÐm…Š”q†…£Ÿ—6ä˜ç3ã¦ï'Èàœ#g¨Œ¥®l ã)”­BÆi,ÏM‰è#)DR ÔÖbF*IݶØÊ"DF+0V#´FiÔ’ª®ð.0 ŽºªPZ!„XúJJê¦Á‡‰íÃ÷ñûç`Ñ>^½ƒÇ+|? ?öÎßæãï|=RHBˆçú)%Z¨’ý‹ŒQ ¤˜ð>B‡Vhc»¾„!I)£• nªÂç›;vMÓ ¤(¸))RتFj¢F…­Û‚JÉêøSWˆ ‘!z”´MKL‰iräã0CDKE×ï@ ê¦!„€’‚”"ã4–ä6Á89Fç¨ê c-9e„˜ªÂÅB v *t1DŒ¶ä˜ùØïþ÷½õ7÷vúþ?0·t_ºyø¼ûWÿ5~*’%áJs¹—¥@›BêJ²X,J’sn‘’D©×sÊhmp!SFI )¢µA*= ‰saF3dAt£%dðÞ#¥" AÕ´HUš:)ÅRÚyOSW(UÊ:­ËV•SÂhƒÈ‚Å¢ÅV†”¦2¬WkÆ~`G”±ôãDß÷ÔMsxOã8²í{úad³ëð|,]ɾ¸öÈÃX­ië)c?”ÆTʤ”¹ç§¿³‡xé|o?`Sß ðÎ_þW¤”ÈrˆÄé‡BÙj B.å]J0¹@ˆiLAà)fp'v@ EùYÎ%áKdš¦%H©à16 µ%Ï(Ý»R{S‚@I<½gGrœ·$@!ˆ>¢EdE¥u“sfǃ3UMCÈ™ÓÓ Ê"y ý®)ÊÊ×?y‚ H© E$0ŽX3ùH·ëA¦àhê¿oRIÉ[~æ.¶’_üùþ)Àï|=àÄÉ¢'ä„”‚ÅbÉn³%L#9ÜßJ"f<ÞX‹¥ •®‹#åÄ4N¤ ræ(m@ ¤i-ˆâP1fbŠÔM”‚ªÒ¤œðÞ£¥bê˜;|bÆ Æq$“iÚ–¡°¦!匶–º­ÑZcäê#×£ÃJKF°X¯B±ÝŽÜ¸±Å£éœõ») š[5d‘©ë-¤DÛ¶Tv®Z„ ijbt,š'¦¡£­Œ±|òCïæÃ÷üÆ¥{ü¹ºôçpõ+ðŠq·áÃoü·4MƒÓT:y¦©q)³ÛnY.(eÐV#D&RIRð´‹!DXš²7‹”‰ûì_–ÕØ¶Kºîrð%2ä\:‚Œ6?•jÀÅq 2Á†®§i*†qÄ"0¶@¿. ©)8ŒQTUE°½qF]UüÁÇ®ñêßý0UeI¹„é‚&B¥jÈðÔ“–oþšç2úˆucXÔ !ù‚£ÒšRA3 ¥+#9'ªª¥½mÁ»~åÇxú‹_‚mW¯È9ëçŠc¨?‡ÎôÞý›¯âôê§°F—ÌzîÃOÃH]UÄ\öh¥ÀûÂÌ•"Ó #æŠÁ‰‚ì !˜úR?L1 Œ¦=»~`Õ.q>0ž¾é&Ï”2ÖX¼t¥‡/*Á8¤˜è¶ÚZšE‹6’Ðw4ZcDiÉ4(­Y1¹éOÇi–KšªâÜ‹³+¾ñ?ýKLΕýˆLž£œ’Š÷è>^ÿÆßá?záÝø0RP¯ Þa¥¤Y´Œ}iC+¥™¼+}Ÿ1•EH…ŸBÉ’Xn;¦iä=¯ý¾ô_¹¿×Ÿ?0ש/ºñ‰ðñw¼¾()Óí:ÖGkBˆ(¥A$‚OUV±sž$%"EŒ)I™Ve¿¯ÚÃУ˜2uU!‚›±˜|` ‘ÞEç‰1Sµ†)DºÉ#—-~œ dôh£‡ž¶¹BJ‰Åj]x„)¢µB"è¶[–ë5¨ê’ n¶NŽOˆ)b«Šç~Ñ|Ï?þÙm¶3«(A.+¸2šŸýÅ_ço¾‡«»Ç«! ºÍ†ÖHdŽ­QÚà\Ùó w1‚–X­JS@§BV•ÆðÑÿZžõ•_ÏÑ]w¿(çüÊÏåüsþÀ{_ÿo݈¤FkE]WxïH$œsTMEt"Ç·ÝÆÐOD—ÊJÇ2±ã=¶jQÖðóo|?ó–÷ý‘ßÈm«†ÿîå/¦n,ª÷h-ˆ}Á ‚¶] ¬!Ì‘qèæÚ;¢¬eØîpnBéÂñ;;;CkÍ4MØÊ–¼%Dº]Ç®ë gR.I&9áŒa'bJ\ߎX£0“‡k71°8Ysæ¨mùÔÃJ»ÕL3V±Ûu+ƒ±†4:ºnG´Ö¤yÿ^ÍWýç{Ïÿø`žØyÞæSãw¾)%™í¢ZkÜ4˜µï¨ê ¥Sðï)ž~(°m¶S´ ×vþà'ù«á¹|ÑÓ®¦H–C¯¥œé]ùÜ`ŸæùýGï\ÂŽ‹jAH™U]‘s.UHe‘´T…ǘ9Æ ”Rl¶;*k8>Y“¤@K0¶æÞ7ÿ2Ï}Ù·R-Ö/Í9õg3úÙF€¿ð‘·ýä8ƒ;[U7>] TMMŒ‘Ðõ…©+JªRºeQ¢ƒV…È!DáàÇXhb9íípÙ4‡ýò³Ù)æïŸ cFb:ÿ7„ù9BÉU’½ä=MSÓ …íCdíÖô]OU ­%zwŽ,%«å’O¼ëM<ë%ÿÉÞŸ±|¶@з|äí¯C I­4Z*êº.3zB‘BD>xáÌO¡ŒRe! 8ÅÂëFB¢4Ydiå–ðnd1ßH˜öeØŒžÓn`׌γJ(Æ»íüµ;ÿ꺞ÝnGØ•éß»ëÛžÎ'ú1’e'G˜yÌŽÉ…<ààs¦ 2ÄðΓb`r!RŠ‚Ìï[[‹¶z¦‹cH1²\. )%r̩ɹÐä>ñîwÉO¸Ìâ Ç×î?›ïÇǩǞœ"UeQZÉ9ꦡ]´T•AC³(„Ê4ÏàeJ¯]˜×Mžiaûp›/$[iÎrÊóãtøy7:úÉ3ÅÌ"£ó%1‹ñ|Õçó×¾?G”ÛÍè8ëGÎv=»~$ A³X²Ç¢÷+?s1)½ìU ® ÞM7•Æ“›0•ŶÍ<¤—QZc«2\"•ÄMb&»:ï©ë!§Ÿø§Þp<Ûâ ß¾ྷ¿©`Fó¤LC õ"D”6ä9ËÎÑï22gªÊ²ÙvÔ©`ô)GrŠ(Ydü4êNa&‡ì·Ã ?_ùû <¦”¾@a%ÆiâµoømúýÐì¤Dš£HÓÔL“'fKH0ùH£ã0! º²h¥‰7å¼/—KÙ¢„P˜™éœÃì<–•­èr‡®*”I3e=çYESYbޏq˜ù…™O½÷m?åY{[üÂí/xè}ogµZ±ëúø•©,Óè`šÎÏ}ÿˆ1óØThe‰q‹Š˜1g*¥æÁÌDÊŸüa¿J—L&ßü}&Boˆ‰)$F˜‚&¥Äõk×ù¦où6ûÆÑy$9·˜ åÌplÙŽ!@äL ’vðԽå„út¡ÿb0ç 1Æâà)ÃùHˆ+eAC!®L3²ªúnC¤ðrŽŒýÀúø˜œ~ì0¦b·ëøÄ½¿Çs_öŸlñ„9Àœýß¾{ä\}àCŸœ „,7PZã¦-•­qCOÝT˜rºW;–ëJV°ŠÊBLÓ„,³¨}bx0ÏM‰ ùrM>_!e\ŒtƒÃè’eÿÕ¯{> p!ñÐõ ÛÁ³›ÝäPI|ˆl‡iN,-1IòÕSÑ ŽõѼÒ/ýíü¨÷!(C!J•jćPZÜ>ŒFUÛ4ô}Gßu,Ú%Ñ9’äâ}së³,,)`è{r#hêšîú'é®}’ÅmwÝþ™VŸiø:€G>ônb,¤ÉÊØ–ÑeïV¢$;!Eœs$YÖnUW„Pʺ±ëq33&Kï?:µ6–bºó²­LäM\¸ù‡²p^{¿¶ãã×v}âøú;ï.ùCЇ/àеÌûQPÆÛrqÕÅjÉrµFšR¢*c*[!–™n³aÙ.©¬%æ„6Z”ò7ø€µ5B(š…Fj͵ûïeqÛ]{›`›ÝÕ÷B–/wxÀæ¡HafßJPF³ÛíH1aLi«,§é@‰v>áB¤zêºÆû€‹e[CLø˜J¾ UYJa¥"fтʘ2*5«ÚP«Ìƒ‡dOVrÚ‡ïK‰âÃHƒ ßK—ábõa´æuoþ÷Üþ¼—Žá…^Âþ}øP€§£Eò±ÔZ²¨ FI4™¦m@Iœ+åoÝ´sha®¢ Ö…)¬(ˆ¢2†©ëPB“B‚ÐR³»ö)n{æ—ìmóË7ø,€ióͲ!Ç\Ð*ÖZ´Rø0ƒ/ÄVeвn—@¢¶3‹9Ž£C ‰ª¬¬œ ‚L˜;a)%Œ±ÔZ±ª-­’œ´O¾²æÎ“%‹Æ^FàÁ…æÌ”ð°OÏY|šÑ¼4'‚9^l6åÃ{ g6ÛŽ¿÷ßþüö«”¯ú²Òu=ÑOˆä±"Ñj8ªO^×|ÙÞÅÂjŽÚŠãõ‚e[aÔÜIŒ™à}·ÃHIŒ¾Œ‘Wm%Þ ÊßvÞ#µE™Š˜¶ªQÆRÌ8’SdwíÁK¶y¼#À3\_ذ…3ŸÈiR 6› írE”%!r.²+l)úª©PZ"„¦ëú2é«tæ¥!$… ­,}ïi+K]Ò¢F×SUÈèhkóéûóûZ\pyØgîçyÍüÿ45ž{' IDAT?wNòJMŠ˜YIäÝ^üüç°^. áÔÖp[Y*-Y4F“Ž´V±¬4†ŒQ %Šz…VªbÆ©Ì4ˆ¢V"¤"¥²-!PR „`J‰èÛ³ O¾ë.6§;´€vÑfÕîÆ%Û<Þp'€we`R”PL“ÃX©j¶§bŒÄË<œV¤,q〭j¦Éa+‹µ¦äÎQC?Œe h¦D¡ÀÃÙ´åèh5†&ªºì©µTZ1]èÅ_÷\^ýûpN‰ ÛÉçØ—€ósK¤HóëJÒ'öÍF+*-Y6–u[±¨ DÏɲ^Ô4FQ)XÖ‘2ÖÔk¸qýj™fö¡ðü¥d™eÔ…õ\Ue d¼~åz¥sª$øq KŠžéìÚ%Û<Þð$ßo %D.¨›’iòäË9‡™f¹(Y®”…ŸãaÎÞjK¦ìqy¢÷,éÒŽºi°¶Âh‰Ö[V¡F+EÓ ¨”`Úçô{ÉýB¿i¥_LôæˆóVÃŒÍs)Šˆ9Œ2ýù1”e”À*Ac$ËÚp¼h°¢æ¸±¬µRˆTˆ¡ÉM,—l·ŒµTu]ô„f'8>9!¥„œeg¤1Hm¨ëŠœ ->øPF׿F“È™4õ—lóxçG»7JKsßÞ3¬5X­Ùn¶H!‘ưX¯‹ú†óxïiÛ†±gG™æŸE¤’(«ÑJa¤„Ë …h£ˆB §FŒÒ— )á;ôé.n éQþ¥Ê H—_w±ysE!£$µÑ4Zr²h¸²j¸ãxÁí'+–V# 4•AæL]Y*kÚåŠÕzR’Ųåèø˜aQZ0’º®ÉÀòø©d‰œÖ"„,’·ZϽpÉ6whü0"¥&%ÁbµB+Ÿ>z¬LÞ•Î0áƒGƒ’i-B)ÂŒjyï€sS÷ó”oïffÇû­ âH":`Ü”ä]ÎÒM ž›š7ž—¹Øiü4¯Ýç¢ämm°Z²^T\Y-¨Ud]k´‚ä3¶2E¦Î(d,mïà=ã$Ê„t‚ªªÙP1ìvTÍmXkJY¬tI¶½+¢ªI}×Ñ.‹ÊÈEÛ<ÞÀ\Þ—NŸ’غ™µy¶2ŒýPJÁª \ä˜Çž¦nʘmËdM»\b« ÛX’Íf‡¶DÆù2>eÅJJä~¨¶BH9ƒ{é< ¤ýn´NSÿ~_<–å mæ”ÓŒö÷„(5~ÛÔ¬ m]Âþñ¢æ¤­¸ëÊ·Ÿ,9Y/IaÂHÉn·+ù‘÷³øU.Q”yÆaðÎéœü¹±GPäeHE‚.ÅDßÌ’È—ló„B™è¦¢¥5ÎyP‚!8mÁ¹s%Ì_hëF¨gÌ;x_f31KÂ*]æõŒ)C$ÚsžË$[”¾÷{|ÿtèßsç2îÑ+>]âžSÊÒÁYöŽsÑAöCÞ£‚”aUk4FJü4C nªòûcÉ“Œ6¤ Ý0¡µž“I0 e~`¹liÛÛÔDfqŒ„ŸF ó¤ÛN˜Æ±HàhA³¨BâÇñ eùò±u-sÄMÃ!«!²:^p#ص®k¦a$3„†€™Db·Û¶¬”(%Ê~9¿­YÀ]Y«%9ç0Íɑզë&ÖÐ>Lç}BÈåÄ._bläƒcJÇ ¯9€Æ³CrŽy‡b(ÜÃ"ݶ#¦¹ëé#ÃàØn¶Xm˜\@)…Ã0–ñp_äïD†Ñ;V«’8{72v[’ äŠ3OU×(m8>>&7Ŷy¼ 0m;kâ–P˜sFK¢´@›gé•dØ ¥×^Wå$£PÆÎ厂”1Æ 3¥iC‘|eFOÌèÞ4–±1)Šˆ˜gþÄ£é1½ÇÎnÆÒ¥ÿcmç‰ãýW˜ËRÆÙû~b žzÑÐ,Z\ˆLα^­܈2ŠiÐB•­1D¦n #0³ZIi—Ü© Œ[×…)BñŽ Ð?pPµ ¬±aØuh)‹B—R¸Ñá½/ÂNR±ëËès ‰”(Ê)"Ò9¹ÃÌ}ó²*JÊy|JP±,!•)ß=’L ñPÞenÞ¿/?Ηzé@-»ì<Ü”ý§K¯½AògXhðeÌ«¢~±ˆUjEL kÛ¦àÿª ³†YCðìôŒî€®ðÎsãÚiEà|QAqÎã&‡µšq ÉtðÓX”Ê/Øæñv€«õb]Œå<Ó0ÌR­ZH "(MÌ¡Šø3¢ì{9e¼TÖÎÓ·7kôÅèÙœmPZãýTÄž|<ÔÊUUágî| aVÝô±“<Ó¸\M.0‚÷L¢”3Î{¶Û®Pཇ˜Hl]ÚåäDŠžn»E)EÓ,躎èW®ÓÔåXš±ÛAŠ ›1ocÛí¶¨ å\W89®>| Y-.Ùæñv€O4GWf9•T(\1ª“÷ä”GGÈPWe&^kÍ8MóAïbI–êj†=U)û&‡'r,†˜¦2ܹ\¯æpŸ©MáÉ"ª¾ˆé^ÈйÔð‘<:8ü{8ÊùZøX°ò%þù‰BzͳؓTš"uÓ0yG·ÈžÄ8Œ[È¥ÎqI[U3U\¢¤šq5šº®é»Ž;n¿½D«”99>Bä²íZc¨V'—lóx;ÀÇšÕªª*Ý+S˜­E²]b”!úÀØu{í0KS n‹ö¿©H”éßfÑÐ6-)ÍdM!ʸ÷䘆‘8+‰ØÚm+äÜ‘Ëéòœ`¾ÄêÉeÀä&˜÷9n*oN$á¦jàB°'hUÙ“££2$ê\ÑÖ†œò¼Ò‹òjµ>”¤¶²`»íh-µ­ 'lUÔMúí-%Z+Öë5}×ᆠ7çëeË•Ûïºd›ÇÛîhŽoGi‰¶eÜËO•©ÊþN"ň?î0FÒ45•¶ä™ƒï½'ÆT¤XŒã€µ–ª-«&Îå)ê›r–’S¢ˆGImŠ/ðïÎÂà{˜—Ë9ÁÅ à¿ð¦/!ÎÉ e@õ"Öº¼7!2JRª™¶˜™œg¹hX/…û(¦®ÆYûY#q±X"µ&¤Èúø79vÛ9$™aWÚÞJ)v»ï QÖ²¼ý©—lóx;ÀûVw< SÕ©fù”@¿ëÈ)!•QÐ*!ЦN×íÊÁMJa¬¡m[ºÝ–4Ã’ÈÝœ0«u YädwÝ@×õ‡¼;†xÀË‹ìù~é°GïWëê•nâú]0tº0ÔùéÉCØ——û($Á•ŠÄ˜BE‡±œE¤T9û %´* ,r¤ï»ƒr¹ª­©*C·=;Ïøg~ ®ïpÓÄé!©+SH8¡”ÍÉ—lóx;À¬ï|1”áÆ c,M[æÃê¶š£@)ƒ­›Yþu*Òë²0€r(Yn´RjVë({½­\HÄ\ÐF©“sÄP’ƒ¡ofþ¤ %ÜE®^yÓ§„Ó¥Dï±É›æEÙR–Mr."Ô¶" °Rqzã:™Tô‡ú8KÉÔ‹–õÑ¥5›Í¥-.:Üb¹*'Qp¤,BTi½â°ýÝu÷eÚòãé3çì‘zu‚]£D> ´<>A×1–ŽVÝ4hc1¦ˆ5 ‘1Zvl¥±µÅùRæábŒ4‹%¦®IY ²˜i)ð¯–eöpœ¦ ÷ÀÏ'?Æ ç|u§ËÎñ‡•Œ…ìâÏSL(¥fm Ô†ª®‹x•6˜ª&ÏšÄ1$”±¸É¡Ä¬„R7ô»ža,s‡B+„)[Áb¹,›±ÔmËñɫ央 Í®:¾z}à‘Ïä„óÏ ~Àê)ÏD‹Ô†ÕÉ1!Fó™{ã0Ì’'j–_uåÆÍgxÎ3ö#91Ÿ4ágç÷ƒ`娘\X»‚Œ±ó©Ÿâ–÷S<û¶­œÁ©KÝ»9¸™÷wsvÿèÇåäýž1ÏR¤ä-åÞÊ`‡žqŒEÛR×!ør(…RåHçA)šÅ’'Ýùd™“+'h¥°¦ÀÞÎye²H› Ÿ2«õѬ_¨iïxæ%› _àbeF+þÅüÛ]Ç»Þû!œ|âÚ–G6=V >zµç¥_tÇ Ë³mªÓˆDÎê¦kL¶žvèûYJ–‹¶Ì.ìÏQðåÜ#£%¶­ÊéduÍÔÄY?ùi¬ŸüôýþÏ œÿóןòü¯`ûðŒ½£1 b%Dï#FËÒÁ›Y±a{Ȳ,F% œsÔ«#bt8PUFš")#烗$Åùy}Ïù1ù¡…ßÄõô¬À£I 1E¾÷Gž¯xásxö3îâ9ÏzÚ¡¡¤¤à7ßüvž{×mSqít‹‘õz¡ÀÛ«E[ò£ÉaŒœ'¦BÑK”)"zæ+–¾Ifu|ÂØm°U‹óJ˜rŠŠ€;Ÿó•mñ„ëüðןþ¯æ}¯ÿ8:>b{zFŠ™åz…­,MÛÐw;òLµõ㈚˚ècQÍT–"Zj„LNPך8ƬÌÛÃ8ã ~*Cæ˜ñ“+«]òhü>?—V÷c¬ô‹}èÏ75ˆÎ+ ø¡ößs×Wmâ”3M¥¹òeßB7ŒtcÕ‚ãeÃä#ið4F –pzã´pêš”Š,nšUÄ“¸0"Ñ9ü8âÜ„Ñañú¾g½Xrçó¾ê¢-žXBüBÎùôÊ3¾øøIw1›‡>NJ ¥Ñ¤PEN¤–X¡Ùmv3õ9±ëg¡$ Ñ'ï ¹B+´6$éçI±f±À ]ߎéÆé\àf½Ê<þËÇc ƒ<ªÉs±Æ¿ :q&-Ÿýt³£²z>*¸` ƒ)dœÎE6ƒÃjÉñú˜kׯ³2†êø[7%󗚪nJD™29¤$ÝvÀ»Wî¸7h¥8»þHaeɰÛaµÅÚ }|ÇO{6À©â>S;~¶A? ðô/ýZ”R•šXÊr»²[Íôp‹P%Cn› -KÀ˜r#•I•ºiæÓ¹ËtL#aìÉ!±ízï|äúfÇ0Ÿ¾¤ 1–®âŒ&:_ô÷èb ‘‹<œ?'¨~~½ŸŸC<œ *æ÷zi‚èBUSš[B°éGz™²`LÓ4Œó‰#£w,VkŽOŽ2#”8¨ŠOãHÕÖ(£™&Ç49å [U87à‡-%Gë5Oûs/½dƒ?Ž-à'€¿ùÌ/ÿ‹¼ÿµ?‹TšÝfÃb!‘Rƒ6ôÛ3aGŒÑ(-Êi`³. ²tÞb@¦DRøÉ1aDAþ,‚0NüÝ{#÷_Ý<ÆÛø(ëg¼ˆÇëúþïüÛüÇ/ýŠK•ľ7ÓÜiœcp‘!$úÉÓMÇm]GÚ%2Gˆe¦©´t»Ý@[—†X[Õìv7®ß( YÈh[šdÛ7¨;ÏKJ¾øk¾á¢ þx`®ÞlÛÕKŸúçþ>ø–_§nêr6N 8?–óÌ‚n³)‰¡EPÂGªÚBÎh©‰LQ´úDŒ4‹–ÝÙ†z>„1eœçÿø'ÿ3ßôò—1MÓ%a§óaÐó¡CsèÏoÿœ=2xxþ£C‰£õ‚¯ý–ÿºˆB“g‰nRM—df|Ê “§Ÿ Ý0±°«$Ã8"µœ´c,Úhš6qz㌽Ҡ±Æ6èJ"…,áÞ”Hj´B(Á/ül»xóg£ø¹ˆ?¼ô þü×sÿÛ_Ë4L3³Gc9Z[ƒ©Š——1kQÄ´>íªŒE‘‰3¸’C9ÿ' Á0ôä1g–Ë–Û®œÌô°xQÙë÷íçý/9DžÅÓ?—uÒ~òç&}€“õ)%Þ‡ƒ”ì…“£ð¢`UÌà|ćÄ4œ›HqbÕhp ç<«õ’aèimšë£B°É$ÖGkÜ8P7MáPÆHȰ\‘|àé_ñ²‹÷þ³º>ë#f­Ú{OžòÜý¥_‹`uiu $Í¬Ž¹?,Á;OUÕ¤™f˜SγÉRI¦|è¦] …aÜ ¥ÞÏÌT1UZÑZ•™»ù\`£KgR+‰Q…XQHäüxþþü¥Ê¿åñþç—¿r´ä;þ·æÅ/ÿ/yÑ_ú@N­ H.òÓ| †ŸGGGh­i5Ö6§gt»þQÖÇklU¦ mlF5eɧ¶§7PÒRW5·ñWr\š?÷~¶:ÁŸ«ðÏþ¿ð¼ç ¿L»hñ©$UËÕ²¬°¹µ[t}3Wn¿˜Âb-ìŒ÷e&W¸q*Ü8%©-Ønw\½v}>14Î}šU>ÊŠ/GĤ š~"Åœòù¹…£dg|ˆ¬‹U)lz”h½?¾¦ü}ýÿµw®±–eÿ½÷uÙûìs™iÇÞ ¶tÀr)-½ RHk+¥©€TlTH°Á@L@¹!~Óà'ñ#Ô˜(!ib0A’H %i#¡\[za:—sömíõ¾k½~xÖ>L!ÁNË€çIæËÌÉ™½Ÿ½Ö»žçÿÿý‡Ù„Õ CÆj½¯|îûn_Íc#Y‡ê„úÑçŒÉ°\ˆ¬Î:û# }ÎLOM™ž<Å‘ ÆÌ§»\uãëOÏŸv©3uPÊ9?¼ø+ÿþ ¾yÿ§Y,ììf²sˆ6®$‹¯ë˜îîÛˆî…9Åýàè¢ìͦ:rcª›HFª‚»>þ);1çÙ®s'›u@+Å×pâ§þì /Øf»öÙÞàÜ µW•¨®áœí-¼Úçªm˜loŠÚfÓ)Þ{œ hk8~ü)67wHÍ‚ÝÝSTuů^÷®¸ín€‡”Rg$;èL&†| øçËo¾ƒï|ù³¨eC×D/¥ÈhBp,Ý‚ÕJ\EeU°jåœûŽØ&¼vìž<ÅÎÎ!ŒQ´ÃÆoo:ç/o¿–“Ó†ié}ÉãObÖDŽŸœ±7o°ÎF;ܡᒩ›u²cXÃ$Ö&£\Òû\¿¼¦|j±i{# ƒ—?ÿüq€Ô°ÙLóeCá,‡7JmmP{Ã(ê °Þ :q=ÇU­)Ê‚é©]\Ø:´#ífHHI-e(öÅ4ÎyRoxÁoÞqú{ÍYÕJ©É9ßêñ­WüÎqÿ'ÿŽù|&îàœÐhúN¶_]Š”õH8>JË ÃÉKék h…1±[Rx™ƒç~tô «2›UÀ H…Å낼ä»53 ßžo‡ü¾µ€Sk½ßJ)AÔw²ö5CxUßI²Gß÷”ÞÊÒfÈ$VJH Úhæ‹–e0”e`\â® r©ŠÞhFc‰¡ÉiµÏ{&xë˜íMñA–EÓö[[Ûôªg¶{ŠÔ‰äŠÛî&Ô÷©¼ 3}x?pë%׿†Gúß}è ’¨´8€‡yJQ\Åm?H¡;”±h29‰,µ‘”{¼“Í›lÒ³ÙœÚ;ÊQ‰UJþä‹U‹µ†•ÍÔ£zÿJú­4«ÆB²†¶xïöC¢×V¹'ÉÌß9;j¥hWK&“1ÎÈáÔû ¡ÖÙÑ÷0©<«¶ *JTŸÈ)RMeY`r‡Ñ¢‹È&cœfÕFBYa4(kH ú~ˆ’•@%VË%[çæÈe/åâkn>ý=æ¬l¥Ôƒ9ç¾ò¶·ò퇾ˆÒ†UÛ,ÁÉÚµ#È(´µ(c0F“»Ù’{‰ N|q¾†FJV±}¦´]œ§zFÁà¥ùaD|¢”,™;ìÝŒ£sf¹P¤(ß0¦iW8+·#¥‡…VL$£‚ñxDŒ-Þ9f‹…üŒ1´)Ѷm4e:Ócsd{c=ÜŠ Šc4¨Œ]®†ÈXè–KÚ([Rn7ô}bÕxƒ£7þÁú-þ RêÁ³¶†&¸7ç|ÓÆ¹üÆ+ï|7ÿ׿ã Õ%V‹%Eé»XêJ\+AËÖÚ}ËØz¿o´¡ ãÇO’S"X‡!Œ"8×àȨ́sB°XW`­ìŒV(#‘lsõ¨kzê@ÁBµ¨ìqÎB`±0„¢@«vEÛŠçÏÕ5Á6 ƒ®F¤Üa²¥ªk´±Âÿ³Z ¯±EåRv&S•Ý“'°Ûòûhd=„M÷½è% ge4ž’äM¶6¹ô†7®I ÷+¥î=ÓŸ—}†Îï¾réu·èÕñÇùêç>Å ‰KµÆƒ¶hkE`‘™”:>ôEU¢×F(‡2ë-Ö(yj@1ª 4à5Œ¼eéDIc¬Á9ƒQzØ#$À±´PM½ Ú´VôãB(¤Zx;£‚¦mEìQ{šfEj[ª²À;ƒQ롞G²Úí»ždu] a”¦YaC]$®ìlnÈY+Ú&RJú$Þ6EŽ:‡ùl6 c5©é¥×ÞÌW¼j}4z×3ñA=# 0Ü Þ|âò[ÿ˜cߘ'~ˆžžU©êв®)Š‚Ô®(Š‚>o|—ˆMCU–d+ Y d X=8g„ÉW5m³ÂÓ£ ÔÁ 2ÖiAѵ‘œ:rïÈF£C`>dXÖŠ Õzè$T²‹KÆu ZÑXè’¦ r ªG#2°h–TÐ!§žíº"Æ–ù<1ÞÚ`²¹A#‹Ù ¯FCðž>­ ‹%®ëF)Æ£½ë1&œUŒë“ç]?ò¼ýL_úÏØ$ð§4Á?¸úM÷Pïaш£¥KQ–ÚÚ–Ø,¤îEöýzH …8eŒêÑVSŽF¬ÑŸûiJ|‚npç+®š88gÕ@$×ZÓÌÓÝ]ŒÑxçPÈ€¦¬*F•¤uu1RX˨,匠@¯»$ÁÎ]Bçï ip0Wu)Ä“,3áàƒÈ»³b¹¤œUšùtJ³l(ËŠ®4óÅà•(åɤsåïíá?~&òŸõšàà¾zë0/¿ó½lnîˆDlˆz]+…åy[£†G6W„}›µ1^^ff˜ö)É6‚øþ†·ë2 ‚J­-¡¨ÉIšÿýjÕ°l¬/p® „Š¢¬ÇÖ,±Îጣ]®ˆ)al „¬MÓÐe(ª•¡ôe(ÐFãŠb+qò,Œ76hbKÓ´t]ÇjÙºžãOà©§NQÌç Ú¶À˜J®ùÃ÷PNvÖ|÷<“ŸÑ3ÚCÝ<°uáóø·¼o7Ž&x”³`$E3ÅD”Ì7 Á ë*‹ {ˆ`OQ–<Úhz¤æKtÖιħ2ê;‰e)«BšÎh–Í‚ÕrAÓ,1J³j–ÁËr§ï˜îí‘R¤®*qó´-Æ[B]‘ì$º˜èºïKŒu„à‰m#ØBP6Ö9œ3L6'„ðÞ3ÙÞÄ:7À¡Z^ö¦?gç¢Ëàiæ  ”šo>rô¥ÜøŽÐÃÍÀÊüíÖZr«-ÎyBY ^x‰„I"Ø­Õt­<Ã;o)¼‡>Sî£Ôud­è£0õTVÄ(É¢# ’Ú”$™cXòÅéd¡W-«¦¡XuB2‹]GY†¸ø~ Ëv³iè{ºÔá­Ã»B‚ž|!‚˜®ÃM¬@­–}õïåÈó¯xxÃðÞñ‹~X»‰^|ï¼Ë¯æ†wü5&T¥È½"^ãû2V+º,Êãì)'^À>‹GiÐvý­r2¥/k}@Ê,túh>àà%‡ ÷½l}6–É4ø¢¤ÞؤªG,—Í0¥T¤6S‡wž4hdŽ?—,zº.ŠšG+Ié"óéËÅ’vÕŠ’0k¤.QVÚ^öæ¿à¼_»à{Àëþ/.Ÿ³¶†&ø’m3\ >Н·ö¢6Ã0nð¿eÔ÷Ã@ ]—ðΠµ[çZ‰˜A0³¹Ö°àè>¯híäaˆ¯3F<øë‰ãªhçhSŽÏ Z2Úà½c¶··ÑF¹·kíö•Á£š66lno¡CA£ª"µ+&“‘èÿcËj¹D•\ÿ–ò+Ï¿jýÍÿíá½â—ªNk‚›=ç(×þÉؼà¨$f³¯òVJ (½ÿÁÛ(Ç#òD!„XçPFÓÆˆõí1Êð¦ï3¹Wd¥.©!õçÊ*QÚXGîír¾O+ªR6܈)fIDAT“¡Ú_¯uŽÆ9ÊÑçmLÌ+Pñ^Aä«ÁÖ¥Ufµ˜ã¬£(Í¢!¥Œó2¡lûŽç¾äz^ñ§aëÂç­ïù7?›þ³Þ§Ý^ ÜWNv¸ö-ÅE×ÞBÎYlÖÈi[¢æ]ŸÄh¢2}¯Åh$1‰ÎÂ@Üè©2jn¡´Ö‰Ç8¬ÃÒ)»$Ä$n[c,ôŠØÊUF´úò9L:¿&“ "V£±Îà‚ÃY½nL6˜ÍæÚÎaƒ§(KÚ.‘rÏrÕpÉu¿Å¯¿õCû§}àÕÏÖeÿçÚ냡Rêµë9ÁKn»‹+n'¾,QV€ÉʬáR†f±"®„'˜µ<×k£ér&­Z{{t1¢œ0ŽÈJÑÆHL‘,«&@  ²œñò{zi44L÷NQ×F#%kÐΈ„Í9i¬ EáÙÚš¼gsg›P–ÍRœMˆÈ¤O‰²ªiSDÑ£rOðëîx7×½éžÓŸó_ûløÎšø±9Á]@ñõ·pÓ{þžó/¿Ž.÷(@¥ÐL§3;ô ­´xèûë-Þ{Œ2˜ÄØwvPº¬c^„âa!gŠ¢¤®j!𠍇˜zrmê(«Š¾ËÄØ±(^Þ{´Cs¦mºê h Z  e”µ’û£E1S‹³–"8.|á5¼âÃs®ºq=Þ½ë™~Î?«à´‰á•Àý£ÃçsÃÝ÷råmwƒq’E˜ZBp²Eë!¦IúŒÎ‚_´¼D̨,‚S­„-{„¸]ûûü5oЃVë=Î;–‹Æ…ažß°Š-EQ⬰ˆ–Ã#^?hbŒr ìDX’†[ Yf ÎË®#kÇÕoü3^ù¶1œËýÀ•Ïä„ïç½ ú™wÀ+sÎ>|ñµ·pþ‹^ÎW?óO|ÿKŸÁ{+ÈçÛy/=@kEì;L¯`ˆ®QòM; ]¤k[Šª$kMê³ù‚²aªQ†Ü'”õƒ9%ѧ:yò¨Ë舑}§œÉ^ SJ->HYF g#Æö½ê&ŽÞðzB=>}¥{/gI)βÊ9¿ø(p+Àîßã>ûo<ùµ/J¶ †½Ý=вbûг锶iPYáƒg¾7Eç^©³bº{ o-õhD(K–12[4Œ'ºØÊ}Ýœq{òÁ;Æcü BQšEåqAüŒÖ–Í’ñÖ6y†6Úqü‰ÇhÛVÿŒaó’+yáM¯grdßrðþgj©óKÓ§5Âïï^ 0ýá#|ÿËÿÉ7îÿ4í²Á%õ¨f9› =¼ë‡S{¦OÛ[ìMgô]–”ç±Î0oZ:ã¨ê’v±d²µ Z®ž|ü16&c\ðüð‰cL¶6ª‡%£°ÆÑçŽåbÁÆd í,Y)L6<þè#h£yñM·sÑÕ7¯mÛ;“2®ÿ pZ#¼ x7ð€Õ|o}ñ?xük_"/3;qJÃŽßÂÏ¢HE×FÒr!9†uÉtÑÐKY̦3FãZt±g¹šS”}—™/> 4øà™îî±uèR€‚zË ê­óؾôJ.¹î–Ó/õ_þöl¸ÏÿB7Àiðfàn`ßyêßâÑ?Ï£}“|4ÔU½?.ÖÆ°˜ÍH«†"”5«”%R¾D޶lmnÓåÄtºÇxù(}ýöý&'ýíÞSÃþ ³˜ïQ—5®ð4±#õËeƒ·~ˆdL«s–f¹ñ(=ݪåØÉ“¹àBêÍv.¼ŒÍ /ãð%/btè¼Ó_Ö)Ä¥ûɧëÕ;h€Ÿ­n~wØ1>ýßšéI¦—ÙSqâÑïÐ/vif'X-œ8öCRZ¡z™ç‡°¾ÂU¾1Þ>—ñÎ9„ÉaF‡ÏçÐEÏ£oþø !s|úéøóàÌ^^…¤h_óã qê‚bû<ð¹_´oú/}ü„†¸ÉÒ=Š$j^„äêBÒµ*À3€¾°…]¹þ^þ6‚_ýïŸÇœþ ê ê ê ê ê ê ê ê ê ê ê êéÖÿq¼ ˆIEND®B`‚./chessx-1.3.2/data/images/chessx.xcf000644 000765 000024 00000134540 12046272240 017103 0ustar00nistaff000000 000000 gimp xcf file€€BB ¤ icc-profile H HLinomntrRGB XYZ Î 1acspMSFTIEC sRGBöÖÓ-HP cprtP3desc„lwtptðbkptrXYZgXYZ,bXYZ@dmndTpdmddĈvuedL†viewÔ$lumiømeas $tech0 rTRC< gTRC< bTRC< textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ óQÌXYZ XYZ o¢8õXYZ b™·…ÚXYZ $ „¶ÏdescIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view¤þ_.ÏíÌ \žXYZ L VPWçmeassig CRT curv #(-27;@EJOTY^chmrw|†‹•šŸ¤©®²·¼ÁÆËÐÕÛàåëðöû %+28>ELRY`gnu|ƒ‹’š¡©±¹ÁÉÑÙáéòú &/8AKT]gqz„Ž˜¢¬¶ÁËÕàëõ !-8COZfr~Š–¢®ºÇÓàìù -;HUcq~Œš¨¶ÄÓáðþ +:IXgw†–¦µÅÕåö'7HYj{Œ¯ÀÑãõ+=Oat†™¬¿Òåø 2FZn‚–ª¾Òçû  % : O d y ¤ º Ï å û  ' = T j ˜ ® Å Ü ó " 9 Q i € ˜ ° È á ù  * C \ u Ž § À Ù ó & @ Z t Ž © Ã Þ ø.Id›¶Òî %A^z–³Ïì &Ca~›¹×õ1OmŒªÉè&Ed„£Ãã#Ccƒ¤Åå'Ij‹­Îð4Vx›½à&Il²ÖúAe‰®Ò÷@eНÕú Ek‘·Ý*QwžÅì;cвÚ*R{£ÌõGp™Ãì@j”¾é>i”¿ê  A l ˜ Ä ð!!H!u!¡!Î!û"'"U"‚"¯"Ý# #8#f#”#Â#ð$$M$|$«$Ú% %8%h%—%Ç%÷&'&W&‡&·&è''I'z'«'Ü( (?(q(¢(Ô))8)k))Ð**5*h*›*Ï++6+i++Ñ,,9,n,¢,×- -A-v-«-á..L.‚.·.î/$/Z/‘/Ç/þ050l0¤0Û11J1‚1º1ò2*2c2›2Ô3 3F33¸3ñ4+4e4ž4Ø55M5‡5Â5ý676r6®6é7$7`7œ7×88P8Œ8È99B99¼9ù:6:t:²:ï;-;k;ª;è<' >`> >à?!?a?¢?â@#@d@¦@çA)AjA¬AîB0BrBµB÷C:C}CÀDDGDŠDÎEEUEšEÞF"FgF«FðG5G{GÀHHKH‘H×IIcI©IðJ7J}JÄK KSKšKâL*LrLºMMJM“MÜN%NnN·OOIO“OÝP'PqP»QQPQ›QæR1R|RÇSS_SªSöTBTTÛU(UuUÂVV\V©V÷WDW’WàX/X}XËYYiY¸ZZVZ¦Zõ[E[•[å\5\†\Ö]']x]É^^l^½__a_³``W`ª`üaOa¢aõbIbœbðcCc—cëd@d”dée=e’eçf=f’fèg=g“géh?h–hìiCišiñjHjŸj÷kOk§kÿlWl¯mm`m¹nnknÄooxoÑp+p†pàq:q•qðrKr¦ss]s¸ttptÌu(u…uáv>v›vøwVw³xxnxÌy*y‰yçzFz¥{{c{Â|!||á}A}¡~~b~Â#„å€G€¨ kÍ‚0‚’‚ôƒWƒº„„€„ã…G…«††r†×‡;‡ŸˆˆiˆÎ‰3‰™‰þŠdŠÊ‹0‹–‹üŒcŒÊ1˜ÿŽfŽÎ6žnÖ‘?‘¨’’z’ã“M“¶” ”Š”ô•_•É–4–Ÿ— —u—à˜L˜¸™$™™üšhšÕ›B›¯œœ‰œ÷dÒž@ž®ŸŸ‹Ÿú i Ø¡G¡¶¢&¢–££v£æ¤V¤Ç¥8¥©¦¦‹¦ý§n§à¨R¨Ä©7©©ªª««u«é¬\¬Ð­D­¸®-®¡¯¯‹°°u°ê±`±Ö²K²Â³8³®´%´œµµŠ¶¶y¶ð·h·à¸Y¸Ñ¹J¹Âº;ºµ».»§¼!¼›½½¾ ¾„¾ÿ¿z¿õÀpÀìÁgÁãÂ_ÂÛÃXÃÔÄQÄÎÅKÅÈÆFÆÃÇAÇ¿È=ȼÉ:ɹÊ8Ê·Ë6˶Ì5̵Í5͵Î6ζÏ7ϸÐ9кÑ<ѾÒ?ÒÁÓDÓÆÔIÔËÕNÕÑÖUÖØ×\×àØdØèÙlÙñÚvÚûÛ€ÜÜŠÝÝ–ÞÞ¢ß)߯à6à½áDáÌâSâÛãcãëäsäü儿 æ–çç©è2è¼éFéÐê[êåëpëûì†ííœî(î´ï@ïÌðXðåñrñÿòŒóó§ô4ôÂõPõÞömöû÷Šøø¨ù8ùÇúWúçûwüü˜ý)ýºþKþÜÿmÿÿgimp-image-grid(style solid) (fgcolor (color-rgba 0.000000 0.000000 0.000000 1.000000)) (bgcolor (color-rgba 1.000000 1.000000 1.000000 1.000000)) (xspacing 10.000000) (yspacing 10.000000) (spacing-unit inches) (xoffset 0.000000) (yoffset 0.000000) (offset-unit inches) icc-profile-name ICC Profile39¡‰²„<>Zwischenablageÿ     $"Â<>Ö<>æaþþ&þùþþþý"voonùqJýþ þöJÿóòññð÷ ûFôççååýê™óKÒÈÈÇÇÆÆÅÄŸòFôææåääê™þaÿÿýýÎúûðFóææåääê™ù^ÿýüûûùý÷ÈýúûFóååãùé˜û^ÿüüúçùø÷ÈÿýüüûúúùÿðFòåääãâé˜÷^ÿüüúûùùëöÈÿñððïîîíûïEòåääãâè˜à^ÿûûúùùø÷öÇþðïïîííìúùEñåããøáè˜ú^ÿüúúèùø÷õǺ°¯®­­¬¬µñEñäãââáç—ò]ÿúúùøù÷÷õÇþðEñäãâááç—ò]ÿûúùùø÷÷ôÇûEðããááùæ—ù]ÿúúøøû÷öôÆòFðãâááàæ–Ì[ÿõôôóóòñïÃôëêêééèççæåääããââááàßßë^Bïãâááàæ—þ ûûðïîîëíììëêêééèççæååäãð`Aïááßù啿?òãëôòñðïïîííìëëêééêèççæååñaAîâáààßå•þ÷Bÿññòññïï÷îííìëëêéèèæäðñaCõèèçææìšöBÿòòñððïîîìêòéèççææååäñf  úìAÿòòñððïîííìëëêééèççæ÷åääãÝÀ@û ýAÿññïí÷ìëëêééèèææäâüáïN  ö@ÿñððïîîíììêèçõæååäããâáðN  ì@ÿñððïîîíìëëêééèççæååä÷ãââàïNþþú@ÿñïïíìëëêééèççææääããââáàïN  ö@ÿðïîîíììêèïçææååäããâááàîN  ç@ÿðïîîíììëêééèççææååääââàûîN  ù@þïïííëêéìèççææåäããâááàßßíMþ õ?þîîíììëêêèùçææååäããõâááàßßíMæ@þîîíììëêêéèççæååääããââààÞûíMû?ýííëéèçæïåääãâááàßßÞÝìMì?ýíììëêêéèèçææååäããáöàßßÞÝìMö?üíìëëêééçùæååäããââàÞúÜëMú?üíëëéüèçèææíåääãââáàßßÞÝÝÜêMë?ûìëêêéèèçææååäããâááôàßßÞÝÝÜêLû>ûëëéçåäûãââáààÞÜûéMô?úëëééèççææäâñáààßÞÝÝÜÛÛéLí>úêêéèèççæåääããâááßõÞÝÝÜÛÛèLú>úëééçåäøãââáààßÞÞÜÚûèLþ ó>ùééèççææåääâàòßÞÝÝÜÛÛÚÙèLì>ùééèççæååäããâááàßßÝñÜÛÛÙßðNù>øééççåãâøáààßÞÞÝÜÜÚûßobý ñ>øèççææåääãââàîßÞÞÝÜÛÛÚÙÜ4BEEDGýê>÷èççæååäããâááàßßÞÝÝÛõÚÙÜÍæççåîý=÷ççåãá÷àßßÞÝÝÜÛÚÚöØÛ½ÔÖÔÕÜüÙ=óäãââáààßßÞÝÝÜÛÛÚÚÙÙØ××ÜØÛ½ÔÕÔÓÛþñ“ØÛ¼ÔÕÔÔÛ úŒÜÕÔÓÒÒÑÏâÎÍÍÌÌËÊÊÉÈÈÇÇÖŒÙÚ¼ÓÔÔÒÛјîçæååäããâááàßßÞÝÝÜÜÛÚÚÙØØ×è‡ÒÓ¼ÓÔÓÓÚú›óêêèñçææåääãââáàßßÞÝÝÛýì'õºÒÔÓÒÚÑŽßØ×ÖÖÕÕÔÓÓÒÒÑÑÐÏÏÎÎÍÌÌËÊÊÉÙ"¾Ö×ÖÖÞ þþýøþþþ þüþ22ý0aþþ&þùþþþü nhggøfhDýþ þöEðâáàßÞã”öAä×ÖÕÔÓØŒóKÒÉÇÇÆÅÄÃÁòAãÖÕÔÓÒ׌þaÿÿúþýüúËûüðAâÖÕÔÒÑ׌ò^ÿüûúùø÷öóÅýúðAâÕÔÓÒÑÖ‹Þ^ÿûúúø÷öõóÅÿõôòñðïîûðAáÔÓÒÑÐÕ‹à^ÿûúù÷÷öôòÄöèçæåäãâïïAàÔÒÑÐÏÔ‹à^ÿúùø÷öôôñÃôçæåããááíï@ßÓÒÑÏÎÔŠà]ÿúø÷öõôó𳩨§¦¤¤£¬ñ@ßÒÑÐÏÎÓ‰ò]ÿøø÷õôóòðÂþð@ÞÑÐÏÎÍÒ‰ò]ÿø÷öõôóñïÂò@ÝÑÏÎÎÌщò]ÿ÷öõôóòñîÁò@ÜÐÏÎÍËшÌZþòñðïîíìé½íãâáààÞÝÜÛÚÙØÖÖÕÓÒÑÑÐÎÙW<ÜÏÎÍÌËЈþ ÙóèçæåãâáàßÞÝÜÛÚÙØ×ÖÔÓÒÞY<ÛÏÎÌËÊχÎ=ëÜäìéèçæåãâáàßÞÝÜÛÚÙ×ÖÕÔÓÞZ;ÚÎÌËËÉ·þÕ@úêééèçæåäãâáßÞÝÜÛÚÙØ×ÖÔÓÓÞY=àÔÒÑÐÏÔ‹à@úëêéçæåäãâáàßÞÜÛÚÚÙ×ÖÕÔÓÒÝ]  úß?úêéèçæåãâáàßÞÝÜÛÚØ××ÕÔÓÒÑÐʯ;û á?ùéèçæåäãâàßÞÝÜÛÚÙØ×ÖÔÓÓÒÐÏÎÚG  á>øéçæåäãâáàßÞÜÛÚÙØ×ÖÕÔÓÒÐÐÏÍÚG  ß>÷èçæäãâáàßÞÝÜÛÙØ××ÖÔÓÒÑÐÏÎÍÙGþþÝ=÷çæåäãâàßÞÝÜÛÚÙØ×ÕÔÔÓÑÐÏÎÍÌØG  Ý=öæåäãâáàßÝÜÛÚÙØ×ÖÕÔÓÒÑÐÏÍÌËØF  Ý=õæäãâáàßÞÝÜÛÙØ×ÖÕÔÓÒÑÐÏÎÍÌÊ×F  Ý=ôåäãáàßÞÝÜÛÚÙØ×ÕÕÔÓÑÐÏÎÍÌËÊÖFþ Ý=ôäãâáàßÝÜÛÚÙØ×ÖÕÔÓÒÑÐÎÍÌËÊÉÕEÝ=óãâáàßÞÝÜÚÙØ×ÖÕÔÓÒÑÐÏÎÍÌÊÉÈÕEÝ=òãáàßÞÝÜÛÚÙØÖÕÔÓÒÑÐÏÎÍÌËÊÉÇÔEß<ñâáàÞÝÜÛÚÙØ×ÖÕÔÒÒÑÐÎÍÌËÊÉÈÇÓEß<ðáàßÞÝÜÚÙØ×ÖÕÔÓÒÑÐÏÎÍËÊÉÈÇÆÒDß<ïàßÞÝÜÛÚÙ×ÖÖÕÓÒÑÐÏÎÍÌËÊÉÇÆÅÒDß<ïàÞÝÜÛÚÙØ×ÖÕÔÓÒÐÏÎÍÌËÊÉÈÇÆÄÐDß;îßÞÝÛÚÚØ×ÖÕÔÓÒÑÐÏÎÍËÊÉÈÇÆÅÄÐDß;íÞÝÜÛÚÙ×ÖÖÔÓÒÑÐÏÎÍÌËÊÈÇÆÅÄÃÏDß;ìÞÜÛÚÙØ×ÖÔÓÓÒÐÏÎÍÌËÊÉÈÇÆÄÃÂÎCß;ìÝÛÚÚØ×ÖÕÔÓÒÑÐÏÍÌËÊÉÈÇÆÅÄÃÁÍCþ ß;ëÜÛÚØ××ÖÔÓÒÑÐÏÎÍÌËÊÈÇÆÅÄÃÂÁÍCß:êÛÚÙØ×ÖÕÔÓÒÐÏÎÍÌËÊÉÈÇÅÄÃÂÁÅÔEüß:éÛÙØ×ÖÕÔÓÒÑÐÏÍÌËÊÉÈÇÆÅÄÃÁÅbVý Ú:éÚÙØ×ÕÔÓÒÑÐÏÎÍÌÊÉÈÇÆÅÄÃÂÁÃ-9=<;=ýÚ:èÙØ×ÕÕÔÓÑÐÏÎÍÌËÊÉÈÇÅÄÃÂÁÀ³ÉÉÈÇÎÝ:çØ×ÖÕÔÓÒÑÐÏÍÌËÊÉÈÇÆÅÄÂÁÀ¿Á¥¹º¹¸½üÝ9ãÕÔÒÑÐÏÎÍÌËÊÉÈÆÆÅÄÂÁÀ¿¾Ã¾À¥¸¹¸·½þõ¾À¤¸¹·¶¼ Ø„ÏÈÇÅÄÄÃÂÁÀ¿¾½¼»º¹¹·¶µ´³²±°¾{¿¿£··¶¶»ÕàØ××ÖÔÓÒÑÐÏÎÍÌËÊÈÇÆÅÄÃÂÁÀ¿Ív·¸£··¶µºß’äÜÛÚÙØ×ÖÔÓÒÑÐÏÎÍÌÊÉÈÇÆÅÄÃÂÐ"ù¢µ¶µ´ºÞ…ÑÊÉÈÇÆÅÄÂÁÁÀ¿¾½¼»º¹¸¶µ´³²±¿ù¤¹¹¸·½ þ)øþþ þüþ22ý0aþþ&þùþþþòga`__]`>ýþ þö@ßÒÑÏÍÌЇö=ÔÇÆÄÃÁÆ€óKÒÈÇÆÅÃÂÁ¿šö=ÓÆÅÃÂÁÅ€þaÿÿùþüûùöÇûüô<ÒÅÄÂÁ¿Äò^ÿüúø÷õôóïÂýùô<ÑÄÃÂÀ¾ÂÞ^ÿûù÷öôóñîÁúëêèçåãâîô<ÐÃÂÀ¿½Á~à^ÿùøöõôòðíÀíßÞÜÛÙØÖâó<ÎÃÁ¿¾¼À}à]ÿø÷öôòñïì¿ëÞÜÛÙØÖÕàó;ÍÁÀ¾½»¿|à]ÿøöõóñðî쾬¢¡Ÿžœ›š¢õ;ÌÀ¿½¼º¾|ò\ÿ÷õóòðïíê½þô;Ë¿¾¼»¹½{ò\ÿöôòñïîìé½ö:Ê¿½»º¸¼{ò\ÿôóñðîíëè¼ö;ɽ¼º¹·»yÐZûïîìëéçæã¹åÜÚÙ×ÖÔÓÑÐÎÍËÊÈÇÅÄÃÁÀ¾ÈP7ȼ»¹¸¶ºyþ ÝëàÞÜÛÚØ×ÕÓÒÑÏÍÌÊÉÇÆÄÃÁËR7Ç»º¸¶µ¹xÒ;åÖÜãáßÝÜÚÙ×ÖÔÓÑÐÎÍËÊÈÆÅÃÂËR6ƺ¹·¶´¸xþÙ>òâááßÞÜÛÙØÖÕÓÒÐÎÍÌÊÉÇÅÄÂÁÊQ8Ë¿½¼º¹½zà>óãâàÞÝÛÚØ×ÕÔÒÑÏÍÌËÉÇÆÄÃÁÀÉU   ý à=òâàßÝÜÚÙ×ÖÔÓÑÏÎÌËÊÈÆÅÃÂÀ¿¾·ž5  á=ñáßÞÜÛÙØÖÕÓÒÐÎÍËÊÈÇÅÄÂÁ¿¾¼ºÅ@  á<ïàÞÝÛÚØ×ÕÔÒÐÏÍÌÊÉÇÆÅÃÁÀ¾½»ºÄ@  á<îßÝÜÚÙ×ÖÔÓÑÏÎÌËÉÈÆÅÃÂÀ¿½»º¹Ã@þþß;íÞÜÛÙØÖÕÓÑÐÎÍËÊÈÇÆÄÂÁ¿¾¼»¹¸Â?  ß;ìÝÛÚØ×ÕÓÒÐÏÍÌÊÉÇÆÄÃÁÀ¾¼»º¸·Á>  ß;ëÜÚÙ×ÖÔÒÑÏÎÌËÉÈÆÅÃÂÀ¿½¼º¹·µÀ>  ß:êÛÙØÖÔÓÑÐÎÍËÊÈÇÅÄÂÁ¿½¼»¹¸¶´¿>þ ß:éÚØ×ÕÓÒÐÏÍÌÊÉÇÅÄÃÁÀ¾½»º¸¶µ³¾>ß:èÙ×ÕÔÒÑÏÎÌËÉÈÆÅÃÂÀ¾½¼º¹·µ´²½=ß:çØÖÔÓÑÐÎÍËÊÈÆÅÄÂÁ¿¾¼»¹·¶´³±¼=ß9åÖÕÓÒÐÏÍÌÊÉÇÆÄÃÁ¿¾½»º¸¶µ³²°º=ß9äÕÔÒÑÏÎÌËÉÈÆÅÃÂÀ¿½¼º¸·µ´²±¯¹<ß9ãÔÓÑÐÎÍËÊÈÇÅÄÂÀ¿¾¼»¹·¶´³±°®¸;ß9âÔÒÐÏÍÌÊÈÇÆÄÃÁ¿¾½»¹¸¶µ³²°¯­·;ß8áÒÑÏÎÌËÉÈÆÅÃÁÀ¾½¼º¸·µ´²±¯®¬¶;ß8àÑÐÎÍËÉÈÇÅÃÂÀ¿½¼º¹·¶´³±°®¬«µ;ß8ßÐÏÍËÊÉÇÆÄÂÁ¿¾¼»¹¸¶µ³²°¯­«ª´:ß7ÞÏÎÌËÉÈÆÄÃÁÀ¾½»º¸·µ´²±¯­¬ª©³:þ ß7ÝÎÌËÊÈÇÅÃÂÀ¿½¼º¹·¶´³±°®¬«©¨²:ß7ÜÍÌÊÉÇÅÄÂÁ¿¾¼»¹¸¶µ³²°®­«ª¨«·<üß7ÚÌËÉÈÆÄÃÁÀ¾½»º¸·µ´²±¯­¬ª©¬UJý Ú6ÙËÊÈÆÅÃÂÀ¿½¼º¹·¶´³±°®¬«©¨©'14334ýÚ6ØÊÉÇÅÄÂÁ¿¾¼»¹¸¶µ³²°®­«ª©§¨š¬¬ª©­Ý6×ÉÇÆÄÃÂÀ¾½»º¸·µ´²±¯®¬«©§¦§Žžž› üÝ5ÓÅÄÂÁ¿¾¼»¹¸¶µ³²°¯­«ª©§¦©¥¦œšžþõp¤¥Œœœ›™ Ø}»º¸·¶µ³²°¯®¬«©¨¦¥¤¢¡Ÿžœš¥j¤¤‹››™˜œÕ‡ÒËÉÇÆÄÃÂÀ¾½»º¸·µ´²±¯®¬«©¨¦²fžŠšš˜—›ß‰ÕÍÌÊÉÇÆÄÂÁÀ¾¼»¹¸¶´³±°¯­«ª¨´ù‰™™—–šÞ}üºº¸¶µ³²°¯®¬«ª¨§¦££¡ ž›š¥ù‹››š˜œ6ø"þþ þüþ22ý0 ñ'ì  (íFÁ¼¾ÀÂÄÆÆÊ›))  ÷  ÷ þ”ÿÿ÷ò;>1% þú ö  þÿÿ÷ïYTC2"þzÿ ÿõâ-.% þþ’ÿÿ÷òvjU?+þ›ÿÿñþöJC6)ö ”ÿÿ÷õ‘fL3 üšÿþÿÿáþÿÿþþõfZI80[SRX\`dfefe/& –ÿÿ÷ø©“uW;! þ›ÿÿøþ÷‚pZIkÿ ÿ÷q>2&˜ÿÿ÷û¿£‚aB% ûÿþÿÿòþÿÿþþùœ…kVsÿþÿÿþþÿÿ÷†VE6' ˜ÿÿ÷üÆ©‡eD& ýŸÿÿøþû³˜za|ÿ ÿ÷›nZE2 ™ÿÿ÷üÅ©‡eD% û ÿþÿÿòþÿÿþþýƨ‡l„ÿþÿÿþþÿÿ÷°…mU<%™ÿÿ÷üÅ©‡eD% û ÿþÿÿóþÿÿþþýË«Šn‡ÿüüýþöÿ·sY@(šÿÿ÷üÅ©‡eD% û ÿþÿÿíþÿÿþþýϳ”{†ûòóõøùûüüöÿÀ¡ˆoV>(£ÿÿ÷üÅ©‡eD% û ÿþÿÿáþÿÿþþýÖ¾¤Žƒwy„³ÈÙàßàÕdzž‡r\I±ÿÿ÷üÅ©‡eD% ü ÿþþþÿþþÿþñÿþÿþþÿüÅ©‡eD% ý ÿÿþÿ÷üÅ©‡eD% ý™ÿÿþÿþÿþÿþþÿÿþ ÿ÷üÅ©‡eD% ï @Ulƒ™¬¾áÿþÿÿþþÿÿþÿþþÿÿþ ÿ÷üÆ©‡eD& ï*=RfyŠšÑÿþÿÿþþÿÿþÿþþÿÿþ ÿ÷û½¢‚aA% ï /?O^kyÁÿþÿÿþþÿÿþÿþþÿÿþÿþþÿÿ÷û¨‘tV: î "-9CMY±ÿþÿÿþþÿþþÿþúÿþþÿÿþþÿðûòìåÝ×д–~eK3 ï$+1;£ÿþÿÿþþÿÿþÿþþÿÿþÿðùçÜÏö©‘}hT>*î  –ÿþÿÿþþÿþþÿþúÿþþÿÿþþÿð÷ßϾ¬ŒsbRB1!û ‹ÿÿðõ×í—ƒoVG<0$ ý‰ÿÿðóÏ·ƒkT:.'  ý‰ÿÿðñȬqU;"  ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿñð£‚aB%  ö‰ÿþÿÿþþÿþþÿþúÿþþÿÿþþÿ÷ïÀ¡]<÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿ÷ïÀ¡]= ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿ÷ïÀ¡]= ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿ÷ïÀ¡]= ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿ÷ïÀ¡]= ý‰ÿÿ÷ïÀ¡]= ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿ÷ïÀ¡]= ý‰ÿÿ÷ïÀ¡]= ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿ÷ïÀ¡]= ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿ÷ïÀ¡]= ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿ÷ïÀ¡]= ý‰ÿÿ÷ïÀ¡]= ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿóðÁ£‚`@# ý‰ÿÿóñÅ©ŠiO2 ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿóùêßÔÇ_B' ÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿþþÿÿø„T8'÷‰ÿþÿÿþþÿÿþÿþþÿÿþÿø”gK6& òŽÿþÿÿþþÿÿþÿþþÿÿþÿø¤z\D0 ñ%šÿþÿÿþþÿþþÿþúÿþþÿÿþþñÿþþÿþÿÿ´ŒmR:# þÑÿÿþþÿ ÿøÃ}_C) ýÞÿýýøþÿþÿÿþþÿÿþÿþþÿÿþÿ÷Ñ­ŒkK. þáÿÿ÷þÿÿþÿÿþþÿÿþÿþþÿÿþÿø×´“qO1 þáÿÿ÷þÿÿþÿÿþþÿÿþÿþþÿÿþþÿ ÿø×´”qO0 þãÿÿ÷þÿÿþÿÿþþÿÿþÿþþÿÿúðáßþþÿÿ÷Ϋ‹jK. þÖÿÿüÛÅÁÿÿøº˜|_C) õ 0H`y¤´µ¶¶·ì³¬¦¢¦©ª«®µ¼³˜ƒkR:# ö ,?TgyŠ–——û“Œ…‚󄇕mYD/ ö"1AP^ktuuìrkda`_acfmtpcUE5% ÷#.9CLSSëTPJDB@@ACFLSQH=2& ÷ $*044ì2-'%$$%&(.43.'   ÷ ì  þ€€Zwischenablage#1ÿ     3怀3þ¡}€€4Onjʆ*¶õ®²¥«²«¸°¶²0ñ´¥­¦°·¯¯µ°¯°´¯-¬²¦­¨°³¬©³¨±²²§*ø´¤¬±£°´««õ®¯­¦´¨±²¯±(飩º£¬³£­²«®ª¬¯­©±®±´±°&硬¤«¹©­²¨±³°®°¯¯¦§­°µ³¯³$娟¬§¨º°©µ¥­·°°­¬«¤¡¨°®®ª³#ä¶­©¡¯ªª¿±ª±¤¬«¯¯®¬°££¢­®§§´!â¹¶¶²®ª±¨²¾³«¸¬±ªµ­¯®²ª§¡¡§§ª³ ᨹ·¶³¯¡­§«º·ª°®¬«¶«°²³¬±£¨¥¶¯¹२¿µ²±³Ÿ¨ª«À»©±­©ª·¬±°²©³©²µ±¯µÞª¥¦¦½µ®¬³©ª«©¼¶ª°®ª¨³®²±²¯³­±³ª±·Ý¥¨¢§ º³´°¶¬¦©©¾²°¬³ £³­²¬¶¬±®µº²³³Ü´¤©¦®ž»²­©µ°¥ª¥¿°¬ª·¤ ±ª¯«°¬¯¬«¸²°«Û¬³©«¨«ž½µ«§µµ«±¥¹¨¨­º¬Ÿ¯ª°«®­«®´²²±®Ú¢­´ª­¥©Ÿ¼³¯¯°²®­ªÀ©«©³ª¥¯¥±®ªª¯®®¡ª¬±Ù¢«§±¥°«¥œ½±°¯ª®¬§¬À¦©¢³¦Ÿ±§¯±­ª¬­²¨¤¨²ص¦°¡®¥¬ª£™¹°«°ª¯ª£­¾§¦ ±©Ÿ²©°´©¨®­´©ª¢°Ø®­²§ª©¯©§µ­­³²¯¯£®½¨©£®¦¤®¨°±§¤²­ª²©¯²×´­¨°¨ª­±§£š±¦¬¯²³±§¨¹§¯ž­§Ÿ®­±¯¤¥¯­®±§¯¬Öµ¶¯¤¬Ÿ¬±®§¨¯¡¬²¶«­¨¦½¯©ž®° ±°³­¢«±­¯±­¬®Õ§²±¬§¤®°²®ª¨± ®²´¨¬¬ º²©¢°° «®±­Ÿ°±¨±°´®¬Õ¨²°«¤š·¬µ¬£¤³£¯´±¦®­¢»±ª ¹°ž©«®«¥³¯¨´°µ¬©Ôºª¯¬¨¤œ¨«¨´¨¨¤´¢´¶´­¬¬›¹³¬£¹² ©©«¨­µ¶¦¯´®¬¬ÓŸ»³­¥¨©žœ¨«¸©¦¦²¬µ©¯«¬©œ¼³¶¡¸´¡¨©°§­²´¨¯°¥®¥Ó£¯µ§¤¯¨¦£¦«³«« ·¬³ª©««¦¢·¬»¤»°Ÿ£¨«©¯´­¨¥¨®²¡Òž®©¯œª««¨¢§«­©ª¥µ°´±ª­ªª¤·­¸¢¸®¢¬¦«§´°´¨ª ²°¬꣦§¯ ²­«¢©¦¥µ¬©¨®²¯µ«ªªê¤¸¨¶£·³¤¦¦¢¬³±°©­«¶²°ѯ§¨§¬ ¶¬«—©©¢±­¬©¬±´¹¢§œ§¡¶ª²£¸²¡©¨¦°´­²ª¶·¶´°Ѧ¨ ¯««µ«§™§ª§µ­¯§¬´³µª«¢«¢µ¯°¥´®œ¨¬§²´²¯®°³²¯«Ю¨¨š«§²»°©ž¨¯£¯¯®©§·µ¹±««°¡´­µ¦²­£©¨£¯µ³°®°³¢¬­Щ¨¤±§®¸·­š©±¦°¯ª«ª·¶µ­¨ª¯ ´²±ª±¯£¨©¥±¶³µ²¸¯­­¤Ц©¥µ«¶ºº«œ¨²Ÿ©±©©¦·¶µ´°²¨¡·µ°¬³¯£ª©§ª³±«°µ®¯¤¬Ϧ¨¤§•´²¹·³³¦¯¶¨¦¯¨¨«··º³²«¡£³µ§¨µ³¤«©«ª¸²¥²°¨©¬®Ϧ£©—­®³¶²¯¢¥±¯¡®«©ªº¹µ´²² §¸·ªª²³¡¨¬®±µ¯¤³¦¨¯±³Ϥ³§¬–²«®¯±­§¤±³ž¯¨¥¬¼¹³¯³µ¡¨´»´®±µ¡¯¬¬­³²¤µ¨¶±ª± βŸ¯ªª–µ¥¬¦®²ªž«·¡±©¬¨µ·±²¶´¢¦³¾³¨¶¸ ®©¯±´µ¢°°³¦¨± ίœ¨¤ª›´¨®¢¨¬©¥§¸™«¬ª¥´¸µ¸´¹¡«°¼º¬³º¢®¬¯°³´£±°¯¥¤´ ί ª©¯Ÿ§§´ £«¦ª¥·§¬«¨§·²®·¶¸§¬®º¾ª³¸¡³¬­¯¶²­±´®§¬ ά¨®°®¡¥ž³¡ ©¥®Ÿ°©ª§«¡°®«·¹¶§«­»¸ª­µ£­««´²²¥©¶¹²«³ Í«°¬´°¯œ¥©»¢£¥§§±­«©®§£°ª¦³³¶©«¯¸¸¯¯¹§§©¬µ¶´¡°´¸­£± Í£¨®³­© ­´·ª±§¨œ¶´´©«§¨­¬©¯³¹¤°ª¶º°®º¡¥°ªµ²°§µ²©¢«¸ Í£¦¬±°¡ž²¸»¢¬®¨–«³®£¯«¦¨«©°µ¶Ÿ¯ª¶»²®¶£¦ª«°¯°¨²®¤«­­ Í­¯««±§¢­µ³¦³¶¨ž°®¦¦²«¨®¬¥­¯µž¯¤³½´¯ºª¨±©´²µ¨±­¦ª©¨ Í´²¨§ª§¤Ÿ·²¤­«¬Ÿ§®©ª§ª««¬¦®¶°¡¯¦°»®²¹©£¯¤³¯°©³®¦¨¦£ Í·¯¨ª£¨©—´¯¨²°ª¥ ­¯°¤¯¥§«§­¹¦©²¤®¶«­´¨¥±­´µ°©­«¨¦£ ͸¯©¤¤¡ š®¯±°²ª¥œ«³²¬¬¥¤³¨´¼§«²§«´¦«·³©³ª¯°±«©¯­¡ž® 믰¦¢£ ¦ ¡±³»´¥ ¦£¶¬®§§ä·­´¼¨®±¨©¶©«¯±¥¬­´®®ª­µ®Ÿ›¯ Í­±¤­±¬§¦Ÿ·²¶·¨§¨¢³§§¡¦ª²¬´·­®® ¤·«¯°¯£®¯·¬®«£´¬§œ¥ ­Ð¦³®©­ž¤»®µ¯±¥¨¦²±­§¦œ¶¬®¶³¨±¢¡·®±²²©­²´±°­£¬¨¨¤¶õw{oqwx‡~…‚0ñ|mtn{yu{}||~-îwhqyouq{vnyv~€u*ëluxgv|rttuywm|x€~(éls…ksyhqzqvsuxvrz|‚&çksmw…rsypwzvvywyomt}„‚}$åqgetot‡zp~lr}wvstsljq}}{v‚#ävqgxtvŒ{rzmpqxuvruikky|ss‚!⃀€{tnxr}‹uƒuxq~sww{slgmsqv át…‚€|udqow‡„txvttsv||uugut‚{‡àns}xzenswŽˆrytoq~sxxwqym~…~}„Þtmoq‹€xr|qsttŠ‚t{wrpytzwwuwp{€x…Ýnphqm‡}~{rmqs‹~wszijxrys|rvs†€€~Ü~lonwi‰|xu€wlroŒ|pn}kfvovqupuru„~wÛw}rqpsgŒvq€|q{q…rnr‚seuswstspt~~€{Úlx}rtmpjˆ}{yzyuvuŒron{qjvmytotsrzlsw}Ùkurzlwqmg‰z{zswrntŠook{lfwmtvrqos}qlr}Øozmxkrpjd‡xq{rwoht‰qok|pgzovzonus{ssmzØyw~susvpmhƒxv~|vuhvˆqrkuigtmvwlkysr}sy}×xq{rswxmibzpux{~zor…pxhumbsswujltrvzoyvÖ„‚ymuhuxtnlcwku|€stppˆyrfxvdvuxqisxsy{wuxÕu€{uolfxzytonzjy~€qrtl†{pj{vdpsvpcwwn{|€xuÕuxqkchƒy}rikly|pttm†zsj„yboqtqi{tm~ƒupÔˆvzuqjesur{mnnƒk€trse…un†zhpoqor}{lyxsuÓkˆwnrshfqtnnqv€qzrpoe‡~j‚{gmnuprwynz|mvnÓo{€qnzqonot|ophƒw~rqqrom„y…kwfkpuruxrlnsx}lÒhzsyetvtrmqsvqom€z~|tsqsp…z‚j€ugtoupzuzkqj|{yÒmtu{i|wtluom€vppx}y€yqprnƒsl€zjonjuxwtlsuƒ{Ñwqstxl€usbtrk{tqmu~€„mpboj€u|mzhrqowyrwnƒƒzÑnri|wv€smbstoutlu€tqgrk€{{n}ubqsmvzwus{€}zvÐwqrezs|…zoftzjwutpq„€ƒzpoyl€zp}tiroiu}yurznvwÐrqpitx‚ƒwdu{lvtnrs…€wnoxj|u{vipqmv}{zw„{xxoÜoqni„v€„„seu~grxoqqƒ~}vunj‚zu}uhoqqöxzrw~wxnvÏnpnpa‚}„„~|p|ƒrpxmlt…„ƒywmglƒop€ygopqp|mwvqtvyÏepnsbyz€„xjp{ylvpor……}zwwiq…„rs}yfnrsv}xkxns{|Ïl}rva€xyz|uonz|ixonu‡…|xy{jq‰~x{|ftpsu|{j}s{u} Îygxsua„qwnwyrgv„mzptq€‚{|~whm€Œ}resnxzzhy|ps~ îudqmte€rylqsror…bttío‚€ƒ|~gr|‰„t{‚fsryy÷|ix{ymn~ Îvjssxgpq€jksovpprtsr…|w€oqv†‰ry~fyuut{xcryzsx Îvsz|xjoh~igopyj{rpnsi|ws€‚~nowˆrt{frsqyxxko€†y€ Íw|x‚{yfos…jkmqr}xsnrll|up}|}nq{…ƒxt~ikmry}zfwƒxm{ ðmpz€vqkxƒqyood~~ßopmrxwry|kyv„†ys€ekvoyxwj{}rju‚ lÏv|{jg}…„juwr`u}xlvsprvq{€ixt‚†zt{fkpqvtwlwvmtxx xÏsu{pjy‚{m~rf{ypmwrovvox{€gxl}‰}wlmxozx{mwunssu Í}qqsqmk…}lxwuhqztqlprtvpx‚zjwn{‡x{nivjyuvo{wopqr ͇zrslrtd‚zp|{sojxzxkulqxs{…pt{mxuw}nkwty{vnttqmep ͆xqomkig|{|z|tnfv|ztsklvƒ‰qu}qu~os~xnyquuwqpyvifz Í|yolmiokn|ˆ~nipltvmnr„x‡sy|rs€qqtwiqtzstqv€yidy Íx{my|urpk‚~„ƒposn}oogntv~vxxhl‚vwutfqv}rpok~vpfn Îxupyryfp‰y{xlst}{vppf…wy{pzih‚|{wvnpwytspkvqpfn¶õORGKPOaY_\0ñUGMHRXQOTVWVYV-îPDMRHNJRVLIRPXXWN*ëYFMQBPULMMNOOGURZXUX(íHN^ELSBLSINLOPPKSVZZþY&çFMIR[JMPGQSNMRRSHHNW]ZUZ$åJBANJM^QGUEJUQPKLMFFMYWTPZ#äYQKAQNOeSHSEJKPNOJNBGHUWNM[!â]XWUMHQNXeYO\NQJWMOPSLFCJOKNZ áM^ZYVO@LLRa^LONNMWMPSUOPCQO[S`àHMhZTQT?HMPg`HOLIJUMRPOLSGX_VU]ÞNGHKeXOJUJLNLb[KQOLIRMRPONRKU[RY^ÝIKBKF`UWSWLFKLeXPJSDDRJNKUJPNXa[ZXÜXFJHRCaURNXQFMHfVIFVF?NHLJOGLKO_ZXRÛRXLLJNBdYNJXUMWJ^KGI[N>OLOJLIIMZYXZUÚHSWMNHLEcVSTRSOROhNJFTLEPGRLGJMMTGMPUÙEQKTGPKIDdTTUMPMIOhMIBSGAQGONJHIMVKFLVØWIUFSFMKF@bSKSMPJCOdJGDSJATGOQGFLMVKKESØRQVJNKPLID]QOVTONBOaJKFODAMFNMDDQKJTKRW×XQKTJLOQHF>TJNQTWSHJ_KSBPG;JMQNCDLKOSGQNÖ\ZSHOANRMGF>RHNTYMMJI`RL?QPHKNK>NQIUW[RNÕN\UKF>A\QVNDEYGQXSIOPG_TLC^S=IILLCQOHXW[OIÔaOWPKD?MOITIIG\FWZXQMN@_XNH_SCKIKIKRSFSZRMMûEcXTLLÚC@KNXHHIWNXLSOLJ@aWZEZUBHHPIJOQGRVHOGÓIUYNLSKJHJNUKJB\PVMKMMHF_R_EZRAEKNJMQJFHMRTDÒDTOTCQPOMHLMPMJFZSWXONMMH_S\DZPBMJOHQMSFLCUSRÒHLPXFXRPGNIFYRKJRUR\SMLLG^MZFYUEIIDLQONGNO[VSÑRJLMTG\PNLHPQSXCRTYKLV ÎQALJP@XNTHLLKIL]MSXTKP PÐUWRFIBZFCLJVETKKILEXQLZ[YHJP`ZIMV@KMJOMOEJZ_YPW ÍPUU]VTBKMaHFHLLWPLJNGGXNJWUXILV^[OLYEEHJORR@QW]QDS ÍILU[PKERZ\LSIL>XWVJJHLROMSU\GUQ\^OJZ>FRIOMLCTSKDM[ ÍHJQUTDBV]^ENPN;NVRFNLJLONUZZDSN[]QLU?EKKNJLFPMFMOQ ÍQSPNUJES[WIW\LATRLHQKIPNKSU]CSGWaTPZGHRHRNSHSNIMKM Í\XMKMJFE`ZHSQOBKRNLGJMOOKS[XFSJT`PT\HCQDQMPKWRILJJ ÍaVNNHLN@]WLVULJEQSSFOGLPMS_NOUGRZMPXHCPLPSMHONMI?H ×`TMJJGEDWVWTVOIAOWVPMFG\P[dNPVKOWGKWRHRHLLKúSPD@R ÍWSJHIEJHJX\bYJDJG[OSJHK_RXaNSVLLYJIKOCJLRKIJQYRC>S ÍVWKUVRMKE`Y]^KJMIXJKDHNXQX[PRRBG[MNON?HMUJHIEXQL@H ÎTRM^TNRBIeU[TTHNOYVRJJB]PQ[VKTEC[TSRQHHPQLKJDPLLAH¶õFn’±Êßîøÿ0û'i§ßÿÿ.ü6ˆÔÿ ÿ+ütÏÿÿ)ü,—ýÿÿ'ý,¡ÿÿ%ý’ÿÿ$ýiîÿÿ"ý'¶ÿÿ!ýdøÿÿ þ—ÿÿýÀÿÿý6ßÿÿýFóÿÿýKýÿ ÿýFýÿ!ÿý6óÿ"ÿýßÿ#ÿþÀÿ$ÿþ—ÿ%ÿþdÿ&ÿý'øÿ&ÿþ¶ÿ'ÿþiÿ(ÿýîÿ(ÿþ’ÿ)ÿþ,ÿ*ÿþ¡ÿ*ÿþ,ÿ+ÿþ—ÿ+ÿýýÿ+ÿþtÿ,ÿþÏÿ,ÿþ6ÿ-ÿþˆÿ-ÿþÔÿ-ÿþ'ÿ.ÿþiÿ.ÿþ§ÿ.ÿþßÿ.ÿ þÿ/ÿ þFÿ/ÿ þnÿ/ÿ þ’ÿ/ÿ þ±ÿ/ÿ þÊÿ/ÿ þßÿ/ÿ þîÿ/ÿ þøÿ/ÿ þýÿ/ÿ€õ²¯¶«±©­¯¦²4ñ®«³¯©°§¯¢®ª®°«0ª¬§®¨°›±·­¬±¶²µ-ë±´ª¦§­¦©Ÿ¯¶­¶´¶°®ªŸ­*飴±£¤³²ª›«±§·¶´¸¢°¥¨«¯(窴²©­¶µ´ª¨°¬¶¶··³µ¬¦¨¯¨¬&å±´µ´´¶³´±¦±»·¹¶²º²­¨¨´¨¯©œ$ä·³´±´¬±²±›²·¸ºµµ´·¬¨¨³¤°§¡§#⶯«±³¥¬·ª¦¯·º¸µ´³¯±°®°¤©¡¦›¸!ᯡ«¦±´©£§¥²³´´¶²¶¤¡¦µ§ª§ £—¨³µ ਲ«¬µ¢¦£¥¯¶¬±¸¯²ž§¢²¥¦Ÿ«¢”­©¶´¥à¶ª¨¯¨¦Ÿ¢§®°¨¹©³›´£²¬¦œ¬¡³¯±®¯§²ݪ®·±­§«§¦—©°°®±°°¢¸ «°­¡°§±±¨£ªª²®Ü­³·³¨¬§¤¨Ÿ©¸°³«´­¢½¤©±®®« ®±ªª¬­ª¦£Û³®¯¯£®®ª­©­´®°¦¶°«¶¨¦°®¯¢Ÿ¯®³«¯·¤¦®©Ú±«¦ª¯°±¯¨¥®®­¹¯·£±¯¬£­©ª¦¨¦ ¯«®´¦§¸°¬Ù©¤ª´¬ª¯®¥ž«® ®¶§£²¤¶¥¦¦ª¬ª£¡«©¨±ž±®¯®´Ø©ª°´¡¦¥©¥³­¥®¹¥Ÿ¯¢¨¢«¨¨«¢¤¥°®£­°­¬²¦³·õ®­´ª¤£¤¢§›±±å®²¬¥®¬¢¬ª£¡¦›¡œ­°¨±´®©ª¯­´ש­®©««Ÿ£œ©¬±«°ª­´®ª²«§¦§ž££¨§°´¶ª¦­·¨¹³ü¶²¬§§Ü © •¨¤®¯¥ªµ°±¨ª­¤žŸ¥¨¢©¬ª´²ª¦¯´­¸³ªÕ´°©°ª°¤¥Ÿš©¯´­ª¸­¨´ž µ¤ž—˜ž”¤§ªªŸ°°±¬¤¸±¢žÕ­¯­²­­¨¦¦ ©¨µ©´·¡°¶¡¥°©© –œ˜¥ª¢©­©¥±¥­³£¤™Ô®«¥±¶¤®¤ª¨­¦¢¤··¯·±—ª°¥«¯¤¡¤¬ª¬°¯ª®®°¨¬­©ªÓ«°§«±¦¬©±¯¢ª§¦µ²±­§š¥¨«­ ¤¯ª­±±¬±®­®­««°³§¯Ó®­ª¤®³¬©³®«´­³°¯³§¢ž«©£§£Ÿ®¬ª¶«§ªª«ª¯¯¨©®¨¡«§Ô«¦£¯¬°·¥¶³µ·²«±ª­ª±¶°§ §´žŸ§¨ª¤­¦£ª°©¦­Ÿ¡®ªÒ¡©¨«Ÿ«®±¨©¯µ¶½­¥³¯±³°¬¥¨¦¨¤—¤¥²š¤²¦£ž®®§¢ž¥¬ªÑ«±©ª¬ª¡¨¡¬°¹¶¸¦£¤§³¯ª¡§£¬£¥¤¯¶¤¤©£ª±£¬­¥’§­²µѧ´¬¨¨¥¢§¯«³º¸´©§¥ª¯¬¦¨±¦±ž¬–¬¹³±¨«£¨¯¤´³¬ ¬³´°°Òµ¬®©®¨«¤ª±¸²¤¬¯®°™™®¸²®®°¥®°±³¬­¤§§¤·©°°®·¼§§е¨¸°±³¯ª¬§ ª´««§®¯¶¬˜µ¸²±¬°¡­±°´­«­¢ž™²Ÿ°²­²¶´µб¨´¶°¯«¯¬­§¤¬¦®©¬®µ¯¡²±²©¡­—®³±±­¯±¦¥ž°«µ­¬³µ¸´϶¬°´¬§¯¬¦§©°¬´³¥°³¸°¥«¬¬«¤¬¢¨¯¯­²µ±¦¨¤­­¯®«­½¹²¸ﶨ¯¶¦±²§¥ ¬¶¶¹´¶µµâ²­¬¬©«£ª¤®²®¬±´¸¦¬«¯¬¬®°­·¸¯´ϳ­¯³«²´­¤ž«¶¹¶¹³°²±²­«¬¨£©¨¥ª®¯¨¯¯­ª³©¬«ª¤²¯²·£¯Ù´«ª°©±³­¬¢¢·¶¶·§²ªª±²¥«©ž°§ž¨ª­«µ«¡¬°§¨¨÷¤±±©±¬±¹ Ω²®¯£°µ±©¡²¸¸·¯¦µ£¥°²¡±«ª«¥®¶­¯°¶²¬¡­®«¯ª¨°¬¯²µ·¸ θ¯®°¯´¹´ª«­´¯·¦«²š¨·®¥³¬­«©´ºª²»²²¯¡±®¦§¬¤®©©¹³´º λ²³°²µ¯°±©«µ®¶®´®™¥¯³¢±²ª§¤£²«·¹®°°Ÿ®±«¡«¡±­ª¸µ´º Ͷ²¶¯¬® ¯²««±µ©±´°§§¬¯©¯§¬¯£©©¢³º°®°›±±ªŸ¯©±´±µ·±¹´ Í´®©©­°±©±¤«»¹ž¸²¶¯©¨°¦´¨¨±¢°¤¥·»³¯¶›¯¯§š¶©°¬©­²©·» Í´® ¥¬­² ²£±º°¥º§²´²¬®¢¶­«­§±¥­·µ°··›¯²­›¸¬­¯¥¬°©»¹ ͯ­¬ ¥¢®«±³«­©¬·«º³³¨¯©²ª¯·®°£¬³«µ´»¡³­­š²®°¬«¯¯¢º´ ͳ±·¦ž¡²°³¯£©¦¯º´·«³ªµ©±©ª¬ª­Ÿ®°¥´µ·¢±°±µ««žµ§«¬º¹ ¶Ï´²ª«´ª«¦£®°²¹·¶¤´¶·«¯¬§®§£³ŸŸ¯ª¦¥¯±³¤º£¯ ±ª¦¬¸¹ ͳ´²·®··¤®­¬¯´°³´­›ª°³¤¤««£©ž­¤¤«­¦¡±¯³°¦¼«®™­²«­¹½ ͸³¶²©°±¥¬®¶³¬­¯©Ÿ¤¶µ«©¥ž¡¢¡±¤®¸°±°¨²¬²®»·°’³³®°¹¿ Í­±°²£­¦§¡ª¨«µµª²´§Ÿ¸¸«¨¥¡¤£¨°¨ª°³²¸£°£³´¸¹¯Œ®²³©º¼ ­ó³®¤¨¦¬§¡¨¬µ¸³³ß«¶¹¬ª±«­›¨¡¤§¬±³·£§ž·²µ³°•®®±Ÿ¸¿ €õ‚„v}sx}p€4ñ~zzt|r~n~wx|t0î€vuur{th€…ww}‚~€-ë€qmryrwj{w‚‚„|yuky*éq{mm}~vew}r„…„kynqu{(çy‚uvuv|w‚‚ƒ…~vnr|tz&僀‚}r}‡‚ƒ‚~†~xrt~s{uh$ä…}||v~e~ƒ„†‚ƒ€…ytr}p|qnu#â„zr{qz„tpyƒˆƒƒƒ~~|x{qwlrjj„!á}luntnqn~‚~‚‚pjrrwsmodu~€ àtg{tx€kpmp}ƒw|„|~hpm~qqjzm_xu„Þqpssyspilsy{t†w~e~n€wph{k~y{{|tÝuz‚yxqurn_sz{z}€|l„ky|wm~s|rovu~yÜy~€{ovporis‚z}wƒzn‹nu€yzwl||vwxxtpmÛ€yvwkzytyuv~xzq‚{w„rp}zzlk{zw{ƒopyuÚ}untz}~yqpvvx„yl|{wmvtustrjzux}osƒyvÙtnt€wv{ymisujyƒql|o€mnpuzvnisppzi}xwu€Ørtzlqorng{tmy…pk{lqjtrqsknmvtmx{xt|n~„wÚ~upmnlqe{{~{}vq{wjusmilbhdtuny~uruxw‚×rvxtutfjlftv|vysw€zt|tpopfllnlu}rnwsŠÖ‚~vpqqjsj_rmxxou€||ruwnhjnrjosr~}sqy}w‡~sÕ€|qxtznphcqxwv‚vtjk€nhbdi^npqthwyzsm…|kiÕxyuxtusolgppsƒi|…kmxtsi_eamqitwrm{ou~nqdÔytmx~jxnrqtnjj„y‚}_t{quzlilqoszysvxxruvvluÓuzotzmtszzipmn~}ypaorhuxhoxsuzzuwsuuwtt{qzÓywsmx|vt}yu|x}{{}rlfutlomhzws€torprpwypsyrkwÒsqumkyw|p€~ƒ„}w{twr}zqiq€hgopsmunlt{sqwhmyrÒktrtgtxrty€‚Šzq}x||yvoqproaknzdm{pmhwyqlhqwrÑu|stvskskuy„„†roor}vrjpmxoqYn{€nnqmu{mxwoZt|}Ñr~trsmjozs}‡‡€sqotxror}q}jx_v…}{qsmsxm€~uev‚ƒ{zÒ|vxpwquou|…|nxxwzbcy‡€{z|mvz{{sslpolƒsyvx„ŠroÐs‚z{}wrwshr~tvvz{vb‚ˆ~x|iv{{~vqulea}hz|w~†~Ð{s{ysywyolvpyxzz‚{j|}{skwax}|}vw{pmfztxt€…„Ï‚xz}vpxxprsyx€~t~~†|otuvunwkqwxw}|pqmxwxwr{…|…σtyp{}soiu‚ƒ†…„‚€|wxvuukultxtt~‚‚owvyutvyz…„z€Ï€{z~u‚ynhv„ˆ…Š‚~{zvwwsmrrknutoz{wttvtsl|{}‚n|Îzvzr}‚zxnm…ƒ…‡v€wu||ourgyqenptvƒylvyopqpm{|s|v€ˆ ètzwl|€|sm}†„„~v…noz}l{uuèqw~vx}„xjtutyuqzvy}…‡ ΄|y|z~„~swwyƒty}cs‚xp}vzwu~„s}‰~|zhyvnovoytt„~€ˆ Ή}}{}€{z|rs}yƒ{„{cqz|j|~wsqmzs‚‡{z{hw{ukvn}zx†‚‚ˆ Í‚~zxzlz|tu{u€‡~rrtwq{uz|psok{†{x{e}{wi{w~ƒ~…‚Š„ Í|qsxz}t{pwˆ…jˆƒƒytnyp‚vw~mzjn‡}x€ey{sg„wwuyz‹Ž Í‚|jnuv~j~o}†{r‰v€}xxm‚zyyqzlx„|‚eyxg†w{|qv{v‹ Í}yxjokyu|wxsy†xˆ~}sxs~u{ƒyzjuv~~…lzye{€zx{zn‹† ̓}ƒphi~{|ylso{ˆ„u}ts}uuwtviwyn€‚n}|}g‚y{k„tuyЉ ͇…€~tu€tvpnxy~‰†l~‚‚gv{vpxol|ghzupqz~€nˆp~l~vnv‡… ƒÏ}„y‚ƒo{xwy~|€ubt{~nowulsfwnmuypk|z~}sŒx|dy}uw†‰ Í„€|s{|ngwx‚xxyqfl€tuqilkj{myƒ||{t~x{Œˆ]~z{‡Ž Íw~lwoohusu€u~~ph‚ƒurpinmpvpt|€~…ozlˆ‹|Xz}t‡ Ívx€ylqovpjrt„~~}t‚„vryswdohlov}‚…nqf„ƒƒ|axw|j‡‘ €õ[X_QXOSWLX4ñUT]SNWLXJVPQTM0îXPQOLTNZDX]QPVZUW-ZíNHLQJQFT[Q[[\USNFW*éJZTFHWWO@PVM^]Z\EQHNQT(çQZVKOZYXNNUR[Z[]XYOJNTOU&åWYZXY[XYTJV`\][V^WPNOXOVPA$ä_VVUYSXXW?V[^_Z[Z]RONWIWKGN#â`TMTXJR\NJS\b]Z^]WVVTULRFNFGa!áYGPIX[NGJHWZ[W[W[KEM\MTOHJ@NY[ àOCWNPZDJGIX^QT\SWCKIYKMFUI9QO]XJàZMKSKICGNUVM^OX@YLYPKDUGYTWVVMWÝNS\SQJMJI;MTVSWXUG]GRUQGYNZVMKQNVRéRX[VJOIGKCM\SVP[RGeLNXRRõGTVQRQQNKIÛXSRQFSRLPNPXQSK\TP_PLURTGDTTYQT]IJSMÚUNIOUVVQHHOPR]T\FUSSHQPPLMKDTNSYIJZQNÙMGNZQOSQGAMRET]KHWH[IIMPROGDNKKSAUQROYØLNTXEMJLHBVOHS`LGVGLFOOLLFIHPOGPSQOVHY_ØQPYOIHHFK?TVWSWPJUQEPNHDF=C?LMHRVOLORS\×JPSOON@BG@LOUPTLPYSOVMHHJAEFHGOUVKIQ[LbXÖZWQLKIALE:LHRSHMYUTLNOHBDHKEJNKWVJHRXRaWLÕWULSMREGC?MRWOM[PMZEDXJD<>C:JJKN@NQSOI`VECÕOSPSNOKJGALJXKX\DT\FHQNMD:@>HKDNPKGTIQYIL@ÔQNHRXFTIMINHED\]S[XIMCOQEHTLNSSMPNMMPMPZ]MSÓRPLFRVOKWSOVQWTSVKDBNLFJGDSPNYMIMJKJPSJOWOGPÒNKNGESOT[IZW]_VOTNQMUZSJCKZCAIKNHPIFLTLKSDIVMÒDMLNBMOVLMSY[eUJWRVWSOHKJKI>GHU?ITKIAQQKGDMSNÑLUMNOLAJCMS^\`MGGJVQMCJGQHK6ISXGHKHPUGQPH6NWX\ÑJWNLKHBGRNWa`[MHFMROLMWJUCQ;Q]VTJMHNSHYVN@P]\VÐSRWPRLPJMIOU_WGPSQT?BU`XSSTGQSUUMMFJJI\MRNQ]dLJÐXL\TUVRLOKBLWNPPVVZR>\bXWPVFPTTXOJNFA>WCTTOW_YXÐULVYTSNSQQJGQJVUTT[WFUWVMFP>TUSWOPUJHCTOYPN[`^XÏ]QSXOJQPJKNTRZ[QXV_YKNOPOJPEKNPPUYUILIRQRPKVjaV_Ï^NS[ITVMKCO\[_\`][ZXRSQPOFMFNPNMVZ\JSQSNOQQSaaUZÏYSTZOWZRIBQ^_`f\YYUVPPRNGLJFJMNIRSPO\NOOLFVTV]JXÎZRRVKUYRPGF`]_bPYOMUVHOLASJ@IIMN[PEQVJKJIGUTLWR[a ÎMXURFTXTMGVb_^YP^GHTUDTOPOJQYPQV[WOCOPNRNKSOTZ[_` Î]TRUTV]XMQS[S^OSX>N_RHWOSQMW^OXaUTSBTPHJPIQNQbX[c ÎaUVSTXTSTLNXR\V^V?KTWEVXOLJGTM\`SSTCQUPGPGUSTc[\c Í[VYRQSFSVPPUYQ\`ZMKORLURTUJMJDU`SPUAVVRHVOW[Y]]Zc^ ÍZVMLQTVMUJRa^Fc^]SLJTK]QPWGTEH[`VPY@UWOD`PXPNSWSei Í[XFIRSWDWGWaVMdRZWTRRH]URRJSFQ]ZUZ[@U\SCaPTUJRUQif ÍUTSGLGROUXPRMTbSaUUNRMYQT\PRDOWNWU_FWSRA\V[SRXUIf_ ÍZV^KDFYTVSFMIVcZ]OVNXLWONQMPERRGWW\IWVWB]TWE^RRSeb _ÏZWNQZNNIFQRXb^ZGWZ[BOTPJPKLW@ASNJKUY[IcKYFXRKQ`^ Í]\W]QZ\JTRORWVZXOXUHMSEKFQGQLALZ[QI Í\RJFRJKFGP\NSNTEOXTVTH?DSSTd[OPDSUPKKIJGLGSNBOSWMK YÏJLSMMKCE]MRMQ@GX[U[QIDRTZ^SKLJS]VNMLIJMKPOIIQXVX âS[ONLTHI@FQOZSN?BVaWRWR>QU]ZVOOíX^SJKLLRQPSPGORSSY ÍTcRPHIFNBJQJNYQDLI\YQPR;MV_QLONLY[UMGPOPNNTMEM[TO_ ÍSbRINPAKIJROWZJCMMXXPSOEN_OGKISSUO[KHDETXSL?GLPMNSQERVRRC×^OOJVBHU`NDIF\\[R^OMBCWXQPFIMPRQMOIPVRSQØPMHQLW_YVHKET]]R]QNBFRVWPHHNJMUPMMOVLPTØIOAIGTbSMHKEU_\Y[OPNESSRPCHKNONONOPKL@UÙSLHIS\RNJKG\][_]OMOIVZQSEGNNSYLNOLCDH]ÚNFLN\XROECY]UaYRONLRZNRGGIETSJILMBHP_ãKII\_TOIC]c]XWPKQNKWRXFPJBUMJJúNIJPWÜMK]\UOIB^`Y\ZQHOQKYW]HNGBSJGIKNDQQUÝGZ[SLLB[\Y[XQFJMQYT[LQHBPHGIJOFTPXÞZYROLB]^[[VXRMIR^VVPVCCOIIKJJKUW]àSNHCU^WWYWSYEUbN\TRCGSIKPBORUVY áKMESaMZRRUYGWaHNOVFHQJFKDNQPY_!âPIQcH\FPQ[DUeNQTVCHQKFJHMZ[T^#äT^JVKRQWFTeOSWSDDRLFOPO\TRa$å_PTOOTRDQePPTSHFQPGIRTXJR^&çQMUSSEObUMNTGENO?COXSKZT(ZëNGP[PLJKJGXLKDJMGLUL*ëJDS`PLHIMJUOJ@KTLPXL-î[OIFFQORUIAITSPOM0ñKANPQRQCNTQNFL4õQPRCNNSFFL þýÿ/ÿ þøÿ/ÿ þîÿ/ÿ þßÿ/ÿ þÊÿ/ÿ þ±ÿ/ÿ þ’ÿ/ÿ þnÿ/ÿ þFÿ/ÿ þÿ/ÿþßÿ.ÿþ§ÿ.ÿþiÿ.ÿþ'ÿ.ÿþÔÿ-ÿþˆÿ-ÿþ6ÿ-ÿþÏÿ,ÿþtÿ,ÿýýÿ+ÿþ—ÿ+ÿþ,ÿ+ÿþ¡ÿ*ÿþ,ÿ*ÿþ’ÿ)ÿýîÿ(ÿþiÿ(ÿþ¶ÿ'ÿý'øÿ&ÿþdÿ&ÿþ—ÿ%ÿþÀÿ$ÿýßÿ#ÿý6óÿ"ÿýFýÿ!ÿýKýÿ ÿýFóÿÿý6ßÿÿýÀÿÿ þ—ÿÿ!ýdøÿÿ"ý'¶ÿÿ$ýiîÿÿ%ý’ÿÿ'ý,¡ÿÿ)ü,—ýÿÿ+ütÏÿÿ.ü6ˆÔÿ ÿ1û'i§ßÿÿ5õFn’±Êßîøÿͦ¨«©¨ª¯µ¦Ÿ¤©±°³·¯¸²¹­¤¯­§«ž¥•¨¦­²¬¶¯±¤´³³®°©§¯´¨ºº О¦§¨¤¬¦­©´­³§·³±®´µ ¢¶©žž¤ž˜¢­®¬·®®±²®«¬¯§¢¶·¸¸ 﫞  ¨««¢¨¦¬ª³²³±¯¯à¶œ¡¬¢¦§ž—¦™ ¦²µµ§­¶¨¯²¯¯¢¨³´¼¶µ ͯ¥£ «¬°¨©ª¦¬³´¨¯¦«§­§¤«ª¤ ¡§œ¡¢«¦˜œ¨¥¥®¬®©œ®«²µ±® Ͱ¬«´§§­®§¢§®³±®¥©«££– §¨ª¢¡¥‘¤« £ª¥Ÿ¥¥­¯œž°¤²²¨ ͱ®²²©³±´¥œ­©¬³§ §¨œ¢’£¤¥¡Ÿ¡Ÿ–¨¥¤©¬¦¢¡ª«µ¥²Ÿ°µ³±£§ ͱ¸³®ª´¬´¡Ÿ²°¯³¨¨¢¨¤¨¨£ž¢¨ž–œ££§¤ª©Ÿ¯ª¡°®«©¶­¦¯­´±³ ͵¹º¸»©©­¡©«¯«³¨¨ž²­©­¦§¢¡ª¤Ÿ¡¨©¥¨¦ª±¦¯ª¢ª«­­©£¨´´¶ ͸·µ¶º¦²µ®³µ«±´§¬¤¦®±§¥¥¨¨¤¡ž­¬£­±¦©¯¥¦®¢§ª«§±±® ͵¯¬­±ª´³³¨·³®±²¯©¤²¦¢ «¤£˜§­˜›¯´±°£©£«°¥­ª§š§¨§¯±¬ δ­¶®¶²¸´³«º¹¯´»§ ­¶£¥¨«¦¨—Ÿª›•²µ¸¦š¥¤¬¬°³°¯ª´©¯¥® ηº¼­¸®·¸³¨´®²¸·¬¨¶®«§¡ªª«¢§¦¢š®­¸¯®£µ°²´­°­®¯¶®ª£ η¶»®·¦»º²¡¶©²·¶µ°´°ª°ž³ª­¥«£§£®·³² µ²±´«®¢³¨®±²§ β³¸³²¦»¶°§°ª¬¹ª¸¶±Ÿ·­›¸¨®ªŸª¦¦³°³´§¶·±µ±µ­¶³²´µ§ ϲ±¹²¬£¸¯°¬¨­¯µ£´¸¯¡¹¡Ÿ±ª¨¢« °¥¥³§²²³¶··³µº»µ¹²±³϶¹º·¥¢»¬­¬ ´²®§´¸ª©µ§§¨ ¨ ž¦¯¢°¥­¯±·¶³±À¸¾¯¸¯²´ϲ·»»®¬´§³ª¢³³®¶¸º¥«¯¥¨¦©§›œ©Ÿœ¦®ª«®¯±³³®»²½«³¥³´Ю´·¹³±¨¨µ­¦´²®±®³²µ²¤¦¦µ˜š¥¯¡Ÿ­¯­±³¨£µ¯²¬§¶¢±«§Ю©©²ª±¦ª³­¨µ®´±ª´¯µ¶–©®¸¦•¤§¬¯®°­¸¬¯¦®¨²¦­°µº ¦Ò¯«©«§³¶©³¶²²¥°¶­´®–¯¯¶°£±©¬²«®¢·ª¶££¬ª¶©¤³¼³ѧ­²¨¬¦©µ´ª¯´¸¥¯¶¶²´¶ª´°²±¦©§®³°´«§§µ¨¨¬®²º®®´´Ñ®¥ª²«¤¯°¯¥¥¶·®µ¹¸°°µ²±¯­¬™£› ­¤­²¥³µ§µ¯·º¸ª¶´¨Ò¤¡¤¨­ª±¨¢›£¬·»¸¶¯ ±´®¡«¦ª§¤¦Ÿ™«²³¹´±¶­·¼«­¾ªÒ¦¯Ÿ§®¯¦¤¥§¢¬«°°µ¤ª®¦“ž¤Ÿ¦§¥ª¢š®°³°®²¸¬·¯ž¶³±Ó¢©¦¥¤ª¤ª¡¥¬ª¨©ª¬¥ž¤ž¥š©®£¨™¤ª©¢±¶¸¬²·¹¦¶²£­¬Ó£«¨©ž¨¥¨¨£©£ª­©¬°­˜¡§´«²«©œ¨¥¥ª¤©º±«³³¯·­¨£§Ô®°­£¥­«¦ª§©¬²²®µ©¬¯ª«¤®«¬¡ ›™¨¯®´§¦·±«§®±Õ£¦¨§§¡«ª«˜«¯ª²¯®®°¬¸ª›¥¥±ª­¦¥£œ¯²³°¥©¸±¤µºÕ¨«Ÿ§¥§¬¦›©¹±¸ª­³±¯®¦™š¯«¥«­°°§«¬©£¦«°®¾¹Ú¡¨°¤­®¥žŸ£²´¯¥²¶«¨°©¥©¯›­§¨ª²¬ª¥¦«°¬¬þ¹׬­­°§©©¡›¤©¬¯·²²±¤©¨©ž ¡¤«­§¢­°¦ ¸­°±¨«¯د²²®ž««£ ¨«¶µ¬²¥¤©¤™©«¥›¥ª²©¢´±©­¶±¬±µ±س±´µ¨¯¦©ª®¬¯²ª®¥¨££¡¢©£ ¯©©¦¦©©²ª®¶¶°¬¶Ùº¹·®¬´ ¤­¬­§¯²¯®±¥¨¥¦«š­§¡¦Ÿ¢–•±Ÿ¨¶·°©Ú»°°¦¯­¨¤ªŸ©²¶­²µ°©¥¢¬®¡¨¦§§£§¥œ·®¬¹°¨Ûµ¯¯¦ª««¥¥˜²«¸¨»²¯®£§¤®ž®¬¦«¤£¨¤°°³²¨ܸ´±´ª±¶¯œœ²§³®·²±¢Ÿ¦¡§ž¬©›¢žª¯©¬¹²¦Ý»¼·¶£³°¦œžµ­§¯·¬®¤ž©¯¡®®£§ž­®±ª¥±¯Þº¶µ´«´¸¨—¡·°°´± ®¢¦°°§°§¨¯–©³±¤²·à¶´µ·«¯µª™¢¶¬µ²°ž¯¦«µ¬µ¤¦®³ž£¯¨¢ḱ²·žº¸¦›¤²±·±¸¯¶¶²¬®´¢¤·­Ÿ¤´² â·¬±±§¸³Ÿ”ª´³·«µº¶¶«¨¯±¥¥²²§©¯!ä¹°¶¨ª»«˜œ¯¶ª·©²µ·¶ª¤¯±¨ª´¬ª#庯·«©¹«˜§¯±©·ª°¸¸·©¦²³¡¤°¬$çµ·¼§®»¢©¥­²¯³ª·¶¸»¨¢²´£©&·ëº£±¶ ¯«²±µ³ª¸º¹¼£¥µ³(ë±¶´«³±¦®¯µ¨¹µ±·¹¸¶£®*¹¶©¶±°¤±®¸²µ±··-ñ«ª«°¨¯°­˜°²µ°²0þ ¥¥ù£©­£™¯µÍnqusrsxoglqz|ƒy‚{‚woxvntgm^pmvy‚z{o€||tpy€uˆ‰ Ífnnpluovpe|u}sƒ}zw}|gm€qefkgagdwzxwv|}yuvyql„…ˆ† Ívggfprtjnnrq}}|zxwv~dkvmpqganaio{€}lv€sz{xymt~€‰ƒ€ Ízokivvyqqrls{~oxnsnuoluitojkodhhtp^bpmozvxsfzu}€|y Íyut~qouxrkmr{}xmqtlm^ipfswljlWkqikpjfbmlvyfgyo}yfs Ízx|{q}{~mftqt}piqrdi[llonklic]nlmrrkheoq~n{fw|xkr Í{‚~xt~u~khxxvzrojsjlokfmriadijmltpevndvuqptlvv}wz Í€…‡†‰trxlstwq{qpg}snrnpjltmhkrrnqmpzltohopstojq}}~ Í„ƒƒ‡q~„x|}qvzntmovvkdmmirpnjhvtmwwmntmmvklcpqoyxt ̓{sw~t€}rzry{wrm{lihsnkapx`dy|{iqjqynwsncnnpxxr ΃y~w‚|…€~tw‡pgv€korurragte]z„oannvwz~xxtznwnx 释‡v…y……~pzu|„ƒvpxsqmvvçkopk`ty‡zyn€y|€xzvyx|url Ò†…‡x‚q‹†}j|q}‚€z}{szj~uyotlociz…~mƒ|{ƒxzm~swwþm ΂…}|pŠzovtwƒsƒ|j‚vf‚ryitgrmm}|~s„ƒ€…€‚{ƒ|}}n χ|vm‡y{vnuy~l„zl„hgzsskujwmm|r||~‚…‡‚…‰Œ„‡}|~øƒ‡‰ƒol‰wwÙe{{vq„so|nophsifnwfkynwy}‚ƒ’‡…z{Ï~„Їyv€r}rh|{w€…ˆorsjporrbaofcnwtuxxy~yŠ‹w~p{~Ðx‚„}|trum€{x|y€}{lon~b_nwihvxwz}pj€y|xr€k{vqÐzuu{s{ps}vqz|v€z€`uz…r`orvyx{y‚uzoyr}ryzb}„jrÒztsur|t~€}}q}‚ywa}{„~n{qs{txlungoyx„skz…|Ñr||txqu€ty~ƒr~ƒ‚~€s‚|qsow|y~vpptt{|‚‰yw}~Ñypu{snyzymn‚„y‚‡„zz}|zyxcndhvmx~o~‚tƒ{…‰†x„pÒnknrvu|ribkv‚‡„ƒyi||wejuovsonfav~…€~„z‡‹vz‹rÒpxhqxyrnmphvtz|mWstjZgqlrqnrjcz}}{z…z†{e~{Ómqnomtltipsrqqtvnflchapyoqbmqpj|„w}‚†sƒ{lwuÓmtpshsnsspqjsurwzw`gn~t{utgqjlsltˆ}u}~z„vqlqÔxzumoywptjpru{{x€tesytwoyuxkfaaoxzpo€{ury}ñlppqplutsauyr{yyæ{vsdop}uxonkexz~}nqƒ{lƒ‡Õgrsipmpvlbr‚z€tx~|ywl`cywpwwz{rutqlos{yg†Öjpymwvogdglz|{o}‚wsxokct|fyqqt}vsllsxwvx…×uxwxqstlemqrwƒ~~|nrooehlpuyskwypl€tyzruyØ{|whtvnjqq}}u|plqlarwqeot~tj}zqx‚zuy}}Ø~€€qypqrxrvyrxnpkjjktmjzstokpqzrw€xtÙ†‡xv|gmvvsnx|wtwnrmntcxukqfh\]zgq‚ysÚ‰xpwtnmthox~v}zrmjtxjrrsskmld€yvƒ{pÛ…~xortuom`{us‡|xwknlvfvwrynjokyy}{q܇„{~t|ƒzde{o}x|{jgniohvteogrvovƒznÝŠŒ€€nqdf}uoz‚wxlfpujz}ooivuxqm|yÞ‡ƒ~xƒ†s`iz{€}myjmyxo{ssx_r{zo|ƒàƒ€v}ƒuajv~}l|ot}t~orzhozská†}~ƒhˆ…peoz{„}…}‚‚|ut~ln„{hn}} â†y|r…€i^u}|ƒuƒ‹„„vqx|nn€orx!䇂uwŠxdfy€ts††umy{rt‚xt#å‡}ƒwv†ucoy{s€t}‡‡ƒsp}~mqx$瀅ˆqw…ltlv}x|t…†‡‰qk}€nu&郅„kzizv||~tƒˆ‰ˆln}(ë}|u~{qwy€q…€z†‡lx*îysƒ‚u‚|vl}x‚}€~†„-ñuvw|szzsb~~{~0õinnomrvkd{µÍGJNKKMQZJCFMTUX[PZS\QIROGNAH;KHOUPYSTIXY\TULLTXMdc Í@JIIGNHPK@VOWN^VQMUWDIZLAAFD>E@QRPYONTUQOPQJG\]]b` ÍPBC?ILMDHGLKVVWSQOOYAGRGJKC>K=CHUYVFOYLQTQRFOXYa\Y ÍTIFALNTKKMGMVWIQGJGPJGOBMKDGK?BANJ9=JIJRPRM@SOUXTQ ÍRONYKIOQIEGLTURGIKEH;DJ@MPFEF2ELCDID@=GGOR@ARHURAM ÍTRVVKVUWH@NJNUIBHJ>E8HGIGGHD>8IFGKJFC@HKWGU@QWVQFL ÍT[VQMZOXDARQORIICJCHKFAFLF=AFFGEMK?PJ>MNJIXNFPNTPR ÐX]`_aPLQEKMPLSJJ@SKFKGJEGOHDGMLGJGKTGMGBFHLNIEJVV Í]^Y^bLW[QSXLPTHMGGNPE>GHBMMHDBOMFOPEHNFGOBE=KJHRPM Í[UMTZOXWUIZULRUPLGSFDBNHE;KR;>RWTSCKELSGPJGFR[^\[RBSWQ@EOHOMHIA[USÓFKIIHMGMDHNMKLNPIBG>C=KTIKBFTVSHUZOLRHF>NVARMNOVOMGFLTPPR^×ORQRKNNF?GJKP\WVUHLJI@CEINQNIRTIDZNSVLORØSYXTBNOGBJJVVNVIGLF?MQL@HLVOEXTJPZSOTXVWÚ\]KRIJJQLOQLQFIEEGGPJFTMLHGKLTKPXXRO[Ùab]TPWBFQQMGQUQNQGMIHO@TNGI@E9:UAJYZSMÚcXSKRNHFNCHQWOUXSJIGQTFLKNKEHHA[QO\SJÛ_YSKMNMHH;TNYLaVQNEKIRCQSOSJEJESQTTJaÞWXMW]T@?UJVR[UTCAIDLDPNAJDNPIO[SGÝei\ZH\XL@AXOHS\OQHAJODUXJKCPPRKFTTÞa^ZXQ]bOEXOZXYGUHMWNXILTXDKUKEá^VW\B`^LAHTT^X_V[ZTNOXFH_SBIXV â_TWYL_[E:NWV]P_e][NMSUHHYWGMS!äbZ\OSfS?CUZN[MZ`^YMITTLOZQL#åaV\PO`Q?KRUNZMV``\MLXXGJWQ$çY\aLQ^FNGMURUL^_afLFWZIN&é\_`FSYDTOSTYVL]abeHIXW(ëW[YNVUKRRXJ`YSZ__ZHS*îRM_[M\UPGWR\VYW^\-ñPQSWMUSMVµ0ÿþý 0ÿþø 0ÿþî 0ÿþß 0ÿþÊ 0ÿþ± 0ÿþ’ 0ÿþn 0ÿþF 0ÿþ /ÿþß /ÿþ§ /ÿþi /ÿþ' .ÿþÔ.ÿþˆ.ÿþ6-ÿþÏ-ÿþt,ÿýý,ÿþ—,ÿþ,+ÿþ¡+ÿþ,*ÿþ’)ÿýî)ÿþi(ÿþ¶'ÿýø''ÿþd&ÿþ—%ÿþÀ$ÿýß#ÿýó6"ÿýýF!ÿýýK ÿýóFÿýß6ÿýÀÿþ—ÿýød ÿý¶'!ÿýîi#ÿý’$ÿý¡,&ÿüý—,(ÿüÏt* ÿüÔˆ6- ÿûß§i'0õýøîßʱ’nFµ@@€€ Neue Ebeneÿ     ¢8€€¢P²x€€¢l¦kªr®y6 ÿ1 ÿ.ÿ+ÿ)ÿ'ÿ%ÿ#ÿ"ÿ ÿÿ ÿ"ÿ#ÿ$ÿ%ÿ&ÿ'ÿ'ÿ(ÿ)ÿ*ÿ*ÿ+ÿ,ÿ,ÿ-ÿ-ÿ.ÿ.ÿ/ÿ/ÿ0ÿ0ÿ0ÿ 1ÿ 1ÿ 1ÿ 2ÿ 2ÿ 2ÿ 2ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ6 ÿ1 ÿ.ÿ+ÿ)ÿ'ÿ%ÿ#ÿ"ÿ ÿÿ ÿ"ÿ#ÿ$ÿ%ÿ&ÿ'ÿ'ÿ(ÿ)ÿ*ÿ*ÿ+ÿ,ÿ,ÿ-ÿ-ÿ.ÿ.ÿ/ÿ/ÿ0ÿ0ÿ0ÿ 1ÿ 1ÿ 1ÿ 2ÿ 2ÿ 2ÿ 2ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ6 ÿ1 ÿ.ÿ+ÿ)ÿ'ÿ%ÿ#ÿ"ÿ ÿÿ ÿ"ÿ#ÿ$ÿ%ÿ&ÿ'ÿ'ÿ(ÿ)ÿ*ÿ*ÿ+ÿ,ÿ,ÿ-ÿ-ÿ.ÿ.ÿ/ÿ/ÿ0ÿ0ÿ0ÿ 1ÿ 1ÿ 1ÿ 2ÿ 2ÿ 2ÿ 2ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ6õ!Mt–´Ìàïùÿ0û9y´êÿÿ.üR êÿ ÿ+ü9–ïÿÿ)ý[Âÿÿ'ýeÖÿÿ%ýWÑÿÿ#ý/´ÿÿ"þ~ÿÿ ý/Âÿÿýeýÿÿþ‘ÿÿý ´ÿÿý!Ìÿ ÿý*Ûÿ!ÿý*àÿ"ÿý!Ûÿ#ÿý Ìÿ$ÿþ´ÿ%ÿþ‘ÿ&ÿþeÿ'ÿý/ýÿ'ÿþÂÿ(ÿþ~ÿ)ÿþ/ÿ*ÿþ´ÿ*ÿþWÿ+ÿþÑÿ+ÿþeÿ,ÿþÖÿ,ÿþ[ÿ-ÿþÂÿ-ÿþ9ÿ.ÿþ–ÿ.ÿþïÿ.ÿ þRÿ/ÿ þ ÿ/ÿ þêÿ/ÿ þ9ÿ0ÿ þyÿ0ÿ þ´ÿ0ÿ þêÿ0ÿ þ!ÿ1ÿ þMÿ1ÿ þtÿ1ÿ þ–ÿ1ÿ þ´ÿ1ÿ þÌÿ1ÿ þàÿ1ÿ þïÿ1ÿ þùÿ1ÿ þþÿ1ÿ ÿ5 ÿ1ÿ.ÿ+ÿ)ÿ'ÿ%ÿ#ÿ"ÿ ÿ ÿ"ÿ#ÿ$ÿ%ÿ&ÿ'ÿ'ÿ(ÿ)ÿ*ÿ*ÿ+ÿ,ÿ,ÿ-ÿ-ÿ.ÿ.ÿ/ÿ/ÿ0ÿ0ÿ0ÿ1ÿ 1ÿ 1ÿ 2ÿ 2ÿ 2ÿ 2ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ  ÿ5 ÿ1ÿ.ÿ+ÿ)ÿ'ÿ%ÿ#ÿ"ÿ ÿ ÿ"ÿ#ÿ$ÿ%ÿ&ÿ'ÿ'ÿ(ÿ)ÿ*ÿ*ÿ+ÿ,ÿ,ÿ-ÿ-ÿ.ÿ.ÿ/ÿ/ÿ0ÿ0ÿ0ÿ1ÿ 1ÿ 1ÿ 2ÿ 2ÿ 2ÿ 2ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ  ÿ5 ÿ1ÿ.ÿ+ÿ)ÿ'ÿ%ÿ#ÿ"ÿ ÿ ÿ"ÿ#ÿ$ÿ%ÿ&ÿ'ÿ'ÿ(ÿ)ÿ*ÿ*ÿ+ÿ,ÿ,ÿ-ÿ-ÿ.ÿ.ÿ/ÿ/ÿ0ÿ0ÿ0ÿ1ÿ 1ÿ 1ÿ 2ÿ 2ÿ 2ÿ 2ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ õþùïàÌ´–tM!4 ÿûê´y90 ÿüê R-ÿüï–9*ÿýÂ[(ÿýÖe&ÿýÑW$ÿý´/"ÿþ~!ÿýÂ/ÿýýeÿþ‘ ÿý´ !ÿýÌ!"ÿýÛ*#ÿýà*$ÿýÛ!%ÿýÌ &ÿþ´'ÿþ‘(ÿþe(ÿýý/)ÿþÂ*ÿþ~+ÿþ/+ÿþ´,ÿþW,ÿþÑ-ÿþe-ÿþÖ.ÿþ[.ÿþÂ/ÿþ9 /ÿþ– /ÿþï 0ÿþR 0ÿþ  0ÿþê 1ÿþ9 1ÿþy 1ÿþ´ 1ÿþê 2ÿþ! 2ÿþM 2ÿþt 2ÿþ– 2ÿþ´ 2ÿþÌ 2ÿþà 2ÿþï 2ÿþù 2ÿþþ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 2ÿ 2ÿ 2ÿ 2ÿ 1ÿ 1ÿ 1ÿ0ÿ0ÿ0ÿ/ÿ/ÿ.ÿ.ÿ-ÿ-ÿ,ÿ,ÿ+ÿ*ÿ*ÿ)ÿ(ÿ'ÿ'ÿ&ÿ%ÿ$ÿ#ÿ"ÿ ÿÿ ÿ"ÿ#ÿ%ÿ'ÿ)ÿ+ÿ.ÿ1 ÿ5 ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 2ÿ 2ÿ 2ÿ 2ÿ 1ÿ 1ÿ 1ÿ0ÿ0ÿ0ÿ/ÿ/ÿ.ÿ.ÿ-ÿ-ÿ,ÿ,ÿ+ÿ*ÿ*ÿ)ÿ(ÿ'ÿ'ÿ&ÿ%ÿ$ÿ#ÿ"ÿ ÿÿ ÿ"ÿ#ÿ%ÿ'ÿ)ÿ+ÿ.ÿ1 ÿ5 ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 2ÿ 2ÿ 2ÿ 2ÿ 1ÿ 1ÿ 1ÿ0ÿ0ÿ0ÿ/ÿ/ÿ.ÿ.ÿ-ÿ-ÿ,ÿ,ÿ+ÿ*ÿ*ÿ)ÿ(ÿ'ÿ'ÿ&ÿ%ÿ$ÿ#ÿ"ÿ ÿÿ ÿ"ÿ#ÿ%ÿ'ÿ)ÿ+ÿ.ÿ1 ÿ5 ÿ þþÿ1ÿ þùÿ1ÿ þïÿ1ÿ þàÿ1ÿ þÌÿ1ÿ þ´ÿ1ÿ þ–ÿ1ÿ þtÿ1ÿ þMÿ1ÿ þ!ÿ1ÿ þêÿ0ÿ þ´ÿ0ÿ þyÿ0ÿ þ9ÿ0ÿ þêÿ/ÿ þ ÿ/ÿ þRÿ/ÿþïÿ.ÿþ–ÿ.ÿþ9ÿ.ÿþÂÿ-ÿþ[ÿ-ÿþÖÿ,ÿþeÿ,ÿþÑÿ+ÿþWÿ+ÿþ´ÿ*ÿþ/ÿ*ÿþ~ÿ)ÿþÂÿ(ÿý/ýÿ'ÿþeÿ'ÿþ‘ÿ&ÿþ´ÿ%ÿý Ìÿ$ÿý!Ûÿ#ÿý*àÿ"ÿý*Ûÿ!ÿý!Ìÿ ÿý ´ÿÿþ‘ÿÿýeýÿÿ ý/Âÿÿ"þ~ÿÿ#ý/´ÿÿ%ýWÑÿÿ'ýeÖÿÿ)ý[Âÿÿ+ü9–ïÿÿ.üR êÿ ÿ1û9y´êÿÿ5õ!Mt–´Ìàïùÿÿ3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 2ÿ 2ÿ 2ÿ 2ÿ 1ÿ 1ÿ 1ÿ 0ÿ0ÿ0ÿ/ÿ/ÿ.ÿ.ÿ-ÿ-ÿ,ÿ,ÿ+ÿ*ÿ*ÿ)ÿ(ÿ'ÿ'ÿ&ÿ%ÿ$ÿ#ÿ"ÿ ÿÿÿ ÿ"ÿ#ÿ%ÿ'ÿ)ÿ+ÿ. ÿ1 ÿ63ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 2ÿ 2ÿ 2ÿ 2ÿ 1ÿ 1ÿ 1ÿ 0ÿ0ÿ0ÿ/ÿ/ÿ.ÿ.ÿ-ÿ-ÿ,ÿ,ÿ+ÿ*ÿ*ÿ)ÿ(ÿ'ÿ'ÿ&ÿ%ÿ$ÿ#ÿ"ÿ ÿÿÿ ÿ"ÿ#ÿ%ÿ'ÿ)ÿ+ÿ. ÿ1 ÿ63ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 3ÿ 2ÿ 2ÿ 2ÿ 2ÿ 1ÿ 1ÿ 1ÿ 0ÿ0ÿ0ÿ/ÿ/ÿ.ÿ.ÿ-ÿ-ÿ,ÿ,ÿ+ÿ*ÿ*ÿ)ÿ(ÿ'ÿ'ÿ&ÿ%ÿ$ÿ#ÿ"ÿ ÿÿÿ ÿ"ÿ#ÿ%ÿ'ÿ)ÿ+ÿ. ÿ1 ÿ62ÿþþ 2ÿþù 2ÿþï 2ÿþà 2ÿþÌ 2ÿþ´ 2ÿþ– 2ÿþt 2ÿþM 2ÿþ! 1ÿþê 1ÿþ´ 1ÿþy 1ÿþ9 0ÿþê 0ÿþ  0ÿþR /ÿþï /ÿþ– /ÿþ9 .ÿþÂ.ÿþ[-ÿþÖ-ÿþe,ÿþÑ,ÿþW+ÿþ´+ÿþ/*ÿþ~)ÿþÂ(ÿýý/(ÿþe'ÿþ‘&ÿþ´%ÿýÌ $ÿýÛ!#ÿýà*"ÿýÛ*!ÿýÌ! ÿý´ ÿþ‘ÿýýeÿýÂ/ÿþ~!ÿý´/"ÿýÑW$ÿýÖe&ÿýÂ[(ÿüï–9* ÿüê R- ÿûê´y90õþùïàÌ´–tM!5@@€€ Auswahlmaske ²ø€€³¹T€€³,´µ¶@·Ë6õ!Mt–´Ìàïùÿ0û9y´êÿÿ.üR êÿ ÿ+ü9–ïÿÿ)ý[Âÿÿ'ýeÖÿÿ%ýWÑÿÿ#ý/´ÿÿ"þ~ÿÿ ý/Âÿÿýeýÿÿþ‘ÿÿý ´ÿÿý!Ìÿ ÿý*Ûÿ!ÿý*àÿ"ÿý!Ûÿ#ÿý Ìÿ$ÿþ´ÿ%ÿþ‘ÿ&ÿþeÿ'ÿý/ýÿ'ÿþÂÿ(ÿþ~ÿ)ÿþ/ÿ*ÿþ´ÿ*ÿþWÿ+ÿþÑÿ+ÿþeÿ,ÿþÖÿ,ÿþ[ÿ-ÿþÂÿ-ÿþ9ÿ.ÿþ–ÿ.ÿþïÿ.ÿ þRÿ/ÿ þ ÿ/ÿ þêÿ/ÿ þ9ÿ0ÿ þyÿ0ÿ þ´ÿ0ÿ þêÿ0ÿ þ!ÿ1ÿ þMÿ1ÿ þtÿ1ÿ þ–ÿ1ÿ þ´ÿ1ÿ þÌÿ1ÿ þàÿ1ÿ þïÿ1ÿ þùÿ1ÿ þþÿ1ÿõþùïàÌ´–tM!4 ÿûê´y90 ÿüê R-ÿüï–9*ÿýÂ[(ÿýÖe&ÿýÑW$ÿý´/"ÿþ~!ÿýÂ/ÿýýeÿþ‘ ÿý´ !ÿýÌ!"ÿýÛ*#ÿýà*$ÿýÛ!%ÿýÌ &ÿþ´'ÿþ‘(ÿþe(ÿýý/)ÿþÂ*ÿþ~+ÿþ/+ÿþ´,ÿþW,ÿþÑ-ÿþe-ÿþÖ.ÿþ[.ÿþÂ/ÿþ9 /ÿþ– /ÿþï 0ÿþR 0ÿþ  0ÿþê 1ÿþ9 1ÿþy 1ÿþ´ 1ÿþê 2ÿþ! 2ÿþM 2ÿþt 2ÿþ– 2ÿþ´ 2ÿþÌ 2ÿþà 2ÿþï 2ÿþù 2ÿþþ þþÿ1ÿ þùÿ1ÿ þïÿ1ÿ þàÿ1ÿ þÌÿ1ÿ þ´ÿ1ÿ þ–ÿ1ÿ þtÿ1ÿ þMÿ1ÿ þ!ÿ1ÿ þêÿ0ÿ þ´ÿ0ÿ þyÿ0ÿ þ9ÿ0ÿ þêÿ/ÿ þ ÿ/ÿ þRÿ/ÿþïÿ.ÿþ–ÿ.ÿþ9ÿ.ÿþÂÿ-ÿþ[ÿ-ÿþÖÿ,ÿþeÿ,ÿþÑÿ+ÿþWÿ+ÿþ´ÿ*ÿþ/ÿ*ÿþ~ÿ)ÿþÂÿ(ÿý/ýÿ'ÿþeÿ'ÿþ‘ÿ&ÿþ´ÿ%ÿý Ìÿ$ÿý!Ûÿ#ÿý*àÿ"ÿý*Ûÿ!ÿý!Ìÿ ÿý ´ÿÿþ‘ÿÿýeýÿÿ ý/Âÿÿ"þ~ÿÿ#ý/´ÿÿ%ýWÑÿÿ'ýeÖÿÿ)ý[Âÿÿ+ü9–ïÿÿ.üR êÿ ÿ1û9y´êÿÿ5õ!Mt–´Ìàïùÿÿ2ÿþþ 2ÿþù 2ÿþï 2ÿþà 2ÿþÌ 2ÿþ´ 2ÿþ– 2ÿþt 2ÿþM 2ÿþ! 1ÿþê 1ÿþ´ 1ÿþy 1ÿþ9 0ÿþê 0ÿþ  0ÿþR /ÿþï /ÿþ– /ÿþ9 .ÿþÂ.ÿþ[-ÿþÖ-ÿþe,ÿþÑ,ÿþW+ÿþ´+ÿþ/*ÿþ~)ÿþÂ(ÿýý/(ÿþe'ÿþ‘&ÿþ´%ÿýÌ $ÿýÛ!#ÿýà*"ÿýÛ*!ÿýÌ! ÿý´ ÿþ‘ÿýýeÿýÂ/ÿþ~!ÿý´/"ÿýÑW$ÿýÖe&ÿýÂ[(ÿüï–9* ÿüê R- ÿûê´y90õþùïàÌ´–tM!5@@./chessx-1.3.2/data/images/circle_black.svg000755 000765 000024 00000023125 12062314776 020232 0ustar00nistaff000000 000000 LED Circle (Black) jean.victor.balin@gmail.com led shape Open Clip Art Library Jean-Victor Balin Jean-Victor Balin 2005-08-21 image/svg+xml en ./chessx-1.3.2/data/images/circle_blue.svg000755 000765 000024 00000017467 12062314776 020121 0ustar00nistaff000000 000000 LED Circle (Blue) jean.victor.balin@gmail.com led shape Open Clip Art Library Jean-Victor Balin Jean-Victor Balin 2005-08-21 image/svg+xml en ./chessx-1.3.2/data/images/circle_green.svg000755 000765 000024 00000021517 12062314776 020261 0ustar00nistaff000000 000000 LED Circle (Green) jean.victor.balin@gmail.com led shape Open Clip Art Library Jean-Victor Balin Jean-Victor Balin 2005-08-21 image/svg+xml en ./chessx-1.3.2/data/images/circle_grey.svg000755 000765 000024 00000021513 12062314776 020123 0ustar00nistaff000000 000000 LED Circle (Grey) jean.victor.balin@gmail.com led shape Open Clip Art Library Jean-Victor Balin Jean-Victor Balin 2005-08-21 image/svg+xml en ./chessx-1.3.2/data/images/circle_orange.svg000755 000765 000024 00000021520 12062314776 020426 0ustar00nistaff000000 000000 LED Circle (Orange) jean.victor.balin@gmail.com led shape Open Clip Art Library Jean-Victor Balin Jean-Victor Balin 2005-08-21 image/svg+xml en ./chessx-1.3.2/data/images/circle_red.svg000755 000765 000024 00000021513 12062314776 017727 0ustar00nistaff000000 000000 LED Circle (Red) jean.victor.balin@gmail.com led shape Open Clip Art Library Jean-Victor Balin Jean-Victor Balin 2005-08-21 image/svg+xml en ./chessx-1.3.2/data/images/circle_yellow.svg000755 000765 000024 00000023130 12062314776 020465 0ustar00nistaff000000 000000 LED Circle (Yellow) jean.victor.balin@gmail.com led shape Open Clip Art Library Jean-Victor Balin Jean-Victor Balin 2005-08-21 image/svg+xml en ./chessx-1.3.2/data/images/close_board.png000644 000765 000024 00000021016 12142244753 020064 0ustar00nistaff000000 000000 ‰PNG  IHDR;<Ø Â CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ1aòјLIDAThÞí›y”Vå}Ç?Ï]ÞwÞÙ™f°Œ@Á%Ê¢,Fk¢Qsb›¶ILÚ$žŠ$xŽÑœæœ¶A³ØcSš4fk‹MŒ9DdÜ@ I!UÙAdf}ß÷Þûïó}~û2‚ph­PÔâé§ŸþäÎ;:t¨É÷}¡(% ¤DIEH¤ J¢¤D ©$2ÑߤDJ•¼#ÝÝgøŸ ­5Zk”Ö ”9ŽmcÙvððwÀ6 €Bh‘Z ÔnݺuÔ/~ñ‹çöïß?*—ËaÛ`¾DJiÀHW!˜‚W* % ¸@*”2Ï•”H¥Ù»wÿ‡CË€‡–B-B  yåÊ•]+V¬øÅÐГÍfQJáyžç…@RdS8Ù*¢fRFï)‰RŠ#GŽð=¤”¯Apg6›í!„t ñë_ÿºeýºuÏø¾ïär9 P("¥O†u•B© »Æ¬S9²·«ÌF)s–…a…ü5Œe ËÅ,«Ñ(Z+´V(¥ÑZ­5–8®‹ë:hÅbqÆP>ÿcàîl6«´ÖÚ\ ³qÆ÷dÇ¡¿¿ŸÞÞ^òùžàž™E‹GΞ=[ öîÝûÒŠB±ÀÀÀÅ¢jY£TâŇ»hCMŠEïDTU!Pe°Ö,\“¢öÅ5o´A"äQVˆxF‹F+i”§Th@ =¢X,~\¡, päÈ‘‰^ÑchhˆbÑÈh¢=U|m¨ªC°Ò Ÿi¥Í3mžJksh#s1•U´LêX"§ÑDû #`ºôs1{h_ÆóEb Á÷ýj­³À‰'\ß÷( ø¾/Ö°°aQc'uBYÍ"dÈÖ «Õ*j±uĪ ´ž¡ÊA+"X1•EAŽ6I„¬Còw`¨ëy^qQ,ðƒ/0Z7^pÈ’JÊEå06NØ:Í↪¤äÙ€ ¥„su(µ …0J à 1%CÔ:õÙ„ÒáÆ¡âçF©‰ä;4X¶]¸Î¢E‹œÈd±—¤ÙQ鄊á!•BKÉå¾O›ï£µæ€e±7¥ÂÏh•’a†)+B‡r(„ùΔ"Òh®YÃÎþgÎïßOÇw0mÑ"œŠŠõe&tò—˜„@iZÛ€emÚ´©ÜØÐP°ƒÄKR*ºNST¢¥dJ±ÈÜl–Ovuqï”)ÜšÍ2u+õ•¢nš£ 7UÅT¥o-ÿ7^ü³?£©¯iW\Á±Ÿÿœõ÷݇,äAEl>lîÔZ˾RJÂÊçón*"C5ãû–xC)‡AIÅÏczy9wϙÜ'¸ñøqnŸ<™™™,Ó ›§À”ØÞaìÛæ“ö¯\É«•¹3f0kìX¦VTpÛÝwSÜ·W\LP,„šWÇì¬t©"¦ÝˆLOÌÂAº‚,šö’®ð<®ÉdøÄ-·0úå—p]úË˳kŸ<™2Y®±¬xá %;oÎáFÞÍÛ+W°î‹_dÆÄ‰t¸.ýÅ"Å1c(?|˜[?ùIz^y…×| P€HهʋÐÌ‘²ëˆ˜åE Ö˜™ 67*¦dBщÅ"×f2ܹp!í6P¬¨ âW¿¢jÅ †ißµ‹;;:˜›Ëq­c‡Î‡¡šÒ‰YQi§#dIRtÃý÷3süx&d2ôKIåW¿JÅ£"'O¦üàAnùìg9÷úël]¼˜ ?SN w^"ÌJÇŽWBY¤B²©‚ëJ¦zEfTVòG÷ÞËÄÍ›ñš›){öYD6‹Èd¨þÙÏlm¥eçN>1v, ÊË™—Éù ]Æ0:ÑÔ¡{ó§?e㗾ļqã˜hÛ ”•Qó×}ÙeÐ×GîóŸGwuQwü8·=ø ¿ý-¯|æ3Ï+açD ‚Æ)aã@†À^«8•RqypuUŸ¸÷^Ƽø"¾RdÿñÙ,ôöÂùóXµµÔþð‡äÇ£n×.>ÞÚÊœòrffÜDVCÖÕÊ8J)p`Õ*^ÿÚ£Ì=š±RÒgÛTùËØpî B>OæÎ;‘mmT¿ý67å+øG²ûÉ's¦RÜ“x)ÃeV…ÔUIȲ®R’vÏãêÙ³³e r`÷'?×5 )ÍÑÓƒUUEÝ÷¾ÇÐøñT¿õw64° ¼œÙÙlhŠˆµ­MÓÁçŸgÓ¢EÌ9’1¾Ï¹L†ºGÁ½ì28>™?ìÞsräHªäš?ýSNnܘ(9ö¥DC›á&TS2fÝt„"•F„6 Û¥À÷¡P0‹)w¼Xά¤áÉ'9}ÿýT¾õ···#Â0mc>o¤Ò(‡_XÍæÅ‹™YQA[¡@O]Í?ŒÛÖf62=·Öæû- ¡”¹‘}Õ±mMÂCÒþcBÙt>‚À˜£½–ÅŽ—^b_g'vs3ÞŸü úwÌ\ù¼?w«¢‚Æo›BWuGr{6ËÜœËÅFïÏΫ_þ27º.ã‹Ez›šhzøaÜÖVèé1sEóæófƒ‡†ð—/ÇêíålSÛžzŠ–[”øÖ&þÕ)+ ìúúú Ûr–H%ñ<ÏøÆi»§5g”¤0”ghï^šo½•¦3g(þêWØ×]‡ÈåÌ‚ÀRB¡€•ËQ9s&gvì êàAÆUT ‡œ´¢ùíҥ̳,F ô462ê‘GÈ´¶ÂÀ€™#š/̦ú>ÅU«pè=šußþ6UÓ¦1ék_Cض1CD½±õQpø¾jhhx®¯¯¯°„X"µÂ+¦ÀªTX§5'´Â/zöì¡iþ|š&ÿ 8×^‹(++P,"‡Ê믧ûw¿#wè—».žëòζí|h¢»¹™Ö‡"ÓÒb€¦ç¾OaÕ*ìînzÛÛY÷ÝïR}íµL}â ¬L&¥üˆýh¥ç8ðÕЂEˆ%R)¼b‘ ðŸVidÊß=®¾ïã8@Û‚Ô:Äкu¸W]e{ž¡JtxV6KÕ‡?̙ݻ);z”Ë„`Œ”Œ¤»¥…¶‡"ÛÞžP4}„Z½ûÌ ¼øƒP}Í5LûÎX¡¦/ )MhMøª¡¡1‹^¢¤¢èñý ÄHú˜”x¾ô(móæ1âða7n$ÓÕeLÑE(le³T_}5§öí£üÄ j|Ÿ3­­´å+” ýý§¨ç1°f Ö©Sxãdzî_ÿ•ò®éL{â;X®»‡*•î!ñ‡ã̆缾1«¤\¢B6õ¿ÄÃQ±‡“àGƒÛó(?NÛ¬YÔ>Ìжmd¦M3òãû¥*±2jºº8½{7}¶Í¸Å‹)kk»8EµF{k×b<‰?nëŸ}ûòË™þßEd2©?EÙ8‚M(‹† TccãwDGGGSàû§¤R R(SÚZÅI-]’U0šn–›áÖšþpÆ ÚvîdÐó¨]¼«²Òn:2‚³gQ¾OfÔ¨ M—Ö`Y ç×®Åéë£ÐÚʆի©œq=SÿV6›¤`H"›’õ…^¡çÎçóÁĉ[ìúúú ?–D9bÃÆ‰£Å™‘áŽÝ2‡ƒÏ÷ѧOÓ2y2u§OÓ»e e×52œÖÒž‡•É`—•s2\ëj RÒ³v-öÙ³xÍÍlX³†Ê™3™òÍoe$t"Ÿ%•H ¯ B°e Xß_"•Â/ú!“Nš™¸DDZïPàû>N_múÕ'OÒ»};¹I“Ž“ŽXÔ÷/dó 0ÎJpvì“'‘ ¬ß¼™ÊÙ³¹òñÇ Ð4¿F £Œ›Í"µf(Ÿ'p]´e…«‰3êaâã¯'Š7=¾^ɽÃ{ç㣤¦I€‰0±FˆÑïHû½ýì³¼ùýïsó¤IŒëéáÔþýh!8¹b”•a×ÖbWT€mJ!=™Ï£•ÂrÎ?O}E7_wÖoÐwô(»Z[„«×U£…–d+ÍF$ÏIvÞW–D© »`öðË¿°š7þꯘ7y2ÐÓÃéÝ»cS¢|ŸÀ÷‘ýýȰ~¨Gì²2œl;“ÛFXçNŸ¦±½¯¿6oFKÉo[Z’Ü:fKRI:%YÆÔÛÖûW£LO£K0za5/=ð3'L`üà Ý;w^”K¬ð°Û²°2,ÇA„v5~ϲè9q‚×寛oæšwßeÊñc%0—0N2Sª¦S‘J¾½7؈eS1¢Ö¢Äþ|þy6?ð3§Mc’çѳmÛÿJmUXç¥)›å†ÛoçúÓgè:~<1{©bW˦.Ji-Þ‹²ñ®¥S”¤«Ræú­Ÿþ„Mù—Ì9“)…½¯¾Z2ñûìa˜ °!àÞƒir]æýñ3»·—YÇŽ%YÃtáKPâhM¬_Òéô Á2,òæ{¢£œÑט7oûúèß¼ù=«qÃëÿuÀÈKŒÛfààAê”bΧ?Íõù<מ:UÚ[ìš5Óõ¤aÙÅRʪÒ$v†÷V­â¥`Þm·1±·—þµküí%µm²™ ÂuiÛ ÀqØ¿Ÿ:¥˜ý…/0¯¯ëOŸŽ½'g&HÀÓ.¤ˆ+|‚UI>WÅ»g¼¦+W²þþû¹î¦›øÐùó ®^¾„õ*`D&CuE¯8ë, 庌t]ä%p„°m†öí£AJfÜ?`ÖÙ³©¢¸.I´Ç‹I÷=(«S™ú¨Ev/_ÎK‹1ûccºï“ÿÿ¸tŠ–—“­©a½RØ7ÜÀþ‘ͼäyäm›‘åå¼aa²/¿g­••ÌX²„۔⦞DªÚÁQ%÷i/«RzÏZó"¯,Y ÷ÜÃÔ¡!¼åË/IF5PW]ÝÐÀ†BÌÂ…t-[ƶŽ+ØÞÞΦþ~†,‹æÊÊ8~þ çóZ**˜ñè£,tfô$U†¸¦TŠê‹¹‹1ûF™ŠðÎïÎùó™œÏüìg—$k ¨®®F45±áüy*ÜÊ•ó·ÛF¿k½Œmml>}š>!¨¯®¾¤ Äuñvì ÉuéüÜ瘞χ •ij©V‡t%¿lѨ°ƒÌÜç»»©1¸d­®­Åmogcw7 Ðùo`e\r…åÑ--¼Ñz¯;†ç8ÔQ’Ô~ßqâU£F‘Kqc|N¶R“Y¥‹Œ ДžÆ.\Èî—_¦wÎÜÉ“?hU}=îøñl|÷]Ê?ò:¿ñ DÆõ©í7£FòúÈ‘lÞ·¢ã0¢¾þý)8øS¦°{ùrX–Ñ+) ÓÑ%EkQJY™®“&½“ï»Ü¸±¬~æzﺋì¤IÝ} T65aMœÈú#GW]Å•K—b¹n*Õ£ ØÔ±½¹™­µµlÞ¹“¼mSÛÔdØrøüRâ64LŸÎÖeËØ¶c/äÊ‘R§tŠcïX_”²:)"Ç2«Ne7þà‡TOŠùÎ.\HÙ„ Rtôh‚ÎNÖìÙCöÆ™þËLR>¦lÈÎA Ù4jFÔ±iëVz•¢¶µ¥SCŠº#Ftvòê“Oòò¶m|¿ºšSaI4ìÉ å]𔬲²2+ŽP¢vŸ¸†ªb[ke2\óØãŒøð‡YóË_2xË-”‡UcÆPèìdý®]TÎË•-ØIwK¸nø¨Ȱq嵆zÖ¨åõ×^㜔ԌtTLžÌëÿôO¼¾gOWWsNˆX9é°½/jlI»¾Žã˜|H&“±‹žG1lÆ”©î—Ä›2×VÆåêÇgÄu×ñâóÏ“Ÿ?ŸŠñã©;–¡)SX·};•sæpåÒÇn¦Ô7M±“I¡øáYâGåÒ@òòˆ:^¬®fÛæÍô5—_N¶±gÒ$Þø÷gËÛoóãª*Îk6²(d¤œRM.&«!PJQ__¯Û3fLÐs¶Gg3®0Éee ’|³.IWZ®K×cKÙò¹Ï³vͦwu!<Û·Suà \ùØcÇ-Iwˆe KÚƒ7O¢¼TSƒˆÕ«éœ3‡òæfö=ó ;Þ~›§kj8&ÁcJɤ\zKÂJ$´¥¥E¶ÐZgׯ_îÊ+;sq~"Lɤù}xÊÒëëcïßÿ=ݯ¾ŠÐš¦ùóùƒ/~ÉhÝØ '–7ÝtSÔUZC EH*PŠý½LÊ“SŠ®Ë ¹gBj]ìÐÚô<[–…ã8ø¾O}}=3gÎì{î¹ç:…Öڹ뮻N,[¶¬Q§2&Ì¥ñ.u)c%, ê’(I—|&=æÌ™“´|E›)—…Ò2S1d[‹[Ò§% 8¶ƒÖšÊÊJšššÈd2‡víÚu£%„ž{î¹7ßyç„Gª“Eimš§•ŒÝÆ¸+56ÞQ·ŠŠ.’K_¨‘Ù°õ>eo“sR—AR3” ÛòMÃYI[aøŽ°D ´¬¬Œªª*:;;‡ŠÅâEKkmll|곟ýÌ ïù:Ý JÜ -“C¦Ú†â¦7‡E]åïÅj¦2ï ;ëÒÝèñw¥íIº´8:Û±q¥åååÔÕÕ1qâDùÚk¯î¸ãŽ'>¡µv€Š–––-³gÏnyléÒjÇ͈¸9ŠüScœ‡E÷äâΘ1#nÙ^§)=’~æ¨Ý7²ýq’>TªÖ×דËåhooWGŽé³m{ûîú!D µÎÏš5ëÏ·lÙòËÝqGßÓO?0aBY‰òH+ªÔ}º.Ê¥yµäÊÊJ3FhSøðö¿Ð+Š|€8™`>cÛ6™L&²§L›6ÍÛ´iÓ`.—ëÿú׿~0 „éÿþp®¾úê»»»»ÿ(»ûî»yôÑGË«««÷ý×tÒpy‰cêÔi!]S–êE$ª¤GÊŠtÛ_ä1锕•ÑÑÑá¿ûo¾ù¦¨­­êêêºkÕªUÛ„Áù1­µý©O}ªuëÖ­Ïú¾ßQ(( Ò÷ý¢Ö:ÏïáÐZ ­u™Ö:ë8ŽË娪ªzgîܹ·>õÔSÇ…²4ñ?ìÀ3f̘/‹ÅÇ©Bðû>´ÖJJy:“É,;|øð÷ÂoÑV9ÞT£€ŽßSœp8ùÿaÆP~Ñ^¾tIEND®B`‚./chessx-1.3.2/data/images/computer.png000644 000765 000024 00000007276 12517120413 017452 0ustar00nistaff000000 000000 ‰PNG  IHDR@@ªiqÞgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<PIDATxÚÜ[{ŒUÿÎÌÜ{÷îB·O(´RÁRp[ËÒJ o¡-mQ(‰ÿ ¨©¥@‚EÔ X¤èRRФƒÒ Q© yš°ÒvwËîö¾æœã÷ÇÌ™¹½wo[[fs:¯û8ßïû}ß™[ví «¡íŽ›¿òÆjðU3z ;¶à¸±¾]–O=dÊýË—]S&O)%½ÿÔN¿¢cú‡ÅÇæK cu' ¿Ã9wþ‘ñ‹œc玞lûïÐ÷Я`çÀàÂã­¤½¿ìÂó Ÿï„mìÔŸ“÷=¦öžï™s½O{xì1ˆÎ£ëfoÁ°FÓ^q©!ð¶":ç5Ž7×ðsº»ÇÃÅŸ=Öõ=HÌm /u>úá‡ÁÐðˆšØ° Dkw¡Ó§¦æßêûÓ ðÉC„2ysëŽAx`óßaÃæ-0R,ï7Fwudá¼y³`Å¢ çÈÃô|uàùíØ6<½Vžu2ÜvÕE ¼8Ä¡_ã‰#–¾ÖÚ&uÀW{Ù9T(Á5?~Ö~éü¶ÀlÀƒÏ¼k¾|!üö…7`p¸ˆ øjÈŽÀû¾‡®ù>ÓÞÓ{•˜:÷TŽÐùÀÆ¿ú:Žãø7×dHS˜=c*lüÓK{ÚBΡPª@©R2VCÚ1zâÚSÉ—A_K'“K¼F¡D÷q¾8À1:"NŠz/ô÷9IPÏAVU½€„rE \gg3¤t@PÆ0u-p€”RSÖ—T ˆ 2Qþ"Ï í]µ'ÃñÍ\íõ¹ˆ êóèuû2¾‚ h€Œé+ðíÒa„ñ¾š(zÞ÷)±2e|œ/düYN9Â5R¨sË!b¦ð: øÆ7ía„ö~Æ›äYa¼†–Âx\øæ>y]å@èø·=A”âLø$©/¢sE}2Vèë8æÚ>a@E1 „R9Œ u÷]•]—õ)!"Bêäg î$¥ÚÇ1{W8—7F+l¤®‹} ² ŠmÓ­YêÒ\24Á€ ÷´ñŽ ˆ¨xžm•YÔÞÆ• îî¸K}¡Ñ×Ìu€ï#ËÚûE‡äñRÿûPüðâÈÿ¥úÇ3OÀµ½Sàw®s/wCÍÎ!)šp¬o€‘BÞÝñ!ô ß‘Î\–CpD®Ë¯¼ì@M½(šîEÑ´Ýj†ÑCÀÄ›ªÈ¢û¸ÊvXvÉ% Ñä @(T3¤ãN¬(ÀGE45‘¹J8JpP9<òMÛ‡>€ûþ|/lxî0TüpÿM¹.8oöù°âÄ+ gÚÜš¢iT¨ $PXª¦ƒ·ïÙûàòS/‚Û.» K_Ö‰ûX<9ѯòKm1•Œxæx‰¬#¢Lè|ˆ¹fý×`í’¹c«%c¼BRï"ϯZz=l~íqØU臌ŸÁ HÊ H gx̾:¦½;<Õ*ã0DZ‚„°½‚ÛE¦s„Pý‡Ÿœ66¾ð0ð£±P¹`ÖY©wq•(±T† ™’ê1hT³,}L¨æ'V9‰!©'_×~ú"ÉãE”øª&{œTøúÔëÚêJ!CXÝRÅ17TÂPÖ†ëÞÐ ¡K”/ Aíý zí=¦#Ѥ˨ÛjÇ†Æ ˜m‘Ó×…ózÞ&؆Š"Qç«ESˆL)ã(âg@É9ˆ½¬ˆÌìq!5Q[jÏ£ 3E 4KJ`pŒ®)œb&Xí D› (£÷©&4Ú¸Dňô/# ýŒ— i ½D|ŽFKôV•€¤àÁÄ t¦u4ƒm‘£Úa„Þ·É€‚Àƪ±¢Œ/UŠZшW},Í%W_ßèý W“¦æHú‘÷™-X–+6ö ’}@`šûVOPnj;TL × BEÿ²@š§Gƒ VAÉÑÄfàá„Q/û˜­|¡+spË\zÍ 2R:^Wsà —mPÄNª@(ø(¯+@½O,å!n<•Ñ“ëu MŒ# N%Q•?Q{ ,Z3i Mä­ÄjQ˜ª¤¿?l—»+º ¨ é‘|]y¶íÚŠ}ÀNÈgóÏä¡#Û ê¸ 'ß¡Œ×,Êp“Ô qý'ß{¦YÒM—0:\¦œŒ½ ŒæQy¥Í!2™Ú^.¢l\»e®è‰ðÐä®’b±2ŒMÑ d3ÈJ¦ÉCŽ’z!‚ï;IÐ2À4‚B¯Ÿ%3½1X³Ai!/·@Й‡C>6 ($œT@2¶ÖH‚åȤ<® ¹‰éè\ÀûÌ+Õ!Ò2z.è€lÅ¡÷—ú +²%¸] ŒV…´ñqâSžç"f^«´À’“çÀ¿·¾ó{¹ ƒ¶gqb¥j€  AÏâúÏXuØ$š ¸ZºÓ÷º@¨æ ) ¶À†;û w­ß@«¦‹ZÊb*¡.ƒîÒTú)°ÀxUÆ{z=Ñ–Ê4ÒKâ‰E¨÷ç‰píÞ‚û6b­&ÁGiüð–ï²Ôê[\oXÍ«W‹ªÉ!äeb-ß®æˆDâó©_0­/s=0`ñTH>2t€ŒK ;B',ÆTñ¾™…çÀê«Æö¡2êÝÕÄý¸uå&ñ©ØÜ¡¿U©ŸŸ$Ö8¹À‚a“Ÿ F©Å$蟭BÖÔ£…“葹K}¡è爫DZÏRñÏÒŒ$Yw–I6@ãGwý¥§{tq°Æ³F ý™§i'£?_‹`õ OMšb^! õí#` DK. Ö2ZâU•Áb®õFÈ3ÆgR hù<ÀôiÃîb?4Pñí³¬ÙÓz_`ÚZ_k~›ýÁ‹AÝÀæ·&ŸX !MÛ«ŒV†‡ºV†LƇƒ:ƒ–ðñAÊûuXÒ» ^ٺ̜’w¡a3r¦[˪–1½âƒ)?È7F{ñïÔ7ÔxZgÚ`ÛHé5G½ÚdW˜¤"Äó²C– ¼ôæ;êÉP³°”€å ¯€ øÖ=}£ÊÏ}½­<é‹°²l;Ì ²™*0cÊÇaÕùkঠnÞoŸ×ûIMPõXòÀ°ÿu0Ñ´·7R¥ï n#ƯÂl´ùÖzç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF‘1IDATxÚìýy¸Wu.Œ¿{ïz>óÑhIÖdÙ’-x¬€ ™nd ¾Üñ’{só…ß—„K$pCB0„$˜$Æ6f²cÏ£l Ù–eIÖtæÓswUí½TU÷®êªŽŽlÉÔ~ž~ºOwŸszØë]ïz×Úk)%’•¬dýh.š|ÉJVÉJV²HV²’•@²’•¬’•¬d%¬d%+€d%+Y $+YÉJ YÉJVÉJV²HV²’•@²’•¬’•¬d%¬d%+€d%+Y $+YÉJ YÉJVÉJV²HV²’•@²’•¬’•¬d%¬d%+€d%+Y $+YÉJ YÉJVÉJV²HV²’•@²’•¬’•¬d%¬d%+€d%+Y $+YÉJ YÉJVÉJV²HV²’•@²’•,€–|§çºãŽ;H¡PÐÇ¡BÊ97FFFv†q®¦i›cgPJW0ÆÆ(¥ÆX†RjRJuJ©€RJ‰”Ò]œsî!lÎyCQåœ9糜ócŽãl6›Ï–Ëå§šÍæ‹©Tʦ”ŠZ­Æð]»vÉä[9ý‘2ùÞNƒ×èŒt:½*ŸÏ_cšæ…º®oÓ4m®ë†adcí/—ÀuøvÔR÷ƒÛ¿BÀ²,X–U±mû¸eY/Z–õL¥Ry°^¯?`€ÀÞµk—“|k $kéO¤¤óùüÖ\.÷6Ó4/2 ã¬T*µJ×uÿ2¨¡ºÂÀ ‚ƒã8¨Õjv³Ù<Ôl6Ÿ®T*÷U*•;¼  ¾k×.‘|« $«»Ñ3yMÓÆGFFÞšN§¯K¥Rç¥R©5†aPÕÐÕÛRÊHƒ_.ˆÚ#þÿTÀ¿pÎQ­Vy½^?P«Õ®T*ßj6›w˜PÞµkO¾í’Õ6ü‘T*µªP(ü\&“y}&“Ù‘J¥†c‘Þ½ŸŸ— âöGøþ¨Ÿ¥”B Ñh R©ÌÔjµÇ*•Ê·êõúífvíÚµ|û ü¨}ZÓ´Õ###7d2™²Ùìùétz˜RÚ“Ò/ÅÛ ½öE+è2H)Ñh4P*•¦*•ÊårùfÛ¶ïp|×®]õdW$ð£`øcCCCäóù_ÉårW¦Ó鵚¦u5ú~¼}?Þ/ô³'z€ús!P­VQ.—Ÿ+‹ß®T*_ðü®]»æ’]’À«n}ç;ß9c||ü†l6ûó¹\n§iš9JiWcïæõOå?!A·Ì‚”–e¡X,.”J¥”Ëåµmûž]»vNvM§ýúþ÷¿¿yttô¿år¹ŸÍf³› ÃлyùAþdür28ð—mÛ(—Ëb±øx©TúR³Ùüú®]»^LvQ§Ýºçž{6ÿR>Ÿÿ¹\.·AÓ4ÚÍà—3Þïë‹ýåØƒêq×B”Ëe¾°°ðT©TúB³Ùüj œëÞ{ï]?<<üK¹\îUÃ÷n)†ß¯Á¿\l ß=ÓËø{1Î9*•Š3??ÿT©Tú'Ž$»,€Snýà?(äóù÷äóù÷æóù³4MÓû1ü¥ý+Mû— Ka~­ã8(—Ë͹¹¹‡ÊåòglÛ¾u×®]•d×%pJ¬Çümù|þ·óùüe¦i¦OÄðO–ñú=ŸŒÿ³m@­:´m‹‹‹¥ùùù¯—ËåO_wÝu÷$»/€Wl=øàƒ›‡††~'ŸÏÿ|&“"žÕDûR=þ †ør}—Ëñšúaq P¯×åÜÜÜÔâââ§êõúvíÚu(Ù ¼œ‹>ýôÓ¿œËå~§P(leŒ1!D‡¡÷ãõOú^EW£ ¾–¨“âËÿZãjúƒR©dÏÎÎ>X©Tþêšk®¹%Ù– œôõØc•ÏçÿW.—û©T*•‰òôK¡ýËcèRrÜ3v@‚@’»Ï%²õ{Dù] Ò6péÝ&L¹Ÿ  DkÝ^N`$PŸkYæææ>]­V?³k×®—’]šÀIñú{÷îýùT*õ?óùü6ÆóEª^^¿ƒw¿3ßÀ€  RÔA`Þ…À‴~W†À£mè’@j$ý )HtHP n[ BØ BÜy‚ØÀ}ÕjõO®¾úêï$Û5€e[O?ýô˜aÊårïO§ÓY‡«ÿdz})EÈà@6AБu5 Ò€´k¼ a— @Ö§ê‚‚h@ D8€° ¥ñ`€ P’j Ô€$&KC² Íh# zTËhiH™$i´ ‚~Ù€WQ(gffæÿ¤^¯.É$pÂkÏž=—¥Óéçóù×k𦫱þRbþþ  í奴@` "«Ê ¨B:8Ödó8¤= 8ó öˆ¨‚’&(i‚BØ Äe  Ü5K©öìðè¾dîm©AJ Rh0!„ A³€>èã ú8ˆ¹š1¢ç!e@’d!‘rt%| ËQ@@ õ¹¹¹+—Ëþ†7¼á¹d'0ðšššbÅbñgS©Ôg³ÙÍ”RªRþåôüÁï@àžÑ7APdDVY„SŸošÇ@šS ¼Jk`´J,&AôQm„ÚÀ†@X y€f’¨áÑw¸  -@4QDR§ðHgÒ™œiH! E Bà"!3t2µ0W¥ÖAKd yHR€„Ë\0h³‚éNj‚r¹Ìçææ®T*Ðh4îNZ–%Ð÷:zôhªZ­þv6›ý½T*5ÚBGu{¥ùzmòögï{{)› ¨bEH¾§~¢þ"P;Úœ£e0Z£uÔ8¨±Ð×€k}-ÀF™„ˈ_æó€}°CZ/AZ‡!­ã.3ip‘ã Ó“@z5hf#´ôZ6aH2ä† 0=  HŸŸz²€ðíf³‰™™™ÃÅbñCõzýËI#’z®}ûö­ „üq.—û%Ã0Rj·~©ÿ †/¥ã‰w @”AÈ"(а*‡!*ÏBÖ^kLCc%h¬ ¢1ÐÔ:ô&s#`œ =ÆÈc¾[Òû)±¿ +6`½4_„l¼ÙØÁmHž†Ã³px<= dÎÍm…™;CF I)b´XA¿@Ð+ðïó«gffJ ©V«ŸÞµkW9Ùå D®çž{î]×ÿ,›Í¾E×õV¼åù»QþþD=î~ DA0aOÁ*=Y}¤t]„ÆJ :ÍlIoImŒ5më%‘ßêÉù€$éÂ`†lühì…¬> !$„†# °ø0dá ÜV…- ú H2æ…º—b¬gA7QÐÿþ<] 177÷¥R飻ví:–ìökÿþý—QJ?šË室”R|þ¹ý5þ¶šoÈ*ˆ,8µ#°Ÿ,?½q :+BcUÐôHf;Hv;`n 6éEíåÒ¨$3 ½CŠæsÕ§€ÚÓÍc¶ Gæañ!8éU ù­Ð†Îž] )' éFßÙƒ^ „ˆƒÅbÑžŸŸÿr¹ü¿_÷º×íOv}@^xá…×išöç™LæBÆ‘RF}·.¼½7«Kõ¨X‘3°ë/Á^|˜ß Ù‚NK`Z,w&Ý ’Ý ècÞžx·e—ÿ$|¯’t¹_†þµ÷\{¨>YÝ TŸ&¸“†Å‡`+€ÑmЇwBϬƒÄ8$DZ cq•J%177÷õJ¥ò¡k®¹fO?Ú@öïßÿFMÓþ"NŸËCØó÷›æ‹ß˜nÞ¾"]ÃçChÎ? Ì= Ó™†N¡éuÐÌ™@á5 ¹×Z6šÒŸºQý“QhØõqd `ð*P~²ôP{\èàv–‚¥¯ÆwÀ9Zf=$&:⦡õLöJúLÀ_•Jsssß©V«¿{å•W>™Àè{ñÅߤiÚ_¥R©súõø½„¾NÏ‘eLCZGÐœÛ 1û8Œê˜ZšVͬ†.É_hù¶ñôçý_ÎÓÁ²Ïûe”h€—ÒCŇ€ÆanÀ±3hòaX¹Õ ã;‘¿D_ ȳ«PØmfA¨V«˜››»«Z­~ðÊ+¯ÜÀžñ_§iÚ_§ÓéÝ Ï4~ „TAø<(9ŽúÜSp¦6ÿ"ÒÚ4­fèÀð% ׿jÅðÃÆûú`x…@!¬È@hŠ@.>X pa±Өó8£ÁV\ˆÌøNH¬‚ #rpëHÏÏ¿ßÀïT*•^uÕUÏ$ð#òž8p%¥ôãétú5þ^ŸîŸ˜ñKï0NDAåìê~4§ïŽ<ƒ ›…AË`Ì)ly-ßéÓ‰v9~ØàI7Šßg¾ ¯YÙ§З@¨‚ðn”Ÿî‡,? É5p®ÃyTù(°ö\¤V^=s&$] I¡[Uá  P©TäÜÜÜ׫Õ꯺êªx•¯ƒ^à“étú êñþ8ã¢ýñq¨W§/k rGQzΑªFJ+Bg5FAF¯Æ.ôQïP÷÷©ÂÈ€q=Yª±ŸäAÆ„þ¾Ä îfïƒtšR‡Í3¨;Chæ×B[{²+/†« é¸'ê=cŸná€í£Ñ•J…ÏÍÍÝT.—ÿÚk¯=’À«t;vìÌf³ùÉL&s½7!·Cð[ºñ7AdÇÁkûQ;r7È¡§¥³0ô24êé ñ«áKý"¸¶ñDÄþˆVûOÍ­Ôd($@ð@¢°ø0û}Èú ®ÃâYTÄ8°~'2k®ËlÈ*d=6°4P…A)%ŠÅ¢577÷µZí¯½öÚÒŠMü(Ï5ÿ•ÉdÞH)ÕüT_Øè» |Ñt“CʆKùqõù§a¸ Æü Èh‹Ði”Ø ù­Àø5@ö,o·×(hÈ`ˆb,$ÎöåÔàDBпÝþ]( xí2^Tº`à swåç  J¨°PÛ_Cµ8ýÌk‘ÝBÖBb€éuyéÊ Ã0°ûÅB…BÁàœÿ2çü€$ àÕµôýû÷ÿA:þŸº®§£Œ<û3sÙ³`ä0J/ÝþÂÈÚGbè¬02z0þ: µªMïã¼>Á2©ú²»W–]œ¸Œ)H Ù;þ~ÔuëB€Æ1`æ{Àüã‚Á&vÕÔ°M—¡pÆUà8’ŽÃ=[ õ%F]|àœcfffqqqñÿ¹âŠ+þ5€WÇ¢û÷ïÿo¦i~Ò4Í!DËø£@ ›àTùm7ÞÇ4¤}åýwûEÎÂdu0Í=™‡ñK]ã7†=ã–Æ,Wì-¥¤ HDd …¬E渄 ÂÑÐp2(‰1-!¿qˆ¾’¬HÆ#´$ö{ë¦øõ¶mczzú¥r¹ü®+®¸â®Nó÷wàÀ×3Æ>“N§7‡kûÕBµ ã'(ƒÈ)8ÕgQyþÛÐ_z9m¦ÖeÜ3þË€É7z¶m a¡Ï/ìé¦úËî?kGÙzˆ†w #B^=L$HÌ‹IIÀ€tØU`ú;Àìî‰eBC“§Q²‡Á7œ‡Ü–ƒ–=  +!‘ïTÐ4 LOOß_«Õ~ùÊ+¯Ü›Àiº¦¦¦Îl4ÿ˜J¥®um<Þów£þíÍã*ý%PqÅgPÝû-¤¦÷"¯aèM·ù†&±K€•»ÜŠ>?_¯vÌR•~Bº{Qc8~š®ƒÚËá¶‘"@DÛz?,& ¾¨¾I§ ¿˜{ȸ8” M;…²3„æêmÈm{Ìáíd5ò­ A7ˆ ”ô 377÷/ÍfóƒW\qÅ«V|5‹€éjµúÛétú â%£þ^•eíû¤´AITAmþ Ôžú:2ó/ ¯—¡S Tr@“ÀÈùÀĵK·w5A»fž„R±¢®i´¯/£î—\Wvà³é÷‹6zÕÂÚ…$½u Åf<1TÆM»Ÿ%·€¹'@¨qLÚ!•#Ï b5!¶[HI²R@ˆŽ^¾MýîÕf"Íf5˲~Ʋ¬'|2a§YÜÿüóÏ¿'“É|B×õ¼/ú…=¸ü7^@r+û(©€ŠÃ¨Î<‚úSß@vñ rZ :³A™4 mV½H¯h{úpŒ¾_"Zñÿ,ÂÞ]sêJ~=‚ ,y—åšD„-$tF!zeUdÄE êSÀ±oÅ}''œÀv ”jãë‘>÷zd'.‚ k½p@ïZ0>5®àœczzz¦T*ý•W^ùíNŸ¸ÿRÆØçR©ÔÙjÜß«à'ÞøÝ˜ŸÉ#¨L?ŒÚ·#_<„¼^‚ÆlP*]ãÏLk~ ÈoŠQúej¸Z.àáeè1ÏB„ EŸ\7±Ä\û­BÇíná ‰Ž?d@(¿ý6P›q{£ @pÛf(ó<*cë‘9ÿ­ÈM\ A×@¢€¸ÃDÝÂ!|±¸Ñh`jjêûµZí—®ºêªWÝ€ÒW]`ÛvÀo뺾…s0ú8êß- ÒñŒÿ(*3¡úØíÈ/@N¯@#(„×ÝŠcÙ3Ý)#t1„¼2éBõ^ Mö¼|나tZÄß}&h @Cׄ4ÌHP/ˆë1@Bá "Þà~¶£õoµÞ …€N€<)C?€Êc·ƒ\È'”@¢)£ë<ÔÎAáPÀï!`†††.sç×÷ïßÿ¿6nÜ(8u;xðà/¥Óé·¯:d)ýúÚÆo¨‚ˆã¨ÎïF屯!?{Àù%•¢íÌF_Œ^4~ÿúOÇäO¹–1FïÖ! \Fz”1uóþQéɨ0†ª÷ ¯º‘D_º±~R˜þí‘ €ú 0õHë>$ò¤ yüÊÝr‘‰Ô(HRj±£ÖÃEBa= —Ë™õzý׎=úÐÆÿ+€S—ú_lÆût]Ïú.ìõ{yÿvlÈÝ"9fi/Ê Ùã/¢ U¡SJD;ŽÏ®q…?Ù‡s<=,âu¼h¯ˆ¸+èQ@ _ˆ•Ï>€¨Ÿýó 4 ¬ ŽŽt FÎ*Ç€r»lŸJƒÚÈ‹*øKûQ¢·‚^jÂÈëX¥ô =Y€ê0„`ŒaxxxIJ¬ß¹çž{5…¯˜™™ÉI)? ëú¦0õïVê=Æ­í§b¢ù¿ éƒÏ#¯W Ë¥ý­ -ássÄ …îªÕr2’j´3aŠ/„w-£^þ9  Ù•îÍÌ8ÀŒH…œØ5 ¶èþbå8õÞ&‹Úåvà>ÏèU0 ÄËm B¡Ž1Œœë€ò+TJ˜°0„2ø¾ç°h| ã—f@ ‚L s¤Y< ð¯)¥­P P(\lYÖ»î¸ãŽ?Ûµk—“À)¤ú/..ÞN§ßAÑÂ|ãbÿ8Ѱ½ÚþØ}òv°çö`H«À$6¨zŸJ`øl`ø×K{%þ^,BÔŸ„Ò]ašÃ2p®ÜÇC÷§Ç!Ç6BæWC«@Ò÷‚Á‹ eu¢ºY™…œ?²p¤¶ÊÐîê̓»MÀU0$¡øƒ„˜"²ÃÛòA`î‡îßîÿ¡Ž€Im Ó ¦ŸÞùT“ç aBÂv—ˆK ú×ÙlÖ¨V«pçûîJàÔñþk Ãx¿®ë¹8êß+öo{~·Ð‡á0fžþ&ø“b’”‘"˜JÛ f…³Ú^;*®ÌÇ+žÞWð}£÷„C4rÿg€–…X±ß 2¾ÄÌ.Ûq’ÉŽ“g/v_z­>ý"äÔ^é½ ÒBk^(S.D¹M}ÀgÔ{Ž"(Æ/û@ÜÏ~q¿[#  AB"c(cêá‡1›ÆØ97@@ƒD¥»±ÿ~MÓ0<<èï÷ ÔLƒî|=äö+a?ömÐ}ßc­6ÿÜ»ö™^F€zÚ€’!ˆN†ÃÜÀ ïkpõ€QYÃáûŸÀÌøZŒŸ… &¤¤Þ™™ êíl6›ªV«ïqçVO[#:½¿!„øe]××v›ÚGùÛáθó¨L=ƒÚ£÷cÌ© CÝ*?unß(ÙµAßJÝ 7,ð=½àmOïp€;€ã6,ØÂ½¶Ð@Mu9±òÇþdÛÕ }ÔŒå^ƒü¢0.y+È›~VnxU@Ö½÷ØT®›°8`;îgcs÷sr|vä] ú¬f•]ã~'¢3j pkÒÄÆ˜SAåá 6·ó€´½C^ÝßWx_I)¡ë:òùüvMÓ~æŽ;î8míète´T*«iÚ¥”z”—ï/í§œðãG1ÿØÈ›B^k‚ÁñÂQÏ©Cj2«-ãQX„ gB¥»apÕòø6 ÍQÈKß ²jË€cÅûÑ9:ÏÅGÅ»q¬)îw{]úæÀ~îQð¿Í®ƒšÞÎó?W/…M¸š¥ÁŒ‘µª gô* êÍý!*/] É&ªŽaþ±oâŒ]ká )YlƒÑ¨pQT*eš¦ùóBˆ›NWpZ@­VÓ…¿hÆZuŒW?45¸ñi€ð)Lï¹ üñ½!u˜nì â, ýÍô„kÐjûŸPjOz±¾AqÏ7~«/^ûó zjɆ>Ûîl Ÿx ojus‡5”p…¸×÷ÙB`œuøêMhÞùyÅ} :ܰ@SÂ÷³f~ªÐ«*ò¿_Q«,¼Ï<3 ่ªGéeÝJ€1ÙÀÁûŸÁìº{0ºu‚¦[Y^ûGÕ|Ëå¶7›ÍwÜqdzk×.™ÀËàý§¦¦Î¢”î’RjÝ{t7wH'‹hV^Dåñ0nWÖ9(d»6E $¢éñvüïçÿÍ9ÂTÕ£²ª²o)ê¾£AœÿS g_Ý·× ßï9çµµ—”n¹oùø3¨?ñ$Ö8 Ô3~õÈ+AP0‡=JO:= B‚ |!ËûM,@ꣻ>2²ªï˜Þ§ð¾ÑÛ¶ kqÝ‚?ûØüQh Hk€¦¹£™oø^!NàpŸò6Zøå¤›¨˜qö¾G`Û@måàì0Î9z¾Ã0Z`Ÿfí\æ¶ a¥sh|ýïrš®.`úÆïæÂK»zº€ nùµzäX(/^0Û6~Ê€‰”ãM{èQ¶\„ôø$I¡]ÂØ[ PïÏd2©Z­öwß}÷íW_}õl'ÑûB®¡”n‹Rgû-ùu½ DÇüãw!{lyæ@ó©äÁsæ=ãí¥šÐõü¾z­Äú>å·™^ùÆßÉ ¤Â;Žã½e¡ñÒÔð]Ð{`h@FŒ, kÓ<&íe׺6÷:‡t(±´ÐÝd†à/î‡}÷~4ïºÕ­ç£yÙµ0V®‚išÐ4 š¦õ]G`¬? öÿ>_ýR’kÛ>hôÌ{#~áPë=v­€žo} ö h(H ‡f1ûØw°þÇ6A"ïÖcãþ¨=ç³€T*u…eY;pš8­àÅ_&„¼CJ™$æ"·Ûᇊ,z'žÅJa¹Þ_-DQA µŒrð'tÐÞçÎðS€²eð-ÏßÄÐ&àúßIåú6|!lÛF³ÙDí…gQ¿ë›ÐŽ¿ˆŒ ¤2€©»†O˜b#ÝæD\KçPÞ;ê‰ó`î[74 åp8/<„ÆÞ‡PßpšW^‡Ôë`š&t]t\î¶ô•뀟ùÔ¿ò—HUgÁRŠÐâsoSfzÖû=<©œpACpŒq |¥sŸAnå($u[‹»ÒC÷×Þw©Tj´Z­þÔÝwßýÐÕW_]Kà$ˆš¦íR^åÝ»‰RAúì¸Þ_Î`îñ{‘Ÿ/!Ã84/Ûc(‚¸ôSK·Ïç·|ÊvV Uá';•~ ™5À›ÄÌôõ¦…pÍfõ¹YT¿}+Ès!c™,`®áSMñôFˆn?×z\D<Çÿ›Â=ÓÃ(À˜û H~Í/<‰Ú¹WÀ¹î-0ó˜¦Ù {‚Àè$ð“¿‹ú¿éjÑ)ÜÏŸxa ½)é5 ¼|O~Fîþé8ò3%Ì=v7 o9#-Ы&@Õ9¼3Ä4Í×Ù¶½À¾ÓƨN—Z*•çü-VÇÅúq@Pþ¥ ð"=…ÆÏc„Û0%ïì©N'ù÷ÃKçyTß/öñ ßqÜk¿ÀÇnùHsòúßíËøý8ß²,Ôj5,Üs'*ŸþŒ}`8+0’ȥ̔Ó^Ì,<—ºM¼‹ú3•^Lñxø¢þ}ͽM@ÓÒ)BšcxÏÝÀßý)*>ˆZ­Û¶[ 6{‚ÀøJh?ù»¨[&xÃ+²¼B!G¸BÜiV9¢]Fí§W™ÿÝ  Äôb0¥Ä(·PypJÇ÷¢éõòøáû(¥H¥RÛc¯¿ãŽ;H˼æççÏ „\%¥$ý}„?!M@Ì`öÉû‘_¨ G¸;J"Šò‹Pü¸[ð¶ñ·6£Ó®ò³üMÛÞÄ’f!Þô{ …±®âžO÷9çh4(ÏÎbîóŸ‚øö ÀjÉ äS¦á>‰0Ô€Ñ{,…’PqÒÎÇÙ:™Ge< öÿ#L€iiC`Edoùêÿõ%TŠE4 8ŽY‡Ð¡ ¬\öö¢Qgà~• ­‚€÷ù:NûóöÅ áx1 Úa€ \9S Ý—¯ '9²ÓeÌ=~/(æ@IÑ]Uã÷›Â¨¦io2Ms4€e~†aœKÙÚ¯·2,)H^FuîEÔw?QiCç¡VÚn:jÃ/ UR{žWâ¶WÞk»ÖQ¼S@: üM¿2²²gšÏ÷üõzÅç÷bñSÿÆ¡§1œ(d2¦ëu óùxÈ(ý7AIP4#ªñ‡Útùñ\µW (¯ƒhº&M ?}Ägþ•—¡Ñh†nÄe!07¼é}h”DCÿól¿ÂÊ*ÐÎ*’DtHj³CHŒ ¥‡ö Y<ÉKî> U·” [Ó4˜¦y‰®ë«XƵÿ~Ͳ¬7 !F㸛úïÓ‚& f1ûä}0."Ç94"Ûieß)ª3êÂB’êùÕ‹ã1Õø=*+.ý°U›û+Çq\ãüaÔ>÷qä¬Ù–×7<ÚðÀ$døÌÈ.dã ½E Ñ¡˜° 0&2FJ‡`üß?GåÙ=¨×ëàœ÷eT©—À9ïhVdS93`{çåÌ€‚ù!™@; „rïHwŽKNpèç1µû`dÍŽ0 ÛSo†±ÀõwÜqK`¹rŒ­!„\¨~ØqM?âE@ÈàÌ¡¼{Ƹ SŠvJ\ìßúÙ/ãµÛ‡SZ!€û+Ôß‹aùºË@vîêËóûÆ¿ðƒï¡ùoŸA^ob8ãy}&@¨Ú#,| éh§%»_Â7e(€–á¦&¢Ba¦ PAöÆO úÄ#h4}¥¹ë߉za캀TµÇ?Te+lÀ»Ï¶‚I"zø÷¹Ì€B"ÍF¹â£O‚Ê·@Ì¢ÎLÄíA)¥Ÿ¹:•J %°LöošæãÐ8¼™Âõî¾ø'yS{„ýì†À¡ ·:,2wL”=®‚ƒÕpãÍýwa»Éæ@Ó»X25 ìúµ¾<¿Oûî¼ÎÍ7"o:(˜)ƒîJ×ê "É•ø7tñSO& E¬ô–ß›ú—Z?‡þvøÿÉÐ룄p0#KÈÿÛ§Q½ÿî¾ÃªÈüÜï f§!êÁÏÕ==h» `Ûí“„ÍF;û¢b#WÞ`[uÂݺ€aÔŸ8Š©½¼Ø:)µŸâtÀmfÆE¦i®L`yè?i6›×rÎGâ¨W·¡žî…hb OïÆ¸cÃt¤RåêÑ0|ŸNú   œ6µÕxpÞø›‘ŠXó=ÿâÝwÂùÆM(¤ ”!¼VdÞ R7…ð5 'h”œ^ý}„þ¦ D€Z+€g;AT}-þïú¯× tŒn£póçP}üá@8Ç¥˜16 ²ë=¨W<=  E ðÞ«UWâ~ҩ鈨£nÁ4—wÌí~ ”4 %ïëÔ¤ú˜wHh¥âªÓá˜ð)ÿu]pQ/ºßKý—¼ŠfñjÏÄà0üšÕËP! Jr³ÚVû¹ç},åLÓ½vÎ}+èê-=k8çh6›X|ä~X_ý i|FÀÔ<ã§!#UÃ?f+ Àcõ ºeØJ¡R(´Ê˜ýYÜÊ…Û.Ó<…€@E š@Z³Qø·O¡úì3h6›)¨ÆÙ‹¯A}å¹°ž €åëÞkjVÝïL„Y Š€j±÷2 !1,”}vm µžÙ€¨°ÀcW†‘IàÄI§ÓlŒ:ºFàèyo¤(bfÏ# GJÈ &brÄQñ¿**5ªŠðç´ Ài U"5\ýξ'Y–…Ò3»QÿÒgKqäÓžñûêºP ó=ã²#°ðãcÇV 7Ä dèoA„Šÿv¸ f9¸£üÐÿw0Š -T Mäþù“¨>˲º†þa¯ì¿Õ:uSƒj[´˜@½æµTS…[,r „tíǘ²\B*b懀¢âî¥aHø5ÆíEÆt]¿0›Íæ8A°mû<Îùd7E¶—÷wéŽ{1¤¤•ÝËE;6Šß³¯Yiwöñk¬`Îßyí;A4£gÜoÛ6ª3Ó(ñï‘Ó›J‡h¿j ¾ÇµÜÃEòMÿøØ&pËÉÂÆè(†+b@€‡EËøñó ÛP Pnºâš_€c È0øa€P*qŠ0>÷I4*ضÝS0V®¸ð-hV<à¨ØŽ{ÔÙ§ù~P«? :`…t€‘)0Ê9æŸ~%wß ÀÔ¥iÚ™6'pbñ¿aÛöeBcð¡žíø_ò:œÚ ª?<‚a)¡ 9Ž Ÿ{›¥ÕÂ[µ’_;Aoè¡3ºäÜkú¢þF 7~ ™æ, ªñSE]—"¨/p@þ〠¯ýÅ?Ecd#¸Oí;p¸KÛy6Ð ýq»N»°†{”ß y]¿¾aã%ÀÏÿ!ȵ?çº_B³! m¢ÂÝ-ÊÏÿÊP .ÕF)Eþ-ïDØ5%-Øb>H5ËA½†“èÐ.¢Â“z…A#œ£øøAgD6:@\Ú2 x:€É9¿âŽ;îÐX¢÷/ ãδK­ LÖuQÆìs»!”ã,ìùýx‡†oú 2‡Ë¤% VôòÐ!*Üp.ù©Ö&ˆ»ø%¾ó_¿ÚþÝȧ2†S?ìù……øÉ?v\å¾îLæ¯|µ‘M.X"X…¨¦ÌTm@ªÞfêslÛý]+,M¯gá–K€_üßî±Cæëüú_CÓò@@(Æ/C)C¯rpø‘;мÿîV(îf¤^X*rÅÛ\ñß=‡õP)¶{/HÍêÂ! jÈ ûÐ"fŸ oBË ½½cÒ¯ÉårfK€T*µŠs¾fpÚßf„8€¨`áÙ½‘.ý'ªž·'#ê|!IH×0jóíŽ %v kA·_ÑFåû+‡ÀúæWK dS®A´ªêHÈøp þ“Ùyu0Gš- û?GmxxÍ3>+›{  R{*£u"£ÝŠ\„Â:UP¦,!‘£B`~ÏnÔØKj´êUnJ`©«^¯ouge˜bÅýt–orHaAò"*ÏAž èj,¥ ¸U2J:oúháÀ5¬ÊB§‘5œË~ªçé7!šÍ&Š_þ2¬áVøy…3­¨¦Ö )…ýÓÿØyUô—˜É!ó›‰êجp( €@Àø•ÛÒ«gð•~Šù½N¾bëk_úC@Ó#_Kæuo‡ýŽß@Ã"Ê( š[Ø”©Ï7ÿk‡ E±õ\ä²7»‚¶ŽŽJ í#ØB9 $C†ÏIh sPôÕ…D ,<}TV¼ñ"vÅíKOÀÜhYÖú–°¦¦¦H³ÙÜ ·OLÏ1NqùÁ«¨/NÃ:´€wÅ?ªÎÜ «þ"‚"ú ÷vRyhÔÆ!² 翾kìï ¥‡ï}î1äR®âߪë‡"˜y?KPX?þûÀyWÞ[øýÓL™þªã[àÔMÀQÁ@ѸÌ8^aŠù•Ø_œsðÞ? ¿ºáýו¾æm°ÞñßѰfåË^ÀÐ}ß@ãù½ý±€]ï@ÍÒ\-Àmµš Ê\xß•h7cá¡ï:\&¬QºCD€<—¨î›C£< Èzd=@·=臀š¦¥,Ë:ïT>xÊ@*•ÊØÒ_¬ÿp@Ô°¸´R9¢ÿø¢ŸBƒ{*Ùos5ê.åT”ùæ¶×ƒ2­ëi7!,ËBåæ/"“Èz‚XÇÁ/þ—„¢ô¦ß„sö­÷Ö­»/Ëæù­¿Dmbœ†RG洞C>°Ú•tŽÕ5#Ž1£!À·] ñ+ÿ»eüQ)Wõµi—½Åëß&žÈ§\Xðä¢Nè·þ{, P¿[}xöÙ—ºu> (Íõz;= ýJM'mͧ#Ìs¿kF€,X±…÷€¢ÞUèöz½Æ(;Ne;;e_˜®ëãœó•¾ <ˆÐ6UÄ‘0@¨:~ZF†tFRëü óC*âÂ7öôþŽã øà½Ðf"k èf„÷Wòò„[pŽíG­V ‡jláÅryd~û/Pßæ2¥8) äûç„’ÎT/ íçÛ¯‚|ïF¤çW_‹_ÛP­VQ?ø<ê¶GHPYŽþä÷>Œæ‹/€sÞÕÀ!H]ñ&ÔÂí` `qÞk·?6t!;+<գ”€ ƒHŒ‰â‹û½sÎÀcÕüVꚦµvíZ3€_!dÌqœ‰^(Û§†úáä ¡ùöé÷~$žoUŒ‘`fÀ m(n̹8Øöä6Ðñ•=½—eY¨}í&dL´.@ýBq¨Æû¹ðÐM°ïøbøŒ"²Ž>›Cæ÷þÕ‰³á¨'ê¬P!JíYJŠÍ»ðs¯‚üµ?ÑõHU«ùTã/ÞôÈ¿J("š’ 0ê@»ý?b›ˆ¨aOfÇù¨#§!€â<°°àÿp(a€2|E*ß­Œý˜×+ÁÛ!ȉÒþ£ h@Jg‰ûOÀ†L&“J`À%„åœ÷sE¥Ú),@Ô`O-"Ke«;n«ÅU¸ç€ ¨µä>ˆö˜n.â` Ø[/c,n´òþ•½Ï€}YÝUÀ‰ÚÀƒDœªƒ€FFø2š_ÿB Tª>]×ò>Ù<2ú8*+Î†Ý ƒáоpŸöo¿ò}ÿˆnt|î~ÓšÍ&ªÕ*þíÓ ÞŽ‚áZ×sŒ˜0ܣ߃5?×ð™®ç]«) fç‚]€ÔAR{;-Ó(!`D"+%j/̓ §¥tkjµ7)¥k…éÏlBiü4@)šhV`ÏTÝê?(†OœW¨\±²™„ôÔt´úûaaX\ßvidŒ®ÞgÛ6ª÷Þ‰”.`êJµ_à‚àQ[â‚DÊ{ðßѸý & ‚€J[š@:ƒì‡>ÊŠíî±Ú¦Òj+ÜlCe ¶ßq5äûÿĶ0˜©ïS5þ¹/~ ô>×øó†p›­†kb@@§ä¾ÛªŒ»B ï¼ ™8Óóíž‹í¡«ï2$îÊP÷(‘Ȱ§+°* ®#é³"PÍ cl¸X,®O`Àå8ÎzÄô°í5=GJ ˆªÇÁhØH‘v׫vßœ ÎðãHÈvïe|`qˆ†ºfcW‘RJ ÛjÂyän¤5…ZyA1þÖëk @J»ï_ѸíÆ„ÿ—êçÃ2YäþÇ'PY±£}¶¾áýjÌ äþ¬eüêߌRêý¾…sŸûÐû¾†¡Œ@!-`èËñ[“µìöºÂ§=BHÂ\yÿüœÔ;ã² k±ˆd;öW¿ìÀuxƒ íý[]€=ïï³t °Îº¼çëB ñÔc0u—S¢”ÉúÇpýÿ§nÎpóMM ¿ç_и5¨´3Ê{j™rÿûïP]s®ËênI/êÞHò¦€¸è ïÿS¥ÂÏÿ›œóŽB_ð›ý§O€=p;†rC·a) ô* ô/Tû74’O>Ô²nulÇE°l@Zæüý&/áî¾~¨§ ‡Þ}”iÔfg@ˆ Bx×Ô_ôø¹¶À`+Ã9Ï÷Sü˜Cò&¬ÅE˜AP "~X†ßIW’`Ÿå"ι¤kí¿ß×ß~v7 M@Ó"D?ª¨­]^ŠB ½f éŒÀø½_@ãÖí·£l &•Fþÿý{ÔÎÜ [ H…‚‹Ë®>ð‘€ñ+áXÇûjÿ?~ìÁÛ1œ÷Œ?nQ®ÄÜáä; 5ñÂmï“ C¢tíìóa5ܦ0·„@ÑNáªáU¦ ©·U6H ( "Ñœ_ðºuR¿“¨!“ ä¢Ôí¨ ÒKxmÀì… H0"Û°Yx|lÄÙö$¾Ã²ÛGnÚ;HÒmv­ r`/ ÍK‰Åû«ÿ õo½Žö):0Äð@àžQ¿õó-ˆÊÏw|áf ù?ú ª›_‹» ^û&àýíežßŸmãÿ8´‡¾†‘œÀPNÀ4½˜ß?×@•–äêçžE@‚§SÏ>Ùµw æ¶íhzé=G†¾Ãø«ôŸFëqKP­¹ŠçýEÏ}xk,€@‘íF«{å܅¯6Ü ¢ŒÄ MÈDÌ?FâNa5¨Òó!ê{Ÿ:SrÿPÅ1ÏBIQÙÎO«•‚†9‰{?Æ­ŸGµZl°…?ø ê[.†}ñõ ¿ö@"Œ?ü»~%c­VÃì?þ5´‡oÃHA`¨à(!†güT1~æ+ó M¶Ç~KÙQè Ç æf"Û„©a`jËVXv{k` H‹e„)d óSï÷0 V±î5éžóÛÞÏç*œªg•M!D¦—Úª"n°,Ö7&¼fAW}À3Ð(ï€`‘ô<²*$yZ€³zudõŸzçÖ‘ÐuÍ›l¬AðGÉ

    îE9!DëµGõL¬†ãOk§Ê÷Î…D`"¸¿®àu D¶©ETçé8ðWîË& `pH… ¾KŒá)$w mŒPÕÈŠÿÃT±åõ•ºr c]ÖãõH)Á§Ž€iÂÝoá#Þÿòóâð_ú/ÆÍÒó®Âó˜T¥ºîÓÌ0qÏg1M pý»ÜQ×;2ýWV©¿Zä3ó푯at(äÝ©ÄDó^›Oñ)SüJh8gk:§TÆ–‰Àgêƒ;rœóŽ Ë68¾|îiWBP?_!8ùEID q'ƒ8ʈq%RÔ( -?þñbqïp Àà Çy¤~¾,$`Ë á‘Õ7àuI:RtNÌõû\¡¯×ù0"\úØìDQÁ¡ì`Ñ2}I¼lSÂå51˜˜øÞg0C$ð¦w#›Í¶@ ªF Êë«…*íŸþ§ºÆ? r!ã×Tã'JE£šðnHO­“[࢓‡J€ÎO÷Ôz!Àа۾¡ÁÁºõ»‹úYé1 *áKP{0 ¶˜”RÄð;ßg÷¢U{Ò‚vá þ2h¸ÞïÊÜpOF"¥„¬-‚1eóÐ(ý(±« VÎù›”)/ØïM f %0q×g0CùcïB.—ë`4†ö‡=Ëø?÷Q°oÃØ00ä{~]1|ækè(Bƒ†”Ù:uéÝ&2T–í^H£Òßdá\œv2r ­”OýîDTJØ{}>»"îŸ^G#ŸôËBCà¥%0 6!¥dÝÐ5.õDk )cf]Œ=TÚÞÄ2h¨ŠÆ(ŒTOvÂ9‡3s È7A|R#T ÛTX’ˆ,„Ÿ6 b¡ (Í-˜R0q×§1-èõ¿Œl6 MÓ:Tô0õ×û×j5Lþ# ߆ьçùÍí×Ю¢l¥M•x\z«ãÊ<埋`à¿$Çæ¦bµ‹€™¦ÛÖ0òi¡t *¢JSÀ1Ù Òƒæ÷b©Þ},€@T<V_{"±$ Œ¶=¨ü†6.‰EU½€Gl&½?f'çY)ä™jÇË~`/ý‰¾4º>½7+süZ?+¯[w½c@Š÷~Å´ ùæ÷vw¸ª/¼y…˜ûÒGA¾£`8 ¤Í(ÚPt¢0'Uc Ãiµ “J%$ÜÑkÕ2èâlŸ´O‰Ðº¥tÃYõs“!V „‡”ö«9ÅÁ Ùðöé‰"§@qûkRï… @Ð%F„G»yôf’èžB!@x¨q “d6(†QῌÎDm…\*â$õ„.u²1`¸Wi Åb)7öB¸²ð Y‰‘œ[K4%ÍUøSê%XhÔ:B±µÐú/XU Ql;¨—tû|i-Bb²QY©² ¢µô«D€?UìTMúU÷XŠÐúI@ A"òA2Â+ÐÐ'¢¢?Q¼,i¹Òþ6iÚïaµE ¾HÛL)CçVÕ3óàí’Z"âÕ3wøf Ëަôð(6¿ðèïü¨ %òB)m]ˆRY¬ûýÏBßv±[ݧ· uü¦ž­ÿ%öðÒðë"áŸ#ŸÀ,ïsá¶kg2}f|¸kÃ*˜³ P¿Gõ$(!ÛÄí F Š%ô£ ï['€Á–À ç÷{Uw¿ibhíF°4ZÍïðDÝ!ÑP(ÂW½™Ÿî𮙜rúPvh,NÍË›+å¿D¶ïÓZî­:×V­ê=•‹wz°¹óíp~꣑µý½hl‹š ýÆ?¢¼þXðõÅ{3å4u<ÐòËÿ¬Ü×xþk5÷³°* ÛD&ÛõsõEKa[ :Ëz:›¾Ä]£S”õ+‹‰©AJÚªï½ï"÷ª•ÀàPï'Åïv$(hZiMƒ ~ÙjQ CÝ IüëFµçk!„€ä²nÔ.{hVѽˆ¦ç=ýZµ+wð€r—§}_TÛm)`ŸäÏü%4Ãì;þŒcz:‡üûþ¥µÁ’2çm?ñ‰¾h¿L9Üá'ö}˜äßÿE”'/†åýPǵ²–ËP˜í¾~¿3'qá½G§â“3ø­‹äÚ3{—raTSl¹U•HÚ” AÑ2Ê T½‡’6!ÐòÁØw‘QN`@ ”–{mÌna`Ї²°A ‰Âó‚J é­{¿§Íéªø¯G[»¶rÞ'à…˜CKÛóŽE76–^»æÓÅÛŠàÅÞúvÈŸüÛÈ#½á×è&-—˨T*­áøºã¼»‘Fþ½_ByâRX–ÇÔÖi-}Àn3f²ð’køh¶tŠÖ)A-ô]P@¬ÝԳς˜9æ€#â’ˆ]Þý©B`c$ P ´ÏF4‘l5 !‹±¢Z?b („Ôa Á"îh‡ð&kå›ÄO …=Sè0‹¾p$¶XEo®Ûä6RëZƒ_Á£€š€]v@VQwÇuA™¬0{Ó[ ~üoA˜YàþÙ?Øsìæ?Áôwÿ!òQÔïB\&ð+_Biò— 8 €:´8e7ÆwÊ€lº†®e0ˆŒW`Õ†@Uºì4 å™Öy©@»7F"˜"ª@•!¢Êý¶ô¡¤lç>û#öë|cl!Nýï6¦©]0DjÀE(d” !úG•ša*ƒmØêµÝk³r¼Ùèx=ê B²ç^ K(±‘·+ý| À?OlÊ®÷´î"[Ýnìoƒø‰Ï€PÖq45?ÙŽÿI0~ç…Q0¯Ñj\ „@ã…çÀ˜3"%µzÄhQ,@ýû°(…9: ÃÍt)>‹sPÞïÌ&0`À›ë&¸DÅ[íÍOÝ/Œ0‡ÇФNëŠú­!xÌ7ðúµá¤ jí;(/YWj#ãà+·Áá @ÙøštÅ2_(Ó<µœ8^¡ôfúÕÝb³ 8 ØÞþŽ¿oÕß«›Óo­müÿ?Ð~ã#+F%Vîý8jþc,D5%Fù÷ü;Jc¡Yo@6ªîksê^–Â/\r”ö`žÈD;þ7h%@ó¬Kú:µØxa/ `f˜Á¼ÓQ´3l ìü°Ø«uB‘žX) ¨uäq£Ùâö+!äX2]×gûnÿ¥nLåÄ”)˜c«a§u4pI:NªÚqÔ`Ü „¶7‘· HÈszæ©1·ÿš(¥ g_‚&•­¶B îÖø?ï¯äÅ•7 ö†7¹᳭Œ‡ºéÔ¾ú¾ØW¯×Q*•0uÛƒ=wÆócC¹Œ@6#°êÙ¡zÿgP*•P¯×[­¹ý‹¾|Z Ù_ü2Jáٴ!yèø²¯qœ}ègttžÉ§€uÎå­cÀáÏTÕ1¬½OBÓ=ú¯) ¢7‰nü‚P¨l%  '£#=¶ÆežÓñ'vzß®F*•š’î( ÐÞL :4st4 ‹P×ødÈÀCùß 8öfòi¤ÔŒçl1€ð\¸VŠ1¤_s šNû_€ª¶ {„’ A降½ñípÞñ/ Tëø,üÉAªá6 ”J%LíÃÐöÝ„±Q±é¼ÉH°”D:'°zÿÇQè3¨T*h4àœGö¤F¹÷Ü‚ÒØhúR ¥ßhh:°Ÿ:{òç^ø,éLÄþÝ0M€iaa•(™œËè8þ­¦y½“Ä6žƒ‘†:z5è’º®¿˜À€Ïç§,t º 2„0€$mÅên;Ζ¶×Ñ'>ð©(Í,)ms — ë@öÀ£TZT§XB —¿u–qûUtvÉñ½$ñ‹~"6ª¬õo‡ý–σP­tšÍf‡RÞl6]ã¿í ½ðyŒT16\E:]IU­è0£Št¶ŠÕû?‚ÚŸD¹\ný=Õè|Pÿ752Èþâ-(\&Wª.© \éûǃ)9å|3¹ ôÌóF%lZ•2èÁÝ0Sõ&«§ ¦ö“þ Yƒ$€.ý7V@H †Ç({ŸŒè^¼044t0€ÁV1V!„‰KEQ0u£B@¨æÊ Ô §t0²¨Rà{¶7˜wà0Çà~!ðš¢6®‘Íï|3š¶rt5Ü–Œz?aVB|ã ìëÿD3;6c³Ù쌑}Ïÿõÿ ãèM˜\ ŒMé!€dà¶½My—4À²@zX{ô¯ÑxøoP.—Ñh4:ú¨  2Ì;¿ŠâÈh:Þ{¤!KyÛøÕ÷ÎÑ*{®_ø­£Ë¾ WÎ9*O< M)€h‡€î7£ík ºº“t†!¨SŠÔê•$õdRTú¨E†#”Ò$ 8àjŒ±ÃÝľ¸L@; ÐÀa"=¹PØêÛ ÷øë˜CÚñ¤ß7B`:@ŸünÀ(¢è !™k~5ÛÌÝÖ”Ûêø*5?.æoFc×ç!©9—/*Ï_*•0óÍ!uô&L®FÆ=ãOyÆo¸†´÷³ °ŒÓGãÑ¿ €€ú?ÃCJ…€–‚ù“ÿ‰âÐkaq4U}öj‹48—ÿlW¥½¥i´€[›æ„A@Â&PdW­…DB°®‰(ï¯hR‡„v.BHUÓ´—ânvûÙÏP¢CÊ 2«6ÀJ£ÒŽÁçd0wì?Éu³y Þ=Ï.Lc ]‡Zvš¶b$B¤ÁzÆÚ7£ñ†Ï·<¿“û•|á©@Ífår³ßþ¤¦þ+‘Q ˆ©¿©¼ÿ>`) ]Θû8šOü]«X(lþÿW‡…23ãÇÿ ‹…×¶SŸaï«‚hƒ_sýÐVoÍýûßµeY~©  §•¿§Áõø”¶@õˆ5)Sh{(Üš-I{9FÒ×Þ ³TBÈ‹º®70ÆÊ¦iêuÒ®[&@‚@ZflÍ(j àðÊ‚j‰PM@k³*ñ¤FÛé@½})¼M¯ƒMX$S7±n˜ÐßüAÔ,ošš‚Š¢Ì¨N\‡êUÿÂÌØ;ê{oÿï#5ýŸ˜˜FÇ\¯N<W³÷b´Á€¥\¶pÆÌÇa=þIT«ÕÓèõ:˜‘¹þ˘Ï]â‚@Tê-¼%Pßõ{Å?*ý÷k*?|zåÒ)@3”÷¡ùôŸ„¿J¥cQü®wgŠTA¡Ÿ1#;.M¤k Û¥”>ošfÂ~a”Vs¹Ü RÊz\[è¸î+ªHµ™…±v%j”“ŸBTˆ¡ …N­µAøjd¾<¬ ¿þ¿¡¢¯t{MòRϲS@2Š©u@Ãj·ÇŽ3>ßø+• f¿ûûHÍÕ5þ •ó³¥B†¾ÁЀ™@zX»ð7h>ùÉVÅ`XWߟ_7Ðt€… @¥éÎU ¤#RqÖŠóAÏ~}¬ð§Ö$Ô¾ûdÒ€iz•Ϻâýóª Iô©ÎðÙÿð™0Ô(ƒ¹n8|ÊDc[~ÇiTÞíz:ÞN§Xª …YJé ½<\)nK$¤×l@ /8vP¼?ˆ[úô2(È?v,ËŠœi§.f¤@wýª5¯Ë˜mD¥4™@`Å¿‚Ê‘ÇQ«Õ"à U(—˘ýÎï =÷ULLxÆŸñ<¿¢ÞŒé²Rआ7̲#ÀÚâ'Ñ|ê­a\Q–ã8¨T*XØø}¿[zg Ô~ ¶èî¥ñ†uÿ¨ãÁ|m£^Z„|øVdó€á ™š’þ£Jú‘Îðj×§PzUH Š"rë6C’,¤d=ÏÄ1ÆØþB¡pIG ¥e¤”eJé¾~½˜BAˆ!³È­9 |Õ›$J>PvI¦Ú’ö ÄœîunvšÏÜY§zIJ)†¯û”‡¶£Ñð‡ˆH zߎÉ0öÄ»P|é1ÔjµŽ³¾ç/•J˜ûÞï"µx+ÆÇ=ãO+m¼TÝBcž§T.: †~¦ƒ¹"[¶¬)}Ö3ž¿Z­bqÿݰï~/rF™ŒW¨£ ¬!hn¸dÇ[:J¨Ã˲,,Þu R²ˆLÐLkŠá3,ãöÛ‘ItƒIÅûƒB®BþŒ³ I š7ÉŒôþ"öæsF£r ÛØ) Ð4­hƾ~ºîDÂ#„€2 ’¤ Ù0ôõ+QSt€U1Ö:°¢¤”ioÿ€ºZÝ6He ! „™à4‡ô›P$’¶N°<:½šªa 2€î¦ÖF_ø6ûŸŠdAfB;ërÔÎ}ê¶W=çÄ0ÍMu¤0öô/¢xø±Ö4à–ñß÷ûHÍß‚qŸö§”ã±ê)9¢œ–!TéšCÝ`Úïí0”€è@vX]þ[X{?Ö üùó/|üþ÷b$WÃøͺÖ1 I´?ïÚe¿mbsWÏï+ÿ‹÷Ýcþyä³^Cf]}Ìh¬þ‹¢ûQ±¿š”b‘è騧 \«¨›ç+ÿÊd¥F*•zpbb¢™À@5ŸÏ'„ìïÇûG댙à"‡Üúsà¬, æ—G±:LÁµN”ùL˜g<þÆS6¡žHÝùñÖùzõµ©Sy|ù‰?Ây6šÍvgð@6@5É,`üù_DñÈ£(‹(.Îcá¾ßEªx Æ'ÑÀL{yqŠù)SªÃ÷nõÁfm&@C »dòÀêŠ ÅbÅbsû¾ þð¯cx¸‰ñ· ¢¦!âø3Z ÷¬WÁ¹ô¿w|a1Õ¶mÔëuÔ¾ö äò«P…Lªþà)@µ |˜†Ä?Iá¬, °qÉC¿Poã¨ÜŸÉdöãnzʇªŒ±ÆØž¸á›}µä¢ isúƵX$Z»KP”fkž¡(bR®8zðÛh<ÿh䩺°—ÓRY¤öF,6²pœ‰È™k0œYÀø ïBùØ#¨<ö»HWnÃØ(02æxJ/ñþˆjü~ŽÜï?(¡ €ÊüPšk„«ë ¾ïc(ü6äî÷c¨àÁe-B󽿄>‰Æ[ÿL3ŸKTÿÛ¶1ÿ½/#5ÿ, 9ÀHyι¥i(¡Q*8»y}…‰H6ŠTƒ±e-Xz’dЫ7y·=I)}ZJ9‡à`¹­H¥Ró¦iîŽ z¥ýkJ5-N†Þp©&¡îé@©HÀQà{P(Æ/ÝÄHP`3ÃÈó[4]Ý,~h ‚@zõÙ× å²{œ¾µ]¡€g|šæ‚À‡üvŒ#C€©{û•!xð…2/dñ ¿å%Ã…žØò¦Êû£Jz’) Ö6þ+Ž}£MŒ¹À ±Ðk'ÁpKJÕë> š[Ñ1 $ÌœlÛFyêš·þ† ®ÁRªøGÜè‹´ ÁJNž݉ö\ÔA±@tä7m‡$ÃIµNZ’þkD1öH¡P(žâöuÊ4M+ŒŒìp$m㊂ÚÊ;¡&¸Ì¢°á\àÌ ”$ƒ#ýcÿ²ÝXFa¶z†€´DcÁԚ뙆‡}ïZ'êÂt6œCÏ_ð“h\öǨVÜ`,hIñþm>'0> Ü|8 7ÅôÝ÷Œ A&Ã}ѽC ˆÖÎz°ÐßgîÃé 02,06äÒžñ“ʯxÿÚUŸÙðúŽ‚0õ眣^¯cþ«Ž+bhØ7uU¨ôt ¶A€tÙÙ‚j=¼ŽŒ(ƒl™ÄІs!i¡UýeüQ Ò¦Žär¹ …‚À 2Õt:=G)}2*ˆË0¦C4l1sóÌCGBx›^Èø©1f¡ÄõŽDÑ4´+ìRn¼>qÿ_¡zldV@Íå_†^÷û¨ìø-T«(óþZ^X¶iîHpÃP?õx«Oùý—Aƒï8E"Šc|KgÁ®= æ¾3ÕÜÁ¤üÞ P»ø£ÀÙ?ßÓøýÚ†Å=÷ƒíþ †‡€l )5Äñ¼¿_ÿÏHû±ðo 0"h‚`è07oCF]úÖ—úµ')¥»5M;z*çÿO žÉdfLÓ|rÐ0@e”2P–C†‘ßt>ê“èQ͵3žcáÕ&-:íª:k®eEd¾ö¡VºL­—·m;²ÕVaן ¼ñ=¨U•APd$‰è™wjBßø7˜>LâG¥·#ÁYÛD‰XHÔ‹š¥òø~“ýÆ9¿yîot„hœó@•ب4;…ÊMB!'0”t3”™ðÃÆÚ5ê{Ü mô½…h¨OahËk È@ÌHño@ú?}ªÇÿ§ @×õâÈÈÈý†éV¸ûN7pÅÀXn ô-ë1 M'·ŠSHdšHùC!µ‹Me𥀱¹@|çã­;êòEÂð˜®Â›ÿ•Ϳႀ­xO•Eµ6ëøFC'ßâTO‡NBÿ B=ïS1ûð`.—ûîÐÐPãt°­Ó€j&“™cŒ=ÄÍ’W+ðÓfÂ!#Èn>åB508jH•PC€€:O•úsÃ0L`åÓŸBmïÝ-=@(ÿ„:—RŠüþµó>‚jÕë$ÌCÞT„Œ.žåIÅ ¥:? Ê=+Sz¥h_#8w pNBÆ\B^œ¡~Ñg wüVÇüA?¿ž\\¯×1w×`¼pFG€|Á=vÝN¹’vìï³–Ö9 ßáIùŒZÞ_R”‡òÈm½é*þ©áI\À{B×õ#§zúï´bjCCCÇS©ÔÂ]|Ô±á00¦PŽÌ#5yØÙ06Xgi°P<¯D°·œOý¢ ¿¬V=ÇÏÜâ TZ`òŽßByê`Gs ­ºúpLœ»ä·Ð¼üFTkY7;`{[J*€ #<0÷@@r·!§ÞmIoÿ,”‹ÿ|Ÿrøƒ+  þtPyq>¸ûz%AýÊÿ6¿«£Å—ãG‰~ Ï? ~ןadʆ_ÕØYŸy)"'•„[õúa Aó0À¶Ÿ‰ôä6€ P=Vü‹Úk¡½(4M»gÅŠGNú:(¥å‘‘‘Ç !OGQ¯~t_ MÃÆ²›/@q(Št»ËÖ‘ˆŒ¤êi”àYcÕÜzz†@8À   Ï¡pÛ¯¡<7Õ´Ú‰Ÿó3 oýJtì†gŸþE¥Ù\¹¨TŒÝñ.¶›oŽ¡‹p¼Ç=Ã!ÃqBÿÓ Š|>Pñü%h¼áµoŠ=¹eü‹Gö¡öᅥát# í×6èŠñSïì£Á_¬c~{d¨ä¿a( åßz…¤¢õ]÷Þ‡„gr¹Ü}§òñßÓ€j¡P˜bŒ= „ý‚‘g¼” #‡`Nž íì˜%,I¬Ùõú²‚#JÇ[?÷½‹Š²`Û0/ÐRÀ„õ Ò_{Ê‹ópÀ¿ÔëõHaP; æ ?@iòWÝŠA[14;dŒa0‡ -zÞ9Y\v2 ¥d"Âø¹rŸÿºkÃoÁºæÛ ¹u ìz¸ƒQ½^Çâ±(}é—1D§1:ìæü©zàG#.Ðúº‹:ü3J´‰ÒI„;9º)fa@ß±©Û]ñÁÔ__Ó‰Û{P2ÆÈçóOõÿ´c¹\n¶P(Ü`Jýðã΄ÑÛe¬Å2†ÌÖ‹PFz›´¼‡'ú'"¤šK… ´úÏi­Ã¡»©Á•õ‡a|ý·Q.-Ê…[éO, {Lfd‘½æoa_}*ì<8„™Ý6ì¨x]F…ìôì­¿¯þ_ËóúÙËѸöˆÿTKu¼ÿüB”ç/ÍÏ ôå_ǰ³ã£@¡à5ûP‡}´Ê™IˆþÇ ¶!mDÏû”¡¡21ŒÜ¶‹áÐq€eA©ÞW㘽7N§¿9111ºÐÿÓ  2::ú!äÁ¨/!ŸEé.h^aÐŒ‘­`gŸ…˜hêih!=€Ã;¼¯¦â¼Š:©ù9sÊõóÐÝÖ0ÕÅï@»óQ.-ƆjÓ õõ+/†ñ–ûQÝöIÔ¬à Å8Æ)ã·"ÀÂŽ-å9>ð”ß‘Êý ÈH}¬íÿçuß>·ãuû‚§ÿ¾Tão4(ÎÏ øï¿Š|õ×øó^)q`ª÷Ù¶ šH°ô—ÄðÆPÏ)†¤˜‘´ígÃÛÐQZ+õÿGÅüê…Rú`>ŸÆûÄÀÉ jcccÇÓéôw…5µo}\Z0ê mgÒ°Éò[¯@sý ‰’×àEg–,°“ZgË•~~-=¡Á9^• ™ÖÌÝö­ßFia.2EhÛ6jµZt ª!½ã}ÐÞ±µ³>…š½Žw}„WnéNÄÅ ]¢ž£KSù ô°v|ö®=ÀÆwGv*B Z­vúøÃJBùß߃|ù1LNC÷¤Qz-¸^ßVFÛ>Z‚lD}DXÆñ¨¿Ÿö³Î\‰Â¶+á`„¦A©é0º¥ýüÞŒBˆšaw¬]»öpLŽ5€eZ@mbbâw« Œ ÔTcîùVAò@z-ô³vbšeP Žšñâ$:íægükåL½×pƒ’Ž&ÄpsÚkËw õ_Eiî8êõzǘn)eÀp†E5©sÞ ýí?Dó‚ÿD-s=¬ƒlDvSñܪç!‡žþ] €Ÿ|¬K¾¾ë13ß BµÈa>…½©ÿÂáçQùò»Q¨?…cÀð ë¡ÓŒ­æ%´ÓãûÊ? gpTµ´ÊT$à MÃ8ç|ôZ@¡†×<†D~·¢O·ydhhè^ï:­@;Í@¨LNN;vìØ·Æ%œó´/.©eÜ´ xQÿ¶?®KÓ Ø" ãÈo¹óÓ1·{RB€Q鎽‚H5^fÄèÑÚ”Þ/H¯–ÜžËÚºÛžouóÿÆ{°píß 7¹™Lº®K½^w[Šg2­¦AWÅ`¬Ȇ šóh¹òÈ×ÁÊ?«p›q„çt[2$„J@f¶‚¯xÄäu «ßIS]çäøÍA¢òç~‘OùÈ^X_}/†É&FBÎ3þÀ?¯Œ™2ïÚ›ÜÑjèJÚñ}øôfø˜ƒ$°Ŭ4 Ïߌ–×Â& 4Ó‘÷W‡Ìú¯[½øÌÓrë¦i~síÚµN—Üÿé `QJ+“““w:tè)!Ä%¾zîÇÓþ0 /6‹Lëø½Õ!d¶\̶KQšžAnê84)a"ˆRà IíæÒe ÞTocú}éZ?{E6´A L ¬vöÀ¸ãç1uÑGÁ7_‰l6 Ã0ýñ|6 iR©Tì{¢æ(ئŸ6ý¬»q«GàÌ> R;”Ÿ*û@EÑ¡ÚK öŒN§Ö@˜+Üt¿1dÏ€ºÈ®½$5HÙL''G…4>(4›MT«U”ž¼òžc4UÇØ0PÈzýýt½½‡^’(™”œjºODÔqøÔ_HØ’¡¥•cÈŸ}9²Ð –ßQâqí5þxzxxø[š¦ÕN7ﺀP[±bűãÇͲ¬œóŒÏT #¹š MsgëÙ€#†aŒžmÛK˜š-!%(‘Єô@À;7Ï¥"@©%³Ê4aÏ3Ü;!¯¨F>yBÝtö8™ùÐ{qdúýp.ù²Ù,LÓ„¦i}ø+• t]‡iš6ZQ‹åÖ‚åÖötöªhN" ;ü?ÂFâ+ùQ†¯Î'¬–QþÞGa¾xF î1æ\Zé(×ÕÛ¢_䈘QÈ6ƒqÜÔ®#(ªBÃÍÀØq!´‘³!è(5Ý´pCŒRý[3 ƒ±ÿm«W¯>x:zÿÓQð÷m]Ó´ÒäääRʧ¢èYœV¨c`šI³°0¶+ÀwlÆ´4ÐÌ­£žÀ£)²»ñˆ2x´Ï ¨ÍýÔNBŠ&`¤¡¼À†ÃŸûæ¯aáè~”J¥Èòa?¶®T*(•J­ƒEAfCzN±éwÅý=?–/‹¨T*Æï7 õ'Íx å›Þ‰üK7ar˜óÔ~¡~TÉõÓ`×"I‚›¾Á·Ô~(„ò«˜›‚aZ;·bhÛUàt ™Há¯ÛqßðÄdOŒŒÜnšfùtJýî  ¯Zµêøôôô5”Ò¬ „•hŸR‡;ÙºZ€;nK €¦X…ì9W¡R\ÄÜK/AÂäÜM[é$ÏÓ ò ªÏ­¶S4xªjžš&ÛõžÎ  «gÔ€…oÞ€é-ï‡uþ»ÉdJ¥ iZõ÷ ˆ@×u†ÆXG{íAÁ n¦oÍf³CÕ?ÏoãU-- öà?@öFŒš6FÇ\ÊoÁC†-ä·4"J³’ÖqmÒY-<ð¡´'h Š9©£º~ rg_K®´!0-Õ‘ö +þQñ¿âhªétúæÕ«WŸ–±ÿéÂcåU«VÝyàÀ7rÎ_¯|ø”]8 Ò=¿6@œŒÀ(œãœiÌ+0Ëó…„.$ˆ@óŒ×‘ÁöSJ>ZQ§ýzÖz¥˜ß÷zÞpL&ÜšQAfÿ_bæàW±xñ#µö¤ÓéVX ªñß“ŸS÷Ö4-ò¹ƒ€:b\=±¦ÊþïøãʆKùŸ½â¿@^ÅÐ(PÈ™T› Gsy†ßû¨°¤=nX5|î‚$AêïxÔŸޤ( s…¤v\ :´œŽ‚±t •Uá¸WµŸ€žàüÐØØØí©TªrºzÿÓ@}õêÕÓÇ¿©^¯Ÿ/„õ¿¤¨|´ÊTãwY€!t8"KŽ!µöBÔÎÃÔÀyÇ‚F½X_o z­ÂO_ä£DLéy§V=OÔ¢^> 2BÃkø‘j<òý¿€©‘7bþœ_Fzõ˜¦ÙbnU#‹¥­Î Œ£ôÝJ^ã°–â„jøõ÷ÃyüYxù¬{ '—rÏóÓ¨¡nÅ~Ê„(‚Ÿvù‚Š}n*Ó‹û9A…»q?;ï|¤Ï¸ML‚Ò¬;1*fYœ÷Ñÿùt:ýåõë׿t:{ÿÓ€:sãÆßûáø ÎùÏB´~X@ÔØ.MÓ]Oæ Á–ùm×¢X-âØ“OƒJŽ,çÐ ]–êx¡€êõáõ¥‡BWýA•\(Q€‚»Ï‘ ˜xõ.)êMºñ-”îùæ³—añÜ_ƒyÆÅ0 ©T †a´<½šöŒ£ó½š¨v TfàŒmÛh6›®ñ¿ð=ˆÝÿ„tñiŒd€ü˦¡t¦ŠÍ ¯½ô(¿ôb}A‚j¿ïé}ºïWfú÷9²U´$¥küUÁpL¤ .<ÃÛ߀†\¢ 2”²Xê߇÷w(¥ß\·nÝ7ÔNgïÿj`@uxxØÈf³_)•J×rÎ×DyĨX8 Œ1áf/ ‰ÕÈîx*µ¦ŸÛ‡U²†4˜ÍÛt-å_1|(æÑ¢v×ñ  ÕƒÄ›¢©)©BêNÎR&Ph>€Êƒ`þ‰sP^s=j[ߊÔðJ†Èt£þýx÷(%_U¿ÇA³ÙD³ÙD}ö ìg¿zðv¤‡Í…•.Õ7 …î¡¡ªÇWÒ¦ m€ ¿ïõ¹l‹²Ê!&É ¸CÐp(¦Em›0´cr%À†A™é–÷èóEùý‹b*ŸÏy|||ît÷þ®œ%åiÿêõúГO>ù+œóßcŒet]c¬E•}鳸¢ƒÛvuhrrq7j~#_ VGJ`Lº ÐêïubRéM'ÛG‡‰hw¥%2¤X — €»ê øÉ‡–T@µ”F®ßðf°3.ƒ^X ]סëzKƒa7= ®çç–eÁ¶m×øçÀ>p/ä‹ß€¹ø$Ò†;$“Ò)÷̃’QsŒ„(Ã) < Kò=½z0ÉQâ~G‰ûýóŽgü‚bÊIcqãzd/|ÈÐyl%¨–cFà»WYa¸¼WÕ48ç°mœóš¦iÛ¾}û§r¹Ü,N£S¯VÐJ ¦Ói}rrò¶£G^Á9CÔœ¹¶—o…Ã?·.¥ V8éóëX´¿zä(&eiÏB‰&ÛEB¡[jQïü%A– •>ý’z@ ÚSmÔ?Ë]º©33ã¦ÑF?@ý‡?@õq ®Ÿòøk€U—‚Žm…6q(¥—8ï¯Ö»·b^îÀžÚûØnÈã@›{º=ƒŒÇJ²+]Šošn%U½½ ¥îIàtgü¤Í„Tš ýŠñ«žß§ýäMN1#RX\³ é×€Ÿ‡¸µþŒJʨ¸?|öþRÊûGGGoÎår¥Óú¿š^n­¾qãÆÃ ÿ\«ÕvpÎW¨ÅA*¨ÈÖÔcÃRàRÂ!“ÐGχy¾…yqÈñ)Lpüú^G±VÍóTD¶;ûeþUÎHÚ‚–ûíLDàšp—phºkxrÛy võ%4ž¹M °l i¬Ϭ„È­‡4r@þŒvë?„ûžÈ…ý€h€÷UƒZ3Ð(1SR×ÃÌ5x¦y-Ô1\¾ñ·¼¿RáÇù„¶c|?îW ^­À”¾ñ{L@(´ß£þu‡bF¦°°r%R¯¹ÚèN8rDËAÓÌ–¡‡¿ûn¢_¨èg*›Í~~Ë–-ûqÖü¿šC%‰Œ<ç<ýàƒþw!ÄcYMÓ ëzKéWÀ¨u᜷m[ÜD†< ëØC°¿cÓÓ˜  ¤Ñ<&à¦á•Á¶Úmg(¥"À»&Q=ûB[N„rážÔ à8n/AÇqæÒ Û½æ]½Œ&m·6Ðtï,Ž7‹€zšÓ”)ÜSxˆjøŠÇWE¾VM?i5èlóå  Æü>í÷;•Y´eüs“+`¾æj¤V_†&Véà Tcíï]n1¿_Ëà…UÆØß^|ñÅ¥iZÉs8HÀ)&8p 9>>n ýÇüüük8ço¤”Çqé2JiàÜ@-ôÓ4¶”Èëa®ºRJÌ=y/äô&D)Gx¶í¹V¦0é1Ýsá^…°+t©l€*Ùf-&à]|ƒoý ÀF `P¥¾À{ Üó–­è‘=ü[½6=ÆîŸp4AQÓxáƒF~Ξ(BT–£NcRnÉ"D9†L¢?î6DᜢÁ=Ï¿b%Ì ®‚¹êR4± „ZƯ†8a W'-Çx)¥¼'ŸÏYÓ´Æ«Aø {ÍÓ“ºD¬o¼Ñª×ëõõë×6Mó3Bˆ#ŽãÄæs»öc ºn¸Í"i ¬Bjõe0_s-æW­ÆO£.N …¶:²]",ØRIaù›¶ï“¤KÖN‘AófaëŠU*Ƨ#Ø ;\nÌ\o®§ÜÁL»GQ3ãª÷ºé)øZèï†'· öü!"þy^Öþçœ\=ÉçÝnyuEèóÅ>NÜÏÌŽ#ýJNQç S<ùÕk`^ø:˜«.ƒEV4¦µÿ¨ÃSj߈˜\?¼½s$•Jýßµk×øÊW¾ÒðœHk%!ÀËlô½žsÓM7Ñë®».§ëº±{÷î_àœÿ¿Œ±a?+àg˜¿Qâq˲à86 H^‚i8³£ñÔ½(<„IVG–pïT›PÅ(e{Þ‘S€‰T<ªhŸ$ÒÕÔP!Ðö[éwT»p¢ÐuÙ‡[?7|§Õ!ðÚŠ¾/t:áF¤­ð‡)¿T¼¾£€§jü‚À±Ý<ÿ´“FùÌuÈì¼lô|Øde‡ñ«Ô_eyaµ?,úyªÿ"cìÿÛ¾}ûç9Rݾ}»Ý£f"9 øry·õ3?ó3ò¾ûî³Ö­[§Ý<55µ•sþKÌð&—G5ål}PšûQ9@X–C _„Ì…Y”ïÁy~?V’:rp {Dü!:C-4݃*FA¥ÒWÀ®„ ¾Âæ§… Þ¥£Ú.dØÝ’ªÁ @~ØlÇeô~:Ï!í3~åž Aý"Pǯxz¿‘GHìƒ °mŠŠ£aJ¤QÛºÙó^R86&škøì‡êùU`‹}~ç¼ àßGGGÿëàÁƒÖÍ7ßìœÈÞ=UÁž*F”*<à ÿøÇ­ãÇ×s¹\9NÿçüÞˆ‚ŽÈS^Q½ÕraÝëWE´<,9v wñ hìܗÂ0Ðp(¤M½S„>µ•^;-o£Û°=é?®¦¼ÔpBR7ðCÁá)ŽÒçéº&´.ZûTê¥I·OQ1h?Ž÷ÿ6óþ.ñþoàÚûõÒuþ´%ï6'AU¿54DúlÙ¦üiÇûŽ×ÙÜ¢hØ ÜÀa’G}çvä/~;P86Y I³ÐôT æ×<¨¢_84ŒHûÝ›Éd>§iÚÂÍ7ßÜüð‡?Þk/çõ…'ðAôó{äÚk¯%ýèG3###ÆÌÌÌ…Žãü-cl‹zHF-¡  u á{ )lHQ• Há(ÊÏÞñô“˜,/b„Y0wk"?û³d»Ýµßâ*ĨÛ' ¥’VóÃ(eÄþã ÷—2Ô³@ù®ÃãЉ:t¶ªå§údûg•ê>G4†ÇÀL~tûù(œý:4É*pŒ‚Ð44=øþÂõáž‘ª±ûïÿ¼®ë¿™Éd¸å–[jþð‡ûþ–dH¯43ÐNÃ'ƒ>ç®»î’=ôPóòË/'º®?bÛöŸ:ŽóVh¼Zàošpk1• ¨ÔRâ^8ECêÈžõF4rc˜þáC¨>† Ò@º¤ R¸ŽÕ§øš ûÍF˜G{Uð¯}cñÑÐ?)Ûui>¨F/dtª.j¥ëH°*ýrËè•¶é‘GvCJ?¾PXôæ”p[RÔ†žByÍ*Û/EjÍE¨c$¡&4Íì8÷Vý»ì Ñÿ)ÆØŸäóù÷îÝۼ뮻DèÓ’}ì?9¨=¼R@ð²0€žôñ˜ŒÈûì³ÍOúÓÖ3Ï<–T£F³’> ¿oC{9Á@;Í ¿›vA£~ç_þå_x:v¶lÙB5Mûr6›ð>)e&î<€Zf*[Ð4­Ý†Œ¤Á%…`´|C­@¹p/Ž?ÿj3³#Í6ÐD»>ÆïÈ ðY€?ô‚ɶÑ15 Á6ZêSõ)ɶ‡&1{Lmº·…£pö2|•ê«gøEÈë;¶ ¨ †9žBir lëN o¹ ¹¡Pf@ÓôŽ´m/ã+þ Ô8石,ëˇr¾ò•¯8Ï<ó "œJ/çgì¤_ x9YÁIa>ð1²”Ç7lØ@Þ÷¾÷™«W¯6‡‡‡'2™Ìïhšö š¦* hOb=™@+ 1ÎmPØÎ" 2gáY4÷=¶÷&d CÔ‚Á4*ƒ@ЪT€ •e#m ® 4Ô¡8¾‡Ì×??n;ˆ ˆ›ìƒ—1¿QfRº†ï€ÂrÜ&3È@l;©-—B=–œ€$î¬0ÆôÏß©EQ~Õû;Žc9Žó/Žãüõþýû~ñ‹_lÜÿý"â‘=<{¯Ç—Ä N&,;ôiüËiø¤Ÿç­^½š¾ë]ï2ׯ_¯Ÿ1<<ü!]×RÓ4ª6×ðEAõ:ª‰FÔLç·@e TÎÃ$³¨xξÝHÂ8µ§L]‚PÙN©«@¸ù¨šQn‡¨>EtßL2 ¢"{lñ(gôèbøÞcBP4‚270' ÔW¯€¶ù<äμ&áÈa€å¢AÓôÖ¡žp3Õð£zù…³@žñ Û¶ÿ£Z­þÅž={Üu×]oûÛ¼—/'œ,XV8Aã'ü¼¤Ûgu{ë[ßjŽŽŽ²M›6mû®ë7ÄeúÑÔür°¨Äl@”¡‰Yëjû„Üÿ,òó‹e²Ì¡EA Q&  ©Ú =t@9UöðþB |šcôêý²Óð-NPu4,¥‘aÐÍÛÙt :6Æ i„ L¥¬CåïÇó«ÆVümÛ¾uqqñ£=öؾ'žx¢ùo|ÃéÓè— ÝŒýíe2|2 ÁÇ=FNž}öYxzY\\Ü¿sçÎMNNjÞ ¸Å>Žã´‹„qÄm:ÿ1!„Òª[‡ œ3HÂ`Ѩ™Gfûøšm(¿ø8Êû_ÄPµ„an#C膓Dó†’´êí•Â5…ÅèIH¸SS†ƒg¯eÈÈU¯ïâð÷c”ÑK¥C¯R¼(AÀ…íÔ¸†E©£˜-€l<é3/€6²Æ P¡éŽÃ<ݾ‡>z´€À²¬¯OOOìÞ{ï}áÅ_ä>ú¨¯œ,Õèe„HHúôþ=³'C8!°DÃïÇÀãn“‹{Ù¶m»à‚ ´t:Í®¸âŠ­«W¯þÝt:ýÆ 7Q™€oÜa6N7E÷’·Aà@Ø5h¤s°æŸ…uð)àÀAÊe˜µ¡ÙÒZ©wµ•– ¾±ÓP90‰º=`V¸##Ø€ZÙ§öãWK|eß!pˆkø¡£$t”ry37ÀÜpôÑ­p0Gæ–¡3ZºL8 «Š·j( Žñ¨‹¬×ë·OMMýÕ·¾õ­½‡O=õ”½¸¸(zwÔu¿Å=¾dV°@p2`©^?ê9½Œ{ÇI>Ÿ'+V¬ ›6mÒ …½æšk6oܸñ¿§Óé·3Æ4Ô îqT>u3¶CÇ=Ê&k`¢ÌÃY؇ơ=ÀK‘ž[À0uÀ Œ 0H&ƒ­µÔ˜¿õIHTßµìÏuÄ6$:Pçï…‹|ü»mé½%)*\Cj#à ëÖ#µ~´‘MpäR¡Hè Tk•óª^?ª£swÐm§ø”‹S¯×o9pàÀßÜyçÏ9rDìÙ³Ç)—Ë"BÞìfàƒ<Þ8 ¬¼¢p‚Æ?(Å'=nñešj'ºÀÉõÉÉIzÎ9çè†ak¯½öŒ;v¼/›Íþ´®ë©0PY€‡v£6¦Ú - (CÃdý‡÷€Þí𠤉d˜÷tž1ƒÝ2|å‡A ¿…Œÿ€vÑ‘P<=ÜâI(n×P†’4á¬[»™u炤WÁÁ(’¡:u;‡êº­â€6\Ý×)ÆòðŸF­V»é©§žúÌwÞyèØ±c⥗^â•JE…1R:‘óˆúT䀱,≂À’` Ô?–ŽGäV#›IuÙâý€DÔÏ€c6l`º®Ó+®¸bÅå—_þ ÃÃÃïÖ4-¯6ñèaTû±(6ž*˹Ó^%Uè(ACµ£{`8v úÜ"†¨´äH:“ še¢¥8ØT?9Ù#8SèlB¢D~m‚p(8„C`K‚:×P' EaÀYµúªMH¯:#°‘‡Y-0|ŸmEØë«Âk\ÌÿÊ‹‹‹7>ðÀ_üîw¿{|jjŠÏÏÏËZ­&"Œ[öiÜq-Zd„. "öº<f°, 00 èùO$ŽïeнX‚ $q¾‘Àðð0›œœd¹\ŽnÙ²%wà 7üÄäää ËÒT•* Tá¾~XÐö^ ¤h€È:4R“%{cÏž92= 6³ˆq¡)pÄdÌ Á4€ážÿAgF` @Fú-·÷ž¤\\páÒûj’¡Â5ðÉa`Å$ô‰ H­> ÐÇ`Ë<)@ ”i „ ˜†E¾n­»ã |Â9˲榧§?uóÍ7ÿç³Ï>[9|ø°³°° b¼ºzTas 0–¢œ&p2àDcùnFßíqÒçãÇ …+ $“ɰL&£ýê¯þêë7oÞüÁT*u&¥”D±¸4a?@àÇ© Áëxà ÔÁHLVAù"š³/™= gvdvF­†´äHƒ „C‡%Òí5 é¾AÍ‹D;{@" Þ5ðÖ®w\åÞMá»Þ’ –ðŒ^0ع 09 6:cò c!Ø8É‚Ë<$ÒKÐ@¨æNeŽ¡ú5ü~êú½Û²Ñh¼¸ÿþO~úÓŸ¾£V«ñ¹¹9^,y/û|¬›±ŸHh0hxðòÀ  JÛy<îf¾8ȲÙ,5 ƒ0ÆÈ»Þõ®ó/¸à‚_Ïçó—jš¦‡kâ@ Üv\U­Ã£ÌU nnµë¥   0Rs/²i- 9wÎâqðÅ9ÈÅ"ÈbZ³ “ èЩ„&%• B‚·æ€@¶;—ÁïÇA $—‚ºÞÝ!žÑ ŽaBç@†‡ÀFÆ  ¯€9z¨9N2pD‚ä „ª¥ ½1ÈÄk¦fS¢2*áVÝ*xFQ~ÕëûÕ}å·+•ÊO>ùäÿýçþç'¯T*¢\.󑆽ü  øx/XªF°dX.èeð²ô 4ôíaäèòX$€d³Yft]'È 7ܰþu¯{ÝOONNÞ ëzA=8Ô DÍï ‹„*¨A$+huÅðâÁ 0ÒCM04!ìœÒ4ìò"D½Q¯BTk€ÕêDÓqÀöjp…Òª\g º¡k 0MÐL4Ë CË@σè’‚„ Gš$„ív`!£W½{\ËvuªQÔ°Žnž_õþ¶m—fffnùÞ÷¾÷•[n¹å mÛÒ¶mY©TxŒAŠ.Ü ºêWOˆÓ ú„—bŒ¿Û}Q-${©÷d =Œ»—áÇ>O×ušÉdZ?oÞ¼9ûîw¿û[¶lù%Ó4'5M£QÚ@7ˆ‚¸ð@†°^à~g* ¸]3(±!… JlPÒ•6±Ý£È„ƒ¶:p¸:DÙGÒïÕGÝnò‘A‚0àEKAH·)ˆ„ êöJt•^LO:(¾jìjgÞ¸óÝTþ‡zD³ÙœÞ·oßçn¼ñÆo=ÿüó°m[Öj5Þ‡÷2ö^Œ@,!t #Hˆ¼oPè KýN$ÆïæáiNŠ ­çêºN¼³yï{ß{Á¥—^úsãããjš–Ž€(Q°_ SßpA5Œ¶ .”ç»FMˆ RúÄ^B Þª Þ>u ö¤÷ºÊ˜Ã^œÆx7ã§}°‡Öëò@€ W^yåä;ÞñŽÛ¼yó›¦9î(ÔOHNö¾v7Á7ÜÝXJø=«ã½»|ç­^õØêHí8 {ú¨ŸÃï1Žu‹÷Uão6›sûöí»ùÖ[oýæÝwß=M‘¶m ÇqzQôØÌ}<&b؃è3|@û1 6ð²@?Þ¿ªÆßËÈU€èõÜ~A!2DH¥Rq¿ù›¿yé%—\ò¶±±±š¦¥âô€¨,A5¿×HoÕࣞž’gÔêµjÈݱökôa‘/ÊðcŽô6æææž|衇nû›¿ù›4M“d£Ñ}ÆéQÆÞËàã <ÄDô™B„Ë®Nj°TXNïO»6" ¼Ð`]~w Œ±À}ï|ç;Ϲꪫ®]³fÍÅ™Lf8ªdx° —`Øïeôá#jhh/0ˆú¿ýü¯A _½ÔjµÅ£G>tÏ=÷Üõ¥/}éÕ¸8çK2Þ(c–}@øqt q*°Òe^|?Þ¿W±O¿¹ü~½6íâñã‹^ÿ§/}À¿¬\¹2ýs?÷s\xá…×LLLœmšfºtcKƒSeõ2úA¿ÙlÖgffö<úè£ßÿò—¿üرcÇê1tZôÝŒ6ÊãÇ@Ücý°‰¥¡‹H80,',%ÍÇ“.FÞí1ÖhÖ0ˆp›Fܹsçèõ×_¿ó¼óλ|bbb‹¦iz7 ˆËôƒ‚B/ñïDž»TÃïeüŽãØ333ÏïÞ½û¾o|ãO<ùä“säâEŸ@ÐËÀE6Ç(ºB/°ðŠ@?göû^ׯ—ïÝþNœ~ÐoÚ1’Õ\|ñÅ»ví:oÇŽOLLlÖ4M‹cý°A€àd±…¸x~ÃïæõÕûÇqfffö=ýôÓßqÇ»~øáéSxÝbün@wé½À£ õ2þ~{ ¼¢0h9o”ÁÑ—º…'þí /¼pâÚk¯Ývî¹ç¾fåÊ•›üÐ ÊðûaQ ЫÚp©€6ð¨*½~?Îã«>Õ?~üø¾§žzêñïÿû{yä‘™>èr/èEÓ_K€~ˈ—Nþ÷ýPí^†«^XèwÙ€Ð-ÔˆK=ÒR›Ø¾}ûÈå—_¾ñ‚ .8oíÚµ[r¹ÜHÕôbªò¾Ül ›ŠWŸÐËëGA¥R™?räÈó=öØîûî»ïÅgžyf¾Ï”™è‘’“}m/à¡¿Ã{…è’5è— tóþË ýÒÿnŒ Úß zx7pˆúýAEÁ¥@ëþuëÖewìØ1yå•Wžwæ™gnžœœ\O)%ÝØ@¿@ÐK4\JLßâ÷¢úqÕ|ŠñËéééƒxþž{îÙýôÓOÏ:t¨2`μôCùyÄc¼#èý0€^ ôׇà„XÀÉ€¸ø?ŽR÷b*ÅïƒD?!AK‰ô¸CCCƆ  —]vÙ†íÛ·o]³fÍ™ÃÃÃqš@\]}¿ °ÁðD?.æ_\\œ9räÈ‹{öìyöþûï?pàÀR±X´Ðß±Ú^5üý?”_tˆ¸Çz…²K8'U8™ žìUzK—‰°dtãïlq`H#R§tõêÕ™Õ«W箼òÊ-›7oÞ°fÍšu…Ba¬ß,Á Ú@·Iƒzý~cþR©4wôèуûöí;pÏ=÷<ôèÑÒÑ£Gë¡Í+zlúAR}½D¾¥0¾L @ wi2Aÿ¥Â§4 ¢ô+Ò>¼<‹1zÒN&èÖ¿€¦illlÌ\¹reú’K.Y¿uëÖõkÖ¬9c|||5cŒE@øhír°€~Õ}_ˆÆÁggg9räðsÏ=wð¡‡:855U›m:ŽÃcŒè¿lv90L½ØA¿€8 €S Ð…, Ôç0Æh¡Pг٬±iÓ¦¡ .¸`ýºuëVNNN®_¥ëº~¢šÀ …<Ýh¿mÛöììì±éééc‡:þøãØ¿±R©X¥RÉæœw;¿Tè·&?€S N$ K²Ä¬@¯,‚P0 ƒš¦©¥Ói¶zõêìöíÛW®[·nbÅŠãcccc…Ba,›ÍæO”ôãý«Õj¹T*ÍÍÍÍÍMMM;ôÒKÓO?ýôÔÑ£G+Fƒ7 nYï¡X÷çö ЇʾÕ_.Áð—ËuZð”ôPÌûÒ§ÈÇúLöÒzw:Qˆ« ŒM½Bˆ®ëÔ;€DR©Û´iÓȺuë†&''‡FFFòCCC¹l6›Íd2Ã0Ò©TÊdŒº®ë”RF½øA¸‹Û¶msέF£Ñ´,«^«ÕjÕjµZ,+ åéééâK/½´¸oß¾ÅF£Á9ç‚s.mÛ–Þ&ëgƒöÓ\s è]vÛKä}¦ûÑú­è¥ ‡ zJN  ßBŸ(ŠOúd½Ò€þßC—ÛÝt€(ƒ¤y·"«¨Ç»Ý×Ïc赉º<UŸ>(Ä‚ëaáP=uu»W° »„ƒ œ´4à ³eI"þ°PÔßèÖ'=ÜI }„XEIz¬} =/|;ü|ŽÞ­ÌTÚþ4âu©G¥â^ÉÐóÃöaØQKÄ|FB¹/î€ AðÈkÔcáÛ}Ïý2‚~ÖôôSmt/óú+ïí¬½Ú Ü¤”²áaÃ]Êèɸ)õýü~ø‹ ‰1x±¹%:'©?˃“‰ˆÔ¨ˆx\}M"æ±8ö%bž³´f½7V?ºWåÚRC€^…@ƒ–wƒ^ž[øYÊ.?ú}œðDáe™< CèƒöX}TN™v‰¯¢††HD75íõ yܨæ'@gkò8𝲀(f%Ñ9a)îoõ»ÑH—MþžH„QÇyÿ¨ï/Šˆö‡>¼ôr’‚ÁRÚˆ/‡á/ÛÒpr—è3.•1´'®…s¿½Ñ%œ!C”FÝ„M£}ðÐëä}dxÄïv3Ö—[è¦ ô3!·ÛäÝ~S„ý0€A/¥À 3ÐGØ2¨3}Ù@öÛ÷Kée`Д–,H´œFPwòjý¶3Gôw¸ªc''høK¡þ½~îwñõÒxú©앟_ ôóX¿¡éC;8av u‹úÔÐCÔëõû´ËßT?¸ðàkÑ%&Ž*«¤1‚¢Ààå¾'qFþ£ ½t€“'r\¸Ÿçö«]ô úe^Çÿ', O« hȨÃÊy7C‰öââxÙƒæ‹èo( лÇb¿ª¤»@/ãÇô¿—¡õsRpP†Ð+— EO$Ü:am`¹4€¸Ôé“ D='ê@D؈¨Ë`&B^_„h<¡øêÏ|ôWì3è'Ëóã7Þ Àrdº1 w¾}©eĈyN?^½W¥é".«¨õ¢]€8£—]Ôâ¸)º(ê"F-—*8"Ľ¨\;Š.31àqß.Æß/ Ïm©£Ú1øaKMýÏ$D¬Š°PÀÀ-¿ÐE¨î—1uýnú p2³quÝkà£>Õ€iè1ÒH Süðëè¿Õ×rÀrÄû/WÛ`¹ÐÜ>èGY_Êd ¾}8?hÐÉÁ½tÙ×ÉŠ.‚úô´ÝÎñ¥Åƒ>6PgŸ%Æø'CèëÇðÉ2ùÉ‚AÂA4 ÿê¾AŒ¿WúqÖßÀ`ó»~ƒÕ–É.шè"Âèá!0Et•oܼ DÄë×ËŸHœÿr ~Ë'ƒô ý²ƒ~™A7Ao9ƃ‡ãü8UDuRt€¾ Ï´ "âõðŽÒúMFÑö(C£óGyãºõ báŒC”áKDW F}¤GF…tà“ Q…[@ƒQµêwÛ Â†ý k¤‡^Ju–ðô!îÅÅõe£'-è ôëÕ–s|x?ãÅ—Jï{Åüèac ßF}0¨¥°ƒA¼|œJMbôD¹èòÞdÌó{±‡~NÑ-U@<Ñßí‡Þ÷RýårÿË)Æe âA`©qïRcí媹?™GrOvŒÿJÀr‚ÀRÀ`9ÆAoŸ¨¡Ÿp‹¯W N–b\'ZO¿\±:y™ý•ýN¶.0((,å¾åHOö{{ÙèþÉ0þe€`)±ï‰ñ+ ƒð©nì'ƒEœhZñ倥ê6'ÃðO*,5œåL«-—/7ÿQ€“6,'x,•ïûó8™†ÿ²ÀË';''éõ¾š þ•dË­1,'?¥ ÿe€“ËmÌ/g.~)†N^ÅF¾ÜÀp¢Æ¸\ qJþ+K¥¡ŒaqÓWH/ö¹Ùè nÞn„<Í€ 'r¢ÏçŠ>¾Û^y±§NÊ”žWÂø_XFPtãœlÏKN¢ý¨é/'SXêï,ù=ÉSÁèN%XF0XŠñSÐ`8ùïeÌ#O5C;U YÉJÖË·hò$+Y $+YÉJ YÉJVÉJV²HV²’•@²’•¬’•¬d%¬d%ëU³þÿ:ž‘MåÓêIEND®B`‚./chessx-1.3.2/data/images/draw.png000644 000765 000024 00000100425 12452032267 016546 0ustar00nistaff000000 000000 ‰PNG  IHDR\r¨f pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFv@IDATxÚìýy”$Wz†þ¾¹Uf-]ÝÕ+ÐXº±5ÖÁl gZErDË"MÑ2%êQïÑò±x$¿÷hûùÙs,[‡Ö‘-“ïx-™¤i‘~RÖ¼á>Ä ‰ Ë`€ÁJ¬nÝêêÚs¸÷{DDæ›7"#³ªݘ¸çdwVfVV.÷û}¿ï÷-—˜Å*V±¾?P¬bP¬b«€b«X«XÅ* XÅ*VÅ*V± (V±ŠU@±ŠU¬ŠU¬bP¬b«€b«X«XÅ* XÅ*VÅ*V± (V±ŠU@±ŠU¬ŠU¬bP¬b«€b«X«XÅ* XÅ*VÅ*V± (V±ŠU@±ŠU¬ŠU¬bP¬b«€b«X«XÅ* XÅ*VÅ*V± (V±ŠU@±ŠU¬ŠU¬bP¬b«€b«X«XÅ*àZ^>ú(ÍÎκA¥”R–î,•Jw¹®{Âqœë„ÇYBÌ:ŽSB”…žÂ „ÄÌàpI)e ”ò¥”]¥TKJ¹)¥¼,¥¼Á¹^¯÷Úööö‹½^ïíJ¥â !T»Ý–äéÓ§‹T@±öÐà]€RµZ=Üh4.—Ë÷{žw›ëº×{žw T*ÕÇ~¹D‰ÿÍë¶¥ï‡øzü¿R ý~ý~¿éûþûý~ÿí~¿ÿr³Ù|ªÓé<`@€úôé øÖ (Öô/TTÆ-õzýÇÊåòGK¥Ò­•Jå°çy.!¾Ljè“.tp‚ívÛïõzïôz½—šÍæ·›Íæ£ÞÐÐ9}ú´*¾ÕŠ•mô€†ëºû~´Z­~®R©Ü]©TŽ–J%¡º~™­¿[ `Û#ñßÔ ¾H)Ñjµd§Ó9Ûn·¿Ól6¿Úëõ¾ ` ÀöéÓ§eñmP¬¡á/T*•ó³³?U«Õ~°V«ÝY©TæDZz÷}zµØ%|èÖ׿þõëöïßÿù™™™¿U¯×ï)—Ëu!D¦±gyý½¢ü{de˜ý~›››ë[[[±½½ý¿û¾ÿøéÓ§ß+vM×üúÆ7¾qbß¾}ÿ~½^ÿ÷fffN”J%/ËËOjô{mð»ÉÒ ^¾ïc{{»»¹¹ùÜÖÖÖo÷z½?:}úôÛÅ.*àš[?þø‰ùùùŸm4?U¯×op]WdünÆû¹¾xã9vcLª ¤ý¯”Âöö¶\__qkkëëõzÿ¿ ¸&Ö·¾õ­ãóóó?[¯×ÿÝðc£›Æðóü•by÷Ì8ãǤ”h6›ÁÚÚÚ‹[[[¿Áùb—pÕ­¿ø‹¿˜m4·ÑhüýF£q«ëº^߯è?hÚ? 0LÃâZƒ °½½Ý[]]}z{{ûW}ßÿ½Ó§O7‹]WÀU±ž{î¹k4ÿ¨Ñh|²\.Wwbø{eü“~Ï{ñw¦ÑôªCß÷±±±±µ¶¶öGÛÛÛ_üÜç>÷x±û øÀÖSO=ubnnî7¿U«Õæ(²›±Oëñ'1Ä+õ]îÆkÊÃÒ@¡ÓéðêêêòÆÆÆÿÔétþ·Ó§O¿SìÆ®ä/½ôÒß«×ëÿxvvöÇq¥Ôˆ¡çñú{Gçmß«Ê4Êäk¶GìYØ0Ž ØnÛÚÚò/_¾üT³Ùüç?üðWŠmYÀž¯gŸ}öÖF£ñŸ×ëõ¿Y©Tj6O? íßCW`–ddì ƒÀËð±Äƒß#íw44pŽ®“£Ý.¹ƒë» “„úcûý>VWW7Ö×׿Øjµ~õôéÓï»´€=ñú¯¾úêߪT*ÿY£Ñ¸Íq'©ÆyýIbü<~g±$ €B¬: ôèBˆ@ÐàwÙ¡¡3À. @)¼P  %€ÀÀÁÙ ¤õLÀ¾Ýjµþɧ?ýé¯Ûµ€][/½ôÒb©TúÅz½þV«Õ™x‡ë/½>³2 >¸BÄm]uÁ~J¶ ü-p°pZ!(¨.XõA*TÌ Á‘D ,\(© rª`§u»áÍB¸u[s@@ LU \hG@— D…¼²²²º±±ñO:ί™‚v¼^yå•OV«Õ/4t]×Ócýibþü0ôòÌ}ú tAܰ B 4ô×Á½÷Áþe Xùë Õ‚ õ@$A€àƒ(d 24KÖgvDtŸð:»`öÀpÀÊ…BJ•¡Ä àÍÞ~·T>·´ò`®h€iŒJÈàiáƒØ5°A)…õõõÎêêêÿw{{û¿ûìg?ûz±‹ ˜x-//;›››ÿ^¥Rù¯fffN!„NùwÓó'¿ #£ïÐxÄM€7t.CvßzA½e¹ !ÚpD‚ú ‡AÞ>»äìÜÀ™9³€h¢P¥ˆ¾#îª ¨ š`µ ›€\—ÁÁ\+V(U‚T5(®A‰9på P> §r=Üê~€æj€iŒ!„`0d;™Nd}FÁöö¶\]]ýN³ÙüO»Ýî7‹‘eä^.\¨´Z­433ó¯T*û"€Ñª;.Í7n“?ûØÛK0÷ ÐÔ›`¹Ž óTçm }¢· GlÃm8¢ªì‡(¼£ ÒQÀ;8 °f&aãlùe¹øçÿ=pÿ]pÿ=pÿý¨*¤ª!fÁÕ% z¢vÜê1³Ð<˜æÂpåÊùa, 0¯÷z=¬¬¬¼·¹¹ù‹NçKÅ ’Æ®7ß|ó ýWõzýgK¥REŸ¶“—úObøÌA$Þuµ ¢ l¢ß|ªù¸ý6œî%¸Î\§rˆÊõ êÍ òM@éF€¼#OùniüCR)AV| ÿÐ{Ü} Ü}Jú`YE gÈYÈêP»¢~ Êõë 0`Lu0* * XA^  Ä·ÅU„+++[ëëëÿ´Õj}ñôéÓÛÅ./Àº^ýõ;<Ïûogff~Äó¼A¼oóüY”?Ÿ¨'#ÃoƒÔ&kPþ2ú[o€[o€¶ÞAIlÀu¶ < Q»T½T¹ (Z/Y¿Õ½ù€˜2˜ý÷ÀÝ¿º¯‚[¯A)†ò«x}9ž½T¿¥Ù“ÞA0-F!B €¥'›Y% Æß_¤ tWWWÿåÖÖÖ/>}úb±Û H¬3gÎ|RñKõzýA!D"Å÷íïÔø‡j~Ä-ohAû<ü—ÁÛ¯Ãë^„çlÂuZÕEPíhæP¾%iØ4ŽÚótÔßÊ h|ˆÀPô^·^Ú/{¡ü2n /çTƒ·À»ÞÌ10‹¹J¹³ã@@)•777ýµµµ³½½ý_|æ3Ÿ9Sìú€Þzë­Ï¸®ûßÕjµûÇ!f¶}ÖÞñ›5¤ú@Bm€x~ç]øÏk¯¢,Ã[pÜœúÀÌ= ™{oÑâí)ºÎ1þ|¯L·³ñ§£Çú«@ë9pë õ:¤*CUôåüÒA`ßmðæïW»Œý`±FU &ci—xmmm©ÕÕÕ?j6›¿øðÿRÀ÷7Й3g~ÈuÝV­Vïr¦çÏ›æKߘŒ0oßqhø²ûzkÏ«/¡\‚Gp½DíF`ö# úGwÆNéI3®,ª¿…†™÷G À)€![ÀöwÁ[Ïí· •éWÑç9ô½ƒÀþ;QZ¸ní8±¦áŽMŽKÆL ^Íf«««_oµZÿɃ>ø|ß§ïýí·ßþ«®ëþóJ¥rG^?Nèøú Þḽՠ.?‡Rë<Êî&\· Q; ÌÝj|pCã%äóþW²;˜sÞÎ6рܶžo> t߃’%~ =9~ýhÿ=¨ì¿äè ê *g …Yg¤±V«…ÕÕÕÇZ­Ö/<øàƒ/ðýgüŸs]÷¨V«wfþ$ž?iü}µ@r ‚ÞGgõEËÏÀ]{Uw®Û„Sò€ùƒæ? ”h†o·)öå`ø€@ÁÔ8zçÍ'ÁOý.¤*#ð«èÈûn‚sð~Ôö߯a(± Ž°Ž€Æ~þyC‚¾Þl6ᡇz¹€ï“÷|öìÙ…ÿ¢Z­~$náéþÎŒŸ£fœˆ7!x~ë z—¾ œ5ç2JbŽãƒfO€~hÜÓ‰a9¾ið”Eñsæû'úš5€áœ:@.P]Ùþ°þxû5°t!¥‡¾j %÷ÇîBåÐðj7‚Å!(Ì‚¨‚¬ªÂIA ÙlòêêêµZ­_x衇Þ*àC¾Î;w€_®V«ˆˆ÷§¿ö§Ç¡Q>·!xÐZ~Áù'Qi¾‡Š» ÏiƒÚ÷ °ø)ÀÛ5ÕEÏ/4@Æõ4­±ïqˆÀ)aA¼ï…Báú·€Ëß=0{ðe `½Æ1¸Ç>‰™CƒâÃ`±? ½±±OV8 Ô°5ºÙlÊÕÕÕßÙÞÞþ<òÈ#ç ø®‹/ÞØëõ~¹V«ýptBîˆà7½ñ÷@Üá}Èö´Ïô΋˜—Qò¶áЍíÿ40ÿ‰¸nh¼Kì»Úun¥1@ÀFH€dC¢°ñ$pùàÎ2 ÒC_Π©öÇïAíè§áÔnè0f"60è 3css³¿ººú/Ûíöÿë‘GÙú~± ÷ûìêÝn÷?¯Õj?$„pãTŸiôYŸnJ0wCÊó謽„þÙÇPZ{ 5wžèBjÜ옹5Úí…0 †4c¡4Ûç ¨ÁNBãOpÖŸ3Ò€‰×Îé þóÜÇg´ú°ý:\¥ „‚P}´Ï´ÑÚ\wã#¨í»DÇÀ˜PŽ ˆ2^ºv†¡ ìq±ÐììlIJù÷¤”üÓ‚|¸–wæÌ™ÿ´Z­þgžçUmÆ?Ižø™wAê2z[ï>ùÖ“˜ñÏ£â4á9]ÀQ }÷û?Té}š×'ì’ªÏÙ^™3œ8[B Jâññ‡iø¶ÿº•?Öž+€•ƒ@•ÑõëhUŽÂ¹ù“˜½î!H\ûö¸¹ÄAÛ%)%VVV6666þ£xà/àñę3gþýr¹üËåryA)50~d ~I•ßã}\ûg±}æQàÌw1+.£ìtà¸agö"4þÒ|dÜmC¨óh¯}íÿµµ·Ðð¶á‰>KÀe`á^àÀ#€Sîj°f~àÉy4¨ÎL£iå pÈmô”yÁV™˜Ö«0Âf"1”S€ATÃÏRöÕ²è‚H¢yþe4û=¨S}TDGÀ< "ã|›þÝëÃD`ffÆí÷û?Ùï÷¿à— pÅýo¼ñÆß­Õjÿ£çyXô3=¿Yþ›. …•}‚šê=´VžAçÅ?ÆÌÆ9ÔÝ-xŽá(ÀUÀÜ àðÕƒCOoÆøæíœEïi4^Òo³±½Ð€ÑJÄÔ4fN}`$ ÐBƒÎ2pñ«À曀$@”$øA ÛÁ,Úû£z×cæÀG¡Ä±(ð2 †Ì®A³F@J‰K—.­lmmýí|ðO ¸vâþO8Žóë•Jåv=îWð“nüaÌïðy4/}íïý!›ï ámÁu|Á¡ñ×–€£hÜœ¢ôs>µßTÇu?Öð‘­öó„ÏFœfèiá?!íhŒ8`û-àŸí•p6ª”tàû¶eÍÅã¨Ýû£¨ø”8 Æ,Òš‰²Â¥b±¸Ûíbyyùívûgzè¡Ý¥Î¾ð…Õò}n{{ûŸ–Ëå™y$î×A Ëû7Hÿ4WžEëÙ?@cý,î6<'€ RŽü40wGä£üd*[ÑuÖþgKcãëay¶ù-Ëóâ9-÷¥]8ã¹”åoÙÞù3´÷6ø_ÿX k·ý¾·Åö™èo‡¯`Àe¼ÙFkk4?‹rµ %-!,N¯ó0Cýºã8 ¢Ãý~?è÷û¶°°ð¡ò˜6 À9wîÜÏV«Õ¡¨:dšy}Cã÷´@ê}´Ö^@óÙ?@ãòÙ0æg ÁjèÌö}Øw_è–lNn¤0††?#±/Û=9[®«1¢_^f€qž;ÍvCcž'‹¥Ø^ïÂ}@gX~fp›€‚GŒµÀïŸÅö³úh•}@@3`vSZ7‹„L= ^¯—;ÎÿõÂ… OßtÓMÿ¶€«—ú¬T*ý¼çy31…3¿q-½ÃØP†E>| ½­W±ýÜ`æý·1ë¶à zþ8ž9 ¬ò«ß¶]ÎH/–Q)ŸZ\“6Ø„ÆÌXŸRŒ™GoWH¯m )4´p`á^ yØ–í V(  Õ‚|÷ ¶ÄïA|¢ŒRÃã°6[€¬ÆŸvl›R Žã`~~~¡ßïÿãÇü¹S(𡀕••:3ÿÏón–R¦ù˜_²ý4š°¶_¨ËP½·°ñÜï£zî 4¼&<êC@E©»(õ5P^ˆ@á}:  £ãE_o–Ñ7¾"»FÀy!§ÀcŒ•R¼¼­¯xÈ ¬¥t00³ú{+- w… ý®`F}ÌaòÍ×±QúìÿD ¢äAÑŒi–Îâÿ…PJ¡T*avvöcý~ÿg}ôÑÿöôéÓAW‘꿱±ñùjµúãDäš“|Mº÷q¨Õö¿‡ËÏÿ!œ×_ÁœÛD™|]ù ÌßÌßzÿتÈk*ƒúÇùr˜±oŠÁ³æÉtc@킘˜t_X ßüYYaä9-µf8¤‹¢ó§€ísÀê_‚¿!(”…yÑÄ¥—^ÀZeK«ƒQ#<ì$-3–ŒÿŸ™™)µZ­Á7çTø³è½ÈxŒÐCN^Î €ÂÏ~ãLX#  AŠQElcù;ßÁåú<ïø<\(ž…-=˜ÅâÛ]×Åüüü~ß÷þ‰'žxæ~àš\ïakkëï–ËåH))«­w|s¡ ¡–±ñÎSè}ïIì—›¨z}¡F½àì  qCèýG2[”Û²Ýk›Þ~ð3GFyº%Ö+è8 rc&]O·1Ì$žqàD?†^ÚÖ ‘ÖaÃÍÁçÄ@ý†ð;Xy%ÉŒp PC‹r —Ÿþ l5¡q¬ áéDÌ”* š,@ï,—Ë¢V«ýµµµµ¿à· ø€…¿sçÎÝæºîO;ŽSµµ|æÜ9 þÜx ÝW±õݯaa}u¯‡dxª.i»Ÿи):vÛ08šÀ“Ù(¿iäJgZ¡x¼–I˜²š–F¼<…)L 5ã8 ƒÓµK·…>›€ÕW@&JÁa…:úè¯]Âæ3_C©q¥¹*y6™ûÃÆ„h4N§óóßøÆ7¾þðÿMÇÎ×ò‹___/K)Îó¼›³íÌBøxG1÷Þ€À{X}îOP9÷ÔGrXðÆZ;{0s}¤ü+@E¨H0.¬©]”ñsÀÑE†ýìk?Ëè~?ºjx‘ ðUò6ó"Ç\l³=Ÿq{_ßC †ï)~½>G·kïIjŸ“Ô>+eüÏ–Ký80sCr7Gáð8À,÷Pzý,Öžÿ*_ñ&Âíl¥ý6ˆ/Ì ÏóP¯×?êyÞO<úè£×´ ]Ë @lnnÞí8ÎçxãÚz³CZx—^ü:äs/bµQ¡„¡ ˜ð„3×aó×Ó_é9îL¯†?Ëøg ¤ÅýjL¬¯2^Ë8ÏÏ)´œ’t{Äs+‹& b¯¯†,@Ä•<+à1‘”Ô¯ÖßJ0€¢ˆ$Ôöqï=ñ=¬ì?†ý·Ï@QÌ"ê`kÐõë333•V«õwƒ ø=ç på½I)õ÷<Ï;–ujoå^TxÆZCsùe´¿ûƒ&j"€€dû²4 ̳TÚÞ)áÙ"o§Xó|¬y[½£¯35ô¢’ ïÌÚí–玅Òn·]O»˜7/ÌÅø»Î Œ÷’ö³TÉ¿¡Œë¶ªFVaFi6 <:±B•|,M4¿óh¯¾ ¨5€ý¨Ékô“ ØX@£Ñ8åºîO^Ë,àZebkkë.×uˆ™=›—Ï—öÓ:üä¬=û(f..£áöà ˆ²S‘Ö©©ÜZDýM/Èî?[ /®´ [þ×Kg•–aÐYAVågxPû‡’lO›d-ÅGI&0Hê^ƒ”Ýà³–ÿMv‘Ö Áç-T­íD 渇ÖÙ‹X{öOpÝécP³“:`Ô.ê P©TÊårùo)¥~çZe×$´ÛmO)õ”J¥cú1^i)>»â©þÔÉe\zå1Èç^ÅuP† E?Pèiã9«¢xŸGÇh™eÀ6õZa”ÞÇ`!õ´ ÅðU N3n«á제ݖ 0AÁfÜCº‹‚fv è@ñÆŸQm Àëö(ªXä.Î=ñ2._ÿ8öÝ2%ªƒ¬À¸ý£‹špª×ëýø£>ú+§OŸæ®€÷_^^¾Uqš™Ý¬ÁÙÊxH§Pè5ßFó¹'±ßo¢êIð°6E¹@uÿ0þgõRæP‹Ø˜u j˜ïgDá ÅÉT`Zyp/oM»8 è…?LIo®8iüúõø³T[°•›¯G¨¿öGßç@j`Ô ±Øoaí;Ùëî‚Sƒ$D•Ì#ÈÒÁJ¥R*•JSJùoœ/`ï—à'ǹyÜd_›¨3\„À—°òì×à½ysNÞÀûG^Ë<Ÿ²´¸³¡Á&h¿éei¸õ”žÔŒ)ÒRBÓðÓ(Þ‰?c銡¥57™†f+!V{2¾JyÍÞÌèçjÖI¨P,)‰EÙÇÙ§^ÆÖ]/£~hX„£ÅCl¡1ZhrßU*•}­Vëo~ó›ß|úÓŸþt»€=W\×½“™ï³y÷¬bŸd(„ÞŸW°úÜ·ÐXÛBÍ‘pEfŠ”8XEê´[í e3¦ÅóÊ0~¥Å°ŠG{þóÄúãÆ„ïš÷·T7qÊ›7µ‚DG$iŸ±¶N´M3кüFÓ­–×/ªx³õó$ž3\‡Dce «Ï~³?r 0®&@O F=T.—?ãûþoÀ.¯­­-GJù#ŽŒ‹Ë2»ýØä&6ÞyÝï½é£Ìr¸Y`¡âúíTJ¦˜#²,Za‹2Ë]µØ_,kÿ«œ[ÜÏ2_¬Ÿß\Øòst›’áÅú:x´ŒWÉ¡ö1xïRÓ ô)™ÔI”J/LR 8ñwƒd(ÂŽÊÌØ'ûh>õ ¶ÞP[-`œÇ7oB R©Üæ8Î>úè£t­ØÕ5ÃÖÖÖ®#¢‡˜™ô¼–Ñ.¢ Vpùù'ÐXo¢îÊð( bzÚuIEÎ0`ýf “ùüØÓëz[€'¯gÞ)õÏØŽ7Õ¥Åð#ÏECÏN–çe„à (™)`m„ºCÙJã‘^C¡€äÄçMÑç:KÌ\ÚÙà_=Ð<8š#8Žþ[X€p]÷¯–ËåÿÀj»ÈTJ¥Ò]AÜ’vÈ£éíÍÔ_Lÿ¡¶Ñ^}ÞÀ!öáIœxs´]h³û˜¢ 3yX+¾ 7¶ŠvŸ)öéa€YÍ—VÏ?I ÿNÒü©ÀÙÕŸH$«¡¡«iÀR3ðøóÖCÖDCÖêÌÙƒCXª*i4ÓÞWIûT€sO¿‚Þ¼wö8*ÒCͬ”`|Ýu]”ËåApøZ€k"8sæŒÛï÷ÿšRjŸÍðÇ©ÿ1ý'ôu—Ÿÿ6Ê6P—.q(&³!8%ÚnõØžSºéôÚu“êZ:UÝO£çj§T>#ݧvøœÊèH¤I-]~¶K`IÚRˆÒxÎÄó`$B¹ÑS“ˆÃs\êJÂ;·†åþm€Ð òN.•JGüð£>ê `—–ã8GÜoŽú7ÞÛ,ü·`Û/¼‚£ÒGÙQJ«õ·Åþz=¾" 莗î%m}ú#žã=ÿ$Ó|wêñ'}N5Ás#ùXÏ0=º£ {0X’¬®CªÀžYjÈìU©°Où¸ôÝç!\‡¢ƒ`T¡™Æn6 Å·•Ëexž÷éJ¥òkÖ Øû/—Ëwöz½›ÒÐØ¤þæl÷Xüc¹‰K¯<ÿµeÌ‘„«Âê0È(î7Õk…¤ -ø½ðJÚ©Z#†®Çÿ4ÚÊ;‰ñcŠ>-Ýû›oZ@² ‰³qáÄg"YJ¬Óÿ¾ß €:ðJ q p&ÖÌCáÜ÷.`ùÕï`ñÖÀh€á€HŒì§4]dž•J¥*¥] pÕ‡gΜ¡^¯÷ˆ”r!zeê^$€. Ö°þÒ Øø(¬UùRrSëùx]´S ];}¶R|MÝT¦Pái(¬ªóÔÚðkXÀößß“š"äÈ ?Ÿ‡ 5¥ I áÑ0,¾¿×Ñâ~‹¦£lFÂUÉØX}áYÚг1ø¬=§µ RJ=t-´ _õ Àó¼ýJ©æ9Í'‹³²l¡¿yí—Ïᨒ(9*Ô¦”6WOE4 üG¹}õÚaÅ™éMGæ÷³!Dñhj*Uñçɇxî6ýÏsûnž9h2*(™!ÐCÛ«ýÎeI=ô"KmÆðû!”cž¼ùÝ·àÿè2¨z3ù^¾% pç¡R©ôÛšì`kT«ÕZ­ÖMæ66C€!ýÀj+¯<q~ uRa‡ï¸Ã6Íè¶€ªJƬcüŠ“ªÿNi¿Ú£®S•4r¿Ngš…Sq©/Rbz'Î( ‘>;°Óœ˜WôᩉÉJC u˜‘ õÎ&VþòúÈ H^Ãü‘¬S„ô½è8<Ï»ff¦QÀÀ÷ý»¥”KYŠìø]ØÔ&6_} 2@Åa}ꮥ\4! :ú­nНŸÈDm¿¶q^‰s8hŒŸ'} Ùõ†<½#ó () ão2ú´–iA£â_ü·eè+ž$lV^ª¹5 fÔ˜±OI¬½ôd+Ü7cjÒö¤ëº7ApÀŦÿK®ë~R)UŠiÌLÿé"M"þ—í´þò<®c†§#­ßƒ’\mÉ趸F]q´ÉÔh§™mn¿ädÎÀxôàÏ„1q†ðFSXòÞ\)°y8É$€7Oŧ' þ6 G‰Çâ£ÐÂ3¦d=@Úäà^Ë(µ¦dñZá)¢Â %ñúsç ~zäö ¢žð¬ö`sZPÔ TnµZ<úè£O\ͧ]Í@³³³ûÛíö­“yüdã¢âŸË¯¿>¿…:4úoRvºÎ tOãèn‡oÆn‡ÒðözAcôàAi­öD FÃãŽ;Zk×@`B) K”ŒñIhÍBÑý±ÓþØó³fü:ûm ½}¾dTÙ½N@ce®êŠá¿³Ëo¼ˆý·ß²ɘg©T‚뺩×ëe„I“@¥R9¼½½}trÚ?dDX5±þÚ«Xà0HYæóTbôL>âP¥în†MAææ—š‡xÝøÕèQàñh1Åv£bKÞ†3„Ái?ï1byEà €Gï„ó7þŸpœk¢kto—”hþËÿå•wQ*Ç‚€:<ÌÀ~añ÷¶µnUÁ^—Wa*Cø3Ê0f˜ñÞ»k tA Xb Øö¦â˜Rªzµ~ôWm³B§Ó¹I)5;ÉàO3Àª‡^sþJ æðÍêqçàB–¸Qëï×uÖÆPµÖ#ñI®Ÿ¨¢ñ\ ^_B)5»ù0-f†”ÛÝž1}Ð$Ï4ú¿¹†bưÕ4 @£ýdÛ ax(ˆQà_j¢ß\ɉ¾_Ç™ßÜÜ<^À„+‚ãi›}Þ_”ÿ‡T­‹ï ÔõQ‰³Lf³ j´~€žžÓ©d\  µªÍÅ3fÿA›Ñg9"ܬZü~3|ý=>C *Ñ%(G\×5•æZødÄþÊ(÷°7Åá†Y@™nÇGså]ê–ÎÀ<ÌÔq’RÞPÀd« €æ‡lnûõøðÚ—ßG^w M€J„”I¥‹rl™0#£¶7€ÖšF/lã ’@ÃTô𠊘|Á í}&â° Y5ë*bf¶µ†`:;“0²”ôú0²& …@%fÀh]¼pwðÅgí=›P•°_µ àjÕqÿ¿¹‰²æàú›¨€‡±¿þe'þ77ˆ–ˆR”„Íø¾í5@T¯¢e,^+1›N¥/1¦>¯í¥ÀRf@b/b‘–¡,1èÚbÕE¿¤´ ¾H¦WG$ }A•€öåù ’Z·6§Ž³}oBˆc˜lÕ¤”<Å?¶#œ‡E@=ô76P&$@7t‘¡íD!y’/¦êzípC&^hZ€9xÊ:zúûY`=x§(LÒƒz}þßÖjØúkÖNè!€žòÓÃ;}ò° QÀ´A@‰½µõpšËÏ+PÑRÁ&ê¶ +“jÙÿ¯„cÀüõ6J`8ÄCÙ17€Öñg;ÍIO#yX J­u@”€™ùÑ:Övè ÁHAJ sÄù÷ã’2œjD1(ꇲNaŠÀ¸µ~Ö¶š³¤Ú¬“ˆß¶cÊ¢‹Ka êÖjD2íì}—Q+°XÀ„ ”šI Òh˜þ8¥X­.J£3'QY‚P|¿¥4mÀÑŽïn­ÂJÕÈè9™!Àðw%Kô:ôûýï{‚ ô°Ž ?úˆ%…i@Š´Ó Ue™Ÿ ý$N/~"ƒú›a_TíI”ÀèovÂ2HgŠY3£Ÿç ˜l••RµqjkÚüÿ/ä²Ý‡§9ú‘MŒN¦ÕÙ,^§Ô[†ƒ(6¥Åprð`þ^Ä.‚hˆ  µŠækß…d¾:?Tžã éÊpƒ) VJŽfô‰ð£ÃH² ; ääí?sJÌm;QYjïAbôxpƒ}‘ x „=ñiÁ„e×í|oJ¤0K …'ƒ”<Ù8Ú®¸/‡¢mŽ?ŸâªLž)°äU”‡`Á€u¦€˜Âß 8ˆí†Dš;ÑgÙ£@ÁžÅØÍ£)Í]Â>ëÏœ{¨,1½µ°„d"B@a °µ t›Ã~¤ {ÐÆÐÛ¡$zU (ÿ ÀW†Ê·РTÀdËafwÒ¢˜¤ñÇì^%N¤NäýS›æ /ªÍ Pœ|¼>¦šôš!S˜™ÕÆ_ia‡Ô(¯îýMqÒl¥Móz4†¤5™q¿Jñôñޱ…l¹˜sø£-Ö‰á q§”Žøê·G_´þ³å=3FÏ47=nÜôG%U‚äe¡p ˜l fv²Ð5-K¢5ƒ'GMg»VjQr†bÑ€ÄC)8Vèƒ+ûM€ ÒƒÝx˜«¨íÕØ ®a¬ŽÅ«Û<'¥¸HñêiíÁŒd¡LVÀ±y¶èÂb´ñ°Ðø;ú@§94~‡’#ÂMïÍ)Â¥Íã›ÅCzJÐr¡14Kns ˜Øâ©¼iÀá/„#’ã¨Ìø_°=3 o ¡í Øà­©š&‡zªªß…¬òLÈû…Šâ[ªÕ"ChDF ŒÖ.°%³{6=t0 Ü6’Ü EôÇšG5PÓ…@ÇúÑkƒù€ÑÙ‹Ý6Ðï!1ºÙdDÈxÿYÙó9ô×j …È«9¥Á¤l ýÆŽ“öÙ+=¥QHñ¢YžÔò…šõNôàx3È.Ð €j  ÊPäBJ¦ ã)››R€È`"C™«gì2¨µnPiÌÁ3E€ß O÷ ä0ƒVu´H"ÿ€²„:¶³ãiÐ4Ôrr‡M#y5 8È&ס¥it€[`•¨Àâ"l'ÔšF&,±§°xKaƒõJª´ûa¾Ë+'…­¬©¾fÌkËˆН¥3Fñçêº2<º„}œ¸nX*…¦^£ S|ýn4Î[${5XCµ¸øJYÎ|TF8§f•6gÐÄ€(‰éÎ^MîÛb,ø„+Ðgæš)î%c|Ê bá7M%²í;‘aT&eÒO½¶*ïlxžHRŽ‹”º@PJµá`QNyn…ÑB$eyMJ0N !Æ)`!Ld XØr£Óm“Žün8Ó?è ߀îãCBJ~Ä$Y¾7M;aËûà”Á㣩ì‚9‘gßY÷j¿€É K 嘚kmS:`ˆª¹Iƒþ$uÖêÿI+Ñ[EãÓj±ª?bæ™ã燃‚à /}ÀëN5,!¶ÑùØãšñu|Ÿk¡ë6Ú;iì„£æ QÐ<[Á ôß‘AD÷»Lÿ!¥i(j(Åë\õ Œ€}§|Ž †ÄIF`Œ-Kœši?Î$ß„n“@[ÿPmpúœv'Úon£ ¹<<,†ÈPõ›““1­ƒ#ŘÈâ…–Mˆ…>G5Jóø*ìj£~ÈÜJtH†ñ÷u±LÏf8ÑSRJH@t^!ÿ)cÒò83ý'-Ê¿YâÏH º¡çWÁ(“Ñ ‹A€¢7L<< $Ï"€ ûpVG{]Žaä1ËÐßt>¬L„€¼Ù NXm†qÙ'“0sq0È„«ODM3¦ÏÆ%.ÄL>Ѱ™Ã4–Ät cìi¼×0.³”8.%U*饭«A˜.=@”R9š‡aákÛŒÎ6'Æt H«üF[¢%FÓ~  aìî÷‹ôGkCp¢ô_Lù%½5ÜF J9`¶,å3|cßn0!!¶¥”ci—½_ d ¼¹ø 0i–c=¡†“ªÿ¸ê:Ò ~tZnVöéÃÿÅÐPº·þ(Ôé_„㸠ȂiðÚ´ñE©ÅJ¯mÚŸ ìä>ýÜHr”!abAõåÿ•·ÿ®ˆ³q&@Dt_;æ[á„H )«슓ú‰ö;L„Ò \0DÎA4Öû7 ˜lõˆhÃ>6*§ÅJssè ŽíI…é1¶)˜é±=Ùðd‘œI¯äÄÑ_½ÒCÁÉðFŸë¨Ow¶}'‰º Œ2*a¯üTè ò¾ý`”¢L@žÐsìˆèrÁ& ÇYÍ@ÔÌrà°g[€©„òü"¶„@²ž™zä•Q"‡úßÓÁC/!ÖÏ ¾úóI‚€”ŽãÀq¸® !ć–H)¥ÂIÀŠC£K°1âd ÔLƒê†­`Oï™}ÊÂØÈ‚T„ ì?pÌ¥( 0f UÊ~%¢‹LÈ<Ï»l3ú¬0 Ì”À¯zèuºLa÷'²¥/aÄ0„Ðhl)(© PJ 'ÄðýÄÆ >NjG£Âö FJ9ÑéäùÂ=B¼£”ò ˜ÀÜ›±ÐIDo{ž×+`Bà8Îv¹\~§ÓéX©•®ø§e¦2ÜÚ~8G÷¡ýê6$Â㟠dX’i=Ûèp#0›ŒH‹_ã®@'š0©YE½nç,Zí°¢wÐmfƵ°Ï3t.j ŒöëSPŠq›  1ÚüÃ6¿š'öF¿K–‘ŠžTK€O6tiy­ægf>&û¤¥’ÐxhÀ„¼ëQšY„ÏaYvÖDê´ý1€7ÊårÁ&……hÕëõ·Ö××;Ì\ÕY€%Ïš†èë@¸þ JÇ¡ýú{äÛèá·:ªøš§¥¿°„qsT8í6ڠ€W&C*„ñœ.ìÃA„ <$›``i¹(FOÚ¡¼Éžóx.i¹Ÿ0zÐ*±7¬¡aw¤Ãiʱ…:0H ¯Nóõ3˜SË„mrP¾þ0$ê• ®¥½¦tªÕê Õjµ€)V{vvö²â-f¾ÓFµL¯oj!j¨½›x]”!ᤕøÚ}8Æf³$b;f<ΈxÈE¬5á16‹¡êFí"YÙF=áXõ%2èÖáY÷›£ÀÌæ£†àlAod²±vBÃgc0Ç|F; ÁÚïŃC,=¶¹ Qóa›p°xý 0Í€Ù±ŽK«úÓ/Žãœ™}ÅD é2̼-„xSJy§Íû§ÕÄ,€H€ÈƒäÔÞŠÃsè¼ßCƒ$Ö‡|Zbz›ñP†‚l.hhÔ"²v'âÔÂÎt,á…0ŒÜ4t[y²k¡ýl€VÞùúã¤ñþ•VA’Þ'Îp4`RHŒÜN‘á;ág%)l Ò24¢ØÌ xxì €‹‡™€xÀˆ©[ÄÞ|xënÓ @.˜ÓgfÑ"z½Ûí6¯fÖ½ª_œën–J¥7[­Ö¸Ú:ˆ‘ˆ L°3ïø!l½¿ŠEpu;`Øëý0Íg‘¢ Ò‡¬:uµ‘ÆuŠ`DµîŽáõÍ¢ÂhÝ»~[¤€[ž9zzÕ4v!BÉï»èဩQ˜ä@9á!ñ›dg(4lÙe|18±6ê+>*\ŸÕ GÁÁWÀ¶pàÝt¢´‰ { hZàºî_–ËåNÓ-ö@$ `ÐS†Â8½‰9‘1P´•@ph³7Ý E °rà¸"—ñ[öå™Z­vWñ@Ы>ÐrgÝqœW¤”§t¤M¶þ¦µ¡è€Q•÷ûé6VÖ1O.x´,)¬€ÒRƒåG …tp(©ÐB„èw(!> "c2@Á£¬ƒ ã·Ž7Þ¸¢ô´ Á>s)Ùj;˜^¤ Ö‹§]I„¨´Ñ^*.ú¡$èij}h B4Úôc Q^_{<ðAØ.J'Á©.AR-y.Á˜øß¬tç%f^µ' È»T¥RY+—Ë/4›ÍŸ0C€qéÀ„pAnRΡzÃ­ØøÎkè‘3Ü8§8Yû¯“-•f›d-6ºS!Ð=N¦á'cýÁsàK¨bž)`&͉“¢ 0µôÒÚ¦ï$X%EÃÁñÞH^‰_˜Œû(„¡°ÖéGFáŽ&î™Sˆ…†$Þ¿ötðЖdBëäaáæS`š¨2˜-™Vÿo‹ûc pç™ÙÙÙܾͫpÕסº®»½°°ð€óihkK ê_œH”!y³7ÜÜx[ì ˆ÷;k'Ù‚ÙŒôÁ›Àè,A¡3J–¥Â=Í%’™'zÜ`À =­ á):zŠŒÌÛ5í̆F?öÒ¦Ø1xÝ–ç\`ü]J¾öÄED‚¨y<°ö7âyˆq€«³(ý3¦Qð5³*#.%9Ó!®[Ú†:¹„¹î‹ÙAõ_Z³YFîÎ×ëõ§fggývÈ´ªÕêªâyaõëi1™ž pŠªðÕÊ'Nb zPŠŒÓ}1zjŒ9îKžT˜Ðè&Lk4BJZ‘4£EZv@QRk0 À°°ÅFöË(h´FPúß#Œþl‚40¬I§„þ^Íl ‡êšcÙáæ±àqê„ëä¡|â$Ú¦'¡þ§í1ÛžB¼àºî\Åùÿk†èÔjµ•r¹ü¼®²¦Ñ°4@©! y4n¾¥y´…jEŠ5ššâõ¡{pÍËÓ˜t›>rJ ½–`@õiTgP)"%§<×å7B„´£ÒÉ¢w˜•A"åo¦elý zó =eäñlJÒÀ"fi¯+ñz†ŸEìý›ä¢³4‡¹“¢€ÊáH¹1qÿúéjÿ¯€çy› O8gÒ-}–Þ8ÅÀ:œúQx'c .zñŽ–PöÊJ­9(Y¶ q2–¶ q‚:~ÛA$ú7j1þqïË|.+`ô²,6£²1¥™ñY ØÓ±:ãJdp8)ZƯ‹ >6à¡tÛM(Í‹ú`þÿ8õ?ež«×ë677×½lëZ U«ÕVÇy.-0ÇLêŽãN-`æÄ½Øžm  '¬Jµo•æyôM¥o6ÒâûqtäÒs¥F2¦O¦¢Á”ïÏæé‰,ìDóêz!Ù1P³ä¡÷gí¹ê·Ü‡€2Å¿Á†4ö¾'Çùžçyçq•§ÿ®) =77÷~¥RyR…k䃷1# à8.H”p•¥[áÜ~VáÁ‡3ô zêIŸ;G)=é Ñ)ã¨qó Û¦·±—AÍ=ç ݈TŠ×¶1|Na*Í€iôŒB¢ÓÑ`Uf*4¾--í§§ yøùõ °†œS7¢ºt@s ᥊¶½fìEåºîã<-Ðÿk „Ø^XXxŽˆ^²Q¯<:@,BTác3'îÃæ\M§ó`ƒ¤ͳáíå²”âù-ô[P¶±)ã¶PnNñp‰ç ;èÕyYLÀjü”=›ß4r{C; öÏ]]Œ–<;°¿_ãïÇÞ¿M¶æêhÜr”Ø5¹cGÛö^T›òr½^ÿöÕÜþ{­€К]vçI¥çmÙ€8%ðÊK·Ã½ý&\¦úL`eém¥<:…Æ¥äXð´É@¦‡6ñLlX5®£-°ƒ÷#SÚó’e"©éYgºÊ¯HÖ1à&ƒb›¦[ÄSðh߃H DŽˆDû\˜ =vp%xwž@åà©PüC2õ7n_{Çy²Ñhœ»ÔÿkŽèÖëõ˳³³XÖ?|â/ÏDï8Ð"j·|Íýó؆7dƒIÃ{2ŠIôj{©ð¸O—mÔ=Å@’Ã1BoõßWC±käÉfì–*#|Ð…5ÀÒâk„&6àÒŸ“2>,ÊȘdé Ñù‚¡÷'lÃEóÀ<ê·} Ø83³6–eÕük{ïRµZý“¬]+ôÿZhîÛ·ï-"zÊö%˜ñ™MAÀ ƒæPZ¸Îí·betUt¼¹A%Ât=&)¿‚½Þ~¤o ¥Ì66®A¬,¢ª8JvÎÉ‹ÿYŒ(ñ»”l¿•–×#i´EW¦<§÷K¤µí”à<`.1#kc*‰j€º,°Â%¸§nGyñ6@ìàR¶øßóë!ÄSFãe C-`€öâââûÕjõÏ”Rmýd™´´ í fªðé·<€ÞñƒØ$>˜(4x•ßjãÄÆM ÎÛˆƒŽŠþÒ(sˆ(iXR3^ó>s¸‡y‘ÆÅöJA7Ÿ®[P’•( ý׋’˜Æ»n«ÈHÚ5ИúÇi¿þ‡0{Ûƒp$ª³:Œ¬´_|¼™Rª]*•=vìØ{»‘K) }Ií<à;YU¶p`¨8Ž E  z Þ­÷à’SCS9”¦SI#ne‹G„Åóë`ZåŸ Ñ` ŒàŒ6 ¡‘ÁðrŠFÂ4ÅÚ(ì¨?ÞÔL6`ÖiBlÐYÖúÌ1ß6ÃÈΔþºÄÐ3+$LVȤ(¥ThÙtíõ²bø,° [‡Q¿ýSè àÎ&F~ëàq,´ßp2/ÍÏÏÕuÝöµæý¯U`íƒ^,•J k"§†z6€ˆàº.\×Q ÏÃÛwÜÛîÁ²SCK¹”SƒJ ¤fôœBé×2xÔì6´P<0"¶Ð{‹–‘!J ˜#¼%Fgô) `°áÉõçŒ^’} ¨2tEIêO”=šœ,ú@qPŸY¦v%ÐR.–E ¥;p;”X‰r˜6Æ~gQ~ƒq¶=Ïûý#GŽœ»½ÿµ ×u·–––¾ÆÌ/ÚèY–ñë,Àq8n ,fÐÇÌÞöä'p‰Kè),Ã)_‰ 5¦™€À†÷ôÑSz-ÂXìÙt5^Ò¨KÍX1H‹ÇO£þæ}Rûi\”%$QÅa‹4žšŽ ]‚ &eê&+‹?zM¬ÂKO9¸Ä%ð=·` Å@5«ð—Õîk†™^\XXøÃr¹¼}-¥þ®uˆWçðáÃï—Ëå+¥låM šš@¨xN ,fÑÃaÌÜñš×Á*{è!‘P€ Ï–VwŽtUzÄ ¥èz€–’SZ\nÆâñuß„Ø75fݨ·at˜§ið#Ó~5M‚cƒ“Ô_Qº©Æˆ£dÑ+쟅$°zJ`•=´ŽÅÌí¡ÏgŽ[IûÙÿ´}%¥l•Ëå/9r䚌ý¯uP Ø>|øð׈è))¥U´Í 0Åž¸6T‚¤8³·¢tÇ'°:»€MéE¡@D{ãpÒXe EG[m`@šxf‚€î]JÆÙ vP@ œƒþÛ&øšôÞ&ôd„¾nèY‹Ãbè#`j0 IC±Tå ¢þX`S•°:»€ÊŸ€˜»Jìƒpªƒ?öa«þK1|H)!„xzqqñ+•JóZõþ×:€Î‘#G.U*•ßQJ­™a€Ét¡G7þ¸pŒ ú¼ˆÊ±û!îºË¢†¦òZ(˜1qŠš/ áŒ,ÞžSTyX26M§Ý:HC,Ìÿ+‹¡³b¡pD¤¤ g–-§eSº¥?F.iˆ“Ãa’ДaÜïÜ}/ª×} –@b&<1JˆTêï[h]ÖÊåò—Ž?þîµìý¯uP:Ú7ÝtÓŸ !þXJäefm@( zpÜ2XÌÁ§#hÜöä]·ã"WÐbAD+‡tš5oÉQÍ>)0Sð£ôPÁÖ’Ì&Hϙž¶ÓXKZM€J¹-z¨ }  뤖ïYú :Ÿ¦ Œ„AZ($µTiÀƒ~ æÐø[ÊÁEUº÷Ìžú,z|äÌA8%á¤RÿÞ?BüÉõ×_ÿ'Úײ÷®þ¡ y@ 5??_š™™ùÝ­­­G¤”Gõ‚SôK}bAP)7Ür=ÁÌŸE³ÝÆ¥×ßÄan£ 'È6´a•ñÐÏAM4²Êfí¶|¶9ãÞzL'3g½¶À˜ž“‰3± ”Êr»„ݰY+±uå-H2†~ê5ÆÃCBa–ºÀ%UE÷¶›1wçitùàÌC8å° |Ìœ?å×BÌåF£ñ¥ýû÷¯^ëÞÿÃaõUçäɓϹ®ûkf‰pJßvvV Ö°U¾Õ»ÁÖ Çp‰«è*) {ÖáLûXˆ7¤Ô¼¡ÙPÃ)ZMHˆg”¬A` 5Ösý&õ—^FNò1žðúÙh£N‰÷m¢žJ¡úúg¿?Šû¥÷G¯•ƒÈø•À%®bûæë1s÷B–nÄ~§2ðüYÔ?mÏhi¿_¿ùæ›ŸŠØ'p•¤«Õj{iié÷™ù j'ª³²ŽãDõe¨" ý ÙÛQ½÷al9Œ• ‚ž/À:Ȉ†JMœÒ(AaõP€ìÚ@–·ähz0„VZËé©=eTf¥Íb ów¬)DÝøEv©°­Á w”ö™™ÍKÊðüþÐøYzR`EV°qô0ª÷< 1¤8ˆ*§ÇqÌ0Mõ×Ó~ú…™ŸØ·oß—ëõúÖµNý?LkÜ›nºé½jµúJ©e½`ö"ɬ€ᔪ! %8ûîEùÞ‡°vø VT©€Ô2už‡ñw€ôSta1Îm~\<¼’ P<¾@óg6 _ †ê¯RÒ¢i¡ˆJéD P 4ÏåùY:À W°~è*yî¾{ðÈ©ÃuËVÆ7Nô3Š~–kµÚÿzòäÉ3¸kþ?ìÀ%ëÜ{ï½_wçפ”­ `ëЋ…lÆ6 …L@8àÔáÓAxïGéÞ‡°zp +²‚N ÀAèF®4ÑVý~3s Ÿ-›0R¨ƒK†ã&]4ÔAÁ§ƒ #ÙP30v#½.ú©¯=‘b$£ ™G ‹üLÀy~p_ Œué J÷=„òÁ§CÞlx(L èÑ2q@w¶ý!¥D´‡Z®ëþÆÝwßýÇ‘ð'?$vó¡PgÏžíu:977÷o˜ùq)%+¥â/1aø¶ì€­mØu½pNœh OGP>üqx÷>„Õƒq‰+h+2 !øF8p¸Í˜ÜŒÿuÃR)ñ0`o RH¢Òλ6Ÿ›)IÛõË œ #k¡M7Ps5z¤„0°¤mu1 šñ›‚_lü> ûm)p‰+X;xå|åß@‡AÎ,Hx ÑÏ‹¸^%óëaºÑkô>«èç[µZí×]×]ÿò—¿Üû¾`îµ+¹Ç?|!À>ˆ<¿G<òýÒ/ýRmaa¡´²²rÿÇqN†9~w`ÐqœSÅ8È:"ö¬|°ê@ð:*¸€í׃zéy,mo`Áé£ìH¸@®Ä'üÆ“„œˆ ιÃèÙ}@rÒrÉC2lŸexï4ÆuZRÚ\ƒÄÑ[â¥îý¥&,š¬0¨î ¡8XJXiÌCœº³·=: ‰} Q…ëUߟΙߟîùß%³îýßð<ïÖjµ'¿ò•¯´¿ð…/äþ¦2¤š¸×ˆáÓ¤yì±Çøé§Ÿî}êSŸ"Ïóžñ}ÿ¿ ‚àŸ8`¤($Výõÿm¥Ã:µTDáE tÙÃÌ­?„n}—þòitÞ»ˆÔE  «0]ŸóçêÕt845. £Ö§ƒ´’amÿHí“–mInc•Â(ÒúLAÒÌèJ¿4 _ï°d„éUIðY 8X‘l=ŒÒ©O rô£èà0˜æ@¢mi=úw¤‡{iß ÿËŽãü“F£ñÔ«¯¾Ú{ì±ÇlügÜþãIíჂ+Â&4ú<Çr2ÒGk&(Ú¾ðﳟýl9‡™Nñ‹®ëÎÇb`š(˜‡ i¤«.„jB¨ õ:¯} î_¾…ÜÆ<õá9*džJ¸«±ÁñÖ” c@œÛ” Ýð1ë‡ñ>!?Ø%¬P òŽ“¨Þú¨~R,E$*ÑD'JdnÒ¾¯´T_œ&‚`ƒ™IJù¿¼öÚk½/~ñ‹ý—_~Ù6ÌœS>-Î ­W +p¯1ÃÏÒ.¬úøoýÖoÉjµœ8Ø@‰V¬¿†Þ›OÁyõ,ps¢’£à NA|Ȩú‰·BKš4?>˜ÔvHƸSs8çöÌ*ô±• áјß¶Ê~~ñXA ê¶Q9ù ¸ûnGŸ€©ˆ2ÇñüYLÍFùuïA?‚ß ‚à8sæÌ…ý¯ÿu÷‰'žPcœ˜âþ©XÁ^Á®@NãßMç<;räˆø™Ÿù™òñãǽýû÷_7??ÿ‹žçý»®ëŠbÃ7ÿ×ãË´Zòd)i%û܆à5”é2Úg¿ƒàÍP¹°Œý¢†è£ì1)@ph»&€ËZ ƒ’ãÈaˆ€y?±<Û2íP³bÑfôÈ0üè>¥za[–°Ê%tŽ„{ânÔoü8úXBÀó€S(âê8! Šu›Òo›ågf"ãW¾ïÿ›V«õÏ^y啳=öX÷OÿôOeç+ {» ;4~šàç©®ßzë­Îþè–÷íÛçÜ|óÍ7/..þ¢çyŸOË äÑrdjlV> ¶áªË þy´ß| |æ54Ö6°ÏécÆ Pr-@ ‹€ºÑ›Ú÷Ù@ì@´ye„ ÃúÓèõÛyÔðû’Ð \¬«¶æ!N܆ÚÍ*×ÁÇ"X4@T‚p<ጨüy<¿nü¦âïûþïmllüÒ³Ï>ûæ÷¾÷½Þÿñ9~`È2öÜ+dø4¡ÁKfM¯½ö"=€666ÎÜsÏ=ÿýÒÒ’ à¯a±Oƒ¦‘ØÓdiú}J©ÁïyPÊ”˜ôE¢Ü@íÔÈ£·aûíç°}æm̵¶0/}Ô(€Wb8¬@.ƒô3ýäa2#a£Â80“"mÒìuÚ©¿±Qëýÿ6£gipb0R ø¡-]l°‡Í™YÐM7¢zã}pnA‹P˜‰ê ž_ÏÚLbü¶úúýþ]ºté¿ÿÖ·¾õÖÛo¿-¿ûÝïêµ—Ó½í¼¨q‡ÃqÞ,Â^h;bS~O»NÜ—öºí¶Ûœûî»Ï­V«ÎÉýyÀabíà€ÿ¤ŸÆ\ÒË4…¶íµrKKKâŽ;îðJ¥=òÈ#×Ýyç??33óžçUL& ³=Ím3Œ?}xÛp±îœG÷½W ß;÷½ÌRu¨9ùä“ÿúÏþìÏÞ_^^–kkkÜn·ÒÏb憮:i1§Ò˜çÊ"ì&€ =ÿNâøq=Ž%è@’æ æç祥%§^¯‹“'OÖ?ÿùÏÿ¥¥¥P*•m:€Îl©BS 2çÄaÁÐ{©(4P`Õq.5áðÈ¿ŒîÅ×௼ºt ÎÊê &$*(‘‚#Ž R»ÍL"°Õo…³÷X¤¤"HÒû.´ÙASºKóÀÁ%xn@åÈ­€·ŸP4 … @eÇ‘¢$˜š"_ÞÑÝæä'úýþê¥K—þ§/ùËÿçk¯½Ö|ï½÷‚õõu•âÕõÛm…ÍãÎYÎÓè{ÂövËg}Öý”óþÄ}³³³Îìì,Õj5§V«¹?÷s?÷ƒ'Nœø…J¥r£‚ll -M˜â8u”!D/² BmÃá„Ü@ïòÛ.¿‡àò èòJí6ª,Q!‰’P(‘„† † €Àát£øG ³d5øÐÀ»>•û0…zø>;è«Èè•¿^–öÁÙw¥¥ëPZ¼ Ê™ƒ¤Hn€Qœ $ÜðTfK•×ðóÔõG×¹Ûí¾}æÌ™_þâ¿øh»Ý–«««rssS"{Xyžû²Œ}'¡Á¤áÁ•€LJÛ'¹?íb²ƒXtfffD©T"Çqèg~ægî½ï¾ûþoFã®ëzf@èÞÌ,#Žgè}é1$7·>õÒT„.j‡nƒûëè­žG°ñ>äÆ*xc´Ñ„Ûë¡,<(x‚á2à ¡…5†£‘ÑÐ"Š$”½{@‘Ñ+>‚R<_ÍÏÁYX„;å}×A” ©†@U¡¨¥Jn  ¢0}¡gSl•8«¿®ò§¿^ÝQ~¿Ùl>ùüóÏÿÏ¿ñ¿ñ|·Û•ÍfSmoo›g™^~’ &¼L«L »㠞ǀ@^m’Í2rdÜg™™§T*Áó<@Ÿÿüçæ3Ÿù‰¥¥¥Ï{ž7«7e1scÛDBtÀÊ S1¢xðAª ‡ºpС=( ÁÖ%øÛPM¨N ªÕú= Ó‡êù  |9œ("Ás@ž å¹µ2P.CÔjÕ8µy¸xý oŠ*`”pL5H”@TÈ s•†ÑëÞÝæéõ8ßæù³Œßôþ¾ïo­¬¬|åÏÿüÏ÷+_ùÊ9ß÷Ù÷}n6›2Å ²g1g=#}Žr=!M3È WRŒ?ë6²xÙqê=M4ƸÇ~êã<ϵZmðó‰'fþÎßù;?tòäÉŸ-—ËK®ë ›6i@˜gêzAøé€NÍ䃕A>õ Ø‘¶"“„HLë m1¢ÂX L>:`%H¸`T ØÈ£†g%†‰Ê(¦§Н{lè¶úý¬X?gSêõz—Þ|óÍ_ÿÍßüͯ¾ñÆMð}ŸÛí¶ÌaÄãŒ}#PS0„¬0"k"ƒõ¶IA`,L)úí$ÆÏòð"‡Á›I±IdðXÏó(ê ô÷ÿþß¿ïŸøÄOíß¿ÿ~×u«6°‰‚yÀ¤¾fA7Œ¡ ®r5QÌ1±g°’ƒzíÓ°`£×)úÑÀPBxIhØQí1 0 Í»Ç4ÞIUíuQOs s–ágÕõk<;kkkÏ<ùä“ÿÇ¿úWÿêYß÷‚ ¾ïç¥øi§$"ã¾q¿ŸWcØiúp* ØKÈJýåãmÆlzq‘bàYÆ/r°‡ÁëŠ@@ |péÇüÇÿʉ'þr¹¼hNʘéÂ<`k¶ML`¯«ÄïÅ{8mºñ>zÝcëGj§™éém?›ï1eÅûºñ÷z½Õ7ß|óË¿÷{¿÷'ßüæ7/û¾¯‚ GÑS˜sܧR؃Ê>`Ìí˜P¸âÇûç¡úcüãŒ\ˆqÍ Ö¡R©þá?ü‡ŸøøÇ?þc‹‹‹÷¸®[IÓlY5Î݈MãOó~½lÖ4ãQÕÿ7WO<ó½)ò¥Îk¡üÝÕÕÕçŸ~úéßÿ•_ù•']×eÜívUÎ8}ÜYÉ6ƒO3ð4pPSˆÈ™Bܱ »DÿE£BO7hG»ÏÉðÖb 3Tp]—˜™>õ©O-ýØýØC·ÝvÛ_›™™9ä8™óó²,jcY€`©RDcNX¶]×OÞ±½ž´´^–×·xn·Û_}õÕ?úýßÿýÇ¿ýío_À‘ÇŸÄÃïT«ZU¡´†ÊÈ>˜eW{L »éýE†aÃbàã€R@ÃÉøÝI@8Ž“¸í§ú§ïx衇9zôèÇjµÚ¼­dx’°`œ`˜Ç‹3z3Ä0§éäÛßÍó·&5|ýÒn·7.\¸ðôã?þØoÿöo¿¬—”rZP†ñÚŒ™s€y?2€B] , rzÿqÅ>ysùy½¶Èðøi÷¥Æ¸¿“Kˆ/‡ªþÔOýÔ}÷ßÿø½\.WÇA˜ ®–5Îè'5þ^¯×YYYyå»ßýî7¾ô¥/={ñâÅÒO YFkóøYƒÓUŽçµ=÷´EFÈ 'Ý€iÒ|iqvìØÉz½¾ÆÌ¢šqŒ@WÞw› d©øiõ ã¼¾ šÍæÚùóçßxöÙg_øö·¿ýöË/¿¼–3e¦Æ¤ä8‡ÑŽi<*#k— dyÿ] &€¼ô?‹ä¡ýY0ÎÀ³ÀÁöû“Š‚ÓÀàö믿~æÎ;ï\zðÁï¾ñÆO,--BPÈ ãDÃibú,Š?Žê§UóiÆÏ—.]:wöìÙ7üñ^z饕wÞy§9aÎ|ä¡üÒrŸÃ²"@¾9;b{iñ¥ÇtŠ?&ˆ·¼¼Ü¾|ùr/™bä@þ²ÙÝ`Òb˜ÒãØA^ @í@(à*d0‚©@Œã8bvvÖ›™™)Ý|óÍs÷Ýwßñ믿þÐÒÒÒáýû÷ö<ÏÛ©&0i!Oí÷}ß¿|ùòÅK—.]|çwÞî¹çΞ9sf³Ùlö·¶¶|)eVü´·&¿€« vˆ)€€¦Ì ŒËR`‚` …R©$Êå²[­V#GŽÌœ:uêÐõ×_ààÁƒûggggff;ey¼«ÕÚÞÚÚZ]]]]]^^¾üî»ï^z饗–/\¸Ðìv»²ÛíÊ~¿/Ç(ÖyâÜq!r¨ìÓ¨þ<…áO»Õ-xÕÆ(æy€rŠ|NÎ4à8 `\Ÿ€9mh§VA™šz%"ò)¤uÁe€)ê]w¶ëãÒ€yg„“ MìYpÒ³9ÇFb¤7 Ùž#kNº9IaØB¬£¤cÜ—E§TCÆãÌëæã%Æ2Ói«ù7„åué­Ò éWl<ÞÜ"‡aÛ–JùŒ”v[Zƒ !Ùòj»Ï¼ã{ÎËò4Öä òTÙe¾@¾òÞqÀ:nØ$À‰€™9Çá¦áNsôdÚ)õy~ßübL` ƒ–ÍÍ=9Hÿ™-Ç)KjTYî×_“J¹/}©”ÇL7 `üÆÊ³¡ÇU®MŒ+š´8 Æynžð³äŒŸ'ý>v|¢ð®œë>1¼ö*Îÿ ©þ• öZ€<Óˆ“Pø<ÂÞ4ï Wì H3Œqž7v0ÍÏyEʼ€FS|ß0‰6e(“Ô;ëBÌ#@"™Fåßuãß+˜” ä1¨¬£ÇÙƒ7lÓ‰‘AÝw«XgRÏ>Â5À´ 0‰H87U¯Ã6–ßã-"o£&xOc?ç+S„iV–Ñëƒ.ÌÛMŠ.¦ÐÆL0àŒß½RŸ®RãßíÁf`4…Î3Y'o¬®,!†ùZ”e/g5BMš»bü;€)™@ÞÐ`ROL»ãi7(ü4e»;1pºF¾[Æ) aÒ0! 4v*ÖMB“~»nü;€Á4±òN¨øNEºI·ºõ>Œ0ɦç‚Àn‰ŒÓ†ÓÐû=7ü]€œ 0mÜ;m¬½[5÷{Ù’»×1þ » Ó€ÁnŒ“^ß©¡ïxÄ×;iŒk§õô»«Ó6öZôÛk]`RP˜æ¶ÝHOæ½¾kt/Œ×`B ˜&ö݉Ð0©_íÆ¾,b§iÅ+ Óê6{aø{ SÁ¤†³›iµÝ2âݦóß°aÃn‚ÇnPùÜŸÇ^þ€+{‹Ó½Þ³ÁŒ`·5†Ý¤ñW•á_QØ Ømc¾’¹øi >ÄF¾ÛÀ°ScÜ-иª ÿ€)@`#äFvú ùòDÎÍ&v¸y³4¾Æ€&Œ“'9•ó±*Çw;îDXöÔžœÒóAÿ» “nœ½ö¼´‡ôý¦\I¦0íïLýžøj0º« v ¦1º ¶€½¾+z2_m†vµ@±ŠU¬ŠU¬bP¬b«€b«X«XÅ* XÅ*VÅ*V± (V±ŠU@±ŠU¬É×ÿâŒØ{"AÇIEND®B`‚./chessx-1.3.2/data/images/edit_copy.png000644 000765 000024 00000007752 12141255204 017572 0ustar00nistaff000000 000000 ‰PNG  IHDR€€i7©@tIMEÖ "%BÁbKGDÿ‡Ì¿IDATxÚí[Œ$×Y€¿sêÚݳ;ÓÓ³3kv.›¬-‹È1A‚ÆïüõÇï”®j[Õ‚ê!l·Å‚DÔp7…d>#>ùâŸ>ù¯eȘò—âga âqÂ1MZ´ðõn±1m¿”ýÏdÁ‘?óåÚ…ü“.ÀWªüœÃ"à8jµñ ™5… #±S0à²Ì4Ü¿¶váÕY#ÈšÀ–ZT‘qÕX‘ñt3•Ùó oàÁg.nñÍÙÈȺ·‹†tV`bbacccacabãbá`%ûŸÂô/½´V€§½'ùÂÀŒ0Ø‘à&'ø8Tø ¤øùÒLä–®0F ú 08b‹]vñX˜T¹ƒ‰B|š¿. @V‚ Nöó]FCÜâ&{L,ÎR¥]€‡A-”S¢è}…©“Ž’ƒöšwy‡ómÁt]œb ±P"¡U/wâMÞ¢…Aƒ:‹# •„OXÿ|ê¡ý’‡ ¿ÓzT2Úð›TØ,ãv ¯Ãð àpý5@¡÷Šf”<8æM<\ *]Ú>«á;Œ:ÿU€àPD­1yª°‰àˆk€‹ Êü€óZ!Œzi>À< "@–À*ÀSÇ饔³” ”^•"zÃÖviôqÒdkØ)Ý©•§Çà ¯P¨(\:š+ÀálèL %–ÌPÌn ˜RåDáÓµ1s9 G³étNüHÀ¨–ª^D&˜rËws·€Ô÷¼tQ¬ˆUµ"ÎQc—›ú†ñoÆÕ‡ý™˜…Ú'Š/=ç¸â;-×w´Ûr[.¶þÅ0/!2c …:¹ôšøžþ‡WžjwE9S¿ô'l,ñ pRxH¬ä±Ût}§åzŽçz®ïúŽ£Çûê/ØÏ?|pÐòØmºsâúN«â;¾ë !¬M5ªLpp01Ùa“A8JÝç85›þNë±W„¾ËÜ:wû^¯Xƒm¯F .NTuÒY†¡x?¹§® Zì$©[ñü±÷WO6ï"ðÁƒÙù!UjT¨à`acb ìfšý¤Î$F QØœArÄ. }?nþþ¥?šûúÅã»Å ˜pŽyl,¬!„ÕIñ…n+Ãð°±óë$›4á_=ø½—þðÕo>£îæIà,ð‰¾ÂæîµÈœØyË|È ¬ˆ¿¼ø›—íÑ/@³™dóUB£Ô˜€ÀîÚöyg1x>­¯\úÝÇþb2"î­ÇÚ'‡ÑýÅcš“¡ÄìÓöí{>Î ïA•¯]þió·F ˜rtE •Àî­àæ ´Ðˆ‰GÖ€¶Ï®+<ÀUú7Z®~zøÎ±ÀÌW¨ÞV ˆS $&VTE¯­Ü:Þ£ù l@|éòïŒ?²ãé1„°šaW 'ÖÝÂÀê@‘¢y0üÔ?x¡:&m1ÄMŒÞ[…uáMöâÔ"*¶‹°Í-nò!Û¸Ôp8Pw>;A/ Ç>\œ@µ€;̽—]n±Ë!›6‚]Î"9ËÛ?Ç‹c•QzÆn[»Y”tŽû¼ÏMŽ‘ÔXät¦†?@Æw¢ªãj€ÖyõÕ -}e6#ûRÈûÍû¼ƒ‹Å ¹kMS*úž±^£J VÆp줉I5”Ëë¶ÏðŠ+µò1Å[ìâ```SÇîÛ8Uv`hhkî¦Ý/6Ò}ÄO÷éÀÅuŽp©àRe {€vºµ—çÆÐá¦0¼âëÜ–ôÀ/$ mšx¸H j}Ï™-µòîáÚÈàWbªGË«>-o…( ŒÓ §p©0ÇÜ€3†#…PCÄÊ ­¸BLíò:C'û°¢bÁ9ZI Õ`PgÇ vËÆåuFކW41ôìL…Œz±4†ÔÕÔ†uyºãD0(Þ’ …êch€a«\ü¦Fhùäh¯D)Â6¶èºÝ°ÚzÑ„O—~¹0 €ZìTñuß‘[låi@ø©za Ôè1KT÷?…eú£ª‹ÌI‰°UÇÑYÕ] !¬¾}Ÿ.ÃR½ÓØøChïj ‘ÑLàÁþ^uÝgÌ\t®ÒÄW¨f‰ çòtŸt†˜aÛÇ­ÏDj$C =¦ð*éôŒ…O_-€ùqCUÅQÁPþ¾_OÍLx:ÌÔHÇD£ùU#*XÆß÷Ú7K«×]L tä/žËÌb¨‰<Ât[>¿Í;0FÔ€—MaÇóvôÐ-ŸîÕ3¶ún[Ùb;çÔˆ6ké›u×Öío½rÅ+¾î‹!Üh§« ±á\žÒPŠvy½>?š|UÕÔÚbã ?K«×]ÆÙìÆ̪ŠûPjÑç êôG@øÔÂFšxÑÉÙ>!Å!’'A”)|? "“Þ€¨ü'‹8Ñ3„,Œ˜&FÎXÏ €b¹dæÈÔ´ãè§ãdC-@·þ¦…};P7þS tM¯#±’R '*¦Ñe¶g ƒ¡€ sK4æšmµf$|N˜‘hˆ‘û® •TCL7þfÔþ ?ƒÀKªÀ¦@ OþÙ³—ª÷™“ƺØ‹D®Éç˜íäP+ÑøáZ3 ?1cÝgh~-ØÉí@€I€O€ÏAç“}Ì"[?|}ú:7!įÏjcqÃÞpΛërÝ\c.ÁÃã(óf;)¶±£ï¥Š ÆÊígʱ‚üœÕÄý #à#‘ì±Ó­S,Üä·¾µÇë\‹m¿²ø“çkµµÊš¹a­«Â 4ifrVTŽådª:/X%(T&ÜÛÆÆ³ÉÑlzlfŠŽmÐß¾óím~ùå•O®-­Ÿ^uWísöšq0ÃÄvÀI2¢ Ɖü‡…ŒªÃo.k°µ……$@›Üî ˜‹7ŒÌlG¢¶ýÿèçÿûùù~\‹pÊüüÊ}«ËkµÕʪ³j3Î"»Œ™LèABƒ7·1x›ã~ßhÚú:6/¨Höeh{±ï?û.不\µ>ÿcVVkëöªµj®ÉåðƒZ´ÚlßÂÂÅAD•:7¶1 x‡›™ÜÜ›-´3ìûCn«WÕA¾ÿÓðóøúJäAÌu¹÷1ùå‹_¸sƒ7i LofÛp‚wÖô30üFë§ç:¿¸î¬›bÃ8/7ô)€àà‰{¹5ª×ž>ú´»è{=ùyQ ¢Wõ¢<´¾ùòooÞmÍbé¦úã #¸f¢éJ³ŸàÝùéùµèp­y3(pFÎÿ:ÜÁÿòÀ«¸IEND®B`‚./chessx-1.3.2/data/images/edit_cut.png000644 000765 000024 00000032657 12142244753 017425 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ#Øf~Š IDATxÚíy”\W}ç?÷¾W[WU¯ZZ-uK-Kز-/ŒcÛŒÁ`&„ “ãC! ³@’ ŸœœðGH˜‰gB˜Ä$“ÂclË6–÷M–,c©µµZ­Þª»«ê-÷Î÷½ªW[wUo*Þ9uªkéWïÝß÷þ–ïïw~züôøéñï÷ÿ^nT)_Ì?ú‡µ_Ü h•G«“À©ôÞOJiéŸà<<¦ïýpV&{· Õ&„Üx­6#ä&` ° ˆ-pšðð8ZíG«ÇÒ{?ýòO:(Ú3üVØ$ìDY¨°9æ Ò«t go_×^ñ»×fæ§XãôëdÇe܈F¨fÖV µX¿¬›“1D²™Z‡Hô ì(„ Ú@k Z¡iÔìITa¢Ñéààëhõµìµwû)êÍÚûþ[°SH{s ’PµDÈþ@È{9¿#ÝF¸É^D²™èDÄ»v K•!Ëÿà;8Ç~@òÁ“*­Ì Ø)qÔü(þô+u] ´úB~ÞêÜúõŽÝ¿ìþÄ`ö‘ßOjwÎØRioA«~„ gjhc7©eÏÚÔzdª™Ú€ˆg‰@°Á+Þòyý©—ñgŽ!‚®d²Û7Þ…°ˆXÚ6:k[=´å•®ÜÒk­ÜòL ½’ú¯W ˆX„Œ£µÂ?û¼ùȯ£Õ½ù‡Ù½Ÿº÷'ûnŸ]ÌÉv Ù±¡lk]Èxì3k­Ä’fmåvJ‚ÐÊ/ ZûÁ{õqáåÑn¾¤½ @üJ@„çAQUZBÈ8ªpÖh–Êc?Z}:{íßøIЧÛM|ðFdfK›YªãÕ˜µ¡`µ2ŽÛ2íåˇÒïÕD#-Q‚J-úu´Âƒù›Ùk~÷áóY<ì±:·’¼ä}KŸµ¾[ÈÒ -0kWò( QyFàu ¼@„ŸWk‰u4Géo!ñÆŸ«öþ!?–½æwO·šñÄG 7fµ:^Y»r·Ršk’V€A!­Z@¢ZKØfÆDýí¡µ]{Ý¥ l¼±'Ð~à=hõ¶ÜƒŸüXöÚ;þú¼@Ñ:íæÎ/GÚ Ài— 1Šj@DÁ‚òja0E ìþ«À›Ç=ý8@BþUnßí7ÌîýÔt[ Oß9  \…š;o¼ÜÀV‘ìÆÊlA#³Ó@KÌâŒüÀÐÝVÒ„¹VÌh+aƒ´°º¶·dëkIµ¼I"᣽B™/(›Xã£eh¿XWHvßÅØ}/àø(Taaw˜ü|#A8³‹ ²XÙ£ó§!¢n+&þÄ‹xgž63=–2¶1B€Œae· „D»ó•Z­)äed”"CÕdÐj}Û l!­–|y!$ÒN¢ü"Âîj’Y©ÊÉ!CõÛÌÑ”ÖÈêÚD­pOý•A&{¡Ë@èæ{"–F¦ûÍýVkí7y}Id•¿ ƒ"Xåæ£Ú¬m5ÀTÄNsp‰ù ª0…•êi,*»íΙJác„¿h´B`k…G»sµ¶wÌAÅ Ä3ˆXK™˜µ…Õ2åÚÓ«bU‰ *ëÖ=ê5[ Ãׇ§²âˆXGéý’y(ÏŽU=ÂtíŠ&ц¥ßNtµ}šž ºWÈ­ïÏžÂù~ ݵù„PºÂ3×Î,Õ”°vçLÈ$DÉ×Ð^¡ÆëÖî\™™´âàAûX=;MØ9{ÂÄþ±«™„^Ï—ÖþK`keÂÌxÖ8gÚG§œ#@¼øðÍÆ«_*Tþß5§ƒ[@è©(8‚ÚÉQ|é_Ð5± ½‚xù…ã~iA,Åi'’Dé3ú¨IT…ç-NU~uÑ×Óh!Í9CsQï;hܱ'ˆmÞk@´i›($œ&óc=Àš W>øKÔ±V}&N¹‹*ÚÌr/Hö”Ó¾õ¾WòY &E¼tm´Í‚/Øê¯nMØl`W»š' êVö ”ä‰,üb`7EYs„«’d¬ ”GÜ9ó™Áê%?HdÕL¥ÄVôup.aÓä;uÎQþ=™ZW-ÀÖQ+vÎЊ(.D»Vu¾ i˜þUNs´j(°@#”€€6À°S¦†O+Sp~¦\c·í”ñ-Bç³Þëð\Ò6ÄP½sD~Ïê½È†,çˆæ„ìnW P0êµ~±‡Höºü×Ðxb!‡ëðÅ"S½ïiå¬ZUÌ!bX™Í¦l«0eB;if´*Θ×4¾©ÎIt#Phå¡Ý<2Õ‡Hv¿8S熪–©^dz#"Þ¹¼DÆ¢ o[àÖø!Èx†Ä¶›OÞ&ø}íÎC°§Õïi剪„™©ÊÇê6 ­K³VV*°$Ñ×¢–FBšsT½^2 d%éÕÆ`¾‰²¢‡•@{yÄb)Wi!¡UA Ùa¯H«bP€D仲jV½®WÈY}Žª×Kt€Œ®ÔŒmëøÕ>@Èì­#-3c}g‘€"nÔs¨BÄR–XÓʪ%³£ÕšènOh5[¾´F7÷S"ÖöEA`Š@üƱâ¨EjÏùN&q>h!u5…¹jÏ4¥9¤¡6‘±4j5r +1û# ª*œc­ÚVÌ,®ô!ìTeõMöo±”±Œ¥ƒuNÛ¾Ôt¢Â™mï–ÕVÈ¡WÝØÜƒŸ0éT;TÓfƒj bÈ TX±ŠÆ XIcÿci{•¸Hí; Sá¦Xè;%05ñ½UŸñ5ï…ëIJàδ1(ä‚Ë‚„x/6V4V|IY=‘ì3-Ùbi/˯„Œ –m uÉ{1k‚z‚¯K¾OmЦ@+…Ë+ _ÊzÆ‘ÓÅé…ÃB[ç …_Ç‘v*Ìfd×+*AaÅVþ ½ ±³Õ¬·ïöMí­´j „)`|§¢KÉcObÇŽ8ŽK&“álÄ”f´Œ¡½<ÊGk<ÌgZ)S,R €F‚_ÐÎ+jJâ}WÈLvï§œµàVÔ^ú …_¢xäÜÓãO¿²òëû xD̰iጟdçÎ(¥Èf³ÌäæáªH[{?°¿Âºbƒˆ°ê‡2Z´óu_ó™ªtFµ -¦sûn_ÕÜÀŠFÞècuóÂNš%ÖñNdjÙé+º1T²gYj¹‡ƒ‡_AÁºu}äó²Ùl0«ýJ{+‚u^qeæU hÚ³WKÓœZ­¼&a V~îø‚ƒ%ìDyC©: ‘©Þ¦yaÅ9ôãlݺ¥Œ:ïììDkÍÙñÓ¬[_¹WÓë@k¿ù*§•¼¬¨ 5sè%ÚŸ¡mP/¡_:pµWÄπ܉EA";6"ÝæïÔº(ëJFNŒsÁÎ QÊ\g:F)ÅäL‘¾Þ:´9°¬e_µì/5p¨»²{?åäöÝ?ï5ÀŠi’$~¤¯þD©'ÿÄÔ {ûû ;(RJÒé43y@£Ýy³µ€ÅÌÁÊ&½2‚×M÷WqrûnNa{ uå!1{5w57ŠÊ£æÇPógP…³k”¢ã¢”¢§§2µžÉd˜˜ÊºX–û+¾43°Du_[d7ßnæœ@ÈDð¼`L.{_½¯ª¼awm%ÐógÐùqü¹Q’ü¸Êü­´¡m8°A8=3‹Öšt:ƒçuF! „…¨®(ZÈ ÔÌØ|éýsÇ«´R’DH3pKh(ÈÌ&ÈlÂ^¿»®ðÔüX(ÔüX (ÛÏV¾Öš|¾ˆÖšx<^@è;:VK¹³f‰Gðw}3†„+¬îK+D›`ÕÉœ4V×0V×p}E[˜ @1ZHÉÄŒ™ºÂdh…㚪%)¥i÷"J):;;™™¯óÛeM€¬“%ÔÁZ@aQÛ*FØ[ ºJY·ÐGímÂÑŠ È”¼å%ÌÿeÇ÷Énd²»Ö¼„Û¿{ùrOþȯРJ\€ŸŸ¬éR¶`¹Ø‚³S”95’H>:ìkþoð~ÝèIXkVm½t&°ÌNµGDPJεH{—xÜ4yt])ei&†˜*XuŸgPVtAo㦛‰ZŽe°ÒÉô4Ï–0t{@HQ­ΕóR¹}kíødÒ ùü|…}Íd2h­ƒHÀÌòÄ:О³ä{¢þbѹ|‘ãAÛY»–O8G& •_í,©«SZ«Ûj®4ëð¶»;3H)™šš®ˆ”’ŽŽ&§gK3¾´Qu¡•FW&‡1=3Ç?|í~îüÂ7ØØk®Gk%¢áæ9Ú‡éü"‚JÂ_\+Æã1NŸ>MifšÐ0]‘43>¸€Eý&±ñ)¾sÿ~ŽŸDz,Ö‹Ùæ+ì+_µBÕ•@¼FU5‘neaè¢ÂØüÅŽ­[6266†¬Zú]¯.À,C›EÛ)æ «¼§p‹ 8vò ß¾o?£cgÙ¸q#»víâÀÜzÓÕõïË/˜°Së¶€Iº[És3ó[>ÀŽmÜ÷Ð3ض]Ò!tìè+õCAw-í@àÒ€@ùMàð‘“|û¾G™œÊ100À­·ÞÊÆøâÿ/¯Þ½“l:u\¼ŸТð¶öó͹‡)ò‘Ž&¨Ç”Ìï”òÚ­àêà¹ðÝcn>϶mÛxÃ7ÑÙÙ‰eI¾úÕ¯aY’·Üðš¶ÚV1¶+¶¶3‰GOw)%gÎŒ³nݺJu~ †–)d‘‚¯ÁãϾÄ=?|Çqعs'W^y%©T ß÷ñ}ŸGy„ÉÉI>òËïlòfýhDPlG$Í%X‹Ížô ØÄõ}ÝŒŽŽ²~ýúDKÄë3"žA99´*–FÊ™åá'sÿÃOãû>»víâŠ+®À¶m|ßÇu]|ßçàÁƒ¼øâ‹üü­×7Vý ;N…v€É®ò¢J½‚ÎÐÖ-åŠ+®Àu]„%.`rz¶!J‘Y<‹*L¢œYîߘGž8€ÖšÝ»ws饗"¥Ä÷}<ÏÃu]<Ïcdd„§žzŠ›ox-»v µ ó NÀoGdË ù(`e¿4P mÞÀÁ{ª h­‘R’J¥˜˜Z<ûèù>÷<|˜'ž} ˲¸âŠ+¸ä’‹QJ£”* ¿X,âû>GåÙgŸåº«/ãuW^ÔÚýG“]a;žv4¥KM@/MðÑÕ³a ¸EEJüûÐÀzr¹\ÉŒ2‚g'—ÝÏç‹|ï‡óüÁ#Äb1®ºê*.ºèB<ÏÇóÌäô}Ÿb±ˆã8(¥8xð GŽá¦ëöpõ«w5?ªVƒÊm® e¹p½}z Jµ‹N;f•ÂºŠ¸9t檜ºlÆX­ññ³Ž`XR}LÍÌòûãð+'H§ÓìÝ»—;.Àq\ÇH)…ã8‹E\×Åu]žzê)fff¸ígodûÖKùÃnèîlä­Xâœ`æßꌒ&+.øÒk]ö‰`#'H&ã•n2¾¹'OždÆ dЉã#¥×§Ç'ùÎ}û91Fww77Þx#CCƒ8ŽK¡P,'*xß÷9uê$•Lðß?ø.’‰Öý#Q§Ü\+W·›HT#60\M(¤ÌUólW¤ ãÁGÿžÃO}±‘§ÑÊòãlº’Ënø;ö6匞>]ª #é™YÎNÎðåoý§ÏL°qãFn¾ùf6UÀqœÒ`llŒÃ‡377ǵ¯¹ë¯Ù³êЋúíµ_€°©rœkq¦ëÖ„§^~ˆïüÕûP@7ìÚ 1 Ïáô™ñ¯õ#wþ 7¿ÿ‹‹`#ϼøh%†‚w~áklÙ²…w¼ãZúúúp§Bðžç•lüÌÌ §Nbdd„b±ÈE;¹õ¦·“ʨï ܈_Xh‚H!*ÆGØ §­LZu–f~ÐÈ`±õ­$nª'îù,Oüà.¶m€ 7ƒ%+GaÛ˜ž‡}æ÷ëÜøž?kx®á­›™›Ÿg~~)­’p‡[n¹…\×¥X,–ÅÌ)‹9r„£G233C"gÏ¥ðú«/'$v”Wav.ÕÎ\e¥qS“+iê#ã¤\Ô#\µŠàæ d9ÐlÚr ô-ÀK™'~pWæ˜+Âcpf|qèï1áê ááç¿Ï®?¦íõ“-¯üèn¤öŸ`ãÆ % œáaÍ`¨!\×edd„W^y…ÑÑQlÛæÕ—î`Ïe׳®7ƒv ÛŠ G"hX)ÐÒ2ôq“ë#´ÖÈ`mÙ‡¡ó <ßV&€HÛ’R^ÑH½¤þÁþvôáNÁc‡!ÞÑËkßúb™-ÌŽä…}Íñññ£Šó<~Ïgyæ¾»@CßÀmŒž>ͦMý%õœN§ÉårX–…püø >ÌÈÈRJ.Ø:ÀMﺉá¡þÚ°M¹„˜éJRDh…ˆgK9„fA „ˆúÕªU´º"ô˜QÿU¨ðì—Èæ½ðÐAÀ«6C.†þ ßÌ;Þÿ§‘o½…×¾ù£|ånàçNrÃnøþÓ“ŒŸx–î ;yä¿Ç¡Çþ)`{?ìØÏÎãÔèöDËÃ:»?;ÁO<Á¡C‡p]— ëzxûMWsÅÅ4 Qu טDR¦)ÊfR—·¸)ŧÁª çÜ@«LèÔ«ìY áyî»lê1crð8ÄÒ몄_>Þþ_àK¿w1£“.ý=ðÍ»~ßs‰ÇàâAÞ,þÕП8Ê“cÓH;I,•Äsò¬³^áØgM sÍk.æªË/$‘ˆE‘Æ/,¯°ÚN”Ú×4‚€Ö~Ḭ†G³>@gT„& 1‹·4œ>ú8n6QàØ4\ñ–_møÝ¸¥éÝþVNû:W_Ž»t§ahLÎÁýÏÂl1ØÔ3BFÝσ÷}œÓ1qjœXú6½÷}èã­ÇîV¼´ ½FDIfäY Md<ìl’2+„Õ°¨Dk?Ú; €îìÞOitF^t#Þ~©‡%Áõ!n< ·ðªèÂ|˜]¶:g¦ð»vÜ»?ø'‘þ=¾ð‰ éé„K†ÀõàL ¦f'–u½"–Y°Ó˜)*1ÛÛ4ZûWÇr ì7kÐ)L¶¢*67Ò‘>7‹_kÕT_¡t×&æ‹Ætg`äÙo,2î¿›uYcç‹®‰Öm¿®Bø¡=ÿÙ|S“ðèKfé_GbþiÎL/¸‹õ±Ž`W2]»!äV*Ç/W£uÛÙ\Qhµo \Syë¶ݷ0:eTù¶ púðœy¬ÆáÔZóÔ>G!Ÿgx#H „Lw/ïüÐçëž»§ïþØ÷Ÿg!×QLLž]6ê•–×€ ´¿˜öœ fÿôZ4‹lÆXÉ`¿àźcEhMi!£-`ü¢©´qçkvü¸ôÚP(ÂÉIØÒ{à[qÏÜ÷¹R£'?ÉÃÿòqöïN.Ý ™$<õ øØüÜÿøá¦gˆÍ;®a|Ò P æÎ¾¼£h×ßµ*LÄJ[ÓUmeS¹§h·N¡]5!`ÕëÚB°*”2ƒ,¡TfkVå”WéÄSÝ\°û <õÜ}ôdàÊíðò(ìÿÞìÿÞHiØÀ˜ ¯Ýºàäœ: oýÀ_’ˆ7‘ ´SGÂŒt~êàêekåÌ‚ò¤‚…´¢hU˜D&{о‹*Tø:gÖJø­ :\!xQÎâ•DVhTX%-Ô¯ÿÄ©W®ãçfyÝ«`G?lßsàù°¡'cìþä,<ùc¾ümlÞ¹·©;þ Ã}Á& œ=ö(Ç_\OîÌAòù<±XŒDvÛ¯ü9,)¨v~*°siƒZûe-!ch¯€?7†•ÞPÞ¹ÔL¬Éöã¢& t¡Õ—µ‚®BãÑ+$¡ÿé·æ›þNŒŒÃs?úgGöñ³½Ç(<å”g±[D±»¶ õ`˜íiuæ0ÄQ¬¤=…GsÕÝQfÚV+Qëü­âªÖÁ‹ÞÈàEoàèÁ‡pó c¬ßr]jnv áIDAT}Á&³• -#3³úxþÁ¿fs¯™ýqÂá“FAÅl KÂEƒ0¼z3ðÃçòo_ù${ßþÛ•KÜ„…LoŒhÏ@YyK»¢'Œ;.7«Úç@H‰°²•ï·› ˜yà·4,U¯nõÛ›l½ðš:ÌQ¼Ö¾úNiУÇìÔIrSgؽËyÿa˜œ\|ݯpÁž_d]_“c¼ôè9ðЙš…+† qtèñä5oýR©Ž Î*÷²âNn8Ûµ®ÚÈBØ¥ ¯+øi¯%¾ÂŠu•¯9Õ(t9§‡hVnYW‡™{ö‡ÿ‡TzÓpä Läàþ*¯{óGX××g¸‚Þ \õ–ó–|“&ݶÁLìƒýek×$ƒ+¬"ÖQ»q¶_D93(7gŠBÊ÷2ÑV@«Îš<@›4‰n Áãàþ/³u½a(^…]¯{7½›vÕ|OXqú‡¯aøÒ7ñò¨9ß@<ûÈ?-ÿºB@„ ˆeÀJUl–­Ü¹Xnßí¢} dWE_‹Úý(æ§QÖušDS¡ƒ»ÿÂÿ³ýòw0=küƒÎ 8¾J`Q~¥(¬øk¸h·™ꪶ¹Z@uç¨ÍYS˜Ÿ6Žže<|!@Ú ×îÙAÄãÑAÈD®ì¡ÁŠãž|(Ó‰ìµwÌΕX‹ÙÕŒ ßE«¹ÎHÍbnÌ\s½ƒyÇ0€BÀØ‘GƒÐNÕ<&N>C@g%}[;àf<­ü5‚¸ÆW Ï÷ñ‚’nÏóp=/XÖå°óuïåȘaú.ߙ囟}?9‰”’ù|¥4§OŸâŸ>ó3 |^5`¸Spákž|¾€ã8<<ÏÇ÷žïÀ£Iš+­åL6þªaq@«®Ù#Ã6A1ˆw™8Wkð€`WqYÙ2b… #“6 +J[¼­dÂ=Ì ^Ó9ôòëÞÏs÷Žý‡ö^7\ œæ±/ÞÌc™­ôö_ÄìøA “GHÄáºK _ð£CO¤Øuõû(çK}£+¤ šD “ÑB „a…h¢ ¬°LšØ›díK[ï¹Ñ{«ìVh¯T «ÃN˜¡FÀ¡•ozשׁ…OäQ¹fT ¥%™›ËsÓ¯|•ïþù-¥MñÈœcqÃûîÆóŠH)‘Aëùp‰„]78f}㢫…d |íåg0ËðTÇbˆ~¦W " ÷øØë/3,V, Ò®`±DHÉÀüb©2f%(-Ê¿®²RÚ|.„À ¼øÞõCÜúÑ{øæÿº‰{ŸK‡LÝÁ–¾ÒRT4pô ¼t|‘âï¿›MƒQ,:ØÁâ!ÌÊÒj©r{ZBP "‹–É…ØI´_@åÇg0Eé*áûU@hE;, "ò(Þä!¼ÉC•ÄF,Hô “݈D"ÑeÞ³ $BÆÌX ¶Yã{‘kmíhm»\º”è¬ g–gYð?BkdèŸH˲PZÑÙ³™÷ÞqˆûîþO?ÿž>ÝorÖÔ$öm¿žëo»Ëd =ŸX,VXIÐ <7³>PÄRà9¥|Šš92‰iÇW=û­* ,/x,ID…/ÔÜè]2Ý¿!wöÅâÍÌ.LàO×8ˆXK›ý~â]$vÊh+µh"I‡QóøA¹pÀ;„ƒ|è€ê@øÒÈ žïó†_¼‹üü ‡ûgN$—›"“îeçà… ^þ twuâyÆ©µKKÁDé|ÆÍͳŸ,lr'Nžž4€jð ˜…ð½|³Â¯€¨€®›?ÿp ÀÙ»¯ê·:‡·‹D×6¬øv!cÃÈø6aŶ"ä@ET¡Ú™F;Ó¨¹“õiÑXÚìùÏ"â]ÁsÖDV²Â–#b¦¢fÑ©.å&"¨»3%kBˆÀÈ "Î[ª£“Ý×}¨îÀ(¥°, Ëp‡rgK‘À÷Ÿw Ü«F.àÌÝšm0ó¢Ñçº1•üôm›†ìu—mñì°ˆg‡„•Ød¨bqÉ¢‘g ìd<ƒHöí‘è»Ã˜—V»nû³¤rË™CÔžKiƵ¬Û×ló‘ìÁ;{÷ø \}ñ­w¼þØ„*Df´_¿ÎgELù¸»4?ja´‚…¾s÷¯uöÞ|ÕæmV×ðV‘ìÛd+2¾U؉Vøï²ïÑe¶—‹¥‰¥v¢²#÷¢S0ˆX¼¼Iá*ߤtW¹šYA,(þ*jî$Ú+Nt^ÿ™[«ì¼ß@¨@à,³€dÅ4Àrþ÷âÍVìÎ÷fvïÜ´Uf‡†ddž¡ ƒÈø°=­jKŸ#jZbi3»e¼QM~`b” ⵿zt¼4{Ÿÿ´rQùñC]oú³_©#ôz`]ê¬_È Ô D/ V?«8^8á»oøƒ©˜5@ù¥½ÉÌÇnéØºyËàÕ¹uP$ºE<;$bé-ÂJlA”+U´ra!ßÃN™G¢ ™èAÄ3öH™mg„@cÄ ü êG,!¦ýÀ%Qåï†má«ØwL ™i22ÔN.¤Ã±‹Ú{<{À Vp#IÑàu+3º•÷YÆëz×G:øÜ{²ý·¾:1hwï’™A™ìÝ"âÙP{¬oE{ˆXÚøÕÚÃN•©pÙLù¹2Âõ]SP8¦Ú+³e'ÑNŽÂÁ0Ëèþoõ¾ëÛR'Ô 5Àià8åþz5@BiVxKpCa×y^èoÞxI<ñÙÛ2C›· Z]ÃFs”µÇB6ÝÓ¥¾öÈam2ˆVì¦ë$ÕüÅ—¿fRÖ/ão×ýç'ï®ãè倗ÙåP¾­AQ–FT±1 \¯¢°E¯À½Ï;Þ埘8àés÷·ê\ÿ–=½ƒVï®!™Z7(âÙ­ÂJ ÎiD-GÑËÞƒWÖA&ì”qø„,ûQÅ©c‘0:þÑ`Ö«ÕrFšYë­Wh6/EÈË~3TÌ/Ý5s fNÁ‘G«Y¿ñ’xüK¿Þ¹9¶~÷V™Ù2$âÙm8¶ ;1tG}]œ‚âTcß#Ð2ÑBày¦ôù‹§¼ÉØÆRgUfC/]ÃÉ®Œ°›pÓê¾EèEÞÓ÷>ïxcü%¸ïP½Ï¿ýñîî×½vÏV™‰®!a§¶Ü&¬Ø6„ HJí5Úà‰#Þ$¦Ì3‡¿6\Ä žc¹*½á¯jÞÄ{¥çÛ~&aÝùÛo©uÃ"–Óa`;Bn6Dèç~õ÷Þóœóh+4n»`©ÀXiá¯V{^sÞÙG~?£ýâ00”æ/^Üðk§_æ窒³8ZQ÷b™÷ÔJozÝôJ†fÿ°R|ÅRL^æëŸ¨ãÿ¾€½@þ¼DâIEND®B`‚./chessx-1.3.2/data/images/edit_find.png000644 000765 000024 00000027045 12142254551 017542 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËtIMEÖ "R†rWbKGDÿÿÿ ½§“-ÇIDATxÚí} ˜Õµÿ©ÞfaV`fVA@DPDˆŠ{|®ÉgD˜˜|./æ}Y4’¼$ÿ—=~šŒkŸ1‰JT Š ‚,²ïÃ:ÌÀ° 3 ÌÒK½û»U§úvM/ÕË@zõRÕÝÓÕU÷üÎ~î½DŸ·ÏÛçí³Û´Ïʃ꺮-\¸°"ô/«Äë|ÑÛD¯¯®¸âŠýš¦éŸ ¶7Þx£0??¿(ê'ˆX ›D®¯Aðþ¢ãè9švLüý*qºR—‹¾B€¢öÓЬÀìÙ³s@@·ÛmÄa¢VŠ^#z¯nº…â¿-ú›Br̽úê«[>@ÚŒ3\'N¬Ä´ˆ Çþ‚¸LTËÒùÊËË£^½z‘äñxHH p;T«ÙÛÛÛ©¥¥…Ž?ër¢¿/¾û¦¸ÆB:ìýQÚ[o½U*ºÊårINGITÑkÄàUšœ[!º'å›ÌÍÍ•DåŽ×999äõze±ñwÜ‚Á íܹ“'[DW ¾çóù$xŽ;FGޱÞWZH¼7O<Û³¥¥¥oŽ?Þÿ©À‚ r;::¤.e¢Šc Ž&çB,ƒ“óÒ¹!×¢3aA&,ˆ“´,?|˜Ž=•àö÷Ôáw\£³³Ó~éFÑ_RáÙ+¯¼rû§sçν_ Â#éŠc ¤*ŽqnçZVåÚ,}Ù!æÑùÜÏœ­'ú9îÇÆÆF ŠÈŸ×ç‹ûÿŸ©S§ÎÿÔ`Þ¼y­‰Œ,p's,‹Ž÷T®Ò"­U È|­ùý~‹s3îx¦'NX’Eið"þ[Ø ³>  ÁÔÝtÚi§QQQQqÜ\k?O§*@’%t¢Ïøý(RáC’ÿºì²Ë>êÉ`…8ŒëÝ»77.e®u‹k3ÙøwÒáv§@3ìß¿ßn+ü¯Âò N,ñýÑÞ„^MDܬ@¸ $U¦ˆìäóÊÊJù»õõõRúˆv»k„4}X¨…ç{$TD·µµ‘ðz„‘]i";ù¼¦¦FŽÛ¾}ûðºT€â9!Q¯Çé—_~ys6Œˬž Š¹žÒÀý±:ÀïóDß÷9€O¶Saa!ßÒ­b?yçwÎî)8`—éZô'é2 Áxõë×OJ“y#ª(¤Á¥Yqà |ÎnO’LÀt¹9 )(( áÇs("a¶° ¦ôÀîGÇzlèSÜ;82ÁNHà>5Š¥¨OÜÏ?çÏŸ?4k@Áõû9ô 5€ OORN¡:x@2ŸŸ~úé´iÓ&œöÕãâxmVJqÖ `; 'I€dã ,!bI‰LÙ`¤ªª*þÙk„=0>+%ÀÕW_Ý!nyñ>H™ªu2‚8Ù,%TnÇØ , &A‡º„Í‚sž vB戣 ^€Xy›ÄaE6Æ8Ðþ¿ê à!²½á3­²Ô ÐÜÜL­­­’àø$·.GÇy´ßð\DœãÅ5¯}?+5 nð »è ƒ ÌDÃó#Ì{àÀyÎ.zqq1!\îNÔŽà{ÈTB8dk$Ä>ÈÐbˆR‚C!Šps‘8µ!<(E5¸mæn\§¬¬L¾NÅ.J0P™µ­Ù Ê €Ü»w/mݺ•víÚ%99”v%jàTaÐ 8PºfÆ ‹(6ÁõöìÙ#Ïâ]5ûôé#E}:†)$caÉ’%y“&MjËZ¨q€Sp÷ªU«hùòå´eËix¥Ò !¶mÛ&;7xĈtæ™gREE…å0áù5Àâ§R™„¦&ÊX:¡  nAm6ª€£ ¼jôlÀg^¸p!}òÉ'œaëb˜•——ËHÛ Aƒ$!ž¡ÿ1È^l©C¤³ähhh°p­Y³Fv×9묳èŒ3ΈÐÙ©p},  Ú'â>ʲ,½é$Ã)+W®¤·ß~[tÚ >~üx:ÿüóePÄWÄiRF" ;€Rî~{ÇŽ²x_øÂè²Ë.“:;ª‹%)Šk”÷ûeµ À–ªèK¦mܸ‘^zé%ËO憢”ë®»ŽFŽ1x©6Ô«°˜<^Ÿè9 tRg{µ·µRkÓ!jk=BmÇš¨õp=üáúFø÷°ø¯¹æy/©5oÞ<ë÷o¼ñFºöZgY]cðtWmÛÔ©S‡gÐă‚½\”@|¢aî\ªAXØ@æÚéÓ§K]‹û¶ýë_rÀ9øãÍɧ²A£©rðÔ·jåõ* ÜåÈy Âo——ÒåC—Õä¹?à—l×Áu6ì¡CuÛéð¾­ÔÖrز?.¾øbºé¦›d´0ã9~÷»ßYÏépÛm·%”°þ¡’Ð6lØ ]QhC€Âl֥ЙlýBw§Rþ Ý ÁóÃþPr,ciîܹô·¿ýMþZi¿!4h̨ßàQB§P~^.A•º©3‰Ž£ŒX’ ÍxX]û€ ì†}{j©~Û:\·…BA#ûÅ/~‘n¹å–ˆ¨ üÍ›7K5ÀÆë\ í—x à9¬Ê6U`þÉ '€Ýâ0@43çpj²zwéÒ¥ôôÓO[óì~ñ‹_HC,Zà<ñÄR×£õ­AÃν’Ê«‡ˆêE—f^Ñí Îå‡%õÐö'×åÿ˜öK4Òî‚(—ÓÁ]ëƒÔ·o_ºçž{èÜsÏ*õ3øÑ~d©Å«¯¾Z‚&VƒñÇ.-l „µÍV-¤@ýɀ㈎0r¾ÀŠFö sÉ| (»@?þ¸LÄİ;èW¿ú•4ó„>?ëÒÛhôE×SE¿jÉñnA]Û ¶Gœ»]ƹ[v͇F(ĉGÆñÃc€Åì¦PÀ5Ћ ¤aXÑ(y ËéDk35l'Ôì {0 žŒÀ÷ß_Jx$°e˜YbyìÁ ‰eÚϽøâ‹‡²Í ¡;U70YW™5œ+‹úÓŸZ¶„Úªßÿþ÷R·¢õ5‰ÆL¾E¸j…äõ¸± Þuƒà’ë5ë=œkæ¹LÜÈûù.µ¿¡´è²Ï”ø'¤ÁB'ª¬(£²¾“©ºÿ@Z·r1íݰDy‰ïÿûR*D8ñÂ8†*øÞ÷¾'Ÿã•W^‘îáÙgŸ7`SñÉ´’Iêw°NN¶èpõÀ=hßþö·eÖÍÞ R~üãKâ{|ytö•wÑø+¦QII1ùñÝ‚0àz7s:8Ÿßsïñ¹Ç¥[R£¯­÷ì]ãs|®Ës¯øºÏë¦ÇҔ+®è?(¿¸¯t9ðƒHÐÞà¾â3.™{î¹ç,7ž= 0UI¶ ‰™l{ýõ×i÷îÝònÒ¥—^ÕÊä‘G¤EœÛ«„&ÝòŸ4ôÌó©W^Ž)ÎM®GÆãÖÉ'‰dÎëÑ â1˜èšALÄ‚GSºBxI|— (¸^YßÞ4ù’)töÅ7PQY 4Áxݾ½ëšÈ ~õ«_µ@ý§?ý)*ãD  ›@ Óo—NTt!²yh°H‰æÛÀ‚Ñ׫´‚.¼õaª¨L9^Tß„•Ü(Æ)Ïë¢\/Q¾ø,WP7Gñ^Ž \®Ï%$h Î’€«»°00<&ð:/×'ôüDwñuTZušôJ Êy´7ÄXôc Þzë­˜ Y+ÄÍž°Û‰þ¾>ƒƒe/%Ãgð£!!òŠzÓù7>@}*ªG»$Çcà%q½åçG=G:G˜ðœÊ„°NS¨Ÿ°FG>“ò‹Ë¤ ·ÏÞØ„$T#ˆJyx~‚>Èm£¡<ÊÞ0 ЃϤ¼^Å&¡u‹ð^“ðË*æˆ ¼–Üòæš*ú)ùïÇãú¨Á#qï£FŽ â2#ˉô±ý»˜È ª0ŠA“õˆ5¨Œá†âJ{ûè#cÅÔêçJÝ/]83öÿÝHòh–ÎŽàþ}w«ˆ«ƒ´¨A)Þ.uò„G3ø´‘RÊAðêw‘ç)äêx)ÁÜ+P"Í {©5b(Ð,<Ú$6™  pêÖ¥EÝJV˜_ŽU – ÂG¨a2˜òKÊdÝáêÕ«»ä8.‚Lb´À–æï‘àÒ-Lß²ëZ Ü€,šW€D— ·g7A ÅâþTe·÷eÒR.ÑwðÜý««„k¸óëׯïòwHs¸œç<ª5ÂxÌéq@ÞU?h&Lèò9×¼•V •:Þܘ:·é»k‘„Ò"89CÖ{†¹ÞþÜ'[åU5òµ=4Œ¿C]%7®“°ín’ŸÕˆ6@HurCø×Þ8üÙ§ú4aü¹Í:>Ò—68¢>}àÆc¢ ]ÂÛaVQYE_®µÀ„Ú¸¦=µ&@œ{{„P^@´ ìö®44\”©Yç*õ3F÷(4×»ðÆgÈÈÆœ|ùÚ^0‚41»}ü™*ÄyA€ÚP"e…² £J·Ðý¾¼¢pPÇ¥FéÂÇP©Ñß(ðä¢O•n©êy' (F°Û—cEGí† KITs‰¼r-wOÚ°5dô'xy…¥þ<»gö’ŒQ ¢3B¶5þÒåúXïHÇÎÜxN'ÍT <ƒ“ödêBñVgˆJ_Íô—cév-S¬´?…ígâq|¼ïxaÕk.ËÚ·7Ž’òبcæ:‰K°yÒá.µÅKñäOpfÐWï¢÷uÕúÏ@È6$w/1·§±©€d Ï…ë%úŽÏç„ôăì"k-bºä&°uÖÇæ ]×,Ã,SÆŸ$º"òq éI_Ó4kž!›.³æ_U)]t«|V½ sØ¥ä©^m5cP?öbNuýÆ®#̉aýìœ3z{Aæz¡ˆ$¼Ah·i±ºŸÔ¸oCºPPÇÿ]šœ6gªuR©]-ò¸ªe÷@ 6Ç^À öõyYÜù;Ú†…9?L$J«€S1¢L‚“¢tÇâÞ˜'è’^ —؋Ƶå¾â:ž3ÔEºó&C]Ɔ¿Ïjà8•‹n{’Ô\ÍJ¯j]N]ÊypՀŠ7§³½UdŠeó\I“ã™@ˆ Ip‹øºUüÇÒó·QQlE(]a£•¿„@±«©™ª |¤¾±(ššaéÈÖ?KÇS%2fm–””D„…íú 7vo¦@g»ÅA=Lœ Î¯‡m£?‚ð|Ý 3â³~G÷p­¡Û >«+¶TÜf¢:¹DmÍ--òYÑx_õ79lÎ"YŽNÅZ#P]$‰§:«­M$¡ b@J“sƒ!IXìLü`(dʼ^ÐPNüy—2EœUűO✶4·PÐÀ¯þ&/9§ŽÛ©RÉÔÆN©Ë¨ þmo¼ªÈÑ{„h „7µ Ð•q H‚‰cPwl±[À †ÂÄ·À¾N¢@NDQ©ÛOGr=Å”F­q=:;NHñeäU¯Â\ÜÇ©lÉHÍ.ªÔÅbœˆ–Å¢ hM ÛÉ/l&x ÈÝ~“‹å{&u%‰Þkß >O··‹~®$vÊÕ4ŒZÝ2B÷íÙ)уªh»xWCÃÑgÙê±>¥¯°Ô já¸âUý;¬ç ƒçȾíÂH J= 8à¡Ì©W£ Â¯D†$ºÌ ‘âæ…ÝÉHkŸÀÄwäÑ"rI…ˆmºê@㹪Z´²xs³(ù›ñVéQF /úÈ>[^ÊÄÚ[›¨iÿ.I0¿ ’?Nß ¢ëÔiJœ!IH©‚ªzYo½†%_\ ”DÜ>¼T’E£jzY¹líŽÖjcçœsN—¯ñ‚˜0á"ŸJ70øâ©4,àÌMYôÈj]t‘<îÛ²‚:::å˜I¢tã2ކJI0àµ@±Ž;`ÁP!IxtÝ!áUÖ쵉oMñ/.Å¿S»m ù…þ‡DTcü’fl#aKY'¹…l€ŒfÄ[ËÅ< Rm˜ƒÀÇþí«„%|Â<1(B’Ð ~À ¬?`H ¶‚A¶L  )á—†¥sw/šsŽ·]Oº±ò^Œ ÀöÚZ:Xo8Ú¼µFg jT—ƒA¨)bŽzwÞyÔq¢…ê6 )Ðé·âé nK‚€¡ $(Bæ¹ßËâ7¥„ ¼¡ïq}¢TpôŸèî€Ã0£Žæçk×®¥ãGHFa‰§6¬pÊÁ1Ubö P`—ÑnZ]/W%Ä “$! w­~Nœh³"hˆ¦áâwbwøù4Ô@Дàvœû“#|ÜAVwö$Ý"Œká÷ÙàDÛ[WG{j7Ë&Áýjp ÏŒº •ÁlPGÙ¥#Ë xƒŒºw.zÄ$Pûßa-¬ÓÚ´Ÿê¶,§vi h&™aaé!„,ã°SÜN†g¦v“Òóñ¸Þ¤3‡¤u5SÕåoÿЫɍ¥Ë–ѱÃõ’¨êl`n˜Í÷Á+£ÆRíÙ€üx‘@µ±îâ± ´½aó ÒÖ¥oQ³ð 1ªä€€³z d ¶tõô|‚€’–Ø¢‡*áñvØ; És´ 7ÑžmdüÏ5Ô†ìÖ:Fƒd_Õ&‚Ù€Bvç A0ÇH&…¬°²ÁÝAÓÈ ®¨ipâ¼Sè&) Äg Þ_DvnˆÅêâjU4o3Ëë!k CØîRŸªÂ¤Ý@§åjB`sû"FþÍo~SæÌ×/x™6î—†¡53QdFùLTÞ È÷ÓãzûwtSÍp<ÁoŠxæzx%¦ñÉjcÅÊO¨vÃJ™êF Ì®ûñÜØ‡“?xÍÉ2õ·ÕZE1Æ-YlaÅŽ [À¾P"fÊb#(¨‚5ï¾Då`‡SÃZ¤€Ö Â3 ¦õ8>žê0¢‰&§s·¼Ý"þÆÍ[iùÒEÒðÃó>ðÀöŸäâ—X_˜ê#±`6æIÄ ª…B!=Û$@Ž*Òœ_hW\q… Ãz€jx˜ÿKªÂ&hªßNëßU€à©ó5#¥ajá-éÀµ~Zê„cw•d€sÇ®=ôÁ‚wèHÝVÉ>ø`ÄŒp:DÿŸÿüg‹»9cŠøÈ“O>)WR '·ÂÀï÷·e„ágÕ4Åó샅¿ýÊW¾b}öØcuQ0*±¸2–ß¿ýZ¿h&5ì?`Æó5E °`ªq”®Û!0z=Ÿ®§€ßÚº­–Þ{gÜm¬ù÷­o}+b%4<#¬~,ÅëÂ=Æ~‡œü°z:‡…m»‰vf:‹ìÐYp6lòäÉF dï^) ì öŠÕoù˜V¿û2í«o‘Â`HAÑÍ#’Gc1 „Lx ˆ:ðï­^³Ž¼;‡¶¯–IÀâW#~(‡ƒµ½°\¼L¢ø|ÒðÃgØœRÁÏ~ö3 UðøOMAºãŽ;Ù™ŽsÞ“-^)¸:¸bà0„°†’ ö½pMD±‚Výîm2cè+®"Ÿ0$}BJèfÈ^#ÍÊÜ‘2åËÌçYÇðïëóŽœÝšLB†jϺdÉRZµì}:¼w³ü},‰ATâƒó¡ê`øâ‡-d0³ˆ`,P‚1\¶lYÄ.iâšd†ˆÃ]8G “+Y£mâm€!5`!/^¼XŠG¬„4©}ÀAäöîÜFûw¬ÖG¹sz™ ³Vz° 0tÖÑœZ·âÊcÖàÊúÜ9¬›¦níÆÆCr·ÐM+QKãéæ>ôÐC2Þaç|ÄgK̘1²ãsôX À4r‡ˆç ¾øâ‹?É6 œç6DšŒ…+«`%š*+\E¤ð+‰BtÚ'’âÚØ­ @Ù°~-5î\KÇ[QÈW(>Ë1«hÃs‡4…Ç¥Õ•Ú}át­ÁѲÝ´%ظÔM5£›.'úñöZõÉjúhÑ{´gÓÇÒ[A„ïÑG(ô`âãˆÝN þ9ì §8æ`&|O€àøÌ™3ÿ_V@è¹sÄ ßÌÆŒN-kxÐ÷Cç!6Wоœ  \ƒ*"pÆ=BÔ®¥¶Ná—Ã!qi‚ sMîÕ,Í|Cb@-ÕÖ)Ldã\9ÎèšK‚âØ±VZ'Œ·¥K>¤-«QSC-éBßëÁºÇj‹}¸wXû˜„ñ±É”9M¼¿cÇïÈ‘#ŸÆckÖàÎ;ïDŠï:œƒàö€€ÑT@"ikßGY[ÂØª ¥æòË/—µiãz:$tïþëéø‰vj ºedŽ÷ßqI 'vx½Ž°T0Îu…àÄgˆøÕí«÷µ…–/[L[W/Vþò·Ÿ6Ëw¿û]y/¶¥\$ñQãÿ›ßüÆŠxâ¾±oP´mo£ÏÎu”â}MŒíq­Ù¤¦ˆÃT& ˆ¶}Œi+œcI`¡Ûcäp”Â6À@ïÚ±ŽÔo§†mŸPÓ¡ýÔÔ|ŒZÛt¢í„¼—ËM.öT̨¢‘_Ð-îçˆ_Ss³ô6¶m¯¥Õ«VÒæ5ËhǺ¤oïoo•~;¶„ýú׿Þe¿\]­ïx Œ6ŽŠW﯂±¬-Ìu±»)42°äní<);‡9*…™7oŒ’Gq‹D÷ó¬ßdÔ€Ú` ƒÇŠ L:Un¸È*&Úµ0¡âÍ7ߤE‹Y;ˆb)–Â>ÕrëØœl½ ŠåuäLl0(ݶNqÏ­H-GJ~¢ùèÆ9)D1QÁ-iâƒóa½cS(ºØúv §Íqè 4ŸsdzüüEtˆ†ê+…o¬.ç%3ÞìØž-x\îÇCAgËi^±è©ÎŸç{ƒÈƒñ‰€ŽöXƒÚxÙ9€×°ïcŒuú°Ž˜¨ ø)èŒØ+˜½èlT3AÒD«Õç*gnv2E†6”„·‡„ëq$É^{í5«jjÄ7.XG;×ìâKž8ÀŸa @lƒ+`¤õ±âÉ‚“(°Î>/™†¾ùæ›efçÎ%‚Lp^ÅŠ¥à.Ü£:M ׂ ‡JˆwtƦ}g,âcõOH-kcLn½õV鹨„Ü#@Ï 9ØM÷Ü*€ãÑiñ¬©v5± ƒÉ¾ÞQ{ª0SnºtNjØÀt¤Ô I±Ê6¿‡’éûî»Or&_©ÖÎ¥[s‡5_x᫦Ÿ¥•0¥ÿŽû‹ˆúýö·¿µ4¬²‘‰ *Α¶*<—ÅoE€`oÐãš<ãµö§óÅa ‚E ÍpeB70P`ݼ—_~Ù’Ò0*.–9ˆçX8g’ðêìg¨—W_}µËz!“ ©ÂDNH%lÇI/o¤;/XFn_¼Å§SNßñÈÁêî#/`Ú´i÷#°~ñã1¤* @lš°ºHt˜ÂøƒØDÜbœ,Ñ,í¤–xU¦½£Ã²‡q¿ilu ¦½…ÜdUI€ìæ’·– u`mQ»;¨ Iðzû®“ Lf/‡Îƒ‹„cFÍ`e’ðöÏ4Ì7DAU j1à†¡"ÑJHp'Œ>\AmÁp˜`(ÂpÄõÐ£Ý «|síXÛ= p (äÂØá¬$ ]'ó>¸ù¬µY¶™žPÐ`Æʶ¨h5‘hØ•§ƒ,m¤oŒ‰A|ÛÑ["@ÐG‘³„$0A ÞÚEn×äGf¶ïîvÌž=;G YÖ©cŽ?—;Û%@w>Þgˆ B\£ƒ›¡gíñ€x \ ¢A²!&]N =âUìrž}öYk¤ >l&þ¨’Fºo”3âw˨zRA ÚÎ`È=yƬ¶=Ý €¹sç–‹‘ë™ &ÎeM¼ÆM¦8;Sßd ãþ8X± N†:‡ÃrÁJKK­™9©ÜK;ìήÞè²vºoÐ;äñ£ŠüxGA®‚ÅPë p¹=üp扆nÀœ9sNƒ'—úFÀûÿâáíóþNO5ÀìŸÙA`ogV¹é¡)¹änÞL+s¿|($ÁNKh‹ƒ¾Ž)3^¡”ÊÈ–„©{ÙF«Le.^*eZ©~'™k¥òDïºë.ÉöVæk¡o_è¥,7×{ùÊÇæü¸°Ä\¬cH9càèj?¼Bžc › ¯;ª‡ñ’<úîNßC©J'5] 'Xp9[‰Õ]÷ •b;ý;>¢/üPÎ%Àš‚ŽA æH\tÃDÊ/´b̸…|Ýš6mÚYB |çÐÿУpËœ–ƒeƒ8ßs m±)).¢Ó|Û¨£¹žŽ c¹¾ñ0 X#—Óòû {ÄG¡ã ;¢89†:˨=9åžp ƒÒOuÛeªBÞ÷nììv ðYáìT¾I€Òï;îü*MýæÓÔwÐÙò³}éùÊÉ%–$(;'RÜ;‘˜)}d-éþò;UCÂPÝzè¼nQÂ,R#bv}ô|*÷ìÉéE—Lÿõh̨ x=#à RW0Ä…N¡¶ƒòóü|µ”N«î_¿‹ ÿª:ÞW(ŸF=ŸÊw¼¹…tɽB <Ë9ìÇh`î¾ ¨3–ô¦n7ÕádçPû†ª_t„Oákã}ˆD€%–¯ýYž‰Á{AÀ9T0Ñë+—ßmi<—‡h­IO-“ÐT 'ÿÁöH &XvKp€ø ”H!ƒ‡#ŸÛ¥GOÐóÉLAŸÆb™uû,‰·Üf;Ö1§p”°sd |í†:þ‰Àö£±î£Ç4îÍúòÄ!|—UÓUS£Lh”¹^å|—\o×eƒ;ƒÄ>ˆ!¹\ÐÚÚ…{¬´s6Œ¢`Ê7ž£ù¼‹Žì]Ou „$XBÿ1e’ÜF×Sj,åo\E!Í žudÖί¤œ’Ñ„U蛎úiÛz# Ì‚¹ÿûµ˜ôÄMÌžR$0bÞÌk¯½6Fˆögáp‡yŽE‹ <—`A ¨àà"ŠDk ØçÏ«€PNÒ“á"&jþöcôÞSwÓá=ÆÒ95ý*èúK  ñhÚl€À­GD]½‡’·b‚8wSGP£9³–Qà }_Sè²§VšXisJ|;´hP%Á“O>YYZZ:Dpû AÀ!¢} ä@*§bR@`p°=¡VØ8]µ“WÙŠ;@Ná#®h£ùÿÿkÔ¸kMT;Q°y‡ÐëÇ×÷&­di¹Å~Aâ 7ÒöF…R{@þgÿöi³'uƒ±vkÓ"âóI“&å^ýõ*++ b}€ 2€‚>@³ÈqtÊT«DµÔ%Ö5 8WAbÿ¾žÁ¥gb5ù,²›ù‹›èà.cÙ¸šÊrú¢AŽÏkÌlrQøhö–ãzoÑJªÛe$!ZñêÊΛ6Ô’A)Í(N€¤@ïon¿ýöÞcÇŽÔ»wïÂ(ˆ € Ä(ŽUäpájUz°‘Éçª×át)JÜ©—L5€ÆpÇñ£ô·_CÇö»®—äÓeϦþUýHskDoîÑ–Ú=´ê“ ÔÑn”Ï Oòãå{:oz{-Õ¥s/“é|WH ï7ÞX5dÈ%%%„Í1Dp{ ¤‡è¥ÉJÕ8eéΆi´mo¢q}4©Kz8mì ¡-[²6¾ñkØþ\|VQZ(wV?|B§£G›äâ“|[môâŠ}÷Í[KÇÓcR6@†?#§ï?¾`òäÉ«««¤F ^ þ‚ãû búœJ^±QªªUµ8±?쀰ƒ$Vƒ;ŒßÄß ØUhóÜß6´ìXT/?#¸~[s›öŸÏïø·ÿÉ (‚¥Kàd^G»? ¤&lÊQ£FÕ”•• (**@ú‹÷k8 =Ê’‘lg¨¶G=NÔK,é@U¡–€—Žß»wï¿ÿØô—/溦8—FúÜZ¹Ü?#D-':õÍMǵ××}ÔùÊʰ…Ÿݤ9Œh)3UÇ$6EßTT‹÷<§Ÿ~zε×^; ÿþ5Âþ¨D H§ùéHvu“•h(«ãYÁ›6mzñx 6«IÜyŽÒ+Ì j¥.;¤ßb^üCêàë®w#±5ï2ò[¶l ˆŽé<›¢<#ÝvÛmecÆŒ‘ÒCØP-Mɵ’E2—€¡ÛwEãüˆUÝZc’ªcï„ÛáÇ(n4Ž~ñÂ%Ýд$ÿ.nN…Èi߉Kçµ>|øpŸHu¿~ý¤q*9Hy»¶0Ü“‘,- DyvÕÌ™3g<õÔS+MÂc}™fP§[›–Æw2Al'v,î“|=Á{ÑÎ#Þ›>}zÉ„  >XØ 2î!+» :âuz3O<ñijfÍB9ûé$5-ƒ×HW¤'Cü“G ˆu7nœûÁÄtºÁ‚ó9bŠIC8‰c¹úC÷ßÿ›7oþ8™0n¶ U`dšø™@FA èó.×]°`AÿÄ€¥K—n~ôÑGké´S³_itp$#îµ4ŸIOÕ.ˆAø$÷:Íž¦õÐûLÇÐÓ|ý©jÿâ®F··Å½qIEND®B`‚./chessx-1.3.2/data/images/edit_find_tag.png000644 000765 000024 00000037525 12142254551 020401 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ&±ì˜ IDATxÚí}wtÕµþw¦Þ¦nõf¹ÊrÜqÃcâ„–˜1c†ï+€ÂÂB›ÇãÉ` •ã¸LJiŠ¡¹©ÒØsA‚ ÀápÀétÂétš‚•$É,Ïóýçò¦&´´´„xà>ëB(ŠPMMMðz½?]àÏš¦ýéúë¯?ý•ÀÖ­["„<>X:&„øÑ±ÝnÒZžçý´vž>(¥Ð4 š¦™Ûªªššjé Öã<σRŠúúz(Šð÷´€òßË—//øÊ ??¿£/'K’$Scív;ìv;$IòÓZŽãu¡V†2ÛÕ|>Ÿ©¹C¶p‡®®.“Y,m?¥ô?V¬X±é«À5†íƘ1cDÇCk·Ó|>Ÿ@ú+辎±ý!XaÇq?[¶lÙçW20=>>Ó§O°Ö†Û§µCÙØÿ FÛ#!µµµ¾Âÿq÷ȲeËê†"ñÄkCíTUµOá „A†LÈ‘OII!ÕÕÕðù|p§¦i7nݺõ‘+Vl¸"`Etww7<Ïáäð<Žã†\È‘ÏÌÌ„×ëÅùóçA)#„¬ÏÏÏ_AYsÝu×µ‡ç‰gVÍ`¥¹+¥ ‚váy<Ï÷z¼¯ó{;Îql6ÆŒƒ¨¨(vI·SJòÉ'W])¨ d€Ázô—ƒäP€„ã8¤¦¦"33“)O€ùùùK‡=!5l›y¸W0V›‡$.— ãÆc¡è(›·nݺäŠ0¬;Å¢cWlè“pR`—$¢("//±¨Dy»  `ô°uE©e¡W¯× »Ý~E™€Haô`âý9>~üxœ8qTU}ÀªaÉ”RÓ0?àJb€þÆC„c‰¡ò ìv;ÒÒÒØßÞ˜ŸŸ?cX2ÀÊ•+=ùùùMÜn·ßƒºAœáÌVmw»Ýèêê‚×ë…×ë…Ï烢(Áç—Ë§Ó UU‘’’‚êêjö·80ã,ÐÝÝí×PUuØ OUÕ!7Y„tvv¢¥¥­­­èèè€ÏçÇqeÑÑÑˆŽŽ†,Ë!ÿ›çyȲ ›Ížç¡ª*!×øù°¥´†21®„¦ª*DQ’ßr»Ý¨­­E]]Ün·ÙÅã8111ˆ‡ÓÙwr’Ïç3ã111¸pḆk$„ö®„X€ÇãAgg'¼^/TU…ÍfSëXI¤>DCCª««ÑÚÚjúL»!Ëò€ü—ËÅ2l 504€RŠªª*œ:u gΜA]]êëëÑÖÖwêžÓéDZZRSS‘¼¼<Œ;Ö/Ù¤®®•••p»Ý&½[Ä„„DGGÊ1S®={öØçÎÛ=l`\.x<:tû÷ïGII ºººô;(--Eii©¹O–eäææbòäÉHNN6{Lðì³ÓéDBB€2“ø ”1v€îîî4eÃÑ´PJýœ¾K €'N`ûöí8|ø0a rÌ’’’0nÜ8Œ9ÉÉÉp8E6› ^¯×ôÔL権©1âñxpôèQ=zÇaäÈ‘˜:u*&Nœèg³¢õáÀêŸhš–8,À€¡w°I ýÑ”ƒâã?FEEEÀg̘9sæ`üøñHJJ²Òi¿œÄÚÚZœ:u û÷ïÇþýû¡( 4MCyy9ÊË˱}ûv,\¸Ë–-ƒË5x_Íšo(I’uê°öØ(õõ§?~¯¿þºÙOfmúôé¸é¦›0a¿‡7ÐÆó<ÒÓÓ‘žžŽÅ‹ÃëõâøñãøôÓO±gÏPJÑÜÜŒ7¢°°·Þz+æÏŸ?h°&œZö%^¸˜& ©© o¾ù&8à'¤o~ó›¸á††D{k’$aÚ´i˜6m:::PPP€·Þz ÝÝÝhkkÆ °}ûvÜu×]9rä Í€U™8Žž @)m¹Ø ”bÛ¶mxûí·ÍÞ† ¸ÿþû±dÉ’!Ñöþ6—Ë…Õ«Wãúë¯ÇÎ;ñç?ÿ]]](//ÇÓO?%K–à[ßúÖ€L3¥ç& W´2_ ttt`Æ 8|ø°¹oÉ’%¸ÿþû#î¯www£´´ÕÕÕ¨©©Acc#:;;áñxàóùüf ÅÄÄ ==iii=ztŸN,ËX¶læÎ‹·Þz ›6m¥8uê|ðA¤¤¤ ˆ¬ñcVÔð6lfÍP ¬¬ øÃÐÔÔdjÝÓO?œœœ>Ï-//Ç®]»PTT„ŠŠŠ…¦ !ÈÌÌĤI“0{ölLš4)ì½9Ü{ï½X¶lž{î9œ;wUUUX»v-î¾ûnÌ;·ßŽ 3;ë%_jD$ÅÍ›7G ‚Ð “'OFR’ÎT‘\zkEEEX·n™_8cÆ <òÈ#½FÕººº°eËlÛ¶ çÏŸ÷dTBœq)°EÅÁgT Q‚ ÊP/¼în¸»;ÐÑÜˆîŽ ènoFGS5_O~cBB.\ˆo¼ ½Æ#6lØ€üü|óÿo¾ùf¬ZÙ¨®$If ààÁƒhii€ÒåË—v€üü|—››‹ôôt@{{û€G÷ìÙƒ 6˜Z»fÍ\ýõaµ¯­­ ÿøÇ?ŸŸoDÙÄ‘“’3#ÒFÁîtÁ&K% ¢(€#@Aè?K@ø<º»ºÐÖÖ††šJ4ž;¦ó§ÐÝÖdú×^{-n¹å¤¦¦†Õâ={öàùçŸ7ïcÙ²e¸ãŽ;údHQa·ë³èŠ‹‹Q[[ Ë—/®¸ nôèѦ÷ÛÑÑ1 ôï‚‚¼þúë&x{ì1̘1#¬³´uëV¼ñÆèèèÄ¥ŽÂÈ) ‘š“§Ó‡ÝŽ8BL¡sÄÆ…¢ß¬ŽƒàÛnokCCc#ÎW–¡ºô(šÎ•@Sõáܯ}ík¸í¶Ûü¢vVàŸ‹Ñ£CgD9s/¾ø"ÊËË#2s1vÖõHJ—Ë #¦à h0ÀÆò{˜À¼éÀ;§ QŠººzœ­(ÙãûÑpæKhšŠ#FàÀ¬Y³B²^ee%žxâ Ó,®\¹·Ýv[ØçÀqœÙ¥=wîJJJØ¡ôåË—W_*Dѹû`„ÓéDb¢¯`cýqø^|ñE³ ô / ;;;œß_ÿú×hjj‚=:S—ÞI V#95» <¼.lxNßæ À¢ƒƒ@G Îò,ÆbÏðAt” ™™™HÎ !* ]­hn¨Á®]»ÐÞÞŽÉ“'Ãbbb0wî\ìØ±^¯¥¥¥eÙT–p½ Öƒ©¯¯g¾Äú×^{­q¸õ@)õZ»ýí ÖÕÕá…^03‹ŸyæÓ—°6ŸÏ‡ßýîwسg #o.¦,º ÑÑQ(8BuƒêB5öqœÁDï¥p„ôOA@ 3@BsŸÁ €F((R’‘8bÒ3²Qtp7ªŠ÷`óæÍ8qâ~þóŸcĈ~?‘””„µk×âÑG…ÏçÃ;#””\uÕU½Ž€)æRúýÔ÷0›Üߦ( þð‡? ½½ðÃþ¹¹¹AßëììÄSO=…={ö@ì¸êúû0cÅ]ˆ$ðà …ÀCËžCÏ>NßǶŽš,!ý³¹/p!l›‚ç(y‘'D¹ãFcÉŠ›0iÁ×áˆŠŠ üâ¿@UUp‘œœüâ¿0SæÖ¯_ovq{ó,J;\àfÂìo{ÿý÷qöìYÀªU«°téÒ^þã?ŽââbØœ±˜{ÛO0zò8í²Aç†Ö ‘'x ‰'y]p¢@tá10¡]˜ˆX‹à9P(ž qD<-^‚«®ý¢3ÑØØˆÇ{ §Oׄ˜:u*¾óþãÿRqB…ƒUUž @ñ2@$& ´´ü1 11÷Þ{oȾýO<3gÎÀ—Œù·?‚äôÈ"ž×+òØE6pˆÇ [è`Iׯ»»ï¿ÿ¾ß"=|ø06mÚB8ÌXõ=Ä'¥Aà8ˆ<Ñ….r° úZ6i¸¹ƒÄsIèY §k7Çz ”èì`G(DÜkf"oæRÈŽhœ8q"HÀ0{ölLœ8pèÐ!?~ÜýX©‹R Oà8Žö§°eËÓëÿéODýX·n(¥;ûF$gƒ(ðyÀ&ÖMz7´]Ôµ\ºQ€ùYä‰áÀ‚g"nð9ŒV èþ…, ˜7w6²&Îáx¼÷Þ{(..:wÍš5æÿoܸ1Ȱ>MÓ†'hšÖhÂ5ŸÏ‡ÂÂB½Ÿ‘iÓ¦}ç¯ý+ššš1ãfÝY!p†ÀEÒ#hCð¦Ð Ê—ÎèªqÖýÓ…ÎsLXÄŒ rd¨XÏïqårbÎÜyH9 š¦á•W^ ò“233±lÙ2Ó!d‰¨Öz ùèG[½ ïÙ³ÇÔ~f­­ªª  ©Kï„Ãn3hŸƒÄ²È™T/‹Ä< ¯Û`ÖO×½v<Ç™‘Øíväåå…Ô~MÓ0rêbDHo8|2£~E Õ ¢Àö׈èÿ`!ðÓ~+!–1‚!Œ£G($A@ޤɨ©(FSS:„Y³fù}wÙ²exóÍ7QUU…ššŒ3F—zOz¸ãŠ@mm-Î;¸ù曃Ž:tn·©c®‚Ýcj¨îÔ ¬ç—ÀÁ„Ø:::P¸íSnûô¢= ¶¶Ö°‚ qyrq`o:ºZ°k×.ìÜ9sæ˜ñ‚ƒš¹Ó${îAœÀ©S§ÌÀF`ªµÏçáC‡ ˆ2’r&†ô Ý2‡-—“¦D^ÎaΨ8báñxpäÈ‘ 19}útÈÀZaa¡íŠKÝš>}z·}òäI¸ÝnÄ¥(Êx}žç8» ý—›&LœÜ/f$„ #= 6‡ÞÿòË/ƒ¾7uêT3\Îæ¯õ'>‰¸øBðõ[ÿ­×ï–œø2¢P (b¢£ÁK² dÆ’õõõfм巸+lÒF@PȲµÀçóÁgÒz—O˜²áG} `óGþoe¹êê¾ë-ffç„KÆ€â^µ>Üþ¨(QRÖØœ6hfeMÓ¢®8ôVMœÙ@A²Q3Ö¶“^ uFN`Û^Xà´Å÷y­ý™jÞÝÝÕ/Á³c¢ è±hÃÛl,JÊžõ™q—°Û€ÿ(ðæ{$b“?Q6éò¥AvŸ†Ã”©áûâ)©ƒ¯©–‘ÙK7pŠå¾ô%3 I"8N  t™¹¢ l Ä65&aPãûŽñùÙ£!OÜvû¿ úÚoúúí!÷'%§â–oÝ¥'§ò=ùl›¥š…b]‰ir²äå®¶:d°ü> F¹ªOëe  0ôi]zÝ ¼ñÖ{¸êêé$ qññ˜7!ÞùÇ&LšO·¡-¥D¾F¡Q@£›À¹â†•XqÃÊ‹ó÷}ï!Ü÷½‡Lªç93¹$°X´¦„  ªFƒ §PŠRJM³`³Ù.kÑ툠iš˜ãê$HÓ­¥\Eñë ¸\.ð<¯»Ã¸ªÛ…¦PnpÀ@Aô7 E ðzF±¡äzœVvŠJ¢±°fÜk]]]PÝ,ZÇEX¸˜yÿŒ/ ™ ˆõ Ú»äädx:[¡xÝÐ R)…F)TB¥ì³5žÖák œÖ±åòÄpü¬fŠQLÎor‰µµ¶µAñê4ÏÞ `ýO6g "Ã,:.äj-’Ħ:[ |t4×A5„®i:¨šÎª±˜2¤‘k2¾AÚz¸ng™"ÎLzñOzK8mkmƒj 99Ùï?YÉ9ës»\f ?9½F§¬eT*++ƒŽ³ª"-u•PU<…¡ýBÑ(T•BQiÄTnGÕ jZ¿L€Õƒ÷K*åõð´¿Ö#,cè•Hü{ðzºxKl‚ªƒ›à¸"zÄà¨@gˆ5Y–Í1€PC “'ëêÍ5§áSSàŠÊ |†+ªÍÒÅ¢Öw S(ªf²†j€g >€IåF÷.R…dQMÝ©¥Ì_ÂùÊ €RäååÑ»54jàlX:¢™=g¯F¦¦&3ãÕú½ñãÇC’$\8Š¢ PU@á(Õ˜z¥è >KdˆRŽ!µ–î¤nJ4JM6˜óGüÆ$úÅ ¶ª®¾]z*Y¨´xãeQ „ôZAäŠr˜E|>_ÐlYQ1iÒ$¸;šÑ\{¥ð©| …¢>ð©^ƒ |*…¢hPT TÕj4SãÍÏjô·õ’êgÚ¸…™¬(+¯0«]}õÕA§±‚˜iiip:—µØH½™˜0a‚¹m)zd¶ Η€Çã…!t…êkM_ë&AƒWÕ?û ŠÆl|°º¹ÐàSTøu@Lsú¼9Å»§¸3Oe¥%ðyº0zôh?ç˜‚ŽŽÓGbÁW„À΂&aãò))f²›im³gφÍfCíéCÆ @ 1@ Á§èŒàU5x]°>Eg æ/¨*ó ¨:KøÕ`…¾`Þ>Ý»àÍߢ†ªê½Óeeh¨Öj^„5GÍþʘ '¬¤¤Äoˆ˜E½®¹æxºÚpîäx¼>#(¤ ר@ÑMWÑàÓŒmŸÎŠéñ,¡¨PT͔˅¦†>¯±©±¾OVïKð¦ð5M÷?ŒãÇŽCgKA0ÏÚ¶mÛfǬŒy%0€+B]´µ^®u–k«W¯!gŽlCWW·A£Ð=o¯BáñiðøØZÕÍ€j0ªéÛ>Á³öÉÇ›ú¼‘O¶|$`ó]€Á‡^FþU3{#Puî*ËNBSÌŸ?ß/8FAKK Ž;˜6mšéP‡x‹g8öl,ÔZÓÓÓ‘••…ÊÊJüõ¯Å¢E‹üü†œœ\uÕU8tèΕì‡ãªpÚdC‹t2Ö@ ªˆáûkšÕ(þÄAEG{ž}ú1ìÜþ :ÚÛ‘‘™Œl=ΰç³m}ÞȯŸy»vèyç«Îâ|U%ìæÌ[ˆµ¿z©))aë¢2¨š†½ûö¡½©„¿ÙÀ¬˜ÏŽUF ”rG8z‹ZÛüùóñÆo ¥¥EEE˜2ÅÄî›ßü&>ŒS{?DòÈI°%'UÓs(4£ ©êÞO@ x‚çŸ} ßý›ù{åe§P^v*âQ; ?ñÛçñ¸ññ‡zE“u/ÿÅo¸×*xJ¡û†ðE×þâã'PYZ UñbÁ‚ÈÌôÏ1p»ÝøÇ?þ@O ¬ŽÀêp4Q¬;×—ÝZ¸p¡™òôÒK/}oܸqXºt)<­8}0míÐ,9š1@ÄLƒf„‡ÙöŽ‚­í|¾û3³;©h=cšÆœR­Ç)*¨÷ßÿÅ>´_¨†ÍfÃwÞcرc‡9¸téÒ î¦õ±r<à 6ê ²,›µkjjü¦@±v×]wÁåráìѨ®8·Ûc޲A!…а±¾ µ¥å¢=UQÌž…¢¨†“©ê]QÃáô)¼>”Šª¢pÇg¨«((Å-·Üâ—Í^3Ëæ:\sÍ5A@—+1¤ßÝÀHÓÕ–.]j&B<÷ÜsA7üà T×…CC}-|>Õˆîc Èˆòô€C£Hí%…k°-3;ÇŒ'ø ŠgZïUt§”9}¥8pð0ÊŠÂëî@nnníWUo¿ý¶9ø£ªª9XfU ë1ŽãÚ†6oÞlhGú~ke°––– B‰€>Sö†n€§³G?}õ õð)šeh˜ø³€F¡P`õíw_´rÇ=@Õ ªWt¡{ ×{Ôþñ“§°ïghoª†ËåÂÃ?Xð gΜÁæÍ›-¾†/¾ø"Î;6¨¦iÚ%ëFêÊVJë˰ý+V¬À®]»P[[‹W_} âì}[‡IDAT.D\\œßw¾óï ¬¬ §N—;þnñ7‘šœÂ¨,Úf8‡Ð(n¹s @)6¾óÎWÕ48NÄÆ' .>ññ ˆ‹›Ýn²ÛíFwwš/4éKS#ZZšÑÕÙŽã‘5rî¸ç»XõõÛz½?õ«8S‰…Ÿà¹S?úÑüfü¨ªŠ®®.üå/1µ;5U¯)ØÑÑßÿþ÷xøá‡Í®¢•|>ßðz_À'Ÿ|’E)=˽l30ñ#Ô+..Æo~£XÈÌÌÄóÏ?Ô•lkkÓO>‰³gÏ"mü,LZðu$'%By½´;¡–âÐúgŽígu„‰ÞäHè²}5’¦Q ¥¥§±s{jËŽ‚R =ô_ÐGUU¸Ýn|ôÑGxûí·Íîñ7ÞˆÂÂBsšœËåÂã?ެ¬,œ={Ö,>M‰½îºëZ‡ Ð4Í4¬െ}yyyX´h‘(©ªÂ«¯¾ôèèh<þøãHLLDuÉ8òéßp¾º¯ÏHéñB¥Ä0úZQY¿œ9‹=áœþNèyÿ æÿ9Z„ÂO· æôhšŠ;ï¼ÓOøŠ¢ »»eeexçwôAIÂ5×\EQ°xñbs°££¿úÕ¯PYYéÇn·Ûw© ¢)Hwß}w€5Ìwò½§‚[n^^Ž9‚¶¶6œ:u cÆŒ zW€ÃáÀܹsqôèQTŸ-EsíH1il6H¢¨ Ô¬÷o 5ýÆž"s\ÏòÿÔoÞQ¤B×Ç÷™Jàöz±gÏ^Ú·MU'AÁš5k°råJ?á»Ýn477ã¹çžƒÛí!óæÍCLLŒ9Ú8zôh´µµáÂ… ðz½Ø·oŸß[ÒV®\ùøpÀ(÷ú&Ëd U¤)Ôæy¹¹¹Ø½{7TUÅÎ;qõÕW½pÁáp`þüù())AUE)jËr4xÙi€Ž˜óÅX5€`®Aõã”Ñ6±ŒÖҞǖ…€u³$Oƒe4 ¾¾Û·oljƒŸ¡­¾²,ãÇ?þ1.\¤ùn·Ï=÷œééO™2S¦L¢(P%,Š‹‹‘‘‘‡Ã¡¾öÚkO7Lp€$Iz,ÜR«7Í¢”Âår!==¥………X°`AÐDRI’píµ×BUUy õÇÐÙÑMŠ‚$ÉFmÏÛˆEÇ5 ¤güÆBÏp­®Ñ”³«Éb Ô03Ôèrjèt{pèð|þÙ6TžøžÎVdffâ—¿ü¥_¢¾¢(øÝï~‡²²23ìýµ¯}ÍŒù÷ŸÏ‡²²2dddt¾÷Þ{ÿ5¬pçw^M¹•93ˆÔÁJIIAtt4ŠŠŠ i 0gΜ r2ÇaÊ”)?~<Š‹‹QWYŠÚ²cèöjP ,Û í%¦ƒfì%þ©Ú=B6¢Ëft‘E5 PÂAÓ€öö?޽{v¡äÐgh®)ÕT¬X±?ýéOýrüí{<¬[·Î,‘““ƒxÀ/rÚEAyy¹8a„—?Þ1lpÏ=÷ÌpóäA€¦iaëôõÆÙÙÙ'Nœ€¢(غu+¦L™â×…²æºë®!'Ž‰Æª“¨­ø]nt«<E5ß¿K)aò·L5#Vз©Eà&@àUTœ;_'J°ßnœ:² g‹áswa̘1ø÷ÿw\wÝu¥\àv»ÑÞÞŽßüæ7fÄ3%%>úhÈ×Þ†Abb¢™G©( Ñ4mËÉ“'+†“ X`9 ÏóÐ4-äëc"aƒ±cÇBEœ3ß *H6D%¤#*! ²+ÎèX8]1$IŸé#ðÐTš¦Âëñ £½m- ðt¶¢«µ]­ú6θqã°jÕ*Ìž=;ä ¦ip»ÝØ·oÖ¯_o>‡ÜÜ\<òÈ#ˆŠŠ2c]]]èêêBgg§¹Í–ºº:˜÷FŒ¦ÁA=§R²xížÓÃ/xˆçyÌ™3GŸæåõÂëõHðÖcEEEX¿~½ùRRRðä“O"%%%(Ö`m¬ìÜîÝ»QTTôcŽ Hvp¼ŽçA5 ªâƒ¦xýÞÌz)999˜9s&æÏŸ2WŸe9kš†ææf¼ñÆرc‡y|Ö¬Yxà`³ÙÀ󼹄AMM Þ}÷]3k*wI®"T=Ã~ò’€ RüÀ=¢(böìÙà8'l ¿ hllÄ+¯¼b–L#„àÖ[oÅ-·ÜbÎë PUUU())ÁùóçQ[[‹ºº:x<¿h¥$Ie±±±HMMEjj*rrr0~üø  œá„¿k×.¼öÚkfÖ³(ЏýöÛqíµ×ú ¾7œ?ëׯ7A;!‡Ç·ÛÀ »7}²£æÄšs dÑ/ß÷”]n¼à6›Í,}êñx‚œÀÁ°ªªØ¸q#òóóÍ}N§>ø fΜi:_ÍlÎ]yy9þüç?›9ýŒ­î¹çddd@„°°‚ ²²¿ýíoMM©Çý76Õ|5(Ñ{3»?ôA•*p‹Ö¾ë.¿œ(°ÄétbúôéæàJ_ÝÀ€âìÙ³øÛßþf² WÕúö·¿ùóç‡}óP Þ:û¹¨¨ÿû߃êý-\¸7Üp$I2…ÜêêêðÄO˜/’—T{æí/©cÆC1C ¹ø ˆ¨p×]w= ÍétšöQQ”^“Ê111˜7oPQQÇǃýû÷ãƒ>@[[¢££kXByÚý¼uÚ;!õõõ(((Àºuëðá‡ú•Àc­µµyyyA¦#ÜÄ’úúz<õÔSfÁ¨ñ‰õ¸ïš}€êmÕ¼izµÑ±éèlkGs]ÄpýÆ’qâÆÂSJËå`€SÆŽ1ÂŒ€uuu…ÀP²Aww7vïÞO?ý-Y@N§K—.ÅÔ©S‘““ã—Û_­÷x<¨¨¨À‰'°wïÞ ·²ú¾×^{->þøc³¿‹x‰‰‰~šÈ.\ÀþçšÂÏQûgî/¨  ñ0×V&P)Åž÷¡ì¨ùŠÚ³*á­}ß}æR @RJJ Æg[G°†RðÇTUÅ_|;wú™k‹Enn.²²²žžŽ„„ØívȲl®Ün7¼^/ZZZP[[‹ªª*TTT ¢¢"äµ0“·hÑ"³_ïñx°~ýúˆApáÂó-è0!¾\mŸ4=ë Ð@±ëƒ}(?vq@)ºØ222ÌQ«®®.ƒpö766âÀ8x𠪫«‡|B…ÝnÇĉ1cÆ äææ†Ìôz½ ¥¥Ï?ÿ¼9|B\=¾?%ŒðÖbìxÈ &Ø´ep<·èñ÷Üg/:6oÞ, ‚àô9þ,Ý9.–à{;ÖÞÞŽÓ§OãôéÓ¨ªªB}}}P< ·&‘’’‚Ñ£GcÔ¨QHOOï5c—5¯×‹?ýéOæÈ@´´´`ݺu¦ðóbëñ`^d§§ÃYA BÕøEk7uW^Tlݺ5‰Rè“Y!Vãf¨4{¨ÎéêêÂ… ÐÞÞn«<8Žƒ,˰Ûí$ ±±±ˆ‹‹3gæ äÚ‚€çyüñ4»z“Ýxpä'D5$å÷¶bÇÃfÁîö¡¼¨/Ì{ì½®š‹€-[¶Œá8®Ðçø'%%R4ïïR ør,ðX Ûä4?^bßzÞúƒ}k صi*L& »Uɳdí;ð}¦„YßejVP_%SÃíHù՜ӟßÈ9¢(â¾ûîÃøñノ%Jmøá|2ðñ¹’¦ƒ¨§!üZ³¬U}­´”ÀÝtDÓkÍ¿é¤e%yè<Þ+ýx  IN`¨e2å•$¬‹uÍ’$ Èð|޶ï‚ǧ‚Ð~€ ”V,øÆl8¢ÌÄÃkoƒ4ôºë®»¦B¾èiͲ,CUÕˆÓÁ†ƒ¸çð<É“'CUUÄÆDcŒT Ok5Ú;;Q]ß„±Ù™8Ä1'Aë¬éÉk"‘­5o@8r‘/øpîtDAwl?©T\tøgÑìœ#Inºé&Ü}Ïw°ü/cÄH½Èõùºzl,د• ¯ö§ûHA¼Žúº@4 mTÏ )žj×\Àq\´5"( ;?kd'¯ù#Fdëo;WW÷ý@0¡*‚ÁZwˆ8ÖT:’~Q iZ dY†(ŠE<Ïû  |íü@ÎmQXü½—1"{jä \‡å@( *Em¾èN õÆEQ„,˰Ùlp8p¹\p¹\p:°S²$I‚ aûÚÿ l ƒàlÛ¯O‰V0P¢”B¶ú¦žp¹†c†<ÉP€XP^^ŽŽŽtuuÁçóE !ày¢(B’$QQQˆŽŽFTT” I’‚ØãJ°óý˜ Yz±Ìsµõx¿pÄ$Äv¸µ•ÂÉ€”Ÿc¡œnñî„>×S0œûˆf} ½>¨jZCCƒßÐ(´Ýn7µÞªùÇ™~ƒu¸•$ð!jšUU¡išßnØy8ŒB`É÷×£à÷áBÕ—8WS‡÷·íÁ×—Ì…$ âô‚Q¾úCЈ.=sÍTÛ‘9v¨4·øPú¥> Rlý¿h3äI(Æ2 H ß¼™wß}wŠËåz…2F€ˆ¨…ãÌ,‡Ãá–DÑW­ÀùóV@Xב:¥—¢‹ØWó¹Û±í¥ûÑTYÈLMÆêÅ:(”æ“:xê äâGCLž Êñð¨[6íCMåY ç›µe/}¦4°Ò©ð@BÀÊ¿ÿýïSâââFÙíö‘<Ïây>‡çù‘ÇeBÒ"¥BA€$I&8˜?aͰ‰´j'«² ¹\‚÷û ¥ÿ{/êÏ ÕÓµµªÖ ∉ b‹åŸn?ŽÓÇõ %·B7üê#ߣºŒ¥_îmm$@øŸ;w®mõêÕY)))#eYΑe9K„‘<Ïäy>‹qtÊ06›Í4-²,ûù Ök}5+TUõIàùCA÷}5Y–!q*Þ{ö4œÑËÆe¦$ák‹çB–D}f‡žµ±´u*ØöÙAœ;£*üý ÷–âjÔÐŒâ¾Ð/ôö;ï¼3~Ú´i#ããã³Ng¶$IY‚ dó<Ÿ-B",Vaeæd²mk¯#ÒR6 Š¢ôi^†ªÙív8Nx:[ðÆS7¢½V¯për`Ùì«‘– Âhõh()«Ä¡ÃÅð¸õôyŸŠ/öWzoùøÎ æZ†ŒsnJJŠxóÍ7§5*;666Ëåreɲœ%Šb&ÏóY<ÏÇõ—=¬Î)cI’LÇ4ÔkoBi}(ÖÇ‘6Ö€}{¶ãøÆ'Ñ^s¼ç¸ÝŽä¸(ð<ÐÔEÑÒÒ M5Í:íöâµç½æCç`ÁØ/`ˆ!Ò}3fÌp-Z´(;===+...Ón·gÉ!ƒ"EÊ,xÅœR«y±š–Hü@@‚$\‹ŠŠ‚,ËÐ4 û÷ïÕœÜúÛš¶òÏ’zŸñ©(mí&?y¡Àó‘ÿB`¬€ûó9ÔõA–e²zõꔼ¼¼ÌÄÄĬèèèL»Ýž!Ër¦ Y<Ï'ö‡=˜Ÿaõ=XÔ“#óŽ=TUETTA€×ë5KÇWUU}ô»'×ümÁXîÆ&H÷¾s°ÇÃÛD"Œs +ìëÞ¶ãÇ—W­Z••‘‘‘Ÿi³Ù²,ì‘Eq †=XW·¿ìèiulVð‰'^{øá‡_ ÂÕŒíve:ôf‚Á·pŽû#ëçœ^Da“ôäKJJ”’’’N„¸GÜqljS¦LÉLLLÌr¹\™²,gÌ‘Íó| £d–æõzƒŠc±ñkÔÚ­Õ'©¿Àë°ÖÔÔtÁÒfÂ? àXá’‹ÐH?¿7mˆ%üHºä½|¦ãÆ“î¸ãŽôÔÔÔìØØØ,I’FŠ¢˜Åº¶bûÃŒ-l68ŽCMM9»ê½÷Þ[ûÒK/4_à¸Ô¹¨ ✡v$Ž˜îûy?´}¡¶ýö­Y³&væÌ™ÙQQQ9v»=K„‘Çä8n$!$ €éżøâ‹oÚ´é$€cjq‰Âß,¥÷Gø— Üzúôéü~ô£4§Ó™#I‹˜æE ÉúG=ôм“'O~ÑŸ0îpÀ@1Ô ),ö<èw ]Š¢äÈÚ»wïÉ_þò—e¸ íò¼¯448úC÷d÷Dê„|?ßu:|¹B¯s0¾äç¯Tûÿ<ÝšŽxuIEND®B`‚./chessx-1.3.2/data/images/edit_mail.png000644 000765 000024 00000031764 12423476376 017564 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË3»IDATxÚí}€TÕÕÿyofÛèReA@E¥) Hå³{Áb7¦˜Äú™ÄðW”E?@EQ&é½,Ë.»tv¶ÎÌûŸsï=÷Þ7ì‚ » ^f§½ysOûúøiÑË©êøiUíú‰Îðõœáë'8Ã×Å;v쇟Ã?G"‘…®ë.Á¿—¶lÙ²¸ªÏ­ªÖÙ™™W„B¡)àA¬‡ÿÐBdˆÏóÖƒÁápd‘ë:‹Ç]ߢEóHUŸó©Xg äwF‰ÿÀK*,,‚ˆ‡ €7× @0H· àëb;‡^òà_K‘Q:޳ÀqÝE¡ÒÒ=iii^Uÿ–Ê^§=lÏÈh æ#Q›BBBÔ¯_¶lÙ)))pèÐ!())jƒØ¸8ÈޏE"žÜ!üp(Þ3? ,C­1+>.n]AaAaëÖ5›)NkÈØ±£6Òïü¢¢"(**„† Ï‚¼Cš’ ‰µ ¸¸Ð4@Ó¦M˜˜(´Ýðs ¨ æÀcG¼Hšeø¹È(+ñ½Óðñ~<^IëÖ­k Sœ¶ ™•p_¡¿Õ·ò¦M›ÂÆ-éð×oC ܬIc87­´kÝ Ú¶n ÉI‰â³Ä{öìÚµkÃîÝ»¡  âQsÄ ¹ˆÌAønÄ$t‹u{cbbæ$$į,--]†Xâ;|ò]aèœjʧ-ìÚµë]TÕCpøða)ÙàÂ󯌀C‡ ´š'›O÷®ãBãF à\b†sZŠ[Ú)@Ÿ'#a!##CkbÒô˜îY;°æ›ë@™ #66f~~c$™ç¸Îx^Å%%¥‘ê€)NKÈÎÎþ ãU"¿I“&píÿ³/‡ìÝ{-â;BŠÅFXÌÀ·³ê׃6Ä ¨Ú¶jõêÖï%“† ÷3äççKS¥F & /Ãl¯Tâ³%€»ß?¿m2Ã4#k ¥¥µ9å qÚ1JþÜäÏø">n0œ}öÙðÂ+ÿ€u›¶°w~»4èØ¾ $¢Z'HB,p¨ ­Xk6n-“è¿zuj#C´€]/š‚ŽŸŸ—'¼ …b7mo¥‡5ñé5:-:/iB"¨=‚Eøü*dŠ¥xîKñ34#kQCìý:­`ÇŽÌöññÊ")„îëÖ­ ñññðê?ß…ÙóC˦Màúõ†õˆV®Û‘x¬þÓZ5ƒ[\ 3æ-†%«Ö¡ h HÔÕ‚! 3¤$'Á3O …ºµSh$O"&&¨+\Á,’< (™©h‘v `f¯«ß@¬"Ÿ÷#c¬Ž‹]R\R¼™‰˜c2EieîÙiÃYYYuÐÎ.ÄmCˆŸÔ2nŒþðSÿé—Ðù‚öpi§Ž0nÒWˆøcá‰!wÁ”øß/†¢âAœ®ž½º] oüû¸æg= a½º0öÓ¯4ñ þöá!B Ø·o2ºŽn@ï¤0Dx2Š&ññGý~ýØõ´Ð RsxÊœÐy±Æjü‹KKK#ƒ,CæÙ‚^GèD÷í´`€¬;裉^M®^0 uP]O9^ùБ~ÿ>=aÔ˜ &@ß]áœÍÈ#éŸ1oÌ_º:´=ß×þöÎè}Ig¡Þûp²f€ûoÿ9ü¬g7ؾ}»úøø GH©UÄ =IM½Û2¢®$]ZBHf òT¡°xd™g2ôª„„Z‹‘ñƒÁ¥øþÍš5Ÿ1 €vnÄÓ$•€æÍ›Ãº[àw/ƒ˜ØøãcÂëïŽA Ž¡ƒn±'ÃŽìÝbS;wì·]wãëAøbúlXºb-Ü{Ëõ°s×n¡!ˆ Wöî÷ßqŸ}AdóBÒ¥Ô [[ËÒ.Ÿ—LàXö ¢¤\kÅ<¡P©ö.ø8t$b ÂÉ”/-ï÷ðÜ.kÙ²å÷g Ÿ~ Þ…B.ùú 6„í™Yððožƒƒ¹áš¾} i“³`ÌÇ“áÖú ÉûøËiØÑý ýû m°µÀæôÐâìÆðÀ?‡×Fý ‹ Ã¹màÙ§‚ChV(šHD©U«–H" G e÷5q-¢±g ‚H (¢7àÓ’øaa>$6qÔ{A› ‡?ÜÚ¥sÂ}(ÆÇ]‘Vö €’Ø7ì~rnn®ÜÙ¼{ÈðuÛVHL® ×_Ý6oK‡í9à&y.<^ù/úYzo¿áZÈÊÙ ß/þ’’áW‚/¾ «Öo‚†è ¾òüoEä$?N„‹]!}Ò…ô4Øc—R‘^K5ç„"pH‚C:† ƒH/(jú%^a‰H8¢½ é¾:>‘œœL1‹îÅHü ÝÃËú’È—FŽ?ŸÜ±:uê JŽ_>õ{˜1íkhܲ ìËÉ„Ûoþ9Ô­WÞù×hHEäþ»'†]99_†ýs…;×´I#þÎh¡Ò¾ïvX±fLŸ³@xÞû ´jÞTDɳ f°´“Ô2NP4K»} ’[èász¦ï ¡*×àÏ"1’PbÉ—Ç“¯+ø€!ùdPþöœsÎyíxö±Æ2Àž={Æ Z½›ˆO„¯_¿üî…?Ã73gÁÁ]ÙÐàì°+c tëy9œ•„ј?>¤¤¦ÀµWöƒpqÌ?©õÏBÕ¿Z ‹H oÆÜ0kÁA¬§û\Þ£e3P4ѨwOùùFòé•°"?Ç’ÍžN2UATá¬ò™ –åðy *Ô ÚÍ”ˆQœ %·È$à1ßlÕªÕ#Ç»5’rrr~‰¿ý-’JŠÍ“êß¼5þðÒ0X¾tÄ×JÆ Ž…ü{¡~ãfàå«Ã^†×†¿Éõ¹³ ~“P Õ}ZËÐëÒÎиaxÝÅôŒ,±±· ü|çÍbó÷îÝ+¤ŒÔ¶½˜øLa»@ƒô("òvK ¢xÆ„•·àù¾Kj`¢û¸¸xñîÃ4K×·hѲBÈß^5Žrr²;áÌCé§D÷Gøã”IOO‡FMšÂÌ9ßÃçŸ )u ¥­]ÃFMš@£º)p×·Á´¯¿†k®½öïßYÙ°dù*ؾ#K©kG„Ÿz¿ˆ Ò"âêg`™ôI»­×=ðÙo’zzDî#i жÞ„ÃÒÏŸ“ØÃQ¡g—ÌÒr<¯Þ-Z´È?‘ý¬Q €’ŸŒwËð–FB 0gÎضmôë×r°sçNá tìx!üsÔ;°qóHÏÞ+ð@RízPTpBÅE¨%’„zNÆçöfï€Ø¸4 !JáÞ;nŸ(ŽM›ß»wo±á´$ø’„$Õ+Ÿs5±˜xöâÇ’3À/ ²‰¤9(Ýl‘½m ˜£bcbDr*7/o~w7}'º§5ŠvíÚ=%o:Iþøñãaè/‡Âèÿކ֭[CÛsÏ…™3fˆ êÖ­›`b rï¾_°¶lÚ ›#LDÞ¾ÝÚ äïß ñhßI¾o¹áèÙýRh×®lݺUØþÕ«WC¯^½Ð$`¿Ÿ]4N*ñcC* G;í:QÛm‚Ä âƒŒÊßh°3ƒ WòòòÈÝë‹ ¯Bþ~y«Æ0@vvÎ üÁ£I€HÑ"-^¼º÷è³¾› 7Ý|¼õæ›p×]wÁ¢E‹D²†˜‚H¾k×®™µ¶ffÃw³ç¾ýpãKˆtQÚßu+ôîÙ]¨üÍ[¶À“'Ã¥—^ ×¢¹øÍFÿþý!1)ɧ¦%¡\¡ò=; â òùˆ|¬žãˆ!p~@åØÎÃ8Hü  Ùß'‰OïŒÄïÇîk`€ŒŒŒ6qq±KQR’õ‰ã­]³6oÞ \p`„‹.º–/_.î—,Y—_~9Œ9RHqÛ¶mí$4nÜX¸tôøƒ Á6d†¯§~C¸zà~%Hõá)ÔKyƒzõê‰ÐÔ©SáÆoÔªš‰cK??gTtÐÓ›]nòT\€{Àú ¿ à0—¼ŽŒý«ÊØÛjÏ;2wÄÆcHÍuæ  ©F’è±cÇÂÍ7ß,Ô|n^.´jÙ ~øáhРPBhçÎ,hzvShß¡,]ºLpztïôÁ)žOuëׯª´BrѾýö[¡ro¹åf¢Ÿ6mtÁ÷5¨__pØ/çìž?¹#UFÿÓ¸– # Ô~Dº:” ÂŒ1ŸÄ É¢sËÏÏŸ†Œp-2óq#þÉh¿EœŸO77÷ Ìž=[¸f×\sfRσFÉ I¨¢‹ämذRSR`×îÝЦM!=æXeee ß^JTtéÒEH÷ù¨IvåìB³qލþ9묳}kMðg?û™†dÛ‰XäMX$ÍB6žˆFáâuëÖÃe—]&ˆ@çpèð!ô0fÂu×_&tÏ>zD›Á0®ñ3î£ôûåÓå3 TqŽ¢AdôbJ´‘;ÓÒÒÆWö>W[ص{×»è ±#hD\’üýö ÛN‹¤tÀµ`Âôè9´è˜_!¨¼°cGÁpË–-ƒÎ{£v ÍB1£ò#èQ¸¢Ä”rù+‚LÁˆÚp«ÐÔ^â÷D"Bò%Êt÷$~§–-[fž¬ý®v µsçhܹAJ€Ä:p`?|õÕWŠÞÿêþðî»ïÂõ×_§#uÔæEêûÓO?EÄß ÛJ¼Ÿ^ëM˜ÿý|ñ:¹w÷ÜsÖBtIÒ¾üâK¸á†X¤Š¢iÓ¾öíÛ!ú?>ÿü3ñ¤%Hó4kÖ\`QèIÕ¼¬òAFðDÄOˆÍàÛp;e¬c($=:Ygà 3‡æ‰TÇ5h²¦Ìý®V €îÙܑɴMl+X¾æ¢{wÕUW ?yòdášõíÛÞzë-!ù$™}û^!Ð|ÓfM%PÄ÷’ªoÖè cŽPû­ÓÒtH–ÞOØ€rkDPi2Jo¥J &Ù¸q£Ð"×]wp—ˆOÒÊÖ“óŽ’ p 8‚£í½ú_Bá ²–i^f¤Þçÿ_‘ø<Ù{^mUvm$ÌjÜ—³Ã¢LZJÕß^{ zøaX»f ,\´®G"šŸ4i’°Ç¤ÆÇ<ú(üç½ÿ f¸æÎƒ>ýù±“ä^;`€¨Û§6/QÕ'€Û&$lZ›6¢Ú†biÈ,ì–Éû2ÑÔ&Sн¼M•…hªM[Ì1C³µõ¹#R¼ºKY2ÝS ãàÁƒójõAMvÂÕ¾5޲³wþ Uè`Y4!O‹£}ƒÝo¾ùOxâ‰'„M¦p/:++‰=n¿ývù#µOŒ@ž¢{Dl’pÂdëéÖ½{waçw FhÞ¬™ÈâD<0a|™¥Ãs‚™ß}„4'¤â©Ãu+ïhmÁ¡[SŒf²„&2(+; óá–ýµjÕºµÜŽS±ïÕ‚Púûâf|+O¹Oø?¡à·ÞzSu>þøcd„»aĈÀã?Ž(ýQ ÓýûÅ‹à ôîEûN Ô1áÊRð†ÀÝSЧ%ìûyóE§0¿-Z‚/q¯îÉeÜ·o?\}õÕ* ãÈú"®Jãr ‡°ƒ Û:æ0àÏéƒz/7¨'ôo%—5ùû·´oß~â©Úû*g€ŒŒŒxܘ¸mµJ%› µúÞ{ï‰`Ù{pDx" …î¾{Œ3Zt]{í5¢:(Û寧~- FZ4o.0¹o¤Ò_}õòxà_·}fõêUˆÖ¼@ï¡×Y­sâÇ.Ü(..1E¢Gûÿ2±ãáHºûèËËσü¼üw/¸à‚OåþW9ìØ±ãOˆ¨ŸåªÚ›ÒÒŽ†xã øÕS¿‚Q£FÁ/‡þÞÂû+¯¼ReÈoŸ9s&Üÿýzc©–^†n¥J¥Ø=¥†“¡MZá)ÈÎÉý¸é"7@Ç£é!tÌ:ð¤]~ÅD³]8Ñ9 Òuuy‹D,-aÞÖ ”˜¢øJÿFTýÐË8|Æ0Jÿy¸IK©¼ÍÒ'*žüÅ"˜s-ªî×ßxž|òId„·E€æË/§@çÎñH#Ð —ÄðîPþ!á.RôÌ#ôd<~“Æ eËV\òÒ`MEü$qe¸ °*åâbGÕùóÌZ«@ÔL1icî.Þ¹sg)šËõ/:Õ4¨2@â»Hüï÷ÒÍž,œØ¿oªö1†÷êu̘>ææŠDψoÀÃ?‚ P~) WÐÓaYWWèØ„s€TÜÞDêL[¸ÔyÜä¡*~­Â &"1ƒ.âP \9S³šØ\Úe/6Š<j’¬¾Tt¨2HOO‚{—Õ¾àíà  gÏ¢Ô›lüM7Ý$ìóŠ+Áßyçxä‘Gàí·ß÷<°Žãoºˆ€f"sìæO½ë& Kð¥kæø€œ8GeJKK”š7Ò/˸ü‘¿h0È~?á‡}ûö.BÕßÝГîò•µª„P×C‚¬CdÝ€‹#8KF.Öh$:!~ ú4jÔ.½äøQ=©ïAƒ ›Nö—B¾¤ zè!M,ù£¸=[J¾M\›·T»gjLgŽû nG{?Á Ö/ªÉ#/€:äRV/=}Üxã@MH®U·S­k‡–íÉþ Ô¸ˆÓFìzʇJòpUpPˆ]èá¸&éC¹aë…ݧ TIIñS;v^40gsŠJ?•vÑü½K·@K_ÚÕ%QÓÑöS½…l ³gÏœä¿Sî~Åòå0dÈHIMU¿†Ë¯""jp¢ó–ëîËBòv;éôµ‡B°'ïD˜uÎvm GûØ03ð÷ñ=¡þâ¢"b€9III}Ú¶m[¥)O=lÝ2_Þx)ERÕ’]´UµØLü{ÊWSàâ‹.†Ï'>ø (ýÚ¾=qÁÍX«–©¸µÊªVE-ƒ9Ö,Ç Ù{oµy)ª©BMƒèm€§Q¾+óv] o£Eí J‰®o!z¡êßXEt7çu*¿lóæÍwãÆŒñTL rà XlÐ:m,Åó©·ŸŠ>(ìûÞ{ÿA!ª– Z©X; çw»¸§ÎÑöØJÇ U~<ƒDÈé^‚¥d3¨«»˜Yu/¿'£…öL ®ç§Úƒ¢¢¢ß^xá…ÇÕÄYã`Æ $ª8M ÀqG-?FõÉi K¾¼kõá©M¤Ø>ÅøÇû]›EhÄ3i6»ìZVÜ„Ÿn'nØþ{Q ¬aÆÍ›žàŸ§·ò±éù ™/Py Dr'1j þîì;§¤¤tGÕ_)U½?v2X¿~Ãs¸/±¿ÎRƃdm½¦ˆÂV§ ‰Háa ÕRß¹‡LLÛ¦Û­Zž5wGçæ=OS~‡Aï7mxŽpóøXöv±‹ÈX%¨rò5—§Ë*s"]F~¨úKñ¾K‡VV±ËZ§„Ö®]Û7anJ’ŒÕƒ¾(\"VËÀcTKR á¤í•î©[‘žµ]-+éB ÌTæXîŸþO—[‹Ï¸Žo€§¤u97˜ömªÂ®+Fåh ïª5$âSb ½——/¾øâgN)…±N lÚ´é½âââû$}$AbDZÕµÆ¢Ž¾q:–{áÀRÏ”ö¥­–z+ûVÊçæKžñË…Q»níVí[ºÁL‚È`GŸ×îA“€ed1©Ä›Põwl×®ÝIŸýw<ë¤3Àºuë:£Í_ˆÇ˜ØÒ “¾M´512ÚôEéìíh3`wïhB)Ús~Í(ÕÇ {û˜tÔÐ5?]í Í‰2€¥ö2Týj›«Î?ÿüo«–ÜG®“Ê+W®¤]Ÿ…ú±7j×Ó›d`ìI›ÑÀŽ@Næ2ݸeÞ‹›0 £Ù6D®BôT¤%Ø‘$ÙÎËÏšÎ`^¶»ÇfK£ðO*î,(,$ä?®[·nwRÊVpTX±bÅUø¦òP²ù²S4ñeé—:Ÿúj&T~]kgð=”ɶÏ<ý“rò·—…޶ÓܾmF·†Ìh­æ=0îX*ßÑŠgü¸®Á Jõ Û&&&µCŸWU»¬uÒ`ùò.nÒ"Ü Î"T X MEÍ”I°¥Ø—rŒ݃Ïq~{ÓùØþ¹}SpŸžŽû{’hva&’ ÌŒ`íÁÀR~ciÿäqzLÕJî-,,|¼k×®ÿ¨jB—·N ôß …?½m9ô ¤q‚„Õ57NºŽ5wGI1«nF笪͌ù~£÷r¹5Åì^þ¨˜¾ù>³%Ü i9®Þ-ÆšéèuUì©6733k9¿.çw^µðùËZ'…–/_ƒ›¼·ª-¡}ÙÒmÔ5X“êô`£þ™)²ùB5Ir¥íî›n¤W DYYPÅî5ÞðL«¶sÐszu—§? yä|_v9™øt>$ýÛ·gxøÛ{]tÑÅóªšÈG['‹†¢íE’ %U-O«JcK9PãiÓ ™"¢™‚ëòìÉÛvk6‡`m`(*Œì@ ÛzîÜÕºmfL)¸§s¾°0í¤ K¢þ§p/¹ªÙÙÙc/»ì²AUMàc­Jg€–-‹ÃMÞˆDiî·‹þ¯3Är5è3O+®­#×5ƒa£lWQ·m©a ¦PÃUØxØbÀšÇclh†ðÀ®*²—îø±cô<2Z|\<ÕJNNn‡n_VUøX«Ò¥ÿ”¬‘ -µ ŒØª”óLLöùe‚ųüt3SJigB¹V6ÐãÚÀÈngÄšálÎÕHžµ€Íz>{×§¤i‘š‹ N© © àÐ3]»v{¹ª‰[‘U© °bÅòx”ÞM¸5MyЦøÇÿ5ÑϹ²{Ö”py:aD;P,Ú§G4dò¬^Ëi”®ŸKðÉy®å§áŒÁ€êéóÌxö#²†ž¿…[ò©R6LMßGçÒŸŽÀ¯}ÇŽ«Uį¼U¹ °|ùc¼FðÌömÏޝ*ÇÕàŽ´ml€Ç©Q*XÏÕ…gÕý9¬ö­˜>r÷Á˜ûü%C`» 4rÔ/¡V‚¬8.*º½{÷îÖ\Õ«Òà‡–Å#bߌ<¢T}ôÐÃhÇDàú=SQãiŒà*<À)X0.àü~Äš¯ç(mšM"VY˜'[Â,ToßÓb¢—Uä)—,õW‹‰322æ×¯_¿g‡<¨!«à‡‡Q=ÿÓ'Jªì(GÖXµ’m%wÍî¾ñ`¸ ©QëBÅ+é£ÿI­»v•¯ø˜ pÿdª 6Éf?3UÏÅ¥ È‚ ZÉóô€Ëˆ1k%&BVf&=ìÙµk×ùUMÔãY•ÂK–,¡!N›ðÖ’‰æ'¤IšØ¥Zì®™R0ÿÌ=í‚1ETi–œŸcGM­¾­Uô…™ǧ!@¥qí >è0/ãŽû›8µÿ§(F¡s¡ïÉÊÊú¤OŸ>7U5AwUÐeÙGG£|ó·ù*;z'F©Eùï`m:gè\+>@@Îíõ|š}I–ÖPˆçö:»Ñt ·ÑDþœ„Îø¹ŽÏæóÉñ¼BªJÚ¾}{)2Âù—\rI•×øïúÑ 0þ|%x5³ƒÜè#«oMf.b]ÇÓÑ@ÛýâÓâÚÓçú ¢–@H/QÛzš€(o '_%ÎU`RôøÛ¶_sŠòH|UFÊ¡5S#Å¿ñSAŸQ}ûö}¨ª‰y"ëG3ÀÂ… "¡>Û5EVÝ¡8qݶ¥‰£»jÌõö¸âGØ]‡c <_Á¥f6—g1ÇgLbÇ ¸ø”û÷}ç¤ÎÓS˜AG%Õ‹ô¹¡‰‰I°uë–‚ÄÄÄ´N:eW51Odý(˜7o‚mwþÙÍn½²]7&K?B#ÝàÛ|Ùák²§rÔ\Ú÷—öš‡>°Ý§ãêº{dò·˜;Q]F&¶ÀÇÑA!‹0•J:ƒéºð±B.h|B<í¦_¿~5"ás´uB 0{ö캸™éxKöŽˆë›º;võ¸­ÊU Š[Ât¸ÖªÑ·»tå%ÕÌ0…h,a'pl°gWü2z'\ag½(ÓapIT§ÒjìV’ߟž¾m_nnnë‚‚‚¼AƒÕ˜°oYë„`îܹ¿+..þº×ÝWve—S3Á´=µJ°ün™²õž©û£÷ƒÒï7!eO{ò9WÖ häoÏä5&€çñqŒã\/ÈË”•)3 ’S (ýÔ§¸mÛ¶ç322þŠZÀËÎÉñr²³½)S¦ÔHF8n@×/PTT´ 7¤•‰Ÿ^ÎTþè”0MÖäˬk—Ë_ÚÅ‘>Fõ´ù5”‘Q8‡wJâûgÙ6Þö L¿ßþós\Sxd˜,'Ò¿mÛáÇŸ›–––›„ÏÊÊòè~×®]2‡)#®!ë¸`ÆŒ™×•––|®®T­7œ@º•Kn˜9ä }GU䘦V¿Véž)"!©äô° †…˜VAIt½¿]¿o7FñW†˜"Ÿ&BH •lIq1|ùå—/?óÌ3iРA¤aÆšÈÞ½{½C‡yW–Ô &8n˜>}úWø;û›˵2YµR5÷žÝ6Ï2¾h ˜Œ cN0& ëö„;èBÖ|oÑÚÄîãkI¶ø^ Õwz²ˆí2Ògè:Têõä“Ož¿fÍš}@=nøè DÔzˆlâ×F8.˜5kVTÿët‘zÎñƒ‘\&4ÛU¾0")ÝóÇþ½ ÞPS†=äêÁbƒµèÈbY•;üÓLÓ†ëS÷6ÈãžRfZÏ@}7(-¦Q´oþñ|†‰_ÆýÑnÕr|óÍ7¯"§ÿƃΡ[JÐpW-Oèª×“¾;3 C.Åâ+d­6q­Ê-ß\äâUM¿I¹¾Ot½¾®3Œ_ÞÏ޾¨3O)áãØebµk§Ò\£’§Ÿ~ºË²eËv*‚ Êcˆj·*̨úãPZ2qSês ^n tרV³ßÏqþ€U—Ï¥^L1Ž=` 7Vùvô@E›—Wã ûs> ÀÌq¤ç`˜Fd(EÒ) ÎÁ&–W&‰ç8{Öìñ<òȯñéPÑÅ Õš*ÌÓ¦M»7sBôur#¬6-߇#è®U=ËÄ“»" «¥¬¦MòLã_[Gºˆ&FÀÌV•?ÌPpå0h/":…Í`´vÚt5²ÈsÏ=wõœ9s(ßV«›ÍGc“¡ªFŒPa@õ?7íª²F¨Ú‘6^bsƒë‹5„Õ±­Æ^»yvË÷ È×B‚™ìÑ쾪]GyQåâ,ílXKqe'ºã‡´•z/X°`ÆàÁƒ~‰GÝ—§ ªµY¨Ìœ9³Eaaáܤ€vÙ¬ˆçéQê\åcwÌrzV\E•c‰Na/¢'m›².Ý8nÕpH×svhU!Wq%ö@ÒDùdw×÷sSŠ6–ÑËDþtÕ‘aÆ݃îßÂ(Û„G=ŽÖ ÕÖ,Tˆ¦Nú<癘´Aôqé´©ïãO &uOc]TŠ—óòÒ}³.Ö5bÕ3Wüò]qI±¨ÂeSÂégf,Æ&Ìv|BÆ xʇLÉ¢&(;ψߤÀ‡æDŽ´ÅŽRûÆÕ‹®ô?S±#rä1¨1òìªi°¼’²š9Ø2ñ%_ H• ¨Òß·ÇÂR¥o-(*,„#F<;nܸϠ|´_F8^P½5@Üœñ¸c©4¥Ã¦d®}g7yr ˆÕ¿£/j»mü™_~£ˆ`ÕX‘:Ñ.™Gb»EL™#‹\Ê€R×Dw%©ß!¥ lá{SRRaË–Í{î¾ûî¹¹¹%Ç dyŒý¸ÚÅ* ?ÿ|2¹#kÕJ¸µ¤¤Ô¡”®6•±ù°9kåës|/©Â¶\ÄæEnÀjÝ?`›ŠºVe®I*9–jw}Ä7 ®¶ËÀ ³Sã©ä #Þìÿ½ñÆo—C¼ò4B´&`¼†£3AY '›Ž; ) 5ö›½WÛ}n#cM +u”g ‡•{0öÞò^Ê'`@(]d:''»ôÑG¸yóæ=P¶¤{Ǹ/œ¨F¨ @kòä/póþ”P+áÉÒ’’]jE» U;ª‡.F]K×®«ãÑ0¦Ìu°Œ\ XÊ3•½]ÿÇdªÒ3®í7Àã|¡'Zv­!Ç(x\=]¼‰âþ_ýõ·O?ýô QÄa‰®hˆþ•ñÞhP–i±Ÿ8IŒð£j?ûìóN±±1oãNv)RLઠŸ€°@—ú2í²™N»²GO S5×Eäº~1JCZõ+…ã£CÊê5ùÝR&™ÊÓˆGÂÖ©SòåË/¼ðº¿+Ë!ôñDùõ£1B•…”t_ÀgŸ}æ"q‹‹ÿ µVAA¡&°½ÑŒÚí"Mß´×´~iÐUÖÅUº„?8¥ËÒl€¥ê䨣hÀÓæ"º2™·œÕ«_Ÿºœ·Ýu×]ƒÐÇBøe4Å噋S+­9ôÓO'5Ãý|+11q] E‡„£rôÑ=ŒØí³/IªÝ´è¿™ÃäýÙõãÉßZ½ƒ¿ÄNe³ö¡KÌÑóÿ1âŸèúM‚ò%þXš "@±¬@REÃʕƕƼ&Nœx32Á?õ7¢‹5Ú)]í2ªT½]mC Òž¾é¯Ó==„+ˆíj¹ä=_ƒ—5Nt•>–U_È•tÍବ¬¢Áƒß½{÷îCpli¯Èßå•5A43”ÅT' V:ÐúôÓOSP¾ÿ@(v ‹ }ãY9˜ ‡uüßwÇo>ˆqTчæeœëädŽÀ„†¹ºˆÃÕѽ‹¼ÈõKJJF“6iúK/½4ʗŠš‚ò> (CpôØA´×í"V?àõñÇ÷‰‹‹{¡-µu‰d¨¾Áˆ§cÜ+ÀE; ÝÀAÿG¬º@~?ÿéZÌieVTW°ªòáÅLIħËÉ>ÿüó˜3gÎÚ µ"@°®jûŽGMÒËÊ–—8 EÝÊr«—PÑ5qâ'¢}þWrrJçüü<Ñí㩤(sÀ‰»MKòmÄ/ߤ?ÇÚ‚]>ª@â@¯ZH5†òâÌ©Jû¾õÖ›ï=zRD=Ûo?];P–½·_'¢—F1€}•¾NÐBm@-ð«ØØ˜—Pê(=Ì9~öçí6rîéÏ´ïó${h$›3¹ÓÌ °Á¢Z©«ÍH:µáàÁÜÈ/~ñà£Û·oßwÂ+\QËc~o6ñí㟴uJ€×‡~Ø7ÿÔÔԾĔ`’nc´º6êÝá ç<ÿ¸r287’ð¡¬ÀXJ;(E—œÿî»ïVüú׿~Ž-ýG#¾M\[Š£Uºý\©uoÇ ªW2¨²×¤I“$üýqqñ¯!P¬SXX|u cK¬8Ykò{d6d ¬î5S?@”NðÕDTŒ!è² ñç?ÿùÍ©S§Î‡òí~yŒÀˆ>Zê˲ç6Ñí›Í§„ðzOOå—•µÐSh„™œœ|Q­D‘":(ôw“Æà.$Ž|ÝA{â—GÌU2n TŒJ‹|ÿœœœÂAƒ=™ŸŸOÃËS÷GÃ̶D—€_ªm‚—À‘¶þ”žW•3¯qãÆ D 6%² EiN€§gI¯@ߌžÑS¿tJ:zâ—!¸ÎZ%cþýOœ8qÞ°aÃþ G'~tH׎å3‘™°LäPÔ}1)õUBx^Õ†h}øáGµKKK^Alð@LLŒsøpN s†ÐdøH´wRRRÚPâ‡4~`sGS=ÄcßÀŽ‚ ü„¬+Ž0$3Ó AñF-Þ¿¸82 [–Úg‰·%nEà'tôs,õÕjUK …žBéÅ„„„§( $r-?-;lìØ#]€Õ¾é )䍸?ÆŽ;käÈ‘4Û÷hîžÛ·¥¾XÝ Á›%¾Èúû̺bHe® &tB½›œ’r1I6¹Œ6êg_?ŽøQåE£"êj`®ÿ£4…~‰iž}öÙ×.\¸Žúl©·‰[†øüœ}«¶„çUí€ÖG}D¢ÿqÁ ñ¨¨M›ú8$Ì%dv¸}µQ¢#wýr  ^½ú°mÛÖƒ÷ÝwßÿFdéQyà1Ñ«›-ýEêoFþ5bÕà5~ü„6¡Pé;‰‰I}¨È´¨¸H‘X}&¹ë(Ï¡TŒìÐoݺu`̘1sFõ ”O|–x"4¸oyêÞ&zz_¤b¿¤ú¬Å´>þøc§¤¤äA´å¯ HL¥Ò0|¬{|Ý=àA‹´èùgžyæÍÅ‹o…#£y¬îY‰Àùêv ª÷Ô8Âóªq À Abî#ãããÒØ6‰¡Wù;…¹€”¢ö7n™™™ù÷ÜsÏ_Â|5ë#ýyVõDô\¼£úYâ«…+÷cVe^ï¿ÿþ@ü#SR’›ÐÏ!m`®,‡O6ˆÓ× KÏðÁ‹GŒ1üvžÁ›Møƒ`Ïv¿ÆžWgZ¨ Д‹‹‹û¢{—*ЋЅÇ@ñ€„øx]ûGêŸR¿/¾øâè¹sç®I|FöLx²ó@2ÛüÓBâ£×iÁ¼Ðe¼ ‰üN­ZµÚ“[H£ÜbøC@O£Ìß¾}{Kî½÷Þ?’ÝÍàŽ~ ñ‰JªúwÌuZ1­ñãÇÇ¡ªÿ=þ(íqä!P“§,;£è_C˜9sƪ—^z‰bÿ î˜ð{ñFõ¤ NK‰^§ð;vì¹(ño'$$\N“½6@ ’š ¯þï)S¦L ìˆø»ñ¶GýÍ!á3b¶ @ M‚¨9@·\Æz©Hü¼¼<ï±Ç»3==}¾e?â†Ýè)ä•PÕê¸Nkà5îƒ ¯[·î{÷î];dÈëÕ«·¿qãÆy«W¯®v šS¹Îàõ÷¿ÿýšýû÷,^¼xîÔ©SkL¸öd®3Š~ZG®Ÿà _?1À¾~b€3|ýÄgøú‰ÎðõÿŠrpßIEND®B`‚./chessx-1.3.2/data/images/edit_out.png000644 000765 000024 00000016000 12144113023 017404 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ #UF’4>IDATxÚí]{p”×uÿûéFk@6²Á1Æ,À‹‹q`&nÊb7ÛuúvìøŸZS7u2é4tÚ4nÓNDÚ&ÎÔž,LÒ$®S‹Lc¡!KøìØÆ&€€•i¿sNÿ¸ß>¤£Õ®ÄJº¿™+FÚ=ß½¿{Þ÷.©*Fˆ¨¤¯gÜ”Žo88888888888888888888888888888888888888888888888Œ^TŒ·~ð[kW¨ÑˆG&ƒ@2€úí@¢Ð&@›ˆ&U$¤OÿÅ/ÚÇÊ|ÐX?ö¹'WÕÕ¢*Jd¢ DíÑ*"Bͤ*̼¶azÃL¬­€©Îœ:~ÅþÝG¡¢ÈÌ•ª´©R³€â›Ÿøyˈ.X‰†Y¬ÿÇϬðÈÄ3Dð a`®œŽ™˜Š‰T™† ¼JnnNéG8¢'Ðv°{ÛŽS§!¢PA›ª6UÉ™øSOü²Ûà㿾z…©ò6QÄ«0˜yõ4üÞÞ„ ˜HUY·ç¼öâN¢½«çÏö¡³ý ÕyÝ]=€ºi“P7uÀ•s/G]ý$̨‚ºGôÞÞ·{ÞhÃÉcÝ_S,ÒÔ[Ñ×ôŸ_>"8\÷ãι†4n EŒGX¼òz,_|fÑÔìïÓZµâОo?Qð{pÆ0}Î\·l®¯Ÿƒ#~'vüômœìè†0¥ ¼!þÕ6:Œîûë5_7•´ÁÁ·^ƒ;W,ÇLtã ÞîØÝ/ïCªóŒ}è"b•ÌwÍ~ÕO²ÏÜeÅ+?ßGº!"Ic4¶ù¯^jqFoW5C)2mæd¬ûBóhB7zx7‰]ÿÛz;_ rAE!¢X™sÇ{¯û "4nþZé´#@€{¿ºrª*^…ZrÇõøƒeËQƒjœƒ“¯c÷Ë­ÁN§F¡‚À)T¨2”, a…ø÷{ÓÏ>Y¼oàྠkÖC¯©›€;¾ Ë&^xõÔìxî-œ;›†¹)® *H¡"vñ¨H²¯Úë Ž{¬ûòªõUÕˆ×ÖÕâá?ÿ,f¡ç‘Æ_܆¶=ÇJ>Aë‚\® k¬0sR}£ Æ5îùÚªõ Š×ÖMÀ_‹«0 Çp?øÞ 8®å“Ù–€$ßO‚R`Ô¤‚ïz|å SIñËBÕøâãk1ÓðÛsû°å_ P°ö\^B  Ð€ša$,.G…¸÷«+¥•5“'„y"Š«Pgö¢ù;;²›¾«Z2€ õif¨jü¹onÀ™€‹àó_ZU—¾ŒžgÂ_ú»(æÓUØyz/žÿ—°sA((Tû f†ø Q‰=ÿ­Ä¦KI€²/§kxƒ! ¯þ“eÁâ€ÿÚ˜&uôŒLÎÀ;ÈH©éî/¯œ{)ç·¬}€»W®POç-œOß°»ýøÙ·5`×'ÖFÉøª!Nûq+> Ž×NšˆÏßw;N¢?ûçí¹É“"¬²J¼ÖET¤ d)gJ£4MÆ4 EÖ5þþúç›^Þt)æ¸lMÀg½í1møÔº›1uØôÌ‹8ÓÓk³lCV³*ØW¨oC³ õƒßcû7ÊZäû[$ bÆ0¤}iºý‘›ëœÈsüP Sf^†Õ —aë{oâØ“€Á víÿsœ@k(ì"Š(Ôäœ`Cª°Bd „(rÚ.¢¡›‚¬l ¡Ðªið7ŽÎUœ}úþ[pX»°uóë0d†¨öó_­ ¶ùzë•[»Œ”$óÿÆ#„„(Lj kŒ|*Jwfrd ­<¦ñöGnnÚþý]Ýãž>sã´Y—cÙŒðÔ·ØÉ2C^}ˆ0ÈÆál'¾ JñJÏ4¿ðÔ+-ÒD=t&¢Š¢Æó,Í`m¨Èæ­2º€Œ„jtRÀ¦qM€5.]k*¼†¥«o@«FkòCÐPcýŒÊv¿úfI tÃKßý¢%ÚgŸúe7€-¶ÜùÐ-sY¹‰Œ‰ÂPf ƒdh!Ûg(–}Â#M€²sE%ª–-¹[ão@9¨²ùƒ f§~Ãïõ‘Ns¢g³øñ‹§_oñ©×Öù½~¬¯×Où} N?.L¾ìÈe Ñðê/,Y4®  ‚è‚[¯A§ßÞúÐÚlUHCU!,`[|ˆÀg‰¿ôﯯ,ÖÆn}æMZa"¾Ï)VûbcûeÌÈ©¢ë¥@ H“ÆÆ-Ö<¸t-Zø©yxù¹dUYÀÈ.|šá§œNÇ·=ýÆ¥’së÷^iø‘¾^Nùi§-Ô/LNõm¹8ˆˆ¤·`FD˜2}2v%Z¡œS±… eú³‚ÓÚÆ•éÆR˺õ™-„˜²€ƒ÷då‚äd嬬AÓ„5¼ês#—(+ˆpxÊôÉ8²¿3,¡Úà†dÛŠ›Ÿfˆïdž+´zé™7·ø¾ßìû>|Îh€ÁË› k”õ~µ7bZ ¬¢Ì_< ¯ý÷;`UÐ"?ë[ÐxâGoï^ŸÅoT­Œ TxEɬj;‰ &DãG,¿gá"0¡¶‡övØÐˆµ !iûÖ&KÚ‡úÔ4Ür'~¸»”ãÂj}«Ö ‘ÝÌV!ôÓ2þ4€ )8ðú•»{D‡‘Ê’ÜñÓ#rnOØ4ƒ8&ð` àÓY¹ƒ¨@¡¡qç(#" ìڱφFŠ‚‡<!%FJö?~{‹ŸÖ”¤}[Db’ÜØÏL ]G»máe(™_Q(e=êÄHŠ.,I‰ÀHMa¾@ w¶F1‚]ZÃF€%«¯]CÑlÏž^¿ßñŒÕAÆxQD3“1Īk¦Ø½õî›Â" ÀÒ/C 0÷ÿhóέû†l2˜9I„ˆÀÀ ¨fä ìÈè'’÷üå˜sÕúEäöíQ}ûïßííÄsßÞŠØöOôøí±«æ×Ûº»h^‰ö ¿àÐûøÉ?lÛ€" U€:„gÐPÙ…ïlÝ×"l""€ˆØ^¼ ÔÎõÚI`÷J=$èÿ“ ,ã 9“6F ZüâÛNó®«Ï>SArr9…ulÞIìk!•˜­€I®-+cû2Ù0†‘ymE®¬,ûšÏ”dñÃkæ­5„ÐÄ˪¡$QN¶UL_$9¦ò-ÛnZ°âšg´ ÆÚHQˆsi@Ã`÷rÉÍÚØ É”üÈ;[”$S¨‚hxÕµ8q8õ­ù/äy2rrе¤ª©1— |wÇ 3Ûhw$[Õ' )á`0ç†móVø,ðÅ·‹Ÿ8T’Å¿)rÍ\õ5vÇýËðÖö½6)TÞ<9m-AcJdIð«ƒ,Xquƒ°FŒdÂ@æßåc»oÔì)öÞoÚKV#á¦Û¢at}˜Â™Sç†tÿPN3ešCFÎŒx-ÀóÎDÅ—$‹Âg¬vwfn×(Ű¥U³oÏæû¶J(àØ¿i/Y™uÁйkk&WGïý³5hþîŽ\jACû->3ÃóÎ%Æ,vm?Þm*¼(ûœRPF¶“†óûä‹¢6­ªj²:¾Hìý_.YÇíüås±¯ñ¯Ä×ã×Û’èú0ø…ô[|aIîÚ~¼{Lš€\dp }þò9ü©²É9ysú9H¾(ç9~ !Öújiß#I<ôÍu¡šºj4ÿ[ÂÆîRàùòÂF„‘³ÿ—DdÐúê¡°Ä$h å༆>8h±;ÉžÅOs¼¤‹¿tÆz0'úûhhÉ­×aã£Ïâlª·(y3¹ U€û¼øH®Ã%¿ bþÒëAˆ2€!xo÷`C)É°Èø`Ä÷ïaËtIMEÖ "R†rWbKGDÿÿÿ ½§“øIDATxÚí]iŒez~ëè»§çö\ö¶¹Æãƒ5bIv³¢ AH‚%Ä.‚¿ù…´R„¢D±òk£üJ"eÿ-d³ B ¢Ä@¬àh`³,Ž–Ë¶ÁcÆ3žñ\}w×—÷­î¯çëšêªê곪瓾©êžêîªzžïyú ö ¼þúë³…BaA’¤|ùM¬@ïãëUÆØG¸{ë5ÚʲüÞã?þk¿\»ÔK@¿òÊ+C¸9Š ØG\œj_SÀÏ~â‰'®ùឨ~úÅ_ '‰yMÓx«>VzŠƒà7rÏ&ÊŠ°G€N–Ó§OËóóódø¶ljÕ´· ¾o}ñª HˆÇãÐ××§o3™ œ?Þêc©H$ò+¿4Ïà7ÞC;M-·fzkÔ®U#1tp©Š€‡Ãá]Ç~öÙg–ç¿ñóGy$»G€ÖÙé8‹ ' ÉNãþ±|>?bëÐ`‹ÇÖYiÍ´¥‹ÅÀN xY]]µûwüd.;F€sçΩ+++w*ŠB-ú}„4¬s¢sJÀ™µì`0XX”p’u·I[[[–Ç _qv –×^{íw×ÖÖþ[ö 3F€R æ“„Ó>Àm“ïÓ iç®~òÉ'ÿ·G€ ¶¢ÂÍ Q¾£Ñh•¦J’îT¾Í@®¶Ù{NäOÍìWž…œ†&K’uE“EìÛ¸Ÿ&â”*Ã*­Ð>þÜm%VH‹wÿcáž!ÞÈâ ÿ)íSë>qâ„:9k¶âzAß»}û¶qÿóã'!ˆÁ¼Æ”#2:¤ È)•Ž"øôk«|ee'‚u©JÂ=Ø9\xFþ“;ªýuO ™L¾†­ýÇ„?N­¾€[ñ^6›¥óO‚ém~ ‘­¯ ¼y ú¾þÅåˆüwLƒÆ,rij8áwBš@Ûº ÅÔhIô/ Eñ#²ác(+'zFžyæ™ä«¯¾úï¸{Šœ.ª¤íÛL1ÄÖ?rñ »øÈ…´ñÔïØb‚šƒÈÔaÏA`ø(“ Gõf~ãâGåvÎtRiÙmȧ7¡Ü€í«@üê¥ÞŒÐ ü3ÞøS´ãÆ 8xð`Û[½øÞúúzåýá/ßÙ ¾$Cd|¢ûAhl‚£3  ME(f6J¯\' ü[r(!ªH’Èè4¤¯þ¨7 °¹¹ù&:y›¸›XZZ‚™™™Ž`ccCߤW!(@ôø·!<>¡}s b‹NŒƒ¤k9$‚ÝǪÂCx‘×`ã³³ÀŠyP"ýhH€> M—ÈŒönà¹çžË øWÜý~*•"BèQ@§ì?U*Ã0ûü‹¢'"]ý’T"‹Îmìlshç'¿GŸ¯ÿ l^<·ë[†ï}¢“Çö2e3ð}Ú_^^†t„D>^öõðŸ†HOË#Àe °‹9ó “ËßAÛZŒû‡Qþ!@±X<«(Êm¼!ƒD€ÉÉI×N\#D 0Àýõj° ©:“ÅÝ$2( ƒ=À±·N\øÎß¾Ÿ‹O>LL@P4ÐnûÏÿ˜”„èâ4áÊX bæ7ô.> Pà“ýié¨D ” Mýú'på?+åYWWõ'tÍñ¬ŽÏårP(Jò//Û´\Ç©N‡ßÃüE€s¿ êþ¸KÓè;Æd¶@)Q¼³zÆ„ñÔÉÎ…Ço} *Jm!Ô¯‡bcccmµÿÛÛÛ;òß,€ ë ð›J€K?€}EIþ¹Æà.žEðM$U£#S‡0ÌÂxzd?l¢pu³Ô))dŒZIŠ@*n6Öƒ& Êw±eß%¸øš*=ñôè ¨øZíIQªdpz[CõW‡B¡¶ÙêD%!m@RÍi˜Ì^|çʈ7¿¤á~¿û È¡X– UÝŒu ÂJ2EEW€¡¡¡ÝaS À =ÿ×4m§õ7Eþ˜ðy¿ã #ÂM(_l½í,†X™Ûåíº¾•0lÚÏîƒKp·î‘,“ 4 °MZmÿáëæ€9pýLIlå7ÞÛ¼VâËéŠNî˜ñž=f`[ßW¦·j˜ÈÄ÷Õx¾£ÒR{ àÇ(À4Óµú©£Ï Á2Da­p\W€Zˆ P¬Ù–Ž©W èè K7ñX€ù1 0·q¬®Vµ¾€ pLo¡·nÝÒUÀØ‚Q¥Ò+*¥ Ì’¸MB„m뤛”¾l¢ýç`½ëT‡A¬nPÐØƒËЃOCÁŒ È €·èT h|Ÿþ/s³$Aõ¶ 4›#|¯ÚNkpXa±øwRWÓÁ‹–Á ã6†‡!Yº ®d¼áõó¯yE+–²½êVÙÀ:¥õ7áM¸w"VË-7U•9ôDѯ¿Ø[™ÀšX'TÈÁ!ðøà[ýš™½÷Ï|¸5¾)v àà. ð4ë0ùÞ¨8e=HЬ¯ÛÿyAâëA`½ ®zÒ³>€Ýuû™šæ: è ìE½Mß÷ fÐãQ@Ñ6 ôw*X¿øz¹CH•ôס(SQú!+'JUßïÃ÷q‡¼…å@ѲÐ’/,Aþ:$°Æp¿+ÒÆZ±·£&>-osr¬¨: ‹`WÞ‹ã1}޾?/EÊS ¬çôYõ‹ÑÒ0’ûFÓãö3|éÞ0Ð/&àÝwߤR©ë¿üÉÝjò&£Cp9p Š›ãÕTÈîûS½k’ûŸ¢9¨§0Íô,õ ¦Ž#éôNGŽ‚¥ð ½ÊP„ÁÌEØŸ~F3ëÝÎÚë-øá®pæÌ™ýªª~Ov¿$Iãø m¥‰iÒÅÉíím}ª—õ{Ÿ­|FiÏå+ËïWEŸ„FÀT©? U›w ¹råJ¥Çúõ¢¤´O$¡‘EÔ‘„›“ÕðÝz 7a*õL%߃Hq­+Â@O¤‚Ïž=ûž(Í]q3O(‚K£~è=šà‰€¥êä{×ÖÖôc‰,¼[ϧÓ>õî¥}:f||\ÿ~Ršô‰z‘_q¥ï{p5þ;0™þÌm¼ÕZ"Pë×ìÇÀ›zJsܘJ2Ë[-K7žƒKǸ!ÍN.©2µz˜ˆcÞlŸ¿&²èH™}ö$q­$µ úMò=È$)¸ÃÉCFñu­}³ÿQ„rÏ=÷èß_”Cp~æ/ ÛíÕ ¶®—F8URݵjÑúy@¥CënpG·zÞzuÛI ÚÒÿ)’ ™@Hòù”p\J&)1¸4þ\mÛN _!ŸÚqöŒU+Ú?ê’H@µW3¶ˆ›»øð«Fûz ÅñõÌ®·dü M=GùmLæK$ UrÉð‰©ÈA¼~ýº~ìòÀw °ø7zjÙÜÆJ¦AAÿ$4`2O RÁH€%ºyÜáëV2ݼyuà驨”£ §Z;Í3‡Ü¹å*1;; Ÿ~ú©ž¶ÞˆÍÃðÖ/mNý ÔrÉ?P#'°h¾€›]Qx’§]…'¬€'Я]»¦›)¤ŸON¥ŒE1ý<}†Ž§Ï‰RóJÂiÌWšM¬)9‰FÚe³ˆv3(Í/¶Æv;D:ú]3i6Zâ…d›þOy îPâ§¿¿ßѹòÌ!Ÿš†JV¬SªP 25ŽAÌC&`ƒßD>›'A»B˜6°Ë—/ë’ÏãöŽ#ðkµøZ*"nuÓP/D'‘ÔÀ SØå¸ âQÞLÙì .èÒMÀs§Ž*Ùy»l¥DÒäÔN8]ªJ°vë÷"ÄñùíÎ Ðï“­'  y«çË¿¹]/ˆ'»x¤@¯sA÷'KJ@³¡h_D`T€vjý$ïôÜŸ·zràÈÙkä|D%#bQ¾À• Ø ÿ®'@ô:UÈ V"’FV 3‚ÈDÈ6DÓÄuÉð0Û»‡õ—~Þñ¢S P9é&/š~]܇È7âx¨O m@6±¦è—bT’Š$H4HfaºÃ´%@___O@\0¯ô¹üBñÁP rxåaÐ}÷Ý—7óüJJ"U®WŽ5àzcx˜Óœî¦QüTDˆ¹€‚oLþmf"€ïù›%ƒZ§é"”$OuCÐ.äåh P›¬‹|§±TÁï­ßT”¸{ðÓzØÚÓtƒ¸ø¥õ›MD->ê¦ÞA-ÉxmŽ ¼99Røx£ 4…ààq°ÇFë]€Åžµ~ßø(X$¶{`ç7wr[wÈtk› ¼™ àº[fº(°’ÁçÅL±Ì^‹ÃѸ Æî~T³óN¯ànµ]ní¼“k¡H@_Ÿ@»ýuÛ!{KÇvÜÛ…‚Lr«N¼ü=´x'N H€¢m‰T9{èŒÜ[™²Š¸…ÇQÀ[Q€ïäÞÊ ä(È(€]¸g:&÷v*PÉHrk JöÐvàÍÞ»…5®{ÓÅw­wrLS†¾9ì àI'°ÝéàVݲkð¡ º¡Õ·RšJ'ÝÁ<$ªœ#ŸÈ½]B¨Á«°øG}€VÏ Ð,)ï¸ øpõð€_ì|= ¡†Z?óWãfÞ¸v¶ðzÀ†C÷÷îhØI [îÚ> ðžDšåvÚÎ[Ó<8\*ÇCý‚Ɖ››Õ) ë•ÿJï æ²3´ rp£tèqe­ÙP™MÈå³¢)ltcâfN q ¿¨¯_¯ë0ÐG&@T³<€×¼ýZŸá>€hÚj.ÑK €¥¿VÀk-ÜênÄùR ¢•3†~Íœ[× àháH*@;œÀŽÄüe *€ª¥ÜßYÆü­^Où_sP¥Å¤{û^V»Ï4Åð[€÷WðôrÌoöš›7q:\•5øÄ èý\þ¹4𝇂¢o#N‡(l¶; ÌÙÔY$ŒÓ§YïÕ?¼T`½m&€•À—M—µŒèõók)€×U@|$ú–{˜[°¼Öÿj½Ïš¢õF^#‡ø€Ö%*ÝQ ™©M ÀvÉ`²Ö8w’¨ ÓÀ¢øÁ Í7*‚Ÿ/2(â¥ÊX‰®»ž€+@v¸$€^wK ös|Ÿhäqs­ê•PP4œ ʾXŸ*'¯Öd¨ÿaÛ-ÿN垯eïÊæX “Éôó%TèÆ}[ ÷ ÌºŠ™‚>ßmä0*7Ô$; Š–B2¤ô¬ õ D¥æ(€Æ*N ÓÖOÀT+goVeé,Z«ïƒ>Ð×íãkõQ¥eÜh™ÑIä7•Ä #)Äm;ÈaFúýJo B²ê(ª¤Ë©” H†$!­'‰äÕ$(ˆCtûïÊy´~:Á|³ÂCÕ•._¾¼8??OM"È=ä••3GQ÷ˆ´D»H¾’·8¨„¯ÐIÕøˆÙŽÍp@k@$ËmA¶ ¡ ]U)âÕNN€è/› ÂA¼À[”OîTZ6–¶FG®[ÁûN¸ sÍÞ‘<ÿüók/¿üòw‰ÄÃx“æð½ƒ¸E§D‡…n2™ª[[»C'™ˆ@kýrrP¥÷ørôNÈÁ[©>«ÔrÝýæàòOeãÒØ>ÿDú£‰G ÜÖp<¼mA”…hXÖÉ¡w›T°†‡ª!-d I£å3  É;çA2‘{=Ûª„jáÅè'òÔSOý 7çEe¸ÿþûÃøþÌÈÈÈ‚8‡-}ÁšÅ–Nu©šgÀ¡šJ¥Lo>7)´h#U®dZ8Äã©òÕ½ŒI)N3’Ø@L6W —-@~e¶±*xˆ*•fŽ ÁÈH X_ ‚TcDcpq_Í6«ÔXDº˜Ýª€çnt9ð-}¨ Zd•˜!®¬ €¾@ëEܽ$CæûÏ>ûìÈÂÂÂú ³hfÐ"’d·âw0´8Õõõõ]¦…€&Bp‚ð}‘¢zÔZU”“CTã (bp3[|_ÎC_XƒªaRsúÚ‘0¶÷\¶n`…µsE%‘B$¢¸é5§:,ŸÃš¡@5È¢y)ÕÂæ­.×;a ž6=N´RMlõFÿ |Œlx­ï¿ôÒK˸½…õ Ÿ‘æææ‚§N:0===ƒ¡ä ‚J™FÐt‚ 14’eªFÓÂÁ&¥ RprðJ~'¯vCÛD¼µ6ö÷?{Kû<öð Lüá!eßÉ6…/à¯Ç‹=HÑâŽßÇ ³‘ÒkéÒfÚxh Ú¶m~Ž,9<¦V•mþ/Y|‡™×+=ýôÓ#ÇŸžAõ˜&õÀÖ®‡kؤD"‡è”š©Zš~iiIßá…~ÿÃ?¤&Nˆ~åµyùêIˆlGa^Ñ”£LbG*“ð_.p¸†Òôƒ»~ÿ m.’ËÏÈ ^|»s;yòdà±Ç›ž˜˜˜EÇT7-eßc¦ìœ:šÓ…ûܼAÈ4,..r³”{ îÞ(›9Ƕϟ‚¦ªÇdY[@³q¯âPÿ/f¨ÊÒJQ’V7 ÉD–Fð2÷d CEjâ÷È·]rpnÌâ5;}úôè¡C‡fÑ´)戽 1¨N:UôGn<úè£'pw|^¤6}¿¾ì|'CLI`ÈÃVöÏœ9D!â–ì·¾ÅÖÎ_‹‘Ëÿ<ôÐC¿=P$œcË»×¼ýöÛû–——çÇÆÆ¢½œÍÞ+{e¯ì–ÿ¨uïõÐ,É IEND®B`‚./chessx-1.3.2/data/images/fileopen.png000644 000765 000024 00000004766 12077036777 017442 0ustar00nistaff000000 000000 ‰PNG  IHDRNF‹ðiCCPICC Profile(‘UÝoÛT?‰o\¤? ±Ž‹¯US[¹­ÆI“¥éB¹ÍØ*¤ÉunS×6¶ÓmUŸöo ø€²xB Äö²í´ISAÕ$¤=tÚ@h“ö‚ªp®¯S»]Ƹ‘¯9çw>ïÑ5@ÇWšã˜I`Þò]5Ÿ‘Ÿ˜–;V! ÏA'ô@§¦{Nº\..Æ…GÖÃ_!ÁÞ7ÚëÿsuV©§$žBlW=}ñi€”©;® ÞFùð)ßAÜñ<â.&ˆXax–ã,Ã38Sê(b–‹¤×µ*â%Äý31ùl ó‚µ#O-êºÌzQvíšaÒXºOPÿÏ5o6Zñzñéòæ&â»Õ^wÇÔ®k¹IÄ/#¾æø&ñ½Æ\%x/@ò™š{¤ÂùÉ7ëSï Þ‰¸jø…©P¾hÍ”&¸mryÎ>ª†œkº7Š=ƒߪÓB‘ç#@•fs¬_ˆ{ë±Ð¿0î-LæZ~ë£%îGpßÓÆËˆ{èÚêÏYX¦f^åþ…+Ž_sÖ-³Tä>‰D½ Æ@îקƸ-9àã!r[2]3ŽBþ’c³ˆ¹‘ónC­„œš›Ës?ä>µ*¡ÏÔ®ª–e½D|Ž%4 `à î:X°2¨‡ ¾pQSL”PÔR”‰§aeíyå€ÃqĘ ¬×™5FiÏáî„›t…ìÇç )’Cd˜Œ€LÞ$o‘Ã$‹ÒrpÓ¶‹ÏbÝÙôó>4Ð+ãƒÌ¹žF_ï¬{ÒЯô÷kû‘œi+ŸxÀô˜ñú¯.ý°+ò±B.¼{³ëêL<©¿©Û©õÔ î«©µˆ‘ú=µ†¿UHcnfÑ<>F‡Ë ^Ãe||ÐpÿyvŒ·%bÍ:×iX'襇%8ÛI•ß”?•å å¼rw[—ÛvIøTøVøQøNø^ødá’pYøI¸"|#\ŒÕãçcóìƒz[Õ2M»^S0¥Œ´[zIÊJ/H¯HÅÈŸÔ- IcÒÔìÞ<·x¼x-œÀ½ÕÕö±8¯‚ZNxA‡-8³mþCkÒK†HaÛÔ³Yn1Äœ˜Ó ‹{ÅqHg¸•Ÿ¸u#¸ç¶Lþ˜ hŒ¯s ˜:6«Ìz!Ðy@}zÚgí¨íœqÙº/ïS”×å4~ª¨\°ôÁ~Y3M9Py²K=ê.Ðê °ï ¿¢¨Á÷-±óz$óß8ôÞY7"Ùtàk ûµHÖ‡wⳟ\8 7Ü…ðÎO$~ðjû÷ñ]¼›n5›ð¾êø`ããfóŸåfsãKô¿pÉüYqxÄ(Â@ pHYsÄÄ•+diTXtXML:com.adobe.xmp www.inkscape.org ­ì4¸Fk¬%ô¥ i"’¡¤4QÒåK¡EBj±–ä%K\L ÅÒ(P3IÓ½ÌìèîŽîºó^Îù÷aF]B:ðp<¿óœÿAUù¯§©©É-œ+ž_·tÛ{ÛÖ۪ţ–©*õÉzïn¹ÛùBPn¸à‹6mÝðg¦ç¬ªöé§Íï·U·.þ_¨ªÒØ„›L&½B ¸fÉÄ7÷ÞªfT5ªf®ÞóÚ¸ªa³ª’lJÆë“xõI¼¥òyE€AÚM_ÿÁŠã—Ò§Tµ[U;"k¯¨µ­VµÛî?¼3êï2²;¯¥–ÚÅo”µÌ_ɪyí‹=[ºŒv¨jW”µi^­ªšŽBm×Õ›^8 <6yIÕs÷?Íú{ÆjŽ„ºeC×lO£k¿£';Th—Š¢è²ZÛZе¶U¹¬ª]öÄéƒúìvtw¶B·œ‰ëäÇ—oPUq&LHŒ(—iÁôêý ÆuÝ8"1Dâˆ$‰ã81 _fM«ÑÚ²uVbݶ8Vfϳ°q3£*+Ë髨êùågŠäFoD:ÓG[ú—ÚRüÓ–¦£³“ ôQUÄUi˜ÒÈéc8©ŽLÈ_ã[hÎC½Xy0N)¡ºiÙ×ÌØ‹cùñøvJŠÎâÄr@–¢D§Î¤xdîG<4kÆÜ`ÒÄ*¦¦Vðúw/¶76ÌjhžŠx%%ÎpC–²bQwµê%˜7#±à:1 ¤';›Ñ#Æ> @ŽGf.äëæ'º¿ÚßÜÐ4pGK"‚ &#Ç]%1zUÃo娖¥= ÅEk7º ˆáº¥@\JŠFòêòU5Ìäa€ÆF5žY/’Jǘ;²ŒaÃzQ ®“®ÓÖ9†öôì:ÐEÂ+%‹cÕŠ#® là.ª™½ná3òàˆûʦž;Ÿ,/})aÃRõ\„£?(O…u`T £ãZÈÕ,\ïƒ\0/-*F†”ÅÉ™€ß–owþ.ÉÕµBO?„ä!‡Ò¯SÈ©â«ÞöCˆãý~³û-]®ª,OUÇOvÏ…yòèŸÁ}9)6ŠYœÈªc,Y!²hd±‘Á‹µ*‘ç ¹›˜#ßë+ªºkãFqZZ4ø$èî' ÒIEND®B`‚./chessx-1.3.2/data/images/filter.png000644 000765 000024 00000011134 12142254551 017072 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËtEXtSoftwareAdobe ImageReadyqÉe<þIDATxÚìKlÇuöGRŸFR’º@“9= ð©7åÔEµ·¤A Û)z(‚ÈIŠÄòO²Çùµv€ vÏJ%=ôÐ"Ò%9¥ zk'rk×N,QTDñ³ÜOß›Ï?»\ÍóÙåîpæýß̬æû>QppAS @‚B (P @B (P @B ZýXÓ‚òðó¿{ ²qÍ0ÅEžëõu»1/AîñÌÅ,Wüý/æÃ[ýhà³Ï>#¿ýtŠYͰ& C'†iRÄР¬C®ë:«ëXgHäPЂ6­áäDkrŸ|?©ÿ^ÿŒf÷ã=ÄgƒæóÜÃ2kÖŽmÍÊaîñká3š<³Åý´ð:üØ#áûè5Ïã×<^wé5×u Aƒc/ÀO&~ùƒõÇï{Ívô¡‡&ݲ0Àé¡abÀàšé ÍTŠÕ!hÝ4ˆ “j«#²`Â2̶ÉÛp²MzMc¿×±:ÜÇsQg)üNŸƒ¿ Ÿ­ü:ζ ëz>L—=¬‹ö Ž÷„m.P¢çJ÷ºØÆîÁ6ÏgÏt¤çáý®¸ßoòNùùA¿<~ &°Ã­ÕX»]¡¹]Úœ€GeaL ?÷îSZz8kÂ̾xä0ùîèP¾Á¨M×¥\¢jMo z²…úÃ{ëÛä{·ûJÈùÖ{ej÷x¥‘Š)u2² ÊxëVʯ§jŸsÚî…õfÜÄ£?¨fýóð~öâ€#BÜ.”È{ýq‘üòúdñ/ÏG˜Ì7-ݤò^Ó *ï±±\#d½Áä5aåz³vùš<‰MD‚¾=bÐîIïr[—&D“&B“&‚He-˜¨ÆzýÄQ1£û’1dÒ}Æîƒ²ÇÞ%®ËeZ÷ ×<**(ÕѬ ü/ä.ƒãÐðþâ¿è$X™AÆ‚SiÆš-KZ ÌF`hA=¡hh&(›oò›ðšTo!ÜFàneÇ2‹®cé’YºÓêy^(赺ç»uýò^¯Ù4w¸`˜Ðþ¼µSò-»N@sÄRšó:*ƒ[r½ÅµÝæ{ÿ "€FÇQ\P&¼ìKezO‹ëœjëîñwzžÏ9äz“ûƒ~áøiô>Î*(§¥×ÑÚ®@Œö¦PWöÖÁS A߸lBwJ]*Š(Ð®Ç Í”«.A:yñM}·íã%ÌAG RŽša¢_k'÷Hø\|/Ù&×Âûˆp° †MÓNežS ß“6û+‡Û…Öï"Á;=êù£Ú?˜´ÝeuŸÖ=Ö®8ÀAuGÏrˆ‘¨úN mâת€už ÖíG Ú·kOg.b¬»Ž,5Ú©A34îO€îñ ä¬îC݃ºuŸ‰‰×…èIfzþ\=ô&¼®7˜^÷Ô™mõ^Ázó-4…wÚ[˜Þ/_èeôd“P*{ã§x¯Vc”oWרUh?|»”‹Œ,¾8ˆê›VÐSྀ…[ï=?@'õ¤Eœ…jÑGêrªUê†E #îm‚AºÖÒ­xÿ$w®¸®7ó(n ,‘m½‰„Hž»º@LóàM£—o«¸Epˆ»‘ƒëDè-­FA91ýÁN‹—rË9›˜“í†óÛB€‘‘Qò´ùÏ+Љñÿx#d¥–ökps…†óXNB_=uufÞhÚö‰Mœ.!Œ´éº@,"šÎÙ¼ŽÈä:&‰ÜàQ5FØX.’+•½€=‹Ág9k~úP9l„ûÙ'aì‰q?ç>ñëäz 0Ò2 £HxШ’ïéëã0>WùÙÑÈ‚AÇŽ{Ñ4Í+ÅÍ2±,‹a”ÅpÊ@ ¥<#˜Huy"YTM¨L”!rštŠ\ø\ÝÊS÷2¶™&±L‹µCÝ϶Y­cnY)H&I¥Rt"k5›Ø5‡ÔlÊ5Rs°Œ9P–ášã°„9Çq‰ƒ‘9š¢Ð(Gë.—Õ®@ D*(™ò$"œ‹ÒGƒG›x×uYî0­ß~ bûô|p5*%p)»|äÈdllŒN¢à‚%3*gñ}"±åz꯿°o]f÷œP±"¢¬]7ôºëçZPæ‚+”úÅdQÅËåÏ&Ñ—¨_PºÇY²°f_bÛ /Ø¿Pâu1áDpNù¾¤Ú‡ëAx#¾omm|øÑG”{áDidS)k¶ŒrŸÍ]Àò ½™ØŠõuy²µ@wêu!f­êDÀÖIGNdHàzð;¤d!æi´€Šé»=&îcÑ;x>Þ‡‰ï±hÝNì_ ˬ½å„7²~®¯k€ ‚x£U«Õld" PX'33'?.W* °€ÅÒØn½Wádë[DŸ¨¦"À¢@ˆƒŠÊò`RdI" L)`ÿV lE@Š›³~!l—D@ ÍsÀVæ¸ME€¬W´!Ë—”GNéâš`ýgý(® dÒ Ç¼Am;‚ Ã³).ÿ}Bê”7=õaÒD®im&}˳»™4­}Þ9mÿ~®Dóèc Ç>òXÀåËo.BDzƒƒeœ÷p¬qÌ_xá…Eäz‘»‚Nµ/㢋ÐlꈧRá"‚‹\~aÇüСCdtt4:+ÞýõoÖ!›™T0¹@A"w û d2ë·Þ~gMæt&!"[>9þÂ(*Ó™´U—)HèÇö½@“U°—¡õ‡•P*Óé*ƒÓçfç–B¤°â ¼téëè jHçÇrhh•ê+.\¼.iÓÜñpð™3gO–. >€& õ 9ŠìÁª¢I˜Ÿ8†8–.ŒéÌÌ©~_·ÖL‚ͽ,ÌCû‡4õ]XTîwãùQÓ…‹¯¯—ËåIBwÑ8ÔïrŸ¨ ©­d>Óòѹ„ŸJ¥21;w~}»ñŽ…ؘ@V¡¢258aî^{†aû8†0ùKÝzGW—„¡ÂR­V¯áºvqÃýmÃlOùTîÃÌàØÍÎÎ]oEh±SÌㆮçÐñÒËKIC€x:‚>Ÿ²Èm‹ŽŽu¤;UsÈ%qÛz"? ”Ÿ+‹9—¿ìÃ?Ó’KâX©opH$°è MY·ø ä~u">ï–ÐóÛ;$Jú¬”Àîè€~»Jà–OÀvb€R(ÐKèÅ6ûˆ³â}‚q;L:‰‡[ÇS äuڱߥ¾uŠr…½R9Å9ñ: nýI¼Àuxª?ZpTˆÖ’P ³ˆ?׉Å9ŠôÈþÅù1ëÏAÒ”pÀu€ØÝ¾/‹$Åz¬:ª?Q Ôu£ÂcÕq/^4”/ŸàÆPH§SÉãL¼eY¿;¼YŠÏé`q´ÆîK 044L×âÝ?6JVV×ö¿²—ì/XE$ü{?ñáÈ%|`,ZÐÕ蘦‘ááo þ(r‚rvûì¾sèØ À@&½Ðu­&OáJ¥Ò{×Þ§Âî)_¬"«‰E¶‘ûFöõ7ðûÝÏ×¢E€^ÙÅô˜x3zueß}à`×â§D¶Çbì“wöàšÀvmùžÿÇs—í¼ÝÿÇ%mêɳ‹›Aq³ˆY®Ýÿ븊ô”YŽ3~¿Q‰û#ˆSÅØÙÃìÔ/üZžõ‹”{ ÐìÓʋËÇŽÿ|~¿ÿW×Hlým*Éæˆ _ݽƒÅévþkÊ4b;^‰å¸Hœì v ¡B‰Nã)"x­ “Œ”_*—¨µŽ'<âî;”úL=ûÜÔ|;ÿU @òt€ùÆñd‘{_MVVVèž`â yöégž½ÙþÿLÅ–`âíhâÅ·{hšN,ˤ2õ¤î»w¿"·oÝ"÷î}Ô‰»³xÐ3Ï>·Ôÿè&O Œ-È®åó³ý+ Óï’[·þKòù<½ÄBò…''z³Ûÿ+ŽV“ÖŽ?ÿoÿ8²hÝŽðç?ý!NO=üÈ#Ć>Ö ¨Ô-Ä#kÏþøÉŸÌ÷¢è«½¯«ï8|øp4ðÉ'Ÿ’{«ùØŠ¿|˜}Ê4ÍqúG5-ûÃ#?êù/ß~à~ŠO|¸¶“áºM•o”N,—œo³Øˆ_Þ ù÷Gƒ ú(P @B (P @B (P @Aâáÿ )3_$ ‡9\IEND®B`‚./chessx-1.3.2/data/images/filter_reset.png000644 000765 000024 00000027414 12142254551 020304 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ!&w±Ÿ¯ IDATxÚí}y´U™ïïÛ»ªÎxç $&LÚ›€ ¢­­¶íBEÛÖ×¶>mì^Íó¹Z{x´vhíÕ"ÍšI@‘+ƒ6 È SB”22Þñœ{†šöð½?ªÎp£6dÉùîÚ«êìª:U·¾ßþæ½Сu¨CêP‡:Ô¡u¨CêP‡:Ô¡u¨C:ĉµè„Þ ØÄXïçíÞø¾9¾…˜¤t—V ~XýÖ '3çfœ¬ãxY€DW±P(äs³¤ )` ޶¢U8¢TP›à(¬ø¥¥ß Û¿êmÿX–•mÏ",o°ëïú,w°‡túßÐÒ˧î“I'ÿ[ÿìÙ³Ou]çx!Å,!œÙDr@J™RQÄ€f 6ÆúÖê[3Æl¶¯ýÒªWž½k-Fï«v$Àë€r§]Ú=0uÚ<鈓rÙÌsÙì Žë)¥;MHg:‘ ˆ˜Ë€µ€±Æ(XckF‰·h½¢u´^«ð9¿¼íñ¿ùÇõì© ø“ëÞb£Òæ—øò(œú¿–‹?œ÷šÕÁ çþ„¼B7^øÑZ’ãäKz˜1õÍÝ]…³rÙì»<Ï{K&›ð¼ „ôr@ÂHÀ‚À,ÀD`F³Yf°µ`k6`«`t£#V*|)ýÂ`âA¿¼å©áǾ¶¡që³/a 6¿‚å—ÏÞ'’Ì9Ô`™.0¢ðȹ¬ƒy³ªL_’ãëî²[îÿüï}‰ÇŸû’´îΚfç›.ëžuDï©…|ö]ù|îý¹\ö”\>×ãeò2†„²mcÈËÆ0ƒ­!ÔaÄB&’DR !HJ `Eõã¼lþ/[¸?óÇWü|ëò·cOUý*ñ¹·3ÕË‹Õ7¾Óv$À«Ðñ¼q“Ñq\ŸØvÑð“ÿr+€&Ó= ½|ëüßÁ©Ÿ¼›VüèO'õOyç⓺»»>œÏgßÓ],œZìêšâer 'Ë.1lŠ…1–Œ±É(`"@"!!$AGJv¤Hš`ÇèQXGP¯øõÚIJúÄÈ-›Ÿ¿ûN»í®ígúÔ¦›æwð?Л?vë0³…þ’ñá—Ž,½ø¼ëûL~iò <á÷к;?Ñê;ñ’ÂÌ£xOOWþãÅbá=Åbqj±P„“) ÖõаicÃZ[˜(åv²IÞªh0?M ˜’Ø‘’=×%ÏB’…Š|Ô«¨TÊ/×&Æn™^sëØ’o>Ûx¼3¾Îô䂽‚CïøÜÏ7d³™cƒ0ÆŽÃìØxuyùÅwðàÍÖÄs—-¼ñÃ·Šµwžß«ç\sTWWþ£ÅBöS}=ݧuw÷ÀË¡ÙA=´¦Z×ÄZkE"XLnŒövfSk›¾é„ù-0´@!¬ë:6—q‘qHZQµ2r¹T©UFo­ ¯½vû£ÿº€€·ý¿€ÿfn¯€à³<×±GLïO˜¼Sã:ó/£K¾v€ús—í)Ÿ[íø;–òÚ;Ïoêûï½þ”B!ÿ™®bþÏûz»gv÷ôB8Ô#VuE~ ¤Ò†8e¶ Ñí±Ä)H,¿t¿! ׂ-õÀÌBi%˜-sÆ5…lNö Hr\Ù-¥øî”ÓÿG—~k)kd–Nüüj¼xõ\î`'22“É`ê@/˜AZ볈Hšy_Ó¥åß ZyÍ\Ý~MßÛŸÖUÌ]ÐÛÓu~oOWw/gÌXUs¥9‘2Ä` ˆX-–sª÷™”J†öaž^–X 03"‘ ¬e "å€`»ò˜Ò/)ŠÌüqϩԎ=¯¾|Ûê%“ýGŸ)“ÛLÏ^vw°“ZSÚB³DO_¿:êHí )Ï !Xœ¾€Æ–~ý.õäÔé¨÷Ó{sYïsý½Ýš:u Wèê…¯¤)E¨ú±´6ÑñD¢ynŒønÌH$ƒI“‚±O"NAÀ঱ØÒ‰TIއ‘‚`»‹Óßß'™9k­ù„™óÞ‘Í/?x50¾ã?òÄç|E;w‡ä!çœþéÿ“/z#ã¡@årYÈ»d ŽÒìÎp§ž^«o~ày8ò}ç½£PÈ}¹¿·ë#S§Nq ]ý¨E¤‡K!UýX‚ARH4ý¹&ó)ÏMæIé•;ŽבäÊޤ‡à¹ž+‘q%»Ž!yÒB$0ÌÄrYWçr®´Œ‚Öèý' Õ6=ð2€xã/ðÛ¿Éôʯt$@sø§"Ø †J±è)H;½¯_ÅÞFD‘>ý_éx£Åbæ/z{ºÞ;uJ?rÅ^”}¨Ñrà„‘Nxž2Ã2§*=1âì$ÆK–B)eÂ?0À°lch«  W’—p\HG’çJ9°Ì:ÖVhcƒ¤H¤MkQ÷3˜2Ћ( ßÇÇž¾åÂ-åg.{“ÀtÐ.ŸSņ†#%³^‘»{úèH t†±Ö‰¨¯§ë”iÓ¦x¹B7Ê>ìH9Q¤©!¶¹av§®\Cw'½„ë¸p¤C‚àÀD0:„Ö!ØFÖª`È*Øêp`–^±ßÉä§I7Óë¸^&“É"›Í!“Í:¹LÊZ„±‚6–)ÙÄZæ´ƒbwQêõàÌjßqO—!Wfû#ÿ@æ+Óm½~þ9>ìÀ©x‚ Á †ÆCXÎÚbwŸ˜ÁÈYÆYÚXôô£ÐÕƒJ@fl±Ò$e‹ùÌ¿ãÛ!óØ*XBGUÄþÈKq}x ËÛMTÖáĈ‰ëi™ŸÒ-³}ýÒÍõ9^~z®kÊÜ|×ÀÜBWO¶««ˆB>‡Œ—A=TPÊ4ÝFk~¤‘Íxèíí‚ï÷M ë³Î‰Þú¥gÆ—}çW¢Ê ÀÌùŸÅ†Ÿ®#Ú#B¤$D±¦‘rݱÙ|·˜5‹` ÃËQ aÇ*¡ˆ•!)#Î2œu¸iè'<ÇåŒçB€É¨*œ@”¶Gµ+ƒ±µKËz¦¾í©-iÜ!hx@FöŸ40e·N)LsfàO;#ûæöô‰bWNÁãZ +C 73V~hГw1ÐßZuÊi•Ò±óÇgl™XšyúîƒÎ¡¨Rþ¥ ’)C£õî-ö²#W|KãÕP‘N 0jêúV?uÙ„€ëº6ã8D°¤¢*"¬V·=[ZùèĦGž®m[¶l†L¤Ì·mͤ[aÆWmzbÕ:oæ9KŽÿ£'¢©Çÿ©Rñ9Ƙž¾¾ê)º¶êbmH¤)i żèêéêÉw÷ÿAqî§çÖVß8~Ë_Rp#36\¸†–]6‡o0%j€>x" À@¬ &ê „ç2U|M‘2ÍX}Ë„h³ò‰!…dÏóÈ“Ž`#*ª;FüñuV6?þÐØªŸ>`[rV]3çÅ™Þc”›ë7ù¸kæ[ÙÍ÷躈k;håÏÓÆâmmßöÐ+µS¿ø²>îm£ÖÚa``J¯èír¹R‡µ @[F¬™ò]ź{úæÖg¾ù´ÚÚ»WÖ¶|šï¼t×ÝÂC1Д@APÚ¢\ˆÐ&9KŠÔ¯çÄWç¶H ŒçQÆqau„°>bˆÚЊ{Ç×Þõ€¿ãÙ5Ÿí™dNˆg½íïÍÙÿú>»èøVÌþÌä|$€¿ùñ$&•«+>`uT‚x¯Òù¤ëÊÂÀ”ê.º¶RWP*1Ecm)Ÿ‘¶»;/zûúŽ+Ïx3zN¾¥G·@~ꮇöA´ÅgÛCµH"X0”6M^$霖èGxÁq\›qÁ&BXC½´ñ™‰ÍOþbtÅMë`|€ª“í æ~$ê9îÝjííŸÖå ÷ã…›&?ÕEÔÃÕ);'áŽ:|ÃûÈÖ_¼öéJï¬ë7›ó2îGs97ÛÝS”–Sõµ$ÚXX–6ŸÏˆbW‘²¹ÂÑNÏ‘Óu Þq€8/ ]4³0mØ „¤4—¨ ¤®]bôˆ×qÙuÁ&FPG½üÊsåM¿¹mhÙÂGR‘_ï:òL¿8s^°}éjèÙë^Óó=ù7dÌü¯s3Ä8úÄ¿=Áî¥9ÇËL+²œËyÈg2ˆsŠ5CF.ã ŸóËgz¦sÌØF l†¿ýØ›vñ]‰CÒl³¦R€¨}͸~+s×Èæµ\=ÏuAløÛ6W¶-ÿÕðÓ‹°@­ç˜sj™î™õíK¯P»û¼Ký’ÏM”Ž=ò÷WÊ£·W_*•}Xk¥ÂFš¹ÔBK±\ÏA.Ÿí)ö1[œ6€8v=M,ÉÑÏÔôá©e ¦ nËÓ7Ž‹V?îÁs\€-EA~eûÖÚЊ»ÇVýô!¶f¿ûè³kݳߌ®ºÍìé3??‰qá¶uKÿ»Z­=8Qñø”W‹±Š¦‰º…@6›íÊuõéõ½a`wÃúâÐSÔÔï­„\+O/Ræ·|A iÄâ=Ç… @E>‚ÚX¹6òâýÃÏýðQùå—±†ŸŸvJ¸ùá‹ÍÞ|ò3°»æŠWÂ0|4Â5aA וˆ5¸ª…† ®çå¼L¾_z]Ý©:§ŽÀä-µçÚJ´ÚdbR€H)%ˆkŒ•Ž*ãQyÃ6#ÙÞ£ª'<ê™ó‘½^Ÿn_ÚüN¿:²4üßAƒ Y)’XJÁR ¸Ž€ç"e† ~”«£¯ ¨ÀtÍ9xø0Àcßê±øñ~ºíc͘Qð\™÷<‰LFB ’q¤øÂze{\ze@”L×qïîT½Þé´¿{zR0§» gºŽèv]ù¼W’ø Õ‰‰-áĶ—Pe{]°3ÎØuO €ƒ-ŒÉ¶ ¹GxŽ#ó$ü@¡<^Þ:±uÅjDÛJ(wô»ù'çÐ.൫€s¿×ëÅLθ)h¼Cä•Ç­(¢å \ÿ·[öƒçð?é”ÖþÛ Ž+§x™÷2#ð5jÕ•òØæñ5÷½ ”ï™fºOü8o{á×û&àüÅeoÏäÜ¿’Â9ÍñÒ”BJHJãçRB¦Õ¶Rˆtå ‚¤dj– ‚håß)™·'ˆ’ïH2[I#¤a˜a`¶0–aÓ¨ž1 Ë ËéÊ\ɹ†“s×™ä;˜Óãla›×2Œ±`›…5Æh­‡õ_]yCxÝð€ö€ð_:MôϘÒïxα¹¼;Ë9ˆ•E©ì£:QÞá—¶½„`Ó(€0?ý5ë]_°«ú×ûñÝ^ƹð˜é}ç¾aÆ€ë¹.¤ëÀq8RÀ‘ C¥#Ó}‚#¤ÍãÉ$ÍôsãXÚ'%¥ý­Ï" áÃ06a¾±6ýœ0nrŸÝ©ŸOr¾6íýF­1^©ãùC³ù¯¦ïˆ®ÃBPs6 ¥Óã8ÎìBÞí-äÔ‹‘ÑZ<>´å¹ê–%+‘¬t™ޣÔKû&˜e'„8szOÑ=õ¨)Èx¤ã@:²Á´t9”Fel€¢¹OÍ%S¤;ÆùŽlkhXNF¼µí h|fXkÛöy§ã“Ynô¡ ††°ÖÂk 6ŽL`íPåèHé·àc_ƒ âýo´t€ÒÈKG‘Ë:®+FªÆÆêµñ_¬­ùézõî£þÐöÍù³ué Ø'€d$°bûÖW ¼l^ƃë¹p™6ÏM÷¥€ëŠt+á9ÉÈwdßu\ÇI· ßVNú,A†ÒÉhÕÆBé¤%û&éתýx£O·ú´1P†¡ÓkšÇŒIö•R:ŽG!| @ˆü2\×mîçsî´lÆ9Âõø¡ÁèX å±ÑõõáµkŒºŽ{^yãÇw[R½6/€’Ec( Ä– ˜ PérØÊ&MsR¶¬¹Ñ&Yhî's¦ CI³–öOÚO‹=Mó;ÒÖ¸í¦Û›å$8©Q²Mÿ(íO ˜ xö'¤:}=ÞìbÁ鑎D©ª1<\Þ>¾uÍSþ¦û×]@÷{¶Ú“û9¯]4%ÔÆR¨í ö¤ˆ…›Ç¹ý¢ö:mn-¬”t¥g§ÇÛëù“Žä3·ú¥ït§ôx{ÿäIbh ÿVOÃæ¿õË+è;ç €YŸúÔ1ý}™ y§¨”ÅØx€ñááu£ëY¦Ëë_! î=íSú…ë?¸G“S^ê„:'+]³Ñ­fuº¶sÚÚ÷_³¦u]³µúlª›'õÙßîkÞ«}»ó³üO}Ö¤MƒMº¯ `µ9`Ñò²9ï讂3Çs®JUaxÇèŽÒÖž ×Ýõ€Z6ŸúÞøA½§÷|U `3Âl‡ÙšY0¬X,YXH0'5ôÖJX)`­€1ÂH#AFìÔ$H&[8äJÀ@ °“¸ˆ¦¡ÛMí ­ ”ié}£¯“›“¦Óf,¬¶°ÆÀjN =k“L[°NÎJ¥-›8´V¿ œ¼ßA@¢ådrÞlòd¥•J€›6<¶ã™[üTvæüè­_ü„Y{ËŸï[Äëóë{N­ "6³™M¿5Tì€ #´”MW®éÞ Ñúœºvc“úwrû‰˜0Q·¹q:• Ú´,xÝp Û]Âv·¯Í%´é¾nö'`0Ú€µéXåUðàPý%ÏßïèïˤÊçÇN>ç:r¢¦P)®yÉcñ¶ÇÖ¨vÏ>3ê;åúGï¤}¿Tì_žòø‘8v8*jqdÙs!’¢É´X!qóÒ`ŽB¦ –ÍùvŽ#áÈÄ…Lâ®ëÀq\¸® ×uàº.”ÖPJA©d«µ†ÒFëÔ¢×0Ƥ-ñ6eh*òî"7~¬!ÉÞÁÚÔ>HËÆ-'`ÊÚÈíGý¨¬žúCà¡ýøÕ?Ã0ï+oy“çÊSÃðkõ¸¼eõ£cÏßôÒ•H2]Ó‚ wþõ^è«À3Û!ñSŽèÊsÌl8N €4r—̪M˨I4W»L!'@¦Lwœ4äÈÉÌw<¸žAJ§Ìã&´ÖÍfŒinkLÓVH¢†¶ k[gsqˆÆ¼NÎÇúukO±$OýØÇ>öØààà~ÞóÇqܳâŒ8R¨m}hûŠ»ÓÕ­Û„ý'Ÿ¬¼Mí­û½*¤”›HÐJkÍÌ(Š…µ6aª 4¤+„€à$„`9y‚¾Üf½·lІI’BF2z 2­r>´<ƒ„±“G¾IAÀ©Š°l›çý6ãááä;”V !Æ`ͪÁÁA…@'öþ<Ë;]ÕKÏM¬ÿõíã+n]  –›r|˜Ÿ:'ß‹÷{Uø¾?Ò××wÛøøøü±ñRŸëºp'Ù2æ%¡`‘ŽxÇ‘ÒI>n2Â×…ç¹ð\^ƃçyÈxd²d3är9d2Ùæ’la! Aˆ0 F!¢0BLj¢J)Ä*NÕD"-ŒiHˆDcRÝŸ£8-ðئTak@ ûr¹Ü“ûKüÏûêZ~Iki7rò'10ÇÄþ¸?òâ=›ü÷%Æ„W »ŽyG¸å¡ß«¶É«ºƒƒƒÆs»#ÅD¤šS­ˆ&ðæ'¤ëò´M]i­¿Ó6aò4mÂä¯l®ßñ{Îk«Ñnž‡ú&gÖÚ'‡¶÷µ]ÅRȧ…À¯ºêªÚþñ¢me?üÊê)`~—Õ‘ˆ+ÛîܱôêûÒˆ_Ô}ôüúŒyŸŠ÷Áý_®¹æšqWºŽx€ÒÙKÌ.cº÷âî‰þ[¸Žó±á7/Ð]GÏûæ¼?znÑ»ù€/^üŒ ºJHZÝ êðïZP÷ukBˆ é:—ŒŒüðá‡Öûóžúö‰NÿçMÓØê™&¬®ªo{öŽ­¿ùþ anÊñ±›ëó_¾ç+vI ×þ¾¦M›v.!æmF§ÆøuÆt4õ¿1`k¥ ;¬Ö× ûóYæ}ùù¦bõ˜¨º¥>ôÂ=/ßóKÔ…›S™¾cüñ5÷î3PîRÖcÁ‚vddä'ß ŒÑMë¯# p:­+ð½Æ˜ï,\¸póþ~Žåß}À‡˜tPÚQZwÿÓk~ò—«tT) '£²½Gåu÷ïSWt—«‚ƒÏ~ö³Wf³ÙYÌôQc¬'„M–Ty]ŒþV^AV WN:uÕz¦³ÿ= …Ó‰4~?Xº…)®×=+Ç_ÒûzdíVYøµ×^»é _øÂ®ëm9ËJIÜüUƒ]ç§¢\"ð¥W]µðò™ýçÉ?ÿÖsìÛ¹pÄ)±Q>×·?·ÏßènÏ X¼xñ\pÁ·…¤^cÌ)Í@ ¼ÌgNBÆ‚ ˆèff ,Ï7ÿ¢-ä§Qÿ‰.ÿì\Úooq&†ŒÝwÄGGà‹Œ1RʃÔà4àcÀlc¾ÅZ{ÉÂ… kË.ùÆ‘äÅíQéËàà`à8Î"£ÍUÆèh²QxðP3\l ü„Özñ0úFÚãÚ§ï}ï{µúz«ÕÏMšœ9hEm:_k¶v-ß]´hÑÖï%ÀÂ… 7(¥¾m´~R+Å ìµ}lí˜ \^«Õ~…Vôuˆ-Z´,Ž£«´Ž7h¥aÍUí̷Ƅ֘ëGFF®¹á†ÂÛ÷Ø7Þª•º*Ž£q¥{ µÁL°ÇZ£-ØÞmŒZ¼¿#}‡pï½÷FBˆ•V·ÄQ¨£Ðìçp17#}FkóR¥Ôwÿë¿þkm‡Ýûpùå—è8þNÅ? ÃHî‰òŠ>IDATëFÎ`?¨ƒFr§Q-d^g­ùþâÅ‹Ÿì°z? aFQpeËã8†Ù h%yæÇ± ŒÑW¯_¿þNÜaõ~L›6ía߯_é×k[â8BË3Ø7b¿áòim â(Ð:º®^¯_ï½÷F6,X°ÀV*•ÛkµêeµZµÇjŸIf4-þ8 mG÷ÅQôŸ×]wÝH‡ÅpÓM7Õ‡††Ö}ÿÇõZJ)kö2óÓ‘o â8†RñÇßë}`pp°æ×j?¨×ª÷¾o÷ª=Ðæë+¥‡áVÇ‹–-[öX‡µ `ñâÅ+‚ øÏRi|]ø¬õÞÉ4G¿R¿iõ­•+WÞ¼|ùrÕaíA€Ô=üeebâÛ¥rù•(Š’éX»3àf Gk ߯#ŒÂÛüjõæý]Ó×À.pÍ÷ý[Kc£×ŽŒÔ£Ô3Ø|AÓÝS ¾ï¿^ÿï(.M«—;´ ´_븞yæ™ø¤“NZ pŸëzP,…ëy­É#éD!Ĥi`Zëd. 6M}Ejµ&Jã«êõúüà?x´Ã΃[®½öÚmcccWŒŽI½ c,‚ @½VC©T²£##q©T*•Jå§&&J×Xk—vXwˆ@3W£(ùå0LŠCÃ0ÀÈÈh44´c{©TZ]¯Õ~†áca®ëLù>ÄùþŠÑ‘‘åžëÎRFqm®T&ž©V«K㘗)åo0ÆÔ/^ܙ𹈆‡øÌg>sÚÀÀÀÉJ©R½^_†áðÍ7ßÜñó:Ô¡u¨CêP‡:Ô¡u¨CêP‡:Ô¡½Eÿ?÷Üè×áIEND®B`‚./chessx-1.3.2/data/images/filter_rev.png000644 000765 000024 00000040746 12142254551 017761 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ!Õgå4 IDATxÚí½i˜]Õu&ü®½Ïxç[³¤ÒÀ(@€ÑÄhlì¶Ýé¸íîÄNÇ€‘…Q©4AìÄîtˆí8Æv,&ÈFc§¿t¾þ;C·ûët·Ó1¨$4Ä ¡JUªùÖϽçì½ûÇ9çÞ[¥  j?œ§T—’ttÖÚïz×»Ö^˜[sknÍ­¹5·æÖûqÑ»ñ¦»ºº ”bBT«U©ë:víÚ…®®.T*ìÞ½{βïUظq# û¿û=•NÄÔ¦M›Èu«(•JÐ4]=ùä“sV}¯­76lØ@[¶nÕÞèg×­[7÷ÀÞÄÒÞ 7©”† Ø‚ÎNüá}÷yð™Ï|æBÛ¶—+%uσ†aìòÉ'Ëm­­´nÝ:5Þå!`Æ Ó4Áã>ø ÿß'?ùÉ«;;nK§S·H)ç‹År¡PøþßüõÏsæÌzî‹ÏÆ›úÎw¾ƒB¡]×cŒ…Æÿàon¾þúë?»páÂ?ì\¸ð“‹/NÏ›7O7 Óv]÷ªÖ¶¶‘çŸþ` ø¡C‡Ôœ‰ßE°yóf¬^½÷ß?V®\É:,Ä·¾õÇ®[»6}åUWm½ð ÷Ò¥—]qá…#™LÀ¶#UÝ0¸çyѪ룑è³'NœÈÎÿ]È2™ ¢Ñ(mܸ‘ÿÖoß&>xÓ êÖ[¯çíKnJ¥ÓtvþÛK.¾„Ï›¿š¦¡T*¢Z­j–e!O ^‘nJ_ oÎ´ç¶Øù¾uëÖaýúõ€t:M‹.¦Ç{ÌûàM7(|Ñ¢¥Ÿ^¸xñ]ºtég–/_Î/]ºñx œ3†]×™a2"]”L&Wš™ÁŸÍæL<ËCÀ¡C‡pÝu×cÕª•Ü0LvÿýßðéO}jéu×­ýrGǼ߽ð‹®ºüòËÑÙÙY5M“Ñ” ˆ¤˜ã8¦ã89Û¶÷;~|b. ÌâÐÝÝ èéé.Û¹ó5–ûí·¯innþRkkÛo.^² ,@,ƒëºg †®ƒˆ@DRB)E¶e!‹!^•nj¾Àksæ¥!àî»ï®ÿî»ïFss‹€Ûï¸-¹~ýúu­­­ßëè˜÷›‹/¸ tJÛŽ€ˆÀ8×4è†Â?t]眙¦)b±b±ø¢–––5_tA<4gæYÈzzzðÿü?AÝÿýꦛnÒl+²­¥¥åù :oZ¸hš›š ”bJI0ÎÁ˜»D ºî;a˜Ðuš¦!‹!‘H˜ÑhìÚ‹/¹ôؽ{÷\˜m!@×uÀÏÿî§øÉOþBÀ¥—\r{,ÿJ{ǼHù®¦é:g …ªUÿ5Mƒ”š¦AÓ4xžÇ,ËR±XŒ¢±èåétÓÕž›3ñ,D€;vàÖ~ ÑhŒÀwÜÞaG"ZZ[#--­`ŒÁu]]J 0˜ïA¥T÷Á9‡®kA`¤ëº P`AsKóÚ×\Ófsk–8@WWºººð÷ÿÿÏ¡¤†¹Ò4Íkã‰4MSÀ9ã Œü[”Ò7|xìŒqhšÎ5pÃŽDÆ(­èìì¼$s–ž-ðøããñÇÇÆ®ì‰]»¤ol¶Ä4-ÍÐ `÷ÄP€T20¾€RJ)!…sÎ}'`Ęeš2!^šJ§W4è |Îܳˆr«Ÿü?IÀÓØ®¤’JJ*(((©¥ •š‚"@Æ4ÍœsÒu]Åcq$‰–¦¦¦57\}g€bÎܳĺººàyýög?£@9¬”ô<JINDP €Rµ˜_ƒþà ¿g¬Žš¦sF¶m‡šÀò¶ööËæÌ<ËàñÇŸò}¹\z¡Z­¾X©T „¨)|þ%§8€S¿Q t"Æ Ã±X ÑXì¢T:u-æ¤á³!ñùú‹W¯^­n¼ñF¶gÏ•ŠÇ mííZ¶½Ò¶mÝ4MÉ#Îç F`ÄÀcä tÎ|ÄðÂó”RRÉÊå²á”¼eÛûŽÏIóOr]—à~ùtÑqœÞJ¥Ò S "„|å“Á!ôI¡¸€Ÿ ø\@Ó8cdÕ¥á+›››—Í™z–9€¯ér„"Èçr/Tœò ŽSFµZõc¿RB†o¼ÄB¦µl€1f†ˆFcˆÅã‹[ZZÖ^tÁ‰ ÌIó!Àš5kÔßÿ÷ŸóÞÞ^564R¸lÙå–e­±,Ë2MS1Æ(„yFÌÁ¯9 C‚ÿ©A$ò<JI¥”bår‰‹Å²ð¼½¯½þúð¡C‡æ¬>[à‘GR~X>=:ì–K¥Ç9VqxžG! á_Éz*(D ×Ô0 1JÈF£W457-Ÿ3÷,s€`ÉÇ{œ`bbâeÇq;ŽƒjµZÔ¸@˜J%¡ÔÔtpz6ÀX( Ç‘H$æ755¯ýÀŠsÒð,tõÒK/2øÏÿù¯Ëåò§âŒT*„ðê:ÀH 럟ZÈ (‰À/ÅV,X°`NžmððÃ@-=+ ‡œ²óŠã8p]JùuèÿSÉ`]  N5™¦)c±8b±Ø¥é¦¦9ix6‘À2ˆüì¿øßjþ¼Žrº©é2Ÿ Ú0 ]£@ð¿6êg’Á:Oð€B°r¹©8Îgl_nN˜=!?ü°Êd&þöïþëD¹\Þã8徊ã@ÁCEÐG]`i8,…} a‘9ixv:@ÈÂ_äó¹çÊeç%Ç)ÃuÝúg†ÿ³IÃ~6PÓd,G<¿0N¯`ÀwÞù¾—†gM\³fºùæ›ÙÓO?­¢Q»8oÞ¼‹,ËZeZ–n†ô5ã TÓΔ†YMöQ#¨-H)%+—K†S.,ÓÜwâĉñ¹00‹àá‡F¥R!xúé=ÅR©´×)× Q@W˜ N—†§gÂD"‰D2yå¼ùó¯˜ÿÙ@9Ž Èf'_(O“†Ã}nÒ0ç5À,ËÉd ©Tza{GÇêU×®HÀæÍ›iÎfÏ’_ýê—üÍßþu¿Svö8Ž“­V*ð„PR¨zJ<@F2è·‹ùáÁwßâñÒé´™L$?rñ¥KWÀ£>ª>÷¹ÏÍ9Àl áÎe n±TÅàu'h@† B-Sð3 Á¨H$¢«Tœë–-[f]tá…G9’?pà>üá³åË—cûöíïiãÏJQàãû8ûÅ/~¡æÏï(§ÓMK-ËZcÙ6 ÃDÄ#Pó‡=3IÃ@]”„¤iš0-‹é†aH)oVJ-]¶lYîСC¯îÝ»W8pÛ¶n¥•+WÒ¾}ûj÷ÖÝÝÆïçàmBåË—³ÞÞ^õꫯ•¯½öÚ¤e[+-ËN™¦ÉüøÞ°ë©ŽÓ¹€ž°~š(¼„ð‘ ‹)˲ˆ.%àׯ¸âòöÎÎ…ÇŽ=:ÞÛÛ‹Û~û·°xÉlÿþý À{Êø³Ö`íÚµaÀ²íȇ"‘È˲Á¹Vƒz"šâ3!€šh:@ ’”†iÉh,J–e™ Xkšæ‡V¬X¡wvv}ð¡‡Ðø·}îsxîùççàí^÷Þ{/”Rêæ›oæO?ý´Z¼h±J¤’ŸŒÅbK¢Ñ˜`ŒçŒŒèWJÃŒ± = ¹€¬+OJ‘”’P¶•‘h”išÞ¦”üçü’eË®>|ø¹“ðÜóÏcÓ¦MÚŠ+äþýûñÌ3Ï@Jù®Îf¥ìÙ³½½½X¹r¥ÖÛÛ+_>z´°jÕªÆbñ«ãñ„oü ôOuâ×Дl nüÆP¢RŠ””L× iÙ–²#6iœ_¡iÚǯ¹æšøÂ…G_~ùå¾}ûd>ŸÃ§>õ):zôìܹsNz«W8=„s.`ýúõ&!±kW/ÜvÛŠsÎ|ðA9Þ‚µmÛ6pÎñЃbíÚµÚž={䥗^‹Çãwljy‘H”ù]¿ Ðt@TÛéÓÉ`ÈBø—Á5=$€üÿ”RŒsMX–Å4]× p¥TòÖ¬X¡/X°àůþû¯:Ï>û¬üAÖ]tŽ9‚îîn¬ZµjÖg ³Î®¸â <þøãؼy3Ù¿üÇ_ª•+W-F£›Ré´mšf­ïCScJÃ4³4\/!‡ÝÅA! Ó@ù*Ág ¥éšÒuƒgibô/,˺êÊeËÆ>ü:<û쳸å–[ø5×\£vîÜù®Hg]ðÅ X,"•LH0MófÆy×4H%•”’TÃÉáPî­·‰Õ[Æ»†§#BcÊHÒwjPC~à;‰")%™¶%R¼‰ Óbœë¿¦ÆÍ›7o~2—Ëýà©§žzaÇŽðaÙ–…‡ü¦×98—µiÓ&躎½{÷âÆnàÛ¿ÿ€üø'>a´´´|9‹/ÅãÐ4BÉ\ îéÜ¥á0¨õÖª!@ù}jJÕÇj+0¥4+Ý0À97Ô"ºqÕÊ•¸êªe/¡mݲE»í¶ÛÞö”ñ¼“À|>Ý»wã®/Þ #p„R¥tmGÖjþèX6ý !R)°°Èd­*ÈØ?O¦i½ÔÐt’¿š¡ÉOëJ¤?Ó" MŒ+pÅ¡ü>AR Ïó)õÆø›7oÞ©q¾óÁ‡ àžmۨ꺪§§ç½‰5ãJA¦e+Ð8¿ž¥™_5îW¤m²&©3¡™J„µ‡3`ÊŦµŸÎ@l `ªÑB›Šµƒ*œs✠‚˜¯€o(¨ŸnÚÔý™ðù<øÐCêöÏüklÚÔMa¸¼÷Þ{ßjÿ`Ù6ûö·ïŸúô¿ÑçbÌgêø>h «¡@ƒñk¢” ½Óç N Ô þ±Jk¢é„3pI2eÏ@L*¸÷Æß(Å€”âÜ6%¤Pšj=µyóæ_3týÑþôO÷]wËÇ ”R𦳇zH¾gBÀŽ;°iÓ&ÿF4 µ¥ycìƒþØWßPcá<ÀoaRBR£ !;gi8Tµ4,Ád õb`LB)ߨt–K©%0øÿl""Ò<@xBp%a§;<áÝÐݽqG4ÝED¹ZX¸çÊf³j÷îݸ÷Þ{199ùOž{t^³€îînôôô ««‹4]Þ={ÔªU+ÿ×´O¦M×çŒ8ã l¾ñšÊð§ëÓc8#ö+³³ê²Îòßðš’.†Î& Y„ ÓEj ‡ŒˆùÃÒ…$©TcìcDtåšÕ«'{{{_üžÉ›nº‰-^¼Xíڵ럕2òóiüPXµjô‘GåŽæ™üäW¹¦/Õ Sj\cZ£‰Õß%Ðà¾ଚþti˜¿IiXþ ixz*Øè5‡©SØÉB5|f—’Eæÿ„¬ÕÔR€þÕu×­i¿é¦ûž~ú™±½{÷ª_|[¶lÆŠ+°ÿþw ìééÁ¯âסi~$:üòóˉØuœk ølyŠF:=ý«¥yõ]*§ÕößP3¥„S‰ÛY¥aª‡FuRx6"X705|F5RO¸ÆÀ9ç\ÓŒ¤'ìܹSÌzظq#þäOþ›6m¢h4*À²ì4/èÆQáèÁù N%Ï o‡4̦õ¾ iøŒÝ™?käu'ŒLG f]×ÕÊå²W.Wà iU*Õ/—çË_\¿>1ëIàÖ­[ašf þ¿õ­oÉû¾vŸÎ9¿5x2èǯWÎV… ^,5…*9…Ñ¿iøŒ4’CÀ Ò0M}¦¤§ì줰vè @¸F%±‚WåúúàV]”ËþÀ,Ã0°hÑ"mÍÚÕjée—‰ª'/¿ÂÝ¿ñ™ß´2xN¶}Ç… Pû>ÆFF/7 óä«,|Xúÿô4K*R $%±³Jì& ½±4Ì^@ŘxCiX¢P-…dÒo+'é·“É7–†§^*HýßS´„€çz¨ºU! qŽ––´µ¶¡½£íH&tòäIuüø ò¹¤­˜Ö“Ê»wï–³ÒÂÕÕÕE‹‰€ýß$•šÇý§¦|‰´ÑðSß"6ÎA–oRæœÁó‰ cò­“†§!j÷)ày®ëÂó<0"$q47·`Þ¼ttt ‹Ax.²“xîµWðú±Ì-58t¦îúÑÆà_ßÙM?}²GÍ*Ø´i–,YR“~çž{ä]ëï²Ñ-¡áˆ|ø'šiçSC8wi˜½Iix¦!To©4 ÄÀ¾.‚îy>„¦t íííhkoGS:F@>—ÅñW_Ɖ¾~ô ãÔd ã"M#©iGc²òßÃgýSv-Eoß®Š?úòìq€Fíß4M@jºvˆ]idHœ[ãfèêl¢³t !Á¸Î¥kØ'ƒÓº†e}çŸY žVF¤gÏóàyžÿb ¡ ë:ZZšÑÒÚŠ¶Ö6´47ÃÐ9ÊÅ"†úÐß '†pj<‡á²Â$ldx'Êñ¤’šI%A­EÉ×[ë:»ºþ7þl½,ζÐÝÝ;v «kp“”r>üøï·~O©ÿ>q†ÜгôïLÉCÀ”a’ ãfUTJMÓêð!k”Áº±}>Pƒý€½+¥ £{B€3†¦tšššÐÚÖŠÖ–X– ·ZÁäÄNBßÀ úG'1Xð0!LL°V8Ñ\3Ž ·ˆ‘’ ðDS´ZÚ!®‹Üö½ß+ýùïþ|Vq€îîîš>NÄhûöïÉû¾vŸ‘Ÿ¼U*Skl©ª¡€ò;€•šA”~WnM&‚dToyîáF]@@4Ôìφٹw 3EÁ¹ÀI=®ë_ þ˜T*…æ–f´4· @ B.‹þ㯣o`}CãÈ:s5Œ!’™‚°’¨ê@7Áƒ„鹊“žÒ5u5iÆoØÿæ?,ÿ—oDoߎ7 ï(´µµ…â ÇGÇ—q®­ nüúy<š‘ð…ES`i˜aA6žœInø™º4¾¨âlÒpñŒ±Z㊧<σëúï>2M--ÍH;>‘ˆƒ” 9 œ<†þSƒè;=ŠS™†`DX( à¦Òp­8˜iûƒ,÷™ðkéS'bR@J’ÚUdF/02«8À7¾ñ lÞ¼‰"‘˜ J°k…í DL‘¿‚O %Ó™D õÒ0ÕP¡F Èà[) ûÇŠ«ÚK®\×…t]C"G"‘@*•F2™€Î9*åƇOc`ð4NFÿXƒQa"ÃZáÆSP‘$”e™ˆk@¬æ¸ž %‡"2 )%t]‡mÛ°í"¶e‘B¥\ÆÄÈiœAÿÐNŽåp*ïâ´Ã‘cix±M"‹!±a8'()!Á“ ‚üóDÄ.ö90ªb©ÈGΠ)%9óˆKæ{í…J3WZ¹ûÿñ'zûvVüÑ—å;î[…¢qIDAT·n­ÏçQ’¾þµ¯Éo|íëúÄdæC®ç¿Î…üí:÷ós¿ZŒ $g 3HÃÓ•Ás—†ý3„Zvü{¯OgŒ!‰@7 ¦ ËòX{Õ ŠùIŒŽŽa`d 'G²8™)c°¬0âY¨Z­àIX±8â±lÛ×4‚?êüùLÕÏ?2%}•EHô D¤*àx ÅŠ JéŒA1Ò´ëXSçðÊLÆÇ t€HÄfäèøèeŒñUʇò$K¿a.@PTO}rvnÒðÙêo$ ×P$ sệ#†˶ q †¡Cc B¸pÊ%Ld2lj‘ ŽåÑŸ÷0è0”´4X*=GS2ŽxÔ‚i`„”ð@ð„À%jO?0‚|§ 0_It%¡*JUžëAçÀÅ-1,I[4ž-¨½¯ô°ÔÐÍôy añ§»{#) t€›¤R ‚6éõ/,…†êR¨go‡4¾á ÉâxÆÁÉ‚D”ƒÞ’@G*Žd<˲À¹?º^(ßè*ìüá  JøÎÖ ù;Ÿ1Wq@Pu%ÊUªëÀy1 Q\ÒÁÒÖ:âýŸ£Õ—úF̬ëZº/@lÝ#¬°{Ë;âñx€œ¾¿}{ÈFÿ…ð(úP'}þ®Cm§5há递4<• Ôz „€‹pnÎ9 CG$bòlº‚‚ô\TÊ%d&³›À±¡I¼:–Çɬ‹¡ Á5SÐÚâhM%JÅÚ04?+ŠàJO†dà"p\!ÁÂÝT¥’ÁùFÀSWI”]Šës¤É0¿ÙÂEi ¦-ÌO˜Š”R#¹²úåë#Ô{|ÔTJÁÒù³Êˆ¾?Œ¾ó!`Ó¦Mµ©ÜïfÛ¶n½T«UCÝ{:ó÷É`½T:üBºz³Ò°bµh)e« hº‹qX¦‰X<†X4Û¶ ëÜÿyQE¹ì`d"‹cCxeh¯•ÐWpQâôx ´4Å‘ŒE`šzíè¹§WúhÆýþ•z*þ‚—Z„@Ìÿ· ©à‰Š+ < [cX”0°$iá‚´‰… &g2[ªª—†sôü© {y`§Æ&‘Í—À„;ªC<•ëù|Ù¯=i„i=¶o»(¥ÐÓÓƒ7’®ëª®ûQÆØ<©êì i¿¯Nké`ƒø?pÒpø³Ô¹`Ô¬¿Ë ضd2x"‰X, ÓÐÁ P^…bù’ƒ‘œƒãEÉáµñ"2‚ì8" ã˜ß’DS2ŠˆmAãäÿÒßí*Èn4¥ ¤ñŒdíÔ0#@’hœQmêHÅSp\ ÏÐh›èŒéXœ²°8a"f0Uv=90éàÅ¡ñt'F³˜Èà:×Ó•<ªkôÙ'¶þ b_x”žè:$ˆhûöíò÷ÿà>=7™ù˜'’Ì'µL *p:wixJû½‚'„`Ä ë:¢Ñ(’É$Ré’‰$lÛg€ô<ä39ä %ŒæJ85éàd¶‚¹*&<‚gX0[Ú±¤5…Ö&ŸÉš¨P¤QR2 çð‡ÀÏNHþÃW‚PQ •`·3-6GGÄ¢„‰Å )KSž”r¬XÅ¡Á<{ñt–Éb$S@©ì âTòL‰×MÂ!—Ð+W™~0|–ÂNÊwœvwwò¬)Ú!7y cì*%$j²o=Ä×H_˜Ô9Á9Hà ž$£ƒ:׉DL%ÐÔÔ„d2D<s¯ŠBf “ù<Æ&‹Ì:èÏUqª(1R%x¦3‘F[[óÚRH%£ˆ/Áó\à¥U¾(/¤©p” ÀˆÕ Áßíª20ºçs“˜Î°$®£3f 3f 5¢)¥&Ê®zn(G/çøk#Y Nä‘+”Q*;¸ÞIù<^¯r¿ v´²kÃ@£bw=ŽÂŽÛÏOðÀ`óæÍd† jà7€Ø%˜ÆAÓʾ4ã+4¤á°§Î—s«>ô2Û¶L&ÑÜÜŒææf¤RI˜ºá¹(e'09™Ãèd§³E ä] ”†« #3‘BjAóÛSho ˜¼®A*_«qé‡/R7ŸÈ…߃ùÈ$¥‚+*žß‡`2B{LGGTÇ‚¨Žöˆ“‘,T=ur²LGGóìÕ‘úÇs˜ÈQ.9²âT åKšRû‹•êOÒ‹ž0ûñ?_9ÃðOt¡ðD×y/Ñ÷¾÷=á#ñ/«®‡°ñïLh訥…>w ‘S\*¸®‹ª«À0 ‰xÍ--hmmAss3lË‚œBC™ F'&1”)` WÅi‡0ä28zzÚÚZaœr £ƒ§000€þÓ#Èä1R&LÀFNkˆ7AK¤aÄH$bHDMDl¦Ž’eÄ ÉñNœFG­¾P“ ËS -Ká7œpE°9!Ášu ­)$8 IW‘Êz‚ ÖŸ)âäX£YŒŒçÕèx~ Ÿ/¿T,VöN÷ èÁ‰R?ýþÛ×Ï›ìܹ_ùÊW°~ý]ÔÑÑ&ÀuÝk,rœ*×[Šá±ï7rÞMþ°Ú°ánÛ©8à\#Û40zz'Nœ@ßà03Œ:À$‹"«u šh‚Š$;Û¶± ¦ƒ“oÐ ¦K¼6®Fæj/AÃ<çð}Añð<è @Dgh29:l 6G‹¥Áä$]¥Ô¸+h¸Teƒ9ƒ™†'r›È«‘±üÀd®ôR6ïìÎõ"ãÁs£}ú“Y×ÏkðùÏtŸ¬[wg,8þ¾“øo™qŒæÊj¸¬(K6&y3œhD$aÆaØ6¬Àè&w3A’olÎ9çS{PZ¤Që Y|UHH0,¡Éâèˆh˜ÑÐÑÕ˜’€Ì{Çr.?•/c0SÀH&±L£ùñl¶øJ¾à<=Z؃Éòaœ*Ç¡¯ÍÚ¸~^€sŽJÅß##§Ë ,9±Í!nÇñÑ<^öRT°[!"iT4Ëö n˜0t]óa[óz0 à ÄYÍÈäçmA£`§«š¦àJ…ªP !ej˜Õ± ¦c~TGÊà UR½2é°|™L1>„"M@æx ÏŒ¸BÂñ‹I05†tDÇ¢„‰ S6–¤L4Ûš ²O̔؉L‘d ™,"[(!Ÿ/œråX¥âžÈ•÷T‹îA䪯áï~gô½×g…Doßrs(`\ˆAL(vkË  ÈBÃCÕŒîŸ~‘¨æuNHÙ::“&.j²qAÊÂü¸‘ÌW…zy¬HÇ&ŠìäDÃÙ"rùÊ%§Z,9}nÕ}![¨ô–JÕý(z/ãÿÛÚ?tø÷,Wì òŸm»ë±ß"Ó¾ŸkÆši‚×Á5šÆ`hþ !üœ]¯¹ÇM ó.n²qq³E) QÉ’+ÔP¡B¯OÙ‰ñ"Ng ˜,”Q.;ªTr=×}ÉsÅñœ³G•½0äôã¾ü¾ˆë³&€qõ‡Jሠ<÷ ™ö ¸ œÖŸƒ„’@Ùõ ªþÖ â&.j¶±´%Š‹š"HZšr¥”£Å zÇ‹üõ±<2Ed %”KÊåʸp½W¥' ÎׇQÇñ³-ﻸ>{€˜| k efø$YÑ^Å䇤”1&¤t”`•qX††¶¸… ›#¸¬-†¥-Q´Æ ¥ T¦äª#CYöêXž÷M0îÃ;§RžwL ù\¾TÝãT½ƒp䫸ËMïë¸>kBÄîþ/üàn? |qçÇÉ´¿Ç5ýÊPÒmŠY¸°5Ë;XÚâ” 3™)»êd¦DGGóìøX£¹"JežëVݪÛGR¾PvܽNU<+\ù2~¼±ÿ½œ¯¿;À_2ýÿ•2ü %+¥#ŒkÏ)àJÓ \{A+n¾¤‹›¢ˆYš,T„ze4G/ çÙk£ MQ(;®«<×dJ¾DJÈ—«{ª®:‚úðWœw«ÿþp¥”;ÜÇ÷È/#×~ôÙª‹hZœ4ÄE͜Εñ¿^Éñ—GrÈ‘+9ð\Âó&4R¯pà`¥âî©zê9áá~t÷\\·„ˆ­ïá…]Ýš×?¼Ú!óþªT·^ •S•x¨+DÔÁÃ2”!WAÆT’?vîX12222ºæ=v7|ª§ug02222z.$³AÑIEND®B`‚./chessx-1.3.2/data/images/FlagUK.png000644 000765 000024 00000001325 12153133357 016721 0ustar00nistaff000000 000000 ‰PNG  IHDR(ÿF»bKGDÿÿÿ ½§“ŠIDATH‰í–]HSaÇ;©Ûê0edJ8Ìèƒn†ÈЦ EåE’ I!è¨Dô&XºID/V ÅP0&t!E]¸e ‰]d¦]D& •S;~´u!gaãÎæG]ô¿<‡çyç<Ïó^ÃÇ3—âùí͈;‘ù(ݾ1zúÆXI¦‹§Ž0Ðu–×¹‡ÖÊÍî7Hq[€íM¬ÀÙ…ÇDXÙJÐtÀ”þ7`sÇÕj5íïÃôùë÷nU«É•CìÝcÑ•Gk( ç®úÿTd6erâXÇ÷e²8<‚ü~Sq!9§«0í/`iùY™;TåÙs}ƒªqÒ÷%ž&xú|‚¨¼¬ù÷ ñx\0©n† ¯vÜÀ­’ð·’é?àFõÏIÆùkƒš/›9YQ„¸3 ùÃs†‘ǧ0°‘SS®U5^± µ8cU%Ï>-'·™õŒº¥¡k¶)æËí;H¡0bY »\—¹ûVÖeÔzòhõšTVÒt°•Ž–J¬Ùf¤P8±òòü½ô—×RÜÀã •W4¿>*¯àñ)pvq³{„È|ÑaO¬8b1fj©`¼³Bu… é‚é¹+*Rv}: n—sÝäù{WKÐH j=О¾±_-ä°csøçÎÔ4RWVBSçjéSœjo(ÚÈZO¯ ›YÊT¥§ô?ŸY«éIEND®B`‚./chessx-1.3.2/data/images/flip-horizontal.png000644 000765 000024 00000004117 12171025447 020733 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËsBIT|dˆ pHYsD$D$@gÄTtEXtSoftwarewww.inkscape.org›î<ÌIDATxœíËE‡C•âbw¾6z(JbŒòP㎗ƒ‰™dÐAQ#b¢¨+5*K!QWj<è ãcá݉b𯋮¹Ã™:}ëTª[_B&ÜTwŸîþõ™™únÝêt:¨ . RPIK À€S0àÔ 8"zˆˆ Æ_KD÷iÖd…â@DÇœð‚`³g|BD’m²¤èÑ(€§Üïlú€û:AD´(c"ZàCî¥U‚ÍWº¯ ¼êöU$Åž€ÇLzo$¢kæÛÈY1í¥µn_ERržîñÚuÛõÓk_EPdˆh€uw¹Îí³8Š tžØ"»@q ¢;lQØõ·ï¢(.ãÊOþ!rû.Š¢@D7Ø¡xˆîÅPTLX¤¸ÿEîÅPLˆèû"jŸ;VOXá8KÝ±Š ˆ¸Ù»ƒyÐgV1Š€' G<Þ°;föd'j&z²I”ý  5# Ž;‚$Q H9E›ýôpÖP>R²—DY6ž@ 5´&ÛÑíБ>R¶¸Z²$Û@OúHÉZe'dv¦®c;s•DYÀ8t¥”EhjÊŽìàDÌþÔuô`Ž’(» žô‘’¥$Ê* ¤”ì$QV@|é#%;I”MJ)YI¢l ð(ÒH)#hjÍ‚œÓ”k6µf"ºÀhê:ŒºšÍ“EÑ5,j6'Z¶¦®£[sDæ;ÒGJ’Èt J)æ%‘éÀžô‘b^™ €aé#Å´$2à/},àñR4çb“pBåçðŸ|­XNY•D&`ü¥ÏQÿ(Ö‚a4çdsJŸ ^W,'$&%‘¹‚Ј”Õžc_cæß5‹ Èj”Dà;…ú€—5 QÀÜô°©¥Ï;Ìü³f= ˜“D¦ÿ'¤Ù‡?[ÂT0"º þÒç$3§Y"[ݹšÀL “>G4 QÆ”$2"Z`—çðO™ù3Íz"°ËsrL2é“óÓ?…I”<D´À˜çðo|¨XNLÆÜ¹'%y [éó<3[?L¬$J€Òç]ÅrR\¥îéó3[—>R’K¢d ¢!ȤÏŠå¤dÒ]‹$¤ì¥J)I%QÊ”,}¤$›N"ºÀzÏá9J)ëÝ5‰NªðŒç¸ÿ¯ô‘â{M‚=$}¤$‘D):À H)I$QÔ´>ŸkÖcè’(v4é#%º$Š¡ô9‡r¤”¨’(f¬ô)IúH‰º’(JZHŸ÷ËÉh’(VØ`¥çØ¥”•ˆ$‰Ô ”>¿¡\é#%Š$ŠÑ$ÒçxÁÒGJI#Uú´G]©@(}Þé#E]iwß’ô‘¢ÚÔàÄÆ6Ïá'™ù{­Z2g›¦$Ò쓨Ò'’ߢĨ JŸà¨I"­0`±çØç”j(‰ÅP’DÁàD†ïÇ»ðQè e¿†$Òè,ó;ÈÒGÊ2(H¢  ¢Åð—>çQ¥”Cî#tHŸ£Uúˆ .‰‚ JŸh•D!;À#ÖxŽ-y¥6kÐ\ë „ €Dú xÜA$Øôp8a±Ásx•>ý³!”$ Õªô‰O.ÐwˆèVTé“‚mîÚ÷EˆPWú¤!ÈJ¢¾@D7Á_úœ©Ò'8»Ü=hM¿@"}êÓž¾%Që´XéS¥}­$ê§Œ¡J ,ƒÿƒx­à„„oë©ÒGŸñ¶’¨m¨+}lÑZ‰ÐBú¼)=F¥­$Q›P¥MZI¢6¨ÒÇ.âéaQˆh#ªô±Ìw¼‘v€*}ì#êÞpâa»çðªôIÆv‰$’t€ºÒ'D+‰¼à„ÃnÏ}žaæ/| ¨¨°ÛWùv€*}òÂ{¦vÞ‘d®¹J;Œ¹{7'>@²ÒçH•>fðZI4gZ¬ôyßsl%ó®$š¯ìàûŽ“*}ì1ïï³À‰ß÷œUéc—ÃsI¢¹:ÀvTéSk0ÇÞ\ðý õãÝì3ë½ì¡ôy‹™iSU%³J¢Ù:€Dú¼Øª¤JlzÞÓ«P¥O±ô”D { ”HŸDôm_e…á1¸è1î¢ô“8 0%‰öv½Øé\™¸#¢…hþLë’¨¥Åá,3“Ï@"bw+ד‚?,gæ§^˜ù-à.”yóà¬ÒØœX‚æ_ff’üõÊH|¥467ºîñÌܱ˜œpB0þ„Û¦DºîñÌpÄBb²—™/øvc÷Î;0OºîñÌ|±Xgfñy¹mŽ+Ô“š®kÑfþÀ©¨åèÑpÀDû˜pû(å=§Ü=¾L¯™ÀÇ‘ÿ‚Žlfæ f¾Ôv'Ì|‰™'lvûÌ™chîm]óÓ!¢l°X¡Y]Ÿ\@ó«»§™ù ¢ë<ŒæZšy‚h᳿¢¹_¢y£nÏoƒÿ£VÉ‘×ÔàžIEND®B`‚./chessx-1.3.2/data/images/flip-vertical.png000644 000765 000024 00000003344 12171025447 020354 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËsBIT|dˆ pHYsD$D$@gÄTtEXtSoftwarewww.inkscape.org›î<aIDATxœíÏ«UÇ?WôfB·hSÞZ—öÃ()F ¥-ÂêDåM)\•þ‚³EZ­*ÊVQA- "k‘—mFéÂBmª‹Yämqfz_ìÞûÞ÷¼sfΙó|vWÆ3æÃ¼ßïÌ™™¡©©)Œ|™×ôŒf12g~Ó0Â!"ó;€ÕÀ­€GTõt¹Íe€ö!"Kq`°hšM>VÕì Ð"Dd° Ø Í²éF`°ÝΉ#"C¸¾XÙç_gg€D‘a` Ø ,ñf­ "2lžFn¹ý$‚ˆŒÛ-ÀHEÃþbDNW¢†«ß~"¥D?&@D‰~#îÀ÷›è½0" HôOàNõ¾‰Þ  ADäJ\¨Û,nb&@Jô^˜5R$úÀãHô>˜5 "«qÁn=½&@ šHô>˜Ód¢÷Á¨ˆ"Ñ—×èIô>˜""×áýfNô>˜žˆÈM¸Ó|4‰Þ ObNô>˜s HôâüІ§S)&À,ˆÈetý O'&À4¤šè}0ºèJô[€+žN-˜ü—èËkô žN­d-@‘èwЂDïCv´9Ñû9$zZ/@‘è·áýµ O':Z+@Ž‰Þ‡Ö s¢÷¡5ˆÈ\°Ë6Ñû´"2N¢¿«áé$I’X¢¯Ž¤‘«è\£·D_I "×ÓYuc‰¾B¢@DnÆ%úǰD„(°D_Ñ`‰¾ HôOâý O'; HôÛ€ç°Dßµ `‰>.jÀ}œ@DÖâ‚ÝýX¢Ž ‰þ!Ü¿3Ä>Œj¨TKôÉ1Y‰–è“åø@‰~ð,–èSD½‘[p‰þQ,ѧŒöõªXKô­â °¬çÀ}+™žRÕßg@Dx X^Ë´Œº8 ªGa–¯†‰È^`;ømãðBùÇ´@DoNF œžVÕ#Ýÿ8ÓOÀp¸÷|üÕaçfà/à;à8px_U'/ÝhN- ¸ÂwyÕ34‚ò‡ªþÝk#ûbHæØ§c3ÇÈ sL€Ì12ÇÈ sæ´À.%‰ÿ… Y¼„] NÿKÁv3¨•L{3hÆKÁÅíàXNh‡€ªú'ÌrpUu·蛚&fÔÃVàÅòž7ƒlIX+™îQÕ£¶(4_Î˼nÛ²ðÖðÈ@ëìÁäÙSÉ‚{4,Y>¯tEPM‡Nß=¯reÎmÀÂÛLYVCs8¼¼®ªçŒŸ<"òsx‹jð5›Ã$p÷ ÃO4ÑPø1€w€½ªúcÅc'It”~IÔð°GU¿®x줈V€’šÃWÀàUÍní{ô”Ôо^ÞËýñ¶Œ%5¼*ö°x#‡æœÝ~YtÍ!iJ¬9øÓ J7‡‹tšÃ±ŠÇnŒV PRÃ'cZÓZ)@I :‰kï¥ÚZ-@‰5‡™ÉB€n7‡ßp‹)“iÙ PøÓ±€·qÍáTÅcWJ¶”þxtôÍ!{Jjø||”ÍÁ¸„Üšƒ 0"2D§9¬°‹³¸ÕJ6`ˆÈj`7ášÃAàÕ&šƒ Ðml&€mj&ÀÍ¡¼ç°8À.¾Ä5‡OC5 Rn&@…ÔÔöoVÕL€@Ía°žˆ›ƒ ˜¢9ŒãšÃpÅÃÜL€šèj›‘Ї¿|ˆk}Î˨“Øšƒ Ð"2L§9, °‹“8ÏÖL€†)šÃF\`\`³6 "jjTõç®}š±!"KéÜsÑÞö©ê) bDd”Î=‡PÍapM¯M€)šÃœ !šCOL€¨¡9̈ 54‡ÿaDŠˆ¬Â‰°€oe5"§hãÀÕ7 5‡ó&@bˆÈ{£wÂH”¢9Œá.,ù6‡Ã&@âÍany{¿Íá> EôÙލê: …t5‡MÀ¢i6ùxFU5ZŒˆ,nÖàÞ~8¦ªŸ•Û˜™cŸ„Ë sþ½¬cJvIEND®B`‚./chessx-1.3.2/data/images/flip_board.png000644 000765 000024 00000013700 12266501117 017707 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË$iCCPICC Profile8…UßoÛT>‰oR¤? XG‡ŠÅ¯US[¹­ÆI“¥íJ¥éØ*$ä:7‰©Û鶪O{7ü@ÙH§kk?ì<Ê»øÎí¾kktüqóÝ‹mÇ6°nÆ¶ÂøØ¯±-ümR;`zŠ–¡Êðv x#=\Ó% ëoàYÐÚRÚ±£¥êùÐ#&Á?È>ÌÒ¹áЪþ¢þ©n¨_¨Ôß;j„;¦$}*}+ý(}'}/ýLŠtYº"ý$]•¾‘.9»ï½Ÿ%Ø{¯_aÝŠ]hÕkŸ5'SNÊ{äå”ü¼ü²<°¹_“§ä½ðì öÍ ý½t ³jMµ{-ñ4%ׯTÅ„«tYÛŸ“¦R6ÈÆØô#§v\œå–Šx:žŠ'H‰ï‹OÄÇâ3·ž¼ø^ø&°¦õþ“0::àm,L%È3â:qVEô t›ÐÍ]~ߢI«vÖ6ÊWÙ¯ª¯) |ʸ2]ÕG‡Í4Ïå(6w¸½Â‹£$¾ƒ"ŽèAÞû¾EvÝ mî[D‡ÿÂ;ëVh[¨}íõ¿Ú†ðN|æ3¢‹õº½âç£Hä‘S:°ßûéKâÝt·Ñx€÷UÏ'D;7ÿ®7;_"ÿÑeó?Yqxl+WIDATxí] lÇu~·»÷Ç;’ÇK¥HT[6à€´ÒØI›4'Ôuü[KIm ŽZeÙêÆal v¸–pka§µÜ&: FŠÊF ÇŽá"6p2l 0"›ªSlj´DRâxGòŽ÷»ÛïÍòDZÔñgïöxgÅÕîÍÎμýæ½7oÞì¾!’›D@" H$‰€D@" H$‰€D@" H$‰€D@" H$‰Àe…€£RŸæ?ܪ‘QU%`èúÁþ©»Ri]ÉtU$<ŒÆw{«"ª¢U%)Êlÿþ÷¿ûâJ»iW*¨x Öp8Ž‚®ÓæñxhóæÍäP(üøã·V½+µ’€¿ñŠ5Û{µ·ÊKn·‡\.}vëVòW×x&ãS;·nm{æ­·ÞJUÝ+™–ŠÒÞ*—Ãáh› h.›¥Þ¾>Z·®‰6¬_¨òWG}ôÑÚÙyä¹u4ë·–öÎo?ö÷Ohšªªª"EU„䫊J úÿ¡áajjj¢k®¹† r´ ‡QûŽÒR°:K«ˆ.àÁÚíñº!ýhx§ý½ƒT ~C#ˆßÃãTW ÆÆŠÅbWáóÒòúë¿’Fa‘|»ì£¶ø5§»Çï÷¡¡Uòz½h|…  `ýcÇ9kˆ>qž-W]%˜âø;ïP2› ýmG‡ÁËjttt´:-²XúSSôþï> MÕhË–-äVµðSO=uçbï—ùæ"°l À¿Ûã {¼ž€Ö¾Ö¾ËåFãbÜÏêÚ@H?l¶œN¾î¢¬ž£Óýg¨. Ï\{-ÕÔÂÏ<óŒÎmÛE¥,8]Þtù',þEQŒLçÏÑ™ «éÓŸÞP4gäÉ'Ÿ”#ƒÅ8+ß²0À}ûy½ž6vò°Ô»Ü.H»†~_5>~…6'lMs‚ ÎSl|œš×5S˦ꚺÈÁƒ%®@zÙ`ÏÞ½OÀ¶ gIÉýgÎP<1ÿÀZ³¦ÚÄ^R23•uØÞ~ßîêšš.·Û kß#$™Ï¹ßW ýÜ×+ÓÃ>òïü0‡„ †‡ü›ÏUäg[!‹R}CözJ¥ÒWéK_nyå•_Êáá"™»l`מ=°ø•’Kh6« O!?ï•W^Ið'„ž>xp÷"ŸÕg+ ìÚµ«µÚë‹xáåã~ŸwÓª‡Ó‡%~ž>¿P åïã‘AN×i ¿Ÿ<°%®km£5 üû…î•é3¶¶fòuv×]wÕ¢á#>M«tŸ®^ ñÓajó:kN‡F€„›¯£xÎ ¡Z“|4 Ö5ÂÁåWèd<M`ï«¥o  üµ»ïÞ~oÿ’/afFaßǧ¹ñá#hÆÈÀ·ýPøð¡Va{Q.0L9¶’3À=÷ìjõÂÇoúö]|MìB2Àñvoæ\4$txtTÌ1\µåJžF½øòË‹Â߈>;<h„sÞað®bƒtžÁ4°Cð|â·èïqípá÷…óYé([aÍȆ°Ë#v ó"lhò½k6:‘Ï®­¤-rûŽ­ªÓ±‹Ø¥–›ÁÈ```P¨Ú––M°Â•ðáÇ¿¼Ôr.çü%c€o¼«Vs}}À ®™Õ3ûÈrƒÈ61¹;8?¥j5µ´l¦êÚÀÑŸ¿ôRë‚ô°ÐaŒÆC2ˆá´$㜇}Üq—xËû5ØFš„ëõB”¸®ÙÅ•Œüµ:¶Y«³‰^êùää$˜`Œü>mh^ÐÊQ9qd¢X¸íŽ;a–®góL+Øäb>SLïKm¶Òäç1ºŠ>”GñxœêëéŠÆÆ–ººúÈ‘#GæŸ=„²05ž…ÏíÞ aòõåFvª€¢àÖ[oÿ&”UÈn\JQþ(¦SÉ$­kZK55µðLª]¥(w%—QÜtÓÍ»áí2%a€„þàÖªi1wr¹õõ¦t:C7}Š|þêÐáç~öÃyIå¾;ÞFF6û5À´Â™!ITiŸ`™¶mûJ+@Yq¤ã•²3ýÄ#¼CÀŽ˜ÎçžûÙ¢‡‡3-syœYf-‡šÛ‰À‡›9Ò1!“Íf¦Böñ+é6~•WÓ–G#䥞A*FSx¡”5U"§$ÎÏPÞ2æQÞ=ØîO6)CéŸNœ#™ŸÌlÃ/Ôœ¯Ü†ÒóEZfÌLtÕ¹ˆ¡;(1r FÀ9>åUt¥k‡@¾¢r50áÆOm Ó§Ï\¨l¸?kè ]X–™3ÑÞ”âè½q•Xf€ã¯½Æ³SÇ àu¬}oGÔi(GNH2•DZiRÃß°ìò—ÅBòJ×·Ýv ­«:Ù² ° j=º`›2ðp”7ó}a—FD‚üo–5Àœ’.JÈ&³ðŸëâ ß2teÕN¤Cµg³9h€´|)˜‘Ÿ¢OR®zLÈìÓsšD&T"¶1@–²Âü|æh7ÂÁnì¨áîE  ×X}„XL*ýQ£zÇ&èýÄdԑ˵Jʪµ&~ùÝnðF—Uà–ë¾j·“nhn D&G§ÀFÖèüÑΛOX¥Ç>À¹å—wŽ 2• •âËàÂÐDqà[†¡‡¡žfÔ>K»x†ç˾™t  S¡/l¨E:ïë§©äTçï½¥»íc€b¨*ã½ø€¼ ÐSÆ*-UåDw´jŸ¿À¢™S©ðÓ;¶ý³¥ÂfÝd;ä¿ÔÉgÕmË)K=¾ šþÇöÇ *\ÕØóŰêXrÙ^Ê¥ÉÈe°ã}zgíÀ{¹7Ö^¨Wñ:èikðk ýæã³4:6Þó¯ùgí¥ Év(‘v—ÁL`äôí`›¨ÝuY)ÿÚz5xt26E§Ç&z’‰‰ •r.u åè\BY ó€Ïͨ—"Çzš(R“ƒ´ˆ(¥>çôÅDztb»‘ž"ÞõlJì†Ë›¥QìÖI\Ò,õ,ý08YïQèÔù zïÌP415²:æ¿62À¥ª«ì´‘ÿüö1Ä• U •ë}NúLƒbé,ý﹇¾ þ´‹ÿRÏep·Ëqx9VŸ¹s´®¬ˆØÍ’Éi½›óˆç¼¨Ð"¯O_ËÿÎçE+q^³ü ‡ÊŠà™L Çôt}ºX4Šcs½‹ÝÎêèÖ““a='±§“X72 mÆÍ>Ÿ|ž>¸°ô{mÁÊa1,‚ùÆGý4>v>ô£›·ZîåË¿øh\\Q9s0hÞÒh|+Û@wg;ìËÎ+uÎ¾Ç ×Þ7›kY¼}kèÆþŸÜ³­¨áÞìògŸÛæ d©s j8‡eÏaèÂq{y¥Mt¤8beL ׳¼î¯/Ä×ym!h‘×̯á7ß#V!Áú9¼Ò&‡å]¬â9íkì dŽVnFÍ —éL¥ÀìÞ]âùj|ÐÝÈÀ®³§Ï ”§º–XâüÙ¹¿ç±¾Ûc+Taw¼yz”ÃÝ»n<0ÿÝÖ¯Ú¦&ˆ–mlÍÌwª·ï*Š…P±<2ˆÇƒå\·ÖOun~ƒ±þH<ÙƒÆo¿ð 6œØ¦^{þùØ_ìØ‚ôtb¹¶6öб4³Fà¹n±0´z^cœÏçxû†Wâd)c-Á-VæDšXeé<"Ö †T³f@¬q/dRÜÃ6k›,Ô?®÷&§áGyÄRßÉLPµç_‚äT¡ °6êâ£Å’S….C­ÐLÅl˜UÇóñÈ£ j¿ ŠåýÁúàÔé˜ÁbÊ^̽Œ›Ü@ ¥ãé;þº£Ì–Gc†Õª|`01'Ë Ç³ˆù%bÍ¥cM¦6»¬ésfr0m>//7«À°dæßàÕé†õµôÑP”ÞˆE燂ÿuŸuÿtá2¦—ä¶Ñã¯ü_]Û½lW§ðòŠžø¹ñ…öáÆ…vb$4˜ÃœjFãs:k9N GÖ¸QÇȥɧÒõk¼4–HÒ¿ý=¥âñÏ—£ñù¹m³u¥]ÿÿýM7¬¿p©é®AýºŠc¬ì#¹è¡r5>?‹d€%´è‡?ÞמKNÕS“XÕþ¼†¢ØÈðþ#{‹›Ý›¿ö¹W%ÌÅdÞ”L"Bk=Âqá…Ó`Koõ8èÍÞ‹'Ã/Üÿ•óVnÃEÉKõä³±ÔÄÙ ‘ND1w-"ý¸MÀ;Ü…¦6¸¸\1»O'Æ÷F([Ñç×âe¤7~÷1õŸ=×óóni¿ø–rü– `å“Ï>Ó³z·F-ÜNŸ[_C^ú`x’NŒ÷D3Äe-Ë&Ga~ë…s Ÿ½éŒv²À£¨á`_D‹G{ 0“ÈóHßèwPëZ}88JoŸŒf¢±í¯~ãö>‹d}›ÔE@øþïF]h±E4×xè‹-õt~*Mï|< ¦0‚/?òUKNªÅÖ¹P>©Bhëg9±æs7·`Œßfà"xxpoJ?Û,ùØ«±‚ê¶ÍŠc¬ÿê{§irl$ôòƒ·þ÷ÅÛ~Yj€@|â©övhù£…ŠrÂ}|ËÕkÅåȇƒ”Îåº^}ø«Ý…ò—3]2@‰Ð‰…²c=Ùø8‰=1AYìì_Üà'ÕÈÒ¯Þ;EçΆ_ºÛ·JTmÑÅH(B³€“ÿØWvÒAh‚OŒ êªÜÔ\ë¥7~?@çb‰¼&×Y¢*KR ªr+!×=ú“VMS"Î*_€'6]É#Lõ ÷NŽ·gF© M2€ qÃw~z§Z峇aËtEXtSoftwareAdobe ImageReadyqÉe< ßIDATxÚìßOÇÀ¿³{?01†&€ZªD‘©JÔÇJ­qÚ>Fý ˆ*µO‘܇FjT%ö!~‰ªD­ÔJUé{Ò‡*¶1b¿XM[pÜ(ƪ( ®,0ø¸ÛÝÙéÜÎÌÂwØw°3{Ü÷+¡ï-pwsûýÌ÷×ÌíÆ t®8x @AP@AP@AP@APŽ—äš}!&._?™/vMð×Ü|^ä¸âïQÿ™PÆDnpR;XFšÁWS'þ1³¸½½ýn}}<ÏÛ÷…Búûû£Ç¥R)ú9uêù¬¬Âêê*|¶¼½¥4ú}‘¾ðÁß­´Ù^¤Ù'LL_š«@_í8Àuc@ä«d×@¨ZýíâïÏÿ¼…ŒÀ8ÅÁ‚¡¡A‚j¥Áðé­Oamín ¥B_ž¾t¼øõüÂ,Wc]½½b¶tˆ´›S ȨBœ¤Hepu( ÏB93åL÷*•ššºþöë¯ÅÛ>OŸ> #§G`{kn-݆۷oÇApñÂÇ€ÉùGO8Qä@ˆ£Ç#( à `gkóå¿;ÿ·Ã¿m(ßÁ÷/¼ð<ô ÀÃÒÒR Ä8ff¦Û€ß\»=¡»/ŠPìîÉ„ŒÄiÀžÂÄU†Qž@P-—#]ÞøjîŸïLœMõP122ÃX|.>áWIàƒÍHoß¿7vã½·æMG…¥UÙxTyAê! É[ëëPÝZÏ^oì)vÐLä^ŒÀX}}æÌY˜ŸŸÍ¾xãÃÿDO( HÐ]1î“ë@>ÿoæ`ßxè·¾³gŠÀ{øP%ƒ5·5úÑۿشѰÑ;ˆ3—§ÛÃè9€ÿÜ·¡|÷Kð×V3cüüðièæãÚÛ#ÐÇÍ?O­œ9Ç'ÍP_÷{cpõùìz€_ÍI s€‚ÌÔZ€ÿ.T¾X†°Z±fx§Ø]_…üÀPÃÿ¡HV½²ð;›ãí/Æ=TO0{år6û¯ÏÞ<€v‘}ˆ¤ð}¯¼}îæ»“+¶ð}®]»š=~yåcQÈ@5‚Ú „@¶ˆeÃhÙ¯ì,ïÍTC©Î)O‰ ¥XòX5¸h¸wü ¼º™x÷Çg6ÍU¡¦¡=/4?YŒr=Zïïæ>&KäñqX×c\¿ú×¹—øã•TØŸD%ßnB\q r]Ý“å‹òøDbæ3=[Ûg.–ŠØxÉÖ6õ…çòe®Å‹ÝZ2;Uë-¥ìêkhó+Í4ú\û9Y:àñÏ»Ðc;͡=€Ò¤Ý¯5¤¯qH­ï3€Ô?'«kxˆ™¨§§f¾ø{e§¥wkÞ„ÉXÊcÇôbS™ ©õ\,}´T¡S®6–úV7ràÛ¹r¹]w•Àã˜`w5-© ^mÎdqÐ8'HßHƒ‡ä™9ŸIC3¤Ã /¸rc !>53¶xÞ[JKy Ýôˆ$AÖ·…ÛÏ´F'bmk u)lûNú”Šz (ôˆUÀÌì >öɧÜG@“}¯*²ÿþ¤JÓ ˜#‘`Z6J´d€í ý[‹µZòWu:²5Û¤@NÎt·Ø9>«Ÿ²Š.Ùóŵ)-~´<$C@ðåÿQÕÀNZYi¹T#n°§O\ÍõÍõ\æ ÜØMþäycŽl¹à|¡y„Ôˆ¿OÊëÏÏ+Â2…RÍäÜǬ±^< >Ê<Þß÷Xm[vÒ.¦<€ŠE÷8÷j<äÑõ› Ô£us‚ôûÒÀLÆúXkDIÕwqHÂ.é{­÷¼¯ @1"úš@hz- Ôª•°R%2FêUªm9Ðõ›õ –å x5ã“ôV`¦ ÒÐT_—ÆòÎlÐì@Må1ypÌvµmp¸Œ;‚Úܯö—€dS9@Ø Á`:ÔÅ<†€,xs›B€ly€ª o¾ T‹šÆ`ÝæÊ@† Xû^& ÌxX?@`9± èhÃС! ‡† £C€¾úä Ù(±Ôé9˜ Ä ÃË@è2³U2ìf+`'C€•*€ °[„¶ƒpKXÆú†ª Ù ÌôbVóØ îô€U@gö̇€ßF`· ´µ@6ÊÀÐÒž@‚! ³ª¦eØêð*ÈJ†À­$Ð\HV„á5‚,˜ùŒÙN1ØÀÖj £—xÃKÀôžÀ;Q»0[}À` ݦª}ñ=@gå¡v™8•ý3 CB€î¨ô` —ŠÕrluVH4׃I i„=(³ôÕ0‚W µêŒ_!D¹~" $x±h;Z»BH²¸›| V°}…Ìl¥¶¾¨¹ç;RPÚ¬ ˆ‰£Ú-Lñvpfí/Ï;Sv0½)p?€e æ6…Ê0 åÌ=Þ=Ühù§<@$ì’~h´'P­ ý­ÔÿævIòÀß½}"$8úlñ6ò­:ù 6°Ú“GÅùgÒ±]LUûÖpMÀIÍŒ7‚‚`ƒ«>æUdDºò¥öÝ=œÔu(2ü#<€ÌÁXàIy‚ I ›âêÑïJ’¹kdh %ôaÝ\`ªÙ·#Í&µ™Ýû“÷þLܸ˜ùnbæÇ-~¤DìF„0 T.@½©­?½úJÓöl€šôþô/òA¼LœœÁr0Åì´P•„¼¿õÇŸ-¶R láv¶8x @AP@AP@AP@APŽ—ü_€:a÷¼£ºÒIEND®B`‚./chessx-1.3.2/data/images/folder2.png000644 000765 000024 00000005053 12077036777 017164 0ustar00nistaff000000 000000 ‰PNG  IHDR©¥–ðiCCPICC Profile(‘UÝoÛT?‰o\¤? ±Ž‹¯US[¹­ÆI“¥éB¹ÍØ*¤ÉunS×6¶ÓmUŸöo ø€²xB Äö²í´ISAÕ$¤=tÚ@h“ö‚ªp®¯S»]Ƹ‘¯9çw>ïÑ5@ÇWšã˜I`Þò]5Ÿ‘Ÿ˜–;V! ÏA'ô@§¦{Nº\..Æ…GÖÃ_!ÁÞ7ÚëÿsuV©§$žBlW=}ñi€”©;® ÞFùð)ßAÜñ<â.&ˆXax–ã,Ã38Sê(b–‹¤×µ*â%Äý31ùl ó‚µ#O-êºÌzQvíšaÒXºOPÿÏ5o6Zñzñéòæ&â»Õ^wÇÔ®k¹IÄ/#¾æø&ñ½Æ\%x/@ò™š{¤ÂùÉ7ëSï Þ‰¸jø…©P¾hÍ”&¸mryÎ>ª†œkº7Š=ƒߪÓB‘ç#@•fs¬_ˆ{ë±Ð¿0î-LæZ~ë£%îGpßÓÆËˆ{èÚêÏYX¦f^åþ…+Ž_sÖ-³Tä>‰D½ Æ@îקƸ-9àã!r[2]3ŽBþ’c³ˆ¹‘ónC­„œš›Ës?ä>µ*¡ÏÔ®ª–e½D|Ž%4 `à î:X°2¨‡ ¾pQSL”PÔR”‰§aeíyå€ÃqĘ ¬×™5FiÏáî„›t…ìÇç )’Cd˜Œ€LÞ$o‘Ã$‹ÒrpÓ¶‹ÏbÝÙôó>4Ð+ãƒÌ¹žF_ï¬{ÒЯô÷kû‘œi+ŸxÀô˜ñú¯.ý°+ò±B.¼{³ëêL<©¿©Û©õÔ î«©µˆ‘ú=µ†¿UHcnfÑ<>F‡Ë ^Ãe||ÐpÿyvŒ·%bÍ:×iX'襇%8ÛI•ß”?•å å¼rw[—ÛvIøTøVøQøNø^ødá’pYøI¸"|#\ŒÕãçcóìƒz[Õ2M»^S0¥Œ´[zIÊJ/H¯HÅÈŸÔ- IcÒÔìÞ<·x¼x-œÀ½ÕÕö±8¯‚ZNxA‡-8³mþCkÒK†HaÛÔ³Yn1Äœ˜Ó ‹{ÅqHg¸•Ÿ¸u#¸ç¶Lþ˜ hŒ¯s ˜:6«Ìz!Ðy@}zÚgí¨íœqÙº/ïS”×å4~ª¨\°ôÁ~Y3M9Py²K=ê.Ðê °ï ¿¢¨Á÷-±óz$óß8ôÞY7"Ùtàk ûµHÖ‡wⳟ\8 7Ü…ðÎO$~ðjû÷ñ]¼›n5›ð¾êø`ããfóŸåfsãKô¿pÉüYqxÄ(Â@ pHYsÄÄ•+diTXtXML:com.adobe.xmp www.inkscape.org ­ì4qIDAT8…•[ˆUeÇëÛ{Ÿ‹gF‹Ž6Š& Qf¢Nâ­ôbŠy ”,¢@È(HÊž ¤ —zÈ"&ðR^Rgð’Z£¢…„ÖŒfN£sÆ9s<çì³Ï¾¬ŽcZ}°øÖÃâÇ-¾ï¿PUþ/˜s7ŸÍ¢Æe¯^È\UeÁìûêÿÂú!À37p{ñ´i ŸÝSgT6cX…eó/GV‹…)ꋤƎYZÜ1k>+êÆ@2£Æ²J$¾]Õ»ÀL:-FÛ40‚IZlmÕPQ•éÒ2þÅⱇ§²¢º"Ÿ &Q5aeù%€õ!mmˆÔŒ‰O±‡(ëÄh‡ú"2<µ÷'>Á[“ 'ˆ 1ì0$H ‡1¬‘íªz]d\Ýâ Ù=A@L˜0§eYm ›Gãɺ:(” ¼2vã(ˆ'À¶ z8‘†˜¯¾f#‡G^·%»sé&·à²Üt6OÒÕU¼‘ÎòúHÄ ÏÞDfVcƧà/FÔC* ‰Ú߇tŸ§ïù4ñ¹ ©2ìÚÉe[æËc–0+æ°|D -É‘X©ô¹ø7®â¬¯¬…ž°uÔÇ W€k]ÈäÑD+_§nìðJx^‰¸ Žíö:Išb pˆ ~¡„U£8ï¾ é4ÔÖBßôôCÔ TÁ³sàÑ)'I”€ ÂÆ†R™‚-ð«±iÒ’±p"Åéé…÷^ƒ%/@î6dr€ óaú4x| $ª¡äAvD ß/cå]nÚå€mV‰Åö0 j°àÖÜ.BÞ…¨ ëÖƒƒ’¹<”µr«€‚ï1`ô˜¶G!û± „À$áÔÈôAdÀ-ƒUàÈÁ ÀÁóÁõ ²K>ôÝ¢ÇxŸ„%ÁQˆªâГ…L?ZQVò¡èUT•à ÔõÁ ‰LŒ0W ÑÑ'à¨Ðãz0ðØ­•ÿ¦,È!s«(ùÈ ÌóÁóÑHCƒ¹zë»Ïù½õ{]\¶¥YíPßͱ%–`QTǰ˜E)bgú 1¸3;Àÿ'ÔÂÜÎc;Fyÿ^v»§“ß {ÈíL&os†@>£?êO’–m©lŠ9WÑ\TDDDj`º.‰ƒürvgì ˆN6=ãf †Þëmš±UU%-ÑΖb Ï%ªhÆÂÏåq\¯Ò¾X„‘…•é…3íäö}Én®$÷ŽŸìþ™l ûÒzT5¤òú@Û4fqTµ(SåÍaU‰Û$‹.¾`‰ƒä]¬‹pô':Ä[!üyÂL·t :ÿ8¬}wLHTUﺔv¨/«ÅÒózª¡E6z†ËN9„+¿Áéïé:ö©½ÌщOyýY¹ÚOV/  5£ª€L“­³fóöèZòßîãçã‡ê'xW’õø×²ˆ“Å¢[/hÿ}ž|/tÐWµUÃæWÅ9sˆ%t¦ àw7Í)[7sØÊñ®§WÏiöA[ão¦>~úsÛµ’IEND®B`‚./chessx-1.3.2/data/images/folder_closed.png000644 000765 000024 00000003415 12516663477 020434 0ustar00nistaff000000 000000 ‰PNG  IHDR©¥–ðiCCPICC Profile8UÝoÛT?‰o\¤? ±Ž‹¯US[¹­ÆI“¥éB¹ÍØ*¤ÉunS×6¶ÓmUŸöo ø€²xB Äö²í´ISAÕ$¤=tÚ@h“ö‚ªp®¯S»]Ƹ‘¯9çw>ïÑ5@ÇWšã˜I`Þò]5Ÿ‘Ÿ˜–;V! ÏA'ô@§¦{Nº\..Æ…GÖÃ_!ÁÞ7ÚëÿsuV©§$žBlW=}ñi€”©;® ÞFùð)ßAÜñ<â.&ˆXax–ã,Ã38Sê(b–‹¤×µ*â%Äý31ùl ó‚µ#O-êºÌzQvíšaÒXºOPÿÏ5o6Zñzñéòæ&â»Õ^wÇÔ®k¹IÄ/#¾æø&ñ½Æ\%x/@ò™š{¤ÂùÉ7ëSï Þ‰¸jø…©P¾hÍ”&¸mryÎ>ª†œkº7Š=ƒߪÓB‘ç#@•fs¬_ˆ{ë±Ð¿0î-LæZ~ë£%îGpßÓÆËˆ{èÚêÏYX¦f^åþ…+Ž_sÖ-³Tä>‰D½ Æ@îקƸ-9àã!r[2]3ŽBþ’c³ˆ¹‘ónC­„œš›Ës?ä>µ*¡ÏÔ®ª–e½D|Ž%4 `à î:X°2¨‡ ¾pQSL”PÔR”‰§aeíyå€ÃqĘ ¬×™5FiÏáî„›t…ìÇç )’Cd˜Œ€LÞ$o‘Ã$‹ÒrpÓ¶‹ÏbÝÙôó>4Ð+ãƒÌ¹žF_ï¬{ÒЯô÷kû‘œi+ŸxÀô˜ñú¯.ý°+ò±B.¼{³ëêL<©¿©Û©õÔ î«©µˆ‘ú=µ†¿UHcnfÑ<>F‡Ë ^Ãe||ÐpÿyvŒ·%bÍ:×iX'襇%8ÛI•ß”?•å å¼rw[—ÛvIøTøVøQøNø^ødá’pYøI¸"|#\ŒÕãçcóìƒz[Õ2M»^S0¥Œ´[zIÊJ/H¯HÅÈŸÔ- IcÒÔìÞ<·x¼x-œÀ½ÕÕö±8¯‚ZNxA‡-8³mþCkÒK†HaÛÔ³Yn1Äœ˜Ó ‹{ÅqHg¸•Ÿ¸u#¸ç¶Lþ˜ hŒ¯s ˜:6«Ìz!Ðy@}zÚgí¨íœqÙº/ïS”×å4~ª¨\°ôÁ~Y3M9Py²K=ê.Ðê °ï ¿¢¨Á÷-±óz$óß8ôÞY7"Ùtàk ûµHÖ‡wⳟ\8 7Ü…ðÎO$~ðjû÷ñ]¼›n5›ð¾êø`ããfóŸåfsãKô¿pÉüYqxµá† pHYsˆˆ±}ÄÃIDAT8å”»nA†ga1Á#;Še ”*•ý.ù!RQ¹ Œ•‡ C)Hï*yË¥¥c"."8²¹˜Û²À^òÿãl€%Bî³Ò0»sæ|ç?gÎ Äý(‹Ùù·Âáð³étªœœ|_´?ö]B3™L<¦ƒÁà dzã÷ûÚ¦ ...Þœžž~tÉD ‹m¦R©;EQ,·]åÂîîîÛƒƒƒ×–e gx½Þ°a²Ùì»P(äõù|±@ °È‚>µm;œL&Spï†*étzgÿ[<ß™ÍfKv¨\@ È߀üF@Q©Tj’<>>þ´è¨Âq ‘C¦iÎ×E°.º® ÔVlll8K0ö ãØÞŽïÑ5@ÇWšã˜I`Þò]5Ÿ‘Ÿ˜–;V! ÏA'ô@§¦{Nº\..Æ…GÖÃ_!ÁÞ7ÚëÿsuV©§$žBlW=}ñi€”©;® ÞFùð)ßAÜñ<â.&ˆXax–ã,Ã38Sê(b–‹¤×µ*â%Äý31ùl ó‚µ#O-êºÌzQvíšaÒXºOPÿÏ5o6Zñzñéòæ&â»Õ^wÇÔ®k¹IÄ/#¾æø&ñ½Æ\%x/@ò™š{¤ÂùÉ7ëSï Þ‰¸jø…©P¾hÍ”&¸mryÎ>ª†œkº7Š=ƒߪÓB‘ç#@•fs¬_ˆ{ë±Ð¿0î-LæZ~ë£%îGpßÓÆËˆ{èÚêÏYX¦f^åþ…+Ž_sÖ-³Tä>‰D½ Æ@îקƸ-9àã!r[2]3ŽBþ’c³ˆ¹‘ónC­„œš›Ës?ä>µ*¡ÏÔ®ª–e½D|Ž%4 `à î:X°2¨‡ ¾pQSL”PÔR”‰§aeíyå€ÃqĘ ¬×™5FiÏáî„›t…ìÇç )’Cd˜Œ€LÞ$o‘Ã$‹ÒrpÓ¶‹ÏbÝÙôó>4Ð+ãƒÌ¹žF_ï¬{ÒЯô÷kû‘œi+ŸxÀô˜ñú¯.ý°+ò±B.¼{³ëêL<©¿©Û©õÔ î«©µˆ‘ú=µ†¿UHcnfÑ<>F‡Ë ^Ãe||ÐpÿyvŒ·%bÍ:×iX'襇%8ÛI•ß”?•å å¼rw[—ÛvIøTøVøQøNø^ødá’pYøI¸"|#\ŒÕãçcóìƒz[Õ2M»^S0¥Œ´[zIÊJ/H¯HÅÈŸÔ- IcÒÔìÞ<·x¼x-œÀ½ÕÕö±8¯‚ZNxA‡-8³mþCkÒK†HaÛÔ³Yn1Äœ˜Ó ‹{ÅqHg¸•Ÿ¸u#¸ç¶Lþ˜ hŒ¯s ˜:6«Ìz!Ðy@}zÚgí¨íœqÙº/ïS”×å4~ª¨\°ôÁ~Y3M9Py²K=ê.Ðê °ï ¿¢¨Á÷-±óz$óß8ôÞY7"Ùtàk ûµHÖ‡wⳟ\8 7Ü…ðÎO$~ðjû÷ñ]¼›n5›ð¾êø`ããfóŸåfsãKô¿pÉüYqxÄ(Â@ pHYsÄÄ•+diTXtXML:com.adobe.xmp Adobe ImageReady åzhIDAT8T]h[e~ÞÓf†¬YÓeƶ´–%öJ­Š‚` ‚7£›B¢7ë.tâµ^"懠w‚*:ïl@‡Š ˆé…0ða8ÖÙAÇ’¬]×6Æs¾ïü½^dI›-Îà çâ<Ïû<ßûÁó½Ä̤ j9ÔôAšJ•Ц.]Š›SSÎR±þWÿm'µoð“sù‡|1™ÌMìÅÿ—)–—$£¥ìý³aª´ÿ×bæž`3ªU™ñÂÇ_Ù¿__ymùÅŸ7VŽ¿ûé3Ãjó€nöèžH¶-J•ŠÆ f€«…BéÉ©Å@Ϭ7¶½PÏèã¹E(·yff.U*Ùö®3÷Ä…ˆôÅwN'c©¬n‰Sw¿w•ÍŒ’*4LSóœ¿ñí«'ó#üãÊ•Z>ñÔN™9vcG–e‰r¹Í¿ýÙ£©±CÏîO§ãC±ØÝQ6n:ê-Ɇ b“fИ¤¨¡X\ñ|ïÏõug³Qû úÒ“ßÛ¶-º‘ò¹%Y<áÆj¶¶Á¬AíH„QĆ òÚ)%ÀãU"ÒXFgÌDzÎ 7ê¾#ßê¹¾mC”ˈxóˉ;F3gbÉô}¡r}‚èÖÔ3ƒA¾fjgã×ֵƱŸ^>²Öñ¡Î3-U*ÚR±>ôê‡ãFvös=‘º7TnÔ/v Dº9,‚æÖo~muá‡×Ÿ¹ÜÑw'íÔ¼½¬WË…àžW>9¼ïÎéoa˜ã‘ïGD»ÆÌˆ„aöÕe§¶úøo<}¡£ëôôL±lBgϯI/*®×õÙuüÈu}–®åREåÙókmÝ|ÏÓí½še„ÓRï4óNËT^(U@*Bª€¤òB§åÀi6óáôT[gÑ^›Þ…rn–ÀÉz*‘dè1ƒ=' ’˜q˜bû (É‘ŽÒÐH@­£ë?ér|Ê+6W‘»uí;µY?Zÿå£GÔfý¨»µ^u¤"EqCú”ï§ï»ú¤ÓÌèœ`ßrß?q†™à8|EDß ?wúXD1‹œV®Ÿþ–…ÂÌÀ©Ì“Ýÿâ’0¡¸¤u±¹ç“X85ÓWßì’K¸g L(Xúmu}AË7›õ]‘–%úqÿU;O ò8IEND®B`‚./chessx-1.3.2/data/images/folder_grey.png000644 000765 000024 00000004440 12077036777 020127 0ustar00nistaff000000 000000 ‰PNG  IHDR©¥–ðiCCPICC Profile(‘UÝoÛT?‰o\¤? ±Ž‹¯US[¹­ÆI“¥éB¹ÍØ*¤ÉunS×6¶ÓmUŸöo ø€²xB Äö²í´ISAÕ$¤=tÚ@h“ö‚ªp®¯S»]Ƹ‘¯9çw>ïÑ5@ÇWšã˜I`Þò]5Ÿ‘Ÿ˜–;V! ÏA'ô@§¦{Nº\..Æ…GÖÃ_!ÁÞ7ÚëÿsuV©§$žBlW=}ñi€”©;® ÞFùð)ßAÜñ<â.&ˆXax–ã,Ã38Sê(b–‹¤×µ*â%Äý31ùl ó‚µ#O-êºÌzQvíšaÒXºOPÿÏ5o6Zñzñéòæ&â»Õ^wÇÔ®k¹IÄ/#¾æø&ñ½Æ\%x/@ò™š{¤ÂùÉ7ëSï Þ‰¸jø…©P¾hÍ”&¸mryÎ>ª†œkº7Š=ƒߪÓB‘ç#@•fs¬_ˆ{ë±Ð¿0î-LæZ~ë£%îGpßÓÆËˆ{èÚêÏYX¦f^åþ…+Ž_sÖ-³Tä>‰D½ Æ@îקƸ-9àã!r[2]3ŽBþ’c³ˆ¹‘ónC­„œš›Ës?ä>µ*¡ÏÔ®ª–e½D|Ž%4 `à î:X°2¨‡ ¾pQSL”PÔR”‰§aeíyå€ÃqĘ ¬×™5FiÏáî„›t…ìÇç )’Cd˜Œ€LÞ$o‘Ã$‹ÒrpÓ¶‹ÏbÝÙôó>4Ð+ãƒÌ¹žF_ï¬{ÒЯô÷kû‘œi+ŸxÀô˜ñú¯.ý°+ò±B.¼{³ëêL<©¿©Û©õÔ î«©µˆ‘ú=µ†¿UHcnfÑ<>F‡Ë ^Ãe||ÐpÿyvŒ·%bÍ:×iX'襇%8ÛI•ß”?•å å¼rw[—ÛvIøTøVøQøNø^ødá’pYøI¸"|#\ŒÕãçcóìƒz[Õ2M»^S0¥Œ´[zIÊJ/H¯HÅÈŸÔ- IcÒÔìÞ<·x¼x-œÀ½ÕÕö±8¯‚ZNxA‡-8³mþCkÒK†HaÛÔ³Yn1Äœ˜Ó ‹{ÅqHg¸•Ÿ¸u#¸ç¶Lþ˜ hŒ¯s ˜:6«Ìz!Ðy@}zÚgí¨íœqÙº/ïS”×å4~ª¨\°ôÁ~Y3M9Py²K=ê.Ðê °ï ¿¢¨Á÷-±óz$óß8ôÞY7"Ùtàk ûµHÖ‡wⳟ\8 7Ü…ðÎO$~ðjû÷ñ]¼›n5›ð¾êø`ããfóŸåfsãKô¿pÉüYqxÄ(Â@ pHYsÄÄ•+diTXtXML:com.adobe.xmp Adobe ImageReady åzfIDAT8TKhW=÷ÍG²ãHű©n VMã]*] –ZŠ ‹&›q o’î¼óÒ é-ìUµö¢tc(´ -dÑBmR()´Ó)…Ž)»’,Ëóæw»ÇHŽ’Š^¸ ï¾sμ7sï!fƈAF‹QG}ÐòrU›»úçøÕ¹¹®eYÁá_xR)¥€[·’³ï^yã«x29Û_ÿ_¢KKK‰—–__\\JŽ/÷ןÌ<ˆ™©\«éÌŒ­ííéü¸ûËo»üí½û»[[[ÓÌŒZoŸNð§o”RŠjµªqO™Kù¼ÙLfEÓ´ùG†«kúüÔÅ‹+ïí33sµZÕú? 13ˆˆ8:&‘¾¹¹™L¥RúØØù7_žÉ|„AZ9*0c¦Ö=:jt»ŸO=°µýÕÕÕ3û=.ˆLårY”J¥pccãí©túæô…Ô¸aš¯‚y&3Ó!3Û‡,„ ³¦é3M¡ào×UÆiv»¡çy¢ÙjÚõ=ûF¥R±¥”zÿ¤Q¿¡D]P(â…wÞ»cšfA)'ŒêÑ3 W¹µÚÝoÞ¯ÕjN÷gf¿\.Îf³“íN{!fÆA@D†®éä>˜Ùw=O(W-¤³ÙI#ÞPÑ€0Ôf”£¦?`]× Ïó|Aô{Èüša†RŠ}ßŸŠ‡Ú €‡/Š¡3À[ÈpE­VóîÁÓýkßßÿî­ƒ§û×ZÍVÍqÈèáž¡Ö×9<ºáN¢üÅçÛ·£‰p‡ˆ¾þð£•ëBPù¸Û½<ŒÿŒ¡03ŠÅâ|.—KFk˲4dY–Õr¹\²X,Îã2ŸÏë8ãB(ŸÏë/â ´TD$pâ@C¯×ÃD¶žÝûÊ3÷'îMóIEND®B`‚./chessx-1.3.2/data/images/folder_locked.png000644 000765 000024 00000005132 12077036777 020421 0ustar00nistaff000000 000000 ‰PNG  IHDR©¥–ðiCCPICC Profile(‘UÝoÛT?‰o\¤? ±Ž‹¯US[¹­ÆI“¥éB¹ÍØ*¤ÉunS×6¶ÓmUŸöo ø€²xB Äö²í´ISAÕ$¤=tÚ@h“ö‚ªp®¯S»]Ƹ‘¯9çw>ïÑ5@ÇWšã˜I`Þò]5Ÿ‘Ÿ˜–;V! ÏA'ô@§¦{Nº\..Æ…GÖÃ_!ÁÞ7ÚëÿsuV©§$žBlW=}ñi€”©;® ÞFùð)ßAÜñ<â.&ˆXax–ã,Ã38Sê(b–‹¤×µ*â%Äý31ùl ó‚µ#O-êºÌzQvíšaÒXºOPÿÏ5o6Zñzñéòæ&â»Õ^wÇÔ®k¹IÄ/#¾æø&ñ½Æ\%x/@ò™š{¤ÂùÉ7ëSï Þ‰¸jø…©P¾hÍ”&¸mryÎ>ª†œkº7Š=ƒߪÓB‘ç#@•fs¬_ˆ{ë±Ð¿0î-LæZ~ë£%îGpßÓÆËˆ{èÚêÏYX¦f^åþ…+Ž_sÖ-³Tä>‰D½ Æ@îקƸ-9àã!r[2]3ŽBþ’c³ˆ¹‘ónC­„œš›Ës?ä>µ*¡ÏÔ®ª–e½D|Ž%4 `à î:X°2¨‡ ¾pQSL”PÔR”‰§aeíyå€ÃqĘ ¬×™5FiÏáî„›t…ìÇç )’Cd˜Œ€LÞ$o‘Ã$‹ÒrpÓ¶‹ÏbÝÙôó>4Ð+ãƒÌ¹žF_ï¬{ÒЯô÷kû‘œi+ŸxÀô˜ñú¯.ý°+ò±B.¼{³ëêL<©¿©Û©õÔ î«©µˆ‘ú=µ†¿UHcnfÑ<>F‡Ë ^Ãe||ÐpÿyvŒ·%bÍ:×iX'襇%8ÛI•ß”?•å å¼rw[—ÛvIøTøVøQøNø^ødá’pYøI¸"|#\ŒÕãçcóìƒz[Õ2M»^S0¥Œ´[zIÊJ/H¯HÅÈŸÔ- IcÒÔìÞ<·x¼x-œÀ½ÕÕö±8¯‚ZNxA‡-8³mþCkÒK†HaÛÔ³Yn1Äœ˜Ó ‹{ÅqHg¸•Ÿ¸u#¸ç¶Lþ˜ hŒ¯s ˜:6«Ìz!Ðy@}zÚgí¨íœqÙº/ïS”×å4~ª¨\°ôÁ~Y3M9Py²K=ê.Ðê °ï ¿¢¨Á÷-±óz$óß8ôÞY7"Ùtàk ûµHÖ‡wⳟ\8 7Ü…ðÎO$~ðjû÷ñ]¼›n5›ð¾êø`ããfóŸåfsãKô¿pÉüYqxÄ(Â@ pHYsÄÄ•+diTXtXML:com.adobe.xmp www.inkscape.org ­ì4 IDAT8u•kh–eÇ×ý<ÏûîМn6O ÝÈšhvPtC«¡‹Ì‰AŒðƒ…RID‚úÉ)IúRJÒÅfÁpmxHfÛ‚4uÎMݦ.ÝáÝÞ½¾Ïó>‡«ŠM«þ_.®ëÏÅşߪò_d[vc#Οˆ=ª¿À+^çLÞK,TUÊ˱ÿ5û†ªÈ“õ¢Å|¸`ɪÝhÙZ¾ÖoT¶a¨Æ²y≈èÃΉä™Ï+)—$ÞÖ©Èz–êâɋØbªEâ»T½?(ÇTTˆÑ: n¤™Ö׋]^®Ág‡dݲìè%ôÁSüÐÍB8yêGØÍuì¼qP7¯oç›yꋌ ÷'ÙÃ6´¶mÃÙºU]Ù(eͰ»£“øÊ¯ˆæ”aÞ@´:nö`¥B‚‚<(šÀ["²KUo‰L,¬Ú”8Äl™/€ªú@°w9óóÈy?þÔñXnHôÞÌáRXèÀa{L.Ñ”Y7,eȨÚwv$ö¿¶–™u?Ñj´Q}mT`Z¥TÈhçˆcØÐq:SØm LþfI\í±€c2˜„¹ùäÓ½‰Óo¼ÍÌXR)°e‰LGx~dœUvœåÌÌäñ00„Òlª„5Õpí\Ü%zÐv )- Z½ÂâIàyxžK\Çv ÇœlÊ$b`ã7w`uv`¦Í€¹ÐgAK?\q L@Ê…U‹`úlŒE”„ ÂÆ7Cʸ‚MY.¸] œu+pæL9%°²¼è­)w`j> %aÙ(Ð7€‰Ôàû¬¡4wí(à ߥ*'‹ZVKžþ'ba$ÓÌ‚~ z‡`”~a‘€‚ï1`û§µ^–Ê ,ª‚(ÂèKC[ôwAºÌŒÀ™à¡Ï‡Œ±\B×Åéí£ûAN=öD.U€“#ºÙ©i|p»0Þ=HöÀ¸ ̤ȎÀ ‰¬:˜"«©ÎýÊ) gôg+à¶Eèò@ŒäA€ÓD@¤àúh(„‘ÁtÜÀ:þm>¶·pV[æ‹£ê—ÄÙÑÖÅËADné‚7c·vÁÀmH{`ù0ÙÇ…LD”eaSXçêÈÔçÈPCöÁœñéöܱ Ù4Èv1zHÉþ2s·¦xZ<ñFCÒ‚¤ Qš(m±0—/ÃZ.Öï‹}ѹ²Åéž”áÞ­:í±UU¥B,¶AöΆwUV3|ß²pŒ÷ï@F ƒ<¬Ôœ½L²î‡¹}¬pfº«p·¯þB·ª†QJDlU ¤ÀYÄì †ÙÏÍ#¨\ rßCšÏC}-giá@Ñ].DÓq‡«] Ú;›ÃyŠˆQÕ3 ªå£ö _Oƒ=±:®AK-×[rtêëTXöw—"‘OÂk~Üà‘©ªªl8P÷È<)¹ÔÊæ{= 8ÊI.çœïFî¬ÐO) ,º‡Ï?Âè“KUÃùëÅi:É«´ç¦À¿=óÅŒõ× vOŠL<‹´çžþ®‰'€¿ )y¼Ú;©IEND®B`‚./chessx-1.3.2/data/images/folder_new.png000644 000765 000024 00000004642 12077036777 017756 0ustar00nistaff000000 000000 ‰PNG  IHDR2†ç€ðiCCPICC Profile(‘UÝoÛT?‰o\¤? ±Ž‹¯US[¹­ÆI“¥éB¹ÍØ*¤ÉunS×6¶ÓmUŸöo ø€²xB Äö²í´ISAÕ$¤=tÚ@h“ö‚ªp®¯S»]Ƹ‘¯9çw>ïÑ5@ÇWšã˜I`Þò]5Ÿ‘Ÿ˜–;V! ÏA'ô@§¦{Nº\..Æ…GÖÃ_!ÁÞ7ÚëÿsuV©§$žBlW=}ñi€”©;® ÞFùð)ßAÜñ<â.&ˆXax–ã,Ã38Sê(b–‹¤×µ*â%Äý31ùl ó‚µ#O-êºÌzQvíšaÒXºOPÿÏ5o6Zñzñéòæ&â»Õ^wÇÔ®k¹IÄ/#¾æø&ñ½Æ\%x/@ò™š{¤ÂùÉ7ëSï Þ‰¸jø…©P¾hÍ”&¸mryÎ>ª†œkº7Š=ƒߪÓB‘ç#@•fs¬_ˆ{ë±Ð¿0î-LæZ~ë£%îGpßÓÆËˆ{èÚêÏYX¦f^åþ…+Ž_sÖ-³Tä>‰D½ Æ@îקƸ-9àã!r[2]3ŽBþ’c³ˆ¹‘ónC­„œš›Ës?ä>µ*¡ÏÔ®ª–e½D|Ž%4 `à î:X°2¨‡ ¾pQSL”PÔR”‰§aeíyå€ÃqĘ ¬×™5FiÏáî„›t…ìÇç )’Cd˜Œ€LÞ$o‘Ã$‹ÒrpÓ¶‹ÏbÝÙôó>4Ð+ãƒÌ¹žF_ï¬{ÒЯô÷kû‘œi+ŸxÀô˜ñú¯.ý°+ò±B.¼{³ëêL<©¿©Û©õÔ î«©µˆ‘ú=µ†¿UHcnfÑ<>F‡Ë ^Ãe||ÐpÿyvŒ·%bÍ:×iX'襇%8ÛI•ß”?•å å¼rw[—ÛvIøTøVøQøNø^ødá’pYøI¸"|#\ŒÕãçcóìƒz[Õ2M»^S0¥Œ´[zIÊJ/H¯HÅÈŸÔ- IcÒÔìÞ<·x¼x-œÀ½ÕÕö±8¯‚ZNxA‡-8³mþCkÒK†HaÛÔ³Yn1Äœ˜Ó ‹{ÅqHg¸•Ÿ¸u#¸ç¶Lþ˜ hŒ¯s ˜:6«Ìz!Ðy@}zÚgí¨íœqÙº/ïS”×å4~ª¨\°ôÁ~Y3M9Py²K=ê.Ðê °ï ¿¢¨Á÷-±óz$óß8ôÞY7"Ùtàk ûµHÖ‡wⳟ\8 7Ü…ðÎO$~ðjû÷ñ]¼›n5›ð¾êø`ããfóŸåfsãKô¿pÉüYqxÄ(Â@ pHYsÄÄ•+diTXtXML:com.adobe.xmp www.inkscape.org ­ì4èIDAT8•”oh•uÇ?ç¹Ï½wÛݼ›k¡æÜؘ7¯A¥ Az¡¡Eb½.ea†B ÊÞäŠLAa–¾Òˆ“ᚦaþÅj⬦¦wÌ9vïõîÞç¹ÏŸßéŦRïúÂáÎá|΋s8¢ªLJ¬î~¬[ÜI2dèÎÌו¶D~¢>ÏJ >™ÒŒ¦Ã‰ÏGG¸+˜‚©êÿ³µ<¦ëÇ”®„ª¢‡I¨¦ê&눪b%–Ë£Ë7ËKºäi–U"²X$Ù!Ò8»ïCY0~DÒ"2SDÚEžœ•³g¿b¤´`}óöÌ… ›ÖZžëýn÷àJ€³g±dîjÞxkÛkë`xŠyŒS¤XrqÚ¨{zNSPúó™‰ãÎ_±‚{´fÃ))Zümé‡8‘{“Çô¾ WtŸô‹­K4°g·Ðš¨ƒ†**µiâ°¢ŒC² d¹Eºµ’ÜÈëo-Vz:2´ÅZ•KÝ;×ËÏ ï{‚eò÷Àt~c öôFfÄâà(ßC£1t¼ ùjÙˆ­à–öꢫ—©Oïæ¯¡t^µï=i9OX[6à1+írÀ®NÐb „‰Ç‘±Qd¨æõ¿À¼8´ÆÁÄN¤]l@œ‹Ÿ§²îŸ}µjhóšÜ˪ꊈ‰ðênnTô€GxHÑwO¢ÇNM-{Õ<ªôÊïkTÕSüR}h¶Ø¨žÑ±ìΑӧIM6l±TK,¦)` RüQHµMÞL ¿æA+qt?áÁ5øÃp±v»ÕG'7GÜιK_©‚wÌRÛÆ¢Ú1¹š…f…ûù—¢¹fB޲£¯‡Ð$Q=wÖ'_‚­[?þcË"Ü» "ÎóTÙ(*€®_„S÷`¨í^g´ÐÃÂiPã€\ö¥Ý¯»Y6î²,Y ìØÆ~; ª zm m*"©ŽI`É€gÀ  BX m “0§\¾uŠ ëà7Ü8¹§q“mA^¡úÚº|±`Ì/¼ô¨øàæÀðwü\#Q¸| z¶±Uu,kGcŒ™™¸‰¶?·|(–!P¨“À»ð;‚) Ø„·óDû~à{Íj€5žçúàIx¤C5z3Å äËPpþce¸í E-”ѲÁ›ð‰ö"{üÓäkÒ)QkïžH¶vÚÒDs.â 8 ®‚c l <; eƒ8ñ1bçŽÃ·ïÇ6ªæ¯tn¨žQ_ ²buWøQ*E}Ù¥&P¢Á 2åñC44ß`ÂP• bSÆ;òo—Nè.™ü¨ªÿzô3ÏŒºIIEND®B`‚./chessx-1.3.2/data/images/folder_open.png000644 000765 000024 00000006451 12141003207 020074 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËtEXtSoftwareAdobe ImageReadyqÉe< ËIDATxÚì]lW€ÏÙ¯âŸÄØEu’ŠÔJ@*hÄ ÔNh ¢<ñBð„P¥ª­ŠÔ$E ”´ €ðÂâ¥Ê¯ãM“¢*)d©qD² ‰Bjjãµ½»3w.3sïïÌîÚû7³³Î9ÒêîØ»³3÷|sι瞹Cc€òà Aì@AP@AP@AP@AP!k~ñgç§Ÿµšíj<îl+ŠÊ¿§ÈïOšˆÓ‘çÅLÓi©ahVó§Ô¥É…\.çümnnŠÅbÙ.‰ 9ï{{{×àà $­¿KùðÃ[pëÖ-¸™Í:û ”:7 ÃiO+RŠ®ªçz8pêÝ~«IÇ»ºvÚÛ€ÝhF¡ppú7¯m 0-0…ÑÑ}h ù‚Ã×>€»wÿë@)oÏœ>µ±øiúò­fW_¿ZºRN«Æª"v xõOHÐgXªWñÌW¦¸Ò‹ù¼Ýy÷ðËϵâgGF>Û¶n…±­c[ÌÁµ™ëpýúu×"HNž8¾18”¾ì|!ÕˈW€ d¤˜UÐ9°²¸0>ýëÃçšÿYSüƒÍ–uxì±Gahóf¸rå*ÌÌ̸PƒÇääéH«wGŠÊ¿¢&»8©n¾#á‰R€c‹fOȯi ”xÑc™ŠÅÂ~kçš?"\ yMƒ ïüÝqccc°{÷\»6c¹†»Öÿ9Oí}NŸ:Ù¹Aà¡·¯:_èéà. »§#p]ÀʲÓ.ióv3ðÏ_XâJ“hÇŽOYÁc2ÓÓ—`X!=5Ùy@*Ä„%A p=„A7±OÞl+ÙËLeP€)Lœ(Š¡¥Àî·ºæhK¯(Á·*\á7¸¥ŒÇ\KÁ[ö>ý58uòD[û©nL&[æiãVÇî(ÌÁÃ,óv‡¤àzr Ë­¯çøm7p4Œ+¯Z;1±¦¦Îv 8ÿ/8ÛÉî¶iw`hi.r‰Ž¹ž!¸½e»ÛáF±ÀƒÀûÜòç>žÝ9ýÆ«Óat ²•ÃÆ ã‚–¹ÓdÛå?š›…¼æÐ¶ß,óî¶eà¹°Ž‡±Êí“ONÀ¹sSà䉙wáo´¥Pfg#€Iº\óï‰]ä(¦»×À iXe, cfÅ{¾úLž9mªù²üÖGa%ûo0s ‘Q¾ÒÛ)ë¸H Žà /þâÇï~áh˜ÇVÍ|ù+ãpþíttc€ŸL½ï|¡WÄ ÈTðòÌ4ÐE­íÊWû ûÓŸ¯újè|X¸¼ä°•mü½×^˜û8eÿûç¦Îž %¨€—Ï^]€NNPhØÁârîÈûoZh7º^„ ÎG€—&¯p6oñ$‚: ?†HÅ¢m¾2z~%kµY™7 ¥ ]¨‹XÝò&¸L*Z~üÙ_>ó¥c¡ðâä´g¸a(¸ð+0¿":šz:B+Ÿ`A`î(FL6éºÞf¬füÍo/: tûÁtÃìpû¥Õ¢Â3˜ñ$X‰ÑA²ÛsåûƒÇÀ-ó+Л?0…âu®uX;­¯±Þ~7Øa /([Òá•E¬Êy•)¾Êy²À`Ó÷÷ý@“t7O Z~ž¬r,à&²¨8΢Èˈ—bjº2:^"Àzs Áà‹dpL`£ Yg;¤Ÿ—D¢zû]ÑÅ56¬ è4‹Ô6 P%(±,n™…‡ÍEˆ·¹`£Š ÜVú@·‹mdÁ¢xb˜à-@•ÙÀO²%xœÎBÒ:žd2‰Ú @ …|FŸ‡Ëê0Ü1õZXê,6w™÷ ¯o ;Õ.(­;0;; »ïÁ$Œ‚fÙZÖdB©€ò×gÙ¤R)Aå(vßÚ}l÷õçØ|E]€}Åû_ÃP€~Q$мØ}=L NòɶüüÅŽ‘¸(ĵçÂøb€œ©8v$fgÎp(Š$D ¾ÉÊs!ä<ÃQ0Qçí Yi•sX˜•‡ƒÈA;`«ý¶ ¨u– %8±û¾ ™ÀÊ©`”6Yß:!X€*-ê£  \!Ä•SÁèÚ`L~*¸Úl J›\4§‡–ˆA»ƒÀ€\À«SÿpƒŠ‹¾4~se,ųÈjœÂMH¼¶Œ Eë¼Ñ¬>L@Å4°AxëÏß¹zÀÙæ7Áf_™øâšåâk–…kù•qÓwW­[$¶ 0¨«¶`VÖ“­C[—ÖÛcu Ä“ûì‹YM¤ ¦Üdµ%‹A)ÞÕÀªš¢•z/÷> @ÜËp_ܾ­ä öGöÕ €E’3¿K-¢¶ö&ᑹ ˜0ýe«€UMB“.¿ «÷ç Ä8”À&ëJ½xŸ/†I©óúƒ@Eqn5"j n¯PPVLˆÙ!&`5ŸJ Óo/Gw¯@ˆÕÜDÍ`¦n,  ÉëÖë?K¼ü8–PÜ %JÈÕÐ "&Ðꀒuv Í„É7ٺΠ¥-"ô$b³U½9m¶ -*©‰ ´rª¾˜e6Jf›ü ¢DuÔà[Ï~CˆÖP"èùS—Y¯5†½a1ÅJ¤rå“ÜÜÿàõ½“†Ö°é¡>Àº€H`JWàݮȕž¦Ô/OÚ…ÈØË‘¶âùÔ]P"Ý0öÎVwĤÓÀ^Ž´ðÆjt°žÈX;GÐy”Œ2@©fˆ³"Z•à­_Ñvr¹9·Õš±ÙÕ °Æ¨¥ÍÀkú©Èç4€^Ègå²i±¤X›FÁa`”EÆlîrw–MÐ(f; €²Ötë.ù½¿^â‰ØÌ‰‰B‰¦èâ‘8ùþì†?|ó G‘ /éÀ¦‚;#¨UOë`E‘v"a\F•`˜  qŸˆbxFé¦ðû·õIÊfo›€R§2H.gNäJ•˜ˆ¾á×W¦ide¿ê”`F0Ò`½J zÈVv@¤z1¼s7Ùæ]C: 7`-€'˜ë[ˆ C€¨àø0¬ëjzbÈ7~7É’ýCœ˜®nEŒ^ T¸?oý`ñÇu[iþeŽ™P\:ҀʇPµ($üJšŠºÿ=(ÑŠJêÒ-ÀSºyÙbŸG êÿ¯[ T¯p+ƒüw£DlÀj«ª×hÔ ÞQ`%ñWÙ:k¦™¥"ÕHäpà¬`¤ðÍÚ:kF±˜Uu~É‹A¢b¯Gʈa |¦¥³ÖÅŒiþL à b l…š\@ÍŽÝõúqçƒñ^¾Ö€šè’ÄÞokô'†EþQ=Çõ~ñù¯ïÇš|tlY¥‰ûÜ2 4Z±U3Ô0ìĸâÞt&ïBDÂÈà¯ÆJ ,€0 ’4¶bhíÀ4ùšAþÛNqZ0xo Í€Æ£Ææ™±é„ÐZ€»d õÞ€N$ ­ú—Š÷Z€l`P_gÛ(› Ss-9gæÎ ¢h«K¬¦€©­“š]@͉ [¶¿ô¦öðD’à·ˆ\3(0‘2–æ!{øÛ¤ïÑ5@ÇWšã˜I`Þò]5Ÿ‘Ÿ˜–;V! ÏA'ô@§¦{Nº\..Æ…GÖÃ_!ÁÞ7ÚëÿsuV©§$žBlW=}ñi€”©;® ÞFùð)ßAÜñ<â.&ˆXax–ã,Ã38Sê(b–‹¤×µ*â%Äý31ùl ó‚µ#O-êºÌzQvíšaÒXºOPÿÏ5o6Zñzñéòæ&â»Õ^wÇÔ®k¹IÄ/#¾æø&ñ½Æ\%x/@ò™š{¤ÂùÉ7ëSï Þ‰¸jø…©P¾hÍ”&¸mryÎ>ª†œkº7Š=ƒߪÓB‘ç#@•fs¬_ˆ{ë±Ð¿0î-LæZ~ë£%îGpßÓÆËˆ{èÚêÏYX¦f^åþ…+Ž_sÖ-³Tä>‰D½ Æ@îקƸ-9àã!r[2]3ŽBþ’c³ˆ¹‘ónC­„œš›Ës?ä>µ*¡ÏÔ®ª–e½D|Ž%4 `à î:X°2¨‡ ¾pQSL”PÔR”‰§aeíyå€ÃqĘ ¬×™5FiÏáî„›t…ìÇç )’Cd˜Œ€LÞ$o‘Ã$‹ÒrpÓ¶‹ÏbÝÙôó>4Ð+ãƒÌ¹žF_ï¬{ÒЯô÷kû‘œi+ŸxÀô˜ñú¯.ý°+ò±B.¼{³ëêL<©¿©Û©õÔ î«©µˆ‘ú=µ†¿UHcnfÑ<>F‡Ë ^Ãe||ÐpÿyvŒ·%bÍ:×iX'襇%8ÛI•ß”?•å å¼rw[—ÛvIøTøVøQøNø^ødá’pYøI¸"|#\ŒÕãçcóìƒz[Õ2M»^S0¥Œ´[zIÊJ/H¯HÅÈŸÔ- IcÒÔìÞ<·x¼x-œÀ½ÕÕö±8¯‚ZNxA‡-8³mþCkÒK†HaÛÔ³Yn1Äœ˜Ó ‹{ÅqHg¸•Ÿ¸u#¸ç¶Lþ˜ hŒ¯s ˜:6«Ìz!Ðy@}zÚgí¨íœqÙº/ïS”×å4~ª¨\°ôÁ~Y3M9Py²K=ê.Ðê °ï ¿¢¨Á÷-±óz$óß8ôÞY7"Ùtàk ûµHÖ‡wⳟ\8 7Ü…ðÎO$~ðjû÷ñ]¼›n5›ð¾êø`ããfóŸåfsãKô¿pÉüYqxÄ(Â@ pHYsÄÄ•+diTXtXML:com.adobe.xmp www.inkscape.org ­ì4åIDAT8…”Yl”U†Ÿó/³t¦´”ÚŠ 4e)KÁ C, ¨ˆ b 1D Ѹ ^èU¹"îKb"‰Q¢\¡Iƒ‚ÅZŰe (k[ m™¥õ_>/Jqû’“ó]¼ç=Ï9É÷""üßš1s¨ç>²Š–•ÏhÀ¸YÿŸf€ÚüäŒ? ïâÅšõw÷¯Þ0_–Må£tÚµ 4V ÿ«á¶+tQוEóùºÇ?”÷–l—#Dä…{égMõ(F4ú'ñ?Ñé ÑèuÁD–/Ú³vÉo]»jå'Þ—vµN?õØëš°’×E„' ~ƒgò ê¥sM‰ ”*Ú½©bcIlÞ³ÓJÚÆì¶/î‹iõ‘ní窌ýê9Ëè9Æ¥ßÞõ×õJºS©Ñ#x®s»mã1Ôʸfæ¨jõð‘ –&&gg´ñQË»øë£¾Ö!ngÿÉvC<¸ã§PÖͬT*´oí¦øÖ‡V1©éKNCd•sJæö>ýJMdÙ\= ©_#éãª$³ÜˆVyð×bG_;r0ºÕ× µa^^¼%Þ0{>AM‡T &*fÞeÁÜ¢±ŒÕ÷„ïgÔ¨´uBušñõ½ãñNi§ÙׯæìYb6äz º72­¬rYr9ï7Û9gjìôù§| |pg¢Ä ‰©ç'¶šaaæ4ó¹õ-«[,*F@Ý0¨» ÆOF3ý¸ñØ.dó¤Œ~áD¿Î8ðdÉfÍH°Ò´Ë/qì²I¸{ý#bœ¯ÝKÞ K»aæD¨ž…ÉAp çÇ$sWó ɾÃàà4l–´Zªö¡ç÷e§ë™”Mh˜BÓ}¤Ó)eQV,xšàd9Ä`öCÞEDÃuzç9øq¿·|`|L}ZÉÃz擟B4¦[]ñ¦ÔðbG7‚ô$1I3¦*Ëʉ1Hò«-4rÑ¿ã¶I™)]§öÓ-"ƒc>(CõÎtU8Ì ÆÔ`OX€÷¢.Û¨#G eß÷ìðoëXøN;{N%[¥ïZ)”D£F Úõø{ ø÷# ß@Þüy¾™»ž3`¾ž¥•uÌ-®!Jn ô¡þ/¤æ)#Ú$6@Y­z­z&/ 1°'{'¼{CáÜ9ÿH¬®8)¼ÄÑé’£ã¦úÛó•Ršˆ¸j2iâANR`uUÝׯ$1)ò^™œ—i“øÍ† ýËå ¤ÜhIEND®B`‚./chessx-1.3.2/data/images/format_indent_less.png000644 000765 000024 00000031013 12142244753 021465 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ30BïW IDATxÚí}y”$U™ïﻹUUÖÖ]ÝU]KwÓ"²¶OQaTœ—÷®£Œ£ƒë—y2ŒOÔÁã:îË(õ9.ŒÂ€‚‚¬ÒÚB³64MWWuwumY[fFÜïýqoD܈ŒÈ¥ªº: ‰sòdUfdfD|¿û-¿o àÙíÙíÙíÏw£?—•Ò¥¹{®\Ïn±À-`9–{Œ´ž~Ũ? €U¸MÝòî¼Èv€eHôkoË~è0 @ªÊ×Üà÷`y/XÞ×zú;Ÿé hjLßö‘ €>²3P~-̽´¢C8à~ÊNñÆö³>3ý,–aÛ÷ŵ¢å„w¬ %Tµj£Bí㤓)P¶ "·”éÙ9@–²vÌ °—¦ göB.Œ'}] Àm~ –?ÉŸñɧŸ@ܪýõºÈÎm€°ûµJVBe9½ZÈëØKù‘éTÂÍvƒ²k 2í tÈÎR9ÀÊ$‚¸%”öüp %¯Ÿ¤°TÅÎ" 97 wêÉX—,o‰¯[íÚrüÛËÏxÌÜõ©,—g•-öXö‚„·R=Û ·äU›ëÈuCäÖÒyPF V?`¥þ^wr'Üé§”µ £‚s% H€¬ Ø-ÂÜ væ£_½À· ¯çÏüôãÏ8n¿ì½ qÙRÕ1ˆl·RÇÙ5ÙN%ÜtÈÊ€R­J°æªmtc HG©tYöÿgYV²v|õS ,$Ò`–p>¨~Ãøu°¼$®ÌŸþ‰[ž9¸ãò™ZNÙ9ˆ–u­Ít@¤Û»E­Z+³¨U^Â%_,Ý@Ðì‚wâqá̃Ëó¾öVqÀð¾ÛE "Z‚Drá Ò,áí^°¼"Æ'öLÐ#Úv#=x6DÛPªU­ZOŠUë –¥rÜ–°±3ð/IZ"‚°–ð|‰­p;H|8ÚÇï\Íà>'Yí‘=ö­‹_µnÙ¿þEª²j—só…(%p-dÖ«„÷~TKx€ˆÑþß$àŒ=õ¾—æOûø¾f@=žøh¢p=aFÕñ2¬Ú僸 B“°@ ªDQ-a«cú ì€ÙÂ^{@6œý÷ƒÝ"¼,_Q¸ý²Kóg|ò›«&¢yþ ¸\X^ްA"¥Ái‚÷„h€" ,N  PDa÷ž8s(ïû=tÄ7 w\~€wäOÿÄTS\ž:öÙ \*„ÔܪñrµJVF=D*pJ…­ø+¼ok߯nQ¯Û9õ[½+­>#ÒJ»„>— >ã}.ÝôÐK!Zz½Cz=€m…;.?qµ`_T@Ø«: ñ…’ÊUÂE "(*!l€ìžZ’wX›ÜV¸ãòsVF»¿ €µz˜_@iÀ6„„¯%4 *…„”L< ¬ Dk/Ò_æYÀn¿ììUa¨XšekV• ’á=Çi K¯æ8-áÂÊV×dƒì2G\à™Ñ4H\?sç[šìGVÐ8 Ûg64͆÷~’Ù°Ôsfó_zG°†eùêUa¸<»ê|û/IfÃXÕ‹v.3]°{žïýê+ w\~rS†íg}¦X¸ãòƒÖÈâ4,#¾^ §©´„Á9¡ÿeq¼pP±Ž¥‚zvËzÅkó(Ê<Û –eØkƒsàÞw¼À}ÍÈx\À.N„#w€ée„\‡œÙ·0 9·pæTæ0‡hÝѺAe1‰b"“ Èê2Š£e€Äùþ¡9Àr$ŽåRaÕ-^vŠ »ey¾kaÎÁpî'”Ê'ˆ4D~Vûfˆ\wíï)σ¬, lˆ¶ ^2©­Y™@€ÄÅiã¥Ø+®Ð<Ù¹&D€\òçÝñ‡àØ·ð´ í„Jw$ rݰºŽRÙÏz¿’]? #ZÖyèm^S!'0piJ à]öäŒ=gä.ÈÒLHèd¥²aunÕÖ·4Pjß@Ûì¶kr­'¾{¾igNsåöê eI%®¨G…=(=}+¸8¡¢T«ºv~EË:X[Oˆ™NÓÄl°³0©Ž»öŒW‹P*€rkjïè–P¾îÄ#Š Hç}¡“•R6»uÃâV}ÈÎ/—{šS¿šàÌ«L_•c–³£(=u3à.(sf]¥”-ˆöM Ùúª‘‰Ö¤” [õ­ôµiìAV«jc\œe»’mý¾û‚Uï @ˆ4¬ö¡Õº|h15COÓÀcÖHXXM-3\ž O mV¹²°[ >"t T+Dkïò'À¼t‘2ÍjÓj€IÃNi¯Z¬:- Æ!ZÖ)SÀR8î‚â ¡û™A;WW\¿8ù—AV:=­kV"hÊ·Ÿ^ì¿BîäÜ~ˆl·êr òCªdœ„ZBÛ~+»<ö¾–#¾Ž½Íª¦Lf­áK‚ ¨ó· Z{5°çODQçìÐÀ3§vÎ+¸Y¿Ò—£®eÌnyÊT]«~‹$±Dº ”ʃR9ójáG¹€l÷a3u@wÅJŸ ‚Øæ—µ”ê¡«~™ì– ËsÁÿÌ~º6.ysHŽ‹ƒ>#:ékJ˜f D7¹ÀÌʹ#‚×AD*Œµ2`·Þwe‘\ÆTÞû³mvÛ5¹f@Á#UšÞªŽyÇïõ#"°UgO´|¥ÎQöÜþ®fÀ¼öšwµ{ÏÌJØFúš|-@z_R±=‘ Y÷ýñÊ  v4+”¾l–ŽŸ$háÃ-ƒì¬nè Ú‚õlÿJÀpDýDÓa@#^\QÀiÚÕ³o¤bzAo ‘ÞGù‚&2´ÅJJ¡Å4«Í €eŠI¡bɇVØšˆ&êoO°jIi‹`J°oëW\èæo›t°tšV”+|à \Šð+­â!—f|gI©tó³ÆJYáÕ}Ïo=Ô ð2”f•õ k€F|€¹8eùVtŒ=ö¶zí¹O¯’ùU£"‚”O~t æ¿c…ÃÁ˜„P;nÔ ²ê ǘ,]㡉™òBHþŠcø{Èž[)c•{ƒ8Hæ{\5Äcfìýüy0úÕ7¯0àÆ…ÓMªXÎĪçzãðЪV^º—šõVu`¯ÉxXagηç"ãÂ?~ÏñbÙ­[¿‚âÈزõØÝ}¹æÕUÏ'´ Ü{_:Ðkio1…mšT`uܺUzÕUMJ@õªôºì9K5 ¢†Iñ>ïLbüŸÅºµ€uê%üëc~çŸP¸çºX mx…~øÇDV°¢e92²Æ˜–M«¦k…¬/‚­XÕÞEŠLë¨übì¹6\#–÷ÞþÜyȦ€Ž“^¶[`µv¢÷¥ÿc×_¹0úŽ á›Ç¦ŸC¿IBåJ\'4(^;Š4Mìj+ÕÌ wò‰0#ù}»'ØÊïnÌž'yùQÍ0öƒ@ÎÏbàØM u'g êk[߇áÏWi6<ߣÞc"ÙªÀ3áã5BA> iM@¡Öв:¨oUƒÂæÁW§rIö¼Vˆçý½ðÔï1}ïп¥´f ˜° ÌíÍO£ÿ¢OÃ9¸7]Uál6rLdjªA)è¦5R=ÕY^eU'Ûé ké6dÏC¿kØå¨£ÿúߑϹÍdzíÀÂ8@ O? Êv¢ÿ¯ÿ7þ+Ü©Q­¢H9¦ºg@ŠŽC(onPcµÕ^Õ5""=m#¼_’Ú÷U2›˜ í·ï›o$Ð{âVPqF׺J° 8óà©ÝÈôZ´mÚ‚á«^n\-«!#¼¢Ï‰UjÕ $ø«1¶Ðüó{÷"é@"¾Fx›øVÌîø ë¥;Á…Ý@ºM _jb†™§Ascè{óÕ³ŒÿüÓÉÚ­¡cªr S¾hYµ ®UmÙ±°æ÷$Øóx>lkß·.Fçº2G'ÚÖ²¨9.'ÐðØ Túÿç?bò–o¢<¶KØ î˜âÀ:.Ó™öAuUf@ÖåW¿ˆ%Bá–é$%î'xâ˜{¯y =/8•]}& ÂÔÅ®ÖzlbqT+Êð@À¬äIí¿îR¬Ù˜Gªg#xl»Ú7תâÏžðÙU½„4ßþLýúZ”<PJý–^Él:½I ¥”ú^éî ¹OÐ&v‹™Õ€ºWu|UxñTç~!ÕpòÈ-‘JÝ'lžJSê¬3íPn׈œ°€¸Þw7ÒÇ^€Ž“_„‘Ï¿J<@X^‘Y¤PFCdU8©¡s•NKS 4Z½AíP™#ˆ±áN%ïÒ‘äÑÈÕ`à…ǃœ20õ`i-œn5¦‡'7 0Px˜Ú‰uoû@%Œýèû*ŸÄ"H!!‘ ïgh;µ:4€1a;6 JX­áB•v16¤•¯ÇEúufÆôßAqïNØíkÀcÛÔÙz?—Ê…m?›ËÀ€«ìþðm ‡1xÉu˜ºíz”öîˆo­—‘ŠO‘h[HTõµV«¹¿ÁÌ욌ЯáªÞP”`Öß'ç§qð'W`ÝѽàÉÇôÝ ¬‰”¡î a³ ˜ € ¾©çž5/~5†¯¾pé¤nRevÕÀ©àúY«FÄ«zªÓîG>ažJ%†„R£~-B±Äðç_Žt«ŽcŽf‡ÕOú¬-[©û4@Æ}üטٌmÇš·~vÖÂÿ`¼º"lÓc¨ßpX‘tʯ@ÆÐ°uâTòßFrÅ(ÅŽFúf¢fò–kPÅà™'‚æ§á f€5éãVúlCˆ˜‚½7Šs¸ôfLÿö'(îþƒQ\-T%­MŒEâßxṉ´b3À@5EÚ¯Â+Õ‹ƒ)¸$‚UÂ1þ Žz£¨q&÷bü—_@ï‰G@d²àñ?+?ô °Ê÷ü€$“à?Þõc؃g`Ý_½{¿ð: Þ(ÀJUÖÄg ;V‰ÓŸ,ì$˜‡ªj4âWèD͞Ͼ -=mȹ |ðOÁYFQ•OR=ÌÄb4107 쿯ý2R]ýÚ[êŽLá{ ‡c‹Ý²1ܨÀP»ÏÍšÿ*~ÅØõ—çÑÆVPaPš¬:ž°Ê爈`îC¾TžÂàÇîÅÜö;1»ý†Æ¢/‚JZM™J굊½¦:A)}Þ>p,#y÷P¤ ?Š$vÞ黌þ3ŽÁO>œe¶ñ¢ÎŸŒ<«ß-jSf;ÞõX]G¢÷­ÿû¿ý>°S Ô½÷û7Ò’§ åá´TcˬªÆµ‚ø7n²â=ªOÜëà1iSM(Y(Þ–zŸñÈRû13ŒÑ¯¾[Ö#Û»¼ï>Àö¤Í -¯—Ƨ~®~B–ËD„«Ÿã5 óÀ‘ Z{²æìŠu“?ç1uóç0üù—càC7W:²ži€ U~¶”ò°u&ÙKV †ê7Oœˆ4[F~¨Â>ƒ¼ a«´.æˆªÓ çX`äK¯ƒe=/|¨ìëOÖߟ¬Fþë¬;åDX­kÔõ¸lÓÒ° |µOmC˜¹ç˜»ÿ*¥í‡ŸB[q ”ÍÃÙ…É_}g_‘Sª_©ÚÀÃäØ ˜€6MSF<ý*ÄP ªEäDëÍ$µoîû!Š»·!ÝŒþêwŠàñCB%íž:s‘ËQ— Rïž ´7V?é°­µ3ÛoÃüÓ#È “~î„XÛ‰–êÙÅ„_GM>ëÈKj½&ÀŠ¢”H€Q#c—PÄQÁEµH5Íb|Ön_ÜóÎRƒ–âX8fàé›`µuÎlÀ pªø†‚MZè°´pÔ6¦v݇޿û.Rk6!‰°­á(*ÊãM'Ù/_ > Šjf7ž¸‰©îõ.RÅþ‘8¸ÑšÜsÏDî¹g&h¥jg>øœå»b~ó©¨+’‰:›¼%çÌÅF~¹ÝsØ¢#Šðó„~T¹OR3HÒkQÍb†[¥½; ¤»×ΔaÊÂÇ­$„Øò[@n¥‘½H¯ÝÎE$Kcõ|X5À²AÌ~¾ÐÉ™ààêúM0q]¤Råjd,<µMþvl/ŒT0Já0Ð#H óÀš“0·ã¤{7ÊÌ»õRê5åá³ÿ ]ÁDkÛ=RƒŒ¼kbGmŠ9´âI*Í=p#Ú6õ«ÃŸßv)R D:˜¬93÷ÿ¹ã^âÏ"w%×V’@áùë¦^ù)e‹€ª[¶²u±wªPB„š*”Ð8|µ–êèDuWGÍ@ÌEœôwhÝr40?¢vlÐÁ0éà2¨ç 0²˜¾óûÈŸlt ûµ~Iõ*{(K3*œ5@£®¡VÁì*àêÍ`‰x¹FöUᣯzŠ:a1¤’¿2FqfÛOÀÐvü_ûn"‡%¨’Íg Zw¸óú1d™î;ÊH_ÃÐt)@–•**"¯},Ýð¾ˆóqxU My«•’Â;Ÿ#÷®òçÿò`˜)VÖ*˜øåUè8º”^ ž¸Û°ÿŠJ€©ã‡ä·€;¶bü†·¢ëÜwú žª¬›ÃJÞœƒHHËÑNbFÀ9&äÒÆÐJ(6£ È*d‚$Ê2 ?úwÈ]ã Oý¤„9@šüYØõ{”ö`íYçS;§Ö$>äVæœ)Бï‡;z?fwü]ç½7܇`š Ó)¬7%,„N_§âW?Ë…f@‹‰öÅ ÕûæQ‘¨>i¬2C8öâ<òú/z=ÈI{ÿ_¸8Ö ¸*hݼà:ÌÞú1¶Ý‡ßT”^“çR»…P×Ц,ËÜl& cÀÓ8~§ºð½¢ŠsG•Ï+ gYµ ÉHá®ïcúw?ÂÐkN€Õs&ø‰ÿ[[ø^8™Ý:ý·(=ò}ìýÆ?£÷_†hé óú,cæ,‘ „YÕd|‡Sœo*É$Xª>µ_ˆG«cãfùtR¢evû 8pýåè;«™ÞþPžwÅÙÐq4è¬?¢¼ëF<õ©7¢û¯Þ–c^Z¹’uÔ7Gõ²ÅéHÄCñ]Nỉ–šK°l7ŽN¿äV±ùŒ†<ÅåÔC±¶HT­süû¾ý>ôœÒ¶sÞ»˜¸»² úp ¼8óXxà{xòã¢ã¥oBç¹ï¯>³ âØE¤[˜bª‘‘õ&'R*¬ØMê½}|vm•ÌdÙ‰ŽZõ½¸¦°õhO«xMŸD„É_} ú9ôœÚÎW^ Lü ùêgåÕr<ÿËà·bú†÷`ôß¿Š5¯~?:_rIU‚*T— O½»ŠJÍ$²~®:²ÞOL€û0´¿äósÍdX±!`èB «®ìVbÈQÁk{ =[£ß¾3ÛnEÿù›ÑzúÛñíÀðuÕÏȰötÐq_[i ÿóVÌ?ö6\ò5äŽ:+(bUzë¦ð9’À2ÏÇ/ó®cd½éWœÀŠ‘@ èTi¥þëáÅåöýJ" ^˜Áž+_ wf›ÞðBdž÷*ð_n ækE Œ]¹ÐÖ/€×Ù»¾‰‘oþ¬ö }ê>X™}3çT$ÔCådЈv¨¬püÕFܲö¼Ê¢à^L…æË6ï@ãZ¢C·j yù"vµx­ÖD°(8¦ó5Œÿì³Èt›ÿ×@­G‚‡ÿ (<>Sðmƒ ¡÷ƒû.Dy÷½¹ìx÷îG÷@Ç‹ßôëù+;†äòRÙ^" ÕŽ›ããýˆŸÃ²bö»‚Œû0L7H´›À»@aûè]?“¦ ¦_E³~•Å”a‚ÅGqôQìûÚ[P>¸ëÏ9 í/z9h~¼ë3€;tÿ˜ý©Ýg½o÷¼ÅÇïÄØç^‰ÙDÛ)ç£ïW© ÏÁˆò„b¥¾ß¬áóÀáÕ4°£þöBÖØ?œ¦ŽN-¦€ œnr`'†ldfȼؖvp‘µÝ“Å(G¹\F*•нˆNa û¿÷Ì?|Z·tcã[^Ñ6>ð;ðä¡Xž@Ç €®3ž¿s…»oÀÄmŸ@qÏ^äO}%6^ùX-†–"ckE¸ìÀÓhÒõ…®úøÃ?\Wõ7°u0ű˜lVA³kÞ±)0dù]Çš$Q¨XÂQŽ¡¾äŹYU8áÎÁNg*ÌÁÂîm˜øÏÏbþ‘{ÝЉMŸ‹ÔÀÐô“à§®WÔ}¦È ­Gm'€Û‡,æ¼…Ÿ3Ûî‚ÕÞŽ³/Fÿß¦ŽƒHßõŒÀ° "‘JìÔQ€Ð@a۸篷¯T7 ¶*Z 2&¼„5œn4±²`}ÏBï:ÙÀBÓj€È\ûx[邆GN¹¨‰ ©TBè[¹/0}ûw0}ÇwàLL¢íy}JðÖ(Zwv7`4t1Ûæ<Ü…žÞ…ù{·cîñçqØ]}h;åÕü§Ï ÕÑ«VöU²Ï_ˆ˜½ÂL72-Ôg½`ÖÚMsƒ¢ÂuKAo»lúÆ@Hé€EFÕ7ÄGTÍ €Ð\û*ÙÀjá ,l6‡Âãw£øÐ-XØq#Êã{`¥ö#€ösÔæÓà.Ø(0Ü…8³9”&çPž|僿Ey|²0«³¹#OEçË>€ÖãÏ ŽËìëGL¶N–ý–,й {^ºVél4AU½ÁËøl{až³TAåulb`eý¹6ñ#OÜ–ˆ€L6‹]ÝzH-¢‰€ñ?? ,‰HÁîêCjý¤{Aîèç =´éu[ vQeUAú¹:û&µÓZ›› Píh%n‹ËùkpúË$|3Îf6Vüê7N’¥«êçÂ#Ë_ó7ÿgdRë„ V—ØJC¤³ l;¬l¢­"¦”Í!R¾³éÖI4ÕÐT‘÷bcý¥Ÿ(lf*^M €h*8ʒû !Åßk¨‰5@0Ó>æÉðß&{¦‡Dxá‘"¶8$;«Ú@sfO¥3UAH"áUñê|Èþ3†C.k^ @V&Áó—ñI/4 ð‚|¹Ùï'"eÞ!İñÞ8×gŠë¬KL`=tô¢„Ÿt\:ò`£±ž¢ù¹‰¦ÀômÉ ± TÖ>y_m¸\6r)FƆ2|½V3UCø ¯êŸmXð¬©0¬©Q$챦Y)Ÿ9²ÔÐH^©tÌ,Ò™ªµ5z›¹šû„ü”F…ÊÛÔ ²Æ›Ë°l÷m•—ˆåäòxÐ :S5ŽÕ}ßžº7Ý}T1§¸®ÏV&Øðܹ}û› $ `eRyË>Uq¦¢C¨*ÅCÕ}ëƒ`1£ó]m½´ AÅŽs®YÑ( žšÀ h¥+hÏ$Á/kìœÀ:&„ëÑ¡AÒË8Sü£§Ð÷XŽ#hb£æÐ¡L F¬,zußHÅ‘?‹°Ž‘³ËµùZ& ‚„‘@êú˜دe" ´7>?=IDAT0–£w 04@6ñ¾Á‡ÄÎ׳ª8ÒWíd’K³¥SŸÙHª^Ž=nŠÕdN+ôÇÝq¨òóyE}€@$•ƒ­¸à£D䦿 ;¢º¥ŽJ(æ=Ï 9hÜ d7¨š6£)YšÐ2áX60ÔtQ€7&(¤;üf¸%€Ú`XRì\|ª’ž%¡îÛWÑÕCñÇÕ"æû¡Q±ŸCO•e@ûÖ& ÄåÙñE LK5æ©hN \Få3 Ü’ò’Ò¢K|œ9ˆtÉ2+Ø„Z¾DÁF´†ÙâU·HÚÔˆ ŠùiøãK+µ`¾ÇË2PÞsìž²ÕíÎ…ÊÿY: ”JK@–T ÔvêƒlÌt°ÙÆÅzGòÿuRéß¾E‘¾þМäVwãrzµÞw£aäüØ4Tq;G„ïF€ÐˆvX"whÒ„ÕÄ£p&…É Pª”é‚Èv‚2] L‡zÍÊè;ƒ¤Bà`vƒJ󪂣qÓʱ³wC=Ä)j+|Œ(ÃgjÊñw/K< ³¡nQsé XNÇ]ýVµ o‡º8 j£”³£_­½'ÄÑðfø×µ¨ŠÆáNU8 T”j…ÈuƒÒ $vNi¯ºÈØß»ÅŒN@–´YYPvõˆ—Pku1ãÕÿ +Ò….ü¨X¹±ójyþ !²tô˜ú¬i÷ý¿‡÷î×@&‘ZÕþM$Ò t:>3X€,ù<—  ì];ÓÞ{Õ/€aSË–ÏJø¿‘ÝÈëXÂÿqÇ‡Ö èê7æ{/xAfÐî|ÎhÛ0(²Ý”Î{Ú£§íA©VåDµ‡ 'ê–YE{ˆÖ^•— Xxä:űŒÞ{C÷k~ñ/1¡ž§ö؃`~  ¡Ô+¼Å 8QØ1ÏÕþœsl:sÕEmCýƒƒVÇf¥9í1-u_¬Xí‘÷ÃÚö¨Çý˜ÛâΟ(_`çϾ»öÍÛ®qô v˜Y åÛ(dÖjS„­&p>„¦:^€[,9[?6þ0þðÇ s÷Ýw¶÷œR÷ Õ}ôÈ­¤t~#Y™!íœöjY9ŠÎ¼â=ðduí¡ 2²s t>˜ª« |ˆâäÓãFí ÿ)½ê—= X/Ì|)«y1B^’ðë Ñßôåé`zØuOä"ó9ǦÓßÿûöþTÏñEÛÀ¥ó›486‘Ðiú\œГɾ‡Ö"ÓÁ9°ÝÿágÂÛ€šÔ9¤[½¡ÇdC–CØõ¸nuß j÷|˃%gý%c¿~4îý_|¨³óÔ¿8i£hÛ°™2Cdç6bY©M 1„`hM =€ í÷ïr& îc³]{ø+²Ñ2~ÇRUz#Â_ T¼Ž×üç‹^˜±¾øÑWl¹µ›)Õê1¦››¬3è¿»òôÿz tO#4n³`±ÀXná/–‘4fè{gîúT»Å͆æ·åáuïÚ·‡a;\7¬‰G#êž–xNÜÀ{\x9C³?,_±SÀKüÿµý8Z„‘ÆF)IEND®B`‚./chessx-1.3.2/data/images/forward.png000644 000765 000024 00000001614 10622422464 017254 0ustar00nistaff000000 000000 ‰PNG  IHDR szzôgAMAÖØÔOX2tEXtSoftwareAdobe ImageReadyqÉe<IDATXÃí—YHTQÆÿF›`mYQI&FRP„hP´ødÓ"3.RèƒáRFOeA ‘¡Ž%eYäRŒM3’Jš9šc¨• iŽ#¦¤ñõÝ40{¢;Ü™s~¿{ÎÿœÃ2‘ÿ*²â/"3Ÿ¿. ÁͧV8ÒHêÎ` ¤ÄloDt7¸l”ãµÇz«rãú“÷JΖ ¡À\U Ý .•“5ù }è²Àžcúzb·˜CVËfU Ý¢%©&?Þ…ºL 6¶Û1CÞH¨ ØL@ið*¶u 5sœ / @Qðd#P­.¡&{Øë , ç%”xM‰;ú%&ýñJ¬œ¾+o²MÒÀêwh¹#MU7ÃÝ¨Ø <$üþŒ±ë3J¼Ñ/1©€GŸøx pžšR 1•;€òåþ9@1ÿú˜O)ñ‚ ”Èõ\bòM‡OŽÂë"ûzÀXW}¹/PFp©ŒEûþœ•”x§I=’˜jÓq O^M¸E¦N%¬”¨Ù´ž‚-oL‚ðµÌ5O¨£€]ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs11·í(RtIMEÝ<œº IDAThÞíš{ÅÇ?¿ž™ÛåNžÇC ""`!âÅ„‡h„X¡PCÅR+"ZFʨ@´*/Vˆ$”B$AS@ȃ¤RjT*¨C ‚0 Q^‚¯»}ÌlçéÙ™ÝÛƒ»åÐÄbªº¦··§»¿ýý½ú7ç®s׹닼$¿Akýÿ Hr!©/;ƒ_z€öY¡ C‰s*p¨ú’ÁÁ¢‹:4uX¼T«ùˆ­ú,èG‹ê t‹PL@˜ôĬˆ¬³Y‘º2Esa1¥ÌÕ›ôÇ-¥ƒ-P:ÈEXÌÃb –Sí~”_ mºB›ŽþŒ'>ƒcá³Í°s/ËïËH2[o×[¾P€2Q,^æA„*¥t†…>WÁù‚’ªm>ðعÞZæƒõW–Æb&ãçÍÖ“'e>w€ÒKzæy„ÁX@7`äxè?,;od‰Ü$of ë™ l«u àÓ¬X¯Âf¼~£ibÛ"幄^EèF¡w€cåç‚€Tapá Ásá­àíW‚n‡Ñ\£×êÍg ô”°EÚ7ÞÝzŸB¥q@Qñ.LÌø^}NÂb ×+ô޳PIwlÊi|û!hSž·pÕP<%¨ÂKˆ¶ =~V΄“ì¡ÃõËzO‹T]ç+ÝnÒk#錙erÙQ€”Ó€(Ô–•t“ÇaUUÀäF.¤R/Ô^‹”2a60ænhß)ˆˆù­ J…@ªÆ€çé®(8vVÏø‡õr=§ÅJ¥ ÍFÀ¡r(ôúê©Q§&è^¶O䀷Á–e Ôô‹z×é6-Ts™†Â¡+pÁ H'›°ðeÍ:£‹ŽÄVíÁMúåÄ~ø×ë0û-6þÁgÖMCÚl€›€t6®Ù/áṦÝ<ã¥Â~©¬_É<¶6,ƒÍf¹k± Ê{rW§¡Å®ÆÚa›€ú#°¡žÙ‚¾¼ýÌz¿V=GwGšˆ°š ™L{†Qó&>㥠öx}ܲ½`5úò!0ÿ=X» ꎚqRк7Øe Ë¯(` #²ç9·Þgfk5ÌyÝ·h˜¾{/ƒÿôì­/„bˆa–µ$dF {®é¿})ì~…QK¶£o»'ÿÒ ˜õlþc¸Vl«¢x€ýQøaÒÞjH†rà×·p0™Ì麡w=Ÿ‚¡?€êåP÷©K†:™£—)¨?«þWN¥ö¯)V\|IÎØ“Iøíй/I‡>„ħ`•‚*©(ÚMÈù蕵f´n GC»nZ´‹r§¤á ëÖÀC# +ÐedÄmX‘ðÌ”+àc`Îtå°cN§èxïHnNß„úƒ‘‰l9¤Ÿ^ש¸¬šM)–q&ʤêC+`ß^:~¯‡Ó©髆³þïµÐe¼³ ’'|ãàã“I@ê$lXF³iùÑ‚àŽºi:Þ7j7Cë+!ñ( T ¬V`; bNñ Ž“Z4mC”—[Ù\ÜÚgߥ­]xyîwðøè´©ôwéØxÿ8üp)zÜíŸ;ê¦iwß0ØW_ùZ$~µ"þU°_ÿâµ®ÅæEÓØ†¹(“›Ý]Ûh÷ýJNzƒ{ô¸;˜ñ·ÝPì¨ÿ„äqf¼¸»Qp'=v“®ý5ÐsXŽ_lÇϨ˜¹Û ìºâ¼UÖ –àD#—R¿þÉI¸t(‰_US…÷,™ÉŸ_‰=u¿É£`ÏëpÑÈ0•WÇDS²EÏyi`q¡š°Ű0`.5íq“ê‹ù»xa9l_K|Êõ$æ½BL.>¦zrÕ)§ó´&>õ\¯ë ³ÆÀ–õ^ñnÂ.ÛŠ*«TPmÁn V™©Ç}_dÅ¡W?ض’øÔ›ðŠH=zZc?üøp9ôí‹ eÄS9¾þÙX–ÿ¿Ë®. Sº! È.3€ÎóïvÌ_€3þ(½Ö—°§ÝÒ,žÖØÓo‡íÏAŸ1!°( ÛÛ6€KŒZ ÞêâuPD¸³×¿±ìž¾3¾'ÿ¬.ØæT`ûm;וãq_‚uêXØ7ónØ´úÞ˜£z=rIä"ê®ú}g‚s~s­¨ÖZ+[â[-ã{”cî%¡? Úl#N}¯…·—bWM<ýË‘ßëƒëSTì|ݶlŸ=UbÄÒòY³,3§ZWÜÛ¥˜»+®C@F|ìx(ß|[6TŒ†šg‘ŸÜ߸øÌš€› #vÊAd™6Ûô³m/>÷Œ_Ÿé¹[w!Îò,+f"ˆÈ.«’È¢=‰Aÿ±ðæÓÈϦ6÷³©°n>\vk„'ÌÛ õ-˜SÄXPY¦«ž6ÛÝ´œŒsÞdp¯E(Í1Û9æ[ER=ºlT?‰86úÁÙ>¸§¦ÃO ÛrÝ@6oj5L…änO%³[ôõ™<ø­‡ýóFý‘Š‚ŽÓïe0úQÊ•UpÅø0ñ”Ošfv32C?úìO[6/:Q,ÚŒ­AŒHxBÈZ6+7{M,)å‹Ù‹ýö~÷€6/Œt¦yS«U´½ì½q:³Ôý#7ô@œ5=|@š†"«þÄ|ulŸ!åT@Æ·}ÚƒŒçç[2æ¬x*ÀZãªA§Ò½3ù2ý¦K°J× ºKÄ… ˜oœßâÙ‰wrS‡:c¿žIi¸ajÃKšú:5Jÿhéæ³ÿúì‘ñ‰é ª¶¢ØŠëmÐ3­=]à|ÖŠH43ÓX‰fk‚Ô”Š$9 …):R2‘»Wà^°h­Ýf‘ Åä˜{K•à' ¸f‘n ”42u] ƒ*ÂP”)+¯nååàòûn)ÓT† °™SÏÿ¾MšÏž»Î]ç®Ïåú/ˆI ‰&@šIEND®B`‚./chessx-1.3.2/data/images/go_jump.png000644 000765 000024 00000015450 12144113023 017240 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ  ÌOÃŽfIDATxÚí]}pT×uÿÝ÷V+!`´1†Ñblˆ!F‹‰MÀ~†ÄI ±å$vÒ™L¼žqÇ™´“Êmg’N›±h§Óô¶¢5­]$Û;vLjƘ1®ñâaBˆ£xDŒâSƒÄÇ ì¾wï9ýã½·«]Àh?$í¢ûc«¯÷Þyïþî¹çž{Î}‚™¡që@QÐßú‘MlhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhT5á&¿ÿ÷ëkƒ0°ÁÖðß ¢^Àì•ÒAÇ_½½s¢@Üj•A?üÇï68fʆ°8bM „áV̘y•3Ê¿é~:Šzs\1Ç„@ì¥?ÿßDU5h•A·žüùÚ†É63D³aˆf0 ¡™S1mv—Ì‚0æÏ˜uÝãû.ŸÇÕ¡4Î=‡S‡Ïâ™K`&õ2Щ”h{õ¯·Ó¨0Ó^Wheæ@ª«"ü…Ïâó_œ‡;Äl4ˆ©0pí9Â}×ül¦¡^A`¤ØÆQîÃ'ÇÇ{Ž!uņ´Ĥ’m?ÙºE`<þgëÍ:je!¢5Á‹gcÙWb±ÑˆI¢Î½1}|½WÏ ÿèy ž»Œã÷]CÎ ¦MAhú|îîY¸}æm˜/fá(ŸÆïwÄ߃cK^™’ÑÿÚ°}§&À#úóu/F‹0Bá%³ñ•G–#,n‡ð&4è8>ùä8v@úrºèëø„`‹gaá½ó0{ê4ü.ñ â;z ¤³SW(úêßUÎÐpËà^øZ·'"³çOÇú'Wâ1 †¸ÀCˆŸ9Œ=oïG:å¸7Vâ×sÀÄ9ŸwEæbÑŠÏ¡ë݃8Ú} NZ&Áh}ío·oÔ%|ïgkŸ®TÛV[_zäû÷áÏ,É4|l‰XOÆËmt™1oÑíH]IãTO¿;{H«N»VFßøé{ƒšeÄwÿfí&ÑÆ»?‹o}ïAÌà Àû} ìykÒ)‰áӼцò@J¹³GÇý^¦%X Ž´}íÞOh”ˆ§~º¶AÐVSŒÞ»fûÒJLB Žðlyí$.«~þ@äAÙ.G%X¯mx'¡ PBãC Æë;÷b}Ó—€À»Çþ'^Ô–Þsó-oœ´%mGYoŽƒ%¸%ðŸ¬Ù\[WÓü­çÆýSá*lürÛÿáX÷é13õÅúJ¹Ÿö'i€¬±ªžßþË5›Ž>ñc «æÜ6^üï·Ðìü˜Žõ…û¹Á¾*pI~ý߯Î1,”µôx‹õt°ÞŒ.ÿÊÝX=g)Nã,^Ú¸é+vvZGê´úú±û…Qc@(=Õ‰XV©NvÅX€oþøËMB˜ñ»¿ÆŸjFCø×zNZVĘ?â¡À¤ãê¾ê@°Ñ¶ùŸcÏW¢¨˜|€@M°}J¨ѧ¾ÒxõÕw¾ì€É Êâª7- ØÓ À-ýɪ‡*Ùp+ýÑÊyò/Ö µèx}N: "W«O¼ïIPûšçÖ6TÆÝxôOW4ššÖ¥.@ÓäøU×.Ý:cʈJœ¦å…toh:=çÒ0Š3¥7ìaFž°[lÐ`¸d¶ÖÖñÍõ«ÐÃ'±ëͽ` °âÒDÂ.P0*×3qËšç–6h àaݳ+úšèƒO-Ã$Ôáõ›Aþm‘=ßw”t§c¬8gžN7èž×žé±¦g „YZaÁ¾I€PõmžÑ`C¶6ÔO†µ¬ Ûý[œ;}¦i–æ…“ŸÉã5€G(õ0b€èe!bÞ”2BB… ³›+˜9Îð¾ Q}2C7¯yniËŽ_ìœÐX÷ìŠFS¢÷}1® :?ÊyP…b¼ìðÅ IŠÚÃh‹½¸çzkö~Bdž5Ï-mȺf# ZxÁ¬á<¡4‹`"TƒIQ'4lAÍ ¬^Ý„_¾´Ý'QœígåÞy˜:k`´lýÏG”¬áõÈ_ûãF’[!2òP…ê—É'ÈD `n©ãwa£åžÕw"Å)Ù{ 7=‹ˆ é(HGÁN;°ÓRWÓH]MG·¿øá[¯ßëoŠwþcÏFy%mÙ©TÜ?¯R¥¨`ýüû‚á‰`ˆ°õƒåM–Ö–7sxɪˆ½ý‘û ¸8¹ö¡#²£½«£T·¿Ü•  ´ˆ9žÓ %ê)ØEÑ K&¶ Ãsñá¶>]SA9òÄIIHGFc/w•mõmÇ/öª W-ûŠÓ«l eËÌu Õ×7 áŠÖÄ%€RÖì;¦#±ïˆDŪ Éç @måèùùxc0E³$†$.]_O*²öÉñ Œ—`-ˆÌÅoÞêΚV/æ?RñÇdÏè5Rªu´”½Ü•iÙ&m ÇQpU°¾þ}f­ ¦5á`}ûžF"Ý6k*NöôÊX>B'Ë÷[ß{ctçÕ[µ²¢¤ ‚ "œAß ÄP¤"ŽŽÉa0pîôEw¡D*WHÈ‘ž(£ R2¹ó•ò›þë Ž­:¥CNV‘ê bW<_€\Ë0îó8+X,—/¥@Ì»1ÂU?NDÞ’Ñ9fº3:‰]ï]y‰¢ÀÕ*`0 šp€`¥°{KÂëýäʈYÜ¿W¶‚²ضnj¿y³{ II.\oOÀÊ0-H!2Ë´"s7FØ )'ÂF55ñ1žÂÆX¾#Õ;ß‚y!ïЄ#€l‰a¦ÐÈkØ›óÇ=NyÉ—¿Ýü‡¢ëò"ßXørffÀ3í"×F á>ªš€È•ŽTïaÀð ÜÿÄâ÷sÎC¹DñÓ͇Ýßvpg[ÏÊäÕ‹Ü3ÂTìrq^oŽ>þ£ÕÖcëW s{´È«'~å•mØýV7¼z’ŠGŸ]‰õ¬´r˜¯}`Þÿ›þýWص9a!»ˆU…N C€0ÀÂ3åfÞ”3‰U¥U믷ìk>w*š6'äuLoÕÏ·„8ß7ˆøÎ€9³øT ölíÆù¾AÜ6»!s_™åk™»Œ|îTñXO/ÉÉmål1Ï ^öõ»6Ñš:/£Àõ&¿ÃÕ;5TÚ»£øÀòGîj’ŒXÀtÇcÙW?!Ä#„G ?=]”¸,Ìyy þ¬ÆO`É÷u¤B2 `umïùÔPwÅg3Q¯b†t²ùf_C)@€¯g!ãûˆB™äg«’ÇÄîí=‰ÈWç73‰Cåz$ìwyÏ4›å­OÈöø<Ë üØŒÆw•ÝHÆÜ( ÎÄPÊ (YxÞ¿ßCh.‡^ñwî”’£Dn¬B1C Ýæ[žrI¦×{×ñ¯ëë!%Ú;zF-Ò9ö‹AŠ’$ c˜Itg 7¶âÈk~YŠ.öï<Ú!˜¢îƒÛ äiZ¸~…Iæ:þu‰¡íûwÕŠ¢q) [üP#¹Y¸BPñ†É F¬{Ç‘‡Ë¥ßçWÍ:D;˜^VpÆùåí3YgÏë*3´Åÿ°ëxÁ5…UQFÇ3&0“‡O…‰w)ˆ­E+/—~ví`Em¬pz*¯ä×/(€ÅÁ”5m1.`ÑsÿÅ š-î4ÐÈ™fL¦ìF IC"ݱ#eÛ±ëÎæn ÍèðÈ ?ý3ÊT9äG43–:2IlZ‡v/Ê㯠IÅ2À󘋒Ìñ !)eçÒ53Ë–esh÷Égˆ¸TÖð½³bõÍ—Ìò°ï–ÐøUc`áŠ9 DÈ·f ´‚ö˲•Š×M²­½;úË– rç}s7™D]ŸÀôDFYôU™-fPôÐî¾’<þª)'îÂŽ».ZêX:¬GER—kz|qvÙ|‚ú´ÝÂŒ¸;éð,O™ôÍÌ­¥6~UY€ð}sL1ßË6ŒÜPkñ‘FŸ` bhíýðTÉA”÷Ìl˜4b†)"9–À(A?Ïë7퇻úÊR/XU{ݱlÖGÂ{ þôÊ(1ÒFy±t÷9sœ:»¬D|`_qÃO@DüâÑBõÍ×OIÄzã}e›ÂVæ6Íx: Lw¾]d<à¦q‚¼Û#¯†Iƒ8zlÿÀ–BIPo .„®w¶ŒéÊaÄ/I²Š%dUûp21ÐÁ‚zÙ¨Ÿç_ºx¡\ï)•ÙÁË5ÅrPxJÖÀ¾þARÜÌ äp½Éófn¦¯‡bJÂQÍålüb0þ»„ÙÜB@§áyÅÑ=0 XŠ89\7⶜計WÑTÄ&Q)QÅ”dÎ\ Ì’_™SŽœ²Ý rЬ”„R*Güëåÿ\‘=¹ ‚Š ÀÙîcJR«_îå Ê,”+Ò]N.§ìdp4[>îÕ^ÿûö¾ÉŠiüÊð<œ9xaãÌ!KÕ l’ç ”ÙȤe+UžsöHvL¿3ƒ©=뻨üëvöN>ƒ CE½8’ëƒQfŠ3S6a¢Üëî™ ËlÅ%;HÑø q®FQ¨( ìë$›¢$‘ôC¦J*W—EüF!r‡†²’ 7ÙáHjSŠ@ž(‰$.ÕYã=Ý« ÀÙC YDH»9„¤<‹ZñÏÇ’ÊN¸plèy!e ¦€va¤#ýý•Ùøã ü4LŸ7¥I1bF^¥(mÑ0»™3 ÐzáÄå ¸…Pµ›E_Ï8î=Ã×ÿJ’̹è?mB¢¢_=tb(1sæL+…K0 Ëõ­¹¤ÙoðÜ­Z&:*þõñýýýƒû¯> ’­™r%Qð-™½eÜãY鯝 ø¸x&½HEˆ8N„ìn]…&b²9÷z¨ÀÐY™:k/SŠ[ˆ)IŠstD2üåÚ T|\½`oœbʰRÜj§TÒN©ŒE¸™Èa¢ÒÚÕªx?¦/:ì!ùD•âØHAU4 )ÒC²@Gmmm#ª™ÁI¶P[°T|Ü Ú^_»&@„°`„snF‹”2qK5è­úúxÑ!€¡™v544444444444444444444444444444444444444444444444444444444444444*ÿÊçpж#ÜIEND®B`‚./chessx-1.3.2/data/images/go_up_black.png000644 000765 000024 00000012475 12155032667 020071 0ustar00nistaff000000 000000 ‰PNG  IHDR88¨†; CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs11·í(RtIMEÝlà {IDAThÞíš{pUÅÇ?»{ν!Aˆ" FET’@›òl‹<¤h±¾:ã 6ÛJ}¥uµ–ÈdÆ‚¥¼ŸUŠ:ꌭmeZÅÚRÅ*"‚"µETyÜóØþ±{î=÷æHH´uØ™ßìÞ½çìîw¿¿ßow{àT:•N¥Ï3‰Ü ­õÿ7 ‘ I~ÑüÂtºIM½G# ©À¥Jˆ‹¢Eš&Û€µÀ+¼O½îûèR}ĹH¦!˜œƒTLW¢ÞT¬,­hâ\KP\޲mJàt \AÉDè5zõ5=9‡>‚ƒ[`ׇp( ¼`iMpô0Ô͘ÜÈÙŒÑê K·jºï̹¸L¢¸ø‡ì~kF‚Vð<ðSà·€×^ÊHªÖ/7À*&À«KM½oÅk‰•£6S²¿“ðµ[!8Œà_ÌéÒ…^ŒÃðØ¸ŒƒÇ[­dNÝ›Ëaìôìù¦jÉ]°aŒ¾!›±t{y“ö½ [ŸA0LÿQïé}æ"q98³ÊÎržÙ$cï0êæ48=ë.õcøÇð=Ã|àAèC2åÀ³e[ç{Д–ƒ¢‡%] ¸H Âc‡¯_§õËží| D þs9Œœƒž{_þÎþ 6ýªfÇ4 ¶ÄHm~k™¡¢éØü„hÎÓOg³Øq=f#q8(è ^³µ9¿­ÍD³íµÂæå0üævÁè¹÷Âð›`Ó"ØŸ²¬YÆÏùÍÖÞ,?° ZÕÜù|þ=Ow\ÈO «açcd±ÉÐJô@€£*:PQ‰Äl“>\ ©FËZ3M6w¯²É´Üû\»àZñ¼±¼–Ö0ldË=ÏBÿË`ד1{ŒÙ × ïBËP… 'СeŸ ¶Àá­ÉØã{kaÐ8Ž,~‘¤Ìß\í¾½LU°z¬žGÁTEí¾üÛɤ”¹÷yè;v?“ñÖA 4„wAØ Ò™•ÚéuP\%þ¦¿ )d H8 ¡¬ŠOîƒÞŽ›¿ƒß=µÕPQ½Gš÷½õGáç«Ðßþ^Þ÷>õ=ŠgN„Æ×`ÀdH± jJvmÔêS½ì•âέƒŠi›Gñ”½JÒ°bC^poúqË7àWÕ0z8œVi‡=«`ô¸¯1óR6>ÔæýÞŽKÃÒ:(,‡÷_¶Œ¹ z€ã‚rA&ÁqšO&lèáXP*²8K°ÿ‘Ý”¸‰¶¬½ö £/)6«¸´oÔ*Ln6‚ÃFÀ‡k¨º¬7âõumÚ)q4<´ ŠËà?ë-0ÇSH¤Ót2^t{šµˆÉMÜeÿ£Í”&“Y7z)Ä/3&Áý¶5$-ÇœLé¨(‡' þ”F?• ÒM°ÿP4ÔPJÙÜ™h:™u°> L PEÐÜôBp%»¶Ó÷Š$¼¼Æ–CáP³NÉ$¨¤Q-é‚JdÔ+ª+èã'ÀßÑ÷š$#ßÝ‘Õvi2 ×ÿÖhNZU ¸î¶“ð¢EõÈ"P% û€ì ·|ñv&¢'V-åà•å&LxîpH&36# ¹vW»ÁS`@9¿s!â‰û3í¿S·MÊ)öyeÞq’ œµ÷¢?(½ˆÐ]g¼ #-;`ðÀë°tìzʇ›Á 0*vºˆ•EtâWÖ#Ú:am!ÑÖÕP6n\³ÇˆÉPXlŸ±vRÃtí³Û:²B¦ÞrÎIw.l´ÿèVØ­á,Ìî>×}£rE âeìDDu±³p`+|°†N€žýsÚÓ dƒžÿx©µò¼y7¡µÖâ†/­$¤ÆÌx4(z†¯Äꤊu~,`ªíYR¶Ãlÿ*0"(ûÔ/õcqp»|Iú+IõœB˜Î£‚ÊBåˆÊaLdÄé‰ÈU»Øá7þ®± >žZÜ51™›Æý %¾Õ!µË”ËìqE¹± j!~\ßùpõñb2'v}æöœþd…Y€²Ô®;JÖyÔWgOP:nªòÊ‚á!ÅÂ.»Õ‹_؃LÖw-°ÖÍGë‘c%ã¾í³Ñœ°¹¥l '¾398 ¤FßñÐÖ.h¼æŸ!Ýf¡U9ë‘ÛÝ;„áB" ‰ö4^nÜDЉž!µ¬£øË OtØ ÝßveÂ]‡ ,ۡ䨌XtÁµk¢t­ Ú³—t`µ zÙÛ¸6ƒø²JÏp_÷]¾Ü~õù¨Âu}F^;r“FmÝ8V”2`ãAbf‚IQDÎÅDÛ¦ýèÔ%ú«¶tÿõÙmÕÃIê¿!dIúN"r n• Ò±*© k^ ”ŸŠ…?l09kPìÅñ§èÛWîìèõY§¾²Ð VmªPªÎØ_Ì1hm%¦z¡oÀ¤Z¡µÙäû/0Ïkmê³Õr#abü‰€ëòÄ’¥’O6ÏE2tæÔ+Ã`ÚùX¯­}ÚND`m0ô2ä kMYèkéË. >ßî¾~¡ž zj›µUÈ̶,²Au4Ú0˜­Ž¡W#õ,}Ç£{þ'¾²H7V3c®7ät oÇô^¼‡`%2XÙ`Ÿ À¬~j¯«&"Ô („°dÐBl'¤I=~ð–®ytýñ6ÎÝPÌ´'2–ŠâoQ.òõY£•0–yò¼¢µö; P…˜\›w•D19m¢N6?Yñ€”-ëÎ0(c Å™R9e•ƒË}F¦w“'ÈP6³Ê¹ß·‰N\œJ§Ò©Ô}é¿0ãi·aËtEXtSoftwareAdobe ImageReadyqÉe<³IDATxÚì] pÕ™þ»§ç>uË’mÉø’áÁ6ƘÂÖ.Ä ¤  ¼a­E–ÊBœ ![-Dz’-,E6©‰eC-Ô.ò.pd.ÛØÂ2ø–mI¶eË’,ÍH3£9úØ÷¿î[# ¤9zäþ]¿Ÿ4šéyïÿ¿÷_ïõkF’$ÐéÒ%Vtè¤@':éÐI€N:tÒ “tè¤@':Í\â¦úA†a4;¨_}vÈÍ0¬—üè*i àQÚd¨°¶’Ô‰­$Im¯¬òkuÌS]Õe¦üA à‰–=nÎl®!?Ö°,‹­—aÙTIöB·‰‚ÐBÚ>iÙT³Ì¯ Kô/;»ISk¶Ùj±åL&Ù§ JY°° X ¸9òé®Ëhu ;ùGÞ㉣äEˆX‚‚#„ñwUN¢ÀÓVˆÅ°iŽŽŒ4cû‹•‹ü:2@õ-Ÿ¯%MÉj«ÃßÍV›ìËDÑyf#¸‰¢Ý&Ž(wT“帯ú"ŠÃ‘(ôGy@ ´¡FÒ4>Vsõ6i Þqhi6šíêÇf }½Än|# ¢pì“Ò¯ÄÞñ8³€ˆ(AD¿3"?óÒXräÃ6ƒ|3iÌÄJØ ðÚÊÛúÃ1 –£7¦×ˆEÂôõH0€ñCÃ#«ªšt¤€6oý_Of|%UˆÝ2µg»ìPJ”n5•þ°£&úQöÑ rP8¯è‰ú19H’(ƒ|‹|¿‹•ˆ¥a!ãá±ÝC!b%xƒªEÀà±þñ—5é˜J`÷É4õõ»£†ÎJ2ã=&”9­Pb6Äΰr?"¢¬ðâ¢x)cw2µ@yÙºœC±¼jBA ë¹zÉ6IУïîÆà®Á¬øxpŸ¾¸ÀE yj”ß“¨Âù̺¤1A!Ï“„â*ÄBœðáL(Š ÇŸ¼i¹_À´iëžÛ¬.7 ÊCL>Ðç;èŒgÕ´Ž´8Óz‰âÏDÆšölGá’ PWáaEðËЃ/*@,<"Ç’Á@Ýc7\±EÀ´ñµwÝŽ¼‚zü‘€¾vY¡æ9L`2ã3>L|ùÉ(@oTÔ\!êBÈAÎ ‰EÀà´cÀ¯‰Ø4‹Pÿô×Wú/ylþpæÑ%ºw9På4C¾Õ÷ñ<™ñ'Èl?É{ÆÖ ä6‘ÓÆØH³…ÚM×.èºdð‹¿|¶Öd³c!Ѿ¾Èb„«ŠÝÔô«¾¾›(ýDXÈ%:áÂÂÑ]ÂÈ¿æéuË÷^r¨ÿ´Ó»F“M.ä,)tÃ+ŒAöõ˜³!ÿ„™qçR¼ „ˆâ†±©{lÕ‚¦l +«¿µkéo#öë-Ë ìTù*u†xhõó0L"<|Ï%À(“lè"ã`ó§GéÌÇ‚Ž‘\âšR78±fK‚<ôõûøb3ÿ~E‘—c‚¨œ¨ÁaÝã«§f rÂ<ôæÎ Vw>¦y`w8`E¡ Ü3ý[@hóÇrÎ×§0â¬ûõ-+›fýøù¢x#ùìJ2ó±`‚ùý™ˆídæó—àÊ‚^ ÃÃCÔIó®)²Çg~OT‚ƒÃ|J…<áÀ0á!m‡|_ù~›' §‹þlË+ȸ%ˆéó ·áÖëöæ<þ±å æùmf‡Óc$éÝueytæc~ßäáxPH‰ ý=§`¸¯—î­ÏÏõ8`nfå{`~‘ŒJA)‘b$=;Öç0‡N÷ _†%8 K N%˜®ÌXuy9¤ºîHò>³niWÎàæOÜdFµà@ :ß s]vú·΄ÅéÍ"´S”K9–U–òyå0«¨¬V+$GEqBá8Ð ! ‡ÃpìÔØÙÞ ­§‰åpæAaå‚´[…q€M›ÿìéšßß{³?]àÒ9(Îl­çLZáÚþ§‰®×Ÿàthz3Í{÷—ŸC…E‚﮾®\8Ÿ*g4OÌj ˜2°Ŭ+̃ÚxgÏØÚ¶å ‰«0¦EV,+¾ &yŸƒÑJ'Š×êΫG/šsiàÆ7[o#M3‰úéfëçÈ3è ñùûý±iwüØŽmPSj‡õ_[#GÑ‘¤ú¸ŽÄf³:Nž‚—?Þ'#̪ªN[Pú‹Ê¢h`X.ˆ‘x†Pís·­Ú’3.àþÿùÈmÏ+ìÄE1‡Û5³tQgDû»£Ó–x}mÛá™»¿&“‰Îøt‚¿ãÕ–íðþIÌñ® qii©вeŒ…ÃJPèÇMH>ÈV¾ð­ü¹Q ” °ûTí±ÐÕ°‘˜­ÉkÓež˜yÜ™ãv»Ó®|Õº à×ßtüõltíÙ ’]¤b,É0‘£‡Ê4®'Õ|àÝk‰ï¯3˜-Pìv@©ÝLwï|Nf>/ÉHMgšh_üͺ5°¦ÜCâÖ”eÔ¸p§a–XLdÜ EÙb­CÙj¢$Õ i®*°àŸï ƒ?ŠÑ¸”Î0›@ ܵæ(ecÐ×Ñž²1%ÉõšÀ}¯~¸ÁhqÔ†$êw˜Œ0‘ +(¦tñ„è¾Jÿ˜ `l€© Íf§Óg‡ÃA_G¿ŽAÞT,^óÎUìî¢ÛÂÓ±@İeÌ 1+ \sß«¥tшKíì‡zœñXð©tš!J^Ø;ˆ~?µ³U¢ÿÆ¥¨tTêðð0ë>NõBßPŽœŒ¿/Ïj‚²,,ɇ¥•域O}üdb ¬\}y\u t¶CÉâê4$’jQGµä´MšÀß5†È¬d&X˜o#ÇÂ~¢üàù÷)ŽÑ愳$£èïï§3Ú l9x¼ Þýâ0|yv"œl$å,n°-ªŒv <g‰?nënǸqaܺÊKguX‰¼“¡h4 7-];ßi…âEW¦Íí°N©©X”:¹eýÛÚ•Mš±ÊiÉL¼Ìe?Qб¡h|)-^kŠF3l?Ð7®X ûuÀë»A;ù>g ™ÕÕKÀ4A®nV^Λ;F|ðN×QØùÊ[ðÓo¬†¹å³’„KæU@¹©†û΂½°$=q‡”Ð*e–TY”ÔêþÔ²–äýXò…«æCUžvôGá¤iófð\/œ9°J­è2à)¯ ÌN¡Rwöð—`ôõÀÓw­£qÎîd­Æ‹oû$(YT è‡W D‘€²X4Ø_óâ=5Û4Q &¹NT¼òe.3ô9œÞüÜš_•«þ ¢Áa¨$¦þ‚,dÒ×*"&¼ç@ ßß ?»ó–¤€qóK`ëÉö”Ç9‰Ƕu¤™öÍ&ÓξÿÚv·Áh©3p&¸¬ÀE}ÿ>’óÇ#ZLÛÒÄ%›y)¹Vþ¼*ØÕ=Ç»NN¸r˜H¸Ð´°¬˜®K¤mœ YZ8d”9Ê>ë «•”ŠÕ,»‰Ì~ž–|3U%KcªÅy açÑ“ñ 2™ºº|“‚ “ýU€Q›õ ³Xi'V3”9mði_˜Vþrñ9fW|yòÜ“d}Lj0²ò¾ÿ´ŽY‰¥XƒQ•;]$šn08-¬ozÏM|À,›|‘ôŽð«„éå@OdÒÛÝ$ b0A] uð§ 7ù³–3Õ¨Qw¡Í íþs^*9F˜^âíg¡Pˆ‚ Ù-É€ô=&ÞGYöƸH³%+ ªQ…Tdå`×Ù H.g-à ‹4ÇÇŠbò(à3áö¤ÑgQd S#_l3Aw0QÒ)6‡wöâmܯˆËÌXNN¶ ’l’ÅL@±¿[º&+1À=/è&ãõ☋NΧ~¹Jx w©Í”ôû1[ðûýЊÁ\›##c—F—°õf‰^µC3‡ÎÅ”Ô(w€ÛÇ«ç–&½0„«Ž¾@ºâŒ32ö¸âK€_y÷Ë­jQˆ›FO¼ª/Š\¸ë6GMîÏÇòòu7­Ih¾èê£24îÄ@‘·7ãžÀ ñEg1‚DåÌž5ýG÷ÚÙn¨(/KzAÅOœ³« 2eø$éüÌWô€T™q *¾Çmá '‘³(È= å[Cç`ý­_£Õ½d•ßÓÓ‡úP¸´0#àx@‚7ã ð¨&(å3äž ˆ ‚ÿÔq(‚ðËoÕ@yI1Œ(?^ŒpGÑ›­uk²dÞŒ <™€(Ç8û•ßA‹ <® ­Û¦*^b`…àö++àÛ7ÜHKºÉ*‹àÏûºÀ±À{ÁØ3å»Ú,Xåƒâ­–nîö†Pç!˜í0BÕìÒøës/+‡<§–V”Æ·„%ë÷ÕÛÈ~û—O bϧ+Ä Ži"¹gÃŒÛjÅà,v„M·¬€ÕË–ŽŠìiÝžøzä r²g²„JßÛÑ -ƒP\}mFgÿ¸rŸ¦ë™N0:UZ­d¡>X·¸ Vy«“®ê]læ[,ªüÝú¸çWSߟ鲇4ܳ&T¤´FƒCP½¢*%waÄÊwûnøÍ{{ÁVQOaV–¼Ç®d‰[•´’Šãœ>YÂBn5G7ñÂÿ}o·÷‚e.Q~ᬌ¥}“{Ö\@âÌך˜j7Ôs0ÒÇàðÍO[á¿v„3‚òzÁHkþRÇ%/÷ŒÇâø­V²zûX’ïÅœ•®.î9qÞÿ¢>9Þ<ÎòùPHfý…ãÌÚ¸åž5’¶-HI'$8ëÿüÉnxeÇz?ðÀ_–²*("m*fÚŒ³ç}‘¨É@îFò}9Ôãƒ>c>8*çA±rJÇ…ãÒ i)ÀS¿¼c&¾VŽo'¶qp8xþ˜ù$,¦u¬Ñ¢éjv¢œ•ßÛ2H¢OËYçô@GŸ?© žøžXW4š›ñY!nyiëË–¨Ñj@J>×õOöW¼HóÛÙÇÖ_²fè5ã»`Î[ Jb&`  õ Mñ@Iùwf#lÓv@šT8‚ï%È! 0ú‰¦S½Þ”o kyðæm’ ’`KaAá4Þ 8žÌLVwöRЈÚf‘F³ @ËOnÞ–q  !ÚÔAZ[ Jv‡²ZüéðG x¾Gó. ^â‹AV B‹ÈóÞ }ËjC‚¬É ]½=tVc=_„q @¸ÐÓ}¶îìÍ…û㥊E•6Ò’5ƒßBx㨂‰F„htÀ®}íPÿÒÿÂ:ï"¸¢bÖ˜÷œè€Ã§ûá­¶£À9ÜšOÇK»I›EÄ¢-¢rȱh’‘‰÷°+Éu–Mžª°õL'¼ýz+ð#q¬„|—ÙS ¶òB€d «>ŽNPž9憧€isýs[_||»M>:Õ`4k3ŒâPž0 ГϚ·ÿÃ-·ÊÂ2i”ácßjYEñŒrê5“Ã7‰jÊÆ‘*Ö—Z‚æé^—›>2¡™æÐJxʨ­†îˆùü$€â) Ñ0pV‡l±Hkrä€ ±ðÆ3m¤ä”°åO¼ö¢Ñ™WG¥–Õ€+@¿ê> >Ë+ ¡Àe‡"§œV3ïõÑü¿­«:†b`/_æüR-j^öå6$ïoŒ 6¶nþÎ÷’q  |y£rj•f²‘Ìr{¬¿zÜwó7éöo5UEa!€‘ñµ–Ö/áWoì„!Lµ‚1wÅoLÅåSö¼€åOoÙC/çoR1˜­YûáÎE.øù]ß 5€‰6‡â8p«÷®}‡àM€gɵšŠ_$õÙÃayû: §Á´µ>R{õx.bÒÉR +T Z9ñ ÅñŸƒ;¯_?áû«|+Þ´üòE°²Ì_.œj–²g¤ {¹­‰db4”c<ål¬ÜæyÌ0oN™\çO"ÀBKPQ’±P@uEnb4Jó~ÊÑpçžGk›4¥2X'†f›ñ>@ Ç&}à£]‹puE O´0†‰™žšÀ¾ÇïiâGFZ¤F(««VXÇÈ WU–Mꦴz}û:«TÀÙ#·ìû§»›R©³”G;DˆÐ)‹[Å&» 1èÖšÀ›?ëSý=)d̾ͷo"#„YŒEeäµët>^¥ù¿´”±ºèæEƒÅ&ÞhÉ„¢çNƒôcx¬ï·»#fßXP–Å‹Šâ£òÌ•š¿8ðæo÷N6mÔ$(67o ÝlDÿ,ÀœÕÅ" $ú£ )…Â\ç¯;öÄM“»œÆ€TùÐKX›«Qv¶Ñ@P²…¿•,ÁäKÊ:¿júÅp ®ó™{›&ÙÒ¼M¯ã&uŒ €ºŽ'ïhšÚesHs~Ö´µ8dK Ü‹Þ%ÕÊÌÌÒ»¨Ü— {Šâ%%ß#Áº“¿ÙÐ4u\åæ>òß²%0&@}ð#s‰ JPwâéo7MϰäÊ7þq)c´¶=ŒâT‹Š%ÈY×ä)ûù%5Ú—M¾øpMwÃ÷÷NÿërH³þJ…R3c²y/%HÑI‹™Úî_¯ïJÍ×å(Jï{ÖÍXÝõ¤'YkBš¨®Ä¡ºF£ mê%e<Ø£i4H#Cõ=¿{Пº¯Ïa¨Tò`ãmÔ%ÌLø0Í;ûì÷¶¤þëgŠÿþn2œ0Zêd— —Ž!¡p/ ©Áb¦]D¢ÂM½ä)-ÄÂØÌÆÞû?=Ý™!P©hãËø ¤z€š¹õ} ßÝ–ÞîÌ0¨Tøã?l ]¬gŒ¦Jú½ªEP]‚Z7P60L‚‹˜°›ýAšàׄ£pT/(»ŽUS¯y|¤“ˆ¨¾ÿù6e3q üä?“Å;Zñ@,ÜÆÓÐÿì½M™5H3*åÝÿûµDu`4ÕÉÙ‚š6rI'Û_i|¨&_5õ¼êãcä+_øá¶lÈå’@4‘`j³ÔÒ6;h!‚wè6>·ÁŸMy\r¸Ü?úX‹5’Üz™DÅ3“Ó{â êqlŒ$bP×B‚¾ÿ¿ÿȯ\Ò?nÄ,Â+ƒÁ#Æ HþéZ¸yÅGô@Ì6ÿóuÛ´<ÞŒ@§™A¬.:éÐI€N:tÒ “tè¤@':éÐI€N:tš¹ôÿ ër HæõÔ`IEND®B`‚./chessx-1.3.2/data/images/hint.png000644 000765 000024 00000117433 12452032267 016562 0ustar00nistaff000000 000000 ‰PNG  IHDR\r¨f pHYs  šœ OiCCPPhotoshop ICC profilexÚSgTSé=÷ÞôBKˆ€”KoR RB‹€‘&*! Jˆ!¡ÙQÁEEÈ ˆŽŽ€ŒQ, Š Øä!¢Žƒ£ˆŠÊûá{£kÖ¼÷æÍþµ×>ç¬ó³ÏÀ –H3Q5€ ©BàƒÇÄÆáä.@ $p³d!sý#ø~<<+"À¾xÓ ÀM›À0‡ÿêB™\€„Àt‘8K€@zŽB¦@F€˜&S `ËcbãP-`'æÓ€ø™{[”! ‘ eˆDh;¬ÏVŠEX0fKÄ9Ø-0IWfH°·ÀÎ ² 0Qˆ…){`È##x„™FòW<ñ+®ç*x™²<¹$9E[-qWW.(ÎI+6aaš@.Ây™24àóÌ ‘àƒóýxήÎÎ6޶_-ê¿ÿ"bbãþåÏ«p@át~Ñþ,/³€;€mþ¢%îh^  u÷‹f²@µ éÚWópø~<ß5°j>{‘-¨]cöK'XtÀâ÷ò»oÁÔ(€hƒáÏwÿï?ýG %€fI’q^D$.Tʳ?ÇD *°AôÁ,ÀÁÜÁ ü`6„B$ÄÂBB d€r`)¬‚B(†Í°*`/Ô@4ÀQh†“p.ÂU¸=púažÁ(¼ AÈa!ÚˆbŠX#Ž™…ø!ÁH‹$ ɈQ"K‘5H1RŠT UHò=r9‡\Fº‘;È2‚ü†¼G1”²Q=Ô µC¹¨7„F¢ Ðdt1š ›Ðr´=Œ6¡çЫhÚ>CÇ0Àè3Äl0.ÆÃB±8, “c˱"¬ «Æ°V¬»‰õcϱwEÀ 6wB aAHXLXNØH¨ $4Ú 7 „QÂ'"“¨K´&ºùÄb21‡XH,#Ö/{ˆCÄ7$‰C2'¹I±¤TÒÒFÒnR#é,©›4H#“ÉÚdk²9”, +È…ääÃä3ää!ò[ b@q¤øSâ(RÊjJåå4åe˜2AU£šRݨ¡T5ZB­¡¶R¯Q‡¨4uš9̓IK¥­¢•Óhh÷i¯ètºÝ•N—ÐWÒËéGè—èôw †ƒÇˆg(›gw¯˜L¦Ó‹ÇT071ë˜ç™™oUX*¶*|‘Ê •J•&•*/T©ª¦ªÞª UóUËT©^S}®FU3Sã© Ô–«UªPëSSg©;¨‡ªg¨oT?¤~Yý‰YÃLÃOC¤Q ±_ã¼Æ c³x,!k «†u5Ä&±ÍÙ|v*»˜ý»‹=ª©¡9C3J3W³Ró”f?ã˜qøœtN ç(§—ó~ŠÞï)â)¦4L¹1e\kª–—–X«H«Q«Gë½6®í§¦½E»YûAÇJ'\'GgÎçSÙSݧ §M=:õ®.ªk¥¡»Dw¿n§î˜ž¾^€žLo§Þy½çú}/ýTýmú§õG X³ $Û Î<Å5qo</ÇÛñQC]Ã@C¥a•a—á„‘¹Ñ<£ÕFFŒiÆ\ã$ãmÆmÆ£&&!&KMêMîšRM¹¦)¦;L;LÇÍÌÍ¢ÍÖ™5›=1×2ç›ç›×›ß·`ZxZ,¶¨¶¸eI²äZ¦Yî¶¼n…Z9Y¥XUZ]³F­­%Ö»­»§§¹N“N«žÖgðñ¶É¶©·°åØÛ®¶m¶}agbg·Å®Ã“}º}ý= ‡Ù«Z~s´r:V:ޚΜî?}Åô–é/gXÏÏØ3ã¶Ë)ÄiS›ÓGgg¹sƒóˆ‹‰K‚Ë.—>.›ÆÝȽäJtõq]ázÒõ›³›Âí¨Û¯î6îiî‡ÜŸÌ4Ÿ)žY3sÐÃÈCàQåÑ? Ÿ•0k߬~OCOgµç#/c/‘W­×°·¥wª÷aï>ö>rŸã>ã<7Þ2ÞY_Ì7À·È·ËOÃož_…ßC#ÿdÿzÿѧ€%g‰A[ûøz|!¿Ž?:Ûeö²ÙíAŒ ¹AA‚­‚åÁ­!hÈì­!÷ç˜Î‘Îi…P~èÖÐaæa‹Ã~ '…‡…W†?ŽpˆXÑ1—5wÑÜCsßDúD–DÞ›g1O9¯-J5*>ª.j<Ú7º4º?Æ.fYÌÕXXIlK9.*®6nl¾ßüíó‡ââ ã{˜/È]py¡ÎÂô…§©.,:–@LˆN8”ðA*¨Œ%òw%Ž yÂÂg"/Ñ6шØC\*NòH*Mz’쑼5y$Å3¥,幄'©¼L LÝ›:žšv m2=:½1ƒ’‘qBª!M“¶gêgæfvˬe…²þÅn‹·/•Ék³¬Y- ¶B¦èTZ(×*²geWf¿Í‰Ê9–«ž+Íí̳ÊÛ7œïŸÿíÂá’¶¥†KW-X潬j9²‰Š®Û—Ø(Üxå‡oÊ¿™Ü”´©«Ä¹dÏfÒféæÞ-ž[–ª—æ—n ÙÚ´ ßV´íõöEÛ/—Í(Û»ƒ¶C¹£¿<¸¼e§ÉÎÍ;?T¤TôTúT6îÒݵa×ønÑî{¼ö4ìÕÛ[¼÷ý>ɾÛUUMÕfÕeûIû³÷?®‰ªéø–ûm]­NmqíÇÒý#¶×¹ÔÕÒ=TRÖ+ëGǾþïw- 6 UœÆâ#pDyäé÷ ß÷ :ÚvŒ{¬áÓvg/jBšòšF›Sšû[b[ºOÌ>ÑÖêÞzüGÛœ499â?rýéü§CÏdÏ&žþ¢þË®/~øÕë×Îјѡ—ò—“¿m|¥ýêÀë¯ÛÆÂƾÉx31^ôVûíÁwÜwï£ßOä| (ÿhù±õSЧû“““ÿ˜óüc3-Û cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF”FIDATxÚìýw”$Çu&Š7"3ËWÛ鱘ŒÃ3ð–€H=!JO¢(³å)íYéHû~KíîÛ·|«Õ{ZÙ•=”YiåvERHÐs@Þ» 0Þ·ï._•¿?ÒTdV–ëîfÀŠsòtuUuuVfÜï~÷»7nR ƒ1ƒñ½9hƒ1ŒÁŒ Æ` Æc0cƒ1ƒ1€ÁŒÁÀ` Æ` `0c00ƒ1ŒÁŒ Æ` Æc0cƒ1ƒ1€ÁŒÁÀ` Æ` `0c00ƒ1ŒÁŒ Æ` Æc0cƒ1ƒ1€ÁŒÁÀ` Æ` `0c00ƒ1ŒÁŒ Æ` Æc0cƒ1ƒ1€ÁŒÁÀ` Æ` `0c00ƒ1ŒÁŒ Æ` Æc0c—òØ·oåóyÃq&¥dBkddd·eYW†±s~cl5ç|Œ1–眧c ƘÉ30Æ)¥ Ü!„Ž”ÒBÔ¤”e!Ä¢bFqÎqœõzýP±X|¹^¯K&“6cLV*@ìÝ»w0‘0Ðà &+•J­Íårw%‰MÓÜiÆFÓ4WY–•æœ7o.QègôqÜÐçƒÿØÿ)¥D£Ñ@£Ñ(Ù¶}¾Ñhk4¯”J¥§ªÕ곦4Ø{÷îuwmƒ±tƒgRR¹\nG6›ýH"‘¸É²¬+’ÉäZÓ4 "‚ôkèýŽ(0èàà8*•Š]¯×OÖëõ¥RéñR©´À)UÕ½{÷ÊÁ]À`t6z gÆøÈÈȇS©Ô{’Éä5Édr½eYL7tý±R*ÖàW âæˆÿ?u ð!Ê岨V«Ç+•Ê3¥Ré›õzýasŠ{÷=€ÁhþH2™\›Ïç?žN§ß•N§w'“É!Îy¬wïå÷•vó#ú|ÜïJ)H)Q«ÕP*•¦+•Êó¥Ré›Õjõ«¦÷îÝ;?¸ûø^5ú”aëFFFîM§Ó÷f2™ëR©Ô0c¬+¥_Š·ïºÍ‹v¬ SÈ ”B­VC¡P˜,•JO‹ÅûlÛ~Àù½{÷V³bß †?644t}.—ûél6{G*•Ú`FG£ïÅÛ÷bག@/s¢è¿Ç”årÅbñõÅÅÅo•J¥ðÆÞ½{g³do»ñíoû²ñññ{3™Ìd³Ùk‰D–1ÖÑØ;yý Eù/DHÐ)³ ”B£ÑÀâââ|¡Px¬X,þ/Û¶Ù»wïéÁ¬À%?zè¡m£££?–Íf8“Él³,Ëìäåû5ú mð+ÉÚ€?lÛF±X¬-..¾P(þ¡^¯mï޽dzh—Üxä‘G¶ ÿd.—ûx6›Ýlëdð+ï÷tã#Ÿ±ó _] ÝO)%ŠÅ¢˜ŸŸ¹P(üm½^ÿâpIŒG}tÓðððOf³Ù¥¾otK1ü^ þÍb½Î™nÆß!P*•œ¹¹¹— …Âÿð€àÌ`– à¢=öX>—Ë}2—Ëýl.—»Â0 ³Ã_ŠÑ¿Õ´)À°&à×8Žƒb±XŸ}ºX,~Ö¶íû÷îÝ[̺\ã…^øH.—û•\.w["‘H-Çð/”ñ÷{Ÿ/ÄÿYŠ6 WÚ¶………ÂÜÜÜ׊Å⟾ç=ïyd0ûð–§žzjÛÐÐЯær¹I§ÓCäYMœ±/Õã÷cˆoÖ½\‰sê…´…jµªfgg'þ¤Z­þíÞ½{OfãÞÌÁ8ðSÙlöWóùüÎ9—R¶z/^ÿÂÑù¸û*;eø\XÜ;.XØÐ Ä=W(ì™™™§J¥ÒïÜu×]_LË\ðñüóÏ_‘ËåþC6›ýÁd2™ŽóôK¡ý+cèJ Â3v @ %Ü÷’ þŽ´¿U ¦+ï1qíy€È¯$0ôèïm4˜]˜ŸŸÿÓr¹üÙ½{÷žÌÒ\¯ÿÚk¯ýH2™ü÷¹\n'çœû"U7¯ßOŒß‹Á»÷Ì7p€A°Ah@É* À;( þVEÀ£ièŠPÀrJ”„‚À„À8ðeB»õ}°ÇËåò¯¿óïüö`º`ÅÆÆ,Ëút6›ý…T*•ñg¸îñ/¤×WJF ÞT„:HUTÔ@Tƒ²+¢ i œy@U§ì‚‚¬AÉH:€l@) ò`€ˆÌ‚bˆYP”ñOƒXdŒ€™y0# 2RP* E) Œ в€ W6àUªéééÙ………_¯V«5È `ÙãàÁƒ·¥R©Ïär¹w†aê±þRbþÞ  éå•j€Ð¡ReEÊPN Ncª~Êžœ9=’e0ªƒQDD6ˆ\¶&\³TzÏî+î>V”2¡À¡¤‰¤L@² `æ8È%ÖÀ°F@fJ¥ä (…¤Ë`já[1ˆ"‚”óóóÕÙÙÙÿ],ÿÛ»ßýî׳x}ÉÉI¾¸¸øÃÉdò?g2™mŒ1¦Sþ•ôüá{ Ïèë TµR%@-©Î@ÔNõs ú$˜XcpV£ˆ+9 2ÆA|0F>ây€å–( 0Ë£ïpAA5Yd%(¹8‹€˜‡rf œ9À™‚’J&!¥!Ó* Ɇ ’«ÄZðäF©q€†ÊAQ .CpÁ É –Ó(ôÅbQÌÎÎ>S*•~­V«=|x5ýçl6û“–e%õn;½Rÿ~ _)Çïj€,‚h ‹h”NC–AUŽ×¦`ð ^,¹”Ú Jl¬Ë2Ûy›{KÝßÒöBdÅG€ú1¨Ú¨ÚaHaC‰‘#ò© }9XvÙË 1`вPH‚È XA¯@Ð-ðŸó«§§§ óóóÿo¹\þÓ½{÷³|±ãõ×_¿Ê4ÍßÈd22M3ˆ÷ã<'Êß›¨'<ï€ä"sö$…7 Êo€ 'a±¼f °ôPj(¹°Ö7­—bïê…¹@Š:0§¡j¯µ× Ê‡ ¥‚´SpT 1 •¿ ”Ý+¿Ì\ Ec^ˆ`z)ÆþztýûçéµÙÙÙ?/ ¿¹wïÞsƒÙ>€Ð8zôèmŒ±ßÌf³w0ÆB)>Ýþr¿©æ7@ª RM霽ð Tñu˜µs0ù" ^KÒ»@™]@bGذ©µWK£þ±Ì€º‡*õסÊ/•PõsvŽÊ¡!†à¤Ö‚r;` ]3³J­‚bCX=gº€”2$...ÚsssÿT,ÿ¯{î¹çè`ÖèÈ‘#÷†ñßÒéôœsRJÅ}§.¼Ý'«Kõ ˜\©iØÕS°ös¯Ár&a²¸QÏ^d®e®̱oOÞcÕ!Æ¿÷UQ‡çUä_{ïµgò På—€òë2á¤ÐC°­ÕÀèN˜Ã×ÂLo„Â8BJ úcí 9;;ûµR©ôé»îºëྷ€Ž=ú>Ã0~+•J]Í9GÔó÷šæk?1ܼ}¤\õ“¨Ïíf áLÁ¤f,}9¿”½02ñ”ž4ãêDõ/D¡aÇ×=PmC”âsP…gÊiBØ)4Ôæj`|7¬‘k`¤7AaÀFÜT"Œ®éÃniBŸ ø£T*avvöÛårùßÞqÇûð=úÝ;ö~Ã0~'™L^Õ«Çï&ôµ | *‚0Õ8ƒúìK3/À*ŸAÂX„aTÀÒk¡A¹[#×4^BoÞÿÍ\¬z|^ʼn†D(< µø4P; ),8vu1ŒFvhüZ$ǯ™ëZ ‰,ˆ…ÂN{´cår³³³–Ëå_¾ãŽ;^À÷žñ¿Ç0ŒßK¥R»;~?ž?lü •AbŒÎ£:û2œÉgaÌCʘ‡a”À-¾4|X§~Ô¸£b_ o(DµÕêg€Å'¡ž5™€c§P#pF·€¯¾éñk¡°’È­# ®×¿×Ào—J¥_¾óÎ;_À÷Èw>~üøŒ±ßO¥R7øKx}º¿<ãWÞbœ:H-‚©IØå£¨O=œyi>‹Á¹ Êo¼È]ëÓ‰f9~Ôà©Åï1ßß×mÖFõ¨ô$j€ ½Åù' Š‡ „!L4de1 l¸É5{`¦/‡bk ‘Qª ûR©¤fgg¿V.—ùÎ;ï<2€·ù8qâÄõþ •Jíaïogüq´¿}êÕé« ˜šÃY”'Ÿ…sæI$K§‘4aò ˆ3ÐèÀØí€9ê-ªó>Ÿi €úŒëi©Æ~CÕ&,ðç$W(œ˜yÊ©C)¶H£ê ¡žÛcÃmȬ¹R­…bãžHhv}:…R6—F—J%1;;ûùb±øÿ»ûî»Ï àm:Î;wy½^ÿƒt:ýo‡ÜÁoéÆ_©ç!*GQ9ó0èäËȰXfs€Ô*Ðø;á[ý"¸¦ñbbÄ«ýçTê* ¼ QXx˜yª: HG˜hˆ JrØt-Òëß žÞÐZHd<6°4Ð…A¥³³³^©TþãÝwß]ø^± ã{ì²µZí?¤Óé÷1Æ ?Õ5úN_<ÝPªæR~œAuîÇ„5wic&«‘ ÊíÆï2Wx³\£`ƒ!ÍX¨í«>¨ÁrBÈ¿Pþ]$ :wÕ^ÔºààÙâë0¤cL6P9ZAyqæåw#=ºD 0 áu8umÃ(°ûÅBù|ÞBü”â€ÿwÀÞ^Ãøó£V«ajjê‰J¥òSwÜqÇk¸DÇäääåµZí/“ÉäÝ®·÷ü¨sò¸J?¡&Ï¢¶ð ʯ}É©×3a™u·ù†¡€±[€5{ÝŠ>?_¯wÌÒ•~ýÿuKá)Õg«XÞÛæù^¥½Ö æü¢€¥¨ù={a1Qð…@ýû(œ2p~0û´q ‚Ru;‰¢3„úºÈî|?û h$rA† ´ ´ô 3;;û÷õzý—÷ìÙó¶ßÎ"`ª\.ÿJ*•ÚC^Ò8NáïVYÖ|NB)ŒŠ`ò *s/¢òòמ;‚œY„É`J†F®VÝ ðTsVûF<ŽZ`L)m'ƒ ÅÏ1AŰƒnÌ ÅiSO¯E¾‡^ÏÐIH ¼¿j£ÀRîµ `öES G"Áj (y¥FrW©1¢uP*"Ý|›~ïõf"ÉdŒF£ñ±F£ñ"€?0€K,îã7>™N§ÿ»iš9_ô‹zþhùo{É­ìcT“§Qž~Õ—¿ŽÌ dLnƒq Ú¬}ZÝôôÑ?ú¼êDïÛuè§jUæ;Ñ.Eþµ ­C 6:@›p¦} % ÐBƒê$pî›Àâa@ RlÇBÑÉ£2¾ ©«?€Ìª› Ù/0; EW Fk„˜ššš. ?~Çw|k—NÜ+çü¯’Éä•zÜß­à§½ñ»1?WgPšz•¿ŠÜâIäÌ nƒ1åzXÿ^ ·µÒ¯zSû£êx‹¡ë_EX€þ¼ê¬¨^ã}ß«S( >áø‚Ðí¨‹8 x8û- 2íöF•€¶ÍQ9”Æ6!}݇‘]u3$[…<Ú-&êH)á‹ÅµZ “““U*•Ÿ¼óÎ;ßv”¾íBÛ¶ó~Å4ÍíBˆÑ·£þÂ¥ÏøÏ¢4ý<ÊϹ…ãÈš%ä€AzÝ­80v¹Ü™*F‹Šum³gÔ,•Õ:0tÍè[~×À3Ôí15+™oì,"hR+Ø©6J&Å0”8Ì\ŒÞT¿|A “€¡ÎGéù¯‚näÈŒ$#(ä¡T|‡Þ9( ø=,ËÂÐÐÐmŽãüüÑ£GÿÖ-[ä.ÞÁOœ8ñ“©TêCäU‡,¥__Óøme<òÜK(=ÿäfŽ»1¿`J6çóè ÀèõaãWmâ_ÿ JC¨·Vú{"¯út”1Ư:h]5´Ö*ø‡Ð§&kX hª¥~í{IaúG®ªÓÀä³Ás.(ä¨ uþ8ŠÏtSÉQ(¥Œ¶[­G‹„¢z@6›MT«ÕŸ;{öìÓ[¶lù—\¼Ôÿf˲>ešfƧpQ¯ßÍû7cCáù¨)Ô ¯¡øÂW9 y£ “ 0’Í8>³ÞþTΡE˜“­¬Sx÷s}žEsÙ†:Ç€ìÃóS `Ñç5€l‚‹ º­dìŒ\”ÎÅfÙ>S³‘“eˆSGQ`÷ƒÝš€•3¡°Vë-@]Y€î0¤”àœcxxx¤Ñhüê#<òÂÛ)xÛÀôôtV)õ‹¦inRÿN¥¾ñ»Ñ¸µýLÎ@Ö`á…/#uâ äÌLj¸´ß÷z¤€á«ÄˆÞ×YuIÉ©HV@F½¼þ3b ²M¼Üz•|tÃfmž£˜Ã¦éä… ¤1„fÐ TøÜ­`äj´?eJ!†P„8ü:¬¯`üÖ4˜eBÒ*´niÖžø?cA(Ïçon4ŸØ·oßoìÝ»×ÀE¤ú/,,Ü›J¥>JDF´“o»Ø¿èØ^mÿiÌìÿ*øë1d” L÷\LÃWÃW¹^Ú+ñ‡ô&·ŒPRÍT jçíãŒ^…]F _¶ù©K™µ*¿®} Pš¤ªL5m³“÷×€G^gL3z]7ˆ‹Ñ´#E® b²û€â `öUl¤û?™#‘`6†Y S^Â\2ƒ‰›³PH@ÁÝì¤]f ]ZÐÿ™Éd¬r¹ü‹Žã<àÁ\<Þ½eY¿`šf¶õïû7=¿[èÃqÓ¾±ÿ9LPIj€ëÜ™ð¿¢iÀ£h·šlõúQ£Wʱ}ê/#Æ-:A"5ºjx(;¤FAÙñž³q¡3]œ„ªÌA§€…S ùã Q±6 À´ƒ0©éf,Äi%B{펺5º$’°1†"&Ÿy3ÙaŒ]u/$ H•G\z° ðŸ7 ÃÃÃã¶mê‰'žxöïxGiÁw( ŸL$7!¨Ó²Þî‹{$09‰…“O¡þâ“‹H™ 0&[ãâü6 ·Ù5TB÷NºzŠNj¿Ë¯/U¼Ñëÿz¯«‘­Àø`í.Pf¬s†±KÚW¿Flh50´X{eÎAž8T8ãj}¼ :Ë\$) 6tÒ¤÷÷JÙÍî=˜>Ö6àH£1QÀÌÓ¡[ƒÜ†ˆ¹»Åe:e·^ ‘H°t:ýÁ¹¹¹ïðx‹…¿'Nì4 ãG9穸%Ÿ½4î ¨¿jjµ…×PxîŒÌO#kÖÁI¸»ê’†Ä€ÜoÛíå¦Õ?JùeDÉW Róþš±G^H¯‚Z{°éPj(ö{E×¼ëE.úÅR]ʤÙðZ`x-°ó]…iˆσN= V_tÀ/wæpsõþ@>HpïÚ1 ³¢fÈèKžBL ·˜} p´MH@àJ"‹sSX|öX¹Õ°†RdÂÝØ”uœq,€1†\.—«V«Ÿz衇¾}×]wÀ[4æççBˆŸI&“[õU~½¦þZzø©0œÆì ß@òÄIäŒ*LMÁZ_þšß d66½¿Ô¼`»2\‰pîÞ§ù2âõ}pZ_Mì¶Ý Û.#ˆ,jB-þó±!ç§š$l·~Á§ÃDà£kB‹¥càœõkÌò«À®~põû νõê·AsGÀ ï#[ŒßÿÝ 8 ‡þ½á䥥·Æ C(Ýd6»;ù¬^RÀÁLå ¯ê¨¾~s£ßĺ;WC!Eî¶ç.®SÛ0 º¤R ¦i"›ÍÞÔh4~hß¾}²wï^9€·@ø[\\¼†s~/³Û²ÞÎ CÊ`8©—¿ ñÂË¥ ’䀠yIý#2—!ÈùëžK ܯ/”×÷ Ùû#á36tßð5 ÖÝìxhx]‹ÑûÆî8„BÀ>rö TqX˜•çÁµ¦ÃUñ!·`[¨Ì ƒ­Þc|}†a„@ˆÀ×îÖ:ç•oM½æÏ ¸÷á> p¤—MñYJ×T÷p {0$Äò ]=`TUpú‰1=¾ãWf )¥˜·f@Ŧ£B þ8“É$Ëåò'ǹÀ‰¼ùÞß’RþT2™ÜЮÁG§8´ÂOÙ€šCiêTž{«œÒ ·ÊâÖí[y ³Á5^IWéÆ/#@Ðã+×DÄðeÔØàºÿ”_ú¾¡;ŽÛ¶a/ÎÀ>þ ÔÔ Ðìip§“†Ç¶9dy Ú7õqËŠ…"ÔâIˆ“€Ø#‰úØeÀêÍ0.¿fn†a`À9w`b3øÄÏALŸ€ýô`”N»µ8†füþ÷ã^¦@’'2ÏãǤõçBiNåÖaXy Rlj‚[#"cv ³Ï<†ôÄv$Çr%¡Ð}¢¨#‘RÂ4Mär¹]õzýcûöíûÝK•\ªÀ …ÂÕ†a¼O)eÆyùÞÒ~Ú ?qsÏïCæÜ$rFŽ—®öbS}“šôZÀH»3Y"Ró)Çõé¾Ôã}éÆûB…ŒÝ¯o‡`A]ÿÀ†ëB"TÈè+%4޾ yü%ÐÌ)×à9`2€[.ÃfhåõÐbPϺéx%+Ó‡ ¦Áyᛨ­Ùl¾æå»`&S0M3"_µ ìƒÿö¡Çï‡éT]6`hŒ@z™é „\5uxÏAy¬@† U3¤Öåb(Ð ©$†Tåãç0÷ü7pÙÞ p…R¼mƒÑ¸pQgÉd2‘H$~DJùùK•\’P©TL)忲,kƒ¾W»_{\‚¨“˜:ø Ä ¯a„ªH@º¢Ÿ_“Ï#Ÿ™Zåzn½}wPø£-÷ h¿l¿®ñ놯6 ¶½ ¸úC 3òø¶m£Ñh 1?ÆKA &$`™®ñ¤¥ßÛxÅ@:ñáž¶¡¼¯"M@L‚=yg¾‚ò¶›aîÞ37˲B@`íܹù:ØO~ìÔ³àf$,0üÐÀ£)œ{À@€dZ]E›D¦_•žðzL”ò[ 0¦j8ñÄ+˜ÙøFw A²Tè6t@ÓvÕëõîÛ·ï÷îÝ«ð&xÿÉÉÉ+c{•RF'ź³òïnÒÉäê¥c(½ð$ÆíR¦ƒj®|Õ-AÁ岩ñfü¯´Î>zœÔökT?8\C¾ÀÈ@Þþ õ»ƒÉ&¥ ¿6sýŽï‡É°<¯ÏYXGk›‰ÔŸ]¬ó^Õô¤ÜsÔ& Usè!Ô_{ ÕËo@㺻‘€€1–ÌÀ¼ë“hºâ©„Åí&øØÆ¢C1}%€ä*÷Þ(;¬¹xï!0(¤!0Ö(cî™Ç¿ìjðÔ JvÜ‚,.¥ì±Ë²¬Bü€3¸ðƒø!ÎùÖn}ãD]î"T5…éç€yø,†xfàýµÉ©k0òž€Cû¯§û<Ê/à¨0ÕwÜCnöü,Xf$8WÇq\Ã/P}î¨CO AI°¸gø<Þ.º»çB%Ì‘ç4° j‚ À’ ØÇžDíØó¨ìº ÎuwÃJ¥ "XW¼bÕfÔ¿ýç0+çÀ¤ÇL-íi*·ÂÒ ˆyů!ð‹‚̼Ûw±>³Š<P0…Äj`á•S˜Þò¬}Ç0ÊBÁÀZ¿¸¹ÕÒéôMFã=þæ’3¦Ï|æ3—Ô ?~| cìÓDtYœç[þÛ*J/í7‹Òùg±ðo`uqY.À™r+×Íq¶{´4·È­× ?²þ^øÏI—îK鿍•Ò©Û¹ù wþ`¥\ÜFÕj¥WŸEý¿…yþud¸DÚTHš &Wî¹’çÞ¢G×÷½h»:~a2þg(íóHûÝ{LP`LÁ S90Î}ø%ÔÒ£P™¡á°TüŠÛј:š?çfY|}„4À ‰ªZ)4©ðÚ?«"%PžªóÍ*Ç5™–˜'¶Î Hn»fjRh·qtEwfŒõz>|øM›6U.):}©ÝÅÛEã~J~]ï_Éó˜{áAdÎÍ#†OýÛ-Ü‘p7q‹æcá{yÂ5|ÿ¨ ÀöÞÓ€#[B^ùaÐm?äâÇA½^G¥°€Â×ÿòÁ@º1œ)‘5%’†„ADÒÍ“·TEúòEËpCÅý,Œ9 -j"Õüúÿö+÷œ .‘2$ò•Idöý9êßý<*¥"êõ:„p‹uȰ|ß§ÐØ|œº„j¸×B¿.°m÷ºÙþ5tÜkëx×Ðñ®¹´JfÎ5òa )À€B^9HžœÁÌóßÃo3WtœCÑùækÉdra»/¹xúR:ÙcÇŽ +¥>ª”Êõªô·Š^‡9…“ûQ{ñFe–’ =uRòõ )íM:ÿð&¦t<Ã÷ÇûiÛ@ÃiNäš°ä ?ºöÞà£mÛF­VCñä(}þw`žÜœ)3R¦€Á(Èz?É˪ÈvbÊ7àÈB£vŠ`´^A©pNébHÓE‚{®)&ã1¨úï(Ÿ;…jµ ÇñŒŒRïúì+?»& êHÖ½ëã< ЯiŽûš/ÌŒ–nÕ@[ÿªÒ-)0&(=õ ç^Éù€2ôÒ%+:ï’Éä(çü~øáô.醱›1v}'dnûTLÑO¤¦1û£È͆€Á<æÌÚÄÊÒ3&#Õ¡#]¯/¼ÇŽlßð#ÎÄí¿Úywp^>å_|þAÔ¿ô‡HU§‘³$2¦„Å¥Ûšçe²Y•¬¹§îÊžR–«îºÎ‚Þù°æù$8I$¸ÄPñ÷ý.*‡^@µZ…mÛ̈́ʞï‡sÓÇШzL@g¶ íæut¼ô©~íý{ÁRðÖDY]¿®ì…@nº€Ùç£Ù ˆ£úíÒÍJ)$ J$÷0ÆÖ àŒB¡À…°®“÷ïÔé7(ú‹X8ù2j/¾a#¡D¸Wt½þ©šTTÈ&ð)¬£ÓZ÷7üØå7¹}Û¶]ãô~ÈG>‡,k gJ¤M ƒyt?düþº¦y舑Ç~8pnJ_Y¤"¯´õµÑVá* YAî¿@õù[Aà¦ÀÞý4j‘pÀö@ÀñB*©…VBÿ~p+\[Ñ)í©JaT4Pzê ç_dJÙ^†]çUhcH&“;9çïÚ·o `…ÇÜÜÜeDt§RŠz5úÖ!ATä4fö?Ü| YîV:åghõÁJ3‰û= *„FKíp¼j‡c~¶ë=ñ;Žƒj¹ŒÅ}zîëÈšYÃõEãmÏðÅï³§"^Éð!Ûúë-ã‹rK ®‰Æ:Üseáó&’àH@`è±DýÑ/£R© Ñh.ãÍÜõq46Ýàºit_M‰àÆEúª ¯‰sV d¦Š˜}áQ0Ì‚Qí[&µgþJAÃ0ÞŸH$F°ÂçiYÖÕD´£Wo(å@‰"ʳÇP}é Œ*¦P‘ü½6¹CÆä…`nüPOÍCÙN3 °#ž¿!!¶ÜÜü±Pš¯R©`áköê£ÈY®Ðg1^?Úz ‘.ÀJ7zµrâž‹Ö?h@ (že0‰¡ç¿‚ƃÿŒjµŠF£ÑìÅÿ¡_@}íÕ®0hGAÀqÿZ!—j†`­½µ6NÑX€%F¥ƒÂÓQ_< % î<‰ÐÿN)Aÿ±aH$·˜¦¹v+8Ž=j4J)GÛ!p'åÖ§ÿ„: g0³ÿq$Î. + RM{bÚ„Ö=lˆ ¨¦â/4à{'Ç‹ûm Ô›Xæ/ö|2ˆ}Ú_øÖß‚~YÓ÷M®)üÌ7jzþ¨·WQoãùÛí˜€êÆ dlB¢!š«&£!¹!Å%†öÇ¿ŠZ­Çq ŽGêC¿ˆŠ1чMîu´› ë8ͬK´ÈÊB¡\k)w—¬0OÌaò¥ÇÀi„zKÐiŽé-ËZàûöíãX©Üçë‰èFýb·kúÑŽ ¸ÊypfQ|é Æ„„’µýuï*8¦ÇšŠQeˆþ+$ Þó«`†”õÖj5,>z?è•Gñh(Þ”}j=©Çërù‡ì!<ˆý46¢ëN `H =yê/>Jé<¬ýÔj ¢…H- ®/l;Ò7‘bzP3tñªSBbTØX|n?˜šw Ä<¡“ƒžÓ4ß™L&‡°BöŸH$vØÒ)¿¯ß¬Våßÿ”XÄäÁ§`šÄ éV‡ÅæŽIc°:8Ø5Íóxé)i»këï/š9솀Øós ¡ÕAÜ_¯×QØÿ(Ô“÷!mdHŠ/X¨Óp-Wª©C(Ù>&îtè±´js´Ñ_ Ø@„(4¿ùŸ+@RÀb¹ïüOT^ßF£€@bãNÈÛ~Š€jˆæ5õ³ ïZK üР^o "t7œ!áÖ C¢úâYL¾ö Ýù¢dì|j§ nÛ0˲nJ$k°2ôŸêõúÝBˆ‘vÔ«Ó¦žî!Ô9‡ù/aܱ‘p”V÷Eaå;dø” pja#õQýÅö{Àvì „¢F£Ò©#°ø¤ 7æ7¹ëCb_p^ºØ§QoK±4¯gbÙ@v!"À€èû"Y„ °Ö°f† ©ld¾ög¨ÎNÁ¶í`‡ÞÌEmíÕ®(èè)Ôˆîâh‚l£ªÅýÔªéȸ£nÁ”Pw̾ô<-¨A)ËÚÍ9­0h”òÎ}ûö±,s˜¦9à¦nt¿›ú¯DõÅs¨¼rCRÀòkþu/#…@’ÂF* ^Ñ*Ñ4äÇývs¢*ž†¼íÇCé¾Jq•ûÿ)QEÖpE1‚ïë=ÅüXZjbœŒaýèå}mXîZ¥®Ä‡í(•$Rµ_üT+å¦@„äû~µƒ¨{ÿ'¸¾¾Ðª±ò€bz'Rk uÙ,/& XRaX:(ŸpE?¼ðÊd3¯¿u¦€¬àQÏïǃ"n©©&ÌCµP-¸9ia7i¿füΚ]à—í ÅþÅG¾cá,2†[Oº—õ· uÒcþ˜¸[§äˆ9–£ t¢þèQG -è–*,¨ú¢+…¿‘Dæô+pž0$¦®'j™5plmÝ…ô+m7ýW+º=ýZEñ¬.Òi˜jH +ì“ ˜yãeJ^f¦·Búðú ÜÍfX"$“ɵBˆõýÓþ& rYÂü¡×0¢\úOºÝN+n¿=émd!”{Vç›!@$ç!!nþXà „¨Ìœ‡óø]êÏ¥»· tÅŸš݃ÊV½2Rš«Z…¸N±z·´`/„XЈû¼ˆ®Ð"†‹„ Ý’áÌwþõr©Y`˜`·?êh`„.¥9oe ¦þ‹h'4AÂ÷X$RRaTJÌ| „ »oã÷ç«a»†††°ÔQ­Vw8޳&J±zYùç>' dJ,¢ôÆä„„©Ç‚ÐK[©Y(­d :y Pš÷rÏá¸RÂÛ ¶åÆJþ3¢Š4—0Y¤:Né4Y5ˆøKŒ£ž]8A.½™Ç× ÐÑòø1G[u?²ÌXÿ½S=jSŸÍȧÆlH‚˜D¢2 õøWÂZÀ-ïE-5Ú ü",¿Þ¢´Ð ;$šWTÄð…—>GD_S*ä…Äü`ªäm/ÛαvóÒëVµ¥ÑhlÀÆää$Õëõk$Ú1€NA~ü/EÕ…)4NÎ#+\ñE·Û UÙÅPÄÀ“x¦¼ÐLŠp`ßôC!ï_›Ÿ|ñ¤ Oõ®¾ó'¢TMC yV­Ç@\áŠznÆÕÎëG>»åˆ ?âE H8Úá3­¸Hï’¬3)p’È”€Åy1 ?{‚æ&«þÿ’ÈFC?®uQR€BŽ掞¡æv ¢þçŸ7o7§ÓéäúRÊQ!Äxï>£^BÉ +°'a*hìÛÒ1ž‚i»Õ* Pd‡Ÿâ¬×"éU`ë¯ÎÁqÔ^ø.R$‘ ÝmµÝnQ\F„É8㟓×L°æcÿu]äôÿ¡o 2ˆ€ðRhòž` ( YÆäuã¡¥ÖÏ]oà.Q¸ROÊV±Î;%þì>ˆÛ`xÌ*µûV¥a7ÜÉ»0ëÁ£ÿ> ˆ,ç6f‰‘NjŒ ¥púÔ5H%Ðëb¡ïÀØ)ejôŸØ"¥Ìû=åûO (YG½4{ºìVÿ醯ïeÏ(œ•b-¤2H¯ ×ïçoÏÆ0` ¡¾ùæÐ^õÒ"ÔÁÇ4%8‹EPt¤š@úVáQ@¢˜ÉJ¹ñmÐLiìA…{ãEk t }¾Û»°É ¢ ¡šÔY ¦oB¼LÙZ~íÕF%÷µÿTÀX" góÕpN=«¶Z˜kn*bhõ¤CTTïäìèìÞ…´ì©¥y ÝðÖjôžô…@Îùðâââ&\¤›†\´â„ã8›ÚAnçýþ¼ü?$ k(Ÿ; «f#éo5§OF]Ð;d·”£é=´þò°PpÅ@±í60þK)Q=ø,LYC‚k%¿±Å7Zq“ã‘ÇNdÍAú³ÝeÉÒÖ;Í|¼SØ£?‘Ïu´:¥-½u4uz:.æüD¤D:(9öª÷B5 Ñþ„îû…)ˆã¯Aáø•·¢Ñ ³Þ÷ƒ¶o™Òz6"¼h¿'‚öÌe R0ª6JÓ§Ü6a2˜)眄›Y€þFÊãÒ+íZ5…[K(UGeæ<Ò¤`R³fhÏú€xñ¿î]ƒeù‘‰åïäë PÅy¨Ë¯o¦š…@ãÐs°ÈÝÀƒdt³m· !š;‰ÈÑОw´ß¥sGwÖÀ?_ý3œð¦$Áó"Ó«ÈF'úŠDÿ³íÈgØ1Ÿ÷üü¿Œ5‘¶ñˆw½èµgƒt !¹óTgf`ÏÍ…·Tw"!š_¼ {ô­ÆBÛ$¸Ì„Xd P>wPµà;ͽ8¡ÐÛ#ñ¢­¸XC€œ¿þ?Ѝ½ôô8 êh,," îšMš÷gÚn9Ñ8Û§¹ ‘´š;Ï8@=½ ,™ ÎCyl?,&›ºÒi;Âñz$]%·ß\û>`ív`ü2P*ë~öìiˆ£/B={?Œϸ:d<*ÒÅPàÔäM¶Ý M€&\Ǥj%¨“ ßxxî‹à•y—-é¡‹¾%€Œ¤NÉ„¼ö½À®;ñ õÛnºo?{òÕ'¡ž¾Æù×A†Ö~ÅèªU—±Ž½0"‚¹~3ê€å‡.è2ÿ:Ëðeþf¯Úÿ†ÞŸ0¤¨ÌLƒÈ‘Ðê‡TÛaq,1¶aý´"×KñOûåÀJÔÑXXÀi™¬è晬ƒ¶Ò¼Ù!"“€½f§r»ô¿>slúŒ¬»Ì4¬Šk¿3„ŠT"ñÿvÕñßmt=øèz¨?ˆú+ÿôŸh,€ñ8§k ò®Ÿîþ$ÈJ¶^Ód´ã6°·A½ç§Ñxà‚=ø—n£ùL9ºê'~´~GK¦B)Z»|í¨{~µ‡¾þÅ߆I6˜£oD¯÷ZêØ~,6P‰fU­³nì×ÏB9Þ¿švèÞ‡2-%胀þBEƒ{2L)ÔææÝî@ÞJõÅ-ŽqZƒ ÿ WrÄÒ2¯ ˜=_NÊ̤Ѧå½I…Á T+ µ ´=ç܉笿JÏ^ vô$ÝFY$æ×+ô-†V@ãÇtå-ßÍgŽãžÐ¸òvˆOü*H@Š˜z}¿) KÀùäg½?˜‰POÂr¹Œr¹jÌ + 냿çGþªÊt?ÛÑ ž´ 9TrÎÏÿ°n{ˤ—Rç,¥»¦Þ¸ãPýÁÿ uÛ«æS "ºÞÀ+ âNêä¡P@›® 6 1x¡T+؇¶KCìîhþa[‚Ú˜-¼Ý—ºÍ»µcÐ'H)3íB€v4,:•t Ê5·G÷è ¬·°Ϋë“ÍÛÛB®ßS‡$Wý'V†ªõÿ!€ÚÕm¾6ø H^EíÈ«°g'AC#HÝt7Ì¡Q˜¦é6¸l'oùqÐc†”WföÇ|ËÍÁ­T*Xœ™FõØÈ3‡AÜ_·‰W ?>L&"Bâº÷ T˜…úÒEʘˆxi¨}èS0†'Bç\Þÿì³§`/Ì€ÆV#uó;afrŠŸ¸ùý(<ÿ†Þø.ä…0q)Oj-`gC^q]°ù«yùU°½’ ={ƒfÍTd¿t„Eß8ÖÄš ŪÛí™b§öáÞïÃèo$¤”énjkš?ý|ºQiÀ¤3 O‚ï ±ÿfúÔRßO¯×l ¥Å™#0HEi!a‘EReÞ{W¿–æíÏÿÍï¢ôå¿C’–én^úçßûùßDv÷mA^œ]»¥ïþ9L°Œ0Ø·ü Ø{‚ëU,1óä7Qÿ—ßE¢VDÊ æ‘šÔfïýÈ›÷"—˹¥·wüö?~ôq$Lmþ{ßɾòNpS¿þo ^zIæn½E”þqƧÿ™Mn._J yÝ{Q~åÛ0š)RĤJõÚ¦“¯ €1cÝf· p´“Z èF™\fZmƒwŸ˜¦œR€‚‚TD,vÞuÊNÑEÛèb L¥Tª] .í½R8 % «6 %5PÅP>ÏH!v»`}ƒ2¡ÍÆš«Ül—· QíÔë`“‡Éi+bü¾% _8‚ÙÓádn†a.+Ù|ê/e h¦J²çÔAØ[¯ƒeY`ÜÀºßú<êßþ'TŸ‰CÏ)$‹Õ0¾ÿk(KÀa™@"á†5qi¿fÊT…y Z·Ât›Ù!HZlõà>¥–S›ÌƒžÖô¦ü‹¬; Þæ`$4°ÐßàJ)£Ão5~ŸÝËPHÊûlj~@˜Äõ¤¦—’f˜Ý‰Ò"¸à jÁeÃÃÚâM?ðÀ)ùì?£rÛDÔÌ’·½¸í½JÁ~õiàÐS`Gž‚yòä™ëM‰¹M,¬w9ÃÀ45¾v|?¦B*é‚HHËÐÒ†LìÌËp¶^¬Âĺ+P{A!#µ˜]ÆÿˆÊÚÁ¾xÌ´zÿïÿQÔk¨O¯> þòÃ0¦Žb((À÷ƒ-ÐrÜ&µ¢Û¨£8ßzí ”½è®1j™AmR¢,òC©KÕÉMáJ!C  WaÆúÔ&”R¼ºÆé­±—‚’š1óÆ)m«LG¼”H¦ÃmÈ5÷£üÏh²2C€i6‹P"“13ù ßü ,¾ë“H§Ó0 Ã5*OõfWÞºêV@ýìa¨}ëÅ/Áð•tö^2=:/gî4Ò†'íÜÐÊ€+ž w¿É Ãq$„rÅ=ÿä~g6ÝqÝ»‘L&ƒìc d%A7ܺñnÿõCÏ÷ýÇžvoƒ/Šh]@äØ@y¨•Ý2&ì@oæA2 e#~Ñ”þÑÂ+=›á§€Ûdƒ¨ ÍïÆR½ç.Ú}/VÇÅSÝvkm½úæ»,Š*¿mÔb—2ŠäÑŽ9ʱA<’}ª—ò`{]„ô?™×‡K¬zò/¡þî?bîøë( (•J¨V«¨×ëA¼Í9‡uÙ0?ù[¨ÿâߣœ†ãçæy³Ó®âFèšQ£Î%Èôþ'÷C{ì·Ka°Me!™„òÿÎk¡k2_ù¿Qûç߯üùsX\\D©T ¶þ:ûróÊ›ÁíoQúWÿjŠyŠ~kÎvŽVrx•žS‹™%,(Íh†pmRºíÒ¼,æžj÷š±^5§ö@ÐïB¶häe!§@œÜÚæ}X´mbB=01“©yÇÛC×cËPË<î~dÂ&Ž?ˆÂ?Ž…õ7£¸ûnXWï•ËÃ4Md³YQàeW܂ʿúC”ÿòÈpáö;ð>SÚMƒaŒ¥Ò S¹).³»@™l“þÒdÊ-‚udIC`õkÿŒÂo¡°iŠWÝ k÷m°Éàœ} "$ö|Åò"äW~)Žæ MÀ.»m×»Y°å_{£M¥]·I@Q™¡’` d4ôªÄ€ƒ@Ã_Þa-E<—"Å!Ë[fË" €Q„*zW,ÔdÒ!=OeZsÏÁï6P]`fÆåîZ L H&N5¤O?‚ÊáGP¾Ï@yóu—ßûÀÐæ~Ëi·ÿüÖ1»áfÓ»…GþùWf!¥ Àžð<>Â!NÌ¥UÃkRÂ)LÃ0¥ z ¿¸dLÀ¤E¤ ÕW¾†òç3(n¼Øuœ›ïÁÐúMAVˆ¼ë‡±øíÏÂp¦Ý†R¸,©Vn®½a.Ó¹VòkMƒd„iX‹àGÍÊθL‡ûÌbXB?š(p!@ÃЈæ÷»…á×Ý;M–ÑlËÚÄ󈣋‘ÉÃ"b•÷;Ùå 6uér&è2ú¼ üX¹» ÕYuÓPÜ“œIAes02²…Ña…59ë§ŸÁªÇÿ ôÛÅÌ_ÿT‹‹h4Aõ¼â¨: ‚”[½b(ÐÜ‘€‚@jóupཇywߦ{Ц[šø&So€¸—U1šÿÿ_+ÁË*ŒåÖ¥KXæQŒå7!þóG0ó…? ¶WJŒ£¾mêJAŠ*P[ìRkkÎRi&B†%¥„ª×Ã+;õ¿5ÐÚô¥ÝO´†AÁf€RLk¬ÔmÞÅÎÕÆ€ôUÄ”Pv©¹ÖŒ–C¥LˆE uÌjÞl}ÂQ³Ò(ìÅ…IœöY¬²ºÙÌL@Yi xd‚bT¨Û€QÇÂ퟿ö^k¯pëýÿç/ õÚ°,ÀôHBÆ;…Úÿ‚ò#—#ñþ_h¶¢^ƒš’ÜÍ]ƒkê9Ô½:|ÆÒ›¯Gehy2¼.òìÑ ‰¡-ÍÄ©§a&$x¢”ÍÝó»07Þsl“ Fþ1¤O¾Ó,H€“§†úwÿµ×À¼áÝÁ=ùqÔª‹H™50&[eù5^ý„È·VßUæÀR1žˆo UÌZÚ ¦ô€Y ‹mDPC«\viD®2‹$§»²gdS òÕ¯ù0ŠŽ‚£`)PRÁH($’ ù¤B:‰ÐÚ!lRH >{¶ínlÁM™÷~ GÁ!ppûîÿÎyP?P>wÆÜXIò™Sp¤€Ì® âûʦ;P"azçl)˜–B*¥Ë*$p§§V‚ݨ@2Ù ’\S¼k猬 Â¥ìÂ<ÈqW÷\™Þã‘J?sÿâÖ 0òšÆ`æ“Pà jƇíæ]tžj?Ëèo4ˆ¨½Ø¶õ¸‚Ú® NÊðÔqC¦„sùµ0ïø©ÀlÛF}ò€å½Ï’0Œ:Œ‹z½°€ÜÕÞû_QUóÔ|ÿHeÑøÀÞPÿZ­†Ò“„å ™à–{°$ø©‡¥Ÿ1†Ü»•5×¢A^¶ !¤{>â¦{a^ãzÇqP¯×aO¾fº5 -×E!Lí9àŒo 1{ú,¸©¥@uÑ–#¼Î_ÖÆ t gnkA›F. )yó. Šƒ O`Œõ¶ÝEëà.çà0‡2°AP¤)K'©æÒ_é‚ &'û«Æ¨³¯C¬Zפä«7Cœ{Ôm2ŒˆMWÈÌ¿Œé׿òn¤R)0Æ0üS ûÈ'P8úŒê4†ºìFÐÎ÷ô¼^¯£\*Â9ò-˜–·<…nµÝè™ÏãÌñw.’É$ Ã@êÆ®|?ê¯ Fላm«®ÜòAH+xëªÕ*æ~ìÄW‘É+˜)ÏX=ñ/;¹ççþ Û€D"žÌ`ä—îCýà·àœx¼^òë ¶ÜÚ|sTŠÓg€Ãß·´¢$ã­Y3ë &6‚k®4Îóó0#FñW1úS¡& ú}WD°A°F23 ÀzlDûúâúu"Zˆ"i·u¡×Á • kh ¢ CtˆŽû±fÔ3èé!ÒÛU!¶’Œ&BÊw ÀØxœg½òrÖ"ìÕ‚ê;}ô?azìCŒ­E"‘p ¶Ü ÚzK¨Ù§_ÙgÛ6ªÕ*žøk$K‡X*œ85U#Ï3‰¿€3±‰DÂ-ÛMŽ‚]÷Ó!YCJ aÛnÙp­†â™°ûOÎ:ÈdS7TX²ˆäÓÿ {~Y/Méæû÷‚®zoÈ O‹h4(•J(~é¿ Ç+H¦½ràhwf]lõ~ªM»B™ ṳ̂ ïïCá•·œÏo—×Õ(tµÕ€ÚÿJÁV€9”‡RF¸ÉI§y?_çÐ'pÎçFÛ Ü®[¯È1€Y°†GP'ÅÐ!–×z¡¥$…÷ `š@Å6y8ܳnëµ°Es}IK'böVÄ|ù T¿üSX|×oÃZ嫞:ó¿³ã8.í¯UP~ú¯`ø 䆀t.ÐX) +&!ÿ$fv~ÕMï@ ºo õzÕC÷ƒžÿ=ä2†snj’BˆÀÈâwÑxô×0wý§‘̯ ¥'õæ-Žã Ñh º0Ú7ÉÃ÷#Ÿ’ UD—IëôÝßöàòëÂK®O½ Óô„~=9µ¶yÓcQ "`ÈŒŽCÁ‚RîIéõD@=`ŒÍ  Ï€s>ÛIpéTì®ÙfPd!1<†cp|êm;-C ^#¯ªÎ÷úäÂ+ö `M„íc ‰-× `$!¨ÖÚxºêy@ÆñúK0îÿ~Ì^öT¶|lí5 à ?¥œ™7 N=~ô‹HÛg70”Ìš43 Ïga¾öï0{d ë>¬¹,3ò¨²xÎé‡AÇ¿ «vÙ,Oé„Wÿ]°C€IÀªÂ×±ø­G1»ö±¸þ«v†@KJ çô G?ðäÔ<ò£@>‰ OCËf:-g€=¶ltmðRJàÔ«0L€™ZÊÏßøy@-Ò³,rïõL#I¨ÃøªÕPÊÒš/¶múÑ–ѹôÉLÓœé¥ýW\ƒå©oJ%‘[;e¢^­A(‚í@ã÷Ïo‰µ:rG?=Èô2}æEÌÔkH$n1P2 ç²Ý ÏB1Í{òÈdåÍNÄdºúÚˆUAòüçP9õ9T@çáäÖÕPcw—$“@zH%qæmÅ-b7¹k(¦ó2*§^Fõ  QéË …V=ƒ)X = $- aF“ *´y)1„)1‚2’gÿå7þÕÐ0VÁNŒƒÏ€ê$ᆩŒ ()0™ÖËOIJÓ4ÚúæB ^˜?ÿ:Ìœ¶8)È$h÷IoU=@¶j@'m"5¶Þe``ëdüÑßcèsÔ’Éä¤rÅ)¬ÝëÀL‰!°Ñ gËúTLµ/ Qù;ãpoF ÙlBÉËY„8¾b×76M×îEã»ÏBHo©n${ƒÂ•‡^‡_“Ã’~'m Q€4½¯d¸&À ½†Ïý©IÈÝ9ˆ„¤A°„L ’ ÔI·£N`ävN6 ƒ)0R ¦´M<µÝ…TÉ,îsÒ-ŒtœiHgjXø™û• #c”LóÄëh\ý^˜^h!„@åàÓ0Lé²½²‘(híÝÜB-bì,ÌbÂ%Àî‰Hr€ga¥‡a+Ýj€;d”išÇÐ'är¹)óJ©Ñv!€sÇÑ1"II«GP=;ãÎ9Šiò½·Lëëç™Gÿõ†’^\I 0_bçm˜ºáý¨~ëÿCNyÅ9,"!kÖP»,-TPp—Ñ’§ *|ñ(sQMPÐ[x2]8S"œél¹¡Í‘0ÀïÌ$`’hn~,š­þ× „Û© šë=ƒïÆ!w¿Œ1!Ü ÀG‘3]fN#z#ÛÜ׸ôo$4s{’ºôßZ7©³ ™q”Õ?dÇAåØ+0gß@"é…V¡û ÑŸz° bVªP¶Æ&B ™µ ‚”<–m¶ Âi褔Ò@ŸƒˆÊ†aœ ~´‰±Ú#J¥‘^»ÎP 5P³‰$ÚyS¨y“šñ;oµIu°¿ Û¶ƒ0 ³çc¨8Ü_‡0¼ÏåÔ42Óh›þ뜹ÆnúFd¸ Ïh‰5ßç†é÷Áÿ¾÷ôgÍ÷‘ÃÃó¬þ{Úy ã¢AÚÿõE Þ¼†…k"ô°€Læ@×Ý0;!ª| O $Ó OÕ 0xÕºT»š½ì¡²ë·”ÒâŒîsOg©Þ<>fšf}}2Îy1‘HœŒ£Uí:GC‚¢Œô8øúQTÀ à•ƒZ—Ã2´î Wú 8kaÄ€ì+ÿ Û¶ƒ›ŸZ½ Ë÷ !´u:ËàÞ ˜Þ6¸ëÖ¸á6×€ÀÐ~7 ÷wß0ƒ¿Õ¼6çM°àÜe\c Üÿ ï±ÿÙ¾ñë?ɦ‹ÉšàeÍÆ„þaùŸí)–Lû<®  Fd ÞÔv}Lo°”ZjÿWNºÙ bïœÂ¿ø«»ÌzwxB æec°2c*€Úv¤Ž‹ûõƒ1öF"‘0€¾OŒ±r6›=¢”ªFY@§Åa€ƒI8*kÃT‡ .W!.Ä ÕL11-ÍÉçç¦÷Ã9÷F°ç©÷ÿ**¶·nœ`zxí¨{``˜®iÍ ¹æý¸GÙ¹§ øŸKÜ£òº7çaàÐ_3ý¿×Ù‰~ž(ყæ¹ûÅMXxóû0ïs}á“ÉöÝ{8‡}×/…&_zV} é„Fÿõ4iáNt‰0¢™x¡PPa‰k!(ÑUŒÓ¨¼ÇÕT*õR*•ÀF%ŸÏÏ0ÆŽtóüñÅ@Ô)ÔúÍXG ÌÕHÅ+Å*æêp-ÅÆX³Ô”‡cjÎó¹µÃÊî¾Õu· áhØÒd$3àµö¿|£á¼IÁÓ ™Ü¸{´ž´î=¾wô?ÏßQ”s÷§~pÍÓ3嘯ä I´Ð$`ÔqG ‹ªJ©"cìp¯Þ?ʈˆLH•Avýk‡Ps}E­Ä÷‘Ós̾à·µÕHšÀè+ÿˆê⬻C°”0 Ö=¿‚ŠÝÜ·2 ~Ù› ³ ¦y3ƒ7½š;û4:Z ä?ǵóõŶ@kÐbtý`ÚOÒ 6ø jæƒ\í5ý¼˜ÿ¤1ùpÕÚŒSËNØwþ[p΃u•sGÁ_ÿ2IÀ´4åß@”ý’n΀øÿW¡µé«Ò¼?ÔÚ!ä.»Š2Þâ2ê*üÅÌÍ×kµZé"¶±‹`Æ¢eY ã3Æ (JBña˜›Ö ®é‘´W\ÃO®í/F¹#ª·ÅJàÏümˆä®ÿ*koA݉4° &Ÿ·ù(kvrY— ‰X‘b>âDÆwHêÚ„Ÿ>ä‘¿‰ hÜ×0´sóÁÇÏžpý» /?(š5*œ!©íüð ×6cÿF¥oÿ9R–D*åFC!vcèz…¯!‹Ð<_ë ˜»ú¯È8Ì-ëÀ¬1($ƒø¿›0Æ^M$Õ,m(Ó4 ¹\îeÕ ýU›Œ@ûlñË"uÙV,’áv¥[ £°H˜@Z iPÓC‡òÐî¼Ûÿ?P]œu· sW ¸÷·Q®s82ò¿ü" å'ËE¨1¥ ýÆ­:¼žÙç SDè=Úgø€-lò ºè)0z4» “ô@ ÆûK@Y4Þõ`Œ ŸJ玽ø9dSnãTÒÓQÿu‘©xºû+ ÎÈDfÓ6HdÝ®§è¾øG7ú`­‚[ÍúÔªU«êX"(çr¹óDt´ï¯0pž€Yd7]gMòu€8ĈIIé«}¢/;õÎc)9 öÔ_†¶ÝNo¾õë5ÛÓ|Êœ¶ð*‹¤&)èE/šaéê¹RŠßý¨íF(1ß¿íßjŠztkm†¦¨É´•HzßAmË¡§Fµ= *ïøà#—{$V*”øïH[62þZm†¡g(¨¹"°¥–ƒÂ ™ý’€ŠbpÖä‘ß²’rÒïÔÝøc*¦Ó飸ˆ‚^ô!€2ç|žs~°ÊÚSa1…(1sË,Ñì§DY4ã' tœkB™û“ÀÄ+ŽÊ郰mFD„Üû?ƒ‚± -»»Ö7§i(AÕºH)´–@µö¹‹ëN¥úú÷žèj:½x& þï\6”¿?ºß÷¢ùÝýÏ÷2$öèn¨›~DÛëMPxí¯þ ²9w‘Øß×IXÁ¯××–+6‹Ì€µ}xjŠÒ‘T:ÇÿÑ9É; ”šEËBãôUL&ç‰ÄKq!@·t ÿ“1d$!h©ÍW`Y¨ƒÐÛ÷Ê6;ëÕ{A]…ÓpŒ5»×x9 ²þ:ªÕjPÃn¦ó0?òY”¼™lYŽ,¢ުÕI·#¨â  ÷#ä1¨À#ïa*ÿÇÒi½ÐF+üW>{‘®ç‡ð€vžÚ²_e$QÛû— fÀ¶m×û—Šh|ãבKHäÒš÷÷«(ý¬†ïñýµ!Í#šihE{¡U0Ì“‰ÜÖ]P4 P2è-ÙOúÏŸŸœógóùüâEn_=À0ŒâÈÈÈKδCÛvEAþcŒƒXBeß|5pù*‡£ü._ª¹â/¦9DsRé; “–{Žì7h¸ËoǦýê׃P²W¾õÿ-j œf ù=¡ Žx 40´ÂGÅS{ÒÓlªÕ*M'€ ƒˆþ!º˜Ö®ÝVôœüM}±O÷üº÷ÕŽêžß_}u³â¯ZÅâ‹déry ey!¹¯Aø5 þB ?ö7"Í@Z\ …j=”ÇÑ‹à íÚ|5ËÕí›uÈýÀ™l6ûT>Ÿ·°L œJ¥fcûu„c²œ›”‚-‡Ø¶s0Qƒ”žx$Uû]c¢eÁ~Þ™´â?Mg6*3¬zú¿ 4sõzõzJ)äîù(ŽÜ‰zÃÓþtÐñ Sy^S ·Ñ'ó·ÑR­±8ÅÐÜPqµ{[0 ZÑFAÄÆe È<3.ê…õ-? uÕ' ”B½^G­VCáÌkÀã¿lȦƒyͪI?µhðf\Ïb‹6›¾Hê Ì“‰Ä¶íphÔ¥ÿà=©ÿqs’1ö’ag/æüÿ%ÃTÓéôt"‘Øßo 3Æ8Oáaä¶^‡êÄ0*Ìp¯TáxhÝ" ZΛ΋ûÅ5ºïíØ›•ç‘{øß¡T*¹­¼êu0ÃDú£‹‚y9l1þЖދB4×åS„f#¦¯‹~H6ƒuÈD7ÓwN‰€€¾ÖWË:(Ù4|ßT¼îáŒÜç "r»Û6J‹ó¨ÞÿËÈš% gÜ*c µ÷Â.¿&AïئÂ/ĘüÔŸçýKd :1„¡í7@Ò@‰Xñ¯Oú?u±Çÿ— À4ÍÅ‘‘‘'œˆÒ­–c;€€+fÁ³ëanß„9¨{O¡Ùý½(åÚâ}_…6y¤Ï-Y]5÷0ðÜgQ©T‚Â37óÞÏ£ G`Û·ÄÒÃ%Ü.<Ì‹”ŒXÂåË,¶Ð »aÄ ¢±  Œ÷¿•ÇL‚í4¼FÉð÷B˜ö;Ù+Pß¿€Y™ L*—Ë(ìûu¤K¯b8ëvb¡u^¥¡Ï -ü‰®ø ¤:ò/ÁÃLX;·ÀÚŲP=¦þÚÌÃÙlö;CCCµKÁ¶.Êétz–sþB»À_€gø®ÀÀ¹ ðAfÛu(æs¨€ÃA¸ãw»]sB›N01°u‰«iëýªÇŸ 휛\³ üÃ÷¡$ópœÖ¸¸ >v´Ð@6@ÈÅ.#éªú}£ÒÎÁ;??l‰óøÚc™X‹Æ{¿ –ž®G¥RÁâË÷Ã:ü9 g\Z«ùº(q­úQ_ñ§U R<j–ÜôþŠ¡8”CvÇõph¤£øLÈȼÓç$çüEÓ4Ï\ìé¿KЍ O&“OJw´\ø¸eÃQàܱ•Crâ ð+7c&lðÖÒ`‰p¯ºØ­ÄõòXÖ,&¬û“ •°±î‰òÙƒ¨ÕjÁ^y©Ën½ÿŸQ’#p1#5¥Jz'%…F³e˜ H…Ø€;ÜTÃo)—”Íÿ¡üm½}ƒ÷ÎIÈæµóY•Ð ÈäÔßóu°ÜeAš´R©`ñÈ`ÿ{ e€á,`ù½8M/ûÂx„î“&ÀªV­{}ý¾„:æ`ﺩ‰ ˜ÙVü‹›k‘¹( ÃxdõêÕg.ú)cÅ‘‘‘ˆè@õêEðÅ@°lŒ ³íz,åPRn×àÀ™)Ï—õ¾uzÖ@_ÁÇüÅ65eåóìçP˜:jµì”Üx؇¿…ÖÁ©{†bk ¤kxÒoÌ©‰„¾1Jd´´‘âãðN^EÀ›ÏBë÷å‡'Êiö ÔÌÑ€Àû."» õw4rEІ¼R©`áäKßúEä“uŒäd*²ëÁ=põ~šZÕ_°ø­ §ZÍ?µ q†²Èí¸’B±4ˆŒžëþ£óˆ^Éf³_ÌË/UÊù|~’sþ¤”Rõ"Æ® ðR‚ŽBbâJWnÁ Yh(j ¯}ÁHhé6½ˆÅ_è,ÒÖæûÛÖhá€a#ò4FþIf΢V«±obõÕ0?ú Šl;ì­´ÞŒÕ{æ O„¤HÍyz7›ãÖ,y3܈þ?åx™‰p¶¯å§¯e޼{¾ÊnÔþJ¥‚Âù#p¾þÓÈ› Í™„÷5ÿZÍE ýï0‹cŒÒÝ9º®8f`Áܽ ÉÕ»\ñáÔ_·y™ƒŠsþd.—;q)¨ÿ—PËf³3ù|þA“úÅo·F ŠÞ.à ph é7¡4>Œ"Ì& ¼5{Ù‘&ú` 56ÀôŒ€×öJïìw21qùÇ>…Å©“¨V«¨Õjh40‡7!ù¢<ñýhT5݉PiÝK å¡t4ÃôáR†™‚’­1¾ˆ§dDsð‡Ð½½÷™º¡ë½ýµªfÿœMŸ‚ó®o‚’£ðU*,ž=„Æ7~y6±,Ij½þ‚ôž–ï÷ÕF­»ÿ Mà?Iž÷'a ´jÙ7ÃaãÏ€1³§ÆmæÞT*•úƪU«æ.ú©”FGGÑSq7!ŸÅé.^aЬ‘àW^i$P“̳ƒHÜ,«³hL€ÂL€¼¦9«p«û1N¿ŒR©ÄÃJ)¤¯ý×Pï}%c7Pv˜N à¯+°#ÙG5=¿OÛ…Ý4féŽíNÓЃ÷ˆæ& ~lÍT8m~zÿRänGãž§M?)e)•JX8ò(ä¾ObˆÇøÏDöO`pÕÓ@W‰ôˆ.èé´¢Q£þ~Ú¯qùäwÞ«@,ÆÌX‡Ñ)íçïÓ(¥¬X–µoÆ §——Š@·!TV­Zõ,€g:UÆ…M€s ’r@jÌ+®ÅO£$Ý%».ÔÑj*ÊÞ?ÐÖë£ ÜO^ÃÛ¦Œç±ú‰Eéo¢P(ÞÑqX«oDêûžAõÊßBÍÉBÚž¡7Ú€Œy^D…8¯¬X¶;¢]ès£ŸïhLÄoP4ûº¿‚¼çAP~[ ò×j5 Ì¿ô9°‡~#f«<ã7 ¯Ég0+YSô#¯Ò2êñ}埢]í£ ÊÙ‘@IqL³¬«®¥6Æ0ˆY^óŠ5üNE?žø÷ìÐÐУ޹¤€æ3Ÿ¹”ÎWét333)Û¶o'"SÏõGsÿºáû•¦ò»Õµ ™± ªµs“sÈ€Á”;¯Bëð)¼<8¨DSÍX”GÚ‹3­BÍ߬ƒ5ñ‚`Q©3_Åb©‚úðµ5·Á2 æšw@mþW¨/N³/»Q¢¥¤6x,#™ƒn)À¸÷ɘT¤/m9‘>± 6ü Ä;þ½%ðú>³YœŸBéÁäŸÅHZ`4dÞF%¡•†ÞŽÌðtæíèši=]§Q*(ìi-¨"OÚ ÔÇy•@ýº+0rý h˜1ÄþÑùãÏ“(Ý÷{>zÞ¿šH$þjûöí0ƪ—˜C½ä$RÊÒâââõÖëžÝ7|Ýà;-èpžûº‘!”fÏÀ*U‘`œ¤û·Ñ† !ºÝ‹Ze‹´C¸W½—%à^Å`fñÔN?ŽbîF(žvÃ!"˜©a˜›¿ò²£Q)A-S*¼ÎGF˜‰ˆd-¢FÝîв~ͬƒÆÁT¤>Yˆ?yËÿ6~Š,w7àj5 ü‹g^FcßO![x£Y`4 ¤“.9 — so$-^RÚ5VL*-ëw{‘ïî”P°%Ǽ´0³zr7¿È\ã – yÿ¨v¤3K?äÔxq||üÆÆÆÎ\Jêÿ¥ €t:­fff’ŽãÜ ÀÔA jüqˆê AJ)¬T%”NŸCZ90½ýòHï¹§"FÏ(¼dV_+ T|eTKÍ=c. NËóàÇÿ‹Nvv[h‹mÆxzŒßµù'Ѱ9dñ˜]r?F¶¦í[º‰@ߺ+ºZÑ× ’›!¶ü äM¬ÿ(”‘ ßWùKÅEžý°§~ y>ƒñ<0”’fsÓæµ3š JÐkü½Çq ©)Ö™‚€#JÒÄÊÀ¸åHn¸ ÒXÆ3àÜlËãTi·ûÿÕÖ­[0 £r©Ñ n 5.bíbôÔ©SÛO:õûŒ±[ Ãpwãá<øÉ9c,…è¾õ¼Úü»’sHáæžü'd_>ˆ ¬†4w@þbSi]vávæÑ[Pqé̃ðºx¿’ytRµôPpúr˜µn@yׯ!¹æZ¤R)$ †d2 ÓlN\ûäWSÿ>ùeªäv²ö˜GD²NŠ9ňîUÀ…XýP´êŽÀ@ü…NþÏjµŠÊÉÇ ŸÿoHÕ^G>åÆú)«ÙÄ'8åïÆ]/Éj5rÁ8ÔÔ-¹Â§^#e”T§e•ëvcôC›AÆ8 3òþíŒß7xÇq‚Ÿ^§§§V¯^ý‹[¶l9p©©ÿþ0péŽêÚµkÏOMMýK­VÛÍËx‚Œ/̇—¦i½Î-0 ÓExäQ—k‘¹êN”0{ê8B¸ì>H')-¨šl@Oú–MÚ½ hÅ›ÈLx,AF¤Ûí;Ÿöó(>ó1ÌŽ~ó;~ÉU;‘J¥`Û68çH$.(\öAÐÆ¹¡øù‡¡¦M? ¶ð¸ÝpÍD³ª°×œ `YȱwBíšØ ½!È«;ŽƒZ­4ðð½åìó>‹ÄìÃÈ&€Ü0Mº{…0ÉÓ“Ö]ù´?¦O¸Rá0&´¸ˆZ™Šp½]2Ì*åM둽òN4ÔjÀ7’-i¿¨âÿkL œJ¥î[·nÝq\"uÿo'°€³gÏn<~üøoÑ»| 3èaATàqPÖY†¥Î¢vê8O|ëŠså ˜†q¯¯Ÿ®2)¼§Gkk-¿)´]{É/ÆñeÈÖô•W˜çH ÞJu`nøýpvü »aY‰„`MVÀ9QZ¹pjñP=ºÿÆžJǦ<¹‚ 2; Œ¬ûÿ‡¯’k@ûA¹m¡kå÷èo4'ôKz«gŸ<ðY$Ÿ@Úr)7ÎO%Â;v7ï $kÆûR£üŠ!hܨÐZld{Þ_—©PÍzúÛ‚aαp67ŠÄïuÙl¸9ÆÌ–yWæ«S~ÿûzÍ]¾»nݺ_Ú´iÓë—ª÷¿ÔT×­[7uþüùÏW«Õ뤔£þ$Õ@ ÐC߈¤4áÈ$j É 7¢rõ,&Ÿ|–TÈ9 ·ÙŒð<»‰ðb’$"s½‰Ê4¡P±&õeZ‰_¤ÑÉæ6–dêß@ùéo`>· ëîßðnXÉ ,ËB­V ÀÎ0 $ ˜¦ –»”ß+†"êŒ5ÄHD£Û¶Q­VCq°Oõ•4N~ìø‘,îGʲy †F÷C5Ú&ñ“¶›¯Äf&(¬Q@KK ·¤Û„’00ÉÒà×\‡Ôe7£Ž 0–qwŒbá»y½æDJ9—J¥>·iÓ¦S—²÷¿Ô@¨Hlٲ廯¾úê×…?LDF\Àk¡ÿ:ý#"†é¢¾3[ ävÞÅò"Îí?¦2BÀ€rõ‘í¸½Ç†OýüוŸÃãÍý UèéþÛyÓ\üM“&µCåÈc(½–Eiì=¨¬ÿ ØÄÍ0M3tø[¨û¬À_Ñ©¯ïñü87*~ù4ßoÖéœy8õuXÓ"ÏêHZ@fÄmÜ™ð²§;sã{¦y|ÅÂ;/KMàóóú~YvHì£fÑ“ß.A¹Æ_–çdòÆ«0¼ëݨ©µ cŒ[`Œ·¥þíjý5-ÀaŒ}cãÆßPÁ%Töûvd@yxxØÊd2_( w !ÖGU]éC^/œsHénE-Eu¬Cf÷»QªT0õúa¬U¤ Á€ oÒù;Ñ„b~ÒšyR87T z.‘‘·¤×›ôœšµú‘f<ä€ÁÜÝqs²„Fù‹¨ø"J"jþZÔ‡oV¿lx8ç. `,‡â²%Ñâöâ×ô‹P3Ïfžƒ¹¸VEÒR9WØKXî¹1Š|z±i±¾ïé}¯OΰÄ¿ïõ…GýƒÇžñ ‚p5‡aJ¦PÛ¹C»÷¢¦Ö|Œ'Ü2ð.}þÚ©þ ˜ÌårŸŸ½Ô½ÿ¥®è|2_­V‡öïßÿÓBˆÿ“sžö= ¯øF—*Œfšz@†š‚Zx •羑§°šW‘4$8W.øëþýž€ÁÞyhî|Ë(¾½·Ÿ!PÚVYJë¬D¸ Àà Ûl¯l¿f ¨Éê‰M°³; RëìeP™Ë@ €[`ÃÛ›:”s½V@á(P: ªž+…Q= ƒl$¸Ûž+a¹ŒÄ2µÃyŒÑë!´òh©Ñ|1~#èiôR¹ê¿ðÀÁ«FTŽgü’aÒIaaË&dn|?hèH¾ÌÈ€s+tïuV-ïõÐgD¶mCQ1 ãwwíÚõ'ÙlvæRÌû¿Ý€oÕT*eNLL|ùìÙ³{„ïnWèzyJ ê@àÓf¥àÈqù+‘º®ŠûÛ`gÎbBÕò\žÒ{f‡B-ïïOòÀCú}ö´¦šzq‘Ÿð€´XZ5?Â2ݽA•Ò^é¾íT!ÄkpʯÁ.â`{ë}ü&CN¤“˜ï½šûr˜CM-Âß5ܯt}@T¢U\3þHÃAå{~ĈökƯ{~Ÿö;%uÁ0-“XX¿©kï¾ ¹µþœ[Á½m÷GF½¿Rê‰ÑÑÑû²ÙláR§þo'€§ýV·lÙrz~~þ¯+•Ên!Äj" A täêú²a¥,¥àÐÌÑ븮9ù èü$V |Ãu40yñ=iñ=y´_jÕ’B¢9~?µ'¼ÐÈWùuÅ?X¹L¨: Ó*‰ù5k¼á.£×ÂQ # ÃH†½÷D¿Håßd&“ùŸÛ·o?ŠK°æÿíè>''„H=õÔSÿFJùËœóŒaAì‡>èbXœGð‹„¤h²KEãÜÓh¼ð0Ʀ¦°ŠÕâdxL@ß´"è›lpÝízÖDÚVZA»ïH#==<ˆöñ×ÓˆÑpbKt^ ·‹nœ¨|¦.è1­|×÷© ÁWÒ¼¾Þñȯéžç×c~Ÿöûí ,0þÙ‰ÕHÜðN$×݆:Ö‚›Ã f‚óæ}×A S̯ ŸBˆ2çün¾ùæß1 £à9œ·Ñ¼]†<~üx½Z­Š¡¡¡RJ="„P~Ž_¿±íVÆ-6 ÓíÇrhÐ:$ÖÞóº;1»z5¦TÉ!‚r¨¹<7¨HóªÓlÕT¯£5úA®›5{*¦Ñd­%.ù}Æ´íq‰âûè©7½åw0Ñ’µZ°ßó„=å!Ÿ¿€¼ÙÊ7ô]HSø©µWŸÿšÓÆø…fü6  Á0¥’˜[½‰Þ‰ÄÚ[QÇZÏƯ‹Q ¤÷Ðü(¥Ô#¹\îs†aÔÞÂßÛ(füÍßüM£Z­V7mÚt:‘H|VJyÆ¿‘qùÜNˆ}†à*éV5¬ErÝmHÜp7æÖ®Ã¤H¡*9á@°ŒÖ§©Þs:m²‡ºêxÔ9({eÍŸÄZ€<0à>°¦Æ 3¨ÑwÛ @èÝŽ`ºëwu£WZ×¥y~߀ °—×…>_ìä^3ÿoµ2_¿¾¿*8&E sëÖ#qã=H¬½ Z°¸ÑTüuá/ðZ߈6¹~Î$“É?Û°aÃñ/|á 5-c¼ÉFßí=ŸÿüçÙ{Þóž¬išÖK/½ôãBˆÿ›s>ìgüÌ€oàz( ‡DSCnå› (J`a ÎÌ ¨½ü(ò'Nb‚WÝeÄ&@\FZY#o¹¥¤¾–@/6<úË"¥‚¤µæ¦¸­¾ô ;¼ðDªöùh4b¶Žæø”^À³ØÀñš©Îv”_i^ßÑÀS7~Ipl7Ï?å¤P¼|#Ò×¾|ô:Ø´¦Åøuê¯ëÍ¢]†ô¸Y5FÒ‚ïÐf— MP`úkh~^'Ðj|@ ¦“¾*ÂMQôF*»Õ>Ñ_¤ÀÇQÍF±’`Û %ÇÀ¤L¡²c 2×¼ ”¿6&– Œ?ºöC÷ü:°GÅ>¿ÔWQ𣣣ÿrâĉÆ}÷Ýç,gî^¬àÀ.£_¥jqS¿ÿû¿ß8þ|5›ÍS©ÔÿB<SÐòzX9·Piº{T“‘CC­ò»‘½ù^Ô®ÝSÈb^Z¨9 Êfî¤õ•kGuênͺrëÙ}íÀQ:ñhtZø1´F¹ý¥´äÅàÌðRqÚžÚ~Ø=ÈÔÞcº£¼ÆÊû<ÒVìE©‹o´>}÷Ãß°õïíVäÓ}Ÿò;Ô,ðñûœ6j6Ǽ°pšr¨^» ¹›¿È_ ›Ö@± 3Šùã–‚û÷<ƤýM§ÓeÆü}÷ÝW÷–ÍÇmÃúfÌñ·_°Œ ÑËßÑÝwßM¿ù›¿™±¦§§otç8çÛýÅBzY¬^%-“›<¾§PÒ†’U05$΢xèAÈû1Q\Ào Á…»w¥¡…Z{0/3`Pxá‹™júVWÙëÏ÷îÑ|Utß@üÚ^] 7Ñ…Fýï%…÷•} uÕ^\—¡ Õ§š¿û@¨U÷9’Pw8æ Ó¹a°]×!å=¨ÓZŒ‚X †™ Ý?ÆXÛû·ÈÇ/ƒö¼ÿ¦iþR:~òK_úRå3ŸùL/Âß’ é­fÆ%bøÔï{|ðAõôÓO×o¿ýv2MóYÛ¶ÿ«ã8¿`5Ь×ëôŽBúó:Щ¥$rÁPS&2W¼µì¦^}ÕÓç°ŠjHCÀT ¤¤V¬\£rßZŸ¦åØ¥øŸ¥·åÚVؾ!÷3e$~× ;døšÑ·]²QúEÄð¥Æ‚”ß}œ`+†ŠÃ1-’(®_ k×­H®¿ U¬…¢!KÀ0-ë>¢ª‡Úþ(ýŸäœÿz.—{êµ×^«?øàƒÑN ª‡ù§úµ‡· ÞЧÑS¯E÷î¥6Ùj|æ3Ÿ1ßýîw'ÇáJ©ŸaŒ}Ú0Œa½L8Nì… 4i¤€’50Y“Ó@ù T= ãÕ#X¥*¦L.]6`ʰ‹PX$ ”ûHïv•xÔaCP…Þ6›Îª D·Ý0bøhõýþ}Ž Ø°0Miˆ«¶#uÅPv;›€bYKºiZÍð;yþv©>­ÑÇ‚Rê7…yèСúŸþéŸ6^y啸½Ö:UZ,›!¼™``\b†ßI»`qó÷ÿ÷"•J9Û·og†a|.“ɬð)¥TºÝz€àc˜€Î Ã* %¥ ƒäŒ\C7­F1ÿ(οñ2*Ó3£z“ ²ÙêÞWú¹> ðûrÕ4>®¹¢xHô);ks%; ŠºOacðÝ _§úJ+ꑯïlÉP‘³"‰ÂÄøŽk1¼}jj ±4·`fKÚ¶›ñG *Bˆ¿j4Ÿ;yò¤ó…/|Áyå•WãTº9ŸvÆN½Á›É .èÃð©Ï×h)¯oÞ¼™>õ©O%Ö­[—^•N§Õ0Œ7 ÃÒY@sç Þ• a@„ aƒÁ†r`Ñ4œùC¨~ üµãX¥*b X\º]‡u ª5 º·i(ª³½ûõ ó¶ëŸßn:È6@w衃¾‘H ø‡O¥\ÃwÀÐp¥…i¤!w^Žäö[aŒ^‰†ZE9€%À¹Ùâù;1µ8ʯ{ÇqŽãü½ã8¿wôèѳ÷wW{â‰'dÌQ]<{·×—Ä .$¬8ôhü+iøÔËûÖ­[Ç>ñ‰O$6mÚdŽ_6<<üiÓ4ÿÃ0X´‡`ôg´¹Hè™!HÑS05‡Í rü8‡_Bòì$ÆY9Ö@ÂT`äÖ÷Åà®)€® è­É#TŸµ¡ýÔ§¢¢ºLñ8ÐÎèÑÁð½×¤d¨;„¢°0«,T×­†±íd/¿ LÀQÃÏdÀ0ZûÄ)ýQÑ6¦¡§oüÒ¶í*—Ë¿uðàÁã>ø`í[ßú–èÁÀÕ›  V–iüÔÇïKz|ÅWðøÃ‰ÑÑQ¾uëÖ­cccŸ6MóÞv™^4ÀAjê²J: Ø€,Â3 ÆT?uôrs å d¸ˈ]Ô>ª Päµ8`}ÜtŒz üUFqF¯TËÞºá7¡ì˜— #Ã`Ûv"½õ ylŒA±ˆ,0n‚1Þ¢ò÷âù£=uÅß¶íû~óùçŸ?üâ‹/Ö¿þõ¯;=ýR€¡“±¿% `¼I†O}|»×h9pèÐ!xz-,,½öÚkwbbÂðAÀ-öñÛoëKƒ;iúkRÊàoˆLHÉ!‡"ŽK‚%rHïZ±~'ŠÇ^@ñè1 • 6ÒäÀ´¸’ C57þ „û ê)DhF¯ï[€HÊP ÿ쵊y¨½¸ /%Œ3z¥ÂmȽµL !l‡P”‰ÅL´år¤.¿ÆÈ40‰<ˆ¥Zótº=6ô€ Ñh|mjjêw}ôÑ#ÇŽÏ=÷\d±ußF¯bDBêÑûwÍ"\m`Y `‰†ß‹·{L}¼Öî=´sçN~ýõשTŠïÙ³gǺuëþm*•ú眢 Dt&àw\K­¸¦’aV`ƒà@ÚT€‰Y4æ¡qâeàø ä‹Eä¹,³a’ 4½5€Ë{Ùua@ˆJVûJµþ|ƒÒ|ªU„_ÁçÅøä~Iš(H…ltùf$6_stŒÃQ9€§@ÌçV ËDÓ°ºx«‡b"ᘈ;TµZýêäääï|ó›ß|íôéÓòå—_¶dãŽûÙëkí^_2+X ¸°T¯÷žnÆÝÏë”ËåhõêÕlëÖ­F>ŸgwÝu×¶-[¶ü›T*õ}œsC=$h·Œ8ƒú!?›€ ¥ã.eSp¹“æàÌFíäAàÔ ¤fç1Ì\ °˜çnGbbJßR0DaPÿÖª7ÔÛP|8 ï¿-òñŸ¶ Ê3ú†b( ‹°PmÜ„ä¦Ý0F¶ÂQcp(bi(˜`ÌÊyu¯¯/ÛŽn<è†W‚ú=ýªÕê—Ž?þ‡<ðÀgΜ‘tŠÅ¢Œ‘7;x?¯÷}ko),Óøû¥øÔå1оL“!ÜK'x}bb‚]uÕU¦eYt÷Ýw_¶{÷îOe2™2M3e: ÐãÐNâ`ÜÄtãO A桪gP;}âôQ§§‘§:²pæL’n£Ma!ºgøÚ/ý~K/þÍ¢#©yz¸Å;Šn0P‚‚JÀÙ° |ä7^ J­…ƒQ8”±4ÄÜ®)¦i†B«v@­îkcEtO­R©|þå—_þìùäß}ç;ß9?99)æææT¥R‘ˆßµãnW#©bt3×Õ2˜ÁŠ€@ßЧç_NßÍ »±HÚùF€ááa>11Á³Ù,Û¾}{öÞ{ïý‰‰‰_´,k,NÐY@\ª0*PEûøaAÓ{I/4P²RUTW=ƒÚ¹C°§O‚¦¦À§%i&„€Eœ)p(p )½­~$ë·ÜÞ{Š„„$éÒû8*Š£$ ˆ‰a`õÌU›‘\w`ŽÁV9HÊC" PŒ â ƒiTäëÔº»]O4çßh4f§¦¦þä¾ûîûçC‡•NŸ>íÌÏÏË6^]>®°¹ è0–¢\&p!`¹±|'£ïô:õøzèµ|>Ïóù<¥ÓižN§Ÿù™Ÿy×¶mÛ~9™L^Σ86Ð.MØ øqj+Cð:^ÀD „*8ÁUL, >s ÎÌi83Ó ™9X• RJ I“°HÀ„ó76…r¿ áÅ?²™= Xƒw <˜õŽ«Üû»(ÛŠÐP é½ä°³i`b|t¬‰Ë`mäC”P9(¤ž`€˜ìǽf½~/uýÞcU«ÕŽ=zôþôOÿt_¥R³³³bqqQtðøªÇ×:ûrBƒ~Ã7–iüí@ _ÚÞÏëúÞ´´µÌår<“É0˲ˆsNŸøÄ'®»þúë>—ËÝj†­hѶãºj­ï_èOl“[ïzi²B œ*î¡*PyÔgÏÀY8±0 µ°Z(Á¨×‘`&$L¦`(ΘTàäÖxd‘kè B$s½»CžÑK†+5œ ŒÁ^Äèe`‰JÑ)HÊBJ ÌHBÁˆÈM_èÙ”¸ŒJ´U·žq”_÷úZ/8Žc—J¥'÷ïßÿgý×½¿V«‰R©$‹Å¢ˆiÔË÷s Ï×»ÀR5‚%ƒÀJ@7ƒW]@ WˆlªÝss+jó9-¯g2nYLÓ$tï½÷nºçž{~hbbâ^Ó4óú¡NL :±ãDBt –]1¼†x°A²N5pÔ@¨ƒ£ià¦` «‹Õ2d¹4ê@µY·AŽãöWJÛ¶Œ“ƒLÒ4ÀÒ ‘K§ÁRðô0ŒÜÌÜ8ÈÌCR 8*EiX ²¼¾¼ÅèuïÞ®e»Þ—1n³ŽNž_÷þ¶m¦§§¿ôÝï~÷ _úÒ—Nض­lÛV¥RI´1HÙÁ€;C§åO½ê í4ƒ^áÍ€6Æßé9Šñ²ÝÔ{ꨋqw3ü¶ï3M“¥Óéà÷mÛ¶e~â'~â}Û·oÿÉD"1a‹Ó:@; hèÀÕ Ü{¦‚Û5ƒ‘ %m0²Á¨¦lÙîRd`A·B‡´y¤üƤÌmøá&9 î¦hIHåöT° ÀÜ^‰n¢Ò‹é©…âëÆ®wæm·¾¢“ÊßeQ¬×ëS‡þ«¿ù›¿ùæo¼QÛ¶U¥R=q7cïÆäB§0‚:€@ìsý‚@WX¢è·œ¿“‡g=|4)Ö/€ï5M“¼µ€~ögöú[o½õãããã7†‘Š€8Q°W ˆRßhA7Œ¦ .µ÷»FMÞJùÄ^AIÔ0ožº{Ê;/OчÛyˆ¼ý\Ãnî꣼¥D:çmU{]ÔÓ Ú…¹“áwªë×xVçææž}òÉ'ÿñ/þâ/ž·m[€ã8¶í^)¾ló;:¼Öíï{Õ–›>\\Hè”úë5Ž3æ¨gm ¼“ñ³ØCp^0tÇwL|ô£}ï¶mÛ¾?‘HŒE; õDÓ…½€¯D3 qÀà>–¡¿óçp»è‘{\zÝcû—¥Æçéã~~Çv ¨S¼¯½^Ÿ=|øð}÷ßÿ7~øá)"R¶mKÇqºQô¶ ˜{xM¶a²Çð]žGŸÚÀ›½xÿ^¨>º7#×¢Û{{…Ø!™L2ä8~é—~éÖ[n¹å#ccc׆‘l§Äe â¨q'0Ð8jüí!úº^64Ý6QÕê†Üi#Ö^>*òÅ~›%½µÙÙÙýO?ýô—ÿðÿðIÃ0U«Õdqzœ±w3øvÞäDô˜B\¶ÐVˆþ³ ݾB7h®½Æ;xkv c¨`)¥èöÛoŸøÈG>rçÎ;?˜ÉdÖpÎ)Ú_°W6ÐɣƱ‚N€ KJuÙa9îq“-ÄŸO»´^'¯ãýU¥R9÷Úk¯}íË_þò#?þøåyü~<ür@v`B«*1€!;d¢eW4 X*¬¤÷g 1Þ ¨ hðÛ0Îyè¹ýѽêÎ;ï¼{ýúõ7§ÓéḒá~‚n‚a/^¼›ÑGCŒh7^À îÿöò¿ú5|ý¨T* gÏž}ú‘Gyðþá^ÑK±Tã3fÕD_G  h =zÿnÅ>½æò{õÚ¬ƒÇo÷Z;ÐèözÒücÍš5©üã×ßxãw­ZµêÊD"‘êØÀRÁàbÝŒ¾_ã¯×ëÕéééƒÏ=÷ÜCŸûÜçž?wî\µ –=@'£óøí Ýk½°‰¥¡ƒHØ7¬$,%Í×.ާFÞé5ÞXÖÐpØ6xíµ×Ž~à¸öšk®¹}ÕªUÛ Ã0;A»LA/@Ð/(tÿ–óÞ¥~7ãwÇžžž~㥗^züë_ÿú‹û÷ïŸí#/{‚n.;°vŒ¢ t{aoô²f¿Wèfp½zùnÐésÚ齦cYÍÍ7ß¼jïÞ½×ìÞ½ûæU«Vm3 ÃhÇzaýÁ…b íâù~ ¿“×ןsÇ™žž>|àÀgöíÛ÷Ò3Ï<3Õg ¯SŒß ÚÝ xt¤nÆßk¯·ú-ç38ö&@§ðbYà?¾ñÆWÝ}÷Ý;¯¾úêÖ¬Y³Õ â ¿Fݪ — Q«ÒëÕøÛy|½Ò§úçÏŸ?üòË/¿ðÐC|öÙg§{ ËÝ M3@.z-#^YX&ýïz¡ÚÝ W?xäoyŸÐ)Ôh—zd}¤6±k×®‘Ûo¿}Ëõ×_͆ ¶g³Ù‘vl ZTÓèÊûJ³N*~»ú„n^?J¥ÒÜ™3gÞxþùç_züñǽòÊ+s=¦Ìd—”œêÁh»€ˆ|Žè²CÖ W&ÐÉû¯XÐ/ôJÿ;1‚^h'èfàÀ!îïû—Áó7nÌìÞ½{âŽ;î¸æòË/ß611±‰1FØ@¯@ÐM4\JL߉âw£úíªù4ãWSSS'Ž?þÆ#<òÒ¦Ož|ü‘GyãìÙ³…³gÏV#“Wv™ôý¤úº‰|Kab…€D÷ÒdBï¥Â5ô£ô*²¼66–X³fMê–[nÙ´cÇŽMëׯ¿l|||çœÇ@tiíJ°€^Õ}_h³‡˜™™9sæÌ™Ó¯¿þú‰§Ÿ~úÄäädeff¦î8Žhcä@ïe³+ÁDŒaŠpèÆzÕä24€\d€Œ`I ¿‡sÎòù¼™Éd¬­[·]ýõ›6nܸfbbbíøøøZÓ4Íåjýòt¢ý¶mÛ333禦¦Î?–ÉdrËe½xÿr¹\, ³³³³³“““3§Nš:pàÀäÙ³gKµZMÔj5Ñh4Dź—8·[€Tö¥¨þj †¿X©Õ‚- ‹bÞ+P"ï1 ØMè¶N Úmh¹Ð®‚²mꕈÈ4Mæ-@¢d2É·nÝ:²qãÆ¡‰‰‰¡‘‘‘ÜÐÐP6“ÉdÒétÚ²¬T2™LpÎ-Ó4MÆg^ü Ý!lÛ¶…Z­Vo4ÕJ¥R)—ËåÅÅÅÒüü|qjjjñÔ©S ‡^¨ÕjB!…ʶmåM²^&h/Í5ûÑ€îe·ÝD@Ñc°  ×:nº¢5`5½úÄQ|ê‘tKúŸ‡;éqßO;óNEVq¯wz®—×Ðmux-®>½_h· ®D…C}Õ]ÜãniÀ^€ê"ôS(ÔopÁÒ€ýî ¨z˜H í Å}F§>éÑÖHÍ%Ä:JòÈkè”ìÁÐXä}ÑÇÑ÷ toe¦ÓÖèÿ`1ç¥/•–h¿ðJEެβÍ5’Úsí¨ÂK^ã^‹>Fä>÷ÊzYXÓkHÐKµ!йÌè­¼·°vkÖp£/PJ©6ÿˆîR¶žl·K}/½1Q` 6Ïb&·BëÎAúï*ÆàT…@2&5*c^×ÏI¶y­û’mÞ³´fÝ'V/º[åÚRC€n…@ý–wƒnž[õy-U‡ßû½ËÞQxEvî“!t‚~{¬G>.§Ì:ÄWq›†(Ä75íöE€ð,E@ì‡Â÷"ì-å{ᢀ`í £›çíE;XÊj”½-áz|/@?Ú@'Cé§ŽXÞ*Ä^HôÀD–¢ò¯¸ñ_(è— ôbP¶WèÜx#®;1:P÷•*Öé׳/EῘ`© ÐH¸o*;œG\7^Äüj£EôºÐ }|§®×ùM€%„í¬NF-ÇEÄõÁ– -t™^À@uøÛ7‹âÓEjü+"ÄõA¡{é¬Ók¬.cBŒè¹È˜¹Üi!T? ¹"Æ¿,X"è54è×Ó @7@Z ¿”²Ýå8½ F¾RÆ%B¿aB;ÐX®X·ê÷z¬¸ñ/– K‰•—CÅ—+Òõkü+µZïíýLzµLX)‘q©¡ÇRèý7ü€A`©qïRc핪¹¿Kr/tŒÿVÀJ‚ÀRÀ`%Æ~/×ЗÝâë-€e€ÀRŒk¹õô+«Ó›lìoµèw¡u~Aa)Ï­Dz²×Ç+F÷/„ñ¯8ô K‰}—cÄo5ôkÀ»±_±Ü´â› KÕ-ú¾6Âð/(,ú5œ•L«­”¯4ÿ^€ 6¬$x¬•ïùz\HÃSàM‚ ‹Ó:ß·³Á¿•Œ`¥5†•¤ñ•á¿©p€`¥ùÍÌÅ/ÅÐémlä+ Ë5Æ•‹ÚðßX,ÅUFÐn÷êróX“-sòvÒ Ô%ÔgœÜÈÉß+{¸·ÝväAÌœº »ô¼Æÿ–À ‚B¿çB{^º€ô½¦¼™La©³äï¤.£»˜`Á`)ÆC¡ÁàÂÞ›º3ºØ íb€ÁŒÁÀ` Æ` `0c00ƒ1ŒÁŒ Æ` Æc0cƒ1ƒ1€ÁŒÁèüÿ˜¨ì‰ÊIEND®B`‚./chessx-1.3.2/data/images/home.png000644 000765 000024 00000003517 10622422464 016544 0ustar00nistaff000000 000000 ‰PNG  IHDR szzôgAMAÖØÔOX2tEXtSoftwareAdobe ImageReadyqÉe<áIDATXõWyPUU>-ÎdaQSYÿ˜“5ÍØ4“”3–¦RŽÚhMJ¢AÉn…Ø‚–¥l*›¬OÙIÄK‚PɃÇúÛC@T–‡>ÀЀ'=üúýî½É´âYwæ›sÏùýÎ÷}g¹çÞ+[½FDE­¹w(`¥HB ¶-Bbe'Ëhý5¤ÇøJíÉ›g!‰Ê`‡‘ÿÄ‹G»O2§ûÎÁ¡¯çJ8¼s’«»Xø•;5@¼Öˆ#‰ß"sÛ<)çÀÖ9øÎó °xŒÇæ£;‘ðrv.DN¨ÒtF„h÷×È‚©ßüxpœ°‡¶;"hÝ\Û H➘O-Á©Ðe8º'c\p@ßÝ$X •Þ(»¨=©¦é_ãTØR Ü/`íÜñ`ñXÏͧ"Þ…6ÎI‚&чë."¬Bb¡tÏõ°J`O¹ ¾OmDQ® %qïCï„‚°w±ëC‡ù¢‰è_úÛ³€Åã>¶3kâßGmª‹]Æzd5^Bd•,N"‘Õ@Œž ãMDÕ@Šs,‚N&ÊrvKýë˜#åDx>1²ÎQä“ÌÓ·<1Y<ÞËÎ\“â‚–#h9ì¦c›p¼É„hŒ ñ¨*Yt_=Mwã $P=®–bddo•œw¨¡5ÅI0dzJ\5©®tV3Ð ¸: \–ë݃rœóJÉlA»Ü¿Êt1VÍݤ³ƒð†´þ7=Ž÷(Ç¢`g1\l”Å‹I¼’ÖÚ@ÓCÓ]M#ÖNWžÁ RÉunç8çqþ/ЉÓFÙñò§ÛÂBÂã¼ô·:‹ø”rà÷y‘¨;i4jUgæj¡®h’W¬Ço¿C*­mç<Î/£~j2_n‚õ(æM÷Ú¿ú2âÏ(:Ö¡¡õÔ’‘šy²i„UÊh‹iä<õ\rÛ³•à|~B¸¿®ã±:"âY¨è‘Iê/Óz–ÿyv (›°]Þ„ç<ί0É&êûm4ÐH+ˆ ªGQ-‘6\–—¢…b­WhÓÎ]„ñòºšÚ6)ó¹_%™0Øj ¹_&Ò)3ÀÄu}$Hh$#ÅŒ¾Õ(‰wõ  D1ÀùÜ÷BË ´^%òÞ°`Ô+F•†vt’xçcû1M:èiûí¯8w « ˆLÎÀÿøRÌGƒi`4ŸyÆm€$øË–$îü¬¸å¯Š]ùÉët‘½íºëkbdlþêÙÂ8ÞÏråGÂ[qþw%(-Õô app‹/.ã6%¶Uá×É%yª2mÿG''§4S &S¸Ôh4ç¹bŸæý'¿fÖ릿_þ3~¯¨¨¨¥­­ 7ƒÛ9~»¿laëï¹">ÝÞÞþ •J¥Öëõ¸(oÓí8þ i­Ø?íxþIEND®B`‚./chessx-1.3.2/data/images/insert_move.png000644 000765 000024 00000010035 12176205356 020144 0ustar00nistaff000000 000000 ‰PNG  IHDR szzô CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYsIÒIÒ¨EŠøtIMEÝ -29É̃[IDATXÃÍ–kˆUU€¿µÏ>3SÍ\g&5Ó’™L ++L-z¨SQôGŒ({¿ EB:¡…H/‹ÒˆðG$‰V*&¤!èZRLÉhÎ8ͽwï½úqνž¹ÞѹÑ,Ö>ûìõ^kïÿwÈÅ ¨-Oél‰÷_CS* Î°˜\ëä”§,£fhˆÊË®G/C–Ø[Rž® Y§€©ºi`ÈDÍ=]ì?¹væ_=]ìÓ<䙣6 „„.j÷‡—ß5—¾ö8JË_Ë¢öp8+óŒ<Ò‘ÐÎVö½ÿåcü-«1¹±¾ýÞäÆão]ÃÆ»§Žé<—}YÙY°ÙIçÀÛ Ù²qËÝã;eዎþ&Hp0˜ùiA³ƒ+Žõbn]¥ŸöÝÛ9}ÃàÆ·pߤs ÷İŽI+¾ú <ºoqüVÇcëÕ H\ÏÀ×r¬¯W“pH… ª'©*„À˜ÖqÚ4÷!´8„!°ÿÍ'¤ëcÖ7ÅÐ_ÌÐ•ŠŽYÍgÏϾ¢‰“ÿ&®GL”*Ö”JÆá“¤dL-üG48Âæ×ÖÈ¢í\ì-錌@1)ÖžYüôÈsÏ“Îu„ªÔÑG}¡“=BuCh(€PhQB]#SÆŠíÝÿÀÎßyÝ)G’IÁâiüµiÕ’Ü@îb‚ˆ1 ‚Š )ªH&¢ iTRÏE5ÍD@B²¯!$ÆD Úðý¹çÝÇ7ýÀ˜r\}>ß~°´;w"צ„¼$AÆ#&€ ŒO ˆ|ò)"É?Ÿ¬ñˆø¤‰Š24m¾·äÒÜÕù¶Ô×/»17Óµ^¤¡¿1†0Æ Æ F ’z^.!-Ÿª¢ (úÁƒ¨÷¨O×-è²ë~›Ù½éÄõ¥ôzaüò–¦:UkEl„X Ö"QQ”Pc#¥×G©ÊÕ¯‰R ¨óà#Ô9p-zÄ;=ÚïdÊê#//JÇË#Ž)cãmß­˜²À‰UâHÄZ$¶eåbˆR#L;¦ÊUËJñþ¤E‡x§Ö{™Ùs賃º…çÙá—ÊÍ3š~þ|é%íÇ‹¢ÄV$¶I$âÔˆÈ&Þs2iå!)8—†Û9ԥʋN›l/ÿøËûû/:å"*]ÍO.œ_÷àTÛïD%ŽEâHM\'¶>II‘Ĉa)©rïÁy\¾@(8UçD EmŠUž~÷ [·õú¤·+ ˆ#(&—QÛ;_òËýÝ“R£¦.–?޹°í›>cb‹I‹RŒ€˜á5FÀ;Ï‚YãÂÄæØ„BQ²aÛ¯<üú÷íÀጮápv}ùmêÞµv–æ¿ìC;o×O^­@S-³Ìæµs4ÿÕšß~[صî*º+tœúæ-`ëœgö®è;^cšä1·5`%2ißq'sžÚ³ØÚÒḣÓ?ÇGÓÛVÎ}b÷#""µ$"‚‰Dæ>¾s °rz[#G\킺¯™phÇúëjÉv¼wƒvÏžx迌eÞ•ãh­§u^çxÅì0j¸h«á|[Êóï½Î ˜ÑÞeÐV`ùߌ©ÍÙËʪª¨šRA@ö_åT¢ë‘0d'™JaQªÔdÖÙ½Ò©ÒA!ê34hð™ïìµa¦Jˆ+©ÉPS1ˆj…"—®³Ôe¦ë3|°;%5R%=•÷ˆ!-r†”kév+µKÁ›jéj T ¯’‚‰‚ž®¥J7È^V+À0Š‚ä~A‰_å¹u IEND®B`‚./chessx-1.3.2/data/images/internet.png000644 000765 000024 00000023433 12142367140 017441 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËtEXtSoftwareAdobe ImageReadyqÉe<&½IDATxÚì}ù“GvÞWÕÇô1}Ì}`f€ äbÈå%“@Jë|-v„µ–…Ãa;6e…kiC‚l9ì°Ãþ¶_¶ Ék®ìÕ‚+îr»äDœ`̹º§{º§ïÎtf™UÕ `0@v" ]]ÓGu¾ï½÷½—/3J)Zí«ÛÔV´Ðj-´Z ­Ö@«µÐj-´Z ­Ö@«µÐj-´Z ­Ö@«}y›;oRå©þQå¯þ5Äÿɧ)Å@ñG š¤ì ÿÇ¥sñ‘NŠ dOg {d;ù¿õböiþÝÛÙU¶õ¦§ ßúÞt‚ýü3ì§œaOù1C°ZÇ£ ]?!¦À!€ç„P㹌Ë쑸|ù½“Ùö©ýúGLègÙéYö Î6èÔ Yó‰Ìsúk´¿ìüÕ\úä7^ʶ°íÛߟ9ÍdwŽž» ¥i‡ 0Ì€SÓÝšï"[¬¿Ó ìô§ÿðå[Ø…öÞ÷gÞcï+ܼk‚·¥¯¸ôÞ>1Í=4à4ûn_ã e)ˆæ&èWþÑ+[Ø!Á³o;Ͼó%sE±„ÞìVl`¸‚‡˜~û¹Ià’ EíG耨ۀ˜e×Ïÿâ¿z±€m´s:{šàqF1¾ÓüZE€e dÏï°‚àábüÉ@VÀ|î¾ôèý·Ëìáü/ÿék·ðh‚gŒ°¯8g š}®À´»/Òg‚A`ö’%°]€Cà¢Æ]Ë봡нñ;=õŸ½žm ±ð¿É>ùûø¤®ñ Tªnû 0˜~_ièDhGæ¶½M¿‡Ö» ×µ:»(_'ìš–[8÷Å?ãÃd?Ÿ`ŸÉÍýû¦ÐE˜æ_èš@A“¤ÌüuaRêxÓo »±æ×Åköó¸{»þ/~%û•þAöy—ØGN¨šÀ a«Â¹¥ùŠ¥ýâ=xÝŽ¤õˆ@føžL¿±À×%,<©töÖoþ¥¹¯,˜ðO²ºÌ­™|Uµµ^5,€)xÓÀAëÕ2ê•2ªÅ"õh!p­ˆîïÙï+±gåƒ/ÂZ$PÓtÈOEA{‚@nÝËp!7€ $öxæö¿|óêWFxwÁº¡ñúsªZ¯£¶™B,5 _1‡„¢#DÔ„B!˜ë b‘¼ÉÙ%,; (âÁü=´ÞŒ÷•ày€¡NÉ èá#Ź©ßzóâ~À}hßÖ“:á«–Æ+†0Oꨯ-!¶>‹ç¢ t#‘’;6{‡Êq ðNo‹Fm.@9òa€€Ý Ñ lĈ9ÆùX)QŒG!ãÄ)»¦X¤”¿„š•}¨EV#T¥Ý˜¢û%Eg)ÆÿÓ'¸ûÛoíyòhÏðílÍW ßòÿì|j }éŒGU D,“C<.pE—¦ªi².QU嚬jŸãã Rl¡SSèÚë¨.h–`5kG…PÖ¹$páºå²¤¿€ 6gÁ`$+.ŒýÇ?Çô¿zûâ—¿þÑô{¬§.Ø _´z‡TÓËèZŸF-AõðH­‚ã©[øÚ±qMðîß$t ÷èZ_.y=¨×@÷…´ïFUã„ý/€ÀÖ~Yëù5j‚ƒB»g[ëùK¨ Ý( »0 ,!•A£]ºpè?ü³ß9uñK€ð¦5³¯É34Éx¬eÖКÆóQààñH§Óøtæ*j‡_Âb´‡·¶˜ÉOXy~Å`÷Š•Ìᇪ™}Õ‚b Ô€iúù¡™{ÍJ•1 ¤ZGµ°$fD#²EPj S`ñ‘Øì/ÝäWå\û‚ 5ŠB¸Jç Cû©ãv/ü÷cî_ŸÞì üÖ÷¦9ÛŸô©²É'å"PÜD_fã ÆF†ÐÑÑb±ˆ¹…%Ü**Èþ:J£óŸá@4¨YD2‰H8,ä›ôY¾Ÿç67ñç ¨Ÿ<íá³Ù­ZE}ê—P³kh¯ÐæW1×1ßðñ†áHäªfppñ F:¢ðù|Ú½˜„¤V«cu#ƒ»þA¬ø:IŸSwDLÌÿÎéÇŠžÊ(àïÿï{¹ð™À“´V…²ñ[«eBﵡ¯·ñxL뀕åe\[É`¹ç½Cðûý¬• LË nm ±¹ŒÃŽ1 ©‚Ð;ÑòÓäÉ;Óx0ú*Ú:{]#|Z:—ÝOýÆÏð2èëë×T±V­áÖ½{¸1ÈÞ×;ìxÝpµ\†:ý9Žæ0ÐÓ ‹>LÆÁ‘b–m&[ÆÔðönØ´÷fx%ÓÂïž™{fð÷þä.Ïð]fŸà¯3ÿ~"{‡»ÚÑÕÝÍ„7¬NÔæïßÇÝÔ&rvT|A¨‘v}mHôX¼Gtú ¼¬žšÍη¶ á½Â„ßç™æå‚®ßø)N ‹ÁÁ¶°˜‹…nÎÎ#MƒZAJiçzG˜Ëêîê–ÞÛ ü±T.ajyׇÞAÝÙ*IvËg–¾ûNv·°Û€§w'4¼,ÝÁ+åyFæ#ÂB2MèP¬”/?Žbô°ŠR±Ä:€ùbfš«ÕÖïãF{;Âñ„”X8Ø¿µŽøÐ˜Å¸‰9LÌ>7µ¶†[ °:þ¢]}Ö@G¢Cþ†òìM¶XÜ=Âgøÿj©„öÏ>Â+ã#Úw85–Ro-–5\ÿ;õEýá¡Äîásw7º_E%qÔ°Ü‹Ãíœ]þ½w?|f,Àßùã; ^"¥°[ø ¼-blô0#H~ñq>Äô®"Y¡€…j_‹ùqìøsÆÀŽêñÎ\æÜai ›#Ï#Ô7„û.$êñš•ðQuKPÞÚÄÆ#ø=élÅr€›['ÛP-óíŠøDbümmAÍôd®`qMÅRÛ ÒŒ|’pŽŠý }ðg‡V~ÿÝJÞ°Îþ€Ö*ÉÎÅ«x³“…u„œyÌëŠÇÁ£‚|°‹¹Žv¬­Tðœ!P.Ï\>›Ó³¸î‚ï¥w‹D¬‘˜é#ŽN0»ŠvöyPœ²Œ·+£§@ú§P<É2[Á`PãC‰Z ·V°±<ƒùj©ø(Ö¢C þ6&¥P’Wí†+Øqüí§x%Ϲpj¯Åk“zPÔQø®âň‚t¹Ž¶Žv-»ˆ#J¡³«KæO§f;<öž~KaõÌ qN„$óƒÔÊ,£½?±CŽT˜ŸcÌzp= i˜7Å„.asƒÚðQܸ¿ˆ ë¤ Ã Ší}àQ†ÏÌ*š¹a„Ñ"bœ\^ÿëZg+’z+¶ wùy>úÆÚcèf–áùþ^ŽWñ6¹ƒÁÔµ ?úÑ>µào]šz‡-~ÆÚÇY¨ÇÍÛãv”¥ýìÈår¸zo«C_CÔø[8‘ÄbçA\¿u‰vM0–¯ Yø<§é矻rj¥…à¹ˆŠ¡áaÝ÷7»©\BÑÄݦ›àùL&‹\ùâ»ôÎS î§x¢g0?¾C£þ>ó†hyŠ—»éw÷IZ98Ž[‚rŽÖ´ß ¡¬t/1s÷•b#´€Ï–{ó›Ùq^ôÄeQÏÔ­›g˜8}êÔ©Ÿ*œý_·x®ÿoe/v…µqyKªŠÝ«T#X²ÀqŒÖÐå23ï7RyD¾6(ǘDbè¦ù>¡rHŽ¡á£‡c!^6…ŽhØà¶0Ì;²žíت©Ôø©&ñ‰ý5ã mõ<þß•/Îï”Ø9@ñ~%—Á •-;÷H*!è„Óh¤È§€ÈóOÞ%ƒA±Çáùߨ}q¿jM¥‹á’6}R‹*¦x0=uf§¸ÀŽàoü›§¹š\¹†ç‡ûXl­zj5NÄ:=kΞ³›Ïù Ê±þ.Ð3͹¢Y ›À¹f eÖ´<=%&˜§E Òkš¹…' ©Ü1.OÔÈ óYüâúÔù§ ‰‰×³W/ôÎý /'bñ¸­ŽhŽÝË?šºnf÷:;;‘LÍ£ÆÜ=Å‹Ú>«afÏĹ}æ‹jáP¯×ìú§ pÛ q²‰ ù.«àxƒÓPl@|Dtunú,ïû}ÀÊVål0·vè×Fâ(}Ù8º\¸øœØƒ;|¨U¶Ã4á±. ÛJ~žý×þâk˜oK¢ÀÂI»<œÂ-ûÚߌ½>ìò.,ÆÎ#‚{óKÉT*}vßPX[:Û×Õh4"k’2’ɧÂdM‡“Fõ(æææ°Þ9?¯æu8jýÅ–D*Ì4Á¡0wRó‡Ä›’îÍ)p Äy…M9€§#‘ÜŸøšFü‡Ò‡‡!ñp7nÞÜ_pT,–Îê5zrGÈZF­¼¼ó‡±üj­†™™i|^ <îñ8_qÌ'yn^ý)Ž×2Õ«±]’ĨãšC×\k¦ýä/ r…Ç —–`n£È­ÀÅ}@5³z6 [‚QŒê\ý¹¢ÇøŠLþ´ÂM£"“_ËnlàÆü,$FPôÁßÓÆý}F ×,äÐGòãQŸª­Ê•rø}È7š~€áG­"ÙÝ4âò5פ×:-€Ë:@r]^.À+ ö¨‰ƒ`[Ögnâ>B§¾(Ž0 ˲èBT ÁpíTÙÙƒ˸º–ÇêÈ+ˆtt"däîM¡+pû}=µ«ÂA¬»—”Iÿž2³(C¡€E.-“J¼#ÛÔSñr Þþ_¶Í]@³Ð+àr¡OŸÙÀ|ÏÉÌV1ÙÆPèIä>BÇט_žf>þ'i‚Õ±×Ñïp‘;*TïzÎÈ1˜¿XLé,¬,gÓˆ´¬ðÐ+âð&¢y‚ã¹2ÚØ8s;­ýf4°¾¾žä²Øs Àüÿ„Êkó´T®bMΠ T¤ÿ¹år÷ææ1éë…oì­BÈž®mäv\ZoÌèPz"OÈÐ-€›Uc3mkê—,t¸´ßy.™z$ҵơ/¥Ž„óC }ÌØ‘A_íêž º±:!j¿lÈÀQ¯áÚÝY\Ž"Ó’0ifÓY|–¡Ø:öüªj›yª—j)*¾aú©íï%¶¯Øšà ˆËDñgÅô«$’ƒºIÓOÜ׈1lÆÜÏ9m— õdÿ“X[[‡‘zì¢ÑmE¼ ¡î xâHNy¨ˆÉÅ ¬|•}›ÏH䘰Wé0j ŽÅ¤9÷ÔÎø¹§Të\Y`¦?׿Ç(ñ–ˆ i hòp ¾àè¢_NÀÀ#3 J]CÁ¤Œ OÄabO-ŸyCº;™…Vu3_#XϬk>00h¸‚#~[mqøÚÂvRGÙÎ “oi¾*Ì“ òìZ1°ô꟮Ü2ƒã²‰CøƒÇ¼¢—«ðú~róoE«Ë{ž NúhÝê Ln ©,nø¡¼å[AooŸ6מ™Qך}:ù#ª Ûç+Zx©*ÎÐOp*K³ˆ…¥px Ô!|4uN¦î"€Ô± ©> Uå“G=4|;æßl¼ˆÔ°ï&x… ¯Ì]\^íj‹}o ï@¾\Ä­ùÑÍB/-0:‘X1ž˜Ò…•ÚU °3}ÔŒ%ã„9öŽâ^=Ô¾:ÎC}n¶ïHü4Ó|§£Ûà¢Fóy i,TÚ0¬ £³³x|ó¯ ѧ¹€äžº€|.‡©õ-ÜNžFðë3qTfêSJDûÑZÙµ¢¢V)È…b¼¯ýbcÖŒ¹ ƒ w ñ>+ô3­€àŠ› +eÖ!~cÐÇ¡ùhìd×à=Z)k7ø€·ö—K%¬¤6pÉfµïÐX7R³WðµõY 2x¶gþŸ¸¶`›ï›ýTAöÀ8á¨V‡GŒšN-Æ´t/ïÌ`[1òfoþéÄ0jÝ#†#zVÏÔz‘é«p˜«o¨æoú;d’×çÑaL3—G÷hCwàä ’; `ˆ7QÌf³¸—)ãÞ·™nöó)©Úk³ßÀä Á‹.! _#·¬X^¿gc§Nº¸Þ>Œáõ/0¸ð3´/~ÂÈžÉÖ³ánæV-9tïŒvãõâ”ìšÇ²«+pq~ë9qDz™·/µ¨MÕ…Eì…ÄuÿÍ(À˜¸ÙPø¢Ûx¨UfnhyeŸU˜>þסv°V Ñç)ªÈpøj“^à°bã šNmiýø´YÄóðr(§Õ§å6àÓûElŽ|ie¤kŸV‹ ³ÌÇÛ­*Ý|UA5’´ÖÈÈôE¿¯:Ì?…kYg ¸²•C·R×Ì¿µZ§uÝB%eüÄ‹G/9›[Iáv×IÔޱŸæÓBW f?pcäuLΜLO#‘ìp¬yDgØÀ/|cØèîGOöm*ÜS€Dq±®¡0"‘~ey—ÜBeèM˜Õþ£ø4ÓŽ0‹ ¶Ð†:ïŽN?"áv]ËTÅ¢¸C>x¬ÀGh†ü”[¾’¡Äsü^´óùãºêñ¼ÈÂÏë©æG¿Á´£Ç²l"A$bÁ*‹ÝÓ#o`êN/– Úìóµ|Y›«Ê¬xMûŒ{ DËeð±—§ÂðáÇ>’ÕnÚì>àr´0ƒêÖ¦õCêÉAºFáëD[÷‚½ò*œÂªœÍL¿8ìKêö2*Î¥U$óÞ`QS æ¼ý‡»*¬ÒØð„×zï MøÄ‹Ø‘GNýa‰ðÈjºÔ†¥Á7Øß}P¦;'°‘+4N±ð’ó²=µ¹šÂÇ¢µ Œ<Ý«²s¨³+~‰L0©Å¦Pâ°j4ɈcD0ý²vkÄOõ0ýbèGmhFfű̿wQ‡g(×À&îƒxÔäÕ°6taÂÞBâÆòÔõœ‘8@‰EO³É—A!íý¼•ヘÚèFG¹àiŒin{F¯žü/?œÌ¤®MðbK¿ß‡ “Êp2ŒS}fŠ q©ÕVõz½º¾êg%WÆâ*EÆCŠEþþÞ!ïk. ú™~ß®0¸»È­¯5¨ÖªÖÂQ¶ˆiî×ݦ+‰ÚïÎè× ÌÔ:ð; W½¾O*{çë Ïs¥*òÌZŠÃŠêÃ|ò9¼Tü‰'ݽ{ÏÔ¶Hfià,UKút,ÖÇV~ŽWؽ$’ C€ª4ã—ƒìàӺ痯ãózäÀ1Ç@„¤V ·—au.Ï‹Aü‘vÜOŽ!:{ cÃC:¼„AãA›¦Š‰CȲe‡–Cm!„+9Th·ÃZÀ^ØI°™G¼º‡›ò%Â1KûÍV ¶£ºYõ® `ýÄ'‹îé1ìþ&™Ù?£†¢Ö<ü;7Åãö³‰¤cÍUýài]׎±ðhþ6>_`B>p\þUa›w§é™¿D…a@eè8®só;w£ Šª8Æñ=r(m0f ˜x.` ߸Ƈe}ù‹€F­Á-âÜ“HÌ+ïSÚ"˜Y©¡Ä@÷DZÞ3îY)®ø‚ž3š¹¥íèéËì¹`?b–WéÐZ KÅ5Â:^U7µQZN…*VnŸ?õõ`“àV¤~F­ÄÄÅ•……•­âjÍv†ƒÊÐ1|Á "™i œBoîˆÛ*4ã<êó!”ß@ž4ÿl§ ÈÆ!`j±Hm#MΩQt{@æ"&÷ìF'Õü:FÓÁB½2Ò±!¤Û‡@ƒaÜ @? G£ÆÚ~ª%t\ØÜb!ÓÂOpwë8H?C?_ÒtÔ#„h¨´}œfQ®óX{æ:Šæ7Û‚mÒªâ¼9wñ)ì‡§Š…A$"Ì`2®•Ë%”|= '®Ð.¾€¦<"IlTX¡rÐVØÚÂB®9pi»rÜö2q¼&à¿þÏï]ï‰#žˆ£P(h7´Z¢ljiN^¶ì\ðÉZ‹æÚ@úÊœ«k«¸]nÃJß‹t H›D)Îíâ™7Z²N C«Ô³)rkPëemC Ä+LjéÊ2ºº{y¹/áóe`ï.®àêø7¡0—èµËõÚZ¦ÁÞÚKwþ/ Ä,á_ßjÃÍÁw‘ýÏS±JÊöÊpÒqò;ÿ}RMÝ™8Ê´ˆ§`¹Éï„Í5È4ûâaYÃð©à¼† ɘôÂò§˜J"7xÁh̘a¤XK·C¨£WU ¡]¾Î~ÔùÁ>'»F¯ZÈ¡xwVgúp‡ƒNw %uáS#ï?Þ>丟P÷û›DPø¡5¾ÆàT÷Ûü;·mþŸh^€f’úŽ]¾Òù®¬”´¼¶œŒqäø©Ç*›ÂмS¹Å?4‚×Û2¿÷g ó·4’#íÂQ'R5PšI!ñg ‹ïG%Íô:x¤öB‘¦¹'b9¹Cø•J³›5ž¶Ÿü»]sá ŠÆjfQàµÈ°¦ùüþæªaÔ#üòå}€¶)b{7n¼…OòíÚBÏ⺸TX—ggßhƒLAgG'^îÆ…[ˆÞù•â–Ç‚ÊîmY¤Lbz¾Ç(ûéLn`%à Û»˜@°3†Tƃõ4fxÖÎtï6FDË"$ˆV=d.Fç ¬æ+Z²h-4ȨCpÀzñ2ÿ‘J „¥WñI¹ +++Òm¢T%-pèna¯EJ¸s¥ì†¸ˆ²% / ÔBt,À¬=*Œ¬VË·%¢ÎebÅÇD"|³;þAÔ’ƒV…‘8ÊI©œ lDÉ#únîb¦#šËY‹™—÷·ëÍ,ß>]ëƺ×^Æ'¥.ÈB±Í¼˜²µÝ‚ãQ ß$âÅ?ž›ùJ›²ù¯רõ÷:‘†E`˜×ø&.¡{šºèó)‘ÝMj3‡•ž Šj¯Sàµù”ËÈsgbðƒ®˜ñõi«Œ³v)óïþrvÿ,€žºdu#)«ƒ/ãÇånf –óO]K¦[ZF-ªl¿‡Ìñ¶5œdþ©»6À¬°æ:«‡ëB&²|ªsÀHr_VHh߿瑄ípj5>* ‰0…ý±ƾïîð¯jéa€}¶½½dþE«äQ5|¾ðc¼•Ï+z «uš¬ÞHóRccH*îJÝ .€x-¡;‡Ó¡ ðWJ!O8b$ÐbŸ[ôž/è()s²xœtü˜kgQÚLøDv”l¯ì‹»/£=1žØÜûí·³ìG^ ‚Ïãk¦ë$î®fõª êfü.³/Z'ytX§)otxmë*Z„’?ª…S.wEˆkˆÚé6òlÆ ^© ^*4ØSØCø‚+xÂváIÍÿŽXC£.°n9'w„ã¸:Šàüm vÄ´-atK`$o¨­ív’‡ÊÛÁ‹«~¤OÞ:¾‘eSòvò¦Ù­ûCLxui¿!qÜ QìÎoIDúÈí?FT©!C‚˜ãÅ |/ á;K;Ð.ì[Aˆ«Bô;§>æ©açÆJÅÞãøaç)üdû³óÈ3—@šìºáÞTzh§4Ó~#þ'„¸ê Íóœ/ª`H9ÁÏ{AnÍ8ûOÇ¢gé3 Up¬;Š_M+àt.WçÚsx'ÖŒ&™ö?]KÅò=øæ‡Ú\¾6ÂÇHËýöSXȯc8uÏm®`¨¿WÐQþßá³õ{e³€ÌHü¦¶\ó²Òº~öмºÓÖbU¬Â#MÍ䋨ŒúðZq±^}ø7QËzÌ9€ËìвqìkI˜W»ÿ;§/>BHånij´sCoâz)ŠBaËâvRŶuKsëÚ£–je¡™gw†vr$@\Û®Ô=ö÷Õ®1š®û\þŸ:!àkßW’諥Ћ nÁ7pZƒþ,Óþ‹OŒÂó2¹s$iØ×ÝOÃJ*+>gœM\áãj:ƒÎ#ò¾z®—¹wE)%Lt P“³Ô3uK¥äÏJòˆFþøP3Ÿ3¥ôke\^KÙBwrÁÈóû^Ú¨-~÷‹Zz˜4Èzñ#Ö‹¹J›¶ušWÐ)|>Ê8­v³÷u»wß~Ή皂ù@\›ÁC¥ÄTãc¥@°ÅØ?ßÃo %¯¦³Xì{Y¸”ض/¶Ë;©ý;Ë ˆÛ¯;·Vgfw.6®­ (%¨7)äÚ¿?ÒX«='Ž8Ýq%„,"H ÆX½Sø®Í(50na14Ê¢‡`]p>ŸÇ¶QÔ¢]n‹Av|z×ùþÀÀòï½ËkÓ>ðÌÏGÖgŒ¹ÞpdPÒ¸"{O¼×3ÍÛlqð¯”0?¯¢ZM¿SðN0ð×sasó¯mGÏÀ¯¯l±Ú÷’ǸÁŽ ÿƒbþ»8"†TzŽyÙ¤=»G_KGÉJŠ/kb?P¡¨C,õ¢V@_8H*V×tF´ÁÒ«fÑr¡”³e«ÞÎsAè³~n×;˜¦wkŸUP‚!Ì1IƒÃÜc·&ufvCûwÅh!Ûï¿›eýy®îQÀ52ZL#:|¾3CHCÇæØ~³ù‚Þ@½îAMrhCªêsk=±WáåæsEÌõ¾jùù{oa&µ¥Ïr~H-ß´s;‘õÛ3hÅ ð«2á¹\6SÌh ëMþé`j}x…rjœ Ö`•AÃýù*µÝ€(xÍEÔjx°–Æg½§4í7Ztáz竨Á·Ó,ßËô¸[¾kÐÌ7ßBŽêBQ éè6³›îÑ@J^æv-0†|ç˜2‹áóh'Þ·[ÝÇýþÙÝ2ý{Þ6þí7æXŸ‘FÖÔîÄŽkS ÇÜvG{×þÞ#yã|' ¬:…Åñ_Çb:oÔ mwÒŸ«‡°2øšî÷‚߃v† n·¿DÝ‹_’ùÃoðulωKÀ¥âc¸VjÇÂòš¶ÜŒÙñÎc‹6ØQ[Ôäºû ͸«P„Y£P&“¯`9µ¡ ÿŠ:Šå×,Ò·‡‚7IßÕ½ø¢]Û>Þ«%÷Oß“†1i~F{7ïb¤òG:‚úönF¼Ç'[|š‹anøœóí{iŽz<§ž…"zÑf½ ?Õóƒ¯Û+Uìm;·Ýlß¶d¹—ðyó[øfæûèíµgºòÌÛG•CØ8)ÔxŒÿ¹ö pŽ BÚÄÁ q¤pµ|G…¿]ì9ÄxÎõ‡@+µdþyÍ}5·IuWù37`æı†Pº£€ºÀ3(}¶…ÿTs€G¯sÛ¬«à™¶¬?n'ƒêî\¾þ9†£†OÀ÷]øûF¸£µ¥è¦–³ØH§5á§ëmZ´ÓžK…¤Áá±ÎÿSØøoŸØ/áï ðà|ÜK@+ED7ç1²yKáÍÿIÛ¤çïX¨÷LÀ H¯÷ñÕh¼¤ëüN'yžY@ø¦!$¿¤‚Ïþ~WrûÏDð^À;æv°èñ)ÓúC»9°óLr€&Öà´áÎ<ã‚¿l˜ûwû‹žyÐ$qtÞ° ÏR›5¿g ÿK ÞÇ6·FÙcvÿÁ~„v_j8\Ã9xe÷·qòza/LýWŽÐñ¬pìG»d»=nßÀÃÁpF8vËML¤N;ž¡·ÐÜULäqÂÈ-L<† 3Æ#'s“ûiÚŸ:´Ú—§©­.h ÕZhµZ­€Vk ÕZhµZ­€Vk ÕZhµZ­€Vûò¶ÿ/Àš¼}üOƒÝIEND®B`‚./chessx-1.3.2/data/images/label_blue_new.png000644 000765 000024 00000027634 12141003207 020545 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËtEXtSoftwareAdobe ImageReadyqÉe</>IDATxÚì} |TÕÕøy³&3“Ì$“…% aIX‡EE.]ÐOãF«­DE?­µ~mmmü[·ÖjpÁ ÕºÕ%XÑZDAÙ„°&@öd2“dö™÷þ÷Ü·df2B!Á¹ü./3ó–ûÎ~Î=÷\†ã8ˆ´oc"!€"iˆ´DZ„"-B‘!€H‹@¤E Ò"iuÃÀ¢_Ü4(^ bo9X,¸ùæ›aøðáÝÆéßer9Èe2“cÃØé‹É)E©yzÚÖh´ZÐétÀ²,Ø:;Áf·Ãá'é.— Ün7x<8~ü¼ýö?@¯×äÉS>üà=è .e}} >ì\÷²Ý;)RêêêNkì'Ó&§É¦(Q3Ò‹6sº´Ó¹GCC%Ã`€E_›âL`0´N©خ¿á†^_ÓìŽ.š“ž Q |[ÛJ¿s;EO<ñÇÝ_T”•í¢gþú.½\®0‘?-UE/”÷÷{ç-¾•ª/Žc‰zâE–Çë…wß}ïü'€|€£¢¢àãFÇb•V]Ä?ª×» ÷® ©å*¥Š(üÞÝO[c)ÌH0€L©„ZTo/Èäx(0Æp {ì1p:ôûÕ«ß³Ù,½¯xD;aÖì90cÅ#HŤ§ã÷Y·¯È«|ýÙ5ýj¨Éj·pœŒØ2,ýÎGžß8P F±´lÙ„›ÕÒgF±11À5Øó¸.‘Œ/{©¼&ï7Ó2Ö°>–êd(nòwp{»Æ²xâÈ“‚H‰ê8¼LƱ9Åfß⼌ø5rØív¸å–_ÑßÑܲe+´´´#°†r£é7/Ž’Ë‹†ÇjÀìp‘îÆûä‘Óû•¼^ ¤Ã1"á!õ x~©€üüûè1::šŠqƒÁšh ¨Ô*ÞZ%+[s”QÑüg¹\äĢטs~•½$àÅÝ_Í -H‹7z#£2ÚïAu¨¼Þrï5q†8H6Œ’—Jƒöv+,\øsIÿoV%½5,Z7!1”„CwÔ™AÉÉq<9H8øýÑ/¾¥ Þ~FŸÏwŽ%@À²ew ÷CäGÑh¤/çE25¨óHçûiyoiEœ³8#Îê9ï5¸þ<1!&]AÜÁVx8EÐûH÷K§Öþçkb}RQKt=ŽË 7K¸þßír=ùº$;QcÊÔkÑׄ}-”ûÅû l::Úég.æŒà#"ÝX^øè3P xú©'`ôèÑ`2™$ßÛ‹/¾Äs¼}o-ÄÇǃýt¹L{N"v=þEß>Ñ>UF¸Z.¨%±  ÉÖhñÕï5»rnJTb´²úx£1”Q Í>«LMžøêŒ Q[ ÿß¶ÎÂãÀJE.ªân~Ú¡œjHH,É6h ôjªB*,vè$Ä$WóãaȘg=ôÄÔÿƒÃa§ßמ<Ñ+8ŠŸËÊÊàèÑ£°¿ò€dsào<Špô››+ ÔK¸¢Þ|ë-É­Òjµ’’LÅ5"ÞG¨Ûét€ÍîE´êÉã ~^YÇ2Ÿ x·É›S¢l%|@ÿ¾x”Ve¨wxàˆ‹ ¼>è~~÷)ùÐ ¹×ëÙüâ“våò•¼p²Q1J94;=Piq‚—寴ÍرcáàÁƒœ’’R豺ú(EfpE;¾w ±w¦L™ÿñOÔø•t?pŽ»?þäÜÚ]¨8E¤‰ #u¬Yÿõ*ÞÑ]K–jµšêrtmPÌ£îÄó±‹Ðu#y:~£$€Bà8™ÄÉüxÔZʱ…Ÿy¡|S¦‰c¨èid`óqÄŽýÊr™J<ÁÉU**QÖ±ly®)Þ(ƒ™qjp‘/«ì^huËA¥Qþ !Œ'Xí¥—^ºªªB}}=y'þ¼Ñ™c`ïžrÊÉ^¯‡"Õ vÑššJ­Iç Æ¾NþgQœúœªûé ­zùjá‹`à$Žxr…œ¾T§ÍN*rQ3LrãÒñ‘¬è†…1ºÜ5z0 ^¶W¾?¹Ÿ ÿò±î0;Á- w>%€yó.7ÞX cÆd¤‰¡¬¼\ú}Òä)”Ýx}÷ŸáwV0þ|½†ÿ P¯ `ÓÇê‰/YÇèVµ··SŽC ">Øß–€BE%€œøï”C•ªo ¿Æ-ØDÒt¿/‚^Þí|^bø¼JaœJ$EúÜÏ=÷o£’G&ëRmÅk?ƒk®þiL" f2Êý }‚è'G—Ë _|ñÅЈþõoÏP …aDäãK{ˆØkk³€h\ÉNb˜S*AˆœÚ¯’°Ï-x<‚œ1шÜm·Ý«W¯îFØâñ£>†mÛ¶RÎa¨xî?û‚ôð€ÁKMI¡bEü›*ôD‡ €ˆ®,AwêÖ4]ioî§ŽŽ¥‘6¹B-Œ`²ç–ÄqÈ*aœ4²˜®QjÄ Å ($A×u<Å›ò›?“¸¯¬Ï›ƒÆ¿×í.HÓ¹­h7ð"ß#p¾‹žÿå_޹€ž”Ðí·/%ˆa!9)‰ˆþX7·Z­¨' Fèµù£ 1(:s:ì°¶Ñm±8ÝÅ>¯ ¢xIFl7?þ:×r1&Ý_×2ƒl&ÈH/¶*—çÆ¸VrW/ÉË#PŒ»ó÷GÈ•+9¥"×­2$h£@NèaÛñƼ¾¡¡a…Wˆ{ˆ*€ê~$š~~ï¾K€0²÷~Bí8ÐQ#GRÿ)ÝÜf¦ã&\’Þâæ ‰ˆýÔ-$!!02ƒÝëË3;=yv7|lu”y|\1Q%TwFkr´F( GÁ_Wô«Ô_M´IT‰Ç ×[À­²Ñ÷`)9S|*7AeJÒ¨ >J±*b˜˜‡[, TGfaÓ1þÁI~¿Wðû=°aÆ~w¿ª€¥K—RÂH–Z‚|4XÌmmT·¡¡G®)sûØÜÝõm°×ì€Xµ QjˆV1J ÃuÄçeu¦V‡ÛTgsÁÉgXÝ9X[Ð8 ð8"& ñ£• BÔí./j³AK§ZÄt9EÂ.#ÒJ‘ÐLúúë¯ÏÊxûÍ \¾ü>ꥤ¤B\œº9-­­Äð“ӎƌ劉1P@9F­z¬m>9P—'F)£ÃbÀ¢ä)b'Ç¥¹ˆ~³ J12É›¼§F£ÃA•¹Ý mn‚`/ïÎyY…ÆRŒ†áUW])q~IIéYo¿d-^|+=êt:‰ãrº ¡±¼hÙâ¶Ð§ëÊ -À ˜ä@Šïc÷"1»|Rç‚~ª½ÆæÃínhtxÉ{yCž#À£zß‹–ãŸ~ò øç;oþŒ ¡`ù#GŒ FKSs3µú1ÿN4‚$_šepî<[&èN¹À9R (È/d‡ZÖŸ\¬Âd<Ç3´®£p*ã øüóÏϺ´;ãPðw.£®Nâ7 MÒüu¡0Ôt{?!ß7èXì§äèÿ˜¨z6ƒg$n½u1¬0ô Õê ¡¾NSâÄDZa.T”p¼²•¦ðº²P‘Ý󨆻½?‡™ËP"N~‰’C‘Ena}²LJmÄÚïèì¤<=Eönл¬ZT%äúœ•èÙ[Àcɾç~o %p®'ÑÜqçô˜8,‘2«Åj%j]&ÅzD(Ãs Ãà M¦ Î}tÙ<Åþ0%˜Ù„ÙÈ­nðºu˜À©Suõõ€¾+še{£˺MæýÈZðûó0áÂÛÀ)ÙgÀL\ô÷=78ìIô³½‰Í£o/&z r¿~ ¼Œpò 'ÇdAG9ÍGŒ–2¡Î!àt%y Fhjj‘ü|~øL/¨ŸËù±êþl„Ii8ü$Á9'ÔK4ÁƒÅY*'õ÷¥4§@è:eÚr• ¹òG§|^´7Ö‚­¥‰~6 OM\9ÔÆL{ôuËîGn_éï3ÈAô ìÄ ŒîGƒ°OÀÒ¨ŸŽFû8é».Ýÿn7_H’4ÉJÌåKÓjÒ£2“Q-7´8½!2zÎïÆäŸ,ß#^¸~R&X"?Þ³²§C´!žÂC¯’Îä…«Ë[fw:«ÉeÕ„h,äXæ#ŒVõÒŸKÏ4ò×/€4©V© µµ•º'áËjy^RL´)%Þ¦ cŒ”rtjh”rê!`k÷2ðm½mÐÌçTk;Q*/üáÆŸR©¤}²­öµ[©P¨¢aXŒ Æ¥ê n9¸ÐÅîñA§“Ïl°v€é™ÕÐbm‡æNgq ‹jÞ|jå9!DšWÈKÿg‡K£ çf$ÖØw“7v@³Ý D@´8¼Ðä‘Á±Ù¬­3y4E>&Àbmâˆa°}o- “fépÃA³ ¢OÀ—Í«ÉDœ>VëyI¯¦‡é«}G GÝö»’šÕO–8`B§•P"ò.#“Ótíý­`%ë–©(åºˆŽ·{X)‹—'ÙyÇù—l­M`oåõºB qi™tn?k€"_LûÂ#~¦b,וY¤TCašVœ.¶¹…ibxœHÔªÀë´C›ÃM½ éëÜÀKœ¢´Ùù7Æ»K?lUU›íîtҥŖÊ(Y`€GÌä9b¼u`=²2ã40{üH0è4°½ªv•m„‰3A¥ñ³›,v¿u‘˜1àìh‚qAYƬŸqÝÔé·Ã)þ^]ýÆcg,ÄÈ vL_ÆŽ"ŒïÜ鈶Úh%´D‡:ÇÙÙÃbµÒB I2ŽÆ8Éó§AçÉ£`·˜éù ­N´uH€×a¶´N)7ÑëáÆ"ÂÑãvñÀøÀs¬A›Ú œÑÌiŸÀ?Ëǿߠ·­ ƒ) —ñ3z{C4ìú’ÛOÂÑ.Pœ¬‚“»·` ™€ó”špùBC%Á¸Ì ¸nÒHh:X^b312%´»Yš ˆJðy¼½_É‘U\!ÅÐI·ÛmŸ$.hÿxùÎö\œØ)£Ò©êRˆ^3(u¹ÛÖAl5ØdÄsi=zî›› —_8“r)"óͯ6A Adò¤™j08>â·º UAî%³`GÍ:h¬9ñã¡Ã壴RXÝ„ÒbÜpâ i—8âáêu¹¸vT“ÛçB·…4Ì…‡ûn°¡ûµ‹• '—|²p08ÿ"¥ˆ>ñÃ&pØÌ‘r8±cýõ¦1étâE\¬úËKf€ÆÕÖºérUœln XÓˆ‹^qR Uï\0 ÇÁa5Ó%äµ-muŒDîîùŸazdÕÃÖ®ïD!ÀAÅØëA{Ë3¬P¿³¾ªàZ¹Üëöîg'À9í(­D¯×qÞ¾;dÉ;àOWLWî¼Vݽ–ÏÍ‚úŠ@F´¹â E¦èòb¢ëÒ¹“¡íø*Îñ~xžÙî XÆŽk_øä+ŠxüŒÒcb¦…aˆ@Ñá9ËANŸ ñúh04)ØU.üû—QÒÈXMiÁc8¶vçf`«+`~<À ¿˜Ï/[7_:‡Šq¬P‚‰ãCÅMÌ·ûì»ð—Ͼ]ÒHzŸøÌ °«ÉÀÉX˜aDrüjæXh9´žŒLtëR5Jp*4ðÚ¾§¢¹‰`dJ2½¶ŠHÿ¹~ƒNK ¾½SöëÓü¿¨2-8?Š"?žQ ˜ Õ-<| «–yû¥¯SŽÕ«”Êb¤BNü\–;ë‰>—,‡ö@~Î$¸xêDŠ8D_,½‚"]œŒù®ll¬¬†Š EXLê8ÐKå9Q®€¸Ìlx{Gåää£t¯+ç^›„c'ŽÐsQ¢ˆœDq3"vU„¾Þ 7ÿt>%24*ñZ4,Å1ˆ×è” xœvb$ú!Q€§ŒWCÅcZ•sèé»­çäSÎOLŒ#A~¢QOŽQ`Ð`(º2€üŸ:õêØ¸|‚øü Sb £ Q°½ÉÇÚ]g?.ßTóF'Q÷ Œ@›Xdß‘j(­8 [«› S‚61´³A/”›ñ'Ò(â–u6ÅÃ;%;à¡E ©*-ûÛÌ€ÿUJ­úʺV¸8>Þ6œ$EÞÛ½ fŒ cÒÓ(ÂQõÜ´ð2©Ì‹(5p9NöÈTQþ®–ÿ˜ˆ$åª Ž´¶î9n³"ò‘ëùF½ô(ßyt©éôÌ›³47ÀåÓ'Jz#s­f3ì:RK ÒŠ4Õ`ŒÚ ×NM‡û~>®œ3Ò“À ³³3aÃ{À©Ž¥FÞWmˆ‡½A†N£G¤RÀž6<¦dŽ¢£ÚAâp8]ðíá:Ð$¤ÒkY>â#o#jä² £¨JòWQhSœ¨o„N´Hׄê,f`á;zù£×ãâ¿w»P"äÜ[Q}ËÅ“ÊÆä h\J<ŒOާ€š6li°›¸EÊ(M7ƒ*\sµ·³­<ö:¹‚¾µ&15ä¹JÂÁ›+kà§³§I»wŒ5†G3`#>?êöhc2ì9¸“FäD‹ç.š7Ú6BM똛•Nú4“‘Ö-&€\ß9=lÀ4+rròª »arÆê>Ò¤›Mòüã4E«%îe ãË_l†ßÝt¥TНNŒÓ“- ÒN3¦ëþ~^tÒ,‚>©îkV°åh³Õ€"ªS@«ÝM‘*(¬Õ^{ ˜æãp1Q&S&nh…­GŽ@Cà H ’)ÅxAnù¡]ÈEî¾tb¼w ŽpiÈÉlŠh(-??'\-r*ŠÞ‡}µdÉ#ñ`L@ áâïȉ˜äúo¶C‹OÉ1†€à Þ¿µÉ«‰¿\(!>8HcÔ÷c Aïo36”o ›¶Ã՗̢ĆFå¿7ï€Í',0lÒØƒel˜C~µ‰,æ2Ìwº=E•õ­ Òð!HŸPáB&¬wkù„Z%Š¢ÚU_ ÏßœC,êÑI?!Üp+áÄÕ_}k˾‡ø±S@kè(A®Yˆ\ä¹YiðÖ–TïbÞ!J¯+ŽÁÕófK5ÿá]6¡[L`Óî}䚣°§®Šþø±“Cr£!#› ñ{˜[¶Ÿx“¤Êá‘=âŸcL"øz„‡‘öó›vÁ';ñ¶ ‘˜fÿ=º€¡ž)®²ËËpfÅ¥xb>ÁÉ€À7¿¿yÍåÏ~Š)`{€kÝ»‘˜à­€ì±c$N¤AÊo®½ÒŒÛàåM»Á=| è’Gv¹tAÈEH':Ù” ÇÌÍD}¤PNÝO|},³†Ñ?¯7°®¾¨8\ ßì9ßm Æ£‚øý  ÍšZ!jüˆD]j¼´aLÝ¥ B¨È×£!š<}؈ê£ÌBî7LÈ ¯ppõ«™Œ¢¿`žûpÍÀIÒªW=„\’~ÏߊÈh X–_î-å® 9Á¢\xs°¸¼49Bç¢K„\tÝ¥NЇ§Öm3qbG¥ÀBäîÛw¨rQ ìÙz”ª ™’pRL<|¹û Üú“‹cö¥;÷ÀÛ›öÀᢠÄn9 câü¸¸gÕ¥6ZÛšà¥u›à÷DŸûÛø·¸iEO÷Qê ½~+p<æ òù ¼½âuØJˆYP0ÏVQªT©Á9ùþy'^ù]é‰W·€Ï€êÞXôè³wrJØYu´ÛÆHh”͘8ž½åg0^iƒ–Ê]Ô_§bRg¤ÈõOª¸$;d.=‡·ÚáÛÊj),êz4_øzÔE§@Ò´y '"]EjŒ(j„SÝÄ@ þ-6=Ö5ÃfbÙ£DÁw@BF[â³íû@Iì‡þô€‚:Â8÷À³¿Yв¦ ´®¶:‰źL*‚‘š•÷­%‡µiù/.G‰@X‘’¹­ØqÄRë tÿ1¸åŠ‹(r‘’““aÖ(#ìj®§"Z¥7¡šƒt†odJ’ä6Š>þŽó-õà´4+µ’´ÄFðrÐ"×R#N&¬gD)3b <¿~t8ÜpñÄL8Ñl†µÛöÁ¦3èÆ˜z·JºGø º_ÈrwvZãë^~`¥Õb!H'˜Í­üÞE³fAT´v`%€¿Ûãßgž,]I+{s\YOóÜj‚„ŠÆºÿ^¨í]ĈrÖ}×]+æeAç¡2ð.?dõRäŠ×!\1y4Ø›ë… \%”µÛ*¤èZÿX³xêðx°·ÔŒÅÕnËÑýаë[f9¿ž¯-ù¼ÿ·Áš{o€‰:–z-þ× ºq%‡g¾=ÿóìGpϻ߷­ hÇÍàƒNý›ÛP†0­_u?E>JH„ ¾wEElÙ²œ[Ÿð×çCÓ32¤@†(bÅvõ5¹°/ûÚ42èjÑ=däÝ‘l®*ƒ{g§ÁuÄO-vtíiˆ0qêï¢ö‡Šð—Ͼ‡F›n˜: Xôs©ÔEæ4ê1¸,Ä·®?ïß³T‡ï]và0,ÿð;*þ݇HT²0wL2\6u,L“AŸ‡^ƒèBn,«„ÇÖï‡øñ¦Ëi­{Œ‘0À¤×>·¬ÆbiRÐ]Ò^"‘ q£M5p ‡¬ßµÅÅpøÉÅ5b%p=ʘD#yþ •ü—‹×Ãú-;©žG£[¹DOŸ0Þ¼+f¤êaÓ¡zJ ¢o»l\>>:OÐ{«ˆhöÈ©µ/Ú ˆÔiÙcáÎ GClÓA˜©uÂc MðÞý7Qbš8:rª¼'">¿üð b¨ÏU¦rÙ©0HHH`z.ó¶èÆE°ÍãN—‰eáeÝ% "éÀ±Ê]÷I‰‹?}þì9ÑË^B¹ƒ~7Rú3Ksრ[ºeØ"TQ1iYÂýðѶýpÁäl)/Ï[¼p,¹J&}F§Eƒ‰nï¡cð)Q#ß3CtæÔÍjb¿ßëq¥Ÿ ùD‹ªnÀ%@8²Ý6êrÜcÇÐcuKâFÅß¾,Ъ_`ÊÆµòðÑÞ:øÝšÏ¡®©%`£ ”·.Ì¡“Bâ DbVú©•S±Nõ4¹÷®­4zèo/ ²1þ ®è£(EN64Á›_n‚%Ͼw½S%ÄŒ;äÄÈ:'{sœaìÖ,ï ù›ÊÊÊ%qÏ\±ûo~”¼ì™© 1ÚÂE¦4Zÿ{¸l]el|¾§ZšÆÅDDLa¤b¯=îY½vî«¢ñÓþ‘8jXÿÓ)™Älà3w£tÐÁDÃÆÝ•Ý MébZØG¥;கÿ„¼×¾€·Ê› V—Æ)sA7* bõx&3ÂŒtÀ½ŒdªÂé¾;5ù¸ÝwI&ï3÷ûîáÉw=£W)˜’«'$A³ÝuÊ}•ÁNTŸ 7Ì&b»£ téã¡#nÜÿ~)|ôõfI/‡Œ0•31\Öf@Áû£ñeù‘ñŽ’¥Hé® øíëÁ/V~Ïm:û™ÐM¼b3'‚š\7¸V3@Éœ§?Õ#ŒÑèEä#çwttüÊ ¬ì ‚ôG®ÜÞM¦Ö”\?=Í &ÈÜ| H 'zð‹UqIðñ–½`ÊC%"ròØ HT|v"Σ†ƒW«‡§¾.ƒ²ãMðÐ —Ó¨žè9ø††g#±’øò¨ðÞ?T]^².– Ç›Ìð_¢rJÖ#QF¥Œ&s&„t,GíNœýk*«£1®‚•D§‰:k4P©Kq’=p€Ö¤»XJ‚¤;þúÖeã’M¸Æöhît÷ÊÒUD}w´‰êeÑêGÑ6ol Ñç-üfDœÇM¼¾:Ö÷¾¾ŽÃ‰ 8Ë?çL .á:) v¬ žþ¦ .ò}XZô W;Á‘2â&\Úác¨ˆ"kM<öÁ[ÈùÓÿ’ŸÀö™hû¦0þ Ât¨ð/åÞO•œ—µí.Ø^ÛÎŸ× CG¥…vV;*Hâ¹ùº‹¦Pò¢ÑhÈš]Ñp_Ñ`ãŽr*ÎÅkh…r\}ÓÞIÏõ¿ÜÄÙ0m>Ñë½>ZýX†NgSI—2‚Tê<í­/ÆXÇe… vœz×­~•Âà qq¼Þ_úôÔ­ºèŠìTpy}ðùþºÓ^’­NïoÙ`­gq>Π$DÐp®– °#>þ¸v¼ôÉzº1%ŽH4®ß k¶U|ÒZ’~:À¼¨¢âÐT„}ÎkΨŠhŸ"ãÇgIË›4¿|«•Ýy©)=6JŸìk€Z«ƒ®ããæ*iê3 “%8GÀígÕX{ÿuÒLZéo~¹^ßU1£'uO¨tt‚íäaP8; E§‚6§—H9ë*C Å&ÎpÂ,&ëqIð¡G§]‚ÕÏú|Dîû[ù®¸ºE4J$JöÕ%ÂwU’aí¶JJhÌaCœ)Z´‹_)Ô‘© >à¹CñÂKÖ#lCïu|î’®®Œ †±È• —f çÓÏÔ‚;q4¨ã’á|l绢]ƒº½šózJx ëÁÝË-äsõ´¹sjÄ\@¯x¾`xì6øxÉ‚SÒ†þRAX:½vc\!¯AÖ '<Ї²I7-æpeK˜@•†$ð(¢`]Ÿäª þºR§?o7”ð×õ¢yÖ×î[Cýüg>ën{±]©fÁǾz}› d¿"Ñü_±z=_+@HÁ NÆDõëõÿŹâ5)+ÞLWȼMÐÝ{à¼mG;ì¯ÿf FøL[Û½^€XA°¼¢M ̲Iœ~‰Ûì çðåã1A²+ï¿_ý'Ø‹(aì[†1Â9ÊÓÅ!Óɸnœ!%Áåt<ˆ/Îÿ³a½ ãe!æº=Ôu£wòìúɲŸ?ÓÙ“IO~Ú‘Ây¢õïR¿<{ —àó  àºûó 3DÌ`†âpBÍ9Òò8ñ…døá"ép„‰ßŽ!ÝÎ󫌼RñøÒîñ{¯¨@+U°}ÛVzÔêtÐÑÞ09ãì\V¬-$n5ÃÈdø*°AaÂÊ6‚'€ãËþø‹°8@€;eqÂpª=áÞWpNÛÄuQ~Âó–‚Þa²w÷^ýDÓdk b¡ÎßçÒ8UbÜET\qÛM°4hÔµDÚ´Ù#;_Y>P÷‹•V…÷˜H6`…¯¸Ð-H€ppP7íE5 Œâù×éñhN7Ý 2¸„>Ûˆ[ìûzlŸq2` PÏr4ù&WpøsaI“OHâŠ"a‘‘ɇ¢ÅŸx”ü6>‹Ö»ðk.Áó’ëß'®ö§÷/`°^¸½nj Ù¸ôYœÃ6ôF0î÷!Ba8>ÜyÂѰoë–©Ù³f—wS,Û£±Ç l ˆëµÛ¦VG7Dࣇ¹’ß+D²Äx@×½}‚Í H?»(ÍôPw`pøõBdÎíŽÎ€ßƒã"’¤ã"F„éËE®ñ ¢ß×Íh>—@©°÷ÀÄ~™äH€`¹ ÷¿kmb“?K„Ϩ2 Ds˜aiÜ€ãºGì( _ã»àra‘œ¹  ¤7 iŒ< ÝòÝÇskrÜiÃ_¥V#µŽà X·£ÕÙ>_1¹g‰ùû‚¸•ÇßýªE®3RI ÖJ‚AãÖ œï2vl–<ÅǬÁz‰©ø¿Â ÏÊûvê ªr@.GÂF†H°|ÞbJôϤž6 |­ÐáHÙî©! m„ÕÕ‹X¿#l°$Š*@loÿ¾üJqy—cN¡ÓY§­š€P9S&>_&;Ljt¸˜©ÃK€êhÂùÆß9å$MÆ2@y7×/”J4*€ntØw )•*¡¶NïM8 Œr œF1¢Ôýâü¨À©e ¿}÷ÌŠDK€SÌú ð`…\ &àÂIÖë¥"Œ8ûuòºb¥¾ +…û‰[»Èa[þrÑo÷…&0Iâ0Ïc=Õ»,gœÀ6)tˆ¡î3Ü}ãݱ‡j€0=”Íš…Œ±Œ\þñ¥° í¿“ó1ÿÎD-ùPl¥ó÷©>Ó1âx%Îç`0l¿ùáâj_ÿ·BÙ„³(€ ºÉXá@·[g Ú^XLwÖŽ_þv¹g1£Žæs…Ìânþ¸è‡{…ø„ÛYFžküâ/´8ƒ÷—Ï,'ß0 O²ÀÈ¥”ÅË{7Õý-Ø ÀP@?ìzæL‘z>·K ¿œZ(^^‹eÌÏß*í±ÓZøk¬T‚ù–ÓXžmÁkDäãÄ–åÅ%+…ûT³§‡Ïê¾¹æ™t©€tOËÈúÐú”}J«½¯MÊ(y^ì/qŒ2(›Xô—=®2¢\ëkw‡,”c¸çMÂÁPÈD…®Y$q0oÅç'ýו¡*s$ÜóúñÅŒRã±”¼Ò&M=sàˆsB\ÁÛÁ—<ôøÍa™Òét #°7R&¤¯"ÖÎSh}õ®áîuÛm·Áá=o­,Ÿœ—ϰ|à%8Žà7?_òÍßV†+ËÒôÂmV"±Äß÷ç÷K–IÊYºÛ‹S¸pÙ¿ç¡ 'Îf½²M¨C T ñxJX—hwذ[XGg^Û‹y+ÂÝgÙ²eÄãP‚k¹ù˜O»Û²snG~ojò$~õø ÖÙ™ÇÁÖu/c¿ˆ}q.ás×ÂÐ~U}&¶;‡I_hÎkÛaîêâ.™…þ31.`}ãÞ5§ ]6NTFìž\‹s =œ_¢ùü±µáï_™Cq÷›0|¢ çîs*¤r\áY]| x 8ûÁ—«¶|ÎykA³vû†Ô%ë(ZQzª{ÜqÇ´ìL¬>ŒF# g·¹ìä JÀTU‹ÚLAoªq±·¿&‰üä,ºICFížóÑõ>å‚rßYUƒ  ¯Ù'½²J‰±Œ|ÿ6çŠËÊqÛ´/‹zGŒ*•š@,\2o.—Ë@AD3ý,WÐß劾OêÜði%O ô~ Ešf-¿›vbâ0ÐÇêiY»¼¼%àt8Á³¹¨æà´Ûó4 êË÷½÷5¡/ê|çâ—ù! €ëîÁKñÎj ÒΟ!€D B‘!€H‹@¤E Ò"iˆ´DZ„"-B‘!€H‹@¤Çíÿ 0 ü7‚ðx_IEND®B`‚./chessx-1.3.2/data/images/new_board.png000644 000765 000024 00000007075 12142244753 017561 0ustar00nistaff000000 000000 ‰PNG  IHDR;<Ø Â IDATx^í[Í«^WõÞë}ß{oÒ¦TL:HG±R›H'J f¦­ÐA;°‚:‘F°Í ä(¢Á:HéPˆfЄ6•NBK1` ohÍÚ‚æÆß/÷sïu\k¯µîÃÞ、 …Æ"?¾˜sþæÜÜÜÿ;³EÁŽDî¿páÂÞso¼ñ[1Ù‰2z÷îÝtçδ¼¼"Öl6ÓUóQóª¹ÂTe-V Â4¬"Fõ?&’Oê„ÝÁdå\tÖ.®Â¿*%0 PóQDOÝYl1`vMûE¤ٙL†jø`™}˜*fê¡À` mý>¾g ÐPýy¸‡D„í¯KÇœ‚M~øáÌÊÊrZY^Ö ("®#Ø07&ÍÎbq³†3X7@&<xÈÑZ@ C倖id\‹I¢7ƒo M]òºkM=Òœ;ר‹3[[Š›héÌf&V͇҇¡Ûs¯åĵµ &EØ@à»Á4,ÅBf€·' `Z Žˆ'ÇŽ›DÊÈÙL0G7Mn€fóefó .`•#2³êða .Ì~k>¬:lX€«VqP"Þù;é8T'Mvo½õÖ}–C‹UE¸3ßÊ(|µ2]A[[ÙW0aÊÆ²7c÷ €õ‡´±ì± ªí³Á´»sø>3“44YZZšÉSÁ±1Ôæ ¿EŸ³ +àL›{YÙl,—Ü ÿ‚]ïûñý{~‚6ROe.jÛ\ª³ù—ÔApäAu€ ` &Á Ì9‘vzQá ÌAÀ§ ìžžæ’»J<6´ µk5gø˜ï‚iÏÃQ¾¹4>ј=-"“‘Û°IäLPËRU&mbNsÃ]ñÌú1Å,êܘ½ˆ¦0ëÖ|ƒùHEh*¹žØ8`­ýœÈbre`ìÄ:8ù³X —`n¢³Ré9µfœK6fsQÝg$ؽe ìù|ÔÌRÜçT³ Wé­4"í˜å *N§TþeFw)Ÿe,Ý Úæ[€‹@tצLÜz´ELÆ&;0aø/À‚Á„ÈîmHj o6{µÄÙÍ+”®H0ÀUœQÆ„ Ü2âæÿ„s3b ÔäN ÜXÕÆÌ Qm0f `¹‚D ÀÂŒ‚ǵ¨ßÛYHȇ¤Ä""9J¦,;˜°M,JEĉ÷’é`6öˆØÀÚô#¿™n&ÊðæÎLáÓ0=Q:›¶`uPPH»½ÿ"·V ×]ˆcBbîúhœµ³X} s—ÔgA¬“þ°.Ê”ˆÌ;!Œ]TN`¸«¿;°Ì&Å|w0›t€( €wÐÉúž`zaf¬cË®À"×¢“VqÚÕÓq/5>‹ ±R8ü9e^ëø´õ ÿ[¢ÑÌX0†»ïÄ0͡ܫ*r½ÆÊFá``ý„á ½€y‹"z°}m\‡× š|Bº| -³ž_qìÔ˜ 3æ¢-¢µ¥fcɽeœƒI“{ˆªSO%9Üx¦ßïÉ@a¦-°žYðY)–*(Ûì3ŒßK ìá ˆ¦mÎ¥„éÈÁ°˜7¾ØKÃ,lXf®™5l“ìz±ì0˜ZÛ@°âöBwøö=Ü'À^¿~½Ë0FÕ‚Àdý(4’·¨•»•“çj×ÿ)òdµ(d‚l5º—¯Ù—kÒ—ëµ¼–]ɡӋÝSŠõ*ã³³³“……iÔ£×Òˆ,-ˆè9Å?KÚmzª |ƒïó2ñfýs4¥ñxœÆÒªNÑ’ ɹÿ„V¯ÅºÁ_%„`,í'4ç`!°Ãàã«q¹ÒZëp/Œ3zU¨ŠïAF·&3šÁ|·ô“n-&œ°½€¹†Á0qÖ—‚Dð7¯}Mƒwƒ#@ñ`À ©n<9£ý÷C¡¡`7BªÇAJí=Íì³a‡\Ó#è:¤êk˦’"@X,´‘«?ØÁg_‡ÝÔcï ÏÁ2[;rb^º µ©°n¸¹Ö©Ôl¾M6šÜæà °_‡¶Lô©(JMÔÒx ØèHm pÚî@·ƒ "z°€¦—V :€¡†…ÀmB@@³²ÂVlÉbÛµ—äÒëDí ›—ŽcS°(胂ÅAë-F„@­wEIÊ y›Kÿ”›]ÍÚÂÜ"°Ôø@…%›2Ë@æ&ÌØŒîW °²ä= f†½e6ú6~:”TÚ7 ˜쉡šcè ]Okm–A%ã 7ºÑçÀà_-Çäýd~/`4„‹—¬.Cü<;3`¼ow4ÁVb›0Û/”Æ.üôºWUê_?„7`×^˹AØYú(3&`(˜$öâãc€Hec°<øËÃéõ"`:¯£2é7Ù®å\°²ŠÈ«@To~ÚPœiÈÅ–²ÁVm˜7¬Ù®O=Çn80¡J÷:ù¯ XXb¡ä<Ç3à¯ì`ÍóÖa¶ŒˆèXos˜4ù6‹w©áf¶Ïعèv*Àº5H7P¬ÍE™Û0cÆWh‰wÂ"€ÐbQ/w`-´37%X¤˜eø˜íßsBôF2û9g×ñ>ÖÌ™ ë˜ @g¶à}q‚9‹À5ÆÈµ*Ô2ëá>ýqÁg ½¯ h  ãýi6ž2Ò™  a™f>„¤˜lØÛX7dÖÐ$Êœà^R_ÙtE/5°vùYÙ»‚wÀ˜„fÑQŒø8ãIŸÝ²eËÈ)ŸðM¯ivüŸb8k]\ôw҉¿)Dð€•8CÆ”D` †íA ùÂg2©œŽ&²e1^Y]­Wr¶‡Æ‚ÜóC—nÈtÛ2í€b2zo…y³„®Äð3¼v?¸ÿ9R€Æd”˜$X„oX#?:UôãÉÃ?œo.Üæfg(6»G#êÞ~‡!ziFÀm>ÜéqÉØ›jLú9"½*íãâ%$€6”Y$&Kaõºwï^+¿-þ¿sçÎ-?úè­ë q¦`wúí|%e{Kh m˜Å«äâȅôÍ_£¨(°Ê1A¬ûY*ú6e5íÞ½{1TyñÅïœ:ujkì0[KÂ0 ÐiƒÇ©ÈÆ`ûw°x± †àƒXú±™­ƒnSNɬcÖͼzmçÎ 4ÉÅl>{öì¥gŸ}îK{Ú3+@g‰’oI}½ æb¥ÔUN^.REÚ¢ÂA :Gn…ov¿À+  Ú'7mß¾=8p`ñ½÷Þû³à\Q°s>øàégžùÞäWä3¹*¦bÁ`ýøÆ·ÁèæXm!лF³(òT09LE]ϧr2bF5 mÛ¶-íÚµ+=òÈ#åüùóËO?ýô/Æ­ñóÏ?OÇ¿ròäÉï\¾|yö+O<1G4¦ŠÀ}ÜŸ×Ý`;[¯IÛÍEþØ{Uí6(„úý­Ø¯Æ¶.­" ³V­ŒîÛ·?øàƒÛ’mþ$ð+±TÍX•Çÿàí·ßþý7ž|ò– fNfeK˜VŸ:â:Øù8ÇV11TËþ1ÊÀpòª?diÒŸš®€Š|š<¸*?S¼+?ÿ¿-d~_ºîˆr–Hdòøã½qãÆ ¢o9zôh:qâÄ};vìØtS‹ªíÇ={ì`¢v3§-Tà·²3oüò®!@}tÿþýk}ôÑÝK—.‘˜ñâ¡C‡¾ýÚk¯½ë„¦2~ê©§’?wù„íýËËËI¤ˆ¾"À–Ò§ïP¦ID­pN˜ ›jÆ?räÈ×NŸ>ý7e4Àõ`ƒe-6~$¿*ÿ‰<`·ç\ȧ4—Rþ!æ|êêÕ«¿v6`7?ˆh»4{DöA:¨¿Š\,+Þ÷¿ã߬C½K{E©ÓIEND®B`‚./chessx-1.3.2/data/images/new_game.png000644 000765 000024 00000026557 12155114763 017412 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs  šœtIMEÝ5õj¿Ü IDATxÚí}wxTUúÿçœÛ&“6@A)¡ªIð‹XÖ2ˆe×µdí¨ü,(ײ®€DÔ]X@ÅEÅ%ˆ‚%–u‹²ŽØXu%Ò”Ð!…Ì$“)·œóûã–É$„2ïóœ'eæÞ{î{>çíçÂ9G‚:/Ñ HP J A $(€% ”@‚HP êè$vÖñò¤1„Óbà„|Ç“ :#HgLú|Q_Wš\vü~øùëͪ4û»ñE[* 3Ë(¾ýÆ|\{ „$B’¸Œâ„h4|棹\€‡kjéLêõ#ç>vî9—ãófµF-–.þ ë ”Áûí]S??Ô{æÎx0Hr1à_yÿŸ~LH€£5øÏO#$‘RQ&>)Y)1÷‘ÜC½Gr÷¬Ó2ÅgŸÿ¢,[Mu E‡lKÌ}$WJVJE™ø„$R:üù‰c8Z¤G ¸aÀjÙÜÀ!1ü”'Ž9uÔ©yIœà‹À.Ô”WƒƒŒŒ{Oyñî÷Ü£cR»u)=ûRovÏ“ú G 8ZúJ½T–@e ‚"@Pˆ.Z<òå)ó›s}F¯Egt9u„⻯Ö@D‚A@eTV ÊÍ“#_ž2ÿijr‹Çå_ŠÑ™½ RT–@$Ñ›ÀQ"Æ8'V£V#`àÃç<²2wƃéûwû›2jôéÙçøûú5ˆ„Bàœ7jŒ!{ÄËM9¾>ç‘•g_zNÁuC‡!‰‹xoóFl_¿Åì c #ð¨èÿ9æŽRA‚âj 4€Š~=ô~×´8ClØßJ?î¸þe÷žçõl¤uXúÎ@!îrn–1¨€¿N«Î^uÛŸ õ}r—®¾ß]9Ú3¹QK}ù*¶ïSC––ÒÁ‰·òžöa ¶ @™áŒzâ@oæÿÀš¸žÕoÅpùFÌ+êëÄ^™8!s@ßÒ1WþÖ3¹ñ ã¯ïˆŠ­;bÏÀ¹aõ5!Z”Nyqâ0½Xv'™€% Á$^M€×¹RBhdd÷DÕö½ „ð96?¸Á¬¿Y)'$/-£+î=¢Â·n#6¯Ú÷<¦jf<)¨Xðø§ÚEd±Ý„‚™Í&‚ n$k0 õñÌAòˆÊmåˆÕHĺÍ¢µuxé“OQ³ÏÖ $îûÎDb\‹d·¾¶PYÉãÎ ¶RzhZ¬¹¯á}5Í€æ¯môÛès$ ¥€ zhñ€‘'¢­ŸÇÚênØ0’—@S.ÔäÓõ½”çÎ} Ô·æÁYÍ ½R—œ7ÓqFucÊ–H.š­†N/<Œy9!^0R*ŠbÑᄸÛT1\tò¨3 Ï<åDð–n(ÃyïM÷—oÞ]¹îE©¤©—?yÆC”d`$æ´)#Å–dŸ<ã¡ «øóì¦âº®å"zÓ²<ùCFêÜ¿Ü.¯ÏZàUCÜß!@’ýów«qÒ ¾ÈI醾' =a¨'@P°¥®ª`ÕºÍ8}Þ”ÒP0TB©ä‘2¯’$QjëXg¥·#ŶIÌŸJ’ºtC&—ÀÀ¡‚ã‹í¿€Š.pCmU²UÀ(J£u¡üw_yKe ݳ{#«Ïq4 ú&§a؈‘Àˆ‘yÛI(ïÛU›±fù·à‚pœHíB§rb{:@P¦bè9#1,§ú )-ï¡:–íÞŠM?ýŒk7;n$£(í¸F )œVd[Ù•Ûv¢zç¬ÿæA€”œŒÌ¾=,] ˆ@-ËÚ„Ñwp[qq "HMOÆÞªZüo×&„ÃaìZ÷‹y4 ”R0j …ZSÒ¡ACŸ-¬àeó…©([Œ¢ iõ‹ ñ·²ã–MûÛþÜRaLWM'GÕÁ )[ûÐÌ~Ú ä+¥1»€6ð£ÉÚÞÈpCcѼ^/e¾àœ”À0 LÆPÛ˜³ÀС©a¨Ù%›*–txHŠäSCáƒ2¨³çd—Òêà˜$ƒr¦Þõ™”œâAÑT€§ã¸ÉwC3u€ŽøÖMzaT‡—¦«DKx3¿þû³’cñÜc” à¥ÌÊíN=ðÌ©qà¥õ9Ø¥ìXÒ±Qœy|>:»è'O|ÞÚÏou#pÈwOà„Ì¢.—eüñN5ØjMj¨àJKèN6'B$ÂyáÚÉÝîÐÿ‘[Ï¥” y ¢”dgôï•ÚÅ“'‚gÛªõ ²$´“ ¾ŽÚ{sÉ(Üë=U„`ê£Ï@t»!º]`ªŠÌ}!»Å–m¥Á}5e`¼ L÷ƒ¢”1Š_¦Íÿ¼M »ðú T– z’“7 w° ‚^ÝávÉH' Ò¹j~*ˆŠ¦ÏÛoį£R¸ÚÜßz±dÄu ‚"x¸ò3¼;s!’ºxÆ1â’spá‰C¡pÓ8 ¬Ù¼°sÓVìXµ±4TY]\6kñìc€¾Ü”K8+½yòÝš’³ª΀ˆŠbÛ?6múeß®6?§k]jíö=xñ/E¸ƒÀY„*ø›0î÷EHíå$¹¸ÆÑkØ`ô;©Nè×Щõ¼Š_ô¼4q68¡y[g¼~DåçGn2Í.à_ïþÛGæÁï¯EÍž}¨­ö£vwe,ÖïÔá[Æ_±þ¹¦B« CUUØIé© ’ÿ=BáF\MªÂ p‚éÜá v®ÝŒ«~€õÀô(zçæ@g*6m5çÑŽ¸öðˆ°uæ[Ÿg^WV¹qGöò;œ4¨ ‰ˆ ë€^ †`h†_~>®9ý4drìÙ‰^X ÑÅ!(õØ«k¨ B\àk”ᆎ‚s£ ›Áˆs“9¡Ø¶jƒS7À /Û:ó­Ï9ÌÙÎ|<”™#Í ë§h!›u,Ït#ªâ¥gþˆ‹„!f2‡ç÷‚a:E÷!õøžÎ÷©Ë…55€çkí xWpM•¹5%aì¬úf–Âù¹Êo‰÷h‘y¹í¹÷P[cf̨·–OïP-ZÀ¨Û¯ÄEÂ0-΢à, ¦ª¸MŒ¡B¸ºÚù>ìÚS—ó ‚„´>½ahZϰùfXÍæ+€B‹çmP6ýL×g1]ÓU00pƒ™Íy¡¶ß MGÄ_‹È¾Ôšp“ßa¡0ŽËÊhœÃ :ˆ àï^0-炤`ýW›ë¬ïQ%ž>Y04½ñ3ðÍÐ4š¦ë³Ê¦¿Ñb«ŽZT3o{îíû }Ä özûz2“´‹­­…ZS‹aù£qã仑yRwì6³võ¾G’\ûÛ, A„IÓ'!¼·L×0ToÙ <¦y“R“LõѰ/õCåV#\ôm{îí­nqÓŒùkòuÝ(c:Ó¸¡›Íem«iÑ´p†¡s‘Ê^žþ8>8çv<Õål|sã$Œþ0ÂU ®åf?g83 =S ÄÐü ­öCd¶l7´Ø÷ gŒ: ºmÜ7‹o6™ÎÊx ßÒãÕâ(›W€Z—0?ÀÀ 5[t=E¤¼Ám;‘’Ñ™ƒz!¸c7ôHÐuœ¯eE"`Z I9è6¨/¢Õ~çÀª5÷–3TAEÑœá–*øÇ…¿1€`¨HA„-15`çBt­q?-¾Y£j]~Ù¼’@›l›ûáLU‹˜®Õ“ÇZ¯«ˆü¨Û¹‚"Â;îzì˜3¥÷NÊ‚",xe:B{ö‚HK¤]N¨\UÒ0{üD5à–¾†( |óö˜ê'L âÿ&(¸è¨‚?ÏœŠpu5@O¨3ÃYiYÐ#‘&l[h`ªZ´mî‡Ge¿£æ—ÍZ<›sîwv߰ЊéÔ`¡ò èþ †å_„9/ÍÀO“f㵡WÈÃQ|ëÌ“s $%aRÑ ‘ TqĹ—Å•GhŸÜÐaz<ÙW\ø,ÞÆF@LUq ãÜ{n†5ðƒŽ“Ñ†ÆýíZâo‰o«ÀŒ3£ÌÞs¡©íXŽVÓƒ!D*«Q·}/ú6“^|[f¾ŒÎ»ùpÑqÝ€H8߉òïWANKAÝqÍ–A¨éƒ?×cÜ]=Ð#QPQž6ÀUÇuÐuLœül @ÄtßÈ9 ©½{À ÆÙçënQ£Ñ;Ø|#eGsŒŽúÜ{Y_€çA×]o°ÇÑiz0ˆºí{‘Ú; ·=û vÍ›ßU¿ÇÝdI‹cƒNPÉ ÎÂXÄ~Bî¬ç ¦% py<ølÆßâf2gQ®ãñÔ#R^ è:Ô}ûâ"{TJAïQ#Ü ú×®øt…r.ìjnoÓð}l¾ç™¼lGéàì±ùéHqùä´´ÿ4.0úÊ2˜®ƒ5#˜ªÂG7bþú øfñßQ»}'¤Ô4Ø»€ Aö¤á§Çž•²LàpóúK–ÿ +ßøz0ŒÝ Þ!©Ž_?bîD”—®C4P‹'ÎÂ4Ç4&­kç“ ¸M<9惧ÜcJ*4ù^JŒxÛ¼˜9þÚôÞwþn ÍH-»ü[óŸ\ˆg wöâ;šM …qåÄ»q‘p‚•£ \¡ˆ˜*Šàl5&¾ÄÉ3ënyËæ¼­.Œ¤ÝÍœ|½ûQw‚{*qïîUÎL¶Åù¿ò‚Š@|*V6ÚpŠ@IOÅÔq“`¨›UÀ ·Ñ!àš Êî‰6ù^V@(ÏHYï;7%süµém½Æ^:&Í%—ž}çuE“ž|ØszVo¬Ø³k>úÌy-ÐTu[w8M« Ç>×õ¸hœó«˜„ÿª+pÎÛF ñêýÏ vën¸³ºAv'™ÙÊýZ³KgÌ'¤Eš Ã3°ö¼ñ ö,|¯½ù"À 0]'D’ñÉÂ0U7ÊÃCï-ÇÏ˾‚»ÏñPº¤$¹œû2]C4PƒÐž wìB¸¢ºjÞ¢9£î›þ ŒH Î+«DßÑ¿Be½šFÎ9+È ”ž†5ïý“C?€Ê²$Š θà405Úô» ÔLS³qB²9!ÅY·\¼2ë¦Ñç3d]ufßןÿY¯³N÷=ú·'óÆüæB$qŠŸÃ•øóósñÅ‚÷¦´ˆe_´ï•‚Ð$üFÈÁ%܉h œsI *þ·ÐK‰ä?ˆbì~š ­º¡]{!ºSp^áÌ{m6ö¾þ ƾð¢{+œï I ªÖnÁ¸Ý_Ç©"øö–ËQAâݺԤd3Ñg]/{ÒQüð °Ð·±ØB#Eoûÿß»ñˆ @)É£¢Ë×ãúó?˺ê̾­ €ÌkÏÃ%wÙeSïõ޽]áF˜0,þê+¼ô‡¿ bÓ6Ó²mÉÆ gFÛúô¯½z¨­s¾CÝnܲq[ˆ àÆ;¯€VU Ý_‹Èž*è¡ro¼³^›ŠfᓯƥäP¡?žL9}¼gÀ¨ ;÷•Ò“ñîÓ°Œ¯‘$GP÷HLàÜ¥Þ` #]é`¡ØµT4“KCf.‹ÖDn¤6NÌÈ„Q:Èûs+öÀÌF8¸YPëå’»,óÚóK-V=7Ô✫~‹³²VîÝŽwġ¬s,YÖŒ,5À"!P—Tͽû›rW$o®YËòrÀÀt„ä ÷èÓ°÷ëAÝ.ˆ._¾^6äâ˜ÎUU’ü4ía¬þf%n¸á2Ü­¥@H®iàÔ0 FÀÆœ`c1öÈž4Œú%¬yhˆ˜ pÕÒç‚'ˆñGóôD· •¥«1nçW˜›}8³ JKU}ºj ˆ"ãP¶>ˆ-? €­0ø7}ò§˜(ÿeªÖÿ*Z³N$Í.Z I=3pé„1¸ g6V†«ñþü%ضü{¸2ºÆ‰U_¿þ>ØK­àŒ*¹qûÝ7cêu÷Bv) ‚€`Ù,¥Ûq‚3Ý×TÁK.]0FTÓ ³X@¨y­ à±ð*T¬\WVf\6“ºT­^ç "3̯?øœs\ÀÃào´àEéÖKœ†ó– À5Â@ɉàmlÆ¿ŸW÷n^$c£Ã6v™³¢È“V‹däŸ5†æy;Ôå¶f¨µÜÛ7*J¨¦ÑÀ°sî_ ȃL_]À´&Õ~¹·ýJ·Lgá¨M‘ò*¼ôÎ<\þ¦%Mdp¶ݯWV7B ÕE0üæKñÏ_ßSoÑ(kW?&𺯮^o~ˆà¶]ÓRÒ¶øYÇÞ»o/y£…!àzƒUÎ\gat¿öR$õÌhüÞª†hu}¼§Â0*V®Ò%½Éç5äY}pͪŠ„, À *K¾\Ð*€n—ŸÝ—H¤HäöŽÖ†Òþ…‹¡éÈÊ; ¥…ÓãÉ –¼Í˜pëýàšnFçìàLM†¹ÿ¼xœs¡ ~ýŸ—QúÚ‡Ý ¸¦ƒév¾²Ð ÐĽ°˜0]G#,ó*Xê’!%%°ßv<9±î¡§UЙWýIÇ÷8àûÛ $GrLä[×0݈ûÛ0Ôb®ñ¢ª÷¿8¬óŽÛ ¨zÿ‹­•K–ßÊ9õšêcª ¦ª`º¦fÖLk:IÕ?okTaw× '`×Ü"x÷G´ªÚ¹Žº](]ôŒpEÜu7ŽöBÍ{S3õ:GÚîlÎËJn,3ÖâÌ×ÿ„ŒkÆaÞSØT¥[:¤ä$€â  &!YAÕʵ¸kçç „4v툹ùôîA©)) iF’Ìâ£ÍW›Ï†¦ú8§ÞÊ%Ëo=ÜÁo‘8@ùÛÿþ¼ò½å£8×ó9¡eœ˜…Œ¶ÛäC)P»e+þC~iä²ÙÁê‰uœˆc¯F¤²Ò4þ o4¸Ü0p£ÖbŠË‚¢`ÑkKÍ™nÁTã¦ÎÄæ—Á•Õ ²'TökdÑ(˜Ú¸bWô¤áÝñOb_AQ,›D•eÌ–¶°Zè n'&`ó•–q®çW¾·|TùÛÿ>âªà‹V¼³üýŠ·>íÇ5½©ºŸéº‹ßO~^PLÿôóưuž•ŽÃÇ£oůNCtoŒ¨*KXôÚ±Á%:¥FÝ_=X Î H’‚ŸÞù˜ï‚èˆøk@e÷~û¥ÈVÀT=ÿoÒ²{š38ß!„@LKø©3ñޱœ…Á£«1vã‡xæÖIÝ)-VÇ`󑩺ŸkzaÅ[Ÿö«xgùûm:ÔýúÒ Ê} bžm6Öi ëØU¼¸I]ÝÐ.x›PxÓ}04z0ˆªÞ¡½­x¿‚e|=®¾|,”™¦—QÀØySñL7¯ãæQÉ뾟þé¯=iõÜQF8 # ×^ŒÇ\{ôt®`Ñ .þ¤ßÏ{+îæ5µ!g§/!É 1%û{çÃ’š0½”£»·|ñ¢öQT¾xQ@‡šÏt\3ÌfÄ7P@« âuqo|à†* J ¨äv|yn¸^8»_}]sŠGk·šåW–8÷GjßãÁ"pÃ)–Î~#.4Ì ‹rúCÕÁ¨­… ²g7<û`켩Ø÷Þ<¬¸e î£y 8,¡ Æ_äSµFï@eR7”Ý¡ôè1-Ų#Œ#oߘ®B‡š4ÿ¨ÖT-^¾º^z zê’ñbñbÇ5³ „Úwø»±Î)­²í’t*Ö?:gÜs3Þ›õzlp‰¸þ‰ñ0ê¢Ö½Ý(ÿve\h˜é:ˆò˜öñô<ãŒþãÝXòA16LšƒgºyA”“Mq«™ç ÙñåþrAl•š†Fõº^ZµxùQ;Ñô¨î‘v5•%éòÐ& ŽHù>T¼$Nœ/Á&Ü~ѸëÍ阖~Uâ 9¸a`®¸wc±yª€GWÓ’ºeX9ýΛtÞ9õ†X´‹fLžšY@G"Ù*Èúœ†©×·mÅGEσ1‚ £µˆsfÇü•%_tiwAùgOHîÝÓ«qc‡ H˜IýqâüJÖiûbîuâ×ÿxLÛeª+ãè0Ó§'º3»!æ Ï…ç˜Ù<Î@$Šo^]âdÔ÷2X4_f©Ž˜Å¾Çió‡ç²Û±ô§Á˜JÅ&ßᨵXm §ÛåçNhW ý7§çv1¤ôþ)ãñØ5÷ÙùìýD¸ºœÐ§¾+’ܸú»EødÊ_dä ÅÆÇÆºGšb?#•ܘžGÑÅwAJMD5xõ‹p•µ,»¡qi‡€Ê;±è£ã‡×J ƒ7¨|ìV´:GÑXJꪞøÇŠÛ¼èzá€t%=Éwÿ”ñ(ÛWUOÜ7݈D-]½.VcoxkÈ@0Uƒ˜–‚}«Ö¡û-c±±!f4 &ãõn¦ÁÆÍû‹¢ˆWþþÏØ [µ€°ŒoÀÕß-BŸ cpß…×ãû¹‹L??-D¡ûísk´zþ0À4®úº^8 ½Í€‰Ý|ã^~Êã‚„¥³ß¨Ÿ@Úo£²„Û¶•Åb2Fæ…TP·LâŽó¯Å­›>tt~ãi£‚ }pÚ„ÛÁ"ªe &á›™óñ&6Yþúx°|ý?\qá ødò_)ßÙÓÔí>h_[­5˜8 ¢‡‰Ý|mZ¤_0bþå3þXàÍŒw?ÿ+f-žæ‡’™Ž}+Ϊ°|^¾áaÈi)N2Fõ0´à*|yýMä~0¢Ñ¸Œ¡ Ÿpß…7Ç®38Ôš [<)2D—rÐL[ nØD¨¶Ê,|òý­mN¤_4bÌI×_RàÍŒµåX1k¡3hk @íÏ[ð²%Îe{ÆÓ,7bÕ1²'k.Á I“ñ©¾Ö ÅÖ×ëåz€wÙ“9£ äŒ.R“A$±U×*nkBƤ_4bL›@úè3r» \<ö–+‚Ž…ã‹b‰ŸfŠ<*»ðô‡ŸÄ©*ôÁ‰7]]Ä}WJNGÕê¸öê»ñ¬ú-8¯UR¢cÛ„i×L0g7C»oD\3ŠÓGŸ‘Û&T€ëÌœtIBéä-Èî**˜ñÔìúò;Çê'‚½4=¨ßKEåo/uBÄ*˜MVaòèHÉÉMÔH¨Ð#*”TºŸ> þÍe¨ýéÉn’ŒöLvÀΞƼÍž eš†¼È×ëŽ(BxÄ[ĈÐò8Q²wVUãõ·þ‰_ü×’-¶X¶^€äQˆVU`´·r83CÀãyLMN6u ØàT„èah!ìò­(uâõ íüà‡oÖV; NIã„f‹ˆæáw=bp~¢êøÛ5æ¾D²;l.X ‚~ÀxPYÆœ—âÖ;ž²BÃTô Çñó³ ØÿQq„àÌ1ôÚïÌ7þ`Å.A­;E€àÂᕵ¸ræ ËZ ʲ§IëÂ>:E8æƒî¢ÖW štºù¯ð ¤z zRÕ vD²E~¬ Úþa“ªù”lVðëMï· 4¤ÔSõå²)uy8gy¼\`Ù”’ìú€h*˜“||.<ðáÏ£nç'TÜa‰Ù»€ñ2bÐ20óü Bh)c?ÑPVûݦO µúfÑiÞ“Ç(>ÿÁTk&È¢scÇ  Æ·ºU?&GƤœ9d ‘hÑÁl‚Î@ŽÎ×XQðëµ·öó\UU·E@ VÏ´KXåÝP™ïX<ÿ˜€Q j¯Ò;¹°÷N>FŒx‰a»‘Fç~#ƃCŽ‘_¥å3°ö¬iÛÏæƒ–LØÚF ëÌœtRôSÙÞŽ¥³e©5 žœâ9ÒÐn›—¤ÎÜí’sÍj±Í”;—õoo mò¡>o:¸ xXÄËŽ vFÔçC=Þtì8@Òɽ«9gÎIû[t¬­”TòÍ‚B¨?¼z{— 夌\BDó„LÚ<ÿÿ ió3¼™^Ž<ãz^t}å­Õ¿ÖULÌ'Ô*Ãj®÷gåÅ› ˜¶3ó­£qYsE˜EE>€Ž ÃÛP"6çz (÷Y]̧L*j>bÚ ÕŠ½LôF!b>À½ñÆ`cx¼C€R®7d@áð!©ÅÙ½¹¡ô£2(ÃOi–9Qx›xSôkÑM•õ ºÏÌvõ˜Žô¨—á|Nàm^go­BZõñVµ\=¦ó‰2#¡IDAT'²‡pÕF|ÑŸ+š%îäÁ[dSÚ¶+yÓ LÝXÙ¯YvÑ€Ì\Pîå÷ÔOÃéÅML‚Žã.Éý3?¸×©-¤m,ŠhŸ–ÆâS©ÕøÚžª,JxíbÉæW­Øa ûŠZr‚EB~"ˆ ‚µ5L›“¶Û§º¿½ðµÝ„Y1N0¬5§¦ÞF}G^›O}æ½pú}Í)Ù¶ûš-I:)‹mBÙ¸Lºù9A‘¾Ã?”Ì來"•³6ñ`µ…º]ŽR!ªåG+ê¶€ØË3pØÏy½$¾¯íebµ#PìÕ3zmiL"48²Í\R[15_ß±;γPzt&¦—5ó°e*ù©ÈŽîå&úP Û~>çM´ˆ©y û@K€ +å@õ ¼.¿á 9×vwO¥³§€l_®P/5yP“Òƒ¤$¹€w¿BdO$$ÀQ !3yeTÔôDM¡‡{ !4»éQ³–b (3ö†ú5£/36õ™QQ×nоrm >èê5?t­ 9ƒPBÕÁ£º9àõš}V/T£°9·2*ê˜}¨×'_{bi»’4Í}9 ›¡R*”ù¬FýñÐî!ÀK„xì[[±øX:êï— *”€–dóYMèýŽä\B˜Çè‡U@)¤‹çrN}M»šÌ{„÷õ* 8 rKK4,¿*a!íw‚+¹/ã‘8_W¶©ÛÚé&:!‘º­`(€ÊüP™ qð;­HP'— J A $(€%@‚HP J A $(€% ÔYèÿUÆ{ ±u6˜IEND®B`‚./chessx-1.3.2/data/images/pin.ico000644 000765 000024 00000041076 12244341465 016375 0ustar00nistaff000000 000000 @@ (B(@€ @  Ý™Ý™Ý™ï´ ï´ ï´ ï´ ï´ ï´ ï´ ï´ ï´ ï´ ïµ ààœàœàœàð¶ð¶ð¶ð¶ð¶ð¶ð¶ð¶ð¶ð¶ð·ã¡ã  ã  ã  ã  âŸð¸ð¸ ð¸ ð¸ ð¸ ð¸ ð¸ ð¸ ð¸ ð¸ ñºæ¤æ£æ£æ£æ£å£ñºñ»ñ»ñ»ñ»ñ»ñ»ñ»ñ»ñ»é¨é§é§é§è§è¦ñ¼ ñ½ñ½ñ½ñ½ñ½ñ½ñ½ñ½ ì¬ì«ì«ì«ë«ëªò¿!ò¿"ò¿"ò¿"ò¿"ò¿"ò¿"ò¿!î¯î¯î¯î¯î®î®òÁ&òÁ&òÁ&òÁ&òÁ&òÁ&ï³ ï²ï²ï²ï²ï±óÃ)óÃ*óÃ*óÃ)ð¶ïµ!ïµ#ïµ#ïµï´ ñºð¸ ð¸'ð¸'ð¸ð¸ñ½ñ¼#ñ¼+ñ¼+ñ»ò¿"ò¿"/ò¿"/ò¿!òÂ(&òÂ(0òÂ'Û—Û—¯Û—/Ý™¯Þ™ÿÞ™ïÞš?àœ/àïàÿàÿáž_ã ?ã¡ÿã¡ÿã¡ÿä¢_æ¤_ç¥ÿç¥ÿç¥ÿç¦é§_é¨ÿé¨ÿé¨ÿ꩟ۖÚ•oÚ•oÛ–ì¬ì¬ÿì¬ÿì¬ÿí­ŸÜ—_Ü—ÿÜ—ÿÜ—ÿÜ—ÿÜ—_î°ÿî°ÿî°ÿî°¿ï±Þš_ÞšÿÞšÿÞšÿÞšÿÞšÿÞšÿÞšï³ Ÿï³ ÿï³ ÿï³ ÿï³ Ïïµ à_àœÿàœÿàœÿàœÿàœÿàœÿàœÿàœoð¶¿ð¶ÿð¶ÿð¶ÿð¶Ïð¸âŸ_âŸÿâŸÿâŸÿâŸÿâŸÿâŸÿâŸÿâŸÿâŸð¹ð¹Ïð¹ÿð¹ÿð¹ÿð¹ïñº/ä¢_ä¡ÿä¡ÿä¡ÿä¡ÿä¡ÿä¡ÿä¡ÿä¡ÿä¡ÿã¡ñ¼ñ½Ïñ½ÿñ½ÿñ½ÿñ½æ¤_æ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿå£_ò¿"òÀ$ïòÀ$ÿòÀ#Ÿè§_è¦ÿè¦ÿè¦ÿè¦ÿè¦ÿè¦ÿè¦ÿè¦ÿè¦ÿç¦_óÃ(/óÃ)ê©_ê©ÿê©ÿê©ÿê©ÿê©ÿê©ÿê©ÿê©ÿê©ÿé¨_Ú–ì¬_ì¬ÿì¬ÿì¬ÿì¬ÿì¬ÿì¬ÿì¬ÿì¬ÿì¬ÿë«_Ý™ŸÜ˜ÿݘî®_í®ÿí®ÿí®ÿí®ÿí®ÿí®ÿí®ÿí®ÿí®ÿí­_ß›Ÿß›ÿß›ÿß›ÿßœ/î°_î°ÿî°ÿî°ÿî°ÿî°ÿî°ÿî°ÿî°ÿî°ÿî°_សážÿážÿážÿážÿážÏï³ _ï² ÿï² ÿï² ÿï² ÿï² ÿï² ÿï² ÿï² ÿï² ÿï²_䡟ã¡ÿã¡ÿã¡ÿã¡ÿã¡ÿã¡ÿä¡ðµ_ïµ ÿïµ ÿïµ ÿïµ ÿïµ ÿïµ ÿïµ ÿïµ ÿïµ ÿï´ _椟æ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤/ð·_ð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð¶_è§Ÿè§ÿè§ÿè§ÿè§ÿè§ÿè§ÿè§ÿè§ÿè§ÿè§Ïñºð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹_ꪟê©ÿê©ÿê©ÿê©ÿê©ÿê©ÿê©ÿê©ÿê©ÿê©ÿê©ÿêªñ»ñ»ÿñ»ÿñ»ÿñ»ÿñ»ÿñ»ÿñ»ÿñ»ÿñ»_í­Ÿí¬ÿí¬ÿí¬ÿí¬ÿí¬ÿí¬ÿí¬ÿí¬ÿí¬ÿí¬ÿí¬ÿí¬ÿí¬ÿí­/ñ½oñ¾ÿñ¾ÿñ¾ÿñ¾ÿñ¾ÿñ¾ÿñ¾ÿñ½_î¯ÿî¯ÿî¯ÿî¯ÿî¯ÿî¯ÿî¯ÿî¯ÿî¯ÿî¯ÿî¯ÿî¯ÿî¯ÿî¯ÿî¯ÏÛ–Ú•oÚ•oÛ–ò¿"òÀ#ÿòÀ#ÿòÀ#ÿòÀ#ÿòÀ#ÿòÀ#ÿò¿"_ï²ï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ÿï²ܘ_ܘÿܘÿܘÿܘÿܘ_òÂ&_òÂ'ÿòÂ'ÿòÂ'ÿòÂ'ÿòÂ&_ï³ ï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï³ Ÿß›_ß›ÿß›ÿß›ÿß›ÿß›ÿß›ÿßœóÄ+óÄ+oóÄ+oóÄ+ð¶/ð¶Ïð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð·ÿð¶ŸâŸ_ážÿážÿážÿážÿážÿážÿážÿážoð¹ð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹Ÿä¢_ä¡ÿä¡ÿä¡ÿä¡ÿä¡ÿä¡ÿä¡ÿä¡ÿä¡ñ»/ñ»Ïñ¼ÿñ¼ÿñ¼ÿñ¼ÿñ¼ÿñ¼ÿñ¼ÿñ»Ÿç¥_æ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ÿæ¤ò¾ò¾ ÿò¾ ÿò¾ ÿò¾ ÿò¾ ÿò¾ Ÿé¨_é¨ÿé¨ÿé¨ÿé¨ÿé¨ÿé¨ÿé¨ÿé¨ÿé¨ÿè§_òÀ#/òÀ$ÏòÁ%ÿòÁ%ÿòÀ$Ÿì«_ë«ÿë«ÿë«ÿë«ÿë«ÿë«ÿë«ÿë«ÿë«ÿëª_óÃ)óÃ)Ÿî®_í®ÿí®ÿí®ÿí®ÿí®ÿí®ÿí®ÿí®ÿí®ÿí­_ï±_î±ÿî±ÿî±ÿî±ÿî±ÿî±ÿî±ÿî±ÿî±ÿî°_ï´ _ï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï´ ÿï³ _ð·ð¶ÿð¶ÿð¶ÿð¶ÿð¶ÿð¶ÿð¶ÿð¶ÿð¶ÿð¶_ð¹ð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹ÿð¹_ñ¼oñ¼ÿñ¼ÿñ¼ÿñ¼ÿñ¼ÿñ¼ÿñ¼ÿñ»_ò¾ ò¿!ÿò¿!ÿò¿!ÿò¿!ÿò¿!ÿò¿!ÿò¾ _òÁ%_òÂ'ÿòÂ'ÿòÂ'ÿòÂ'ÿòÁ%_óÄ*óÄ*oóÄ*oóÄ*ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿüÿÿÿÿøÿÿÿÿð?€ÿÿÿÿàÀÿÿÿÿÿÀÿáÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿþ?ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿÿÿþÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿƒÿÿÿÿÿÿÿÁÿáÿÿÿÿÿàÿÀÿÿÿÿÿð?€ÿÿÿÿøÿÿÿÿüÿÿÿÿüÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿÿÀÿÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿþ?ÿÿÿÿüÿÿÿÿøÿÿÿÿðÿÿÿÿðÿÿÿÿðÿÿÿðÿÿÿøÿÿÿü<ÿÿÿÿÿÿÿÿÿÿ€ÿÿÿÿÿàÿÿÿÿÿðÿÿÿÿÿüÿÿÿÿÿþ?ÿÿÿÿÿüÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿøÿÿÿÿÿÿüÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ./chessx-1.3.2/data/images/plus.png000644 000765 000024 00000011556 12176205356 016606 0ustar00nistaff000000 000000 ‰PNG  IHDR szzô CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYs11·í(RtIMEÝ ¤0xq¬IDATX×]ŒTåÇÏ9gvgØeW\Ý.HÀ•R…`u‹` m´5`•ñÂØ„›¦WÚ #zÑ´ÄHIªW~\QSC‰1¦)Q"Y–(¬B(äc–vvgÎÌùxß÷éÅœYgIy’wÞwÎyçyþÏ÷3ÂMèÀ¬[·Ž—_~™Õ«WËš5k`ûöí+W¬X1¿P(,ö}±ª pÞs~hhèò–-[ލ*O>ù${÷îåá‡æÈ‘#?)'¸€8Žxî¹çtÏž=[—.]º¾³³sU>Ÿ§P(P(H’„(Š¸ë®»xôÑGO|õÕWEd à,XÀ-Ó®]»xá…¦¾¿ùæ›8tèPùÒ¥K:66¦•JEÃ0tÕjÕU«U†¡Öj5E‘K’DÃ0Ôr¹¬ÃÃÃÑ믿þç&ŸÍ›7߀çŸ~êüÞ{ï½ñõ×_k©TÒR©dÇÇÇubbB'&&\¥RÑJ¥âªÕjf`4 C›¦©»|ù²îÛ·ïC`NÓ-3Iš‡§Ÿ~š\.ÇÎ;rû÷ï?¶lÙ²æÎ‹ˆ¨çyÒÜ•©ˆ‚¢ OÈårECCCÖ¯_ÿpQU‘´Ò[o½µpppÓœ9sl.—ó=Ï›ÀO=ÏEDDPUDq * ši,€sÎy}ôÑñÇ|0Ù*Ëožyæ9v쯼òÊßî¿ÿþ?öôô'"dKš»UË·•oäzRb<)ÉõhŒÄÅ2'×Ùª”40¨ýýýý}}}‹>þøã}­<€_|‘Ý»wëªU«~¶hÑ¢¿tww»L­¦Ø„‹µï¹þÀ•ê\ªþÀhíjÃÇzƒ¯ÕZKGG‡[»víÝ`ƒðì³ÏîY¶lÙÒ|>O""d¦Œ±Mù¾ú­4„9±ÎÒîååÎŽ¾¦Ù§YBUÕZ+ÝÝÝÒÝÝ}Ï|ð/ >e€7.ïëëÛÐÞÞŽïûÒª…ªN[Î9R“Ø„Ä$$&&µIãýŒû­ïyË—/üý” –.] ÀâÅ‹×vuuå|ß׌Z9œs áêpªÄ&&N#b¥©Mw›÷²]ùˆªj__=ôЯYÁ™3gkoo'‚©‚/ÔÁ˜ØÄä$‡ˆ`œÁƒœlI5ƒ™ÕÖÖÆ}÷Ý·¸8dgcÛÚÚpΉH#3=ñ˜ŒËücx'(DiÅsØüÀŸpYÚ ‚UKw¡P¬³d¼%Š¢ PÛP5ƉãxCš¦êyÎ9räXÙ»º‘ÒÈß ¸V/b­#ð@­bRÃì “Gþ§—¥¡ˆàÔÆU¬³2†+W®œÆÛÚÚ¦ÄgΜù¬§§gC¥R‘|>së,5SkèŸ1ôÄ£žÖÁeU/‹ ë,aZÍ •›ºŸÅÖZœs299ÉÈÈÈq`lddÄL•âR©t¸^¯OT*Ò4BÛHŒ™#„¢®águŠZ͆¯©)\U‰¢ˆ±±±èäÉ“'€ñi½àÀÇËåò‡•J…jµêœsXk1ÆL«é ?g‘©S°•šJdÚëøø8gÏžýüôéÓ_á4€Ù¶mÛö0 ãÑÑQ/Žcmh¡(žx”k㌇׹^½N©:F…xž7Mxš¦¤iªÎ9Êå²\½zUwìØñp¥9°Ó;=gOŸ>½mÅŠ-‹Ò×ׇïû¤iÚ¡ƒ „¹ùn¶ýv7š©l¥wög¦[Óïõzk×®ñé§Ÿ¾–¦é©ÞÞÞk£££Ó'¢¦Ë¾üòË“ý³fÍZa­uÍÂÔ,Ѫ*‚°äö_È¢ž»YÜ3 ó–pû¬^©'u¬±bŒ™]©T´X,ÊÐÐп_}õÕ¿çÂ0ŒoÉš´páÂô“O>¾÷Þ{ÞÞÞ¾Ä#…Bß÷›¦U%N#‰Òˆ(¤žÖ‰“X²€“f+ž˜˜b±(§N:úÒK/m‘ošÁwS L9rä`¾££ce½^Um ¤ž'YkçÎ9ÉLsNŒ1Z«Õ´X,z£££>|xïÎ;·§±™ònàû>ªÊÆëï¾ûîçžçïìì¼ÛZÛ[«ÕÄCÇÒ:^§i*aÊää$årYŠÅ¢\¸páÛ÷ßÇ;ï¼óZWW×÷qÿTšÊ-üW €¾§žzê‰þþþ óæÍ[žÏç{²¹±¤iJ½^Ÿ9wîÜ¡·ß~ûŸY´—s3æ·€LÛÐñàƒþrþüù÷är¹Î®®®¹""åry2MÓêùóç¿9ÔÃáááøÿñ––ñÜË\Òä²=ÈÎ~vö[îä³w’åt $@œilZž7—iyoÌãe»ÌxdB›à‚ly- äZ~“fçt†•uþF“«>ØbïIEND®B`‚./chessx-1.3.2/data/images/print.png000644 000765 000024 00000003304 10622422464 016742 0ustar00nistaff000000 000000 ‰PNG  IHDR szzôgAMAÙܲÚ{IDATXíWiLTWv!b•—¨%R Eª¤IµVMli°h£¶Å²Fý£,aQH$dÂÐ"BYD@@ö‘}S6 ²©$ bƒ‚ ©_Ϲ™1£€´ó’/óÞ¼{Î÷ÝsÎ=÷¾yóT.;»è/##.HÒÓ«%—.VGFÞ¬ML¬¨­ªj¿/•6A‰+WJÛ÷|I¦óçièZhoÿG¡üñsLÿ µ˜Óˆ‚íÛ¬=ë—‰ÞP ùå2Ç‘éç‹‚­mXyc÷8dÏñ¯àq[Èî+‚–FØØû¤ÉÐ:µ`çôœÌ~!,шKK¯¡—ªÐðÔB%3 -I÷¤þJ9 "’š §g(Õäj˜Gͨ(¿ý-Šº1' º€ÜN ¶t††;êÉÌTcu`gÄŽ³:€Œ6 ­ Hi’ꀄj ¦ÈlJõíãhjꀯ¯ï+25øßä‰D.•– «p©R”1qPózžŒahh½½½xøð!Åàà PPP€††xxxLnÚ´ÉiÎvmcc³+,,L„º££÷îÝ¿r¹\¸|ù²øïÕ«WÇØØFGG?IÞÝÝÊÊJ¹¶¶68p`ˆ¨¾™u•9r$O&“‰Ð©Š`C&âü–••}’œÅ666ŠÐs 0ykk«(Tö“¼Y{Um «VæOU;aB¾çœ*Éy¶÷ïß©àÚ`---‚ðÉ“'xüø1=z$Š´¦¦ÁÁÁ Zè ºïg¤‚ÂSÛÙÙ‰¹D´··‹™sñqJ¥R‹wL¦ ;“²`&äH0nÞ¼) ÔÝÝ[·n•Ýïìß¿¿– P8K?óÌùjΕK” ŽW×Lvv¶(d???899áØ±cðööæ°û¨i!&&ÎÎÎHIIŽUEp01Ï’CÍbÓÒÒpýúu±b’““qþüy®x¸ºº‚z 233áï ïªÃB„±±ñìöíÛt÷î]QdýýýHOO‡———XzL¦Á¡M† yuˆð21 â4•——‹”ù%ºÂ+çWîؼyóìöîÝ+a¢7oÞjž);c!"¯bžå¹sçD¤˜˜Ÿy‹ãœ«’³ çŸ{¡‘‘Ñì¨KxÉMOO ‚óÌ5Á…äéé‰ãÇÃÇÇG„—£ Ì¹*9§’ß]¸pT[\ùâÿ3gÎÐŽi8»€;wJXé»wïæÁÅÇME™óɹ~…PÚß·hÏMÎÍÍ ¦¦¦}Dç4CÀ† ôi‰dP?xËa›K©’s$N:jd }...s ç ‹myS£1ÃDçFÐqå}\WW×cË–-rvÊE÷±ˆÒÒÒ÷ä Úé`mm=+97-¶á«©© 'Ož%ÿ|hñ˜ëè6_¡Ì|Íš5Ñfff#þþþ‰Rw=eس³Ë ‘dQ|Þ“óæÅÝñåË—Â&55”ÞÁ¥K—Ö’ßTÂYÅ~°è“çAÂjžuëÖ•ìÚµkŠw@vxëÖ-±ò °²²¦¢ôÃŋմJŠ©[v‰Ùr¸IÌ4E²oñâÅ•äç*Á•ðµÂï"uÏ%<Ð@[[ÛqýúõmVVV -Û¶m=®ZµªYGG§ÒÄÄ|ˆ…¤¦æÂÁÁaBOOO¦¥¥U@¶N(Ή+þÏY‘+Öhùòåúúú ,(¢çD‚;áŽÔÊ•+ãV¯^Ý@÷Y„pÅ7‚¡"¥ 5òµ¤˜‡ñ ",Sœr´Ÿeß~TJ—¨óÅüÑÂG´còÉüIEND®B`‚./chessx-1.3.2/data/images/rating.png000644 000765 000024 00000002007 12517120413 017063 0ustar00nistaff000000 000000 ‰PNG  IHDRàw=øtEXtSoftwareAdobe ImageReadyqÉe<©IDATxÚ´UÛKQþff]ó¶v± ÅÆ†aYF7‚‚ ê%zz©(„ z,ì©¿ ¨§@_zˆ‚ è)P„È.–º^²¬-3ÍvÛ¹œ¾ßœ3îj«ûÔa¾93sÎù~÷ßXêõjü3,ÂæÍá\A| €œº …Vê:688\÷°ý –1ø%È­¢ç’L«°q'üæ#ޝÁy¬¡ôÀB¹a‡›"¨h¶õ³à+xhGõr`ç^ °Î`MÈk²”ŸdS€’ÙÖB~“à'v#oǦ& Ïov•׺†ŒÒûÊ Ë²´ÏC¿ÛÚŠ,1¡DãvTÖ’MÛeýfÂlY~Æ Ë{–Aô„ zæ… ôw q©f’+}B°+øùvŒûÊ[ð‰¬?•ÖØüoo¤–©ý-Äk$\‹À=Í;IJsŒÑQ<\—ZJ€¥¬Û¥NÑ=IÆ,¦¢b‚J ÖÖÉ-´FiÀ¤oŒIS±ïÓUÇºçÆ¹/M…^`¥Ó‰c¾¥oüï¨B]H«VêС¯æ“‡*B'Š™¼p}r’)Í LMñ¹œ‹8>|/Æ ™@],‰ÆÍš0 \ É”0ª¢Ú˜«—¹ Ä4NÐâ†LŽºœÖ„ªºÖ¸þ(>öiͳJªøc²Æ5±ñ ¢wY“=²WÎÈ{@íÆeý N ?1ì4qù`Ãï¨ {ƒkkxe ã,µä‘||DÞ/âtún!‹¤xòö(qˆúðî•9X¤ýbÈ›yòÉG…§ çïÍOÓ â0ÓµCc—”ƒÔGÿˆÏ³Ðö¡ãß:ðæi•¡?oàó7ã†2ä⚺%‡G¸ôþ~éJö¬BÆÈȱ‘ùQÓÃü5,È$5ÌœÌTj‰fÇææ›&ç‡kAu¡ÏÄÂ3¿™ŠöŒõ Rù͸¹5^Z@xÐäÃÖÜŒsÙU…þTÖRÓµlz5Ë4±¬ÉËÑÿˆlÐTÚEn‘½9š‘§éýò=Îà ìEý3²CZcöíg› ³´û¤lÕÂûÛÒ?œÈ›sjQ]Mâ:–>‡=Ý,ÿ_Ϲo±¸îž,úß´ªª’Ò;ñXë".Š2"üƒ%QÏ>‹æeð9ÓËïLj#ÄKb’¸Jlt «ÛÇp?Z/nL-òË4­G£‹xŠÁ¡^Îg‰]ij{ìšh#¶a6Û‰‰/i>w”n×Jáÿyü`Âv¼ÁüûÀ•IEND®B`‚./chessx-1.3.2/data/images/redo_yellow.png000644 000765 000024 00000023404 12324440217 020132 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË IDATxœí}yœUï÷Wuë.}{M'¥Y²’HHHaÐ':ótd\F\Æ8,¢¨è€Ê<ßýÌŒ£Ž¸@ÐDÉä©Aˆ‚"!n !I‡„t'é,ÝNïÝw«ªó{TÕ½µœª{»Óéîðú÷ùÜ®®:§ÎùUßïû[Ω*`š¦iš¦iš¦iš¦iš¦iš¦iš¦išþ!šlNwºã«£¡CÖI!b…Àÿuûýb²ùª”¦à$èßú醈 gÌy[w÷õÅ5ât*f$ŠžÉæüSžlË‘2Ù œÎÄÌÊŸwöÅ?ü®ù?|ûç¼§ ó¬ÞBÃñÞB íººzÊ+Ø´œ=žU3Y#©ÅxÖ‡ßyÆ¿ëͳת a¢q`بfFüúk®žÒ÷XlNWúÔÇ?Dñ˜¢õèÕW¼±imMZi^qNõe1•’-mÃ…`QÐÙÔ42/\}žØöÒî)i¦´tNebf0˜˜9Æ0À‘ˆ½ç-3ÿñcW5¶*©.aæÙƒÃfíHV$>zíÕSRÙ¦`ŒÄö"RÀ`b“ˆ„òæ‹ê®øôç}¾ºJ]BD³ º¨ÉŠÄÇ®›zB0-c&¶ @`› 2iÍòÔ¾tCóWfÔ©+Ì+èÜ0”1S7\û¾ØÚü‡)ãN ÀXɆfØX€ÙdÀÞ²À‚æØÒ½~ö¿/hŽ_ÌÌsó®ʈT\ƒú‘_5%„`ZN’ˆ€`‚ loíý3g« ¿pÍÌ;oqârgèf sU¦b¡Ü4œåš‚øG¯¹rRÆbZÆH¦É0L¶€Ý `i½ƒîcD¦òî7Å>ðÑ÷Ä?×h!ÍÎäP[0¸áÚ+'ítiw(ÿe`4üû} Dó¯P—ž9ðºÆÚü¬í­ û„ £`ÄŒ˜"ÄE«ÏáJ…`ÜàßþgeO[üxOvÆM^õÕ7¬™{#ÀêØìd"”óÎ#Û*×öX´: ¥d}T™Œ’‚ ³‡/œ3´`ס†¶\AÉ Õ4„".»x‘X¾|9^ÞíދܻîfåH׈vàð`ݧ?²êk—¬š½`%ÔÃ/«%2íä *ã…3KË‚>*å¿TÀ¿9ý¹ #g.;³ÙKm3öe ±,³bšB1kSy±|ùrÞ!'-÷ÜñÏ44¢k-ûû>µvåW/]5û‚PŠ7˽\ªèèxo²#ÝgÎ{~ÇLv³üŽ™§m÷y$o'ªâ1iZ ÿ~çÑ'P6TÎ?{ú šQmZsN÷…-‡dÆIzÁTMUasÇν¡æà¤àûßþ esFlËÎîšk¯ZöÙ7®™û @(ÑNY%NvC·Q:b£rÔF ácròÆp/BJ5©|ÝšE]¶wW9>PÕm Ò™•²eËEKË©œÔšÀ¸FjËþþÔÛÞxæû.¿xî-DfÌ’VÓ–N“J $M_ˆV:nI³w9µgY5 ›äi›Kíxú`áêËn;ä¡ ° bWðõQlÛWI²¶‹ü›’¶#øçþ9šÿÆšÌì[ÞýâjR…3‰¨ÆGD¾'6ÖÁ¿ûöO«›·u%–̯¿ôW,ú‘ИÙZ fÀÊo;’Ìì,’íöyî:ì.sê»ÚF©/yÛN™SÏnSR×Íïèø·ûðó/½6WÛ¾ýhþÃÿ‘øÈ÷žZõèP&®28 åÇWî¹ý&j;2¤%4µùº«–|C‹q}qÃ=™aÛ«âIÈÖOY%%î7_¿ž¶Ãúwf ášpŠäßW'ŠÿЉªà¬¤§"ÿ²2{IÆ?3ŸLë—=ÑÚÙ°—Á9"ÒQ²ã#ë¾v#åukï©úüu+¾4£N;Ïz$ŠƒR^Ô Ÿ†!€O«ýжÀ˴],sx ÑR?TÄ¿¿®}~ȵÉùwø°Ûð¼Ö¶®ºžo>zñ¯ºR{> ›™‡ˆP€Åàø@U*¦loéM¾aõì·¿¤þjÇ–…iI@‚£´$°ÚÇWæ_V]–H5н*7 ÆÂ¥¢®mü{øvñoIvœuô¿Ÿ\ýLÿHrÀmDtˆ™»ˆh`}ƇŸÀwo»‘Žue´‚Îs®¾âìLµè¡FMÆ”óÂÝÇeÉp©Œ|:ÙÇ™rõE¸ÛqøS*8¢°k#_ÝQñïj‹,pؼ§¹íî_¯|&“µ¡ À!údŠ\82*`fu×þäM:÷“õ5ê9˜ ƒÐ0¯È ƒÀ˜ö—!‰“™‰Ñð_‘ZŽÿÒk“òoÙsÓ$±qËÂ]½°üyäV˜¹@3È1³ùðÇÂÿ¨à»_ÿ¸ÒzxD[|VõÒןßð¯ä@ ß‰³áÍçØ”…@¿ƒ(¾²>*'´þË:¡åø÷› ‰£ë¿GþÁa’ùЦe/nܺø‚éÚ˜¹ˆŽ3ó 6lØ`T2® @®`ªGgÓÿëú¥ŸÒb¨³žƒ…翊ÎÔ(5(ÒQó:O%í’ ÀhP¿ãÆ¿[Ëèæðû!“~øÌù›¿ûŒ-|ÀaXNß0€Â† *^/X‘Üùµ”CYmñ™Õç®\Rû^+1'H¾¸ÆÊœ  ƒ&=?²l¬Nœ|½âIó_6Ôd²L Ìij·?~áïvµÏÜADmÌ|€ˆŽ8ÁÌöæ‡:|cÊÁ£™Ä­×žs=‘HlX˜ õH÷(€…ÇNø í|XÛî—õ ¤&à_8ý„!˜«O8 ¬é€Îþôàí¯y¦µ³~Jš”™{ŒÐG;ø À·¾|=<–‰-<£jÁùKjÞá¶ý•Øy©FÙyÁDˆ_;G¡åÎÍvkõh’MÎàɬ|²IÚvÿlÙyY[&ní¨ë^÷Äšg:úÒ{mÍ?HDǘ¹—ˆ2öàG:{c€¸FJO¿ï_Ï~g"Ζ–… Àh¼pWëN×=åQ!€]üõ+D€(‹âß×Geü—ì<3ØÚ'ÞÕÞØ±nãš§ûGûayút2s€,3ëå<ý“€‚nª#Y3uù… ïs&1üeçC5¨B;Y<ߣ]6T¶®ßW_ο7½;>ü»î,•\Œb`ŸO613?ßrÆþ{~sþosºÚJD˜ùu0óå˜Ù8™Á/+ßþòµÊ«íÙØêe5+k«•¥ÖË-¯Ö“ pþ/&4ÜeîiU×ñ°DKÙ)U_ÛìêÛ˯ wâ'Œ„ñÅ—ïÚFÅicû{SxjÛ‚ÝnZþœaªnР À€<€²1~%)ÕU ñ«þgÍ€Ir,Ÿ¯;„»’$I–È‘ÏV愎ÿþ{v9ˆN;A¸¬j¦Pă›–m}òÅ…2íø €vf>`™ó?üð¸=)' j,FÕˤހÇ0ôÁ¬×‰‹˜ ¬ÂC`Ölæ ¬ ÁÖ²š¢ÖY·®M‘Üe¶·]š9e—VÚÛâ¾Kh0˜ªfR!“Ê;¡ŽƒÜ3s¶ é÷üæü^x¥y+3Q+€#ÌÜMDÃÌ\ÏÁ"à«_\KGÔ†ÚØYM3Ôsü‰Ÿ@¨‘® hœ_ƒ<èCÛ®óuÍmêÑíûí{Ûµ£™< <íiPÿ˳Òc°ÍC±˜( $¿øþmï›Û0Òj–PÉíàí? F’Ù»ž^õü‹mM/hp­ÔngðGæ•£PHʼntƒµ¿Z™^£¨ Îgûµ4b>;d­X'"T“!€n°¹y§ÖöȦԶc=j;€>Û1aæ˜YÃR.Â¶ÖØŽºLafˆj˜Å;³Q~o$ž³ooT ÝöèEO:Q×ðÛá;FD'dlOÜ?RTJO¿›?7~Q)-ê”C¿}”j‰ÛNºÂ@W[=ƒ4r×£éÍ;Û´S àXZ2ÀÌyf6ˆ¢¹µ1j;†2@‚™g(0 4JÚ &—1b[óÁ¡µ³¾ûökžéì¯Ú+¹s™赯Ç8UƒD@ß ¡Q|ÉÙñóœ5h8™0®ì[4ämwôÐà7ª~¶ý¸ú ø0uÁü"Ê3³ID¦…DÑÚ=$"A$Ìâ=òÙyg°ÐÎÒ|0˜ðrûÌcßyò‚_d’ûnµçñ;‰¨™³D4æÏI À¿~¬Ô×(étŠ‚íðO~A…„>åB5Èö­ÿ3ÈÝöPí³Gºc»Þà ¬yï>:ŠqjшŸª›GÕÉ<å놚#˜ÂIæÉíP‘„¬+d -Í­÷>{þ39=ÖxæñÎ0Oõà!ˆƒuêMÚüxŒÈ–„ƒ¡¡šÌ<„͸ùÃ8{_æ~S½åH·º™Âʈeû3 b"n˜M|ýÚw(±(0 Gæä‚wÛùÁx‚‰ŸØ¶p×ÿ}aéóCiC)Æïäâ<þøÄø•\4‚®³’ˆ£Y!·2€.ªôC8ûÄQæÛݵŽç^Jî`F»í !¢fΑ1_ºqªày5CÜÖÕ`?Áâ±+ÄDC1~ö‡s·=¶uÑ „µ|«ÖTî åG3•;.×!;¨*L ¨ ›có“àÞçèP-X6Šd 33ÿCÕ!Ð à3wègæ,€I|PˆAä8…¶¯P í,ϵl>V¸÷Ùó6o~åŒ™Ñ +Ás˜™» a”óøãER4’JcÍ´4u´N\eKž+É·wô({ÛãìÕ.Çm)3R$@ä¼-öÛ^ñuà gµÜO¬ùíÎö™;:`kþQ;Á3kðO™§E!`%9´×¿‚!Kà„i¹Ïο0‚½¡%³à}GÙõ0s,›ïÌ}OÞàÛDp‡Š%GÉí㎾ôÀº'V?ÛÖU·@À‡`e÷zŒœÊ¿’ €=C¥h*7ÌÐyôÊÀŸ&öû.”ðmÛŽiÇ™1DDCŽæ3û]îÉ#7À•܃v×ö~ûñ Ÿîì¯ræñسy½Dä$x&U£æ؃å½Ëí¼/…ì‹"|e=ƒŠ³Â5  ÀÌn'C‰-(ÅV€ÞqhÖÑï>uÁo2ñýÚì襃™ûae÷Nz*w<(DØŠ] ,ÏÖÑ\–i¹$\éš¼ÐG³Ác˜& t[óM"šÈp/’“ö!ÁÄ›_™·ÿÞß®ø]¶ µ¡•­»ÌÜ?^óøãER(Ú5v&#dÝŸÈ!ɾû¡§¾³ïNøHæú L餙„'±3%î˜ ¦P—‚ÄSÛç¿üÀ¦å¿7Lj'ÂX «ã°æñs§yüñ"©+• !D!à˜…äôesξúCæ Bú˜?'[ÿû—k;÷>‘߈$Ã$è†b›BÀ4ã'/,}úÉí ¶™‚:bæÃ°ˆÇy¼Hú~SX#ªbÀ‚ñˆçëIòa$8o¯0]eþ:!ÏÀû¶ó›2sTI"Jˆ)ÄÊUW]9éB ˜ ›*‘¡ÊÐúç—ßµqÛÂÇMAû‰h?€CDÔEDƒ¦äà!`˜Vg¹Ïý 4Ksƒû²%9Jò|J ²+ÙuümÛÛsš‡çÍnÈÏfæ4€$3ÅT…']~¸~#,˜9çS«¿ðÔöù?gÆ~¯Ú_'3û žñ&©è†…ûÚ¹‹ØDé oÁ¨D»‹âCˆû-Þ>’šžxÓŠkˆ¨@  MSâ+ܪÂfLåüÁîºWtØiÝ#DÔ `˜ˆNÉ"Žñ$©t€Èä¸K°0,mí,!@I›ýŸH“iu „]Ç 5ÝRjû­«»^ßTŸ›`3j ¡Ä×~èÝ“.™¸PˆóÂz:§@Jɪ)=ø@ˆÄ5ædb`GMÓ,xµÒý>—;Zí{N¸}—½#Èߎ….ÕÉBõGÿ¶õê„&Î ¢™ºA5Ì¿ní;'õ»‡÷?ø8ë¦b”0b§u³ :¥‹8Æ“¤¶ô¦ý½Ò;HUºæ»oÍþ¶6mΕe³y£|ꦘGðÌJž»³#ž÷äƒÏ-ø¡aÒ«DèJhæpm*_¸ë¾§¦¬ê$…ÑU+—QBƒ:’£Ô¥¯Ó/Qc..öð¯wöÝÏ„-qïKê»Ûq•3o`q}u¾~w{C›a*ºa*ÂdE\~é|üÍegòë/\Œ‹.XL~±õ”ݰ×Ióù¸*“ˆ »Ú”]‹›Í·Èuúµ<øKƒ£ äéZ7‚¸2޳òÈÛÎhœûÀï–ÜýjGýÖ¼;ÑÑ—>¡¦rMu]U„¸åãoåšT3ªsÅi[93¸¥™ÜÊòKV¾¿L¹Œ(PÎòºŠL!†œCá‚©Š;ïýÕ„&‰B¯æÆëß«ïSê/Zª_qëïJoÄôfË-“i6!äHÝ ì¶Ö™Ï?³ã¬Gw·Ïܦ›ädÚ WCSœdª õU9=¯«úý?ylÂü‡P¸é†÷¨½±š5æ²oÞØ»¡¦Êœç< ìÎ×—³órÿ bᨠÂÄJÃq.ë=Ö[ýJkgýQÝPûàIû¨x„BއÜ&I9þ ¯+C›D[wíÞMûæ>ADƒ ‰ÁÊ„­ ,Ä©„Ðû†”îÖcÊî•‹ sÝ™üÑ,ùšgJx¬3†òåèÖ,$(7Íé¿lÑœþà³kãÏ…Ô-ý/4ò¶Y¬2ÀÒ>½u7í›÷ܦ}s_bfÅdÒvPì”Sh•+Ç6”ýsKâYwhVùë\ý!ž*º@,iÛŸf¶g)uxÎòkg ž³&{ÝŽ¯Ì·%{5‡·ÌÕ¶ëì)/¸ú$–µM¥¶]<Éúg @³ìJÑ„…·¡ÝÿÀ/8®± pþ/¯¤6éxS¹¥m1_B!i^ˆàùÅ2ÓS×›\r”ßõˆ•åcrñ±+»Ì2®Ö”S±>Ã9â­ëjË[×Û6ϳ·(öUjþóƒõ|€’f0syâRÝ‘’¦(,Ba0£ôìØŸø½ó~ÿäNôË–Ã_ÒìÕr÷ËžýèÂ(iRP£¨èç»¶,Ñ@xµÛÙ§b}i]²a;x¾ |Z.«ï´ÇNwŒ€$i"¢+¯œ˜ ¯HÈæ‘NŠ3FžÝ^ý¸ÂL€íLX¦Êþ¿xÜ>ƾ²b]_9û»ÚöÛerØI±Lf—©äk»m¯Ûf»}W]§]v·æ7xÊ|û®þØÝO©‚5žÙŒìðÇ<ÂqM˜DÈî×µ «ë4eŸÃº¾þBy †‘%ÇÀߎÃSÞ&NÙ¥T±<ðУ ÀÔT‘1Mêyð¹ù÷ö «ÞE¡’åbΛEeêw¢à9VÖÁsÚ«­û¬íà…C8KEI&±LéÉ”5Ý·þ13Ô DìNúÑo×0Qð:xÞÅd‹½Üù)n‹¹{?ÜG9xÎ6 ÂmHv9x~(ö9ŠRÏ{ž,¬+ñ&qb+#˜Ò&À¡‚¡ÕI#ÃÌ=ÚÛôÛ_½Ø¼Á«ù>/ ±®°®¤m®P)*Ï/w¢dèA·Óæ뤎¢ÄÁs!G‰Wøú—Öõö¸Æ’¾Oy€õþ’UEèZL 3ãøÏ^X|Ëáú-êFXß¿IDAT¥dÏÁsk¬G;QÒ(™²Oe‰¸ê8ÏN›~íD¨3åà9õ¼¡¢‘‚¡b0Œõ£ŒÇq<2ù˜H'ô<€þl^m_÷øªoí©:X4¹¦>-…Ü>Ê´Ê_×ÓÂ40ˆÎ~´÷k¼Ä΃%}yó–Ùí²3ü§ ÀC?}„szÌH'õ zû†S{ïܸæë=ƒUáÚY÷h‹ß>ÍÎG!Ge¤vÞ¯ñavÞ_&#ëß'²JN€­¨@×T1ÌÌÝmu[×=±æ¶l^’!@É·yá2;Ï.Úîò(ã´í…GÙy¯íú‚2§Mà§õ>&´˜YÐbb@ç+G7ßöèÅÿ1˜Mô–´ž\+häšnç]iÖ€v–$ÊÎK½î ¶†Úy9Éì|°Ìño\óþò„Ð鿏iýƒ™‰˜™W èÜÕÞ¸é^ô•ƒ©.i¢²d‰‹sî¾D \Åþ9w]–µ‡ÒqøN-oNÝ@?îþ#xƒïø$и<_·cç^qñ‹…Bqb(Õ·ã`ÓÞågô,«MŠý7ÏMžlž»€$oÔ kGR×nƒeumºÚ¨°.{êIxsÕmï«îÙÒ>s¬7…öÀzó©¹gÏœj·(™‚fÆ‘‹©ÜGDÇŽôT¿øå —üÇÖÖ9>Yâuð‚ÎX0T 5/(cB¤fÁ_&ƒp¯ ³Lˆ îݼùM‘ç:¼Ð?‘&`Üž°ÝݲK—½Žµ˜)2“žÓcÙ¿´Îi .žÓ¿X%.õªUöqök¼«¾¤n°™ÖËDÒ†Ÿ¿Dr—±´?W¼µ÷U÷l9<90®XïnÙƒ»öŠU+Î5™H”‚`%»ûHcëî#3ÛΙӿ 6¥×µ r' @EÚHäPX X™Ü”9ŸáeÎè•Â:xú÷;±á¼9uÙ@DzÈúÜé'íÜõ ¯8o©`0P`FþÄPªgó¾y;c*ÇΞ9|¦ª×C)2;_Þ'ð–‡ûAí G‡`Ÿáýɵ~t¼¯!pӮݯðyç-*±.˜ D”-ÊðËíM{·hÚ7».;kvmv–ý„D;CB,Àµ‰–n;Ç{´3ªo]NnGêƒHúð´-é jïK¿¶À¡Ý»_áeË^'bª0™Ig GDÙL¼ç¯Î{yoGC{cu¾~F:ß +‡«˜%“|é8¡Tf. ”¯ŒR* ”Ùþ[ü¦Hv>¼çû9×µ÷¿FZlçP!6‚ÎÖ7ï2‚i¸k ªsóÞy/íïª;šÒÌ䜺Ì,÷€ŒÎÁ³ŽË¼X´¬+…zÝ xó×urí}Õ=[Ž4¾¶L€›ZZö`wË^¶|¹ b@eŒ0”¡ÎôÑ?¼:wÇ ûæíÈb…𤑮NiPÊ9QŽÆî2WÝr„:ŠA/:x(õ'«mB¼ýyQ«ö¾tÏ–#/¾&ÀM--{xùòå À b 3²°¾~=4œÓzvmÜ÷üÞæmÛÍÚߟIŒ¤F"©™ ËDÀ«ž¾eY%’!AîŒÉëŽÚÁ ´#C§ž·¬½¿úÄ–#[tèÅ"•¯rjÈ~Ù£KãÌHQš™kˆ¨Ž™ëÉzZ¶®©63çìCó—Ìé?«¹~dî¼ú‘†úªBm"f&í³ÖãÚŸf#ø>ÊhyV™ëãMöq€¬‰"‚5Iã=ÁïúZíxÏ–Ùó ÖÄ“ý5ÚÙt i×÷þ¸ä{D´“™Ûˆ¨gÆ ù‰‡I‡®¼òJ²3 @œ$€4€*XN§T¨&B:3kb*§Óq½º©6[ŸŽUÕ =M€Ê¥×É–TÞo»x.]Z^®LrëBêÚK `m­ã‚½s(Õ¾««îyû0ððÃ"¸7štpÓUW]©€¡€ 2C#ëiÙ[ŸgK2sŠˆR®ý8Åa=R­‘³U˜YqlqQ¹C¶QuNáùl#@Ögï:Éú–@7e6lØ`LÄ=ŸRàýh´óSí_Ìþi®_ÌõSQ2)“ò¤íˆa­™Ï$€f&êâSRüd™ Rl“éhwq À_F¶–Me€ Àdæéë6LÜK&O ð“-°ŠîÛ˜ÒàÔqÌÁ”ùÆ4MÓ4MÓ4MÓ4MÓ4MÓ4MÓ4½&éÿÜþ²¼é¼IEND®B`‚./chessx-1.3.2/data/images/replace_move.png000644 000765 000024 00000007724 12176205356 020266 0ustar00nistaff000000 000000 ‰PNG  IHDR szzô CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYsIÒIÒ¨EŠøtIMEÝ 0 Ľ4IDATXý—mlU†Ÿ3;³»´KK[ e¥ˆ€‚V@¾´Á ”D£ Bc4ÄDB€è£‰‰?Œ’˜øÃ ¾Ò „„¯H F@š b ˆCQ@ |ôc·Û™{ü±SV ‹.Þä͹™½÷œ÷¼óÞ™áÇs3ôä1&X!<äæëT¡¨;·ö®i0'ºËgß)‚‚·_^ý’{현¨ ˜tel;ÂÆ¯ê˜±d‡Ü*_ÖfWÀúF9fðD:¯bçõÓÚ êý]ÀŠ(‰²aÍÎ/f‡š£ÿ‘ÀúÆt,ï'éhFI ¦L§ß½çw˜«Ônªaíº º/~Ç· £*%ÁM¨xÍ¢¦Œ ª’&`E°ZvÈÖ—ê€æÃaC® êäîM¢-‚›@=I7ˆI;Rôª6Ö“5;Y ·.`eSøµ1é8~¬T!Åh{;Ú&™BÛ:1‰&á!gÈæ½^Óyh˜5üö¹³RàbG:‰Û“IcL¸æº÷ðHË`©ž;|XÖî÷–¤B9"°ñ'œ½È7^±j{JpuA ˆQ”öÅ£²éP§Ûxj€°æˆÀÐBª*ú:/†&Sé⮦=`ÓAëñC¬¨7_)eÜcå´¯i ñvy­¬ Ä©ê_RŒ¶%E“mM¡‰NÔsÇÂ4mÇÍw´f^þ+ŸM~ÿk3³É›5ûûZÏ<|‘ƒ[Vs~_µR$âaåYèåƒHòKl|ŸÃ?Ü3ûcÛôQ9$p䌙TùI²ô…¯Y`ç‰XaƒQÄmBÌiB…¡KO·+«êÜùù‰˜5vÿÂYàâó#åÅøhØEì$´5`õŠ"=§wHª$šO¶°mÎX}r}ªïöŠ«6•ƒX…Ĭ0z©ÅÈÊ­©)ÉNÙ¬xwR:>^ΛSFÇÐXÒ~‰zX1Áêi!Å…²n§wíX[ú†4;Y)Ðp!§-Š”ÆéL±š‘˜D{ Ñ8W1V­>õí3CX–—[}„³É-ÙšÐþuK£M•*ÔK‰ÙXùa¤Ç@4: —)ýÊeËŠí¼±x×€&hÊé1|êAÞw±Øó]£œoŠ€8%h¸ "÷(EÃøfãÏÌY¼ë‘&hš5‚ÜŽ¹£È"ÀðúåªûÊTëÇ«9ö²ê™ÍÛßÑ¡05}j$·ÅgÞj–2ßÝÖ[ÍÞ~jêŸP=1ßœÙÿ–N(a)Àܱaîʘ䟄E“Ctw©šÚ>ªõ•¦µ~®NÆçó*{ÜqÞ¬=Pv>‡•ÛO’4¨gm‘×ÖÔm>Ϋó« H´$¸ÛÃÙ¾$O½ %Fkûè¢)Ö)þ‡!]ÇuXOÿþQê¦}ošÓê‹(¾’V`mÿº¨„ü‡U`zËue‘~:'¬@ ˆúˆøûp|„|Xݲ»é6”h™8Øž²y_; ×¥Fy~bãï5·bn ,Žs×ÌCìqg) O iðß¡ÿ‘pÃaËtEXtSoftwareAdobe ImageReadyqÉe<IDATxÚì] |\eµ?wö-™i’6K²µ4¥´i¡‚_Ã*EøY•E}úkÀòP@^‚Èc  ,E~TŸÏ§¾ä¡¢ Ðªˆú–6--[—´´I“´Yf2“ÙîòÎùîw'™IÒ&sof¯¿Óof2s¿{¿sÎÿ,ß&(йròS® r+9È•œäJNr%'¹’€\É @®ä Wr+9È•œäJNrå£[,éþð’ÕŸbµÍfcueE\xáùB²L '¸NêX¤¢Èj-«‘dõý‚‹/Ÿð½ýq÷¯ ˜jñe-Þ@9«|¼žHiC`µ¢ ZQ”¶†ÚJ¿‘£§f³zü°ß†Õ^äf»ÕŒÏ­€(ÉÔjH"¼öø:$ ÞŒB—?È>ègõ+OKë„tè“—\š$‹Y…“9¹áø"Ú>=àÈ:‹±úª¦Íã^ãÈ{»½»½_Ö™L&ªk“AàÆïßg›,I-X·ˆ±hË¿.¯öë¹4õÝö½ípÑÆ0™-à´[Á›çË y.8lˆÆâÐÕ‚Ã]*£¾ãjµ_ÂCIðoç.Î, kµiB u”ï›Lê{Y’ÚQR¾×{p¿«5v—k§°h… ¢ÉlNh’¯å0 à%áÄŸç[“…ÓÎÿîËI ‰2HÈïj`‰Þs¨•%‘P¤AŠÇá§ý›báð&|¿ék KÒ†‹´LNäåy ßmƒ|“1?ßmgµÇa†³± áÏo€;y†ýîo¬Ñ:L—|ë@€Õ\Ší,ü~ôÝÌ!_EŽQV_Ñô{Vw¾÷Ö*¬êmNW=c¢Ó¥¶àAFÏ -BF{Q{,¦É£ñŒ’Z¢ ŠƒÑ‹‰@ jbXÓÈ&¬šnY^Õ:Ñg-»õi09\àqÚÀëõ¨ŒGИŸ‡á±›Ùk› 1³ðû—wÂŽ½= D‚ðío} ‚}½ìZw­\”aø$»-IÁ¤q5à& ª @Ýý×’æÙÝfÇ­vû¼Øí€« ÈpB A“Ý"i6^2ŠUèï ‘UF›" þØeV¯`T¤p›0Óµù׎EâЇÈÑаkÄ£öy4$ÿaãM‹Êš÷œ³ïú»Õ|¯—i¾7_E2$^7 "€Çi…ÈP"(€ôvî; {õvÛ×~‚Õw¯¬ùh Àò†{‰ñ¨ñåŒ!n78Pµç仡™î´Y“ÛåœàÏÈ¢4ÌèñLωúî‹ 6“íç›DÄâ"ô""t†%Dˆ„B"óظ~Eõ(A([ÿ+öIóg ¸á^·ÊxùT»l&¦ùƒƒ!ôPü~V¿üêÛp°+€H0·_¿îIÒöPFúH0ÜŠNPë³îxˆ ¾ÑáöÔ±E÷ÙÌP†TŒ°˜ð9¸Ï•U†÷¡åèKâ¶Š 'rMNä»1“h’ïÄ6:èFœòðwV;,žegèÒ9è.DôMH`›žØÕA¦ªñæÅ³[5Í'æ{}>•áÞ<„}øòUðå9T$Àפù¤1d¸l¶!I XHpÆéx@o4 óf¤${Ç`Tx´øÆ;ɹۈ—«×ƒ6ýTŸ“ 9y¬)þÌ=Èybx¿(@&‹ö¸ØöB³„>‹!¢Q¡Ìé„ü2ŠÑ÷H€[6¼±‡|„”?i>³óÌéS™Í„ÁcOb>i~™A„‰²ZRkD(¶YS^¯ôƒGÿ« &Ó† ÀÒ›ïù´3ßKåCÈG'N€S ãá…øPN[ÂÆ‹Ø!íaºcJÂ"O¿å ¼#Ì–¤„Ø1Id]cóxÕoYÙs5˜íŽºÅ>X3h²œó£¨þŒ8"Äú¨&X-¦l ÀpMöOæ©[-‘#$Â1ÆË /¾éîUø«ML3ð¿™+,™á`Я Ôá° Dd@€SF„ñ“¥¥ÛÌý‡ê¼³í8¾æ‹IŸ'ü†²®Ü‹‰J»ja ™gâR'ìýú‡(¼k²¹ÔDN Ú²¹N ÚTõa‚hGßÇÀ=()Yµñºq#Ù¦E-Zm.øm}G:êå§4Oˆù"DãÌD°¦P4ó& Á™©õg?³ F¤„ST~ÿ_±”¬E hbƒŸ/-pC‘søV ‰¨õð‘*©árJÝôþö6˜5¿¦ù„š¯½Ž«QA(×u_ºóà TÀGãµ²¥páZi¾Û VüÊŠ/ä‘ CÍ [¿; bXõÑ]¯(X¬¼ãù˜—*D § dçŒæ±˜‰ÄYŽDQ°G™CCºü!‹^‘Öá·¿}nÌ1‘HPµî¶µNEQ5Ÿ²|….ð äÓ¥‚hËÚüñ­78ŠjŠÙ‘¼ÙÍãj¾ ÄIûYžnøüÊÌ €‡ý¼\_ózÂ@"ŠÿÇ£yõë½ç+<Î?ÕçHhþî@ö!ó.29EÔg›9û¼Ãv_dÌ—dÍ\ ÷uÖÂÀãA?Js£Åæ`>ÊéÏͳ1Íï KÐ9t’k~ª&&òªO`uº©ªuzg4µ÷ßöEÃêpóŠý¿IKVÃÀñ`þ ÷~šrû$œ4Y£Òccf£3,Ân<Çñqlª<:cØð©¥3ZžúkßfMóWÚÑ”ïg- Ôf­&ÂBY†òëîð¢Ío¢8ÀátÀŠR‹óûÑÛß5Ë1ûxÁ£-Õ°{òHÕš¾°j^ùSzÛÎÁçUÕÓf gK”ãų lDbvÿt´û4U+Œqþ›}QO’8_¯^Éɵû³ñÜC›o‘RM­N Ã TÑ ª¤0šÓý«Ðö×S|;Ëë·¥‡·õÇXœ¯ý.Gc[Wd²ZÑL(Fgõ­ÖÏ©ýž…0plÛ7Ó¨ÅûK ÝÌWx{ þXn;ºI%ÚFxú#jš3q^Š]ÐÂA¢êëï^kuxê ½~Í }Q†dv£!šf=ÔßÇê‰þFeº½‰QT@DQR]õõ÷¬Ùçz#F5çÁR#i<%|ÊóìÃvôG' Q¡Þn8öNØÌÐ…q¯«ô˜YµpÊ´,Óí¥ƒ°rjt@( +Í`P>ðš ZØððZ´Uå&« æÏô²Y*ïÆ!$ªãDì_÷Þwáê¥ðÄõWÃ]«Ï‚ÁnèØµ Äx|Jìm¦Û›”/HZi¾€Ùf/§¾NØ~`Ò!¢Œ4È ¤Zó omáûôoo hM,<ä••,!€Éb«ÓlR‘Ë{ü¨´j‡¯ÜI‡&RÈcw:ð­Ï]畺áðö× üP´—~¿ðY×f #­ß‰YŠôÔi4ÓiŽ`̰ȉJ4eû¿\v\ZîƒÎ[ Œvzº·7T—µiአÔ)hïg¹lЊCŒPAÇÝLV’Éc§ß¬]]³v“ÿ»ò+§¸lZ¶gHŠ˜§+Bbµt]VFO»ýû^ZßFmÏD8ŒM V7¼0™B;1åü³–ƒÕj…Ÿ¼²zCƒPPqê´kÏHŽ`²3!D¨ÕnÈg·À»½ñ¤áË´®™æo5ýÜe‹av‘î{þïЃŽZAÅæ1O—öŒœ0¢$V±w´›Jk:×Ó3P ÜEeÙ Ô¬¾¢zìeðø—WC¹€#om=~Ø–éö¦"ËJ*8!}z¸S½ó9k³‹gÂ×/>b=‡[Ògª=QŒ5%lÔçÙ HždàdÈ©dJÍüj¶'‘Êh{16€d´CÙÙ"f¼iË‚Ž»‘!3…füL°=BOeœE¤Y€äRFïþE§°ÐÄϽ¡@L|)v¦Ú+©öèf˜Ñ{4§¿GδA€a[$çLÐvuÄŒ¿miƒï¿´ †|s ¿¬ÂÐTðDÛ3$4|:¥v”â빃ùA{ÒÖµyu <üçíà˜»ÜE¥ÆÜk:í"É÷Îß·eÞPäé3ˆ~´ù%xzGøª—‚-oF’&fº=#@J /«²…u©ÑdpJØñœ/ÊÄ=ô«á¥~˜± ,®Ñx¦Û3R”ì#;Qsxƒd×$føý~¸çé¿ÀŽ~  ‚Ù:¦·œéö õdm·vöþ@6œÀ6££½st4Ïû–ŸÿŽBð-˜ÏB¯ñ41Óí‹É'šf\ö?öµÖІ'Ù®`ìF$Í¢ê˜e–¦Q&Ï›æí¿¼elüóV¸‹!oN5¿¦2mÚ3¢Èü8½D-I´³Xk6€`®M›¢=·áYÁäu3þô-ðíÞÛœSÁ]X2!Ît{†@Êæ` ãAVv E•¤YkGÚ$“)sN æy?ñì‹ðìÎÃ`¯\6oÂ×Ét{†˜ípíxŒ×ÑÁìÊN"H¥©!)‰“¡(Àn·³=¾÷ÜKð›ÝÝ_µ,NϤ®L·g Œ„k‘³5(Çc-2?DY¶©’ÉÏÂHãX·‰ö¥vÝö³ßö^¼ ÏdËÑ'Ë‹L·§ÏùSVÕþ–ø™ÊâÐ`‹Ùž>è8èWCO6øñ¶6ÉÆÌt çÝ~¸Ö>ñ l4C~õR¶åú‡¡=cH›Âx“ÝW쇬 ¯¥H˜Ž}[c²Ú9ðSÃÒÚ B9¡çýÆ[ïÀ½¿}úl3 ¯|¡®„N¦ÛÓ…¢È½ÕösäÝ‹®ë±CÈ&¶]7D‚V§Œ×±šçýâ+o@ãï¶€¹l¸ Šu-CËF{Æ$€†}„MJÖö äS’Þ{ðK~)i’bQ ’ij4­¢MÙã&ÝõúäuÓ"ÌÇýG¸÷ÛÁ<§l3Š \wŸÙö&M¼%QbDšÏ(kzÿáµþ¬12…ÔD»VéR¥™VÛМºÇó?ðË퇘ý5èygº½tÃí$~ߤŒ±ÓYÆ€¤oÏ£ëZÜù,6Ž-“÷'b¡yÞ·üd3l鉷æcìZFÚßL·—^ܯÚ~)á>›ÈÚ¶ç»×µê » 1#Ö¨mÔ;åY@Gò¥7ßfö÷ýöƒpý¿?[ûMà©Z M§2x¡e¦Û36¦nןnÒ•ðYÅŬ …ZTùŸ´[ó Ê™#åð¨fµM8/ éð»P–gƒÎÁ(¾Rp•UM™veº½t _æš/†ƒj8°ÿ±ußN½ëiV¿yÇå™O§ÚQŒK‘š¿aòÓn,ù…`ª>ºñ¡­Å0Ùì OáäíL·—Ž’GÕìÌ€Q>AæÃ@鉰`ߣ_i®¾ó—ä Ö¡êsÍŸœ/ Xì`ægè)X(éö&÷K1žó0$hÙ·áÚæ$ÅËž˜,©#f5Ò*N;Ë8“?%õ€Î,Ï N½¡½~¡µâÖŸ5 k½ê¨M|Å€`2å¸{¼~•ù8<Êsþ- ØØþص­© Ïš ¸eóß8ôs†j§Èã¿§^hkà{ûFÍÀÍÁ„5¥¦IŸ÷¼¼mxSâïrvà‚ʹ\£5ï^­›ïû&:àþ‰`“¢Ë£“eâQÁÉÈy™óËÑ0÷þ©ªÿï›/ómz³„1>%)qLü†Ò=²µió3ÖR¼Ú0¶ÉÈ•ãEU#ê?½áÒͱ¸<&ã³&¿z§‡'ü,I¶òèŒý‹‹K`oÐßfkeÍ‚…ß¾iÒ“‚ñ<ã'k6_=#¸MÄ>|foÿ賚åá9TþinAf ŠqÐ&‚˜ÁüÜÈÏÏ—Ë K–”Á®_üؼìNòÚè4ìœ p¢¨?©&»¿æŸïÐ.¬)K†'ãŠÙA€Á¡(gü0”:àöäÏ烢™Eð™Ï~ž}öƒC—¬¯SLV6uÙ¬y VÇÉ FrÍç?YÍõÔ-]Q{0Àû9uÚ}Bd); !€ !F¥X«à·Û g®X‡‚öí?ß±ÿã7 SH£†”8ió£O O„uIÕW,Z´ƒú8ÕëOøœñŠ”%ðûÕÜ4pÛ¿òÀïèL;((,7 €7ß‹hà†u뮃ûïk„eoÿ¢ykùå´Çmû™&ZÂG ùè Åæ+<Þ—£CÔ”ÍnîïŒ7'&e£€Œ#€fsâ3O^c¾ µŸ˜O¯É¬¿ív¸ã›·Cessû97ÑW›”qÞ“ØÛgážÕ[Ô<ŠŽÊ ¤.¾N¶L@o_’ÆÒ4ª’’ÈCàAÈóx˜ ÏçÎ ÷ÜÛ÷Ü}x6ßÛ/sóÐÐÜ:ÚKc>Õôn¼ f€é—·6KCþZq(0€b$Ĉf¾0ãŒhÅ£éyxãøÄï[c*ñç¢q}F!?Ñ€Ô~{Q¤Ùj³±íe¯ÿq‚kËœŒÙôÚ€“CÕ÷sçÎCÛïbi¾Æt­ŽbÃzæÌYÌ'8í´Åàzá¡”$BO·mœ½“ááÙêêÚï,·î%šð)‚„(!²I¦æð+ƒ@}k®©gÏ쿇4ßÌ4Ÿ&W㩎P‰B8B'Àg?wœ³ò\ÈგÿXôoƒþ„†HqŒ*Q'!Z 1]ˆÏÎeŒ$ⳤ%|^Fá#Ò|)äß(zë6,7Ô6,4aDklV\§¼–¸ÞD)ãNàÈ𤤤t„æ«°O…ê8vi~4ŠH€‹jˆ…eË–Ãtw½õ²¿¯·ï–÷—]KóÈ9ô7,6m£…qöIHñò°®ÿîÙŽÍŠR„ÚŽ‚"©ç,×3Ÿý žÎ¿d½¯¯èNÃmÛ¶ :::áü .`Œ¦-Ó öéA¨Vý€Ó|zÂ:c -Ù÷D ªªçÜ9´onþu¨¶o#Xõ ¢lNµ¡D”`IÎ &†£…ì0\sîxFOák÷´ø^«!AÁ6¬°ùã1õtUæ#Hrbe5(ê誠`ÂðzLÝàmât™€yóæ¡Gß»v½¯¿öšjçS(¡ù̈1æk(A!ˆc èÔ˜éÁ‘‰§‰þûOW®ÁËÓþC-Y[aÑ3Ô=°®¹ÿtɯÙyÒ~$iø3¶„™;®xqúšv¶=2Œ`ß7c<ÿüsP6{6›_Of€vÆ&ˆFTæ‡ÃCŒé´ŸN”ù|Ô‹§2kÐ)$A¤ q…†âÞÖûï=/oÝ×bS‚ÕVÎ]Cž/Hä ÌæDJšCBR5F<1poü]ËäIªÆ_³§ðœ¾"F<ÛK«›o4¿ŽÏïaù{-: ›/óöÔhA…~…ÿ£çh*h*oåi„TÊ+*áœsVB__|ÿ‰ïÁ»ï¾£j>Gbhí醞î.™pP©¬š N­…5§ágRBúen© ÿ¿ÚøÏ¯Ò‘õ´FÊiYÓÏÃW½ûz{iU…­¤ªYÑB7nïUM—“@ä.CÞjd ÁåÏNÏÝ«ªªPÛÎoíÜ =GBgg':t–,] gœqü ð”µjçJJg3 §h!Æ÷0!ü“çLŸb|àþû’ÐR8›fÃ6Gì[…ÖƒÕV?rTóÆS˜¬püAÐl½¨Ùøx6Ñd/­lÕu´òñl¸1ô:‰µØŒÏ¯Èêdï‘ ±ÓI %$õï‰8ìQ@Yçh ®tÛÌY3óß}ï]èïW½{¤}{÷†PHMkÒ‘¼|äû ˜”ËÜÖi-‰ »§Ò÷5Ž2¤ÚKÔªV[iÕ5 Î/¨g«“³gßii< ¢ÏVZy­¤²u¼ïþ@:;ñ|#í¾ú™œ@ÕGùßÕúÒžž²<€.€ìy_o/XÐþΙ3'ñù¬Y³À2–]ÉqÒî8³ñªÆ›$þ^A×ÄÌ!™‘vMIÿÖŠµ`6Í‘SQ¡k¿Læ: +ÕºVHÕ|arŠŸú¶:¬-X· ×ßb/©ò§zO<*G9uůL;{±šúHT ¨i¸VçË|HòˆÉ£‚Ùý‰“¨P®ŸÊ^D€ÏñŸÙ az0òò%ÉÂn–&‡*Èh"Ùdb|QL “v:xú±G7ŒÙÖñÒÖâ bÄfN*"÷v¬R³ŒìPÅZä£&~ºÙñÆpuÆ6[ÑœÖÉÜÓXågöóázéŒñÊðfÌïQ¸ (Ü$ð÷Ç=Ôí ¹Iš'wÉ­ÒÈ @®ä Wr+9È•œäJNr%'¹’€\É @®ä Wr+9È•pùæúïntT–IEND®B`‚./chessx-1.3.2/data/images/respond.png000644 000765 000024 00000015554 12275477077 017312 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËtEXtSoftwareAdobe ImageReadyqÉe<IDATxÚì] tÕ™þg4zË–â·—ã8 4/… Û€•¶”BJq—Òöt¡vKiᔞ5ÝžÝîééÖ}phwiëB¡…=íÚ}m)œ–bSÈv‰Ã:‰c‡ÄÁy8Nì8Žä—,i{ÿ;3²$?"K£‡“ùsn®<ͽóßÿÿþÇܹ—‘$ tºz‰Ñ@ ºè¤ €Nºè¤ €Nºè¤ €Nºè¤ €Nºè¤ €Nºè¤ ÀÔ2 Øï{X› XÀ`ËË€Ál%³`àŒ¤f€5äã¤Æó~s‹ŠŠŠ!777e7õì±sN†aÝä£(§5€K©ã¡vR¼´–¤“X>µWœîð]¼xœN',^¼Ìf3=ùo…«àyB‚H>“š—ë¹£‡¿—¯Çó9?óô»P ï§¿ü#0úìè8r™:£QÛfŸlÏÉ™ÍòÑC„Ï£ ¼L‰ñEú{äï‰ÅkÚÅ2¡e åx0вþb¯¯¬¬ nºp„žÓ’»rÞ!@ò#ÁµFf³RÈG±ÀŒ¤fHÍÒ¿£µFô‹wÏ;IUm¶ÙªùÕœÉD#â¨ý²ö,œœö1×hˆº†YùÞ'’‘CÍ">F4ÎO þ­h˜[xŽ:!‚ù…Í]~3ù»ùCì°Ï3|Œ^b—­Rf‹“uäç¸!ÿH‘”"0œHkä3H"åuf ÍÔÐ~¢ŠTµ&«­ÿèÃÚAz™'h§‰.Š7Ó þ<7êD‰ÊT¦zF yµÝjRW㇣†FR5nu­ï†?›*®`ha¨Ø¢–#°áãÓ2}döz½àóy!âÃ#ãp8¨½µÚlðó£çjPórò‹(<ÍzZ±ÝydÀò-dÀ#ÚŒm™GÍ¢Ô.òoœ|æÃ/……#?¶ä+˜)œ6äáµ%=>8‚!‚cô&›²v÷Ø(ú wÂ{MxÞó°D#oM¹7i‘ÏQ™ùˆ’¢zÊÀï>¢(Ã0«@ÈÐ¥!x«¯¾žh|9Õt2h¢±‹¬”A·šŒÊ°1Ê%åëúÈ`“‘Á2&Lt¤Ò4Œü^”ƒ•#—0¿Òn„%&.D8+†Jd©ÿÐø'[ý¾Çyº ¹ük¡ìÊEF±¹2S` >[îÜ98ÓÛ+kš¢Ñª¼aÈG¨¯Ï±;<´£ä{—Ée9V(6dÄûQð! CQ£­"Ô壚Y¿-/Œb!mœE äßåͰ¦ÈLÑ¥oÄç :ß¶q×ø"CýçÌ}­¿äK’gw˜¿Ì¬(›õ>ÀÐÐ:|l6{Ôñ7˜èÜ5h²VµÑbÓW¹¬TÐɣʪÜ÷yðK<“^SdÌKÚöß@ ašƒ@D11GeV+œö‰pn<ˆç¡·4{™Æ|诫vI¾§† ® kY„¯ÇXt= ÇÁ j2 eòî²ç:Ñ™rÈ'N«òTãUd@ÿ5m (Á¹@$´g&¡ÅdˆMö“º‡Äì1?."Øëœ9pvÔÞ FÙi­Þ16Zû•¼Áíø›ÇÏ»bu¼<ÎZ8Ûw–8|¾0ä¿ÁÛÓ‚z¢.uª-^h3Â2‡ LJè†G'ˆ-?ãÈà‹—…ì´»5J¿±‘ç‰_p~ €8“ ­Fèñã×.ò}óËã–†€¼þë%^ßc½¹W0³FZS¨¿€:s4å–¿b)aA³Åî Þ}nŽ®É1CžÕ¶ñ<9·Ç/ApÒSϾ ¶ró "°¬,¸ƒO¥×äpÊgé}ÕÌÏNªÿu‘÷øö [‚P¥ðìÆ€Ü'3Sš_ërÈL¤©Óãe««;š©fÿ -FX·ÀB¡_…ô^¿§'D€ùD“ˆ0!”ã(ðíÛ†ÏÝyÒÁï,‡o³ÌW`’šn’ˆÖ’PÍ";wªGøÅFÆý~ƒÐ·ºªÆJ¼d“M–ük œ°˜„vŒrþ(±£ÇHà>*HµñÉ'Je0˜&}¹æ@üö<ÔÞƒM®œ ß}í07ÿà™MµË!ž « JjV €4˜€îEëk¬4ÒïÉiëóìP`ìÊÉqžh=\Q$I³Ö/z ð£·ÉårÁ×Ê<|¨m €Éd¢ƒn2˶›3Ê VuÖ”êmÛÊ j¾ÝFrlS‰r0K4mý‘až„UWî#j†3*Œ—¢¦²-D!Þ€ð¾î¶&õIãϯxàç|¸ƒ#ïÛrg¹h-Æ·ý%vÙ»}g(xuÅù § ed•L*§ä "Ôu,ÜØ\S­8ß«À9“è;˜”Ñiwž#üù7¸þO†"IªW3}ëòíd¸%èôÀœ¿ñT7\ê="ŸïÂrFX°h)ä/­L<¹&JÓÕõÅ%¥[,ŠyPÕɘ 0pÑþÞºî¾nAÍ"Ïá«$â0a( Á©11á¹kÑað{‡ˆ-Ì«+/íƒúÀ[PfÁýUk`Iqa|¿é¿Ïïï‚SúaÉÆ$ÜtQç{ûzjýàûš¢‘ãÒ/û/ŽO—®GÇ„OyŽ‚äÀÁK°g;Wî? c'Ž@±Å—ΈÐo´CÙš ádIªiˆh~)üo|âCÔÞÊI¯ËÓÚ••°|Q<öÒã[Mô*Iô¾gI :–XŒ÷?¿ÖQ¥ÅóÀ„@ €å'é-ÖŠä,¹f¸àÁ… ùý¹dJ¬ë€h°da)|óï? 7[áô;û¨IH¶­xÚŸ+I('I’¾‘R›Y ¸uüì˽Æi0Zj1*¨ÈÏ¥¶¿ãRpòÑ&>æM´Ì0hcÑ$Ü»ºaŒ¼{.“€oì&Õ^œíÏÕ™K®21*À¢"òü-Ç{Ä á\uµ@©ÝD´Ÿ§)_ÖÀiÀ¼YÚçyŠžMn(/)„Ÿïy΂«Ád×f®½SÏ%)zÂLâ ]+}«–#) ªªjÌ[;¬f(˱Á»Þ`ò¶oxúdɤIøÖ'o…ªœ=´Ÿ†éh?nТÊ{€¬ÁH òyŸ1pgèüøˆ×‰ïÇ£9(µÁÁ€Ÿ×ÎÇÙÕ$|ñ<üþ•0ÞÓ ýÇ:€'&!íÏ*2KuÝ΃Ό€œò4yT›T`3Ãq±ÁøÖŽòæŽ&S¦â5IJ”àÙ´¾[} ”„¼Ðwx?FGÒÒþl&@>(o^ã ,†I_Ç@Ê”hò¨UhåàìhPóPlnùsÅ$”•À·ï¹¶”Ù¡/I“-&`–âɈHoŽa<±÷E6œ AtˆÕð¥½DI£IøÒÖ-°öPüòÍÃ0à‚¼e«ˆÆp)o?ö¢–ä3HÚ«mŠæ¢IÀY4_¾ë#pMÛAx¦õ \ô]×Ò•1Q‚6F@JAd$EÔ+ý Êvµ_uv´4I„”QØ$\'›„ŸîxºŽ´AÞòÕ`²94k¯!‰ZòDš®NØdtS‚ð…””TO# ›„¢øþ}ƒW¸À{ô¹Ð§Yû©æ‘8餦­5E€4­¥š„«?Ëÿ§ žní€Q4}œ2H²ÉDÑÞ¨Rgk¯IøÐ×щßÛÕžQÀ |O¿ {¢j(š¢87„íáË—›Ý«¡ÌÊ@plDHiINQ’‰ÂaNdÍh8h"dŽ´YC±Ñ)ˆb_"̀Ą%R ÂÀ4#f ñݻև¡wLÎj×äRfZÔ‰²±µ–K<‰it- ìÞ×O¼~r¯„K=]šÜƒ¨!”I±|O’G‰#HW à’lè>õâ.ØÞyLe+À’_ð^§Ž—·Ebê|€ € ùgÎõÃãÛ[á°W×r7p6‡æ©à+ÑÀ­QÜS?û3ÁQ¿w;<ñ—w`Äš V­ .5½)E Í÷öôû’è¯Q€ ù?Û¶ ^ìè#¿r J§ Ž¨Ñ=¤„0òÒÚ›)ðÄF eo&0òÿý¥8äÀ¹|=…üéÚÒrN ö>@Æ€î¨9¹€A²ÓT!ÿõ·Ûá§»€Ï’®••tÙ<é유.¡ €|ñ“™pÛSh5'H…ü'_Ø /îciEògÓN-Ú— -Q@úàñ¿+lý§¿ö“¸T–DIP-&«ÝÍ&i„#!ÿ/î…ö!r+ÖÑêˆëM6>•e÷õ À³w¬hM»(Iˆvu6JJiù{äÿdWxÍòWTÒ—*âíÞ Ò>9&Eûb¡Eäyw¤MbÙÌ;ùøP牗öÀŸ;ûÀPJ¼ü¼’9_3+@AÖ|!Tê@KÆ@©…”º¨ð)ƒQ€ ùïî…ïmk….Ÿ9ËÖgu$Šeã‹!âÔ‡p€P°ETNM²dª«[ۺͅoò„ؽïüpט°B.||M=Qþkùn`òבVP–ª”åãùñ‘ÌÀ÷OÙ¡«û¼o͆<Üõ«:‰ x¯¤BþÓ/¿ÏìÇÂJ°ç—LIì¤Ó‰ö´A’H@”{×Üüàm¾Ñ‘‘ô }SEàA˜ðS`fäU¯Mˆâ‚üò¿ûB tzEÈ­\O!_ÒéÙàHÊ> "TЗ"Aóä®éOÁÞ¯Þ _yý|3ƺjBˆQk&µ Bþ«ûÚீq[ä,_.{ù¹Ýšù¢†‘xc€iNvâJâSÂHG¾Ým§>XâB0XD\º…”Ø5n´|?!—n{ü¯Â¿4·A¨dد ´ßÒE# á¢ðWaÇ‚šOK0ظíÞë}Éö/)€´åW°¢ÄÖ¨®Z¥e4«aÈ?Õ õÏï…#—È]¹X“%%޳" ˆÉüE<nÔâ“2*u÷û[WÍôñ0£®!¬/€-à~98K_…üG_n¿£rV.×l fj·¹ÅU?an;œà:þø[)ÉþI‚lû… ¼“¦0A—èmß~ÿæV-î1©eâÞܵ[¾C½Ó­WêD!êê饀ÿÏ킯¿¸‚Å+ÁR¶<å+…bûݽýTçJ¸@þ¯‘‚¾5h%äI @ôß§‡¡i¡É_Ïš¬år4 ìªÊXyKi<ò»½°|çß o8ý¼r*¯£/¥a )!4ì|žY¶(,„—[5Q ß8Âßâ5ê« ùÊ2µjÜOàäË_ÜÜ…*™˜>#HlZO µM $?­Æ¸ BtŒzÁP䇲»˜¦M'ÌÅKàлƒð¥§_„Gn¿*Ó¥cg"\¤ MjþOÈà¾ÈCΪ% öWŠº×ÉZÞ9$ëi€·7ûýè z@Aâ$å °f;˜Ìv%ò€´“cÅuÐÕ j~µ'œ‡¿1Ì‹Èo—&Üg5îT˜ >@Ë+Dû³Cf€5IÞ1¤EJáT±t“©h -É8ʉgþ¢¢€z­ïM“( ’.BN«+0ÐÈpÆZY…å&Ô]Å–f˯(ÏùCŠÍL¨¶¿áÕoi͘ݱ©SÖvM™a«ïï[{AÞ)dV!+iÄZâ³÷#4KêÞ¸JÀªy†ÑG{:¯_yÎ/ü´æýôAOíî/ßìÓ~ø5X`&òÛ˶[FÏ6ÛUiÓ$I‡€x2~uÃ_¼y{ªšM ¨ÄúêÁ`ô`†ÐÀpŠ´²Ig¯ÈW2~¢jóýc4ãGy˜BJ<GrC,[°UMŠWß |ÎyV½÷ëó¥R¸T •䜒SÌ`Gbtò¢A•–« TÍÍWrý¢œëG$ðìýê–S©îFÒ¯‡Ç3EÅáAâJ“³‡ç~@[›?iZIÈ\ûúÞƒqûKIÏ1ÅŹ ›}'p}ÛF*ª ¨ C%Z¸â£ƒ›/)ñ¾W ¶å᪦tu'‰(`-ªlò_ìÇÒ ïUìíÓp/ƒŸò(`:zþ®ÅMŸøï#ÀŠ¢ŒŠ&0êœBƒ WXÆPÍðêí+š/)ñ¾«m%ƒŸÈ…É„Ö)w§£ÝÜØtÛ¯ÈH^o.&.¯0ŹOõoeìj÷<´¹‰Ÿã¤“DÍqF€* «Ÿ[Ûôá_¼Ù.ƒ-ä‹1ÛäñWvË æ­oãåKÊ|~Iõöe›ï~ÂóÚƒ› ¼™PF6"Ìá«WxÿALI µ§c3èl*Dè:äA¼›RÏT$1 ˆB „íÖŽûÖœºíg{=ŒÕYOŽÔ±ÖŸ@}vFUf™,Õøh[/)óøÃÞþÄ(ö¼Aò׿ú🠜— eÈ@RiBv¿æöµùSý‹L8‘’;ÇG½Â õçÏ­Ýþ±Æörr¡0ZjeŸÀ*ޏ¨˜Äçjªñ±¶^õò•BD°™º—kÝ>A£‡0γ(@ÄC—í÷®E4øüÇÿp ‘ žœæ™VÈ2 3¬Ž6 `¡“[ÿ§{׵ʖAм+,Ëd@x>št[ˆë•‘hÍåè¥{–#öTÿ¾³†\®ž1šÊ©´«ˆ újÞÀ Ì=db|ff½™ud§üñªdÕÖ+^¾ÄNPªoþìê&ÕïI1I¬Ê’À0PˆÓs}áÓ«MŸÜÖƒ‚P§îÅ̸6‘¤j_Nf²ùÄ»g€iØö™kš´´óY‡‚’»¦K¡¢ý /]ß®ßsՈ窗ȂðÇcU„˵`4ÕÊÑ‚š7à.“7`„XPm¾jëyÕÆ‡I/|J^¯GHÃÀ‡ùi˜o 3è¹»©ihýôö38Ó¨Z™{X2ß@šÖ÷S7«å¹OVøÒ=ð“}â2€#“9M‘Q4ߟÀ€ÜÂä €h'0Ygè÷[Ëá>óRX:‹I®ÝL¬æ3‰ x ô·3’ˆN] q‚Zþð‰ŠðdT8ws «Ó.Ii£­müíÇ—à@lW ¥{_¡Û©º%ySE7é¯ âß] ³t^:àò"Œí¿ÛZ:eJ6/dnÐ#É„ `ôIšW7é  €.ºè¤ €Nºè¤ €Nºè¤ €Nºè¤ €Nºè¤ €NºètÓÿ 0XB È¢.p½IEND®B`‚./chessx-1.3.2/data/images/save.png000644 000765 000024 00000007034 12141003207 016534 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËtEXtSoftwareAdobe ImageReadyqÉe< ¾IDATxÚì]KŒG½Õýæ}æcì±­6‰Q"¡DÄAá'A>;› ëðYÉ,‘À˜ÏžHÙ²·¬Ì $Ñ"b9É$YqÄX ‰ño<¿OWQÝ]Uýºú[Ý=]=ã{¥7wÞÌë~Ý·n{î­OÆ <¼BÐÐÐ è(è(è(è(è(è(è(è(è(è(è(èÉ ³ß<¹0¾Êßs‚¿;Žþß!ò“1¥ËS^ ô`0ôÂB/vÇq´ïmÖòö¥t}Ž%î?ý|áç(¥ö¼Y Çã |´t€¿V3.$þ £¾Í¿Àõ¹~åéµüû`í:ÀÙ‹—Nru;@ð^9€ëÆ TÐbOþ÷½@÷û}á ±†—š4Ýò gjXy}úyf³Ð&“IÐø7––òHyO?›Œßæêô™?¿Ö øùÚÛïû=¸²6àp:BO:‚è¹Ä‰€ÖŸþ×¥@/-/z8 ª×ë¥:ÂN5¼ÞpÔóBADêõ'®K|n&ŽŸŒÇÞÚÚ‚Û‡ŽÂ­ƒGÒ\{¯d: Ï7~èí{w_þñמ9ß”ôªŽ;&¿ø €}£AzMôÜøû댪þÔÑ£0Z¥ž‡è1¤. Èv~‰½gZó¬»P×Gr&ðþö6¬¯¯sG¢pdè“«£,ì½½7Á•[ÛÊ©øî§koÁOž?~¾‰PÙ\7ìé½ÁÞ[£žïj¡?«¥Â¿;!|è÷ÝÇ»’K(Å%šrÙód2­iåý¨ë’ ÿ Ï'Þ»üžzÜ6„ß§OÒNI—Ò†¸0Xr¡§BÀ@bŽÿãÜÙ×ß‚³/Öw‚ê o”ÿrùÃMè/†ë‰XNTvrcæ ¹Ôƒõëë0-¦r¢z‡b¿ŒÙR+‡Ÿ“߯‡¦(ˆ0 CÀ6G€ zðÁ6ïÌ ;Fù÷kZ]/;wæOWàg'ž=oÅTƒˆX­H ðð² ¥Ì ¹‚ײ‡±š±®ìu¨Ø-b¯'Þ+ýP •Ì^å Òaiì>ÔÑ%™( %íáŠë%Ðç~tñòµ_|ý¹µÖ@çFº.$’léº%ö¯®C'šÖ qýZÃêçc\û3µO‘¹öÓðã­;€ ‚ÂUYÅžš•ëéØNËTôx Ù>kŸúýÈ%¯s4Yë¦ß×òUÅÎi…à^¼ýgμþÎóü×µ–€•* ”îyªpâµÚó¥ÈïýÏÁGaZ•Κh( ¨á”¥jÓKÒ¡¿ €Qs _*àÝ•ÕF€,»[Ëâä„TL©å]‡yªFø1z‹ŠD^¬ÀDʨ¦;“š²OÅ`mø´í4pnâ‡ù€K ‰úß2ìHh+  ,]“º•@aHb±hŠª$…èN=ZéÜYÙ­VyßX¨64›¥¯Øi×A« €Ÿ9Èã='fÅ hÖ AM¥žžåPiÀÆOµP–¨0zM¥q{[#ÐT!¨#ƒAÊ ŒU˜¶9¼¦ÝŸt¬¦ƒ˜õÁ M“ª3‚´9xÐ2Ð¥`B€8Þuâ±z.Ëhb0H/Áwn0È´áä,\©]¡–­ÎiT R1ŸjÓÌÕýÉáà=2Du]1 HÔZæÉ‚M¦N“s“c ‚ì•ÐXÀ“ 2ähšP)©ðÝ$­°”$·lO 7Ä c>´äT´;7À™+ìÍ öÓU²ù¿Äu'¹MXf{¦HãiIݱ€ˆˆÉ•̵‚‹ï]Ö ;i˜\ ²P-Í¿—Sƒ›@Ûi eé•)SÀPIm€’/}ñ9XYY‰¥…ù@`ssÞ¼t9Õ±£B ѱáJ ½ÑÀ¦8€˜KçÍÄ:x­gµ½@$ÌRV%§p…ùÏëcjš»¸/_þg¯N «ÊæGËæß«Õà-;À_ßx#×Ðú*eýúôÊâ¼vüßã`™4T œMÅ*ãIì<}¯!hÖ1 —i³â¬!n‡8ÈCþ}ºAÀ40~žý‡ÞÜP=ßцSËß_`ç Üÿõ½£‹sƒA½Ãî¡BPCi ûÄ0Ùø·ZW/ §@Ûj¦­Í¢ê6ŒÊä†ý%<òØ^šÒLX8þŒßÿЭ›"íÒöÜQû䓲] MeÖ~˜v\4::W×è¡ÿÕo6’Ù0íºì…€††ƒƒÜûÔ÷a|å0y÷ 8[wcyv´ÙTNù­É†¯Ù0ª$ %äèg`ðì p~²öPp (³ì q)ýã'‚×^•¦JÛÝ ªYB©z©½ù餄àÞí íÊ`PS!e—…¦ÕÊ«¡Ttë Ct.ÐR’öÐ;@†Ýí!E°Š˜<œY€ý…!únU$ðËKÛðÔhs)¶(—;žÿÜîÃß¶FH e0 rxøÖê=øø€ÁþýÔîš»¬noÃÛ·àñÁ~{säìüÕ¡4ŒÓÀöÝÿÈ‘£j“e”p›Ù¥¥%€ëëðÂÊ}øýÅÖÒÀÊ ð‚ém¯‡ÂÓ‹S8tè06~Šø6ñmãÛÈ·UiÛ²z< öŒ ²ð‡7€ÇŸo‡O*Kß67n|ØêïÓ~Ç A†`@(ôûØó‹Ä·Ñ€x™ãür€xÚ_4û¼Y±'«];»8” @øg†ð_&¸2(D€Ä­öêe³lx3'èxȪ’"èÂÖ-^ién›Ìä%ŸtšcÃA@Ö0ogƒT 膺ëBJÃ! +i ¥aí¡\㦶†TÚ¶œ!0µkáÿmÏ N‚€!l„ä“eèZ!(Ë€!( 9ÓÎ-•K¤&ù¥`„‚ÍÏ {Kº¸0äX 4âe9@g*´ˆ.1 Å «+ƒ6B³9t¥×òÂH>ra(™ Ò‚`aHÖ%Rr&J.d> ¬3ûjš<ÈͽPò{?ËÍï»òàȬç×@РY€õçfNÍ!X .™æìXÞ¹§†A¹,@B6¿™}39@wV•ƒx¬TvC!ˆš†LM\ t!ÈÚ`‚€áÖ¦< èÝipôA ’?‘C@¹ø_4íÏh+ 0„v æµ€6ìÙØƒ#¡°aM¢ky°œÐ’›3‘0â¬à2½WŒjZÆ"§³PJ’À"òm9TšŽ•Àr» DõiàEÀpN QP¶Àº2¤ï`ˆ!  t}0Hí‡/¯@²Q'¯ˆû”i}Ð}Ã]°áÍB@Y`½Ú*U‚[Ä4’ f¦÷´kÃÁekÓ¸:Ø0 ìz ‹ÐBùøtˆ?åk>²….ܶ¨¾’^’sÅ£uµg[@­Ã—ØÂ'Žãñ[¹€\çÍèÎ.aòâÙ¸„¸qDpäÓ¿£+úÞ;žL°•sÓkÖ´ÇÑ+¨÷B{3ñaË IDATxœí½Yp\Ùy&ø»åž db¸€+¸q1EKµÉ%•z\#UV»­jG[mwÛc+ìèЄ¡°ì˜ˆ‰?øÉí§ŽypyTSU]S²\‹l•ºHÖÂ*Š@™Øk¹gÞåÜsúá.ysÁ–ñ3’8y÷{þïüû9 lÓ6mÓ6mÓ6mÓ6mÓ6mÓ6mÓ6mÓ6mÓ6mÓ6mÓ6mÓ6mÓ6mÓ/'‘Gý·£oûÛDQbš&‘$ ’$¡\.ó\.Çs¹.\¸Àõ3þK¦Ç_ÿú׉¢(âÕ«Wåëׯ+<²¾¾>ÚÞÞÎÚÛÛMÎ9F£<ŸÏ³|>‹/nƒb‹$=êØŒ Ãßxãàw¿ûÝ^ýõß{ï½÷ÆÇÇǯÿüç?O®¬¬,¦R© Ƙ.‚á÷ûi45{zzÌ_|‘1Ʀë:Ïår¸téÒ6(šÐc+¾øÅ/Š###~]×û/_¾üêàààQgŸiš4ŸÏ¯Ž-LMM ÿó?ÿóh2™¾råÊ¥´l𦀯b1‰DèÞ½{™,Ëfoo/+•J¼X,ò|>?üð_=(Kœ:uІ¡ ÇþüÏÿüwðƒüÒð¬œsîlçœór¹¼~ýúõäÕ«WÇ._¾|ýÆÉ7nÌd³Ù€Fiww·)‚988h†Ãa€‹EžËåðÁü«Åc €ÏþóâG}J${FGGÇ{›ç@³}”R-›ÍæS?ýéOG'''¯_¸p!µ¶¶¶´ººšãœëŠ¢¢(ÒÝ»wSEQÌÁÁAF)å>Ÿ þÎ;ïüRâ±ÀéÓ§I¡Pð%“Éø_ÿõ_ÿ—?üÃ?ü£Í˜Üj_«ý”R-N/§R©ù±±±ë/^I&“+º®—c:ÚÝÝMeY6MEQXWW+—˼T*ñ|>?þø—ž~úiéý÷ßïÛ·ïèÕ«Wßôûým­Ž½4ÛÏ9g…Bañ£>JNLLŒ½÷Þ{£sss©+W®ÌQJ5XêƒÆb1ÚÙÙI‰ ‡ÃÌï÷3Ó4y6—ã¹lcccÿâ@ñXàܹs$“Éø'''/¿üòÿõµ¯}í7îƒït?眆¡¦ÓéÌâââÄ[o½5<33sãÂ… Ét:½´±±Q`Ȳl‚@Cá°ÙÕÙe†Â!fè“d‰«•W*ÌÌL?Ö xÜ }úé§‘sçÎçw^öù|áG€fû9ç0 £¸´´´:===qùòåñk×®]½xñâÅÅÅ Ji…s® Ñh”Š¢h&::ÌX4ÆQdÔ0¸ª©|ìÆÇ  >÷¹Ï “““þåå原ýìgÿõ©§žúÒ£~¦­Ð›o¾©ÎÍ/ÌÍÌÎ.¬,/Ž®¯§Çççç—l@èh<ž ¢(Òîî.Æ8gÑhŒ©j…«•?:ÕñØàܹsòG}ýõ_ÿõ/¾öÚkÿM’$åaŽð»ÙŸÉdø+ÿß«D”dpÎÁ9À97)¥j¹T\[[[»‘J%¯/-.ŽÌÍÍÎ …åR©T‚­>$I¢¦ÉLÖÑÑÁ"0Î9WU•'“ãž|òIa||ÚÚÛ©@ˆ'˜ L6>6Æœwyd6À©S§ÈÚÚš\©TBò'òR<xTÏr'Ä9ǵk×àóB€X"ŸÀû ööžú+¡~üY[<ÿ{¯U³DÆÚÚŽž8yò ÎñuιA©¡—Kåé›7Æ—Gfggn¬¯§ç2™Ì򮮠FÑb±˜>0°CçœÑ[·nñG&~õWUúàƒBûöí;üÉ'Ÿüÿáp8ñ¨ž¥y ;¯Èf³xõµ×†Á™5ª½£¿V ™ZØôë¾íÆcìk4ïݦëz:³±±œËeF¦¦¦FqåÓ7 …­¶ööJ!Ÿ7‰8{ö,Y^^–cá?ýÓ?ý‘H¤£ÙqCÄÃáÖw0ƼèžO ¢ø­1Mš ãº[8û‰ý¥f£-¼ñW{(j¬ÙRwV•EQº»º»»»º»:t̤äý÷ßÿ»|.g @@œžžöŸ={öø7¾ñû°ï_ÏpÓ4aš&(¥î_ã%Içccã†#`œØÿ8© ùZ_åX+E{;¯;¾žZ±˜8ïÓçµ×cÌ4(€ˆišBˆðÐpþüyannN&„„ÿâ/þâw@ôaÞßÝŒ1PJ¡ë:TU…Z.¢’Y„QLƒVr`† fšà‚¢„!Ez°œ)¡T*AeH’Q!±AÀ šð¾I» LšØÞ ^ˆm¶Ý­õ®U\‚€ÌúFamm-@ pξ(I’8;;xá…Î}á _xþaÝ×õ^Æ—ËeäWgQYÍÝ7õ}O8á ¦¡¡8WY6§ä³eÀןßEV Iˆ@laLZŽöͤ€ÇÚkÜÞò¥ZœÖd‹@€ÙÙ™ÙR©T``„þPðä“O cccŠ¢(m?øÁþPEùaÜ×;ê Ã@¹\Fví& ÓÁ,,ºªœb‹vÎÁ9ƒ$ˆ$¢XD@V‘/Oc%£ à€jG €"+EѱAÀ=êÁë-pR½ Ll²Ý;Ú=mÀÃæF·Á}wB8g¿ @@9çG%š¦Iét:øÍo~óÙS§N}öaÜ×;ò5MC©TDzf•…ËÕ@$’ A”ADÜs93Á¨Bu€iR„|:Í „â6ʽ m…ÃðûüEÑ’"ù^g{­U×ÈàÆv3aÉùFS+*¥Rezz: ‰‘c±XÇøÃß'„ˆüöAôûB¦iBÓ4äó9¤'>†¾ø ›ñ"ÅQöC”œ™ ¢Qö˜©ƒ:LC!$½Ñ0!K"B …YšEf­ÓÜDŸßI”ªvA#Ð3h°<´Ѿùv‹DQÀÌÌÌ­|>¿  &Ž?N–––¤Ð÷¿ÿý¯ìß¿ÿ˜ÃüÛà^÷3Ƹa(‹X›ø†Í|A”!ú‚|A.É~€dVæ‘Çîݻз÷(ÉnœŠ*`KQö2D@‘,ßDv•}‰Að¢XuëƒEu¯àþODZ»¿é1h²¿áXÎLŠÉÉÉ1ÆX– Ð`àá‘HDH&“¾žžžî?ú£?ú='Þÿ ÓµœsN)%årë7SЗ®A ‚¤@ò‡ ûÂ\ò‡ˆ¨øÁ H;”` D¹IukxrnR¢drìØ ‘D¾òòéA„(ˆðùÑâ@ ÓkÁÐÜ–¯òžƒÒÚk°5|“ˆ¡s(! šªód29  <|æ3Ÿ!ÙlVRU5ôû¿ÿû¿ÙÓÓ³óAßÓ!Æt]G.›Aqê}Hà– çAñG "üa[Üsôì9†®C•$Ù§W¹DA¨"àœÃä&c09³có"á@f 99 EQ J"A©ÚMwƒDh>Â·è ´t °º²²¶²²²€ªø§öiŠ¢ˆ×®]óïß¿×÷¾÷½ÿ°Ùˆ¾_äXý†a T*!;{¢©Zº]ñCò… "aHJ„ˆÖ³$Û¦²8Ƙ æ&a˜Ia¨Pj‚š ¦É`šÌdàÍ ŠéYC$Qªz^ßD"ÔËeºOäfý M Jy;Îo%yDIˆ`ÇúuP­µ˜…Z.@Õ4¨:…¦QKßëÖÇ ¦eü™Ìý^wÐý&³ªsL»¶ÀP_]7ÓïUž7„‹pÐ:whšŠd2yƒsî¸ â¸ÏصkÑu]¬T*Ág¿ð…/÷ôôž´¬`'j½°¦ëP×Ö±¶šÆµáH’„x<Ž®ÎNôöv£·§Á`ð®ŸÃ›Ruj½$ç0Ù:|Z²/ARp˜T‡¡–¡©ehºÝ0¡é&4ƒB3,wÏrù,}ï5ú,ÑÏ]ÀdŒY÷öKÄ*,1Í*3=¼ç¤¼ien(ºA¨V*<•JÀÒÿex¢^º¯…ÂÂÌÌ´/‹u½øâÿö¿Ã‘|ÝG£yPK)ÅÊÊ*V–W0<2 ´µÅÐ×׋þþ>t$:‰„![óZ]7HñC££0‡NM¨šAÈÃI÷šÌb¦aés[¯ÛL·]=g´{ >“9Ìç`œÛ° >àÄ€ˆ‰Šn¹‚Œ¢Û@Ãh¶|S¿U-Aã…8ç¸ysáV&“YDÕý«±þºo$årIªT*Á¯¾øâo„#‘]®ëè6`SÑÅA¬ˆcXßÈ ½¾á‘ëPdKeô÷ö¢¯¿ÝÝÝ›B(¾LâGEËÀd’(@´}e§ˆÒdÌ[¬SÞÑ^;êc5ÌgÜ.Þ(h°PQ¡kLÓ„,K¶`€ñZqà5]ƒÍCk&šxtCÃØØØ8ç<ªø7›õÓ}€Ïç&&R¾ÎÎÎþg¿ðÜïB«è½ú"ð<êfú«Æ¸å€®ëH§ÓX[Kãêµaˆ’ˆD<Žžžnôõö¢¯¯×1*]æ‹¢h…cÃ(-®‚2I cÑ´i:#Ûa45A59#ÏòõQÏÀ\Õ¬D,Ÿ$ ]ё׬ˆ ç Ô…w½8°û¥™ØtôÃ3Àìþ«”‹æÄÄÄ XÑ¿2Zèà>`ïÞ}$—Ïɦi†¿òÕWQ”®fþ«ûÆÀm§é9Üí<“šXY]ÅòÊ*®^¥2úûû±cG?‰YF @¤g/Ò3Wa2Q¬Ò-À’4Îè5k%ÉxÕ¸cU`¸Ìw+Œx£L°£» „DŠÕŠÃ0À8‡~Bƒ*pF¶õ­f”W]‡j6uíþÃêêjîæÍ›°ÐýóÒý‘âÊò²Ïž½‡Î}öü×!ÜcÅòz‘ž@wÜ'A¬ÿlPpîií~q€Ã gœc#“ÅúFöQ  kŒk$¦•,ÇuÀƺҀU™ošŒ›qnÏpÍšŽ ú tÅ,7º¡s×pB·¤Ëóö5…!äÛ×orº·¢ºT*5A)Í 6ú×”îû ù‚Ì íëßø®Ïç‹{¬X×Í­cÕߠż—·X^cøÖ€ÀÓÕí5 n¨X\\âÙÌQs=²Yt’=1Î9çœ0%ï0Þ‡Éñ2¿ŽâC»» K–;˘ɩaÓ4 Çvo¸z A Ôõ‚SÐtg}§ªZA*•Åm¬‡îœqqyy)püøñÓG>ñoAd˜B­q㺆MCšövx™]߆çœZp‘C–%ø 1äÔ,Â2…`'TÀ­ 0gV~Ÿ;Fû·Êôzߊb!?îìt¿S­jaš&¬…Ká  © Pª ñ€&vÒéµÂüüü$ªúß@ ñÜ#†–eA"_ûú7þ³(‰þ]4X¸h`êa»Œ®Ø÷ªÔ…xüi Š|Š`Ñ`ha5áX—œ£FŸ»6ÓöXö·#A 8{d'|JµKÓëYÀôƒRÀË4â\˜42Þ¶â&¼qÇà†¡cfff®X,®¢Eò§žîMpˆù|>pæìÙóûöx–[ÕZw¦†ñÞ+&P¾l&%šyu1×n¨D¢(B–eøü~„¥0vv÷áãëóÕ `{Öß*ªÀØjýÊgö£·#â~× ŠåõX ]7j¢‚Ä1<ïPËx§{klE·ªýXû •JÉdòªÅ-­‡îºàð‘#ÂÒÒ¢âóùßüæ·¾±Y¾ÛÛö@¸E °­„š|9AM®ÞóIU—zŠ ÚN0H’ È º€þ®ÎÞ“qËç§µ>¾eý7Õõ­;ß߇ÃÝ5`›]E¡¬ieèºîÖÔäñ½ïçéÔ¼³g[ͱ¤æX(‹,•J9µ·ÕÿÀ=H€b¡(år¹à—¿üo¾<0°ãjDU}°Âi·´ êÂÅM¢p$Y£ûèýÕ!cÍë#$ …¢„²fbgO;$QÄG£s(T48q÷»)P÷ûdœ9´{úã5Ì/–5ŒÍ®°ròÔ¤nZØ‘OŽeë yî0³Vì·ŠÔÛŒQÌÌLÏçóù4©ýkEw%>,®¬¬(‘H¤ã«/þÛÿBDûµ\ùÛlÄ7´ëPìžÍ·×WÆÔŒ~TÛDH².(˜Û°J´ú:£øÒgâàή»fþ@W _þìö$ê= \[€¦[÷â V ÚãT%žÓg^‰×(-ݾjÑŸ @¥\F*•Jz’?5µ­èŽ%Àž={ˆZ©H𦆾úâ‹ßŽÇã\[©Y°×ɲ¶‰qÈë%F5, 8–_ãˆwv[·ª§k F{f/—$ ~¿#ËìN˜*>gìÀáÁ.ž\XÇüÒ e­š½³É©7 „ è—ÑßÃHÄ‚5û­6pmbsK–zýa ‡à÷Ée«H”[ƇcèÙZ‰à sx ½&â€@.—£ÉdrÕÜÿmÅ?peE˜žžòÅãñÞ^ø_„¯ØmRÌÐ0‹¾.HdíæÖkùµ¨|q¿Z#±z"IŸyâÕÙÎï@´J¼y$ä'§öáø¾JÖs%äËtÃ.‰ ÄB~„>ÄB¾ê=õŒq O.adjÙ•„ÞÞ½ƒOÛÌlYô¨ A K2|>‰¡Ó6Æ¡3`œ£¢˜YÜÀô­ «SDËKDÁݯÓ-©Ôâ°¤ÆÍÕ,:n†°g'°~9C…I?À’_>»²˜DQD$A$A?X‹\d³¸rå ’ããŽõ¿iñG3Ú ÃWWWŸýìùóCC‡Ÿj,Q‹)„׎þzÃ-ÚÍì…;ØîÚ vßñ&R $Kðû|ø•_9‡Ù©8*¥¨™vçÔtk—ðn§22Î!`ÌâÆõéet´…Ð BÊO#?ë‡$¶f!çïV( B’$,,,Ní·IþÔÓmpôè‚]åÿæ·¾õÖÔnk"·ä¹5íZ•®(ç5jÀkìUÇm£¨Æ Ü8·™MàÄ ,ÑÝn_ê¤wë 8·¼8|øººº ª*r¹óÐÆÿg<']ëLðpôìÝÏ[°ÁÊ9gÐ W’7ñÔɽEJvë·º (>®(JK °Ùý766põêUGü×,ü°Ù3{iS Ó¤R¡P~ñ‹_úÒÞ½û?ë8§ÖûYéj¯è¯Qžµ_]à Ôé|7L@¼¢¼Î+¨šýu²í>¹û LNqúôiøý~$ töôñvµÜš×-Tb€P„»>Íf]¸t»y &ã\q²ŽëÙ2®O/ãØþ>0«Wùj0N‚Á ¼ ®'³ùõ'''ùøøøØFÿ¼´i(8žõ†ŠIDAT ·n-ú¢Ñhç·¾ýíß#jB˜¨gÞIU«ßÓ®Ÿ=Û<)„ÍÃÈÍBÅèîîBWW$I‚¢(h'Y„I²,"ò!ô! HPd²$V‹Hï¤Gk¨fvRÌS·Ö±‘+dšEymÙlÖžMì™GpbŒa||Üÿ[NþÔSKìÝ»ä²Y1ŸÏžþË/vw÷²ùTe¤§s›1Ûe0š·7‹m·n“¦m/Pª.`u›aè8yò¤;mŒªEÈÙ$¨É\u#‹ü>~Ÿ Ÿâ(X…$wHÞzÀj”!µ°æ†ƒ¥â<2™ Êå2(µó[A&“Áäädfyyy›Ìü¹µ@0nݺåoooïýæ·¾ýŸ-ÝïŒ, ±†v•9h`TÃ1›¢¦ ÔîÆk{D –„±sçNkΠª¢¼t0J ¦•¥ó–w:Fà ëÞI·ÖRu²Õ^ZËCÕ €ßÌ"—Y·?Õ‘ÛÑÜ܆‡‡ïIü-°ÿ~’ÏåeÓ4C_ÿÆ7ÿ}0êóŽn²É¨ßŠèo©Pˆfà µŒ÷Š{¯T ž¶i8räDQ„a(ò0Ö’`W5âýÿ˜À-,U`˜ élÉb7aÓ(‹Ðu¦¹5.•J1;ùsÇÑ?/5€$ÉÂââ-_ÿàóÏù7ˆ«^Iµ3\æÁ#î½í:ÑßJ=Ôéü–¢ØDB ®í„˜ŒâèÑ£îšAåEp-® ðiѾrŠL8,äìÐ1!Í/¢P(ÔØ›©UUqýúõìòòò,¶Pú½5`èÐ!!^S Ãç;/ý^(êª2 š·I]Û;Ò½Fc3z™]½N£ðnƒ÷>Mamãœáàðù|0MÓZ8söÔp ¨#ؽïv·Ä½R€sT4ÃÝW\™BöÔÀìì,R©ÔT¹\^CmòçŽÐàŠ‚(¤ÓiÿÑ£GŸÿÕÏ}•Âm·ÃmË–¸ÎŽPý³ã ñ/8ˆwZ”7:ÈÁxGG‚tvvº ”‚vçR“m6°í·µƒN¨µîtýÛð‡ (ÖÜN!ºAQYžC¡P°jš$ÉÝヲ¦i˜ššÒ'''ÇPÿwýóR EIÚØØœ={öì™3g@¸¯ŠERu]Z[µm¯ÙÊ.¨1=í–á&ªÐÔ >ó™Ï¸–¼ãz¯F$k¨žÙhòýnÈq ca¿û½PÒPÌ®¡T*Þ6°ººŠ«W¯N«ªšÆ4#Ç––Y–Û_zé·¿ÁSÙRÃd‡ñcÝcК±hÊLx@S{ÞfŒÝ ŽW Á`»víÚ´DÑàMûÏú}à¼÷ª„  (eÈ*04åRÕh€T*Å·²ðÃVÉ@EUÅÕÕÕÀÓO?ý졃缌µ[Uià0Êcl9ÇÖ¥Ùè®Ù^7º›¥Ö8¼½Tt]Å¡C‡ (ÕÔ®CLô¹mEÚZFü~B -@4d=C&_†ªS˜Ô€¦V\#°(¥˜˜˜0¦§§ÇQ›ü¹7  óóJ0Œÿ»ßú΂(UcÒ¤ê{×5€hè¯WÍZ&×m¯—­¥‚ù;qâDÍËB Š"˜\ÀáäþyÍqÕg¬n„§îîêtûkòÖº ®êCÍGÿúú:R©ÔêÊÊʪúÿ®Å?`@UU¡R©ø¾ò•¯¾800pØ}Gï 7ÕO­l„&öBhZIâÙÞZ´’ ¦ibÿ¾}ðùª#€ûÛ?Ìßᔯ ö7eªçµíï¤æïÝRG[»zÚÅŠŽ…å¬õì¢d-D½ ÍÌÌ`ttÔ™÷_³ê÷Ý’…BA  ôŸâÌÁM·‹¼LF <@5€€ ZIç”ÛHïÇ»_Ó*8vì˜û’Ž4Áʺã ‚]Ÿç“ nVh?wUÀÝ5‰Á©¡È’Î9ÆfW ‚ì‡$ošv¢^Ü“þAÂ#ÈO~ò“ÿ¾¸¸¸Q*•¸aèœ3 έ8±œkËñ²ë¹­6,ÝnçXmx¶×´á뜀NìýÄ*ê²Ïs޳Ú6Xœc9ጛ¼½­÷ôôp»ã¸íŽqA¸,Ë< q•+ŽØäÝ1. ‚{mÏÖû:éãŸóMÈ»?q ŸwÇÜsÎÓÙOÍ­p%ÔÎ}>—e™‹¢èôµ{~±Xäׯ_O¯¬¬Ìâ£^9炦iÒÚÚšzáÂ…á………¥T‘$) Š‚€±ÉµJß—n›T%³míÕ¶‰;ðmpä@õX¸ÇÖí¯žZ»½\*’óç?K:::ìëÛO Î9±?€¤oMAÏA–D"‰‘$läÊÄdœ0n}ì°-áœ[¿e #Æá\Ó½~3rö !‡»È‰}ÄòûMò³+S¤¬ê „YI|çQ2°kéîî&Ñh”Ȳìt6!„d2I^ýõáÑÑÑÿà&€ XÀ{’0Ƙ$I*¥tcuuõÆ[o½µñÖ[o½—H$<¸ïÌ™3GOœ8±¯­­-è÷ûY–!Ø?®Ä8ì¥Rl–rgI;è¶I]é˜%ª•D¿Ý¨_ý±Þhac@È-Sd »wïnú²„Xó}>¤PæçF±G' ;ªQL{Œ2÷<ëI‹€44'œ8ЇÃ{¬É£5ñáèœU€b]’/„p¼¡PÈ-õªÎ9¦¦¦0>>ÞrÕï»% Êå2“$IƒUXhÂr1ÖÖ××.]ºtýÒ¥Kï)ŠÒ~ðàÁýgÏž=zâĉ½Š¢k]|qX°ƒ·ÖöÞС*nÎdïM*Š<%c.*åŽ9Ò`ü9äxŠ¢@‰õÂäɹUÜÝìêm‡$ HέÁ0™Ë ªaj3Þƒ‡Í(òáÜÑ]è눂j2\žÅ¬=uŒkEï@b'ÚÛãˆF£ðù| «Ÿ©ªŠT*U¶Ý¿û&þªຮ›¨V•”d„u]ŒŒŒLŒŒ\R¥½¯¯oàÌ™3Oœà“±Gv» FTTŒÌaa5W}&²/ˆöþ}H$ˆD"M+„1:::U·ê÷ý€Mö ÂA–$øøQCxvvvzvvöꫯ¾ëééé?vìØ¡3gÎÚ‡}~{B$«>Þñq[¹‰#WZXL¬• õ€°¥B5 :Z¾¬ã ø|>„#ø» º2ùå,ʪãûû K""ANíÀF¾ŒÙ¥ ,ÚãI ‰± v÷Ʊ³§ Ÿõ“ˆœs¬lðáè¼›vÏ‘D„z «»‰Dáp²,7x<™L:±ÿû&þæE¡LX@Ð`I X`2Æ"‹‹‹Ó‹‹‹×Þzë­X4í|â‰':uêðñãÇ÷tttÄdY†¢( DcÜ]cŒ×Ú6ÃZÿfj@ͨwlÑr©ˆ“Ï}¡© å%ÇŒD"ˆôìGáæuD*:n­å°ž+ãÄþ>t'"‚D,ˆŽ¶è†l¡‚\±‚BYƒfP0Æ!‹"‚ѱ ü¾ÚßÁ,Ut O.ar!ݰè„@|m}èÚ¹===hoowK½iÅ9‡®ëH¥RúÔÔT}íß=~àöeá^0PXÈ«ÀC,0ø`! œÏç#/^L^¼xñg~¿?~àÀ=§OŸ~âØ±cû@@’eЬ¸`pVÚ®œ¶-{ÖÑõ•šÚÚbèéé¹í B Ë2Âá0‰2;>ƒHa5‘)Tðó+Sèéˆàà®.tÄBEIÐÑBG[¨¶sšÌ`Œc#_ÆäÍ4f7œYƵÏ@ ·£sÏ ì@OOb±EiÐÿ«««˜˜˜XÚØØ¸…Û,ûz7t'“C›A…5¿Ð‘‚ªªF†‡‡'‡‡‡?T¥}```ç©S§Žœ>}zh÷îݽÁ`PR…Ë>ꏽ<«é,°lyܪٯŽzWeÀ2)JÅ>ÿùÏYÙb~¿C^; ½½}ƒ¼”yaýwBÈ­ÕVrˆ†üèŠñžDíÑ$Q„à¶`©Îw:Ëë,¦óØÈ—-@Wû­æþr(†øàIìØ¹ ýýý<#¸£ßûÓÓÓüÆõâÿž¢^ºÛ%bœ@ ³F‡U,£j78ª" ¤ëzdzzzrzzúÓW^y%ÚÓÓÓüøñÃ'Ož:vìØ`8ö+Š‚€ßúOjš å¥„9·l° ¬† ìÙ³§a46Ë×sÎ]; òžžR.ƒahˆ˜WÝu|T"W¬ð|™ O.A Ö~ŸìV›ŒqU£¤¬é «ŒØ"¼áþ¾H':öœÄî={±{÷nÞÓÓC¢Ñ¨­"‰{®óüÉdÒ´£ί~ÜSò§žîÇJ¡Î«×Û ,éPo7„„———g———GÞyçX(ê8vìØÐ™3gŽ:th°»»;æóùŸOF à³Vê6( ƒÂ4Y JÅ>ÜÒõ«'§sEQD @"‘pS°·˜€ðâ0)B Äþû§`8G±¢£XÑ«/~SLj "б ]»`çÎ]صkúúúÐÖÖVcù{¯—ÉdL&Ókkks¨uÿî=ˆ_ i¥*J¨µ‚‚œóp±XŒ\ºtiâÒ¥Kï…ÃáÎÁÁÁÁS§N>}úôPOOO{ Y&~Ÿe7…n ”¢\.âøñãwô€Ž7àØ]]]nç/ú"à ×@r«¢Qý] gè;¹lG¤w?z100€tww£­­ ~¿¿ÆðóÒôô4&&&&t]Ï VüßýÜÁú÷@^UáÂñ,аD[@@F×õôêêêÂÕ«Woüã?þãGW®\™XYY)pÎÅ`0&‚,Kü‚¶¶6røðá–#±^×íƒ Ä™)¤( ¦/J¦‘„Ëj'„ÀYkšTÿoz}ÂqDú†Hï¾ãØ5¸{öìÁÎ;ÑÝÝX,†@ OÈ·æ|Æ.\¸€W^yå'ëëë×, Ôé¸xh¿Ž;·œóðäääìäää'¯½öZ[<ï>yòä‘Ó§OÚFCûöíƒa-GQ+rŽsìgц@ €p8Œ•öv¬­îFv}âú<Œâ: ­lý¨”ÉÀ=¿`…@”!(AH¡8Bí½ˆÅ;ÑÑÑÎNëo"‘@4E(‚,ËMžC•J©TªhÿèÓ}þyéaÀK›Ù ’ýñ¡ª*B¦i†×ÖÖ¢ï¼óÎwÞy'šH$z<¸ïÉ'Ÿ<ü /ìíïïG£Q1 6 ¦´"Ç+ðª¿ßh4ŠŽŽd2½Èdv£PÈ£\ÈC­a¨e0ªÙ?-+‚H $ÅŸ?0„p8Œh4Šööv´··£­­ ‘H¡PÈÕ÷NÕo«çœŸŸÇØØØ”a¸Ë™¿[zÿûy±ûDvô",@8’Áoˆ:Ÿ@ ?qâľgžyæð3Ï9¢ˆjð)K)]O§ÓKŸ|òIò•W^ùôÇ?þñÈØØX:—Ë‘`0¡”JŒ±¦®Ûf¦»Ù?<<Œ×_ýÓT*u–å¿mp×t§vC@x~~~z~~~äïÿþïcáp8qþüù¡_ûµ_;rúôéÁÁÁÁ¶p8,8vÃ,ív;2MÓ©ýs~ôá¾'êé—UlFõ^…׳p¤CÎþdu]_Ÿššš{÷ÝwG^ýõ+?ÿùϧ—––*°@ã3MSPk¸[ Q,ñãÿ8û“Ÿüä¿3ÆfQ]öõ¾¥ëé_#¼Ô,O¡¢ª*òð¨ MÓÒ7oÞ¼uáÂ…/¿üòåú§š˜Íkš&ˆ®ëÀm£|­(™Lâõ×_¿>22ò,ñ¿n?˶xÔ*i倡&iÅ9Ϭ­­-^¾|9ùÚk¯}úÊ+¯\I&“ëù|¢(9çŠm7¡:©¢†€Úy ï¿ÿ>^}õÕwVWW‡a%²¸ÏÉŸzÚ@krÜLŠªíਠLjÌÈrÎ7ŠÅbztttòþᮾñÆß|òÉÍL&CA2ÆdƘàŒêâJ¥Þ}÷]õÍ7ß|U×ugÕï"îsþ¿ž¶°5ª·4l’Ò.•Jk“““³ï¾ûîð~ô£O/^¼8»¸¸XE1 IRP×uâD 0??7ÞxcêÃ?|ÖÌGü?0ý<þ¹€Ç™¼y 'iå M‡`Åܤ•(б={öìxöÙg~îsŸ:qâDo"‘ðƒA¬­­á¥—^úÑ¥K—þVògØt^b›îˆçã >)¨ŸB°WÚúûû{Ï;wà¹çžÚ»woïK/½ô/,,|`@–Êy`úßyðmºÿä• MëPC€/“|>¿L)]àüöŸÑäÚ÷ýA·éÁ’W28ÒÁ›§Øß,›"'Šb1¦qΘûç}¸mzxÔ¬¾Áù%„h‚ æV׌½´MެiÕµ|prÛ´MÛ´MÛ´MÛ´MÛ´MÛ´M€þ'žžî à-IEND®B`‚./chessx-1.3.2/data/images/square_green.png000644 000765 000024 00000013475 12074576333 020310 0ustar00nistaff000000 000000 ‰PNG  IHDRàw=ø iCCPICC ProfileX ­XuXUÍ·ž½OrÝÝÝÒ]Ò)R‡.á" ŠRRŠJ)*R¢R‚H‚6ˆ (*‚„„Üß•ï÷ÜçÞÿî~ž³ç=kÖž=3ïÌ^³^X¼ÂÃC`ZBâȶÆz¼Î.®¼¸×€hðZ/Rd¸®µµø?¯ÕçÚ­|"µÛÖÿéö¿WÐùøF’€¬‘joŸHR(‚›_")œJ± Ž ßÅÎf$#Dðî{ýÿÁ‰»ØûœÿÇÇÞVñ©OéåEö€Ø„ØycHþH;ħ`éÃ|à›C°)ÀËVQÄG24ôÐ.¶G°¨÷´ãÿØËË{¯M//ÿ=üÏX'‘F†‡xùóçÿóÌן‹¹SFÛ™#%™³X’—¡Ý_àkºËÙ{x”ží_eº;¶?ö€h‡¿8:ØA÷/>d¾çæ½ßꯩÌý?ÏÆØ;ýÅ>¾†1ùíždŒÝž=.@ÿ_Ÿ /³]¾ÿôÁ‹Œ ÿƾ!Æ{ï ²ÞëgXÈþ½±ø‘ö||#ÿoT€½Éßv¢Èö{>~F¦íd“={xÈŸ5ý§ähÛ½yð sØ›C/ƒ½¹ÀxR”olÔn‡õ…!úDñê"«ÞW’×4Œ$-É+/+'v÷Ю˶öÄ<ú¯-»ú0Â×ø¿6ÏÚÜe¬ò¯M€€Ð; À=R49æŸöлÝÉØ7¢@ Èe t€!0VÀ¸w@ Áa’@Èg@(å Ô€k ´‚» <Cà1x^)ð|‹`lB„ƒ¨ ˆ â„ HR…´ CȲ…\ OÈ ƒ¢¡è”åB%Ð%¨º ݆º¡h zMCóд£`J˜æ‚…aXÖ…Ía{ø ìGÀqp |.‚+à«p Ü ÁÏà)ø ¼‚("ŠŇ’B©¢ôQV(W”ŠŒ:†ÊD¢*P ¨vT?ê j µ€ú…Æ¢мh)´Úí€&¡#ÐÇÐÙèt ºÝ‹~‚žF/¢c¨0œ Œ:ÆãŒñÇƤa 1W0͘>Ì3ÌGÌ*‹eÆŠ`U°&Xl6›=½ŽíÂŽag°+8Ž 'ÓÄYá¼pQ¸4\1î*®7Žûˆ[Çñ…¾’þ>ý ŠA€AŸÄp‚¡Š¡á##–Q„Ñ”1ˆ1‹ñãã"=“"“#S,S)Ó=¦)f³0³)sss#ósæ .]_– ––q–5VVV_ÖLÖë¬ÏX7ØxÙ Ù‚Ùβµ²½aG³‹³Û°f¿ÀÞǾÀÁÈ¡ÁAâÈähäxÉ sŠsÚrÆsVrs®pqss…ssÝçZàfæÖáâÎçîàžçaàÑâ äÉçéäùÌËÄ«ËÂ[ÄÛË»ÈÇÉgÂÍw‰o„o“_„ß?™ÿ:ÿ‚€ª€Ÿ@¾@À¢  ¥`‚`½àK! !U¡¡sBýBkÂ"ÂNÂé­Âs"¬"¦"q"õ"¯E©DµE#D+DŸŠaÅTÅ‚Å΋=‡Å•ÄÄKÅG%` e‰@‰óc’I5É0É É )J)]©©z©iifi édéVéo2‚2®2geúe~Ë*ɆÈVɾ’£—3“K–k—[’—'É—Ê?U R0R8®Ð¦ðCQBÑWñ‚⤃’¥RºRÒ¶²Š2Y¹Ay^EPÅS¥LeB•QÕZ5[õ¡FMOí¸Ú]µ_êÊêQêêß5¤4‚5ê4æö‰ìóÝWµoF“_ÓKó’æ”¯–§ÖE­)m>m/í í÷::>:WtfuÅtƒt¯ê~Ó“Õ#ë5ë­é«ëÕï2@dŒÒ:–¾5â7ò7ª7Z4V2Ž7î2Á˜˜›œ5™0å2%™Öš.š©˜5ë5§4·3/1o!nA¶h·„-Í,ó,_ïÚ¶¿Õ X™ZåY½±±Ž°¾cƒµ±¶)µùd+g›`ÛoÇ`çaWg·j¯gŸcÿÊAÔ!Ú¡Ç‘ÆÑͱÖqÍÉÀ)×iÊYÆù¨ó »K K›+ÎÕÑõŠëÊÃ>º)¹¥¹=?(r0öà€;»{ˆû=/[žO'Ï:Ï-/+¯ ¯oSï2ïE’>é鋎O¾Ï¼¯¦o®ï¬Ÿ¦_®ßœ¿¦žÿ|€v@aÀB ~`Ià “ ò µ`«àêà§ë¡øPÏÐÛaôaÁa½‡¸Å —O ŸŠP(ˆX$›“¯DB‘#Û¢‘ÃÊp´htjôtŒVLiÌúaÇ÷bébÃb‡ˆÉ82gw9OŠïIàKHJ˜>ª{ôÒ1è˜÷±žãÇSŽL4N¬I"$'=J–MÎMþyÂéD{ WJbÊLªqj}u9m"]#½ü$údàÉ‘ …ŒâŒß™>™ƒY²Y…Y[Ù¤ìÁSr§ŠNíœö;=’£œsá öLØ™çgµÏÖäÒåÆåÎäYæµäóægæÿ,ð((T,,?G8}nªÈ¢¨­X°øLñVI@ɳR½Òëeœeekç}Î_йÐPÎUžU¾q1ðâä%ãK-Â…•ØÊ˜ÊOUŽUý—U/×^a¿’ue»:¬zªÆ¶¦·V¥¶¶Ž³.§®®Ÿ¿êvõñ5ƒkm R —®3_ϺnDßø|ÓóæóFóÆž[ª·š„šÊšš3[ –#-‹­­Sm.mc·Ín÷´k´7ß‘¾S}—ïné=¦{9„Ž”ŽÎ¸Î•®ð®…nÿW÷ï?íµéé3ï{øÀèÁý~Ýþ·šï¨ÜTlRjVn~¤ô¨yDy¤eTe´í±Úãö±}cãÚãÝO ž _˜HÌÓ¬>lo9,9[¸¹xȼí|K<‚*BºÂÆ"ú¢êbJâ¢Ü’tRh©5é9™—²Ãrò •йJÉÊá*UMÔ”Ô¹5°ßöMhviÕi—èäèfêeègäæå盘˜å›Ÿµ8m™µÿ¤Uªõ ›¶)v'ìSR“’œ»Ä»Æˆt ;èîãAòôõ öŽ&%ùœö-õ«ö¿Ðø0h,øeÈLèBØj8*‚ž,©eísôðÙØê#íq#ñÓ KÇPÇiÙ“x“Nð§ð¦r¦±¦3ž¤É d¢3·³V³¿Ÿš;=óúÌäÙg¹OòÆóÇ Æ GÏ=*,~XÒ[ÚUv÷|Û…æò¦‹­—:*V>­zùû•íB-s@½ôUµk û¯;ßð¼éßz‹Üt¸9¾åXkR[ÊíôöŒ;YwOÝ;ݑәÛUÐ]ÒS~¿ª·®¯áÁÍþæ‡mwï u w=êéí||g¬yü꓊§çže?Ošˆ™ zqð¥Í+ƒ×*oÄßr¾£z÷{êëôË÷}37?”~LýthÖeNo^â3ãçí/Ÿ}mþvþ{êbØç%½e©Ÿl+˜•ÅÕ×kÖoþ*ÛHÛ ßrÝÖÿ-µÃ¼³³Ç¿4§£lÑBv¬4ÎFq‹SzSuÐÓæÑ2˜ÐÌñ,l~ì/8µ¸Š¸¿ð*òðçÔ 6 µ ·ŠÜ­+/”È’<&!í-ã k,§!/¥À£H§)-)O«1yjþÌê¹í„ý¤Ó ——^¹½vãþöà;×)»i“÷ª3Bh?üúøþÓàlã\É|Òç€/V Ê_¹¾¡¾}ùþt±ûÇ¥ŠåŸÙ+I«1kÁëž¿6Ì6µ¶ä¶…~³íPþþcQªh"`ŽoKq’0L)F•Dý‰ÖŽîƒã-fI–*6VöLŽE.îjžï|²üÇ „ª„þo‰5‹7K4K6J]—n¹*[#W%Q¡TñœR®r¦Ê Õ5²ºŸ†ë>KM-E„}]n=N}..C^#^c^nS.36sf ZKÊý8+ØjÇzËfÓvÃnË~ËaËqÓé—óªË’ë·ón¾så1éùÜkÂûéÏ´ïŒßGÿÙ€¹Àù ùà¹ÙÐÙ°¹C_ÃWÉp$}”`´rŒéᱡGâ²ãËꎶ"Ñt q(i ¹÷Ä”ÆÔê´²ô3'S3b3ƒ³f[Ò=­#r†ó,c.UE>¶U ·Ïý*Z)^,ùRú±lêüË OÊG/_¬¬ª¾ßþÚ¾xgéîÏ{+kk]kÝë=ë÷×{×ûÖ¬ö¯<\ø1ø}èëðçGŸFfF§¿›òdäéÃg=ÏïN4O6¼¨~YþªèuΛô·GßENùO»¼7Qý ü‘áø´0;9×;ãsé—´…ˆ¯nߌ¿+. ü`Y¢Y&þ$¬V k„uÂ/Š ü&n »ùÚvùÿGëØ Xe® 9¹C3HzÉ™‘øA €5öj˜0œ íð½ø”€ É6E‘LS˜;à BÀŽd”Uพ€`ÂC ¤dˆ‡ tè"Ô=ƒ–`:Xv„à+ðSÉ顪Q3HÖæ‰®@ÂHa¢1]XJìì5„sÆÝÄSãCð# %ááјØHÉE™A¹JåK5AmNÝM£NÓL«@ÛD§Lw‡^~ˆÁaŠ1Œñ7Óf!æ»,Ž,ˬ¹lŠl/Ø9Ä8Æ9㹸†¸£x¸yyð‰ó½á졀 ö ¥ŠàDD³Ä,ÅiÅŸHKzIIJ­K?”)– •3ç’ßPx­x_é†r…J±j¾Z®zžÆ¹}ç5«µš´{u&tôÑÈÚV1²53É2­36ÿaɶßÀŠl]i3aGmoâìxÏiÕEÒÕë@Û ;ä¡îãÕì½ê£î›ä7ÀèÔB6.q–ü+Ê'zü°~lkœt|õQÁcU‰BI5'$R®§)¥ßË0ÉœÈ<õ;§ð¬\îh~D!Ó¹{Å¥eO/ä]t©¬üyùAuYmL½Ý5…ë,7vç›&[†Úî·÷ÜíïxÒ5Ó³ÞG×/5`9ñ¨x´oìçSÑç“Å/Ÿ¿a|g;;óäËœÇ纅ï–?ª–wVÝ×»6E¶Ïþù~`Â? @ Ñ78„è ™ ÑÚÀCð|[ $©  ŠCT«P?ô†a~Ø‚óàøŠå€:…êG£Ðºèdt†ˆ±Å”af±JØTìNw÷¯†/ÂoPxP< Èʈb,ñ¥#å*5ªj!êrNšRZ.Ú :1º&zúQw†oŒÇ˜h™*™Õ˜ÇXBX ¬ul–lËì¥FËœ—¸¬¹v¸oðxó2óó¥ñë nÁT!saFáw"õ¢‡ÅtÅ âã%’Þ¸ï—)’ –Ó•g“ÿ©0¦Ø¨tN9Qå*IÍMÝYÃyŸ«¦§V€v”N²nž^µ~‡Á„á’1•‰¸©‰Y y–ÅMËVhky’í9»¼£¡Ó çn—šnqÛÜ×<Õ¼Žy÷ùÐøºùÕûÿ´ ªÁ„z„Ý gŽˆ$?Ž’‰>³ëväA¼|BÅ1ÆãIPòÑ›©GÓQ'Oe²gÕÒ<ýôLh.E^myá¢âÃÒåó•å—ð÷ª¢®HUÏ×ÖÖ_“mX¿ÑÛ˜ÛäÓ¢ÑÆr{ëν¹Î=¨^ÎêÝ“†ëG&ÇO´ŸÅN4½Xz-õÖgªð}߇¥YÞyÛ/i_;¿o,©ýLX½ÿ‹jÓu»~fÀ Ä¢2™gàƒ(KÇÁiP®"*Ò0x¾C0ĉ!*‘%!šP4 -ÀX¶„Ép Ü/£PލlÔ}Ô6Zƒh4ë LfË€õÀ^Ãnã¬q—q[xGü- zŠ(ŠI‚á2‘ŠCœ¢4§lC”"j"u2õM Í2mí*]<=LŸÉÀÈPÎ(ÉØÎdÎôŽ9š…š¥ŽÕ„uží»û+ŽNÎW\éÜJÜx yÍù`¾»ü±*¿;ýo!„ä÷•bâ2â«’™RNÒ"Ò2£²WäåÝ´•h•QÊ›*ª[ê°q«¦ˆ–º¶µN nª^•~ŸÁ¬ÞXÜÄÜ4ÔìŒy«ÅÔ~J+ ëP› Û—öLvŽùNÏ]X]¸àöÞ]Ô#Üó®7äæsÃïïÐÄœò!ÌäÐÕZòáÈwÑf1m±bGÎÇ3&œ>F<ž•DœŸÂ•Z—®vr0Ó#kõÔÙé3£¹‘ùì½ç"ŠùJž•e]0¸]ê®L½lQÍRó¡®åjfƒ÷ ÍFÎ[ÛÍ3­Ã·Ûï\»WÝYÓ}ó~gßXÿÜ j˜oDÿqàxÞÓ®ç?^½r}“õ®ezræç'ª9áϺ ß’//=ú¹¾&üËy3{»w—ÿH?ùÝè J=D~|»³³, .€ÝïÃfÅÎÎv%’l¼ +äý|×K @gx7“¸[þçõ_ȧQB±¾ísXIDATH cdø¡õŸ†€‰†fƒ¦¹,È>øÏ~™K6›ñ§6\/Í}0j<¬q1FƒWÈÀÅGƒ¸£A„+dàâ£A \ šãh¥+ìaâ0s«<î"IEND®B`‚./chessx-1.3.2/data/images/square_none.png000644 000765 000024 00000013505 12074576333 020141 0ustar00nistaff000000 000000 ‰PNG  IHDRàw=ø iCCPICC ProfileX ­XuXUÍ·ž½OrÝÝÝÒ]Ò)R‡.á" ŠRRŠJ)*R¢R‚H‚6ˆ (*‚„„Üß•ï÷ÜçÞÿî~ž³ç=kÖž=3ïÌ^³^X¼ÂÃC`ZBâȶÆz¼Î.®¼¸×€hðZ/Rd¸®µµø?¯ÕçÚ­|"µÛÖÿéö¿WÐùøF’€¬‘joŸHR(‚›_")œJ± Ž ßÅÎf$#Dðî{ýÿÁ‰»ØûœÿÇÇÞVñ©OéåEö€Ø„ØycHþH;ħ`éÃ|à›C°)ÀËVQÄG24ôÐ.¶G°¨÷´ãÿØËË{¯M//ÿ=üÏX'‘F†‡xùóçÿóÌן‹¹SFÛ™#%™³X’—¡Ý_àkºËÙ{x”ží_eº;¶?ö€h‡¿8:ØA÷/>d¾çæ½ßꯩÌý?ÏÆØ;ýÅ>¾†1ùíždŒÝž=.@ÿ_Ÿ /³]¾ÿôÁ‹Œ ÿƾ!Æ{ï ²ÞëgXÈþ½±ø‘ö||#ÿoT€½Éßv¢Èö{>~F¦íd“={xÈŸ5ý§ähÛ½yð sØ›C/ƒ½¹ÀxR”olÔn‡õ…!úDñê"«ÞW’×4Œ$-É+/+'v÷Ю˶öÄ<ú¯-»ú0Â×ø¿6ÏÚÜe¬ò¯M€€Ð; À=R49æŸöлÝÉØ7¢@ Èe t€!0VÀ¸w@ Áa’@Èg@(å Ô€k ´‚» <Cà1x^)ð|‹`lB„ƒ¨ ˆ â„ HR…´ CȲ…\ OÈ ƒ¢¡è”åB%Ð%¨º ݆º¡h zMCóд£`J˜æ‚…aXÖ…Ía{ø ìGÀqp |.‚+à«p Ü ÁÏà)ø ¼‚("ŠŇ’B©¢ôQV(W”ŠŒ:†ÊD¢*P ¨vT?ê j µ€ú…Æ¢мh)´Úí€&¡#ÐÇÐÙèt ºÝ‹~‚žF/¢c¨0œ Œ:ÆãŒñÇƤa 1W0͘>Ì3ÌGÌ*‹eÆŠ`U°&Xl6›=½ŽíÂŽag°+8Ž 'ÓÄYá¼pQ¸4\1î*®7Žûˆ[Çñ…¾’þ>ý ŠA€AŸÄp‚¡Š¡á##–Q„Ñ”1ˆ1‹ñãã"=“"“#S,S)Ó=¦)f³0³)sss#ósæ .]_– ––q–5VVV_ÖLÖë¬ÏX7ØxÙ Ù‚Ùβµ²½aG³‹³Û°f¿ÀÞǾÀÁÈ¡ÁAâÈähäxÉ sŠsÚrÆsVrs®pqss…ssÝçZàfæÖáâÎçîàžçaàÑâ äÉçéäùÌËÄ«ËÂ[ÄÛË»ÈÇÉgÂÍw‰o„o“_„ß?™ÿ:ÿ‚€ª€Ÿ@¾@À¢  ¥`‚`½àK! !U¡¡sBýBkÂ"ÂNÂé­Âs"¬"¦"q"õ"¯E©DµE#D+DŸŠaÅTÅ‚Å΋=‡Å•ÄÄKÅG%` e‰@‰óc’I5É0É É )J)]©©z©iifi édéVéo2‚2®2geúe~Ë*ɆÈVɾ’£—3“K–k—[’—'É—Ê?U R0R8®Ð¦ðCQBÑWñ‚⤃’¥RºRÒ¶²Š2Y¹Ay^EPÅS¥LeB•QÕZ5[õ¡FMOí¸Ú]µ_êÊêQêêß5¤4‚5ê4æö‰ìóÝWµoF“_ÓKó’æ”¯–§ÖE­)m>m/í í÷::>:WtfuÅtƒt¯ê~Ó“Õ#ë5ë­é«ëÕï2@dŒÒ:–¾5â7ò7ª7Z4V2Ž7î2Á˜˜›œ5™0å2%™Öš.š©˜5ë5§4·3/1o!nA¶h·„-Í,ó,_ïÚ¶¿Õ X™ZåY½±±Ž°¾cƒµ±¶)µùd+g›`ÛoÇ`çaWg·j¯gŸcÿÊAÔ!Ú¡Ç‘ÆÑͱÖqÍÉÀ)×iÊYÆù¨ó »K K›+ÎÕÑõŠëÊÃ>º)¹¥¹=?(r0öà€;»{ˆû=/[žO'Ï:Ï-/+¯ ¯oSï2ïE’>é鋎O¾Ï¼¯¦o®ï¬Ÿ¦_®ßœ¿¦žÿ|€v@aÀB ~`Ià “ ò µ`«àêà§ë¡øPÏÐÛaôaÁa½‡¸Å —O ŸŠP(ˆX$›“¯DB‘#Û¢‘ÃÊp´htjôtŒVLiÌúaÇ÷bébÃb‡ˆÉ82gw9OŠïIàKHJ˜>ª{ôÒ1è˜÷±žãÇSŽL4N¬I"$'=J–MÎMþyÂéD{ WJbÊLªqj}u9m"]#½ü$údàÉ‘ …ŒâŒß™>™ƒY²Y…Y[Ù¤ìÁSr§ŠNíœö;=’£œsá öLØ™çgµÏÖäÒåÆåÎäYæµäóægæÿ,ð((T,,?G8}nªÈ¢¨­X°øLñVI@ɳR½Òëeœeekç}Î_йÐPÎUžU¾q1ðâä%ãK-Â…•ØÊ˜ÊOUŽUý—U/×^a¿’ue»:¬zªÆ¶¦·V¥¶¶Ž³.§®®Ÿ¿êvõñ5ƒkm R —®3_ϺnDßø|ÓóæóFóÆž[ª·š„šÊšš3[ –#-‹­­Sm.mc·Ín÷´k´7ß‘¾S}—ïné=¦{9„Ž”ŽÎ¸Î•®ð®…nÿW÷ï?íµéé3ï{øÀèÁý~Ýþ·šï¨ÜTlRjVn~¤ô¨yDy¤eTe´í±Úãö±}cãÚãÝO ž _˜HÌÓ¬>lo9,9[¸¹xȼí|K<‚*BºÂÆ"ú¢êbJâ¢Ü’tRh©5é9™—²Ãrò •йJÉÊá*UMÔ”Ô¹5°ßöMhviÕi—èäèfêeègäæå盘˜å›Ÿµ8m™µÿ¤Uªõ ›¶)v'ìSR“’œ»Ä»Æˆt ;èîãAòôõ öŽ&%ùœö-õ«ö¿Ðø0h,øeÈLèBØj8*‚ž,©eísôðÙØê#íq#ñÓ KÇPÇiÙ“x“Nð§ð¦r¦±¦3ž¤É d¢3·³V³¿Ÿš;=óúÌäÙg¹OòÆóÇ Æ GÏ=*,~XÒ[ÚUv÷|Û…æò¦‹­—:*V>­zùû•íB-s@½ôUµk û¯;ßð¼éßz‹Üt¸9¾åXkR[ÊíôöŒ;YwOÝ;ݑәÛUÐ]ÒS~¿ª·®¯áÁÍþæ‡mwï u w=êéí||g¬yü꓊§çže?Ošˆ™ zqð¥Í+ƒ×*oÄßr¾£z÷{êëôË÷}37?”~LýthÖeNo^â3ãçí/Ÿ}mþvþ{êbØç%½e©Ÿl+˜•ÅÕ×kÖoþ*ÛHÛ ßrÝÖÿ-µÃ¼³³Ç¿4§£lÑBv¬4ÎFq‹SzSuÐÓæÑ2˜ÐÌñ,l~ì/8µ¸Š¸¿ð*òðçÔ 6 µ ·ŠÜ­+/”È’<&!í-ã k,§!/¥À£H§)-)O«1yjþÌê¹í„ý¤Ó ——^¹½vãþöà;×)»i“÷ª3Bh?üúøþÓàlã\É|Òç€/V Ê_¹¾¡¾}ùþt±ûÇ¥ŠåŸÙ+I«1kÁëž¿6Ì6µ¶ä¶…~³íPþþcQªh"`ŽoKq’0L)F•Dý‰ÖŽîƒã-fI–*6VöLŽE.îjžï|²üÇ „ª„þo‰5‹7K4K6J]—n¹*[#W%Q¡TñœR®r¦Ê Õ5²ºŸ†ë>KM-E„}]n=N}..C^#^c^nS.36sf ZKÊý8+ØjÇzËfÓvÃnË~ËaËqÓé—óªË’ë·ón¾så1éùÜkÂûéÏ´ïŒßGÿÙ€¹Àù ùà¹ÙÐÙ°¹C_ÃWÉp$}”`´rŒéᱡGâ²ãËꎶ"Ñt q(i ¹÷Ä”ÆÔê´²ô3'S3b3ƒ³f[Ò=­#r†ó,c.UE>¶U ·Ïý*Z)^,ùRú±lêüË OÊG/_¬¬ª¾ßþÚ¾xgéîÏ{+kk]kÝë=ë÷×{×ûÖ¬ö¯<\ø1ø}èëðçGŸFfF§¿›òdäéÃg=ÏïN4O6¼¨~YþªèuΛô·GßENùO»¼7Qý ü‘áø´0;9×;ãsé—´…ˆ¯nߌ¿+. ü`Y¢Y&þ$¬V k„uÂ/Š ü&n »ùÚvùÿGëØ Xe® 9¹C3HzÉ™‘øA €5öj˜0œ íð½ø”€ É6E‘LS˜;à BÀŽd”Uพ€`ÂC ¤dˆ‡ tè"Ô=ƒ–`:Xv„à+ðSÉ顪Q3HÖæ‰®@ÂHa¢1]XJìì5„sÆÝÄSãCð# %ááјØHÉE™A¹JåK5AmNÝM£NÓL«@ÛD§Lw‡^~ˆÁaŠ1Œñ7Óf!æ»,Ž,ˬ¹lŠl/Ø9Ä8Æ9㹸†¸£x¸yyð‰ó½á졀 ö ¥ŠàDD³Ä,ÅiÅŸHKzIIJ­K?”)– •3ç’ßPx­x_é†r…J±j¾Z®zžÆ¹}ç5«µš´{u&tôÑÈÚV1²53É2­36ÿaɶßÀŠl]i3aGmoâìxÏiÕEÒÕë@Û ;ä¡îãÕì½ê£î›ä7ÀèÔB6.q–ü+Ê'zü°~lkœt|õQÁcU‰BI5'$R®§)¥ßË0ÉœÈ<õ;§ð¬\îh~D!Ó¹{Å¥eO/ä]t©¬üyùAuYmL½Ý5…ë,7vç›&[†Úî·÷ÜíïxÒ5Ó³ÞG×/5`9ñ¨x´oìçSÑç“Å/Ÿ¿a|g;;óäËœÇ纅ï–?ª–wVÝ×»6E¶Ïþù~`Â? @ Ñ78„è ™ ÑÚÀCð|[ $©  ŠCT«P?ô†a~Ø‚óàøŠå€:…êG£Ðºèdt†ˆ±Å”af±JØTìNw÷¯†/ÂoPxP< Èʈb,ñ¥#å*5ªj!êrNšRZ.Ú :1º&zúQw†oŒÇ˜h™*™Õ˜ÇXBX ¬ul–lËì¥FËœ—¸¬¹v¸oðxó2óó¥ñë nÁT!saFáw"õ¢‡ÅtÅ âã%’Þ¸ï—)’ –Ó•g“ÿ©0¦Ø¨tN9Qå*IÍMÝYÃyŸ«¦§V€v”N²nž^µ~‡Á„á’1•‰¸©‰Y y–ÅMËVhky’í9»¼£¡Ó çn—šnqÛÜ×<Õ¼Žy÷ùÐøºùÕûÿ´ ªÁ„z„Ý gŽˆ$?Ž’‰>³ëväA¼|BÅ1ÆãIPòÑ›©GÓQ'Oe²gÕÒ<ýôLh.E^myá¢âÃÒåó•å—ð÷ª¢®HUÏ×ÖÖ_“mX¿ÑÛ˜ÛäÓ¢ÑÆr{ëν¹Î=¨^ÎêÝ“†ëG&ÇO´ŸÅN4½Xz-õÖgªð}߇¥YÞyÛ/i_;¿o,©ýLX½ÿ‹jÓu»~fÀ Ä¢2™gàƒ(KÇÁiP®"*Ò0x¾C0ĉ!*‘%!šP4 -ÀX¶„Ép Ü/£PލlÔ}Ô6Zƒh4ë LfË€õÀ^Ãnã¬q—q[xGü- zŠ(ŠI‚á2‘ŠCœ¢4§lC”"j"u2õM Í2mí*]<=LŸÉÀÈPÎ(ÉØÎdÎôŽ9š…š¥ŽÕ„uží»û+ŽNÎW\éÜJÜx yÍù`¾»ü±*¿;ýo!„ä÷•bâ2â«’™RNÒ"Ò2£²WäåÝ´•h•QÊ›*ª[ê°q«¦ˆ–º¶µN nª^•~ŸÁ¬ÞXÜÄÜ4ÔìŒy«ÅÔ~J+ ëP› Û—öLvŽùNÏ]X]¸àöÞ]Ô#Üó®7äæsÃïïÐÄœò!ÌäÐÕZòáÈwÑf1m±bGÎÇ3&œ>F<ž•DœŸÂ•Z—®vr0Ó#kõÔÙé3£¹‘ùì½ç"ŠùJž•e]0¸]ê®L½lQÍRó¡®åjfƒ÷ ÍFÎ[ÛÍ3­Ã·Ûï\»WÝYÓ}ó~gßXÿÜ j˜oDÿqàxÞÓ®ç?^½r}“õ®ezræç'ª9áϺ ß’//=ú¹¾&üËy3{»w—ÿH?ùÝè J=D~|»³³, .€ÝïÃfÅÎÎv%’l¼ +äý|×K @gx7“¸[þçõ_ȧQB±¾ís`IDATH c\¹rå&š 6šæ° û ,, ™K6{ÕªUp½4÷Á¨ð°ÆÅ "\! "xPàbŒ®‹<(p1hD(5rM„ËE¤ŠÓÜ4·O‡,>FØIEND®B`‚./chessx-1.3.2/data/images/square_red.png000644 000765 000024 00000013475 12074576333 017762 0ustar00nistaff000000 000000 ‰PNG  IHDRàw=ø iCCPICC ProfileX ­XuXUÍ·ž½OrÝÝÝÒ]Ò)R‡.á" ŠRRŠJ)*R¢R‚H‚6ˆ (*‚„„Üß•ï÷ÜçÞÿî~ž³ç=kÖž=3ïÌ^³^X¼ÂÃC`ZBâȶÆz¼Î.®¼¸×€hðZ/Rd¸®µµø?¯ÕçÚ­|"µÛÖÿéö¿WÐùøF’€¬‘joŸHR(‚›_")œJ± Ž ßÅÎf$#Dðî{ýÿÁ‰»ØûœÿÇÇÞVñ©OéåEö€Ø„ØycHþH;ħ`éÃ|à›C°)ÀËVQÄG24ôÐ.¶G°¨÷´ãÿØËË{¯M//ÿ=üÏX'‘F†‡xùóçÿóÌן‹¹SFÛ™#%™³X’—¡Ý_àkºËÙ{x”ží_eº;¶?ö€h‡¿8:ØA÷/>d¾çæ½ßꯩÌý?ÏÆØ;ýÅ>¾†1ùíždŒÝž=.@ÿ_Ÿ /³]¾ÿôÁ‹Œ ÿƾ!Æ{ï ²ÞëgXÈþ½±ø‘ö||#ÿoT€½Éßv¢Èö{>~F¦íd“={xÈŸ5ý§ähÛ½yð sØ›C/ƒ½¹ÀxR”olÔn‡õ…!úDñê"«ÞW’×4Œ$-É+/+'v÷Ю˶öÄ<ú¯-»ú0Â×ø¿6ÏÚÜe¬ò¯M€€Ð; À=R49æŸöлÝÉØ7¢@ Èe t€!0VÀ¸w@ Áa’@Èg@(å Ô€k ´‚» <Cà1x^)ð|‹`lB„ƒ¨ ˆ â„ HR…´ CȲ…\ OÈ ƒ¢¡è”åB%Ð%¨º ݆º¡h zMCóд£`J˜æ‚…aXÖ…Ía{ø ìGÀqp |.‚+à«p Ü ÁÏà)ø ¼‚("ŠŇ’B©¢ôQV(W”ŠŒ:†ÊD¢*P ¨vT?ê j µ€ú…Æ¢мh)´Úí€&¡#ÐÇÐÙèt ºÝ‹~‚žF/¢c¨0œ Œ:ÆãŒñÇƤa 1W0͘>Ì3ÌGÌ*‹eÆŠ`U°&Xl6›=½ŽíÂŽag°+8Ž 'ÓÄYá¼pQ¸4\1î*®7Žûˆ[Çñ…¾’þ>ý ŠA€AŸÄp‚¡Š¡á##–Q„Ñ”1ˆ1‹ñãã"=“"“#S,S)Ó=¦)f³0³)sss#ósæ .]_– ––q–5VVV_ÖLÖë¬ÏX7ØxÙ Ù‚Ùβµ²½aG³‹³Û°f¿ÀÞǾÀÁÈ¡ÁAâÈähäxÉ sŠsÚrÆsVrs®pqss…ssÝçZàfæÖáâÎçîàžçaàÑâ äÉçéäùÌËÄ«ËÂ[ÄÛË»ÈÇÉgÂÍw‰o„o“_„ß?™ÿ:ÿ‚€ª€Ÿ@¾@À¢  ¥`‚`½àK! !U¡¡sBýBkÂ"ÂNÂé­Âs"¬"¦"q"õ"¯E©DµE#D+DŸŠaÅTÅ‚Å΋=‡Å•ÄÄKÅG%` e‰@‰óc’I5É0É É )J)]©©z©iifi édéVéo2‚2®2geúe~Ë*ɆÈVɾ’£—3“K–k—[’—'É—Ê?U R0R8®Ð¦ðCQBÑWñ‚⤃’¥RºRÒ¶²Š2Y¹Ay^EPÅS¥LeB•QÕZ5[õ¡FMOí¸Ú]µ_êÊêQêêß5¤4‚5ê4æö‰ìóÝWµoF“_ÓKó’æ”¯–§ÖE­)m>m/í í÷::>:WtfuÅtƒt¯ê~Ó“Õ#ë5ë­é«ëÕï2@dŒÒ:–¾5â7ò7ª7Z4V2Ž7î2Á˜˜›œ5™0å2%™Öš.š©˜5ë5§4·3/1o!nA¶h·„-Í,ó,_ïÚ¶¿Õ X™ZåY½±±Ž°¾cƒµ±¶)µùd+g›`ÛoÇ`çaWg·j¯gŸcÿÊAÔ!Ú¡Ç‘ÆÑͱÖqÍÉÀ)×iÊYÆù¨ó »K K›+ÎÕÑõŠëÊÃ>º)¹¥¹=?(r0öà€;»{ˆû=/[žO'Ï:Ï-/+¯ ¯oSï2ïE’>é鋎O¾Ï¼¯¦o®ï¬Ÿ¦_®ßœ¿¦žÿ|€v@aÀB ~`Ià “ ò µ`«àêà§ë¡øPÏÐÛaôaÁa½‡¸Å —O ŸŠP(ˆX$›“¯DB‘#Û¢‘ÃÊp´htjôtŒVLiÌúaÇ÷bébÃb‡ˆÉ82gw9OŠïIàKHJ˜>ª{ôÒ1è˜÷±žãÇSŽL4N¬I"$'=J–MÎMþyÂéD{ WJbÊLªqj}u9m"]#½ü$údàÉ‘ …ŒâŒß™>™ƒY²Y…Y[Ù¤ìÁSr§ŠNíœö;=’£œsá öLØ™çgµÏÖäÒåÆåÎäYæµäóægæÿ,ð((T,,?G8}nªÈ¢¨­X°øLñVI@ɳR½Òëeœeekç}Î_йÐPÎUžU¾q1ðâä%ãK-Â…•ØÊ˜ÊOUŽUý—U/×^a¿’ue»:¬zªÆ¶¦·V¥¶¶Ž³.§®®Ÿ¿êvõñ5ƒkm R —®3_ϺnDßø|ÓóæóFóÆž[ª·š„šÊšš3[ –#-‹­­Sm.mc·Ín÷´k´7ß‘¾S}—ïné=¦{9„Ž”ŽÎ¸Î•®ð®…nÿW÷ï?íµéé3ï{øÀèÁý~Ýþ·šï¨ÜTlRjVn~¤ô¨yDy¤eTe´í±Úãö±}cãÚãÝO ž _˜HÌÓ¬>lo9,9[¸¹xȼí|K<‚*BºÂÆ"ú¢êbJâ¢Ü’tRh©5é9™—²Ãrò •йJÉÊá*UMÔ”Ô¹5°ßöMhviÕi—èäèfêeègäæå盘˜å›Ÿµ8m™µÿ¤Uªõ ›¶)v'ìSR“’œ»Ä»Æˆt ;èîãAòôõ öŽ&%ùœö-õ«ö¿Ðø0h,øeÈLèBØj8*‚ž,©eísôðÙØê#íq#ñÓ KÇPÇiÙ“x“Nð§ð¦r¦±¦3ž¤É d¢3·³V³¿Ÿš;=óúÌäÙg¹OòÆóÇ Æ GÏ=*,~XÒ[ÚUv÷|Û…æò¦‹­—:*V>­zùû•íB-s@½ôUµk û¯;ßð¼éßz‹Üt¸9¾åXkR[ÊíôöŒ;YwOÝ;ݑәÛUÐ]ÒS~¿ª·®¯áÁÍþæ‡mwï u w=êéí||g¬yü꓊§çže?Ošˆ™ zqð¥Í+ƒ×*oÄßr¾£z÷{êëôË÷}37?”~LýthÖeNo^â3ãçí/Ÿ}mþvþ{êbØç%½e©Ÿl+˜•ÅÕ×kÖoþ*ÛHÛ ßrÝÖÿ-µÃ¼³³Ç¿4§£lÑBv¬4ÎFq‹SzSuÐÓæÑ2˜ÐÌñ,l~ì/8µ¸Š¸¿ð*òðçÔ 6 µ ·ŠÜ­+/”È’<&!í-ã k,§!/¥À£H§)-)O«1yjþÌê¹í„ý¤Ó ——^¹½vãþöà;×)»i“÷ª3Bh?üúøþÓàlã\É|Òç€/V Ê_¹¾¡¾}ùþt±ûÇ¥ŠåŸÙ+I«1kÁëž¿6Ì6µ¶ä¶…~³íPþþcQªh"`ŽoKq’0L)F•Dý‰ÖŽîƒã-fI–*6VöLŽE.îjžï|²üÇ „ª„þo‰5‹7K4K6J]—n¹*[#W%Q¡TñœR®r¦Ê Õ5²ºŸ†ë>KM-E„}]n=N}..C^#^c^nS.36sf ZKÊý8+ØjÇzËfÓvÃnË~ËaËqÓé—óªË’ë·ón¾så1éùÜkÂûéÏ´ïŒßGÿÙ€¹Àù ùà¹ÙÐÙ°¹C_ÃWÉp$}”`´rŒéᱡGâ²ãËꎶ"Ñt q(i ¹÷Ä”ÆÔê´²ô3'S3b3ƒ³f[Ò=­#r†ó,c.UE>¶U ·Ïý*Z)^,ùRú±lêüË OÊG/_¬¬ª¾ßþÚ¾xgéîÏ{+kk]kÝë=ë÷×{×ûÖ¬ö¯<\ø1ø}èëðçGŸFfF§¿›òdäéÃg=ÏïN4O6¼¨~YþªèuΛô·GßENùO»¼7Qý ü‘áø´0;9×;ãsé—´…ˆ¯nߌ¿+. ü`Y¢Y&þ$¬V k„uÂ/Š ü&n »ùÚvùÿGëØ Xe® 9¹C3HzÉ™‘øA €5öj˜0œ íð½ø”€ É6E‘LS˜;à BÀŽd”Uพ€`ÂC ¤dˆ‡ tè"Ô=ƒ–`:Xv„à+ðSÉ顪Q3HÖæ‰®@ÂHa¢1]XJìì5„sÆÝÄSãCð# %ááјØHÉE™A¹JåK5AmNÝM£NÓL«@ÛD§Lw‡^~ˆÁaŠ1Œñ7Óf!æ»,Ž,ˬ¹lŠl/Ø9Ä8Æ9㹸†¸£x¸yyð‰ó½á졀 ö ¥ŠàDD³Ä,ÅiÅŸHKzIIJ­K?”)– •3ç’ßPx­x_é†r…J±j¾Z®zžÆ¹}ç5«µš´{u&tôÑÈÚV1²53É2­36ÿaɶßÀŠl]i3aGmoâìxÏiÕEÒÕë@Û ;ä¡îãÕì½ê£î›ä7ÀèÔB6.q–ü+Ê'zü°~lkœt|õQÁcU‰BI5'$R®§)¥ßË0ÉœÈ<õ;§ð¬\îh~D!Ó¹{Å¥eO/ä]t©¬üyùAuYmL½Ý5…ë,7vç›&[†Úî·÷ÜíïxÒ5Ó³ÞG×/5`9ñ¨x´oìçSÑç“Å/Ÿ¿a|g;;óäËœÇ纅ï–?ª–wVÝ×»6E¶Ïþù~`Â? @ Ñ78„è ™ ÑÚÀCð|[ $©  ŠCT«P?ô†a~Ø‚óàøŠå€:…êG£Ðºèdt†ˆ±Å”af±JØTìNw÷¯†/ÂoPxP< Èʈb,ñ¥#å*5ªj!êrNšRZ.Ú :1º&zúQw†oŒÇ˜h™*™Õ˜ÇXBX ¬ul–lËì¥FËœ—¸¬¹v¸oðxó2óó¥ñë nÁT!saFáw"õ¢‡ÅtÅ âã%’Þ¸ï—)’ –Ó•g“ÿ©0¦Ø¨tN9Qå*IÍMÝYÃyŸ«¦§V€v”N²nž^µ~‡Á„á’1•‰¸©‰Y y–ÅMËVhky’í9»¼£¡Ó çn—šnqÛÜ×<Õ¼Žy÷ùÐøºùÕûÿ´ ªÁ„z„Ý gŽˆ$?Ž’‰>³ëväA¼|BÅ1ÆãIPòÑ›©GÓQ'Oe²gÕÒ<ýôLh.E^myá¢âÃÒåó•å—ð÷ª¢®HUÏ×ÖÖ_“mX¿ÑÛ˜ÛäÓ¢ÑÆr{ëν¹Î=¨^ÎêÝ“†ëG&ÇO´ŸÅN4½Xz-õÖgªð}߇¥YÞyÛ/i_;¿o,©ýLX½ÿ‹jÓu»~fÀ Ä¢2™gàƒ(KÇÁiP®"*Ò0x¾C0ĉ!*‘%!šP4 -ÀX¶„Ép Ü/£PލlÔ}Ô6Zƒh4ë LfË€õÀ^Ãnã¬q—q[xGü- zŠ(ŠI‚á2‘ŠCœ¢4§lC”"j"u2õM Í2mí*]<=LŸÉÀÈPÎ(ÉØÎdÎôŽ9š…š¥ŽÕ„uží»û+ŽNÎW\éÜJÜx yÍù`¾»ü±*¿;ýo!„ä÷•bâ2â«’™RNÒ"Ò2£²WäåÝ´•h•QÊ›*ª[ê°q«¦ˆ–º¶µN nª^•~ŸÁ¬ÞXÜÄÜ4ÔìŒy«ÅÔ~J+ ëP› Û—öLvŽùNÏ]X]¸àöÞ]Ô#Üó®7äæsÃïïÐÄœò!ÌäÐÕZòáÈwÑf1m±bGÎÇ3&œ>F<ž•DœŸÂ•Z—®vr0Ó#kõÔÙé3£¹‘ùì½ç"ŠùJž•e]0¸]ê®L½lQÍRó¡®åjfƒ÷ ÍFÎ[ÛÍ3­Ã·Ûï\»WÝYÓ}ó~gßXÿÜ j˜oDÿqàxÞÓ®ç?^½r}“õ®ezræç'ª9áϺ ß’//=ú¹¾&üËy3{»w—ÿH?ùÝè J=D~|»³³, .€ÝïÃfÅÎÎv%’l¼ +äý|×K @gx7“¸[þçõ_ȧQB±¾ísXIDATH cü§&þŸ†€‰†fƒ¦¹,È>`¼ù™K6û¿º\/Í}0j<¬q1FƒWÈÀÅGƒ¸£A„+dàâ£A \ šãh¥+ìaâ ¸¥n"b‘IEND®B`‚./chessx-1.3.2/data/images/square_yellow.png000644 000765 000024 00000013505 12074576333 020515 0ustar00nistaff000000 000000 ‰PNG  IHDRàw=ø iCCPICC ProfileX ­XuXUÍ·ž½OrÝÝÝÒ]Ò)R‡.á" ŠRRŠJ)*R¢R‚H‚6ˆ (*‚„„Üß•ï÷ÜçÞÿî~ž³ç=kÖž=3ïÌ^³^X¼ÂÃC`ZBâȶÆz¼Î.®¼¸×€hðZ/Rd¸®µµø?¯ÕçÚ­|"µÛÖÿéö¿WÐùøF’€¬‘joŸHR(‚›_")œJ± Ž ßÅÎf$#Dðî{ýÿÁ‰»ØûœÿÇÇÞVñ©OéåEö€Ø„ØycHþH;ħ`éÃ|à›C°)ÀËVQÄG24ôÐ.¶G°¨÷´ãÿØËË{¯M//ÿ=üÏX'‘F†‡xùóçÿóÌן‹¹SFÛ™#%™³X’—¡Ý_àkºËÙ{x”ží_eº;¶?ö€h‡¿8:ØA÷/>d¾çæ½ßꯩÌý?ÏÆØ;ýÅ>¾†1ùíždŒÝž=.@ÿ_Ÿ /³]¾ÿôÁ‹Œ ÿƾ!Æ{ï ²ÞëgXÈþ½±ø‘ö||#ÿoT€½Éßv¢Èö{>~F¦íd“={xÈŸ5ý§ähÛ½yð sØ›C/ƒ½¹ÀxR”olÔn‡õ…!úDñê"«ÞW’×4Œ$-É+/+'v÷Ю˶öÄ<ú¯-»ú0Â×ø¿6ÏÚÜe¬ò¯M€€Ð; À=R49æŸöлÝÉØ7¢@ Èe t€!0VÀ¸w@ Áa’@Èg@(å Ô€k ´‚» <Cà1x^)ð|‹`lB„ƒ¨ ˆ â„ HR…´ CȲ…\ OÈ ƒ¢¡è”åB%Ð%¨º ݆º¡h zMCóд£`J˜æ‚…aXÖ…Ía{ø ìGÀqp |.‚+à«p Ü ÁÏà)ø ¼‚("ŠŇ’B©¢ôQV(W”ŠŒ:†ÊD¢*P ¨vT?ê j µ€ú…Æ¢мh)´Úí€&¡#ÐÇÐÙèt ºÝ‹~‚žF/¢c¨0œ Œ:ÆãŒñÇƤa 1W0͘>Ì3ÌGÌ*‹eÆŠ`U°&Xl6›=½ŽíÂŽag°+8Ž 'ÓÄYá¼pQ¸4\1î*®7Žûˆ[Çñ…¾’þ>ý ŠA€AŸÄp‚¡Š¡á##–Q„Ñ”1ˆ1‹ñãã"=“"“#S,S)Ó=¦)f³0³)sss#ósæ .]_– ––q–5VVV_ÖLÖë¬ÏX7ØxÙ Ù‚Ùβµ²½aG³‹³Û°f¿ÀÞǾÀÁÈ¡ÁAâÈähäxÉ sŠsÚrÆsVrs®pqss…ssÝçZàfæÖáâÎçîàžçaàÑâ äÉçéäùÌËÄ«ËÂ[ÄÛË»ÈÇÉgÂÍw‰o„o“_„ß?™ÿ:ÿ‚€ª€Ÿ@¾@À¢  ¥`‚`½àK! !U¡¡sBýBkÂ"ÂNÂé­Âs"¬"¦"q"õ"¯E©DµE#D+DŸŠaÅTÅ‚Å΋=‡Å•ÄÄKÅG%` e‰@‰óc’I5É0É É )J)]©©z©iifi édéVéo2‚2®2geúe~Ë*ɆÈVɾ’£—3“K–k—[’—'É—Ê?U R0R8®Ð¦ðCQBÑWñ‚⤃’¥RºRÒ¶²Š2Y¹Ay^EPÅS¥LeB•QÕZ5[õ¡FMOí¸Ú]µ_êÊêQêêß5¤4‚5ê4æö‰ìóÝWµoF“_ÓKó’æ”¯–§ÖE­)m>m/í í÷::>:WtfuÅtƒt¯ê~Ó“Õ#ë5ë­é«ëÕï2@dŒÒ:–¾5â7ò7ª7Z4V2Ž7î2Á˜˜›œ5™0å2%™Öš.š©˜5ë5§4·3/1o!nA¶h·„-Í,ó,_ïÚ¶¿Õ X™ZåY½±±Ž°¾cƒµ±¶)µùd+g›`ÛoÇ`çaWg·j¯gŸcÿÊAÔ!Ú¡Ç‘ÆÑͱÖqÍÉÀ)×iÊYÆù¨ó »K K›+ÎÕÑõŠëÊÃ>º)¹¥¹=?(r0öà€;»{ˆû=/[žO'Ï:Ï-/+¯ ¯oSï2ïE’>é鋎O¾Ï¼¯¦o®ï¬Ÿ¦_®ßœ¿¦žÿ|€v@aÀB ~`Ià “ ò µ`«àêà§ë¡øPÏÐÛaôaÁa½‡¸Å —O ŸŠP(ˆX$›“¯DB‘#Û¢‘ÃÊp´htjôtŒVLiÌúaÇ÷bébÃb‡ˆÉ82gw9OŠïIàKHJ˜>ª{ôÒ1è˜÷±žãÇSŽL4N¬I"$'=J–MÎMþyÂéD{ WJbÊLªqj}u9m"]#½ü$údàÉ‘ …ŒâŒß™>™ƒY²Y…Y[Ù¤ìÁSr§ŠNíœö;=’£œsá öLØ™çgµÏÖäÒåÆåÎäYæµäóægæÿ,ð((T,,?G8}nªÈ¢¨­X°øLñVI@ɳR½Òëeœeekç}Î_йÐPÎUžU¾q1ðâä%ãK-Â…•ØÊ˜ÊOUŽUý—U/×^a¿’ue»:¬zªÆ¶¦·V¥¶¶Ž³.§®®Ÿ¿êvõñ5ƒkm R —®3_ϺnDßø|ÓóæóFóÆž[ª·š„šÊšš3[ –#-‹­­Sm.mc·Ín÷´k´7ß‘¾S}—ïné=¦{9„Ž”ŽÎ¸Î•®ð®…nÿW÷ï?íµéé3ï{øÀèÁý~Ýþ·šï¨ÜTlRjVn~¤ô¨yDy¤eTe´í±Úãö±}cãÚãÝO ž _˜HÌÓ¬>lo9,9[¸¹xȼí|K<‚*BºÂÆ"ú¢êbJâ¢Ü’tRh©5é9™—²Ãrò •йJÉÊá*UMÔ”Ô¹5°ßöMhviÕi—èäèfêeègäæå盘˜å›Ÿµ8m™µÿ¤Uªõ ›¶)v'ìSR“’œ»Ä»Æˆt ;èîãAòôõ öŽ&%ùœö-õ«ö¿Ðø0h,øeÈLèBØj8*‚ž,©eísôðÙØê#íq#ñÓ KÇPÇiÙ“x“Nð§ð¦r¦±¦3ž¤É d¢3·³V³¿Ÿš;=óúÌäÙg¹OòÆóÇ Æ GÏ=*,~XÒ[ÚUv÷|Û…æò¦‹­—:*V>­zùû•íB-s@½ôUµk û¯;ßð¼éßz‹Üt¸9¾åXkR[ÊíôöŒ;YwOÝ;ݑәÛUÐ]ÒS~¿ª·®¯áÁÍþæ‡mwï u w=êéí||g¬yü꓊§çže?Ošˆ™ zqð¥Í+ƒ×*oÄßr¾£z÷{êëôË÷}37?”~LýthÖeNo^â3ãçí/Ÿ}mþvþ{êbØç%½e©Ÿl+˜•ÅÕ×kÖoþ*ÛHÛ ßrÝÖÿ-µÃ¼³³Ç¿4§£lÑBv¬4ÎFq‹SzSuÐÓæÑ2˜ÐÌñ,l~ì/8µ¸Š¸¿ð*òðçÔ 6 µ ·ŠÜ­+/”È’<&!í-ã k,§!/¥À£H§)-)O«1yjþÌê¹í„ý¤Ó ——^¹½vãþöà;×)»i“÷ª3Bh?üúøþÓàlã\É|Òç€/V Ê_¹¾¡¾}ùþt±ûÇ¥ŠåŸÙ+I«1kÁëž¿6Ì6µ¶ä¶…~³íPþþcQªh"`ŽoKq’0L)F•Dý‰ÖŽîƒã-fI–*6VöLŽE.îjžï|²üÇ „ª„þo‰5‹7K4K6J]—n¹*[#W%Q¡TñœR®r¦Ê Õ5²ºŸ†ë>KM-E„}]n=N}..C^#^c^nS.36sf ZKÊý8+ØjÇzËfÓvÃnË~ËaËqÓé—óªË’ë·ón¾så1éùÜkÂûéÏ´ïŒßGÿÙ€¹Àù ùà¹ÙÐÙ°¹C_ÃWÉp$}”`´rŒéᱡGâ²ãËꎶ"Ñt q(i ¹÷Ä”ÆÔê´²ô3'S3b3ƒ³f[Ò=­#r†ó,c.UE>¶U ·Ïý*Z)^,ùRú±lêüË OÊG/_¬¬ª¾ßþÚ¾xgéîÏ{+kk]kÝë=ë÷×{×ûÖ¬ö¯<\ø1ø}èëðçGŸFfF§¿›òdäéÃg=ÏïN4O6¼¨~YþªèuΛô·GßENùO»¼7Qý ü‘áø´0;9×;ãsé—´…ˆ¯nߌ¿+. ü`Y¢Y&þ$¬V k„uÂ/Š ü&n »ùÚvùÿGëØ Xe® 9¹C3HzÉ™‘øA €5öj˜0œ íð½ø”€ É6E‘LS˜;à BÀŽd”Uพ€`ÂC ¤dˆ‡ tè"Ô=ƒ–`:Xv„à+ðSÉ顪Q3HÖæ‰®@ÂHa¢1]XJìì5„sÆÝÄSãCð# %ááјØHÉE™A¹JåK5AmNÝM£NÓL«@ÛD§Lw‡^~ˆÁaŠ1Œñ7Óf!æ»,Ž,ˬ¹lŠl/Ø9Ä8Æ9㹸†¸£x¸yyð‰ó½á졀 ö ¥ŠàDD³Ä,ÅiÅŸHKzIIJ­K?”)– •3ç’ßPx­x_é†r…J±j¾Z®zžÆ¹}ç5«µš´{u&tôÑÈÚV1²53É2­36ÿaɶßÀŠl]i3aGmoâìxÏiÕEÒÕë@Û ;ä¡îãÕì½ê£î›ä7ÀèÔB6.q–ü+Ê'zü°~lkœt|õQÁcU‰BI5'$R®§)¥ßË0ÉœÈ<õ;§ð¬\îh~D!Ó¹{Å¥eO/ä]t©¬üyùAuYmL½Ý5…ë,7vç›&[†Úî·÷ÜíïxÒ5Ó³ÞG×/5`9ñ¨x´oìçSÑç“Å/Ÿ¿a|g;;óäËœÇ纅ï–?ª–wVÝ×»6E¶Ïþù~`Â? @ Ñ78„è ™ ÑÚÀCð|[ $©  ŠCT«P?ô†a~Ø‚óàøŠå€:…êG£Ðºèdt†ˆ±Å”af±JØTìNw÷¯†/ÂoPxP< Èʈb,ñ¥#å*5ªj!êrNšRZ.Ú :1º&zúQw†oŒÇ˜h™*™Õ˜ÇXBX ¬ul–lËì¥FËœ—¸¬¹v¸oðxó2óó¥ñë nÁT!saFáw"õ¢‡ÅtÅ âã%’Þ¸ï—)’ –Ó•g“ÿ©0¦Ø¨tN9Qå*IÍMÝYÃyŸ«¦§V€v”N²nž^µ~‡Á„á’1•‰¸©‰Y y–ÅMËVhky’í9»¼£¡Ó çn—šnqÛÜ×<Õ¼Žy÷ùÐøºùÕûÿ´ ªÁ„z„Ý gŽˆ$?Ž’‰>³ëväA¼|BÅ1ÆãIPòÑ›©GÓQ'Oe²gÕÒ<ýôLh.E^myá¢âÃÒåó•å—ð÷ª¢®HUÏ×ÖÖ_“mX¿ÑÛ˜ÛäÓ¢ÑÆr{ëν¹Î=¨^ÎêÝ“†ëG&ÇO´ŸÅN4½Xz-õÖgªð}߇¥YÞyÛ/i_;¿o,©ýLX½ÿ‹jÓu»~fÀ Ä¢2™gàƒ(KÇÁiP®"*Ò0x¾C0ĉ!*‘%!šP4 -ÀX¶„Ép Ü/£PލlÔ}Ô6Zƒh4ë LfË€õÀ^Ãnã¬q—q[xGü- zŠ(ŠI‚á2‘ŠCœ¢4§lC”"j"u2õM Í2mí*]<=LŸÉÀÈPÎ(ÉØÎdÎôŽ9š…š¥ŽÕ„uží»û+ŽNÎW\éÜJÜx yÍù`¾»ü±*¿;ýo!„ä÷•bâ2â«’™RNÒ"Ò2£²WäåÝ´•h•QÊ›*ª[ê°q«¦ˆ–º¶µN nª^•~ŸÁ¬ÞXÜÄÜ4ÔìŒy«ÅÔ~J+ ëP› Û—öLvŽùNÏ]X]¸àöÞ]Ô#Üó®7äæsÃïïÐÄœò!ÌäÐÕZòáÈwÑf1m±bGÎÇ3&œ>F<ž•DœŸÂ•Z—®vr0Ó#kõÔÙé3£¹‘ùì½ç"ŠùJž•e]0¸]ê®L½lQÍRó¡®åjfƒ÷ ÍFÎ[ÛÍ3­Ã·Ûï\»WÝYÓ}ó~gßXÿÜ j˜oDÿqàxÞÓ®ç?^½r}“õ®ezræç'ª9áϺ ß’//=ú¹¾&üËy3{»w—ÿH?ùÝè J=D~|»³³, .€ÝïÃfÅÎÎv%’l¼ +äý|×K @gx7“¸[þçõ_ȧQB±¾ís`IDATH cüûËð?  ÍMs X}ÀÄz™K6ûßo#¸^šû`ÔxXãbŒ®‹<(p1FƒWÈÀÅGƒ¸4"” ¹&Âå"RÅiîš[$†XÇ{IEND®B`‚./chessx-1.3.2/data/images/swap-color.png000644 000765 000024 00000010717 12171025447 017703 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË CiCCPICC profilexÚSwX“÷>ß÷eVBØð±—l"#¬ÈY¢’a„@Å…ˆ VœHUÄ‚Õ Hˆâ (¸gAŠˆZ‹U\8îܧµ}zïííû×û¼çœçüÎyÏ€&‘æ¢j9R…<:ØOHÄɽ€Hà æËÂgÅðyx~t°?ü¯opÕ.$ÇáÿƒºP&W ‘à"ç RÈ.TÈȰS³d ”ly|B"ª ìôI>Ø©“ÜØ¢©™(G$@»`UR,À ¬@".À®€Y¶2G€½vŽX@`€™B,Ì 8CÍ L 0Ò¿à©_p…¸HÀ˕͗KÒ3¸•Ðwòðàâ!âÂl±Ba)f ä"œ—›#HçLÎ ùÑÁþ8?çæäáæfçlïôÅ¢þkðo">!ñßþ¼ŒNÏïÚ_ååÖpǰu¿k©[ÚVhßù]3Û  Z Ðzù‹y8ü@ž¡PÈ< í%b¡½0ã‹>ÿ3áoà‹~öü@þÛzðqš@™­À£ƒýqanv®RŽçËB1n÷ç#þÇ…ýŽ)Ñâ4±\,ŠñX‰¸P"MÇy¹R‘D!É•âé2ñ–ý “w ¬†OÀN¶µËlÀ~î‹XÒv@~ó-Œ ‘g42y÷“¿ù@+Í—¤ã¼è\¨”LÆD *°A Á¬ÀœÁ¼ÀaD@ $À<Bä€ ¡–ATÀ:ص° šá´Á18 çà\ëp`žÂ¼† AÈa!:ˆbŽØ"ΙŽ"aH4’€¤ éˆQ"ÅÈr¤©Bj‘]H#ò-r9\@úÛÈ 2ŠüмG1”²QÔu@¹¨ŠÆ sÑt4]€–¢kÑ´=€¶¢§ÑKèut}ŠŽc€Ñ1fŒÙa\Œ‡E`‰X&ÇcåX5V5cX7vÀžaï$‹€ì^„Âl‚GXLXC¨%ì#´ºW ƒ„1Â'"“¨O´%zùÄxb:±XF¬&î!!ž%^'_“H$É’äN !%2I IkHÛH-¤S¤>ÒiœL&ëmÉÞä²€¬ —‘·O’ûÉÃä·:ňâL ¢$R¤”J5e?奟2B™ ªQÍ©žÔªˆ:ŸZIm vP/S‡©4uš%Í›Cˤ-£ÕКigi÷h/étº ݃E—ЗÒkèéçéƒôw † ƒÇHb(k{§·/™L¦Ó—™ÈT0×2™g˜˜oUX*ö*|‘Ê•:•V•~•çªTUsU?Õyª T«U«^V}¦FU³Pã© Ô«Õ©U»©6®ÎRwRPÏQ_£¾_ý‚úc ²†…F †H£Tc·Æ!Æ2eñXBÖrVë,k˜Mb[²ùìLvûv/{LSCsªf¬f‘fæqÍƱàð9ÙœJÎ!Î Î{--?-±Öj­f­~­7ÚzÚ¾ÚbírííëÚïup@,õ:m:÷u º6ºQº…ºÛuÏê>Ócëyé õÊõéÝÑGõmô£õêïÖïÑ7046l18cðÌcèk˜i¸Ñð„á¨Ëhº‘Äh£ÑI£'¸&î‡gã5x>f¬ob¬4ÞeÜkVyVõV׬IÖ\ë,ëmÖWlPW› ›:›Ë¶¨­›­Äv›mßâ)Ò)õSnÚ1ìüì ìšìí9öaö%ömöÏÌÖ;t;|rtuÌvlp¼ë¤á4éĩÃéWgg¡só5¦KË—v—Sm§Š§nŸzË•åîºÒµÓõ£›»›Ü­ÙmÔÝÌ=Å}«ûM.›É]Ã=ïAôð÷XâqÌã§›§Âóç/^v^Y^û½O³œ&žÖ0mÈÛÄ[à½Ë{`:>=eúÎé>Æ>ŸzŸ‡¾¦¾"ß=¾#~Ö~™~üžû;úËýø¿áyòñN`Áå½³k™¥5»/ >B Yr“oÀòùc3Üg,šÑÊZú0Ì&LÖކÏß~o¦ùLé̶ˆàGlˆ¸i™ù})*2ª.êQ´Stqt÷,Ö¬äYûg½Žñ©Œ¹;Ûj¶rvg¬jlRlc웸€¸ª¸x‡øEñ—t$ í‰äÄØÄ=‰ãsçlš3œäšT–tc®åÜ¢¹æéÎËžwç|þü/÷„óû€9%bKGDÿÿÿ ½§“ pHYsD$D$@gÄTtIMEÝÖ­‰ƒ IDATxÚíÉUÆtqcLT QŽÈ†ƒÑqbˆ+T01FA£ÐÀ?ÁÐ´Ò ¦#ó’Ù„°!pp à “Âà@i”I‡¼ê¾Uõ†ªsÏ—¼Š{ow½ó¯àþú>Àår¹\.—ËÄp“"ò °[Uÿ)°Æ=À«ÀØä%À°ßöEàpØ£ª»¢4€ˆ,>ºUµ=ç/ßUø­X|¦ªÿö¾8ÐxñÇŸ$¿}9Çü!ÀÀ<Í2x˜Öûb›áâ·_÷*܈Ë,Ú %åTy< Ó“gõÿz@DîÈ` ÉÀƒïËäX °¨Æµ;‹? øÆèû2Ö¼Dd0®À3€‘F p,†XTpþÃɸϴDäYൢË-þ_ÀQë °°ÈßÚEd0Ú¨6ݾÖf¬ûGo\æn`°Áâ÷·_´–óA¸ji›ªþbÖ"rð×9Uµ.ZJ€€{½Î5µ_U4k€d‡o®×9U‹ÓþÀJ¼ <äu®©“À6³H Ï¯sª–¨jå˜<áu®©sÀº¾X0À"¯sªºUõºYÔúXÖ`EƒÚ¼ûÍj¥ª^1kEqècU×®UN€BÐǸ֩ê9³H ÏÛ^皪 }¬%@;}ÒTú˜1@}>ô:§ª#Ëà*&€CŸt¥BpèSßî¯b8ôI×I`«Y8ôéW}A 0 ‡>i:¬Í3±Jðmßtuõ}*myïu®©+Àʼ“Û¼û+¯•ªzÙ¬èóº×¹¦‚¡O•À¡OºÖ‡BŸJÀ¡OŸê–]¤ì àÐ']Û³@ŸÊÀ¡O¿ê¨Ç"eN€9„CŸžÈŠ¿_U÷™5@}æ? üäÝo+f}º€?ô©Œ2BŸËØ«¨rAŸ*%À4àÉÀ±ËUõjDÅÏ }ªd€Ðmßk@wdÝßúT¡ÏZU½QñƒNúT=B»?Ó>Ѫ"Чô‘g‡>[TõTDÅ/ }ªY OGdÝ¿^UÏš5€ˆŒÞ ¾WUDTü†>îÊ’Y OlÝ¿]UO˜5@òÉܳ‡ŸvDf€†¾ å¤Ï’zî‚U@ê}Ji€Ðg½w¿­È}–ªjLÐç°Å¬Dd٠ϪȺ¿³»V&€CŸtÕú”Ñ}ÒÕ­ª×Ì@D&Ï ú\¥Чl ðyปÄ}V6ú”Æ}úÔ }Ê”}ÒÕ0èS ä€>#*~]Nú”=ú¤kG#¡OË ú'>賸_´™ å¤CKÈ}6DÖý-{Ü5+fŽuècÉ¡Ï%ú˜K€,ÐgEdÐçM‚>­4€CŸt5 ú´Ä¡Ïš¡ÏòVm%é~‡>Ö @Ÿ7‡oQÕÓ¿éЧ °‡>ij:ôiªúô©–@Ÿf'@;08pìâȺ¿%ЧiH OèÇ»vFf€R=î‘s€¡ccƒ>Uu¯YˆÈ`¡Ïú˜K€,Чˡ!8ôéWªzÓrLž »Ü¡=d>Ë"ëþ–CŸ† >/_ã'}ì%€CŸt­RÕKf "OãÐ'M¥>L?é“® ªzƬDd8áÐgC{ úÄxÒç¸Yä8éãÐÇXÌÆ¡OšJ}êj€ú´wèc0ü¤OºNSBèS7ä€>«#ëþRBŸz&€CŸt]ÖTéÎc‡>éZVVèSˆÈú¤©'}}ÒUjèSØ ô™8|³C{ à'}ÒUzèSÈ ô™¸æU=Qñ+}Š&€CŸtí¬ôÉmŠC³†I€,'}:"ƒ>‡TuYä8é³Ñ»ßV̆®#ôÙlÖ ôY¸ŽCƒ 0‡>iªôÉc€ÐÿÕ#Æw«ôÉd€ŒÐç;Uý=¢âWúdM€,ÐçËȺu¡O°úô©ÀRK74°Æµ,Ðg‚ˆœ,Á}<0æ:ðgÁ¯³±ªÐ'È"2˜‘aþƒÉ« :VpŸ¢ÒÐ'ô0¸Ëh|kÁù;Uõgë˜høù}´à|“”óvŒ6Zü3À¦ó+}B pĨÞÏðÉÜÇÒýµ °Ëà=®PÕàûJvø.öºtÐ'Ȫú+°ÕȽõpë5çç˜{>ùõ&ð±è“eàMà+`n…ïë7à=Uý!çüÝÀ(n!n«E  ™ LžÆ÷—ø>.'ÿÌ;’¼¾WÕ?ò.&"C€q Tý™Ê‚BBZÏIEND®B`‚./chessx-1.3.2/data/images/text_clear.png000644 000765 000024 00000005374 12053226453 017751 0ustar00nistaff000000 000000 ‰PNG  IHDR00Wù‡ ÃIDAThµšKlÛöÇ¿$-™¤ž¶d[dÚÈ­ŠAœ¦]IQ$hvpÑ%‚M6 h°b×­‡õœÓ°ëî;4ÆPl—:ˆ»qP£hlC›nNÝ´NRÄmÓØ–?"‘ßä$eR/Û÷K²-~>¿ßïÿ”thi8ª:Žø›rùS§Óÿýu"±@¤Óÿ´„ñá÷¿ûîÄO€ˆFFެ¯ çeù2;œ‰s7V8uêtÿ‹/‚ ID¦?W*½¦XÖ¥o CD›L4 á»{{ñàúuÈwî€Íå‹Åö©T çeyz'%ÎqÜØS§NÎìßÊíÛX½v Ñxɾ¾lþáÃÑN! |´·+ׯCšŸ‡¥(° ,Ï#‹ GªÕ“÷"ŸAåά^»[UaÉ2º³Y$³ÙŽuvðŽmŽKU뉒Á{‘wLà˜fX¢RUL³I‚Ú ¼ã8€ãÀÖ48†–ã`Yá°(&~¢Ä8ÇNž •c¡¿qL¶$î A5Ö|;x€mÃRUW‚çgYá°$m[bœçÝÈïßÊ­[X½zµ žð®P&2™l¾Z I6pôÉ×_¯wØNðþsãáC¨KKˆïÚ…=œ8;0ð>€$¶0ÄŽóüXáÍ7OgöíCe~«W¯¦Y&„_?óŠõ‡eYì.¢ÑÃp‡t²KuQ.ÑÕÓuq±Þ»Ÿ• à8ˆó<ö8Ή³ssøm©ô€*Ü ¯=üÈ*·naíÚ5 y§}ÉhAÀPH¶À©qY¾w´X,D€6—ƒm°TuãÍÚɰUŽ®ƒå8·œd¹m95Á·(›Ææg%’JæyˆÅ"ænßžùÓÚÚ߬¨QœqY¾|d}]ˆÅb{Yž‡m°5-T6ðõôª*l]G,—s%jµ&‰üü¼ ï6p.!ï1tùð¥f¿þzæ÷åòŸ<° @ókÖ:/Ë—T*…x,&°<'˜‰FxÛn’pLs#ŠR˜¤iÆ8ÏŸ­×| òAèV%Dà«å2f¿ùƇ/(ؾ€À8/ËÓGªÕB"XŽƒc°= žðáƒÁrÊågá°¢N%¿Úwòä[uø+WËj‚®G?pu¥Ó wíÚ€/•|øeúYpÔK°¬Àòç8¨KK0+•öð^™’äB+Š{“P‚ 6à½ç>¼X­âËÅÅ-ÁûíšÀ˜åéò\ˆ3Œã8w}('€¥(ÐËehËË0>tÁýÙ• ÂI†ž“$‰h&fp’(n ~3°D­æö Žƒ£ë°j5X• ”{÷`¬®ÂÑ´PD[]dÃc’$Édê‘¿±Mø­4Kд¡iÔ¾ÿZ±Øv*ßFÄ÷ˆٽ’(ºðÅâ¶à·*–PÕmY“ÍÂ1 8ÞÛ Á¨7”N4““ÏCEÌÞ¿ÿ“à·#°!!IÓ¯d!‰l}ˆ Á{Bd@"X>~ÙTèp*ѦYª4A¨}‡¡ÿ•Wê«ÄÐLÚ¢îxÝÜL@y»ðÀO8"çù³{+=4„Ê­[ææÜåE4¢N’dýrT0MÄÐKÓCm›Ÿ”¤ *¶¹³Û–À8Ïí9vìtzhk7nàÁG¹Ãå&#N«¡ÔÑ4W"—Cš¦ /YÖS¼àv$¶,0ÎócÃÇŽîi„[ 4 „a 10€$M ‡l»pA·%±% üêX™š‚ãÁwŠ4yȆ øå/‰\)šZÖ¶$¶´‡–ÍÔT˲iqO  ¾!#u‰$FxÑ4 ·(ÑQ  ~r²ù–иH&ƒ.–…£i¡¹€ Ê5d‚°,$½L¼°E‰¶ã76|ü¸ ?;‹r›È·‰zã|$v7íšÎH03¦‰$Ç!MÓÂ󆱩DKqŽs#?<ŒÕÙY<˜šÚض÷¢ ¬mt]G¼¿ß]>ëúÆ„ægÂûb¡ë®Ï#Å0ÂóºÞQ¢I ïuØòäd(òê7'€PYøËƒjµŠÙû÷g–+•»½4=”ÈåÜݘ¦¹  ðÁ5E’ <‰Ç!ͲÂs$BçàK““@‹È·ÊB4›³{whmsI’¦Ú6Ÿ¢éB"—áK£xL2Aè:ËBŠãbágm$¨ ü?;‹’ßaÑ~UIá½ÔlxU¹4)I/YÖSIš¹Ãürj!A’$(Šr%¼>‘æ8¤FxVÓš$¨Fø†±±<@ëõ áoFòùvKâ õ‚$M²íBЦ…¸— Â/§Õ‰4ÃÏ4HPrÜÑÇ_~ù/™}ûÜÈ_¼Ø1ò~Ýk~“”À¸ ŠÓ-«¢i!éõ B×ARÔF騆RòˉôúD7I YþæßµÚ]i9N/EÓ¨Þ»‡33°79îƒ×‘ƒ›‘-l-Õß--½scaáüÊê*¢=†®ÞÞ¶ >Š¢êWE4 X†AÕ¶ð>¯£žíî^‰‹¿ 4­?‹Á¬V7&«6Yˆf2`óyÈ’´åÓ?EqúÓ,¤FHrœ[Nº^:E’ ½>PÏÀÊç!Öjø×W_-ümmíƒUË*©OE%l{êqY~eÙ,Ý×·!ÑB šÉ€„,Š˜[^Þî¶.ñ¼aÒ ¤_§(P j÷nˆµf¾øbáÌââ{wuýܳQ•àÜÔuY±íKC–5‹Å²Ý}}°‚™Žóƒƒ% 7·ß$ñœ®Ò,+¤8„emHø%IJèÊçQ­ÕpùóÏÎÜ¿ÿÞwºþ}ð~þ0jk¢bÛ—†Ls4‹eé¾>X¢X—ð#_“eÜ\^ÞôÄl;©€éKø‘W\þì³…3?þèÃ/Â=Z7€ðD¶!aY£1–Ívg³°ªUt%“`¡È2n‹ ß$ñ¬¦zXVHûåDõÈOw€oI<(§hOYÆ×ÅbðˆûQà›$žÑ4·œxT2‰ª¢àãpÙ4Á·K˜æhw$’UóåòNÃ7K¨j&IAÑ4üsnnáÌâbGx óÙhäX,6XˆFK¶ûk¥òkžÀNÁ ùÇlö—UÛN\‘å»w4m î‡-á7Ü/ZÄá~ æÀýT¤†‡÷€õîIP¼{¶]7ܳ#ÿüèÿþu¸LõÑ›|Ýæ׫¦š„:”IEND®B`‚./chessx-1.3.2/data/images/time_clear.png000644 000765 000024 00000061161 12053101561 017707 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aËbKGDùC» pHYs  šœ vpAg€€0á1šaüIDATxÚݽwœ$×}'öý½W¡s˜žžœÓæ]ì"çHL`’x"!RÑ’,‰§@ÑÒI¶Ïgû|'Ÿï££N|:K¶$žDžEJ`@ A‚A,ÀÆÉ³³;9u˜ÎUõžÿ¨Ø=³ $åj»§»ººúý¾¿ôýýÞ+Â?àM×u¦iZ¼³³36666Á8?”Íf;&èM$Sz(Ô©¨J’ˆE©ÀI $¤,Hi˪†Q¬U«›ù\n®P(,acueunnnn’1–ÛX_ß½|ù²ù£þÍ?è~Ôðf6M×IU”Xooo__ßÉþÁC‡Ž9•L¥:»ºÛ©t"‡…3b Œ@äüP   @B€ @ …aAXŒFCT+•z!—+år;Û•RéêÒի犅¹å女kkë—w¶· KKKÖzL¾ßíÇš¦±X,–>|øðuãÜzøè±;»zz&ú‡†:£ñxHUT""4u4êu˜†£Ñ€eš‚R ! ¥„”Ò"@"EQ jU…¦ëPT²P«Öd!·ÓX_]ÙÌíìÌ-_½òb>_øöÕ«W_^[[[¿tñ¢ñ£«·²ýØ N'9rüà¡Cï8qêúÆ<ØÞÙ™ÒC!&¥D­ZE½ZA£^ƒiš–å`D#¸ºHïÑÖxR:¯HiDXBxç"ŒspE®‡ …BÐC!ËB¥\›ëk»«+˳k+«Ïn¬¯}iiéôêêêÆä¥Kò­ýêþöcUUÙÈÈHÏØøø;n¿ë®=qò¦î¾¾v=f¦a V.£V«Â4–È×`ÎpEç Ã0!¥ˆÀs޵6ùÏaŸKQX¦ñ(µjF£áŒƒªªE"ˆDc ÆP)—ÅêÒÕÂÒ•ÅWV–—¿º¾¾þµé©é©sgÏÖÔcú½¶ ¨ªªŒŒŒ¸óî»?xëw~hüСC‰T:$„@­RF½Z…iž"3ÆÀ¸ιmòM•rYæw¶!M®V*– ƹT š’ª¦AQ †aÀ0 2ê5E…¦iM&¡(*çH··S8×Q.í¢¼[DµR†Ù0 !¡ª"Ñ"±$€íÍÆâÜÜ•ÅÅÇVV–¿¸¶ºvæ[O?]úQñµ¶)?t÷½÷~ì®{ïû‰Ñƒ‡F"‘ˆÒ¨×Q­”a H!A0ÆÁ8‡eY¨×jØÞÜ•rõjB"‘¡pDªzH†" A\µ =‘’¤I$…”R8 ¤$;8ÄÄÁ¨×©VÞ%’³,“jµ ÓC!Š§Óˆ'’Hg³Ä‰¡Z)¡°³ƒÝbF½ ‡Âˆ%’ÐtÅBÞZ˜™]º1qøÈ¸óZ¥‚zµ˲H€8c0- ¥bQn®¯¡R*¤Rm"žLÉHó­oÕ~TãÞºýÐJ¥âïzÏ{>ðÀƒýÚáã'NEãqµV)£V­Ba_”ã×Ë¥ÖWWän>BGg·He:×£V]@Tê¦l¦+lÇ“c11'F`ÎF`Däø|'´ýŠRºY‚ „BØ’BJÆœ$8‰z•Õ+»¼Q/ód2ÉÚ»{¨½³ë«+Èmo¡Q¯+*©"Ñr;;ÖÔ…óS—æÿj}mý¿NMM-œ?wîGžFþРª*:|øúŸzä‘ߺ去nïìŒ5j5ÔªËr:!,ävväÚò2jå2™¬ìêé·”pªšåZCÖ Br7æœ3‚Â98gP8³‰IÆí вLÔÅ£In‚Ø‚—B H!a –iZ,!`š–´„– É €0IÔʼ²›W -ÞÝ×K]ýĹ‚Íul­¯¡Q¯AQT$ÓmÐÃ,_]¬^<{ö¹«W¯üŸ¹Ü7_{õÕÜâââ,kø¡ •JÅß÷þ÷ÿìû>ôá_?tìø8@TÞ-ÂhØA²- [›X^\”$úúEº£Ç2Iµ •†¨Õ )lÛ@DŒ) ƒÂ© ‡ª*МG…3Œû€3Âóg^c}ëyö«ü¤ÕÝÙ!mð‘èI –B²-LÓ‚aZÒð¥aZR)$`ÖY¥¸£Ô+E%ÕÞÎ†ÇÆ)ckmÕB£ŽP8‚T&Ó0åä…ó+S—.þÍæææŸ-/-Í>ÿÜó”·û Ž;vì§öç~ç®ÞñáLGgÔŽê+$8W ¥ÀöÖ&çæ$„ÀðЈHf{̲k½T—†Q' 0F …ÛÂV8'MS¡k 4•CS¨ ‡ªppΈÙp};$Î9vK%ºº¶ÆªµšÔ.,fRHHxq‚ÛIí!%,K¸` ôd½a¢a˜Òà\DÛÈÙnT ÛÊËßþ¶šéȲñÃG¨³»W//`gkëËKˆÅ“tüÔ ½ÙÎÎ_?ûÊ™!=ô'Š¢>õ£ùÛuâh,¦ÜsÏ=ïüoã7ÿø÷¾ï¡X"©ÕœÔ °Í}¹T’3—.bcyCƒÃbøÀ1ÃTÆÖnM”ªuBpƈ©œ“®k,Ò( Q"†»Ç"!Іu éiªB¶ °µ<{aS}Œ€™…Ešœ¿Ìîºá2mIiÇD„@hs@äÑŽ{጑¢p¨*'MåÐNº¦@×RNŒ1W …cV$–4KÅ¢\œ""PßÈÅ Ôª”ŠET«´g;”þ¡áaiY7Ha‰¡¡áUUw7Ö×h.ám@$‰}ì‘G>ùçwþåÉ›n™ˆ†=²Ì6÷‹ósrêüY´%SòÀÑ“¦ ·…ª(Wë$$8gŒ© g!]£h$DÉhÉX˜’ñ0Å£!Š„u ÙθôÙì¿åÙúïd.Ñ33….Lͳ;o<)ÚÛRÒ¥†¥›4‘S0²wé† ni»MFDŒÙ1†m…¸m‘NĈˆsh‘„ G­•e,-̱¶Žê„D¹XDi·]×hpt,‹Ån®”Jéx<~9™Læ¯^¹òC ào{äg~æ~é×?ù;ƒ£ãô`™®Öv‹¼òâ ²\ÈãȱëÌDvÀØ*V¡\#!¥#x……C*Å#!$âarèë*4UÂ1/ ôø^_X^fàj9cD3 ‹tîÒ<»ë¦ëI% …ðÌ„ûÈçŒý—$(à"| a› bŒ‘‰T *çÄ9'¦j2’H›D̺2;ÅJ»E=xˆ¢ñ8Ê¥J…„e¡op(”io?–Ïçº9ãËÉdrëê•+o{}á €£ÇŽ ýæ§>õ¯~ú?óóÝÝá†eRöXó³ÓòìK/¢³½CŒ¾ÎØ5c³P–†)1⚪PX×(Ñ‘ŒG(™ˆP2F4¢C×T¨Š­éö¨{ñ;$@’lÓ-Ip}¸­¯D’ˆ3 WÙ¥™Ü~à ¤qiZ‚¼ ôcb’žÐApíƒôr¬ƒôÀá| #⌑ª)P9‡]˜d¤†""OÅÜ6çfX¶³‹‡†Q©T°[, Z.#ÛÙ¥ô ¨”K åÚÐðÐÊôÔÔÛþÀpìøñßúï~÷ßÿþ÷ N+¦vå•êµνü’¼:3#GOXÑö>c=_µÊÕ:ˆsΘ®)T­V˜®ugÛ(#Ö¡kŠÊ¹ ¼_É!Oðößhš½;´ ;D˜_\¢K3 tËÉ£‡ti³5Ø- ¸1€Ã’ÜóS=òbŸ}=Ò¥˜$­nl1ÆÑpˆΈsN\Qe4ž2!ÉZœ™dªªRïð(¥BåÒ.’é4é¯W+‡K¥ÒæèèØZ¥\® …_;~üاÿÉ?ù“÷¿ïáûÓ‰8Ò¡WˆawwW>ûõ'Ð(íÊ#ǯ7«66òeišcŒqUáÌâúÊ7¿ÁÏMO±ÛO—Éx ÷Œ¼Ü#dÇDK[(®ÐŒþ…s€°æ®Òу£PU†açŠÂý¬Ò l‰ r円Îu¸`ð€@D4½°Hü—ŸSBºJC`Œˆ»œçÐÃQ‰ÅÍŹY–ÛÙbŽ#M¡˜Ï¡´[@$¥áÑ®zµz¨ÏmfÚÛW*•JåíÁ÷ €cÇŽþôïÿþŸ<ü¾‡ïIŢ䎈°±¾g¾ö¢º.G_gl•-³Pª:g!M¥x4„Tèº)%4U…ªª}è#m‚PðÑm&%7Þ‘¥r™þßÇžbí¼ïþ»¤¦©p4_J§H)½Ërè¶"Úl#âɤ©*Š5uþ¬Ò38Ä’©4 ¹”KE¤Ú2”íì\[^«ª:›J§w~dÑ›À½÷Ý÷Ð'?õ;ÿ¢wp¸ÍÂn£â››xüñÇåÈȘ¥%:k¹’´¤dœ3i”Œ‡)•ˆ" #¤«P9wb.;²÷swI©Díé{»ewG;*·‰êñ>‡°÷DDîË͹¼£Æµzç/ÎÐÈ`¯]S¡©*9!I[,²YèÒ{AR—B¤© n:~Tv¶·93</^ŠéZrãSÄ“I“ƒ¬™©KêØ¡Ã¤‡BÈïl£Z)£«·G¢Ñ¡+‹ åX,6Ç+|¿´ñ›ÀÑcÇŽþÊ?þ?>vê† Ó0 A EA¹´‹§\f3Y‘è0Vs%iY‚)œ±°®R"¢t"ŠX4„¦B±‰zéj„GúÒc$ûzdOGÖyß5ÒM½ÒWmInŒ7/÷Žž Õë :i–†{ iR’¦©¤ª 1ÖäÉ79nþZÌ@ŠÂåP_L'~‹ ™hçb\@º@ ¸qŽM*"‘Lšf£!gg”±ƒGH b>F½Žþ¡Ý4ƒ«Ë+kñDüÊÔää÷U@zÃH§Óñ_ÿßüç÷¼ó¡wIË‚ÄFO?ù¸ kšè<`¬æÊ°,¦pÆBºéGsØ<î8`×%»Â·‡2H°8þÒdO·“ïiµça¹Q¹tƒ/7üd­Þ ‹“ó4ìX@’ªp-€ûý6ß ƒ}ÖÏ\À9i©ôªî‡| Á¥¬=ŠÚ9Ä pDH$Sfnk KW•ñCG¨V­¢T(Inm¬·ï 3ÙŽŽÕÅË—ßrPø†‚@UUé}ïÿÏÝ~Ͻ?!¥@½^ƒeÙ“(Ξþ®„aÈÁñ£æZ¡b¹Ÿ#|¤Ä¢!h®ðmÓê›ü_K¾0›òp·bCÒN[ø'?À%˜‚:§[MÈð”þÜ€€á±€-`°ÖÿbøWà2n‡ùds“Kp¾I LHɤ”œc£Uk•JmeqAŽ<„p4Šb>H‰[n¿ód"™ühG¶câö;îÐßV:|øú÷}ðC¿O&#•Ý]oÒÅìÔ%¹¶xYN>anëfµngŒl‚' ·€£©Ü¾ÝLãQ§Ø«ù‡ïEãŽäöÜóé•ì<ÜÈÀeëÙH Dõ f>Azj ÊO/{u§ëÐz@ÌnÒçÿ |¹—É:Ê@pH.)%—R*Šª²CGWç§§Í­ÍMô €1†­õ5´wvª×]Ã;cïèîîîzKÍ=ß©t:þ±Ÿþøo<4QÞ-Â4 !PÈå0}þ,>f•-ÅÜ­Ôˆ1Må,ÑŒ…(Ñ¡« 1²;î¾'B+Åî³ðžI—0­?‚oVÔVFÀ] àE-[ðê<ã0ëäÚŒ ±÷‚=Éœ£¥´›HìÏH,Cz?Eº¸“$¤$!%“B*‘X #cåsgN[ñdÙ®F¹Í 9~]ûàððG$äuÇOO½-x÷{Þû›ï¼óaË4a6BÀ¨×qöå—d_w¯àÑ6s«P–.à ëHÅ#ˆÅBÐ5ϯJ¸>OÊ–!o¾­nßvôóùøxdÓ™ì›î™a×ÔÛEšT{?é“®æ÷|ƒï+¹_&v4ØÉkš¬Ž÷»ùÀMrÜØÀæ ˜¸Réèê¶Òé¶ê+ß}Qö "O T,B×ß|ó‘H$òpH ;~ìMwx½.<8ðà»ßýké¶L¬Z){IË•Ëó ËBïи¹Y¨)%S8£PH¥DÔnØÐ5Å>Içû›©€æЏ®ðíÀÈ ƒ"ï¿`òîóþ{e¾ý¤Á35ÍPhB]ÐÝùâ;ø”Ò XÉ9Æ+5¹%Fïì^Òa=m p ÉGÇê»ù\ckc=ƒ ư³¹îÞ>íàá#ïRÜ2::–ý@UUºûž{9pôèõ•rÉžå´j/]^3sUˬ5l¿¯kNGÌÎó‡U‘ûh@PÜnÀ%}Íw¦Ïúl‚G¨O¶ÿ÷P“ÖÚŸñx1|3ãn.®®Ç?¦WnÐâ… ÔA¯iÀ |›r×$óz[œz£Y0H(š¦³á±‰ê¹WÎX‘XmíY4juìò8~òTo*•z¯ªªcwßsOø€ÑÑÑ#÷½óŸPUMiÔjžççdoWà‘”Y(ÕÀ1UU(Öˆ…(Rë*ûDûÍœŽÇáúÂocë°Ë€)Þkf©å3>yäÅ0ïäZ‚€Ä”/ ¸ï#8¯‹$÷%‰ <ÉžŸìÇD-WJ+F®«ô‚^RòLG§•ˆ'j—§§dÿð0T]C1ŸC<§CGŽÞ,„uk6ÛÞñ}@UU~Ïý÷tdâÀD¥\‚”Œ;Û[¨ì10zÐÚÙ­ !S8§°®R,B$¬CUÈÆ¯S÷áî‹+ÀµÛ˜|_øM"÷Â>×ìú¼¿„¯o­¦ßïîmpWìA¼øìMÐÊ»oøÇ6 p*TÒ =ûኴù$ä± ^3¢´=M-ND|xl¼~õò‚Y«7ÐÞÑË4Q,ä1qøp&•n{@cwÝ}÷®ì €ÑÑу÷<ðŽŸ`D̨۽û–Xœ›“##c¢*³RogœtM¡x4„D4]SàŸðrê}„ï½ïi½—ß·®3þ /šôÁÑrýr˰o¸ÔÜ&&¦Å†´¬)Ðx6q8âQ ,qû)Wã]ÝGÞì%bà~^ɤ”<‹ÉŽ®îê…×^•í]ÝÐC!”ŠE„Caš8xà”ÖMÙlö [=PU•îº÷ÞŽUÊ%‡ïßÞÜIö®~3·[• Må´½³MO>û,¿²²ì̾bNïò#Á“ÞKAOû)\@,nîïs¾>·†M¡@P“}íL‡ šŠ@À ô![ÀTM·$‚SÐÀsEíh¹CH5Ç2ö§ìvv©p†FàÓç.ñǾõ¼R©Ö“R*½CF1·c”K%d:º „…òn#cãéx"qÜu÷Ýo(Ø€‘Ñ‘¾;ï¾çCŒ3Ö°§NCHå+‹rxxÌ*™d5 “8gÒU2ͽpæöGÿ×_ðÏ}éq¶¾µíAZzÓ0[4ßU@ø6¥CAShøž¦IŸSõ I¾ƒav œ”ÈY@¢‰#hö^»Y04¡æ+sÏ~±g‚ŽÆŸ§àÁ(˜¦ÚóI)1e™>ûècüÏ¿ðeþÊÅiV«×  …ÃÔÛ7P›™¼$Û²Ðt•JÑXŒ‡‡OXÂ:‘N§ßPF°§pÛm·ø}þÉŸ3ê5Å4 0Æ‘ÏåPÊç0v踱Y´}¿®), ÑÈ@¯<2>‚|±HÏ¿ü*;75Ã81d3iÒTÕ‘Ý5Ì>Üô®I[áù¯äÓAúÃÞdpö 0 ‹fç¯ROW;…œj ª)PÇ}IßDùŸ”{N˜x쟿Á(h^| ™¼ªsÌÖNž¾öü‹ôw_š¯oïÐí§Ž‹¼ã^‘mKI0@$5f§•®¾~NJ…8WŽD ss»Dt‘s¾¾±±!Þ0R©Tüã?ûsÿÃø¡C‡JÅ íéTWæçd_o¿E‘´¹[©gŒEB%ãJÆ"Ô×ÕSG¡§#‹…«ËôÜ˯Е¥îëE<õJöž™ôÆCÒ÷þþDŠÇ¢Ò\áã-?XŸWñ•gìh0„ô-6d د;xtq>h­H\| Óo:º÷;$<6g*Mé„IÚÚÉS,Æ#ï{Hü̇Þ+Œ I®p’RøßáD‡ð¾þcmyÙˆÅ0MRJ ô1¢“‘H¤ëÐáïKö5Q‡‡} ½£££˜Û¤ck«È¶g…Åt«ÖØ%ƈtMA8¤A×bvMRJ)¤¤t*÷=p·|àŽ›¥®ëÞê\æùá·zòk ¿™ Ö©¥O¨õó>Ïã˜ƨéüM¬¾ƒr[|­ ø|Ùdܸ¤9]‘Î5»1„Ó88ø>IÉ;o<…[OáæF!6™‹Jß•H€Ec1+‹7V——ÔlW ùêµ*zz{ÃÑXìD¥\éÏf³ó—€òµà¡£­­-sêÆ› "{_©PÝ}ƒb·Ú€$UáiÒU( ÷ÐîÂ]Úóöe4‘œ1·ú'ýko~P^­Â–„êè%ð}¨3(n…зÒgwÝd,ØÓ<8ˆ™ ±w-Bpa)÷=<—sBßÚÉ&{ßD6x¹¢{é MSe$ò~‚s½’17$ÿW1"ÆúkËK"‘´—¦1Œ‘ºº{ÆMÓK§Ó)¼Îæàȱc'Ç&&Õ*eaq†Ònœ‘ E“Vµn€1]UÖU§ÐÜ«·+}A:Ôo~ Ò7ÍZ-á¯ÐáE*-Ñ{À)»Ì±§ÑÔÔmÛˆ0?ôö—‘ ¦›Ô4Ó,@\^È‹˜ŒùT”¿¡+kIÒª©ÞŒOœ§>!æ^Ÿ½p‘ï¶œù°£Hkko·ª•ŠQ®ÖO¦ „€zûú2œó#ª¦v:|èš?Ö#\‚º×̽øœ‹Û¦µÏæCÊÓ]WÞ¢P-n2`®¯nA3b#ÙL È•ÀÈh0npç4“C0òl‹K$ùÄUš®S¦=ÛX]º"Ó™v1õÚ³Y=Bôd³¡×@,K?yò.ÁhÔá®ØQ+—‘éèåš!‰ˆTEAXSIÓ—Lq0 ]í'·†€ ¼÷ö~+Ÿ/ƒœº?òä¹^)›bõfá»ÞüšKÔ 1~ xªí#~x`tͽ»zÈž[3:·ëŒäÞï‘BHØ ÁehE$î¥=ô„Gh5_›ú°"·à¹J/n–H!Y26õš)„Åݶ1"B{6Ûvya~ˆs%ÓÛ×·¾¼´´‡P`phøTOo_gµRörÿõÕU´µµKC2!„ Eᤩ 4MçÌ•O k"â`—²ZÔëZ—MšO¾ˆý϶Rn×~D®àýáóS0Ú •¦PBÚËÆØÙÝé.%ëh­¿öpÀƒÀ ‚¡¯#l—w ÐAr ÍÀp?êf nªk÷Y€HÕ4ÄâqcueU&’(ær–…öl6¢¨ê(c¬­­­MY^ZÚÓ<ªÀÐÐÐAUSC»ù@ã ª•ŠÌö ˆjÔ1…sèªÍ˜¹8õô¼©’»!vƒ¬ ×c»¾äZƒ› 1 €Å³MßëûU8ºî Ù]kв,éi¸”{.ÊUÚ §å Ù¶_òiÎìÏ4—§}‚ÉÍüáp–c”Ív¹|Nd'°5Æ`YÉ$é¡ÞjµÚ™J¥"ö ‘H$ž8q½6õË` 4j5Ä“mÖNÝ#»ð£k )œl;âî8·DB^L+[^´mû>Í"~Øp-ÍoÆ•ÿ)ø.$@5»mŒŽ–K Ó¨7ÒÒn¹ZnÏë²Ýœÿ ¼Ö¾¦¬€öâÕKÌJ‚Ê/ù‚m¾ûûí’ÎJ.5LDÄÚ²Ykáò‚ÀìõŽMhš†t¦­»´¸ØÙÖ–ŽÈï@GGG,™J†ÝëÏ9„àŒ$©º4+U{… {q$ØÓø¼þ÷jŠ’¥ÓyÑlùƒï·äÙA‰¿Aáó¬0$ƒz&½4SÝr…ݲ´¤”µzƒÂaápH2Îà®d+_€=r‡ß³èúh,¨Iˆ¾¦x7Í Àûw 8;‡z ­î$Æ)-Æ™¢i:Ê gˆ' Ó²ÚuMOööõ­¶ÆlâÀ‰ÎîîöF½f§œ£R.!•JK"„´ç­¹Ë°9óô¼ÈÞŸ›ç 7 ”îÌ-¿‚ÖZ^%4 Fûû _¶§9Å HÍ.û2›@bŒ9»¬kú5CÄl i¥s&íÕLÜïd¶B¤ëºŒF£f¥TB(ñ®;™L†9罊ªÄ3mm{haEUÕC‘h4Q+Û3Œ8çÈçvާdÝ´$ì†O¨ªΘë”Ü‚?¹íŒ ¼YûHldðogŒš„ïŽèþ› ÷ Þ ûE!„³¨£ Ã^íSB†i¢aÚ«J'¸³,?Š´³ÕÑ:y?>gÌ*¨Éø1FÐÌ£åïæ÷[­†ýR1xõ ¿– "Æ£h4j­¯®ÊL&CÎ ‘HhŠ¢t!B@Ómo”lGGç\7•¼¸¢@)õPH¦E ‚¢0¨Š½ôª#DÛ{”yQw³<öØþ="mâzd³fï/0 ÈÈ£j¤”–%Ð0 ¦Ó²‹î{p)%™܈^JáñþA!ºTÒÁƒ1<ܧ™¤M@è­Âníh‰!š€î“IÞ5QÀá±T:-¶wr2’ÛÇŽD#JZ–O·µ…T›pøÈ‘>"0®ù'Û¬¢%À ¤rFvîßé7oQ:ŒPS—ûzË`º­;ŽÁ¸®•ÒqA›´_JXRJÓ²`žvK×5Iÿ’@°Ó7òÁ!DàV2A˜³_"×}ðuÖ,|ÿcûY‚f¡{Çž7–À']šЈ'’ÖêêšT›¨“B@Ótè!=U.Ummmj«Ô”t[fBéLöd0 õj\Õ¤Õ0a/†h/À¼š ÔT›k1¢Áã÷¨¶luÁÛ|ŽæÎ=û|¶™7]m·#ù@»p ”ph€B¢á,lúðÏÞÜýõmÚtO¾îw ƒÐä*‚E¤ý´ÞË Áä^7Ðÿ{Æ­'„CaYÈíÈj½Æ9„eAáÑh,±[,% Ø =î’Ž8Ó÷ ,á…jÌY;ŸÙ¡?ùáœ=¨ŒZXréænBLþ§c:}Á¦oðS7iYÂñå&„Rº©Ÿ”¸AªStH8®éo…\°–ßÔä4å×ðñAA­‚—î¹ Xý„Þäöƒˆ÷Ï+ç'¯„‚¦iÒ^òœ1îÝâ&‡¥ ÚÓ'¨(Š’ÔìAŽÆ»ƒÈígöM˜Ü©Í­Ñ¾ÿ¬5'–­ï»@ð_¥ÀùZŽn2:¦%`F“àwreà¬Îs)%Ù«´4Ïøm1ø¾`Z„ß,x4åîM½|s¸¢© ¤ 4AA7³‚~obPšSLçÑ£&\ª€ˆ‘ªiÐt]2»½ Rœ1¨š®YB„Cz(ÜÛÛË–——½TP!ÆÃ"`cP5Mº”cþD ïRe€ùܹ9×%÷Óaÿð×~óáö-^ Ó„a˜°„ÕÔ*Ø*|'ès×äñ +)eÜkhhÀÜ7i2àTìÐ4IÄÅJS¿@ðÜŽ{h~PïlŠ \±6QÄnÈï£9¾TU… 7p¯CQ.…Ð4MÓ2™ -//{ã«#U Ëãz(,‰qIv~á”O½0Œ¿Û<•> äMµ9O8òk}ä7²‰pƒ;Ó„e iϯ7ëľ?B8&ß+ÃIøãê·ƒ5çáäJr¯‰vÁÀÜæx>8h%(ø^À=ìë󦧉Ú'=l.¹å×–ïv½cÐTUp¼a&ÀãRJUJÉ[UMá$¹Sôpj º®ÄqF oùuì¦eßÌy·Z!—gwÅmÓsoå]o÷m(BJÓh˜ŽÆÛ7y"ÿ¼v™Ñ«¶9M8Bø|½ûõŒšyrnóËkHÅg‘ŠGëÞà2bÒÓhw€]Á{ šõ€;Ø'6ð…`PãV$èj<#áXfGûAw覜Á öÝÔ¸¤¦{%8é‚”Š=ϰ iÌŒ‘휀ˆ`š&.ÍÎÓn©ì,¤ä£9ax º® CÁ+mÞäë™{ i Ã0aX–+Jò}»kIì µZ¦i‘%…—Ux=cœs†¥Õ üûÏ}™Í-¯ÑåµM†‰ûo½^꺣a;wÐ÷ñÌ^Þ0 E(Ùf«Ñt¬/ü ÉÅ5ïîØíÇpÆÀ9·UÉ1Ÿ+[45·`¯f¦hö)·¶ ÛÚdgG;†û{„Ó9$]+åÿ~×™H·»0€ÖœˆÁoR°£üµÍmú‹/|™K%âŒÛT&c`Dˆ„BøÈ{ÇŽyþvO¿O¨R†mîE èæÏv! ›×'ÈFÝ '¾ùZXZ…eY]º•‚‘ddw,[BBS¬ïähqmÄuˤç^»ˆ|‘’‰˜;/À+þ8Ê2¸qå oÏâ/ˆÉj, ¼3æf>ŽÔ8,'K²¯Ãþ•œ(@¨ÁN¯=|KÜzã yçÍ'¥.qõå§Ÿ£¿}ò4Ú݃x$Šôn?™HÐwf¦ðòwY¿øÈ‡­h4âÇ'›ê™wš}˦XNê »aA gêdG&MyÏ;-Ã4ƒâ£XQ8ûº!œ³ìùŽÔÔøaçƒd !†Ë;GS0rw]¼”€pB|)%) Ç-7“‡ŽÀ4-iš–ø !‰‘Økrä‹»r£¸ËÖ6VUyt¸#}=2 #‹ÈH8äi¦Ã#ö·ÍNf:qäÓ¿Ú'>ŽÉü¤0Û2^@#„pÌ/Á4…›ª1’–%ÜTMJ'6qÇÍn$‘6aã4•@JÄ"ai+Ë91ÎñÎÛn–ý2ƒ-."ûØ—Ù ðßAùù_ÀæÜEhü#Þ-Ó|·è³HžMôð€,/žv~T£Q AN$Ò5yêè׿{ñÓ—!ìAn­`yÂ#_ø.¤£>¦eI;­ ¬¥ ®"0­H8($œ\>“NÉT2£a¢Þpn)ë €7¯Òôž|BHñÙ¯>Å ôáÐ`¿T.‰8º:ÚLÅífW'âÏæ3L?{Žb?}J_²µ …þÏ?bø£+XOo ôµÎq Òs?n窳ŒˆC§ìCÙ )‘/ì’¦*2 ‘ÎTL ʃ#C¨MOÒå?üg,ÜÕOJ6‰XÿVÿæoø\*¡þƒ?0‚yËÒ8W%Ü;eîSW„@aO²hÔjDRÙnÝ$*íµlü# [LqT×5¸¨tY<›¯è9ȉú‚L¡ÓÓišÂãð A–%Ð0 Ôªu¦Ù2m«©<+{:Û1ÔÕ‰±þRVjuâ G±d—ƒëª ),\ùwŸaƒ¦(5~É' ‘¡XOMQþ7~•UÿÙ êím þ(d“Ÿæü^üàã³é<œ1„Ã!R8—š¦*OMbé§>ÌÄÒY±6ˆZál=ŠùÿügêÚnQÜÿ/ÿ°a³‚7ÍtÆšˆ,ØÍ×MP„eÕc û@»0Ò0 ")‰±æ‹ õàMÐ2âZ¾Í ] ×rïÌèB£Iõ=¦Ð]c×1•~;–»1TÎ!tŒ³@"öX%»äÍ$çœBºnšˆ„íµ tMY&ÿì?±õ¯#XwÕ»ßê€ß'všSJxÂnåì÷¸sÛ;ûæ—„Úä$&ú£¼<™ö,†>ùI(»%$o< ñ7‰í|gþãÐkŠb'Ž3Ë2½^J Ã4-"2‰H e<Ó4ŠDÔ!á78 Ë‚3ËJ4åÓ^Šç so(çþÜp8<¢ÝjezAÞÎÂJ²)hpÖÑs„î^_ð[ v ›tWxÀçÌ üŒ Zm@QD"!™M§`RɸlϤ s’§ÿß²é¿ý¯¶,äÍ:º>ô0ôTr'‡ô‡Þígž‚¸¼ÌÏþɧXê?ý™Åºº$O37à¿°Hî1‹AžÅ´Ÿ« ']×`LOÑìÏÿ,íÎÌ ‰â–ßÿ§hŸ8yqÙþýä?Æ™ÿõŸ¢^«àéÏü›HçÃ[c‡zòB ^«ĨADV«—Vª•Ê9¦ŒTM#߇‘t×gôË­eÞ5‡KÒ4u ;¤Ž¨‰ä`ºç¦s¾Æ{f¿å›ÜÁdöý=i7åÁA¡À¾«h8¤#“N¢a2™ˆ!™ˆÉoüëÿŸýì_‘fY0ˆážßû$“Iˆ™y€1 RÅÈïýÊ›XÿÆ7јž¦Ý_ý%Þý—ÿE¨Ý]M¾|¿´/DÏkâ|é0ÆÐ˜›ÅüÏÿ /^¢ îûŸþ9ºÇ&`ÍÌB0¬obôàa¼ï7ò/ÿˆFÓ>ÊÓ½}{èA€!,T+•#ª7ê c{k»IrüŽ»î¼§pèx¥T‚éö,Jå2"ሠ® F`!]%UaM±Ž„gü<ÂØ_iÙ‰ÿ¤aš0-O„ÍÂÌœq]Â~Âo…™7°î fÑ0bÍ]8ÎëRJzéì$ öt¢#“! áÑÿíf§?ÿ9&„€Ðtüÿü_a´= siæNÖæ°¾eeïÿ êkË(ÌÍÁØÜ$ãé§XâJ-ÓæÕNìGŹƒ©Â…ƒ+Šó·®ØŠbß²Æ5ýŠÂQŸžÂ̇>À ³³TÓtÜÿ/þ5º;{`.¯@Tk•*dµ±½¾î>Œœ8…'Ÿ†eaæôiTj5 ^w ÃĹ×^[5 ó»Bˆs/Ÿ>½G¶½µuY’sîÔÆ¸¢ ˜ßa gž€‚ìZpe/¯øæir³kR…O­Â÷¦MxÒ—^ê&•»`Í>Ht0B€ù£ ÖûVÁ›nåkš |ñ3ÿš}ûï¾ÈÊB@DãøôoýÆ¢ ‹W!7¶€¥È«+°Ö6`®­ƒ^;C¿õ»è½ï>"”§g°ü‰Ÿfæ•EçûýÙ?Œ˜Ç›¸ÕÆ&P©dç¸Æì f>ü!^X\„áŽOý:bI˜W—`–ʰvK»%ÈR ¢\±´„£© >ý[¿‹Z8‚Š”xáK_“ñ¨×j¨ÕjebTfŒ55ƒv°afs%d Žzµ Ι:ÓTŽºaÚ *$$'IA«îðòaÛ-]¹ ûæËvyÙI6ƒ5‚§8©›#'\´F¢äÛÙ½fßcß‚”µ/7Ý­7êxôÏÿ/öÒ>OªHGãøô/ü·8Ù–AãêâNþN‚¬”¡Ô8úÛ¿ѨcåÛ/ té-~ô§øðÿÞR»{@äŽà¹  Í ØíàÍtqõÂyšùÄÇ)ù2¬h 7ý⯢§½æ•E˜RBìW'…„(íâ–L¿ýó¿‚öÿ)vË»xê‹_ĶaHCXeUUKÚsB>48˜=xäÈ{…Gêµ4]G"AnsC¤³]† Ea¤ªÜ]Nüáp °oí]ÑH)¥aYnoA«çW4ѼÃ`)¼77•q›*sÍi‚ƒëQ´ÿÊ|Í– ïž¤žL_úügÙãûy‚eA¨þÍ/þnKgP_]…0LHÃØo4 J»P¶sÈ>üÔ®^FiyímTŸyš’½KªÉ¤§ÙŒù³ˆƒ¢û:sF²:y S?ó –¿x‘jª†[ÿ›_Co{Œµ ¢Þ€lûï†+—ÇDg7:††ñØ…s(›^›™¡j½^îììz*—ËÍ\Y\¬5 ‹'O} •N·WÊ%2X˜™FWw%ˆCጩvO5­¬ä }0Ð''r7œÖ,´h¾gÝ€ï÷üþë Í~ß'b®!|È‹–eÑw^¹H¯<ù(}ý«_¢²eÄð…_ýnTÔV× L{@a:ƒÛôØ€0ì]‹àkëè|ïQß^GáÊÔ76©üô7)õÐCRM¦¼kk¼kþýnàÚô.|ä'y~r’ÊD¸÷7>M‡±²£Þ€Uoøl¹žàuš;Û8Ü–Áøá#øÛ×^AÙ²P(Ú·66 UU¿°±±ÑÔÊûz{qìÄñ;ººFÊ»»R"™nÃÖúµµeL®ê’1bŠÂ‰5­®´C2™V³ð›·€»h¾Û¨Ùdö÷~UÍA£Àq-~ßõÁ®ÿ­Õêô7ÿæXüü4© t‡Bø÷¿ø+¸Ñ°P[߀°¤aAæëìÎû¦Q.ƒ¯o ãïB£¸Ò•+¨onRþ›ß ô;Þ!ÕtÛµïìÕ©)¼ò‡yanPwý¯¢Ã0 fÃ|c×cX¦3—ÇD8†ëNÞ€ïœ?‡„¨Ïâ‡J‘-i>ÙEUŒã‡ßZ-—`™Ú²¨T*°êuKµY’© gÌ›ÓìGòîP»=–Ò²sõÀÍÈ3ùAû@Àþ šÊÐ"h&[‚>j>P«Õð—ô^þÖw¨-–Æøø|òàF]Euy¢V‡4æëí†÷h[²\[YEÇÝ`wk õuˆMÊ=ý4µ½ëÝRK§SïMýöÜRéÒ%¼ò‘Ÿä¹¹9˜‘(nûà?B7SQ_[Cðèö¿óõ®'ø· ³XÀEÅÁCÇñüÜ4̺Á¢’ߨÀÔÈg+NMMY¼¼hmmn3†¢jšÑ(¡T, ‘JÑÎê ïb€åË…îÛ{A:y»–½²Iðn=Ïiìð„oÉ@‹¶‹ò›ZkAÓï¹Ï*À{ϾˆGÿü/xz~›>ùOþ{(š†c÷Ý‚îr•Ç¿f[ z 0Þäýš% •2´§¾c>ŒÓõJ3“°¦/Ñkþ ;õ÷ŠH_s¬`÷ÂzåãÐÎô4 =„»ÞóAôJ†Úâe4˜V fz [µ´‹wvvBûÈGñâzýÃêì¹ ¿ÿÄ«/lnÖþp&‡.^¾|vgkk3÷VË%”wwÑ34ŒÅé)&Mƒ˜¢ É„”ÞŠîúÿN~.…0…åMk^ÿ¿Åô6/â—…&Ÿx}¿‹àø}‡-–eatb\ÖËÔÖÙK (šTJ`Â*Uˆr °Ì7=â‹BèÙgqýÝá%ËBenµÉ‹ôÒ?ÈnþÒ—D¤§×“çîÌ4^|ä£T¸t‰êDxçû?‚îj ÕÍeÔÁÁ•³ß,&%¸«lÛ[èêÂp´Çn½ù|¡P<]›J¼X ¬®®.lomÍeÚÛ{‰ª•²]ˆFY©˜çÉö.Sº ¸ž#N‡*ô|w+bÝþ÷h×*xLŸ 2|ÍAŸ»µæûþ!®ßgM”ª]{C„F­†d*…|w›üíßû5JW9ÂO<ò¸)G-Ÿƒ,àv¾Ù·A@D½ð¼¬é—ÎÁ¸xŽÎ¿û!~ì‹Z‘‘a”/Mbò'ÞÏ‹³ó¨)*ÞõÁ cm •Bu""˜¿Á;Ô8¸”ˆÆx2‘Ƨÿýª×ÿ¨çnè™ø“èFˆ"EUê'º½V­À4 {½)iwg[d»ºMißèÒ ®€@àÖ\{iª$¸uI§nKȦ€0€k¥|û}ÍS¯žCþH)V5 âµ³gh~m Ÿ}áiðt·¶eÐXœ‡Õ0`™&ä[Ø­†Ó4!Mlu½GOb«^ƒV)‚wPøÎ‹ž˜À¥O<ÂëWæÑPC¸íއн±Êæ:ª–SÒvüø›Ù…i¦ nZPŒÂÑžhkÇÏ>ñwà ¢nÜ2vü¯Ú£©K‹[Ë3[fm£˜v‹»rbb<:vàà»EÑëµ²=½˜›¼D==½ST0‡I t“pÚ³¤?7Ý@`ÍØÄ’Õšî¹'VØ~¦?À³³8‚Œ›G°8ä¢(E#°H¢aÐã1<={‘– ;xfòzÂÉX ÖÊ2,£á òÍî–aï²Q-/¡ïøõ¨(êU„3}¤@§ü3ßDÍ8yÓèÉí ¼¶ŠŠi _šNúù&vá¯}½%Àma‹% U!h:3,MOjU|sz}GŽãúL;ª—ç¿»KË·,¨FI=Œ'Æñ˧ŸC½VEˆ±F2ý|®^ûÎ.äk`ª43î“­ÍM1<<¬ ½[×õP­Z…iZèÂÂôµgÛÍP8,`'vgŽÍ5Wøw†AœQ õ­€«ýMq~°vߪýMõu‡üqîJâ 9˜ïûn€š„ïÆ Š¢ –L! Œ£·§+—.‘¨UñÝùdÆáƶ êËW`šu˜^~ýævÓ2`X–}oå\‘ŽN \òÿ~»3—°[« jÔÞÒ¹¥i@ZË„b6ˆÆñÔàAüê™oCkÔW#–J}«`YÏ–gL`Új~ -“)öôöÜÑ;08T)•`4èèêF£Ñ@qgGf;;M‡×gÒ)LHoò@¨ÔjôÊùIöÌw_¡D<†t2îÍÔ 6v4O ôŸî§ý{'o°}L tˆ/.бð,‚X,]×Á8G&Ææü<5Êe¼º8އq<–€µ±ê´©û4õÝí8Ç‚i4@Õ Øì ØË§±;y»¥ʆñÎëž[šˆ'Úð|ß>}á 4£¸® =•š4uýÛ•jõ‰†aLÊ}„¿ åCfGÇ'î•ÂâZ B{O/Í\8O]]ݦªéÒžs'Ý»Z`ZM_¾B}óyöÒkHáœÈd<!‰›×òûž(Áeƒ6÷5ýÁh¿Õì3;P ßþœ=•*žH"ƒ1†t*…ª—Kxþòº‡'p4†µ½‰š”¨ÃN÷„óøF÷º0kUÈü¬äª-ã-œËt>ÃaOõ'Rx©{ÿÓì%(RÑ(´LfS†B/k‘ð“…|þ¹ªiî)ï èïï+wõt¿£½£3S)—Ш×ÑÙÝ‹\n‡ê•²Ìd;LKÂ]–¤¸ººÎ¾úÍçÙ7_8͆A7Ÿ<&ßy×­²£=íkÿ5…¿ï°z®¶{Q?óã·ÂçGý®+hM›3`Ì^ù$O@Õ4RTét ÓÓdÕjx~y½#p"Fmg Ø«.×{¶jÕ¿Çë%e)P°Wix+çq—ùbRÑÎ÷ â]˜kÔ‡Ñvà@cWX“áxâi=ÿÊôââ6^gÛEUóÙööá‘ñ7FêµUA¶»—¦/^`]]݆¢ªRJÉ#º83ÏþÓ羨¬llÑÉÃä{î½Cœ84.#!_~¨ßýQMÅžk~‡±=öÌþ5v¿ià W$Ri„Âa¨ºŽŽ®nl^¼HT«á…•«H ã†DåíM”˜oa¯92Þâç-GëUm‘&û†ð‡ó“Ð ©X ã÷Þ‹•baƒG"ϵõtuukûÒ›ºa¬¯­YƒÕ®žÞû3íÙd¥T‚Q¯¡»où|Ž*Å‚lËvÒ±À;ù•«5z÷=wˆ;n¸N¤“q—ñs…On³§¸FÔïj?ó„o¿ÒìûýÉ™DÔDø°ó϶ùF¬Ê5בoooßÒ5½x|â!,ªU+0Lý£c4sé" išK$-·ÑÓm –ÞâPÒ¿cx€) äŒÍƒ|ÿº×sÍŸûù¦làõÒDòSIEUI¦ i:MG²½¹K—¨^«azù*:GaT×±›Ûö¢ó¦¾Æ70ðò ¼GŽàð}þJÏ þËâ,¸Ñ@4ÁÈ{ÞƒÄð0(™”gggѳÑHôÅÍÍ©7¢ý¯ €ùùùÆØØh>ßÑÓßß^)•P«”O¦Îfiúü9ÊvuŠªJHÉdÀŠÞ*ßXL:ìa_íwÛ?‚ÚïòýASX2ÝéðuÓÁ Ð 7;¸fšÈšçœ#–J!€qŽt_ çÏQ¤VÃîÖ2G®Ã`8 ¹m+š¤¹s¯¾_­'QgOÅ’Èõâé…)ÄMѶ6t?ø bÃÃHŒâââåÝåÕ•#áÈ œó3}õ«oHû_Íf·9c±þ¡áÛ4MSª•2êµ*FFQ(Xa{ íÙÛHÙR·;È·þݱ<P Ñ#€kæýíwRÁà*¾çi2ÿ~N³éßû¾[„⊂p"U×ÁC2Ó†Æü™¥2j;[è~à]èM¦[[´LTðƒq @@@:“E¾g/ÌOB3 ÄÚÛÑvß} !3q›ÕŠõÒé—.±oG£Ñ776fM¼Áíu0?7g®1ÆŽ4ê5T+@JŒ9JsS“œ+–° EÒ] rfq¹ p‹Å´Ÿö{¾?çû‘¿Oñ6iSÞ¿Ÿö³¦”yM"Ί'ûPŬå‘+áDz$Î9"™,¬åê9réÛnEêç~Q©@»xUÓDxKÁ!à<1YÝ}ƒ°î¾Wv¶ÖB°4޶w¿j’ãã tÏ>÷ìF.·óíh4ú!Ä«O<þxî ÿ{4MËG¡J*Ýv{GWW¼R*¡R.!‹#ÓÑI“g_ãé¶Œ©ë!x÷¼wgòzþ?м8÷ l-÷6Mº–öïáûY“0¯øùkù¸´X"ßx€ (*"©$Âñ$P«¡zqŠz®» ÙÛnCxpüê¬3/¡X­ „7ž"R`w ˆˆˆÞ~ª'oDÛáãhE5¿vâb"ÜׇW^9S½pþÜ™P(ôB8yqzzjacýõóþ7 €ÕÕU922²Q¯UÛ†G®×uWËeTÊ% @QUve~ŽÚ2íãŠºÓÆ¥C;róÖ`ñJ@û`éo6 ~äï-ºŒ&SîšÖb °ŸÀqûó›VütÀǵµ5<÷Ë¿Ä “Ѹð*ÚÛº@ÿáߣøå¿ÃÕMÌÈÁfëÜ Á¥oMç5woÀg÷ªÎ^° xdæf0-¬ÏOcòKŸGiu ÕË H?ø VòyñÌÓßœB<Æ^h4ž}æ™Ê÷’ç›Ôkµj[[Û²°ÌÃÃãFL£j¹ŒZ­ŠÁ±qò9–ÛܤTºÍpn}ëk¾Ï㺖Àíqâ<§Á„š-ÀÑþæ®ß ö».í- ³×7ùAÉíâ%FØ™šÆçßû^]\D&ÅÛï…òÌ7°qáU,WJXr(a3š< Ùûi<9ǸÇrØ šî€:$Ìå«Èf²0cQ”·6a‹Ø:}¯–Ë›ÅâóÑhì;\QNŸ9sf½Ï¿Yù¿1är9d2™€BH×oèn«V˨”ìûN>B«+¼Z.ÉX"eºR ‚À[‡Æ“²”¶è¥}€ü9åÞ€f»Ë¦3Gû[˽oDûý㚘C/D|ÞaûÂyúûôVœ™¦d8‚c'o6;…+Ë‹X°ãhµt¬ÒòÈï³–cƒ pÓˆÀƆÀ ëXËçPÉç¡/, ÚÙùUžN}kueeþÜÙ³o8ð{Ó€……+›Í.õºìèî¾¹­½=T-—PÚ-BÕt ŽOÐåÙY.,ÓŠÆâ¦€àzrp €Kö¹À+í-ä³8k5´•òõ´ßÕòæ ¡5 l².°ZM¿sÜöÅKøÒÇ>ÊŠ/PVÓpÃMw@Y˜ÆÒÊä­î'è Àƒ‚¿ÖûŠ3`ÂÙM)•% M¥©(æs঩eWWûÕå•ÿç¿NM­¿á¿)ÀÜìlýÀ+…\.Ý?8t4)•r »Å‘ºú¼Ì ‹[ž×‡[ÆÐ>~o¡´eÁ\'Ahjá*J%jK&öÜ$ö$²‡j øZëDžË›rS“øÒ‡?Ìw'/Qç¸åž‡ .¼ŠåõT`ûoW`Aá+oàyÐìóÀ9‚»ëBrù*FGE#(moA ‘ŽV«w?|å) ð¶B¡P1™L^ÉmïôŽ88¡ª «–Ë( H¦ÛíîasS—FdF£1Ëm#w"j7Ew¢õéäçÄÃêÆ6}áɧYµZÇ¡Ñ!( w@BMåÞfíøþ}:ƒ÷›Ž<‡ë~Üé幩)<úÞ÷òÚÜ,:CaÜpç°^ù.V·7PƒÄì¨}?Áî§å´ÏëÔòÈ÷9Ö[°ÖW040ŠP:…òæ$Ð)w¼xâkv úö`yyYf³ÙÃhIss}ý#`‘ù62q0Ë9§j¹Œb~–ž8@ŠÂùå™iEáÜŠDccÞ³‰CÃ4ñüË縢(xèÎ[D4vPBn€ [-<Ú–ó¢ýÜ„ ¹º±Mç§æ(›N‘®© *ÌLãɇßËqù2²‘0Ư»ÆÅsØrº\³¯¶ùZ@hf@'€lG'ØG>hµ e{Ëc _Oø®ùo}îZ €±±Šl¶,ƒÌç`Y ¸ÿ]Àã}|ߨÚÚ’åR©ÒÕÕµ²¹¾¾¼[,ôwE¢V«T±[È£^­¢x„â©4_œŸSj•2¢±˜©(ª·¤*ç ©x‡Ç†Eg{›R:×gH¿ùnħ‡)(üàâL çxñÕ ìïžø&”ímÈ?Ïžþè?brv–2‘0F€¸<‡íí {Š6ö¦x¯'üÖ=ì ¿»ìƒ?‰êwÑ8¢;;à¹XRz÷-ìVÊí¨ïÿ pøX_ªš*¯nïX´²*¹a0sù*Â7Ü€08”œ=‘'X`r)ÔVk@÷Üçn7’­u¤Ú:@]Ýàá"= ôÀO„c_þ\¥T|[ëërrr²Ô‘íXäôôÅKë›ëk™¾¡Ìàè犂JyÅÜйTMEÿðe»ºùînQ½<7«æ··‰s.4]·TUŒ1'tÓÂ&k ‰1é”x¥sŒtAqõßþ;>pøzÖÿ©ßDä†ãàµ:êÿùO±•ÛA¾ÏßÏǫثñî#9ÂOHtõ¢qó-Xùæ×Q.— ã1D>öqð£Ç ÆÅFÝúÆ×ŸÜYŸ›[T¤XMT«IKÅÕËÐo¼ E‡²¹áÍÜA0AàÁ |6cˆÞóâ<ˆ_üeÄÒ]ù g­Ïv¾ö¶ÀÝ._¾ÜH§Ó;‘HôòÚêÊÔ¥óçF£Ñ14:ëîí#€<ò¨°³ "Boÿu÷0©¬-/i‹—xiwœq¡iªPUUpÎ¥ãœGæÁ{$9d£!Ãý}bé³ÎVþígÈxöy4¯Bèaäg§`kÐ]Á»>^myÏNÈ~´«Æ]÷`å+RµJ§ý…_;tk™ŒüÒ«gv¿ôØW&¯ærߎqv¦«R›‰6êÓšiN˜–ÐË Po¸‘X úê²7qÔTÐHì÷¹ œÊ qíXùy¬ëX{ìËrû¥çž)m¬ü™Öî߯põÊU«\©ì¶g³ë´¦æfff&/ã<3<6Îv÷Øtpµ‚ÝB¹­MÔªU¤ÛÚ¨x„2¼Z­ªKW¯hWæ•­Í V¯×Á9œq¡*Šàœ bLrÆ$cL¸ `D¦%E±„po?Ê“(÷øW©|úÛ¨VËè8rµeHËòL}PÈ­&?Hφawð†ûaÞrÖ¿üE”ë5(YD?öQ;;ås›ëõÏ?ó­… SS/2¢çñø J8òÜáË SÙÝbA6pÀ°D¸zeÚ‰ˆDÐ6Ö‡'p…Ûš…ïâ™t>Ž—ŸFesµÝ]KN‡Æþ¦¾½¾Sk4~h€B>/§§¦jœ±­T*uµR©\šºpþÊÌÔ$cD©¾¡áPGw/©š†F½J¹„üÎò¹ÓD[{–z‡©£§—[B*ù|N›ŸUÔµÕ¶½µI•J–iaY¹UŠ "ÁE(á°€a ÔÝ%*WÙÚò*Ëår0ë =‰ú憽ÜJ‹ðƒQ0ÐáëÃ0NÂöSO`·VëÌÂz×»ðZµÞøÊ¥‹+Ï-,|·,䳑Hô…H4ú¢°Ä«gççç~qñò³Û%'ä‰0jXV¤º°€ÐÉSkah[›€”^Šè¡Õì­B¼£ãqõ•ïbµ\C °tEyIK¥þ¦²¹6UÞݽP‘²ðh`I—úÖÓÓCcãã¡l6Û` ÀM]]÷?u꺣×ʤÛ2¼V)#¿½…Ji¦iDÐT¡HÑx‘XÜÒn [ëRX&µºÜ-$„”š¦ M×¥¦©’3’T©‚ÍÏ167ÇŒ§žâraièîéDßÐÖΜ†Y«îñõÁ s„Ÿ ô  qãÍØþƨìÑHıxüxã\µ¶=o‰™åtúÄb—t]Ÿ†ÄÂÆÆÆúÌÌLmueEÀY€q'­và`¦«§WÓC!2*å2ê• Ã¾Uœ”Â+sÎÁwn¥êÌT %$PÜ…5?1; öøWÁÎ_€F@[{½‡O`ç¥aUÊ{ü@„Ö݃ê‘ë°üÌSF5U1.¥Û.å¢Ñ©­dòÌ•®î×5}>—Ëm^KðÁí‡`”€ 8Å€_¶$¤¨èºû>ÄsyX/%)›@àj~8Ûè‰S˜~öë(Õëa§kÀ_šSðZØúiŸ3úñ@p;vì˜:84”ŠD"]¦eö›†9¦éÚ‘d2y``xd¨· Ó?8I$ÓLUH!` 4 †½ª—MËÕ:í¨Þ¼@‚Ê`a´¸íÑ¿›ž‰¶t ½GO"ÿòK°Ê%Oøqt•ƒzQÃÊ·Ÿ0j0^^Ž'¿S…^ÛN$žŸ‰Å_újµ¶vîܹ7µðð‡`Àuœp€ŸmŠª¡óÁw!²xæ¹WQUøËÅ„:{;|³ßyÅj’` àtøk¸h¯Ûiþ-ÜíСC,ÛÑN§Ó)US;„%z Ó ÐP(Åâ½½ýý=éL&‘íè g²Y5±P(dßIÌ«+Ø›·¼ŒÓzn Y,Àš¸xøâA“— J‰L&®£§P:ó2d1(€p<ô£>0„­g¿£V†ÉX1 µAô¢ÖK93—«Õ·ôƒLsèdƒàzN¸M?%2ºª!óлYX„uþ5”…@ €ÚÑð‘£Xùî Ø®”`B/5€ÏÀxŶ–ØwÆÐ5‚ÛÁC‡xGGG(•N%8cΕ6Ë2;MËê´L«]U•^M×;8W’Éd2•iÏ&b‰D8kЦq…3®0Ú©%¥4-!MâÊÔôË ràìkáö|^×$éêDǩۀo?5•úaŒ"÷÷ÿf¹i¡TaìÏ„gàeSc&Þ²ðÝmV`ÀIÜ àg„DBS4´¿ûa„.C¾zL솛°úÂ3ØÙÝ…A€¾kHüµLÀé°ùî=÷ õ·0n½½½¬­­MI¥Ó‘t:åœ'UU‰[–Ha%,KÄ¥I!DD–BhBJUJ©H)=bÍa -™‰zoo§ú …ÔÁë’õúp\W+$&-à¬lÞ÷:Âü™Hÿ ¶ååe±¼¼Ü€Mßç{ûzW3m²„ÐÚÚÚBmmmª©…C¡pXÓ4MJÉ%$sºg®’ àRŠz£Žmnô›œŸèÊÂOX›ÔX¾ýCBý±/AÖо!Íú_›À%¼*Ù‘ ð`Ô„1§à2˜ þLÓØÏÈF#ái°ü<ê«K°*e¨Œ,ÅÖö¿fÀŒÎ°õ½„ü@ë¶¼´,–—–ž¥·õöö²L&C€°ÕêI·íظº„ŸÊï$9pTr$ÄÏ[¹­ëj=ÆØÑ¨çÛ0×–6Dµö7–À« ¼`ú-|w5Q_P0ÏADRrXâc,Ëà¶Û ý`¤|I!|®Lð*¶îxC³„ÿ€×Ûkñ†Ž= àwrœW °þBT-˜ÛÛ'ÅNެõœµ[ü/Â0_áSCo“ðÝmØÁI’H‚Q8ò1J&Ò¢Z‘²^; Ëú<¦ðжoyƒÂ~HÅ HÛŸJà×Zˆ!Çt…H -“iuÉ­„µtù?ZåÂyY7Ï@bjÐz{…ïnŸ°~‹!Ï€éŠIŒoŠÕÍ£ÆüÜk¢œÿ¬¨— ‰3&°u½øÞf?¸ýÿÞ¼•현\ ‰ØY¦ë’"Ñ¿’…\…ôI2­W!0ÛÿC¾» X0® ÌœÂÈRÑ¢Hd –˜^•ÀÖ©7)|øÿ£¨z΂IEND®B`‚./chessx-1.3.2/data/images/training.png000644 000765 000024 00000024107 12275477077 017445 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË$iCCPICC Profile8…UßoÛT>‰oR¤? XG‡ŠÅ¯US[¹­ÆI“¥íJ¥éØ*$ä:7‰©Û鶪O{7ü@ÙH§kk?ì<Ê»øÎí¾kktüqóÝ‹mÇ6°nÆ¶ÂøØ¯±-ümR;`zŠ–¡Êðv x#=\Ó% ëoàYÐÚRÚ±£¥êùÐ#&Á?È>ÌÒ¹áЪþ¢þ©n¨_¨Ôß;j„;¦$}*}+ý(}'}/ýLŠtYº"ý$]•¾‘.9»ï½Ÿ%Ø{¯_aÝŠ]hÕkŸ5'SNÊ{äå”ü¼ü²<°¹_“§ä½ðì öÍ ý½t ³jMµ{-ñ4%ׯTÅ„«tYÛŸ“¦R6ÈÆØô#§v\œå–Šx:žŠ'H‰ï‹OÄÇâ3·ž¼ø^ø&°¦õþ“0::àm,L%È3â:qVEô t›ÐÍ]~ߢI«vÖ6ÊWÙ¯ª¯) |ʸ2]ÕG‡Í4Ïå(6w¸½Â‹£$¾ƒ"ŽèAÞû¾EvÝ mî[D‡ÿÂ;ëVh[¨}íõ¿Ú†ðN|æ3¢‹õº½âç£Hä‘S:°ßûéKâÝt·Ñx€÷UÏ'D;7ÿ®7;_"ÿÑeó?Yqxl+#ÞIDATxí} ˜\e™îW{UWuW/Ig'Ð@w €˜‚ *DPðQFz@ÁqÌÌøŒÎ½wÛçÞ;£^uZ‡åª4sAe‘pC£($¶N$MÒéôVû~ß÷?ç¯îtªª»–^êï§ë¯sêœùöïû¿ÿ‘j©B  *ª¨B  *ª¨B  *ª¨B  *ª¨B  *ª¨B  *ª¨B  *ª8 !`9 ç”wJ7Üó˜ß_ïoãv»ý˜ë’ɤ:ÚqÛU— óãI|pRÀ?n}~­Åfkˈ´ØÎ6L²Åéö´8Vè´ØÌ©§Õ¡d2¸%•ˆ«:tãLw*‘ØaKw&•Øñ/ëÏÚ®~<‰>N ø»‡žjµºÝ1™u6»cñc±Zšìv‡Q»=ªÎ€Õœº÷ã ¨ëSÉ”ªÓ£Æñ6‘ô–T$²í{»p§úñþ8a à«[_jKºÝí­Ýh±€Óg[m6…D|­Ã& .›Ùëœ!ðØ(c§nPB ‘’$¤Bˆ¦Òˆ§$ˆáxBÝ–N™„ƒh¤; l‘Œµë[ëWÄ0 &pffE^믧[6Ù\n¥Ë]^¯¬Ëå–Y.‡4Õ8¥ÁiÃÐñV1¦¨%‚Es~ž)fÒ!dÒ†nH‹qœ Ä“r4—#‘¤„L  …TK©XtGF2¡á-'’ qBÀ ýÑ?ËçßdÉÈ&§Û]OˆÛœ.±µø\2Ïe‡›F‰à‘‰Y$¤†Ò‰—ÑTFÕ1S÷³­á¤d~÷Ú-bȈŒª}Ð$8%^œôá_›Ž‘DRzãié F%˜HK*ãíF3éì uÞvÉÙ3Þ˜“þÌú Çûü³6‰7¹}>…x8½_\_#ÍàxmÌY-Ú,Ð yHb‚«Ù<_LÑF¡˜’@;%%>»Uê¬)i€Šñ‚àHû†ƒòv(!‰XTu ¡#:ƒCý3Y"•b Xæµÿ°}ϵ‘šE¼»Fæyì²Ôï‘=‹P“ã@øáxFúðaè2G1þí$?$QDUO÷pTÞŠ$$1ŒÈH`xóØôíµ«î¿µ©¿bÆÀ÷?Õ ëô64­#8œÐñó¼N9µ±N<œӭ@|œý$ïQ`<–%Ó§Žim+ Ž`ƒ”™cO˼»ŽÈª‡À°Mx ̈M·^1³<‡Eóès_÷Ô5tb®Ÿ4¸m²¢Á βñ†[GI>ÈÈ[Ѹ]ÁvF}¤á9°øm)™‹ñ F”jˆG c12<Ôñƒ¯ùÆLôŒ êzWMý wÛ_/vp÷ésš¤Å竱£õÞñÞI+ý>S8vÓML›ñ{2¶K÷Qh”X€vaf[$0¸q&ØÓN_úõK­6{f›ÛW«Œ¼f­¬ò»¤ÆmøíÔõApük¡”â|Åè#6BÌ)Ä XaCDÃÁ”XÖýpšãÓJ7Üýĵ5M]ŒËç“e°ìOkªã¡Xì6I@œvG2òçˆ|Q?œ`éôHàˆCO„ƒj±Q‡m¿íê‹î˜®iM|ù±—þŠ}“»¶"_¤m®_æ¸ípë O»:~w )£\ôé‚QEúÕnd:aD‘°j7J#îâ÷/Yõ·é¨ÈF¦…®ÿÅ·{g·s¬õ~9k–Ok\jèI8ý¯ñ‡µ9‰ÊqE˜g¨ÿH×O>uÑ_Nõ”§œ¾øë·[­Öv7T~-¬ûó4ˆ«w2Œ€ÊKC ¥ó§SÝ_Vd a1§t×>Ô6¥D`øVS4ûë~þÛÛáεsåÕ‡(Ú¹s|â âø­pRž;Çâ "ê8~'þ6×ÝõÛÛ§ª›)“_xxç×áÉu¸àæÕ!bö¾bGÍjµÉë¸ì ž¸†^9Ó’ nJ‚Ø$AF:nùHë7Êiw¢÷N |öÎǯõ6Îêâ f75ÉyskÅí6–o_JJV×Þ©%E%–£Ðˆ„úûÚÿãš wL6\&®»ÿ™V»Ã±Ã]W¯ÄýEK›¥f?;;âÒ~grþXÄjBˆG ÷0Š%„d"ÑöÓ+Þ³s쵕<žTøä­÷øýs–v#–Sï®kµ ýÒà52sv ƒóC'ç3D'œT l+4Üø Ð6ê<üfÛ½7^Åð᤽¼=)×øçv9j¼*·z~½ÔÃÕãòí{aô[â¢Ä‚ =,ÇJth@æ¾{µÔ/Z&%<Ð'Ox›³)aÅö1öútóïoù–¼±ýQ9ïs/-ç_,$抂ÿ@¢‹‚Ý£]ZCœøøØqUêxÒ$À5wmÿ2Vì:kgÉ¢:œ{J“óî¡´ìÔ^ì$î¾ñ2:Ø-v§[%„0oHO˜ -+/¾ «‡µ2øç}²à¬ó䜿¸IXFÖÙ@ÅöG¢zâ»ÿMöüú^Qœ ×äÌ+Û¥í×KÃ)K³ ¦Å¶[èúTÜÈ'ˆ…ê²pÜÃ̦;?³öû…î+õ·I!€+~üðâúÙówPô×74ÊE‹üâFÎÞ ~ô~)…)Z7oX.q0ãµɃ@£E®üÑi>õŒ’ˆ ‰äŽßßüÏòüÏo>¦»%|@¬>OVꆊ%u|`¨Ÿ.ñà`ßÛm÷î#ûH&E8ÄÚVO_~u³Wœû̧Ûq4’]Ö-vìhJ\µþ €^tÙýÈ/¤vÞBñø‹íReÎ]µæ¸ûöýî7rèå?a¥Ò¡ˆà¸ Ê8‘1óÒfmVõŽŒ¥ Í^TFÓ9o­x èÓwl½Üîö¬³:ܲ|N£4#™©sò\oTw˜@Qêÿé—^s…NxöI9üÊ®’ú„Øoó¼œÍGÀ™;ïý±0–_ê|rݧ`V؈ÿÈ}ä¿ÝS³Ž°Í9˜2NV\¤-–N$oŠ ¤õ®&¯0=âOGÂ*Mòg§–‚•Ü´bUöx¢_h0Ø+ ×\8Ñ[F®ÔÌÊM¤fÚ#¢6—§$3ÒÑñßÒ¤3IYÕÀ§P?T裢àã·þêZa-dó¼{Nƒ¸Ù;˜Ãáòû©X\ŽîÝSô´0‡Þê.9´ŒU á|ò•ÀáaæÜJÕ VFñowûñÏ1¶„q¾±”r¾¢vï åºç_ÞàÁ¢NJ^ˆ‚z3eÿ§  w?xWÑsLc«×Þ'~%ØÀQÒ2 zùÊÐÛ$™ŒÓv ñ‚ÒÄè»sÝaœo,¥œ¯\õÓǯu`ÿÍî‘UóáòÁßu4*ØXcpd7]”úoµÚa –ÅN”I±á¡’ú¦°lÝÇòv9°ï5.ebl! õõJ/ìçïü¡üüÓÈ/>ý>ùÃ-ÿÛÅ΀ÒÄbEê;þmNú‡[ÛBXçP‘?TÌ€~ê`ßn¬í.ñ×H/R£{àöÑR®Dé?ðt-‚$tG÷î;$ƒ÷IMóüѧ'ôÝîŸsæ{Dî½-çõ»îû¿Ò·w7ˆ+…Í!q‰ö)Û€’‡åõÇ7ËWAÜ%x!¼_ç:ƒTQµÅÚƒ;Œ3å}»)ÊkC>öýû/wûg}ÁjwÊš%s¤Áã”'{Â’ÂnåKU@1¾òðÏåðËÏ ¶`•4Ú@Ïi¹ðÂͣ¦H( Œ‹q‡T,É1(ýo¼,ž~,g¿™TR=ûeø­}<ôgÀQE úâÖ‚Ïùmì/ßX¯þ(9Ù“Nçú%ï¿tÇk¿¾ûUÝO©ue$€ÅÚN=åÀ"Ï|¸}{¡£ïWÁ‰‘Q[Z£Ã=Ý*jh†Xó6’B'•¾×vÉ¡ƒÜž÷zþ ÷æ»èÇ~ )ðWm‰|÷*ÂÀ:.@8³@â¶£*Û#(›.ý·‡ÃJÝhCxva½–¿]öôƒñͦµìâ¨K,ܳ?oõûDº¾Sb سN¤KX;oñqmé;ïú¼½óié‡8'×V²„޼­Ö-5ùÉüýAŠ¢X`aL€Åáñm$칩¼è`ÙF ÝéØHî$e®„ßÿÆ`>?‚=æ¹JÕŸJM¼Ô†VßúãSؼ9nl½{^ï¾Yïz¦âÈ×ã}ý7÷A%–ÂÚ€wk"¶ºýRë² Àá¬ig ÄëqK“Ï#»b¯,çR­ý\÷1"öÚÃ?+8ÇùkÖŠ «t…JïKÏJ3ÆöñúÞSrˆºP£;"Ë0^P¬7`^O˜òßjGdÿv—WN_ûè>Jù^løæ=~pxV«d^­KÞÆ%Krõª¢áQs’QcCE¾I¾ëX˜*T(Þ‡à Œ Á®üÈ5²è‚ºµ¬ß×ï•:§`ŒÆ2ÎÀqñø×JË,™,N>¤É FöÁ©L ¸ RS5Úa"æÀÞ— 6ºð‚Kñ;"fX/h:m ᓤ™]›ëÆÁî=<ü–Òѹ~w@g¯þü×ù‰„Hžº·n–w]ý%0'`2©ÅhŸ‹TFÁ¼.d{)Ý–¬‰RúŸLÃömê¤Éø§˜;ð_œÛ¼s.F µ±òæ¨m€áU˜§ÜÿVñ3“Cë—åÏGè}ñ†w1Ip([⢠€ üX:ˆ¥…ÁÞìòy;ýõ¦5Uê?…¥ÖÀÁ7 Lªž÷²ÏðÑ·…<^éyæ1؇'C¹ U§ ¬$&Ã9üìã²à}—MÈ}ÌÄ©<7Þú¸Ô1”LÈmPE×Vó¸Ô{ŸMfy¡„Þî>öôDŽ€pƼsËÊ«6‰ß÷n¹E?—;§M†uËà/ʬ3·7˰îº.uØ%òRTŸšu­áRGcÞGß~vÛZÙÿŸÿ¯è–| –Jˇ¯UäDTé^óÎÿhAˆÓ‡ävi|÷y3^ h8gkEʼ¡dЈ֯RÑI‹. V x®ùï¿Bzž¼ÜÖ^¿,»ò&™½z¸êgg¯Wv ¬{ÿÊÕÙsù¾ôï~îæAq7Í-Ú#È׿dœgtEÃYFå”’ »*¥@S÷[*äØ ºû_~zܹ-XµÌ9÷R»øtµb§ÑÑ7ZÝ>±a(U`ˆ×÷<ý°,Ñ9ýØØ2CKÖ Ð^˜Ö %Ž·d0ûׂ [gw2”8 }["8ˆÍ@¸ ?óοL|@>£’ùaa‘æ5¤÷¹ßÀ°dÖRîrj ƒ‡„q ºœý»Ÿá!q´„1OÍ= Ìçlü…æUè·2$7ýYÔ¾7vÀäFîc)·Êv?SÐ}£{Ç¬ÅæœPèÕ·è4i„g1ôÆŽ‚Ëa…ІŒ[-j ^< ?Ò¨eIa †…ùä½RKÉ€àÛ6¼šoî;;}¢Ôá¾è@¯ÔŸv® ìy&o+ÔÓv$¹lßy¯ÆËžºóÞÉÁ­wK|0zYlà0Ö—íj³@wÙŸ|xq„φ' JYäÂ+e°mîH‚KØÀÈ@½Éšì}ù¾è¹Ž®A¬Ûò]?ÞùÒ $ð5çë7eZ¹o0úw‹ÃUù¼Ži`­kUB‡¾o¼Ú›aõ¿KöÜöUi>çƒÒÿÒï¤דê6G]“8ð^ªÚ%gH \fµ·©µ¯Šiv&ñÄóŒ,­IÉ,·EíH˜UI²V¼ªÖ@¶"„ŒM’ê™i‰ã}„$‚Þ1”JI»Œ÷ÇœêET}i‡Jyå¨Å‰dr¼ùv²tû/P( ºÕA %€%“Ú‘ÁD¨÷X´õmѤYÂ`ô-ˆ÷¡7^Ї¹kp”½¶1Ûo?kƒÔXõ··(õÒ°z½,‡›È žäü ’Oœ sðHÛ¸íºàí,qGd‰uRšpÂÀf¾±ÄVRDÁç3x{™‚¿Ãcâ–u2Ÿ%1$°*ÉcDs:"~Œe.Ƶ;޹ÄÜ›tJ­AzÅ/aGÚ2æ†Ö RÝÇÏtbgJ&€þå³ÛÛ¾öÊjfWÚ:-× $7p¹Õ=k¡DíË;‹¹^)iGçÇç½0ÏÔó£×ÿÆã G®Î£ÊVùrº/%ïË=zÅáD¬Ý|c©–€|*­9Ÿ ó:ü$¼ % €ßI .¨‡dʦ¾kæâ½¾Ä, õÉ\l’ ¤…•®‘~ÏäcXäÅï}~;¯)¥”Lì »ñµm5I’YÂåRõé7ýHÂ_—îû¾cì ð’ÁÐXùkl]«À©èo¼ñúIyOC\ÖÔŤΥ÷=¸*®FZ—*FsiJ€4òù[ˆ† ’Áå4ÜxF0ãäpC [Ñ“8FqœT*!aÖqH€H8¬¤kæ0Ô†Š3þ’ [½ã¿ÐïeR¬·Ù’ EÚ:Í·9¢Ð rýF¿nåiý÷HˆxñI•éÛxæZ%!l5ÈûƒÃ1šKrµSι…Þ´\4Ï"«­âvÕ«¦¨ÓCq˜¯¦µñiX(£§ŸOQ¯¾£&ÒÈžV"ßÔéD´âp€xêöž†C»¡ãÛª0ÇëyèºlÀ†NÝtû€Óߨ¬$›Ûx Šå €ž„\¿ zlà÷3ªˆ.5†èÏÀ¨¿9E=¼¾Ò@<½žE<¾+Žâ©ß©÷#Ôíù4îÀá#ˆ‡¨‡Tñ0;ÜüË;Ô€&ù£l Àñ¥Ñ-©X¢ß-ö+DÒ̦M«WœA-ÂCø9ŇV²¸ÝÆ‹,œxÍ+‹ÎÖœ¨§qÎVˆ§Od“ãñpÌdŠÖ*B ù{&ÝÎFµ% kˆ‡(3ËtÙÒrÉܨ|h‘xíIhÝn˜0°_Fw ùf°†ß麑ë)æG#>e"ž›e’àv"žâœºþ{¸£Uƒ¯OÑOc ;‘Lul¹j8ÞÀÉÈgET›[±éö'à ¯c¼Åê4t©~¨:9ÍØÆ(›Z²¤Ö*µšóñl#[Q?‚xc9{,â©ßàxx“ˉø(8>+êè ž¦‹wýÒÞHŽ…ºmfÄNK,«éÊqXùÏÀŽÚ¨çSÌ㟈WA"Ï€Mþ½iÌ)‹_YõŠBƒ Îá¡ÎÇ|hŠÁp\w“lyÉÿþ„³¶q¿[͇%pó„*Óh 8±oñïÖ¸d‰œ_W«|uÏ(ÎׯÝqˆ7Eüñˆ'çkÃNwÇGðÒ'eÝÓ¯1ñ’hŠú` 4ˆ-ìÃÃ3ñR*dèÆ°dÙÍ¿ÇzUPsXE)Mw8šÈ¿~IÈ÷œoêvŽ‹žÅ„ q€l:áÆâ̱¯ =r>‘䯱4D§ÓÊg<ŸÐ ‚ã‰Îþ£½3 ñtÇ˲/þô DÖÙ¼¦-à2ܪér ¿vt¾Ï"uu†èw{@@¼^¥‹xú÷ŒÖQĵiÍ+އagZõDrŒÆC´J´;ø@0ŽOvöÏHÄk¨˜  µ#U¬ÛjY 5 ô•“__~J ÈGÊú&bU IJ†Ú>†ãG<¹ú‹3*ˆäCßǸHCÄSÇC×3ƒç‚šã!òñDWp8ÚñÈ#÷ïŸüY–×CÅ%‡sÊu?üºÍçïàw›¶†ŸÍG¾LE9¡U>»{üLžÈH 95#{\œÑ¢Þ@<Ä>Ý:eÑS·SĈ'Ç+„ê§ÁñôÛ«7j%Á¡tEC! þ‘xƒI!6ÞrS× p Û²ÆàÀ_Rþé·B¸ýŒðQÜsù–õ1ˆ§È‡HЈgmXõôåñÈxZõÐñD¼òç!þ¹:Çx>oÉxW`ðÄàxx]W\è†ááv«ÅºÃf5(Ì;‹Ý¤¹IZ-t!7ï¯OÇáä|cýÞXžåØ ·@„SÏkÄó»pwÔñ4îÔ2¬ÒñÇk¯bøÉ$8>pBq¼Æ®'M°ƒ…PöÚ¦~·ºŒÈŸù§Ê$¹…׬Lɚƴ466).÷€˜EdÇÚD6£Œ<ˆxåLjÏZõàråÇ›¡Û0Ý:èx"žÏ~ü¶P4¼éW›7ï4&sâ~N*, o¸u3:Ùh­12j¬Ü²Í‚|þJ—åþ¤|íp>¬|Æøµ@Ò$º¢áG랈Ç?j#\K7Ž)Xa•|idÜ@´«Ì›1:ˆÇ¢Nò ]¥áR¨½ISºS<¶©½&#Û@m<©¬J¹É£F+#ŸNDú>µ0}Œ\=E; =êw€jq†"Ÿœ1ç ¸š¡[.Ö°f‚†áÇ›î:D|4ÜñÐæÍÛGz<9¾Mº ˜š¯ùn«ÓÛ° ñznÔd±àÍ¢ª6ß„¡Êø¸´%-˜ŸÖó‰xÞµG"°![—ˆW~=Ý8 nšâxJ"\Yñõ*K¹sFb–oÁñᓊãÇ‚xJ€6ßxK«#ãØPº ’À¬Ýÿy¶ÅÓÖ¾ Ù»$fã*ëžüwÆçiÍ3rGŽ)?²5Œ¼hw8i?9~Ú€ÏþÌ÷®uúê»øÝâ4#„ؤJVO“]’K¹ÁùI“ó‘o¼|Šzª{ärÖÆº¼aÌñœ2ê@ˆÜQ:tÇb‘އ|ðcP'ÿgñÐ.&s¯ÿñµØ5Ó•%ó%Hú¥H ¢z ÷eE?R¹°ÿ†íÑšóiøÑÂçZ¼ÎȉEÁù\¤$à*¬ûîtüt/Í5ñ ]\´+ÔéœOÿŸËÅÝÐO°ÞŠ7b²h•Íè\œHùè‚ œ[Qˆ§¨'⺥À(u>ƒ93‚ÇHžJ½RÇGßQ?¦ÓBDóu·´JÚ¶ ná›@Àø™D^rÿÊ~%êð¡QÇB @£OEñ æ)êÃôëYÓÊÅáöM{2†ì4LpÞÍW³5ãðQ´Yt‘ötÀ[µUÉ8:¯þˆ¬›Å ÆökŠø‚>Jç3’î×!\ø‹ "+·3Îè:cÂSó9­À)6|ò›~lÔì²9½y<¢ ãP'gB¶óçcÊuÍ{¤yÝtóXâ1r>ù¦µŽ§Ñ‡mVƒ°:ÃÁá*â`±ט›+yØxõ·¿lkLj›hÚZh›À\C˜ï’K}Ý  Œ<®æQùÔý¦?ˆÌÎx¼Êñùpu<[å»r Î×C%Ø]ÊMl³˜«‡#k¦QhÀ¹ž7e¥¥$ŒGÖéŒöi±{p|¬3V9~¼Í(Ðc­ÿä7¿lµº;°œ\ϧ…¨b5ŸØaÀÇ}»Ä’ŒñÆkxtë1¬ÉGS[·ž8kòzÞÓQÏH hX¬®NØí 0Ù@^Sgé“ó­¯a‡Éý@>×ä#) þJÆPóšæK.õWü¯ÅóxX»:¿Ô²_§z”®Ç.œ.Xõàø­ûõ=Õzâ˜ñ §¢ÁæìÀ“ÚWÅžor¨Šx œwT½á«þõë×C*TKUT!P…@UT!P…@UT!P…@UT!P…@UT!P…@UT!P…@UT!P…@UäÀÿ.ü—;g¼lIEND®B`‚./chessx-1.3.2/data/images/undo_yellow.png000644 000765 000024 00000023777 12324440217 020163 0ustar00nistaff000000 000000 ‰PNG  IHDR€€Ã>aË IDATxœí}i”G•æw3ßZ›T¥Ý’,ɶ¶’d Ùcv†í´ºÁ6ûô0Ðm¶1mÓú0œ3ÃéÅ`ƒ1ãclÌ6nl-ÚÐ3Ã0¡mã]R­ZJ*©T¥Ríë[33îüÈÌ—‘™‘ï½ÒRUî®8Uç勈¼ïå½ßýîÈ|ÀBY( e¡,”…²PÊBY( e¡,”…²Pþ½šë T[¾ù÷·P&ki Òˆ`Z‚ÿîÎÅ\Ïë•^ô¹ž@5呾¤Œçãýƒ™t]mbYwïDQ0°}[3<ÔÆs=¿Wr™÷ ðð½·ë]£Éž3SK?ÿ‰«ï‰Çô/¶ž=šÉ™,‹-[›EGGÇ\Oó[´¹ž@¹òð½·ë/´ ¤¦³Æ¥_úä5nÞ°øÃ†i6XÆÌu†)bÌüŠqcó±Äæzªrß7n¥š”®¿Ð2\ÜÜrËŸïúÞªe5×0 6M«ÀR"Ê2ó-(Ày”y§÷óV*­Øÿ}éLjãúÆÝ·|÷õ5± ̂ӴXÌ̃ô8¿2¯à»o¥|ÑŠ=wh ½{Ûò·|úC;î«­ÑW3 &bffii"Ò™yγÌxðžÛ´±ÉBü`çpíõo^ÿ¾\¿ñž˜†Z°0Ä‚9›¼^Aaì|-óBúömÚÀH.Þrx¤þÃïÙô—׿iÝW4Ó f°À` f€Y@Ìvôç¾.”s+s®ß{›v¤{"Ñ7iøË÷7ù­×®þ Ç™™‰ †`Ãæˆˆˆ™±àί̩üðÞÛô#݉ñÉâÊ¿þø®¿Ý¹¹éCp|= À,!€‡x–¿€çWæL¸ûsús-CI!xÕßÜüªûÖ¯®{‘ ›ð11˜ L€€},Èñ"œ™uøîÿ•â1MæÀ`jÉâÔæ/üÅÎW,Ií²-Þöóö…ðq§Ë_@€ó+³ªßûÆ-D@ì¹CC©Í_ýÉn½¿iQ|3XH~Þ³öð\è2k ðÀÝ·ÐèD1örÇHúu»W¼å“Øú@2AËm«÷ûy?0Jǰû p¡Ê¬(Àƒßú åã-GÆjßñºÕ7ýç?Ûøõx ‹]«·/°ß÷—ÚÈ&ƒ&;È€h ºvëg>¨ÅãĉÄ Ø½vwûØV1¹­Ô'Tg+–‹-îy °ãëßþù¿ Í»è ðƒoN+ÄÛ»Æë>ôîË?qý›ÖüwMã´}e\‹–WS阜y'$39N ËÔLDNj(pm”—j&×Ïs31XÙÄü•Ï¿—…€XT'XÓ˜óp®HœÍî¹ÿ¯帨 ðÐ=·è]=SñÓýÙÆOh˯۵ìs€ ›èù _)ÙãÄýö{¹ÍqÌquÌÜ W4DºhÀÂ̮蹀ÑIM°ìÍ`Õ¤Ø\TË–°þÛmﱘ!,Î䉿ûý_Î[…¸h êß¾E?xx<16Y\òù5ß¹kKãûÖdx·¡ÝIö°`"¯Î×&‘À©Œ™ÏæÌ,À ì[A¢ ˆ "Œ ×­ä•ëÇ®Y¿|j]ÇéÅ'óEÝ(˜1Ë05ñ†×\&.–T|÷럤dBÓŸoO5-Jl¹å#—ßwÉòÔ«+ú¿P]µV®²º V¥œK9ÙQ*å;_1?Iö©Áš#ßþ§mwõ×`Æ`".&׿óÙ|Ìúñ#6J¨ î¿ëS”ÍY±—:&ÒV×îþÂÙø“¥ñž•+ü»ce~ÿ¨ðå¬|æ"ˆ.AÙ""RP!NPžÊ¿ûÐ…ý¨â—Fƺ²k6^w¼¿áÔðTͤe‘iZºU“4­mÛ¶ò¡Ö#³§}ëÓ”ÉY±çZÇkv7/~Û­½üG5)mmy‹>]îÜ`ÿ ÕV`óe-¾ ye­¼š¹Dñ†0ú¤ãÅšk6 ¼v`<=Ò;\?h ²L¡YµIÃjnnæ– ¤eà'÷}†&§Íøó­ãµïzýŠ?ñ¾KïM%iYÈÊË0]•Uú¬¼B¤ ²Ê°•GG *«ŒŒ‚VÅâg)Dr‰“D}ɘ‘ÞµaðªÞ‘úþþ±º!KaX1³.U´^:xL\Txà›Ÿ¤Éi+þBûDÃG®_sóïXõ ]G­ÿ ¨&Ùb[Bø ð_˜0Qò`³‰r-JIøKõú+.–cy‘I&–ÆU¹–Ççðg“ÇU‘YvÇ“ÙxL$¯¾üìkŽiꜨeh†aiæk®ºB8tô¼• R®»vg¬åÈTýÍ7]úå·¾fé—ˆD¼r¨¤‚Áh˜« ¡Q®£’l~ËœéÊÍå\Ü\ù¬ä6ábǯ\?´³­g鉱éä¸dXB7®Þu…8Øzô¼H¡RnùôGhrÚŒ_ÿ¦åÿé×-ý*ÇÊAit¨4¥D€„å\* µHÙjTǪè"¢’D3ƒ§·Ç©&aÕn_;¼í™#«[ †žehÁdîÞµIj=rÎJ T€W_µC±¶cSý+›â—¬^‘h†‡jí¯"”ª”Ø©DÔ”–SeUAÊfšJ}¶j­¼r®Õƒ¥ÝiªO «›¦×<ßµªÃ”cPAרܾ}«hm;\þJG¥\ûê+a1ëSfì…öÉéÒ›Ö¥v ‚”)­£ ‚è³’HQ7‰:‚è³òs ˆJˆBDzcx&¸Vo#€Ýl¿«³«,AÜÙ·ä3ò‚µb2fY›·lãöŽÎ £Ï¿ØŠ×^s%es™SËÑLw¾(Œ­’ͺÆ1Ÿ¦ýmÕ~[e9²¬Jçª|k¿­”'.°¼*9Dé\ dÞ²ÅKÕ¥\—ªhÓªñM‡ûšN MÖ ;JPHÄ,«¥mæ® ’nÜ´ºNl XÌlëÉ÷ GwnJ]q¢"ø¬#‚}‡¬<*‘Jùù •‹*Ã@Ed1ÓTrÔåGA?O%‹Û{Þ%«'ûÊ{}4b}ÃòÉuÏYÝb =à<ŒíÛ¶Zmí3s‘ ÐÚÚÁÛ·mc]#ËlTì9[è:]è{Õ–äÎTiù‹Œmm/¡®µ) _IvôjœkYʋ厯p²<[ Œ ˆ‘a`ð³ùG÷v7ïÂ;ý+)‡çk‹‚Ám§—L…DÌ2[ÚŽˆ¨k:#€¶¶ÞÖÜÌñ¸fZ€âà¨9Ôv<ßÕ|Y|k} -Š$=e‰"ôªD¢‚u3ÉÂUÊDV’w>{Jsó>@ðÜj ꥗pÉ5¬[:µöÀÉåÇÆ3‰9PtP jWP1ÜÞÞÁ[››E"a 2ˆÈ›´&_î,Þ~y¬yq=5E’Às^«"Ĭ"“V)O¯$31•c„BL·M²nøáÞu_™œÛŸý%9q]ÄÒÅúg»VµÈÖr1]›·lãŽ* aU‹Aííز¥Y$â°$(dòbê™–BÛº•Úš•KhuEB糤 eUqn¨n¦ä³Ì¹‘V®BŹJÄqÿañ€Òêe4PõØöš¦Ì%­=KO¥daó³½£³*¨z?@GG¶lmæd–`22Šç_:\<¼¤š.]Aë5µ ô‘ÀŠP† UD€(ë” žÚÏ«Il€F"AÁ~ÞGð [°lõD ¿u»}‰¥þcsmQM±áÙc«ZÚ”`dcm퇭 ª®lÞ²•q Á(&òšGã1Nn\K›¬…-'h%åºJ¾µÊ°.È)P!¬S"Nµ!aÐÏ#Âo²³¯½rÿ¨¾KëóM{–uN'L!ß¼m«ÕQ ÌxGPGG'ZÛ:ÄÎÍ‚ˆLB Ðz\œ˜ÎrnÇ娡k"VÞ:«´r¥uFYy¥$“ðËŽZwÇr˜Ò¼ý UÞ]:ïYwÜn¢ú°%üœÁ/Ûí«k¬Çu+þ‰U­&-§Û;:+Fç¼)´µ­ƒ¯ÜÞ̚Ʀ`Ì(ïãÞá Û~vÄu‘ˆ¶ÙR£ÚeT¨òÜ *”,TíÈ¥ôíòû°oöûù€Õ—Ð!hõþ¾^[e±¤>ßô‡Ã«äØ(€ißÚÜlU"ƒçµ-¼­½ƒ·oß&b12…€Pñd?÷wõòéWðÎt’kT <~+Ñ•JöYt™}wT.ŠÏWX¹Œ`¡T²øù0³W%r{ówæß)¿^Ý®Ýc¿_Úñä¡Å!C€o1=P$æEòkÔ÷ý=Åu+¹lQ®qû¥Cë¯Û|fËÒ†\ÉߟlõU&~¼öòáG“2r@x©{yÛÿüªï8H„SÆ÷íÛoD~°¨†ó-þà º)‚ê™yELÇ¥ü™þÇ×fß§‘Ðí»kƒw«îÎu﮵ë~ô›•Ïýú¹% ¢ÓÌÈy*¹ÎÌI"Jk$®Ûrf÷û®9öÖ5K§WÛ‰™@Ä &Û?³ký¥:;·òõ-õ ´ê!Ûí+12¿ý±×Ý‘)Äž#¢ã1£¸ÿ~¥v_´ŸŒimëä;¶ `ZEÁ(¶w'NäŠdl]WhÖ5K?—õýC'꺎öÕpÀIg ºHÿÃÿfíj8ùôáÕ­õ©bͺeSk(øë+²ÕÏ$¬ úù`ÿ "®‹Øó'VË&{LÈ0;;Õnà¢þfPk['ïØ¾Uh™ÌdF±«7ÞsfD½jSöUºfÅ}‰ eˆègý-Ýõ]G{kÑ)gˆh„ˆ¦LÑtðUU7“>ŠºI“D4]4µ‰—»WvК׌nш´ ŸW‡ˆþ÷QÌÞ ÃQƒ’C‘FÐŽ.êën8FDcμ9QhkïäíÛ· "˜‚a€¨Ð;;{¬7qúÊ Ùé¤Yë Õ*ì8t¢¾ëho]+0â|Àƒˆ Õk¹¶jú0ã"ŠDÈö¬,@ÙÃ}MÝ©„™Ü´j¼9Hâ\ëU<·ÞN>‚ #Ú¤5…’ìÉšñC§—¶Ñ(€I…ÎNuVpVùèc‹¼ÿ}F2é¢f†h9‘zòÎ=+²õÞþ[W6WƒÝ§z¿ à>.®Tç…bÌl§õ˜Yìß¿¿bÊó<‹l=Ö7Þ`jÄ&È^±™=³åÇÛÖŒlß°lr K“´€šàq:f°“#()—êJ}¼ (ÛJQ’½zqfÒÌœ„}#lÖ~5ì±= Ó$#çi" QOW_òé¯þtÍWŸI±aÞ"°åX»å¸ûu¹äm.ž¼oß~Þ³÷q“ˆóqÝš"Â`ÁÐNþÏm~ÐZ±ÉÒ£+UkÞ'ñú—úøà=*d×ÝÂ%‹³RD”$¢íÆoT~Q³ú³q{öîgÓ$3ãÇô OÄ}íѵÿp «æy÷‡¡˜-ç¡‚Ku°Ø#‰6k—_ç¢<¶ç炟.2F:z›ž=Ü×ø²mŽu³cùÌvûTCöPBîïõ…ÛWB IN©/J˜mgÙ*ÖH2s‚íŸØ¡¨ïiÖ7pÏÞýlXd&â"Ó1FD}™XÛÝû/½ë©¶EO‚-öÀr¢„˜{Ë?>ú ‘Œ›ÅxLdkÃOYýÏ%?ïKQ(Iä®îÉýýmP$‰ühaË“6HÅE*³RD”p€"¾¨9ùáȽ{÷sÁÐ,]9Mãqfîϵ£ß{âÒ{fÅ>ˆ‚™-*Ì'pKÁÐÅ¢t¡ðÔÁ“Ëþh *ŽuË– ›Í8KV.µ•D„n›Ã/”(n¬)Ô1sŒ™uÌ'p˾}ûùý¹¥k¢ñ€ShÇ÷ü~õùÝš›&ÃàfçÀÏû×$L‹€üt!1œ)Äû¤ô­Ú1ÍØÏ«Rϱ s‰¤fŠˆt"Ò`#€rîsþÓ±?{ôç€B".&™yÀèþ§gW=ú½__þÝé¼6é!€`°Wæ€%ˆÕ fd³…ø¸ëçC–ëóåü¼ï|ÙÏûûªP"·̬±óÚóäòèc TLÄʼnèÔSíË~u×þ­wMfõ1—8 !@cóÛç¦`Ar"GÿWãç¥8ßø!2IDä7_À-îy\AF\Ó†™qº£§ñÉ¿lç? Ž%ûìën$,øW‰æEIÄ,h(ÇHÄ}³³UÕ;v·@ª/µùëlh…(ÜÏ—*veÛî§Ò¼çv®Àd¤âfF# 1sω³õOõÑ«þDZ3õ`D@Ž™-`þ¸€Ú¤ ]cÒˆõ)ã_/)äKàøÜ„L Ù׿‡|„à>D,Í&²ž{˜ç.@.{ö>ÎS3q+§‘&ާ}mÿUÛr²éY„›‹/°\W0×¥.iÐÀD¾yÕøú˜ÎKƒa`ô¾€@"€Ö•Ù+Pa½ oÄ »¥ÎEC7ã1+§‘Ð7‘I´}ãç¯þò³GWýÀ3g˜Ò¸§Æêƈ¨HD&ŽâJóÖË>Û%Ìé—Ë7¿ô:2Çõ,K­[2µùæ7·ßÓPWŠÖÜp B6×|KËü¶jÃD§¯W¤6ÉÝp^7L쟨aF&…”¯˜åïn{#Õ¥ Šé¬õ§b'†Ò›WŽí¾åm-ß]œ.l ­êIWÑ·Šxºà]¹R[)¬óúzmnÈù|†³ÄÌÄLJ`‡ÊØZ"÷K̺<|Ç.-_Œ@ÀÄÎ"Ò:D ^«-Á}x¡öà[rÉØÛt‚™§a#@ˆó¬„_û›×ÑÈTZLIvØk(Ô‘BœèµîàŠ—jOÁÛ ‘üëè`xûö‚c¨dG¾º²åµÿ +uüüþq}²á}'*ynÿÁ©Ôĉ‘ú^"š0ED"Q7…³„¦‰LR[Ú‹¹4¦”q4ÛµÇü—E»ÆÜk¨¿N–MÙîpže–ÆÊqÓºþ X´Ó-h­JÙ9@xþ>Ùä—”ãLà@oÓ©‚©2ó€,3—€YBËÒ06"fg¼’—@J޵[±ì\ !’åy€ÙJ2ýmRÿ^<»{T²†ËËö}F©-Z¶D–ÐÄO®8ÂŒq²DdTZ,›^¨ç~@[oÙÑn_(¨ò»/P®}ÃwËýTýƒ2UãúÚ<9,õuKqN°NWõ¹$ÙÈö£ønœÿS£uÃG‡N…}KX€Y)U>+.ÀÏA©„Û2ÜËpæ‘J>Òì[:vw@9í# Sºy\òË.‘-I¶[/¹¥ì2ãz^ ‚àeû>‡û¹¿=zI;3FŒ2󀂳X¶ÌúZ{Úíß <:$ÌïTvS%d¸/Ážë‰v3Þ{5y”䄿EðãJp_‘àEΑ‰ú'ÓãÏ÷,=LDÃÆˆ(ûÖ¶²ÖÌZ†É³§ñá$‰Ê8ðŽÅ­Ã’}ãùåH¤˜›_¶Ÿà…­\Að‚ŸÉi+%r|Ÿß=ŒC‘ù^Ýš)Æú{¥”™sªZ)]`”|_˜ÄQ„D“'×ê«&xðÓCAð”²Ë‘¸ r¨ÐÅ‘m+\‰U…±êïLɤ¦|e+€!¦œÝRUÝ/9;PÒC—ð³?¬ó<ßWE’ijLɇý­Ê?—†SûyöfìÏÑÏËs‘ú³€(?-[0ñžƒë_,ZZ?€³Ì<;d”‹ýå2ûûðùù •–ñ¡úù¨0ÎõÏe¶ì;_òóá0.~–C© Ÿ’]åßMàõè`ÃÀ³=ËÚ€“°÷T}·ôm „u®k‘ÂWgó%–ûËýäþnqû"Ðß×F®çœ1n°Y5Gª ;8•dçLÍøéË—?eXz/짤 ˜`ì&Ò+ºIDATÛ·¯j˜ýý츀ܫÈËK(Aw ËÀ´Kðä)ÖÁOðT!¢BN‰Ä…Ç LŒ•s,5©dKßDB„_u¬ié­;ÆÌg À&TéûÝ2g[Âd¸W‘'% åÉý®‚ûh‚Xoœ’­·ÓÐT†ûÁS¸5Á“æïÎÛyí®üuÇÚç˜ÑKD}ùËÁ¬Ö÷»env©,~‚ãš©Ý3*Ï8ßGža`(IäY}˜àIÐWªÂ™7I3/—ç÷‡uáq%‚*õŸÈ%²<»ù_ò¦v Àif> ç10ûöíŸñ–¹¹!rXC{èÒkØ‚Â(Q"J%+÷'I‚V ŸòY™ÒºýåyÀ!z%ð‘Ц<Á‹"±J8hEìô‚ÄÃ/\ñTßDúõè'ûAP9Ø?f\f'ì{G®,Bê*ûPÙ‚Ýþ"‚ãC} ûb X¼o\?…ä¸S’->ÊÏ—k‹Hä”6~û?“÷±íÁ$o»ôÀ‹½K8Å̧ :iߪþ`™£D§íPúyÉ‚wÓzï>4àom㎶îÒŠqÃm²UÚ¯‘~>´e[-;ˆ²l?~{lÕá_¶¯} “NÑYîšÿ¹^’9â’Ÿ¹Ñ°Ÿ¯¼â ò|¨ìç½óÊ$[Bã“D%Y3öó!ÙA?ïC9*äÊ{êä²ã¸ìw– n€Oècæ1yf¶ÎÕú9Y r”=äçýÉ™R[Ðb*úyÉû,ðÜü|I6Ÿ›ŸWF8A?ÏÏË}Á„§O.;þƒ6þÆÚqljè4€awÁç|.>0›©`ÉÔlèÂ{ñ¥^ž¢À3$ õõd’t— Ü¯œlW~²+ͱԛ¼ÃÒqx\v?WÄçg&üîøÊ#?}ù²)˜ZŽèýøÚ rñ9I*Âf7©ÖúmuQ'ràt¼þQð®^Å“`WW „ÇU%rÂãzsŒ c=¸—û›‚¬':×´ìm]÷$3N8ÁÌ=ÒWœI¶¯\™`k9Aµõ9âIØn¸Ôòn ØÍîã—£”À,a+J©@ðÆæHòÃc¸m6Áó˶çåÎÑî?]Œå~ñЧŸëYú2@ÝD8ÉÌ=D4ÄÌSDT¸P˜mrÞå9a s¡TaLÚü–L ÙõuÛü/ø‡ò‰œÀ¸²l¸²•s´çß3^;òÀóŸ<1R×  àn}†­ÞÌòÝ2g÷–, Ÿ+Ý¡°ø-*+ã Jd‡Ú|7Z”,¬¶`?rÈâÍQ׳úhÙî¼ K3ÛµòðžÖõOå íbæÓDÔ`Œ™3D4£EžjËœ†€ìC£lJV‰ Ÿ,Øê<¡h §†#ý¼ÝI¶jm"Â@ 0¸Ÿ¸ó95Q;ò³ƒžm=»¸]0za§wû`'yÆä`¯ð•ær!Ë,Eä?&‡Táç½³¿´Aü<Ð!à»!Y°ÃùËÈö[|QÜù«ü<|“3™Oä~uxõ¡ßv­z¹`ê}ÌÜKDg˜ù,0ó´sk×E}Æ,"@ ä#Etè…ur¸P$Éù–ÚU}Ýþ%£„‰e«ú»ýüã†CFÿS…xî÷'Vþ?ÇVÎ${œŒ^?€³°×ôÇaÿ±oß¾‹þ<„YTé ¥0܇Hd&xÁó½ÃÙi º‚1SBx`\wŽ¥O§€{€0šKLÿ¿®Uè^Þ:’MžfÆìm\ƒp.<Û¾*0³9 ¿`Öî xÖ`[‹|¬¬ˆ‚pÁ«DÂ\Ù>F9 Ónf.šày$2,›9kÄ GýדË;_ê[rÄ4 Ð3:aݨsÏ43ç‰È`û0.äˬ(@ÑÔ \[r.shíßk xªŒkõu›‚à6lÚH$z‚×›£i‘•)Æ G†úži<Ù>ÐØ=œIÆì;vFvoÞ˜„w¿‹ìë£Ê¬(@ÁÒד»]Év3HäTGÂÂI¢`"G5UçW¾wß%xB˜.ÆsÙätßDÍh÷hÝàñ‘ú3§ÆkÏ–>é¸ ãÑ83OÑ43g‰¨ÀÌÍé“ÎfELKãÚ¤)ΌמùÉ3›ïL+ÓfÔ0#oa¤¼ å×AЪ:7 CÝ×}ÇK/æ =7–Md†2©)ShÃÒr†E9Ø÷âedž† ëS°7jf˜9 Û¿°áƳåçË•YQÃÒ°54•ú_mëö0ó%D´œ™ëˆ(Ø?h@Ž[•_„êfÒçœÏrf¶ˆÈbf“ˆLÇ‚ "ž“^sDT€sÑ]ÿND‘Oìš‹RÁä.\ùÔÇþDÏ&S†¥Õ¨P Yøéº P. Kú°·a™p~ZÎy5¤z·ß¬»™”YS¸éÆtÅ™9ADqfvËf>#€›¦–‘@~uŸÄ)‚móõ¢ËeVn¼ñFÍábîoò¸èðBϪW8ÁÅ+á‚/”…²PÊBY( e¡,”…²PÊBùw]þ?*C¡eIEND®B`‚./chessx-1.3.2/data/help/about.css000644 000765 000024 00000005477 12045534760 016430 0ustar00nistaff000000 000000 body { background-color: #ddd; /* Background color */ color: #222; /* Foreground color used for text */ font-family: Helvetica; font-size: medium; margin: 0; /* Amount of negative space around the outside of the body */ padding: 0; /* Amount of negative space around the inside of the body */ } #header h1 { margin: 0; padding: 0; } #header h1 a { background-color: #ccc; border-bottom: 1px solid #666; color: #222; display: block; font-size: large; font-weight: bold; padding: 10px 0; text-align: center; text-decoration: none; } #header ul { list-style: none; margin: 10px; padding: 0; } #header ul li a { background-color: #FFFFFF; border: 1px solid #999999; color: #222222; display: block; font-size: medium; font-weight: bold; margin-bottom: -1px; padding: 8px 6px; text-decoration: none; } #header ul li b { background-color: #CCCCCC; border: 1px solid #999999; color: #222222; display: block; font-size: medium; font-weight: bold; margin-bottom: -1px; padding: 8px 6px; text-decoration: none; } #content, #sidebar { padding: 10px; } #footer { display: none; } #header h1 a { text-shadow: 0px 1px 0px #fff; background-image: -webkit-radial-gradient(white, black); } #header ul li:first-child a { -webkit-border-top-left-radius: 8px; -webkit-border-top-right-radius: 8px; } #header ul li:last-child a { -webkit-border-bottom-left-radius: 8px; -webkit-border-bottom-right-radius: 8px; } #header h1 b { text-shadow: 0px 1px 0px #fff; background-image: -webkit-radial-gradient(white, black); } #header ul li:first-child b { -webkit-border-top-left-radius: 8px; -webkit-border-top-right-radius: 8px; } #header ul li:last-child b { -webkit-border-bottom-left-radius: 8px; -webkit-border-bottom-right-radius: 8px; } #header ul.hide { display: none; } ./chessx-1.3.2/data/help/about0.html000644 000765 000024 00000006110 12354014714 016640 0ustar00nistaff000000 000000 About ChessX

    ChessX Basics

    Summary

    ChessX is an Open Source chess database. With ChessX you can operate on your collection of chess games in many ways:
    browse, edit, add, organize, analyze, etc.

    ChessX is cross-platform. It works on Windows, Linux and Mac OS X.

    Current Features

    • Multi-platform. Supports Windows, Linux and Mac OS X
    • Load and save PGN files
    • Work with multiple databases simultaneously
    • Browse games, including variations
    • Enter moves, variations, comments
    • Setup board, copy/paste FEN
    • Search header (click on columns in GameList header)
    • Display opening tree for current position
    • Analyze using UCI and Winboard/Xboard Chess engines

    Planned Features

    • Perform advanced search (board, header, material)
    • Store games in native binary format
    • Fix spelling
    • Play/train against engine
    • Calculate ELO performance

    Development

    The code uses the Qt library. To develop, you need Qt 4.8.1 or later. SVN is used to manage development and SourceForge Tracker to keep track of bug reports and feature requests. All classes are documented using Doxygen.

    For a long time, ChessX was pushed forward by Michal Rudolf.

    Currently, there are two active ChessX developers: James Coons and current maintainer Jens Nissen. The main tester and usability expert is Bruno Rizzuti.

    Among inactive developers we would like to mention Marius Roets, Sean Estabrooks, Rico Zenklusen, William Hoggarth and Ejner Borgbjerg who wrote significant parts of code. Heinz Hopfgartner made useful tests and maintained Mac port.

    If you wish to participate in the project (either as a developer or a tester), please sign up to the developer mailing list and introduce yourself.

    ./chessx-1.3.2/data/help/about1.html000644 000765 000024 00000035075 12513146042 016652 0ustar00nistaff000000 000000 ChessX Manual

    ChessX Manual

    Opening a database

    You can open a database either from the File menu or drag a file from Explorer / Finder into the Databases view.

    You can make a database stay permanently in the database list by turning it into a "Favorite" (right-click the file). A database is reopened from there by clicking the asterisk or again by the context menu.

    You can also drag files from yor Internet Browser into the ChessX Database List, they are downloaded into the configured default path (see the Preferences-Advanced-Default Data Path entry). If they are compressed (zip), the archive is stored at the Default Data Path and its content is extracted. Again, if there is something like PGN inside, the files are opened afterwards.

    Making moves

    A move is done by gabbing a piece and dragging it to another square.

    Depending on your settings in the board preferences, you can either

    • Click on a piece and a target square (if move guesses are deactivated)
    • Click on a piece and accepting the move quess (in case of deactivated next guess on right click)
    • Right Click on a piece and then again until the correct target square is high-lighted, then press the left mouse button to make the move (in case right click is used for next guess).

    Going back a move can be done by a right-click (in case the right click is not configured for backtracking a move) or by pressing CTRL-right click if backtracking is assigned to the right mouse key.

    Usually, making a move will insert a new variation unless you are at the end of the game or a variation. If you do not want to create a new variation, press CTR while moving, which replaces the current move and all following moves by the new move.

    If you want to exchange a move without deleting subsequent moves, you can press CTRL+ALT while moving, this will exchange the move played with the new move and check the remaining game for illegal positions. The game is then truncated at these illegal positions.

    If you want ChessX to replay the game, select "Game->Auto Player". You can change the move rate with the slider in the bottom right corner of the status bar.

    Entering moves with the keyboard

    If the focus is somewhere on the board or the notation, you can enter moves simply by starting to type. A label in the status bar will indicate, what you have typed. Whenever ChessX recognizes a complete move, the move is executed and the buffer is cleared.

    You can enter anything that looks like (PGN-) notation, make sure, your move us unambiguos. For example, typing "e4" in the starting position is fine, whereas a subsequent "e2" could either be Be2,Ne2,Ke2,Qe2 - or f1e2...

    By pressing [Enter] you can force ChessX to accept an entry or discard it, if ChessX cannot make anything reasonable of your entry.

    Annotating moves

    Move annotations can be done by activating the context menu in the games text browser or by simply pressing the corresponding key sequence, e.g. '!?','!!','??','!x','?x','=','+-','-+' and so on, where 'x' is used in case the first character is ambiguous, 'x' can be the Return/Enter-Key or literally the small letter 'x'.

    You can make special annotations like drawing an arrow or coloring squares by pressing Shift+Right-Mouse-Clicking (either select a single square or make a drawing gesture for drawing an arrow).

    Saving games

    Saving games is slightly confusing! A game needs to be saved into the database (Press CTRL+S, Menu Game/Save). From there, the whole database needs to be saved to disk by pressing CTRL+Shift+S / Menu File/Save. This is somewhat inconvenient but on the other hand prevents you from mistakenly overwriting games or files.

    If you want to commit a database to harddisk immediatelly and automatically when saving a game, you can select Option "Commit Database after Saving Game" from the Database Pane in the Preferences Dialog.

    By default, a clipboard database is open, which does not have a backing file on disk. Anything that remains in the Clipboard is lost upon closing ChessX! So you need to open at least one other database for writing and transfer anything from the Clipboard into this database by either dragging the games to that database or using "Copy Games" from the Database menu.

    Switching databases

    Switching between open databases can be achieved by either the Database menu, pressing CTRL+Shift+Number 0 .. 9 or right-clicking into the database list. The currently selected database is highlighted there!

    Analysing games

    There are two analysis windows where two different engines can be configured to analyse the current board position.

    Engines must be configured before in the Preferences Dialog. A default engine (Stockfish) comes with this installation and will be configured as first engine, if no other entries exist. Stockfish is an open source engine (see Homepage of Stockfish. The source code for Stockfish is also located on the homepage. Note that Stockfish is licensed under GPLv3

    You can fine-tune engines with the protocol options dialog (works for UCI only, Winboard is seldom used and due to the clumsy specification hard to implement for GUI developers.

    You can change the move rate with the slider in the bottom right corner of the status bar. Draw the slider to the very left for infinite analysis or to the right to make the engine analyse from 1 to 10 secondes per move.

    Playing out games

    You can play out a game after the final position by activating Auto Respond mode. and activating the engine in Analysis Pane 1. Whenever you make a move the engine will start to analyse the position for the time defined by the slider at the bottom right of the status bar. If the allotted time is over, the engine will make the best move found so far.

    Using Books in engines

    UCI engines may support books. Just set the OwnBook option to true, set the name of the "Book File" option and restart the engine. The engine will answer immediately with a book move when playing out games (see above), depending on "Best Book Move" option this may or may not be the best move from the book. In infinite analysis, the engine won't use information from opening books.

    Automatically annotating games

    Start an engine in the Analysis 1 window and select menu "Game->Auto Analysis". ChessX will start to move through the current game, analysing each position for some time. After the alotted time is over, the best move will be inserted as variation into the game text. Then ChessX will continue with the next move.

    There are a couple of options which have an influence on the behaviuor:

    • The slider in the status bar will determine, how long the engine will ponder on each position
    • Preferences->Game->Automatically save and continue with next game: This allows analysing a complete database, select this option, start Engine 1, open the first game from the database and select move 1.
    • Preferences->Database->Commit Database after saving Game: Recommended, commits your results to the harddisk after each game, especially if you analyse a complete database, a loss of power will otherwise lose all results so far.

    Using Books in ChessX

    Polyglot is a book standard supported by ChessX. It is licensed under GNU GPL Version 2.0. See Home of Polyglot for code and details.

    ChessX displays books like any other database in the Opening Tree Browser. Drag a polyglot book (which must have the suffix ".bin") to the Database List or open the book via menu. Once it is open, it becomes available as any other open database in the combo box "Source" beneath the opening tree.

    One note: Polyglot books can be difficult to interpret: they are made for engines, as they give a hint on moves, the engine should play. Moves which did not succeed at all are usually not part of polyglot books.

    So do not learn openings from polyglot books - important moves might be missing!

    Creating your own book

    You can create your own book by selecting a open PGN database (right click with the mouse) and select "Make polyglot book".

    ChessX will query the following parameters and pass them for creating a book:

    • "max-ply" How many plies (half moves) to read for each game. E.g. if set to "20", only the first 10 full moves of each game will be scanned.
    • "min-game" How many times must a move be played to be kept in the book. In other words, moves that were played too rarely will be left out. If you scan full games "2" seems a minimum, but if you selected lines manually "1" will make sense.
    • "uniform" By default, a probability is calculated by PolyGlot for each move depending on how popular it is (how often it was playing in the provided PGN file) and how much it "scored". This option bypasses the default mechanism and affects equal probability to all moves. This allows more variety of play.

    Generating content

    You can copy/paste positions(FEN and images) and complete games(PGN) from/into the clipboard, export games in LATEX, HTML or PGN again. See the Edit menu and the File/Export Dialog.

    Merging games

    By dragging a game from the game list into the current notation, the dragged game will be merged into the current game at the first position after the current position, where both games deviate. The game will be merged with all annotations and variations. If nothing is merged, no suitable point for merging was found. This can happen, if

    • no position could be found where both games where equal (after the current position!)
    • the remainder of the game to be merged in was already contained in the current game

    You can select multiple games and merge them at once.

    Sorting and filtering games

    The list of games can be filtered either by the opening tree, the Player or Event widget or from the context menu in the list header. Several searches can be combined or inverted. Further occurrences of the current board position in the current database can be found via the Find / Find Position menu.

    Clicking on the header sorts the list. This feature is disabled for larger databases (>4K of games) as it will take far too long to sort the list.

    Filter Databases into an opening tree

    The opening tree takes the current board position and matches it with each game in the selected database. The moves found in the database are listed with the number of occurrences and the score that was achieved with each move alternative. The database is updated continuously, the progress bar gives a hint how far the database is analysed.

    The result of the position search can be filtered into the list of games. This filter can again be used as input for the search in the opening tree. Especially on large databases this can speed up further searches (but will of course miss other move orders into the same position).

    Usually, clicking onto one of the moves in opening tree will only update the small overview in the opening tree widget. Pressing Shift while clicking onto a move will add the move to the current game (if the position permits)

    Training Mode

    Selecting Game/Training starts the training mode. Moves starting from the current move are hidden on the game sheet. You can't modify a game so you can make any move in a position. If the move is the right one (the one that was played or a existing variation) then the move is executed and the game is moved one step forward. The game notation is updated and variations on that move become visible. Ideal for use with a tactics database.

    If you have no idea what to move, you can get hints by hovering with the mouse over your pieces. Perhaps, the right move pops up! See the chapter on Making Moves and the associated preferences to enable move guesses.

    You can combine training with Auto Respond mode, in this case, ChessX will make the next move automatically whenever you make a correct move.

    Playing matches

    The match button makes sure, that ChessX does not give away hints on the position. This effectively disables engine output, tablebase output, moving back or forward in a game etc.

    Online Chess

    ChessX supports online access to games played or stored on the free internet chess server.

    If you have a FICS account, you can enter the credentials in the Preferences, otherwise, ChessX will login as guest.

    ChessX connects to FICS upon opening the virtual database FICS. A successful connection is indicated in the message pane of the FICS console.

    Selecting the tab "Games" will read in the list of games which are currently played on FICS. Double clicking a games will start monitoring this game. Selecting Players will read in all players currently connected to FICS. Double-clicking a player will read in the players history (last 10 games). Double clicking a game from the History pane will read in the game into the current game of the FICS database. You can finally save any observed or examined game and transfer it to a persistent database. Games in the FICS database are not persistent!

    For playing games online, using TimeSeal is recommended. See the message pane upon connecting to FICS. It will show, if Telnet or Timeseal is used. Telnet will give you a disadvantage for faster games so this is not recommended.

    You can accept incoming match requests from other players pressing "Accept" or you can seek for an opponent in the seek pane.

    While waiting for your opponents move, you can already grab a piece and hover over a target square or you can enter a premove by dropping it somewhere, the premove piece and its target square a indicated. An active premove can be cancelled by clicking somewhere on the board or by selecting a new premove.

    ./chessx-1.3.2/data/help/about1a.html000644 000765 000024 00000004622 12362671133 017013 0ustar00nistaff000000 000000 ChessX Manual

    Customizing ChessX

    Arranging widgets

    All lists and widgets can be docked at any place or can be grouped together in a tab view.

    If a widget is hidden, you can show it by selecting the View Menu from the menu bar.

    Customizing Listviews

    All views can have their font-size set in the Preferences Dialog. In addtion, all list header support resizing, moving and hiding of columns. Columns are hidden / shown by right-clicking the list header element. All changes are persistent.

    Customizing Board and Notation

    You can customize board and notation easily in the Preferences Dialog. Especially the notation can be changed to reflect your local standard. E.g., in Germany, the "Queen" is called "Dame" and thus represented by a "D" rather than a "Q". Change the piece letters in the Appearance tab of the Preferences. You can also change to a symblic representation of the pieces, provided you OS supplies the character sets used. That is the case with Mac OS X and Windows 7, untested with Linux. The PGN remains unchanged, it is defined with KQRBN.

    Customizing Keyboard shortcuts

    Keyboard shortcuts are customized with the corresponding dialog from the Help menu. Please be careful, there is no checking for syntax errors or invalid entries, yet.

    Note that the customization is associated with a language selection so you can have a different keyboard scheme with different languages.

    Customize icons in menus

    Icons in menus can be enabled or disabled in the Preference dialog. Having icons in menus may help to get comforable with ChessX initially, lateron, you will probably do not want to have them in the menus.

    ./chessx-1.3.2/data/help/about2.html000644 000765 000024 00000007662 12354014714 016657 0ustar00nistaff000000 000000 ChessX Reference

    ChessX Reference

    About PGN Databases

    PGN is a portable format between different chess programs, a file format, that can be written and read sequentially, but not modified at random places.

    ChessX is a viewer for these files, thus ChessX is somewhat limited in handling chess data as these files can not really be handled like a proper database.

    To work around some of these issues, ChessX handles smaller and larger files differently. You can configure the limit where ChessX switches the algorithm according to your computers performance.

    Smaller databases are read completely into memory and can be read and written.

    Larger files are only indexed and as of version 0.9.4, the index is also saved to disk for a faster reopening of a PGN file. As the games are not in memory, this algorithm does not allow saving the files again, so the database is opened read-only

    About Index Databases

    The index files are saved in the index-subdirectory of the Default Data Path. If the index directory or one of its files is deleted, ChessX will recreate the Index file the next time you open the PGN file.

    ChessX will open the index file instead of the PGN file if the filename fits (e.g. "chess.cxi" fits to any "chess.pgn") if the date of the last modification fits to the date stored in the index file. So ChessX won't care for the path where your PGN is located (you can relocate the file after indexing), but this limits the Index to only one file with the same basename.

    ChessX versions 0.9.6 and lower have index format 0, later versions support index format 1 and 0. On occasion, ChessX versions > 0.9.6 will not be able to read a version 0 format and will thus recreate the index file with the latest version. These occasions depend on the timezone when the file was created and the time it was read (summer/winter) and the version of the Qt libraries ChessX was compiled with.

    About themes and file system

    ChessX reads and writes files at different locations

    • Intermediate files arer put into the temp folder offered by the OS (see About Dialog for the exact path)
    • Themes are put into the program data directory assigned by the OS (see About Dialog again)
    • PGN databases are stored in a user defined folder (see Preferences Dialog)

    ChessX has builtin themes and languages, which can be extended by external themes. These themes need to be stored in defined subfolders of the program data directory. Starting from ProgramDataPath/data/

    • Translation files are stored in lang/
    • Theme files in themes/...
    • Output templates in templates/
    • Windows Engines in engines/uci/ and engines/winboard/
    • Mac OS Engines in engines-mac/uci/ and engines-mac/winboard/

    Board themes are put into themes/boards while simple piece sets are put into themes/. Outlined and shadowed piece sets are put into themes/outline and themes/shadow respectively.

    Whenever such a directory exists, the corresponding internal directory is not evaluated anymore.

    The About dialog gives hints on the paths which depend on the operating system.

    ./chessx-1.3.2/data/help/about3.html000644 000765 000024 00000042105 12354014714 016647 0ustar00nistaff000000 000000 ChessX Copyright Info

    ChessX License


    GNU GENERAL PUBLIC LICENSE

    Version 2, June 1991

    Copyright (C) 1989, 1991 Free Software Foundation, Inc.
    51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
    
    Everyone is permitted to copy and distribute verbatim copies
    of this license document, but changing it is not allowed.
    

    Preamble

    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 Lesser General Public License instead.) You can apply it to your programs, too.

    When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for 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.

    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.

    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.

    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.

    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.

    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.

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

    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

    0. 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".

    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.

    1. 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.

    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.

    2. 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:

    a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
    b) 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.
    c) 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.)

    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.

    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.

    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.

    3. 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:

    a) 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,
    b) 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,
    c) 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.)

    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.

    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.

    4. 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.

    5. 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.

    6. 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.

    7. 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.

    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.

    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.

    This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

    8. 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.

    9. 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.

    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.

    10. 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.

    NO WARRANTY

    11. 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.

    12. 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.

    END OF TERMS AND CONDITIONS

    ./chessx-1.3.2/data/help/about4.html000644 000765 000024 00000063624 12354014714 016661 0ustar00nistaff000000 000000 ChessX Copyright Info

    QuaZIP License


    GNU LESSER GENERAL PUBLIC LICENSE

    Version 2.1, February 1999

    Copyright (C) 1991, 1999 Free Software Foundation, Inc.
    51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    Everyone is permitted to copy and distribute verbatim copies
    of this license document, but changing it is not allowed.
    
    [This is the first released version of the Lesser GPL.  It also counts
     as the successor of the GNU Library Public License, version 2, hence
     the version number 2.1.]
    

    Preamble

    The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.

    This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below.

    When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things.

    To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it.

    For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights.

    We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library.

    To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others.

    Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license.

    Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs.

    When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library.

    We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances.

    For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License.

    In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system.

    Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library.

    The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.

    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

    0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".

    A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.

    The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)

    "Source code" for a work means the preferred form of the work for making modifications to it. For a library, 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 library.

    Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.

    1. You may copy and distribute verbatim copies of the Library's complete 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 distribute a copy of this License along with the Library.

    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.

    2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

    • a) The modified work must itself be a software library.
    • b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
    • c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
    • d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.

      (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)

    These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, 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 Library, 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.

    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 Library.

    In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

    3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.

    Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.

    This option is useful when you wish to copy part of the code of the Library into a program that is not a library.

    4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you 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.

    If distribution of 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 satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.

    5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.

    However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.

    When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.

    If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)

    Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.

    6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.

    You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:

    • a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
    • b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
    • c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
    • d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
    • e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.

    For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be 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.

    It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.

    7. 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 not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:

    • a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
    • b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.

    8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library 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.

    9. 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 Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.

    10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library 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 with this License.

    11. 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 Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library 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 Library.

    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.

    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.

    This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

    12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library 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.

    13. The Free Software Foundation may publish revised and/or new versions of the 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 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 Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.

    14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, 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.

    NO WARRANTY

    15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

    16. 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 LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    END OF TERMS AND CONDITIONS

    ./chessx-1.3.2/data/help/about5.html000644 000765 000024 00000104174 12354014714 016656 0ustar00nistaff000000 000000 ChessX Copyright Info

    Stockfish License


    GNU GENERAL PUBLIC LICENSE

    Version 3, 29 June 2007

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

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

    Preamble

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

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

    When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.

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

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

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

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

    Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.

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

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

    TERMS AND CONDITIONS

    0. Definitions.

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

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

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

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

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

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

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

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

    1. Source Code.

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

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

    The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.

    The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

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

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

    2. Basic Permissions.

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

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

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

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

    No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.

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

    4. Conveying Verbatim Copies.

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

    You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.

    5. Conveying Modified Source Versions.

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

    • a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
    • b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
    • c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
    • d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.

    A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

    6. Conveying Non-Source Forms.

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

    • a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
    • b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
    • c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
    • d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
    • e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.

    A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.

    A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.

    “Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.

    If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).

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

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

    7. Additional Terms.

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

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

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

    • a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
    • b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
    • c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
    • d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
    • e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
    • f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.

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

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

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

    8. Termination.

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

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

    Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

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

    9. Acceptance Not Required for Having Copies.

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

    10. Automatic Licensing of Downstream Recipients.

    Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.

    An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.

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

    11. Patents.

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

    A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.

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

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

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

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

    A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.

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

    12. No Surrender of Others' Freedom.

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

    13. Use with the GNU Affero General Public License.

    Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.

    14. Revised Versions of this License.

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

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

    If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.

    Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.

    15. Disclaimer of Warranty.

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

    16. Limitation of Liability.

    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    17. Interpretation of Sections 15 and 16.

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

    END OF TERMS AND CONDITIONS

    ./chessx-1.3.2/data/help/about6.html000644 000765 000024 00000000000 12362671133 016641 0ustar00nistaff000000 000000