Mopidy-2.1.0/0000755000076500000240000000000013032555407013173 5ustar jodalstaff00000000000000Mopidy-2.1.0/.mailmap0000644000076500000240000000310313032547651014613 0ustar jodalstaff00000000000000Thomas Adamcik Thomas Adamcik Thomas Adamcik Thomas Adacmik Kristian Klette Johannes Knutsen Johannes Knutsen John Bäckstrand David Caruso Adam Rigg Ernst Bammer Alli Witheford Alexandre Petitjean Alexandre Petitjean Javier Domingo Cansino Lasse Bigum Nick Steel Janez Troha Janez Troha Luke Giuliani Colin Montgomerie Nathan Harper Ignasi Fosch Christopher Schirner Laura Barber John Cass Ronald Zielaznicki Kyle Heyne Tom Roth Eric Jahn Loïck Bonniot Mopidy-2.1.0/.travis.yml0000644000076500000240000000145213032555372015307 0ustar jodalstaff00000000000000sudo: required dist: trusty language: python python: - "2.7_with_system_site_packages" env: - TOX_ENV=py27 - TOX_ENV=py27-tornado32 - TOX_ENV=docs - TOX_ENV=flake8 before_install: - "sudo sed -i '/127.0.1.1/d' /etc/hosts" # Workaround tornadoweb/tornado#1573 - "sudo apt-get update -qq" - "sudo apt-get install -y gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 graphviz-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-bad python-gst-1.0" install: - "pip install tox" script: - "tox -e $TOX_ENV" after_success: - "if [ $TOX_ENV == 'py27' ]; then pip install coveralls; coveralls; fi" branches: except: - debian notifications: irc: channels: - "irc.freenode.org#mopidy" on_success: change on_failure: change use_notice: true skip_join: true Mopidy-2.1.0/AUTHORS0000644000076500000240000000604113032547651014246 0ustar jodalstaff00000000000000- Stein Magnus Jodal - Johannes Knutsen - Thomas Adamcik - Kristian Klette - Martins Grunskis - Henrik Olsson - Antoine Pierlot-Garcin - John Bäckstrand - Fred Hatfull - Erling Børresen - David Caruso - Christian Johansen - Matt Bray - Trygve Aaberge - Wouter van Wijk - Jeremy B. Merrill - Adam Rigg - Ernst Bammer - Nick Steel - Zan Dobersek - Thomas Refis - Janez Troha - Tobias Sauerwein - Alli Witheford - Alexandre Petitjean - Terje Larsen - Javier Domingo Cansino - Pavol Babincak - Javier Domingo - Lasse Bigum - David Eisner - Pål Ruud - Thomas Kemmer - Paul Connolley - Luke Giuliani - Colin Montgomerie - Simon de Bakker - Arnaud Barisain-Monrose - Nathan Harper - Pierpaolo Frasa - Thomas Scholtes - Sam Willcocks - Ignasi Fosch - Arjun Naik - Christopher Schirner - Dmitry Sandalov - Lukas Vogel - Thomas Amland - Deni Bertovic - Ali Ukani - Dirk Groenen - John Cass - Laura Barber - Jakab Kristóf - Ronald Zielaznicki - Wojciech Wnętrzak - Camilo Nova - Dražen Lučanin - Naglis Jonaitis - Kyle Heyne - Tom Roth - Mark Greenwood - Stein Karlsen - Dejan Prokić - Eric Jahn - Mikhail Golubev - Danilo Bargen - Bjørnar Snoksrud - Giorgos Logiotatidis - Ben Evans - vrs01 - Cadel Watson - Loïck Bonniot - Gustaf Hallberg - kozec - Jelle van der Waa - Alex Malone - Daniel Hahler - Bryan Bennett Mopidy-2.1.0/dev-requirements.txt0000644000076500000240000000061113032547651017233 0ustar jodalstaff00000000000000# Automate tasks invoke # Build documentation sphinx # Check code style, errors, etc flake8 flake8-import-order # Mock dependencies in tests mock responses # Test runners pytest pytest-capturelog pytest-cov pytest-xdist tox # Check that MANIFEST.in matches Git repo contents before making a release check-manifest # To make wheel packages wheel # Securely upload packages to PyPI twine Mopidy-2.1.0/docs/0000755000076500000240000000000013032555407014123 5ustar jodalstaff00000000000000Mopidy-2.1.0/docs/_static/0000755000076500000240000000000013032555407015551 5ustar jodalstaff00000000000000Mopidy-2.1.0/docs/_static/mopidy.png0000644000076500000240000000646613032547651017576 0ustar jodalstaff00000000000000PNG  IHDR<V~sRGBbKGD pHYs  tIME 6;tEXtCommentCreated with GIMPW IDATx{E?/rS@@/) Bf:vILitFTR QbLTDL eBHxOQxQ=9缇Μw/>=Q;7W[u L.nމQN*<l!S)vYDD1|0J&`π2_DU#Mܨ"/BhX]sv;嬂3P82c@"+yP1e$?3.<! ιA<Ȇ.bK,C %̹uVFWvSC[o⍫=&eH؋~Wű 6!BPߗfzV*КCæz{g 7kOau%BzBx_{j%k`OO9D$pfovcہo(<Vu+H" ~aI-=RLpr&9x%BDmB(`6.Gt$V%ccR\ ܛ"߅@6l˨ h`?S fSm ƣo%30Үk1@}VeׁRak5:[v `۰s)"<و*_Ϥ:~_i=zԷ.o{*fn%IF}?golELZR<LцBBGhUY=qɳ1dodJ%7CHZ*~&%]_%"~nd$%<.cG}bMn=0\YK3 q`ޔb3I  XIGю2'uBBc_JxZ5U9u-`p VGB J5k|Wx):!Mـp|A l7R[$cϵ{Q"ߛyB1V!zY 26JWJ8IX[]DG_d\T0L8g>8)!L ԶZ kG AjBr+ã6%.StMQG+58[ &\1'ħ5>$}< clA:Ɏi+8Qa3lA C0I[-d%i 8@ 0l&Zpu>QN&}XhB9+h T񐠈>6)fx BZrʹ;ͣ`޻ʸ&2AȻwBxRPf5~:vo[FRee>!lt3,X[1V!.6a7<#my -ޙ+EYlPŜ塴^v#<[60\\x\]zwV[gLxN&+ƷH!Z6.!) M4Pީ(+kSIP\x!!M/qsd#L!̈́Kn~ypv:BpM/ҭv`Nlwcs K9PAz9!͡/B,Rʀ:P_y-p^K0۪,!8k:ߑn:|ɷ zX3%퐀}o!Mh i^ |EH3`Ҏ"q'^ U!B0WOmb=%|7HIr+~=t@><V[P\iA QY !^J!7>Ҵ,gB+ yjs!> 1w>r+_T&چeP`i+W;.I#͒!)*é+_${ȫ}5`+)]F#4gw ta_B}78HD!$ x{fy>52 mRq9媜qaX 7fz'b1µ}Lޞ)b.ܺ,$}eJ>2yDvRbq&6)ek߉Qv%;<\Rz nmS Nv\Eǧ$[?!}\ AysbYb r@ҽ_3Q0EYUL&&<yZp9@) >CLu U4!YϋRXA/cDy~QޚkHB؆y\:B _jDBhj=a3qyJE7>?呍 g`W̥<_)r#>Q&^WIS#e{SDS`,n,=!/9Y$YrP59l4B!=K"$"Jq݁ 0n[myUBǦ1/I q?b3&* 9<_*}3{®-+Ls헸q8NvxKӉn^z_m۹@6IGcY?[}DQy%N@8:S㻈H!Pkzq3V<E q^̍jٚ !]DD$p4ٽ;+KGM,>.EDD `~J`yEDDB0saZGo_u&Şl sx9&L跈jC (IENDB`Mopidy-2.1.0/docs/api/0000755000076500000240000000000013032555407014674 5ustar jodalstaff00000000000000Mopidy-2.1.0/docs/api/architecture.rst0000644000076500000240000000704113032547651020114 0ustar jodalstaff00000000000000.. _concepts: ************ Architecture ************ The overall architecture of Mopidy is organized around multiple frontends and backends. The frontends use the core API. The core actor makes multiple backends work as one. The backends connect to various music sources. The core actor use the mixer actor to control volume, while the backends use the audio actor to play audio. .. digraph:: overall_architecture "Multiple frontends" -> Core Core -> "Multiple backends" Core -> Mixer "Multiple backends" -> Audio Frontends ========= Frontends expose Mopidy to the external world. They can implement servers for protocols like HTTP, MPD and MPRIS, and they can be used to update other services when something happens in Mopidy, like the Last.fm scrobbler frontend does. See :ref:`frontend-api` for more details. .. digraph:: frontend_architecture "HTTP\nfrontend" -> Core "MPD\nfrontend" -> Core "MPRIS\nfrontend" -> Core "Scrobbler\nfrontend" -> Core Core ==== The core is organized as a set of controllers with responsiblity for separate sets of functionality. The core is the single actor that the frontends send their requests to. For every request from a frontend it calls out to one or more backends which does the real work, and when the backends respond, the core actor is responsible for combining the responses into a single response to the requesting frontend. The core actor also keeps track of the tracklist, since it doesn't belong to a specific backend. See :ref:`core-api` for more details. .. digraph:: core_architecture Core -> "Tracklist\ncontroller" Core -> "Library\ncontroller" Core -> "Playback\ncontroller" Core -> "Playlists\ncontroller" Core -> "History\ncontroller" "Library\ncontroller" -> "Local backend" "Library\ncontroller" -> "Spotify backend" "Playback\ncontroller" -> "Local backend" "Playback\ncontroller" -> "Spotify backend" "Playback\ncontroller" -> Audio "Playlists\ncontroller" -> "Local backend" "Playlists\ncontroller" -> "Spotify backend" Backends ======== The backends are organized as a set of providers with responsiblity for separate sets of functionality, similar to the core actor. Anything specific to i.e. Spotify integration or local storage is contained in the backends. To integrate with new music sources, you just add a new backend. See :ref:`backend-api` for more details. .. digraph:: backend_architecture "Local backend" -> "Local\nlibrary\nprovider" -> "Local disk" "Local backend" -> "Local\nplayback\nprovider" -> "Local disk" "Local backend" -> "Local\nplaylists\nprovider" -> "Local disk" "Local\nplayback\nprovider" -> Audio "Spotify backend" -> "Spotify\nlibrary\nprovider" -> "Spotify service" "Spotify backend" -> "Spotify\nplayback\nprovider" -> "Spotify service" "Spotify backend" -> "Spotify\nplaylists\nprovider" -> "Spotify service" "Spotify\nplayback\nprovider" -> Audio Audio ===== The audio actor is a thin wrapper around the parts of the GStreamer library we use. If you implement an advanced backend, you may need to implement your own playback provider using the :ref:`audio-api`, but most backends can use the default playback provider without any changes. Mixer ===== The mixer actor is responsible for volume control and muting. The default mixer use the audio actor to control volume in software. The alternative implementations are typically independent of the audio actor, but instead use some third party Python library or a serial interface to control other forms of volume controls. Mopidy-2.1.0/docs/api/audio.rst0000644000076500000240000000205213032547651016530 0ustar jodalstaff00000000000000.. _audio-api: ********************************* :mod:`mopidy.audio` --- Audio API ********************************* .. module:: mopidy.audio :synopsis: Thin wrapper around the parts of GStreamer we use The audio API is the interface we have built around GStreamer to support our specific use cases. Most backends should be able to get by with simply setting the URI of the resource they want to play, for these cases the default playback provider should be used. For more advanced cases such as when the raw audio data is delivered outside of GStreamer or the backend needs to add metadata to the currently playing resource, developers should sub-class the base playback provider and implement the extra behaviour that is needed through the following API: .. autoclass:: mopidy.audio.Audio :members: Audio listener ============== .. autoclass:: mopidy.audio.AudioListener :members: Audio scanner ============= .. autoclass:: mopidy.audio.scan.Scanner :members: Audio utils =========== .. automodule:: mopidy.audio.utils :members: Mopidy-2.1.0/docs/api/backend.rst0000644000076500000240000000675713032547651017036 0ustar jodalstaff00000000000000.. _backend-api: ************************************* :mod:`mopidy.backend` --- Backend API ************************************* .. module:: mopidy.backend :synopsis: The API implemented by backends The backend API is the interface that must be implemented when you create a backend. If you are working on a frontend and need to access the backends, see the :ref:`core-api` instead. URIs and routing of requests to the backend =========================================== When Mopidy's core layer is processing a client request, it routes the request to one or more appropriate backends based on the URIs of the objects the request touches on. The objects' URIs are compared with the backends' :attr:`~mopidy.backend.Backend.uri_schemes` to select the relevant backends. An often used pattern when implementing Mopidy backends is to create your own URI scheme which you use for all tracks, playlists, etc. related to your backend. In most cases the Mopidy URI is translated to an actual URI that GStreamer knows how to play right before playback. For example: - Spotify already has its own URI scheme (``spotify:track:...``, ``spotify:playlist:...``, etc.) used throughout their applications, and thus Mopidy-Spotify simply uses the same URI scheme. Playback is handled by pushing raw audio data into a GStreamer ``appsrc`` element. - Mopidy-SoundCloud created it's own URI scheme, after the model of Spotify, and use URIs of the following forms: ``soundcloud:search``, ``soundcloud:user-...``, ``soundcloud:exp-...``, and ``soundcloud:set-...``. Playback is handled by converting the custom ``soundcloud:..`` URIs to ``http://`` URIs immediately before they are passed on to GStreamer for playback. - Mopidy differentiates between ``file://...`` URIs handled by :ref:`ext-stream` and ``local:...`` URIs handled by :ref:`ext-local`. :ref:`ext-stream` can play ``file://...`` URIs pointing to tracks and playlists located anywhere on your system, but it doesn't know a thing about the object before you play it. On the other hand, :ref:`ext-local` scans a predefined :confval:`local/media_dir` to build a meta data library of all known tracks. It is thus limited to playing tracks residing in the media library, but can provide additional features like directory browsing and search. In other words, we have two different ways of playing local music, handled by two different backends, and have thus created two different URI schemes to separate their handling. The ``local:...`` URIs are converted to ``file://...`` URIs immediately before they are passed on to GStreamer for playback. If there isn't an existing URI scheme that fits for your backend's purpose, you should create your own, and name it after your extension's :attr:`~mopidy.ext.Extension.ext_name`. Care should be taken not to conflict with already in use URI schemes. It is also recommended to design the format such that tracks, playlists and other entities can be distinguished easily. Backend class ============= .. autoclass:: mopidy.backend.Backend :members: Playback provider ================= .. autoclass:: mopidy.backend.PlaybackProvider :members: Playlists provider ================== .. autoclass:: mopidy.backend.PlaylistsProvider :members: Library provider ================ .. autoclass:: mopidy.backend.LibraryProvider :members: Backend listener ================ .. autoclass:: mopidy.backend.BackendListener :members: Backend implementations ======================= See :ref:`ext-backends`. Mopidy-2.1.0/docs/api/commands.rst0000644000076500000240000000034613032547651017234 0ustar jodalstaff00000000000000.. _commands-api: *************************************** :mod:`mopidy.commands` --- Commands API *************************************** .. automodule:: mopidy.commands :synopsis: Commands API for Mopidy CLI. :members: Mopidy-2.1.0/docs/api/config.rst0000644000076500000240000000122513032547651016675 0ustar jodalstaff00000000000000.. _config-api: *********************************** :mod:`mopidy.config` --- Config API *********************************** .. automodule:: mopidy.config :synopsis: Config API for config loading and validation :members: Config section schemas ====================== .. automodule:: mopidy.config.schemas :synopsis: Config section validation schemas :members: Config value types ================== .. automodule:: mopidy.config.types :synopsis: Config value validation types :members: Config value validators ======================= .. automodule:: mopidy.config.validators :synopsis: Config value validators :members: Mopidy-2.1.0/docs/api/core.rst0000644000076500000240000001657713032555372016377 0ustar jodalstaff00000000000000.. _core-api: ******************************* :mod:`mopidy.core` --- Core API ******************************* .. module:: mopidy.core :synopsis: Core API for use by frontends The core API is the interface that is used by frontends like :mod:`mopidy.http` and :mod:`mopidy.mpd`. The core layer is in between the frontends and the backends. Don't forget that you will be accessing core as a Pykka actor. If you are only interested in being notified about changes in core see :class:`~mopidy.core.CoreListener`. .. versionchanged:: 1.1 All core API calls are now type checked. .. versionchanged:: 1.1 All backend return values are now type checked. .. autoclass:: mopidy.core.Core .. attribute:: tracklist Manages everything related to the list of tracks we will play. See :class:`~mopidy.core.TracklistController`. .. attribute:: playback Manages playback state and the current playing track. See :class:`~mopidy.core.PlaybackController`. .. attribute:: library Manages the music library, e.g. searching and browsing for music. See :class:`~mopidy.core.LibraryController`. .. attribute:: playlists Manages stored playlists. See :class:`~mopidy.core.PlaylistsController`. .. attribute:: mixer Manages volume and muting. See :class:`~mopidy.core.MixerController`. .. attribute:: history Keeps record of what tracks have been played. See :class:`~mopidy.core.HistoryController`. .. automethod:: get_uri_schemes .. automethod:: get_version Tracklist controller ==================== .. autoclass:: mopidy.core.TracklistController Manipulating ------------ .. automethod:: mopidy.core.TracklistController.add .. automethod:: mopidy.core.TracklistController.remove .. automethod:: mopidy.core.TracklistController.clear .. automethod:: mopidy.core.TracklistController.move .. automethod:: mopidy.core.TracklistController.shuffle Current state ------------- .. automethod:: mopidy.core.TracklistController.get_tl_tracks .. automethod:: mopidy.core.TracklistController.index .. automethod:: mopidy.core.TracklistController.get_version .. automethod:: mopidy.core.TracklistController.get_length .. automethod:: mopidy.core.TracklistController.get_tracks .. automethod:: mopidy.core.TracklistController.slice .. automethod:: mopidy.core.TracklistController.filter Future state ------------ .. automethod:: mopidy.core.TracklistController.get_eot_tlid .. automethod:: mopidy.core.TracklistController.get_next_tlid .. automethod:: mopidy.core.TracklistController.get_previous_tlid .. automethod:: mopidy.core.TracklistController.eot_track .. automethod:: mopidy.core.TracklistController.next_track .. automethod:: mopidy.core.TracklistController.previous_track Options ------- .. automethod:: mopidy.core.TracklistController.get_consume .. automethod:: mopidy.core.TracklistController.set_consume .. automethod:: mopidy.core.TracklistController.get_random .. automethod:: mopidy.core.TracklistController.set_random .. automethod:: mopidy.core.TracklistController.get_repeat .. automethod:: mopidy.core.TracklistController.set_repeat .. automethod:: mopidy.core.TracklistController.get_single .. automethod:: mopidy.core.TracklistController.set_single Playback controller =================== .. autoclass:: mopidy.core.PlaybackController Playback control ---------------- .. automethod:: mopidy.core.PlaybackController.play .. automethod:: mopidy.core.PlaybackController.next .. automethod:: mopidy.core.PlaybackController.previous .. automethod:: mopidy.core.PlaybackController.stop .. automethod:: mopidy.core.PlaybackController.pause .. automethod:: mopidy.core.PlaybackController.resume .. automethod:: mopidy.core.PlaybackController.seek Current track ------------- .. automethod:: mopidy.core.PlaybackController.get_current_tl_track .. automethod:: mopidy.core.PlaybackController.get_current_track .. automethod:: mopidy.core.PlaybackController.get_stream_title .. automethod:: mopidy.core.PlaybackController.get_time_position Playback states --------------- .. automethod:: mopidy.core.PlaybackController.get_state .. automethod:: mopidy.core.PlaybackController.set_state .. class:: mopidy.core.PlaybackState .. attribute:: STOPPED :annotation: = 'stopped' .. attribute:: PLAYING :annotation: = 'playing' .. attribute:: PAUSED :annotation: = 'paused' Library controller ================== .. class:: mopidy.core.LibraryController .. automethod:: mopidy.core.LibraryController.browse .. automethod:: mopidy.core.LibraryController.search .. automethod:: mopidy.core.LibraryController.lookup .. automethod:: mopidy.core.LibraryController.refresh .. automethod:: mopidy.core.LibraryController.get_images .. automethod:: mopidy.core.LibraryController.get_distinct Playlists controller ==================== .. class:: mopidy.core.PlaylistsController .. automethod:: mopidy.core.PlaylistsController.get_uri_schemes Fetching -------- .. automethod:: mopidy.core.PlaylistsController.as_list .. automethod:: mopidy.core.PlaylistsController.get_items .. automethod:: mopidy.core.PlaylistsController.lookup .. automethod:: mopidy.core.PlaylistsController.refresh Manipulating ------------ .. automethod:: mopidy.core.PlaylistsController.create .. automethod:: mopidy.core.PlaylistsController.save .. automethod:: mopidy.core.PlaylistsController.delete Mixer controller ================ .. class:: mopidy.core.MixerController .. automethod:: mopidy.core.MixerController.get_mute .. automethod:: mopidy.core.MixerController.set_mute .. automethod:: mopidy.core.MixerController.get_volume .. automethod:: mopidy.core.MixerController.set_volume History controller ================== .. class:: mopidy.core.HistoryController .. automethod:: mopidy.core.HistoryController.get_history .. automethod:: mopidy.core.HistoryController.get_length Core events =========== .. autoclass:: mopidy.core.CoreListener :members: Deprecated API features ======================= .. warning:: Though these features still work, they are slated to go away in the next major Mopidy release. Core ---- .. autoattribute:: mopidy.core.Core.version .. autoattribute:: mopidy.core.Core.uri_schemes TracklistController ------------------- .. autoattribute:: mopidy.core.TracklistController.tl_tracks .. autoattribute:: mopidy.core.TracklistController.tracks .. autoattribute:: mopidy.core.TracklistController.version .. autoattribute:: mopidy.core.TracklistController.length .. autoattribute:: mopidy.core.TracklistController.consume .. autoattribute:: mopidy.core.TracklistController.random .. autoattribute:: mopidy.core.TracklistController.repeat .. autoattribute:: mopidy.core.TracklistController.single PlaybackController ------------------ .. automethod:: mopidy.core.PlaybackController.get_mute .. automethod:: mopidy.core.PlaybackController.get_volume .. autoattribute:: mopidy.core.PlaybackController.current_tl_track .. autoattribute:: mopidy.core.PlaybackController.current_track .. autoattribute:: mopidy.core.PlaybackController.state .. autoattribute:: mopidy.core.PlaybackController.time_position .. autoattribute:: mopidy.core.PlaybackController.mute .. autoattribute:: mopidy.core.PlaybackController.volume LibraryController ----------------- .. automethod:: mopidy.core.LibraryController.find_exact PlaylistsController ------------------- .. automethod:: mopidy.core.PlaylistsController.filter .. automethod:: mopidy.core.PlaylistsController.get_playlists .. autoattribute:: mopidy.core.PlaylistsController.playlists Mopidy-2.1.0/docs/api/ext.rst0000644000076500000240000000044213032547651016230 0ustar jodalstaff00000000000000.. _ext-api: ********************************** :mod:`mopidy.ext` -- Extension API ********************************** If you want to learn how to make Mopidy extensions, read :ref:`extensiondev`. .. automodule:: mopidy.ext :synopsis: Extension API for extending Mopidy :members: Mopidy-2.1.0/docs/api/frontend.rst0000644000076500000240000000307013032547651017247 0ustar jodalstaff00000000000000.. _frontend-api: ************ Frontend API ************ The following requirements applies to any frontend implementation: - A frontend MAY do mostly whatever it wants to, including creating threads, opening TCP ports and exposing Mopidy for a group of clients. - A frontend MUST implement at least one `Pykka `_ actor, called the "main actor" from here on. - The main actor MUST accept two constructor arguments: - ``config``, which is a dict structure with the entire Mopidy configuration. - ``core``, which will be an :class:`ActorProxy ` for the core actor. This object gives access to the full :ref:`core-api`. - It MAY use additional actors to implement whatever it does, and using actors in frontend implementations is encouraged. - The frontend is enabled if the extension it is part of is enabled. See :ref:`extensiondev` for more information. - The main actor MUST be able to start and stop the frontend when the main actor is started and stopped. - The frontend MAY require additional config values to be set for it to work. - Such config values MUST be documented. - The main actor MUST raise the :exc:`mopidy.exceptions.FrontendError` with a descriptive error message if the defined config values are not adequate for the frontend to work properly. - Any actor which is part of the frontend MAY implement the :class:`mopidy.core.CoreListener` interface to receive notification of the specified events. Frontend implementations ======================== See :ref:`ext-frontends`. Mopidy-2.1.0/docs/api/http-server.rst0000644000076500000240000001420413032547651017714 0ustar jodalstaff00000000000000.. _http-server-api: ******************** HTTP server side API ******************** The :ref:`ext-http` extension comes with an HTTP server to host Mopidy's :ref:`http-api`. This web server can also be used by other extensions that need to expose something over HTTP. The HTTP server side API can be used to: - host static files for e.g. a Mopidy client written in pure JavaScript, - host a `Tornado `__ application, or - host a WSGI application, including e.g. Flask applications. To host static files using the web server, an extension needs to register a name and a file path in the extension registry under the ``http:static`` key. To extend the web server with a web application, an extension must register a name and a factory function in the extension registry under the ``http:app`` key. For details on how to make a Mopidy extension, see the :ref:`extensiondev` guide. .. _static-web-client: Static web client example ========================= To serve static files, you just need to register an ``http:static`` dictionary in the extension registry. The dictionary must have two keys: ``name`` and ``path``. The ``name`` is used to build the URL the static files will be served on. By convention, it should be identical with the extension's :attr:`~mopidy.ext.Extension.ext_name`, like in the following example. The ``path`` tells Mopidy where on the disk the static files are located. Assuming that the code below is located in the file :file:`mywebclient/__init__.py`, the files in the directory :file:`mywebclient/static/` will be made available at ``/mywebclient/`` on Mopidy's web server. For example, :file:`mywebclient/static/foo.html` will be available at http://localhost:6680/mywebclient/foo.html. :: from __future__ import absolute_import, unicode_literals import os from mopidy import ext class MyWebClientExtension(ext.Extension): ext_name = 'mywebclient' def setup(self, registry): registry.add('http:static', { 'name': self.ext_name, 'path': os.path.join(os.path.dirname(__file__), 'static'), }) # See the Extension API for the full details on this class Tornado application example =========================== The :ref:`ext-http` extension's web server is based on the `Tornado `__ web framework. Thus, it has first class support for Tornado request handlers. In the following example, we create a :class:`tornado.web.RequestHandler` called :class:`MyRequestHandler` that responds to HTTP GET requests with the string ``Hello, world! This is Mopidy $version``, where it gets the Mopidy version from Mopidy's core API. To hook the request handler into Mopidy's web server, we must register a dictionary under the ``http:app`` key in the extension registry. The dictionary must have two keys: ``name`` and ``factory``. The ``name`` is used to build the URL the app will be served on. By convention, it should be identical with the extension's :attr:`~mopidy.ext.Extension.ext_name`, like in the following example. The ``factory`` must be a function that accepts two arguments, ``config`` and ``core``, respectively a dict structure of Mopidy's config and a :class:`pykka.ActorProxy` to the full Mopidy core API. The ``factory`` function must return a list of Tornado request handlers. The URL patterns of the request handlers should not include the ``name``, as that will be prepended to the URL patterns by the web server. When the extension is installed, Mopidy will respond to requests to http://localhost:6680/mywebclient/ with the string ``Hello, world! This is Mopidy $version``. :: from __future__ import absolute_import, unicode_literals import os import tornado.web from mopidy import ext class MyRequestHandler(tornado.web.RequestHandler): def initialize(self, core): self.core = core def get(self): self.write( 'Hello, world! This is Mopidy %s' % self.core.get_version().get()) def my_app_factory(config, core): return [ ('/', MyRequestHandler, {'core': core}) ] class MyWebClientExtension(ext.Extension): ext_name = 'mywebclient' def setup(self, registry): registry.add('http:app', { 'name': self.ext_name, 'factory': my_app_factory, }) # See the Extension API for the full details on this class WSGI application example ======================== WSGI applications are second-class citizens on Mopidy's HTTP server. The WSGI applications are run inside Tornado, which is based on non-blocking I/O and a single event loop. In other words, your WSGI applications will only have a single thread to run on, and if your application is doing blocking I/O, it will block all other requests from being handled by the web server as well. The example below shows how a WSGI application that returns the string ``Hello, world! This is Mopidy $version`` on all requests. The WSGI application is wrapped as a Tornado application and mounted at http://localhost:6680/mywebclient/. :: from __future__ import absolute_import, unicode_literals import os import tornado.web import tornado.wsgi from mopidy import ext def my_app_factory(config, core): def wsgi_app(environ, start_response): status = '200 OK' response_headers = [('Content-type', 'text/plain')] start_response(status, response_headers) return [ 'Hello, world! This is Mopidy %s\n' % self.core.get_version().get() ] return [ ('(.*)', tornado.web.FallbackHandler, { 'fallback': tornado.wsgi.WSGIContainer(wsgi_app), }), ] class MyWebClientExtension(ext.Extension): ext_name = 'mywebclient' def setup(self, registry): registry.add('http:app', { 'name': self.ext_name, 'factory': my_app_factory, }) # See the Extension API for the full details on this class API implementors ================ See :ref:`ext-web`. Mopidy-2.1.0/docs/api/http.rst0000644000076500000240000000665313032547651016421 0ustar jodalstaff00000000000000.. _http-api: ***************** HTTP JSON-RPC API ***************** The :ref:`ext-http` extension makes Mopidy's :ref:`core-api` available using JSON-RPC over HTTP using HTTP POST and WebSockets. We also provide a JavaScript wrapper, called :ref:`Mopidy.js `, around the JSON-RPC over WebSocket API for use both from browsers and Node.js. The :ref:`http-explore-extension` extension, can also be used to get you familiarized with HTTP based APIs. .. _http-post-api: HTTP POST API ============= The Mopidy web server accepts HTTP requests with the POST method to http://localhost:6680/mopidy/rpc, where the ``localhost:6680`` part will vary with your local setup. The HTTP POST endpoint gives you access to Mopidy's full core API, but does not give you notification on events. If you need to listen to events, you should probably use the WebSocket API instead. Example usage from the command line:: $ curl -d '{"jsonrpc": "2.0", "id": 1, "method": "core.playback.get_state"}' http://localhost:6680/mopidy/rpc {"jsonrpc": "2.0", "id": 1, "result": "stopped"} For details on the request and response format, see :ref:`json-rpc`. .. _websocket-api: WebSocket API ============= The Mopidy web server exposes a WebSocket at http://localhost:6680/mopidy/ws, where the ``localhost:6680`` part will vary with your local setup. The WebSocket gives you access to Mopidy's full API and enables Mopidy to instantly push events to the client, as they happen. On the WebSocket we send two different kind of messages: The client can send :ref:`JSON-RPC 2.0 requests `, and the server will respond with JSON-RPC 2.0 responses. In addition, the server will send :ref:`event messages ` when something happens on the server. Both message types are encoded as JSON objects. If you're using the API from JavaScript, either in the browser or in Node.js, you should use :ref:`mopidy-js` which wraps the WebSocket API in a nice JavaScript API. .. _json-rpc: JSON-RPC 2.0 messages ===================== JSON-RPC 2.0 messages can be recognized by checking for the key named ``jsonrpc`` with the string value ``2.0``. For details on the messaging format, please refer to the `JSON-RPC 2.0 spec `_. All methods in the :ref:`core-api` is made available through JSON-RPC calls over the WebSocket. For example, :meth:`mopidy.core.PlaybackController.play` is available as the JSON-RPC method ``core.playback.play``. Example JSON-RPC request:: {"jsonrpc": "2.0", "id": 1, "method": "core.playback.get_current_track"} Example JSON-RPC response:: {"jsonrpc": "2.0", "id": 1, "result": {"__model__": "Track", "...": "..."}} The JSON-RPC method ``core.describe`` returns a data structure describing all available methods. If you're unsure how the core API maps to JSON-RPC, having a look at the ``core.describe`` response can be helpful. .. _json-events: Event messages ============== Event objects will always have a key named ``event`` whose value is the event type. Depending on the event type, the event may include additional fields for related data. The events maps directly to the :class:`mopidy.core.CoreListener` API. Refer to the :class:`~mopidy.core.CoreListener` method names is the available event types. The :class:`~mopidy.core.CoreListener` method's keyword arguments are all included as extra fields on the event objects. Example event message:: {"event": "track_playback_started", "track": {...}} Mopidy-2.1.0/docs/api/httpclient.rst0000644000076500000240000000043213032547651017605 0ustar jodalstaff00000000000000.. _httpclient-helper: ************************************************ :mod:`mopidy.httpclient` --- HTTP Client helpers ************************************************ .. automodule:: mopidy.httpclient :synopsis: HTTP Client helpers for Mopidy its Extensions. :members: Mopidy-2.1.0/docs/api/index.rst0000644000076500000240000000077113032547651016544 0ustar jodalstaff00000000000000.. _api-ref: ************* API reference ************* .. note:: Only APIs documented here are public and open for use by Mopidy extensions. Concepts ======== .. toctree:: architecture models Basics ====== .. toctree:: core frontend backend ext Web/JavaScript ============== .. toctree:: http-server http js Audio ===== .. toctree:: audio mixer Utilities ========= .. toctree:: commands config httpclient zeroconf Mopidy-2.1.0/docs/api/js.rst0000644000076500000240000003607313032547651016055 0ustar jodalstaff00000000000000.. _mopidy-js: **************************** Mopidy.js JavaScript library **************************** We've made a JavaScript library, Mopidy.js, which wraps the :ref:`websocket-api` and gets you quickly started with working on your client instead of figuring out how to communicate with Mopidy. Getting the library for browser use =================================== Regular and minified versions of Mopidy.js, ready for use, is installed together with Mopidy. When the HTTP extension is enabled, the files are available at: - http://localhost:6680/mopidy/mopidy.js - http://localhost:6680/mopidy/mopidy.min.js You may need to adjust hostname and port for your local setup. Thus, if you use Mopidy to host your web client, like described in :ref:`static-web-client`, you can load the latest version of Mopidy.js by adding the following script tag to your HTML file: .. code-block:: html If you don't use Mopidy to host your web client, you can find the JS files in the Git repo at: - ``mopidy/http/data/mopidy.js`` - ``mopidy/http/data/mopidy.min.js`` Getting the library for Node.js or Browserify use ================================================= If you want to use Mopidy.js from Node.js or on the web through Browserify, you can install Mopidy.js using npm:: npm install mopidy After npm completes, you can import Mopidy.js using ``require()``: .. code-block:: js var Mopidy = require("mopidy"); Getting the library for development on the library ================================================== If you want to work on the Mopidy.js library itself, you'll find the source code and a complete development setup in the `Mopidy.js Git repo `_. The instructions in ``README.md`` will guide you on your way. Creating an instance ==================== Once you have Mopidy.js loaded, you need to create an instance of the wrapper: .. code-block:: js var mopidy = new Mopidy(); When you instantiate ``Mopidy()`` without arguments, it will connect to the WebSocket at ``/mopidy/ws/`` on the current host. Thus, if you don't host your web client using Mopidy's web server, or if you use Mopidy.js from a Node.js environment, you'll need to pass the URL to the WebSocket end point: .. code-block:: js var mopidy = new Mopidy({ webSocketUrl: "ws://localhost:6680/mopidy/ws/" }); It is also possible to create an instance first and connect to the WebSocket later: .. code-block:: js var mopidy = new Mopidy({autoConnect: false}); // ... do other stuff, like hooking up events ... mopidy.connect(); When creating an instance, you can specify the following settings: ``autoConnect`` Whether or not to connect to the WebSocket on instance creation. Defaults to true. ``backoffDelayMin`` The minimum number of milliseconds to wait after a connection error before we try to reconnect. For every failed attempt, the backoff delay is doubled until it reaches ``backoffDelayMax``. Defaults to 1000. ``backoffDelayMax`` The maximum number of milliseconds to wait after a connection error before we try to reconnect. Defaults to 64000. ``callingConvention`` Which calling convention to use when calling methods. If set to "by-position-only", methods expect to be called with positional arguments, like ``mopidy.foo.bar(null, true, 2)``. If set to "by-position-or-by-name", methods expect to be called either with an array of position arguments, like ``mopidy.foo.bar([null, true, 2])``, or with an object of named arguments, like ``mopidy.foo.bar({id: 2})``. The advantage of the "by-position-or-by-name" calling convention is that arguments with default values can be left out of the named argument object. Using named arguments also makes the code more readable, and more resistent to future API changes. .. note:: For backwards compatibility, the default is "by-position-only". In the future, the default will change to "by-position-or-by-name". You should explicitly set this setting to your choice, so you won't be affected when the default changes. .. versionadded:: 0.19 (Mopidy.js 0.4) ``console`` If set, this object will be used to log errors from Mopidy.js. This is mostly useful for testing Mopidy.js. ``webSocket`` An existing WebSocket object to be used instead of creating a new WebSocket. Defaults to undefined. ``webSocketUrl`` URL used when creating new WebSocket objects. Defaults to ``ws:///mopidy/ws``, or ``ws://localhost/mopidy/ws`` if ``document.location.host`` isn't available, like it is in the browser environment. Hooking up to events ==================== Once you have a Mopidy.js object, you can hook up to the events it emits. To explore your possibilities, it can be useful to subscribe to all events and log them: .. code-block:: js mopidy.on(console.log.bind(console)); Several types of events are emitted: - You can get notified about when the Mopidy.js object is connected to the server and ready for method calls, when it's offline, and when it's trying to reconnect to the server by looking at the events ``state:online``, ``state:offline``, ``reconnectionPending``, and ``reconnecting``. - You can get events sent from the Mopidy server by looking at the events with the name prefix ``event:``, like ``event:trackPlaybackStarted``. - You can introspect what happens internally on the WebSocket by looking at the events emitted with the name prefix ``websocket:``. Mopidy.js uses the event emitter library `BANE `_, so you should refer to BANE's short API documentation to see how you can hook up your listeners to the different events. Calling core API methods ======================== Once your Mopidy.js object has connected to the Mopidy server and emits the ``state:online`` event, it is ready to accept core API method calls: .. code-block:: js mopidy.on("state:online", function () { mopidy.playback.next(); }); Any calls you make before the ``state:online`` event is emitted will fail. If you've hooked up an errback (more on that a bit later) to the promise returned from the call, the errback will be called with a ``Mopidy.ConnectionError`` instance. All methods in Mopidy's :ref:`core-api` is available via Mopidy.js. For example, the :meth:`mopidy.core.PlaybackController.get_state` method is available in JSON-RPC as the method ``core.playback.get_state`` and in Mopidy.js as ``mopidy.playback.getState()``. Both the WebSocket API and the JavaScript API are based on introspection of the core Python API. Thus, they will always be up to date and immediately reflect any changes we do to the core API. The best way to explore the JavaScript API, is probably by opening your browser's console, and using its tab completion to navigate the API. You'll find the Mopidy core API exposed under ``mopidy.playback``, ``mopidy.tracklist``, ``mopidy.playlists``, and ``mopidy.library``. All methods in the JavaScript API have an associated data structure describing the Python params it expects, and most methods also have the Python API documentation available. This is available right there in the browser console, by looking at the method's ``description`` and ``params`` attributes: .. code-block:: js console.log(mopidy.playback.next.params); console.log(mopidy.playback.next.description); JSON-RPC 2.0 limits method parameters to be sent *either* by-position or by-name. Combinations of both, like we're used to from Python, isn't supported by JSON-RPC 2.0. Obviously, you'll want to get a return value from many of your method calls. Since everything is happening across the WebSocket and maybe even across the network, you'll get the results asynchronously. Instead of having to pass callbacks and errbacks to every method you call, the methods return "promise" objects, which you can use to pipe the future result as input to another method, or to hook up callback and errback functions. .. code-block:: js var track = mopidy.playback.getCurrentTrack(); // => ``track`` isn't a track, but a "promise" object Instead, typical usage will look like this: .. code-block:: js var printCurrentTrack = function (track) { if (track) { console.log("Currently playing:", track.name, "by", track.artists[0].name, "from", track.album.name); } else { console.log("No current track"); } }; mopidy.playback.getCurrentTrack() .done(printCurrentTrack); The function passed to ``done()``, ``printCurrentTrack``, is the callback that will be called if the method call succeeds. If anything goes wrong, ``done()`` will throw an exception. If you want to explicitly handle any errors and avoid an exception being thrown, you can register an error handler function anywhere in a promise chain. The function will be called with the error object as the only argument: .. code-block:: js mopidy.playback.getCurrentTrack() .catch(console.error.bind(console)) .done(printCurrentTrack); You can also register the error handler at the end of the promise chain by passing it as the second argument to ``done()``: .. code-block:: js mopidy.playback.getCurrentTrack() .done(printCurrentTrack, console.error.bind(console)); If you don't hook up an error handler function and never call ``done()`` on the promise object, warnings will be logged to the console complaining that you have unhandled errors. In general, unhandled errors will not go silently missing. The promise objects returned by Mopidy.js adheres to the `CommonJS Promises/A `_ standard. We use the implementation known as `when.js `_, and reexport it as ``Mopidy.when`` so you don't have to duplicate the dependency. Please refer to when.js' documentation or the standard for further details on how to work with promise objects. Cleaning up =========== If you for some reason want to clean up after Mopidy.js before the web page is closed or navigated away from, you can close the WebSocket, unregister all event listeners, and delete the object like this: .. code-block:: js // Close the WebSocket without reconnecting. Letting the object be garbage // collected will have the same effect, so this isn't strictly necessary. mopidy.close(); // Unregister all event listeners. If you don't do this, you may have // lingering references to the object causing the garbage collector to not // clean up after it. mopidy.off(); // Delete your reference to the object, so it can be garbage collected. mopidy = null; Example to get started with =========================== 1. Make sure that you've installed all dependencies required by :ref:`ext-http`. 2. Create an empty directory for your web client. 3. Change the :confval:`http/static_dir` config value to point to your new directory. 4. Start/restart Mopidy. 5. Create a file in the directory named ``index.html`` containing e.g. "Hello, world!". 6. Visit http://localhost:6680/ to confirm that you can view your new HTML file there. 7. Include Mopidy.js in your web page: .. code-block:: html 8. Add one of the following Mopidy.js examples of how to queue and start playback of your first playlist either to your web page or a JavaScript file that you include in your web page. "Imperative" style: .. code-block:: js var trackDesc = function (track) { return track.name + " by " + track.artists[0].name + " from " + track.album.name; }; var queueAndPlay = function (playlistNum, trackNum) { playlistNum = playlistNum || 0; trackNum = trackNum || 0; mopidy.playlists.getPlaylists().then(function (playlists) { var playlist = playlists[playlistNum]; console.log("Loading playlist:", playlist.name); return mopidy.tracklist.add(playlist.tracks).then(function (tlTracks) { return mopidy.playback.play(tlTracks[trackNum]).then(function () { return mopidy.playback.getCurrentTrack().then(function (track) { console.log("Now playing:", trackDesc(track)); }); }); }); }) .catch(console.error.bind(console)) // Handle errors here .done(); // ...or they'll be thrown here }; var mopidy = new Mopidy(); // Connect to server mopidy.on(console.log.bind(console)); // Log all events mopidy.on("state:online", queueAndPlay); Approximately the same behavior in a more functional style, using chaining of promises. .. code-block:: js var get = function (key, object) { return object[key]; }; var printTypeAndName = function (model) { console.log(model.__model__ + ": " + model.name); // By returning the playlist, this function can be inserted // anywhere a model with a name is piped in the chain. return model; }; var trackDesc = function (track) { return track.name + " by " + track.artists[0].name + " from " + track.album.name; }; var printNowPlaying = function () { // By returning any arguments we get, the function can be inserted // anywhere in the chain. var args = arguments; return mopidy.playback.getCurrentTrack() .then(function (track) { console.log("Now playing:", trackDesc(track)); return args; }); }; var queueAndPlay = function (playlistNum, trackNum) { playlistNum = playlistNum || 0; trackNum = trackNum || 0; mopidy.playlists.getPlaylists() // => list of Playlists .fold(get, playlistNum) // => Playlist .then(printTypeAndName) // => Playlist .fold(get, 'tracks') // => list of Tracks .then(mopidy.tracklist.add) // => list of TlTracks .fold(get, trackNum) // => TlTrack .then(mopidy.playback.play) // => null .then(printNowPlaying) // => null .catch(console.error.bind(console)) // Handle errors here // => null .done(); // ...or they'll be thrown here }; var mopidy = new Mopidy(); // Connect to server mopidy.on(console.log.bind(console)); // Log all events mopidy.on("state:online", queueAndPlay); 9. The web page should now queue and play your first playlist every time you load it. See the browser's console for output from the function, any errors, and all events that are emitted. Mopidy-2.1.0/docs/api/mixer.rst0000644000076500000240000000056513032547651016562 0ustar jodalstaff00000000000000.. _mixer-api: *************************************** :mod:`mopidy.mixer` --- Audio mixer API *************************************** .. module:: mopidy.mixer :synopsis: The audio mixer API .. autoclass:: mopidy.mixer.Mixer :members: .. autoclass:: mopidy.mixer.MixerListener :members: Mixer implementations ===================== See :ref:`ext-mixers`. Mopidy-2.1.0/docs/api/models.rst0000644000076500000240000000563213032547651016721 0ustar jodalstaff00000000000000************************************ :mod:`mopidy.models` --- Data models ************************************ These immutable data models are used for all data transfer within the Mopidy backends and between the backends and the MPD frontend. All fields are optional and immutable. In other words, they can only be set through the class constructor during instance creation. Additionally fields are type checked. If you want to modify a model, use the :meth:`~mopidy.models.ImmutableObject.replace` method. It accepts keyword arguments for the parts of the model you want to change, and copies the rest of the data from the model you call it on. Example:: >>> from mopidy.models import Track >>> track1 = Track(name='Christmas Carol', length=171) >>> track1 Track(artists=[], length=171, name='Christmas Carol') >>> track2 = track1.replace(length=37) >>> track2 Track(artists=[], length=37, name='Christmas Carol') >>> track1 Track(artists=[], length=171, name='Christmas Carol') Data model relations ==================== .. digraph:: model_relations Ref -> Album [ style="dotted", weight=1 ] Ref -> Artist [ style="dotted", weight=1 ] Ref -> Directory [ style="dotted", weight=1 ] Ref -> Playlist [ style="dotted", weight=1 ] Ref -> Track [ style="dotted", weight=1 ] Playlist -> Track [ label="has 0..n", weight=2 ] Track -> Album [ label="has 0..1", weight=10 ] Track -> Artist [ label="has 0..n", weight=10 ] Album -> Artist [ label="has 0..n", weight=10 ] Image SearchResult -> Artist [ label="has 0..n", weight=1 ] SearchResult -> Album [ label="has 0..n", weight=1 ] SearchResult -> Track [ label="has 0..n", weight=1 ] TlTrack -> Track [ label="has 1", weight=20 ] Data model API ============== .. module:: mopidy.models :synopsis: Data model API .. autoclass:: mopidy.models.Ref :members: .. autoclass:: mopidy.models.Track :members: .. autoclass:: mopidy.models.Album :members: .. autoclass:: mopidy.models.Artist :members: .. autoclass:: mopidy.models.Playlist :members: .. autoclass:: mopidy.models.Image :members: .. autoclass:: mopidy.models.TlTrack :members: .. autoclass:: mopidy.models.SearchResult :members: Data model helpers ================== .. autoclass:: mopidy.models.ImmutableObject :members: .. autoclass:: mopidy.models.ValidatedImmutableObject :members: replace Data model (de)serialization ---------------------------- .. autofunction:: mopidy.models.model_json_decoder .. autoclass:: mopidy.models.ModelJSONEncoder Data model field types ---------------------- .. autoclass:: mopidy.models.fields.Field .. autoclass:: mopidy.models.fields.String .. autoclass:: mopidy.models.fields.Identifier .. autoclass:: mopidy.models.fields.URI .. autoclass:: mopidy.models.fields.Date .. autoclass:: mopidy.models.fields.Integer .. autoclass:: mopidy.models.fields.Collection Mopidy-2.1.0/docs/api/zeroconf.rst0000644000076500000240000000041413032547651017254 0ustar jodalstaff00000000000000.. _zeroconf-api: *************************************** :mod:`mopidy.zeroconf` --- Zeroconf API *************************************** .. module:: mopidy.zeroconf :synopsis: Helper for publishing of services on Zeroconf .. autoclass:: Zeroconf :members: Mopidy-2.1.0/docs/audio.rst0000644000076500000240000001017613032547651015765 0ustar jodalstaff00000000000000.. _audio: ********************* Advanced audio setups ********************* Mopidy has very few :ref:`audio configs `, but the ones we have are very powerful because they let you modify the GStreamer audio pipeline directly. Here we describe some use cases that can be solved with the audio configs and GStreamer. .. _custom-sink: Custom audio sink ================= If you have successfully installed GStreamer, and then run the ``gst-inspect-1.0`` command, you should see a long listing of installed plugins, ending in a summary line:: $ gst-inspect-1.0 ... long list of installed plugins ... Total count: 233 plugins, 1339 features Next, you should be able to produce a audible tone by running:: gst-launch-1.0 audiotestsrc ! audioresample ! autoaudiosink If you cannot hear any sound when running this command, you won't hear any sound from Mopidy either, as Mopidy by default uses GStreamer's ``autoaudiosink`` to play audio. Thus, make this work before you file a bug against Mopidy. If you for some reason want to use some other GStreamer audio sink than ``autoaudiosink``, you can set the :confval:`audio/output` config value to a partial GStreamer pipeline description describing the GStreamer sink you want to use. Example ``mopidy.conf`` for using OSS4: .. code-block:: ini [audio] output = oss4sink Again, this is the equivalent of the following ``gst-launch-1.0`` command, so make this work first:: gst-launch-1.0 audiotestsrc ! audioresample ! oss4sink .. _streaming: Streaming through Icecast ========================= If you want to play the audio on another computer than the one running Mopidy, you can stream the audio from Mopidy through an Icecast audio streaming server. Multiple media players can then be connected to the streaming server simultaneously. To use the Icecast output, do the following: #. Install, configure and start the Icecast server. It can be found in the ``icecast2`` package in Debian/Ubuntu. #. Set the :confval:`audio/output` config value to encode the output audio to MP3 (``lamemp3enc``) or Ogg Vorbis (``audioresample ! audioconvert ! vorbisenc ! oggmux``) and send it to Icecast (``shout2send``). You might also need to change the ``shout2send`` default settings, run ``gst-inspect-1.0 shout2send`` to see the available settings. Most likely you want to change ``ip``, ``username``, ``password``, and ``mount``. Example for MP3 streaming: .. code-block:: ini [audio] output = lamemp3enc ! shout2send mount=mopidy ip=127.0.0.1 port=8000 password=hackme Example for Ogg Vorbis streaming: .. code-block:: ini [audio] output = audioresample ! audioconvert ! vorbisenc ! oggmux ! shout2send mount=mopidy ip=127.0.0.1 port=8000 password=hackme Other advanced setups are also possible for outputs. Basically, anything you can use with the ``gst-launch-1.0`` command can be plugged into :confval:`audio/output`. Known issues ------------ - **Changing track:** As of Mopidy 1.2 we support gapless playback, and the stream does no longer end when changing from one track to another. - **Previous/next:** The stream ends on previous and next. See :issue:`1306` for details. This can be worked around using a fallback stream, as described below. - **Pause:** Pausing playback stops the stream. This is probably not something we're going to fix. This can be worked around using a fallback stream, as described below. - **Metadata:** Track metadata is mostly missing from the stream. For Spotify, fixing :issue:`1357` should help. The general issue for other extensions is :issue:`866`. Fallback stream --------------- By using a *fallback stream* playing silence, you can somewhat mitigate the known issues above. Example Icecast configuration: .. code-block:: xml /mopidy /silence.mp3 1 You can easily find MP3 files with just silence by searching the web. The ``silence.mp3`` file needs to be placed in the directory defined by ``...`` in the Icecast configuration. Mopidy-2.1.0/docs/authors.rst0000644000076500000240000000123413032555372016343 0ustar jodalstaff00000000000000.. _authors: ******* Authors ******* Mopidy is copyright 2009-2017 Stein Magnus Jodal and contributors. Mopidy is licensed under the `Apache License, Version 2.0 `_. The following persons have contributed to Mopidy. The list is in the order of first contribution. For details on who have contributed what, please refer to our Git repository. .. include:: ../AUTHORS If want to help us making Mopidy better, the best way to do so is to contribute back to the community, either through code, documentation, tests, bug reports, or by helping other users, spreading the word, etc. See :ref:`contributing` for a head start. Mopidy-2.1.0/docs/changelog.rst0000644000076500000240000045677313032555372016633 0ustar jodalstaff00000000000000********* Changelog ********* This changelog is used to track all major changes to Mopidy. v2.1.0 (2017-01-02) =================== Mopidy 2.1.0, a feature release, is finally out! Since the release of 2.0.0, it has been quiet times in Mopidy circles. This is mainly caused by core developers moving from the enterprise to startups or into positions with more responsibility, and getting more kids. Of course, this has greatly decreased the amount of spare time available for open source work. But fear not, Mopidy is not dead. We've returned from year long periods with close to no activity before, and will hopefully do so again. Despite all, we've closed or merged approximately 18 issues and pull requests through about 170 commits since the release of v2.0.1 back in August. The major new feature in Mopidy 2.1 is support for restoring playback state and the current playlist after a restart. This feature was contributed by `Jens Lütjen `_. - Dependencies: Drop support for Tornado < 3.2. Though strictly a breaking change, this shouldn't have any effect on what systems we support, as Tornado 3.2 or newer is available from the distros that include GStreamer >= 1.2.3, which we already require. - Core: Mopidy restores its last state when started. Can be enabled by setting the config value :confval:`core/restore_state` to ``true``. - Audio: Update scanner to handle sources such as RTSP. (Fixes: :issue:`1479`) - Audio: The scanner set the date to :attr:`mopidy.models.Track.date` and :attr:`mopidy.models.Album.date` (Fixes: :issue:`1741`) - File: Add new config value :confval:`file/excluded_file_extensions`. - Local: Skip hidden directories directly in ``media_dir``. (Fixes: :issue:`1559`, PR: :issue:`1555`) - MPD: Fix MPD protocol for ``replay_gain_status`` command. The actual command remains unimplemented. (PR: :issue:`1520`) - MPD: Add ``nextsong`` and ``nextsongid`` to the response of MPD ``status`` command. (Fixes: :issue:`1133`, :issue:`1516`, PR: :issue:`1523`) - MPD: Fix inconsistent playlist state after playlist is emptied with repeat and consume mode turned on. (Fixes: :issue:`1512`, PR: :issue:`1549`) - Audio: Improve handling of duration in scanning. VBR tracks should fail less frequently and MMS works again. (Fixes: :issue:`1553`, PR :issue:`1575`, :issue:`1576`, :issue:`1577`) v2.0.1 (2016-08-16) =================== Bug fix release. - Audio: Set ``soft-volume`` flag on GStreamer's playbin element. This is the playbin's default, but we managed to override it when configuring the playbin to only process audio. This should fix the "Volume/mute is not available" warning. - Audio: Fix buffer conversion. This fixes image extraction. (Fixes: :issue:`1469`, PR: :issue:`1472`) - Audio: Update scan logic to workaround GStreamer issue where tags and duration might only be available after we start playing. (Fixes: :issue:`935`, :issue:`1453`, :issue:`1474`, :issue:`1480`, PR: :issue:`1487`) - Audio: Better handling of seek when position does not match the expected pending position. (Fixes: :issue:`1462`, :issue:`1505`, PR: :issue:`1496`) - Audio: Handle bad date tags from audio, thanks to Mario Lang and Tom Parker who fixed this in parallel. (Fixes: :issue:`1506`, PR: :issue:`1525`, :issue:`1517`) - Audio: Make sure scanner handles streams without a duration. (Fixes: :issue:`1526`) - Audio: Ensure audio tags are never ``None``. (Fixes: :issue:`1449`) - Audio: Update :meth:`mopidy.audio.Audio.set_metadata` to postpone sending tags if there is a pending track change. (Fixes: :issue:`1357`, PR: :issue:`1538`) - Core: Avoid endless loop if all tracks in the tracklist are unplayable and consume mode is off. (Fixes: :issue:`1221`, :issue:`1454`, PR: :issue:`1455`) - Core: Correctly record the last position of a track when switching to another one. Particularly relevant for Mopidy-Scrobbler users, as before it was essentially unusable. (Fixes: :issue:`1456`, PR: :issue:`1534`) - Models: Fix encoding error if :class:`~mopidy.models.fields.Identifier` fields, like the ``musicbrainz_id`` model fields, contained non-ASCII Unicode data. (Fixes: :issue:`1508`, PR: :issue:`1546`) - File: Ensure path comparison is done between bytestrings only. Fixes crash where a :confval:`file/media_dirs` path contained non-ASCII characters. (Fixes: :issue:`1345`, PR: :issue:`1493`) - Stream: Fix milliseconds vs seconds mistake in timeout handling. (Fixes: :issue:`1521`, PR: :issue:`1522`) - Docs: Fix the rendering of :class:`mopidy.core.Core` and :class:`mopidy.audio.Audio` docs. This should also contribute towards making the Mopidy Debian package build bit-by-bit reproducible. (Fixes: :issue:`1500`) v2.0.0 (2016-02-15) =================== Mopidy 2.0 is here! Since the release of 1.1, we've closed or merged approximately 80 issues and pull requests through about 350 commits by 14 extraordinary people, including 10 newcomers. That's about the same amount of issues and commits as between 1.0 and 1.1. The number of contributors is a bit lower but we didn't have a real life sprint during this development cycle. Thanks to :ref:`everyone ` who has :ref:`contributed `! With the release of Mopidy 1.0 we promised that any extension working with Mopidy 1.0 should continue working with all Mopidy 1.x releases. Mopidy 2.0 is quite a friendly major release and will only break a single extension that we know of: Mopidy-Spotify. To ensure that everything continues working, please upgrade to Mopidy 2.0 and Mopidy-Spotify 3.0 at the same time. No deprecated functionality has been removed in Mopidy 2.0. The major features of Mopidy 2.0 are: - Gapless playback has been mostly implemented. It works as long as you don't change tracks in the middle of a track or use previous and next. In a future release, previous and next will also become gapless. It is now quite easy to have Mopidy streaming audio over the network using Icecast. See the updated :ref:`streaming` docs for details of how to set it up and workarounds for the remaining issues. - Mopidy has upgraded from GStreamer 0.10 to 1.x. This has been in our backlog for more than three years. With this upgrade we're ridding ourselves of years of GStreamer bugs that have been fixed in newer releases, we can get into Debian testing again, and we've removed the last major roadblock for running Mopidy on Python 3. Dependencies ------------ - Mopidy now requires GStreamer >= 1.2.3, as we've finally ported from GStreamer 0.10. Since we're requiring a new major version of our major dependency, we're upping the major version of Mopidy too. (Fixes: :issue:`225`) Core API -------- - Start ``tlid`` counting at 1 instead of 0 to keep in sync with MPD's ``songid``. - :meth:`~mopidy.core.PlaybackController.get_time_position` now returns the seek target while a seek is in progress. This gives better results than just failing the position query. (Fixes: :issue:`312` PR: :issue:`1346`) - Add :meth:`mopidy.core.PlaylistsController.get_uri_schemes`. (PR: :issue:`1362`) - The ``track_playback_ended`` event now includes the correct ``tl_track`` reference when changing to the next track in consume mode. (Fixes: :issue:`1402` PR: :issue:`1403` PR: :issue:`1406`) Models ------ - **Deprecated:** :attr:`mopidy.models.Album.images` is deprecated. Use :meth:`mopidy.core.LibraryController.get_images` instead. (Fixes: :issue:`1325`) Extension support ----------------- - Log exception and continue if an extension crashes during setup. Previously, we let Mopidy crash if an extension's setup crashed. (PR: :issue:`1337`) Local backend ------------- - Made :confval:`local/data_dir` really deprecated. This change breaks older versions of Mopidy-Local-SQLite and Mopidy-Local-Images. M3U backend ----------- - Add :confval:`m3u/base_dir` for resolving relative paths in M3U files. (Fixes: :issue:`1428`, PR: :issue:`1442`) - Derive track name from file name for non-extended M3U playlists. (Fixes: :issue:`1364`, PR: :issue:`1369`) - Major refactoring of the M3U playlist extension. (Fixes: :issue:`1370` PR: :issue:`1386`) - Add :confval:`m3u/default_encoding` and :confval:`m3u/default_extension` config values for improved text encoding support. - No longer scan playlist directory and parse playlists at startup or refresh. Similarly to the file extension, this now happens on request. - Use :class:`mopidy.models.Ref` instances when reading and writing playlists. Therefore, ``Track.length`` is no longer stored in extended M3U playlists and ``#EXTINF`` runtime is always set to -1. - Improve reliability of playlist updates using the core playlist API by applying the write-replace pattern for file updates. Stream backend -------------- - Make sure both lookup and playback correctly handle playlists and our blacklist support. (Fixes: :issue:`1445`, PR: :issue:`1447`) MPD frontend ------------ - Implemented commands for modifying stored playlists: - ``playlistadd`` - ``playlistclear`` - ``playlistdelete`` - ``playlistmove`` - ``rename`` - ``rm`` - ``save`` (Fixes: :issue:`1014`, PR: :issue:`1187`, :issue:`1308`, :issue:`1322`) - Start ``songid`` counting at 1 instead of 0 to match the original MPD server. - Idle events are now emitted on ``seeked`` events. This fix means that clients relying on ``idle`` events now get notified about seeks. (Fixes: :issue:`1331`, PR: :issue:`1347`) - Idle events are now emitted on ``playlists_loaded`` events. This fix means that clients relying on ``idle`` events now get notified about playlist loads. (Fixes: :issue:`1331`, PR: :issue:`1347`) - Event handler for ``playlist_deleted`` has been unbroken. This unreported bug would cause the MPD frontend to crash preventing any further communication via the MPD protocol. (PR: :issue:`1347`) Zeroconf -------- - Require ``stype`` argument to :class:`mopidy.zeroconf.Zeroconf`. - Use Avahi's interface selection by default. (Fixes: :issue:`1283`) - Use Avahi server's hostname instead of ``socket.getfqdn()`` in service display name. Cleanups -------- - Removed warning if :file:`~/.mopidy` exists. We stopped using this location in 0.6, released in October 2011. - Removed warning if :file:`~/.config/mopidy/settings.py` exists. We stopped using this settings file in 0.14, released in April 2013. - The ``on_event`` handler in our listener helper now catches exceptions. This means that any errors in event handling won't crash the actor in question. - Catch errors when loading :confval:`logging/config_file`. (Fixes: :issue:`1320`) - **Breaking:** Removed unused internal :class:`mopidy.internal.process.BaseThread`. This breaks Mopidy-Spotify 1.4.0. Versions < 1.4.0 was already broken by Mopidy 1.1, while versions >= 2.0 doesn't use this class. Audio ----- - **Breaking:** The audio scanner now returns ISO-8601 formatted strings instead of :class:`~datetime.datetime` objects for dates found in tags. Because of this change, we can now return years without months or days, which matches the semantics of the date fields in our data models. - **Breaking:** :meth:`mopidy.audio.Audio.set_appsrc`'s ``caps`` argument has changed format due to the upgrade from GStreamer 0.10 to GStreamer 1. As far as we know, this is only used by Mopidy-Spotify. As an example, with GStreamer 0.10 the Mopidy-Spotify caps was:: audio/x-raw-int, endianness=(int)1234, channels=(int)2, width=(int)16, depth=(int)16, signed=(boolean)true, rate=(int)44100 With GStreamer 1 this changes to:: audio/x-raw,format=S16LE,rate=44100,channels=2,layout=interleaved If your Mopidy backend uses ``set_appsrc()``, please refer to GStreamer documentation for details on the new caps string format. - **Breaking:** :func:`mopidy.audio.utils.create_buffer`'s ``capabilities`` argument is no longer in use and has been removed. As far as we know, this was only used by Mopidy-Spotify. - Duplicate seek events getting to ``appsrc`` based backends is now fixed. This should prevent seeking in Mopidy-Spotify from glitching. (Fixes: :issue:`1404`) - Workaround crash caused by a race that does not seem to affect functionality. This should be fixed properly together with :issue:`1222`. (Fixes: :issue:`1430`, PR: :issue:`1438`) - Add a new config option, :confval:`audio/buffer_time`, for setting the buffer time of the GStreamer queue. If you experience buffering before track changes, it may help to increase this. (Workaround for :issue:`1409`) - ``tags_changed`` events are only emitted for fields that have changed. Previous behavior was to emit this for all fields received from GStreamer. (PR: :issue:`1439`) Gapless ------- - Add partial support for gapless playback. Gapless now works as long as you don't change tracks or use next/previous. (PR: :issue:`1288`) The :ref:`streaming` docs has been updated with the workarounds still needed to properly stream Mopidy audio through Icecast. - Core playback has been refactored to better handle gapless, and async state changes. - Tests have been updated to always use a core actor so async state changes don't trip us up. - Seek events are now triggered when the seek completes. Previously the event was emitted when the seek was requested, not when it completed. Further changes have been made to make seek work correctly for gapless related corner cases. (Fixes: :issue:`1305` PR: :issue:`1346`) v1.1.2 (2016-01-18) =================== Bug fix release. - Main: Catch errors when loading the :confval:`logging/config_file` file. (Fixes: :issue:`1320`) - Core: If changing to another track while the player is paused, the new track would not be added to the history or marked as currently playing. (Fixes: :issue:`1352`, PR: :issue:`1356`) - Core: Skips over unplayable tracks if the user attempts to change tracks while paused, like we already did if in playing state. (Fixes :issue:`1378`, PR: :issue:`1379`) - Core: Make :meth:`~mopidy.core.LibraryController.lookup` ignore tracks with empty URIs. (Partly fixes: :issue:`1340`, PR: :issue:`1381`) - Core: Fix crash if backends emits events with wrong names or arguments. (Fixes: :issue:`1383`) - Stream: If an URI is considered playable, don't consider it as a candidate for playlist parsing. Just looking at MIME type prefixes isn't enough, as for example Ogg Vorbis has the MIME type ``application/ogg``. (Fixes: :issue:`1299`) - Local: If the scan or clear commands are used on a library that does not exist, exit with an error. (Fixes: :issue:`1298`) - MPD: Notify idling clients when a seek is performed. (Fixes: :issue:`1331`) - MPD: Don't return tracks with empty URIs. (Partly fixes: :issue:`1340`, PR: :issue:`1343`) - MPD: Add ``volume`` command that was reintroduced, though still as a deprecated command, in MPD 0.18 and is in use by some clients like mpc. (Fixes: :issue:`1393`, PR: :issue:`1397`) - Proxy: Handle case where :confval:`proxy/port` is either missing from config or set to an empty string. (PR: :issue:`1371`) v1.1.1 (2015-09-14) =================== Bug fix release. - Dependencies: Specify that we need Requests >= 2.0, not just any version. This ensures that we fail earlier if Mopidy is used with a too old Requests. - Core: Make :meth:`mopidy.core.LibraryController.refresh` work for all backends with a library provider. Previously, it wrongly worked for all backends with a playlists provider. (Fixes: :issue:`1257`) - Core: Respect :confval:`core/cache_dir` and :confval:`core/data_dir` config values added in 1.1.0 when creating the dirs Mopidy need to store data. This should not change the behavior for desktop users running Mopidy. When running Mopidy as a system service installed from a package which sets the core dir configs properly (e.g. Debian and Arch packages), this fix avoids the creation of a couple of directories that should not be used, typically :file:`/var/lib/mopidy/.local` and :file:`/var/lib/mopidy/.cache`. (Fixes: :issue:`1259`, PR: :issue:`1266`) - Core: Fix error in :meth:`~mopidy.core.TracklistController.get_eot_tlid` docstring. (Fixes: :issue:`1269`) - Audio: Add ``timeout`` parameter to :meth:`~mopidy.audio.scan.Scanner.scan`. (Part of: :issue:`1250`, PR: :issue:`1281`) - Extension support: Make :meth:`~mopidy.ext.Extension.get_cache_dir`, :meth:`~mopidy.ext.Extension.get_config_dir`, and :meth:`~mopidy.ext.Extension.get_data_dir` class methods, so they can be used without creating an instance of the :class:`~mopidy.ext.Extension` class. (Fixes: :issue:`1275`) - Local: Deprecate :confval:`local/data_dir` and respect :confval:`core/data_dir` instead. This does not change the defaults for desktop users, only system services installed from packages that properly set :confval:`core/data_dir`, like the Debian and Arch packages. (Fixes: :issue:`1259`, PR: :issue:`1266`) - Local: Change default value of :confval:`local/scan_flush_threshold` from 1000 to 100 to shorten the time Mopidy-Local-SQLite blocks incoming requests while scanning the local library. - M3U: Changed default for the :confval:`m3u/playlists_dir` from ``$XDG_DATA_DIR/mopidy/m3u`` to unset, which now means the extension's data dir. This does not change the defaults for desktop users, only system services installed from packages that properly set :confval:`core/data_dir`, like the Debian and Arch pakages. (Fixes: :issue:`1259`, PR: :issue:`1266`) - Stream: Expand nested playlists to find the stream URI. This used to work, but regressed in 1.1.0 with the extraction of stream playlist parsing from GStreamer to being handled by the Mopidy-Stream backend. (Fixes: :issue:`1250`, PR: :issue:`1281`) - Stream: If "file" is present in the :confval:`stream/protocols` config value and the :ref:`ext-file` extension is enabled, we exited with an error because two extensions claimed the same URI scheme. We now log a warning recommending to remove "file" from the :confval:`stream/protocols` config, and then proceed startup. (Fixes: :issue:`1248`, PR: :issue:`1254`) - Stream: Fix bug in new playlist parser. A non-ASCII char in an urilist comment would cause a crash while parsing due to comparison of a non-ASCII bytestring with a Unicode string. (Fixes: :issue:`1265`) - File: Adjust log levels when failing to expand ``$XDG_MUSIC_DIR`` into a real path. This usually happens when running Mopidy as a system service, and thus with a limited set of environment variables. (Fixes: :issue:`1249`, PR: :issue:`1255`) - File: When browsing files, we no longer scan the files to check if they're playable. This makes browsing of the file hierarchy instant for HTTP clients, which do no scanning of the files' metadata, and a bit faster for MPD clients, which no longer scan the files twice. (Fixes: :issue:`1260`, PR: :issue:`1261`) - File: Allow looking up metadata about any ``file://`` URI, just like we did in Mopidy 1.0.x, where Mopidy-Stream handled ``file://`` URIs. In Mopidy 1.1.0, Mopidy-File did not allow one to lookup files outside the directories listed in :confval:`file/media_dir`. This broke Mopidy-Local-SQLite when the :confval:`local/media_dir` directory was not within one of the :confval:`file/media_dirs` directories. For browsing of files, we still limit access to files inside the :confval:`file/media_dir` directories. For lookup, you can now read metadata for any file you know the path of. (Fixes: :issue:`1268`, PR: :issue:`1273`) - Audio: Fix timeout handling in scanner. This regression caused timeouts to expire before it should, causing scans to fail. - Audio: Update scanner to emit MIME type instead of an error when missing a plugin. v1.1.0 (2015-08-09) =================== Mopidy 1.1 is here! Since the release of 1.0, we've closed or merged approximately 65 issues and pull requests through about 400 commits by a record high 20 extraordinary people, including 14 newcomers. That's less issues and commits than in the 1.0 release, but even more contributors, and a doubling of the number of newcomers. Thanks to :ref:`everyone ` who has :ref:`contributed `, especially those that joined the sprint at EuroPython 2015 in Bilbao, Spain a couple of weeks ago! As we promised with the release of Mopidy 1.0, any extension working with Mopidy 1.0 should continue working with all Mopidy 1.x releases. However, this release brings a lot stronger enforcement of our documented APIs. If an extension doesn't use the APIs properly, it may no longer work. The advantage of this change is that Mopidy is now more robust against errors in extensions, and also provides vastly better error messages when extensions misbehave. This should make it easier to create quality extensions. The major features of Mopidy 1.1 are: - Validation of the arguments to all core API methods, as well as all responses from backends and all data model attributes. - New bundled backend, Mopidy-File. It is similar to Mopidy-Local, but allows you to browse and play music from local disk without running a scan to index the music first. The drawback is that it doesn't support searching. - The Mopidy-MPD server should now be up to date with the 0.19 version of the MPD protocol. Dependencies ------------ - Mopidy now requires Requests. - Heads up: Porting from GStreamer 0.10 to 1.x and support for running Mopidy with Python 3.4+ is not far off on our roadmap. Core API -------- - **Deprecated:** Calling the following methods with ``kwargs`` is being deprecated. (PR: :issue:`1090`) - :meth:`mopidy.core.LibraryController.search` - :meth:`mopidy.core.PlaylistsController.filter` - :meth:`mopidy.core.TracklistController.filter` - :meth:`mopidy.core.TracklistController.remove` - Updated core controllers to handle backend exceptions in all calls that rely on multiple backends. (Issue: :issue:`667`) - Update core methods to do strict input checking. (Fixes: :issue:`700`) - Add ``tlid`` alternatives to methods that take ``tl_track`` and also add ``get_{eot,next,previous}_tlid`` methods as light weight alternatives to the ``tl_track`` versions of the calls. (Fixes: :issue:`1131`, PR: :issue:`1136`, :issue:`1140`) - Add :meth:`mopidy.core.PlaybackController.get_current_tlid`. (Part of: :issue:`1137`) - Update core to handle backend crashes and bad data. (Fixes: :issue:`1161`) - Add :confval:`core/max_tracklist_length` config and limitation. (Fixes: :issue:`997` PR: :issue:`1225`) - Added ``playlist_deleted`` event. (Fixes: :issue:`996`) Models ------ - Added type checks and other sanity checks to model construction and serialization. (Fixes: :issue:`865`) - Memory usage for models has been greatly improved. We now have a lower overhead per instance by using slots, interned identifiers and automatically reuse instances. For the test data set this was developed against, a library of ~14.000 tracks, went from needing ~75MB to ~17MB. (Fixes: :issue:`348`) - Added :attr:`mopidy.models.Artist.sortname` field that is mapped to ``musicbrainz-sortname`` tag. (Fixes: :issue:`940`) Configuration ------------- - Add new configurations to set base directories to be used by Mopidy and Mopidy extensions: :confval:`core/cache_dir`, :confval:`core/config_dir`, and :confval:`core/data_dir`. (Fixes: :issue:`843`, PR: :issue:`1232`) Extension support ----------------- - Add new methods to :class:`~mopidy.ext.Extension` class for getting cache, config and data directories specific to your extension: - :meth:`mopidy.ext.Extension.get_cache_dir` - :meth:`mopidy.ext.Extension.get_config_dir` - :meth:`mopidy.ext.Extension.get_data_dir` Extensions should use these methods so that the correct directories are used both when Mopidy is run by a regular user and when run as a system service. (Fixes: :issue:`843`, PR: :issue:`1232`) - Add :func:`mopidy.httpclient.format_proxy` and :func:`mopidy.httpclient.format_user_agent`. (Part of: :issue:`1156`) - It is now possible to import :mod:`mopidy.backends` without having GObject or GStreamer installed. In other words, a lot of backend extensions should now be able to run tests in a virtualenv with global site-packages disabled. This removes a lot of potential error sources. (Fixes: :issue:`1068`, PR: :issue:`1115`) Local backend ------------- - Filter out :class:`None` from :meth:`~mopidy.backend.LibraryProvider.get_distinct` results. All returned results should be strings. (Fixes: :issue:`1202`) Stream backend -------------- - Move stream playlist parsing from GStreamer to the stream backend. (Fixes: :issue:`671`) File backend ------------ The :ref:`Mopidy-File ` backend is a new bundled backend. It is similar to Mopidy-Local since it works with local files, but it differs in a few key ways: - Mopidy-File lets you browse your media files by their file hierarchy. - It supports multiple media directories, all exposed under the "Files" directory when you browse your library with e.g. an MPD client. - There is no index of the media files, like the JSON or SQLite files used by Mopidy-Local. Thus no need to scan the music collection before starting Mopidy. Everything is read from the file system when needed and changes to the file system is thus immediately visible in Mopidy clients. - Because there is no index, there is no support for search. Our long term plan is to keep this very simple file backend in Mopidy, as it has a well defined and limited scope, while splitting the more feature rich Mopidy-Local extension out to an independent project. (Fixes: :issue:`1004`, PR: :issue:`1207`) M3U backend ----------- - Support loading UTF-8 encoded M3U files with the ``.m3u8`` file extension. (PR: :issue:`1193`) MPD frontend ------------ - The MPD command ``count`` now ignores tracks with no length, which would previously cause a :exc:`TypeError`. (PR: :issue:`1192`) - Concatenate multiple artists, composers and performers using the "A;B" format instead of "A, B". This is a part of updating our protocol implementation to match MPD 0.19. (PR: :issue:`1213`) - Add "not implemented" skeletons of new commands in the MPD protocol version 0.19: - Current playlist: - ``rangeid`` - ``addtagid`` - ``cleartagid`` - Mounts and neighbors: - ``mount`` - ``unmount`` - ``listmounts`` - ``listneighbors`` - Music DB: - ``listfiles`` - Track data now include the ``Last-Modified`` field if set on the track model. (Fixes: :issue:`1218`, PR: :issue:`1219`) - Implement ``tagtypes`` MPD command. (PR: :issue:`1235`) - Exclude empty tags fields from metadata output. (Fixes: :issue:`1045`, PR: :issue:`1235`) - Implement protocol extensions to output Album URIs and Album Images when outputting track data to clients. (PR: :issue:`1230`) - The MPD commands ``lsinfo`` and ``listplaylists`` are now implemented using the :meth:`~mopidy.core.PlaylistsController.as_list` method, which retrieves a lot less data and is thus much faster than the deprecated :meth:`~mopidy.core.PlaylistsController.get_playlists`. The drawback is that the ``Last-Modified`` timestamp is not available through this method, and the timestamps in the MPD command responses are now always set to the current time. Internal changes ---------------- - Tests have been cleaned up to stop using deprecated APIs where feasible. (Partial fix: :issue:`1083`, PR: :issue:`1090`) v1.0.8 (2015-07-22) =================== Bug fix release. - Fix reversal of ``Title`` and ``Name`` in MPD protocol (Fixes: :issue:`1212` PR: :issue:`1214`) - Fix crash if an M3U file in the :confval:`m3u/playlist_dir` directory has a file name not decodable with the current file system encoding. (Fixes: :issue:`1209`) v1.0.7 (2015-06-26) =================== Bug fix release. - Fix error in the MPD command ``list title ...``. The error was introduced in v1.0.6. v1.0.6 (2015-06-25) =================== Bug fix release. - Core/MPD/Local: Add support for ``title`` in :meth:`mopidy.core.LibraryController.get_distinct`. (Fixes: :issue:`1181`, PR: :issue:`1183`) - Core: Make sure track changes make it to audio while paused. (Fixes: :issue:`1177`, PR: :issue:`1185`) v1.0.5 (2015-05-19) =================== Bug fix release. - Core: Add workaround for playlist providers that do not support creating playlists. (Fixes: :issue:`1162`, PR :issue:`1165`) - M3U: Fix encoding error when saving playlists with non-ASCII track titles. (Fixes: :issue:`1175`, PR :issue:`1176`) v1.0.4 (2015-04-30) =================== Bug fix release. - Audio: Since all previous attempts at tweaking the queuing for :issue:`1097` seems to break things in subtle ways for different users. We are giving up on tweaking the defaults and just going to live with a bit more lag on software volume changes. (Fixes: :issue:`1147`) v1.0.3 (2015-04-28) =================== Bug fix release. - HTTP: Another follow-up to the Tornado <3.0 fixing. Since the tests aren't run for Tornado 2.3 we didn't catch that our previous fix wasn't sufficient. (Fixes: :issue:`1153`, PR: :issue:`1154`) - Audio: Follow-up fix for :issue:`1097` still exhibits issues for certain setups. We are giving this get an other go by setting the buffer size to maximum 100ms instead of a fixed number of buffers. (Addresses: :issue:`1147`, PR: :issue:`1154`) v1.0.2 (2015-04-27) =================== Bug fix release. - HTTP: Make event broadcasts work with Tornado 2.3 again. The threading fix in v1.0.1 broke this. - Audio: Fix for :issue:`1097` tuned down the buffer size in the queue. Turns out this can cause distortions in certain cases. Give this an other go with a more generous buffer size. (Addresses: :issue:`1147`, PR: :issue:`1152`) - Audio: Make sure mute events get emitted by software mixer. (Fixes: :issue:`1146`, PR: :issue:`1152`) v1.0.1 (2015-04-23) =================== Bug fix release. - Core: Make the new history controller available for use. (Fixes: :js:`6`) - Audio: Software volume control has been reworked to greatly reduce the delay between changing the volume and the change taking effect. (Fixes: :issue:`1097`, PR: :issue:`1101`) - Audio: As a side effect of the previous bug fix, software volume is no longer tied to the PulseAudio application volume when using ``pulsesink``. This behavior was confusing for many users and doesn't work well with the plans for multiple outputs. - Audio: Update scanner to decode all media it finds. This should fix cases where the scanner hangs on non-audio files like video. The scanner will now also let us know if we found any decodeable audio. (Fixes: :issue:`726`, PR: issue:`1124`) - HTTP: Fix threading bug that would cause duplicate delivery of WS messages. (PR: :issue:`1127`) - MPD: Fix case where a playlist that is present in both browse and as a listed playlist breaks the MPD frontend protocol output. (Fixes :issue:`1120`, PR: :issue:`1142`) v1.0.0 (2015-03-25) =================== Three months after our fifth anniversary, Mopidy 1.0 is finally here! Since the release of 0.19, we've closed or merged approximately 140 issues and pull requests through more than 600 commits by a record high 19 extraordinary people, including seven newcomers. Thanks to :ref:`everyone ` who has :ref:`contributed `! For the longest time, the focus of Mopidy 1.0 was to be another incremental improvement, to be numbered 0.20. The result is still very much an incremental improvement, with lots of small and larger improvements across Mopidy's functionality. The major features of Mopidy 1.0 are: - :ref:`Semantic Versioning `. We promise to not break APIs before Mopidy 2.0. A Mopidy extension working with Mopidy 1.0 should continue to work with all Mopidy 1.x releases. - Preparation work to ease migration to a cleaned up and leaner core API in Mopidy 2.0, and to give us some of the benefits of the cleaned up core API right away. - Preparation work to enable gapless playback in an upcoming 1.x release. Dependencies ------------ Since the previous release there are no changes to Mopidy's dependencies. However, porting from GStreamer 0.10 to 1.x and support for running Mopidy with Python 3.4+ is not far off on our roadmap. Core API -------- In the API used by all frontends and web extensions there is lots of methods and arguments that are now deprecated in preparation for the next major release. With the exception of some internals that leaked out in the playback controller, no core APIs have been removed in this release. In other words, most clients should continue to work unchanged when upgrading to Mopidy 1.0. Though, it is strongly encouraged to review any use of the deprecated parts of the API as those parts will be removed in Mopidy 2.0. - **Deprecated:** Deprecate all Python properties in the core API. The previously undocumented getter and setter methods are now the official API. This aligns the Python API with the WebSocket/JavaScript API. Python frontends needs to be updated. WebSocket/JavaScript API users are not affected. (Fixes: :issue:`952`) - Add :class:`mopidy.core.HistoryController` which keeps track of what tracks have been played. (Fixes: :issue:`423`, :issue:`1056`, PR: :issue:`803`, :issue:`1063`) - Add :class:`mopidy.core.MixerController` which keeps track of volume and mute. (Fixes: :issue:`962`) Core library controller ~~~~~~~~~~~~~~~~~~~~~~~ - **Deprecated:** :meth:`mopidy.core.LibraryController.find_exact`. Use :meth:`mopidy.core.LibraryController.search` with the ``exact`` keyword argument set to :class:`True`. - **Deprecated:** The ``uri`` argument to :meth:`mopidy.core.LibraryController.lookup`. Use new ``uris`` keyword argument instead. - Add ``exact`` keyword argument to :meth:`mopidy.core.LibraryController.search`. - Add ``uris`` keyword argument to :meth:`mopidy.core.LibraryController.lookup` which allows for simpler lookup of multiple URIs. (Fixes: :issue:`1008`, PR: :issue:`1047`) - Updated :meth:`mopidy.core.LibraryController.search` and :meth:`mopidy.core.LibraryController.find_exact` to normalize and warn about malformed queries from clients. (Fixes: :issue:`1067`, PR: :issue:`1073`) - Add :meth:`mopidy.core.LibraryController.get_distinct` for getting unique values for a given field. (Fixes: :issue:`913`, PR: :issue:`1022`) - Add :meth:`mopidy.core.LibraryController.get_images` for looking up images for any URI that is known to the backends. (Fixes :issue:`973`, PR: :issue:`981`, :issue:`992` and :issue:`1013`) Core playlist controller ~~~~~~~~~~~~~~~~~~~~~~~~ - **Deprecated:** :meth:`mopidy.core.PlaylistsController.get_playlists`. Use :meth:`~mopidy.core.PlaylistsController.as_list` and :meth:`~mopidy.core.PlaylistsController.get_items` instead. (Fixes: :issue:`1057`, PR: :issue:`1075`) - **Deprecated:** :meth:`mopidy.core.PlaylistsController.filter`. Use :meth:`~mopidy.core.PlaylistsController.as_list` and filter yourself. - Add :meth:`mopidy.core.PlaylistsController.as_list`. (Fixes: :issue:`1057`, PR: :issue:`1075`) - Add :meth:`mopidy.core.PlaylistsController.get_items`. (Fixes: :issue:`1057`, PR: :issue:`1075`) Core tracklist controller ~~~~~~~~~~~~~~~~~~~~~~~~~ - **Removed:** The following methods were documented as internal. They are now fully private and unavailable outside the core actor. (Fixes: :issue:`1058`, PR: :issue:`1062`) - :meth:`mopidy.core.TracklistController.mark_played` - :meth:`mopidy.core.TracklistController.mark_playing` - :meth:`mopidy.core.TracklistController.mark_unplayable` - Add ``uris`` argument to :meth:`mopidy.core.TracklistController.add` which allows for simpler addition of multiple URIs to the tracklist. (Fixes: :issue:`1060`, PR: :issue:`1065`) Core playback controller ~~~~~~~~~~~~~~~~~~~~~~~~ - **Removed:** Remove several internal parts that were leaking into the public API and was never intended to be used externally. (Fixes: :issue:`1070`, PR: :issue:`1076`) - :meth:`mopidy.core.PlaybackController.change_track` is now internal. - Removed ``on_error_step`` keyword argument from :meth:`mopidy.core.PlaybackController.play` - Removed ``clear_current_track`` keyword argument to :meth:`mopidy.core.PlaybackController.stop`. - Made the following event triggers internal: - :meth:`mopidy.core.PlaybackController.on_end_of_track` - :meth:`mopidy.core.PlaybackController.on_stream_changed` - :meth:`mopidy.core.PlaybackController.on_tracklist_changed` - :meth:`mopidy.core.PlaybackController.set_current_tl_track` is now internal. - **Deprecated:** The old methods on :class:`mopidy.core.PlaybackController` for volume and mute management have been deprecated. Use :class:`mopidy.core.MixerController` instead. (Fixes: :issue:`962`) - When seeking while paused, we no longer change to playing. (Fixes: :issue:`939`, PR: :issue:`1018`) - Changed :meth:`mopidy.core.PlaybackController.play` to take the return value from :meth:`mopidy.backend.PlaybackProvider.change_track` into account when determining the success of the :meth:`~mopidy.core.PlaybackController.play` call. (PR: :issue:`1071`) - Add :meth:`mopidy.core.Listener.stream_title_changed` and :meth:`mopidy.core.PlaybackController.get_stream_title` for letting clients know about the current title in streams. (PR: :issue:`938`, :issue:`1030`) Backend API ----------- In the API implemented by all backends there have been way fewer but somewhat more drastic changes with some methods removed and new ones being required for certain functionality to continue working. Most backends were already updated to be compatible with Mopidy 1.0 before the release. New versions of the backends will be released shortly after Mopidy itself. Backend library providers ~~~~~~~~~~~~~~~~~~~~~~~~~ - **Removed:** Remove :meth:`mopidy.backend.LibraryProvider.find_exact`. - Add an ``exact`` keyword argument to :meth:`mopidy.backend.LibraryProvider.search` to replace the old :meth:`~mopidy.backend.LibraryProvider.find_exact` method. Backend playlist providers ~~~~~~~~~~~~~~~~~~~~~~~~~~ - **Removed:** Remove default implementation of :attr:`mopidy.backend.PlaylistsProvider.playlists`. This is potentially backwards incompatible. (PR: :issue:`1046`) - Changed the API for :class:`mopidy.backend.PlaylistsProvider`. Note that this change is **not** backwards compatible. These changes are important to reduce the Mopidy startup time. (Fixes: :issue:`1057`, PR: :issue:`1075`) - Add :meth:`mopidy.backend.PlaylistsProvider.as_list`. - Add :meth:`mopidy.backend.PlaylistsProvider.get_items`. - Remove :attr:`mopidy.backend.PlaylistsProvider.playlists` property. Backend playback providers ~~~~~~~~~~~~~~~~~~~~~~~~~~ - Changed the API for :class:`mopidy.backend.PlaybackProvider`. Note that this change is **not** backwards compatible for certain backends. These changes are crucial to adding gapless in one of the upcoming releases. (Fixes: :issue:`1052`, PR: :issue:`1064`) - :meth:`mopidy.backend.PlaybackProvider.translate_uri` has been added. It is strongly recommended that all backends migrate to using this API for translating "Mopidy URIs" to real ones for playback. - The semantics and signature of :meth:`mopidy.backend.PlaybackProvider.play` has changed. The method is now only used to set the playback state to playing, and no longer takes a track. Backends must migrate to :meth:`mopidy.backend.PlaybackProvider.translate_uri` or :meth:`mopidy.backend.PlaybackProvider.change_track` to continue working. - :meth:`mopidy.backend.PlaybackProvider.prepare_change` has been added. Models ------ - Add :class:`mopidy.models.Image` model to be returned by :meth:`mopidy.core.LibraryController.get_images`. (Part of :issue:`973`) - Change the semantics of :attr:`mopidy.models.Track.last_modified` to be milliseconds instead of seconds since Unix epoch, or a simple counter, depending on the source of the track. This makes it match the semantics of :attr:`mopidy.models.Playlist.last_modified`. (Fixes: :issue:`678`, PR: :issue:`1036`) Commands -------- - Make the ``mopidy`` command print a friendly error message if the :mod:`gobject` Python module cannot be imported. (Fixes: :issue:`836`) - Add support for repeating the :option:`-v ` argument four times to set the log level for all loggers to the lowest possible value, including log records at levels lower than ``DEBUG`` too. - Add path to the current ``mopidy`` executable to the output of ``mopidy deps``. This make it easier to see that a user is using pip-installed Mopidy instead of APT-installed Mopidy without asking for ``which mopidy`` output. Configuration ------------- - Add support for the log level value ``all`` to the loglevels configurations. This can be used to show absolutely all log records, including those at custom levels below ``DEBUG``. - Add debug logging of unknown sections. (Fixes: :issue:`694`, PR: :issue:`1002`) Logging ------- - Add custom log level ``TRACE`` (numerical level 5), which can be used by Mopidy and extensions to log at an even more detailed level than ``DEBUG``. - Add support for per logger color overrides. (Fixes: :issue:`808`, PR: :issue:`1005`) Local backend ------------- - Improve error logging for scanner. (Fixes: :issue:`856`, PR: :issue:`874`) - Add symlink support with loop protection to file finder. (Fixes: :issue:`858`, PR: :issue:`874`) - Add ``--force`` option for ``mopidy local scan`` for forcing a full rescan of the library. (Fixes: :issue:`910`, PR: :issue:`1010`) - Stop ignoring ``offset`` and ``limit`` in searches when using the default JSON backed local library. (Fixes: :issue:`917`, PR: :issue:`949`) - Removed double triggering of ``playlists_loaded`` event. (Fixes: :issue:`998`, PR: :issue:`999`) - Cleanup and refactoring of local playlist code. Preserves playlist names better and fixes bug in deletion of playlists. (Fixes: :issue:`937`, PR: :issue:`995` and rebased into :issue:`1000`) - Sort local playlists by name. (Fixes: :issue:`1026`, PR: :issue:`1028`) - Moved playlist support out to a new extension, :ref:`ext-m3u`. - *Deprecated:* The config value :confval:`local/playlists_dir` is no longer in use and can be removed from your config. Local library API ~~~~~~~~~~~~~~~~~ - Implementors of :meth:`mopidy.local.Library.lookup` should now return a list of :class:`~mopidy.models.Track` instead of a single track, just like the other ``lookup()`` methods in Mopidy. For now, returning a single track will continue to work. (PR: :issue:`840`) - Add support for giving local libraries direct access to tags and duration. (Fixes: :issue:`967`) - Add :meth:`mopidy.local.Library.get_images` for looking up images for local URIs. (Fixes: :issue:`1031`, PR: :issue:`1032` and :issue:`1037`) Stream backend -------------- - Add support for HTTP proxies when doing initial metadata lookup for a stream. (Fixes :issue:`390`, PR: :issue:`982`) - Add basic tests for the stream library provider. M3U backend ----------- - Mopidy-M3U is a new bundled backend. It provides the same M3U support as was previously part of the local backend. See :ref:`m3u-migration` for how to migrate your local playlists to work with the M3U backend. (Fixes: :issue:`1054`, PR: :issue:`1066`) - In playlist names, replace "/", which are illegal in M3U file names, with "|". (PR: :issue:`1084`) MPD frontend ------------ - Add support for blacklisting MPD commands. This is used to prevent clients from using ``listall`` and ``listallinfo`` which recursively lookup the entire "database". If you insist on using a client that needs these commands change :confval:`mpd/command_blacklist`. - Start setting the ``Name`` field with the stream title when listening to radio streams. (Fixes: :issue:`944`, PR: :issue:`1030`) - Enable browsing of artist references, in addition to albums and playlists. (PR: :issue:`884`) - Switch the ``list`` command over to using the new method :meth:`mopidy.core.LibraryController.get_distinct` for increased performance. (Fixes: :issue:`913`) - In stored playlist names, replace "/", which are illegal, with "|" instead of a whitespace. Pipes are more similar to forward slash. - Share a single mapping between names and URIs across all MPD sessions. (Fixes: :issue:`934`, PR: :issue:`968`) - Add support for ``toggleoutput`` command. (PR: :issue:`1015`) - The ``mixrampdb`` and ``mixrampdelay`` commands are now known to Mopidy, but are not implemented. (PR: :issue:`1015`) - Fix crash on socket error when using a locale causing the exception's error message to contain characters not in ASCII. (Fixes: issue:`971`, PR: :issue:`1044`) HTTP frontend ------------- - **Deprecated:** Deprecated the :confval:`http/static_dir` config. Please make your web clients pip-installable Mopidy extensions to make it easier to install for end users. - Prevent a race condition in WebSocket event broadcasting from crashing the web server. (PR: :issue:`1020`) Mixers ------ - Add support for disabling volume control in Mopidy entirely by setting the configuration :confval:`audio/mixer` to ``none``. (Fixes: :issue:`936`, PR: :issue:`1015`, :issue:`1035`) Audio ----- - **Removed:** Support for visualizers and the :confval:`audio/visualizer` config value. The feature was originally added as a workaround for all the people asking for ncmpcpp visualizer support, and since we could get it almost for free thanks to GStreamer. But, this feature did never make sense for a server such as Mopidy. - **Deprecated:** Deprecated :meth:`mopidy.audio.Audio.emit_end_of_stream`. Pass a :class:`None` buffer to :meth:`mopidy.audio.Audio.emit_data` to end the stream. This should only affect Mopidy-Spotify. - Add :meth:`mopidy.audio.AudioListener.tags_changed`. Notifies core when new tags are found. - Add :meth:`mopidy.audio.Audio.get_current_tags` for looking up the current tags of the playing media. - Internal code cleanup within audio subsystem: - Started splitting audio code into smaller better defined pieces. - Improved GStreamer related debug logging. - Provide better error messages for missing plugins. - Add foundation for trying to re-add multiple output support. - Add internal helper for converting GStreamer data types to Python. - Reduce scope of audio scanner to just find tags and duration. Modification time, URI and minimum length handling are now outside of this class. - Update scanner to operate with milliseconds for duration. - Update scanner to use a custom source, typefind and decodebin. This allows us to detect playlists before we try to decode them. - Refactored scanner to create a new pipeline per track, this is needed as reseting decodebin is much slower than tearing it down and making a fresh one. - Move and rename helper for converting tags to tracks. - Ignore albums without a name when converting tags to tracks. - Support UTF-8 in M3U playlists. (Fixes: :issue:`853`) - Add workaround for volume not persisting across tracks on OS X. (Issue: :issue:`886`, PR: :issue:`958`) - Improved missing plugin error reporting in scanner. (PR: :issue:`1033`) - Introduced a new return type for the scanner, a named tuple with ``uri``, ``tags``, ``duration``, ``seekable`` and ``mime``. (PR: :issue:`1033`) - Added support for checking if the media is seekable, and getting the initial MIME type guess. (PR: :issue:`1033`) Mopidy.js client library ------------------------ This version has been released to npm as Mopidy.js v0.5.0. - Reexport When.js library as ``Mopidy.when``, to make it easily available to users of Mopidy.js. (Fixes: :js:`1`) - Default to ``wss://`` as the WebSocket protocol if the page is hosted on ``https://``. This has no effect if the ``webSocketUrl`` setting is specified. (Pull request: :js:`2`) - Upgrade dependencies. Development ----------- - Add new :ref:`contribution guidelines `. - Add new :ref:`development guide `. - Speed up event emitting. - Changed test runner from nose to py.test. (PR: :issue:`1024`) v0.19.5 (2014-12-23) ==================== Today is Mopidy's five year anniversary. We're celebrating with a bugfix release and are looking forward to the next five years! - Config: Support UTF-8 in extension's default config. If an extension with non-ASCII characters in its default config was installed, and Mopidy didn't already have a config file, Mopidy would crashed when trying to create the initial config file based on the default config of all available extensions. (Fixes: :discuss:`428`) - Extensions: Fix crash when unpacking data from :exc:`pkg_resources.VersionConflict` created with a single argument. (Fixes: :issue:`911`) - Models: Hide empty collections from :func:`repr()` representations. - Models: Field values are no longer stored on the model instance when the value matches the default value for the field. This makes two models equal when they have a field which in one case is implicitly set to the default value and in the other case explicitly set to the default value, but with otherwise equal fields. (Fixes: :issue:`837`) - Models: Changed the default value of :attr:`mopidy.models.Album.num_tracks`, :attr:`mopidy.models.Track.track_no`, and :attr:`mopidy.models.Track.last_modified` from ``0`` to :class:`None`. - Core: When skipping to the next track in consume mode, remove the skipped track from the tracklist. This is consistent with the original MPD server's behavior. (Fixes: :issue:`902`) - Local: Fix scanning of modified files. (PR: :issue:`904`) - MPD: Re-enable browsing of empty directories. (PR: :issue:`906`) - MPD: Remove track comments from responses. They are not included by the original MPD server, and this works around :issue:`881`. (PR: :issue:`882`) - HTTP: Errors while starting HTTP apps are logged instead of crashing the HTTP server. (Fixes: :issue:`875`) v0.19.4 (2014-09-01) ==================== Bug fix release. - Configuration: :option:`mopidy --config` now supports directories. - Logging: Fix that some loggers would be disabled if :confval:`logging/config_file` was set. (Fixes: :issue:`740`) - Quit process with exit code 1 when stopping because of a backend, frontend, or mixer initialization error. - Backend API: Update :meth:`mopidy.backend.LibraryProvider.browse` signature and docs to match how the core use the backend's browse method. (Fixes: :issue:`833`) - Local library API: Add :attr:`mopidy.local.Library.ROOT_DIRECTORY_URI` constant for use by implementors of :meth:`mopidy.local.Library.browse`. (Related to: :issue:`833`) - HTTP frontend: Guard against double close of WebSocket, which causes an :exc:`AttributeError` on Tornado < 3.2. - MPD frontend: Make the ``list`` command return albums when sending 3 arguments. This was incorrectly returning artists after the MPD command changes in 0.19.0. (Fixes: :issue:`817`) - MPD frontend: Fix a race condition where two threads could try to free the same data simultaneously. (Fixes: :issue:`781`) v0.19.3 (2014-08-03) ==================== Bug fix release. - Audio: Fix negative track length for radio streams. (Fixes: :issue:`662`, PR: :issue:`796`) - Audio: Tell GStreamer to not pick Jack sink. (Fixes: :issue:`604`) - Zeroconf: Fix discovery by adding ``.local`` to the announced hostname. (PR: :issue:`795`) - Zeroconf: Fix intermittent DBus/Avahi exception. - Extensions: Fail early if trying to setup an extension which doesn't implement the :meth:`mopidy.ext.Extension.setup` method. (Fixes: :issue:`813`) v0.19.2 (2014-07-26) ==================== Bug fix release, directly from the Mopidy development sprint at EuroPython 2014 in Berlin. - Audio: Make :confval:`audio/mixer_volume` work on the software mixer again. This was broken with the mixer changes in 0.19.0. (Fixes: :issue:`791`) - HTTP frontend: When using Tornado 4.0, allow WebSocket requests from other hosts. (Fixes: :issue:`788`) - MPD frontend: Fix crash when MPD commands are called with the wrong number of arguments. This was broken with the MPD command changes in 0.19.0. (Fixes: :issue:`789`) v0.19.1 (2014-07-23) ==================== Bug fix release. - Dependencies: Mopidy now requires Tornado >= 2.3, instead of >= 3.1. This should make Mopidy continue to work on Debian/Raspbian stable, where Tornado 2.3 is the newest version available. - HTTP frontend: Add missing string interpolation placeholder. - Development: ``mopidy --version`` and :meth:`mopidy.core.Core.get_version` now returns the correct version when Mopidy is run from a Git repo other than Mopidy's own. (Related to :issue:`706`) v0.19.0 (2014-07-21) ==================== The focus of 0.19 have been on improving the MPD implementation, replacing GStreamer mixers with our own mixer API, and on making web clients installable with ``pip``, like any other Mopidy extension. Since the release of 0.18, we've closed or merged 53 issues and pull requests through about 445 commits by :ref:`12 people `, including five new guys. Thanks to everyone that has contributed! **Dependencies** - Mopidy now requires Tornado >= 3.1. - Mopidy no longer requires CherryPy or ws4py. Previously, these were optional dependencies required for the HTTP frontend to work. **Backend API** - *Breaking change:* Imports of the backend API from :mod:`mopidy.backends` no longer works. The new API introuced in v0.18 is now required. Most extensions already use the new API location. **Commands** - The ``mopidy-convert-config`` tool for migrating the ``setings.py`` configuration file used by Mopidy up until 0.14 to the new config file format has been removed after over a year of trusty service. If you still need to convert your old ``settings.py`` configuration file, do so using and older release, like Mopidy 0.18, or migrate the configuration to the new format by hand. **Configuration** - Add ``optional=True`` support to :class:`mopidy.config.Boolean`. **Logging** - Fix proper decoding of exception messages that depends on the user's locale. - Colorize logs depending on log level. This can be turned off with the new :confval:`logging/color` configuration. (Fixes: :issue:`772`) **Extension support** - *Breaking change:* Removed the :class:`~mopidy.ext.Extension` methods that were deprecated in 0.18: :meth:`~mopidy.ext.Extension.get_backend_classes`, :meth:`~mopidy.ext.Extension.get_frontend_classes`, and :meth:`~mopidy.ext.Extension.register_gstreamer_elements`. Use :meth:`mopidy.ext.Extension.setup` instead, as most extensions already do. **Audio** - *Breaking change:* Removed support for GStreamer mixers. GStreamer 1.x does not support volume control, so we changed to use software mixing by default in v0.17.0. Now, we're removing support for all other GStreamer mixers and are reintroducing mixers as something extensions can provide independently of GStreamer. (Fixes: :issue:`665`, PR: :issue:`760`) - *Breaking change:* Changed the :confval:`audio/mixer` config value to refer to Mopidy mixer extensions instead of GStreamer mixers. The default value, ``software``, still has the same behavior. All other values will either no longer work or will at the very least require you to install an additional extension. - Changed the :confval:`audio/mixer_volume` config value behavior from affecting GStreamer mixers to affecting Mopidy mixer extensions instead. The end result should be the same without any changes to this config value. - Deprecated the :confval:`audio/mixer_track` config value. This config value is no longer in use. Mixer extensions that need additional configuration handle this themselves. - Use :ref:`proxy-config` when streaming media from the Internet. (Partly fixing :issue:`390`) - Fix proper decoding of exception messages that depends on the user's locale. - Fix recognition of ASX and XSPF playlists with tags in all caps or with carriage return line endings. (Fixes: :issue:`687`) - Support simpler ASX playlist variant with ```` elements without children. - Added ``target_state`` attribute to the audio layer's :meth:`~mopidy.audio.AudioListener.state_changed` event. Currently, it is :class:`None` except when we're paused because of buffering. Then the new field exposes our target state after buffering has completed. **Mixers** - Added new :class:`mopidy.mixer.Mixer` API which can be implemented by extensions. - Created a bundled extension, :ref:`ext-softwaremixer`, for controlling volume in software in GStreamer's pipeline. This is Mopidy's default mixer. To use this mixer, set the :confval:`audio/mixer` config value to ``software``. - Created an external extension, `Mopidy-ALSAMixer `_, for controlling volume with hardware through ALSA. To use this mixer, install the extension, and set the :confval:`audio/mixer` config value to ``alsamixer``. **HTTP frontend** - CherryPy and ws4py have been replaced with Tornado. This will hopefully reduce CPU usage on OS X (:issue:`445`) and improve error handling in corner cases, like when returning from suspend (:issue:`718`). - Added support for packaging web clients as Mopidy extensions and installing them using pip. See the :ref:`http-server-api` for details. (Fixes: :issue:`440`) - Added web page at ``/mopidy/`` which lists all web clients installed as Mopidy extensions. (Fixes: :issue:`440`) - Added support for extending the HTTP frontend with additional server side functionality. See :ref:`http-server-api` for details. - Exposed the core API using HTTP POST requests with JSON-RPC payloads at ``/mopidy/rpc``. This is the same JSON-RPC interface as is exposed over the WebSocket at ``/mopidy/ws``, so you can run any core API command. The HTTP POST interfaces does not give you access to events from Mopidy, like the WebSocket does. The WebSocket interface is still recommended for web clients. The HTTP POST interface may be easier to use for simpler programs, that just needs to query the currently playing track or similar. See :ref:`http-post-api` for details. - If Zeroconf is enabled, we now announce the ``_mopidy-http._tcp`` service in addition to ``_http._tcp``. This is to make it easier to automatically find Mopidy's HTTP server among other Zeroconf-published HTTP servers on the local network. **Mopidy.js client library** This version has been released to npm as Mopidy.js v0.4.0. - Update Mopidy.js to use when.js 3. If you maintain a Mopidy client, you should review the `differences between when.js 2 and 3 `_ and the `when.js debugging guide `_. - All of Mopidy.js' promise rejection values are now of the Error type. This ensures that all JavaScript VMs will show a useful stack trace if a rejected promise's value is used to throw an exception. To allow catch clauses to handle different errors differently, server side errors are of the type ``Mopidy.ServerError``, and connection related errors are of the type ``Mopidy.ConnectionError``. - Add support for method calls with by-name arguments. The old calling convention, ``by-position-only``, is still the default, but this will change in the future. A warning is logged to the console if you don't explicitly select a calling convention. See the :ref:`mopidy-js` docs for details. **MPD frontend** - Proper command tokenization for MPD requests. This replaces the old regex based system with an MPD protocol specific tokenizer responsible for breaking requests into pieces before the handlers have at them. (Fixes: :issue:`591` and :issue:`592`) - Updated command handler system. As part of the tokenizer cleanup we've updated how commands are registered and making it simpler to create new handlers. - Simplified a bunch of handlers. All the "browse" type commands now use a common browse helper under the hood for less repetition. Likewise the query handling of "search" commands has been somewhat simplified. - Adds placeholders for missing MPD commands, preparing the way for bumping the protocol version once they have been added. - Respond to all pending requests before closing connection. (PR: :issue:`722`) - Stop incorrectly catching `LookupError` in command handling. (Fixes: :issue:`741`) - Browse support for playlists and albums has been added. (PR: :issue:`749`, :issue:`754`) - The ``lsinfo`` command now returns browse results before local playlists. This is helpful as not all clients sort the returned items. (PR: :issue:`755`) - Browse now supports different entries with identical names. (PR: :issue:`762`) - Search terms that are empty or consists of only whitespace are no longer included in the search query sent to backends. (PR: :issue:`758`) **Local backend** - The JSON local library backend now logs a friendly message telling you about ``mopidy local scan`` if you don't have a local library cache. (Fixes: :issue:`711`) - The ``local scan`` command now use multiple threads to walk the file system and check files' modification time. This speeds up scanning, escpecially when scanning remote file systems over e.g. NFS. - the ``local scan`` command now creates necessary folders if they don't already exist. Previously, this was only done by the Mopidy server, so doing a ``local scan`` before running the server the first time resulted in a crash. (Fixes: :issue:`703`) - Fix proper decoding of exception messages that depends on the user's locale. **Stream backend** - Add config value :confval:`stream/metadata_blacklist` to blacklist certain URIs we should not open to read metadata from before they are opened for playback. This is typically needed for services that invalidate URIs after a single use. (Fixes: :issue:`660`) v0.18.3 (2014-02-16) ==================== Bug fix release. - Fix documentation build. v0.18.2 (2014-02-16) ==================== Bug fix release. - We now log warnings for wrongly configured extensions, and clearly label them in ``mopidy config``, but does no longer stop Mopidy from starting because of misconfigured extensions. (Fixes: :issue:`682`) - Fix a crash in the server side WebSocket handler caused by connection problems with clients. (Fixes: :issue:`428`, :issue:`571`) - Fix the ``time_position`` field of the ``track_playback_ended`` event, which has been always 0 since v0.18.0. This made scrobbles by Mopidy-Scrobbler not be persisted by Last.fm, because Mopidy reported that you listened to 0 seconds of each track. (Fixes: :issue:`674`) - Fix the log setup so that it is possible to increase the amount of logging from a specific logger using the ``loglevels`` config section. (Fixes: :issue:`684`) - Serialization of :class:`~mopidy.models.Playlist` models with the ``last_modified`` field set to a :class:`datetime.datetime` instance did not work. The type of :attr:`mopidy.models.Playlist.last_modified` has been redefined from a :class:`datetime.datetime` instance to the number of milliseconds since Unix epoch as an integer. This makes serialization of the time stamp simpler. - Minor refactor of the MPD server context so that Mopidy's MPD protocol implementation can easier be reused. (Fixes: :issue:`646`) - Network and signal handling has been updated to play nice on Windows systems. v0.18.1 (2014-01-23) ==================== Bug fix release. - Disable extension instead of crashing if a dependency has the wrong version. (Fixes: :issue:`657`) - Make logging work to both console, debug log file, and any custom logging setup from :confval:`logging/config_file` at the same time. (Fixes: :issue:`661`) v0.18.0 (2014-01-19) ==================== The focus of 0.18 have been on two fronts: the local library and browsing. First, the local library's old tag cache file used for storing the track metadata scanned from your music collection has been replaced with a far simpler implementation using JSON as the storage format. At the same time, the local library have been made replaceable by extensions, so you can now create extensions that use your favorite database to store the metadata. Second, we've finally implemented the long awaited "file system" browsing feature that you know from MPD. It is supported by both the MPD frontend and the local and Spotify backends. It is also used by the new Mopidy-Dirble extension to provide you with a directory of Internet radio stations from all over the world. Since the release of 0.17, we've closed or merged 49 issues and pull requests through about 285 commits by :ref:`11 people `, including six new guys. Thanks to everyone that has contributed! **Core API** - Add :meth:`mopidy.core.Core.version` for HTTP clients to manage compatibility between API versions. (Fixes: :issue:`597`) - Add :class:`mopidy.models.Ref` class for use as a lightweight reference to other model types, containing just an URI, a name, and an object type. It is barely used for now, but its use will be extended over time. - Add :meth:`mopidy.core.LibraryController.browse` method for browsing a virtual file system of tracks. Backends can implement support for this by implementing :meth:`mopidy.backend.LibraryProvider.browse`. - Events emitted on play/stop, pause/resume, next/previous and on end of track has been cleaned up to work consistently. See the message of :commit:`1d108752f6` for the full details. (Fixes: :issue:`629`) **Backend API** - Move the backend API classes from :mod:`mopidy.backends.base` to :mod:`mopidy.backend` and remove the ``Base`` prefix from the class names: - From :class:`mopidy.backends.base.Backend` to :class:`mopidy.backend.Backend` - From :class:`mopidy.backends.base.BaseLibraryProvider` to :class:`mopidy.backend.LibraryProvider` - From :class:`mopidy.backends.base.BasePlaybackProvider` to :class:`mopidy.backend.PlaybackProvider` - From :class:`mopidy.backends.base.BasePlaylistsProvider` to :class:`mopidy.backend.PlaylistsProvider` - From :class:`mopidy.backends.listener.BackendListener` to :class:`mopidy.backend.BackendListener` Imports from the old locations still works, but are deprecated. - Add :meth:`mopidy.backend.LibraryProvider.browse`, which can be implemented by backends that wants to expose directories of tracks in Mopidy's virtual file system. **Frontend API** - The dummy backend used for testing many frontends have moved from :mod:`mopidy.backends.dummy` to :mod:`mopidy.backend.dummy`. (PR: :issue:`984`) **Commands** - Reduce amount of logging from dependencies when using :option:`mopidy -v`. (Fixes: :issue:`593`) - Add support for additional logging verbosity levels with ``mopidy -vv`` and ``mopidy -vvv`` which increases the amount of logging from dependencies. (Fixes: :issue:`593`) **Configuration** - The default for the :option:`mopidy --config` option has been updated to include ``$XDG_CONFIG_DIRS`` in addition to ``$XDG_CONFIG_DIR``. (Fixes :issue:`431`) - Added support for deprecating config values in order to allow for graceful removal of the no longer used config value :confval:`local/tag_cache_file`. **Extension support** - Switched to using a registry model for classes provided by extension. This allows extensions to be extended by other extensions, as needed by for example pluggable libraries for the local backend. See :class:`mopidy.ext.Registry` for details. (Fixes :issue:`601`) - Added the new method :meth:`mopidy.ext.Extension.setup`. This method replaces the now deprecated :meth:`~mopidy.ext.Extension.get_backend_classes`, :meth:`~mopidy.ext.Extension.get_frontend_classes`, and :meth:`~mopidy.ext.Extension.register_gstreamer_elements`. **Audio** - Added :confval:`audio/mixer_volume` to set the initial volume of mixers. This is especially useful for setting the software mixer volume to something else than the default 100%. (Fixes: :issue:`633`) **Local backend** .. note:: After upgrading to Mopidy 0.18 you must run ``mopidy local scan`` to reindex your local music collection. This is due to the change of storage format. - Added support for browsing local directories in Mopidy's virtual file system. - Finished the work on creating pluggable libraries. Users can now reconfigure Mopidy to use alternate library providers of their choosing for local files. (Fixes issue :issue:`44`, partially resolves :issue:`397`, and causes a temporary regression of :issue:`527`.) - Switched default local library provider from a "tag cache" file that closely resembled the one used by the original MPD server to a compressed JSON file. This greatly simplifies our library code and reuses our existing model serialization code, as used by the HTTP API and web clients. - Removed our outdated and bug-ridden "tag cache" local library implementation. - Added the config value :confval:`local/library` to select which library to use. It defaults to ``json``, which is the only local library bundled with Mopidy. - Added the config value :confval:`local/data_dir` to have a common config for where to store local library data. This is intended to avoid every single local library provider having to have it's own config value for this. - Added the config value :confval:`local/scan_flush_threshold` to control how often to tell local libraries to store changes when scanning local music. **Streaming backend** - Add live lookup of URI metadata. (Fixes :issue:`540`) - Add support for extended M3U playlist, meaning that basic track metadata stored in playlists will be used by Mopidy. **HTTP frontend** - Upgrade Mopidy.js dependencies and add support for using Mopidy.js with Browserify. This version has been released to npm as Mopidy.js v0.2.0. (Fixes: :issue:`609`) **MPD frontend** - Make the ``lsinfo``, ``listall``, and ``listallinfo`` commands support browsing of Mopidy's virtual file system. (Fixes: :issue:`145`) - Empty commands now return a ``ACK [5@0] {} No command given`` error instead of ``OK``. This is consistent with the original MPD server implementation. **Internal changes** - Events from the audio actor, backends, and core actor are now emitted asyncronously through the GObject event loop. This should resolve the issue that has blocked the merge of the EOT-vs-EOS fix for a long time. v0.17.0 (2013-11-23) ==================== The focus of 0.17 has been on introducing subcommands to the ``mopidy`` command, making it possible for extensions to add subcommands of their own, and to improve the default config file when starting Mopidy the first time. In addition, we've grown support for Zeroconf publishing of the MPD and HTTP servers, and gotten a much faster scanner. The scanner now also scans some additional tags like composers and performers. Since the release of 0.16, we've closed or merged 22 issues and pull requests through about 200 commits by :ref:`five people `, including one new contributor. **Commands** - Switched to subcommands for the ``mopidy`` command , this implies the following changes: (Fixes: :issue:`437`) ===================== ================= Old command New command ===================== ================= mopidy --show-deps mopidy deps mopidy --show-config mopidy config mopidy-scan mopidy local scan ===================== ================= - Added hooks for extensions to create their own custom subcommands and converted ``mopidy-scan`` as a first user of the new API. (Fixes: :issue:`436`) **Configuration** - When ``mopidy`` is started for the first time we create an empty :file:`{$XDG_CONFIG_DIR}/mopidy/mopidy.conf` file. We now populate this file with the default config for all installed extensions so it'll be easier to set up Mopidy without looking through all the documentation for relevant config values. (Fixes: :issue:`467`) **Core API** - The :class:`~mopidy.models.Track` model has grown fields for ``composers``, ``performers``, ``genre``, and ``comment``. - The search field ``track`` has been renamed to ``track_name`` to avoid confusion with ``track_no``. (Fixes: :issue:`535`) - The signature of the tracklist's :meth:`~mopidy.core.TracklistController.filter` and :meth:`~mopidy.core.TracklistController.remove` methods have changed. Previously, they expected e.g. ``tracklist.filter(tlid=17)``. Now, the value must always be a list, e.g. ``tracklist.filter(tlid=[17])``. This change allows you to get or remove multiple tracks with a single call, e.g. ``tracklist.remove(tlid=[1, 2, 7])``. This is especially useful for web clients, as requests can be batched. This also brings the interface closer to the library's :meth:`~mopidy.core.LibraryController.find_exact` and :meth:`~mopidy.core.LibraryController.search` methods. **Audio** - Change default volume mixer from ``autoaudiomixer`` to ``software``. GStreamer 1.x does not support volume control, so we're changing to use software mixing by default, as that may be the only thing we'll support in the future when we upgrade to GStreamer 1.x. **Local backend** - Library scanning has been switched back from GStreamer's discoverer to our custom implementation due to various issues with GStreamer 0.10's built in scanner. This also fixes the scanner slowdown. (Fixes: :issue:`565`) - When scanning, we no longer default the album artist to be the same as the track artist. Album artist is now only populated if the scanned file got an explicit album artist set. - The scanner will now extract multiple artists from files with multiple artist tags. - The scanner will now extract composers and performers, as well as genre, bitrate, and comments. (Fixes: :issue:`577`) - Fix scanner so that time of last modification is respected when deciding which files can be skipped when scanning the music collection for changes. - The scanner now ignores the capitalization of file extensions in :confval:`local/excluded_file_extensions`, so you no longer need to list both ``.jpg`` and ``.JPG`` to ignore JPEG files when scanning. (Fixes: :issue:`525`) - The scanner now by default ignores ``*.nfo`` and ``*.html`` files too. **MPD frontend** - The MPD service is now published as a Zeroconf service if avahi-daemon is running on the system. Some MPD clients will use this to present Mopidy as an available server on the local network without needing any configuration. See the :confval:`mpd/zeroconf` config value to change the service name or disable the service. (Fixes: :issue:`39`) - Add support for ``composer``, ``performer``, ``comment``, ``genre``, and ``performer``. These tags can be used with ``list ...``, ``search ...``, and ``find ...`` and their variants, and are supported in the ``any`` tag also - The ``bitrate`` field in the ``status`` response is now always an integer. This follows the behavior of the original MPD server. (Fixes: :issue:`577`) **HTTP frontend** - The HTTP service is now published as a Zeroconf service if avahi-daemon is running on the system. Some browsers will present HTTP Zeroconf services on the local network as "local sites" bookmarks. See the :confval:`http/zeroconf` config value to change the service name or disable the service. (Fixes: :issue:`39`) **DBUS/MPRIS** - The ``mopidy`` process now registers it's GObject event loop as the default eventloop for dbus-python. (Fixes: :mpris:`2`) v0.16.1 (2013-11-02) ==================== This is very small release to get Mopidy's Debian package ready for inclusion in Debian. **Commands** - Fix removal of last dir level in paths to dependencies in ``mopidy --show-deps`` output. - Add manpages for all commands. **Local backend** - Fix search filtering by track number that was added in 0.16.0. **MPD frontend** - Add support for ``list "albumartist" ...`` which was missed when ``find`` and ``search`` learned to handle ``albumartist`` in 0.16.0. (Fixes: :issue:`553`) v0.16.0 (2013-10-27) ==================== The goals for 0.16 were to add support for queuing playlists of e.g. radio streams directly to Mopidy, without manually extracting the stream URLs from the playlist first, and to move the Spotify, Last.fm, and MPRIS support out to independent Mopidy extensions, living outside the main Mopidy repo. In addition, we've seen some cleanup to the playback vs tracklist part of the core API, which will require some changes for users of the HTTP/JavaScript APIs, as well as the addition of audio muting to the core API. To speed up the :ref:`development of new extensions `, we've added a cookiecutter project to get the skeleton of a Mopidy extension up and running in a matter of minutes. Read below for all the details and for links to issues with even more details. Since the release of 0.15, we've closed or merged 31 issues and pull requests through about 200 commits by :ref:`five people `, including three new contributors. **Dependencies** Parts of Mopidy have been moved to their own external extensions. If you want Mopidy to continue to work like it used to, you may have to install one or more of the following extensions as well: - The Spotify backend has been moved to `Mopidy-Spotify `_. - The Last.fm scrobbler has been moved to `Mopidy-Scrobbler `_. - The MPRIS frontend has been moved to `Mopidy-MPRIS `_. **Core** - Parts of the functionality in :class:`mopidy.core.PlaybackController` have been moved to :class:`mopidy.core.TracklistController`: =================================== ================================== Old location New location =================================== ================================== playback.get_consume() tracklist.get_consume() playback.set_consume(v) tracklist.set_consume(v) playback.consume tracklist.consume playback.get_random() tracklist.get_random() playback.set_random(v) tracklist.set_random(v) playback.random tracklist.random playback.get_repeat() tracklist.get_repeat() playback.set_repeat(v) tracklist.set_repeat(v) playback.repeat tracklist.repeat playback.get_single() tracklist.get_single() playback.set_single(v) tracklist.set_single(v) playback.single tracklist.single playback.get_tracklist_position() tracklist.index(tl_track) playback.tracklist_position tracklist.index(tl_track) playback.get_tl_track_at_eot() tracklist.eot_track(tl_track) playback.tl_track_at_eot tracklist.eot_track(tl_track) playback.get_tl_track_at_next() tracklist.next_track(tl_track) playback.tl_track_at_next tracklist.next_track(tl_track) playback.get_tl_track_at_previous() tracklist.previous_track(tl_track) playback.tl_track_at_previous tracklist.previous_track(tl_track) =================================== ================================== The ``tl_track`` argument to the last four new functions are used as the reference ``tl_track`` in the tracklist to find e.g. the next track. Usually, this will be :attr:`~mopidy.core.PlaybackController.current_tl_track`. - Added :attr:`mopidy.core.PlaybackController.mute` for muting and unmuting audio. (Fixes: :issue:`186`) - Added :meth:`mopidy.core.CoreListener.mute_changed` event that is triggered when the mute state changes. - In "random" mode, after a full playthrough of the tracklist, playback continued from the last track played to the end of the playlist in non-random order. It now stops when all tracks have been played once, unless "repeat" mode is enabled. (Fixes: :issue:`453`) - In "single" mode, after a track ended, playback continued with the next track in the tracklist. It now stops after playing a single track, unless "repeat" mode is enabled. (Fixes: :issue:`496`) **Audio** - Added support for parsing and playback of playlists in GStreamer. For end users this basically means that you can now add a radio playlist to Mopidy and we will automatically download it and play the stream inside it. Currently we support M3U, PLS, XSPF and ASX files. Also note that we can currently only play the first stream in the playlist. - We now handle the rare case where an audio track has max volume equal to min. This was causing divide by zero errors when scaling volumes to a zero to hundred scale. (Fixes: :issue:`525`) - Added support for muting audio without setting the volume to 0. This works both for the software and hardware mixers. (Fixes: :issue:`186`) **Local backend** - Replaced our custom media library scanner with GStreamer's builtin scanner. This should make scanning less error prone and faster as timeouts should be infrequent. (Fixes: :issue:`198`) - Media files with less than 100ms duration are now excluded from the library. - Media files with the file extensions ``.jpeg``, ``.jpg``, ``.png``, ``.txt``, and ``.log`` are now skipped by the media library scanner. You can change the list of excluded file extensions by setting the :confval:`local/excluded_file_extensions` config value. (Fixes: :issue:`516`) - Unknown URIs found in playlists are now made into track objects with the URI set instead of being ignored. This makes it possible to have playlists with e.g. HTTP radio streams and not just ``local:track:...`` URIs. This used to work, but was broken in Mopidy 0.15.0. (Fixes: :issue:`527`) - Fixed crash when playing ``local:track:...`` URIs which contained non-ASCII chars after uridecode. - Removed media files are now also removed from the in-memory media library when the media library is reloaded from disk. (Fixes: :issue:`500`) **MPD frontend** - Made the formerly unused commands ``outputs``, ``enableoutput``, and ``disableoutput`` mute/unmute audio. (Related to: :issue:`186`) - The MPD command ``list`` now works with ``"albumartist"`` as its second argument, e.g. ``list "album" "albumartist" "anartist"``. (Fixes: :issue:`468`) - The MPD commands ``find`` and ``search`` now accepts ``albumartist`` and ``track`` (this is the track number, not the track name) as field types to limit the search result with. - The MPD command ``count`` is now implemented. It accepts the same type of arguments as ``find`` and ``search``, but returns the number of tracks and their total playtime instead. **Extension support** - A cookiecutter project for quickly creating new Mopidy extensions have been created. You can find it at `cookiecutter-mopidy-ext `_. (Fixes: :issue:`522`) v0.15.0 (2013-09-19) ==================== A release with a number of small and medium fixes, with no specific focus. **Dependencies** - Mopidy no longer supports Python 2.6. Currently, the only Python version supported by Mopidy is Python 2.7. We're continuously working towards running Mopidy on Python 3. (Fixes: :issue:`344`) **Command line options** - Converted from the optparse to the argparse library for handling command line options. - ``mopidy --show-config`` will now take into consideration any :option:`mopidy --option` arguments appearing later on the command line. This helps you see the effective configuration for runs with the same ``mopidy --options`` arguments. **Audio** - Added support for audio visualization. :confval:`audio/visualizer` can now be set to GStreamer visualizers. - Properly encode localized mixer names before logging. **Local backend** - An album's number of discs and a track's disc number are now extracted when scanning your music collection. - The scanner now gives up scanning a file after a second, and continues with the next file. This fixes some hangs on non-media files, like logs. (Fixes: :issue:`476`, :issue:`483`) - Added support for pluggable library updaters. This allows extension writers to start providing their own custom libraries instead of being stuck with just our tag cache as the only option. - Converted local backend to use new ``local:playlist:path`` and ``local:track:path`` URI scheme. Also moves support of ``file://`` to streaming backend. **Spotify backend** - Prepend playlist folder names to the playlist name, so that the playlist hierarchy from your Spotify account is available in Mopidy. (Fixes: :issue:`62`) - Fix proxy config values that was broken with the config system change in 0.14. (Fixes: :issue:`472`) **MPD frontend** - Replace newline, carriage return and forward slash in playlist names. (Fixes: :issue:`474`, :issue:`480`) - Accept ``listall`` and ``listallinfo`` commands without the URI parameter. The methods are still not implemented, but now the commands are accepted as valid. **HTTP frontend** - Fix too broad truth test that caused :class:`mopidy.models.TlTrack` objects with ``tlid`` set to ``0`` to be sent to the HTTP client without the ``tlid`` field. (Fixes: :issue:`501`) - Upgrade Mopidy.js dependencies. This version has been released to npm as Mopidy.js v0.1.1. **Extension support** - :class:`mopidy.config.Secret` is now deserialized to unicode instead of bytes. This may require modifications to extensions. v0.14.2 (2013-07-01) ==================== This is a maintenance release to make Mopidy 0.14 work with pyspotify 1.11. **Dependencies** - pyspotify >= 1.9, < 2 is now required for Spotify support. In other words, you're free to upgrade to pyspotify 1.11, but it isn't a requirement. v0.14.1 (2013-04-28) ==================== This release addresses an issue in v0.14.0 where the new ``mopidy-convert-config`` tool and the new :option:`mopidy --option` command line option was broken because some string operations inadvertently converted some byte strings to unicode. v0.14.0 (2013-04-28) ==================== The 0.14 release has a clear focus on two things: the new configuration system and extension support. Mopidy's documentation has also been greatly extended and improved. Since the last release a month ago, we've closed or merged 53 issues and pull requests. A total of seven :ref:`authors ` have contributed, including one new. **Dependencies** - setuptools or distribute is now required. We've introduced this dependency to use setuptools' entry points functionality to find installed Mopidy extensions. **New configuration system** - Mopidy has a new configuration system based on ini-style files instead of a Python file. This makes configuration easier for users, and also makes it possible for Mopidy extensions to have their own config sections. As part of this change we have cleaned up the naming of our config values. To ease migration we've made a tool named ``mopidy-convert-config`` for automatically converting the old ``settings.py`` to a new ``mopidy.conf`` file. This tool takes care of all the renamed config values as well. See ``mopidy-convert-config`` for details on how to use it. - A long wanted feature: You can now enable or disable specific frontends or backends without having to redefine :attr:`~mopidy.settings.FRONTENDS` or :attr:`~mopidy.settings.BACKENDS` in your config. Those config values are gone completely. **Extension support** - Mopidy now supports extensions. This means that any developer now easily can create a Mopidy extension to add new control interfaces or music backends. This helps spread the maintenance burden across more developers, and also makes it possible to extend Mopidy with new backends the core developers are unable to create and/or maintain because of geo restrictions, etc. If you're interested in creating an extension for Mopidy, read up on :ref:`extensiondev`. - All of Mopidy's existing frontends and backends are now plugged into Mopidy as extensions, but they are still distributed together with Mopidy and are enabled by default. - The NAD mixer have been moved out of Mopidy core to its own project, Mopidy-NAD. See :ref:`ext` for more information. - Janez Troha has made the first two external extensions for Mopidy: a backend for playing music from Soundcloud, and a backend for playing music from a Beets music library. See :ref:`ext` for more information. **Command line options** - The command option ``mopidy --list-settings`` is now named ``mopidy --show-config``. - The command option ``mopidy --list-deps`` is now named ``mopidy --show-deps``. - What configuration files to use can now be specified through the command option :option:`mopidy --config`, multiple files can be specified using colon as a separator. - Configuration values can now be overridden through the command option :option:`mopidy --option`. For example: ``mopidy --option spotify/enabled=false``. - The GStreamer command line options, ``mopidy --gst-*`` and ``mopidy --help-gst`` are no longer supported. To set GStreamer debug flags, you can use environment variables such as :envvar:`GST_DEBUG`. Refer to GStreamer's documentation for details. **Spotify backend** - Add support for starred playlists, both your own and those owned by other users. (Fixes: :issue:`326`) - Fix crash when a new playlist is added by another Spotify client. (Fixes: :issue:`387`, :issue:`425`) **MPD frontend** - Playlists with identical names are now handled properly by the MPD frontend by suffixing the duplicate names with e.g. ``[2]``. This is needed because MPD identify playlists by name only, while Mopidy and Spotify supports multiple playlists with the same name, and identify them using an URI. (Fixes: :issue:`114`) **MPRIS frontend** - The frontend is now disabled if the :envvar:`DISPLAY` environment variable is unset. This avoids some harmless error messages, that have been known to confuse new users debugging other problems. **Development** - Developers running Mopidy from a Git clone now need to run ``python setup.py develop`` to register the bundled extensions. If you don't do this, Mopidy will not find any frontends or backends. Note that we highly recomend you do this in a virtualenv, not system wide. As a bonus, the command also gives you a ``mopidy`` executable in your search path. v0.13.0 (2013-03-31) ==================== The 0.13 release brings small improvements and bugfixes throughout Mopidy. There are no major new features, just incremental improvement of what we already have. **Dependencies** - Pykka >= 1.1 is now required. **Core** - Removed the :attr:`mopidy.settings.DEBUG_THREAD` setting and the ``mopidy --debug-thread`` command line option. Sending SIGUSR1 to the Mopidy process will now always make it log tracebacks for all alive threads. - Log a warning if a track isn't playable to make it more obvious that backend X needs backend Y to be present for playback to work. - :meth:`mopidy.core.TracklistController.add` now accepts an ``uri`` which it will lookup in the library and then add to the tracklist. This is helpful for e.g. web clients that doesn't want to transfer all track meta data back to the server just to add it to the tracklist when the server already got all the needed information easily available. (Fixes: :issue:`325`) - Change the following methods to accept an ``uris`` keyword argument: - :meth:`mopidy.core.LibraryController.find_exact` - :meth:`mopidy.core.LibraryController.search` Search queries will only be forwarded to backends handling the given URI roots, and the backends may use the URI roots to further limit what results are returned. For example, a search with ``uris=['file:']`` will only be processed by the local backend. A search with ``uris=['file:///media/music']`` will only be processed by the local backend, and, if such filtering is supported by the backend, will only return results with URIs within the given URI root. **Audio sub-system** - Make audio error logging handle log messages with non-ASCII chars. (Fixes: :issue:`347`) **Local backend** - Make ``mopidy-scan`` work with Ogg Vorbis files. (Fixes: :issue:`275`) - Fix playback of files with non-ASCII chars in their file path. (Fixes: :issue:`353`) **Spotify backend** - Let GStreamer handle time position tracking and seeks. (Fixes: :issue:`191`) - For all playlists owned by other Spotify users, we now append the owner's username to the playlist name. (Partly fixes: :issue:`114`) **HTTP frontend** - Mopidy.js now works both from browsers and from Node.js environments. This means that you now can make Mopidy clients in Node.js. Mopidy.js has been published to the `npm registry `_ for easy installation in Node.js projects. - Upgrade Mopidy.js' build system Grunt from 0.3 to 0.4. - Upgrade Mopidy.js' dependencies when.js from 1.6.1 to 2.0.0. - Expose :meth:`mopidy.core.Core.get_uri_schemes` to HTTP clients. It is available through Mopidy.js as ``mopidy.getUriSchemes()``. **MPRIS frontend** - Publish album art URIs if available. - Publish disc number of track if available. v0.12.0 (2013-03-12) ==================== The 0.12 release has been delayed for a while because of some issues related some ongoing GStreamer cleanup we didn't invest enough time to finish. Finally, we've come to our senses and have now cherry-picked the good parts to bring you a new release, while postponing the GStreamer changes to 0.13. The release adds a new backend for playing audio streams, as well as various minor improvements throughout Mopidy. - Make Mopidy work on early Python 2.6 versions. (Fixes: :issue:`302`) - ``optparse`` fails if the first argument to ``add_option`` is a unicode string on Python < 2.6.2rc1. - ``foo(**data)`` fails if the keys in ``data`` is unicode strings on Python < 2.6.5rc1. **Audio sub-system** - Improve selection of mixer tracks for volume control. (Fixes: :issue:`307`) **Local backend** - Make ``mopidy-scan`` support symlinks. **Stream backend** We've added a new backend for playing audio streams, the :mod:`stream backend `. It is activated by default. The stream backend supports the intersection of what your GStreamer installation supports and what protocols are included in the :attr:`mopidy.settings.STREAM_PROTOCOLS` setting. Current limitations: - No metadata about the current track in the stream is available. - Playlists are not parsed, so you can't play e.g. a M3U or PLS file which contains stream URIs. You need to extract the stream URL from the playlist yourself. See :issue:`303` for progress on this. **Core API** - :meth:`mopidy.core.PlaylistsController.get_playlists` now accepts an argument ``include_tracks``. This defaults to :class:`True`, which has the same old behavior. If set to :class:`False`, the tracks are stripped from the playlists before they are returned. This can be used to limit the amount of data returned if the response is to be passed out of the application, e.g. to a web client. (Fixes: :issue:`297`) **Models** - Add :attr:`mopidy.models.Album.images` field for including album art URIs. (Partly fixes :issue:`263`) - Add :attr:`mopidy.models.Track.disc_no` field. (Partly fixes: :issue:`286`) - Add :attr:`mopidy.models.Album.num_discs` field. (Partly fixes: :issue:`286`) v0.11.1 (2012-12-24) ==================== Spotify search was broken in 0.11.0 for users of Python 2.6. This release fixes it. If you're using Python 2.7, v0.11.0 and v0.11.1 should be equivalent. v0.11.0 (2012-12-24) ==================== In celebration of Mopidy's three year anniversary December 23, we're releasing Mopidy 0.11. This release brings several improvements, most notably better search which now includes matching artists and albums from Spotify in the search results. **Settings** - The settings validator now complains if a setting which expects a tuple of values (e.g. :attr:`mopidy.settings.BACKENDS`, :attr:`mopidy.settings.FRONTENDS`) has a non-iterable value. This typically happens because the setting value contains a single value and one has forgotten to add a comma after the string, making the value a tuple. (Fixes: :issue:`278`) **Spotify backend** - Add :attr:`mopidy.settings.SPOTIFY_TIMEOUT` setting which allows you to control how long we should wait before giving up on Spotify searches, etc. - Add support for looking up albums, artists, and playlists by URI in addition to tracks. (Fixes: :issue:`67`) As an example of how this can be used, you can try the the following MPD commands which now all adds one or more tracks to your tracklist:: add "spotify:track:1mwt9hzaH7idmC5UCoOUkz" add "spotify:album:3gpHG5MGwnipnap32lFYvI" add "spotify:artist:5TgQ66WuWkoQ2xYxaSTnVP" add "spotify:user:p3.no:playlist:0XX6tamRiqEgh3t6FPFEkw" - Increase max number of tracks returned by searches from 100 to 200, which seems to be Spotify's current max limit. **Local backend** - Load track dates from tag cache. - Add support for searching by track date. **MPD frontend** - Add :attr:`mopidy.settings.MPD_SERVER_CONNECTION_TIMEOUT` setting which controls how long an MPD client can stay inactive before the connection is closed by the server. - Add support for the ``findadd`` command. - Updated to match the MPD 0.17 protocol (Fixes: :issue:`228`): - Add support for ``seekcur`` command. - Add support for ``config`` command. - Add support for loading a range of tracks from a playlist to the ``load`` command. - Add support for ``searchadd`` command. - Add support for ``searchaddpl`` command. - Add empty stubs for channel commands for client to client communication. - Add support for search by date. - Make ``seek`` and ``seekid`` not restart the current track before seeking in it. - Include fake tracks representing albums and artists in the search results. When these are added to the tracklist, they expand to either all tracks in the album or all tracks by the artist. This makes it easy to play full albums in proper order, which is a feature that have been frequently requested. (Fixes: :issue:`67`, :issue:`148`) **Internal changes** *Models:* - Specified that :attr:`mopidy.models.Playlist.last_modified` should be in UTC. - Added :class:`mopidy.models.SearchResult` model to encapsulate search results consisting of more than just tracks. *Core API:* - Change the following methods to return :class:`mopidy.models.SearchResult` objects which can include both track results and other results: - :meth:`mopidy.core.LibraryController.find_exact` - :meth:`mopidy.core.LibraryController.search` - Change the following methods to accept either a dict with filters or kwargs. Previously they only accepted kwargs, which made them impossible to use from the Mopidy.js through JSON-RPC, which doesn't support kwargs. - :meth:`mopidy.core.LibraryController.find_exact` - :meth:`mopidy.core.LibraryController.search` - :meth:`mopidy.core.PlaylistsController.filter` - :meth:`mopidy.core.TracklistController.filter` - :meth:`mopidy.core.TracklistController.remove` - Actually trigger the :meth:`mopidy.core.CoreListener.volume_changed` event. - Include the new volume level in the :meth:`mopidy.core.CoreListener.volume_changed` event. - The ``track_playback_{paused,resumed,started,ended}`` events now include a :class:`mopidy.models.TlTrack` instead of a :class:`mopidy.models.Track`. *Audio:* - Mixers with fewer than 100 volume levels could report another volume level than what you just set due to the conversion between Mopidy's 0-100 range and the mixer's range. Now Mopidy returns the recently set volume if the mixer reports a volume level that matches the recently set volume, otherwise the mixer's volume level is rescaled to the 1-100 range and returned. v0.10.0 (2012-12-12) ==================== We've added an HTTP frontend for those wanting to build web clients for Mopidy! **Dependencies** - pyspotify >= 1.9, < 1.11 is now required for Spotify support. In other words, you're free to upgrade to pyspotify 1.10, but it isn't a requirement. **Documentation** - Added installation instructions for Fedora. **Spotify backend** - Save a lot of memory by reusing artist, album, and track models. - Make sure the playlist loading hack only runs once. **Local backend** - Change log level from error to warning on messages emitted when the tag cache isn't found and a couple of similar cases. - Make ``mopidy-scan`` ignore invalid dates, e.g. dates in years outside the range 1-9999. - Make ``mopidy-scan`` accept ``-q``/``--quiet`` and ``-v``/``--verbose`` options to control the amount of logging output when scanning. - The scanner can now handle files with other encodings than UTF-8. Rebuild your tag cache with ``mopidy-scan`` to include tracks that may have been ignored previously. **HTTP frontend** - Added new optional HTTP frontend which exposes Mopidy's core API through JSON-RPC 2.0 messages over a WebSocket. See :ref:`http-api` for further details. - Added a JavaScript library, Mopidy.js, to make it easier to develop web based Mopidy clients using the new HTTP frontend. **Bug fixes** - :issue:`256`: Fix crash caused by non-ASCII characters in paths returned from ``glib``. The bug can be worked around by overriding the settings that includes offending ``$XDG_`` variables. v0.9.0 (2012-11-21) =================== Support for using the local and Spotify backends simultaneously have for a very long time been our most requested feature. Finally, it's here! **Dependencies** - pyspotify >= 1.9, < 1.10 is now required for Spotify support. **Documentation** - New :ref:`installation` guides, organized by OS and distribution so that you can follow one concise list of instructions instead of jumping around the docs to look for instructions for each dependency. - Moved :ref:`raspberrypi-installation` howto from the wiki to the docs. - Updated :ref:`mpd-clients` overview. - Added :ref:`mpris-clients` and :ref:`upnp-clients` overview. **Multiple backends support** - Both the local backend and the Spotify backend are now turned on by default. The local backend is listed first in the :attr:`mopidy.settings.BACKENDS` setting, and are thus given the highest priority in e.g. search results, meaning that we're listing search hits from the local backend first. If you want to prioritize the backends in another way, simply set ``BACKENDS`` in your own settings file and reorder the backends. There are no other setting changes related to the local and Spotify backends. As always, see :mod:`mopidy.settings` for the full list of available settings. **Spotify backend** - The Spotify backend now includes release year and artist on albums. - :issue:`233`: The Spotify backend now returns the track if you search for the Spotify track URI. - Added support for connecting to the Spotify service through an HTTP or SOCKS proxy, which is supported by pyspotify >= 1.9. - Subscriptions to other Spotify user's "starred" playlists are ignored, as they currently isn't fully supported by pyspotify. **Local backend** - :issue:`236`: The ``mopidy-scan`` command failed to include tags from ALAC files (Apple lossless) because it didn't support multiple tag messages from GStreamer per track it scanned. - Added support for search by filename to local backend. **MPD frontend** - :issue:`218`: The MPD commands ``listplaylist`` and ``listplaylistinfo`` now accepts unquoted playlist names if they don't contain spaces. - :issue:`246`: The MPD command ``list album artist ""`` and similar ``search``, ``find``, and ``list`` commands with empty filter values caused a :exc:`LookupError`, but should have been ignored by the MPD server. - The MPD frontend no longer lowercases search queries. This broke e.g. search by URI, where casing may be essential. - The MPD command ``plchanges`` always returned the entire playlist. It now returns an empty response when the client has seen the latest version. - The MPD commands ``search`` and ``find`` now allows the key ``file``, which is used by ncmpcpp instead of ``filename``. - The MPD commands ``search`` and ``find`` now allow search query values to be empty strings. - The MPD command ``listplaylists`` will no longer return playlists without a name. This could crash ncmpcpp. - The MPD command ``list`` will no longer return artist names, album names, or dates that are blank. - The MPD command ``decoders`` will now return an empty response instead of a "not implemented" error to make the ncmpcpp browse view work the first time it is opened. **MPRIS frontend** - The MPRIS playlists interface is now supported by our MPRIS frontend. This means that you now can select playlists to queue and play from the Ubuntu Sound Menu. **Audio mixers** - Made the :mod:`NAD mixer ` responsive to interrupts during amplifier calibration. It will now quit immediately, while previously it completed the calibration first, and then quit, which could take more than 15 seconds. **Developer support** - Added optional background thread for debugging deadlocks. When the feature is enabled via the ``mopidy --debug-thread`` option or :attr:`mopidy.settings.DEBUG_THREAD` setting a ``SIGUSR1`` signal will dump the traceback for all running threads. - The settings validator will now allow any setting prefixed with ``CUSTOM_`` to exist in the settings file. **Internal changes** Internally, Mopidy have seen a lot of changes to pave the way for multiple backends and the future HTTP frontend. - A new layer and actor, "core", has been added to our stack, inbetween the frontends and the backends. The responsibility of the core layer and actor is to take requests from the frontends, pass them on to one or more backends, and combining the response from the backends into a single response to the requesting frontend. Frontends no longer know anything about the backends. They just use the :ref:`core-api`. - The dependency graph between the core controllers and the backend providers have been straightened out, so that we don't have any circular dependencies. The frontend, core, backend, and audio layers are now strictly separate. The frontend layer calls on the core layer, and the core layer calls on the backend layer. Both the core layer and the backends are allowed to call on the audio layer. Any data flow in the opposite direction is done by broadcasting of events to listeners, through e.g. :class:`mopidy.core.CoreListener` and :class:`mopidy.audio.AudioListener`. See :ref:`concepts` for more details and illustrations of all the relations. - All dependencies are now explicitly passed to the constructors of the frontends, core, and the backends. This makes testing each layer with dummy/mocked lower layers easier than with the old variant, where dependencies where looked up in Pykka's actor registry. - All properties in the core API now got getters, and setters if setting them is allowed. They are not explictly listed in the docs as they have the same behavior as the documented properties, but they are available and may be used. This is useful for the future HTTP frontend. *Models:* - Added :attr:`mopidy.models.Album.date` attribute. It has the same format as the existing :attr:`mopidy.models.Track.date`. - Added :class:`mopidy.models.ModelJSONEncoder` and :func:`mopidy.models.model_json_decoder` for automatic JSON serialization and deserialization of data structures which contains Mopidy models. This is useful for the future HTTP frontend. *Library:* - :meth:`mopidy.core.LibraryController.find_exact` and :meth:`mopidy.core.LibraryController.search` now returns plain lists of tracks instead of playlist objects. - :meth:`mopidy.core.LibraryController.lookup` now returns a list of tracks instead of a single track. This makes it possible to support lookup of artist or album URIs which then can expand to a list of tracks. *Playback:* - The base playback provider has been updated with sane default behavior instead of empty functions. By default, the playback provider now lets GStreamer keep track of the current track's time position. The local backend simply uses the base playback provider without any changes. Any future backend that just feeds URIs to GStreamer to play can also use the base playback provider without any changes. - Removed :attr:`mopidy.core.PlaybackController.track_at_previous`. Use :attr:`mopidy.core.PlaybackController.tl_track_at_previous` instead. - Removed :attr:`mopidy.core.PlaybackController.track_at_next`. Use :attr:`mopidy.core.PlaybackController.tl_track_at_next` instead. - Removed :attr:`mopidy.core.PlaybackController.track_at_eot`. Use :attr:`mopidy.core.PlaybackController.tl_track_at_eot` instead. - Removed :attr:`mopidy.core.PlaybackController.current_tlid`. Use :attr:`mopidy.core.PlaybackController.current_tl_track` instead. *Playlists:* The playlists part of the core API has been revised to be more focused around the playlist URI, and some redundant functionality has been removed: - Renamed "stored playlists" to "playlists" everywhere, including the core API used by frontends. - :attr:`mopidy.core.PlaylistsController.playlists` no longer supports assignment to it. The `playlists` property on the backend layer still does, and all functionality is maintained by assigning to the playlists collections at the backend level. - :meth:`mopidy.core.PlaylistsController.delete` now accepts an URI, and not a playlist object. - :meth:`mopidy.core.PlaylistsController.save` now returns the saved playlist. The returned playlist may differ from the saved playlist, and should thus be used instead of the playlist passed to :meth:`mopidy.core.PlaylistsController.save`. - :meth:`mopidy.core.PlaylistsController.rename` has been removed, since renaming can be done with :meth:`mopidy.core.PlaylistsController.save`. - :meth:`mopidy.core.PlaylistsController.get` has been replaced by :meth:`mopidy.core.PlaylistsController.filter`. - The event :meth:`mopidy.core.CoreListener.playlist_changed` has been changed to include the playlist that was changed. *Tracklist:* - Renamed "current playlist" to "tracklist" everywhere, including the core API used by frontends. - Removed :meth:`mopidy.core.TracklistController.append`. Use :meth:`mopidy.core.TracklistController.add` instead, which is now capable of adding multiple tracks. - :meth:`mopidy.core.TracklistController.get` has been replaced by :meth:`mopidy.core.TracklistController.filter`. - :meth:`mopidy.core.TracklistController.remove` can now remove multiple tracks, and returns the tracks it removed. - When the tracklist is changed, we now trigger the new :meth:`mopidy.core.CoreListener.tracklist_changed` event. Previously we triggered :meth:`mopidy.core.CoreListener.playlist_changed`, which is intended for stored playlists, not the tracklist. *Towards Python 3 support:* - Make the entire code base use unicode strings by default, and only fall back to bytestrings where it is required. Another step closer to Python 3. v0.8.1 (2012-10-30) =================== A small maintenance release to fix a bug introduced in 0.8.0 and update Mopidy to work with Pykka 1.0. **Dependencies** - Pykka >= 1.0 is now required. **Bug fixes** - :issue:`213`: Fix "streaming task paused, reason not-negotiated" errors observed by some users on some Spotify tracks due to a change introduced in 0.8.0. See the issue for a patch that applies to 0.8.0. - :issue:`216`: Volume returned by the MPD command `status` contained a floating point ``.0`` suffix. This bug was introduced with the large audio output and mixer changes in v0.8.0 and broke the MPDroid Android client. It now returns an integer again. v0.8.0 (2012-09-20) =================== This release does not include any major new features. We've done a major cleanup of how audio outputs and audio mixers work, and on the way we've resolved a bunch of related issues. **Audio output and mixer changes** - Removed multiple outputs support. Having this feature currently seems to be more trouble than what it is worth. The :attr:`mopidy.settings.OUTPUTS` setting is no longer supported, and has been replaced with :attr:`mopidy.settings.OUTPUT` which is a GStreamer bin description string in the same format as ``gst-launch`` expects. Default value is ``autoaudiosink``. (Fixes: :issue:`81`, :issue:`115`, :issue:`121`, :issue:`159`) - Switch to pure GStreamer based mixing. This implies that users setup a GStreamer bin with a mixer in it in :attr:`mopidy.settings.MIXER`. The default value is ``autoaudiomixer``, a custom mixer that attempts to find a mixer that will work on your system. If this picks the wrong mixer you can of course override it. Setting the mixer to :class:`None` is also supported. MPD protocol support for volume has also been updated to return -1 when we have no mixer set. ``software`` can be used to force software mixing. - Removed the Denon hardware mixer, as it is not maintained. - Updated the NAD hardware mixer to work in the new GStreamer based mixing regime. Settings are now passed as GStreamer element properties. In practice that means that the following old-style config:: MIXER = u'mopidy.mixers.nad.NadMixer' MIXER_EXT_PORT = u'/dev/ttyUSB0' MIXER_EXT_SOURCE = u'Aux' MIXER_EXT_SPEAKERS_A = u'On' MIXER_EXT_SPEAKERS_B = u'Off' Now is reduced to simply:: MIXER = u'nadmixer port=/dev/ttyUSB0 source=aux speakers-a=on speakers-b=off' The ``port`` property defaults to ``/dev/ttyUSB0``, and the rest of the properties may be left out if you don't want the mixer to adjust the settings on your NAD amplifier when Mopidy is started. **Changes** - When unknown settings are encountered, we now check if it's similar to a known setting, and suggests to the user what we think the setting should have been. - Added ``mopidy --list-deps`` option that lists required and optional dependencies, their current versions, and some other information useful for debugging. (Fixes: :issue:`74`) - Added ``tools/debug-proxy.py`` to tee client requests to two backends and diff responses. Intended as a developer tool for checking for MPD protocol changes and various client support. Requires gevent, which currently is not a dependency of Mopidy. - Support tracks with only release year, and not a full release date, like e.g. Spotify tracks. - Default value of ``LOCAL_MUSIC_PATH`` has been updated to be ``$XDG_MUSIC_DIR``, which on most systems this is set to ``$HOME``. Users of local backend that relied on the old default ``~/music`` need to update their settings. Note that the code responsible for finding this music now also ignores UNIX hidden files and folders. - File and path settings now support ``$XDG_CACHE_DIR``, ``$XDG_DATA_DIR`` and ``$XDG_MUSIC_DIR`` substitution. Defaults for such settings have been updated to use this instead of hidden away defaults. - Playback is now done using ``playbin2`` from GStreamer instead of rolling our own. This is the first step towards resolving :issue:`171`. **Bug fixes** - :issue:`72`: Created a Spotify track proxy that will switch to using loaded data as soon as it becomes available. - :issue:`150`: Fix bug which caused some clients to block Mopidy completely. The bug was caused by some clients sending ``close`` and then shutting down the connection right away. This trigged a situation in which the connection cleanup code would wait for an response that would never come inside the event loop, blocking everything else. - :issue:`162`: Fixed bug when the MPD command ``playlistinfo`` is used with a track position. Track position and CPID was intermixed, so it would cause a crash if a CPID matching the track position didn't exist. - Fixed crash on lookup of unknown path when using local backend. - :issue:`189`: ``LOCAL_MUSIC_PATH`` and path handling in rest of settings has been updated so all of the code now uses the correct value. - Fixed incorrect track URIs generated by M3U playlist parsing code. Generated tracks are now relative to ``LOCAL_MUSIC_PATH``. - :issue:`203`: Re-add support for software mixing. v0.7.3 (2012-08-11) =================== A small maintenance release to fix a crash affecting a few users, and a couple of small adjustments to the Spotify backend. **Changes** - Fixed crash when logging :exc:`IOError` exceptions on systems using languages with non-ASCII characters, like French. - Move the default location of the Spotify cache from `~/.cache/mopidy` to `~/.cache/mopidy/spotify`. You can change this by setting :attr:`mopidy.settings.SPOTIFY_CACHE_PATH`. - Reduce time required to update the Spotify cache on startup. One one system/Spotify account, the time from clean cache to ready for use was reduced from 35s to 12s. v0.7.2 (2012-05-07) =================== This is a maintenance release to make Mopidy 0.7 build on systems without all of Mopidy's runtime dependencies, like Launchpad PPAs. **Changes** - Change from version tuple at :attr:`mopidy.VERSION` to :pep:`386` compliant version string at :attr:`mopidy.__version__` to conform to :pep:`396`. v0.7.1 (2012-04-22) =================== This is a maintenance release to make Mopidy 0.7 work with pyspotify >= 1.7. **Changes** - Don't override pyspotify's ``notify_main_thread`` callback. The default implementation is sensible, while our override did nothing. v0.7.0 (2012-02-25) =================== Not a big release with regard to features, but this release got some performance improvements over v0.6, especially for slower Atom systems. It also fixes a couple of other bugs, including one which made Mopidy crash when using GStreamer from the prereleases of Ubuntu 12.04. **Changes** - The MPD command ``playlistinfo`` is now faster, thanks to John Bäckstrand. - Added the method :meth:`mopidy.backends.base.CurrentPlaylistController.length()`, :meth:`mopidy.backends.base.CurrentPlaylistController.index()`, and :meth:`mopidy.backends.base.CurrentPlaylistController.slice()` to reduce the need for copying the entire current playlist from one thread to another. Thanks to John Bäckstrand for pinpointing the issue. - Fix crash on creation of config and cache directories if intermediate directories does not exist. This was especially the case on OS X, where ``~/.config`` doesn't exist for most users. - Fix ``gst.LinkError`` which appeared when using newer versions of GStreamer, e.g. on Ubuntu 12.04 Alpha. (Fixes: :issue:`144`) - Fix crash on mismatching quotation in ``list`` MPD queries. (Fixes: :issue:`137`) - Volume is now reported to be the same as the volume was set to, also when internal rounding have been done due to :attr:`mopidy.settings.MIXER_MAX_VOLUME` has been set to cap the volume. This should make it possible to manage capped volume from clients that only increase volume with one step at a time, like ncmpcpp does. v0.6.1 (2011-12-28) =================== This is a maintenance release to make Mopidy 0.6 work with pyspotify >= 1.5, which Mopidy's develop branch have supported for a long time. This should also make the Debian packages work out of the box again. **Important changes** - pyspotify 1.5 or greater is required. **Changes** - Spotify playlist folder boundaries are now properly detected. In other words, if you use playlist folders, you will no longer get lots of log messages about bad playlists. v0.6.0 (2011-10-09) =================== The development of Mopidy have been quite slow for the last couple of months, but we do have some goodies to release which have been idling in the develop branch since the warmer days of the summer. This release brings support for the MPD ``idle`` command, which makes it possible for a client wait for updates from the server instead of polling every second. Also, we've added support for the MPRIS standard, so that Mopidy can be controlled over D-Bus from e.g. the Ubuntu Sound Menu. Please note that 0.6.0 requires some updated dependencies, as listed under *Important changes* below. **Important changes** - Pykka 0.12.3 or greater is required. - pyspotify 1.4 or greater is required. - All config, data, and cache locations are now based on the XDG spec. - This means that your settings file will need to be moved from ``~/.mopidy/settings.py`` to ``~/.config/mopidy/settings.py``. - Your Spotify cache will now be stored in ``~/.cache/mopidy`` instead of ``~/.mopidy/spotify_cache``. - The local backend's ``tag_cache`` should now be in ``~/.local/share/mopidy/tag_cache``, likewise your playlists will be in ``~/.local/share/mopidy/playlists``. - The local client now tries to lookup where your music is via XDG, it will fall-back to ``~/music`` or use whatever setting you set manually. - The MPD command ``idle`` is now supported by Mopidy for the following subsystems: player, playlist, options, and mixer. (Fixes: :issue:`32`) - A new frontend :mod:`mopidy.frontends.mpris` have been added. It exposes Mopidy through the `MPRIS interface `_ over D-Bus. In practice, this makes it possible to control Mopidy through the `Ubuntu Sound Menu `_. **Changes** - Replace :attr:`mopidy.backends.base.Backend.uri_handlers` with :attr:`mopidy.backends.base.Backend.uri_schemes`, which just takes the part up to the colon of an URI, and not any prefix. - Add Listener API, :mod:`mopidy.listeners`, to be implemented by actors wanting to receive events from the backend. This is a formalization of the ad hoc events the Last.fm scrobbler has already been using for some time. - Replaced all of the MPD network code that was provided by asyncore with custom stack. This change was made to facilitate support for the ``idle`` command, and to reduce the number of event loops being used. - Fix metadata update in Shoutcast streaming. (Fixes: :issue:`122`) - Unescape all incoming MPD requests. (Fixes: :issue:`113`) - Increase the maximum number of results returned by Spotify searches from 32 to 100. - Send Spotify search queries to pyspotify as unicode objects, as required by pyspotify 1.4. (Fixes: :issue:`129`) - Add setting :attr:`mopidy.settings.MPD_SERVER_MAX_CONNECTIONS`. (Fixes: :issue:`134`) - Remove `destroy()` methods from backend controller and provider APIs, as it was not in use and actually not called by any code. Will reintroduce when needed. v0.5.0 (2011-06-15) =================== Since last time we've added support for audio streaming to SHOUTcast servers and fixed the longstanding playlist loading issue in the Spotify backend. As always the release has a bunch of bug fixes and minor improvements. Please note that 0.5.0 requires some updated dependencies, as listed under *Important changes* below. **Important changes** - If you use the Spotify backend, you *must* upgrade to libspotify 0.0.8 and pyspotify 1.3. If you install from APT, libspotify and pyspotify will automatically be upgraded. If you are not installing from APT, follow the instructions at :ref:`installation`. - If you have explicitly set the :attr:`mopidy.settings.SPOTIFY_HIGH_BITRATE` setting, you must update your settings file. The new setting is named :attr:`mopidy.settings.SPOTIFY_BITRATE` and accepts the integer values 96, 160, and 320. - Mopidy now supports running with 1 to N outputs at the same time. This feature was mainly added to facilitate SHOUTcast support, which Mopidy has also gained. In its current state outputs can not be toggled during runtime. **Changes** - Local backend: - Fix local backend time query errors that where coming from stopped pipeline. (Fixes: :issue:`87`) - Spotify backend: - Thanks to Antoine Pierlot-Garcin's recent work on updating and improving pyspotify, stored playlists will again load when Mopidy starts. The workaround of searching and reconnecting to make the playlists appear are no longer necessary. (Fixes: :issue:`59`) - Track's that are no longer available in Spotify's archives are now "autolinked" to corresponding tracks in other albums, just like the official Spotify clients do. (Fixes: :issue:`34`) - MPD frontend: - Refactoring and cleanup. Most notably, all request handlers now get an instance of :class:`mopidy.frontends.mpd.dispatcher.MpdContext` as the first argument. The new class contains reference to any object in Mopidy the MPD protocol implementation should need access to. - Close the client connection when the command ``close`` is received. - Do not allow access to the command ``kill``. - ``commands`` and ``notcommands`` now have correct output if password authentication is turned on, but the connected user has not been authenticated yet. - Command line usage: - Support passing options to GStreamer. See ``mopidy --help-gst`` for a list of available options. (Fixes: :issue:`95`) - Improve ``mopidy --list-settings`` output. (Fixes: :issue:`91`) - Added ``mopidy --interactive`` for reading missing local settings from ``stdin``. (Fixes: :issue:`96`) - Improve shutdown procedure at CTRL+C. Add signal handler for ``SIGTERM``, which initiates the same shutdown procedure as CTRL+C does. - Tag cache generator: - Made it possible to abort :command:`mopidy-scan` with CTRL+C. - Fixed bug regarding handling of bad dates. - Use :mod:`logging` instead of ``print`` statements. - Found and worked around strange WMA metadata behaviour. - Backend API: - Calling on :meth:`mopidy.backends.base.playback.PlaybackController.next` and :meth:`mopidy.backends.base.playback.PlaybackController.previous` no longer implies that playback should be started. The playback state--whether playing, paused or stopped--will now be kept. - The method :meth:`mopidy.backends.base.playback.PlaybackController.change_track` has been added. Like ``next()``, and ``prev()``, it changes the current track without changing the playback state. v0.4.1 (2011-05-06) =================== This is a bug fix release fixing audio problems on older GStreamer and some minor bugs. **Bug fixes** - Fix broken audio on at least GStreamer 0.10.30, which affects Ubuntu 10.10. The GStreamer `appsrc` bin wasn't being linked due to lack of default caps. (Fixes: :issue:`85`) - Fix crash in :mod:`mopidy.mixers.nad` that occures at startup when the :mod:`io` module is available. We used an `eol` keyword argument which is supported by :meth:`serial.FileLike.readline`, but not by :meth:`io.RawBaseIO.readline`. When the :mod:`io` module is available, it is used by PySerial instead of the `FileLike` implementation. - Fix UnicodeDecodeError in MPD frontend on non-english locale. Thanks to Antoine Pierlot-Garcin for the patch. (Fixes: :issue:`88`) - Do not create Pykka proxies that are not going to be used in :mod:`mopidy.core`. The underlying actor may already intentionally be dead, and thus the program may crash on creating a proxy it doesn't need. Combined with the Pykka 0.12.2 release this fixes a crash in the Last.fm frontend which may occur when all dependencies are installed, but the frontend isn't configured. (Fixes: :issue:`84`) v0.4.0 (2011-04-27) =================== Mopidy 0.4.0 is another release without major feature additions. In 0.4.0 we've fixed a bunch of issues and bugs, with the help of several new contributors who are credited in the changelog below. The major change of 0.4.0 is an internal refactoring which clears way for future features, and which also make Mopidy work on Python 2.7. In other words, Mopidy 0.4.0 works on Ubuntu 11.04 and Arch Linux. Please note that 0.4.0 requires some updated dependencies, as listed under *Important changes* below. Also, the known bug in the Spotify playlist loading from Mopidy 0.3.0 is still present. .. warning:: Known bug in Spotify playlist loading There is a known bug in the loading of Spotify playlists. To avoid the bug, follow the simple workaround described at :issue:`59`. **Important changes** - Mopidy now depends on `Pykka `_ >=0.12. If you install from APT, Pykka will automatically be installed. If you are not installing from APT, you may install Pykka from PyPI:: sudo pip install -U Pykka - If you use the Spotify backend, you *should* upgrade to libspotify 0.0.7 and the latest pyspotify from the Mopidy developers. If you install from APT, libspotify and pyspotify will automatically be upgraded. If you are not installing from APT, follow the instructions at :ref:`installation`. **Changes** - Mopidy now use Pykka actors for thread management and inter-thread communication. The immediate advantage of this is that Mopidy now works on Python 2.7, which is the default on e.g. Ubuntu 11.04. (Fixes: :issue:`66`) - Spotify backend: - Fixed multiple segmentation faults due to bugs in Pyspotify. Thanks to Antoine Pierlot-Garcin and Jamie Kirkpatrick for patches to Pyspotify. - Better error messages on wrong login or network problems. Thanks to Antoine Pierlot-Garcin for patches to Mopidy and Pyspotify. (Fixes: :issue:`77`) - Reduce log level for trivial log messages from warning to info. (Fixes: :issue:`71`) - Pause playback on network connection errors. (Fixes: :issue:`65`) - Local backend: - Fix crash in :command:`mopidy-scan` if a track has no artist name. Thanks to Martins Grunskis for test and patch and "octe" for patch. - Fix crash in `tag_cache` parsing if a track has no total number of tracks in the album. Thanks to Martins Grunskis for the patch. - MPD frontend: - Add support for "date" queries to both the ``find`` and ``search`` commands. This makes media library browsing in ncmpcpp work, though very slow due to all the meta data requests to Spotify. - Add support for ``play "-1"`` when in playing or paused state, which fixes resume and addition of tracks to the current playlist while playing for the MPoD client. - Fix bug where ``status`` returned ``song: None``, which caused MPDroid to crash. (Fixes: :issue:`69`) - Gracefully fallback to IPv4 sockets on systems that supports IPv6, but has turned it off. (Fixes: :issue:`75`) - GStreamer output: - Use ``uridecodebin`` for playing audio from both Spotify and the local backend. This contributes to support for multiple backends simultaneously. - Settings: - Fix crash on ``mopidy --list-settings`` on clean installation. Thanks to Martins Grunskis for the bug report and patch. (Fixes: :issue:`63`) - Packaging: - Replace test data symlinks with real files to avoid symlink issues when installing with pip. (Fixes: :issue:`68`) - Debugging: - Include platform, architecture, Linux distribution, and Python version in the debug log, to ease debugging of issues with attached debug logs. v0.3.1 (2011-01-22) =================== A couple of fixes to the 0.3.0 release is needed to get a smooth installation. **Bug fixes** - The Spotify application key was missing from the Python package. - Installation of the Python package as a normal user failed because it did not have permissions to install ``mopidy.desktop``. The file is now only installed if the installation is executed as the root user. v0.3.0 (2011-01-22) =================== Mopidy 0.3.0 brings a bunch of small changes all over the place, but no large changes. The main features are support for high bitrate audio from Spotify, and MPD password authentication. Regarding the docs, we've improved the :ref:`installation instructions ` and done a bit of testing of the available :ref:`Android ` and :ref:`iOS clients ` for MPD. Please note that 0.3.0 requires some updated dependencies, as listed under *Important changes* below. Also, there is a known bug in the Spotify playlist loading, as described below. As the bug will take some time to fix and has a known workaround, we did not want to delay the release while waiting for a fix to this problem. .. warning:: Known bug in Spotify playlist loading There is a known bug in the loading of Spotify playlists. This bug affects both Mopidy 0.2.1 and 0.3.0, given that you use libspotify 0.0.6. To avoid the bug, either use Mopidy 0.2.1 with libspotify 0.0.4, or use either Mopidy version with libspotify 0.0.6 and follow the simple workaround described at :issue:`59`. **Important changes** - If you use the Spotify backend, you need to upgrade to libspotify 0.0.6 and the latest pyspotify from the Mopidy developers. Follow the instructions at :ref:`installation`. - If you use the Last.fm frontend, you need to upgrade to pylast 0.5.7. Run ``sudo pip install --upgrade pylast`` or install Mopidy from APT. **Changes** - Spotify backend: - Support high bitrate (320k) audio. Set the new setting :attr:`mopidy.settings.SPOTIFY_HIGH_BITRATE` to :class:`True` to switch to high bitrate audio. - Rename :mod:`mopidy.backends.libspotify` to :mod:`mopidy.backends.spotify`. If you have set :attr:`mopidy.settings.BACKENDS` explicitly, you may need to update the setting's value. - Catch and log error caused by playlist folder boundaries being threated as normal playlists. More permanent fix requires support for checking playlist types in pyspotify (see :issue:`62`). - Fix crash on failed lookup of track by URI. (Fixes: :issue:`60`) - Local backend: - Add :command:`mopidy-scan` command to generate ``tag_cache`` files without any help from the original MPD server. See :ref:`generating-a-local-library` for instructions on how to use it. - Fix support for UTF-8 encoding in tag caches. - MPD frontend: - Add support for password authentication. See :attr:`mopidy.settings.MPD_SERVER_PASSWORD` for details on how to use it. (Fixes: :issue:`41`) - Support ``setvol 50`` without quotes around the argument. Fixes volume control in Droid MPD. - Support ``seek 1 120`` without quotes around the arguments. Fixes seek in Droid MPD. - Last.fm frontend: - Update to use Last.fm's new Scrobbling 2.0 API, as the old Submissions Protocol 1.2.1 is deprecated. (Fixes: :issue:`33`) - Fix crash when track object does not contain all the expected meta data. - Fix crash when response from Last.fm cannot be decoded as UTF-8. (Fixes: :issue:`37`) - Fix crash when response from Last.fm contains invalid XML. - Fix crash when response from Last.fm has an invalid HTTP status line. - Mixers: - Support use of unicode strings for settings specific to :mod:`mopidy.mixers.nad`. - Settings: - Automatically expand the "~" characted to the user's home directory and make the path absolute for settings with names ending in ``_PATH`` or ``_FILE``. - Rename the following settings. The settings validator will warn you if you need to change your local settings. - ``LOCAL_MUSIC_FOLDER`` to :attr:`mopidy.settings.LOCAL_MUSIC_PATH` - ``LOCAL_PLAYLIST_FOLDER`` to :attr:`mopidy.settings.LOCAL_PLAYLIST_PATH` - ``LOCAL_TAG_CACHE`` to :attr:`mopidy.settings.LOCAL_TAG_CACHE_FILE` - ``SPOTIFY_LIB_CACHE`` to :attr:`mopidy.settings.SPOTIFY_CACHE_PATH` - Fix bug which made settings set to :class:`None` or 0 cause a :exc:`mopidy.SettingsError` to be raised. - Packaging and distribution: - Setup APT repository and create Debian packages of Mopidy. See :ref:`installation` for instructions for how to install Mopidy, including all dependencies, from APT. - Install ``mopidy.desktop`` file that makes Mopidy available from e.g. Gnome application menus. - API: - Rename and generalize ``Playlist._with(**kwargs)`` to :meth:`mopidy.models.ImmutableObject.copy`. - Add ``musicbrainz_id`` field to :class:`mopidy.models.Artist`, :class:`mopidy.models.Album`, and :class:`mopidy.models.Track`. - Prepare for multi-backend support (see :issue:`40`) by introducing the :ref:`provider concept `. Split the backend API into a :ref:`backend controller API ` (for frontend use) and a :ref:`backend provider API ` (for backend implementation use), which includes the following changes: - Rename ``BaseBackend`` to :class:`mopidy.backends.base.Backend`. - Rename ``BaseCurrentPlaylistController`` to :class:`mopidy.backends.base.CurrentPlaylistController`. - Split ``BaseLibraryController`` to :class:`mopidy.backends.base.LibraryController` and :class:`mopidy.backends.base.BaseLibraryProvider`. - Split ``BasePlaybackController`` to :class:`mopidy.backends.base.PlaybackController` and :class:`mopidy.backends.base.BasePlaybackProvider`. - Split ``BaseStoredPlaylistsController`` to :class:`mopidy.backends.base.StoredPlaylistsController` and :class:`mopidy.backends.base.BaseStoredPlaylistsProvider`. - Move ``BaseMixer`` to :class:`mopidy.mixers.base.BaseMixer`. - Add docs for the current non-stable output API, :class:`mopidy.outputs.base.BaseOutput`. v0.2.1 (2011-01-07) =================== This is a maintenance release without any new features. **Bug fixes** - Fix crash in :mod:`mopidy.frontends.lastfm` which occurred at playback if either :mod:`pylast` was not installed or the Last.fm scrobbling was not correctly configured. The scrobbling thread now shuts properly down at failure. v0.2.0 (2010-10-24) =================== In Mopidy 0.2.0 we've added a `Last.fm `_ scrobbling support, which means that Mopidy now can submit meta data about the tracks you play to your Last.fm profile. See :mod:`mopidy.frontends.lastfm` for details on new dependencies and settings. If you use Mopidy's Last.fm support, please join the `Mopidy group at Last.fm `_. With the exception of the work on the Last.fm scrobbler, there has been a couple of quiet months in the Mopidy camp. About the only thing going on, has been stabilization work and bug fixing. All bugs reported on GitHub, plus some, have been fixed in 0.2.0. Thus, we hope this will be a great release! We've worked a bit on OS X support, but not all issues are completely solved yet. :issue:`25` is the one that is currently blocking OS X support. Any help solving it will be greatly appreciated! Finally, please :ref:`update your pyspotify installation ` when upgrading to Mopidy 0.2.0. The latest pyspotify got a fix for the segmentation fault that occurred when playing music and searching at the same time, thanks to Valentin David. **Important changes** - Added a Last.fm scrobbler. See :mod:`mopidy.frontends.lastfm` for details. **Changes** - Logging and command line options: - Simplify the default log format, :attr:`mopidy.settings.CONSOLE_LOG_FORMAT`. From a user's point of view: Less noise, more information. - Rename the ``mopidy --dump`` command line option to :option:`mopidy --save-debug-log`. - Rename setting :attr:`mopidy.settings.DUMP_LOG_FORMAT` to :attr:`mopidy.settings.DEBUG_LOG_FORMAT` and use it for :option:`mopidy --verbose` too. - Rename setting :attr:`mopidy.settings.DUMP_LOG_FILENAME` to :attr:`mopidy.settings.DEBUG_LOG_FILENAME`. - MPD frontend: - MPD command ``list`` now supports queries by artist, album name, and date, as used by e.g. the Ario client. (Fixes: :issue:`20`) - MPD command ``add ""`` and ``addid ""`` now behaves as expected. (Fixes :issue:`16`) - MPD command ``playid "-1"`` now correctly resumes playback if paused. - Random mode: - Fix wrong behavior on end of track and next after random mode has been used. (Fixes: :issue:`18`) - Fix infinite recursion loop crash on playback of non-playable tracks when in random mode. (Fixes :issue:`17`) - Fix assertion error that happened if one removed tracks from the current playlist, while in random mode. (Fixes :issue:`22`) - Switched from using subprocesses to threads. (Fixes: :issue:`14`) - :mod:`mopidy.outputs.gstreamer`: Set ``caps`` on the ``appsrc`` bin before use. This makes sound output work with GStreamer >= 0.10.29, which includes the versions used in Ubuntu 10.10 and on OS X if using Homebrew. (Fixes: :issue:`21`, :issue:`24`, contributes to :issue:`14`) - Improved handling of uncaught exceptions in threads. The entire process should now exit immediately. v0.1.0 (2010-08-23) =================== After three weeks of long nights and sprints we're finally pleased enough with the state of Mopidy to remove the alpha label, and do a regular release. Mopidy 0.1.0 got important improvements in search functionality, working track position seeking, no known stability issues, and greatly improved MPD client support. There are lots of changes since 0.1.0a3, and we urge you to at least read the *important changes* below. This release does not support OS X. We're sorry about that, and are working on fixing the OS X issues for a future release. You can track the progress at :issue:`14`. **Important changes** - License changed from GPLv2 to Apache License, version 2.0. - GStreamer is now a required dependency. See our :ref:`GStreamer installation docs `. - :mod:`mopidy.backends.libspotify` is now the default backend. :mod:`mopidy.backends.despotify` is no longer available. This means that you need to install the :ref:`dependencies for libspotify `. - If you used :mod:`mopidy.backends.libspotify` previously, pyspotify must be updated when updating to this release, to get working seek functionality. - :attr:`mopidy.settings.SERVER_HOSTNAME` and :attr:`mopidy.settings.SERVER_PORT` has been renamed to :attr:`mopidy.settings.MPD_SERVER_HOSTNAME` and :attr:`mopidy.settings.MPD_SERVER_PORT` to allow for multiple frontends in the future. **Changes** - Exit early if not Python >= 2.6, < 3. - Validate settings at startup and print useful error messages if the settings has not been updated or anything is misspelled. - Add command line option ``mopidy --list-settings`` to print the currently active settings. - Include Sphinx scripts for building docs, pylintrc, tests and test data in the packages created by ``setup.py`` for i.e. PyPI. - MPD frontend: - Search improvements, including support for multi-word search. - Fixed ``play "-1"`` and ``playid "-1"`` behaviour when playlist is empty or when a current track is set. - Support ``plchanges "-1"`` to work better with MPDroid. - Support ``pause`` without arguments to work better with MPDroid. - Support ``plchanges``, ``play``, ``consume``, ``random``, ``repeat``, and ``single`` without quotes to work better with BitMPC. - Fixed deletion of the currently playing track from the current playlist, which crashed several clients. - Implement ``seek`` and ``seekid``. - Fix ``playlistfind`` output so the correct song is played when playing songs directly from search results in GMPC. - Fix ``load`` so that one can append a playlist to the current playlist, and make it return the correct error message if the playlist is not found. - Support for single track repeat added. (Fixes: :issue:`4`) - Relocate from :mod:`mopidy.mpd` to :mod:`mopidy.frontends.mpd`. - Split gigantic protocol implementation into eleven modules. - Rename ``mopidy.frontends.mpd.{serializer => translator}`` to match naming in backends. - Remove setting :attr:`mopidy.settings.SERVER` and :attr:`mopidy.settings.FRONTEND` in favour of the new :attr:`mopidy.settings.FRONTENDS`. - Run MPD server in its own process. - Backends: - Rename :mod:`mopidy.backends.gstreamer` to :mod:`mopidy.backends.local`. - Remove :mod:`mopidy.backends.despotify`, as Despotify is little maintained and the Libspotify backend is working much better. (Fixes: :issue:`9`, :issue:`10`, :issue:`13`) - A Spotify application key is now bundled with the source. :attr:`mopidy.settings.SPOTIFY_LIB_APPKEY` is thus removed. - If failing to play a track, playback will skip to the next track. - Both :mod:`mopidy.backends.libspotify` and :mod:`mopidy.backends.local` have been rewritten to use the new common GStreamer audio output module, :mod:`mopidy.outputs.gstreamer`. - Mixers: - Added new :mod:`mopidy.mixers.gstreamer_software.GStreamerSoftwareMixer` which now is the default mixer on all platforms. - New setting :attr:`mopidy.settings.MIXER_MAX_VOLUME` for capping the maximum output volume. - Backend API: - Relocate from :mod:`mopidy.backends` to :mod:`mopidy.backends.base`. - The ``id`` field of :class:`mopidy.models.Track` has been removed, as it is no longer needed after the CPID refactoring. - :meth:`mopidy.backends.base.BaseBackend()` now accepts an ``output_queue`` which it can use to send messages (i.e. audio data) to the output process. - :meth:`mopidy.backends.base.BaseLibraryController.find_exact()` now accepts keyword arguments of the form ``find_exact(artist=['foo'], album=['bar'])``. - :meth:`mopidy.backends.base.BaseLibraryController.search()` now accepts keyword arguments of the form ``search(artist=['foo', 'fighters'], album=['bar', 'grooves'])``. - :meth:`mopidy.backends.base.BaseCurrentPlaylistController.append()` replaces :meth:`mopidy.backends.base.BaseCurrentPlaylistController.load()`. Use :meth:`mopidy.backends.base.BaseCurrentPlaylistController.clear()` if you want to clear the current playlist. - The following fields in :class:`mopidy.backends.base.BasePlaybackController` has been renamed to reflect their relation to methods called on the controller: - ``next_track`` to ``track_at_next`` - ``next_cp_track`` to ``cp_track_at_next`` - ``previous_track`` to ``track_at_previous`` - ``previous_cp_track`` to ``cp_track_at_previous`` - :attr:`mopidy.backends.base.BasePlaybackController.track_at_eot` and :attr:`mopidy.backends.base.BasePlaybackController.cp_track_at_eot` has been added to better handle the difference between the user pressing next and the current track ending. - Rename :meth:`mopidy.backends.base.BasePlaybackController.new_playlist_loaded_callback()` to :meth:`mopidy.backends.base.BasePlaybackController.on_current_playlist_change()`. - Rename :meth:`mopidy.backends.base.BasePlaybackController.end_of_track_callback()` to :meth:`mopidy.backends.base.BasePlaybackController.on_end_of_track()`. - Remove :meth:`mopidy.backends.base.BaseStoredPlaylistsController.search()` since it was barely used, untested, and we got no use case for non-exact search in stored playlists yet. Use :meth:`mopidy.backends.base.BaseStoredPlaylistsController.get()` instead. v0.1.0a3 (2010-08-03) ===================== In the last two months, Mopidy's MPD frontend has gotten lots of stability fixes and error handling improvements, proper support for having the same track multiple times in a playlist, and support for IPv6. We have also fixed the choppy playback on the libspotify backend. For the road ahead of us, we got an updated release roadmap with our goals for the 0.1 to 0.3 releases. Enjoy the best alpha relase of Mopidy ever :-) **Changes** - MPD frontend: - Support IPv6. - ``addid`` responds properly on errors instead of crashing. - ``commands`` support, which makes RelaXXPlayer work with Mopidy. (Fixes: :issue:`6`) - Does no longer crash on invalid data, i.e. non-UTF-8 data. - ``ACK`` error messages are now MPD-compliant, which should make clients handle errors from Mopidy better. - Requests to existing commands with wrong arguments are no longer reported as unknown commands. - ``command_list_end`` before ``command_list_start`` now returns unknown command error instead of crashing. - ``list`` accepts field argument without quotes and capitalized, to work with GMPC and ncmpc. - ``noidle`` command now returns ``OK`` instead of an error. Should make some clients work a bit better. - Having multiple identical tracks in a playlist is now working properly. (CPID refactoring) - Despotify backend: - Catch and log :exc:`spytify.SpytifyError`. (Fixes: :issue:`11`) - Libspotify backend: - Fix choppy playback using the Libspotify backend by using blocking ALSA mode. (Fixes: :issue:`7`) - Backend API: - A new data structure called ``cp_track`` is now used in the current playlist controller and the playback controller. A ``cp_track`` is a two-tuple of (CPID integer, :class:`mopidy.models.Track`), identifying an instance of a track uniquely within the current playlist. - :meth:`mopidy.backends.BaseCurrentPlaylistController.load()` now accepts lists of :class:`mopidy.models.Track` instead of :class:`mopidy.models.Playlist`, as none of the other fields on the ``Playlist`` model was in use. - :meth:`mopidy.backends.BaseCurrentPlaylistController.add()` now returns the ``cp_track`` added to the current playlist. - :meth:`mopidy.backends.BaseCurrentPlaylistController.remove()` now takes criterias, just like :meth:`mopidy.backends.BaseCurrentPlaylistController.get()`. - :meth:`mopidy.backends.BaseCurrentPlaylistController.get()` now returns a ``cp_track``. - :attr:`mopidy.backends.BaseCurrentPlaylistController.tracks` is now read-only. Use the methods to change its contents. - :attr:`mopidy.backends.BaseCurrentPlaylistController.cp_tracks` is a read-only list of ``cp_track``. Use the methods to change its contents. - :attr:`mopidy.backends.BasePlaybackController.current_track` is now just for convenience and read-only. To set the current track, assign a ``cp_track`` to :attr:`mopidy.backends.BasePlaybackController.current_cp_track`. - :attr:`mopidy.backends.BasePlaybackController.current_cpid` is the read-only CPID of the current track. - :attr:`mopidy.backends.BasePlaybackController.next_cp_track` is the next ``cp_track`` in the playlist. - :attr:`mopidy.backends.BasePlaybackController.previous_cp_track` is the previous ``cp_track`` in the playlist. - :meth:`mopidy.backends.BasePlaybackController.play()` now takes a ``cp_track``. v0.1.0a2 (2010-06-02) ===================== It has been a rather slow month for Mopidy, but we would like to keep up with the established pace of at least a release per month. **Changes** - Improvements to MPD protocol handling, making Mopidy work much better with a group of clients, including ncmpc, MPoD, and Theremin. - New command line flag ``mopidy --dump`` for dumping debug log to ``dump.log`` in the current directory. - New setting :attr:`mopidy.settings.MIXER_ALSA_CONTROL` for forcing what ALSA control :class:`mopidy.mixers.alsa.AlsaMixer` should use. v0.1.0a1 (2010-05-04) ===================== Since the previous release Mopidy has seen about 300 commits, more than 200 new tests, a libspotify release, and major feature additions to Spotify. The new releases from Spotify have lead to updates to our dependencies, and also to new bugs in Mopidy. Thus, this is primarily a bugfix release, even though the not yet finished work on a GStreamer backend have been merged. All users are recommended to upgrade to 0.1.0a1, and should at the same time ensure that they have the latest versions of our dependencies: Despotify r508 if you are using DespotifyBackend, and pyspotify 1.1 with libspotify 0.0.4 if you are using LibspotifyBackend. As always, report problems at our IRC channel or our issue tracker. Thanks! **Changes** - Backend API changes: - Removed ``backend.playback.volume`` wrapper. Use ``backend.mixer.volume`` directly. - Renamed ``backend.playback.playlist_position`` to ``current_playlist_position`` to match naming of ``current_track``. - Replaced ``get_by_id()`` with a more flexible ``get(**criteria)``. - Merged the ``gstreamer`` branch from Thomas Adamcik: - More than 200 new tests, and thus several bug fixes to existing code. - Several new generic features, like shuffle, consume, and playlist repeat. (Fixes: :issue:`3`) - **[Work in Progress]** A new backend for playing music from a local music archive using the GStreamer library. - Made :class:`mopidy.mixers.alsa.AlsaMixer` work on machines without a mixer named "Master". - Make :class:`mopidy.backends.DespotifyBackend` ignore local files in playlists (feature added in Spotify 0.4.3). Reported by Richard Haugen Olsen. - And much more. v0.1.0a0 (2010-03-27) ===================== "*Release early. Release often. Listen to your customers.*" wrote Eric S. Raymond in *The Cathedral and the Bazaar*. Three months of development should be more than enough. We have more to do, but Mopidy is working and usable. 0.1.0a0 is an alpha release, which basicly means we will still change APIs, add features, etc. before the final 0.1.0 release. But the software is usable as is, so we release it. Please give it a try and give us feedback, either at our IRC channel or through the `issue tracker `_. Thanks! **Changes** - Initial version. No changelog available. Mopidy-2.1.0/docs/clients/0000755000076500000240000000000013032555407015564 5ustar jodalstaff00000000000000Mopidy-2.1.0/docs/clients/http.rst0000644000076500000240000000011713032547651017276 0ustar jodalstaff00000000000000.. _http-clients: ************ HTTP clients ************ See :ref:`ext-web`. Mopidy-2.1.0/docs/clients/mpd-client-gmpc.png0000644000076500000240000053507613032547651021274 0ustar jodalstaff00000000000000PNG  IHDR5G IDATxwU8甙mK:iR)D,(TT^(B ٔ^ov$|9s g<#(((gb!I꺎Zt EQEQEmm͂Ki۶c;2P;|oH2~Bgڊ((!$ s@q*e|'e&'s[:Gx)%H)F;+y 5Cǒ;I舻+>cTͥ!@ҵ( Ѐ96|HEQEQ/^Ġiı%BC>/hg?$cRJ@bẆH4>$11zƚss@~n`7nq)·߰A{uSO~^uw־3.gAp7OI5 Nk6?YaCx7c1HZlL4nEMvY74i[Y!2 a wa(Ҿ'·.uNc,~wߓzQEQ ƸuǎR@!4{4/ĈqܾcwKk`bpEukZ=qB%@a1BbXOBp8L qB19Rp!\zt)B"7K'g ރ z<xV@pd0b=Oİ]tZGk v-ؓ œh{sO$t5q ,ee(Dүzc[EߺRбuTRJW#OUo[nk5~ou^'^B9};?{h iCL+_lBjH -}TCBfӋyvz[`ftz1w͎f:trogtDZ 5((]kk농&T !s=oN0p̞R]{;ƶmJH_fLi1;GMs媵9Y`0X GC s*U88륄`Pp!A15f]zx_g[ؙݻ{ m]͟?a"-H-4ǟ] 4^RL@d/!a ԓB&Wo9fO35~hͽLEc*R'dxQJ/ }yY! $% |坉YgMu[{}\yE7m$f51m7IuSgK'L׷X|k/$$txۺ1WWI6\%&^W:Α{cx@6jb+ف:ťEҹU{6nj2=Uӧ&{N##YKo|I@`$ 7شdXWL2:E2wCaIL4*u`pUu̸hNv݇C.*]GEl;+Txʹ㲎*(|b efd^)3V]ʤ*BО,R!eK[[}]}SskIqzP]]CzZjVfVFFz$@q:30?;33%9iޜ#P<#GF̶LP{Vop#yVm=֥K2ݟYb׽߿mg͒.YӤFaX>6zͯ]x7<_AO3=㦮K9sB$Hڦѱ9/Kޭ)qNmŢ7ϒo=4$,k8ښC1AON=KG];ټl%חϾ׾G k@an1tR%w:T_cO.tfmY־.i _ akZ{W(.:&5MjZnnv$G}w;*&e%ǻ1LFDytH,?}o sz_յCVҴ_lAre/n̸v ׿v]ϊK$ܭ[5W?₢_etr+=I2o [5o-{U=3,n?\aR>BڡnYLɧpscOMKUuBcYtݎ:Wxt݇v\WA.G^e~\5hQ fi,E;$w7otٟ]1goRe1!%*|_{{O|(*vŕN)N9@]r/POOߞ}`O5l=&@; )P__:n|((ljɉ<!%&(9D(H)t(a$ +8&.JJ 27=,[7 l4*DC2 pRT=SQQAJ Jov7EX&FͼBM,yX-=p#'0-!mO- pKKQFgkb*X/aDOzua>Sp7s%WN}󅇾xdW~ٖIsrPf{z Klues>3}~%\PvW^81I#ĥVeټa"i @@ؓ;-7>>q-]ï>WwYWWTgT.%I!iizEI>ko& i $w2Zv3W(/I+Zk.h7l)κ/_7aO7lڇ娌M}XKօh>/e ݋B`(j>t] 0wy {o~`cc'&1)Ge[,D cs^x e\wE_LI${z"Yk-;RpMPBRo:HyߏfUovA"gJ}Q;7LLc]2a[4H@$<>JEQEQ>tDcc &actCJxrs\eY>H ujgRt |&`Rc )c$PPZTp̼hOr*rTRI]ֲM $:SK >wIœVޯ(uӽWU'ڴwZ.AJcLH "9?H乳s7$hqcD7fV}Ii~z y4G ۿfy_`}[뛛6=,=c&\Rq\0JLi} F! _]m߱rW1ƅ3w sT;̾X3ƃI]o?ʀ&gΙ]!mR0Ƥ,/iw6J9syƼo˺w.X@hw: s׍;z}g{o1og$]Y \JvEQEQ300dBpAaql΅mŎCq0$PJ8cq:d@ a<~|eG{k_ RcDW,3;1eC^JO<|uOAqO^qakO,uidL1kUC3|ʏv_U2)34bֆְdf8qYPN!YLqzLauۈPbfa^ݭm!Rs R/hf.1X=;2=FqcPb#RsҤEƶ&Ƀf^a~ll1L'(װ{4qRY}Csw5RKJeo{{{%ѽD:󀛚7&/)jZ*OFQEQaiR)13v1&crOܧ%n4^u͝XH joWZ؃NjĢ{| ?=bK RZ:3őwʹzmLH)pєg]8J (UEQEQch*C9urٛS#LF1gΩIqꔛ;!PM3e]QEQE9hw|ǰ`YAK8SEQEQKDM6-˶⒲*q1*((rf٨rXaaAB +((GD|uaH!1{"t/|= 7;1AG|CN2pOt~ıAw̞y8 Q >Ÿ<5#B2c~r|>K*EQEX ~/VeWw HHd6,]&Q²qk wDhٷ} j CfN~LdÚe :ɮe/_]1#E-_~"Iu0-؛VeH!!ֺZ+[gk H4l[rӎ0N* H~l+mI(N"fQaV0+T=PoǮ;%iډ {hnQΈmk׮ٴc׾>'鱏#^vH `7~k9$nB宧9e^~\k)(| ]6o|]=.^~NMEc놡^t×g&La膮EZR] w&ZY,yni'd@0tB4]7 ` :ڵz=:Fj:ah:pFD"6{kz.6i뺡 @PM4Їšv=Qj (-ؽ|^A#g5{!)g;//Ln膮QQ iNq|O'$a }VD1tM7 iݶ>yj5xyhNO@o}_ձc#:$e. NGmm@10~'۩1m((D.F?{IUd+~mswמ:uu7{/'t̓dz_{qю Wqy=X.Ҹ%T"Q%+d|=;qLdmG/O;Nz{_9#e}S.F\z/FW^==G'jr9up'\0cQu;%KْfWǵ-S5uϦs6շ|ǶWlzb+/Ϟå4P27ѯnwÅtD.4}ۊ'vx~"ֻWmvA/3nu7VQB3nzw>gɒ8p!A {xz!}~w/.y;w}~\Bݺ-X|t @U_i<r)BBQKDk{q} k3;;e5w~+F_Qw;;{{; I{Kǟf֊j hGUCgO//GQEQ߅]p>vfkޯ.KG:Lxsv飻gM;gޤPq%o߻{A \{B]]eSR4 !G(I s@QKU%]3-WGnYYKv610!74}_CʄRx3g̛>ȑw)ERJg{iΒ5ZfI^AJeQեwtyn̚t#u_|h=v:r}&$Ouي((VF0'гhaWu)\Wcڼ;\ IDAT{x}`?"&YĖ@0KHj)oD?#!$Eu$@5J`9HZր.%@r]x=_S8lĉI_z>N0fz@kf,+j6O>n{ʨ-!, @B ڙR uRJ)\Ywst[˜Q3nߗ &]2)eûei`$D hݮncrF#ٶZER . fBH@hCxYP\@: #6H۳}_n=;.L$=c-+XKfC Lљ+0Q4b6JL.,@+@yw.¶wÛV \! k+JEQEQ3c|f_xf%ƭu8myC=\e?J/;or {ύ9V4k:j4lZuGHUٮ, ,_q_MVLΦNh#%6+66XùsO>I"ю=K6liJK/9U:#=H9׊* (8gj"i즿/x`CixXOT__L_6l +r7h]]ok{VZo}{wFQr/U*^~>3]Yv|"aò޳lG(13#ѯ"zfWݺ _]F>)}#^֎otfhgi"~ehP{Wwg:ghGz1"xb޵_Tr1:A ?Tco#Wu7.ќ/\j>д׏.7o[õ\s{ſ>M{e%:P5Dd̤@y3BRBFywendNa8ezm4AGOL_{(;{|~ 27Gb?fe߻h!PW`̾[3 ^~{|Kq|RܟY~0M:kSbIS].g~g{f~ W\χ.dM8+&i`Dm]OEpr7ݘ#H^uW_zzTL?3 r>*̺)3j"o.|? K_٤yOD5AHyL[zRQEQW|!CebC+h\醡2ƚQ R2ױ]AtC N1Hږ i%@ n@ -Ilx nǣ$̘C=:m!APM74R8r 3>;u=.k;L'5@rf.PMGtB 1=b6OFH:˄p:ŒFz=wLB54mD "ǛǧkZ.`!e4DT4 )9smQMգ{$ܱmKD4a$̘c;2>9NH׉C ,M ǴGlxbDX7 əm;=:Hp׶]!HbF0߬ㇽt$gq@sׇ]W1ӕ $cbWcĵREQE9c>ٟp.c{hfC m̔e:tb";еbGn ƢXȬmÊb 9cGra'w#Ux5a29)1fGk^'w"(R8i:N,*Ē̉ 0s`6v{N"fdh~LH`Vlx#҄9t٧0mcn 8aMvc~'܌TEQEQ>jۋvKP}ܼT[)(G VUgxQV(|Ѻ3]EQEQEQNS~((()Pι )W59%- hpC"<)(((7Q_JJc !8cBpƹ2E9gqΥsy|%1׶>B‚tf\QEQEQ|}i8ljFG5tCq0zǠ̱11%DJ ʙ>=!:<wɍ]QEQq]׶,1*8 \[eأd?H8zQm[hϔ4(us[HwN]vcRP[{ช۷I II mQ3jEQEQq%0!G&KHlHir#MJC?1M{Sƿ89hoJ!:: 5" !%]B R.dfB|>_zJRr/-\J)_z QJy#N?;Q`EQEQuݔ4G) . )HY\\f_Nv`V{?!o8cn?Kq^a,)t/C$hzӴĠq KIi$xu:LRS9?bɣX~YZ.Y5|K^/ !GN1+bU?'?׌ӏ{v]5nIJs׍YPqEQEQNsP{uNH0.diEe,a zܥB )$B1^_Wt R׍lR_D" |wƘ㸖猳˻:?ݛdH82Ӵ$gQ} K LJdq@ХNc$`@ G<@4,ie3H#bF1H!خ=zwktر'pZo AR+۷tshޥs$ahH)-ظX'#5AM7 h g$ )1-F a)ewEQEQNUo}_3SksؒD!t `Gh=Kpls&8#;ic |!"(H)tw9g.`u6orHFB1SKpKOń["D~BF\J&FdT冎ʳ⵳x{/uMOWܿ'eM>.*˽.3û汻쪻=U~X{8d:TOc]Ug|_\95r*n3jݦ:)pLm+*,>Ot;gTm.e޿=z2kZa9mL:<(1Y05ٮ[pc;ٰ{e7VO?ܩn=oN J#/mScċ/soy=Ǧ Zy 7$zÿXM]^׺VrAQ(٤Wlޔ`_ fM5Ѩb y^ --gǝ1|xAEGOy_DZt_=mꚦw1cq]H8nG[3.]ӫO@ 2{pgӉ1AJ%ªE9X h+ &iuYs7.~KdBd\'%-(wQN@f:ci=Ҽg32dm˻uWz !rgogٱ»lWMhw ((TM3r.#X8j$z~ug>qgIBMҴŕ-~=c((g {?BA ēx<P8g$p@厮$hXe,[ȁA]L˒w42xX,ʋOٶ}$pw]ױ2vutDbѮ1#{y4a$Q)APwT %Kݓأ! 2TfBFl"]Տ9IA{̈9,UkS޾摇VJ K{6SV?==[hMw\p880n6to5y=ݳOQEQ>Gc[MK81/?WJ1w!p4ʘҡc~YaL8%)1D;#7Jw>kٌ1.āUU=w\y4l:I c)?&a[hs詞Bh,"IJ)u]q\.\ܶv61]iy`1Љ("iw>A-. GC3%u޷ƎL@Fo`GAaTIZ;_; f&#Lkׅ(O,[W4 :]ntwxىADChR#8gE lulouEQEQ(%Ŝ$RJG>Bmݹ9+J`wAqIB7 FY3i Itؿo7x #ѰekWXv?L7xUBUc=#<3+9'tGB~$poR!aę{_cY1A`|AJ/F4"%p A#C)@5\<hs, ME[,(CQWw,\{%͙;nŢhz)}tokW ;jy RΛY^ZϹmH5{ Rf$y1BGΟ?yg}W SιrNݎ4OfN$XYsyy)g7&s,>g`jEd?yVz FbaA}DEQEH##RS'MdIk|\m8 EgΞ~)AJĺBgYn)ʒ{'T6cVl؋i:.?y,¨bn@J0A!4c̺Nu]RS|:GN39g 斌jlnBm$1]Ugx|.F$p&@ Tе̴y_ތϞ0<1`;81~Kܼ}6)8߃@ c4~FAq!%$%7|K1us3]q R2|÷@r埚H9sM)E+IakFIOJ-_p׉N:7LH a/ɹEj̯wH)\REQEn$FGLd@bfK{gaIi@/O5YJ`9 WbfضeQBCMi[mYR*Y%dάmmmjBxά f|ЄH$z$1cqyn]޳ͨ@ "Ѱ$s߃ K"n Ą/^{0?{x 0XVk_q(-&;uG^-wRYw9wğ/ƏƝ#;rgJϊ((8uth6u4&x̌ )zi3gq"0 yA% B8{:v!4-"t)M˶),:cxIS&>\k׮)SB}G4yJC}öR-@C9=Sx pR:sHqxrƕf4,65fddYHBr"0`G9 QobryZzs8wcH$>,8mSEQEQ,fҘmqVXXFBB)'d Ӫ˲,"4-˲Ir\۲x؜eYNRJrffضmq>x#{4`ҊqWfTH c=̌bD#Ƙ`B 03N0T\>ah}ԣcrN#B36M"dx=6Ludue2$"Ae?ST39BSEQۖL47EMXc-M}1+uܓI3O/i; Kˎَ19eǿ8mQJP,4<#Hr:wz=='&Hq ,D2.)UMܴvr@jOPa B!.=RHb(F &7:9tN{')E|1 D06xli˗?s~17߸i!<2FS?n )%cg) 40)[#5\`BB(샿)aJ7aw.x3/}_͟Ă#LHZRr0A͛z݃Z 2GMS;N~4qsjsHB 1D8~gؾ>1x$c@  P 9NPt]sآw“ܿ_? tb"1 u+ &c-w_/_ ^,w-!2^o"e }(p cC-hv=oUlv\$ںYxncʚ_{v軮K-ĞH\!EjÎeO-#-R3}o9S_|Y^}tʱc/?nި!Br!r#LutpHӴcGkh:n$I?bÇP߈u@dQ8秳iYdNh@JM8TjiiSQC* Ʈvyꠦٿtw C1 IDAT8@0N !]aL@-"Auɞxsc=؆{k0tp@A(CD($%]CIe`qT4{gjtEan~լ7|g W-umƬ:qw^/ZtMW{^߶sW{s5>F#S ψz/  PoϼrS{usFԯ{zʖD|M7ήR쭹XjۛWiλzEyQMC.XiWq@m'^U.~ڌw}=ߊ5}w.*ҙ-hxɕӮ.TJC9C9#QiQXD2TWtòPMUEJׅ'? C3a'9۶ "ȏ Lؾ^b0$Ϫ2rH]8; `k#a((/=eg'>JwDuZŊXw{gl֭<%? R@AR 5b,AcLXܲ,p̘&YQeܐ7MX X2_ ("1oeAՄtuyW}lݯ1ck[kҺ9 ZgK??!έy}ylߴW~sѻ$BZT0l%SI@@L EH%%@05h*hD)"ǎR{79e%'IJy$2LsܙO>@D;j RD%ev'Lo!jT{m.@DDpep$xD7SPy`Рe6]OYJ8H@b TQQ$'Ja0|PVʈ0ȡ6"k UOR$K-sŽK_)J.Z`AaQ7WE㼽LqѬHRDgQʋn]8ȴ䕔]{2VGs17 ^;D$2ADH:M+ECA*Γolq# EoZ3UBD+5QSuj( #iE,T,~Gw‚!3,<$T2P [z˴RRW ]T 7oAL&0dJ-b'YWhĪ#λh#:0`N-td#ζ/htapj4֦T͔SD-! =}ϡ=-gDUpB003`Y6,~y_ CM!TPޣSJTX~:S(Ig^!r!.~&VDфx?pwu@̯<+904,=/qʦUա2nt ל7@:IT=yciN?w{&iٻ°{?|sڨaWzaY=;hϿIk&} e~yV_> >UUYkY'̐Ǐq6"9hcDC= Ç \WuHe%FU^^fqEA5eL:TD^@baEa Ν;M.+*+UU8T7ygǝg]K{=?RF@<ߍ_󩙥شuZ0yi\@2M(s ]776L<9P*xˇ NhtI2#$a! H$U[R%""`JDD[DK%#yaXz.>0{66:C=k)20%aJ71oX=EŖ_tiQjLv`H=}HVWgw$IQ@ADMYXE(% =nHuTX,Lh꾯Oֵ}uf3M,4)?;QROS CEyဪJIʾ)c& x~]a0k98x##;Ģ6UZh"X󗗏} R9,j7Z& s.s.G[6Qr!D@XxRcG+jjwnܙ?&}𵿴`8Ey`D`fwKuoW4rB>1H XG=.d(P-"I7|!x&  8v_15y_׍M`pa=[o޵j58:;!ps$IIhX@97OZL1N㏄"!nKZ8(2T~raVo?Md~U4^n ]qs.<Ԓ]$!B!KB+[cQo<kϻ|y'1N7̯0M}Ê7:_}Uͯ??$v*)uCy!rS,Όޭc,~ͷƚg$X;nףvg-RaR5 2ֱICΟ?6,=vH@2R>8p]fL 5)Q:+ϳ 6t׿ua~7/[m:Z8f{7p$ga J|sْǏkinjYǎ<:{C"Q"dH CDR$c1)ym__c}Z#2)wSBhirA2nX2aHԀe&'DIQ'MLɉI`&*Z; .;L8/'A97rrB}: }t:LӲO.g IXa@Pn B&AuCծ)i^ωE-nTɾ2AU! n&)"!7uƀRS4?"a;-!j[20 j67'뚱j*aw吤(, 09$+,i'{jBXa @EUeعηrC9pm[v$ j۵_1/sZ2?Vw.Z:I"`z~o}uHC'`~YEIH!@q׫m|Y7?]|w Vx0mX@:>0mCΛn䊓}n3ONkFz*aI diX,2c$GBpS7tBQeUbC@,4d{`XgDxODYQ[n &++.9g |)'aeŒ1 |I|~Y+$Y &eP4ȴ̥N`()ޟ(AI1$d7a?f(9ml:bQrO~5 GV~f^·Xs!r k{ʩq |YQ'cIAU2+X}+/,O# .0,#B*D[ R .]HЉ =SesJ=R??]mfyea[( mn TUxw<8y<h0~Kd@ @$@@i)40TC@^8*+,˜[lRY"2c,U>/VS,8~30p<o`iHVNRr!r8hF|y/mya8Gesͽ-O<5|߯`_j߲%i%W~6} PK|e##_P! !2YSC;x_n>*Rz࢛?S_O?ە'g|jd 2PگH8_6|sْخ;!H)}'yJS29C9C9) o]eݿAĬ" ]]/!r!r!O4^-(7-9׽!r!r!!Kîmg 'Ln9C9C9> }1doH Yssciiy:?b"ळ&c=U`述+B@5^M @S-Gm?*ٲgGx94q3)2lmi.)){?~w~Φ.+Ngߕ.#'9gưo~d)X˓w.=@@:VԎ(/=>|%>B=Olu{~*~S(cz]{NA*ϰ}֗-|YoSVXT|Fz1b-H %>[I,5:{$f6W@Doi.IR21j 2Ɛen|"!ٽٛ7  " Ǘ b5^ O|"{NdS޾Gh_f9\6iEcqFc]j@&\e=z=$"fVtFȀ __W:L,ι''JH#3:sK{d^O 0=LY%L$Ѝx1)Jh詑Ǥq $-?-iʱiqϨڥsOmulKZy}f=Tҵ cA?H۽,DYUwWO)$WHk2EDWUɌ =WLfdbцGis`/ڝ;yxD@D>>{K#"+MY}76t {nic3i[?w$&q6|iigvf H0W`lBd`VDg1ˬ>2mȜaBo~J_Y–f*^+'QLGtxn| M%8#!1d0dpaC=@H`jF@,iAnicЎ["bY'z!+Q6w9\ۚZ1iQ93r_Dh[Y;N.㵵 uS$wU?;unU]g; >ۥKZLwwqo4n kN=틡]g@>nq. Ӵqk3TeKN{G'`z,=5ϰ`Ob8_O +!۸MHGm"9LGy,"p2M`tMw6!\m\grKXy04!<AF,)q@"kիU4 M?_웎}M??*B_严fQIH sd؅h%dXoT1Hٺ1 SnBYeYfn϶#3@ێ3 A' cr#sAp+$Lqn f-GH7Xw4l eU]N8fJ6 #疽XSF(HV4EX).0-(40t.l㤍\dk@x_rM-c;19cKGͱ+V"]N2}G vBH7 F_Nϑ]15gZ^Tə F |^q`Ls$et?`8'rre뇃#&D\WZ@}DO;eG2= Nʌ;zt LOHyMfP⾂i_fT7S*.L-Ss.̣ iu9L]%9B8⤴vy4wdJ0NД;i&6/HQj1Ðf7,UVqNI;*t$= ݚb{53e~FH.xz{fҒa:3㊩mc/2Č[=Si IDAT<4A^T#|9]~~Li%xZpKrnPMO)$n:8=&W=m"B!pC/"7b@2SPUUn lfsqxcmM!AhӚ5)a| Ƀ1L8)zw j-n!2-1OI0xCD}bӛR_rZ: rU 1[-ne@,KK{~,tBE^=^N\ #޼ӟ\0uoceR|Ҳ1t_*2Sye=~3iÜy3i t^z | Y[$$˲lzp"&5E:3MU[h֫}芻fTt8 |B]~>fh_9a%X-O~n,7fz?C3K~>gźy \v=1[et/ D;Ӛasp;n!_@Ϥo:GgioK&@FЫt5'5.[!K&NO|0YOl@x@k=;{^n2ci 7,B3,xUyцEܲEQ&8wy1d(ow•IUeaȊ&'n1]Ο^nuBp-!-%aY%;Dn\2#Kor,#4Y2j +,!"9 '1iMt:~5sL9se 㝡U>fu_2z)_+3]{^gfG gA sh-`\?qO޿d7ENk@'˸3֮|hQB%)M =jAEaxO{c*TS3!7d0^oW#2f0s=~Ĺ e#8̅]y}s~ ,$-!_yN*e"2v,#$v/.q+SJ}.d3Й4)H>)x 3}cPSԽ"9X{leָw?[|^R*Y'n'WBDF$lo$! NȘE`[ 0zۡA/b8{2'Nb?ʞ0/wL,Neo3lO2 ²^ByA!0ZT1uE,SNt;Z g_$!1$ ${~Ƙoas'BD^_& ƋI[3$&O۫yeXA)7p/T_uvLjGHnւ^w"2 ' L*2z\Xjx%65tb/_82";lgDW'};C(1 kAq_Ӛ!}+#xIu޽s5nZ+2G_$߯VߔVLuي > zS)wENQO@@a%_TWaxʰ,n& "!E& ēf?\XX(/<0޽7ٿ7k} sƽgTIp=sCL$b$`HI;Ov?4qᖃ:Kfq%$P$Dমl%R0YQ[? 3@ALXFJPRԀ* nJ'Sfg9# Dg9m)\Ro;L6=\1%yÛYȀjiyU.RQf6-_f\0@p!(#/<pK D BAۨ9c ]{KƭmF2#s/ ܲ8׿`[li(Z0 N4o>96Ǘ';zM><2j)+WE\Qdw+r"I_Po!f|#.ݱyeOH|<8q3M^aM?y|Sًa72?S> ub;ƴ {N /v-S]G^,{ќhbo[8|ǁ}\C>ݹMY ;e|wV:p9~3wK',ضݮA[/O6C,~m59@;huKSk ;[ÏDqؾ-g:PpJ6Z>NC&͚:5`[INLKD!r/%ݶgѝ7iS ۺn|W~f~QЀq3*O u \FNLj0"{W|xciTs}3 S;jK!ݟ-*8҆?QÙ[Jdܫ}-"z,ݙ'^+&xtc^{D]Wn=wԞ[kf\y׵5f^^ޚ?|rMȍ_i}{ D'6lmN+pn:Ƙ$֮iw-W.䝝•۸tk{lq00Âf'1'\YZdT8ʞ8piTbL!"$u޳%:ᕣ#54-KQ8g;\qs 6/ Xq}@{ ȥ]$vMP`zیBYc?%N\3!9+uk]>s B}m4go+ИIcIwŵR2{21`.2NJ臛chv^=TGe2NH9Jxh;[PyoV0A2h4w͹f-//ݼ~H4<13n8 g'/!5,9ɨ)SZC~iۅ u]Sg'Q8'\4)ZkWve]h5LwW~p1a<9-EgD?1y瞢nTʲOte×zD}cAaިC5MXSiw"CscnNnZ ɜm|{MB:Ec? ^T`Zcȩ i#ZلorſuMgtL/=zd"-:7]}Y0f7_"koqh'|ӛ?B``Y:;elчvU'yIBaNɦWvu,9ܛ@ ۞ DDB1@dL ::<R=^V]bƖMZQ5AZQJuʃo?u94pIF e *FW J ^ܒ\6`Zu=UK6vLY( x*']2a`^oG'$ᨮ@t6eUR_kwEg}sT+gmҢ%澸% Z"ŪF-]C/z  iQ,!|Fk64$f/Ζ>rzHRl':FOza3HK6l؛(0[h`YMYV%4[ LTႤ؎?򥼾\ >yZ lt<*Ƒi]CW=j-.?k|Y:o?sP佫rCD|!J2eBe)Ny;o/5Uߞ]PeW ]{]WhjݝG#Ҩy{[m)]|L{Ru]=e>И$+Z 6fc{v.NvԚp*kCϨ Ұc*Vdn~eϔT!LOAeIavd 5@MSP7 >vZ۠^  {Pn j.-w^^fl}CK&w9 w- 4i٣FZx( FUI .cX m^lW̭kvlbGslN.&rZsFQ>0Xǁ#QGу6̺һKqIF$4mT$Ie\pEΆW3:_F˷2e0+^O*X>|Qh7ef@-߳i#* ,t(BF4&Hp-1M@5Yђgf16apoXF8uH #}02fd:]YTb NEPH#JF~Ρzy"Y6|]7BYWFP$1TY0\q(E7+ z+hө|_ eqFS>pt/ήI Xͻ=O?͎x#= E&-D̖Y~w` c铲d#%oEy[ PV7tyڿV.P7i˶, n,-0Yɋ8xfx".zۑ=s H D11(>y{~Cwub#U㦜7w}1 ږc9Uaasoo#|S! =+IQ8ZP5dhsc?c1e]di$錑~0Kxg7 ([N/~H,}kk9gzqXՈգ{eڧWlrcvL@K_?%o.{ګ^O5hƢCjz7\z2j=bB F҄"L'|{}޲q*b}P5:e>4+_2_Y2tG޻v s Bx"CYuϼ)~HLDd>B 8˯QR:"h~ _10|d|W ySJ !Ha%$d`S%ҧ8>;I2CDB->do%.)cDd`[ s2g'tS^O՜Iv+[1{y>MƹPL&zVih;vְ^#IA~iLbs" K$>gn#Ĺ\`vvCL.Wsx`T TT)).?PM HTW[%InWDOs+_7z@v?&PAŐX25 ~kuO_~$~%m[&4r['EǍ,m~, C^zwyWRYPn1hܧJ@ ~G9s:G͆bTF XcJ[OAk"33 tV^p>Oj߻tiJ%uMatH|p)[a`!۹*qdC S@T5s7  9{7,+ I:#R7؇=ڬoL3X[;eBVZL1fv_z}pe~3:q9{NH/\xal*y)U7D XKc-%/ /,''͑JIsfOJ"}&g5Ө4"O'~aLy X]i}Gj#kVwVhG EQUkT}#H%^.I, ]eI%Ņ}u%^OkrȐq< ?ܞvⅷ:.$~;d? UrIc_VsS ߕVT~2_x˃%¯Q.ᵟMAVYտ=ªZH?gs*"۷FSx*!d555z{>`K Ԧdav ΋+K4$=A*Fk\FP͍mjqyi]w_R 4PI~HCʯʓM=TVUZYayDEfGk[QR 7w?R躮*"b g}*JԎ^ZA,dssg JJC ##%Ɲ@Ė暚T* jaiXe=1CfWO"ݍM@T: PKKC20ZZE EEv\˯"ݻGawhgX Hg{1bĩIͅ} 6\"O,<8xUK/<-9@CF?d,Kp#[C9C9'r~Ϲ'h%{ߣˆzN:C9C9'rI~Y"o#nwuxY; nZ Rw/KB)ZEw  H\r6BH(m vvgFy;7n(VX… oh_>л΁V{|Ǎǝ@νfYj;i:gm9?|nb6lv.(g,)Ř->.f8A_smOT;jOw .'TŔuܣ2Kwvim4mݺu-*`mÝbϤ&3.Yf-[GiqY+0~̩?d٫ۈ$ge= ^<^?)<]!ۉ_O(ĨPX}*?}+vJ:g-5i9k2@aJkӶM˦{xꆔjкMV-ޗ OvNleesoѲeƍZ"oCѭZM z[V/ܓ gM[hbs ͛{R۶iժUv<1v,u#ӫܜXѴUV-[w⟍. oׂSٺYZF0auP䭧d"g_`=1!oIB,gffB4_"/l_r;jæE^S]ZL[O|Mpk+)?e~$mcLý>mYŁ;UP~}6OZ[Ϥڕ:0u3XlYC=%Ya e6E|}I-uE*zZa_Jֻ^Dƃy&0{\?qv᪯^D'v-7gi:*Ұ.(~<"h^d3tj.fjWz7ek:JY>q'\3R%Mӿs 6ӦU'cV'}5l~3+ܦe~Y"Ö^EY<\0c`"Y3Ǧ}yzlWlCg=ڱwWe(Z3-(8V*u^uh>p˧պ.ɸ_rdn!Jľ?\72fn3V}/5|Նc6=EuIg񵐵|r yo2>5'l[  kU9W8= 8бzM/г:Xa,>_wf8 7/w`Vf+M}њ*ݬ{.;U;^c/r 4bʠg l'fK )k_ǬZ#Fڴ4O~P.jRpƶ_BWQ^^ZO{cNd9rd.][lw %;B Բ*-Sʤޡ~ZEFoVd^~J|~F3,Bj$CJ%U-m[a[˞OWlx+7nZZSBۼimElI8xdSǭذveK\aۢR;K&|Ykg$ /3O{+ =3vɪՒ?o71y_H<~⍳'!W 7+IkWOk8mσi觱/[ν "^PzVPEhgmH%Xt]`pPL+b7׵*U\ˁKE*`? I ]DB&JmP*8VHLUD*G(:EN~ԭcվZ8J,aar3DM]Ga}ZixU"&.X2e1ExɕߟrXiSݧk=yзr>1qoߕ\kև׮"qu:~dY+2Mzj &Rv{T9"K߼#isH&h!vq%`d凰]W>,&$PEѧm|}5_''DO NP; /xuTe"ހ("|tO?>&zG Q8fѠYGFܻaɜ=eT'E쭴OM;e:_@GQ}ƒ HWş|&7[Uz\i%c{4Z߂U{aݰ :wUWSItݼYeY0b]}}Bλl}0B@_MolT%{+G/1;WI,2SiqMo=,T2,dY>L/ޒ:TG9=S( ԉD~ 17L~ڞ'n=V M 8\aAgT;0ww|R!ӽH)@^ZWr-Vӻ/-4x,ɴ»/] g@ڴqQ &kIl׸:ܺ~\Zk^|Z-<eݏmOe]9oAXTv%Z|ۭ#%"jDb)oS@!01^=]*]s`:&~/P2L6x@&2AƢ$B2E5'EQXih/_NzrN, "LT[GOIIs!ֹm )8r,6w$!Ue̬hŚlU_z*5Ƴi]zIMG*8fYVAÛH'M &*߷ͭNGQ#ALDJ JWj(+y`E2[s8ԜČxwxPdӿ ػ\/7ϲZ]a¬oviܐe xX$ XR2WqܬgM 'd>*VPDfޡXI< RPՒ×^X4GM_ާ{]$s]zjשĸ{ rJJIe嚸˥i1usTsNtQYL@ɥk}XI]ϰu_[ҟsoDЄ,ǓJӿgRrM4Vy9PoO"v!\w/?X'{XZjl~F,w.us Nſ(m~,K.䠥s+ a1tUL2@yuCc66*O?d9hp:A^T_RJcq srV&*^!X ^^8 &'Z F@ K6+?bnbI>fOv/pK)>iϻT'rgO\IfKJA7F c'J~xzƟ^Kě{ٸM_y!n>|yeYf5ƴ[?\9C&]HH1!}1P1XC} #@_>Wh߼qha:j0&,c,PX&@ќQ() 0 heߓU "˲L(&90wAp:.ySETd\rCMf"2Ƅ`Ye ;VeIvnDeY&/]!nw Jg+P'%d,% <gúw]p!& EaIs ٢u}ܴ믿8S.@,hY/i (ofTc SL)DwWjD¯ Oe&u-AS **PxX_>O%K RHe F㙦ʭU)\0PJO-v]X (sUG_`e & H6*dR$8NJ1R&= ƒm]JԤ__RQH2ε N,_om߬zM:y5&9װC=ǯ#>#" Y0h))8P\rSٺb]R~ _p| (G_[PȽ/9EYt\Z;.A$vlphXEIԫ' -rB?5YSk}tF™K?MɂeX1!DeLPxX'8Yrw_Q{p 7*~#MD)m¥|"" {++>~!c,ˀ$|o>e,|M_W69SeE Dr^!=P_/Di>#JVS~je aYeY,/b:{F 8o~ӫ'D(8AAهNcIeL@~Y?R)‹NݰA|*;ZGXBʜBQe6L,l.匈B`@O:V:dsPr8B"taLS2(M:tıu*V"k>yM]< ,YϬ&"fU飲٢n.ظXzQ"+:cPwo Rf-<SRR q.wjhvp\a7'TROO/ֵgc#6Vl;ۓmC睺wdjzu5]=zSbǗޫ}CnE[)uZl#]YK5Xe,(woʊ2q9 _8az|rMZ/8 Հe)pa E*PiAa+n߃*T/_2Z士f'/ ǡq {c)5=7;XYVLXuvBmڄGky$ҍ&ȕI/_w0^txOuB0M4.PJ٠-?Ge@Jg0h8 BFjSffqԨL^ZΚ}4 ST F/4'g~A" v/1{Dthd)3%B:3ӳ"AZ(K4; IDATfnGz_5Æ)Ny55$q@\,Z t`6_bkF78Ғ)im3*eMy(ZWQD1UoY Bfr3[O C\[C4Qk`1+#.Ȉfu^cymBִL;9ɤb@gefehd3+#9ѻ,Oq*Ѡ3-!#{BUZ$''Fe)Ry jHL#HiN cwdWVZMFɤf~B܊1l6W9BZ/Hs(&@tC Viz9+=ˈQLFrddgdd"حVYѤf)nY))Ӭ[CA#tOcK,ĬT;V"6x##3Va4yđ$i|δ$^kPzpp46(D1/NIғja55ӎ)NK "gR#"YL*KLOu~o}q'/]yr^{zj(ɖrDh6GN_D @Ro/؈Мhxs*wۓk!&`r{@ AH T* @$8XȹB[GBV Çs;*… ?{ytuUסz߀\F?g$Ɏrc#_3T|S%qF+v*S/5N2*_.Dsfo.g yu)}b پF9 'GbFCjn(I'қ)f}iN2ɩdU|sU-2d#~Qy7349|Qhs9Rj)Vm5 Jo2羱s?RoRm<ڗg߯$g ;KAkrbf߼w~aTz?ի*4z_M_)~JIS*s1D ׏1Jk h.'@ } y^:W/qxi^}x myhǾXcY>\V7d'w9I:0f4b\idQT_ - WQ"%>y[MXRBc?x  ,Xb *ϟ=x`0x١hc|ܾD-yS=@ݻw/22%=/#w{*T% ~޿+ ^R ^oVCE'tU׫${dBʕ)EL ~uMOq߈B_H6;MӢ((._P Q@/(<ݦ͹DϦ"UyDv7"o*sw?ewm[Q2 բ50ÓlÓ3HK.n s Yp8\<DvfbrL @;6K{[ɰ`WʷЋHN#5iǏm{+Mwu4?ݺ\Ȩ.s4P*U-ˎ>%14b>Pf*!8h4CR)ה˘#)J-YLJx6PftCr$F̼mb>lAE=;0g;W=ӡV"Ig&P9d`8P`w2*#hyXPȻ}f9H"/HQ P4cJRH.OcB4ϮxG'K(=ꇲ {@f8%PQE Q`Ix*)DD\ /ʯ <&oyp[6gJBSB~=Akٳ"0JA$D*5%a)W'2v@rauu;JiQJ+^o!> am/u&b2e`TJ ͩtR/9?Ѽl. cP#T&G3v`ɔ BXyA ohٺ3Nfj4tm>{Wu];qw?gZb9%я-{&C%5Rq=F^5~-xKig\rZG38nAVİQ 髻<oP6]q#?6\zgt2%$o F'e;W ;ÎJLQ48Q(_n!=bY,bwO뚨Y.ZiN`8eKP,4P .A8P4'.1lN/93^#8&D\|X }T͢ U_EC-QzJVJ؍ . 8C#%@^?2N/} $>NQBH'O:q5S?HZgla6(jpkE˛4\R;[T R73)(D(V>ɃfKJ͕L (ZbUT CQO߾0f˙GWdQk2[8Uq1o;y٣ʳv/rUS/ZE*:>B1_:7nN/3@(FE!yr鋾B:(Ҕ3P4S/tqJ*|f՘_&~NR#оgle;SV1+<B5jԓgw^OZ 1>1ŕ_A~~զmX$%GSN9貉vC6-@3wŭtTQI0Kv/ _.cakt1Qڕ?qfOb_~4qI]e[jҁG:ƧCF&wCz>,V;v/94Xz\. ">gF@ty/)NS3P t|%{A@1*t3s5mr}&6_=`˝h'\Oִ^)69{v!Nd?)F9 7zj-_Lq"_.Cs[V6c݈fGk0a]_,;(x;qL@ڈBϭ|̜~Uw.o|*ƧV[Cm—"9)VVjt"8܆sC*> @}b\& Pɂ3RTĤX>VCУfgM]sB&UcWcxIkOs兮Gcʉ裪uo!޼AChl۶-,k6YJ!5;{3H+^?ę-J Xtf-KXqnwljJln!h=G,Bĕ މe!!!W!zyk;[SlѰpu~RGJCbBqUܾ%~p\'@L7VUaˢ6YNJCwڄB?<>~1#3>5d*9d,t+i>VdDhU_q|P?̴=;Ȍ/;zD!W4LVQ\ik_MqkؘA˖엾bˑ/avk8&Ue]u\(+1H@OmA)FժTΜuf&4{v;qf- }[ < J#*?&:wT :X`;)D7[=|Qiz%Kڣۇxǽ}ϺN]Qh{pbʌSg}?\[صiW9;Ozzޫ[tkC^2N֭]G?VJOxXsKVmɼyWpa~~DK~+կm{'K.`5-%ED(ͶX Fˍ" V2p(gD>3VG׎5˰nRM?%|W;fXɂ!zx 7SEӴ`pG&`$.+iBgQLA&JL6[&q`BqBQpKDwU}[^81>.,JfoReE-o!?_AX䏮;QJ~iheÆz; .(&!D'mk0T6vb[XC'eo 'Q9s㛵-PΧߝM )c2apC;⭆T ;tZͬjѭIYbpAxŃԔ][%QYtVۯhe2r";7ܺ*JVd  'Vќ|iӮJPL ɓCieNBq?Z(ǟuewǿ@mBˉuQFQ <{/R+mLByZ&*6i#NKhʲ9F ~qq﮻PZs.F+3T!:-Yu(MhٌW.+WGXN}K|32.S: {_EL$]Q7'V\{R .Q4iBE 'A7%XIjYBtkݕcc㇊ޱHfmuRvjPSRJi{]$.!@0f-mOw181Z m˿+7^=Q?u bpѪ(əe&]uZ.]y|yuW,4WǟI_ȥeg#K\A~W7DKmFƔSeϵ7% rmo۲>GL-z 9"x=޼kտ\tuܧd scYq$l-8y~+_*q,E]ޱHk&!qwuJ8%bZ҉ ONt@ڡ;)*l&UteO;|*FLF܁+tԻўpH@/"JvO}VjcA*MZ,` B9B3ܠk->XEyi2jj'D ,6CN'@DgKӎHPoj7Fj%IVͩiDƈDvZTB0&S)mVRD&oN=x{of5Od+># {`1˔)?|dPnёQe$ BGO @JɖXzO(O;R*/Ç?+ߨSY2xjsKg *qn! s?v'&RhYBȯr{Tj 6D\A7>6znK׺SK$}nZՠ{K|۝2J,H ʁ-FwBL9D)96.!YDmRהJӾ%k29B1i9 jKU.~ĵ(0Ʒ6N׼by&O1B¤C(*SD(Rdzy5JSII@\Vӥk"؁uvw2FREB@zva@yeL#[YHcd MrHDhDD! PD ӌWxUUl"R뚀 Ѧ悄[ M9o=GHzӼXe,adOT̴Z"#PGI^+˙ wM2G$QB8c:mK"" %Qtlj$ "&DEWA_nyRh8R2(ym['lp?Lqy; ^ZZ1ՎH ܘ{<D6{t% ON?%z.F!LXq l\/s2Ie0j$䷣jYRN -Ì]lԫ'm0o\ΛofM IDATDibi5y .>ejV,bG K^S'X\6 /Mu,iC+9fJ^AL (V 4KNL_N0P@&fyԑ$!@ 6mw6n޹~ѧdv K`֦*Mr~TABeb,ߘ\ܞlVqw<4.ʻ,,;ȯՃXǷo?u^^Z%=m}"?lD\O/7U=9`,K(@đ4! 9#5K$SL3HHKNw, YM0TFoz>$3p<~`n?/_9D9{#XEI.d>8MI@ecjQ QU,ReKjb!b,8Uݿ]Sf*U~; 14;%FIBq2=&m܃Ȓ}7ߞ1hѥqO&~lϻ6zXtYyTݲnuHC!NMySD='_ѳ,,*ܴ!5> \y;FҬI˲{h,=zD]!"l% $U 7!Rۜٚu 7| I[̏MIv;.ӺYI9l6A| So0mtI0Dnyu*5)lbNkf%OFлz펕/4\QaIY{Xȩ+ w?emT %˼faGk5nݩ~M x೬ @0-}3~xƃWIͣ ٥|,QJQO0n⧕,AƀuW)c>3}Q G|e1W(<Є1R+};cj:$\B[ؒ_xq0[y5Zjh{aާ#F2?4=Oog*S܈-ڵב5=NE}L9k)2$"kkW[`)ZeH2G|"ŌدR&=yz@q>I31CVawU]>3{$ %Kq-)VCZ(PxRܡP\z}m7 B`nvvgv3gΌZ\VwCF(DI[NaYE]|ָSjSnmK6L02ngTix^ ( ~F.X8g)5T \}w[&'pG҈U=*7dĨ,kBB!\ k1`0>xkȒV?&ڀ5hfIVpSLs̔?.|c!S1B$4# o_zʰN1B ~bBBĉ$-kSXKBϟ=cbٶm[ttt%J >\&ϟ+W.j"  1Q PGw~]ӈVX. !ȳ|C i}%S" ' L)!"HB`v90ESp!L(x(VZ"B^*!Ղ0ESX9ҊRJٴb0ozB 4Ex1?Οxŝ$%=},T]]Kxwsue"ĆIγF~BxTx"i( "AĶeQ4y( ۓEaDļDK% mM$"vEDy HM#a¢Q4&Gd2YժU333F#t&MHҿ a/gYL~i]sgHDI$ aZ[<h/:?OB4SȪJLi ~[JW W0,¶M5ǻRP^P*23&Aoh:f? WD.,ک¿ K/S % P[*`0z_{3;+R &" zr^I W'#ʿFPY 'p%'|{_+ޟW~ڕb>]Խ 58mxUqiyp؝EhuZ/b'ρZ5zw˷#bT{Suw.)Cؿj<]ݗJ~6سqr@9>ۣ|Isa\pOSm%(Q U;~w$ EGdKYԞϗ`GW(]ypJYƳ FSVvదaMA7.?b]-4إE sVpiFQyM"R8H^ @ID .#{kE+:Pp*8o1𸴇D 򭓋 p=rQįjs5J8eh fB*JR}HIQ2SToN>$ EGZy󞈏 BHVO|:F)'DQ4Meʔ0.Yç6l)¥~eJ94/OB6_3\@/ǯPuHU,$ǥ62f 9)xw?c5"z:+藑OlYǁD1rqK~ qMǏ!4MvWb| )l GkS؇"HE4iJO|mCE,DžF:ΎeHLïoLVvdxa&$+="O$#ȜE T}&%bXּ8՚CWlAڦfү7{ d )+BZunӞ=‹kh‹&]:nkh`t!N> ,^wqqh%cǎ;vرPwY3LY9i9zcbnMzՐ2Qj2w'a&SaJ)o5LsfrF->\N F+ Z3* 5RQ(!ΘgUM;((3+*#b%*l v?@`г'JE%''o޼}n U"AZS}Re{JJ'*aaaeʔإ%22ǧvBFV*.6_ۗӣA@/ I'hV)Z*dJJJ\svr(djDH! AMBx%N9`ΎZ; NNDvtrrvr(eiTrhhB())iڵ ,8pz2ޘ`D9/#"#yMMىYy1xSFB\LdD7!-酑c\tT֐BZBׯlVqݣJdM /_LČmmE0Dly FɅ4Sc"#"2XQ|}FU G ;L*| :eޘed2uly>r :L =9;5&*222*EgL06ʿi$bS =+.".Mo|vRLsy#䘄Ts+ ~:&=ο7DFDƼ0pCZtTdddddDxlZC̄H<ƌؘȈX{bNZbLTddTLZ%w>LIqёQ1iz g%DE'5ޔo!٬ܺζ q𝺱1)6 r༽x 1z>!E"}jOGHIN׋ oүܮ¤k"C78BB@-0cBT*rV}5>r͔5ݲ=zm.u1 N•jv51񏥛CG6~vI]FU@w9t=%psGܿ v{զg޻UJ}!o84+w`a5=ȓOsc 0<nD]dC ɏY~D^IѴ^SR[ LviZIT5Ȟ]>ʊ~V޽~Q|jjOCƒVʸHrKnR}#bc~s慯I㶱- yz|RM/Q~{|W Oxwȣ2?>OLҷKWI\}˭KOϴoч.0+¹szPR[>ݺ^xIW{vlBn E/vbZSk]{;׺:+')VRaI Mwtz7ɕ"gYeS\<3c{1| 0Ƹt:[5G7ܧ'g-k5tҨ$47ܘ׾7~lw|9pJ؆̿ڻ$>>N]zrdudZf="_?yrUJEJ7B*w`RVA~!DQW*޾;Z܍⃆7k`ίӕdb˃) -[~d4;أԵ"S#jz3ꈁԭ3Εtr $ꮯFlrk|j.ؒxɤ)g3*ttJ!b..SwKqfOmhC 9ZVR y/Cѧ:3)۹"F9F.9xx4^em#PQѻtOutvRLJ<Zw?[V˽*e-8dP_Kqk1 ^vǃ7UG 96r fOοy暖#=2ϴ[hpa3*Ϙvm%'FgɋĈu=q$>2ȟc;/JiS~" _֘qaǶ!Ē>fE̶ˮOg-Uk]מmaŠs)kV/y{jk 7~dfnw-=w{ww1K1)KYwWEryôYۮ3.ڲS!oZԴ)m!8;͞5{yGWdy^᥉+K(LI˵)my=Q4mwΑM(ǯ+дD*ap%3RO2ʗ:wsN_{n}L5<e]?̍'|?:H./?pt䫷n550ʖ'R߶},Ĝ;Ôn{Fz=BBF_o޿wqו / wb\+Beh c݋1#woUAXcp} `ys1]=y5(425ЅOA/:{ҽ&Z/L}86EY! :>`Ȧ%-i8cP^\ÃlC~;6񷛇Wvk{IÛW$Y]Wv;3+}#mV-9i1I..ݸ}i_ӆ/ q/L9I``A,Lz3oyQh;iplRvl@\`sRnk7@dpbk4?VHXZh6g߼4qKn\&O yekR|'hѽFm}O1\COeyXbLJ jKWP@(_FIf IDATo;ϭretz$z>p.[5ej] ל?{x| Ŷ%XUd&ވb5r5(*kf+}=&nBDby8OkˢOy0< LtXp`:;.Ecv|wћyd-Y;(f=VqCڿ#XY^#A͙FE>? bX3` g֗=qJ@iޮ:mzys<6M.Uv"0#2 e|ZUڼRMY1 0ŧ?hh+Ww##KKN=Ku|A<&j֨ طe+G,M&xMUZrL@S^K?wL2#@$!MM0=vN1 ' 4q{FZGV֝}Gףw ?V$|P &;;'/Xp¢|C&_y]&hT<  km>HB7lVp%;kdPy̰L 0-f>y֡k5UZz3[3S뜊0ϠX:~N%ogC `MM!]響Yx$#)<ٕ'99I1o]) /VΪ[X h֜, 2]t!˝wL!e!XU(mʧ:{ׯ^z p޷YwbE32Յ/͹Kr4\eW ZYba9 ^ɝ37^p"dĥ}>>SSr#>ҡS3 fcV蹃Z"ŋdžGMf}_\*8DX"rV_w-]x}ajDS4ΐx~\ƥVEjay/x|t6kLy(ܡ]srRdu.K!(ִk(RME[܋BH``Ç m;I1$Tnf#PvۻvL#l:sM IF7ij5F1%Pa}`\;θx` \>uYK˷Ig!~-ĜD`KW<CZ1%ui5jưAl[_"9W$_kggD}!!&vнx, VλFv-'.*W1 S) $w5guBͼ[nsG1Z&-f1fĔ &}RΘc~?zA$Nܵ\6ܑ¶2y#Rg92ȘͲSzz?tvȡ<Ϫ|1yC{ZiIC6`VT_.Kfk6u{ ȋY`1Z>K#'Dd rWUc*rV ;vqwTDbj0i$GUwW^L*M mM$ahR[^,+OFnk~-z/X]h7yZU<1 \B3LVlNNqDKNx0856iPj'Ѩτ3w툰_8Wm_ukܚ|yE^Om/(JMY<ȕ?us/ERhX1ק4MN^27?&BkZR /Vϛxnx ۝7qRûwBXZcE]*8!Ҝ.]Ԣ@-1w)[o%,[2kfPʊzLesmHʎYfO=֒m\Y6 #gv|ܔEM99@{s>bFyAΧ9=3(F:f?~.W8z5'T`[5'~..=6 @J9U}*Ɣ:t.V#,PrҒQj9RWl%'ӀH]&;L&ի/.]z„ r`u^ƋK;nOL|R`Ob?NvL |;Lv{P(6mj2B۷M&,tVc^cǎ;v|rŰaW܋ׯ_R%łj|Һ.۱cǎ;ocΧ[w'C?sWI2p+cyc;vرcǎ;v>wQ%$Q!MTΎJ,@H@9a bv8#L*Z-z-ah@XBy%lޚcEÝQ2ST )|.؇"H999OpsgQ{v>_l,''HR0<RSst@n^`V$$ϓDwmա(p_ON5 k}ݥsl#*h. em?t/:Hvբ#Eȸ&oN/6vnLvن_iQv줯K(ӑe+2;ٲo`]EON)RF`Lcc"5J|ŗҷי_,__~%%았#sB?89ρ }.!k9M\2nzQEK]:i#D!hSۤھgRZ_Eri_"K zԼڞ&,%IBiNQO*B&I+Vn+cǎ;vرo(3I1wwx^LJNiEC˔i^tցRFP} /([M][O5ӵ+J/oGŕkzw;Yw˷'gZyo+f/]ZBcҞf/gwtRz^(|BޞٖVqű9Tzbwz 8rO۷7o޼F6/OgHgI}yhyҎ@0>Ď"Jdi/0pg. {vyv Exx5 !t^q٬Nbo/* |olxVh:qWZ,FZS_!*[eG]z8XbeM<'Bl4aB xȆ vOݲ9ϰ/`Lqn_DW(!'"x sNjM:~(g9M< ȚI+;KPbx&+]O[a"z+WR5=&,6d>\wP|jLD\j6OKhњbReUD`S^[2%$ ̄XVwQEN^ T*Ղ5lT&ӝ+9Ui/N&_f1&(T(QQ(H!h/OfЂ&r> ?Bؐ #^eO{)9E&n\/dzu&(UQ[FZRexg8+09nc=uNlZ!;GF*wy,}N1YKo"TJDQִ,ٻpHJNvzk76񅉑CvBpR $j8[gm>_kOMGgG 1VTnnn:BՎsϘ뽈',>fK$0sMAV椛;^J <ˁck.:gf No.:F6(%S=<ك[֯{cD)ZNV0B\UNcL+ZV#sOKNșo0$4q؄GNvhRtZ,;!Q:N!@rVJH,bڿtIPM~ $(J4*9!H*e2VU+(lKr SFi5 7 Fj=d_.D^9ssADr$ Vi5ĴTtZ\+j4r%Pi:V)c%*BhT/9Zz'yO-?RKNөRޮSV"vi5*z 2l/Qxfޠ6% @S(†?>gd(ZNQI0,jd:V J0y))uc@pa߯hbOnmRػg=]2uo0aIV& 釧1`^7%O^X؉5 k{v`O(D3BďK7~ɣkLY`}ߎ||y5zN4\8v‰V1g̶ 3K%E^k 0JJbXTku:Z;!JnjR#yyV5 RH0 NըmS'-SeRJi?p̬+u:V#}]:}W4#͟DtZ)4-זh`HHHppXB_&Ԗ vA³_WOX+042#%qDUJMȫ}\%GVPI:@HYL[ V+"[_St!J}yҩ@¸5]kF͚"/oL\DDZQ_\5g9L>2rmˋ &N[7A@ [.3yI.Y)ѕ>ב\}.8c0Ʒo߾xݻwy/U |K0g|G\)ɈP|s-b-e=M~Ơrb]o޾tDY0ozdvfwc,'sVtj0{Ųu _pNfUF pߢ4h|TA(J6۷7z~4HF7kPz~j e^U5;Oؘ`Y};Lr'ͼJb$40l`Yj(͝j]FM4>lUk5]qf,]Oǭ1{'Vp+:4]J#Biܩ+:4ݤ[ujTÀ4XtsVRKKTaߟHIpހ >UfhAxiJ5c@Z&tXv´$_ncJ|y){g=b)^kT9}}#>=wq&8oӭM{Áe\㏔u+ ""a?~?f 9548uekI?{#0Gԫ12v^GJr;Uwj1]DܺxWyo`¼Bi9pP~ݳKMS~Ujw+uPI1l]l?a*=og.r挱 j^#Ǝ m,>6ڽK4dhlG.h}h^7㡅~H L4d_:Vj ;kb %UWiڽ7׳~e3zeƘ&vAY' o)Syҹ3,%ebkӤV*-1aKzТAmjT"5ݫ x5%ބ)!L @V}7t 鶤@93ˁ0[gvw@xj>PBBHӇij5Ƹb^$y IDATٚfN^q)$#cMNZ: Ik'gQ䵽Ʉm/ 473#iFd4:3[|/j fC2v5FMKIGm?ީK{=q|~{# ŔǏgSazVV@Y.uq5e39& YQ 7Yk~y1yDSٔIG<ɵU4vΌ6vS+ yȸ1[,^z4i3%^4.ї?仝w Erð((KxO)Qҷdqk=*ty ~zZiy]<A<ʘ]8x*Y¥aQNhZ 1%{FղgSMKFwׅ[Ld5bd8>F7vl~fRwq%Wl@e9`9ǮC<=7^pnŹU܉3/Vsk?ϓїVT7WZRjȖ\휷е4+GH.]exE&%kSs6_2|vlHuqp1T:^SԾts" ;.h`=GSLdr%K: ljuNe|; En?ƴrt* JвJhF>9Y{NOYwj KcZi 9%׌"[&) |nRJqGS__n/K1(z~ምW;NDDYj^) +: QA"~S"z`լuYlI D%^ZJm<2ʽiӤ19-]UٜboJe^UEQ4 jɥ%c)Ԡ`lZ*VKʖ`1 A0[ (G7 x/ɔ@Μ;I%g5r ͚s|KEQr\V-b+9S0jr~˘_~ĘVj%r$]_sY) -E1D ˹r^g])6fdYS F͛w([SToi~/qCzSݴ; חؼr h!+-C/BqL`)C1"PKN˦8`zKaDt+f$7|ibƕެUMl+O{s?N"֨(L|ViތV3sl%(I՝)Fi/:6w|5"*~FC[\Jd9"!BR[U`_ ˌ}tէOuG[DYp#gs'2t'[OxSzb o}rK!.;y<'XZaFe(NVk2)ł*/9HB TwZVC3`Fb&eh%s8U佗JY>/D,ϊ9!x1#i" .)G‰2~l ~ZW쨒Oܛ+jFkFS0@`,D1OswWAdtx[_❓%qn2X4^PDuNu\@g;o=o KJPj,18E?}D"PLZ|܀F{-ܪS@2%L&4ڿ )SGzhے^6\0%Jh%#dpA٬zCz؜!VK(E\iƙ$ )),y wQ iAE(4I(#  "jj2|2&(AE`Qc$*P`|BghUHoHmX~p&zmƄoZl'z߼NIqX\4l@6 H IX PzzzlllBBBZZ': ?'ȡ,)/].ܺ=9c1[9xmԢPDe%ExE(r< gtZ5.\wY.+9KU}X;y+Gڝ)y|޻IY)Ks cYx3}=X 9L4htѺN9W"&*XNOIaEQVDž'?X~_I2|[.[0bC!(wG]ƚc_B*ͤ\֜DR !g'PE{/?WdѦx_`Kz!c9S=Ύ Kbc_Ƅ_A(Ճ[Y /ҲZ",H!#Z ~Ew @@p&|;oÇ4[#|A[2ת ^|K4߼fVA YvNV&KoBȱ,˲,.ƨ,uЕ]oe̩ 1wbg7l)#āWuj6yFliUܶxk̴{E.m>&'7i=TX8>"BB_:)c)<$EMz'S~|acê_d%Δœ.9eHs7.㣝8r@RrSg1+.&JfţIJFU۸nL ĜW i/^Jj('qDݿRqDOU_Sk}:]iPw|nf/cbRePiu\9'~M"r 5D?@PL RJgmKtA!Fՙ5Mc^dԤp+AUjhBT8Oשs]@*hVA0ѝOTGܛfȹJQ nՈW;0Add(*Ύ^?nުAe̬7vXFsiǐ!ӆ;k5'6%][ o7gwV; (t躾w?u+9lGޔ4osQ9Jg-;4\jߔePZk?"6b0Dۍ]DEP;L3NR$ʦb.>qmTN&ϨХgh̛޺ݣ=Z4ZG[8ֈersHddZ%eNUN\9ŕ7qne0藩lܶbʽܛPDH0p r̢ŀG!pMI6*#z׬\Ge=PzM6gzJc,r̠:w?(Bk{VZv#wnT*ۓI|𡿿tiel~'Rt$ozznǒ%fw( Z7>X&BtI0o h4IVDx #R$R$le4b (Y^D kbVk " JW*ϲTi XEX F J"D3օu:5J#\T I(`6q2Fj\^ƈTk`Y#BQ Y@P*FE Pd3T_h>/b4E!XYPtk:5M`E$ +h4jaYLiD$)(5 2A$V$J2bc__-0G$7e$ʀ\lm͉j}gWu̦6nSQ,&IeU %AJE[,M`Id h&`EE M_o?yA!H&?zS3R XEQJ|.>^|M6 )/ӭMj*(6n_"$=~u(SʃQ0A wg(~׮*FQ #bRy!l<[ttsѪwro\doY1+3@o_>yKtB°q/bN5Bs %ReDbeD7#Ny(3EjԨTDG@r 2wo}*SR 0n\4NUUq.D0n8}CI+gNToY #JEc݆m>g'^<{!ҲV~R2c_Jo*֖An_"È68xV)eM r GUFy7vd_8kQsEUZ碁Hؓ;+F+ΤhªT`ux\lVf{┤g.'Z{(G[Ne9o^Y??̱ZGPQ>zذY[~Ft *,=He9ou)^#$XCv>"ح4a]qm7^{JT-Zzŧ)o + *}|+kFeIQTq6a>ś6:Jx]6*$#YڵY^ɹjC :?<뾕AESK@[_fOT:U8PboX U_J5|l\\Vٻ~^O8YWA.Cq_GG^<9ǂIE 5gMdllIg:ɲ2 gϮ޶)6|EjRLJU)[hA.p%/mPlf IDATÏCzy̺lfԉ'ڦ-)_Qm/@ktj{[kRt.m9 A+VY%%(B,cb:^UK^SyGlSƿ_sFLȸqgs~'lkǏ&ciٓ.yeTeRYA<{?&{ǫ$I@1rim/.u2kX*(zqu^`]k=KֻE+f.Z!}+ `!UJ7]~R$Ǣ9);q=:v<^9 ~qpށ&l.| ,+wQ]~{bXû{`2|Z~ W *T=i=? $0^ȗ3W2ekM|(c>RE* ]8}EcM_nvƯ/݈wE|o`y;2E]L^۫o>K/iY%o`X>Ggavis!ojLݐCWJ[{4T_pxG<ۻGd!AUJ(ܨ{Y{/ !νẸipTT/>%D=mbYLZ: ߻Tşf1=>s~~~ABl2^L999yI[lZG#$]`h/`UKL<QBX"\Ӿ¬ ZN9$mKS9Ċ +$c_FLՐg9 D@PM>Lx@;]`:~LRB\J=PT+̗/g͸cUovظ˴q?e^k*ѼY( FFc"NiIHY\5Pgr lӼϏ17th?sOYw.W\wyc~=N{hպMX1;1>4u7q#hF'y^auߪsVm\S%\CLV3TC;ʎee9M1qa ml$;`Q`$Z &SwٸVY݈ܪ_bK8~aWZ-;hsY< KbxlGM'w8֦HIWJMK|8vs#V,dsٷn3zMS=s"k2vci\TW}W/~`,ưBbam=G܄l?.m1]J@?@0gg_O=8Að;x#3 JbED+d܋an7 r"  \P6͙$FxelJ1bqS?E 2 J<Ә]5ǝ,],0 1b Vve^yw.~̝ELn:2jڭ~hïpHmgj AI%DH@ B+Z^4 刪5 D‹RZ8fY&ʁQOť99Tylo?aYF$I/#ONPx[i#~ "8uԐ]5/pjJ9!u9WlIѷ 74O:|=E6 N(wOTiGlJp{ǀ9,T;$`r5Mm[uxBޠ5dJ_Wn9Hީl~ zdg0ekbe|謴ǏLRt߲D /,*pgIywypjRa S:x! []Ѐ_6̍"*^5TȔssԂ*뢾SlI MUhAk7yI EQڀ'rT9x"kx"J8/Xr@Wؿ};ޕ]3l63dڥt>.yP>MM3#z|sJ_TWv w֕ rCK ?_1}ޫsK]>fG|v3iP&މײXֽuRAKmwlR|68q}"bY52"WN9n:o `w`ߪ1f,˻-~Ry6a%^X5wnRg/ei_PS~IG\;5-_k{`ļXO|sM뗰xs'rz],gM;KŶ~VC7Θ.VsVMΏM|gM O8Q2Dz(,r,9qv\)lϱ4gYNʌzm2^`BsĜAS--p_2dvċkǬKp Y鯒^eJ{훷jeLXUo?n4MLݺxi+fME}QsU*Ġ_IzKW\lO~;(HZx㤼  p0v%봣@dƜ,nX8`1Һè9&bBN_ǬY bY8/EcI?a:5V|sYp+dv*x<˒Ϩ:Y6i&/h~ٲqq;W-tխΝ:Ws+V9QvV|Z; w@(J0J 0\D8Κ^`_2CVʿ ܏`&n(+21h?~>| ?DЭiηk߃龹)Nvdɯ \N=慿hp}L-Z|B, &%%֖D'Ox{{ӵ|3+یv]쟮!66x;w˗*͙m$-or(`WA`ECTz:>7~b qg2};fhcn ,|%`»j-VQ3IV30;^}Xw&> fT ,X`oa¿KN ,X` ,)m ƙ?rS XBw$[/brCý@gs $-_  PhaI =33SQ/ps*IYYY2iA666R -{aI#}>B^Y߄E$- _EGbkU= _/ۻʱ rrr={9,X` ,|ڵk> Es WlB87=I1=p~ ,#n䤧N.g _sGRG ^+dd:)),)iи gd{fywR3XnV|^>w MaN4,*=ziuHfSOɐ [j{GZA)z>:Þ N(MEs"ED 'Ҽ=5A*LZQyϲ8W_'-տvL6o}A ۷;s96󠰒wfƵkz굫WU~g8wvbSQHfYV$ .qҵр0VGvn=v`iW#{"xdF$ɿe %|DԌ t{{{1" -® IDAT^tڵkofy:|ܸUVk=oS }T/ԾAD>KD2]8}իWߑm~aӸ/N̴IHՈ{#N_zk8tM#_㢦R;7=ٹ3$ͨjVkT4aQ UT +S{38ssKVo2S'DCzs (o'>5{ʩtDH"Ȉ',CTR;]>| <6"TNӨ1Za:VTi:& I:Ne:IJQGwKȼvxg&+iJ7/;ZZՍYXӪH04t:5ND}~Ӯ{FIxk7$D5:^QjU~"^hCV)n0?|(hRit iV4 @4䟃ޜf(@$VM77R9y3]\ٍnҫhm^#h10ZZhZBɽph9 gD\l$D;n$o)cLxӯH@JuZ5E ZU!`t:0BRo"("CsQRgm(i}.կI?(7n4jƢ>p⹁~ռً?_j ]~cYA;ATWewj7kmм[||{c7C:Z{~ˈRER7\ijּi/eV ۼl_G}lO{TRe(N ?0ƛThѻ_Z`o[t 9?$iJ1~=tp_LG6 rc laAdr\znMj`W^_~h78myh=muu2ͫzL;ۙf>lwiI" 1ܣs/)|iVӐ1i˽q#!sk7oi tǒH>DH/;GŧUwȉ|4zpC>Wk۔`k9\L ue$v7.|PA91BNiQ9yӗELߔ85}-KUyYӬ-xjt6#&ƻTco]zx>F7C=s__SOeڮը%]iggpgL;t7}w1V0&aG:SeZSO]K3vqҔYT>˜}~~¸FH7#X€7g ^V~o>[L\ʶ9o蛬ޘ$ 1]훾HYA*NUьJ,1JM("yVZŐE9^T4j$)$MHT™X#B I`y_ُ0!ХKJEZF Wi^+J}hQL=K7fܽWeFTʙ@XQxwNX,܏}QuunYYFHC$M9׹;._'pRF6=A7 +>oɬN>GtpAѱʕ*+HZ}˦o\L/ҢRkی{{B2#6Y{'񑕯_:vwSwߦ۬2\>I2^k uL͏+Us3=f^̩%tl_8XMC!nU .VRP7b]&7_ʍ=eWȕ'^Ĥf42$azĪ5lY-McvMz MF߬Z:Io/,-뇎Wt*ռm욶o;!U,gH=9-m]k̚22'L;hg,i/FE=bGg=b龬]5)ӵ3UP({ٹ-f\\\NcbԲ^gg/w56;ګi" >VoPv'?-g?[.Zubu-!u`Tgi$ Ip'w{HP܋ qI)-}{oolJ@AO" ҹٻ7٘ۗmȯH@.?e/a+ٸu]4 9lST7KU? GЋ}x#ZL"7Ejf%_\XIzRj 37IVlJ[^J!>\;t~I)֥bqwFy~2bҍ5rʆS{iF.UjwB˷NU9۫(q [O,yLƒ{蒯bvUO vyXL֣m9e7} |7/Wt{O|S{fmOTյRB(e54<%Yb(dw+VqlgXAּ[dw\pn`XYB#:`\e"Kv]</ޭs]| &$xtlp@OVDm5 i /\e3g_Y- yr% ?X,H+H͠m:gׯLƈek#(DonK(|"S%JD@TڙwYG)v -l"B@$Ȕ!qZB YPQ$xD$#LYρ9" #L\C‰2X - )h =(zi]Y.jW;q? @Hgu? 2lFEd9\lrܧEc7uкڝ`Š?ݵ}9'?K4aa HӺcNV`voG_ZEvqLL̵kbbbdY'E &_w"o6)L")W|fIm#`uQ@d5 (L*ɢO5h1M1S5jݹzsˇ[W.i)R?GԺ 81? GIW?UP;veJ7S|ju>d^2An{AjTeHJV46" !Z Bd"J$O*eқs Sap;c)qW;*26Vvp6>;q" n-x/ ³IGc%-NKN{j(cG7O>rUrj\cwg V3XF14'/#.w(D)!ivI&_jʕfzD-/Ӱ~cBDТ:k3[G}<^]JꇅDAzɚ5tV~EEˎLH;/ׄUT;VĜ޶;PlkX+7?q+^W|zxՖ"c=w×I)/ﭞH]1Nz̆0} _Fݳ^w1SQ7c] AxfIx|\ ~/ZM$ި7$\cLqWxآNdޘʥM\:|\Q+E)%6Y"qQK ^43y \ڱ;B/]=jo`&wӒҒYdaO-hgԍ$ޤOz˛mҝϬBGZ!JUjeFYJN9u1)ćv_SnNȮeF9ɲr|m:kńgR $J Z fЬo$2qqG(;mU8|䴝#qqR)^}S55 Є !'N8x^Gy{{iIuobU*cUكUOR2wmmTwY1zϣZ~p4wi e:ưۮNnk>dOwڪMYft\Wзw|KmDUɹu8'b*-BJ((g3+u)^咀CjcN= Λ*I`FٹZ£{מxoOLkLARJ$R4޴)ú5Zhcj[ǭ6"+\ZdBSE!S~sr+f-9r c:2MKa$"Z&3EG0uJeoD\')a]Q)_45 ]5 UwR~O'MPoK\ oYDHVV)ty.[U+)Q@J@=KÎ ]Nw\|{$SHUFٷI5#Uhc@eYV* q{S(L1{6O@T7&ؾf#[ LxM"ߠm[ גz5umkL/,R~+LڶZ:5rcvmٱ9osƛDUh)t;@pzݧo"۹~ӓ,xc[mkS`~1gtSĘbuS$md/ĊZ=A]V!)ǩ5ZY~ԩ_ݣK5e({Wl9L,wviI[}C[̩scL_UziTzhKVҏP&WrªIȚ&2bB귆`*aل^^i\-,oUL{) 6Uq~i\b{6+:EqţF7Y\cA)ZgtAʉ26*H,JzMP[=tSi8i*nNn]}NɮRH|qNûEp v+?r\S19uէ6yډdFKԭ {B›qի?~lON)RHvP/_Ø(VQHVH+2g1E_gJЈ9qubg"fIf.ı-YkPJbi D9T K!IY,DIx (F$MDi5 "PRT`[L!j e2E:iԒUoj%Qfjdll  [ )-đRj4[D$5dd@ FPgwo4LjQ*HjEQUi &(H䬼$cZV+)D$jIjD)JY8ӬJ1"h5[DhXdr'GFFEQJd( @DfQ*op2Q+,r| IDATh QUMF*9K\ڏ"#l1@V]uBqkX'g3Z8:::w܄D .Dl'1Zg7xB*YxBS5Ka" f81fRE2j sakwo!> ?DGnkC7Qj'ׄww7?j˗P6 G̿ H:,|I$NGQ:[N>gTdr(8ݿkuY;n+g`l_o] 8p?<+6ns^o28?E||Ldɑa=22굻V6}?6Q_6]O&$G=Mud )QS?GwcзqO1Sdɐ,\?9~E\Vn!tqR?;W{ި\e/ĺë\KZN"Ͽ5[IgWd*9~Ȋ"Ѩ(&P.%|ZSkm-y]wG!GҨݼuʵ#ZI4_2bTEyCt#E_ڵzTd ,ӹg EMsU]dA0?߲J6u"3e?Wo|^Ot+F% y*qԆ=i+2'/)r}A7k7Ce63W2:oA%:9(oힱZSkxqhD(VQbV?ڞ {/7IU[w)4'R,^~7ڮw~-'.=u[K熮ybɚ<-E2K9iћF0h8p2귶Ʈ M?/vN?uz+8,oj[-s~}.ϧ,gkQ|b|^,=t㹨v+VaJ]`Ki>EȰNܨeAVYfz*U3gV_jsw_um=9 |wٳW>=*C'n=# J_S\x> CCʷEtG;¿̴).u}gc,GAsz;gM*=u TÎ@xV׶[Gڂx$\8;6.v=W׸)N K:藞={v֭dv ,K}|uYWp뷂A .Ks y^={\6${iV;:UAZV$Xqn4Jd07*!Revƍ{W^]Re*">}V3w 0zÆ)7G=~VĜأ ꦹd|߯ٓ?BoI8нvra߬~'*Թ|w/=c'UxPݓ'I:pڴUrjzQmpn= Gʍܿx\i`o7%ӝH{<3dHY-OO&ˠ}|;N3X%gevD-vSΑ@Z$'T [5^X.>lidLCŴoP7!;<ڒ:Ƥ~? rҹIu&- 9cc}Ȣ&ߕXG2_VܹZ,kȯy{hnzD( 䤈 Iq%W$kxSvP<^֮!ٸjzC>d֣{oww:Z)mlX;vn- =b4s"^lSgd|PQ;;+)eH64;hB E -҆VKҐbQ:7u\ \ Wsmr傩gI"FP}G.D2ox$!08@/}(*=+SԻ/Dn@n:QD o9lqU1B2O0FaȠp{4s . 6mQ~3 Bij@!phIJk-fj".~~>9X !^Ejezv,N>/ؠ^&6$VE/6,:(qZ5lE%ZlX37;ciœNC JWٰ5[gx}+ Z_EH:!eT`uwv:M䄈}VZbsG4o 卉7E0otZb8g*dY:rdd -2% /=CKȆ_J_s/R3"S.9g؊nPJdr{}ŌC )55P{JOVHM˭'[ FwMTCS h%-?,DY7 f+ߠ}<~e bX_llKtuP=RAo߆I.ްY9l=?~&!IulȱSG2ioX=w9lÒmD=mI߲`DDѣGϝ;.?Z h;xb9zsbNPB7TmH7 f7$ & 76I'MONQVΈ-\-lӺ?F ;oy{|]rmf +I 2^ʑ/NJ)趣υ w{ף G\MCa DZSyyxDŽy6n\%_dBguk7ao^r"R,9mU81wzE>!J8TRd4&Q3ǜĚwB{1")o,Y_lwy/^`Ƹ#,jVhҬ3a@Mq1'vm{f*og'G)9G,v;B)1%59111hx"jZ'6KG~r7 :bgyj>l\ 9?gEgmd"L]x^jة-^hba Y: yp2ش\ѯkTfC$$$8Q+Zc_@2IfA$ħZDTdIӁ{"/mpdK"}kXFu]$$<>zPZOgMݛ#E%IO.Vh=aK|ﶫR]33-2{;C%IoLILLLJ͹aҲ'&yf@iVPLڐ)_6OCJظtSsrC0T:b%\>oTK#OScHRsʑ+/04tB)b{W$ߵe%Z-& 'ʄbNlIo^Iҧj^$j},F[LVB+TZDZ̜ #L5jB VE#$l*#~-$IڳgϞ={2̙|MLӵvk)3g e@xx{5tӐO #yڣёr#6SJ<,$u'{DNֺ4<@S$ bN w_NN5Wj3u:ZH(7:gziYd 2b&Y,7PΧsj6 &ޫ`8a]"צ_jpStZJΜ}NK ha w(wunSwҲ#ƍ[eX~zȦ9;-{?/'%);?Ru`En*t-֣KWи{2 딣EͪfYg-$5|X v,1Qg.Æ&o*fۄ>kkn 4uvtS1~oZ[rVRO6ClOHXnin/3]}ݢf6+"RNتSXgӨy`yYz!Ӑ_[T4vVh 9:v/9p)nv_Ŏ m\*8aF~qvsoᩢq ]f s[s ;wИ#gd Ռ[ K!k-mûUV\o߻֐I5*u.B7%ȸ8wo@i.lY.+.p ާA jyȠ5ƻ=}naZΞ<(J(ɒ,aQ,9:m"V~-zu~ԋmqlwxėBͻTQ=Yb+yuUy~h]YfU5ܳUK2~JĽLB ; c&5%WS[^ssrz9iZh%D;7_B=[A6hѢ /{2evʲ神|}ܽ{C~G=ldna4c;!x_OupS$_yqP/|{k"::: smxB<ϛa$yyK|m IDATyX"2D<$Z`%T 9r*re n n ZXOl_o*JK:CCn;bRuZU*h?ǍϞѴi^w#\g2JzٮT&FVwaݏ=B.\qYOJZ]Ė9v8p}qwAE T* E|$?|]BD(d|ziI6B!+Q;eoy`;+, u6O0}c6nq+ƈbp|l\8W`BE 6'<8f̍Ɛ#*{1B>>>} 8p_:0s1 !n/_' iqb_@E0ӴVøsN?o%A#!OF({SKڼ'@x/#1lI$cr'< T6Pll̙ÇhUTXfHRL0Mg6 =3Ё8pDD L&_v_G<{Iڸ}Nd!9!G'.:qۢHIIf/nY,#ykj̚.0 m=Z5dDܼd񂛗CD$/Gv\yὧ^Iw̏?H.?߳n+g`Y" BEk ț?o$IE d?_2z߽%ºT8J~m_ '<+VP 7kЌ9iS=ny M++)D)ըJ]y<**xo\yCj$;{^B~E6ʣs ߷$/.W!LQj(JzIz;C|.L&<~0tCYͩE%qJJߟ~7*CQg/dY&J(*O9[ e! ˒$F@$0QҮ QBY PZ@dYdD A$QLQ!Q_B$~v;B(AxVE1EIsa7ܵڿ?n8222$$!~ݞ}AAAc;we:v KVYlj^T)/?'ɓϞSd}ǡYL?8M2]!RU&!(~d)$ gB)))Ϟ=+Tx8p8;ޱ%I*Wx!ޞ6jHJJ,Vt}-[<~811Q[ֿNE+ M?_Q kBg80S,P(tz´ iaTP )_EtZQ*ʅWYf|?fiޝ*zS߀isLtj ގ|=,|e#$D^``K ׯp64&,"JEaJ({\4̸(FC?ŒMWW/Xi(G]?&1r|}(0v-Jһf{;\LD_Ad2P~C7_ #H1=1Cp>bG4JʌWɲSw%G<[gH__;s? 2.Z!2vMyBs7%ܺu+::ۻDP,zkR[yOf=.7|JN|˵Jm~qpF9foX\k93-\ز|́66OZ={7‚i>x)VDf3'p!esƗ|a~dl`ƥsP˥Sg*O^E_+i^}=/-jP>P#I1W6c }dž VNp;qgPö^ؒ~!gŊK-ЂRP4$Ȁ ΙST qcԂ7zĦS:zP,tmˤ{np|"(ٕUę-RT F#6La*DdjJ2skAX;ۡWO˧eJSv6 'HaVRdIYmUkY)4p *$X6 ZT4 aYIh?;bɵc7{i>u6)Y$Z9^&@1JHLffd7&?zb0*dZͦ+ BWn߈PoMwIB7կU'<}̄)!)J̀`J I+N,,&+҈̡4DyZh޸c\l~1H6UE+JJa{}?ϛ7bEӷڬk6i+C"Ev̛l/Glat =!]HA-\c 2wӒFN02y̨f/hzS6ן8m}O^}`F.Cfp/F(o_JGF ‰2´JȜʋ2´ÛQQUJj% '%歜@T I#%qJb]plˠ]+T 0Z2٬0T2/# %?>CEW I-5$Ŋse)ˮ}ϙT!*mElVNHW "sV+/Ɉbh0yaB*?::ŋ~~~]ۿsDַ^ƹoP*(>o R1gBTѷ\Ҝ;_yV\dP-Y}&Ջq6b/MäP9 'hLVYY"=}\2{=7+X{Ec%Ec&{Dvwm~ jb,_73޼\\]޹e't?UU{ﻕ%|r15"k`)I-z';W9+G?\8L䧛7 ['}oCJU `~wi6VD_w )L@>ʷҥ(7բuX\*V3dq3;5a+%\̅ k:^oNtڜI[jh@2 7y(^s66:U^;C1Ɲ1Q5Ok׻˱.qc޷ʱ'Iq* Sb!KnoyV!kuiCͽzxփDžz[K?pM pG}l?xZϯzs;'馬̓Wfw${eKjuI>9<ˊȧOY|A-j)nҪO~ſ+ !ؿk#aڍW<yNS|tѽ}߯M&ϵg]Zæ2 Q7jO:nYcqM~#7DҨu1 STpT?NT1Jxj/u_xxkN9,$cfߚ򾁀MX`}Jɰn2-U_tc HvgWZDix/{qE' c7TL@_W}PE9Zeogs>?˲]ܦר!!QpB0JuJ̛ayAbʭ1tz)7ZDVv 8R)U44hdϔ -zԨרSNUkXaI-kDRlq~uX%h났, (AA"]ǀ1lj_/ cquzU@4tQ\LaQNjKn^Go*.ܦ*?+!;l`'ȴiL{ `JfD]4fjszE ҲCd/BБw0S#6wYZyaݜv*Jςg`g[>gwԟԴQ-93Bɻ Kj+[1~aX61 3Pe_IXƦUeݕ#rf\Ӱ+0TegMp jJ!D )ɒ~*s.]t=} LZoPtGNU/:5?_%N DD$ߌ{ս ">9_eMwo5(x#jD PfB \n@hUOv7T]܊կ.|Fx=UuY"a҄ +./qaε!7U7FTB"U0@tDZmooADANcګ}hA6LH$ʢ -q)>lIi6 t Q(@x}|.+rY|^;f̸SRyCR40Ps+t/3D96|[W._EUW94EOiwcs)TTŶqBJeM) f\ɗ`5L]Y3[YՒ1 i3ie))LbS );  Xap:#DJBeU!O~F5K]#L:m="h )B@hL xqZ  ;tȁP :MLa`W!=qM[a#wݽ-+{!] Tٜ۴% Tv:PM"ɁG $QZ-':w+2ɝ4׎ߺ6 h'5CSE([:BڪQ4yZi0m6ϴ)~?YpdD iݎJc6UE&%& B"Di924+f-!VUy4J1FSBej|>#ah0}NNNB \ILr‰S,x^Dԃr>+[GW`) F%*ERYP>CCRH$/KBy5"B 8"Eωϕ5ZD("@)0-vuj6N$h9-*3[;; P}$Awnu[!iQW:Ү: g9W 3c D7ڝ}ݻwsݿ_ݩjkǝ6*ۧU5++~j?CU][< 6'1!Y$gs}VBB3&fN؋m8pyr/[GM&_䪌hZ>t)ɱ;6+|΂qPMz٦S))mΆ _gھѪ !\`FT:y׶v C oآג򂳛vS'䆈]|,%95JB%UHO8"kْkhm^Q@j=nwұm͢vzzz?Ȍg}wsNJ G_$G_w)ֻ^E{e%aFPHC#_(`Z鹅 B.胢'L77vPѓoMh֢m!AQaHkþ$%%εkRfZո4Ce< OMHHLHHHI~sa/rm.mKI{x/h*A͂KKk1Q (s54Q@>0e\ʩWW,tyyfn];LVݎF0rO&jU1sEuU_OKbV`r2 xNςw5n<8@^:!0I%s`Z}t d) O÷mޖh8p__?)'Ă&̋H+xrC ƞ 7MwQsS~37uP.l]& 0|טW,LȆyQ̚m9Ԓ(kœUo1sTODt%/;vOۙV6u_W|72G4 RC'n_ /Ėu Ӄ%~([j Dib#j/s\r;&X|K:ժB hRR#V-7;{NjnΈY{)`Л[hS{|B1oi*{]ڳbvv!gh bcZ?5ʥn!m,eXf]y1+~Z8|Tn5,MĻ6ukKf|kA4"fnWKrfܩEFkvEC ͼCfIct/td0J.m=VNt6 /J<1@fZ9tj^D YW4S3i;Jހ|Ǯ|ɪ5ȼv>uxn =[)A_(]HWM$ͧ# ptTQXi[Њ'XV7+=K6Ost-˻{N;wKD-9֦O,0FUݔ8ˌ}zQaxZ4k(!qf9a;g^D3b؆CuʯSMhu;V!frXW! 7j~ޜe)=gg˹dv{j ZvO犮jʠZnvŸcu qv͛1)h_}Weڒ=bku\2BhXE6"!Pss`xǯ]\z[i|ekYKo+;EnzKƌbl`鸗^D$n^zS忠vr4R׫auʽZ}-]*9"}ሩ_Ibbxa)vT zr& tIS04B5wD*!\'~B(NryPڵkwڕ_ގP(FP ")vOSӺCxp"fD k Tj L8^LK#Q9'(a(\Ζ/k)0%aPb H%"k L1X^@b$4F/yW?R'@Kd Pt1cYf$0h 8=/b0A!_;"jR CQQ9^ H$g P0 Q L3 <"#a Ќ'S `<ˊb(Ė7 #eGGG{yytIi),#  H( HhDD^ _uh Cc",˓Ic^yd$qh @X"`YxRYN1-`Qϖiy@@"#Ho(V#y3z+wjBaK*Q %7J"x=bp,'%%QDC"++KVR䕇cKBr kxJ] 2Uw7z [RF%"[:ϫ\D}po<_JO2aykB7L}5t$A 7[[Sy+ ‡-9c+k`_|c}?Xe_@JC*`4DJKM%]񯑏`^-?ԙnP*bc=c>ݕ ۢ4} (e@ͫCb(@)%Q$!1D^_%Xh"G BZӧOƝy]1o5bĈ#F|Y n})#߽pA ԧi:))yŊa7[5eÓCCƌB_tBPA/}ĵ,Jiפ]s/+Y~K/ X " 2:1pᅝ.'Q:tm*a?!!`(sF1bĈ#F۔33AhѢYaa!qvUVxr 2t: ټepĎ'{vc^4ƆoyQ]^޳u~=K7>OұSO۷ۍ~H'0|^Zwvҍc}H7$T|SS./rl`ew !Z(Q !E"\Dh};.-QX5iVݸ f3D&jiÌNU|\Q'E["2UR\/h?al5 %b5u ?Iq`A>sss˗Z655E25R.I4N5`FʅO!qgnn^333ZKa̬Rc$L^䠐+~^qjK.j2 "VT(qخܚg&NR67{lTYi) j"ED" D$AJ &G?/,gj\0Z ~C"|d fˠXܬEFǎ8h(Xq'^*,|N`$\ejkcC SMm]Ԕ-rT")H ed#I'y>U_.UVVփԩ#?vY1bĈ#F|ƔAegc Z%$ܸygmZJKD_W)h>+3RVJSٱڔ[6r"^ ;r21db2vmfud"PX}  ~zlmme2L&w.8Ѥ\sTXfu! 37֑n~ᇎ7j5]Ԥ\*x̚t5:R,سQga8k֕/E>_ߦȿ yv|[w[/£[aoN<ϫզ5| ڸjOczڌ lZ!pL;B̵;6kԢU:nrאロ Ȳvil!|:0ڵkGMKK{k뻇vs6ѡ U0[l5I{'4gYaFܤAxv oo-NkjOŧuX=p11Z>C:2:] y7תEF 5j%;t#fM.Q=Fm_ڵy{.#wJ~~w,Ԥq&-z_sF۟niz;Ͻ:p¶ _׹뤽W.?/*hEyә,0ĝF. okh^Yaι,3ŌGc#NVNQvZ\ƒĜV|<,փ&twb@ Ԍ<K2drL%" jeS6m][Z$SФw >^.j7ܾ`F>xrŭZԧW~%{@'W*˫2&F{VŪt^ıoc弅'hJ4:n \9.vn~m>|W{6/!^.Yv+pܸ|"zӇjT{}::Ѧf겖BoԢC |~a qHܮk31VqP9߾Y~6*`Ygܘư}"A=7{`H{079xp}'̣0p7& tfBx.Ngn8(KKX🿴:oU]fڔ':X͸QkRR+m뮾6Pk<#TQytgs{ٜ+%´I;'\CCCӏu٭@#{bא~NԁdϞ<)+y{BH_~o?hm*YA{Q0P-TAx)qt)(վNGYg aTCjB-w;a3`)|d3΀(FYf~#+ґc:V7>3F#CdL믶$w ƭ~-hL`OL oqvAӘ;HzϞ߮чl8H,^G\ w0R;ڰ+hd7] Q%YAúH^OMjz]vmLQ@X(K+SP1O?P"^$+B}blR6]疟튐zi ;bյ k.k( qg*.@3DBaj9ѧvf0(m?=H j ܤ{G6պ k>C-d کŊ2SQ W)B}oԶ"OTܩcs/N7]=uF+w;~VE4v\7&ܵsmn* `H1aY+/[^*{{L]DD?|Ko;{~>VԭSKZ>!H̙ 5b^8z:1ֽI 5g”YeYe\A %ȋS޲Z8M†c[>?Sv1܇LiW"E"wa$(qoWD}nImV/ Lph6/fp"`SZ(%"!и (|Y<~7bt..ٟ&]l6c~ ?wy+rb'οY(M 5+-Kfw|tM L@b^oH^XW \1''{;Sx?û[XI!|| /EW# W]mܾG*N*+Bei!;! LӺKiŖ!y#i(:MIԸ1̙;٘WZgӻ< `J8Zd݌ܫ`1F$( P7̞Zwꚾ5>\1Y,adC`,8 !5ӮˢaENx\ItbJ$݇ 8lCOq^b0[g)?0&ijz}Ⱥ=YJ "8ap@Vm"REvdy/IijM-PQ>-R# x +(8}m U[}R$/zYןvB0}iiWv˰ 4oO=7dLV,U{wSZ@*itfIUe=Ř0yщZ<ȁF>xQ'g߰^Tm9|헞?INرvML`6E{96{XMamاQQQ ;3c˳ԇmz|s00 Cܲ0Ɩ~~cb? =kSOePje#ɋf@`ܛ9-FOa)z'VkP5"_̌:a.m'o>wo͊6pТ _/9&/S^$j_۸;e߾ ^Y'W ̇1|Z*IqVpqZSv%MsIF>vRLF!R,)!+9-Hϯ نU%.S~TV +{n2i* ;O\ @IH2 lp˷"̟Z [<LCZxc󉫏ލkViܯv_Lm>]RARzHeKL|9YN;w<~Х͕Hʲ,R-LΝ8~bΡٜI$+9ٿ隵[og86kYֱA=ϛ6;{ J̭< xzrckZ@a& j<+ζ*1J.>z:IF`9ںJ],/|V=r񾫹G7Sy f5B=%Q9foݴ%-4 |Fe>}Ka322ߘ?bbb<==?v)ކSkE8CQ^=@~!C888DEEa}}}7oV9Er+#F1b0c'Qp/Je׮]?v)1bĈ#F|QCpiO5Z61bĈ#F1).pc<[Zr(- jJWYL`iELAF@޼X?Ku9W)e VJ)@ Qz/K(dj\(8c}aroHK>vA'[0#_!ew{,0.\XYRR!i H!P'[E[l91Vszߺ+sRK/bE w2j/=pFĥkZQ UuY+0t9w7H1m[,: \c]_HUEi4F#()/Z-KclFw>! RUPPPPP`ݍ|0GZp'D>fyIzX}il YefjW:pDA{ۧ0:ĎJ0D3BX^ #" "%EK l`y0%eqi7bkyp@ʹw64Y\ ( % Ea% %p#G J*ܼ%m&#z=WR "r,Nj 48_n۱B7ST=/gj(5c}IrhHl ?g|[Wq:wQk@JiRDT(զ7W ur6-;ĆLs~=L#7Mw/zdٮgwZZ%9KWgWY+25սGeݺs]@TVn+p""(n bVCiZnǫ.%g^6QMݧDвsZ16oJQyƛMUW򉳳߿ʑf60FFUħƘ,4b0F/B ABD#f!s/b FJ /+>I6yy: Mo#)8:t|yF , hӿ)Hظlbuw/qϘJ#<%콒1#QH(]Z *(23r0%ղNJ=kr, /GDg<86WJDY9mSn]'N,{C|e*Ś*'ZBl+Zo'yd*m>ZNbGRQϞ=C\.-,,<)L.a`꣤ r"BL8"Ih @fd CQH_wČL% lqX8҄ 8#4o )R#iJ%c5:o0*S -4hJH(r #^ wWK"ǶҮ[j F*I \Q2k_WB\.to  2W HMovj.\˥B -"tP)*DQPRCB IHruT@fg+fjuF Riհ%E|CDÛOX mAsj˗&aoMPIۍg K49Vc7iTik4,jD"ĬQqؤPh?P$-$tzeFY@P$$ZޤH*"ZQ܄P"E6i<nj <1dfA^k8 n>'E2)jGs+\Lbp|å/?Ό/+HDBS<!/>ԗcW[Su@-j khuz ;vq/,%6f2Yi6#pG༷xoUFalސ ⁠S k׬uE8k0y3.;w ecz(0\gch4ٲPo {wP^![ jC.I~~3g*I1‚ԃ)u=W$U%$$H`cG?)ȿO@)z E mGoЋv[@4ǧ!qOcdL>_ydF7ϟԷ ^snے>1Q]a~Gp5NҒ>޷l@܂dBvfx (dی\tj`JB%5z}D!Èh/^y\ڜ~Vvß3`M~rua]^e-ЊqCqhc^!Zc+?+5::Ygý,d;#Pѩ FSj'G$|n訨.q[0eN^*4jN M -qYiY|G;@F2:,,2:**CtOXЮdJ frٵ߬OՒTcd1$sGnjq'{RbCF*Bv'A ޼`}GOrd40l DJM@-::J" ;u{iʿؕa }eY3$ŖN^*Up4@EA]`CtppBPT%Ay093q|{h+rOͼ}$_N`#zȄ{S )r1V{6nzrj1Zp7/16y{v6ɒ?XMMʜj, WZiF՗fdьI+(eBX;E5:o!DW߷.9Fh5{u<;y-DiHOϪ5"scc9DIE)f*ҲX_Sk+ t@\.ܫ{V,'/1b`(ϭ'_@^tmjNֈjw L e5yK]ht vs0 Z̶b هksABEVrfI )\I]C`0!98B-Ԥ\KS*3f!:{OTWYp.>PxVzfޫ7l\n?]^?暱eEN#);F5% 0&͓H tf7ﻯ>HH_zm?=!×lkmL[}kG dՋ|f}zw͋]AԚiH92kS9P\m 븠>0hX@%u I9eLmF´* !Qۋ4iW -}½jx޽JkHWU ~>6"$7Ir ; wKqX*S39RhgFg,azc pU~zZ~Xx+(h9,0mkq"D/P*IvX_ m=z–D 74OD }yvjnA>.Vǀi)zu`Ss=m,HY]lm $ TCF3rD R1uLa$ K3Iuw*1)Sk]LN79Nۂ)`UFA*|;_Jɉ⫉V'u $ {"5|ٜ#h$I  lA h4;Gs5s~a]O;R^F5%W-`viV|}J/gf߸V0k40ΛϗzC]n >9Qxw5g.Xdf? !G5y ss!͏6w^+sNrbRA\Z9:htFר.j;^UQB_N/,˿9Sf% f uY<)&/ _ئ~Eǎdt lvF}v& iI#܍Ls3"97l3·d' /7^d(; ^s lZ4"D]BW3u6#N:Gkzּ)evkM _׿Ɔ#(p͆K>5 t5c\}.TRe5EnԞ+/APh+sJҳs0Q}̛[gxXG' rzj&a;0WYqpq, }Tġ~wMe ByrDk٢PS[59ȼlpO'M 5i)Иr![v񠨕3V*>٘Sx@!5dv݌犑yKZō;:`:{{K8M҅|z`%b ֯;hHn80q}8 mgB 玝v<=j޽Clc^ka81l%+/yJ>ߖ?z8K#FH(4$L;]\~MpjRrM)D0VǕ$UP 9RDkKlc: SxBFFVK#%aXZ1efYs(߈ w1v~}.ߘPkmԽ XWU5{/ x#I@\$4|V9ܐ딍՘c vs1:F u,T>j\MՎs9Hwgqo ]s|Hagnq@ 0soۊe LLf4856d,If/+ o(].@3I)hڟ-Hע-^Hu'^mBד">^\Fr@ $W< BwkJ8V=!T2 uS)XSQkKxy, 3V~=[_k?>~ߛA2HNfe7Σy:p@z@#MW»|bϡ:CED.E|C \XC m٥}6Pq}yΤ$Y'hAC$7$g7XtpyA" -,G?sY`2:x?'PS]`TA6\b^C7LXX,H1labMEN9S̰DZ0g(c; &nJMnz AfN lo_n@-%_ .x֭-|e[6D ~Pki.lIc(˩xx(1$.(iqi@ `hodVqmC9> :Ơc Wp@iLet,56'qx^wNm+8 F]ZYm$c VqSEQ$Ib D$I HܭDnWݬ0PDt\|)#´ L}ןo`@@1 9B܌g1 "%n5 il>s`c .X ^37FP&(͍; DlKzS-d s"}UB5AES6Gn7k:X򴥓ҏ'K&4r_$y V~}y5ms$A$"͝ ?dOܳR=ڄ|S" A@΃[sF K8}J2ՉB')CB@"uza%֥͝ѽ,x-_$&A> Q1OZ:[^]EDyA:(-'W{Pl{ 2ⷻ/])_*vҼXsGEQT^rmG4$cLrqCt{[V&)z+v3oXoG#N:}\Nrʯ]M9ǭvV=Vd*[&jc#T[x2i3xQKL}%V!%tdhnɟ~<#cea;(Ad}DǾޒs+'Ggy-o8SII$Y.pVy8t/;p>MeÚG^N{E7r4뗮Ew_,,e`+S/\F"L( ;yڴʹ#UlFz_.z_&jL{}ء׋n7"uYQk)ɉ\8MTEr;Z^rD\c !Et _ןX6zIlTͧ|wπ- VU7^nJ  sWH-uh}(=6[1E٪X#Ǐ\)P(Nvjc,6&^uBo@(˲{=~xQQQnnnffYǎ[ 6*+:"fŸ:^;s2fa?9O$_r8]XUPPmtx.,aDu_. zg4sg>/6&_)&XyxpYvUGoTt3}798=7eQ:.\LΩVw 49Y^sm ft!fz-*6QE~6B9pd.]_MDD:ZI;h0/TK4)ws={Rzת3z;8;6Kn\HHɗ:x;Y rpWt,\c#jS/]t 60ZgLYYYaDrnJɯ_1%NM[sYo䁣!;K6~a2 ( _<{!8 ؅X_WU't tc#LI<'ZFʕ6234]n#QpRJNCH W%IYoxL(QXun8d<.>BΠJw`N})ndjs_FܯPn=;܉/=wr&`2'XMy&4^)BUs\"8W㤀9G, 2JySj"$I@.!:'7//'޶s}ǿLݥC7 ^OSsgrc]QYYT*1009E`{)/q BW.]M+ҹzښ;s0_r ƙg\Be9 a_+dYF-ζZF=(q6g0lYoZ7i4W(:sYwFc[])0~Kcهrp;5mdCza̛5Oc{e2ygYO1xWu^ҷhG;u̢ю( 'XbhG;юvxJh7ܟ$LY Y S>?6d4ڎ'mǿ쟋W}XDH-awO$&lwﮨ iG;юvh?m ws MÂGH2T*ԓ<"HTL&z?3g|uVVVVYY_M#a<_skNÙoW}ӊn{ IpL_ec&'E/+omIZanܩ-Ha42=>Y&N~^ 3.;mkSf:wV3"`(--t+Ö\_+VLGrd]wsуzDlHmԈ>ַSOK\2_ku YpJ  76c^Ojc)m6XoR?75JtOi5P}@ᫌ-_+#iw?\%_YH+ЯSDXhl_O`snUw IIuڪlu;]#C#KW #Wޞ:"̓1ni?=0]l5Io&O|ijO@lm _YA܎M~װ?ޮ  a年 |f@NaaAqoz*^u6oZƄGv9^P="[V5ҙoeψCRDXWM}!口:OMlaG"eਹ7ޝݼC#]bjmo .ia1=.YDEJbZ̗޾UjU99'\\<ܝ,-nqඃ'tj* o̬ pyfrJ~+ClDl᭛laV-oq6ukTvRFPx[KyQXfwҨIa+_.M~ܖ4âI7ӫ$hlY_p3Cof-έy)5!tq!^u'For r"]FR:RE-+1aڵ(JR_Vƾ4S?f4O\1hV}^qPǾ5T mæ-vF6Paq*j2*E{OBF)K;r`=Z)ۧ/8_LP3s+۳mχ M/KR}c_(>9oިjfY]AR>\Z٤|^йow{ N^M`kޑpwvNJЛ{{&(Gy#m6AтV h@|n⩫e!竖@}Q҉¾`3gَ]򍭃򂆪sgjA#K}7ֽS9SLOuV^˫$zn. /CǧwnXݤ;<?{FHJN%h7W3.Jk䊪{wmSۅD7ר.S 6pQ`>OKĈ4mRAҵo[&YM~!tݟOUp@cNz-ZG*`wLvG{_9Րpd=GdHO?- _Ip:w|~f] X|Ppq{ Hs(w F9hJ&s[z-b;kA$^[i׼i%{ccxWҫ}OqH~zvU cL-j8{+WccI5)M~ssMa.dҌ|/{oIU1=9ʻn"jr}@Zh#mdܢ.&i}fm6;'-l6h+G/v+$E*]5NfƈuIV!;䵌:=a).݊?RT'r\e xg8V7Deo&'\ed6'gA2]@;sL˽ځ5?'S %Uzi7D?9O]-.o*C?t4Inb-h8koF3vIaZ&$ KK9 I$u"{s|zۖŜPspێ>T$~[z_koo{ )"h2)u܋\+9Rj]ܜ-Jɀ ss_~^,WR:w sQohzv &uxG N=,-dԣK& <`.߮T%W# vb܃{( IDAT%k{F)koe& wg-q0q{%VUS_ 5l‡G)['Q)SW^XN>9]߰dǛ5f'lFKY*4S!&10fLY;ʍi+ʫ㘺|[ ~=wq |"{psAY3O!YA^)r"7>ܛ0qK]o/<]j7ڄxHן:t5Jzj=,,FVzb)R:ْGN=~yDenfnu(u}CckC.Q,+|0ӳ";'2c [~Pw~BC~wJ̽8_MYyٛrW8jʖն?.DړvfqjP˶){I^^6p)쨥 _Z1r:nߚcbM#2L&&8tT4t /ҩC\=T_ D8 /vq:p:Q>fx7/zQ1v"es#\v '%*@,d2 lYy{rG sk7] @!O.u'CBLLI5 QdΛ u_>3wA'e?+l0kJ]so~DDȭLǍچc|h=xV` J k -SDwbp/xR`dw:j‡;v&Bc@[$ ;*N_QYdV廻:UTV8֦|G$W]EY,h 8ƍieDz-،u Kp}Cc OTB m^}4\F{ >(^*%.99x+p 7+;ޭQl)ܛg9 HK3lLԲQѯNg!H[0݂hwT״J@:eK. a>Y'N:^10[a yB9Xro&.ɭ3(_jN"c~4Rv H 7 ʻ$L'|Գ b"%')na]-%{|?u pº Nٕ{4k;Pav!JhH i7ڟ%cG?cԏ>1} ZXdUM/7A;yٞk>~vF{7wܵYqЪW?wkũnCv奏/2 bu7IfE'Sou 1'TW @XXKRO_{D0w 7;PK'N Uj}L> UMU5G\󪻾8X$ Ҽ:gfPSW1e*XVٓ'J 30ƔXƕ-N?-0D{)Ӗ喨m*rjK_IJLJ}%eeİߛ{{ߛG~5y n_PEtA$A \hW{4S > 9\0aG /k , 1ފ.@ÒI.1b.kB^1Zꯜ9x#QDWG2 !c"8 Jj!@2g >O-3`K;֮;^'m)A+c7+K9V&âwՔH`)?aDwmV\o=sޞaOErדk+}x۵\}okY@RE=I+l!gͺMy8[K ao :R<A_[hh 7 ],|Ĺ3r$` c?\pzxGeP'!o셅2;ZePGYVo>3LM=x[K򂺲 [U?[2SG]IRa#9Cv A9/rRnKSvΕ6 %U~% pV5Ec!$PwۻUH.Z?=ôG}qn'PWawE}rAc>o܏K=XX|?VI5G}+dl0GPi  $Q<XD3U_Pu|?&ے[qWNDOfg[CCsUldXJBQmk <-y&0AʳYDH4nܔa%rWd>%b*)Up1Op0}Cќ$BjX ?ghMfC o *nS{f $Ȧ(w_x$35ڱOFkg/Q+!ֈ=[|I\ݿEf=1E"!p;IQ(X[YR$ρ2GkZvwOZL!Z*,6`ұ@Rtmf4nB-{I"eQ4-$)w+>ZnD'OymAR13!QOޒM ^xἐnNiPPzcF8I=_2!}i^L=NM@{ P]nl JBMO$ܽo5Oź؉>tKqwl=RtZ"{Z644D몹h>ˬ6\Ú词S:hԟC `$<1z}QTٞl䧶~3Iannnn&Hs  s[[5WcU s- ֒Z\l9o7{Z˹|[[My 1+UGxZggq=8CEׯ$mK}$8T2"w3Vw- Wپ㺡`ۚ;,h9ònuz֟>|MqĥoM_]]}鼼/8"ϖՔ=(t{> miHՌ3뙯ko'f>!Qs跻V߭K[Ao}q7yB%7d*_5aA;ە^ rg.\Ow8]WpuƤ~Y7Õ4<^ШW6mї~~ҬQ8,b'[3m^bW篲z1!e:Ot62*IdŐ%62CɳץpG^_OvVLJ -u'9{ړ\Eځ %=i>Dq`gy}1ƀY\' ~næ9Ε\gtO>N"6I tߎ9*i&9Rn*^!ϬK C='X,ןܺU?x-_hx+SchK_ea6p6tM14*>u? xC;4ogT~и>]zynyoV*+}±F 7k&AKgu;elp[Z`6yWmN_MΗƎ _{`!!fީ$K( Ϸү]Ü1/Od=kU}zKC]Q2~Ơ>"g/48R(}w|pzSa[#٥wBkv!{zdl-e6V"@$r[[^A"iOoZ[UV6c>*g朳}ջd{$jL3I$\޴{s\PS .`lcろdYlKV2~l$!$,x~|ٝ3gveg3G?Z\3R|7KȴIg>ʯJi5"ϝ[ "ߟ[6FUgsQ9&o䊲$ ddbX[[븉S}ݷrʖ`08k,]t-{{{FFFkjLiz4I%[ZULW˽%7ΫbD[||Xڹv9n4;0K s6Da#gOt?dKRt"MN/0.\)JL{m,pgJ 3JԷGU}]9ť5o] e%;;{MM8ڛ/5WjFNI~&g.r̖aV6isƄk7hwq͹%ř䴢c^P2,KܟZXT?VJɭ(: 7L)(H(7>EiFԽg]US4M"r\DDZzy/{W|&s_Rڰ`R o05)mIháxNiUYnj 98h|Fi%9gp4<1kLII)KĠ#==/9'Yvyʂ+ot-pxjva:sL=*K 3i5Y^u_yyzc݁DRyy _=D0'ŝWSȓ2:+i9eecǎ.{f/p#UM; E@QqISrI'-J8=t"h<O^6r\yEYi=IYEU^"*~fP͝<~TFئnv_s묜_ũ xYwPB^p]; "9ǖx 5r,7Rq͜:>w2kQ"} ưbѸ/0-X=qZp{uȉ۵6e|(]=o}7,I ii/%'x"W]_^U"?3B?t<8=;ɑf'P8t)Y"j*ҳ3ҊN?g5+_$ń';,C})UyI%ei|μWc^J3ao__l-tHJz{"x͞_4mٳg'vpG0|NIi 8dCzo~PHjc9){#܏{ Ipn?ZdggSO̓) Bpw!`81 ?=t%IbPF^q-"x<#uh[KkT2Ƅ'wrWW=-GzAҊ=pCGmBٹ{_~^NZJjw{sˎް:1ֳ_ᮇ7J 2\nO :_/Έ.}.1r{|>mpFD\.ϫbNmo߀I*%HR߻>))tHIq mۉEW4#!lszǝNGK6]3T$U1L;wdt˛3!f/9EU?JGbjxݦ *~6%}޵ ;̑ǖysnkjDe(N1j GiYY-km Li, j&9pQ1&P8ʉGC-)%?79V3/haE,OHe"p\ecm G:"&-'wlL}W3URwsΞa魉ѽmY̛nx/o;" J0{׿iR )LD*Ԧ | t9wXk:QuGm#II}nYoX ǝwHF{tR]r߹y +5twr0q8~ޙ0bWWm*aR\hұgfP5yS9qo3%+]_Woܰ_./k1S֛sUB"ƻBCy; '3 IDATV2fLoCGgiR)8N,++)RM[K~?㶳5$7}.QŎU3bGb .KgE[%xd'lImY;|%"sDY_{Gڑ;1bٙI˟\^zW}UAbmG#qMM;{5ރ+G-;:։BwmHO9mbӡ#{HIIͪݽu;$"!],)$E's6"O1\MD$Q>grOUnЎEUhr%O?ӫWT/O,ItɏvO_xea7D1H:Vp~஥J+|BI<'5Q gMM9y˶N=‑vuN50+%MDM1näۃO*x wt#R<N]x5]LwgH޽g?FDԩS$cԷ"N*|`}OmI>*hL]]WͦeLK\/891aٗR[|zgrԿ.M3;noG›J}M%H/H)E)n3Oavpp`J6ul=VWʄNkmWog^IS/>VV2elF}uqy759ɧ#GI\{mEEE_K0;vkH$Zm3ժ˾rѮFMɮvۗrɅƬxˁmg],T}ͷOtwnlvoL1=/O5oM vDDgLZ&_U*EyN=Kܑo79)chܗ=Utn|Upr OL0([n޽Ǘ/MONͬolw잮z"E]2#2bSVq_4M﩮ki)6!"R<"Xəc+wm{!tc^i3>۸&o%l'ɗ >xp~nx\h8۷e]0mmmk=Gpg&X IG7qec+:/[6"xTV5gd7/_i=y95A_)D퇷Ym}ΰ FabƔbG y4n5>N1ޏ5{_ض# l{i:L|ŧ6 h Pw,s=zMQEל6ܲEUNlw~班lڷo]O.Xe };7X]6K}j5u5_ncw(Omڳ{_{7%-c: gS|Y/1Jѽ[{lDɎ;D**.ҝV*zwY!,p}*_J8GH+NfT)%9BF:R+krYZώa.ޣ^vΜ;o|ZOMvMΟ7& :B)?wq3m.9,,qN?gւ-wVpͺ;ʼnu0ʶ^8\yI娑Fn!I>Z])%.6DŽDaKgL)bsF{^EȠKWKXioͫEDL$E:uۻ*&ϴ=sS}h̝&9h >bKO$!5i+`H8V*XaGen~k٣W0'|oKz܁# uFDO9pef0HON"t@{쮜3YS3vRD$|9>_cwƥ(@y:n ZEtj=\$͝:Y/Y.)dN!/N“sW?m:ξv#u,+bC}bD"qY;XOqa.+;o=ߵ!3p#D,l[6ur5=zxgxܔj*3%L4g"rB]KGb›D8|E{zJ~9c=cEb Gqoל+i{CK QN8lL hL%hR{<CI1G K3qM Y<4pf%XR_*ݹ}э o%OHx wp= w&""OCDJ'ygO4'wøHN!P;Ä?Wߢ"3ʅ+ԿO ?ߤHSVA)|w!`@pw!`@pA{s:cڱLZ=^Yf`Ŭ9U>G5e,eι?ol:_\\)w~,=YuQ]+:5&9g204k ""%-rbk.8#i9d=cxϜl $Cg'Tc@yW.]\z/mkKo¼T$whpp6+2}7"s3i.uis.s S'Uewl)*1Qstybwzmw|3f/ ֮x6) G-&`L*El>weYA2dzhz+8+GtW^S^+`zʃw}7ߚMe3q!gD~|"MRZb_Q#_%Sԃ0  C;0  C;0  C;0  C;0  C;0  C;0  C;0  C;0  C;0030\.CW4ah}te܉>]ݥweێm >cum5YOWܕn>z_ qMF;65wGL"R҉E#p8w"RX7b# ‘iΖ#vv1Io/+;{CP8$D,k%)i{CᄕFzC)#FzCeBP,H9H7P kiF^{c;W.~t!/ܶ{_<8o~闏ls'~`?ƏG"Th{Mg|h6kبvKG|lO_~7x_!mpp6+5U>&_m,}nٖe ߝ{v޳?n=џ3]C?9 _2'K1 5)m_~ 1#:+oB_?7k3|7.W^o4۞Kqwz]:#b;oXY2ܕe+uo4"Ұ]KEtgoI1욅ovOr;x)&|@0&[ W,`\Nosg^paF*sJe%qϔ'6meL9v%) vuQ:&gYuDD$YMAv,na>%Q*`en0 PJI)Ƕٝ{vw-k}?_㱘HF._=1c6 J""bʉ49Sj2RrR{:X0rXFfQDw[GHGϚ5.߳yݚ^}u4D"eŪ"ƌqckйK'rKGwٹ.Q:eZ.pR~JL*3h5fẅlږ+=TfˑfM;L?ecmm&NllՊ=e1XLJ:#1&)%H)۲&(4McD?HBw[&ǖ6|ѷ\hȮ|nF(ӶteYif4wJp"x4.%Ts{ȧ A"l81JXJS.8.vGS*3#9LIKfI1wDHpJO1eG}CGBIƄb$'WwŘmx4M2D%[u]$w1ገٶypG0^dN7׭;x%"nL1OVSrh3K7i_<_&4ncJq67tu xcG?cK0Gg}{]Q TJ1|{x\Ѿܟ˸[]&B(;?&mۉx,YӵuPW .Asq]caL2Er46>c9Ew[z\w{_Sw[/韗&R'ֈ}/m>5gTe?42Λ7wKZr zvQDjiF}|f?הSXb\葦h̢QRv>l'y҂G᣻6~vS +Ex"af,okm%iGZ|rKes84 +>5`x%J̙+I&[GRp+K4F̢&7%*Kk4G*"dT껣R*FWdR1Q1:IHǢ|U_|k3> ;U+ߵ{#? j>z41FUɁU:g.܆ 5ݼnM<⢫R;W(EJI3)%1ΩqƉLu##)=qY_ ce^#c;/V!oyn+;7)E`.˲rgҭ+ +۲uk4xLqRcu>ލt'?R헥tTuA ?ǡysH_3iU/"IӴ-tΕ #I Nnt]+)+njh2tͲq&خ2JiT mXB,c+h))iqN3S͘żrqeǥ)G7\Bщ$Pwgkk[k[gO$y+rVč#XKiqLQJy5EL J*7{;W-9Hi,.% C 5&HR ܹPk{ൣE‰+O.AD5å ȱLrY]ƙrlEHni+ q&4-vTXF:|wGJFd("&*+#wG@zfRwer#L)[s T#^[%(/|ʣ+&FvϬmi=~&L'v<]0AO4?zsFFK nr`:\ţ vlݶIM 2eG[Kr辺d_SG~)I%i WoSSXWy~=xfMZrBc Ž-G7+<}?}s;|ޙqǣ1[{C{v>}Lc,6aU@iahB^4"KOBp"G:R*i̱S#1!gr ɔH"&H8RиOݹ}э }sO,ֈ(%9iꔉŅp1FգcH:CJu ۻ]_">X΀='}o QnNG۳84B#"$l0RIG#U|H%#===;vZ3^PWSS>'YpߺuW\SV^!%`;S W,d=gdfs.8?MӼ>c/Wp?!zJ)>r^1SNGӎƎٞH|@tK/ݭzMMM7TRRO^=t/:Eķҳ[́诌l+,^k_x+}n'L8n\͍]|ië;;A>,+>5$wнK̃>xϘ1222~_,\愃|'xt }Fw(WNQrz[nӛ^k|ry.UI%$,DK†& t(h68L46a df*T1+3rzoÙks˗CVfI{޹~Ywʧ \xZίϛ_7\ʇU{QRJ)utby̙۷{_UՕOF\7._>KϾ3# ş L{ '6 _ }~GǏ?@{MoZO~< hPpXy|#6omQk}xcN<+/=C#w]yVJ)RZD0z[oy{(>|mua0;gĎW3f)g;:wq{!j宔RJ)i}o鉈wuׯYXX?__z߽7c}79Wel/vxO>ě?{ՄEiU~/п_;P=qrqVyK<Փ#kr&I;KrβZ+RJk;~N>W[_='>ϿLӴ=dW'o? Vx6zS^v͙KrnxsU~侗>fnt{G|8G?w[ہ$FDl۟;L׫rmm"{V)RJ}=W O}_Ԧi~~w&_2"rgw][0N$%?_޿ks'?ceRJ)zURe*I__m1 ÷:;,s3su{+QJ)Rp<~~Z7(BX>tۯ|RJ)!"~~݃I)RJ]sӎ7~sǝwMNRJ)בDDfN[IQgm4DW-Uw;s"+!4Kas!Cô:K"b)˲;t2VRJ)vIBt{Wj MMD1K^'F!Y ""x67z bUգq0?kD\e˲*r(Y~{Y_D:y=}sٹ^m3DѨۛY9B6qRJ)wizer@ ssmѨ* |wv<5Mt̳leUCy Ū1Y5Yk<\X%@SWsu]f9"@Ax2!,J)Rs$4u{vd!A+"PֹdXc&Uav.-. zA'"1F !& =vi clۉq vLh}mufv9chMbcm{F!"&I#Wu0:qܹ6+RJ)Q"j*r)˲Ɋt‘4 O\5ސ$Mc4&:|zYC!UEƓ`ow'ETu] MRC"#e/sDL\[ ,w[֚ɪ#70Dl'RJ)wIn rYƘ4Mn{7rdى,M.@$kDd1jWJ)RsۑvW"b \jkҾM=VsK̶S>n & b{3`8.~c,_R)RJoXW)ܯp9wyHÙ\,[;?:SjծRJ)\z6\QJ)ROJ)RJ}iyYsZJ)RJp󑏉 d-^C{ G.)AE"Da~72 c?ZRJ)Ե`?"""LDm푶gn"& !mLSS%؉*c2Oe݆m_1p(1ˎmm1}{ Aے+@Ch ;${R)RAc 03\]wKgF÷kᮔRJ)騌D ("@]Jj'AnMQumYZf^$a_uR}xhT`ZsqŪ(H9Ζ(^>{ksݍQ a[;w3^Z+RJ)u;2/ii"4@P-͡wf 8!h8lr33I7_NX.F$ 3y x IDAT')`3IM82{cgw0n_%OH]{t|2?7w6l#2\^#{VtՇ.jx e_fvNh wݕRJ)upI%=fL\ 9k$Ҍ @??>?\eN#{rs?w7[/l>E3t)?>g6|]J[D KKmDiyt"zi\oKxJ)R[Ƌ# 1 pdfP~rrsfŃfz_;z˙ˎrfSM&em bǐ4y3'KK^ٖ¥ 7Zy&ҭlg1 A`"d! 3 : A3Cݢ4WEs?_aO-F)RJKFe!IH70xVݼK}kg'~³}lWMjޱB1 y ;\AM KI Oxѣf~oT6>w~RI€pn",{Kvkmj/|qv]zՆūLJ)Rxpw٥'CD!]jIfnqks0A!v&YH(#yCm(#AmloMB"w(!g/.[!`i朥{m7uo= s}H:5X_ޗDwhq>C&U)2";kffffΜ9[z祵)±}TۙvfN=J)R:50 ݃, ƘA@@D4A"^ |Â"ދh429:spy"[z0?;T&rA33wٴ7_|2m4GC DpRL.(SfSS}iBZk$iu_iZ+RJ{[Զ3!mߝwcENL"E\ 5F"ru" %Jx u] pL]~{{kq>JHc,mPqLKN?dLojaߴ:0V{٭ËA^".NUJ)RnmNf#^"_Q@b@hQMhsaq!I:EYY`&2dpRP%.I[%)*=E!MDL ͠:y5)H cdaDhۿ^ divK޻CLh 1Z|,J)RJ]*;mi[N] .d 1c676:` 4L&[ YkB"\Ufi@bRk0Kہo,_|E) ܍lc#ᒚ*RJ)in%.*@h Sޭ_LYi@B0BAM(&$cd@}DH_>ԃߙew|3_6bzAࡃӧH!2;qD3 vP@.("QvsuGɶdo JKSRJ)53*#o߾M1N{{ "8)B@t<9XM !lHX Bk;v|L,i=Y 1n*;y: 4q7ֶͤ>}!("c,CƘBD04]TMD`F sABȜIMsA_cv6epI RJ)RN{V7͸$t{U9j;,dxg.H 0 0 "2HUnC@hckʗ0YK, M_}7-{{ǏT51_X]}d@f@%23CDd 9qIUV1xh[*ʒ0 bQ{vmqO<"*J)RJ}A "sXBkhA$EУ0G1ߔQ@m Ax-!B+  ud،BHpzsȣOzde~G=w _p_cϝ" C&gB 41L_`FĢB$:Ur қu{3>MH"G<˄  #,%RJ)ԷTvЭ  `fE Hƴ߻S5 خOj (((\x`Q# xd @'O6|bxϫ^6VϜ:41RfLJ 1७&,n Y=DK0vױJb#XEX{|q4CpD&đucJ)RYL&cA0 `#( ʤE4$YvQ1$` C`!hP <_g>O5oz}s}*<؉R`?{~X>EDtY#_UF" f͉Md,$s7~<_hȆPCGTRJ)u̸ DF#MWe(ί  H,qkC8Jhkq$lX:Yu);Olo.aM\'x[>:,*PgfMuU7M4@pr86tFI (Ƙ҇<ԁcOĦ&@}`Q{3[CF"{%z8N{6\}Ž~z[p˽75!|so}=ggVdBhGlji23G 0!fYzr16M%`"ɘ..Z9EKj5\{c`LS.`YL33茻RJ)vvNEӖmqڎybD@,QPАmdY= SǧѲ5b]:l&/f4뻴OM,._:$uٹALo,-#OCy=u9Z]  F 1!H]L1&u;iOqAQ$(n^X9w}L5 2 v,Ynow:}/I?ARJ)-Y!ĊE(@uج69J & &E1)MU;|S֟)V֊bLz=4MNhBd47ڙq6QE$DoowӸȿ5?˝vwVun.Gi`#B0dc8ȥ`fyyy<3H@Єf… cϞzox>R L%B k4O_P)RJ} h;YRoB, I 1RDEUg]h].ܚn1Ε@#H\J*Fd <3ab  0 ‰ز*֛^8C7~`o;N|c;h\fm7KD`fg)elomY'ZH{B0cCpvexȁrX@=NM 3?wx7:㮔RJ)8HJ:몙 Ch L5;@~f.na:d-115nuf{{)@`u£Nؐ%IEFk :?7z 'O:اΜ?:I'.0T r0GF(ЦWUNY!"FF  'rI n26Y/RJ)L $;E]`sO ,&]{7םYf]M= ئfa0hr//J=^8uQQj{kK(Q!$ "y'x6yvz{ص^';{~MɺFK^o,MAdafF !JQx@DVV{K$r 0P@&`.mtmKƒwRJ)uY@7s Iif.uf\zB! B`c[8'8xܰ47QA/8aњ o /MHdI1"F(h ׈H2 mm3QMlJ΁;NCE$ƈ " s8|afM9[f4dmC (L@RpY} CܶRJ),xWgvm'1Ylb,1@"2(ZZ3B/1.a}gֶ676ä6@R@ط3IC(#W( A DdgPo0@aeY݄޶#3ȑxw["b$qFssd8ZkME"s@0n;mjO]D &A*RJpo{%@Ia2ѐ!Rn0b$t졹žcϝ:1NƱ=waդY fLVLA(:Yw09,`qnpٚę !lmmood61l8I[" 0G0Da6]O?):1{왃dYfn̝;{vaq&I.$  ]=¡RJ)ԵgEH8Gd'3i6q3k֟8Ϝ_Y c,E_k" dy?ٿ<0?O~.Oڹ+&fR(0x0;0coijNq!L. 4ckF b\ 0a@L!rd&t$| ^8f}wA5J(PٷTUeo#[[,Q ""B nǝ"^5PF)RJ]m4\=?u[nZV xT 7ѶF$kL;\cc+o) 'nI3ZߨW}iD3.QvèjbP"QAc X"X! ibs#"ݵT$6>C(zbB+?] K_xr<A<֦eQ cB ܮ|MWU勾:(RJ) f7goӏ| , pYI{ 1qL.,'O}J]y1ٞ_\&v2ױ6  t G! 3-A)M2 ;rd2doX|G214M` 7&1u=˲AJhJ=32yvRJ)uLGeѹ>c8/8lmnAl>g.S=&FTg*@Y؄ Diܭ9㛧NoYQ0PT10p ``fB!skm]&"jTvcӆ0C$ɗܰ>oԏg$&&U}l7-O o&[,4tf`2. fz`hS)-RSi=~wƟ/.#/Iلځnw,X#'B'1 D$E@DbYDb愛, 7bs{iBqL tYPy{D3hvB XH@AJ)RJ]sm]8?alYI=ƱK6R^pGܬ˺[YJ- ,`lB".Pp$thg/F+Μ4e8/<4a[B0u&"="웝[ `7>3/?",xGf޳%vA˷[JtB aRJ)uX@tR#>I(&i]Fޟ'&&bzήTfb nmfn¹zx?t5Zcv5|={}*ʱsg`*zICRfB# i3"H$:Dbٿ8hyylvЃEO ІԱ'~ם,lf~6]wrkaZǹؓB;"qg]d6nAd7his4E{/?n޸[ ZX#̆3Y\a`$ Mv]5\LR{=%I_O÷NMW##[#YX)m!*l$BED#VJ8yvs_yMk065DUDaj4l ,,A)EHZkE@"4iX$p8x-\e@< NBSΗq 8$h|8Н˩ZN&;w\{mgs<Aرّ 6( o-ynףO :HlW%Jh3K8B-溌/9-Wv=}8M( |eR L (\X`Q#[F@d'DhSEZ ,RHzup8 2!bCj?82 t t_yCKre(6 {:s7 ]cL9Nd`ݐy މhFXbZT*}Ežjb4l@ *blQih{gdGnPIҎBW 0XƤ%h %"Xˉeu!q@ NeQ'es8ps#;(8)#h<*M@97|7vLTΜ{𡣓caM%} ^y!8>g?c<ݑlwq_\M&9ptd SO&EA_+/J# %n3(Z89 |GF|OaRˀ@Z5f6x*P*VIʉk-ƐIj|?8I_+p8gIU=,V*LllVN?tmp񥩩Jjʇ/;;ݰkv7ţU8=IZs=cGOQRFeD( UB ^ :6\{A7DB큈I (B(aT-BMT1BJcjj>ij׬;aP˯%s8ps$bT_zHleIc k| c'?hX_O㚫1w3?J+35=6zeN0;}@>  6w\K&oٚ?P G*S`3I0'9,bbe^d )11y_>?85356 ŨtN:p"*VT9TA)D*WzAIJe`bgOEOl(p8Dǝs#vUdvX!Z ˪PMpmwM\:N[5v.г&өɁWKlU8UlݺAU˵\410_sub+GǸUXLL")7%ud,҈)d]b3ҐMI/tm 6O-0LOv>j-N,0ڳ ,A/0L4MHYqp8q ek5N*@{)է[/=5XWqB]3SPHOU\CD  biPVBZakGw,'f}n#c{ȞQ, t*Z0 (}2!vu7\~߿FF5JbQm"FĊ%AB@|d5":zjg#_zC|71,CRADS60)ImNM7꣈"1lL 5|cqnvvR `bQep8bAp) ??@;䡱re%`4Z"T!R 2Tb `HR", 1xq \uu7^vفa{bVJ!*bT؊Zk-YD$dD`# P)ZA$?=( HNT)ɩŇ.:;xZK#3: r\uDB`&fijQD,#"+c E"eF*X6ј&$g1$"HJhpknk֯ r>yp慑K&) p!bm$ e%AA&B 3?r`JiOA 9<=Cvsq{^>xU+Vse 51HE0Ԟ1)i-"1,ր0R$ Z\sssHr"4>5׉EwN Ԝ7[ p#xz0 ]@9kO.̗g q΍۹]:Kh t DbhSLZ+"DDD( H1ZK.s.D:R}/ݿ6q{pb/0zh,eAD #5Y)SSSDhL=ec*"1@ 1#jP*Rztd/92Ȓ1B a h8Cʂfni}뇯*1.YpP_2ߴ jל6<~62/NdZ22|# (cKn%͓\^Yyw"\v|[46]*E-XV9" ګn+vE^W2:A[NL5_}O3l/ՋGAhUnoW\-Œ7ǁѲ*Ϗs鳲h'e-=Ȳ6vs}cEM[괸;Yx嗲z*]v l *GMKR#Nջy_jp)0}Qm-93 UڟWڳf8[xCC7tyEHDIMQA'̬N)mU$0,T`Vd)mE@|p×|l9Mԓ X -vDF8-uep:S,vfm<7T#`}A"ĺ])stABFLR_.xqbS^xK%kX0@k1 Mz2^b 4/Mgw!fCD$֊p voYa*a!-26Rdq!ɩ_7v/6.y5c |fX@\LKO5I*mTK{T.ȴ;lAbm.d+|ą6[KtpUWmm o-}jN^eTtnwQ~<{rj3_@i(%N K6|EN? /cXMYmNڼ}JyXuh9y(lq6@$"ط寧T,3 Y8Hԕgs6BP)hVXP"%~ZD6+d!@?vm'~Bm,K&eg@3i\1*ڜNNG&M˵Jhd  ٲ@E"dQWghJre -[zԒ$a@$+@HI`cr֚ <󬵙jւTjX;JW^yss 3ql˴&aKh6 fH+Geo+-"@X0BJ|IP(Vh76g[l鎬'Kd VB-z+-;iD $2UiҢ]PzK8o_E LUuA`K, \yq渶ove?UWo6'e,,T^gi[ZtgX$ȢbdQ jHInXtGYƂmA,N_ r慝WN=e %oخ{q} ـӜ9,rڂS |?H]Ksh 􍾗%8ޢxE)Etl9b3]t7xy"] ܁,*&U$E<-dT-h a# €((4m=D[ M"%vvvbϋ5K-YbkmnqN Z_˸mO9m&վraTo&/ =!:۴Uf?3}o<ٝӮekЮ4gM4rS+ XiYBҾ6iX܀ցEӂZҳM- d~j,7iRY*Uqsnm[HOt/?8 @'dO ]R9 e}fF@{qW.6pX g , :-0x,ja5">XZ߸<7 =Mi$pA< ׋zrp 2yZVggg?SQ-Qm`pM$I(bq;: Xq[tl!33SbQHL+X*MOO]p8$*KkZ03V\z(!wqGZ~|p8Lf"ȡ3'*v(uv:3=z',TqV( B>zp8Ǜ#Z>3;X|.~a#,1g.'Zk֯rzYk֮]8|HY,D}C8@a¥GMݳk(A),Lc: ƮyY_~a#H7hV,.(W}(r`q<{f?>4"56:y|np8D7{"Z>;ޱ}ۢu0jȡ/"Mӷ햟>CHǎJ%J{Ƥӄ^# a}vaa+F{Vf\Pra (2zzlѦo3MHSS.+ %gZ5/heP\p|fº@o_/`qf)ӏf?Q;F-60jJAmkԈؘ_n{"jp8qȓܢtl9?sL )}7+91]56`Dp8,]tr-bOk"̇ri$?wow/=OR!hYg5gƘ?r?|ǥ{;rGs *IMfVJ=]J)f‹3 wMr:55ZB."֢45jiƤ8ijY$I%Gt;1Hv? zꥹ;>| |j\]~˕Xc üIձݷ9Z.nCw߲6S~謹^;?tే]'+>e@1FmjZ||-F ĭ—K}>yosx"gt-z^Q=p_=|욷r[/BRKM釞KoЭ̅7vp8"t淬ڱqpPϾcl]itt+@:kI#I#yYTX9Km9hH$&Qлcc~yD ]&)U^|eY)iZ'" ]89~Z֚T*0sj,,V,.&Ґrul"7>{cNw{_<#@?嫻{?K?Ll}pHōw5Cz MafkIX ƤB&5HIR{K7_;5z\;?]W1q|x{%Gzy8O>ww9&Fe`,Z43|l{_;Ϟ}i];\ܲr@krp8E)^cl/|-xF$d;4QjV(l$~7|7nFَugZNGw@$R΁&J$STJ=9RJ3d..f6 DilJh o%zo{{:/yڞ/r5p,ow[" ֫'v>$"Q)px WdfdѰ[af6k@o/d(iZT =7|ܮs69k;O}އ. $BXhM]Gv\tE)(LP43|EUp8R^יL"2+ʂ\ZNO"\Quvv^y}7u)5ɖםwӦ_~f*E_DSF+I uWky;l⮖Db% Ik*@Ռ9ئfF(T^ZQw"$BA0z-kW1 AP^{맶ٵkϗ;?/-HJ=%@\κG7|]ik~G.̱]OǷp8L,sJ\3ۉALCn $H+oק-th_34Xi&rjlZxPaZ b}2D#LJHD֬nj}$ `}"A&uy/~k逸^zINZ4]>ul}zj*ܺ?3|%\Am:_e0s?vȪWY0 csMPZw;̷^6j0l}>viCO=tUChT6/x۪kvlϰw'~ x#׿cCsvAtù-ۇ0{d7i -":z9p=G~IjH!tW\*]yE\߃cDPE{87=bf VDHIOF ~& E e%D20swOO,uwv<1>uȈViU':%I|&3b#нg_3w J[}G7vɉfg$+?p}sB|pu}zؿL&qB`~)tY]$?cG"M]3>g<ɗ_>n@= ՇwMD)z;;ZTIbhxhmI]FT=WG{}{~\?;wؓ?E Pk,p8^7`.JjI RaWy)Hŏ VQ%[Fww]}pa]/|wyWl8-xЙ]ۻǎ \+%I=Ӥ EdvMI7A4i7b6;q&IjS$6x+4e\[ֿӿ m,woք Wi6ޭ8̵,(aff*hj6 QT?x&V8FlMwMb74ݵ>9M'jԥ,3L-6)\?yc#(,7}+~U%5Gi)^@Ԟv>p8^GnjcSeֵEI7ת?{$F ?1:;ޔϽ!<ԓJrc_hp6TУkVv2J󶌎Oc_v@)Z"c?:ydj`P4VE@6Mbc( Ic[L㽿|x Һ]znmŧq<kZ#r@0q`Q9 M#?{ϟx|BiRk-ȴ~ĭX5ְ:YhAi|bֵAZ=Mڔ( Z9Wp8lR6׆no/d$^.l j( tʟG_n"zss};zyb^DQ(V>hdf(/e+NImQJAf_$]ì_p)3?xվ>oR".x@7^dIp87]sǙ*džG>{57"vvvZ% DRtcNN@EKGQWWw/>mPE.Sd~(6+9b]~cZ9uVp8WRꩇ#gAךןR=+# )r|.ß#'mъk FwS" +ssw8qVIZ+C@ 9~`fRtUrfIENDB`Mopidy-2.1.0/docs/clients/mpd-client-mpad.jpg0000644000076500000240000016724213032547651021257 0ustar jodalstaff00000000000000JFIFHHC     C   h  j !1A"Qa 2RSVq#BW3TUrs$45Cbu%6FG&7cde8Etv';!Q1RAa"q2Sb#B$3Cr ?-=ᆖv1wU*< IvV[Js-{,;Zh>/Y5/SmJiD8J*@gN={An Fe&DI>G'Hr@A<[qZC RS@N;( T@@@@@@@@@@@@\!TUc>~X'_Lp:w且su%J!yWۻjgx>J[ڟlxr^pn. `!]PPPPPPPPPPPPP[4}uѽ_%m";k_W %i#i*Zy]?{l'd"PrC$-oCdASǬ<3Ϙ <%nm_6VTɂ年Pێn`@ek- \wקᛀE..xuKϤx6y1ƑHOX!kV;ԣ̚aM5<ǩ{ m쩧'Cqn<=e*j9:Sp/SNN`=x{6Tӓ87+1ωo87a|L}4vǩ{ pe쩧'C=M{ pm쩧'C=McleM9:qnު𰽅[!ҒOEl շ-|>p5m.|ҔDN_geE]ĢVNɗ=Gfe[pgٛa{jǃ!iei)\DyraO JXgpKC:h aJAT \,/alշ={>3z,/a7xswAZFpTbG ݲY+=8{6T.=Mg,eMO'Cqn<&Yʚrt;1߉o؇1߉o87aL}4v!ǩ{ pm쩩v=McleM9:Sp7SNN`=8{2QQCSp7E9:qn=f('C=MgleM9*Sp7SNJjz>&پʚrT;G1߉ort;=8{2QNNbz~&Y)CSp32͏?N`=x{6Tӓ87aM4v=Mc,e87aL}S؇1߉ort;=8{2QNNbz~&~ʚN`=x{6Tӓ87aL}587aL}4v!ǩ{ pe쩧'C=MgleMO'Cqn>9ƌs?ܢǩbww>Α2AOX! N{ҡղǨ=zg0xyf#KPV!ږq֊z eUEj [[%tԘR̕\A$5m%v"*2þ $_%ohRZזQiNjĎFMyQ&`>ء稔"ht5FYJ $vk+6t63?%k~luM۔PȤ k9Aǩfнٚ\byVOfu$W\UZ-va{Kϝ ף*yi3ݧ]ʙ|mҔ`<<ˬГͱuy-7.]uK*V|8=sEBuܭдܔ^tUMRlw+؄2+ӼQ*nb9Ȑy}V !55K]M԰?Y[n2g᝶"mPƌK8yK䬣nW6GkMhhJxeJLt>Vێ%G JڜZ}]Vg%xX񏦖M, L}4) ?*=,.ScbCc`3KXǟ3!fs鏽LY[tm#mYe)$|Uz'QO[8F1I cL!]k6_ZDG70U=CQK%lYa_{\,mgUO/Kk}sw~qfkz'F9z]߱OkswƝW lyܙm2w+ݡ)T%f 4͝К{Bqn|m7G9v1-@ڐwUYc+/# BzEiQii< +) (0RZ)B>4 }K My98'~U)ބу6*m[`f4UŹYJ#-p@"v"t% -V~GNe/3/l![?2\~DŠR9$s#d|?Yt7m{g5}K'R|?UR: ,FwVh.joW\^rr'_9[RJ{^cֆ15Od▢h11Q^2î_Z#8ܾSKr[T┙ H)l[;Zf˲G/.uڊ;T*8-Kq%k m5>%@c8{6W;~4eƃS(x{e}L ʨmW|~U,IiW?+I-PI\X<U.MRq`TO\h{]?܋Ǿtx{Kue%oݬnžV'5ImvwM6C qN:q\I'5dЋ)p,.{j]C>RH"EŻ>X,VѵߚmP B +a(E2^'knQ}&;2)0%1姙BPyVkbtݕ=:kJd7=ZnI8t$gJvj]q\9m̼ܞ[:rIr!$] '$=ib?륅gap񟦖6F?te'`YV޴`yd1џ x@![w/rA9#'0j9ܞ>\=x< MAunsU߸SEc] x))Q$z{{9Ӛ j2=*W5_>|QӚ jjw (iW~O;_aq§ڃڝ¯0u~sU߸SANW:m9pp?_~8TP{SUFίNj{*} ?O_~8TQ' $|kwq§ڄ FiHә 56KjSj2T3EhdʸR^Hm iE}X9=܌F">'RG~*>F|Os'--M~ω~--mSߦ|Osilo*>3{mSߦ|OsmSߦ|OsmSߦ|OsmSߦ|OsmSߦ|OsmSߦ|OsP8;Pɵ- Cߩω~ZdupL/J+ߦ|OsildSUFίNf{*}=*W5_>|QӚ ju7C>_OFcMBCrb8DYP%k↖}z\?n|ŧ* l5^bjnxUaÛ(p R7KJR2R9+Ԝ&JqZ baQ^;9B$-Npq^7~5zgOY$:Ѧ*ZáBRT {N750ud|kEJ ʰyua8#I9@xy 9xq=,ϜQb8,χ#~T-Yhǣ*奃?;^uR?ݳW^LƟ$$:V@RrQQVF x},.War|>sAp4>zXǥ~p|<jes2wlR JA9+KNf8R"6rҒrit(v`c8^+_[;j].ƥNMOoKo؞=. q˃ -XY6HI"'߰FlNyCTz9n?vr3}%#Ӓz]=%#Ӓz]=%#Ӓz]ȧM=~rX~ÏKM=~rX~ÏKM=~rX~ÏK󇧾܏NKoqw 󇧾܏NKoqw#˝'M4ۑib~=."ܺOpiIvCPᲷuZȿMWŧs6psjVU)j}?Ɠ(Z9Rڎ@P.yDH|wv*J:2S EPd $CGNZ QR6NAPܵ@(|:25/.7Zs:vDJGN3v$e Y WP緡+I>Ru=/rgGHԞm27)=Wv{(f5j2my6R q݌w#RN<NY^]3|{)%B|?7aIŅ.uC-J@ʀI98i! *K)mIA+>{IQ|Hgu y(RT+JO5en28IUls q n*igً [:ԡ!*OM4R莞7D=f^w+]c:HH->>Yȫrx~q!Q='Ki#X~qw"q4ۑib~=.q4ۑib~=.%j~Iơz8vĶ@Z hi\_w)GaLtVǬ"5eq\"C%ީG.40'i¹\\_w)GaBۣvňUq.RTW%G~rv2<^u [ Mtvsًۊ[XB [#o⸾RuApXfLBRi\_w)GbNu&$ԷWa04嶞K[B6OD9J;#+ m| ߑcq}ߢON;k^.M\;N pJPppAǦ~rv3RY't/C~ ~|6O~+(__ S|W!Q?QXt/C tSn,Κ~%]昊3fghOb9zX}z\Ih#ȺۻϷp)+\t=6$(@WK,z3١_hYZ>k[= 3Gݦyn,bGi[-ؾ>}g`/|,ϭv帲= 3Gݦyn,bGi[-{>g֏LYlŶ<[mf}h-Ŗ} 3Gݦyn,bGi[-+}eh-ŖdZ+9N[Il5z&ʹ9'+sH׋iD):5S X󚛐+i]s[Lw;%KlDe'^zRS0;!>0s]9uâKv+CqBR8ϧNUk 6G'-H fRTdff$zIд,!'v+'()Y=5*)vR>EB[[F9WR v39y{i^ɴ;PXʼnSM3TPTm*#$nZY*MA1rIAnB O`{01S(ff <[ֵWR?/0ʯr.\PԖ.EH! 6`˘j"Qxk:Ӎq\qR2 2<˼S"n3.?ī_wd4bs@ DDsHK)z]RV BvvC OHsV phV*Zܚ;-'kN$` sIl9pԴ/쮵9ndPO _֏W-i_bGi[-ؾ>}g`.|,ϭv帲= 3Gݦyn,)]hYZ>3qe_bGi[-غ}g`.|,v帲~t}Aς;/] T^jp(yHQJG<4'A- (Eܫzܐ-}ԺNY$`@:[裦[$&!̵6á' iAN⒠pG* ЋEE*y=Ii S!JZJ9G@4/]QuIQV!Gj꡽ $m{>9%àx͒r!mN4⒜$S#?]oh" f\.&N򳌌#A:"ojk;[Rҥ`5s)#blyۑ6ӎܑ9r}le&CH-R'ewϾsˉu(H ,%@$)IH*>zB ѭ5ya =WA2dZO1s4E -'K36 y6 ,8ٴjUx>jpxPFrק*e!E1i|J[ p'wWĐ;N+Շaq V]Z}R)S]*Xvru7A_ʖ?wtM{E5>)Gg'StMucwOQ?1S]*Xvru7A_ʖ?wtM{E5>)Gg'StMucwOQ?1S]*Xvru7A_ʖ?wtM{E5>)Gg'StZBI>)Gf9:{YbEw+1sVo&Ya&jތT]l8?sM3U}M@R5>n)BBjHX>sXbkJGk҂m 냘tf_@Ύ"&W Q2:BJKy4*6=:)ߚif|Fmq'B 6 ]9V;{p 9ÇhGe{Ә8qس#gG8i v&AO 2{\s{; OiB"= !K@lQPiU8g@:=~k,;~^ÎۡF{ ]χn܇7*T%JpT|Nbpc1i#!IZ 1WpYf*vhGe{Ә8q=5oNbp`zYw9Ç[fO}s{t{پw9Ç otc6ɥobRa-4ꃩVzqϙ5Ҭ.S5,G诪HlpW+h%̞o̔ e+}^'Ey37_oP Y>+GfW=E5>)Gg'StMucwOQ?1S]*Xvru7A_ʖ?wtM{E5>)Gg'StMucwOQ?1S]*Y>'tE5i=R>)J܇hݿ cS_.{O\Dm1rjJ= ʀk8a=|A+Pp8) y` v@f7s.j%Isl,a[w,gi$"hXT cS@¦<5Mxk >4|*h޻_ij3cFqj}rpB0AI ݮ-y PK8R@I3j ֕vsven2)^+ۛe{ҿnoӕz҄r[e{ҿnoӕJB}NV[/~+ 9Yn8^+ۛe{ҿnoӕJB}NV[/~+ 9Yn8^+ۛe{ҿnoӕTzZT+ۛe"}WM,vsvdkƩ}$:]}XŭVxKPb T{;VOBHBY&oebhĖfZN HmDWwjk|ʻ2 }.J _U9 ϙ;$ sKIf5lICDKPI4>qLωs,+MfC @X}4{ A'#*mr h?b]sWw&rH%$s0 9ǟUpaR3K-HzE2aO ]($vjS IammY>.hCm-)@HH@6hOxi~ؘУKr((%*W,$aP WWme{Zh2+J0ø3Wh se:YvMTqn $F؇CEPݒ:Gr jPz,l ~^|2\BŔ\`U!Mj߱(Zy9v 71m=)~KJ@PpHT9jѤݳS;-1l-䰤%ARUrSP@ Z ZjsnFr JGq>^@ \ ϳ6އI Wx;B=gїkTr9{?dJ5nSLHnR$:(s#ö_a*tQ>% qw6C]!4vu3A/ȶqG[Ip\=a|"TgK lg ҁw+ߝGZN:Gytu&OBMO_Wrbӱ-8ܔV3rN!=YBȐ;**Q.62JeR} _H@.z|4ǮRCae$x+'{YGok_ [1.qq–Tx*p9ОYiHF2-/kʏ/T·!ޚ;FI'Tc8T;2 hk$ 3~Wוk"F*x;BmGLF1l:B#8*u$ӳ_Ps/j?5G?ܮ^$Hbz6pBlqpFB?"Km RJpiğs#z/ΰ,U=%LHRZT6ܤdq'H>}hrI1;N )8{RdZ k y)*8q'Hc5=l\[zu4|Zۅn#OXps[q'H"jt|-0C;3oKJlXm82{P(I}d´^\eaqx+IOػXHSGO=hrI1;c#MS>2Gcѿf[zíCrM3iSPJ O5)D;I4Os]q'HTtZ%MӋ>2Gc1fNm8,vzf(d1[qEʂ$9iBu0]Y+B6J0LJgr\bL7')RT2x):u?Hȝն[ Q|}ݿ=ynUF|o=* ɍ쥵AI?u[Y-KEUj+&IA@ *'<|՜jѨtOPESmڔ$95ڢ`Pٙv->ڜRI~^tt,΀3%,:u2aR+'#iPvU pj@5>:pw).suiv;.cķʜBmNZTN7Tp9΀Sr;MJj2崉)UqHHfEwo]܉3*Z:6eD̷_16ˬK>DWP}kN -xv4 j^]O:JWy$${w=1ת!)d»m6TKQ I myJS8T6*NFsymݶM%i1֔6#r9('g %M/SNCr\Ѱ\^bI}|fQYKJ`xՐf.lvaj[P4\ZR]Rps *n=%m돇:[/VIXnFqzZ\<9Ki' Q'  b*/,;~SUQA:r^nu"܂ nBҤ[歡 I%Xܰ2:u'xNRr7DfAt kQpRϲW#gOP-Yh+-K*_<q12Vc䷩ [Hۼ>K. DoU'd,=a9 a?)6+VгՁss>1T]>ȷXZaG+,.H$J@ {xJiI:RbӋxIj#k%?:a}~j)#u]l CJq Σ(:*j 28}aݟZw^ E eT3dpg 띿R\%ڭ\Ǹ-ͫp! 8U̴ !\2sb8K„"*"_\ӥ!-T~1A͊P<*rr,=xmvd& &/a2)A%[.GHvv(I4/8w}f)me(͸[a ]BmŐyd%o8۝Y< e"vW.d^aR@vncpn+ @jrC\(RTVL"^U3Po6.F?q=L6Eq6T.n.ێF-#,$sQf,_:q7Q7x9}kwR9bzv%[BU#bjr԰[@|3=|EBz35}ozYEބ} /QA"J[aFJwÌyF167'%hџ xXmKܓ5O]OWUh$2R(?IwZ5\:HZ=B~D.%;\Y}iJVG$z9ZFn7:jZ`te֏[Qf--î;r@OuZ*U^VZJqm''qnRpFP~|<=X]rdѺ;ڎRB ̀G/EfWp2bv\ q[R*VyJ$yVdi.V| k̥oGs"A$; ^q]cW diL{kSm u% !J\zݎ}魡mjX R!#Hm !Jyv ]vF [4q-(s o=űhwZi%r[{@8{H )N먅NfW65:, œZz$乍`=trrŸ]2IJSݡi3M:1j)#:5,%BbuH!Z:oO@fjޏZZ,M FQ#P5ZQε8<(އZ78`jRv2Òd[!XJ5hA]-ZSla;y)IXrN0zN,i&{8gy3B(\teJvYp|+z65ヒZczaO!(_2Oe|xMh]J[&%;bN'iR2ّq_Δ*O;R_=RQVЏGT::P겤-g\z"Oќӓ{F^z+W25-K.4ۊ))PXW4(_%r6 ^?s_ޣy0WOU~W~+'wNWq^`֪9_Q{Ⴘ~n"Zt}G jӕW~+'wNWq^`֪9_Q{Ⴘ~n"Zt}G jӕW~+'wNWq^`֪9_Q{Ⴘ~n"Zt}GTz7?Ur.#{?U~oCZK4û"2[,ۢmҤ)r3J$㳺Ia|wAj"S&&*6niS@YVӂ1,mu=sF@UZ\(3-1Ԥ!/YfӒP`d;Uh揙%6-Vy%- xGDFK!INԨ^IҩxA}KE% Pa֐֕gg* g~GNpK<Ѩ Wqz2Yֹ3i& !C  sy49yDG>EahH=bs_9dwF O[p|FHSdRnLY-̌ԆUR`2 A&.{ViId#-P#5׳iukU92ZSd9`Zշ HqeŞ r]w^B]#, 6U'@w#[#ym, E$dP{ Xa7h=75_Xm"Dwvа@j12j~GM')=D^~intpKX0J!vv Zi *Z LYޒ׽̨lr3 ˰V[iiiLYs|%ˤh. &S4Gphl8mQ9粙-O !jwFt%KP6 Ý3Kqd']m-& EŔ?Sv]BR@("1躉,8]pW [iR$@)[!n>d܍#|.Z\R%,=-ŐvZa˵G?B 5QM&uopMlӒ96jLYAZ`q )[#xMÅ%:7KDZN3qLY}m7QS4[?DLY鍣lz/q6vhҭdRjpU HBs^[xi\i*iz1=^D7Uϳ yr,]HKWdj[%"Ҟ^vqm)J\VJ!cT6EY>@]zl+h gI|̊ûƯv 3-ϔ! (' `s5,%H;FtqQϒ/#tmv3ps^rj[Ҟk};6z"q!$-E]mbR_-E$G d BRBّ<3ENF +Hps>%6ub:]^&j=; UZ"R% )9J1;jCW3aDFkwVirpMA#lm$G"uMq# if&ٕ:vnk'xCe.-89l%Jws G%ܭMqz][@TeCSh}% x'}d^j]]ieQ[ېqO2\i()H j^ Ӝ C\|F1d";C%.:JA81L=; I]oM9|5#2|,4m+)XmݜwrmKыklORyLaAdA'@yih`Cȇ8XmFARn\hF(95in\(Li ӎT)aL/7`^<€60 (h <€602, h OV!<*Ĕs%j( ޞzO){%]r+:|[ufOگP_/G)a1uJq[rެgW5j4hvM6] իW.:k@ி?-k6PT@W~NPO)翝||k gj]l{S E$5%A+a1JNlI;yg+fpsir9:Ri_x˭5X_BJJRSْ|sϲRVԕFܼĭEڮҘL R6r~RO}lWmEDB(itݰ97j"ܕ)('`<u͞ղ ?ӿLrH5DY]4b!npjDFEmuciQ7r;I9G+Cͦi<|¸{ŘS u~M̼Z%eom+u!%Dq TeBD=q^^jL+ܯݔ:Ф2XF䂠\8Mfч:hDX*#D\ ж she&3Nж=x阏vD|.8eHJq-X q"}m葩 \#],KCW.$*$h )Ղv n9QsV ?šZZl["b#୰r=EŝE%GirtS7G\oirr33 Y]5=s71ڎUҬ;ɵ[܋pTYl>bu(yJ BF$\B\grSzcm҉R\=0/OAi[kȺɖekZ-RfFbƐauSt*[/xS.? j;})N{V)f7PϻBv?{ߏS*g1zlTΟ%j9>*?\Ji}L[Tl5<^cuJYgs-|NqgNk!~{E  7<O:ӂJgI*ؓ`faM%q<85z-ѕ2QeDK͋n|fP.ou$%Dwg+J.V[A¼хvZܜ}u  eoIV9dZR,^UB _tF&:H'=5j 40 u- ^2V#)I%x6tDz.n%)eq?6jU; eו!Uڲ2~ZMnc=v+zEK?4s`r] R)"Dÿ?N7ڿ[NΦk-/Z4֣ɿ#]7na.ܒG?_;αh8iHy~,4́M‡vЃ6(ۿ ?/鷹që6R%$D@Q4t5jxqF[]cHlduѶWV!mY\4тBCG( -p,RQLǀ-IsI>+./uFC ;4;JGȐ; U,_[V^Xqo551!ũjRĸo9T@@%jMKJ[:zԖP7-d~@h놿瘅o/[Sm +ٞgyzr6L2{PFE#/vYM1|Yx'\['9ڞ5M}A\웗"zm[Q#ҷJGx=o*q=OzKe-ODf"_e-lH)O㹔(z9#Zk+]&˷U[3 o$%$r^NAV5BWb]&jD~[aqJV2=o0Euݜ.ߛH?k]IîcOxϫ\vnٝV1]z7pI(u/>5㷉ԉ M}(@)BNV3NW/eƥcjŅ B-f46d$IQD$ߘ:[pR{~?UO hOrsb\h\Q B9ܠAԪp]r}Y\+:0k=VBk6H)P 篣tRnq5WzMdϖqn+ش}U(H}LNZq^ǟ»/C#? ~$XOߧ-{]ċ8`+Qb?~;w?,_S'Ӗp=GEdrG~(H}LNZÈ»/CqWx"2~9hw#? ~$XOߧ-{]ċ8cV"2~9hw+غU_6!S'Ӗp⽈8_A:QF n"4D)-(JT4$Q6tw@Djt}l$:䉦:8;V4=szT༉m.p i6QQb8bv.,nRD(Rpwli o)O(6W=A h.[eƜsT CJGXWA):;ʚEJ -X&Se3!ݥxR tP?0nqtJ"ԷC'rvIP9e?Z?*tkᵮS2"xÈXy܅>U7} 6 NLy6T%#$9̚Cv=)&<èѫ]A^M#qɊ}#+sG2yF{xgĻי.Kei#虓֕ɵ_ZZC!nItXZFv(fk0 n%RNĂr1a\ _M0sӄ HTR=~xx@#'PHTR=~xx@`޴}EĹ@bdsc8>qˑ(7ʑ׻s2O>G#e- %F)mЬ@vAv)&lg#xT|uoIN#pF{kGX[V1Zl& KS8>ůz bIS[)m"> 1؍O$n̝;9" f%͉F8r((~ mp!JfWZe#$+<€C}>%V_eiRnR^Jz3ڠǜ`q ^aj붫xN}Dy+ԁEB2ٌ3!W7^ߌn)S!9i}t\Ho3oVio}}B;@49҂̫5]|k"z+SK$+# lH-{EṦ\{>mBZH*xI '9>#ko6[ ;mB/io-h miP ^ZR Ѧ-.{L$I( 8ʉHHHPPPP E@@D'w3c @-⒆<3H= ]Uq"K'Pm6Gv{h:Nj%.) AyX|w( (3@<ARNTFW3@@@@n@bv}OJ_ZX P'52e-:NZm TPv۷G6Ԏu ӷb/p33@D>ێZ5<*l-]%ޙ.}b8U)[ғ9wf HmӅtkoTvdR?QGr3M:٥޷ͼ\kTGg.I{%+q %$saN`BRZUZ_$DuOgH RhVԩ'$Aq΢u%4Tv"%#Zn q;ys2{4HsSX\>/$tdvgc:RbߵEnǵ[f xt)D-*)8Gb@FaolFoT\{H^L0Е*y-iwKܘ.VkBT3!cG,(,q[#v ߢi[Ll,0PQZTA.4't,l**ÆnV}fw$2i5]u-\[}$Lo\y!&6=ChNIWQfW^箩oUw~y7uZP iH!CFbx( wKUBYq}{RI b(hLgpA)Q*&sdWbVHǭTma!^jNr!_-TXCy*S*_;݃y` k.j\\vN0ydtk&;iת1q8h5, Վ@OFDmw%L =cjB@AsߎT\)אeR%ڜRi[HK J{KvZNJB#[lw<}vvPi[H{nO9z;Mu=EbENxCXސA##Jv!WJdX*RIZrJsww BA#;rJ@HoP Whvc*@ o^ R*@'׈%JeOV y;!ۺ_G,xBpvoA; r}o9u%ORB(jqẁ%XaJR6 ޸] H(D} I*H LP,ڑr6dDd;n]^Ͻ?H*iH ێKl<Ǻz^0Q%p8Wf]A]G W;kzzRKtɀr\XۆkK 48evRV&E-޼.PGYP3f2-֏Cߤз^UiZ7l)v+Rk'x>#jHgޟmx>#h+YڈP|3hEƽU\Ar"6H9mrčY3DY#a]\PS6}-czT =ꪴjB*n_JTjeN? ?y}i>}Oڮ3N_ -W`d/{wLS}w UeQx[ѤGHeeT%e*/# ~K}_W`*]=-%~n]qwؕڛệv¡߃bWi|7pT8z[J?zgKc+wjKwNnhLKlr#>N"’FATJI$lvu|?j"v>H8+Jm[RaBmDOիIRpBϚFi|K-鲲h)V2v p;y^ci+''d!ںkp>;(RqJJ2aI>#.vLǥWg>*K=*>%^ݬ%~o[ |d7M&3Oa{FGñ=,ҟ(FRG#?¯ñ]1KIbH'Ḯ`t|XQ8rLRM4j8^>#V^L~Ͻ?HO8Lғ` qU-Ȭ԰;;RAI0)i=$o_¹qg*B!7})n­+ghWZ=<ҿ7?*+R !ꚕ %Tq;S.sAP'8zMA}/e[ȋ* z8%AN8a[ܭV1@eM!{s2b!Q 9PNIZ4;S',VMvC Z6cjo8< ք陡9s%9?Mb+s&KK48'jDsD/4Ds]IqH!A x8j'<8˗I l&+O-T!\+V# 82)>c@gxk7" sQBʐkK̰˘Q{t7᳏\v-n[O*RTF{O)NO1z6hkH1zHPzvԂVG*j3/+ms Y$ 4QuE7hkK|)j g#9Ê9d@`&h;maə') z4岰1%thn>.ȶ6-)I\Ve Z@":XJKY[8<rĨERq!I*FYƫoIA vY7d[$BBA H(`+$:488+ A>zWv Z*=ʛQI#nO^争eFdJj#N ZZq桢v/pQcg]YjX ,Yz=ȸLf[IQDZfSɴ?iKq*)R[VN"WHݚ$kS'[u VsSčp2 2f d%G r ˙y tJ2 g*)F坩yCMJbzo4q!iP ZQ|P=oBC[>jmjQ"_xm]>=ҥpPY3X%:KmhSmvH|Cn, %t:Z ϐI ''њ\%˵rm-a 2]i(RJI<3(DC'ozcr8*%;@>N5$4IO@n;:="A [tAmKԀGX|ݚ'm?{h[> kDPd #Tj-ɠ0o:!9&0cuIiM^q^w8u5dX/Wdwd͸|YJPihm=Qq|\:Khe$YmpaT =JthմtR?&E{{mu)q1Jn;LqT4֯sЙcmsG`+*0jRaZ1[us} )u8MyѓSQᾝCxiw I syM}. /.5qZnRPl;uQԫKN,6tt:_r~b]5?֧o\i2Jmmؐcl(Hd:~ 5xҫ\K?.6RBҽ ۉkd%SJ .!avաIG-$`@f]\]R8' JF ;Fs'G{ NKoJzH#>Hr<  p:S*CG>_5Ӻ6)mJR7̅Y;r@.j%;KwPP/߂_@"ޭͶJ)qG;/D׃}2m% Bs>}n ;a%-3M( t_IN%m߮Zeo3Iޒ^!WZ׃墨%[RZHX>4ˉQF{3ʓ6gFr q.(rO"Gn}j„sh Wa@EӼh_-~(J:;jeWtq?u=M*'z@Y?'M IZ(ն4ϲ:=$N@H_$9#'cRYJbweDRətXZLu8-ޝ#+$կbcztջkiłCa`ħy %JAiFZfӶim:DŽ !M-DVwmڴ(g)fסZQZQ9lY4) u#TT23UrPͰ3dFyBl($q(+;UbȹyHxjp@|qGH^$YǮ 7&C* hqeO$6ZSO$m ȧ%O|3@$RASep֌,h~m -x mKMD2˭ԚTuiE;9֋Bl*+k |bgx m KAY!?SZ./L @!qj{WVu~ľއ6G $w_!Jr_,*NDOzr2@{mk%N|jMe6V 9+R0J Sq'q!ڌPCqRW,o@+7 {$sZ@ pp8*N`gQUjk/gW^޴H?{*vvNw)#VZ>B2v62?MZ'/>:_~~"oL^Vmn &Gx+[sR}Hw3l~ Ɉqje%:(]nTa$:D^kUFvy\)G K E[r(FqVVl61ι|8)+uT$ 83G~ojk.ޭBf2>ԅmqh _V `Y# Ǟ68Kz>-zd zKsJ!%)h6Rž& Z6=!-1C1 '(Cn$(` ;N1KeZZi yjXC%de NP4}kM Ӷ WnkWC BT\Ԅ! R(1怵'ul' EC(1mےe$5 Kid_%^(މ@?ЫYVRɼe~^)IR ɪI'AZkPeK 1N ” 0 z.uvѢT:}}ښv ϶Ž\wy0dUeе4V5p.Q_^%1-hvgz{.T/!h|8t9`% cjy%99ܳwhTm}f$ۢ!(B,gGMId\ P(._W.?%ɂ= :Ìb6>ٖ@C\%GsXI^eҹa^/1eNIQj9Wli. Rs+^PwV/&] _QR@P & U/J>P?U/ hPNG*%lH;?.$L%1l)k*-ڮS>[%,75- 6w`Js\aʢWfYl]l 6s7%yܬvkω+ -59J \rdvBTJJ Q<~j(sjR登%>|<Ze'w{XtbtpKkcvW&2VTTz}Q)[R?}YxƱ[-E) )NO"+m@0hO$f eC-SJ@N֒+'$@%G3ZzPKkX.:!ZH  ܞt"qe7bShm(@m*[Brv'9xDgL(@m~9Rˉ :}#x梓 :/ FJ@)=Y#pӡ,V):Bw-d)M@I <ʀz7{5ň)KZ-!`-n 4srVVzvVhp2zBO>XR&tW^^g,"CPI; syJ0Fu++ԗcOv2cE mOVj.蹯;@HPrSZRW~'?}auDރ9ɈKPS.ĊGe;i!NI'E yد7Zֳg;%{cu¾հXQbW-G1+^ǁCXE_z܎eW#~¯T=n9vH}_{CY}_{?X= >=ţ*>=ţ*>=?zs/bgf~[eZsVo{l` P]dJ7f?hs98wǗhz,rpylK\uWۊnuBF ~C9\،:O*Fɺ^ڂO 7,sGoL@ڔF$wv]tu#kiq;!˝Tk_n1VIaI)N6?j5Q[j[OQ¹X.Tgu$Rd9Ԁ b%J{ $VR>bַxo7vt¤(Og@@vP>69㨼|5v3-&CS8݊NWЕbm>,̏'!EW7 EDP!6g$Q`ogo-hJD9h~#vTP|:aeJV@YGOol-%]c%ߞW-qYLsr'ʂjx!R^QʜQ'kUɏmq1%\8`vL3 ,֗_*QX!_-k})>d!GwߎgdMV:$},.i-9PEd(}zq;F3Mr/c3vBJ\eKjB N+YSmIjJ*Dw4{ u IJrI\uWs谉*i I]r^KPO U#L 5K.H)qAgZӍoÑIN҉RH%KyaMn2۶p|zVz*2 ݐ]jˡ~IJ)I!@l^[K},:7k&tsV[+i<wr$iXBIZ'-sy Gg66K1s \t45P,#J m4$Ar5tT|ԀECj(]*%KSJJG?IYki4EG)ЇWfV!R2;|uO O/C'էOv )%l6Bn7c<:Xq/ RVz5O%䗜x)7(?YG JN:ėЛF:PO$111)c+JO xӧKJ[ZdөJ9 oxZ_d‡}&Ӫ.VDHpC2\O읯Ǽ7Wmia+G8hqj}O`)q|gçBpEvu.H:+frwAn8g8TrsLߙ~w"^YezOçgrezO}1L^,)3ù{NjoҦTnJgVNh^B6OYR^{0v /.fzfj]gzGH;8ޡrEߩۃ:_6z@KZQ22㲤09;v:GORijkR"1E iշ@0(oNRE3l9!pte|cfʊVV@ @@@A$x׭xQ6;ZOK H,;*8mJʓ?^PX4r<ٗ)tT<ˎ6QAZ -c8}B6RCC4T^oI7|?DaWTۖ@S@Iʛ* A䤜8[XtxpV*&;nJ_SMZ~Z;R:w @'ZN\@nUfuC3Im2$%!(W\$a#n1@'P/NF֚2[KWw^Xi-A[dud ܔ9NyPct̸JӳoIB#Td#scӈYX%|!/VFpAϰ@;Z]Zv;2ﰠdKioc JHQNqa飪Ϝx ffF|eIRU旱>NQMH[ƶtdnη%K)ۏ)B$$ǚʀүۡl/ν ʊs.C Q[TvW(b:__" Pe!?Դ)^zs8bŝ6pBKlkepBe%A)(R O zᆴ$]v!!RGв#i%$灎t((( KGJ>$'T\-i%كn.Ʊ.CNK74vJcj34-xM&\+[ϸR[H Hkq쑴,]W)]T oۓah( oA`cymPRHP4CXH;hsHMPP}f;9= ;jMǞ며(Ϸ5>t@S$f9:/5n%]^ u\eL8>JZB@ Z^fn*:Kb2umP) #A*H(Zmf\N+#c3q 3Nq@)nCs[)snw*ۀ7-)Ϝ q߃1.4(ܧԕnrOx3Yï7w*mӇ| )qqB;IrhA旐x$(-!I9I@@F"6ƽ#w${QҸ'W ԍ8$T(J$KCTl)h^VqaXRO%$wRj7eNB>̈́;*7v͋*?-bIlz( IzLHi:V۩ JXAEU聺:>%F)oJ\@[9 aCnij#"6[w+m 92RJ@(M9Z:-3tB8:]&kvLH K!$5o1eO#7Z1C̻yq!IP/' *t+|{ o4%>KH !T$z U6YpCE:dfŖ K)ӼHA{jU9jҗYRmP\}H%JϝXm-zƋ"i<%mԑR0AT´& H_^ 1<ӷY#ch8(ģZ+ *>/HAԮ~ڸ(`RA=捰 H^EhnМg@ Ui  ;f3[Bwn<Z6vqPyq1 R|JN|jyVV|sW3Ϸ=,Rsiaþ3G*¾_)\'@y,${uiksZQ؜mNH@- ʀ~W*~W*~W*-i߈opVT2 @?GwEi\vo $g>d@d,;֬r1`qrP }j_8֯U@j_8֯U@j_8֯U@j_8d7i+2$j9* 'y  LgX4 aD}@RNL Kڽ%}D|mK xRv`cI/OPSn \V v{BRJR0)ZW?mu|ZW?mu|ZW?mu|2l&>~áBY=g( }:N$b#Czq\9P)0y)KG2֯U@j_8֯U@$ꋍn`ThCk)i ' ;*U~uFTjim%2%xI$tC$V@NEPWD6{9%=Y_?}棠nOJjВY)ei`,)rGq[J#&Sl8[-R^|_=JAsng:oN=[QI@$s;Qo*c}8g]#vx}m$N%{7s ճyhsτ"9,$LiB㌜IJ@ebٯsxAPRuR]-ەhDIn:--ng'RA-#f0Od`UOAWBG(`)R:̫?.*].xᤘp*6I1 TT-8y~-'~hlsƎ#·fŵͳ/%(] ++w%)2*^R~fz[([DpbShZ Tr<0zA':΀H[ ${bw/PiE?<K)_OC}H[9( G:St MJU Ce-X.1ݓd+17u+f.m) PNy~|W3:jw:ׅW~ҿL>B1+VaRrڂ8wSg=:=͠Uvព]gcɐ$$R!w,vT(< R{24{vv$sKDud3kX_ZSKJ*zǑ?Ic$VӖ^'љ ƶ ޥQL$yKWJT}E"ČC*1-PJHSҼzԗGRPP `5GM%rѯ&6rhR V $d@yXLˈ_w;(iy,Aŝk4nmJ) mK ##`C=bvja$\J-eHOa<$&#6sNb2uI}k[ ^T{{xڸ\;f۝mQ`)Xi89֐SA-:YqFKpB Im(K ${OuieԭJ&ni}jC`%Cm68=QO17^D F|L7qe$^d-N p>LS{Lg'׉_Zĩ,FPljy M8J 'm@bi&J4`)Qg*, ^m6RtڡsI?\#Gu*8Y3XtMֵ䖑r*eV;F2k>#Ⱥze} |nciS!ڶ6ښSy%zJy%)-CzUؕP6M KʜK?)@=5GTtqTHPtbKiIGERw!Y+w0H u<ҩ%kY^ݤvR7e@ʳXOg\'#]hTPJ$@9:,*ʲMkp0wYXh܊\¼Z#m(/QJYBФRs";ԥOڣ[ӱbՎj<7}Bxf$NMn9DBܒ6*1u / T2R[KvtdB*2GfO.UZvF;]SuϖPT{BR kSGet.HeY_̨ddUo/Bɲ̎$O]:qnr\[)Z\B`IJ}<f}n4xVfMgcIoi$nrQ,2 m>Z[67w-q +JA9Ƕ[xdn' rB@8[mq''\WSlׂa |3R+T ҋ:@4\+rtIz8W"tyg)خEi&]ոn$Vx,&Ce$8e] |WQ"989.WĈ \m[|q䌨i&/|FZb+wЖה0!(DVbI?.SpX?߉h/$hl*ZcL,%IJ@ϣ:-yk^K%+ҮT,95VFrO"(Eb=:vXEjMEI@1./R} ! N kб\ʵ!y RrJ,Z; 0OxVZ6V$ðd_8[pw dTʆh.HVM!f9xrYZ9sx=x}n5yǮ"kKi~=n7GNV?C#M3>65us!&K<iQ.5,'E-ݧ8 ]$0->JJSzYqT-=Jr{?WZO@=xzt 6rg7k:FۦrgAKiH?_!iIY %k}Ln -rH=ηŽHT^UvR@ B P]D1rYIA9VD˚qEJ9hiZH#$vE1,Uެ,-enejܦ[IQ #&àf>ϼw-TT9':+5n%]^ u\?(. Wm)[h(wdY#t; ֓b@9 Л\gu8%C--Cs2SCYRZا| mrP0}pP A^^,cŒYZ=?B?@@piYUGdծ|RiM4H;O/Yvkd=8lm]xbվB^>K ?AɋJT⺣ )$#^:,m1&Tk-"bpԦCtpʼ ׆vnՈŹnÛC .9lc*4R-m%,y@0Mz,>y-F:L\5\i en v]RTdrxQQսMgS] E8WY ^ Tξve#@;';6唵:XM K(a38OYn(k*$<.U,jbf ֡THB+yzw5L/WBu{309QS!A^IBH!UQtO:t''kZWqRv=-‰|)aCáK 5lݵe'x= oI6$A5mЬQI,-QF `滝/^dS驸160TEZolJw')=)kr堣:c76 wSN9>6$$6yd׆n%zrHaҕۻl*H  4!W і:a@mJ?<تTj4C<V\+wwxx>њ>{:躴)H֯F;ð^F.:ݛ^FMKݔv JR ͵[b`-%9] >j]Q V@@zI;m.#Nu†T`v7o-/SEe!ZRw gh莨D&vք^i`$'q%k>L$ i-HFcVYUv"{Ng88Pȫ*G` bU BRr=#5 ܓ eH h @tglNkį|ODMOgEzfᨘe%OD%|@&Jic]q!K;F{|$ciM{pH$= S \9z8a>`;nϡrI[!SwM8wej<ͮSޥc>_I0mz(o |5[UX5 dB9 :G ֺjBR6KdZ*=LUe􃿐3 zRoUl׋$ڤjIIO< VJ7q"bEVR!Vz j)^Rmc ǐ2Ԅ4$SO":۷,YCCl'-8oҒ:z j(PRr@G"=5)\Z6I%BĻBMJ!9gxH$ht<`{g% R5c&ֵyj+w.yVC1z!]tO^2%8J$'#>au@a"+q jS+mE! j* Jg(4tn}yg'W,so!2F\8?;2t4۠Gri@O`}A'+ܜWYS@8*;( dt~jwu3u;mvԤ +5EkӃqJL LBJV:ĤYrTѢc[,LE H{'+51mKicP8Lӗ.}#VƶZ1iq@` W]Q).YlR%U Q<40PQI6.u2 ?џ-8!iyĠ)#>Uւw1-pK`͒{<@y{_LP$nJQȃh @T{b\ɔ1,HeK$s1ʼ:8ĺjGq~3gMh%NFi^Oc>nU\ͻ"(Ȇ3YnY,L\c֥*@W˅ʛ+t%)Rh $3zRj+KCnL(n=w3$# r4>cZI] vL蚔C9lKO┽שCʓW%n-)HR{~%$Ŭ_u,/ VSyXy-Md/YvSM,,'rb_! wrMKp'YڋR ơŖFW{^=k3Xi-)Rϡ *R خ~ѕL³dgVv T|׺rZĒ| wPzRio(A *5"6?zvbLzsȱb;' /+NQ<1\5Z?6½;lozUtO6 kVW-'ZeīʫZVH]QrU!y)\+ nHI( =C n*I vբLF @( J|OD>_-DXD4!r䌌竃$R\Jp pAƇ>%n&%*o.!e93WT_?eӎ2:Pq )Y< |!fLu A G#/x@#be:]!&N )V2{y"ˊ̸Ršu%MRJys2(׮2tu_x7 5fjp*)m#)ަgG̙v$0)}JTY)AP) 9TeDeO#-!Hq$b*(I&l%8uRHm)$j |SbRq2u7NʐI VJT5KroY>GQ~Bu 6jRi$TԠpmN7MjmKj$I$'A6o\|1~LY_ܵnVUBrwcP=MNjEvEnrݙ#Aqŕg!yU2#uZqVCESG®T8KS~ dydO(ɖu,r)HJFsSd}D~F>;׋ eojTY $y]5-'RdG5{\u7#31.~gGcoP:mxM7/jw$dH~G,5&2u 캐n+I`ѷz7JAкJͧ-amj`m!){RU4 (2 Pyh' x^Ӷh"'s\!8*o~0A;lya3zR%DLXsJR d qlyв1KZ +#88n(6Sźmz.LUnFN2?(yŞ y<)Trn: !.RJPH*I)iG/ObQɷ/ Orxȃ-nĶ-C,8ڋ8P9ڳaPwHyF52g$H#IfcyP+K)*(q+dBi(78$>N9?msUZ >ʚ[e29!W:*H5UosK)$zA"8jQhGͳ7r2<_6+bjJTG1"N3[ 44lg)Imvӆ0#9%jʳ歒yK|p&߮Lt]E;:9)@tglI7DZAЮ-bI[ ]ڹ$]siB  PՍ,?6Vv+ig*Z9AXp G] 5]RCl0Kԉ ,u)/8h` /C}DnK' _TɊۭ&+.uRf?KtP-{m';0ېJR%Ҡ])?:gXQ" #6X6JT,)[@ Y(ߢ^߷kW YbzZp֑v5C_ j-X;֙md) L4$R:O?g>kԜ!&l=nmۣZ]H!nOwYq`z>$坝YL +Vr;0PϢ<[֮iy ^ Ӭ9͖=$eՐ@$gv/S[C\e[iA0;ꋩ9HH4+VV;mFv"[;)'Aq{n1=„b_T{jP| n'xDL_~Lz+Sj)^q.:BY)21:ÖU[i[m=Aw@@ea%.P@j|.O[gq1q|`9%,–IڗR;hC{Ҹr4IQ$ƘԄRwYMW}}|Bi#ܭkclYqoތ Bw(@7]zDžۤ"ɆV R9:Ǔ ,սNz.S}$Ii[Dij|aHFFgbsm I8}+Leϸ%iHIi9qGY'7juySR=XW&bKm#*3HߥJX5X\GCŇnΈQBp`+.JVm]fF4J£Y %}#Z8!Njn لh+(J6.NSu!!uDZ<U@x'J:15n%]Z u\⦜ 1vKISUkX dvnQHj{G0(tw6ąu`0PV-h桕NFgxNeD/pj.3ӌa<N00]d Ӧ諥)Axq;NIV4m]\KM҈˒l$eAw r;sTc^bYWM̜WnF' 3\@@@@Ct"\n½!/A/uml ^n<ؑ@<8Y~D7WTbx)Ip8>@@@@ _)_T[֜*8<] B<2 rѻ,纀ˠ Z.U: +ӷekC\asp1r8v___gmbIax 'oZ 'VO*$mzܕI;W,5 MFZSgd"k[(1Ip87cmn[At5dfŎ*BQI9Y'ƍF.'˃m%{jGRmKݴmϸW`֤+^߭H}3SN&:Tue Dsk#*Zۖn&k=s.c5(jAyJ$%c) MtͤLݛuCr2RݞJ( (dUfTHtKhXv`ƚ셩‚t+'bx 52#EۢRRއ_wv;2L@k O*t.OFҜc`z@Yjr߶n%6H խĭ#!X9 wyq@7}yP]Ddn9o:b3{`qJ[*NqPz_ۉ_W:W6XcWT_BI]\=]ɅYmSp2+Xf3#dvW;ѝi\ZѺ2vȅh}ː/n<$$QmS5_m l~|PpKT; 7#k+-*2JFyUEޤfbpdǘqAp#R:+R( >DN2$FRT;J)!Hg'j룣L笳EԒ[l\JAX߷`'=5cV ̀ImF8* :)8W[]T`RVw%#a=%yՒl鄬I qm"$w)Oy9|.}:b-Tؐ#,󭨭neY744y3QPoiTۊ9q=wZڼ}MjPԉBHyC$wF= ³,@@@@@@@@@@<1pމ-8Rh ``P3ru_-d udB9vԂ=vR΀ L:WvW'բ͟V'θc`筚{VDC̗q魢je8蘾θw Z#2Riz9s!i?T3`2qJM1/ZXT௻ヌiԕⶣ@~&ˋ)RTM|yI= 2D0p؀i$)RMRrJ^en3r^r 2gEjP.T>mG]K) n'81S9+O-3FK R6R8@<2g{j't+#ȃi9N>𤤶!- s$W6%IC0+[qiFj. =!6ITsJg}B/sRi1/\3r%URwܖ<0EIzO*FܴWRIS QЛ ܼ d׭J7nե LiiIFT%HO!mh#e9ԲSxz< BԹSd|VgK쓝`j@@@@@@@@@@O^mq>R-`845t*Zb $eZKgs{sWyeD?>zG3yY8>>3W/g/hwϠq,%zC+p4}|;g=ƏO~!f?儯S߈s>p4}|;g=6ƏO~!b_9B{? cGާÿ}/g/hwϠ{E%zC(z Y4}|;g=2ƏO~!E=De|]ᆘqT v/w}Jp} O߫rs>ҞJ=ą׀0Wu3z=G}~D41 omȫ+LbRFchẈW,1mEC!@ ڤ\CʹgjSja([F44mc.x4iX550PW; ḶrvoY:2~^*%0hC@$'1\P0J2Y E^QxEu_UvNN=Ÿ'nu>984.uYj=r2sTz)2䅩%9)$HPN+[9qǮjwRTHNG9o * FST28`ˌޥQLꔨ+$(g嫪i;܉7/!`J2jN `u e;*es]HU ,IgVHB)I+uGu>h/)|%~/ ڞx~P>!?!`M}R\c!!%Cl[e*^CmŲwawHNl6Os܁ij̴&WS@ҰeBF뮦L%gz`g%(X}s_f{q힙GCHbϽgjB}9>lT^uLgރA,>!XEhv۝r/h4QǸ4C۝r/h4NN=Í-,oXKC8ڻ߫R*ꋾ}IB<#m>!grs>ԟ,A߿NCgJBjqVd!#*RuϠιHNN=nu>9846HEgU@9U98<.vi`Ռv(Լ]dBDZ\>#Trq'-۝r/h4NN=Í-æ2z/RTJG,s_f98Ɩι}Gާ'Ɩ1K-GR_N~u OE"vhPO߫3}IB?}O?Y~Ϡ{i' ?wӐC5W?>ks\LGLt+ AO` m,Cύ:)t\E;LĐRl,%De'H\yfi+JȌR!5<DZtDdDl3"}- ͱj|tĖc1אd%@Yq%%"NRI&*x#ion7cӻ5*U,=N^Zdfn!ԅ)1uE.{\uOkUkUkUu/ZMKLA\x!. cj:èE28fɈZ6gVN8iI&;z]S_\c:ީY CHJqDg#*9zkM; q!!{Dq3Ru;V;]8{ՆfcU(JozO~f^)ONS🮜1=x?]8c1Epz6բSXJXe-8Yړp+,cӢzTFqی|)9+] AJ\oi ˴Oʲ BzNVcr-֑M07SkNvV[Yy"D6\#LnE'aHYFA=,r&R#ue{eG]9|—'f^)ONS🮜1Dպ@s_OUhiNZ:MӬ,,#Hp^ClPYR00;Us;(JKjRնAc̀yA'}u!ƤoiFlbq l)؊%s1u Ռ!.CKr jJ% Y<%Dr#\(HeueLYweD]`G"OAVFBsUјV boW-mn8RR, @ ڬ#+wюuJR[p5en8%Rh$gi=7qK̷.2زt?$^0J:).ך7/:9n2xz9-z2-z2-z2-z2-EkwV0Q4ȅך埞(#^hy(Eg\QRR{Ji\^.L^.Lq4& QBNINnIp1G@\E6~%="9TloAryS>@c\#'yR?Lq rR:AqD9B +VTb--n<5e7ws+ךrp~~ze^jQs{M o Jz;.Z2ROyިISWLq !",^78XV3 u2?!=Mj* -y9K!oISWLqIR?S21v[`"*S$*TlRR^9J=yߟEך\p1eԔPrSR?TdfCġ+8aM$vy\q"ԀyܔGx cLq vSɜB 7v vyR/~ddIR?S212\fn:ݼ}'jb?j'M_S212-[5 zmi:CךLL^.y{\-mrCJ*+dMopidy-2.1.0/docs/clients/mpd-client-mpdroid.jpg0000644000076500000240000010410013032547651021754 0ustar jodalstaff00000000000000JFIF`ExifII*1&i.Picasa0220                [  !1"AQR#2a 3BcqTU$&SbfrC%5DdtB!1AQa"q2RS#Bb3r$4 ?U@(P @(P @(P @(2W >V\UnxD1F5"J(y{<*'Ѹ"Inܓ^THg( 9jƬۛ$8nR4u],I$9>gYbln"hgR]KFVP >\ޫI%#, s FVp3QT%Qf8poy)zgV"z/ǦH#"6du>*JQR?2Ҕ^SYO˙2f;k4q"[Gw3M4Im [jΉ'1,@YR%o<|5P.'-1rꗳ5/5 wՑHTY"9x䍕Ք f9Ss_fѭ 5MtiEY/ @(P @(P @(P @(  &$Eou:[dpF[  l*h.m3ZqKdg74U\H>{u$ӦI23m)!KA sDΡILi0A NF-F8kz04 @`EP\% y2b:$*D\" -aml*3~Pz?@=~3?{g*CTއ?c~Pz?@=~3?{g*CTއ?c~Pz?@=~3?{g*CTއ?c~Pz?@{II %C)OqW7(3?g 8SUL {gzCz\O3?PPNRK vN-Z[k5k;>E20;F#iҝGEV%Q^dXK7́S)6kGZi4ŀׇeqr7R?ǏxL{;E4Cʖ9h!#&dt)b82,zP @(P @(P @(P @(Uf' 1>'oA%#r_2wdq1bEYe4F mE;T`\ZJ5sL(Y1l +]cNeVy -XI$JżP!G$s!ܪƵ5Vr}6NtխJ]K=RuV+{ 2al40{GwK$Si5l I@֫ekSx/W6rχ|5䵞;)Ut %XIgVkPndV)!a Vr-/5vEq$j3]/nL(BD6r :;xQΑ>$ur`YE)m Nf{=H2 P @(P @(P @(N^OcZ x&S#UHTRKT5"6W ~:Lٯ܉%].h$[kWPK[)mcz.zfx9GhpY|"N. FK abFλ0H:>"Ӕj{_Teâӯ/`qZnM|3+H7c^}VϧZ5vi$z^e\Y>(l%v6H.v;[OkB}z8Liu=$>\@isyw6RIv} eq gW Y1K䧻Iu!,!;&emP.{aYܱ.<6kdH#DzK N] nSOԭ9Cw ܺucueKU460%J˨./+N^&J$=dM]L]?ZBX: -# $\À/c܇¯iˠ={۫i-6կDrGyIcI'~zRMmu܋'I~\70~w$b027 v>xq#fWY.'"wBA9DemA;b^ZcT ' ,j^iOĉ'-,HTX+02P @(P @(*,c*Ybݍܩdv3wc'2q-֧J$|_Y)Ryس3;13fcf%OҀP @(Pt"'*2<M`9(N:پA606FR7FY=AGA5j%ڀP @(P @(P @((dC€Ad}F}eҵS*3-0[8;+nc_O YᵡO9'yJKKo*A|M ɵ`ϾR)J"dşA{慍WJjr^$q~dYngYBaI$]Dv`mfd`] Mwl^ 4<;,7o׺C 'H9`p=AeTK/e{RwJP$NzS"Ovt TiO/|q4߀>~M[tdq.L>_ӿkrTyV0s/INϫF*lDqXK70 %bn\s[^mSkvj7'#|Wv\*)\jQg]g{-k$2IIdnxzm}t+&E)RxnﴖU.)֌ZΧMg ۂϞ"%6 oښ&pp Aq|jk:Ԧ(J:<>k1AKq, +ӞiQP>*ޤ^֜aM_PZq}7~šZq}7~š8׌?K<_`qxͨEV+fZo?GmB|l2ֲcgR| ZԡKܲdGT9N$Ps o=?%g3CW.?mƧy דўA㧏Z?BK/P}\ůKV?{ Y`%< ^EAxV-Ky2S-)jBP @(fCl+&/ӢM8bk)V)g#'tcbs-\$fQEia {g/V";X9g`n%J+)_ݵJT[_We£b"h8Oש%V^y]M덵Ul_[O(p vnD`. $]T]UqMrk/Gǽ»)e. iɺtRxfwl vg{$6ʍ2*>bVT_뱩txs>9Vkj:pbl*|K9f}G=ͪ׶mTHbq2eI\nf *׫ڧV5"u+m0lvxVQijf+}?3hc w!uJ+R9rr9{7|2ݺOJPҥ]0QhKMjh5ky E'v,TEq[Ma4kj\ŝ7^xkjVӢ{yWz(xM͇*%hlڭpؠIZB:c QǿJzk⌔UD4;y.Y|LH&@>9mx]OLY&.U(_A|u4ݡrN 8Xǎ魽]h-w!iT>v x.Ii0#JZqs%5j[ٴU5yxmC.x|AVW26l~6< >h8FOzRoϔo-ГmEm.i6H8?dOq n UG`AՋN7Eg]ֳӌzy6(+m9aqmpYUrw`gcm+kqN= 7 z@zz xtE'C,2AF }.)V/*G=Fe#e,eBlP\I>oŔtQU g@(P 6N4#ki{#qo4{ݙ#1'IG (:ms{^s1ir¨3Ӯq kyb+~Iu>c8N7r̗QGmcgT>c I q ?-l}$|rZ䱄6{-V/UTZr Mp 걆*]=OS֤.TėR7Uh4Rӫ 5-WfKshù7 w\ydh,z(Nu-c-nsnv7kFR㧖Ǘf'wLN-Sj,{RLqfvlu qXNԓ_JIm-H4<6ۄĴ;>om#FO=WڣYkoI<vfp_&%q)W5UE5K?q.ᝤ4-䰚׾Kr7S3JԢ8Q2:˜ `;$Iтa\O\Z'ZKTskqzFNrNq.L3:};TF,05ǨP>1T+syط}smaVߒu5O)&Ro}ܟ$ 3ƥub8gm[1YZ??gD;UE(>gfRM:Y6Љ4+\"c~M*2#.^c/Bέ|~4ey7Ir۝O\gJxսUtq!g[Ve)ȥ[IbRi%~xtU,Ɠ3۸#QJ-ph.Id*Vvkz:z*_ɕIGjBP @(|"I <,wI{ۂDpDnI$۴WiR~ӳ q,FR:Ҍwj v#zfjFRxȿ-aRk2~-o5k7C.-n }4PΝB K["ayum¨*\c<#%m<2@?PVg tR忤էSױ5jYݵ$}j[rE}HF$'bJ,ψ΍̵<>]w`w\RqR2yi}7ú[1HdG\nGF 2ʐPGOOZԸg7:=W!5R/~k4 JR&Dkq"G.+ت0g ^];;w'AiҞ^[[=;TwF9i8%k=<GlYrŲP%Q$?\@~7R*?kjr.?ht,kSEIa!Mu7"E@? Sn7HޜWSptOsNjS_{>SD,Q  e)#slAE)V7QkGbnUjXJFgyi9%I2HU vOOSNw-qNv^ Tިx?;&鮴˹m浹 2v<y0ȍ! Kd)KmhS)Imk^^^f6{ ¦{L_d+ޟ6bpQEc%ц -p_ߴQ9E乬K+ڒؒ{,šr"+NQ)!F_!)q~h5\3y׽XYGXSs4ib2wUxyLh(yh75T35q<cƓO>-r.x5dNm+K kP @(T?"&Жt{%!#&U=W ;\tovE{Eƭdî''=tAFNN2}>玆mxOr,[h*#HQ")n޵:B+8O8'QRn> )%mpT]5#|Vnm;<+##[0 N\m˖$Y[(r5"w,4Xv>K|<|1̕Zp ecidیoGOuHo aIj_K ';kr0ʙQFs慊,tP|Ydgp$S 7A;cosxr݌vߒuM*W iv8I}ʵ'ż4S{+mF8 YchG,|b1@' 2;=N4ۡR,yrp.ʵeN /NWO]m 粉,;4G'5 9e4G^eSIMGy硫Q䏖=qTwx Cex"ީ, RW`TNXϷV ԩ)wkΙ(?},{kE I#0p4 ] upլ;0esQ$r"K%q"i6fR9i W*znf#;sUx3ڹfM9c ./#!lʫdO9| Ӝew:yQsCWxDl܍|oGkTKmϪ+BhV n;@0:8m-t3Mx6KFb"Uw]|X̬¸iT7'tiɴ1;o/KM֒\xocviv*݌gj=G%nϮ/S֡iM뾲 *Mj5bYk^O&legFv_QԖVlq׸ 9эxֶ^X:Nso2-^LiYyݯO^T)na^Lsm`8ǧ,'Ok5܆u)G~Crlyd͸9:Bv 5׳Ϙ/Ki7^ UJ-ɤOQyLo]Eu@- lYTrw x`,Ҟj\ W-Jsu1yiqӴIR"km]i`^sihQѧQUG(G| #=\2&0脳 rD8mX*Q۾J2i o-KӘ4Ko֎׻o%xe|WT)&)KĎb9B3sҨʏ.F֖/(',%n_&̑>^^=A/{g`bIfcm|F8ZÍHSol>B}R&JsԒ𞕎MŴ\3KeH9ؖ?*<ՕI|X_>9癍NQY խȤ3s&Re%a{^(ȧ'c~3lv\X+e6ePd X-[ڪw7nc,]zRZ;%\x3@NW+V!طg;PYiZڿqB$*Lb0r7àHmNI&O Vvyݿf/%ktJ9dcV?ܶ eD_zƮw| 9.)Ό,N-hYRJQkuhҭK,g:$|N ASZڞet?#Zջ1繲7{]B,Ӣ [i*F | j.LҒk\?;tKW,9J?{}Zoյ xM$1"Ft/f#cnR5)rlo%$jy,$湯y2I-3Ƞ6ٔܶ25Z!c+4Dψ\ zUۯV6m'{nc)-L\R]ө'7-SotF u ٻK7kkI^]V̵}V[=-$dEw^OY-#5fUVzs xV<-C˨:dCB+2JBΐ.HĒ N+g'y=1.lq3O$'"Kz\Gq gw/+獡X4ɪMiJ*+8Mϛ_&\`|*{~&z ]vVqvsFآ$eVI[jHnoӚ_\8ӏҜW ~5\bZδwq%=ʵ<Y ;y* +Kq|k!*m!r0Yb2b9P>DSgM.I6Y/dߌR5W(P @(Pv&&m|oPDi '>f< bE)Hp+es(o V[r2tY`y& smGqɦ\ g8R%&$^.-4G#GpGFn' `8*UrK8b&MF<0V:XGf< Пxkӎ-jVbȁo)Ak +z5,p=,q V-ZR4->;vy1WsEf7MIPnG}$j\.!.ketY|_AkDWږq$}=X%I"T;`֎\Fv?J|}7 q|ְ^Z%&L܎22+2*@ zUUTMuy;С}^g%.m_ྒྷxϑ nR'B:褾5i$:vlȦuJRJMdq.#yNi>Z„6I]w]~DNj5VW6҅?$5Cae3̫KraUDH;p<.I eʘڼX D"FdS.XֽwQ@T- |ϧ*jE_#)y(X$3Ṙލw7݄+IgZ~ rLA!(RxP(P @H;fmXa,Ay9 hٕ@*4 FYѕvcd[NuW?.3P,~U׉+xY)1\Wp*!/n.Z|s0k'̵=RdžRXœ7mkx- Zwշ`ơdaӨJ}g!vc zXRKI>3;*#:$1bUT.ˆWk?W?yqR/Ut{9:=ul̜E]#|n9 p۫f9h;d mݗ*Ems-8ϊQ¼[omݤh&\ee 2:0(2 QLƌ8f,(,suTWXzwUJ,:=d^^/NN2TLs>k8#ijDTqIA5[b33֕Ӫ?SDϩXYS6127y7e _:$yF6rH ܪZ]iExy"T:,%ձ[yHec"KJ^hU;_:Qcփqq[ώ;OES<-ۯ/Ĉ۟}7B,I3w !m ĂjG8M;)Nqӕj+lsg'{_o{OH4->۳ce#]]Ճ+0`NpZqIk!,#k䏞t$~5#ڥO(2I[L9 dTTD} -U^=Eg}a&K[hW"̎IS 9#qZig JҜ#mE}G)r(] űଊ竬p='vҕ49ge}Vp,kekxbyeXHEV ;D9Gh;Q.Tm㙮m3gNDHk-IJ >/h8xvNx5h/]U5/U.Qfޭ+-8O5{̥y4I$e] ]3|u^]Sdb2=ϑ|?-g?oM&~A6 I91BC3a@wBӠ/z[}6ݯ(/T X Qg{׉=7Ex'R4N2oO=R鼃ޥQu Fj;tR$b=3=Ռ@(P BϹs%N|c9u,L~yK}*2xSۏ/fX=W^׻1i{Y_j7"L\ ԁm\muNES=/?4cZ'Y7lC-#{GUY1$ă43 1,>m<'!:7һpxOMrKh屺CJqr;Kf=@xCFM]U5.yFLh4zBab;=L6*\Ä o#T\( wk>Og~*Ծff}(Ē>TU_խwBqh,oV\^v[xobQW;ǖ"V#>r0u?5.&r.V ҩm7(N>Q[O /X ,o-9TK=z~hB /aK>IO Oiۘ n#!P3deC:~ xTnt Ls9䩪3kU6NX rV2Q r/"!ɚ̉ɐ) ^\+kU9J:RXifr<}PmU\G(PFhq yrz|??31"+qYYO)t8# ~PkpVW/MM PX(dWG$Ec35v@DT45U-+~W|%>L~C;g/#v q]k &ehfCp Ȭ u;+&%Kr&ݛ[*rPysX{3.[ݼHWR!u`G >FH0N:*VQyOݏq)UZr^y. $d8&+˜džUjxx$FS[nR*IFUωdOˏQIv6gx]=vib+Y-mA yc`w枀CVvSۜw"rA{aiŒ,=[ܓv2\k%*>I1\MOgS9ZPI[x%s)K&@8u=#5pNig,A w>=|?7n6;9z5N'Ji4꼍&Vj/6O ]Nj /;[K:5C86R([KW~gJ 9ӊP @(TlyA6Vmq=RcQS)l jGŒHۮm w\J\Vq43h-u{sFyP, RPOG3-S;Z<[|izVEߧSF}y[6^Z;4ټue=C#\T*YH'^VΤi5:|<>xW5]I Ή$b=~q`~\C]żFW7 45e!Nll?=mVm$]+N+N2o#^z4#ïK=ZZmxtKGq>|6ֱM7:32qˌ$g,\VUn%[>7;?c+[H'Mx7{0[(Ϛ>9 8sD5j0XG^zUMiOv6]KnYVI6(Jc 3r 3BҔb֯IsMNU)tyx5[k^ڨ#vdY^gd'P( Cп%nU!Xpl%7BJIO=OC@*P @(qN#rfqnh22@UOR~Ld:cFKN_V"ȱTe5C=J#St̼iڡ$n9~OV4y-VCÒ]M%-<Ʊȱ/6Fb;h Uiӄ*uI\ӡ^NNX&/e?U[^[Y6>T#8B̊qac>#8 +o,5'"IUE~}=O'/#G-$3Ҧ3ioͿ$U\Ƀev븻e&@8b)cS?jiiWNj*jz}T-UvxX;ģt`#BT.&nm[պ+Js-./B;~9FpFy HN0pq0#i{Vt¤6qZՊkK/ncԬJCKsYwqXe/f?kmxC(ҫ*msT=^8ohnJ겝)K\^ZrnPHrkyRAa}66w =0&L[Q`ޭ\DGo,;B>7̲e! .+ܤ6ѩ)I=qaT 3IBRەb]j]1 'UJCncazg Ѣa<{:'lm*sW+"z^|0c:n;R?!mJ5aKq, ̱$"!jKj۩Ӗ|0>8RJy5ci#+ʇ8%ëRe%^򓦭֧ݼnhew͑ATP @([F ]PT)SyɊk(ƌm)4^3:'Xs6F궈<F;9Җ{9A̚)V`wm #lx'Jڴ#t\ѯ6W2*'g/ʍ}#PVv!5xkzӔ֛[핻{ntʞQ9gn_tH] M%BQ:\U?-bXp{j`<-^&Ƶ9]њ3)ᵕY{"Ga, V@Xۙ@:ckn!'k)R,<)tBk~֓q/tWĖ=ݽГQy\Kvaۖ.Sz窏0V3+)(gPzRw9Bhԥ$9N^)%Z+d.]*4"Ye ;̛dc.3N!v<^/[1b9=v~-*V4%k$Y)}a9\3Zio\,HVDKRv+n7zpWՄ>}/Bt.h֣?{ZG!4V5*82XF6wvU*$džȔJsw4S@~ g~blpфT,9=<~8x7^-,KXxǎe%"1jW=sշ=yMHm9'5-pON!ɾ~ ɇ0sn$|*UCWҔW,,>>9,=Jrr 6~j>s$|մS))fjC*8j3(PɷgCl^ы*3᠕PFHUI:o+שZqץIz/o̟ m[-6#8:}=otwo5b)lryaen`/bqIť ')z(cLV1ә3J (IiO)x//8cVSAslyk#B͛_e`AICrv8*Вp)ǝ6{ⱶvQ5|篤K|RP @([*5C8Yޘ<''dj.su3V)N<&n0CP3в~qkQYn{JHӄ|>o r"T2M(ژ>qL|ONwqQpѤ&o mWSʪv=|q0RUjQK͍:St%oJ :8M zFI$V{f/,ћ3x\7_zgX; t&:|~䒌^_PX\0uv"#y`D&yxնUY18x; *-O|[O:潳ۻ9 YĶ7ߗL[:Yd IGHHwHq\#0B Jc$o??n|5}V(ʴ-mɭiĠ`$w4Q;I3sZFïG9$ug]mE.n)c?2M 7-g+SF.U\O&qsd,r1MwT|]Җ`3DoRPΘ D;'K-Ɲt}\̍*CQjhЧMRM0ĿiԫԔӒ[#y䈶Mnrp@8'>vW>s),󶭾d;SP sD<@8ުR TkZ 5&.Zf%{7y͕uGPF@_RgWa'*MJ.g-(3v.ޝuU}-$~iUȍ@(P -|@*@v3B9!>L4bO&Nӌ1WoBOwExni:uax{uhWj~';YQLS|Nϝ2W$Q``vV2ucׂ#1K 䓏XZ-7Icn{v&rLTWPӵN09?7uWwi^xӜ'𑡻g,W8^?,Zė20}Fd.YA)*ď7A׬)[G =]Y<5jTjrTzvg 9g2B1۹#bxp>5;ZJZna7>n]TMZZU#j.I$X,2I'g8=ުknۦ䔺$GRecdH;1 ~L9*tܗOO? 8j Ma7[;52i7Oϧ EdF"P:CD] ˷\N⥝. RTǦ[Xſb]Te?'>zq&,ks Pw̍&`I[.i^ͿEF撎5bS[jKld("BP @(q T`UQhTXxg_N"x\2S5e.`ᢔC:ψb+YRk'h捙ˊQÛ $dι鐙b9Ts%[Ea톹i)Jުkz-I'owZLN->)7Qbc 2pzwtRTE$nhԞM<#l||M{iYRK7d'!2GB#%Ԋ1\gwtM'%Rٿ~2H8(RTѱzmvm \p[U\R[Fj٬vkT;@2HC_ˊX:5&J;c=UV#8>$ZRP3 "-KjT5f>;q[;rDJ&\)@w@OWR`r<"7tN6ѫqw5̈́0:\FPl-D2ЇboL?v;敾qXk,`K-nVOg 60v&eSMo:cXR_3S;ە-r'.YXxXxi6u RTEBV*kRnjY!:ok-TXU|@zpo<͍nSmv%b.UFҬ %PG椗o(Ͷjb(nAGQQFЭgmٿP=Γm$K&PHcM,ЂwJ$W.k\Һn蟽[kx(]YX1o=hWmH HykN >Gf8ޛɊHK |yXlF+%5W{&w 00zx՞>^VWiWsW#ŨVqڽP @(1_@Z9P " 52@J; ?9GZRzO9L#jNSP`뺪SIG>?}G'Fy`UU@Ӈ>T MT @(P -|@(P  }dmmfy[[v[p. 9net!@>W{.ab?{{Ilbp*R]-̈IY@"qnfY̢9 36Ϯ<4z>%(׷J$ڣ.HTdvDV #G Ü;r冶 nI!]BHEъ mū%qjyh R4J[c70%qOZ١c` ` ` ` ` .9%4P @(q? @(P @q9@(PN[P@(P @E_@ZP @(P @(P @]8so@JhP @(?E}ktϾEu)P @(۩U?@q_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>_>Q*=(P @(P @(~ JU-bϦ$v,Ou/7dUW$EJ݁N\[Ŭ[QYy,HgTHϘƳK-zry4h`lm5R{PZKeexYLsc[x[/PX[Um6K&#@:[Ųp:^´,nnaEqs$糸5#'sy0d-`{f Fs}k}5;-=MsXg2+M0~ӵ֑cS}Gd&yhn@aKl-im⸻}JIfekYa(ô#)jzƎJYWI+\ Է 5\ni4nл$k9 }W!3GFN\P @(P @(P @(P a==XF67yI&iz*('/. 򜸃HKf.K-a8-ѻ0,+qh$pZ򿸸2JKk6$[e={GCt6]wHwI̊k}1fx(("}YFDin' \VUm ImG*F襉[kzr<1O(MխTR001<<N=Y:y_4tӯu ?zk;WՖGl~G=W_RϿdcuM4>O~TwKWՖi}0sprX*SMSG?Ueh}jr?5?ܩ?ʯ-TCTaOtUYk:Z܏ w?g*;_4>k8Sm{d55.pA]Rr̊Y v|:/ZY٠uj+|6'>~b5ѠEyD#3]ɘS9Z04hb drS^CHg$xw86✹|#k6G_#kd~~ڀlѯP o5j?mFm@6G_#kd~~ڀlѯP o5j?mFm@6G_#kd~~ڀlѯPP @(xd:pGFkd%%8Fqq|'T#0c3(h>}[ӎ5Tx=)w"UF助A@(P @(P @(P @(P @(P @(P @(P @(P @( @(Qw7&ɟ)P@3@s@(P @($\t{6y]ϓv[3۷o\>m&?29c-#=b pܵ(3sTZLdv@O.;!GS;KGy|h I@(yyQAϩ]I {a 9(̱6m#o5T;Ah uLڒkͬJZM{;"\[<2D*),7i>8MP @( dmr\Dg2FF dxfBJL\u =kaw>l.s\'s#[~w>@@.hy W;#DPCyڧrrn|Gxfθh 4vx[orvy\wng'r;:073܋x[nqq{@ju_^ČLp`+4ANG G_ BQO֎{_&Rk/hlK1=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥd?yGߟ=ܥx82ÀA8'7==PEI7I}?eotJrMuG@ʠ"324圕A cүFTߪn:R.HNصh$}R4F 2.r:U PN%R=Ӭp*u)ڥSm{2B{Mo]&IP @]u.) [ify  H[FҤg٢FUw6@..mt6}v5'eФާ €P @(n~_g@7Z7?N/} ־Ӌ_ftus:ٹq}k8΀nn~_g@7Z7?N/} ־Ӌ_ftus:ٹq}k8΀nn~_g@7Z7?N/} ־Ӌ_ftus:ٹq}k8΀nn~_g@7Z7?N/} ־Ӌ_ftus:ٹq}k8΀nn~_g@7Z7?N/} ־Ӌ e*"[6iHb>4HH,@!G @uM5He]DCa8e%]r2V`A SP @(=mBL2Gy lP @(%5=d[DHN8DD nn@=ݗ?0gUv_lퟘ}T}{/~aPwe>@=ݗ?0gUv_lퟘ}T}{/~aPwe>@=ݗ?0gUv_lퟘ}T}{/~aPwe>@=ݗ?0gUv_lퟘ}T}{/~aPwe>@PP @(**Yb9&Ԏ$i$v¢q7V]ee8ee8*A#P @(( )jcuD3l8bmxP>WT<9cl[fJD^N|(AP @($weڜȲç_$vwu( /nʀ{.፥N$I-.# $ 1@(P @(6{wmP/}%ϻe;/+o'PC pI -vod1j]YɳȒ;[_5Le6F31P @l&Yhv:LiVW+xw&m XXe`OL1wvɪjXN+ m"8Tr,fsVHwyH>h jZ厭5Ɨik}ab׉w`^%n|Q 4OP@(ZGj#``mg $?Ov‹: wi/Qd ^6zh V6qZiX;ٱb eʢ=' j-P @(5I`eGT;Hݣ֮2@VPt~ ˾dk IvF(ұ9̄MA@[x6K.Mʲ]\rHb8,{'q 4P @( {^ }&X_)afsLu $j4?O]4?O]uYi #h 0ePǐx=<P @(3qCiz_ߣ _nH "'.'.vڧ5F ⡣g0cb|{utP @(P @(P @(P @(P @(P Mopidy-2.1.0/docs/clients/mpd-client-mpod.jpg0000644000076500000240000010472713032547651021274 0ustar jodalstaff00000000000000JFIFHHC     C   @ Y !1Q"ARTd2SUabq #BV$34CcEr58efsuF9!1AQ"aq2BCRSTr ?=c [HB@)[ G.^hxJ?jL&bZlx,[-ٖQ7 d8$BxY nnt}bt]pK.S"c[Km8JVRG:'mf'x݉mg:33kvgde|vI{e k̺3kbSOn4\ ) J@N05gl췩b[ЧJt}?~m-f+A&4 Q*BX߾u?f+f:ͮkRg.uI=;Bxݰڭ=_1veao-1nv J:x U[6|Ŗ6yJfd;wJ&^;Y̺\ ȑ!ӢZm (@h ܱ[WYCtRdxSJX 6ȱ }M͸K]a 0Bԕ( ;5t/, gCw&*3jxjQw 4$x VgŴ[Me gŌqԶbKn()d G bm1]AQKm.iPEIJ&҉th(J&҉th(J&҉th(J&4z U(m([O9”_at(jAG IsKMf'hyP]2 gnڜ Mr-:e58HkENhx>Z՞D ;yk{e>Ma^/WkMǫ\f7xX1rl=F1r- w,JT,/z=qS/|ҕiԠ )cyf8,Zb[3,<()C; %>0OzKl#5jnjڒnR7ZVᦧ m&Q]^uKܘ&,I*h2qĒ7uZucih;)=]R#59ˍ)xn:NXf^q\N:neevCҔ*RBc˥F7NvbeiC9O+P0hԭj=S->mjz"gg}Ľ2J^yu,|zuJtb׬^՟>{ÙF%h;{n[)XU6+ҕ&&CwV!IZJ@#SANEό{47r'xu{pHLZwcה=`~Q6U<-d]4KiF^V#vf~n˶`6"[I'ΌN2P!J׈F<5xb'mCvݱ;7#) ȃ}I𓼠nHxV'Kn!+fsGf'9mu~4`~4>w@~4>w@~4>w@~4>w@~4>w@~4>wAq+RVFF.VnZ Z$$ۡ+y_}U&6LxLm}IOo'}>[3wWK-6K[R:u׷S&խb>?ψG׿s2| ^ a())h O@x ׃rtٿj}ggkG&Ǘ0sqv箧;?K_Ns~7}ڿL.n>:gsqv9?KF=9Ι\}7ݫt_Ns~7@jzs3oWӜ韥#}ڿL.n>:gsqv9?KF=9Λt s-r}\~7@jzs3oWӜ韥#}ڿL.n>:gsqv9?KF=9Ι\}7ݫt_Ns~7@jzs3oWӜ韥#}ڿL.n>:gsqv9?KF=9Ι\}7ݫt_Ns~7@jzs3oWӜ韥#}ڿL.n>:gsqv9?KF=9Ι\~jzs3:gsqv9jr.u[:$v{yR R(T@>n'!zWkgE_cnO=v~/! Ky nC :Zk5zM~^_@נtO6!-۬9Ҕ2)VV"ur{#m}bxI╦ DOY]|pYmm,yۼkUtC.gnvǝDvyz5&S%IJ҂NuIԝ5h+t⸪Q/Quv5Kd%DD Qs8ÒM4曤(u| Ew{c;<6Um_{yB kqh @gMb#.yEbېRBh'ĝH<^m]Z}͚pt>2R@;5OKtӐn0 Hc*%=v[ *Cj{CSAƂrfyqg(H'MJ;ȎFN;Q:ꠅmofvk`27yfשi[/8i5zM~^_@נt:k5ݛN}vl~~Ĭ z|]t'sh45뮜hi7"vqgd+8s$$޿Ƿ5m/ Ru2y*x~8QW[:1E22՚Dt[o7 xqW>bŷ BWVSdOn6?v5mC$p1wLf<ԇt:y>(O q^-W7Gs3-ЖY*Hp!CˡP|1 ۈ܇%hJzkNȅ ok ?jOZ@֠tP:2&ɹE]7&V>-^ l,)|H)%zuPM/ܶra["\,벿~[}/#T$ꂒA)¹TY3T-vd]0A.+Bx/t']yw/4+62˓w z5{q !s*%xp( vXsbp?A\RۨVkANu+k{zOFj)-0H$4\VRĚ ?+#a6H;BT yk.;-*FK%\]RxA6;E&#Pł͙ʋmKPqZx r?Kl2iƷE^PA#Mt#Aw n}nL!mv J7WP P"| EqbtP/)e.iջNy`U4i.Efy-K 4Z@֠tP:?jOZ4rS9yMZдtW8+sK;_nno;wlUn2vx`C;j׏4R"Ifm6*m E%q[*'UiI=S|[mm;q7M\Ƨ>쎮-ĿuEԸm|q)K={Z+'6ݟg.4bwoknC %+i"\}~-kb:_,'R&kR">̓p^q +&Rs٘[fZtƥr9GM -y?-NGX)m҂nDwH#.cY-/X6ĮƴuV@w@5ԓAv7lQvuIP`* )P[A`e7|(=+@_; OJP:zWҾw󿀠t|(';Fᓯba&yF$kS6Dymï/[{Dkq(JJs_>m[fdxd%TcdIN('h#[ nڝpOqJ=m"$t$ה8j gohvd6!6dB|$#E+@ox4:I[ ڬ3KmDD7Rt*h K.RI[umĒ!AKҾw󿀠t|(=+@_; OJP:zWҾw󿀠܎XR-T:J2[ǫOUN>Jn2/qۼ=ooNk*$Zʕ<1L51JL-|#VyLÒIJJTtMZ\:ݳqRhhV>53^fޞ>I,~DbSh/Qx~)66yɩҞQW2S{r(xpqzt֮4xOR>ط{zR$=]U4xPe/.Ұ1FbSh] mD*iZ|v&Ʈ&$X-QfB֠R|҃[O~5\RSꊖu*$N>Œ\)PA?@s~9 92]s-'/Nk^O ͞፷n[ \PLxqA9sƶ?`.dm b%H|AO-T K 8bN\a}Fkvf+Z*%qt[Q0IuHKaMy(<^ߏvͻL';2_uDҭ4daBl[o,#^m2RJHWAٹX )dKB' (׎t-]| Rd#T0#zPk3v )qWY7㺠V]uK $p$i‚+9?@s~9 *"n[A$[ƒ|ZXUshV,,5\BKASi'eON9##r|? ̴v4!շIf\e>6&آ#TGr)6曏:VX#$45aFם<}~zcgwIʵKkhp: SS9Un/|^6ǂNJ4 MZT8VzW$:Ty̯\s_@2+rMSǡMygKmDy _rʁ7_e}ʿ*@~*u6Wܫt _rʁ7_e}ʿ*@~*u6Wܫt _rʁ7_e}ʿ*@~*u6Wܫt _rʁ7_e}ʿ*@~*u6Wܫt _rʁ7_e}ʿ*@~*u6Wܫt _rʁ7_e}ʿ*@~*u6Wܫt _rʁ7_e}ʿ*@~*u6Wܫt _rʂ>;)Rmhۤ);ءmPty55v9gt=ןCcf'nhQvRuP}u.=_}vs7Kr5!R<W:{1ourRdSsHJwנ'ԫZ6l!j{MH5=4Yx MkY)RXyiy(Y(%Sh@QjI^v12 }֐p3%Dh4KV#~Z;u>oNɑ-mGOj .!~ flp_n288'yo3lsq,ȸ6ʋ _%*^| f{=LfuiKZ Rڒz5=4 Oij{MSh@5=4 Oij{MSh@5=4 Oij{MSh@q@Pmֆ_p{^12,#Q~n41>}MƠNwCJA]s1䗳-`VAb SJ]($39lݐcW"ĉ;h߰?FiЭuF| z'be1fnY0eĄAu lס)|6MrțeW+s>GÚ< ^;Bɱ/ۍYVi6ru$/I 夥sG>J 'zce " aK%TV&m*uH:%Ѷ"ʢ~u6!zoo'@d>J[UL[MGR;8h#^l#do jik|} |$ $:yh 'u$uEZ@P( @P( @P( K3b%6,ߢr'6R}JzTX6Zlg􅕕J n$뢵']FT-Onҕ(f^SORG堩3Ci,Gzڨnf3ZJt.5VAotl)%e]HHR5O"m73oSqFSpC hG8\'x/gy4lK1v\9*@R@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>@>A P(6 h\8#͙^,_k⺴8PwA/'mŋ;] 2=!љRJTJ7:A>2}"|] wT5J$ A;o&lKfMo7YArdkXզ)w4: _gRbYχ$$mN!+Ep) J g9q}`Ұ~L vlOF\iJ \R[HQ mnֳ `3ą&K#ԇVAւv)'5cW(6Ɛ7 #Ϻ+P^np :qhX~/C?Ai4JΉl yâHb]rj6al☏9,ʎSZ8Pc@P( @P( @P( @Poʼn6}x9d8t1͸\qБ BfXvo+2Xƒ˙J v0˷2T'bOe3 C+*);O0yx% ɭ=gR e<7:;׉:y(4>@P( @P( @P( @P(qf[e"TR#@4'P&cw[}5UT{|eIm#C䠷P(4[a>[%핬A_+`[dTEGPq` I R4ʤ(@% @P( @P( @P( @P(6 cSto'; fC/ +sQ%7>oȕij9{Ka$BAh,J#-VxM  2!+tyDK&!erF9ؘcvw(I~VqPF=C>?g\IPĂRwYVNcM8^eo滟#tA1KYvvXTC"`{'^QPYav-Xb-jZLRsUxq v(/r6Wdqg%IUm}v>n4[J!; uxnWӉO]:PBIA @P( @P( @P( weq^iP7e6Mz .sYyCʾQG_.rkfCW9̦=n<{z+dm *o=]uCR,8C#QAnEeGDIaOJl:sM~WAWwr;1r\g[r$-iV MuXeT2^(.sn+>n+>n+>n+>n+>n+>n+>n+>n+>n+>n+>n+>n+> Ǹ4{(G4{($8f2}v&/\r -'}V@V:~ uW헛dMŃ&AҠ'|ۄbaR$L-D$҂1۴]"rmr-ڻ5렗=iQ*S=Q).K:kTE5#uI:@O=r\~tnV<;|mqdhG+g$]F;rc|ur"I%7N䠰'|n' _m+2|kaٲcGSAE84H:'ո4{(G4{(G4{(G4{(G4{(G4{(G4{(G4{(G4{(G4{(G4{(9P(7j]Sȓco/r{d:BRB('9gm2zߘXp]ȓE%jQnxAfoY`Ľ1k+z&lbK{!ē@:{h'rxlc7Xy%䆳W.JR+Fh4Gg2Ża+c*͟bo1 e%.H ը17-_ݓ ϶c)|, C%ZFXASMՠ:6sd@'zîw E*mwWbޗꔔV:J95ML!M3+rӌo)!0ZktTuh*9#g7h1$͏;Y2aJK {KK hԑt,6; fy͡7k"KԦR4[n+E%z+CAKV?"Ȟ_;Y *:RA@P( @P( @AWD:=>4qz[~jMq{R;I'W[96|?XӢF|Wkަu|C,>">ǎ㖑qmC-Ӥ%9); C4AblzaebGr%;ϹDTfBd9!I#x >J٥u_JZm %K'Aelm=Ӓ۬maL6ځC^; ; 3*Jm[iQV@[1hQ(NgM0%L5=I0AVvAαX[" n.;* VuНS~α&/D[B[!NTw zHl[I $ ~f*~nz {&|{(Vtl!*m%a= ޏ ~I_x%R JN @P( @P( @P( j na 9ϓR4<45gkŢS qjyKHJHFPHQ2xɈ$44 '}tRxqƒ"-ϑ]-k&*[YuNV8~Am6ݯ[ Vx뻠N4J]E"]cl[Eu<\׫ ڭ[-;.A%j@u'^P^;YZTK.>$pAȮ]ɔ,HЕ$QA6r|/-ɻzj[H ׎pA|FA he1נJr<4 $- tRxq‚hy:;KN* (S* B$^:uj<,m*K37,)<ҝʤt":Xl*HkAց@P( @P( @P( gOQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ OQ mA8G&9,Tڝ5''*[Ǒ[N8)Zuu4mrr)hokvaKI y$7>MuMEF;f. swT%.<)#ExuPO ȒW:k&)*=¹O 2YQ AMG\ <cvÐuRP׊NnF-KI@hRFn)!K>DOÍmg.9;ݿ1IS:-.wHXIQzA>Fd04f6L:*M '-I?VCldnmW\$=whQ.6W*$t(5v1f9uoCaȂw\m҂;uWBtY/i=1 ~iZR@YZP% ǰyfdppW)Vy54I #pVv7L)ԅ;h=^r9Xwyn\헫k%iISRNsH:[3 Mq.Ԕu(iA6,ExfHgpJ^gv, 8wA_7v-ЯVDrœkx) RN Rt @P( @P( @ߛ{-w!L{gz:tFu{8HNHP=t#g6Kbm-J8K-)}*Bt'y#MGZjCrH Ivņfכ r,TyАYm!my']5?.ZSaݢαEeuA~$!-Ŷ0\ZWGfOǯ?<ļݗ̘K*}m{ԒOoK\ ڗ"׶I;hVd֜߹uqDNA^6 i]>㴔 Sv15´l-ZЍCA3}mAX&͢}nC-%PHuA6?Kn_/Ͻ0z"9+C4(*:zs,\'\1pIieL5IOybܶ1v !حуkH- *8u!iLZ^9dAel=+-"ΩF~QSZ" ^9vsW4^cbbo}3a<VFweOm6͆i{~EsCDW).$< NiAw?vI"ݎfP2 GT2"d-)_PK#re3kZ[,"QU}I D٭@P( @P( @P^1: hs \1XS?AAL1=B+HgW?<~/h(e/6HS!#Rxm|TǢLYLq^AJ{q2yw@!P?#J]bqerشJb8Դ!@4p-"G̿jӱgG%N-GwRsJJըqPp&+;aN{7]yzǁvmll3vzGG5Qצ9ɶi6ڞٴǚͱ#q0Gp$u4v(د7EѢGrV8y1%aO^QJ {|c@jIq^-(hT8\c?:%bebB?S|1&xb\y׋vL6jBҹa甕 S\]$U%"@HBqs@dAbl‹^n=iI! E%N%$: M^"liV͈P\4l \7h}=RPJt%MYζIaԭ`O 'OfsaG*q:rBPSH'e[k*qKK$-h* 3 hj&>E7"t$A⼎.ʹLU/+ ^Tdލ3V\ǭ[z\#.Dz,&3(qe-'OA/;ɧI7ۓK\e+R |hP7evqtd24j[6#P'BC8̩QJq;I`h:n'|n'|n'|n'|n'|n'|@Cɂm{KpRN/sEKʕlnqƐD Ц.:RR|`Mt- Bv$˘K:*Jụ?{gYQXmwfM񓸥(A@׀Ǹ'mkiV<#㋸PKtX.BxئݨC߰{kkWIw%zO2T FNAgܔ6;%$ʳnYz.K#)JKa{ 6HqC@P( @P(2>yAf{*rS{6P3pmBFJJTA?̮;pr ;hW;'N N*0ȃt֥w(K-IHZun*pi|0YJu *H$~ ?ke/Bڴ2kjT`WuCTxJ agn\XԎzznI!;{]UK 1ma/CRL96M7|H,ܮEmlWX].SQRc{P$k/(/7TXhaK]ևH,%R` }}d{gɑ{d0c74x%#0hOj}gL_}ql[6vyNVx4)=Xv??Esr;jfsKe@ˍ[A+N; ڑ:6mGq`NJ $Eam,Ց"g% 8 -_'aw嗴{3.%92ki7Gkp'O- P( @P( ͘'f0(/AdEQ 5_AQcy%0E}.Q^U ҂pٵ̕G>o%NVuNh+3=ܮi~RR֤nxx-)vN:؅nv[|UMh,~vK8D:qEJ J:ԥ 73vQmRm?(@;::l 01ԧTIp7붞Lfe 3'SC`o]⟮5@P( @P( @P( @P( ғgMCmHpmV|A-s‹!k0%:$HW(,FU^bnjiՄhAӀ#:څ:r*<ڐЄ6'N4e6^sUl"olj $ı2ZG"LTqt)SzuՍ[ ]cR˼COtӨkAr4G[1J % u]kpܵGs~lk0D>ayЮp4M(P( @P( @P( @P(~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~r.N y+[Uu8D| cJiŀӅ&;rK԰8 ۪I 06bmI1(2[XCu .LX9MeDzs{8H$i^;VRpybؘ=&[/%w.Ϳi]ު B8Nv6{d8phs/DKZ蓯u=Ph̆R@h< @P( @P( @P( |C*=?4vnvEeN:/uĐuOǍ{-g6m4}1l%AG6`C$ꮳA)mc@!y%V~sUX @e O_-?ڽlyz??8] }qŲ_.G}`>V &Сb+hsg-c 55NeQNԓǶ4r巙 jA,Y'JK 1NPl͈9ic 9lKTٹ敏RwT0@H^ n9FlcZnyp 8x'm|:է )$꒵{xyP( @P( @P( @P( ˃dY'fZZ-ԴAov=x'X6C|ouo䠣PLgfg.M-H&4}u\:kխZmx81-ӣl0h<mM8-% I)RT4 %Z أƑq˂đ˒RRGlx'SɴZ\9VQ]#sȋOYPGhfϲ{[nk" aI>p]h u렝w}Lp\XS+r:]ӯrn OfQړ*W+*N]AikgUlfl]:)RIӯւocuf#toqgs ct]}y luܟK"RWF@FT @1?Ō7*1my"0E ARI8utFŻ]gG8xKP< GTqQU_T}/?@*>xKP< GTqQU_!|DI4 "0x s>9?#g=AL΁fK`9/& g~t}3?:y9?2p3%m ,@-new}/?=e@@(_:xG2;>΁6Q t񲏠e|: \,Hn-nele@@(_:xG2;>΁6Q tw/?^R$xGT/؟΁NM b:;ɾdAK΁nK`8;$ϲ?:21#,s>-ڑBˎgthE?AA}t=8ʢ8 K[zlߍ~4ܯ8h?w|w|w|w|0b<(*{>y;>y;>y;>y\G;oƁ~4[w|Ƃߖ¼@@@9q;oƁ~4[wߍ;yiT=Nn/q۶'iU\Bͩ\B|P^rp|{M y7uH]2"ƺe(B]P}@ O8:|Ƃ?] $tQ?kAbi4>@>}Ӿ|>ELof|W.LneA+q)}ZO tr([0_) krŶxQ|MBOTӾ|| g_=c;h;>@>}Ӿ|/z n>@>}Ӿ|FNzwϟ`t>A-j$H7`Ϣ_Mz02AtیG`% Ǯ(=;ϰP:zwϟ`/|ON(8]v꿯=]d_bXqkGqrKMsԕ>V_(,&pu|b5P|\}k{fҗJo@]'| ONEDЗ+HI i(=ﮂO/x :c\\Wc"ZNCͮSBVTׯZO]rK#yv\Znq̸nA8_6\lQ2ɹ^KeĶԕ7>Z$~t Q;@G0[L<sVo+ɿ#\c?Tl|v-kίmw;LS; VI;P(*m)6{IS"u=hZHRT?adͰr^mP-H/dFe ww6tq4.ګ)7^TÄA;yu77up4 Q_PvPAkЭp2lD];q[3IBBRy* Tu4M2K׫l:#ͥ %EI)RHſ~ƒ<T uJBoxh9f?}8m'U%<t=#x(8#pyC%AY*1CBwi?mA8IL=MQxPmG}J4{æk4K8ڀ)RORq;pA?sw3 sw+#^SOCI?X=T}>QN*;>};>}-dξ[lGDu@^PK(Y)P:Pu^}yRI_[i5PTw|}gϠw|}J}J}J 8#{iw x+iHւAuNOiAH=+(+(.zZ[fŶӘ CN5#C _}gϠw| yQS)#Pϟ@KүXc*nmSɖšÊw׬{h-}+(+(0* 6HR({Ic,Rc7ҥZt l~F}% j<`wR 5Q(+f?`3]l˼hs҄s(@*N젷ퟖ ˥le;E`_r?"C}*:A4'S˴<9~KƈIQRzIO=I8yN 9h5*j^q @ӫ4I0xLaIS;uWZ/@mv\Kfq# PIӷAot p[AE/h=zwfL;3ǻ&16{:Lòi8RR5 =z~ b/ȧF['M{rB(lI1Bt'P|{%{tl08ݟ4rkEkJR4lP:m>6~ں1uj-ɔ Qx :<A {;њ\]"7A_ەջ!!A==Ƕ ȑY.C_3[iv96/Z<y:A]zɟ2XmmGm3whHJPPP|@A&cN^K!7h>[65ͻgޤY n9ն p @M5At?eIܻܝqeǛiQs 4$Pk.>݉_q Cvݏ/l4d6H\i技 tm;]˻lPS5SA8v:|˨q'U!A@u+gdw.[;zD&uTV4:j HւC'=:ǎ}QKyZ 5$:HPYls^Qs-N'#uJu¤z䠾& CG8o O%)R$+P|=A(zmh&. jȸeQ,nXM ݳ|{fvv7cu7vZ\LHPZu ;vK rmΈ*N$P<`SVp`ttKIo:gA7iyq=B4Ca;q;șM .2.0Җ Ӂh`[m,įt"-awii<4deUӏ;r 5*mJBdo(k<8^vm ͒me7BaW{uPɎQ[ҭqeaJZ؎O^ ?PYh]#@P^<  ٠tIsNI>٠tIs L'S2|s-]T7|P}t~CWϴ+q2|R|w ]λZn$>Ľ9'\fӒ}%϶h9'\fӒ}%϶h9'\fӒ}%϶h9'\fӒ}%϶h9'\fӒ}%϶h.l. ;s:in?SӟQa]v\Vh\ն] RJT quaZY31Z͡OL{o`W;nRn[:;VfLff"՚5[lIaFj+ɪCσtb.ӔJ*΂ ݟ]> .Vzmd6^vm+ djJSJFA6Kم;WkF.IZuCCtwH3͇hBlF\7ޚȭ5PM6ǙD6|PTG] mca) kA Ϯݟ]> 䥌Fb!*TY[e'Mf' m #E'R(o#(OAf:\z6of[fBPG5ꠉrƣg;>BM؅J0j~g@Ϯݟ]>v}tfӒͳwyp& 㐀\BG G$aA=/\\Nxd$t9Rh17v}t;[6hzkBZS7F<L'g<6^4!8%> ǀ]^vg7eW],%ʈ $yO]aNBGtHit$;렒uu. zͻkmHENRx& b]M>v9E\6yx%KmQFjC<[[3m7"_mtp/m#;wY×+ ]ZR-sYeÑu,O@|[EN[Wi11ᩥj [x㷤LKmNG_s4w:=z#VN֬m_76ߚ ?Xܴertu Uj{Mdȕh(#@|D|7hϴJ7s56Dz.|r^U8ކm -EJeM,N]UMG \s m7.m'hŞ""yݢbc1܇kOÅ+,̡2nN7$@)&9dž&&w;x }'eh˞bb9wfg5˕=˶̓T_-m1_LۄRgߛ{MV1'$q6 :YkSջr[K]4AP5ʛA~ze}VI2"JxS堘e\+; s䬭NJ'4u ?unoOo+y\VFSh@5=*l;k..-ajPM;h'ߑecOjn>Hm)I :kAțҝyFZ&\沈<\*Jz B{R|/Sh@lW%۵Ą.w6<;5:(+9Pd\ (JT5=Pajλ6( H A#Zy 0/9NTR7P7PJGUSh@5=4 Oij{MShA6G=ٽ~22!{ĸ$U]5>J c9įYeY7;mFIt{?e߲Zn̽¹510v3.6$)t68m<=U:^/,Xg{#lݬHƭ{Y]1\䇂iWOV뺯m˙ÿ,d|/ɾd7ۤqM!lxHۨ뺯mÿݱ0Yrr!<Ҝ)e;/NM5[^״xS #:V6RTB^p A歒Έk=S2uΎ) wGOg_ LgW:d]"n)TRBN(#4 imE[jҘoT”yBJt┕I.p.M:6{Kn+@8n=*6Lwc^.*-i{VȢFxv[`H7ʼn;IJNDկ/@P(';*/9d˫ֻBmuJKeA#D4 Ďìx޶o=s.;.[tHeCw{]<$#iAn- -RLun,CF~&hk%)7ׯMF@P(&2=jiz;oZ*j}D@:n#@|bz;$bLdJq1 EJ!!#]T8=}T*o7E(џ{T7Fjm-o.PZhUNOv .5\Q-m㭽odl2SJiהHI5( dlnW5%_O7vTK/d{BA 6 .L{}B{ej}Tr!J {Ĭ98b*cυ_CDr\s0zL;5;87uIzz Y!]3WjsGʯnegee+p)EvT%+Ϟ5t FR 3nb\ہV|YN/Ou+&l^%ZQQX]K-Gyz}nKM@}>h-c lwH6o!vOA~[3!NԴ1^@}^o;wx܆SWes[0g{joQ~\ Qۑsv/h9^}j el0.A% /^w=؞HGz"l}*o~[%#1EBj /c|XU-=\#K0,>ES,G g g-Vgu={}gO_ (mӖ$$(~ [c:|Tf!걀s3>zcIX"+ZLn|Y^K%tR7|ڋFs޲Si$ -7gg*,GKsjVVN|2vK`1/˪Tig|&>4}^pC7~vUx.nbǩ8_L%[97eՎVY`{c|GIQ>5j|ݓGMVeBMo tkl_Q{g3"*%HHHG8`R Z?Qy+ "YQN%KyL,_xr{륋Kc?M}/)~e7ZV1sn>[=`YtQ a I.9?}}H׽G!Ofo`KHn{e%_ñ{V'4v^ ֮`T궭0.A%]D}::/`# }n,(>no돣U lį-.S Gj[;e(^/mgćW??^g8psxѝ&׏1> DžV[|dٷtш kK{<>(z.ٟ9@ZY rsdc'Gpq2 6ΰGY̬Gzۈ`i;W=록^Qx6x;7A{thxs4].ovKn%9|&ɶǦX|f@rHUnH8꧟~@+?` ?-X{}`66666/8V@LhkuVh38`#0}`#0}`#0}`#0}`#0}`#` OU?ͪ8d^WoVu4<~pA+;~dF[2O5칓  wt˿Xu\y ?2ƿ 1q ^#ݣ<âϲWJj͵!R}JH9B<1a5erxoIfc>=kQG\J%2O۟ ꣿ eߒ.@-)\\6()ۆ>#rtRV}`H /+oY_f`eҹ0pH/.GDbٟ! .!>m*RL?%SNg[mTЂ^`Z$>o[N;4Cmj "4RZ*([H۱n;taf2ۜk-%_eǁ+u< 2G^}+YO!V^^ 9#FsRv*70WN6Tӹ>n!˼ONvOG8d~!__{VA_}LN=1LbaeF*ۦ۷$꧟~@+-2x4g<`s0} Cm Mnnoz~Oi>)=彐~[%ĞDӚ\#үux/m=QVtqRy`rM^?_J5uOGxсb:jmkRKjs{nLy4buxͩ}%7,= BynYsj0q;hrsPB|M_8֩U2%}quI iS(^4"(G)ޮGߴ^Ј&7KXZ-^Ǹ,vâ㠩~]O6L2X8 V!3z'vO*S/^T+.Mt͇k׬T;9wNtffˊmۥʖ(> [cA,{ܤѧznE?rMHqs&`:J|^0=88>ΈKNA{ -*+ @6]l5>K 03[xy7 v%`3*ps#M&m|䰝VW7iU2]e8.Cg{,XYg{=Xb-^UU!h۵+?nrFvm9M?R4GQ6* Yhbii .z)9W֯_۝9ϩҨ/xW_[s0JB$^ke>z MaxÓ{Kkzi@ڃwuǤDW7'E!1U٘T୆ps{^~g.ůp@6c_yIZK0=i٥IJQh@ ۦSo8SL*&3sy_߬|[+zx:ܾ*Qrh'ySoݸL<5Q5F [p =+Q`j*yk ܞkIB=zSԩqX^]8!cX6 Z QrT6Ý}&ծ&7q3(܂Qu򔈲_;z=8⛾DUK1_ȷz6*k3&׬T&5g-ϩΩT+vW*]S_jn+r3Al<hrӜ;R7 -~dJWɫ;ʡ)zZƫ' x},rwxub x7BdxŏYA?297|TYWDrN~W^er+m4v &ѢemݏfҮb~sQ棨~|on =;>plfG)FMzʱnQX#ɏ6GSaiWѡ ݪM/\R#eᕽN^Y o@5{nnTS9t[]WlR9s4ŇB@~կ8vK:+5$]3.-8 eۍ  ȕ=6Az9i_vWT\QN׏I1vߘ5#CL0@7[kd(+\Fv29YQzx&QcgMJ3rŠs-#WR|c29GQD9R#cY{.YGnn7xذiY` L"`3@6D z7_IJw⏰Gҧn?*>{)~vt͇u}N-}]𶓐;Fʟ $Rֻ )3>Ob1%1Qcݾ>P}5ⱈ^nh=k$?<#~¾3V[W_V)҆ToҼCX^VnJ)Q|a*)]Sͣvsb_*ӗE1䨤d_ۉ*˵q̲TVJPz7K!pߏkqˎv(JC*[T͏SۢR3G9ҸTpgdӍvGߘPv"`Ώqfc{-I <-A#^`hC?vQEbPN޽,Q0?œ{sq+K;=͎>J L5l}1r8MMq[H; Znafֻ=p|m8˴Ak |9..5bv>jZq9+]5ir*Ҡ.-,K)k}lvGE۬|A/'WrZy%ӵHY!r#Z]6]x"ao<(`H{OUܮˁm%+16Rkx1Qb<(ctx/oQlsX>QGc;GYQ~n8vr+]>^@dL7d*^FfK|yǫ(s70s/U\'lF.dl?AvOgM5^pc#Iv&j:z( [r(/'P߾uWV˰$S^CMy+U?>tNv(qIҳxՔ*P[ijH=㧿l$`'+&QѡCBޅұ H;Ec{M")韏[R{2.eF!Z,WpTAJ&Hc|AP>kxLҤzRڧ]T,/U7gVe ^ k\+3K5yZ 8=CنϨU]RvFA}q&w85GQACD`P03F+O(mp litT>iTܞ \BZȿ.9ҽo3#zi]]r*ӵ !( * . ڕA|ۋSN\âvLؙu s46bۍ:2PH@#mNؚ(} ;t֣;6toMz;ml5X0~ZDY)ESWW ;i6gXit 8F?k(r-K4R?[O,IFE睱:Zs%FP1p *@ޚv?0gM+)\Sv2mY]޺Q'P6SM"ǵ&@QxOMǓb9*HQKx5ڤ;.Orng刔@}7[J; pkW!]Pdf;7L> NGR?9h|6;DʩWY|%\֮_nMǮHO>])}dG-iL81q*=_b#g5zt{&D*;z~=sm^SXba[US yٮ{TF#( H{Ո՗ָ,WywT0u,ys(9}XK7!UF^ =ҊCXP:ʇzIPd/3$]}N-\Æ0~B=ܞz) o}O/"^9+\>kc|cohze GvR $ 7ÛaUcQZqdUo9aQpxҳ5oW^HZ8ǫms;mpErnqΟ*='鵣ݶЧ)Q{ܱ>d+kvp&rnqf?s+njM)mNק6@#/+=l^y(S @Sh-(88'^Pkx=M^bt})kJnZ~|Ep$npzT>ٟ`8nn7_jA!^q$JΡR翍 eՌ3ƨkRTyzS=[|lZzԿLyh7̃b# gٽrRQ힣+uDdhatD>p|M0t5}{(1H!9t辆[! t߸ڡ PֲzOכq`X%Dzq_ҪOP,}Z?U(jhzlOe۟nы©3,] _eD0D\o{t{(p)@gHz +?J4CG pA?>h մO nn7+@I"fK13>` ۜ`#nn/ct-6gi~MI;9s5ۜ;F;ƥG);'T,ߒ}}2/ ̀} 7j.PϿ)S4>՚v<ݕZ[Zɇauxь50,-3EЂ nG onWTp ɆlS&u /6eG})he\5Gx0TsԈr_ٮZ),/-e| &lGȆls!^~6k (4jڄ5yБy#$B1)~@{Vbe4PN*JTB):"M24E0Vޯ[v[SonX'3JWTCsDJ8%gkʐV5l7+&54`E^,AW=Ǐ+^ʂV6|>B9 Fٲ3DoOČقW2ӜVPFz*잶GkR/ǫf)ݨ/qeߓ_I\݈mXԮe܎ @kdoªl/tljfǩ6'ۨïOv$9Q-?[竦H Q"@'Inbx8F`,ϻ_?yÏC|MXz;|sJy-aux^Q Va=4pmg iJ%ME|)~^^CGb=KgF痤!y,VD%CVʴ5Eeu"U09vXBm*N ce$~>H|v}>Y:P*5[ԁ([vmN FGk?RW v#BZ>Nӭ?VeYߓl1nP>R>&jGA?::{8e'npon-P-veiz>D3`3(~YO4Löz{.+з9Kg<+Gy7^ʖnCVVy.+FӴ[ëa<&T}\qǴdl}y{3(hxQLn[=y.ˢgPLӱL o`¸ԏnk7 r ߡ2!stܖm~*u~oTny{-9tA3R G%hj)̀ReMJ $Zps{w;)ߖ25$\ZZ v;gE|MC_+`$v~5^ct?V\ 㰇ߚUR;ʼ0Uo=}:V3H([v oEjn@b PϘۯD-,G9-d#_KPCvU#[v]tY9~Zc^\K)J2t)=_zK,ĩ8Pz6+~Q7$潹eoP [AudRg >/sJmc1ܞHۜ=Õm;<>nXӿFۃgW?$4K*}fn0- vn[xɇ+Ąv;١]M =soË0p$0w'tskAh8_ÜU7B=c: Ʊ!ť'au4[cQ״g/vʗXjYaH3ѐMF؜l#I)xUC9(rB\; Pu({QsOo{Q])zܞ,Y,BL6<]y10jIpRT>I6"ҪL94YJ>w&ƓټPY/o՞f0|לc )ٷwiМj֮f>|@o-;w{*M+ J=jij]Mq@ ?#56jiq G3=]^dNA=lgeۉ=[ڭ]kz7cPc7+da,yV*@̛W4}6qmbfuշ9Kg{<M7J. Ӷ|jo;/Gp}.^G_J/Z9-]~8j(9zE)y3aG0HqW&5C0I?V%9F(n{sM׻V=w!jr|H¥.)k5KLCz,^j*z:娒l=ڴsI?/%=Th*;v[|}5z.(_|M}sDcX=]WZ.u/ixYW?tUU+*jڹ@NJKT~GuI׸3$^x+ /?]^PR˘b=?L}s(fСz4g8夢$nZT-ŕh, -yon/K: ̮B2F7>T= J(9ЎQc+݂0ռ0J^SfCS}xU>Ջš` RoW?2t:]sߡΙoŧ^Wvy| ;Xvc&[@*驔O6ݨK,=mYˑ{!*!cn)Qrߺ< 6 Ϩ-[܎ l˲ԧ9 8S> C`3lnnNwwos~-W&E6~e(3pը)]qcEK}O+RєW,g[vx43Oo-S2=m*| ,⹼{{S$|ѹbmQ!X:4Y-[t؁Mwz7˂KNV.^`{TNwu7?59:˩qZjRFTZ>!k%xl7+r$ʯ.9?2$SaeS~VNpm&!Mqq W'7{_}SfԸ;vo; %UyWdۥt۽L3=[`x߲jci!~~Tal~snn_yoHrMT= JLS&G!}d~A~V?nn7zDýX۳C6 >0̷ W)_av ДnnO۾r--˶ic=~7{+<~>S),.upk] SI^֞YvXՀ *4 Nsc`R0wZ6g؈7^H4}#17˂# 9ɕ\8Vk;DF2,{~8WK2=QE[\ GM{T=a!Qͅf 50#_y Sܮɾ?,zAm0p/Q-ΰxɇzIwyL׸'/@/T~qi:d_4"F)][cFl$^64g=7znjdճ8pZc7=}lz'%tMnnoEɳrLp[5Ul+W]SZvE@J:C5Pi((1VN(tAqEɬdqx=2>Dؙ&7W;%b bI>̦(=_9.) 7r}6ZVQ _11( }h~se[EC}Y9R(`f{ڲU/o=W/ǝzyzWtu=Wdק8.F~Ku1 nn7ë<  k^)>>sOY:17K;4MEG~="Fxon?!Ӷٰ c;|RjPά'ŸayQ.T^#&2wƁr0Rڒu@HA[>>ƞUvtۯ},a )4+' &[,J WU d]"LbX"K[oQrion LHJO5XxNݣĴ[9IT2{Qk#nn"TQdI#pN$-u[~5-eNQ Ңͩ6M3t:X7w WF6ʇb*hNRv;ۺmeNXnn73w?,;7V@翌V&U؈_9r$հ,hY9[ }tc㑃YMɹZQ+ѐ) 9*x&b7]SӪ5GkNj#(9NZnxp/|K dWC#K ͯ$>dM7e /Ekx&/@)kqܶJUv50ʅQ0NYZҷ-+hꛖ_6$͹s+w">=Yb:JGA%+ `O_xUZ? 6{uJu|!nUD`kZZajqXxLDŌj=^\](+@ϻߢ.'#R&Rn>x>@|?~h7V5& j eӜ`Zl],7}9~9c#TB86gic㑃YM\>Je\cg.hE!+jpxU7V\GM-#}~^lKܞMn?Ew0m9T _K|jޡ^@NK{7vy(pON[xL+*PIlMER)'~CWrV+F{!_R=t nn_vnppZ& R ^GL2jUGkTܾ-z!gDR9QX_[Y]ɋi9nn7} k>.JGA)ɶòOҢbzJTۓ(d`8ml{DMKy1;GeVZehjYki~v(O˞bZ`nK̗I@XBIIW$==ZrWl|o9?ceCӢ8Ǻ',Bnon~]6C=}Zڏ ~ps`BiLSY>/@)Ns}$5>o&&Cfmvr$j!4?'v 6g[xeWjAJ{֣"iVo5)^g} Mhyn,uj˒ִߺ|Gx Vf)5w(j օ|C5 .ek*zxM%Nj4>Xs7p*t/e:g@=_I}*H; {QBI K֖뀓@ };vH c,-~Dm.s]qyMշnϫ 0~LS&ֵ,5 Qi(i5-R{>}J_nW !"E^k7GO6: aoO!mcb4~ 0 ^򦷜8 eN٧^5 lʎCWi2AIlxgYr"ϯR{+Hx1+GkHt뿖KTZc!+ nn7d٤alM/;` ll7}9VXByTJIwۣosv[!&*}bOlsiQIƟ=8=FzLB:=Y'7\EPt6V~^@WyEVrVl? ;+v1|{\}.ԅ׻-z'Qp`cx#֗$GDzAoo/=on/p(ء" =Cvte@z*jZ_]@K=Monꍫ_Pcdmnn7} zT^kt-{Qʡ$]n[_=5VVps;=>,ǥs_e Q kVQS,X&mR^9Dgo}Snp4:hg\ oKy'rnZVY7=:(z sǏץ].J}Wr+휕z=u!nD;^ϔ%K*cLKY:UWI%_j![nR4~re=&_n;d\*5{nr9YɟW; BHWqo>WM&t[_O.K4K!r Ml.l~n 0'~o0d97Pϐ:{$v+'PNSx8ul(x]k,Xnn?f$:&d=%$4])Xr HT;m`V7}Br]ncY77P `AIlMHͫaI<9֑g㥗7\?PN[LWᒜbܤYvx3+ƷI6Lq3@U%>`6G0wۜpsqܗcwJ儘 ܎}t)g}~5i>~m_]ӡ}G)^mѱ@\gvV,笝nGQf~׹RɦX]'=Q^Ew@9KvϨv5>VWJ].eo^9Dg3^QG%]|Ex=OkR=/!k<"恛ۭOr9d z8Gɔq՗wIiQSnAFm8Pq%|'>/T1F:%] IZ#Pב)U{~ӷ%(U[#QPqv]!vOq~(=ϮjyدۏٶʦD%aWT5sL9dsK~oe&e}k\7ժ{Nf IZR_̆߄㥸o%9p|$[eZ/W]%el| 0\a9yxկqf\ /;>>{\9O{N`J)Z"\T)ۜmʑM4-NHhѴ 1]K%Nε^mx=@e Q)d힬pݜgb[Z]O9 S!lF+rod8:Ǐ]v\Ybiekb:>%yNWQyl$ WSm*H6s޴G`}V{W7 50~o[[d]ޓeg*9-l|7GmURIt V(i鹍Ir@OV׿9 go_˞FS)'*_^9RH#e? g6&DWl.9^7 ,{R)XI)`Wyy/&Z)'ps;}RhYwxyQÄ2(d,SvPzeYُE G.g$Aҡ eSF^fps{Ɔ+{7{^W4#g4֎"-|nnXRo& eo, +> 7?ʷHB>]<S#miU-Feur-[l^V3`,p 0*+3R5(QW,+srYY!V(hiT5ˤ+=nn;=]RYyb]em4( Fi ΐ#"I@ex (L8v[KA{n?4J)!XpE]N2ާT=O B6ZZf2]lD[a}Y9ΜZ5%̶^nnE3~R'UT=F_FC3c"5, מnoyW_um%9]n*ps;fx ey`D1E}7Z԰󪏴맗R[6U|om|p?.5I%mSi,}@~6}!,ʣMp W)&Y&7]7 o9tcWفo7\j~E[+pA:xtpm*\sVH;LTNScȻRvҕ-D$LO1T0NRNROE9r8]~$SvE /K4|鞵Rx>tb(M':w2??~G ̸zGPe{0('E7 /#+bs/*'ޢT-Y-֌]N/(%e/lOki 0>7xnޖUl~c3LvKz|ΑI׽!_ eݬOہtIZq [ OHs5oq'NuF7S|’ }ʣxa_EOW{|UHizz[0Vl74G$mFQkHykê7?꣨n*'*b=o4v;vg&VLedܶ|' PP '5}e^9zO@on,ps՞t-N4Nrc,iz9ܚRG|ٽ;Aoq0& 0X3,8`#0}`#0}`#Zci ۜjM)ԩ؎"ͻ}8rs;@vOv 7jSN37 q >Ÿyd#sr腴`Q{ ?(RBC8nty&2{r[xOrB6/Gez'y4,5q)nnDV۳ >M\&GŢgr ^FכUSi((1; % kUx-S ^FǥczJgE 7b 5([v=_ouvB?6~ R8ӖHjop]vr|=Fst(;^o4o vlll7-Rm6pE49ލY9=]/Ϩ#s;_@p&/Y؏n/(̅?@ Vߓi cQPv7_UV>_3e 2je%on\؄!JÐW6ʱ+(7׸pܧpb+۳ -3!,nnϰNݣ"#nnL3 چTHɉ 5vp!leg>Yly-x!k =mُ 5"OG7 fX j l9LnnMoۏK)e_91]{%N˵^vu JK]bo~vkc|WxLqZq5 <,t`.V݁~y}O`x=8GjWךp9}7t^GgM! }qv ͑̚Bo|>t[_M::+DZtks n$vF;., lts;3p*9-l|i&=/Kv imťOOM$깍K7 /א7S)'*_^9ʷ i gߛ۽+[П잶8cF=w$էQr˳RIYoxhTf޺g /LL؈_L:GwZK#auxa. h ˹#'| /[n@OB\wEᰋ-V :ܞbfϢP.0û٤aF7# E8=DHQ0i,obߛ[ׯN(jvx3aghYpxF`F`FY?%31W|[jxz{Ȟ דhlؽPɾ7go7juV:_TbcZ Oz%Mx|;H_ <_7>Qwgieps;lũ iuSPFI}onE򩱊 `#  }{2ܐyHT¥mѷ7Û;CȂ 6UI/> {`66666/oI>@q;q;@ pxF`F`F`F`F`Fq;l>>>>> ]^`IENDB`Mopidy-2.1.0/docs/clients/mpd-client-sonata.png0000644000076500000240000013560013032547651021620 0ustar jodalstaff00000000000000PNG  IHDR sRGB pHYsď-;tIME6 ИttEXtCommentCreated with GIMPW IDATx]w]E?gI6AH^AT,HQ(4Q+RD CA@)Az^BIH/o_9?clnΛ{g/D!BOD"D1r"D9B6Ffh"Dg漉V##~G4BMлf5~Y}Y¡o?p+ÓnjU}|?u;Ч7!yI٥s_|ݽOf+rӳFag)Vο+zaUL&SQQQ|>A#DE,QEA9sf&8ᰃs^{SC8|Xm[~C9p1s̙3g}4{ɚS/sF?8 tUg~\vɏ !(#"}mwl /,eM“rU8wQ!dEn{{}?ό.-θ??IIdr%snfۏs׿=}zؾg{L\*^cs)F.]?ȣ~㉇Ey|}q!NgϻcCWm{yk.:."|xއ" 2rP~խiF܃ms薣e~ņyځwp[~Mįg/7}Z+_}/{f/ڃhZڳv۸lOse?teOhkeD%g]we}VaX+.γ{\ut_) W uK#_3ɧ{1>K{txuFN'c~Ԁ+xOѢۿ>WӪ<~~-W]%P;.M'"wc.y׉CB_Ћ/~lWNkn۰fX‰}H/ʧۗDYʩ i>īP8Xd] \3C\\1xqM*c#}=I_|̻2|Ƌ<)O^O|>~~M?Cjf[0ĉ =D&W7]yAwȱ^?au'3@") (bL V=s~Zc03]k!v K/j͡|y,O\G']TC9?ʼn8򪓧qooۺBk<-4ccO1a '*\X=~I."lf#Q0] (8@g~ߺmyYlQTblGSXlc3\z]no>`k)3,`+;JsY?ؘN)q {9 㚻4V#=_hm=Gu- #.Ϟ87rwvd Ʊ|^A_u>o>A#DaX;ևrn>D9)r$D pӥ1cB^v#)t=ʤOO:c߼UO(7p2 T7aV߾U!Txn1n|b?=*FKw.:lfLdݘ#~|p/.{ݢ\_?*8 `^QmJxwoݪŕ_vN!k2wλRUU;an_~]>A#DW{uw<\+ e^8,9[眳x3zkN\ | 's-wUO{+lUwp=W{Y_a o^{#?Ow~ u<糮uF_ \5yǾ7~ո~vV-+̙wtu?S^1K}ܔ\WaГϻ?nP*xS;h48ۆuq|' 0Zª!3g,9U#J'z}?ԚNj=ۼV(AOҡQ8^LnBAifpfzf8`&Mz>l}WQQLmpxm DCS+pyY|}at!B 彥ҋKGi;@i*U2vls\~ /M{eq}u"D11r`B5H&1V$Bja]H/^E!BQ"D9B" nh!"DI'"DiA"D1r"D9B"F!B#G!¦ q K=D|Aee "b`2DL@Dl`fCDD`f"CLDD"&&60D @LLa`g%&5cZk"VF3#,P "Q!–aDP_[ikF!&===\Rj cƌFjM RJ"`~=N1 6V"1 cH 20hf& "bP;W( 8kl!7fD&6Sk/A6 F֥Y ]@!&/3aD$˅FR.2FZcIkJ+)ښ̬FbF3@jm4QJeD!ZLJ۹ZSYPp!&ȴ!MR:af2F a.ц5!b&6Fe01*P@Q #X2P 0 @X QYH鸎D R1 PX,%GabdKk1 E&@b`c`` I^f !Z+)&cafkMF t 0*y4cAr9?j\4 b㸎( &t6L 1H0TƄQm"lj6ښEI&6RQ%EDfCd Z D   2hQ )0!? 2lۭ9!ր@q(8 @dV* ("˖-!‡cn3Z[/dFA@KD.L @D,Fa1ȄxC*emR*8cOeVw~z,`RLd=>a4 /C-º ~oCOK&sQf ZCQ:@Hƈ dWN3ZJ`FDcȐI29#fkPHv~vΎ! t@}6'0;##RR;;seƞ9o-X@l_=i!mOSrܖ;~诎/s6W . /+++M,mΫT06^w>F^ 梆 h~&UUW~Ig L:{o*Yʆaرu C8l {SR"aC`RJbB84XUzDTwKgwf~3Μ2yG}ݶXŗ^0Z{yM#|ꩍGuRDhla3X F4l_X(5 `L88FeW^u9X[o;m1uZ|)K/^wܪ_vu-y/Svi\zgL'J-=Ic<~}WA瞭o~_r ([CuYxG~cR~/K\9͚ƮdɒYo1s3wW_^t3<e& X#b(ul Sc,,TcR!a̤|?XuuG|1Z)#t6ߺ|E}]mCm:B~ ~v\ D(@FhQD=o%q6{kmii~Gy\ry"?e8|qûE,`AznLuMUW^}A۟~橒0u-淎#_ .谻C 41<{ܽXň~w<3y;~wƋm?7jnWsX^.9{n;2 79}c֧0{߽{'}>2FoW45Ⱥޠ';İPf| !x<2RA(Q(K./Vpž@B! MMMerK:뺮b !"tR)em0Df`͌R aW^{ .Wɦsv]>}pرzz:0(qF3r?3Z6r-j>y(F.3ߓj F| kfdsg</jll |^ʆ{6u{WN8a`Y\[yVz;OzCm77}zʿ>fNf|);6>2r/b摕MMM ֠J300r#Xܰyk0 "2F5m"!8?@+}uwWBbC*Q.3 嫶f˚JWPC1z #"dR2d Wz(ؐ&T$"Zy.?Nur 3 )Kx"AJ \]K%R2lπR:Dvxܽ&Pˈ@/}=[nDY]]}Օy'ND%@JsGֽHOݲx_7zZgkݬ/pJ|9)'xUߩ-{e wnˏ̬l}R?)1*sWQI>F4C($_YD&TDdB:%2pʶT*Z+!@Ah])Jfjb[ycYR$2d4¬8*@Ds[Zn8Jʪ/}ޔgD7$5\ Eƶup ,(,zE<[ > =+NZGV%9эt˶BӰYCcaPj΄b檤Qk[Xs؍6X92Z+6a6WXpi.WRa&AuU1{6+Wrd` h(@ u'hUȄh!pxLsjkk汓'N1De?JDtqk 1\w[& 3mw_{ 4c>zӥ=ܒ~ǃ}uYțИ0#yq7_}tכ=z!/ HAV bv|UcUlygkˇuFhf  [0 U*7ѦXtI`kR8cC@ LdKgB䑅J lv?flB$VBCLy'DDՌ)>~y_[S &MS~zQG}c]v+>\w"!'[4\3Dz^:pQ>lwSC~>wNf_ IDAT ]]?gӧ8Y߷@.'zݯ9-{~]~w<\wc借ʇf5sy {~rBFNq܎qe Wdv[t0 H!D,Z " =Jjy;gbt]0Iύ lZd[Ծn l.9icBJ_ʲe.=ܫg[m5ŗ^vI'njUWr teB ,=7r=,www7Λ;8ttkc{~ȰO յW9lۘ?w֎ $˒&N.KmͶ|~E~ -O8M)w7EH6T\^y!Hd؟#l8=8aڌBD$( c8՗3v  aH-V5fKYю,Q糷9?Ͱ(/+?渣+kl3f駝O?ὧv}w|'Ǐ@uUڦz?uԮ˧Fʊ!b؂ óK9F^^^L&O9~vD/|GGSC\12o*J6LxK_ c( 3F&f"F@C7k;)rB[Q`"Ң} nI𵢈 !D|<8ֆ%jRx1lV%ш8>@!9 8\:' 4."~k-y/)euu,1B{jhhP(jkk8(jkJnÂy| h?{?+Vx< /^%?K#M֕Uӷ1ol6C)?r)ddVJS1v3abe[c] Me,dUJGDT+Zdl6Z  Jb-]7P]XWSW_#WututL&aV&(]a\B@&2qoj/}O?Ag"('9Ygx΍|=v}":QIJ%euƆ_~q#Bm`c4@CBe,X |^խ !MRfZc؀#$JLѕ` ؤ*-HP (3vāݿϵx.\ޛ60ؘ"B|eS6|q[׾(mM0ijAD9)Wj%F:j+0 hJHda 7>3R!Q:B0 [ 6sܚ}soz#3n/\bf 0R:,ESqEtfdcg H$l Ï[(~+oՐ.Y!fk*Sl1&J)$ B: 2zA@k-e4b,]61QWM<#H*X6S:2D61MJd3# G7|sXh"l|٨=2X԰1ڬhM\:ә K +=V!1b~-)%h P@.HLƐ@@d3eQ#ڲvLolxY]S@Xr$m"R:(fvm|R%#DHffbF&d=}2t\pH+T CMDa`a`yik?PJ'pyYAbK2xDD$%6D a#mƎ-B͜K~ Q_e:!&!ZZ}P)?I){qRicƝBHBGb2 ZwuøqRTEEʕfϞ)j"R )jQGӄXbbNhqF"JZk azzs. 'N=a\׵^u=GJ?tscL(([r_~Us̩bTomR @BF6r61F.G@)Mљ En̓K@& L *նh,K)F) ’ݻt @lQ Lb1yNjbIωAWOÏ<Jn1cƐ28B DG W I:"&!¦g#R @H7Wh= Q62]]=;1Mu5@LB 3"q;?`+b.Vū*UeIsE2+K&*ʒdL._/8q 'O2rd9(q1HCJ)ER)JGS[71+epvc&TBJ m ,8.j;n+iU 9 Y3#BsjkZF\wUF1.vt~cǴ=uyeUuee% CqP)e҄ƑR2b"lb}K6&yxg9m4v=jR"l""BlAOo/(A( HfҚR+%#gD&ݗOeAU#(+ >8R2 u[M6g)'Κ֊+;:OVSS=bDSSZeKL?y{z 00`1jmB"A!Dd!GaSW-r\Ow.&& 5U]Y+ֆ2UmM uhbر|Er~6ZܱG2k[dlE5 M_: M -l_zwho_KuvtھґJ)Zi)2("lr6@F^|Q BzkK@Q8B35 $uI&<"uŖ[Nd+0\jUyyy~U+>[tglM:}z2|AiB p]H<lV#D"Dl^;::uDa7Ɩ=/nK!(ֵdGbUE+cBfRt]ݽahdy2^U(/3v>Dsի|]mMxl3k/wttӡưI)],*\!iBd (9Bj B60Vwv,5a4C$Z WVbtP!9fLS&NXUUYQY&С~و0iҤѣ3e+{SB:Qkeb-P AD"D؄=Ykn9W8Blx?1ؔLj66uqk] hՙ?o~hujjTd2iƏol7뺕 ,lkkoi#>y ӹ2V`` (P0Fp򧃑:(>UߌO"Dfd3R+B~:E ZR ]nj>{f2ٶUsahֶIZt+++ŋE "\/vuukcֱXX A@DesYvSR;}?O ܺ1#:{|:g!BCU- wl5x8N63S11XYY2}jl9/+~:˙;m?ytZHQ]S=݅ aXQQs"رc\oo*O03hHHZ3)*.[w-׿«v'EYEa}Oӥf#%4ĖDZߘ]!0 QNyErt,Y6iDGzVLvll+KM.S컽sYDI{rw8Pdoﶶ+͑;aFmlSU2rIX0)m)jWb1%1!$p%(p=[޺rٲ坝]2jd&kl5:Ww{駟['UV\/\f&|W!O @02JR( $a ?z./2~`/|>кv/{y!߿覛osھ¾Y|0lyU읿g~˾o~|Oo݄f!BYXX)Ux>SD00}}i"jm]ye(HK.(5zdMm%3wvv/\4))S'a!˖%#G6N#G 0HD c S6u.*ZFF|;PLe GdU6. =15IUs- RZl ;>'B`B1 )j̙3K.RӦM[Ϗ{yɮGM-5.>=W11,EW<p<Pgu̷&T~UT4 l,@6AXX+`t&,]Լ瞻74zzz)S&I `ugEo3oūۻ@JL2R*)e" 8X\' D &<bڴi~eeu]`*++ch9O\oytu~/ʉ}p˺Ϻ^ӝe<ط:+q!uo/O1L7}W9"mၔD ,ZJe"rXDF/e⦦ƭڢP)7Z 1'[3c.s9s ujj&L'h[Ammm&cP@)0ո (!8DjӦM;S>+bx>SO=uP:ķ.zw>_O[vĸa[?ȽqQO6N(V~sqmw?|g *Q0i6{~F\O"D 70{wq+ꫯ2)Dŀ=2OmQ%&BdD!]WhaO/t8Rf'@s]Z붘:%&tIU soo_[[-<󽩬6l lx)%2@@-]v~ZSs׿Ԝ9sځt!BCI'"BaÑ* m\q\EB"`fc 9FB6SMe/o;w^mmMSsCRwޞƬƎmijhھyl&ITU2qUUUooԩ;zzS}/8yѺVu0 !F00u >03:R0CZrD"DT e p6̄ԟ(jVϚ5oeʪʊ -\'Dy1/VV(++K&Ksn 4˖Ο7\׭Z|RIJOJ k[q]O)e41@FD(NKʇ~?񏈎#D2uF^pֺ͊ m6zbgGDpGԊ\6\Lcd>ttFswOud<=,lT__3v9s̙nSSSKKK===#|@2)uVP@)ZJa# Jb`&RZ w,)_r%ʋ!Bץ~23D@fDו: X,СM]o !-) !r: h/Y/AAhCD>P2+O=Q__?ztʕ+njљMIѡB0G )fB0HJ`=iӦtMXaYr.E"D2#an#<X @$b aXV#@0!l].f0} lt3&~\.WSS5bD+VrABGJRQ Aa#:J)Dd6Z1Ah6:^!~"$lA @ 2@ a\Z+1dtB!ֺP(9%HēfBؼB ]PU Awvuah[|R+f•1aFD!6!B&?dϰmfW=uwaQ+]dK[zQEڻ  JQT***(Pz;vWJXzْ#w]\tgw239s&$q1ipbJPQ BAR@y 8 @\@AT*NW`  pEq۷\NfN7N1cBP)(BA@)4 Ag(!_~p ZDGx:y^^}mv^[b۳"*4-#1%Pҷ 啥Y#$1"zq-L{hˌ@ (<9~*0Q;9k 7,p_r#tdSʀG{__;Gԓx.7`YumAV 2HyphÆ^/?9{Ÿ~]O+"_[!{攧^[vوY~y$^]iM O?wNsJb\Wbcc<^` pߢbL"(rVSJbHtoG[twP> -=F8Qϴ  BI h4:9'BѨBmG222t:B!@  Bt: a8N 9y#NqJ`<> (3R " p 0@@FAPr&[f4v/y 3Ş >5{hN3nڽuͨPMOKyRQHL磊Hl9rke]'%V/u" FS(*FIM \ c59q F`ɏi }t^%}``ݡ#11G2(U=ۏM~b^83G-$P)(A@i4*@BACVVL/RUcF*#F##((《R0KNKL;ArdA  ǯp A(p AQ)ceuI:={[TYmyuuysoܹvD/MV7s&e.6%L-PT2*8xq,&gC3T~J7!3s^>3tVm}4Y>6^4v pA ':d֠.\jòM~pAׁk7^>|kwF'Ǽn;ZDžzwttDDFAsw2! u/$`ǏI,fJy% TAT? #(a8 4cJ@h4*ǧh(x>B'_P  R(A |i:A J o!oM qlCr_FC'r m.|9Gtn( sIVq|'_@AVU!Rrb{E!,Aɱ0N'W"Br-8(@T0 N @ee@FT*ռP(dm p+Q*ǎʫ:/ gn36icϟ?报wڝ@ (9%) L0Dc8A88(E~%p 2Ȍ8a(% .w[ d P Rԩh0 Eȸ4PP 56124|llllll =@ -@} Ғɷ *2@"C Td@E@  @ P!@"C *2@E@ HsLC%%%IIIN;t蠠9))SNNdee˦lfPۍT*H z-ŋߵim/^ܹ3(2~Fߵim&#d1##DSS @ZNoUT[[ԔTTTdgg]tQNinn]yqJj;i;wk>"ŝ17,!!˗/8h4&qqg&Nmx<2ԆZdl m;wTVVtڵ;wޢGܻw F0[7S om%M+Wd;;'O6rUl jIWLJ=zT4K.˖-MBrF[=qіS䜜슊=z{F#hj:FEQw>ɮS~qik9\occcTb # $ޣ5GE9z4Zbӌzdpa0rCfrN?zט_~zj2}=z++(O:wɥ\md:fz[ocxAC mQE8\EQaT*b0L&3[*x< Æ 1E.ϸb=EKu|uКA6W0@p@ T˳Tѡȶ _Yy?iF80-I\aӧ1s8k9[d|ys-. Ox|r򊜑SPP@>)cTi_*@SS+##] U@W7 q*ǹŕ11b_!}|OܝUYxϵW"d.Vfqٺ| Вstt$7)c8@pL1A8 $Yt)QLX/,"d3FE^z[T~HPۙt E4[va~] /Bi<`Ҽ|ȵ-oOɛ/f92ʺgBuG9+;o_ߜA kkkooo1E[1eEz]yt'J6NV3_T{vdSQ.vR!.=x;pq9Eeu(Lۛ`B.[iѢrbN 3®'ʵ]dPT-jLzɧOvY%ǿa^y~a-ZC'lÉ;]ccc BYY۷oQRR"G^ '5;(³׬4 iBNQ_-Bx=6k^&W36NTdtl\GE~vqq&BAeѳ+C%Z>wKT= -fͫ 3n>'O]5#}ֺb<{ ЫWM6Z[[.;J].[NSGDE;1DTm9~u;]瞩ϫ!~Fn[{~p L%Q Q}۸GKyw}gȺcO ^g}bePx&,`mAmmEpRL&BArM<O 7jMf4JMs-}J]& 3|"=CVųkQ96#eeeuzYYY# &khhN^q(Lm^;Vd4u. f<3kwz$xm],*[?Tdr@D3u&UR* r Z*zf5>O]E FԞN$Mv7eg yxOYq+YYQA咊rm'M HYYYY{ihi(w~%5J&qU %ƿxyy9R%%% `V4fww0H% Ï\75+ Z; <]J߃>J?7Ƈ}%Z.+Ώ:qiݱ2&.Gqyj񴵵.\Jvt}p\^C/h'~ϜQ(sU(AD?8g=.D8BP'W*3ެ7 ks)nl===淼\^6~!ϗX1rg?3e\P dkue}Ab0 )****g/ǫlߖbw<#zkڞŠX4wΛ\:v|vGFXҞ \S [6"E7Nw={(.eH{Ԇ>32bP#tuJٹRIM"" r~ l酾eddT-/71Kyy9J37DqUUs &V| 6_4gț{Õ{ /ɺzt:[nqrlafҍiɯNC>q*59ׯ_¦9U@ |5;Ϯ;#͗  9(FLnQKusHvKc#A88?V"p AriL]딱PP;ACV*ԓ޽ð4mmEj1F%MNӣ./y~%&61ܬ;lRj_9QΕ? btZcӉ&5v]`ӡ5σ\%R?R22leNԪJKKutt}$+3SEU5:6j%7'MQV: SSS'b('@ԩvdv[&v׮]+zùO>Ϟ=x>}llli\GGH,5eʔqփT1ىmo݊i;i"*))IIM9w.9Eےc()))**jii\.и1Ɲ;8%hypAD] YM!Uz%B^Zԟ' בV^-$%%ݡCK]EǧM*'"ƢN:tXFFw3335ro3&}_bRl"ۘ t4^h1ȟ[*-RdATo򱁾aȶfkL'((=i!E;t淌K@ *2@OZH|6 x]1D9W+W@A HC$?IS}?# @ 4eF÷h4۷%G-!Dj?^YYYUUU) SG.++@ F g- @wÇ,-ZBBB޼yB\@~8ܹsN{"C H  /^DFF֓}g<>>19s̙30E^9u%n2W5Tk'BU@d~U"H߹4)Ҵ䷤q{/;:;;_^mv6#-,1p0+䄷Q#':NI4s~{T|7tx1#G[y,RY4WŅu`5zꖿWZ+Ko4- #'Yk6" UܞƏ9}6^IqdvofG37[}2UtGL0 IDAT`sM.G9-'R2<#g:Щ˫Wrrr,--Ç~N]ɹrp4mmmYYGΞ'@Z P!*2@"C 6G׮][P!*2@GO<@ iPQQi^Eԩ2HCAAASUZ @ P!@"C QdB6lƖT=n SNݩ]ir ܢW\l:kqv ƻ]I)n:o%p/$y]|ՄO@Y@9յL 1=50nJqt4 yې"btEBׄ?^p4M%<]2eߒ683iBL}Zʳ|-@ZgnF.uz+Z0Y4布Mͽi)}6ȇR#(tHl,F gO051wea`M4v>]U뾢gYw@ziiyo-Tf~}ՀZjF݇|Lc5fc!7 _ώԵ\y Vr4 CMU ݡ-KaPMMǐIgKO@,DМ;V &u~hGћu E-ѷEvm)SzQG˭cJK?i\ԣOu_s.Բ:ivur+=2Y'Lv[7n񔬜W#߬ong5@Ut .Wl߷?cfs;-qM38tw)9io{::?>eGz:]gC mo] ʢijKOY~'ŗ2TQ䀛g\wGxj;i[O{ee{ISgD؜ʲĆ݃\=bC,pɁkɜ W'R#PRiD3j}oCu֐ɪ:mLN,Ħ%=;;q@g&BaE=CQCBg]t-PwJ/|>lj.grه\1^NQdY矒pb7V\>ޕ(23+ οXzcCotɺ?B~%s~{{հE襴zdjD3j2cG]555UUU ~b%6-Y؁:l6[U*4X!6G5՗MTB%Y954| /5DeAϙ*۱(ҬgdIanLڃ30]EJPK S5 <}46ucn_Ocv\I.ymYnYM̞L̼cHlE}x95 px6B Q׵5:9é2*)赔o_^,tOgXZ*E\[/4_iE\nQ9d=pB&lP}כ/V֔ª”-ַ]Mf\.@QTN&lFn37I+p^ֿgYeشee L" f7T8jX8>#!㖾zp꼗ی"G8XOC]^ uigk|:_yn{ŶZ=,\95¾!rIǼv22FnZ&,<uRM̞K+cO[CoceشVSinoA `̈{QpUBa]5w]`{6r9}/^ɱ .>{H3!)((r劥%5--M[[[YYYgϞWOO&{vUTf)"?i۬zC @ZoB|Z7P6n_H3!/T ՜fB =F@ TdMB@ HRRR MNMMMYYY@Aۜݻ  wFF*#C H3"JJ3-#C Hk*2@E@ TdM &^B7o8i-|=e2`u<1»'rS'wǭj(wG-M/j&l8;Q~i_rt_f\O/GRjt"|mdd&/܏I+I2u[U^D Wç/L ȦbIumm}$0omȕ yeey e̫KOj'Ă[j7ONl3'( Bgvb{!q2WT]ם5BDrD߃'0RSAFFA=PPߴK[tm/K~Z n GwjLAUSSEs^aRxW+x~ .X\S$q}L2/lY+K iJCf05s:"r$5&T]YsZgddl:5mFg(:DO˯kH|g/3 ΗN:Wƅd8n'׃'__ 3f9/c/raˤ> S2FQlɯE kJ:2W@f·r#Vg0|ᯅⴥO:.D}<  Uw, HP](+υ(q,(cy=*k -wX"`|- 3u-UefO&RYPUxY=LfIW&1#Lgu{#t}Sm2%OZl=j5aF o::~k(C!SE7r8P4H{ô ^(&-\T2X_UX8?OFiz<@2\IfiJ @PYNm2}m@ TpU7 RbHJqAHLL]Cƍ&&&ҼGE5Dʽ6>%S$r JKs(KSD9`We\~_xS\Sh~kG2χ6e"Qy%И='./Pg|تx}fR(䕽$?{|fP7e&A ]]P)ՊԏJyXT*BЙ]!Y7toe\nٷ:jҌ`40N2)tТ=`;-N+nƢ."?W eQ&*A)mvLփE^XSuY״ wSr n]tOG. S"{l.-Vϒ[4f͘SᄀNī'}X0q@BN[a+;O+%?Swh3e\$fXMF.[R S6;fQ.K?oqt̊fKd!(SYIZo~S@rEy|rq\"~\Q]3XdSpraUUarӜNNdb1FȱO!c;Pne5laVLp^Ƈ+"=ZLs|~Em,-C wOyyO;<ȣ(r,#+kӕm|]wYzj˫HAn/;4KE׮`Fgtݵ h~SYG[w[3O)CgY̎tz\gsp짅)>Qqۭ$yJ]R͍Tuzeϼ}x%zupY*Ͱm>EL5Rb_2yxgYi @gXUʲhj}IT;: 2al8"b'"5ᕅn7'Ll@ ?I% OYvqZlﺿq@ZcBfVwWm:j4X4"#}$iB a @ @ M8raa!t 12@E@ Td@E@ iۊL¦rwYtw8H~fٿВ?muTjEt6Uh9Տwhk66JJp97}G/'0>ݎ2a`8 kSxFgxδ<}T%K.HԵLS{YOKKuH*E59拄 W8Ns8氉p8KF㳬683=Lʎb~=Ąݶ̱{2ZS:2>'R+$jɧnF.upHxWˤTs9fPjq";].u Aa F=n\xS4v>]UUT)6nΊBPXOKK{k?nݵՌYilj/N0T:i2~m̢ub3l|$.Y_ǘK|:dНi N=_PPg,ҞL-{}?CfW^''#㐕_Z֍p<%+75f..%3'wTG3'{E*"Z3^Wr*-U~SZ6ۆV|o̓/Xu" gmhʒ>foQV~Ni2{gVd@ݭo͢K;]P˪vsek|?t޴r[dO\m]olmH%[tCp. t0ܿXCtfO/ ђ\&m2\ioa8AKm&ZVOk/1RǧvSq otɺ?B~%s~{{հE襴@Ig1chlUNdiTP/CUJcsQqq1Q1@( ݚέ]'pa(畿I;']J+{2Ky7Hfal ]D-fe=%KRwcW=ܒ{t) 40%]G]myX7&vQM4fj5~/v:ne_55N^{%_e|m]p41zVא,M_ܥə O{YfH"=j^"{$.8":(`(bovx1eb#-J>g0}&s;47a\džG޴xնݷVUoj2ŬO pee [ ݜZ7BPV [uh0F]'Ql\ZL4e".(5l Ox@0 f7TaP וKȯOXrxVdTbw,c= .w=V:z-H\7_g֥afne1 :hipƆL{sHe'ctBrrkUӇjiT@ԙu}KhpJ7aؙJMlɽ<̤}{ayMjc/(ubmq{y/kl>a;g\8'l(e/ݨno6gFL]OaR,i8ʡlz45 fĵTT r.adM+Zcu҄wlSUQ;+s3N~9p*?]N$(nрQOE7惡}?į%[$"I*񟮧¤Й݇^lE8k̕,U}ub?闃=(u_35&,= A 22 Aj?]:k{YU}}Q*^bPY; =fJ/*Jac|TN;w'N K5Ff(t,NIW$ˁ+2*+U/,h.M}iƆ0NګY2./)V_y45#F lK>x?<,8Ak߄ ˰VfܾQkǁ-͠nL (q׏JyXT*BЙ].փ+ΪNhQaeRBm,ٺ gr {w^[W,݌E]TE~*ˢH VA 2LYl뵳Fg,šj^R5-ԼG[ 2q[%y\ȸm8 Tq+G(3{_r0pӥY^ +a88_KMKغIF8!jrJϥi/;CCB "Jjo˸XUI.,'ȋ˖ª”s3Yo Onj]a6Y6wrJTVrR IDAT{uT=4l%dZkz\X9-umds{OEb%!ǒWd2J?xi:m˔| e|bz\*Jʭ6l;q@gVSʫ|AǑ=G,rK2j ju3Ȋt%n[+yMJ|]g֭*F#zmA!gЭef l/2"핕x3~rnk=e,ٱN]oP͊zʜ>-㹰SWQP4\^1\J3kfѻvȠ"e+X7yO=\KEj,nt'=mUu]{^_R)nW/:(7'ޙ#yM4'?7Үom=Wt}lvwǣzs1?zZv( {OqV+1i,uѸ-3s.{t)q_lyO֍Ʒڜي{T<̈V[}NJyݶ#E 1kG0FEݑxL`۽'wVg &A2f+[ 05RSUЭOIAR,bWOKC]b rʍٳ?2:=d+9Fu ohOc 5 #B/l6[EUk?˃Z3 Vٜ I=TuH |e98mPљsw*ϵE6Fw2oϑ3r$_<[g6v;CsM%o_w|ʫgM`7*}ɔ!<6aڇ}Nn<9~KoNZvAfʇ~_0d0Ecb@ڙ׻퓝⟐lÁ.w-hKVӓ_j̀@Z-+kVǽ7qZCW^@Jf%w,Z-hyo©XF)r3Bnt&Ȩ`l{_sz輲zl6 s3MG:Jx[lP4: 1N_q 7>=׌I㗿hgPz UK-W ӵsWv R9pVD)yb׵/3)/[M+CqhvJnr4TQAJAA^4i4zJ" cn=8AF\ITT0pPl5|ާ^h-Ւ\{w=UUНIЙk=(B8NFE׫}%h\W)j"Z>m€F|!M*,K$U D:>@\5bj]]* LOZHeҙofˉ?^|Z.(\P uE%7+XĪc~YڧTQ=xd*^v W|hrKw/!1c+:^d~ލs S_m;Ay+L}v5@˩Vbj {j=& ͵ ?빉f((z (rCqwKq@tQl\:Yů]JtC'i49 3Uns뜍K_W][ 1{=sݏE71 4n!bFm̤]9dttVk_x.)q9/OzOР3 V6 >.xwqmjs HkUkۂqie\[i|rym@1[5HMM{ǾSŝ-A.>qƹT;z;|l2wǍU}Ν^?D_KCIV^׶H;{g\I HD **('X r*{E=Eņ;H~渐?Nɬdy7O~=M^R\j(!iHױq?);kQж0k"`UW@;qDdsL`h@0G Dd "2ef?w {g,Fmem;}S\G$ ])"7c'RGM?p61L7 Qf2rڿ|TYuT]u`żxh+W#o0'iw #ez:D,ZT_]tj˻p9+C\.˭*J^?dnYUKUVɘ;YU?m2<'IGTLÅ'[O+lHe엧eu|0'-,AkIs4.,ٜ&M(x.jڈ`/0TJl2}_EgB\VyI$A嬦aͺb[)joSϟDYOf";̸>$ontogtґpGo9m'g]&"{9J*5%{ttd/tHR7o$9K%Ewͥh /1=3qFYYM屴]5}2FCʓ5m8{?c~h?yQULGL}\}Uͨ>磳ty}o},};3ztUCd7T=XVGҏr}W| 2#d,|PW1>a \Tl]aT9' ]ejpOY }S\ c|]ai5"V>j4R8ke + !ĮOQux$6yx}I {5TV (,{"-cщ|~oiϸ^;}u0C "NJ 'DpX,/m~&6?f3O]5e3B(?aI{C{F:nB1BpO+s łv]PU6vBM9"QNs;7ȶ7"]epzv}=~:Y SmAHnShZCn^"G*V~-<o[a]ԕŵO8MNOc%g&hu gKmӑi])g4:f9EFgmwdG𸔵;CPZQ޳ Ӛ,KJ !Ėش^ʓ7zZdT8l}i Bn}bF ya0/Own~o7˪}rrYU{bqw}C;}`$/'嘿=trNIf:ZSBy-f.ȫjh _:S4D}W;R !OC2ЅrD?6m`0F5G=H!6">+|6=߬H'K6J 4BOk;Iӗ Ftտf5Y+'+++>e !JH޽0'ł ?lϞ=%ə_VV<9ryy9 d0G "Dd"rv;|7N[k"rCkW랺ʪ#&ߨ뎞v=ҚIo93rWWw7]7T_d8ⲢָRS& Fϝ6ZKMYS jLD4aVW_ ^o!iTmQʲ$Xp<}d-#Zs`,,0r @ו}kg\7=TxIF׳t/&. }xkiۻLD>YyF.%H>%S92U}4]uM~w>޳|p/EQ)J_@qY!^6ZjjZ6^!_ɹjx_5e%iS3ZF)6̱vQnٌZ|jN?vj?RG`7r Qݢ  7Eҟ5H&5fe"mۢ>唊9'CVKZ~nO%"Jj\"f:7q/o܆/9*[Aݻ;m;8o執<'99*Odl¬w^3 #a o Rw9Q W?uo;%IJd?йzM o(9ײ{tpq-gj ,mx&-RmDY*Iv/Ҧ#iߞ}VBhCLzȑzt2sdgz^NY,,'=J^]$ZCuV{s#^\> #gE'#aü TXep#W}za1yl5%^xŕ]&";Szֻ=3l&nTؔYV_y@w]{TJm+|y$ 4g2n׵,Q%;mm|*b1>dZk!J^t8BWCN+`է #a!}Ro`T..:Z].oc2At?,T39{i>~Ò˷,U]&"iZ>2#ҍe+& U$)L5)mjfM玟36߯V~=qS?Wߦ sa/" ܁l{TzaFo^6q4)#[c0'NzS&bB,sfIiYqaiq 's{jg]B,rtn o&7=FFs4uIG9χvCK{=e5]7"k"o~lUGԱ8E_,vlk!T.~!;ԙa愔"%%bKXlffNMTA80o:)YiBMї}˄0O*n>5nK Qek䨵.Gy?|DљMZ*:FG 㪽̣ѽ #FK{jN.뮦oܜahĝv 3Ҳn_Wq;My{wZJs2SS6mEl@y q˨)79&(mP3sz8#!wD5 IE5jmkb]ZZ\U=bX'41BC]&"گt*Gs%*K ۆ9rUNC2D,Ս ywpD~|(`إ B^/^C!cn!eIa9&U!T<+)tB쪼gQ 44KǦ*-e3s>=G?ϳUnSSS3Dɸu/mj"Gd KPf1}(5/ 0XY.Xi+YVx%:OWVw.5jaڲg{h!V3*Qp8%b}8U5ӒFjYlG}6!#G4IDAT; ߪ&ɏg${FI$<~\.YWӑ\Xٮ+q6O/~wNu_jmL_:-9RXpY 9\n5㤍 9f#fh uDFxAj0_^bl6>>JY^߾s,4y#yå x7JydסCͦ\.yVC]:OG$vg?q󨬎i8MuT Nw˶6qVyBs!oƇNڽbČ6!~cyڮPPXwĪ%3Yn:a/*"۝pF;O]ȹ}.`r8U_#li^1x^C.)L\g?YkJ(WH4G_EdC'l\x+yOrC'?Q!QBzƞ]9eLO2:nǎjiJBJ3Ǎw ɫlRxcdƖyL]0' K|~ږ+.lvODw@{FngYV-@D` " r92@DDd Ed:. oCghaGS ;'E=f뮩m޶?F,2Ԍoz4]knPjԜ@ 0p5.=ԴzfkΏZ1yrVAfrVM(++u]ZȖ׼ȢG̽:k/ꜰ ̃j岯x`7릇/)GK\a7NOCUQElw5 ׎0SRRg:Bj@ z^Z{vlx;!ĩ_u97IqtSVӱPrӷ{75^{+^cF[мB.jLBwٯ o Zi>Kݐ>޾ˁ2Dmw 0TV4 r-4"}_ff?}ٲ3 y tt>ߵ"uma^.'$ʚz*lXJ̰ JLD~ܐd,6I?҆~zm0yW֙>XOz};bW*r9StBŌ3 /R2 eiwz'yN~׽|c')NBJ]4)m c-QPPhIYA߮%tzqKtxxϽVT5,-ȟqnhf:oj<';w-vכ D>UCߥ(i-ՖδVRsx! Ɂa*bʔ.1;FD5鿳 6B՞7DS9Çv1 8ͷ JJqqY jbmҎzNtI <Kܒ'}z%`BBrBjk՟S3ʤQڳ)i7f~Qs&B(h=:ok-[W;ml3 =_t1c2[rcMOm~-8']Z]1/[eTݍEXc-";>U}u|41_Iո #5ߪi5Es~w3Ld>d D.Pw+ȒX>0~F R7׹w_Sc2mKx/ܝYP{ww@ {'yNcT/s֎t(5rZvLrxr?o?=55nKՕM9mnkUFlS",ӖEi/!m4ih"*Zs7S-C1ΫgƬaZ'$*QSor|5Es f4)mխ#%sds@.zWk]]:sk%@kDd "2@DG`h@0G Dd "2@DS"2ķ3:Y Vd0V>U6]$Tv5{)$e&̾]ӱWZ2ZE}m#\۠+|Ue82jc훷st$hh;ޔln^ws,ߡSgZT!6!$b.}rc+e/AO+G_Vʻ/N 7̉(ᩯַ:U>5Dz%PUÕ$ZhHyrFLbssφq؉ v+KL |QVx@A%ZvC#euq$([G^zŗ*>2xAfV>8` ' ]<&aèhJA2,K`ssoΞ=wޔ09$ͱ_҆ um%̟zjS\.w,52*;ay6厖#^+cr6%ez T=Lx!P$l)Ռ*1B%:tsni B^y[8D%\.m:X 'W<֗ߢ es\mNtew8^ZRAˁjzpX>vy}ORRRx'&&$5%%%111gϞhnn.Yg'z1M`e#ː,hyݕ,K+B+;r0mٳ=SBOS(8dz> iI#,z[(j+}dݏλۢ&]o֋bsVHD5ߺ@Y4ּi:2Y}7|)BD MG3RfXKr̺M]VSh,AlוOQ ;VܱMb2a2\6iw-9RXpY 9\.GcqFAZ3B3ֆ:"m:B/cXl6p8%n׷K# <,}z-iD$%BYҏ ~M RoHneq O1sSe١CCpA'ӭU sY(jKDWݙOƇ<*cq>=mSl4*'C.ݲMbܳB`xvlk>1a~_4DF?T7VA(C`XON +4=d1ḻ׾!fp1k >094CCg}!d&5%}`$/"2U OԡHrj~{.'G!zCffi(zr!y= Ycψ/ڃ9eLO2:nǎjiJB "r @Զ[b{ ~4 cyAwP tؔ=)`0Yuw֡ۇK/~vta{'W Ǟw-*aO0n-W]hN#yDDI&6Ū`(Nׯ_4;7oFY[[:z;wg?~ܹsB222OHJejSٚaZ=|A`^ңKq?#UנYHQxF޽{ּ?nOlk|vH˻g >;p>YoTz6tg=S=Eu)42qS/TG'B7ݻűCJtkkkți"MX|b/B3B>Y]J@Hm1~a[_1w3*&;afrj2Id>JF 񴰲cEU!.J),O/w{g5Fd,KwwNyСC˯/ˌ=q:6V 7O-V8p"y҈ `ߦlm`<ε>!ǖ3Y)CO}]YYsWuX"K9N mA}meǟ+}G{ϔb~ 3U_'m?f)ydESf#.X$Bϧv<(3ICW8}잼'(٦BAD^!O/E7_x1C~],Vó^^ۿ@ŽTrzǣwxUŕYEum'w-ˮm%ظnp H.pKۿ +Y DW{, ܩ"LhQ ~?Й+Z(z<)l. tc4.!$)T[R\VŐiLtn=/` /gu`!m.QPZ=;lşCW 3/VaբQ~kjJR %!FIJoQ*Xj,MT L=K`Bf$E}d[/M"q=Z'Fc?Z>E\` }93b}5?lB:DM->~ ,VHj|;2䧹j4O7a |AuccuZJBMYCOF1u"N(%3*YRX[rqh?Ryí,~l$EsD"U7v^0Gn66>!4OБl.4b^z_[^cWҋ*\n}uKd18A Iwmoq1e\8P:b!g"/ ?$Ũ sՒZ$tBc?3ʩZhguhR"hd(醎#: O8%o+\#-'ʩ8iF-%ɩ oОVvq&l`_ is a graphical MPD client (GTK+) which works well with Mopidy. .. image:: mpd-client-gmpc.png :width: 1000 :height: 565 GMPC may sometimes requests a lot of meta data of related albums, artists, etc. This takes more time with Mopidy, which needs to query Spotify for the data, than with a normal MPD server, which has a local cache of meta data. Thus, GMPC may sometimes feel frozen, but usually you just need to give it a bit of slack before it will catch up. Sonata ------ `Sonata `_ is a graphical MPD client (GTK+). It generally works well with Mopidy, except for search. .. image:: mpd-client-sonata.png :width: 475 :height: 424 When you search in Sonata, it only sends the first to letters of the search query to Mopidy, and then does the rest of the filtering itself on the client side. Since Spotify has a collection of millions of tracks and they only return the first 100 hits for any search query, searching for two-letter combinations seldom returns any useful results. See :issue:`1` for details. Theremin -------- `Theremin `_ is a graphical MPD client for OS X. It is unmaintained, but generally works well with Mopidy. .. _android_mpd_clients: MPD Android clients =================== MPDroid ------- .. image:: mpd-client-mpdroid.jpg :width: 288 :height: 512 You can get `MPDroid from Google Play `_. MPDroid is a good MPD client, and really the only one we can recommend. .. _ios_mpd_clients: MPD iOS clients =============== MPoD ---- .. image:: mpd-client-mpod.jpg :width: 320 :height: 480 The `MPoD `_ iPhone/iPod Touch app can be installed from `MPoD at iTunes Store `_. MPaD ---- .. image:: mpd-client-mpad.jpg :width: 480 :height: 360 The `MPaD `_ iPad app can be purchased from `MPaD at iTunes Store `_ .. _mpd-web-clients: MPD web clients =============== The following web clients use the MPD protocol to communicate with Mopidy. For other web clients, see :ref:`http-clients`. Rompr ----- .. image:: rompr.png :width: 557 :height: 600 `Rompr `_ is a web based MPD client. `mrvanes `_, a Mopidy and Rompr user, said: "These projects are a real match made in heaven." Partify ------- `Partify `_ is a web based MPD client focussing on making music playing collaborative and social. Mopidy-2.1.0/docs/clients/mpris.rst0000644000076500000240000000573213032547651017461 0ustar jodalstaff00000000000000.. _mpris-clients: ************* MPRIS clients ************* `MPRIS `_ is short for Media Player Remote Interfacing Specification. It's a spec that describes a standard D-Bus interface for making media players available to other applications on the same system. The MPRIS frontend provided by the `Mopidy-MPRIS extension `_ currently implements all required parts of the MPRIS spec, plus the optional playlist interface. It does not implement the optional tracklist interface. .. _ubuntu-sound-menu: Ubuntu Sound Menu ================= The `Ubuntu Sound Menu `_ is the default sound menu in Ubuntu since 10.10 or 11.04. By default, it only includes the Rhytmbox music player, but many other players can integrate with the sound menu, including the official Spotify player and Mopidy. .. image:: ubuntu-sound-menu.png :height: 480 :width: 955 If you install Mopidy from apt.mopidy.com, the sound menu should work out of the box. If you install Mopidy in any other way, you need to make sure that the file located at ``extra/desktop/mopidy.desktop`` in the Mopidy git repo is installed as ``/usr/share/applications/mopidy.desktop``, and that the properties ``TryExec`` and ``Exec`` in the file points to an existing executable file, preferably your Mopidy executable. If this isn't in place, the sound menu will not detect that Mopidy is running. Next, Mopidy's MPRIS frontend must be running for the sound menu to be able to control Mopidy. The frontend is enabled by default, so as long as you have all its dependencies available, you should be good to go. Keep an eye out for warnings or errors from the MPRIS frontend when you start Mopidy, since it may fail because of missing dependencies or because Mopidy is started outside of X; the frontend won't work if ``$DISPLAY`` isn't set when Mopidy is started. Under normal use, if Mopidy isn't running and you open the menu and click on "Mopidy Music Server", a terminal window will open and automatically start Mopidy. If Mopidy is already running, you'll see that Mopidy is marked with an arrow to the left of its name, like in the screen shot above, and the player controls will be visible. Mopidy doesn't support the MPRIS spec's optional playlist interface yet, so you'll not be able to select what track to play from the sound menu. If you use an MPD client to queue a playlist, you can use the sound menu to check what you're currently playing, pause, resume, and skip to the next and previous track. In summary, Mopidy's sound menu integration is currently not a full featured client, but it's a convenient addition to an MPD client since it's always easily available on Unity's menu bar. Rygel ===== Rygel is an application that will translate between Mopidy's MPRIS interface and UPnP, and thus make Mopidy controllable from devices compatible with UPnP and/or DLNA. To read more about this, see :ref:`upnp-clients`. Mopidy-2.1.0/docs/clients/rompr.png0000644000076500000240000106672113032547651017450 0ustar jodalstaff00000000000000PNG  IHDR-X!dAW pHYs  tIME   IDATx}w]y}3ܲw{ծ VP`N\<'NqsK^'~v\B`ˆ^DHPezΙqv/ `sϝ33gf~} ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (~ ]P@P1>1ԓ ( (`)CA!]`%pa ( 8. i& l T@P,_{Zk3#1^_'"1 ?; /wcL8Nmq!NpOX`8,߱Xf6H6ƄOXH~h up5l26'^L q `2m-^:?)NT}@,!}DBu8u+f&pcHq gZ xS F?" H㛪<%ۯnA8޾FG0S#bee̙3{yH)"XEeef2$", 8J 6hm[BbS 80pfd`cњ,HaLN""D@1&1;lHRdDZk!>0[sy$g-0^ !֚_GDB~)U x 6\f~ڻuHtfk^Gu(7//P&FĜʆ32fDF;Neh54r]lYe 8v(B&Kq6D2tWk4`q;;QpȔikR޾d*W ɓc1BI!=߳- eDDMNU]`QIQ+ٶ?0gΜ{Z 8DQww7"`A"B0*%ɓؐ 2D p唖uvv !ذؕŝ]]vtt1A@ctR*,)aL ލ4Ssz:ɋk4G^ nʣh(;i@d&>'OjhJFgLommUs@X> uSwx0(Ri@Ėضm")/ Z뀂ipk ؖ=sn4hN4jt85Ft3gK;zcф[(r^ݤ:}J+S/-M鶤UZVZ-qgʤwFP5u%#'p*Ty]]D"wvvN6-J:t(nyI=3EѾX(#n cXBb`?- @0 [v@LHF!{cc&8&(hZġ5 2B5 3̌ ڠama$0|@BǷfD۲|/NKI)cs$f,R$QZHZ)!ehq1L<Kv:zHNz4Fb_ u##ٽˍA+di,7f&ڰ,4TQaֆIi Š0Jki :4'@eQ_~sBiT@(fȚ! !m -՚I R!1FP&Al hUC4 0!M?h : )$@E1 % Y:FaV Aʈ c04)N{3Yh(Ufk}at~ic]MDP Q&pu ``ho;{##U](PD W\*D_b`D`F4h޲Lp)@c il=&1aЊp< #@b14` k !]3& c[LODPY 6(4ll3O eMƆ^$[#"2lC!m4 ' N2DlQL8ޑğ< !h0akԸyjL ?Q1f/W+=*7g*hMEf:nD 1Rp4A3$Ip17ڻܙ1cP!DoaSC, (4$ g0S`!!@`Uo6HF ` !30'0(آg`x1$,F[8  w9ΌƩ ':>96Ñ;ڙx۪T?~0 8smlW~` lRR.3 AYyhZRBB5-4CbĀ>=Vp0ւBc΄1@``PY*mfL '<Cuv$) A`0aǚq]5LPp-~aHKP :fB /?cNcE_dR6`L@` r81`tg0*f F()X!B4QxP+ Ao B$V8N>3Ƅ lW/9W=]3%ڊIbbD0Ƥ),xP@ғ>Z:?_|<j…sY)&g6=U@Xv](3%_v=XYFD'7c?/bpqۖy7ߨ)ep=wNɁ2P- ^_p6owffE{{%b\}MF܃j(K @3}aֹd #1l IgBT:%-I30Q$k[R =F`Kc[(?`$F-;6{N?5><.@"k߷kǺ>mTy:gYshmxD훷܍bkf͚7'E?l.x7J++j+O7~{s39c޵+]|Qwl&wH׹VΚrM933'MK5ki+[ܳOFemY%/|76\tk80ǞlaRB[K]ѳ}OӔ_~e֪ƅM{ۗј1,dk_Yf9g#+ڸɍ$" axN h H=$,+~+D0ټkdž^^<+--*+Oʳ}3gfqwF㬆ӻzjjjiko4* w_*'?>:cƌ믿>˲|ߗR"#JKKz8*Bw˲C@x`m;L~ 86" lWҖ`LŲl6:.ҘYAM) aS93tGB~`;H,H*C-O^..QB:*JNH='#I ?RJcx.=-:BW#9Uʣ1 E/=ӱe/rNߑ(3U Pg:{Q[H%lBUmSX$BN' @l~2mMdPHpy+yv90_?'/D#g l0rA^~ȧ0? LdP5%]ubv o|BЄp&->\ž8Rmuf]w@ ȂHk}6޶ բ'ZlAR%!HfI:6"ɦ2YJF`V=b-ذ,LdL\F>.x3)v3]xp &!Bvߐ3Ci!$ 1 0px{G`DzD\nKBmgh2ɆJ1S"ȡ􆑐5TUK`Dp]F`A#@ C>WAD,ft\A/M\?e60$ȬfcBmij1A Gb%VhilhWRr$U0z B10-N ୰gH/7V6 ;BxJA5, }I=ṅ:'4 }ڲc"믿~뭷r+24˳wyggggYYٕW^'*c1Z@κ:޾}RF~u]>DC@ vFң+^xȉ_ҒbH0X VVR__OwĘ$Oz@7T0_M!jpImn^ꤪDiOdk}hۼogQ}GJgK W}r_)4---7tHh~H$~򓟄k8*w.-R^^^\\L& GB)f:::r1&*T577z_WsYq!e^z|*/U6u]vH+*ІA>p'[@1/3ͩ t.T##lU*dQ*;|"<|xсR9_yy|?g<}f}@ܱ3Q7lzPkaP@z;al޻quw"جY}MVZcǮ r7xMS=h/_}_p 7L\O,1sby衇oc̢EڼFDl6!D !vܹx/5H\eee! ^x5k֔۶ܼvګ:ow?L k%-su#' ?US\Y{?+߽xLNrt[~k}y_oo ~g_F5gͬLg+ȣ?V(%kK/⺱䢅j{vR dP{!CS&g{s3c}[kfFDS/+N1^xa6]jUƘ[q43ހޖ[m.z&ٵkh(f\r%yscO<S+M2e׮]DbѢE畗Ę D"RJ"rGщ LёL&L۷o1cM4uϞ6mڲeˊ'*'j1~HfBn$9o~<lݿ}ڔ)wΡAA(.ow}K7fp_gqY|=%,<یDLoꔩu5uϟo4OT_^Y* mQ)v 8kq>)AyrN6U=y8OKlמ={m;^8fCCC\xRR~V3}A +J%ᑬMn!{-<}f&ڎ^n˅+ꪍ7VWW/YQ)z7)eqq1Rx>wu-=Gl~(>Ncz.[z<1&/IaiHϱݚ.sn /Xm߆### A\ו;ʈ?Ch{ wJD"ADBLZ~c'dwM1uK8#X'(30o{*a ;MfIX13xi,uwwO<R^ڵ"-ԟNvh[ Q5\W,X)b=C6__bũi.G:b8?;dDoQgFƼa)04]<4?2(XIdJ&1{Z33XP\._i''{Pj :1h>Bq]YN[zo2FUP)eAc{HJGE;(ñciP'O cQ"+HD>}{۶"q|Ľq2Dņ Uc `4 5c$41">22{21t'0ID=Iei8tOnw[|J78ƩN<ޱGA 8f%F;("d@@ٰ dB6f ?m#>OgbcpǓ>]0~PBa,֡jXy;9Oi(NvԷ'9INPD:)wۍ 7;IpS)D4M:ێڦureÚ+'e${4#"b@(""0#-+ 1`!H&wALl@Pl9 !0' .DĆud:v|UdӼcO0Ҏ 'קZ C GaQD Tt!v4׈ h@THnؼu=11OCcLF)D&a,1GŔBBe1߱s앉*|G&;6vI #<" qSu܃|!1m\q+-_R<^mK P8`㶱w!N'Ithز,u( ‡HaJ-|6Ǽ(_)yq (FK,Dž?l&>KkP1x##>cβ Ai! x}~@JQ%f%Bky(=émŎ3Qt6n$51'8">߆vO&rJ]˸0ʪ{Dy̷hǩ-4'9y%Wz;yU.t?|D`&$GH 0<`0ؙ"d&a.%ŠbP 6 4B&X79-B:>{X!Ď;,d2&a ;t*m#HFTCCS)%ff$FF̙[nS` Tqplhhw2sGĈ]l4 DLq+;(XG40#9)m r`#)@3 )s)cP}KK:888gΜ0_0>2C?񛝎If̜y<RK^}yM@? iϙg>sǀl8rsS*O I{ɑF&fFڝ##\hDŮpS9Q 9H(Vc0c;!kfbIR@Vl  ԆQӺ҈ɑtc "NlBfEh>`c,FHeYA֏l!D:noo箌F y6*˽x}c%\BH}HFX~](|vWRmF@VΑ $ilA "Z&$ ܣX(q7{9x+p'Td$Q2l83M]\Ȭ2 ,oр6iea$&d43ku|p `VA a1q5\`fj(0FRsҘq}c4p ?UU)q-Xꫯ~ر{ҥs)++{KKb]mmwRrBY%\A@!|b <^{yH~U^.jժ-[$t:P߀51yӛh`pʴΟcΌ*;Ȏ4:^ҊX,[bI!m/vڵiӦ-7ڵc5U1miPBeGvv$KiU,!-l!JK4. Xb۶mׯ۾c֭\3:8O? WԓYj\wӿ_ YHJ+%k#{9 ш{mm۶m۶m6mڱc]{ʢ1e{~A$JΘfΜ&BҶhMMф=`ˎgn=^k]rݧP% ֈpw'e5=G2Ψ:tp\wdd`߾aq(ӴmIOxС)SQ֊k=uւ})LmysR,2xIfVі߿|U-Y3k[}Ŋǻں+e1!-#1;dJ[s֧~MEC" RX M Q9|~{vvv.X`iVV zdSCg.i|}]Z{1I_K ǒGNRd'ߡ2mhҹr:-[F={=i47Lim2ξmzRH2US[S[Z`K=+ (d9lВRZrقE2ueeRʶm!m!@ ĢCfFmJ812^)ٗH׽oi1"$!Qi-H۷o͚5!͟?k ͣ>|eڒ%Kbg(u[l~՝;Ϝ>k}nM{FңEnÇw^u;;|3_|qSSc(1FTdd'ꚥ3^}e#*q]#h~o̓[?[0I3vYJ-ܰaúu*++7o޴oޒDQQÔΧ_<{r흋n]lq+_=pg=W&ՠ^ڶm[mmw=}_~9nݲ~5LZ|{Ҳh޻~ ٱ`ˁ/J܅?[ںf5Ж+9–ׯ߿OܳgOqȒC##UBV /N>/yEŞ|ڜBf !;GG5{go94 Do*G[EgWTՔG#Ó+K2]7޷hO<o~lCΩ̚7m߱jr[ۡG},w1YRصD$ڲwtׯ}xG?9qʆ?ՓfqS`ϤzŪHuСC5u{vM>]J,߿RZ뚚PFDࢋ.뮻^xmJ?>er-]T5mo27}j`w"Ϙ?}Whϝ1_?|kٷ|n>pﯗ755aÅ_ry~{qԟ1;w\0oS,Ya`F4m̙R32X+7ڼiμ ?ΙhRx'ҾkmhMgUK1B9{т-E^~o:U;w67T> sfLo9x޿ou,;zkqGM>Ͽ 5*i(Jb[n(+ l`\ϿRoSO?SYWP7_nɓSݝu<䳳Ͽ$>˟v钏(C19 #.> =C[t2Τ׭[N&}K/[xÇ7nܸg믻.Nw(g^/+S7~j &d2gkKdSO47XQ]~|'/x&mMfÛFn3?ODtA֙˩Jsw?,Al1M8sߝwoQqy' !p?IxDD_|e^tR۱0hB-Ԩ0lT+fɤVxUW/>,KDNc̛~*v?:wڵgsO>U7mƫ2{»ult7=Ѿsλ{Xm[3g 7}m;v^q54+-;͸>(//߼y… _^~}$\pWO6-wv?PUU+jEaغq}OOqiɔw?FÒ/8===jkkm!Aٌ9J~U_Xot#!2-y#ٟΩZ2ݑ>i᪫3gK.+(R޹sFcE#ý S{Y۶oz?O>{ӏ=SODe`l`۶}W_wu .-N;SSSÏ<ԓee%SwQ\SU}i @$]0c[Xu\wqy6&lc!$, XP<7v;WW3DY۷:|;7md3'9aۻw3{n'i&Ecz… ͛gu R^<?PnܸM6H,|i瞉̙{z :skΗztGROkJtlXmGlDPMo~lO;Y ҩW]ޓLO~xx(L6mŊڰ 8M;/>]A< TG-n?ؗ>:jZ}PÌS)S&W.|SkjNeJ\?ݶ^ 7jfP;v3{"&\(_RʶZ"ڿ6M$ISEMueO%EƕŵR  ڶ*Oҋ[c̷B y,䄅XB IDAT{6mM:N0!3TAD$TS[w n#Ymn4{Ɣ[7'BPȹg?}?[^v]YYm۩T<_ݾ};+=@HZ3Tⶖq}nsPWA79p}}}ӏ1~|]w޳f͟oYBpuOUԮYbph(B6km=w{HԤ y'N<㎛1cFsssee%(i*N3x~{)++ۺukCC=C^w%M#/^D, O?r0,XpK.HRnzpK&6TPlƍ5u|p2k%رrNR>.RJIR)Fv`I$@̤u] ́"aYEEe<ϯ&/SUW؊%ee!@q&NoOK,uX7h-*jZv3RQZlO~L6G('"}_N@:Tc^3p]wLh:o~3yӧ?N8|]zD#yÌChBFlrKꕏv9cWn9i\D5relٲ뮻NAI`-߮1PlI5' zV4B+ _a\d3 < d!,Zwi7c^)۹ʄ T"Nph|u|'D,1\qRHHVn.AJ re2nYl}(' L{Aonjj.ωxL&FFđpR9<ӳߍM\*"Iwu3&nd:P1#a)pP{X΂O?X8鯫3ikg7w'36SLTݟwq1\Y/}ŧ F# 9xnk 'W V7v=?~m]a#JҎDvӦ=$DD;4^CuuuS[ Ӽm!в&nh(7<]$h/y &t싄h9U5Ij eӨ96m?)2nܸI,>'4 g}kWΛ99X$e 7&X"^2ʢ ω $;vui[u6Ə6'IH|/{*fLoښ 5qS]I+΄$LvB!EpG[:ÑHSkv@8by}\=]~섐bd+`'7ޕR띰 If\KV@R1k5tuO C4~ }[RA4] Us2v'Ԥ~k^|&6KlgKNԇr|u=}eՁ sbeqz =V#dJ!hܳEI7@$_XfnKvVs>0&Ԝ~)!'5C$\7ƥ5(x8 їQBes,!Cۋ9CdO5, ~(;I*J>*!Dm 0Ҋ)))3 ucm$ӌT:nRpuL&;DQ6R`%][Col6[xbn#lCF4u8F|Z͒ 9"dzgF~h~L PFNouuEUXz_.눃~F,/>rZ))6 !1 24MIi*jJǐ6@4B 9B(j)"epX:L"!CQ#DH 4/VF>r~_ӌa<`6#v}FD[@jįb0Ș`HID3dHkM<#sEOϫ>t^0db:1 :"Ҙ0{MW P*~LӗʃkŏF/z< #5jxkp̐ѽ?F|HVHG+rv$[[ Suc˲/_~뭷ٳ-RJ $)ϒ刨Y9[prsƹnɿu-^8. S[ 8}~w)YJVpȄX;;;  ;, JͲހxXuE#d24 QUܶmDKv4&Ei4JV7״MMMFx-`7d2 xMf›DUs (˜K)Ѩ3)p==f?zR:cXdo^#&sh1ZAPz3JwTef!t:] kB{RX±|V__AB}\(✧R)8\A0]A4h}AS0MlD2,PJ67a.B+ͼf'Mt̚5kĉm ڵ[fQ`E[%CkpǾ+8իVw YV!^WnRH=l{{{2ܽ{w{{{*jllҗt=tttٳgĉ555pK/= _tnBA};J(Bv^:rdrΛ|ͰCًu>"ȷhƏ\rRַ~aqвm@P$[>J(fž6cWk5g->eWˮ81Jw8ׯGɓ'۷ohhnԩJ={ bGGGyyeY;vbK.]rŋ,YrgG64:^tU1]^> #mF7q*PJN&??ʞTF16o޼{hM:c?^O~qk (%S 1` J)UQ^^YU*c[Ap]wΝ---MMM'|r!a}P(k׮6 0-͛{w\)4) G5+o+^E"fSH.AFJV¡75⵾>᜻eZ뫯n3Hw:s~_|طo!7L*&!b2b/7Z끁>~M"QV&b/~Ν{y 閖H$.H$cǎH$JԩS{{{۶m{'/QG(9q<#`5>-h=FķFJTp荙i9s̏}cf͊bcwu<`z^~_ #$]N9;kd2 *++_R18>~niɒ%[ZR{6IQs(J)d 5n5ɓ'3J$w_ggg*Fׯ}ZL&c 'ۛd}l6{޽{ӦMw!A&Gy8DD bF1XzZ0N!)Q, d%zCd^{-beH ;w\d曚+X1:iv7r-H$N?x衇C0v:P'zwPfϞ}UW}c۱ca)訆9&Lp]kٶm[uuIڅ(=… [[[/kgܸqh4 mݺ1`ӧ?_WO?,X}vW#]cus/ᙧŽl!i"🖿eóY>o} tFb͐ZO:n[|B Ga .q$; E-֌(i,@2=㵣4viHdV3f׿>44Tf2}%&3r7_ob۶m>3-ZDD=#xC}tM/b X---t KED555RJ!D.CD}z&y''M$5k֋/hh+V}…nݺaÆ˗O8Pu(`?Ϙ{n/Oq5?y]{z0_v>/<]Sݿ?kq\bΝ'U:nܸsݓ+&?0[nˡ xxpu eXF~S\#*$6CH^]C&s#}믷,KJiJR֮]~zXMMM{{{ee?q8w޿4%9s"Mч_vm&3gN8ظqNhnn.$̥~z$1/VXWWի٬'G?*0ie~WBmmmK,0aB&f_dMCDى~nVE2Nq@y#Yf]yƍ,+Jeeed2khh(//WJ#;kkke͝;wmmm\.uɲ8CnE3#hܝuk  ޾ԕW\n:/eh`y{w}N?jh?sAu'=~{);Gw;#) r`TY Tc5uY*IOd視1)emmqge2xg16ÎR)of%y#r0&SqOcx˲&Md*֞1, Öeٶ8R*˙~H888x]ִr]wc |Eǿڗ:݁p[fhsg 8^xaSSq֮]dꚛ'Mdājkk#ȴijjj X1ϛJd2 #̯-k5.'T&d͛w)vwwJB"o>yjӠnb>Qu+.4~gΜYUU5uԁ>}'M400f+**B$1DGz@,* x2Рd;b1Ad˲٬)jmmEĖ?_tҡ!uć?a# d ψ+($i!TVpDq"a5 K PyCr-"\Wli, Q䄦bI8$!6&e3O!\['Pe/hlT "~iJn Ϟ=#tuu}Xn]ŋ~)SdY(gϮ6m!/r4 IDATTWWVTTyX, &XgfBA+a0@T!7c R(2>YMMM"83WXsn\ ׿;fH0 x=g<_hQeeR*ͦSN81Ѷp8 H󼺺 60z{{w5gΜ]HZd+ %@E`bA#1@pD 2 ȸm&lSDlD$C9zDJ!B@] -չȕ/^oJ vDhLD%+ٻ25۶WXq駟yfZoii99]w].18e͛7oݺu\.?+,$u 0MƏﺮhn}?{W7ֿկ 3<Ӡv.BoO18TEk6%~}}}t08~{2|Лe\!8eYL& mV✏?~̙ . |͎Z)#A^\l2>!P!qq@!(gD5p PȉP# #@2 F$ cl!|0]ҫT^PC1OV)֗d&*xEf9{뭷"駟n(]]]{P%K{9YlgQYYihӆVYY9<̀P5ɤiFQzUBzкpdָn[lmvҎm(ڳ,X/66<<յ`C p4ZO6-ZsG$jN `@N{ܩwn٭{ip/G~#k䗽X>mV/cR1-:k[T6Z,&D}$aUgrd֊฀W`Pu 4+)vd$ʋ)DGl@@$~GO:X,6vv+R)S~6iҤӧAD~{kk ֮^/tqkYҥK|ɱR{۷Ŷbv߰˅h4F)e(ϟ8 ;7\;a-TQսy'w'oƺ7O(ܲm̙Ob)d! )ozN qK\\~ rȰͫr%d%{"!#4T^#,%&ƥY ׊वeYDsʗ/|~ܹ668GHmYjڵk D}QjG&e˖-[ G*j-B.+jdur T%|b&АL&3qgԉN:$0zcapB+W^r߅,{@`E?뻋~8xpWǾ>oݭZu_M}S яSm(}po@M0U+~}?n۱iX`A yٰ . 0;|wc DP2^읂CĐ8$^EVab\0#N%@r K|{Y%'MBiL͹SO=jm^\F@Dtl8G&⌿XtY#yC~ovvS[[FDggg"}=!:;:̙s`I+ /heWڷ%tu$sVee|s;JbZ~fz۹߿S־{ǎիךVs wdj{A++p$,ϲsSӣʜZ)=bU P¡읂C:X^TEkdW佞Z?'ܬYϟ?a„֝v?v/<60^ ^Ø!ZYzȲ}CǏ5y5s p(Nhh|bjb/n~^`<(Pmߺ1f>-`f2|tٲl6\rx܈e]6Zr\{۲Q PC9JEڻ]՞3ea% JVw "0@#I@RȀV%z#f켡MOeڵӂ+ Y)Z$/Mzl_c\.wu=c7o^dPuum۶m1'tGGue 㒈 f"J Y?d$q.Lq: J^*858g8TCdTs<CeH# G0w-UQH_F7N[ԖE*Qd2 & , BykaD)}#z[!5pm$]޸r+؂4iO}*͞z_oֆB>Gk (& Qh\1JaJ)C*jh[$ޚ'!؀PD OZ/*tզh]}@-,A8m#&ҥ׾d%{FP(>-Y}#eLXYoQ&".DggGf7:t:}xK.FKGsÉ璉͒*H)H 51F 5RA BRl!C 2z \$Pp ?GYrp}$\<0zQOY d$L@C#BʊcKOG1-GB##@hpYŊw(23doH2Z͘2[߸ANc4*8aLn;sw}?׿^좍P_aa~o+.0M"1i2v81TtO B4[!": ghGVZ~P%ʆ_}C%+; ! 'NJ@r#RɎ*PgdzӚt[Cf՚s 4pDd9JF0R `42@R# 'SFC7?H4c}W_zyTp#H@@-%tZ͖Yfw}H|% ̎v*LhI!?r<--dட-Ad@0Y a,QXZ(0h%r1D\+T@G2k( !VI ړ;HݧD3dkr4 /%+;)$"{]L30_3d#d*M|@߇P@"BMʬҜI 8H#qkYa%&y/j001?5wM;8<Mwc Eg-"Jѱyp8|W/]jӦSL=Q ΑC7oԧ:uQݸؗa{\K޳ޡl n6įt{G?i$bG#uw_j_WgNSFyoLk`2ѐg.c+e5J3]S(Y18I"mX`$ Rd/1SayqFAf u1e#c $Db1H3" IH?CDQdg$Q]|Xő> q`pp*++ ]bϞ=I'tYg!)Adɒ[:=Z&6O7csM67D874|ӟ|/-YSO빢;؉Y3<ܳٿ!͛{?oL +?|׸ݾk̳$2DL!h ,PV +PJ!ɴb17wIcRxH5;C(U4b2S9j9V"sd#2 4""Jd^ B۷o޿O;T*nG??s9G)93 橽]߭ӮM9&{~.;p߻O?w҇?o^K¦m7pqM~~㓭m>g֛?M!& cA(Fmmm8wa޽s !Qٶ|`ɒ%ϝ; ”j-s\x&}?ÑCX_T*e+QC*`BH_# U` Гo3KK H Pj P1vT(!1"HjF 0e&dUW¡CPg` o(cscAh,]0:8lO7U{~bs{聇ǰ;yzh[ux8u OwW="pSsӋ[7Iq9@dZi|"PGEbH&qxUeUo_@?3M_<ϻꪫ2X=/`˩9qHs\EE.;"35$]%@ h#HS!hԚn+RQ6,Gc<D,}85¨7*͸~GE[⑧ÓGOB:RBXa~ IB~҈3D$ i1mU_iP@aAP5Yth5*C -!t,rchPĴ&"bQ9-DW'@y?Ԩ'tG51Pߎ2ƚB  Q[L! BMfR !q`؃cL)uL`aaQo"R~*HDPc}Cqs4r!64w"߅ZQg&-HJ) r 8+sӓ( !@$!!8 Xzڻ fm؀ !rHL?nO`2zzt[U'}C цp`f7IRHgάX"ujojGLܫط$5f+++-Z/~'!F"/nZCCǎ NOS͘1#666_> qsbܹSLygo&۶q׽9l~dȢK^@Wu46qP `;Ne* `}iВA#풒X$OB{)**{D"i*)͌+;MGd檹n_?8[Cg̙p/)/h t*57h7|S[ZZ~۷/w4=7n曛O9Xֳgnkkiomہ@o,@$|MD/AFJkL&NJ1!  .`Y$J$INQunaUccmǏO&R&+ol*&M:zFw֖dpFiΝ2|вD=;M yRj GDIsO^{v\}?Yh*fISjښc,qݻwi+3^͛~JimpC:AiuݹsڶmfN 1V__N:o4i͛[dyj@)3@S?{߻cC=~T:,K)E.UWb<'%C.d*AcYv:)w1{_\dIii.\x=3-ugnx;^}MN4Gb/-7k$d6&h9}疷U6o"+X Zb9vء,7?џNßſSWbHTgsgTT=I)D\مZkH}-0Y;o%h\xKvoā6Bs#=`0xܵQOB )d!D̀i=HLWYm}qIUV&89P?) <s뺦iJ) 𛋧NZSSy^SSM"z7p2͉@P]\sG'Mska)' 0=0PdHmM HrR ky… ?я{ォV6mZQQ@aIqqUKy x)NڳHX^7-A/24+RйvOXJTTBȲ^x_y} NFJg2is)++LӹXmȅxuނb;-9!1 A7wEXpJ'ã.-ffN"sOt(dA.0=00ොCGU/K=Ѿ73e4>rBrut8a欺SҶ KKʕTR,)+۲9/5@H-"Ө,j9Z7gno@e2w`kn1KPK.5n3DM zt5!+-/șN/h48Ϣn4CU7q*Qyyyqqq*:ZSd.M&Z CNYuI%Kށ#F Zj"%`81$NԨ4o44 *++GFF|_jx_wށ>x⢢Yfm۶-(أFde͞=k6ZzZ ڊQfs*E&b >+:ŢWY4 +IwNRs>}={ q\#J-oyRUS)0783\SʌKX֚!K)HVDDz sa 8../ih7-m !S>g *G->c);-4WLg2iϓ9R`T>z@X!ȁxwS]0}&bJJJ …iδ" %mDLz$ 0,1Ԝ*0 f \'ု-j~d|Rjԩ*oZ[[GGG5NJ$W@txwǷFy?rS D!,$21Ԥ8c!䪜fUWW~j"[mjdv)[m5U1kU[32V-[.9kɬw$be3~5#xg$R>io4ݿ[[뺷rKGG'#N4$###>X*jllܳgϔ)SL= ~ Q.f$X`mזFb^JBP!j$Ҍ0D HLjfmΐc@ ]+V3gNoojkk.\iÇǜZfhYfx GLW"`"'Q:d.SdqqpcG[Z .MG'0SZK).]zxI_޺9*cKl%J]$5\i- Zh/@ Lf4h4zС'wyebqHw R$F7K?8:nuDmC#3e8g49D~?WQ.o-[6o|W<088y˜smu71.B dnq` \iYhpGYmMY"Rȴ\+3Ӵ@)Xb qdJ4! cR*ۿeYBW[wc' n҉30\B,0 H)NYld䴲 1~eVY4V_}fOOwF1B4Bkv3޼uK,@ 0 w#ޞ5 ! ڞL x# Bz,1t:YD">\;;\k׷hѢG}tUUU|[1 1B9ؚY5͏QڤTo. .w A1S1ɴ4&9C"@4cѹǥh42yei16_zȉ[1vls_Ʋ8hEJR<75Y #:nmjkI;y vYQkH$v[QQDžw+S`MMMKKڵko馗_~yJ)+w۳3f̸ #GL>[o]nȘD%0ƤDrjuApc;F[kV]q=P'T4g&eS[T%LC~9yNA8zhDJLEM˔RћC 4eE4CBԮiB'0XfDW18YCc.DDD1c"hB"`\7̓|ot٢g lxy9e zq{u /]:)9GցF 'u(jԉSv]sϬ Q=qJ^~exTxC9sZ)0+GtL #@{E,hi%P}lb\͑c iΑf@tZ$8_җ-[6w\!ĉ'֯{!C\$n8ѺG"e)0 Ӕn;\Xk'WX0%;tciy|ss'~LcSVP#q"կ~7ߪ7m޼Y1~%cֻ3~s9~饗&N@k9sgc&\ρZ=!MM DP2LkKY K) %Q/-551 u]m3g\/ P7h tquuiE y*Fw<$zYiSc򙐓$Ҟ*i .f9M6@473R+Wn߾ݶŸdUUi/*).v]ѣR`*m f:m\q뛚r-ӧo}^ "ҤEs>8 xANe^@ <2 %d${5 1e泼+oOHd A?2{DWbޓ,˺˃mۜs˲\&_w5i]N[:򗣏 {S-?g6X%?ݟCgOZ$\#P>CjM@54?5'E;^oNcbž2^g# 﫟y0r2$b'W@ r3P(,9h:rԇy'VjPJr4hx0Ȓ?A3~1&m#@ *uѰHkԊ1Q֓!"|[ZPGg;uw#2igՕU@m; r}\Y'Nx-mٲ~_ӐO(Beko!ae:"BNeZH3J#>y( _3Y BLmhZ{sW:xo|K2!rfHLg=6vP4Nùhsֶ}K.!2koo/***//u>OsW/t@.#Tް- O39%B^؂`a$C #gW~x:K9*9ݙq{`pp%4CNΌ35[;XG: O!dɒ\7Ik]XX$ Ư_U<4.'. *=DDi 1$^L|jϓ>]p1oR0B>%eum}΍gil@OO,X===Tʟ\$tfΌw~<8䷰| OrF#͵:d2>04o`֞uww' Mgjf!d3 ~ݝY*%U,9+sn}!L[Knܸѧ%VJi1Ǔ C ,ܿk@"&pЗg?٣Nrdx<׼#2|̚>3m@44ɗ^xQyYEg{Ǻ /'c @w# 뺁@Y_3P]]k2oon,PUybCF=3ϻpI/ (Wҹ.+^z uG?j`?o>OVէ2InȮw-5{9kϞ=`зdgwn7{g9cΌE+}V.]ƴ9_{7iD[=لLƏrv0L&SRRN}0@ `Eٮ'zmN1,g{y%B)9,/IȽI"1X? l`\wo쐃U8єa03'5 %N}M:- IDATZRTԳ/6Ι.|nY:**+Jt̙YvVAI<*UWt?s]7p;::8$X#nL08?_ x|s۟3jvy[j'-R[y_<`7w N8 OUF܈ 4"5o|A>{OpF_L)> @k@@$06#Na'a.ł(ȓ``b2Y7i)APg"D4>t>ͻ77h/NPOXBKHy%@_p;={AKĖƹ3!eT292 ܹulD$fNizm d`: (Rd43" ݬ"4ā)pL)d8F2$H eGhX2ch5h:`hp$Ɉ -\䠤 AsZS۔3֕ rAr3evȀT}<̌_|w+cH}}1.)^'ToI veW23fBX\TFE~jϿLgO0/_}$Evaf ЈJI!$/ƹԤ k5]=DTMЁ ^ '!I F&DF7Z+ &%ː5>CR 4ixo!v>Ji79ǣMM'ZT:7`#ޭUQ2R*JF";wR{vvzJe;}qpR*h0NҚaޏgTT{k_@ H/l$sOWp/s]c cºh2vI+y50D9όqsra.!EӘf4h/8"RҘ W4q :k&ZQPWDb}ᙻVmWRDZi"PJ3ZiDԀ2 PL:JJ!PJ;hE1'x^B{Id2D"DFcD?hBRzsR|-I m4q,>qZz8P]?ۼq]4:@KdPYYos0rlR8ku|o44O GimtBjHSNd;t2ҵ'yN&c;ױݴU^\׵F*r82l;%r]736ksRnG͟=S|`k;6߿Bw#/[^_YOvP.(5NL- @u?w\ }oy yjk_pʪzaSfe];|> VFar8aL#qOή~`i|h[m)-8;S$xHO2add\ B]uU8yr9. 3qhd R3f ,_s5?*4iӧΤ3^z)clԩ#JiR&T}X⽩A2W^<{{(ەؼys]]ys[|^8^ښښښڇm;vڱcǒ%*jkj|ÇslێbH$DD"M= da1qrWq;.Vwgh-.,<'A L6ӟ-[n8pp޼y###ӦM{ǎw_4wu7=5c̚J&?RY}3CiMS(3\ V JJ㚐F$N PKy h2_ֿOy^q4H?Ѽ_{^؜&v}o׮?mO@ vCx"9ڼ_7:rdֿFF @/pّc]}Ů;m~e8 rWokpʌt`W7~_ߏ]XT2iѸ|#ƏມakDR~wGo}?k>Oϙ~$ Ǣt* R3 dc"K)FbQ1h TF)P+R ax`T4F3xxx2\w8kcwULy׽p9Օջ9kmm9qٲe]G+=ϳ,H!%ӧO+(WU􏸮+= g̘IST2>J)u Sʖ ZJ|L: -2mzl$bVx h0D<g 9\}ΌD"aΝSLkjj \pA&6mڌY} s斗v UVV544tvt+%{x?cʹ|Y&4Bs.@ض!Oeey8|F 3;i@#'$D@ ,!%&)=)RKcJ>ħ>Bڕ'NwH:`e<)^ _ۿ]֢ ^V^^T$qVQ^uA'R2YVZ|;p=Oq _h?v1dLaeMWQіLdv&-7JTäe/+,(ƠaWWUs'?cρ;>Y2-) b"Lf4gl8L,0a8644ȯ;wN:Νa\z'O Lnhػwر¢ʪHCtww#c0=vH_h[[W\/_hqiiآGg/Z,mMè(jniٰa _H$===S4 vskk;K~U,PRZ 2@`, Upans)@mĢd3e@͚Z8hb 0[SS} 7xSO=uՕWzz{JJKxYYپ}9yf'Ycd%+Yj`#Ln"{@$ޜíAl&.]Ձd*DZNqNڧ~O`.ͯ2,bxbM]. Ae;"XH1~[7DE\uᣏ<}g?7\PQ-^c?P@ Ke\?/-o߹O#~w͗01L̰0/mx?0/Ѓ74WtBv~||vۮd2TIht^h0zT0,1N:a*=ZOMm=3ͻ_{&T($(W[[RRucגŗM8qVyRYyW,>%=[hw|Ɩ-[N2!/J# kPl ?RN0\jB+@Z@sKA:yJ6w6.NɌYs@fACRED#Z&"`,DHa،wSJ^h{ou(..V0N;ڎ?8 կ[oEl۶,듟}~g5޳zY|xBKA!Ȉ4#d- M^r֞'9gi[5B_?[bXNsadӊ@[6lXB*FĤf iI}>teuQ;XN]p=kxccd CXbƌKy2]- BE/ܻ ^xHӪE܎s?5wEߵtk2]{YR^D./+^uݪ) Ktd#/_Y`aK{ǑGh{遟o XI NYyŁX"љ_]*ظqT.*o.s }<$(ÎV<Ю(耔'{[Kݬi 4ͰL_w4*Y'=Ȇ`b/RöS?%Cp]%`ӑNcׯpaaZID|i>5< `c{<5g- ػ=?j=\c:t)A+.{@ ,kޠP%0dY6'+=O:SzNgK$7 !l$[qnAG/<[6lܮ4[_غq޻7O1#Nt:ۡd24ѾȰp@fVA*D"ms=c Lp|h$iBUR矵[rrn()y/kk[[Z/lK/ q]Y޼oχ>g ,|;w˛(110" Ld0 !O)Hm"ȊSN BzΔR#pܔŌcMǛ@ YVs3֠6cM 0NPs2ȹZjbɘMSRsaj9)Md2h2s4?W1B1p})\ g'Ss)?47Dw1KFʒlS) ?ϙ1tF!1GW!cuVmzPݛvVԮ~۶m]lq&VCC")Ƙ 3<:^k}̠$"XLuEDN/I<8}Nܒ"+,YluRD X@L9mセ8(&yc^@̙szz׻|?$&WM<} ,QVqS)&xE===xsl;?5"Ƌ,JeYYsRޞT1?q?xxmGw4+_ |螾s8q1\re6og|jߍb!u-ҨE1zp$T@⩐[f3)˲m p0uxg{BKaE*RnBXHrx`#rLS =&Dm57LҒ-KKR԰&wH\[@+ʁ3ZqJMJ Y,k]ʿK_G>~@Jƹ^ oD/uā;36~=PAPH.Xj-BaJD*=ԙƪ^\_=jҹs7~Cg5@yy@sAs`RZiF-!5 IDATAM.'+/-TzJZftc)Q9stٕ 2+R%%So߶p쎎mm'O>sfqy5WT>xo:x8>zhSI$Hp[Y׷@/t_7$P>aJrvGE̖ĸD"iS(,F6L#)M1 \%ג8ȥ˅'%Q1@k)G N%9vG阓-ӑC3! ,F! *bȄ#FǶ@ ,$mS% ."_uy˴BctFp 8F"/nVV_Uo(A_tYuGnft$ٍrwˋg";wIG Ѯ/oywPII  vm{RŽZg2L&5㘏3nYVOO뺣D ι$:߲+.EŶw0_QQֿBii>Nlٴ%m߾]M c9'M5(CWC8wVɡ=%HD PGJI)C[xR BjCkĔ H eQ%<:fLb1~Y3sd_ '߿_K:w(I#p΂ oY~`W2b/={RTP0)8TOOς ***oYa|L eYWXaī8ΫjsZi@ZKMε a gc0Ҧ4I)(2hh -NR---DK)p$`{HpёnZ |h[0>w7\7^|f8{^GnG_,.Ʉ᠀Rq:&hbUmOƖ WJgH]$A<"ynCA ˆV~zC7_)\Slwnx ە7Dc@?qs _9sXxd$8GD'9B nBr`,}xnDDJq8Ώ_k_{I,+eEQdvS2? 'J Q3=ql漍wd)TJEQdYUf>D{"St]8r1~cfМLRO2'3/Lp00 ?c88Ad[~/I3SQ\+dHH6r5/9mdBmJ)˲mۜs3gq l`qlq0 ͱqleTJkmY0LXB!DrG}5#q,ta¶i@#Ť]kq r(@$dq!&(F#\ 1Γ&0o,C@g \Nj8 RBۨ,qԠi C‚R6BP$DbȅGę 1cz˾#F쌥L/I@iTT8;g֌Lu S,XNnЪ+&GAn:\е\uwObu7] q\7}-9iRS:;V/^ "d[6Q sTnOX!Wzܹʪ WTV7Zڲum+MHS˰`딒ֵuk[ZZjpavǝeW.]RQQ~Il  ܦq=όKpÍVhl.؜5@ЙW~^1W-?UIdu,f!5lcH)]M Zww/87;d2TJEL7Ng2JLAG˲mF f\!Ye`2ia}2ǐtR'FL%_-b T8Q]7wq-c_}%e_׾3H'ա( B xdxc|+#RƂq`;wcFls'`!j0"+I\>foeˮ\0~r(|U(۵+)D{Wк>V\˟[gu\~ՕW^;ٳg8,ևB+7-M’4+)Sqԙ3MU|TzM?߳q˧N+hhqF9ȼ0 m>v[n^yusNwzxƜ<(Gϝ= ##G+ ByiHssu o߲eZG`6;",q)5JhsݿE|{ʤǎk5{w,*;z\/Rba׏\c&}q40:I:|T}eeYf776h4 n4!C0cFA"9iif`3PwWwEc/(ɽ8~[űK`梏+8%1%"DfL:l,Hy Ya>! I20 1i.f̪}l C~tEt8 )**`  ` G17c%H)A/NDNs\ޢ(r0 3BFky 3;N7G .Zxgϯu5iuvǏ}! Ғ}*ޑQ=akVy/]~Z74?XcZˈ.׀X ?=a `-};!șxW8'# `!SyˏhZM;x;rF!rΆ[п18jߎmb ~[bd~RY?yO~!;[_g'OZ+!<~đ&_Y_-A@7j/r|{6 r$YCofQ#1ӨcM)d!icLpedH(pd(!0 ؅8.VgΘsI@AM)^i  , iб'W=+B`p6 XŠI-[)+Ҝ +i!C,Rز\2BR@)!qJEe‘1*Bdxbi =!3rH8 Ɗ]zDEIUE<"m1b۶C>R獶km2{Lp$a'&gR=6YLB)U^^nP(HxXEjɟ\׵mqs<3c=A/{2s17!90 0\Ps-vm~l~^eG_WkoqV 9_>@ .)$&BE VUXܼ'羾gٮiSg(MM7_lケ8cw}쑇ULHd+2_*&M^,U| %V7cwf̨+j}|mFdze/sBL$3y1VYQ[WfbAhi9{I۲,a/MFD9 )*hqHR1"c86jfvJ_xa PFIz"'2s+S&AQ{< $b,@I#"8r@mԯl;I^eRQ1׵c(/t(W1lg|\^^?VmN.9(tH&9Z2VE(c@̤0dZwҶQC(-]VV&UVvH+) [(z$G]RҲ0?V2F-,ͳ\<aTf*;;;3hyll˙bm0,KJ( (!L 5b6Nc(`mv!L)` @II ctù쁃en>UGگY4͛/>}3O=N]Vf/j5ÎV(cYY3z̝[7:%̿b MM'͛ܳ ˺R%>oShK-s@"EB(ϤȘPj2n|7M1eo("L!RL)R3NZňĘ$XD0Br}F` h-cE+̲LIT(Ժ@xy,0tdSgΞEw.X$ ;k1kˏ冊R}yQaDNp)oROϡ\j;;[Zce\#U,{-aڒS'O':tiʔI/D/[#O}s}}}zho/iهvm5|gS7UxI'>?J?‰k::O˗_H;ԭ!hXV\t۶pt1|ȬQmf5u~Sk1%"%! 72%%jdq Ru]45E0 V ql;2*`(1Rf 7B2 54_>Í { _~_7o, B.DF&yDZ@-8s(p.rJY,Ca6Rą+D[!$D !MB؊|-chxiX 8P0:R^:ZK"0(a<<'ॕRh -"_߶" -YЊLZetO @Jk` 3ቹ9$` P1ԊL.h<.pGZEC/\<4m;Moz~ |G([J#0( lfE@ 81a%4ݽ֬-))5wѣ;o޼F|/ 3JMqپ}M%'?_r5 uvOXVl!?t`?ܧIPsG |7Gq?k%M2z;۶/|܅Ul?9G/lx2}TRIιˮ\񮮮 RJMXeP9rdӛo>}̙K*ّaKX,#{yX OmۜP)}IhZ{g,L:f H$ABq52KX)S anGG0u.SJUTT r9c B'7$F]j5< 34Fya2(i #4g8I%AEF-UJ؏]l١N>jժ4E} B|sϞ6v+Wh{Jou`II/?7cIm҉c;wl8wEv"eO:yPYIڵkG О{gs^mkj4^z:-!n.yc{g, )21ZQ6NRmv%R̉_}5+<;|s9ڱs]F?w͐ ضkOBȐ{m|)u8}T#DZ[X5wGN憳 m|dhdhhȲ,z79{Dʶؾ{@%PR1.%]&[97cteFA` yF={6IX%&@Z:A2%˯vjY9gYr\'"d< R/8ab{k[k[Kkk.pph8WTT0ƊGFF-P&c8P3P%`HCZC(csE{..a4xm-4㌌ͨ H312@ SZ1diE4 Bg tHCt9 B lf(z, 0q"0F Kք1#'F@E$)eix>.aBP qH+sP7@CFΰ ҼF @l+!" :7N_nWdh BL7_pޙSvl/]jc#e=MU奶taЩN:g7M_ho{c<͆dBౣGNl (*1i:I#u;e:cb2$ Aayւcٽ4εǎ;yiέЁ]wܕ/3_o=g^g{;!|cZ쮮8 Vz$,h2 Wa]~#犘GH[p3$HƖm#N K.=vXe)5jiPOBRkdfY7USIJT$s((~۷n_=ڟ;nXzmk磒W| |xbt:]QQDZƭ6 dt셵KZvբ ,\tA()L&jժ{rO=/I!\5d<|h̲nh̫MkmNs1s&cĂeۆp eY~C\я~t]---}]6l&X3f9~5pq3 s^ 3KƜxvŗt#ln$&0d<ޛKӥFa92S(- Èf ";E6ӚR!iA  T;VHXP1q1P1JI !RI Cr Kd̸9#1 8cudi0YB Ԧ94r Fl_6Qd\V]-\ڛO۩]*9ϣn<̛'O:#!`bK$cB;ҩևW JT*U^^d9̓p=(Ҩ 2Lyi;6I cWO8<4@'TUFH*t&#\85<UN, CU(J܄Sr$纷zۋzږ3U&'۵gϟEWln?06ceaT@FeUUU'OX-^8^1`}?gYN{9r`iyQWCd Bmx)l;rz~ [Z)jllLy_mذaS't"X]Y3UO祥׿^_oܹskk RtZJy7߿Rk 3KRʬbloVp#3ewgZ~Ք)SIyg63$؉ytZ;w.c02lD&g.( KLGjeɀ!OFDF%#sALQaxMjr.U*He&N(gs9Us#~.4!g??;vx.rGOkV,~*j #m}yս;77mUsҫ(u~LQȤ*F<;g{,:ȫ[L>znq›;v JTTXSVX+2DRSMv5"iHڴv(ȐcE y@!XBqҁb(NƊ!֨c9"5l)}1 X)YlӅ $Ri4cfoR+rժU~~phh϶g񤩧cu-{ 7|][K(T .pؓW<^ekosmkdxux]{wY@C!He-" m=z4#Mj߾ݝLIYt-/J^9t`6ݻooOO/P i\יi{닜H]}YŇF!ZSeeCC&T(76~ۇx5.x:>zp:]j(S\R(6mZm۶%jmif555B 6/35Kf|k_}~+ֵja0u5ÅΞ_s>;o+䫗^s߄7C 'zJ 8Sɧo-0Io{i*V fa;@H嬬1CԨ4͈&4nu8sYJmI qAȨnɬ"+ypt&HsAYsG04Q2"4KD@fL" ?^{ k88Q3qxN=gƫ ű ڣ^f0ؚ%̞=[FÇR|ʽ#['y^rxЉY3gd2ޞnzwttu950пzGO#!dZ`3G1}}/ƱX\TG;O7iH#2QEH,D+JA3Apa=)v=7HVbmmJ'OX;9uTGr\}'W^8C2淦XB-0ͧN+FAYsQ nRܨW)ۛtT*Czрm]rDf' =2 Rjԩm۶c}cjQ|h0!EA8mr9D7^,Fm`ZsLȰ+cbdJJQy3МI%_rjnVk%^{e휙 h~mZ[Κ;[kRxgo>p.Dsg[ ڎ0<h=`v3׮\9SY^!8۲yR^ٚqÍMҫV k͛Mav`(S<֭_=M?>4)[rӲן}:nQFML.CFM v@Sa,P 5"^ ZeӀLk!bf̈/#ѓcG!2FllmrD4:ɯѲ%jzwD a#35"їIl(9%~_[o'?WS#G _xO9vXY^1WʊJx.WP3fnٲmۖͳfϝRSp93fNG[k["}H\*H؂]'U]=x|Μyzc_W\Jj~ZIǙ̱T-Mb!"KoX=q9%e@Үs,@&$=oB+(7wڛnx㟂([7cv]L<@9jҩT!㦢̲9S -2fLyIIzqtGpι@ƙkY ,Lx=(2'a*7f5˷(+8XCCC}}yĩ'Obԟ\>/xS1``8q3W &8jl9/ "GZk-_{l1O9/l|5S|곟v |o&g,#ҶeˮlުUZZ<֦-K,t;+.[$NkgΜ~ElVmQٮwv}5 EmCóg̤R_{5   ۶6a>] 4 l BA/׬XV7%fip$ ~vN2 ֎(1 Q1窷{rBYLZ\g2QWO\9Yfݰ{%)A ml$Sm .&sUD,\4bLP;`+ ^lF0sl9@((( ,bZ6Dд! 4A, A6 5XcKH*q,㻅P*P9`t1RrXö%#NjqKgsعpmixƟ?_*8[.wlo|-S%eCml|K_x„CuVpUӉ5Ul?^VZ~ _>7Ŕ差U(/9m(otΦ'+.x##~/>ɐy~Rs?f|$1?3Lsk@ܪh)/d86XEqTҲIm a(XIsC(rmc"纮=06!q{3NfDa\r"Ɣqs`AdiEtI"@k'5IvJAv͍'G!Cq[֤Jů:}*S@1N .ܵ=,{>3l;_~b[CIT:O~6IϮ|qqH迺EHOt&?D̖`6"CP4h_ kV}b[ Qړh<3pON"-yD>mWFМb+΁mgĹTV0Iɵ ,GX:9㬨ȶ F"5ШI$㶉~(nj5)b @'#$M< 8ʩF-? QDhC̡ӌ@hJz3M+2Ķ6" w;۬]o„D-[lWv쪁 럶LF@B^C}6;tJKfLpi%/ k9_K(\v$I,-)O~TO;w;b38kl/z}҅ ]誽6 :k?3?ˎh4iO~tkSy EE%av8 8,Z|{qee ge,a$}Yy&700ພe us5i1hfF$E#LHI`2rPC9e(-KN+B"MU4ٽ_gۮ]^y3V)Čg#h[;)RH³sqfNۊE ػXĢ.$W[\8%Nn77ωȱVlW{+@}{;ef~`NbOϺX9;3-J0I)$^8LH(, C L@B 2 C'91gؗO5W>^1@˅A) 9K78ASDxFPAbpAUP8!R QI {nyeY6ԁj 2F\ljDD 1%n8AA$H$͢p)!\Pp䀀aQI@㍢АpԑH xAF:@KJP1 0I$ c(<(HA)% ephR#D!é?!Q.2sx3'(\EȤad|l$nXDPBtGjj(\I -HI\A)%Y!${  XHHeeeeeessS.J=.#TwbF $E300BGSJsm.޲>=6:Y[p tFɓLZ:#˗4uvG)ratbh飇ny/]}gO*.I$*/3Vg?KLJia]ͳ/v2t=ɮXԩSE qיG鉁t&1bH&ұښcǎ /2t'(o!u4q~ I3{}*zm۶M`zQ fj;0LWr]M]Sr 4-KxXaBl6֊|$b1?::ʜz󪇾& IDAT)>J[A}7XU'T<4_ܛij|U"FJmX8ZgwatM7X%z~ub(DmzY0Gdj׀xm@RZgK ]ttDB @A MYy11y/|%B(DžiH)j܊]z8(>ⶑTz! r'(<2@HAfmK2V0w޾wߞ `-7NOR0#gڽS0K Rn߾(roϥNJɓ')H5LdN/z큐CVcT:3O3]B/[٦Q(ү2%EJqǶmۈyyOf}BSrj#܉XP34r.ᄆl4TK.].8™P鬱 Us]h7?~ ?K[YS֜M\@D^ҪL#Fo?ЗmhD峤&L @N> 䲙Ԫxt2ER<L'4׃@)͎jbì{n X݇>z'IHjhp21s=o8~`T*J"??O%&KٽmP(s=ۗY3qYs9-1fR49v;qJ̠&Xo><{S=]ݷ.\% &8RB:Rx L)l=!2MIxBEԥM&W4XV]HIC&Q4Ft8B@'T9`"c49Rv|[c]y<1JIQz\ z$MJTlDt=($eFYIirb*ݏ. |R7t.Aud[# |@ }å%+-\|hZk>ur||;/ΫaL~+ʊ A !aZQH@JNQ$H~XK =T+l24I\'TqfQ TR2C1MJJJK&~썡DfYnЙ=T^~UYݲ?aO)~=]l>PTwg}jҦH0tu{o8}n[*+zO:|O_{o_;~0eJ[O_zӧ >ݯWdUUx,z{#`[YQW8-J[ds?ECBjnkuPϵӘ?:<_?P):00L&X~vK\NKJb/>yn7ͥL͗^/-3k775xR[|w²Zˎ^i?W/0+Eלs[]EjK(ij*m7|[>34ԟmvY_1mTG>] Gu PU]UZwYա:`:O/\42xOۚY] u̓ON`5unذ+w/hzxc`Bˬ=M-lI*{y l!-[X, 5Ω\.Xz bsOߥs._O677?v>ۏ[J*e(d Bu(S+I8‹p]umpnlpo\2ɓa(c@ G_>e/q]gpp#kkt}##ï"A]׃\!sc?E T!$fk3PXR %M߯8c nE~#7.ؖ +dvc,vW aK;/yORF(Pxb {v;kNW-Y0e~2 j%a<V $Sws[۟_4oj7^\z`s_-鎎Tn55זNC%N*@4O@uUI?wnǛ )DiE^UM믿nSe%+Vjv؇Zp]m]k_[ߴ韜pyeg-\]LK獏?~CO =,)buU5%c{Fقر{^sU2morϝ[(dcn{y׷XEd ~5<:8н[w]Z8wYrйW ,^4ȑ\kMӯhaB( Wdn E3'քzւ.(,^N#O<|*Yuҹ LzàD~`efRWPò%V[Ts~{٢UhW[giptG/[xZݘ8q"iK[Su?;$ X[[ֶ.fVՔڻŔ[oWزƪrciK#4Huu6͙uc '&+*KJJ֯_ORLGh$ii̵%O9M ӧ+**>! ӧO WVU%SHtcl: p&Ӊ68s&*CI,˲,+DHCUS!g7*\|_p%Cɴ.?R[xLQ}}+Du$F- iEM:%?6߻@E KveJCm^|<7̛B溅R}`έ[OAAJ¹,Y<6rdh,8hnZU-uֽG6¦k6I RچlxPXp>i \kOn矾7M$5wsn(X7v!8ss[f! (,S@ g[5i2:x2;qx2 {oTAMصkDggnѢElnʕ==W:xP(L&wؑbXieY&ub{x8={v"SAѯT(H?_JP$室dp6b*J)UU]zv/h(^:Pr]Hu<04I@̥A3*3!!Di&HhʷD2 H%WG}t횦1LHJnh!N=w5rK|r$ R"VTT0CfPk( 7v"(_C ("4SuA4 a=0<ێRp.6B({V:,)e)=J5) ]#h~ PBjs3V]$|݅߆(RzE֬Yկ~ݾ`JZ[3 gJDdLD{Pj !$.j= ʽCso_{C3 2Q˭`6,kou'':=VDFiʰ5%L)$(dG  Cg2R 2PfEY hPD({EI0L+Ұ\``]o zI #d  ۃP0(h22W3@ 25yvS@oOi1WpQ@)) AԹ"C㸆a !I^3*!(-WJh|rufn~UyssYM׌0Ш.e>zͽ 'nlhNܰ~CS[e'z-㣣͕'ZO{*jg6Wk:s_.3;Rɛ֯9z~h<:[[Z}U]sS7V-Z'Y))"D(JTAI}9o7[K}#'O (\eYK.#ѨHF"ђX,e뮻rO41 c/bf0梑XUU ADHɃeYtZ:%7_mȯ?|S%(pVpDU+OTxV}9 ZWf:[I.I%*$OS$H}E)1NNS[R ML=v  c넭,0B]7ɥbF_YPg*!E2]m)=T"%E@ l/i@$`{H 3uWgÔ *" # AF('s_v!%zH=w PG/u>8NNOّ b?%)S% H0@}-pht˭/?^lgJ$Si)N4VWBONFG Ӽ}fG^}.\]im K<CcӵϷDJc]g:; z'oݼ̙ ["b?ϾKu?u74o_x=H"1>24l]t֢$=h?}e=n믿y m{׾iUN5@Nq8ީ>L?T{ XfU~׆6/euCGAz{^D2̲sy\&ms⺶"c\l: /lme%%%U8. ≔,h>!VOgfU/8WC )"MF)3i?WǴaU_߰|ŊX (e󷔶 IDAT\h$*`LkkkC0)9 c:pW$\cXXT؄M߼y3gFWuj٩o)yS!D,󾐏B+1++%rJ8 AH~Li>{rnZ:Isdрykc8i (%8!g"(-%۶[Hk+!r"8h I D*ܠRD[?;* ,1]uS>U "I For@:}k'Oc2NvT#mkNw0T﫨>߱ ,* +A`j(R.adT$J0 6%:gĕ5U&qG7A S~RSD` C"A Ŀ.;Ozz¹>w CLF'g^j?4@$q`ߞBA^-O=OP=oۗ =qvȤW^|eG.XiCN%SֿhOy)t=GK: C5> 1HW@0{э7v_Lgݿxႎ3{,[Wc{v>1& BBJ Cd󞟗֘B (ʞ1uJ5MsŴր$|fT_KD - Gs/LRQ] .B<9S].T7('cv1L0]C tJc`i0]/:._|ڵƮ]֜TD7=[5%R~Gn&L)U+;ͭ/n\Je筼NmYTKPnۍݼ7 =}@UCln՚T&]4Fl,x|@N# | jȁT Z0pGz 4R~™|6եr˿XoW'X~m7's8!gt~YZ:ChqfE$RA8.(dLJn(l BlEh9DFC%H&WEH04 P p]RF4 H&ofsEع$4 %uO: HHIǓFƁ ML'O4 Q N&Pؽ{h"uuv_{0}ۺRa}o}Cc{P͍JKc?{Zp~M7UԾ畕-S@47Qf C/ S|ypFPB)EͦQ@G 76ǢKM)wڥQC{*ܷ'%@fBv!:hi?E}۶m{챏v^~㚋mUۇs> +W\uG\`}; !GrEr@8K[fb2d34!AhUuUEEE2{pYYYWW2s%d *)h/8SP(dZTuUw%VxR|o6Ϟ;4"v}mTHR{ wi~޹aQmQS"4"*tŁ3O]Xl/A5Ɛ&¡ ]:0VMHJMRGr@Y(.u. K_?fvSSc,+L/$%>؟LJ; >*Z2ww QronSrUڨ|… <۲e /pM7[}Qի޻<'LY@XѱsS{ 6aj⢶*&THPRV]2Χ@DШbdKL z(%NDaЋ)ri P@ʐ2o|@&DHH{ۅ5*)ݗz }2\2ԃQ&y[ HI N{8J8EhJ"MgUh빃g4h };sOy_WvE')䏪hY0(v U/R2FBBBƹ*ћhΏQI쉪PB_P^םԉsϏOLf. LҲT|"_tѣӭrhyYGAR3G Z4٤%%+3Db%gϜ .ݻw{fSXTAT#?s)%Z.{mK*YxǪE. Jʫٴ88gEGK ]/=sG9{-T194>›p#I˼aTU 66:\UF(tv ݫε_GfUWHjdž;;uˊƱ8_ܲpOXRVVF,=WUWm^ZZj0`]㓓sf7T \|Db]wF;|{ŗkU+3 `0(Ajjr/0tU.Շ)S!?(B44۶ B:npԩSHH,ˤ݉D|**xb"SJ9uy|a|G?Q[[i###LaH9?L*CuKեx)*TUWwem@ XZ?ʄHD1IQ6)]8 "G #@@:|0P x(: dhLAL dMI%jRr LH =Q0TF'{ZT[3{9@APC2-Xu/>'NzÏԽ o1=ϝ;sQJ@>7t !̱熮 9PsE͙3{޽]wcSO=/}7No߾=Dia֭n^f8N G?'t]1Jrui]c`0ԝW^!i/^4MࡃDӤcwPD!u=kHlf[[Op lqb hXV pMa@;˸HOcUPuJم Ɂ(PQP}_FTַQ60ѫ]ol+is 5v HbWOLRyđcL<`vKn! \#dweGB1*FG†\V .˗s\.{P _B$ۻ//9L9ᶴUs0G/22RT&4MH-v% b";w lKKM7J&cccfҙd*991H$DZ,Kiv>RYibŋVoڴihhh>V"I !JTQy>cLgDރS;%!ΌRJ(c=0u !,ӚPlZZ}7޻eo-Z≯|/o?mj֜ڴ؋O-]aʍ_?k^=vS/۾Ҵ{{{neK/|0Jx˵wmן[ o^|ǏߴyɑC>zmk9po342k7||raYg*RꚎ J%-:s44j:D7jj>;gΜ?} Q2 $AJN @ȘFSM)S. No{UR_dB((Pb.A\*ִII Q=A%fnФˋTN /&!%R|>ätKE6Y C %H9NQ9Ee}>uvƳf浑H:!1z\Ϟ=zh4ZYYjtFY6ʫz.:Ǐ+8iS{G:NF!-iWT% nM/Z2{O)q{ s[Z+B!H_~e,X@0/~~\֯}k_zoo.]<gO",R3?ݝ%9RS{=u;cd9 ,irٓ׮ؿod }aG}u~ N#IU3M} >IR*ojwyd'X^^2ıv3 m1-iҢtB]mNpXD0O#[@8y bvCB!OleQ(b%%vwlGwπDK׮wt' Y޷=9ZQYkBǟ}Ygl0KAx_WOp=\sҋ=vwoUy9 dR Po7@Z0̙SYYdƦl6W[[+:yԵ^[#d\lk/W_ҢJxF#AI/;66)DȜy^RZڳ6_3:41{v,;/6t[/^8cZ֚5kb%!0\EOή >¥K֭jݼ:*E{u]gkO @M")Q]E*qSe9۱;q&'8L<$qĎXV.YŒFJ%bb' q{;^a,ǑvpqqY]]tɲt:51>qM[…lيk˷lzidd?}?_g}}Wښ%K\CStώ;3|ҥt#?drʖGv7pz!~T[o>sX$sP~` u\?tvvg&#FY$@; R| Je ahT;$U[SkT,̙CyL*h"AR= ES*k@DNf}ЄW8 ."n*7B)mhTy'??2+$*uP] . =.Dm;;w_z饮/~6mZ~՛/m+/ZR;2ݩҞ'3T\{h̉p3֚j_q g9iVCaV3'aI5)܂W̳j_W󶹫MRV硳M.8Q-"?XtܱNrzA1== AL#p Yd s.HX7%Кblyն|PqIȐ"?}JkQ["y_[}"&aZ2 %)ͅo͌mw=444<6<8pnjμ{myj :rsc?~)=Kc[L&NčWt9t鲡ٳf  7͜fPK/-^4fR:Q? ~>~"*ʠF%nI.U`$195J~wH?H>$G=KI#w^{3 "-%c1p"B!,i{7<49ԧ- upy3l>CP{}7?TI3A l-`+m1E/}KBdrl+!8 ǎC`#,Mh,Wˌ˄tt,@@$}6(#@@a)pVECȱ] F, Z9NAEhdI@@65*C&cf )lp 1wuwuM;}y晊s3q[ᑡ㉑|>)%ڎc~GMsԱ{.`;ξoolKivl*fΚꫯ^yѪDf"ߵ{r-3 ]ryc)/MY?z䪫:{Lk\6RyܜMW._Ȳ}%gF RwTمovdb`p荖B>,Q(.ןjz޼==}}sfm}e{]]ڵ+m۱pD Ӓ?ٳfٷ7do{8ZI f W҆" <8zD,G'Zy\׉D"Hl@:ujW_}ylvxxwhh(B5P"1/ԹAxas2X<SUF8m|V00zgęxE+*FEeT7Vh#204Xb?zck!8K "EhZX6M"nAaC ~d.$b!J+瞗_~  iW.p(3DQwr>R*)%/m&r)(bFBL#$WEFH0d>WxT e7nܴY@k2N EΣ,G"+8vDPYVTv;IӤ}r-70dE+cB u.U!0+ĢQ)%haXl%"[2Uvb%];h2j(,I@9% !+93J2[˶miDSJ,իWZf= aY* 4a&_\cY'm1DMMMx V ΝH$t*, x<qeqOW/lɢ#CbX*bfF5Q=2j('#*E( H$R1T*v3JQGgaUV~ m[ʗr(m; %bP"Ԃk 50@[4詴q9If)"<"B(e8g0Z!c-7HX)?x%N? :g&V4"D@^Rj GF;II\zA45r?R)+%0*,ǡ Je!@Ϙ=86:\,xNC.m㩄?zp(i1M Mȶr:(p/G"b]TPA9t*i^<guvS+eFi P-Yʱu>B2FkkZ B-e%8μLmYe9Dž|gH03{8B- Z\A9׍diP2n){zvwyLp{}6"T4 & 7ARs^(,2TSqj g{uffN5~ƕHSϢѨmF-UawܨZTY~9n 8&`I0I C-Vh 0,ɐ& ʻ")n5YLa` &,1FZq , PAR4W6p0B`ڸH299L}}l%θ"E.!hB'ɐsBb5WiFh*^ݺCD2+41!,Ez+ѹ0_P1BF @kCɋ0hΈˉ&mH$Xl 0BBQUsa}NL F5T~?pA#7j4wOE~8 L$m ޿rí(R3=KYΓ.}ז 7؁|,ΜΎ3s. >U\rx޽k\q nsχw㩶ZmKZ3%;{Y o?q0o-@ll4L*{WvvBevm:g,l[sKڰF:O .a^uup'&ͨ=fwexණ.3fK9*3?O]=Qdж-6Ɖ,f)PZ09rE[B<\`pkPbNꦷ▽,X  ł+l"tݘuMR\5X S`Q0*on0*5{N*ddZ|Se*?F!!#@#HZ|Dbtt,X.|2@$KPpV+@]NAUWm(@"C YY{t:!0!UɎV\g֮Y]CƉ#9T (+mY fΚO[wEKۻ5Z 4 ͏:FhUJo9mM7?֗_XضcUH>:Kj%!0Ƙ- ݠ2/"*(a aoR@><75/kO6=L| .9 R40882:`Bxggg2FL0 ٬cVMȍq\ 4 6|\a, l0 +0 cS8Z5?y(זK"?﷾ymzn57g Z~W>{vv҅xϾe+tG?O7OΟ9_}oXym9Z.8Sk_S2|鏾/iZ?㧿\|'lmqŧZ`C}0rˏ7BNM 0U!j ˆ.(ƃK◬^i75.$XQ$DI߹`"s*&WMd)@bIr@frjo2څpS{F"?d6b4@ ID 5ёd9 *2rpjjHC" @b(DDD2d~\q'oyc>dž՟8MRXpb)9dSJ3']7rPLBJF@zsW)62uj um7?ܳQ'bّM|cܾXeS4Z{W (0 7l&z&Jy=x`+/X+ǭk۩t6ZS@+p>g3Rc>C糉|!/5#jx] d9"LiUI#p!* #J` !eW^yU+WWE:W,_79\FncS?"_}>=™s,moi,]ոl-O bu"73w\==;wO$؜xUwg,/i˾5Jtr#Gd\omܟ|g^aZә'2h4 Cd#@8czv$[O4b[ aY ʶ : # R hLF 8'Ci1DK(`R 뇡XD95LrMHLh5nS[:yT֗^žJ23 9S?q~qkV/Z\(PuMph_G)s'-C}S. UhH-E~\]nta#CJ0TXTX.,"2fJC&ohFryӃv,*dqb- L@;Bh @@JC2Θ#aB\؎%`R:Ntcckv%K|͍MMll#I922W 3{ddDk`agv& leyWUUU̚ cv]A0 һ̇*aSImʞ{1(1m~ˆB#wl{̙ڈf|uTfLbbdF\*y+\SOSi?2ߞM=?mR:6ϹkF݌={ ǛzΌcXƻ斖m/3./9۷+n㞽{0\7{]ϞP]KV^H@&[\.q!Ο闙j߾}l@(e=p2˯!ɬZ6GX'Ư>q_mM뺖"l:AXUa3f̄Ls1FB !On~뎟8F>HY&H)128XaUvL559ծ M}g#ЪϢ8mQZ zm[s<+&YRlgN1t >MʶÇȊXO~T}Lvbp+?#r?*p&rZ1-JՓL <hDx^{GEkފ!0J%biDȤE=$;F,UTbH!0|fֻoH"ْfBƒH\zC6h@@ۢ\~L^_%jX ZXH 2$R޼%{k]vE˯zˮ-_}I<Ҭ({8zs.lrЉ΋^9:zLۯio-䆯peԧf78}XdgG?{-nbaȌ3f+֓SRP1$9cE] IDATt d,0 MKMLkW<󪫫GFFRTu곟ïkV;{^She';ۛNgdX LRd2Y,+lIJwXuʁ?oU8D6PeYw`F;_@fTR0.Q䙛M#W;28JZ(T\GR)dkК!F%P+bP6ֹ-邤Hhʹ-yH/ ` 2 EVq%-m!C@3)"&H2B粩4g+3p0N,ͪ 1 25r"Q+K*6Sÿ鏖ovye-!4k|kp􅪯s tnjJ%fXrUB!g(Yb2P*&TƮiYZ:3n$mM޲fS$- bxtҹ?[IhrcJ,֓r^pΎ;_W_}QAC=ҭG˶vSv;ᖝONtt\)ӚW_{=)XziTz>?2 ›2@&)8ߡU蜏Qj*lnn9׶-\ H:\ʕy^‘B>uǢn JyhΘSW[sEflH͛?b& ]gږ]< 7}Mk[J;?m;f p|lLkmLW׾ m-USǺ5"p˵Q1HB*:m.b[ϲƱlԆ֚HkyR1.U2үHVJ q!*"UZ,X4vWUWW5/auHё!W|9$D"aLJ)PO1 gŢQL&_'"qP k*)9٘UaM1cx̤!8IpId5>g`Z*mLyFD8ќF"hH%Ik H "\<و4Sq}~m$̺N9Z+`<7 1oNR0&&$:*DeƸ$W͚s~Hјe o/e 1gC`T"1Sх>x=*N FmgktaOvVwGl|tFk,^!/Foȍ:V!D\ke;I˩k~lfAZwX.+<3:#W`}}=²cIR>޶ciG420>! r ƇIkme2R-vާ5 akkz !PAưP(pƕ$ /RvvvK;_  PVȬ>aǏrR)f_ O#'GX ew z5-N /ش?<"+<CCC{]p[̞=o}U♽;hxā˯zú`>Zlo!XtGūrv[PX/}?xuJ>{n7Ee(CY6I~9a:#1}t#6M Op@jˡ%mA?ɫW%'r"5Q\/09̞L]]۞ie<CŰ,5^ kZ#e;??p$Fg 1_2,A<=ݔfͬIqkcCvg>~]u]TbvGw}{[дm}_xkn߰_bΤW]uKٳ#~OݻC;?o.v?ҥ3 ?ZJ$j5@ |/kؘ r(}+|Oz`66`qG6PS}x&1ph1~ك 3v&+$Ӯ3éЪL +V)jJJu8=U8}ojPD0<pbUO5o '&bNPucfWp ׮[|E/l]W,YjkI\:]|o:w8BdD2p,mk٪k/*e@ l&#D12APo|K,i=C ]ѣ+Wwyر_Ҡɡ(0$,-vs( @A!҅˗Ocer|c~? [BEh-k.YƁc*_)DZӳ cxnUӥu0 вeM݌;G?UWtٛ6qUxW[Oٵ7u#8K^;rRVYn]XHj>11Asi?} gkSgWG"[?짣r9TJ=_gyzk{^|t=_,yekF2#'[[s4N&Ssf;v$ E)blwoZ9?ƪZ; 5U` B7S@ PqÔ%yueιC@BP.;sҾU#>R]qM C@][tӵE"59DǠ* Q7̀0QQe pelE \=.#*8krdXre:"~gsDd6<̺[' «[_G5gƪl.7m;.Zֶsǎ_kBTRꗷlx㵹lKWTwWtvn5k"YJàT7zͳf, NfP!D]w]etӨ1BB-k֭ʛ-'O˥yZ1j)_3O=;rp;J{w~w_~'XxE9a]G6nܘH)巴4?Oڹmۖ-!kXTwz&F&zzzK~mms;|CF, J5 wv{*XML}rhgRexuɽϾ;f׵Ng٤Bfw~pSvp>:=ՙ?{v*Ϝ9hhdo -JRɰ r`T?5m@,ڱ,:W,||/)<;scGO'}7`C$ʨ,J,2h4ӤQSC^nYu=x̞;IxsOsgy}[( ̽=yRܳΞ՚/hUt?A$yק0W =$ިEvK Ck׮miiMR+"JԀdqB$c I\:H$Q7_XP jx+QGBH(2`B  BdG[bH̷eBsbA4g, BwI)ǫ۬h0LhT0"&%zs "a+29'hP,obX$d sZo|WXǏ%}ydD8 A"]gvY:-[ʰ(ƓK |ɒWJH=~**r?zt8J |`pB8w?/=p\U?dNP(9RGdZB>=0j}smg׶2hx͸[ڸP(7<׷r$%"VZ#(=,%$*;2quw2~r$,(c" ,˖@ R2,Kf ✩PӶMHKڎeBX\X3νv۶wq̙h$RKR*˲OHPq qUTI5 L:h̲,x}}M#7qm۞W7Nkn>cuk˖-gZW  V[0ZɒwF{]^<-SQo$WU66ئŀ!i4Rv&{MdӸ_HK/wc^d[5}۞ŗ-/ij;y9 PX*@TQ!R#͙TѴi@4I3sbk 1 L;*g Y,PB*%ߘwQQ`LTێP@<#1G I0)Qܴ8)΁ d"\f(8OF)P@frY4x*f$<#bAoV~}oI {t@?pJdܹsuB:>oƽPGҸ%N^t }}}]疃e|#\.e*UTp! iZ/%'3B{l,N{ c}C"\C,!(،R)AJE(T9F"DܠrllL ABg0\3^ l̙c3 YKI3:f8J%L l8p`t&M qCG_ e E&JRJ@Q SBJtnkP)A ։\Y7i^.$T߮{aȉ&h3)lnmmmkke,z=$m(H|>_2='JIXqq/@0M3 UVVj2HKڲ,,v]/ᲲS89y*oiF"upzY(RH@Pp ERDHPPMo Θ!O!E &JC "QDuA>^;Ջ0Uń<"VP%EwF :i5QQD"P )(yXK(,T#Q yO.!T(j"hjyo}xEU$ϖ%NsIAv:J\|Żwm+Ϲ;wccɪIFcCꪪt]2ȁ wp:&a1LVR>޺gUg &;{l;v3'M=u4Dp~+N1:?zpcqQQiiR60K0+5r6Wa.4hhAOQr  B .-6ޓ&MkiU@B X,F)--)Ç TBמ-bEBPhȷ+@[wr^u%P%^|ʙ.78|L.P2+_ʮ-š!G-Z)Oz{>tvl&kP9{ 6(Gce\P dɟseQB*YK _q^nӲsp`GH4s!H$10r,\T*(%)aM{ Gp>#H_猶# 50Nb?Z$P# o*+L˦ٵ]{ޞk̙GPBJKfϞ _|ysy3W=vҋ^49|:$2VK/󹪊y- *1czƮ~zzz-\wޯ{]-3st=4LF{;.ZX7H*V^G6-X2ҟ~(;z/t笧m}` ) HBD)R VE)5m\] B @Ρ>F IDATM,0@mҤXdܹV*//#J׵kԛZn:w&/l" |zu;mn]}ʯ+ܲ"kk~j{ڏ]~Uɱt:[vW54T:~Sq?,9l9~M7n=lٲ;wi?5mmU022"K:CC-@%-/~t*O{6Ç81/X0;˙tf=lesR^XW ^{ņCG_?{;pqq/(@5q\h4ZTT92e7,߆!MBղںjT.;p?|1t(WBHl6 ١P1#s]GJMMM"A)d89sΞ=7 &:f2!eY՞d >}ڂys]A@BH$m{hh/~dOl޼0 *Bv" PI@C@ "p H)@|,2&*P8ET<ɀP%E)$D#CBYPJ).@<0Lr&r B(SJr=PhaJ}q?!H6Wlq5s-ʫrF8uʔיRH7\XEEYL3 @_*rʔ) . uu.pUQq !fXqEMB 'ipK.B8 u@Ss 2FP˂&וZƥQHNE Bf.]*K"dBX*[l'O^b|`>~?P@I^>455袋 9zkuvֆX.s]|̙Bp8 G"8s}?ѨiFFeYM7::>%,;eYw~W_Ѩ.o:-*Fa3v AQJ(J3e@,bmSjBi@(B:.'1Lf̰, %h&fY0Qö4(PJ4" DD)%UBiw]N##R3 =x팩ч^2%% Pj[).4:aIM&Mg>NT<`Q&? UAZ@P(H4P?*urh$[di\G\$KHL(\^a؄!mۦ3F{^JXlU3c*ev(-66mzqҥ\ %ps:q#ٽ箷bJ7^ۿ Nw0X3gNIIIKK˦M80Z]jJ)APTT.x>hoo_p lBeq1J BDG  k hs?z_\t1vPPH@ HD@9<`"r"487PnLX9췘yϫL4B2DQ $Q\'b0 JT(C D A$PG&LӉƮִ+ݖ=D̐24)sA*<40@q(dQ[[7-^3КG/X7f҉փɌ E#y_Bйe w~n:1xٗ]B{sͷX_ { =\Z?K^檗6p~q HtW~>UQ<6^dO:zgϙ7mzI-e':xRy嗯ƅ E ooop~m7ݘff̘we2rk[N۲өWۮi+MU( u۷%hh*-7ܴlבC/od#Ja4Fŋ&ܹs֬9h,=ҤCf"7 Bl[c떔 vLJyD⊒~oW)W8boRw.xY}xtO36# ERS L3G^O G$P $aߴZhrTJTDMyTJT"Yח\^Wc aR^ Hz!73!'7 ;rĆ WR鼓3M:<<(0 [(d$+ږJ%mD|d2_a޽{t?ڭ[F"cǎ]q-ŊùVOd"-;SZuZ+Z |6JR7tڶǧM/~NtL A)ӏ5۶ Ӽ[]ދ֬<u, @P#l:PݚObݺu>-GH|?i]M5(($j5ꮻnE.^OmZt'nG>}LJo9sq!R}{sԭLojJ++k#- 7z?lpe|J?t$1k@WUQ37mǟR!!HPR*]@RBC.AD3={kn HzӉx`o|x%x^4P~D$(  KD P.M<ڶ}"5P$Fqhn󜪊djŝvڶ_oOFeh5)7Deǿs4,+<88r!-[PF`YRR,(v[谤R*!'>Ғds{$cV=R*#?mڴ[M7tw{?Mqm17,fJ~YfimWVVΘ6]ܷo:4HgZ:&a񥔈#S:rm/}SToIYY5y?/Vz!|JH$+M&G2rK⥮-Ci}tmx3`[qQ0BQW7 _3<;?8v`l`< )#5c49."d@LNQy7Y@@hrBf%7=J0}eJ)RJQf8k*J3HŇ_9@>pߏ/ 'R UJI @yhS"!*i1l~JgĴJv?72V~*={>tmÌxYY 9F DIL(eQu{ ףS.YiW{;I*{waqAAB(N $\SVD 3Ar#RB< y7܉C{RVQa?6sy}c͇{ (!DIΝS9 ,+{z %2A)D `2J˧O}c h GYaqnn1zyހ %kjj|>#H42CHE S a 8u(y7 :ڱ}?~9?)7lp'>I%,(&XH$g fYsq$EH*S*ÇWVV[h2!mkB!;! ȉDnz鬎sd.XP0x;)L%Fe+V?vX*Bauv7Z~}Ψ /Z<:&z@ FV PHMrbzM-}PHE |FcGl.564zAI͔vzRuMUx2oq"Qу CA SKaC@`*ȨB¹|YLZGY AIQ)4 ]@E(1%D R"yPlgAm (Cc}H"~7C=fн5dnjB0 )/؝W8ڹ梙_?K.dU CkVF6iCg7g};}Ȥ^y] IqŚKIXjoW^M%@3g>S|=߼{55P.]=yv˦g7qǖ.[=cFzߧ'>SޜFhKyy1-+tۖWn\s}uA9Դym\g;Fg.534{t}cÔ'rm}vJ͉+4BZ nᆆk%()ey9J y0 s}P#0MS*{>Lp/yʔ)o~||X6v(T^^Y\\<442} !$]׭/m0% B7`Zd toC}F 2K)i3Nnz饭R%Iͳ̩&+˷nݱbŅ0gN7nx\$:v*HBRJ UT@ !I=J P BRqD!*|(Co !<#/b3YlXW@@  )y;Z[L&K Ji\4{Ȯd rR  hcNMbbT I/PwJ4QoJU(AR$bR( ;?PADuuB7ڗ͹^}eѬM<4&LUK$(e yٳM }[wpgǾ~?Ɋʓm\8y0U<>`ܥãO8J9yf\l{L)3ohH|^aڡtjxttu܁Hw7{lҍiZOkldVEEEɓ} F<9<쥌;rja̧ynrMl!ڦ榽{eBߺv#믿W>^8BJn |@M%hBAcSΝ;/L^>|xl<˅B!\0M|tte޼y6o_zϞ=k׮]tɖ-[F̙3}tF'q:ڂ$C/V64 \Hr{aHɤӯPύBaJ~Cnu!a4ZZPw4>znBQXbQ0KӦMkiir5! )-S7jgѲ\W L"K$$7CrP^m1Mstt;7U҂>4 Pxy R Џ388卍P(OId*2y֌^dYicaҪjB0/BA2bŊ#Glݶ+xoa̠1L&ϪJJ3L}}}x^4NO!m|**.z&}Qf_/R'hnnZrSvJzk/۹ckѫ6*򙾻?}]pË.hYrӧ52"~|Ѥ{.3&dيO<|f&h$5ZSU}M/P8;Rb_K{[>KYv:(IOPdʸc"Rqϙ{|˷~O]|5N=y_~L&mϗG+|`dǗ h&RkPJ}ߏE.[wkzj0 $ BH)087^D\'X%\Yx+N|7 #OYpY32R{={vgg뺕3fXfʕ+?,[oKR q>DLഹA>#TC4-@"V f2OuWHLܵs?}MStuwE?O 6WrI z8h+/?$`㔩6\sufKϼ+ywʕ'NSJr swAu]wu=ܱc^xԋݺ)d2^U|\Q3!K`uqƄ4@ ̧5Y,*  ^q܈Ɠuea/d$".,Nڥ˰,BD)AS` q/pP Êe@:J#I^_3hJ{ r_R8:iO>}ܞI}K(555555BBj~Mc54KG_b,9D*Y=C_y׶Ӛf~m3V$j7.Y'8rͷ_<0499'kmm+Ou_bNghw(܋?W<̦B@2~q*iʥ=82rj'e=C\vY3KZkݝ S£c}u;,0 v˦MWLݖ7kμ|˂U_U L9=5tC @p$%4Iϙ7JA:K|8a( &'ST˸i K"%Jjcjllny) G'RTNh%qxFQ *P@P0tin,] ٳK'kj|qI}Kp;~)k?ٳSԯ~+4= C#][6K<5F~ fH8yaʴH$Lvb13AӇ+{ ٶ,b{nDY*<窍ϼ t[o5%[W l2KW6e/=8svuOqaD^?rhʴ@A*\2ke'v1INzK/ͤN~W-בͤ+۶mmY4YusN]g-:hιT&jnTj҉PJ(4 JƱlX97(ӭi$}`:5kh?p8L&tֲ`l6/O~nW]uUSSӄ-fs??M:-͎(8N,+v@k(6MPJAӅ,A =tG+ ŌCc༦z,?5Ϯm[֓mB$MCJ߻m˖Ƞ.}*$Μ~L&?᜷yBɄ~]]Ӥ{mkkJ۷ASϤ3Tb Ob4 CYdpm⋌1 @&4[:zB@RQsŌ9a./=YIYcãcy^ eS]0~ E(-pD">epP@P/>DfYJ%RR*ATU,XV \렇u[W\ys?L RQjPDaE-8&t|4 *oċ[pniT Ωa8xq4rBJj13,R&0'XD_ hV8VFPtK*fV!R4-$3L溽۶xEdtm@#a;P6upsn!d pJxJqB tKgty.{Lf QwQbBQ%HlŶDZ8f{VNNJɏؖlXH5N $z`v?60"˖E HL̷FBFBVCqico,ڔW)"#!I\"CBU2P)E6bggi`nji1QOABS ep`ȣIVEɫJW H@eeeLMNM"h)} (RJAk%SD۵+b_,)׊T9,_'B 2@(f=ZΈ/u}T*J`6F8Z{PhB"/raڶWW$bW$j$*<8)̣(`%N U6aaBY4TEmD$ %&_ CQ8*Ee ֡Ol0tl.^AQ`',(Sehd-b]Q !4% *4(%h!ҠߺnfY#뺍06~hEQDd0l̃kBXf#$Ifuw5=ԠpR*0t̛ beK/RB(J5y2F aDD[v"8,A28rZiҠ-> %Zl3O H`J# 0&]~s:Eh˫t8a#1뇯*ڭ+p*;pspY.pՔ0oN[e:Hq)QDJ}v|{K_j7tc:޼񺦦m۶6WƵ{'?ǟi˖Mv_ g )4!++N^fltS3oi)VlnǼ;kMHW۶HHK[K:HU656T-[qmՕu]c{y̯rlwvs]ME+0>/ʠ0c-s;Zjk*+RѺ40r "aƭ7n[ᆍkjk]77ؖzME:U]4S(?pS]m6_sL55$cD hPJ#j"5j-Mt~bo>smܕ96-ضmYc;d2J݃HQOW_}hѢ2efJid_M",$8&7>~-"n {M*JSSY ߚNaQg5su4(wnKK*Ui.Pب(@D"D& Ty6S,4K?G~Ȯ5P!" m͍ 6ƬvFA$H@;ח+YМ0 "3niG*nwME~WlY&HDk DkطoG>a)-rz@}OU7lz|]{+7m=yrx<|兽d{ 3z`")!e R*ƨB(,뭼ʦ5رyꩧfe@=(Qv7,ݼu%%սM79vokevv"* ^o|qD|oooa+yQ0wdK E+@T|rRJ L**^*W5RJIp_ZQjkl/\oLU _Qvbv(W VW|ABoʫYhoܸ1?kBqO?zRL(PWrs>nwؕ#GCd23PJPDjmE,w-Xm?O,Ǧ.-]Cvy'.\p[z_җlB hj@/oy#'N~/|諾OBW/ܼ}H@Xȟ}ՁƼbvpxtуssO=8GmǕ.\z:H{ӝ2d[j?}{s;rlll{o &5 hʕ SV _h˹uS"ORLy8BG}<i沓S*fǞ{z'"" 2}t_|E-d-^j_n"SQ_9Ud|p{XZWfde. e\{ǁ(!@F1B\;7tSD<P(R Ԃ3T7uϐ],w/(] Ӳt]0\Bf23x<2˨krqߝwޙڦ ! "|߯ò~I-3gӛ`1xH$|+ԮP=Sz,RZ0 |2,˾kFBŞХ+WPPJ۷lٲ zVUQ/&8 3EĬ@TFX j\߿W, ;yv#x~IATJҿ<$&( 8J;vH´kkkhjjkG.207UcG"3U  2Euvl4 Tj30PjM1~WdlY7q B(x-,1u[ךnǾ*j;q9Xr?nH?qꔖT%ȅN,D^P8H"?tk/s҈9 B¶eNkΞ 嚵ΜJVUմqW5 'dњ#'N1\n'c1+ED+0\h-m[H݀KMYX ^*D "%|m͕T19 VKwn81^\>V]~`~փ+MPX2Y#thXu\9V|sų/&Ӹdɖg^xUD˒ W^\3wHEht9xaٲ7m8z+{*:Ԅڞ?oWon]r;S1V4QЉ?twSjTe[Uí1\yo=0>#(X2irBP66| ]B+ԌA`ʲ,$C۶x2HFQ`D@ N)=KbEDRr{ֲqۼœkʥ8BH@Z#$b4sf4 %'j%4b7NtBRZq,B!M!@DTA @kMlZRj߉SA2=ɄoRY (jpF7ab$~ޥQQFTd_|L@(@3@JQ' @!R %}I[dcwo֒M|aYφiOk@g׼Bx~ /`ݶ[݇?/< ns̶c<g'&n=swcb*U֮]T(-Z|ٗ_{{oN84gldvްZmn6lƿ;oasoBo`VjX}.\x+W/AXYY:-9N]sV^ty?[ܼFfQ_\3OMMMdmOwߩ=ㇻ))!3^ދE̤tF(~BF pc3rF]Mץ[eMMMUWWO[c+m|ީ&ڶ-uT! v-m[)?e2bضYeRx1Hb)?TMKT"',Ή$VJIj< B`8U SBA 0h! P DU'hP]q"3E SBA*5%)RmF06cm "jo_tghjSkys{^]#:H(gKp!GbB("=v !vvc,gԀ<'$N0?̈́MP'4UJvf1#D?  #J#JAQfёiDhl_tcX,3984ti(c)9clp(L*v}j 9(e/#'geYZ B8/y-v࠴i_JRfVbr,[<̙^'#gI?,|ߧF8sE^eh@`fJJ2ɹ<"43C\o30K( ᾟ=ZQQaɲ%ZD iQJ)Ϸ9`[e mT %P'&+y֕$)E@ +&BYđ5*.mWD,$F0H*KB<E hd/w`:oqNeeI$%+N;0\\rkb"4,@#9/"֬#Gg-~jڠhdHt3Q_ӲbVoLTU_ퟚ*,]qN {/Zں|re5Mlp]sKؒmO=͛rW:gEywqEm~3}Nd\{مs{/^$D1VT;BR}/m@q[R*@\nժW~d' X)ŖmwJKa&=Oմ- 6^z̲hKd28K{r=bmټvnEѩgl'[8ЃR\7onvrT*lݺۿu]=3 \\J%Ӹa&!f?L& AC5.Ƙ^Q(' /,քrug2D7.aŒR*麮²-fD 5p颁I)=30 q ¹s>ii6AL|+GaT^ȕ%L/8q ʸ-A-hHYb%ЖC&(`Nb)U(ҎPIjKVMduIHF0RDkDwUlͽIyx1; x9DI% ((3A4JpfjT9t{{4ֶ !xe*e17mI, h,j&Ε7Lx4;Z~c V~d~ S HI,]lͫ^xC=9ɯ^b[>}hw?ZVuG[:W_yʕdw˨unxq r lZk)TXhllB/.^mLTm1X0A/uww^`~ IDAT`-WU57]xu/28؟J;z9ՕɩR'׬YW*~̀sU ׻7m9Z]r`3d.eρ=z^=۶cH $c,_ۭ.vXs&&&/JTיK\gggՑeKOM{g8m16AsI~˼-84 `t\4F zL0\L&SO544444![P+&!Ki#BFoeJ !'BPJ ꚪ( 0 KyD&Tqq5֠./\SSSR0,>??}skiilf;v9x㗥%mΝmiiYhQ*]jQ% WpȥHT/F i:FIn*:qIt;55?0n˱$/^~)$:YaYTKEƈ}x׹@#~׊cdV\MYݔ8p`¢G+a"U(16<4sx<<˞;w8h^_JA@z;lT^ȕ:.AVJ!1>6Tұm%ucSݻ1o'"J*C|>AY8Msʁ4CCCFJ%Ҕte7qh(tQJ啼b,<cxj dy!DV REET>_}}ÖBp! S"J!)%J+C8E4&\߱{͚5Gihhܹs?񏏌#)nHSF-/LD!Oyp"5#Ky8?8H!Na[j?F̵yDr"J|N6?Uop*4X~ pVhb<}!P4Nf fQy5PS[\o[tb7Rφms cS :V\IY*'īl]S<{?۟=ٲYj嵋G>j@$5$Jk*I@ U \ˢ H ը,"+@R$҈T TH"E2B0{ن LO#b5%(OPDpIgAKOJS@ ܲ)#%s ؖE#4?9f[H˹!RF{ۚ甦K: F!Ci_̇*ɍXh J !s:CT6#AP@bAjEd\8b xI}s4 P)RB|hYT(՝PZqtTi?e\khB @U +,p\($˄Q32O.JfR} Զm#VmOH)!TNt\5wn;!PV@X-y! ʄT2bHbxYG(*%PLOQ bQJaYV,]W+C*J*٢׼]7oRw}w޺u"H5Taw:q+Q³N!ɐ%n./ œV)DODb6K\ E<)RAl_C6 $ҤP!TN%4jMu:cdIUuL`d! ϟ?['~<\./Vc<,8e+#ynòc=}GKL % SRxRWj-*T(%J)qeYG~bϹ 'O|=>?83~wt:'+*&`=٩I}[ׯPQYƩSxն^ڻu/iDfu%т-G/^槟yMWfusSぃCW8=3,ȀyRN-q&zPx2re Cb-Lu hNcOxk}8R"^B!"JJU[˗:tp&3eMݝgN,BO>O811_b8xuG;gk*Jc ν@פj|5諩\Len,vێۋxTL#QzSS%/Љ>wㅩR)^1;JXNd{֕;W~P,XkԌA)?eEJM&R4-$!LU^i'1v^Equ VpBr:QEAZ݈FeMF$$e9}0YWB5eEK *ǬDkzBhEjfX/]чĥao)BbeW?qҞsvR#g$]+lؓv7^<\iOC&_Lr{8u1FFy{gR3Ne͵]{"鏖vE 3^k/f>h}mW׭^::Nj.uش\4PhF~[!4,Q5pΑ*T@"M& HJiY&Wf3߾3\oذaŊ}}}{Ms#0@" .ikHs_wի^x% u2;ɥHe˜98K:zϼqX,ٌ=rd…/@SgjGdͷ|_w|CM՞׮n]C`,Z鳯o+KAuyNmz3?;2_oWwwuy7vˍz S 7l{`MM* vD;XwP hA뤐TI,)Bp~L-%5` eF=|iŪ@v|tdj*ْb$Ml#>hMPw;$/J5T|i #؁W^<&JI@!..SMzz:56.jb=&fH{a ~q;mv]) U"Sq] hju ~W"t&lop5RnT*d+VITǩ:|…9X*fa3ݲe߸A{{C=dY1BO>|چv+Pƪ-ˮrJL1x%qbZuVZJ/>{ѢE]]]nܴŸ^p!DhѢ0ߏcBa%sίsvӉKzdžhLD,FJ)s|*]5Bm?Ph.`(JƓ^*P*HYIYZF=g +.kSܴSa& mah4~L7:61כmINk\pd2K.u'ElvlvlT0Kf% AO1qk,w*a2lg+ YVX0 }G[f,u,[xlQ08Ĕ6b3]g;,[ke"*rRu]|l~a$*Ko&p9[,D922zӧ[ `VƼαY^K`uȀ'GSQ*eS8e )JlXP! H4+-3-I͙"М4{o"p$@=?ПBu"Y2\KX..y> H=ЮAL:I"ICV 8]!H .T}˥G20HqiB Q\ @j䄯D`ʒ Xwηm0Pva5@0Rf0Ȇɛ d%0E\q8MGQ~4_L_<5׮ek@ !|5K& ?::zޘx%1Ҏ˴"LMuXJjd12IёՊ. Csc~-ӮϏQF HI'EQz!}/a\qCd b %`bh̤ żQFŹ+㒀4" bq;`}+i R**,&r\th~qoqlaRD CC N9h60[kƘ!RR`\b<Pus,Ԣ8.VSX&$Yᑽ0قg xʸe*cEQH$,nfEKV*d;-"\Z :u7ߌ0q9(P(4c9 sa>/ 7nBtvvN2l=/yn|@ +&nP*.V#^Fp(g&cNP@G\2K=xlR'7x$}>z]X# {KOeu #63#@(T8]ߋ%"&4'Baki(0+/Ъ 2$HbHyYEu*4É bϙrC*dfWG.\y#Ri9=n`(.>˫.w xSիs?nՋ ]W'b3gZ0o [^Xpٜ8=1Icp՚՝MS##혁lnOl暫ʑ3†ÿ()nWg_pYf̜͛CHrfogh@̹l&) (U붼lRGaDMotpԦ)Y|Y.wlkF;f\r,4sV\1_݆كRs+.<7P TUx%(r.q 9s}OPQV:,"f|`J!%f(J* Y*YϹ #!6Ki7Қyk q,H$7DQh)ݖa!5c ,mh)ZK23Ɣ(c4};tKoӪD7UN\.Yȑ#֭ `|kx"#HeOP9cjT5,-51 IEIX*sBE؈Gehh`KxN8exMX^X5isQ1+=  $D: 0RHhP#c S(ɁDo 3 q  8pBD R)hr\gcsbbj 5#L%d@@FN@@0@@܃y.؁"_E0TQ@8܅ 20##%G;&28ppP(RRm;] o clB %ɴÃW546>х)r?)#Цw3{3űR>Z0~빱MOzes)wڏ9/i&/Kd'_u5-goaCgg_ooתU1SLٱck7?r+Ir4 IDAThm(/QL}}}>}ɓ7n<~xCC5 Cp8KF3 E*Ž 2g#P,rReWU\cθ)?nbl9dEp}U6F]QLm0"Cl|34 f@Fo/Ɍ`gjL'ɪ$ ܐK)Kq s`p87/)m'4@r\&DtkøE;/-ϤhlT#cQ @pb.r<tE|םЅC###.GBrTnik_d rdDy!(mqE>e t ^?2G^ݫ7m]rǁ3YpZ%w`hT'=\2*U soww]LGGG=eȌ1CCCcc--͏> $Aꚦ}{߆R7'޼u6 NϤ\̱Vo/w*sjd\Ne9vt/Z0 UգVB _Nu9APRXF/ƊAW;>SA aLy⬗za)tG].꒐^䎹fOQ&t%ѐk`*Aխwr8?x^Vb.%-@"#40%(B^tuu*O% t~20FtlrcE&~G/ T9uwߕ!B@dD PMZFDB81>~ح]?d9psAv Q##R]=|̵{^rd(9vҴs BMmͮ]F\fY݆I5WNZ=g\7|I_}ږ35ew)eWO&֩&7#lot~cdԽm\ ` &.d3(Dm1E08Z766 .a j˖-[pawwݻ+>JPRd5CQ)q8 ƒqH;;>cn{{Ggs{Ϸcn b cqf'M.p/(Gc[Iӡ'ںHBo?gdd̙3ϝ;ǙPZ57730cgav"tE{6Ȉ)5xM-- W6i&Ao ~H8.7O>pt=tHrƎ= g yz ~a߅ +"7cƒ%K"BimEͫ%Q^J/kjj|kJR(8tp$IQBf;kIgƚkkk ? QrG/m(LvwJ 吡I -ʧ:xe `pp0JٙSazW]yssɓ'x \GP2 "G4'(2I _ G g<πg0žW ʌȌR1 t ު~Վ \y\Z81HG@+{ݱm{멓 G>DTd m-肟$%rj /WQW~KkuG6\qɒ׬~Tܵ᚛O\mBe/_U.9n(gNxBjXhAC$%@ܴz&-ŝ0TZCZvx9H]BP],]c"T,K.ל7E1GeeT"Ƅ1DZuSu-EkK@@fP!iBt\fdr```pp 9\hmO 6[=44422"lw\Ắyﻮ=dju2]ǩdo}"d>ePԮ,/zɞ%|87~z_>W)0Hܐc(:k(!b84 ֌G%0Bdċ.IhW JBX yM}M6鲫 b9;6UNWe$刀Bd34=;踄 2!H鄟X4sAl5ta(]#DM Y"h[HEmBAhxMT~!.8LQF""жmlYr;n0T?C__z }KEu}'k?=pXgv68Kԧ>O_cU4r3Ƙ[-,Wee5'h͛}s_s-UmwyGgoW&]-sY3zj}W_ܙN86cҷ[niiͦ^ycڵ]f-w@v~QZy%KJif_sWZ|)MO>8N3kJnpxK/ xH$JagQ8qL։D c%WJ&P__HKKɓ2k9<0 :<6:jC6}\ۧLr髮ZM&ѕ" ©mщ'TK,q]!.뺥5%2TUUy{c[UС?/U8{`7c}>OdA)xW惏=̏0 FkD0_ND9:q5j(5ӱ܈IIS̹/S־#GP$qÄy+yv ZuIփ\Y!iH\U4a aX!z(K|eMzRUՆV.aN}CK.O@tI[o~jkq$~nNӝO=,%'޾бlZ]bO(3'W_]| B|eє~cuY04 YMS4 \~iWGqHA3Eha߹(j$`ȅ@DsO8w\N 'D2$Ǔ ,Ro  d*f)Ytŏ V.C4:pt"`dt82VdS͛U.+n (Ụ%hǟgTXLRT[)xpI&3YM0Zq8\8\x+G~q 8 .g҄ FjC,$QW<\,prQs|Sl<5%4sy9tJbbiK0Fs\+8Xs5w%] 3TAG`dDpdL+͵#(P KHx"ŋ0Ɛj.c`N vs,q'UMc ?GFWV2 G~K2Q[3/nE$?*x(4v%XJ-Z8W?=]b˫^cM]Ȑ׮>~G?NYxVZ>eƕ.:e֊˧5UmfΚfeSRnܸq>}g7|CΗ_~u]ـD444qsƃ:z[[l߾5 |9yCf͞ۇ͟csgݻ 3FǎQ*F@|9{&}}}-Z`R;{,̺U̙͝&_(m92PA=4}B1GZSuuyG;Rgphl<|\+USl[[\i=>zl4!$"x٦uW45.t<+<{-?tR1Waڥ=U^1\zE{kaI.CD"ZaQݎL"D "i1¨0eL1`֍]iheOBf=.)it4eN )Y S,0pb5G cZ݁L]X,ǣ0d=UR͕?sͷqvS?hܺ{mi]q+V\1wڡ o?cIsϿx_/n#Ҏnᆲ<7~#y'>'s_f7ܰ(ߵvuqÇsAǎƉcmBa@ĢF(G_k!u=o~3͖宮.!  [oLww!%umIA@aW\ڹَ6改ˏÎ ]#TϾҋ_}>3xvDU>gɥ##mH*Q~㍽+L>䓚gS;}oǢ<1bm  _<,mq=sLWWكe!œܽof[;TgZ?' Ɓw0dRR[*wx*<0A+JZke\Bz^D2ȘyEn "Z{ gl%S(C}BPJR֮]y^ƻ++hq(TXTJq<.G;"8l 74}z$c$A+i>}wA& .jQwӹ}onٰjvK\l˟}/|Ⱥ >|=Vf:On=seϚ2J4\LE}85M?wm[")gLoΦRb~Dɞst&㎎Λn4}ԩ孱OA]yo{箹X$ޞ3f%s}} ;;^|M7Μ99di%~+P sF$@ Dh8'Ή1`Z@$Αs@Y @&fnN>91pdQe0;"!)0|(N$ө !rH3ɰƍq۽_>9Dҁ5 L I+,fd2+Wʒ[1ݩ^]D'AXuu#"?! @  0 m2%X*RVcL&cV( 8ZR4PWed2-[6̅f{2DW~+.p\_jhh8o4(m.b}ovt'>Ck^m*a]}ŋW\basfϫ4?/>[r~-\>~W|3d~G,ct Xu 7v?Ɂ|}u9}őDCBeܘ B3G2C6^әdT6-$nz?V%ko 1>$8?#ΊF ˬ6`#18_㵽C].KoeZeG:uԧ_~ipHd3S?n;qQX#˦ 'Њ5bgiNHp| sXޱGT1`Z w;ɯ@&(f͜yӆk~_ruc4[6t2}vryg[E ;_⒥5qϫ۳]\;͟ou׬ڵzJD;fM;^~ox2GuK~׋֯Pu_}uo7Z1VIҫ/~i212Vx;@؄>T^ yN(dUUU{!DPȤք4HX &Z}߇ #1VT"Ӊs61F-h98dSS*+TF5#:s8޵kSxj5M?c.""1cF"H$ e GYO?O?W/~Âl x) 4_OǼ‡SE~n6': IDAT}Ivjժ}Rb0d6lgLuMϜz{JT͛a.I:AQZ۫C@ yApwgrJWepU#p;8&@OQDjt`<"B8h0\xPUUQs P"?$6p!NЁklt,,2BqʕphȋpǎMS hkfo?[>>_x]׭9~y٪Iuc#[l>~Tp35SfɇLMS92gѼZ_Tڳ3X޲mˬ l{~~p8wE?UW\_T8|'dڝ:u7:\pF(_G?ڎb2=EM%"lcE[*R`Li&2_m9FW~dA`MOlB $o+Bbyg=IiE>v#H&SxBBf+3raIB vO(eYuS0"yg;3leAY2H$vqM7GiDP*xD29!dC?r?aG~] ?.fޝ۶yNgo78' RŒ8Y? Uܱc+/{`xm:u <.Rwthp#8@$9aKq82#AH(4Hc@ W,䒙څ˲TCC}&M8*)Fc'ZchƁHiqSB ɉLl&Dz.jN' EƐ E\(8'È "b)EqGD0v1F31"$А)IR'2TRK>ӞbJM0%X *& b#p T9,/jٛ;6\ߘٲպڎ\˨ ȔgeHȌQ\ɑ*8p4԰'*^ro7n\PkG*yt3fto,G4[rtzAnc֬Ygugk'}횱] l.gN5{ީ8(Mjv65CUkV^sǁȆf͞RE:k]uԉBXpO "11RK&ÄSl4hMpVs2 CC?8x^$Jey8GL҈ 6ZpaFraqdҞFK;X(8 y2,J{8J[>8B6乮8AfFGGcA`C2^[C" `QGz}J^~GDFG '%EDw 'E'Hm< R FT^!Nqg@"`јE0Aó%2H$I/G5C 5'ԌuqQ{sϑ3ogPcysLW"$Cl|H2SZ;f@fs iM\4#h8`S 0SXE ~eM" cw!8HQկo~_ӟ}[g>bsc}p۷G|~/% [/|#oo/Www˄DTC#涳'¨$Dz2F0\0 ʀa%2޾s#@Zs 26U EftOqӛ H Ώ9rqPJGUg;N+E?}dUQkǞ ,叝8 xkQ*͹0V۷@n4;vlawmKŖv$,>tC '.0Z޽{틘'|^j&9FtNyDKXkO8.iQZgf D2zz0U__kw}-[n-!Ҝ}~{₂Fk!-%3LfH*PF#c47dhd9 !q R2E9\2X,: yF8sVSID\+#/ `F"m%.-d 2ƑR!CbwK<1 82BTKB9'9TN:%JŢ5 դʑt_Ed# (RdC,XEQkkٳpǎ 뮮$XYulj !H]G+eYXB<Ǐ[8)ZV2att\.L&S*0T( }(J qn筟yA V{>1=qℵB(U&1J5 [zŤJ2TfJ`ktj6k&U#9H&ub n uđ )--NLXaBsWQU9\lαGN1 :`إ]Jb1g14q9 ׌!p+=0,w& #@& c\0}f"?72<醍B;5Ѫ5Ĥ^r\-癗R_j䰺 9.~G;wǎݻ{=h,6l12,LΘ9ixdA Gh糳g̜y-[v~.Uw߰uT,ڕ쩪rk[AclΜَ_aNTWwF#nԳa5O744lشԙM L wsoGGqYhccùsg[sΝ3lƱCN=;_~UM]d vZg ۧuMORt4ׯ[xϮoܹߑ;/BH%˥fӦNh&uřN;?|<3RB@Dvtm[cddWSQq I,v/u Ssz/!Co D D_WT|^x0X,&Jk_{`Vk[n!l^{_R5WZU*-]F΅AũT88yf˭YOHx[[8MMTSssU"V5 yvRP3Sb+Wk}}֬Y[flhUK֤b-Pț8L:L^7~'<Ç5!uߊŇ/;ԇ3O&%0+K%)躮.&I3FUܗ\隢05u] s. R` {r&[")A Jp"aTweuA,wQ *4+!Po\|СC'DZǵ?ǟZp))I)B@u>&2"ґ@ 0%mDTT#$*+v4={c=rn}ێۃ% \* 2P B<陚/_dU:csP",xM)ZqDJr)dƹM)S`U\ 0\_ե;~Q4I6( )*qMD *__i{C/?eKԹBQ%98jJ (bIQS ֔2 Sp!`/LߦmhYU[ZZa& 7ք5DIiH$Gl6sޞ~Aŋ`R1 CJeNUUUmFC] Ӥd+=ӎ;nj&{k L[\>}hm[HDJd%B8q⍎ iX6u/'A,A UT<'>=u|3G^F0szGw͘&hރ~9e  sK29'nqGKjI3[aVݴisQAA#SAQᜱx 9"BTT 0 NcHYg@(1B)%CPH"2 +DcFN6)"9Vź2/?*>ˆة?l}q_Zbm7* v=>CFb˭͉t,=<. c;ٖ[?=YQ]GG,.fϞ޻N='1 g7БXu"Yjn"1ЙPxmGw~XsS#}'K^C,s(q&'K5\vq\DJ+3f@_qZDE{os E0S3 p.?Ř9W3m~8smӉD )CPLJAc1l=Ź*|PK.t.n a i8l#PPdI)PiF㾮JԙJ0J  R@ɟׯ5sNkK_d!\DD&b͈*E8bH]ss):%HMERT}AqX)DC4&3aQ4DZU!T9b 444]\.:"T4CJ 9灅ϴI7$D\/ )BA*!xl <rG]%@H LPdL |SSR"HNBn@WQ.dI I9]^Idd@4(%Dsܹlj`uβmLnwVcfikӈR9{G+;ٓkNZtExD l:}趂7!_r:. ^5k[ p@0)xҜ(?lܰ8ުxD͊k_4ov]'DU[ݞNO;w_iڃ<62<'wzkm۠`td22j|쑏_8Gʒū2ّvCk묹s]{[nd'Zf57mF~?3Mn>`F"3gukoN O'Zgjnh\`G>x}{زVJo%=rmnX9DK$At*36kr9T*\.766wާz'җORw]>򑏬Y&J?~<$ TP,+&:l//#`uݧz3t,+J%NvA8yh!d.mf._vmPҌPf p.+ rjg @Qs%x##) EE'Kq+)J$*O\} L@@)!@lY!*d dµ8RD1C\U4@P!*I%EmMD}irR0쉛gXlWt!Gž>BaY&R>s1-?WՖK|绽 [RG~,c4\GlO};߹5x̮ի2ng;u|E7W;f-h[3'o1[~ОL.?zJV-l E_ȌϦϿcp(suGŷph&FU^+nם/ +Mt8vꍋϿ[Gi5}߰q݅ vtt̙B)- 3AsYnHDL$Duݐ1BzjR)eYSSSb`^lܹs뫫gG, Rۧzg/_^]] M 3V0x@K xҞ1b %l4Fmmm`!tb5IexmZSS;0ǃҒNRP(d`.lJ\5)TV[D)T>?a˂g~埄 neH\Ju k_~Ο뙁3Tњ9JOu3NtBO=ws_a}G{vx}p^{>% ?}G&Z#1﯌o)34Tµ(A@U<)sY>pݦf/\z{!RN'Sqh%@EhUq_5eOvtT4 Hi];_b4͊QBݳKa*2%):w[!T\h`4 o}W2l:.\x!OI8Id{$ѧ~Z"deI#ogZg^5;|2?|tCTzWAh˓iۈ{|yj2@ ؈966tؙUz[VXkt:::K޾\xiwϵkٳA1m_BdVWuMf|_6^m飯= .g-uu קߗV]w`qKWoܱc{:3T_pykB=Tڛg7zܴz{!q ׽K,3qcw޺qӧן;SOmWv~v7xS{4I%It'XL)%8眄a!D>f bUU]wݵp†㵵Lfbbرcjjjjii R f3w@pǙ?}_utc,G"0cmێ@zYDx**HP@Ӵhf`jgF8Z`"}+cr&U~W$|tMoxĥN@ @!dmC?tz_ׂO<5<)φ??W߰aU!- 缃__f#/?:}D`A4/J;;#q}т~摾QǶN<}1=麤?ѱo-aUMݷrhϫJÏ|Ůν/IٽΝAcɀ@?tVDx1KӨt"HR"pϢ(b$ G(!T @s "A_0KRsŨ| 8ݗ6A" "uW(B(CݝUP)4JADDP\7ow>F ׵3[ŷOk(z+ @Q)%HQ(:>a=quB@)r^%17XFI~e'H gƦ wzErRR?pȶ+fzbh"3΅vvuut\lԩS(/VO@`k:WTȕ5ڵKJiKPBT KxrK/ @>308}}}t:Κ={YKKccܹbH"1qT*SJϟ?oYVвo˗[~Pi2"h 0 hi3]!1j:*e fr8h4( #hXxÁT6(KBaf[&lԔ?.YuF/k?$( ŷI@g~,GSZU7D<:18&m;^y'ECdAI_(DT}KmoΓn~w=CC5),"`fE#G2YrŪcǎ%SɦT=;ttZ-YpWg"C28(8߼)l}Qq"B1"ܷ +P )Qv JBJb!KR4T0ZD$ HPA"PD@:V @RT*R / 2A86#T([pQW(} h\_R@p4V<@;\ ZVӌ||%R<ѣ  =tCp"dzX (q2` )t*R ƈLӅRJ@BpCB%)PTpG@q@J ei?G P@ TzҊr="<ψ[rn| 0J8BJfja 馎(t˜|\T6(ն3;.~G`AL߱wwŞ)sf/ =zhƺ/12I R}:{̞0Bc +d\$ |?*Owt`e[Hl8Hיr .c`@)E("UJF5PcRt]B6 @&''})m MMebTJ&7o^`"4 L)MO4t8N&)866vRihpp֭ -x:Z D@lllt\P,bqښa 34M;s 466:ܢ&A HQJ``RX$Rx~WW0|uuuQU]æfBI(%^PR a3t$P~7:81T?{k6W wS?ᣖ]4 ]J+%=g` r>v mX0WN?O,Q2Y=}0WpȣG{9ӴߞA__ڞvB ;!%ȍ ljܣ ~(@{xU\:f3˘sNr "< MJ*PB   D =9J@pU ȔJQ GcHI@R1@QF|/t bmJ D(N!q$0\1J)))jWJI˾3ѿ'EH&5 YrP\p.Y*$(=QD(B*cseT* p}G(" +% yɧ _15R@o;42BM)}DR)`)7ׂfH("k軚b>vŒ>*ȎM}ӟ>ֹ!CrV__TW_WvE_Uc㧖_/}fThB(Bɡb0d[ܰi}$M/]Ƶkyo}sOV|Ƈwu[61VvUyGFFxzʶS]?Hix9^}U7_g?nw@W4r( |Rh m[DTCMMMBa"4MBT*vc}t:=>>><BauT1 Ig:mFWN:* Αѻ)K߁APJ8B )lǺJo/)B{P&*墒RI$xR.WS]]y~Ŷ\%5E L&Upf"yR$3T >*WJ&BF4g<U\ e[X _|xl⍵rIY-s/^:{mtv͛w#˖OOMFcgȂKR H\Xb|b\XMMM.X~]'d"U}EsSÙr묶3ZtH6LEՖlbH5O0Be ޺$&:.mxȁT]rhZxo~Ogom#95_WI3o'ߩR(涶!="6JDc񣧸=7֦s}';]HY_SJ-5/1Sc)jk[rBi*5]P߻P($"2Jј466767 xZXf132s JppвG?g[UUUUUU\4T.A@!j* 44RQF(ed22M3H%D4LӅB!`UP$3Jt.Am]"4 nv4崤`ДRkjjΝHħrdf==Rq]PAR ȹ4=@f&@DI')'B:'.UTzfO*H.L@"Jr4Br1N{s0t$8 omq0 A!tG8%+TRQyo/-_GOyju︛T|{k6( Ezuk׮N 6.m lٺ{Cl*dskrRmm˧&G_Z{ɢ'^j{g0{-Y|]w;vl޼yJx`eKLC*\!f?B5sK/fղP&JbIM7f77/h[ ;Zj+ 5YmcDHR+ERʦm۶]9zuT7x6_0iGjimI$jjH*Mݎm|m|ۼO$Z[[nƺeW56\11WE#D$ʖl{ӦUcÞN NR}wsm]]HR X͘u۷ }xlu^E3D63<<<)eFœr 뙜T*diFT \&-&1CݝǎL#W*Y%X;pxit0ʌi)%0<2:?8:/t]֣*_ꛘ\JqBxlk1M1&3C=}RN `R"!!/nx%Kf%K#ҀybMǬu䉾 l;/Xеm۶mذܹs#8wǵ)}qJR.I!rSSr\I`J׵p$LYhQ6u]wժ[-#S&B ӑhLJhܦ *  4jjl2p8ֹ MB(`%T T2%|T S񶷽m͚5CP>J)R .|H IJB-& VH5ݬ8 P 1d(@( כ.n $"e|VXbyy\\zg^{n]5(7ǿ$4o٭mOGg^G?W[o ~6.>'J(dMY-W\r#跿9sSv_|曟T*O2u5ī{xTX4C;xbD9!K3ԯg ! a٩B:v]/ Q#_we`(>(R6;VH%E,-Bz5=zy|J) /5*>$QfЈL [p+89Wy=QM*.(z}!.ҥ\ju-|%B>hguh+Z#Cb樂PFJ2,MtP}HXId _u2 = \>˹hYV(d2ܱcc$3 IST/_L&=ؼys.K!i:#r 8eTpeWNJQwJHm;ضH B*,g*+@JJ4cј8BJr@!;` Ca뺍MMەR=]SLTF1JbT(_oo8{e+aJuLkl=$! IDAT EO \]vuhs)'gNrp ch}ݗ5N_ٷÏ\ T*x(]A 6˟9*uYKxXg^{Mg ]{mS/zB!>֭[׷o߾h<?hښځ=SygT/_]U],Vݿlӓ#UU]7x݉GV\q񸯢&G;֭£(AQPo:$hn~õLg4JTR1DK pGOL L.sH)%Py\. C3 aJR6ԟ2iTusW"DJqrqǏ1$3')jѢG:4S2Rirr2V Ls\uݵk&I)PTz'9244F9z`BH$"R(E}OB\b/d8TSBCcie R Yɓ+dd'v-uoذ^(K,ill7N^!MTJ]۟e^Hh@BZ#'>;6 i&Oqo>q ?㗆.ٙlkd\)Yt#◾uW-X7d2~m[>dv$Tٻ녍 )®^*LL؎s19 gϭYӫoN?\Ȍ}ƈRut2Ɛ(T϶oE(`GӴv#g#8WNF"<b[OQcPB 3;{՞yG GTJ]>W(HRCWQHΥR\)aێH6߾ٟ]\fk|Y#wq{8BTJ|ʀLRDH7 c:H! H hB MDȘR ?Wez(P 𐥔d(r<۞}>WSOt,Yn셞ys[,g XxR3}kĩמ}}w}OFbXd4ZN;{N}=_U TSO~2開y9rh\kUkVtfP6,Q2Z@S_ӝ?z{?wJ_x^y Gmwy؜t]~ϋoHJ{@RBJTqmP,<϶ٳ[KB\0kٶJ 6666B s&tzppPhR y"a۶rjAȩeYQ@F)3t0 JxܬcX]¦3tJ́|w}t]X2&:x'=swӦ`;A$A")%Q%˲"|elj+ߛ8Y7ql'r,đؒLu{/`L=m~?0(YےÙ3۞yrQ ,u=ڶ[5gpÖ1 ߵ)PJg϶%L&u]3u+H]P'W-m" JW.bg?-T_<VQQh(:!3nѴd 4(00_ b@ \؞m{!1W ~k ?dR 򕮗^z9P[Rs྇v%K 9:a6 +)XP}BxM,w2"( s7mY8oɮ]OYonɜ8sܱSgv܉3'=/gZ׬Md;zƑPHKOg:._._8ЁW/$aJ(QTe@Kbe[9]RRyddOOWc\_l?VHBgON>W\ͦc>uxn2 D"a;N2浴XB(mG֭[w7_Riz>r##y;$ZXPJQNuquKKKSTE>[nv6 KMUUUjϺukēXq:\6 JR@7>v$aD"p]wll,}ifyeN#9A5{}: TyX}T@)CDeG ĵ]ݴ|38*thT(۸f_Y^.`@<$cLIB}>90)2ҵќ^"PA 1R^W" LxPM ~SdTo!@M* (V NtLKҗXٺ|˯xbifxpfF6ͩ=ו}˺mܶ'+-sE,6Cݜ5%2g+UY:J&Sec#͋\t}R]S3OQ+>x` 7ί5P ;=]'ܱKVR訦vX3)6eC}W/^s*Xq˛L:9EzJnO/PQ]ӧvBTWUnSoe⌇5uѱh$R\\\VVaR*7mOL&ɩh4:>6:>1(VT[byssȈypRJ9 ;PBPPu=UJyE"a]7 ##e2.aĊ ^`pf#u[nܹspx*9JNRSIױөd/p΋Eoiq-kB\t˗2LPbU+䙎 q3\%U;;zM;:v̩#D7QJeE}gNung q˲%>qs PnRQi}c{,Yqz|PrTQ"(ѧ-vZLގsY1x@WXyFǏMg25֤u8pqn]G{{wyw|o|d7)E=R^^޺z/>z7m9$Ҳdɒ]hʕ˷߾sl綾^Jr9 VG,RwC߼ydlaΜںW޼zD3~cqFv.^@)E z̒c=$P_PD0d5/>̀)ߙ\ǿqv]wޱB[{_ 4FC\^8eMK}UqBUku^(/cM;u_@ ZjQ/VsCFWTWoX^ؙnHÜ%+V;ߟߴ` Lȑhd mye(hqI1M7;LXOefچܹwyBG֭_repTÉ-bFn̳}~x# F4O٫[[rAg{PJh埧n!c~29I'''Ѣ042dl<h߹z?pR* SJ }030/hh@]\\lf,}6/*Y!s BMR8# ,S60}{ҥKcccmy!D"J, N¡R`YV*t] !P j儒?W3@\Y|ŎI=vfΞ_aNoZ5>cx_hK='?vh]WǗkZWLMV._}ѣw0аx^x1s=/.n?~lbGEE>7p sRI`f"p~M>> s=8~> PI "5W(JY<4V>;n7CUKV7qd󦭟_súշ߹S]FMeՃQTV?ܼ[?x>e|G^Dٶu[my7jLyk Z;wz׎ס,]\jYCɼUEws{zpkhfNC}V.3~ѢQ%Y)HzXeifaF3K  &AGPNwqةc'瞿Ц*űυJ/Y < o~2>05NH$Fb+<220GCe6zKqKפ‰TF({(tiF69LSSI?OWU7ܰu癀a&elF ]eƊX];opB:;A 7eơ`SUӪM-CJڮexqwͪPhVIqX{PBPf{5̘@_WO@WO_gwсѡDbtrb<>0ɧS?7>6~Cz;<~_Q*A t]///YH<Р$V+*-SL= uKUDBaCuk2kӯL# }#PP12H( "kD:=LN$PP%Fa縆mJLx~>smS6!WtG~FLC=7_7އO;,]w+˞yi)K/ʱ͕7?ɨV5c'"-7lyj<@^W-vBE^௝_ΖsT+.M{٘cj0+z]=]]#>qÆ TS;{f4 ϋGϴN&&T/Jf)ve> IDAT!˖=VNJc5us֮[ޖ-[ϟ?_FF}I_!D8tH/Фbl\DrtT*ŋ9"/E㿂zSlL1aI޹<@!%xؑ^&W8p}4q+W(J_ җ}b2iDk||xkd7RD)4Jb޾Knnvvݳ WDž+;_"'rCо{T*EQBڅk:@J ˈ<8=/ҁʿ_4B:8]H%Ӣ;\J)2QJ ݊D !E}ˤT*55ǏtɉɉOQL ^.)AfV3nrp>Xh4O:p/7hwttU}ᢢ@󼉉 +ԓ0@su 9|  O-Se3{ؙ=}#>{o/_|?9sٵ+zeETʵsVmIo_Or23o+Q#{G4g,MM9իהe3XiWYq̫sbEM=;&D xM>GyСCqzXZg2F դ=eF7xt8TO:sŇs<1kt1b>2'`rM<&e-nnJwpcN]G]{R'R.V5keeyc#kLdSv*ӴԫjC gKJ Ӻp1.B(||_j__СCgߐOny˳>i)2ʥT8UV4ISVȔp(ry #LKqN` w _r 0ÃY. %QBiSUcAsHT奓)Nu%D8RY'gs` OL)J!Hנbx[)F=ΜѱAu! ъ޾1F!lBn*S"iXUUU}:빎ںRGiy\pA,59)R$>})`y يLP@ S0ttUeAmjB Oovo6wTUM2}sG>+q xGwޭiU+DvL lms㘦^,w] 19m.2#e(Ĥbhzpd!u* qNyb[AӅ㇙ak*AdyNulGGۨ#X1Uɬ:ER9G(E8)Wع'gDޱ3t.0?2 s")%x29%s1@JSer7MQOf9~.fd)uͤ##BD|Qkb2>O`0}wR]]}79"6…/_9)Koغ!9ڱe-?GLè.--IOfhڵ!˨m4߱ogqӶ[nNma[|Xq֭Iq˭,/%nٲ5M\.dpu[R)+T7ݴ#uT5f~?ݺje]Mz[mݱ41(-?422VYU6lXOܹs捇d+V._v¦+[;2261;vSSةqct4P`~4Vbсousbb{BUVVTUX ($.M(=ߔ@pϩKSwO}'>wxM[sxb_x1W_n֮[|MPm|/+n.5XI5<WZ58xx{#_jMM]uu͹s}]8ab2˧ E,w/_}΋˗l޼ OVnveV =ЃNOUT;S@߸Eanۍ~k_x{E-Kϟ۱u\t_| ]UWU׶oԩuuKW8 7qnMҟԧWTUo꾾^x)IukN}55=]\nhx1eSwܱ3L~ʼnDP(5(|<ۙӼi _ei5[ HQz4""}ITD$"ARD<+){iN4$UwK} BUAC$*F: <"$ \߶ BWƘkJ߆XG5p-v*'56g &#ς"YT4eMPtM n@L~Ő  c$/)C\6$͉.!ku iRμikW?uڡMwZu/!"%W'aÂ$jk~=hg=_ٶ{J644ι75T0"]% lhW[[wI7 vts^(7p, +׸8o7~{x?YV8PI@xV(t #ccc 5#󶓷)7<כ۴`ruS j":ׁ2UAJTa!K")T#HKNW7JJEB`H%/M,J"vR(QPQ"h "q&i O>TpE(CN(*@$#|&be eGƨ B9(E)%>AJacBk;3mg.]ϙq3gε,jF%6[s'1igs"yңGΎ&&mٲlqrgNДʌn6=U__=HwONfٴxLYY{cC555xttts-LOLĊ"ϜM>72w۷/9O%##cE==ãڻ[,:u/]ꘜt]<؛/ܾ^4FFF'&&&&/_z]m۱ҁ>F压#'N,]lll,99>L[[.g3@<L$TZ!0NKs 2o=w3sqT@@V\\0qbBiGT`z:XCxNsjSWT,{||ddd$?'SJ4Ns٩ORJyHJ7JOfxMrkVoԷdyc񋯼x0^޷wBԐE%A'50n_s+)r$}\gUYRLne^؇?g=5mtӑC/;u;HG=ܴ}{Mu领Ou7TnQKˑ}/ kTGR> ?kJGRO#8xd_g[~ս 8%H(A j?RJHpAs>>>KKKlgpJ%''Uյz~ G_D8qأX}}}CC]>o{~}y{hЛXaCYi&%D7(L6[u2=YXodj\ػխkV:N+𚒚rfK5fy}=K*Z1d|k CJA=#J BUC'Of{;;ZEgG?2;w,2^+)(wؖn#sSO_zpևpI,qb|8?ɡ< W~+E BmgO8T N^yX2-+5sMm3;nw{>POww1L;=&1tshYy?|{oۼjmS_~S zinƒ_ 1JMwJŲv_}U+Cc"3_]ޢ,?>p pem9{WuN眙魽!eb~pcuuFx՛k˸y+";FWJԟJ>B(# (cO߻AJfuNQDʧ>~"^N+{>5"\U"EFK_| sL{\zRK1XDew:3{~q=cLAM2JJZ:t"FbFCO(Tc))GBFә:{ɩ]<}RH!}opp``{MEE=MLL[\?|>uut+ݽ/bCm==ښӧ#6m=*EX1U`@5@F@B4!\E-},5_FBxESQN@@g.p AIZ(Z"H #a-y()L* ůU 9ֿ)bYJFQS/!?_Ɠo}a \7TFz/%^fwrדa<6ju۱cG~Ѽo}uzQMה$&}Γk_}L)366B)}$Q! QzE,0!a!2$a S4 SM Z B:ؚ!,kpP fA(HLC"Z: s g@:bfHM(9 }?`$+lPt\J)fLk_`g)KпPGSJDZ,KM_<5~kBP$RP )kBiP`O;e PU0 #1 xa3XYAJ)Dy*]>@u)%"zi6nxMLj>\\_Vpfgg v &RAW@ $WL2bF($i%8CH2E}% SLIQSDc=D@$ D" 2BP  (&GBPy-6. Sfܪω3igLf||LJ]aWȼlK^g_=rxd4J;9H}ȸ^2'c#vNh(@!R(Rܼ  #I) _*)Q@T|^y$JPHZG Q;%HQ(kz@T`TMbJhVDJR R%QL@(\x gt*TP@WM2haeN^3ȶWEjJ)| 5)_as$)H&tÌ:h:"]WBR* EB`"Ψ@JJjUy{ $~wWWoj9zW\ַBo>ynȱ ֟|'}gEiG5ۼOݿfyiW>:|^~ҕ;XOǿ5ޢBx\l۲VS>hq{wblɋp䖛OL:;vE,dα%Ku75,ڰ_:i])[XK!Cy{hl[mk׮OyCl޼rw}~㉘W-^S74ϞG/[Wn~8wmٲýeeP֖OxˍiZ8V٧yy| gNذG֬|>u\():vyӦ-/mSܾt g?j҈7}nݷ)p7',Rqiv\D呚PE6ؑ{*ȓO>96:V*h5(p[W^'Nٶek֬G )4>::}v)Վ[nxƒyQ T=vm_loB!,))]beYP؂MK/,+dYc{gv=3<pk6^7lim--KO8~wrU_{+űv^57NJi*oRgguMoo+(Z,uE! 5GV[˴(%Y!D{_BVB2z<\#0 %mm_7:Xoqs7K|{ʅ"BF/[lphZ)d A31ʉ H=de]t"OQ9RӔ'(>#T L#3`RAQD DQ ؔx%z^^)ə DJPJ%D1>s%AIA%賀ߨRUUU7q\׽2 H$H, )(QXŖdIVo.rIq'K/I^M-YJJXDJH{-1 jز|,s=Wm*·{gc&S%ga_z9Ռ#Ajer?o,]822<>A-GOvnEU+WuxnPɠf=㹰#2k4\V7ߐhmm]jMRu{w@K20d#\w㘲~‘uduZڻEZ}dՍWsΎѱ")d&Mͩ8o2t[{PYY9wN}Rʾ…v)-I5751ι8aαQlzbg<+/^ZJXIiq`EE.)3_>`Iq@WWx֯[0w k3=]#ݽ}6?1Q+72,~`c4?5ͪNXߗSg6mj*t%W5,70<߳r媖#ͮJ96PUI+\Gf--ga[K&Jױ6>nXhq"hm-ZxK/=|Ѐ%zӗkokCKB1:2𒐇i"mcڬ sڗ=sB$X==@Fj.wʍMplً7̹mcA  \}H$C$ K kҕ83*Ȁ5*jgRVЁ`1 xzdd?`Dzۂd`Hb/os'+-%}}hN \]rྎd ̲3[Nްrcch-!4`2ũ85utD߳-Gt FLk3PB{%"EIۑ& aetV{azq cܑ^>Fŵcg0#,b$FWV23L1nm@2 7s"5Yp]d5-h1Cs0*T$ 5ù: Gq\c :6s]aI0&X\b+] Y"΍]L5bFPK\0U~ 0DN6*ߐc^rN>{R&D“w2x 9:RANbd9ҐQBIJKCXZ҄\HX 2&(T,Iļą8J]g820VK"B߉9J)"mIDzBJWץ]b>O%B80S/ct܂!;﯌!WYF>Yx! a.eɓRAbVlg;=BI#-^͚HpXL$eNWd\V2om(#WIz+RE ah ΚroDo}!e8wkOwPE}O^hXT\s[w|iw-zn}Jjs"\MOOnuTC-Zgyю7%}צu'Ԯ뮹jgUz=٬Yv?g]U-*l|?g}).ing!?ĦFH3?$4La$˅J:a[(fYl\# r" )~:.b )Tk݀"j6ɤ \j .`q(qE2>cY,z)3JI)2~֑, b"7A#(?hC?`jc5A`#c$E: 4#$  Zhgah,Z`bCy 1`&6B;!+ɷʳ"mCh2V+a> %-AP*2^krkl!#B `&T& |% rB=1P$H+ GM$[@H`U^NUehb H6 ='XƘ40"`ǧ pTx(='=hÉYq0)LucùLi5‹&< U:cAX!WזHY4 ~FFBRXsGq8W@Q#EiHؙO% .rS<R]xZm2y%E#Ecqb}pmC\1$ƅLX_1jX$YZU>#7>Y\>u=+xm-%˥5^s=w|ع_!j䇐{m8-[ZϞ=f~Myy g/r䐪^ze369Q5OyŒo7T6;Ms%Xٰbª U>U䎏G%95a둞E 'Z^xKNg'3Ool|ߙxE~c$kuK[rzdJ@5.\bμKjwo1>6:z{{9x"DlhX6::On8CGږX잟võWg/~:J`,C[a)yȍ}B4@ ,țJ TxqIJh" M"r8A"@J(XA$7D$HֱH0r$N1@N(YA!aPrМ(TbKq5B-M@ gLj. d7~Jq6|ߟi'5d]Ʉ1V,T &\Y%pC ~8XMʉ 5H Ua\x>-2=tyEI|q݉{zW._պm>+uI'ԵLċgWLǮ!}Ws׮^[Y]v؄婼|7_kU[D1%)#]w]ˋ?q:8[6o9r9s~m6J [ظ|KM[n @))XFPH@e IC%+ajcA>#P1b9#̀0 +f&'`bd "Ν$XPw Er C- 0ȒAňd0*Y]/#7ž,ԖV3`G)" Qux^UQ  Kc4AS4L(j1& 1XҮ#c` 0|q'q yËChtvtE<眱6T{G" C9~< ;wA`) VS["Pw{4EVai=Y`޼yB"UWPkwoM7o~.]"KL&ٺeKI:GjjjZt #7|{lZfq`tmm}.89>tXubZ3oc\ n2ZWYՕlzǎgK.?/~ V=iCVV^j޽XlӦMcu>!a_BO-ȋ _'^j h F6EE"YdTPDh#P r$Ihō @$`d ׅMT@jZfEbĨPݤBiJ4#C8J1CDSiB7vE YjUi`5܄kW}K_nu]!S ViXlт/?j,<:Ao[6׿ٓ֒_?4<:'SS߽sdtM)#܊u~_z}k9yk?_~_z+fi?ڴ驮'Ќ+RoW3yWȝ"6D`ֲHjg6J7_9-Ol\jՓ}u Dauwo,n-[ Xe+  3BH[Lb,Gi|EǛMG"Gƈ @#c4=iё]:V׾vlzHS Q ֢obaF$GdGD$(Bu]&DgLfH-$ahJF: KAH݀\u2f CJZGu"< 8Q$clNl#¿H/{{晝;s y??qO|ˮ]^wEV->nW^\`w48SAo ]Zԁo+QM/G{qّ#眵_ʖGGnzݪ?ֿӿ޷o˪yξC/y잟:Zy:ˋ|~Mgvdo@眹e듷z;Crߌ  /;ui;[Po>9vjT;_W>{jG!O:|&Lsd@ (kV4,GoΖrNMYKщGڒ A0Ĥd`%$kȋ˃sBsJDmF@@ 1)l YDғ6n*NNiO.dTɦ׹ѳA0ƔRiw `Z U땢cwlo页~h'8:UwgQY"(X0.c&S , i "B* >mGLմ=}Kl@l-=/N-G?}rS ݝ;"l9<~a"wVia IDATqq< %v87хoow|D鞦}ik{9%6>QɄH%bƍku7 `-33`ႧwDzD}Cq&suu]-g-=}jr"0{|08c2+1wd8SVY5*oJB9~"zyͳZy!1:baA1r\$ 0x9!Pӳ:Q֧Z뢢L&KNljdsDB"Az@^3]^ L`_nhM lX0 0rRNNOANCu~Zs&;1 |_τ b,/swb- voFxD_>!Y  =ځd>IƌyCϛ@ /B2߷'(_IddYFaQ x`ߞ~ⓜ=t%A~ڌ3]Yk6>מ uZ[}!BFWCN]𳛬,3AC@Dz:^:Pb24\q~;9%H*؇NY4!5 >??x7.ZH2 Du}/ 1`ETʋ'?tؼ/.N}W0BTJYJJ˿?'>!9oC%ùaKJ?tˇ?-28GDqƕR-9]g10N;ě1:vv8FRS^ .zudEh&a.Ls!YH@$H NH+A0[5HHt4ID J 10iW8!QQ:qԸsל['i'n8c/笘EࢅOP?]~hpO:%-O=+Zd7iG+ko8U"%#:|.1EĦM`^V H- ďfmL"̂2aAZ"D+BtQ\YM 9h(Zǭ͏p8J'"RmP,G$D 19Q  @I- 9 k<@[v} t܈ 4\(RN:qLGˑ0S<7a?@ы_ }CooXOwO.ۿ 7鲥OZWQQB"Z;6::fe|ҥKc^vi{{fK> qFT^^ xf_|q?866^[[;3F#՝qƙi9BOOUN=K_2; _{-qƸ=#&n":%*OGW*b0jE&QHQ=Wȣ3գ)BFiKN_P0 g'o[.|~fG> . _ϮZpi|>^wOXQd.MפB#2PHVTaXdMWX/GoU(TJEF ϔ,gُJ0'7<~=P*ew{Jc(&ƞ߹w i{6>''sM{w.{ĥgooms>km3E>xg{3: ve?Ɨv9s xݝãJXS ̪޸pn!}{<{ծ{g{Z_|] qƁk0 ߶=o)^K>ox#/7?̩^|`3eH|]ʓϘˆf=@EںЁq9nrO=8zS}sL'ο=ysϹw>;;On97d_icPG!F1"B}ݒ+~L{em8mu˯ 懛v-q+DQ%y-xs]_vCi"q(<Ƥ#~}1nο&bgXXQA{~db0q-"A΀B+fׯ{3:G5"+ D`/$ tu~_0Ƿ/[s}Pzrxd'?Cu0D9~fb1H;N"*ҹ}+Wr-3He39e&f8f[ ,L/Omۺ%K[ڂҒ w}_?:gJq7sօ_q58 '&&׭<':t0DvFD\+>fjmґgn8?1a :%x%RcOf$}oJxTYmI N!cPD: $b 0JEdfMG4V &Q @3%2ɤ8rPa'9gG6aqD:P:}6ഗ*KYeͩ)H^8e9Ef=[9-*C׼W}Lvi=҇":ۛ/dx{K+9ܑ ɏ}S=kVw^r)C#7=󵍏<ߟ8mBp,Z583[hHldxlp ,Yb幋["ue-}k 2LQYo !<RZ BqH@@@688ʧ8RȬ%]Аs8^R S]6W)|͍y~>ВRugf;:I&XjBd|8 uv'Q% OpI7+W7o;y>X-/^„ }vډU ;ž]|d%yӤ %Rҁy OxE:Zmmż8Ę#To!ZJ!Ιw uDO&2@$c1Y&gRqᡶӆq)Z&Օi4U*̀tL*2V1jk`k@PV1 cN-L3gErg&KB2RR,cY2#F")Z)J[d4VWHμ0;N~ښ'x4z޺W̓ދ?{Ή؉1 gLza۷m߱>xTSO̤/έXyw?8hZ.TYswwiz]cvG @0ͥbMo"d>}03FZYG&,嘈`aq`_?;ȋ/~gϩN^ڳj>opphphbʕAsaܵc/֖G tu$W<1jFK KWܹ-<3j:R vU Y_9*Mk?9(bىn&-[ \GOf7oȔ twuQ򙘉F/x[[0'&TFA$1%J.(M95%ra^`,HѲqN7y2-XUV}k֎ Y8 0a!_mgf;zvjgO+kc"+v~ҋ>ve\xA~я*=6 aޜT~-^w27,[U`nUbd*볶&| \ #+߽{מUZƽ`oT21*Xhbnu\)̈I?4G&ꁧ`wM܉ik~Mwιb`l|b\[L[: U<-5mm|(rx٧7̭hDz.f:;'FFX67Kϟ_E14>r'Og4e|.\ H~tx00̮:4s.4oj g_DC5_y'B|\~饏g,-9apƍ?|dgM=};bVUUUcc#pl.*r{:ӂʑN 5+򲟍 b,<ס cZQ I Vĵ}ʍMzNf׮?G~ĦҲC: T:8xhe}0w4XЁ*պu]wOv깧r㶞ak#GjվJ!Ԃ+Vg'/:Ճ g &LH+]02i%E?ȶg4<G܁[JVvvOYE2Bp\iǖ٤ڑo9ŨǭAԉx<14>odhcOѻ^ڽfW΀sJsӑG|]睳e볣=+׮z5Y|Kϟ`w-Zz]GFFF榶u'{##Xvt=rXHY;E*5IrB$DDh S!Bq\v bi8A@,c%K̂DD.&^p|lzc2Ӗ9%L51f2YaEKT2 pqwޡZfWc)D$<'rccI&PgKØț l#0$ϓ-B#@ B !!."$I`5)>DH` %D8FĀ6!)HlLoR־u3/4fisOMMDf$'1bm"rQEZӮ "1BAxxZ Zk k8BZ/ʁ@rJWs/m$O|:&+%fҙ~&t{1Btäp+47V Y H;a)7ؓ>@(DPD]@.h ! LiBeѵAH"@d2 4y]>_\BiB,"!01@EzJP TЯZEb 1 $H1!5GH)EC,G804 ,p "4\_a !Wm^cs lAׯ`Z9@Wi:9^֏{zGjiT27Eb IX,Ęa!@ BEڂ^b@ڷL^8[`TXdk& >agP$Vƀ%ejͣR5Y3H0& s( ,")#˗yE$`4L"H1@Df ̀蝑ȦAٮgY!5|&fR_" #I!\)|BΈ!F hC!D=$ McLpH<@X"0xk!!+$6HdQB-C}º}gd{ÓM;,YF>r ~[ߪY{ /c篺_矟wi?h[V^/|;DW-g\Fu\M%hrHTQk^vLG7E!h?cu8?tHmf9[3%EEmm|e%}tXQ^~W3,+lk;wn"5kVccVEêeC?׻-/}꯾%K懲okq*Yw^LK$3?K/iʧ,M{+QGiS]G:dUsI IDAT! lIúu ~8s7?~Uͽ놛?O~|l{֦œ#-kV贔r޵@ sn+.{ef t`@H[0zO?tKԽtcZ8Q:=N?u$%f\D\/.T)Z{ @ξĜz9k-=q?5oo?\sjhhXpџ}׬..Nvuq%]~e6mZϚ5kܹhiYs͟7w0))*r)eܷ',_p5/Z4h3;]X@;X41҃U(68-#[(]DlBiYԓ)hо< mpk絫ʃ|~,(MEFGwl;\m۶/H-Y}\s]/{X70<ڰ~nII9$qHKK6i8*ݵ;Wխ*T*#$$d@A@ ڍunkmkݨ`<ECD Hb!w&ȕ"VVV>6& xWveJ)4qT.x R-#8gMC4I Z#e Jzu\pκ~՟ׅ|7|f3z޶^XssK,~`o61AKp`>ԧD'23 3Pi2?S1eJSrkHdI 4Ө4JH8B"IB~?yDFÍ  bH$ 9yNP^N9c`F!\r& $D"s" B~֛@<` a QVa~~1fa0+4@-rlㄡX%*Ј&CԖ y9con^Ҟq Uu'q 'ζ+>Q7i|/~z 8sV*Y=wWϭߑ>/vo8SD+O_xƝwuy] @B>@k5+*%lY$]R^2鄰2#Jk(Xtw4X+Y1̗R\b0!CPJK&@0,"M>mș0 NL k,KwtECD9EPKOo-˲,а$kc\2A$hf oЛoyh'P1`F d+KCJ@?ák$zo>JNymxe]@Ww<{|+Ϙ?{] + |l`1iҤŋ?stSOmn,߼zm{uАG_9~Cw91|ODe.0Ts^>5PQ2<0*"-u)oh,$ ""px bH Fi%+8igEZk)_f>T![J=x0*_|lŹ~ꦏ$ +^~dZ+21wA8r<]W/#3yy@DĹ#eڂEuc&4?E!_( `}0ОM>=nذk!e1%F$# {lȊ%ISO @/kڮdt ^YN;w҂g~v _\۫g|cw79bT_oC܃9@25 cЊ#!0@&03 }?HKmZMDBmFO@q HC!ܻu ވ@$8ke=1dZ К11#Ep;V:QY8c`8kMh?[d5[T*Z[['O˖-ۼy]~;\.D aǾMSĸxɟ3CG8 >׳c'WXquG~@L뺏?x** {R* 3o6;_ z6@f1XM<8-pQ(iO$UWq=DF9nB?m1vzogpt3@oz~/Bp DidQ "@F h 8'DpsG BL# ` >0B'2Bx傣rAJuvvq˖-o>۶7nTJqc !^]^!T}J2z6|VtJ6m-0"R*H( BA+ T=9 B qOA)e'MjH獸g$G{⪥7:=+^<>w>opm[ htT0C!wM?VX984NQ_ no< p^|x_:̨ԇţIb(C-%bzkK8a~Of9g̐R Ji)IpCRāH@6SQ߅1,#i2L1LEbBkbZ{qv Drdi㡾XYԳtGb~.jJ<؝qV:C?:[)!iYv$=jd,¨0 CJ8}GmRX,C>a„T,7Zkι/QKs2G+*.8VB7 L)ej:~8?`PJ5g ]4i=):& B$r%)L1 Bu$hP.-8, IM 71#9 8peXr{LHOI|U GQ#+{RJ)"5I z>9"~lJu38Bziq<Pz2B ¡VBæiCaDH|ss5kbXWW<7kבRj'MT*|<BPyy8b51J)q\Ky}!Qg8G&ˁI0%jDk#2f+BňLc'{Ų%C(8^PLG ,!yf3<_ tPLŴP2tEԖ (I1y#MV!$d!ȡk2E:dXC-#d:q胟>"ҵ^2 k+BdRJ?J+5qr滇anܸq'c A9!SsDJTbpk{*bq.`R͜9jR2tl̑!03f!"O&>l[[[{{P Xx??q/!7a{##>">2:DAPrE4p̀}(!BOpx޻Ω:IՑ %JZ Ÿ>"J9W},{S.[,߿[o-[Ok\[@>{}.$Of!P}CQFRTHߋ=dnn|bP6e 9kZuUmkC uKșîSDڳ)%IS0ȚO \ YSU #30\'P:_*9-δ { *O+TSڛ4uN.SaN4m&c0tRʶKJ94#?c;RԒ%KƏoB:<Y3qhњ0"Bbh+=?aI\y n۶lʔI}IJ}Ik\kpX?sM|P(tuםviUUUa]{n(D=5Ms ݿX}oud&Lwn:n߾0oh}&ڼyW]۱+h>_ZvMsiSN]iSgT5L򾇟c<UVPE]/>۵K o\|]sc>kux'l5!L~jp8xpU66׮)Cc 4(RR1dJ+˴m|k_ڴipPXX߾=)]'n?Y#jMxq $"b*&Lڳoo(g23dyR2εRaU x\J9䓂F0946Hӣ%7oE577WWW[ .;ܲ,S`ٍ?έ]g["㚚ngˡog9ݵ GaL"y^B.ʆy>e< ,>gڬ5&>/ϙ}k_ݰ&wU2mIZk vl6{}.UVV۶X,>}Zccmۢe`Hxh*`$/g  5uu=5uutf(=΄izQ+R\rɎ;R}C$SCs϶맂kqGQ󼞞۶MMMK.bǏgr9qBЊ+n&5<֔`3e 'MXK`6œA֬].. 8x/ݻ2fhٳgǎC!8|>Jl:# tlwS־YF!B%9g=Õlj Hg`G /E'fj xC7]={vH)ےGt،̿uzhRJ)%5("PJ1]]G^].RT8L]R)ヱ(cֽͦ挳Θ;4^M3cX.UX}sx7OWۥҡC3Θiu@)]W+M~IqS="o:OzL*_ ) I>l~h@hvSSSOOϒ%K&N8009O D¶X,v=,^ɗEc37idda8ڐMgy !Xmڴj( xi``}aB`?HJ۶쩭^` qɤ:XVݳ* dy{``Kh;l&z=UՓjML=yz&3Ɉ?LgepO=.7tWH#t jl˥YRmcd +_L'LFv_]ƲuE%ȕO?,++WZQ0@)h%-CPy:s,tҴd2yO8pgI4MsvFJ)u+**ޑHH &BhЌ8o71}V#3|h|}(D"I&b{lܹSNq]1nݺL& uww>|xbq { V١/eF L / IDATKv) ~d[憏,"|7EB> DJ;!Z<8vDDבMdvڂ-Vb섮x\ެQ9QJ15h6WȔ?i똊|$4&R:ykBp)q;+l۞3gĉGÚ\.UWW?#󭭭3fxɓ=L&o~sΜ9~(! 0 #IO[ZXr",6iHM4ZX"㾇cdx0˶sV8GD1Zk sĆۤ4G:F\‘k4CFH!!|h cH8hO}}}eeeg}{zW>|wwӶo5uDr~JiҠIi 3,L GBғ_xŞ{~޹e&&=->.]o[l BZkljbRʗ^ziڴiA_uWTrbhFXo݌C<4`YV*=00{gwvv ͝;:tPKKK__ĉїWUc})"&`f~%mδu,YB`R*= rΙV dYq{~]D?v41"< MJp OZ!P# @Ƙ&0R(!S@Tض}rmO=y|MS䬙.9.fq3Y/켿>{͟m?niɺ_^{5WbB!o_vPچͳN>g͟P?Ͽp Y}ƚ5k.]dM_Jɕ+WZV`l3Q㌔VD@.;op8dY֫Z^^^,kkF+jgΜpBarķeQ`Z}ӪopkmФ!];vreYc}=A|8 2Q^K/-++*Hjԩ/BP8t萟;-ˊD"Ǐ:3D"rH$ RwSE$$B frt#0vEgCL }3 l&R]YWP$`VFDoSTXL&~y2-_|ѢE^{x'|2LVWW~qP4汍b2, =^}g;NK_B!^DuǞ5̈y|J~'6?_o۞2X;b瞝sq4让i>cJwyjhhC1ǼzZNXݕ!)DX:]V}l~tvNRٷzڞ]Bc6.]z#ՕG:::vڻsΩSKm۶rHGM}IC_0YQ9=1U{{[:RL潔V0}:k[_PWvzu}(ܼyk:[,;>|5uVz^_ o ¿}k.[p+V#z{ [lݺuK]CdmӧM_xشqSlھs1vԭ>v S}t:edr…CDY,Wϯ1q;^/ +5 J'Qq)3d|J떉-HSg?ëVf 5i@"Ƹ "Z~=c,L8ܶm[ccaTßf;n8D* .0aOR)L;ȐIs$道59 N\8q^y,qTer#ۿpW]tjɪq0,;s8"FRdv4{|I9|ҤI{˗/ollbguֹF}(~AK9d]T)JYU4\c8QRpg><41R3$+V *!L<vz`5(b;@3aY& Ci1֞ʧ5Cwnd\|ߞw]ыTwuiqDZ5#?g^*k*"? h+=A&ll.x\iڡ4xU4gDR0D>X͛`7od&Mo}/2yҌY3׬Z Ra>[0rYIoVr]W^9餓z{{}H$d+x*E"t:- *1` Q!*F+ ͟Ւ5 `ƒ9.]ł`kkɓ+8OsT!#BGɁ,_n='2 @LgR|@BQ6f. =T2H'Nі[RlYY`}}m&Le!Dss3uXl``@J]__/8plyHk-I'N\>78k֬3goʲ\#Gtuk҈^q'M‹/ZiM׮^}UUU>s=Dh~q_EI V l֟M~Tn=_8)vέ1sKrXpH@ W=m`(x nVB·ngX,yw%b۷[nYzuWW.QWWK/ٶ4JRgg=~mUUU/8fsC֡T29Fy-4p@YP4! 1D@ 'djDM*$) m=& Cyy<=F1-$묳֭[gYV8fRP(d۶:ht07xRo2AiJl6GK۹)Mө!%P߽ߣ\F0 ygthB==='|rIDڈnhhh޼y/aByKK޽{ɤrڵ---W]u_ic}!s|صK1= ` j?j 3PHz %GK@yLLМPj$"v1Gǵւ %#HMh$]"F@ 2Ԥ] V הC`0t jxP#2"B_瘹VDG\щ)J|> \圭Yw&۶}܏ b@86 smE#jYN?yP":CH{{{ggmۆa<%^r7~Sg~'ׯ_?S{{5P2I#1׉CWUUP(t뭷{$ٵkׄ } X,V[[[__?y|>O,D",ye1/n>Hc R(ݭ4j5xeƬ*#C;w8F)\fff^~e UZoZ/xŊ{UF `0ZZZjjj^y_^O o}[K =#8{ub?IuO᝝DJ:|`O> n҄T:gd0M:miQqUG%aEV0$xpD$4(×A"$VQk8N$'?`pT( ͚5yӦMl ZlY89f˗/}=)Dcšєrv&5U6$u^jH1f"0-Ξs&i,M.=ٮcz̍ˢ1PkN!Ens,`ӦMg?faDHkST(K|ĉ_}{{{*RJJ&͛7B1;އ܈1rXeoo/y^+?}E3g-9ofYE׏>:~q#?]<jLEb?~¹F]<5w}+sϟqޡ?coȆrɍ{;Y2= &7M;څC}o}_e\xÏJEg/^{ n?SL_gyf߾SLOm߱K+]s9$לq= yg5^ZCe˖-;|ԙHرiˌB >voIsg^xr+cF\YR ۶ǍgYVccǍ 51e) ~CFxtU]]]K"qcb1 Zo~5q% S FK.pXL$h/e 8tдi:::/_[ZZFYvD \*  IDAT~5BS@p:;kOAkfG0Ƞiޞ뺟gxkkc9m͛dɒu֝ xNrzl%XV~y&5t*vziUSN8P_+6umѸ7mƜdm3rl}2{p`W~U c(t3k}jd2940(tC`$"Ο??NK)9~Z@AAA,령LjP1S=;3q򥋢ASI׵ .XtOˋY錮i.p[{u/v[nI$>8a"ڶ}7.Z(Jٳdk׮R\BN=DE:oR&0Jynz sʋK|W7qn6ndF2]#h:;%R9!N4>"tTГI@s*~'u%3&fSI}$̥MH{W I@HKN=6cBרq53H8Oq PJ>i2t\+J* Cr66M/>Б#GR,//;^x!P(dv&!fΜYXXx0H d1=t{Ϡ)Mq.P*`\ q]I(2@zؕ#=䶴2Ǝ~zZVьVܱci .$㵵[lI$x'eg>588Foľ3{zz<3M3w@. t!)(`!hB,p$C)l8p=i@Xf\(" <0cɠI0VF \ R2.8;z̙3v}6$()d4ʎCG̀g.pB=ई2T$0$MFي\(;_ukkǟyT*`MӾo]T*u188x믿1z6߱cۻ9CLBCÔjR([ 3I!>8er& #B`BɄ(Jا 5hHrD1/F B?ir A`$/$:b84@']%w?_Ƴ@s4C"3BP #1VQQ1mڴ͛7Ou?n FߒL&:i&tuP(8X|o _qhZVAÑk:vCid qp 8=HINexWdYV~~ʕ+/_~Сh4#HGGG2曗/_QPPPQQ%b{衇^z\kN=и&< MlWjzy:¯W&46ȈCVc~պusilֶX,溮M_e2](ar}}0aB[[[4ue˖b M;y7޸o߾'xbܹh(//s]۶>h$s"N"ن1$UTQCdLj :pIoܱh 픐OH$a-KRpg?YD>600PWWGDW]uUQQc9tvvbg}'F\N=" RI1uj#'w"h6* IHJ݌ՑsA>CQN*i ޴ai1n!2 B۷o-Z9E =PXPSL=56ܳL3cf7TYYɐ~5©o Xp1_Ӝd~lk)@⣿'Nu]!ٳh4{9RŋO4ɲ@ 7ml.++;kL+55|̎UI̛n2Oڰi]"n:_i_W|A)3M۶{{{KJJMufJR|IӴ>u/nM0H TxK;1t؝n{߭SgȖ•+|_~m6m RǎջgϮ_K/\fMScs*zF8}0RT{{  WBnM[5}t.R󻻻 yyB2B=z_wɲ坝]RʼHq|۶Vȧݔjjo,OuZ<<wqǘ777'I&}}}555l6L< }^zΜ9 .bNёAni{zꌘ@ *B|X,v+&L`UUU).` ~{EE̸pCXϫM &0UUUUUUgˋE h4򊋋 ah^__occkyyy4 }|?p8\9qbGGG:B C@K7L6{%iB)ijVZZ,9۹x ~o4Q2:uyDbΝɓ'WWW><9͚9~(kN?;F@D%%%\rL u?ca0 CVtLwWG|x0cǏ/++aa  }I0GSL9qi/BEEE8nkk2e[ZZ10VXQRR8V)9CFR}4ngX~s ̚5 hGmn>"!mY]PPkKJKA2/q!`+R)۶m}ꩧH)ሔg}֧? >Hk֭[ynذa…xFH':C9G4fR8J$۶}{7-G8c^{+wSqrO=Ǖ?X[顱~Ecg>޽{9gk lذV,% ]SOo׫Ld2Ǐ+2&q+^}ՙ3甖F"QqRhtƌmWTT\:õv*--k/R?!׶9yX.e YM : ;HJX-|1 ͓QNF|5Eg44d>1v*kCCɓ'@]7_yv lljts'ic)ڶm7f%%%󶶶/|͈z10Lz}DH4 mV2L$3fx@dbXQQ444|.--M~&wms衑Yi!'[2t 3+!8d13 z,`Lf|//e>u/I`mmm۷)$Ǘj47?"O{|LRDOO/"!Y5V9sځ]]]gyfO9\czl&CC^wt&I ioiBJ9?*‘bqCM!=R1yjnH۩Eͣ&tu"RJJw1~LXȲ,L!"?[:=³ *4Gs|&7N;OǠVsWD$s6߸F8{X:z_o2dcg?Hq) wP 붅gӖ"삢sM2iHPJ #!b(\isI.&evƴ9-ǥxowKbI(Ȉ&070RBF5K,l& N3sih' R>hz!' =dz($nzoX+tfwD<skق]ٺcUWuCcѼd*A=󇇚'MWv'J&?hC 6oS:1Los٤ ]̯[u 77ݚ`X6[piᣩdxqqȾ>RY^.lhkkdbZt$\Uꫯ|9cWbmݺ妛nPQ==CCSϿypK5 #Wnv!!J XwwɓǏ-Cgθ䢥SL S7iӍ7\RZd׬1(((`HqIq T,ۿoUtٳ̞5{U'O4‚kV.)-umɒ%i(EojEix/hQ(?%%%lnsr#!'\=4 vV{h67B^LzgϜ6ŗ^>vC=p69r7}ĊO~Gڹcǁ:BΘz7psr y @)PBA۶C`2mfzʹS ̝y-}ꩧ1>יة5k>VwtժU-7S ׷mIgSTq먡zA ]*;̂bhYYvIK)W,Y$ ]"t&~NCCCe]{8csov<4l;kV&eדd&ZɌܽ{61AyKȈq Lh%rH&.qXߗvGCcS~~uM/TU -[~IYqQ{s7͋zۭH&≄Yˊ\[4 3q IDAT Ѹ8+1PҚQ=iӢPp=8*@ h43 bqI7͂lŚ{? 972`@D$H84FIO [ZRFJ[r=42%i$2@0Za@HSg,_bLB@:hH(H 8( F8j$I~9x?9_0 #.)B`HF㪧Lp4N\ Y>&Wܹr9%?hBTQ͏XA7dJ]  Rp"py1.c;2sƌ"hi.0I'[_0wշϞVqn=*-1i nruuYXN$#X[{K8X_;Q8LhѦeEPIgށL6/_O\}x|т-GNM<:`Ž@SQQZrww]炅Z7ѣG ;_Sfb˖-ӧO;wm6lhhh2Xt-i{6mڴh""zSx< )~UV~۷9<֗xS? i/B^y?/.Ƭ|H}HMv9mڴE!rSjNzlY{5LnʫV]Z׻ ׬y[n|'}c}g?ڛn{o~;-.*:MSeƚK&zKnOcg$螤c?ɺ>xGg[S[֟ćn~{Θ8~]}ϵʉ׮][ZXP[;wܹ=qa~Eu-˯ ^z%/\t/>sO|rܹw|͛69|1ϗZ&=Y^RTD"Jx> D‡~ǭu۶_|m۶qt*SZx4M𰏛vJhxx~Zg <5"rψ QϾwV^:c>fY {斦\~fϝAδD"{嗕榳`V,=qD}C#hoYYQyAY6eby$\40tbGcU׮]$uC hŜh4ګnX{ g"|./++[s5:ڻ]uѽ~zM1uɓ c۷vxU_~fWJ`"X(;d,i뺟Gq1FW?Ml#y0!"^D<0w j_mP[a~ɺu>|Xgg={9f*7ުٵGv57oZ?gf& v:y˗mm%;H ?Otr %vYS+['k?ػg@O/^k[Â@[~E}gYx{漪[z[vc'UW_tM'/_p.F$ğ\kzhFD},(yQP!!ܤ cGt#׷e({z #zt +/XϿp ] 1d[=Ա34by[⚆i༳jmouL:+q QG$|v:|7Ǿ* A#9܇sC^"R< gQtcEHYKOD096UN*?oa~A 86yg6"ZiZII c,ͺ#(%)&VMc̬( #(q4().b_:fsw&Ȅ!!iPcqvF/!ۏИhʍsWuP: hq/ZzM{^05WK,]T;w^X, =c7|s]]jYwoowyO?uBi Ͼj d΃V5}Ҿ'|ϭH~"7Gs#EԬ3Nu#kٛn}W,2#sCd XdO3P+eVڽɧ^bڵ7ϟؓ>Oʼn'ZP48<0=C䂚zgT4VvlKgK\ox뛏}6Qol$'Yի_F8ڞ\_{ź\3 *cFv+2kqKm߳m~ufή;tp@dᒋZ[x'_۰޶x<~'xbݺuͺЃTZ|5˯I2F2=kgNdqH 8J8 9 3`8ƹbMGp@FFA39\@@Ft. `P Afp pPc`p.8gi 3:@g` `aǓ}>u!C}GJ{JʡxMAɷ?"ȵ?@e>o1\m t߳ qv% K,ICCC'Oh<7 >ce& G2Skf^~yuwweG(F=툜QTRh,@χ& lH2x[ߋ#&=ȂX<:s]*6cT)\%O2)<{9J @!)@@bj|?G]u>~D nXvEn4Dk@rD2UOYslڐk?ϸSiQ*B+ucCC}Gd*!ƛK@WDvDܱc"J)g okm=ܬ rC8f@WJ$҃-[11z0(&rnџ߰ᅯdF}?jZН׾ֻF}=4R ,5[ ѩk&E~[o~勓.Xu_鍃\WgosJ?/+Z'gߥOSY{heT}pӿ , rwg뎷鍨 uF쬷+ھ9\(U]- sةh58l@~ߔ\FH'nS5=ykgK)@L;}?-;-E"B_җ9,xee%{ZX\5n]!' h``p)P8TUUEѲ2p|%nwL*4cm[Q]]L<Dkk{&DP~P׌ɓ';#_ ̓}-' JB͆SsdRǩdSIy~{ gCȸSbb~!O wA-YC'z~Jue?#y۾(}82To>qx_ט3'Ozq~?]4p.g0a򮮞'$9jc?Z)"f0c,I9z(޾ck4q};JKIfv&ꏙcVOk#R_8#aol[*I':2yV>v gd?{`Wuާ>sWI2 @1 1q\g'!sǕ7i$$,!HH:4M{83(엀< rܳZ[}ΉK~`](YYޮs|Sf(3+lnM󹀆р2kK2yG}jYEUEgrʊ ;bwrYuʢ)~mOyoV|r~~mۺ_Q|IUjf^zEmwuW("C IDAT={ysOGz),))+ƿѱeM1N_r y>zpMۺoml겲[~ںTػ}˱{"J vl.?^s*RQVzcH ojhxuKHTc[6o~~sEeins`} wt"Ѣ‚7o|G'tA@ӃmiluTSwg[kGoWw};?vc;tb_:GDδ34Ig۶L&v;N :Nl2 Lg#:$F,dҶmy;dRދcIDZMHgReP*4,`WotN6ɤPA3fڵܴ~+P(u\zҥKc(7nliiÄ{Qm'ݫpp.W@1[jTf?/񫢂ܼoo~V_oC?~)/ʶu'JgFdH"WoZtZթ=sps']wۧ{໾>ttgկ汧TM W~s9K<iӦE566>pqE?vկ~5 "bOOYW0pGh 0.n7i.I Hr@ԥ@Y/@@ęID r 8.*ҕRSu⊫J$`#Sa46fmΈ%X‘ 3lΜ ;nlݓ&9())RZo~{}ݷm6[! Cޖ*#=bեC@~$y μ垣39gt4nm &Ē!/ wlUdu5v U*-n1oT-֟2]WT:-!']>u @wgF#PwgүS~ Vc)溒nkF)4͗JF@r9"fe6HǶ]mkkcy>82af^]Fc"q @x< 8lC@ *H zn4Re(kT8G  y;"LqׯAql WCq\̦$cBhK>3M]x JГY nFU80G ն1v $N@H  ʘf@M亮 9W4ݙx@0/Zhxu #qē2Ǵnga8[gvNS7*4WɄo{ z˛ Dҹj2!84%]X.xX*|wH-i.Wl182B +i; rJ] XO8$A)(@B ,RTHT8GpȀTT#`La(<0r '2TEDqg(a+<dӫcbzCCIgGsT=RVel;r5SIC}U]抓Gj7weL(\U&%9s-A¥ee>[hqt3EYnqSsJF³ko6҃D8wXBcSȣdz穏ɘD7+H!* ?846|2ag?sgUj{Ԯ+[de͑}';=/'jfN,[xQm|;ym>~j`z%3;^=}PvUفڼ¹{_|1JU="@,`UiI׾_J .(}cߞO}=d2R׼i#o|ʛn=p꒩gLmΦb/ӱܤieI)~eYB{:庮aHd``v۶o喥K"b믿DLL&x1 KJJrrrl6M3 i)%\l2UU4ͫ<Tޜ S{,$D_[|st>8Q}A;07jR)Q9+O ˊޯ~ob;n}\SCΦ]T._sey̖]r-Yҟ+|ՕW54؎ugqlo<O7>z>zI+N?/tήޯ| ^xR+.)OͭZ5=Nb,[~sC /L#>Lq;35G[}i9ǯ= iFT,&3,Dm&g,1fB3iUUᄋ HRl0t:}78k׮ܾ!ẁp(L>| _²ekkkC"Z7}tD"vtt$ 4/k+ Byuvv984!!BH)lǼt }z_JN74 399cjAsSm;kmʸ֭ۮʮ#ֶD9dNپ[NR$Mq'} =ٹu+EE۶nSNC'O75=_?~5G׊d]џ~݂󻺺v<0'\[sO:MiH);{bC'D5vϛtg}X瘹q K+}D#BӒјA'h֎@G,G84Xi4GL#{8¾}},5x\,+/"tsMeU_E*UWa?wu{Gg1`@#IBcHY۞ ظ#FH"< 1b|_=cQYYѥ\J@"ϕ,Br]qPd:Ox:¸ W bg)MF.A c(.ƙ]QP󩪪)#aP]E3a{g9M\t#TU|cٳߖ#iζ yJQDҋ$$C#j{vEB(}_X`[NOw J+ɸJ(Ɂ3@8*+KVz@n4w/m9.I$FPJ> Y~M&-iM:UXmCAR==݊i^ZmjD|y9> DsuSQZhF"n2 rށ>iɲ.XFq~[D"???J566VWW{L4u]Wao֬YCCd">yKKẚ[m;gndS]ɮݻ\W|MzڴiǎZx3H)(R蔩3JKˋ>ψڒ-+}炓rV̺{Uxݻnysfw@(2;p׭Ƶ_lZĴSe|oܹ~G6n΋FY}똦 ]!2F֯j5#GEw\pq͡Ce ᤒimZuѓO=bɅ0n}u!9U󉙍 3#l6{6o~zoz)d0q ŋoH$3{$lr)e0B657Η^z0֮-,,׿8>gpsskH$L8;$ \pQմu59,8RYQ(~q˭;y('4u;v-wl6[^^}ǖYo|#GfTWΞ=ǟ?Lg߽nŊ]DFT*@&e' dFDڋ@xI#"K/~st߉H5&Rnذaͻv-ky|`0<|pKK˕W^h48N0'LfƌUUUT*77ԩS3f񉦦;w[z̽{hݮH?{pAmT5Zc9_|={ :;;;;;7gHt\- ߝI_cVYHd9UXZ:y-H^Ӎp<KUU3-\b9l7v,M*, Μ El6 sx@\žE\wHoyKȉFl۾hN.+QqC;OkΓC^}=#cg߹@eqYaA%jnj輽www }l$!'BBj "C\QںZT[=3n mu'[j+";1^hkQ1q)W7qθp/;DTxcC(]=?իi\QRdk۳-P_n0XyΘ('O֝8Q*" t=c|˛#ͪ #?}4?x@:clӦMk׮ݵkW"irJtP4=h:If'u=XSSL&#HOOO"P]x@1ɈH7WMFHVj6ZD"!*#@{UU#h}p8Lڐk @1M5 p9ʈ Tu42},/e+TU5H|K_ڹs빹P φaD<~+z``  & @44iҤ"jhh{WX xYY4iRCC4445k%\RVVu~Aӟ@헧bKI&Qg3T\;9#0!?y?}g#Lg?֑#O>$2Di1I zA%1.ݠ]&&ջ}3͚0dY{U )x:i=C\Dz5AOc r i'HIfL  2ap#1{{UG8_|LaL`D$a.h%88"Hxe< 01 :q/l-tÆ _򗽴 "N2%L:=p4M󦇢(~ӦMsiݻߺukEEEyyygg%%%mb˗_s5`Ћ !Z[[&yCBE'H#>N@QEp]&D $9ILq. u G$z]* d.p '2" `QÅQ_@@Rp]!)2R rBY31!?Z44ӸHB&mªeZi@9|1[R7K>Ƕs8[ib/ƋCW";vjz衇*((IΝ[^^99sf^^^:'Bai=== .R:SPPKJJ4Mػw׾I& b1)eyyʕ+ ͚5˶_W3gμ馛87߲ ÇCRJC9e܁ |(a1?1 DxdP Y na# bcS.x.9A9oxop B,ZtW&blfhgMWUc8J>X4$o;3EyXA}bsPY޿삋 цyӦZɼ`Ȑp+֯{.詭dl/>s !dhcF!xHqǺ˜{4<蜓waΩ9V9m#<X$NϞ={ʔ)hXqh4]]{{{ǏG" 0 h6۱cǝwY\\\TTnuu5XD"8?O5kӧ+++ꊊ oc/+'AFߟ%<`bǏb]vi`0N!4Mӣ9;.r`vQQQiӦ3gAmL}Le⚞ j[!6$37}龣g L \%~McHN?/ZFqԩ3fϚ}˯f㦍F&L[S_U&Oxɴ'xVѸQ3X̾VrT}Gg7Rvdn呶#M۲eKwOww?w2 =h^268kaC<#o꒗vN,豧v#;ښJX*rm?<䙏ϿdܹsOLژs/bxUN^isM }+s֖֖Ư|~iη^tJG@p!98x?yϷf R[u…^02u-*++bHhggg,9sKKK]׍F !TU}]wW\q &ND?!;cࣧ;'w9v[zW̹d/~pE]/]L唿⧟߰өĝwI]-Z}G\l"cZpSKwuuI&fM^#O0M B6 kƙ(\w$IMl!++~_?W՗6q\e8/0ٗ6>d4}/*Qџy~o=SAԄ{RhL¡˱ p> ;9ll'hnSNt wzYah4RW{iCB!16QK{-}˲֬YF- B^c1-AOG5k>8H(a̚54MQh4-]t֭-%ǔ<ŋiy&͝2 w7|c2 ,nq~8 'YTP5oHN;'LA.scZHtk=\zUkɉu‹̫x?9K#!N̯weսfu$qu]\d>MB}Jj >)[x@I\SU`@s#|i"'YEbΓ=nd/l\o #X çn/ս!,C)[HkPho$PD=e+ſ}@J{{'N(e"(&]`0 @`LFKYa=sBhH${zz` hhh?~OO]x9sfccc__]w9f$IO;'e,9]R`˧N$O2.CmipU%$Ԥ߯=CvElbjS@/{2>v_.bGpKKsgwkCCoo A׭Y̺͜YW[UIǒx]vE[{K8iCG2@AR 2ˤM@/xuuSSGK=ni2(>$@ L8t1H&-,,TY~W]\{+8D $q)n9,38\Ȭq3>H&Dp1l ! H!GA|Rчg7z9Iܠj䚜36*%99JɤTCQMɈHBP |>E'Q@'Ŕr82 FR" H"!og7<+T<OV4st_(Xʊ;fՏ1"'G긖+KΚZÜg-^z_,/I۲@ؗ_icL#X+V4$ C.% 0$`H'f2$ > 6G}=!BD@@lgG"5z AJ$1" 8·Pc_馛Ǚ9sf<7 c޼yX,JD"1{l˲uܹ //wܹSN CCCW8d2~_uQRI I5~[Jdࢢ ΈJ~T@$l'& @Q h@# #N.^qHVt UUNoTm߱մcNMV0yӍ7\gͯ4ttp·z^X۶_tET[[zU6+ FroD߷zqLH3`IFHLr$'#=K$1 *ŀTt6zy#{΂b$Hd$#8 B2D"F@NwK{A/5.---**4Kyreee/9| uhhȲ,XII?񞞞2o;(ѣGc999D"~UUɤa'NXbECC Ef!O4C_0\S t٨( "."0$\c(81P`rs:p@bD `LrF P+A$ tޯEk2pD$o۶q|٧t?!x ιG++\ +o5Gy2e&ذIwu-[2儱c0Bdm=N< L>}۶m[reKK?ٳ eٲ#Gf0c,F1\XOO뺋-e4%(ѰM ItI "p$' @vFƊ ;J<($ H"DG "@NcWq2k9>U4}?wp#kh.dLmNJN4EK#I"=%Ķu\ @EQtL$(Ɛ uA#.J\"`4*b$Bk]%($9p*c)'{?Gv7Fy*t(|hKy"qt]U`ҤI~?777 t:=88 Ǘ%=o<=&v(?>d} !V\q=F N=m9O2,k/MY/-MԠ8u'ۚs ~V§^yФ >?RIM*-NeS?яmwvOz4zrբo}>q8C4v4&3~D"0$^$ A *HNsDDi뺀HfRc=个sUfzr(8J,6Ne0 e  6f re,(hr3{5jًFtWWW:9σx5׼RJFS ٍ7ب؁c'N-Ljz;;xfL:a\5/!+(Iu K;;;ámX`oev]p]mm9H 7? 'MBGn}d\JQrf̘!.((̮x &ܹ+,+;;MeR{noԩn=17Ur}Rccy󲲲R4)6ypňե9s kmSy$/|߼]U-XU֚m?oָC}Sg\0͛7piN5ddggt{KSFFN\M#@X|}D<,**^pa(pD [nݘ2dzgp(̐BIgVq̙3,Xyih=R)uy555E"lT4 *h@#Gtwws׬Yo۵k}v> )vsٙ1H&Xޣ 2W^'Ƅ%yl7:˲pG_"ݽ'w[߾mJN>minq+SJ՟8#?޶mkZZ:<J1 յ\|[/?8g'{$!2~R?̷wjb6#"9nh:`d;"l $'IĄTBd\k$ZF qFU3b Hh1n V*;3K9rܹY9Ca41l Z=W(vrWkjh3g-ypO,ڶ NW/m۷8cˇ5 89IsݵkOyq醍:m-^ 6Hr][CC׿kZ W/%`sr) twwRxn ߲d29e]wJ#jkk[[[_|Eؗeq\W鵷p ===i3;]P:Ξ"2< 9A3B XF֝D,cl9coͭ-pS56!1Q,[f c]g Ohimu7(8\GncS?Et%38(" # GT#4b4d |F  Cacbn" Aj'%}zwýx7F` M~g0@iD=zx=toHc#^QGm27Lώ;!@O=[cr(Q=RCD#""plXHD)5uTwgæifdd)eyyyff1c'OF?k.&LrKyZW_}933>cǎя~ Ǎbs grUDf^0BE1 -'G*WJqˤv]ݪfJmN l~1 R}__\.TR "!*z "  42)lFIf2JjA&76pGD"irDJKKrsspC]w@(JOOw=h("m{IS5wjs8S٘5tk VF N5^_ݷYv8H x<9jexs /JahQd\ "k%vtL#9׀ El?&s,nC Ah$Ԑa{/W_9?y?/?_H*)-|;߾ݼ}{w^|Żv5\v٥RJ&w~Gyy^z幭[O}_/ܼc)\tQmms>~-r*!#b{暕 dd !3#KJKrr222=i>;"󋊊F#kr($z=[nc&gL:vLczޜYJg+C1H|ץ[dSO蕝rss9^}]\$aM4)'O>q{իWe]L&]Šf7R 5`|\zt!wYd)q!KTJTTTW.RJ¢"Wv 9c0QRiM#Ȳ,!TA~AZ߶mI+-˲ \)"JI)ȲҒR$iKK*++3q]H)ֺqMƏJ;\2yܲ)sss322qRi$G:RI*Bd2yБ~OBRAhhpw'O~nfeW]E8/ ֮]e!5,`iNNV^Nm%m;$6oݶ+?7O:N")meYI'//ođO׺qēO>y2D<`~~^__[>ys/[\~ᅓ'M6¸ g͙S>Uo3f}=ş+V\z}{j4Cm/(HKϚ='#+k99Yt'.YA |J_Zo2"l%l)~mKx2jZc;;zN\2g>xNaɓ'r2ii'"6ÿ|䉧 t}'wlOVpO[l`o/?i誻++D7L-J;xrhK{n_tںؾfʴɾ恘[њZV=H-9RᱸWǔٳK/KnW}`gݼm0iDb5_s帊.x}@VD"Ϟ7'?|K<ތo㷇uq{t/m_?\;,!nc=F@@%Kϗ ђ󫪞}$~Ikj;zH((+- O:i9ՆaD?2:Wa"Qhs8vtp(;ƕeTT:|x %ܻwռdd_WOhP!38*?}czY*es+"@`CCCn`侥0΅ fdd455!w߽|rW2e[nhhBٳg׮]Z+VhᎎJ4_b4\2-@)16=nǗ[-hUݱ}q㥓O`EYsmZi}_{cʹS|_{g'U-񚫾t❝7iW[ L{YXsZN7:^s@9ΉBGů|'+[tGj<_Xq7˷{&uݏ/3gڴw9_0wy vmM';ӧ}.ii%楗Oǎ֒#GĘw!kt uF gz'L-gFR,OzիmɑsPowwxx_?l^u퍱X~6{ RD"az}Ǐ}_G`5 ֬y4&14^o,sh4zͪk8 `xwcI%ܲeKF   Hq'n}{GI#`V^|@ HiƎ.^Ξ;r|Q#]]_~E{{{"8 Ä P c=@p[mD"V_X3i܄#~pxkvqcD D0i򜞎2Pf͚588hfiiʼ{<"9s :uիVZ6eݒ2nͲ,kݻcرc>4:!qaH`|/caUaںdVf`pphÆw޶i AFf'/8H&\G_Op?C?,\X@?Qk<00՝&X~}<PQa&)evV.6c#RsSX0=p8ąٙ q4͌@VwWt.L~'``aK:cCZR)x2rk6tz= 4m`D D\3TI ?$QcZB |”Rqq!D@jC #G ٖLh3I9^,B ۶=:>= LMM> h rƤ.}衇8Ri}Y ibǎB4Vk̔Č=;1<&( ._hVN"*r &@΍p8_ǥW]uՁ:dɒhٲeZ붶JT,Ǐ/**2sJMuSE~.k{P(S*<φu/ʡl3oH;V%~78Rԛ\\~[2iWe^eكަBCH8KOWdwC͌N Xοc~ o$|s` A?m]7kF:`w~'m믨P$7kTgv:?=sG/}≧2 2(c v)Jp}D0viڶ5B4dȕBF9»3 1";HW CjRsA '[ۨ3IJ$8"Kt&R~|8?Fc NjO1q9sl߾=ÇL8wZ688ܢ9saBanj\/8d=!ɗAtb\3lsKֶsdl=z@@d t $RwlLܴyb -ko *0\d&Cƹ`@ǎ"Sifum1/ܵkݻwh& gj<@3Z_ojehI޲e0pM.b:)?riweA4)M2> TG(53l`2,y=˧@8`u(SCk *j‚@R&I$1HkJLH)k)N ' Ƙ&,Ksaផ+DDxD+wahϭsQ!ιiyˊ"~`z\iK[f * 9#ĄՀBfB1e^&! bTG؋ɕu&? AH  '0%.DNLG <Ґ <mx@}PgH`04"㤘hS"zx0뢞9b.3a@@QfƘg M@[\I"x[X$L&cD 're4B@)ߩFt) |cTJfddrG9r@@\Jyիֽ)>ih8Λ2Jɑܼ<ɁȢ+*M&^zue jjjLt'Nrrr%K5<&ڷ&;`95M3.yu=v@jyk:z{N_k:x>}ʨlN՗IƐ ٭>%;ƝH$\ }NN=`۶rܹP%%%Xlܸq'޵%Ga)*+@ye9V\15v 7Qu':T>kmm7n2###G"wͧK9T]/թXqc^rk"~b4I&aJlB2 VZ-H$I %""` Ў[iQH IPLhmHҠ% !(Ni$ A31Is-5Z@&MZj)"#D s IDAT)Z(kDԄ\6Q*B0yJ  %h%CV~?WΰtQ ~J9C+J0.)-TL!FF9 50 Jܟ GcS&MN$}L@  #SON6o隬ۉڗw\r@o ?/ ˵D$u􀿭+ׯ{O֟pŊu[7mD.]zȑܖڃ{vq`k{_΂W-/<|!0785F̌}G&/\k! ZjoV0!MDR Mb>l= B.y8,O_ff&-$@x'Z[[ۻ7*+ן27l>`'FXqǏX,6s^{mJܜǧʊF}--mmX1/ZLL)+k l~=($$"*hMLѯVUUUsss[[[J(''ضT4]<2:Aeϭ?C].1EywJ$so΢<9u٬bѿuLߊ9ve1yW}_ǐ{9imݝK.hn9zH&n }/}鋯'NsdN֘憦7}bAŒK=h{wddW?=]s/=1Y3{:::O>k,!czڴGgzꩧ,#g\la T' iHi3H 8S]]N&#Fgo˶톆֓mJuhk[H4JZ 'JǏk׮L߳78΋/.-xa~C"&ۤ1b',,FZ+i%|qm[mHRB4p3#IX3nBm;vO4Mgo|ꒋoa#v~'_d2H$,YbŲ[neϞ=]]]^w9F04iR3az W@kmaXl0tq;KkР},gH)T17biNI#`0Lb" FJV¥u;RIcDDDU$84"#d2!Qc&!sDMP3z M~D$IKKrʇzh֬Y?W_}(**۷o_`c,--glRgIN|~bf_ȉ{޻çoZ20p艌̐a Wj?Q{BgJȑJ ܼy=O?_UU ǎƂ057WwbʏFM‚]w)c?wosgK04uΠ3s,hjjk׮-**w|i+т. A#(ݹH2ʊ'#&XW; St FDDZ8@q 27)fsix1EQd"`L )d+Sf q5LVR2ƴm R)WTH /FrטH_w}ٳg_{^^^^UU1ƲlTZZVNq~,_ WI0P CbǍN(D@YI0lI磱d߫khkj^[Y\P3 hpWoWTwvF@(p(:Fж?vUOdӦgOWcP8^VZŒd<mkk/,,TJO:Lg"FH "F @ 1˂q&A+))imm#T\hcǏ& 9^XVBk5M#LoSZѓLZII@R9!Bw: ` H SH ;rtVvH7}GGb^WnU0Y\# ? hݙSߟ^[[;<Ʌ8AzX tOa߂K"@B꛺Ȉ;~ QGbE@h8$38 粥p8Z0u!0d ?>O f'#j$_QQ0;v #566 2|(uCCĕ;mFFPh2K",,HtӍy>lNvfgg@͞[7T-^*-mO\v׶.^:ugt]f׿]uJJsf۳wO2ie' t}Ц XE42&̘ DդӤ+kV_ޮ _ZvjE[hak{puŎ=O>[n[v/rʌ [ZZGpNoSs:bcۚtŇY84؞8Gmfr,P&sj^$hۍF䫓@|T0@)P@DdǬXf@$G+HfF9J QhN 4ӧ44 t-[~豋V,Kp D6gq|w]s˦>5ec=sV$/|_?p]_v%3b΂CC555|dD?8w|@#0q H8?P1n`[+/PujyXqK}Zw!R L$}}}J8޹sg~~/=UUU_WƏ iiέ3),JIĘf{"t =e@@S :? PpasVQjI[JAdw!O)Itʬ|^ID.}tztk]=ڵ>mjYYYZzڈxyYs&޳m`o`1NEt *02Ã7tupPq9%vH4ktv(G1ԄxFÏ1iiiqtch4//^?.q>u9Fn6i2}j  nutpŅc؏GҨ$]uk82A\rɎ;f͚md$,7rSL MMMa(M8NΚu@1čΟU];ug_o(?v,ꗧZJ.55:*ߕNOgƙCD+pM)j} #b=ݽ]p$đL455"# 644144L*z~dJ#2B :V 9="6!rPg K"ר̈́b4&G}oooRΟ?{ŊBs2.M6mڴ[nq!s4޳wFw!wr_]F1&W^O^._qaIqYgGW_7wt`7펛áG R믿v%k&`߷}{+WܼysNnVquu'ҙ.{Ivl\QVH lٹ?rrmi_`bhܺo})r: Լz* Jkq=~\W:-QI)PtԵJ?R86F4hBk&\zS\M! DURשJ@{(P#S9H2BP&@)A@d4B `Gmyȑe˖p SN{o&׻rʯ|+7o^jջй9?~O689 ']l޼q=j-*gؾwiS~#|7~SJ@ o}W?-_7 {w```hx`ҤO;yy\q~O"jkDв@yYټlZ<{يX~n!hpvu}W?}W:6i\7#Y|e%6PMј7\{ kֽcs^~ ,6m#G⾾ލ7JGbG#<'3I s p&OZ&eD4cx Cjg{ydxVRk 5)SIe.d7)`G ܜDC=͋/d̎m[<.;&U=xI+/ݹ:[ Y^FEP!.3g7-+LJ=v${8'33i|=gGlX{wjuKOGB}EVwsvH9̉NS1z{{233w9{v"7xbWt'X`Ayyu?t.:?q{x8K Uk[O~c#!DFcsn[߾~88-ޖFsJKKhuxVfQ/$@f%Bc3ƤJv2/<`n?84| O,~Je e犂H<ZlܰЦ _z0"i?w6&z'Ob&ddg5innI&n#U+p9xnNNk7 $Z7iR$[PXX7yE4wtM2())"̙oL:5>aܸNj',\PL:wugcS}VVֺ) G@D\x<~es&l'ڱܜiW]Q9T.7- j$_c].a8o>׻nݺ獍Vjoo;vlQQѓO>`=c[F~-9"App(?KȤMXJX4f۱R:(h"}=m[Igx(#5k;v(aPSOtvtttdhiNvF쭶HCCk^~qqiΝ7{q_ݰ.wX'q?{oUu>|ST1Ϡ 3Ȥ cmM41$~:ر;O:}77wΨ8h;2 3PU5U_ x{ǩ*1"g^k}?LUUUDǛ+**N:5zG=P2ܹsgwww<ohhbj"ϝў5B!۶FF2&a!SX$$2ظP`@[J1(~GF &U' [²Pۀ0ʀ 3;0*c!|@`( 'ff#=sVH^gB'm[@ì?`Q?A0\sHT )}"-Ami}K_z/.OJhƆ .~W[K8O?s+r7G^}72tKcm/Uv(v V\yZPS0 $Yf3fl_jՕW涆h>jr㻶.Aj&0c.w^efH&qgz@НmooWJi!TOOrŊW_}oǏ7Yrc=YZZDX][8pCei!cnf4gJ|2`{ȩP H@`VȤR"☔@mK *A)xfK6@ɠ F Cjͱ ! - hf˒,Br-ڰ@фd$܆i!O{G}4l1`O2mPvsXEd-JϿ\PhMd ʏܻ%d[mƒC )#tfR y>mpFg-BڵKJ㿗 GMM Ƹ|ʰQ(D0vxϳ54XPP0bĈs 𣪪 kkkΝŚ{E-[_o7/kg͚5E9ܧ.\LQ IDAT'SHxBy繞d`LƨڰVCqip=P |(c07@ f% w6A2 m@) fRR'{`)яg.i "6aLؠ  TAY Ӑ.y6dq]7~>; !"R,/OkDhffӎ)aϑ!mG,+LeA(d10Ii4 $KZL`RH@RF81j퐽%n68-%DP@ Idk$#L+e씎(@ &>xcLiiiUUU___pK3L{ |WdMMM~}}}CCCYYY{{ww+++kkkRNk=zOT?ri!'JahoRl| imW\qo>G :) Dq0!O;Stg[xIc4g i>OT0(\5¡/+,dK)+oƏ+epH*#]0@f`-|߬^& )4~Ѡ6H,4&Y!QX* Q Carαyۈ#n3fc4 D ` QQL (bclm ( O+AA@ IhҾ <d` }0 cȂ[(je0dp6p}_P2Ƴ W} jq{g`(-n޼D"Q^^ǕRonn~'9NǎCĚk_vmCC]\SSS__7:t!(/, z\vm?NtqUw{a3m@)>c I Gf2p6mIDG6cNJN2l-d>?ȦFDΙ3?²/♥+$͛7Ӯ _뮾Į{zc% _EPϲҥƛeCΪ˗-D'OSQ!發X^"Bj6oLoE$em>vB!YN5KkA%YvT޻KSo +"F`D%ӃN62W6lƦ@߫rĈd2M4W_Fmmmfַ5lذ۷[URRz-[\{h/Wx!W4@OcƏ6˄%!j+}~CS=u6mަ4jOV^;HO(2dV-_蚴3{k>ޑ㊗.`ˡIc{jswΜ2tl׮X4tv5T7hM˖-8/}}<Te\l=/[zƒH vxcݺuMmEEcǍ]n݁CZ 8МcC"/M[O8T(NV5̟qauOXxycLጒtq%u3(ougϾ;}3zŊ+byS M2HF ^~W/d\iS O`[o}ٲeV,?rowS]2qh-[_hޕOȾ֛Ϋ[ϸk׿8>ZWMYQwe3hW;RyͺJb)Rok[m&d{hVYuSʶ-OMQݴ T!Q3=Z`纞yg\~럃7V\RR4™|ࡦلzh\O5~ӦMRg^ܺmg֬vS&ֆ @f[l%7nxKܿl͛ qN_qe۟m Ux߁B姎+TɉFU}p&/=d(7.$U=5o9uʅ#̙={}ڢG^y;ϱ^۹؎Ql@f=zD͛sΦp8|ĉo}[---?,XL&evwwG憆fq^}/| ߰aC&Y`o|;[n;}ȑ-yB҂L"ց(~u^'>Ptޏ-RVVf۶gVVzX;:PcC>H++EDBҶrAپӨQ]4ka-H;WR#+ϖ1`m@ r +(쫬`RZ7}_GlƵ-PHj̚=%aY} 0fǟޭ3g1cΝw_P:0%rBaW>i4ƸDCQEHS<4aC0h}VXXx677755 R^{k60h4Φ"`6$LHH=T0 fl;/Q2\d<y Bv3P!PSEf΋8CfF!q',>K* U F< .'Z| ˫:_ܐR*w}'O.++s]WU6ogy}%\R\\L&CЬY;6r]7vm7İaîL&s}ƍ={۷m\RRRPXdEyP0/袢?{7$ٶ}o֭)E4~D"QUU\}ߤ¨Ix.QJ*II3Kf(AFG22Pa5SDPWd6RXHF+I3dcٌ" & H)ÖD&}>;1xF 03TGz@Ffll pѶ biͨkY >\ϡ*ٽ{w0t rV+mF[R ǔ6AHdhIcd"ahMHZDZrm}AoT(6Fz9:02$" ;TH !J[#&t(lP0J'd\#rIk2??ժUcǎ ⊊nX,vڡ~ʔ)ZkcpSJJx7 ,={faaa__o-;k.]vIoO|ɏ>H8\PPAZ?T;OD(@<V%fm>m>4Y6!d1da"Dc<ۚ\ߗ&0K "hcPVqXY`d&8ѐow0} x~Nǹ 2f`Q$ Gs1tkHp ,+@k@mB6H B3hI`)-ÚH@=08K A .*Ema% 00 fZkA9C?# DUJBHVLYk0 69_P #`8qԐ}h`m; f!Oi.Y !X +#wq5hH+ ZP ;.ҡS+ܚߟ`  bID|BРa`@.L"G24 [P*0Ðq`_0  ZÐBT$ƨO9\V']m;//oڵ\xK,Ѿrlm퟿eMrQF_z)۷+<^)4&k gԸ +W\^[Y` 3orBicxU D(ca?>їLdFG c'kZݭ߶jʬ7h $Cz?NGZhܸq ?\~yB껿a5UR taa!k}ۛjWojh޿|<ڵUՇl.[5h_z./쬹H4us3b,;ּ~˛W.^R?i꼽G\["w|K{:YJZHvz Ϥ@b'tY_5;6d}:sHOҬWi 9onM?nT$%s{'~"~WUwq/yۭ.e#,~QhW^sºc%,F;oe[_?PvdM+vu͛xΔ⪪.?ۻdCUsˏWF,Ǎ>gPFr>d)))Vs~u]ݗ7 zKHCJC͟?+_K/t$/%SIK$b55.xQMMؒjmǎ+- ,\\Igx'M(+BxxDdsɋC!LVUUy{u9t` &;*K~>Ιyg24jD8N蓄CgEJ/s66vEь𲈄!mA{rHoKǎ?ܺ˗/;RtggW[K Då%#&]t^l\?[pѥMu];x3O_~2sF zժեK:șLZkm Ԛ?Ҕ(l6LJ~3s(m$dRI6⃎mY]JI"iwdݔ~MuMoOϖ-[ 򋫪0Qvbi3gO6;;;3lPyψ &@Ϙަ@3gرƎE^ ٶ|k@E&&#9}T,8tj>i8LO$}dUq3>mnE[ZR=?QY=|xmo'N`ш|Xe"د*atW7~71qH>zxm];-=m!7HBDog{‘[o\U^; min2mۿ/ޙ3gFGyCnۺxJqc@ i't L)S[[N¡w9dv,C L7aBd0?dtz&!b#*c&c\7:rԀ~4^(!>@u_|1#@8؟&t~V0ҙr7C/[8OQa8OLcOd&ٶE@&!mݎȦ"+NQ{1%%O?B{o8݁ gLCa4f)`r`f!`z@~=z{ɓjkk^C`- о-Og5PRR`:M- Hu}$)B)YfuVڑ"` J$N$)3i A xp Z{1`AZ{dtx&d,JZh c1h1[^%_n4Ѐ=iXB&|€@0"@v` T 7zz{+F.(5 zi:4F@3p9с`볛:l}!ZFD$L}$R4Z[J{ʕRTJ!M@ $kM|1ad&9Rk) k&f24B(f3gdi9gZTE/0lX>N)p]\%H(_w~;ȇt}'CۯYxIy9ϟ??Hu]7ݴζn_MHګV1BP>j|ֿZ33f,?/>~aS&O^j ĉG5o޼ѣG/]zɘni XHUm⤉FZbq>F nm֎E3fW}3.XT"<2hA`욋\{E\ji Q*VUa +R6R:F1`PdfѶmu4rK.:FχIf3?O6;iKHo޼iշ?l&۟'N}CBl6;u_mя~M6ErJS$06AS$*O|Rs##O IDAT߿ZRi_o"$HʏUZu͛>xװs5ȑ#ÇZ_tE/ʚ5k\V  #k'C=hv2:yF 458rXf?UG`TI2BRn" ܟXugdW^{aɵі00.X߾n[/^PX~iii,3ÑyK/Zr +QJ1Ñ0@h~7 J^{uvN<^#ϭv]4\L`۶ANtO-f<5v^0ڼysCC7 Q1rjjBN`: ";wzE"#G2tCCC_#Q3Gy/\[w_mذ!h=7~ܘ8:rĘt*J%òĆ Fyԩ}Xqy]]ݎ۷os2l0v(#V( K{鏝KۗmE+OB] i|J\||lO kϩYEA]&Qv]{%&^bW?o?OA歽^}7~Mis.[^|酥,w 1ˉ>D aDȼpK{v-|w3cGslٚHƛ[OE"!3 `ݙoɮh?DD}}}#Ffκعc nټ5џ C%1o[l;\>lXaW[6H'm X___ )D;2~v[[K7t9ٻ,V Fvc]-lGJ M/bw<^WWa@OaDk}{1N>#祒7X/ٺm}8HIA>`8鴿{!۶_w} O>CU BFG`@  3{:x{,U'N""62 @LNTwJh&][FΈ@___6;\9ġȀlN=VsS\q\:\u8  e H-401(@8g`8rk3aC+ؼy}]KCw~GV߰! c㗿U-i7w[njRUSSwgCѲ*$JyHH{*ÆE&qX00@ 9pD`CC2#p{gRVTT|ߝ>}zccc]]_$ c" 3kDbD;=HCLF2*"lsjlghLq€`d0JIsbL`DFfq?s\bEKlJ2T*$&!dE_{5ep,hl}U~;a(@+pǮ(\2tmۆ l1Z+$JyƠY !B3h_4jb0Gxo5hoo3è#d(xFLf|_{^@ @JX} GSY\nPhgg(t}stl++",6vxX[gkp1bv}m.080NˈrCDPoSQ2 &g%k6D @f%fО@I|!ԾĈX֠ `07P.N/qpf=(BHK+"G(Ȥg%'N={=ܳy 0 ,}~]Τ ːod:U?wgy=77o7[o[\YwkDGwJ.]֝;LǏ?O@@ɀ͊m]xZݼ`Ai[GO GRz{ҋ/9xP֖ٳ7cBb1d ]sQî@;֍56|kWLe8u]_Z׽Ґ\{q_yV~MmI\>ԌXq6U\X8s7d- Xw2h3"#0=h`p{ǎp&OP6779ߗɤ쐭xт&?ze˗'^/z瑩 OgﭬJpͷsw[ɤUWνw%}?( QV%ӠN7n|15j#HpؒuսjO&zeuUEC>UPGwvǛV^q,m7@L<¶z{YhQ^^3|ز@0ǩmD.Ğ!_BZ8!Ei/+ 0F4'7\|pB lohK;VxnDoYɝ1bFk GIG"4rD"!3JK/]>$Bbgv͘mmP]e{!@Æz qPtV-M= xw[NƖ:@_~G2\gLx ̱ݻ=>HDimM@+b!+KHbb6#HcL30kDJ}vk+bddȀf]c[1BҠ5JPP6EF~[=XP25bdb49$E.>h>DmV]_{ W_hC*)5:|<5x|ٮqd2>[v@64#w‘k\i)#YsLzQ{g[^_v%ژ򃛿 _B .Ѿ\"C/Wz {8)G$x `\j}{Y%2q&)BFkkڷ$fi`r_ Jh36h1@ʀ4 ,5 %?~b raqPt`R' f KAs]\w±c*/[qO2zduLv-%WBWYYٹlٲѣG=}}OCxF@́/xZ^tܰdgx{ʔItDEûT +* p4gO.pH AB@d  ~Y25B`Bx DMF@c |d$9]OHQ hVe{+ l$cPylBȒd3BZ2`HU2lHhDQhb_ҒpO0ح[`AMMMKKY<!^[CMZbZNh+Ki떭n|⹯~vJ&SNuaذ@ Lb@%&HSHB2d߰yXԇj_|eV~^D"3AQ.rpvq2gy& [}53B2f!S $ b4q#$& D YR@; [R,;<耧 HoaHd\qBYTeYJՍjL>Pw At7_/ܽy3uomZA(p!Ӷeֆ4,p-2`\;v/~h4;vMq0E\;>s^BF\wʔ)dez꩙3ٳ'o޼yر:i؉LZI\#zs* lz駐y""!>"-$4h9~8O?4%$@,aC?ݺY@dAJ=lۢ]A{ζ9zX甴SvXeZ#FL9B.r>qP&>;q)j1?{09L{oUu &# A0HZ^e{^Yzؒe"eK(A 0<3s3 Yk_{֊9U{3 :ӫ5]<* j%w00JDy}ĺ *K+'T UU'Ψ*$| LkF' Ka{ȱɳ'VvuvE*L&3=}ݖ4gښ'[~](b%K&SZ;V =lGP3uh8= M5ٵjJt,3@pxpp>O8-n0cl˲-iVRZk!@Bض-Fۖm !p8}`X`!AAؓz LHF%GHhmX#JB6Cgp&_>Pu-dWO-ۮ?sjS>a0\l&38@&ܚvJRgga]cj/&lkXHGk ~q׎g R2<0k40dV,:rWM|ߟ?o^ScC64qb_tfqC^6GJ|ي g9!oذa„/b,khhJMh :;;Q픃, pGRX!nC_-oY}/'}x̺9 ?6/k$ʳQy@BD~U gkݞh4jtu=b,k~V؃46v6̞5oR]m| 1Xaq 3gΦ3|yoq̙s&NԘo*`&fc;B t&ȸ~9-H'dQiTh8fZ{ H0T\&vɤB*)MBP ^xW)I1D(WRMP(˗_g<7 %eKW]kkj|C~9gΙ3gr|=7o'|~-[nݺ_ [rA@,P!Ws۶W(tԊ33[[jy|[p F $G0 /%BzG - C~ _ҟϜ9ɓDyq&iؐl-u"N2uܹs/J--mmeNl샍`55|&3 ƐG(D# d2LZ[$E0!`P MR2 f@d9]K$8x!D*:r5^l$c1MVHjjl8i^˥Ƈ>~~-9{y=w\(YD[0u?7v;ƋM#G"5Ps-ˉ:!GL2іvL*+ˋ,\~qB<-Z IDATz.Oٲ(m}k>#wcf) wTg$ |q `q 9ǎ O<J)= p%2;sD$V] *afEA @FV ¶AZF B* p#їH&S#K,RWO>wiU1g93Z%*wyJMDPH k;!1Ue,YF1dthT u3Ƙ`x(:xO3j ;W*R,@Ä!TF3B9(6Rj%00 ƢxOU!6'?wK繿կ<7 Ϟ=kY> #s?9W/3y].1!(;_ÿ~rP~ nٺ36QJ&`"#Hv;4> L] f|@G|'2d-a,+G%&:W㕷7C dDbLe?wl}wە@Զ_}/u74yw`IkN_~Jm;{wm8{==0o|d 2Bj)E6"$"`Zd $_Z!AaDa;vLZXQK,"0\[ eTk 5 |Qa dl$Ұ@"'<^3} w8hHD(0WxJ@?wrQVxK=g)(Oܲf9L=t}ݒ}ŞtI>oS@ws%KKKJ,D9s `2YyֆF f  r߾; )'dNey kjjB!kC~Zy^ȬY۽ju.5嵀6n8vu֭m+2zi?];JJ55ew8048og~,Cq.6HauÇ3Y;w F_زhRPi~ӧ_p!x C_/9|0J!˗5wΞ9Pzǝ{Yxaq(aM}}í}7z5͗Z 7;88޸vӤکͭ]6=i$No޼>)Tm7[|IkQ0"%XyK)XfMh/kNdS&t<(X*_ KŻ_}?Jdd|#YUV͚5kzH)oԔ-mN7 =ީ/8@q2"+=.K,ڳ9kf-ƛ҉-^9l{{{Ϳ9j[gƒ dL8 Ҳ ۖƢ,3}fϝ|)IMeEu=XAz A~3V8E#wCL2~/i'_=- qA~ߺ,i;B>}h|ٴP}#؎<]Lh)//ѺX@6o{ow_yA }{^6ڍ?F>r.g::Z^wqhbEe{GWCs֚O?^SWEF=q&4gzرwogϞt]PoXY{d@Ggc=*)FPęFB[bOwH!Lnd>ǻ@oHkK2PK#E|S,9aL{w@V0j`yBB@CC6A*0D8Bl'oc*m9ax\T?ovHkmi 8!P`? DKK2IG嶶6#gojB@v=`zBv.%ydK[w bHxK UU CCCPBc7iE,-B>`F #LR!>YR S qD`)6ArP` sHBI@ \`~u(<]^β,˲j`(Ba%yV2B̮ml`IB!{D ) ]R@ t".g(Y/0&xWsX"\4WWc 8Xy3@rpkFAfQd0uIGFdl)1i&[HCclX9w#(Rb&ј3Tt* 3P0YGh7-"8ODyr Tb?<^ָ&c"CD Th4K  GF c<bd&-G60ƸH!HygF+] 4RAj H!cn0gAoc']"ɘk!.`.$\o*2 06JĈF0 /X!)H$$@FdD&FbDb3"#0gM4!@#%c+2VQ FA  A"& 2" "a`b4$DCCFJ8U[kKw+BaWe2Mk&9e[N6p.)"ix]-ahH#Chƛol:}i ˮ[5.\}]qTZJA"{#p^8!&*`R0Bf2xpŤȃ/0~f&(v[[l#|ͳz1]kwc7xgO ݮ"rr Dޫ]-+-C8'uR|)JVn>#XvOEqFwow&:niO=LY~ЎI55nu鲕`{˾g_B1}ꪕKwugG{{ssso42#2[l-Pfl8﩮)50DZ)iHn,K R RBd qLRY 0[V2CX`4חA@#Ik|xyɻJ u:[EB`ص|m{ؼ[:^Ӣ֮2pDkSCO+[VXXO(qn'd%MuUǎI$36lwΘVz/*(o>1g %wݷ*(;|]',eյ$M\qWscPiyab Ltd \Ea:;OS!#܌=yi2sO>J{ƶG+5аԌ3JJڊ 5\ll{lK{%Z?#!p8C^^@\3sus<2#ݹ(:lhzs,z-42_#`1<~yv?G%l &N`@-#%ɞT {J: Te;PB6@#I C/A+`d],3N2q F4 0,cbPo?D`1 ۹pR'T|rB[Oǐכvt u_Zfu|p޹{K?̭immJ&X[WWg:ms;xko[+}C,Ҟꆋ ĊϞnkrYYYOg학sjN:"zF$=/.-X2+m YF` A4T##$H"38FtHe"t,0 .!d .P@fA$s|$%gtAy^3k?vNZlpf僛t^!|  dHjfA P`0Q FW%@ #1 !0 y^Θԑ- .\|Eh05|\}{goR"~䑟mAp{$)Xly~ mg;:8"B]'Omy 8zR*{ e#(K&2@6cpxQ]Fzز,CAms3E0Pz~(q0$ P\rl?B( σ9Q=!"ZK +nCfN!YQiIF 8 `%c!@A3F.@0Ҙ`LZ9e\e@0aP GJ޿z_7FRBƘ9s?m;Ҳ+)|"(2k6jzKTs{Y{K&ҽaI$R21s H g!X $XTtʲ;w(/w.*)I+LV }S=}}곩x6J86zpCÅ66ܷoﭷQR\N{{vo/_{w 뺕+ڒ7߸MXqu,^&]X8.MV2t/Ԃ˗,^: ? Ps.]رC[fϚą'V_V)0Jzqkl1}&;8pe3f͗R.\Uy {:opzǎ yC#`~Q#_V'S s]mOM=c^aVTϊPɂ-l8O}ˊpk,RqĹ7,piYНwmYdɥ6 O2q}榎)[}t~ O{u(;ČUw;*++v3n\Pt\i_oogGǢFֆH҉ B.z9MxA33ʹ:j*488nMN=*)tv3O IDATL)<,'O?4j;>'k*+ ±h0Epl\iDH$Ǣ*.,)*-*!8 VtwZP>~ O=p{sܴO?3Χ+- E#H!E K PuV"+~.˛v"J$> X($#aPm kLQF F(J*kF%{3BJ%c̨j5F[d$%#<>X'4GZ_@7OUձ?LMM3Kƕ:t'~1c<2qcS-}_{ gSX6gJե|3Κϛz-OYJ}Gꮘp-Z:қ6?|ر҉T/shC*8ffDeنcI̞$)(Om'A)̂ڀcke@ؿɏ7֏.&?y1Ehn1?ZLA'm'!͖Ξ= ZhU65x㊂HLyUk Ǖ-[|x(]=j]DG%p`mٹg!01"g~L>-6mP[UpΜ}mmm}V}Aneeeg̘6iG0L\[Q>nڬyuuSCoru9[W^tG>}ϽϜ?vٳHXXCwܹژo۴~mH1[ rs zPy׍t,uHg[j裏ޚm۶e}[_xy)c.x~s-:B%mCGSE}f$[ۆ 3xM}תǎLJ+*jv.^phuSO?DRL"Ɵ}fW>s/pήG~H:|FGߜhq'֕7l?{? Ox2}ձMVڎSO;ݝmO1vz Fv۲Mb+{_Rj;v`?Wc?&1e c 7x%PJL̶mK<֦gy=u&FC~c OhaG_O˅i$Vh[x=}=&>r +?_?|1_6GyVyrag-e2>j])ddF d"}Q`+ d&m+O XJ)6a&MT 3>Y &#0hQR2(юB@h00cy$󟗔1ƘE"۷{В?N:w+ECg+1!a; wzx9ST`yydqa>:v,vvyGafk)¾+'tO>"sZP>PFJY.<߀ Dz`c@yv Yl]% ,KR0B!cՖF|HYaZzhH(%AI!RAl"0- b[MG\5c]vicR?~IIqWW6~k[1ՓfJ -Aݢ! XW} EQ-ˇ҂WvIт&ө;0_#tut}Ǖե}`BńO:<.fg{v{NM Qy};:X7o-񬕷]7gw[)/~{V4V?Ξs3bŞ8~SoeMyyUuUͥKա/ph RSSO ,Ç<G>/6AOn.pA1]]][dPaa)3z, m+ZֻԾ/r]_U'NF Ϝ7}?y Q7iJYVk4vHg֋MS&V}pmK|ҊrO<̣qɹs͘1=.))⒢iSUĊc;.]jJ$w3!"3A."t:mYVヌ_;wnSSJ[\M G| SN<uLp'NgΟion>{@`CKޗO'Q'|d2<~옛X-#_>{sҔ'~-]]RM'ϟO$R)*uL`R`㙃GN7T=sb`|斾K#G_uݦ? K;:[/|9r4?vjmK{=-jkkB◿K)8SDDTUUqƱ[nm?˝I)|ChWZ5k֬;PJ}%guaayo'6|d׮]R-(ZfN[ac| n"h>L=D_YiISSmo^}ٴYk`x3K_e !Ѩk.(< nQQ y kC<6ܓ#PY"TYkȑkW\6,_0w)m-]6drEsw9?w۶̓Ņ^ygfɂE`۵zucps?&k׮ݳgi9"%?g ,>NHIE3CJqK"84X M/tȴH rAML b,:LV8\!'3$3B1`afD|Ee,E#O5b8~i@3s&@d3ekgI)ϟoXCI}h;Kzɐgzw6=ِRc/01r!h.0{okUgRIE`=_(-++SJeهzHc,c3!If+TdP  f@@@Rd8a̯H0B" Je>"TMPBP780LRD*BP& \ JJIB &! p3 *FCpUҊ! "@D)D\C~g'Ƴd0>إFyf[?ncT^FxM˸ċDdx"/\;d+ }}}apsR)I)٬Y۶ӑȋ >9̀4 J8`VIdO+fcqV._|Zxuu qō+c%jcD9h&C`:ԙ*\ g_ʐ/pJ HxD?S2m 9bru7=M]}70ΑdD3f'tH8"HL C28"Șw Icc gKd!=AFO 1PȀXQ[Ǽ+ 1$1q4qcTcv["|.) R87?ͿD蟼"G3@uݛ>?o^-(D|j_0͠\ۺ{:_S&RrƂgz<U`^NMN^Wvߞwwn~k{=@!(O7ќ5'eLfLs2" :d~? 23B!eYtF?f !XNR9 ")rܹs++\XOg~YEYm k;iCr W+6H&'@)r׷:ʏie(!}6O3NipB@1ƙ$F$@!0+(e#f%7qnd$\,5ׯ;=M7_+./=HC]9~/ojg#IwoX}۵zn灿c9ӫfG~O_?Wͩ:u/ ]zꛞ.^܏9KW^sB7vozckcU_qa5+\yu&7Ke3$O],7w%Îڶ}q7oƙ3gәH$}Hl޼y( èoXd̺RP)7S-m.yUPL&uۜ]|0U-[juk󟹑y!ܥҊ=H_o:$ꫯ2 $񦖣C=C7_{)'>oxD,3핗vԶ G#oBC}K&8S}V,ן,/s++8[?im-сoV>7g̘RZ8G_z;=lLE3g`[{[&BuөeYG;tuuɬ08:YykkkqqeU@ ۶URReee@ t4u;a#"5UϣnO p*JL[HR-Z|c΍/7CXӫ֭kٲf̜w~憩U%ӪcM&ͽSB?c;'Ny~kG_6^g;G=wGۇp?,6@ ) "$%C}~M+Ѐ?g~̥K{q [m޸+8Cpa2(r:_o!TP؅C/\Ӯ*Μ=wݾՍHv3|_]Ïe\\?keDtSB;_O&*qgiSJrss9vii3}+M)g,/+EÍ%e xN(0udL&Rʝ}R`0HeD:'FwU 8A"k/\<[ T*ǴJNKvh0sM;s$odqƈ ǝ;[׬䒋ݻk׮_bEE3J_Sgw*A`>nxjg 8sӲsg̘u}we3'ƓO?Y]^c֭?rr@db[.-- E`].Y(ϑ!0'd9I@h1 ܰvw~pٛY3'uK7}vҚeO?~B(k2@di mڌޱ"nhhmĉ |hhH)qF)E2hj:tyi x}ADؼiwo_aN :t!wuw;v(9\TTa'ܻmS'ݥ._ ^ĻIYr%9*ou09g!kliIuaw]}-0Dpd_OW,2LK)}ǰCwuW^^^NNN( B6l ;D=$Cv7tMYq};ܾygמx<^/ox  L|IG"P՜K-GMm'jku5#"@G_΂Fj;#~g=\/mW0Pkݞ׷lOҩol5,1ԾcWjNvkmqc=jl$ 5gc"b*FBH8NCpxux"b#B DH$!F")|cL%T$:L&Rd8<, Rp8B3}'gLV#+` t=m[2tӒCDB+W^}Ձ@ ^}'Άw߽i&4&ˍIn1K]K&4)*"/kdJY8>~r $Θ 'Gu8K,ٰa7n\vmnn.N\2fHD2l&,d.CX!JcTV0Eq@@Fe9`H0VsF$̱Gs<@ IeM"7}R"!$C\A43PI q_\+)*m 2a!f R\1$!S!9q/s2@R }G c*nBJOB1G<}_zC_WZ5I=|G/ۖf%+Dd~֭[uV0(*++cXss^8C9_Gpy{Jy<;zǮ銱S?h.${Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4Fh4F8zY'7IENDB`Mopidy-2.1.0/docs/clients/ubuntu-sound-menu.png0000644000076500000240000025750713032547651021726 0ustar jodalstaff00000000000000PNG  IHDR. pHYs   IDATx]wU?7m!=PCST@P@ATP@P@*%  ՙcڝ޾ߟvꭿ瞃 !!!!!!!n}lX$NsND$&~DDOȘa"ɤkjӚ}/A-䋲$$$$$$$oh 5LmMEUƐ!C1((r{sĉsJ^,B[GW: ØV{|w`ڔI4CM(:|L:L[Fd2ˢ~0f.[0 L&N67mjl4 }ϮۗUI'/,Be@Xlnj1Y@|u̞9yYjo%j 4KzC}=qDh[[0t:/Y;sIukN혦˺xנ?;$t}];fϚ޶g4y@6+E0@QD^; .:M޻ſ-Fhe䪪Q{[”qƙg]}Z}Ɍ1:mwumܸq挙GڲuKgW>c464434M򳬶]W  QZp^xL+7j@q4ĺMOc)UI?Ÿ>#Dy[ ǜm/087%N9);;7R1=^M;k[&ZBz !&ڕO?7[ߵEwu.և-i3:KW뗖㼳vE7wRp_|-u 6퍠lv=/ G.oMJ^p6uEdԘ%$$$$$-& + cX̞8s=.>{ВoN0Gf7x+~Ӄ%#7A@vqՏ%ؾGIVp;'pʹ9#E;acǎinjZ5/ϚӴkWWIE.G`wkۭk9b [ZFj9wwwƿZESL.M?_<|= Wz W[ba޺Z!m̺ըPZt~[}c@Q;;w×^tb~򹛶ag|S$얗vˏ=yu.> Ot㻲&E ݉y'~Sg2&sۗn'Zf}?lUHh>oT.Emk>2nͦ8zX&k)Fkz<k_MwKI-v׹ .=sAn{릞Gp5Z {=lox *Nש1_2 T1GBBBBB] r`8\a_S<1r1X>4A'"~fBm{?<VO4W=۝Qlڴ9͚1s1}jMMUKb.F ps/B@9C:)S&)!. ^}홅Ͼ+oo\{'>Fo~W?+g/s/_YWWJsl]]}</\uoԂxU ǂY?×~zF?]c>Gev':qo/5Mxس. }?5ĵ7<v68.RD3omU. u~Gɶ]Rs[wrQץ3+;@W &I(v )7Z_}8q{8S=lo֮J)x(Fc w}4n 7il9,)Ļ@d! Ι)ZL3$GtHPz~OXW?O[y W^[xfmf<|GO3 BQկO<1H.]4tXTܠ( c}9gRRr 7t&L$'N7ޜXi656Df1Ϛ9޲e+5jٲ|TM#b@ɰxwu|w oOws2;l̯BzW|yH'/:_?Bg?/ޑJƂOL:xܹqGNDXpыۋ͍kJF5j5 3j֮XY:s s5 7~_>W<7Gf $ga[m-"GMF!⶚ZҔB֨rDBBBBB]C 6G80c“sa;C>|ͻoO5T2%Z1XӠ^78" Uab^__sEw-^Rakn<g8'iJ oi+?=gHɝ/si8r~k^k:[]5-$8,]_fuϙua3/ nF nXe*C{*JR_?搣N?΍i[ NQ)G,!!!!!."`r1z%|/}mkI8#cO!xȇ~|q?vl/]yD=r҄gz\qٹ> ۃi3ag\l_UK`w=\pϞ=:;_]>ē> a <*u*"s"ɉC0MS JcFn:ŻHS|2^ͤ D+ҫ?;Η1Eb814޹'Odt9q/xPJJT0rmpt@ScD-)nH*/V3u/κv/G\#{צݻ6}s߿\~U~ۛ \tۑL^@}d ~-i0$cx1f%V@ف\>ā8~+VʤSab7߸sTiZ~z>;oLUMm0&[FW1ߠX۪][SYiS]nʔOk K=N%~fԨ_O>鸶=h"WQXƊ>lqcN"P,i0HJxώ3]jbk6-͸Wdt#2f=s|ǓY1wmk^=uHloDy 9o6ba{s&21$ja͔HE>9{j㏒ĻJNŴj;g]ZǏf O=_<пez!_ _@>_P%ӦOɤXY,o͛;::әu6 [ێ7/I!}sY **o/MQj&PzGM?vm튢SL:ҥ*ʈŵ|FhD"nco_;';v f[[[XI@R楒lW0;SXLvo02矄;/dذ;v^!===_o"BMMfHrjìwӦ-(ʤ WEwVSCd7N5bYBBBBBB-a۷TUeƘ< VQ&jkmeK9A+K%DBBBBBB⭅@±2,EDMʤpH`R\Z??P(K`m,wdYH 893.ND%z#oU*:GjBtѺi__υIRCG/V: \^Dz_-2wD".%2% tJW}g!y/nd"jѻXyNK1n&3 vz#Dj$t E?ⅰř)߃!BS7s[!Չ{gk #˼r51|uٵ+(s(xҔUl)͐P$\ݚ*Fr#W7E`xq?zyŌ:Y"#(r\Cr U1+P"9KBbPVDVAr#"@ZfLя62`; &7UsS=Y ]'c_G/#sI^hp0ui<$"V`6_&Y, ;C%L,G X,+ukY9/K^ Ƿ 0;^vk#`¸]ogEA>S*hd`͠(c~㟟<_N3zdǶ^A0f˖jgc }ZFL-B^b@W wK2-{vGi #϶Ơр"t߅3`v?t#s:+;.8Լ գ0; _!8{0V`n#? L4exGD"˶ҘV8)4H{xFƋ&M1z " V(%CS+b [;d792X*,i{ĩSe B=lj)?xlfMEH=(#C`=D. 3]b뎂g0]h?A)#9!q.ʭU,$F 1ĸ:pd_Ba":2TV8WB<+!((咰u" "EAfG~N3 Whؽ%sJ휫Nu8z՘C6œ'S{m!F;Xoߔ3mΛaEOZm)~5Dגp5]4,; E~a;DDd:m.^7 E=o8BS4q6ʹVrZnGkqŁ_/ zWz?-GJEVezB k~c݁dps@=;6 [ 5͊;dlZQV&WtPd&DfoSJfF.Gq0h#n#DLgig/E,isš99|]dGGEs8i3/8͡.1:&·7'i@.,G勨)]ڹ$XQs XaUKu2(aEk|jyWXBF&'}kv`X"?@UN$`V ;9M]@ /̡"$VB!py 2"Br0@UB㡀IDr7 y/Vȹ IDAT%mGQZ\׏y%l"33ضW0!h)T XC[ V (Fh3U%$P\19º1I2c|&0%'j!suR3qqC}E(I`%YDdVA$,1M" ʣl YGM8!09~d`*7++װLz]? GN]Ya#C!x_oA-}q:,꽼Ǧ@!s<,}GhS,Ƭj^.qQ "OnU>5gVB eǘ=DqN nj /ʐCtMzko"dȏd{(*1byD^-4Cl{G_ΫP#ª=PXA?]jIB ʸu5,Fѳsx1-h3i-@DE=;n@$ٌ[fxw3fDl)D"?cCA,h$p)ϴOEyah& |#Иkcy>~ŀA"WSju7KF[Eadh/s " `5TGi|䈝 D*m89VXpFR^&O,7c"$`i7wg,0۔(H /^}X/O釫 cb0Wg]qΦ!}Edɜݱ2\r,{ &I%hc43]걋unʑ3,*`@Dtmx=;FV2{G0~S D{vgJB)j}Rlı=QlE\ֺm+K1"! On;0ma}p^H,dWelpj#DNq-r D:Ml57npDjs;F4zM$a*;@$ν:s3ȉA>z7XC {G:[\RDo$v "0R"GTu*e1; dHeZw&+wX늻e2Ī&`"fP""w*BSлpPy(3Bڈkc @e hN$ q[L3aD0bﰿI,hB$fRxPnme#y&2'K:hz2aCha݂ .=15ch;钭.0D8 =ΒVo!zea0P*H j2%YVDo*@1C WʧȴB{'| &PKC`O)Xv yuQnv3}0zpx/0"%QX,ekb ]Ȟ l/qwbA]bі/ܥ-"!sIU`jB;֛lDÈW}ݝSau<L02 9+9EvA6@3< )O"˭Ԋ lT+a/x`x{!tE7lxHc ZhYXt}P}eK̮nY l[5ԢSXTl~*]8) G%,k9%i'eE@)NdS?y cZ2 q#욲g>9/ˈ`PSV^f1sp>IE%W|NT!Hen  Ȫ;B7 ԡ>%#b4F?#pGF@ "X͘y(=E0)^vy[V]+1B,GD,=@ZF/ pNL ch+J¸f9k\@D829q;R|1oFguޜ[n|h@̿D>QaMJzaB E}:9s#"#~ÝE2ALoi{ YIN~e#"B #oWT !2[pK3DAȌcGN{WcZ "KA)D"29oi]/C[%mh:Q1`[HB`W[,GIA 23H B ȉ&a/1@t>w(HDrwZm&.+G3p*M!xP9wK:3&0j|{qMQhu8z1`>ur?Hj?wՉlMLy>6 H̭~vf`yT90DTVM ob Jhr!0ndx 9qwRQ HZ/%f)_*ho`hPnY к#ޑ{ѐE[+FwE#!*~d8, ZFn*h*i5m@~puj\3+Cs"u C*A[" BHl w9lޥՀWsrk.JF6T\4B/(D+ 1NooXk\)G%#YiTǬ~x5.p~A'!E9{ f(U Uw# O⽪1WiUȵ皂 пQ nFN^uxokЭ[!@7\ht`[kOV"cD>_znBQ4+N>/w$!`P xBQKx` _qXG_9 NVq|G4M^GǙSf￈sڏ /WªnԣvAtVD:ob1׹ʈYۅOmv3RD:^Hw(SnE2-kaWI߉3K ߈ܺWw%c(5 i1qwqF#r6˅`f.gWz) "<^JPܬdhHӻ 1d žDˁ9$,O8؄"ДyD?}9!ͼ$ Qo1(UV 1"1sM8P%pU OB-x%9cT덜X!9ƙա$,3wי$Bz!(-a9Y#::7:1֙DЭ#O-'1(k.Mt'F \bO>z7TzEţQ$.-L^y>1YVf+ʊ?}g.74躙ukV0(J[K'1 .g 9I5 !dH{T~@%[!moz?ݩaHh?(bD޶v5@`i!=bZ+TH~c/,U*qzXC>z#o<ɽ8礑=i`Jb'Bltb\mA줣"$uϵ2-!w/'_ҧf'qpr !,fdya([ɡվ*" ]'c+TC7OmuYĤ:! Y8F&[9cEICL&~ B/+ b UHΗ8zfo<3/LNl/ts=#ߎEe~YPレm6W^:M nl[,l?B`Ǫ/H`5!(2*e -"Y!Wɝ.J'4wuǨ䲷ȸ}T! L’UN":$ 1#̒@*潼/u08E;VCO:T `U7RɖWTN<=:Bpxr+E T$O ї_nޛ8&4W;^a5ýQI7g90K 6ӧy1қh ?~CCk@mwy>z l{;zbcN*0 = Va,:spnUX!9DeXCq)v;Ys2xSt+̍gY  %ck5_ZS?g~mmM\亮ivXEAUQ4U u9D 1E;EoГĊY\,)Vnb 5H($xb$;ָ#ES 88S0$/neD0݀i#G4J4UmmTCgM X(9эkFd=/z`D".#RiܸqG45574wwtvvرsXLT}^r2b2iLf``wÆ ۷obE#uFO+6jִ/z|YNYBBBg 7;9%$$< Y\rp"✗J)[2q&p#6bXg7kVKZ,B2kv66֛&7M>0wqN6홅 %=ib\]{#F 眛&/X|ԨD,VՎZH;YM5^U12%Jf "B/'@%VW3MNQK&*d6Ot?um>)|M+ēJi_^RdBYBBB}ɘHpCgx7|XdltY215+(D`#)@[ԑק7v2ҒGeYRU7ѣ[D.R-W670Q׍d22-L9rd& <uV[[JKc5^zAy(|.$KM=O76J_xJ5ɓO7,?o?3_8v> x^3s[RPh]_~zjyФ*uՌ=&(s?lʏWP7 T^*@,8 ;z&jnЊ|nQ[NUdWU29vZYEq_'.C q3n3W/r,O:MtT*BAJ&"Ns nR䞒/hJC~3K?~|Ï_F?Y=g.˽Aʉ@^x1| '+-!'BD]!Ŋ ‡ig}s */^N)fYv˪pXgb [ u)QfdakaBC)p^̥g~N$Žcrx_! p 1@ι̿YO>[$DC1@\.z{1_ Ÿɉol7z;tK^7nZ]!l _@Dd\DvG:ݞ |G|`CBhEgf؁!sb8] Hֶ}ա4} )b,"~`9LAqǿpҤɻ|?#Ef ,k$ݝGr &?RFU΍= ]Ϙp#'P)J) 3M?Y/M9Лy ejP0Pdeβ4gr9'I"Dc}55i;$eR /BaZBc/ Skv¬}!j]|c[sz>PPSߏX1=Z>$,LaMqsN*TBBB=@tY'jR2i \,J֢iX~[esU"ـ"11M{3;ca@*qSΉ5_>x&2rJ#0UU;:i1(LdVkιmmmb `d:dvoBE|/Y\{5^ኟoW)+dv42?#p;׷Á9_߿fJYBBBBbd%X=[ZFgΜU__0 0zzz.һ];eAs-ew:^0IiO) F%iBnltL4Mq3{e(njn492TL@D&7c;2L3gEaYV7qN\>\gGg2&$eȱOl4Z7J˴#(Pkk/ʧN;`|)P۹iĔ~qOy8LBBBB/VdÚm?9?c̑#GrέX,9r̙3=?ek|p<o96% q.$ ΉL9bZ(M^_7"[Kc.j}}mwM!4 8'T298q-WԘ&mذ^Q՘g 8ф q.!nܸC"F.5XMJq-qu"X,ijE0J$- J"Y,9(ڴ;Q]R޹/ 0E'F!o8 DBBB=RI_RȬ| Ch _g'"$(_ː4D>е+MM6rDs(J<?oβ+ocEpίGuT:hf.O~R$76|{M[mߋWTSEȕ{,ŮyHƔ HiY`O*#E@8XK>LYRY[%c " civw1U8 +0d[nUǑY,:R9Ѝ-[Z$4-Б)J,Zmm5Mz+4O^n%cի_~EɘzKoɟŏT*ʏz^x?g ma>I%qMw"1x<;2L&H$/ lv Kh1 *iumt&ǁJRv b%!!!!!!nc.SqMknnھc [fϞnH ; {ﶄsd2ӧ+|Vխ̢9g&wX,ɬduMΉ1dL4&_-)ZI[;LnZϩ0Et*̎ڸY/s"c)nr0JHHHHHTRL7/s1Gd2#(Q,7n];:;jk7o٪*J"/[7؆F/I/7߂bnFelFWw#Pbhj9g.ZlICdso/8!Nd⟈CNrVK(j2tvUM8sع'K:s%SmO$nrKsfDL@E‰ogÆӴbJ4LEQ`6&aLaDLj'cG^_1+Z躞I+or-aͩT{D<˧Rν# b8P%]GdArV>X<| DWVєV@$7*`rSQ54-Re=fIUtYN݀T̿5M+J(zT4Mf2pέᖐLd"_W@Dž6ƒ|JHHHHH@{O>rNN\k.W:-fgWON:e7u\0L:iLab^Opf(q zRM:=00PSS+c`` Jif{1I'ڵ;͎dxOOgx(yoϙXqd@H@ܧE,;tYXl9" r`W~m6mχ7a8dScٜ,޿ߎ 0 ㊓Zv\I?=[+o9bĈӧ1};s^Kr|/VBN*VěO'>H~Leʔm g.H V ?7oT*yB4rԈݻw۾m@vv^zK߻-1k#]G`ѳϿ2>K<vt28ĉ&Ϙ/*x[pa2Qe+BH2 el 48L6`bř,pΛMxK[R鳟b&9ꨣ8Z=cl…cl{%a?_}⍜ & /I ˚}q3<(a#n!MBBBBB;8{gvWZUq6~hc:8!$$y !B Z17pw"7ɶdɶcvGvfwV[tHٻ3wn3瞓 xp4svB1Ϊ<&$7kY``0>tuF޹sIܳ-^8hy^E! ׯYuk[_$g01&͒jщ  Hnh6qc0KG ЉOBP~<'$Izϟ/ID4E)e -jjRbˆl$Q)JGM 5F)'OdXg~qfI5Qb3Ϥ|!F R[Fd.f1 RAĭ$Ң" Oϳ.䣏>#G?^/2ha3ǤsP9yu=ٸ|ނ{^ A" J+rB›(LdNX,m[ęfG"\ H UTí|;d,N Ŭh k5k`#'y_7b}=6Ӊۑzicz(.K VuzAA_R r )h<Wu5IU@A+\HYVLySo^?9% )>D{_m:xNyD!x . dʔ 색(o%`b3HQ84Ax\7po"VGFC{sC4|H1Br_  H1nmS\{6V8Reu AA D61+abɴ')"ێ5c掜C:_ýh`XEjv,q܊lX{9_ IhdæA΢XLXۦ}wg6KQXEPiOZnKҒ#&NPJѷ?@\fP2q`>[{n'}!'R.ؾ;h ]<szZ8msΟ僿É'x-୆hNVt?oV.ArEn Jb6B ɊO {i IVH.PY{MoÖv%Gu?;39:R0N^BV{vKsXo.n&)y]NKU-DJ)}O`#yڞ'pbsH&t~8/oUGO芟} ^A$=lǖ\g YK09NNLVۘguuzj?O:$]7;l*+F.KD)M5V+όltXC4cWwTz^Т3NU@ 'V}ǎ6eƃzonP=G]].u^xq6o=f=ZXq_ms}.7x;Oٓ?Y&:"6,~aޢmmE+~y±TH7_u~ęW_1mb?XYRumAwėGpcF:mH0*HđH'ͷh_NKȕh˪ ͛WE(L(%ʦ$4 9O#yc0}dW D)r f||1K>;ԓ(mQSc0xF뾘xs/ڻݵz4yܨjЊczvhZ7ŀ݌>p1êj>xW|9]=৯pYߛ˾˜z6kSg]}-{k~ bc^rOnk_{o;_~.鿮FIlѻ2'3E'?wi8B;񤋲j%Yz%mDn"CvwϔS"@=rZmo/ D %_,-o_4s}$ާ.yre!xF}ӫ#߼7$mvG5SO/le )V|r 4{yOjC nز;;z4ႃzSF-F 9fћT+sυ}5m/kmc`ָŏmek^z^偉7>w4/wbvd0{`js('0zEeփYG׭ N!.+;:m& .D,ڳ~۩4Q*;"yr2|iw\:6!<~S1H7; 'rX37ꩧMKƎvǡ2hy(5/}5"(v(ֲÝ|i>[w[[Lí ୬qZ }O/5mv!=8n;_zl܆يYOwF9p9B8*N"m@{fBί4wUoiexiK|DʓS 9v@vM2Ig㨟n]_{N?Qٮµ+ٲRfI=+kXTcFs7cL ?I<~Դڅ<)P2dMWiڼ0$&/>X[1zM̈́1 _nhRR>QE$ԼyO==yr dNs|1 H % Hf?qL+`<ŕIQH`Ï>蓏@ros+*$xh}O}:gX֍ ~)8jmc(hߤeѺ1^'U#ŞFKu;@*&^yI xhA+9PU" IDATwbv6x޼ H]vIt`@`ʉN Qfr[tPN<X`.Ev7Zzh%ge4K?9i X+fMo10Bp[~ ,iV]5A c"gB~ʖ{; #q80)eTTyD1 !Gy  åR>:쬯E`BE签QuZ~WzV!! x"3649i32LO, p$Xbe'q& e#G[9Bp=&IX(2h2*_-I^י2ů-*S~ܗ`WGQ%#R芙'4m|1!0vjFxD%5++Z[X k8M mƘAAr՚Bv沇ePB+(zQ(αDc1)*y}p8U,(W#<3cX,1ާXxMB-٦EWc.ַ襀 RH $40PJ8t<{yKK}C4 C19['LnՕW岂\( G4B=1(^/ N#?QK_դӅ,/S: AI|0sT~m tQJKKx[[0 Ī*ِ2@_^oi bv-sIĢ#pڛF0;r9p@A\*D9GAE[":SVí/c>Gey)yDaShb@ ^1cug#ďbFA|P6f|W P.{}>o{{ 8祥%pZrΕI< d]Dc*EzZg'@D]t9ZWpoO r|1z9)qUUU~Նֶ6)e#zb4vb ( !Z2L h9fi<3Q-Y͸y2[)kVhvpzDr4ןv@Mخ+З9ey!^7 KUz=rY+cy3Θz/VZUkKkzuD^o8t I('QaC^$Yurk{) 9$< '@(eexcR!s.Pj'5dL)%R :xoٺU6ۙ>$ 5%CeENv鯼Κ݄ʊϝ1fͮ=MT c,0A(ofLB;w*l˨n` HvY9flTE*lGr9ldG1}H81NOmBӸsBQB]83X,f3ӡ`TWW_y *O[uUW^2a7PF*<±ejr\SR* tܘѣFرsemܴYɶMc@ U8IB z;nްq_7oظW^?rHīEvbu2Rc-VvwB\Y)/eF mG$s.7.sRQ~쳦^4ҒRIM8K;Pa^Ȳ^VeJ(+Ǐ7b͛,Yl۶ֺYRJ$B)L>Q#GR8jY⃏9(%S2cR4s_VrC EBe0AќAApm&pFlAl( AI`D+o'ٺL!8%_ s9ѣ\sy~4' >Ts(PėbcN*͔Rs'?-^fl+<uR犊ʊJ \uizt3@w{Ŭ՞,b(dp/jtDLQA mgPQ/n]MlD#+<ɓ'}˖o>MfZӿ[ߍ-b+i(Og2բ;.Iwu5cfwwj7;lgEz^i<_wNޗG HGocVviY\Q8ι޺??n9Q7` qN~N&c8ulLM;8Ur%U[ ;ؐ/ϟnzX_Mi;)J1۹9[L )6?iRv?NN_akӾ)L_ H(\rjrѧ9+,5JA8HkplcNc$D31lnj:{-_PcissKUUew46l) tbRk2u2d;dk}A5?˪aKJF?gSR'Ah 7o+n1cFS*cŊ7FMz@i;&)rqYI_oX·f$ Ps1e8'nٲ'ڱc;DHOܱR"7<7Β͍:*fA)ŜId Mw3 dљ$s H$(iPJ&b"y~*rjjj~zϾu2DY"et $f-[zu_""J !ÏB[~+>X9AY)ҨhTx IC.vT}(:}?4챚OnVlGu:17;{͚k]?fF$CŜUii2;bכ P /ϿH(BN'4|!g%8)JB b]Yxժ5P*we;zATy 8^2fs&I%]W[Wt{\*ZE$lEWh_v˖+DMx;50Ƣј-A VGB${(PMY!>Hp${q*GemJ 5W>#Gh;zR$W5RUS n߾$H$z iuFt˦6QAJcgA[^QEwfSY^}UaRINA;1I|b%Ͳ3!ծ҅>L `ě; 1&ŘB)|Jc\mTvZhI\GFcp5#lW[VfBǑwE9 5囝׊+`חiWJɷӨ8:r3rcL 73 RG"QAb Vx$E!scd*zpHI^Gjk]!A$1⅘*oӗC)PBGg|H) ÑHY5gC1{1 EJK}fRB""]D8P((~IzffcgكCm!z]lFQ.#tJ ].S=ry78,AH4 GE!3nP(RRD Ec~I'z9c,cRRRLw9CUdy$t0$O1#d9lWIi =z= Ì1:2`&3h4&IN9(£:YADь Hvh`|aPJ@Q|Ւ$!Yik`0IQ؊3]|p_\Wica$HYޕKN68G{-b_/P4#b ܣ-al~3!eL[Jqؘs ~i hkkK3h _*GYFW w%|ʃv\M"X@p)qz+q_VY=m $8U$rjChQ2"9jaݱ/T4`kk|iC8â(ℒb6\ u9+.$A$ Pe7[5ك!BB3 PyE< ]z(ΆÑp8 ._3YΉ0mEA$64WN؉1,x9%a(EQ4tG$)Eh4J)-)q gY*#בNX  H66d]Chcv]?JJ|r¼@ X'41.zh8똻aRē[؟[̚qj^/Alh ũm]%$5!R-SM%I'+beA|ܑH+)t|t+o0L]z#pOi;tTCvn ,\ܻڶgҵ7 ) VPG92!R A#Ŭ^JlP!ܹKtЗNS:ݺRNZ7Kdm-Գ1,--7ލAbe~˪W̚3>"1kԭrDj( H(ڜ܋[Vv9rh\j+@_钨;fP#J ͻAe;^ B8l.Ᲊt=D9tݴp\\LA˭_vl$i_+ e]n>i6, 5ć s!8çbS ͠hΞ6\#E EBr=|ĭɄ}<('TO)~ŬM%Cs\Lzdo W!?C˩g "4MVjY8@hCV17S҄ke5>uw-ś|p].7p~ҋg[L2ynGe=ؘeC4zns0`pq1RY1xBH'_YfbS8N\4: HkfN.rWO7T·m*cp*ަf63f3/NZ@A1RBgc37X iezI я1YUqn=Y!8p7Qey` f$Y,b%^ߠFF.@HgB˩Xb9r<[|y} #g`s xߑ{ּ:@>V$[YY_r=ޅIHތX  J439Cpmm2w)ݻ #ѝIwpo'Ͻk>Kn'ιncVzbGvywe#TOy&CuD/oޥ۞.ݧ{!b*P/Y~ϯ@8׿9kw<u)fY(+#fBKYB\9OoShJzFI{UQ٪c\ <2YX'23,j E*1R)HK{GU{7~A{*OӠJ*cbVƎ6OkCpcƎVS z6;D [g g3+~r?ڴ'>n7ig]\67&UVm#Z1tLخd j_AҖΘ A$ &=%ݑ-bDbc_U=v~\pQ~WЃQĀI{>"GoMS>#˺ ׯ?~|~\4)>k7m^䙧>k\E#?2XkC]m]mm]}kmۗ5l)( 4jOBTf]Ԓ>KfXF^4N7{XN*F)uRW) jeH ',քub o]P7Ƹx0¾XD]7bis=~+mk!ý1CͺX<_\>[]GE;pxOɇ6!0l1+XY*:06Y9fǕqM3,rTUR5׃/@AC9g(3'ޕAc6´~"(@xu9=eɓ'SJKKKgϞ}ǯ~3fah?Pa|m~ ο3~x<ֺqVi'ljC- e]D3jւ"JAIO4k3ќ\l8>agʨĎ>{NvY;p(*ICuEퟄcKw5E!zh{T9zLIbqʥQ Eg[0֍ ~)8jm= $)V hF=^FR x6*ɾIJWٽ?lÚ~ߴ3_}ucew]͍B y4q-R9gw{orD2>oƊƻ.qnOjɠӰMm ָ}tΨ`Vutݧ{RK?9|^æYY.}Sճ{"N[A.*%@ҤWʊJV&k [r\-ibC78{@_>ߊ}$Rh Tuwϩ@qW$fb/Ji޼l r XgRXޮ s`-_xi܏/ Z{R^~v3挨]s*fEm8rb%EADŽ@ָ4 k~Qh>|S|۾c3i[ I,9b[Ͽ #KG-|rB#[?쟪#bu? k?P.[݈.fy8 v|{nv=n]gzk/'.?~8~x 4BЄO2!Jiv& p΁0I(edM R(Ç}u“-?wB Lڏ .& IV#P!m ?,3]Q` tAyM}8NIVw\ 6Ѹ)٫1F-L$ǂ:^o<;&Wՙգgz<.r@1+*Y5Y5rx_nOGt6O)LoqO;_[ߗụ<:"9 Ts#_f'ؼ)qt v+(n=@qu-./f=eVzsڞ+Q?\QHc 8q%lAƘƬPJVtYDa"T/:Amcsf19gM.)KS (׉Bh1qFz3dMe16h\,crgE4麊YmRt3cLK(=JN!])l-呆Mm+ʷzvvLo46!>;3qHM(L) qŬOcCX{YRu?ƓfuK-y]+ 3R%W?w[ AH?F!P΀Sٝʙ^8ʠʞXHŬe3!89 apY4Me8s)j̤2[k1`9T T8xɌsF ]㺦ZֿfQ>$[Y%nȮ̪9&:kP}p., ׭2 `]>UYGo>lW>L"L㪬fc]n)¬xgҏĉd'l*GS.79Bx #EIo{C̿q%g3E0EŜ`/WNA2+I6bw3RJ=KuZWb؜r\\/i[nd'egݏP:#KH9R" 6`Nt=+HD Gb_VV.< ֢bF:C152[yAA Ҳ0Zٳg%KuYlY6n1x≜p8 C$Iy8hՄrw7K8 !R<\R7@$)nXAHDJZG Ƙ2jX a ʟf]tu(oey޺X,pEEEn;dwG$<c,6 K@E$X$d#"zV t ?5755?yaBy9fֽOչ $| (f(P d{M_ݥ*I.&,f7掟VYY=L +-+}R0Ӳ^Ur崁n'\un_ ̂KFXn`!! HA!GR [Аi\c]ݵ>WozCϴK-; Ū@@8+Mޛ76K@8ٓ[ٽ moc wwwxr5>G:wO\^Q:o=f=ZXq_mvڅwN6)ܦЍ;+AWz@f5"tYl@o|޳_< 3 n|x<Y6ŪJ/R2oߢy|t;P1cGt[N⎟:֫T]=?n z޵zsܨj @+۵~fA)f/YW05Se5z>]O!6rWoog /-*k~MG[ZZ:A1[ ,^T󬙣x}֏_[S8Hz))>k7m^䙧>k\E⾃۰yǗwEcʒTyJEݫ}z Z忰m_ְP2p=AmįjPE)zݬ`N/W~OBc<*J*K 6zc;{Uyvw #PRmGX˦w!;~ભ-( ,"Un- Lȁh2򓳘-~2_ᚿS FX+c>!|BJB;#Βeb$J;^Zb,e})/8x'iIe DQ΃[hK.k ~tWIIE qͅ3]1RɅn\ULS&\`PP@X_XijuY9fޑ,rTC7ۣyL!",u>oj=`ch}ݝ`{^Çhm:#aÆ]~Ǐ^U 2ӷ'گe9H0 r=N=Gp,7\Ѩ6z^.ՔhR }ƒ5O=VG\hd]0-H 䢠INP׌6]A4  GGyرCݺumkk ò H1{>Xo|4lG%,fK!жw]|ԒAS/էaӛʿzbGʬ4Eo_^pt-Qh󆟕BvMXs+xTHӶ潰`n\GZ/Wy"@a@h%gQde= S̖::_9[ y5&*=1n?ӷ Н;w޽Dll<@|(ؘFÛ~a~d'-4>e[@9V/n|Cl^,6Ze%(faw5HƉEAr2I,„b5)oXm̖3|dG3KOhh߿?!(/!ޞ9S+XsdbT€d'Pw帝\[י^qI㪬O9rN:!ҕTv%Ȟ f+9p.qN A/*{S6fb9E2Aֶkr#s0;YcKxq_*)U:X8{}X)rZ~cԼ%_pB))Ҧzwz@r=yW]s舊s{$DjоzT1z5.djhأ [q ?ouT~:̾z^8h s11,foɁaR2+'}wYt pξo'Ҟ-<ϟ=N\?\zB\G>'.;N Xr֠|/;~:~\ڼ@ˆ}߿PS}Ala EAB ds0d_U2F#w8ݢ/>b'{QHSŚZ?xb5/xhy7hgyte gRLb¦RSoʫZx9M,A_63pƖު|j=Ϝ&0Šdf MGc•QW-sVF^=i@틏/j>pU?9߽cy(<&u /^٭?짏?{ÆRSQ noჲQRjAA:)&OagN d^tUߛvJH鹽hݺx=|-7@qǘ\3z#)R2U%bs{ʿmS|e#zHm (액~Eb?$&fzh\][i`]IҾ_hNNy j!28O>S)`J_ƹ"Uv@ҤÁ~Aosֿwçy}w?:,O!T xp/X'ۣG}RJ^3X$BT34%|Of{VU?d`'d IDAT灉߽j^Uݻ]ysNnƁHDqk{Q=^9K[J2 Hq0ιNcO:&zyR@E|6 ξ꼹 JsDBx|]*19<.rzA O PBJ'dl=VySѴ]nƏ?tX>=JZ],0xDPSEyǓaVz̛=潇쁊fEHΚx-|&CAGc*Ie+u/ݶ\"WTnFoRA)3;!1f!dR-Hd_8!w)J11nFA͊9B`ތ[$)>"cLs0d BYLJ =72Vv¬{vV̚> SԳŲR/~:.58-1zsdp-:jEnչkyW& HwLbfjK͕]U#rZg5nS{P|C/@5{i w fgZ,y =~Ko7G+կs+d'tڏ HGVv̴ P.;C{7g~LY︬[*'ݣptzcYtX;W+ E3 `;Ɉ?5 ycD(Ne@mԻ{rU+@LO+{,%*oCexdT;oXNX\Ɩ WXԏ HQ˲z;#ې6Q-p[-!Ḱ֖(OzyO[f*'7мyO=N (:'zT)[yaG4vֲ=kýScv~' fu#Z'1|]s͞[;ZhGh~A$ 0M޲<"~vo̹R2\6hwo͠+~8c@t6r},RVǟJaC)=ƙv߾~o\ *f(jw~CtaXD4cBb GB+I\]kĶ|!2:oN֕sی+hӮXI\6z˿73LYXePNN#3>qCI[pCd'_uU=X.\Քٗ?ơ)s.V*ɖbr+)L.hR\]]̟ͮحvSSi2XԿo3 Ca2C K:ClQeAF$aj6i ޴(9:$ԎӃ7~?m;,5|WO?"͑3X/JGl[:9oy$gͻ9X]fBRu*E$oyoRN@8"/ի/5We,!M10`؈}zF"QWn0X`b2GYT`aO:|9 }4A$ ك3{ މ- H"2cLq773c?SUM H+ qz 4+[ R̊uIzoWx)!Z}9!9TNjHP@sg0AAӬ $ONv7qAPyRf9̑  &IG 9NV`9@z! ]W1;OM"EsF9Ye ΰ~r\lTVZ@hV[Ui|M:.`qi<f#39 NU3Q"B G'&t1b M) @4RsMNL@jPm\bA E*ӔzgX~rpkeb|ڰ}ZjWVҘ5a,G ɛ菜&k_o] TFìk~HqcDJ)T.i)~>[LM|e<pl '\~y5ϾSS='Y-)n>L3Shl4~[iq;-_oi\C4^W8N{fX'MM鬉 岦zRdS3/o!s[AP1MǨENS!e&ܪ\v>?< 5]@W|i_rY1GV!g;:ߵUo@0O2 ⽨pA0̨OТp۶UnnVAyQB+^0 I!Hyk<{3g?T[ެR99{x>=k[ dt%^۟+cغcr箲8],b(wy|a K~aD^3EKyWX̪UI1W]R2^{^TzÔ],bwW?NEn > s.E^Qz(U0Hڔ~kIgafv?CwϾ&Yú@+OؙYe$K-{z⟦T۷P>+s?]&iHإVwHV{wʍ_m=EOٙ/oۓs\_ixv οcVD]1$H{Uj/fSQEQe$2ʼn"?햏ű" 'B93sweEQETTֻ̈90aCID$ 3U10c\zQQEQv@):/e.l-aŘ{jJTr*Jvt.b H+(ʞZ&O-/</[^c*_(w%]Sh{]10i)}((~! {hF-KU̙V֜&+(>ͳS$*;mp245((x[~( 8ZEQȅ(,.5Zg{f.x=oqV`O+;8xC V&.#fiiiey#"rju}mm]Oǎ)$@QD#(( f.=kuhȤl hy9p`CrWdM&:!8rCWn?#ŰѧKP}Ҳ}eEQEYln"`_J.C'NMNv9Lih> QQEQ^4tZȨhr9|JgYjcGonMn/o;qrskr᥶3dYQEQ_9;f鵴67~s̃lXaQmڶ!"d85t[&n}Gjݖ",<(,`6_yd(WoR/B뛘P " PۜCt^E@E%!+"w˝_#'O7o9_y6kܼV6K["$0oOlj埢(,&3G]Yo}\kfeeiuu}23///HIG˓tǐcOz|zuْl4 Iu9!#FMFEQEYT݌sz4, ?y3K=j.w>L5]ϹmwBVD^u`ePÐ=[(,,㿩Qe;_muڔuS:CIL"mKPpJD$jTu7ɤC`pdTw`7s6?} r VEQ= АZ&c$`-aDs#D`^d*.. Ez9h܈ipcczNzꓟ<~~BG?m?!Tf&Ү,M&]]n a_IgUD&mۍ^~ӟ'1^N_|6}pun10Mlt{^d.6DcW{cxgs%"p O|\~ŕr )O|k_>/BM|Ƙ !#P?İ^UHZ(({ :(E`̩ Rf-29q}zqe2d2MDiZo&xYgy?}w: _pPh&=&ԊHT1O}6+Xۆ! L]:^_~1]?K??wr-:bLke:F1 3+(^ `_$8N2Ah'Ęi ?gaKg܋!D@dQ(( 'm.k!#y Qtq,,2f4Ҭo#w)ȻHxY7=ӑvۉǏ+J>E1*(pycSgb&j۶m__kwL!E>[=|i߼LJy+ >1ʦ!"DBDfEQEZ0JA&~R?X%xΉ>"`mljiv_ҫ~ַmM:\%p/1f+ 1ҳ[Jk bskrׯ[__1 g=} Pf+|M_劢(!QU ˩h%AY/I1`q;/~'OEKxm-N XfVsō"z>OçK~|@yjּiEi_SG"**EQ.ƦK6$iu`auH3|c_M QeVW7}K^3?Qhok_;|i19k[Zj&zLFt33J-SEQ`ݐ}%b"""Ai]_|2jHdyyj.Odm.IK>@2x[ IDATf<ⴷE`bFn'(_ g㑒jk3-zoMoCl;e|翮Ҟ>JԾPLyMPEQő̦?FdHHQQ:VR)9}6nm0dMi[jiBu4Ki( 9tkWn"%H_'Oщ'.]#l_u&)Ih\'Cd/aO[[m٥~̟V0 0(r@4;~%[ \/I(FDzD8Dĥvcch5PQl}/&du])lF{w5^+;gK{u]6 @uߘpx؀/0i:ẘ(( J".#Pcw,DqE(lM,-kk(J1"DNJn?"\ ^a&[38G5Y[[ovjN V&GYʊ( ZZ!{(o#[4 ~@@+b}8tw-őU_D brc%gCeskҶ ޖ",-^'bf$;7abIY -+(fafDD}Fw=:4TuFP&)Hki%µͭӜeKD,_dOK^Y&t1y}}s2ѡCct*0m?cӹnVEQ&HSzdD17j \~M9rhsskmm L){;˙0a}}:k7t[[f&VNL r ~X3ZGtPr?(,2%Jj/u Es=j@!8[~%6tFͭa6@V4oI񭷞< b۶533Ղɞ!9g6REQe} "b,/$s,TfHton CڶM6+]׭; ^[[L}+>TDD4YGQEQ̶{,A?!V@$8a&i ]4͡C'*ƌod:tPsdEc&R((gҖH__ 3CPwB4ӑ#7'oG#G5NfEK`F!ln  sHQSEQ!ߵj!# 2@" !8eߌY=m3@fn)3Se+++++#g#"%w#;$`((jЊ9Ho$f0Y%O(,`Uaiff AƜt3 jkEn]]ׅirsAl~eY3fEQEY\ZeqӤ^fR,^ċQ؏0"MU#+(Jf˧/Gq8VMetOx];{`kw/{7_z^kֺ^]5kx_(f~f?XEQe3!BO|Y~׋H]m\BS|þw|}'Oܕݘ\_B^Lg,HQEQL1+S/RWx a7lhL|X#|c~u>7Gwݯ<tvi߀}?yO~"WǞ{!ؼ?onð~CW T(( @~w{ܨ^dqܝf!"B0wItɾKaɭW =._̍&ʟ{ _O=\mEu{~/r罼|c??5g+n| ~eoOß#/|ŋ7#o|<ٸiͼ|Nmu~UO[{]_=wy̏cxVS_[? 'T.bg\%#G]4ICQEQRPC@)R="\z" [<曗~o#u#{ rʽ~3'+\KΏ~yKxk7 |}܍{;>y|o=96n7jٕdI;b߾g=.7~7olug@sNԥ_eW |]?1(~6Dg`ҥ(XeU}i,cm.+ӬL@JY"nt`ڿy/x\p?Ͼoxyܣ9/<1/Y9KSg֫oCgjιxS_c7ιݛK~^ҿvr6G$ط޳=^9|ƕ~W_wK_;1]V!1 LDjYQEQ#[eSJzׄ!EGlWBݼ7e??~OwUv2wl ϼ?_|ƭ'}dl7?>{/_׼v ?t*8v,GF ))*(}=h(\33 0L8u~ͥ_}Y֍_;٦6iaRT$ ÏjoLEQEsed"B1 b#6<AaƝ{?_~&Z5A%$(,pD1UR` !"2ISCf#|GvZFOGv| o/@w_ׯyW>}oo>?VoKD_Y/~u''xz 0?uͪڍ/~./O]ɷc_;'>ַ=ܗ>[pxɘ=>?E/l|Ս{=Oz;y?}-^'?#ds O꘻IױL&݄yoy8*(ʞ?WmCMC-Qc.< ro\uL ]pfaw=gssKΎko\qzXjoShfe((ʂ! aWH_"l#fVB a\y`w?! ߼c~iw~˧}2\F"SH((KD>,">ǡ#3 POV-]/}O]ŏ:.{g*n5=N IGPQEQ#) "2p`Uu$ BCgϾEbg.hڿDQEQ0L#jv*3VA:+B_'֥sIPѬ(( xC BlM l"ZFIҰYbz6uV3 "T.+g4$"damfz EQEY<,"&#s i )uh6r*fuW<0EQEYT% _J \yq]e{žprŘEQEY8&Fg_a7o:D;BDuzF3P1ץ0)(@DD3h)l_#KzF3cs.- ?֐(,`sV*9gc.WO8E9cXYYnZМ~LzМfEQEY@X˅9ZU/ dj2x#  W]&a+uq]-Z¯3 +cw٣Iҫ4[11 -9xi~2.3 >nMӿߊ]" bp볆35ǩr(*H7°[Og.)(;Q8Ͳ>7MQͦ#71 P3^DLvӈFMOs fgIR'Is[soH'q;l=V"zPO@D46`Ҙ75)=@DNN"a~BbaD(x~טּ Ѽ!m1H&r-$P.VfEQEY0nGD/#VNcFce% &Wu 8qI0q:}2ڄE.Ij{; | 1]؏rpDh̃Xl .(Q6MӈH]RbdoV^p*#E6ډ Ko~`VEQEP61aX*4ٮ/e-E E̠1uV Bi}p&j.EFa` [)ؓ>ۊu 9B9~[ζ;"v]ba#A3<Bh t{Ӂ@x1Yq!\BXN" ;i_B XQEQw׻V#i7D$RLN}@)/~*XP9 >&ZеiO0?,*mjw9? Mcc6~BS(*?w񦉳QAKG1*j>X3{BQ0̮ a(SCU+a9f2U{~=f#mؽRmWfmܩ)((M%-:_I{ٸ0Ɯ`3icf2L8Wb%), ŚY11c1fD$jw0Mj  $@ŕVلP"B>0FЧ JLX:&7΀^ #,F,xB3K30GY5KsԸQQEQ6LI׻Ddj8ee_4fgN6lX.^FTc t Rɍ:O; 4zN8'[UX]MYa0%.`%_K·"#ؠH~ P)p ]3Vv0`bA%p0#ыb&A\߯ҽ+(/twl@'q$5J;F~+qo~2+st}Ë1Q9"DAU /,)C,]ʟL9*- EEf a|z D? jEQEQtVK#YEb+ejɚLSb0 ){lǼRdNfכ٬qo8s6H,7 $Gsf@̅_qt ؃4m%M4Ƭ((P4O2/#1#iT_Y!9>/IOrb6p6 dd vu71UJl8+y~m\]&ۄ.,j3dWg34zwp:kݟhgcvbS̑sd4:@(M ͟m h1Sݙ)(27x Ehv髿dd1H'Frρ(U6QocRSٚ fGbf, ,܃R()jp79RS<4 rB,:ህ-K~a.@ocWoozΎ tV*(rf!ij7e٦ľd5c=7Md8;5IҙxnR I>jl!|)+dQFh)laYcJSJR 9Dv&Lq6A_ ֮hn3}_ϕepͽBDc cRmy1<(,X- $ nEpy^*Ri VJ`C}S!TF}LUzp&Si4䋳뺺X\q?v(L#R Yړ`Ð>7'@Uqiiq& U FbF `ۯ0hsvÅ(JDL_ T̗*HԅO04} ]DL߇He%iH" ,ˏ WH0m"v.%EG`"DSb>`VEQEC K1"Ӊ1m+w-S ".#R [PX'qK£V+)6#6[ yAYoiDH C#d"SR1BDd;I"6:Hk(#'`i$.a3qhCFjyȡ.ڏZKAh((H%c W4LY3jޚ#mhWNVvUGZ5x SGMTԧo0=I&{@20vU4LB{@$4;2= aiČb}EQefD @Bdg:b$".ma׹͖f%YEV+u"tH\xec}-J?],|՜E5uڳnpYf WF]N= AŴ(,he s菴/ng'|(iP6 z.4pt, GZ٬٘A.fhqđ#D4{42Z݅pጷێ\r-qyAV4#)@R3YF+(%B j`s(JA@AY7Uq%4EXTI^ ڃR }^P9k&0ifQvkɥ.SMrtR5zTCX2ܬJ- R>뼮WgNGgs+3 33U>$۲\cck>%1͗z)SAFftG=*ǘg`&m,*^EQEY>DL?;~q*9 AXa1^0!p6#R,$ۚ;lrc0qw#m3гו],(/1氏,`5W|:Rљޡ،yq$EQEYҢ#/FF2+6p\l[.fmF a?|_$LN5bKAS 5\v.1fwVn2aOc&s\i])ms1{tMX|^ii] 1!(( c#wdJ|ŴpېAf4ߊAX;MY 0Y:c<|FQ$hm6C c8ZP0? tH]a9:k\cW0-_g}g Fmt{lzmm 5Ƭ(( `1ʀa=&'FB}'+ƨ pYD)$v, HH$d4 o((!0hAFHZ/H FؔL ŔMDDDlOYLUkaS|ffDX*sWj Z. GLŻ/؏XFv>,>Hbí @Ip`45he9 4[˛ k#͈}r/yM ȣ4 uK 0o܅U=+(^M¬^%\&2O5QSJQngF~Yvf{m5lzèpoةd1n)]`CdII.ob#aYze@;oMsK2:As#)\CZ8,#!0d,0EQEQ(UL@$ oao5F8}SD#M2L+"YvIKM(9+߸J)Fd63zZqҒ@%vhkze@`8H (Jߣ?˹r=A+sSy-#iDfݚr\ @fPFQREQ=G6j.TIЩFcJ@`w4)4r7!G |\m"P/2~- `Wځ8 Rm6 WF6:m]p~c821\1ɦ6 " [6jW#o8?iϮ[d,݉(({[l _TU4gM_.gC{:b4f>ߍۊv LJ хH[2T=p&bަÛuZb>̮v f>s'J4OOa!.Sf(@9n+1 T(䓵2=ZgGEQEQJ:']@r9lJ݂-Nx)7Dէaw b>_)rJc@Dpk.S2M2 ʩ϶<WDNΚfv0QEQPeb"QLl}3C6dS*|NHg?9 HɸW4ׅCn{dÌ0>c\5H89 ݙpU4mv6frCa;Cq+ӯ)ڥ\ .A_5)(kfWV64l n*azvxmHe6$սyA3 wS_)ˎj`GL.:"\viw)& 1V/b4 Nǰ|vp`mӲEQEu?CdsC YQ2c3&xmccfj@xnPml. F~S{TW71Fbf!^KeNFb4+p+256nH&öwyHɹh?7m3KдLWK& r ƍZs 1fYޮoHo1gճ(({ jEVTm*=Ѵdd}eY>F./ c^%U9 5b {o9<dskilR(!x!  sܡT܎ы򴽜 F0L@-2oG,L3mU2sա?iWBHٳKa| Dv+]HD^Ӳ" ! }w+7MX+yC0bZt1( q~c>ьIhfiOS(1 sl[=SFrhX-f|<'|ߦt3BB c dI@"cga-)NBSs 4Dy(&@[͖gLRuvU*,ul;![(n1;9f~ۋ߬ͫ̔[[!Zb͌%LQEQ4HfhRԄy #1!/D5HgwصTY)fzvV7c} y M7 M.+m뭝B$Zy*,m*)0eJi5SpzyxJ̒;xO j 1F0m;MGe9KZTvaiPWq6^oٳ;@5BL ځ|wwi)׃.#rE:E0.Ƭ(({Nh–] Z9)um!" z!agnu%",['פ8̱;^N]esd+m\30<K{V=F/p>i0C&idčbv~HREQŻ0L_0*a<;[ }\ڮK-'b?CJZ*aFsd;%#ވWS^Iz} #B³$ϛY/PQ'ue1LH ? sBHu8 4E1guwjbۨk2(,H& dP{97EEOGUGy˽&otJ9QL"|"feB!(R:uްۋe7cVwO2 s fm&Ja>F5+CQEQ "AH- "9lD|gf/vV5Iô?"a_p܀D ud}4g,pBI&a6BKRӏT Fy#* ȹsCW̃͹TB7qYVFՉZXEQeay}? ǫT0RW805^ze md;HXYT_g2%t@7Rٍtƒ!-KqVtCJ ZHPEQ6/`0&S j$dFZZ0-4>`qa,dEM|٢yE]$(le}9LՍZyQD0R/Nme 9Bmzm^;=iVEQ!!((@B3:>_} "u]MMӈB{PR٦ U0N);mLY"Qu3F1nӏ%|6z|Y%ͥuj)-zʇLCohlEQEYŌɆQ\uLhD`쏩ʚO7r9R@&FFdVLHfi6mjy370 cm"Fobw}3|w(ip]2fZtSɘqQr\uL"P&BAWc_8g170b>yCQEQӏI_6 !!kp՗ Kz>DD!7`,Ea:n\5^#㋈,gEG5 "&̌7!%Ļ!$"d4kVD KE6QX)$Պas;x`;1R\Ak1-†8fQEQe"B$&3|7(P:+%5U[4:vF+(Է(l}nb "`‚G匧FIiviBJ&@͝{rW.feXLw&h1E  3J &+`5L(({+hPL47p܀/79 `[C,+Ea6CE] @oGgf]ħ"0sC" bCq)fj( dS; 3"h BTPDĦq ZF, H B!F|sq/\bXRIsDYJOFw6` =Zg/#,lEy=V)("(fۘĚb?cKBAfePڥQLزB* VԭF^z+H @6*~sF"8 -6if6H~#u 7@:u(f!<9GuMfSՕRȣ( -7p`|(T/+(Bhfɂ[j"#z]kҢO \&AJShOțA"Q0K&zfB2lKԆBE@ `6Iㇳa̹Bݺ,j8pl즲C*Di#|iLL0ts>s`EQEER 4 IDATZE5XdlLz uIz#! 0fEZKt%*AV+A뚦nj:6f ' ٸT|K-z%+OLSmr:hn~DfEHM(点sP$TL {՛FzW.Ю-'daXتe`@eft:o<\XFp@՛u;ryxzӘ m.M*;}ќ}Axah2$3m.6ƏGFN_ɵ&p(bSfzm.ӽ&Vdt.F[/K^Nc fFh*:,۩/Ooly 0~s5[خ̥Dj2PI4Du9R ߥa)Dk%5VDycfk90:EQeq`fAs7CU; WGl6%Rj!J`Y$"ѧdT,K hX b"v#>9U]z03%8EBGTVkfG0fp =HpMsA.;I`ntZKf6(({骮 4({P1G%ܢ0٫YRߓYfd\g J(CdaTiE\,/J .G-Iyq8S$[8yI'}fb.PoS(NJ;`8 U4_(m%sfم+#6{϶D%`J" Eg/;$Ķy7"2 @Sz1yĉtS옓^/fPaRr4<_/"[!K R7- Gǘ[V*EQeafw dx\R¨W"jM6}.uzTVZF{B(f"v&;?S\, ?(Ml{tLKfө๗Er9t;xxW)V$F@2ۿ:2!oeEQe333c!g,sFfSsrj 2鷂 #/LgA$V*/.)(-{۞ /&̗|Q]ZZU9+35"buSe޽ s{5~aRұA·[:DQOhmL 2+(^cDM mn9K貮)!+X%_rQsV]xc4#<"÷XgW}&d\D:Db 6"f>3 z;r# 8${S PQm"ȼ$q! @3REQe1 0!$@dPQ1 ^ú+] A BѾVyD\N%l6dt@)cK"Й5@ڽ3dTCmP[PX34(Œ$L ԖWe?L%C[X[/+wCgDm0WEQ4c.#?^݌?8U-ͥ֫ݮP ~gre|HY, lWS(g6 TqjhPg?!zjYVJF΂sP\plW ^rq_8a?ToKEQEQvUB$pv#eu IÎ|9^f$&wdxgD/ ,v7Nt휦tUVꡱNmƘܶlzze((c2er=KU) u?D[{L6m\ǒJ3|ϊԌ~9"˨뻇"3ܓњsߞ0#X)TOצC4O9^1gg$I?}REQe25@DdFf5b^"tZCfrjr #KׅQ{`+dг{۾`)2$NjY(Jg8܋ s6c$o"ʮ51#ʬJB1XfYk#1^KGic"@Ԭ EQEki!$lh߂eԎ$Y+~]D[*Fnîɒdי`hZ6Z`wa #nNo~ީ7++2H`v:Ues< 'RK#C?#=WPh;>gTL}e~X_ W5Iug @8@i#3!Zs躛V?Ϡ}n]!`>v:}=53TN3Ce!J# 1*ك/h]y-V,B~C(5ɞ柝[d~qxt*4oqY[ŎGE~~be .ޯNbdl~:lvGhmzLX3n־DW#*@D<¶Zgπ+c,~ C+=2:_4F9SUe|=CE!4DC--2H>hhH:siqk'PUBE[Y0s׌H|[!>x$8kJ-lz[P_$ZbVРs]Y'xܡy}qqļy+Clh\F}p.#H,~35J{ y3ThyGo/z9^by56eOm/k{c9ĞCG7(NJ/xR|=?u 2S&VBΥ-H;vug7k#HC6%yo>z\t~16=vC=a`T7<|sX"Zb.G[bzSAezkϞ\f?m>ovT5ňUO~izeӠRDa1W={WNhyGd0%D4NwEi4C̖50#s}7XBBe6ֵ#Q+\)U3 i$lgtm~"&݁zEDt!r|}HcZw~tk{x,-E {ņN"_(I !*>oa.b.2t~v=^FHfŻc 8Q'Dv_ۮЌ!š&\bY= tֲN>tqkt'[009@PWb@$B"ok6u㏡ES,;zƣ {8]Ww_"wWy:Mǯ0~=_OlbnH'h}/h{|=ȱIrNs-O9D S|kF~Ke2m}CմUSVLݣiwhMYẁ$=nU3\hN# [ts}>nbLˉY<\94#"bd@^E29Hu8wئ qErfu_%pNqonہxt?*Tp{unC\WW@_rQU{|=effT3RwÒ}ww ޗoߙsJሺAm8=nh^I7xKB>PxBhnD& ?c5]B`#,%F $u5$G[듔5I'(GFnS/7]ho.*uV@>\WJ۬孴]cZʿH;\瞆Dc׌{|=/q@d$a3}& rpaKg#fh́o5ff^e{nq@]#\16.tI(ZփY 6X" B3ژdIw NCK͛vJ\ <E7-úLJ;U},0Ҹ"iNARk!J?xa&OYdE:HP|?.UB{kG{|=Y\j(!s.x&BB},NrW c{ȠUSm`S+h8%9Fso&{rU&dz_ه%Oߙ`2y&WPOM\JnkTɻ"RKu0kYF){[#i _ Uߵg;pZVvI{|=#&:9lB=H ı#s~ƭ<7"bTl{FSf[HfdqIȎr(>==}VS$n%URb%PVQUĠ_%V) O]xdcyHi<ϕREmbw;P>I1Z{|DvP`'wTu-~.d ߸%O48<tUxOf}:Ql:;Hj6?GFOlJFn ME G8(\y_̑;w9)˰wm2<$0嘿{|E(2%"d|q~4#}iPheGCJ̲mfyh1AW.ȼ↢<"jV/gF_hv:iԦʰ'c=s;yHQ B)xʟ[Ĭ%zX?p{Ʊ$ L唻hƕxeW/u`C#5mds|S#[X{|=wCc ~h'.0np-!v أ¸LiXNߞ:M8Ep"CU4gy:m0|GrP 22C?#1EVpmbo+ۜ]C!B/()PaΉnF4u$:Ϳ\TaE~r @x~j={'1;و~.BɇZ+,RffTHjR_:x "g]rhROLF3c@G^,`ؚlk ^t=Ea;d*sjagΘ sG*TlaΥr&&P~@CVIRe%6KHbW1## H fQu9)?<Fb`fu8MzML{9'_6mz}蓫uH3Q\V&O5 >HKt~SV羒}ʯ XZ OBd}F f4JC6w5Q%03enJH_mR(&AqXzR[t2FD"W|#5/!zJtVN kwC?9k:ez#.G.=ٲblW2&yTWS]Y &DA)Nizֺ݄Z'i񸥎u2OmnV>2~{| K5-җ :kڟj  쯜)cǛޞqA8BڱSr':b&0~FDuЄx^r[(ӌBLlœC}fa5@l6AW82c pDWA^׸݉^ / z귵3`?1:"'7JweH9X<~I'Ehֲ--:C#4֯#:ίHvqruxztrE|Zvr˽lE?zǯݾX> %m %P@h92 xc/p}.wTbS<2 q)fZճzݩGvچ Be%Pqsm&GC7Xu眝43v -[T{ͯq; IDAT}6" }HёybY؎31#$Ẁs2V)&rU"e2 ~hRꮵI + 5fm>vBb_{PhThωv^]A)z豯! eE4OF{$Gl:| 4 }t2r#xChnB0h0'g7> >i0lD 'a_~߆L.CRA5pf8RziXW b2p>颪]DzCL Ml8"Á>VJUMDCwq=7>yM p.,#uu.QK-Mw|zT}l %;~lh=4sߞHwP+OOJX4B]]A.<?]h5dFW(~B}xۙ6_W6pzY ͫ6Duz4KT(4B/n )){Dcܽ?9&dBkUó*Rv-L{ 18$ vCI1bFM/]tvXzW*Mj*>v]|K)L}`t {MR&6&ϔt{N٩a`ww|3[ zT*$;ԐHJcB+rgFyst u6gQ-bϘ< Z\j~'r5p\~2}lpIB/p`Dw N2?¹UV`{A6dgq2?ZnQ]%bf1[ڬ}42TٵC4 >vGum5JKT2W8q44F6 ty{"\zT?J^5ՓoIRGצAF n\UZ-Tw)T^m6kѪ~)? Yu)+vFBF%܀߈~VcW-t/l#>CdY/4x+u>P"]5 ckֹ%c:G:C>?U⢕6[j4Ec84jܘֳG.g$f.ڮw6q7 n9wo}> j/=n}A!{ T  |4xgq`G:Ɩr6*{S:82Ǔ[7ᶱ%P\l1!7MmپH3#=O\5E]cDU*Fh76tgf|bDnbyJN:XeUhgo5$ p/=a2%ltՂ}KF85\)""aOiMnlp` 1.ʞt rz5'QuAn;qQ12M/x N.޴]PMM%qΩ>6@됼{U??,q/V뮾hv}Ku*3eFLMs9Pz6DU(XE7i).ch9ƥMr&[XU+I:z7?U)<ncL7j _惠]ַ<T_d3[;8wpW3x|)CD:!n$Zݘ"J.ץUxhԴKֻXQֈŦ!"}Us|v}Fzkc{]MvH ^@trV:q^e | z͐GNb8(tg-[ePnr|n$5^6:F]L4fQ|0HN "Һ$Hr.UJ4p@MIq zqH-BAcN . Mm=օ s>`ֺ*ip86sAdtr٧(E8nMhͭv4^?:[se[ٚK[}'b׾Z¸a܍$dQqrtmqGg7ي}Q H]vT9xI }V&Ռ _戹HjRoH+b[?ˆmFa`ݾRK9x C ܏>ɡi~ĝ?uΩJ7w5Hw=d5{˭T{"{ B.Sre_ |>um▲0-9в cN TRy@}'=zU~{)J4b lVD^P|5RpSzϡڶys Gc q1p}kj;Ԍ!mthYmS 7y/\͢jT0Jm,~JH 毠*<ʡCcoUQ6J)FͱΞ8<.}i\9aeO_Qn:|vH3ˑKk5RI%DՄP^SJ@\$ΞVhn}{ ׃9Nj8*ެsBQeԨ ?#ŶTB!2yv5碋9y4{xUqe^. ㊊LWcB͡z$"u' Cz[Zx5oO*h[[3ɅYh^U"`oOTOlG֪s-VlLIrzٔ=\y>L jo 5ctJ"kXd(6ưUfC=3x# Mc&*&;Qj7'#\dH{ tߥ(>ݿ p.$H\_gc{5J0œ']*o5Ci7P meՔ?n=C5$:DL郍q 5EgIaZ|PS NЌ4Ik?S`>}\0?)Eάw.;4JeJFFP΁Ch T[1v!ԎV<^o5tNHPY.Ul}b]n5a (G\c&L3-<> T7@Yiiݓn=U+IzL$/cf9s5YVI\u{q]???ug'q y^SL^4DQG1\4kH۹O:VEG5l!eZ1އq.%ؼ0|)bVw/l ]71jf&/wNq}0`:]*@aXO(C {8>V|fUVΗѿ )3RF[}+ ?l[h[q ͌"iTt0VQ2CI3.ԅB2d -NԋD܈Ř#洟¦Wj.jMf+C':uu2wQ?EGa1#gLڻ~A9UufȀ\?!?jb1*(qmL5uA~D@1W46 G?w9wʝ\BK/9T?! ,Vx`K o|*C>Or.!W UP+~&i64hY'8lL~opy#Ƅܞ Y0A4~$à4]_pNK? 8a~CΟffza6Z ddo.iށ73iHxR.ɇ "-E#LJN1 6P.}r֥ĸM{H6ǫW;{]'?K 7OCsFq7zAU][Kc;֕yDN8:\s& l0Е*Κbc㊺6W2+4?"bd(ZG%.`9 nK)E;0V8i6)X]4Wuy)&E!9?~ #umُ;æ#0+m :'HxJ<h-ۓU_脚BM c:Rœt4a)$?s}9A'Mq**kbmCUVئ ngw2[翨 61Ě3-AB&I=Q:577@N-5#A1`NLZrz0.XFZ`hW;YP UbR\>&+5wM?a'K])s{JƨAd_!7~9 ]Kq|~'< 1vA $ͼvS5fրܬΜ'a-rFz}<@Hz.8`wYʞp΍Bd~T ^رy%mElnhfbN#̺},C Se?l9tF24%IewXgeWvB%gH\n-V?݌߯} S}.tt|GM8~oxoݙ챧D]LxxLE8šrYt7\*!=A+AvLLw\W(I1j OWsShz?h8-ؼ-f%#CC#N=:fc;h=҈<.K;$fd)[NQkO-<rawق?qvyc\_L!Da{ZV@wkq0*B!@`jv9UզHj c\_&pCphӽ֏H=iw*`IffX]a#q-4wRuy7^ Gg,F\#a\鷟Qy>ܮ{v EWRIDAT.jiN@E4'qiy(Su{iԉ4sFo:1}fsx}V>mkR=FW8,A[V*4RTǤymPCszxL5nU1]&0[w8+ ǸDKG8Z$)"q86BL}$d@vem/Szaa[g>/QfWLzZ̊!ݲYϱ>IтpQ|zJoݹ3}e[~?s,֜:(9ٸm\'݅Oį*R/ cȜk ZpTRF+ECnɸZޯE< k7?0\O@%f7+b.wI";Կ1OxMmpM*zwvb;"Rɧ*nv$H+r/vnW }Q>exgVCŨm#0ЈJCBӺZo`GEiH`oޣm_ML%Kf 2XI뷈DVpP⟡?\ץ?#hgGS T`y)4r%g}`vg-۞if&M~bA>Dz*E/UY9Xŵ:\>*r9L|LFa \/2{leFG!Ƈg=9"g2l9 pBJ xeE˜ bR_i!,Ì(@e'|ecԥa!@D, :)Ցf/G^S @lݱ2v[MAלq亥71JQs)M*̈́js2[[6Wױכl:~yC}I3]o[npn 2n]H=HFtEu><"a3+R9~"<]ں4;OH}"I'7IR0~7D> rNR<#zR[6#UQ?~ϸgC \Q& 8V;[C8g;9'4Gy|1j \ Uُ\3*fcXR>5h_@ӝ+dPg&vjU 5(Qo~z@2"(wiyYmJ&N0bOȝ]_Q]]N"~'H[kIH}vPI62@π/_ O ea[u#2 plYDbJYv]J_ Z=f DwJnA8ЧCy |[V]׿z:]woV^/y*qxZ5a=0ַ٦sĭ#; ?E&xAsba,?c6SLaZ-7a.1>T/NK}T>o2SSwf&aczt)*ޢtNz~t~,Hni+ζ6C-\U<'[5KOɚ̟Fo+[̥³U5]F%Zaޚ&Y/R%ٿH唫wNwt%cr`&m2p؉_Z񖖺kTj&DZU3gSތpNb1d6i([HzLO PS*{ rEP]/(vφ٫f VVH%SaET&] ,z4f \R4^3]Н7.mM4W JN62pV.ܩ*@v]i`\/%|aFO/!#'L2EW(…Kv/u|mΨ)gnBJnYWRVMu۴`sY`x1r|cpY{f,%%zKu> G̰|ZB=I[2E=" !8F-?EކUoy@9;5 υB'ITmM6e`򦧶EK}?^Y|.\+12ץuuk#c\?zƆvqxtZ5|̤wks}܈9zf[PfYQ\-}fD"oaiи"%xzс."2k~zPuee;PLJo z*W'V]v"tqR,| ^z0Ua RmQqSj.8aΒlJ\=1QZbi,FL%U=5?DA[n)]ftY-O+Isӻ-dqGn(ߨbemU qG<>d?I>HSF@l?xj+GgI_X0EzBW9N9EsT1^ VOxGV@Uq7 ~7Taň{+]7;rtvOd>YxC=0q<&K]<LJ=R*Ĩ߲?C~&~!$oq^Lѣ2Q/i\묍 dO˻x!LB`d *j@q[CM! W,1-&8Oɠ3A537~@zkFr22EI2JR;̂Ջ̗dG.os9y] l뾕 JިcںϡB/3!BLvܳ^]I;tE7Y5LZ 9ȿu%hZRpM.D9\c -lu﹔0Vi@}5 jT.iWѢ+.Z;T)EqR( ;q?fwל/C WcdR. JU;]"|JV1󮟣S<'IyM@2 ! D?!yٓ<+dn7TIg)T2v2=pLЗX+6ػzz1N)to9-O6]}A)@Ώ' "{=> 3C|qġI)'%BTHQeςNa3Tyv;wG`@BkJ[n4mp,>)]%\v3M,fEzS vHC~_ۇקGq3z(:M$>1cŁK+' Fٲ,u=;,HT_R2xtTr0U[]$QvOq9n*CĜ=ָO.]: ߞGHɭjtg8I kQj1I(9U1?^l:%|אHc(+ "߭sR68,Sc .®F#$I* O.KmV SWNj<${2gv hl^& *7VʳqV ޳6Xm zk!> Gؽ<™xk|"z X*GmVn/ojw͍h!ϤwpCpĬ-DAe.R\x%r0RDoBvãDT(q[9 KG#&tTG$U!MZ|ñmmݼ]ʂ 0vdBfaA-6=ingeoJY2mִS_&⻯Tc/Iur'3.^"+uE*iymB2M'^Cp8Dk}+7b6e=L +9\$=tm)@p ҟ!^ oԀBx^N1XoMB ȁHgtr懷dxqRٔw-ހ$&i_*#@P̗1_&C礩(e DP#0E13C5a`P-%#jNC'J0`baM ,LǀӧT<·5'tAsW/#O +%D1B`B\^}ΆX7%'RYjCWߦ69PKGtwC 1a% h1\Sm/'lƲi32i"/#g"+rCG{-ah,nrX )nìUJ$3.qadSvE(wڍI^OpP5߽t*ü`hMٵd}l)~e85zxNz,9 'tmg+ T.wښ SnPue4^)G(hAefpgr4[|v).bDD/3%*1 cMLN(=aD }YJgqp ehX\E\̂\C"#%ފ_z*e'?b/-7RM;&TT'\ лk^0#c6OLp͆ʹ'` 6!٠j{t}&|zHj,sάf5=#y9dC[ bm+Jd6գϓu7IyfK&oD25;6L8KeD7epO OEd *v]oδ6֬$M1T:OLr"hx0r虎+n)Y{[6gёqW$q;%HKvO[(#+&nU&J眝>Z$1u.=%[a8^g=jX<ҧry>+B? aC-# Շַm|1zyR[y"Q۝r>EPk6\=M.7m^-v"683j ߘÇ荦=૸YEX&)NX5-"тRjі Kg r˅?JU*tkJiƛKkYG^69N&3;V|=C^Y6cG#0뺆XOy<̹2/tELeлxNwci͞pPݗs-5 M~gM1CA GS#L啑]ZtvϮs+Lfw,9P7pklZV\V g-5ȋ(S3k+*#^Uc4syUsE'ET,L[^uKEP~nB;oU!Q4[3]cO+zӵO ethL)4"?*8&Rh%I5l7 Ysanak EA3_2ܝB1yyB6D\ΥĉrO|b;@jhc~]UC*SsonA1+65xQd2;h̜y%iY+@LA#Puduibh]n)G#Bh7uGMs/JXp;׃ȪQ:3܈ha[@z$Hོ+ whf[pWٝ:X#vtdnjkqȡ tJgҭ c|zUr7MDj3>׽Q=L`9d‚Ԛ{ 5 LE""EL{cw 5=8)OshEUedWo Z0L͸S|=}皂eɇѴu+;\{D0O*ry&8૮#B%囗hϣelUh' 'W#8qN`VIENDB`Mopidy-2.1.0/docs/clients/upnp.rst0000644000076500000240000001320213032547651017300 0ustar jodalstaff00000000000000.. _upnp-clients: ************ UPnP clients ************ `UPnP `_ is a set of specifications for media sharing, playing, remote control, etc, across a home network. The specs are supported by a lot of consumer devices (like smartphones, TVs, Xbox, and PlayStation) that are often labeled as being `DLNA `_ compatible or certified. The DLNA guidelines and UPnP specifications defines several device roles, of which Mopidy may play two: DLNA Digital Media Server (DMS) / UPnP AV MediaServer: A MediaServer provides a library of media and is capable of streaming that media to a MediaRenderer. If Mopidy was a MediaServer, you could browse and play Mopidy's music on a TV, smartphone, or tablet supporting UPnP. Mopidy does not currently support this, but we may in the future. :issue:`52` is the relevant wishlist issue. DLNA Digital Media Renderer (DMR) / UPnP AV MediaRenderer: A MediaRenderer is asked by some remote controller to play some given media, typically served by a MediaServer. If Mopidy was a MediaRenderer, you could use e.g. your smartphone or tablet to make Mopidy play media. Mopidy *does already* have experimental support for being a MediaRenderer, as you can read more about below. Mopidy as an UPnP MediaRenderer =============================== There are two ways Mopidy can be made available as an UPnP MediaRenderer: Using Mopidy-MPRIS and Rygel, or using Mopidy-MPD and upmpdcli. upmpdcli -------- `upmpdcli `_ is recommended, since it is easier to setup, and offers `OpenHome `_ compatibility. upmpdcli exposes a UPnP MediaRenderer to the network, while using the MPD protocol to control Mopidy. 1. Install upmpdcli. On Debian/Ubuntu:: apt-get install upmpdcli Alternatively, follow the instructions from the upmpdcli website. 2. The default settings of upmpdcli will work with the default settings of :ref:`ext-mpd`. Edit :file:`/etc/upmpdcli.conf` if you want to use different ports, hosts, or other settings. 3. Start upmpdcli using the command:: upmpdcli Or, run it in the background as a service:: sudo service upmpdcli start 4. A UPnP renderer should be available now. Rygel ----- With the help of `the Rygel project `_ Mopidy can be made available as an UPnP MediaRenderer. Rygel will interface with the MPRIS interface provided by the `Mopidy-MPRIS extension `_, and make Mopidy available as a MediaRenderer on the local network. Since this depends on the MPRIS frontend, which again depends on D-Bus being available, this will only work on Linux, and not OS X. MPRIS/D-Bus is only available to other applications on the same host, so Rygel must be running on the same machine as Mopidy. 1. Start Mopidy and make sure the MPRIS frontend is working. It is activated by default when the Mopidy-MPRIS extension is installed, but you may miss dependencies or be using OS X, in which case it will not work. Check the console output when Mopidy is started for any errors related to the MPRIS frontend. If you're unsure it is working, there are instructions for how to test it in the `Mopidy-MPRIS readme `_. 2. Install Rygel. On Debian/Ubuntu:: sudo apt-get install rygel 3. Enable Rygel's MPRIS plugin. On Debian/Ubuntu, edit ``/etc/rygel.conf``, find the ``[MPRIS]`` section, and change ``enabled=false`` to ``enabled=true``. 4. Start Rygel by running:: rygel Example output:: $ rygel Rygel-Message: New plugin 'MediaExport' available Rygel-Message: New plugin 'org.mpris.MediaPlayer2.mopidy' available In the above example, you can see that Rygel found Mopidy, and it is now making Mopidy available through Rygel. The UPnP-Inspector client ========================= `UPnP-Inspector `_ is a graphical analyzer and debugging tool for UPnP services. It will detect any UPnP devices on your network, and show these in a tree structure. This is not a tool for your everyday music listening while relaxing on the couch, but it may be of use for testing that your setup works correctly. 1. Install UPnP-Inspector. On Debian/Ubuntu:: sudo apt-get install upnp-inspector 2. Run it:: upnp-inspector 3. Assuming that Mopidy is running with a working MPRIS frontend, and that Rygel is running on the same machine, Mopidy should now appear in UPnP-Inspector's device list. 4. If you expand the tree item saying ``Mopidy (MediaRenderer:2)`` or similiar, and then the sub element named ``AVTransport:2`` or similar, you'll find a list of commands you can invoke. E.g. if you double-click the ``Pause`` command, you'll get a new window where you can press an ``Invoke`` button, and then Mopidy should be paused. Note that if you have a firewall on the host running Mopidy and Rygel, and you want this to be exposed to the rest of your local network, you need to open up your firewall for UPnP traffic. UPnP use UDP port 1900 as well as some dynamically assigned ports. I've only verified that this procedure works across the network by temporarily disabling the firewall on the the two hosts involved, so I'll leave any firewall configuration as an exercise to the reader. Other clients ============= For a long list of UPnP clients for all possible platforms, see Wikipedia's `List of UPnP AV media servers and clients `_. Mopidy-2.1.0/docs/codestyle.rst0000644000076500000240000000334313032547651016655 0ustar jodalstaff00000000000000.. _codestyle: ********** Code style ********** - Always import ``unicode_literals`` and use unicode literals for everything except where you're explicitly working with bytes, which are marked with the ``b`` prefix. Do this:: from __future__ import unicode_literals foo = 'I am a unicode string, which is a sane default' bar = b'I am a bytestring' Not this:: foo = u'I am a unicode string' bar = 'I am a bytestring, but was it intentional?' - Follow :pep:`8` unless otherwise noted. `flake8 `_ should be used to check your code against the guidelines. - Use four spaces for indentation, *never* tabs. - Use CamelCase with initial caps for class names:: ClassNameWithCamelCase - Use underscore to split variable, function and method names for readability. Don't use CamelCase. :: lower_case_with_underscores - Use the fact that empty strings, lists and tuples are :class:`False` and don't compare boolean values using ``==`` and ``!=``. - Follow whitespace rules as described in :pep:`8`. Good examples:: spam(ham[1], {eggs: 2}) spam(1) dict['key'] = list[index] - Limit lines to 80 characters and avoid trailing whitespace. However note that wrapped lines should be *one* indentation level in from level above, except for ``if``, ``for``, ``with``, and ``while`` lines which should have two levels of indentation:: if (foo and bar ... baz and foobar): a = 1 from foobar import (foo, bar, ... baz) - For consistency, prefer ``'`` over ``"`` for strings, unless the string contains ``'``. - Take a look at :pep:`20` for a nice peek into a general mindset useful for Python coding. Mopidy-2.1.0/docs/command.rst0000644000076500000240000000644413032547651016305 0ustar jodalstaff00000000000000.. _mopidy-cmd: ************** mopidy command ************** Synopsis ======== mopidy [-h] [--version] [-q] [-v] [--save-debug-log] [--config CONFIG_FILES] [-o CONFIG_OVERRIDES] [COMMAND] ... Description =========== Mopidy is a music server which can play music both from multiple sources, like your local hard drive, radio streams, and from Spotify and SoundCloud. Searches combines results from all music sources, and you can mix tracks from all sources in your play queue. Your playlists from Spotify or SoundCloud are also available for use. The ``mopidy`` command is used to start the server. Options ======= .. program:: mopidy .. cmdoption:: --help, -h Show help message and exit. .. cmdoption:: --version Show Mopidy's version number and exit. .. cmdoption:: --quiet, -q Show less output: warning level and higher. .. cmdoption:: --verbose, -v Show more output. Repeat up to four times for even more. .. cmdoption:: --save-debug-log Save debug log to the file specified in the :confval:`logging/debug_file` config value, typically ``./mopidy.log``. .. cmdoption:: --config Specify config files and directories to use. To use multiple config files or directories, separate them with a colon. The later files override the earlier ones if there's a conflict. When specifying a directory, all files ending in .conf in the directory are used. .. cmdoption:: --option

AID`Nxꭌ7 xa?ly?[T+ey6\XrPTŊQ5"[o׿զyvde)B[lak MfrVpw8/o wa/bh۶WDWri۴Ʀ8ԪU$ZUY3-1orKk '`bQu^f{k$9:'Olޛoib۷~kD "uve7Xa-;E8FJ" +#~s7)_IXImo'^̇ߩ4WNn?}U(6Oer䳏!ݟE@D@D@D@D@D [Q^ٻwo[#O^{eu;udx^zi:teG[o6 ⬸/OR8Įn-5!tx{m;"aZ9D;, }e qm뭷z.]0GT~5h>"xdӈ4)]w]b! _}U`8ȦLe0c#GY7PID`7?Dѱn/|ÇwۚqY^̊_hL}4iMŷuMѬf͚hqFjw,[nu]auحQF`߿ v;v>M.x䥐K2~G_z\ib#ú|l$/۴'5]wТE QIV%@<+@IƏ}sxr?جiy!e%,˲M\V^|mo`Z' w(<鋥9淒Hku>S+% C'|ҞSN9~cc_" " " " " "PIa!rD /L$^|TD<^g̘a/}W\qM =zվ}`~"UY2ʌ-_b?- P #mPa|sёNC6ה#vw+C}a|M+g|}\IV5Y(M?Wy$=s5DzJ{lcOz|D[>uq=lG\>G"gsٴ},}Qe];:wlK'K2M5W^ =zrFлom͈0f{w-@;ˑ{E?nK)PhD%_{QsLxڦlE{I}xj|(+%;ŋ/9t d^D2~zga/?*ߑoi{Yꑾ^Iy /c2K9(ۣ:oC^mSyv|W(9lyP@@J'ǟqvhUHf ʽ=ϯseosoXG俉'Nn's/# 'tm4D9B bqQM3H;>&ֱ K#06{“O=o1{zO<ѢY #[D.)8?XH_guEK6JGH?81^%(Yc2q"xib*k"1E._lBG;un}y˕!rKy|]Iuƹȟ703l?͑<6!+-`(eB35L%[>lCD2 1 q]IlQ:ud9}.?fZ y>^ڐq2 uJ{9>}EI \}նAMcJ%\/;o(kx܀ۀ>Qڰ}̧O>٦rDn!ݭ[7kHN_| -SR4-]@YX..v_L>u ՊxQ>~v^6EIzRQvMʼ"*HbVdg*s^S]Fyb='|" xgmVúl Z"!svf76dMn֬Y&) ?c+oݦL}Y?4{Q#~G)B;[z^A'P-)#{Idl*_Xs[:@yXa]qK/w"9׎ꉀ>-pCPrZtϽ;! k!!p 6s^X9v2UtȐ!Ԉ>Å^ڶmk7Yczj0`E5߲M3e#>}N=D@ĩw}צ2 3}fhڵmgj#SC|1/{$"I_'8F lD͝3cJGY/i={F?u]g}#XG/hGi$B%4g–cUԗ#2+/S>us*GZD`5#B מ D"FsϬ(؅X086:t`; b qW^&@qND14"HvYL %.F vxszpŕWPأW߾}MsAY/rۡ;S^O<(;pd16|馛l8=->ahIc*.Q;ؾ{~5^D(f ;{{bJ'?l0MuعuH~w~dzoNOSLP/l:nh淾D@D@D@D@D@D rp#"r9<(+Lem7x:.Ž❋yL'ez%’'H.q>{lb4"6mjb zgBb6|'r`-7Oȧ?d2v}eW,fFBxqz~q_X᫋x3A7~#QǺs|gmS>1P3 }t_>ʩm![o MD.!"*Ug'](7QD@ʃ J&' ! 84ѯ&|e_JsBƍ)#\ AH@PM7B b)"OnEcz-v߆)SXтlb:`1r'bC H5ױ!#OD޽m8o]w6@<?"ģ707zDsΆBMD@D@D@D@D@D"\/" "PI. 1 #Q_kնn2ILo%N0DHc 0Q~{ĮW_}uxGm8x'u7AӧZ>X׎M4XǏG=ĶF e8qZ} }\e*:@P]`W" ME쑉XgԪ$q)r^r%*bb$(.R: A}U"ʑ:аaìX7}t[ߍi۹쒗"^|wW֎sauߘʎ_R}cM9kެن'|b~a.BE5 "AkQ&GD{첾͒\X?ԬY3;zĞ]D_fͲ+TD@D@D@D@D@ʕrůE@ʋ@e8Tיk[>G@jl!CXDB/gY[6Hl ,-Z\=f/⼥GrqH;~"_o;R5H/bx=6]:u,^|A qηvvEc=";RQûkey=c}^bSa當fmfQFv%ù'Vt%-eMoM-+GDB15suYvۙT{&vak^ovGqv'I$ N!.g}fSl)7|34jO uU$|a66l`]6t`=1gF/軨Dangmb!{챇E"kw}f楗^F~ܝwiM`@"yKݎ;hwqGhժUѣ lHٷopۭN;,̙='}9E#n!04hPܹsvt]]@yLvSXlia ]IvqmҤr?"I&nTb\KǏ7A2"ʈ6l@DYF 2E%8ETSP۷oo mS<'Nhvƍ]vGEhٳMYemڴ]i&mFNj#Q{qY| zеkl=對`Ikhx"X믿6q9HDFODNӴiSZb\L1&}:̚x4q?D;/Øᇶ,q]KD@D@D@D@D@ʑrE@ @L)Mpo\؉k͕%/W\yq}?7"sFبF# ml=?z?V7Y/קOSM׏h9ck,'j6J" " " " " "P$ؕP" Y&e%)D'zk"ґZ+]z2}ycIt^fܗXSNG7<->k'{o<\'~IbLI׷}@9ȿ"y98.E@D"pQQ#"88cp[%K\}G4Kmagw=]"Q'`/긿K\swLтSXsuHSd*!*" @,"4{^\ ~E+A]5}ڴi#,i묳NDtVJMmW]vdM̤~I/<;}/FI-ͮE@D@D@D@D@ʖD@@l(U. Ȣ\F.ѣyShy2Vi׹܉0H8/WS.|!L=YԳ+?qsQ@$Pb%D@VW;\`(iB ]}?/nժU|vlWSv- %Q'2s㏶,]e}8/f˽MO\Fۏܟ݄ /ZnmOv&7L,=vڅ>is.cZvxm]gM]+W*\S{]Uy~oJ& 6ɶ%bow54ηDڡωs]UwM7ghy;?z{D@D@D@D@D@ʟְ+{ D@"\\6kw}׈#>`g}?@Ç:+ ܑX-^O M΅<88dx0ek?jԨpg-d+ŵ8?b+.e޿.C=FiE,Kb[n%;~ᦛn _}K‘͸_sy|M+ӭpیG3h\muzWm\D<|MȜ8qb*/SO=6ʼ_z{:thm4y.T"NR S~.ݮ" " " " " eK`˶_&"  V]gr&H7~a 4cƌ0|p[ᄉ<>мyZ… ďDp,P.~'kÆ"Dב (S.O'/m F26.:tzQ_uy睹F'rN[>}LP+?gB(&|w̴Ousf1># $_=2yʊ_E~xy0sL={'=y=zt`mzٳSJsV%[R yF͵'y\|\/Oc@(x(_Ի,!$hlI :sEфiu _OڦN cF ; ;*={ kF ޲6mڄ]El:{o;g ‹/hI5oƏo>t%l6&1%w DI!t1.VoРA&|W&76l3]/W_}iC9]͚5 ݻw7" y6ء:\CU\pm۶ٍ\H3f͚\JiĈ裏6fg6?F{7äI#4jȄ5ۑKG6ۇ?L _|>HDF>LU~O?5?yv/LF裏swqЩS'kZ˦2U)و_|c'[۴`cFg n0062n]v M61u00`OC~}\3-,Y ])Eؕ)nu&"P^wPH'<ѣFxsADDLj#O1i?E1av3k]w mzvmm?loynx[n6~ޖ#U߾}9{gLr~کpy3"Y%" " " " "PaWա@y 5P<@lX;qaC9ĢN8عsgo_?0b~m]<@D8AD%>U DDgm#"QYDk!"&h>D.9ФI:#mZ.QW9G5/l>qa׶hO?(ğF vmYS{Q]F~F#D1Vl FNL#S)0:tH2V￟]㎳:7 Hߌ\ȃ--@zؽ!(I'YwuWx~=u# qSO)c,;?sq"!mve˖&q3f׿B{ >3&aۯ)SLԃ/31񨣎: {칇=Ɇ[*߸@`Wջ@@ ! !1%nL7DD,CTAB0" [o5aA)ewqGV$AXCBBu:':INE2,c &H􋸈h[_݄G"?xz&☑ qgu3RzwgתCq+DJ!{"2[#aXF"{na2Zjv_J24{y;p {nBsObG! Q q HD1v$20MD[07ٞy晁5 4>1ŋ[?~C=9sm/ qK>66 ȸZۄXY矷LQ_@=^0Dr|׬a<!HL^^r%1 ѓg%;*m|Wr" bQk_bB뼱fB  bbO ڴə3f:nLd}56R ji&x׬gYDD fC~=Ecǎ5 D`I5CA;fOY16` ~Q5D x؄|"ͧ"4/S#2 A]D_O.Ĺ_ džxoDц'ӈc:+e=FCLo&ޯs1*}AzzmZ2B*w l"\th#MT`|#q+6`l$1$:>usK_-?8}SO=}cTO<1\wuvt(+EDpA2<4T4"HDIc*lp&:4(7D?D#2E "C["P!!'t߽{M|a5Lua|!ԘKjIdoiDñ9b# UGw- ecw'x2j*tA6nݺX^MF7L)3\R?0^OuwLclAvee/% o"!FmDLcfc:6^<-"ўs9+-i[$y0M5.FBXM<Pvx LE# υ Ȼ8G8&~|m3Kmz-d#?V({胂>e߷zBbPpA.FCG!SGx" D" BСCM$ACC(BADcCǛ0DTSBPcz'b "#C`B\bgP"mė#JB*I^R6n_`V=>COoFc'q|J,Sˑ5j%O>|0V/Xq8-<8ڐ(6b9G1QPD⣟~)v<88o[D@D@D@D@D@D^ T݈$( A?FSUt:O|\Ty,X ̘1#oBbد8ݖ_mœv…a֬Yqݎ" " " " " "PaWڄe_Dd+%kW.P/ nԩSju\^ seZA z&ٳ/4h:vXH+ "C=~p'5X#W_}믿[/4n8l9t[gɓ':5k(m2aIa޼yצnjUZ5+"!p~aĉo m]s5{7l&C+}+@iP]iҕm(;O&LgqF5jg-H{K7NW\v>^{-x vSGyd{n.mrٌnImaÆN8!i&&=#UVa=W\qEڵ}~mG b}o zic_?zDܳ>leѣGBnBO?ϟoK/4ibu-[ /uY'4k,vaaرt_?З2 v XE@*DODD_'ҫJ*ǂs O>}3eأ_ģ.(+̑_=r)֐?6ҾLJ8Jq>{pZ"u{лwo> /[b af/P"0tp!dDŽo$ׯ2dեç~*|6эrO~&}G&wI'Mҥ|,.WID@D@D@D@D@ʊ"~D@*vW%rܘ:}tB!pDl۬l N׬ƺi3gδi.b GL% lv0mz:c"}y.͝3VR<.5f̘pM7YDSJ3<֭<о}P~n[n, 80,^T0?O#8"̝;7Իe|~_{ btvڅ;c8,vkĈv~v)l6HK a} *@YveM\%`R&ݸ?SL(1b=]v--%}OYd.+UV͆4xoÇ14ޢqvmþkk4#!41az{>;ۺqk-СC|`gSD}w6!颬!s>. "ڶmkGJ 1 ɺvLz-:GOid?|3gN8ӳ~6  n~[ D [WN&vvD6$˜$1+З"Eؕ"\(9*yqӤI\>hE6lcK:"k'n('sCH{îv ~xnV[ QXA Av #!]|ᨣ2_;8И前:p9~F;Ƌ/L u*D1c:Շ_l.A .$rܸqƉCT֣>j"zdXݻwl^tύ6O#:o Pճ.{òNj;"4qHu] (=v9ԪU˄/D-6Ou܈s_Yo|fϙmWFb\&k!nB)D=OO>ȸPL'[Xt'A _O0/Ge7[^{mƛ qM4K"y" " " " " "PZaWZdeWDB-Ftݩ:蠬pC$k}ݶQif~(<hڴEk9G=o=0:!S<3A~G#RSj)rD+g'xb8M&v1u];G o6U.FٚtӧM>=?}ta ң/?=JQoD-\LSY[z3v7q>_iӦ4cH$k!2)Siӧ9_#p֏,V҉EؕXX6.,[ߊ HldXFB@BAa]6k6]l@뮁mt/"cʹ_](#L… ͮaSKIL7]ۂuԦD+'2o uAv.عH?:ގ#Lfy6]5p 77S٧z >Rͯ} +ylltak;2}G} W^ye8C-ʐ|L-&uY>9h@ %" " " " " D@])Ye#KY6K[/uMpCrH7X#\XilY;Sl:# D9>m9/aQ&Νp aֵiL=Md^S{Ӈ ZG( JlTx.R θ v{}eV,T8"Qo֦tvZǎC׮]m͛؄0:k+ٲD7<b_PE ȱvcWLgTn]cd֭;MsM0csvDDDC8_!U;^} 2w^$ I#-#E0P$5JlTX.xDƑü{뭷l(G]WYǭ5-J]Gc!D;̝w9l&J!+|F:u«jSte碢wsq~|M lhG7`gLཚ>+T4*I%RQRd̳<2"2ː1)Ch" JCDe];VwJ<{kS;67 B)G2'^+&Fυ8IH9W lPlWZظӞ*" " " " " "$%MX'|Ӷu.0qb+ܹsGq q/b9(9>>}޽{bŋY 8D ڛo= ն.-!*! !ޣ<o❋zI&D?ԘDT[j8Rj׳{`΀LS]s*:ttR4b-,*_8h>N.bvހM6_kܸq}OG?G^y,~;.됐4/=: xɱN#" " " " " y@ ˃ dBD@rKXX~.0qhvΈ=NEѣG6mZ>|ƞs~@AV!CB^?HDq!j;:u *" " " " " "P  reKD`#h<] ={EbP\CD"d"6cƌl8p)Ab,C֭[sOه]* #2裏UV5޳9AHiD!>dɒ,_SBl|*Rz۵kb>'N4-Yk=N2Dy! 1q֬Yu2Τ˛I=C|$O祑HBH#quֵ=7>QpimѢqRzHfA۰|$ .ʴ@Onͼ?SB_*r#`%ER|o5Їp^<:"s.l)- [sYH.N=`xF?6ROY}״$07<_C򿗇7 41 +UNwM}TXֆƈ ؒ/Q0DzAɩ/}=ڲk&hϮ>{⋡[n\TPkn͹3Sl&}{3cСFK}L~ND@D@D@D@D@K%"^@WΊ뼞O^wP/Qgl[OM62=S6ҶSzXIjgF;À{^rKԚLL?/16+C?d_'x"t/}^Fn@$^l5,]/C=%nˮuşu) ̝7kJ.mXoNON3͓އ}om2[93%lܯlz[o*" " " " "P H+HC!;/.^آ?9T8%4 r0'2K,yAfA4W>l1qmq<{9_4O!~i} ؀HAs{]V~.ydx|l{mɱll{Ґ*ج`~0 7y >ÆoRJ}Ovmp|ce.L}NmGW!YE@ >䓁M)SO .Nu8.ZEW #3& \Q8Ga݆_c[^Gy9ns RLm)RN8kNܹsM7[?;טv>,9ĩ?7dȐ{gK/zm'z?N0`@|`M=M<" Sus&ߩW(\ fH7-ْ'D5|t'kK3eʔdtd '.r0 9 z0DQ?~X5) {g%~Oۏ۲[w M4ф#"}>l/ԪU./%goHX<{ 6:md6xR{/QP R "uzSyU8{4xݹ==nD@D@D@D@D@ @VNME@D A_%Ѱn.v4n8s=}U|*Tx`OBӦMM ZK}--q_&NL xKB 6=|嗖H_*#S׼yۇe˖_uDJ*YV[me`QF&N1dɒ^z/Yւ , ͚5307ߘu `@ 6 ;61(v G_~z8o/VX(EYc2k,Pر=عۆ]w5x:3Qtp2|`W^D41R5m F|6mv!a(Mɝv%Ŋ[axwq[T^{e}ZnmoejԨZhʔ)ônu3i~Λ9.yk첋 ֤&ckd|;>m2(p+pPD0 @ P*WlB TD#83Ģ1|8C2N9T뇍SN9;~x_`" mD'xBBPB{-UsѢ,1椓Nh*l:y#- ~e+~&0^}7`D;m#gϞ&8!&8>u醿{6A.OGE|ClɠAwm7-:z̍ /w'G E@ XDB͙3DŽę}"}na*U~wZ w Df!1tPXDc":CYB !8xrUWD\!: Ǟw'pYD]~J*iE_nLAo,z ="#* 301 !pa]t [;1WozzY"8:CZlIh(.y_@DCD:(<_%"ogD)"x; Ft!<7Zjw0yjJt}9{w0f='|rԩ]݇[o5yֈ^D<GmKCL%b )!oƌ(M; jQ!xOD wz-N;"V z2gOkÎԢy /~pزܖ&;h} , v["B@@A8AADCBt"Z]ZxABG84gU{o?Fab#G {챇W%(VXsa8B ")X$)6Dq%*𨣎2iCzl)dD{!":1a 1GSf * Ȅ/qE!=xԷo_҈CУĂfmZI A=?0aNR{KlT!&v'x0zCx+g[" wnQ4S7R`#=Cw'􂰹[nDT%тr!^+Q{bL=ۚX.@F, 110` #_/;[?`3<.8G(l׮1q}ͺ<+H&׭@ v^&" pqc<` 1D)-̿QFJgi `!^u`kc_1"LJFSr]֖׊[U ?/ل,7 )xtn19(:D| J+Ң8օ3r;2|Diq)lD=C)h:$OMH>Cwc80(7ևÆ 3f}wĽ{.-bHYFË /E)S->9ц|U.tц_ym'9@A)|4;̍,7HJ,7 QI{Ɔ +XDanGD@D@D@D@D@ H+PܚLD Ҋ;)  Bf6 a챆Avmg QbD.;s"¾fD0qƕ(vGA\rNq^mDwQq2ڮk&N% g,ǘc5R8:2l#J%&ϱ ?֎ϙDQJ.xED$) !! +g+S \}ŠF$ N@IZ+"u !Ա!;!&\=iFq{܈Mc;!_H%΋{wKo}~7K#&1[d]Rr9ȃLR;wl_mA;J@(c nN$" @\p,NЀ`bV֡}e,W<8=SUI%zCHE@ <8TO~f];FJ뗩}H>81 o`hءCt=)vpJc;цA~lKB{QHodH'EG($D,|C(!!j:S~rD"z=#kB{WqEaG;vS"EUqBY۶mMLc"]ip@FDT)QrCj-NJ̅I_7߰kG[#}xlb ۶kk)؅;X}X}X>!Z3ƾ5}2BJwD&B! PkRL WS4ե.yx,BV[iHnyуkԴZoz= OIdžRzs%}G!e*q;HOEړ6leZ'Lm?;.9%ےVѽ@`W05@. `%-&6WGqɮc鳺qOI>g7GX0ndmڰO.gKqOF$Y>ƯI?>yMnz( f2 zĢz>C`zJNzWl?>&Kݚ6fX}r>frvxfF枒oVm^_ɺϸt;X"Rۼ/WJ\s}3ݯ샍OSXGɒ%m Չ@n H-) $?'9s)SO?4oaM7 իW5 jJGV'|>ЬYV["&a9`ƌaÆammMǽa̘1Gi}o/J**W*T OSF@Ws uʖ-Zwg9sfb-B5KϢE¯j)S&=: gy*շx~cOX5?\-NDHXY+7We"b꥗^ ͛7M{Co~iܙz+t)|VED?c=Bqn}z~a}5 A+39~6XرcCϞ=N;veРAp)~y/PƏ2lذТyڳƓŠFAhmܸq?~=+w}a3AZjx[=b[omԩS+Eح+AX ?NFJɱv!ޭuc}[-l_3?O~PJE|F_܈#gmuA7aIIM ŠX'N>hۣw@;}ʛ0a!\f`=|dAD4D8|!® Alj/̧+2t%w#t =lWS Q c\]:C½k_r=ؾwFf޽Ma; b-BI% DgviEF_D4/".2W_}uXp!]D+"7@pw뭷${}vh'vj:2wp:(gb?nOqW k=fthҤ Թǁ(^{19%"^=w}vD+ a@8묳B׮]{rT7? *9܂wED$TX1&V?" " " " " "aDeODptI;ZZ&]b5~^|>,jgDtva^lD+wwaKI#0!x,K߿vmpyYZ. 2'ٍ7h?w`QdSAx" ?_u =ڷoo)jE4}ϛHG='vm&JܪUhxM\;#|C"2EOg3Dqr,?Q`hsXÊ?{Om__ wv>ї7trDNR`J"'S7kXC[C`."@\AB$r(BG^r"jmj3 $NEX#(*T0A+dd~ɕTW"8N#-DE {QgBGIS1k)}@{ꩧ^{e{Ux5X()DM %cnvСC7} {RX9R ?. "Qmx7k,O u/-ц w9QᓨHR)؀5ţ31#" " " " " kI@vk ND@oYn p٭1E,>l^rF$쳆6g;\[n9O%r:i̟?r-7QAEY bc_;ʌ3LBHao#A5WZtiCw~.fQ?D "f/Z"Ņ>>S*Rxf b۸&mͺqi_9/6a7rָI؅5>ߦnx=@^`DeOD MG/  Œ qvr{arȯb#E#g`#]W"8\}by=-I=%xlmE?H~k㇏@|lV>>_s=X`oRr cQ.h1z؁7ϣ»1q?sUR5bV\*D@D@D@D@D@D` hu" yK ǔ#k. (q2RFiC+m)SVS_CÏ<N8Xco:PZs9Nnŋeb vVRHpZjYIlKlˁ8A!5﨣28 NĹ X*0u[C.7u _|CVΖeJӦM¡ž,]]t/" " " " " yA@]^P <#P쟕73)C/E_ΝnC`lt .\LHPبFfv^2d=heDh}ʡfח1.կ_}NoK3O>i >b ɴ'/>zK\v´i ʖ)kQ @IDAT3g #Fj,Yb)ÈD=Lp_pҖ)ޙ ۱#" " " " " H@)PE@@u(  ~%Fj,DUV-̛7τ<Bnҋ1K7nH<0\z饶oJ`g5RJ&G4pk&˜.!H1G,[j+Kmݺu 磌q2,'^|T_[Kw?yǝa}C'q]Z .dqO!(n8V\IҊ9Nliĉ; zjb! Ef;yd;3.Qt6_<{ٯ·Aq?aO}%ct/" " " " " kJD~ "isae˖#ȱc>k;w\rI޽E//ZjVl!жN;&M>no}G="8ЇoC":#"$7njԨa~7lRu/WDRJz< 506D)5 >K:*B""#iG"a]wt?WxB֫WϚH3m"!!\bmm0D4d^ 6"fhwDzaYvKjr\ɹmڴ9 أGcԽzJ q" " " LX*#럎 xbM'" I"Vx>j|f. .DIDk/X)ٵaAQS>|MY{=7}GwGqnK8dcWvD>}=ims_`M`sÊ?·d{{m?9GרQBǎME|.]E@D@|+" " EVl?ى<̿|nlv9Z6dZcN~n\nl?ޢަNjnI1̜K1_k)-.4IzW!}-`5^D  `.N:J%S1ޟs;'i3nsI{[y-~u(B#kT\_sGL>Xo9;;k':d> qXG:tbjGш|.^ǽ 01.0y_3:SqŞ <<{vLu9y{I絵8lY$R]}5$&3Q@$^l0" ܓ <*0 Fh5H{ǁ7zW|mԞ]s,\9q!B/.yl]'mͻcnlf~vڤ7 x3c!F7{C$4h ĝaÆ{.4l09sp=w1-[6-"cXI@C@믿vaPdt_!XOx{5f+ Xq_>>}6~LO>Νvit="ޣ<;ѣG7|31"lvamIb{=/s |`%"+bO?43׸뱟۽9 <_~ /}w 3f0;|)1O>/}(}t޿۞un#fDD@D@D@D@D@ Rb &( .FpϡCQ\9Cs=g}vygbcJ խW7ݾnZ#Y?D'"H}4Q@ʗ/o{*T_|E7oEP5j(l&磏><8#M7߄E/ UfC!vчW_Zj:uOA0Dկ_?SZ~iOyk$^!&p l]à]vVvawѲeK[{,XTbTW (X1Z5p\mQ.߱~X-ٳgk_oj,ooY}`PF8X R£I&"&B M4޽- {ӬY]њy_$jw[riL,&3Dyt'luRSuQ0˂u)"-ɶZ6 ȑ#MAT;v $Z2dv }z83Ϙl2 `" hF m7 mvoc~_r%W_5AR'֭kDH-% D:$椞v[j LB93- ;W_qyxo{&V]ve& 3&\|&}p9ؾqzDTnoܸqam5a۱cG^{С|_|R^N>dOPIŧo"o&cޛuf[o!139@P]p׬" Hh7DRBQSD !.U80H¾uD/QOfEGQMD)!qiqf„ a}1(SN9"]s5}6k׮믿ȩ*{K.&1tQpX[TbQU{="!C,Z4\CAdBر uDd)S$#nFvh$ =miDyqgMָqckv):اCzG= b$i+?9ON± - "zc={mۆʄV@)'Xf͚:(\xᅶƜ̏/'pb9cfZYg^ChAoI'd~ "QpADD"O̸;Zy?мyp饗O<M6ľ#GmAlӦM@w?aϷHdz!ߠ" " " " "P$ gD"F=UDDaև[H$QuF "cϦZT qGT^RE;8UH9DhI-=[H>>։A%Z :("y=HmE+ qeƊtf8@HB82 DCHz*"*읯 |o][WZE/)Ga[nHTacźYva['m4]"`bUD@D@D@D@D@ cE@bQ'є7)`b0 RHde[D!1Da-)NEpE6 D&Q@M/"!d7Yj2A #2mJ@_~^z(̃^}GlyH?[OV֫ y") k8 fyŠBQXGɍKZ#`}nQa>"&"nz?5a(SMٞ~eu/DXǺ | ^6mj"c%YGX0/*D`&APhg^{UWD=DcL&! @0k@1!+b)>hD~8DDB n"Ĉ뮻,ʎU QLDqHp<"= ѐO"(G46Oۣ5 G{!,1TR᝷߱M+B!1~a/ND0#*>QiD`zvwnDA-SK2&d" Q|~ pyqqqD񔘹"\9GDއz ]tUXD"njLGsÑ8]AEp<;]Æ|?izD_RzHqSz;~ݻ7ն )[~/DHJdQGe`7{wq#_f @PKD" E i)H(R2Ds! )42l0DKh'Mon|ej1)RREƈ#Z TV)`'L''h+/nM"Hѝ2uuw7[Ts!F'QUogqwi?ڰGTlH$ʋMڢ !& qxh#/C'%d06lvGZ;cm{,tExCl>u[3?gʼm_=3f]Xsw!}Ϳu:V׾ȂzJ@Į/NnO~/^ a7"(M&@!bBJFbDJ!Og٦~h}#З;Dꉒ" a+]BCT"ݻw71 ?,.8a1~{D6Y#`D]!!!D TN|EPBCD7OZ;ځ 5j԰q͜g.gGԙG}͚5?DLbbVp骈o!^{i+&frDf;TaDLl9\:8"س01ֳfhJZN=w y/e-]\*DQ8ɼ.D3kCiӧ;"U6l= 2eXkğ"2ʠ ܐ|^ZW׾.ڎ]Ok_y5ND@D`'P,Q D Ĩ(.1O&u9=kuy_OΑ|9$q=u{_]E@D@D@D@D@ D@r"Jl}XNCצ-;"S=bJL>uvzL㺸_m|On+nۓ߯9ˮ뱑R* !zq?z?{fj:7m>ez}zKc" " " " " G@]"   pG" " " " " " "P( gBY&(Sߐ( KUOu. vwG߭? vyRfD@D@D@D@D@D@D@D@D /H !" " " " " " " " yD@] l@`G eFD <)3" " " " " " + v뛓"_%P쿺0KD@D@D@D@D@D@rG@]8 vY@H'((îHk"J@]}1rK6Xn}Z@ vD@D@D@D@D@D@D@D@D`W^\ vD@D@D@D@D@D@D@D@D`W^\ vD@D@D@D@D@D@D@D@D`W^\ vD@D@D@D@D@D@D@D@Dب"WD@DP?[XU +l8ľx}\5雓gxL^׽% vyISD@։@,\Iu/H_ rб17\)]59Wr|r,>6Oӳ vE^B J̷s-"TX1aĈravvUD@D@D@D@D@ (hOD GqFv{гgpM7;D /0| Az=\[q1vR碤knKƍ+2˯Vyp>sh9q\Yqڨ0aB83B5{P?\wu?l1 u [{g4hP@0_?g?{pe5jۇ5ksz&N'^ kD=:l߷gEy믿:D@vEmʓt\BǎMhzWMH*QDXxq9rd8CM(#XuAg}D :[}.: e7W]uU(_|66(2P~nï#0!bsM6 nm4iR@_oltx7C.]BݍqDŽK/"oz^~p]wv8ýx_=x%c N9nCW(h ș@>ع Cرc͏k")ZjR=jCС5#4QHÌ "OvBD>z|_Gs!R<} ܾ3ל1VPy7~t?ӄ.zqwx~x"!0 HEQZlt߿8ꨣBFVa~ɇXK/}G2vǍvyg['5#<"#gyĖʛ" F=̾;RJyIEa;"yOCÔ)SqTK {i}e˖;7 ̊ciӦYoGBDF&M,4N\k§~jN6+s'x|k֬ Yw.?17[j,:s1?ԩSmvazI'|ah@4 Xa=ܓY+aǩ̟7/TRD6iǏoͻ첋]CkР u_M6D9N|g}n喀XOhAYO" " " " " "Pͣ*5%Kߚ@Ql9=Phժwv 7OD!"wih@׷okN8!s1?E Ni?x8m8'xD1O=TK/_~ѴipZ*esN H5B+Q:2Pyi tM0.v O;<(<#@)w"bh׮:Gxtd#bquIedA<-=TD@D@D@D@D@DP]QyCD {FI*6lc'r)bqH!{oxGC,6G1!oD8<{챰; Ocƌh:+o}OeEzG}dzDaT{uj׮m#t!4^p=߰<"*zDgW!mqaH kDQH+M`TE i|￿5#? (D$PF!HRR}"Og϶.`Qt"%}!sCsМJxRwW@:th`? /|7^W(LY+[D@"QU\z_zOhPA gԨQA7[dؖHD4Q pm^qc'"a \RrObNN%Sm_{~YHt[N`䟯v G!H0acND=R6lh~Jyg-}{W_}5p{J)MEQ^Rc({QA>}K:-vDF" rr,jp𱩓}9`~~`kD`)?" " " " " "PaW/@Ӌ/D6NtEBAB! 1޳ Sts҅"R`x b?5Q83m,{eRkNC(.q0RuيVU(<u+l7ߘ舨X5~УG0{?njd'0iчv<I%4hPԩSC5رc-38vwN;͸va&nj|7ZJ~J:,;Dss>,` P ;‚sA y;Q$P_~ -" 1"K0q\=Qa kaܸqate"8\^7nl[qVof3gXqgZ8щ:H']u8U:t`{H;|za]w5a F_D?6m"ٰپ}Pf "ٗ9sVԊ9&5\c–]#FZ{!\rXnvN%pK#1m:s9&f$Iu_Rn?G$"~"`2xCDQ6LTD@D@D@D@D@D0 KED[+[D`C'B"K~ERC"]܏?~PzZ`4<*Uqϸddrȃ +6"Vq_RtXUোsD!J"X"oH:* ɺ^CĶ!E胑ї{q؀c6k`}^~ ?yWhÁh&m^D@D@D@D@D@ D@r$`RNFI&_H:o[+o^~hp뭷Z n^&Nhn\z饖Z_,`mꪫlo?=D0ܦ_s-dm~]յ&"ώ+bq0{(hRЫ|" ={s!6"ŏ6O|Luޖ'>)m'B5fc>{l8N-UI m u1++v/fijv/x|}J=vݎsArtZ/?lyo.2% .He^Nu[pTej_:'Mf k2gv}rs:RߨUc֝K&" " " " "PlT| " "`y1AW^4HN)g;vCܞ 9I[ؤ-S}<xfn{_| mKr\Dn1q%W_~^{-|Wi# Dy_bb*y/.Y`ڻ^{فX\{}㽍qS89dV1cF8BŊ_malM0 {O)Sŋ;b3g ۹sgJKr6sFD@D@D@D@D@ +T\D &8`hvx\DY^ӿa&,QXD~&\+} 0y޼yvhq.Ls0ﶹO,>ss\'Vq%ˢE3<*T`M&:x8r&!N>c\"Z[c?n喰4u+q]|]sm'۰K}\Νh'R~:tI?Ow>}zxGmq"(]y}mB}'_evy[!݈EzM,"@~E!FxiժU>| iDKt!*U _~e_u6mZ8cm6R;\Bn,* GtQTDKm J)SXdu I_V-s~G5k駟B2eŋ-mas.rpB2CdN3*e }kC8ֈ,?#a@$<~Dz1'bq)#ڵHWSB"|kԨA7 \)SqKxGdD.8VV-l_~ [xWs /W\z/X"b^p/yqAwH~k[liW B2Qx|+:807[lƏw`ȺEw k(GGD@D@D@D@D H+pPD [)M-" \@q O>1iӦ? {キ !p7>#dG=B'7p 6[2L<%#?E=C&r-[6 h腨դIp駛@xB2Mԩ^z袋o/?N͇hPӣG{Nzзo_~ʰ;x嗛CkDA "«_~a o[WMٶm[;nիy=>wƏ[6P*q hK. p[-=SN ݻwo'$`E^ G~]pN%5&307 >qO>&nM7dn""{E&1a k6#`;# 1!}3_aԩ.k{81(yw\8CCJ%KغwwwQe*aCߋ{vРA&-!.8ߏE@D@D@D@D@ cD@VG %W]<5D 40Q a(ڢI-6lXZ)e0ѡ{5d„ &\wuu]Fi1=1﨣 ʊ@-Dnݺ0ץKNKafB ;ud{ 5tPNhԨQYU[Ϟ=ÑGi["TrE8 M$k-د;V۶ZxqaȐ!&1|D4B`MC?N ]=>Bdރ=hS5}=>lU65 >CÆ M`뮻L0E|IwC&M&nbSܨw!ܱw&VOk_J(ʔY%dB y!+L\Sg[m{3u근^ó]}CBDDS9wvEn"$`P^ ĝ~6EtB~55/`mq?&}<DF?D@ޅMxͶmqGcM~ީժ'590MrE-[&"i1cƘLTf=E@D@D@D@D@ʎ@^>WͧD@D -Edf&)D6!iթS'|ЦMC-r:.۷o3{ rD?!Ԯ];䮗kyD\1_eZD[]03i&$RI $>w.c@X" fƎ6Dgsm&VpxgZΰGhD"~ŗ_Ctl ^u3!1LD'ʄ f&A܄ bǧwD5ξL<ĨeJ;/~w'p1}0zNjM.L6{a믿 vD~O>.rc#}W^yZ[6XwweyO+DnG0"QDU"0A"Ca,鴤*y'ܼ ~6w#cD@ʙbG!p8?! E!F5LAxL?IeFQ{u|N}xz!us(r~qچmhg?I" bƍRBLõ8" !H1/\`B$-~XyVTDq'liYi\L;*#8.PE46_`ęk+YMD!v9҄,;̢'=f<{Gz+'0?D!RWʺ j 8s|@x+)́@P(MaA`#bڈ*?A9xyWF$z~"*+ v_%Px"Z n\ƹc~YwD*!D%H9`FO?mQO+| "QGxb#l钥e FL[ujLK@IDAT1[أ7"z.iǝLx7ƍg!i0| m5֨aspgWSMP>@vb,(j?=S=뢍e"M6ĢNĉD&(E!̽7=RÆ(E8!"F4!>| ^ 6cC#}\6D?RgIK%GDg-# 0JSHE=]r?2q !ss1 Sh.~"ıDbVV-DD" &#n6BATUWD+Yy)" " J@)_α#TA7(DAJ* "BQM=\:t`!z 7\o`D!xBT"}c!a58 s"Z P] -HE'*lTW\qEmvwPC\7b @D|A(cւUJPD%"GS9q'c,p0 CꈰçneAƾy Ǜ {6X13yƖsǟXnGW\N_~XK!bg9d{w\b^&PFt%''yzy(K/c.|gw#~!0#F;k&: #eD,-l6GV'Mco*ϫ; } 0(qV#m8 Ͼn!DΈT!鞈pDC20`ҵKCnN:XDA"G8 a19c\b@TRP*D%GX6Mփ=D)l!q @B8CAkY/wиI:&;Qo2,D-;W߼&J5#EȚ]')D;"^RzSAL\,E3i¤ROz3dtӹsg; y\Rq_6|DCu'n"8/AuG ˬ!:" =Ž=}|>yqK'H>D v-&u2vرD#zK=|v|'z=zJIB^OͩD@D #.D(D-^DX@X7b >y^!(y#~"! 0(*I%vm<1юG[·ڼ0'{GXI4Qt!ZaΝID#Rˋ=DMgol"1ߙ }vi' Ɯ_q6.? :E!7\EߙƑ=vv~0dnG|=c~ ɺ{5O5ԮSn9v&ߩW(;ʎf() }E7[;_{z)BW~}|>{~ cs>١E|Hm4n>p)J SԒml>b?ۘέ" " " " " # x4ZD e ,!X>S]\ڽo\߳g[P_'<}l6L+؂mwowϯ.L} ӖͮE@D@D@D@D@ʆYD@ AqJB Sb?w.Ì 9()U@"0-MJĺRG D@D@D@D@D$]SjheXD@D@D@D@D@D`WqJ*O@>k" " " " " "  EDld: lf," " " " " " "`<՞"VW@D@D@D@D@D@D@4al(GXh3$حՋ8JEO(_ʗfH[~@`W5@D@F0UD@D@D@D@D@D`% nz-\V>%vy$" " " " " "P$ؕ=s("FF" " " " " "  vfk"X{(E@D@D@D@D@D@D H+uĚ@D@D@D@D@D@D@D@D@ O@]Y@)Х XE@D@D@D@D@D@* vbtZ@$G" " " " " " " " "P$ؕ)nM&" " " " " " " " `?@`W5@~tD~t*~۪rF!XUR*@D@D@D@D@VMUWeiU" @Y . f `K]A6 ڃt{/NʕTG[~-q+siyƮ&(;]RP}.%2(}̯=6_{~m] D҂ כ;UʕGTr&$F"y?qH&VKY΅񛒉_z[oO~mq?NLsz;djTwX[j#"P! ʬY _¯TZj̙~ФIPf1ԭ[7f#2 ^^ELX,^8fuֱx[F6hТE?#̛7τ5\|qؖ,Yb-ZXcPNTa2=s֫Woq|ԪU+ԨQ#5ĉ~txrCD@D@D@D@D@V@&" %0~wy'e Q/"\p?4!O>1`rH6lX`, Oz ޤO&x\l31}K"àA%\fϞm]_~6ϸ-w`n!TVͺ">SN wlݻwꪫ§~jԩSu]g}=ЧOp]w.(|s[<.['hG{c w^xW_ec} SLIS"" " " " "  4TDXp9" 6T~&}aa=\n.v|nwr(hKuHmMXs_~ޟ'"gN?tN$r; ~x@L<`¦n.ЫW :zꩶlI8-O _~y駟f%o_ [o K~".7 [G@D߇=7tCG#_gʠ@1 (%5\Dbp̟.5ug^z)|Ǯjvwp@c=A>0mC3g8wM7vYߝw9q|aw=zmGD@D@D@D@D@@@]`Cz'R_wnB}8hի I0ϩtX*9R99 Auv);|L6>0Mf")צM7oCʕBl^O!.a:*yxDJ{Yi¤_7vO+ײeK~ش쾎3f:CM|aٚpG݃>l@"йsgus})qkAt9Qu~)gyƄD3q3 I&}:a㏷b"n7۷7MED@D@D@D@D@JRbKlT8.ҸFYgeb/l ]F$› ;yDuR8Bp H3칀E=gaPvۅ#8"=:Ҋxșo]xQ;ww20qE-bQvwFRic0`K%J?GuE;.Ȣ6mjnPҁkլeu ߈}9t!fz!BtDkܸwI]Yf#< 6 ow>|C">U v+MCD@*>lz-(pFezqΟ޾8H!%{믿~֪U@(yŽrb]~,ͣrrr,ʍ8WވcЦ"" " " " " % 5^DBpkTO>Ǐ.мysKAE"΅O{69B,)F)g!ع=}6:D&' ASN }.hРEG1'~ɗ/TZ-̛7/֛a}H/V7|C>CDo2#jꫯ^N,q:t`'|fmy;O$t{衇µ^k~ RHi.}ءCr6]2\I%2 <]B@"5`E_D 8c, G#r;&~ӾkC#B$GmB_jms K*^zRCj1cBBV-7{6p@$9I][n˥yX\|~ٚV0I$[4eKD6 cE?'ŰnɹmD"Kt[?.ӧz~gQ,#ZTOt[s;7qTtKX{ȰFk7 5jְ8m'sGT|чI-.nMr.LE?7_+s)8bKAe9i'T !177Ҏ=ùss3-bڝ&ʐoHooXQVƉ *3:OgDAAb#8"\tEa)ә ":;84bܸq6΅"n6о}{|6nR(zW&MûkYx_D_`} -3veguȑ r6rvجݔJJz.kXmZnßY[6q)(v7^W=i$;wv >lJ5ї\_K;?/?I O"žm"Kq3)k("Xd؄Bqeܐ}I_C|C;cXn:thh:y&ath<8:,KE8D"3նrK;? ?:vp뭷ͦ*W _nfۤ8Y&(N;>{Z/i{ ll2ay7\&1~ / NQxM5j\NXpܡN8 ,:8 Yg 2Cl!"r3+7‰(^x!/6PG,BtMq|_xI\Ga^" n%j p@E Jʌfس:i+7^E@D@D@D@D@D` vzD@VYիU8?lmk^[+hD|;nlÑGi{\x/X .3x-IU%u 65ibuB.yoOD!6}ȍ07"&]Q﬇_ fź#m=MZ#~Nj9X+L(k΢0?pmCD@D@D@D@D@D$, %[{z*~s6bwGDcHcI)(6^x;xܫj[|'"LG}yץz٘B$Anӥ-֨?" " " " " "PHtMD v,g.#h>gvlx}lǹXG=cG!yn$z_}[h%}}|r}38'/''džzxy:'ﺸ鿽Khg헰:Eԩc)Ӓr)>O`3~phi|qC[\iL<>͞E@D@D@D@D@ʇRbˇf@aeI^LEl%i=WZ`T|YwE^O]f1c"U6 vMXE@ O TN+QI>2Y)1cRDb]~^ݪ$F:ڷҲ~)" " " " "(E@V"ȒK¨ѣBl5$Əo㎖ 3f؅;wK(cxủr#9s,QIol^}=26iT+Og}H+mQ=yZvx[&ܦu\~>7 0}.D3n׶pХKЦMTz,&~]l~qrРacGqH/m$-- o}j>W_nݺ0 &܈M믿swwwy| 6|]o]D@D@D@D@D| YE@ʘT6%s w} ^xa7)|F7R6 ԍ7(_uxꩧR=7O܎?]RJsWovl>~}_z![+m.vΛ7/vm'01s֬YTv'z=O(0߿};};~"zF14ò?qkٳfG xvޗ~7pCSmfN)Smľ[lek#" " " " "PaW5@Yp!v+_~%jUˢ(w.ݻEQA_6mjQxn(2.T@p C#GݻmD<:&"!h;/5?FYK~kZ1ڸq!DjqV}|jᳯ[Dz1GƍCzLء:0v5jPmke}Xzqj&" REtd[o#&؃"g:vj2yJiG}tp ?U !D"-Z(T_z4iR8#W@ګW/5!!"1 &wuW 5:Jc=f6`/OXL&lb,>3˙sD!"!! n۶C݃>h|x9r^BGO2/vg?8 KEM}78sB-b,?}(}JfXDՌ$ʈh.έ#R H%%](:hFj')D!! wD(D&>I5ܼ& zC1anm 'xEO!Q('B2#qN=І].@!!vR@4I"qX[-`:#JRI+Cfr;`ۄkSH Q5-ҋ~U׿L4Ǔ>͚څ!8/>˜-Z *Ξx|`lΝckڵkʧ>8 J*,!/:F ۷3D4}hK|睺 L̴/ziB!~#Sd7oaØh8"wdCP$rwQ3iC>cǎ _|Ot諒'߾:]D@D@D@D@D(%Xk&BBt-rX@ BpAL2;y;v4h.H?bb~9FZ!  b c(Եm/~31馛529D! : vi 1? ['!B%&z ;{D%-.Y'mΛCg.]XdP`H6Yߒ/&uu=4a q 0jR(zp￿"D}$6' rw vD-eI'9K {OD5)0;Zc> \2¾QlI=He_7B`M Zkճy|؂v)8.77 Od^ۯlf&^YIZo:lzi ~/ v_(M PrsrMl4֪yұSG;5RS9 1j6aWK=!`ETi9+|~skxC}pD9 buDQH$ҌnݺnDaE;**.6$YR4KR|?0-o&rG (}c%#C{@,Dc8 &t0c1(Kߌe]/'uTQ3K_6I* ME "*)86c>"߭jzuי?D3"qP^{OpolHm<8ʒ9@$ lc-^{B2c}$z2vuwpذaK.wt්@;\ll" "P@"u]w 9)_.\E'n$>'[dq>A= h笹>L`hD.ED."8h+tLj֪iME(ш3vi~qlG""mGBLp*qFr}N6|s*9ˍ[Fǚ N]ł0?^=6/vmEt).zs9&H̾t߳{8Uf-$cOEt7r{sx"Hi#j̈r[i>'`w|gݤ4sgzG8"zz1o &$pSR/gٻe`?{mB#{P'̋ɻ>>)" " " " "Pv*%Qy:e7fxJJ, 6"T(@> x!.Hr5 g [.0b QN}:Bq߈.09G\CD0ʜDY>߼? x|-|F Ba6$CdzFÚY[we=DP1cX}8D3р-7 ÚE#"+Os (T4  ywx=뙏Գ.S^>1ȞUx=;#~‡w>Eܥd}SD@D@D@D@DlH+ΚED M\<+Đ.JvSb(nT_gks{/%?x$L>.POq}2=J)j[zn;ߔL1ٞ鶼_zkz> vX3b]6qf :ǂg }z"H&ϸ-K?Fw}i~q=}{zo_Lm^pڼ>xoly?c[^3>=meK[zlt{-" " " " "P$ؕ-o&"DLǕMQ ,ͬ ՐTU,{.dNN.dz/S[!,K>Y-L_mi͚Kl5_EYOSJm]E@D@D@D@D@dl=T/" ""U()JVV?S+Ko8h%{VXaDݗϺX~|)*zV_ ʤ@d>UD@D@D@D@D@D@D@D@DH+9$" " " " " " " " & e@D@D@D@D@D@D@D@D@Jc)K" " " " " " " " "Pl슍PD@D@DȻ(vP^cW[ .غzTTwCE[QI~*F@*Z@>h: (;Sj@ P7Tı`K$ح5@"tiqg P*" " " " " " YHF" D8+d9iE@D@D@D@D@D@D$ H+I%"PlbC M@]>9/Įz{RoR&P"J̋$ح$D@D@D@D@D@D@D@D@V/VjE`'KbW=" " " " " " J@]qXZ$حZՈ@'3*j" " " " " " $ 5\DH+9$" " " " " "Pq H{'E`#taWMՂD@D@D@D@D@D@L@]i vVE@D@D@D@D@D@D@D@D$@ZzeYD@F,/༼s_Yvi̭iɒ%f`e=ʹLCa'WY<ƦƧsSD@D@D@D@D  vz D@VDr !%wjTf\)Q+>e2}*W;02_o_/x=[If>S~? v@D &vזs?# @߫Vj֬Wnm.  . ׷8Wt__5j[ΜYxqQv+9Y O>$ԭ[7n:55Ο? XR/qݟI;)g޼y6'}ctԩֶFY}8ƪT,*~[X $hUb!cرn3q_~Iԗ$rX:>t-ˉ3(.m>7gy&92 0 4o1m|?s}'wq [o5. 6\wsc>^g7~>&?jԨ;'Z3ѣ?X]v%imlO?wGav2{uSO?l\"x4>6lQWP!^ӦMGDBBh[\Oz]z=m?oaҿchp饗:X{ރk64m4 |㏷5-lP֯j"~gzޟz+t1{AN:}m Ç7A7zо}pgkTM4 ]}ꩧl-"aС@?k0刾T(P%gE@JD*W=а;;ԨQDLžxDT\Zj\a^JL9K} F^?Tb?\sc뭷r} g3A-qm}Jfk뉮1bvG<ꨣжm[K1m@ 5kLђwqGXk,-ݟ5 7t?6xc[Av}wآE x3IDV[mا>8zᬳ nmXwu!ڈK7/X H[GމG`a htaGYg^|df2oZ?Bz(ӧ[_Gkժ}Icʜ9s[߸IPJ޿~o̙3CjffR tR-O>`3|nFYhQJtME w33ӨqЪe+; ׇm X"p[Z0>rߌ3lYzŸ6֝7n~'cc"+  |:g_;RD#ro.M"N9;Ka_~&;سgOy'ڶkk󫯾6lj}=E@D@D@D@D@*V" %I`q.F_/O/MP?a )a3vt_@IDAT"<@"DJRoF\42 nݺe+n& ri?>쳩 Ă> 28*H+%z1|<6|g6_(CK.Y4f^~e-uN0]ID? oFs[^$ B駟N;{¦?꫰>}X;Y[\9=I>|p5MRkK6ﯧ@#gXVm˄R_H>BC$KId!vJA2yJtǠc=.% Z瞳Z! 94`w4QGDG}$3hCƺ{QXGw&=4xfwߤ}>WW_~KCD\: u7xsxE;gZ0kL߄2" \̀IT#HKDя7nWRpܵ~x"b$(D{Gc}gϙM =cr!~9:&1a{B{ zH1cX$zDQ>IDFwuׅpmGDIlyT,*~["BAx!2.ULpP41*"HsD@A(Rn+nᮻ@TB\۷o7n\xw,̗ȇX?\R;DBKHBt gHt^b"vJD)WKze"Y /6TdNMURУ\U'b dik?h5 7PX'-g_zN'BŸކ(6C@ 'No&"bW=XQHa/K‡BZ1~@" BmU@9&iD[!z |pgF%7du0"Ɉ"ZB NwyK.IEq=řcP\*@*D$:D+>8|8 3O_A bgQTXvDE= Olqvet!޷>\ށX;1_y;3OK L"G}Ԣ9 o} nhvoqёD"V27*D5"y5'= d{" R~c*ˣ|}B#y#=q zF" q q N~enσ(3|-nh%2 abdL )ig}x [[*m\ƲkH"-e|'8/ {BEQ>Oۥ?"RCl}#vҤIaa`ryDܹ ;"7YkGD@D@D@D@D`WLK 3J}ˢ<* 1D9;K>}T9AvH{olB).EDr6IvӦu^t F>tƟ˯0I_ s`>W&#B1&B#Ӓs*nUI)FC$&vȅhEa/}r#q ? "&9k+G{4s<q{챇oPX#G= @K&_[(64? '눂9r5Fq~D=H9O?4\veuE#!M#mCֹsCyzԹ7s]jyg+>vlx_|ܮ' (۷'!!2zhV&MRg(޹vo.h wAx ss_e!|Yb{B$Z%vUD=vq!CXDB_֭å. 2N;ǎ+\a)D=SsIki޼9SVp6B%g!2'Aw{?/90aWaJ$ivjx"8}رʁ\Ǥ w\ĀpywBDq ) LlEdV Rz)\0|p".b .@{,C9ێyy,',Ӫ\J9Oq09`O?t#uiȣ4wn`>b)m|Vp ("^n7k<O\lkD,:<~ B')ёs`(E y =nmܨmа=?תxd2 ډC@$=xIXlv{޳4WO5v9TVݢy_(uΜ9\5[T(*vY""e+,ƍ{D>!<- 3ϸ03b}@I#l[copuיxu*{7cH^zY$рrvn DU/UQwD]pq09k,Ki۷oh۶3] QfvM.] Xzф.b2OJsf FtY:g0?Qr||dOc sؿmZ_Nd4hEGr ְ{XJATЏz|嗭 )\+g$&ћ"r'i7y'ZIX.Aԣ/0HXTW X 0 ޸TKDPMDs gqgyj cɿE~M8C>1Ιmfi,֌Xڈ< ZCjmN"og5XC4cI$/x?_ ᏷a bag~+D0|ט[fc}mn6QMv59'm ۤ/A"*>;̍M3R_I{ڧnk@! <UDYvcQ-#pBMA$}\lv>a3gs,2Y?o_'?Gy}#xT͆vy;6>Qj 3n;/d;~^6Ky?^w:Dq~7r_lсm3@"Jy+" &`Gr&Eg" vv68l3١lDc*wLiy|O'I}z9rdm!>c!󫯾JuOe]fO?>Sk_g[7|ޏ?8|ͩw6'%fGD@D@D@D@D\ T-5xnn̈́Pߚ'3fc} ͚6s . 3$vq!N:ZjD#<~ТE Xʼy‚ ̖ 1#a4k4K,1ck֬iQ{flnGQdHv-̟?$ڈ>" ٳgxڼ_r֗S|^ / {7uU+שS"Rs'H5XDR@tBb5.u'oš^d\;^OƸLm>}0!_(vDQ<ԩS]YFZ׬?֍yX;}?Å_oX̯YE@DL$֭[XEJ"WS 뮻E}.ۥKwƎze͈#M` !bc_?~%׷jԃ>h gDw=.&.KdB!N;8^|E;k QaÆB ?R)x a9YolY _fͲVZC945jt;,zjZ)"oD!1e̻c–[n:icmpsS^{5$zgD@nD'|r룏>2f;v4?>Qn+wuW {3DƽۄNDWsk~6mj3fDhx&~…] FFQxEDݱz-E>OǺywSN9b [joںO|>sυI&=z;+" " " " "P7*O/4%JƍM6m& j}1as8sad&vi&Z1EbΑGibI'dircmCD@E"!m66'QV/wyT'|r8C-+4(:E#yW)Կ7߄>}D?>L0D~#{1C gva{.\RaXhٻwo}kxR6nܸvop{Įz+L{a=M8\Ft=s,1 ^{ESOx =)=p)gQ%g>=`Ξd-={ ޛ`QzwL,SO=Ľnɢ˚Ufbo$';wqǙIc1@P]ٱL" + "HSD!hZ"ٔDBqh_B"Enm1wD-"BС81--Dp!ͅhHH8Cݵ^k繭7"p6,x&Ѐas9K6<* CaD!q AmƢpǚFeJ"&Qe;"Y?PI߄)񋨶=3䮗k靰-;M{-͚5 ݺuȰv-{&/"pZ&PGdiMS_g}E.{;b,堃 1mڴ16D!!UL{z_ww v뭷6DQX7hʇ}GbRax~l^]ED@D@D@D@D H+{QD  bD[ګH*'I3W"~;O6R:ʨ2 0e3ϘpFJDx-ZD9IrBa^D@DU"P@OOI' 2ZNmsnV1̉GqA4!""[zAD#bvB=\D5#|ge/g ~G6a>09IEpeo8{ MDJyH?Rf7jl]:cgZ"qa١f!ɼr#"0izqϭ@`W5@9@@>37 :$tb-'Ҍ4PCΙgoehCBT" m۶/9 (jתm+7b O/ث\U)Dl!LPK|FhC-hN8b8O1< DXl?!2: q 1 AhO:T1R;C :?8`94h`|=@a O*nX%񈕈GuTV8 !qf$RΌ#>]wf> k;x4mbQ`ψϻ^ }p H"{'4h6cxw=yG-O71'}e=biΝ-"AwwXҧd/vUD@D@D@D@D@ʞΰ+{QD D*M45gM!:BzA,B g7koQw19I g!I e;MB3[C؉׉ҲU^O32Ay#A ш~ŋn6ڵ^~!E"gʹ8p@cʼnXv/DeG!! 1?Tuw"*q: @;Ev:(D)%^3c0~Q胨a&[t] pH:-))8. A>֌؆l#"EF)S,*}s1f:M8#FM*9f[ߧ#}=~D0. / 5!~^雤9I&7\3"8n=_h3X'!!!q猰ZlB'r3߸<sX{yq)H9;5șx0,IeFt%Ak}$ b߼晈yy:/R@yOHeE ꪫL,Ð멵W#l8Jjj-9:XpM#d- ?T4D}饗l,!b g!"vo7!mW*SbR" " Lמ_ʯ=Ɩ32M/" TJ"כ;ĒX)ibAJOAD@]Hu$R z"?IEAc<) !Dt"}!DUqOiGnw6Wv'֚cbOzK2sh,CN3b7Knrpd!ǸOq>\ND"cԼ/փO#"?w__ՄJ}}>P&^X3{{=;Ͽ-1=d^ x/|xX?4wz3;y?ju/]ERreľOED@D@D@D@D H+{QD D|tQ"w~^3ۘOc n~=N_ j|6>?|?CI.SևzJ_>WxLQoBӒK~gZg<.t['?>X=E@D@D@D@D@ʆYD@ A#>eQϋ "\ȠO>s;n;{[l:ovOH.[|GZ=}mCHLŷ3rnМ(D@B3]<_2SYq ᚕP "R*DQ"Qh~WgvO9=a~w9}s~uv[[v>1.6#|ux*l싏]m6wjB{3Y6{2=mf3Sl''>Mϋh}X# {$D@/s׼Mje"A`A.9+śBaEPO'y_̑3cmzF{=3z?ó{ɱq~y3ϕnCHH@^D@D@D@D@D``~kV `eU@x|7-" " " " " " " " " kK@S(@ L`_D@D@D@D@D@D@D@D@ +" ׫FL@Ft(JI vZ䉀"ID@D@D@D@D@D@/ vje"aP݆@`o(eHD@D@D@D@D@D@D@D@֝ug( " H`J#N ?rklRؠ H۠_GD i[9Xw֝,@`o(eHD ? cȆ_/." P"K]˜E@D@D@D@D@D@D`$ n|irYD@D@D@D@D@D@D@D`W|߭V&" " " " " " " "`4," " " " " " " "P| H+V+ H_\bM@׫ʼnN@]CD0 ¤D@D@D@D@D@D@ E'$" N`ʕ_RD׿b .Ypw)/䥯_v|K%C" " " " " " vّQ@&ïĪZr[s҇uY;ˋhgۈ}vnk˜ڌwFdUD@D@D@D@D@# .;2(,Y.]j\,Δ*U*l&iAe>)SƖhѢPtPLٵZ V.h-_<̜93+W.ԨQt?.$uyܮ>+6r*ޟ>O|3g}_[o=r6;}"  X40aB6lC1}M7 j o}qx}G {ꩧ b[Ng}v^zیAnJtPJPllo0µ^zh2eJM+]t[nhݺ3o O?}ٰnv):dg劕a9(C5p@@DK>7mJ;wn8mSM vof3E@D@D@D@D@D`51jSAD@D/f2qW_5N;v4eԩ6!H3uYd_׼?}˭ '\~KMbgͳŋ[\n;o̘133f̰*T~pM7f͚Fwy'#'|2 ov5su k;|O%K:Dƒ:(5M_b'x )cC)b_n bظ (n~ZlT\`aш)s9:Ð.(|E߅RmqW3e{q6K^=_W8C*UâũהX/+W-ZU6G%g, qpƒ6Ӹ;v /'pwy癘o[T)/r8CÆ =ϟok~BŊ-2kj_\ӧOO?5Κru'7ҥK?aB$svU)" " " " " Y$S( x] Vcfsz6)I8& CC#4Cz)BRJllJeʖ 5aL 8E~m?l*Y*l6><Dž(JZl(e*%SM}W8.H on؅c!Zuk )C FG)'O6:D/ Bb-EK.Ȼzꙟguy1f͚kFů "ʕ-+SNvLeU裏 oܸqԩSx7,j>ɶD@D@D@D@D@DJw "PdbG;o(. P! ?ԩS'&1"RkРEP]veaҤItD&a׹s;MR?䢰f=LCnl#8" 0 |7#;殿}@Džčjħv/X\c+ϤRMN?z>SkwJ%k8p`g},26R)#Hخ];ʾD ><;g^M"8o߾gϞ&(Ę6m`G1S\[tY:ʌ>1]=z uD]uU]^ȑ#[oeQu2(@κ=9~vED$Ŕ(= }}MG! %[D|ls8? v"#Y =&"Xzc9aШQW_.bK]/i_" " " " " " vD@6J.eZm&&JxCtoXDmV6|7s5q AC!I&֗IN;4qW_}TtڵkVӆ Fb{~iq G}t{L#u4(6ۘhx뭷w/0GDٱ:X?'R^!A7"{=Pgv(Rm@R)z-L[CL>qyIE\qqf0d7r!v*,6^C6/y $e*p]l?-b  `s‰'0I$ ϣH餼BsYDa]v}~D-vꩧ /=) ص`bN&;|A\̣}g:AkkFR_aC5-_*Em3W睼>O怡gYmeMM_ DO~'8qLV?" " " " " "  vـQ@&JNDABCAlС^namZ@[:i4kE vsr'hƞh͛7;cO3g?EC犐H-o]Mʬ?_׻wo\LgBc q}ަ}5-v0iDKaWG@Dxt?3(Ayd]j=7땵[{Vڴ>_|qt -~ÇqA m֬ 1^D@D@D@D@D@ N߁Dv\X؉'pu{Q9=?mP&]r1z83{=KEr}! qǻHD^{e?OnvrL}3~гWO;N5i{m6ˋE55ngފ*ZY_bܞӽ_ysO%L>ݮݻw}iLxI;|BldZϷ nrSW).DB*<2Eїdx{r.{M~jB.b"b+'R\g@t@ gi #" " " " " 9P]p$"PRqZ2o"ժU+ΉHD**(2p_" 4(\{qwY3D*hG0B#mo߾6K.&wQvm7{4뮻.4h(D"NX?:9reWDՇPȁ)AVpI*)с.kp 믿?svmΝ;[j0k>9x0pp-N|X>K.%ɉۊR|ݪ檓ܳ6 8?ϵ~5*GD@D@D@D@D@! .0(\PBT9䐰뮻"CDӧOk}gSO=N>pW+2|Ǜ v& bW 97nZje~_~e~ 64Gcǎ[nv믿n'⛟+V)YD|V(u wy >`8ꨣL<[.i{!y6B"Do1~ܵkW{͎7. XbB l{;R:,۹g#F0agGsr8|1sj,Σ")ճlHdᄳd〪E@D f uJMf[I]J.iq2_3Q`3 5Kmڴ1Agȑ& !q`b{sO:5̚5!Wu3P[%Z !v)[ܗu=fm՗4*Y?ir-D!.bAAm=4q u>"[^xa*ΰDpˀt:)>v[:.! nï!I$m` 'Of͛J+}rUX63b۞.LD3<|ׯRlK" " " " " "`нz%QY\,ŅLrjǯ^]L같>S]>Ik !iRۤ>~}L.r7C:0yېLs68߻V-=~.F{dh "ukG3Jئ={zoνϓS_Lc\$~;#82 6G2=ƹLs&ۼ?W/nSu' C ])wB`dKu" " " " " ";}" E@J$*Uj"YA9BAAK,/~1{ߜ>7ўyl3hؾWxz0b;KzuއvjoСvxEMۍϩ-7k-Ou9XqU@`W5@ tDԔLu"ɦxgɸ k[9͗:J+SIM>g7N" " " " " E@<'Nr0Gqnm(S9oى$TRVbqnRg"~;9N=*7[6Ge~sQdzsxc~M9|_c6i6uZ?4\کX`[v[U @IDATc-vu}KtrJ,2>9oBڴ1>.|od]ݦnٳ{nBr;>nfaѢEwZ{t}}aNT]ZWD@D@D@D@D`}С h~B! =sxFyG x8qbի?!Cp+q}C{'6?3gٲetYϙlDf5>?3\k1?6W\>}W_}5qa… g{6pӭ?|W]uU㏭ZhG;#,^xU]ֺ]&*" " " " "~(np׬"  Tqۈ 6 5j~)|?4nݺƤILģQs6N%lٲF{whѢEz뭭R=R?mc[]I͓RM s%Ku ;YB}C{|Ԇi6}oƢO?t36#@H޽{?͍qDŅu2)v6Xz_xP9kwlL2alf3oCCxȷ5ф̯:4j?s2[a=ʗ+m 1D]NvvAmXW+~M."@H( )v&s qKNy/S=hƍwnܿ&5m4a77oԨQSAKjĝg}6,Y$ <Ė[p{Wh׮3 ,of0a O]t _FmSN5k- m۶^6cƌ0vX _NkzJ*_D{D1|6~'N"805k s5HlպUc=Lds fjٲ zI޺֡roN;ٷ7~b " " " " "Pʣ)i5I Bk~b[,UHEC  1hv09=MA\A#k׮6o\R9F<#tMW^1 qd]vy>_.8JqS0+} 1hРxw!ߧ~#t9\/FH<3LgîjC:5+kCtE Cx9kA@f툍Ds9йsp}#1_z_~nvXք(|dMwRi1bD8L'h߆uϊM?" " " " " N@v\dG+BSӦ6b@_;0T iGs#Ayǚ؁xFԾ]=누B$7!N;;ϢڴicQRDuq0u]g^K,=HBRn,Q3τc9Ƣƌ;0C@"1Ds1&!"`!uQf1>8 6̄ fDuغukcMWPD"yG!B1S=c0`B?'t#;D:LhEl=#ȑ#Mx}F~!F!bZd)BCcCgį>}:yDhE(~a 3ڱctd!ck֬Y^s췇F ۏuSX>~ K  +WllxD] }ÞHjR AD$\X?b%׿m_?4"PzB+lcƌ S3bbbwfͲ*"Jb"H:ؕ-%ګa}1Q-OvuKD.Rr2 >ui">b]p3f +9?11vɈp{-œSzBt󂘄m"}FnFX?pɂ]Rܽ0tUWwႈw@<"lXg{ש['̚="԰@˩S#!0AB/kb累%J?rmҤIxꩧ,͗w]/%!hR_yrJ.{?D;|;]̓.a$:=֋ȕHQ>hΙw&Ή*" " " " 뗀_$$ŝD:=bA ֭Z^m"M" 7v(D \x0I3!v&:Z(!x "P`x6.z}ahƛS/%!b]tE& m6!"-eX ^DdG s_n? VBJ)0/H)S3LݲԚ8fY5`Z>DU^DULO*u: HT#""q:-X7W urB]އ|'3N&|bRHKAx%rh".:)f}Mt婧j^fMЗZCd\ɚ3`Ϸv% J.(^mN@v\DeEdQu.t'" >ۦ6GiҸU~`D`x{ \ƁJnAt)^ޟ.[j8 E:'{1Q q.`qO.(R'x_H$ Gq;P"Af`#*:bJ%aRٿ).xa-:lE'Xx bz?H4%rw0gw~DBhźS]NT$m|Ͱ0Gԣ웇;C}y^M ~ QX{G1,bfeMp;2B%?|q%K ;R{x IJrnB#BCD@"8y #?ЫW0=WĖ=RmuDs!"{!F!+.. ~_`f\p*^ve&]~B .þcz+kbN4E{g;]v&!b!x&K.e'kHd4 SNP! QGq?!kqflz " yNF o_ {E$ Xb#C ~"%) iyWZp˭7Oq.a(K4 "!DvJEGI"QVXiB ;۷o_9Ya ADJ'qȐ!&.C]l $Q1@(0+׌" "&8|a#C<CgV" "JDoɭDs0Aa<`kBtA8>^#Fz"OMDiPGTi@DD/B=~^P5ydG1 {|qJ&B#`It ?"q@/e>uDsчC39Y2jيfg䣷v]̫L皜?nӽ@PJlL" y ڹ+ DuS5̈́DĎd?_ϣS|Wsq%gowO>rr6/إ?|_Nm2Lc}HRek~Pϳ/:?'yv6칿>?|/]E@D@D@D@D@Eح?YD A`}E%\QS>z]̓s'x[9Ѿ.Psk?KK-ld*9ϩm [OkR< cSF]۰TD@D@D@D@D@ vE= ă,%@a}äBs vD@D@D@D@D@D@D@D@D`W^\ vD@D@D@D@D@D@D@D@D`W^\ vD@D@D@D@D@D@D@D@D`W^\ vD@Ey#" " " " " " M@]a|" 9(sZE@D@D@D@D@D@D`W߰'" " " " " " " "A`A.9+n/YKȉMD (%kF"E@]zrFD`J+ظ H۸߿V/" " " " " " " "PH+b/DND n߀/" " " " " ; v@Q#آF@!`W5@.` 5wD@D@D@D@D@D@D@D@6(6%gE@D@D@D@D@D@D@D@; v k}" " " " " " " " rVDXX_'Į\2/{ߒ%~e_WybF%[ooN/ϙ-/K\ۼju! n]i@0q$.XXXy{,p.c 9/p z8c ?R0KkH'YɶLϹanאiՉ@~(dɒ5(?g-#ҥKǡŒ ^˖- gZTPlP\XY|ӯKGrnC _b~7<-x%gW~ؖV^aueLT'" " " " " kC@vkCK}E@ ĺh&MF3*0DM6$lvcǎ]vFu3 3fݻwUVH1  !l…&!*(_7|3ᄀAAa L 7tS8{m?s/?hL5jb 駟´ikb0=m営.X{ӯ2q?.w *TH+H 7'Lyo}W9sf;g6mj6}=S,P&E@D Iжmp6,o>lW0hР#'L:5- ;=zS|<3'ޗL&y[o5 :lo&3|^e\MurFXSO=e5kfM_}U®kv"Q\tOL(СC;c['SCb0aѢE Ka_~% 80jk׮=k3Aqq#" " " " " @@vOCE@6<=Dh:x`N?tׯoYճWx饗m+V W]uUV-(,Dt₠m.*1y_~}+ _jdÆ 7N?7Mϟ3>>68LI8ᤓN2TTL~trڄ6K*UxFLi,B?s nw?W^y%\x/{H8 |aw 'pBhݺu8#CN#kv;nWW/숀yȂsaK.$K@e |={v@Ps=CnLA<"}}(q9G妛nj}\Bqag^j_ũH/(\tbTM 6HAl$rʖ*ZLkUV.}DopV?9?k?OI/)NC?F҅ԩc&mD?\s5&xQGeiW\qe-Z|g ]t +/ļ.25ʢ|~رcC6m©j>3~}RsH[AE# ;\zu% n] jCa Bjk,cʗ/o" B#ʎS/D'mc=Lrq}Ј0G';SZAC"k&XɇxMM_uHe5l!֭H3_&M{/ :,|gd`9,CHyLQm<[k6~] c,>P;qƙ"$Bh, ڻ}z*8c.VQljvf*Ίa){@ K2JyEX5دsΡe˖ixW6ۄo/lb%qq11}S~Y7H`/@/#"wdlWkI@]D@D@D@D`c" nczZl8鳠 " \vA %CHDܢ/Z޽MCУ !⸨ӨQ#P3fĦ^zY}Ft0|Ɂ#mVD$UR? %GZ%QpqA(ĩ"'zdP]CҶm). !V!Q;"Bc7СCZZ_ S{*oCtM t,b3a8`GշHZ/&pM8x3왋T^ܲFJ\\}xR {ikaXLw8w\:d;"l$ SjNw9v[pUG" " " " " "_$I(kp"h:M#Z˅"Ϛ7og9_$} D<#\yJ+yRRKY q?o>Ӳ5Gg!b_Gy/ޗkmꚍ SXs \6)gY[ r|6iӦAvp~:-+Qu &хgqF:tA!ьW 2XcE@D FJ,i{ vYFAq q~! 2d=rrA/Y/Zlդ~"P!xjSL(|饗L@<_ Ns~9q;.f"G0ֲl!r,Q?==B{"IGEDw|X1o\GO B vX/{QHs on:'W߷" " " " "PL H+/V @A" !eOժ!E幀&/Q;kj|h#r}* 1+Z#5T8KtMSD&n;3(^ݚ?vÏmS'RF+.N0իgJ/vG!Zjvu !` ?;^CTd[ꘇ(u?<JkK#"C,2.(7.aРAQء;ygepo|{B?yb7lph)?QuB!q:'׿B @4iY]#sڴi(NX2.}WXĉɱD! l;mvޯ)<#v{ɸDq/McS|'shFO'" "=Xhʾ׺ ŕHwE ܹsڵkhެylm 1oʗSsz(_BW4CC޽ j} \sND1JC0"b!?-b a Q[je>З)[m6J1GSs.[j6mC@D2e;jhgY/)_2"˚{ꩧ|rqE}7 0NׯD@D;묳Q|NjD[ L<_gͻdݺu90=uJu]g װaCZq[.2ESvD@։ Iu2av4! M8RcktT"ڴic'~g+D(|# 1k=SQ]#q( VGs[6qu\t3g KSt[Rj8yoɓ-~*Bcǎ&΍5*oi>|YLd9s~J[b'̞tI#0L%VED;6,^".!h /Wb;^|tE}vp?Z_޽;'R۰,L͚5TUR,/\WcXy3qMo<{J~Ƽ]A",9Y¸ؖU#E#LX7!&']XEb;c>'ﶸzOiJK9=pW_M'=a[hFvmt[_&C^{?e|aqkRnݰN;mSIfۈNC+It^oce]8'mצ?"CmysF<*" " " " "`+y*ŞbC vhDef+%KZYk1ֵϺ’$ N<Po)SYߓ}nSWOtwQp?h?p"9,ZNT8~N9^2 .qq nm66Q }d=%1tW8S^)g_;rnkԉ|vk . [ZP\5xL-9_46nF=zy[YG?|;Xq*U}M:ًolƒraOED@D@D@D@D`(Z5FL /d!7pC}R>!xWޞlz%ۨ{M_^xpGo*+quׅӧ>L8~Ҷs '_?~l@A뿺ubE@]zZ@n^>z7QN"}];XO4iRZEi+n\pуjM\#boO ~D?)SƬĢI|5EZPcdu;)9l26k1|X@D0B}(E;cÕW^pUWn-4lms'=FT}(^𱴯v!ㅾڸa[omܹsѣØ1c7|fnģ"ی>-^d}>tU/8ےz|#E72$" ōRbzD@2p1kӦM-uh:0hB;LLj۶m?N%5SO[߱cGK]$ZH("SV{ait*T%K cǎ _}wkqMA„ ,M98mhR~;RJ j+[/i:t0iĈvX"'|bg͚Kve&i;4'`;ђuDZhڴicr*\8V]s5d%}C޽ WJ ŶvawRa߹sgK\%3!۝w94nXN:5/_RزeK{}3v>u.a¬gϞO?owCfioz6|s8 !oRj=pb4GC.] އ>4۬wź~E" " " " " K@v['$"9$TRh8m@}ƍL"]Anm4NR)*.vׇP͜9Yw5׆xD?&l=쳖&ZN'l"Y$"{o)rJvmʖ-kB" ІhDAd s1QF̏`FjpTlЩS'Rd;R C$ #EF0|_LDJR; `h&MomG2>!\ц0~z kYfȅ0Pyyٜt^oORHil6355*{{qę`Qx7gCDN(EYg~i NAFfǺ;&՘+)1DŽN;̈́jys=~;*" " " " " O@v\3g/D!Ʌp6gU`" A A=8[״iI'?x?i jKOy€sL" G=iz衡o߾!8ta +XcGH}lD'ij[n%~/)?l"@A""h /D.%"$ qQ v= GT.3 }܎9(Y=`㏛E,uGyq(CĢ !h2?^zQrGD1Rez(MgHT?;<ᨣ2HF1"pzVZ#ā%Ʒlּ͋PIтpc38K/YDl߈`󩧞+cy?Dk"6>l #P?"cT"_TD@D@D@D@D@/_""(.u>kcD1uA$)H˃>hBP3\?ƍ1dKqL/+ԇhDA oLyM61avD;& _.C|AtC֭[:uKD z!7QTĠW_y58_BкukRmj&`ZZ`x}13͛2jyv8CTC@k,ڋAK_MgpD!Q/ 龰WBƙzC.YjmZtDO27餍7X/B-mhRX%?/^N([%KLn[o[XH/qcGA_5kԴyu֌G?l}^CD&%?|M?" " " " " 녀]dK 7<Տk MB$AA$AJ/tU*D$8C"DD/D~JJ.]Jt$ fPE0$ z(&1KuL,do;)fJZ.}{oK/).[r;8S4E WE!4,tN"zm'IxrŪF;р&ř؅o-#Vpڤqu;Ÿ {_: hm8_|3w?&WCl!&رb +sІm|>Re{'G;,Oe!p#mm!ҒHBxzo*" " " " " C@]p," y%J;k"MkY5\ dC-_E~! D!>U"CY"5/&e3W/]a `:GAAx#JH*{e{DI/hCd27bD"6v&?*"D`C ZlDQ,!QXȮ/azj;ࣥ>B|bmBс@0~aGbZÙgi{Ƽ\۟iC#Ғ*|=nDXHznfnÞw?.}qDj2"&šXb3<vN*釟{@PsK!bs=g^x7D;[ƷwsJD@D@D@D@D@ BŭD@ *U?D?Db SDQ^aYQ.:%ZHwv41=ٰE*^{ rܤoG|{<EE%uׁ6D&ED!|e<!."y&фc~lDq,"?T޴tУG'ւ0e>_HE\0 i<"({gRዀmD8"*"DυƦDƁ=\)"05'\ x!n9hARLaĻwƒ9wzDEȞssJ.T(DI0!R/~fD'cW95dBG M;|E;C]:x|ۼgRy^_쏇DRb߭BD@D@D@D@D@ @Կ`ZElsk\(0SLh9d'$"FB|a܇L" Q1D!DZ!!j "ا ߰>zDիWϞ^&;6 ۵9T9qEbM~ ' NEX? :0$?_} D!y4s)Dj\ﱃψSmpxǶx>! 2[ 'ػ CȺFik# #ψeا+MV፸ ʷ[DPXcseaG-wzRG_~ڵmgaoX $R[5փ8"pq7F=QآoΞ|C !bСc_XD@D@D@D@D@  v&D=J\%eSPu&RDIȩ-7?c]xe})Vm@ q_L>'Kqg5i\Ξяd'K@!X}'B\Ӊ@@*A2YU`3A$5?sP=ym=`VMc">g}}R+IM㶼?x9+m16&|\}L>яLm }c1?g-DIsdU-\YIGg}#Kr=Y@IDATIm\Î7*" " " " "PaW5@v JJĖ*-!H₈ %^OUܖgs{m̕cOS=n~^Ο6k_fҶc;'{_y=ڲǸxVr?FLus(" ătV6}T-" " " " " " ŝ@ᅱwZ vQ&D@D@D@D@D@D@D@D@D H/#" " " " " " " " @@]>@ /숀@>`eBD@D@D@D@D@D@D@D@");" " " " " " " " "$D" .Hʎ vQ&D@D@D@D@D@D@D@D@D H/#" " " " " " " " @@]>@ /숀cFVD@D@D@D@D@D@D`C% nC}s[+uaZ䍀qR/( &++WV'" " " " " "P< H+U @ʉ`_@`?eED@D@D@D@D@D@D@D@|(#" " " " " " " " "?JY|"PgNp?˴g^^KHoފ+րkţ |뜹qr?5f{^7ZFnbq6emodɿ?x뻁%>׼~)* TD@D@D@D@D ?XdI_äl#t*]**Y@G RUbA%n+.%H>$zeKV>Rs}Yuh䕀R?'h*R*9|NmF".1,$)-]4,[M6$-1%Xr1A6+ rх4tRua鲥B o-;9}YV֮h/˗/uP1 z"E@)Eu _D_๎;6|7SNam(=3&/a]v u1\X[pa9rj;w+W޶ßqƅO>$,X խ[7m64m4TX1g~vΆ1N-ڦM>ð;zYϘ1#|dYGojժe3͙[ Ox2w2eIۈU 5 mڴY}_}_֭藛?>Cenf߆-Ybܹs}5k3o6O]WVnjy7"3m-rv?sвe/w}f͚Ra66Wn~pGƍg*GD@D@D@D@66%7E`c!?^\8cs=ge̙Os~ OAoQGeu1J,tRsΙv}wfϞ `&УGPF #Rǜ/YO^~#Fs9!.t|*}aذa^`smpY"$bCż/W;{"+_~~Y-[6.]Dz;|p\u:,37(^pޏ%X[6-Z(zOj:ݬ _#C } _~=V.]tQ8 }GCK. ;9=_3WFa}5|`GpI'QT~7?|fj׮ml"@^\r糁#" " " "  v˒"10ʿ@Rp_Onbs˿ O8|gLAH֭jY% yovjSO=5oʗ+oG)OcVj{A,~\cks&|'}yuwJB'c}k`\\>uӽ{vby9: {hz2.rܦσVͷCnzpM7(}k{MC;BJ!ĉÐ!CBÆ jժU8Bǎmvu  MOHT,\r˰^{P4[ؿU5ydrj{͛w򂰀@WR…."w 7X=c\އ+"bɔ)S_`D;t4ǣ߈$#z|>=qI-[{]8?emD܄:Wdn,oW\q v>#UF7jvSBBڳ6'z#={#8"sz?G'υD&:}a@td_LAu1gYܯw}"҈Lfz8s駟n?m IGl%ݔUl.|@%;YN,"O'Ӧ+}Bc==@,R˖)~H?a}W xخE@D@D@D@D`Wߐ@AuIǵ{K/Ԅ; kf"\$@40aEaF~/L d7R[)h `WG#<`B" #L4)=ڢNSHKdO6j#!/kmt钶D 6J͛2>MطYYUmqx a"C *3P.l"LAF1BQ P@$̺n0wfw9g>{Z{=4iba\D~a.%gľex` ֶm[1>͞3ۊ2hK0嗍}:t`aό};SzMz-w .CbO6<|ﻧ~:|au5yMr0AȢ_xr6k,- ޱ̬72aab"5p mڮ]%p&!b}yp{-dO8x|O:4hЀf&n…x+^g7tShӼEsӦwU w֭xW;bKD@D@D@D@J!7;*F$AaA!>Bf7@u]wv(@CAC@ TgϞ&Rx[ZA8 ႄpEV[ne,7vxE! XCbN;Y})"5#e|\8! =I^ bn.$2?B!<3&~a؂']qNގ+bOxbX;.@HCDY~o#1/R*˚0o_k=$lĉMbvj` i&1י,p.~"&A_" " " " "Pî -LX6"Рgxᮄuǁ xvq%A/;B|»՛oل%Ny1$ =72%omx:yBa !qgT 5kvnTx}鉺$D3\rO” lw8ױcǀ8XGr2|ȓǻ<hۯ_y߿ovb/d:'/7ƬB% .<` $*$^\}Q`/75lםb_|N8Gnj|gO+aGw{6 />i;XWM;Xce/W'd 0FDa!a3΁HKر=}G!oc}.ӟ'n 9 [.'q[[)ϾܛSO[w= wUD@D@D@D@yؕU" ˅y] uj1w5s;w6 AG z,xa^P[V駠&'@(`-ppA5|p~ebSƍM@p&TPI /FQu$D9յ(yM-B{LC(9A0KBv]HVAr1 9XCD%WD1UIޒ$<蠃LCoŠ=O믻$ /R'm@H KJȜH{HqyH]͚"X`#[V-|*¬sqXH/ z!{zƂy=Pjq /01ބu^$uAgA;>x!Xr8]!24H%(kaWVL,kT;/y=أ fdJB>} [GV^mV~aPM\Sw?sMb s2wr݅" bŽ(q~e.QPEÌD" }bAl),htT+9b oB{1W<_ 7^TxnP^,vf :vw#!~مg}asa@<]bFwUs!rR^t$>5cըQ#tI FTyyy&Gl7$[ރ>6sc$=|a32i3zhСw`UV ||6׸N<6qa)sx":[xٱ3ӽJNB I)?MI瑏F5̳A93 1eWcM8@A8]\8C|6ъC&0H̫T1E1>ݞŮ)M*$3gG0[ _Μ"p&a3!P@ȱۊ0ƣ 0cꢌ}} x^ǯc^pW\\“ꫯ=YQx n2XwkXqaDs {E"TG Lb,EK&__H_;>׉fOfp|IL ׇw%{r0NPȜy_mK]E@D@VT;?YӒʳ6T v%^#~|"ፆP0#<@Pa$D"B9! Ac xء &B#ZK"|vHMwq {.P~O{D lFmX0wnSaӿxC[F/u8좝 0uƯf H"]Ƹ|hG_K]#\n;ePuhC9zꩧڳE}ákXA;ľq-b+UQ{oڴm6ڱUӏ?{u;^|p#1'Z/ժϋwD"OSfi8 8ax)I'Dv=Bb;^',!סcPV apr]E@D@VPuLyI+(MKDlWZٞ"paA[nC8C<:Ag֛aРAD# o>Q:%l0|LD){/: e.ɇCbo3D*yt?a;1EJE);'. *'0TʙB s'Pb~- V]iu5FyȔzbA*CY2Q?qy뇗 1 {+_{Hr;!C}wښ"ԒGoCeשIJ ǒtIvqM깇'ⱋ>>19>I̗`NEGtc_+i[CëC\\+ޅYފѐ2C /2c X+ ьPLDܫEM< 8CBDb3}B9T!/L AFOIVN.%%\ HTD3D@CC!qBbasyRF}[ԧ!<jy'x"̘1DD:A$<~;o>}Xc|(`4@tO6Sb=q傏es.}_b_9 Q FIgϞ=-4x < ` ҂?KJp&! 'yY7p@+p]طx属3/w;v1aO?xcy'{ZnD08A.wٮ;찃X'…޵چs;bְCsyy?[eɉ K#{})oW?˼O]E@D@V@:ӔD@+*+[Dt2&5k%xb}y)!54Hf;CD!|)<|\ DL6lو I'bވesCx)E"$n`n X#]|1K9#827?5uq2J2xL֯~m^`x曶a`#EECt$}rI c"iS<"7mihS+yJ>_ETA0_ !. 40yːzP\A!l ap;t yT+TLy"ޓ `ax&b1noYID@D@D@D@ veidq+.Jq]D <VY5u~b@ E^ǯC7 *gK%؁mZv˒k )=Y5ęK)=\xxXKюrO]/>nONNRŤ!v .X_f5 kHJZlY\ L 0BmzbޤLu)B&S>yΔc5G6/\\1ɖ_21]V7[}C^ABVCu(l,4\ ijoUˊݥl(}$ؕ5E"Pn ;Ʌ ƍܻ`s^A^/+uգއ_=?m_xsyg+L}y{}1gou$O[ovLOlvRm=~yl#?s\7nC\XzɺC-K(%e_}S7YN^ G<9:qʻ. J" " " " e2d2XV\8υ`/)XYJJ,eeƂCƱ+ٙxeKγ(um>~dO<ʖd䳷|Bǎ}9˼niȞ~cuɟG$y>H`$g#onc b @Oم ~m*tUTM{ ee.$x\tTeLu싼8ekSX|Lg!=≰Kszގ |8K!?LZ|fqa6\x87l 5pelvy>c8lz<=䕕ݞ%֕哝" " " " YTKzd)Sb],$,/,$GS79͕J|W.pmf'oV^=-j h˽ <ǡ g /"/iG:qys~y]/3IOԣ-SpUNE{ljԨaƍgyo!뭷%ɳۏِ!C'0s3 ,+9/>J kHID@D'|2F_>}1 =Q"!!-:{?ӑm߸-",<^|pM7'"3& ;<(m6.cf̘8Τxn_r=|'uJsngSm" " " " "PTZQD@D,p1V[m0mڴkDv-L0!lD*ʨ͚5 mmvoƄsu]NlJ͚5-<'OlᢜfP]$nlͬ쯿 }:e`VZa 6Ks ;6pCۓ ϾI&Y?767Pp̛M2~Wa~"p駟&M7XUbǎ;h˸G>c-vaȑ#MLWyAHSb^nO=f̙P]?  4J+ktæaæe\Xco- xqRM61GWv4}td 6QXK֔uiڴq+—} @ ?ɯD@D0.P/&D3"bGm B'|bBb~zxL:СC#B6mLCD9C ffb=y!<3ᬳ ?E '`հaoߡgϞfÕW^iᕗ_~i S_pכph*w}5QP̎;C8-6 Qo}z.|E'x"L25wqᩧ2q{` ij)1Al韄[oD9ETBC4B>y}w'z00` z dS ۯЯ_? I)wqGqнB=l\-<;<81`q6BSaڄ–[m{9+ڵ'vx RLG\EvI!x! r \x&aC'b[M a^􇠵>g"^}g2BUiRx]qᢋ/ {Ä^z~%쩞[DB@s=MAj۶ek}"vO]if^\ׇ{UKk}>ܘ!P! 'O(gɅ<ӆ#`!!L6"qx"2Ν;VZYh{oކF5b_8D9Z<9peGrƜX/gkեKXg:)1/?σ:(PN㑵[Ҟ3_aQw? @!q?}tHO9{H/!'ϷƣO<1}PżLCC]3<<@eCoAID@D@D@D@D $喷F(A$B. ËpJ! <Qzk/Xz/3LPƍg"e1f"xa|=رZkhtb3#SLN' DBsvR^qDD(wb^g|i]{|N;=X¶b }|^nl~vph߾}h ěOuژ<{a]v+0]N~ܳnqOe$<&e %1 1`<(DZ4$n-4{Yg,W$zE{C4"B֑u Hz "#6xy.c}^{F?{vuשk{oO5}L5I1!'(3,kzX|D@D@D@D@D@JcE@J (xFHxX0b)f_eyx}G%VEG^m&.OާZv-wx꤄? acllP̧Aj5D>Ng;-Ls=}:b^}=gx! ژ]5kXx1Ѭo߾i>ϦE_CL}{F/bb+NH_qȚ#.D92߬'ї=ƻpXJDMINu/`sPD f Dpţ};E !98D#%Vra?0<!$40+ "E*"CY$'=mB'ZfrCgIxʽK&XE=9C$Bt"q\D6PF[+K#A$Bn90n!JkCrCrO@O&@!naa} <#1gD%CsyaCaNCH-s \ъA=vX9,%n 2SSo'}F?2-ч'(|lf᪫21hRse>!8Ib~|`v[=ڲw!$B3lþ|왇n%" " " " "Sr[1($%:<:b5LꩧByN:(腸žhm%.L]I"FgbkS_>kxRJɽg GBY5%^! qM!4'-B4 o-; aOƛllQE'Oxa!ўveG_xPZc >o=F>lA#!16 ۮ>7q*3)<{`<ٿ̈́=uԤqcgF"vx`9zhCcm؏2 2d#T XKB,CB>@c, #օy2o@axXb;>(caӾ!"`^^˳  ޱw|hX9֋=z2O ^pZ.k݌z`;kqHe@y P!cߘ0cQD@@B*S{>kae^9/=5?9︌~xv,"ω5mSus3ya;b]`=䊀\8" K$PP]6R)-~<$e*˔_{ߴ%{^2˼K_ْPMd^aOkyy_v6Y/cOJ|2䖀h" @0ȥ`MXR>SH)M$uDAYQ6<ۦ2;˸zzdϖOy\Ƴ̧,NV?[^{?uImc=ɼϼvYBR3xc.n" " " " " %K@]" D\ vкRCd6*5ӗ!" " " " " " " " "PH+]!kD@D@D@D@D@D@D@D@9 vE@D@D@D@D@D@D@D@J vk=d@9' @" t(.ė2 " " " " " C@]pU" @P?RXA,,mW|H$حH@'0M/X$-BD@D@D@D@D@D@D@D@ vˋe!,vYlV[b! XSXJ˲ݲ]J3U]D@D@D@D@D H+~AD@D@D@D@D@D@D@D@L@]Q? vX#@ +"*UX H[WSF`B_L,?S(" " " " " " " " N E@ />E@D@D@D@D@D@ vegd + Id% .+@ H=s(" " " " " " " " Y HˊF" +*N-ʉEW8͖/leg*@i'P(D@D`yP`geb{/~Ly\'m t$" " " " " R2ED`ѣGy慍6(ԬY3-0כ;wn/œ9sBꫯ.+>+gAm̘1fk-B*UV C *U hV^iXӧOQFPVPr1 ;X`eV&M 6 ce^w֬Yaa K2 ۰ZjaUV5pԩ^Z M4IYY 2". Y,mf a<4JAw"o>t/w}bгgπxG ?^7I;9.սڷo~EIڲHagڇ~:t`b%b}?a]w ͚53s뭷 3f̰vn} (;Ã>hy^y'XD}ʘ/:udbuׯƏouf?п0 i<\B_ ,mxj#" " " " "P$/_."PJnfV}&QņC kExFPD.0y_zxԧ6SoUV RvB~pw3<3Vφ#8„L^{pAO<C͘%M~in-c?[;nݺٽцڵ3{.k ,\|u?cM{}@)"R2ED !4n8n:᠃2o,FF a#F0cjQ.ʽLΟ8?z.`e/nOq]G(,$=y=|x#lxРAW_gpB[Ig^8묳L4x͋vovK綾^qgYRrR6Q~Ghχ:am11iӦdmBut9䐰 70tI橇g "aJ 'E6iYyU v"qD@J Z˄:4'NhB7?@ =>{lnǣ]n@dMݿ-iç}j>jX[իWO3駟¨Q,dpu׵ Q3l$J5@IDAT|wܸqaV nyIn>r%ўpPѪe˖&XҷD_"3(B#{i1ؿnrK;vBr-W_ma>t̽N:V[o54l0peG>hg%|Ͱ曇>@^{)SX.~!T5܄=} )>ڹXe^kO>d}CڵV{Ñ|L9I>tx1BΝL$Y\_O?0d2tPC<3.dRꪫ38x "r".xJ#J" " " " " "P H+"D@ WΝ;A8 |wml@ Ez'8H=қ1cFhK;4={pZ];8k?va|pꩧ!.px?ec\HB\R lx: ۩S'}cg!A,Yԗ{ RFBPX9Ko^vagoGse>s1n31O:]FЏUW[Gh*I<򈉝Ac#^}%  v9aD@L) ϫ=#{&͙='\{/OV2眇}"0~g@Ã.C|OM D0b> x_>`w܅^h'''l[ ^^yF;!W~/^BhXrA !xw͇j&E;W~.o8җ?$<bgm ]t1qaPaogm'n\!{-r-62D@D@D@D@D@D & .{%`"P6eg9Z{Ǒ{=xZjHw2 ~mK4V<a6:]G-e'N0D'>>R#Fc9hpY^n؎`oY;<9&/4l !9 a bqWK|SvxbM8$y!a#"\q[nv~:<9$ No֬Yv+@i$SbK&(!ŅE*l |n0;M7Ny%&B!JIƁ oqXNS%ܕ@ ayyyyi1oi?sܳϙRm|?_x!y~(GfC{ֱ֬bck6mށsAiIB)c͇@cLx#Ùbl=Ϻ@IyCJcK0֙K'WDX!ϟ1z+QE/D-ģV^)TV<(QN=WR5T^-|lD-?f͚&Q͝ .N;b-7{yޖ~HF22 fβy/93G> e{J{®cǎ5/g}6?< Ge" " " " " "P$7a/"Pd08Tuk\?'Gl}f/S}$S\/.(O,tXjo92sT2oqy'$"#? 'ЮKҳ@!C'JR,IYuSYO">l׸Iɕ1/X0A3w6] u90(>J,ƦXs x3ƖqaO{GM74m}wqi=B?^|Ec:8lXq?eOqOz'v1-H? H&M2/pĉ~ '覜=c1?>0T`xm,Sbvl{H*uOlam ;Ae+njnoG}XS@$]w<8{y~y{;lЂfnoY6=3{aUs_~eMfe6n yy*Hm+xKD@D@D@D@Dîk`\p!+"ѓO>iHo"fmмys8%wމ\FoBs_„ ,N:q&|g믿v#Mh8gΜFGv~0n8iӦV6{0i[q\s@Cmz,-[lVB3FYÆ B"W_}eM Q8wߙ}2GƏ"PWƉ^;av9?߷}Z4oaF1:L2BES-/bO *+W4i$m}بqPF@>-nazn8~@t d3r-}2e͝}]vv}v5VZ9+}ވᅦZj:Q<ux_{Z'£/^O3J_" " " " " %B@]`נ" ȐlY=4Dд{G:N+kFvLpB L@Tk֞ 7BB-\xv)w\sMxM|CXջWTRիWc&lF#<2fȑ6;}i)jb馛B/W"`o۶mox gϞa^,Dq 1o-[L<?pF>|xqM|| }@=+Es9ƾ W_ sL8裭; ya Æ zh8LbW_m3 w8XZ&x^y!//٣GDc .&rv l&65JBc'B^1kp?pQGUZ^zic=ˆϻ߆K.戈G<;8* y7mzgMDnܨl%" " " " %J@]" 18GiIs>/m(_|.9B xn78 Yzk o>^NzB׮]̓;Feegq5xeHC۫ʄ8xСcͷ5lڴickfᑈ/g}L:cMAC,b'xbYw;vL74.i{ ez Vv$80pevSŸrC[ Ie16mۄwy'<裖V[meBO<5kf"}!4/DKZD;یphACcCToD6#l!;N>dٝwn6WW_}do>f3fLhѢyzc"b{-ȻM=9VX6n8<"%DPe߿QAO@Ÿnր7sSfz'`3HD`I\YRe-Gxٴa`D(^O!M-" ^ཆ؅ЂxG$@)ᖈ,1Y]:&ӪU+뇐;D*@$B{ -6'Boa't61)GsPOBx?b tC"G w bS} !QV׏Iu&#Oy̳`{ꩧ<;lg=P%'k*cΔa3c}5>D>s[Oey`pH(awq ֜q S/GcxzQ߅/lx+ޜ~BVy_Xc8`~f."2v֭}Q ֭G5??_Ae}]{MpF[N%" " " " "sr\d#QɅ#xdT#^J"j[l CODAABBC A;pؖI#"sMO\q{GAXABAB=<݇WvSCLB$BJZ:lap=0J;1y相/<瞳yy;앆0^g?.g\#D]wͰ+H6w\?^ej&!816S̭K.p{5A Au QPePIh0KqիYヘC<;ޕxG6X[BR5axaa\ߓ}"H{Qlx_f`_ A07^7Q4<,B}]E@D@D@D@D@rG@]Xk$%(f}+B!@/ЪU砃:0"OxiYz kQ$Bu*CE/DD!S{ܩS'{o$JD@D@D@D@D@J@q~%3FE O,Q,ZHL"!6) 7pB7 wuyRAX-aglϚ}-Ax!|!&08?=C@0 H:$DDF7 롇 {6]/-Oݻw7:;*`N}-?MdWupiw)1g$;/yV{ṆMxM.|jg Xay0;Ag} e<e<Ϭ^p쫇%%|5:#Ėw“lAIB2uqubHxq䈑vP-ě6}yNβ{1wD96}b.%ܛgք=}nP_" " " " " 9'P)u\E@D =Ӳ/lB(c3~xW8LwECl5^ID@D@D@D@D *~ȟ%h" e"I.! ʼn<vPDž 6A|<=h롑x\qg=C1Hn'u+H}a+y|b[xv!|\e.-%<x ([Jmvne/kTF? Nj5?`n;6xf'.Wpn^/9ף/gyά)cF$_x>a^cc;lXOHnUD@D@D@D@D $垹FBr`+X\[8l&W*|Rhd+K//Տ@ ЉRM\W/)Rx({m^5S;z>[|>ۘ^߯O<~ƶ)N.byd\݋ yؕ w*"B.Cb3,(q9;+9(3$ؕ"PNo WN&i$-D9" " " " " " " " "Pb$ؕz ,"@82E@D@D@D@D@D@D H+5" N@bUD@D@D@D@D@D`W_SRG@ו%A" " " " " " ' .5d% .+@ H=s(" " " " " " " " Y HˊF" " " " " " " " "{r\#@V첢Q@ TP!Cj<(u$ؕ%A"P~ ,\N^3eyȋ:Jݒ rI`YLmI@& t(g$ؕtE@D@D@D@D@D@D@D@J7 v{}d@y!,-KW2D@]Z,*" "X}薥 TSJ@]Y]9-+ :˪),% vK LE@…+>XY. ewY.j+" "PrܱܱH"PL*SVD@lbJ2fZ2fEt0e΋1CLlx]NaܬuK?ۘן!6XӥirIW(˿wKJ}b]ZWFv@ H+2*UX g5_Kj~>~}QgkKԼbsZ"(-]+do9y}oV2窫@Hk$"P-BZ?8z^,^9$saVDi-[l>YĞaBͪfK|x&-bs4r婦7c춰rrIٖ.sχR&/' ė@?fbda„ sf +RXc5BÆ úk?`Nn, ӿxü()^iӦq JW^hܸqXuU~Q/u|3g }]SN]bz~-C:=~^LJV[-}`~кuk*U ~mhٲexájUo믿]v ?C;wD^^V-xošk8∰?&K~w\?S]y]vmàALz>c@=ok}{?e>&x<^y[W_=n6S /`g+U {ﵷنH0Gg}6x㍁CID@D@D@D@$(Wg} nvժU xEށh?;0=WR,4X^*BE\ gOW^R>lTcy]y>W3/5˴_=ܳ`G>I{volKrLʓ_~9{& nVmLQFvɼyR{ ={իWO n6^N{qbNy my_%~y&*Ty0o+yHxa'灧^<.qF?RFz|}")OK.$Z_ sLӧO8SLd1J^zɄ:<-Lއ{૯ 7!]tQ9rdN<9}&]y啡EaVn0]֍6fw7n3@& |f/厀(ƻw& {,cy駟n&l6l3ڏO37WOw{ &^HM{=^IUV_#QVPov;6/? uq]ouz^\>&q__:~Ed#y('xt+YǟExM~YBE+Oڛfu}L^==xwހw}VOmwlw^u]m;!"l|ˈ<? ֽkM6V AsΡK.&QꫯXȏ)u?p#ԾI&f31Lҭ@9# -+?]$>nVvΏsGaO<1 :4|g&Q?濙Mbaʔ)შhc ,!x > ׬Y3,LycD{}1~/emƎK@cl֭kHgK8$i׶ rث=6H- \t.tϛqᇅu@M3HIŸٳ짟~:^<Θ{p }P3D[DYsvp,+WCXuTcMt`-B3rʦO>[k1Y_X/L nl̉’˜f~^F{/>aII&O:ռOyg}@]즌9Q1x/2Y;]ĻKy]1nu0|w} [la{ZM#T?7Bdp裏<1(gsNݭjk$֜zwK1b1bvqE `by֭UW]eQ_:՗@% .&.叀 93"?u2#wғO>iMHG!t~#$D8}KB,BÌ3,N3ьn'=<"&CԩMh BB,@t[ Fbx$`}z =X@B$\b-L`䰇mZ]DBb/LߞBa4յV[`GH'l" k)!h^|0t27|6Ð}񎰦xxIBybm&c]wrK )G³O>1m]m:[0#2%sG|伸gc=6_ Bǟ|.qy!Hڵ ~xF"C- 70׷\A¡;k!1k̟y3/X3,n _vk&Qs4;w_w%v3,??8} v؏̝8:З@% .&.!o 6_gu 2PF*Nx !.&\ D Z!1{zaW 0wZ9_!4 Q؛ ,6.b" "HMx!T Lqp#"`\wu&n '`'r"1 b!8>q&0rЁ''g'#◇2r@{~& 6j=sA|[ b+AA4d~کFM7dkG_;tu /< s^B|m\ G1^w;7Y<3lͺt}VJzکsywBǎol!`/~AuB@;SmZ.TWްgWcUV?!%jyd.j׈{T:DF⼼<yw34{3Jy07Re] _<2Onx!akFBp'(F}W|C`p."^t*'=X4#uq;{X6'LOJy$n{x3sHBx#>+ԗ@' ܿ 净xF#;>r 6?=D +B!Q 1/O{P!!тrx±x]!!㟄 FĀ o 6?M@3wco.w "JtAEh߾ u v`y reGEt'!wnsBs=M؁5B$B5 !ц0^"R^'s?D;L:ı=i0 GD'S惠E=~\̇dN{ߌzLJ›C>YnݺҒ";F9<)XK?{ YQZ s% 9%* D ( TD%I$(  %þvt|V8u;9w.Xm$  H@$`78QK`?Rci,8lH mʺKQXpA3D  !v!t`qRtɧE1{Ag/8?鏈*|$ht]D  q"_! !̰gbQѰEB$6쳇HF@FsD ag]嚂;321 䀄5Z3 ﴕWֈ_}!lQOzh!j}HDVaq+B*'"@ǒO8"kuԅ-"bSF#bq~ w_a.b.+ffh.N|*qR1[Ư+,}pw=9єh3>`Q9b=^[t8K3ujbɱxFt3|cy3 _[zgDDA'zDjFC;`vA"Pq&oےo'Yg$  H@$`78QK`P 1܃ (D[!(P5=!mꩦ8k{~ /F[ѝC'Am '.K/+CAuC_"yDyg!';?5~ rRIf ".",ĸY<ӆ rܝcn_ "!Qk?ױGYߴE]7gV Q5挨C9$EO>9"雽{2۬š!%+S.dcڥ)$G/ޫKF=&D6.m@=`>I%;ğ+1a) 5Ki%#"첬L3w!s(xvE`Lk"%,r왟79$,v y6lX1bDDw({Ε9S f=|H_rЁV]KhKdu:n(7I@$  HJ@J{ H`P@c)(b?dB!B :(oVg\pDčy枧<aN}>$ղd6(G(o"HeO5eaYb<"H6"#Z{ Mc* =WukjFX[RЄ&Θpg9o2,}sND-D|(CxA%ӈD0(*sZ Gc,|mcڧ 6C}V%/]\Uvb7dSm3״Ue𷖉 2טgs?j|W 9)fÏD)({687W"p}!ֱw ᓿ!xa%I9cf sxSFĭI$  H@t'F%I@`H3,$qj#?S|xU`3"B8*aW,u%*l5ֈj{_u4iotX}?H%\\Y<D|vS` wcoujKX|B,@d@&ĪOd{X'6#ˆ(CGu,ͺͮԥyN6ԁu2rcN|E-]YҌ)`Y'!dˍGע%K)<_D}>!ST9*HJ9kdg>$fݪ029Gy4`[+ )q+"3KwHnjfje>lgH7X?6Yrr'Y{SʉfLwA/Ks.oګo1=hs]/ H@1[@IDAT$ AA@nPL@za~<Úx?r@C9?L$?;O:y*DuQq$X5! IϨctYf( :ē䭽!a ?r]RD3^}f^N=8x6GMv?bYDW!)㚜n80H->|xzKT^k#zSs`h!{>]xe̋_\kSmƻA]D_{lyhFI0;hũjW>V̶R`J6}s X|C^rJ,|m)^l!b:$9,ۜ{K99~Lx/HYtV]mA$  H@ vh}!,4q&baXǏiNd)+y< g7C̤O"HxrRRC!!2Tb}?w:"WSTACAnw(귝4eKf .!"B!2^M74*Nw&94K7J9y/rM͙["!>D<^{!2r Lx-֣>>R81#YqHc&HcDm6qz1w}w挘sC$k)$  H@$P#`k  zӡ D_fήY>leM#]=;o=6Y~[""!NqfF u "U713 ,̓UЁVrcO;zک!&q&.(eyD "9iZ /p9saÆ_I$QcCwN-шC"31<)PP L8bv*,H zȣ)U˜ aby%rd;,-n 9|ha%KƀDzBCH7l'u}>ʓ! Ҷ~|9I};X/c`L/lxfԇ=sŜX3vsߺz! 2Oi:G9B`?9/αvy}c|rnjT?瑹Ňj;` <G(xxEkas,Um͆HK)vEaϘIz0W̩{-|Ǫ yc9)byϘ[WM_>Gk~D+fl{$  H@;z ~c;EvGv?سQ^qתofڦz]mO_ykw}z?o5}[gjz?Z!ob5U~姭j9N^Wmd5fYMD)bb[Uܬos3u~yBW7Fݼymm,w3O.{$  H@$2=yg^e!mdyڨFv/uzԉ6cDzպWmVj.R/؇eɔuݠخ6o%j=%?8>`,F2YZ5$  H@ &vx+hq\5 O~sl,ϲjYVuzͲ~֫>jT>)~<._nGFy]mTFyUXcOՏof7]OZ3/wV&N[)x#Gs9mN/MU%?ޡj}OZe^%  H@#ߜ;b ,~N>$vd}cuN)3xרxBԫIoˏb mIYj?*SC)eQq 7Py86[nWcN]lbi3TSoAg}-jl.״MGc3,5MR=EYk:;#XޙYp_8`9dKG^)#By娣Ih(IجZǕ:) t'IMNW} UOjfCz;ٖf>0=)YwEhD~NgqFkɎP9a/f\Iio {+*j{V}>ϝ}Ԗ;חwחa3׾rɽ!N^r%e 7?)zjC)c\9i~sy.{sB ޿Ѹvҷds;;1q,, H@$лîwj]P;xV+l^/馛.D:$QMn>Qss=wqC!7ߌ<}C֭Z6tӲ Ry晧eHp3G>vHF0Y7|)2?|}W3 3DSLXfG}s=Dj5h))m:ǂ1N|W\sA!!=3Iu~+G|g _2Ƅ- yҋ/Yg5I^x!|k˪ǡ gPG8RoVyw7py: K ,Cl|'_w`$3W\1ag DžZ(>ODl1c' s;4L!1y杧S4ʜs Qr>`|_ ubf'm=>ڡ| ) ߦvU}nUrn&E_ȱU}_=i;)ރ1ST$ K) !-sqǕᄏl!l)x`A!"屈ToRK-b ce\o0s燘w9Ђr)7,<@,iBO_z饲r˕}7?3CAc}Ƴ[UVY%/{!"H^gw^kB8>KQweϔg'bI9_rdOQKÑwk} !!:2{Mķ>ye뭷1O md6as=sAD0vwyfEݨ7Fu\pA0Ed)6'!#sr4>9l4bFzv,'|hI8sՒ/^N#V'~mEq-=!:'!+=&>C=S^zFP0{W_}u'sL,qEHCATcY#eG}tYtEo~󛈈b-OoyGA\"rm1A?M!xHte|+r]w]n!1ez9cˡٿ#+(gGBוW^7\~_o}[acl^>`h?BT:M3Ĥ6_ŲP%țn)R"k_Z! &_Wc+""j=FQz0" _z_җBcN<`؆{c !Sዟ{,7Q=P`@t}[{C,FH#z_17޸vawх!r;Ky/ʉc>90KMx1"{BT.& H@$  H({{Qr&D.!^,D vqDz{x(G'ug}bӟ(CC,'x^dEoB+@0FXfeWu9t뫮*8ŸElEФ]51&H8ƊpODw2kqQ pe%'rDSN%;"xgh˸y%p1ĚwhL{GdO=Ւ:%  H@$ 'gl@H/^~_DӬЁ`C4K[Y&GGFǒSD$"!p~q A:IBA"pm N,fmBDHA˄8IJU1>b~F d?"lh8h@H<q,)E(&مS]8(GLr*R4$z 1 D-H1'rN#IJv f!"9o+>IDX1#K>DebA(@0K9̙c"~rr->cz?)2]&|f{á=bI9⥗^,9DQw"ys#% H@$  ~Co@#eOPpF'7"LD$% #D;Dݯ|d+w}!z !teBW Pvq(Ҟ:|Hh?ٟmD-m5 @}bLv@x Brˆ@DD c9ieB$lx#m'e>զ:N >HsRDǑ#G{"X!R1~"SGBg"Xʸ_f_z;߼SX9e9GdMBdϰO$F3"3i?1Ibٖ<7 є b$K_}cꫯ+ #\fv*W\~EgmL$  H@@pIlpW H Db_HDB >8͔-]D! /H'D"ɧgg,Q"! b SUA#b8hKt!!h! "ĐtH,DᐋVZ)8ݕh[Cizb-XcrN D7>n/Gf|)1Vڰ7MYJx}1vfb-,2ʍDqXlR~2l $嶈MC>#!TǞ}pC`Tg 8E=X:;C4&{;wT$l#(;ޱ^[ g3lH9qH {s{;˲n=yGhͼ쵘׿c,D ”Ux?{i$ H@$  /7 . HC)r|;RDACa90P! T!^!RQD+6g?5."ˈbb!GCAĢ\j0ŲF:>9I|ʁL@GD"#ΰGT{GHDmߊ+QT _>81m`ϲNL%7rӈBkM{!mݶefK3X ל"1.#l'tRguY'Ɓz)Hʲ٭*!=pF#$2y;I |^u쿇HI!2]aL+SC믋I"/YR\3׼r5I@$  H@C`HS?1٫$Ц2B\DU5t.m"M"Z*>YRC>b uh{w;+f$JF\QH)DDUQ7EG>1dO!!vqEB`e򡓇ԧ.QhrswDu:34cFC 1_Ø BUZoJM 0"[5U`0\1-~>i0F$.H6l3m9|d( #U}WOW3轠c:s38CQ,S{6=}* H@$  l/@7 `W/J?IS6Yf6ݽb8mnO,kWX9zYF>Ѽ RM[Ws͵kW'4z1ym֦7$  H@@w>N$  /C*d>yyUmT&ꅩFv٪?yY5g]sM|ꤝf|:eNYOFTgzmd;TU6jvy__ե,g|$  H@v}$ . "U]nXa>LˁѴʺzht'MdNzҶ ͓$  H@"`L" H LƢTe]Ҙfhד9IۆΘ) H@$ C`3G" H@$  H@$ '`s$0tXcr4$  H@$ `7* d$  H@$ V&`ʳo$  H@$  H@ݠr, H@$  H@$ZyvM{ YwI'sն?yٷ$ N' '>V@(M% IK`Ȑva7ijM#Гj;1Y. H@G'WoO|$ P.U}ʯ7_8H@݇,$  H@$  H@@P) H@$  H@$  |H@CI@$  H@&t,$AF@nMÕ$  H@$ >"}}n$0( 9uD$  H@$  H@mL@'O%  H@$  H@7HmM`h7h H2d+6n_8]Ԏ[Vo29NYiG5I L#p"0F|A B m=H)oc}0iu,]jqu5 -KFw,k+U[ݩSgU6zhWS~h_>a@;rlU[կ |%'#vyΚ$~ ^ Dă&FoS~_uDCoUSZBSycBx&%׼W_F^55Um_c٬ n^S^zi˫$  H@$06y$ 3"rz#h_~eYBϤg{W^i7fB/X~o2Ӗ9昣>\;^~~k7ߙfDab:f>5xgj뮻ʰaʼo]y25uVd_L1eꩧV>P7|#0CjIDr?jԨ[t=s%4* H@$ v#`n3zkIl Z9ʅ^XZjo|#eYg-#=\zoC;gQ]v"R4kiIa#˺uODn(/8[lEa'?23v4fZwB|jV7xBLlY*G}tcz(Gp;qG9c.)5X.b?,\M6yCU(niw{ɜkorme+-\p Cڥ?夓N*OYi^̼Ǐ/=X/ST'>1h7ِ /e 6(mQSO=Uկ,"}uVF$  H@hJ`ׅ55e$ %QJ/|ofmVnKs9'"6|V[-ܲx! 0/(S0A&3:wUV).QguVA{yWn2bĈf뭷.?Ϣ.m\28b?>}Jx}_ vqz%D7޸l1~|b+h"~裚te/뭷^ٜF6y uꯔS=أ^!xiҧf,5OU?O6#K>SL9c?2*_,$/})i"Y5ɹ|Y=~rOTSMEQQ0{gb^32󸎏EږY95\kf?`v;2hW\|_.HĴI<qMƠ>㏏jD;ssLs9gDyJ0_;~/$  H@;8~ 9zӭZr.x~r.7rԅZ2,,}G3<ւ .[ w'|r))QNO;sя~T.kIJ^"XjJ;SXYfT="_oU_3|ɇNkSOYg5D4Ji?r,-L27'ع"td1-"fa(Oq:D揥όA _^z饘'.C]bcNSLD(c,}sθqjO'xzcTn"Rn)Տ5Y>zǖQyB #XGb6]tQCLc?ʒ7OzD=SA$w]9;ϒ8~?"@dY`IRK{̲ު`Qo H@$  H+tU2 H@}@   )kGy5E95C@Tc9c5!q!Rr*j"+L6}O[˾[^xᨂCH%rKeҍ7X9~C3[tE:Qz-HO|X{疏~eWZVW*&|DP}(@DBM˔9Re+o,ď*d;""K!yw#HbD$D(7ɣ:0>,0<)}%sɜ3L,ؕ2 t֏1H$KGWGGC$O !ZkFedB7"/jqq1Fq%Ĉk?$[b!R`\Rus\\ $  H@Ena$?{Rg=׼OXJӴL[nXЁH¡D!bppM7sW2aUoGC'ruҗ!C;D":#nuSTXdD! wWp`o49FD\Du=]_'\?[x@,BWAF"J zjjP]w5X .,ш#R!GS]V*qC;3o~fŖ[|(X!v"\!vwUW e,e$Ҏc)1?9yEc))@H#2O4UE.|# ,EPB4D8"āuZTXc )B`,7%JnM77RAb-v8\?2תE-d1%싱1f3$#jh:r"" OsY0 wEh}D҆֒MF!UyDC|BC(C (;߮\peV<SD}a- &9Ft *2}a|NVkSM#ʍT]hz]wr9wHR3E CJ-#sW ~sNr<4qrM',/|gY%  H@$ q (؍ H@c,Dby"b {a8D%! H!0hcuTyH$EDNW%Z>{!!XNbF"2 Q?)Dacذa!! !ɮVĸg$_&{ѭh[ӟ4"{X馛v0Bs?<38r7LT!KBIY6rk[3D}*?O";""9WM)DaŪYm6r./Hʃ@"8[g|˴q}}>Psw:-V6S$  H@8H̐$06RF@XWDs*Q,$ ;i|SCX<]b!8YeGo{ ta3jH.dMDs?W`GtVhP,}D[)ƒbVz,%%Z%|;שG6H6xf)'BwD "f[USle9{Qz2t >$Ghd.E|f좋-Z>\|rd#&>9zܳ7!VT# cUcF?"BFxaWyɩZjSOaGg7$  H@@S vMX  H`l)^Ts?RA@a}sm3:{gd셖)EOXJb:MeCysIݯ|+G$%QuހDA9$zI:|ι<憼GHe^m21\ƁDi^>#UNMQB`56)|Д}&%  H@$0X ( ֙wh&: RH_~%NXVID[.DH&]nh¡kf,N# )E+H6i6S,xwo$\NJ]ړ6yh_=-{2lGl;SB\`_&^눐cy,vI,5XV\sC0ʪ 4L1W#*; lȆƾksoha٘W #eD1 9=0רP 1]J+;qG,:Hwug,e-"%QG}t9`Nf,{{-84!.}6lX]q@F2=y<'9DAK%M$  H@@ a}V֔z@Mr7O+#+RȬW- BK뮻nsyD;8 u!bхr![G{=أ!]zg><Y\{WaBa&O:qKqs?;S@C!׿u쓆7|2Ì3t+^#1mx=8㒋/)SM=U\IDq.5Vz8h{_F]O'BK,^]dѰ 70.YGYXD6D6,N/8? b%'tR:A 6Xn2oLAkQiW!oO8ᄈb-*+RsX _ɞ$|˨!cPOuI-fao?9c7B-+nj+0:=FWg|'/ET7I7_\~<% H@$  4%`@_Sdalu'/~1#w *jd"ȫ>uYY%ROd"4eJ9 1D\fuҋ/#2!! n6q"-GC=\r%+{aJD!D_ vC^ea RU6K\D #!AWY9/!}XzG|LhK$Qi,_E mJcO>9;()c3|80tN-Zrn+R cE؃v!D3r`G"-#q#8" V03QU? Iqo/<|!r,eD 2ߙDv :lɼl&ef$  H@@!Ȅ- H@}O ņz᩷emX HjأH&&ڑ 2J#Jgb\`2lF=H/DR=Q_ψ3|D)%r *Ɔ`H,̂Ɉc% 4Ōc~su U"@aK0Ϭ)?\XiϞsjG2WcaC9spLJHW|-1 b\0n?}6q1*\=}W=6C̈́o'*Gx,<(ߏF1}鋔B$ZtHlD_$  H@X$Яj:;i+? ռ=>?ٝrڤTߞglALn=i|}NU?fuTM6x暲&/cy3`Tm[_,ڨ>yxҮQy#{ռK.lv a0$  H@$0&=XHFU.˫eԭ˶5ZHmЮ(Gu2?J笟e̯IFuyY7m5ʺ\nտFL[6ʧ)qثڬo~&2HGYQ;uaj*d/>ύ'ǒuOۙyq^eKU$  H@hL@1s% L Eb3Z:5'/F㹻 KyɕT\퇲z(O[Y7md_:W/5pܧ]Iu8k?vC̯5mc3NjA~>Oʼ5(繚uH$MHDZ&"e3Yɼ7xWJ+IDATGi8(CY}ٷW H@$  H`\.9@?G={~rcux2 6B&g~dEK/{رWb;'#J01]$  H@}I@/iۗ$%~Գɚե(l$$G"[~&ݶhRZ|WZeW O|i?!ۨ[n1)Ǥ- H@$  6{K@)LHMр(e)(.lr+N]y;Od;S,q'5YMYɬ)i-\m!ei#;mV>5;l_WTZ efNO<7ᄏ,啬m4jOU/vU?__nN.J+ũDX7|4^N^6lXIߛ}>’fmw]'Ok$  H@&{M/kK@H7ا@7xcO~RzͨQ~z땧~s{OAL"Qv'^{rꩧ?{]|Yi/4 D_izuv|ʲ uNQ~Laό .`oA?яʽ{a&JjS#r,0?/rx+DtMxYfL348 &y%D:>yA6(>So}?{ r8c, {>$ўOuD\2;}xȣ ?gu2ŔSD|Qlg&.ǵ'V(~}?>#a㡇HOYgOFDqƙj~EȜ#8HpqzyIv 1)e(n&6'm2 H w9GiNpf"`7&ӡH@ @2lذBC4A;#B a;shwe믿>y晧.tK.){)s +}ÏDSO=K"?O7߼ D4bZk/~1ijK/44Zh6pò2Ġk/DR,Hmݢ+"'Ƈ@(뮻~!a㪫 qw/K,DDTس>?/|S D""zm0F @ Q7pCuZp8Cbg6;UW]5vm6w1!&6S0le-1+ 6'[VZyvۅx+0D߾!(„Ab-E|CZ`b_Qxf.?˿[oîWL9~[m.\"׿.|y_`f.߅}_ʻvs=wpe9'm'I+K@-E톃iLyzFWRlZ@[@PYlʣH]+QMa1B>|xHsN{w݈hk&f#կ"i>fCBH>>;h8ė|;k_ZaY$erJfm"j ^FuQ!a,9EĢ^{UV[m="#I,<ꨣB;#c(_Cbi1)wtjxՄ8D92lSq>?ȑ#٧7+GqDa?D!l"2gbXꌨc3cCyWx[{G{l,[E4}9ˡPdYf%D2Dؿqo 6(<@Dx{IkVzp@3^u?oAt"~C_Z9>!ʞtI1n. 򷀘Y8$  H@$g:B;;$`BA"B:QS^,A$:D0!|s AH&nD[qs9gODF4kL,b-:RFOtb_/XNo}L34;?c?:/r, K/{3ْK.ٹ͸C!bvXHbU&DxGb*#>FU-+e.|ħ;5x[+Dz }|LjA8BD#n*C'(v|!*7!jc3|w;g776cvz;o, ̘s>Yj,&}0?1SRX2BdA!rg  Q=nN- -lF} Z!~ D}`h@ړF$K:(kK1YzǒMd'iD9Ȭ}!:L77R'b'p!"mg q/}K9GQp`O9Hˉ's(iHH_$muD1lI>&l1&":CeY6i饖.?#Jo6c,ELC4J! APC>XnYJD_+JlY&蛥Dl"eʩ%D >3>x-r[R1#" ?:IT!{O:Sވ~XI!H5GBtcY좋," {F}~0G"Qd΋K˧c{'#:2EɅ^(H0`|{c)ab’_qQha?vD(H= ~2[s}{$  H@v}% .EIR@322{D$ģϼN6QFG}KpJ{!s-}9oы9/UDLId yw~g} A&Մ؅I#lsD>Ƈˁ!?!эNeL;$|DߴG4%p=7ȇwGȃ ) &'"sÉ}7N%w-}KU$  H@;Cj߻kn,$ 9ɇN>ԛC"h/D>XB]Dqe W$"E>"]B<#İDq>[C'7cx ئnU#T я.l0s%後!}"MF;N*'?ǜKGzIŸ̧M2F"1E=flX"EtZ->zOd\)KKiLy-Q1[xtDO̵wl'`u>iϻ _-^V}% H@$  9>Gn@3 +۩^'p\iv_߶9w>֐q,;uIq5k]l,&>9VO74U\m3ev}>ϤF6ͮ^W|ɶ^%ӯ:+yڑU;<^/+ H  v]H[D95&7)`*d~'nUey5Wi-ԩsd)Qi#O2jר^}yWmT-oV{}ƘuY;VukZ'ʫ4sm~},#.d^%  H@$ %`׷MA_ v]ҰHlS?Ff~6ۘ Ɠ6nYw5ʲ:Yѕjʪ&}}}?]UY%  H@$ #`wIăV$  H@$ IBã'9H@[K@$  H@ڗ]ΝK`@R€@ X;qh+ H@.]R֓$ВZrZtJ@ɧC@\OE%?;r H`@P $0_d: H@$  H@ vC6@[-K@$  H@@[PkiI C v$  H@$X& )OSv& H@$  H@-J@E'F$  H@$  H@'9Z-I%-9-:% H@$  H@}L@۝$МKbD$  H@3׎T-O`HЉ$$  H@$ ^'`@.etwZO$  H@$0` ( ةu`$  H@$  H@H@gM%  H@$  H@,;L$  H@$  H (ص$  H@$  H@%`7`ցI@$  H@$  #v5}$  H@$  H@:0 H@$  H@$ v$`׎$  H@уiU@) v$  H@${z' H`RPD' L4!Cj&=h~6$  H@$ A@n`̣ 0ztMt$  H@$0&-%  H@$  ,vXh$ %`׶S$  H@&1W;Lb$0q&$ UmJ@$  H@@Pk ] h.$  H@$  H{Z$  H@$  H@ v}N$  H@$ ~%ЎsNK@8\: GG! UY{lGVsoՎ{嶣}=;RH v f@/_L{ f%  4 ?s*k`jPg#VU/ᳱ3<]-F`ŦDw$  H@$  H(t=5ɘ+ H@$  H@`m*'`]OI@$  H@@Pv" tvݡd H@$  H@ ;> em6e+ H@$  H@$9 HgA[K@$  H@@Pk H@$  H@$ E@n@M$  H@$  H@hw v>/ H@$  H@$0( t0$  H@$  H@N@gP%  H@$  H@5F$  H@$  H (ص $  H@$  H@"`7H@$  H@$  ;vA"0dȐ4" H@$  H@8 vV@/=zt/Xդ$  H@$  H(ص|$  H@$  H@'`7'I$fK_%  H@$  H(YJ@$  H@$  H`"(M4H@C=zV%  H@$  H(ص|$  H@$  H@'`7'I@$  H@$  /$  H@$  H@;< H@$  H@$ "`^$  H@$  H@`' H@$  H@$^kV$  H@$  H`P$  H@$  H@ڋ]{͗J@$  H@$  p v|$  H@$  H@@{Pk[ H@$  H@$ N@nOÓ$  H@$  H@h/ v5_z+O`#$  H@$  tE@+:I@}O`Hwi$  H@$ V"`J/$  H@$  H@ݠ "`t] MH@$  H@@P/+ Keb$  H@$  : vn$  H@$  H@@+Pk7 H@$  H@$ AG@nM$  H@$  H@he v<;& H@$  H@$0( )w$  H@$  H@L@gG$0 Qprɟ\O^-B'߃Qwَ;3k H@N@ہ$0! 2!խ+ @OmOl{ H`z=~냧F;r~:R H (ص$  H@$  H@`#`7fJ@$  H@$  4$  H@$  H@lی;^ H@$  H@$ &`ӣs\F$  H@$  H`P/×$  H@$  H@h- v5z# H@$  H@$0 ( KxD+͆H@$  H@@P/+ CC'Ab$  H@$  B vpZ]+ώI@$  H@@_P ! tbʊ$  H@$0@ ( ЉuX$ nݭZ+mcJ@@;cb}v˾%  ^Y H`" 66zF'w=i3m- 3vgnz7דI%Ĝ?#k ,k>]¶+ H"IH's=i; ~"6'P'#$A@7A$  H@$  H@-D@&CW$  H@$  H@ '`7_/#ಁ$  H@$ %`׷M$  H@$  H@]P$  H@$  H@[ v}$  H@$  H@$%.X( H@$  H@$ %`׷M$  H@$  H@]P$n@ PV,.P&C . @ @v#@ @ p( ;q @ @XXo p"g8L @r rWw lf @~ٺKO拭yZv-j O@^֙  @XZԉXL/{ ^@`~$G`~ߩt5TJ @]v]X}M|Bg  @$%V @ @ P%6M7!@ @m67 uJ @ I@`iZj%@ @H/ K?b  @ @DEZ  @ @ ҏX @ @vV%6G @v<!]lB @-=%$v&[ @$ oͳ3 @,! [b @O`{ @() +9vMXW`}n騌 @FF(ۃW.cy" @إ  @ @ A @@\1fv8ۅc @LB_qy2v{ /.7 @ @PPn p&gB @ @@v]  @ @ .ԸK @ ]@`}#@Gw~6rڣ~#pGn]wֻk|Wz"N؁@]Qk|sǾYk?Oh[=RtIg_ylE .G @ J@`j\%@ @. >a @ @؅b  @ @ OX @ @vƥXܾH @G#/H @K b @ @ _'@ @XJ@`8C @ P]@`W ? @Qn.5J>f^w3o1vF` @A\*=󺛹w)@u]+@ @ @K b @ @ _'@ @XJ@`8C @ P]@`W ?sYkkOLGwɣ:F@ځCvCmFsYk#TBwɅP g߳%4M@f]@4oĢML @ A@`)  @ @ Z#@yM3 @ @@8]) @ @ .tF @ N@`nd &@ @, <] @ @؅  @ @2 2OWo @ @vF` @ @ @ @@8b^#ZIENDB`Mopidy-2.1.0/docs/ext/mopidy_party.png0000644000076500000240000022736113032547651020166 0ustar jodalstaff00000000000000PNG  IHDRN)$ pHYs  tIME A* IDATxwU7)rCIBB -THhB`Dc,4}AQQPFte28# @${/7Խu! pIhg}(sSyw] T"Ў D2&Im8&CFJ)HE#pEƾ﹮ u(}??GIHE*2l1  lE*R]$T`آ*SPTd [*tE*RT"HE*[T" lE*RT"HE*[T" lE*RT"HE*[T" lE*RT"HE*[T" lE*RT"HE*[T" lE*R|02 ``] M@=  @Û$.y bYvCĻqy#$`L$ !Yva]6V"U6 P$Di Asb4 HИ#hjb %!f"! K7C 5hH PJDZi@စ<c'd"U B }Q 0D#P wJ @ (("DBHB+ !6HD 0ȉC~{؉qBC@ @buZvZHK1U z8 "J)lpvJ @ |@D(  =ć=)A(R1" % bO(1jvv/9^|&aAlK(v@@~(f~Ȯa밄$ bmivk/6ڨ0Ý(cז@¶􈑐ʀe(F BbV'_lAa(whHHCw\k|P# !I#A#j) !(1|bu^ J)۶;(8Zd-̠%}3OxήTl Qlлt6AXչ%:l(Yl'ր$hJ~J`|"ؓJ7cʡk#cbBb( !4IDaG$B`Y5  BHo1SePIHE0, %p֛mDh@ӈmE6 al1+A@DDd @fZWj;c+v1("` FbB DAjmؠ65y8ūTv]E-f8veH Rq,Y"asՍ{B!#c9*ۅޱX'.C PJ@A@TḄO;Pzym.zGX(ꉄcW В& #gj 01UnPGQ BFDCPRG2pT "%صS,HE0@(T4 ),*a#Q Ov }/82qP8f}HvD1r-Kƺ Ph2R+R|@X,!(21Htr8@#b-0))Dg/LVހH[^ BDhBAT[S_"c9oS$Y(SLΏD,\"HamQ#@$BB$"m=NRRA75BߛIg$H! =m+^@DZ)Gϟqȗzb k616*cVTv @ʭΌl),-žu:FsRܵYy/ #D-9u_nA]JAX֤}%ַmyK;4J閼zg5by9-M$HE>'HL8_k+u_kVf>7^5ꛗ6+jO<򹨿q sߗ!0Fgkv|e<#e?X'6 -n8QWǒUJI)٩ \ǀ" CRJ=KRJ 8ZkTE| Z;RZk!DǶmsQa+QI)mێ˲(/)eNgYVRJ!Dɑy(@Iھ2aBoY"j9Q;Nz $̷w!6IW @XJ؀ UPR{{FW9N\#>3T_t P[(%3gbе&%MPHF0BDAZE bX u]D 0"\׼]׍эvlaTqJRTu]ܱsI8}B "_eYZ(BλvIRض-wzM۶y44q(RrfV1FJ8NyfǮR-IfcD$+X?YW_< }BJE"r9Ds'mB۶MDB!$ΔaX,rb>>5m@c|`&a )çf6]O;Mwl9¦Ϙ}[IA FG[^{A:RT*A[[Ⴖ m R+{2`]J",p{{{}/JVA 8A sk8A8f! bDy^rܤ|!D.KbÌD__o{kX!jn j-H0| b$\B}m (U ]q +JRP`Su0 s.aSr\ggwvv^wuf3{~r\uuyB GfRTmmm:fe.N ]$!ysg8,+01P^ HDc@J aL`)# 5n \(UӎۯoK²4 B9Tf?yވ#ΥKvttDQTWWO3lll<sm{ƍcVN-e0zWwww|---mmm?ˋ՗|}fLww 7ܰqFf .L ?~v7|?A[[[uuuXlllNSϿ⋙Odi&FwyK/_Oٹs?sOO#<2k֬vߩ+8qDZA"(i =M*z^W L(H2=ֶD)L.G^#{{ԥҒJ# 1t!"ۛw}~?3B z?~rիW?lii?~< UWW9Ϟ(^ia7R8leNm۶ؖd˲:ǶmV,fR0{Zb6rlų.k$(؝*r\ooի.\xdt}}뺅Bu] ytI< 0͖Jt:](ح ðT*1y̙3lǿ/fϞ}AJ%۶y+=i1b̙3y7nCORLdu==='# ζrB>J)VXjժ>p{_NӖe1άEuu1'yk"h!H3̛7f6Ec9fڴiV*J,+Ml6J֭[EԩSR`t'0 ;::r\MM :KyLkΛ7? ŋ/J&>7ĉ laKuu;Z>]ž2Ly%3 C=c>o~30 mnkk1bD>7'N6lhll,+Ngioocav;N+:;;Ynii7477L&vҗė!t\nÆ ˖-;v R"I&;]L=s=wgva}&kjjڔR#Ga@,AIcE|CCCGG裏;{ /pĉp cǎW\1e=c+VXd?'p%\ȍ0 ]eM7ݴl2ָǎ{Ϙ1vՒXA_4gY!ijj_z5lݺ㏿cs}ӓd.9shY`guݪzqQm۾[.]VQss%K?p6;qҥwu͛j.\dɒ 6(./?{}u0Q,5 %RB!d m_Jn. 16$R2h}ɸ{#PhWg?v -IQVWO??>ydF|>6 ;찇~#9sѣ6ꩧ-[v饗9n<}c:ٹf͚+W5C2eʃ>c}_1cڵkq-YDkoڴ_Q_?y}u 6lٲEk=00QXV__oo?яN9唋/X,u]ַZ[['M$ذaC__ߥ^Z__Ξ=/6a(HJbXUUNKyuuuLIwvv^N1W]uʕ+?ϝ;矿nn#/_⃤RM6x G?o㎛8q*1XeM0 o/-;wkG?w[]]hk#"mpp밌zMMMo.]:o޼;;ɓ'K)|;-Zp1榛novE>*^ G²{.\x1Ǵ?#7xIl&ygꪱc~[߲m㭷x';'looW(,XJL}%D>ZH%%K ;, OaAHǭl%q l'B}8hi{/>?+ҙj,1Ps|2X җ}?~I͛7{QFe29s8s}~gQG5f>Tssy睷|3g]xSN9ŲBӟtҤIw̞=C%Q*/^|!} FZdk6~xqlfWiyGΝ{嗳%;eʔSO=~ar93bf~c,#u̙ TWW3w6}饗-Z+J'x%K^ze˖]~gyfE p]7ӚUUU񼵵arJMM ~I4+q'0﾿?/ރ>.[|qJ9fgqꮼӧ;bĈW_2eJ>G}UWj.իWϘ1 m ~l޼yW_}ud6 sν+0?ԩS?z_j=P&[2Cmkk{>OYf}7n܅^>0 3 즀aE|0 x IDATh4 ,c=/@CT2& ZPin+0`v KDtG~O?+V|Qt:=rHuW^9s&Ϙ1u)8%V"$577ϟ?t\>RNR,bgoQ(fΜy^UUUXʕ+.\pʜH;8vHrz+5 ,;wnWW̶www !^~gy&3:001|fҷy 3g_{ytm{{oh"JRcc ^~e!DWWoqaٶ󵵵v-[666~S9rd˻&KD8~6D)QWEA!H4), cZ~m[yĪjUS['kB=}=83N6T E >a$|fxz'tREK.3fqɚœdk׮VZq7ypTƍtRtgZ{{{Evi||>饗]/f„  T*n}}=}̟r,{?982M>0LӼn7o|M7=өT},'pW_ƌR}+jm{``,tؐrL  qL&SWW]]]Eka6#bB۶AkC^^W٦PHcDƲDDi+!ʏ?TX:餓ZZZ,YOq"aw}3<}jjjz?|>~琚/ҳ>^s56mWJD7|O>yz[l93PB(kfN6"68 ?aOY'd?#G ?~|r$fˉ>ɓg͚!Ia$۶9g]B+W.XOe$x<4M6} .;~V6m駟w +eI/T&rV:S š5k~gk1)CXra&93R٧%_l\spG&D4yd׭[7a֭[eyzbƍp7O6V'9nmc5oKK1f˖-&Miiiټysgg>e}Yq;iyK 'm fuu5ˁS7Lg4\6ua=zt6]nqVE{{ɓ rVZd8w/Pps=5KJl k!sKPQMCid.){<'vL~ӛm[35$mBaƁ%t&eR '~wufS: 9R?Oo [ׯO*;w. B&fDѱu{ZsN:GI7nqXܴiSKKK__Ƿ{u֪{MEŒ/LqO<իmNK.]bŢEXd <պ۶{{{{{{0 ^PMZ*%Zӧ1⡇ (QFy䑼UUUqHw5\lLP2! "`PfMaL&w#GJ|eƌl5'{ c\b3蹌\ r9>HMMI'c'>zssBKܳ,-wfx{_#F!뭷:cjkk9春Kg|N:iԨQJ4ݕ>h-RX mԈZhNJc/)uv0 SEHDJ^B@qD1)eŢkA:eR(AZP1!6tPX a83fe]vZMMmJ>{|~̘1Gu}ݷ|ꫮ*˝uYw>ϱ;m4O9y֭\^=3qοowygUU".^_EZZZǎu-Jl}s>֚!O_fg1mڴ VXOO , ]]]ˌ#Ddfp82KyOUWW_ve7x… O/Jo~\ҡy=Z.oI98.),l޼u}믟? V\o|(JJ% 5e8TtL}q;00p[ԩS+80 9`]sLuww3q&/^z'xGꫧzGy/~饗{ョ._|ʔ)v+9F{ ȁ7І?LA AbdP*tJ cxQ m׸#tJ`P #k %Uqӈ# GXo+K bZH7lA'؁&1uR `DR)%( T@m0d0J"h#kc:NY0!7.0 (K(m*ɚ>}G=iҤ1c'pWEٶ](ciΜ9ƘiӦڶ=vK/sϭ7o^CC{f̘1qR(vAs1 ƍWr1qԩSs򗿼^{͘1F)ϜxGZxYg]pǏ爺L&3a„ߟo%S-J:޿vƃF . Ҵ=F1D@HbYPB=(^dy,Gc;ư) ԻgA"wkelC Ik1I&xlNA\ PژS^~@:JAV\,aCG 8B[I +B]k0# }"Dm R[ae/_2edv'|̂z{c9*Ǣsq9IBr|.UL϶!#,!3MR&J[c yۤܢ뺮}"GfZɹ3QkS(B0]N/oy%nauo-P 9YK"bb:CPUZnr1{q:C2zbdeǖ<'8hgg›InPgac/YmraY?,i&tQhOL;0DBP* Q H@0X `<-  jNuGFHʴD MH |EeL0EG"CvJhLOBQ mdž&1))($a" #DzR6v\DBG%G-M[s|;4b)'%T LBƸD[LQg||e2^)OAI$=5dM6Ua E%,KvdM6f`WUYMjs& ;~v=95Ir[͉6d{Z?q{Ԭ(<1bCdlPfLҢ?yHF"$4b0Ej8@_8d `Cl# a!XHHǀ;p ^P@ HjE@`@ " $ i C` A168R Q!>:rStx'|} lS}.zYnĕlo nSpv^r䒒5\ .BoCYOHg1aLp#p-!  2<*ryA ;/o7 (؀"aHH)0&PIm>~9 HEX, eeI;:0J1`Emnwv]RPiAX(ey_ C HF10"c#" h$C@Pۼ~v4n1!I!#"M V"xe8cxK`87(G O;Z!!*8"9㌅BTS.6ARHhP!R9ʄ1!B`Ӱrw=Ɖ-ip7H $D-&c,@HSy+R+_\?z/ DeKԄ$dkh H ;7μ;ٶGdi"&aEaNZZvbCCMڱC"9Te H lH\DP24 8؅d0bH8eTʶEHE>2>X9ejjґlD,h@#^xqzq8=.I iQunI`&7q'/):) (MhQdȦ؂آHD@^;7.!((T&v(p %C ,YuH%~%LIqҤ^w"q$.Sة_,j}Q^kug K[یZQ<\7KɉpOO8!%$aU>;Hw$U`3]þ?u7{RsVXF8v/ob_ÔZv[oW1wއ F@c^MU.>eݭ )nbdTBH1@] -L"l}A۔ } /QA$#In.E4 $jqdb9 w񘗟(d p$ҋ㨶 r~azIxsg2iˑdIHp^coepRpW׵%RĿ`RRtdUea(| G`_t P-># 4Dve}*r%6bCVHGvIu*$m,!h/|eeۅBv!UDJ!F$ fiJA13sg1&gև03%Zoݺc9w8F^\~xoDvGW5#&WLDs5n{ǝ '-9i乿4=, |IFUt:DsER'p`D2 r}Rf5~~~I|1'J4[%P6}ٰar(mSoyK~/(Lb;LaX4Bw(w=$ H`t ^`, S:"p1jj!6mKJz% Z)[aAHiYM$j + cP!I BШsi*L#@&M0"u555\  NjqB:4$Nb+/4LMFN\M[l%m#,%Ty*"i`ù0*I=9,Qr> ɩYZL&Ú gA™p5 WJm+]qC3nߕR&% ¨(l쪇󼚚.HZpt PGb䁉ՠ{-$i@AaN`qP"2:쏚kVˀ,Svo0ڵXgP?# S p|>_UUYWWSOyw!p5DIyiNn IC&kC9?iStUeY\m޼yĈ'7N\Ŗ9uwwsA@\I ~}mT-.͆y͚5Lf̘10uX.{R(+.K2h9 u6SX˲_BpQGY}_xcmYޅa9f,v Ddi$N:Leqd6c HM`dRYRR82R" A%B"I dc,ж! eȦ?i%h F(FI ,.jeB@a(=/%zꢋ.:蠃x㍞͛7oڴsƍ\GۦN錌&ll-n~!۶׮]ꫯ55,˲6lkUUUq_| w=wu׌3Fɨj۶=bN,J\H믷m޼y֭R;Mqk6 iӦٓ +\5klڴW ^m?Sʘ1cacXlhhXz7ߌs埏Y4IәLIm߉\q&)߾kuX*섧P)$@Yr 5JuHDxG,,7 m4Xv:D210Q) B0eѱh*z J} nٟeD \ll%% FX >:X~^z/Z{R$6B\wu'|2]~qUUkvE]|SNe-x{8+OzhԨQܽo~sWuYH)Q&q IDAT}K/K.x:u\5QUWW?]tѵ^;mڴ0 WXkeZ١A\[֖-[nnn>O=TNR~;&/ںu+7YH8%nZcy͚5_/}sl[oG9n B0gΜ "w>8q"ZcM.455xIaVՒ6[Mkq;CdpT܈"rNR!R:&zg^1]EqTڎ#0-EC!*)EdT#* ]T*EhA%r;fM =_.L|q !$d .sݵ7xȑ#;bx'?FO>C=t̚5Vn~ q=ܢk !XcI$#pwoٲ=SD+&JVX#|0P^$P(L6gbef7`,d2]]]ICo.x'/\{͚5󟯸K.y^mm-su,ͺ;";:3Gftoo/WSLZEcN:k>?<2Tz+544p0 Bmm-<E 'w\.l5 l~]wiӦe˖K\n…7s_<6ׯ5kVUUWa^vݺuoQGŅrqԨQW^y1c&N nԽk)6²ֱcKiDKdH1WBrdYe%m @Fkƥ k}a;  0 њo_1cɟ=.vfV>Q`ro3}O<` uɒ%??CEQ WZuE{K.}˖-b`wuux≣G?>N(غuk6q=z^){ߎI=o޼ &|gŗ-[g7`1mٲe81k…~xw}':uoiӦ uuu8F7smmm_oE麞JJJJpba_nٳg5M3uY7o~7Rr݇a9(}G'O2e͛A{U͡.o#Q?xՆWJk2ik׮0`@,V`AWpOum /}^y啖r 6wO3;8SJi޽!CDf-7n\ x<8hFF</**B/>\ ѠHcn[[a6h MBDz1~{lwaqu=sPNKYJpTvvvc|xKJJpp4h^yrq ())ˮ>}TTT/ϛ %qL&?㊢L6kD"ڲe B'mÇrL&v޽{ӧh儐#Ӷ+ꫯ^m5zhyy9؂O>ꫯ4hP*۷_vZS; "L,)[L"XWW7c<71sWcаf͚+bmq &0.%K7 wޘl DYjYܟ2\s?\[[JQN?6p  S;x<>tP~`띝(M0WVVnݺ5 i 8?ągڶ=`߿aÆ`0_tE>oo֭޺zꪪX,OСCĒL&Հ0h4ʳ&uw}wݺu0RtC#%n4E@7Dp>Y !!|>W׿NӈߴiTʶD">DcH, 1?яO~M7cET2|x:5E;ư/^wqǏ߼ys=w=p b1HxDh1ӌhAxGe!:qrIp\&Q[ ayp [>9sJJJm6{O:ʫꬳv%zX{q<fEp``guuu!`'B)SdYF7?*Bq˃`؝҂$#na$s?>"r | k!Ԭ_>NVTTPJ_zT*տ <7DzD⤓N3f } @x B9Y`˗'ɪ*P`aB!~|~&O裏N>)~ /ݻwWW*|)^ _.38,q^eY@hnn~~! *N#kWco0P^/f3gN=X,6j(Mx:c5WE)ދA<`P|-m-S]]]7nܲeˆ [O&t:ͫٳ~^hhhk^p f͚2eʳ>iC=t嗟vig}<[R?N=_Wo7 \0g߿~O?SM6 卍<&[>ǭD&<1OwO(T {"&vy*1cZ[[-Z4rHY[[ΝUUUD7%V_ TMW^MaÄOӰA'bP(T__~xWZXXJ֭[!4hI'tW,ZhhRSS.\3]<`庺0 8wqSNEj,P(aBu>裍3f6lشiu?jB,,,tb[n9rdEE=:L~PcX8Ƭ"뺝p:J DH+//dr_=߹[\\lJJJF{9xA a_f͛[fg,/QF8ΠA8d:/\?~;vժU< '0{ &ög2eO^9sg9lذɓ'n!-[[X^flqqq$Y~}>/++~ᇦivtt`SS~8VSDвE ;l %|>_QQ pa,^q{.Ƅ뭨9s&Qad2=gBW_=vX40vX~T*u5x<`쪫b?0ĉWXo?>Ͽ;sĉy' N2}'|2B.]zs1"y *eYGqğ Ȳډm~AAAAAO KWUw2emGq%\#;|gg .d}<#ѣ/_>zh<&Mڲe}݇I&]vYee%!dٲeg1bDyy9ڏvttt`E",*++x<!:c|O믿o?~<DhJ>AɲH$N~% ;GymrgO>}(ݤiҥK,XqF/G]qӧO߿?Q0c555]tʕ+|}&p8`)Sqƍ;# /$zhc/xu׿u{1l30A&{&,k֭}E]׷mۆj,uHO 6x<Np!Beee=ooo׾(ތ~a#iJcl˖-~dO>AKyy9v7onhh(((D"?aMMMuF(> ju]6'Bp]58`]]]H$dYF~(\*$aeO妦H$.,ؒ_s5eeewqhߟdr9dzx{w]eee<<]__ ;ZJs_3eYX\td˗/[j03hJvzq֭[:T: [ZZmڊ]!b>(rb1EQjjj8 4b/!ǴRzH$OԾ}B-b0,..P( $ ]HH$…>;쳫8+g2:щ⽱^)=d~w@'D"H$e˖#Gbn`D"MMM=PGG7<BQN>4k>s$C;x\?`$;N Qi"yP߱uoǛp>"h\CNRP7%[B67w^4 Š>Qjf0$'WDN, IDATB8#Z֯_?cƌI&UUUxmr< 򗿼{fϞ8N#..MpO&ݽXAx<zX,6i$XXQfXl1~ 'P[[7k <Rm3glmm=s5}c9cLCB΢EPţ6 &Rc:::orʡCB P\\<?<]v<,..>c,Y2iҤ9sx<7|1">@XHL10l6Lwyة@}{ePԌ]KO|Kn WԼ}XMykFcuuu'N<3~?yCZ[nA-`Qc=3 bLR'xiDtp\r%WFŜ9s?Ϛ5+ׯꪫʶlrwwy"wމlګҊgW\qE8BziG}O?}QGAڲe%\j,ϓ/dn6[=neذaf:cS_RR~w}n .ҋ.BZ؁"{LK7pb?w@cX!}ׂ rVn2{t|>ǑOWEQB'sz;N0!% (D\rI^PRz"O>Aw"jȑȂ n21X!d2LVVV{~R htԨQ.HEEEpR#zڮ_a/[b ]8[׎ͳcz[qyl.tX?*ʫl }Gz) C2Dm79)V Hjk_ be0EAl<\Cdި5wDp 9ypk_}7yi%| ?>~8tX17 |ߔo-@@@@@!V@@@@0`X{ DaEGBy(7ܤ RQPa-r~A8`XBvG!L"\\0p /Y[_l؊xXH(Jv]X<$iA;C V`|sx2Ppֈ-^ +@V㆟ E@`WJ兢ƌ6צ3. + V@@@@@0`Xa  + V@@@@0`Xa  + دs\>mE !Fn~N88 8S*ލ!$ɲ d9sB m.뺮$I0fŋ8dHֶmBRU)nΚuu]Ne 84VuG}fpw.rB\/F@@P׫(i|U/Oi]]]tZ$Mӄ + pذe)˲eeeߨ ҲuVWZZimی1Au()ں|>_MM7df2[CTaCBƍcX,8pUgN]ףѨR[*qZ`0Nc uٰTJU@ \$yoF>}&hڵk~5ksyJ:˰1Y^vh۶ilo?쳗^zC0 v4-L[__bŊg_.r0n裏iaF4kVZJƏf ِ^0 (WUt㘦:8ҖիW}fYM! K.=䓃 RS{7bY4ԶmUUyeY]AvemۺiMн>*mnΐ!CГׯJ8X0 UUUU@M0>]~?d2ٷo_1ȨB ɤe9 p~̋YAdGűc^Y%Im=O>$IUd2 A-+I4T*8,˦i0o":~G}Ϙ1cܸq0=O FD"`^mۙL&:~R[. GQ0^/ R4 ,.qSJCP0ĊzEAjbjML&PqzpJ>{ӧ/4[[[KJJc}QEE-3L.D"aJl.++ q[653{^4̶l6F~KR~?|>8x"X֊@ud2xk p"˲EbT u3Hnooomm eeegi|]:eY|>-Oӊ$),lV$r͛7FZ$g39rzʦ7K`۶$I0|O>xx/ax_r !3f̨5k8F8qbaaa6Vl6뮻. saBf4MUUM$I,+nݺuܹk׮zjʔ)r?&Luxz뮃9Ey<޽{lSÀ+`O۶SO,$ϝ;W_5M~?@sy72~WC7tSMM ?>#Xa|GK.= `'|?6loڵk?L4 @.CwA F@`dX>Qczb$I卍ϟ4iuP(ynA5/nnnHJdYB-7oލ7ؿl$$I2M3>#}z$ =zhnn7o=ztI ,x뭷&Niڻ|{^0}݋.h̘1PZ')ӧOssa#G>T*uǏ?7+D"=3~OS헿\XSSHN#IR}}}QQQ<rzZtr܆ ?|JiϞ=Nx߿իWXqcפ]a' |.wml[[+a+D Ԁ@.J˖-6~p8J|>߮nx<ާOc9fܸqG}}>Nec~iAAA(xdȐL&D4h[o8%KVVVBV\IK)aIibǍITTTTUU aχHL&Cx<|~bŊK꺾e^_(/..^n+V(//?S,YH$GX,۶mkjjz7x<p?" p۰;AUU]}>›|>=zYJ^ ljggc=e˖}|u]m/MN>N8a'clS$h6Jt{⦅|Iuu%K.BH&Az#^AܖeAѐ4N: /-&IaVRRGCfa]lٲ#8cy?#0JKK+***;wy!,!eY>u+AETH$bv.C`P#$籴t:=~_|W^X amr ЋD0vĈht~Sd2l6 Bضc)7 ccc0aN W땕+WlhhضmaVPPP[[o:s=~w766®x<`Je sÆ Q䈢%ʋj+**:s.:dcl(zeDC| 3fҥʘ1cJKKAa455Ap7{yȎU=He|F8DZZZѨi~t***$Iz饗BP޽ !ϗ/_^RRuݟ'EEEx#sҢwJb6ΰ;::_k׮7n\wPN<3U44)..`RDkl޼tttO]Mӄ0" pϼxW_}rҤIEP\]1 öm7nժUs4hͅOzt:XDr8x}9䓗.]lٲH$?xBEb}eyl@ 0a„?oJKKCqVUUѣGϞ=͛Ϸ, x!.*++CU=`;ǁ* o޼+Juuu(BNᨣzܲ޽{x<^PP wnOKE{)yfW]]]?R,>9s,Yd[l1 # >yk׮۷oaa$I~a0Ff&Yn]iiiyy9!mȐ!hwtt[`D"f͚㋸] #O?d2Æ Qr7AU@b~"[N9唳>+]W^hFYYYMMMCCCiii=yLVmͫWd2w\2ܴiS޽~?uÆ  30H_%TVV80T* [.L:9>ox$i۶m˗/ORcǎ]|ի,˹\n}Woذ b|O0АN 2ɰijfz뭷n"$e"aT$PbUUŎK:Mwp_#Qn"tuuQJ+}MeY<2gy/++)YTg@ @v12u:o&ЛE(Zz͛׬Yf8N < *pgH$Ib.@4u]ԣZ@./ C0M"exX[о\' p\EWEQzyQGJ"`:n f t]t-p?+r l6iI2 ]ݝrr9|O?Ueĉ?a a`9qhZ# "WDtxE6ǫ"uî(t# )~u&9Yh8rQE@cX;vȑ#y},iuO ,߱Œ }=\6 *p&wa 0_~Ɗa`mzN,~F /~|?ziz<q;\ReY$۲];r}u`GP{)tZ$UU*EQQ\ig,˲mR꺮$I{x" `Ƙ8xջa EQ٬eY{z|4ZWcض|ضd!@uB1UUMӤ߃Q߂L1Mu] d$1M3+猀yw;&$'3Cl$?0v; 0{}>8 >y(c,[`6鞘$q6tzZ^uȲ,kHiah9`CPܟ1 ca0ZEu- ٬$IUxw>7"I]2gȠj 'I*^NDt>4- aCw;wA\rCeYlֶmEٙ:L+Pq0[:0JdYY4L>G)lY֡M{y֬K(١L7leCU+Q%(R/_@%xgX10xńI/{Zr8|)/l6<Թ뜇vlF*$I\)g&(z@Ӵl6ŭ]4e0Bêz1gvW+1f۶5 ,7%g&&3^ i%3m0^فU]p7UU]Eo<<,;mTU4-1HJuyIAR0s;Yx]*L( s¯]GfH2e*$B PVV\.U !s%*d6,_,B!} L&zada۶,˚\ÂauO`Y[K<,Ճ}R,rn|] t<$IqKa;7Ҟ z^Uvx XNx5`oꐢ(bIv[2h ڰ`Fχ[if]3 mؓ V̥%L)]5f#ım*QIoa%I<,fTUU^{@`41glll}=ٺL[,qq^x<.¬u=Jmٲ7_8\.\溶c ݜeYMMM_^r#4UUP>Ms+0*۶mbVL&nICAjiH{Z6>L&-]<&\.q`LD5aR[,ˢe1\\зۮ Lr`=&llggh4PJx7J3iFnGm۪j%}_6Tv"m/^_f&nODMLy}^YcuF $)dYWXX|/áP01*K$:/WFƁȪLeENaaI 1DZbO>y鿞~ƙ#kGȌ0IXҹjRJeDZKdYqG$\. FΖǟI#F Bk+溌JK#̕+,;vLɶa$Ibeu %ɔ0ƈk*r5I1-9a1FW=DX1kdlfIy4Yᯐeu8TceJL˴nٳ<^o&5O1G0Eի.#(i惊rlGJJ,$ɟoݲagc{dR$b9$K%.!̥Dєo.sWbuCMݻ5wl ,)udI!*Ieʘc٪$3ƨ"ٮ(i2%B*=ݰ-u<ޚh]QcGSEV\Bl!?;[N|P1F$L1E%)g6dkժYeԲj6r^E\lה%Iql:U$ #QIheV|(j˒$KTR-uuukQYfȊl,s$Y6-fRqlYc";\&K2)2#D&Lb6缹m-$3Y.,,:x#GF|6g٦eKB%JrΝ|ԚᚮRR٥㺄P]cy3ӵ=p1qeImWMCrv\ۆ:ӧrq'`6WQ(%e:61BvUQkU.\؞찉z4˶)e2!s>{ᇷ[]YMJTQT sY[cJ0CټGY71 _ E,SzD<\ߺd{g~J+z?_wyQ4GnhBJDS=JZ]TPLWSt&kF@PF~P˰_/_q'm[y"hULrFD>03N93PLmBUɯzeZ_0 œ ӵeI}*rWWJږMhe33Mv\RME^/md$*14UOxYQqlۤʈ.SɕaX)-80JYnhhT'5G!E|*%JdYJ3Y#dF oi ˊ혊W}}[ހcNjOʲUYW$jID\硔P:kiDIzH#Ga \65}I$Iv\q>mCʪGe͜Q_WY7u'|Tm(f4 fnأ*z,)/If47̀?`;$ɔHLگyTITw-Î".#F gؔFdK-p)}{V1btNҝMS}?u%8\NS5۱eE1 +o,;yWeɮ߯ja̰~a60SuAIL˴[Veb31u@˲b\Jd4~qcX qv&~ k;(HJhwu˯:#zY(뵘cXHhXRxg|W"h4ZVV-UHaA,+DGk{[ASa*\ֻw6ahɶ榼LkG{{4x"ѕKm-u={TVF*m]yks{U#H$Yr\&1: Y&Y3kHV6BPggJɵ5]oj`жmR=J,w]y<)QA D*0cC6v7w%Y+oYYszzM|qlLcS It ь4~clp6#~%ʜ5g?Zslϟx /)t~̰֙(MQSY9'uW~c])H`DPXkTwse1QB.;sՙi9B3KP4gY p>:qhZ[Z !-%ՆHf4ڳj=}=o빈H)=kRJ-JcCmT@1.wjP{j`oOoW6]|2%YRkT"3@ӭ^kC',fk8NBPسsᶡ޶B#%Dxր`Rk9uB궭Y-謪j*2)eDzyK²˒ffiPغΞv;S, )1p8+jNUECu3<J rǍyݝ~Tf0ZiJK@_yX(8I Aq^*-8*"L7̫/w&SS5wlW}}i2ƤRε*p[x٧>q8@[~[; .?c$H }{OF.v븎ȲRfư"fLs=w˛=/l e9zNR}ó !ryk/J}G}گ\)gf191O3>߻lQ|+7py,M5٩ٻ{vvl";񵯷[ Ͽ^}?/^?#ws'PG5 &^qEg&:pϽnݶ-o /|aԒEK/p*nZ{76ZΏR=tw\{}]}Z~W ^z?%Sv ]݇ALMOw} -egu۫6opc׎>'kd^x\VmT5{go]Yo,s+bhUO?tKK˲OLu ^}=}7xӼqY ^^뮻a_o߁OmAGWoG?Z04̳r\'SF)UkIt䧏<~×nw^ZxIR P)%R53J9sJBxI e 7PGg*,Wm?3VZyJԨnxvwqԹ#z;o돓8>@aQf 2i?Ͻa 5zVl_r{}Cu뮽'O_m_4KWZw95:I:Ӕ2cLp|3|71vz)g\j-dzڋVZ1q4K/R°5&&g&jo~"3$BuKk),&oLfG~$3V=`T(Cl`7ki-z3#FA+qE8FJEqݶvsX.ӂtxkRKA#him?_ɟp# h CPCPD>={ q)!7tӂî4Zxc=[W?sg:^s5؅\酫\-m޼iZ95o~[~Ư9ctczŁkB)%DhF{45hh@S8Hg}椓%?$ҥvc-:ɢV/^݂ށ.vO<4~hLhQOOvfq|ŅWۿy|+WsO3?}I_tF[ IDAT~_D7NNO"c?3=_Ka;gM7m߽ .}d5W_s%A`1PB\I$j6ГBWϿKUei朓WԈR)w sW}v%!L $j##O;;t'Qwvv~w%J%1wbP7#\di'me_&A0qY]x1cPuJZH_Yb>=OGYP^P)MwӼE%wӖOT ϽkN/Ѵx{zq,N(Ya죘8ZPf2d|_LJM/˕zhj2N{vE_3>ͯ<~9k^rE&$2I13=h6jR"t\S(1oVMu*HE]qzz{JRVF~LpS,*;P 4[q8ξl~+!՛ s cYgYpxX,Fc6fG5Pݯm}߸yቋ,cP"0->E.z]m]*uM*PRή.YRzT;{O>؁-jh?U78sʭfڬkRHFA!(|OJiENDVj:ŰP T"KKإvW\!gٲeoݶsלרU _Uz[/LBE͠ [m ao_7lx`yhkF) AUVN( ^* P2!4yʥrRզSF::;Z¤s c-:ajdxx+F&&65rC)(40gx°i~fOGoǣccSN9%JQg'S`w?wWnB6弑uF1=m6aK,Mӂ뻎`XivtaGs=J Rp̩u%el[e$Rr]Rx $I(Jbs}ǷRXTŖbwVPJEVaߥ_5S)EF I4hr)=KgB&Ye<)e/ozX,,H;::ǩV--/\{_|fTJQ*vE MҤ`dž8K<R$4M,s\UA׷lJA4/2VՎ,n-PB`l^u㸌3 4Q"P 1hg8<T8Rz"輟;U20diiJ+VxM/l p||nndqRA֖VyQkiiK$le.w(noo߽;NsW7~  FPF CCC{ugff <8cKP$ ÐJ#|onVMHmLbs.$,URR2I)w|ן-'Lei] aVJ(VZk|ĀC`4CRWG)\ zmri2JL,0@B4)Tk&)WI9y5לsV>3M䣃喖R1 /B2ʔRYw !|?HD"2G%-,[MNK)]Q3I.C4M[噙ㄐF.mj!zx^quB2;֜}ΓܲesP]Z֒(>SoM`î낁4Klw_ӗ]i2Њnnj3A" )%`n!?IԌ ~!RH#F4'y`@Hcq?jڴTZIe" ff{ѻn_2rQ;42r*d& a\F--R9JcfĀH3DtC Rj!=%Z* RK Mlڵccٟ$Kr0Al6QBHjݙåB)r4cjV(fk #\)pwv2p^gu=>wl/O?4!ٖ2eTeJkm\m]{5t %RPJh>Eɞ]{ Ͼ85=T(Toټe[ %Uc(3A e$HhPkMh&8Ý+?H*ȁP,N` pm8cH)q3Z| 7TJY[JVSPѴP~2iVfg}Ӑ FGF,B2?(( ["8`^l)-2c ԣfT4$/{֜pWңP20ZIJ4K,iFJJ5hTYd"y;28SB@ms.ӌ0B di(@ Q3d%^ym] kZn``nR¸)ΘG\fէoXٍ))'ڱh}D:0 0Mi}fjXڻoϏ~pg˖XQ=Zi)( s3%U>gͣf 8I~sÇ=x4|RM4#GպKau2#F:1G ь"et!,[מ{G;ng_{EI3" BA4LRFFk FCw[wK[zJ$J]ωR:NPkx9ǝZ"D!FXwg\=/e"1`#]Ԁ*^,R? \шB>fZ`=-TJ򩧜ܳ/ ο0ô A(^@B845#;+WL9C$IrZiPn:yhNX)E)۷{w922z9#sppJr1(xcGze!zONM+ 471yj q(])aҩGDIA489e}vCi?411Q(4ydž}jէA9]dH:[45*c6a[klRz"%5fQB~ ߻ktc&Iy`zPHսtGzx[qrjꟿ/iְ#.%E^pi?/R֯SJh-(!R ̝ƤFLJJ4D ɀdQ"4"FȄL$T.LPD 5l-@T xMwyf3뛼Gzp(aP.$0$H9 !:"V˗YeolN^3SFy܈/$JhY4Fܜ?```',Wx?qԌr\,zS@qVUSf^@A84l2wՊS7l+tږ/[Rjٶr'&HȔ=4atE Z'=15=lپ套^>|WRz_*ݻot_>wSZC9((Je|+&=n2h4lzηr%Qʐ99C@ 0Z*J(clvvv˛[vcλO=ULe"cP4c@PkԦY{s'7rTn;nRX4R&'#K|׶mqNKaA+݌|[1fzͣN!JAHe@3ʐ`EiJ#U>"I4j64e"9lFQ&H0WI5b*&p8|zzLT6<݃s,|NoI 9ɴȂq=D E e^22r;x[[>lR!x??_}g>?]tUKje'nxz/^zeZÜe˖wu)/,iƘC %)dl-};A]7ϟBl2>wA!RQ溿{kfw}g>{E_(A͢0/J`^{N@U"Z -O|0.J ")MLި*3Fǜ3Vں՟ޞWf:ERvwcAq7#uV@z~ɧ^z%XXj5Z/<<ݷkǮy= YG&`hu] B8MMRGWȄ28 \oaW݇Fk"]? DI|bdPQ2QjROXK걖Js卭 LN]u bJ\<;xzU'q]ȁLmhh(( GzssD r!"9]WL#A&'*3',Z( >aRc42Νo5 /XT&@mAM/K)L-{ZZG'vό;JV=]tuvsTe9 twu;ZA<U3MFwudCKt~tyРR 9:6Q(e.eW^TJZ?uyITop|f͇05~ ;wi4&SS(d R%L*|3%2i eD *5]$I)b1P(h7%jeyEBgJ BA"H|CDVHw\7N$I r)E"Q5ޖ(n(e8ڀu4^PB۶ei~$%4JsȄAcuҁ 5(d4Z b}T~E}@3R":V$c@I$NFsgh0㜹qLQD Q âҪ7sqB)(ICZ8up@?{|__`x!$  6qdv]$ y_iV8\וR5)61$纮&h4qP*ZJt*@iIQQ$ Zˑ4@"3R+(3;ރ_+Ï1#zR)[,[::[.'1%wΉ}ǐ~>Sw=`Z'>Tdh9\hᥙhYww4MP})r|ǰľ߄|!$ߡ2I2aEpd },@ v݂6pB>qSB׈j> hOE} , ZcZ!7q)1~H @Jqlr ȑL&~Y>|y4 cyjTZGQD)R$2(!f1erep\8dkJ+vq"h4 ժR|۽{1 >75̾3*o8Hpbrp/=~'q8T{tϡFiPa#n:ԣ; c4Κ3i51AFgF*ɐJ2S+9" hw^yUEqTVbTd$CÕ IDATqYw7w|/hC#I$n" ZѨA9Lnãv,:VX>.Llpp}=_p~"F6=;30805==qh?m:ĥrqء{BgZɑ*y+STXCP ݗsXZm4]tO{p% 62o`k{~ﻇ,Y$۸/~ XiBl1oK.%X3 /hFaz掳g>8<59:6b J빧>/~7??3n!"\KQ螞b|T1aQ?z`X(0B㐌<#o;:~qى ;ڻi2ZsBGm͑rg (%LWGWXV*o̲!g9:2z={{(n֛OC sל{%ut'Y&AI) Pe215Ru/a04h صcӦMbMIp^^t=W6l͛+XJ޷h4 eƥQdY_b|bX&T',Z^}i-NY) 0bbG_ ܹkیA0` "F Z#(І*M1PA퍵X,~%\/ {o/<[sdh `*Skľ[,G+X,bbX,Va-*bXX,UXb kX,Va-(,vdbDa# F_Z, B jm4fΪ?K` 0Ę9F@cM-q"NCa@!3gAİhmWt hA}-x 29ƃPX|vXbk3'8g=^+]G)=rb9 #\RHEޯ?,9&7FK6bG܄b!ECa0Th umX6gū y_BaC"K R2E* !h.r<(,GZc Ej4m(A5 @d7a͜ #\ 0FQ; 6kXFB)RRyC=C¾Co=ו&ZiFH=1H@iq8BQ2( }[6l,{8לqXd@P‘X,9H3Rk$Er 0Du};F9 4R)ДPMX,=A`ȄPFJ JH֜uh( AfC(8b!RR %G kJǴhAnM`C qb|%sMcpcPB SXB0=+P\&bw'0pOZ,?Z,UXb kX,bbXZ,*bXX,b kX,Va-*bXZ,UXb kX,bbX/د}BȜRۍ  W߂sEFkmZ#"c̞r(l.i9%=zౢ5kXrq;*ƘcC7KJ=+a~L {Yb9_OU?6< kbg!ߴUk(,Yr|pKRA弝 wC3Q l6:P(0ƴVa-q%GjUrT>tA)UJlOb9>hZ CAU^a(0 cB!!fc-R*Ͻ*8r98=!,?,*Jb9眿bX>-m%/Dt'˲c'C6o +"J)bn k^:Zʃ=+lab1,!~ iK~/]i?챏4Z,J)qy%?ǫ$EX,wfV@ؾ!abXZ,Ǎ0 1o6w\G5|=bXs r1F4uA z̵R` JL#Q 7 ՜ AqmnX> kDN0AjJ " s7@t.@ 0PAh(% pP@@#H%b( 婗8IZ4!+f$ $gs$-,q~'PXdCDsQ< S~xLbIs\Qmh$j$Xth:K@u6z! PhZ,2訨:]c>b+2Cq'2%pU4)sZLbDX1)RDbʔpâ6ш|#zPSM$N$IP%IJ&X Q!JGjjR)EQ8J444{^4ceJG{<ǑQ'M,˪mtHmiȌd2iY$ISJZ4MP8h,8 B(G)hb1 1>xqyaȲ,^c q_85e&IRm1~"'>C:Q(jjjRֶm|СVg>3 QHu]q%hp]c=ki:$) >D"8N].!4M|X NAPT*%NgYZ1v]H${`0].N^1˶m/$!O0 cxDuc~UAMp8p8phCks82"?: Z@oÈey~?G_ETʝ,ܲ N-q*)\hJ59Ģ'İ%9Nt[l6lsŢpJb,Esz ׈C" &TbdӦmhh8t޽{hQQZr^>ѣG2TU5lFIs!dΜ9+V9rChm~Ν5558x`]]]mmm2 avmգGFHgm&=F@`~D BY%IZr;iҤT*%[4uݭk׮onn޳gOcccKK֭[cXmm-&뮻.1"J}x'I(#^UU]fM{{{VVmv7lr|>_2t\dR$$)JoϞ={999`C !G{ۼyo~ 6UUU jmmݾ}{uuu}}quuu999sUU1v0hdɒ|pĉYYY`pƌmmm#FȔeYTCO6mjjjc 裏瞱c۶ׯ_?{hdQ5@i@.iN?ZŶmUU>^oذO?UV|. (5Rq B ܨ>5M3 W,fvu]njE$AAAj+4/7B.E.I"D)! mĔfXr.e--Q#,KD-L1N)g3ْ4]l&Q9RN !/ŋ"6H$MMM_xan7tʕgAٶm'   2$ ٶ+D" EG4A9&;TTT<3:uY|O>d?qW[g͚u駻\.<> llK$pXH$bfkk+1[ssm֫W/] 8UUUwqG<7 #Vc߆ >nw2t8I85  [pYo_\\AdYxVVtLTfv㏧N +qMEc$1۶Rf9IC'ۃ۪*jX 8tI1&QN9ZQلSʈlN,1R)we˖.[nq8_|YgURRz0,((4a`q\ s!b{キk׮pԖe _ri1t:u]1[ZZ~,bnndR@ l*r8#G;}>(uuuw}ӁXsh4 ׋A3Dv$ m Zx;ukjj:x;vcر><ATUBj, ~[C1 #wL&SN1bN9oooٳax{СD"Ŷ`0b/K/~M6׿期tIW^y_~-p{5sӧO4O>h.&AȄkXbRmSÖd[ܯ9ے%(] 6d'[V>PGRj[̶!pB9&-MsɦP-fsbbjJPvX{ӥۭW_}7x饗|>ߞ={nQFɲ|r_[[?pgm߾n8ǎ{B@#DlO>}EݨfƌÆ 뮻=Cҗ_~'p:>rA@x6O(Z"T t 5ćƙ3gX"??Ͼ馛v}w5J=\4v۶[TTe˖'m۶eeep K,ٿYYYCC 6r-i#۷_~zkn(؎SL]RԠ1AUU BG@* +~{KKK^LH;묳L `1 y\DXi͔ҁN4駟ޱc1 ~2P(p88@1vx/~BYbœO>1BQٳgRaÆ$޽?v;dȐ?ϠbF'pd;>h߾}fBݲeK]]ի !'t֭[EٵkK/cǎ:,z*r'ׯi|>4&LЫW/Bȃ>hѢ;gϞc^nnnnnX5 N'!*XDM*Viǘe)ZDNPjْJ\2!]}%OǜT] M3eSOŢNn3F8SMX6'ܦqAԖ-hLQ{hUO_Y/**O>yg9s̙3g֬Y-"t}ذa+Vؿ?;wgyx{=o޼wuWYY4Y8QN$I[D%KLӟOO6mժU`;v[WWa˲t1Z[nݷo}PăhSN9߆ザXmSB(!Qb;,"$+.qKIf2嶪&D#NqoD Opqxp8))68ʩe%BMM(rF\xq.]JJJ@dlܸq7x~YYȿ޵kWcW^H0{mݺe˖_iiiNNc,L23fQEQQ[[[[[;rK u8B$!oa 19a2RN)961MS 74hR%o~WNA^ČsȗKmX,͝;WD"m۶={\YYY)ZեKDB|>blii1cF$y zd2crM>=//beY}7A 1nݺ |t:.\6:f̘7xc„ e꫗_~ynn.!d.kȐ!`D"`O8Q8^v-#F"!8#HT*--7n-5kTWWkiiikk;.ѯ_?Xvnj^zAL$e[6mjkk;x`KK˘1c52O)ѥ^ګW/ ,+B!(q?$iѢEMMMƍs9Ν[__ߣG@ p4&L~=''GӴZh!vCAra۝Jrrrr鞵HZ8EFcʟ5k֬.hmm=zUW]UZZ /pt0Y/2hzإGMѻo֚N8aرPѤݻRO ,%sjsj(JH0RƩLWUTUaA (a==xĘ_uuuAA?'|~:[A`O-x^:t[n$M2OS]]]]]mۧz*ƘFHㅗs<s/ٻw/Tj̙ݺu9HDpl-8Hmii;J> ^ouu"6z9sVVVN2e˖{'9rРAÇ*zǜرcGpxhA?]#ܿ(ʒ%KEy'P(qc?"`@ispTB+d)Oa˕H$ |wHkq\"Snҥ˴iӠH{lPQ 4044Ϳwq̙3;wx׉V8͉I gJ'RB1 +e'pJLbWE,[aovQN48~}݇Xk 0FJUՇ~W^,Y/~e^^8j&cRT,z+ 1++ :~zzҤIeeeˆL&AX0>EӧC=%rkk+ c,Y(MCC?p@~䢥)J7_^^rJ۶{0`믾*5,YgϞ^{ ŋ|>e)dҶm,C&7բ}$I(i >jذaX #gggXb5;Z)p8@1X ( Smz1 Yl%pd۶h4s!a?}_WCk"Q|H87x`]ׯ /QX,F1qal/fNmB9ڄqF8F(6RL4Y2aD։n?ھrG-\"&?zv/It:) 6FÇ RRRm۶;㡇G'5 #`bm;L:!C\k޾zj@ ӟ_$i֬YSW_]nx"wnn.[0H$t:`m1ã #iHwElNJKK_zQFA)HѹSC}Wt]~ҭ[^{`0??2ΡCڐe_{1n 1g`e~*IK\owudG+++xLKTnuLҥ H@i[[[m !U4DGҥAۻv!뜜Z M0 3 ф(1:Ĥ Z 9%ɒ`w:GZ؄Ҏa8%IE,N-I %(>ֵdG6ͧ8ZGWX[[Di<P(.V(m(J$]tnݺ Zp-ˊb"Fs755a's9GҥK/_~饗_"fH!6lX:iҤN:͙3j޽O<Ă #~ppBҋQn("KӴh4 5vuY˗/Wkkkincf1ƺu={Dyޒʮ]kjjVXqС~ollI# qHĶx<:8Xp8W__on޼yٳgқZZDjnn^vm.]cРAd?hj0rrr+V~3g:th>} 5kܹsƍ7xҥK~ geewaC.%.ve999Xfye˖E"w}O>3f `+p$O?}QB\&uV:كeO=TqqqϞ=EP(DžF'V'g8,!69W&Ti,ŒQ3ªC+7}RݸTLoaH&ոN$2q0;;kD"4,VI<O޽1a\\DND"1~ɓ'[gqF~~>P !]uί!lz}9sO< x<~ 7q6cĉpޥKYf͚5kڴiTW^A HM_b"`޽;RBw)''FQQN2%Hbye]&rNh/--Œݻ woС;v>|8"HLB:w, a%1\<\>8//Cԯjل#Fs=sb.))9煅XZ`c֭)S be>}ƍWQQWRR〸v駟FMMMY0?zkawyrs='f@ ~!US+'j =!=9Z,S7n܋/xg wyzK.hń  u}߲5k֬\N bbXeD}VV֡Crssg͚ճgOck֬)++C'N!,9^KJuDm-[B[yvgiu[Uj[iz*A=& [ΚITkT}9Ҭ&sJdi33p&[nd ObYON(:%2푶`[QQ C@~(!]bfl$DQD9 z^!acy߾}ŲW9tԩֆ Ttt4/gyfРA<ؾ}P 8=YA]EQ<߿.]MRUUչsg5(:rNgAA48uJiqqhp8ؘ(c pYYY^^^KK XP(ԩS'~3+**.^xaРA߿[n;ZrPIe),,,,,t\@YdMMM%ώBY=z􀻍H&怺:JiAAi@`5??!;;;///@QAAP(]N&B uSSSvv6xRyO>'܃O"k׮_Wf3f Vm$zC,/EVWW@49"@b텅|1|Ѝ򲳳*F}>ߙgyUWs9=7,hvԽC^XX(+ckn(M)Ge(e.ܕ ƽUc+đ) .6@lJ88#!Īҽ{w8R=zw#`(dr-Pn#z<,$77OȸFϳm 0aFcccvvvΝECKicc-2dȐ~ULD4Mǃ%3*b+v1  %OUVVO(c |R(x`lJ0t:hL\qLUUQm&tDqpAkR@&={F\,ͨKеk@ y|-]m5DXa2(=z@ s8apYDBh9|MTPP{D=)r DvZ=QeFPs%_d h)0ұJ)Ji1BQQ*4 XqP(G~pD~ zx-F-esX:OẏZWeEI R&ߖ8)=5-Ḱqpɢ dBBFi:3M'h8>~`jb&kjAqy^ӌ3@@(/F )"zQt͊U=tlc$f9$E Gb8khB6 o\E4=1YyMi0=nplX$-sl !Bˋbcb!@"x< @m0TQE+xh4+IJ𴴴x<DhTc2,7߄w{#:!dʔ)UUU<~;0qXY <;`w!bp"&%`r7nX__NIwF%PJ!ؽ8PrNm.Qo˶L&&1m(lLƙlSfM-2o2?- ` * =IPbaĂ"QT `χ" 1$Qz ' E\:DL9آDϢ>$dј !̨i1, LIDgҥW_daχBfP1FDId2zE nb*'t0dx2N" S@A蜜8N$Oҋ:H{, bmag,c!pXbvX_aU+/3`prq$da3`8/T 8PoMC R hfl2-E=qDe*:V/@pXz Vv֗xJ~e,c;nCQZkԟscMDKw\F9%'<Yy:)Fe]Xƾʥǯ@we1o 1?qGGe ;ڄPpNG_JM8r? #""> MR1w[X2#6e"&!)vȰb'0VG0SN)0"+z.N9%KݨeY鋑BuP}J0YT. u4ME"m۩Tp8 i۶V#EN`B9T =Ӳ,B*3&%lܽoW$dLnN2#ttB"Y)ʊmUv =_AXToXt $0$IB9Nx%("EuxLuUUqa}-Dt: !TJU!:Ȳk2 8碛}K2M0 YeYVUU2f.OԮ] 'd̄ĈM ve6Jmjs%q-e8eJp[U(bQN v9lXz)3|qv/pou}*˝Dɢ.K`-W=&slmլ1v߼DXNBѴ{OU'<.TNlnS&ܦ_M(%6!Omni%;Nb2Tm]SY<V"EG#4:4\L30=NYFAtIpm}DMDp夣ZLӔ$ W(7ީj`M;FPةz 7%KS@$S~x+'F(;(('3cKME=&9J bhD&pN\A]ӋႶKTGdx2 CQ\rxeYB0۶Ŭ;E Ȳ=k;bBaa.iV2iPb%m=i6J)%r).00,")#$M,F "a)a4!*n? MF5Mf]cY$/5VQ۶$KЦz,sv}+͈ղP(p84M|Yu]7MtRJ$+t{ιa~=QBm[.N̄m]<_38͉I9dfJܴM8mnZ2e96-Eb2JdE%DDFeB\x+xX,ςuu]_~eˢ(f# ۶>?<}J0!6\x_gLJwo q~Z`D #-|0??NR[bώEM>/YM|F\x@d2 +M-ݿҥK .nሣ2hqߥ> !. kv<_t돞{h:q.ѰG#sH$;vx7ŋoڴ)LnωuKw2u5Smꄚ2)aKȜY'J23ip1 3uqI3nəEL"Q*QL%#*I8λ\RU`0XTT ֧OכL&{xD^uǃYft8L\D"OΛ7o׮]NvuY'tYl c T_~ѢEhIM4Mu=;^ZZZ㏏?~ر!D cu8xFX bQU5Lz<47oO2o߾m۶Kcǎ=p_N$W_}5X4줲5jSO=hذabG7~+ GʫMjX,J)SS(*DLY y?4Z/ɬ]瞫bsνkyt89zeYD"(>/H`hٶiX,vMJ#:t(TWW۷Oȣ>OedANUp8 p@O*K1֭[7;ǯʥPJ,X0sJ)P IP(PteYh8{4?m$v;N ӣɤih4MX*–>H9NHMRP(K/}gT+7mEq8Lxhkv~~>t 4#HtAYc GH$Ng8]ض X||/t0Ea y͕H$\.$I8a---F- B555$)??Rt:5MC˨Y\r3 <_k /Gajkk[~>;|19sDQ˥:x0@ `p hI~˚ZRBgԦS#[2%;EuDF}CsKW$ߴׯwߝ'IҺuo&M~ GQ漼<۶A|4M 9 $ |>۶@:m;++;ܹs:M$ AN'c,++xa:jC4Md/y^E1 wߝ8qbUUҥKnj#Rv)kTJQ `vF^p8xc߼y3!dĉXsΦi\.4~eܹsӦMv[YYً/x7p_4 SO}W\9?~^q:\p p߾}:OceUUU͘1ôܼhѢ۷B38K.1=֭[c ^ve.+SJ\Ok8pKZSSO;3τa.f/z%˖-3 c„ SL朻\.XPx1ŠCdH&yyyzw. & ;,^MÇ{ݺuaguҥ0رqÆ 'Nt:7o.))߿?ğw}wUUU?ذap)~˾-*`PΩMg0g-Imԓ2ntZ'wҁE.eSفq^ʊbp׭[xbIH7|o{:w1J0<SO=SO3zQJ~?8`45 ' xM7}sgJ~޽ްa… EX{{s=sNw߂ 6v?pٲeHD41? mKfgg|ɃniiYbd"0MO>;w[o7.//_l<ӧ/YSN袋c7pÊ+!HzήoiӦ^z͛7^UUuWTVV}^xun&DN*++{|p֬Ya@H<࢚bŊX,ֿ U,X0cƌ^{ ‚?CJi,K&wu3<ӿK.s΀ua SNݼysq^̵pUUvV\N6mɒ%Æ <ҥK .0d2t!ax<?pڴi---ƍC=p|ŋq+O|f͚ JѨQwABȡCJ9c<OGfϞ=7ti\pvoܸ1߲Ji?3N%IuY7lRHzV>!9f)yS$f{uC:.O$|>@kii4Yp8!dY馛z 4}ڲ2Yǫ:o޼[n38&c9Ӟx≪^zQJ?+BUŋ{o/bY//.Խ$P(znݺuܙ16lذEuY`ѩS5k֜~F*,,ܷoڵklrSJΝsο/ƍ_$7oѣKJJ5k֌=z @_vO:uÆ P'.]*Ic=C:tilٲ+G0DPဂ >u=Hܹn;3pnnn8v{=ofá*0Xw˗|͓'O6MN޳gO,i n~ J|Ӊ9`0K,QFA*,,DhPXEE]wz-EQm۶e˖[nٲeǎD˙@~kkkTsΧrʧ~vꩧGO?o߾j]9\ݻMh4 ʃd4M$6,B***6nxE%ɂoݺuIcXlgqFnn.vVVVkk+y֭={>|8#G9v2Oݻyn[8drƍÆ FH //,Jeggs=;wz@ ʩۻ(+|ٗbSڂC%iڪ-?Pi MQQiTV}IUQTj#ɏuBKCSp1y}p B9Bhmssa۶ʕ+oVTT@91⾾>4W^97 4ͥK%YJYQQ8H(x׏ .@΀F߲eKYY4L&R~tWWъO&iZj͚5 +**LauȑT6Ɍ+4m;X,c%Kpgg};SRRڪ.]=uԱcǤ[Y7{a`䲩q[99wl-*6J1,O89:*R>+ !~rd2jժ7adi*%·nZRRrL`%&6mۦiWՅڷB 8tҥKXQQ<֬Ystt̙3_ׁ2˲ NReeepɞ~8$\|~+Wļ,WRRRWWwYu~mc&鱱R|, ،744;w!8;|B*@$#t@T"d2L&'fؼ1ߴiӃ>?ϓO>OFT*5mI-т ֌|>_TTd?FR& )++Sw̶ym߾矟p4͊SNz!F_۶z!0gyСC'Nmmm\ڹs]{ᢢ"^ $&%eBӸmیj.~ʔOT8~aQj-Y>2zl`x #3pY:d* }_D"~?.Z(TZ쳳ׯ?pO?eT%Ay#ЩdZH$RC+++F}k_Ca @:FGdRLxO5|_1QQ^^~%`0xD"1ںq|;~kk 5,VDG‰X&GFFV\ /tuuC  ZB`ncccwL&"tN:-[lΝ-Xcbiڵk6lxꩧ.\HD7}dR8 FKtlc5 C "C<"|NKA.ͦK R""YǟBx{l0D4ֶŋwttw;w<Q )pMM |@\.d_!Dmm-[g;`U###Oǩg!]98 qЯJ!B ,>#===7o~sᓕ KM N,ϳ H^aahhhr@yla* 9 /̟?Ddee2&pS^^*:>U]n]vj\NN|!?7WPn`ءY9!-C'"BT=Ug @B͛7{;vª.8a 86eR)L(ʕ+y睽{]O޽{ڵk!կ~uϞ=gϞ]vJFv N:66kt:H$FF(W!8W3$IDAT V_~yFt]ǎ{[om6χ |>?11>66qK H$3SsbHZ_z%(TZy[oBFoH[[J?,K]g!%'E[LL66qb.3J%)J~Sﺚu ç[ .WED00UvII߅)8N$~>C/}R j_NBSBf3L(Zz+SO/|aϞ=?>}z۶mpmڵ78ׯb߸qc__c=|& KD"UUUA5HUIJa裏"҅1Pqp k#{?OۯO~򓎎,TxLmmmwݽvZ` ?ݻϟ?ݻw֭]]]J+]P6&  ~|+_ rwYVV N ;;voWϥ0p8pBXn/iӦ}iFgTNYn?}߿w~8]r;珼X H94x!CD9eΙc ۼ0T5$1q˲]w݅X]]}K,W .ċ/nnnv]… *_WWwwc\(=&ضDt:=<<<<<\__u֎e\.{}q;qA˲>?x< !(<žU6q]7 !VX1|"qP(d|󆆆8zߗ.]ʵK144tHG;;;Ul6;00J,Xpm !bXkk+(|f<nŊtȑ#ϟ_p?~wb˗cњ6}[hQUUu=#VRQqV(xii0'ذaDcL uww/^8/[,:ޮ"`MMMW쇭O X|9N dvuu 8q"H[[n2J1Fikfuue52qux|ǎ@ rd6vttϐRթ|+*JLxiHI2Oc٣oV-rBcR#B8Uʶma_O9uȑ\.\.$I'n:%q%Ӳ<}uBJM\0F|[/V9KN@x9lTXl6[]] 'я~4M.Xlҷa]*D²,?WJȪ OH$1K>G9s8AB K˷_:|F}!g?Of#;JLF?r,#Υ ]> FIII%IA5~#o 92l&F$|~.#A3R, 暁BxJЖr9h```ppw}g{X,ea#0d@_Zf`[dR jT1)$y6"M+ ]m}x= 4:0.m-`tBrg Geelx铝a$(V< ,' ]srθdIΤ* Vá c!qIe$)3 $IL2/f6o9 jmt/۲e б"sn.= lhbNUEfĵ_iqs%FDW\7eY*ٶ= cǠ*Xz "C&4&5.&|ǐLH&\.4FqH~N6ƈؤ# $˄ 9cBC&Kޠ=oBR c^iӦQSSj@q.)B9a AȪJ { dUբ>S59֋ʛ'ĢLH&www$wVirC~w󂻂9 \b.#Wr!I$1 IbUb疠,,q=$6eބB@ <iQx[hTq2yߨUӕZ9p[A4'^UwT7ӌSxP&K7I% .#"r\K.IfK&p Mk\F:,-ħZY֡䚔$Ɖ K$~s&[yfx=sF~_[PY#"BPҴ:P@5V Jb~Az4O b{׳9ܘjr^&w@VK7'2tx y;5vWA" I$!IXv麔2kH#N,KI) "&I[N 74j"817'&n^QPmBBn"ɬSJi5 z@k4Mjk-d$_×nWb [aNZUQU}MxnlY_XB%8Hιp1OzS+q6I+`R#KaP*y5U0073Q*̏45Eɺ2rS I2X!pAwkw9np HP}zg}#K'r $sƈ AR͈ jKF8Xdٶ74z,gy BX"4O$I۵qCj2MDLJ+!Fd1:54%y'aqNNm;ǙL8`cl KD$ƈ!?t.`ĉ W0m*"A[xrOg]݄dNH'ɤ׈H04" dfUӈt"HcLSR2 ͟H$˨$DD )D* ʲxg}4|XR*O%7ΠVɗ˃MiQ45STkxH!_>8g}tX" iH2)'?s?bؗ*큒NOG^9*@rT=x3>J,Nu}bbBǁ3U#DYH/mFatQ b 'p8o߾_]]neUJyfE8**Y~pS޽{|MՖ\gyI-4Q5=IENDB`Mopidy-2.1.0/docs/ext/mopify.jpg0000644000076500000240000031742113032547651016742 0ustar jodalstaff00000000000000JFIFHHC     C      eij\0N 3Y޳2u6fWG1hp~G]~wZZfBW|6iZV05{?M45}Ktr[{^nN,wepVv;Mo-R :YZZGV io6Fվ-Q\N Y&Sh+h)I۝DZsZ`4EwZnK^w;{V/IzW@x(sӍgPR'x`W7) pTHmD.YjL&|Utrg7 s.Vf.vɋo ;Rv>>'uVr?S+Z_W%^/kڹn8̶|m*uAۖVarm:>#Yhn&d 9)/0rֽf2ᾳ"62\:gUe* gᣊ*#)ͷ<8ͦK.1tSYڻ'sUѸ3zӷ—-掫r{m3TC|x^^U2ڍg$Y-)^uL޸{$+0[GTۛu=ow,kgsnSk_:N6Bix*U 4^0s={wey*ϗ>Ȭ蝬Y0Ӟf7O"k}|%|8Zz\:P9ϗ?\v״*^2clNsg{uo;Zڶ<:~6: уi/SEM˅k O=9_v钦{<9}ՒY*r8.SG;_2]rrꍫ> tr:N}y孫Nzp8$/c<5dt`oPJ^vzc-)7 ws=NzG.f`y[9]:>Ǫ9ml=;1J׆|㛶K.-8isG֭oip}^;g/kYeSk*/ո:7v]:9_+gtR+O)+Ak}4m5pc91YS|?&u7ЩQ&bY:[Җ~gzi=/[jڷ9zRލ[L:} 3 M8qu]"i #|-[G>SSh^.ǵGMmBW:qt޵;Ƚuf1~,ouVfpw޷VI3Nnn]w۳jv8&֪W7T>_8=;GB_[NcF\NNͩt98{T3=ffMLYxrtso'vZfI-]V/[f!/]"ykKk5!jNWNI8O;k힖nVWwV-Y'p;\[.2o3OVsVwFa9p8-![$XD%hFji3U,m˥`"4N%ap s` L Ī1" 6ap5CT)7ɨ Ɔj64luCk:$˔0d VҡF tq 8%\A쉘Xk'ȆELkLbXDR@ ґasuw ;YuOaM+_8y~[?JRx]sDOVއxds& 6,9smdt j)1`bz԰d:ĔGYUil5o[=/ǣl$2@Gà6n #9[voMǡ0[[o:4}|zLy)}6&Cwz[w޵ϿT |+E rELGE;p{tZŶd,5:aInֽj~ ~gմD{]fsyx=cAfI y_Of'o_â57\+>Orr48z.NmzW'/hc6ap<㌶iM[S4*umY{6ף+SzO"}x XNdwsVFR=ķ Sãf 5nSuy{WBbsَԛ^@Yύ-{NH~xz@)T^LP^g˯7!o*e931]lMVmhM_a\#{l@}j&69A  OF y;TVI>}sLa-Vi~I_mw˞wwE+'CVűyYNRqOK۔ֶBM-2rXzAmO/O$Ƹt[/96ق~mt:4rdC*נy4K$]6}-z4l.`>O}2m#ɥ_ xͫ_,|2s@DȰysWZZ-]&)16åqQdS~i>zvչ$'8mM54^%dZaq|ҷD8fVL6qeG~{M_8Y>)mxin͊i [kYI92\CLϧAėo|íbDsDt"^7t#6?LƵͲD ČL6s+Җӌn{iSӿ˜ߡAZB_ǡg-cNM~+ZyDW'JUgx&Ljn"Sv+yo3?9<)q/DqD%mh{83>ϻcܺ4>xoZ>Lϒ莽=/P,99ap8ϯNrwեt 럳@w VOWWһwWW^#9_Qҕm42chDZpZo)8I 5|3U/pΨMrš9aqڼO