Cartopy-0.14.2/0000755001374000021030000000000012706121712012746 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/0000755001374000021030000000000012706121712013514 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/Cartopy.egg-info/0000755001374000021030000000000012706121712016627 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/Cartopy.egg-info/PKG-INFO0000644001374000021030000000427512706121710017732 0ustar itpeavd00000000000000Metadata-Version: 1.1 Name: Cartopy Version: 0.14.2 Summary: A cartographic python library with matplotlib support for visualisation Home-page: http://scitools.org.uk/cartopy/docs/latest/ Author: UK Met Office Author-email: UNKNOWN License: LGPLv3 Download-URL: https://github.com/SciTools/cartopy Description: ======= Cartopy ======= .. image:: http://scitools.org.uk/cartopy/docs/latest/_static/cartopy.png Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy. It features: * object oriented projection definitions * point, line, polygon and image transformations between projections * integration to expose advanced mapping in matplotlib with a simple and intuitive interface * powerful vector data handling by integrating shapefile reading with Shapely capabilities Documentation can be found at http://scitools.org.uk/cartopy/docs/latest/. ---- Code ---- Cartopy is licenced under GNU Lesser General Public License (LGPLv3). Development occurs at https://github.com/SciTools/cartopy. Keywords: cartography map transform projection proj.4 geos shapely shapefile Platform: UNKNOWN Classifier: Development Status :: 4 - Beta Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+) Classifier: Operating System :: MacOS :: MacOS X Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: POSIX Classifier: Operating System :: POSIX :: AIX Classifier: Operating System :: POSIX :: Linux Classifier: Programming Language :: C++ Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Topic :: Scientific/Engineering Classifier: Topic :: Scientific/Engineering :: GIS Classifier: Topic :: Scientific/Engineering :: Visualization Cartopy-0.14.2/lib/Cartopy.egg-info/SOURCES.txt0000644001374000021030000002240512706121712020516 0ustar itpeavd00000000000000CHANGES CONTRIBUTING.md COPYING COPYING.LESSER INSTALL MANIFEST.in README.md README.rst setup.py lib/Cartopy.egg-info/PKG-INFO lib/Cartopy.egg-info/SOURCES.txt lib/Cartopy.egg-info/dependency_links.txt lib/Cartopy.egg-info/requires.txt lib/Cartopy.egg-info/top_level.txt lib/cartopy/__init__.py lib/cartopy/_crs.c lib/cartopy/_crs.pxd lib/cartopy/_crs.pyx lib/cartopy/_epsg.py lib/cartopy/_trace.cpp lib/cartopy/_trace.h lib/cartopy/crs.py lib/cartopy/feature.py lib/cartopy/img_transform.py lib/cartopy/trace.cpp lib/cartopy/trace.pyx lib/cartopy/util.py lib/cartopy/vector_transform.py lib/cartopy/data/netcdf/HadISST1_SST_update.README.txt lib/cartopy/data/netcdf/HadISST1_SST_update.nc lib/cartopy/data/raster/natural_earth/50-natural-earth-1-downsampled.png lib/cartopy/data/raster/sample/Miriam.A2012270.2050.2km.README.txt lib/cartopy/data/raster/sample/Miriam.A2012270.2050.2km.jpg lib/cartopy/data/shapefiles/gshhs/README.TXT lib/cartopy/data/shapefiles/gshhs/c/GSHHS_c_L1.dbf lib/cartopy/data/shapefiles/gshhs/c/GSHHS_c_L1.shp lib/cartopy/data/shapefiles/gshhs/c/GSHHS_c_L1.shx lib/cartopy/data/shapefiles/gshhs/l/GSHHS_l_L2.dbf lib/cartopy/data/shapefiles/gshhs/l/GSHHS_l_L2.shp lib/cartopy/data/shapefiles/gshhs/l/GSHHS_l_L2.shx lib/cartopy/examples/__init__.py lib/cartopy/examples/always_circular_stereo.py lib/cartopy/examples/arrows.py lib/cartopy/examples/aurora_forecast.py lib/cartopy/examples/barbs.py lib/cartopy/examples/eccentric_ellipse.py lib/cartopy/examples/effects_of_the_ellipse.py lib/cartopy/examples/eyja_volcano.py lib/cartopy/examples/favicon.py lib/cartopy/examples/feature_creation.py lib/cartopy/examples/features.py lib/cartopy/examples/geostationary.py lib/cartopy/examples/global_map.py lib/cartopy/examples/hurricane_katrina.py lib/cartopy/examples/image_tiles.py lib/cartopy/examples/logo.py lib/cartopy/examples/regridding_arrows.py lib/cartopy/examples/rotated_pole.py lib/cartopy/examples/srtm_shading.py lib/cartopy/examples/star_shaped_boundary.py lib/cartopy/examples/streamplot.py lib/cartopy/examples/tick_labels.py lib/cartopy/examples/tissot.py lib/cartopy/examples/tube_stations.py lib/cartopy/examples/un_flag.py lib/cartopy/examples/waves.py lib/cartopy/examples/wms.py lib/cartopy/examples/wmts.py lib/cartopy/geodesic/__init__.py lib/cartopy/geodesic/_geodesic.pyx lib/cartopy/io/__init__.py lib/cartopy/io/img_nest.py lib/cartopy/io/img_tiles.py lib/cartopy/io/ogc_clients.py lib/cartopy/io/shapereader.py lib/cartopy/io/srtm.npz lib/cartopy/io/srtm.py lib/cartopy/mpl/__init__.py lib/cartopy/mpl/clip_path.py lib/cartopy/mpl/feature_artist.py lib/cartopy/mpl/geoaxes.py lib/cartopy/mpl/gridliner.py lib/cartopy/mpl/patch.py lib/cartopy/mpl/slippy_image_artist.py lib/cartopy/mpl/ticker.py lib/cartopy/sphinxext/__init__.py lib/cartopy/sphinxext/gallery.py lib/cartopy/sphinxext/summarise_package.py lib/cartopy/tests/__init__.py lib/cartopy/tests/test_coastline.py lib/cartopy/tests/test_coding_standards.py lib/cartopy/tests/test_crs.py lib/cartopy/tests/test_crs_transform_vectors.py lib/cartopy/tests/test_geodesic.py lib/cartopy/tests/test_img_nest.py lib/cartopy/tests/test_img_tiles.py lib/cartopy/tests/test_img_transform.py lib/cartopy/tests/test_line_string.py lib/cartopy/tests/test_linear_ring.py lib/cartopy/tests/test_polygon.py lib/cartopy/tests/test_shapereader.py lib/cartopy/tests/test_util.py lib/cartopy/tests/test_vector_transform.py lib/cartopy/tests/crs/__init__.py lib/cartopy/tests/crs/test_albers_equal_area.py lib/cartopy/tests/crs/test_azimuthal_equidistant.py lib/cartopy/tests/crs/test_geostationary.py lib/cartopy/tests/crs/test_lambert_azimuthal_equal_area.py lib/cartopy/tests/crs/test_lambert_conformal.py lib/cartopy/tests/crs/test_mercator.py lib/cartopy/tests/crs/test_robinson.py lib/cartopy/tests/crs/test_rotated_geodetic.py lib/cartopy/tests/crs/test_rotated_pole.py lib/cartopy/tests/crs/test_sinusoidal.py lib/cartopy/tests/crs/test_stereographic.py lib/cartopy/tests/crs/test_transverse_mercator.py lib/cartopy/tests/io/__init__.py lib/cartopy/tests/io/test_downloaders.py lib/cartopy/tests/io/test_ogc_clients.py lib/cartopy/tests/io/test_srtm.py lib/cartopy/tests/mpl/__init__.py lib/cartopy/tests/mpl/test_axes.py lib/cartopy/tests/mpl/test_caching.py lib/cartopy/tests/mpl/test_crs.py lib/cartopy/tests/mpl/test_examples.py lib/cartopy/tests/mpl/test_features.py lib/cartopy/tests/mpl/test_gridliner.py lib/cartopy/tests/mpl/test_images.py lib/cartopy/tests/mpl/test_img_transform.py lib/cartopy/tests/mpl/test_mpl_integration.py lib/cartopy/tests/mpl/test_patch.py lib/cartopy/tests/mpl/test_pseudo_color.py lib/cartopy/tests/mpl/test_quiver.py lib/cartopy/tests/mpl/test_set_extent.py lib/cartopy/tests/mpl/test_shapely_to_mpl.py lib/cartopy/tests/mpl/test_ticker.py lib/cartopy/tests/mpl/test_ticks.py lib/cartopy/tests/mpl/test_web_services.py lib/cartopy/tests/mpl/baseline_images/mpl/test_crs/lambert_conformal_south.png lib/cartopy/tests/mpl/baseline_images/mpl/test_crs/mercator_squashed.png lib/cartopy/tests/mpl/baseline_images/mpl/test_examples/global_map.png lib/cartopy/tests/mpl/baseline_images/mpl/test_features/gshhs_coastlines.png lib/cartopy/tests/mpl/baseline_images/mpl/test_features/natural_earth.png lib/cartopy/tests/mpl/baseline_images/mpl/test_features/natural_earth_custom.png lib/cartopy/tests/mpl/baseline_images/mpl/test_features/wfs.png lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner1.png lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels.png lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_pre_mpl_1.5.png lib/cartopy/tests/mpl/baseline_images/mpl/test_images/image_merge.png lib/cartopy/tests/mpl/baseline_images/mpl/test_images/image_nest.png lib/cartopy/tests/mpl/baseline_images/mpl/test_images/imshow_natural_earth_ortho.png lib/cartopy/tests/mpl/baseline_images/mpl/test_images/imshow_regional_projected.png lib/cartopy/tests/mpl/baseline_images/mpl/test_images/web_tiles.png lib/cartopy/tests/mpl/baseline_images/mpl/test_img_tiles2/web_tiles.png lib/cartopy/tests/mpl/baseline_images/mpl/test_img_transform/regrid_image.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/barbs_plate_carree.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/barbs_regrid.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/barbs_regrid_with_extent.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/global_contour_wrap.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/global_contourf_wrap.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/global_map.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/global_pcolor_wrap.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/global_pcolor_wrap_pre_mpl_1.5.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/global_scatter_wrap.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/multiple_projections1.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/natural_earth_interface.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/pcolormesh_global_wrap1.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/pcolormesh_global_wrap2.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/pcolormesh_global_wrap3.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/pcolormesh_goode_wrap.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/pcolormesh_limited_area_wrap.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/pcolormesh_mercator_wrap.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_plate_carree.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_regrid.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_regrid_with_extent.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_rotated_pole.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/simple_global.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/streamplot.png lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/streamplot_pre_mpl_1.5.png lib/cartopy/tests/mpl/baseline_images/mpl/test_shapely_to_mpl/contour_with_interiors.png lib/cartopy/tests/mpl/baseline_images/mpl/test_shapely_to_mpl/poly_interiors.png lib/cartopy/tests/mpl/baseline_images/mpl/test_shapely_to_mpl/poly_interiors_pre_mpl_1.5.png lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/xticks_cylindrical.png lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/xticks_cylindrical_pre_mpl_1.5.png lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/xticks_no_transform.png lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/xyticks.png lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/xyticks_pre_mpl_1.5.png lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/yticks_cylindrical.png lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/yticks_cylindrical_pre_mpl_1.5.png lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/yticks_no_transform.png lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/yticks_no_transform_pre_mpl_1.5.png lib/cartopy/tests/mpl/baseline_images/mpl/test_web_services/wms.png lib/cartopy/tests/mpl/baseline_images/mpl/test_web_services/wmts.png requirements/default.txt requirements/epsg.txt requirements/ows.txt requirements/plotting.txt requirements/tests.txtCartopy-0.14.2/lib/Cartopy.egg-info/dependency_links.txt0000644001374000021030000000000112706121710022673 0ustar itpeavd00000000000000 Cartopy-0.14.2/lib/Cartopy.egg-info/requires.txt0000644001374000021030000000030212706121710021220 0ustar itpeavd00000000000000numpy>=1.6 shapely>=1.5.6 pyshp>=1.1.4 six>=1.3.0 setuptools>=0.7.2 [epsg] pyepsg>=0.2.0 [ows] OWSLib>=0.8.7 pillow>=1.7.8 [plotting] matplotlib>=1.3.0 GDAL>=1.10.0 pillow>=1.7.8 scipy>=0.10 Cartopy-0.14.2/lib/Cartopy.egg-info/top_level.txt0000644001374000021030000000001012706121710021346 0ustar itpeavd00000000000000cartopy Cartopy-0.14.2/lib/cartopy/0000755001374000021030000000000012706121712015175 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/examples/0000755001374000021030000000000012706121712017013 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/examples/__init__.py0000644001374000021030000000000012520135744021116 0ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/examples/always_circular_stereo.py0000755001374000021030000000244112520135744024142 0ustar itpeavd00000000000000__tags__ = ['Lines and polygons'] import matplotlib.path as mpath import matplotlib.pyplot as plt import numpy as np import cartopy.crs as ccrs import cartopy.feature def main(): fig = plt.figure(figsize=[10, 5]) ax1 = plt.subplot(1, 2, 1, projection=ccrs.SouthPolarStereo()) ax2 = plt.subplot(1, 2, 2, projection=ccrs.SouthPolarStereo(), sharex=ax1, sharey=ax1) fig.subplots_adjust(bottom=0.05, top=0.95, left=0.04, right=0.95, wspace=0.02) # Limit the map to -60 degrees latitude and below. ax1.set_extent([-180, 180, -90, -60], ccrs.PlateCarree()) ax1.add_feature(cartopy.feature.LAND) ax1.add_feature(cartopy.feature.OCEAN) ax1.gridlines() ax2.gridlines() ax2.add_feature(cartopy.feature.LAND) ax2.add_feature(cartopy.feature.OCEAN) # Compute a circle in axes coordinates, which we can use as a boundary # for the map. We can pan/zoom as much as we like - the boundary will be # permanently circular. theta = np.linspace(0, 2*np.pi, 100) center, radius = [0.5, 0.5], 0.5 verts = np.vstack([np.sin(theta), np.cos(theta)]).T circle = mpath.Path(verts * radius + center) ax2.set_boundary(circle, transform=ax2.transAxes) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/arrows.py0000644001374000021030000000212512520135744020706 0ustar itpeavd00000000000000__tags__ = ['Vector data'] import matplotlib.pyplot as plt import numpy as np import cartopy import cartopy.crs as ccrs def sample_data(shape=(20, 30)): """ Returns ``(x, y, u, v, crs)`` of some vector data computed mathematically. The returned crs will be a rotated pole CRS, meaning that the vectors will be unevenly spaced in regular PlateCarree space. """ crs = ccrs.RotatedPole(pole_longitude=177.5, pole_latitude=37.5) x = np.linspace(311.9, 391.1, shape[1]) y = np.linspace(-23.6, 24.8, shape[0]) x2d, y2d = np.meshgrid(x, y) u = 10 * (2 * np.cos(2 * np.deg2rad(x2d) + 3 * np.deg2rad(y2d + 30)) ** 2) v = 20 * np.cos(6 * np.deg2rad(x2d)) return x, y, u, v, crs def main(): ax = plt.axes(projection=ccrs.Orthographic(-10, 45)) ax.add_feature(cartopy.feature.OCEAN, zorder=0) ax.add_feature(cartopy.feature.LAND, zorder=0, edgecolor='black') ax.set_global() ax.gridlines() x, y, u, v, vector_crs = sample_data() ax.quiver(x, y, u, v, transform=vector_crs) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/aurora_forecast.py0000644001374000021030000001374512705644356022573 0ustar itpeavd00000000000000""" Plotting the Aurora Forecast from NOAA on Orthographic Polar Projection ----------------------------------------------------------------------- The National Oceanic and Atmospheric Administration (NOAA) monitors the solar wind conditions using the ACE spacecraft orbiting close to the L1 Lagrangian point of the Sun-Earth system. This data is fed into the OVATION-Prime model to forecast the probability of visible aurora at various locations on Earth. Every five minutes a new forecast is published for the coming 30 minutes. The data is provided as a 1024 by 512 grid of probabilities in percent of visible aurora. The data spaced equally in degrees from -180 to 180 and -90 to 90. """ __tags__ = ["Scalar data"] try: from urllib2 import urlopen except ImportError: from urllib.request import urlopen from io import StringIO import numpy as np from datetime import datetime import cartopy.crs as ccrs import matplotlib.pyplot as plt from matplotlib.colors import LinearSegmentedColormap import matplotlib.patches as patches def aurora_forecast(): """ Gets the latest Aurora Forecast from http://swpc.noaa.gov. Returns ------- img : numpy array The pixels of the image in a numpy array. img_proj : cartopy CRS The rectangular coordinate system of the image. img_extent : tuple of floats The extent of the image ``(x0, y0, x1, y1)`` referenced in the ``img_proj`` coordinate system. origin : str The origin of the image to be passed through to matplotlib's imshow. dt : datetime Time of forecast validity. """ # GitHub gist to download the example data from url = ('https://gist.githubusercontent.com/belteshassar/' 'c7ea9e02a3e3934a9ddc/raw/aurora-nowcast-map.txt') # To plot the current forecast instead, uncomment the following line # url = 'http://services.swpc.noaa.gov/text/aurora-nowcast-map.txt' response_text = StringIO(urlopen(url).read().decode('utf-8')) img = np.loadtxt(response_text) # Read forecast date and time response_text.seek(0) for line in response_text: if line.startswith('Product Valid At:', 2): dt = datetime.strptime(line[-17:-1], '%Y-%m-%d %H:%M') img_proj = ccrs.PlateCarree() img_extent = (-180, 180, -90, 90) return img, img_proj, img_extent, 'lower', dt def aurora_cmap(): """Return a colormap with aurora like colors""" stops = {'red': [(0.00, 0.1725, 0.1725), (0.50, 0.1725, 0.1725), (1.00, 0.8353, 0.8353)], 'green': [(0.00, 0.9294, 0.9294), (0.50, 0.9294, 0.9294), (1.00, 0.8235, 0.8235)], 'blue': [(0.00, 0.3843, 0.3843), (0.50, 0.3843, 0.3843), (1.00, 0.6549, 0.6549)], 'alpha': [(0.00, 0.0, 0.0), (0.50, 1.0, 1.0), (1.00, 1.0, 1.0)]} return LinearSegmentedColormap('aurora', stops) def sun_pos(dt=None): """This function computes a rough estimate of the coordinates for the point on the surface of the Earth where the Sun is directly overhead at the time dt. Precision is down to a few degrees. This means that the equinoxes (when the sign of the latitude changes) will be off by a few days. The function is intended only for visualization. For more precise calculations consider for example the PyEphem package. Parameters ---------- dt: datetime Defaults to datetime.utcnow() Returns ------- lat, lng: tuple of floats Approximate coordinates of the point where the sun is in zenith at the time dt. """ if dt is None: dt = datetime.utcnow() axial_tilt = 23.4 ref_solstice = datetime(2016, 6, 21, 22, 22) days_per_year = 365.2425 seconds_per_day = 24*60*60.0 days_since_ref = (dt - ref_solstice).total_seconds()/seconds_per_day lat = axial_tilt*np.cos(2*np.pi*days_since_ref/days_per_year) sec_since_midnight = (dt - datetime(dt.year, dt.month, dt.day)).seconds lng = -(sec_since_midnight/seconds_per_day - 0.5)*360 return lat, lng def fill_dark_side(ax, time=None, *args, **kwargs): """ Plot a fill on the dark side of the planet (without refraction). Parameters ---------- ax : matplotlib axes The axes to plot on. time : datetime The time to calculate terminator for. Defaults to datetime.utcnow() **kwargs : Passed on to Matplotlib's ax.fill() """ lat, lng = sun_pos(time) pole_lng = lng if lat > 0: pole_lat = -90 + lat central_rot_lng = 180 else: pole_lat = 90 + lat central_rot_lng = 0 rotated_pole = ccrs.RotatedPole(pole_latitude=pole_lat, pole_longitude=pole_lng, central_rotated_longitude=central_rot_lng) x = np.empty(360) y = np.empty(360) x[:180] = -90 y[:180] = np.arange(-90, 90.) x[180:] = 90 y[180:] = np.arange(90, -90., -1) ax.fill(x, y, transform=rotated_pole, **kwargs) def main(): fig = plt.figure(figsize=[10, 5]) # We choose to plot in an Orthographic projection as it looks natural # and the distortion is relatively small around the poles where # the aurora is most likely. # ax1 for Northern Hemisphere ax1 = plt.subplot(1, 2, 1, projection=ccrs.Orthographic(0, 90)) # ax2 for Southern Hemisphere ax2 = plt.subplot(1, 2, 2, projection=ccrs.Orthographic(180, -90)) img, crs, extent, origin, dt = aurora_forecast() for ax in [ax1, ax2]: ax.coastlines(zorder=3) ax.stock_img() ax.gridlines() fill_dark_side(ax, time=dt, color='black', alpha=0.75) ax.imshow(img, vmin=0, vmax=100, transform=crs, extent=extent, origin=origin, zorder=2, cmap=aurora_cmap()) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/barbs.py0000644001374000021030000000103412520135744020460 0ustar itpeavd00000000000000__tags__ = ['Vector data'] import matplotlib.pyplot as plt import cartopy.crs as ccrs from cartopy.examples.arrows import sample_data def main(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.set_extent([-90, 75, 10, 60]) ax.stock_img() ax.coastlines() x, y, u, v, vector_crs = sample_data(shape=(10, 14)) ax.barbs(x, y, u, v, length=5, sizes=dict(emptybarb=0.25, spacing=0.2, height=0.5), linewidth=0.95, transform=vector_crs) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/eccentric_ellipse.py0000644001374000021030000000503712700747662023062 0ustar itpeavd00000000000000""" Displaying data on an eccentric ellipse --------------------------------------- This example demonstrates plotting data on an eccentric ellipse. The data plotted is a topography map of the asteroid Vesta. The map is actually an image, which is defined on an equirectangluar projection relative to an ellipse with a semi-major axis of 285 km and a semi-minor axis of 229 km. The image is reprojected on-the-fly onto a geostationary projection with matching eccentricity. """ __tags__ = ['Miscellanea'] try: from urllib2 import urlopen except ImportError: from urllib.request import urlopen from io import BytesIO import cartopy.crs as ccrs import matplotlib.pyplot as plt import numpy as np from PIL import Image def vesta_image(): """ Return an image of Vesta's topography. Image credit: NASA/JPL-Caltech/UCLA/MPS/DLR/IDA/PSI Returns ------- img : numpy array The pixels of the image in a numpy array. img_proj : cartopy CRS The rectangular coordinate system of the image. img_extent : tuple of floats The extent of the image ``(x0, y0, x1, y1)`` referenced in the ``img_proj`` coordinate system. """ url = 'https://www.nasa.gov/sites/default/files/pia17037.jpg' img_handle = BytesIO(urlopen(url).read()) raw_image = Image.open(img_handle) # The image is extremely high-resolution, which takes a long time to # plot. Sub-sampling reduces the time taken to plot while not # significantly altering the integrity of the result. smaller_image = raw_image.resize([raw_image.size[0] // 10, raw_image.size[1] // 10]) img = np.asarray(smaller_image) # We define the semimajor and semiminor axes, but must also tell the # globe not to use the WGS84 ellipse, which is its default behaviour. img_globe = ccrs.Globe(semimajor_axis=285000., semiminor_axis=229000., ellipse=None) img_proj = ccrs.PlateCarree(globe=img_globe) img_extent = (-895353.906273091, 895353.906273091, 447676.9531365455, -447676.9531365455) return img, img_globe, img_proj, img_extent def main(): img, globe, crs, extent = vesta_image() projection = ccrs.Geostationary(globe=globe) ax = plt.axes(projection=projection) ax.imshow(img, transform=crs, extent=extent) plt.gcf().text(.075, .012, "Image credit: NASA/JPL-Caltech/UCLA/MPS/DLR/IDA/PSI", bbox={'facecolor': 'w', 'edgecolor': 'k'}) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/effects_of_the_ellipse.py0000644001374000021030000001141412520135744024052 0ustar itpeavd00000000000000""" The effect of badly referencing an ellipse ------------------------------------------ This example demonstrates the effect of referencing your data to an incorrect ellipse. First we define two coordinate systems - one using the World Geodetic System established in 1984 and the other using a spherical globe. Next we extract data from the Natural Earth land dataset and convert the Geodetic coordinates (referenced in WGS84) into the respective coordinate systems that we have defined. Finally, we plot these datasets onto a map assuming that they are both referenced to the WGS84 ellipse and compare how the coastlines are shifted as a result of referencing the incorrect ellipse. """ __tags__ = ['Lines and polygons'] import cartopy.crs as ccrs import cartopy.feature from cartopy.io.img_tiles import MapQuestOpenAerial import matplotlib.pyplot as plt from matplotlib.lines import Line2D as Line from matplotlib.patheffects import Stroke import numpy as np import shapely.geometry as sgeom from shapely.ops import transform as geom_transform def transform_fn_factory(target_crs, source_crs): """ Return a function which can be used by ``shapely.op.transform`` to transform the coordinate points of a geometry. The function explicitly *does not* do any interpolation or clever transformation of the coordinate points, so there is no guarantee that the resulting geometry would make any sense. """ def transform_fn(x, y, z=None): new_coords = target_crs.transform_points(source_crs, np.asanyarray(x), np.asanyarray(y)) return new_coords[:, 0], new_coords[:, 1], new_coords[:, 2] return transform_fn def main(): # Define the two coordinate systems with different ellipses. wgs84 = ccrs.PlateCarree(globe=ccrs.Globe(datum='WGS84', ellipse='WGS84')) sphere = ccrs.PlateCarree(globe=ccrs.Globe(datum='WGS84', ellipse='sphere')) # Define the coordinate system of the data we have from Natural Earth and # acquire the 1:10m physical coastline shapefile. geodetic = ccrs.Geodetic(globe=ccrs.Globe(datum='WGS84')) dataset = cartopy.feature.NaturalEarthFeature(category='physical', name='coastline', scale='10m') # Create a MapQuest map tiler instance, and use its CRS for the GeoAxes. tiler = MapQuestOpenAerial() ax = plt.axes(projection=tiler.crs) plt.title('The effect of incorrectly referencing the Solomon Islands') # Pick the area of interest. In our case, roughly the Solomon Islands, and # get hold of the coastlines for that area. extent = (155, 163, -11.5, -6) ax.set_extent(extent, geodetic) geoms = list(dataset.intersecting_geometries(extent)) # Add the MapQuest aerial imagery at zoom level 7. ax.add_image(tiler, 7) # Transform the geodetic coordinates of the coastlines into the two # projections of differing ellipses. wgs84_geoms = [geom_transform(transform_fn_factory(wgs84, geodetic), geom) for geom in geoms] sphere_geoms = [geom_transform(transform_fn_factory(sphere, geodetic), geom) for geom in geoms] # Using these differently referenced geometries, assume that they are # both referenced to WGS84. ax.add_geometries(wgs84_geoms, wgs84, edgecolor='white', color='none') ax.add_geometries(sphere_geoms, wgs84, edgecolor='gray', color='none') # Create a legend for the coastlines. legend_artists = [Line([0], [0], color=color, linewidth=3) for color in ('white', 'gray')] legend_texts = ['Correct ellipse\n(WGS84)', 'Incorrect ellipse\n(sphere)'] legend = plt.legend(legend_artists, legend_texts, fancybox=True, loc='lower left', framealpha=0.75) legend.legendPatch.set_facecolor('wheat') # Create an inset GeoAxes showing the location of the Solomon Islands. sub_ax = plt.axes([0.7, 0.625, 0.2, 0.2], projection=ccrs.PlateCarree()) sub_ax.set_extent([110, 180, -50, 10], geodetic) # Make a nice border around the inset axes. effect = Stroke(linewidth=4, foreground='wheat', alpha=0.5) sub_ax.outline_patch.set_path_effects([effect]) # Add the land, coastlines and the extent of the Solomon Islands. sub_ax.add_feature(cartopy.feature.LAND) sub_ax.coastlines() extent_box = sgeom.box(extent[0], extent[2], extent[1], extent[3]) sub_ax.add_geometries([extent_box], ccrs.PlateCarree(), color='none', edgecolor='blue', linewidth=2) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/eyja_volcano.py0000755001374000021030000000340212520135744022044 0ustar itpeavd00000000000000# -*- coding: utf-8 -*- """ Map tile acquisition -------------------- Demonstrates cartopy's ability to draw map tiles which are downloaded on demand from the MapQuest tile server. Internally these tiles are then combined into a single image and displayed in the cartopy GeoAxes. """ __tags__ = ["Scalar data"] import matplotlib.pyplot as plt from matplotlib.transforms import offset_copy import cartopy.crs as ccrs import cartopy.io.img_tiles as cimgt def main(): # Create a MapQuest open aerial instance. map_quest_aerial = cimgt.MapQuestOpenAerial() # Create a GeoAxes in the tile's projection. ax = plt.axes(projection=map_quest_aerial.crs) # Limit the extent of the map to a small longitude/latitude range. ax.set_extent([-22, -15, 63, 65]) # Add the MapQuest data at zoom level 8. ax.add_image(map_quest_aerial, 8) # Add a marker for the Eyjafjallajökull volcano. plt.plot(-19.613333, 63.62, marker='o', color='yellow', markersize=12, alpha=0.7, transform=ccrs.Geodetic()) # Use the cartopy interface to create a matplotlib transform object # for the Geodetic coordinate system. We will use this along with # matplotlib's offset_copy function to define a coordinate system which # translates the text by 25 pixels to the left. geodetic_transform = ccrs.Geodetic()._as_mpl_transform(ax) text_transform = offset_copy(geodetic_transform, units='dots', x=-25) # Add text 25 pixels to the left of the volcano. plt.text(-19.613333, 63.62, u'Eyjafjallajökull', verticalalignment='center', horizontalalignment='right', transform=text_transform, bbox=dict(facecolor='wheat', alpha=0.5, boxstyle='round')) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/favicon.py0000644001374000021030000000310712545000115021005 0ustar itpeavd00000000000000__tags__ = ['Miscellanea'] import cartopy.crs as ccrs import matplotlib.pyplot as plt import matplotlib.textpath import matplotlib.patches from matplotlib.font_manager import FontProperties import numpy as np def main(): plt.figure(figsize=[8, 8]) ax = plt.axes(projection=ccrs.SouthPolarStereo()) ax.coastlines() ax.gridlines() im = ax.stock_img() def on_draw(event=None): """ Hooks into matplotlib's event mechanism to define the clip path of the background image. """ # Clip the image to the current background boundary. im.set_clip_path(ax.background_patch.get_path(), transform=ax.background_patch.get_transform()) # Register the on_draw method and call it once now. plt.gcf().canvas.mpl_connect('draw_event', on_draw) on_draw() # Generate a matplotlib path representing the character "C". fp = FontProperties(family='Bitstream Vera Sans', weight='bold') logo_path = matplotlib.textpath.TextPath((-4.5e7, -3.7e7), 'C', size=1, prop=fp) # Scale the letter up to an appropriate X and Y scale. logo_path._vertices *= np.array([103250000, 103250000]) # Add the path as a patch, drawing black outlines around the text. patch = matplotlib.patches.PathPatch(logo_path, facecolor='white', edgecolor='black', linewidth=10, transform=ccrs.SouthPolarStereo()) ax.add_patch(patch) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/feature_creation.py0000644001374000021030000000217512700747662022725 0ustar itpeavd00000000000000__tags__ = ['Lines and polygons'] import matplotlib.pyplot as plt import cartopy.crs as ccrs import cartopy.feature as cfeature from matplotlib.offsetbox import AnchoredText def main(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.set_extent([80, 170, -45, 30]) # Put a background image on for nice sea rendering. ax.stock_img() # Create a feature for States/Admin 1 regions at 1:50m from Natural Earth states_provinces = cfeature.NaturalEarthFeature( category='cultural', name='admin_1_states_provinces_lines', scale='50m', facecolor='none') SOURCE = 'Natural Earth' LICENSE = 'public domain' ax.add_feature(cfeature.LAND) ax.add_feature(cfeature.COASTLINE) ax.add_feature(states_provinces, edgecolor='gray') # Add a text annotation for the license information to the # the bottom right corner. text = AnchoredText(r'$\mathcircled{{c}}$ {}; license: {}' ''.format(SOURCE, LICENSE), loc=4, prop={'size': 12}, frameon=True) ax.add_artist(text) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/features.py0000644001374000021030000000102412520135744021204 0ustar itpeavd00000000000000__tags__ = ['Lines and polygons'] import cartopy import matplotlib.pyplot as plt def main(): ax = plt.axes(projection=cartopy.crs.PlateCarree()) ax.add_feature(cartopy.feature.LAND) ax.add_feature(cartopy.feature.OCEAN) ax.add_feature(cartopy.feature.COASTLINE) ax.add_feature(cartopy.feature.BORDERS, linestyle=':') ax.add_feature(cartopy.feature.LAKES, alpha=0.5) ax.add_feature(cartopy.feature.RIVERS) ax.set_extent([-20, 60, -40, 40]) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/geostationary.py0000644001374000021030000000361312520135744022264 0ustar itpeavd00000000000000""" Reprojecting images from a Geostationary projection --------------------------------------------------- This example demonstrates Cartopy's ability to project images into the desired projection on-the-fly. The image itself is retrieved from a URL and is loaded directly into memory without storing it intermediately into a file. It represents pre-processed data from Moderate-Resolution Imaging Spectroradiometer (MODIS) which has been put into an image in the data's native Geostationary coordinate system - it is then projected by cartopy into a global Miller map. """ __tags__ = ["Scalar data"] try: from urllib2 import urlopen except ImportError: from urllib.request import urlopen from io import BytesIO import cartopy.crs as ccrs import matplotlib.pyplot as plt def geos_image(): """ Return a specific MODIS image by retrieving it from a github gist URL. Returns ------- img : numpy array The pixels of the image in a numpy array. img_proj : cartopy CRS The rectangular coordinate system of the image. img_extent : tuple of floats The extent of the image ``(x0, y0, x1, y1)`` referenced in the ``img_proj`` coordinate system. origin : str The origin of the image to be passed through to matplotlib's imshow. """ url = ('https://gist.github.com/pelson/5871263/raw/' 'EIDA50_201211061300_clip2.png') img_handle = BytesIO(urlopen(url).read()) img = plt.imread(img_handle) img_proj = ccrs.Geostationary(satellite_height=35786000) img_extent = (-5500000, 5500000, -5500000, 5500000) return img, img_proj, img_extent, 'upper' def main(): ax = plt.axes(projection=ccrs.Miller()) ax.coastlines() ax.set_global() img, crs, extent, origin = geos_image() plt.imshow(img, transform=crs, extent=extent, origin=origin, cmap='gray') plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/global_map.py0000755001374000021030000000107412520135744021473 0ustar itpeavd00000000000000__tags__ = ['Lines and polygons'] import matplotlib.pyplot as plt import cartopy.crs as ccrs def main(): ax = plt.axes(projection=ccrs.Robinson()) # make the map global rather than have it zoom in to # the extents of any plotted data ax.set_global() ax.stock_img() ax.coastlines() plt.plot(-0.08, 51.53, 'o', transform=ccrs.PlateCarree()) plt.plot([-0.08, 132], [51.53, 43.17], transform=ccrs.PlateCarree()) plt.plot([-0.08, 132], [51.53, 43.17], transform=ccrs.Geodetic()) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/hurricane_katrina.py0000755001374000021030000000623012700747662023076 0ustar itpeavd00000000000000__tags__ = ['Lines and polygons'] import matplotlib.patches as mpatches import matplotlib.pyplot as plt import shapely.geometry as sgeom import cartopy.crs as ccrs import cartopy.io.shapereader as shpreader def sample_data(): """ Returns a list of latitudes and a list of longitudes (lons, lats) for Hurricane Katrina (2005). The data was originally sourced from the HURDAT2 dataset from AOML/NOAA: http://www.aoml.noaa.gov/hrd/hurdat/newhurdat-all.html on 14th Dec 2012. """ lons = [-75.1, -75.7, -76.2, -76.5, -76.9, -77.7, -78.4, -79.0, -79.6, -80.1, -80.3, -81.3, -82.0, -82.6, -83.3, -84.0, -84.7, -85.3, -85.9, -86.7, -87.7, -88.6, -89.2, -89.6, -89.6, -89.6, -89.6, -89.6, -89.1, -88.6, -88.0, -87.0, -85.3, -82.9] lats = [23.1, 23.4, 23.8, 24.5, 25.4, 26.0, 26.1, 26.2, 26.2, 26.0, 25.9, 25.4, 25.1, 24.9, 24.6, 24.4, 24.4, 24.5, 24.8, 25.2, 25.7, 26.3, 27.2, 28.2, 29.3, 29.5, 30.2, 31.1, 32.6, 34.1, 35.6, 37.0, 38.6, 40.1] return lons, lats def main(): ax = plt.axes([0, 0, 1, 1], projection=ccrs.LambertConformal()) ax.set_extent([-125, -66.5, 20, 50], ccrs.Geodetic()) shapename = 'admin_1_states_provinces_lakes_shp' states_shp = shpreader.natural_earth(resolution='110m', category='cultural', name=shapename) lons, lats = sample_data() # to get the effect of having just the states without a map "background" # turn off the outline and background patches ax.background_patch.set_visible(False) ax.outline_patch.set_visible(False) plt.title('US States which intersect the track ' 'of Hurricane Katrina (2005)') # turn the lons and lats into a shapely LineString track = sgeom.LineString(zip(lons, lats)) # buffer the linestring by two degrees (note: this is a non-physical # distance) track_buffer = track.buffer(2) for state in shpreader.Reader(states_shp).geometries(): # pick a default color for the land with a black outline, # this will change if the storm intersects with our track facecolor = [0.9375, 0.9375, 0.859375] edgecolor = 'black' if state.intersects(track): facecolor = 'red' elif state.intersects(track_buffer): facecolor = '#FF7E00' ax.add_geometries([state], ccrs.PlateCarree(), facecolor=facecolor, edgecolor=edgecolor) ax.add_geometries([track_buffer], ccrs.PlateCarree(), facecolor='#C8A2C8', alpha=0.5) ax.add_geometries([track], ccrs.PlateCarree(), facecolor='none') # make two proxy artists to add to a legend direct_hit = mpatches.Rectangle((0, 0), 1, 1, facecolor="red") within_2_deg = mpatches.Rectangle((0, 0), 1, 1, facecolor="#FF7E00") labels = ['State directly intersects\nwith track', 'State is within \n2 degrees of track'] plt.legend([direct_hit, within_2_deg], labels, loc='lower left', bbox_to_anchor=(0.025, -0.1), fancybox=True) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/image_tiles.py0000644001374000021030000000075612520135744021663 0ustar itpeavd00000000000000__tags__ = ['Web services'] """ Web tile imagery ---------------- This example demonstrates how imagery from a tile providing web service can be accessed. """ import matplotlib.pyplot as plt from cartopy.io.img_tiles import StamenTerrain def main(): tiler = StamenTerrain() mercator = tiler.crs ax = plt.axes(projection=mercator) ax.set_extent([-90, -73, 22, 34]) ax.add_image(tiler, 6) ax.coastlines('10m') plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/logo.py0000644001374000021030000000266512545000115020330 0ustar itpeavd00000000000000__tags__ = ['Miscellanea'] import cartopy.crs as ccrs import matplotlib.pyplot as plt import matplotlib.textpath import matplotlib.patches from matplotlib.font_manager import FontProperties import numpy as np def main(): plt.figure(figsize=[12, 6]) ax = plt.axes(projection=ccrs.Robinson()) ax.coastlines() ax.gridlines() # generate a matplotlib path representing the word "cartopy" fp = FontProperties(family='Bitstream Vera Sans', weight='bold') logo_path = matplotlib.textpath.TextPath((-175, -35), 'cartopy', size=1, prop=fp) # scale the letters up to sensible longitude and latitude sizes logo_path._vertices *= np.array([80, 160]) # add a background image im = ax.stock_img() # clip the image according to the logo_path. mpl v1.2.0 does not support # the transform API that cartopy makes use of, so we have to convert the # projection into a transform manually plate_carree_transform = ccrs.PlateCarree()._as_mpl_transform(ax) im.set_clip_path(logo_path, transform=plate_carree_transform) # add the path as a patch, drawing black outlines around the text patch = matplotlib.patches.PathPatch(logo_path, facecolor='none', edgecolor='black', transform=ccrs.PlateCarree()) ax.add_patch(patch) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/regridding_arrows.py0000644001374000021030000000314512520135744023107 0ustar itpeavd00000000000000""" Regridding vectors with quiver ------------------------------ This example demonstrates the regridding functionality in quiver (there exists equivalent functionality in :meth:`cartopy.mpl.geoaxes.GeoAxes.barbs`). Regridding can be an effective way of visualising a vector field, particularly if the data is dense or warped. """ __tags__ = ['Vector data'] import matplotlib.pyplot as plt import numpy as np import cartopy.crs as ccrs def sample_data(shape=(20, 30)): """ Returns ``(x, y, u, v, crs)`` of some vector data computed mathematically. The returned CRS will be a North Polar Stereographic projection, meaning that the vectors will be unevenly spaced in a PlateCarree projection. """ crs = ccrs.NorthPolarStereo() scale = 1e7 x = np.linspace(-scale, scale, shape[1]) y = np.linspace(-scale, scale, shape[0]) x2d, y2d = np.meshgrid(x, y) u = 10 * np.cos(2 * x2d / scale + 3 * y2d / scale) v = 20 * np.cos(6 * x2d / scale) return x, y, u, v, crs def main(): plt.figure(figsize=(8, 10)) x, y, u, v, vector_crs = sample_data(shape=(50, 50)) ax1 = plt.subplot(2, 1, 1, projection=ccrs.PlateCarree()) ax1.coastlines('50m') ax1.set_extent([-45, 55, 20, 80], ccrs.PlateCarree()) ax1.quiver(x, y, u, v, transform=vector_crs) ax2 = plt.subplot(2, 1, 2, projection=ccrs.PlateCarree()) plt.title('The same vector field regridded') ax2.coastlines('50m') ax2.set_extent([-45, 55, 20, 80], ccrs.PlateCarree()) ax2.quiver(x, y, u, v, transform=vector_crs, regrid_shape=20) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/rotated_pole.py0000755001374000021030000000206012520135744022053 0ustar itpeavd00000000000000""" Rotated pole boxes ------------------ This example demonstrates the way a box is warped when it is defined in a rotated pole coordinate system. Try changing the ``box_top`` to ``44``, ``46`` and ``75`` to see the effect that including the pole in the polygon has. """ __tags__ = ['Lines and polygons'] import matplotlib.pyplot as plt import cartopy.crs as ccrs def main(): rotated_pole = ccrs.RotatedPole(pole_latitude=45, pole_longitude=180) box_top = 45 x, y = [-44, -44, 45, 45, -44], [-45, box_top, box_top, -45, -45] ax = plt.subplot(211, projection=rotated_pole) ax.stock_img() ax.coastlines() ax.plot(x, y, marker='o', transform=rotated_pole) ax.fill(x, y, color='coral', transform=rotated_pole, alpha=0.4) ax.gridlines() ax = plt.subplot(212, projection=ccrs.PlateCarree()) ax.stock_img() ax.coastlines() ax.plot(x, y, marker='o', transform=rotated_pole) ax.fill(x, y, transform=rotated_pole, color='coral', alpha=0.4) ax.gridlines() plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/srtm_shading.py0000644001374000021030000000304412700747662022064 0ustar itpeavd00000000000000__tags__ = ['Scalar data'] """ This example illustrates the automatic download of STRM data, and adding of shading to create a so-called "Shaded Relief SRTM". Originally contributed by Thomas Lecocq (http://geophysique.be). """ import cartopy.crs as ccrs from cartopy.io import srtm import matplotlib.pyplot as plt from cartopy.io import PostprocessedRasterSource, LocatedImage from cartopy.io.srtm import SRTM3Source, SRTM1Source def shade(located_elevations): """ Given an array of elevations in a LocatedImage, add a relief (shadows) to give a realistic 3d appearance. """ new_img = srtm.add_shading(located_elevations.image, azimuth=135, altitude=15) return LocatedImage(new_img, located_elevations.extent) def plot(Source, name): plt.figure() ax = plt.axes(projection=ccrs.PlateCarree()) # Define a raster source which uses the SRTM data and applies the # shade function when the data is retrieved. shaded_srtm = PostprocessedRasterSource(Source(), shade) # Add the shaded SRTM source to our map with a grayscale colormap. ax.add_raster(shaded_srtm, cmap='Greys') # This data is high resolution, so pick a small area which has some # interesting orography. ax.set_extent([12, 13, 47, 48]) plt.title(name + " Shaded Relief Map") gl = ax.gridlines(draw_labels=True) gl.xlabels_top = False gl.ylabels_left = False def main(): plot(SRTM3Source, 'SRTM3') plot(SRTM1Source, 'SRTM1') plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/star_shaped_boundary.py0000644001374000021030000000173212520135744023574 0ustar itpeavd00000000000000""" Modifying the boundary/neatline of a map in cartopy --------------------------------------------------- This example demonstrates how to modify the boundary/neatline of an axes. We construct a star with coordinates in a Plate Carree coordinate system, and use the star as the outline of the map. Notice how changing the projection of the map represents a *projected* star shaped boundary. """ __tags__ = ['Miscellanea'] import matplotlib.path as mpath import matplotlib.pyplot as plt import cartopy.crs as ccrs def main(): ax = plt.axes([0, 0, 1, 1], projection=ccrs.PlateCarree()) ax.coastlines() # Construct a star in longitudes and latitudes. star_path = mpath.Path.unit_regular_star(5, 0.5) star_path = mpath.Path(star_path.vertices.copy() * 80, star_path.codes.copy()) # Use the star as the boundary. ax.set_boundary(star_path, transform=ccrs.PlateCarree()) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/streamplot.py0000644001374000021030000000101112520135744021554 0ustar itpeavd00000000000000__tags__ = ['Vector data'] import matplotlib.pyplot as plt import cartopy.crs as ccrs from cartopy.examples.arrows import sample_data def main(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.set_extent([-90, 75, 10, 60]) ax.coastlines() x, y, u, v, vector_crs = sample_data(shape=(80, 100)) magnitude = (u ** 2 + v ** 2) ** 0.5 ax.streamplot(x, y, u, v, transform=vector_crs, linewidth=2, density=2, color=magnitude) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/tick_labels.py0000644001374000021030000000327412520135744021653 0ustar itpeavd00000000000000__tags__ = ['Miscellanea'] """ This example demonstrates adding tick labels to maps on rectangular projections using special tick formatters. """ import cartopy.crs as ccrs from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter import matplotlib.pyplot as plt def main(): plt.figure(figsize=(8, 10)) # Label axes of a Plate Carree projection with a central longitude of 180: ax1 = plt.subplot(211, projection=ccrs.PlateCarree(central_longitude=180)) ax1.set_global() ax1.coastlines() ax1.set_xticks([0, 60, 120, 180, 240, 300, 360], crs=ccrs.PlateCarree()) ax1.set_yticks([-90, -60, -30, 0, 30, 60, 90], crs=ccrs.PlateCarree()) lon_formatter = LongitudeFormatter(zero_direction_label=True) lat_formatter = LatitudeFormatter() ax1.xaxis.set_major_formatter(lon_formatter) ax1.yaxis.set_major_formatter(lat_formatter) # Label axes of a Mercator projection without degree symbols in the labels # and formatting labels to include 1 decimal place: ax2 = plt.subplot(212, projection=ccrs.Mercator()) ax2.set_global() ax2.coastlines() ax2.set_xticks([-180, -120, -60, 0, 60, 120, 180], crs=ccrs.PlateCarree()) ax2.set_yticks([-78.5, -60, -25.5, 25.5, 60, 80], crs=ccrs.PlateCarree()) lon_formatter = LongitudeFormatter(number_format='.1f', degree_symbol='', dateline_direction_label=True) lat_formatter = LatitudeFormatter(number_format='.1f', degree_symbol='') ax2.xaxis.set_major_formatter(lon_formatter) ax2.yaxis.set_major_formatter(lat_formatter) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/tissot.py0000644001374000021030000000057512700747662020735 0ustar itpeavd00000000000000import matplotlib.pyplot as plt import cartopy.crs as ccrs def main(): ax = plt.axes(projection=ccrs.PlateCarree()) # make the map global rather than have it zoom in to # the extents of any plotted data ax.set_global() ax.stock_img() ax.coastlines() ax.tissot(facecolor='orange', alpha=0.4) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/tube_stations.py0000644001374000021030000000447112520135744022262 0ustar itpeavd00000000000000__tags__ = ['Miscellanea'] """ Produces a map showing London Underground station locations with high resolution background imagery provided by MapQuest. """ from matplotlib.path import Path import matplotlib.pyplot as plt import numpy as np import cartopy.crs as ccrs from cartopy.io.img_tiles import MapQuestOSM def tube_locations(): """ Returns an (n, 2) array of selected London Tube locations in Ordnance Survey GB coordinates. Source: http://www.doogal.co.uk/london_stations.php """ return np.array([[531738., 180890.], [532379., 179734.], [531096., 181642.], [530234., 180492.], [531688., 181150.], [530242., 180982.], [531940., 179144.], [530406., 180380.], [529012., 180283.], [530553., 181488.], [531165., 179489.], [529987., 180812.], [532347., 180962.], [529102., 181227.], [529612., 180625.], [531566., 180025.], [529629., 179503.], [532105., 181261.], [530995., 180810.], [529774., 181354.], [528941., 179131.], [531050., 179933.], [530240., 179718.]]) def main(): imagery = MapQuestOSM() ax = plt.axes(projection=imagery.crs) ax.set_extent((-0.14, -0.1, 51.495, 51.515)) # Construct concentric circles and a rectangle, # suitable for a London Underground logo. theta = np.linspace(0, 2 * np.pi, 100) circle_verts = np.vstack([np.sin(theta), np.cos(theta)]).T concentric_circle = Path.make_compound_path(Path(circle_verts[::-1]), Path(circle_verts * 0.6)) rectangle = Path([[-1.1, -0.2], [1, -0.2], [1, 0.3], [-1.1, 0.3]]) # Add the imagery to the map. ax.add_image(imagery, 14) # Plot the locations twice, first with the red concentric circles, # then with the blue rectangle. xs, ys = tube_locations().T plt.plot(xs, ys, transform=ccrs.OSGB(), marker=concentric_circle, color='red', markersize=9, linestyle='') plt.plot(xs, ys, transform=ccrs.OSGB(), marker=rectangle, color='blue', markersize=11, linestyle='') plt.title('London underground locations') plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/un_flag.py0000644001374000021030000001624212700747662021021 0ustar itpeavd00000000000000__tags__ = ['Miscellanea'] import cartopy.crs as ccrs import cartopy.feature import matplotlib.pyplot as plt from matplotlib.patches import PathPatch import matplotlib.path import matplotlib.ticker from matplotlib.transforms import BboxTransform, Bbox import numpy as np # When drawing the flag, we can either use white filled land, or be a little # more fancy and use the Natural Earth shaded relief imagery. filled_land = True def olive_path(): """ Returns a matplotlib path representing a single olive branch from the UN Flag. The path coordinates were extracted from the SVG at https://commons.wikimedia.org/wiki/File:Flag_of_the_United_Nations.svg. """ olives_verts = np.array( [[0, 2, 6, 9, 30, 55, 79, 94, 104, 117, 134, 157, 177, 188, 199, 207, 191, 167, 149, 129, 109, 87, 53, 22, 0, 663, 245, 223, 187, 158, 154, 150, 146, 149, 154, 158, 181, 184, 197, 181, 167, 153, 142, 129, 116, 119, 123, 127, 151, 178, 203, 220, 237, 245, 663, 280, 267, 232, 209, 205, 201, 196, 196, 201, 207, 211, 224, 219, 230, 220, 212, 207, 198, 195, 176, 197, 220, 239, 259, 277, 280, 663, 295, 293, 264, 250, 247, 244, 240, 240, 243, 244, 249, 251, 250, 248, 242, 245, 233, 236, 230, 228, 224, 222, 234, 249, 262, 275, 285, 291, 295, 296, 295, 663, 294, 293, 292, 289, 294, 277, 271, 269, 268, 265, 264, 264, 264, 272, 260, 248, 245, 243, 242, 240, 243, 245, 247, 252, 256, 259, 258, 257, 258, 267, 285, 290, 294, 297, 294, 663, 285, 285, 277, 266, 265, 265, 265, 277, 266, 268, 269, 269, 269, 268, 268, 267, 267, 264, 248, 235, 232, 229, 228, 229, 232, 236, 246, 266, 269, 271, 285, 285, 663, 252, 245, 238, 230, 246, 245, 250, 252, 255, 256, 256, 253, 249, 242, 231, 214, 208, 208, 227, 244, 252, 258, 262, 262, 261, 262, 264, 265, 252, 663, 185, 197, 206, 215, 223, 233, 242, 237, 237, 230, 220, 202, 185, 663], [8, 5, 3, 0, 22, 46, 46, 46, 35, 27, 16, 10, 18, 22, 28, 38, 27, 26, 33, 41, 52, 52, 52, 30, 8, 595, 77, 52, 61, 54, 53, 52, 53, 55, 55, 57, 65, 90, 106, 96, 81, 68, 58, 54, 51, 50, 51, 50, 44, 34, 43, 48, 61, 77, 595, 135, 104, 102, 83, 79, 76, 74, 74, 79, 84, 90, 109, 135, 156, 145, 133, 121, 100, 77, 62, 69, 67, 80, 92, 113, 135, 595, 198, 171, 156, 134, 129, 124, 120, 123, 126, 129, 138, 149, 161, 175, 188, 202, 177, 144, 116, 110, 105, 99, 108, 116, 126, 136, 147, 162, 173, 186, 198, 595, 249, 255, 261, 267, 241, 222, 200, 192, 183, 175, 175, 175, 175, 199, 221, 240, 245, 250, 256, 245, 233, 222, 207, 194, 180, 172, 162, 153, 154, 171, 184, 202, 216, 233, 249, 595, 276, 296, 312, 327, 327, 327, 327, 308, 284, 262, 240, 240, 239, 239, 242, 244, 247, 265, 277, 290, 293, 296, 300, 291, 282, 274, 253, 236, 213, 235, 252, 276, 595, 342, 349, 355, 357, 346, 326, 309, 303, 297, 291, 290, 297, 304, 310, 321, 327, 343, 321, 305, 292, 286, 278, 270, 276, 281, 287, 306, 328, 342, 595, 379, 369, 355, 343, 333, 326, 318, 328, 340, 349, 366, 373, 379, 595]]).T olives_codes = np.array([1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 79, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 79, 1, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 79, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 79, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 79, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 79, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 79, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 79], dtype=np.uint8) return matplotlib.path.Path(olives_verts, olives_codes) def main(): blue = '#4b92db' # We're drawing a flag with a 3:5 aspect ratio. fig = plt.figure(figsize=[10, 6], facecolor=blue) # Put a blue background on the figure. blue_background = PathPatch(matplotlib.path.Path.unit_rectangle(), transform=fig.transFigure, color=blue, zorder=-1) fig.patches.append(blue_background) # Set up the Azimuthal Equidistant and Plate Carree projections # for later use. az_eq = ccrs.AzimuthalEquidistant(central_latitude=90) pc = ccrs.PlateCarree() # Pick a suitable location for the map (which is in an Azimuthal # Equidistant projection). ax = plt.axes([0.25, 0.24, 0.5, 0.54], projection=az_eq) # The background patch and outline patch are not needed in this example. ax.background_patch.set_facecolor('none') ax.outline_patch.set_edgecolor('none') # We want the map to go down to -60 degrees latitude. ax.set_extent([-180, 180, -60, 90], ccrs.PlateCarree()) # Importantly, we want the axes to be circular at the -60 latitude # rather than cartopy's default behaviour of zooming in and becoming # square. _, patch_radius = az_eq.transform_point(0, -60, pc) circular_path = matplotlib.path.Path.circle(0, patch_radius) ax.set_boundary(circular_path) if filled_land: ax.add_feature( cartopy.feature.LAND, facecolor='white', edgecolor='none') else: ax.stock_img() gl = ax.gridlines(crs=pc, linewidth=3, color='white', linestyle='-') # Meridians every 45 degrees, and 5 parallels. gl.xlocator = matplotlib.ticker.FixedLocator(np.arange(0, 361, 45)) parallels = np.linspace(-60, 70, 5, endpoint=True) gl.ylocator = matplotlib.ticker.FixedLocator(parallels) # Now add the olive branches around the axes. We do this in normalised # figure coordinates olive_leaf = olive_path() olives_bbox = Bbox.null() olives_bbox.update_from_path(olive_leaf) # The first olive branch goes from left to right. olive1_axes_bbox = Bbox([[0.45, 0.15], [0.725, 0.75]]) olive1_trans = BboxTransform(olives_bbox, olive1_axes_bbox) # THe second olive branch goes from right to left (mirroring the first). olive2_axes_bbox = Bbox([[0.55, 0.15], [0.275, 0.75]]) olive2_trans = BboxTransform(olives_bbox, olive2_axes_bbox) olive1 = PathPatch(olive_leaf, facecolor='white', edgecolor='none', transform=olive1_trans + fig.transFigure) olive2 = PathPatch(olive_leaf, facecolor='white', edgecolor='none', transform=olive2_trans + fig.transFigure) fig.patches.append(olive1) fig.patches.append(olive2) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/waves.py0000755001374000021030000000162612520135744020526 0ustar itpeavd00000000000000__tags__ = ['Scalar data'] import matplotlib.pyplot as plt import numpy as np import cartopy.crs as ccrs def sample_data(shape=(73, 145)): """Returns ``lons``, ``lats`` and ``data`` of some fake data.""" nlats, nlons = shape lats = np.linspace(-np.pi / 2, np.pi / 2, nlats) lons = np.linspace(0, 2 * np.pi, nlons) lons, lats = np.meshgrid(lons, lats) wave = 0.75 * (np.sin(2 * lats) ** 8) * np.cos(4 * lons) mean = 0.5 * np.cos(2 * lats) * ((np.sin(2 * lats)) ** 2 + 2) lats = np.rad2deg(lats) lons = np.rad2deg(lons) data = wave + mean return lons, lats, data def main(): ax = plt.axes(projection=ccrs.Mollweide()) lons, lats, data = sample_data() ax.contourf(lons, lats, data, transform=ccrs.PlateCarree(), cmap='spectral') ax.coastlines() ax.set_global() plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/wms.py0000644001374000021030000000104312520135744020175 0ustar itpeavd00000000000000__tags__ = ['Web services'] """ Interactive WMS (Web Map Service) --------------------------------- This example demonstrates the interactive pan and zoom capability supported by an OGC web services Web Map Service (WMS) aware axes. """ import cartopy.crs as ccrs import matplotlib.pyplot as plt def main(): ax = plt.axes(projection=ccrs.InterruptedGoodeHomolosine()) ax.coastlines() ax.add_wms(wms='http://vmap0.tiles.osgeo.org/wms/vmap0', layers=['basic']) plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/examples/wmts.py0000644001374000021030000000201712700747662020373 0ustar itpeavd00000000000000__tags__ = ['Web services'] """ Interactive WMTS (Web Map Tile Service) --------------------------------------- This example demonstrates the interactive pan and zoom capability supported by an OGC web services Web Map Tile Service (WMTS) aware axes. The example WMTS layer is a single composite of data sampled over nine days in April 2012 and thirteen days in October 2012 showing the Earth at night. It does not vary over time. The imagery was collected by the Suomi National Polar-orbiting Partnership (Suomi NPP) weather satellite operated by the United States National Oceanic and Atmospheric Administration (NOAA). """ import cartopy.crs as ccrs import matplotlib.pyplot as plt def main(): url = 'https://map1c.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi' layer = 'VIIRS_CityLights_2012' ax = plt.axes(projection=ccrs.PlateCarree()) ax.add_wmts(url, layer) ax.set_extent((-15, 25, 35, 60)) plt.title('Suomi NPP Earth at night April/October 2012') plt.show() if __name__ == '__main__': main() Cartopy-0.14.2/lib/cartopy/geodesic/0000755001374000021030000000000012706121712016757 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/geodesic/__init__.py0000644001374000021030000000151712700747662021110 0ustar itpeavd00000000000000# (C) British Crown Copyright 2015 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) from cartopy.geodesic._geodesic import Geodesic Cartopy-0.14.2/lib/cartopy/geodesic/_geodesic.pyx0000644001374000021030000002070412700747662021461 0ustar itpeavd00000000000000# (C) British Crown Copyright 2015 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ This module defines the Geodesic class which can interface with the Proj.4. geodesic functions. """ from cpython.mem cimport PyMem_Malloc from cpython.mem cimport PyMem_Realloc from cpython.mem cimport PyMem_Free import numpy as np cimport numpy as np cimport cython from cython.parallel cimport prange cdef extern from "geodesic.h": # External imports of Proj4.9 functions cdef struct geod_geodesic: pass ctypedef geod_geodesic* geodesic_t void geod_init(geodesic_t, double, double) void geod_direct(geodesic_t, double, double, double, double, double*, double*, double*) nogil void geod_inverse(geodesic_t, double, double, double, double, double*, double*, double*) nogil cdef class Geodesic: """ Defines an ellipsoid on which to solve geodesic problems. """ cdef geod_geodesic* geod cdef double radius cdef double flattening def __cinit__(self, radius=6378137.0, flattening=1/298.257223563): """ Create an ellipsoid with a given radius and flattening. Kwargs: * radius - Equatorial radius (metres). Defaults to the WGS84 semimajor axis (6378137.0 metres). * flattening - Flattening of ellipsoid. Setting flattening = 0 gives a sphere. Negative flattening gives a prolate ellipsoid. If flattening > 1, set flattening to 1/flattening. Defaults to the WGS84 flattening (1/298.257223563). """ # allocate some memory (filled with random data) self.geod = PyMem_Malloc(sizeof(geod_geodesic)) if not self.geod: raise MemoryError() geod_init(self.geod, radius, flattening) self.radius = radius self.flattening = flattening def __dealloc__(self): # Free allocated memory. PyMem_Free(self.geod) def __str__(self): fmt = self.radius, 1/self.flattening return '' % fmt @cython.boundscheck(False) def direct(self, points, azimuths, distances): """ Solve the direct geodesic problem where the length of the geodesic is specified in terms of distance. Can accept and broadcast length 1 arguments. For example, given a single start point and distance, an array of different azimuths can be supplied to locate multiple endpoints. Args: * points - An n (or 1) by 2 numpy.ndarray, list or tuple of lon-lat points. The starting point(s) from which to travel. * azimuths - A length n (or 1) numpy.ndarray or list of azimuth values (degrees). * distances - A length n (or 1) numpy.ndarray or list of distances values (metres). Returns: An n by 3 np.ndarray of lons, lats, and forward azimuths of the located endpoint(s). """ cdef int n_points, i cdef double[:, :] pts, orig_pts cdef double[:] azims, dists # Create numpy arrays from inputs, and ensure correct shape. Note: # reshape(-1) returns a 1D array from a 0 dimensional array as required # for broadcasting. pts = np.array(points, dtype=np.float64).reshape((-1, 2)) azims = np.array(azimuths, dtype=np.float64).reshape(-1) dists = np.array(distances, dtype=np.float64).reshape(-1) sizes = [pts.shape[0], azims.size, dists.size] n_points = max(sizes) if not all(size in [1, n_points] for size in sizes): raise ValueError("Inputs must have common length n or length one.") # Broadcast any length 1 arrays to the correct size. if pts.shape[0] == 1: orig_pts = pts pts = np.empty([n_points, 2], dtype=np.float64) pts[:, :] = orig_pts if azims.size == 1: azims = np.repeat(azims, n_points) if dists.size == 1: dists = np.repeat(dists, n_points) cdef double[:, :] return_pts = np.empty((n_points, 3), dtype=np.float64) with nogil: for i in prange(n_points): geod_direct(self.geod, pts[i, 1], pts[i, 0], azims[i], dists[i], &return_pts[i, 1], &return_pts[i, 0], &return_pts[i, 2]) return return_pts @cython.boundscheck(False) def inverse(self, points, endpoints): """ Solve the inverse geodesic problem. Can accept and broadcast length 1 arguments. For example, given a single start point, an array of different endpoints can be supplied to find multiple distances. Args: * points - An n (or 1) by 2 numpy.ndarray, list or tuple of lon-lat points. The starting point(s) from which to travel. * endpoints - An n (or 1) by 2 numpy.ndarray, list or tuple of lon-lat points. The point(s) to travel to. Returns: An n by 3 np.ndarray of distances, and the (forward) azimuths of the start and end points. """ cdef int n_points, i cdef double[:, :] pts, epts, orig_pts # Create numpy arrays from inputs, and ensure correct shape. Note: # reshape(-1) returns a 1D array from a 0 dimensional array as required # for broadcasting. pts = np.array(points, dtype=np.float64).reshape((-1, 2)) epts = np.array(endpoints, dtype=np.float64).reshape((-1, 2)) sizes = [pts.shape[0], epts.shape[0]] n_points = max(sizes) if not all(size in [1, n_points] for size in sizes): raise ValueError("Inputs must have common length n or length one.") # Broadcast any length 1 arrays to the correct size. if pts.shape[0] == 1: orig_pts = pts pts = np.empty([n_points, 2], dtype=np.float64) pts[:, :] = orig_pts if epts.shape[0] == 1: orig_pts = epts epts = np.empty([n_points, 2], dtype=np.float64) epts[:, :] = orig_pts cdef double[:, :] results = np.empty((n_points, 3), dtype=np.float64) with nogil: for i in prange(n_points): geod_inverse(self.geod, pts[i, 1], pts[i, 0], epts[i, 1], epts[i, 0], &results[i, 0], &results[i, 1], &results[i, 2]) return results def circle(self, double lon, double lat, double radius, int n_samples=180, endpoint=False): """ Find a geodesic circle of given radius at a given point. Args: * lon - Longitude coordinate of the centre. * lat - Latitude coordinate of the centre. * radius - The radius of the circle (metres). Kwargs: * n_samples - Integer number of sample points of circle. * endpoint - Boolean for whether to repeat endpoint at the end of returned array. Returns: An n_samples by 2 np.ndarray of evenly spaced lon-lat points on the circle. """ cdef int i # Put the input arguments into c-typed values. cdef double[:, :] center = np.array([lon, lat]).reshape((1, 2)) cdef double[:] radius_m = np.asarray(radius).reshape(1) azimuths = np.linspace(360., 0., n_samples, endpoint=endpoint).astype(np.double) return self.direct(center, azimuths, radius_m)[:, 0:2] Cartopy-0.14.2/lib/cartopy/io/0000755001374000021030000000000012706121712015604 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/io/__init__.py0000644001374000021030000003642712700747662017745 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Provides a collection of sub-packages for loading, saving and retrieving various data formats. """ from __future__ import (absolute_import, division, print_function) import collections import os import string import warnings import six if six.PY3: from urllib.request import urlopen else: from urllib2 import urlopen from cartopy import config def fh_getter(fh, mode='r', needs_filename=False): """ Convenience function for opening files. Args: * fh - File handle, filename or (file handle, filename) tuple Kwargs: * mode - Open mode. Defaults to "r". Returns: * (file handle, filename), opened in the given mode. """ if mode != 'r': raise ValueError('Only mode "r" currently supported.') if isinstance(fh, six.string_types): filename = fh fh = open(fh, mode) elif isinstance(fh, tuple): fh, filename = fh if filename is None: try: filename = fh.name except AttributeError: # does this occur? if needs_filename: raise ValueError('filename cannot be determined') else: filename = '' return fh, filename class DownloadWarning(Warning): """Issued when a file is being downloaded by a :class:`Downloader`.""" pass class Downloader(object): """ Represents a resource, that can be configured easily, which knows how to acquire itself (perhaps via HTTP). The key interface method is :meth:`path` - typically *all* external calls will be made to that method. To get hold of an appropriate :class:`Downloader` instance the :func:`Downloader.from_config` static method should be considered. .. note: All ``*_template`` arguments should be formattable using the standard :meth:`string.format` rules. The formatting itself is not done until a call to a subsequent method (such as :meth:`Downloader.path`). Args: ``url_template`` - The template of the full URL representing this resource. ``target_path_template`` - The template of the full path to the file that this Downloader represents. Typically the path will be a subdirectory of ``config['data_dir']``, but this is not a strict requirement. If the file does not exist when calling :meth:`Downloader.path` it will be downloaded to this location. Kwargs: ``pre_downloaded_path_template`` - The template of a full path of a file which has been downloaded outside of this Downloader which should be used as the file that this resource represents. If the file does not exist when :meth:`Downloader.path` is called it will not be downloaded to this location (unlike the ``target_path_template`` argument). """ FORMAT_KEYS = ('config',) """ The minimum keys which should be provided in the ``format_dict`` argument for the ``path``, ``url``, ``target_path``, ``pre_downloaded_path`` and ``acquire_resource`` methods. """ def __init__(self, url_template, target_path_template, pre_downloaded_path_template=''): self.url_template = url_template self.target_path_template = target_path_template self.pre_downloaded_path_template = pre_downloaded_path_template # define a formatter which will process the templates. Subclasses # may override the standard ``''.format`` formatting by defining # their own formatter subclass here. self._formatter = string.Formatter() def url(self, format_dict): """ The full URL that this resource represents. Args: ``format_dict`` - The dictionary which is used to replace certain template variables. Subclasses should document which keys are expected as a minimum in their ``FORMAT_KEYS`` class attribute. """ return self._formatter.format(self.url_template, **format_dict) def target_path(self, format_dict): """ The path on disk of the file that this resource represents, must either exist, or be writable by the current user. This method does not check either of these conditions. Args: ``format_dict`` - The dictionary which is used to replace certain template variables. Subclasses should document which keys are expected as a minimum in their ``FORMAT_KEYS`` class attribute. """ return self._formatter.format(self.target_path_template, **format_dict) def pre_downloaded_path(self, format_dict): """ The path on disk of the file that this resource represents, if it does not exist, then no further action will be taken with this path, and all further processing will be done using :meth:`target_path` instead. Args: ``format_dict`` - The dictionary which is used to replace certain template variables. Subclasses should document which keys are expected as a minimum in their ``FORMAT_KEYS`` class attribute. """ return self._formatter.format(self.pre_downloaded_path_template, **format_dict) def path(self, format_dict): """ Returns the path to a file on disk that this resource represents. If the file doesn't exist in :meth:`pre_downloaded_path` then it will check whether it exists in :meth:`target_path`, otherwise the resource will be downloaded via :meth:`acquire_resouce` from :meth:`url` to :meth:`target_path`. Typically, this is the method that most applications will call, allowing implementors of new Downloaders to specialise :meth:`acquire_resource`. Args: ``format_dict`` - The dictionary which is used to replace certain template variables. Subclasses should document which keys are expected as a minimum in their ``FORMAT_KEYS`` class attribute. """ pre_downloaded_path = self.pre_downloaded_path(format_dict) target_path = self.target_path(format_dict) if (pre_downloaded_path is not None and os.path.exists(pre_downloaded_path)): result_path = pre_downloaded_path elif os.path.exists(target_path): result_path = target_path else: # we need to download the file result_path = self.acquire_resource(target_path, format_dict) return result_path def acquire_resource(self, target_path, format_dict): """ Downloads, via HTTP, the file that this resource represents. Subclasses will typically override this method. Args: ``format_dict`` - The dictionary which is used to replace certain template variables. Subclasses should document which keys are expected as a minimum in their ``FORMAT_KEYS`` class attribute. """ target_dir = os.path.dirname(target_path) if not os.path.isdir(target_dir): os.makedirs(target_dir) url = self.url(format_dict) # try getting the resource (no exception handling, just let it raise) response = self._urlopen(url) with open(target_path, 'wb') as fh: fh.write(response.read()) return target_path def _urlopen(self, url): """ Return a file handle to the given HTTP resource URL. Caller should close the file handle when finished with it. """ warnings.warn('Downloading: {}'.format(url), DownloadWarning) return urlopen(url) @staticmethod def from_config(specification, config_dict=None): """ The ``from_config`` static method implements the logic for acquiring a Downloader (sub)class instance from the config dictionary. Args: ``specification`` - should be iterable, as it will be traversed in reverse order to find the most appropriate Downloader instance for this specification. An example specification is ``('shapefiles', 'natural_earth')`` for the Natural Earth shapefiles. Kwargs: ``config_dict`` - typically this is left as None to use the default ``cartopy.config`` "downloaders" dictionary. Example: >>> from cartopy.io import Downloader >>> >>> dnldr = Downloader('https://example.com/{name}', './{name}.txt') >>> config = {('level_1', 'level_2'): dnldr} >>> d1 = Downloader.from_config(('level_1', 'level_2', 'level_3'), ... config_dict=config) >>> print(d1.url_template) https://example.com/{name} >>> print(d1.url({'name': 'item_name'})) https://example.com/item_name """ spec_depth = len(specification) if config_dict is None: downloaders = config['downloaders'] else: downloaders = config_dict result_downloader = None for i in range(spec_depth, 0, -1): lookup = specification[:i] downloadable_item = downloaders.get(lookup, None) if downloadable_item is not None: result_downloader = downloadable_item break if result_downloader is None: # should never really happen, but could if the user does # some strange things like not having any downloaders defined # in the config... raise ValueError('No generic downloadable item in the config ' 'dictionary for {}'.format(specification)) return result_downloader class LocatedImage(collections.namedtuple('LocatedImage', 'image, extent')): """ Defines an image and associated extent in the form: ``image, (min_x, max_x, min_y, max_y)`` """ class RasterSource(object): """ Defines the cartopy raster fetching interface. A :class:`RasterSource` instance is able to supply images and associated extents (as a sequence of :class:`LocatedImage` instances) through its :meth:`~RasterSource.fetch_raster` method. As a result, further interfacing classes, such as :class:`cartopy.mpl.slippy_image_artist.SlippyImageArtist`, can then make use of the interface for functionality such as interactive image retrieval with pan and zoom functionality. """ def validate_projection(self, projection): """ Raise an error if this raster source cannot provide images in the specified projection. Parameters ---------- projection : :class:`cartopy.crs.Projection` The desired projection of the image. """ raise NotImplementedError() def fetch_raster(self, projection, extent, target_resolution): """ Return a sequence of images with extents given some constraining information. Parameters ---------- projection : :class:`cartopy.crs.Projection` The desired projection of the image. extent : iterable of length 4 The extent of the requested image in projected coordinates. The resulting image may not be defined exactly by these extents, and so the extent of the resulting image is also returned. The extents must be defined in the form ``(min_x, max_x, min_y, max_y)``. target_resolution : iterable of length 2 The desired resolution of the image as ``(width, height)`` in pixels. Returns ------- A sequence of :class:`LocatedImage` instances. """ raise NotImplementedError() class RasterSourceContainer(RasterSource): """ A container which simply calls the appropriate methods on the contained :class:`RasterSource`. """ def __init__(self, contained_source): """ Parameters ---------- contained_source : :class:`RasterSource` instance. The source of the raster that this container is wrapping. """ self._source = contained_source def fetch_raster(self, projection, extent, target_resolution): return self._source.fetch_raster(projection, extent, target_resolution) def validate_projection(self, projection): return self._source.validate_projection(projection) class PostprocessedRasterSource(RasterSourceContainer): """ A :class:`RasterSource` which wraps another, an then applies a post-processing step on the raster fetched from the contained source. """ def __init__(self, contained_source, img_post_process): """ Parameters ---------- contained_source : :class:`RasterSource` instance. The source of the raster that this container is wrapping. img_post_process : callable Called after each `fetch_raster` call which yields a non-None image result. The callable must accept the :class:`LocatedImage` from the contained fetch_raster as its only argument, and must return a single LocatedImage. """ super(PostprocessedRasterSource, self).__init__(contained_source) self._post_fetch_fn = img_post_process def fetch_raster(self, *args, **kwargs): fetch_raster = super(PostprocessedRasterSource, self).fetch_raster located_imgs = fetch_raster(*args, **kwargs) if located_imgs: located_imgs = [self._post_fetch_fn(img) for img in located_imgs] return located_imgs Cartopy-0.14.2/lib/cartopy/io/img_nest.py0000755001374000021030000004575712700747662020024 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import collections import glob import itertools import os.path import numpy as np from PIL import Image import shapely.geometry as sgeom from six.moves import zip _img_class_attrs = ['filename', 'extent', 'origin', 'pixel_size'] class Img(collections.namedtuple('Img', _img_class_attrs)): def __new__(cls, *args, **kwargs): # ensure any lists given as args or kwargs are turned into tuples. new_args = [] for item in args: if isinstance(item, list): item = tuple(item) new_args.append(item) new_kwargs = {} for k, item in kwargs.items(): if isinstance(item, list): item = tuple(item) new_kwargs[k] = item return super(Img, cls).__new__(cls, *new_args, **new_kwargs) def __init__(self, *args, **kwargs): """ Represents a simple geo-located image. Args: * filename: Filename of the image tile. * extent: The (x_lower, x_upper, y_lower, y_upper) extent of the image in units of the native projection. * origin: Name of the origin. * pixel_size: The (x_scale, y_scale) pixel width, in units of the native projection per pixel. .. note:: API is likely to change in the future to include a CRS. """ self._bbox = None def __getstate__(self): """ Override the default to ensure when pickling that any new attributes introduced are included in the pickled object. """ return self.__dict__ def bbox(self): """ Return a :class:`~shapely.geometry.polygon.Polygon` instance for this image's extents. """ if self._bbox is None: x0, x1, y0, y1 = self.extent self._bbox = sgeom.box(x0, y0, x1, y1) return self._bbox @staticmethod def world_files(fname): """ Determine potential world filename combinations, without checking their existence. For example, a '*.tif' file may have one of the following popular conventions for world file extensions '*.tifw', '*.tfw', '*.TIFW' or '*.TFW'. Given the possible world file extensions, the upper case basename combinations are also generated. For example, the file 'map.tif' will generate the following world file variations, 'map.tifw', 'map.tfw', 'map.TIFW', 'map.TFW', 'MAP.tifw', 'MAP.tfw', 'MAP.TIFW' and 'MAP.TFW'. Args: * fname: Name of the file for which to get all the possible world filename combinations. Returns: A list of possible world filename combinations. Examples: >>> from cartopy.io.img_nest import Img >>> Img.world_files('img.png')[:6] ['img.pngw', 'img.pgw', 'img.PNGW', 'img.PGW', 'IMG.pngw', 'IMG.pgw'] >>> Img.world_files('/path/to/img.TIF')[:2] ['/path/to/img.tifw', '/path/to/img.tfw'] >>> Img.world_files('/path/to/img/with_no_extension')[0] '/path/to/img/with_no_extension.w' """ froot, fext = os.path.splitext(fname) # If there was no extension to the filename. if froot == fname: result = ['{}.{}'.format(fname, 'w'), '{}.{}'.format(fname, 'W')] else: fext = fext[1::].lower() if len(fext) < 3: result = ['{}.{}'.format(fname, 'w'), '{}.{}'.format(fname, 'W')] else: fext_types = [fext + 'w', fext[0] + fext[-1] + 'w'] fext_types.extend([ext.upper() for ext in fext_types]) result = ['{}.{}'.format(froot, ext) for ext in fext_types] def _convert_basename(name): dirname, basename = os.path.dirname(name), os.path.basename(name) base, ext = os.path.splitext(basename) if base == base.upper(): result = base.lower() + ext else: result = base.upper() + ext if dirname: result = os.path.join(dirname, result) return result result += [_convert_basename(r) for r in result] return result def __array__(self): return np.array(Image.open(self.filename)) @classmethod def from_world_file(cls, img_fname, world_fname): """ Return an Img instance from the given image filename and worldfile filename. """ im = Image.open(img_fname) with open(world_fname) as world_fh: extent, pix_size = cls.world_file_extent(world_fh, im.size) if hasattr(im, 'close'): im.close() return cls(img_fname, extent, 'lower', pix_size) @staticmethod def world_file_extent(worldfile_handle, im_shape): """ Return the extent ``(x0, x1, y0, y1)`` and pixel size ``(x_width, y_width)`` as defined in the given worldfile file handle and associated image shape ``(x, y)``. """ lines = worldfile_handle.readlines() if len(lines) != 6: raise ValueError('Only world files with 6 lines are supported.') pix_size = (float(lines[0]), float(lines[3])) pix_rotation = (float(lines[1]), float(lines[2])) if pix_rotation != (0., 0.): raise ValueError('Rotated pixels in world files is not currently ' 'supported.') ul_corner = (float(lines[4]), float(lines[5])) min_x, max_x = (ul_corner[0] - pix_size[0]/2., ul_corner[0] + pix_size[0]*im_shape[0] - pix_size[0]/2.) min_y, max_y = (ul_corner[1] - pix_size[1]/2., ul_corner[1] + pix_size[1]*im_shape[1] - pix_size[1]/2.) return (min_x, max_x, min_y, max_y), pix_size class ImageCollection(object): def __init__(self, name, crs, images=None): """ Represents a collection of images at the same logical level. Typically these are images at the same zoom level or resolution. Args: * name: The name of the image collection. * crs: The :class:`~cartopy.crs.Projection` instance. Kwargs: * images: A list of one or more :class:`~cartopy.io.img_nest.Img` instances. """ self.name = name self.crs = crs self.images = images or [] def scan_dir_for_imgs(self, directory, glob_pattern='*.tif', img_class=Img): """ Search the given directory for the associated world files of the image files. Args: * directory: The directory path to search for image files. Kwargs: * glob_pattern: The image filename glob pattern to search with. Defaults to '*.tif'. * img_class The class used to construct each image in the Collection. .. note:: Does not recursively search sub-directories. """ imgs = glob.glob(os.path.join(directory, glob_pattern)) for img in imgs: dirname, fname = os.path.split(img) worlds = img_class.world_files(fname) for fworld in worlds: fworld = os.path.join(dirname, fworld) if os.path.exists(fworld): break else: msg = 'Image file {!r} has no associated world file' raise ValueError(msg.format(img)) self.images.append(img_class.from_world_file(img, fworld)) class NestedImageCollection(object): def __init__(self, name, crs, collections, _ancestry=None): """ Represents a complex nest of ImageCollections. On construction, the image collections are scanned for ancestry, leading to fast image finding capabilities. A complex (and time consuming to create) NestedImageCollection instance can be saved as a pickle file and subsequently be (quickly) restored. There is a simplified creation interface for NestedImageCollection ``from_configuration`` for more detail. Args: * name: The name of the nested image collection. * crs: The native :class:`~cartopy.crs.Projection` of all the image collections. * collections: A list of one or more :class:`~cartopy.io.img_nest.ImageCollection` instances. """ # NOTE: all collections must have the same crs. _names = set([collection.name for collection in collections]) assert len(_names) == len(collections), \ 'The collections must have unique names.' self.name = name self.crs = crs self._collections_by_name = {collection.name: collection for collection in collections} def sort_func(c): return np.max([image.bbox().area for image in c.images]) self._collections = sorted(collections, key=sort_func, reverse=True) self._ancestry = {} """ maps (collection name, image) to a list of children (collection name, image). """ if _ancestry is not None: self._ancestry = _ancestry else: parent_wth_children = zip(self._collections, self._collections[1:]) for parent_collection, collection in parent_wth_children: for parent_image in parent_collection.images: for image in collection.images: if self._is_parent(parent_image, image): # append the child image to the parent's ancestry key = (parent_collection.name, parent_image) self._ancestry.setdefault(key, []).append( (collection.name, image)) # TODO check that the ancestry is in a good state (i.e. that each # collection has child images) @staticmethod def _is_parent(parent, child): """ Returns whether the given Image is the parent of image. Used by __init__. """ result = False pbox = parent.bbox() cbox = child.bbox() if pbox.area > cbox.area: result = pbox.intersects(cbox) and not pbox.touches(cbox) return result def image_for_domain(self, target_domain, target_z): """ Determine the image that provides complete coverage of target location. The composed image is merged from one or more image tiles that overlay the target location and provide complete image coverage of the target location. Args: * target_domain: A :class:`~shapely.geometry.linestring.LineString` instance that specifies the target location requiring image coverage. * target_z: The name of the target :class`~cartopy.io.img_nest.ImageCollection` which specifies the target zoom level (resolution) of the required images. Returns: A tuple containing three items, consisting of the target location :class:`numpy.ndarray` image data, the (x-lower, x-upper, y-lower, y-upper) extent of the image, and the origin for the target location. """ # XXX Copied from cartopy.io.img_tiles if target_z not in self._collections_by_name: # TODO: Handle integer depths also? msg = '{!r} is not one of the possible collections.' raise ValueError(msg.format(target_z)) tiles = [] for tile in self.find_images(target_domain, target_z): try: img, extent, origin = self.get_image(tile) except IOError: continue img = np.array(img) x = np.linspace(extent[0], extent[1], img.shape[1], endpoint=False) y = np.linspace(extent[2], extent[3], img.shape[0], endpoint=False) tiles.append([np.array(img), x, y, origin]) from cartopy.io.img_tiles import _merge_tiles img, extent, origin = _merge_tiles(tiles) return img, extent, origin def find_images(self, target_domain, target_z, start_tiles=None): """ A generator that finds all images that overlap the bounded target location. Args: * target_domain: A :class:`~shapely.geometry.linestring.LineString` instance that specifies the target location requiring image coverage. * target_z: The name of the target :class:`~cartopy.io.img_nest.ImageCollection` which specifies the target zoom level (resolution) of the required images. Kwargs: * start_tiles: A list of one or more tuple pairs, composed of a :class:`~cartopy.io.img_nest.ImageCollection` name and an :class:`~cartopy.io.img_nest.Img` instance, from which to search for the target images. Returns: A generator tuple pair composed of a :class:`~cartopy.io.img_nest.ImageCollection` name and an :class:`~cartopy.io.img_nest.Img` instance. """ # XXX Copied from cartopy.io.img_tiles if target_z not in self._collections_by_name: # TODO: Handle integer depths also? msg = '{!r} is not one of the possible collections.' raise ValueError(msg.format(target_z)) if start_tiles is None: start_tiles = ((self._collections[0].name, img) for img in self._collections[0].images) for start_tile in start_tiles: # recursively drill down to the images at the target zoom domain = start_tile[1].bbox() if target_domain.intersects(domain) and \ not target_domain.touches(domain): if start_tile[0] == target_z: yield start_tile else: for tile in self.subtiles(start_tile): for result in self.find_images(target_domain, target_z, start_tiles=[tile]): yield result def subtiles(self, collection_image): """ Find the higher resolution image tiles that compose this parent image tile. Args: * collection_image: A tuple pair containing the parent :class:`~cartopy.io.img_nest.ImageCollection` name and :class:`~cartopy.io.img_nest.Img` instance. Returns: An iterator of tuple pairs containing the higher resolution child :class:`~cartopy.io.img_nest.ImageCollection` name and :class:`~cartopy.io.img_nest.Img` instance that compose the parent. """ return iter(self._ancestry.get(collection_image, [])) desired_tile_form = 'RGB' def get_image(self, collection_image): """ Retrieve the data of the target image from file. .. note:: The format of the retrieved image file data is controlled by :attr:`~cartopy.io.img_nest.NestedImageCollection.desired_tile_form`, which defaults to 'RGB' format. Args: * collection_image: A tuple pair containing the target :class:`~cartopy.io.img_nest.ImageCollection` name and :class:`~cartopy.io.img_nest.Img` instance. Returns: A tuple containing three items, consisting of the associated image file data, the (x_lower, x_upper, y_lower, y_upper) extent of the image, and the image origin. """ img = collection_image[1] img_data = Image.open(img.filename) img_data = img_data.convert(self.desired_tile_form) return img_data, img.extent, img.origin @classmethod def from_configuration(cls, name, crs, name_dir_pairs, glob_pattern='*.tif', img_class=Img): """ Creates a :class:`~cartopy.io.img_nest.NestedImageCollection` instance given the list of image collection name and directory path pairs. This is very convenient functionality for simple configuration level creation of this complex object. For example, to produce a nested collection of OS map tiles:: files = [['OS 1:1,000,000', '/directory/to/1_to_1m'], ['OS 1:250,000', '/directory/to/1_to_250k'], ['OS 1:50,000', '/directory/to/1_to_50k'], ] r = NestedImageCollection.from_configuration('os', ccrs.OSGB(), files) .. important:: The list of image collection name and directory path pairs must be given in increasing resolution order i.e. from low resolution to high resolution. Args: * name: The name for the :class:`~cartopy.io.img_nest.NestedImageCollection` instance. * crs: The :class:`~cartopy.crs.Projection` of the image collection. * name_dir_pairs: A list of image collection name and directory path pairs. Kwargs: * glob_pattern: The image collection filename glob pattern. Defaults to '*.tif'. * img_class: The class of images created in the image collection. Returns: A :class:`~cartopy.io.img_nest.NestedImageCollection` instance. """ collections = [] for collection_name, collection_dir in name_dir_pairs: collection = ImageCollection(collection_name, crs) collection.scan_dir_for_imgs(collection_dir, glob_pattern=glob_pattern, img_class=img_class) collections.append(collection) return cls(name, crs, collections) Cartopy-0.14.2/lib/cartopy/io/img_tiles.py0000755001374000021030000003552112700747662020157 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Implements image tile identification and fetching from various sources. The matplotlib interface can make use of tile objects (defined below) via the :meth:`cartopy.mpl.geoaxes.GeoAxes.add_image` method. For example, to add a :class:`MapQuest Open Aerial tileset ` to an existing axes at zoom level 2, do ``ax.add_image(MapQuestOpenAerial(), 2)``. An example of using tiles in this way can be found at :ref:`examples-eyja_volcano`. """ from __future__ import (absolute_import, division, print_function) from PIL import Image import shapely.geometry as sgeom import numpy as np import six import cartopy.crs as ccrs class GoogleTiles(object): """ Implements web tile retrieval using the Google WTS coordinate system. A "tile" in this class refers to the coordinates (x, y, z). """ def __init__(self, desired_tile_form='RGB', style="street"): """ :param desired_tile_form: :param style: The style for the Google Maps tiles. One of 'street', 'satellite', 'terrain', and 'only_streets'. Defaults to 'street'. """ # Only streets are partly transparent tiles that can be overlayed over # the satellite map to create the known hybrid style from google. styles = ["street", "satellite", "terrain", "only_streets"] style = style.lower() if style not in styles: msg = "Invalid style '%s'. Valid styles: %s" % \ (style, ", ".join(styles)) raise ValueError(msg) self.style = style # The 'satellite' and 'terrain' styles require pillow with a jpeg # decoder. if self.style in ["satellite", "terrain"] and \ not hasattr(Image.core, "jpeg_decoder") or \ not Image.core.jpeg_decoder: msg = "The '%s' style requires pillow with jpeg decoding support." raise ValueError(msg % self.style) self.imgs = [] self.crs = ccrs.Mercator.GOOGLE self.desired_tile_form = desired_tile_form def image_for_domain(self, target_domain, target_z): tiles = [] for tile in self.find_images(target_domain, target_z): try: img, extent, origin = self.get_image(tile) except IOError: continue img = np.array(img) x = np.linspace(extent[0], extent[1], img.shape[1]) y = np.linspace(extent[2], extent[3], img.shape[0]) tiles.append([img, x, y, origin]) img, extent, origin = _merge_tiles(tiles) return img, extent, origin def _find_images(self, target_domain, target_z, start_tile=(0, 0, 0)): """Target domain is a shapely polygon in native coordinates.""" assert isinstance(target_z, int) and target_z >= 0, ('target_z must ' 'be an integer ' '>=0.') # Recursively drill down to the images at the target zoom. x0, x1, y0, y1 = self._tileextent(start_tile) domain = sgeom.box(x0, y0, x1, y1) if domain.intersects(target_domain): if start_tile[2] == target_z: yield start_tile else: for tile in self._subtiles(start_tile): for result in self._find_images(target_domain, target_z, start_tile=tile): yield result find_images = _find_images def subtiles(self, x_y_z): x, y, z = x_y_z # Google tile specific (i.e. up->down). for xi in range(0, 2): for yi in range(0, 2): yield x * 2 + xi, y * 2 + yi, z + 1 _subtiles = subtiles def tile_bbox(self, x, y, z, y0_at_north_pole=True): """ Returns the ``(x0, x1), (y0, y1)`` bounding box for the given x, y, z tile position. Parameters ---------- x, y, z : int The x, y, z tile coordinates in the Google tile numbering system (with y=0 being at the north pole), unless `y0_at_north_pole` is set to ``False``, in which case `y` is in the TMS numbering system (with y=0 being at the south pole). y0_at_north_pole : bool Whether the numbering of the y coordinate starts at the north pole (as is the convention for Google tiles), or the south pole (as is the convention for TMS). """ n = 2 ** z assert 0 <= x <= (n - 1), ("Tile's x index is out of range. Upper " "limit %s. Got %s" % (n, x)) assert 0 <= y <= (n - 1), ("Tile's y index is out of range. Upper " "limit %s. Got %s" % (n, y)) x0, x1 = self.crs.x_limits y0, y1 = self.crs.y_limits # Compute the box height and width in native coordinates # for this zoom level. box_h = (y1 - y0) / n box_w = (x1 - x0) / n # Compute the native x & y extents of the tile. n_xs = x0 + (x + np.arange(0, 2, dtype=np.float64)) * box_w n_ys = y0 + (y + np.arange(0, 2, dtype=np.float64)) * box_h if y0_at_north_pole: n_ys = -1 * n_ys[::-1] return n_xs, n_ys def tileextent(self, x_y_z): """Returns extent tuple ``(x0,x1,y0,y1)`` in Mercator coordinates.""" x, y, z = x_y_z x_lim, y_lim = self.tile_bbox(x, y, z, y0_at_north_pole=True) return tuple(x_lim) + tuple(y_lim) _tileextent = tileextent def _image_url(self, tile): style_dict = { "street": "m", "satellite": "s", "terrain": "t", "only_streets": "h"} url = ('https://mts0.google.com/vt/lyrs={style}@177000000&hl=en&' 'src=api&x={tile_x}&y={tile_y}&z={tile_z}&s=G'.format( style=style_dict[self.style], tile_x=tile[0], tile_y=tile[1], tile_z=tile[2])) return url def get_image(self, tile): if six.PY3: from urllib.request import urlopen else: from urllib2 import urlopen url = self._image_url(tile) fh = urlopen(url) im_data = six.BytesIO(fh.read()) fh.close() img = Image.open(im_data) img = img.convert(self.desired_tile_form) return img, self.tileextent(tile), 'lower' class MapQuestOSM(GoogleTiles): # http://developer.mapquest.com/web/products/open/map for terms of use def _image_url(self, tile): x, y, z = tile url = 'http://otile1.mqcdn.com/tiles/1.0.0/osm/%s/%s/%s.jpg' % ( z, x, y) return url class MapQuestOpenAerial(GoogleTiles): # http://developer.mapquest.com/web/products/open/map for terms of use # The following attribution should be included in the resulting image: # "Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, # Farm Service Agency" def _image_url(self, tile): x, y, z = tile url = 'http://oatile1.mqcdn.com/tiles/1.0.0/sat/%s/%s/%s.jpg' % ( z, x, y) return url class OSM(GoogleTiles): # http://developer.mapquest.com/web/products/open/map for terms of use def _image_url(self, tile): x, y, z = tile url = 'https://a.tile.openstreetmap.org/%s/%s/%s.png' % (z, x, y) return url class StamenTerrain(GoogleTiles): """ Terrain tiles defined for the continental United States, and include land color and shaded hills. The land colors are a custom palette developed by Gem Spear for the National Atlas 1km land cover data set, which defines twenty-four land classifications including five kinds of forest, combinations of shrubs, grasses and crops, and a few tundras and wetlands. The colors are at their highest contrast when fully zoomed-out to the whole U.S., and they slowly fade out to pale off-white as you zoom in to leave room for foreground data and break up the weirdness of large areas of flat, dark green. Additional info: http://mike.teczno.com/notes/osm-us-terrain-layer/background.html http://maps.stamen.com/#terrain/12/37.6902/-122.3600 https://wiki.openstreetmap.org/wiki/List_of_OSM_based_Services https://github.com/migurski/DEM-Tools """ def _image_url(self, tile): x, y, z = tile url = 'http://tile.stamen.com/terrain-background/%s/%s/%s.png' % ( z, x, y) return url class MapboxTiles(GoogleTiles): """ Implements web tile retrieval from Mapbox. For terms of service, see https://www.mapbox.com/tos/. """ def __init__(self, access_token, map_id): """ Set up a new Mapbox tiles instance. Access to Mapbox web services requires an access token and a map ID. See https://www.mapbox.com/developers/api/ for details. Parameters ---------- access_token: str A valid Mapbox API access token. map_id: str A map ID for a publically accessible map. This is the map whose tiles will be retrieved through this process. """ self.access_token = access_token self.map_id = map_id super(MapboxTiles, self).__init__() def _image_url(self, tile): x, y, z = tile url = ('https://api.tiles.mapbox.com/v4/{mapid}/{z}/{x}/{y}.png?' 'access_token={token}'.format(z=z, y=y, x=x, mapid=self.map_id, token=self.access_token)) return url class QuadtreeTiles(GoogleTiles): """ Implements web tile retrieval using the Microsoft WTS quadkey coordinate system. A "tile" in this class refers to a quadkey such as "1", "14" or "141" where the length of the quatree is the zoom level in Google Tile terms. """ def _image_url(self, tile): url = ('http://ecn.dynamic.t1.tiles.virtualearth.net/comp/' 'CompositionHandler/{tile}?mkt=en-' 'gb&it=A,G,L&shading=hill&n=z'.format(tile=tile)) return url def tms_to_quadkey(self, tms, google=False): quadKey = "" x, y, z = tms # this algorithm works with google tiles, rather than tms, so convert # to those first. if not google: y = (2 ** z - 1) - y for i in range(z, 0, -1): digit = 0 mask = 1 << (i - 1) if (x & mask) != 0: digit += 1 if (y & mask) != 0: digit += 2 quadKey += str(digit) return quadKey def quadkey_to_tms(self, quadkey, google=False): # algorithm ported from # https://msdn.microsoft.com/en-us/library/bb259689.aspx assert isinstance(quadkey, six.string_types), \ 'quadkey must be a string' x = y = 0 z = len(quadkey) for i in range(z, 0, -1): mask = 1 << (i - 1) if quadkey[z - i] == '0': pass elif quadkey[z - i] == '1': x |= mask elif quadkey[z - i] == '2': y |= mask elif quadkey[z - i] == '3': x |= mask y |= mask else: raise ValueError('Invalid QuadKey digit ' 'sequence.' + str(quadkey)) # the algorithm works to google tiles, so convert to tms if not google: y = (2 ** z - 1) - y return (x, y, z) def subtiles(self, quadkey): for i in range(4): yield quadkey + str(i) def tileextent(self, quadkey): x_y_z = self.quadkey_to_tms(quadkey, google=True) return GoogleTiles.tileextent(self, x_y_z) def find_images(self, target_domain, target_z, start_tile=None): """ Find all the quadtree's at the given target zoom, in the given target domain. target_z must be a value >= 1. """ if target_z == 0: raise ValueError('The empty quadtree cannot be returned.') if start_tile is None: start_tiles = ['0', '1', '2', '3'] else: start_tiles = [start_tile] for start_tile in start_tiles: start_tile = self.quadkey_to_tms(start_tile, google=True) for tile in GoogleTiles.find_images(self, target_domain, target_z, start_tile=start_tile): yield self.tms_to_quadkey(tile, google=True) def _merge_tiles(tiles): """Return a single image, merging the given images.""" if not tiles: raise ValueError('A non-empty list of tiles should ' 'be provided to merge.') xset = [set(x) for i, x, y, _ in tiles] yset = [set(y) for i, x, y, _ in tiles] xs = xset[0] xs.update(*xset[1:]) ys = yset[0] ys.update(*yset[1:]) xs = sorted(xs) ys = sorted(ys) other_len = tiles[0][0].shape[2:] img = np.zeros((len(ys), len(xs)) + other_len, dtype=np.uint8) - 1 for tile_img, x, y, origin in tiles: y_first, y_last = y[0], y[-1] yi0, yi1 = np.where((y_first == ys) | (y_last == ys))[0] if origin == 'upper': yi0 = tile_img.shape[0] - yi0 - 1 yi1 = tile_img.shape[0] - yi1 - 1 start, stop, step = yi0, yi1, 1 if yi0 < yi1 else -1 if step == 1 and stop == img.shape[0] - 1: stop = None elif step == -1 and stop == 0: stop = None else: stop += step y_slice = slice(start, stop, step) xi0, xi1 = np.where((x[0] == xs) | (x[-1] == xs))[0] start, stop, step = xi0, xi1, 1 if xi0 < xi1 else -1 if step == 1 and stop == img.shape[1] - 1: stop = None elif step == -1 and stop == 0: stop = None else: stop += step x_slice = slice(start, stop, step) img_slice = (y_slice, x_slice, Ellipsis) if origin == 'lower': tile_img = tile_img[::-1, ::] img[img_slice] = tile_img return img, [min(xs), max(xs), min(ys), max(ys)], 'lower' Cartopy-0.14.2/lib/cartopy/io/ogc_clients.py0000644001374000021030000007401712700747662020474 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Implements RasterSource classes which can retrieve imagery from web services such as WMS and WMTS. The matplotlib interface can make use of RasterSources via the :meth:`cartopy.mpl.geoaxes.GeoAxes.add_raster` method, with additional specific methods which make use of this for WMS and WMTS (:meth:`~cartopy.mpl.geoaxes.GeoAxes.add_wms` and :meth:`~cartopy.mpl.geoaxes.GeoAxes.add_wmts`). An example of using WMTS in this way can be found at :ref:`examples-wmts`. """ from __future__ import (absolute_import, division, print_function) import six import collections import io import math import warnings import weakref from xml.etree import ElementTree import numpy as np from PIL import Image import shapely.geometry as sgeom try: from owslib.wms import WebMapService from owslib.wfs import WebFeatureService import owslib.util import owslib.wmts _OWSLIB_AVAILABLE = True except ImportError: WebMapService = None WebFeatureService = None _OWSLIB_AVAILABLE = False import cartopy.crs as ccrs from cartopy.io import LocatedImage, RasterSource from cartopy.img_transform import warp_array _OWSLIB_REQUIRED = 'OWSLib is required to use OGC web services.' # Hardcode some known EPSG codes for now. # The order given here determines the preferred SRS for WMS retrievals. _CRS_TO_OGC_SRS = collections.OrderedDict( [(ccrs.PlateCarree(), 'EPSG:4326'), (ccrs.Mercator.GOOGLE, 'EPSG:900913')]) # Standard pixel size of 0.28 mm as defined by WMTS. METERS_PER_PIXEL = 0.28e-3 _WGS84_METERS_PER_UNIT = 2 * math.pi * 6378137 / 360 METERS_PER_UNIT = { 'urn:ogc:def:crs:EPSG::27700': 1, 'urn:ogc:def:crs:EPSG::900913': 1, 'urn:ogc:def:crs:OGC:1.3:CRS84': _WGS84_METERS_PER_UNIT, } _URN_TO_CRS = { 'urn:ogc:def:crs:EPSG::27700': ccrs.OSGB(), 'urn:ogc:def:crs:EPSG::4326': ccrs.PlateCarree(), 'urn:ogc:def:crs:EPSG::900913': ccrs.GOOGLE_MERCATOR, 'urn:ogc:def:crs:OGC:1.3:CRS84': ccrs.PlateCarree(), 'urn:ogc:def:crs:EPSG::3031': ccrs.Stereographic(central_latitude=-90, true_scale_latitude=-71) } # XML namespace definitions _MAP_SERVER_NS = '{http://mapserver.gis.umn.edu/mapserver}' _GML_NS = '{http://www.opengis.net/gml}' class WMSRasterSource(RasterSource): """ A WMS imagery retriever which can be added to a map. .. note:: Requires owslib and Pillow to work. .. note:: No caching of retrieved maps is done with this WMSRasterSource. To reduce load on the WMS server it is encouraged to tile map requests and subsequently stitch them together to recreate a single raster, thus allowing for a more aggressive caching scheme, but this WMSRasterSource does not currently implement WMS tile fetching. Whilst not the same service, there is also a WMTSRasterSource which makes use of tiles and comes with built-in caching for fast repeated map retrievals. """ def __init__(self, service, layers, getmap_extra_kwargs=None): """ Parameters ---------- service : string or WebMapService instance The WebMapService instance, or URL of a WMS service, from whence to retrieve the image. layers : string or list of strings The name(s) of layers to use from the WMS service. getmap_extra_kwargs : dict or None Extra keywords to pass through to the service's getmap method. If None, a dictionary with ``{'transparent': True}`` will be defined. """ if WebMapService is None: raise ImportError(_OWSLIB_REQUIRED) if isinstance(service, six.string_types): service = WebMapService(service) if isinstance(layers, six.string_types): layers = [layers] if getmap_extra_kwargs is None: getmap_extra_kwargs = {'transparent': True} if len(layers) == 0: raise ValueError('One or more layers must be defined.') for layer in layers: if layer not in service.contents: raise ValueError('The {!r} layer does not exist in ' 'this service.'.format(layer)) #: The OWSLib WebMapService instance. self.service = service #: The names of the layers to fetch. self.layers = layers #: Extra kwargs passed through to the service's getmap request. self.getmap_extra_kwargs = getmap_extra_kwargs def _native_srs(self, projection): # Return the SRS which corresponds to the given projection when # known, otherwise return None. return _CRS_TO_OGC_SRS.get(projection) def _fallback_proj_and_srs(self): """ Return a :class:`cartopy.crs.Projection` and corresponding SRS string in which the WMS service can supply the requested layers. """ contents = self.service.contents for proj, srs in six.iteritems(_CRS_TO_OGC_SRS): missing = any(srs not in contents[layer].crsOptions for layer in self.layers) if not missing: break if missing: raise ValueError('The requested layers are not available in a ' 'known SRS.') return proj, srs def validate_projection(self, projection): if self._native_srs(projection) is None: self._fallback_proj_and_srs() def _image_and_extent(self, wms_proj, wms_srs, wms_extent, output_proj, output_extent, target_resolution): min_x, max_x, min_y, max_y = wms_extent wms_image = self.service.getmap(layers=self.layers, srs=wms_srs, bbox=(min_x, min_y, max_x, max_y), size=target_resolution, format='image/png', **self.getmap_extra_kwargs) wms_image = Image.open(io.BytesIO(wms_image.read())) if wms_proj == output_proj: extent = output_extent else: # Convert Image to numpy array (flipping so that origin # is 'lower'). img, extent = warp_array(np.asanyarray(wms_image)[::-1], source_proj=wms_proj, source_extent=wms_extent, target_proj=output_proj, target_res=target_resolution, target_extent=output_extent, mask_extrapolated=True) # Convert arrays with masked RGB(A) values to non-masked RGBA # arrays, setting the alpha channel to zero for masked values. # This avoids unsightly grey boundaries appearing when the # extent is limited (i.e. not global). if np.ma.is_masked(img): if img.shape[2:3] == (3,): # RGB old_img = img img = np.zeros(img.shape[:2] + (4,), dtype=img.dtype) img[:, :, 0:3] = old_img img[:, :, 3] = ~ np.any(old_img.mask, axis=2) if img.dtype.kind == 'u': img[:, :, 3] *= 255 elif img.shape[2:3] == (4,): # RGBA img[:, :, 3] = np.where(np.any(img.mask, axis=2), 0, img[:, :, 3]) img = img.data # Convert warped image array back to an Image, undoing the # earlier flip. wms_image = Image.fromarray(img[::-1]) return LocatedImage(wms_image, extent) def fetch_raster(self, projection, extent, target_resolution): min_x, max_x, min_y, max_y = extent target_resolution = [int(np.ceil(val)) for val in target_resolution] wms_srs = self._native_srs(projection) if wms_srs is not None: wms_proj = projection wms_extents = [extent] else: # The SRS for the requested projection is not known, so # attempt to use the fallback and perform the necessary # transformations. wms_proj, wms_srs = self._fallback_proj_and_srs() # Calculate the bounding box(es) in WMS projection. # Start with the requested area. target_box = sgeom.box(min_x, min_y, max_x, max_y) # If the requested area (i.e. target_box) is bigger (or # nearly bigger) than the entire output projection domain # then we erode the request area to avoid re-projection # instabilities near the full-projection limit. buffered_target_box = target_box.buffer(projection.threshold, resolution=1) fudge_mode = buffered_target_box.contains(projection.domain) if fudge_mode: target_box = projection.domain.buffer(-projection.threshold) # Convert the requested area to the WMS server's projection. wms_polys = wms_proj.project_geometry(target_box, projection) wms_extents = [] for wms_poly in wms_polys: min_x, min_y, max_x, max_y = wms_poly.bounds if fudge_mode: # If we shrunk the request area before, then here we # need to re-inflate. radius = min(max_x - min_x, max_y - min_y) / 5.0 radius = min(radius, wms_proj.threshold * 15) wms_poly = wms_poly.buffer(radius, resolution=1) # Prevent the expanded request going beyond the # limits of the projection. wms_poly = wms_proj.domain.intersection(wms_poly) min_x, min_y, max_x, max_y = wms_poly.bounds wms_extents.append((min_x, max_x, min_y, max_y)) located_images = [] for wms_extent in wms_extents: located_images.append(self._image_and_extent(wms_proj, wms_srs, wms_extent, projection, extent, target_resolution)) return located_images class WMTSRasterSource(RasterSource): """ A WMTS imagery retriever which can be added to a map. Uses tile caching for fast repeated map retrievals. .. note:: Requires owslib and Pillow to work. """ _shared_image_cache = weakref.WeakKeyDictionary() """ A nested mapping from WMTS, layer name, tile matrix name, tile row and tile column to the resulting PIL image:: {wmts: {(layer_name, tile_matrix_name): {(row, column): Image}}} This provides a significant boost when producing multiple maps of the same projection or with an interactive figure. """ def __init__(self, wmts, layer_name): """ Args: * wmts - The URL of the WMTS, or an owslib.wmts.WebMapTileService instance. * layer_name - The name of the layer to use. """ if WebMapService is None: raise ImportError(_OWSLIB_REQUIRED) if not (hasattr(wmts, 'tilematrixsets') and hasattr(wmts, 'contents') and hasattr(wmts, 'gettile')): wmts = owslib.wmts.WebMapTileService(wmts) try: layer = wmts.contents[layer_name] except KeyError: raise ValueError('Invalid layer name {!r} for WMTS at {!r}'.format( layer_name, wmts.url)) #: The OWSLib WebMapTileService instance. self.wmts = wmts #: The layer to fetch. self.layer = layer self._matrix_set_name_map = {} def _matrix_set_name(self, projection): key = id(projection) matrix_set_name = self._matrix_set_name_map.get(key) if matrix_set_name is None: wmts = self.wmts if hasattr(self.layer, 'tilematrixsetlinks'): matrix_set_names = self.layer.tilematrixsetlinks.keys() else: matrix_set_names = self.layer.tilematrixsets for tile_matrix_set_name in matrix_set_names: tile_matrix_set = wmts.tilematrixsets[tile_matrix_set_name] crs_urn = tile_matrix_set.crs if crs_urn in _URN_TO_CRS: tms_crs = _URN_TO_CRS[crs_urn] if tms_crs == projection: matrix_set_name = tile_matrix_set_name break if matrix_set_name is None: available_urns = sorted(set( wmts.tilematrixsets[name].crs for name in matrix_set_names)) msg = 'Unable to find tile matrix for projection.' msg += '\n Projection: ' + str(projection) msg += '\n Available tile CRS URNs:' msg += '\n ' + '\n '.join(available_urns) raise ValueError(msg) self._matrix_set_name_map[key] = matrix_set_name return matrix_set_name def validate_projection(self, projection): self._matrix_set_name(projection) def fetch_raster(self, projection, extent, target_resolution): matrix_set_name = self._matrix_set_name(projection) min_x, max_x, min_y, max_y = extent width, height = target_resolution max_pixel_span = min((max_x - min_x) / width, (max_y - min_y) / height) image, extent = self._wmts_images(self.wmts, self.layer, matrix_set_name, extent, max_pixel_span) return [LocatedImage(image, extent)] def _choose_matrix(self, tile_matrices, meters_per_unit, max_pixel_span): # Get the tile matrices in order of increasing resolution. tile_matrices = sorted(tile_matrices, key=lambda tm: tm.scaledenominator, reverse=True) # Find which tile matrix has the appropriate resolution. max_scale = max_pixel_span * meters_per_unit / METERS_PER_PIXEL for tm in tile_matrices: if tm.scaledenominator <= max_scale: return tm return tile_matrices[-1] def _tile_span(self, tile_matrix, meters_per_unit): pixel_span = tile_matrix.scaledenominator * ( METERS_PER_PIXEL / meters_per_unit) tile_span_x = tile_matrix.tilewidth * pixel_span tile_span_y = tile_matrix.tileheight * pixel_span return tile_span_x, tile_span_y def _select_tiles(self, tile_matrix, tile_matrix_limits, tile_span_x, tile_span_y, extent): # Convert the requested extent from CRS coordinates to tile # indices. See annex H of the WMTS v1.0.0 spec. # NB. The epsilons get rid of any tiles which only just # (i.e. one part in a million) intrude into the requested # extent. Since these wouldn't be visible anyway there's nothing # to be gained by spending the time downloading them. min_x, max_x, min_y, max_y = extent matrix_min_x, matrix_max_y = tile_matrix.topleftcorner epsilon = 1e-6 min_col = int((min_x - matrix_min_x) / tile_span_x + epsilon) max_col = int((max_x - matrix_min_x) / tile_span_x - epsilon) min_row = int((matrix_max_y - max_y) / tile_span_y + epsilon) max_row = int((matrix_max_y - min_y) / tile_span_y - epsilon) # Clamp to the limits of the tile matrix. min_col = max(min_col, 0) max_col = min(max_col, tile_matrix.matrixwidth - 1) min_row = max(min_row, 0) max_row = min(max_row, tile_matrix.matrixheight - 1) # Clamp to any layer-specific limits on the tile matrix. if tile_matrix_limits: min_col = max(min_col, tile_matrix_limits.mintilecol) max_col = min(max_col, tile_matrix_limits.maxtilecol) min_row = max(min_row, tile_matrix_limits.mintilerow) max_row = min(max_row, tile_matrix_limits.maxtilerow) return min_col, max_col, min_row, max_row def _wmts_images(self, wmts, layer, matrix_set_name, extent, max_pixel_span): """ Add images from the specified WMTS layer and matrix set to cover the specified extent at an appropriate resolution. The zoom level (aka. tile matrix) is chosen to give the lowest possible resolution which still provides the requested quality. If insufficient resolution is available, the highest available resolution is used. Args: * wmts - The owslib.wmts.WebMapTileService providing the tiles. * layer - The owslib.wmts.ContentMetadata (aka. layer) to draw. * matrix_set_name - The name of the matrix set to use. * extent - Tuple of (left, right, bottom, top) in Axes coordinates. * max_pixel_span - Preferred maximum pixel width or height in Axes coordinates. """ # Find which tile matrix has the appropriate resolution. tile_matrix_set = wmts.tilematrixsets[matrix_set_name] tile_matrices = tile_matrix_set.tilematrix.values() meters_per_unit = METERS_PER_UNIT[tile_matrix_set.crs] tile_matrix = self._choose_matrix(tile_matrices, meters_per_unit, max_pixel_span) # Determine which tiles are required to cover the requested extent. tile_span_x, tile_span_y = self._tile_span(tile_matrix, meters_per_unit) tile_matrix_set_links = getattr(layer, 'tilematrixsetlinks', None) if tile_matrix_set_links is None: tile_matrix_limits = None else: tile_matrix_set_link = tile_matrix_set_links[matrix_set_name] tile_matrix_limits = tile_matrix_set_link.tilematrixlimits.get( tile_matrix.identifier) min_col, max_col, min_row, max_row = self._select_tiles( tile_matrix, tile_matrix_limits, tile_span_x, tile_span_y, extent) # Find the relevant section of the image cache. tile_matrix_id = tile_matrix.identifier cache_by_wmts = WMTSRasterSource._shared_image_cache cache_by_layer_matrix = cache_by_wmts.setdefault(wmts, {}) image_cache = cache_by_layer_matrix.setdefault((layer.id, tile_matrix_id), {}) # To avoid nasty seams between the individual tiles, we # accumulate the tile images into a single image. big_img = None n_rows = 1 + max_row - min_row n_cols = 1 + max_col - min_col # Ignore out-of-range errors if the current version of OWSLib # doesn't provide the regional information. ignore_out_of_range = tile_matrix_set_links is None for row in range(min_row, max_row + 1): for col in range(min_col, max_col + 1): # Get the tile's Image from the cache if possible. img_key = (row, col) img = image_cache.get(img_key) if img is None: try: tile = wmts.gettile( layer=layer.id, tilematrixset=matrix_set_name, tilematrix=tile_matrix_id, row=row, column=col) except owslib.util.ServiceException as exception: if ('TileOutOfRange' in exception.message and ignore_out_of_range): continue raise exception img = Image.open(io.BytesIO(tile.read())) image_cache[img_key] = img if big_img is None: size = (img.size[0] * n_cols, img.size[1] * n_rows) big_img = Image.new('RGBA', size, (255, 255, 255, 255)) top = (row - min_row) * tile_matrix.tileheight left = (col - min_col) * tile_matrix.tilewidth big_img.paste(img, (left, top)) if big_img is None: img_extent = None else: matrix_min_x, matrix_max_y = tile_matrix.topleftcorner min_img_x = matrix_min_x + tile_span_x * min_col max_img_y = matrix_max_y - tile_span_y * min_row img_extent = (min_img_x, min_img_x + n_cols * tile_span_x, max_img_y - n_rows * tile_span_y, max_img_y) return big_img, img_extent class WFSGeometrySource(object): """Web Feature Service (WFS) retrieval for Cartopy.""" def __init__(self, service, features, getfeature_extra_kwargs=None): """ Args: * service: The URL of a WFS, or an instance of :class:`owslib.wfs.WebFeatureService`. * features: The typename(s) of the features from the WFS that will be retrieved and made available as geometries. Kwargs: * getfeature_extra_kwargs: Extra keyword args to pass to the service's `getfeature` call. """ if WebFeatureService is None: raise ImportError(_OWSLIB_REQUIRED) if isinstance(service, six.string_types): service = WebFeatureService(service) if isinstance(features, six.string_types): features = [features] if getfeature_extra_kwargs is None: getfeature_extra_kwargs = {} if not features: raise ValueError('One or more features must be specified.') for feature in features: if feature not in service.contents: raise ValueError('The {!r} feature does not exist in this ' 'service.'.format(feature)) self.service = service self.features = features self.getfeature_extra_kwargs = getfeature_extra_kwargs self._default_urn = None def default_projection(self): """ Return a :class:`cartopy.crs.Projection` in which the WFS service can supply the requested features. """ # Using first element in crsOptions (default). if self._default_urn is None: default_urn = set(self.service.contents[feature].crsOptions[0] for feature in self.features) if len(default_urn) != 1: ValueError('Failed to find a single common default SRS ' 'across all features (typenames).') else: default_urn = default_urn.pop() default_srs = default_urn.id if six.text_type(default_urn) not in _URN_TO_CRS: raise ValueError('Unknown mapping from SRS/CRS_URN {!r} to ' 'cartopy projection.'.format(default_urn)) self._default_urn = default_urn return _URN_TO_CRS[six.text_type(self._default_urn)] def fetch_geometries(self, projection, extent): """ Return any Point, Linestring or LinearRing geometries available from the WFS that lie within the specified extent. Args: * projection: :class:`cartopy.crs.Projection` The projection in which the extent is specified and in which the geometries should be returned. Only the default (native) projection is supported. * extent: four element tuple (min_x, max_x, min_y, max_y) tuple defining the geographic extent of the geometries to obtain. Returns: A list of Shapely geometries. """ if self.default_projection() != projection: raise ValueError('Geometries are only available in projection ' '{!r}.'.format(self.default_projection())) min_x, max_x, min_y, max_y = extent response = self.service.getfeature(typename=self.features, bbox=(min_x, min_y, max_x, max_y), **self.getfeature_extra_kwargs) geoms_by_srs = self._to_shapely_geoms(response) if not geoms_by_srs: geoms = [] elif len(geoms_by_srs) > 1: raise ValueError('Unexpected response from the WFS server. The ' 'geometries are in multiple SRSs, when only one ' 'was expected.') else: srs, geoms = list(geoms_by_srs.items())[0] # Attempt to verify the SRS associated with the geometries (if any) # matches the specified projection. if srs is not None: if srs in _URN_TO_CRS: geom_proj = _URN_TO_CRS[srs] if geom_proj != projection: raise ValueError('The geometries are not in expected ' 'projection. Expected {!r}, got ' '{!r}.'.format(projection, geom_proj)) else: msg = 'Unable to verify matching projections due ' \ 'to incomplete mappings from SRS identifiers ' \ 'to cartopy projections. The geometries have ' \ 'an SRS of {!r}.'.format(srs) warnings.warn(msg) return geoms def _to_shapely_geoms(self, response): """ Convert polygon coordinate strings in WFS response XML to Shapely geometries. Args: * response: (file-like object) WFS response XML data. Returns: A dictionary containing geometries, with key-value pairs of the form {srsname: [geoms]}. """ linear_rings_data = [] linestrings_data = [] points_data = [] tree = ElementTree.parse(response) for node in tree.findall('.//{}msGeometry'.format(_MAP_SERVER_NS)): # Find LinearRing geometries in our msGeometry node. find_str = './/{gml}LinearRing'.format(gml=_GML_NS) if self._node_has_child(node, find_str): data = self._find_polygon_coords(node, find_str) linear_rings_data.extend(data) # Find LineString geometries in our msGeometry node. find_str = './/{gml}LineString'.format(gml=_GML_NS) if self._node_has_child(node, find_str): data = self._find_polygon_coords(node, find_str) linestrings_data.extend(data) # Find Point geometries in our msGeometry node. find_str = './/{gml}Point'.format(gml=_GML_NS) if self._node_has_child(node, find_str): data = self._find_polygon_coords(node, find_str) points_data.extend(data) geoms_by_srs = {} for srs, x, y in linear_rings_data: geoms_by_srs.setdefault(srs, []).append( sgeom.LinearRing(zip(x, y))) for srs, x, y in linestrings_data: geoms_by_srs.setdefault(srs, []).append( sgeom.LineString(zip(x, y))) for srs, x, y in points_data: geoms_by_srs.setdefault(srs, []).append( sgeom.Point(zip(x, y))) return geoms_by_srs def _find_polygon_coords(self, node, find_str): """ Return the x, y coordinate values for all the geometries in a given`node`. Args: * node: :class:`xml.etree.ElementTree.Element` Node of the parsed XML response. * find_str: string A search string used to match subelements that contain the coordinates of interest, for example: './/{http://www.opengis.net/gml}LineString' Returns: A list of (srsName, x_vals, y_vals) tuples. """ data = [] for polygon in node.findall(find_str): feature_srs = polygon.attrib.get('srsName') x, y = [], [] # We can have nodes called `coordinates` or `coord`. coordinates_find_str = '{}coordinates'.format(_GML_NS) coords_find_str = '{}coord'.format(_GML_NS) if self._node_has_child(polygon, coordinates_find_str): points = polygon.findtext(coordinates_find_str) coords = points.strip().split(' ') for coord in coords: x_val, y_val = coord.split(',') x.append(float(x_val)) y.append(float(y_val)) elif self._node_has_child(polygon, coords_find_str): for coord in polygon.findall(coords_find_str): x.append(float(coord.findtext('{}X'.format(_GML_NS)))) y.append(float(coord.findtext('{}Y'.format(_GML_NS)))) else: raise ValueError('Unable to find or parse coordinate values ' 'from the XML.') data.append((feature_srs, x, y)) return data @staticmethod def _node_has_child(node, find_str): """ Return whether `node` contains (at any sub-level), a node with name equal to `find_str`. """ element = node.find(find_str) return element is not None Cartopy-0.14.2/lib/cartopy/io/shapereader.py0000644001374000021030000004374512700747662020472 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Combines the shapefile access of pyshp with the geometry representation of shapely: >>> import os.path >>> import cartopy.io.shapereader as shapereader >>> filename = natural_earth(resolution='110m', ... category='physical', ... name='geography_regions_points') >>> reader = shapereader.Reader(filename) >>> len(reader) 3 >>> records = list(reader.records()) >>> print(type(records[0])) >>> print(sorted(records[0].attributes.keys())) ['comment', 'featurecla', 'lat_y', 'long_x', 'name', 'name_alt', \ 'region', 'scalerank', 'subregion'] >>> print(records[0].attributes['name']) Niagara Falls >>> geoms = list(reader.geometries()) >>> print(type(geoms[0])) """ from __future__ import (absolute_import, division, print_function) import glob import itertools import os import shapely.geometry as sgeom import shapefile import six from cartopy.io import Downloader from cartopy import config __all__ = ['Reader', 'Record'] def _create_point(shape): return sgeom.Point(shape.points[0]) def _create_polyline(shape): if not shape.points: return sgeom.MultiLineString() parts = list(shape.parts) + [None] bounds = zip(parts[:-1], parts[1:]) lines = [shape.points[slice(lower, upper)] for lower, upper in bounds] return sgeom.MultiLineString(lines) def _create_polygon(shape): if not shape.points: return sgeom.MultiPolygon() # Partition the shapefile rings into outer rings/polygons (clockwise) and # inner rings/holes (anti-clockwise). parts = list(shape.parts) + [None] bounds = zip(parts[:-1], parts[1:]) outer_polygons_and_holes = [] inner_polygons = [] for lower, upper in bounds: polygon = sgeom.Polygon(shape.points[slice(lower, upper)]) if polygon.exterior.is_ccw: inner_polygons.append(polygon) else: outer_polygons_and_holes.append((polygon, [])) # Find the appropriate outer ring for each inner ring. # aka. Group the holes with their containing polygons. for inner_polygon in inner_polygons: for outer_polygon, holes in outer_polygons_and_holes: if outer_polygon.contains(inner_polygon): holes.append(inner_polygon.exterior.coords) break polygon_defns = [(outer_polygon.exterior.coords, holes) for outer_polygon, holes in outer_polygons_and_holes] return sgeom.MultiPolygon(polygon_defns) def _make_geometry(geometry_factory, shape): geometry = None if shape.shapeType != shapefile.NULL: geometry = geometry_factory(shape) return geometry # The mapping from shapefile shapeType values to geometry creation functions. GEOMETRY_FACTORIES = { shapefile.POINT: _create_point, shapefile.POLYLINE: _create_polyline, shapefile.POLYGON: _create_polygon, } class Record(object): """ A single logical entry from a shapefile, combining the attributes with their associated geometry. """ def __init__(self, shape, geometry_factory, attributes, fields): self._shape = shape self._geometry_factory = geometry_factory self._bounds = None # if the record defines a bbox, then use that for the shape's bounds, # rather than using the full geometry in the bounds property if hasattr(shape, 'bbox'): self._bounds = tuple(shape.bbox) self._geometry = False """The cached geometry instance for this Record.""" self.attributes = attributes """A dictionary mapping attribute names to attribute values.""" self._fields = fields def __repr__(self): return '>' % (self.geometry, self.attributes) def __str__(self): return 'Record(%s, %s, )' % (self.geometry, self.attributes) @property def bounds(self): """ The bounds of this Record's :meth:`~Record.geometry`. """ if self._bounds is None: self._bounds = self.geometry.bounds return self._bounds @property def geometry(self): """ A shapely.geometry instance for this Record. The geometry may be ``None`` if a null shape is defined in the shapefile. """ if self._geometry is False: self._geometry = _make_geometry(self._geometry_factory, self._shape) return self._geometry class Reader(object): """ Provides an interface for accessing the contents of a shapefile. The primary methods used on a Reader instance are :meth:`~Reader.records` and :meth:`~Reader.geometries`. """ def __init__(self, filename): # Validate the filename/shapefile self._reader = reader = shapefile.Reader(filename) if reader.shp is None or reader.shx is None or reader.dbf is None: raise ValueError("Incomplete shapefile definition " "in '%s'." % filename) # Figure out how to make appropriate shapely geometry instances shapeType = reader.shapeType self._geometry_factory = GEOMETRY_FACTORIES.get(shapeType) if self._geometry_factory is None: raise ValueError('Unsupported shape type: %s' % shapeType) self._fields = self._reader.fields def __len__(self): return self._reader.numRecords def geometries(self): """ Returns an iterator of shapely geometries from the shapefile. This interface is useful for accessing the geometries of the shapefile where knowledge of the associated metadata is desired. In the case where further metadata is needed use the :meth:`~Reader.records` interface instead, extracting the geometry from the record with the :meth:`~Record.geometry` method. """ geometry_factory = self._geometry_factory for i in range(self._reader.numRecords): shape = self._reader.shape(i) yield _make_geometry(geometry_factory, shape) def records(self): """ Returns an iterator of :class:`~Record` instances. """ geometry_factory = self._geometry_factory # Ignore the "DeletionFlag" field which always comes first fields = self._reader.fields[1:] field_names = [field[0] for field in fields] for i in range(self._reader.numRecords): shape_record = self._reader.shapeRecord(i) attributes = dict(zip(field_names, shape_record.record)) yield Record(shape_record.shape, geometry_factory, attributes, fields) def natural_earth(resolution='110m', category='physical', name='coastline'): """ Returns the path to the requested natural earth shapefile, downloading and unziping if necessary. To identify valid components for this function, either browse NaturalEarthData.com, or if you know what you are looking for, go to https://github.com/nvkelso/natural-earth-vector/tree/master/zips to see the actual files which will be downloaded. .. note:: Some of the Natural Earth shapefiles have special features which are described in the name. For example, the 110m resolution "admin_0_countries" data also has a sibling shapefile called "admin_0_countries_lakes" which excludes lakes in the country outlines. For details of what is available refer to the Natural Earth website, and look at the "download" link target to identify appropriate names. """ # get hold of the Downloader (typically a NEShpDownloader instance) # which we can then simply call its path method to get the appropriate # shapefile (it will download if necessary) ne_downloader = Downloader.from_config(('shapefiles', 'natural_earth', resolution, category, name)) format_dict = {'config': config, 'category': category, 'name': name, 'resolution': resolution} return ne_downloader.path(format_dict) class NEShpDownloader(Downloader): """ Specialises :class:`cartopy.io.Downloader` to download the zipped Natural Earth shapefiles and extract them to the defined location (typically user configurable). The keys which should be passed through when using the ``format_dict`` are typically ``category``, ``resolution`` and ``name``. """ FORMAT_KEYS = ('config', 'resolution', 'category', 'name') # Define the NaturalEarth URL template. The natural earth website # returns a 302 status if accessing directly, so we use the naciscdn # URL directly. _NE_URL_TEMPLATE = ('http://naciscdn.org/naturalearth/{resolution}' '/{category}/ne_{resolution}_{name}.zip') def __init__(self, url_template=_NE_URL_TEMPLATE, target_path_template=None, pre_downloaded_path_template='', ): # adds some NE defaults to the __init__ of a Downloader Downloader.__init__(self, url_template, target_path_template, pre_downloaded_path_template) def zip_file_contents(self, format_dict): """ Returns a generator of the filenames to be found in the downloaded natural earth zip file. """ for ext in ['.shp', '.dbf', '.shx']: yield ('ne_{resolution}_{name}' '{extension}'.format(extension=ext, **format_dict)) def acquire_resource(self, target_path, format_dict): """ Downloads the zip file and extracts the files listed in :meth:`zip_file_contents` to the target path. """ from zipfile import ZipFile target_dir = os.path.dirname(target_path) if not os.path.isdir(target_dir): os.makedirs(target_dir) url = self.url(format_dict) shapefile_online = self._urlopen(url) zfh = ZipFile(six.BytesIO(shapefile_online.read()), 'r') for member_path in self.zip_file_contents(format_dict): ext = os.path.splitext(member_path)[1] target = os.path.splitext(target_path)[0] + ext member = zfh.getinfo(member_path) with open(target, 'wb') as fh: fh.write(zfh.open(member).read()) shapefile_online.close() zfh.close() return target_path @staticmethod def default_downloader(): """ Returns a generic, standard, NEShpDownloader instance. Typically, a user will not need to call this staticmethod. To find the path template of the NEShpDownloader: >>> ne_dnldr = NEShpDownloader.default_downloader() >>> print(ne_dnldr.target_path_template) {config[data_dir]}/shapefiles/natural_earth/{category}/\ {resolution}_{name}.shp """ default_spec = ('shapefiles', 'natural_earth', '{category}', '{resolution}_{name}.shp') ne_path_template = os.path.join('{config[data_dir]}', *default_spec) pre_path_template = os.path.join('{config[pre_existing_data_dir]}', *default_spec) return NEShpDownloader(target_path_template=ne_path_template, pre_downloaded_path_template=pre_path_template) # add a generic Natural Earth shapefile downloader to the config dictionary's # 'downloaders' section. _ne_key = ('shapefiles', 'natural_earth') config['downloaders'].setdefault(_ne_key, NEShpDownloader.default_downloader()) def gshhs(scale='c', level=1): """ Returns the path to the requested GSHHS shapefile, downloading and unziping if necessary. """ # Get hold of the Downloader (typically a GSHHSShpDownloader instance) # and call its path method to get the appropriate shapefile (it will # download it if necessary). gshhs_downloader = Downloader.from_config(('shapefiles', 'gshhs', scale, level)) format_dict = {'config': config, 'scale': scale, 'level': level} return gshhs_downloader.path(format_dict) class GSHHSShpDownloader(Downloader): """ Specialises :class:`cartopy.io.Downloader` to download the zipped GSHHS shapefiles and extract them to the defined location. The keys which should be passed through when using the ``format_dict`` are ``scale`` (a single character indicating the resolution) and ``level`` (a number indicating the type of feature). """ FORMAT_KEYS = ('config', 'scale', 'level') _GSHHS_URL_TEMPLATE = ('https://www.ngdc.noaa.gov/mgg/shorelines/data/' 'gshhs/oldversions/version2.2.0/' 'GSHHS_shp_2.2.0.zip') def __init__(self, url_template=_GSHHS_URL_TEMPLATE, target_path_template=None, pre_downloaded_path_template=''): super(GSHHSShpDownloader, self).__init__(url_template, target_path_template, pre_downloaded_path_template) def zip_file_contents(self, format_dict): """ Returns a generator of the filenames to be found in the downloaded GSHHS zip file for the specified resource. """ for ext in ['.shp', '.dbf', '.shx']: yield (os.path.join('GSHHS_shp', '{scale}', 'GSHHS_{scale}_L{level}{extension}' ).format(extension=ext, **format_dict)) def acquire_all_resources(self, format_dict): from zipfile import ZipFile # Download archive. url = self.url(format_dict) shapefile_online = self._urlopen(url) zfh = ZipFile(six.BytesIO(shapefile_online.read()), 'r') shapefile_online.close() # Iterate through all scales and levels and extract relevant files. modified_format_dict = dict(format_dict) scales = ('c', 'l', 'i', 'h', 'f') levels = (1, 2, 3, 4) for scale, level in itertools.product(scales, levels): modified_format_dict.update({'scale': scale, 'level': level}) target_path = self.target_path(modified_format_dict) target_dir = os.path.dirname(target_path) if not os.path.isdir(target_dir): os.makedirs(target_dir) for member_path in self.zip_file_contents(modified_format_dict): ext = os.path.splitext(member_path)[1] target = os.path.splitext(target_path)[0] + ext member = zfh.getinfo(member_path) with open(target, 'wb') as fh: fh.write(zfh.open(member).read()) zfh.close() def acquire_resource(self, target_path, format_dict): """ Downloads the zip file and extracts the files listed in :meth:`zip_file_contents` to the target path. .. note: Because some of the GSHSS data is available with the cartopy repository, scales of "l" or "c" will not be downloaded if they exist in the ``cartopy.config['repo_data_dir']`` directory. """ repo_fname_pattern = os.path.join(config['repo_data_dir'], 'shapefiles', 'gshhs', '{scale}', 'GSHHS_{scale}_L?.shp') repo_fname_pattern = repo_fname_pattern.format(**format_dict) repo_fnames = glob.glob(repo_fname_pattern) if repo_fnames: assert len(repo_fnames) == 1, '>1 repo files found for GSHHS' return repo_fnames[0] self.acquire_all_resources(format_dict) if not os.path.exists(target_path): raise RuntimeError('Failed to download and extract GSHHS ' 'shapefile to {!r}.'.format(target_path)) return target_path @staticmethod def default_downloader(): """ Returns a GSHHSShpDownloader instance that expects (and if necessary downloads and installs) shapefiles in the data directory of the cartopy installation. Typically, a user will not need to call this staticmethod. To find the path template of the GSHHSShpDownloader: >>> gshhs_dnldr = GSHHSShpDownloader.default_downloader() >>> print(gshhs_dnldr.target_path_template) {config[data_dir]}/shapefiles/gshhs/{scale}/\ GSHHS_{scale}_L{level}.shp """ default_spec = ('shapefiles', 'gshhs', '{scale}', 'GSHHS_{scale}_L{level}.shp') gshhs_path_template = os.path.join('{config[data_dir]}', *default_spec) pre_path_tmplt = os.path.join('{config[pre_existing_data_dir]}', *default_spec) return GSHHSShpDownloader(target_path_template=gshhs_path_template, pre_downloaded_path_template=pre_path_tmplt) # Add a GSHHS shapefile downloader to the config dictionary's # 'downloaders' section. _gshhs_key = ('shapefiles', 'gshhs') config['downloaders'].setdefault(_gshhs_key, GSHHSShpDownloader.default_downloader()) Cartopy-0.14.2/lib/cartopy/io/srtm.npz0000644001374000021030000000513212700747662017337 0ustar itpeavd00000000000000PK*ZG꽝, mask.npyݽ$5`;)6[.p"ġ=2)xan\v]U./S7;Ӷ?xnO޽qݿ{w/||=<=o>>׷<|/^Q'=`!ht>OIKLhC=9[: #ɼdv> dzM!LeI7t$2lpLt%JgZ]^iu-~ФYGBIsqC-je,.znh4BsWD˘˰jlFN'ZfbrgAse;}-)ʘht$TZE{r-ɡ<Շ.*LZVtZ訚.nh! :B*ch (Rήl .Eq: MB&4hEZP5x>|>t<:jUi} O.V~ʸ9Nػ֒ZADƅjZ6SqtKESS$4"55[FD3Yja@۾r c;OG:WF_sG/m-&\ n+tbEFvFV>O2:|r\A;VBV_TB+d d,M*)ڟ7AW܁yu6|m3=(=0JN*!є7B#+fZhh/$%&,]|Vޛ|+QG]λS DfhF=Γkyuzh|d'EqE'dV@qg:qeQFKk6Wݘ?d933WpHp~TuqRtga L2A_r' "gx9Z$B' Yyrl=.%i3l<{S&^ѫ5AOyWY;>3E{Y7w)M"J9nEL^jۙvp^*&"տ (U_n_9GM8;a>zeJ̐p՘e (h\D̝UnT+A^BR׸jmc/D:> {6bܞ@`? %o9™]CV bɫ1~\ /U;p N}\oQ,7EGd[Oqj~d|qkS~.PwP؂1A]jhlU3Vw`ka: f'|{I(ЂFwvSiGm{(ԍS}5,E/^Օ|XkxUQ! 6}e Fv8߬7WMAh*MdI wkZ+ iΓ竸_"˖G;[٨ٿк倷 \ٮ Q߉ۻ_wFI_Q-(RER-^B-Q{,FdCٱ(mKh"2.C.Dm4jh:ڃ9CDmӃmA6molSd:__mDoMmxcѝlNіц/mG}CkEڌ] 7 < {2MDKϑ LM2 0>?;|4~)SmRmOAΊaq4qD [L܍ D]w8sn-}L"qWZsB#~żҢ%r sHu &gʽYFhÙb.JDkh0Rw5Q&Nzc.mt8ChMͳ% +D_W6yq\v]ߝa3ofpԍ}Ћ9U< =UM?T{hfL5gjK ~pqCZ+iF$$?ŊŘfj%lvJ6֊zd N!tO 1 =GtVtt#E9K#[k/n+oq4MCk:?[[k`C/v3UylY10ꢣ`T0|E-o}D [a}@z=|a4ѫ7 =yLk"MPK*ZG꽝, mask.npyPK6 Cartopy-0.14.2/lib/cartopy/io/srtm.py0000644001374000021030000004407612700747662017172 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ The Shuttle Radar Topography Mission (SRTM) is an international research effort that obtained digital elevation models on a near-global scale from 56S to 60N, to generate the most complete high-resolution digital topographic database of Earth prior to the release of the ASTER GDEM in 2009. - Wikipedia (August 2012) """ from __future__ import (absolute_import, division, print_function) import os import warnings import numpy as np import six from cartopy import config import cartopy.crs as ccrs from cartopy.io import fh_getter, Downloader, RasterSource, LocatedImage class _SRTMSource(RasterSource): """ A source of SRTM data, which implements Cartopy's :ref:`RasterSource interface `. """ def __init__(self, resolution, downloader, max_nx, max_ny): """ Parameters ========== resolution : int The resolution of SRTM to download, in arc-seconds. Data is available at resolutions of 3 and 1 arc-seconds. downloader : :class:`cartopy.io.Downloader` instance or None The downloader to use for the SRTM dataset. If None, the downloader will be taken using :class:`cartopy.io.Downloader.from_config` with ('SRTM', 'SRTM{resolution}') as the target. max_nx : int The maximum number of x tiles to be combined when producing a wider composite for this RasterSource. max_ny : int The maximum number of y tiles to be combined when producing a taller composite for this RasterSource. """ if resolution == 3: self._shape = (1201, 1201) elif resolution == 1: self._shape = (3601, 3601) else: raise ValueError( 'Resolution is an unexpected value ({}).'.format(resolution)) self._resolution = resolution #: The CRS of the underlying SRTM data. self.crs = ccrs.PlateCarree() #: The Cartopy Downloader which can handle SRTM data. Normally, this #: will be a :class:`SRTMDownloader` instance. self.downloader = downloader if self.downloader is None: self.downloader = Downloader.from_config( ('SRTM', 'SRTM' + str(resolution))) #: A tuple of (max_x_tiles, max_y_tiles). self._max_tiles = (max_nx, max_ny) def validate_projection(self, projection): return projection == self.crs def fetch_raster(self, projection, extent, target_resolution): """ Fetch SRTM elevation for the given projection and approximate extent. """ if not self.validate_projection(projection): raise ValueError( 'Unsupported projection for the SRTM{} source.'.format( self._resolution)) min_x, max_x, min_y, max_y = extent min_x, min_y = np.floor([min_x, min_y]) nx = int(np.ceil(max_x) - min_x) ny = int(np.ceil(max_y) - min_y) skip = False if nx > self._max_tiles[0]: warnings.warn( 'Required SRTM{} tile count ({}) exceeds maximum ({}). ' 'Increase max_nx limit.'.format(self._resolution, nx, self._max_tiles[0])) skip = True if ny > self._max_tiles[1]: warnings.warn( 'Required SRTM{} tile count ({}) exceeds maximum ({}). ' 'Increase max_ny limit.'.format(self._resolution, ny, self._max_tiles[1])) skip = True if skip: return [] else: img, _, extent = self.combined(min_x, min_y, nx, ny) return [LocatedImage(np.flipud(img), extent)] def srtm_fname(self, lon, lat): """ Return the filename for the given lon/lat SRTM tile (downloading if necessary), or None if no such tile exists (i.e. the tile would be entirely over water, or out of latitude range). """ if int(lon) != lon or int(lat) != lat: raise ValueError('Integer longitude/latitude values required.') x = '%s%03d' % ('E' if lon >= 0 else 'W', abs(int(lon))) y = '%s%02d' % ('N' if lat >= 0 else 'S', abs(int(lat))) srtm_downloader = Downloader.from_config( ('SRTM', 'SRTM' + str(self._resolution))) params = {'config': config, 'resolution': self._resolution, 'x': x, 'y': y} # If the URL doesn't exist then we are over sea/north/south of the # limits of the SRTM data and we return None. if srtm_downloader.url(params) is None: return None else: return self.downloader.path(params) def combined(self, lon_min, lat_min, nx, ny): """ Return an image and its extent for the group of nx by ny tiles starting at the given bottom left location. """ bottom_left_ll = (lon_min, lat_min) shape = np.array(self._shape) img = np.zeros(shape * (ny, nx)) for i, j in np.ndindex(nx, ny): x_img_slice = slice(i * shape[1], (i + 1) * shape[1]) y_img_slice = slice(j * shape[0], (j + 1) * shape[0]) try: tile_img, _, _ = self.single_tile(bottom_left_ll[0] + i, bottom_left_ll[1] + j) except ValueError: img[y_img_slice, x_img_slice] = 0 else: img[y_img_slice, x_img_slice] = tile_img extent = (bottom_left_ll[0], bottom_left_ll[0] + nx, bottom_left_ll[1], bottom_left_ll[1] + ny) return img, self.crs, extent def single_tile(self, lon, lat): fname = self.srtm_fname(lon, lat) if fname is None: raise ValueError('No srtm tile found for those coordinates.') return read_SRTM(fname) class SRTM3Source(_SRTMSource): """ A source of SRTM3 data, which implements Cartopy's :ref:`RasterSource interface `. """ def __init__(self, downloader=None, max_nx=3, max_ny=3): """ Parameters ========== downloader : :class:`cartopy.io.Downloader` instance or None The downloader to use for the SRTM3 dataset. If None, the downloader will be taken using :class:`cartopy.io.Downloader.from_config` with ('SRTM', 'SRTM3') as the target. max_nx : int The maximum number of x tiles to be combined when producing a wider composite for this RasterSource. max_ny : int The maximum number of y tiles to be combined when producing a taller composite for this RasterSource. """ super(SRTM3Source, self).__init__(resolution=3, downloader=downloader, max_nx=max_nx, max_ny=max_ny) class SRTM1Source(_SRTMSource): """ A source of SRTM1 data, which implements Cartopy's :ref:`RasterSource interface `. """ def __init__(self, downloader=None, max_nx=3, max_ny=3): """ Parameters ========== downloader : :class:`cartopy.io.Downloader` instance or None The downloader to use for the SRTM1 dataset. If None, the downloader will be taken using :class:`cartopy.io.Downloader.from_config` with ('SRTM', 'SRTM1') as the target. max_nx : int The maximum number of x tiles to be combined when producing a wider composite for this RasterSource. max_ny : int The maximum number of y tiles to be combined when producing a taller composite for this RasterSource. """ super(SRTM1Source, self).__init__(resolution=1, downloader=downloader, max_nx=max_nx, max_ny=max_ny) def srtm(lon, lat): """ Return (elevation, crs, extent) for the given longitude latitude. Elevation is in meters. """ warnings.warn("This method has been deprecated. " "See the \"What's new\" section for v0.12.") return SRTM3Source().single_tile(lon, lat) def add_shading(elevation, azimuth, altitude): """Adds shading to SRTM elevation data, using azimuth and altitude of the sun. :type elevation: numpy.ndarray :param elevation: SRTM elevation data (in meters) :type azimuth: float :param azimuth: azimuth of the Sun (in degrees) :type altitude: float :param altitude: altitude of the Sun (in degrees) :rtype: numpy.ndarray :return: shaded SRTM relief map. """ azimuth = np.deg2rad(azimuth) altitude = np.deg2rad(altitude) x, y = np.gradient(elevation) slope = np.pi/2. - np.arctan(np.sqrt(x*x + y*y)) # -x here because of pixel orders in the SRTM tile aspect = np.arctan2(-x, y) shaded = np.sin(altitude) * np.sin(slope)\ + np.cos(altitude) * np.cos(slope)\ * np.cos((azimuth - np.pi/2.) - aspect) return shaded def fill_gaps(elevation, max_distance=10): """Fills gaps in SRTM elevation data for which the distance from missing pixel to nearest existing one is smaller than `max_distance`. This function requires osgeo/gdal to work. :type elevation: numpy.ndarray :param elevation: SRTM elevation data (in meters) :type max_distance: int :param max_distance: maximal distance (in pixels) between a missing point and the nearest valid one. :rtype: numpy.ndarray :return: SRTM elevation data with filled gaps.. """ warnings.warn("The fill_gaps function has been deprecated. " "See the \"What's new\" section for v0.14.") # Lazily import osgeo - it is only an optional dependency for cartopy. from osgeo import gdal from osgeo import gdal_array src_ds = gdal_array.OpenArray(elevation) srcband = src_ds.GetRasterBand(1) dstband = srcband maskband = srcband smoothing_iterations = 0 options = [] gdal.FillNodata(dstband, maskband, max_distance, smoothing_iterations, options, callback=None) elevation = dstband.ReadAsArray() return elevation def srtm_composite(lon_min, lat_min, nx, ny): warnings.warn("This method has been deprecated. " "See the \"What's new\" section for v0.12.") return SRTM3Source().combined(lon_min, lat_min, nx, ny) def read_SRTM(fh): """ Read the array of (y, x) elevation data from the given named file-handle. Parameters ========== fh : file-handle like A named file-like as passed through to :func:`cartopy.io.fh_getter`. The filename is used to determine the extent of the resulting array. Returns ======= elevation : numpy array The elevation values from the SRTM file. Data is flipped vertically such that the higher the y-index, the further north the data. Data shape is automatically determined by the size of data read from file, and is either (1201, 1201) for 3 arc-second data or (3601, 3601) for 1 arc-second data. crs : :class:`cartopy.crs.CRS` The coordinate reference system of the extents. extents : 4-tuple (x0, x1, y0, y1) The boundaries of the returned elevation array. """ fh, fname = fh_getter(fh, needs_filename=True) if fname.endswith('.zip'): from zipfile import ZipFile zfh = ZipFile(fh, 'rb') fh = zfh.open(os.path.basename(fname[:-4]), 'r') elev = np.fromfile(fh, dtype=np.dtype('>i2')) if elev.size == 12967201: elev.shape = (3601, 3601) elif elev.size == 1442401: elev.shape = (1201, 1201) else: raise ValueError( 'Shape of SRTM data ({}) is unexpected.'.format(elev.size)) fname = os.path.basename(fname) y_dir, y, x_dir, x = fname[0], int(fname[1:3]), fname[3], int(fname[4:7]) if y_dir == 'S': y *= -1 if x_dir == 'W': x *= -1 return elev[::-1, ...], ccrs.PlateCarree(), (x, x + 1, y, y + 1) read_SRTM3 = read_SRTM read_SRTM1 = read_SRTM def SRTM3_retrieve(lon, lat): """ Return the path of a .hgt file for the given SRTM location. If no such .hgt file exists (because it is over the ocean) None will be returned. """ warnings.warn("This method has been deprecated. " "See the \"What's new\" section for v0.12.") return SRTM3Source().srtm_fname(lon, lat) class SRTMDownloader(Downloader): """ Provides a SRTM download mechanism. """ FORMAT_KEYS = ('config', 'resolution', 'x', 'y') _SRTM_BASE_URL = ('http://e4ftl01.cr.usgs.gov/SRTM/SRTMGL{resolution}.003/' '2000.02.11/') _SRTM_LOOKUP_CACHE = os.path.join(os.path.dirname(__file__), 'srtm.npz') _SRTM_LOOKUP_MASK = np.load(_SRTM_LOOKUP_CACHE)['mask'] """ The SRTM lookup mask determines whether keys such as 'N43E043' are available to download. """ def __init__(self, target_path_template, pre_downloaded_path_template='', ): # adds some SRTM defaults to the __init__ of a Downloader # namely, the URL is determined on the fly using the # ``SRTMDownloader._SRTM_LOOKUP_MASK`` array Downloader.__init__(self, None, target_path_template, pre_downloaded_path_template) def url(self, format_dict): # override the url method, looking up the url from the # ``SRTMDownloader._SRTM_LOOKUP_MASK`` array lat = int(format_dict['y'][1:]) # Change to co-latitude. if format_dict['y'][0] == 'N': colat = 90 - lat else: colat = 90 + lat lon = int(format_dict['x'][1:4]) # Ensure positive. if format_dict['x'][0] == 'W': lon = 360 - lon if SRTMDownloader._SRTM_LOOKUP_MASK[lon, colat]: return (SRTMDownloader._SRTM_BASE_URL + u'{y}{x}.SRTMGL{resolution}.hgt.zip').format(**format_dict) else: return None def acquire_resource(self, target_path, format_dict): from zipfile import ZipFile target_dir = os.path.dirname(target_path) if not os.path.isdir(target_dir): os.makedirs(target_dir) url = self.url(format_dict) srtm_online = self._urlopen(url) zfh = ZipFile(six.BytesIO(srtm_online.read()), 'r') zip_member_path = u'{y}{x}.hgt'.format(**format_dict) member = zfh.getinfo(zip_member_path) with open(target_path, 'wb') as fh: fh.write(zfh.open(member).read()) srtm_online.close() zfh.close() return target_path @staticmethod def _create_srtm_mask(resolution, filename=None): """ Returns a NumPy mask of available lat/lon. This is slow as it must query the SRTM server to identify the continent from which the tile comes. Hence a NumPy file with this content exists in ``SRTMDownloader._SRTM_LOOKUP_CACHE``. The NumPy file was created with:: import cartopy.io.srtm as srtm import numpy as np np.savez_compressed(srtm.SRTMDownloader._SRTM_LOOKUP_CACHE, mask=srtm.SRTMDownloader._create_srtm_mask(3)) """ # lazy imports. In most situations, these are not # dependencies of cartopy. from bs4 import BeautifulSoup if filename is None: from six.moves.urllib.request import urlopen url = SRTMDownloader._SRTM_BASE_URL.format(resolution=resolution) with urlopen(url) as f: html = f.read() else: with open(filename) as f: html = f.read() mask = np.zeros((360, 181), dtype=np.bool) soup = BeautifulSoup(html) for link in soup('a'): name = str(link.text).strip() if name[0] in 'NS' and name.endswith('.hgt.zip'): lat = int(name[1:3]) # Change to co-latitude. if name[0] == 'N': colat = 90 - lat else: colat = 90 + lat lon = int(name[4:7]) # Ensure positive. if name[3] == 'W': lon = 360 - lon mask[lon, colat] = True return mask @classmethod def default_downloader(cls): """ Returns a typical downloader for this class. In general, this static method is used to create the default configuration in cartopy.config """ default_spec = ('SRTM', 'SRTMGL{resolution}', '{y}{x}.hgt') target_path_template = os.path.join('{config[data_dir]}', *default_spec) pre_path_template = os.path.join('{config[pre_existing_data_dir]}', *default_spec) return cls(target_path_template=target_path_template, pre_downloaded_path_template=pre_path_template) # add a generic SRTM downloader to the config 'downloaders' section. config['downloaders'].setdefault(('SRTM', 'SRTM3'), SRTMDownloader.default_downloader()) config['downloaders'].setdefault(('SRTM', 'SRTM1'), SRTMDownloader.default_downloader()) Cartopy-0.14.2/lib/cartopy/mpl/0000755001374000021030000000000012706121712015765 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/mpl/__init__.py0000644001374000021030000000143712700747662020117 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) Cartopy-0.14.2/lib/cartopy/mpl/clip_path.py0000644001374000021030000001231412700747662020317 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import matplotlib.path as mpath import numpy as np def clip_path_python(subject, clip, point_inside_clip_path): """ Clip the subject path with the given clip path using the Sutherland-Hodgman polygon clipping algorithm. Args: * subject - The subject path to be clipped. Must be a simple, single polygon path with straight line segments only. * clip - The clip path to use. Must be a simple, single polygon path with straight line segments only. * point_inside_clip_path - a point which can be found inside the clip path polygon. """ inside_pt = point_inside_clip_path output_verts = subject.vertices for i in xrange(clip.vertices.shape[0] - 1): clip_edge = clip.vertices[i:i + 2, :] input_verts = output_verts output_verts = [] inside = np.cross(clip_edge[1, :] - clip_edge[0, :], inside_pt - clip_edge[0, :]) try: s = input_verts[-1] except IndexError: break for e in input_verts: e_clip_cross = np.cross(clip_edge[1, :] - clip_edge[0, :], e - clip_edge[0, :]) s_clip_cross = np.cross(clip_edge[1, :] - clip_edge[0, :], s - clip_edge[0, :]) if np.sign(e_clip_cross) == np.sign(inside): if np.sign(s_clip_cross) != np.sign(inside): p = intersection_point(clip_edge[0, :], clip_edge[1, :], e, s) output_verts.append(p) output_verts.append(e) elif np.sign(s_clip_cross) == np.sign(inside): p = intersection_point(clip_edge[0, :], clip_edge[1, :], e, s) output_verts.append(p) s = e if output_verts == []: path = mpath.Path([[0, 0]], codes=[mpath.Path.MOVETO]) else: # If the subject polygon was closed, then the return should be too. if np.all(subject.vertices[0, :] == subject.vertices[-1, :]): output_verts.append(output_verts[0]) path = mpath.Path(np.array(output_verts)) return path def intersection_point(p0, p1, p2, p3): """ Return the intersection point of the two infinite lines that pass through point p0->p1 and p2->p3 respectively. """ x_1, y_1 = p0 x_2, y_2 = p1 x_3, y_3 = p2 x_4, y_4 = p3 div = (x_1 - x_2) * (y_3 - y_4) - (y_1 - y_2) * (x_3 - x_4) if div == 0: raise ValueError('Lines are parallel and cannot ' 'intersect at any one point.') x = ((x_1 * y_2 - y_1 * x_2) * (x_3 - x_4) - (x_1 - x_2) * (x_3 * y_4 - y_3 * x_4)) / div y = ((x_1 * y_2 - y_1 * x_2) * (y_3 - y_4) - (y_1 - y_2) * (x_3 * y_4 - y_3 * x_4)) / div return x, y # Provide a clip_path function which clips the given path to the given Bbox. # There is inbuilt mpl functionality with v1.2.1 and beyond, but we provide # a shim here for older mpl versions. if hasattr(mpath.Path, 'clip_to_bbox'): def clip_path(subject, clip_bbox): """ Clip the given path to the given bounding box. """ return subject.clip_to_bbox(clip_bbox) else: def clip_path(subject, clip_bbox): """ Clip the given path to the given bounding box. """ # A shim on clip_path_python to support Bbox path clipping. bbox_patch = bbox_to_path(clip_bbox) bbox_center = ((clip_bbox.x0 + clip_bbox.x1) / 2, (clip_bbox.y0 + clip_bbox.y1) / 2) return clip_path_python(subject, bbox_patch, bbox_center) def lines_intersect(p0, p1, p2, p3): """ Return whether the two lines defined by p0->p1 and p2->p3 intersect. """ x_1, y_1 = p0 x_2, y_2 = p1 x_3, y_3 = p2 x_4, y_4 = p3 return (x_1 - x_2) * (y_3 - y_4) - (y_1 - y_2) * (x_3 - x_4) != 0 cp1 = np.cross(p1 - p0, p2 - p0) cp2 = np.cross(p1 - p0, p3 - p0) return np.sign(cp1) == np.sign(cp2) and cp1 != 0 def bbox_to_path(bbox): """ Turn the given :class:`matplotlib.transforms.Bbox` instance into a :class:`matplotlib.path.Path` instance. """ verts = np.array([[bbox.x0, bbox.y0], [bbox.x1, bbox.y0], [bbox.x1, bbox.y1], [bbox.x0, bbox.y1], [bbox.x0, bbox.y0]]) return mpath.Path(verts) Cartopy-0.14.2/lib/cartopy/mpl/feature_artist.py0000644001374000021030000001444312700747662021402 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ This module defines the :class:`FeatureArtist` class, for drawing :class:`Feature` instances with matplotlib. """ from __future__ import (absolute_import, division, print_function) import warnings import weakref import matplotlib.artist import matplotlib.collections import cartopy.mpl.patch as cpatch class _GeomKey(object): """ Provide id() based equality and hashing for geometries. Instances of this class must be treated as immutable for the caching to operate correctly. A workaround for Shapely polygons no longer being hashable as of 1.5.13. """ def __init__(self, geom): self._id = id(geom) def __eq__(self, other): return self._id == other._id def __hash__(self): return hash(self._id) class FeatureArtist(matplotlib.artist.Artist): """ A subclass of :class:`~matplotlib.artist.Artist` capable of drawing a :class:`cartopy.feature.Feature`. """ _geom_key_to_geometry_cache = weakref.WeakValueDictionary() """ A mapping from _GeomKey to geometry to assist with the caching of transformed matplotlib paths. """ _geom_key_to_path_cache = weakref.WeakKeyDictionary() """ A nested mapping from geometry (converted to a _GeomKey) and target projection to the resulting transformed matplotlib paths:: {geom: {target_projection: list_of_paths}} This provides a significant boost when producing multiple maps of the same projection. """ def __init__(self, feature, **kwargs): """ Args: * feature: an instance of :class:`cartopy.feature.Feature` to draw. * kwargs: keyword arguments to be used when drawing the feature. These will override those shared with the feature. """ super(FeatureArtist, self).__init__() if kwargs is None: kwargs = {} self._kwargs = dict(kwargs) # Set default zorder so that features are drawn before # lines e.g. contours but after images. # Note that the zorder of Patch, PatchCollection and PathCollection # are all 1 by default. Assuming equal zorder drawing takes place in # the following order: collections, patches, lines (default zorder=2), # text (default zorder=3), then other artists e.g. FeatureArtist. if self._kwargs.get('zorder') is not None: self.set_zorder(self._kwargs['zorder']) elif feature.kwargs.get('zorder') is not None: self.set_zorder(feature.kwargs['zorder']) else: # The class attribute matplotlib.collections.PathCollection.zorder # was removed after mpl v1.2.0, so the hard-coded value of 1 is # used instead. self.set_zorder(1) self._feature = feature @matplotlib.artist.allow_rasterization def draw(self, renderer, *args, **kwargs): """ Draws the geometries of the feature that intersect with the extent of the :class:`cartopy.mpl.GeoAxes` instance to which this object has been added. """ if not self.get_visible(): return ax = self.axes feature_crs = self._feature.crs # Get geometries that we need to draw. extent = None try: extent = ax.get_extent(feature_crs) except ValueError: warnings.warn('Unable to determine extent. Defaulting to global.') geoms = self._feature.intersecting_geometries(extent) # Project (if necessary) and convert geometries to matplotlib paths. paths = [] key = ax.projection for geom in geoms: # As Shapely geometries cannot be relied upon to be # hashable, we have to use a WeakValueDictionary to manage # their weak references. The key can then be a simple, # "disposable", hashable geom-key object that just uses the # id() of a geometry to determine equality and hash value. # The only persistent, strong reference to the geom-key is # in the WeakValueDictionary, so when the geometry is # garbage collected so is the geom-key. # The geom-key is also used to access the WeakKeyDictionary # cache of transformed geometries. So when the geom-key is # garbage collected so are the transformed geometries. geom_key = _GeomKey(geom) FeatureArtist._geom_key_to_geometry_cache.setdefault( geom_key, geom) mapping = FeatureArtist._geom_key_to_path_cache.setdefault( geom_key, {}) geom_paths = mapping.get(key) if geom_paths is None: if ax.projection != feature_crs: projected_geom = ax.projection.project_geometry( geom, feature_crs) else: projected_geom = geom geom_paths = cpatch.geos_to_path(projected_geom) mapping[key] = geom_paths paths.extend(geom_paths) # Build path collection and draw it. transform = ax.projection._as_mpl_transform(ax) # Combine all the keyword args in priority order final_kwargs = dict(self._feature.kwargs) final_kwargs.update(self._kwargs) final_kwargs.update(kwargs) c = matplotlib.collections.PathCollection(paths, transform=transform, **final_kwargs) c.set_clip_path(ax.patch) c.set_figure(ax.figure) return c.draw(renderer) Cartopy-0.14.2/lib/cartopy/mpl/geoaxes.py0000644001374000021030000020644012705644356020015 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ This module defines the :class:`GeoAxes` class, for use with matplotlib. When a matplotlib figure contains a GeoAxes the plotting commands can transform plot results from source coordinates to the GeoAxes' target projection. """ from __future__ import (absolute_import, division, print_function) import collections import contextlib import warnings import weakref import matplotlib as mpl import matplotlib.artist import matplotlib.axes from matplotlib.image import imread import matplotlib.transforms as mtransforms import matplotlib.patches as mpatches import matplotlib.path as mpath import matplotlib.ticker as mticker import numpy as np import numpy.ma as ma import shapely.geometry as sgeom from cartopy import config import cartopy.crs as ccrs import cartopy.feature import cartopy.img_transform from cartopy.mpl.clip_path import clip_path import cartopy.mpl.feature_artist as feature_artist import cartopy.mpl.patch as cpatch from cartopy.mpl.slippy_image_artist import SlippyImageArtist from cartopy.vector_transform import vector_scalar_to_grid assert matplotlib.__version__ >= '1.3', ('Cartopy is only supported with ' 'matplotlib 1.3 or greater.') _PATH_TRANSFORM_CACHE = weakref.WeakKeyDictionary() """ A nested mapping from path, source CRS, and target projection to the resulting transformed paths:: {path: {(source_crs, target_projection): list_of_paths}} Provides a significant performance boost for contours which, at matplotlib 1.2.0 called transform_path_non_affine twice unnecessarily. """ # XXX call this InterCRSTransform class InterProjectionTransform(mtransforms.Transform): """ Transforms coordinates from the source_projection to the ``target_projection``. """ input_dims = 2 output_dims = 2 is_separable = False has_inverse = True def __init__(self, source_projection, target_projection): """ Create the transform object from the given projections. Args: * source_projection - A :class:`~cartopy.crs.CRS`. * target_projection - A :class:`~cartopy.crs.CRS`. """ # assert target_projection is cartopy.crs.Projection # assert source_projection is cartopy.crs.CRS self.source_projection = source_projection self.target_projection = target_projection mtransforms.Transform.__init__(self) def __repr__(self): return ('< {!s} {!s} -> {!s} >'.format(self.__class__.__name__, self.source_projection, self.target_projection)) def transform_non_affine(self, xy): """ Transforms from source to target coordinates. Args: * xy - An (n,2) array of points in source coordinates. Returns: * An (n,2) array of transformed points in target coordinates. """ prj = self.target_projection if isinstance(xy, np.ndarray): return prj.transform_points(self.source_projection, xy[:, 0], xy[:, 1])[:, 0:2] else: x, y = xy x, y = prj.transform_point(x, y, self.source_projection) return x, y def transform_path_non_affine(self, src_path): """ Transforms from source to target coordinates. Caches results, so subsequent calls with the same *src_path* argument (and the same source and target projections) are faster. Args: * src_path - A matplotlib :class:`~matplotlib.path.Path` object with vertices in source coordinates. Returns * A matplotlib :class:`~matplotlib.path.Path` with vertices in target coordinates. """ mapping = _PATH_TRANSFORM_CACHE.get(src_path) if mapping is not None: key = (self.source_projection, self.target_projection) result = mapping.get(key) if result is not None: return result # Allow the vertices to be quickly transformed, if # quick_vertices_transform allows it. new_vertices = self.target_projection.quick_vertices_transform( src_path.vertices, self.source_projection) if new_vertices is not None: if new_vertices is src_path.vertices: return src_path else: return mpath.Path(new_vertices, src_path.codes) if src_path.vertices.shape == (1, 2): return mpath.Path(self.transform(src_path.vertices)) transformed_geoms = [] # Check whether this transform has the "force_path_ccw" attribute set. # This is a cartopy extension to the Transform API to allow finer # control of Path orientation handling (Path ordering is not important # in matplotlib, but is in Cartopy). geoms = cpatch.path_to_geos(src_path, getattr(self, 'force_path_ccw', False)) for geom in geoms: proj_geom = self.target_projection.project_geometry( geom, self.source_projection) transformed_geoms.append(proj_geom) if not transformed_geoms: result = mpath.Path(np.empty([0, 2])) else: paths = cpatch.geos_to_path(transformed_geoms) if not paths: return mpath.Path(np.empty([0, 2])) points, codes = list(zip(*[cpatch.path_segments(path, curves=False, simplify=False) for path in paths])) result = mpath.Path(np.concatenate(points, 0), np.concatenate(codes)) # store the result in the cache for future performance boosts key = (self.source_projection, self.target_projection) if mapping is None: _PATH_TRANSFORM_CACHE[src_path] = {key: result} else: mapping[key] = result return result def inverted(self): """ Return a matplotlib :class:`~matplotlib.transforms.Transform` from target to source coordinates. """ return InterProjectionTransform(self.target_projection, self.source_projection) class GeoAxes(matplotlib.axes.Axes): """ A subclass of :class:`matplotlib.axes.Axes` which represents a map :class:`~cartopy.crs.Projection`. This class replaces the matplotlib :class:`~matplotlib.axes.Axes` class when created with the *projection* keyword. For example:: # Set up a standard map for latlon data. geo_axes = pyplot.axes(projection=cartopy.crs.PlateCarree()) # Set up an OSGB map. geo_axes = pyplot.subplot(2, 2, 1, projection=cartopy.crs.OSGB()) When a source projection is provided to one of it's plotting methods, using the *transform* keyword, the standard matplotlib plot result is transformed from source coordinates to the target projection. For example:: # Plot latlon data on an OSGB map. pyplot.axes(projection=cartopy.crs.OSGB()) pyplot.contourf(x, y, data, transform=cartopy.crs.PlateCarree()) """ def __init__(self, *args, **kwargs): """ Create a GeoAxes object using standard matplotlib :class:`~matplotlib.axes.Axes` args and kwargs. Kwargs: * map_projection - The target :class:`~cartopy.crs.Projection` of this Axes object. All other args and keywords are passed through to :class:`matplotlib.axes.Axes`. """ self.projection = kwargs.pop('map_projection') """The :class:`cartopy.crs.Projection` of this GeoAxes.""" self.outline_patch = None """The patch that provides the line bordering the projection.""" self.background_patch = None """The patch that provides the filled background of the projection.""" super(GeoAxes, self).__init__(*args, **kwargs) self._gridliners = [] self.img_factories = [] self._done_img_factory = False def add_image(self, factory, *args, **kwargs): """ Adds an image "factory" to the Axes. Any image "factory" added, will be asked to retrieve an image with associated metadata for a given bounding box at draw time. The advantage of this approach is that the limits of the map do not need to be known when adding the image factory, but can be deferred until everything which can effect the limits has been added. Currently an image "factory" is just an object with a ``image_for_domain`` method. Examples of image factories are :class:`cartopy.io.img_nest.NestedImageCollection` and :class:`cartopy.io.image_tiles.GoogleTiles`. """ if hasattr(factory, 'image_for_domain'): # XXX TODO: Needs deprecating. self.img_factories.append([factory, args, kwargs]) else: # Args and kwargs not allowed. assert not bool(args) and not bool(kwargs) image = factory try: super(GeoAxes, self).add_image(image) except AttributeError: # If add_image method doesn't exist (only available from # v1.4 onwards) we implement it ourselves. self._set_artist_props(image) self.images.append(image) image._remove_method = lambda h: self.images.remove(h) return image @contextlib.contextmanager def hold_limits(self, hold=True): """ Keep track of the original view and data limits for the life of this context manager, optionally reverting any changes back to the original values after the manager exits. Parameters ---------- hold : bool (default True) Whether to revert the data and view limits after the context manager exits. """ data_lim = self.dataLim.frozen().get_points() view_lim = self.viewLim.frozen().get_points() other = (self.ignore_existing_data_limits, self._autoscaleXon, self._autoscaleYon) try: yield finally: if hold: self.dataLim.set_points(data_lim) self.viewLim.set_points(view_lim) (self.ignore_existing_data_limits, self._autoscaleXon, self._autoscaleYon) = other @matplotlib.artist.allow_rasterization def draw(self, renderer=None, inframe=False): """ Extends the standard behaviour of :func:`matplotlib.axes.Axes.draw`. Draws grid lines and image factory results before invoking standard matplotlib drawing. A global range is used if no limits have yet been set. """ # If data has been added (i.e. autoscale hasn't been turned off) # then we should autoscale the view. if self.get_autoscale_on() and self.ignore_existing_data_limits: self.autoscale_view() if self.outline_patch.reclip or self.background_patch.reclip: clipped_path = clip_path(self.outline_patch.orig_path, self.viewLim) self.outline_patch._path = clipped_path self.background_patch._path = clipped_path for gl in self._gridliners: gl._draw_gridliner(background_patch=self.background_patch) self._gridliners = [] # XXX This interface needs a tidy up: # image drawing on pan/zoom; # caching the resulting image; # buffering the result by 10%...; if not self._done_img_factory: for factory, args, kwargs in self.img_factories: img, extent, origin = factory.image_for_domain( self._get_extent_geom(factory.crs), args[0]) self.imshow(img, extent=extent, origin=origin, transform=factory.crs, *args[1:], **kwargs) self._done_img_factory = True return matplotlib.axes.Axes.draw(self, renderer=renderer, inframe=inframe) def __str__(self): return '< GeoAxes: %s >' % self.projection def cla(self): """Clears the current axes and adds boundary lines.""" result = matplotlib.axes.Axes.cla(self) self.xaxis.set_visible(False) self.yaxis.set_visible(False) # Enable tight autoscaling. self._tight = True self.set_aspect('equal') with self.hold_limits(): self._boundary() # XXX consider a margin - but only when the map is not global... # self._xmargin = 0.15 # self._ymargin = 0.15 self.dataLim.intervalx = self.projection.x_limits self.dataLim.intervaly = self.projection.y_limits return result def format_coord(self, x, y): """Return a string formatted for the matplotlib GUI status bar.""" lon, lat = ccrs.Geodetic().transform_point(x, y, self.projection) ns = 'N' if lat >= 0.0 else 'S' ew = 'E' if lon >= 0.0 else 'W' return u'%.4g, %.4g (%f\u00b0%s, %f\u00b0%s)' % (x, y, abs(lat), ns, abs(lon), ew) def coastlines(self, resolution='110m', color='black', **kwargs): """ Adds coastal **outlines** to the current axes from the Natural Earth "coastline" shapefile collection. Kwargs: * resolution - a named resolution to use from the Natural Earth dataset. Currently can be one of "110m", "50m", and "10m". .. note:: Currently no clipping is done on the coastlines before adding them to the axes. This means, if very high resolution coastlines are being used, performance is likely to be severely effected. This should be resolved transparently by v0.5. """ kwargs['edgecolor'] = color kwargs['facecolor'] = 'none' feature = cartopy.feature.NaturalEarthFeature('physical', 'coastline', resolution, **kwargs) return self.add_feature(feature) def tissot(self, rad_km=5e5, lons=None, lats=None, n_samples=80, **kwargs): """ Adds Tissot's indicatrices to the axes. Kwargs: * rad_km - The radius in km of the the circles to be drawn. * lons - A numpy.ndarray, list or tuple of longitude values that locate the centre of each circle. Specifying more than one dimension allows individual points to be drawn whereas a 1D array produces a grid of points. * lats - A numpy.ndarray, list or tuple of latitude values that that locate the centre of each circle. See lons. * n_samples - Integer number of points sampled around the circumference of each circle. **kwargs are passed through to `class:ShapelyFeature`. """ from cartopy import geodesic geod = geodesic.Geodesic() geoms = [] if lons is None: lons = np.linspace(-180, 180, 6, endpoint=False) else: lons = np.asarray(lons) if lats is None: lats = np.linspace(-80, 80, 6) else: lats = np.asarray(lats) if lons.ndim == 1 or lats.ndim == 1: lons, lats = np.meshgrid(lons, lats) lons, lats = lons.flatten(), lats.flatten() if lons.shape != lats.shape: raise ValueError('lons and lats must have the same shape.') for i in range(len(lons)): circle = geod.circle(lons[i], lats[i], rad_km, n_samples=n_samples) geoms.append(sgeom.Polygon(circle)) feature = cartopy.feature.ShapelyFeature(geoms, ccrs.Geodetic(), **kwargs) return self.add_feature(feature) def natural_earth_shp(self, name='land', resolution='110m', category='physical', **kwargs): """ Adds the geometries from the specified Natural Earth shapefile to the Axes as a :class:`~matplotlib.collections.PathCollection`. ``**kwargs`` are passed through to the :class:`~matplotlib.collections.PathCollection` constructor. Returns the created :class:`~matplotlib.collections.PathCollection`. .. note:: Currently no clipping is done on the geometries before adding them to the axes. This means, if very high resolution geometries are being used, performance is likely to be severely effected. This should be resolved transparently by v0.5. """ warnings.warn('This method has been deprecated.' ' Please use `add_feature` instead.') kwargs.setdefault('edgecolor', 'face') kwargs.setdefault('facecolor', cartopy.feature.COLORS['land']) feature = cartopy.feature.NaturalEarthFeature(category, name, resolution, **kwargs) return self.add_feature(feature) def add_feature(self, feature, **kwargs): """ Adds the given :class:`~cartopy.feature.Feature` instance to the axes. Args: * feature: An instance of :class:`~cartopy.feature.Feature`. Kwargs: Keyword arguments to be used when drawing the feature. This allows standard matplotlib control over aspects such as 'facecolor', 'alpha', etc. Returns: * A :class:`cartopy.mpl.feature_artist.FeatureArtist` instance responsible for drawing the feature. """ # Instantiate an artist to draw the feature and add it to the axes. artist = feature_artist.FeatureArtist(feature, **kwargs) return self.add_artist(artist) def add_geometries(self, geoms, crs, **kwargs): """ Add the given shapely geometries (in the given crs) to the axes. Args: * geoms: A collection of shapely geometries. * crs: The cartopy CRS in which the provided geometries are defined. Kwargs: Keyword arguments to be used when drawing this feature. Returns: A :class:`cartopy.mpl.feature_artist.FeatureArtist` instance responsible for drawing the geometries. """ feature = cartopy.feature.ShapelyFeature(geoms, crs, **kwargs) return self.add_feature(feature) def get_extent(self, crs=None): """ Get the extent (x0, x1, y0, y1) of the map in the given coordinate system. If no crs is given, the returned extents' coordinate system will be the CRS of this Axes. """ p = self._get_extent_geom(crs) r = p.bounds x1, y1, x2, y2 = r return x1, x2, y1, y2 def _get_extent_geom(self, crs=None): # Perform the calculations for get_extent(), which just repackages it. with self.hold_limits(): if self.get_autoscale_on(): self.autoscale_view() [x1, y1], [x2, y2] = self.viewLim.get_points() domain_in_src_proj = sgeom.Polygon([[x1, y1], [x2, y1], [x2, y2], [x1, y2], [x1, y1]]) # Determine target projection based on requested CRS. if crs is None: proj = self.projection elif isinstance(crs, ccrs.Projection): proj = crs else: # Attempt to select suitable projection for # non-projection CRS. if isinstance(crs, ccrs.RotatedGeodetic): proj = ccrs.RotatedPole(crs.proj4_params['lon_0'] - 180, crs.proj4_params['o_lat_p']) warnings.warn('Approximating coordinate system {!r} with a ' 'RotatedPole projection.'.format(crs)) elif hasattr(crs, 'is_geodetic') and crs.is_geodetic(): proj = ccrs.PlateCarree(crs.globe) warnings.warn('Approximating coordinate system {!r} with the ' 'PlateCarree projection.'.format(crs)) else: raise ValueError('Cannot determine extent in' ' coordinate system {!r}'.format(crs)) # Calculate intersection with boundary and project if necesary. boundary_poly = sgeom.Polygon(self.projection.boundary) if proj != self.projection: # Erode boundary by threshold to avoid transform issues. # This is a workaround for numerical issues at the boundary. eroded_boundary = boundary_poly.buffer(-self.projection.threshold) geom_in_src_proj = eroded_boundary.intersection( domain_in_src_proj) geom_in_crs = proj.project_geometry(geom_in_src_proj, self.projection) else: geom_in_crs = boundary_poly.intersection(domain_in_src_proj) return geom_in_crs def set_extent(self, extents, crs=None): """ Set the extent (x0, x1, y0, y1) of the map in the given coordinate system. If no crs is given, the extents' coordinate system will be assumed to be the Geodetic version of this axes' projection. """ # TODO: Implement the same semantics as plt.xlim and # plt.ylim - allowing users to set None for a minimum and/or # maximum value x1, x2, y1, y2 = extents domain_in_crs = sgeom.polygon.LineString([[x1, y1], [x2, y1], [x2, y2], [x1, y2], [x1, y1]]) projected = None # Sometimes numerical issues cause the projected vertices of the # requested extents to appear outside the projection domain. # This results in an empty geometry, which has an empty `bounds` # tuple, which causes an unpack error. # This workaround avoids using the projection when the requested # extents are obviously the same as the projection domain. try_workaround = ((crs is None and isinstance(self.projection, ccrs.PlateCarree)) or crs == self.projection) if try_workaround: boundary = self.projection.boundary if boundary.equals(domain_in_crs): projected = boundary if projected is None: projected = self.projection.project_geometry(domain_in_crs, crs) try: # This might fail with an unhelpful error message ('need more # than 0 values to unpack') if the specified extents fall outside # the projection extents, so try and give a better error message. x1, y1, x2, y2 = projected.bounds except ValueError: msg = ('Failed to determine the required bounds in projection ' 'coordinates. Check that the values provided are within ' 'the valid range (x_limits=[{xlim[0]}, {xlim[1]}], ' 'y_limits=[{ylim[0]}, {ylim[1]}]).') raise ValueError(msg.format(xlim=self.projection.x_limits, ylim=self.projection.y_limits)) self.set_xlim([x1, x2]) self.set_ylim([y1, y2]) def set_global(self): """ Set the extent of the Axes to the limits of the projection. .. note:: In some cases where the projection has a limited sensible range the ``set_global`` method does not actually make the whole globe visible. Instead, the most appropriate extents will be used (e.g. Ordnance Survey UK will set the extents to be around the British Isles. """ self.set_xlim(self.projection.x_limits) self.set_ylim(self.projection.y_limits) def set_xticks(self, ticks, minor=False, crs=None): """ Set the x ticks. Args: * ticks - list of floats denoting the desired position of x ticks. Kwargs: * minor - boolean flag indicating whether the ticks should be minor ticks i.e. small and unlabelled (default is False). * crs - An instance of :class:`~cartopy.crs.CRS` indicating the coordinate system of the provided tick values. If no coordinate system is specified then the values are assumed to be in the coordinate system of the projection. Only transformations from one rectangular coordinate system to another rectangular coordinate system are supported. .. note:: This interface is subject to change whilst functionality is added to support other map projections. """ # Project ticks if crs differs from axes' projection if crs is not None and crs != self.projection: if not isinstance(crs, (ccrs._RectangularProjection, ccrs.Mercator)) or \ not isinstance(self.projection, (ccrs._RectangularProjection, ccrs.Mercator)): raise RuntimeError('Cannot handle non-rectangular coordinate ' 'systems.') proj_xyz = self.projection.transform_points(crs, np.asarray(ticks), np.zeros(len(ticks))) xticks = proj_xyz[..., 0] else: xticks = ticks # Switch on drawing of x axis self.xaxis.set_visible(True) return super(GeoAxes, self).set_xticks(xticks, minor) def set_yticks(self, ticks, minor=False, crs=None): """ Set the y ticks. Args: * ticks - list of floats denoting the desired position of y ticks. Kwargs: * minor - boolean flag indicating whether the ticks should be minor ticks i.e. small and unlabelled (default is False). * crs - An instance of :class:`~cartopy.crs.CRS` indicating the coordinate system of the provided tick values. If no coordinate system is specified then the values are assumed to be in the coordinate system of the projection. Only transformations from one rectangular coordinate system to another rectangular coordinate system are supported. .. note:: This interface is subject to change whilst functionality is added to support other map projections. """ # Project ticks if crs differs from axes' projection if crs is not None and crs != self.projection: if not isinstance(crs, (ccrs._RectangularProjection, ccrs.Mercator)) or \ not isinstance(self.projection, (ccrs._RectangularProjection, ccrs.Mercator)): raise RuntimeError('Cannot handle non-rectangular coordinate ' 'systems.') proj_xyz = self.projection.transform_points(crs, np.zeros(len(ticks)), np.asarray(ticks)) yticks = proj_xyz[..., 1] else: yticks = ticks # Switch on drawing of y axis self.yaxis.set_visible(True) return super(GeoAxes, self).set_yticks(yticks, minor) def stock_img(self, name='ne_shaded'): """ Add a standard image to the map. Currently, the only (and default) option is a downsampled version of the Natural Earth shaded relief raster. """ if name == 'ne_shaded': import os source_proj = ccrs.PlateCarree() fname = os.path.join(config["repo_data_dir"], 'raster', 'natural_earth', '50-natural-earth-1-downsampled.png') return self.imshow(imread(fname), origin='upper', transform=source_proj, extent=[-180, 180, -90, 90]) else: raise ValueError('Unknown stock image %r.' % name) def add_raster(self, raster_source, **slippy_image_kwargs): """ Add the given raster source to the GeoAxes. Parameters ---------- raster_source : :class:`cartopy.io.RasterSource` like instance ``raster_source`` may be any object which implements the RasterSource interface, including instances of objects such as :class:`~cartopy.io.ogc_clients.WMSRasterSource` and :class:`~cartopy.io.ogc_clients.WMTSRasterSource`. Note that image retrievals are done at draw time, not at creation time. """ # Allow a fail-fast error if the raster source cannot provide # images in the current projection. raster_source.validate_projection(self.projection) img = SlippyImageArtist(self, raster_source, **slippy_image_kwargs) with self.hold_limits(): self.add_image(img) return img def _regrid_shape_aspect(self, regrid_shape, target_extent): """ Helper for setting regridding shape which is used in several plotting methods. """ if not isinstance(regrid_shape, collections.Sequence): target_size = int(regrid_shape) x_range, y_range = np.diff(target_extent)[::2] desired_aspect = x_range / y_range if x_range >= y_range: regrid_shape = (target_size * desired_aspect, target_size) else: regrid_shape = (target_size, target_size / desired_aspect) return regrid_shape def imshow(self, img, *args, **kwargs): """ Add the "transform" keyword to :func:`~matplotlib.pyplot.imshow'. Parameters ---------- transform : :class:`~cartopy.crs.Projection` or matplotlib transform The coordinate system in which the given image is rectangular. regrid_shape : int or pair of ints The shape of the desired image if it needs to be transformed. If a single integer is given then that will be used as the minimum length dimension, while the other dimension will be scaled up according to the target extent's aspect ratio. The default is for the minimum dimension of a transformed image to have length 750, so for an image being transformed into a global PlateCarree projection the resulting transformed image would have a shape of ``(750, 1500)``. extent : tuple The corner coordinates of the image in the form ``(left, right, bottom, top)``. The coordinates should be in the coordinate system passed to the transform keyword. origin : {'lower', 'upper'} The origin of the vertical pixels. See :func:`matplotlib.pyplot.imshow` for further details. Default is ``'lower'``. """ transform = kwargs.pop('transform', None) if 'update_datalim' in kwargs: raise ValueError('The update_datalim keyword has been removed in ' 'imshow. To hold the data and view limits see ' 'GeoAxes.hold_limits.') kwargs.setdefault('origin', 'lower') same_projection = (isinstance(transform, ccrs.Projection) and self.projection == transform) if transform is None or transform == self.transData or same_projection: if isinstance(transform, ccrs.Projection): transform = transform._as_mpl_transform(self) result = matplotlib.axes.Axes.imshow(self, img, *args, **kwargs) else: extent = kwargs.pop('extent', None) img = np.asanyarray(img) if kwargs['origin'] == 'upper': # It is implicitly assumed by the regridding operation that the # origin of the image is 'lower', so simply adjust for that # here. img = img[::-1] kwargs['origin'] = 'lower' if not isinstance(transform, ccrs.Projection): raise ValueError('Expected a projection subclass. Cannot ' 'handle a %s in imshow.' % type(transform)) target_extent = self.get_extent(self.projection) regrid_shape = kwargs.pop('regrid_shape', 750) regrid_shape = self._regrid_shape_aspect(regrid_shape, target_extent) warp_array = cartopy.img_transform.warp_array img, extent = warp_array(img, source_proj=transform, source_extent=extent, target_proj=self.projection, target_res=regrid_shape, target_extent=target_extent, mask_extrapolated=True, ) # As a workaround to a matplotlib limitation, turn any images # which are RGB with a mask into RGBA images with an alpha # channel. if (isinstance(img, np.ma.MaskedArray) and img.shape[2:3] == (3, ) and img.mask is not False): old_img = img img = np.zeros(img.shape[:2] + (4, ), dtype=img.dtype) img[:, :, 0:3] = old_img # Put an alpha channel in if the image was masked. img[:, :, 3] = ~ np.any(old_img.mask, axis=2) if img.dtype.kind == 'u': img[:, :, 3] *= 255 result = matplotlib.axes.Axes.imshow(self, img, *args, extent=extent, **kwargs) # clip the image. This does not work as the patch moves with mouse # movement, but the clip path doesn't # This could definitely be fixed in matplotlib # if result.get_clip_path() in [None, self.patch]: # # image does not already have clipping set, clip to axes patch # result.set_clip_path(self.outline_patch) return result def gridlines(self, crs=None, draw_labels=False, xlocs=None, ylocs=None, **kwargs): """ Automatically adds gridlines to the axes, in the given coordinate system, at draw time. Kwargs: * crs The :class:`cartopy._crs.CRS` defining the coordinate system in which gridlines are drawn. Default is :class:`cartopy.crs.PlateCarree`. * draw_labels Label gridlines like axis ticks, around the edge. * xlocs An iterable of gridline locations or a :class:`matplotlib.ticker.Locator` instance which will be used to determine the locations of the gridlines in the x-coordinate of the given CRS. Defaults to None, which implies automatic locating of the gridlines. * ylocs An iterable of gridline locations or a :class:`matplotlib.ticker.Locator` instance which will be used to determine the locations of the gridlines in the y-coordinate of the given CRS. Defaults to None, which implies automatic locating of the gridlines. Returns: A :class:`cartopy.mpl.gridliner.Gridliner` instance. All other keywords control line properties. These are passed through to :class:`matplotlib.collections.Collection`. """ if crs is None: crs = ccrs.PlateCarree() from cartopy.mpl.gridliner import Gridliner if xlocs is not None and not isinstance(xlocs, mticker.Locator): xlocs = mticker.FixedLocator(xlocs) if ylocs is not None and not isinstance(ylocs, mticker.Locator): ylocs = mticker.FixedLocator(ylocs) gl = Gridliner( self, crs=crs, draw_labels=draw_labels, xlocator=xlocs, ylocator=ylocs, collection_kwargs=kwargs) self._gridliners.append(gl) return gl def _gen_axes_spines(self, locations=None, offset=0.0, units='inches'): # generate some axes spines, as some Axes super class machinery # requires them. Just make them invisible spines = matplotlib.axes.Axes._gen_axes_spines(self, locations=locations, offset=offset, units=units) for spine in spines.values(): spine.set_visible(False) return spines def _boundary(self): """ Adds the map's boundary to this GeoAxes, attaching the appropriate artists to :data:`.outline_patch` and :data:`.background_patch`. .. note:: The boundary is not the ``axes.patch``. ``axes.patch`` is made invisible by this method - its only remaining purpose is to provide a rectilinear clip patch for all Axes artists. """ # Hide the old "background" patch used by matplotlib - it is not # used by cartopy's GeoAxes. self.patch.set_facecolor((1, 1, 1, 0)) self.patch.set_edgecolor((0.5, 0.5, 0.5)) self.patch.set_visible(False) self.background_patch = None self.outline_patch = None path, = cpatch.geos_to_path(self.projection.boundary) # Get the outline path in terms of self.transData proj_to_data = self.projection._as_mpl_transform(self) - self.transData trans_path = proj_to_data.transform_path(path) # Set the boundary - we can make use of the rectangular clipping. self.set_boundary(trans_path, use_as_clip_path=False) # Attach callback events for when the xlim or ylim are changed. This # is what triggers the patches to be re-clipped at draw time. self.callbacks.connect('xlim_changed', _trigger_patch_reclip) self.callbacks.connect('ylim_changed', _trigger_patch_reclip) def set_boundary(self, path, transform=None, use_as_clip_path=True): """ Given a path, update the :data:`.outline_patch` and :data:`.background_patch` to take its shape. Parameters ---------- path : :class:`matplotlib.path.Path` The path of the desired boundary. transform : None or :class:`matplotlib.transforms.Transform` The coordinate system of the given path. Currently this must be convertible to data coordinates, and therefore cannot extend beyond the limits of the axes' projection. use_as_clip_path : bool Whether axes.patch should be updated. Updating axes.patch means that any artists subsequently created will inherit clipping from this path, rather than the standard unit square in axes coordinates. """ if transform is None: transform = self.transData if isinstance(transform, cartopy.crs.CRS): transform = transform._as_mpl_transform(self) if self.background_patch is None: background = matplotlib.patches.PathPatch(path, edgecolor='none', facecolor='white', zorder=-1, clip_on=False, transform=transform) else: background = matplotlib.patches.PathPatch(path, zorder=-1, clip_on=False) background.update_from(self.background_patch) self.background_patch.remove() background.set_transform(transform) if self.outline_patch is None: outline = matplotlib.patches.PathPatch(path, edgecolor='black', facecolor='none', zorder=2.5, clip_on=False, transform=transform) else: outline = matplotlib.patches.PathPatch(path, zorder=2.5, clip_on=False) outline.update_from(self.outline_patch) self.outline_patch.remove() outline.set_transform(transform) # Attach the original path to the patches. This will be used each time # a new clipped path is calculated. outline.orig_path = path background.orig_path = path # Attach a "reclip" attribute, which determines if the patch's path is # reclipped before drawing. A callback is used to change the "reclip" # state. outline.reclip = True background.reclip = True # Add the patches to the axes, and also make them available as # attributes. self.background_patch = background self.outline_patch = outline if use_as_clip_path: self.patch = background with self.hold_limits(): self.add_patch(outline) self.add_patch(background) def contour(self, *args, **kwargs): """ Add the "transform" keyword to :func:`~matplotlib.pyplot.contour'. Extra kwargs: transform - a :class:`~cartopy.crs.Projection`. """ t = kwargs.get('transform', None) if t is None: t = self.projection if isinstance(t, ccrs.CRS) and not isinstance(t, ccrs.Projection): raise ValueError('invalid transform:' ' Spherical contouring is not supported - ' ' consider using PlateCarree/RotatedPole.') if isinstance(t, ccrs.Projection): kwargs['transform'] = t._as_mpl_transform(self) else: kwargs['transform'] = t result = matplotlib.axes.Axes.contour(self, *args, **kwargs) self.autoscale_view() return result def contourf(self, *args, **kwargs): """ Add the "transform" keyword to :func:`~matplotlib.pyplot.contourf'. Extra kwargs: transform - a :class:`~cartopy.crs.Projection`. """ t = kwargs.get('transform', None) if t is None: t = self.projection if isinstance(t, ccrs.CRS) and not isinstance(t, ccrs.Projection): raise ValueError('invalid transform:' ' Spherical contouring is not supported - ' ' consider using PlateCarree/RotatedPole.') if isinstance(t, ccrs.Projection): kwargs['transform'] = t = t._as_mpl_transform(self) else: kwargs['transform'] = t # Set flag to indicate correcting orientation of paths if not ccw if isinstance(t, mtransforms.Transform): for sub_trans, _ in t._iter_break_from_left_to_right(): if isinstance(sub_trans, InterProjectionTransform): if not hasattr(sub_trans, 'force_path_ccw'): sub_trans.force_path_ccw = True result = matplotlib.axes.Axes.contourf(self, *args, **kwargs) # We need to compute the dataLim correctly for contours. if matplotlib.__version__ >= '1.4': extent = mtransforms.Bbox.union([col.get_datalim(self.transData) for col in result.collections]) self.dataLim.update_from_data_xy(extent.get_points()) self.autoscale_view() return result def scatter(self, *args, **kwargs): """ Add the "transform" keyword to :func:`~matplotlib.pyplot.scatter'. Extra kwargs: transform - a :class:`~cartopy.crs.Projection`. """ t = kwargs.get('transform', None) # Keep this bit - even at mpl v1.2 if t is None: t = self.projection if hasattr(t, '_as_mpl_transform'): kwargs['transform'] = t._as_mpl_transform(self) # exclude Geodetic as a vaild source CS if (isinstance(kwargs.get('transform', None), InterProjectionTransform) and kwargs['transform'].source_projection.is_geodetic()): raise ValueError('Cartopy cannot currently do spherical ' 'contouring. The source CRS cannot be a ' 'geodetic, consider using the cyllindrical form ' '(PlateCarree or RotatedPole).') result = matplotlib.axes.Axes.scatter(self, *args, **kwargs) self.autoscale_view() return result def pcolormesh(self, *args, **kwargs): """ Add the "transform" keyword to :func:`~matplotlib.pyplot.pcolormesh'. Extra kwargs: transform - a :class:`~cartopy.crs.Projection`. """ t = kwargs.get('transform', None) if t is None: t = self.projection if isinstance(t, ccrs.CRS) and not isinstance(t, ccrs.Projection): raise ValueError('invalid transform:' ' Spherical pcolormesh is not supported - ' ' consider using PlateCarree/RotatedPole.') kwargs.setdefault('transform', t) result = self._pcolormesh_patched(*args, **kwargs) self.autoscale_view() return result def _pcolormesh_patched(self, *args, **kwargs): """ A temporary, modified duplicate of :func:`~matplotlib.pyplot.pcolormesh'. This function contains a workaround for a matplotlib issue and will be removed once the issue has been resolved. https://github.com/matplotlib/matplotlib/pull/1314 """ import warnings import numpy as np import numpy.ma as ma import matplotlib as mpl import matplotlib.cbook as cbook import matplotlib.colors as mcolors import matplotlib.cm as cm from matplotlib import docstring import matplotlib.transforms as transforms import matplotlib.artist as artist from matplotlib.artist import allow_rasterization import matplotlib.backend_bases as backend_bases import matplotlib.path as mpath import matplotlib.mlab as mlab import matplotlib.collections as mcoll if not self._hold: self.cla() alpha = kwargs.pop('alpha', None) norm = kwargs.pop('norm', None) cmap = kwargs.pop('cmap', None) vmin = kwargs.pop('vmin', None) vmax = kwargs.pop('vmax', None) shading = kwargs.pop('shading', 'flat').lower() antialiased = kwargs.pop('antialiased', False) kwargs.setdefault('edgecolors', 'None') allmatch = (shading == 'gouraud') X, Y, C = self._pcolorargs('pcolormesh', *args, allmatch=allmatch) Ny, Nx = X.shape # convert to one dimensional arrays C = C.ravel() X = X.ravel() Y = Y.ravel() coords = np.zeros(((Nx * Ny), 2), dtype=float) coords[:, 0] = X coords[:, 1] = Y collection = mcoll.QuadMesh( Nx - 1, Ny - 1, coords, antialiased=antialiased, shading=shading, **kwargs) collection.set_alpha(alpha) collection.set_array(C) if norm is not None: assert(isinstance(norm, mcolors.Normalize)) collection.set_cmap(cmap) collection.set_norm(norm) collection.set_clim(vmin, vmax) collection.autoscale_None() self.grid(False) # Transform from native to data coordinates? t = collection._transform if (not isinstance(t, mtransforms.Transform) and hasattr(t, '_as_mpl_transform')): t = t._as_mpl_transform(self.axes) if t and any(t.contains_branch_seperately(self.transData)): trans_to_data = t - self.transData pts = np.vstack([X, Y]).T.astype(np.float) transformed_pts = trans_to_data.transform(pts) X = transformed_pts[..., 0] Y = transformed_pts[..., 1] ######################## # PATCH # XXX Non-standard matplotlib thing. no_inf = (X != np.inf) & (Y != np.inf) X = X[no_inf] Y = Y[no_inf] # END OF PATCH ############## minx = np.amin(X) maxx = np.amax(X) miny = np.amin(Y) maxy = np.amax(Y) corners = (minx, miny), (maxx, maxy) ######################## # PATCH # XXX Non-standard matplotlib thing. collection._corners = mtransforms.Bbox(corners) collection.get_datalim = lambda transData: collection._corners # END OF PATCH ############## self.update_datalim(corners) self.add_collection(collection) self.autoscale_view() ######################## # PATCH # XXX Non-standard matplotlib thing. # Handle a possible wrap around for rectangular projections. t = kwargs.get('transform', None) if isinstance(t, ccrs.CRS): wrap_proj_types = (ccrs._RectangularProjection, ccrs._WarpedRectangularProjection, ccrs.InterruptedGoodeHomolosine, ccrs.Mercator) if isinstance(t, wrap_proj_types) and \ isinstance(self.projection, wrap_proj_types): C = C.reshape((Ny - 1, Nx - 1)) transformed_pts = transformed_pts.reshape((Ny, Nx, 2)) # compute the vertical line angles of the pcolor in # transformed coordinates with np.errstate(invalid='ignore'): horizontal_vert_angles = np.arctan2( np.diff(transformed_pts[..., 0], axis=1), np.diff(transformed_pts[..., 1], axis=1) ) # if the change in angle is greater than 90 degrees (absolute), # then mark it for masking later on. dx_horizontal = np.diff(horizontal_vert_angles) to_mask = ((np.abs(dx_horizontal) > np.pi / 2) | np.isnan(dx_horizontal)) if np.any(to_mask): if collection.get_cmap()._rgba_bad[3] != 0.0: warnings.warn("The colormap's 'bad' has been set, but " "in order to wrap pcolormesh across the " "map it must be fully transparent.") # at this point C has a shape of (Ny-1, Nx-1), to_mask has # a shape of (Ny, Nx-2) and pts has a shape of (Ny*Nx, 2) mask = np.zeros(C.shape, dtype=np.bool) # mask out the neighbouring cells if there was a cell # found with an angle change of more than pi/2 . NB. # Masking too much only has a detrimental impact on # performance. to_mask_y_shift = to_mask[:-1, :] mask[:, :-1][to_mask_y_shift] = True mask[:, 1:][to_mask_y_shift] = True to_mask_x_shift = to_mask[1:, :] mask[:, :-1][to_mask_x_shift] = True mask[:, 1:][to_mask_x_shift] = True C_mask = getattr(C, 'mask', None) if C_mask is not None: dmask = mask | C_mask else: dmask = mask # create the masked array to be used with this pcolormesh pcolormesh_data = np.ma.array(C, mask=mask) collection.set_array(pcolormesh_data.ravel()) # now that the pcolormesh has masked the bad values, # create a pcolor with just those values that were masked pcolor_data = pcolormesh_data.copy() # invert the mask pcolor_data.mask = ~pcolor_data.mask # remember to re-apply the original data mask to the array if C_mask is not None: pcolor_data.mask = pcolor_data.mask | C_mask pts = pts.reshape((Ny, Nx, 2)) if np.any(~pcolor_data.mask): # plot with slightly lower zorder to avoid odd issue # where the main plot is obscured zorder = collection.zorder - .1 kwargs.pop('zorder', None) kwargs.setdefault('snap', False) pcolor_col = self.pcolor(pts[..., 0], pts[..., 1], pcolor_data, zorder=zorder, **kwargs) pcolor_col.set_cmap(cmap) pcolor_col.set_norm(norm) pcolor_col.set_clim(vmin, vmax) # scale the data according to the *original* data pcolor_col.norm.autoscale_None(C) # put the pcolor_col on the pcolormesh collection so # that if really necessary, users can do things post # this method collection._wrapped_collection_fix = pcolor_col # Clip the QuadMesh to the projection boundary, which is required # to keep the shading inside the projection bounds. collection.set_clip_path(self.outline_patch) # END OF PATCH ############## return collection def pcolor(self, *args, **kwargs): """ Add the "transform" keyword to :func:`~matplotlib.pyplot.pcolor'. Extra kwargs: transform - a :class:`~cartopy.crs.Projection`. """ t = kwargs.get('transform', None) if t is None: t = self.projection if isinstance(t, ccrs.CRS) and not isinstance(t, ccrs.Projection): raise ValueError('invalid transform:' ' Spherical pcolor is not supported - ' ' consider using PlateCarree/RotatedPole.') kwargs.setdefault('transform', t) result = matplotlib.axes.Axes.pcolor(self, *args, **kwargs) # Update the datalim for this pcolor. limits = result.get_datalim(self.axes.transData) self.axes.update_datalim(limits) self.autoscale_view() return result def quiver(self, x, y, u, v, *args, **kwargs): """ Plot a field of arrows. Extra Kwargs: * transform: :class:`cartopy.crs.Projection` or matplotlib transform The coordinate system in which the vectors are defined. * regrid_shape: int or 2-tuple of ints If given, specifies that the points where the arrows are located will be interpolated onto a regular grid in projection space. If a single integer is given then that will be used as the minimum grid length dimension, while the other dimension will be scaled up according to the target extent's aspect ratio. If a pair of ints are given they determine the grid length in the x and y directions respectively. * target_extent: 4-tuple If given, specifies the extent in the target CRS that the regular grid defined by *regrid_shape* will have. Defaults to the current extent of the map projection. See :func:`matplotlib.pyplot.quiver` for details on arguments and other keyword arguments. .. note:: The vector components must be defined as grid eastward and grid northward. """ t = kwargs.get('transform', None) if t is None: t = self.projection if isinstance(t, ccrs.CRS) and not isinstance(t, ccrs.Projection): raise ValueError('invalid transform:' ' Spherical quiver is not supported - ' ' consider using PlateCarree/RotatedPole.') if isinstance(t, ccrs.Projection): kwargs['transform'] = t._as_mpl_transform(self) else: kwargs['transform'] = t regrid_shape = kwargs.pop('regrid_shape', None) target_extent = kwargs.pop('target_extent', self.get_extent(self.projection)) if regrid_shape is not None: # If regridding is required then we'll be handling transforms # manually and plotting in native coordinates. regrid_shape = self._regrid_shape_aspect(regrid_shape, target_extent) if args: # Interpolate color array as well as vector components. x, y, u, v, c = vector_scalar_to_grid( t, self.projection, regrid_shape, x, y, u, v, args[0], target_extent=target_extent) args = (c,) + args[1:] else: x, y, u, v = vector_scalar_to_grid( t, self.projection, regrid_shape, x, y, u, v, target_extent=target_extent) kwargs.pop('transform', None) elif t != self.projection: # Transform the vectors if the projection is not the same as the # data transform. if (x.ndim == 1 and y.ndim == 1) and (x.shape != u.shape): x, y = np.meshgrid(x, y) u, v = self.projection.transform_vectors(t, x, y, u, v) return matplotlib.axes.Axes.quiver(self, x, y, u, v, *args, **kwargs) def barbs(self, x, y, u, v, *args, **kwargs): """ Plot a 2-D field of barbs. Extra Kwargs: * transform: :class:`cartopy.crs.Projection` or matplotlib transform The coordinate system in which the vectors are defined. * regrid_shape: int or 2-tuple of ints If given, specifies that the points where the arrows are located will be interpolated onto a regular grid in projection space. If a single integer is given then that will be used as the minimum grid length dimension, while the other dimension will be scaled up according to the target extent's aspect ratio. If a pair of ints are given they determine the grid length in the x and y directions respectively. * target_extent: 4-tuple If given, specifies the extent in the target CRS that the regular grid defined by *regrid_shape* will have. Defaults to the current extent of the map projection. See :func:`matplotlib.pyplot.barbs` for details on arguments and keyword arguments. .. note:: The vector components must be defined as grid eastward and grid northward. """ t = kwargs.get('transform', None) if t is None: t = self.projection if isinstance(t, ccrs.CRS) and not isinstance(t, ccrs.Projection): raise ValueError('invalid transform:' ' Spherical barbs are not supported - ' ' consider using PlateCarree/RotatedPole.') if isinstance(t, ccrs.Projection): kwargs['transform'] = t._as_mpl_transform(self) else: kwargs['transform'] = t regrid_shape = kwargs.pop('regrid_shape', None) target_extent = kwargs.pop('target_extent', self.get_extent(self.projection)) if regrid_shape is not None: # If regridding is required then we'll be handling transforms # manually and plotting in native coordinates. regrid_shape = self._regrid_shape_aspect(regrid_shape, target_extent) if args: # Interpolate color array as well as vector components. x, y, u, v, c = vector_scalar_to_grid( t, self.projection, regrid_shape, x, y, u, v, args[0], target_extent=target_extent) args = (c,) + args[1:] else: x, y, u, v = vector_scalar_to_grid( t, self.projection, regrid_shape, x, y, u, v, target_extent=target_extent) kwargs.pop('transform', None) elif t != self.projection: # Transform the vectors if the projection is not the same as the # data transform. if x.ndim == 1 and y.ndim == 1: x, y = np.meshgrid(x, y) u, v = self.projection.transform_vectors(t, x, y, u, v) return matplotlib.axes.Axes.barbs(self, x, y, u, v, *args, **kwargs) def streamplot(self, x, y, u, v, **kwargs): """ Draws streamlines of a vector flow. Extra Kwargs: * transform: :class:`cartopy.crs.Projection` or matplotlib transform The coordinate system in which the vector field is defined. See :func:`matplotlib.pyplot.streamplot` for details on arguments and keyword arguments. .. note:: The vector components must be defined as grid eastward and grid northward. """ t = kwargs.pop('transform', None) if t is None: t = self.projection if isinstance(t, ccrs.CRS) and not isinstance(t, ccrs.Projection): raise ValueError('invalid transform:' ' Spherical streamplot is not supported - ' ' consider using PlateCarree/RotatedPole.') # Regridding is required for streamplot, it must have an evenly spaced # grid to work correctly. Choose our destination grid based on the # density keyword. The grid need not be bigger than the grid used by # the streamplot integrator. density = kwargs.get('density', 1) if np.isscalar(density): regrid_shape = [int(30 * density)] * 2 else: regrid_shape = [int(25 * d) for d in density] # The color and linewidth keyword arguments can be arrays so they will # need to be gridded also. c = kwargs.get('color', None) l = kwargs.get('linewidth', None) scalars = [] color_array = isinstance(c, np.ndarray) linewidth_array = isinstance(l, np.ndarray) if color_array: scalars.append(c) if linewidth_array: scalars.append(l) # Do the regridding including any scalar fields. target_extent = self.get_extent(self.projection) gridded = vector_scalar_to_grid(t, self.projection, regrid_shape, x, y, u, v, *scalars, target_extent=target_extent) x, y, u, v = gridded[:4] # If scalar fields were regridded then replace the appropriate keyword # arguments with the gridded arrays. scalars = list(gridded[4:]) if linewidth_array: kwargs['linewidth'] = scalars.pop() if color_array: kwargs['color'] = ma.masked_invalid(scalars.pop()) with warnings.catch_warnings(): # The workaround for nan values in streamplot colors gives rise to # a warning which is not at all important so it is hidden from the # user to avoid confusion. message = 'Warning: converting a masked element to nan.' warnings.filterwarnings('ignore', message=message, category=UserWarning) sp = matplotlib.axes.Axes.streamplot(self, x, y, u, v, **kwargs) return sp def add_wmts(self, wmts, layer_name, **kwargs): """ Add the specified WMTS layer to the axes. This function requires owslib and PIL to work. Args: * wmts - The URL of the WMTS, or an owslib.wmts.WebMapTileService instance. * layer_name - The name of the layer to use. All other keywords are passed through to the construction of the image artist. See :meth:`~matplotlib.axes.Axes.imshow()` for more details. """ from cartopy.io.ogc_clients import WMTSRasterSource wmts = WMTSRasterSource(wmts, layer_name) return self.add_raster(wmts, **kwargs) def add_wms(self, wms, layers, wms_kwargs=None, **kwargs): """ Add the specified WMS layer to the axes. This function requires owslib and PIL to work. Parameters ---------- wms : string or :class:`owslib.wms.WebMapService` instance The web map service URL or owslib WMS instance to use. layers : string or iterable of string The name of the layer(s) to use. wms_kwargs : dict or None Passed through to the :class:`~cartopy.io.ogc_clients.WMSRasterSource` constructor's ``getmap_extra_kwargs`` for defining getmap time keyword arguments. All other keywords are passed through to the construction of the image artist. See :meth:`~matplotlib.axes.Axes.imshow()` for more details. """ from cartopy.io.ogc_clients import WMSRasterSource wms = WMSRasterSource(wms, layers, getmap_extra_kwargs=wms_kwargs) return self.add_raster(wms, **kwargs) # Define the GeoAxesSubplot class, so that a type(ax) will emanate from # cartopy.mpl.geoaxes, not matplotlib.axes. class GeoAxesSubplot(matplotlib.axes.SubplotBase, GeoAxes): _axes_class = GeoAxes try: matplotlib.axes._subplots._subplot_classes[GeoAxes] = GeoAxesSubplot except AttributeError: matplotlib.axes._subplot_classes[GeoAxes] = GeoAxesSubplot def _trigger_patch_reclip(event): """ Defines an event callback for a GeoAxes which forces the outline and background patches to be re-clipped next time they are drawn. """ axes = event.axes # trigger the outline and background patches to be re-clipped axes.outline_patch.reclip = True axes.background_patch.reclip = True Cartopy-0.14.2/lib/cartopy/mpl/gridliner.py0000644001374000021030000004246212700747662020342 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import matplotlib import matplotlib.collections as mcollections import matplotlib.text as mtext import matplotlib.ticker as mticker import matplotlib.transforms as mtrans import numpy as np import six import cartopy from cartopy.crs import Projection, _RectangularProjection degree_locator = mticker.MaxNLocator(nbins=9, steps=[1, 2, 3, 6, 15, 18]) _DEGREE_SYMBOL = u'\u00B0' def _fix_lons(lons): """ Fix the given longitudes into the range ``[-180, 180]``. """ lons = np.array(lons, copy=False, ndmin=1) fixed_lons = ((lons + 180) % 360) - 180 # Make the positive 180s positive again. fixed_lons[(fixed_lons == -180) & (lons > 0)] *= -1 return fixed_lons def _lon_heimisphere(longitude): """Return the hemisphere (E, W or '' for 0) for the given longitude.""" longitude = _fix_lons(longitude) if longitude > 0: hemisphere = 'E' elif longitude < 0: hemisphere = 'W' else: hemisphere = '' return hemisphere def _lat_heimisphere(latitude): """Return the hemisphere (N, S or '' for 0) for the given latitude.""" if latitude > 0: hemisphere = 'N' elif latitude < 0: hemisphere = 'S' else: hemisphere = '' return hemisphere def _east_west_formatted(longitude, num_format='g'): fmt_string = u'{longitude:{num_format}}{degree}{hemisphere}' return fmt_string.format(longitude=abs(longitude), num_format=num_format, hemisphere=_lon_heimisphere(longitude), degree=_DEGREE_SYMBOL) def _north_south_formatted(latitude, num_format='g'): fmt_string = u'{latitude:{num_format}}{degree}{hemisphere}' return fmt_string.format(latitude=abs(latitude), num_format=num_format, hemisphere=_lat_heimisphere(latitude), degree=_DEGREE_SYMBOL) #: A formatter which turns longitude values into nice longitudes such as 110W LONGITUDE_FORMATTER = mticker.FuncFormatter(lambda v, pos: _east_west_formatted(v)) #: A formatter which turns longitude values into nice longitudes such as 45S LATITUDE_FORMATTER = mticker.FuncFormatter(lambda v, pos: _north_south_formatted(v)) class Gridliner(object): # NOTE: In future, one of these objects will be add-able to a GeoAxes (and # maybe even a plain old mpl axes) and it will call the "_draw_gridliner" # method on draw. This will enable automatic gridline resolution # determination on zoom/pan. def __init__(self, axes, crs, draw_labels=False, xlocator=None, ylocator=None, collection_kwargs=None): """ Object used by :meth:`cartopy.mpl.geoaxes.GeoAxes.gridlines` to add gridlines and tick labels to a map. Args: * axes The :class:`cartopy.mpl.geoaxes.GeoAxes` object to be drawn on. * crs The :class:`cartopy.crs.CRS` defining the coordinate system that the gridlines are drawn in. * draw_labels Toggle whether to draw labels. For finer control, attributes of :class:`Gridliner` may be modified individually. * xlocator A :class:`matplotlib.ticker.Locator` instance which will be used to determine the locations of the gridlines in the x-coordinate of the given CRS. Defaults to None, which implies automatic locating of the gridlines. * ylocator A :class:`matplotlib.ticker.Locator` instance which will be used to determine the locations of the gridlines in the y-coordinate of the given CRS. Defaults to None, which implies automatic locating of the gridlines. * collection_kwargs Dictionary controlling line properties, passed to :class:`matplotlib.collections.Collection`. """ self.axes = axes #: The :class:`~matplotlib.ticker.Locator` to use for the x #: gridlines and labels. self.xlocator = xlocator or degree_locator #: The :class:`~matplotlib.ticker.Locator` to use for the y #: gridlines and labels. self.ylocator = ylocator or degree_locator #: The :class:`~matplotlib.ticker.Formatter` to use for the x labels. self.xformatter = mticker.ScalarFormatter() self.xformatter.create_dummy_axis() #: The :class:`~matplotlib.ticker.Formatter` to use for the y labels. self.yformatter = mticker.ScalarFormatter() self.yformatter.create_dummy_axis() #: Whether to draw labels on the top of the map. self.xlabels_top = draw_labels #: Whether to draw labels on the bottom of the map. self.xlabels_bottom = draw_labels #: Whether to draw labels on the left hand side of the map. self.ylabels_left = draw_labels #: Whether to draw labels on the right hand side of the map. self.ylabels_right = draw_labels #: Whether to draw the x gridlines. self.xlines = True #: Whether to draw the y gridlines. self.ylines = True #: A dictionary passed through to ``ax.text`` on x label creation #: for styling of the text labels. self.xlabel_style = {} #: A dictionary passed through to ``ax.text`` on y label creation #: for styling of the text labels. self.ylabel_style = {} self.crs = crs # if the user specifies tick labels at this point, check if they can # be drawn. The same check will take place at draw time in case # public attributes are changed after instantiation. if draw_labels: self._assert_can_draw_ticks() #: The number of interpolation points which are used to draw the #: gridlines. self.n_steps = 30 #: A dictionary passed through to #: ``matplotlib.collections.LineCollection`` on grid line creation. self.collection_kwargs = collection_kwargs #: The x gridlines which were created at draw time. self.xline_artists = [] #: The y gridlines which were created at draw time. self.yline_artists = [] #: The x labels which were created at draw time. self.xlabel_artists = [] #: The y labels which were created at draw time. self.ylabel_artists = [] def _crs_transform(self): """ Get the drawing transform for our gridlines. .. note:: this depends on the transform of our 'axes', so it may change dynamically. """ transform = self.crs if not isinstance(transform, mtrans.Transform): transform = transform._as_mpl_transform(self.axes) return transform def _add_gridline_label(self, value, axis, upper_end): """ Create a Text artist on our axes for a gridline label. Args: * value Coordinate value of this gridline. The text contains this value, and is positioned centred at that point. * axis which axis the label is on: 'x' or 'y'. * upper_end If True, place at the maximum of the "other" coordinate (Axes coordinate == 1.0). Else 'lower' end (Axes coord = 0.0). """ transform = self._crs_transform() shift_dist_points = 5 # A margin from the map edge. if upper_end is False: shift_dist_points = -shift_dist_points if axis == 'x': x = value y = 1.0 if upper_end else 0.0 h_align = 'center' v_align = 'bottom' if upper_end else 'top' tr_x = transform tr_y = self.axes.transAxes + \ mtrans.ScaledTranslation( 0.0, shift_dist_points * (1.0 / 72), self.axes.figure.dpi_scale_trans) str_value = self.xformatter(value) user_label_style = self.xlabel_style elif axis == 'y': y = value x = 1.0 if upper_end else 0.0 v_align = 'center' h_align = 'left' if upper_end else 'right' tr_y = transform tr_x = self.axes.transAxes + \ mtrans.ScaledTranslation( shift_dist_points * (1.0 / 72), 0.0, self.axes.figure.dpi_scale_trans) str_value = self.yformatter(value) user_label_style = self.ylabel_style else: raise ValueError( "Unknown axis, {!r}, must be either 'x' or 'y'".format(axis)) # Make a 'blended' transform for label text positioning. # One coord is geographic, and the other a plain Axes # coordinate with an appropriate offset. label_transform = mtrans.blended_transform_factory( x_transform=tr_x, y_transform=tr_y) label_style = {'verticalalignment': v_align, 'horizontalalignment': h_align, } label_style.update(user_label_style) # Create and add a Text artist with these properties text_artist = mtext.Text(x, y, str_value, clip_on=False, transform=label_transform, **label_style) if axis == 'x': self.xlabel_artists.append(text_artist) elif axis == 'y': self.ylabel_artists.append(text_artist) self.axes.add_artist(text_artist) def _draw_gridliner(self, nx=None, ny=None, background_patch=None): """Create Artists for all visible elements and add to our Axes.""" x_lim, y_lim = self._axes_domain(nx=nx, ny=ny, background_patch=background_patch) transform = self._crs_transform() rc_params = matplotlib.rcParams n_steps = self.n_steps x_ticks = self.xlocator.tick_values(x_lim[0], x_lim[1]) y_ticks = self.ylocator.tick_values(y_lim[0], y_lim[1]) # XXX this bit is cartopy specific. (for circular longitudes) # Purpose: omit plotting the last x line, as it may overlap the first. x_gridline_points = x_ticks[:] crs = self.crs if (isinstance(crs, Projection) and isinstance(crs, _RectangularProjection) and abs(np.diff(x_lim)) == abs(np.diff(crs.x_limits))): x_gridline_points = x_gridline_points[:-1] collection_kwargs = self.collection_kwargs if collection_kwargs is None: collection_kwargs = {} collection_kwargs = collection_kwargs.copy() collection_kwargs['transform'] = transform # XXX doesn't gracefully handle lw vs linewidth aliases... collection_kwargs.setdefault('color', rc_params['grid.color']) collection_kwargs.setdefault('linestyle', rc_params['grid.linestyle']) collection_kwargs.setdefault('linewidth', rc_params['grid.linewidth']) if self.xlines: lines = [] for x in x_gridline_points: l = list(zip(np.zeros(n_steps) + x, np.linspace(min(y_ticks), max(y_ticks), n_steps))) lines.append(l) x_lc = mcollections.LineCollection(lines, **collection_kwargs) self.xline_artists.append(x_lc) self.axes.add_collection(x_lc, autolim=False) if self.ylines: lines = [] for y in y_ticks: l = list(zip(np.linspace(min(x_ticks), max(x_ticks), n_steps), np.zeros(n_steps) + y)) lines.append(l) y_lc = mcollections.LineCollection(lines, **collection_kwargs) self.yline_artists.append(y_lc) self.axes.add_collection(y_lc, autolim=False) ################# # Label drawing # ################# # Trim outside-area points from the label coords. # Tickers may round *up* the desired range to something tidy, not # all of which is necessarily visible. We must be stricter with # our texts, as they are drawn *without clipping*. x_label_points = [x for x in x_ticks if x_lim[0] <= x <= x_lim[1]] y_label_points = [y for y in y_ticks if y_lim[0] <= y <= y_lim[1]] if self.xlabels_bottom or self.xlabels_top: self._assert_can_draw_ticks() self.xformatter.set_locs(x_label_points) for x in x_label_points: if self.xlabels_bottom: self._add_gridline_label(x, axis='x', upper_end=False) if self.xlabels_top: self._add_gridline_label(x, axis='x', upper_end=True) if self.ylabels_left or self.ylabels_right: self._assert_can_draw_ticks() self.yformatter.set_locs(y_label_points) for y in y_label_points: if self.ylabels_left: self._add_gridline_label(y, axis='y', upper_end=False) if self.ylabels_right: self._add_gridline_label(y, axis='y', upper_end=True) def _assert_can_draw_ticks(self): """ Check to see if ticks can be drawn. Either returns True or raises an exception. """ # Check labelling is supported, currently a limited set of options. if not isinstance(self.crs, cartopy.crs.PlateCarree): raise TypeError('Cannot label {crs.__class__.__name__} gridlines.' ' Only PlateCarree gridlines are currently ' 'supported.'.format(crs=self.crs)) if not isinstance(self.axes.projection, (cartopy.crs.PlateCarree, cartopy.crs.Mercator)): raise TypeError('Cannot label gridlines on a ' '{prj.__class__.__name__} plot. Only PlateCarree' ' and Mercator plots are currently ' 'supported.'.format(prj=self.axes.projection)) return True def _axes_domain(self, nx=None, ny=None, background_patch=None): """Returns x_range, y_range""" DEBUG = False transform = self._crs_transform() ax_transform = self.axes.transAxes desired_trans = ax_transform - transform nx = nx or 30 ny = ny or 30 x = np.linspace(1e-9, 1 - 1e-9, nx) y = np.linspace(1e-9, 1 - 1e-9, ny) x, y = np.meshgrid(x, y) coords = np.concatenate([x.flatten()[:, None], y.flatten()[:, None]], 1) in_data = desired_trans.transform(coords) ax_to_bkg_patch = self.axes.transAxes - \ background_patch.get_transform() ok = np.zeros(in_data.shape[:-1], dtype=np.bool) # XXX Vectorise contains_point for i, val in enumerate(in_data): # convert the coordinates of the data to the background # patches coordinates background_coord = ax_to_bkg_patch.transform(coords[i:i + 1, :]) bkg_patch_contains = background_patch.get_path().contains_point if bkg_patch_contains(background_coord[0, :]): color = 'r' ok[i] = True else: color = 'b' if DEBUG: import matplotlib.pyplot as plt plt.plot(coords[i, 0], coords[i, 1], 'o' + color, clip_on=False, transform=ax_transform) # plt.text(coords[i, 0], coords[i, 1], str(val), clip_on=False, # transform=ax_transform, rotation=23, # horizontalalignment='right') inside = in_data[ok, :] # If there were no data points in the axes we just use the x and y # range of the projection. if inside.size == 0: x_range = self.crs.x_limits y_range = self.crs.y_limits else: x_range = np.nanmin(inside[:, 0]), np.nanmax(inside[:, 0]) y_range = np.nanmin(inside[:, 1]), np.nanmax(inside[:, 1]) # XXX Cartopy specific thing. Perhaps make this bit a specialisation # in a subclass... crs = self.crs if isinstance(crs, Projection): x_range = np.clip(x_range, *crs.x_limits) y_range = np.clip(y_range, *crs.y_limits) # if the limit is >90% of the full x limit, then just use the full # x limit (this makes circular handling better) prct = np.abs(np.diff(x_range) / np.diff(crs.x_limits)) if prct > 0.9: x_range = crs.x_limits return x_range, y_range Cartopy-0.14.2/lib/cartopy/mpl/patch.py0000644001374000021030000002153712700747662017462 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Provides shapely geometry <-> matplotlib path support. See also `Shapely Geometric Objects `_ and `Matplotlib Path API `_. .. see_also_shapely: http://toblerity.org/shapely/manual.html#geometric-objects """ from __future__ import (absolute_import, division, print_function) import numpy as np import matplotlib.path from matplotlib.path import Path import shapely.geometry as sgeom def geos_to_path(shape): """ Creates a list of :class:`matplotlib.path.Path` objects that describe a shape. Args: * shape A list, tuple or single instance of any of the following types: :class:`shapely.geometry.point.Point`, :class:`shapely.geometry.linestring.LineString`, :class:`shapely.geometry.polygon.Polygon`, :class:`shapely.geometry.multipoint.MultiPoint`, :class:`shapely.geometry.multipolygon.MultiPolygon`, :class:`shapely.geometry.multilinestring.MultiLineString`, :class:`shapely.geometry.collection.GeometryCollection`, or any type with a _as_mpl_path() method. Returns: A list of :class:`matplotlib.path.Path` objects. """ if isinstance(shape, (list, tuple)): paths = [] for shp in shape: paths.extend(geos_to_path(shp)) return paths if isinstance(shape, (sgeom.LineString, sgeom.Point)): return [Path(np.vstack(shape.xy).T)] elif isinstance(shape, sgeom.Polygon): def poly_codes(poly): codes = np.ones(len(poly.xy[0])) * Path.LINETO codes[0] = Path.MOVETO return codes if shape.is_empty: return [] vertices = np.concatenate([np.array(shape.exterior.xy)] + [np.array(ring.xy) for ring in shape.interiors], 1).T codes = np.concatenate([poly_codes(shape.exterior)] + [poly_codes(ring) for ring in shape.interiors]) return [Path(vertices, codes)] elif isinstance(shape, (sgeom.MultiPolygon, sgeom.GeometryCollection, sgeom.MultiLineString, sgeom.MultiPoint)): paths = [] for geom in shape.geoms: paths.extend(geos_to_path(geom)) return paths elif hasattr(shape, '_as_mpl_path'): vertices, codes = shape._as_mpl_path() return [Path(vertices, codes)] else: raise ValueError('Unsupported shape type {}.'.format(type(shape))) def path_segments(path, transform=None, remove_nans=False, clip=None, quantize=False, simplify=False, curves=False, stroke_width=1.0, snap=False): """ Creates an array of vertices and a corresponding array of codes from a :class:`matplotlib.path.Path`. Args: * path A :class:`matplotlib.path.Path` instance. Kwargs: See :func:`matplotlib.path.iter_segments` for details of the keyword arguments. Returns: A (vertices, codes) tuple, where vertices is a numpy array of coordinates, and codes is a numpy array of matplotlib path codes. See :class:`matplotlib.path.Path` for information on the types of codes and their meanings. """ # XXX assigned to avoid a ValueError inside the mpl C code... a = transform, remove_nans, clip, quantize, simplify, curves # Series of cleanups and conversions to the path e.g. it # can convert curved segments to line segments. vertices, codes = matplotlib.path.cleanup_path(path, transform, remove_nans, clip, snap, stroke_width, simplify, curves) # Remove the final vertex (with code 0) return vertices[:-1, :], codes[:-1] # Matplotlib v1.3+ deprecates the use of matplotlib.path.cleanup_path. Instead # there is a method on a Path instance to simplify this. if hasattr(matplotlib.path.Path, 'cleaned'): _path_segments_doc = path_segments.__doc__ def path_segments(path, **kwargs): pth = path.cleaned(**kwargs) return pth.vertices[:-1, :], pth.codes[:-1] path_segments.__doc__ = _path_segments_doc def path_to_geos(path, force_ccw=False): """ Creates a list of Shapely geometric objects from a :class:`matplotlib.path.Path`. Args: * path A :class:`matplotlib.path.Path` instance. Kwargs: * force_ccw Boolean flag determining whether the path can be inverted to enforce ccw. Returns: A list of :class:`shapely.geometry.polygon.Polygon`, :class:`shapely.geometry.linestring.LineString` and/or :class:`shapely.geometry.multilinestring.MultiLineString` instances. """ # Convert path into numpy array of vertices (and associated codes) path_verts, path_codes = path_segments(path, curves=False) # Split into subarrays such that each subarray consists of connected # line segments based on the start of each one being marked by a # matplotlib MOVETO code. verts_split_inds = np.where(path_codes == Path.MOVETO)[0] verts_split = np.split(path_verts, verts_split_inds) codes_split = np.split(path_codes, verts_split_inds) # Iterate through the vertices generating a list of # (external_geom, [internal_polygons]) tuples. other_result_geoms = [] collection = [] for path_verts, path_codes in zip(verts_split, codes_split): if len(path_verts) == 0: continue # XXX A path can be given which does not end with close poly, in that # situation, we have to guess? verts_same_as_first = np.all(path_verts[0, :] == path_verts[1:, :], axis=1) if all(verts_same_as_first): geom = sgeom.Point(path_verts[0, :]) elif (path_verts.shape[0] > 2 and (path_codes[-1] == Path.CLOSEPOLY or verts_same_as_first[-1])): if path_codes[-1] == Path.CLOSEPOLY: geom = sgeom.Polygon(path_verts[:-1, :]) else: geom = sgeom.Polygon(path_verts) else: geom = sgeom.LineString(path_verts) # If geom is a Polygon and is contained within the last geom in # collection, add it to its list of internal polygons, otherwise # simply append it as a new external geom. if geom.is_empty: pass elif (len(collection) > 0 and isinstance(collection[-1][0], sgeom.Polygon) and isinstance(geom, sgeom.Polygon) and collection[-1][0].contains(geom.exterior)): collection[-1][1].append(geom.exterior) elif isinstance(geom, sgeom.Point): other_result_geoms.append(geom) else: collection.append((geom, [])) # Convert each (external_geom, [internal_polygons]) pair into a # a shapely Polygon that encapsulates the internal polygons, if the # external geom is a LineString leave it alone. geom_collection = [] for external_geom, internal_polys in collection: if internal_polys: # XXX worry about islands within lakes geom = sgeom.Polygon(external_geom.exterior, internal_polys) else: geom = external_geom # Correctly orientate the polygon (ccw) if isinstance(geom, sgeom.Polygon): if force_ccw and not geom.exterior.is_ccw: geom = sgeom.polygon.orient(geom) geom_collection.append(geom) # If the geom_collection only contains LineStrings combine them # into a single MultiLinestring. if geom_collection and all(isinstance(geom, sgeom.LineString) for geom in geom_collection): geom_collection = [sgeom.MultiLineString(geom_collection)] # Remove any zero area Polygons def not_zero_poly(geom): return ((isinstance(geom, sgeom.Polygon) and not geom._is_empty and geom.area != 0) or not isinstance(geom, sgeom.Polygon)) result = list(filter(not_zero_poly, geom_collection)) return result + other_result_geoms Cartopy-0.14.2/lib/cartopy/mpl/slippy_image_artist.py0000644001374000021030000000425012700747662022424 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Defines the SlippyImageArtist class, which interfaces with :class:`cartopy.io.RasterSource` instances at draw time, for interactive dragging and zooming of raster data. """ from __future__ import (absolute_import, division, print_function) from matplotlib.image import AxesImage import matplotlib.artist class SlippyImageArtist(AxesImage): """ A subclass of :class:`~matplotlib.image.AxesImage` which provides an interface for getting a raster from the given object with interactive slippy map type functionality. Kwargs are passed to the AxesImage constructor. """ def __init__(self, ax, raster_source, **kwargs): self.raster_source = raster_source super(SlippyImageArtist, self).__init__(ax, **kwargs) self.set_clip_path(ax.outline_patch) @matplotlib.artist.allow_rasterization def draw(self, renderer, *args, **kwargs): if not self.get_visible(): return ax = self.axes window_extent = ax.get_window_extent() [x1, y1], [x2, y2] = ax.viewLim.get_points() located_images = self.raster_source.fetch_raster( ax.projection, extent=[x1, x2, y1, y2], target_resolution=(window_extent.width, window_extent.height)) for img, extent in located_images: self.set_array(img) with ax.hold_limits(): self.set_extent(extent) super(SlippyImageArtist, self).draw(renderer, *args, **kwargs) Cartopy-0.14.2/lib/cartopy/mpl/ticker.py0000644001374000021030000002437512700747662017647 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """This module contains tools for handling tick marks in cartopy.""" from __future__ import (absolute_import, division, print_function) from matplotlib.ticker import Formatter import cartopy.crs as ccrs from cartopy.mpl.geoaxes import GeoAxes class _PlateCarreeFormatter(Formatter): """ Base class for formatting ticks on geographical axes using a rectangular projection (e.g. Plate Carree, Mercator). """ _target_projection = ccrs.PlateCarree() def __init__(self, degree_symbol=u'\u00B0', number_format='g', transform_precision=1e-8): """ Base class for simpler implementation of specialised formatters for latitude and longitude axes. """ self._degree_symbol = degree_symbol self._number_format = number_format self._transform_precision = transform_precision def __call__(self, value, pos=None): if not isinstance(self.axis.axes, GeoAxes): raise TypeError("This formatter can only be " "used with cartopy axes.") # We want to produce labels for values in the familiar Plate Carree # projection, so convert the tick values from their own projection # before formatting them. source = self.axis.axes.projection if not isinstance(source, (ccrs._RectangularProjection, ccrs.Mercator)): raise TypeError("This formatter cannot be used with " "non-rectangular projections.") projected_value = self._apply_transform(value, self._target_projection, source) # Round the transformed value using a given precision for display # purposes. Transforms can introduce minor rounding errors that make # the tick values look bad, these need to be accounted for. f = 1. / self._transform_precision projected_value = round(f * projected_value) / f # Return the formatted values, the formatter has both the re-projected # tick value and the original axis value available to it. return self._format_value(projected_value, value) def _format_value(self, value, original_value): hemisphere = self._hemisphere(value, original_value) fmt_string = u'{value:{number_format}}{degree}{hemisphere}' return fmt_string.format(value=abs(value), number_format=self._number_format, degree=self._degree_symbol, hemisphere=hemisphere) def _apply_transform(self, value, target_proj, source_crs): """ Given a single value, a target projection and a source CRS, transforms the value from the source CRS to the target projection, returning a single value. """ raise NotImplementedError("A subclass must implement this method.") def _hemisphere(self, value, value_source_crs): """ Given both a tick value in the Plate Carree projection and the same value in the source CRS returns a string indicating the hemisphere that the value is in. Must be over-ridden by the derived class. """ raise NotImplementedError("A subclass must implement this method.") class LatitudeFormatter(_PlateCarreeFormatter): """Tick formatter for latitude axes.""" def __init__(self, degree_symbol=u'\u00B0', number_format='g', transform_precision=1e-8): """ Tick formatter for a latitude axis. The axis must be part of an axes defined on a rectangular projection (e.g. Plate Carree, Mercator). .. note:: A formatter can only be used for one axis. A new formatter must be created for every axis that needs formatted labels. Kwargs: * degree_symbol (string): The character(s) used to represent the degree symbol in the tick labels. Defaults to u'\u00B0' which is the unicode degree symbol. Can be an empty string if no degree symbol is desired. * number_format (string): Format string to represent the tick values. Defaults to 'g'. * transform_precision (float): Sets the precision (in degrees) to which transformed tick values are rounded. The default is 1e-7, and should be suitable for most use cases. To control the appearance of tick labels use the *number_format* keyword. Examples: Label latitudes from -90 to 90 on a Plate Carree projection:: ax = plt.axes(projection=PlateCarree()) ax.set_global() ax.set_yticks([-90, -60, -30, 0, 30, 60, 90], crs=ccrs.PlateCarree()) lat_formatter = LatitudeFormatter() ax.yaxis.set_major_formatter(lat_formatter) Label latitudes from -80 to 80 on a Mercator projection, this time omitting the degree symbol:: ax = plt.axes(projection=Mercator()) ax.set_global() ax.set_yticks([-90, -60, -30, 0, 30, 60, 90], crs=ccrs.PlateCarree()) lat_formatter = LatitudeFormatter(degree_symbol='') ax.yaxis.set_major_formatter(lat_formatter) """ super(LatitudeFormatter, self).__init__( degree_symbol=degree_symbol, number_format=number_format, transform_precision=transform_precision) def _apply_transform(self, value, target_proj, source_crs): return target_proj.transform_point(0, value, source_crs)[1] def _hemisphere(self, value, value_source_crs): if value > 0: hemisphere = 'N' elif value < 0: hemisphere = 'S' else: hemisphere = '' return hemisphere class LongitudeFormatter(_PlateCarreeFormatter): """Tick formatter for a longitude axis.""" def __init__(self, zero_direction_label=False, dateline_direction_label=False, degree_symbol=u'\u00B0', number_format='g', transform_precision=1e-8): """ Create a formatter for longitude values. The axis must be part of an axes defined on a rectangular projection (e.g. Plate Carree, Mercator). .. note:: A formatter can only be used for one axis. A new formatter must be created for every axis that needs formatted labels. Kwargs: * zero_direction_label (False | True): If *True* a direction label (E or W) will be drawn next to longitude labels with the value 0. If *False* then these labels will not be drawn. Defaults to *False* (no direction labels). * dateline_direction_label (False | True): If *True* a direction label (E or W) will be drawn next to longitude labels with the value 180. If *False* then these labels will not be drawn. Defaults to *False* (no direction labels). * degree_symbol (string): The symbol used to represent degrees. Defaults to u'\u00B0' which is the unicode degree symbol. * number_format (string): Format string to represent the longitude values. Defaults to 'g'. * transform_precision (float): Sets the precision (in degrees) to which transformed tick values are rounded. The default is 1e-7, and should be suitable for most use cases. To control the appearance of tick labels use the *number_format* keyword. Examples: Label longitudes from -180 to 180 on a Plate Carree projection with a central longitude of 0:: ax = plt.axes(projection=PlateCarree()) ax.set_global() ax.set_xticks([-180, -120, -60, 0, 60, 120, 180], crs=ccrs.PlateCarree()) lon_formatter = LongitudeFormatter() ax.xaxis.set_major_formatter(lon_formatter) Label longitudes from 0 to 360 on a Plate Carree projection with a central longitude of 180:: ax = plt.axes(projection=PlateCarree(central_longitude=180)) ax.set_global() ax.set_xticks([0, 60, 120, 180, 240, 300, 360], crs=ccrs.PlateCarree()) ont_formatter = LongitudeFormatter() ax.xaxis.set_major_formatter(lon_formatter) """ super(LongitudeFormatter, self).__init__( degree_symbol=degree_symbol, number_format=number_format, transform_precision=transform_precision) self._zero_direction_labels = zero_direction_label self._dateline_direction_labels = dateline_direction_label def _apply_transform(self, value, target_proj, source_crs): return target_proj.transform_point(value, 0, source_crs)[0] def _hemisphere(self, value, value_source_crs): # Perform basic hemisphere detection. if value < 0: hemisphere = 'W' elif value > 0: hemisphere = 'E' else: hemisphere = '' # Correct for user preferences: if value == 0 and self._zero_direction_labels: # Use the original tick value to determine the hemisphere. if value_source_crs < 0: hemisphere = 'E' else: hemisphere = 'W' if value in (-180, 180) and not self._dateline_direction_labels: hemisphere = '' return hemisphere Cartopy-0.14.2/lib/cartopy/sphinxext/0000755001374000021030000000000012706121712017227 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/sphinxext/__init__.py0000644001374000021030000000143712700747662021361 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) Cartopy-0.14.2/lib/cartopy/sphinxext/gallery.py0000644001374000021030000002400212700747662021252 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import os.path import sys from cartopy.sphinxext.summarise_package import walk_module import cartopy.tests def out_of_date(original_fname, target_fname): """ Checks to see if the ``target_fname`` exists, and if so, whether the modification timestamp suggests that ``original_fname`` is newer than ``target_fname``. """ return (not os.path.exists(target_fname) or os.path.getmtime(original_fname) > os.path.getmtime(target_fname)) def same_contents(fname, contents_str): """ Checks to see if the given fname contains the contents given by ``contents_str``. The result could be used to determine if the contents need to be written to the given fname. """ if os.path.exists(fname): with open(fname, 'r') as fh: return fh.read() == contents_str return False def parent_module(module): """ Returns the direct module ascendent of the given module. For example, giving a module ``a.b.c`` would return the ``a.b`` module. If the module is a top level package, None will be returned. .. note:: Requires the __name__ attribute on the given module to be correctly defined and the parent module to be importable. >>> import numpy.ma.core >>> from cartopy.sphinxext.gallery import parent_module >>> parent_module(numpy.ma.core) # doctest: +ELLIPSIS """ result = None name = module.__name__ by_dot = name.split('.') if len(by_dot) > 1: parent_name = '.'.join(by_dot[:-1]) result = get_module(parent_name) return result def get_module(mod_name): """ Return the module instance of the given name, by importing it into the system. """ __import__(mod_name) return sys.modules[mod_name] def safe_mod_name_and_fname(module_name, ancestor_module_name): """ Returns a safe module name (for linking too) and safe filename (suffixed with ".rst") for the given module name, relative to the given ancestor module. >>> from cartopy.sphinxext.gallery import safe_mod_name_and_fname >>> safe_mod_name_and_fname('numpy.ma.core', 'numpy') ('ma-core', 'ma/core.rst') """ mod = get_module(module_name) ancestor_package = get_module(ancestor_module_name) safe_fname = os.path.relpath(os.path.splitext(mod.__file__)[0], os.path.dirname(ancestor_package.__file__)) safe_name = safe_fname.replace(os.path.sep, '-') safe_fname = safe_fname + '.rst' return safe_name, safe_fname def examples_code(examples_mod_name, source_directory, output_directory='examples'): """ Generates the rst code for the given examples module. examples_mod_name - the name of the parent (importable) module which should be recursively walked when looking for examples source_directory - the path to the top level source directory containing the rst content of the documentation output_directory - the directory for the output to be put in. Should be relative to the source_directory """ for mod_name, root_dir, fname, _ in walk_module(examples_mod_name): if fname.startswith('__init__'): continue rst, rst_fname = individual_example_rst(mod_name, examples_mod_name, output_directory) rst_fname = os.path.join(source_directory, output_directory, rst_fname) py_fname = os.path.join(source_directory, output_directory, os.path.splitext(rst_fname)[0] + '.py') if not os.path.isdir(os.path.dirname(py_fname)): os.makedirs(os.path.dirname(py_fname)) if out_of_date(os.path.join(root_dir, fname), py_fname): with open(os.path.join(root_dir, fname), 'r') as in_fh: with open(py_fname, 'w') as out_fh: for line in in_fh: # Crudely remove the __tags__ line. if line.startswith('__tags__ = '): continue out_fh.write(line) if not same_contents(rst_fname, rst): with open(rst_fname, 'w') as fh: fh.write(rst) def gallery_code(examples_mod_name): """ Returns rst code suitable for generating a html gallery using sphinx. examples_mod_name - the name of the importable (sub)module which contains the examples """ # Store a dictionary mapping tag_name to (mod_name, mod_instance, tags) examples_by_tag = {} for mod_name, _, _, _ in walk_module(examples_mod_name): if mod_name != examples_mod_name: __import__(mod_name) mod = sys.modules[mod_name] tags = getattr(mod, '__tags__', ['Miscellanea']) for tag in tags: examples_by_tag.setdefault(tag, []).append((mod_name, mod)) result = ['Gallery', '=======', 'Tags:\n', '.. container:: inline-paragraphs\n' ] examples_by_tag = sorted(iter(examples_by_tag.items()), key=lambda pair: (pair[0] == 'Miscellanea', pair[0])) for tag, _ in examples_by_tag: result.append('\t:ref:`gallery-tag-{}`\n'.format(tag)) for tag, mod_list in examples_by_tag: result.extend(['.. _gallery-tag-{}:\n'.format(tag), '{}'.format(tag), '-' * len(tag) + '\n', '.. container:: gallery_images\n']) for (mod_name, mod) in mod_list: safe_name, _ = safe_mod_name_and_fname(mod_name, examples_mod_name) # XXX The path is currently determined out of process by # the plot directive. It would be nice to figure out the # naming scheme to handle multiple plots in a single example. img_path = 'examples/{}_00_00.png'.format( mod_name.split('.')[-1]) thumb_path = 'examples/{}_00_00.thumb.png'.format( mod_name.split('.')[-1]) entry = ["|image_{}|_\n".format(safe_name), ".. |image_{}| image:: {}".format(safe_name, thumb_path), # XXX Hard-codes the html - rst cannot do nested inline # elements (very well). ".. _image_{}: examples/{}.html".format( safe_name, safe_name)] result.extend(['\n\n\t' + line for line in entry]) return '\n'.join(result) def individual_example_rst(example_mod_name, examples_mod_name, output_directory): """ Generates the rst code for the given example and suggests a sensible rst filename. example_mod_name - the name of the importable submodule which contains the individual example which is to be documented examples_mod_name - the name of the importable (sub)module which contains the examples output_directory - is a path to the examples output directory, relative to the source directory. """ mod = get_module(example_mod_name) safe_name, safe_fname = safe_mod_name_and_fname(example_mod_name, examples_mod_name) fname_base = os.path.splitext(safe_fname)[0] + '.py' example_code_fname = os.path.join(output_directory, fname_base) result = ['.. _examples-{}:\n'.format(safe_name)] if mod.__doc__: result.append(mod.__doc__ + '\n') else: result.extend(['{} example'.format(safe_name), '-' * (len(safe_name) + 8) + '\n']) result.extend(['.. plot:: {}\n'.format(example_code_fname), '.. literalinclude:: {}\n'.format(fname_base)]) return '\n'.join(result), safe_fname def gen_gallery(app): """Produces the gallery rst file.""" example_package_name = app.config.examples_package_name fname = app.config.gallery_name if example_package_name is None: raise ValueError('A config value for gallery_package_name should be ' 'defined.') outdir = app.builder.srcdir fname = os.path.join(outdir, fname) gallery_rst = gallery_code(example_package_name) if not same_contents(fname, gallery_rst): with open(fname, 'w') as fh: fh.write(gallery_rst) def gen_examples(app): """Produces the examples directory.""" example_package_name = app.config.examples_package_name source_dir = app.builder.srcdir examples_code(example_package_name, source_dir, 'examples') @cartopy.tests.not_a_nose_fixture def setup(app): app.connect('builder-inited', gen_gallery) app.connect('builder-inited', gen_examples) # Allow users to define a config value to determine the name of the # gallery rst file (with file extension included) app.add_config_value('gallery_name', 'gallery.rst', 'env') # Allow users to define a config value to determine the name of the # importable examples (sub)package app.add_config_value('examples_package_name', None, 'env') Cartopy-0.14.2/lib/cartopy/sphinxext/summarise_package.py0000644001374000021030000001654712700747662023312 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import inspect import itertools import os import sys import warnings import six import cartopy.tests def walk_module(mod_name, exclude_folders=None): """ Recursively walks the given module name. Returns: A generator of:: (fully_qualified_import_name, root_directory_of_subpackage, fname_in_root_directory, sub_folders_in_root_directory) """ __import__(mod_name) mod = sys.modules[mod_name] mod_dir = os.path.dirname(mod.__file__) exclude_folders = exclude_folders or [] for root, folders, files in os.walk(mod_dir): for folder in exclude_folders: try: folders.remove(folder) except ValueError: pass # only allow python packages if '__init__.py' not in files: del folders[:] continue # Sort by filename and folder name. files.sort() folders.sort() def is_py_src(fname): root, ext = os.path.splitext(fname) return ext in ('.py', '.so') files = filter(is_py_src, files) for fname in files: sub_mod_name = mod_name relpath = os.path.relpath(root, mod_dir) if relpath == '.': relpath = '' for sub_mod in [f for f in relpath.split(os.path.sep) if f]: sub_mod_name += '.' + sub_mod if fname != '__init__.py': sub_mod_name += '.' + os.path.splitext(fname)[0] yield sub_mod_name, root, fname, folders def objects_to_document(module_name): """ Creates a generator of (obj_name, obj) that the given module of the given name should document. The module name may be any importable, including submodules (e.g. ``cartopy.io``) """ try: __import__(module_name) except ImportError: warnings.warn('Failed to document {}'.format(module_name)) return [] module = sys.modules[module_name] elems = dir(module) if '__all__' in elems: document_these = [(obj, getattr(module, obj)) for obj in module.__all__] else: document_these = [(obj, getattr(module, obj)) for obj in elems if not inspect.ismodule(getattr(module, obj)) and not obj.startswith('_')] def is_from_this_module(x): return getattr(x[1], '__module__', '') == module_name document_these = filter(is_from_this_module, document_these) document_these = sorted(document_these, key=lambda x: (str(type(x[1])), not x[0].isupper(), x[0])) # allow a developer to add other things to the documentation if hasattr(module, '__document_these__'): extra_objects_to_document = tuple((obj, getattr(module, obj)) for obj in module.__document_these__) document_these = extra_objects_to_document + tuple(document_these) return document_these def main(package_name, exclude_folders=None): """ Return a string containing the rst that documents the given package name. """ result = '' mod_walk = walk_module(package_name, exclude_folders=exclude_folders) for mod, _, fname, folders in mod_walk: for folder in folders: if folder.startswith('_'): folders.remove(folder) if fname.startswith('_') and fname != '__init__.py': continue result += '\n' result += mod + '\n' result += '*' * len(mod) + '\n' result += '\n' result += '.. currentmodule:: {}\n'.format(mod) + '\n' mod_objects = objects_to_document(mod) if mod_objects: result += '.. csv-table::\n' + '\n' table_elements = itertools.cycle(('\n\t', ) + (', ', ) * 3) for table_elem, (obj_name, _) in zip(table_elements, mod_objects): result += '{}:py:obj:`{}`'.format(table_elem, obj_name) result += '\n' return result def gen_summary_rst(app): """ Creates the rst file to summarise the desired packages. """ package_names = app.config.summarise_package_names exclude_dirs = app.config.summarise_package_exclude_directories fnames = app.config.summarise_package_fnames if isinstance(package_names, six.string_types): package_names = [package_names] if package_names is None: raise ValueError('Please define a config value containing a list ' 'of packages to summarise.') if exclude_dirs is None: exclude_dirs = [None] * len(package_names) else: exception = ValueError('Please provide a list of exclude directory ' 'lists (one list for each package to ' 'summarise).') if len(exclude_dirs) != len(package_names): raise exception for exclude_dirs_individual in exclude_dirs: if isinstance(exclude_dirs_individual, six.string_types): raise exception if fnames is None: fnames = ['outline_of_{}.rst'.format(package_name) for package_name in package_names] else: if isinstance(fnames, six.string_types) or \ len(fnames) != len(package_names): raise TypeError('Please provide a list of filenames for each of ' 'the packages which are to be summarised.') outdir = app.builder.srcdir for package_name, out_fname, exclude_folders in zip(package_names, fnames, exclude_dirs): out_fpath = os.path.join(outdir, out_fname) content = main(package_name, exclude_folders=exclude_folders) with open(out_fpath, 'w') as fh: fh.write(content) @cartopy.tests.not_a_nose_fixture def setup(app): """ Defined the Sphinx application interface for the summary generation. """ app.connect('builder-inited', gen_summary_rst) # Allow users to define a config value to determine the names to summarise app.add_config_value('summarise_package_names', None, 'env') # Allow users to define a config value to determine the folders to exclude app.add_config_value('summarise_package_exclude_directories', None, 'env') # Allow users to define a config value to determine name of the output file app.add_config_value('summarise_package_fnames', None, 'env') Cartopy-0.14.2/lib/cartopy/tests/0000755001374000021030000000000012706121712016337 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/crs/0000755001374000021030000000000012706121712017126 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/crs/__init__.py0000644001374000021030000000152312700747662021254 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Tests for specific Cartopy CRS subclasses. """ from __future__ import (absolute_import, division, print_function) Cartopy-0.14.2/lib/cartopy/tests/crs/test_albers_equal_area.py0000644001374000021030000001354612700747662024213 0ustar itpeavd00000000000000# (C) British Crown Copyright 2015 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Tests for the Albers Equal Area coordinate system. """ from __future__ import (absolute_import, division, print_function) import unittest import numpy as np from numpy.testing import assert_almost_equal from nose.tools import assert_equal import cartopy.crs as ccrs class TestAlbersEqualArea(unittest.TestCase): def test_default(self): aea = ccrs.AlbersEqualArea() expected = ('+ellps=WGS84 +proj=aea +lon_0=0.0 +lat_0=0.0 ' '+x_0=0.0 +y_0=0.0 +lat_1=20.0 +lat_2=50.0 +no_defs') assert_equal(aea.proj4_init, expected) assert_almost_equal(np.array(aea.x_limits), [-17702759.799178038, 17702759.799178038], decimal=0) assert_almost_equal(np.array(aea.y_limits), [-4782937.05107294, 15922623.93176938], decimal=4) def test_eccentric_globe(self): globe = ccrs.Globe(semimajor_axis=1000, semiminor_axis=500, ellipse=None) aea = ccrs.AlbersEqualArea(globe=globe) expected = ('+a=1000 +b=500 +proj=aea +lon_0=0.0 +lat_0=0.0 ' '+x_0=0.0 +y_0=0.0 +lat_1=20.0 +lat_2=50.0 +no_defs') assert_equal(aea.proj4_init, expected) assert_almost_equal(np.array(aea.x_limits), [-2323.47073363411, 2323.47073363411], decimal=-2) assert_almost_equal(np.array(aea.y_limits), [-572.556243423972, 2402.36176984391], decimal=10) def test_eastings(self): aea_offset = ccrs.AlbersEqualArea(false_easting=1234, false_northing=-4321) expected = ('+ellps=WGS84 +proj=aea +lon_0=0.0 +lat_0=0.0 ' '+x_0=1234 +y_0=-4321 +lat_1=20.0 +lat_2=50.0 +no_defs') assert_equal(aea_offset.proj4_init, expected) def test_standard_parallels(self): aea = ccrs.AlbersEqualArea(standard_parallels=(13, 37)) expected = ('+ellps=WGS84 +proj=aea +lon_0=0.0 +lat_0=0.0 ' '+x_0=0.0 +y_0=0.0 +lat_1=13 +lat_2=37 +no_defs') assert_equal(aea.proj4_init, expected) aea = ccrs.AlbersEqualArea(standard_parallels=(13, )) expected = ('+ellps=WGS84 +proj=aea +lon_0=0.0 +lat_0=0.0 ' '+x_0=0.0 +y_0=0.0 +lat_1=13 +no_defs') assert_equal(aea.proj4_init, expected) aea = ccrs.AlbersEqualArea(standard_parallels=13) expected = ('+ellps=WGS84 +proj=aea +lon_0=0.0 +lat_0=0.0 ' '+x_0=0.0 +y_0=0.0 +lat_1=13 +no_defs') assert_equal(aea.proj4_init, expected) def test_sphere_transform(self): # USGS Professional Paper 1395, pg 291 globe = ccrs.Globe(semimajor_axis=1.0, semiminor_axis=1.0, ellipse=None) lat_1 = 29 + 30 / 60 lat_2 = 45 + 30 / 60 aea = ccrs.AlbersEqualArea(central_latitude=23.0, central_longitude=-96.0, standard_parallels=(lat_1, lat_2), globe=globe) geodetic = aea.as_geodetic() expected = ('+a=1.0 +b=1.0 +proj=aea +lon_0=-96.0 +lat_0=23.0 ' '+x_0=0.0 +y_0=0.0 +lat_1=29.5 +lat_2=45.5 +no_defs') assert_equal(aea.proj4_init, expected) assert_almost_equal(np.array(aea.x_limits), [-2.6525072042232, 2.6525072042232], decimal=3) assert_almost_equal(np.array(aea.y_limits), [-1.09628087472359, 2.39834724057551], decimal=10) result = aea.transform_point(-75.0, 35.0, geodetic) assert_almost_equal(result, [0.2952720, 0.2416774]) def test_ellipsoid_transform(self): # USGS Professional Paper 1395, pp 292 -- 293 globe = ccrs.Globe(semimajor_axis=6378206.4, flattening=1 - np.sqrt(1 - 0.00676866), ellipse=None) lat_1 = 29 + 30 / 60 lat_2 = 45 + 30 / 60 aea = ccrs.AlbersEqualArea(central_latitude=23.0, central_longitude=-96.0, standard_parallels=(lat_1, lat_2), globe=globe) geodetic = aea.as_geodetic() expected = ('+a=6378206.4 +f=0.003390076308689371 +proj=aea ' '+lon_0=-96.0 +lat_0=23.0 +x_0=0.0 +y_0=0.0 ' '+lat_1=29.5 +lat_2=45.5 +no_defs') assert_equal(aea.proj4_init, expected) assert_almost_equal(np.array(aea.x_limits), [-16900972.674607, 16900972.674607], decimal=-3) assert_almost_equal(np.array(aea.y_limits), [-6971893.11311231, 15298166.8919989], decimal=1) result = aea.transform_point(-75.0, 35.0, geodetic) assert_almost_equal(result, [1885472.7, 1535925.0], decimal=1) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_azimuthal_equidistant.py0000644001374000021030000002740212700747662025170 0ustar itpeavd00000000000000# (C) British Crown Copyright 2015 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import numpy as np from numpy.testing import assert_almost_equal, assert_array_almost_equal from nose.tools import assert_equal import cartopy.crs as ccrs class TestAzimuthalEquidistant(unittest.TestCase): def test_default(self): aeqd = ccrs.AzimuthalEquidistant() expected = ('+ellps=WGS84 +proj=aeqd +lon_0=0.0 ' '+lat_0=0.0 +x_0=0.0 +y_0=0.0 +no_defs') assert_equal(aeqd.proj4_init, expected) assert_almost_equal(np.array(aeqd.x_limits), [-20037508.34278924, 20037508.34278924], decimal=6) assert_almost_equal(np.array(aeqd.y_limits), [-20037508.34278924, 20037508.34278924], decimal=6) def test_eccentric_globe(self): globe = ccrs.Globe(semimajor_axis=1000, semiminor_axis=500, ellipse=None) aeqd = ccrs.AzimuthalEquidistant(globe=globe) expected = ('+a=1000 +b=500 +proj=aeqd +lon_0=0.0 +lat_0=0.0 ' '+x_0=0.0 +y_0=0.0 +no_defs') assert_equal(aeqd.proj4_init, expected) assert_almost_equal(np.array(aeqd.x_limits), [-3141.59265359, 3141.59265359], decimal=6) assert_almost_equal(np.array(aeqd.y_limits), [-1570.796326795, 1570.796326795], decimal=6) def test_eastings(self): aeqd_offset = ccrs.AzimuthalEquidistant(false_easting=1234, false_northing=-4321) expected = ('+ellps=WGS84 +proj=aeqd +lon_0=0.0 +lat_0=0.0 ' '+x_0=1234 +y_0=-4321 +no_defs') assert_equal(aeqd_offset.proj4_init, expected) assert_almost_equal(np.array(aeqd_offset.x_limits), [-20036274.34278924, 20038742.34278924], decimal=6) assert_almost_equal(np.array(aeqd_offset.y_limits), [-20041829.34278924, 20033187.34278924], decimal=6) def test_grid(self): # USGS Professional Paper 1395, pp 196--197, Table 30 globe = ccrs.Globe(ellipse=None, semimajor_axis=1.0, semiminor_axis=1.0) aeqd = ccrs.AzimuthalEquidistant(central_latitude=0.0, central_longitude=0.0, globe=globe) geodetic = aeqd.as_geodetic() expected = ('+a=1.0 +b=1.0 +proj=aeqd +lon_0=0.0 +lat_0=0.0 ' '+x_0=0.0 +y_0=0.0 +no_defs') assert_equal(aeqd.proj4_init, expected) assert_almost_equal(np.array(aeqd.x_limits), [-3.14159265, 3.14159265], decimal=6) assert_almost_equal(np.array(aeqd.y_limits), [-3.14159265, 3.14159265], decimal=6) lats, lons = np.mgrid[0:100:10, 0:100:10] result = aeqd.transform_points(geodetic, lons.ravel(), lats.ravel()) expected_x = np.array([ [0.00000, 0.17453, 0.34907, 0.52360, 0.69813, 0.87266, 1.04720, 1.22173, 1.39626, 1.57080], [0.00000, 0.17275, 0.34546, 0.51807, 0.69054, 0.86278, 1.03472, 1.20620, 1.37704, 1.54693], [0.00000, 0.16736, 0.33454, 0.50137, 0.66762, 0.83301, 0.99719, 1.15965, 1.31964, 1.47607], [0.00000, 0.15822, 0.31607, 0.47314, 0.62896, 0.78296, 0.93436, 1.08215, 1.22487, 1.36035], [0.00000, 0.14511, 0.28959, 0.43276, 0.57386, 0.71195, 0.84583, 0.97392, 1.09409, 1.20330], [0.00000, 0.12765, 0.25441, 0.37931, 0.50127, 0.61904, 0.73106, 0.83535, 0.92935, 1.00969], [0.00000, 0.10534, 0.20955, 0.31145, 0.40976, 0.50301, 0.58948, 0.66711, 0.73343, 0.78540], [0.00000, 0.07741, 0.15362, 0.22740, 0.29744, 0.36234, 0.42056, 0.47039, 0.50997, 0.53724], [0.00000, 0.04281, 0.08469, 0.12469, 0.16188, 0.19529, 0.22399, 0.24706, 0.26358, 0.27277], [0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000], ]).ravel() assert_almost_equal(result[:, 0], expected_x, decimal=5) expected_y = np.array([ [0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000], [0.17453, 0.17541, 0.17810, 0.18270, 0.18943, 0.19859, 0.21067, 0.22634, 0.24656, 0.27277], [0.34907, 0.35079, 0.35601, 0.36497, 0.37803, 0.39579, 0.41910, 0.44916, 0.48772, 0.53724], [0.52360, 0.52606, 0.53355, 0.54634, 0.56493, 0.59010, 0.62291, 0.66488, 0.71809, 0.78540], [0.69813, 0.70119, 0.71046, 0.72626, 0.74912, 0.77984, 0.81953, 0.86967, 0.93221, 1.00969], [0.87266, 0.87609, 0.88647, 0.90408, 0.92938, 0.96306, 1.00602, 1.05942, 1.12464, 1.20330], [1.04720, 1.05068, 1.06119, 1.07891, 1.10415, 1.13733, 1.17896, 1.22963, 1.28993, 1.36035], [1.22173, 1.22481, 1.23407, 1.24956, 1.27137, 1.29957, 1.33423, 1.37533, 1.42273, 1.47607], [1.39626, 1.39829, 1.40434, 1.41435, 1.42823, 1.44581, 1.46686, 1.49104, 1.51792, 1.54693], [1.57080, 1.57080, 1.57080, 1.57080, 1.57080, 1.57080, 1.57080, 1.57080, 1.57080, 1.57080], ]).ravel() assert_almost_equal(result[:, 1], expected_y, decimal=5) def test_sphere_transform(self): # USGS Professional Paper 1395, pg 337 globe = ccrs.Globe(ellipse=None, semimajor_axis=3.0, semiminor_axis=3.0) aeqd = ccrs.AzimuthalEquidistant(central_latitude=40.0, central_longitude=-100.0, globe=globe) geodetic = aeqd.as_geodetic() expected = ('+a=3.0 +b=3.0 +proj=aeqd +lon_0=-100.0 +lat_0=40.0 ' '+x_0=0.0 +y_0=0.0 +no_defs') assert_equal(aeqd.proj4_init, expected) assert_almost_equal(np.array(aeqd.x_limits), [-9.42477796, 9.42477796], decimal=6) assert_almost_equal(np.array(aeqd.y_limits), [-9.42477796, 9.42477796], decimal=6) result = aeqd.transform_point(100.0, -20.0, geodetic) assert_array_almost_equal(result, [-5.8311398, 5.5444634]) def test_ellipsoid_polar_transform(self): # USGS Professional Paper 1395, pp 338--339 globe = ccrs.Globe(ellipse=None, semimajor_axis=6378388.0, flattening=1 - np.sqrt(1 - 0.00672267)) aeqd = ccrs.AzimuthalEquidistant(central_latitude=90.0, central_longitude=-100.0, globe=globe) geodetic = aeqd.as_geodetic() expected = ('+a=6378388.0 +f=0.003367003355798981 +proj=aeqd ' '+lon_0=-100.0 +lat_0=90.0 +x_0=0.0 +y_0=0.0 +no_defs') assert_equal(aeqd.proj4_init, expected) assert_almost_equal(np.array(aeqd.x_limits), [-20038296.88254529, 20038296.88254529], decimal=6) assert_almost_equal(np.array(aeqd.y_limits), # TODO: This is wrong. Globe.semiminor_axis does # not account for flattening. # [-19970827.86969727, 19970827.86969727] [-20038296.88254529, 20038296.88254529], decimal=6) result = aeqd.transform_point(5.0, 80.0, geodetic) assert_array_almost_equal(result, [1078828.3, 289071.2], decimal=1) def test_ellipsoid_guam_transform(self): # USGS Professional Paper 1395, pp 339--340 globe = ccrs.Globe(ellipse=None, semimajor_axis=6378206.4, flattening=1 - np.sqrt(1 - 0.00676866)) lat_0 = 13 + (28 + 20.87887 / 60) / 60 lon_0 = 144 + (44 + 55.50254 / 60) / 60 aeqd = ccrs.AzimuthalEquidistant(central_latitude=lat_0, central_longitude=lon_0, false_easting=50000.0, false_northing=50000.0, globe=globe) geodetic = aeqd.as_geodetic() expected = ('+a=6378206.4 +f=0.003390076308689371 +proj=aeqd ' '+lon_0=144.7487507055556 +lat_0=13.47246635277778 ' '+x_0=50000.0 +y_0=50000.0 +no_defs') assert_equal(aeqd.proj4_init, expected) assert_almost_equal(np.array(aeqd.x_limits), [-19987726.36931940, 20087726.36931940], decimal=6) assert_almost_equal(np.array(aeqd.y_limits), # TODO: This is wrong. Globe.semiminor_axis does # not account for flattening. # [-19919796.94787477, 20019796.94787477] [-19987726.36931940, 20087726.36931940], decimal=6) pt_lat = 13 + (20 + 20.53846 / 60) / 60 pt_lon = 144 + (38 + 7.19265 / 60) / 60 result = aeqd.transform_point(pt_lon, pt_lat, geodetic) # The paper uses an approximation, so we cannot match it exactly, # hence, decimal=1, not 2. assert_array_almost_equal(result, [37712.48, 35242.00], decimal=1) def test_ellipsoid_micronesia_transform(self): # USGS Professional Paper 1395, pp 340--341 globe = ccrs.Globe(ellipse=None, semimajor_axis=6378206.4, flattening=1 - np.sqrt(1 - 0.00676866)) lat_0 = 15 + (11 + 5.6830 / 60) / 60 lon_0 = 145 + (44 + 29.9720 / 60) / 60 aeqd = ccrs.AzimuthalEquidistant(central_latitude=lat_0, central_longitude=lon_0, false_easting=28657.52, false_northing=67199.99, globe=globe) geodetic = aeqd.as_geodetic() expected = ('+a=6378206.4 +f=0.003390076308689371 +proj=aeqd ' '+lon_0=145.7416588888889 +lat_0=15.18491194444444 ' '+x_0=28657.52 +y_0=67199.99000000001 +no_defs') assert_equal(aeqd.proj4_init, expected) assert_almost_equal(np.array(aeqd.x_limits), [-20009068.84931940, 20066383.88931940], decimal=6) assert_almost_equal(np.array(aeqd.y_limits), # TODO: This is wrong. Globe.semiminor_axis does # not account for flattening. # [-19902596.95787477, 20036996.93787477] [-19970526.37931940, 20104926.35931940], decimal=6) pt_lat = 15 + (14 + 47.4930 / 60) / 60 pt_lon = 145 + (47 + 34.9080 / 60) / 60 result = aeqd.transform_point(pt_lon, pt_lat, geodetic) assert_array_almost_equal(result, [34176.20, 74017.88], decimal=2) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_geostationary.py0000644001374000021030000000563612700747662023455 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Tests for the Geostationary projection. """ from __future__ import (absolute_import, division, print_function) import unittest from numpy.testing import assert_almost_equal from nose.tools import assert_equal import cartopy.crs as ccrs class TestGeostationary(unittest.TestCase): def check_proj4_params(self, crs, expected): pro4_params = sorted(crs.proj4_init.split(' +')) assert_equal(expected, pro4_params) def test_default(self): geos = ccrs.Geostationary() expected = ['+ellps=WGS84', 'h=35785831', 'lat_0=0', 'lon_0=0.0', 'no_defs', 'proj=geos', 'units=m', 'x_0=0', 'y_0=0'] self.check_proj4_params(geos, expected) assert_almost_equal(geos.boundary.bounds, (-5372584.78443894, -5372584.78443894, 5372584.78443894, 5372584.78443894), decimal=4) def test_eccentric_globe(self): globe = ccrs.Globe(semimajor_axis=10000, semiminor_axis=5000, ellipse=None) geos = ccrs.Geostationary(satellite_height=50000, globe=globe) expected = ['+a=10000', 'b=5000', 'h=50000', 'lat_0=0', 'lon_0=0.0', 'no_defs', 'proj=geos', 'units=m', 'x_0=0', 'y_0=0'] self.check_proj4_params(geos, expected) assert_almost_equal(geos.boundary.bounds, (-8257.4338, -4532.9943, 8257.4338, 4532.9943), decimal=4) def test_eastings(self): geos = ccrs.Geostationary(false_easting=5000000, false_northing=-125000,) expected = ['+ellps=WGS84', 'h=35785831', 'lat_0=0', 'lon_0=0.0', 'no_defs', 'proj=geos', 'units=m', 'x_0=5000000', 'y_0=-125000'] self.check_proj4_params(geos, expected) assert_almost_equal(geos.boundary.bounds, (-372584.78443894, -5497584.78443894, 10372584.78443894, 5247584.78443894), decimal=4) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_lambert_azimuthal_equal_area.py0000644001374000021030000000547112700747662026445 0ustar itpeavd00000000000000# (C) British Crown Copyright 2015 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import numpy as np from numpy.testing import assert_almost_equal from nose.tools import assert_equal import cartopy.crs as ccrs class TestLambertAzimuthalEqualArea(unittest.TestCase): def test_default(self): crs = ccrs.LambertAzimuthalEqualArea() expected = ('+ellps=WGS84 +proj=laea +lon_0=0.0 ' '+lat_0=0.0 +x_0=0.0 +y_0=0.0 +no_defs') assert_equal(crs.proj4_init, expected) assert_almost_equal(np.array(crs.x_limits), [-12755636.1863, 12755636.1863], decimal=4) assert_almost_equal(np.array(crs.y_limits), [-12727770.598700099, 12727770.598700099], decimal=4) def test_eccentric_globe(self): globe = ccrs.Globe(semimajor_axis=1000, semiminor_axis=500, ellipse=None) crs = ccrs.LambertAzimuthalEqualArea(globe=globe) expected = ('+a=1000 +b=500 +proj=laea +lon_0=0.0 +lat_0=0.0 ' '+x_0=0.0 +y_0=0.0 +no_defs') assert_equal(crs.proj4_init, expected) assert_almost_equal(np.array(crs.x_limits), [-1999.9, 1999.9], decimal=1) assert_almost_equal(np.array(crs.y_limits), [-1380.17298647, 1380.17298647], decimal=4) def test_offset(self): crs = ccrs.LambertAzimuthalEqualArea() crs_offset = ccrs.LambertAzimuthalEqualArea(false_easting=1234, false_northing=-4321) expected = ('+ellps=WGS84 +proj=laea +lon_0=0.0 +lat_0=0.0 ' '+x_0=1234 +y_0=-4321 +no_defs') assert_equal(crs_offset.proj4_init, expected) assert_equal(tuple(np.array(crs.x_limits) + 1234), crs_offset.x_limits) assert_equal(tuple(np.array(crs.y_limits) - 4321), crs_offset.y_limits) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_lambert_conformal.py0000644001374000021030000001031412700747662024240 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) from numpy.testing import assert_array_almost_equal from nose.tools import assert_equal, assert_not_equal, assert_true import unittest import cartopy.crs as ccrs def test_defaults(): crs = ccrs.LambertConformal() assert_equal(crs.proj4_init, ('+ellps=WGS84 +proj=lcc +lon_0=-96.0 ' '+lat_0=39.0 +x_0=0.0 +y_0=0.0 +lat_1=33 ' '+lat_2=45 +no_defs')) def test_default_with_cutoff(): crs = ccrs.LambertConformal(cutoff=-80) crs2 = ccrs.LambertConformal(cutoff=-80) default = ccrs.LambertConformal() assert_equal(crs.proj4_init, ('+ellps=WGS84 +proj=lcc +lon_0=-96.0 ' '+lat_0=39.0 +x_0=0.0 +y_0=0.0 +lat_1=33 ' '+lat_2=45 +no_defs')) # Check the behaviour of !=, == and (not ==) for the different cutoffs. assert_equal(crs, crs2) assert_true(crs != default) assert_not_equal(crs, default) assert_not_equal(hash(crs), hash(default)) assert_equal(hash(crs), hash(crs2)) assert_array_almost_equal(crs.y_limits, (-49788019.81831982, 30793476.08487709)) def test_specific_lambert(): # This projection comes from EPSG Projection 3034 - ETRS89 / ETRS-LCC. crs = ccrs.LambertConformal(central_longitude=10, standard_parallels=(35, 65), central_latitude=52, false_easting=4000000, false_northing=2800000, globe=ccrs.Globe(ellipse='GRS80')) assert_equal(crs.proj4_init, ('+ellps=GRS80 +proj=lcc +lon_0=10 ' '+lat_0=52 +x_0=4000000 +y_0=2800000 ' '+lat_1=35 +lat_2=65 +no_defs')) class Test_LambertConformal_standard_parallels(unittest.TestCase): def test_single_value(self): crs = ccrs.LambertConformal(standard_parallels=[1.]) assert_equal(crs.proj4_init, ('+ellps=WGS84 +proj=lcc +lon_0=-96.0 ' '+lat_0=39.0 +x_0=0.0 +y_0=0.0 ' '+lat_1=1.0 +no_defs')) def test_no_parallel(self): with self.assertRaisesRegexp(ValueError, '1 or 2 standard parallels'): ccrs.LambertConformal(standard_parallels=[]) def test_too_many_parallel(self): with self.assertRaisesRegexp(ValueError, '1 or 2 standard parallels'): ccrs.LambertConformal(standard_parallels=[1, 2, 3]) def test_single_spole(self): s_pole_crs = ccrs.LambertConformal(standard_parallels=[-1.]) assert_array_almost_equal(s_pole_crs.x_limits, (-19840440, 19840440.), decimal=0) assert_array_almost_equal(s_pole_crs.y_limits, (-370239953, -8191953), decimal=0) def test_single_npole(self): n_pole_crs = ccrs.LambertConformal(standard_parallels=[1.]) assert_array_almost_equal(n_pole_crs.x_limits, (-20222156, 20222156), decimal=0) assert_array_almost_equal(n_pole_crs.y_limits, (-8164817, 360848720), decimal=0) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_mercator.py0000644001374000021030000000521212700747662022367 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest from numpy.testing import assert_almost_equal from nose.tools import assert_equal, assert_true, assert_not_equal import cartopy.crs as ccrs def test_default(): crs = ccrs.Mercator() assert_equal(crs.proj4_init, ('+ellps=WGS84 +proj=merc +lon_0=0.0 +k=1 ' '+units=m +no_defs')) assert_almost_equal(crs.boundary.bounds, [-20037508, -15496571, 20037508, 18764656], decimal=0) def test_eccentric_globe(): globe = ccrs.Globe(semimajor_axis=10000, semiminor_axis=5000, ellipse=None) crs = ccrs.Mercator(globe=globe, min_latitude=-40, max_latitude=40) assert_equal(crs.proj4_init, ('+a=10000 +b=5000 +proj=merc +lon_0=0.0 ' '+k=1 +units=m +no_defs')) assert_almost_equal(crs.boundary.bounds, [-31415.93, -2190.5, 31415.93, 2190.5], decimal=2) assert_almost_equal(crs.x_limits, [-31415.93, 31415.93], decimal=2) assert_almost_equal(crs.y_limits, [-2190.5, 2190.5], decimal=2) def test_equality(): default = ccrs.Mercator() crs = ccrs.Mercator(min_latitude=0) crs2 = ccrs.Mercator(min_latitude=0) # Check the == and != operators. assert_equal(crs, crs2) assert_not_equal(crs, default) assert_true(crs != default) assert_not_equal(hash(crs), hash(default)) assert_equal(hash(crs), hash(crs2)) def test_central_longitude(): cl = 10.0 crs = ccrs.Mercator(central_longitude=cl) proj4_str = ('+ellps=WGS84 +proj=merc +lon_0={} +k=1 ' '+units=m +no_defs'.format(cl)) assert_equal(crs.proj4_init, proj4_str) assert_almost_equal(crs.boundary.bounds, [-20037508, -15496570, 20037508, 18764656], decimal=0) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_robinson.py0000644001374000021030000000751112705644356022411 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . ''' Tests for Robinson projection. For now, mostly tests the workaround for a specific problem. Problem report in : https://github.com/SciTools/cartopy/issues/23 Fix covered in : https://github.com/SciTools/cartopy/pull/277 ''' from __future__ import (absolute_import, division, print_function) import sys import unittest from nose.tools import assert_true, assert_false, assert_equal import numpy as np from numpy.testing import assert_array_almost_equal as assert_arr_almost_eq import cartopy.crs as ccrs _NAN = float('nan') _CRS_PC = ccrs.PlateCarree() _CRS_ROB = ccrs.Robinson() # Increase tolerance if using older proj.4 releases _TOL = -1 if ccrs.PROJ4_VERSION < (4, 9) else 7 def test_transform_point(): # this way has always worked result = _CRS_ROB.transform_point(35.0, 70.0, _CRS_PC) assert_arr_almost_eq(result, (2376187.27182751, 7275317.81573085), _TOL) # this always did something, but result has altered result = _CRS_ROB.transform_point(_NAN, 70.0, _CRS_PC) assert_true(np.all(np.isnan(result))) # this used to crash + is now fixed result = _CRS_ROB.transform_point(35.0, _NAN, _CRS_PC) assert_true(np.all(np.isnan(result))) def test_transform_points(): # these always worked result = _CRS_ROB.transform_points(_CRS_PC, np.array([35.0]), np.array([70.0])) assert_arr_almost_eq(result, [[2376187.27182751, 7275317.81573085, 0]], _TOL) result = _CRS_ROB.transform_points(_CRS_PC, np.array([35.0]), np.array([70.0]), np.array([0.0])) assert_arr_almost_eq(result, [[2376187.27182751, 7275317.81573085, 0]], _TOL) # this always did something, but result has altered result = _CRS_ROB.transform_points(_CRS_PC, np.array([_NAN]), np.array([70.0])) assert_true(np.all(np.isnan(result))) # this used to crash + is now fixed result = _CRS_ROB.transform_points(_CRS_PC, np.array([35.0]), np.array([_NAN])) assert_true(np.all(np.isnan(result))) # multipoint case x = np.array([10.0, 21.0, 0.0, 77.7, _NAN, 0.0]) y = np.array([10.0, _NAN, 10.0, 77.7, 55.5, 0.0]) z = np.array([10.0, 0.0, 0.0, _NAN, 55.5, 0.0]) expect_result = np.array( [[9.40422591e+05, 1.06952091e+06, 1.00000000e+01], [11.1, 11.2, 11.3], [0.0, 1069520.91213902, 0.0], [22.1, 22.2, 22.3], [33.1, 33.2, 33.3], [0.0, 0.0, 0.0]]) result = _CRS_ROB.transform_points(_CRS_PC, x, y, z) assert_equal(result.shape, (6, 3)) assert_true(np.all(np.isnan(result[[1, 3, 4], :]))) result[[1, 3, 4], :] = expect_result[[1, 3, 4], :] assert_false(np.any(np.isnan(result))) assert_true(np.allclose(result, expect_result)) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_rotated_geodetic.py0000644001374000021030000000312512700747662024061 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Tests for the Transverse Mercator projection, including OSGB and OSNI. """ from __future__ import (absolute_import, division, print_function) import unittest from numpy.testing import assert_almost_equal from nose.tools import assert_equal import cartopy.crs as ccrs class TestRotatedPole(unittest.TestCase): def check_proj4_params(self, crs, expected): pro4_params = sorted(crs.proj4_init.split(' +')) assert_equal(expected, pro4_params) def test_default(self): geos = ccrs.RotatedPole(60, 50, 80) expected = ['+ellps=WGS84', 'lon_0=240', 'no_defs', 'o_lat_p=50', 'o_lon_p=80', 'o_proj=latlon', 'proj=ob_tran', 'to_meter=0.0174532925199433'] self.check_proj4_params(geos, expected) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_rotated_pole.py0000644001374000021030000000312712700747662023237 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Tests for the Rotated Geodetic coordinate system. """ from __future__ import (absolute_import, division, print_function) import unittest from numpy.testing import assert_almost_equal from nose.tools import assert_equal import cartopy.crs as ccrs class TestRotatedGeodetic(unittest.TestCase): def check_proj4_params(self, crs, expected): pro4_params = sorted(crs.proj4_init.split(' +')) assert_equal(expected, pro4_params) def test_default(self): geos = ccrs.RotatedGeodetic(30, 15, 27) expected = ['+datum=WGS84', 'ellps=WGS84', 'lon_0=210', 'no_defs', 'o_lat_p=15', 'o_lon_p=27', 'o_proj=latlon', 'proj=ob_tran', 'to_meter=0.0174532925199433'] self.check_proj4_params(geos, expected) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_sinusoidal.py0000644001374000021030000000673212700747662022735 0ustar itpeavd00000000000000# (C) British Crown Copyright 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import numpy as np from numpy.testing import assert_almost_equal from nose.tools import assert_equal import cartopy.crs as ccrs class TestSinusoidal(unittest.TestCase): def test_default(self): crs = ccrs.Sinusoidal() expected = ('+ellps=WGS84 +proj=sinu +lon_0=0.0 ' '+x_0=0.0 +y_0=0.0 +no_defs') assert_equal(crs.proj4_init, expected) assert_almost_equal(np.array(crs.x_limits), [-20037508.3428, 20037508.3428], decimal=4) assert_almost_equal(np.array(crs.y_limits), [-10001965.7293, 10001965.7293], decimal=4) def test_eccentric_globe(self): globe = ccrs.Globe(semimajor_axis=1000, semiminor_axis=500, ellipse=None) crs = ccrs.Sinusoidal(globe=globe) expected = ('+a=1000 +b=500 +proj=sinu +lon_0=0.0 +x_0=0.0 ' '+y_0=0.0 +no_defs') assert_equal(crs.proj4_init, expected) assert_almost_equal(np.array(crs.x_limits), [-3141.59, 3141.59], decimal=2) assert_almost_equal(np.array(crs.y_limits), [-1216.60, 1216.60], decimal=2) def test_offset(self): crs = ccrs.Sinusoidal() crs_offset = ccrs.Sinusoidal(false_easting=1234, false_northing=-4321) expected = ('+ellps=WGS84 +proj=sinu +lon_0=0.0 +x_0=1234 ' '+y_0=-4321 +no_defs') assert_equal(crs_offset.proj4_init, expected) assert_equal(tuple(np.array(crs.x_limits) + 1234), crs_offset.x_limits) assert_equal(tuple(np.array(crs.y_limits) - 4321), crs_offset.y_limits) def test_MODIS(self): # Testpoints verified with MODLAND Tile Calculator # http://landweb.nascom.nasa.gov/cgi-bin/developer/tilemap.cgi # Settings: Sinusoidal, Global map coordinates, Forward mapping crs = ccrs.Sinusoidal.MODIS lons = np.array([-180, -50, 40, 180]) lats = np.array([-89.999, 30, 20, 89.999]) expected_x = np.array([-349.33, -4814886.99, 4179566.79, 349.33]) expected_y = np.array([-10007443.48, 3335851.56, 2223901.04, 10007443.48]) assert_almost_equal(crs.transform_points(crs.as_geodetic(), lons, lats), np.c_[expected_x, expected_y, [0, 0, 0, 0]], decimal=2) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_stereographic.py0000644001374000021030000000633012700747662023414 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import numpy as np from numpy.testing import assert_almost_equal from nose.tools import assert_equal import cartopy.crs as ccrs class TestStereographic(unittest.TestCase): def test_default(self): stereo = ccrs.Stereographic() expected = ('+ellps=WGS84 +proj=stere +lat_0=0.0 ' '+lon_0=0.0 +x_0=0.0 +y_0=0.0 +no_defs') assert_equal(stereo.proj4_init, expected) assert_almost_equal(np.array(stereo.x_limits), [-5e7, 5e7], decimal=4) assert_almost_equal(np.array(stereo.y_limits), [-5e7, 5e7], decimal=4) def test_eccentric_globe(self): globe = ccrs.Globe(semimajor_axis=1000, semiminor_axis=500, ellipse=None) stereo = ccrs.Stereographic(globe=globe) expected = ('+a=1000 +b=500 +proj=stere +lat_0=0.0 +lon_0=0.0 ' '+x_0=0.0 +y_0=0.0 +no_defs') assert_equal(stereo.proj4_init, expected) # The limits in this test are sensible values, but are by no means # a "correct" answer - they mean that plotting the crs results in a # reasonable map. assert_almost_equal(np.array(stereo.x_limits), [-7839.27971444, 7839.27971444], decimal=4) assert_almost_equal(np.array(stereo.y_limits), [-3932.82587779, 3932.82587779], decimal=4) def test_true_scale(self): # The "true_scale_latitude" parameter to Stereographic appears # meaningless. This test just ensures that the correct proj4 # string is being created. (#339) stereo = ccrs.Stereographic(true_scale_latitude=10) expected = ('+ellps=WGS84 +proj=stere +lat_0=0.0 +lon_0=0.0 ' '+x_0=0.0 +y_0=0.0 +lat_ts=10 +no_defs') assert_equal(stereo.proj4_init, expected) def test_eastings(self): stereo = ccrs.Stereographic() stereo_offset = ccrs.Stereographic(false_easting=1234, false_northing=-4321) expected = ('+ellps=WGS84 +proj=stere +lat_0=0.0 +lon_0=0.0 ' '+x_0=1234 +y_0=-4321 +no_defs') assert_equal(stereo_offset.proj4_init, expected) assert_equal(tuple(np.array(stereo.x_limits) + 1234), stereo_offset.x_limits) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/crs/test_transverse_mercator.py0000644001374000021030000001113012700747662024637 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Tests for the Transverse Mercator projection, including OSGB and OSNI. """ from __future__ import (absolute_import, division, print_function) import unittest import numpy as np import numpy.testing import cartopy.crs as ccrs class TestTransverseMercator(unittest.TestCase): def setUp(self): self.point_a = (-3.474083, 50.727301) self.point_b = (0.5, 50.5) self.src_crs = ccrs.PlateCarree() def test_default(self): proj = ccrs.TransverseMercator() res = proj.transform_point(*self.point_a, src_crs=self.src_crs) np.testing.assert_array_almost_equal(res, (-245269.53180633, 5627508.74354959)) res = proj.transform_point(*self.point_b, src_crs=self.src_crs) np.testing.assert_array_almost_equal(res, (35474.63566645, 5596583.41949901)) def test_osgb_vals(self): proj = ccrs.TransverseMercator(central_longitude=-2, central_latitude=49, scale_factor=0.9996012717, false_easting=400000, false_northing=-100000, globe=ccrs.Globe(datum='OSGB36', ellipse='airy')) res = proj.transform_point(*self.point_a, src_crs=self.src_crs) np.testing.assert_array_almost_equal(res, (295971.28667707, 93064.27666368)) res = proj.transform_point(*self.point_b, src_crs=self.src_crs) np.testing.assert_array_almost_equal(res, (577274.98380140, 69740.49227181)) def test_nan(self): proj = ccrs.TransverseMercator() res = proj.transform_point(0.0, float('nan'), src_crs=self.src_crs) self.assertTrue(np.all(np.isnan(res))) res = proj.transform_point(float('nan'), 0.0, src_crs=self.src_crs) self.assertTrue(np.all(np.isnan(res))) class TestOSGB(unittest.TestCase): def setUp(self): self.point_a = (-3.474083, 50.727301) self.point_b = (0.5, 50.5) self.src_crs = ccrs.PlateCarree() self.nan = float('nan') def test_default(self): proj = ccrs.OSGB() res = proj.transform_point(*self.point_a, src_crs=self.src_crs) np.testing.assert_array_almost_equal(res, (295971.28667707, 93064.27666368)) res = proj.transform_point(*self.point_b, src_crs=self.src_crs) np.testing.assert_array_almost_equal(res, (577274.98380140, 69740.49227181)) def test_nan(self): proj = ccrs.OSGB() res = proj.transform_point(0.0, float('nan'), src_crs=self.src_crs) self.assertTrue(np.all(np.isnan(res))) res = proj.transform_point(float('nan'), 0.0, src_crs=self.src_crs) self.assertTrue(np.all(np.isnan(res))) class TestOSNI(unittest.TestCase): def setUp(self): self.point_a = (-6.826286, 54.725116) self.src_crs = ccrs.PlateCarree() self.nan = float('nan') def test_default(self): proj = ccrs.OSNI() res = proj.transform_point(*self.point_a, src_crs=self.src_crs) np.testing.assert_array_almost_equal(res, (275614.87105610, 386984.15347340)) def test_nan(self): proj = ccrs.OSNI() res = proj.transform_point(0.0, float('nan'), src_crs=self.src_crs) self.assertTrue(np.all(np.isnan(res))) res = proj.transform_point(float('nan'), 0.0, src_crs=self.src_crs) self.assertTrue(np.all(np.isnan(res))) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/io/0000755001374000021030000000000012706121712016746 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/io/__init__.py0000644001374000021030000000143712700747662021100 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) Cartopy-0.14.2/lib/cartopy/tests/io/test_downloaders.py0000644001374000021030000001753112700747662022723 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import contextlib import os import shutil import tempfile import warnings from nose.tools import assert_equal, assert_raises import cartopy import cartopy.io as cio from cartopy.io.shapereader import NEShpDownloader from cartopy.tests.mpl.test_caching import CallCounter def test_Downloader_data(): di = cio.Downloader('https://testing.com/{category}/{name}.zip', os.path.join('{data_dir}', '{category}', 'shape.shp'), '/project/foobar/{category}/sample.shp') replacement_dict = {'category': 'example', 'name': 'test', 'data_dir': os.path.join('/wibble', 'foo', 'bar')} assert_equal(di.url(replacement_dict), 'https://testing.com/example/test.zip') assert_equal(di.target_path(replacement_dict), os.path.join('/wibble', 'foo', 'bar', 'example', 'shape.shp') ) assert_equal(di.pre_downloaded_path(replacement_dict), '/project/foobar/example/sample.shp' ) @contextlib.contextmanager def config_replace(replacement_dict): """ Provides a context manager to replace the ``cartopy.config['downloaders']`` dict with the given dictionary. Great for testing purposes! """ downloads_orig = cartopy.config['downloaders'] cartopy.config['downloaders'] = replacement_dict yield cartopy.config['downloaders'] = downloads_orig @contextlib.contextmanager def download_to_temp(): """ Context manager which defaults the "data_dir" to a temporary directory which is automatically cleaned up on exit. """ old_downloads_dict = cartopy.config['downloaders'].copy() old_dir = cartopy.config['data_dir'] tmp_dir = tempfile.mkdtemp(suffix='_cartopy_data') cartopy.config['data_dir'] = tmp_dir try: yield tmp_dir cartopy.config['downloaders'] = old_downloads_dict cartopy.config['data_dir'] = old_dir finally: shutil.rmtree(tmp_dir) def test_from_config(): generic_url = 'https://example.com/generic_ne/{name}.zip' land_downloader = cio.Downloader(generic_url, '', '') generic_ne_downloader = cio.Downloader(generic_url, '', '') ocean_spec = ('shapefile', 'natural_earth', '110m', 'physical', 'ocean') land_spec = ('shapefile', 'natural_earth', '110m', 'physical', 'land') generic_spec = ('shapefile', 'natural_earth') target_config = {land_spec: land_downloader, generic_spec: generic_ne_downloader, } with config_replace(target_config): # ocean spec is not explicitly in the config, but a subset of it is, # so check that an appropriate downloader is returned r = cio.Downloader.from_config(ocean_spec) # check the resulting download item produces a sensible url. assert_equal(r.url({'name': 'ocean'}), 'https://example.com/generic_ne/ocean.zip') downloaders = cio.config['downloaders'] r = cio.Downloader.from_config(land_spec) assert r is land_downloader def test_downloading_simple_ascii(): # downloads a file from the Google APIs. (very high uptime and file will # always be there - if this goes down, most of the internet would break!) # to test the downloading mechanisms. file_url = 'https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/{name}.js' format_dict = {'name': 'jquery'} with download_to_temp() as tmp_dir: target_template = os.path.join(tmp_dir, '{name}.txt') tmp_fname = target_template.format(**format_dict) dnld_item = cio.Downloader(file_url, target_template) assert_equal(dnld_item.target_path(format_dict), tmp_fname) with warnings.catch_warnings(record=True) as w: assert_equal(dnld_item.path(format_dict), tmp_fname) assert len(w) == 1, ('Expected a single download warning to be ' 'raised. Got {}.'.format(len(w))) assert issubclass(w[0].category, cio.DownloadWarning) with open(tmp_fname, 'r') as fh: _ = fh.readline() assert_equal(" * jQuery JavaScript Library v1.8.2\n", fh.readline()) # check that calling path again doesn't try re-downloading with CallCounter(dnld_item, 'acquire_resource') as counter: assert_equal(dnld_item.path(format_dict), tmp_fname) assert counter.count == 0, 'Item was re-downloaded.' def test_natural_earth_downloader(): # downloads a file to a temporary location, and uses that temporary # location, then: # * Checks that the file is only downloaded once even when calling # multiple times # * Checks that shapefiles have all the necessary files when downloaded # * Checks that providing a path in a download item gets used rather # than triggering another download tmp_dir = tempfile.mkdtemp() shp_path_template = os.path.join(tmp_dir, '{category}_{resolution}_{name}.shp') # picking a small-ish file to speed up download times, the file itself # isn't important - it is the download mechanism that is. format_dict = {'category': 'physical', 'name': 'rivers_lake_centerlines', 'resolution': '110m'} try: dnld_item = NEShpDownloader(target_path_template=shp_path_template) # check that the file gets downloaded the first time path is called with CallCounter(dnld_item, 'acquire_resource') as counter: shp_path = dnld_item.path(format_dict) assert counter.count == 1, 'Item not downloaded.' assert_equal(shp_path_template.format(**format_dict), shp_path) # check that calling path again doesn't try re-downloading with CallCounter(dnld_item, 'acquire_resource') as counter: assert_equal(dnld_item.path(format_dict), shp_path) assert counter.count == 0, 'Item was re-downloaded.' # check that we have the shp and the shx exts = ['.shp', '.shx'] for ext in exts: stem = os.path.splitext(shp_path)[0] msg = "Shapefile's {0} file doesn't exist in {1}{0}".format(ext, stem) assert os.path.exists(stem + ext), msg # check that providing a pre downloaded path actually works pre_dnld = NEShpDownloader(target_path_template='/not/a/real/file.txt', pre_downloaded_path_template=shp_path ) # check that the pre_dnld downloader doesn't re-download, but instead # uses the path of the previously downloaded item with CallCounter(pre_dnld, 'acquire_resource') as counter: assert_equal(pre_dnld.path(format_dict), shp_path) assert counter.count == 0, 'Aquire resource called more than once.' finally: shutil.rmtree(tmp_dir) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/io/test_ogc_clients.py0000644001374000021030000002143212700747662022666 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import cartopy.io.ogc_clients as ogc from cartopy.io.ogc_clients import _OWSLIB_AVAILABLE try: from owslib.wfs import WebFeatureService from owslib.wms import WebMapService from owslib.wmts import ContentMetadata, WebMapTileService except ImportError: WebMapService = None ContentMetadata = None WebMapTileService = None import unittest import cartopy.crs as ccrs try: from unittest import mock except ImportError: import mock import numpy as np RESOLUTION = (30, 30) @unittest.skipIf(not _OWSLIB_AVAILABLE, 'OWSLib is unavailable.') class test_WMSRasterSource(unittest.TestCase): URI = 'http://vmap0.tiles.osgeo.org/wms/vmap0' layer = 'basic' layers = ['basic', 'ocean'] projection = ccrs.PlateCarree() def test_string_service(self): source = ogc.WMSRasterSource(self.URI, self.layer) self.assertIsInstance(source.service, WebMapService) self.assertIsInstance(source.layers, list) self.assertEqual(source.layers, [self.layer]) def test_wms_service_instance(self): service = WebMapService(self.URI) source = ogc.WMSRasterSource(service, self.layer) self.assertIs(source.service, service) def test_multiple_layers(self): source = ogc.WMSRasterSource(self.URI, self.layers) self.assertEqual(source.layers, self.layers) def test_no_layers(self): msg = 'One or more layers must be defined.' with self.assertRaisesRegexp(ValueError, msg): ogc.WMSRasterSource(self.URI, []) def test_extra_kwargs_empty(self): source = ogc.WMSRasterSource(self.URI, self.layer, getmap_extra_kwargs={}) self.assertEqual(source.getmap_extra_kwargs, {}) def test_extra_kwargs_None(self): source = ogc.WMSRasterSource(self.URI, self.layer, getmap_extra_kwargs=None) self.assertEqual(source.getmap_extra_kwargs, {'transparent': True}) def test_extra_kwargs_non_empty(self): kwargs = {'another': 'kwarg'} source = ogc.WMSRasterSource(self.URI, self.layer, getmap_extra_kwargs=kwargs) self.assertEqual(source.getmap_extra_kwargs, kwargs) def test_supported_projection(self): source = ogc.WMSRasterSource(self.URI, self.layer) source.validate_projection(self.projection) def test_unsupported_projection(self): source = ogc.WMSRasterSource(self.URI, self.layer) # Patch dict of known Proj->SRS mappings so that it does # not include any of the available SRSs from the WMS. with mock.patch.dict('cartopy.io.ogc_clients._CRS_TO_OGC_SRS', {ccrs.OSGB(): 'EPSG:27700'}, clear=True): msg = 'not available' with self.assertRaisesRegexp(ValueError, msg): source.validate_projection(ccrs.Miller()) def test_fetch_img(self): source = ogc.WMSRasterSource(self.URI, self.layer) extent = [-10, 10, 40, 60] located_image, = source.fetch_raster(self.projection, extent, RESOLUTION) img = np.array(located_image.image) self.assertEqual(img.shape, RESOLUTION + (4,)) # No transparency in this image. self.assertEqual(img[:, :, 3].min(), 255) self.assertEqual(extent, located_image.extent) def test_fetch_img_different_projection(self): source = ogc.WMSRasterSource(self.URI, self.layer) extent = [-570000, 5100000, 870000, 3500000] located_image, = source.fetch_raster(ccrs.Orthographic(), extent, RESOLUTION) img = np.array(located_image.image) self.assertEqual(img.shape, RESOLUTION + (4,)) def test_multi_image_result(self): source = ogc.WMSRasterSource(self.URI, self.layer) crs = ccrs.PlateCarree(central_longitude=180) extent = [-15, 25, 45, 85] located_images = source.fetch_raster(crs, extent, RESOLUTION) self.assertEqual(len(located_images), 2) def test_float_resolution(self): # The resolution (in pixels) should be cast to ints. source = ogc.WMSRasterSource(self.URI, self.layer) extent = [-570000, 5100000, 870000, 3500000] located_image, = source.fetch_raster(self.projection, extent, [19.5, 39.1]) img = np.array(located_image.image) self.assertEqual(img.shape, (40, 20, 4)) @unittest.skipIf(not _OWSLIB_AVAILABLE, 'OWSLib is unavailable.') class test_WMTSRasterSource(unittest.TestCase): URI = 'https://map1c.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi' layer_name = 'VIIRS_CityLights_2012' projection = ccrs.PlateCarree() def test_string_service(self): source = ogc.WMTSRasterSource(self.URI, self.layer_name) self.assertIsInstance(source.wmts, WebMapTileService) self.assertIsInstance(source.layer, ContentMetadata) self.assertEqual(source.layer.name, self.layer_name) def test_wmts_service_instance(self): service = WebMapTileService(self.URI) source = ogc.WMTSRasterSource(service, self.layer_name) self.assertIs(source.wmts, service) def test_supported_projection(self): source = ogc.WMTSRasterSource(self.URI, self.layer_name) source.validate_projection(self.projection) def test_unsupported_projection(self): source = ogc.WMTSRasterSource(self.URI, self.layer_name) msg = 'Unable to find tile matrix for projection.' with self.assertRaisesRegexp(ValueError, msg): source.validate_projection(ccrs.Miller()) def test_fetch_img(self): source = ogc.WMTSRasterSource(self.URI, self.layer_name) extent = [-10, 10, 40, 60] located_image, = source.fetch_raster(self.projection, extent, RESOLUTION) img = np.array(located_image.image) self.assertEqual(img.shape, (512, 512, 4)) # No transparency in this image. self.assertEqual(img[:, :, 3].min(), 255) self.assertEqual((-180.0, 107.99999999999994, -197.99999999999994, 90.0), located_image.extent) @unittest.skipIf(not _OWSLIB_AVAILABLE, 'OWSLib is unavailable.') class test_WFSGeometrySource(unittest.TestCase): URI = 'https://nsidc.org/cgi-bin/atlas_south?service=WFS' typename = 'land_excluding_antarctica' native_projection = ccrs.Stereographic(central_latitude=-90, true_scale_latitude=-71) def test_string_service(self): service = WebFeatureService(self.URI) source = ogc.WFSGeometrySource(self.URI, self.typename) self.assertIsInstance(source.service, type(service)) self.assertEqual(source.features, [self.typename]) def test_wfs_service_instance(self): service = WebFeatureService(self.URI) source = ogc.WFSGeometrySource(service, self.typename) self.assertIs(source.service, service) self.assertEqual(source.features, [self.typename]) def test_default_projection(self): source = ogc.WFSGeometrySource(self.URI, self.typename) self.assertEqual(source.default_projection(), self.native_projection) def test_unsupported_projection(self): source = ogc.WFSGeometrySource(self.URI, self.typename) with self.assertRaisesRegexp(ValueError, 'Geometries are only available ' 'in projection'): source.fetch_geometries(ccrs.PlateCarree(), [-180, 180, -90, 90]) def test_fetch_geometries(self): source = ogc.WFSGeometrySource(self.URI, self.typename) # Extent covering New Zealand. extent = (-99012, 1523166, -6740315, -4589165) geoms = source.fetch_geometries(self.native_projection, extent) self.assertEqual(len(geoms), 23) if __name__ == '__main__': import nose nose.runmodule(argv=['-sv', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/io/test_srtm.py0000644001374000021030000001260612700747662021365 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import warnings import numpy as np from numpy.testing import assert_array_equal import cartopy.crs as ccrs import cartopy.io.srtm from cartopy.tests.io.test_downloaders import download_to_temp def _test_srtm_retrieve(Source, read_SRTM, max_, min_, pt): # test that the download mechanism for SRTM works with download_to_temp() as tmp_dir: with warnings.catch_warnings(record=True) as w: r = Source().srtm_fname(-4, 50) assert len(w) == 1 assert issubclass(w[0].category, cartopy.io.DownloadWarning) assert r.startswith(tmp_dir), 'File not downloaded to tmp dir' img, _, _ = read_SRTM(r) # check that the data is fairly sensible msg = 'SRTM data has changed. Arbitrary value testing failed. Got {}.' assert img.max() == max_, msg.format(img.max()) assert img.min() == min_, msg.format(img.min()) assert img[-10, 12] == pt, msg.format(img[-10, 12]) def test_srtm3_retrieve(): _test_srtm_retrieve(cartopy.io.srtm.SRTM3Source, cartopy.io.srtm.read_SRTM3, 602, -34, 78) def test_srtm1_retrieve(): _test_srtm_retrieve(cartopy.io.srtm.SRTM1Source, cartopy.io.srtm.read_SRTM1, 602, -37, 50) def _test_srtm_out_of_range(Source, shape): # Somewhere over the pacific the elevation should be 0. img, _, _ = Source().combined(120, 2, 2, 2) assert_array_equal(img, np.zeros(np.array(shape) * 2)) def test_srtm3_out_of_range(): _test_srtm_out_of_range(cartopy.io.srtm.SRTM3Source, (1201, 1201)) def test_srtm1_out_of_range(): _test_srtm_out_of_range(cartopy.io.srtm.SRTM1Source, (3601, 3601)) class TestSRTMSource__single_tile(unittest.TestCase): def _out_of_range(self, source): msg = 'No srtm tile found for those coordinates.' with self.assertRaisesRegexp(ValueError, msg): source.single_tile(-25, 50) def test_out_of_range3(self): self._out_of_range(cartopy.io.srtm.SRTM3Source()) def test_out_of_range1(self): self._out_of_range(cartopy.io.srtm.SRTM1Source()) def _in_range(self, source, shape): img, crs, extent = source.single_tile(-1, 50) self.assertIsInstance(img, np.ndarray) self.assertEqual(img.shape, shape) self.assertEqual(img.dtype, np.dtype('>i2')) self.assertEqual(crs, ccrs.PlateCarree()) self.assertEqual(extent, (-1, 0, 50, 51)) def test_in_range3(self): self._in_range(cartopy.io.srtm.SRTM3Source(), (1201, 1201)) def test_in_range1(self): self._in_range(cartopy.io.srtm.SRTM1Source(), (3601, 3601)) def _zeros(self, source): _, _, extent = source.single_tile(0, 50) self.assertEqual(extent, (0, 1, 50, 51)) def test_zeros3(self): self._zeros(cartopy.io.srtm.SRTM3Source()) def test_zeros1(self): self._zeros(cartopy.io.srtm.SRTM1Source()) class TestSRTMSource__combined(unittest.TestCase): def _trivial(self, source): e_img, e_crs, e_extent = source.single_tile(-3, 50) r_img, r_crs, r_extent = source.combined(-3, 50, 1, 1) assert_array_equal(e_img, r_img) self.assertEqual(e_crs, r_crs) self.assertEqual(e_extent, r_extent) def test_trivial3(self): self._trivial(cartopy.io.srtm.SRTM3Source()) def test_trivial1(self): self._trivial(cartopy.io.srtm.SRTM1Source()) def _2by2(self, source): e_img, _, e_extent = source.combined(-1, 50, 2, 1) self.assertEqual(e_extent, (-1, 1, 50, 51)) imgs = [source.single_tile(-1, 50)[0], source.single_tile(0, 50)[0]] assert_array_equal(np.hstack(imgs), e_img) def test_2by2_3(self): self._2by2(cartopy.io.srtm.SRTM3Source()) def test_2by2_1(self): self._2by2(cartopy.io.srtm.SRTM1Source()) class TestSRTM3Source_fetch_raster(unittest.TestCase): def _as_combined(self, source): e_img, e_crs, e_extent = source.combined(-1, 50, 2, 1) imgs = source.fetch_raster(ccrs.PlateCarree(), (-0.9, 0.1, 50.1, 50.999), None) self.assertEqual(len(imgs), 1) r_img, r_extent = imgs[0] self.assertEqual(e_extent, r_extent) assert_array_equal(e_img[::-1, :], r_img) def test_as_combined3(self): self._as_combined(cartopy.io.srtm.SRTM3Source()) def test_as_combined1(self): self._as_combined(cartopy.io.srtm.SRTM1Source()) if __name__ == '__main__': import nose nose.runmodule(argv=['-sv', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/0000755001374000021030000000000012706121712017127 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/0000755001374000021030000000000012706121712022236 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/0000755001374000021030000000000012706121712023026 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_crs/0000755001374000021030000000000012706121712024654 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_crs/lambert_conformal_south.png0000644001374000021030000027711112520135744032307 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwXg5tk؂%QDEc"E#5F%+vc (؃ ~?oj\Wtv fsDD@DDDDDJ """"ƒHDD(DGG#..iiiHOOmc`bboz(QlmmaaaJ}!(h4DDDѣGxybo{U^_ _ c6K)׫m}*VҥK1, DD "">`nnڵkuԁ=QdI_QBDdjKƫ W;y=Td,jB"ENOD?FA@@Ο????\t wޅ@R?I/#j5ݻTXXDC&MТE hjՂvODO, DD 11.]/"..W6mzN:]6,,,L9͛x"n޼ Z kkk4k ͛7G-иqcXZZ*Hq, DD:#mí[h`ccMhF&KLLĕ+WYn]BQbE Qܿ>>>8}4Ο?'Oo.[h5k2BN ((H[Hp=@Ѽys|pttDʕ KD, DD %%gΜ||| CCCTV ]vEѼys!Idd숯/._ ZիSNԩZn sss kBBBÇ̙3HMME ЩS'8::m۶V:*qqq8qℶ>~fffϵO>ψ@`!"? 8u> D߽{p>|'N@jj*6m>}/D啎HDV, DT(<}T[:Ο?8::O>ڵ+r4ZFnpA'&w ؿ?v܉Ç#==-Z@>}쌲e*("*ñgܹ022BNCW#""PT)ESqqq?sN9rhٲ%޽{L2JG$"BDLDDt={ر#ݻFD.66Î;p1jjJ[FXHI, D便?upIT*o}A=Pxq#)&&&v܉ǏCDЮ]; 6 ݻwa!|+((֭Ö-[-Z`РAٳ'J(t<<'** {͛%J૯°aPfMQ!BDJrr2v _Zj)kҤIQX12@mF˖-1l0|(Rc!|ƍ'Ѿ}{ 6 =z:u ժU-P)yu N8kkk`ذa_b!<+>>۷o]2e`С:t(>c8aaaX~=6n܈p4hÇG~PhQQBDyεkװb رҥ Ν;HxD^ff&::tfff۷/F (9"4 >_~OFJ0l0 2ʕS:QSlܸ֭Ç000P:Cu֡vprrBJJ vލPL6-_0\vMD:U\9L6 صkRRRO?֭Cjj(a!"EDEEa٨T\]]QF … ݻ7 DS:Q0443.\___T^T~gDGG+ ^EDzu=,^7n`Ȑ!?~HhD?UV~CTTz www4kLhDQh4طo.\ .z0a sss`֭XhBBBЬY3L8ݻwu"Ds"aÆի"00Ç/#>>^D077+zBÆ qA3O"X@HDǎCfеkWXZZ̙38{,vZh>۷e``]ٳ8}4,--f͚رc,"D\x7@DٳѱcGѣGqjJd7g={SN;v,~7;v JG{o[ƙ3gpQ@ǎٳ '#"p}K.a8vׯٳgsPTJG#uሉAbb"1jԨ2dvލv!88ŋ1nܸ\|EKDpAL>7oD0{l4iDhDG, D#7n3pԮ]fB= eVTNyq"Ex)ʖ-Ncڵ }ƍ1x`ñsN8yF4 ݋3f 00NNN5kׯtD"S ggg|g'nݺ^z|PVyP<{ PHJJÇ1114'O0b8;;cРA^^޸n:̟??_k׮/ĝ;wg/D``I( GaԩBJ0c 8FFFJG˓6oތVZJ*JG!JMM ۇ 6૯zAAAUΝ;-[u_F#$$(^8Pn]ܹs߾}ui6mBŊؼy3f̘p8::bժUlj`;"zd,\χ5V\CDhyZ R$$$G8<݋]s+x[{MӧO(^8/°gϞ|]>O>ٳS&LpܼynBrr2ԩSQ&O'H" '"]Qر5jܹs"$$nnn,m۶jbmxx8n߾mo[ne~ewرK^w{9ڶmWȑ#T> HLL Oʕ+cƍXhڶm ٓsbʔ)]n^LMMagg%Kڵ+fϞgϢjժ5k?(DDD`ر;w.jԨ;v"!"k׮I˖-t]ݻt$ґ Ȳ-""B̙#O>Ͳ_>˶Xڵ\x1vYlY;v,۸钑mxyEmgΜ]fΝr7JzT^]J,)7nx盙ҥKliӦ<{LZ-['|")))ݻ_|Z~wޕݻ qppׯvD""ҊaÆJZjѣGD9:th7^^^,󒘘eF9u vZm~~~$IIIY߿_st@)_T\Y޽1ʔ)#3g(J)"'NlYfSNy/*Tx=zTjժ%*J?3"?8 ˗c֬Y044ĬY (>>=§~ٷo"""ݖ8)S&W׼_JBbb"퍒%KE_PPv؁ &c]|;wF2epȑ߁vhذ!ʗ/e˖A`ԨQpwwGɒ% wX~}W͘1زeЮ]7^nUVaƌh41zh^JqQ!w!cҤI8p ޽ѣG|ZƜ9st6^bb"V^dnggnݺeVH|]>bccq ݻ+f̘]v!,,s^-;;;T\6mݯbŊprrYO<K.Ѷm[T^ȋ+-[`ɒ%9r$|8j֬ +++,\0̫[[[VZo|ƌwb8q"qС܊KDE0D;w6mڈґ =/88X8e[RR۷OtMqo>Yt7Nz!ukkk277RJi_X1i׮L4Iv!M6@eү_?RNWQ2l0ܲeL6M"##_x`` 8P TRpBIHHѱ:;;;?~N];::ʝ;wt2.>B&--MfϞ-&&&RJtjZ^*O<ɲɓrR{G}$TW._|񅸹ɼyK.IDDٳgrA5kt]ʗ/888ىO%''vۜ8qBkQ!*D^8q"f̘sssc C5j5f͚|' ӟH4oAJrEdd$]k׮͛_>&L*p/m۶eO"uRJؿKOOGrrV /_ϋرceT\= SSw|իWѨQ#\t 7ns9յkW={III]6֯_ ~hd"-"҇$qww_>oeiiiK^}o>5k 6ҥKzWg6uߍ7 W̙O:%*TEڵk էL~Wj!XWĉ2%*N:Çɓ';w.;+suuEѱcG֭[IFF;wٳ\^uٳg LLLD$$$h J%K`ժU|-ZEY=xFBlٲ*UKPJXXXhd{[NըQǏݻwc̙ƺu1Hn@D;bccU'h@ҥ[' ?~<F!CbL:5}YXXHҥ޺uKj׮-ƲpB4ӥtҹ6~BB-[Vz)"/ojAUWWW͵c?7|̟?#F5z\1}tغu+ HFG!##HOOGZZaeeKKKXYYB'?/j+Mիc۶mSqooosHNNƮ]УGX[[??$-- 111Ftt4bŊewΝ۷/?%JFlׯмysh4Y&MBѢEjժB}(P.EDDH߾}tE=zte2x`c;V2|͋/cǎR]RSSߺĉXYYIƍ%--MD^޽C֭+ FGGKXXX2k49w(QBd&}vIzbŊ[NݻmǏ qFKV̛7/JΝۗ+)g@ '[`ҥׯYS044>--ߩHGƒ%K ݻwѵkWDFFbǎС[s1zh$$$`Æ Z*:w OOODGGDHMMEll{ŋ~:^Wڵk>slBCCuVlݺaaaX"\\\`ff ܹs`kk*^k//^ѨQ#qpAwɕ/_۷oϲ]D/`ԩR('e}qvvҿ7.vFgƌpB+:/?333qvv{(N8!ŊիKHHȿh}KJJ\`QlmmeܸqO~ ҷo_ZnZ;ٶmرczܿKVX!-ZОy:t:uJj<\5k&E.$EiӦIjjjI=zԨQ#tiРTZU]2 LQαcgϞ *ڵK8ZvN]/+:3/ bŊIVo +WtQ^x ~bmm-ҲeK7n899ԩS3fH"E$***'OҥKAT*INK緫MJJ=z,ZHڴi#FFFERe3P._,""vP={6sBedd@ZjŹ@H>}3SASXԮ]P|!F2vXh4>}QFqIzيH133ٳgۼys ҹsgٰaDGGqs*33SF)tr\=+IIIҭ[7 <}TV^-?fÇ 2cƌw#BτIfPfϞ]h.mѕB^zR|yyqr]tto^dT0`vb.϶͛7OMJ,)'N iܸl޼FKxxDEEd|]Q2o<100R{]133Sf͚%Ҽys/IT#^^^RhQ\?^8NddSs111]%$$DBBBDRJVZwZ. IDAT^._,47O*W,E۷!QŻ` 3f 6oތ~aժUybLDpԬYS(Zj(_Qrń d8pJ)FRJvppp,--aaavڡbŊ:Ç興۷-[CEhh([TV z%K* ;e˖JXD QwϞ=Ê+0p@6;w{allt@FFz+E֮]#F`ٲe3fqtիhԨΜ9VZh ggg\|ǎCu0;CBBpE|W~̂@De5 eʔѰaCc(, DyF/~aggt<)%%hҤQUhh(Vt :~8:u777oJѹgϞ[n Exx8LLL{ AR0b̞=;R \-޽͛3ga``t,?IDyPdd$:v)S`„ cx={ $$D鸞 8;;CXdqt. M6Ǐqx1?$h4|oƤIr8jn㼍ϫVwaر#"##s!!Q3 DyիWѳgO ڵS:R ܽ{7V:J&M~~~n^ѹsgTXxyoh0e,\;w͛QD p.ҥ;w"** #Gcмysjiiih߾=q%TREH:״iSh4?~Eɘ A`jj /^\'ž={V!"022٘ԩSСj5k׮ Xv-}}vKOOѣG :t(ש(M& J1F#SS{;ׯ ٻwǞ3gI\\PJGF#e˖6m… X&O,ǎ+)))2d G~"D8Hah׮V^+V`ݺu033S:Vpư7O:פI(#Ν[bƍh֬qrŚ5kP\9899|]vk׮:;KY~I,Y$Gs(R`nn$4h MСC, ׯGJb oߞBrHAW\AÆ SNaȑߤcJ9''O;wbڴi9s&t\m۶a:t(007oDu:nniݺ5ԩ.:t(OL_f жm[DEE֭͛mۖ1cΝ;hР^D B6m+W׮]Eaiڴ)J.PK.aРA߿?f̘t\T 6Lc{yy&,hhhmf#ܸqωΝ;-k۵kl۶ 'O˗/ѣG9ʕ+h4߿?]eˢe˖ؼy\@Tddd`̘12d 3gΠ\rJRܩSп|yGa#tʕܹsV+DVBnts)"򂳳s^۷oGzzk/Z(6nܨTofhhԩSwޅLLLuW^=`(_<Μ9 <cǎEFF_Qٳg FFFrO,$33Sz P:;[r~T*)W\~ GϟrI<1cH2e$==]Ǝ+&&&rڵtRQTruy9}Ŋbdd$Z]F'*px^"=yGFFv]/ B5 휗@xzzbΜ9JGy'"#22RtRX[[ܹsYO}twޕA;;,oBj899Ib홙ҤI _|_oܸqRfg߾}@vܩT;V***J $v},33SF)d|/!>|86oތcĉvC\\vލu!##J`)))A:uPj,x}J(___$%%8vaeepg5|pҥK4NÆ ammǏڟڵk?~<Ν;GGG[e˖`2e kwXBBt///xzzbҤI 5k7ٳt={V>Xbؽ{7ߢEr |||a<{ QQQ .!!>>Qq3 D:-Z.\(4CVŋY|ЛT*666###Ks H\\뇇bصk߿ϟ/ڴiA#33S[ 6m+VG}B pqqaii-ZOD`!@{AQn]B JGWWW\|Y* _-##fffJE} Ț5kCa޼ypvvFʕ |Еh!66V(:cff <{V^hѢѮ];x{{+H@XcƌA߾}i&*I֭[7Z:}vj ʕS:JΉ{GѢELBOKKÒ%K0p@)S&LJŸYCBBL홾kرcX~=oaȑJ%;!ʡEa?~<<== |dzl+hobeeG)#-]T{7eRH ssw pwwTy`:`G"##}Z˗dɒݻ7BBBO>,--waΝGvqaԨQ_s=<B1uT={vx#w^4mTr]ll,/^nݺaϞ=q5jLַj*$&&"==Fn D⤤$888ڭ/_Gbٲe2 İapUNYfժU:uꔭT*,Z0a1eʔx)DyR+ W?~I(DƏ?(fffc)U?^DD4|G2c ̢Rd={J Njժ%͚5|J+;v|'rIII &w^EGGKFFFӥ\rcj49s&B ;h42m4 sQ:NZt *Z[:ƌ#e˖~uE:udDq,ҤL2L0ϟIIIl2i׮ YRRRkcc# _~E#*U2lذlcvڿL6MFX@ށFI& Ypqr]BBmV/ t\"ԩS""'"bÕ(3vOOO oV(Yޠߏ8p W>wTVM/~M߿: bnn.-[ &h>|X߽{L&Ly,X dɊLhdܸq@,YtIKKS:B!T:Fz~hH/_.""r]%cJLLݻwki4iܸkNdyܹsҥK_gddܸqRyrΝw~nJJrɕF:X[[KѢET*U$m@ƏB'Fرcb XP&DJɒ%xbc䊄WI&044ĉ'`ggXN߿ nnn|2:X~hԨb Tf? 8¢E0vToffڵkg٦R六["33PTڵ+,,,+۸q`llѣG###˖-+7;ƒ 4 xxx`ڵ>|ґr̓~z̞=[(r? Hbbb+V طoFLaff'O`ӦM?~}{Ԟ>}c:UD 7j(cĈʕ+05j5 ͛7cÆ  #)RRRRtJ\]]allȵ4?j <[l֭[ |ƍJ*JǠ*88K^E2booKKK߿[laDs"?2dlق͛7cȐ!yjFb!#}vxyyEH"66?V:_^o7o^z-VJc߾}zw[nEXXXX]\t ӦMS:;.i&n/Ɠ'O훞G囟 ^^^pss7ބoLcÆ ۷qrͤIt znݺ!99Y:rzضm DFFbY_zaU|yLqŋڵkf_M6U2{4hbbbw'NT:QX~=&OiӦaܸqJ!*0n޼ Y ͛7ѥK# *Txzz@` 4BٲeѧOn4hPI&6߾*x zpuu7|Yf)G"""лw|1ْ W"FFFPT:v> VB||< `bgϞ)T\Z͛7xyU*͞=nnn>|8CX@P;q/˗// =YYYa077W: ˗/#44T,<< u֡HLL7:w<&99...nK| ܹO?hԨ ;ѣz"Jo/ɓ'D^X@кr z聶mb˖-EQtuiz81>`022²e˲}raw.]:O>ϕ*T=p)^89ccctС=RBFBBcǎL2JG҉|?Y|yÇM6*jϞ=Cٲea``Ç㧟~w]*fΜ/WժUQD i={۷e˖ѣGN:!!!AHDoBZF~p=9r@܆xzaȐ!JxoWVZWW^x~:Ϙ˗/'|t\WD bܹ8z(ԩΝ;#99YhGŽ{п~8EyPŋԩqt*&&ŋW:[niWtbccQZ5 :~*U£GPbE}tRԯ_fBpp0ʕ+Eff&=t E*330f1nnn8sq`+44zBVlٲypp06mZ ^ ΝÔ)S0ydt`ĉ9*P;ȫ;(C1۶mʗ/jժ?.0oU*/_JG"*дiSj\x)Q5gL0fffJGyԯ_ժUÉ'`ddu~BD ]\\|y[veoҤ qX[[+g@D߾}3߿U j5\\\VkC^zpqq+BBBަ0 bغuk-y_}jW'R 8&LDZk.T^]8$11G朏B?O]x8y$oΓ/^6m`(Wz]/"KNN3*UիW͞=ΝcQzuڵ ǏqX@`Yz5-[˗}J`111߿Ǐc֬Y駟жmwzNRR`ooKKK޽񰷷Dzeː IDAT)Sr\D-mٲ~@Ԯ]og077cӡC,[ K.Ś5kCPq |9r$-[tٳg[.֭ÇwU4j/_FFpwwǺu벼 @Zr%aS_U:bmۦm)J(RJa͚5~=1c`8r;x@k, T I&hܸ1EZZ>c@D䄫W(Y>'%%Ϟ=S"11Y Fpp0W_ٳpppȭA ܺu ϟ?ǹs紗(ZuPh|}V:33]t+WpEޅK(KJJB=Ptiر#_̙3tC"##~z褥a8t6lN#..N{{өSf͚:thݼ7Y&`̘1(R rJܿ9x Oǔgdd;vTRѣD k"o=7lllARRRPjU޹[.fΜ&MbŊa߾}^^դI\K,A.]i+Wؿ?._ __l;v ~)бcGVMRRRsNjx{{SLcaccooo<|#GNHx ?<떒[Q a,Yd;TƘʞe՚5#`*6}םso}G8,{lJ6m=*Y[aD>}:> sssɸgϞh׮]ΕCCC 6 HJJBлwolܸjǏajjVZڵC۶m+_E]] ?ơB!M6!..|*Gń pL28L%Z@?~Y02 1b=zw֮]-[bxQۓ億 ߢp)lǎ-4443fSN/^UV|P8jjjXr%ttt,ZX+R>ƏiӦqJ0J)55;vDjp=aFƍaffwFsdL:^^^8}4FQsvZ033!vލsz*ٳcB,cƍ? =ݻwغu+mVN)e/33]tAVV=z#1+@CD;v,Ν;c۶mQFD1br#GmڴÇe6Cqp5`СK.!)) Gɵ,233 ###!33C 5 #ͫW`ffASgb+@;;;8q666|ars_7/_F~p)9R޵kv܉x$%%a8wL0 OOO۷ ^:ѢE ɓ'1zhc̙|a*86Q*O<ܹsaooϊ0`\L={7Ijذ!`ii#FիȐuc|(,"88ላP(u#""p $$$VZ8q" <.((r'666Ü9s0kaFrr2PF ܽ{UV;R~ϟ?5Qe˖!55**}.enn\~hݺ%Ǐv1gm0559Zn mBE5Ju=XKbٳ'0xbw 7/^\-++ ]vEjj*BBBPzu#1T*DiӦӧOP_Aa)))tD"233]$,bccѯ_?@˖-ahhV:L6m~WÇ ľ} 555TRذa$gE"Uh /_0f\z6mQǖ-[*m8}4:tiӦɓl<#Q ;vٳq >8 Û3gΠGӓf͚G̙3,y.]Hm711AӦMqeɓq}4oZpרUԩSLBDr lق˗/aÆpttDϞ=a``zAUUUTTf͚/bƝ;wMMM^z!88::: 8ɓ'ѻwo4ܺu ׮]ëW`hh###4iD2]WWW!n0bرq  {v {{{axuIk׮0TZk.y>|իWcعs'ڶm CCC4iDω'p%>|X1c`ԨQ6ldǏ J@>`̙ Appp^Ə/k۷ ,`}OO>:t(=}LJЖ-[$x)Ջ\zxxP*UhʕDD4qD244$_4^zEwFNBBBΎ~'$JǏ@ڷo?  555rtt$wwwy8'Nлw^̤@ڶmM<:t@zzzԱcG3f -[<<<($$$ysGDD79sF>oP޼yCZZZ4sL0+@sE@|G)pZ~=1%J6m6XL]t}Jn8 y;s<7|||򽎫+'O:kPP9::RRR988ZrTe(@uJMMxrJv1*ϟ?ȑ#ޞO?.V7cs]t(L F|4h@+{Tjty $hҥd`` 5hٲe\y YZZR׮]Ug8 W^*kΝ U^TTTh޽RsG?7T[PPܹE a7e8111R]ʊ)hժUDٳ<77".\@ٴbŊ|6nHjjj%>W^zEhт@ jժI)&djjJ;v,"s͙3Gn̶lBZZZy;vHVVVdccC$R;;;6n(YpϞ=EY/_&###ے8եÇ+CCF1ᝧ'ӧOadjݺu2J;vϟt2d-[ <ҥK|}}'''ڳgOM6ӌ3ӔHb޼y#5p=++bbb˗455Zj#~dĉr뮒ƺʑP(ǏΝ;iɒnY:uI}TTuE-+==]uGGGj۶m!/N"t10JH@DIbb"5k|)$ԬYrdddd~ؿ?fΜ 3GDhݺ5z 777@xx8V^'N ** 7x)5jܿ݃>m8~8&MɵԩۣnݺrP(1 777ؠ~R8ԺukիKRVVuXLM4!ԥK233 pWQQӧKmggG4rJ;ƣ4J ѷB 1|g0˩aÆ<)]vOTnH$=:v3fHhjՂ&1C||?ݻw3gLLL}ԩSԩSXf V 8[l۷oGzz:`Ȑ!8ӱw^G-5jYfRΝ;"ܹsIjժDD"̙3aff{{{(6Ŷm#88;v:qPQa1x81aTV, "J*%: bx)`iiS"55ׇ |rL2qqqSNumDGGcE#??ի^x6m@>DΝٳgQa]LL Zlc:ϨUEIBB>|+++20,,,pmԪU vvvprr*޼yVZa̘1`…Drr2ѣGYg!..yE8#F|k9r&Lsy3GL?>444JttM̛7O퍆 )WѣG @ZZV^,0rШQ#իW>|RtmZbj׮9sQPaܹs+v892;g ʕ+;\Ϟ=; SFBv˗/唊)oڵn޼ɓ'+xlݺ~~~8}?5,5j 66+T͛7ˋXLt֭TǍ7pe9$b4tP|G)@ ƍÇQ0t4k z* ڵkعsg0a֯_9&cStt4A? ֭7n)gČ3Ș%.^wb;v,n޼ׯ_CSS8`#7NNNXz5ФIr[Tvvvx?~waddժUؾ};b⌷oߢEXr%/^wFA.X\$&&bÆ Us}ܺucŴںugڻw/^Zt _|Add$QI&dž wFAUp IDATkB `ɒ%|Gcɒ%JS|o߆)1x?̙38~86lw$B!222d>rNC)}W0[3TUUUUUߟ8Fvv6”9?~TţVZcǎ)M1F~X,Frj!6XWyB!0FXܹs(L BGG{; .^ ""|)ʼn :5kad˸z*֭[qHNN͕@ `w8Í7$7/^!xN%55]v5CBBg'""I&.^ϟhUTup\r8 XqX`uH5j233}=00圊)Ǐc֭|PXAAA >| 8… a„ VVVGQjUҴx2]vł #[ #?~<ܹ "$&&BOO}D"RT6׮]CQvm(ɓ'֭[prrׯfhkkcĈسg%-e1 WWWݻwѭ[7xzzbر|ax 8C6m`bbgGnQF c0LЬY3X|9~#((#G䃈bEkF1$$$@__ǏѣSj ›7o 9 gaaa~j%KۛNTTB!Fmmm̚5 x%~WĠA|Gd9s@׮]ϟ|.]l,YP+@2!"8;;wܹ3qgϞR.߹sRoHb1ϟT( Ù3gPn]A]]ϟ?GVV[FAedd`̙|(.`\`H,Y޽{# |a 3t邞={HX`' 6Lj:_)ODsa֬Y5k^FǎQn]iӦ;~8¤.ϾӦMѣG=}/3ܢEp1mBM0!\h-ZC嘪zΝ;ٙ(L9cЙR B=pY 88`3eVXX֮] -‹/0yd 3334mT-55[nKVVPfMɶϟcطoԩ#}}}m0999J~D"wJ)** 7ƹs`eew8{, XXX)'aJ_~ӧOKMM6c;w8}4_#22R^zImUBЩS<^Xbttt?{~K8YFPSScbocc𳘩`@HHqrZ@RƋ/ UUUH$ԩSБP(̷+ ?Bp˗ ؾ}{A BiiiHKKÇйsgM6Yf:t(Q*,qZZhb˖-EzA[[X,F˖-ajj ///0倵0%K`… #SJr_eB`)))>|8Ђѭ[7899aƍضm[IR|TT.]gϞܹs2ddf?S|:t-)QS7MZ6m;w3711Q6… 8L9`- LM07oDDDR,ogφFwH|GQ(^"""hkkMj9P777tܹuxnB=O>亲<}jՒ;55Ϟ=C.]$?==@)^&>>u,GScРA|ǑW^8rq9cS"h޼9n GGG( -)ptIZϪT~ [nڗpEӧЇϞ=CvbС8x &O,,|ݻwcĉ044u-[5лwo$$$ٳg ;_wf7o^z%5S.XLlذ6mQ kC⃈cFQqӧCOOш.D"\]]aff&i@Xϟ1d4oϞ={Q&kҥK"‘#Gd:sL2;"Dhh(1*4@˗y)H$Œ3  圮lMڵkcƍ|Ga L%&&sUrr}IaHϽ ;J#"o;B:|0nݺ={zx=222P~}@jJGd{퍈4o\+"^|)s6lذw{ҥK,6VN`mm+V.?UV·kjjbܹ8|0[䷂cSlM>$Ek߾=ڷow|թS.]}ÇgMػw/jժaʔ)XjZj0ԬY (y=z[其m۲颋QF[G)ڵk̙3 "Xh޿_3a0:̘1pA0 Xb10zhUSJ1J5'o>` :ؾ};TP+++$%%8м(Ǐc...udV*," Jt,[QAEoQfffh׮wSlllVF9) .ppp;J-K~6l@ll,&&&[."44pssC޽Ku `ٲeCXX0b޽{[lٲC )1InBB%GFFF(эzttUTQ988ݻwx"Q9a`1bii_|G);,,,ЦMXNNNرc*M[er=ԭ[ׇ!455#F@ t=z (((&N͛c޼yА*3f`.xqrrr*gzU\p...|GPr޽)S}lrr2ϟ}1au aNÃ(EڷobcDZZdߟD"1qI&diiIo޼ٳgɓ{mh2feq%''CaeddB8 ۷8rsa@^; # S$777ԩSF;JMmd8qe6hРbS_>G6lll~fffJu X#G[n|GQ(F. Sr{E.]dV|\t /^ɹa֬YHNNƱc+@vڅAȈ8""|ǐ_bРA;J>|qC.p֭P}/22 ,(uMԩScq-d3FjZٳg!!!ӧ|||ʜRUUTL̝;III<&㗊 .]Z&> SN97n4ib׮]bJ'utqcB13s@f͚ѽ{x?zڱcd%iihhe!;wP||<1%zjҢK.}6Qb- Lvڅf͚O>|G)Tڵ ^KdOITΝ. oooD"N>w5Qzux{{踛7o"..`oo/yݫW/IѣGx;.\@JJl@%׵kWԭ[8ĨQwrշo_`׮]|Gad L{{ 3TEXA(bռfܾ}`hh+WÇ>ڴisf͚r͡߿DE322`kk LX[l엕((سgOo4D@˖-ѿhkkc„ W^W&M =='Oۼy2lK4{XݡQigj߾=nܸw &`bȑڵ\cDFFܲ0i$TREOdJ`"8iҤI|G)ԓ'Oѣ|P8|G08˗믿$ۅB!ݿ_jW^ѰaH(ѰaHGGвeʔё˗%zׯ_$_&NH&&&ld &{vQ uY;ӓºu]bdeffX,#G:Ѵi$-TN@f͢Pp8J:t(qayf@Z\%~OLx-]zRl8UV#@~o޼!E>4LD"5hЀ+@)٤+݄Q~2=߽{NT4ѬYHUUJtcZ*YXXP``d{vv6 6ѣݻL>| ݝ444$?HUUĭ_~uҸq(99%ܵk{  uEpGcƌ7oEvMɉou4%nY矤K999|Gaʈ ??R3($_Ç2;ׯ_)))IfSTƎ[f HD;v tuӣUVIKgϞwQӦM Rfff/TfM&"۷rvv&*<>>>Խ{wrwwgݲ3:}OwܑIe(;wLC {ܸqTzuz~G!r^ٳg”+@)#Gڸq#%&&CdeeR0`iӆ"""dz^XL椮NƌSྗ/_MWKŋm-Z Bb1͟?vMDDC (8 g/55fΜI|GaΝ;oy&͞=6lHMjߞ={O?To޼灈155QF)#V0_~UҦMR-[Aeff#<<Թsgɿ9zQ ǒ A/_SNѨQ5oޜǩ|?\LL 8f̘A!!!/ 4(O늳3YFjǏiy <ֽDwTbb%d``@(B,Ç :usr'.qFZjhXH۷}(Є JtLrrrhDtڸq#ijjfxƌБ#Gdrܙ[lmmibbBÇRmڴ̙3)%%ƌ#u]ݻ),,[љ3g< iҥK)%%ܯBT$Qhhhh9Hb}TUU ٓZlYiE޽gϞ|`ʀ {NMW҂?DiӦf]v.Y7&kkkڶm}X犌$dggW[[[_>HǓ=8JNND`5kTQvm"mmm:x }򅼽% N:Ç۷wb>]ܻbrww/k~?nnn*FqlݺUsRЬV78++Qnj߿; SJa[jժD8*Ts"?̺)Ў=,,,~iޭ[7RSS#===zAYd YZZqkQxx8M>I(bBBBի.{>|8OL}Ԥ &P\\\eɒ}6l*}dll ChĉD ҅ h|(PJJ UV֭[wXqԪU+;v,Q F>>>|ǨRs͍\]]lh!88RRRLJ~GZd*̏?RcǎJ̌\]]-˗Sff&oߞZjEbTTTh֭6m*5b۶m&^^^y/taJOO7۷oɉ(D~=Dfff+cW篌"##Ƽ4b1s2٩cn޼I-Z 555Zr%{_BBjԨA; S 8&MЬYW^dees*FQTB@;wkoҤIHMMMrݤIy W @Ǐ'"/_Jf :uPv( @rdz!ݼyS2m4""zQ]Jٙ%&L@@+9 B:!댴nZݺu۪W\EdccS1/^T;wrrr; S@,q/^;No[ǍG )VTrϟ?'t""ڰaijj;}'^x!|)eٲetu^k+?xLR>f͢Zj}RYΝ;ti3gu= ---233wѷV"+W իWW^EϾڱcmCQ-JKս{wڹsfݺuTV-@;vcZt)eeeQ``;Q.d8[jjjj) ":reҙm۶FZʕ+R/q :Tj!uR"ɋ ikkSVVD">}:̘7___ ;°܈JRtt4ڕ+WhܸqJ]|"66ܳR۶m%HǏpÇSZZݺuHCC "322444jժOty ŋSbbϟaÆغ;Nj0Z P˖-رcdjjJ͚5cǒZwrrrܜttt8pSҎKKK#mmm@6l;yyyE֖/_N|(RvvdQ9;EVTr;wÇSFFY[[ G\\ӆ ($$lll$e9ԩS -@+:DԨQ#ٳg݇!!!hʕցjժIMi~zڷo5JR,^V^-1+W|||[1###iڴizde-.ڵ+խ[LLL(((uSSS@Z~޼yCPBuݓL7E;R] oF|PHaaa4k֬b?d.]9#kbbbڵvJժU#c1S5$9TUU_~2VqrRz{5Y[[ӭ[JիTfM211)Aϟiʔ)Y\]]%ݒD"дiHUU455ܼTJHHѣG%rVZ%+Vׯ4p<?N***R*3wܙJ=[3|)4gΜ J1C$ѩS֖j֬I{;޾}A%qa3 ޽{IEEÏ222"CCCzkׯ't!~ѷDO YYY&5""ZlIՓL9[^88:x YYY*ҽ{DtСg<ڿ?M8K˖-#777Zp!mݺ?.߯իWKZ>ԩZDDǎ#T^=:s ݻw=8;vjԨQ߿/8YZZ̦-HBBEDDЈ#$28Ni):z(m۶8#H$B۶m[믿oUVwܡ2ӧOBQ*<IMMLLL(""8yܿ !55-=;;444hܹ:,q-+>>Ξ=Kϟt8LLLhʔ)e@,՘RSSm۶:z6l 5wXY$&X"*k}ŮXV].;DQ+b]`QTEJOkLL\9 CrsҨQ#vGd" .Ē%K0sLܹ b0:uddO!H^ WW\kyxf1y.?VgNN^xֳ}B}gHbIKKCv튽!0 F>/_ȑ#! q۷o:p˖-زe):G7H %==ƨ\WwA,{\0@ )T]2e Fٳg]vŽ;W\jNNl޼ .yfԪUKaۿ[x"oiPLlذA㝐}lٲxV)/TMR)ߏ6mڰy+V!C*Th666 "K.ŇpQ|4iO˦l888TR~6,ԩ.\DFFr-cxH eĈpvvZd2t3u  a~k=l޼LG:CEٲeٌTx93k=tP*u=hD M8~~~XzQ p̙B"OFPPP 9sZ-rJO?t;va… 233Ac@@ۗ6v0رc"!76mڀaD"6utqEՂ Mԩo'Á7@J RKF˖-?~7ol`Łpic5k1~x,[ +H!W\9888f͚z[=j͛7ADd<*d2 Ǿ}rx!6ǏGADؿe0 4~/t="˗Ǒ#G JbaW^}i 0lvMж! |}}YD0qDTT PT)`ڵ w 5k9L7@J "a4ӦMS_jUZ"?`?{S4h2e{a;}4ƍ`x{{^zׯ0m4lڴI'+W0h Ԯ]M43;JF0o<=zTX^k׮ "7b[Fd2Vųg0m450pppFUcccYI&hܸ1j׮aff &hdݺuXb2$##C)x!D"ƍh޼9ͱ`nih[` XFYxo@^^^ "TT #FaÆشi^ϊ+SL1e2Ο?C)L2"d2/^ "1LLL`ll̦4m۶-޾}{д7}yxzz\r V?Drr2bbb@D8r`ddƍlٲ>|F5 nn0 I$*U DjܗL&ñc]cǎ)_hQRHKKÈ#ضmD"6}ta++}ʵGQ-X ƨQP^=Olٲpss7$H$hܸ1\\\ \,11f_ 4VA9pB!Əoƚ_ Ǐ DC: NJJb ~R6|Y'ڶm hذ!:uꤐ~k.\'jeW;!!ehL0jZO>H B^3UVVjjjڵkǏꋋ$(1m4\\\ EGҥK1`6~C "4m4,L999hԨj׮7סsݺuS;E'\.XnQ^=<==#nmm3k,zUœ˗/ZM@ǎUa5$=ᏋCf`mm wwwR 'QQQ8N0]jy >a %}ۇÇh">棈UV_~XlΟ?Çjժ "&M"""W^ ccc4jJ'''c066V&x$ ߿333C)[Rvvvu8Y͵ y ݋-[1πs]s1ZFׯ5O,#-- 5kr L\\kTDf͚s?c޼y "TX'NDѣGqMNO>-i O Ex999SkGGGhB}ҥ055NDEE6Pti4nܘx9f͚#F*Ui 60X,YDM&@^իWj/"B~vD]eֲpj "XҐd[0 XZZVZzBWn>v!-[gtF1j(e䁐xJ W\֭[s-G# |mܸ1ҭ[h̘1O>>>4|88qδݻRSSa޽;8qԬY3 gϞ#ѿ3=‚+ PxܪU+cI_Xd2?j/ DM###?~< _qWRbb"YYYQJ`<D()23ݻ7yyy'ݿW^|r$@\@@:uN:tdhݺ5]rkAAA\KQIDDM|̙3lDŋZj "wm۶eW -[?-~6a4k ]v(U2Evv6\ֹðaÔۇ}iYYޤC$aǎ]ٳgsbժU3 ///;T"##hϧOb\B'Op̜9D;t.]Ǐ;o@i߿?o蘙3gHmڴA0x`ԩPkkk3 F||<Ν &`Νzӛo߾EΝ Χ )t "ܸqC=;;[16?H$I2 ac\t pig RѣG R0 'Od' "ݻk)< %#FՕk _KKKL>X_aPUTZ^nפ[l8 `ԨQE& ֮]["wfd2ܹEyl6Al۶Mig M6Ž{ ѣ1cF)4h#GZO.1 %(N~<$&&/uܙ6mJ-6mѷg3/q qqqADD666 HRVHDeʔdl9޽3f߽cǎ)))ڒU mF"zqD"AQ\\NSLF \ "SRƍs~JF"WWWrpp 333j֬]iǎG4vX211Q^ѠA ۷oF(44T_~[+n:Z}JԢE 0aըQI e˖T|y:qDES޼yCdkk1s#!!JD"{={F}?\rdooO 4͛^tڵ\\\I&zL{oRʕ#\n臀p-E a ΧbAAA8x <@[C aΜ9laggg+WѸqc<'33S/ 999ҥovqŋ033äIض/_(U; *@$5ivʺbĉhԨA%4%+޼y͛7~zP(3E,zO_lذ ӏ'''C  k)<* 1c GDD̙õbtRsi?h"9WkMO>cǎͳǏ; IDATaojUgJ: d$YYY9r*Ν; Ǝ?|mف0i$ǏQbE{)6#.Z=zo]˗/c…XR/ZFdX~=;jժez}v>O0 -vn6l0ت;x#Fp-C%޽˗/S=zի|HKKCzz:222&p>>>5k@,cڴiU3`SI_~n)Hp]f͚f͚l60s6n'''k.$Ϟl888s:}m۶-_aܾ}[:PM6L⇂[[[o{ÇuFDDSNo矹)DyJ6,0ׯ_WyLj-B]%?~YDxWgG#GKH$xxxƄΝ;o!!!hݺ5{ŋs=wѢE x6oX0|ܿkELjժS{ ^,ƍabb2=Y9Oi WWW εtG;`W\i3kʅ 4̙3 "iؼy3~gXYY!++=͛7:ue 0ŋq1޽>,pqqqJE@DJ` ٬ŋ d0 ;OOOϾ|}}RZ"ɓ'*1wB2ε|A͚5/LӦM+tk׮Ń Oqcƍ8s 2TR~}l~< 777o\P… 2߿_k._:]vUhݹsD;w(\c(bjmrC"ѣGJڂ Ν;7oƣG HsP:8"±cǔzJMo+!!?lП- "DDDtZTW|IMM5ظÇUcX`8!))944fΜI*}5mڔڵkGW^+WÇ5hЀ5)W VZi?XLݻw/^()WaX|9}\uJC:p[ ZΔ)Sh m...4m49s&M8\]]iԩNMJJ͉ ͣ+Wh([,=~$^={gL&ÇӦMh„ RLMM_~1$CV)Ppss3k GwpM|ǵkהjf4k -Xu-X,fϞ ;;;fPz߁o}ppQOܹso߾B "BAD=z޾}ӧ-effJ:dffŋ:G}d2Pq1[nG%%s Q b̎;  Zh'Fq `̘197o\r ET! w7NbcTKJJb yCCu%999Sr_IOOJ-&Mٳg5v*wޱ}j#' 3f ~.]Rh,R<P???|U uY Zg4oޜܜƌC-[-[Ў;̙3tY&[[[zeS6mXwooo>nES6mT2eʐƿ{.yzzXUHDTF P/t7lْC:u}B[DDB~[eLW$$$QL6⸖ADDO[֭[\~d۶m4uT6sss>e Cq-C rvv3aR 73gǏB˗/lYYYԩSÃTB=Rk+WzԩTbEh5ݺu#SSSRSS)%%V[hA۷o/PقpZp^REjj*͝;WYD驴pN})-[7n5 BV˗/ANIII4|p266T:}cR.]_~!,r<ӰaCt}RLUo޼!"b ]ɓ'sԧOB@ 2e(1 SU֪t!UV@fҢ*d2 $SSS󣈈jڴ)U^D">ʗ/t^*Uhǎt ڻwo}6kL+nkݣbJV14E_50 TWDpp0>ȣLF~~~5gϞU[GNZ(''G)} aLJ~g{.9;;iժU\P:wUVh̘1tq߿?^TlYgϞӠKNN&+++7n^ZX]J-[TjժQxx8IRJJJ_Ӈ B3f̠_jKr4mڔmۦ2600^x5ѽ~FE];;vt (Rɉu>ѷ]&H(,W(h>}%K(]D"ZzZf,YB5J4o޼BStω8c0a贀TZse__v 0}t +++iѡCl񴠠 !,,,Zj^z<֯_<Ǽr ;@ @ 0l0ܹ } ӧO;Ѿ}{ٳ/^OoooTX2 /^!:::>߽{333|e2/_`֭z].[ 7nX>h|T*Ǐu;|||pEN>qBBB=ÇrJbccѲeKD"̙3G+ 2\KPB*7nZ )fx{{nݺ\X[[+v yf?z "‘#G H0l0L6oL۶mSH0Lw˼y M-^xAժU+4)d ̌} KtI*[l-={ZJTZ*fΜɵ |D`cTqG&M0jԨ_߶m[߿@<e˖E۶mAD )dammի'''' " 666n%zꕧT*ڵkٝVZٳ " 8O}+o>Ç#%%EM*{Z1bJG[,]?Vh_`/_Жϟf0ҥ8E.#Ϟ=ý{t:|U $&&<5Ca˖- "xyyA" 88>>>xVwOeǎ %! ŌO`bbs͛7 "(̟?HNNH7ddd Dvݻ{ZM؝Ç+7TR x!{,,, wT*X,ƅ 0zhٱ]t_ wQ랾~ XSL7lll+WׯAD8{V+ HOOZVC߾}ڒq /wUxL>o߾-_~-u%#44T'}o޼Qy'O,8 àlٲ6lѴiSKݸ9uի?!0x֍X bƉ'@DpuuEŊ9^:x!J*ӧsK-Z"5 6d_Ĩ f͚%#ϟ?$_~puu-YFFFυ5ݻ}5u')Vܹso#M*cǎZF~ W^!$$D/ A-@Dhݺ5PBB,^]/H5k\OaXYYaժU\K)H1cܸqhРɓ'(U:vX ?kmpa,{Μ9ÉCA&a077W;aT\QRCj*0 ϟv_\ܹ3Zh~:ttaڵر# P@ٳg+.ҥK ō7Vرc "]~a5 Dcǎ᧟~tDR"`Ĉy7nT+Ϟ=tfʕXbRRR\uɇt>ҫW/rC=p̙O|Qk05 DDD ~MNr-ˣ?xѴiSU؀R}ѰaC :}]tiEd2Ν٫W֯_aN:G9FÆ QN3@eddFtt4V^6egg3f`ݸ{F))):ukɋC1  IDAT(bɒ%c "֭֯[pttDյ|rl޼Y+}cj?gddӧXxqw:;@[n,]Te2C:˗{[.aÆ ";P(ݻu#5k1C,6oYf\(H1㧟~¼y/:wM&L@:uӍ7Ɛ!CT[X,ٳg "Rɉa't7ǏW^whh(LLLvZ $%%Ǐ KKK̛7:t5.]uСoܹs7@L&C=ܹsQreexx0 qFdž SSSg̍kyNi_jժ8q"U`ll KKK899cpXp! ۷oaÆ"5jذ!ʔ)VZ'Ndw| PÓGTo#?~o۔ԩS5j`]K^mV*#GĵkÇp9:TRRaݺu8<>}DoooT\J3#FABo7Fv #=WNj.v999ӧo*U[-W&D&MgϞ;w.JӚt|Wsrr"u)T7o`ܸq "T\!!!yͦa͋@>͛7Z,~BBB"OzjԩSX~=٠s}e<)Yhx!O<ϋAڵaccSN\<8/T0 ,--Ktׯ|Ϯ] X*;|-[Te2dF D"tx¤a۷C Af@DشiB+Vğ3*`0 .\"˗rX W^N:pppZBXXV1tvܩQR˗gׯADDժU] z7ݻ9xJ<)FٳDkU z"_?tܹM4)dJx ?pܿ?/tRy(1i$vӧOG͚5憞={bhժ,,,ؠ+V,"vZPU{UsÇׯ. _bHRܾ}5ky~ѣi166Fjհzj*nsŘ1cXRڵKm7Lm2k,6acs짟~§OsqZMa۶mO]^jnܸ[n!##XKo߾ڷooPq.QQQd +\pA} kkkehx JJ_j 97uV듓1sLB bŊhҤ #Fo߾С5kYoj􍛛#?D"0ؿ?Hiu^&Dݻwƍ "̘1Cɗޗ/_PB4hGxb"kZZZn72 vӧO ̙3G:Txb*LN߿_ !1fNhv}bYt)۞[?֭Җ7vPRJ)J;p |_0..MKDaÆ z2~x+WNرcEv9++ :u;w õ#Ȁ3kb֋!8qjJJVzz:&Lcccv^z )6.&&DG%v?^~-֎NC۶muJ62eoQ:;;;ǏW)388޽åKp!5 Os6m?=zh~Ʋe˰k.(={ԩ*?m-JSRJBa "\R>/ؾ};7n "BڵU">X%M||</^ cܹr%GHLRRRrr޿ٳgaii-Z̿Ϟ=+`ff#GOq?~TY{x2'>|لe???6q߅ T[}qqq:1YU~E4i"WBmr'= ""*1rH  &;?N>Myyy ]J Cʕ+Էo_v?W^TZ5ڼy3lkQRJ(55\]]52FIpy:<5j4uTj׮={f̘AիW' Sƍ5e>]rnݺ1JGGGjԨQZnMǎWܹsK̜9BVdߟݻ'-mVyPH99925i҄ХK988Pi׮]L(55߿O[nk׮QFӓzM""T)L@իW*"5j(u?+óg͛7[P(Ǐߴ4JMMz(9oG hW@ PHCaȐ!P;veaС055@ @ddoݺnݺ+4I`ooRaG(J066FQJI̙3ahhya޼yXl竿 Ċ7o|>>|(ի9v)T4##iii*q!_^湷o߂ФI<7oހCF<(YSoÀ X9uy I_&22cz*~Um033ChhϢw@J ϗ*. ÇXd ZjCCCV#22 "8;;cHIIٳg2*@D>6D"TP#Fߒ~c'aׯ_ڵk1zh!883Վ<3<666&8y5|rsKԞaÆjժJ_0 oyddd)K©9s9777ԬY5kСCTرc7l؀ӧO+zAQm#40#?H_}z?xwx̙3G'888`6?)%L:+W?˳E"##*.χI>|i&믿@Dؾ}|9 6,Ie2.t/_ֶ)ztÇ6C WWWhی,%Gdffj,fX%u֍uFݻwL<O5SNec- cddDNTjU>ZlI4d4~x}СCi֭DD4w\l\瓟O<Ox]E;**t5VVVdbb!Ǐ~z""R֨QCRn]@zDKiΜ9ءC233>|8ÇbŊ ٠3mJ>|ʕ+GM6ն)zte%effjی.ZvpĀФIm޽ï*U]ʹ@zлwo̞=wƫWw߾} !0 X/,\ɰPH!IQBaR֭[+w8p`mM" A86Za0a0o7h V)!++K-,mPlYڷo={ɓ't!9s&խ[(,,zMA^d;w *кuJ蕨iӦMN?#{E1bU^?~ɘk׮5k=0 ͟?_H$P1cxrrrJܼySGtq""266VX0>Ux!m۶4Inn.M8Q#}zN>M:u8,Y#3f HC1cPXX=gϞիWƍ*Ǐ(=cnnNYYY6㿋 =ѽ{wmVfh?bǎh߾=|>ѵkWܺuK5-ִO`eecJիʖ-Ç`ggk|>#GT;.aTR}U]@$ڵk6CsR*O*88qqq%jKDD|={ӧ<0L,\P-[`Æ ǖ-[ ˗/QbE_z#salܸQdÜIM4aff,s3gdI|BÆ ѠAT^FFF.8#puu$ "##wG =zжYH)G:9ro欿waժUo&ϟammqq6&`ǏDh8e_%5k?~=_Bӯ_"¹s}9Zai o"`!77DmyH8J1 IDATDϟ+%JP͛bì 1,((@NN̾Uӏ=ߎҵ&//OҡCyyyXx1FtRlٳGƱc#\zuԁ-޽{W/C 7_. xyy%)%^^^6CN1e˖̙3l3k,v SL%1?^Y=rHc1>}h\  ЏaAA-Z&MVZ055 ]t/dlM0  /((_֘<=q2dĎ`avN|ڷoTe,ѣgE% s+аaC/_8p貳Qn] ((HcFׯOOOl޼Xv-VZKb0a5jCCClmmѹsg9rD+y7ݻw+zлwoxzzj )222333A "ܹsGH$bk C?;vrrrjժxضm{.!!uԁ=rrrp9sFo;;;̟?Whb^^=^1y" B={aaa?rٳ2Qvmx<#Fʕ+qUG.\l[H2Z||D ,k׎{{{#;;[%`r' ",^X~PD$iiiY}1byooo6)ѣG8=ׯ!>v_`[nXl",,Ljz8s f͚~׬Y;vPY*ZB>}Jl<=RB>}dhǏ} qEZZ\ daڵ8UN*UJ*x֭ThA`` !ooo a`oo_lիe3-ZGGG|chӦ гgO˗ N> gggV{/J-].]5nݺ033CTTv 333ԫWOa `e#yʒy=Nhٲ͐"--M㫂"R=,X\r۷o%Taee%W e˖ }bm/ mt7^~-b/ j*ԩS 5mW؝PHOJ5?Xd aooܿ=~=gϞE.]8 t޽H޻w֭Ӷ !v>&M$=zT]YEYn uR1rHq}|>X`9T-Z-w@J N: ";;׮]Chh(w>/30 ;v,Ο?/ɓ'5j2iDDDW(eggg| FFF%2:u(/^(4A9۷ڵkχH$)SJ| ,,,222pi݃p?^!ڵka``6m 55UMJJ Zn CCC\RaGh˖-hӦ j֬c";;[n߾=Hz4˙3g0qD#%%EE /Yzŋزe  g/^`Ĉ011D2hѢT^; }E6CB۷-[d'<>k,v̙3 "f!BDҥKe:v(0T8ý{pm;w劕+Wj|XbH6̡9r>~P3fHX|+W)ȊfNN"„ F(b " 4 `-۷oٶwA6m@D_>V?5kdӅdrEHHg}aÆrì~gtؑנ /_䑛q Hk׮aʔ)pwwg{kժ#GbNNNF߾}ADOѯ_?Nԣ8zЯ_?4o\fh4,]Mn޼9{トt 055Eq[n:S`O\$66ܭ ?Ԋӧ8_Zl "t;waÆԩlذ8q"H'vadѻwo&feeR"֭)Tٳg&˿} 6R+ݑ011AFXƍ?>LMMѫW/B y}6/PB_}E||㋯=pR[+VpOAA\\\0zhmkڴiz]zADh׮ʡ>߱*VB̝;W o@"5B!=z4WҸׯgkUJ~xWFT^ƍ*=ʢw@J 3f̀$\˃a矰5p% Ұh"̘1ӦMÚ5kaмys۳I111PW*&&F#xزe ௿B6m`ii:e]tAZ`hhɓ'cܹīnݺ̙zSW^i6mlmm5ҷQشiB!O{NU}srrXyb ǨQ7PbEX[[QBqU8::9=-[Igdd_ewMP޽[b_Rl8}4q<C߅uVSSSѵkW/ǃsNKx<㏸wk8}4E pBD6mt.¢B 2e}ւztR|TZ;wGa66>>LoRyb΃)~A E<;wt˗/~tNNN:>bĈg'MNШQ#[,+aɒ% "̙3˗/prrOĴ?~2Μ9k׮i!c[nI$O4I*w B\rn! ѠAvIJJBFݐ+aׯ_nj3&ח/_ܵ| |Eؕ+W UqƱ޿ESaIKKSz4//sA5Xo߾}m8"~cڵ+*UkkkXYY]vj7K}~\PM{[9ndΝQjU,]۶mCLL ݻwJ'%+RBxx8|>|}}hggg1Ǐ/@~Xȑ# "'9r$ԩqܼy\ Mׯ_ƍh޼9p"rzEq'Nʕ+/jѺ0 -[>֭[9HLL?HmH ./_н{w]aW7n]reܾ}111Ν;s<}K,rr9R"U%;;[m}VbE899 ҥKpttDJys :diiiR*TjLtAQ>|%K`˖-jm % i&,\SN'~RQ+P(ETZjjx:vjժt(dggSN044,wUvNOaH)… 2ѪU+|̛7Og$Ν#*T7oٶ\r Q߬, _>LMM8.vĎǏdֈ_ؐNYXnn.ѿ={nnnVVVZu~!IٳgK.!55WXaÆXruuE׮]q ߰BϞ=eU0{lʕ8ccc̚5K#//?Hb]{MW 0`x]b';;Ճ9{n s 8|0^|˗سgV1޾}۷<k瑜MJ8 NNN=zBnٲDUA=z4>}t] ]zuy:Ȫ)ܹ3yrS, qYR.\ϟgk2婋pqq$+¹s`ggWWWa̘1xrwd0Xh РAst4ɯ_ "*Qiq=R0044… Bu 56ZjLLLNh/iv?˗/@ ЙP3g`Ŋ OJJ¤Iccc%V._ ccc}%[9͛*((ԩSADӧCT,D{PXޫW؉yJJ \" , {"BnτB!"##aff###+3/_nnnxB6m J&$$`֭TݷҼy~'M$>##[nE֭`ll ooo˖-әg[iA\Y>88X*n\>QFt׭[###-XG)EbѢEJ]s)Hk XYYaʔ)v:aeeK.%%ׯ_{^mΖUVID\\BNqPPlmm9S 2D4o|>˗/|Ea˗/χTƱcهH$ĉxV^-.,,@"yG^?#Zǥ>+V;'" ;6l`pB}{{{3FccxxxGcC Xl>HTPֳ.'~AAARNы/Ԫ(=k,899,XU4[ O1c$ 333)SkF2e`ggJ*5n||<'N" H&{.0}tjc%u""8yZ#&&FcxsNuh.=zTQ^= 2DkG >}c^z).88\Y>>1TeѢE011QH&5k* ߏٳgK9f_Bz. D"t҅SkĈ`pgΜѣ "~`$''ku[bii*}3gJI}ׯ"s׮] жm[9^^^pvvFŊAD044DѱcGt VVVY4/PPP]B +V=0l0̟?_##/^DЩSROaH)bذar ӧOVT?rhYʕ+dBB,--ѵkW:t7ydv+W ZСC7n1HW!.]$WQ?sfϟ ` ,CN8i رc>}:{djK}˗/_ "BDDrrr1c ΰԩSMIIҥKjժK.6m&OhLگFPP|NFBZIy hذ!n8lذROaH)bܹpttTxSsH[naΜ9hܸ1Dk+ڵ "j ;;՝qHDjj*!0sLT⊕9;;{J_PP@P*?{5Һuk:Y[{JcGgDo߾ѣ1m4"##CRk.(u͓'O"RXDCD8~8ODBCCYu'O*%5jnݺrggΜ)hx[PP'N+a+F"6m"Rqt0dVAbb"vڅ~D+++t۷o/\\~˗/G׮]Y;w֩P3gB Itqqq1cFرD{<#Sݻwjݻwabb"s⒓Ѫɚ 33ǏWGժU+@OZjѣGaxfffaÄf͚u:3љ3gT8DBիWP>OTs炈o!''ڵc;::a}FcL8Q~t9sֶD%۩S't;w:w3g 99Yu偈yMlH)ĉ "NDl"B׮]qݻwuV?blj׮SҥK:0 2eʠA:> ˗/-67aу-8y!?&^YrLaHIuzFWa0|x}PfM7|}}ѠA8pئin߾ CCC,^XۦvZGбcG۷ΝCىOAAz'''rF\DN*&s:N={_H$¬Y@D_98q"x<Ο?_dtu>}ʯ%&M333'6mLj#@DR.YYYy&J8#g:u ԙ]']ťDvz - رc?>뇆 B ^zc?}ǜ9sУGTV ÇۦGqH)"55Uߒ0+W4h&L///88876mÇcÆ vZmjcǢL2͠(vP\9XXXDzcǎ ߿"BttZ\UTU8~8H+rERԉG5`aa\ā`aa5k*,vZf]O<:D"`Æ HMMʕ+allˑ@ E90yyyѣ[PYW*to߮mSTF$иqc`… %-GR`&&&Xf }gggcŊpvv+tYfa/?~5FU;];JL\f5 &L@FFv؁TRUVh (Ǐcڵ_EjJg^kkk+űE gܹse:u*J)%}FAAϝ;'-^&/_DGGy "XZZ*,쑓{Y5X>Z۵9ԥGpppPɉ I; WWWKϲe````,]6m$o񈈈8'{-._,u044 ֭[\dff x/\$gee+V&??_(ϑ"0Xt)|>:t'==>>>XlJW^'OVڇOc (]411vvvNUVE^'W8wssTХK۫ gDJJ N<={ 22 Ś5kpm 6lܾwRRd Gpp0*W()e4k Ӷ2͛71k,L4 Fӧ!fxxxl"ݻ:HMx-BBBd>z >iӦֻ.'BTTѣG5jFxAfeeW^ "L6Mn={V)yҤIW0 N>Bq5k: ,( 6H8,FFF%w!;whuXJ*R#ǃADAn %)Ν;ׯ_kwNϭo߾lºw@J%n,=b'ºF۶m!PJ_ڵADX" kAjPF W-CBBrJc%5uZ6mڠEŶtuիWs%W^N:077+Gy@:uիWΝ; wV0/_ŋVtի+$K "ԨQCZ"IIIС[~3f vڅxVP˗/c֬YD&Yb]aCɓJaD"6mU|8'ߧOЦM<{L ... ۘ(|̞=3{f " cƌv:K!z5DAA:w>}իa͙3r#~'iS&MQ":)-[3gԶR$&&ʕo47nȆ.+= A5I޽{Y%q5o322YFFFXzR/;I(S 0{l0âv:+ ðZ‡8L*|Z!Š}v̘1P-Zয়~RJf˗/l:Wkd֭Y:/c.G+^p{.LLLb={xx5&&&000/%_~xQ.=ܠw@J!-[,sN+ץK8::b*Ћ+8kh%F`ĉ駟$ @ PZq-[To)rJ:t .Dǎacc>uq2BVZUV:?iP\ <DG>lO```/y ZC\oqpp@n}c۶mi qIATT\\\```aÆaΝرcoߎHl۶ [n֭[1p@|L0]#<<DH>|7oXl`Æ Gƍ-d; Cv63u6vޭtu_gggjҲeKԯ_ ??_b2vXoa`aa&+իadd] y?~Vv-ZR(N~Jbb"7n lٲEÖ-[`bbƍ#11Qf:M6%lȕ-{{{4kLÆ yHKKck?8p.5rssb \_lYΝ; "ht`U#"J>:ɹ}uYf;6#nJZZZ [YV>+͍Ξ=+u4i$@5H{!>3gΜ2w qG$;|)]tʶ*;[NҥKI__(449$H#;;ܝ4yHII?"""А)**J"cccjѢEFFyM$QvhΜ9m+V(H<-'$$ґߴ4m۶I|O7oZ“'OI&u$R~~>Paa!QQQSII;Z$QVj⌥tyߋ'$$JN믿ZB!ijjJ;Ax(D"*...w2]aaadbbB5Çˤmwwwjذa7o&uuuqm[OMѶ IDATnj'[LȨt˗/*O@ׯ' RSSSNKAFQa%yILL)SxT]"֮][iGϏޞRRR䚇#uuuڷoxK]p>|̷"ڹsU޽"\PH[&-a[btouŬY} =#G>4j(255?p 󣠠 ~::M??hϞ=tAzxu˗g?W\\Lsi,F񊋋iΝKԹsg200PH244VZ/?/Q>Ȭ0N<)ŋӧO+i%OO7π߭ϟ'$ldXQ鰤Dr4r2V\\&m߾].?=AA3M|> ׸P(˗/LWiNMMwjFZZ]~:tzMTTTʜHI#55IMMuCjjjԧOE˓h"++ӤIhɤ/.RQod\Ǒbѣ)eᔔڶmӠAUˋ4hPͧ<޽(3OsQ+RGuE\N]ϝ;˂WZ055 D&&&ԠAjԨQN?-5yd7VXʯ\\\hYсѣGWkBbbbCR 6۫H~ԔN8A/^]ߌ rppO2:t(޽:Do޼<:p@-քP(T؜,&ccc2447o*丌ݼy IWWTUU)$$DaW?ҩSM6 mGGGq媬,:tT"cN\# oQRRBݻw' #SSSШӂ~~~Dջworrr{̙C]vi~FzRGո P(,7EGV{bb"3 B ޽{_^hʔ)_l'55ͩEb Zl(WW Gn<(>9͚5޼yC'7Q˗SV$ӧe,_455r˘H}|$ gE"֭DÞ={(88XIOO'CCCР^z}S{~lll5nXa fff~5H$^{EQQQvfΜY¦ yILLW~;L9{ŧk}WRRB4x`#Ç ^D"oHUձ?~_ijfu@˗WЗdggd*(§!rGGG?~|`:Sϟ1_חTx6mTD"jҤ YrssK.200{ѣG_C-s$luuuM)66ڵkGСC%@ TJMM%HDׯ_xxFFF+Gk֬Ӊ'(66Ν;G'N #555jܸ1իW(ؕ+WLMM%X[ m۶J; -qe[xQiӦю;*\U. MjjjdeeE7n`z!=hժU4|p211!ԣGrDرcσRW,--ӧOӃj?iΈ"+1c:*;;Ж-["0JLL,sruuuΝ;K=A=z(ƍqFڻw/'fر6ocPH֭#GjjjdaaA ܹTOFFىӫp%FYYYɤ4S;%''%iiiѣGkܞH$\ŋuBh֭h̙2u{-УGd.fΜ)ۺukRSS#]]:0htt4ۓn/P($///@?>wxult]#"S'aعs'Q%77 6b8p 1b?~s4mpwwGRRbcc_.Ξ= ߿-[tߢ"hjj*(dggQFfpvvѣGſ2dp8;;HJJ!ձpB;v &M޽{O(B̜9Xx1֯_UUjFA|@Æ amm.],XPQQٸq#=z}bʔ)2m[^z͛C]]]~z*taÆ!)) hժWq厈GݻwxG%%%P"pww+FDݻwٳ'ZlׯW.}|֞;jt444աb}V͛7x捸IF0}tlٲEzꅎ;СC2ma>>>Xd rrr$QZZbTfϞW^)))tk?|>߹s000A[[[L0=rrrЭ[7t B?b(_5LJ.?yxмys9Ì3kk2ݻwB@@9J(0;7Fpp0t""##1vXBܼySQ˗/GrJ/_xDc֭Xjw}6>|X/o<8qڵwH޾}Wbx ڵk'\%%%͛1|G~1 pM@qqq\G)'""~/EhR{hҤIDD%~M6qFzŅА},$=?tP:i(IJW\j.veԮ]jO(͛I]]:uD 6f͚;au@nݺӹ!{{{5jD\|ttt{Snb夡Qě7om۶ԦM2())Q2|r4{lq=}G7nTL"hÆ ٙc}ϯѪj* hߗ/_ҹsHryO[%y`۶mFݙꉏ'ڸqcޗC-ZDEEE=z4:)1#-MFݻw:T&NHH[[O˖-3gÇ֭[JGV\I4hР -ZH,djjJ۷5U̟?_iK"fvvvL:t ==zF#_G:t(j۶-hѢʕuP$7vj r_@@666NH@@Q%PHzΝ;W{ZqYuСވX%UU/.Χ̊)""lBF͛Wނ*5mڔPQQQmD"j߾=?:ӧO 8p@6㔙u:gРAsu~dFq|ƍH$W^EXX.]6m`ٲeЧO4m&&&coo0`llluV?C]uVb̙R-ZXF9H=`ccǏ#''(J ɓ'Ѯ];BWWXhѩS'bÌ3/1>x6!"lذÆ C>}333c1aooggglذ< =)--ԩS"Χĉq X[[ڵk7E`llX ReFK,:::RSQ$;;?2: ܟᕖH$£G8;,XgϞaزe """ЩS'2ڮ]8I0*X;v,.]+VhԨB0kԨBBB|r,]ƍC~~>ױNSS (-11/_V;prrxoM4ŋkݳgODGG/^@aaa_}zUWXAM6={65hЀ޿/uʕ+dhhH͛7Q|Zv-x_~GIIԹٳgKOO`ff;wA?Ɓиqc066Fn5HQ*W^a޼y\Ǩ1c\6\kkkdff"22cǎQ:Qq!"">|udeea2L [[[L0jjjRQPPmmm PQ?pppw^̙3;v@FF]033p֭[hܸc˖-h߾=9M6ŋ5ktAڢqƈW< _̸a? G>|:Jùq"vA@\GbHOOϧ;vTkO^~MrHǽ/_RXX? ڱcNǭ+l͛7N5"4a#ܹseP(>Љ'諯"UUUwըB5kiӦQaa>ǣ0=#Olqpp)e9^j3 IDATorCኊ0uTxzzbдiSc1L4m.\yiӦZmBN ݻwmFDDDkqBC[[L,\666Y722Š+`ggX9rnBLL 'CO>E۶m&M`̘1033ý{sjW_O|&MRPBQ>m۶3fXEjDtܹ&M`ʕe ܟ:)8<ѡCܺu }]td=N <;wF޽ho\޽M4A6m`iiY6|c066ƭ[УGr G۶majjZgvVVVu/^+*͛Fjj*nܸ:L7ydܸqo߾n޼Y J&vvvׯD}cƌAfff D"dffaذa:vXe=.^h۶-1cƌZ5'!,, -_fD5; p!L>3g΄[;QQQBV|L:'OƨQWaawkcѣRRRRWٳg"EEE_|חԨo߾T ýTӧў={*'!!ƌ#՜uִpBJMMMȑ#%%'' uܙIGGݩaÆJ;"'---jҤx ѣCt }oTfggx<"[[[ե;6AeffRΝsΔOI{yQ>}aÆTUUiРAo>&={o $cccjРm۶JKK)77G*8rjQ,:wLӧO:u{-ڒz| # ???RWW';;;ӕ+Wd۷oG|jذa?]vӠAڿ?YYYQ=T&A Phh(-YzEE{D"%''/ 0TTTS I||PH?aÆQrrrcI:B7m4ҥfCt( RRRLETxxx/^իW1m4c1R>}:^$X[[#::H2-[ʤ-Z #GĩSs7 + q#..;|sa 2'ڴi]vÇNUV5kl߾"VVV6lD.))l۶ BBBЪUrǒd ҥK5ZԐQzٳ6l`nnu`̙Sb_ #K)))pssCll,ك)SpI |u (--'N)Sˬ0_ТE \|~-N磴XJcܸqe:DTa%f͚AUUΝCVV֮]ȨR1*pႸpM q*`RijjbȐ!JEdd$1%; 8޽{u,Qjػw/vލݻwcРAHOO:;}4Zl}ݻw_p pz###>aÆl@}xɰGrr2\"Cpp0 RfQBFyH=hy(rssR} 66͚59u$b„ 9֑#G8p۷ǂ ;w>|8+$,8::BKK r;Fff& M"""m۶Y!!!:tdu@ƍ7#Xr%1$ɓ'cر~zB\˖-q5cҤI@ :V/㔖bڵ9r$,--?-Z={|AKK дiSg---Y>>>Xj̫dMly2m?88 Le䈳 vI|>233E<:$޿OJ>>>lf1HD۷o'UUU8pxaϏx<ݽ{+Wegg^TTDM4EH$+W[BYmܸO?T;ȑ# R;vT{}Ieffϧ]vɼmF~H=@P|֭[u c/",, ϗ.<0xqEܾ}666{.ױ "ddd(x۷o+vZ浙3g&NXfHCC'NÇ!0j((,sM,^۶mÆ % IOOGj3>>^^^?Ds4>}M6aݺu9H cu/$@uze͔u Ǐ6YXXЋ/0ϩGM\;y$/r=ƛ7oٙ^~Mׯ_'t =<ٳˌܾ}PHHH!P(sN@5ʙMڵ#KKK***pHDwܡUVQ׮]ūɏ3Fc3lllpu@_~ttt?u O??~}Uv- ???@G%KQQQ?1̙͛3iᤢB:uWc={Ru ڵSjXB}ģ5k֬<)(%%ٳO{%۷/M>w}'q>$+++%Ըqc>}:Qii)}h֬Й3gݬY3^{Ѝ7ݼy(_tڵj}131vXJKKqB!Zѣ)77WdrssVRM?~QQ уVP($ooo:u*;wNx%%%yzzvZ^_^fۇh…F&&&t!_ yzzRjj*=~bbb(,,CW?dmmMFFFZfƧ?ZZZԤI211:мy_$˜?!CPjjT?p|0$H/n{+beggÉH(9HD+x|@ߧڳg 2IGG~29|}}Uؙ@dhhHLӧOUVݻ)88իW/wQQ >j)jя?HM4b0ȣǦ5jDgϞ:0pjذ!Ǐ# 277'SSSz D"z%}#w׮]Ξ=K'N={Ǐ޽{I=ݻwO)q%K#UUU߿?yxx|K!!!t}6={޿B2dihhԸMQQŋeQ4a_|ojذ!>DhذT+/_ u҅)!!B!Ըqc#"[zu۶m@ZV|jsڵϟ?OQU9zLGAiРAI.\q{F3bFҒFu/ʢs޺x"ָPH֭S Ovv6ǣ_~E& )kddDHOOO<ɩBPHdhhHo߾ԥK:uxiΜ92kk:y{{ˤaÆLb: IMMM|Emݺ֙3gj<4''F%آ̕P(իWrssq!8 QȠ/Ҝ9sI&~zIMM+z5ǣw~q/^TXŋI}Oz{{Ӻu$xYZZ -^ j˗4tPxm6du@4?=}:wL:::J00 "ҥK*]XXH^hߤ$z9PV>~1qrqq˗S^ׯZ~.--ד:uرZիJJJhԠAjذ!*B##?<"".,j 7`hܸ1јZq```JbvKHH#;v :gJJJ7ɓ'ppp!C[رƍ ݻw'*o]]]L6M>|S"** _} ЬY3qΟ?ϟׯ_ N>Gaju@2;CLL |[ر#6mu/ôi~q6ThǩS*|]EE+9cǎaHKKSpJx498r6o: Tc˖-G@@O*q,$$/^,-(((QyvB~~>&MuFF DEEU_tt4F555G J{c2ڵk=z4KKK#1 SK8y$uz"eTeu5BDDQa# yzz"::ѕ׳gOĠYfٳg077g~w8::sΈea\1sss888`l^u>|ܼy'NPQTTtR/a[Ǝ;׮]₽{* !Åb̘1;w..\4w]5k/bΜ9;w.fΜbc1޽;'7;v@6m0tPS-[`ٲex7o^B .Ď;cΜ9 H(۷o۷o}ב#<ٳgNב괼<mЬY3Y*#55Z_xyy 7SSK< ѣrN-br +++z ׮]cadõk+X[[֭[\G~w\rFmddd`ѢE {BMM SNK wX>&M___J={޽{ x< 9^}o>m۶Ell,zu$aꠞ={"66mڴA~o>#YƍÐ!CjFǎqС2eu/))/&MƍˤMFyS%OOO}k׮›7o䘬I&r2VRRsbƌ6mahhu,a0CCC\|SL7+)):VӪU+ʼCEaaa DJJJX$>6H!p 9+;wwXnaшΝ;1sL#1 Sٳq "2+,,Vڰ:._,T2a# D<==qMܾ}[MMMw9#111ӧOq`f˗kkkr+..џw>?#??_#""(a$2blRǕһw;w9Yynž={~ܺСCӧLLL[[[#1 S!66FFFǡCT-X =fv`gg555߱cZl 9'c: D|>̙ ߿=VVVslll؄5)bo1qD\zdF)ի0a[,\PniӦC =&.ޖrѣ;wnL: f̘W%ē'O#X娪ѫ)==NNNصkv܉}ACCX 0bؿ?v܉;wIb:ENRfI:ngIDATkӧsQ6 S",, IIIUޙwu놫Wo߾ JT۷1rHĉׯבa*uU= 4@pp0zu$Fڴic\a䈍0W^ɓUknnMMMN+wQ١I&eaj~!..űcǸˍ4(ly=: LXXX +D"Q|t֍ȼykΎB!/^ & 7n@V0 #VZ͛pssdBc)iii\ǨH$6UGjy&#GV9spuܿ_Az1444кukN2220~x\t [lu,aoߎEa8z(T~^_`` pMV}`F* @NNbcc\^x/^#ЬY3۷fBnn.9L帺"++ ptt:0LaرCpp0vu$FBD+++!<<8G\ -}̙hѢ۷oC$ ɓ'ѻwo 66u>SXw8uב ;woʕ+(0R0`zu֕]RRqa޽҂Bq X|9ƌgggDDDM6\b6m ""=z4VXQ|ź*!!W\:F֭-uFAX ʕ+q֭2åh֬MP!((L0vXN3p!++ #F_lذǎC 0 #7 4cǰa_...:…]v\ǨҥK+WH`cc]]]\|`ffaÆa˖-+/>> ÇpuuŻwpQ|7\GbQPL0͚5ӧaffu$3G~~>a# L xk}?~qwWFF@ԵkWvqڵkW_i۶m8qb9?( %={N*zOHkʔ)3<2hΝzճgO}!fԩjѢzau[wyG7oVhhKG~~Qջwo{:uTjUcVxi ӧU꒓h"cHzz M8QnnwanYQQԩ|UXQaaa0aձj…rssíRj{(77W˗/$5khjԨXl޼Ym۶Ujլr]=z+Z&rq={ PQQ˯ 2D]t:Fٰa|}}u%v\CϞ=eUTT6m\>^V&MH%l27ް:u!???]xQ(5nnnPZZS"!!!Qb_|l6Ν;;wR>jΝ:sڴi-[XhV(xܹSr]QJsMΝGX5kƎg}V+WT͚5'N_~ڲe"""o(((Pf 6X~ԅZ`Qr.r9w Z~=VZڰaBBB4f 8Pϟ:m!**J?í bZf8[paKŋlu$(bbb4l0=JLL}gu.^J<5_gtUZU͚5CSNI& (3Js ٳg5c ٳu1c\"ͦ'O*--& ֎;'ͦm۶Yī*%%ElYkN޺{էO͟?_{5ӧO׹s4eScN3qD͜9S5jduѣGZ0 ͝;Wo:vUVN:f_U߾}}v͙3GK\k99͛~SӦMմiS5iDRRRub[|I=C***Raa kŊ#ffaÆyRHHN  &??_M6Uݵd .\ШQ7|S',VTT~[sСC5|u]V0ԣGeff*;;[k׾kϞ=;vh֭ںu~'UTIT~?^v|@ݺu裏*00P 2d6nx20@ϟѣGk׮]jٲq\ZnnzZphu$Yt^~elR jРՑ.СC矫gϞNȑ#r8r8JKKӖ-[Ըqc;2d*UݻwGӨQ eNUXX(oooyzzjӦMV)'Oꮻ)󥦦*00PJLLf3e^q8ի ۛ2ɓ'pB;y Ч~jJS*66V5҄ YW|c:]ӧO͛yfXffBCCMkԩp8(l6ԩS'}Ǧ̻o>u኿?^|E}݊4%֪UgiԨQ/5c  0 =:uꔲQ~~U/^_]^}U͞=l+(([oyiĈ݂mڴIÇuqI҆ ԵkW ռysծ][;vpMp-b׮]l1cBBBcG矗5|p#n¢Eꫯf)..N+9^|E}';u}qƗ>lRZ*yoVDDƏ/!Q@`7xC .Է~Rt2[zzz-0mZ p  *(11Q6vjj:tH=Znn}ÇլY3˚={q( 0M~~~aiFIIIV)\mܸQ/-d9R>I|GQ``CP۶mոqcvUX:233r]\khVUH}ZfqJAn鉱z4l0 4H[n|m~JII5l0*,,1┗y敉{dd$ LewﮜݻWUT:?~\}ю;GiĈl۔a믿+66VsMﯴ4۷Oj*夥̙3j֬Zhuq5SUPAsfu̔fw}[jȑ)mB 5jf)++ƚ={.]~0/;w.9\YfiϞ=VǹaK^gC{p8?.áu}Z|y;r䈒%|j*mٲE&Lpf[g͚5K&Mҟg !!!jڴFbXqq^x]#EEE3f }Wjذ)QFھ}h̘1]X|ׯ<>}Zb#߰b9R^^^3fqPFIIIQNhѢ2'Nf͚Ĝ h֬YzXr0 }3f:uꤘծ]}c=<< .(((%6ے}.n[f̘hm۶87lΜ9z뭷$XT+((HcǎU@@Nc͚5 \a֭vޭ={- P\\)S(,,L.3\ۙ3g4x`%$$hҤI#-YDuKN׽{wvI֯__cpR˓W^yE|TP@͛' 6LV,kڴiٳ|IܹS^^^O>OGzKt>T*UgϞRa ʕ+kܹ2&@KU/^͛7~[ӧOO> դIXkp(-ժUSbb&M'O>:s5qssSKm -^Xj*1+O7p|?ua-[LNIJJ驤kwoyKs߿_-[СC5o޼[ oEDD^z{qiZvjԨQsPZjԨkjܸq;vs5ޒ;w_&Mǫ]v_APXX~ZTVV֭{c:tHڿէORH 9V^CK]*;;[9997t#ǏGM6՗_~; Qޱ2]111*,, /pK׵JRrrl6󕖖F9}UZZN:%ͦߋoqƕxK.***RLL NCAQ~}XB 1 М9sԹsg(##C(kyeddUVܹ̙#0ԸqcM>]QQQJII)XSL֭[z9785.B+44T7nT.]J|5b-[L!!!Ƨ;BQQƏ3gjРAҝwީ;رcڽ{*W|[n6my<)..s='ݮ]vQF=V^O>D7!)Z|^|Ey{{+!!AΝSVԮ];^ZuԹ☟~I[c=k͍ d\IyyyQ m6UT骯ݾ}yyxx(11Q[61)R@@.^8O>\ԪU˯-((OӡC4ydĉ Qddzeud#\20 kƍr8ґ#G]v)**JC :&YdF֭[+..N/֤ITJ=sZr*T`uL#yOfӝwީٳgkXku<,޽{X TZ0={վ}{OձpǎS``v!vy{{[ kn+44w*((ԩS=zXi /P@40 i( LC` P@40 i( LC` P@40 i( LC` P@40 i( LC` P@40 i( LC` P@40 i( LC` P@40 i( LC` P@_8XXIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_crs/mercator_squashed.png0000644001374000021030000007536012520135744031112 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxyϬ0Ø'"d.*4B%&R"$R$Yʮ ,De1Ì1ߜoa|<0?>g$.1!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81 vHoǎ2paaaVtioq";vX2e]ůJLvO>ryk]we-Z}z+֞={O>ggϞ53z!/WKjuԱvSO=u[&MlֱcKZvǎv>|5oL6ƌccǎԩS믷0KMM͛[…߷ w}Eygȑ#{ֳgKlv ѣ*Tzt֮];+_ >J("qY&L`)RĦNjv-_SF rʶvZ{gcǎ6`ۺu=VR%{-03]ѣGO>S[oe+W.J?[Nb%+~z֯_RY=õu;r*\.=23KfErei;~LVrr%/"ErʗR>}tm?֩S.gߖTpa%&&{ Wt(P@fu֥[W…}ug^xAf>pBiљZ߰qF:w e۶m23ʕKSLQjj{iӦ駟JΝ;_|Qz<򹛶)Sh Vݳ+#h;y*T%J_~I/vF|֭[;m'{tYf#G^O>TNtitM*VTbŊ;TwGi޽W^yŽ\Z`YxLG^{Mr` ;zLfxթSG P޽o>IRz4o<;wejԨ!3ӣ>ߐL>,մsNUREEUrrʖ-u^֗WkYG!оaϞ=ʝ;ڴiq߹\.=]J9!>rL2ѣG9zڷo9s9sJJJr?i&[ZlXXZ4dUZUfjժ6O&Mtرc$uQfEezk.nK:sL>[wݻgLJR֭yf'O>vfIg۶m(ez)))ZhΞ=3g*<<\J҆ $IQQQzW=W(kYG!о㥗^RPP~7or9yC]r۳QFʓ'ԩk׺ߴi֯_ 6~Pz^zIu=zT?ΝwyG {NV|df]w]C߾}^xAEx ]qRz-j֬nذʗ/~A7ovݻwΝ; _9r:>S6m#GUVM#F̙35uT=23 :4[7h * @/>cߧOtݺumۦ|np8x5nܸLo7ߔnӉ'$Iʝ;7_:*R>orq\jР̌SW˥:qƪYe[nў={԰a.ˑ#VZ^~ʔ)]v)**J%KTddrʥ~iڴi5j4hk:p{G}][JJ.\ݻ dFllBBBBuֹiӦ>}BCCݏkN/^Lj7E_^uQڷL2Efɓ'{+βedfڱcKA6o ???˗OsՏ?uiÆ :x.]z23hB}~>|8]ܹs.HڽvÙއ{O>jӦ&Nx{я??\%KL2Zz>C͛7e0]tq_"VbLדUqqq:~cC?@nZ'Okw-???}oҤڷo].߯Zo>SG!!!?2ѣӧOgmǮײC8}R=  5kZ_~=2O}ʕS-4l0EGGTD lR6#3% 'N8ſti699YHΝnݺG23۷O 6o}{RRRt뭷*<<\m۶p.IʕK7:ݻuuN3gq3KwoȐ!;>>^7V"Et٬UZ1p~~~6~xlV~}{ᇽ]O۸q͚5~mk޼լYӱm㏴Ch]wܹfΜi|󍅇mܸq7o^={nO>Y%%~WС͘1^x۾}3Qƍefܹs]O5kdfٳRRR]YfH" ծ][aaaTvޝuUuΝk\+W;ڲelVJkӦM:ۥyբEcǎ֠A[~?jj=կ_e˖ rpaײC8]ÇiرTս]^wFq\?@e𶘘)Redڼyt뭷*88XfRJgсk]t"CIJJJҗ_~ٳgkƌzTT){7tƌgxC=spf̘u풗ݲe *9rΆMײE,hܸjho5mo߾k.+Ymܸql7o^;xȑúuf#Fe˖پ}cǎn,55*Tɓ'-< @|oؼǏWΜ9e˺>}c5>}i[jĈj֬^(QBAAAI2?իWkƍPÆ r`%;1/۷O{Lofw5M{~JNNvJ,[nE_UV*V/{Ws\ ڧk׮/~}ײC8}[/uM7#뾚&^%J諯rOT 7;vP9ԧO^6Wk*\rećp@_>)44TL?n6QF:vǷz)G0`vmYv'M$3cuw[.dRJJJ7Ϙ1:rBCCճgOh^L;w֜9s|fXlxF簰0mڴ_:\a{-[xt[QQQsل ]vhzW^y6l`mڴ-[ڑ#Glܸ^}U0`A:|u՚7onGJ*y$s?$+[RRyԣGլYS/5`Zn={xl&L_ٵkWɓG$]vU7""aHOv=i$osEk߾z%%%ԩSUT)%$$x|[~Uti%%%?o]?oxޛWm*:t萷K?_:΀#G{m֪U+>}VhQ5j6a;w-Zc͟?I_~c믿n9s洮]ډ',$$mƍff7o^33,SN/ڀk׮. /7ߴ\rٜ9sl6l0~?~رڴiceʔ_~n۲e3o6h rq̙͛3 5k,={;V`AoxD2b߯pUZUfs*>>^!!!*T{=XtcR-ZHVϯGyD_.ZHְaò\j\~g>lֵ6O=eI;nf:uǷrtg790*Tz_ *D2d>#}'z5x` 8P111ٳZjZjQF={ʓ'.Lh IDATڶm.](66V ѣG]#hv9/^\͚5SzmܸQ۷iԨQY!ڵSŊ?WΜ9/_>wGkȐ!235iđ2pWQF̴wlֵ6III*[*VǏKn6UV-[写_t?r4b:tPuI۷OWĉիW//_^Eu'w*^J*2eʨJ*j֬v%JhѢڽ{wTR*_N8{='Sǎ]#K/P_$=23uA񗽍H :S%gٳguYi8աEּY[lQ@@6lTM:UfFG'N'H7M7ݤ4dVHH6l/R;o]NҩS.PBjݺuKIIoܹspߴm6Yf23[.Z@|i8-^iӦ)<<\UT!zϞ=+3ɓ=]v:ڻw֮]UViӞOK4|[ڐÆ clҴiS?.˥iӦ\rʓ'OP<|pիWOӀԳgt3K_RJ?>}(((Hzg\.-^X7|ԻwoR͛7W2e/+((}#諗?m6s7oVddj֬y323͞=%K~'=s`fU͛ui石xNÆ UzuG6zWwy|˥?Vhh7o~Yg2?Ç+88XʕӁ3f5o\{։']yvޭ_~EoznMfna6l-ZtС*FFećK/'NP߾}`[~BBB2b֭[瞡f̘qQreURE+Vt?aÆ)99dFVZ9rhnZkDKf-[/W|g2|6lxxefOrt q9>˻`?p|M0\5k/"&43[.%ڕC|n׮L}ϯ͛kJIIvi^߿oez$EEE]v$-ZH?ڷo:(::ZO>?G؉رcղeKժUKգGRJ={cgw\ t7;6sΕ?$=Z!!!JMMreef^e#KƍJNNּyj*OaÆjժʝ;y_,^XSLi׮]Z$+&&Fʟ?4iiӦi̙ܹjԨ!???uz3u855U O}f͚GQ%J*Ul2G.lŝ>}=ӗ_]mcfoW^믻'Kj̚5K*W:vHJ,顊3VD UZUF￯uȑ#<(3Ә1cɓ'+**JrSO={=c@@nfuI~.y{ǗZJD!z@\.>|Xݻw)o޼zg.vΝ;/icǎ)wjذ῎b#I=O?;TUbt3+g֬YT@wH4{;wjǎZbEّy>CorMp\ʕ+~'P``~aJ803UV-[>ԯUL%w bcc'|s\뮻tm{|ذa2,L /\=zdʖ-_=KC#J.^zykF5?{^~ewN^vIog23{!kNʕ+^~<{ڶmؓyݏm޼=J9dfWG p%|bŊ$/Vsu޽=֫W/T-\0~co <ؖ,YbΝ3e˗ۈ#N:dٳ{ӧOoqw.\h;v?~۹s;n33˗/mذlb;vbbb,""̙cffv۷۱c.dB 2w}͟?,((le裏?]waaaaٶ`33KHHveuֵ+W[oe <.\PP}gvw~H=ffs̱EСCݏ;&ɶlbG63.]di; c;s挝={6K|JH>|f͚u y#T]˥+VI&߯'jʕ={P>ې;wnyꫯ-6gAN.I&;QJ\'eʔ9s=F/ ӽvȑ<裪\ۼfΝ ֍7ިe˖{Wtl5qDnvɎ9~4a„,oUBt7u$%%f͚3ujf,^X~~~4h?:tr\%WB@|o;vcJMMk5kOf6mhlVz5oU@:S~qEDD($$D#GȽ rr4i${wrԵkWȑC|Mkw}WJMMUrr .G}uINN̙3ժU+/Y0`Ν߿_/ڴi^zi…/YfZj:Kj6mV\yMrٹsLfv)פ7xC:zhǿk͛w~wefS2e4x`⋙Ӿ+nݚקjҥ2d/3;rѬXhL ,Њ+Tvm@>e7))=C=䱠KԩSt͟MײC8Y駟cG] )44TM6Uҥef]ݛzn \SB͙3皻j4n8Y\w!z.iܸq?=#wN:y{ԥH#Gtޭ[7^ڣ̟?_AAAFq\lzҥKgiΝ{ァPl#glժU?顛1kYG!о-33zok: ~z(P@}y=z̙+W/?8=zT+VP:udf1ct|}|!Cdfݻۦmg*[Էo_;vLk֬{Zo>}|o6m 6\r=6͓W_VTI۷3Zp/^Eu,?ŋ#G(00Pjݺ̌Ceć=׾}{͝;7cK.{|p޺ϛjС1bD٣0;S}^vҥUJڏÇ'9ѣLX;w.Sk.5jSw۷W5.iq\=s?M{͐!CԬY3Ν[7x~WU^]܏83FVHHrȡhM6=?1`hԨQm͛y旽زe]qŋ~sBאϟ_mڴ~վ? dćp@={x˖QF/23p Сf̘~ZoFY5J!!!^}(!!#5dwl߾]f ^uO?/drL2jڴRRRt!=zbŊK^_޽UdIԖvfB?iyײ._.[``XLL;wVZeӦM5kا~~]ҥEݷo-ZԊ-Z\.mݺJ,ir:ͮqBppUXѶoi,YV\i6a339rڜ9s,..*Ud֧O{ǬPB!ۦtV`Aoy|]@@8q"[kɈ5ꫯɓ6i$33_K.֩S'˓'OWT);|Gjs\ɓǚ7oGZjes60:p ĉmv9sf͚t߼y9s#޻wk*Ud˗%KX&M)լY6o5l2ZM0;[mնi&c/Rq9ok׮6k,oۮ]2|Mbb{־}{K 쯙7 ۱c'E7|u>|c!v{_a{`/ڂ s6p@lpO8o:|j׮@M}ZjҤ%>swu7_Ԍ3Ν;_~PL>N:iܸq:wV^{W͚5s!Nhtm'8p@CUddrȐͿU THM0A111jԨʕ+~̙Swyt频#GjTuvum6n(=6gʕ+Μ9|-[(G_^}[|4i"3Sݺucǎ,3{l*Vn{]6Kĥuۆѷo_!C??oǏk_Bq?ҍkן6zװիWWɒ%uM7VZKMopIZiO9z-ronɜ}VZ23+VLm۶U5fmٲ3~۶meة,'ۦ]v*SLXj78o2yiڲe#%$$֭ 9'.ݜ9sdfM/+((=oȕ_UrdfÇ{̔C*((H;wt-Z˗+gΜ5j_W_iĈ==]w%3ב#GTXtŕ+Wʕ+,]KC- >ڷ]ˣkŊZd"##ϻ^LϟbŊ)((HǎZWdծ][!!!ΝkffO> 2ĺvjk׮J'N1cXJJ-[֖.]jfMgǎJ]W`ocZٲem̘1w\.m߾fϞmcǎѣGۨQw<3I֫W/ >ZxxX̬|ff'ŋϒ\rk+V0ewﶔkРUXVZm޿թSǺufժU{>}J(a6n8/'xV^mfM\1?$jF\\RRLW>[n՝w)3S޼yưx4q ^}KHHPLL{Яui͝;Wʟ?r̩>LK,͛ut7[Nf'j͚5RL/kYl)bŊiڵW|Ϻ/c{rT~tgCJ,׈_:ƕ,mDzۥ(55U_~^y_SNէ~'|RjՒ"""G1|WL={t_.s9\RO<4hnA*UZj^z?UP!ʕ+jҥ:rHM6`j۶mO-^XIIIﻯZlcyKJJ҂ {l}O>s]ԲeK%&&JkN3ӫ*ϒ?#԰k.5o\f ?$}w˯̙3O԰aCx.d#h\RRRҳÇթS'^ 8P#F?;Se˖PB޽mII&j֬ ,M4y[jrʥ;xyLEї_~'*W\U+Iҥ-ZyˊM6PB*Qy^}{L22Z@|4dGlٲ.%ӆ &F IDAT3S=]OKHHG}GyDڷ]hlvH[lq{mW^yE9sdltmr4gi\.} ]wݕ-Z\۷o{ٳgرczdfܹ  3Ӳe$IS|.>Yf*^Tn oׯL7nL>Z1 I?KIqqqv7|`ok+u\ntΝ;gox*w9;adFlR7)JIk!RN?B)z7JSKTF1D+B$rU9fl~wkl^cs^.\8xy}TO7|222ThQ/Wvܩ;wի,X'{-,,Lw{G/z-͞=[sQ\\J.v)22R_RRRԿl{ɒ%/{:rzw}W_~ʖ-e{LeʔQ3=~7h2Kp CF~'_ >}$:tۥ/y>KHH~-,,.\vIӧmܸqVHmffK.6mX&MdɒvW$۱cE{,ܺsli\¸n:{W~tѣGo߾l۶m3?nL?oZX'q{ٳCɓjժڶmvI96rHɓn_ 23SttygՠAviZppyUZUӨQt뭷[o$YF;wVzz;ZjDm׀+>>^͚5W\Zηۿ>|XzqsIْZ?֬Y;foi\^u6qL[Nedԩ}7={ݛ(1sLd'Nqޘ1cXbVB+\I͛[ڵ}vZt}Xt[o#99ڷooָq|X|-[֪Vjk׮ʹ3fLwQvm޽%СCM?~̺tb\r6l01busUͳ\OZbLtMnvuYW^)K.mk\3WYKrCxC }]Ξ=khѢ>|뭷zXﲹr:6裋n> +Vd{.7ćmK.uYzʔ)n9}}3iiirJ9rXhh-ZbbbJ]Nf߾}V\9СC;ZbUR$:0kY-X$yμwikԨUVfϞmYȰ &lO d}]d /5\9koZBB%O||u*Wl־}{Y KFFedd믿yOٲemРA_xe$;vXćF~k׺]c, Ν;[Ϟ=k׮6d۾}ۥK,B Y b~gerp … [lllcUV5IVzu;p@m322hѢ֡C8qM2Œo2ǎ3Iى'|vmƍzVdI[UZg9bpB;~=C֦M۬gϞ6yd;u?'NѣG$ٳ}wv[n=VbEdnC+WZZZ%N9nKޗp{ܹsMծ]N:v99x͘16l`}裏-bm۶[ :wj-((Ț7onٳgEzY}vgZǎ- >,oڴ$̙3/aìZjVLw5_~zjUIM=s挅Yppp m{"u~XI֪U ƍ޽{=߭[7k۶5nSۋ/x}9wڵ>uL~n: 0_.'^udVŕ6qLqɒ%&)[dꫯ_kٳmذa kf ˗͛3~ӦMnUV)Sثj'NSO?mPBfG)^x5jd]ve˖eFzzYƢ]vl qeRgy *͚5x- >7o,f͚Y֭}ԩSz.6l?>[),h56﷚5kZ5ȑ#^iIqqq&zv)5iii6tP *ٳ70.[VXaeU͚5?c_I}eddd ۶mYf٩S,::ׯ9 jC Kk/hwyg璓-==~{?,X`6lѣG۹s.iZ@|oh֣GK #G4I>wϒ%KW^Vn]+]+Wƛc/X"El„ ^k):u3/ύٳg$Y޽CdSLw}׫gN<kynJ?6mRJ٫j~z{G<+_ҳ3}tO}?} :Ç7I֦MK8^= ͊})07;s|[o;sۥ\ҥK}ݗ222lD~~~֡C[|m۶~7=z7>3;x%_ڐ!ClƌlҤI}+'vj]v?w%Kډ'^zzEGG[6m=~$[zm޼^x=z-\_?/}GqK#/q{O?d+Vnݺ?.226lv?nKWg8`guR\\=虢t,<74Yf$7nۥ VR|{_uVdsul;ILLۥKN:eW7x{1{饗lVn݋ O:uȑ#v7fz|̘1rm-[fff 6d3h[>h>-jљ^Wn]+Q3M7dۦM_*U*o۹slѢEj)\*U!&r/PO>zw.çs=ھ}&N_5kt0>3gձcGKqT^7|#IPWKUTQXXz-yn#)|n|YbԢE h"s֭[o>%%%tIj*S+믿δmll>jժf͚֭>,3t=hѢ VZTZ5M:U}ոqTxqլYS{UϞ=5c IҸq4qD= Vll6m5kaÆZlBBB]$oWZZF%KhǎJMMՈ#4y\/\v}Yrr[Ν]×ֻͫwXdK.zy飏>2I]r`Ѷ`۾}u)_ǎk{LQۺuL><=j6n86lkƌeat?~_oO>dZgΜv,gfZ@|ohWg6Iv)>̙3ַo_e{_a-[5jѣG.'ӭM6g??~flȑRSShѢ&j֬i[n322r͛7رc}ʕ+~O?QeݺuRP!;tPNw%8^= *##nfZ֭k 6ZjY׮]s]/}nեObbbћ6mjlvܹ^5|d+V\zٍ7hffG%Kf MsuԩSZl}̚5K[VLL.u9sh۶mZpWնRH9s&ۯߺuz۷S빜+|si|N>o] U:u4o}z6lؠ,7=Sz2=믿*""B۶mkQFezӊr9s.x;Qpº馛t!5jHVBBB)QX1%''8ϗc̘1Zr:to'вeTV-cڏxKW||/_kF߿$)::ڵ(H7xZl *(..NڹsZh^PBԨQ#ySaÆnV~222,Izu%Kx,ZH۷oט1c2_vhLu%ǎLA:}t'ˇ~>}Ir-[cǎoJiӦe_1ŋl?sLSK.d?W]V@@@ .9sF={5\#|IwWVll4hqƩI&K… gٮ\r=zf̘۷{z7ɓ'縍$u]*VUjU >܋U^N@΀rf{InzY@@>|R iӦY@@ǻ]?Z|-[֪WnZ!!!6a„}̀^z*@\\uye5XxyfC~9bw6d:p5c ͝;W5i$K3SttFrʹ]NԵkWURE7|Daaa2d=vYVD {ZfMX+ @6u?^:u{n*22RKV˖-]x{lWk:vWέ޽{+!!A+VаaxIۇ̔r_uiFFn ?~\ڴiŋRJٳʕ+Kxn|Ao;v}ծ];Ty%))I-[TӦMf͚<GGuTR:yWr{|8-X@+Vt_c3|p;wN/΍CI&9: ~e˖ꪫsduֵ?8OH||j*ӬUWz?`pUn]˸$f۷>Д)SԥK-_\SNUf.Rpa.GJ*)===G_l]kj޽{sS\6uTIR͵cvwmiӦھ}u|R.Œ%K. 0@-ez.##C:v5lܸQ_}B ek4>!!!9r^~e 6LyڟeK>} ]v)--킳䄷'..N}޽{իW/ 6L:uRHHWgꫯ9shڻwFumT^]ڱcD3;wj.5_ۥQFަ?UG͛p|10O y$KLLt,VZeEVZ֭[.gŋ[ZZ}رcTRg:tFSNY*U,88xpd]w]"udve?V%JX6m,ضmBBBT|yK$!!A:uR˖-l2]ynЮ];:u*ϯ-(M0A}՞={xbu9G~+VLx }zu-/˹$;?Q’%Kr54{l\Rk׮u.#˗+))I~)v9Ȇƍf͚Z`}תUKԪU+UV-텆jرڳg=hr- ͛7{;:t蠢Eoud/ͲS$$$+Z{n馛n˕}{j׮v/y&{9wMA{}b v i׮]T)SFtYg>;vءwy' vjРz kΩP͛'Iڽ{w)SBX2MǏwcٲeںuv65>VRٲe/ .믿^?9syAzÆ jԨQ?5gmVzgL|!y|3hڻwa 7nv /f͚nZ)ShҤI۷o=EN}vx K<~<+%%E ڵkճg<+/欲e̙3nݺ|}A*q)))UOhȐ!8p.9iӦDz'ӧOm۶zw5m4u%B3h խ[WO?ۥnٲe*_*Vv)pBCCvIII4h:vI&pn*Y&L>@WΓ>ƌQV?'} R˖-v)23͟?_ݻw e.twߝe/BY^;hР,+nذAYfxꩧsez_UDDmۖ^{-꾧OVDD2=>gӧ@ǟkgnǖ-[wߩ~^ݏx?j„ \~L>۷uw*--k!+qƩYfyR޿Zs~ݏ03m޼YGh۶OGncժUڻw6l92Ȅ5}.@HLL4I6w\Ȱ1cƘ$6mWYnژ1c5kL2v-z^{Vxq5j߾.㓑a[l?}]74.VD 8qu>|غuf^p'|ĉnkҥVX1kժ;v r7zh+^;w.W9svmvׯ$OppI5kڃ>hSNd/IDEEY…-)):r,SڵsNW޽/_yiȑւ Rn|jho/O? *$&&jڵkJ,zڷo|M1B=g-KQF mٲE]vUvZ+WNSNL~UV-7yAcƌQZb *U#  ]F7|)SF͛7jzugu]VZH":tHݻwWzxrs>t={BCC_SLL6mtmv &C*TS%;5w,^XIII4iR+g͛73$bŊj߾7xC;w.;ȭN-ԠA}W_*}7 Q֭Ϫv SBBՠA;vLjrf掎;jӧ6lؠ^z)((H˖-SO=9R{tQرC*UR%Tzu|VZUuQtt;{hڴii_M7SgWXm۪PBڱcG||uұ0o/*Wj5iĵ!kĉZr>C]wu֭ٓ߯oF?υiٟ|IKF 6M111no9sF= .]I;C֧~'}]osk|*V=zh*^>\zjIRvQ^?~ޔjJ~U\ ϟK7k,͚5KݻwϳO<>׬YtwI_4|v|cEŋuܹKJLLUP!???⋙5kΜ9;sd ɹY]l]o8?>)))ׯꫯY>>;m0>Æ ӆ ԵkWXB1cԩ͛u]wXbPΝ/]5kݻ?>s]qUnAGqix乐Iҁ}Z6l?n UT2v-$$$(!!2p%J |cB5@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c C@81!p c Cc% eIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_examples/0000755001374000021030000000000012706121712025703 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_examples/global_map.png0000644001374000021030000113351212545000115030506 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxw\uiIBB:I%H/ p] "ʽEDAATD 5`$Jz6֙sǩ3Aߝ~>ݝ3gNZkDDDDD_% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH(Q""""""DDDDDD*F T% """""R1J@DDDDDbH@Dtvv2w\{1q6n?}H""Fɉ'I'GMMM!K1Z?}"Y~=wl\E}~8GL&|Ԙ˄>2?8Lk)׋7)|&} v,=X'qLsNsuN_d^t3:~X${8}%[_ǘ^K.[v9}E,nsױ6_?Aً%y?%0%/AuC /S;L/{15^(^|lG$$'`1}]]ֲv|$fY?0ydGDD;)_Z˲e˸^d8nQSf#o 9d4ox2y(NPLdDqFǒ8Ҁ?٘ 3ypp%(}~(6fc$$~2'>k>φ/CMf9e!\uG{;J@D\,,;6 O`D }YҠ-ph X8&6(4=63M\ q}oiF6d%sͳQdcpH5Sٛkc 3c,[ml" meWZQbgl2A8Gq6هM8!, P,`!boAz`+Aآ qJ8`mc3e܏l(IPe! /VADzIMɯI\&/ݧq8 Ⓤl$ǢV6qξ㟃ZEwu_`_gqN&;u(!ĦɘM$aW(d+9pۮ~y.+^|5̥΀cz 8Hn%=ÔٰapT1z̩q|U 08tQau' "w(0MX;D_v1D]#nAQS/mjW b< 2MIvIw#c 8ʥʹnL2M6`7܏}m?gs}]Ğʓ䧒Ze1zi}&dq%yxk?fK뾎5a%8pLe%e)<ϴ4E6N.JNLfqȹa 1{~rq0 yc`+zgi'dgm` +vɋ,}/$v̔٧i']D% "Z[[⪯O䪪;:T?hՙs[VnĵIv}`v15q4Lj$;"O+^DZ G|j`&3I-xZSkL&|OddU(GIUI(}wڂJPZqӇֽ44Sqŭ:yL\U5:jnrNN2=ƊqLxre77kkr֡vtK4mD.b`ȹ.|㺸n'#0.N^whzMߡQ߯?9v-!u jy]Zq)E-&q7v'"M42$sxY6)I2I`dU%iqY1iSFIwôdǔsZ%Mnz"֭E0ly’MR{Jd197 ip b}Kippp] H.KUA$/W@+6ύ\ "FەjLXX~ŮNV>oarQ}|DGJ@DA>gO{BgM;; z$!7Z@hd[S[9F7'ADŽ8n.a7$OH~U; HZL$? Ic ㆁq(I++vc}KuFug3;nfعa{k(?WK'L=_k ~g+5^}]LS <۪j%Kg:1yƌg7ٵ9ɓ.5r.AŪ+褽=xŷ>O^Ee-a2duNY 6**l cQSO*uraJ88Ha{A] ,+ir'\q$8,=Y _4I{0~dN\y~@U.|-ٿ1%(y3wD5nmQJ=O.ؤe,E~h"tNxl٠[bSvI'6?ҊgcpsN8D}>*9ҭ{A|l],q^}A/Y@)Gcg_MJ@D*l|W_e϶77d$ӏ=>'ۥA@6OX͙c i!)[SY͘~Dȶ@[ǞĉI&$n+1uJZ) c0z2@krE ,ŮBɶaI4b ?f{g@TWUSSbֽS__Ou6?SOor<ٱ}[ljn}1 0)aWc0{E-;<˨αe.ޅ߶:kWFKioJG!H@`[Zr\$deD?6$1#Ƅ]VaL2T<);im (.O}hu(F;ѯ.OXԉ9.*]~in2qcdi18 a2P?e_'nuf63IP?'J<  n.u ℡V$8aK$AG-l>tO(22UE"EBռm3> z[7wpft.s W 'g10s~-G;ϨN-őv1%_ikۛz7ە">ll'5q tL@*8In m3 LXذlX7v-#ܑs܄Idۆ7=a2'|:&WM޽؏F~ty>u9js{ג穭ŢGWg'],}m1eyOxmQr}r\8jr|3zӻwozQ[[OE _aΝ̜u3:~Yh!˗-ɿ>=/-dԩ~xEN4-jY,{򍫿WhՋzbM׳iF ]]ڒ{[SSÀ0` ڵki޳;y|wg C55iS b؟?Kj &5,Ky8ƄK0Z/i;uҴi5u}8 _/7GTjlEI-nyc9o.]mCƁ8ޱu54w8ơ:g05y:B@kGq4Fƅ7 lm-ɼ)K%yz,XˣaOG9P3^*+#km[x&OEѓ;h4F꒶0i˓&&'=Ie:HK{Xd¡rc;_HF7oo|;0dD:=L}kG`Z丅B-A8\c/ĸQy8ٚӃ!U:QoW~ԵI XlkFrz씬ɸLbz{=<+{v1t09#:y 7;n_aו\ڊ[:[Yz =0ͻq]3C>qA9#2l5u5eitI , m&!f@a)am6 {;Yb9'x 7XjUz>Q LC ?&12vRq$ iωcپq gc|s OҮOƐWQ,t%;lxWS7zjw΁ϖd ugM#};^W͖.:}k[C*;]@{!y/2c]Gq*>n^Ve`=Jgzw#CbJ,|7VI3v;9i2&6D9Q9HW-m(>5r Q2NO>-$J*nkiL4%(q)m~CW^^{^z>]AØyһ܅gpƩ'{'"b?f _:/8\>cNSðSK q%1a_8H/?(dlpl9gcբ'هzn%I$ĵ|腁QxPqm1lHA& ? _6&ظ3h$=z0.<ζ+OQk;`,~/~lذ!9|>O11t0n6d*IذBW`Ҙ!x^lq7€$h;5k`<=,^Bg |0絋Ɲ_GUu xڛhٽ+c/~ ^ (-'ǰeR[ssL;LȠ+PDS' #`<"Eprd^(Ĩ-`YKЉt'gkD JIra3V2ĭ=$Gzʋ X~wK"}?8VIo\28&<|s^y~<~#O]'u_Ɗȿ<% "nw?l4y!ӏ{W^c 97n= Wbo*xd6$t~+ bL4FIR47Ӽ$8>f<'vmD]C/>~66:rϵgłKNc|͠O=j\0fu?S +,dǎ],|~tOYxQRK^{{>U9C؀v: j&l;p8r*z+tLsNڢ`cA{G>}AnfqJ2Um,>?wc((wx۴E&;K[k+|W糗֖=qL:JK|cMxƪ8 uN%1$6['\ϔiݻOg[yy=3^fqVзzFLqg NL97'f$x:%]~2ݤJҔSzQ]䒸-Z>kM`h [|o#W/tiL4əS@WG+aW.c~c8O~N IDAT8딒0my\7EY B򄞲<9 3Gx#Dx~8主56pS$,޺mkWвc+ͻҲs+o#^_D ?+_1w^L{7vw&쮙m 嗬/:ieF`-^uϾ)JO ʾz`Ex߰jfK3OЁsP"_ꫯ+>/ul{uMk?p4AaklXvy67ޞllFl]\5{i'n.ψ3:n2M?q3|o^~e}b(z>Ţ^ak d qG 4HrJn%nZ٘4 `dc%7:i_~nF3R\̄ Q o'\5=pA8btL:s褺:>`y}}8&EK;9z1>rxGWn%e~o[=ߙBk'W;Lҙ7wyI5xe @Mc1i7~0XXȎKuw~J~@Θ@49Aً'3(S\8YZfd'ɶLo?@Ӗ ,xn^s?ŮNtN>W?% "k-sኯ\ǚ3p"fn{el'I8Q0'{E\U5c9 E|kΎvܪFxdK  ,3TZD3ŵ6mcX1 ־>}4.Νt9[0ٹn%6csn)SWعn[WJ[[+7~djjsy|˟1$L#< h@ Q C0 md؀M; hޱѫOvqϞdtشc`q4rnGzc+OMnF,Q:E`6m--4J{:6mb^QlL7 >{~3uUnyQO`ة=#fFwvٶd+z6L򮉒KI]OްP: =!tCg[+/ϹKZvlạ8W. g!~uWm 7}S9\..ǹFwA;$_z7 >}?l ]A5j;REf2[/ hfqܜpx}?=^'uq*|_ew`qc ϙ|>3Ox/2?'xnL[[ ^~پ9y߽_~y; }O=ȬYe8K!#:)tu{_$}|U5u:Ǟq'Όq?/ 1%cl4N#CVPIifZ@ -.w4'\!\O9ח/ga&wɷ~Fc3ph))i#|M6lyߏ=͹~a8i-?a !A],;;0b ӏ{WI>Z:2ez^4?) JDђ{MI1ɔuѷٲeϲxޓ,zy62+8˓kKKJNU?7mJav_cIP 1jh=?/3v8x|Q]v3OsϽw3ujkk ^_u0h 8$1rZ=Vp7>I]ޡՁp5r$F=z?LѴ" ~Wñ5UN")+Me|Ȳ0wu2?ƇN|E)y A_/]s7eܬ8f܁G$}. Qxd6 hSXP,G&v_(n, Ktmu!&%c~NGZwnKqhưǒ-'M)hoK2u }lNo_s^z)L. ;R?kvcۨkC}M۶meРA v }7F翏77<4HΪ㴋`ج7ltx஧Cklk᥿K]jW%tuykzs̚2j|JaMsGA1ḟOYm"Rxj/Vk.#QU傅m4mgÆ|+_b|>%M^8&R։p`PI^'l Dn!e oÖ5ln+ji-b=qKS|˟IPzninTzޥ g̹EϦQ[['I'/.'ba&1hDO)3:p632}RyG^U ݲz{7^'Rs9#GgO3X)'97_ˑUy6>'||1sC^cgfd_IU׻tk^˯7&M;#[ֳiӛg} l8ȣ:l8ui>~S+,#ak-o㍅4z<ǝ{ ?%Ax3ٱ~f;.gL}UOg†]RJSu "Ũqn[Hl %] .{ 6+;IBG;;` uCsh<WserƅXּgYj:NKBO<0a^m#hڹ;w77CFfa[GBoFMuI (KH?,`iPgUx[yW?dgw!}c*/ҤAxLdrΤ#L>ҙ<'iudz6\>mac{ ?&9,XSK.\$=iK66jqˠ͹ 7%~gL Gp]_DgZ+3SƖ֨ia2)QYiڲ?;~駟SO?5&+ƨ)3fƑ~Nd|qtĿF &(򽋏uNFɧt }лwo*5Q"hq?iU Ʌ p1\>nmx?|O_|2|8\3ڼb1oWve7m׻niN.ϨS7b^X򹒯xF3Nܔ޸Ǭyyϱᅵk/9Ix/D$Z˃>G>yvlX&ᅵfnZWgFEx A-%qw(>r).7~0Lɀbz[ҙeޅGI?i }4Ҷ{'z-+h^_>L/j vXkl$N$(vq#abL2 lM v'm29(!A< ܇{9noڒSPnKݧS;־\=|1."FNqM;$kNҔnL8O ޟ +صa~g|֖=<O]G>|)„6/pSB{ARqup3-i798{i ?<j8˨r }2صm MU_OU}ޘ^X7kٲf9}j$]k|?=?SXW&J*r֍ݐ.},N7?yI G9#q.x1ͻGr|<PW]  v օ8𳘨-~f ?-,-b<oG~+eK ,~ 7OʲX?ߒm8N'jw" '?faэxPZh37yIT7?ӭ!|y|ܰbmis&׫ jIZ&]n9i -Eۡ ϳo58:VOn(]x3v]K]ATޒ.j4qR%K636AƖm_Ѷc7exGggg]<\zqT]_P^zqsG1h1luI}s}w^ HpdTӿo,ǨqEWr.y-E [r%R<;/fMtA5]ZѨ7A+g=ߏPNejLdEF3dZ=,#N6'?C |aXAK?ȩX*A=8w wOySdU4mmc/M !(tꕼ=+??HݙgA=c0}:OkK m ]̝/Xt1=!c'2"W#62qwTYfV{hjd&}cqrރ2ݔUVW!,M}6,K~KYpW_s5^x?M[cB]':mo,_c#C 0k? ミ?E N ;?]0uѧ*j5#2nK~$}HhFTm0[th\NNѷ=pm?gƌvllfZ%;(Ϯ|}6>7E.u].L;c#q73|lO?y^_,$?긓{$6HmF~ן^ozS)AY}<}J>{_2.(Y{ႋ?cy>wѧ~YQ m͞g9! F/xxx {88H2*N8SPyGX\^ apǭ-QW?ɜۯg-=h>O2sLup}'w7bo&Ocfs 'r5װWy9fĈ[0`[lIĎ۸˘2Tθ<#?_v ;-|k)tu0z[Qb쬣ɻnd!\9ȣM7q 'x yL:7yE1`iOjv: 6[޴8&g?, +<~FnQF7QWSE>`teldx6* Ik&&d łiin؀N/woH-0 ˕[fqc kNjhr8Wܭ(aIkؙ* 3u|$Jв3fWX-N-} mTD#|zLڃmV+fYo)t5kO8C?]\-oZof2Cysf%>w_`С  k^~Vx^ 8v𜓄2:\& Ƈ/4mc bKpsUXK48i}BY| p%F3{i'흴wAss z0^7LM7̘qcf~Sy:[wӺ{G8כ֛ڜڅ'+I4}}j]v5ݻ$c\~2n>\8株d츭O=MYQ̆({Y>z'umMteJ@_Nr-|P(0aA[EGypSU~)6[Ǝ ^C~4O>ECU4{.ZuHdLIIth-\TX:?z0?V*gW0~fvcYbvѯoOg>)r.Bni>HMU'%gɸl\ =H:Ù_̓ϣX,+΢yߘqw o1 #miƁ3g1mt ~/}*f>|U5|{cA5Q쐐x֓_W_qY3k[9y<97GW@]]mڭ*kJ[= Q&Ya& |hkiX褵}~[`:0ضm;7V[˓sY\'*'&$΅-!\W㲽h p,?v nňi$ v3n$q+I;P7ioFqp+Kde+sᛯooW0aas~|pk!{>ן{is5Wpʩi3X#'ǒcOppqՖ&S! %M &~9'G%lj&CU.O`L@< &,a$ws0I~1cvyG?OUUgun#ۗ#?M-,_#1t`z]ws)=ݻ&$MĶxY%áY2|!=krԸP ^߆vX\<++Cedƶb}= IDATK_ĊP"R^~eN>LvmRoy#ǖL%2:IY(sjZ.f%4mߌYEh]!CU:hHBIDc!rN&L o&D*~R&_U]-sb 8 ;^}yc%})cPPp3v~ޢ.ӿg~s3uzg:(>q1w9XNռڏo)q͇5y5>CCg1Z%J. ygÏУg!G0ʁxLD:.&-^4'_k%׬a|p OMuU:2iPb%Fd[eA-m#|ًS]KWk _.cN᫟(Ƶڹn}, f^ƋTD8p*K[WrDzz7 ) ҷe4 I6Zb6owg}Ջ+zG pG3 vnÀiJ=nQr>X8]ב?j1Y>0_XWS,ׯ/&MֽʹB>g 4bQ ti g86>+!'mՋ+~5؏K>˟y"ȿ&|υ{jߐ =OaioȲgE@=[cl|1V;nu4q#G pԑq1lG>CdҒWs] Sdhӗځ1fa x8uq0̻QY-`haf^BܲAeų OqEsye9ft98l MdkscD^ dCp!\Ͳ{x~|tW7bwnc鳏0tۓ̽|߿y睃[|9v<~9u09|}52w>]lZ:?4q!L}w3$̎ÈK@mߐ=;rΡƁX8󟿊}(xł&Q8[K FX']EAoٺk7{pei $J )*DP"*R PDEQ@HPBH='WyXk木{ sme=wN䜟>:kJ6~kFd{ VWװl:OժOwϊXu77?~$VL[)X`6gߦRJX]*_>4:zs*Mm1e ~_6fQQe0xG}?=.ܤAÃ| $WoQ8x,7WDqXHi~s,'}\}j?k~p%yAme!a@ LwFl.(*>b!R @@AH H)zu g)8TP؇pXk1΢!$Pk"BR71ט9s6|`N~l*4{pQ>2Tp?RZٯ+2{4551ZZ[ɲֱ|*^|q]]]y!+xe}3"LIlZ<=V3rXJIۆWEAy=[yo]װ'3Gg@  ?s\{\1E'}9׿̿8Z _~cV,_[pЁ3iVLzS&oOSSy3)Y3o;,[aCd2a˗d ,Y8hmmcݺu#;0qrq$޵X2w5\kX|0msRyjذl jocC_a}A[q9zGth0t 򼠻;/( @pX$o/ź*,]/`#ӠwkC'X?ۛyOsxGk}Wwz`ꚞ~zhЯB3k1UZsCH )!p̡7TAB`݅l9W.hoz>D*@HgozGz/>"R~HKag>ν7_ukhmogvB8Cr7̤ ȴF"9˟W_v-JE2q4b *-3i@,!9qٸ 6vvuRܽrO'M]M֯ڋV f!J; c݆L螌?f\b?!f}%?1ٓ"N MttT(MѤqkZ DQJ$$JuR⬿>tdE r\ԑ^ӴAΐRa ?OR I*g&oMg(_%JJKM (-@q Z(LN$qvBQUąh4(A⬳@6%j1u=h9~N" --- >֡#QlO_%dql1~"z3ϝM9Kăy_d [|Gqc}>Ɂ]LHٟKۿٵa-K_yAQ,Y^. :v޹l1pBLn۠xM'eZ<ZR)Io̙;M^8>m LvRLvc0n̞:y^;,\֖:pvmWyy!4e^zQ6m\)ݗ{Z:ر?Xsfp|֮^њq[vٍ 2jdƌȬgn#<|(I7&,YO>ŋ?|w+\E~:K.:E<‹Vk} >cGZGqw#)-dFPp[ƛ$k=g>tߍ.e& RZC[sZ%% K =<<#)Ȟa*L:> ruXPV }g"h5֡"SíeJr$~)JidjV"~Dy-V,d ]Хtn ,VhmFw5LDƎVT7mBjC%RTWe14!Jӳ{n=GѶ10Gc EA9L>q<䶆ԅ%VI0_0H! (=. S2KK"\4c"#*\kcM )')MI" Ω0u(U@5R+r$*:G)"ףXk"^[ In jE 1 PT)lK>\~GxM>X!Sv؞IcEO&VXŚ5k)J47WX<訓O;lIkSrĚXpff [o-_x!_u9P@+57|3wjDq ]Q;gxDE? sPRiS7MaYh+)1֡aM$33_c5ȼ.e釋YC;"S'~ORiӪ@5kKT;qyC#0wsq~_5YK)H X}:GQ0"+ Nts1O~9,jQ5o<>h.\''oÅ߾~4vyl(pll/cw]|2Kߚ=L( +RZ qih/"$XM{0x=@]ԙ'"߱-%$F; nQ컁'ǁ==OcPRҜ4KOq5f(np/G4jYi:' jk6l`͔]nZOzzz7U<$}7M~9C/`֭ܳȭ?[nGi >}:/wN9Tv0ٿO.!2v@͛Ey ֛~m<!$N>SQL:] 07yn);<ǔ2d\ľS[h6r \Jkmb%DI;QedY9r?^i(I!Qy*s?dJSOxׯ(k>gL낺ciRHXqHwt K@FҺQTy'+!z(W" O"zv#/@ Eaq6X*Ɛ93/#^}e+HElf{VOڙ'f6 [[bќGX4 yΜ/< qhi=: RÇqч˳o_;or9qtg :a%7&^hJD+V,b:>2cvv 9YyJQx!fUȃ8Zӛ|T8i,!?TuyQDɺ9?=*N': 5:PF JB9.(,Z{$A/׌A"uA9Ni. "0hggJ)u'xj 8(%I(+"F%iƐ#ՠ}+4zsÍiʗ: i3R%ɴ F)6oV'-jC !h.UZ ){}8K2jtb[R܊^!lΘ"9JI6~LjgX,Z1?(iƒHÏr9_gT*M47\}P/e޼o|\8K }V\IOw7w7,[cG3x`BsAgmN;`Ҥ3ftCZj;8ø 9b$I$Yf v՝qdpމ?WZ"3N|NxCke RS K-/_Άs-TKC)UɀmL@Ams}B8wI%ACGe8nlЖ0 - s<HV38oW^Js錚4D+|][%4w5)SOXk5\ vu1hj]")0"(RIҘWׯ8O,:е괯~|o>s?\}'}(I$1݅P%uRSW_J m$=ͧ _x3^`Ьȼ:~,@m-8upf|N GLg三l1g|!|"jNݑc9ޟ1Բuk!F m5QvDxOhY)#̠UV0vh$are{[L=9m'O扇qS5T)['ҥ|dXĭ&ոq{ j7 xp', Anן iiN}7?*:kIk8EB^[a%5ZSPyG+/iv?riDJaJ֯XuN{zhjmC,|# IDAT*Lv0Clb6"Uy= I\#*#ո'}*'%toxs5Wq§EIIQhz.h,a+始;hy]Z}a/JBwxyCʔ)1n"۳_Źg]AǞhۂa}SAtwg>NLU8gpL$~2h +T"秤R*JQ"lDHH'3%V‹=5߹]4=y_n|+fI G'o_=w c=fܐf$Om0_Di_i{@sb񫻈A%ZӨ[5[hcrRN:yc1u6X̫/ȆVy̩|wrlny+Z g]q6'|.k:CV*zA8/!ӆk2{|ޝ #f68<3!/"$ooe^SY;m<5cοCSKچnQ5Oۇ|dӌ9VL { k('%LH sPN 6IqtBYyEw BPNR/XqorcGo3j? ,.=4Lu!VVlkBU_D|ҹoQ~}d1-t']s=ک[*)))X^G)%ܹThpe(F{R Za z򌖴3IT/ kIUD` 1@y+%5Y/J) ]>l5̃!b3c@ cE ZkJj yaȄD"'c7'dԟSuocPQp{u 4)SCM$̙}2/s=|.2Ps'?ի6{Ӿ.>N*xIn.zjtnXK׆5MxRd5z+SwّɓZ+cvCgR;λdyNh[I%(% ֑"A$=SPRih';ܪȑSkr)Lvެ3U*է9iP8ZF i8Xz~hnŮoQPO^^]dE K ^cDZp̽wz9閻!GSTBwos<{? 56uӵa />Gy87B I/_>Cd;/}d'̙=:νAgt_~x6fx{ijF,Ӝ\cZZǦn~;y/`ŒE8kHJM 3[Oaf;<4~8#Aad#/ ̠wpRһt&?'*"b:XݘI!UKam `% 8kR%%<#Q1-(GמAD$cz8NHz{JdU5PJ9;DԲ^&I$JydNoi14%eUrh8"^b`elAIBQ9:T$Ax "$}4m4D]%$=5nzۯe 8^2PQK.ÖMZo^{ _èTs?q(bݘG)\uLfipuWfFJ--tZCOwͥ_ħ>ZV )AW6e">D0$jr29)I{,cpS(%IjESW@DQP&q$FYrZd6UNГWXI#)XFX*DDD.3.._&L]# B$$>g~25g qQ|?ÞǞEge uw_ΧD[{+R*VXɘ[0y}77a\4}.<<~2 nθv縷mjj5Ͽz ?lDH&CR!R*}xs~ TrSsN٧eCzۊ8N@*t65q} y>5c?+L(}(axG9ēdt 04"R6DD#Lq$8x]5zuщ7yZs20vV˟w݌u1'W2IA׶[Դ)Ih37C\Jsk?;ozڕWќte5 *l%ZDE(H[9rdßd9.1(ic}F cUhmip2](!3ZƵYwU?RSdVV[NϲB)E1z=EZ.hL?2m/FUGqڞclmg(խrX۰OVV*4(JqL"#z,JR \{VbqJ$bf k ZXQh4Qyj ``x%Ibb)EnI!uhDih@pZK)N&hJ(!?VxMր.r8K6ZR\i 6,Z}{z:9̋ѷNg1 @@ԪUgØٳ6vKZay1?pQGN>;zȉjmݔ*- Lk}?w6VtgMcOW Ef RZ,80Ya[COVΏ;z:އ>M=X`( /2Z%VPRSՐJLpƂq-CgV`M5^ +CQuhAdC JXVU"lO AD%c^|u::yxijs=o|,Zogzߟ9廷0s<+\[oGtt˖ˁGg٧娯^,J3E3F(ۂ>x}F[ /H)-8ȊRrbq??L\ܾTz J tr6Bv?}+顢0@}ZӘe9XڋQ 8QX0:\@8RVSk{$Ki?]-W08 q'/jd#ꡇNAH_>=vЅ<ϏywSHW0xv~[}q:Yޜɺ% XMMk=ߏH 2*B洄RJ҄.RH1hYչBT"R3dxsw|9)y7Сu9EK9ym*k VtM(5*ICìj"HULXn[Ra\8-5u,T,~6vIw8j!Q[~xO{:lk}VEwq۝-Ʊ|B8r=ظm?Qniޮ^y.R<3l?q o!/ϙ 7 #|)$ML?F  Ppbѹ!<O o=(~iFd!iqλ_Y ya饧ƢϠunUNEuQ}F$uZE¤^ݗɂY`v;1e-j3˼6{hM؆m?vui'~!DX֓[DJzgµRVy??).&#Ge|{DtFGw77qjGSe~s~~@ץX&fQ8?XwǬsذn#w/.Z/H)0BRRbzZfK6$+\` ᜣ GSң R2zuFGejOrcJK =Sdy3A@tʾ<0/e?Ϭ5 7;O݉N>U+yikjErZ>DxJk80Z㜡js|rKՏȑ~vG'~pDwHQ^FE S&c?sIDL9X{E =FOVT*uTHBo\i6$.ȴ^Mnkx:P}b4%$]]Unx;ɪ=(3/e>"xf].x?HW4y'v^jkvΌfT»g0u:%Kqߵ#;s'S!|{4rlڪK}Pӆk_ %Jaз跛~ rEHs͢I‡_6uʖhy퀦[~@ztJxGb"x1>w4cG"MNXi5S4Q-rxvt2gxf\t#/Y2CckE]MKHJ/e8Lkjq=ZJ2)žccpwk;B戱$l%T.օsFm2JRZPRќ4*igoHSd onmD8a#ùtAE@8rɃ8]HW8\Sri >@{(|, 1ccx!/$1?1G}O!i+Ɋc,QABo(ye>?ʹ&R(}柑B]`7)jiXW,Pyx O )RDHb R9$J]J$L(M ؋cP+jTMzErS-M,[n:7kG IDAT93-DBIJTϗ2.L*VH $ u\sM5QiIȍVKUE}8'vwacC}Xd['^@w9|wZGmAT7a-x KT Ƴz>yeᬿw37{O[n1 7#r>$.W|W|*`-C:H{eYU~fXa]#M7DAdl"( x0`:/  Y2HPP (9sVs?\Q}o{Ϲ㝚c@uUaM+Va^14:R˒z %iDE,iPbjQԳMԘ~ȄpٞvE ]D{W{"q-%HK3l`ˠ%. n1'Ih<-ք@yoDutK1;sӝXB{ݵy=,<`4–QL#Yn;|O)i7;.s^|c *`F,5e@*!S4"bIF ʼ6B`i"]a]ܐW&[m5?r/O74}&?Wl2"73ݬ /LYG>Ϗ>Ygm&&C;`GqAk-_^56qWO~{f|a,IRؒXFdyFD?3nNj(Q-=O؍ I4@na!s@RDiFZC4+dJzIZ 2[*$£Y |H$$N(%TF~z\xQނ8gR uH(JSƶyphJct)4܆*7R% /;Vg_>Tט=xv۸^z'McͶ̻|㐭qֲW]WmۖV /ĪUl;_py?f|04drbx,}y?ӬF4K5&.ŴT*e]ZB  aXbm[̘6\~ ?79싘^^gܦBA5їAT(J8b)z.^arv36Pr,)^bU"jz-o8k!4K{^sGg^;ϟLsj=늡v$ 8"}|_zߒc/ gqWiV_evkf,J)|ed%*dL8u=ai Iy7Sxd[=QG0 ⸇dP!r,$,](„!,(̈́o hMsԗT:0@54XkjQL"Fn-۫<.Kk}QxN$5Yo-3Rj̚QD@7 ʖeS=ܛfs,=NJm@űGi'8P* =5RZQV!ɍ %>ϣ[ږ:cKK7ωuD'4;-tp18RX_KS6Y|$IxtZkmN>y_Yl'qGx Yɔ9rT]9yYz*bl@Z gUW^Ô5aom`{.;E_ŦٗKӎJ5&5рLk֢Ekhs_c{oh (S'&-֤qBmuDejE+8X?^-O<4Yͱ87^) Cʘ,/iws^ JkR43nޡ&#T)6…i/6~=vYbʔ<-pvy&~vޥ`~R-6d) ZVJq O?,|3t?Ks52l1]}[/s{()|c^Άp~`"h KC1T{+zoȁ!I?egug)8p9콌Ϗ<Ω>G^Cz=zs^ZQQ' MX#K:![g"2{aRVu$[G#v#37)vsf|v[3m e٦[v障nZpCmf?ɪM/|{Z-|W퐣3_p6?[νfNB2L58K rҢ>HGQ(gyAc)cj#tOG"='JiPV:2wv}IL^"h$2KhKbzc@\HU({,|۔ɵ:G(zx7FAO;AhFHjQD$Rh8OӪ4 z H")P7c5x'I( {!'%W0{} y=Xyެ6&#%U,Ѻ)m\č*8U U){Vu4ʇRC"#j*"5ڭQ%QF.o0Z,ˈㄢ(IӔD0 1, {0 kx~xgly;8rwN_Z,;Gi4t+t6͚F9N=H(sHWĚX5рL~̘ ?=Z<7RFV:z9]#%KHiۯ+j;H:9FOt.Xfy?^;XoOrݍwfz1r9<vq fN{% +G4[hvSw-;09QBIZ65"R+LieR"5{JBJͺ 'YXj 쬟uYTRcA ݣTr%}RzB/G帏~ɳr3lz35"2U5P|m99ďx.&GFx? ϜH=x7o_^C?*ԠMU Uɘ* !X1z:T T%n' E2Xz( Ͳs>a 2UB Д;ʨج3X2>56,Y(]kQ17`\( Ϝp$/'NzW?-v܆'wu\8bxY<,{ /ޕ-v?C?z3cjB<e'/őw 7Z?4BU_iIEu,35Ob:Ei ֊fVg,J+HX߬JQ 9&JJt˲רte&ҚO׊z$g(j:'Lm428b2ZoEB)EilJQ2[9b;h癧bmH'Lw-Ț (S2ٗX놻}Q.˷߂؝wzT ͬKVzʙR[rW'JV. s>O)йZʚDXG,Y"|b C႘ R3:<#1M'd?C|+b Pʇ>r5}Iǟ{#7%zQnff*[ͷN޿&_`dJn Coв%|[Ѓ3лjsbx\ϱSʴiSX͚Xl2x?{?^Ǟ< Uͩ c,BU^ 7/vpFLFFG)j.CZ5UQ"n.犢ߵ#"|>p0M~ՏK7fa}dYnK7o2P#.+K"5+ɡ-?{jTOFq8jE EE>ؔ5 y̖tw-)Ͳ H~8P\ﹳ†"#DB 8"TAZQ^Z4-ХN]svFM\ɠj1me[kn=wOM6m|6)ײɾ'>GpygS7ٜYoƛ/=cw].>G5F:EkZEAQ$K[~-Jo} /9vW;,k{O  k E hKb cȍ70$D% ZIXYI,wSJk$/IPŷ%#i=I@bciBQR X雱npDZ)U@| [zwsHhм !|4fx۝]62ȋCK}dđ8(쐥hJ =p'3ZCiEJqV1TLkjuZ">]%=%B(")䆟\to f̦͜n;Cfa{abe 0yN|(憛SW1Kռu߹-;rO-PDJǑA׻Y֘Q_]=n7{1\X럭dbz=ٗWpiaӝzo|i|1HB4d}Q>n 7}N':^y9f6qшk4┓N:Yl{-ʒ7SϚ뽃i $u)|tFOů{n+.d|iiL\Aa1#NEFANpƑw "D w%Iԫ*Fbie^d28H=(!wk:t)<] 0 tJ= z@ E$#>#/ {$F5=T|qGn5;'wmU)IVSfo8)H v+~2{!oO-bwu;T8zZՅԫ# :nG~U1iFekzVu=.5 9sz 5cQyuڶ='&4FH:'*?6H)I"zee;+H#V<`Ču7j򋯳NQVQsϼZRةw#-VH\̓/Rp?y?@}(ȍ5k }IȫUA)2pXg{2)?IcSXt-%sVKZ'% OUY07DHAG!'DQ:h暙y@<9vDiVdyiaMW]k|q9K\o^IZo D8/@cpVc޵ ֙6 x s_ZGςa~ts5l;ln7Xl{YwLs>0=$LeJxqN/}ޕѢĖ9QehgHTh) yRE)RHEUeӻD:U9 A A=Nȋ,Qtp~+M'R:ضqNj@'Oň(Lz}s&1Ow{&5¾#Y|s#b,8ktK!3O?.,d`^4e;` <=HIEkyK)΅}?*Ik* ʸYXSƫI_cwnt6o_c3}Ď>ُ0_Cr&Ra^Z3k P$_z~t#Mv;Dv>d ɪo||6a;>(67Yt9*L1=z0bI iLa=, )YqX̖D+jaqvZX- 1=V^^<DJo24+?v@;/%V@?fY0P9xբҔA0.{@ s*?.3S~S^#<5.x o-V=G'-@J NY2?*Rf7CkEYz9cW1W73۱I̲#bQ  v|>RJ AJшS)@tk=4%׾H9 O./8Ǘ2gM137yYE9Lwtnkyٗyއ"kq?͋RiY?Mv%]opQZ8}qgȩ]@?=r=G} e+Ig;C#NgwBe_s +IgsNĚX db,>UW\;ł"HQRQynn|]m ~D:wxB;W={濛G=x?Ev_> !~4<Ø(hTZSq1l^W>_(IҔ5|b\uE RS:z]Eh/b4sǽXQk kɝ!ctNI I-{Қ0/]8E M;Ӿ%CX /# IDATU-OZ{q3BNEC ^R5<[y'ˋE&p`1p 7!rV(+x3 @BN8ixu<ѣ ‰14 \{\ ͐(=IDT'R7@FWT˭ɼ6'`JeVv;Wq·=CM9;dhog\|_]JVOh+&#yR)5H#_eY@Atn$>$ҋ ea*koD5Nt(hݸ*ؑF>KIEM|`Qv^kMuhzNRI=j5,{8#gjק㥴eMIVvixE1uN~]dYƶʂ#fk$YZH{`nqX`JOq 䥥'2%V9eyEB%/ $,}%Q/1o#0.mj7tm7y9wϨse?dÍ7[4_9\+Xs_ڛzqHZRH4FZk=CzD÷^~l[~s_@@&zꩧyhZvƏXg[r`fzZ.Ĺ 8R]V.c7xgW{ܤ5fbcQl{J)(!VE{ʑhlER%Jvo4oX?>},J$PJ-r#B)p{Ki .g4k d(CI1]3ln($pxhה}vk@RU<""8@ڠ,yk o.Ewހ-ي7ۇvbzVξYs|ػ> (MH(8AyB$5+[-r["ͮ{LJq8Dj ~񾓑pZAՑՊ9|譓{V!o^WƎgK%q EBV|Q5%᧳^(^]@J!zAXc(.QR CEV$ K/79KeZ}{ɼ[(THmÁk0Ϗ_yO>̏6ܜOWw/>x/|{_$ȍEKIE18Z9-@ß#^~3zZ뮅u $Pe )%bڞZK}Na#kq4TZ?Ai;^HQ5C$Сf!G_-E'm_Om$v$zEK)J&cR#EI%J@aYiEo\LSJkN"|_4^(K"% $JH֝ڠ4g"/~F[I"|EdI v) L׈UNnK h : SD8oa(%ɊҸ `RQ%ƕ00Ȓ#fױ77x`YAǔe=.} e;YY3eZeCQjIP(PJSO"nf"vV}ٌmPøkdu~'`Î;enj)2t.g}}xᥗqY'o nl$N"sBFRl(!7|43:묳~od68#s6;t l:>$v8L_k}(AimۊL6h&`oU ԪOfYq4Uwۭ̚6m-AIͪ vE(OYfHXFfLn$LNSqv(MIE(oInQ On}'*;ZyB\[$lի,T>Mp]ovgW?6t#Y~}E%6݁zJ)z~*rjK}g>/'0}4Zy'>Cs.CcV2ߣ'rCq~ƆG KrF7fYQZL^2B {bq]5"ht*Ȉ1;ֿCC1#Ct1_XX+yx}llB6b[N0:Ϻ$i^zUX:*7(g"zj/[IlY2f}AiEIJ7)(iusIEn A14&cj5H1%jQo#gpp7 4&Ljy H CR08E2':/SNv}/gd e{qO~ί~Sy?(6x7S^ e #-px_r ȌEz\ZkOT'7y{twRRRU8kyqeD`J%Cرix5ޗ"hd{arh zvҫz*TV&B!>4suDaZM|aJ"gQ21AByu7/)X{&|Ә52i*/0'^qtޞ>|1k+x*lŔcpCN2+WONP}IXMQpp|j"75=2艾(9#2L-Ei#ZG^_cYA$fNBA0QR¢xԡ@#tLi$^WZi ")Y"oqy?>C<VɤBǴy+ h Bxu>c`l>K3;WOц?ۭ dbYysr?ac~yA|bǯ0BE*{BӀt,}zǕ\O3O12<{L\kN{籧ap,,9<)JҴ4Lj]Q5!p8μD ?EH&L1U/~ɋO=I?ޠ,Z,y6!Ko:Diy2'FȬ)O`wXyAu?38k.:Y'Xw_u<x9PTpvvVehDAaJJ[(^ND ;ڔY@ԧ$`fhaŀ\ X0&fO +cNt*Z/vd:ӄ?3aj)$JIޡǘ4ѮZygT7wxQ|_-,} 7YMCW^wF4| >c.|RVΞwq5W1:&&Zι{8n3Ia$Ic+nJ-u>8X `3PZ$?Zh% KI֒DZVVtQkr&̆TP[Y2_7Ѥ&/K+L=RܤҒC{z.vδDrsh%{\*PMJ%y+)~ Y+֒F -}ÛF444bS0-X6ڥPUb $qLnXVz-Y+7yN^8PDGgs Bx-qKJqP1C Psԧ C+EI.m7C9e3n]M44JsM)$"քyu%e妤)>%γX6,gzKTr`A@&o}8Wo\ªYk%)+xv؊XĞG+O6DH]򌐐P5qD_IEf-ݼp¢(.K-Qk1=m2X7>ϰSM#,ф=]ٛ.\w9;I_x![9ژ 1-h@E*ùj5Z_H)S񬡪˪⬢x^N:<ҋ1eqR^nʲz#$"֊(RaJG3g?`_;n.W\~d=- kNEAmD$ `F̱mcnݶ-6TZ IDAT`B"( P$:qØkSݾrS1Fp?/s6fXzBTI^BrOejI z71NjY3|NbIHDЊ \TxvTHtuA(9zbeXQ%ޕ̢&œFd ?,:&jςegndFcg_+#a~z9S-(+Mh'5[&c-)"eډaӝ+Q80ԎpDPF$x1  M$)@e,>sʱd[e}^^NQ2;{UEQ"M &t$"fQVqMw0 ?e {Ə/x> MLw?|Loj=qCl?ԇ{0s>~`6 Rdiʥ 7p=!\bv;*RFͬ!P̊Rm,` $'0ejF-wɟpO~GIgǝ( @ Q PmYrpU|D$m°)\-_}'_FUɑx8p26XQ j<J"&Bs>j¸ר!Q2ŧ?4h&<Nr^JhZh&)-'@K6nw8^c(Fkmo}={=b9OsSwȅタ{<7]sn'K [(~S^ʖ-[8QGp߃O~K?w<靧sBi/&[n k:pJŨl'Q 鶡_rܳ4dT ΣS< aQ1Jn't39kBhwRI *c#lF,*t+1z;]HXU$FA8A1:m( y8'y:J4*"ӨYk@DtD e5V#c*>%w, (*.(% Oh8} n\GgCgaY0c2Yf(ʜNj0ݥe5%XZ?{ۼʗ8hIOME>aT4!}gGD^Rlڝ ^g|,Kp|sCJ:TňV+ &&eE8{]V, PU (zJcij}!;U|Aɹoy9;ϵٹK/=4?Oz?әt}X*c*`5~U9O8ja[^@n=;'п 5=crcѯTrҠqA-6ϐj XuܸLA&pwc}S/^lGU+hڔJE.Df #[l]^da ь2Z_ǂe"nV :.@qJ=F)4xju(|%42 M(bp}틘nL,b=hc8}YQ%.[oo&:B^MY(~ee6KJG"w`9D}G>+"gc⏿o}rG6&VJ ZuU^ȋ ^EN&*]sflYgdN]!}ԪкDk=Q#c,VJyYJCT5şNp^p7GF[EPrIhWJ$aJUɰX*:aB`&hs FEIpްbWljN +nj)Fk|4$kYi´|Nhe( cwh!g/^^z[O{lVdh`dqT3,˕/жX8C7qo~{˿.~g~ǽVܻ|Eg|شx9p;_ٯ<-o:=:픿9LMO97}hɄpW ۶$Yc-&I(cyq$Xkv-n:8ٸ;|ǹ^ kNev6 ; ygCox6DDjOJw  ߶U>K[PhcVQ# W !"`nCF5Pv D0QuҴm؅gIZ.B1p>58L0eJOY:ݶ(^UpR)[ k'^ӧ”XZӉU6r^PRDJЀ TJBp(BUD׍.WЃvC_{Mj|ȫ">e* (h 1r[ʉB 1F(cRHlj[cTZ$)6mU@5MR:Bԟz4ac[`yNzDD:Re]oAiv'2:'P]Il3."l ylg_~s-7}|k?C[n`bf ?yzڵ-O\ge{sÏ= oqS \hdbvkx B'lIT[Ԫxi*uIuCoTF[[UKrNbAfYÌBD'5khbtSK+,DeۓgJt)]2&3reQ7uVBEBP_ .$Uݏin~R &NxļB s'L@7KX7f{WPVTUEU1]]C`<֬mȔXdG졗Cwv&`(,ciPE&h)8se%7@l'Ⱄkh=w=#8Kc㥗s^aOYZϸA'Pz f"I|}9a78切=yGsC2>HZ'"{gf&Nߧ^o{)ɜ1'BHhbpm-*)J1XFhA4,i&EQʲ{6fvVcD%ӵ<=O z#;Ss3s*)|FOgyo _[) 4I gڔU-?F69\Lv2\`T!+i֘1xqb5RK#Kj⿓چ#52)N㠦hĦ!DҘN,8qESaN0 rɞu^,cu3>[hX ͷpо*( QZ]yAypH//165+v1pUs8ЃWOoecNy"}bڧKJ(w:fN &B-|Iԇ{i\yW9#ڔ21$CHF5iRТ1W9mFeQ~vW ~=m|S',ǝl^; !7w罚J|"૜FJU}G6IȲ6PTXfr^M9j|0C"I4kQPqaWQ &^hݸ;Y!|3w%knuo|%@z/(H3IA @@7t$`nps)OpV'whHj 5>X9GXIisՅIթ">52Z?n֢#WazP$o} q7wUg#~m"AE|$9 A0;Uȫ m1ZSV%ke dz;#O\WMc셸ޫ7bl,{kRcVKB%NU, jazh\g;P| :?㪯^{O|{-~,~ŻXv~ ۹6B]9S Sk\P GUdps(/~騒m1711)[dT`Ԣȝs lOa u*$[ԟUF P#/Q {\:\F.w.BDs#-7]n 8Gҝws_8~/} erWq|dq%b :[de.f2iO3Ǥd5Lk3kf]t%Pyfx/,Qi%sL ѤF/*FiD4*:^AԑdV7ͷnv&/% aAZVƟ, 9Uo$H5 5tܴMjVu}<>;Tsյmsp̜y=}jeYJYT fmnE.T?K?D;kgsZ{^rS_;IW6H6=e1m/ۚ{B~Pf5MRnjLWE]b-#>2!Xp﫩/uHMעM:l|ݯd[9pi6u;PRVR8媢(e(\hC2ViwCi/U[8TJ"C]%_"!Fx)$|QaވʏMCs_GGi&>򪤝dNdM3\O6ӝh*NScb4 |Dbz(p:hٔ9J~7iIaznve9&̀o~%_:SSU2y?1OėAL Y!6#ɎMJxe\0OR ~"nZj wr݂".A\y&ιle- Yւ 46ϾxW>NxⳟĻR%sl/qvYʗY)WX*VU+l-/ROT:L6L:D2 tk329˚4m3t:Ef5ad;EYI`6"*Ҕ(4)h%ZD.Ny_+PNiwcW1gdh#f;\&OBNbhи1>{QVa&cc8 IDATuNkKPUe)t`tnjБ*XqجM$c{d7hE۹3{5?D1pJXl]+>ZM(L2+= ,ez"PU ˼YG[Æߺ9믹OxśXL&}i< ?|8gl"^Oy(Y*=-ƥigզrݑAIN|ћ91=Y_l[I;q%_N1Pa[89 6"jcq8kHIHID:U ;͹JBM ihW8GpMv$Ӕn"*"G{ET62eeC66m7$S3׈ 2aVY;p^uYX}Q4R_w"X0Ɗ}o7!NqW-HUh\Oa>x64â4Q+Pf|@F|kb4Xi=6P?v3ԛ=oa'<Ex/Hkl X[cXHh^zrǑL ȎFޔYTu>UHIdXkZS>-7]GI;\8bGw<sNgXVܵ0B)n[1 gqPLAQI))€meBpmeq2NJҚb5͚4siSAZu6l6v-f5vZkܴVF9+7T%qh3FMLF6ш4Vzҫ s^Eb+g.tIZW\@HתQ7#_+czeR䁲g(nD[z[Yv /~+9QRx wăG1~7KG%WBŊ:̍ ^]͋oM*Z3GLVn:k+CU#! y9uY\yk_;^rl|;;[)I22rH0a`6tVJj&R]ZƊ㗗^& \ܻ Nql,ѲRI5CnFX^ըN-qYR#ZzbTcTm)I-â*_q~u?swS=_'ʆڍYT{9} vGA}V1= GExƍ3Qƍ5Cܳ>ZרF{vL qfZC4"8/4"vFeϪ78U_QǃO>(gbn=~\ A\=^%_x kIžd/U>4;IY\.}h2BfL7GRH T,T>ZƩ}rRBh2K y)SsiZS̶YӚbMgٖ/vuiih3̤]2i:#n0ҍEWk.d$#fi L4i|\)M:6LlP?IPBͪ;qΩ&aMB$,K*SNp1PWf,-/3ZBDujQie@TPXB>ʩ,8d(QdJ& g w- X&8 sVA;Le1ViDܯ&sǃ`!eUP5r7/}7u7uKȌWܵ8"0/{TPsfh7Ao8gvӞ<7#/~lw{UXH#z&:2p2^aO;H;Ta}<;c$IE\I^8 }9a^Wv6 ;rx_ιqAGj~׭|׳펛{|??@oⴷ|}rbWj_وE~|܋h\Ů7q55Ἇ2j*\W׀ҔyAMsTq/SɺQ4Xݼ BE͵1V+כt`LVm|l -~X;Ewb$<{,͑%ԊwPzdaWҧLwR9YtĶQܻuO,̶ i8j{*sm&2&춦úIIc)=_fXapbK,_-//e&d6"*)fSA])ѵį70t1'Cሏa9׫5i6Te'C4~^K1QDuӑYu5JIeI$qO8L0(`(ʂJckh#,:h: E+|ebfB'!"nL9lj1i$I U9WVڢ<6eU  0L'-VB($^[%rLY?BU_H×0z=YJ? vƖ!W kZhEUpK*>d?1|oeg74y8{S{tƁP+Kɬf8l六Vzˬ]`qQ늠_ TN,EUk6FE;O/犏!=\vΜµ3dgq{.8Gǀ94ENSLoR3%RXEC2qrBrh?BC"uPZ0FW RB p.OaO!)&J \+CNy7.nQl2ah);-҆(Ht!N>Q"r~UJ* *AqWXt!iYLĥURM?/YMsf!E,܃Pnc" &jj7n=AgU%.NcSdֈ4Ha,Jj RI^CLhҏiIϜ߸ޗ$t|7G'cXɾsb[a]ײ0?{t4ϓdeP;:+ک!v5S-`flp$Smbڴab5fu5PGH]yb[l,6h|%n\EᅵZifIiVbc2M3M1M&&ϦJ' SCVgsw9 ++Qx Ak]{Al Pyg jE !4) ˂y#LtސrTnMQ^bG#&`nXMY85t';T%(M5SUDKIb:FvK$*EYJu҆Z䯓zzu_:O;!rZP{Sx?dxw1,lcZ: YҠ"GN~"=cG> fw!f[Ub-ZGzE)YA1uc%LHckΒ^VD˶{9*MxV3*ޣ8Dʲ}J_h'Wv6 ;t欳S_}vrΐB%Dr-ĭviUaJKbDW7??vGGU itj~ Q\jWQKlj~ȄuAWS8uJowZ"oÏ?_tS t3>p€Q%&2VHHиԊX"'b"x'iǬNs52dUZe5WReA1998bBvzne KWUiw|)Jt(/? =6>C:,?/~";(>g+ޓz\1bdzŏeUeNj?TQ*Iβ5G%MZMi6:Nش4ByQW>ZtVzU,*Q3 %46X9#9}EkEoTa^^0X?զt^:bX?eW`BA*R|K"j)D뒘pTlNkd *t[I9]3eTq=KLw4 H3@ 4 h0ʲ=˺ *!ƮZΣAaƹTY){B,/3?Zbh|b?.|Br9 Wݴ2\6\ktYfif)ֶf[Lg]BP\)IDԸ9XbC?V[\5JU%gfڐ6׫Q^2mӲ]+p87Z$aSBJZmVɶee$,k1 ((.-:(ʂvIC^z4"yA3(lݢS:qߊnM9  >T K-#/$-ym% wxs?L>8~1]N`dNjN½B(%rIo8xXvPqeǮUq2ЪёZ@IhA{UHL$Ps5z;cKhT05=ͺ]vaqaQHA^UāÍ>bO>{.G=e_IӔcl@v:y[a41ݽejzT]ԊӚXZA{B%UriոqoDIu}-`Z%UUQF$!Z<ѧ2\Yo_w>)s8]gJP5aj)T^)8*0퐏hӓS W y #W09Ũ %Fy;R&6S@Qd'Fi.i'bPj-ޓsCV5NKO; #~q\oY쾶՘pšڲ-P4'R;z9{o4HB.ԯEY,iiYȗĬ(#Ғve.f5ŚLDY&I&IR7*YcPZQCi %(AE(KpDݢ͘:VH!flٺ5sZIr2F9"E^EH?4iG܂R&A{="B%6cӆF] 8OmcNto0ZjejLP 罍%d|}=WU,WvSTPi;ETl A-0iW>nI<5fS 8Z$ZTp4EQ`Le1H c:W>4JIȽl%MSff(e ]4Nk>5dр}w W^r߇a}.0nrhU;b0rczRӨ,FXرto[sOzXHůjQ[MOFOT3o%xBE=FQ=h 9j򸧝TG8~+u"a$$ G#V^<ELWubTF~Ho)_bd4I N2#IR*W6q;|~}5}{ءo0UZEP".mQu)QNPB٫Ή# Qoi-.2~q"ԩcsҫJ]^FRr&fp+c^6~OӖ~&{-KLSN㪀 #K130=2dIrpK=Udq+Òڙ^TKl$)w/X?բ n).9Ssz(ֺh~տ.[ݼ߰ϣ܄Uo΂:Hir"y|sႏ_p0`}9y߫Oacg#aFKGǻޓvzY:ϲ6<qJH"OH|f,a2{YFVWt{}lޣ=dv,3V36`DԈtL%ɔ~>DvEBo D2ҬpB1rHyQ)-DphQRqi D)!=#,<D 0[ :o|wy9Op;o~5^Nj)ٔ^wE{B4efz!yi-6يCNgnͶƧ?ˏ sv('fGlm4tHP

a?Q/aKbAiv-^T<ib*f%dτ y IDAT47|<^;2UolH@6gOat'pC$^1 bF3aD 9UB#4uA\ E1\ f-%& Q 0y2JuQ h탟;~;,IMKRJT$NssT*qL%QъFf:` ("5X7؂b®7SpLZ 3J{j1B;JZŵzww0$Ͻ4^>5RDJRPj[Ȭ%=ݣ 'bEXF☫xfrJF'ƱΒ#^MGK4ۙwb hSdYkuϳ~_8kyO8w}H>,%#4 Zy#dBU O(2%U9s' :r_ ]حsPԷ˽~͂DPd4b!5{_弝wocִ4+R%5yfik vrZ4HHt'eyl13}Z f&~HGѨhtXIӌObxv3=׈"]Os]^67G>x8oxGo_&[CH@sgra{"͢@{tB9\'Jkv՛hx;Y?7I/gX)OWJHEX#m(WXa2UIOW"88ggZ̤- fYם0M<083GZ/Z(Vg"nҌ}Te%E,/ardV-qVH #S+|/sAkXoL;@ KUpCBן)YCѤe!}yitRG3LVT9@*VVg e|¡:A$,V2:RüEYRa-(ÔhXOqW6nWy' f_U2" +iI["%J$zcy 哏g%[$bK3Z5j X#qiAa$.{|P[07ƶKv_qi ]$`Xڮ?ͳF4hd 'P-?EuZEW)aK׆ļB#QT]PZ^ 8XH,P CoHH/P(H* mO[^uR#*15, +!dF^<88n?qme_ʑBH4$Ѭsh$!R˪V|/'<m/3LβH"]wx;?g]'?"^})'3>ZK/nmXR&zdMa١7ի7.Wf}fs!?'%}9g|ostpJG9NezuUJv;U$' iYM!}P. X"=}(fH-w_~ʓNP@91Z)}/q4·Y~DS:8RמQ=BnLTz5Ah3}5;g%Xh1 RKHW]B,N.F:X'4EhaocS<V<{3|Shmwd(ǚ5kxSiNr{AEqI6ȹq@7<5S~pt kDac prSJ|!dA/xe_xGB $=uz~GHL\</WIY6$sc$1]|>xj1Z7GW(2ә#Rs(M$V,=GTJhw4U-[#`MNʧLB(kPr%S㵘c]9:vRփk:t3C5RjRIJx_:OICnfl):YJ&k}]ѡVYrkБ"ſ'g6< ;K<~s<*spMз~x}4WԀ{Ql ^-6ҲD񴖾b[$%B c BSډtU(Y+Զm%!h+k)J9`휯W1yn07:u ߧAA)qEМZܠyCEZF읏N?E 5%"6 $[lJRf)sϝM~kpqor7w5#367=z9Hlk\~e[n[/! )af?Ev{?0ўYS& KMpч+~rfw15T␜ֻbxL9:~{ѹ̮3϶iTIGK`*&Gj2,UbziQ h \ X(gyVkU~I(铻<ͨ"6Nb֭]Id $Rl4iG>KӶy51Y3v6ϓgif9KZ4o}˒"d2TmUƣ1VE %+TW D i"<(3(*JFd&EH_8]uՅ,9klϱ=odO"\FB|U{'jҭv,J8G9\ĥ|'I%᠃wcFiw&-#fJV57q9Ri/l Yo(%s⯟G^{ĆclH@6 z irGF1JD "gCJpC z-mR6T* >lؚ$v= oKP/C ,L>sz)%7.T^_-$'z%|`jMe% 43]TQTVk> UBT*Uz.]3;2vG YPB[^2ׅEI <}Ɩ5Bnfe㭤Z.p)=Esw?ŘydTeQϙj$=)&HibXl hrc$;gcݎ˾V<}/=8Jh-AN-rH_;,O' ȫr+yvZ/z $aMNʧy䎛.Vhp}ۥw>Qajh-&VaP 0{1V9P;tfsɧVp@`H<)5HD3QIsTam@SLg=L>8ԟy@@43B""89(1Yu^W">6kv 2KmVN0 lFu$阺MXb0v7%h~3k͑9秙NhyYj9zˈ'-cqTmŵIh.67jTUYRԅ_^P}Gllxaˮ`o\FYtGgԽo+VUAw gS%D،ZI5ϯcm0Pc)d{NzRDC.(b Gk#\A% (SUZ1d 7L}_ҐF8_羗+RE%1P8 %MTt9 o<$8PDш(( AIfhT#/۸2Zr{8qHDKT&8K-ҡv-3yTխiK][V/=r;Q~އpv{Hmt<\BQJjf~0i sCc/ ]\D@wRL폓)14=rgMA Jc"6y^&=I8Q}_ χŝFBjiWDZxYh;7F,2,mV+ZV:HSqWxcUH +^>K6='.};iȌØi9}\"U(4-:R&+ʕuvKb6;}+xs^ f}n|K8_8/vsKG#* x<pI{cH.\-V>~?,VDI k,n ^("+<y:&\Aұ_pL.*}KH+.4Z{t(Zʡ1q lӚnz`j \+62A D*HbMR{phYGia~\uv>Q#Z6Xnsb)fu#|3aCfns 9Q`p3k%ndb(RGidd}5(E``iau #Jt-8&V0.^!"ehOmͳ9~ A"2IQA' ZG̵jɝo* "Rc ST1M6ߥn#U~6)c,),CnϋChTOHG"i48ӽg̤sM?úoO2o1=e`rXeJ'1U5B"j$jF#4}j+`u;Y-bfv{I^? {YvU[k~u<;'~br=]i$* t3:h_ކ}^_ۅL@_v2bk LĻc5j Y1d(1d(t? ?G_5&_tؐ.N:{7~D2 JK+:>[arS b)z+6v KW1(b2)J×X2?@ {Dl뼋;_>3}0Y4dLM{CE &X HP"HqJ+ڤc4iuRj ,E#BbCӡRb0.!qZ,|s<-s@75tG$VDKܫjYxDKƑKZf7ktA \7XK7MR(ֶ$ .m;:śmM!1n˾bcwygυB4S M)#>P Ƙ͐~h !bAb`~.\b#@x/!EIs Χ[TŒPkP8ù\K,BTRk iYy )*8bdck+yqx2n5/J~kGFWgB _*~xa0tĒ困[1}+y_n?m{[m|ӟDM~x?hf#gz 5`PJRKbz`Sդ[Cx5;q;OmIHQJEX Jj1{^.;9:}4U%4qD8<~wOX٭ = w˷ّwzȁ<}%1*"W%"]JC`ҾgzQLlo|<'C(ķ冯z5,ZHɳ<|rnzۻ5gVn09c褆]21 H `CJk| nG?5H"炸V WiDJ596t>`3f%#xdEzLA^Y{xz]Z];G"erjٙR3$NSI## ~F9V>QTnvy;Hasq\ "!3sOb~<3L,ۂOWMq! >5(7:u 7DGP8]J %مtn.P*$z.ju],DD;~YQ -k WkXZ%+.g|0^KkXBn 8ΛsHHc d% Ib M]C+EMzdeK(ȹ |B&6!Xӓ}eX_ Rpg5ͅ#!d.HfAgU-HeϙtRL/gUL;&2|2ϙrE% R-]œ=v{ϒv*+e"+yq?srtP#r-wYM/!JDW4w{qeĢͰ62$R2WROJ.bPGO*s,qRA)u~XbfLѳ2L EH1F7ꉇx@iI;z[o V~"vf)Smq`מ?'o#VJTBITR!16:@IXc^r`Q&&Sk,aAijOev4uM^:s3h K&#G,\+$Z} Eԩ$uƚM/^B9^J)EZ ZѱQ#5**JPP$%Zi4ꌎ#uy2*y0L̀ t)<#5_#@/wirbi}f ·/^c]_6{ox?~Һ\kz|+;h~o;5fWSH\9y?ZcdƔfNy|? yagHuv,,$h.裶HԜc0H77ژ xwڋg{n5G+ؐ`ݏ^?Z/xEX~rG!QZ EQ$ ׮.xXhF8A?\,H a!%kaPr`!t\.&%800' 4E D'T[m~9;yc'c&h d"2RI,)~J2IB;fNR »H0AJM+}H6Gc)}Xj{rT|N>ύW)K/3[ګYIxn\/9l7G?8dM3Vc3Ax5W77wql2vI bb}a>I(z&\1ds5 %bZPcʤ]q %5L想sKb~YcaAS\ !u~kAYdU|)_Kvx!0"m$T)rAfT#=ktL=iT+ı&s1?;lhʋ8@ʋv1rwtb8ཹ[N|=Kۛ.a^ʲezO}offMMCOp뵿edMI͊eqəo>2AeN B+I뺟Crce, y "1"wc >TA\NP:L&cd$"7)JK* QQ8Y7PLckHdNlTX:5dfS29`%h$S 8"5Hi+KSA8QᐤiFۣ7H}$|ZtacpE 1(F)ARAK)f2f5.G<LJ/}OjM8əc_d$£Hkd V/fIfϬ|emsO=>;.&t.ޔ_q>7Rg}ݏ9o7O> .|L%F%16ǘKxf )V< %[ZiĪkg0h&?,[m9+q39yfk첫Wb͖{1;azjj?vKvdfG-jģ ͺ`}L/<_F۽]mw)?Wf~fdyk$RDD,/GD#ZM?aqź1y'#o(Mn {dCV>,yRՎEE ɺ1Q\_%#p[GD"h4:ȌedbrдfgiDQLfdyJG(@' ~K%DFkMamNNFTiNXyz K5D~277k3?ǒZJJDև,$d6#X 2*{эDf\sp׽캉ϐPy47e00,]6@?4p-? H1ׯqE_bf n"v(%ȳ|%@"f~_.P pt%R\r-~-[wHZuدGb& І2Æ煿X D ^~3>SˡZ>WTf\8>ݯh Š$@kDƇBxڋE| 4*+H+-[Ȟ{X$iಔ88# Kf<KrAcd٧0v@SGբ)F**I=%=(k⩲*&9e %,|RtQ+Y^>~c,3/:,%Ҋz~ϡ{O>ޜןAoxpK7 A e.ICd!!h}* ~n1O 7rZ Ppa4ZsC_BvGQU,Fq X\O)-\TSGd*qIgӼ#qt81<#R$B9AnYs +_ǝ>= %Zz)<7{GTRv~Q,|;ӫoq=r{jsw_%w|x,o6Fh0]|Op恿_n5w|#Wj\y8 ǛxY򍗐h$תױ.ے9]Xh^oz䇉BGGPdYJ8_ge=È>?G<|!or[N XtAkL)Rz0kbXү*HSHӘ2& %nF{^.Q\+A5֪$Z*o;=Z+I8KRQZG8I)*dY|}^BJ=?9pB h2M,aF (Prc˗I'fGo{Ij|TxE`3,iEdơF<;HGAaL{MwA>|>a*M:ˡXa:%BdVi%< ]svt@5dtԒZL%!}_9W|Yl-iϿ~A!!k|p‡^+SϠT*oHPxȲ'KAI P<SC 9PEq&3 ;AN(>Q肒,=h=+4MCsG<:U|L>qR@?pX,jHTaezG~K^ϰ!PVeQ4Vh٨LƄly?y}[Oĕ:;OdCp}87vv3ܶ2*{{QD *FQcDQc4vE b BQNms}{lf{1o]J'6 f> Lk_Rxmut^9DoAnIy:?N(NH<ǡ :Jk.Iufy1*83U}^|=Cx蓞M֟ Oħ=7i|%(9K]^%4 *蹰[K0 nFOj}w[B-t 'K bR b4~gkd@buIU{%N5qcOޚ¢#N} [o\vyW3Ǟ19яan㾜 ȚVi ܃&mC|Ťq=]RʻwqƻpZԡ:TNxHWݭ6^4zZh]{60.nr mq665w+4_1MX;gqAO]1R[KB`&pfPM ˤQĔع+Z&K:cMd1{SMQi/URPU]H1TiF 0qnk9Ӊ1u)gWZ1 $Ԍ'c)keϑm3Uk~#|rg[ VZ氦P jZJA 5ZF둂3Omx+ Dzv7hBc*(ǃSEkj5MC|1>3R%2$&$AU=$I4*+eM&t7} ;h/[ڋ( IDATQ A/k&gϪbRܳ )&eDň 铡uXkDA&=:A=L)ycI\֗񯗼:_k7p_>^׼_K>T~!Nc~tgסUh)/!"b,I¹8K/CŌ%e^VTyV]"w b!XI5\NG><1OFJMwn5ǝ~Om:"[Ś@B+BBT8J"CEU C>u<c؂,Md}6l\2颥f.6jLYNHRp5#:687Ex\*R%$Ԗ(K/Q,,XZ\`gy0"ih慼ҷrܩ70{̅ $ͮnb3a_EҵnKh C,@yu!r`mPDs>OJ ZI 5UwM2{S_̎{~ç?=`/ x3Ces_|1;w '<=TwWʪmbЙ~E@ qZ+vGoJ4D/]uR-Nr" \97j!X DK*wmccy>-EH$QHB0lE1^zlee}bt4G"tEi udZ]wGx%oӟ%t{D0(9쁧siwo:/j.=l>XN9"~Eol>(N[@R-;4F Y߱zݔN!Dz, $:A]/BU+v-  g6I;碗#ug>6$ !eQxda C`*`?FxANlhLYhU$%p AqNdk5vX&VIkM8STIQ418`y0`y8, "[fTU5sD) ,s qRXaRctMZNhRX罱c i+I_z9vwNN8|u9,+/y=Gx2/ȩ>;|tbGs%CLe<:v Q EŰ$p}ر|_3FH=nR-n.Vt+ѝg-$tNJxc`aERbqD/[G}W$ (I9W1ص~*M"?ؓ?0Z zYyaM:Th%#O2|/;8G-W!rˆn" *Dζ*?M2O*>M:;쵮MV& +l^vu՘⡃]_4+@y rSUђm`~(CG13B`IdLU;*[3B3a)Ih]v0׸!QtZ.YSuQHմ _:1Mlcn]ʹ{׈ sҤf\6ɞiXSԎA^1,(eĶHFXg۹?֬9& NUL3xUUMY^!1c4K4(td=XOv+\&#!H/Ć*VIyzEQnb< \+=YW:`ء.r))*n֒(ŒQaNG4KS7qQVyQ0M-3($ot"?EYS5yᕂFU°`8ɉX~ 7) &sCYNU~灏K<1YJiD$i(k*ck;qJUZnT֌&۶mǘ8JK-cE@f`i:T1>yёf'Ғ$Y}$Y>y$,q(V B; )N#LLmkl E(RVg6lޘ~MDD#ɘpDQV,--z廷L:-u()n:\-|N :[Mar1ڵ@^LH∹.nƚU3y*K*JT$MgqtY*`׸&1;C7plpqYMgA L*Ђ(9qn̚}ff:A>ox|q*,3n=^p?MSqC|OE Ġ=FI8BIBMtPQBQTU%;m'Ҏڗbv sAf]3p7\Q[ﴨ.QiMQD$*iSsFk}z:j98&I>^~=CB3[lᴇ>G)>.غnFD+Se EQFA26Ho(Z!U[QWhRikSN0º豟OJ[~j:7pМ*WW*|5ih`KJPJ'1v }oyO`U!* !0iB%:IQXlYA벫ZӋV8"m΁W4)X9YJؘ>x^_QWk2, I(LIi=V+fq\qA+KnAlR[<Oo7|sCO8/4 UIk$n^ 17lUl㴮nv3nq⏅"`#_Qv2'C"E:HICHEZ+kjR8@iTTWiARmNP̒',q!H,ME4lq$qL|0q#5IxHJz3D*EUSW~ι/z#3׵FhEfj>BrqY%Z7mf|+|۟ ]}͇?pB8lWa2sL7_|1;3g?S1m+=>LڡsL9%5۱KSclAџK8VqQUInM&鼌uEYĚ=7Gɘ]vaLh4:c w ރCYi7SzJa18aβTu:Xg#N}A|/LxOz~?6ldfί;×n<)pکGO~KЃ}P8#c GUbKQ/uIO>+;L¥5ЯlåUqZ#_PR"RA8# /+ӹ /),B⋙j~6yE/4e=g_ x g>x9cOgh<qEsI)gc٭֨\M_[9ܗٻF8}6a8Us?6WR 2%ȁ\y^aVM+i(Oi|w'"iLs@T|%$MNj ݓQ$&Mb6v wf:Ob0 Ū i;UQ1Z^_o\/rq£RQxM뼔 ;$ҌHW?|TdA ˷0;dُ}$?~_#99j|$c>~o ī.0}fr(6q9!%5U]a]`|7;ܜff(YB%n)UU"pR ^.R$p_sPDkAH,-_,=\Y %Ѹ• x JސPF(JBG1~!|0[T.8؄bilŠGu$ qAXHsu 2ŠahUEm|➥)2)JINKꪤ*J & eQ C+p4j&EE1<E<_FR[c\[ߵuJ3f)x2N敵8`/!E(5 +Y5@%e{`ۮӮ=Zxڽ7\=9V=O1ٞg3j.Bs؃BwΫN|nq>k.6 ZrZi颶ݒ\*<~^L L6FW+ߨ vQ)h'<ởws͇ע$I=F (@{)Z'L --~nQc rT33c23SdŒ xL99IT>k7%C{kClCjB,G8*c˚a^>9I#ő{Qca gӬ'Gci\2, Ug 3Y)ˊ~O %?u基R*:Cυ=CT)5ύg .6YV.} y1ƺ5djJik]g[!nCVK Ig7p?]p Eig$4UK.M}0ߺ}{_19wmκQRv['g?vWcrZH! .#{͔rj:N~k~;}f9b}oܺKsgb͑k Y'&Vi%ұ7m8> n\(;{ju(X"rO˗>I_^y:jT1%Ɣ2-OF̮2;ӣ+]P9I( J 5aE^{t2Ҵ$& dB%"ƣ1iƒ^C7`_1IB] SKJAQdY۶!ILl0)rVV)v 'Di R1L*dL?IP8zOr#EI*SdHD25;%f$JpkPI 5|׼rnw>?x.y{8 p?{ǟvW\q)ݷ? oŻ#LP%""7`y6$+_j4o;/~K8낧p^A9ə]eUW"60AN|g[g>Ӽ}7#>qF|5ﳦgBy9inu~ߪ,q󉑒nCUUHhoϿrf1`;v.Α9 )uUl\885V' i<#BLS鱄X!HPy!xj*.@h817gLiwbZVFpSšf45+>@@ۡf෈tCU>(ݟHI$YaPN|vl%\UUbcW="/s6ZǨ\,\?by֭]H#µp߮ H|m0D &^bvַ-%cw4bX, ټKpmt:)4:GY[Fn&[XP\߯H8rI` D $&x8|m z,NSIq gWxhxu)tw|X'(F)ؠ>TSn:D,Rs0d Ej D}+9U_5܎5JqQ C Bz5%5`qi38,/>>ycx3?|4m :碗q£Jm%w}:nbF&$I̽ʩ=>R&Eg?u6[%̙g5u\w;_憏x^ZG9\2snC8ǴɇOxy3G%|Ͻ!=q! gwww=U;^I_^G,r8E4ZdEObjBq7Fy&ExD7&~Ae`mMsg~[>4ծp@ O3Myn(+#,֭&7;upyD9UYOLy]>8*a`By1b}?EE0u ~MQ5zԩ<'swrs_Cڛen#D G֛%_~džUࢿ|1w~KhU꺦FdL]Ul{_fϻ䙌+r'X P%CpFK] zN >\U/iPJ$1./|W8 XSNId4\gUSvw8Õ:8"x#w7>v80 3cOg:.bj+x3.i8hj!xGYpBo 4D2@ mJJNn ۡՋ& R懄wk-ZzNam:h y\H_! IDAT5Uj԰9sVxB:G,ټm'lB{"QS*( fze"bBLA?(2,,-:8jjB.nިNy5‡Bi}#ާei\4)KC7sM2tDY_Ћ$ݙ9AQsq4V3^QIK\K5ܠ.3ka6!~nIIwO`|6s:yq3ЎHG8\۱Ć#o2`ৼ Ccp,(T{Њ-z)n ]BSIiBY;}VOYk%jLB+$ww?ڵv 8hUq8]K=Y?!߾2ar_wwKq./k[*K,AAA$ N~*b4)MtuIoe^p=[MJf戓:VtHӔefI Ip.*&Cɶ$DJ(kϽHƹA+QZXV##ڹc i֥vʒnRƤKcctEVpΑ&q[Di/&n!BkMUhX-pr儹Ik~@']gMe (!QYI,krtEci92RskS^#;]ﺊN8ǿ$qEl)p*w[oxlY>| < Oa;ץ2~o*;~L?[sC(v-SY/|!G{yoEF9iЬMvMqS8VUTQ"T|@5!h;ΦYi!_$ pЉҬ›=F@g;JZ7_ro{߇$ Cƞp|k_㪫'm %[pH^xiUO-[kOiK5gKXL1M LT44*T>/z^! a }N*:_'`\+b7MvWj4I8.*aDiXn BmINdBzݔ|2fXVH,Y3, P> rRT[)$4I=Bsޛ=JH r!ykLh)b^VSy4X+5I,vl]@F)wX&'tb>k@8X+^L7(j/Hpw]wjAi!Gpp|ro{sAZy#"j4]膄*R%Eaʅ"eUt $ @/ڶjR D-n2[es .FچbCcy`D4hma@ OJW &qE&EH+QEO6QT$skdKA'K8K\3uA=R*1]eqiyg#py'=gEGEKc~!$iyhZcC$Jsir̩7\_;H:O98Vm؛*Nxu{wPl]{5~vӗxE+|3.YTq[B g$ %UJPY~,RY$feba9ѱfyP%s3bƽӟayv yt5,FY?Oj FN5:=#v4匆9^ eiڂ)ٱmbn5^6$IF'Ise,c437'Lk#*)]Mx%(t5eUQUns%d2)PZv AiF2I)*Mko8">hsQa1*rF#JTafx'ե8y-iEӐJė|Wp !> u|pWY|!,-̭̓RQ6q@M^b[ivVƭs87WUj5~ 2uPtuy¤=VPUYskGօ/fi\3%\ɯy?x߲giǞlEE]>GܟcN?H{u 4^Θ!jd 7i| cǮԙnD3i2@拐.ՒE2TsXA4IǴ'~?^ Ir'K2L&.-.D!(֤BWt1ʡT Q 2ʠ<,oTT&x&tnY<;6~ 4Hm2*|0MؓJ IAcid\ʚ^lK"%04c~vV>wͷx:IqH܎ ^1S)G1M^l^!!Bh7QS+\5GםxT8`j!uPxP*0zZ3˦ qo`np~֘NA* Wʭ`p D44eU :f2cep{B88; @G WrK^8eV7}|_p˟KuQAnQQ$GYL/:] uT"go]VpKH;ߌ34y]*88iץo%$v;]R BwwO}8[^FR&%RdILdcL]BlӠ-:2VD5K%T,&Hdz[af^Di3f=X^4XS3 غ>:H,R0LϏP:e8.ٸpRbZuIeرD*VWF=#ʢ`>Ϯ둤6^z/KQyX-tDDB9ViMyM2kpt:1U]?ۧkN#P'x3_ӂqa(CDY74t:OJed"f/.($۷-p][g>uS[$n)Yo#pn_do?ߌ>/mz7PN>~u,vMp.d̯o-Sҧ~{/ɸS KKlXWՈcK%6 '9Y!vQĺ,BK/0xs^JwfquUQZ2NL0`ԆkvMƤ(6J}6YOUU҉,›V8n@hAm4| Ei|RWֱ0jziaɤ4ddPxPyśSEQL*CQ[k cJ<$7p32WqICj|_镸5caȦ[Fr-U;_+E4dMSWS#&qmZ^ Sk,dP)|B:?/%5 8jɹsw7#*(h)ƃ%^6&GunhOstܘyA<)5BJorh^L:]%/Kn{>d^usq(XZ*0スn$|nm S5ckfgg*L3tBw2v츏z(}YTjQMmOׁ" 樞CM%&x5JRP%;B+_}vtfشi#QT ΄0)J3'UBUW/@Rup[$c<yCHQuwzs--Pco,+$iЛ,KdRV,,(4K=laxB=-:Jo=d$MWϡbo}yҠF8ŔZi B9 6׭Y B"g38kYf5eQ)UMmPZ1 bR^7#'﹎4IIY^Wz)dBףJpqTUN)ňz)YX)觾c5EilZz. Pk:M7Znyɋx<ᅗ_Â]Ֆp|cawv㦜C!M/7}*K n?ˣL>ux^8 ۰ vƴswlax'Z~ [UѬg&n5>$^OUY.k<&dL;&nJm E(F̹}QJ򵏼.y=> 7 ?kÙUʜ2 $ƠmP' !ڍ6PL3+L[ IP=_USyU޽{~wO4~sB+܋Xh@(vbDJ<[H>PKȥobA- Nm ˗KAbJz%OARFuPJf}~#DIX{^v5=:c_?y"|d\PB1 k6T*!k !uBײ4":o.d~t)R{y?7mY^k,k[3O%BBmZ9ȴbie)Jg#z&>NL 냊sz"IQ̶5y*]tt tN9(׶o|Ȇ <5/Ѳ$+TUS2^hCꎬ𢪪i ´t]`8 XFRLgk1 m*ں)!Gm*,4 k,)b0JAeH%ȵGiϽhs,MLF#M 3βo*u㺼~.t:ʢ 3< MRE,?N9"/)csY?r[M)qB"$R, qB~/ʹkfX7!a IO0q-DƎXOvRB%Fa >1M]1?|#škܳ9S8>xd|3s;N.zQGiB7<$.: F"fZGE:- EIE_hbbQh }Hem\, ƐL'Dʺ j/> )J L{_"!*X9s7|[y=QH&2m;4 J*|h gOa+YLһ~ꤊWL.b#ȸm"Kl\Ps {<%6m<ydt'IuR׮Ous^AF}RJ4;;؞Z90$DR2$"JJs:Ru4ՔQ1JBDPJ,Ky~GMW? \2FVv3:c. )˜ƩJ$P[=^ҟSVϨt2AN* N zDĈ kp0mG[7X">= eR8Nܿ1loMYCt6SJ"LYui[5hgdep0D 4Vw/#bccNI'gmm4'|^xT`{FeΞv̪HN GCrNX7hxC3ZTi IDATXG1Ʉ(ӵ%2:ch[`@YaM^h&%66c%> ak:n[:c%G׶pqpmڄ(  H1 9KK2HېTKaM` gu /1vGu#\ gi}6|0.|n')g~#{8>I|tVD䀌|5AYQF$Sߏ!JJ6<ÎrbE8X%,swJ0E"CID_4n㗹g_Oc}wYI5b@|| yaԱv '$RaJp"*w!A}lо0)QG h%Upviu|G_Φݗoq>V:>?x׻ū_j/fe) h:HLRaJ?ĸh 'S!H)@F_:|r*;Jq{J$"H2)Lgtץa"5$DsC|XJay"Mi!ҽ N)֐Ф['CDIoLy£o~OTI{ʢ ۴mXb.[)i FCd*Cx*8[ }Z ]`.>icZR˨4&w韣5] ~}fQm%S:CD0KJOJ U 2#R'5D=_)3Qq̿I"C+ #lRL>+u.U E'WYX /jP)\_hȢߏI̻R}ڥ,sPYQ_׽_ݏ#[8JI{Y./U oWUK @2!t " Yzsoly,ߗ'>\YO22nK*_@+`M/|&|?Gt~C5o}_|Jsz^F+bElVq6XqWKq"GŀxCJLR<=0]h5su^gQpqdm!2Ȩ8|dxDYE`ho/)˒p`F+KM|:ǚ`faeyX\-!l 2WLIƬmW(vAh=fbcsȩ뚢( H!)$ᐢ(Z4a4(yTaOR-ٌ|An;Rwm6*±$G7+3>'Pf ce2DIEY-laQt&#UIIE>6(UOy\ET(\|9LVVWMN{w/xu y-®/_O,2)(1r0WztuOnqW/{ IUCr1_R%N@σHҵ+ ̎0`~.%B*S+Rⴳ!M|I\0~,q^!IE52ȑ Pє1Y-~l%ӺftMѨD:1ֆ*Ҭۍm2Oޒ tZxVg@gx%u"zW\}s&_x>;AW>_s-Mq&k5H18ʹ=P5?1O،q1@ 0! i?=e\,xjl!M&خF蚊4 .sk$ ݎoC,;>J>l) cI,GjfQC *|(xCL<'o1\^=Vb8:̪VKEglKO($@(sI~TQL6Su|r0ƶHdB'v+9ru%]D>vdZxAW%kQ^ Arht|i#S)r:QwAUJHy_[#[Ke{/RIOCU?/׷ʥ\wѭ\dayil>cP F3 P?U wtRӃRԙR*&#ADNE#m<(#VW򖷽?z ?BC?>ьwnQځ %qP;S={n^x8S2E^h6xeB&3 J#8_:-$+MʌJpt ˌՕLи+K8/h!W;NIT1P}2]Y^KMow#fe6}x?Pnvȹ39=uλ66Rؚ5+#PYo[pGa\3NH$v̞IV}#>^ &YHN؋] )>&#(^@L] fa>&ŷhE=nQd D|:<&Hݔ;Eh2L/,*UaXJ{i~]]a%u/nNV+eh0@ǴN Q _Gd8CWD( ^qQ/!$B\kQTk䉏{$O|죘+>Oͫ^kƿE۴IIm ^wS8 ߵs/YO|r;\zs> {߸nY㡗_dL;U(Ȳ6Hjym;g%Ip> y8~W.sg+w!tj>+v,!UlNQ J ֔!th[<RKlHbGaye%'L[-MDy\JN=qRݰ9bn_{ٽ"/ȳhH5&/ ngnv;ɨ#CaC8oȲz_IfՌA1`y2acm%amcɠ`}{hDf]s ٤%):YTb_zqxc Tx4USsA D)a_ iZ B P8S5LĮd8I]˓}|ĻW paT4d5fY ?N:L{!~'<)4cσHm2*RE5ܛn4>o>|oQY2s z>gϾ}xgܮ W8V-hLAP j6䙦,Sl{WopRb]fAE,^;@.$ǃaTpAtfCksvڍIVH{ޔ,MSck[SUے㙔sd(e<̶PyF1,pCk9j #;u?//~]'g/~Ņ]žwS9gF{^skΥ_Rmt1y 싹Jk"d !BrC&C2-!|\HDkR;EҐuT ?ML%$Y+qj-p~A(w} )$ )}{C!JnXzF*f-# T4c,}M'n|;7pep0 D}rP 5j}P ɃUW5ζx,"/2V Eޘ ]#:qع/tK(FLG[XM5,dyF`H|BiB\0]1,X?z{5VN8l0&Z9^$qIvB!q)F@ ^"c/TL$~v]..-CY(頻PrU|(ڢ{||Gw?ȿ˿!E!!u?ۮ~ K2"};STRG^ED"]Q1 I*{9qM Hv9pT539[( 2ἠi*J+TUs^6ekkϿY޳ʷ(2Mm-WMݝ#"6xgW'm,}:|Ohrp2klT_gj2Ge9dP*Cy,36y\c$xK/:h̹?>_S89悍ur!CelJ4 7),jhiF2(pZڦzt$8kk!!PҙbQnrBx/)j ;<(}VvݱU=ϘZqᚮi x/hɲBHOՄmjFy,,Hm-Z[AιjZ:Ũ %l)V q(s9gw%ZVzH(|dA:;XLAmPʳ }"-Y\|^{uZ$5*B_,ĵǽ;:=^"",/eMWT>!jU@K[β6Fh('|A<=橼畿;_n`rP7-yQtGY^7" 4ؾQ@nQMՅqj6:> 5EpHF"@/b%آ EXk6ŧw,\Rdұ[BJH~pHfzRoHЏD6"Ӷ,,k5Sw5?k|^?| \j`:\J65‡ViI3oB=PA6  km y>KJf[q?B#(pC Ru] ad5=x!bo>otzg6I1u, Ja!S-B|jiRy݂8Fq>1M\ R$@ k\a oF,DYc{ʐ8<%X gHt ;>VJ>7H9Pjj/轢dYgY;|}'?]+??aYPY؄䃲^>vdDI") !@4W aT | *p.$2 68e{#3 ȼjY ,@!()-B /)xs H75(qK~xғ =G03[1^װ܂ք)?ΆX|̇0$p4W~3,P_|_}ȍ$b2F\tmz= C:N?c?S {/׼uLF|=e^EFYlmRaVpB`XJ!HD2tJ\45bi[I7nF;]YtxݫhR1,KZcm2sa޵ g<`jf\љ˚a{=ј6e}c%3{!-Hͬ6 tJ R] r%Xj:0ֳ1hM0)MgXk PRb]0Ý ڰ54[{?DUH! pWއuNFW)CUttC (k 4y6qMcEJoG !x!e qJ]$u I&0 EaaJQŎK)Rzqr@fgc*F?ùO9b~лgŕ_o8]8/n?\v?=Huk%u5EIcdf@:mfZޒ,PZM[=,4f$ ,#I.LUqK0tv˘$i՚Hȉ y k-{׻&o9_lku^G?/[oo32-xlLخE ɳ<*Ҹ8[mxc!:koz ]x9??G}?:/b*zC 3+<{+~@}7yFw5*i M,TkqH*|jKD4<#(OUofX;du!'%1yeE"s/dk^ c}5ڨ"|YlI4!%D1N2]HJ^_!Lf;3n\6F9qo|˼W7&N=_R.5A:* p{.P,h;0mR@<1*ýkZL|u HHktY"7^@xDxo0/ !4z8iHliƹ 9>wͭ_2dYk4xS7j HuHI}{'?~9s__3ܹrե0鬣mM0`":8̦S ME؝W YFX'϶Axztmx˂XV:ӕోR+@+V%GK#VFlט+2wuzFUϹty]8dB[N?q9:s|sxv`2fh4`iXR B82I)d4D"8)C5:ENX%:tR(Ñzm4|QA曾%8gwxk_`ig=*R*FN7)-ɶZ`WY(|/ɭa"b)9QHKz})/%D%N5 )" %Yd d|D \LR(T%Sܡ~/E !F*{ B9o*_呏O%x.S*+5*vXz! nd9Res/YwR HeߵICd;IU,JH9ZZ6*OgᬳN=wařڢ:p-tXw!^K'y =_7lyJ>vXHSɋ] h7X[0DNE$|LTS \u="%Us;~w,ܻ0aWĿaTΟ׿lJ%UMVpɜxI޳16t82M5m9l6Ǵ yS Jii_sb\ೝ1Xg^]"u6Vε=Sws)8cr {.^lϾGj=TnW89Lj-n?t+, 5U̚)CN=DZ,YQ m6x |(HEQda 7-UH"tދXdqݗ" XQ<ڭU$@W)-PĭKt8|s 4CN.cA ɇj}փb0Y]qΎ w٨-YN}(E|Guf>r*dŠcb} >x'&,*|r*!F\` ,}/K4sb_H&x1$E3n<ƢBm Dr8 {Y1_>Y~Wo}3pQ=Z2G)EZ12+ lx YVдؾs!qǽ{ ?/鎊Fw@q%=s/k ?}6-Go/}yٓ+~*~mC"$ nR@^]^>6cjk747vnHRg%ADF8%<G,每1Nӟ&HH]wBE _)sؘ\8@kr-?l>k_[們," &-9|g]Z{\ i0vkL i*vј4k]>D֘y{m[UfYk}p z JQPlFKDMK^HFF l$XCRUĂbCz}^es}.oqƸ圳ޫC0Y.&3Q*B)&TUByc|QD!FZRթy<>f9bǵuo2Ub*@UkH 8xObí7ag~Ns<+^x?{>g3_yM6qwٺe$Jʪk dVeq4Uh!0BU(=A (<ٟ2*m,=`jf',;8ɚS]5N+y;`3n)yewb튜#\!{f*oM=FJt,6ϩQ93LN5ZԔ|qSW& 6k:ΡUO9iocN{ wUg5DWC5 %[FU + 333E]4#  B@m u:JFK,6YpFM┒ZZV}o]LYv=>wK}LYZ朧quKGJHV򣑽ȧmҴ.FRbF67HiمXUHU%޶Q>mE76tYJ\ Rr6Yd/}m"QѺӊ'$)є|2 Kֿ7e~ZWdYNQ&&&SS93Ib5\1mf/nByi;[ mQ֒|j4W" ȭFm^mz4!s|Q3G.8*qkK5ȝ{7i\ v@iݩ#^J»0 uŞ~x)5/>Hyosaƍ7 `G%?^&}0TuɦM1  lݼ@ / &Y|əiQ 8ՠ(D -syIDA!yN"fm:T2f٩vc5smGXɏ؋ﳖ#ە\͚Ua6=ʃn[6d,⛆"Xy\;r[P5, )GbjHp~Fr6ױ b~&V~/pαˡWKt4uS՞L+(PLL2=;YcPZ~/@eӴdHj➜Q2^ٹ)"cffke/1¬ A HI*QR<ͽuͣ>JFGJ mA")&H qNz"S)9?ބGv{PfV!҈Z?e ò=S}jDQ2CV+\, xʲA.`/ DUM D&. D ǫ@wȫzTlfnqWG ReI?<9)@F!.J mA.a 咶H75'y]?&>2;7 F>pk=d;0mF e8( &7tɩjHaa;ei u;IY:"0D#>?'󵏼F~peyG܎xSb}ajvr26VhG+UښZ`BtbIb%'gķ'ZzՂTQ8MUӢfzH{i| FPD.y'4VV`Da&.DNR).1}&f,@Y<\/6;Cɓ@/[b IDAT CY&1̳P cr4 J[1Q1((xՐȕEEC=4`,"!4"¢\SoY (qy.`B*JiT2(@eD;1?t,hy5 ^='8nP~'>Eړf4@c(9[lezzBzmULg8?B)R@)԰HP+v`nno<~}O\쎫x_ .0bg^W99YtO3=QPV5 w됉p~︆\IJY4MFr2hZ }C+PV g!c_ⴂJů5[5V[FeCY(khjƅQZqL199-%W2ò>8yb'7 IP%QQІɜQiga ~aőeg d]e9U]_cVٙuVL@X(U׌xYT4 ,,lނ1ԔCΣn* լ賥rL߸(im Q늪QՎPN{43/jCQQJ>_khT #P"&ШzJZ}L`O^=H,*t]fVe>rwܱGts=\ve?vTLh Y&.u(! )7NϦi. 1$DW> YZ@#&ZQOh@]Tm+ L?)@Jj,>֨:4%}!()!P1K6NGi^ട19m-C bUAUq!!l5q溫3 x_J5qM'F uYR^yjWi될yGKk_VݣkЎT$D 5ajK iBz4Vg\9?G{ܛ__}/|'%>ze8ZJ2H'Fmm.!cճa2wK~6 m/LLnDz,K<KR<&s0ƒjR b>nbu*΅"x~w䙧c&5|,CT0T9\DI*\z R'e娈1cQK"6pM-âjA{ƊXnM-nG$|U0$NOp4¢Q66x/RS#hUv/;ﴊs>Aǜ*vXsFޠ⧣T44O މʀIKPyNh\[yA 7R(ޡx-|d׼8͋5}勼/G='X|5OsyIp‰)O8>'=1㥧=z&  a1(RZN{hih + /vҖTj+Bl_ sh@5JYF is,#7鉜@UP`Po8:%@=UDӻ Au; yIs<})w?X~|9"U)6yNn',+FH9,X,RV%M#Gxn_;:W1RK,Ys*Au#X]ye&@HkUl5nM]wHRPIWc뭊dtHcƃW){?$駼=xm?p /} 5{M-,(zEvo]ԍ Gm )OJ_}pBҫ[%R4-^mqvsRm sz p6V䋴n H`=%!RҸ׸P{~Sf'9ꈃ78Qgv=g> ^`@衃F5G]dV33 ͏9$&TQI6DsɭwTQ QΩ&؆hO-u|j9ؓ |_āwd0W*Be"E!X MN;:SdСbf!A iȩXwU;a BLwbDd@’ި#(2|cJ/ ]OJEJ4ҳ3Z E C!] Q4Z^A"Dd-p9" +ÒrTF0֠Hu6l+(HF017M1 !p5u53 Ƅ +0E.H룴ŕe f !BИLD#R֗Ag nqQ֑2@,z*{oy_W {\Yv????~~˽;'Dȳ`PWh Έ*39^b^7x0Oa̞wο8#ʡG[/ :r}p7q-[`zU='q5W /> 屇L]#}9GTAj^a1ɎA'!ȺٴĒrIMĵyv"KnzY_(#¨΍%74ΰl, B,klƻM"ܿy+kz X#/ V 址I}2ȬetVI{6FxdF5%yF顰 _n8 c~"|oGC]>zbJ28Fo蘴.n*cFK2`H33;`$էH~ 8XV{uUUժt)"%6P^wER|mlLJ.msډDzePVnjyF '5  HQQ-t8qPjl*%FqU??R:{l#:xKwؕ};* ]UzeMK81cpuCE/ ǪM1XciX ?K(*,I&ng׬GZj}$slD06ƒ4~{>Kb?3QtT3VZtLBI_|S2 aY~zշ(>=qpa+~k`;uLƈQ:;*/} Pר*<Zok.fϲz9^y:&'нveo<(zr“aGÎbGcXZ?~rWQM1(3r߂!)Djl+ŰކjDWct (H_zW6wkBU GLLTYcUUa(!P5!H`Px&&ze2ƅúaPdV~FuݐYDQdL_~S~+ W'/x38%茺Ѩd-ٺa#Zl'5~5u-}v&:(n iT^%^`^j40bDZ[^hQD;D=xt%H.3x,`吗£xg$ZK$))ٌ,*+M+il- X*DZmF%wVn^hIجPIP5Vf90ky^I?BzixCgz~poID˽`cB#p&9ٯ/zq\WE5Ğ12qx2:JG l #k4UlRoi7@WnCE4 R.ZERWDF*+E4TUw2*zƴRi.e'IzJ)l kqARSW*,un'RgUL2.*Ybv{g(̓w~ېE{~<~_9Tx04_xs9E/ vCGaRcj"qNmbC Ƚk< 26yA%|h(I(}Lf+Hp<IssAEߏJF\[Ƃ~6I*tMHlnIctgۀ8t?%0J.s#ysx hȿSXzz_ʚf&Ld~8<[ k<G>'zM8'xu2>**LU6UJRk,;u=ﻋ4ӳqSXs4X[6r.G? M]CKQ]KO!Xmvq=$WRO44M-b?a^T.QL";DMs4|7箊E-9aZ=l\ATT[IXChw?Q'rGߎJBs u ĉ93 "(&$k:x_9{cU+eMcz9LPZg6jG35L +p3ٗ&PAQpfINEiPT]YQ X[`G;ܿ৽Bk_\ ڑ LNMRةjV*~ⳡL(B7S _W$#h?M\qw0*f4S-, HrA֊7~1#ҸcQ;5 d̴yC.3ܳeȖAMY"zLq/2j & `Xg}kZ 2R;Dni!w_ZݦY+ݗ<'xSZ1bV?ޜ7-_*.n'_*cs"Fs`7ǯ9%YrTg7Y8dygux£q询ۆ`@k>6x+*Who$Yq *e%K6'2Q:Q,! S%3sSn j'>6!|ʄʚfa@cD1`@=*gq0$i u#>#TG=Qv"@'@]5gx3OQv6_ZNz_q_9x !33@7*DM˳VZl$^> TKqzcm,z07XNys8/ wd`u";|-edƪ&Z|<5n7?n=y=68?75 LLV5U#ҿA"c-FAYJaijWȳQUaM T^afT;zLW95]c|p =x=yA)= la s}2ϲ,ϩ( ("`9FTRE9(dVƍ x#iϔ\d}g}ݹϿ%[{}N1kjy<_?lg5{Yf@Y2*alTy~R> }{,)Qm0FZ[@U5Efy. \E6`o|d!ңQ4γe| ωMȀVT0љ=y)Vz87LC)ΪRy ,12WHRLS{@\*b;?l?g?,KoV#ž|!T$5B[ $a'Y~}ө*Gf4MTiJ*ߖ5CF efэh3EN9N ?{+$-Oaw׿=_sUKyr7&kR)xcԲ)FK}CP5RHUTA},6q6/F] IDAT 0=}em{'5襪_fcP4ݝmg"Uhk,MW:;=piɭ4IVZy1zoa?W@`)*.c)kfTxtkI>"_(*sbqg?^tyY6Mw'%HɎR :ܒŹZF4T'G/5d'-BJK LplhdP=D&ƕR@DzwWڴȷ%MڀRV(VTMupL1TΣDzUV5l~[k캖-7lbǵh+9!E4QzCȍg~a̪]9/!4W,w7vlv.׹Ku׳^{W>mg(ArmjʑfX U&U8滪X A]XҌZ,@RńDDPNPKZ۴\EyQi)6ȷw5|+#+(hcB8D߻_r>Orn8(4kV"VPU薎VX2oc% DcS\>L(MVƍ@k1  /YV )D%XK9"qpޔT!OZtfn0kI5 *3xh" W^y hꚏ}3(u,6l<(k,,0PrzM[0%U2ReRm»'Yӈ,5q~bqXz,X6(%=q\6xd7W?=i/z60o~F9RGB@YdFS&gv2S`q8/o_wT#gWq/}/ο~`~?ǜ| K~tM?bj<ŲU;Gy'c;xʙ5YfFJ|:AB2Zʤυv͓kB,I"%! ^.^NsW&kj"XpFJ)Sugg"Q0L֗,O՝4-C]X5"ϨIMɣl{E8Q$=4q GLLE*:;g?~B{+~a q%01UM1TlBSjdQwQ h6] di't (͓|Z).|ËXvW3XIE k7-TJtw= u% $ڒOI T#@k8't@`/O۟1v(%D&C DD@B{"g m1h-)Vj}=S=zPa yn=2%}!~qIkQbZC)W!(7\vYn{'ؼYo? 2r'ɸ{X,'-+o^p'v>zx{.3}l'Pdq0ϨRd63LNNuIL!·5 ٔg0V1}$hՙt8dT1NA6G5+|)M|ingc~~lj2Ӛpd scFWk`# JpDSLNMӞʇ>iɥ>]߻23ܼi#s(6VdjBYFʪU&NR("*Ye"Y~e 7>'=wc?P:ѤS5JG9g|]/{%?zX[O~ﺓ3#Ц 4&8E |!SCXjE+cO/W4NvG?&G0 mGLP5Dn6x̰XVxEU qhڑ4TqkN|Kwo:=9};6?R?vZO?HfX)uyO$!D[zOɞS;q׷QH[Buc q/KED'dlj>2!@A8 ȹu+MUrfbGSWJe/%Gu<2joFzQYt2˲/:2-_dUB( .vC+{uF'sjieY2r&fe?S/]8\6m &UD@)j-v4R&(U3/|_io:x8qo%v%ю+Ku[:{LCH/t|t~g".n)@/u\u|BYr>x k)2z>S ]Kqۜ/<7~ ^7??>occbzpmƲջ`mDZ1*zx+ys;cϵ\}wyS5)RԿQaR/x5mD'=x$H&OMvQڍ%-{c#uIC^7%lC1~ZퟱKr?A-Y :-]OF޾(HYU@EE$mR뮱hR`E$9YV1 yme0u8AtgQlE[q֢f0X{_gMx[# XycTmGzcc{_eL\fk~̩Oy6+W)/{cL}[jzƾS<`oy|Y}_Vϯ*~~׏בr}*E|HڊTI.DѪdO:tksiÎc5yXlݻntRsJ5*^S7>?w!oۏpӞ3Wė /9o>_z5^:SuUG8M9=S]+}MTP1nnd>v(}/:'FRJ&Iw4gGȳz .[cސ@esC{9)]ne݄d|$$r:[~CccÆ USɊuIpY:cDnfj "3Qkj`c`ࢫp $n"ƪA9HlN?ﻓo>΄NB\| _[9zUy~]/U{/npOoY.|Z\WQaZzhS $ c5#$}m+^1Uj&q0J[LX>5p~?|b ,o{_0ﶒ?ͨ㫟\~ O)f0YEnVc4LT*>D~xyoʵ?uњ\w v۟z%_נzn 4#e V6h] '\w,Jb;QVD" Fvkes[e2'y 3_VQ%cP:MMJ[Te *E.62V(ƶїV$}d|[wp #=NlfQʶB0T| Ș&FjEώs3S1ir T^$^!j^y.LT ^zJd|H@ .")VL&g8r ).\tujvz7Viךa?O}6=y[?/^$ʵT$H}v,TRYZòqPQV%a~tu72ސ㦰v߃WG.b,X6Y8ʆMk 0iv1;gX6UD Q0غן}y {__sōUURDe=e<<4_Uz+v#a;S]v!P|ÇOf>hcmTLs`ځ"" (myE%?ՏMn'߾G֗3^U_B{I*'8i|Uc B,iwǾB ȘF&5#6Ͻ=z/ծǁ<7U%PBԤ''xZ86gcb']zQd!k_~{K~-c!KxJsUܕ}ߛo^x)31v&ŦkJ19ѣkZ>c}S-σ}B  -!8fyT #xAK6y2y;7h >u]SV%,Ȟ2ԵkˋBSeTT-uy4UL F [i#rѩK(cuw,J{>D*g~~QkkAT{]<B{N_~\z,y;9X$ sY1=)&!10Qp8>H1T*[,)x=/-[˒r|[[YlU{ZK͋%?gmEgp3\$'EDPQ1TS*m@m[c^J *ɗ,9_ U~Ukv{?㌓^{ZU|31nv\Gռ>(ٌ6Ƌ O-b#oO1)$M:{Rg[kE۞;\yLKS/j5(]r{kt;(E1[?uiժE-eP<9[l$?^tx/_>-w\S/a?>Yb#Iޡ?gѢ).Y̢E zMS4Mfy$󦈵7pNIQgj8mk1tCid+T߿)Yw퟼êQ, , F]$9rI _{A[[lYQ J ᔭ̄,LJz0A$ &t 0"ՠ+Ά&|c6J7{!r٥(zy>ǽ7,tY7&vIbf9PWŻWz_vƾ?GGy &(>%lbMDU':4ց&B֔6y=wɧ> {~އ>b7O;7}\tE ]lb 祓C8FA^Wa8,E{y1-_Fޏ ߲.{óŎ;?4M藭kw;#Oa&^>B-oD-/6{q 8):7y~EQ| Y5u]rXߡF6 f~TAYn(oUu-(Z`a$RP n#Լ(=Zy.e-3nrl`=,m?vz 14I cc=NNK!R ؠQU " {FUZbn8O?ɑ[[*n'WZ~qo W5bp߰VEW66GhT+7_uA1oY5נNʷ\TQHj(``4H$n*Pc {D:nS/XŸ~u&Wp+zZY9nTEo,g! s,j)<\tX}暳ť?[X{n&p%PFQ[Bo*x[?e/B>hcw0pp N|2ca/t,լZ?x7 ]+#] IDATU;GhYZKP14AP ,awsM慇=--c?sl@}'> }_N[:3R-bN ZőQ' BQ;"Ec;S[leg} Wp?[-gnXPU5cc(4N Aḣcó 'ǎ GO1o81㗞V^{ Kݑ|˒EY7)kYb9Yu菏u\Ӹw?gGֿp9g糎7>ŧpfӼ9o/3qy㋖Q# [WÏpd,r+L $J9-t$mբ)MDYDڵhmPj$%]Үggl{1hc0zD BdhHxhi7pf.IӹH,kS^B%8\1 Ae):)B:RU%_XvXQ P$Ϙ4)#S*-$+0-$IБxQYNR$ZT|/ w iNj>i\]SIP5Kizo}Q{R dO登/gfzf$0>Ӡ^ 7;'I%s@YuR ذv ? /2K@QOt!w.`ke#G$D;Om&w7\ʺkxK& xbsZnNZTSZ65k#[Oz,QTV$~4%10,-RoȍfT~lnD7e۰zz]+X6{WW;6׀<.;%NHpLGׂX e);1(Ҽ#ȣ)zY(Dv 0HXŀBpX5GGNr~4 b=ewM*{Ũnf1hJ5qce~nPiFþ)S#r> "F: Dc͛r\nٸMf,M56t=z<尗;`|6[/gfP`4JIt;M_8kj'ʼni\*Ot)m@7sYɭ 9s? ~­ۚooxڑoe4ezj,'IҔe[)S;iDit}p G=q7~y2,TmpM8xļ]- sI7IvcԌM0\OYqY RlѤ`a[[3M/+ "WޔE-A.Cf0Q_˽[Y^΋q5YikrB4F^oC֝2Pi4:P,TPpIAڷUN:GkI-ū!ˬ."]4Ip4ND)TȐB&*/cwF.ߎ}_j 4(0jߛ?oo;SwPx)ܽ!gECƵd1(@@Qn>UWN˶Uc'| N38z̀I glxmeXTdMw7 $M{SX^IJ9?0iGd輸NP -(Ia*kUXYMy= m 9YJ :s09}|(<(/]q <%Jm  #ol7'KW4w월$ UYk:sâQ[)>c̡#8O}?-Rb0$u(lZ(>:Α&+%oXT$ُPިm2:NhZ4eG>|jQD;Kί Rg `t~G43bE6c#cP`U@u[^PFxM# I>8UU 9}5:do=ccn cgSwg)Šd̔CL+-dX;j׿25=1ʒwz!&ZXsC3Hjuwt{}:qH5Me~:)2m3 yF{1uObIgC04ڰv eP&'.|p~}di%Yt$>KjYmFKдf>\gmf k)v +/̿KcIIQ -‘gX݈B y/N^ivDj M"^{\4YpC5MqJ j8 GE:plI^%4)" 'A9%+ȌF;!zIbA=Q;0-? vw[Vs?Fۣl\0_}a|ᛟGVϻ_^|cPvijx2aƒ[Ndd!5RT.G_'vq[>ͯsգZ LJ'UUJ DmIfffF Jy]YOWuMeh7P\ꢨm}$FMJ&>2FxҮt9d|WEO/fF+σ&ORDIB/R[mK5 Mu$ƏLTѫ\ uZ<.P$@qc%?blƨIOC'B[R$ O9 #j(YATt<=0R|VỼ JH!H\3EHCsn"SNcMLޟ;Ou)^{Ր=*lD^jIp$Va=ן`|r d`:$iWzQrJMmbLޥ* Ah^W@mS'eV-TkAo6 d^&LdC/HjibQ$iBetgT0(qÚ8j]SRB֋b \]`QcmA= [u *[37eXTuIUeAm AJ4iGˤӺiO*l5'6MEZP*ƈJy_An&v°|wUp(WiJH*hCc!䭩o8:&2w w˵rLd!+:0fX_鵫CN^;_&.2!<9(d_%r&Ě&;Q|pdz|bDHDf[؅%\y ck jaSο뮿_z {&ɚc`]/!5''r)'_]OgF1,LJ3,(]k^nȌfϼ뮹V&8&H};/VeE h>eRVs'֮cљ9%rIRIve,`톬ȌGG衒eu;4^Bmh•e87KuO`(!Va&HbET^Ig9<:G䐫np@:Ki"6 چymZkj}x/)XO㡇%/{wc睥68?cO$ˆG1#k$yR!y0!W͖͂ԆADcpb[ P 1u8oJ72:1.y4͙CڿSM7~RS(}tn|pcdCY4 oR^yXSH;ݠn/<(͞251)fh-2ਟO vK'L,&ЉcN{ŸϞ7>x zwyywHH6+ʋFybfnn@YܟR>'+:yPgYTD<*u$L"wHŠ"y.Q ǣ:KȐhҢ$MDj/ZXA`C %h7Y`+E[C( j"*(yRBohZ)Sf}9G16r!rثx[>'?]v+={aQ173d7m\awI3͕σ7{>tld\RZ xc8@pYEE6n.JDOzF6Jg#Z3aEcƑK0)iOgY>:')@Pp $T#ѳUUشRbF| I&rYDZnh<)r m>p߳HéދA]j288k^8t"& JMP.Ep0@-:W2tVB8+fEq_$KRJSUCegQUYaFi`<ءH+pEFaH,V[*[Y0V-\4ņ3fܱny,;;/{<~U1d|l :A&t:9x z=|?׿{<(|k$𐚑6(i7!M.X%TV i+(rMf83dkWחIrR5E{Zy-7F^9uǣsAGToȠY<k!O"XŬ2͠&9C/?_~(k U 6Y`nM(dB=RuE1;ý+?..>"}1Yhoظܬ3Ϝms@8YIQ hdP<[ڜVv[$᝕xe0lHyæM3ÇbiǞM6JM_FIQ#S&3Q'.MbFYjZ2q)4&vu6֒tƸ3Xb^}5Ϗ'qW_ AxR:R:QvI U%uMJY,;%ZXcuŢw1l1X* 0"aFENYK@"LuY㜧U)h b5CVD=nl8R{M- .n }ZuAq'"ScS 9ױgz*z k4=,|_૘^'ews/~z~/%e (]^7{o<}_I ,ց)뚨 fC L[t L,F$I],r(;{d(O\ۺ_`lrq#Y՞.P5 .1;4tV[]̢%Ji fPRXFTEʥ"8!ADw xkL.n3F~wϾ{>#n>(`fʍrS%[(ؠzh IKs}Ibt+9XiJ\ iRnNQ$!M; ``mA]˗hRˤ9T}V<$L!6[2K|RTN%pUƠ HܰrVw.kR3axT.gEiO%|k'q-~𛟝Iw ^(y,\8ɂn>Oof#_G&E)J6[!QS^RA(< <['}Tlbw~[Og=Hr]A‘&;׾abm " 6zWDwbcǡBHu=+ɇ`,3jzc`z(Q.mfy IDATEKpgO{7lq?DhhtO(iLc>YLvk\(LfOG-IAw-4*bjCjgiA mw͢D{4 f@:1fׯ!N(,hiHhW[ʲ+{NTZuw҅}MQ9N c=fСϊ31[Um1 $f$ ( ,` =66cs z|SӞMΦkҡp hBѵƈzMHoH kYT}"Epq W = (BtE6 qƂYmE"h@P#TsoP 6,ԗظ5Fha h/q 4 ȹo}S='mItMV&X|[.Tzg`<5 )IfH҄IXy>b@C" \u1z̍d[5 >Aj)XNPEgc$(ˊ$IGzQ ^|2)h%T]C H& NXTjnǢQf 49A^οy" 8#jr9$j^v[8Ojaka źQlUB;38j2Ux^vu];םqޒ9Ƥ&\ }=P+Rl2dC`ƹm1z*8H jgqiJuږJ JdeDSc%hXpxL"Xe(̃`Ŝ_sṇ>3#w}Q.͊) k/r?tc9OA# rqzc̪IF8;GG붶N3dB ?ǝW}(4}>Hnvko%O&iTZԞf-q_gD݇uE٨ƽ36Mٹ9"O4㽄4l-X7=ơ 6cmOz F>ܗ1SpUG\ٻ0ɵf)3_} af\˗vI'$K4EQ z!qHv l2ZZ AtbcM1%q΄g),IJyCX6]M!$hvOR3=Y26E:ԢJ@rUU&M$u(:'I0b"Iٺ&jB 㑻nfx?<k-o;{ӠD̀4βM[הe%A0梔%"n$O4`skߦjcP)DîuZ9!(Z7lQ$t %Z%#{4ըqޜVs|xZO2dcjIܵ>g&`G=eEk՜' Ag{.I2`ےw{߾g].2ߒ_¾|:d$) rn|4V<v|AAr3562.l":37[2KNZ#*uUD]LPuJNx/ZyH1#'9wZ ~ 49wQ9nsYX257>ZFYt͋Dxxa+/w׼HX/bXTj+ FI W <`Œ40_-'u#*t6-&ј$6;W7QU9,5dܼs*`Z.f ZlQ&x밾§>P^̑U #(6$&gEyɒ<rg.#^e!OۑG[ Prw~|T^zgxe"ɻ{lU֙Z P&ں&]4q&|γpޅ*+ /8h& YEmNxٿ=vYY^ -0s[A?B'=8Js; ~q+HF{tV,'u:fꭞ)!Ynf)Fk>\|alpShj& Ei%NMCYf]劳Nmnocսwpg?Sa|rٹ*q/ m"! 6 c4(@Aui$)yfz֯^E9E(P)(ݹ d]qxslZ^ŚQN 0vp@8&RC 1{{U+ @1&4b bnnBiOc6c ;)[ h Ar JR+QR&h8#.n bx}P)Z G|ܰG`xUPѷ'JT;)MѿyiUb̀-4(kj8Pm^ا 6h &~h{{_ 2%/R9ͷ>!~_N6~7QI#>&2E\JaAG9ئi74^`"X~ Xp &1>ѧ4j8o=mR̋ @0e8S3?]M>8{Fy 6$`vtHeeN8OljϹp _#V.ŵ$rxkX?̖A%E2,5EpJ )Z+ qR'k$[X]t֜^;j_HI"u&/pZQ̀x!|j- G&Bt% Ԫšo3}M-^DtE!,ȁ'q0[X֯&MEIo)_$=(WM&oɟS H ^~=y?|Lj?Xiu . \]RCH0s5DBF-mDtވ=Fg< ҼlUAQjzSYZ2R3YcGƁn?a$>/~>eI֑kO@O 1< ڤQ+f6cN.Yk1`hB5cT:kQ:aTd,MCmE=$U]vz*. Rm"VA_g]['mħdG͓w.<تZ x\%rk (a¡LDBs4MS 2-7#P>e$q|FT&PaGK޶x'TЛ1M Bb`ZK"$6R&kϨh%_KQ#Md5FkaF =gĺ M}[a"㻬@( vxL/90꺤?%5 [KwlKu%A6R2$e%HhWEkiǣt1 PRU5$X+tQi iB($(*ba* tDQu @X;@9d4RaAhi]9sT98( L" iP  N+8Ms (17 $l,A)hjx#_;IB!> ABIQ{ %yn-b+χ& "{$Gy/|:?B,R4ZS d$8j\7j%G6qi%j`jbkXb@.+N0\we|+`N{|}cpeF@#K4Wx Sc-5xZGy@}lu@8?ui@g1zJn-OEv{7h,[/1xqzG0caK&x %.IRዷڞ_V.9d~\M7V@h& Tc֤yNYm&[lB螫(Crق-9؜y+W7;(.up*MC0EUP-Xx (utLѻX ;A"U+" 4h?ُ̇|Noy\h!+t(S˿'imP0ͽtCOEɷkDyBm4R1|DͳuL$hdIVJդ)m+V $rmWM's/Y@mj֖[nke5TQژMZ6kbP0% )YЗUt!/aRjj{8fTr^Ɲp 0 D%K.H^1 BH-c\8:ԅږdY:5TS UH%ڕ&FQYIs\9x q4icb}⫟V7_ǹ馛yaϞo0O{1p“(m 4o-apXPQ  x|1jG>b:]<w?ZSeANC#XW6OY2q f0)f F|>zI`:I ISÖ;w Ӗ~K'c|FP2(/cۅ}6 jJfCT$Y\+dz/Y-8&nFHVFּ蘭6s?y{oWZ2n_.KTuE$y,֚p@U opm7H,X5N)e܀ʆE֛N4Q!kbQ@]ٚTOJV,daL01ޥ( 4%ʋ ]\6W/YFQ7׋b_>6 OodVC@suhn奎#.qĢsIOM/_)m:FcI"KLkCA,ΒBYhjߢ dIcs#RȴixSڿ ~FDTsty}x(]A _ b:ҵFBhG>Fܫ1m5ﳁϚuO. aي=xGN⶛n_:+ ˯bǧ?\+AUj"AiBC@Mt~4PT~C|~T~p«껏t3kkMTmu;bt81AȦ{l=98)h>[iB`&!;m Q:RyBRM0f,:DE>d,2s_J <7&G_ȚAlY58o(kK]{J-&7 i@Yn` xЖ4Bᕧ!$JOp%/#eDFo8>9D50BUh9Ja22RHS8ԪD%URjCVYK1W:fs!i066κu $9xUcrÂqZ Џ/5*9lčϿ|xUMsg i*uEwWQ%y5_K#h #B6d%_+_9J~X 3 ^{+ Qar9o-$#SbܳZ&/qMxO'P>[ٗ~|5e<5o3ĩ?AUq{:Ft986 O[najmKE!4U4&(Ae4Dz8DJ_D DTPa !Ms"]Ed#s n܀RZ:UqB D 5(@u>|o-cx;k56*z{xcn5"UǾ A >rRcP[Ha}odڀd[xq?g^Nbw ׬a'6:J bWU談BJd~s'R.=ns~^yQcǠY0Yd]NN.M3Z buE5%]cP921USז,ʒ(dC[NiyfNԙdȜ(GzĿܕ, z65Z:X켧ӟ%orsbs ՐhA#*GDR;|q['E,P䔒yB{˵:WZfFVO6-h|~3sŇ Y0 iC @r#/#I'aX8f51.c xo'I;L̐d)hV=u2p!Zj*/{oYQj}ιogZ2$1`èȨ㈢:P 4t7ݷo8]cU޷{Ǐ?zܾ'Xjg=Ymv+~|M{07bf޷[#F JMU] UUK{%0']<6es2Рk8Y/k~v7oYV YvYR컳27`dLzh?gb$oGzӟ_.C51 9'pg?ƶaA ء_( J Rs77FbʸN= 6(˒AHR=y>ϧ9/y~)gt#@7˯Ozc0{27C]x:O<-؅,/1O`jj,[|==w~ʆ?Aai,]JTy-e-+xp<gE0zU!}^8ېR# *6uf*ƓJ}G?ϝO6f㞙S#晬csy N~>yJ%ݹ&*AǥM-%!E{T@bT[r(%Y[ UB)( BWF -Q%qMUŌLެ$FȶDo'/Lv^M(8ʪu^BzX-[6Bכ‡-BSLh'NkWqKW]Oڟ;~ֻo7ః%>`'y1Ex#Wd1F= l LMMbACDՍ?}%V`Jal_Mc=4\qybŠB+gff?`i@ T.9oeWak=meO!%E$`oH=Yw-vs^~ gkgZƉ{|CRKa4cšX۠U)"]Mb߃R ?'>fW6{zIS$OKKua ֪*e kCa Ra!k>ʒ^cQhSd ΔxXMYqh"sɶRSuZ F.^Q011iPEsɃ@lB] HO()b0\`<"'Alpγ|]ev϶oY 6%YU 5npE@0quP.}lQOO+" VqQR)HPy.s!br=6mGVFdfr :O@w_iZ)J(dE-|99IIC2t-a;S5K`1N";ף!3kw2_? rԡ[r '37IzH 9O4TEI=x/{s0_s9>u=5ӓlq}\r٧s|A_9j~~r5[ˋwN,B'#⽄Ÿ32H{$HSU|Q4 )tVy$la*ށKhqr` =h4Jk#,Y p,r.N{\pSҧÏ|5q#δ mș&f̌()\47; xNXh%|upjP ӒUJd\yU=K6%B쀒\M >2ڶu1J)XtAI]]@45/JAk3jO8m<˧'- +VL2-`ݘ(q=W R?{S=Ǟx+gf'E (Ώ1ưMM\#5Q-^IYlk6r\DjQazR9J{LT FdL}@G\]бlB-[ᮆL;G;Sexw@dGÅe-ear9In|ym{)|Vۍ'/_o:vo?_x~%qnS_1Oz[1ZG*A{ABIZDD@p'?h4f4u9~;5o`Lm- 2hE^-ܘHS(%#ELNk219°7:XNd˨:k?GP_щnsƸpJkdqMY&=WWrѨqN9LTe&XzWkT}n46^gW}}\s헹Q!W^o5u]W,YY7Dէ0΋1)*ѳRCLM'*dޘ ט$K [:W:fRyRR7#d$\6^U eMtf[mn)ONs_?|J5Ѹ!h.{ؠE( -NhM6fRN$< c+iBk/kTBbXFD=^MMQh\C4MèE 0R挂"u.'0^Ug'H sFh%ʒU+f${If%Bf,' S'ϥ_|𜧟NVЯ JTTj|d4MCc1 ѹJz%{=:*ֆQ2Ta~{v0zw%}Һr$SL7 Bq-^4j{:3]d~/BgD^7}n׿My+æ6|?T"~G JA>(!P[h4ilDEآ, ~rel y֫(U_:9QW^ͣN~2܇,V65gO"= p(P^{}4B]MQHߥ^w4Mߗn+W-^kL&"qix)ժHug3.pu?+{7=_|=g?;:_룞~ 'ژl6zPI,!Pi<(h\M2<_KNy(^UX5RY8%2Iz*iƄ{EI┉HEul}OC) FAm-Cp~{8 E!cvи@ey5JSAMʏ)P2*yV"ͣ$ @]&83vd qM`7#Zo@519mszdGJa.O)PF1D~?ǜjF4MMsB5NB3zr}sD$3c![\>Lͬ`Ï㿿M? OnXvW3ϙ[;?cYp+cuEB7kbp![7?/t>$sN (]qDRt:?pEP:n >§;=\.Rə<ӼOex]0?&~"OcW7[s{ONe~ 4*хP(=]g0'y۩v@caA[^z޹%XSYɻ >g)cR|hY+\ !@4/γ0h8xc>Q{Eշ\cTh:ߵ#yTB Z".*"\ƫٕ"Ɂt.*aah-֑Wփ@QA(j)V34Ձam|:.۱b|۸=C8jg[$(ES;Ѕjr{/c]뙟,琢@-0 T⦛nλ7rEOȿû;Y,CO"Ly\ =!'CH:f1JjKaWb>(yI_~m. lݴvߛ=+;(;MMG$[D1„ =[5'mJmm`87*/_%-9^w\~[\W}~dHgFlQF:%{fo=>PJI5G?,}0ӫ` ߺ S 1^&xIK ~OӚ~%ᶱL{*Q ѐm[cLY6;,K&''EWJ/R,bz^DkJfMRU:s"_%tOv,TUQb7{R/,ʽ jzR,"('{R)1./h$509_@gm ;R:1199v{mxbA$ M躗 0Q%E2ruV@4@6Ҩb/1XUH2)O>`JP7HYRSZS6 y_Rd*D#@>:rNF<n^Yl[JO7]B@@:G8i_'хt)"G#.C>v LuxZ^#=;I<)'roaއp؉O?9O?9,4}øog}ƣ4k yJܸ᜷.5AZCE+9t3YQ{Šԡ`s͇[c!{ hg01ʘYZG,oe'(ܲ 0LC!Q, -5bCEЦEA-l۶ 0LMTeK;5V2V]Ԍ94m #U]z/ )8?ҘV1XO҅*Y'2!ӫ2wn#mwqS+qWLS5eU:u%! ˊr٧˿ ν~?gۿ07 u(}],= e .f}6TUk-5f4 D^C:,4XgIҿ6`\vlu) D1ǹn 7npVS ]#*=^SiRYzRrA#}YXW'(hqgF{MLRsQPjr8tvǯdW=)a:B0tN< $`\#^goq s^!"#118xģ/ccoHmMǎ'Il 48'>ΔPyV~hF|miy.g#LLQ"OX6FcAkM4>055cb^/sh'2fK<_-x N;r 7 K35R2R닑^UF'۰|$V h-6n]{IڔUOߋB,Ky-\y \,,.8\dHCG4,[6Cћ1K5JP -VS/R]$E14MĠD"\ƵiMNkj&7ES+2^vlٶ~}Lv(:Y>*#S$ZM@1dN>E)Q -M NS]B,; RHsBh?m#98 Zh YU8 j*NhBt)%[ZȤU\%.9/'{eH r@\X IDATJ Ag#} %d9ξZWNL33io O }gj>γQfﺅ5Cor^sN$b9_!TaX;G׈Bu^R0eczU^ QCik* ,/B肠$W4>^HNhBb"3&;ofm;2 mÆ L,[I@+iǭKDIEv-2 wE0Jg50{Z0IPΠ(TEj)M ɋѱ͉C#_;I"6 j41QB>Rv$ѮHhJyX}_2וD7f_sA$r vrtIRf/][YW>jN*jRDP޴)8w|Oz&}YL/??e|~=鳰mɞ_NR[KHSᾖ}+nwm#QbmlY6wo1;n(t!hG>\gލ4.yFVx([UUrG|UEDSC׎kILۓt$'OB 6Ԅ$v6'dZ(MT"TeC@ގ 5J ǨBFU&Я4"/!PQBwCPzöE ,b@Њ6f]sⳮiZ^̥؀(txP#)v"QU~ A(/eAl{pdžR8䦚T TL۟KǠ\WU(FcK' ]乛H !۹XƖn2'9yĹcJdT/3e,k$}.u3!\$Y]IGt{@ !G>c|n8XY;vKmr]JŮ*kRdaOx {_X( 1cҰvȽ<aDzb]nw_m,c?" 1%Yh{PPl{^}3P*?i*?[)bX:o+KYE\C$ (1a-e[Y^%M z+L9I~;UҲ׵e85c:4!B uۘ`l6FĎ@Gp8dvv+c шhAH}pqya0(H!sR f)-.)<t[cwtO Ά[ߑVӗSqLH u"ɛFD֧挹NR🷏:NBnK}ng2C$zI<$NjhET) A$<ۂa)/၇_r6{|8ưCcu?RԺV0\T l> El8eZܾu5%Y:rJQ5.pV;嬷_zil:p>ϖ7a+^h,B-MPndYȼ):kɱbѡ;S&K~ A2eBuʄ4u"8'񞦩e7|6qݖ >RQL/x hmxWJj6/6p #֞ڏa# }Zsy/寞gs!OG\ۤ#yr'dpcooa~dquP d9xe`@geϔBŦľG$GPEYԾ%xP)S LkK*n_!{춊A_P\t5bR*fr]55y6r?Oz4#`rP21eIQC筨8*[6"$0HꊊB2?h<0ދTf9ࡏa~v3~aUܼyF:suFߟD{"I_U$4@}\;wq'n5s&Eov<ў?brOm~{Y:?h.}`fX65`egVO_ͩ8k:=9{5+{C^'`Ɔ@l$1`vVjE)M\.m6J^&Q {J9⾴12﬋} Bǵ6h(ikʢ*Ks Cc0Q*%˲RپSj2&z)&&Yj˜".ZYupbfy1c̹{'cmʝvGICEhHH:c4ٴ19p𞼨@sWtF/1vύtcyӫb{j'CGTcDd{RN|}ȑW3u*aK߆=OCuӭHjjP*;_WԡOư{ ;W3N!1퀙KDmU;PXFp1;%$ 6eyR=֗) '?g4LM-G;C wyVZ>ai4)s7;6,jh!078yB_60+i1EQ}y#_?ʧ}gaU؝bbyrUJ㠋 )+8[6݄vÉC@IP'J%(3LAaXKq#OeΩk~}kud΋ދͨ+ƍ3 A~k_Ώ_#eټa=/1胊=8͋{8Y1Vx]4- ʂ\pi} #B/MA)Hᬝdž()LY"!c%Մ$gȅ(#<18&zUU\Cga4D˨"0S^2vD A:Nн׾oy9n|op5u{<՛qq]lͨQ V<`OKQJf=x90.LXբ*e^gEvץLV򬌉vPBQ;f7B7t&xk&S"xSymNz?H^O f~F 4'kGSq X0sCԏFhl( 9/n-|ܣ9ٱ5 Dc05Q@ʙw4Recu}ZfMFJ\ ;I툋ALa*t|/Z=+О[:XwpƗ꾉א!4)cO-`iҨsN{ >c D O`{EE*:C P:S3k1qҦ}>:'$IT,I\p9M3/!>J 쾻o瘇h8pdžg9p }ҹ2qPxM͸n "%ETnjUL*y*( .|sMq-!f' W2/7^<8ekLjZGd,u4Ҹnǎc|!?#ԵRtsiK1=&چ]:.Jg8[ģ0l8]o>?g/AVheknvl<kx#7#tyǜ@(ʂW񰓟/z_ԗ8bhm,#k)BV)HKRR0V`8ޅ))Fʂ:'>W@EZ_)Sf|,0Zc LTRU=zDEA ]P*hq o.Ox9R%ZBQ$iIu{PɘHkR ޢe&JJ t(F[7kLMvS_ãc_6akG_ὧ79wok䱧ջwee8111DSM JEhq͈uz!HYq$i=nA)%s8Rs%4"t(/ #Yถj!>T ^PiET\ٱJiiF.S2Fٱh^QUOhX:-Ee>H>O|;$h1ml)~U"XӪhw[\Q.N^\*fsP|q!;ʋ'?.I%&-i08䔵)t9NK>vy? j:+tH/u/IZ"[vc":a1RN]imP`) q#$) N{˦ !|z6nf nqs<]z%&%0n[c6͏V1.қLlZш*[w—ӕb86 av4fb`bc9Gƻ^6.=T Yw1h-UY溗}tb,<#ZNTWIBRF;qT~_Xx,92XHɱMntRQ!P'x+ .yy?in/w|3VĪfrܻ.bl=Q]~<܋ezґz9_q~ܓiF_K9_9=.2_X;]1433"-bZvy`W1kB5>0NTb6vFe}l`}%ue+  ƍ_`u3#u5iM/) ({% ࣵqޡXYPۨdd ^9 4c˙y;{p=TUIx)OtdEVJ(҅8F $mS["> Xhl27R_d['Mn}".v,ݑ4&RbBШ! cmמ&+]bͿ#&ͯ筥ۑw L,[.yxYs_Ϯ$ϭFC:끼%U{iw7gNv,Q`0M=bn~p hdLဇ>bdqBC\V;a@xx9hiPj.#T\ ű6ؓ}ub"u +ZZW*!* uA/5-E\˖7 2DB;ϫmآ9`P|xBtVsVAW9Z-G)/ U5i"$8=(U 6#e ϖwjEss#{6<=%>H qöe밎zGi4U(f`JǸSȰ,-4S{ qZKO4(8VZ6| 9^]}ZMX.4D#iZ+G$FYȍqlc1MȳuOOo#6+:L8&6vOH7cFgLRys_=QJ7=9RBZ)f7?59 Pq)\ =\ogԊՌG#> e$(H:~572RCgDEkP3=e=a_2rMs#Q3QR_v"3[OQI>̍LTP[!Fi]8Pۆ4h_SF#{ hb܌kj)O;ܺSiB8/2JSmNf$IYHTRV#) I/kFRR{͹}]6('I&Q^uIu,j66ZW现qdJԽlOSYS_ŝ7.s.0g0|\3y{.arpc%Fk֬Yn{ʦwqi쉶(6۽cf7pgE-QUbFG;1ԍUt7Si踆-_ZĄ[ AuB23'i5B(fD|tR XLo%i>g"v<H)/nE1Z&~6dP6_PDBP/\ʸFuT"!>9ێ"ѶeLQPg|K!:'ez'/:G^KJф j"g FNj[xt̻[K)t$;Bkʰ͒ҡje7?{=;<ĿCzb^IN#_"@v> {'-$o{(iJK#a۽0J1m3T{X7Cˎz6Ώwa̰qUSXrQ j ~=MZ13,qQ4gg>zAũ~eU ZkDjɁJ#s汗 L'9~$gCFcԌm7]:ۿ5>$^t8mz7{r$@6g.{rأOf'Ѧ\9TZ=Ny/y3x^?ןF~ibXHOcnl6`c,ԖIf7c>ӇBuFQYzV%HnRwXUpz IDATk)v|z 92B ]iVO\3>teW.}6eҘjU'3%uF1(QN^;5kjV2~ЌJ{9qfئ.J ێ~m۶j0" q%"j*eGNɑ(x/1{onYQj;3h2#FIJ|8%FqYc4*` ((("Qdp޻~nԘy^⡻쩪]k}Qڢq\]Ha+)dȐK"Qh&{/=#]X2 Z&f:}F+lQMdGB+'FgA؝UF^DRDPw6Gkkj)s8ߴ蛂%R M`r/V|JFzcj*xh7~Pg {jfqZ{VXPx#R i9qL|G!yQ.A kN?vf)[g$xk07ub} 𢍕f0Bi#Q5crclvB\#B"nTxH@֒m^r–eB5ȃU4F 6{)(xĴ裵u5JNȶ%)'r13x J+8qm殛WzU5Kiy9v J:.8%" ;;菍cL<^X?+2R9֓mkm(VR#VuE"s?t$Q#Ct&!wm *2hE-rƻV檴t'K4|)·'!5e A M/i(gBvgyTW(nw |2X?; &y>hߥ- vQZSw߭m}Eu'c5*bt(/uUs?]E,iI`.fm=e"EuQmD/tPtn׮{Hz(FHsѱ5c aG,)щv1GY 21H)!yI'TG]Nt-$v_%yqf\qgc kflrZ?IԠ`<̱q8d|Šn:Ҏ'SC5f7yq.%QmXL_Mj#__cCЊq΍}T2S~$.%脦֍5z}peŲ(Uර!WON~1Z0"*FFkbg]hFCUy~qBL4[}4HHe8#羊}A꣣@yhX/wUP+[tgH;G;IJ*Y9BК\ZR G/M$cѳ9t!^=Mh |4Pia\6) 2Hr:7m INAa4drWp{Ҹv: n5/QtΏRbG Ob3yGT1V`bb5ԑjES` srd,aȚ (* MSP|o(ށA&whHEPqRm2Ew\VJ&:F`GY]g"6*etǺZ6eф|L >ߧPӛ2`EɺMj >'̢S|oC^+^l7/g{Ϳ敧5ϏMx+L"xE_O#σ-J8pgjg%m V)ꪢ,#LMNr7?c|jw 0YǪիiM-Q.9_^UNy{(H=y|U駿0Jbt+H312ͫ#n!z\ Q7Y#)_68+PmV䮈CVwCDk\NVgO|'*>$N+鷑H#ws>Ҁ)%ȆNw͐kY-sEQ-wI;&O sS9G sh1TmĎ o(מAp >ҼJ4uL}P^Mȃ?{G8oh4752Mw)Z-u69SZH1%B+j-lf);;G1M̥)(LA/&xN_H@G~\GɹJGdVM(5>˗{i,d QS3a4劋F)J#Mb2XR[;Ƀe=CбRذa˖{YtQYji/נ\^!IĿ~ E9 )5РH(#5hKE iBl䄴  $!sBʻ.5B0QWMRtMBhR!R:6[IZ5Xlҵ)@jy=?;n5?:'l땼u/,-Oyڑ_o~فbbtW>t~еL.,(=U55\Fv\9_p/{?$w/v{7DKP~MjUDbۘCMW\t&q [o7\M'^=׮o}u@ J.'+U85X!~/ݙd{:#K}ZP]g;D*FْaϹeyūEsb QSj:Pbډ6hS9Op!xodtMrxB$cG94Q2>di;k (=PC*h;vJN#1③"wq;!w; Ij\0זRqTQ.=OJP:e7  a "Pm D_L'UCQ);y-vdjXGYь4Wd8!-]Ġ'q{W.„$q &Pxի˥S^^V{$ r҇\1J 7j<֖(Wj)A;!>{ӸRgjQ$hBlw b5^u=;bk0\#w.;Off0wdՎ{pggWl S9̩˷f;PB=" s놕V^`(0AY73v5hEO4M)t߲%W/;MВmA^Bik hBnEbhk˴r]z'1ULDtcH@p ȼk(z}PkK-PqO/xqPҺ-@uf$)iiЍdg9OiHálo~xff6-| ͚ײGOdc3IYLs7cUnSY-d]s̀ԇ62NAOZYR$))m! 4ys:N65a >#s#P{~XmN'r701>쬤j/E IDATZ*ecEQݑrH]u/OI{R-5! o6l юs Ƙ4qv_"g#m5Guё l>699ҟ<6?~?J) G=y)'tYswccp8(MvHAhrp6Y3:phijU/>{;-11o8اr2n7~}<9enY{ۑS?KTMu7{3BvCdWhiN2(-`DIHԀ V*LE9BuGW^ni-w31:7 3W}PJs1G1HuTfj jr}z|ʳ+:iw5(%GacCMH\s ]'?~j,yy3*u:fd9Q.Q[;޼3oFis븿Rߌ~73= /{]I9/8=s]H}ŝ< U`U]/z<.F6:Py E?^@Σ+.ҋ+o}v_N~׼/KYss !3_?ȊmfAkGs/}=륹!ןYʊ,;6{oX'KlRJYס]jIV$@f$}ʘSFNWfϧy/d< :ӖG4ʲ4!#B5^0BTV:=#ahG \jN}JIet`2Gfd-!ZI-VYQɜ#HFՔ/M,-tqnԑ[`' Cֽ~T("LͲNѧ牎Q_(Pӛ[hsv9 Ik.:R-:v%I'%Dʻ[u$c=蕆 !39\) ZPy2~Xkr3?)+}Ve4Wž֊$]pXW !e ]HXgfv1}O=,먪gz!xϲhQ'U377\cQ=٧‡_:YZzF15cn}[gVfWsb]vȁOy2P{E# (i.Dg"}yȊ'kՍ>oS}N璗*fAL{О0?Gro٢7FFQ򘣡\)Z$0tc߰3`8 M4_թwYw 4 !:Z3_7 &5l5ك5ճLҀoٍXQQ=~-O&( '$ŧpe{qm+&ࡁ() hCZX`. N [gҥFXmIS4C*44u ט e,֖94FX.QtUXM7~-iz**X5AN\ shm2 Vj036>NKz\vŭYdSO;rPư˒֒w/vu=z/.D.àvTM \rKk>75G>v{筜%ہcNw߷f8GYj\W%Kz2S(S237罊EKO.So;}m4=),8ϯ;6i;NzbPY6,sf.--c5q9 з4g㼎X<08uU1?PW5S7M[@:msܨQX;&R>z*:אzEM#!&9eycK#GИ#ʥy|J͉QB;ʥs{~@HT amfg|_MQ]:tR6sHaB›I6t؂wϝ~o|=x|Ӈy;Nb~C\97FU 6 k[#G(<ܰ:vyo 3Ul0hu H\##/όw,88_8/_\8і=:\kA TSRta5E"]J?Dd`';weO{ y1%M {QtWs}w}=ztoV0'-$B.`ҕ5 *:tRN49nZR]h='fk Zm `OjUƃӳfT8yl3HM<ќWiO|<;?3^TXҟ(ώk`݃^ღ1[AzVQM=?`bry*/wQF˫o`m'] FmMQ)fAw^O/055Q} ynxϻy)7ϾTS+}3,[\5&9 cϭ%$Z3l$nl) z΂"RvME?4{b{I̔ ^Oeѱ%T9|9"hʦk )BSwdlhH mPAP#iӃt!2:Ӎdt#z*B+裉×"?*('߭_I¥MKo2$ĬKsB%nzv2F̎Erj:a 8c ;,42)ug92EH R(dh0?u(ex{?˿ Ř%HFvdv#ʚea> *rYCo\d7xQb04֎X9X7Wkk9rh i X/fl|cyۊ_r%[+ԗ?lIU5mhڔ/G }BT6>6K{ %`2 6\c=(id*br"}t:S^Ck$dct W4ٕgu\OFkv#gB )=?+3gj$Ϝ|  Z @&жS(_r/[_nY<3WOxZ ;n7q|l>ֹi~jhUKkY>e׼4 5k9^*uܱ4]~:6v{x'ɰ(˂k]o[3ǜruX†Fwnk[ý_ W^ \O;}S1EBN"F6MV"fbTȉG VAildm$CpG}/T9[Ɵ?gq7eȸ+#ɨW7bH87>Q2hIAZ'm@:* q$!e*Mh%rUE&aw1 ԭc džepwdadƄDx)WtBg:)RZ ڙ69\`ld^+ ugW2??ট\ߟSw"ӳR G$%gMnBaw{ Sqya4pP \CT>0S„(o$03rl2l 6 kPV,/~ygM?f5Q)@ M] kFrClxNʰov2Gh!J)5y-$Y仩JΈOC\1:hZ/K]Bu4S?dyXN:|iEt.=5~qQOaj3QX>cP5YEYhH^8Jk/4TNCtKK*,-ӽco 1Vx9!bpHq h;NoL,4u7壬u ΋) p)xG:N:6آMQ0/E[rMd(*z}1Cb21 "ƹΠIj94+78꺆Lq~N ʶ^)9MRvXig!7;Y!u!F?dlzY Dg-egK7S֣1Zcbߓ:оﴞInVƟU&Ѥ"b!`+k:sRZ^*eXUY L:OR\뺎|MiU+tAgEU²C+w/qO=1+Bs%K/Ge.9=>{aÏi/{;| ;/a(%mSW\sk;ef0=M:OJktڢ]cz8/i] Űqs yF0tq4^pdGMzc42շZ38("cTBp4 V1+8 .濿%> em 5)eRjS0Q!9~ĐJ+;ImfIk1$aL&%b3>MHIZ)yCa9i@QD:yҤvs#-Zջ?}Խm8wfXCDи&@bkYX"M֞2QڠG4L @YJr@l.J|b"hYu`|2{K!ѥ Jesv3e&PJ&GPkňKF(?HMi2qLYTiJL̹1&נhYQ'Y8" 4hӂU\ T]%i菍ͮ𓯟s+wߟ;WԿf:a6۳l۝0ưlÙ[}.>8;ELL/~;rI5gwabŎ'S +7lLnz_mvbb/^ဧ6{H IDAT-Xb+wl~<7?.OY,Y5.1+pUM=;Ė= S211ɞkű~qy||! rҸB+Kg4fK3E9Ɨ ˧tDkGD/GNH"hʴQ;ΣLzH_w~Tv8hCQ81x/ NW~l=pN~S24-[@5)4 x{ B7H~TGQ֎FtBTzʨlDYhց6g4Mlm4ܙ>Dy4kAZ~q3/?ԧ^;MqX&cbv<0[fxMZ kJ[VkJ1mbgAFZSS TMDMη.~ϫKXhDI d0wܸ^sKԀb7.]MjE"inMGq2 4"xl|׮Mhʲ`~~@SU-k!_ :ɞOLJiS խ`P@"˝MJαw*&^Yf3GmA4 i^w=gt6]YK")hV\{՝OF[<3:h8a6fn,[ {~wY:ALP{%u5 0x9Q 1Kfgy.~ W<μ>ohŠn̳qz ^A#g\v9s›8B=01kg}~w3K3`j ƖKVO>eh86 ɪE/،i>GU"u@l^ίsE( + ȡbㆇfGX\X0gt!29M!c+ gJ7R z5dk1A/TvtA BSEYFsHH4MwDD/i I-G$ǫ# d&'X;{NIAԖak4|CՎO3vΗ9<{6׾k\FёV18t ߓOb= .z1ѳL a>MQd*6”#GLN:Q<"7uZ@ѝ9=`Ȅ)>ԡ򖔬X"9wrZ|2yЇ^mWƿtZ;tҕBk|ϻ1ydy1tN}ǵHJK}^..) !P:)J[>H~DZGbݫ:W1KBmZkܰn0V13XGDv^>[O/CS=B:*7ѐ֞I &(211aT<8Ss?ջݽ@h-%Oss"]'(#zY>yOiVIJ|PN`iZEzvm%P d B62(EN-ʉ6yquksH}\(%ѓS+gNko};_\=T`2Hi>|[k^-0hC u&%qUs\yy ȁSq ^ï=>XQV)}ƦƱc]1}7ݛ ?0\ǥ[ߏwD.ʿs?~5?QwLۘg3ƙ׀m0 60"#r"[$o:gZ1Z1^w3㖆I{׮\s~߼\|ɅvۭO:\ʙ<ï!Q(S.|V2"}HLL49(KA %V >+1kZQQsIk8qʼn܇5 18z\ Hs8fHLrhF+k:,+x KmJ5m=V"VTiYM֢EZ1>l-՚},6vZ:5;Bبƒ12>(z:J֤ȑb;/}Yհ$KC\[g"}۲0"}HNF11Oc}Ӎ1soYqB)Nzs h6 bacm13?o5?l?8ἋIcЇγv:^EzV*K5j0Z3ۜs"Z_}zuoM9AO3Υ{?| ( hK1X׈"p,.KN>Ч}U*Q ` ȝh??aá :.d5,N+@%(;ڈ]Nx4R7(=cPTrC/+VkBt}?1\^jFr(ij0OF%1M^T0Y~)o0`:-).9 (;Γ!;Z˗e';M^B (XH_e jt,g_«| qg,\/1<컠ݼe7e{ b)/6ZN1s,e*YR BZ8J"BJK{5#fR[C)&9IaёHd =FǤbҐcUWʄv-},ܩR,HB%*9geͧ̆N`_ ]O=tꖞϘTb PT%w-]XhWuk/k>Kyʊ-o5# %0oX\R& V5rTVh޻t͔,"=w Py06gwbRcZVg="=$㼇<ytQG/4~?Lo/^9Oƶuw[Vkϴ7&Ve{Yzl?(ꪡsqo] jy \c2TVԦݳ9Ä2$#/\xe̷m;꫟f) tGDa*l8TeQu}?n~p5k;vr~5׶qG< 8nc1.Fc꿳|˟k9Ic!v|1+Dem*i{資@?.q_)!Mdb*u}r9 $b[Paܠ cmMk,JSh%|m)n_3 Jc(K'*b^3d͗qzO/)4le@k[5$էf8꺎}{P7 USsuWO~yxxo>%|]ܳرmY?j4:/v"ᝣs6Juݤ?i4M-<1:6;fxR&XĊC9ؓǰ|("ێc)LM*btpA4MŨѥX{g'?ivtWN xs93 S7 ZlUyo~]H9}S L -.VR7ۼ)-閶0 Jp4 ')dQ/e#=eex }'T .('cUclZ,!4BI <^׽<emf2^Q$PT?*.7 \7ĺ,!{Qb4VS%;Q]8*p]0J2jBeӌ!KfN*W&Sb{t E?c Z\&^"Z|4 nM+M3jvLv4FZu 6'ǂ10ZʷEZbٷء+jhqݰ2;A osYeG s*ЇD*#B'D$:j([>g6Y:AyWJuVWu^J`j~9.yxK߸ 'ۏ8NI8?L.a4UŢmy#|ɋ8.q?vdDP [΃5!ûIcL-5m*ٕr6Mi6`T{"jƬNTx[]7O)S|=߽Ü}ޙSB)[P)ior?v‘ķS8nw$-Y`#YEӽVL&?eӟO[nbn=K^z;]P%  up"pNj1Q:R&eyJMztIWd/ԯ5}+<~ Nv\zܾ9(pσ& :Z.\|et7HQ 5 O>t^qޠ.Sb?]eu!P@D2;dD%T$c Gx*{[zOC?ټàSL V'PcܯKF)VAQgR%4!1Fx39kcԐ֤Yt-Ʋ1I:R,e*S*(ccԌ֤‡clf^T{Ͻt\Bx>P=KWy+ L(&%TGz衰= e4%sx"X #*;5"Z4︮T 5w* N$Kؾ.fcd,/Iz_-MMREJitYmX1*}T8xRkxvy&چ/}[\dE.Ȓ P2Ue{tJQhcKXRKl^ӑ뿴=TBljLBXkhg3LUQP$Şj}$d"B}q5d ^WcUn P:3)%t|ݹjc 1Fq,sLp_S~ +wrO#1[3t_?'?#z|7moW{\w9n+>{_{*̇ #?zc5^gZht{纫~̷E[ػ JPEt j9py=7]{w)Mͥ0߿j?Mx>|Wv|C|7ǜӟh>O^ƃ.XѨa4QW[ig2ƻLsKß4rI|퓗sWqb}X?b273OfRdDV}" MR+^Z6}> ^̀Ɏ]v/~؃Z8ԇd !ĀI:IѣU6P6Zq 4V)vsc5ef56f]-ITiqNSKî8O)t& HW3",P(NQT\2GqF{ QS15SJ9rL IDAT6:F&׼)%sh2QTH7D=JtW#(x`b~.9K44!Ket}bF[cnMٹ~Y/coy_yC8CPa֭0Ψu\LD<E=1SCQ6nN90&DhVYIm (&UŞ>ڔ̺1̭)11O"ՙttM*FV AĨ#/Z]Om|;Wq'\dVdRHf [.J 9{kLq̳#F!R!f&A u3J"HN! m'-UQKM&5` :ǣ?~yPhVj˼"GnEq>IQJ2ZT!#yQm CDjEBU7tmN(S1 Zܱgnz.nlWBfrQIΰf;UK"aШi0Z1ЩûB#1pzYzM$4>/ih3Lݤ O,18Dɶ%LP`i*VZ>jzCzmXcRS]!xge2I #Dlr뇺D @dv!S{2ǜrO;Gپg>µ:W\Ifnǻ▛nce9O_m Ϯ/~v7 |7sms_+['0vheUuM_i_Q\Z? |s.?е9>|Î>_bumv? Ek^.?G9'#*hFcV&cn!c[@APousyޫSyc^񞏳7h̦t9U=b zf ̷$ m] D$rMl;b_8Ɏ;} +&U&!hwR R9ɔ(At6vhX%nP*[(ط]`|ADݔz)iP!$ەk' dF[Yb8*.:& .LRS޼j NQjDLjG"Uaa/1$IA "@'%[??x4j.R]Iy{ҚhA3\Q BaȈGMEy$Ťᚖ %t|y?/~]?7ecdz2o[lS#5bb$,;\CQ#tk Xj-t=UCc}ac JYذ}EJp Pk|*gfBHn-:kŸ6PQf%>*~|-?yS/o[@mR zeh4nD4܁}Z;ZRmZ_LE9TKIAU \R|Z*Q:1kJ$q#R#tH1bG)?~ф_pw&8 xki*~h$p7sE0@E;B zw[GksQ*2*픕u2Nm .`zG׶rnWWXYY`6cEGU-_pK{- eTakkJMUdeEd6JA8 㛸AA(SW/dUwخ*LRM w)p9JK!tLkd.ɳ<){'os\Wt9#[] G&I'JEn̘D(IlK6n1gFIߪb<>=7/N! ˹yrk;㨻ރv%ݹǃ˽/z|cIF9w~q AXx-vyAqijmFX[qw_Ӽ9_G~<-b*p*LSfLV唠b4r]xO~o/_|k|:bX+d)2ԵV愵db3:`F$-xy<~`r';=X{ntj“U$I$Jѳt1PYM @:F)%x`+0HC^Qa76_mB]]լlnNA)\TT :!3ɡ *#VE@WtѵPvbBVq`5{Y&T̓& _>QN>d*J/>>SdLAXdNS}X)4T%.JE i%ߺpC`[rNwɳțk}w<;bk>e|JeEwJE@C55o}m@>!MjS:\ ɕтkfjj&p;iUo{uRԝ'@ taSz ὧT*|hiD׶װvGJ˥,U#Љ_3`9,sZ:cTS.[RUPPIK=PwbR#uU9M'Ht X5Lg HdgLV1znF4mWz"JQpYޙihe6ghflc7 1=PB$'ܹՊfle^фl1J["=;vn!t>b BH!;A<ohgM췱B]}l5)dҔw!ܹބ8_rƚ++I`M- @gL'cAk]TfRR88A?\iV6v} 6};_|ض}?sv=eo/ zIv:BDÐJ%w I`}Xq3^~/3ۿ~uS8_ys™qc*69싟˕_{_t!zե7sjeN(}P"yRc.s+8/rs?2"]`1[4ͨh 4`ޱVk@dv|ƫDjP'3;Nj; AUU bTlٲKYi]ihJ@sIheȬkFć )d Htʌ,yR(+$"umR LAr %ZPX 7Š<%=m<hOꊑ1l,л4֊C!0 L*vԸ@b5b5LjK%8$,K572Lh$ǀ` *欧iu-皌Jziq?S`{.a(k4%;j)Ue3f9J%ZR~4!essI@5P}L55V`%{`,SdT1ծ{1& H)Qu=h &!}_V)ׅ?-0_Yfhk4kE*njv ? c+v4Gq]brm NElL }֗jY'/z%N8[5>cY}D(w|plvǟ~6w;'rc<'8x<&:z5׮O={{GJVBk+Y':z&[dO~HY?H:T UmaPCH%AUU{F#a0@#iCك7w7>ͩ?} @d֚׾r vwBH,rr"XʊG#igb(HRp4(m:)QR gG%+9I ,'1:Pjmj[Q3)ɉ%Y l%׆:"78}u~2:bUhOVQSTRRE9%|CQ^Λ@wR]'28([ݹtPiVRXF*/;VhWε/XY['FG<\olcϾLjˬ.̕X5FTotSi *VjˬwBrM6VwU'yO KWG;̝cy]iX F( 튅 LjU6x6u=sVXC RQ*v`o-<g?PqNcL07@בd@K6 Ø ,rLE瀚RKQTH]C`܌#Dӵˀx&CCQrkXn?. O{"V;Z/Y)I]GY4 `K&ktRRϣ+غH#( .Bv-qւ|zj&T"Ց]ڟ<$DH$֠bd:Ea( bTRח>J9TPAe֠ljz"TI4T;QFs:7ged\nv 5FmѶ$g)*[ZyO^ rmcMȤHPRV:Y (5 U3V[5LVVSMNϘO}OX]g]$u(7k< <_$;k,[o]u(!&Sj^sg,i".; i1Y6$dLmR}/{B (EvSj,+hlZv=Z%y.F2n!l_ISڗġOGʳk tXkk97EDr9mViԝï͠OKE 䔀lXkBv`K(5_jȁP gD6(/܆֌]w?}!GV`1 R<'H4mibk/,:h@ 1B3Z>ߋ~ :^0uqQM]+:15h| , .%g13pB;)r@@eE]dK6' diei2iӒYX29icp4^ RtĈ5 X+Xr_LeQc!i,54)0UeI9,Vj9siD&(L(l>ǹDS^cڊ|BlUTz_hݯ3ѿ{O$Db22WYvo𩷿g<)K4iZsG?5Ϳm? ?֗83 7ž7VF1͝&ٜ5L=btQgB4e<󠧽˛\nViF+НX1 j8_1RV k9t;P>#_|5$o ̤, %%BvB J3d&Z(iqO Zdă|.{+3YwkX`Í7HE}cu *ZBd^WBc6j؛VJj:!^qþڲt>5Dm\qc޻6yϬ׬k :2FʜHc%_-UU <- { 0ZU)\u1{7ۏ8 ~׉RR`yMi%8[^$1VM|Y !]ى$P(&O[N JU8~6Et_*؝%}3غ cQC1/=4кHmhԶ;h ;Z{$+ҺtMvX&8vxPJb${][PFƓ1{ ػ:v1Q (`lrު: /}&W[?]=B2hD̙EE T絔)T%0n%z*Xe:UF["փ-2G5LR!BU|NBD7lEr/+Pm%T^Ed>w-TŮgQUE+4֦>Uf>e(k mKUY2^Q2nF5Tu-}\O%HJ`u {GmhW|s|M}=Otc7͏7?#7zc_PYFD5,D V ^JIYkV'#,!,Dm`jM׵HL&6.&B^TٔKgeeb1)JjTp!5FȭC>/~ @駟'x:9E] gS( p.K j|(w Tr:b*9^EEABj֌Fj bHČ .P6b`dMf<ѻP DY%k6kAVH/%[j'T2J;yTB0sö AAdc6._ 疽8\BVKex@F{TP4I@dsH d lK$+j B^ThZ*].Ls;^>O= 3l[q|ՃqQ mgl +2j8tҰ1qhg1l.:<(֒jVf"j#|g/֋J;9ISe-tŖ5ifGNjﻔQ"5Ԉ[/Ju k OY4ihQEHal;RG}:B8)UXpOo}o_&S%uЀ] TI:<[-C o[zd1HFEm'B+ ?T߶\X_iUg&İI4(-ԹLVV<ђ(*SO{I^)4e7qLkSNV'tZAT 0F~UW]b@iuh*iqC#$361e2H_|W>O{˞EՊqet.'nJ]gkWqehE1X3h}xSsb#]1jXcٿů=jD6<$s*S''ZVPd{!$h9ϻLy;oθ(C8%%H۶=mXb{KA7P .lʥ;B8}Iv"YT;@(e7M%(E pRz@@40 "tlAq庩tfVe׷iIZc5\B ɦ3*Âshf)]ьG5SzFjpޱORBDhX2$11VIŰRr\c9`d=vU˗'?I/üOAՍ 'O41^{O{_bRi_/r1lCzPq+eϊhw}Hb p+@;jK>:9ǨDf1ԕM>bT[㆘.uص쥬Z[hHݖd}+[{o^'?Kgq7(cFF#& W^>oqʑۥd"]FQ29tt%Hhښ.Z'uAjV6f2'ӫ*uIG#a<akmQ1)Za-FB+i4g.JvQtr.뱤e~J"!1&QF3;qxF"(PRSdE@`Ȋ_ m!99j·B(:qjU23j@bbBK; M8Wa:'=}{R1ogmzPib׶#8A*tp:ǬsE*D)26JMu\g;հ1j8fc¤#429rm#vkQ)0t]O%P 1`%拹)W]}=?kx+;w4mTCC8m 1VWֈқւ$7tֆP6,5-bھ˵EB9Y,\KZ!%eP}RD2PNjGdJ@p|S1ۿ7eLp후:G:떤jE"1 {|YV'Y5d6"Fa"DG3<5ޛGrUVU{Mn$H @ CTNE?AчDOZD@ziaIH BBBۜsUǜkUO7F7朽Y\s~w~甮ڤJ'rY9S=|'d.HW=sycbJ=\kn/a|mWrʂu:yHm*kq#Rݐb\ɴ3w95GÔ`] +37Ui軞,!}.0׬U{Ϥvztektj| )`R$uH$Rqқ",3fp1e~O&qV]/w{_C% r*>>:O~9,{ѓL~ |岯yYw&>Z~~<Ԏ뮽llD6BgfNs!ϯ[\,H)k:}HL41ʹG1ppkbIeLD1B_֚m R9!)Ȧ@]]Tuk N9Pvw3 =k~LWcrlrTwvWOqG'RW >S0BÔ6Nx#)uAHl0)JSDdBU%O8"& ]!iЇTIlRc`bK_ P6!#DXD[ҾEJ 4;0VWU[b+R\7du ~Q-T&7] {3[S%J3#mFt^|LȊ:%$)t#ur'LԄ`5&]|s瞁v&!lF[z߲>R9v⚭1gFN8rH&YC[q)#"}Q;I6ߺrL}J!مtbn>ˏ4u%N3[gL8T)S{ICXf\*c'*WKf.#ihL)MSfI~]X9/5[ Q5F~E[ic*ZΣsؔN&BpFpBe3\d[K|98`#Zu?IhdD!(Z#m}q\bWe\֧R\BŢeml:ĎEױY͘V5!z&CuR!Xu:?fY>}ȸ(u)pW/t>_q%L U -NNvM&"ZCk6jyay~HB߭:`v  lxˆ0*DlnQIzKVD@!ޫN%`nH.  CPP7!aau>*un\ A CX#iSi X,%z*-YfOxsyߺ SN;},??፯6kөLj=QE|/K?]:mZ2@fG ޳xO|3,u{i2(Wi׮Z emm&~OL}}|}%!%ybL&:bdYt ڪ.ZJy3#~z2O=89N?tbAí+zLks笭Ynm}`?NCb![E0˟s">wjhSp .%u܄OYujtnVҜi꤫n=FRCz"L{!x&u-2uMUvIx}䨣v:@Qkj`:K͖PIrǁniܔ38ڤϑ郶2Oss,,k* dǺfg1cX B_)r՗/?]P=0K4ʠ!H ֠I9imYk*'笓3&ժgm6U%KyeYvbOj* fB]5VSmsmZX2&~~Y8Wqm sw&#)}%۩ ـ"R ,ss"QK uN"˜>#$:lS x1ʪg\)XPY\9:*tL];2I]Q~Wx>~_;Ͽ'<ș)K_jn }qmؿje8z17} H{f5<a6e^2gͤDPO3j3tبXǺNuQrpk}Ϡ,uP }w䳹򒏰U'S IBߤHeT(D:}.UQpr+=8 "[TʅJzU78q}@>zɤC6v*WYU^Ъ'R;EMnnEqhɔ ,+X-$ժJ#JQMغ&@Z9I=I2)SM`֎ M/-kcqƔF(5jJ4l0n`HqrQIYR7F1ᚵEYgK'\(ˎut iZPQ#i ħdR$0hX}+PеCQ傦ٽ@4 TaWxc8Y1~A^.8ܓ9Y?2:o<(^5Prj6BP3MiLMh Akkv^K]Y1@[JV,&[k Ĭ20-RYiz9se'sB*gL&̦3^2۫%eG=Iֳͤ&$CS;jWѵx.Պye}=Glv:PJeR;Y-_yH_zT4N| '4z*+s\ gwM=yv*YfAt(\I{s`J38%\uŜp{B J"jɈb |߶8E%c }'iWUjIRR+18q q趞prn~UZ{rid,MC}ɢ4DfN P]Wc4DEI^`K۲(pQ9.;.`WkFrQGJ(WALJRϡo4J@FD\E*j\x&i4&P 2dbL32K]QJL_݁w|̟<ά\qtZIMSפ9~gTJGqgZ;"f_TU"ĊZ =&IRLH`QD|q)ˮc6Zq|&uOۖR,;y -oM7cF$tu9/7eH-H-A<%;XhX)A=O tPH?(d>=XѲk^-kX|Tf$렮Я^~_ K`Rٷl1֧|PŸqDXH,-R fkocO`UCA; }W|Ou\kw8鴓IIl e׎&3Bu85X'rRbΆBUU**^j%hJ(DvA%fܠpkA Co :nUR|Xh&zR8x }3N鶷1,~!R>L&Ǚ iT!)3Z;1w:VWM-d pe  IDATMH+j}Xe;\dӋմjppvR5IE)@դXaQ02kJN98*{؄My$26A{>S6ns/w_J}Lɳj[b4ʹ6{$3+3"s`Ho+glcvXy) $Z)^9j%I6&A WU޸1"k=!iu鮽ZՖE~;Y,5;+"5yc4 R VI S"הCe|bTs1 Z`m8t>d*c~,?8XtghI\s?s{ݗډST.qRLnMvP[|HA@ۋw8Y:ڱ#hMlg8#$#S7h|o?k~qk-MSBNj~9?U}gο]<|[q 'pI'Q2AjbE:w22߽n`dBB(襤3h:4d%( &RɆ#K<6׿翊݄!,şbxԣ.8f jJ.ׯ+䧳h|8*Xk™,,SɊ-8fjG,Nvu%ȰuV3B닽WޗFo=K$T.XKYc/S<䝗wUe)M^Բ(uE:UB CʋFu*@04U:Hߔ>`m} hIߟb_S%H{yΣ@D&T]Wa}G][RD]bBD.BAgݗeϜ9O|6ۊ8y܏k1ȳֲw.1Orϡ *Hd`M*H2G35*:ɄI'7O]cc E7ya%Lpw`{u\M6٭ &0r]/NW= v=p >7V|<qA2?U`g=WvRrDb!FqQ]UicpNwR,ʦQb^~D5m;v[InO}c.RaU( MVUE5%F ƴ+}ktpdje7&wk8ܑ7?&_NEǏ) 1$+P3LrF,C]dg@|% (c_ck Q'(Evc7wq{?/~╯&k{sbHҥv K4+iE}cf7c[tl=G4J=uTS,g zy\3 c!7@ ֆiFf} 4t}OS7h}Ƒd'QwJlS}}'ف7H9DO%g$LJ'S@ dZc$SVg[9:ΧNm-/s/~[jErn>n X06YlBQH2@KQDK61Ueh87mѭ::(5Rsd8y`|YH/l?G<;(A#~r#u1TmjES^V&)ǟb%0H"=fv{oWjr$d ZcgXWIPeD+JnJ(dDpVFi&Rt]ՎZe7g g Ye彰ya FJU֨[jPV9|yťD2RW"zo}8# ̃E9%>~L/3*W[߸AQͱ{7WxG7.6ڷLkK>YOc-ͽ`\YC (n}FrdyeV^H.Zh{ ]ݰ 1RupQ1U*ѯ|/}GX6;k~ ߻0V| V1ih0ےRdL116Fŷ§!JW݈ٖ`)i)dc.sTìHlN5dzU ag#_(}H;)#;%pv`0lqcgߘ'sRl2m;kd5|.y_fߧ[טA}FR'Qָ9gĘx/]s%/^9u|:YZUa_nlr$i]a t!w6;]rFFFX}t!gi:;JR0ɲeN#1!~!+ҳY6<yD6F\dSПcMq%.*Xh:i~]k?'%6Ek#R Rs7t.:5;s蟼Urwy`?U[ĚlmAֳ/>ʲ:^[/O5̳yyp)ߧ#²}k<$W$c֕'|u=&5Pj2C>4<`uBO2hU2)B1λBJF35/&fիG8BsUmuo0om]"@TqAxY Qǡ[yv4[K]> d2:LqxV !\{:q*l-haFv^\qW+{>8>RW”` k2)} }ŵE?Ȫ9J욤uK*fMU C-\rtN#=Bv9A3ͦr)G!;'Q¸v3쇂@9('DS5Dsr<9mtAcZ}F^zƦԮfxF(hmdI P]K]ʿgbqH M#{_%4NlV忉1ǜsON;(5S uoCQrj&1 5elFK4yo "(G>е=z/]@^' K}̧zO g [L"fͩ&ӲaDmm{9>EIM(6JY.4MCty/}`6vjH>D1:=,}*g>kms3 ONk~}dG#Cګ$guIpƗN2.:(e\Nd?@QG%&A)LF{d$,o,  jkr.劊={|EpU-*\V7"gZSE*a.Gvr29:W4pz|zr9ˈ4Qǀz4WI]M<ƸaMQ. *WV^.M-ىܚͷbU-W:}H\9ng "k]%!rF ŝ֖׭s- Md2[)rf=TTE*WbQ {:48gS:cnkPg)RBotOE}6Ozlz6"( ŘL6KGYi~L3kLE~/>RJR`|BuL57?<~TD *hqI\hC*]*ܤnhC}s3>d вId9C3Iֱj;V%*Arϊh}y7)a;3r^ibd *ߴ#4bcA)B1亟X~E1ϘL&L&|]O5 @Fy &3Z-kYuLyT)0oXislͰR;t*wu]S75ksv^g:=TᴯWdὯz1_Gx;a/H^tզD OBE*T"`DBH>IsBDXlѰkm=G%e3k)p1G+kex5lUQV`mUT:`:1F։VUI"&IHޗǧ{3OO9΋%ۜ߻pr+?>lqɧ8 _|ԊS2EUkW="!| U9RQ2Eb@.˧XI6,hl>WSK@3\A# FANޔfG'}6ف4Ng e;R7 (8ȏ]Nso:nHޜz7ȉTK++P6ƽ@shy~ەHFx!k}}J s11Q:;0m򷱹h0QBŕBѰ3XoŎ6͡h8h.Gu>Grf#C F\{!ƌ>{l˺r.~|g/GduuIPVF-T4x{ P>~J(UVl򜧾\s=Oy雹TrxؒYқ9gp?}\ny",Y1s,m)J÷nl7.4x>V~<ƫ ߑԮ5B~]-c Ze4=6F q5uq֕ZYRQQYq󉐄~RѮVB'^4NS9#&)L)v}18R 0rMߩCDeǤ4Xw'3n8Cm0 %:v壙&ǰrqA&#G;[XcKUk “iW7#.D ]mtO.ҥ=lD4sdssI3alIưg}rՂ"\Le/nw.Ъ!! A¤ȴ[s"F\~M'}>Ѕ|CжH$D&JY,x%*GKkۣy#,A,9 6T+z$k"mTZ*!kP,TL@j ISQ)5gXjHi"w}dOwk|G/V[L1Y"laUY]14ک>ѮZRߑ_Ykn<'<_;bV?TgTtZ&kSRbL;izxѥ_ҋ|.zX%GYҟw]6b U`}mWmR~bř`+;8y`X 445[a'S Tr9c` 4N,`q%ɞfL>5yy ͕^0]B3Z4R2^2!J|>_)W~̙|MYzGb<`QUB" .{ٳqCG hWHha"u IDATH&R)kcPDuwCA>p۟k~),>vQ &J/4Pc{|Yuu.sm|㢏*+C$}iG\҅JHCL^2Eҫ+]ir㷿ɽt-lqV~7YZ){e(-_VxS's]GIYE 6I,M-M>ݤ"׸o _s&e}K@"%1m}9 R#k peLWHJtiP$gD#95Trj:`vu4\6S1BNfBUK큫䙻ӟeV;uo}~*f{gDp߭TuUP<*cb@ 5)1 m8&r5M|үr/>^c]M ^#) E| ?tYNUUX#WNbADY|UڜK`}z̵F:N:EbP 3o/qpQRӒYyL ')q4 鿇S2rPYFㅬVWSSy-v&%C֍1^3TjEb$ki%`4So_u-T7]7|ჴ~?W[vNO~gqΗ \N׷ %L*`)܆F;D)mr08eA+-7}"qG/~q<%i}G;ZT "$u xڵRUJtW%`N|_ï})9`7ǚ]ӞMlUZ.i&BCQL[+ 5Ija] 0{8||o[w^sp@򏍑 ;(ti3 )_Q. F-qRhtt+?'PHC -Χ3+nv;BI`Gs>:-\i9NM~3y< Q?ߧBkS}|=+y|ʫkߋtf`,dQkP 9Lmu Jvt9 \CY “Rrq "jhU2[kbdGnTJ鄷6ʈC-HoYtoC_Կ4/sONSۅfW֚y/ԍ?u\%qPȞi6;;py`63Cej8c>'A ;RJ/^B߶ }m++Sf>r-]Yo06<\{uE?rF6x=r8;(~zHJ!kc#oZZǣc蓓o|Swٻw<q8Ops9\~'DVY';!jgXnm/+zڇt EFf529l ;DI.|kэkSAF D?HXzBt%26Z\a]ͳdtioJyuHH~v*цWft?z;q(^.WqsA`Gn^svb&iCqQ03k|g h`7\'S$F^Rd\3^Q|0tܗM|}qcU7kՊ :V}`Zȍ0?tҵZUMJҕqbRy D8M%:d_ 4А"du,6'\k8wcmn' >l=&H#Vj$&u>O`2z$YdW>Z2eEM|A2 %>e"vnbvqR3SJ3j̍,`aJjQNZ.VlmmQf8U{Ǟzg~l׌tg+f8W}(}HY%O YcJE3\MRf ZUyHzxc'U`Kp(I\pG<vm{~\w ~bCjdVr77d{s"4[Ԧ]Ǩ-O;-Yq"Q&TD%)sbD)Lٖ 7`4ۮ,+EMQ2:nM1 tvdk)ȔMS}HϦ>b7vf:4&ME4gL&46#]l<_-H)sg>kx><^.{?M9| }<~:'|&&l4֓B= k Nޥe@u=ǰ@P=qIYPKts;'?>0? YHFzUdֶctC2 ``UZccf}.]*XBU:{vƚDuu=9Zs%:\q8Op+2+s-#94oTF$yD׶EuTbRqW#cʛ:1*a믺cclldRtF#2_*zF $|ۘV]8KG}D 9IiF >'*=poڏ!Z6WO_t|2fGr-{ԙ.Οdԙ6Q47PNBWc])_}3V&wL5"=2`볌Bip2^M];fʨ}soe%(MaO|._x=-brK PqTKqM U2P[LlIw>X7Y?Ou; HOjc\}wx󈩦!ٿy߻=ܫA,>#\"dg):bRU*ŰcOsT<)"mHq sΩҜ5N;KVhgg)4x1^@YP^LdV6EAK@TkY,Y.W$VzLgLs ٱٔx^3Oۼu ~gRM !UD<|ʂ;cI!=|p=`5l"&3;l-gݲ'A Z ueԎ;vӇ?BSu Q񫴟Rq">X@ѻ?G {^_ O a{sS8ψ7-咃oblDOZnk,9?#>?qYgW>[HʑAR9YXv ˏsR#T6bSN*UqE/'Ko4ΆSTP 8ЃlP00~ ?wwQyәw˯WW +z[*Sr>x|ߗM$niLo^khp7U]Tq4.Tu7=&sBGz?i4gjKL(1&,}<Ň4uY'ʼeXS*5yC[:sG0W:4ӛ ?rd @bެ4^x+A)X^|~=Qʨ~t=qlɀE ;xuw"炏~Pi ;C. zPLc;lN~@d?d}6|^7!>5 wYr]`,|H66։ڂv<>cdP=2^2C3K-"nU{ᅦpiV>}]^R =trcC׻\z4! ;ܺ4O!rz x_N@TsAU01<?D@}7~mʵRL^.2/49qɄs9|#ŎJ: $C"UZLRh s`W&ٴsf>y g=';%Q)cNgzlN-]EpZ]hHd0I2 U1ex>x_qχ=^E/cx+_o8xڣVGQ)n?gOĹs7jc5^ށlרB0YaKԸ\RQJGZ/H)mLP&b\ET6$)ܜHuyZonX4,+9-#cӟgov5~&)JB c?`1r\} fزQ{\S$b{lwas8:M |P9nC *i}1A6d94@ `YW?f{]spropaӔSkBb;c,+z nJUȾLnb S)<{΅#­Cnݯ_s^~2OpU#^b:Q URY߲I5a-0*S5PWS)hs9ԹCx iE7=hc9m5!Z&LZo@ְJ΋ct·Dr`Rri="L ;<`pP5蚩3I]Ҍ`K3GH{,>} <ߓ4dkw#yK^ĸI\qn;Rlowduy rES&7҈SxǘAY'0ܮhkk,Cw>+||vʯJj-{ht3o}ӯpaև_"K$b?;7WdS̙ߺ܌W1I7Js@yu,dٜ>l2?s^Im Ȭ sJg?u !I6x13'X*6coi7't~`R%?K.i6gL0m&^Ap˕m| .j5xJ(@NsNt}&:'o;˜=}ãGZhǒU D36:?;6"Rw ]cibL4N/W\=H?Źup.{)5up)0nUP{@9yٮ[g[mjs{_& .S39}WF`uq'O IR2 io=#+bO7P4#V5nFw;@z&9h< pu ӹ58%)5x엷{6ٖ`ѐf`jOy\ѩY &ˡgXnYւίBn>LE'b Q7n6xHV9^n9t5px$hjڤLׯ[ t}G.$~/_]yRAj;bQ >ڴPf5^" %s(5eW4X :jK+L8{ /`2.HvVrfuؐ4PN1[;B'NI^ՅЂj?+jE-Lj9פ++󔑌ۜ(h_őRdsf\v́If73 n839OI0(`G2=VQ+\u8ڿ|GA#Gqs*E] .N=P}%TTWtBɣfu?JX2svK_}s;r>;"g>/H1UN͋ީ38 i(2(:QUV%Wx޺n"+ >ƒ.Hjn6`WZ~-͌/YwZд}sT.EG+Kcڐ^(XF͛bƹ^11`A-Kݜp=%jVO)ӈN9p|C'"Ƞd4LNfIMA7*LZKWS-J^$VSZ9Բw Qu mGR*lݞ;u͎zo{=|iʸ:| EMHg p*88;c:PZ*މ+2#83,9Ub3mİ:ܬ$FU@NܴٞUSZ4Mfښ\DAwo|Gq]O0SÅ@ _U%uLj)ja9u PERlw#k|6?}x3W]ԼfB a -\s_io݋"w/ܝB-=.s4 ۲gJՌQfsZО:ͦV-nAPJQMyi YD(E5KB#E>J 5W_qJ+^fߢ҄q'k3W6-#v(JQzGN^ʸTHgڂw{UlTU@CGWdr`Q*(7hn\"sSn-t@!;K ;D[)W>}a픸إv~~ϸĎ\tKӈ͎f+kVRJ\(vO>{e k/?aS.s9C`pl{"q3NaC&eN3^\5B]+nN5Ω(!g&+ݯӔp!qe6ao۬QTV ҉c\rr:lו ,$_VjZm2E[.r- Μeg.謪et4<%ɣÜiME pQ8U4QAlC42t>KveJԌw}M):W{L?qS =r)UI|7˄(cXj%zA; sU={QP1YV\a)\81}`[ͪ`;%^?{'ʼ( +9XGp$oQRr^;Ug:G'}em{ 9Yemւ,Qgyb]91 ҉*}V9: &k\~軎'ȴےkXA[Bjcbaŵ~7sΉ.P=RvrࡐY3^]W\e9)MTIpHM˾Yyr_ǘ=m[U֎d'Ax׭ mCe*kT[mF6E$99a C$v%r8R6(}|[QJZQ!xV].p~;Up }L7HFoi.iB^$ X xkY4%Q,B4i!f<;lWq}!w|||oO}|RH>,]oƳİ&*hm x:iHs˂hZ@RrjJM7ʹ\CkTZ]HN \]4',HPUmʵ.A0YRWV4F'X" X漗s&gh;ZLYq E+ضOYᣫvwRs$CPkfR4+Z8>+[Zln*K\ty.x!,,zpJ=b?4jɘYYN" #Vj> Zc}4G[\m.\$vnc?Q gO&99DwlsbF:A/W 8&[/q.ĵb!>h:L jivRRT>˟}Ԯv4GJ\Vr L氢A6ߛgXB)$JΜM}HήluCa4E~ +EU`K.qERRu?sϜI˨U}7}PSJ⼦\p.J"DP&m|TT:[C>GR]vppr׻}Lް4+L㤁SZd#5g)8Ŏ<xW}듧1 f0; 3QN9jSJ:ɜ(z9a#շ@&0D߉r\:/&+A1=oq6.5+9L5'yG ($2p2wNP-蜟nnS|Ӈw^}B:q!B"'AαXo-G9JT)SLBe3eJ()# 2&U;.3Ľw3NG'2W̖ oN}LyJĔ2kW9llj}x>uA$K9#Iz%!\ɤi75g~ARȞU,FAXn[PD}R:\mq7wgs5_5;w-7.n`t6hN1FYjm3 ie3%-x?mC`έ_lFAfR:K*];~wh"vs"HXh ބ?"N:onɏ/M\n))ڌʎu\hyK'W98.AY0CU}̫΅KiNۘŮo46hvm_~`Y_'|-\t)%n-g.y*h>[Q,?h˜++_9&B): Ċ;wbT$fg)Aw"n-IpB|)ZΚ{-1[TGut-pn{ žu!;oq^s9j'xn6lhSP*EmmU Fyxu'>'o9ą@bG즭.ǠC8MliI)A-QDLj+Kޝ[n|\{ϼc$Y>_XrX$黎cU[Z@ ['p]^Zڼ x8+%d.1,XErj{0wzK;d3-ͷʼ&lYwȿ]G䙭.Va{"}֙i@!mAF׬Q%bu@8vƫBtA/*HJ9][BBJ tA&0.̽Z(*|q?xa= J.m,GDh6V^19iM漾wڇ^iwZ[hTb~Kw^GN||vX<=8B99vvi߳ nFԜR`; TZm1X1_j:o j,TwӾ> J!FڏʳYؚE9s,iNV!$$L),hɳ8u,y\/ͩ)KM[jsg :u \`]pDڟș]k)U \=]y+Oﱷ)~{n\MV,I3[z , yҔXVJxz:aSЬւPhsx@qE}ClwAZǂW}2IJ,%p:ߝ[)qstx5T8hYQ1?FQlU3Ͻ>W^'i8%vu J9Q[T6nK9`w ]/xj [V*𺿸6&3vib#=s&!ն\ިJuJwJ'qGNx :Ϙneygpjk?ρsQ@ s9'4{"lh@ذyu:)3bnк{}E.#ALȰwa.j`nwt}/@Lg~"ahvd ^>]'eJƾF5$?_~p4jvx<9 -7etj %MmvY 64+F1Gܸ̜IM]+b:3Sz& ֵw{qV^n`VGd4t'CX~{OP2dYc:3; K.{EhCzQsbPJQ3{vM!_OW8:W-,1lϢ.xޥ|F;-gې7q9\K\V2ל9˝s{Wv7y'uV X1w>#eՒ(uul_bw\dR5PKIPUݖH_b~(e3vjEm]P)\s_Judk2tb[`jS\cq:t!C JfOubEźq5w}/8&&Ξ9GSV1arʟ CHWC{uㆳ3))^ـ j%C|qJ
8]9Coi u'#&!ibZCᆨ RIBh,rJ[)2.jgf# nvRs(Ȁa ƮQ2BCc'kjziizn.!,DU]d<D-xkdsuawPGo[NhTb3\pTW }yЋꕓWj9X+߭5[V˘1nI(GN!~C%:zuّ̹3zy|ٱ96_`8nw>^nڜYjkBCO10'4Ծɼ*X9:Wst<_\@n@1jE.h<)McĽֆXJ%6mSiWSQڐ%MR6DLC'L=oIY vk}V XRԂP) K/q٠1W@ʨd#ҍ|Ȝ_RjQF1p]}w (tźZ!a@z9:d5͙;]q *KM H\5KrxlR7;،/m9Jta=TZ0\%{X*P se ۸7=Kt[i".hm9$؄ RJĮwԿI#3wt1wO|Q.rr;='?oƑiat5M9 oׂ (CZT)%NC6+-΋s+)VnΓ)dsfgwƅeiX3+u B(Jd sh'W]g3?bF9usk8o5Bzsi`RLI"Zv.!9is5dkpLz{8 (5sE?p͙9;;N Ήժ>p2J};˟.0tAMe kaLB9է:.|5W|s=Q#nt@i]&z='V[ĩr*krfPn(PaRe@aFۼe/6. QKak+NQQy E硳iU 4^rm*EϵE&p>++wMumqE76#um28(hUQt↛?)R٦=I?;\5tXI2vjp,cŷ1DcϷۊʒsNr-`Uڽ"6FLnA,:]߷^@]p,2ٵTrզ"3@4,K1x+$!d·`ÚԶFBڤEz:Vb$3b *ks23]P:߾+*k)у L!c>@I%rü/$wCQ^껀mM\f:NBrՓB7gs>x"9vͅӧN0"K)t!MQt~唉#*{JdINdKa^},}9'iJ_q?'p>?GQ/qZҴg>rj.FtPI#ЬIeWwC59m_N Z3' qcԩՊՅ|[twV 4;O6_u li5GZpj>.foϹ ~`mSp~&eP}lYMzqϯj%XAUtTLd4ݓ wNuS>N$a%A०eBYqf:Y;W>#i~ӧy͉.y͍ٖr`4J^2N)A}lCљ 2o9+,&gUteC2Z~.ҝ96Jq~Sg:w^R[^(NS:Ѽ<Īcd,tOFn&Qnl;A Aj-HGmFG-͆i@܏tg;~XDvh5s:qΩxW{Qe]$ɭNdEgZsf:{m "Z y-eit[q2}54mcM뤗a2La֕V5Q7QuC 1A䁽sRwd\CQ͡un^jDXusTua{'cE2) ´wwuxRulƉ)!L”&&˨W |'cs !:J]#tj#9V qۑi7|Cq>?eD \d|'wn紧Hp )K$:)A*$ϵ\p>{UW:v!joMUSM4TI**yRbm`& a\|K喛>n|og܎g=Y/_se={<8n^\ V(=h~7k90P)f.\pf$P \s ]P25xT̂C {' B̌.Q;/#m{HI=6B;q^ 80J^JE_9 &hFɫjpMbq6-,W#T"8%4rp"lI#ʸUɾdMˇj5?3Й<0:7&9SՊ/,+'uKËr݉+OSłQe\uLE smm.l5#Q*>zO8ۦg0tWUzG#pW\#44]^ kQNsNÜ:&QkJf<Mꕯ _-;&^`ٓ8qxx]5[jټ\5cs"j8<$89gf\y\>>wv|!w㛸ޡ:#ziɷV<{{C55 9UU1,ditYcnJ;>طBLY)_NӈIR7 KۦghxiV1m.ftc/KntvW^ - VG JN8Kq4=ZQL1ZŲ:ZYy>tmvL?:%9qK[y\`!VZ}t[){9#C WK8t>YP%'qAМR>'Y0j4椔ƉqI8*ys3c5:U&nв2&[XV g"Y+-ۋGd4$Y@ՅPBAَC}n;Tcĺ'v>z2M$癨L0[җ?x{F>ɛGX9le=Wbϔ Sq)#j*nl(r8GOSCdOXs[sG}5} Bqy,>Zi<FR퀁UbgRV&4#|=Isv\g>/G~=/r$JU8HGm5&Yf$m%x^7@ǐ_D;$TUU2*ܐj_D܂8D)Z3u9k 7{=iv[6c8?֪Nai;%NM"?l̽"yT;\U44=<=1GsШᰠo\kV9:q}I{=qw8?W\y|ۇ}'1W]",hXSIf9 9:qR.* !xOs.wc9V}.bdLS4IiLcjtC"e(kR'V2KJ@5dz'M ىZik cgpJkX2IM׍d9ǥ}bOv72 k)Vޏ1R%xeFi{W3o}_#~G-5}FS<P fOEu sΥ4Z ;YV),$v{p ҼΨrOb׋"\^lȥ2};u46w\t,Wp[iŽK`&Ƣb%ӅHvQ<18(x m7MnX 2in%E=54ꆭt v#E 1 "6 P]L͝T}FtCͥV MR^ҟ㿼M<ዿqxg{2F3 k*+ γVw)1إwUkH".] ja'ϛN(~Sx7WbQw\Oyk~E|OBB HC\tPLH06JSs%*(h9C,m$nP˟y_R苣8q"mj\szoC2'QcseWL3>^qj@B`F}6O#Grd+R/Yɯ\{ xQ[q ^ҷPC1Ḿ@jjb>|-/uXHM(xezfı{r`gvXuۍcU\y]?Ӟ|K*qʴKT(stgΞb=`AV>~~Ýά3UyHI2OyOHaӍ.n$ssǜO ۿ;ȵZWQtoқh(Txa_?u׿x.䪻G?oCَ_ޛGvTZk}7 }hM Dt!tAA"Q0%G)O@ FzHB>=gVU?Uopx]c$d IDATs^V9w~'dm*")ZFKDaI'䔙ΦY[RcLB;JFd`wq=O#gqƍt1ss9nws^nydػmk[S^Ac&z'ދ)C5t%VZF,^6S7I*Y*x尠8櫇 D+UMn /V jޏX<0&<$$>8K2d%'@BXђ14< $g#4]lTA%ӃQ?j|Qys)咘Pr}F7z ԕTD1j$*n=qI&!H eOI4]YlopR8& iQٹkp]K9G͹P#z.U دt !%SqT:GbUmlm֓L:c b)e\u<[MԨ951a@ wB5| A„||>M0 0Ce;$kra2fy;82[ l^/n'".Y_A.\f瞝|u罛o\r9w_^z t)V@G1oyh)t?3PՅlX=XW ::6:W֬y>g1(^rc"Dpj"FbPd-!D֎Wu+$kdrȎq\Ⱥ"TY15 DN dmbl9QRTc.8=RfϮ]L3eN'9܈.w-3i*lˌ;__Wt} N=():DN{#2ӹӟy6qSNQCN1c84E]ޱu+w_ʗz)s,qUpꩿOWnpÔ< zO p2ĉbWz񷮼g=\8O?{B7ə$\΁0Ԟg<&k8;ǻ8f Es&{ǧ\}7xչbt] SO1y }pܓ:]#i xRqq"}̞^U! >;id wpSN{.v{@ݯצN{qNԠB΢_ڨYlV D\Nċz(Gs$7\s_7ʣwNpiiO~"ε1^w ǃ&FFuZz]rIUS]qf3'vJ>x\"Ǔ$%мe+yslx(+Α l!'TDm^2yewZCCz%7x#x bvy}Xi_˯ ,z}- >iB\;f0`8,S (gW~B/=YH%)v\1\{7 %;11ff$Gv={U(-G<`3ؾ0LsϤid!v075gů/G?QG+kkSFw?c@M搩RǍ S< 3},Iצ#Cd<~F2W]7}w{vt|_a?79V|+9Va'8_r&ZlТ%ȧ?\寕g?k7y.0rvzØAknxUq^C1bt\kg9#p9+B˔4g:5cj=LPbQEMb9\'e_9dFԄN/uy666^|nȏuq>f[ٜϙS6ag۔\ cFdW "B%E@֪(d$!R$$g /}s^=tv p^Kubzv}, [DR)>c_P吰*pR-#*$baq!ԀcW#QFQqs ơ/Q2UʧX6VP-㍞xfRVWyrUXBzp;8'ʞaYf<988h#6ѷŀN7-9'x͎g9Ny.Q++H1塔 j9aȊ1*Q6D*1BtZ\.麠P1D5 4(ϮkVs&Ksz78-"5(k[F5AׯPNѽzU$yN( -t?v1~2ȠBM1~/o=9 9$n{Jevu*ĔĸwER8r-E;[˫IVԤro)XܻfM8-RY"ҷ#$/tǤ~NHQ$-'"UkیvȡFEu3m[zT(4e]-%KbJ)10 zvXmW%Q&&SrNF (TOˤ}\AJFKGBqCz^G3n-M;-ڹO<~M~0Dk>HI)I=樴"dk_H C~e䄓qta"GqYj5^Db`\曞m[<Gu('Al Uy\w~9nF_.[.X,_A}6-}W<@C!YFu+JSH"zT&uث) Дg/pЭJ[/3QjI-TqBdE(P'k&rk?4;6xgzKt&$6Dz-i{W1ƚkZڝh8zo *9gjA6^}eb&d'q'o_wKq :l(HZOG},P>bUuu4|W|;#9ȣ0zY=rΰݔ.v;49Y[GrƦ̊RЋOIq܎4;յRҾdX>E9\hIcB賖%Ex8c#Թlv4jƈA @{u#9BurKy'M7Ug5#ʙ*-l|ݐ˪y[#Ykt5%w;YTisS|Nfܕ}yy=پ%0.HwN1Iގ!xvyK?78ޏ|Y/ ˞B}Oz0k)\VD/1٬?9;xCN*~p#QT/B:Ʈ|_c:]# ?ft:啯|% ;&a$ G1ih9x!-Y1 I؋L'=˥PFpi L"h"P5-Iw1@bӤ4.xHrY4rkIl'ū a22&_ :%9d%$i5FaH0a轪Q)UAQ#imG [uz`W*Pϥڗ~-p=d %mB^ 1f|sd6[c@ʁƒٖ$6z i%ʷs?lN -ґVk1hPMykT敘uN.+zHX׵cu )-f<-FALmK)Fs283S":U,m<, LT*Jb1嚌^t5oM^Hn9w1  X \9ňSu4v3EuPO -rr!)y2>d"Z41W*tEٜo"IIst 3x*8Rj`N#IJ#0:$='jQWдĉ01aJI9*. oC=:ò> N]Y9m-'jug i,R@%G[5b.x#8~gӰ(J8ll9FgB Cbt˅Z9߯=L,:%8{7?0Cfz#D- u@\{]s󪗝ǽ+x3b8'4n!8}T#Y~c/o9:Rjf3>jNC\;`;q]E5Dt! !+.<Ї?!|1y 1nam} }+pC1 (gFTUK.)W܇P@A5(_< 6 h{cL*UMɔb\׷~xUY 䵞LJ[Y0b=Ϫ*1%7$'oac{>L$, ( h^\N!TK(QQ=IXT@UD@9ϡf^]vX<.7㚭~HUi Lk,~]_+ Gdl~ Eb%ˍ &E 6tOAy)ޑxcCa.`$>3I<^2`.,kARah!a+u>Wփ-1/BjJT#@5께mr[]/nR8\" %5?~8Z LjW&XtDը0`Uw.6nCl1>OpK:ҙCruNsJu 8:s79/uXdbqzKދO?o^/˙M\!1@;r$ 3:X}LQzi 3 od)`Qښy)\`+le$ꡪ~~J>nniywFӣg$JK °HScBc#$<] bXr^"9e,$RhQt|8 ]WR]r@WP X!jP6ðLd;.#&WلKY6Vb;& 66vGPu^AS.]t5;ٟ9ם.ʗ;1*QN9ҌUPvnjփP6LT5 For7owB]J1i ' @%z 14 Jyl _%?W3+ Kt.Hk/K&}G^6v 6aX ^L]'k'Tl%UJzXمnŐ AF<5p_FBgv^tC|H*I$MeHJ]fN~:.`^Vnbɒ(AT)ܻrJy/ ](&|=rc?cJJ[seKXħ:{$9XȤ8Xlc*8C)y8 1 ꀨ*=ש\v9j;jR|=صytpv>,똏1rWv6%Oqǟ"}'_ΫigN,#B`2UMW=̥֨W-|ܳp>ηo_?~ ֏uaWG?\ D0 C;]D=ipL'Vp l“M+C5k4"u<OJZ=)O}J4$,RR1Ugj)gP]_ZH:Gv"h #LUN}90q1DrΤqIEz*^lG89K&WAr&N,0٤IljMkkQwǒ].}Zns:0D>tHn^\܌8$|/kbػXy&X3h9O.seߣ;tMM(F")sic ĭ}2nvRY߃: uƛzW($L~ IDAT&+ o=WP]p,8yc#UעwrI)HZWb 8Jr~R`N3i5 8XF͹a1 ̊R(S&sнUI2p"}>tߑItj<82q{+SټS%,ى؅@LItuT?,:KA1fBLal}}y-# {GZSd>:9{ر1rνt$<=;/} KNԉstE)SX8F^.:"QX=yޑȎ+//}u:|CQ'މ~|ʟva~4ȏug7/݅{6@ dB˖![Aq@f9g69 KTjxwg`OTv\ 4rH%|Q\QϧAK]cM޹`ԏTj  ɓZ7"OJO˵ wd4>g\(EuLv~jxB4I5Vмf؈&Ň9ˢbQGzL>b;6K~@0_9b!/Ar[N$WtЎNBmI0 x=t!8WĮy\Wj>$ﭴdjNLOYRPo$5Q)!CJ}$9|E$Qѯ2be8[V+%]_N(QhQxhqc)hMm]ZiK|=ȉ|S*(QJKbeEd$xOJhrh44f=K1Α \]z5R-ƌ$Tת鵏۹ZIs{-Xw?SŬUX?4w#b>gNJJ['LLb\2B^m3U/acV\V *Mҷ<IaFPT6ʖP9Q۟ktܜFdMK=0#f^ɛ)`3RF3w1ٲ\K-fkپ߰g?g/26-\z>Ŀ\kmY~O=6HUEגӹk3(22882L޳foĞ%/gsїƥ\]1J~wW8wמ߿p.fzB϶26%D7c U-t|_e/{eCO8E2I{fヂs/::̋W< 8^kbh.3jTjN'Lm% ⻞qH'f05z_֘fz6"_*4T'ZW\N4\~4_}߱\.ɍ–=ҩrfO{LS~Byb1B=5R uQQ TNqcU=E.fjIT 甶G0BYw=ݫZaZcѳ "wT%@\TcXlnHB3ʔ龗޹w)&׼|bu.4~4fwR&!T85nJSsSK㸢tP,VE,Q?x;|SػZnr<'ɫx. /~ѹ,#/p 'O׸,ם]&U:֩?I껎l*tCU#''AB#|?zy_>/>?=\׿7U8Oo\z׻x\sghކ#)&˩mF%ɼzUi4QO0,O1$$i1Ta=);1 Ux5R=׊]ߤ' Y?`:r^([!% Vco/֍.0I~2aqS^S2C%3c+ÿU|?mx=ܰ{~c|+7Spۏ%|ݟַ38F^ O}*>7qdz0ӯyd[OuFA&}r `R@Q#3ul t]Gtxa^v]}mqO$흈bsa\Abz:jrg֭ 1JӜ1LTԤl{T> K^gǕW;|?oqŷN}y>Fc_s@~Bs9 .YX*񆦈s^1Pdۜ/9w=!8拄Su;;~6(0sّ+R@-&ʁ ƽ 0u*ނf*%חp/MD !zyf9 )Τ,8Wݱð7mP xlv*IX=lٙUs}7\I%(E.p81 EC~V=v޻=8tn1%ٔX[[c@PyۂڇO| =,:KsإC $b}+/jo5 dXd \[ƶ%fQ6ƸEW OUL0ꙟ/,sgb;97TSÌ S 6/pu6}c gX4Jp-Tͭty/T~I,ѽ%!l)#bfD֫)IiLgqILV#}}NayQKV@2q֊> @m# ũƯ Հji0G~3KQC[Fly6hqF˨>о+ AYSUW;U Ӥ{s{m|Nwi5PdPl]mOS!MF)I۔e̓H!3qȡqrݦ)'駹cd̵;Ęq.1Ԏb Te핽1dŌ˰9_sabs=[g&c[~( ;'WWmCsAބ~h^exB-[7W}t]' ` LLTҫD* KΛzIgtlZl JQd#tz;r&,Bc @b~MT'c(`"lʖV~4f5`k_sHFW\6k'vM7hkۘ g͊RlC5:S!&]>huT,]73pH:T#ݹQnFOw'{0 #8\v]B;12Rq YEA꧔CЙVsPe뵯qc[@Kci]##(y]`NoQA^Vϲ́B leX_#U7F|=}L&dwX ?\cTAu<9زemz_9/>op!([JU(@9j]#aXǁ|`+ͪ˝N'3Y5{)s"X@g"5GC\GqHs <2e\g9Use,im.E$~QT#~V^1{bUޯ|inJ:"*9W|(UNmm13\1̠&jR_e% WqZK^Z; jZ1LiJIt06ER<߻+|O9X.Gv]5[^!rݮQ9fA$(**#s8ՕǑ{lٴ_&8?w=ƷO=]6O~G=8[Ї)}͖-[h^# ?A'̫_jsԭ]H9XSpx`rB ^;Q1 ˉɴg1_"zԨy88V@. n-RRMJA05 7g: 6UO]6u*jMc D⹬T' f|/+5?j feNuuVqքeZYo*@2O;)%|o #GydcL|7C g>~w8CxO߸a^x,ש~ 7^N̉} Gn<?#ߍokҵ)CܼCIXdƜb(HߕԀf3~h<}1Nس9gX((7zJ45qBSRvPEDYK̐Dv7԰pVHJ=}g]`Ϟ=Lke(}{W162kJbfp+bvoZ"a21 %7Иq"ۅE>U`In@jAMzXZޣ{n^Zj<κYK5r'f@K$Okօ~vEm'+gC*j"*|֢]qg?^r \b݂'Vt5qc&w}ieQǥMZӉ1Wg¨\N96*W|<rSE;* .>wO>׏ qrkQ:~ڷG!x\XA̍T?<%9$2R!k5acdsp %/D mheWFGS#jRWseϣJGr { sfMBt.2ׅϞ~9 N$Z)jTDUʙa)7%FHyL4FL=.rn`!4,jK08nw{5i8U(k8$#eMw:@RAYuD9Ϝ=En[i1-G*QV"?)V4N 'HNjH}zX4C:TB#TvՉyru_s ]iMPv5O Z(FuU*j-Ysg(u5{m1jw^|55Z!Rj J)s5_]*qeP> m5ܐ**QnWyq~8,_{6gSN (ac/}~͋s[qE?)[_gVrg吺 )V5L(8~XRoxoUe.usEkodL)(T M _8?w x OA9ǘ#=/z%;>ڟT))RCx;'o_Uh&8h\lw Cʯ櫇 ǽeJ3K*d,:5<Vh};ZRۦ}ߣaܲ|[_:)'/ɩ8 QQc Sl~ Ǚ >,voSU;Sh,\T+޹}Cẇ:l+>l1eBT"R;GwtmWDžW8rZV(?ǬW"*pc}_+E=2 [ -LMYF/ھj K?*PnnRVըV}.:éH"# ]|$}(Jn +.a/yu3gr%/|'qUc9njOC_֔tC={&1~sxuW'/y.~ͯu> !2DQ+Sbw_Cx?s̍my폀_z*{_ßPG!N q200/ ii 4UުwN<@y&H.ɪ _:%HyFM3*s6?̒^JMbU2y\(4/)ٸWj?L~3z4Iq+gFLc|Y|M(+MIqJbof3_; :9X*h-䫬-=kWFN}ēy⫟0r0Oq{|g80]jX O<>wW\ Wgíz@,GONi`ˌA$۾ {GueǤL1Q>tS18'rd'P0Q6p{M>e|p*jD PqAlɳpyE ZAZA:S ={dŅH-:aP- ӪǜYQڮ`=IQ%QpS3G4J}UNXRO㩂E~YNLrZըVC̮HR1Js[aCTMcT&80ٔ8iBa9'IYys&FJ] 3ssƋ;xWrr͙Upmwc]pY{1/tHU%1}DI'\} JOF۩ܚu/ :cjRfyiMƹ0Bග:9BXUo_̀mk/36,3.l,;Wp1y+,ۚBYvC5Dtn!Fj=7ITYbM719DR Tζnm^#eYV<Ԛjk o}񨧱zN>rp]O?DERSGbL8=81FR59FсC>]1߻||g{g=a/]HUDR̘͹*s~C?g<G{UuLILmc4wkB'qAv Ŝ|yqO3HПƘ,JYmZNؕ4W9293 `o?~?V̻}.Tq$QcJeHN@yxi,mSCg)}K6u6KqMV(馎;{QVHޅElW*i Mkv 8hp`r(z ,'|6.G>7w7 D1\ksKCt҈P@B#@@Z%T)Pʣ`)Ts=ԺN[Wض/ ۆ7sś/A|~O=`UE ђ'abR"̜&3FzK%u[䚼컄{8zb_Ѻǡn2usv3W`ޣHbaJQtc m^9èy/&(l ؅`@Ѳ{=+iDNQj0#>J^{fd0n+pтn595SRc#2CRW8Sqnt 0 1"j2\xksׄE=k (ӄ2MH\9U7X:@{V:A(qΐ#dj@7F^u VF1c97+ݥX[> Esz"!Y8a$ !h>a̞RC"k:2bAm3b30VOH)Z(AR"<֛+sΆ%3gL*7)1$RaYhD(?R`RwMJ>L9# w--^{Ֆ9PQؔZc`Q+fǷ{.JSkF-kzɃ9bu nׯ'vATT¾4 mKml4H$ո"'E0C +@5YB#Z8.:v?;%8zx?)8S^g+y~cV$]7]CW~sEmiķim_k_ (- \[ rKDMe'1MsW7WIh(zU)KulnZVv;>3ajǍ$̅*3n$W !V Kk&@48!26ڔkG (^%>FTfV8-g@*8 %O Rm 5qC5/d1-?RRzge軌[/:&crgG~oÝ>g;/8Y Rf&%aRn ;ZbzA=6柱z{1 MdB!4PM`f5D ?3zB9\% >?駟ml[ȶy;w s~/[,Ƅ"]ݬ0P|ʸh1w~ UGوW.E 1Ph  WcٙMǞC4ä` &O)4޵2-ҰgX!KXe/(Xk,F. ,$NHsR/X Obt$(Y>ܸ>")LmF"&}. &a̠R b0S5 9ix'D,(bـجָ>g}9)515N )P(/q5ᶲ:ZMھ\1"_@<։>w\%`Z=~/f|C4],f,o$S9C8 ,w{pfXNEQ Cs@> ^5k4iPm $h>֤\.bvvvpb8MFLQ \S,Rfu֛OfVuA*Is(Xo!Zrra㔑3h"*|5ouJHy}c@׋ FTn\[KuP}6]ZRʮYeg=Q27^ƥ~K,$5GkFoY<ϑy3%P6>"$QHI?Y֌Aמ}>p#~Q3qХV 8>ҎgkXݳo$esMm߉3u -ؕƝy<^#yؙg_ p>  O>[E޶mY}<@<9jUFQd3~-lPBeȸ'Ha/ܬ \HDSbYJjHQ-N5E>0QkV,q(6x ٫v6kFj $\?߆]r50Ys=es9{R)yzEU~3zjlwƾ7츘2& )՟.3{=G~':k IRѣGbðvϬ׎Èqq"a-dtgJI&e,$!/*GzVOP6JJ[i="bHIvaJ*;qT}}?pؐ0z5`<^Pu ᨠJ)Ni 8HBUp!I g-_`WB޻Adf(E(3@@f<.K`gıc7B2="&=bqbBzLzGh4Ր7XqE='{}7>!,RD8I8N H}XօQ6BݗZRmپnerj!' {Vv5ނښ߫-:? mdQn79"l/hMʭ 8`W>g(sw*^.=Vk_|ˏqO;?pֽuhPhmӯoԇޏ+~q9¸lS/yK^}v;g}6.~E؜ w#b? /Y]{mJ?cz@.cT'3ړp V ;b(hJ65wcp cK 75.خu$d I qg찵 YGcIeZ\]Y'fc>6wRCtF4cn5 U:UǨ[qƇ~(>_w"o6WRr Ǔh|Wmo|7. μ9 c9 I|?#xyhl^H Ǚ,MFns ƈcCm:fdў(4F+C8B$_B!(zN̈ ܃Ų30v#A`XأcRW!DtsM4ƬHغ !bf] d06 FL=# %c:釘&J H)A}(uN$5aguO~J֖g%뻄R ڂ BcF;Ff-8*@BPk oOy/z8@E4XUB~㳎K %BZ`%SM֞) ~mC>̆u0sXK`zK4,d4o61T$1<ŀ"bJRsfU [Lsy}'@2ʲN>0VN:x-8wq}<{qmτ{ٺBB9E N)|wP6 IDAT69crhjs 4m D80ˏ׿)X]쁳؉Gg8^ӯOB8 YXoFLàgRUk:jэGcmtI]y3}oݭcird|pc!": aSUP&.&S)UD܂RT2aR @ o.)ɜ$jpkR`b @J$2ҹu}!]{a!R&O$!{، DLc2Q1h5op2%ǔ8c3YVӂ. ŔM":I˾c=p{6>ykuOPAɉJRX)̣C0f&(_y͌=Xs8̬ZI@\=qh^fnYkY̻TI;!CXt)z<[Rl0V{JyNv"rOk/j&<,1\Ɵ5Kg>Ѷ9 ST\}x ^!a߆,ɀA/gb\J4 'A1NXLb;f0"0IP3"՘Ñ͵ [Vc1cWvڭ8 P[Cj2 &*cj,lIDn9%u|dQ flg jV v9j&GFG&Fn)':tLjEXy`NbeF8j2 eX CE IQñ ROiF' Ani)b'LyK0%[k2*;_ zn/[߁(^R?܍zFH^ɹ jh8)k`= N=K&a)M:71#4=kop͗דArr/SQseގY1B6 ._%o,Ȕ&W{5ZAC~|Ǎ6 m9s`2dq}`?Sʚ`(f DQς*FIf@}q0a#STkrE_leͭŨթZ2|]iK4L͇1/)1 #ǔ'Q $c׾:$)%k%#8XICq˸ ,M *l8Aj\y{/\x[%ֶdvѣ袋SxiB '?R1kJ,WH<7>vkK TJ!QGfAȎ"+EBA͖ݮG\ ̍\ē%È'֘oFNFRm^IPT]X2Sy~x bZ 3vꫯDŽ]5}⣟ei'>'ngJM {; }V+ѯ!K^Ξ Қ0O4TQM6K R}HlyB22dv]KZNk( >VrdUA*e8z m;=4FAkb{PwRI|3d$r *㘅t`Х(MQD4dEpO-}Ӏ#8z85IWIV] PGȗbPYs543̫v X]u^tAs`gf-y_o@ s|Ɛ &+ZG lкO[/-PHH %;r\EFIҨL(u \˞[+Y'(eRܻ֬i,˞J3W")JV<m"FQd.X%&" T`Z'DR  0pAQ0jiKj.)Gb1xHZP!v?X`/WK_矏mj[m`#"\x̅ [/wNTj3k؍ Q!@ϪGjZ<.[P sS)PUYn,G29aАalHMP 'Ah"B$͓ ZݟAB 9$\wl vU"?s5 5OV7 OVys򗿼mi[mFD)kuݿ[AY`z7ވU{ɍr?I5s ŒǕPO8- dMPS+j/}1R3U5YZf=_zo³,կނ/Ѷ jD׾o? < X,{ Y6σ;HfNMB&ϪECH$'?ϥB|&l![8eO75Ge,'lg1XUZD`7b,VP;?W n|8` 0F bx众4+6g 6EpV S;Q&^QF)AO>WC{"a<Nٓ#$#/]8y'vymO*!kXAd%hI \jq= s3Ó*q.V rQyvl(EE:1N5Jkhlc*噒+IRB-Yx{"6&\]ӘZ{H )뺮s,zL^FJi@=d ]c_8~b{%V'cIߚ| c =ؾds-דUBEFlE6x4j5E!u{n~4!~;8̲O ;rbEX 3mpsBGE7'0M>ron\|[%ܶd-K/\ra{?D*5p¡<Þy8SYIc=CU8ģz*U!& [h8a6Ca=L8oG?^_qbyϳ 8eϯg_-$naXc1q?]_*͌d4u|+cX䒋^$ҘTUU_Q=0g][AwH]jwlҮ<ֿ5gD"QK6<:I~1MB C,Ui&"˝=IG rBV&J@<{J&!sBB$c/; D؜8.f$MYrRmQ멌2|.p!1ʄYcV0HjT^rF AȐ#RP' ΫpNݝU<}\QlA8`8f`Y)e mokDXW7Iǥl_"5r=K[us`a^zO0LuUq34U;?/ Dg)El6$kU QݽC] 7mEYһ\vG([+2yu} #ŤF>f }}~6XGd݄Yǩ73;;laa QS Ծ 1QA<0S1LQs2q.b<ū^پm_m /^WE/z:XLm.+EkԤŖ)? e:"ɣ5 L}ü &~0TaלQ Ur0s^5ͻ۬FR3sfh][POǫy'Be р`8vk HX\.y@Gw۽{:'pcc&(`zx>O?aOO,%|A>~mTBkI]fI4@Z}fs8UtތTMQ@ fRcD?8풯V6UW&38`h@Z^%w|pIWo%xI- 66@.WCT%D14 f5(1 icHݧ3ਊZpH5Ldݰ+}{x2D9Yv&,,Ep)8EaGܝa线a[տ;-;"z|]Wat[X0K憰hsjF.(h6-bdL%`^]9^u s;_ %#Fً0Z#3\rggz2 .n X8 x/ _-2jJ=\Obk?L~FTԥP0֕UAuAMPޏ;%F5(1cJ]p+ fLfi蘾T >>h3%?Cƍ@hif{N}o1fSeaw=vO{Ff"Cad $k};~"|c™_svN: ߗ;q?R 6ǐR;}[4V?_Fl<;wG.#I4,a( YoX fkD(ƀw,|Flai<9g,1Nײ&Lۼkw^jCTyTmhSJbLϬ!.#B`%VAS@/1'-5sFJsF6k?7 xӟ3x^QT:p9?Aom 6ѽz<)9x8@nE!1Uua!UV 1&7Uҫzy2U/iaѸq78zf 9nX0-ܾg^1p3^TVɜ%1Ui~pSAG^*"j+-Q §o??u^?+?68r̚g2f-A$,=5k-9S' ZR0?Q?izR $'Uإ%,F)g_*_e!)`%ۺ0VXw05,Yhhi>eFy=Qo? R!q16Ҋq\0 nt5\U,{Oc@.vK? @€˜]惟3CA\ 8{ 4 )ЅZ<y͛M+jEq>QWnjgos~_鷽=S NNA#!?RC (jُ9l6k-{":尾 E`E Ad>qrL$B Uvge3y~U_R#!0 <6,PqΒ[2b#Aq#&%;\Ec->THkaruF)V\ N?EDnz:tX^+!C.CĢ#LP }dLS%cq{.!C8zk$. 'Vk0Du_+t]'$aO[_ @SJ]<߂! |7<BHAkDM#HTA*p4йGf8~>ӆ$uqvAv-`6@z;t~^kƒ@HS %g]6;k{8 @ș]<]w6Ol0tw)qb^Ί_R 8aLD2+ؙ f}|uF\㺫>xԣuض/ O>1y ;<9gܾ1~A;ȘoHu{@: fm1Zl ŞCui4JT+f$(ABp>sE&%s&9Zyy<k :00;yX#1%Z*jc0*'s&Gh0$~ WXzqeEN>a?j<7?k&aŶ+Y-*B^1 bd13r@!VKAk 0K^IR19*C<`BB#͵'+%j^E,oHvi…GvV+FfsqoUKY(1E`sdnM&:_q* Je.$ak2%ZdIOcknj,I56l OG"a.? c,MҫǶ NXwcd0$dF!ÇiG(jTr;ӤsFLꮴ%[$wo}ߋ  $FG0- Hp Ӕ|wnTjߠ.8!EC##HŲƸ :nF^I!VX3s)* °D`q?UEb_hH f s#ƣQ|9҆Aȯez 2{ݝ%;KnuN tԻ´Yc^a3>׃8qK W1ۗ/˳mȶO}Sxc?tnw{@uS TYfh۞ XVn&3c{R%nMoMdi+,`5HiAPT%z١lyaK!5 a!#H` pXfשġ`1>iX}`62b*PN-f$$rPq^ bċgoF;}Sx[.'w}3p k|ګ_u%oϷ<OzKaR`@5֟Hrժ2m>.`yQja{0|JS8bT&v:NqX)!`p.(`qRS~۰=S2L񺉥Xz|RF~%ef=(|'aج] ɬ!` "7 e$ FM9/,'E!fZ,9`@Ly uRL j"[Z"7ƭ{Upߜ'(@JD(']aϾ |W5˷mȶ믿w>|TaihC* ٰmNAR7`jؿf+>e:3ZȪ x.¹&)X$ĮS=p(Y5YKWoޟDlVpms!"ϻV @;- y؈MP>E=)gAu%p`s;,?{%cȩx=|^_|6S;a3u\#@.%~#Y+(㈐:\E$/Odiw1M1CD8 K,ך6kc)[1Oe/J=4J_h퓠y&R~]sDV.Uu7T6FLSu,-ň XoFt1`2q8l'VU6F0̎:6#k:~{.LICEik2;!('5`I0>!k5%1~%n!)F ̘0`7(& YȺl\`F>7GF،pVC* f P(ZV4捑{ `2CװS6N'[ʬpy ;g8 Q]*VC[@F3rS# B`^G4ejj]Dߠ_.1a@˥:>|  i9Of﫡+!Qz>w׿ zr ˻mȶa?_Eߋo||mh =DqKLVJ7k7^<ۄl6 s[`Պ? LyB 1u GKLrZ lۘ"`aݧ׮W,wIR7mј) 8ʽ[@8jPw^)\*Ty HxWX+q'>_vpgyYwC~W01ʜ{oI&I-c/M{Wh J+:>Ca.JQn0c)SOC/,?"}TrAzbJ5%BHI ᑏZjX$-M6M7`)0b^Mz4ðO'bа3aiAb7k, 7$éw7MYE)Z=W`̈e'|N,ʘRV"w}ߡd_ ̃P:KR%6ҿA0_&g"E Ps(vT/N((s} :?j+D2$ X : Ns^SzHƒÔ긴-ȹvZiC젃rb~o~`K|&+(ޠDgXak ``RC,,8(s"e:́ں+L *cȌYU@&J9Y]/lk?q6_}wz8"jI~%;KQ^!VoR׹b0MJ])] k9K$^2I%p4=@=& qʸG)֪d݈7#P b)gƑHm<P1]hyج-$_0_ݶu"?Ø1 v6GH -lH۬Z'Ucw&Uǧ֘NQb)UsAНv Qcl0qf=t00C5a6޺(j ﴾)E tx9k37+Xٜ i L7@Ů>Hv9POYwF53e#0 H 8`1k]Ul,47$+d3'R:އ^R<ϟ\eݶde]<)X>Wȭo73Du8a xDES6*4Q cѵ`F&F^^o>Te`b2,qbÎAu{3c2-;hɢ^s+'*uUbg\43۸e7^X%فӰN,1V?6Vq3RiɥX}F@x*)*FX R\V]"B%#N֙ Ej Ƽj_m0CЮO^u4R$>"gaǎIGّwCb%:M6^|7 !a+, CZÚHsb xw$ @Y06].]&w”ÈK ljxlpV;)mU@{o_aɔV>`Z]̀a#om=M/ H$hPJZԳ>`W7W kU2@FT%۝@DnH=zXYOK)6!zm^N>r6(5x(LQgnH+`5G?g#]{mֶ-ٶvW OxUYyfC:S5xLh6I>,$l Fj Ff,|nv`fTÝw cHQ8 L/a 8)%d.gFg'3̂lV\7+՛v|Mea~hܲ4$M2hK bDHI8UN 0}A84h3c󾯆yW|KGX8ַƉr( S8АyBYdk\xk~z2wnw;j۾lۿX]]/ǃY9*@0\馯Wn7jeFY7"1/j)Hs/jo#Z ࢠ`bߤsn AԒZx0T J$6k?l5=bEx控a/j>Ӕ= #D^sC;-W,QaFAY 3_6 vÿhȓYVU bBfV܎ u9a`c$ iy@QĶA)Hq n",ƽH c{,À?KUuAeRCQekr|@EC S`E UN24lGg+>bkmO|3P( @h04KjNQhFK $TNQ=ޗjl!% k(_ԝg[W8!q1?75VLƮn48!}t&49C\s/wmͷ -ٶ6M^x#~>=A'X11- vA=jz(zWD\{?gBYvR&H!W&J`> aA!Pg?ͽ]UZ+`1(R(sv_.Sw3=k>|Mxſ6>`y_cBZ_SE3ɟGo ;KI7Qbgݫ{C*Mv͋r>ͻ7xm؏^җzضm--ٶַO}SwWVw*@7@P}%ϥ %8/rSP#Ǎ6=*?Vz=8S_7X/?=[7fU-e MދIk.w{X6YfJǠx@-M5\ LW7;V`wGNXem1%nX3 ]*$? 4ie[c`/؉AG.ǎr3c&w"=>BDFDrD*8 +0aGʄ#:"MvA&"WD6C(x0+hÄbZHΥz7тnJ76,dYPцZUZG3 hfv -mm.1뿶G}%ߛG@=[PO;mUc2A q>0W[#vޘX'rRT]u,sH)δģw IDATR4;YW&pq @D.3cԁ,k‹Jģ,Ʌ,n_ewy۶m >ۿK;FߟjCVn%ױ V~<7 (xdBDTʮC4 `X&ϕbĨ5d]ӌnjr8!Ra{^Rviߋ.ضmǴ-ٶvq<&|ã $)Vo @5-.zK`*`EHcVxjvCl8g%r|nέ P03'l$ݠje\s]3^SshK9B꒷kJߙ.{7hj%efq$r#%~n1F` :;0Xh]]4>="`#]bJ1DHaؠL; ӸstB酖A&"R@PY)HQQDE@  "4T4A-H! !! O;.~}k3r]u1awEI=3!HӔ4F$MiKv(JF1K rҴf4"6,pX<"kAǀѮ(+i5U㤍( HukH-dYn)t&Fߖ|G~kB&'ݽQ}t^GY&z}''HZ7]&iS3^ ܊7WJ9a<1R^sI/OVC$_& ʂZ ula!0th$C̀aU%eb pBMKdz_4yJwSHUs^1Xʑ]^[F(2(;Zj.{rm?"~&=r$K)ZsFkDɳ=ݭ|Cn`iJE@Z/^\s5|gu6f|?!p-#Y5`$•:YE;iΙgyMebs/VPŴ T"dh8qҮ\"a3[@iEp( R{d\\$dMD56GJS7־I׬j4Rg\H/w9ts*4J;ې<)̎t$MSg6"zfFEQqDoOh "G)*J 4umH%,<ϭGEIQD"͎""9gS9 A1[& px*kwq qr-&B^3U+I]i&]7ө*v~I`;(\H1u3[:/형4*E7rYXA[F[[J'j)D}Ψ7&n0y,'xC@:S2I&ApZ \иlEV(5tH=Imt#|R, uގR#951Ȭ!w^caF#odW 7vBAUQDD@2DmHP V1q)HrsN&8->LLʢd"$ytsqsݙ% *ecqR1 M]sG)R`q!TzIS `8vcnڛW@{{SPC/1 ;VUZnwSF;*&|vv+?Ձ}Kj7*g!$Uh?"e[9M(ȘlNH 9VRr:i7<56|yOlMP?{~s%r vm7ZU'E@Z寪lܸO>[n]>~sL"5qPS@0T,9p$0wY+ /t:U4BG&W8_=ޠjptf5IlȐyRN%^;%+?QDZɇ.L7Kje`%@O1c!k3'SDw$>|8GHM[ߓ&xCp~L۴"rq(1ו&n iɅe_}hԚ/^b\ydLc<s(kWn#%|J7J_]Zs}Gqň [;p(+`kkZ%>ƶ+Gpxz떃 Bjp'm#e yl8Lז0odJ]RHj-5M')<H]yډ5H%/{1/\ YAG[6f5}:REWTjђ,Lp} P&w!IZ3Qފ"l 8M]M04AB1913-wvંɛs;-Bx:cAvs!#\!NE:wZ@V>;zD6r1ԬVJ%?d8d+i3-=PqpV$`F)kI!cΜ靈7] "%?f^9}zi"܅]M.˜pyDP\C恫ƝW~+񽫮SNy=UZ_ZUjܹs9yW8ϳanOPN<"V HfUs6WJ 䝳≇'K4@&x'&Dq1n5js;3W  \$|fd*Ragq&n'.?)H5D A f%/[nɄ{2r4>̫6fL$2Y{GV"t_3,A).T%|VJfXen|f27 e$7Ϲ؅I«oZc~X"4eCs׵*P9t"Rf=*^yF@M̽Qde(l7~YL->{]ewS~9*iƙV4OYD.cmIzlébG^'ﻅ~;_s73f̠UZHU^=\1mp2p^&߄8[@P[iQwAw w I(Zx'!$b I?N Gj @VâCs*hD@c~d]rԊӤEƤ*tD*UJ"6 I ֥Cb)%ƇC+Ew_8%yF-V[<_~\/Yt Rk CZZkmS7s$ύ1`A((Bœ*EȆF (iA8{G] RzO37hX/t^?1UE8"IllIl0 .w.u3=#j"m#Ál'iZv8 =,r]qs~/>9Ly$$hh%Fhl{o yVͫS[}QJ ɑ( YkP>Humn9g}  n '3O҆\+O6%yٞu4wdW۶nZ6w_} f?ge]F{{;*[E@Zos=tIe93ϸioAM6S&r "F۝r@aP:>c#"%H,A[SA4RÐ][qV ]L^lmRx"څfߡ'Ʃћf~IhҞ{g$ D>q$I"EGe%X|/nnZًb.G$enCu`= &3jP`wd˖Ьh&~wB7wоE1)mִMGc2, 7)w旵$vM S&LD*6R8N D&C7KyQS[<˝$[(h@}rfpe@_ڒ[1!A;\kfpA%iem2ېQdO`Jiɲ`N8z)Q8 Ҷ683i+jjƮFl"doJVhMfT [a{'ajlkz>˖'=tB''X*h|4P.=Sg2FN WG=ϕ3pKISKcDDvH7}#>/}yϾl?}7^(:5=|8箙D_XʘR %3;kH|{ $A뒾>tiHpѶ֗/#gThOֽf?k/fѫ/vjZc1e}y?c h ad)JIj-$ڙHX(\DZ1g%Y^#ЖR/1nayQ2F0yx:iqZnŏgڵ|_c?|FzF#RvFV-OQysXv ~|m0"bt( !R [7=t5roW (IF Wҵf] ^~j6 ^[%{T$ۭk6GC 3GRDS1t8(Kp"sGBrgV^[;o`yL:u3UZH͖<ͅ^Ȩc8K #$R;uzv_sʡE4KP^n4G>,L*t6(+rOkm{nb6:[6q $.SGbT<D[}U`,F*^'@X4qf"E[bkJܚzhcn&~~ٜ|gOo_<75!ØI/Ch% @)Yѐp͵BM77OLܭ_F!!rW$|"N$Q>f"Ș.eiLw\\}^툇7*r;(T̆%)MmNlMV.JM=+ؖО(;}&oaö`}av- IDATatwu1'?a;9+SK#$h+$9%On-irm5ȵ,hH#~C; |Ӹ8˙~1'13b` ԳFΈmlљRKbꍌỗ{﹋8GO3>~z\}~L^ٗWX5a.Z9b$Ӷ78舣y1dѓ6m􇻘ăr%c'MeckXr4eIب|ѫtXIJ%WS4%2>3ceæn7WWQdkJ::f<ێD^3BAH8[—>7[_ZG&iNHe4Ie;#(Vbϊ7_˽\KEq9$ɟ/JJ|;w.'x"={19_HkmF)LD۩x,8vU.6PJŜּ|Ui3;rKTw8Oݼ8.y|M;Ntn%^EfHNz-}mŗGH^)u bއu2vϑs~DA{-^hDqDf`&qݏ+w.6~sq]{,^&e 2LEQ@B|k;Yir%4ZznzVӟ}tЋu%7Ç8 Qh9*id9X(2;mm5 YMB0ƜȇA4HctdmCÚ5tp'}EI7nMIhҲԴb4u&F(J:㈉5Mޛ=X 'qUWϾ)m)twuQj?`o.xz&mRK6 _~>t5DzAGwBZܚMYj 6]ͫz%sI-Ҭ]e˖΂^ 6pGvZ9rQX|9cleKɲe˖qF(ᙧbʔ|ʩc>| s=[J)&N̙=WQ7™[oElΨ8f~i )xyګlLBQg޼|k%3`wdmaСi2~xƎǢE{nvS͊$qdLvDžhC֚ °#(suKvUPv$!cnJnCg?cv*H],˸˸ b(7NFz"kF̓ώ d?vփZcD؇ '#$U0{@5kgaF.u!Nʑ(]~Dr:w&0?˷y>};pٱ#AD:裻*W,Z;Sш&c*KKrLtPpq0m=/nb&wm'd:K@wHB4K2EH5's1{wvzI # .D[mQ )߄7$LQP9qk4MD ܐ;I(QYRE& }p{c*(H'-43ϼ!)J( y5ݙY7{beB솑u\[̈ )X?c m2ӤC$0% QYj؛(_5$?>m1g|Wŋr/C>vG&Wl9+\t3[!^[bo^!кtt9)/h+gi'ϔy2TdqJ&UL]ҏ]]jCs¹mqZ16 E[n\Ժt!U]eY *fbiQKTqF?8?4De/>/ik³^#F`֬YLz;G?[nE$w^ MDJ(WGؤ~Ϲͼ_bذa~LN9S,^gK/eŬZ[C009_|(8q")N8 ya[qALPE Yf" l'/LRAnRW-$rnd|;S Y*xTEO)c>[$l$Oit%3ʫ=v<;{ߙIĘqY1ҵ=bG!z՜.r\'*ݞQ8i *H)z6MWo=vߝ믿hhiV+ysUWqSkSʴ=(7QQ>8, 8 b&m}yIZ$|$aī>6}D nNHqfgMzdiӊ*XٶCRcZa#Hm Ћ%5NgLRZrKE9Z!.8. *6+56sl;_s?bqy߉_}ik/ |6:;;9|摜ٳNn+i2dvs4mӴG ӕj@Z iP}*pכ;_Gػ߱zDql2FnUT! j,J@'IBpN Em!"$N" Am^&ш HЖ0-a|XM,c;OdS_IXS̟׭cԨQNnrȡ@kW8VV/Z?G4&%1G`Y :H%0tׂ6fdM[?7~=Ym~גm=c+6Axcس'ip 1K(m(/es4J]gsDw?"meEwNO8&M$d );۷͈cQ|zl5f W"s֮}?w.\pC:j̟?np=o,[%'|4u[s1QFJH{3VaJ*L~`zA;4645Ѭ8&3vV NP&^'YRkzBiߑo.cȈ jQ/4$pֵ~-{LΤ[R {6]CKW] cE5amQԒ$f5k_{W<r߽w1j׼0w>i-5r>q[fNf[fΜqό; ,QZ$b>Xڭpt`+y֥q=uya[on W_Cg\8|kJ'Vo~Z@b>s%0%4Ni`X"f,髛u"P w `oсf4Y^Z,+v\bhZD8`ǢbW5kx'x(sW_]n:;;1r|2v@`-$QV4m|3CdKtXj2ѯ"wfkW|W=7 &MmVH]57|3gٸ~35ړI}T o"t-9>,vr"߈mA}b!Jk"`R[yvD^`lZkh7cd^Z{~S5eulpI{d%cJLԟP8 ]} kWE95lhi#Y'_94<p;Q%iLoO/_:O88ܯ <|G\He5)MeAXs72Y$9s@Ѹ@S N262Ri$ Vjґ󂡝5XQJnjNa5&$k(Xd)+̽w¯=A8.}y?Ӯlf-)lϒ%KXfʒw*K#xM72dP&Oʩq 0 z{{xe|{K{{;C a1L6;ȱ3ƍ'Myn6(E(:*kZiN$;f!Qfsj֣:W924ugEDSje"Fd&zb"9L/ -Fe$34Yú7 _9G.Gu= d&)`,qd5d&ќ\BTÀ(8ڢ}.(iDђ m΢4&nx_DfdQ؞2ah:R"c1G/|>n$I8c35qƥλrݍpϢs7oۘV0`'PjFJKP-A l=ؐ(RIBDqD!1: 8b2y4J͊7R3r8:;:X-n6/xWO<0u֜rʧX~is饗2bHVgȧN=(bر 8Xm.[7'{y0\7~Sm͞{ű˶ng/ uaL5NepvNiœ>M#w}N> 6m ?!?(?C3ၭ %h. ƄEL 4 l|H֩0 ̚k7˜{Ih*Qq]e͢@v@nIHMQ ͸$mDDA<3>;R2_ B)_1:r3O0r(4eyΠ!C=nFSކWcgvCevgq(e$ ?­3vOgJ  y^&P#3&ZLE˂;ΎNv `l3|`L(*>L"=RZ5J6C")k!aTyp qe9j.}i9t81fV.԰HemʼH+ k7W,=w>YV + EQ \`'udNẼ'}v\^}ٟhhoJ{o S(IbźhyGyGHn)ׯ0rd>ۉ;7TYkƵoq͜?=؃kvۍVi" e 7˦M]{){ :8O2e4/Zx>Ez5/('#G>g]̟l ~H[R;B>n`NsutǤi:ڍ s]f FǑ-OD@%}o/u'I{?=q7. 6sdIb'&s|62˜}WT5",!CGaҤI<,8eֹsSN_w&If>R"[}d"1/Jʢ7.dRE#΍(uxF f%$&ʺyOO_J^;W|N + y| 6AVHGzioі&qDQVC4kG6Jm# Ju4b~SZuњ| ƩݘQ2Ld7c`gJ-扬/IwӬRM~,ddUe;J6/4}9|9/<֚w$frZ,+cED83Y;zH\[tS;mL!#G>TL61pFܣMn< -tGZ=.GLQB IDAT \^&[Д4ـ$~]63֬/C9=n&zDq6{w*'oe|4eYƒw/{ۜq\x :Vi" ,\/}Kr-5tSvmCʡ4+" ~9TCĦ;Vl!qNd[Kbk<覻T3k#vCK߱a$iw{<C`4Y:qBڋ Qkx-? MkL2"ysrzŏOLj皘{sΰ eGf3R'3hdeko]toҕoqƛo,emG>psRk_[ʱ׿uNJRiVi[z)>l{1n0~]QXMxy],k` %jΡmM<1(MՒK("I">er%(l=o68N2|}Q4l9v"mRu;R`+/_O4I8m[^~y68|y,IN~Wr翞oN=wݙۆsǯn~ ԩk=>}===h'~A +6%;j5i(u 1so9\3tXRx)W'L2zN@eT %WjOihT\RxT"&xA A M ^̭8r %DFhFR$1;mKmL͔vzyE駈y%.FAh~h%)f֘J6W;.PC%8+(lNP/g)MC\Y>INk38X(H"/of²W^`ߡv1vg%,<*=G.2kwVi" *AZsw|^zt:ٝ<Hȁ1ogh-!*eR2gR?eU6\$NJ#$q>y]z{5?(6YgE<+C;%̟1[񑏞y4h0t>َxL{3q׹K#G?:Rj5:Sh]NO_n"[ub0Q ,da8ekde}ޖW(bY VY_~+\|Ws3=MHdqVT?č{" }PVn$O?&~"/ٴvի¯qϳzA (k4,$m淉&;) <i|N`۴KLtlDz~;/%EyB,!X~02 lm'GHH>UB#Z%̋)lByF: akD'NUH0op]lbFkVWZW>׌dQGV]4Wa z iwh6m$m"֬7q/{7V=xl 5c'Sk ?n=δ.c֬Y5*CE@ZU6Sʲn㢋.2Dd=9#c6L{H:Dk/>ĬCg.iTFEF\X2yv` ʓڕoṭ>Q'F ƷW1bZ;/^Ć5&NL^^ukR8!2YNYژ>}w-Zfk_+W0idz̟7M&vКz7.OF$j#sEK{HOv*ð 35F=c?=J׺<;Qc.c%q~eE=oE]Gr0o" *Ii&"Sv݇}$w TT9d;08 8/ $\#sTZ-hB5SxtW4M9~Rl9r4- }9j6r{ǑрĹ(K$xaH֒0˗?|LmJؗ,Zzm$*D9H;"o+'&Wv=A5Z]=\&3z_x,y]8ObV[|()M(?YSZX%V| MY9X@Yhq(#wȔq_M`j}#ef%D$ȆKkX6q"e|p(`, H{΁P5Z"53Ob>`iKj]%rU0: G=ZHN3W֥}gҦMZ"!KbI'mLix@d׹?֛o{ZFMچϴ%u3],~I,z &N}}C-*WE@ZU,Knv.^xFOٞ}8=8Ip! P2zBDӏr}_$%]]=4}>eCYt!7֬h2 MmT/+Uvse@\R%fǘ!j3 zz aA(7rfb{*$..`\zG_,h<$6d(g\qݏ~ȞއM7E˙ l}cwe弑vEJXIu^^u= 5k?GEKl Tf])nI/eŊ7+iʄ u=o ANQH\6ږsĵ(BGԳ2p,J%wlۋ$-#ZM\'33!zU >EQ5 `G~|)_a7r;2(#k! 3m>OODglj|Dž}F]wz}}Q&XhpT-$ Gb/g Y38%4~#&Ha3Db}9,y_Q|4[NBh\ʅi8[ģUnKJEk<_#㨏a}@"w95^Ac.#fc! 6o.'2?K8l,fyxJYV#!RUTa:Ke}FA{[i Bo0vynO"i|ġUVnEJQKcT49 )8yPE#)†S><a~|L|yіFob妾`lEfS8HKٲ6dӏn噧b]w[oI9j4Z;C 3y[&#z@k"jB51mPpz r $!bVfŷ[:V9<, C ER¡u_%858T+Ԍ$KsÕu 3AҾ?ebe)Ӕ YR0qQn~N7S-Gűnp MY3ܜ<14k((OVB(ٳ48;[n#ݽ<g: c~9#ЦJꥢ^(8徴{{xwݿ`㚕z衜}tA5y*GE@ZU_;7tmmmctKVW,xI"xhu}yN޽sw䠃ς yg:t(z|Sa]eHc$AgEAo_MJB!b6;zd`e}BbG\$<;S~zZ{CIJ[K;Z'Nҳ?IMoc֛n3O,׮8pM9GO&8ZQjHS$I_֧1Zvvޥ(tg ky)Jݰ8Wa.t VknφeUvvIeH]جD08XVŠj msO-xUv&2iޜ|٬rP@Siu)rg܇Z󀒺fd?8}.𗚟 LI]ܧsL㏽~ lEnlRZj^IvFI#LyR8LlJ0RfiZ=U=_+gg_M/oؠU.Yj.]wu:c\k཈K[n 7ܠEiΝ:3_g+Lc4EOf37IZ?u\VqTܡ$I6t9f:͝{:h1\ÇPkPމlA(k! $O82Y'BPh6 lswL0fElYaBi5-8ͺMMf.!c~' }Wg Ҥc(hjΦխWĉ~Ӻ輏J|^ LjD){il֧OMV^߶MwnҢ4͆X.cM=\CZZtU՜ٳu̜4fIШz_(R@C̐i5Jȴg!!+ nHKŭM7lύ k{5sN-.bLl.D>K2a@.z=9-Y2Dم@MH)]RwCu>>2e래Rܿy̯罝IbӃ\s>YPr̮\ ÿ_%^ٟ5P|1|lMwwH^Ϭ\N YsQmTzJ~uvݽGݻvk:6nЛo쾶m XO\\s.\ɓ'x=^F~Mz{{xbp zt뚅_O^a[%[?؞4ղ_ꧫt_'~Tj'Qݳ!ChajiiՈFhfj#4Y:#55iڌF_Bǵ-I0(K2y1Aެh~ћb80sµy+BW ɭ*UM[";>_RXVui摳4Ose?z}54.FO=]?<3fn%?և?mwkP/5⸮zQZ/00K*yHm)6Mu VF6‹#+HUMGm] pmb E](Z6̍f,S~CjZ~O>%ޭ(çM1c5a$M1S3gԸ եgtgkjmHf1KWZrz{u77,R$ק ?˒yR7wc^{U__Gq'(osƎ'YѣFeækR3|'f9ֲu+⺻B79$;pkKԺp?bzdfYOOeK5Eŕ퇡c#xx*DZۧ$W_j]6uhЃKn 7~>:s5fX 2DOI1w5?];nG޻TVu'>kV't;=@G۶mӢEt뭷j˖-6}Ekȑe>viQGӦkjkkӨcc\DS=L+W?o[t~+[=(U+Jpt7RwtyPc1TcnVSYIi#3;ݢݍuZ\8;^#?UVW_ fa 'itQ#gW5{Ƀ:_1RkkvޥlW7V[[vڥ?FjMz]ݝѡ~^_WW60IDATk┚&+$[8R mG j~fKSùRn(q4*I[N~$m:#䧮ig+>kN{bqz_hʔ)ꪫtWkĉx{{(AZlnf-]TJE}|>+t'ʭa КD=fOW5{BF27DO @a~mWTw1Fd8_b3ͫ2*g []%+Sȏ!f$IUմyS^ZVziھ|6l1BCՐV} _g>[Z=GzvJx uV_ժ*5}5bd&mOQFk„ 7~&2U'M!ӬRޜߓ*QSlԐЮ㘺L<`mN ͽDi=y *O7h?\`n? ^!!oﶿ<)p-)|oz\&NIf-3vUwlLt4S,W'bBN_Y4Wljzj=_%]ߨM^-UV5o<}39zLh @ɶmۦnMr:::4尩ra*_/IY<6ulƗ.M1S{:cJ&兾]0 k,L͙H`cAL iTHCoL˥q (ij5rH;^cƍq5tp ު{Snݪ={v رtЈvPFHI(*_ƍgW͊}W0Ifr7U^a 7[0?Up(_3°En^ݹ+kDž;DsT͍$I†i*7l%ۖ=*o6$R= l>)FMvTWSs%Wz|(cH% P\Uk7%-L!+vx\׏la5fEDMJTz~Rowyo^:?'%ͼ?{nq6:?,_yMnv/HnmwbR]F&ޏ羡 3`eC̄q( C; Z%9+SsxZ`ǜ)ܺB|-I\S߾D-C*6jݭZ jҢnȑ٫ZQt衇id(=)۷Ogy.r]x:t3̖-[t-UT4mtM,%i3<[<$U*vuwj틿͛uV+.uwwa?6 6LIs;> .H7|& $ PřzgEYPi T]0NJn==*c[۷۷ѣG'(" inR=NJiŵZ- @MMY0뉄B>$;gZ\k+QwEv?QhnYZBq -3iQdA܋K澗,EYqj*Ʌ(vmZ. Z }1 1)$qjGc#x=04)P\b 4MdpLdAc7'[ a;ϑ߸1;iA ϽPzex"vA|GeCa,#H;ԏXG?^y䑺⋵`͘1cW ;D~i_|Qw,YիWRC9WgufuT>,%V_t`af3%^],L(qmqx[H0TqI";ß'P>ͳ0`CIQnfȱÃ9NaH܃kgo/(Rٴ0ۅBsc[PS\>卭7o- .:Θ훟7߶sP{ .;=}{`nBς^wDmn!1ū?Bj6R>"&^Ǽ`^3hf5:Q汁;|ۓ&7 (0|qQ/xL=^uKxp^x^?]LOxRz]s矯;OfWB~mݺU~=רQuI'[(~ܯ[ONe5Av`[Z U!"->i7ށKrc_Bˬ9fH5Wl|2]5 Cx?'sk{Z6ǼϹ, {㝕 ݻw^ӣ˗iǎjiiiyi޼y,袋 ,BwYdaq]X|q -Ug!3}C9ǷvUW}=bEQEQEQ^(((ʼ EQEQEQz  ((*@EQEQE5T(((kQEQEQP(((JDQEQEQ^C((( EQEQEQz  ((*@EQEQE5T(((kQEQEQP(((JDQEQEQ^C((( EQEQEQz  ((*@EQEQE5T(((kQEQEQP(((JDQEQEQ^C((( EQEQEQz  ((*@EQEQE5T(((kQEQEQP(((JDQEQEQ^C((( EQEQEQz  ((*@EQEQE5T(((kQEQEQP(((JDQEQEQ^C((( EQEQEQz  ((*@EQEQE5T(((kQEQEQP(((JDQEQEQ^C((( EQEQEQz  ((*@EQEQE5T(((kQEQEQP(((JDQEQEQ^C((( EQEQEQzدwOhjj((",k/C | .诽 EQEQ_?XEHDQ2|lyY 118'gCa=L^%^y7ف77oxZZr~I͜W^f/0f gB6:ZOlCqc8ذ C@1,V N!'8lP Nx,';><5;a)Ƒ1%`0"$/H_m >t3&nB?`ZP+(3EH="Ov:hmqPcEq8~"@@ p#qMvƩ52BU=y!2&((*@y }sk;T 8gz.Bal}I4-wp$B И ^ w'5k>$K=([|" Í7坍W Cw''$-N*M0׍1Ύkd2I6u^ X"A;m0,;/!Wa2fqzb7u\)qJ_xxD5JHSBȜ)/vRx֞y# œݜ[ǐ/3dekpZK̳Kz|yg?rUrE1iY޻{~ڟY' y!C.uf 8Ƹ#IqR[m_uP|9 7iÐ0(`C7h@$`ؓHE-H 0DR.\P+?#x]:*@/֖,HN{*~O\jE?Bم}i-@C* ÔŗÎ3Ni;s$=p5y"'yDMl <7kI4d9N,p>6aRKwvB'%By2"DjsG&n0DD ϐ!Ȉjĭ}sas`n>y=uL%NϘ:zA\wwԹXcۋN=6`kf+'H #BrB"8n(EDHGW$0p3P1F&%KhZEHH#FER-BWHOMo!c.`͗uI E:vȒ(L(L7^0ȹ\sӎc밖Nm*N*1;6`||>O*vp 좙ۧDj[!ySi$sܘ]D0UVC@;EhgZCj0+{Oqx +=zc>XIՄtAܷ?#&Ϧ#,ZL|bQG!R%Eý0=8~<.R.R7d+LC z\tc ~.{.R/CbZJ*7QݐCZڢʜ77݁Glj{rW2}xn <62X'YI7bbܟ7!T3кdq.OpBX*2N1Z1$I p('ɶ5bNg'$ x ҢW W;FpB@ pB@m:!82Nȝ-% Q~d =#(TsobGOi uVm?OēD 6Q Vc, [}M^&/<)iLu%Qak p廋x"PW?qB8!xqQ!='X<^(B@HsT(=  ui4p(7s#۟;~:&mL: ӭeYYH57K1au7frLzү~JgMHm:!Y5!ֱnAL`ΤikYPwϛ]Be膴Ng7~"M'J" CMXNk:OtN-NWT(~k֞#r,\Oͮ9.?L⭱cvsB2,ԓ,!]T(~aXlӛLJEc1DZcةgS?Ae࿟`g'w,+G'k̸QwtB(Bg!%"$ N@")DE@Eoqk?87OEH71|cDLt~&5D!t,t,ڄCs֡lw~p`)F[clBXΚ9Ŕ,8E@ pPzH6+1 pkZ[!'=l6K2&B"䧛@o1sW5PR2!EW%"7P**@AL4#֬1}3ٞ㻇qzS:0u8q/qXcjImB[{Spv;Z7{("mek-zTDҽ;ְҺ͒Խ˕}/9F1T*ԹrriWp/_< bq#"ȃ/&p}Z#xeIY8ol`ιc_BX> /g~!dMg+X}8%01L}=mNEܝNH.u&ߧoka)L')DŽ?W: W C|:1;6*@.!XjB|^$w=IxnoCkb^ϕ5oG\:Ì#qx 'qLǟOc?=?ƲvG3śւ{QomtuOx#Lw|dhijr\M ioswN!>bvbᗞ-ph2h0ro[\|*[^^-eM z(6c'OH腢"@ks?D QצWh!BRH]T(5'DEHT|Zx|rl}l|[[ #ك`fS!3sZU~D Ai.#B,ڋlwƑX韛@ gc m 7]u;}0}Xƫb]H9_/;|wgg*ΏԢ"SytZd= 0)'iLG'"|ٰCDc"Q:62D.DER9*@A EDjaz[8ol9qW0~ Y{wm}YG0m͝]oį7½^ugO` *9҉H^NHdDO;~,Fm Ӻ"47đ A`ȥ*Bc#CDT;G1DF@m:!"( m c1F|6OpWs&[^p ]y?.>t70U$n7~X|U ՄVht9! Tꄔ$Gtld6J-gVU'76OV[KALX}==RXF&;7{+{ ӡ:~cX󈵶Uyᾋ6` cա.$Z+t\ɈcE԰B!Ql)G!KUR#7ӢmwaK%c4Kc\ .Z7\~ng&zw>p,C$p;ooGm45xf|⼷6|xaRO<|o<E2p0mY2C&nb|ZLO d;|'+C!}ůI*zdvn$^vQs 9 q զ(B|.,[][&cȳ/3[2|z|ͦZ|a0/R_ ^?pZgͪ>|>lNG/Zq DJ5!%hr,l9N[K mN1:7xOB`1S5& OfVed-5!~82Kb1q;_~]go + Q$k%Ħx[ P %˗2@0yx LbSF^{el,9n.o\y6?&5_xw;w9Qw=Če;eb;ϹX\5$c;Du!gEĴ3SO"$.0<]W\aGd۫o<{=6$ ܯOc ",I,2u9ْz :>bLm:W ," {rnJ.zBVOlObLF=Dqڃ\%]6b(ߝ7.9CYkXo]Yq|6q|y6~k跠ᎋo6`s`T^_jZkBP>Ja54.qaH=!#=!"4*BhDtVDl1LlH{e|,t=Uφ|Z]p2&&+}*cXYz 8 f,F>{"+3!曕WK&J3ȝY+ZqNHi$D CrYt,3jX*BJ="uT(ՠD)"!RI- ~Vur(43i-x+x+1./x21kn6>Ye]?0ֻBuI5 qBl[.(zX`x2󉊳eDQR)s"D JUD- ӥjB[i 8iaz9c+w4߮R;/ip9e|?B{k=1@yVEU'DBD8!BPpN ℀2NH!*BJZ!JQ2 УD0]E#a<[?IbtXPfu]R|F|ƪޗ|?onm.!2*3cӯeG;2pℊ#bL]t9 â"SRNHYR)̹R (Q!-zKQȻfc{弞 -4Cʝ7ِ56\;%\2&|š\]I1^RXz2"$K!* 5!6tꄔ5"2"DDiTDIr(Ԅ7ݍe{#hspքtR N>Xk x-wseTf qaqÅkÙMVn(tZ+L(e0 Qݱ Z"ʠ"t!B&Q2% Q6{5=T_"yp,RV7w|;͟#.=d;a"HN'uBăB+T A 펥"$:57DHD)RݱrEL9 Ħ"?"$qY'1|3X|Kρ1>qu i$HՅHH$"9!}'j-z6E)CDK@m:!Z2OX0yAy="ʧc2iN|>^y.odp%wbu}GB5I'$:5!2NkB]y].Ygz'JNȉt +b:ka:9!*BJ":+DqG-Q!NH)*Vwz+9CSNHOY5!G,?.ϗ_1ڷ]٣ZtBZJ+e sJǒ(LuBʡ"D(%Kg&Q$J"DTؗW86ziMj@69G qV~LeKyvCY+C{TX HpB |dZBzTBEH9"$B@Eo  JY$B zݱ$6E'wEȋ˯6gNo&/*sB:<^p1lwAZ~h[ { sUK`wdW-K w8!&SB-z )!%Q[qT(D1Q! H<$6|lC=j|;?\x\ڰž2*aL9//]1Z_].ӱL;͚V*Bʡ"Q*=[yi(gdnXsv1".X, X X_~" .ģǝ6̚w\+?' `dn"\ -t]y1ny/mٟ FGN=incǜF>Sb#֜O{M 7KjÕũIB:!-n qcll 㹽(^0y&:"lh} %͏pf-nHŦ>Pg t~\;Jd3q _7ʼn"$|'È63 -f}:֍2}EbwJ̸ B^qzqsB Aw߸-0I?p}4/6};Oy&F6Nc>1̇K<7L֦&:!m=~̹Xކ!xgv{j_;cDGH]\D yE`6E4K@kމC<dQI<B^dAk>F_>[c6=XM{@ߤEh Vminqwrw @.0gaz\l~|啒qFt='_ ږdkB2 2e w7.j}P@<8bl1 tllc-fX)D,Ҵ6s;cwF!8o>Ϝo~j,,pLjW Ed;?@QiokuO* 9]:!ҨP2#&B\!^(/B3l?~4-o z#3S! RQ MO2 ` W3eY[|2z2aH:VD1@:< \nй"ח_!uBfeQ~ EEH)B$ұbӱᩣOgCH͜Mn:V916WgvݕǍcO'IL ӻ8mJ ]@EHo"4*B(DT#z"D0Laz!3.#mgӎ+6b*;Wi̴.[yןyߗh.8&[ݝc:ZZZg tB!QR!J'*@Զq=K-z 瑿\wdߛEӀP&Ŭ N+ruxb]ku{g "ADⴕPV b"$JBDEHi0]"*@90[$[J8!_/|<xnoR´ rBfXa'3FwK.2wqtH7QsB$" "0!8c$>zg`D+2QBTGJ<Rl'ݭvͷcKNcȇt{Sr##5!b];;*<˺bMHԄV( fZݻcA"(BrC 2?@CNȼ KآWaܡ'"KS#3nڪ FXyc}xS綾␃曹~oTPw9!ݱ9!Ȝ@E/-jQ@T7牴Vo  JD-K A Dv aӉF uBTsB:bx誫180YksBjtX-zUt'Z?!DD-D)IDv*Mo +l0~)>.;:R V EcceXHcI +M*'Z?!QQʢ"4!)K,GeF)+i;4=d:@=wnjaիfݳoo1+,GtXsV*Bʢ"LhrQzDS ?d㮬}yxֳLɍ԰BA% ӡX)aȖLsօ K 7P[BEHT 1D=J)LU"7/p _/"z =FḚBFDN>_}J--l~ {9^^a a ˠ" *BR =JEȵ͓iHjnr!t?r(Zm;(5ϔN_h!oL]tQ6=h9՗zSH\`}$T*BJ"DM*# $\WU8!}olxe7vƜ=rB}ع;UWgg@V(,gJnz528530mExo0m쨣X{ kNt+(L;pH^VX!ePR&en*M| |}sP*ƔximSWC<& jSGbCǟ.'̭A1mm}ϼD6[5Yk!_'Byb`Z B<(V6Vr}6/7A2wnclrܯx"AkKs TӝD{[+Fwg7 .HO a(! YYk.B/,C K)&)mr1Hj b&(D6R8ko⸱@BesQh lOf?r9t~Ǣ/pZ`dj@Gt<6L]=m--5J2sӽZKKL21 :mMDEƞA{!DȈkeDs~\Zq<) q$:XLKݚDZ+gZ;ymHG![0N5O,kr?=?x;;i}ֿ|u ` /f5'3oܯ #W៮UקjyH] 6\huxk"'bfTйZ(8:!X 0j !NHh9Nk A8٪ž?.%Og;z>_:u&V߀lÏǗݗ fsom;*x1'D| jH +{^ ADұ0fN蓩,M>+?/u&2#2~ $ =\_?|{YK P8k:ViU)Yh:ּ eɼ/'W(bNH&Q]ME+`戡lwq8@4 Eⴶ’DL#NHOQz GRI"XH:!"%>KҸ (ԥY}hy<b]=#YҧJ'_;>|ֿ*vsxFN7i8`K )EDR6QX<.rG"qj xX+ET\=ek';?<}>@sB_{=!@wt"V/K< Ӿs\QDH:S 2 +bRuBʢ"DDP^XA!/rǬU/!Xru|_>Fځ'*a[9vzЊ +6 `&_O)xNmEO7 +ҬݱJ")BĄ:!%Qz JH I"\>yrX x3Ģz xnP?Vh7㛯qtj ~X|! bfu\QDH}NHǰBVJ4eZ!׬12`T"D JUH t,7ԦDE Y0W/9i[OXsK~Ry?{Ǟv8 (dazꝐ}yx33yEOd2"H +lщ%t2qT( *@Io牉PwZ-LqB"%B5XZHU0O>X[^sKu~Ң7k*荹9!a<+؛~CV12{X{^VKDLc"DP2OF}7Xؠh r"|fdYzOl|z<ד$?fF!ZDt,:fVXuBzGE d""JC4ED9! &愼N4?ϿfԆ::!/0t df's=R'0chOEoB ):!%QD 2V B+RJ:!_fG123ѧA'ĥ;B8>lslqu!!L/(֖&DvꄔGQ yt,ߏca R*1zXsB AL1`eK#\} ϟkNH5X+ӢeXa'a<Ӈ OϞُ?T-z"AfycB RDL:!eQPPX6 #H!U"!B,EJ>^ⷵXx1'qVS&n{.zm!ɔh"q*vҚnQ'qT(Qm" )6rNH>2"y^@a>-X<! bﲒӬhx"I*-sVت K12"PR6yCoP "\Nfr@ c˜wPH DhHh68S ~hv;K.ۛlF\OSU2X<.R㼻'AVhoiqjki"S/+Ad))B{#]n=1"vkxΔ58[Y/Kbʯ1dBf&om(2,DZZ+rBAH!9Rzn0穃N;0g S(o6)}1pNq~"3S u T&#$J9NBD΢V"uPYV! çt e:Eț^@Bӷ@R"B"D 17lBs&nU>\os&Y|t>a:yyY'YbEMIҙ:D6)LWR!!JQ̅g {9:!̀0sB$yL rBZsn=xaW/)'ܻ,Av&WXmƝA-m)j"$NqB&I&GEH )G-%ڨQ%rX 7K#j"P"%WR,H?^o'o圐8"NH./LzL6BDM$IuNJjVX!y/zAEH)DmT(C:RNsB 9tHǒ![[tBdon+Fff8!F 8mH ፝gg/8'j"$JX $Z4 9!ڬEORhQV:UCDHұӴ5B. K8 wG`+/f7y=Q!TJ$+HH@5!AăR؈{,*@xƐqB )s뉞tB$vю?} L^]-6t/V$0>'EGcb?&y2&>09AHBH2vddcF纔%oZ:)˘ĵelִ1(c !' 'x R}=ơxH$0Ϫ#׏#o JD證 yVc>d[&넌& !V,샒9J{^Cڝ1-޸)BRr&{Χ~[ĶrsHWưB`ZSw~;t<sPH;VTb7:(5!6:!C~7bixw~EpDI޳=FZ@ꎕ +t<!_FĂdm֒! MBJAd9!aÐDerBJڢ3ރf΂tx>?[K-ABS W>6 Zw~b BN#aAR1;`jd!ddYb>,ltuBG qhNB* y`U NHrÝlshHYVXK:֋sg^7/^V#LI=CIJ V>R1v:!BȲbŐ}\RJ(r $!\HqB!BH'Gɓތ~M{wY!8.XtM]̬IʰX r  I,q(a,XŖ+LB q1ń!~Ui= |{m.;AN9r$_[%,;Ct[ti By'բ7 Nd!ddY# VR*¸I8#T.<䄄=i mp?C=~>? ݱXNes$L YsB]c {kc BieWOB^80BBPnntBHwɈT΄M@q6#'<'TwM?zmlAm,tP D' BaNg{hڰ¤A |mMȫd!dꌕ8'hZ(x7m\iL'$EpB" ˣ?irO|V>y9l,t0ŁW*;;މyOga^<8!IU"u2BFm;!XbXC&lP! )m!; 1 y#ɧ]GA6;c`c?8$TOg /$Ұ¤A륐m` +!aB4J,2@%F;k0M/ZCG!qxҍ,C}oe CX _?vT℟\;2ҕ+f[DX_r)Έ_J}<[yw~C U+;"vY^* !DLT*z* XfjL,q(a ePq(*K% ՝EQ[@%%%) cpzJjFיHH4PsV.z>!7HbgpM)IxnqF/nԵ4v R;(CA'DJ )XNoQtBh2zaŭ/) jBּcBR:(]8!?t7r{;:≮N<]e Qv8)94'̹oǤӱ:; ~&|ls?&ӱ8V¸цrFF\QUIb)L^l !V/WrV{X2؊AH@8uT IrB6-J_3;{mAiAɝ!_>nہq7lyN+#00ӱXR8iAR>B !X&N0VdYY, Ƀ5$ BgV0/QNc/6!O58!m %xPVLigF)bpݷUnH@ ?_, QdWOBeĪ. $"^% B!,% BNH5ހrmqa7{݈"2;!ad/rǙ] l9K.??D #a9!I84R! ]#6kY'Փ+>)(q愰sB!Rڧm+58> E8뫊c-Xi~)f>G3So;0{;p4q !#BȾ- RH3THsBJ 0ăELxߞّtg =sfc׾T9XL! ,cA? iMpMClcOokFvvB8Ѥ|%넌&BȾ+ 4' bMKgAHeR:-d9!X A :!&u[￴9!}SU%g*o-0dƽ892NAvCjћ4yiXa|`9!Q{,.5,웲K)L&; a(qbqBTa"HùV֢C߄^bLKI=A_!kԞ){_>p>NLYXcBDOpBVc!Y'dtYd BH3ƃCuBbAHjh=v!!VM B [vsB(H?jY hutl TCpB9Ll3^eȠ-tdAHeX$ʰBJa1(K !I ae!dߒ+@:hY"5 !ՃDn]II(]okSwݍǟ)NٙC_ IDAT +lqč .Gdžu8[#EObH(0nb̬ZGwwYE,a=z))L^lpXbStc(btB4g a)t)}qÚ3DϜ9 5:v%SrB1[ 0eNȋgnZ7*+ʱ$B ka-(Y]&dt *ѲbSB'0ŗA1D9!Ik 0!sbAȶR<fyW+Bٙ#krC -^3~3.[Zɤ14c4!:B[>lWOBƾ,Xt:MѲҩBI2A'd,CR7B6|O ?8X>(_u^8JQ!y48l;Hg.˗b޽:c%IR B a)YZB!$ !V,X!!3PV:-0=HS֔!qxXW $~KNȊO~0~vJB{=#Di݆>8E&HENڊ?3?^s@"P5 %̚t GMܸCNwjS)L/^6z쵴w QbQZEEkk!j/SVp]N yNCIΚ-Kig{æ4֞6tϝ_ BوPP(L7+'$h*F[O5Ӟx8f:!mm $~a1n넌ĵbՈr]!,1rqB6ƨB{n099)l7?+1;&ְ|35^y o* DzֆT%83bFd!8 MBƖ89 V{*mrx^ BHD17JL''!19qۛa!mM_*1_4He<#$ut*u<7wƩ8hHQCFRD5uԗU#:^XՂH+qEQ{5On1)E5tx$E(N/Rhހ8ޘ"!8>RHZ#zYhwhJȾ:u)CDeH{N838-QpjrJtKoMe UGƿ4]{ 3(CTKwÄ7@ҁT@о #7cߎ춬>r67bqa5tɊ-mBT?klB)!(bn:>9! U% H"H9qbFII{ T(JW#gDBcB8̕a2iW`ǗⰿX "44Pa@dAPsRXj)Q*RE, !VDYIB"pf, 9ŻtQeN1' 4x 1%]_>4={C2!;)q|Yp,pxב+Nz6RJT'$~w,bHq,. !B+ V5KnD' c 1PSHIb`w(s#'Dkx괷aJvHE?'B e飗@jS~cEO?-slhnĩ8!?QC[=Qe!dߖ$GrBX[fXV84#7R<^:s.Ai8|X@ Ln=g_r{|iqtBm'Pρl!8BF}W@A)!97F…J NTXN8!9 XX}E ?܊~'4.:ނC~4^8M*!Mo= k<E81:IQ'D)MmU $Q4( !U!B#>*D:q NT"pAR$z˜zbβ{!c͗4+N{;9G ҁJi1ߢJH?sh}qNōBќg儤ur09!,'Bȫ* !,rH'*^:M*FHJb9!T@ TĻpb-Dxv%:nK :!Yu;?g:C8?DdžbŢ9!$9!ŠFX.Aǜ5( !+iX>.x;F!$4".L󾱺E26,`g R߷xԷ~ l+^N'y|FTUb{xgs"θKD:!Z/FKG's+LNKc bU,X M)Y % B08!adh0ӐѤZHB*ƒ[WVsuYbAHEo Xs~O>C]5% !u=<'!6,CXũګ%De]\ab>% mȘ1B:4ōHQ)*#!)1B*= DoC󏷽'|i+_SjnŒ^y%VvDVbG 'FX" yTEAgQ#Ԫx [t>xr-4Z!%G\/l{MAum!ԯP} 8</nÔAa4^s|XUre @e+D8jL!A02PPqPnk)Gu{B`0?c_~'N:~|+j4f{Vz&x %26Wāvg6S2 вn-ƭ^իбit~|?چmboĶYsm\N*U98x!$q=_RiuǎĊu/#3a U{bBNY)"rD;^P\J0 Aύ)lbB*DZ# Lqg9!ۋZ 粫1M~VȺ 5FF6U{+pļ_ކ^LnB&K!}R~"O=Uk0:dWm@g vO3 ͜m>nĘ9/Bdb CI!rlxTv7sB2Bh,* !cW@v Q! JhcPCP(wB2)BT(XNHOE[vG-JQhiC{:VĶY@  ) yCi?ϼ ؀ۀLt,6!tf|'o蝳>k.͜ WՔ !Sw-% I/c[6ŊSqBJm-TBȨ26adJ)(3ہ+Y }V\x.lq*o(yL~f{{2-= 6K>z!8X{=@ 3UȆSf͜]cꆏA5x!RUK${ yT ̈́aZaz)镢k‚` ӫE c ӭF=$PR  B( NK'Ik2iZzr6Eiρ06j%+oPx,A׻܊%\ +l(L$P.vYa$<_W q |+P!wcO&dd)AgS4JQ D c( <ѕ9!6BE c!UmRsB!&QMC` ұlA 8o=߷iߏ 9 "aVQ: ]: y~o-pE2d!qu'מ7DX  !ǢNBoҹ:9!2@: Ay0 46109i!F}ePu?x֩oS{ʗO XsXй8Z{ O 4+?NB]c96 ;=R64٭"#>iKنFX6nl~~jj 4g8sœB]c$U]bm]ϣ2 tX1Є@&H# MKwI8`<%uPX<?.D#td%!=^u)Z(ОW"Bx`[Oa_t`ffcXo~N+d KGd_KƠlL7.{'r'Ld93VxM[bRJڄs/ !#(ƃCJM\U~Vp[\ݥ6-AiM9NsC.a낐/68KҺ^>L- ("Rbe)qJ{. B@ˈ$>6ls5Zx0)Bp^'˛fwBR,R aEH@GLDzRUEz%ed B Rrs69!Q)%JbԢEO"l; FJuX8R 57U!'D{.e虽Khzf 5lжg;#hҔ/9!ž^JcE< GB d`YtBRJ@ B]lEuB)̈́X^R(B_|0ЃvؑQRyg:!Q&P4[:=rB ,|NX T'OC!9!.TB dPY.HtBX)TL1@) %!ir P`0_(ćbGak!r\&19!ƫ2lo^rslڂ&4'EhD*L56<2>qL'!MbjU,p`9!:>aEqfVAh_ʄEFQ:(z뻾VD<U82ix,84a}qp짮DjK`60%#UMbJe29 REX;e /\XI[ֈF]kE l[~NGC6tVT < %H?1~^w/Ku%7O_U*=)@ce9!tTDP*RbBJ :$ U)YzejRqPR N!PQ!P~Q QN l2:6{UA, Cl\'@1tB_e:7Trͅsǃ߸ͫÑpx$#0yNrSJ+Le0a6zfοb7Րb;KsBis+J7$ׁ! \E )f:!-yuO)SbXINJ+q;wB_Ik lg,CNYBұxˆ$YdjXQ8ÁcK'CsT,k@m8 B'dCTүFy¶b)JI483"xb ئm[01ᾇpW>^RT!ɃlC>$rMrB!MZ:YJ,X +Br/\9!CLC4 9!ސhYv:Z8%,Qꂐ-_)܋CC(D8e}T4v!q]T 0cǸš˓mAYU,'!+p]7qx,J%AkZ: B =)ozFl^pduqv׷0T?+O>/=;ж! M͔YEoB$sF`!d!s IDATQE{'ڒJhqPpuBWZ' B"M|l; M ok1FNMkZBXa̾pemk!ݱ *PP[m!Z'BxyWb!Ċ) VUIgМDAq ‚B:KSr]p/ć9ViE9"8!RRf|'wy70q3eMcB[h]RQ$1$&$bUbm>NGa8'$$GZ9k'pxz eUO#Su˥f:m!"ulV},~[p݈3Z<eMI)xR -(Bsؒt,‚ !f6%몶JN$ BNAHQmJR0'duR,|HXorP zBX{qWĿ܏9љ !(BҜfM"j l's?IZ:ϛb_@j q=/qša oyiʭ^kN`)ubui B&?6zt 6ilnl"1~9Ĺꅐ.>/ Mt.~׽]ŃR7#hmQRoœވc1d!*,Xե$BH*hMmK 9! `;!nMN |^vr*qKL]>8toҶr!ДQ>sPx~u941T)<Öc~??zp^"ܣH+G_,j,֕vpHktK:l 1 !v( ! ~1tr5 P1XoR 8aeƏ+5Wc!$JM+3:A'.iFyXD‘ -H˘yܢrN{^^!w?vc'# n)@9Dž l#0M勑?jt4 e1qkT$!Nc[O{ 6_%| _Gj۴+䪋蒫q̧߮g?~ bbpq]wsjgn0(m_!D Jz(b!XF&AB\IVȦ`"u`EXARR =8'e?)0ξm V"%:/(ۃ#oko>Yx< a{@)ot 6-`6`ߗ bS?g76`EWaݼ@~)DBbH3 De+%F=’Y4YĹxu[ %!% aAH8*BHNHɏTR2XM/k}8쏿C.sJA2oEG>~j'dCG57f(K>h6?-mX1\|U݉B~Ks0JBK *Ƨ9!%́ 8!žnDZ !V:L !V{,"sB1~qZJɃ2JR(Hӱ=S~%>w`Œ}7|7,nuӪ4 P2]| [D9!B*JKU!2,'+FeHqOʂVso!joT9! EZS:u\a<"Q$A tuW=738c7.<ÿFZ)*.zy呜1q1#)yCNQ>>zxo;Lc>)L}|8үߎM^Ǯ'V7߂ [clj9Х^ހXP IbMHd!dlUE3xII㐤B[5 a(( 5-˕+0iDfMq-x>O㞋>㌳2E C֩Tj@ߔМr4mQ@`s3`!KV JAǸ64.ДVPu|VfL},6l1af4n{-!ʥ0(^ m~Q)ߗ(B!=AH\BXD:qE+&gA a)J"B!r(f}?<78-|('Dk@7$'$+(މK duޡU\hA9Ljr Aat虳2>hF/g^4 ,*YNm:%&bH=NWV@v&9$ai^&<01$)"% 01sF#vwBRPa'Dy3Pc%#J{6BN:ohiP:"BL}NȎysK0'?Mq` }8!!D0qD˸HsB J^Jaњ@"ңB^IYzLݴIao2# #q܏oC !9B.N*ѹlZxtͱ[)%(C@2m=b>~BL! S#Ry$fh,:!aq{YRHP %,XRb5x*JzFDa=2ev )7}t<鷣\FD8arBR|tT`QǎVw9{=.$a# - tBIJ:)dӢ#`=á 2.i?ޏ@>Ijt`#K+ZXz Fg,hnR=o38 M{1!&e| rB[[p_F4T$+,XU'\rTa:caDY@3ż6 eXw~0-EA:? gƲyon"M\Zg,E!PiqBB ޏ5_-=ӌi'Dұg \ST*vcsB~?xdB I,]bUX8'La )Ԛ3PJJtמעk>4QV "deFCQQH5?k``c v yN޽4273ahJ׹^|6Xkqcx"YytoRH9ECK3BZ%B La9!sA !{,XU/C*DBXN#1!~qZ 9d93|ŕ@>j s x]gcFqv"D'qkV!׵ ?qF`}3,vwI#8Ꝗ%- W\ݱʔ @0  CCK3-+9N֜AcB(a`!*,X&I&kfaD5K)Is6 "D֑!Y3ށ~ݠ2(RUf,A*^K(()cE<a )du )R akm(RT24BS9I}Ex8a6#&O r/nENh:kFUwJM(E\yIrSQACJBչ*6k>#N=pB@vBJ4iḫ # MqB4 ] !hnɄ+*!BBn0pEލ&ʲDQrR E($# %82'{E݀֔Ć<8cDZQ<˰c?):uXc;B7?]E uw?Eч HkdD jP ߻~k @ٕhnƎM<ߕA)c×aU_. Nk93'*6/ZSzz(l:ЄQd(E0 hD3WI $N[R h/J.Kc>,3R !@H% &MR\bS+5ב2KpF㯩ÔM',!>_`F[NW\>O1aͷ`݇Ɔ΄"n2vmہbDFU_ܯ2SO# W*䋄8kq)oƴYZvwغt`QGt{-!-G  >zz9ӭg^Ӧcʼn!Ra?ip8u3JIZ+VJ!%9,OET@-8IXJ~& iΆ2[.G]›[zxy*LK3]蛹?֟v P6")_Dʎe; A[6!62).i7Tr9@_.`d/?MtcѪ6Ą5!1!l4Z'L8B8)8;ՠ$)5b5,XQ!uQ;(Ō!ຜb<(JΚ˷vbc?+NadB`RS}qvL= &ğp!"@6}q:Z DpnA9BPbUf g18KkJCpAc BR$'DRbYgb oG=/~K~u' tLYm b,k6"}vU?i7idD'Dr>P϶u=zJfU%z䄀ꄰo2%\% CGStaHi,'#5&X b!z u#U3 `B .`~+V/8u ҕ9af}vi{QD)=k=. BNT(54^K5kX;89r!zuzV(Ɣs!!)y:!&3CyA< B4 aB9gBH"X'd,"B+EcMQM’CǢ}ČDu1ƠW`-/^# r8V,AIqKvUWw#cjKmNQ O= sW{_b֬6/oc\Z56yb:C6(hM퓄rPL'j=E9aX^=Hj L8\J82C^߼<1{?K`Wۏ?"7 Y\hY(vs4J3BHũ rED9TR"P Ҝ(NHs:@s{?ܳ{3+aBsB\N:VX CMJĽ[ɻƌ *X& BNk$ bBwe[ffgo*CBIh"EP( REEEQуA@0`Altz &gvf}.`HCfgrwKRdϲDSOW+1uO6یF߇?_}[*m{T#/e4;ue4HXkLE9bcOc;Zߏ:KJ Q$FˊxrI:1 PjQ Qzz$$͋$JS$DD0 e^F y#霹;\xIձF:u7)SvyGd8H%+q P  -RjXLs9=t4v})uP(!蔐\N\AYb(أj* IDAT!Z5 I02T)!~ P:k8#P7KT3wWy5 m̛om{0^#D/Հ+"!t_5#A%Dk3l7ul+z$ڨ(!Զ6T^*ߚÍ)8JH@2 Q@Q=$$dcGB@!kJ:HH ^hA@טr .^^勒ȅRhh`YZMD.߹04:%$ +rDWy}]Z@Gtu)΍Sq9:?~\9]U #sKWUB4O\k@$p lETyB3,i5m8?LV&RPd 7:yk}d,ˢ8wM,!!@.lƕ)!}%$0o\5O/uF򮍌M$S5՞>-mS$ tk-=% QNƒV斞"! Fź_ >ژ(ptsWB^uyye?biF)X{2h3cJz?)rM,1 q$!c77Ǿ#y/;~𣁛x5.qhh\zz$o~ Ѽ7T$$$S5VEB K68֑ZRB/2[c)*@r:8Xp8w|L+%b)I愿$rKo˕N>}A6.mRɞJž>MmB:"SXVz$+VI`Xn$D7W5KSfksFn^+\_+fE xMݽ DuR 3*ܦ-?GHgٗ]~hy܍ndM8+FEB\׭ `D%bMY ѯZ_~y"KHF 1:%D5Ҽϯ~Mȧ'$ #ɾ)UBT$D(!`&:%.eUSz/#VLʌk")Fc$7}AX )&v?Jl<(#{$? EiR+W9[yJ%Dɒ|:۫iX{)kS~&7Qu3XW3KTB)OTRo`붑'ۏR.οe8 *<3ikGHE | ͨݔh "ʈUc*=! $$$덄lʦ 3Wzı&T9:N)gr,lIЊe IHH*;M $8o`>" @֏جyxB37 _3gxi%d :A]O%됫%' ǖUL-a?{0|˸bK:4XOi8a@_O_釤q$D`4$$A*!X:BfŚM"!3uVl"}NVd*9T$g"sc ٌT*!]Ґ|3xn=EĤJ1]gYr X<1c}UҵJHUBlX\ T0f g0C?57I>VcZIPԵ\q%Iwh2G|s a&oՍPԍNLʝ]:Ӽ_bۧgَr WNrc4ǰ]Ʀg.DZ qt!6@Ʀy1y]#q~YOBꌟNc[u,c tZR&PXk-QIn0}FxQl%(J8 rF1~n*rGt\֙ +c&u۱h??=cM,@C: c QDyT+zJC͚T=)Iʍyג/0vr+~ W!IǩLL.Wuk-BAm|C7}Eb"A6$$fkbx*V\(5ə1p ^5KnoaE?ZlO{:38Uoyȇ$9(1+{4jQs\u̎u?~D4; ũcڲXFB.ږ6jzB@4B<$'fjǨ$}$$ t3&TJZצ"z%_Hg H[ê $Ϥ_穞x&q )QK k-u.dY /w P(!2%$jHk,m|Rϼ[nę`컖[bDƐHa(;t eY'RFKz#! †NBDs׫_kKQR,˽izJOvڙώ\Vbq荧=%-2KK}ǖB^324$|ӐZC6QV1oM8VK](T$$HǮ4u`EWuD ?`=ԞD]+[`aHkz͒ + Ov:+_\o<]CאL]ZeuaYKK :P̛tm/';5>5o##!u٬6JA #!a(!U$$ I0 De¦t8@c|WxPQɔe?J y/E1_f! y.ƥ7!Y:2jP3 d[K@Z+KK]ǐ5-LV:la=82> JTBM~R+$!:atfTHH,Ǫn*!*(^O:o`]3%[/YSFTy.f2VqD$R R"g랁䥳D( ijE y~w;m;/ Ж %{K*!--8* ˱t)f,E و@GBTP%t\{'Kʛ`T||Wf\<ᣘ}ݵWZyD`0Ɛͤ%I:k<=DX&CJ>IBmO>Hdz&5OvX/yza%)ȞH5T TMp|jlRZ+ϫ;SSjq <'>m5%CJz :%$/? *<07U+lv>[ZڐGqT >AwIHHZAB@J ё륐L2S*hP- =%:;y xOՍ7{i鰯QcKk舟rBWcbA"T b Ewqy~vS[nOOd:_CB"4]%NW ܌/5DBJHEBp:JZ"! Szm*!S]iP 5teqNz(%?5tcbI Tyh|/bdbHbՕazß;oyұ2J"(TBrMMr8IJ7"P ICH}ѩn-ebшZtJ=@0/I'@ßFǸm[kH>V.-rISN$$ZX[ RH^dS%<q~}')ʱJH*4XJ%DG}l{ t"0$"!/RB˜;+|1P-%R/-7p٧Z xИdn9De]qP5HЕba#&U5$,ۖ)SzJ3ZNgw3{G|]Oh5}*te(dYZ0P$BŲhs▮cyr.91G&+|N1l2V]6+.4&**j$y$s##!J* cBBL I* I$F" J(W9os/Ѩ`BfJ8+3*(d$5Ӫ̕-X|С;w'kijNJLfd:";]ǩA%DMBT>[ 6T$$$tJWlVS=DZ\$#r%doe>2 14[zDT\;#SBR)_n)qb}eJB -IFND o0Vulj>go.g}?OO&cBkҒ|TJ(FQ[k [ *CBB6L$$AН5PMF- Qᕾ{;/]ʖ$NeR:d&QI8TIs["S:T@>?}>{ 5&yү|o_`! 0OhM)&DyAgM(Ʌ͕{1]e9V  IPPadM*bD&PiJ5qd^3gKz2J6GK֔ͤe-(*r@ji:Q,#!]eE7kyr[{ٵ7Mo?*p5k §P8>wEA"JMSm2\I5[92Y2::"hҏt'Kx(Q5ic4U1(Zh6/qM|̸DQDo_{YXtv=Zg x"W W^3Rf]/ #~ӛpVXou|]N>蝫ŋf_dz:|+D ՑO]Ԑ[#0|gS*?tXe $sO].%Oq<[Ῐ@DI j#Ī=FU)Rb˴(1D8VSZ|~ѺQ.3'ͬ[n%. -5&](eB(GӞ+RW5'~VHaƸz;܇˯9oc]@.w7 yˬr78y7>@dO?e2SsSy7"e|wN08eޒ&@`Jh#׈Rc %P5_PAo0`XK;Әku]8SrBBC>uwϘNs&NA ix#G\EBKCNQoAGBHHHڻ*aEXA XP"T$ 'SBRX\I;JͼTnt穓a_PߴVaF B$4kmlh7`v]]>t>p׃ѷji77V//S+Yxgk ]RBbȔ AFBzzV[ٲw9[݅WC4Ԋ/J=8 %AƐ)F6feD&[;Iy;oǷyl2k:sє|~p? H۾?uBB@qAU#fXD@ #! AB@P***%DIBtMVJBy##!$!WR,jM91]%9?bjNHSCTnΨIH$xv*NmQZ%$z(ҋiwUJ9wXAPsɦ7싯L*V}\ Ȥ*F (}sE X.D I{1{E]Epi'0Gy92^DBiӪ_CtQi- Q5; I:"! & d,Ia-ĢոYXl2j4/0HB&q˲\/vcWz6b^es5^SScKM m,3* b+I *4K9(SG@7-5sڔ[.^&޷i! *!*tcU.e X82!BxO1#TqBBSb󌬋1 `KWNC9Nq~!Ne09 pʕ p~>5<0 W=pM̡׺z솣 FI֌,NoB0ƘIx[SгjU%~*-I֍XAZ']@8hC cl2cDuMgkA!ľkk{(Lc/(E)NאW5/ }7D筕]oMAB|Oͺnyj&$K KIU0~\|aDkbՔ Knj~cd}ŘVqIJU0uƈ*+8wQXKG'y;fCq_= v8w[bdVȡ4-=^5]6tV &z{q VqZ#!CJHŢʄ$X J,EQQAjĶ2a3st :@nǡ!?_$ xP!):_1z&w4uŲ:ulHd4u߄T'.}ULDhݪu <~WpMK{|M/i5 dg̔^AǗOwݑUNr__1ۚ{-؃7NܐoN[?vL3>P5g#.bJ@LoW@MU0 pj+|Z9VBB6 ַ&(y0"*"!|2>poT6E&zk񌠶=ؐ(krͩ IҔ$ K) I^WUI2~R꾃Q 1m7B WQnkV~~R؇=wY)z!uz;IÝ[C߂=Yzװ|5g H MMD̘q<Dzys~)!Z[&(WС"!QV ]",V!!!o~l)h`P4XVAT@gTW1VK5J@fOZ4,<0`á>(X+c! &cB˲^gE~>y$cƗ`{ _D' 8*q3©vь%"@{m'84ӳJ*Q11WJ-TU9kɩn`SB)I 6Ųs`|ӷ>cDKR3i]3^)^Sc6-1OuT\{;2Ҕl@Do7 8)lTilSYUeh<kꪁZ9Cxޤ͉lx-R U'-C!5&1cP9& x~:-(+L 5f[/ ڗ_?)ߣuJeblYXM8jnQhN,y^VRjt(QL>? XV_;LXp|4sdWW^GyXs);_Syt$VeyۣU'V`6Ȋ8(G3:"<_!& m0ER2uQ:R*$ 8Fs>b- XIQ>J~t20JM4T!B'\z Mf׿VuTs/"W5VSdiKITHH>_$'!LگǣP^yTn fR{?s |[PX7A9-oI);hB6)XA4$2 U?XGن&'8R纮lҖ1!+!@B@f0f09k6KW|;<;m k{etٖߵfo/4WJ fm>N;vsK[ ϼ ϼO-ǞZxC -(Zkq؝Lr SA|HN=+|G0sKab[)Ǫ1 tJ#˻ ȾUM@[Rʤ{\JXLJ;M痾Ɓ_ t#O1V'/ߗ~r9K>(=q•k`Ɔ2lC549PW@1_WT(+KJ_ )v\XQI+-JHH#iBO'4*&u?ўi{Q~ҸJ'FƓϲ;˩g~Sxxk4Ӭ,N]NJ͸"R,+_gϲ(@G> ;a:1O%ր+ty.uu$D Ƃ@X>փ'Na4w.fe5}mΓ 󮻞LWׄבh'?m*3iDӒ < |AG:o+ %D'!! @$$E2yܿWɇkMgyŧ4!7YCDqQmV^QBPk>)sz J}o.G,E@nƾh:hhHHiE (\ *?A,_Oڞxy_;XwqNx 9]02%O5$IU:"TBTHHH7 IAi;`Ud5<;Ms+YY K\bH3Gege1(SzČТj0;QlQ Ks24W)7UCtcx쐃Xuq=(tmh"xđ-8qgw~Zk9lXHH7 JtXhd'5n?r2kB@)]uVn5pc|'k+t mTx$$kIŌbK_)!پ] M*slXk N J IDATDѥT^>`{\} ;{` }37c:?>=$3{וW!A&CǎsyWwڙҿ,;3yqyy_:|hvůx丣G|]˯^-zxbՔqv4iCl lBSƋrq@C@@GBrh" !D5V`BB@0t213wk.#_睥bfm H%HIXz *!Փ0(zAS1&y#o*xЋ\|Tu'ͅ "WD-0M4@0JU!QV_ Ot VфRCKx+Kx+N0gbf,~n\u9еl@k+||~{uGP?s?̽Z>`m×e;:(L6saZ6O{A1\`WbX(P(!u ylIzkhzMx_IBjQ IT IH7JB(Iagp1dOK9z˚>֡8W}?HIs=Da+(/Ƥp{ ,T(F#& 1jN8"Zȭ`c$n.eR/q>;l:?W溫笳jk6uvRN^5fG>vQ:ͮ/Ě}wr#6ֺDN;zafqG)#/qo(AHO3E2K}61Py~  Q] Q Xq޽;m&_]֍+ &)LDFCE Q qLr!|׽-؛ֱ8/G2Wx֨y.z/eQN7yQ⟎ᤨ>܃yn\V8Ӈ||?W7./p̿44'o噧Ud;V>L晞1^Z6t.g4hP*%E˲kWԔKB"FB@6BDS$D0KѪIf>sq+8L&}煾DV0 Gb%h I!'k瞉EOO3u5HR>eMƪKyԋ]wlbX!?.~C̣LˋK䡇'8,26۟-l3vGkTo/^D~KВ)5 q=\cf>hV*%bmT͋l9P)PR4B,kyߧc9<~!c b; MYMsךjN8$ 4%%O9zv刏0v lGF7uIN3O?0l{;Rlinȶ-}p\ޗfd\WXK_$TJ:$d#G-)!dXx1z'\l%}jnk$'Tۋ X)1k_nX}y"ޘ5Xqħ;̍z{gFu Wp`c{3݀-@(9z 5 p 7c0Z?k{MZ/K<~lKgy9}tüvLXPCU@f,#$_dҍ M*)3E֥# 㥒&32b(JC|d3A~+ EY' #VT7IV~>ݦHt㌻^&(&pkeTv (=hyBφݍOJ 75=@k^z.3ݙ)_Ψ4'{HKgIFJ[)^F}Y tm!U% CH,Li!4Hɤ WJt9^ثT$!<?"V7VA@bt5UVB6xQB$|a%+ Y"ߗ!Q+NԒ }_|UjznSyms,7v[>[Ƣmewc'qqv1~g_J.d+b)2񦛉͝9 Ob-SxZlsƲx ~m/ΗwczY2b4[ȚlMޛ p? ~K3 KhVIR2P ҁP1F Rյ"~(~EAo$!˴q%&fM9ACs QN](%EB R7iHgbC]Z& $e^ք>:VzWl8fP?|u/u#F0w1|X6Kxiw_M{v<4::t%!Oy()2b%cCf| d](Ӻ֓M&˲a#ѾOC-KS8]tX[RZ,tzxSRJJ[I$Q.wH@h?NB{tNx^'|lEfȚ@-JH "ڍ#ҙtTd*Pu hu(~ZB$D)~g?-٤(]V̜_&7߀rW~s |viӼe` []r){?oE-̖۷/ʓ)+!80ǜ5+6P²,XN JB `7vH,DzDIdb)yUDFY#GBXҘ_Y xo9Dʇkܾ"RV4;"]V>Nع ~yFJoHBBeLVvbUƶstYZZjƬǂmg\f֭Gve2!0BI+ dIH'V O^p +ɡWMڪyN؏oLIrByޭLܒ?:UCϪIU( M D‰:;.t*!$7B"z/Dy5RK3_6z.p;s ?"V QVX%$H~2ﻭ\dL\#!R9V(X O;ĺ?N8or,v?xb_wQu3 'ȶ8< ]/̊UB$ARF]8d]|-uqeςml} O ;;v-#ȴY%|OHM ]'!J)"z'NA@l\iJwOBJc̋OőǓ)7圣C!-S&p= `E2~I Y 4Stϗm u/Fk87 jvb*[mLLP{Mſ%lGcbߟZ|й4@z+F 3K!jw,%<~*93(_-^ٗLbvhdSCe`۶E۵2{FW/R" ;Im[hR~ERD$Do!etlzhӗwn.Y/"! $ )J憗U4@Pzʅm[(ш 2,1 C2jV4 +wÊ31:xK2/V&ucFyg]:ɇz>Df6eC/Rl! X p l 2F_r+|bbF~>ɠ[ RD)E@ZgY6b1"FCS]5F J$lq&tp/wH@/[Uot>;x9K̓15)AU:btzH{fŽ#&9 \YaoIhfz8r#M{nGۅ2g]wbDֿ>oR"K!e$г!˶ Jnrsy%^qF+L5U,>l/>eQǒ.+DU,qKKŪ*R +rJ)BOVKJ&n[ҥHHӬht(ٝ7Sp}b?IB#fR(X1$L kDDA ǠrM|_XcY|xKWWD-eK/V<+b'64Ʋ-߲m+ego [oeycREI4mC*57*Jv2I?v` 1Ci4qϜ{Fc|/KK-X@ӠsUnƈ9OJV2:꤈gx~ &,MjG&UM_zW~{ ۤpVٙhrnyqp]_ QwA)P$BscR, qʉx^-C5 4HQض"E3Þ&$/+F2,a;obqnRޱR&D QN%ƭH$ĈNi@c#{\z)Ѯ<<[BX(BP4^Eze__<ډ|˛`-:K)ŽC"o9q78~_Ŋ 'ty|ոr}lyn6^|<c |=*ZR1RNP  5ZZ0N:ko䈋O+o=g'⭣N&+%!|X۶I{~Ytui BUH%(m .ImҮ+3" ²4P.|N"UnvPbĿ_ox馻{4ŝC, b9[gP0K+Y:[ Ie$v\@-(f7Q b/HM /\PuvnR\JUrQ-+gvl.B[@vJH1 u4B#V kŒCE,yAn(}?_|O||J2:ʊ A3wg.)ٛn̏|pf?aFh7 .gDdON3xYֿ~ #GGXXSL:"hFF7'/~YPVtXR(k!poIb~ji RE"VG#VR莈N?n'S=f}5-M%mdnxJ$ n ާlUԏOWr%L h9>!O'pqǤE3}+y+6wJݞ"kR]b LX'ZݟX)$Jvm O*bYiM_z1@ke+ IDAT^xVkJ(`PƐJ6bV,''`y?܁θ)7?y2OdJn˲-L:"m.8 iy2VcMѲ lcYxBAj2 2ERDAҼг'߿:ec_< {1,<" 11i^RxHX&Yn{g-0WqA:jv1FEa!N [oPGM.;#~w>gc'"ӻ,\+x(=9j(w9'>`ng{oO{H nޡ_8t۟uv[2*2wXXU0Jx?'qsu vpAt'DQb~B:k)ABɕR8tk x+Jo$/ J`مҠmA:z# ZŽQ$ EhR?H->mۥ<_t@4x"ZL z0+h+ҼmR]TͮO9{w),ǣ.S&Bo_q?4n! q#pu;|p,n.c%$2nvzLB-jSA*itJv߉NcWux1P1)Jq(|~Q޻2~s2Z&{3u$`nGnM s~Imr ^&]!jOn$0-2m2Um(Y8OP$"BBZmK cȤ"UB!.d+J!"Dл.CnHl{ $c7ev&],=H$ @oBθ|"jn +* Z|%,O5>Ͽ[гRkJ$F:qn9/fy4c}>>0X^ b9ÎQ+e()PEm!I] <& ^$fȑ +$H X'KgHըPr!+[3"VG <,9^G @Q$ڼձ#ב(+"Pe,{Ԛ Y5v|"!Jd o'AA"h-S%YW|nX"hO,ob?Ɇ<?O󶧅vfĘiA޽N(ݬwѺD2$[C]2zk3n]yITTKaӼDc:AnCiESv'H uBΗʭ~X0zQaϮV;A Hl9$eP8J9.e;AM2 ,BpIu|&$ FK٧mXK ZH fZ Q$ @haUɉKʓ#O)ŽLjHPOØ7YQZߊHagC#`젂=S+2;$7o&ۜu6Js-$wD #Oi,OfO؁}1 \C MCT0cT9w mu3 %V _qBG;POȆo.ΛGgc ͣѕ fJ'E\l_ FBZٿxެwKb=X+^NF8cnF3T'P*:@Xgϧh!!+vږzyR*u^JX)S"PхXG~tq Gα|rPybwZf| |۝r2MͻhQR{&a=8OWK,lvٞl0︣ۆ/g49fp bl[+V{@դ=o1{|_9S7oNNZCڕC!1S3E.ɕl4@6Dd*Y@ Z`tJTZaۖX;VF`vR [&ޏ")Iގz"S8T#{_D>: 'D !ޜ)qApVXM$*C(hE475_TT]ȍ#!Zit&E)+ٝ[ͮ-YnW7wKQq̍.)__q{V 1=Į^ά]⟗^2Ah"A%-><7|5m_yzX喬ٞndZT)K+['7oz 'q4#?}X!]O j7.}9Sηd%$ZO,I7v=_"qV-QR<(~EA@Rr*:)/HU}@gʼn7#L2}ŽdH#g;ndG:7~wƲ h94%篼%ӪdkC{"RbɾU$ҽNY H` #!I"ɜtwҍ&tM Q1|dŒP3fWWfH>pNdϗ2ys% ɞ%do=>}wىN;;?ul67v1 RX#c @[AZU!_n-RkK3g]°odG?BuPGj J mZE(,Hþ"쳗#!oHT$ 9Q'$#uN%ie|Wd+!W (~DtsðߩdmP͖=ݱ |ɉ'BZAۥ]gP:|ʁOfAIiEg17y«zO^_>Ï_0'3dv=6 9JSӚNR ycypύ힛["w|^}{ID.eԻ9+8b(>R][J1c]ova1ʀkwV>K<<'d@[@ QB ;.EBReQRV9 uņғi!!kD Khއ /9yl %vŤyihիJ1k]f eqk2_ < G7XPt"^9,x"(pl+V_j\;/乫obфJ I(b2?8|}db- T~=aLG{HR=~56fsJє<]ysAWO G`޽2oshs+( 5 ؚуJP@W7i;'Hɒ/O=wڝɷ_o=:?LxU2ڊec,-M IeQ:bB~Ko+[B$Q4yx0 vߍ/oϿ>9L,/t(]zc~sYi4>>hvNY>~gqb'z.;F%cPn-غx?W0pXt"iDvd*tIؐyb!R&\Crl"e}Db2)2%@Yu, ؖ]TBRmc[g8$ Uw Мm'/c8>ǯvi?B+ a6hҪ)0h.5kI)_؏)ˮ&UVY}s:;_'N܌/M?O:51ݯ1 -: Q=q'd0eٶ y 6v]2KGoƳx v%n(۪euӛܜ֔W' ǃb݇ǃ&]οg,Tk oqUB!RzG6}do5iGѤ=v|UW@ ;524'D"AD P+dM TZ,ˢ$VJ\O%\ )Gs}UDsmY8y7"o -|޲4(`,-<_CR^7:N/H9(_F~)ܱj:;,K^ òaJ~rsƾuܞ``݇k;Oya~2=[kls>v !b?L" YBIRK)#e2{(DA  %[ qҡ(X 2$A2dM~Elcl ݻ*"?ҹ]}gB.O]'1pi 9#EÖwwg瞏4)<45ZF>$V"wGg4)Сp]{?Hx57[xw.c\Muss+]Qei:7[ /BJB YTȜeV[ճQ;` ܾL Re0pH9c7%)],d?D+c2ߟDsY6OSR|Ar@V+ Rqo||v Õ/KȨsEh]'cg kDݠA{9Ӯˤk坓O[ s7)M)C]s6Y F?zM!5'"bᆛ[>ٹ0wՑIG 2ZW[NҗIYU8ksK[|8L'ZDmhzH@[L -̔h%KBFŜBUpy?$Nf Q_-GҤR;t#g")/!K䈃d+Vs{Ux.&nW0(&+ lBv1#37<*2ǻ_y5՞LGHHd 0gp{+[(+FNYGSh^h勑NxⲿQR}|Fِ,mٵ+ ^}vcw'惣Sϱea![~w exڛXfL|jj9bUzz/fLj{( ,ɾGMu {<,XU3cϗ);78weE ̓T[ߨgў'9Vj0VO l rt)VB 5b;kGeZ 5dSL%ѶZ2\%؊D^iV>Z U p$]+o#xW>ޘ)`-WUCUb1~j ƾzmV /]r>Huv׭Ϝ8ߢ|o+F.jH*㐓^/e36yAa~(Qҵ[XAzHU0횻X>r ]0WڄMCjMsߟ+u%!Zڦ2felS|[2$1$rɾP47w=;AH1Fl& HH(k Db8K14b2L2!b$DJB)-$RP? /%/w5wټVix& On'VO˸מ4< 9 e 2;=f&u%RWˁgLe/٧7JΉ@b+^.`N?)]?ڤ0?bJ IDAT&Bv6MGKxۘіwybUo͞j3}Du]C{K".𭐚!uȪb>BߗOX<',7PW׍P.=I!ȑ_Ф?7?_ n{Se֣vyǒT |A>(RJ.ND= ?H2H.0ƾ} axꆛH ײ|z^W A84wܙ|<dIirk/gͶfŲUF)Wq="$DZbeb T%e2S\ %0`LDCX%D}$!Z"52J|Q Վ4I7OO%s[ϷH2c*ʨۥ?,f#dMA-~tt#5Zx!uCfPo“ޅorqLxQrm](_ulkrɊPzȪ*l^>|>0v*6잜oiO1fel'wߥz'#\>@n'wߢyqtZL+K%wɔ0 Ao%!yI іEBz7X2iy-K X*  ׷|2R%4b+OxF=<}xN.; 'ټ+Ȟ8+[uj.;H$K=zs7ߚ)c>!uw*ܤ%NjNkޘ{=j*w3sc$$)nRp]5 nG;^?H( )cmc, Wp,KvHH(I|T۰Z,pc_ ?I;ΧT{w<3_xkԹQwޤr\>q>ߜ6T7ɑI+!(G'On7^RU;,i ۩'G=ZW+ (Z9 1Sd@aX2; &( Yy^șBtJZ"aBHYpt"DYܐu>HBVK EQ bu2E.a`!_ɷWs.yn ?5ūOn!nI,8tcv/_ LgU5 1֫yr.ab&=~.5NʗΤ<2BZ)l}=8%$A -*CaPJD*RZJE7!-4Rt~*Z)Z]EERPdM %C&|v|umʂ27Iw8{]HFJTMc8{w0޾|>98F~|JŜ|sA9Lb'+Â߮TzjW;Mfyb'p$rSpʸd+)ǝĀ3z._EHFgׄR@3C0x)Ҡd`˲p}ch2x+a ng2%h6bY2-AZk!9H4ܴLR KRXEH@oHgs3,єɿɒ'1k]z= v=s9ͭ24 ^Hi;:+^2O> ?q|sZTViK?^6ߞG.!O'XmdZO*m) &n–ݕg ת϶Epe<}y%1>~C'j0:B>/Z+uv%-1}'*$DұLFe++#WFM %Ԋhj $GhڞE @E/FQpHH<ӃRR̸\c.(7fia[cp;ьj)Z:_|S,W%:]VW4l8ԏX^Ï{Nb[fSϧqAyl4R-m-CBbV5j2w&MO>{;*E2VJdi9re?Kv]24dEcL$jqX{~d⬈;r& JP 'ϒM'uQ5v4K6s,lkSa3KFN OLZ(?ܖY3`f>/Q%ޔ`=}>m5Xl+U0:e@I}cp}dAt*E X8aT "1{o!~J#$9+-9'*Z)-z o"67ȴYZ #$ )Li1ϰhMy\[J0F"aԎT }WőƱ?.k4CmOWSfncN"#u#hpR -YĢ@|yiSl5i>aO❝kxi-`Ω,Zk'<_ŨU5JYUBn.2{!HBu=XhEL=sS#Q*MC2bD DPi-V)wH@h *Hk(SZ#3쑧ucw>j*;n(DSh-SHyX Md 7mwC-Zʗ/!R_Kt(LDYOsYJ ٜ d4: eia#h' iŲcDyC:NԪ#?WQ;ՔP|tuO60=0ΗB&4O:)J0d!Hi|vTm,?r"HV+/q[L)8!t`=\N҄B23UZ)!~Ǒ!!J)"(mS9xmj+8ydR)܏*?7$DZIn%1Y:ʗ,`쯈n')Ay.&x7[6GP(qբ!A@,'A?;L*[drRE1"bNk\W1]g^sΘ *kv]sU1 93 ;T Azu\|Ϸ>tݪtvg$ X/~\Y˙|iLy8?1-qt8_ RY&D}>#u}אbm0C,']Z~Rhq+e\ؠuׄvcZ:!BvJ u(Ο,% m7PPPd<{c% ELD|,+rL'$W1!!@J+\+x!Eq(Γ>b+nuUlEwcod3鴿d֥5kCi$I]%DD# Z`=,E> MfVUHlv gDCX_ w5tpNk䇴DJ؆NL: <-&>f<o;oI s^a( /*ncF/f : +,\0KRKJ(-5|e.P7qULu˄ڎ#vMvE]"V~* QyP[²N;mJKKkQZ]jѬJ@+dd/nÁ|x dr^y>?t'崿M=p-b $5R[={1,jÄ J ekcEU*5o.H +?w<2I~~g0:͞~ g-Zi'r\eet{Ou~9k?߼vֲBb m("Cѐ%z I[W۶2BbEEbN[ݰ!%PD )̟`(mC9H7R=mmg ;dz??{*Sƌ&Yf[}w}} Ie 3sgS퀤C2֏i)RJ@~՝E- Oz.]ys>mÑGd=cj {k( /"&#^zamr[NwB+8Sc:L@ MBALlB0D :q4?t ҝ$!4%ESl,DBSϱ'G˜lS(feǓLq6:=} C2Ř6Zd|l( ؑr%S$ -v#bgU/VSu睳/dǙ=tk.ό`&Xй Py~X͢g_RbFuO VE ˟j_-H EM` F󻔋fSbSN{o&%\2EWEL>lo%e{vE.^{:ucLNPS5Koſ-sdpC2~ "],[:*IH5WY~ڥ@vZ:p*1Vv0F )4@,-]JB)"e t"QJkuBbE2eSo3Kkڥ;Zrc@B~C]p&1 |9:` Gp tC+T=޺ }5:!p B)1K|^ZBT 4 ꄸR㳃\(.Vs}|պxxއۏovykPCZ6U0oybbߐ)B2!H)H0\*Eh\ץlMw\VTDQK T;D@@AK<=InO[X"v\J3HRbڮ{'npVX(X-$t?^k.6KnaA]PTj!_/_u#O5=9ģ(twiKT8ȤT>/1F"U&)^ANeYjyPaPJ 9UtXh'WW%JB ʭWG@@JBzw :~$?̛Ȼ_WP0$C' IGڍ.;{^r.E g|֔E bϟMCYgk6 2,%"'b81 *LTXmax[xjX;WǵWӮ7(j\)*Ջ=1k^+FB,= )}_H֚:!5QةpLfOkŤ]돋 ! g=6H<|n=s xzSLyDŽٓ);E=ʣ?xkË7]K8dl9a\Tk[lK=Gh,7Аe\YK Rb!J̓:o ^{q?2g2V@qُG 9U_F^$PĊW)W,H]H!r;NĈlIqi[ZI"$Ů%"pRm  wt@W,ge)\8ŐG'i}QS1I_f70W;>#cpȨ7>k 呄 ɶ (7kVk)e X~oMbn|C enJaAf ,k&. xfR(_5κ^}k *sgX2r ˇ҅CB6X>1d"B 1%"-U9oY"c4z5X+.JB@@@I"(ŪN ?X_}&K'%2-p2(Zq':yuY]=GЕyu(ݘ/3a2b)ɨHå_O걋 IDAT[[R>~á0omx{xs]=.}Ϲ_|o>+|Ě^"˄VR[n(ue6*#! +; C龐V)y#!z)o2D}ܬqP*c|CX`˭yݦFv} ^}>sm<⍇kI&?ogbA.&,{X8ھfUdU6|y:CYyRh>C_~͞AOw}e{iHQu cU#ЬMJjL=mtGJ9p=&]?|.n[#cֆYy% a-|~R|9I\Z&<߀@~ rq! /3-ZqlRY(n4׊\P"eM:h$:Z_EM%tXvl>~U{$ާnZ{+$jќ:H C.Ͼ߯?u %4r_·jlFz~ؖEɞkYvU%w*XOoir9u y.lG{mvw*l0=6Yi+*#%>mSN5S7McqiL%otJL@ ɋl Oʝir=lڭV 09$2_vl<ΤRG$ hl5 w/+68v"@dCW)Jl1~=0^>~4P< UKхn\JxI[q61ċn'+1rIÓ[ZuTR95Q [X*תR|n=N${цQƗ]’;G)"c `TgFkM"^Ґሄ~R,hLCʬ!!4#dămo#p눮En>Ƕ7y1,| =X[KT;=U7?)>;=Pf nYdp 6y)~|,jf; /ϣ/ЖՕiʽ}T$m SEB>_b,i[nǴ-bt~qCxA}Dh-DvqM X2-,)h_aV):e v}z<1CI$e9*Kaa34}KԤ@Fm DW(,Ok%6쫐\d5!p\WwBYZ1|BBdS YQ1_Re$XACdYRt|u1T\q6x9fo=ϻ/,S.Fa 荵VX#! ϩeB.>{;ns03^^B|,~v[$/~t,K~|דXܩ EIFL>tGQ?x%I9[^^:*ôZ٧?/|1oq*[,[37ڜ9i)0/2EdR`,ΊeYbnC1Xl n#}}˼u}1IV?"eg@Zj>35J($nZk_>-4"m B2D9\|j}7w1bu@~mKLf8H@zD$ f/{1wz+(\?ݯջ蜆"c yCc<6xkg;`w6i߉|~|v(9VML;x|jzRl ^,#oȗ/W$׻4s ) nT/N[]sQ r |(p]{ɟF.&+ɃIa]̐;ƲYe<8Ֆ-6" =ۑ" xP8,bU>?P'[/Rۯ_kyڢs3Z:!RˆKCT<>8'ǝ{&˲IQ,Қ?2}([0G3WKU;-t,n2(qd{ƙ,`#hc_SٕJKĻr}xCLvj ( Er KegٷR8y":,ml2 V@ؖBHQ(9i`W Ky[ Hh&U<_c _C@@Jk[ Hu5#F_KO>⻑NRӼ)FEPRt/:8,9O,}xo ^~ɧAYHc~y3G6|gt 7?ɸ8;w=#Cba~Yվ=tcTu lȿθ׏<=͖=ðWͷ}e&[,;+/tnԾPFof;hVaGv4 /,<>wμsI :[G]uKzD*{q5RJW%܍Nk*^-`0sFk`: Az}KL n`YJ1rظ%̿#.vj¼R[BhZR텤 1oNXRipi'b1l:af?;.وUj ,v,MϢZބgˤdIqȱGsϢaY߽('_{ȟnʛ_JVEȴfvx0_/Oz,K{ncG2=t T._NFh~,m( 4rGKZK%B&L0d q]BBdv+6E2a'W_ mH5`L"!6u.嫣;%;/|':}]k.I +mcj0e]zgpx帳:{:]r'?M v{QBit#X@Ix2E -,-QC $Mls=HYd%\ȘDb;O #̍KT *d<[]A@&/- x[|<]kϨ/&ᷯ :jyw %U :r,!gˆ#ҳ`=|:~EA)%=0 !ۉMz-ZqY^]a!T$*dO<<#JSQ y=߾\N ,[0}ZxU ,\JdVKuhBfi}rD Hc%V ~C:P UE1I H"rY;-$;,h\9H=wG^t>tNSvD@EoǮ֬wm̘1҉(9 N9jܚW _Z[?O<4iΰqqIcmcQpn/6e tZ;76~zm©DuÜ+LfeÙx91>PKbmfe1dIc՛ڗe! /%'JJx } qTXQ1%d!BׄlQ %gmBk#,jͺEZ%DEb//70Y7c۬_ei<xIsh4`ſ7ny%FMBBun5ob&v&}?B9lvJbKڞ.ȰLyچ>emH&Z!S1ְ]ګ{?o>rR?PcpjA:4Crcȕ%Q8|k,^x̽5=*T V-CXъ3(4\{?=0xI){v2CƏJZTUU3qf~4U;oC6d(k;Fh]][D}}aS׊¼cGaQ' 6 bt/kE<#|~ }h<0^~1ULH2VSQ_ޕmκؼ5}̟Z%X"5ouּ2tyjѾ`'D#mFkN]Ƙt,!! eYT-eTiqB) 5~]Nt~GwM)2WGKwߏ>IŢ5 Mxu  N[N[ӵX{D>8)b+CߩX!t ?Ɗ |vb9;ťHZ%IBd 6yP8B("U&%$SIAӃ h:5/Lślo|أw23JhV~4ƭξ^nLdz<g'.17*Ōw替ĐG'2 ! մ!e),zmvdul1e#wbR,c)JetAə0ȒQ2+eXrc4"wo|E b=z-,Z/hNS_/)q]2!m5fv2;vrw,9;_~ #!qxb0,8Ϭ{}TNn9B-[ז5oPێ塇3OrqG1WqLiN-x)a߂}ݰ ;z VEB C2sCSAV% + P rvre۶،V4VHyn"k#(y2`>H H Y/i^G"}uKJ?)G?.]cs(1c`nky%|3:7Fw9_}7RgϢ{;{" uتߥQt@v >8Nfߚn:f1۱@:5Sd>W V BVОWG|ɡt̕ b*\16P~(] rhH`>H$,f| 5 |_H4\+so GLJ v? C|C$TcVtɛ]^Ay|S ?":30O?o:,iY) VqrB|tl|-lp|WCئs&[4p-5;n9*;=8(=99mmNze^?P>? ,eR_ӅW٥ޕbrt) SN!j=%l`Aec'> ,7A-I>  RVKk#7X3c҃!W`@k_J\&yBUge(!SYk$;w+;bwɼv4t 4WsTyU /ʐ[!1;9+5~ }-s#ˆ$mH?@*EC"2lclKz|>ye؝ xK19q7w\5)Vלg%X2lc4F|7H uBĈQ-3ǡ%h*7Hv&% %AAAd:+RRkBٲ,B9vӏEfY7` |hZLQy~h#:8 IDATg׀}W\[D.\رcbσ)*"-Vs/s8rEw YE6d<>03ږg_8Hc%/P_ѕu¶~qsUy[ #Qc؄-^abזJ'RsF%Rq2옼mn4wڞv|c! esZ3.=Sկ/=> 6lv?6>92),RuYJ)ldRQRFc #cX˖18 i8k)%B)wHSR:%}C* nCX[wĉ'Hr̀e.%2D 7K):"jza߫#\W J]x'|)$#Q K׵ڙx+Ye4ڔ~P9g8hUt/4Tt?CWS9]*c0lg^<uvvUőZ8wًet aRH)Jb~VN_ V ZJC̙ $ I mZI$IeXl6IxҊDʮ hoSesAU!w^^E"xٍKP-0z |vu8pz~i$d.{ҵ/SԮ=Sチu2)[+<-SN brEJ杹gxgGr^+e|.r yyv~#{  "%hBL0\D6-:6[/XH:vI0DDG%!$&ܐ+v] ZJ-%UC<%w;R(3vB勮Of½ԩ3oRs7ڔK8Sqm؉̩sCp.n|NES8wݲ "th 9/I52y. ൜K.]bsO2w3fWgaTVt-%9$T)eegX;B"LٔtT 6r3Z19?4a$mRf( rG.FN6/mQb0@“+xBM\;O>zᄆKS奋kwq:X:O1z7_cby7:͘qTiJx,j LKa-,}ngD3s^KŔcOf'f'nNu|_V{)b5(\/c@ 9ln8*ZTxUJ:4d OșI "e%+ )Sd-&!RK:@( /sḿh_x8?;r53ncL>$,ӎccgٛKSY9>dz|E6"թoqm6u:nvԩo.%pz~ O8DZsOf|ޢԯy܉V\Ne4b #{r#'I1*CJhdEI 9k-JA '^mp4!X^2Nse~_Hq$<[Hkɴ+ou zf >=|xi~iV:!-dsۭWuS]+fXwnuMѲ,Bv]&}J2E,䇭vdeX-HG.bW_&ˏ[`֐֭#VSbV`YrL#t@ ;Kj^k-:"YB%qA$ѨtSm7X[%ZU (؂NAQE"pWJτN~Tܠb1^Vfn={\}1=LnM҇D|j|usPt#ZLmvit|ʄH0(ŻGgF$7ßH;͵,*)J#bsREHlWtСt1W,:@5PFkCJ(dX`6KG%!R eӭﺸaY4iNG@@*E=XZs봩kd)#3hu]J}k]n{HBqU|}pM 06CG2V:}f/d`5>+oߴ]-{-jA\/([ǟ׻^cFw(]0~Or8uYH \Kn#!ik^\eY(4Zv̢0"IfA@v(ݲ-Qg(RJcXl-ych\V)V ۯ|!]^zŜ~F=w4T>{͵e`r3bg0tp ofi|;6 `SNJoq+(b[ a4,^;3r\)e|tY0z,%ԽH+B-ىbR,ch.{QAbnb!r@ ͼRXZ&uB14$ A5f/=HIuW,/+?;|fֵZY J1УxKyŅ|Z4$5l<cY+j#bW#fo7ns~bn~2,84iacۼtEնt5wF^= x|egP$&V<`Kj1!Z Y$R(JB )7+.La ^оlՑMHCսm}C V$⍳.fY^{yֺVA?7/_}|~睞qཪiCn͘zhJ?ϿڹSY^[>Ka $Ѽ2AVE:>5\mvhZaYxDGJR'g[}_t&DZR)΃HKJC :!ŝd:鐖bIeS] FH_0BX%hkZw"Q^& uKJ,X1g6d%P$iͫ,*xl7$JBDAsyt)ryhHĂR kuPBPz- _E@@Wo#Z/,j-))@}*o2[]rciגAyvXfr(z8_cR\6y?./Fknm*- m Q1ĺ ,敹f%y%A,KNer,!` Z #f]eXsm{$!)" khM"t^g GmM'9[ cc'&0ֺ^{nz!ZSgHrjTiX]nL|z<,rwHHz ]hER"ǥI]}K ºAWha} ׾\>1!1IS`(A5ӓ,ᰘ5An&O%iZ- O[g8@z^K4痟#x`tݪ=KV}};~AsNyf^o bKs/[dX&}ȧ΢Z%iPL(![f8R> ({L p@#Bh!wqR2k)%W?$-B}ˑ)b|8]c h9LjYikT;=ZmRr ce[b=zt.iW-"VYTZE@@W[h± 'XC*JI(7qG `2SN9Xo e&*ȜȞ k-t|zQ}='>5]lq4q/bMHD0Cjm#M_B,")A@t,eо̬J(R@QdW .„1*v$wo`c TkT"" Tw.eh-r&HB #VteYeY3-t\Uw&V_ _Gҷq8VpcT[r m E,ޓ/?_r&[?29;w_{gSLKkj`ސ|vql K&d/$:}eVXl즬ca]n~(ĬDT=0(H .d|&: ei|#^ 4%z&ztn'(*j>m(+ijd*2OZ23H"LAiB6+Q#f,,1\191Aa )ñm.ɱlKc@x(]Jrֹg*Y_8xca_ n(ÖEnR{9<mL,]w6㠓0H?WV;y&?lZG,VFrծa[2`G+-j )GʄkvK"kC e`Y~ XQ`cDAtJIhnN#K"Ywx˒qC!z^DA `S_ Bk LaG'KY OIkWlk 0FiNREG.ӷNyϙ:YĎ+eSRҽK@)1, 1R;/ɖZ4X0BF8|h!@H}uH0yC#8Ji+R(PA|YMYv8KwܖίŌa5X'*>.Hu1k"VJ.V$ 73ފc-CRV#,Wg:LRL;7BNc7 hOyA%$s 8=))ؖolڤ3BlϿs$٥smG %QU\ޙT"A2ӊ1L\  ~4^BH&rY2ב(n@Jx[ҁUɱ|-cH$qK(e٢9CB4Ute%B$D{%r$Xrp\R[&䊰Dҭ*I9q:.T̛EŜB|nւE9 I4JhJt&]˭y&=-F-+*wP %d 9ODK;QW#Mi"@Rb*BJ+C2":& ovB,A"9ҖPDqa#(=["F11YwCivkx ^N8d~$z? 2|-ђ8HI@.nVЦE( -{덫:8}3\4B TM =R%ZQ@1iq؎gfā~LKZڙ=}e|0@'١qf5Z]=yP5umteX[FG[ܩ,beXTM *p\FtN2޸VU_z WOwB\!Զg3Sq]yWg} GƉiuINeXczG ,).6/ Hc)x-Ky'Ĺ,ͳb?HejZ8CHG: >t>q2gwMզRjTW[j*REQZ]_geX/1D5oZTo|Bϒ“|P3NqT9wA~4u~*Œ]_ɌY RZEaQB HRu23F JצtIZguǴpG^kbbZe ,nkg./jۖaIR6KJk?HhNw6Եw9+~o)LlI4= wB\-Ų^Wf[ornvHa e"NV8umV}yϛEKVPP);7IΌma=Z++3{9,-h^yo<8z Jg[U[OHd׷2<Z=+ YӔKA:#]长ߎƯb'#- W%aSsxEa֖a)ĺ b:,=euѼNJ$20fΩXYSBmJ9w޶Vf<'8CH~KW.>$}f2ʰjC !! XZ1 U!$R,?kV |y%o)2_lsʋBs0<$_("ճAjd,V ˱NQW5Įɉ:4W~CHXn!XAR,rM4wIRЬQ]e8  Or8#^:?4=Y1b+ŒTˋuS_2U kb(4ftZu{$yHݾIx'd†, a?;!w*tdzhʰ.\;3,˿ʰvںb=%=tSh4Mޛ [~>s'5WJ)sh<(`mJoMvMJi-T,h ˯M6g)ָR>iIDATͥAa1 kK#l;BBqѼЯ|%7%j)VͣyMhX`>Ф4'hk̲Vr9 8}Nƈ#޹xISӺpM~efcĶTL_]ٻ kKXK2bo(Ñeq4;OIg4Y|e]QJy4o2Q+O Ŏ ސZV!dP^;ԐGeX#յu(JàF{~oj> kK6K:Ѽ Ѽu]vv byOJwqPV7ڮ;F9C {X!_?K)Ѽ3%*NS;!)WpiMEYvNfS3 %IYwǏhbU~V/^ԌzuՙGA#_fWn{\7Ѽ?!J$wIԶ?B=ZadGZ3_@^)[ѼQybH~ks}.wUzx=_ugUnPZq5M4_~/?63A)h` y'$R,o{m[{G&Rh^)YؖFJY_)SSLsr oƾk_nλ.K##-2l*_r3(K}+zM)Өbk,r6OY)d4yNIl)Si敤f[8{IZyONw'ĹVXw{kmfVO]{ת:M*˦&&-k塯?5ρʰXs 2@8AbUh^w>Hа)%~-Y#Ap<|\85:7NZr!>ܟrivf߾xI Wo%Zfw,%պw*rZ~ Zkףg7^Y|DY۽qlm]mSzށvvT;"p>4lftBH<(3^Vkm)y/ `]kw 6 NN'n>F M! h ! h ! h ! h ! h ! h ! h ! h ! h ! h ! h ! h ! h ! h K ~PPIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_features/natural_earth.png0000644001374000021030000022454112520135744031256 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxuxTĕ8 `]Kb oiq)E+E[p !|Ţ3 Yf9{FΚ-Kj!B!(B!"D!B3!B!tF!B!H"B!I@B!:# B!Bg$B!B$ B!BD!B3!B!tF!B!H"B!I@B!:# B!Bg$B!B$ B!BD!B3!B!tF!B!H"B!I@B!:# B!Bg$B!B$ B!BD!B3!B!tF!B!H"B!I@B!:# B!Bg$B!B$ B!BD!B3!B!tF!B!H"B!I@B!:# B!Bg$B!B$ B!BD!B3!B!tF!B!H"B!I@B!:# B!Bg$B!B$ B!BD!B3!B!tF!B!H"B!I@B!:# B!Bg$B!B$ B!BD!B3@x!C!V,--qssw # >|H…B-=x@$޿3]&g>W=G7f7|ubddH6t]]ҴJxw8i-Œ (w;Ǭi4efVz>Ɇy?ѳ@ڷ臨{Tk\?"-7/Lկ)Tc- 3sSƎ[)mcәFPz˖hL+ O"DEEcff @Q2?all.6'nײG7,9YG5LV t' 2rsCaV%0F-1i\_ TcllDR%teꍞ\.|ժ*UuQLRE{}Ao (R zN%gW<φз=yspXet *oM$}(Y3Yc;usGj>/U#cF ́3?%cl۲T$FBmÐ!cyVV̛7Zbnnx͂+ӧ31xxd֬ 4o}}oik>_Rߟ}cdlʨa]a} &t!2[cT~963f(#GAtisg~Y>042 ::6M?ZKr9=Wj=`Bb1uƵ#:'vu4Q.UjMKF=1v4NQ'ħ)Nrɗ>M} ݨ\2w+7$v2hZ Kٲ%k1?oZcL#&&w= @bK)VC[T$"[DL[XZ1g@^#ji~, s4lșӃ%3 be@>9sċek%}Ҕq``hSBiBЪ`bcS>-5fZC!22ysZ3*kvmJGǤ3aoކӱ=Q㗟]I+aqYt[ǔR bes~|KRI@Ī7y?EiPAᤫа(:SNҍS>},glLŚڄW!L4Юߤ ne*Ԙkc,9OnӮߤ4}o^HЫ_JdVڵ6YzRdUXYYĩi OTR> @' %w>)o\!2 Rx9DΣ}F|}hwC݇/V5g눹|g*C}msҮ}K~98Z5CV(="Яg?nMJhr}1W]vE\Lt|}^+-־FFF8;&'x7ҦM$׽}BTD%$ "{!21RIsٷi>wn^m:u[|FC6=(ᅬa7v|C9{]}rpM k[,l01DPKhKHțڟ7',59bfaMVuw wnmIX:eR^E˷pְ]|Ug?c&-eE޿FkR3Q( }_>6uB<\ƵDߐ }OΩ#**}иqN"DL1 ƅO^T*C#LLSwژC.Ζ2f4.]e)d2KsHO}7g39k-S/B܅T,=I+W |ﵝ: F՛)⚤$ЅBw?_:LeXo7Ҩ@oZrU),!.XnXE]Y|aQ)cޒmDGSE7LLRXo[^`1֯ۚ'k[Gr91cu[IRVȄ'qtʒ{Sݗ8L>lrXдU;o[veX0 ^DGx9Wȝ'_H~#L E_BBbʔI |!3 Bd!bxŸʕaYO6zvn+]EJg4j5o턽}ENg7r&w"_cw#S&:i//Ç2W3?, l`7Zײ'gKRób_ùsy OAQ.~𞔪Un]:ʴSi۲692w N$Y@v;w K'?{GNI#u8o֩ą 7ʑˈCP$Wmf~q-]G[mCCùr:~~.\(Fe.O_tMdo mf>SOOO~gW}WOTH gOlaQtbE/ޖZu^be%ԊDhj5h4Z-Z.?\<7[yW>hZr0a{"B&}xGwp^?% 4ezT._ K ٵu︕VxtG4_Rg&rv#R+k+?C:dΈt?jܺuelVѣ 2cBx.@^Èf͚:uM;rOQVk~)gYZu F[`l?LZY_RDĶoSVs\Bٲe3t| YǷ(Z+{ȟ *SPn:ͨgJ+(Rؕn?4!wNόvr.W>ܳswlLRV30 !aoy+?.0N&бuJL#b8|G[vmY0sɚ!Lhn >qv¦?T\(jfďJ(U{^_4SR۞l^2SMZb֍4<"EF)e똇gR6֗fC;v3%QFS-N۶K*&& sd֬ ۹s[?P c X̪TJʖ,Dْhռ6e64j7mR*<4\<CcS&M|Xfc㽙T Dr dX5/XƁ7hZʏ"Mǡ/?x8:Bv&Sq /.&] !&:(b#"&:⟶)^6}9O\9 MZo6υRDTP(P*'dsg$,{ToMۖ17CRρڹ¥sV6:.gn`1T}- ui/J%߶O:zL”?GrD3s܊{tD\ JG~TXv}'QQ>_3w^\7?z}gQe< }6(,XA۶-4\z/_u\{UWp||<(o7{dժתj^I…)jy-v#ibV-\89)ﻏ`dbJdx(~G> <4xw7_oSFSeD;I@D' pt;&f/\ k[G"C,o];n{Y6/wl~2GL7_c`` 0PjP5h4j4j5jZMll,w_䛎Cin`| q<}~OyHۗ$g* 11 S3sL137333-,055ܸr8 -;еCC,_u),ɕ'9y$˖}'(AP*92UeĜTC8cwF`lbGEz(]OOWcüeN{ @y_ ] Y6Fƨ $$ģV153c@|Ӡ'OPӹxbld1Fkk~lI8t*ݻMLmrQr5խN2Exȣx9 TYJӯH,Y`Zb_C՛==m׮t4k׎&9]髯ZSӦp٦-{ xOpP T독ۘ0ze5BVCBbOn̛5*HQ| WfOp)\.fwOr$wQ0vd'#HHHH&,,ss$3ZwRx҂{œ5$+(:u@ni0}y{ ::U+K-66'^?O} |snJQ fYREI>.͊i>w.;_p>iZ-4j7ZM;ch?.Ծ>I|\, nE=*z)OY͛)\r5Ӑ(u|hfM 8g- qI^kn th4\9]W|ݼ S%ng4o7Jt9<|5 >aޟ}0U5 ikͧRV0彟7>s8g m;daz]N6p4oސ:uΞ0! 8LOQY9}ާ &31cx*kEn?ciuoٴx,OPR4lܐ6-Q )= | 5N^TR20)o %JXNY_sQ'Sjm^< ߇`bjӚؿy!6#wt}Bpp!!Bxh0a!4_"={y&m;u,Zك释\c:5v3 IDATXn {Ͳǿ._>С}Rt%{`hbxA}yƴ9}n E/X8+3">>xx4]bM7oߑ ܌Sv;Kr2"D6 s\kMVE68i]AHBHv!7αu?Cͯ6M)^…|qLLRa\i7.& JȾ<=f?Fbo.DGnF+{ >rfhP(If%_p>N[OPvjl\4. ]!dР:A#PT:O' ș dm>ul=?_ªE>텅-:!BA./\Eʐp)r/dS_̵p-^:ٵG{|p[Pϑd 7.& &MIDDfʉh4cfacn:MTdљvXkV>&u20$6:2uzJf]Q*? ߾eK3U}s/w5w8BDl".&SA3ʖ|]v#CfLGc Q.x_9x#cSr/)(ǗcTiĮ]X1GU>ySނzUmѝ uZ;?s3Gt( 44аpsesgcc"=-Zstue/= zK&ӹKG6+g[<F]ҹ3)[1O2YIᒕ)\2g!U}Y=}06vN<V; !?'ŝZ))*п/@A||,!Oӱ:AѢUxNեWpI?Iwo!w~@RIER|8߇7p6( oh1Ҥ_Ȱ1_I@hZ˄^xr gNR<=K~b܇Bs<=Syyߓ LdwO^k\:OyFپ}om]#Vx5x!D# _'w0cXKOK8_Wyv4jT7u1 Ciݬ&&f]? GsBVeQ-wf׮5l8]ƉYI˗/hZڶSu6"d_Ƿ/qhR?sb\*;,&4nњmWr.]] +Nbf!LjԻ{XyFIW~oFQlIrrJ>SCPMțWwޅi'3 BdQg1}h f okL6wH^|M>#QX>'gámK1Jݹn%hXQDDDxswv0jm6Z5 !RO!N]˸^uX:7&Ɔ,X^ CC &&~GJ322_#ԏR.3Gwœ;n?tޙǏ2l8ʕOLLGܺu~ɓg)R!Dv'KB#ØS{?M_xLT/>Qi:M؟sk7ͽ"}KruLqėeXӭcC-{1gdLLSԏVEѠR{3cYwu}Ι3i[}"I@"bcX0 o}ٱ{Nzҥ3μ~]wtƳv]=pPupv+Ui:glǀ!ӣGGvmEQ|mWԩ=X`vۺu6lEƘ~o%D, >.z]:K$hӦ;lãx151gFDƖ8#<]0(W Ss|sgW\J Ax'y"4\p[<q[ç<}M?sȬ]=BY}%K^F%^wemqs+֩S,,ټygljBP`f(_ QC ˘ y{{Osptnﰵd JEGc,, MUk(]k4^9ocuϗ>oclbGzT uJ}y?q j5hʂ٣ɝ3e_,`9ekdPYӊi~sx5o>/ے;wNVvC>IU0a;ͰEd.ׯߦV\re;EBdbq1 8~3J53m""#zksdr)Cnl`8r:en%"- %?؋w19s&XgVӧ(PBAM~UfXExO#waw8BdKػ SCyZNnK,,)[6s)H9o,R1ChӼ5NM:-3l,;'9x+L_9s0{ďoѭyGLԻJ?/ti7Ҩl_>{&N=Ⱥu QTI~6S3lم$7/Z!9rX'iuTvj( }"D% +n^8SP*33}^܌ɒ8gj֬w5ٸkbY7 M00Lٖ:g c) Q܅ G'~h ѓOðu̍5ZFFAQX!}N{Ԩ(t}=d+ϟa-ĄLqkE2sĶ ʲi2{*W.G咴ӳKΤq'I!~I"D&uXXһ7=9+S;ͩS3f{`jjriX1glf2l|KyHJ;+Xx1u`ޗ@QI5p-QCخռ |FXk‚_H {T&6:<;QSg- @P*h4P5*2AB{Z)ڊ FRZ_6*yz" ʹs3c}7AaeeI.2=?.\Bh}Y*uپb .%2(ZKafadz0GЬnHc#prᇮ(VR*%* *si.mK046ͽ"%ƣB]r9'{{ΰfP"p)T;{\ zhs8dܼz{baeQkr9%ʷA杨X,MԧKA;39r"&?NK)&t}6ZMCׯK9"**n3j@J®B$ BdBlEV3{}wᘙf}etКZ'ij~}"eLի8sQWQn14L};9rk' ʕC|\ ݥ K4'dNJ)lY2\nxT{,V*iZrb.ہ{ʬX Nr]\츤eo)cU[7>%ʿK|"AܺVS,3f;ӳyGɪQ &&Iׯx}B\\?3'x^vaGv.LJRf>hرk׎;Dw|8u:.xsI^albFPjjy?q)=gv;׾?u7YXSWޘ}ڋ{mrsnڇn`fja5d( +>9}/|004"W>W̬l*Z-\<:taʸޙfT|(2"D&V0>|N"_bbb11yO{wݽGeR{J`@h4Z.^}8~DRRjCrlor2)ncÂNө]}j 'bڷsNxVChմGYi 7Əݻhܼ O\{NSBCC M"i:[j|NBB*J']ɳYd:6>DŽGV;K$"rv{7sm% ׮o:pVqK _Z͝;)Z CCCo'RA%T, z=9t/cϺY(W^\fq)mtDD$:_R8ORRzIT/ArSgѴq5%%֒`?9 FC,YEEEc`)zC!0wkBd77!DV9챱υ[zhQ7 ) ի7Q/_CV;Tɓˎ=kl<>Ϥ3 `6Lڂkg$VȎ#܊rk244 _<2äT*R(#MQ`l%7HWo2v?zɓ 44<})JjժBŊ'%T)_-I)կ_WFQ1I"D&V[7uڵ?ďML6/NN:KTT 6lXLCس砾I3S#uo˻Y|&F,ԓ}{,S۰w6c466fIԪUUcʻH/9|$a.kgҢI {#-o{.w/YB|idDLuކD{ǎfȐ1IlK2TfH>"""5j"7{4_~f;ׯ_KVZN_FFFIst[ѰeˮĽJn^GsPƒt: K4Ψ9{6r>N}%6!#I@ȄmϞug5Jū9~LH||E-[՛"2)W\ }}?:v&NbĔ `ʔDFF}ڳg/r$߇yMf)7wy:w2}Hvڞ)O`व|QZk*~K yY ai՚B|$ Bd26gןgOѽzݹs?7}Mo_w~WːqOy=B(Uf7 IDATO!R<{wb{UZ &i[:.M(EAstR2=`lbkԿ}+_x;Y} Ɓ2P7xcmeu]pMJ,pLD| Fff?p:K>9|$] =pvIDa*#!$"u Vf >ˠY_,nL|@gcjfIK0.;y*/`bj,ҝO[N+o!:]7<{'j4硿?CLy.]!AV,M^gGǧSxZA;ؘ+\FD65ɞ+G.ɹ}&ݳ_= 50 38nu4#q(M88 6f]ZZ~." |zӲ}WJȯ?+.]{ltv?AjF B|p恜LLeӃW}FEB^tƖ?eٴm,MҷCG)^=N:we6d4k;/_#5h+]TC~ be= J[ 7Jޯ_#8tɞ=^;tD._ 4 YУs;w5w(elߧ =cej8dj>g %jQ(1 /}b?HUƇQ@tD&Ӽ~;ٲd4sa:_< wj^n߸̂Hd29Όi)\ Fq= AHgELMQQ9wU Sc ?kǎ 0T!g^{}a0&Lʄ C {K% !k"ѵGwn]8ć#Ji?x&i7mЌ9Z>Mؽf3ţ[[& XjhȨI+r ??zٿ+4:QݏP޺ʰQ$q!ˈ3 !ڧ6^eٿsAP*DFFanlٲDJ w1eJٲ<ڼyWdѢiiE􃔛/u#oVZ}GFSo(^}n1whSl i Y^ϠAx~U"{ۗO_>+^e+]"kU O>ysq9p=)[r#d=c6+Z9>1"H@ /#% Q8g'v-ؔS{Bwt/irz+Wٳǧy AGke RH O31aY:9}S{Vsd6J_SF$r3zO\qcxGy>Oϝ <}p.޼7^ Π)Jaӱ"SfϥwiK$ %XB#ߥ G.Ƨi+];W?+RY_Ο?Vѯ(9ѽ툏\\$(/[ %=]{6ڎ;~U}:ՃI椸GoFr=B*M>6ʨvey\+Ş hH@A 'w`HUܥc,_8lS5cV߮tJWbbbk3۷X/_iŊ XAaL U an9IyYp 1?emeFN|rgΦJo7Gncy-ebjBԷIccw$߾k|k,ݠ9CrwTb{iܾv#&AHAxGoYDؽy6JUW9>x۷TECP^ؘаaT*h#K [Š}oSw\z3w8͔S=i*YS_&U93uHbcUVX[[qN\]]Tڛ7_%oΜ , AA!| +WDAwORd,FnRsd=+ެl"eP93',[8c#1 *Usn(S{%숙B:m~yI w5i޾#TNlUϔ*] kd͞N899+w\\Qrʢ8GoA. {&PGMppO}##d+b(JI[n8s44qUW}"d@o( StHʔȶ?kjѦLr+Ďȝ;'Fv bԹc3Z֥cn§YĢ$ &T( R_?v]0F?cbQ(t)Ubʼno g18dˉ{bxz\bT,灝DCtwm1hؿ;vS3k8-Fܹ+L>###})J;C>Lܡ t=9Sz`fjS8ILMT)WO^?%X2/DBV'gd˖l_AДH@?DG~L0aa_x"Үo|\.~D"a͚"K';`˖zD}٬˔<|'kʳ dRZ9Qg/u[ڙ=LkAܧ)a,;6] >N{.Gzf<ǨISڷ ͓T)Hpp̍cn*I9>o]޿~GMDFvONPpx"#yw%Q! +ɞ+-WMu_O"\|YtYuЂ/&i?th3}tVi[f3P(X˗o;!J!B-7X9ߪ/O8c.LH80&&5w)Zo1xsrvʖ̟uR+WR'&*R{ D%:;ct LM}GGGu.<+s.ر%Q*}X%9u<:۷zL(,M|il4ssKMBtz7ꆕC ZfgkɋY`81 8+[>zrZ9/%wࡡa#H(XЕggktoAH"-vUSnctmVPmŋג|o˖=vw}u/cǖ:d2_ϠA=bcc?UŦn׮uPaT 7AP^cS3tjf< ;[K2,~8ή8aoKFnhtkrq5?));گsga&PLFa~ѓobe9xԏO3d29rcL02N9&Fy9%v?>8v؁I֞#tbgu@io(5- :v- nEurf n\&mdf̎9Ep ꝼ,MLL #GNvGHgO?HJFri+:p"֭XLq)Z63g O]ܹt#c|Ҩn4_#/ѦUgq@B['gW@"MLt4DGE߈{ђڲGxd2L9EJ>S┦͛,^bDb٤D`Q=9Gʎf&aת̞2аpfO sȕ ohxqܹu[FeXr7}C\l r#c=+Q| kZS؄.Р@.J}ZI];Ńj%>eʔyDEEkƞ={ɖ-:ڵ[>}Ƈ_ IGKD7GHxEKO@ g^wpISLNѤV,囏i ĀyxIPo5@k:X3aDvlk{y.ODy(tī'wSLH$ A;s9Ʀf *U$ 9rdO~UYJddTb[ll #&&Fx5qu C\\\d7.Ouѣ4iҙ/m/`1|yw)].]xstއ[S#%jVOœHK:l#cSOC㱄HN4ne򸺳bj;<D0X!pt3-u\cccoGpphb[b,Z4=IU֢E޽\R4ɲ[x#Ӕ5QQQ$KLUwϟmXΑ#;פL*!!?siԨwT)Yi‚c1FӞ޳O4P">>^+c-Gv{l\D\L4g!>^{ῈD0X\Ln̈AmP(8{+]׮#W.Պ#ezV䄇esHɌÿ,esrrM$թS78ݐ$IckkSEVaϞZxEUNuԩ0RM/Ӟ8Ż8k#҆h4!R*kc|}Wieg/Qǹ/N.[S[+҇H@+GѰanecccŕ+GYTIׯR7ǏMu_kNIZ?vHڭXzS cY1mhV8ͅDHBC<٬Ӟ8ށ{4VLN/)wSsj6Cse1DSj%eQIO)Ytt̊>gpNZ0CA$ Rρo Szݍ+WPg42*{dJ|ƍ;P(D7svň}*2%aook6oމ\.g?Ą훫̊( zV!BIJ{rNɱ1SR5>Mwfl$g.w/1=^>Lxkޑ=(ՠA-ʗ/ꚗ ʨEGG7o)8/111IGtjlX0֊=!ND0H +'w Ӕ;?TJnܽOxꍶCժ0eʼtS6loވ5|?~NZ"гgGdqxlBAغuob[M8ztJbOxV3g.p}CJ%<rOΫ )VfJJ勧j4MNfr͙5OL8FƦָ;N$$v3`5jx3dji8 ꁻ{~SSrįw< uT*a݊ɔ;VLfD];{ 8D0HOlٴc# Rk!:ݩX ٳgK{֫;Jy䘮ͨM^юCh}|BcVĖ3gNAȞ=NJRʕ*U\jŊ Idd(O14WJIQ|  IDATRXYr`b=@ ֭[xyy1rA?Gq<]=?u3Ʀfj={%7;:PHRLħ 5[ȖEܼy%cA{2ofAR_3_l`0?fͺp=Fh8/^3JŋWov7򃱺9yr'SiHRTݻ@=z亻w Qi)?İT¹{?IyԧO_;o\[9Er|z_\ݻ|I1Wc̛g/0,lSPЩt94.Ǒ+_aqq A(tZ.pnr9_s>|?3lD"-??~PX|cxET#J4UJKIǎI?t{{7С*m;vN6k֙k={ oIJs=9sTK6X˿럙 f3lDk?ۻׯ8h:U. ',XFDGk1ZвTi7&ȘwA<[aO6E?~O_Pn4ÿpVR(UcKll{`bcc122JzժybC"4ዊ˫8y:ի#m&].v$4mZ_~)WZmۻg\}ɒ*ՊJ4/*GT0a(KfuٽI<:6mYOܹtz|?9NnD7]zY|Yb.Z;}0ϣRVu/g~Z_wEAH'!G*!*mcjqXuÇOtԟ;_w7JOF1alvҖn2ipokkɟ?Jn!0P'2tDgV!gN$ ?e˖%qxq$χsįaDEwRr$$Z֪ 6^G^xĭ 8\[w?g VViIܰ1 J%o?Tc C>!3f$Բ;vVm", s,% amu6x_FE+3gxAAt/1ٳE /_HR^llx ]w()U8R^ad>1al.].Rĝ"EyIʃw2;Ǒ.c쓩W_K/pA&7⾿H@|R]Շ#c2GlnAXZ\!AK0iԼ%c%,9P((J\]]x>%&&RI>FGG2^|/O##z]z_]*6::GOS~͟fHF^~.]Nt-[ KK՟/X7pyl8qh\)cܹt_ꤜF-ɖ߳ ofe -[G=_j BlL߾affB֬ 뗧NE׮h |:GTistk)^C#GNӵ`^~PjjIPuZwS7r7+I_֭{-.>hT^N7׶lYl咟;|k{*^1`KSkQĐ9ROGD0r#\ f%,Y_jhРW%cnjΒkk$Տ2Rsjd) fC/pDŴ6 $JݐH$2 3t0=&6.>厙ūi۶PK޼yT̋dlٲmJɭPRNo㍍i߾fnRys?kmz$%0LJ)83b[7Qj~m9G](P'(ky-˗o 0S!>^ɳWȋB- nvlrug꩘pV}ETTHɓ޽ ٳP;uTO{ZPP0Y跬jHH(oQ>MPlb˖Z35BI0+q-sBBRO*n\I>ٵy7o?ÃKae%(80d.JHw" D"׆]–׫9.VWw]a飵^^R?0~L>`ϩSߺu/,OO<~/M<<#㒇c.Zڹǎ^ݛSh; k7mR &&(JVkUQ0 " R&=8d3'uT}#KҋD"?e5kV#&&ss3}6$$ڵ[2iuk=`$v~oeͦ(>5_B>'66#W*S!޿ܴ%YjE3*g1[0t,l [;,@= A2Jv:"c.R6s/k\_1o*m-prr{q6ZhҮTzy>|P]?k/3gK)Q*A d?]R c@K$̌:j)aoߣG+3y=kl&"[ެ'vH$,3Xf, kX09 fďT*9{"/_ٸq'ϟku\~wyzQ9 <..5[pI=…+TF-Sі` O?(' pr߽h#cSJV066KHBܿ[2"sr4miH(Z7-F&i'`y懻GQ}$ ;gޣE#Y8pIj֬7CFC{$ Hӧ*I$LgF{$+…%U?ryX i=B$ %RdRVʽ+'6#gl6<{3#BAxj)lٲBllJ$9:%cI$ ߽C/rt$O3:O"cccyJ[9(UʓhGqDFFU,Yҿ6:u^e)dkW%{>8~Oee̅F\zbı{Fi?:u~'|ޒ){GLJLt$mڸQ9rJ[j1c,FF]W;A]"d " Ve{`$̌BFuP(9so߫|9S`3pv60{,{~} fB},k3%Ro' 5cRy_2ڞ1+ Do TDndYlxVɱCEf:._do.t*]b(~+_Woeͻ%>9/شi T(sdRR3 M Y+yk; ]-' kd8 U=o4hЎ}TU^RqN>Y+y"EGK B2sS9˓E2bX1֨+3&#K(vZ`Xea˶CT}pm~[~kBE;wbbF;FBɒ3}_.U B̀D›Jp;ɝ; \,,ׯH>xv؟a7og&9DH~8 Tµ2^I)g@.{R)w(3f:JLɻdo(pUBQ-Y\eU moYsɝ+ehm_J|\lʝTv3n*ޮ]J%r̮^fdT)J=dyEЧ9a.#`5R (] AP(49x^ /_ޠlْEcժUUF㇤RagirR~Q*o{MZw`9裵9znc ^heL]aܺuO}ݺ W GǬj M^9rJk&DG~ˈ{VAS" Cv>$fӦIb*[[LQZʴh0 #W^ڿ[.[zK||<@.m^nܸsˇiܸ_ocdbJvg7GA$ A3""0?z?#]DDDЧHyBae!\Fn2S SRW/E._?Y|4>7ĔV}5/ݩHO*rnu͒>]o@4-7RL2>T0h!ߓ)Ћg!HغuC9{5Ђ^O(*%&lY| 3>1`d(x ݸ}'[hLwϊޔy3gPL*-hKۇً8p #ɑJ( O"xK ϚC/̙Ͽ GD\!RŇѪUc}wy >>J,LP{Տ=a72xBNYE4ԸӠn1]0gruDEEӿt7 xq4?l!V/%WB="Prmh1ZA+>>Opɓ[ߡE܆9c~ ..C+;D"c$HP,Q*s2c ʕ9ęk5e}ܴ8s ,'[0#o^Kj81`hv^꾟~bwI1?nj $GG V(˥P!݌; J; =z7owc+eghBTRR=/_꒝[rjJ"}>r#ctƠyk7ᵯ_tI*gU.]㉋S4Mx#3q4[` 6,h 72"~z" (*.,,re}"hL&3uq1\Bv[WH$hрŋ$޸]̾?v?7dwvs?j==[k֮]eqC{\:5T~[֬٬ҦTQ8;RB$'FGG3~,.\ҾiNkC!cP*y02B%-P"gN'ʖ͜ޅH8r79Tȯ=vB|ρo`cH[p_\|CkfTOgظe.;K}bem؊+Ӵ8y-eCtI$ Aʞ TXWe-1nkՍ^[dJyM&v>Dٲ5}*\cVVTR!ݫR J9K%5Q9}iPr1~W[uXD}Y.DD|m')Wڛu+RmbƦf=&Pn;ZXH($'z|+?vD$ETs~3֯ΥKwn:Q*1г^ÿ2pXFѢiA@)G 'qqqIE֒"%rI5褵xrL(۬%Z7#Q(,EsjL- 蝘 Rx'd23f9ԝ8z4۶Ex`\]5?+#255IzCoLL ӧ`}"!&.ڕc<|=&M:oիVD"!;qۼx|{C Nܻrfj45M S!:bjj޽2?s+;x,%. Gar8k9tPGLLT3l(޾}ufI>n~8Wb۩SiذC *\TV}Էk.msAGhP }zITHp0vYs VAO`P^<ɕSе+f=Mv9L8GcbIIڇ êA/_AN|;vkת)} ͛wZWÿ$Kjw+V;,Bj07  jq=F]Xedc߲w/2whB>h~@3i3$A0db`0vJxGvn_{T}a`>|4ɓ5])Q"=رcU6mZJ TR!I̙㒴.\ 1CTT4}255`A$rڵkFڿ%aigejjB:a${K$ _9r2C&_>͋Nxw¹t=53r Zc(J i @`'cҗ=tc#Pb-M¥2E,&f@piȀ#)Ho IDATr&nneϣšCUޘ>1ȌVD"U ܹƪ\j&] ӓCΗ/eʔm^DFF1z4>UBIIؘ&y.;woLL w"*Jٳٲ|ϛσgܫoOH$_ #SZ5v?}S(ܸSWSZ[ (~xucKtW" i)J]a,ؙ0twLL =z M\.+{w"w?#HprrL҃R$>ضm/g/Nl?{"6lOx{07;gt!l-Z; .K_sDFFj׹Ϣ1mضl1QѪ4̭s E]~5"m{ѡ$ zTz,]Ȃf=&0ϋ]zmby~ %XB,KwҚc'ҫKyP( ˗ҒyfȐ^rbЉ=رmmqwϯrwEn>ǸQbƍK-̠]ޔ.]};*ν{%.]B"dQ|5jT%bg2h"##Uڒ׉SGV3}&͙0d.G,mi}f,檕עMs|3gT"Qt5 +楈!r+RRU= 7nQyk&lٲG2mڂtoFҤI= bT s\\ׯ+-k)J-K;8v:/ ..ΉT*Z3g\Sb]֭ۦT*aж= KfjGF=q%F}e1L7>$\E)]U$1"dZftRl]:_qLuXdH$d2A|JNr^`H$04`j$,,ٳjF޽ŋ儱FDĉÓlZoР& T̜knqFJs_[<ʗMkK}Kre iE -[G8՛;$AT I$ژv3/ّ߿Ç7P*̜˟nw(B&{$] ֭{E̍A.S]wKDϝҥt,#>>ʕbņdը፛[^CP|)j*ѼyM&&F,;ν{q;^]\Z3dn| vlF,_]`gcr'AmPe~4oߍ+&rhyK` MK|n %o>ݾōk=#S "3 ppM:mXj9%A*{(T(JSppwd!tTJϞC0a(uU/^ÇOTPZ/JOJ%+WnQd⠕18p`ٴ2SYvbd$ȑSTZػ밨7;CwI(( ݭXع݉""Cv <>rw ++Kq_߅(((ę3AZx<X,(§OaQ5B=jJ4>$Ц!In]S6 X, 6!//CEU\{ ]OQ^ڵ۷,_`+_ v̬6uX?1Saa!ܼcǟ/TMMJ];eX14]~o?ĦM+ chƧO}EyH`e=+?eȩ(С;X^998aT̡=J*j5Uf6 ip3.^{ kihcݰsd G`5ʗ(@Х06~~~Ebb6n #4;vib \|.._>\L۷T8VSSѵk_Y5ɩHnm 77'c@D[i<+Wnwak߼yWjB_gg 77Oe)//ZyIfi!jްa' \KN]طz>G|A^I$J;|& 6}`i fZVh`=Cm`Q7c$ 9## DL}ػ 鋺uM Ë+tED,^Nt u|J47o^z>9fXbܹVvt+NɂMS%뀦LΝЯߏi$ǎE Ѧ]4 fԴ6.ryAaa!Kbо}O$z] +'0hP G>SPUU7uu5<{Rc_KYǗt\nmjjjr| <<#(6k ؽ| f;UXPwEsfu@]KjZPQׄРe;A# Qpg :3E(|@|KF oҔyVII WꏂcPWWJ|>=Ν~P[/nB,,qaC-DػwH0wraC#,b06 ӝ$Т5o_6m젨@.ñc߅hd J{"XR!a8r4n\F;>c}KZ hyD?{{{o m$j=؊PT}'w˼oq]h߾Cl۰a*[ؑi F0`}{L򡮮[wɤoV{bh޿Sw^G㏋DT}DSh,Oi,D}H[n3['OxEErz"*+>:k@xx8B"k@żIK!eLsN6=S?y+**BX p8YbÆ?p 8yG۶p"ds Q%|%ٲ1 #GNMPRR6͛7y!7*J%IGmU"M0gl%^Ķ=2Ӓ1n*zO\_מ`04AW{|D5C`5J݆6X,]hc!bB̚[}!##Sh$ --;es;ApѣPPP@۶c_G[ۢsg7~@X,ܺUuv266¥KˬcPhkk@~(M:Vܒ]]"%0px9[w8r|ˣT>/!g06n܍ x,s}aHt1WOnF;xpu((*7 GQA> мB )5:j׵ĭ_W7f͚'޽Ta,=4lX***B9 m͛gcAo1 KCNK-6)TUUKbGcdT {=;A6f#&jx Q`I6zm[c_O-eg5vtk`Fnv5u#@ 5N[gs'7n+`?OJ",uرemٲ%_(8{aokbbEE4m*\:wj.]B o? >t[$`ݻ{` :"T|*[@ɑ)=sWΟĝ;*ּy=G, Ԕ#mzҟ&&hܸ!7n(te7DqQHuMmkjK=. dj?e6 JԱ7Nh, o锕adT 0gT,Y2[pdOoK[#A$!j$5 mr鉳{" {|orr <=رn,QE m+۷p ֬YT<%--=W7`ϞBдi#%c'aݺ%5:jB~4Ϭ&L9 -T\3D[M6;fg5d8 @EM!!&1o)!^`((Nį\1s/i ];뼰Ӧ-m+**ťSLZ剏OĻw(((ZYDhذ/sѩS{EW4_Ny˜hjVSN!0 uZEW4MKʩ6j-0p=~yhT~븊 lfoUMdsbQZڷƒ>hnmHIB^F $!j0~[pN$F8{&NՋǃŢ!!QXX$H@tyJݿ/x{`l_FfMDm!&27 YB,_NNmP bM胦iDGoӧ/b+EjΞ =E력J̘DN@*CVGvv^ Anѿlo\\{%|(.,(uްv=t>Ρ)45TJ]'%I@MEM^(bzj lY_?akkWBKKdɩWQQd:\t6{*5,O͚5AR)GWuy{ J\ кuݻst[)0b)"9M]!1HyyU~44*||"44X$&&!##66M>A=l۸w-Ƅ{ëP||⑚_C[FOSS)+`9 A=c*ث82$1C fYzCGBQ}dg ))*Ƕ6/zkѣB<ѣgBΝ0nLK@&XbvҢ{ VRRիB/_pԏBN;oƘ@0bT7oޓzABKֻy넄tb\̙>~~x:%D37Mӈ}g,Âmm09fM*L> #eUu(TD ۙ ~ywz4ɓ1tby$ƍl;J{-uip\c[CXKcƆBŏ G?߿ NN%&=GG_nnP;v|mii#XQIWJ_YhfC3|ʥkef Pl,C1pNz< "!-9ёa !{qfR,uUt셋W/ǿ);'gbJ!f5*AHaoomWdqz">xʴz0L4JޡTJaaaS޽W0p` #*=ZjY6Nbٲux>T quVTTlM8s"DH*Tht U&Ǘ/Iprj#@($>=ӧAAǬbTXh @YEi$}Cľ{kUԠW6-0hP/ lHÊuGcl z/%>:k@xx8* DDր/xCͳ8q2$ -ZX ~+p½{::U~>11qt4g&ФI#Y`̚all(Q[UݨQak۬䃦i|s2rO>hFRR2j m}-O3f,zm{([pؼsBC߿BQQTjj3E{a( |=ǻ-,[«@u`^z:"MO#I/])X E=ǯz"^wr)((ČiFd7t]ٳw0mڂ}ٹ'8,FCqƙ>JX۷Çi2JtqnW<*++k8uBeB6mևYL?XB۷sցUU}NÇOdT}HLLȑP\QŋgA[[ѣgX6Y,3oۻ}}=y"0\@aaϞٳVD>Znjj{7`ذ~[t3@4 (qKg052yh۷*ԘRgg|xIH z}w/&!JJJ D{h :2 AHBhd.݇ae&^GUf8r4B0deXٸqC 3]tQرb)")CC *`m…;*...sg; "$6삧g*:th?}FV*RSSŝ;;A{o͛wRjP(Mx)~M63o߾:DRUjDg 9ˍ|>l:U(18~\\z!9 IDATGť7Џ Hϡ`߀r#U5jc1WXb>5j PvN8<.pw(Q DԦS_8m:Œys2o,f^*t|ء|lذ/^T`މQ=wAϞÄ=0b@_ _$1ikkƚil۶{RTUVY1fMvءؿC,/E35js(hΝ|KYp8YXR Gяzpph ]Ű%%Zpww#*QVVê{ `dJ 8HBbPRV0uhkaXXlƏ˶JCֶeرO&,Z4 dm̃0tP c% DUծm㇕U"ХJBܼyO{wСvEŋ5е x5ong6PUoNAA!&L _ 9sbISǸݾ}R,!k!?@>%99qx<ƤI#7r?Q tuupha$'Fںu5@sDF˒ Xv{pss Q0sDCGG[*EYY7.k0eʏi02<H͖W,EJʏ6'O{wIC-̞SBbbPMuGݬ9uX}I@Y"6=ʏԩcZ2iźu;ʼtG\u:n{6,\8pw.DUV>V>};@ZZPJ6x=x#ll\qCA--)Y$ 'nRe]0AAA:8ʒUECt:Fba}ѪU yC-> +}٧'sܦWVGxКB9LhĸFMCh3?t:2RСA A0 ,~NFA~6m8߫s*00\x<Ý;VIFغu5wm~xy,\f&7=ŋD*:ul7t`& SDOO.bO'"g@gΝp()c=w4B%$ slDx ֈ$$|E>wժMh ?~bd$Vތn1GX x{A||bs;p-3q ?eiF~ceONWόѸXh,):4b$uI89UwՕ{#cӦ'UĹ;H}AӤ&A($!شAW"aLXa|wǣys+C^'WWG<}zY[Ǻu_]}k1m8z={Shč(:26KֵŁ'ֿy,|ϪpV"mmmDϧu.X6o k)FF5I@A=F߄%832 ĕ+'+Fv*Ė-p>/Fmٲd=`iiQfBltܡt 閦uM|v:?`@R}M6]s̙ѣȭ|<n%g*֭k g6B239 DW4_W"C`I@ak|۷\! kٲ\\ k711]u7`@ol٬Kb.TT1ap(++3^\\޼y555? _cݪj֬IPQaϮ2( hmEn!˖h*ֿ""мLNnzNu46n܅MlѸ#$ !]S/>Ы D}Hp8YbH#߂ ?ڶ>}I_nnN{7HhR,xMa#r5ic@t5 ys_> GA~BHBRҤo370:uE>(W\^ }b|td{8:vǛ7@Ӧ>M11q-B˗K_gg`sTbP<Ar_ff\D$( >USe̙3U;U7Eͭr6Y+4spTQsUQlHODFz:c=ݼ#QT\'&Mq G)mqvGi 4lXԹg^"8G$1hݻ(ijjNEa ԩ=cYO_dJMMUnؙoѡC=yy;HH 77/>T6 ljX6o0A  j#f;*N>fϞsr mĨ1•4 ..b.\.٠A=#|)dgwS ő uu5[x<| }?*V##5I0"r ljpi'*߿V-SWkddiʔEHy؄d6^))>jiiBKK~3lvKS Q 䦥c,=kunXb)F K'qd e'sڃ ~H =ú{7RAXcFu,кjVmshBYOrl6,X,6Ņؿf G͟?]}[8%&NQf5xic[s.W uª&!+kAQ J1t3Yٻb8k1fOg;c׶%"O( _$?~Czܼ.cx|\ ÉA{E06Vи,FFcXD"NlѥQKIlcfE:MӸ}!t`gל6"5 ݻ{`* bȴ5Pdv J LGŋpr솙oFC17^el=CĻ8t/\+a`\NE}``\):4cW5CiFXŭH@|y_끢Z4bS=\z3lkdM4VN2A?# ( vΞX=f"xCn^m|~S&9ؼ+Ces'^+>_F)*`]oKGbRbɈxhXfx4$%%,T_D,0pn8;nqաě lO_c`ۭ a$!*D]Sgø;pω)"KQz˗oH9J|IG\s`g>cZ;H!VIiiPR|&L=:;jaغuSQ*I k3(&Mo?Ԉ]sX{Iز~z׈DMF`Ddfسb:v';P`G@8Yy|c>!--<.WNt},`(B C-[`ޖKؽ|, [7a؀NvmcԮmk>&asx _␑$8 #3"Tb+S{ܻq K捬a٤)x\߃1؀v\3Awq&޽~Vo"hɮBy:'E̛1HV֬يѼl4tm#+3^맷f^fU_>  %5kh *jV\\/U lNɢn-ұ+Z m=CFcZZri=ܹqj-~:O]ŵ+W%.=RV<{@۶j?ѱJ6hMBub=z-ACC]1}B^@v?77M:aknťT*CCc~9z V؈Ot|#V-}XXKGIFIpu z1}q'X3agg'pI@*$ ?fs 8u948v3ǣ <={w 6n Dxe5tѰYk.Nxy$XٻB]SGj}1) l?\=p!`#bpU W/]F|[ic| !BBMU^%H&AT{ܻw”yyqŸqCJ""bÆرOhjH߼y&MJm(239(JhE@3%8[T__)02UEk\ϟѶD}KKQQLgs1_`{0tsHBH I@*$ @\؇qel|X6o` *q?Le%(AEY7c϶(_o2lZ[AQI.Źa`l۷H4:)((DJJ~@||")8vCV'a /l]B& S>|WC矋ֿ e1L@h%BFF&޾G:ݽExxD+Flgl=eF>3yBLQQQ0uKOp? g 33 ׭!##~cm1E,yVյ}9sJ$hkk!(* L{)_#Ud0++Ϟľ}'~RAšdXZZ, C Cv]0f*VUdR ?`ljMQϲ9,J>M^o?&J'X1СeT>ˊׯAh3RQQ.b޸txJ> 4 %% y( #޵0"# Ád͛w*`ڴ5jEFnjus$̌ :Z*oܸ{n:qƌ>>u8&-9:A? Bʚtsw_9r…RN¸q*|4iܜoo &O#:)B\ <43壌3"ᓑP1)>g^ j޽8,ޅ0b4v $ A2=n!8qx\ݻA/E EzS_L/%к71Q~WAb!==N!ѧO С>HIIrTyڂg BI@ d&rPWWT}?>[!++[!֒9%K>Y&zLWرCr^h7,Y:ehACA@⧒]9x<RSa`'J􆮮oÉ<>P̣$H(XYYʼ_;pdv9{bȴ?vQŐ H5 -4/ZkYx 4q5!*uu5xyuBTj&vP  D3ѽTݷFa.((րl AطJ /EPPp>}FpR:s?-t!11IqlpLx{Ftt8QQQΝxMM`7>$C[P>}Ʈ] !?~*~C*,>K۠id (AHMӈyf?c_+**„ 1u< P~+@q/ش$ YB!e#IKFO71MM |\M֭Xr>~L%IOτ.$t6Ο?-Ϝ:^1-%g].|dRʧO!BV>S@OfS4T%  ))hZ #>Q G!4M;ҥ5uICO2)<|?7]v={CMMMb8=g+4/A! A~5 mt`'8FQ4SVVFhRa̘!B]RZetԾq R SSӐ[f,\8ם-SYHLg!#D2BHFC#>TihPSl&KWDzBF\Vgl}C 0:tpU$CChBUޤI#qkL6߾ġY2Xbn@|TZAWOnԩcK;y2acTvll=WX\2s* ),)&4kACKχ45⡁!p"6Xz˲0Gppڶ/|d"4JF{ht"F+m8sXU1o,I@ (-9_bwdyRرCaoVZ6Puhiȅ 6Ҧѵy1Bp/J֦|XՔh`'ƒw0Μ= ѓKY"BČkz G`ɣ AT7d:A~z lExtz>_uXt.^EE9wg6AN4Th/kS.b&ڔffSApyĉ|EuKf<|FzNşf˘5k3/99E"7@vp^#a ]O `yu@!EjÃ'PAk-4gʍx;VpdNYk e@OOWuF.' 0]#MS6m/BUUE{Y`ed i,kV7oeMVHO^߾ -`>ԕv $ AR4g%޹ڦ#tnt:6d}*))A__Ov~yJ4$ Mm,d/,D&EU.TeGy$I X`G|: -\No]dc<݇ ;\o$ AR%6 9?‹5k"$5'blŤdҤQ/GC>XÙ\2 K_Sx*ðaѷowKNJχ0I `7=A #k@ GPRVhӪ$u=ӊ/P765JHFOb86BIxxFZ6%bn&ܽkngZZ4Ka% N6sľ/3wꋜ,DM B^<@36PSUb:t J;<{3}~Yfu pmEObX!97F/XttH[, GB: 9?)++cpuud/i4hoȦ1|pm[.ôhi~5ADՖ7a6g [7xpt/n<>~EM6i>SxA2)K7aa(PV :z|ȯ/uu5yV.GnC1g9 CQi$!OBap2듢(hiWRl6/PW{wյwx܅݋-m)NhH K; !}cJn 33ys=콒R2k,}esK2;)D9w3,Pf``j[XPWg汨꧃ߟ7n\}woI lp=!D`BܼxC $ؗPrj͠Ql*ҸJa(V$)Y :21$}"%)ϱkx0۹S;s&к-0hw|BL /7 C.:V̙wiujd=5:7b%b?^$1g;}!7y{r22dY_`ؐ+W\CU yPB!&p~h4* ,4emL㐒]*K:m* 6aZ|=zFSxi$9*E(:5+ kp(mݺIpԫ$;Nn?kR )B1 B,517-Bz}0XfQ'(팺zji; Bae0Hf(CW oW@^] =GCE[C>QB!FvpRǯyߘGJ iYhUMݭu~J5Lvx[&z]2`3:`b<Ç^\%zX|Oy92B%_%b^=CXӖp3mTqX a'4NbeK*祯W Ƽ^YyxO$^DobM(Tp!<ҿ!rde@h,\99~66>q7Z~: AfHE@E"Yhxg ڔJ%Ν $BT!77Ϡ/ò >IS(s! 9J};v Eb{(!#ۼ+:by!%% ۶FbbrSiS&f (멅F >ԕ+7PfKl۶ܿrx/d/EXX=svܥ][l2>L% wJg@FeᇟA<-~oPB,O3>b1o1ԫW #88ꀋB88{e,]18; lګ^ b1~y{~0سl߾xC*tq31+/ONز叒oRII)HLL«]귂0aBxfb٤v5+l^ R8\,-jwHF'pP` ^= }Vˠlbǡo ciӆ%޴O;AP*oC"XZ!߲W_̓R;B=UeB4"!dg@[ѯ8 S -Bgb1&L_t-;_R3yڴ쌜l|wx}Eb(!`A˧Xhpʍw8iESprS"n. NJ*ߦMJ杇u:ogŨSt2ǎ]Hbnv8tf?M^BQB!&PvVq?P۷A>GB ~Hcd1򞅿f"#oG``mRW_-w ڳ Z0bAJ.hT'vcVE{Ȧ\e Fv : ! J@!Ą82{' 4 Y%(--0lX?>ʔMlСvX&Mix!d:lhۇFނyfBj5D۷ J̛jFr:2 Oy"ԯ_/3`rYAD4,I#X'J@!Ą]0nļ|͂WFP(`Y2x}h۶OB;.Yy@l:J7%"#oD3f䷥c]ǦMСjåP@'9J@_fd<@*^Rq7oŖ- 7uav& 1i$C t !X@j2e16/ baqmJ͚_W=ѡCɶ<$ruނ&>>^x(Gеk9dqH3`e\8HDDI  \9;rFVsJ%mW͘Rf"ѯG_%2WŇSC"+՘F !AV=V,^5*[Ƿ_:iҗҥ=:wn(c)רQuA"\ XۿH$Ү)  t:TV٠֭k<e=tXqt Hp4M>ĉ_u8::x z n~-Xb&=G@HF8n ~~k]՚zRH$bc $nE>p/ǝ;~̙ C*Bus+|L&E`?K5[O!hBD bkc(v݆uB 5jFl|(u`do+g)ĥ[]۷+XAhh%,\5bc^: y04oVqܻFB1#'W|{Otq>ݓ_?ׯ;B!PbyW?‚ˋ:]8<{tBB13g7|y_8A>oX,5PL(db( ?K4EVdg`ǎ}Kyï"0vee+0`$88I&bk(!;ㅿӷ,忦0lD,ZIcx$I*H5)Rc1 3fPܸq}>"88ӧO] <1QO0n88Y3B(!98cʂm AԹeu,Y2ds+D7d'iY'UENDžOҼD"y'.r"lj{mTf!B mCr1t_}Td&338y_[{íWZ7 RK K ooO8.ΎRŰFM||">BV}ըѰuO#X;J@!ĂTN˱VBrr*t+$*Glr:Wb{}+CJ$}$|!Qj(J0` ߨ11S-ڵ7`MB) BSArxҧ}9T*UkM4k!x*\r#zja߾-puut>:I'Bq_^ 38xe\9Afk? PIx8N o@9yawH+F !XV i?B(s>7n:}};OJJO?jP p/pNB4`)(ݑC@-^ S* P'@ DJS\.&6/?Aˮaw8+G !X g7y9+[pL8&N I￟_]UN?!Q"M_'%4)VAiۃJCx @ A&^ $e@l[eעߡBlm& \.+Tm4ˠcY<@$pefk?p+òS=y`Y/pb@ 8\e8'j4j{G!LB,X=p=L~mڵ蓞+!f=b`Й֭1gtm$⯀#GĔld$Ao%Lbm*'Ӧ5%VSCB(_ '/b&uEuSP(3| -۴DJU 21Im܈5 h?I OK;,BBD6вp||I;b?~ wo`I8stS8ʀlQɶk\7vmC|Sܻ7!BmH!N@`s&ͻ%~~}qA۸q,7Q2+rr94:f΂/2/;Bkx !l_lF 6mbτ4oz=l&HХK;hy◣Z.v[`ۙA@TZ@dmu:mDպ-W2BBѨ-Jde2)RIQHPڶmٳA&3~BUyGiꫢg)Jx;r ]|BrB o`<|,h7ZVc͚MV}UIvBk$d6k7C,R&|BrBΝJmښ GDݺmkW]5Zƍ;m7n…+ҤH?Jp琝CgHNS"5WA@CzrߡB% bju@< '2MLF)@D< 8㦧ÉMc <o1*;J9BBPPŚpv¾'M:+MH&п5\]]J5WFWDjxop>:4)ȗXvs:wYVj@d+fY*ȳ0 ܽb(!+IJ,jǹ'F-̙}p7%[0zhӦ9f͚f|t:{46 E:8{x qB% beXM; ę㇐";'e뢃L\xܾ}/_*@йs[̘1Flkj1܎T")$d!觼ANBjܾ?tZ-lw(F eCJ S:ogbٲ "]$<&!j'?!֋BBn^۬ ~߶jpjmXhS8wX/bڵ[믿^.ж|=xV]N&AqԟPf!zQB!VuQHI]Ũ/7o{8@$Fr~~w4mvcʍ H_=A*qR)v(Ľ|[C !X5P>>6 8,md8|]8qQ/57b柑:=C*Bw<߽9~;$s4''G)2@7/"p}ht WM0`,g?dBQB!Vz6hw<27_q`!VBr݇OGMt C1GM}g;wҥkEÑC9/" =Ri2@Pf(t:o/{23fsҼB% bXEw(FѮ]Koĉ_#z7n7,ĪU?#"YƕK=hоOK5Fq(JL0۶`e90~Č FAǎ1rvP5s#!''WOdCTCb<ѣS?+*<}PJH~󐜜v*C|||CUf'u9H$s,b kBsrrqItP?܌\2AIB!6!.1PJ&ĉ]I D")۷`2d:vo'++j¹s )Y,d'\]] @^n2Ғ"5tQXh!T? W0[f( &JEJ@!Bl@NVՉHK$ү,Y2 ۷V(h4֭#ʔA *ޫIO+7 GFcr/5t@LLA1"**ڠƍ;ػ22mAAx(m6/4JԮ!}A !؀(z: jժfꂹs@HH0e@-ij%0X1jHJJy.]CN gZ[j \!rwa! 4Ӧ1h[l-wn֯_w\pjgStB):B!6 ). e٥BT:y%_;V H";܏)RRp>ۺu3b/رK^Pϴy.j-OW>xds k,XlL> u/0D")qy  BHo BQZ0̊8t͚5Š*B2[Ǎwnn^32UV4VEҬYBxA 8۽z͚\f\ ##%V"51Q\)ߡbs(!+v8^=aY1 ~Z"gY˖.ްa޹s&L ׸qPnM3qС} 婀L,0& HX_^(rꛡH{s~Eh|DM3 bŲiu'O;_6݌6^Nm0{4#/OC&0(JhJ?hqMJ@LJj [gAH; عv&2RPVCxc"B !X)V-?|F@ K S1h{!VX#WRzuyQcQڜddbnzoA$".?!SP $EF ?Napuϋ&@R!6~[B8ƃl2 ;$h-Ѱaܽ{5j;y(NNmCCn  iΰq@lc~{\\`ooJ HoRiD}Fm FB;pqv6hwtπe*dBfo1Bl B8>eۦ`7~ ǫ@-ggG0Xk̞=ݠ}h|(J$$$ Hb9zY~ZûAVƅ#‘#J5ɨ\: lǴߢM^/_57ŕS{xB[!JسFa|bvvRo nn.|Rlo:Qy w+ʡF2P7XQ 5 1zk4ֱ=+*6'v{繪nݻ`W_ 7[;#% bb^4b?(! q.ڍ&:͑pL[s822|Rj* ji:uV^d9c]hԦ7ߡ䓧%avn9 쭏JARgB, % b^<ĘH -5L$ cݿ^w(Ξd޶Ґ 9?wmzAfd9 #OKŠxk~ :"95 P*rbh yXb.72ڱ!ߡEձiӏpv՞<f\g^zׯ-D̘111qfo P(rЩdW&lGвo?}t|5{-.^([%#;B!i\?w}H(;9ؿz& 1wSz~۞=v0޽GHMMC˖MzU,g1"b׶Mhw<\<|L>ߛFEUxx,J%4\ܽ|S釦au:<|U !(! ,iՈP;xzH$~8/C-ٲ\r/2h8 Ø;gRWN=xp,ܽ0xh@,{&P(sկ_ voGX>t|'?`Q &BJ|P#\!=mKxUt:4kf=O>dʅ?~db9sH?k|x{̒Xa??!/TfoҹsqOܻ7YZ.]!L -71bڏs 5ڛd.BBJy#ŬVآk7C `GKGNC#''נm}X`A3/cо{A <@LݻK=D۶ s4o YFSe~6N:oy>yS#4Ο / tN|Z|0=+b"bݤ7h"J@!x Mo{ի_dK7 G2hOMMG||A0h4nMGkժ__J ==иa׮GUl IDAT0`,-3\pssA`XŞ#11M~g l"۷E?mǮc hڨ ۍfc/7QF܌]zUw6̌t;6?!`Brpr$$@?\| e 'NYH$l,޹st\9s|V1qh߾,XqKvvïy0h׬ZS 7ooc~8999sϞn\Fs:/!Z! ֬`!͟/pqqF>]\Ba(EGǠ^8~L4ooO|t7x:6<$PvSb=ts$8pդ&QB!ϘT &_UZPֽH5@vUQfNs:t j4K8ҡB,@ /WCrj&!YL?;ۀгP8g3Zu A!+ O5ۜbRm$}B !X;gLIaN)'OcƌȐٲܿTcdlߡqt8PY."lґ,C>Djg~:i !& Z[!B2QNsq3t:x_{%x^ap ߡ`h֬k?{5opsi8x˴·vNTI!}G !XGœ8~&ߡ[ZհjBY@?ܼy |cuE>q*cʰxv89'&)XtTj NuZt@ 4<J@!*U>zͯ|Rl2/b1ߡsvv2Ƅ ;M -r8"8:0*U X5ԨO'1\^Ffz ~EPB!VeY6ϝ1|csc0 T*>_Z5w(&qlj&`ʹLec,StB% b#~XPlرCfbH$""ЬM09Y)g.IqQ8' 5ukV0\JgNN6q;!BRZ|0 vmǽ/=zU~V;1or,]DϮ\4mQ+&!5}2s9y 9Yݴ"PB!VC ptX͍X<Ʋekb8 ~]gx~|'޿j;Xd?wo~EPB!VL"Àplb銗/oB$2P*Xt5^e$ B% b\ܽ{7f|HNN .\m{#;;G |jѬY#ԫWTzcʔ1h"T5n7yr֪PPxg#ju8w8j5D F!6iǁ4`2K~w8r:fZ<+yt.U䷕6/e1yh3<4hPqQm}[4j"@Xf w:M+B̉B!]~VF`ќoqi.U:5g F͚pp12h41b ֯jОs.ԩ&/l`JՀJ0\ƖR*m{O3ۜJ@!Ħ0 ޣH,ű^@,BSc4 _gҘi!kݼqfOcո#Xy|B|@!ĸBUkWow86#..m(ЯGN(W.`kP(ĝ;g!;}8sBu%~bNxe[܈@jb,j5`!C+ bʇǃ׭88} 0 jժV|'Lb>R@ ݽ*,s"D)B50|Blw3ӡVkx!",Y<:& `eXtvȐ RHlڕS O2sQz#RGJ@! OUd,/_`&?xm * ׯ6h^ K50ex T㼋BWn /&'3+\C:M:!(!$jڷoGͲVބ޽GZ94hP_BU:'Bfo}?s٨=<|&ةkhTJ !Bl-Xl„ؿѓ'en1Kcް0%V @n#qQ9sA4ρ+7yP(Fwp֘1{~TtE͝lls銭Jz!~- [IGRRСczѺw/Em6W>uQ6[J,!I\9H/3m-//OUXNV{}M3,ӗ/S|uUZW/juCdN j6\s'Ѫu m3V-]\+֐rِà@]O շ{o憟U=jh7c5t3޼y fF9#o3[֭}<jˆrttRݐNj2,O]9JW|Bc_(qzE]98dfK՞fvElЩ#6dz&YJ=rn":vl<ؑ[3Ե2 ;xF@VUa[UV s 5h,//ϴ6[&N_wߚ V[fXT5ХYZ0w UO뛈p)NƩ^H@ruh)Q +6~HիR$uW6lI޽׽{w՜9S^v]\U6@E;Qi'9::k̎bRRRԩ 1 Yn75_@nG;ϫBBKuLO7W 9~AQ>]#'GUV'cQ@4zz}?V7Y,?Wn`XԴiCժU/w$lFQ@Yղm۸Z_oٟ E%k'8y瓧Q GQ@oYe+O~ں޿u+ۦLp\ -#y쌣X֭>^||oE>E|Kr쐛51S-nW$O|?]}x:uV)))=V^|WΝo@I@rz?t|^|CǏT:*11cƓ-͎9v̚[/MZEN/^QxufZ`r"W\s٘75o߬~,G 윇z?_ٟ{oѢ1_鶥8v}W[eb};Zt?9y^-fSWulxTQ@/Q^C:k{CɯwL1i/^aXf#/w)85<_qRrr'9%iU7#$1TјmsssM?԰a=Nۖ/6mZ!C7K^|qmەnsڟ:/X+Wn}աCTV#^D\HQ։C{pYq uNmݺS6-SϘ1^翝[~oڬ>#gs$9TiUDSޘ6Ojv5a999eX(/wUB^^\9%i٪s8[3@n_n]I%9;;gX>~%Y ײe<ķ*1.Vmz |:Pב͎cTM0ClW5~,gd|5lS>~s"*J@u,6|Q t[رi۬Vwf~ݫ )a\ߣ2coVxq aՆ {:>%ŦF(>/W dV5ıcu̯}99=-#Ӿȭ=]fc*( 2xoWjѼi=+IDATwժPU8H[=ф7?1;#i[4ݸwy8Ȣ2%Z}5iOfo;evG͖G;S'i9t ;$ OICd)oTr̎d-U/һoNV:!=|\@Y=(___ 88q&ZCM]:Pm{dxH|dbѳ]^;uaĤd 3W 4Go<3ـ+ L^/ioU'7;N{/EФ7j=e{  qN3ρ;xF >]kҭUj] K3;9@(/Iq3$'M-\AV'3j6l:MBX, OfK$9:8$kck˓t9ݸvYʵQWFrvv5;&y@$I9wfK=ǵqS tv|LGх~P*W!H*UU˫V*\[qIZl %ǪZZzAvأ"#TTva PZ+:Fdg~_IRg;hӖ5Zd}hZ}JExRnVITIR~" ,WU:K:|׮TʽJJ/I @>owGj%f#-/ ( ,/!bu9G5i-kaĤd VԞ%IUk7QGOfK+!t|ʽ|.;N]_}bo\3Gx @s2߱V;/Q6=aR-o?C'tI=uR~͖%Ԯ(?<}ҎqttRᢥ2YX^nxS~YBَȲդ}UBZO<%WwPY?}GeJI͖şo&Kruh*]j[*TSRy |i/ulvNӖ Ըq}=]$ة( 6YvoUZh,Ϫ`( ]OB:Ij6lNȯhINLЭW䕿ی`( l]W털>8:M:xG\\Ժ0cQ܀ 00 a( C` P@00 a( C` P@00 a( C` P@00 adV٣fGn|GYRSSSti+WC( bbbcv 슧'َ0<00 a( C` P@00 a( C` P@00 a( C` P@00 a( C` P@00 a( C` P@00 a( C` P@00 a( C` P@0L\fIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_features/natural_earth_custom.png0000644001374000021030000006524712520135744032656 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATx{|sܘ03kf39+%}$J''$P"g0&r,ؘ~z[(v\^z>/uz\1F.̓a a a a a a a a a a a a a a a a a a a a a a a a a a a a aܜ]p5>; n*>>> sv(e (>u: nJ"P@P~cѢEpr5$}7u %%%#IrssS )88XaaaY\\|AF @PbDDDaÆ.WаaC://Oǎӑ#GoIR@@)SD @ wwwթSGuԹ3ͦDڵK7nԩSɓ';RH`w иqTF :"Dt>;Ç+00PݺusvIpN⢷zKݻwW߾}sNgG@ E/VvԩS'uQ[%///yzz^S=(SVZI&i߾}ڴi~Z]UTΝ;PĕEP߶NOOo(;;[oݺUsUz!(*V+^}i̙ZhZh?\\ M(QrsstRnZvV\cj*W# JD;Qrrڴi?XwuG=(A (1~WU^]˗W2ePČ1ڴifΜ+V[ u ӧyJnMQQQҭ*///'Vm۶iÆ Zj8pʗ/ ĈQՕGjϞ=Zzf̘!c,֭(jJ]tQڵ]6BBBϟ 6~P~~W:h̙j۶-G(% (1|||*U ={h޽ڽ{F|sҥڶme:q p9OL֭S\\\UVM:tPǎuw*((yyy:v옎9Çkԩԩ͛Ν;հaCgRbﯾ=Sjܹz5zm/99Y ,PLL==#4h|}}j5p;v߮~I5o]jѢ5jrWmڴQdd5ɓ'kԩ:u|||bUT!@P]رckԩUkٴqFO?$j~H92)))Z/_{Gty5o\YYYw8qB5kܹs#p{P@PT:J)Ss߿jWWWyZd4}tyyyiҤIR``%K(--`}Ǝcǎ/(!Iԩ{Bi\JŢiӦ̙3oyy___=/u_^ Ν;տ)::ZC ь3m6;wQF飏>҉'t͝;W'N,Ƈ ^G)vc=lQݺuծ];͝;OJJڵk}v޽[͕$թSG 4P ͛supyըQC?<.\UR%4hP CPT /J [-Ҝ9sZ84x` ~Xڴi#Fȓ+T+VfiŊ."\ %FHHFVZnݺ Z1c{9{zԶm[5kL!!!%bVնm[}z駝]NTvmN'O#<ˆ Ţ#Gѣ3f6nܨ(44TݻNs9׳gOmڴI.T QZZZ9"פItahժU6l4i$qzVϞ=>٥Jkז$a$j޽&Oui׮]:q^xgvE5kw߭1cpo"PLIp<n*r&Mٳg+66\ѻᆱe˪wv9EO>D/.~?R}K@py' 68+\/^^/)R{Uvt}iرE_ʕ%Io1E(JNN.]UV-Z_֔)S_;"h"EGG+99Y}uȹ9-[ԛo^{M?P7/// 8P=zwrرcթS'{o]N[b4i{{prrr#FTLLL "a$iΝ5kVe˖yڵ>#gTh233uV5kLQBYΝu:??4\\\t9߿_ݺuӨQSO9/B< iӦt5~meddhђ܌3g8VZIm@pөWbbbԢE ͚5D\]s=g}VFfsvY7/TϞ=UF I 5kTppn9l6tQ?5|py{{; ғO>$ĨB .eggԴi9:H; B (5.^{1>>^ NnU/_{lj_Çz0`j׮'`$k%//_^ׯW^RGVtReff\r%1F ڶmo߮8=zTy<==Uvmծ][:uRڵڵk+$$K/{No^x 2D.omݺU˗Wﹹiܸqz/|E^G֭eZ߫CE 9~bbbb %''KnVEEEM6իյtYfgK/'xBӦMӤIt%^і-[ԲeKY,7lPVU QM6rww/>@Pb}ݪZz!iFwqYڵpB7N?!CaÆj޼5o\.UoV&LڵkKo?9(裏>Rv4zh͘1fWDRe„ :v^}Uuޝ'ZbۧiӦ)$$D˗/}ݧ@լYS[o~IyyyNVfff?~ _aT\Yzu) ͊# (1b=Tdd'IIIwoէ~\y{{I&#$wqVƍ/EJLLTnn?QhhrU5l6={VfΜwyG5j'|ի*?!\@@>}Hrrrk.{ YpN*I Uf+ڧew/^/ڟʗ/eZdyzz^^-]TK.u\=H)--MJIIQjj}JIIљ3gPPN'|bJ-QڵK5Ν;հaCgSctqQ;v(%%EJOOW~~~]]]-///rssu9?7w֭{=_X}wv===/y?wʕ+'___"##URB҂/ G@j֬5k_~>3(++K.\77L{ 9w\\\Դiӿ]!dW+((H;vU #Tlٳg.ժʕ+W˗nv...*[ʖ-{M˹هo9+b/;;[ڽ{}ڻw.;*W*U\="n%JFF~a#..NruuUxxէOլYS*URJ3g(--)55UGUT_5k*44Tnnz{H(1zDIׯ;C?U~})Sٳg/V8%&&j޽׹6EDD^zPxxoFM6ҥu-777]=11pRSS8z7sqqQZ 'G/ cƌ)tqqQrT\9ժUKڵ+yzz}F*"Ţ# 6%# dZ88p@qqq%&c1۲e1 W:tHȐ,Kߟ[,%''rrr$I>>>Wի{G*T\]]j>5!{ァC^2~~~W7o!C^zP@@P ڲe,Y<=s9r1ZϷ?W.܄ @)>@111z4e;vL ,`(E<==ꫯqz?P٥H2@jo߾?K*!!*qC)<]={T͚5]&S@t޽[;wO?M6ɓPuqƩk׮PKp:p;vLJMMO)))_e驨(G={T֭'@?yg5o<9s+WHUREuUƍU^= RJeddlٲz뭷ԳgOUTInn(nDcEDDGѤI]@A.#::Z۶mSN4sL\ 6tvy74߿TիWOo};jՒ%KcjJNN$),,Lz|IkNZ( (N>^zMv IDATC[oխުueT (|Mi;]exQJYV}0`!1_Wbb r Bm6?^۷o3Zl|||ԯ_?=ú m'ȑ#={͛L=#z9I~5h@>|Boj>kQ#FЫ*Bw'Nڵk{n޽[{QVV$U^^^ԩS}e7o^ucBA`$EDDhܸqSW.///c LϟשSSN)==]#GUu͚5K򊲲Ojܸq-ӧg͛ժU"fiƌ5j} 8P۷ZZvyZJhEGG+((HZn~']'|>}j]?lQT (,>F>Lξʗ/lRƍSZTF yzz>}O.=֭nZ(VڴidٳGe˖-BBBԷo_M:PKNNּy4w\;vL 4c=|_yiʕSժUUV-թSG:uR׮]UjBWEb/ %%%ԩSɑ$اrʩzW2ej*=cJLLkԨQjܸ_W^yE222f͚M6j۶6mʉ븩:tHQQQ>|O^dtYZd"""YF>s_~zԤI>@ǏשStmi߿UVEb/ڸqmۦd9sFgϞUffl:~=QBBjժ~͛7kڲeΞ=+uQgVpppaP,uQ/^ԶmۊkJLLTԽ{wuMaaa?55U{)0ݻW5jH UR%2%g}Vќ`dlQT /6i$M8QTn]լYS[ʕ+'I#dԬYڕbQÆ հaC5J6M͛+($$D]vգG"=q999E2\p̙Z~>Bo:t#GhѢE5vX9RjRժU'l68p@III$oooEFFI&9rt"KڷZ1bfΜI&^ xG@PÇ+??_VU 1F:s^z%=sNŋ5|ȑ#O)5>}Z p԰aC{@-m.\'wUjUEEE{UFkn3==]ڷo٣=z7` ,33S6l͛u9egg+;;[6MኊRTT999z駟j6lW/ _oʔ)OgYQFѣ>'j ҽޫ^zYf*Kٳk>|x7fiZ|6mڤU?=#Fzj'WWWUXQ+VTJ: WzoiԨQ[;~A|rssոqc=3۷^^6lؠO?Tk֬%Innn WΝꫯ^ӝϋ['/%K讻rvI(*{|*""BuѣumK...:qvܩN6lfS6mt{Kj̙ZrFEj޼7oIO8_~Y͓&LCr"tI-\PUV-uAm۶Uddʕ+,Z~/_.5Jcƌꐘ rww<==eZ+mʔ)#???uU}U֭ e'>99Y#Fl?)44<ΝW_}_k֬Qhh7o&M(88X:s٣+W*==]!!!뮻Ըqcկ__%zhaZZF oٳn/۹sdvRJxe$󧦦ӱcGcXb1;v4IKKeVٵk1cׯ 6$j d̙cgVkaǛzȸ`3w\됾 ͆ xqF3{l#x{{A-[;v̌1xxx5jK2W_]j s1?M6+V 7|ӌ9ԬYH2իW7Ͽ>/j9s *???hѢjkӦM776S~}ϛݻw_w]s=g$iӦ9ׇ/ _.++ˬ\|cvaygǯӧO9svWWWfFe.\pm?~,YC_XӨQ#b} 6Yn]l63gsf͚uX,Ӹqc3bg^sG1{6LV̾}r߿fϞ}?xH2mڴ16~7ӡC#<$;;$''P|-,X`$///3p@i&H1Eb/ki"## 윆^z6m///ݻw7?5)xyyG}o?oLRR%oذLh"""W?i]M/ _?4w}g~'3|3fөS'SzKr.̙31b 6,[Q/sgIĉ\ˍ:y;wݻ)[dLBBk}I7Wf-[=zIfر&// 6xxxhsig}`BAYddƌsTi&3c 3fӸqcuka'F2z2-Z0Ç77/6:u2LϞ=?`>sIfʔ)wA#lذzVP8q̙3Ǹ]w0+ f2nnnŋW5f3X,;A~͔+WΌ=۸ ,0n3<.\0M65UV57M$ӻwo~nbbbL޽1'O./k.g:v脪nNlQT (6Xquu5w}پ}{/wwwftbg"""ԩSǬ\qSJKIo)ZƝwi?RSR%qC 1׼ƍ _|d>|]{uǜ9syN>mԩcLJJ iG}dBBB?...e˖W^s=pc.\h$SN9_|bb?N]\\Կco^͛7WFԫW/y{{f͚R۵4i믿믿믿ϫe˖{䔺$n-[hСzgs*77 $%$$\W|={;gyFK,QݺuէO}P}ڳg t\  8PӦMSdd b ~EJm۶iȐ!WeX+11Q'(22RSj\vΟ?#Flٲ W&MԻwo}NݱX,Y:v'|R;vТEj*KNm۶:rZyzzjƌڿZh{LZpWG [j4i$?~\fRllZh^xAԤI-\P˗/… \- ӌ3駟j. rsv ݻժU+Ic=#Gb(77Wyyyߧ(ٲeKyxxhڴijܸSjZj߾,VG֭%I7oltb$vlQT8ꫯtq={VAAA Uhh@kԨQz'4aWM6UHHBBB$77~֑#G)Sy-pE/_Pԩۧ^zI=|M EEEiZv*Wr^M:U&LPPPVX޽{?֩SKճgO=SC|3%ޫ/BXN>m-ZG޽Ν1ch…ZdΝkoMժU\\\zcJJiӦb?D⋪VӇ|+))Ivٲe5m4=Ú={fϞ)SFof]VEcǎ:uX'\1FeZO>Ds̱)SF P@@cbbJmYfmۦMVZU|||_ŋ5w\y{{;Z)))I6~IܢP^=͘1CoҔDI& * ˝wީI&_Ԕ)STNNX.\\\W_iѢE_믿O[?>/_c*V 6@bŘBN!PvڥFiΝjذqlC۶m߯_|Qp6lؠ/R_~Nŋ+11Q 4P۶mլY35kL5j(C:w{+WVZ~Aiii8q&L WW^0wc=G/3hJJJҰa }JzzHlQT (,͘1Co"##nݺ+k޽{aᅲf+0W=zhذa7տmVV/BV $IǏ׭ުAn+ϟ?NOVvvڵkwIs),,L]t_UNNe˖)>>^kvvI%_`%D2e4n8k„ ˓euqqQk㪬9".k" j("6mjdmiS3Yޥ2:Mu)*eV[K(b*l7YY=q=p>>:׹+(HAAA7o _ձs}AE 6իhժUϵsNhĉzᇯۮv6oެ7|S7ntsj?/ٳz<@}WQQzK_|񅼼t%$$ב#G'OOOmۻnjkINNֶm۴~eddX͚5SfԾ}{9RX,lo_D٬Y3M8uwٳ՚5k4|ZJqqq vءy)..N!!!z5zh;v}g+VTczW4gΜ:PlڴI#G~ -Zc IDAT|}}x}tܶQF  7ܠqi}[PM;w>C*00P]tQƍu)+##CgϞեK;JIIjȐ!N[BڵK*..֤IԳgKnWUUcǎR~~~ZNM8QVRÆ ˗믿IIISO=[/Fm6M2EΝ?믿^6M'NT۶mjݺu;VGVDD~*++u1:jÆ :||||OG1*F}~sps_… դI-]TSNW˵e(&&F!ͦ :T7x{9 0F.--վ}sN%&&*11q&MjShh~QNNrssU^^.釭oy.#¤oѣjժUW {Qxxڷo?P'O}ԋ/sI:tu/m6I} 6XV[Sgnk޽G}TN]wݥ;v())I...8qjl- +0)))1bN:GyDsGJOO땐LeeeL...ϗoH:x233-rssSpppuU.\ƍ+11QmڴQvK@@\]]8,O:!::ZoZjHIIQ޽GiҤIWt߻[ڿܮ辕u] 6.\?;vTii=SjٲerڃAW~ݻW:u$///yyyӳ@E?xUUU:zΝ;nݺ:v%qqqwwW)**Rvv٣9snkɒ%j׮Ο?b?/^n۶F|ܜEGGR{fϗϟ9s9qqq*++Sxx|||TYYW_}U?ڣ:P˅(&&F6lPQQ u 8pqqǖ}*44Tގsqqv]ז-[e۷OYYY:6 Tn4j(GhtIM65v4OOO[{VTTf̘)Sm=<<ԨQ#5lP5V\~Z-[TddFÇiӦW4GEEu iԩƎN:_uIӯ݆ZjUqq$q ޵ nWvvcD޽[gϞ$[n-ܢ^z9"ܹsJKKӶmqI($$Dԩ#2:vXkcb8Bblrm߾]UJJl6>-[^~G'( @:x𠊋5~x=?oF6lЂ #襗^5|p͟?_<ǩ/ @P UUUΝ;駟:M6:p$I6M_"""_Cveeeڵk6nܨbQqqJ… Gljr\P5h@ӦMӢE[0ao߾z{QSzqeee'|ӧOK.%(([ }vm۶M[nծ]TVV&///M2Efu]wվ_ee"##TGd v/QFx   ݮCizUYY)Ţ.](88XrqqQUUrssu!:tHW}믿^ׯWTTr\z˗iӦ?_D5jBCC%IUUU:t萒%&&*''G...z'5n8%''k޽JJJRff$ImڴաCaÆrwwjˏ.׹9@=p-\P6l_Kn3tP^Zr&&vBGNpfTTTH?O***R~ԨQ#ڵKEEE0a.Yfݻu 7hro@OolR͝=f5- @=PQQByzzIv;4)==]iiiQQQΞ=7n3fhَWTTO6oެ=zh„ Իwonݚ9wڷoG}T/֌389p @gmݺU۷o޽{ I?ăc)--Uzz %I 4PΝս{wKM44i"3j) @v"c,YٳgM}ȑ#յkWjJ:}c9u4hcǪ{޽:t[IZzœ=P @boƍeٜ=[˖-S\\٣ !Efs={O{~*8p@:|>\]pAE9L=-[OƍsH@Buu͜9SZp/*%''+>>^qqqڲe $I...U۶m4Ppeg#qƪv˭[]wݥoWÚ4i٣zKӧOwH@Cubŋխ[7=Ê_?^~8bUnnx%$$̙3lu+""B;wORZZ_ĉΝS 8|/.qqqzWiӦn^IJJҢErJjJ[lQxx%Z_^JJz)j[n*--UNNX0` !C_~PM***~[ׯj՘1cԧOkNcƌPPhh"""*y{{K7bQzzbbbn:m۶Mz5}tyzz:{5_uu]u)55U۶mSRR6l@uQj׮]8ꕫnf|:~>\R111*))є)Sb g 8}>,___͛7OծX,jذΟ?/tMZr&L WW4j?e@=ЫW/c\5Zc= &hĉJLLTttP,]TݻwWffΜ9دCwoaZ)11QjҤշoNիo>j ,@= (!!AݺuS˖-ݻ;{4P+-]Tv]jѢů~B]V6mڤ*8v]ww߽JSp,EEEW^ZfFˁZL7߬"͜9SyyyWt룏>-ܢVZ鮻ƍUQQ*G|H~=:'Сuyyyy@-Ҙ1czjyj׮tm)::Z 6tܮDd}*..1CBB4fS;wVΝ=b? 7ܠg}V7pGpZk{ァ?P&MRFԵkW5mTRVV.MK#$$D'NĉթS'g 8hP j5ooo͞=[gցzjeff@cƌQ=Խ{w5kLQQQ*,,TppnV>> O`-uޟg%%%)&&O4l0͜9S'O֮] ?]*$$n}GdjrDQUU222cmݺUk׮UAAXEFF:{D΋Svv%ӨQ#u]ZdV,\R۷o׎;tiY,SӦMӝwVO"@iv]jѢN8!Iҥ<<<7>ӦM_RmڴQ~~>ohܹ7ݮ8-^X֭S&MԿ͞=[ Pxx=&߀Pg*<<\rww׬YԩS'رCm۶ӧaÆ^SzzVX EDDhҥZlVZe˖f9rDzה={jٲe/g*"@Y[nUFF$To\\\zHÇWxxuk>}z)o޹TeeN999b,KH ̔$5J-ҰadX6jΊݻU^^Z׮]\7|ۧ+**RNNTԸqcuQVUv]v]UUUvCjȐ!jѢ @M#@YE}v]>vءJ48Pv߿_ %77WԬY3CԩSս{wCmڴa+K %Khٲe?A|WRɎزeN<)ժ>}[oUDDﯖ-[:{\uIMMբEGմiӜ=Pv%''>S||nݪ"l6O3gտ5nƎ;4{l%&&yZtf̘챀ZH7oƍGQF4h̙o߾rwww@g۵tR=C ѿ/EGG٣n:mܸQ[nUEEw)S(**J g@"@ԸgモNМ9sf=Zh<B֭kJ6l,Y#GrXjF jT~~4IRxbǻp٣xkӦMjݺ>#M4jy'N[o7|SGrJ;Up@9s yf^P~׿UeWQQledd8tܹSϟWÆ 5p@fΜə^+V~WHHG@ͱڰa?kذax}7>}tj I:wΝ;駟֐!C 8sZȑ#zoEz5}t5m٣X,o^Gq|jjѢEܹ^z%-_۫K.T.]\\\@wIz7Ըqc-X@fb ZP 8vEwfΜݻwS:t;(%%EyyySIIZl#Gt-ZHV͛~X .P&NwyG v˯ݤoV/_K۷0Ev]IIIZf,Y2=z'ԬY3g?4QÇWvl2grEv>3EFFW^}YUTT^wyӢ+..VLL?( @!!!~K/D|3FYVs=z裏GnWYYUQQq… ?y.xںuէO-_\zkw}nA~O^zgE=au9PEEE***ҩSLm޼YǎfSծ];5mT͚5SӦMբE 5'$))I111O(88fQXX\>|XՖ8״iSWj߾<==U7;xEM-Xh޼bcc=Fqss5~xv}wϕԩSB/C=T1***vZ-^X[ljU rJ\R'Ovڡ䒨8{VU~~~j۶ڶm~)445P۱>4ho߮0zjѢ;7|S999j޼ݯgϞJMMuݮÇ+))IIIIJNNVffrss/hٲ#.ڶmj}}}k|xEM#dX_jzw5o<]pA 4Д)St;VBCC=zT^^g}V[nURRΜ9#/qU ;yr0fU{օ det1'дix;C1cWPPۤNdXJuֺ/kڵz4n85k,7Խy״go^&LPPPx :{za:t<=={n #@ ѧ~Jz衇{G=w~^ZZ$QF r4p!@:t֬YÇ'ԦMP-]T&F %IDATJOO\ɓ:} I7|r'O:OO?͛O?TK.լYTUUmذZjUmiӦշo_XSUUm۶@ڰaqhڵl PXV5JFR^^rrrTQQQmt|^RR'Nĉ:~?]v_ ${>}' U6m̎/֣>*IjРn6{j֬yfmذA[nUee˗e˖NMQ}vjݎoN<)텆O>֭u릮]I&WspIR=4yd-[LztMz7%g $Ţ[nC9rZ;:z~~~~֭:uꤦMK򒇇Gl=ѣGYmٵkv.֓O>={\VU!!!~ (xc:^TT kJOOז-[oquu%@rӧOW ,effСCgXԦM***J8pc~G\1<==շo_۷+++uQ9sF?/_\P==ZZ^z}[3>rtMO+P_>åZ-ǥͥ /N ,$DGKqqRB=.VLw$ @tӥ~ʖo 1**p H̟/=8a#6V)@t*U7mLJ$+0 H8fqTԶaaAΤI˥W_}*cj%Ut@L6~YVM4Iڳ@-Yc ;q @HB @S}ؾGtBO5h }{|sg@!O)"~{g@Pc !7 ~Co@ !7 ~Co@ !7 DzTl"IR4V@gIKժIjI5kJzV@ɓ̙vҧClNK.I7$ii8V@pZeAH"|P8EoecXI>,@RRjtℴs= p?GJ(Cd1@x Ʋe7'(@AiK6OO>ОwOuԲt}#B k+d~쳥bŲdT%|*XВ h9縓].i. 4S4o  l M,U&ket6ߦ [aP$-]*իRm >F~ii|T*U"pxq1V@\9iB;wa9۷;0BS9RRMw'pB-XsԷ-*  ͚~DL @E 6T/um*]Zj BzW _|ԢED 9ex $cO@BORzҮ]@@=Ҍv^4gNN 5_JNe@ @ ,` !7 ~ConqqRbԼ4p`g8 @p[N<ο 8`[Xw))عΈܜdZۆ(@lY7o:t\gD 5n,m$%'Kz63 0A@!`|c<:u}CJ[KmH]J))#XxΝRzrI'=rt]_{ҡCRҲeҾ}yk?#xGBTv5N_7"BmXB~l 3d~JwuJCit馛wߴ4 0>ܳjVw|wV  ܓO=e}/k:vŽ{ߴ4vDiBÇevnB_+]$%'Xw$=ƻﶱHk. V@ T9A7{RѢ @@cQ?@#P[wro Hj6u~@BtiR3ݭʕwI:e H!9Kں5wۦTnͺϝ++&vr@! ๩SU_i>-Ǝ{֬z\3GJ/l|k].?]Xk(؂̂L륚5swR]HKzw~ 3ǎYErw]z⋙޼AgRSsWʱev^u>2 4Xx&,LJJ=O+|j)%:Oy 4gfδ>`rYWG;W$͞mK]) gʗ ;ǨQ׾J:|Bvm+rkoaG5!;3fHIcHŋKg~ѣɓvGȝbŤ޽mcdb=EX+a tI/Zέ7ސח~;﷎,…\ ڵF~'v.KXY륯˗jR2R˖^[:+ tK͚Y ,tiT)dIQw&ϫ4[+m.&_4H4IgbEiT{hQ @KJ6la`w~$j%XRRnݬZi S*GѢX1kBxԳ۶Y@&uٽ"`v}{.Ab4?*U/ex3^}Uz%)6־/Ybϻ\֕<9Y];{_ɒv(aG%bU޽˗KoyJ'NHg lեQs05=oV(T@ /xIjT/Ç[ GXH+fۡlOұcWGNǥrl;Wq[҃~˖I*]rI  .?v>p}QQiF'['%I]H/{ߎRS-qHI1NժmJHw'Oر6:dol?qP[+?T+EFn9yQQg~]w9>*cuB ر{{{҈RRٲ1clJח~Ɓ;@FɼyR:|thۓxX >*1s}})2?<8Ҥ?εR&H-{EZ05muTrU׺6{޻gG=@,p,_.믷9vﶊU_9 $͘~ͼ_T&p \TԺT׻\V.v[ňwJRGJs{4onox'ٿwߵ~\{˜9ҪUV^|bI}{ww\O,_.m`ҥZwY6zaFVjv_?_fδSP x9+_ocR_"iŋm%C2Ucjլ)`9q8dkW[8tHZi3_o+I:նQ[yn\6ndbז*e(K[^IҹWIW[¼<@@/Μ}&vޮth+y5wtV*/^yEzϗ+9ۋ/Jjy I6JzC 6RҷZ[;-HOyǂϜ(@|"mj+w{\Rvպw/?$5jlÝ~g m:Vaiq`klbbuQJҎx>U>'?n~t.5i"ծ-w=RժyS=7/غz}!r|ra+URO?-Z57`yUZm:y/&FoTh֮-L;wzLhdzJwm+@Ж.K:z?a!I{ح _V>H :+:vJz#y >U=O_8pL&5l+ BObu%OJroYZP76Fo4 >n $^8yRzI=3@ _[RqRlݻǧJ咦Lso$&JÆ*/ n9^F|!-X|^L4iǖ+ FϞGyȑvu~e>޶}I8Q\ٶ4dHg! |'_Ϝ׾b?%K¬r$\{Y&M5R_.6d?^yV.Lrz}-X㭷2?VͷW^['}})U_?oy_>Ve ~y~?{z6 8x}^T>믥e,1}`ϯ;zTj{Vn{JmDzeӮ3rIafͲ^{-swpt`cc=YLL|ItW\a~@ 49"=˧үڶ5kֽZ嫌ʕ]¸8ukpVѢ9| @*{+f=t3 BkIvY/3yI;;V;+.ν*,ԲR|#ǏKKŋ|*XǑ#O_KJ\T֭sףڪ*d >l$9Y:qhTUH'K| }lqɒ ?,x̯eF$I~(5m}vƈGZһR8f֌o U+6_=\ ^>lW~f|-XѣRl\+sjHǎ9;m|%iĈ޽68`ge=M~Ej"-=X<%?TNga GǎVNiPK1z.-=tͧǻJ+WJݻNfҏ?ZpɂGn-ҵs@ +mVF2kn=\X1 ĊA@(WξKRϞҜ9vO{v_LIۊǤII39wEoؿ "gϖ_~7sߤmP>]sR۶Y_ߵK{[P?s!ݻԛ5_KVwߵ|,E}X^HZ.Ϸ<#G9][zy>qHoxKG=Wj߿-N11 kP޿zXyvƌqHX}9wr#4F-_g~AG?nǤ={lKUlGߴԦM^(jCӦYGz'N'R;?T@aä/+JȖ-vޠt_w6gg-]suA\VOѶ cȀҶmžsg{OAނyǎ3g-Вbvy\. FNt+\qt#MhAwx@p;֭%ۡ$K߳'5K֠K_R%kHYvmСՃc㭷J[r}ҨQS6>\9$,1n# D#-}s] djaa9W8ЂtwO1ѣm,_>u̚e4ޯ]k_;/?\|G=cU7 IDATwG{w LJƏșfu֫¥ l )-^,m,:d[5/ժeK…qk)SlԄ Rv|ŊV)kˋ];qq=<9ٶ*=_~)+ =zǶcg%}{;NubdrY')k'}ذ"",09Xirk|hW#ԫ'}矁 ؂ ;fS-[l$sNXy^=*mdU6^X4mr@YھJft5GL-V@$kxEv$[({"w߹M(mt%ғOf~8ܜ=rWgI/ eܯ-}BldO-S*::4"V^yk> @~|Ν>^-_ǯFR[6Lz-ϯ} c_; H[3»"#=#@. @ڷQ%3p{~.]쐬oȄ XNϮ[OxnZwMtJ^M8qb׎Z۽+v=/:ZK;wVA@jPzA鬳vOg Gڻ7wl$UbW¤~=#@nіkJHK=d6Xѣ6NhEv><#܎~.&Hҝwx㍖xmiSw^Z $;~2-ZXc6m;~$7ߔ֬>g-@ =ٸ};<ܐIK˼+,iolgδ?Xū /-F^O[&MwXO?mFk llYn])<\*SFW*ZT*k~׾t]{:d{lj=ŋv>|!|W=>},GC.̑K-?_ڵKJOڶt~>QQ^pu˻Zсn[˽ߗ;OڲN5k,,h\;WO>]ZJZN{_T),\(mܘ[   KB( *ujA† ""IO>c^cG۲7| O멧l%"ž0aYH~v]ٲyܛ .Z l^B x|4xWf[4=KUz!;¤å+m%1Qzu^%H>+j 3TB 8ۗ#XҺ>wn_KIؒ%-=>G^xw(=!@p;7sÿ#|j +V+=+@ @գZ8er?=7J}$/5iⓩY_ԑ"#^oZ ~Fz!;r&O>)['-^lx32Ez- L mkIIRɒ9v㯿ݥ͛-: ~O󧟶T=ۖG nm #KZV3i~,?==Ѣu@D9;Yw/$!Az)k^XXԴQYW2*;$6ֺv+g?rDV{mPVԭ}vt,}4oԥK`OրQE }EG[_˶`g۴ A9s!ڗ/f̐.Xz}7ovپ=0s o}{lY{~+Y\{ ɓ[w (t@ 'ѣ҂I37LM3l\|]+ lծ^sV,2 Em;Ieޗ^mG8_C݉6ؘ(-Zd/5=zu11KgEjbxblicc87ߟ.=󌝟bm0JHVS'뽧RR}|<[*UntL@*R$AvdTmZĎ+7<WbcswڵҥRժn O*TJ\ 2e~; F'N؊Er__WְPҲ5.$qڻF\b*U'NX$=Ur8ңFyuSY3Сo 7Kڴ  z+T4l{clȑg/~AZmFiкKҧv.|#P9=<-XY%]+޽Rbv~4n4;_w55ZIkå{p;zƑ#͛-[ܯ gASvW^|Qڸ1N'VB^{KmK.$իgb+U-[7~7t@n+K7h=;fδX~x @2?_WiVըљ?wo-ӯWRl.0?VHjL*wYG}2@ @Vt5ܶʿJbJI+VH+Wf @+ZHRgY~?-,Zdύy[WaVuws]i6 dx^cmukw-iܽᩤ$K1,%lKܮVzeixqXYcQ-X.}d-+}T7Rv Rom1qa͚҇JwiAOҿ]T4|ש#e .-@ dԫTm63ӥVA/ϺҾv^b8!/uEYkjhVz kz8u*[sjgB@#V@!%V=nTXE[-s4￟ZV 6n[[g%4z=vjՏfͤ?箾:Sj(i2iBidϮq-wYI\~z85W_NoGқo_ysVjz S,i9:eIru1?58y<4kfSe+;gTU璤(t:u: 7=-A߬Iޚu #))s"zFNH'Y5h`@AF x]4g4thgdbbG1i}V[Yo> @ʪlM 90#</K,P | ,H RSݻ-(Sƞ8rrRtu9N<.$ @2&7n,}s}ϯ)̮Bz P |Q_~Z7΋ŊImH_msr5'8q¶xկoI8#ǹjO[Uz{z 4ڷ<'HywҒ%  |ꫭƑ#V֩6%'h8U\./}7[G Plh[.D:v̽!WGbD{ܠU>=<5\T .VRjo:U6#^r?f9~KPO?Iw~\9U+|fɒ oA#%rUbc([V2nՂ>۱""rܹ?Hn=clxzᬲ)~nBܜ"gW[;(@^TEk_y2ɂjȨJKjT%J؊ŬY<4xt%J=dr?iG tEFZ$oTBz)w}^)^\j{X={Z Ym?w>]zUQQ,_ʒ̞m nsZѦw?˚_a۱ F||KlsÇK5jxs ҥҍ7z6S@ny?_{vcݍ7ݺY?g{ HL-R˖y[1vf ȟb,P@n%<(Y{:Q$短H(@ 7z/HD_;/ݥu_p&wogȀ5~ȍl -[Z 7YM!'*`^rȍHb;nuqg~O%Kӯnw!a[>8гF￷E>6pm;[x^˕'гVd{U2y*9!{W_-7г{Gn$%Y [_> L"iJ2VCf̐N~˹J={ZE,@@^T(ԫ=TIfϯOLm\vf~,< P@@~)Ԣ믶YCÞ=};?XAGrR~%+:ڪZybPkj4"^NǙuFaaqfMi(il Dbb,aq@ _##}W7wyXd%K~6|]ͭ5={|:KP?~W:w}?Զ4jd24HkRj@z/T+'w8Et뭶=sgB:p`f_ͳm>g}OxtEex}aCi_pkPXԧxqg}@ /&Ln-Ve˺U7 (_ԯ_7O3GZ;+Y.EGK+{ᄀ&"BZA͓nȂg(<o SOY\oػ׶C=t%ٿIi|k&8hw>W-9Yjޜ3i8&I=Y@,ȭt+Sh))o(9ق]=}GGYBХ*"bWRʪ`Ct"kAUbY^= UAEHi?H0!3L&9yLfksڳ ÆׯwŞhPzi޼Gq>ׯɑ#խ[Ε}T=;c=hd_;9;bKCFQJp.L;i4TĚ5Rnn"UT䙕ҿ>rҿڽ;ʚ!vu/~=x9֝wvm $@Q|=yrdznNϞҷߖ^z0gzadLW/矗: ))z5g`k?J3d4ȟGSg}V8 ft]w͞-oBh:uY;n{n:(IW0|?[ohTj w޽n ߿a2>:ur7xKܴ4_eQ ]:t`QE/͟/k'x{ 7ߔ>@Zzҍ7uk}BRt߻zN\w&6ic3_O8@zUU4XZzՠGq7d;կc:_ϝ띌b%)Izؽ^yu&kw IvԦ KJ]; @f$?3 33݅AG.P5Kz%irlw/zt'%ųV@~}{\V:??\2m QJkv>;$@[~W.>`j,.]|ub}""CINjIR|kAnoQ>?:g z$g(+@@ߍ[[7TRfG=-@`7&SPfQurz74@Ux J7|Jx'AG,(((]f\/@ 3 YU sj!c VtԱC4(P@ R1s渮%XsAm3TCy0i`R孋;v z$UG 7HK3f=BunE|"mhҠAҭ=#-M<+c@ ~}}ݼ.F GQvǾVi˖`1F:K>]bi2iʠG ; z$UGH'M$͛h  PRJԷԳowpڈnHHz}m[c#@i.(ۘ1RVAjS缼`1F҄jؒl99UWEŤLO JOKkJK?OAT.{*4, JR~{|A(yRAU%XfQ#_/_.5lxK]UJJ,]wI}h fj=K.fQ5̚%}toIN>DSZg=5v;ʿtR > P֭)Sܫ{teݼR2p4ujtҪU^:ԯ1c׫FYQDJ3yԦMlfcV7lS#/O腁^{wWҡF5iӤN}Bdfa\pW/w:Gl+Y#}n 0u8@J(Ii}ON>J7ό̙#u:w'mzM7I7H@YVl>%U'hQn=#ra#"/={wqOA#xBZ@zq/C_bӼyEO%/6F}}8jַÆvR NFl6葸 |\G}|GhSǛ= `@i4q F>ҪU%);"կ]ni!:\;@aJ3x׿wҸq#lW e4jIt?zT:u|@"@iw駃݆,MJgKۡ您V۶;Ϥ.Iq|)dUwy嫮Z z4(Mr/o̙}9]^A_ ((pSCfRvҼS]wZk |=cG˖ WTeu_|ۡ_-`#'l_4Ruw<#5Zݺef;nvO?-sl"s"+T򣏤N2҅Kȑ> !CΝ;J7~~Q6Kr8"1!:B\']y pC;|X!n-F#|Tv#5o57gH?X]ِΝ}{0i*;I{oeg{v @@B~deI&yf04I+鬳oڵ[zVJ߼֩e;))zT^*7gKJKyy"!@IsJ_7Cx9Ln304{u}Ji225k(.Js(}%9xw"^uE4AŋÅ/i8֫wٳ[j;zN^w{?FxY3ozD>s?kn4x^~qgaRR ]~=t_甔؎C6?c??qH8tBЧGP[wQt%RSr~\nt Y{j8/:ԍ/  v73S*(Z+˥.^|>TsrUdmӔPK{K ?H!1z͘227٫5E"x s)~pK`z }̚%^Wt4ދpN;ͻMYVA]31thKڷCHs4oٟ|qzhJ-[ "۶dժ`Ǒ*=@cwiDZD <Ԣ s1}׮A^=l v ;܆lUeґG,f@D@V\," M其-* z$HysP ,osmnA&2̑ zH))'i„G A@T_օwzĨ7NC72*k47\8HS~үJ7$pB#-c-.4 흩!l z1C>\YS1"~o+iS#A"x @D3 }zԤI㉴5\\H3'H$gdi\颋=ь:u Az(H$'3SjNzG,ttA #W"Le˓wt z$HtBQOfT~Уɓ]+DڵҊ֭A@!~23믃I]~g@:* (;KUƍ駽p sQA/fΔ57CRRR?JoOcƸiڭ:z\I]']vY~H6͟Jim3 W_FRR"]' vz͚"iSE V-i<鬳89o'Mr3ߖL;NZPڼ;`J\P`=9H-[􈐨rr|?  ӫ`y $M6ظGzӦr+!vms}Kkj֬`~ʘ=['4x_ }`LJĖsӦ@B"ƬYҧ:t ^fU}-- N?}ǯ\:tϦbT5kvSXYJ:l_;  6 0aC|Dܑ6wt1Kݺ7T_*}~tA@"nס-uj=[w#Մ ^o챁…ᇇo  {%K\l{~ neK>'I>rr|n=MRR)Bw}J]!/ .3]2xg:x`4bgzf%kRǎA"&Mrúuwowg֭ y=#@4_/wގ{R=Z: oG @,X5kw{ssi/ҕW,Ic:D"e|\Q0=h)-/.fpmҀ)Dԩ҆ U Ps7p H:@BH9|πt J-Z=J@Eb ]G!@Ԭ5j4/tRll*Տ@\ @$ (m[J7Jӧ~ (۷K<"oO\=(TֶmҦMRӦHN22|,Z$`ed)ht >H;KTCwޑVzAiDiH)5U*,c-4 tf~ٳ[J>֭^zI# PY+Vgx yI7>TOSH=$sg֕Z zt1TV6+}V-i}uk+? ">K[JJπē借H`RPߏc˥˷ڶ-'O=%=F||ԡCD$u7ܶu:%"do;}7zޜϐl"<1fԯ/]}uPRhQGj?A aXʒϟF?]PCZG׎St ''KJӧ4k4dԯ`bw6IDAT/=]UjR6C ^Z"SR߾;nR#_YMAY \;t!t<  ݺy+NFZkmzOҫ\ZjBRSc3~T=7WN v<?SNl/qC>},sHJ7ct睞)];v= e# ~ywHO?u9d_/^-թp2u.Gנ4  2BKl~[:T۩ ҤIb%Kv,rGՖ^--Z$]+%u`םɁ'\tte-ٶ-kݻ# B&N.   PUծ'$-^,-Xuk?^yw$TmkzǫOߗ&tw8C,5Uz?W/ /ƏZaUS6yd߮SK.pRX֭ᣨȳ&="T7eY/cs͛ԑ6n4ϩn9c vg QBC5tQnj-AS~Q#[/Kk~:tKu̒>8@@jޟ]+M">$$%Ic/'K^Z{?F4ǤM@ .M K5kϡrA:A؝S_~,GlRgB ]Æ^j>o · |,[:+z؝}Qֹ$;;cP@;n{>äv.]  @z*wC G~d92Hp̀@"(*9%fM5N|\#>{^MDK'X֮QV\ʘ1>%9KrAbHOw3B2㏥SOMJs\E/JGo>_xݺ9ߊݙ3㎓ ZN: @ڹ6kJL1c|;)AXWO5b$'ǽ5tIM-=b}LH$M&-^~䙭w_Ke'.$z]3 #HϮN_!@<3 +WJ7(5n\cSRsI1SiBԷ4sXPܡU9$ē޽o)cߤ-[;&$Nz㏗5sn$]|g>$鮻Vx$TUuض- 8kZoM#:˖IS~SSĉ҇JwP@ -\(ue,u&$<~W@YN:E Q#tV1;9Ӂ&+ǖ->gf#GJ=zgOFPO?ݘ1 7/QGIEp)3Ӂ@^~Y:?{~022|nT:ʿFxz~qt} ûeY3g-~?Ϙ1ҤII'R Z!@ZHzY_MJNCݻ76T ii>.5lgQT${g;X ^}K]<!).v-FNu}|ߞ4H3ǎxTk5 R۶AnxAeK];Mvήs]+}gz7cPm1*7wIڰA3's-Hn'3 %{\yԪU ZcUnvghw_s^~Yz 裥y6e$G#?n3 AI/-_sr:O8@Zw3H/({nlW/_ת忋TϐI}Hza/Z* #@:[.]NҨ: ۽emm[}IIRN;nVۥ;֬ sHY+9Yں56 @jHIPKMH8D骫:$=t}df9@0mq7.vl`I;:lh[FÆ𻼊/H`_}%͞-]|}l{*=KڶkHhGI&5i"5k&qF~7?_}ԮI))y͍ó澸س[vǙgJg%լSMz-ݡV-aCo[5jHS"uw!cJ-ZT#%=} @BM.w~v\P ..Mڮ(.b͚yՔ)M7ykjI*u^KRS=‡Ŭ^@"@\)OMKso)_~ di ?fbn]No/d752cy5_s?88H>oRg{9[yN/&_׉-'#;`GgP@  >t-Y{ zBB/Я7Ҳeծ2`iiiI=z't8ZcB%>rs!@,{ҷJ]$]wPxMYo|{ĈǗ9_?wٻ<ƶl{a䲪P- Y%%I'V];רc‘#Z:h~D [g@Pe%`̛7OG}Ν;=򋛹m( ]QEۤ1c|^~A^TXXte~Inx-ӕ$]{=tsrR|t wΘh[;bLrr\h?j֌\q_ ңzǧ+p#0J~&V\왑I_w;ֳ1}Vzw!}3̙^ZҔ"@ٽJr]}H"݋aCmII9H]=ii^>uMC\"5o^>H3gP/ cG/®B^ "F_=>owAx4f9nYJwZ=?6lسQ{WQ_|QKd> @14y?u?To @:uzSNqSi$r]Ƙ%X"9hUA~~!vm̀0`@4Z-f[y$є_~>mZ#A5%%|/h{ؖ-^j3tt7Wz:MD~Oa&I^^Uoى"-5`f{)7wףF]!gDח֮uض m_z']hTz 6ق@T@`w³II~Cyi_q^\%PQ0S6tHyz7kﳏt5;~m6~{ǙǼ, Q@l k:xoطmsqyHRR^",pHaCHA͜.Pcw]ۍ32$~%MK/ z$=h̳5":i 7(\@TxԶ>$cG顇hTmґGVl#('e&}{/EDhB;V5n,]~yg O.u]ȃJI:?# y%KK   P,eG" %rg >#hW?͖N&OzJjRw 1 (͞kf?D ʒZ{Tn]={J:\';lxt]bm0žM$͚%}|kO{G A@,YY.,7ɑFvmEގ߼cЇ\Ґ!x@@Ig孠32ݽ3D @͛7/!왜O>}C /1"MȑҺuRY?kVw $a»^EヒsH Išyx5k֨e˖A@;w:v0Zf֬Y0CJKK z@Dhc{}1C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C31C3^yaIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/0000755001374000021030000000000012706121712026044 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner1.png0000644001374000021030000102603212545000115030610 0ustar itpeavd00000000000000PNG  IHDRMsBIT|d pHYsaa?i IDATxwXW7bC"5`ͣF[aF4[ -D"hXPcb5 (JQBm2+|k/ew̙3sϜsaaaiP0 0 0 0,@gaaaF 0 0 0 aaaa3 0 0 0L#taaaiX0 0 0 0 aaa`:0 0 0 4,@gaaaF 0 0 0 aaaa3 0 0 0L#T+y) cU 0 ^ZZZjj0 ӈsզۙO}ua'O9asۙm]aa)::&Mbwsզۙ^-tR_caa*ιVZU5b濈%caajl*0 L9s(vkwcmS9. 0ucŵ.ÈUyyy2eJqI߿u Ӕ9r(vkwcmS9. 0444jU Oݻ׺ZZZ.a2Q] ,, NNN>4 b())Aii)JKK!H TC(BII FFFPVVnM`1aB>C9$qLBDΆ:[n!55999˃X,T*D"6B!rss2BUU***ܿWSS6tuuaaakkkm|~:uD"DFFÇDtt4| d28'χ9Zn6mpO>paa## 0 nݺO"77xp-|жm[$%%\@@8ttt`hhX!)) 2L.cƌ㑓|@$PѣEر#>|PšUV,Xgcc;;;B*B*B&aիչBp]̘1dHIIAJJ _f̘]vJKK+dff]]]hkk"0 0 ڵkVXra7?ׯB!<==׍`ddL>(..Fhh(ZlC(xoF>}ɓ'qIx݋AUo4i>sڧ 77ܝ޽{W\>,--ann0<\F/DXpfϞ+W#F:tJ]uuuh"| gQQܹϟ]tyŦ"??8q"233v-ZP(DPPBBBвeK$''x}a]vŋaee[c0oc}Ls7 X̙PVVF˖-AD駟j*嵵$dMQQQfҥKrˌ=N:сP(DQQQ㦿[hkkWZb߾}ꈉ5?~=ollΝ;cɒ%h߾=ڶm kkkU.ow)1a\v ~~~puuE1gBD"bƌJޯ㫯ӀY]]+mmm !!s7or3 $''C(B,C" ""Kz0 46lA0 H,@geee8{,N:/"??{MII eeeHHH1BSSpݻ S#44iii5kqu7ǃ _a;vp:~8ƍ=aǏ6FGr|.].XZZٳg5jƈ @߾}"ۡ!իM}v/L6 ˖-CEEEػw/놨~>}x@]]r%MMwXv-N8Ptdee{oEpp0Q\\ Psss60Ly7"0.hҥX~=@ sVZxhٲ%JJJ믿 }v NNN'O`Ŋ(++ hݺ5rss2vvvF-p tؑC|-[e͹uٹp666:u*$ 7YMM 갳X,nRcgW^ ///N81c(t=nݪyL///B$qΜ9WWW@vv6"## CCC888̬Qw79pid2!??yyy@YYoNW׈W^Err2QZZ +++֭[xd2>|KKKL8:uB||[n8p <<<*q(WLe"H$())A[[VVVzg=vLbm _? &ԪCĤֹw3M??Z'Oͭav9awљ3g:t(|Bܽ{W.ڛ^?~vvv KLcdggcʕ߿?R)!PVVb\;󡧧>z xw!449r$ ޮwŽ{p!_xRRR/pJJJ  :uի1rw}:u*qmT+2W 6fY999HII!Zh-+u"** uQh'NTh}!!!Bdd$]Ǐ@wP(䆒tPRR+-[wAǎJXXprV<ɓ'mD"po߾4hN<޽{EhѢ'@WWW!aiD"\RXVyE35d] _ױ\@" ??iiiPVV  ѯ_j /_Ě5kp1xBncVmoo(t(..HR@EEe˖U;Sg7n`Μ9Cb߾}011ֺX,ܹssN7B!`bbkkk5J_z3g*oX[[+t%___lݺ{;vl֬yPVVw~<{ k׮F#GbȐ!RߏW"55eee z*@YYqqq0119ͥRiS}ADֆLLL!wsNȈbhhÇWk:8q8n`cc>}`̙H$ EHH?\i ,$a*~A$qHLLsº1SSSqx


x1g.Hヒl۶{uDD000@VVSECYYVVV/5sb ϳfΜ!C`ذapvvƁMU螖֭[7LӧOMv%̝;O.^7n`044{ߊ+ЫW/r֧M/^`̙uP DRRQXX3g -- GAA`ijjjPSS\N H>ӧcǎeйsgtϞ=.-- =BΝ# `iVww 0ձ U5:gϞ%4`*--/..&xW_}E&dddD&MMM@666  777RUU%uuuJLLk׮qׯD"/#>O;v$PHfff駟ҥKhРAԪU+ #"277I,QTTW~y|>\\\СC$ɨd2B166>+ڈvKeee ]feڵtuuƍLgϞQrrrhرIӦMѣGUV}' eee:Қd_͛rJZt)yzz}222K.nݺEDDtI#LFc*..&TJ PHZ"]]]RRR(O듭-߿Ri߿Ua~!##^xQu+!<< j]Kj+;;Z˳};Ӝ[\]]H$z]xKÆ #'''?~<ڵΟ?O/_ :/^m{˖-i͚54o<ѩdV(X,;D#dDhDD@jjj4{lɡ@={6}GڷoO۷'] @t)""4hWnþ4qDZv-ݺuJKKCݻw۞nݺѹs())ZEurrs5~NNwѤ_kvk~zڴimܸ,X@#w᦮mۖ*mڴnܸAё8 wT*+W6ѣǦcW~6oL=z*ߙիWիm۶MnP(+No***z]vN8A/4zh@&&&NG .ѣGiݴyfڰa޽Ο?OuN)wc6̙CIII b3P#GVky3IA]ݻSlݺ<@DD+++DDDp9ubK---XXX ??%%%ppp}dH$#::077/''',[ 2 xΟ?6mDll,|}}[~dd$_z}}}.?5k@II z Agٳg8{,`gg___q)x{{}T[=z4Zn j ׇ6 0`7>믿B&x!A>WF߻[l7|]TTooo}k-0hРJ3f{zz oH$<~Gtt4|>q1hhhp-Z@SS\%K`ٲeu284479y6n܈ VطBOO-[Dpp0̸֮]+Vx}{ ի+PƪߙYwޅN< X'O x)RRRн{wAOOr]n߾s᯿Ǐ^SWWP(|r͛044 ! QRR%%%aȑ8<q pbrLL ,,,j4MPQQQp"EgD"hhhԺ.C׮]<4'gϞ5.G"ĉ/C۷/ڶm x(O>cRVVN:9t|.1ڴi+++|>Õ+WܿV\>]]].D"1p@ xvK$qyѷo_ݻ^f-VY5UZZ mm J@jj*;vϟ?C6m! 1|L6BrBdlJJJ1b\\\`jjv2EQQ 0ahjjbG}-ZCӧ }ӧ?~k999ŋUu/^L&&չb޽;TTTx@*r|> вeK,ZÇGRR;ק ;;;@]][ne'q pXpϐiN-@֭;Uvaqeek&"<;h$$$ !!?ƽ{0`hYYYСCѩS' 221R)|}}DD"888W^x ._pnC^^^| Yؕ9:tP=x<())O?7/^ ;SN.\={`ٲeHOOGbb"Ν;---ٳ[_'NĠAV!іV^ 9s&7%YUeffb…˗//\#FT!"塬 iiiHNNFRRnݺK.!//=z4ƌ~UaJLLvD)S`ҤIptt猪[lv IDATǃ8pHRn; nnn֭| ,%lllЦMt]QQqM\t w܁fϞbHIIA||<<==p|ݻs=C#ɰm6\rh׮455+ sׯCEE/^T* (DDDp v0LL߹`ƃLR}hիGSXHOO'N޽{T朗dJW\ݻwԩSАĄ^7n |X.RRR"???:XXX U ԵkWVA&޽{ƦB~rvv+WRhhhHvU]4ydG==\aKRʢh:vMcruuSr/Ǐ֭[iǎN666ԵkW6l}'\PT~zgrG*crIG\`&www !!!+ vi޽|rҥ xLgΜz;rLF%%%&JE999ڥ*bbbښttth֭TXXX+---[/]zU.D"[nqΝ;GwFCCCn`jjJ9m۶"##I*H$/)77 )**u,((˗/sX,+Vȭ{$H.Am3;cm/H 322ox罽iʕrϕ˗)++:wޭ+2"?պӧOSffs111 ܣGhԩtuogz ͛l.]N?s>|8iii2e I$s-_zziӦznVϞ=.KgϞ%KKK W^tEˋ6nH111ԥKRWWCU({᤬LzzzSYY!2j @_~e ֭[iѢEDHKK>\2ޞTUU㑫+mݺ\\\C4vX,ƵQϝ;GdkkKO>>DK ev٨.B h޼yt% ;wp200do}}}۷o'|B| ꒗B6EMHdgg'm͍*0Ǐ޽{39::r+[VV^~֖MFJJJdoogj2ׯx<駟mԩS'%}g_yDﶗ?/h׏f͚E{&OOO|2M2ѣk55Yu/b,Yu!L8p z|HPP988:vk׎ aKO&ڹs'Bͽ{믿UVUzWhviv0p|L>z8Pa%KЅ 䞻~:V7|型$777ޫIIIf͚ ӊfdd=x@;vмy+++#wwws󡡡o߾ ]9+>CQz ΝK[l lv;vK.q]/^H}UwڕڶmK /_ .ݻҒ0druuܜ;z%%$$TzW͘1.ǡ\X033~&Hh٤R;vvvԡC:r=xVϯA5##;F_5|277WHW}6ٓmذAL&iӦھ};[LMM }UZ?]V(ݸq1 S]ii){HiN-@G5͜9;iK˗/I"ѣGiٲeԯ_?o߾]vMnp=N<`4w\jݺ5S^t\=}tB͵khܸq^;|< @@U$iΝi׮]^߻DDDȵܸٓ;wח.]Z!WB:y$1PN}{ȑ#ԥK$ i[ш#HYYrZnٳk S#Ņ1 #i޽S)ZX4' ׯ_QGԡCz;m4i“eddЙ3g?+VЗ_~ICy摿ću駟r ȑ#4I}ӲeˈѨQ(99tz-4O˗WȁQO?30L%&&8Wʛd24d2>ՙ1Ls(rtwz$$$ÇkSdnju5zC:wLVazݹs;mݺ\W%k۶-X.]J]v\o*L.=:G}q{USTY2ƍ+$y!C7'4 [jJdeeLJϟOG%CZm3:Ds%'''nߣta*U]dd$-]T!e)2"k׮0&ܹCk׮,@g%4"4hsxyyu.S,cضmz쉠 㯿ǸqЮ];ETڊ}Ǐnj3-[@(V :uXK.;wƋ/`ccSSStQQQHMMERRRSSabbloXf ajj;vcǎx 0vXt֭uW]:t耿 :u#F333̚5 HLL8::֨%)) eee G}Tٳgcǎ#F`Μ9>eyyy(,,2k1 )˱c0{ldeeAEEFFFEXXxXf{E"^xm"++ ~~~Ejj*lmm船sb@QQBBB0`Ta)Ənݪr3<<<^r\rI+5fڵkiݺu*eNHHKr6m4:wwVZф ÃNJ6m7nVVVFfff4zh& ;9:u/^L4}t߿O/Ժ1114zh%[[[RUU%###/EZu4V>$t֭jO&w}%,))XRVV&%%%Zx1-Z FBPwصk*M0(==]nIVV}gƌCqqq$JI,sСCɓ4m4oi\-[#eeerwwvaB>C9.8ƍӧO=HnnnȝQ㑺:~/_Nzt̤{3 ޛݬ'D4}trrr=zu֍hĉ\Ç{mgϦݻwWh#777z^^^%%%[1G}(?mGU>HD|>mD"۷SVK.n/BO<ۓƒܹs+M O>Qvkq;޽K?39;; 0H~)=.]ΝKFFFN*-\V%@JJJDFFFN '''ONy[U M4l4'znyqq17p̤R;v, Ҙ1chȑM.Çyf >OÇ5k֐7m۶]ViH\mSSZMKK#4iϟ?N?SRWW';;;!OOO@[nq]Pj׮w0`jՊ~7ڸq#uܙK+[JDaݻw+nccC{tQںu+]8P)ŋ4uT.飝 0ƏO_| >C=zә3g*gD͛7ٙX֖۔D2J=ޅ1 <<3`)]rssiܹR.QhĈTVVV˗/H1 6_x)o? IboΝ1bEDD(U#ɨsݽV"ݩM6\|RUUƊ&%%ޞg{+..{7GI(88Xhd2:w999\VCU0vXjӦ lٲJNt%ڽ{7mذBBBhǎdccCBZ=(??6mR~.##СC*&^pr$aUe JbۙQ̓.'N_=dL6 Æ |~ŋ={6ѪU+۷!>ҧOD۷o#>>ꫯSʕ+燶m͛۷o׫ wwwL0Ghh(_b%%%a֬Y a``8!99֭ùssNL4 8p;ʂ3N8$''B!b1Zl^zaÆ qݻ7<==Qrssr(;;Ls$H,ĉϟIEEƍG,Wڹs'OARTz]rrrh̘1dii4?Q̌|> pSI$ƕPff&듍 }K^JKK2g7'MT.\,j۶- '''ׯQL4gnG]h$aj ejƍ M檈cƓ'Ogj~*-LsR}Û %%%>|8]2WZ;v  j*1}txxxϟGvdxAXX233q̙3OƫWu5~ .] >>/L&<:t < ɓ'C*Xf 7;wt}PSS kMT.#++ гgOB*VÇ cƌ鉤$| ;0Lc1j(coo>L!e9fXXXC MMM0MIX|_ru~~~ą 0n85{}UU!v GGG,[ 8vXCzz: ```ccc|fffH${K7 _B` G!$ ={ƵGa``={Ĥ!7QhjRm6x<ƍ(++ WWjcii^z˘:u*V\YG5fiƎr3`mmWH9 ԰]BBB  p9r=z􀯯/uի>9s` zL&ѣG1}tȽ  QVV%%%,\HLL FΝajjip +QnΝՅ5233 CCCsPRb?aa 1lذj'aĉ aއuqW~ r]r dff6`CUUÇ! 1q 9zcǎ!<<iiiHOO&5l0aժUކj۶m3g-[ 8/^͛71cٳڵ+ Ιu-8::")) gϞEPP"##jejjʂsaӧO7t`aHMMk/_f gݺu8q"7z„ pssX[[c۶m9r$.\> 8x ֬Ym۶!!!ظq#DQQQmO]:t(~kn` IDATܹW\ڵ /^ݩS3 :~aرi1 (ޡCRN^^ݻcHvRH9/_DddBbuDGG+WN^mٲȑ#Z =ze6mBnn.:O>뮭_}Ξ= 777ݻŋCII pvvw}Ǖ}̙ߠz${aƌMkݫW~|g矫ϟԩSx)?j.ƍg}#Fp:tcǎa̘1 _'0Ls+d*,@qnj*00kUnMC,ӧO &Zh۷Cw[Ě:y$iӆ,,,(..Q}_bccSNIK, *,,y摙gV幬9B}%@ WF@@{טڦ1Qt$%% M0b1tm.c0oL&#DR멉v,JUΗۙ b]t?MITťjT?L'''888p{Ζ[6** QQQqcǎ4hkkѣhӦ;k.tuu1zh={w}W7nUp5U;f}ilҺʗa6t5Ꝗz ;;>>>r tttEMe)333XZZV+!\\\Xd 7l`ҤIvS>|8TUU#hjjrY+벷p`пt7oƤI六[rt޽Fe# ƍ%.\ͅ3.8󃍍 кuF{0 S].\@^^&NX/;x f͚.]wݻ7ziiiHMMW5gFX^ѦMwQQ%9 "¢d sQ*ָ戉,"*" HSC``sGowuuϝ[$Bbb"oߎ7nPQQAZZ@mbȐ!۷/vZf5";w }}}.\UF iii{EOMM̙3PPPuuu >>> lllJ].̉'^^^h֬͛7hѢ1n8IIIXr%mۆ̙32dH}F¼y߿GZ&=ȑ#pppqi}6`᰷=O.1 CWYT,Z۷G pql޼вeKt FFFPSSCtt4bcc ;_~Uj糗 FE=>O-[ ]t4:cǎTN;v,?233i֬YѣGBj{j۶-wNE@rrr~UVx<5jԈAxb277'tz=ݛx<ݽ{ڷoKĥq@6lIIIIim6%9991c}Y,ϧÇS͹UV)""T~{_hG֭=z={Ɍ 233O>OYq7Els*Dž{˗/tRRTTh"9GFFF҉'LLLHIInݚё֯_Oݿ޼yI7qͥbCD4w\򱱝Q`z%L<v!tmԨQШ(7|>%$$$K۷oGt=zH_GI&ھ};pF)))'RIUUV^M˖-㌯Foߟ6m*ӓ'Ohj*Zj=~X Ϗ?ŅҲHǎ#}v""!'''-%HUR~9x  UUUӧP׮]… BN<== s׭[ZnM*_}Nb0TpUK"##I^^\]]KE4i҄lllDM\sݻw""cc;6 *ܼHzz:;g`JZjIiܸq"ͥ .В%K9:: 剌חLBw޴b 5jw}Ϟ=Kjjj,)5++)**+b rww;r;tttؘVZEׯ_'$CCC,}/&tQ.MNNsΜ9"{g?߿ѣG,--իW"0P݅vQTG؜`0 S];;;). [n%iiiz4T@LLL^jT:IIIB۳̙C{쑴jՖӧHyիW,X@ByfϞ}[k׮QnHJJ4h@7n$.!5jԈ3~|ŋ .,1_Æ ZeA\ښ5kkL>۷o A@@_x?S$hܸ1塢Rj"¦Mlԯ_uv?7tuu1|pӓ ݻw˘իի| <!!!^0ZͥK&+((H( Ž;࿼{쁋|_\zbkdffEQS`z`aa !00K:u7oǏwޅFdֆ~F6lPbD\|/1СC{n\|_A˖-!++8?c/]-[Ğ={ХKL0VVV~ľ{3"Çѻwo.n޼ HOO/ܯrϔF||<@WWvҥK;wģG 算Çhݺ5ױl2 24h:tP9 b0j@YCDU4,]cƌA׮]$… Bi˖-ʬқ7oͨxd0~ *{=;򓤤$jРu֍;KXΝ,uiԆ~#G3f ͘1"""(''Shh(w?޽Ko޼_ 5hЀvIW^[WgJcE Xv-ĉ4OOOz )++K2ccce˖ԧOG@pp0k׮Ua* Fa ƅ~R|||ӧb+!!AIAA*,?gWǹǏ"=SQ`zru@'O*be˖-J6nJrrrԨQ#RRR"%%%SaellL7n '''k^[jEvvvO۷'.OBBݼy&Mą+lt֭[7ǏkIIICHVV|=z &&iӦrG^^=y򄬭IZZ4oߞbccϿ!!!4|200wwwz__vʔ)Ԯ];!9锔D&L FG!>O"*k8`s(Lqシ7ݾ}[ -::{yyիWtZ@TTӊ+*؂MLL c[(ׯt cc; *f$'''<<<$Jf۶m1LdccƊ|rz1Pvv6~cǎ#LqqqꐓC 6LE@@@^xA6l}͛ĉd``(((W^ҧO(++²~5>|@#EEE:rP >:s m۶D(2e ʧ5׸wlNb0)i\w>}TaaaB;Ύ_x?.Ҙ1c~w:p@Zll,9s vFmULvv6u҅ׯOk֬iЭdffҜ9sHSSׯOђVƒMFFFԼysZn >>,D255%ccrSxzΟ?/ >vM\Xp! ''"s+ݾ}[`wD?{{{ڱc!)**ǣ;wVq* FaJ?.d@ooo|>_NhٲeBLBN"/ SNdmmMy-ZDvH #GRLL@;_^ ->>4g|zQEP;.^H^H̤2fc;6 t H]vV'NXȑ#GHUUŅ"""&Ƶ<:y$nݚddd(88ؼe{jԨꩨ| W^QfffyrrrhƍF>|ɓ'}\u_o߾q1_x!t=++zMo> `5}ԨQh"ڶm[^ Faj\P~~>uЁڵkW3Q4i޽x<\6??233󣬬 \sww[_3%Ȁٙi̘1VG$222ŅЈ#|(bY4n8@,7R~ͥӧ[.YZZرcӓ̿k.ɓ'\*LY!63j@ [oN222C?'Oϟ%0ԥKRPPիWS( :vH/rJ>|8uܙx<իW=_~djjJH__ƏOgΜ!___JKK'$$ӧOu֑Dv*LY)8Pxba"""-daaAvvvݻZlI 0U=. >u&Y...H>}f̘Azzzނ^"##N:ԠA;v,ߔIRRR4k,.˗ޞׯ/1dooO3f Իw*k C4Cu)5-.  FaJ=z$ֺICC\]]+,Ǐ$//O+Wf563j2`H:u GÆ !##{V%%%!77deeaΜ9Az))),\yyyPQQ-Ю];tI:dffBGG22U3ÇqyxyyӐχ oС:t(t<|׮]ݻwÇc 'O0bݻܺ=|:u)Sſ6_~Eʻn:|888@WW5c0Mp5 ѳg Zb԰xbkIII/@D dee u5^ T7ZEk5j*;w;{l:r䈐lkkkJHHHwuu G[k.Zh@Zzz:Y[[ 9iʔ)Ҏ!CPf͸:8Sj۶@(/CCCruuzM3f̠ n޼INN}V뿏nׯ_ԔZn-vDDDŋijGAXk׮ѪUHOOO(,svX ^yMmGa`0 SҸ m_~͛7\:p|z5=zMFZR555$555RVV&yyy*!aΏ?"< ]~@}9o^`lܸ1V8;w.Sĉt ڲe uޝtEz #???RRR VH(/߿?CT^2y\ _ͩk׮\KKKVǾ8;;̙3INNœ9`777ٳ'ѣBr|>YXX0`ihhxdbbBtqz]NB)''222(99}ҫK.ѣG"H4ullg&*ia!@KKK Ǐ]:еkWpqq&L &`C~~>ӦMIIIaذa044ĠA@Dŋʠnp6l#FSNV^ձ_ѤICK֜9ssCϞ=q|yyyBecT^|Caܸq: K3m4<UUU///!!!ؿ?&Nf͚)CJJ PTT `hhX! ¤I" & 0]̛7O(-++ WձpBϒxVZxi=ĉ9s<0aكΝ;CVVF([]F<wŢEpI`0>III}6\]]ѯ_?ԩS\^z"‚ *WgE& 0p lذo߾B߾}R&Pճ `ʕرc233;w`…+ nݺ8x J})R[./_%%%lݺ&&&1cITdeeq5pwwǶm۰w^<}C`` 8z(BCC_L>>_D-[bÆ 8`0 &077ml C6m"`Tc%tRdddcǎ˗/c˖-޽{˗/"2qvvF۶macc3ggdv> MMMACCCT PSS3vލW^a͚5e#''cP;Ui׮XV;ܹ#jOOO ؞3>|]vE;v b`Tw.A,YR۷cǎ ܹ3޾}[j011)I(<5lmm{{{@llleEiRSHMM-LLL~7_k׮EfлwoI`ii YYY<|QQQ;k.;v X|9O,.}k._sѣG[… zv?ڵkѠADDDy`0ŋB^"OIIIl066s2tuu" 233!6y FWf؃< ܪ .qi:uP͉۷oԢE j޼9Xm۶4cƌr闟O3f(2V)M>O-_;ǎ#ȫ d@<233>}X:y$9dggGhbׇ(33޾}K@Rsvv&#dnn΅sww~>>>KMa0qݝ(33( Ξ=[#3ڄ\,J .NNNM $cǎ,,,vZhC褍ׯ%'"xO>Evv6|>M E AHH nݺ"4jwXpqq) "&˚5kٳgQF|Xn=@ԣG6l>|<<<EGG[vJJ =P֭~k7 ˗/)++XaaarPa, 0ō bGjjjf'v"999ɑ*D6 G]v Ҷtխ[|IIITN0` ]%IpB+ՠ&kk";::ٳښ\\\KK.T~} ӤI(++LLLHYY._,6w^啩Ғf͚EzGgϞ%CCC2A:::dbbBeK$UUU:u}ڴiCe˖E Fa"ٳgnݺ%yDD? ˙1cA9<;;JvFmVqFa*iӦ 9r$)**Ν;K|y @ >OaaadggGʔNDDZZZԭ[7% 999255%###uTn]ӧOE[~.^/VVVԳgO""+ڒXη%%%QQFBDu͛T&++ @_~ "ԠA2v۷oQ-HSS-}I$95鞩*C(Le [n%999&tڵ ҥ M07g|,""?KvFmVyqѣѵkW^ZJE=Rzzzbرprrq̙"ϛ4vvvppp::t耺une˖!>>u^V`Æ pssõk׸YYYhܸ1SN077CW⩳yPVVǏ"&5uVhii㐑={*$ݻwh۶-`mm UUU~t. ܹ///nݺȼm۶͛7Wsg? bMdǎ&455T& ! ;::Mѣ+ccc{x8xXd?:TljOe`o*[n :x𠐗|z9iƍŭtՋ[޽;=-{&Zr%r߿k?T7{?;;]r֭[GRRRt2ˋkrNrEqtt-[788LLLHIIn޼)rVVVdaa}=)++SDD>}/^L7nlGEEnl8y:f؜`0 SBnn.թS֮]+v%22Ѝ7$Jac;6 ZDdd$73ԇ FoΫ&&&ӧOu*eaaA]v<PRR5>OǏo Sbbbj ׯ'YYYJNN*GdnnND?+++S}]ׯ_< 333)Ǐ|HOO c&*SN%cccJHH [[[Ңo߾Z.55 Ȉ"""T'ƍ }iڴieQas(LQBpp0]p²+5gEprr"eeeZWG__NBDDBKK :vmmmxxx}6:@GGjjj044'|P}ׯzuuuk<'NDҕyyyw@5#$$-Z@:u$Ę>}:p}HKKcHII'OJ-+++a͚5E@@XyE||<ЦMhiiƍ011)S Eqe BEE/^DVV:t耷oߖޥK6n܈>`РAe*`02B6~Ν;|ؽ{7.] MMMI`03%ȷo*E֯_OѣG>}: ???bڴiظq#`bb=z-[СC1|K,]*9qΝ;ɓ'MfM엑#G_~߿?-[H/LZZVZmۢ}hРnܸ%K¢;CCC <NNNHJJ~ĉ#wN,>|ӦMN:˗"522?hiiٹL{{{ 6̺3 ƯJѧOZlq~~Jŋ ri|Xnd6Qk%zx_|Zj~XOjjj4z*OR"NFAիWbYS%77֯_O222sggg}ZȗBqTo>}D}vk.ea̙ԢE2Y~=)d۷|AHKKӢE(55**؜`0 SめnZlag:D_|)W{:}@83}ѱllg&.A$'Ν.]:?͙3˓HѣUEddd MfM7n,MRhh(=իGHUUR}ciiI#GJK.qLMM 9s2z<\z޿_-[T 56'1TŸE˫<211.]," ]kN8s :tػw/^zHMM2{.,,,p19rYYY"tEEE4lذPr塦q)?ŋ6mN<\v ZBHH|}}E]Ѿԩ&x={AJJ cƌU5;v쀣#O 2DT 1k,?I&A__M4Y&ME\ոqcXwV UUUק?~;d8px ˗իV^ŋC[[[$3gҥK?=qys`0s8:t(Zj7VXޗ/_\fÆ HKKK.ԶE$.A=*iDOO[L:6l>~ѰvZ:tYYYʕ+aeex$''O+++ddd 55s̙3S###mEEE۷ǎý{` M._x<ߏe˖222;v,N:$̙3En݄8f֬Y "={~z$$$۷ܽ/.>}1/^ GGG8q:t˗aaa8ܺu [lIs6ХK1`0jM6<[[[HIIׯ_Nj/*$o̙e;v?oVdq>g̟?_Wc05}ȝ9m(ٳgKZbyc^z277Hoٲ%уо}۶m#ԥK"z߿OyyyDNNNo7n\U5J}v@,|$;v\F\}ӿܹ3]~ ===JNNKp;wuԉDΕeܸqڵkGu%6$QrGDC7ɓ'WHދ/ʔĈ[bTq>g|&bQ`:D|||yRUUB6Ν;S:u… @322h۶m*r]a?hѢE_M ={JZj϶mHVVc*;wHJJ{բE $%%%ZbX}6|T^=rpp(] ϏK b M5 6'1T0fݻwEr'N:63jl;D,--+++p^ Aj ߿Lj##+**b…"9+O>HLLĺum۶2oߪ;prrBBBթdeea۶m;vIqEܹsPVVF˖-ѻwoxyy6mp CAAAdIIIزe bbbн{w.>:fff~Kg0 tRsT6|>NNNԩƍW%u2!#iKKKXZZ"''s΅.ƌUUU١;vXҥKGBKK 'OƇvAFf޶&L@||<\]]qiܼy!M^|۷ͅ"}W,[Lb: :CHNN|lق?011ʕ+j*HII)aĈx!Ο?'Op/Yfa{.222 4K 6HKKCVVE"*yyyU,sqe[ %zIFF-[&vYYYj*mHMM&OLbۓ mܸQh@\\=| 4ͥ yyyjӦ oߞ444222$"SN:kSٳg-޽{4j(Z`ٳ)//iѴ|rxTfdeeE4k,@ti.O=6o<԰aZwD؜`0 S0.<~X }˖-n:ϟ?ܹsÇQQQ"姦۷σ&[[ _?őJ4f̘ U\B111b{ JΦ(fKkkkIP!HUU/_.V헨(z*={_Zr%ikkSÆ )00PV%ٴl2@};wҠA #MMM@tsɯ_&)))rvvC=uڕ%غG}%---[Wo)11†lw---MdiiIԷo_211!s&܈& quޝMM6l Fa2.RTTЋK.ݻRRRښrqq۵kGfffB}}}ׯB5-XT]/_N Uj^"ΥW^ wAP!C><<6nH\/Ӈ#wΜ9#63j@ wܑ uM2K/_PfHNN>}$ֺWr+taz5ݝ/_Nϟ?/_V^~.]JvZXhIIIѽ{UEԨQ#ڻw/)**:tMի"lڴ)ptܽSE9`Dž]ҷn*Í7hȑByM&dmmM)))M diiIӧOM6QVVǏ$#Ν;t ڿ?~ЬY<_Ez[n ]rl@Z\\=zrss f3ϧ'Oy. >| iiiڴiS]-qy#g]xhڵP)AsNIRĐ)++MգF>k׎bbbyzz(ɓ'4j(ѡ Pdd$wm԰aC0 lNb0)<.+.,,,hҤI"ϧP.|ikkSNhdooO۶m+WPNN_x#//>}$Y}IvFmy`SNa„ 077ʕ+&M`Сؿ.''W5~B]]YYYPHKK̙3%K`VR uuu^ǎGzz:0da͚5*}aرȑ# }}}.ϔ)SܼyX=RSS9'q۷-3 F e*?77Ҝx_zT7D7o455+Sr޽{COO/^q^~K-[ݻK$&&ԩSx5ڴiUUU :FFFe-R;WqL6 G:uЬYbQ(GoIҿQѣGiƍܹsg\rDxC^^8s V^]l;\CCCDDD ((q.6mйsgV6lٳ'f̘!CԘP`0 ###H߻w[nŘ1cc;vDy222b=֠A7ϟ/Uy֭"wVRهܙӆC^^U!Pi׮]PTTThԩ[I(~7=z"::i̘1Ʃ$35mڔGD?_@(֫/(߃HCC @/^r ͛'POϞ=RӦM p/L&$Q iDD@ 6~Q~~>M8444(!!Jt) 88йs窴^qvFmmqg CZZ&iuбcG8::bݺu ޼yE֭[000ݻ퍜I[e 2oFllUt{22juVܽ{7oބ4BCCfƒj(,[L̘1cYfC "22Dƍn:#77WѣG| W\: VЉӧOGNN;)))lݺ|>K,T cff={  C2dqF k`ֆ!ܰb 9YM6>ܐ&a+uAEEÆ CJJ/_0|p"$$V`kk}b̙Azp}|C`` am6l֭[m۶ݻw~s۶m#G@MMM<=Ϟ=n:BJJ h޼Ouԁ1x`_ݺu.]ogggXXX@JJә`0HJJ: >>b3//6mJƍб#Vllg&.AL"iĶmHNN|}}+>PNHYYvI~~~]uӧOIYYƍWTzhܹZOM-&44YfMKiii1c5mڔ4iB?&"C""JOOݻw˗/)66bbb(88͛7AT^=@4l0)^Φ;wĉ ͙3G?͛ԺukNWWW\vf)9`kkkϚZjEBmmmiӦ.v=LB;v Sd|6n(&~2ub泱Q`%Bعs'J*%--&NH RuV VFHǏJ"<<,,,HVVLBh߾}ի2:}Xڵ+۷/)))KMQQ6mЀё\tr̙JniӦٳg.KɢEHVVVcOȏ)G%ȳg*\,Y)k֬!yyy֖!++<$$$x%^xLlڴ RRRB1F ؼy3}kע]vHLL^xp׻ϟY?h>|6lQЯ_:'EQTuX?8pfΜ UUU4k  nܸOB__VBaa„ LnR`ر8x ͛` [tIłBdgg.]˗/˳uU~'l6,]ሪO] EBBBȟIH455ƷjJhzK<ޭ[7hjjVZ---j*bffF3g???CH/_N Vkh~~vԥsEQ?+p̚5dme233!&eeeUy>>>U|2~zj@֪|oor?v)t19gcrڵ*EXҺuk2x\}m%33HHH;w2QJKK!6l)--Y;TۛőbjjJfϞMtuuܑ#G{'N r\1b%dܸq$??BȣG,155h,|ebbba:!='Qx<Yv-@ ))iӆٓp\rC.^Xwj/::T+﹔㑞={#G֪R/"~ N5%t.F)JKKAܕ~y-iݺ5ܹ3IKK6.2i$ҦM ,ɓ'EFc.³g 6BqvvgM,\aa!yu|L6M(ݳgH۶mVVVUWZZJ>>T+$~Vv\ !3g$ȁj\Odd$QRR"ÇόɨQj&~>;w o߾SDGTSBTyyy$00PܡXII ѣܹ3勸OӧbicǎdʕU+..&yyyQׯ_|UF[[[)o޼!/^ ~~~۷/@v!Yii)#z*Yp! 6XZZŋ5Z2DQʎ }!ӳu=xHII3ghfٳg ֺmuuupBqR%zlv_~q'N V^bX8p8sLg6gϞڶm+eddP\\\e#GYYYUbϦ.++nݺ8Ǝׯoҥ z+++9sF`ϟ?s l6ڷo &ѣݻwh=ڈk]Ξ=s 2SLA6mZ4,^ΝCffá_SfqaMTzj]fffG|<_JJJЫW/ٍkM3f̀%%%8fΜ ǔ=z &&ծ|sx4k `ǰa%-ڠ(+{AHHH(++x-[bpssÇvń2K-[O>ƍ5b&IӤ M_II }#RFFF" ^'Τ3DCC̞=[`ӧOɟI444 sxeJhT ~FEgϞ%#[n-w@HTUUܹ.KɧO&(--#_~>>>DQߪ/_d<ҿJ⪵#ddȐ!DJJ dҥݻP‚۷^۬ :ޠ:@@:wLl6>}:yCHJXz5K<,<{^X,Xzoѣ tBGGcǠOOOG@OOO{MՌ3M---999=z4,--L>]nݺ:];;;l۶ VV7oޠC|v- :rrr>޾} ͡,`X3fLl%&˗HLL͛^zպA!::{ʕ+1a2ӦMDFF)ʰl$$$֭['(jx~͛7]vPVV|cX8}4,Y???ddd`̘1XdIrs)͆?,Xׯ={+222]gɒ%u|++rϞ=1qU 85j)bɒ% /_ȅ)6?طoP-[}pvvDy7ná("''6 buscofpp88;;שުΥ믿:tʕ+ѦML</^(߽{w***(**bNjpD=>RDq r;w$5ZGTK5kF֯_/E@fɱcqF~$<<,--lrر+|@2qDIuuuz%ƍ#Ijjj?>Yhp8u( DSSى~Bٵk 6/_===ҢE RXXX۩A_P͛7˭TQ !vvvh۶->Զ_ .]`޽ G$()) XreϽxm۶~X|9hѢZO͹UVXb^LܿVmS))))BPRR"8]vxtcb۷oŋ"kgѢE˫2q^z5k$v-Z,Ʀ֭[`X055EFF;???|>}Xsȑpqq/Zf@׮]TEQ 4E pqqYxeqQ<}DNEuCCCΠ_S"֭[CJJC@@\\\ЫW/hkkcGC`ggcʕ"k]vݻw+-[hjjbѢEexP1r666 6X`,--Œ"˗/#ٳk]1޽{###֭[(̲eYYYشicuFDD|РA>}:֬Ytګ)SX1ߑhڵK!܇ЩSS~xxмysXXX`Æ h׮^~ݨ֥_X,F42 kk*/x x<k]Yaa!Ix6mڄf͚ i"''8?ޢZթS'ǸuS!REDJJ \]]h"FŪlgxZ~ yyySӧ:۷oח:)t1bbCWzm%""0667v؁(">> R6?33pBx{{C]]ҲeY?_v5jW.l{eJ"** U@ IDAT۷/>~Xl6 P}("Lg߿?~zF츯3:v޽{oذ:::ug#GuRTCCbeq R8AUm%((fff Xz5uyyyWA5Fu_^3vݻ7ѩS'=z򲲲044ĦMaÆuԿK)SRt ϟ?Gqq1,,,Dr(.rrrcעq\\rwIIIѣG@MM8[jUχ).\X@L3LwPQQaǖ-[BUU:)tJd~ . ===[[[H>FСCmۖѩa5j^|;w 66UwU۷oѣGI; ]]]>>Bw544Ç ,0qDX~Ŋ< .~͛B՘#f}JLL*IYMEEE|VO&#F۷fcȐ!Z_AAMTŋCKK }LCII:=NQ% rrrԳ}v _ݻw/wKKKeFe8q3fXn``C^^0w\uѣ@f͚O>yӡ#h4~ϙ;k툎'BBBGիW:tH .:t9snhhh@RR'N:@#q R'N!455k^M^SbccKKKL0o}6x<Sꢩ#!!իWٳg(LC9s͛BI)>`(((`<!قh׮$$$?SJ(Y[f0p@7888sY -ZM6BqARRO>eRRRHIIaNjh]6o,D*00ӦM&入KbΜ9СC #l\_l6UVթGbڴi:׷]… ;vyC헬,(((@ZZZܡPE1NUUb<8łSʾyZvR5***1bлwoF,#--[2Z'E54t.FeY"B5kVWvT_233dL8Nq; Sv___ܹsVuDGGcɒ%Xx1_jߥHHH }P͛3f(QPSSkyF0yΰGHH~6@/ɓӓܿ666Be/^ӧO , AvX,wuuȺ HNacc#ŋ nvׯ011vcСp8puuO?ގXXZZbѢEʪv|}ǟJGَ޽{###vxyyo߾v޽Rm!o߾ŧOEQ6:ƌyyy\tI,STFD,,, aaanj@~JW2^Ǐ1#wa_EBB w:DGGmۖʼn0:x<166&cǎ:AAAݝ]ٓMlmmI`` xsܽ{z(Dž}EJKKLaa!IMM\QQ"Ga#pc;Ք)bԔ(**f :ꗕ+W˗/ȑ#kbRZZR$%%UYOdddS2O]4RUX,tuu)rt ܹsΝ;x=22235 4h?W!7o۷kkdd$L}}}XYYպLMM 7o^LBB[e>FwЙ>#66ь;m4F루xX1gq!AAAx077޽;\.*ƍquxxx4kE,}^^^HLLDqq1담4p\ͭwŊSS.U޽{x9rq1t n݂uπ ׯ8#F0`k'!/,nݺ4()K6m4טE۶mpttr7o &ҹsbΝx"uX'!4 d;Nnnnܹ3bbb %%9s]vHNNƉ'"40HKKy{.lllDɡCƷoߠYfaѢEg44RUʞ~==z\ڵ AAAPWWGii)_͛_~􄚚Z͔˃rT8o޼'O;vFI___lRdPEUlYA#IIIhiiAGGGOjj*ttt^no޼A˖-u/TUUvvvtv؀Zܯv(QtqiiiΝ;k}0vuuq{?ك+W2+99wLMMq!XXX@QQQܡQմxblׯǐ!Ccr1̟?lvdn:n?^KKKw^`ذa:޽{Ç>(/eo߾j\xK.>p\v ߿痕6ҥ2!!!033k,X:ŸsABB{իcԨQ@2Yfغu+}h#&%%ӧ (**B.] %%HӦMôip}cϞ=8upj{.j׮]ߡ1bѫW/KQUum3FFFBgeeǏ{BB>~Ǐܹs,YBCC.\t&$bTXX`kk[Ν n :8Jʢs022blp_Æ ݻAƍq Tk]Kb:˗")))ǏE>EQdddjT3$$>?HaܸqXb> DGG#;;_~ŋ/cǎnJp\ߘ}KBZZA\n7UۣÇ;"""I&_~ ŋ6l CCzjibbYfmhhUUU ..^b(bвeK~ $%'r8deeUڶLMMk(IIIX`}FLNNx슢:]) .##Su~eFII ⠥;v &&&"i ShߔOTb``۷o?9"">>zzzصkZnqƉ$򤤤 228s oa^oqPjѢz]uCBB`ggWg KXb7lmm{n888yF=QTEb$dIPv6..ڙ\.'OFϞ=ѽ{w?ƙ0MD/VVVB^^?Ǐc 9kkkl߾F똲o>z ÇGN Xl=~-Ϟ=ׯ|$d*9cݺu055իW1ydCQMS:<|ִW^!^~ x,,,#L"// XXX 00?ƒ%K ++ׯCGGbժUh߾= ___Xpwwǜ9s^/Pk*--У6 P &M$Ր:Ũ:uJreeeiFQ%Bikk#!!Am=X~!XYYa"(xirB]]ZZZ~^XX *g5yyy.޽;OmB jh81w***Bxx8Μ9-[TZVNNw[[[$%%@~wy/_Č3S/m߿=8ĉYSEUGFF֯_ٳg#775#$$}py!<{K)S>x`WLJJ²eE5X]xQ!0*""ǏWZvȐ!|xe]\\ЪU+xzz =w)_*F|WWWX[[ɓ'PSSҥKENvv6mۆs!''k֬߳gHڥ(*Oxx8N8mqqqʪ4Ahӧ}ЧO{F˭SNNdѣG_FQS 00}'ڷo/T_~:͛'H)5 hhhb5  EΝ[apqqIEQ9<={G)y[=`cc'''?^ _OSkkkX[[q{HH.^b,[ǝ2zbqM}޽ERRvލx_ R՘#11߿Ǹq`kk ###ik׮wxEb8֬Y)S`РA=BVVVۻw/Ұwr?LpBʳla8r^x. CCCݼyP)t1jJ);Yܹs 6 Xt)Ց\n/LR17khxyygϞHOOǦMeeeqGQ/f{קKbΝHIIѣG(..u9ϯuʢ***e5STcBѰacZl )))Դ2سg޿$ՔI_*Vݾ k0i$qBQ/,::G ڶm+Y]boܸXn<<<>ۿ뭊(7MK5eݐݍ70vJ+ ̐3gTx) hT:}ghرcG=D%~t( B,Y;b֭m۶ e4s.S6:@!''Wifpفf#""[=FGQ@@@ӧOs4EQTc@BZZΝݻc5zGxS Wk(S)FhjjÇrBS1p@… hѢE۷o+TTT'Щ__QFAQQƍw8EQT#UVa"{HBB.^{{{|tAQppC`СC'|A3Bh"9:|}}: s(nT´􍑑1s_&g(}vdffV.Fu=`54χ;޼yHDFFN>3f`Ȑ!?~} %%%8::M6PWWGne HII[Abbb\xxxÈ1<<<0i$ȔE9^"""uuZ}X`yFFRSSѵkW&¤AիW;=;DGGÇARRRٛr헊Ѿ)ꋏ =Z`p|ڵ ܰj*@\\|||PXX]v!..Nlll,Νv ˗/1} e툊(ǻwjNnn.޾}or SRRp%a̘13Siii;zfѵkW 2͚5/5EboG(nܸGGG(((a`` PFMM nnnXxb~uSSS]0776ӧOc„ իWannɓ'֭[eݻq X~=]&P6..[nENN7o_`Yff&Ν;t2---NQEQEQDYY&Mӧ6Z;ozZ޻woe͛7ĉ4F-\KKܙZm۶0$''xa)EQEQUΝx }}|r9r6m-:@ZZP)Sǿ|_h׮֮].]?b :8ɯc0`]]]BQQgFqq18&== ,@ttt1#Gbʔ)ЀЌRa۶m033.gݻw:e/޽{ATTݻ!99݃\\\m6899GŊ+p BH(ٰaCוG~tR;w/\.0|?Э[7())X|ylWEҔZECAADdddeܐZ)i~yyy^aذaHII%PSSOj͠;RSS PRRXp!:uL~}EEE .1++ Ǜ7o :44111x"Ə֭[#==PTTFݑ||EEE3|||йsgܺu &&&{ɓԩ$$$rg@NNcǎE~```w_Cfѻwo@]]~~~qBBBRRRPVV$deeѦMł~ ֭Cii)PXXlxwvvr]CED|#<<&&& (͛7c˖- !8}4ƍGBgϞ޽{x!ЪU+}XjvZn>đ#G?rrr2'yyy NNN߲q]ҥKDV-Z@SSl6ptt>}o߾e˖())Ann.5kR~rrrPPP@- -- B0eqYǃAAAڵC0`(((T{>DTT!%%nݺa…W?UAWWyyy022 MHHw===#-- `XPRRTUUa``P@)''<@xx8q=HJJb8w -bcc+`066vf͚il6ڷo'''899UX K`鈏Ghh(z hkk)2бX,888?s &&HJJYYY 478yyyj 0afΜ UUUqoEQ<HMM>֬Y{{{tQܡ\ZZ,,,GѼD/(==ENN޽{???,Z5k]vpssáC0c ,ZڵàAtTd())U8D}œ'O/߫W/,XϟǣGˈ#`hhd1p8HHH@jj*!PWW&MUVʯ_Faa!penwň#GjY`N< ptt/}6&NyyyAEEزe .] 999\]Q3d9`DEEׯ0`UUUB7%%%ѲeKhiiSN :1EQ߿,򄇇>>>011>,(ضm6o\u|"08h׋/7tf(b?FX}qqqPWWG˖-PSFoݺ+WHLL2ڵk "88/^5>}ʿs*))Ǐc=z4>x44EEEطo|}}!++QFڵkx1X,F MMM|)))p8PVVߡhL000y0~xp8c͚53g:u . ɓfee!-- /_Ğ={mmmʂfCRR::::t(0dtAhʒ?.Y^}w쐗S ##S֫]СC1tP?"((~p8X, ///t$EQbU\\\_~VVVݻwG"OQ^89f/_`Ȑ!B@@@sBFA&pF߾}-BCC-fYa˔}wSܻw>}Bvv6;  )n߾֭[7}%//ݻK3߿G@@wv%%%c}Ԅ ^| XZZ;vDѩS'hhhCnn.s3Ţ3n /_Ә4iI1 !`X(**Bzz: ~A{{{xzzVZ='Qt\ѦM<|***ֶ?… 8|0ѹsg{w^ӵ>p{NȜHȄHXC %Ǝh).ZyVKUEZR< B9sdQ9?GbLB~<}^{}bֻ&L@&MԩS ,iA&+V 55N:F!**'N7$''V}M8sp%K ǣj &))I&a00`nnn\r={ҴiSz=nnnXXXpE,Y£>jܸqcxXp!֜,!''BCCo;6nH^1bcƌk׮4ld=GG[~ɽ_|q!@aa!ǎcӦM\pGGGv]B/bcc֭l޼~17 [իDyEEE$&&V%))cǎG^^9sǏsQ\r[k4R̞=ַ~Kff&ӭ[7?NV"//ݻ닟0 $'' 3>|Çh"~g8pyyyP^=|}}t Eחߙ3gHII!++xé]6cǎXXX˪U8x tЁ6mzàYf1k,RRRt̝;DKJJ8yØn߾}='Obnnΐ!C>|8B!==ssv%uFa֭v%QQQם,8OOOaps=g ΕRQnꨶCL:zꑓCjj:ѤINJqtt$)) kkk'== \]]Nff&昛SRRb|YXXpq>C())!33GGG4 ?l† x"t:3ƍ6luԹZ_ 6nT6m??#7>>OIIGse34nܸk3^} ]_oy4bbb 2~ U@yyydggRwvXlvv4hЀVZQV-in֭Ǐ7NefffddJ~(̙3XXX쌛1qrr2111ѣG;:uvBRPP`NoaaR4,X@bb"P@}]OFLvex駥7z'o?==={ʎ;*jǏ֩3o;CuVOnn.WIIϹԯ_{yyy899m۶Q:~8PFO?A Q=aXb߰"##4 C !!'OrI ^^^iӆ6m0h  t76:9axu5kXu[[[Z-ZNG~0`NKh^䒒bcc9s cΝ۷bc@z聝:8>00目yyɹ؃r^N8^G\Q}XVV!!!Ʋ}[ʡq]O>-?0w` ,,[evINN<#xxx`fff1z?[XXO^°*^Q^#!wU~,X#kצ[n4iooo>L۶m֭nnnű|rlmmqww}+tјY]ܹ ԩׯ+uPJxbV\ɞ={HJJ˸qwy?3g899ѱcG>#Lڵ!ʛ>}:zK.tܙڵk+c c"2\?,6nȼy8pYYYdmJ)С3gΔV;Ts 4^zꊋ Jaii-: 0|wάYM=VXXڵkpOܜb\O)Ebb"AAAklٲ'xº8;;ciiItt4}\%K<4s QL43gNC3dիUBrfϞ+R=Paa!< {寿VmcpݻwSOҥKh4|gL>kײh"ZlIrrI@~4 -Z`Сt֍;bggwZ_~%'N틊g+;B‚,0 4m۷3o<>̅ aƌx p_g|7>|8&L?794lؐ-[Ҷm[6mJF㭷޺n .d̘1odԩS9swOOO&NHxx87o&&&HΝ;g]W=,]NN_}'11|())!++#GvZ&Oܹs+{*~{Nrn*v'O@BJlllyqq1f˖-Yxz;oإرc׏m۲|rc ?uTi۶-DDDcCBB޽;ͫ!.]a͔ A(Srr25}_~ %ni{+++:vH޽7n\=OYd ={TRRRpl߾$U3_Mеk *?cڵǏOBB'O6תU ڷo7͚5u֜:u3fp1 eqwwGGG\\\Я_9A{.rn*v? Xh[aBe3]ÇrJ{;*?{gϞgϞzjt:͚5|\xtOOO:5Z* J-DMt_ůʺuعsq={tѠA,--aMK^Wt:c/k]r'OAZZ餦O\\/^4xRXX?̐!CpG?~Dy---]6hZ: IDATӉfƍ zݻw_ VnnnxyyQNcҚA{jrn*v?VK\\aaa 8^O.]xGh۶q*L! cƌ_eٲe7}Ǒ#Ghܸq~c= ׯҒS^qjb!tT͔)S2e J)z=999SOIb{DӮ]뎵RJ'8q۶mc1d{yyѴiS{9חWS)˗AҢEj=F!D133e˖lذǏvZnʇ~hy兟[fƌQQ(xWY`?3< ?Mhh(gϞ… ̙33gqvv6I'11T_* !Uvv6vvv(97{K`` &*\RRBll,/ݬ!2.f_arT ͛㏙,W6)cӦM^WƑR19/'br^ʋUBPWݻw/999XXX\w>}~7ggghNڵ9uɲk8cxwFZʭۤIHWsttXbcc`˖-{0|̙À7n#W\aŊ$q.]ӳ:w!Bܖgp!^!v J/|.]!7NaBUrm !B!$B!BQH.B!B !B!5B!B!D B!BQH.B!B !B!5B!B!D B!BQH.B!B !B!5B!B!D B!BQH.B!B !B!5B!B!D B!BQH.B!B !B!5B!B!D B!BQH.B!B !B!5B!B!D B!BQH.B!B !B!5B!B!D B!BQH.B!B !B!5B!B!D B!BQH.B!B !B!5B!B!D B!BQH.B!BBTsqʕ{] Q z{] !D "v!5ݸW]<Ν;G u5D8{B@B!jW]<ZW~oi/+5kz2\O?>\]4gNT~)ص Ǝ"""x祥Lat'vq?0rH,,,qDEs3OYre߫J.(lֵ[\v킠ʕ^^ C)}UZ 4jG!),,-Z`iiyk$*"S'QWXX]ٗ$23KjSY:]i}*22>B!BB!B C)) j׾m.]ZnYFFմ[YU\~U>*/] (*2B!xXtP}ٲeefV{EW-wB{E)Ebb"PPP@QQfffeooV+mcB]<ݽAexԴ199B!wXXXja׮]ĐNVVSRR dffE~~>VVVXYYLښZjaoo 4˫oqq1Νĉ?~SNQPPfff:t;*oooׯڵkӺuklmm+U!ăAtPJL,͜^Դ=-^B!ɓDDDٳIOOҥKٳ3gΠhhԨ111 XZZbnn=666FAA|),,4K>}xWIMMʕ+dee`@)-[ԩS:tӧOSN5jÆ 3App0SPP@II  sz@qq1gϞ5)j;wsΕ{o߾](md!!x(%%՜i J~:]ih4USB{K)ŋ4#G4yf\]]qssk׮L2BBCCgԩ8::Ϟ=KÆ uXn^fffh44 .]VKPPAAAűyfRRRLʻtqqq*|G5k֌._Lu?W_}<,Rh@TTQQQ$$$BǎULtPJL1#F`U^|v}t *[^٠yYB!=?[o˗M333^7>|CNxx8FbF▼<~GVZ͛o7|C>}puuƦ-''3gаarsrr,XMQCaa!:KKKZ-Cjj*yyy >???9z(ԫW777=J\\I+W Xr%$222A3ԩS`WM՟^T>`?$11,csss:wرcy'EtPJJ7ۦgϞ&_uQ$qeM&BLJ)RRRpttM/!CիZB1o<~wIOOg73hҤɲSN9=zhRRRضm)))???.\`n|'ԯ_i[[[Z^-<<䓷T`cccLqO?m|0}tV\iMPP{&88&Mkv/_O?Dff&ҠA͛FPW? \ԪUW]Ϛ5ILL [la>po~JFˋ.]`ffƶmۘ8q1-iӆ_~{|4NI.JU}Q)֠%L^޾!J)^ jo?̈#LOWIhh(@iK>[ntRc\>C566y,;w ""¸,""͛3n8|}}A\qi~zk+>,7ofٲe 4???F%Ŵhт]nݺKtj{`ccC>}{Ņ={rv޽{$>>C;wc!''p,,,9s>q$@eYR\Y5+@2G!D1 l߾~իW+;; wޝuҦM=--[uVt38v?<:tɉM6qQfϞ_|ƍ1c~)/&88m۶z˴iӘ:u꽨~HNN󤧧jٳqVZӧ_}gƆt6?k,.\~k\h033H ]D֭[~u*enn5zhiY)www씥233SjLz㏫ٳgӧO_x ڷo?~6Qz^zeaaa|\jJXn}4:t`RRR@wU*+99Yݻ 66V͟?_1B5jHi4[_tsN7ߨ <<<^7uWVÇW/JHHGӧUV5k֨իWwQ PAAAU~Lٶm-6mڨNuI?WZ~JOO+u5f̘QS* q9rVZz e쁝;oo&YY.-*?dȝuz ?õ a`;Y֭ !um۶Off&QQQ(aÆЬY3󚕕[oņ *l5/vqAڷoŋIMM\(˺5~메ʕ+XYYaiiYaܢ"ٿ?ƍ $$:58cR/7x}Ѯ]*Gaa!}SNݩ/@fܹsƒ1yu֥QF4jԈ U>YVVO<۶mJ2ٳ'xyy-DDDd5q;9v4N7uT>*=L6>(0..xȿfF9֧Or=nB&Ly;INRρ l32ۻ/͞^VlAze˗1BQyK.5~j+֘+>>?^N^zz,,,Ɔ={၇Svm̰;k׮~4 { kkkR.PzxzzbeeENN?xxx#\\\x뭷(((G 0~Y_n֭#66֘ܭ,{БӧO_ \!Jƍ4hӦ ֌?jժe /[zjv؁+NNNh4ٳ'7{O<+ Ņ>K.7NRRU$ h&} Vysss㥗^bۗ:?2p*Ge\|=zf|׮]tg޾Cx7ٹs'#G/J{ܹ<==g񄆆vZ^}rQQQiӆZjQTTDqq1!!!DGG V*?~;w̩Sgڵ9sooo͹r YYY$%%kѰaCf׮]8;;R  :0FUVjՊdM #((Dڵ+{sRUkz!;J>\}NTxxyy23+_R?^ԠA5B\p*.+@ 5}teeeeZN3Ϩ^zro^*@yzz*Ng|/$$DYYY)sssMƁرC K/jggzڵ?jڴR*))Q[׫,RO6jM533S{V/VA+P%111Ѹ+WTIRnƍnU9~?XB;wNYXXiӦ*+??_kL=3wުnݺ PӦMS666W>>>]9::S)E\\+V ##xٜ?N֭9y$͛7'((5k֐JFꫯꫯX~=+Wdڵt҅`177GRXXpuue̘1~Zn]={*\ޡC[c={GZZ۷o_~J)))@www떥%%%%dddFjj*iii&?3j(yC޽qrr";;777ڶm[e6o̒%K܊H.:p'Z3=#+weeCu|^SQW2o رc& тhڴ)Ǐ租~2ٮm۶(())!  ^N:瓕E&M $\J)Ο?ϩSHII!00wy@&O̐!Cgʔ)Ҽys DΝѣIy<5.Kqrrwww2i$,YBΝ޽;6m… oDGG+_osif̘ywh۶-'O0vX|||~Ncь18Ւ^]vk׎z/t<<,}q;FÆ ?$**jՊu뒑AQQ DGGKfjt^ս̌-ZӼys gΜ!""'Nh"شimDn߾]ҨQ#عs'SLO>Ru_-<,Y܅Sݍܻ!xM:iӦ[To˗iӦ .]̌|}}ٶm {i4c&Mзo[\\LLL 666ƩS$22C_333RiRSSׯ}y攔gzN/$""듖Fpp0>(lܸ)S[x4 WԮ]CtR[233IIIɓ43i4iӦM3YG/Ce˸p˖-'ҥK߿P/4io6ƲqF;w.>>>ٱi&f̘A-1b]v_~8::j $00dcb>իWZVx믿LTW"t111DGG~ck}g!$$ޞƷ~W_}Err2 O>uup[[[\—_~IVV/5d-ZпO˖-.77_8::7-Z0 QRRBXXvbZ 2uTJJJfܸq>},??>}֭[3gɬ cǎ믿fϞ=zRRRLu0aPOu[;;;?x" 6DףjIMM%>>z=?3^hu%))Bt:Ŝ9sSNm6Ν;WH8`(K$ԧOO_>k)'J-\JuTBRWqWER,kʗE !Uv]({lR͞=[tŋlgUƪŋJ?-..V.\Pk׮UgV#F09^GGGܔ{={T;wVFYXX(VԘ1c믿 b\$N3f0ŋA=jРA P򋲳S4nܾĸ|Ν$q={ɱ.ZȤo߾jΝu~m(???5i$c⪪~z#T* @kjÆ *//J{3U@MLrM6*22R}*$$Dz)^277WGQ>j^޽ۤ>j޼yO>Ҹ}||q7|Ӥ==|36U@=s$NpuҤp.Ab"8&jsqWWpv.}99/uF/N;}45>.lNuKK())iie8{ڪ%m߾~7&L ۷/jϏqƙ < mƛoɓ9t#G$$$սN: 2533___`ԫW[[[Ã˗c0̆ tѾ}{:t iii̙3ǤKP:}͚5<<}s a͚5qM6c1qD^|Eca6lQQQl޼ӧO}v:w̓O>w^>c:t={*yM駟gѩS'ΝԫWu*V]ZqqqƮՑV%%%3pL„  oFFFѲeKJQQ{~`ԭ[>}`ooOffq ‚Gytԉ֭[?$;;ݻ.,SYY\ssѣ=;?o{iKHd,!d)#KŒeB} bc߳%[HFe,bD{=?tBy^s} ׯLz$%2+W[皚%?45ACR&Og^%#&F~+?.8th2uz"IpQSee?_RE~^É:}@k.~wȕ+W99rYfѳgOmƓ'O8x O毿R0޽ݻw3uT rJy'VXAJJ %JP\K !.]BKK CCÏܹ3nի,_ *PLHHHJ*L2%](qyqssC&!{ԨQ޽זx"k֬aܹO:9zTwܺu@Ο?ϙ3g$y1q EGG3`.]ׯر#=zۛSzu._ݻwvTT{N|2ݻw'99Ϫ{_v7n7oN->޻w/C}z###y)Gniiذ!gΜ!66+}vEqZzR]WW+++xݱcG8M N.(T|ĚɏppXAjKb" ɝo7շoN˗<_"TYu>?sX{52H/IHk'5m1͕+0hEEM E/Lhk+V `xrf <vvv3|pwn̞=Yf XYY1eʔ Cxx8/Z:E2e9L%ǎcʔ)S ӧINNb~5kdtޝRY:sL>x}e:Dj077֭[3c N<ի֭bN$I\SN8F-[d1c ZhG355ٳ888puV\ɺu8~xN8Aٲeqqq!)) %%%E9/%oߦD888(!3a|!_/DVs_X$ {;+I11*I/gA0bi%@dRVvI"ܹS%YXX([l)ժUKW"_TYYg/999I;vH 4TUU%@QԪU+]BQ 2~IիW֭[k' :Tx%GGG ^zmV*SrJܹsׯ|Z>V={s)%%E&::Z:q4m4I]]]֖?~ uU9K,X@I&IVV*RÆ 43gHԱcL.O%;*"ݻ~o/WQ  %so'**ojws}bgg7o& kגݻw֭'}QF̜9Zj֭[ڵ+2t5SwA9ݻ,_M6ѯ_?ILL~ԩSGkܹs)QofܸqQ|yj֬IjØPxqE~;ԨQ3g0h TUUpႢrVPRRuuuygacӬY\U׭[S*0zꡯOvXr%666P|9֖jժq5v?-INҒI&ၽ=+W… eZjaiiɩS֭Ν͍ (/Mr+y9DP4h{;r{DC#ot==$y &&&Lϟyܸq7n pvvfTRk ?H2eppp(9|(wfgg\xx8ׯhѢ-[OLrr2j͛7L>U"IUV|򄄄 Ȉ+>e˖l2J*Ebb"nv˳yf9;vP=/^еkWiٲ%'NsN>MDD#FiӦTZ9!887778@DDFFF,Z;; <{.]p j֬-jժYZjek?ǎ#11___LLL(S ͚5___V]tֳqqq\xs˗/iP1oԬY~Ѯ];LwƢёٳgTm=.]<BBBQZZZ zeiAՕNbccr bbb $qQvJrr2fffu%Iĉ;wΟ?O\\/p/9!&&FqW;Y#7!iA``AvԤSNmܸHשS'6%Ibٲe7rDPP&>>={? |}}֭mڴa3{ R]%&&r!hٲ%o޼ZjDGGS~};FTTAAAKRR˗/CCCʕ+… [B=ښ:j.UVۛիӠA 2Ŋ]]]nYݺu9x)QQQ?~ ,?ƍի[F&aeeL&ڵk4i$]$E:AnU;w[[[=z@ ޽{9rׯ+.\0ݳIIIRLbccٹs'/RV-i߾=fff2amۖP$/y'߱~~>44 /BAApe2;wfܹ顭M~>[8""Sfj֬[ &Mr4i҄bŊ)գVZR+$ڵkg444HHH3vr9y$֊vMɉ'8x >>>L0ADiذ!3f pSLa֭添;zLJڵkӳg5Sϟ?sL6 ^|ɁE]]3pO>2uT<==e 4k׮k.̨\2 )RDacȐ!HU} ]Phx6/^Ȼ;iY#79i ] 4%L})S7•+W(W7ndΝ̶mׯgϞrԫWz1zh֭[Ν;qqq!..vA߾}v&ܻwN:BϞ=y ٶaҥKMԩ^ݻwӿ~5k899͘1cb$)))tԉx={^|ҥK?;&LI(U666<{3e|}}E9r5jpQʕ+IIIj <رc GG,UV/_RhQ(^82[O?еkW>̹sDjMkZ&|.|!^*իW?CI嗜aee8 ]~=vu/ 'J U^]\\\$)>>>###;wJJJJ>[@Zp$I(EGGKJ=9I&I5Rd3 T|vIzam:uJА $)22Rq/&&F]q\/1}&k@0ȼTZ^>rSfKA rJ[͚5P+WTٳ'O,X{{{زeKuVFId'N̙3ܾ};;;:t耆CVZ888pyݾ}Drފ|aÆ\v-Ƕe{{{E^Vطo+WfժU鮧+Fy???ttt… lܸ_5&(fIHH`TV۷o~>) ̌ҢEt8>dɒ%َ)hD iMݺuIIILI~~>j(E ‡$I9r'''ܹᾅiFqmĉ:&mmm,Y͛7ABClقEz-hhb@sYTرcڵ+zzzĂ111L0}}}wΟ.˗/W4jԈF¹sw?˗/ZsAMM={УG\G(3d~'֭[ŋeƍ~W?~<6mvTTEXXӧOg׮]:t{{{LLLׯGЦMV^NAMM ޽;۷oחtWRWWWQ\9s(9z(Kݝ :tS|VQQQ|@- Xbt=Ӽ P^A"=iCܿr$vAѨQ#֮]5jԠL2=$=zի055e˖͛ xt'u=u*(({*֏=J%򼾸*#Gdȑ$$$PjU5j?󴯂f׮]lڴ3gȭ[8x ӦMcΜ9yuqA3f 7o$>>^Re8q _~0VZE111a׮]xxxСCVX%Kf֭ӧOo ?x}1i$ҥK;ѣGٶߪU+|||ĉ[D.^HEO.(46}ݺuy7H?$+}FC9@]]aÆaiiU8իWgذa۸qpuueǎ 0`3h ?ŋeĈ9sF>q󭟂qƀ|Hhh(fȑ/_uuulmmι STUU)[,cǎ%**`<==q*T ))ʕ+LllliӆgϞdɉ ~9]P ?*66___ٱc x"_*(Xh˗ۛYfq]^|ȿd 0 v3zh%%%^O٩S'۷GII {{{-[F=xu7"]PhHHx SOK|z!W^ӓ+%V@ ؾ};7nD_NmڴaŊsmzAΝ9`…TRɓ'† |x(Z(zzzd2ٰa&M͛7d2|Nvf~*Uׯiٲ%VVV1n8;رc' @ḃ|]CCŋcjjZPSb6m166ɓ<_-Z.]IX|w})t DEM5H;@):ϟ'22 6aׯϊ+hРAA 1OPRR)9ЧO]WUUEGGׯ_#IC ܸqCӧhkkSDM+EDRKၾ>&&&z MMMٵk7.D*Bԭpsso߾َYnW\C߅s"] 6y"q9A.Y1cƤs._ڵ#88G7hkkg9?s *TUVsDʖ-_EҥqF:-[b``Ir=_쌝 "22^zEٲeٽ{7ڵι@f͚s%N8ǏsMZxq,--.($ĀV؊|[㿾TqO q~S~ɓ,\FVp޽֭[cڵkG=gҥ4oޜѣGckk˶mۘ={6Æ c$%%1]p!6m۶2k,<<<زe ǏgҤIߟ͛(K.q:vH@@ /ץK455 xt_A|Wfַo_l9N;C(ѣ3(_v kkk:tAwqqa޼y>}kkkݻoa>&&M_}h2dH8p@kٝGROwyëWٛ5Ʋ}v6lacppp0@ (1mڴ j[O!Ivvvc7{`ǎ/={Çsn޼ &***4nܘC*lرO aff8S'N`&ȗp&LBG }oooBBBm 633ӓQF$;ի ]z5/JҬY$IҎ矹ĉ?+OJqqԫWо$͝g? ‡^$;;;bŊdggWIG||"Hyj{޽ Ҿ} d2~ $GGG .]*\RZ|l2EǡCt_aaaҮ]ʕ+Kҍ7s R6mҥKKǏD]ZTHt۷odԩSR׮]3ya_ A077gڵܽ{55}xyyQ^=+>|Hxx8:::yydd$z 4{ahhȟ?@Ν fR_ŋӻwoZjEf=z4m۶͑;wξ}Xn @I)o޼{ŋYx1,]4C?L4ӧOSjUT;wd\vx̂B.]cÆ ϴXb Pt؊U%Yjnnnԯ_&MФIׯ!,3$^xAHH077Yfy3ϐ"] r)))$$$*][[[Z ʗ/O'TLUTTpuuU8 Soذ!SNͿ/^sss#u%..www޾}4i҄իkqsJx %%%%1 ҵD5@ ?x9*Kի9r>>>$''ghcllLΝi׮mڴ)tpW^ŋ/_MMM)1 (++s}ʕ+鳉())LHH .~CMM=zA"EР~?]vѦMFٳ )[,k׎.]ϟϪUشi۶mk׮5>}tؽ{7'N\vEallΝ;6l{9s()-Vȑ#ܼyYf!ɘGNw? o̖@ 䵿kԨQHĀ2e ***\W^!{!00nݺ*vvvԪU?KbooOϞ=׍x!!!x{{/̫WXd IIIՋ#G*v[RX1ʚ5k$ʕ+h"OTTwU~k&&&9sPJ,X@>}ҥ mڴGᜧ`eef۶m ;/^,Uk@P^>#I$$EFf֭[dɒOz%u*I%(QB1~N$>rj';jKA  %M:))l3 4444'OV$@JHH@ƍ%///ѣիW3|Nd2tR~_UzTB ի'KRrrԢE H"4ee˖ +WN:yg;h I[[[JHHHwҺu Hϗ.^((GFFJSLJ,)U^=ݽT8 ҬԀSRR &(f͚|"q"5iD$ӵN: լYS266aÆIgϞ-Y|!'1qqҊ9Wo@f$1n8*U2?))aN󉎎f֬Yxr7F6mh;IIIftuuc߾}ѐ„:t 11UUUjժmBB$… ٲe VVV;6]h2e 'NΎ;vжm[J.ͯ 9spsso߾XZZ.?%%ǏKb033cͨJҥ9tFII y-5k֤o߾4jԈׯϹstqqqjewڕ3f쌶6cǎe…={+WǏ@YY9O?7o IRC=zDn055eʕ4oޜTUU3^Hy&ʕؘ166η|K] &ީNÇ9uʵEHH-b~ p}$&&KH ~ Sn]/_7oT׏+Vdhl2y`` t WWWONɒ%9s& . XP}6+X\]]dTP?+++tuuINNۛ?sxlٲ]6s3QQQ888pA?-W\`ݺu :Fe*DEEo&C8x͇Gx\ܼyM6-  ̛皾 IDAT7gϞUC]6Æ NNNTPGu_ŠA>Ihժ';RݫQ'NH焍5 .0n8֬YWMgϞ1zh@^2-""]v'^RUUZj/^%K磢¿KժU3 Oc``@fTD\ &M۷oٵkdY~{\\*U|]%E!Cdz=<<777^zKĉ111a9>@(5@ d5kҡC ٳg z8yիW9r˅cEJ(XE35T5kҥKY~=...ܹ700nݺ?ЪU+͛Gƍ?>;v4h@aΝ;崻ѣGiҤ ŋN_w $$$y NtM.\H?ٹs'kƆW^e˗/3f5j;uԡE6o.0LLTנ"/UH۷oOJJSj۷Ԯ]͛+jC5Bjj깷'wS$/zv-{} AaH"l޼MzƑUSSc۶m 0UVࣤڵxnJ%Mٲeٵk,Y3fdSti9t4i҄sNuѷoߎ2[l VfM:vȦMغu"}ǎԨQmۢB ETVcǎj2f͢s,X cbbm{ÇӰaC֭[ǩSs dxxx`iiI=8tcǎeذal߾=={6|3 ooo@s#Ȉp**`h(?RNbJq 0;!!##N}jTXl,|L&cڴi!HLLb#]*{t}}Ȫ>۰};ž='ظq"K\EFDӧTg6_ ֐ĩS04ʌu҇_%GZ_ ?"?$I.Җ II3 OL&ӻ|']&.0]tH=сejk|QDW6mҥAO|r=zĠA:u*{fsSRR3g֭ҲG"IV~`ќ;wD|||033cΜ9\x,--ӕ,/>>LN]]O#2x`bIIItIBQٳCׯ...6R&NɓٙW2a„ Z:tJ*hтoS"""7n"1S. 8yxNS@&Kgڴc[8<=aƌx{…/M$?::**_4o4:i=Lr7___mڇ!@ ***,Z[[[\]]qttY&׎Çٳg :Çg\ =$qIf͚Źs8r:u.!!A8}4 w3`˗dT\9vM6e̙1d݋7Ve<}+V0r "nmۖ0uF=|2^@@?Z‚.]гgOjժ%M"tw˗``{;N{xxCvޝp$/?>Ɣ;GdȏϡJ_x>-[6xH q.O',r=@ rA'<<9sׯ9vXA$''3yd4h)sipwwnݺxyyѡC<[F ƌÊ+044^z*U6m`mma]$vލ'XXX0xt3_fҥ3&>˗/ԩS8;;st2'N(^/^ &djjժ{s2yOVjn9eǎDEΝ;wbee+q8Cₚ)cǎ,SW//짪  (^8-bʕxyyq]޽ݻ -e 99~9|ps'OpwwՕ+Wsr~ڵknb+Rqtto߾ܿ .`kkKŊ:t(ʕ+*p=<۷o?~|Csd2V… L:m J,I:uhժ\vO2eg.I"* JҥK,^8W!.5;wE(SL.;!@'''܈ԩS~z~駂M6w^Gn z8<7nD[[|s|ԩ.ɓ'XXXиqcڶmK.]f۶mXYY 'wСC_ ZnM*Uظqc:QcDzl2*WEd-Z`ccüypqqɠܟ!ÇgڵrͿh/.d(HLCbbB2ի)_|ȢEXv-#F@!N7m4mƎ;bΝ1w\)S ̘1#w-q8<;w,м^.]ԩSr1;;;ԩ޽{y]ҠAINNܜc渞=[_ k@r刈Hƍow=F&K 22CbggGxx8weݺu :SS ʙ***hhh>%J %%oߢs 9A̾4jvhh(UVqprr2۷gΜ9ۗ˗/?3tPf̘ɓ'qrrb 5nӧ5wz#Go߾F 2K2ehڴ)ܹsvrb;1߰aCl3'OvZV^͝;whӦ ˳66l؀ZTR=Bp5yUb &85IIsWV={ș3gpwwg+V,Gn߾ ~,i{V  (R /cO_{aժU-Z4}L'wq رcݛ(8!fff̚5+*lDDD`cc)gϞ寿bŊ=-ŢEPQQa4oޜÇg;]&w^uƄ Xx13gd͚5\x!C(#Gzj(R۷p5yA˖-$+>^wܡzy"q@ 21ebcci۶-̜9nݺea)TTZ׈#hѢ:u"..[[[rرcE}OqFޝ՘v !J,2efD%X2ŌudlY>.&ٚD֊bPDE˭y^syns͛7KͬFNNN,_I&eeeyϳl2F?~s_>_|ZbРAٓӺuk4iBJY&׮]S}~*6l޽{Y`GEQD.j11A tI!%$nݺUථ_Nƍ?x^^( zN+)r(P<444033 11cDzg^~oS;B X[[j<|9[[[ֶPmfwaʕiӆjժp&V8p#Gi&N:lll߷oӦMcL>SL[9vӧO^zBڵiР;vdTT kk'j*>|8;v`Ν$Yb%ʬ "gНSr|͛76lѹ> :SC\}QA("ׯY|9GgϞhтsѤI\۸{.7` ܼ~P^x5kDYYWWW~gVS~tBCCqrrٳ=nݺѻwoTJ!o P=̻EӦQWW)ʕ+ Ν;wHLL QAH$OYijjơC N:\xڵkcmmsmTPc?>ZZZlْݻccc ͛7'..wwL҅;}4^upiiiݻ@:t3ݎ:G!--#~Gd2޽{lٲ[naiiILLLm5lؐP8p .,-(--$/_'O,~oŴk׎FajjǏ9qWs\c3BZ\ CWw%$dQk i{~ʬd=E.ߟ}:=zz%=,ѣ;vYf1K,5zJJ H߾XCRR 0+Vd* LFRRӦMCK+*$T&N[. &ĉT}95j0x`]ŋ{.UrYnihh7>>>L6S$FFF~]ĦM;S#Fp޽Lv ʕ+lذիӳgOùz*;v ,, 1c0vXPo믿ѧOBA?1.ykQ k31ʔ)|;ׯ_jժT\GYE.Ǧu̘1O舞Z"0`FFFi޼kN;::iiiܹKbggǰapttӓ:о}{6nHRR9rGGGʕ+b7o˗~ܸqCq7 !$$AQF/>xxxPNvAڵIMM ì\kk< RLYzI&ԫWcr Fbǎ|ԬYsssKxx| RRR4i-[СC̚5 lmmYt)fff˪U3f<8f:. U[ 3wرl8;;XPPS[NfIb LX\lg!}WN~,s[[[={xv￑ۗx ǻzN1a„,,PTpqqݝ'NЦM.^HӦMzjIȝ?Ǐz UTa„ f2ܻw[nѱcG=z/@ӦMi߾= :UUU ޽;k׮˗ 4(S[aaa4nܘӧ3}tqwwٳ]UҵkWVZE\\\IU\diӦ ݻwgǎ k|k׮<πϜ9///o{m۶_IrttiҥRBBB?^%KHIII,(JuS>?R͚5;ʏUVM*_g?%n+11Qrssܤ 6Ljܸ$I#_RRR_^&MHRTTTڪ_W^J#FT$)(44T$eee)%%%_}IvZI$BԔ,=!]bbfQM3BkOrTZgqMۈyJ> =wA>Çnݺٲe1b...XZZo>)Ҷm[pqq/Cǚ5kܹ3ZZZx{{9eˀ%c9sF*͛7nnnNdԪU+_?Euԡjժ<|RkBBB矩T( IDAT۶mbŊs\~.]P/Wν{|~jj*cǎۛ_Ѿ}lmРϟ'555-$4ܽ{x :MjԨAZ TN(8 W^q,,]2_}n#44I .?}tzNW^fMc۷ԩSIihh~zN8ALL }ؘkfy~zB$ Ν;;6O߽{H%Jdd$OYftޝ!CȓZEDDdfBiRB?%={~`֬YlݺUUU*Pϖ-[# uqBm۶i FDDݺucڵ[#F|pi}۶mK~,/}5k֌'2m4_=z4ǏkVZ&/.Z11Ajj*jj?^WRJyJUnX`b]O*u|*:u͛7{.gf̜9 %JJJ0{lPUUȴ/L2Ԯ];ϥHѣGIJJ ==L֭[W-Z˗/_P>O,+++`n߾ͼy󰷷ɉMF>}Q۹tK,رcx*UpqLLL2VZO?q} s<Ǵlْo燅Eחo2m4|||z:usA>N8Abb"^^^L:Ǐ3nܸ|!AJ̠7jԈMrĥ"AϯWi&~'gyUS |֭֭[ cᄅѽ{wU7|>5BWW5kd6::ݻwڶmKF^:5ˋ,)))ammM^3˗^RJԩSRb}6DIIe˖ "7Ѵmۖ@9|0aaa _}KKK g޽ y,_O 7o~G Ν; K.^( Vtbfe2ӧOp"#$&fϮI8q" 6dȑy.?}DN]`ll… ٳ 4H9v}e̘1gh׮-Z@WW/`llȑ#qtt, R&559A"С:ttk׮3e._LJJ 5ɓei0_YK ˒K~w,Y+AAAg x%?~+W`iiҥKXbqٲe>|OOOy ?FK0[hi% ֭#-- %ϳ-['''ƌC\\\e5~xv#Gɉ3g~+XJAJ-E4h#ǎƍ i3))sn $$$0eWy =e g۷OryVXA͑d cu {<}ݻwӻwod2[l:ŋOÆ 3}/^ 4n!D.ZH.`… iO2͚5u˖-#22|> A>{&00I&ѻwoիm 99|J׮]ښM6#/PUUOP>;vdϞ=RjU/_N.]Xd 矘m\T̸|rlٲ m۶4nܘcǎqI -?$<Ғ϶K~|ѢEmۖ^+ BdJL:۷+Ђ(GGG3w\)Č !jjj}v=z VVV\v?@,Yӧcjjʑ#G6l[n;vobiiɞ={Yj/^/dѱcGoEC肐ÇbŊ/%YPQQͭDAGTT/ȇj7QV-&MĂ 033/֭ 8+Wr!lllC&_`eeUdV̙3+VܜRSUUe@z"=WWWLLLZ*| '--M^z\r2ʕ+3o<6l .P|yn#::*U`{fϞ;v,?|888Я_?LMM%K7n.]﫿sgΜ{2P*)zy;@d7L0 6(Yoo\ݽ>Ga־dSiGA(Etuui׮6662|p޽ ϔ/_͛7$Icjjʝ;wHKKYޞ$IceeųgƆCɗ|Ra9b>\}qE-W7os<|믿iӦԭ[taÆŶmؼy3AAA<{L( 0@(xԨQ7LMM]v={7k׮<%tӦMlg{;'tTʕfllNNNrJceՌ3fL^i G`ݺu QQQԨQ###uFZ?~{XZX[[zj6lŋKz8Yfsٙ5k"HNNرcjESSvŋ6lhBaRSS+Vի())tR֮]KJJ =z@&qEח-[$ZnM50` '!+ RL T$ LL<P͛7/>Wzzzx9}4x_A2־.yhРdq)SLɥ9pK.edd~ƍի+We˖q!5jIII);,>2ѣGcggǶm>]s]=vXݻGV[.fff4iL*:y/dɒLwؑ*UУG._A۶`홞?}}}y!!!Ԯ]@-(ЅRIJ|N^&%%1yd,--.T^ NQ!.Nq 7SSSΝ;GnRM|gʴiӲ`͗_~ɓ'OXh+fJX aرb2$`:w֊Ժuk8@Nػw/+VА>}paXUȱc Ç:tJ*݄.]Jhh(}!,cu؇^tD.*p8\7cc ɅɆ_r%ãXkW1.i׮G%""!C0vXF/Nbƍ KWW)S0d|||4iQQQIᶱaŊlڴ竦uW^m6f̘I6m=*і}_Zbc޽;NĄurexB^é"Ik׮ٳg4i҄Sʿ3$I8::2n8iIZZeʔo߾?KU# p4- gUUAG*AŊ?"}]Eeӧ̙3QF SR W\_ EMMM6?| kժUԭ[3gfZ\bEzٳQ-jcǎ_~Ӈm2k,f͚%O۷А5j-[[jԨAٲeLJ`⋒B{ ...уN:p'OdܹЃYr%UTv|71uQlY:w̜9sx9^^^j;yۺu+ `Νh" BݺuEUUWWWΝ+b](UufCptc̏'%<}s_x25[??60ʔww-˖w-t,cһ{ #>r YKR ǧy `[&M: ^J_ ׯn]B.A>~jjjEZ]]ӧӿPi&:āhݺ.j={y?ٳ޽wpkhhPjU"""QYjժ1tؑ+WĆ >70{>}ʯZC_>|ٳgUrXnNȈ .0sL ppp`Ȑ!o>O>};r=֭[ȑ#fݺuxxx0d?L׮]DSS$NB Ud= -=ܻUt@G'=HP3w׌Y ]?\[{l,QU_w uӨP!--Md()!x7u ~1^LIi,cǦZIIewɐ!1UլoD+ffcIHHg˗Op!s 銎ܹsE־!;tĉԩmڴ֭[ԫW/*affƌ31bFFFѹsgVJhh(7n ""=zi_ŅUVɏrOf '6l`ƍp2 l 27ٳ;VXre,3&LݝfߟPL&OǏyq 蹵/tA/W})bnAe0?gl?F~~~lْ7op?$,,={F-([,:uy普9}4eʔ!<<'Od1tP6oСCѣZFA---ݻWY|˗)6Ni}޽xyyakkǏϵf}||?97n5#n~PW/W.= y'&&-[0eʔ˗ضm***9#Gdʂ9x"***tҥE@@zC\x-ZJ)mڴaԨQPLvލ= ***b/ $$Du֔-[V~ȑ#ٹs'%{H&ݻٳ'NNN:tH4|D.:11gp/8غuw?z#GҧOߏ9ιOLg+ &䷏,qϭ}%~AJÇàAJz( 6ϳfRSSښU2rHnݺUC,۶m]v]]W^ѷo_Zh={䳷Pre$5jPBܹCPPPs-,,HHH`̙9ׯ_gk .@Ϟ=Ynd… 3f ԪU營6669rI~:/_&99YGi#tԉE{K/!#I\jj*hjj~zd2W&<<\+;-q/,+++ʖ-;Y. 9ٳg_%=d2m۶777BCC a„ ҠAV^͟)߻9ҥ ՞@7n̫W HF˗OʩS6i҄ &h"moʕ$''~N>MٲeYv-[fIץKݻKؿ aaacbbB-Uʕ+y֓rg3#/t)d2f/^̙3gغu|O 2e q_N^凒ka޽=dQ% :u0vd2iР5b,Y'''ڵkGJhҤ 6d֬Y*fΜ>{%=ҥ o߾%888Sϝ9cܸqܽ{+r>}J.]8qܙ3gw߱l2/_NDDQQQ4lؐ:uf 5jI&k߻wWWW<<dyBdž r?y1 NQ̠dXn̙3'ӹ$1{l6m%pϐ ##y IDAT3!*Hك?I ;˾}رc%=\Ӯ];*T@-9s&˖-ˋ۷ochhHNX|9W^%))P 6̙3DDD`oo/Sܢ駟ի-[,1|ttt8rϞ=iӦ8qG|6m0n8)HOJJtA~l…\vePE.I`ii /QSSt'8w?S?[~a;8lْ%jlY/׈ ʘTpq[\\\ꫯҥK۸qc6ocJd ű|SQN^JZ֭ܺu;wd9U'?իW4jHO~{g$SWWgҤIkCCCׯ7ouۗxVX-ܸq:лw,?+X[[eV^͖-[pvvȑ#ԬYuuu,,,@1b蔺=P ):@ϨWs%\]]iժ9RW͚5ӧ˖-w~( /_^BAZb3ƍbٲe?>@S_gij֬ki0!]ݺu9~8Æ cŊ`llf8;;m6?Ub](U3}퍹9 .dݺulڴ۷˗9r'OuVvʰaƹsA\h˳gd2nnnJ?PR%y" +V`ʔ)@`kk3^d8vX{~7j֬ZPPrKr['s͛߇6}L0!} K,aɒ%_K.BCCuulSLL2۷n۶-LȻKIju3tڕǓw}G:u ߿?gΜa…/xzz2h IKK#((۷O?^HLǏ stty"/^`ccC͚5iܸ1קcǎ@2ɓ'%?%%%.]ĢEf+- W^ի$IsΕi̘1RJJJ?x@Օ+իW $I:w\mڵK>x$I$:X^~)$$@}9 ߿_211t/fsѾ}{ *UHԯ_? N*9rDjРԼysiƌ 9%)9>|x~0O_oAJdPQ?~<3gdΜ9xzznlԪU ___nݺŀHII?>hѢ\pss{k.ϯ~Qzu-[V> Cg,qA>O,Zk׮e0|pիYIH[yԸqcڶmiPjUZnMv?>.\ٳgΝ;x" .aÆt SSSU ...lذ^z˯oߞGX(;gΜ!%%8] 6mbϞ=jՊ)Sн{w6oLXXG`\WSScř?~aVjU8w|8ϟ?̙3|4iϟ?/L=zuHD~7oNZZ=gwpp (LMMsvԪU ݻwygΜ͸3ga,Xxf͸>aaaرA1w<޼yy>}}*D.*ӻwaooܹsqwwg3%%%VZs.q/ ::: <OOOuzg?D̠ K.L6-Jݻ9|0+V(9@pp0>Y3m=ɘ1cW^W!d2zzzh ZnV%=zo422N:tԉ%Kd&>>^ݶmHNN 0[*޽{$ ++|]1P88Lu—>}:GfԨQ\RJ888rJ޼y͠cٓ딕Aѥj nɒ%ܽ{Pl׮]ߟзoߒNsÆ 6K⢯weڵDDDZL#;#>|p֮]˨QXp!O<͛lڴI7x5SN%&&]v?f"@J5j( ^Lʕ+ѣ7Bĉyƍʕ+fhԨ]v_eEG݃AA2йsgJz(y~zٴiSs|-ZD J~544r]&޻wOvħbꢭŋ e۶mtޝ5k0uTtuu_>vvvܿLF"@JϡJŴ::L8|HjJz?L2uH|7\~]^Yɓ'4lؐ &PV-|}}1bsNRSSi޼yIXOPPPyeڷoOdd$Y?4mccL3,ׯ[څseƌñc߿jݺ5!!!xxxLzL&=eiӦE6w]Ύhڮ.W&,,+W*yyy~zشi 8իc:uF* |4448z(vvv^#wY&@ꫯݻwԪhժzzz 855,癘BLLL;uа9xzL>]:L&Ņ~-KA%%%LLLX|97o(Gwww\]]155->E.*yH^ qqq<~ÇSn]W_1x`f͚Dn@ٲe2dgϞی3{ҳgB **"Q ;UUUtÇ-1Sn>}ѣGǠL2lذ Ç3h  r9knnNrr2W^KHH`Ϟ=|EBhh(4jBCCٲe 5j(q޽f͚1tPvÇ 9s0a/^ڸ1k֬l0* "@JE'}$$$0k,w˗ɤIʠ1o<6nHhh(B_W.AD>W^Hd~JjҤ ڵcɒ%E,\UU\ϝ5kژɏ9r,{{| jjj4jԈM6ѬY3-Zč7h߾}ؘ}q1N:- k֬aٲeԨQ㣯"@JEIMD,Yb;xG `Ν?~ɉ:::ȏd!ڢ aU%=/XJ¬Y`ڵEև=ʕc̘1wqψ#ё߳gM4~E6ҥKd24i… ?>;wŋlݺSf_׮]ҥKYPm8qx5kΝ;1"#tTQt_GII~AgΎ;T/HTUUoQSEo;3 ‡EFFnJpp07nvڔ/_ݻ8> 6 "ۋ^R%Vʁr=먨/ȏ%%%qС,ܵl}rU~_l˸bԨQ-[1c`kk[v6lȃꫯ0aB), ߺ۷0ydnvۣ.\L&cժUg( .:$&*}KA{.jgE gƌTTM !!!ԩSׯo߾ٳgEև&&&_\p8"#Id2֭[GժUKzHRV{ՕЋҔ" VlD[4QckʦudK/M6&nMXh4X# 6"* " w02PE̝s3}OT*ѣ涺޽{sUΜ9ùstQ#]DDDDD:$16Ҙ2e ...^䐕ա!n&&&uH޽077ŋsήJ`=\v u[J߾}IJJ֖#G ZD"! ˇB=iOW*Ton*wU--UȡCgy033wco_kmsJ,X;w'`h"g$ZEDDZݻ E. ۣG,--EQCPOVVٔhpD6맑0F-'$$\-$&&2zhٳgSNҲm&++\ E}ٹAULT5=z33FsI߿ݎ?66O?amm͖-[T*e|(J9x zuuu s>%SSSa. Z}Lj[ZFgҧO˜6m\z{{vk_TRRR"̥<NK0' tNJރ&J255m$ nݢo߾m;fP*̚5 ;;;.]$djד'oYYYm8N111͎qdcc7'OdٲerNӧO'55;v` }֭[Y~=quu/ oFS[(//PC\=%L+c '&&qF֮]H\'{͙3g`˖-ۭjG`zMeeߧP(.u@y$&[2""CG|yCȘ0A]Rw7Z^@Pe׆R0gʅ\.WmMXOoY&qq5ɑJ6䷿jn߆/P^XPgo]&yMjQ^| ""T  i]*U}z$q7ͅ:T1yr={6֌*877jHKK'Hָutt!åt&r wHDr=@{RTKВGLLϚK||<{2⼮ 񐓓uD"н{wCAmnjkkOEE d29vGG6 ƎK``qssbff#((( ##Cc.5`bdd$|-,,Z5&;;[c?333@7- ~rٳ'C%>>^kjjHOOטKZLzbllPv='m]䱢~m<==yyy%=ZKAlݪﮮV 5ڄgGSVVFLL QQQdff6z]`r\277o׹T\\h.PZZJii)7owttۛiԩxzzRQQѥT*%==R3֭[DEEOmmm} 5G6߃N[}DDZABB3gΤL깕+Wrȑ6]]JfĦ_xq~sDE/͘9,_>;wjg$&iod2vvvՂ̤8022bx{{XŰՑLTTIIIL"7S;;;:x$ fffi$~S[oLN> gΜ!-- ooo7K\o]{GTTQQQ LMMqppz-zzzk{HII888`iiIdd$1p@8CCC)..fȑyJmHII,R{{FsD"KKK<<<竫z.ݻwt  ooo<<<ƢE8t=\s{rJ,YBzz:NNN;z=ֈ󷰰h4[0y؈]DD `drشiS]U8nAC߾}2dרEE.""4ܸqhJKK~:ׯ_ooo[a +->>>xyya^yࠑ%/ѣG#˹}6o槟~o߾x{{ަ$Y/^dΜ9L0ѣGTt)+`vvv2I SN1fBCC&&&RBCC ooowȑ#< 2'v5OC+lBBFw'''"kwg```@^ի\YYܸqLHJJOOO;H ^XXHtt4QQQyJ#{{.-Ƶ! t-ؐ)}~P]=mŵkԖâEظW Ҿ*v_DDDa`ggɓ8q"o p.\ooo0U9uaVh [c bmm 𜜜v~f͚5 >'Ntnhu-J5]=Y!׿?~</^d<ܼySӜ9sggFcɒ%<ٳ˸X7hēw]X* tԔ#F0bĈF7n`N8ď?9'ӧ xQhښw͂^4%е/ܾ#?}󆆆 2!CP\\py^z% 9zC J%ɜ={VȠ8YaB"SN%""h|||w{ё\\\%Ljj*Oŋ:t(/2cǎmFii)/^$<<x駙9zʗoCNN޾HW___|}}ܹs$&&ITTC aر޽{;w$@oСz*uuu?bii_|HQhƆňV#""Z$>KKKQ(B 5MYo?..LܨGmA{^yvo_DDD+ӣG.\HFFgϞ%%%ׯ\Ν;G\\ bر~c)q\.g̘1 :+W/Khh(cǎհnݺ͛7kwq^[[׹t钐A֖s5"qrr"<<N:XsVԱuu5j%?oQC !99KKK\\\pqqwޔGOϙ8{~o?66wwvMs1Ӈ{I}֋t$,];we~1bDY 8DGG3{lG*舉 {FD"ϏDΝ;Gvv6Ν#,, ???!!OIKQ{kfff ~ 77}}},,,x7xg7dү_?0u=z4zσOXz5[lau˗9vC;" tNJM65ϳpBN>k+!C""شi۶mӘo6lذAx.--W_}?$''n:wαc_N: !@n۷ sssIKKT#5К;C|||ٻwܹs#GG}$[QQ X~=~~~{ԩSl߾x/9NCDDD+̊+HIIٳdff Vc2rvdUUU9sp!w~7nFǑJkVZժEccc嶶WD"alڴDsBBBr y,cի{رwwwoΔ)Sٳ'HÃXΝ;G~~>N"44'.^̌3:(JCYD`СK97oҷo_F喯]T*51cFDtRRǎP%\ h[oVx|},Y7ov 7...#g„ ZO? JY;!Cl_1NI}}=QQQnnnL>:͡T*ɓTUUuy=FQ]]VCm:u*^^^\LQ*>}Ǐ駟|roNAAG%55Py7///a~ӿnaݛ:]ưak|"""]YV?,, GGG7T55Rxꩧxꩧ^Czz:weС꿽00Ҁӧk.֯_.+P\)EDDD%ZW!믿-VTTLTTQ>}:...u ]T^~e$ϟϚ5k8y$s&MİaZtQTTѣGx{{{f̘խZDQ666̟? 9Bvv6 ::g}ęI&1i$>vZϟODDoѣGcvM@TT:|ppvv&''WxƈKKKnHs-qsz*Z_k*I}\+:}嗉%88]77DDDDi$ C W^BAHH_};_TNTTѣG/?QT]M;PSSë <p]K.\BhbGY'⼝dK/ѫW/jjj8~8;vu?RիW?RRRcҤI^Z툃/ǏG&Nxx88fO0===^|E_\.^?ZnݺŒ%KbÆ vZv~n:???pqqt-H$,,b9|s( __W7%um-@7n#F`[]㆙?<8qnʨQ?~VWZZIHHTYgΜCg~@}- bʕTTTT*$::Z J$ ;ǎ͛={8fΜ5vZT?Luu52 ƌDę? Yb׮]ܹs/3j( yyyBP勘1cFtgPσ~q9z(111L>]k{BKp/СC:tBXπԔ^{=z0o޼N;bnܸ+||_""Z8q ~}66a޽L6Ah"&-,,Xhќ8q,l˜1c 9|0oё3g-^uH$|}}۷?̙3EzBCC \*xakkʕ+ ٳ_ȑ#1wuL<͛7S__/wʔ)԰yfFɧ~Jn:+~g:}NK,( t=Ocp?,, Td,OS+Կ};֦vE ㌱1gˋcǎQPP;ocǎ Y5ǓLPPVVV̟?L^`Ϟ=,\P$ GHvERRR?>>|vI,':,--Ydɖ-[6m+fgdR)FCHvIRRR5k+bΜ99::O͛o`bb5zb֬YŒ'B"0x`8r7o$((BzꅑӦMkl"{,[pIHHwVVVӯ_?}&K}sB鵎DTݻwk<3p@6mԩ-ADww_ҙ=:SJPUr]o -@uj,X3|A]EDD 9swÔ)SyBBB歷z~ |}}Z%׏ rRSSȈe˖⼋`ff… ƍܹs7o2g $.:s=GBBw!22GGG͛-ॗ^?~ݻwo (;;;Ǝˁ:-AWAĎ֭~W:Aع,躴VZڇ>4.?3m4y)((hQȓBmm-G!>>0`'Oʕ+:e=~HOO,e>MPd2ZJrr2}θEee%vD:J;rrrwww8 <|"##9|08;;Czz:?M/3f F",,8>&ll޼K2{lFABBg&33a7."?Ξ=ٹs'}m#""ZЛ躴VZڇ5kPVVFHH7oĹ;#F/#F`РAr렋<~H$L>___;&LKKcƌnj 'M@ςO>ccc+Νۦ~9<.\@ToAff&GΝ;|̝;+{וdҥK۷/1yd!ɟHR[[ˉ'ӓ7|N:E\\̟?ɜ}ƍ_G&ovȱ'eXf 666L6 ݻw?T&,"k1f.] dCw]P<<(ŠkC.a6l؀R$99WFXX\1b"HD cOjj* fϞM>};w.Μ|8SLAOOnݺѣGOvv6AAAL: "Ctt4ݻ3o+GGGGϟyu )G^^[la…899=#x\t ggg~'a!! ???"""d͚5m꯸={3gd4 IDATXYYzj?Ndd$?L2E (J.\s`֬Y&R &IKKc֭,ZkkuOٳb;w.8::/rAٷo&MbԨQr899uupsYz)rrrXp!v~[xuy楗^bРARO>ׯ7Q-#FߒLnn.666ϯ]"""8T*9}4////_!5kٳ'ܹN>OPP9ݻw-?\~ɵ]]+;;SSSVXHg̙L8PUjK+vq>zh,Xd(H߾}Yjݺu[ D:7om6Źccc-ZQ*:ucǎP(:xJ%ׯ_^x+Wҷo_jjjx:8C"O<6l@.j<_Rffb {ꩧ?>7nL$mqmh}kkk*++57E.""8Q[[ϥKgΜ9ͺhb <==>۷SVVWH$1|HJJDHSQQAPPQQQHROɓnccիqrr]v믿vQ?y\z={P]] W{|T*eڴiL:DBxx8~-U Ku k׮sNqK,!11ggN9]˗ otQ_HOr@ybQ( 6+W6… unٙusӒ[KGTEEEOt$ǓBmFFF,[ oo#H4iӧOG*޽{連Z߿ѣGh8oHEEF͛_jҍVJSNT*eѢEZ]իWcgg',̈Cff&| t֍UVh1gU~uIkٽ{7<( GQ<|DFFg7n{_~P/E+ȣLNN۶mKKKVZf7ɡCxbr9)))QQQNG5144|Xu˖-#33ׯvZV[QCCC״iڔҒ+WBMM w&>>퉨ر Yz5666nO"0~x{9R)߿^)gΜ 99VףLMM {!&&LܹsSH=z`͚5QZZʶm۸{n;(EH̪U1bDajjDx2c tcc褐#vݻl߾RlmmYjVVVv>}XlFFF}|qtt$**J???BBBꫯpsskZݻGRR)))ձ~"##JR)18ۚ[JkH@ M͂nnʔ/"""(޽{DcK.mq2]ih/**bvH_GGGǦMWb'O2b*++(~_蹪* Xd r,?\vÇ Y;޽{|rLLLw;v젴Cz(..f';/\… 8p 8p髫# tJܰa --;v+45п[PP~Ȓ%Kvqoi5}9jL(EDD5ؿ? Y;usädgg»Kdd$'NdРA|[[S]cذa(J:Dxxxe*.@qq1[lO?%==ɓ'sI&MlBX~ټy3AAAձh"~7Zkm5}< t15վ:#k]"""KVV2LH(ߦD-%&&R__5kV 5Qv޽{ܹe˖ѣGNT^h555TUUQ]]-_VV@vvX!˅q36m^^^p nܸowOΚ5k|2< 755eadd1t4~~~d2N<ŋgĉ=HM85Kzzzz/_Tل :+++VXΝ;gǎbaa)*qz.49$\1*((`ΝceeE`` wgyLFXXGEP)zw\ƨcGZZ~)[lŋvZsP*:uO>`ذa/btj!@ѕ6OJ7&&&XXX46Q* 4S}.{n222޳g6[]]MII ōJU-P(ZkE\.!ZȈ([^z%!F>W_}W_}FRrvINN,[í}5j2~˗/P(2eJU}}=ZǨL*ZbҚ'L1LMMY\xQcgܸq*{wMYX@SW%%כ]v駟 bZ}CyF ((H ںE՞"J9vW\A*W__OQQQ1kq qmTWW',( ***-'Hj4wӂ˗q>~F%}ΝXB'+qeee1Z===rysImiW{B}snƍV'^XX(s5;uT*ҥK#>|xU(4H$c6(E+|̚jSx(,m+*j,Rp,(P%FUonW_SSP(ٵKn+%%Y̚4_u @__kӟ裏h> u/nݟxo(/2כ,_y̝1vKK!2݃3gTB1MN,"",^!C*KUmmrVZ ),,$11QhS*bcc#899aeeq B)dvEzz:AAA,_\ZP(ݻ.$lMm8cccZ vZx|B1FTTThXԏʨݻ5 ?HR&LF?ڵlLMM8W3l0;Fhh(2OII 8eee #Jz ǩa?Ma TVVu.) #..Nh_&agg0,,,4ʕ+[j dǎK5}qx@666:NM%5K ]ΥQqqrmn߾ql888ԳgOc(**zD„ UǏ#ɄP} 5RNNVoP-?>6KPPQrrj(E+:* J<ܩJ%%`bҋx%qA<7uu&|4}J ""Ti`ׇ^}~{,nfҹL8p@՟R MT۽{cB`PWZUquj↑f8DnSS{qyMM|:+WssV-x88D[oC[6^"""OL])J***Z&;;[HBddd#z}t qF|ΝBFꀀ{.ZY#uXd2&&&:ivj:~8'NV/_&''G \ͰaP(8q .P^^NϞ=}6k5'̬*A]_TRZZh.RSSCff&*GGGzMqq1H$Ǝ%ĹH߾};|7 \YYYZV0m@OOSSS,5557K Zԋ+2={ҫW/lll8{,XYYlٲ.ըEB_~ȑ#bddĝ;wHOOZ6O.7#LMM̵)D.X( ,-U%aԨ^75…ָw8JKKrf&lV g}MjPD+wC Z"Mż̚~[ S/ |)L,BB%%%5ΝںE[7VtD 3yFff`qȠ7orUJHIIIbTRIQQ\r;wp,͞={vX9P6a޽KII YYYdddEqq1,Xrw{SSS9{,ϟO>899gC˳#ݺu H077ܜ>}ϫ8ݻw2 !!!\ΨQ޽;eeem~)))͍ݻwӧĶzA=N=z4W"ٳgUUUdeeiXIOO֭[DFFRYYIϞ=Yt)%%%tbii)r5BBB0`PAؠ#F^@BI <( 'Nd֭6۞D5ژӧIEt:n]+ @n8sL ssb<p u}l[xxx8~-KKKLLLrPxzzIϞ=;OPpmHLLl{Ivv6uuu|r<==?rA)))Ν;Q[[L&ٙbbb044OOO:]HHBBiiiBrȑ#8q"^H$t֍nݺ~EpPy:888sںS@RR{߫W/ +V₥#? ݻPv OIIa#իaaaabbvXzm(Jrrr 󬬬隣c2zF:ϙ#$[z5 , !!AkjUQ%IJ%SLؘ3g<0*\@DDD+ ɐdԩS;v,w֭[B\cNN.\իWqMy O޽ӧVѣŐ!CyAcbb˜1c9s&ܺu[nQ^^Ntt4d2\\\߿?0\bbb,E>}h"z*?)1f 4TRRRwdddpˋ=ztwDHII144WWWVZšC$::oor.I$LMM֖޽{3k,HII!55r"""@.ӧOG|wJ%Đ7C"`oo+\zn޼ȑ#+q@ъ2k {ݻ7xA%BDn_DDD+PXXȮ]ɉ "qqqaܸqTVVDbb"ɔpU^9^^^ 8T(ТȶmaϞ=,[JǏL&c'##'99d?^^^"0!::lyT3xxxhES__9x 4Y#@zz:} 3k,R)}aĉ T|2/_ʊ|l蠊!Wϥ^ziE;r͛e\ BOZZ,[L1|pcG=N%%%搒\@x^OOWWW<==۷FX3#))={b Y<*]DD 9r𿁁˖-cΝA;~z>|}}ٵk˗/or_,;'""QVVFPPeeeٱxFt###|||񡮮[nG||<%%%5ۻEsss_(}fnn΀߿?M nݺtRoNzz:g…]&=8{,H$̙ *q䄓'N$//bbb&11D0` YbccΝ;2>}0`ۤ^"3PUUELL #00PÅQ'77oZٳ}g6lÆ dbccIJJ"??BBBg 8Pj+쯿JLL׉^^^;;&wqU_pWYd_\QP4uԬ\*ԦԦ9S4MN4Sַi%&R-MT6Mo=q w9s\|ޟۛ 6~U$J +233Q,ZCpk o N8Aeebmm5je];vbqZMXXC !88sksssϟφ cÆ ,]뤰⺲jժw]wܹsǾ{^Iu2e zrr2V3yʕ+F| vgϞ塇_4׿ٳg?sw?zV IDAT &i&{>+ގe˖)%''@YYU+Wbcc?<~;•ݸ3o믿ΠAyGٽ{7֭vE!F6l@ee%,^r7ҕ?k.5jaaaMMM8qGRPP|eϻpB֭[GVV_5ͻ.~}p73dȐWWW&Nĉ)--Uz+++9vǎٙQF1rN6 LZZDRϰa2dHU*ͣ,6nȲeUf444wqc+++СCijjR.dgg+wAxx8t\WWGJJ G=n og$''cggǔ)S. ;vP`.X@)Zcz2e EEE?~4jjjL"FEDDDǃ` ;;GrI:y[j5wu~!Νc,[ *.D?ѣIJJ2n{ĉ;ѣG+W;'o:=vM۝} _w=OfȐ! <]}{{{ !~Bkk+7n$77[[[-[vE=0MMMqQ=z4888PRR‘#GHMMU>333BCC9r$!!!W󝕕^'&&ӧxY?O>yR1 L2s^|EN<IOODZ]Qc}QҔ!fffE`` ͤh!G}Daa!w}qq>RXt)666=^ѣGM>WWW 0??#G| 2QFE'7tTZKP棿[1bDec C,,,6lQQQx{{S__ѣGIJJ2WŨQ6lֲvZ*++{*!YbU?Wt!͛YnIII|'JﲳIEc ~Y=VVPUuy gٲefj"!02 |biiɢE8=ʊH"##)++ѣ;vvNkk+F͍HFk=?̙3-[?{eڙ3g/1 ;'*UTTi&KvVVVNU*?sL222HNN&// jʾPR###핌ڵk)//gÆ ,Y۩Ikk+| ۳x+ 7nrmƺu+=z4Cq϶m۰ckJp>}+ @PP 8q$Ν;DZcطouuu憙%%7ٱxb֮]Kqq17of…= q|}}yꩧߍ$%%Ⱥu?FSZZJTTGǧ_^V\yB_ܹSI;8p`.͍_WDGG_m6Ν;̝;ӧ{-԰sNv؁%Rbc3gDROxM6[nZm/ҒFÇ8z 7pU>m(w{GII 7ofѢE`0e򰲲bŽzQ}zqؼy3;wT1l0n6&NPpttх8jjjHLL/{dZD^^SLQ&&&^kשּׂ3f $$$ě#G2}t,Xs=WWW-Zć~Hvv6| s# /fb֬Yc$%%~}'O{ h3EKK [lֶϷ /ˋ~W^yzӓ++hl_`zwsss,,,+++hV$>|0`Μ9*<ѣGinnVz[ZZԄGɓ7^=U1h -jjjZꨯWLnʹڊNS~޻wxVMW~儺7ȠA[1 |^\)//WƔGDD\8q?#%%%--- Z-.C !&&oo^GNNN,Z>nܹsAQSSCMM uuu&~2~t:٣SVwO#Fcr%{{{q?iiiJU}^|?~NLxRSS&447}vM9;;3{lzno*Yf)?c>\]]e??:PCC;wddff*3~ǵO~YYYqy>3;3{yꩧcO?jx饗x'IMM%((?L>.t`0Zf888ʮ]8~8uuuj9s _bbbz7 ,`ӦM;v GGGnVjjj}wcɸZZZHLL6wEt!:Ye/ˋoY;fl۶ ZMAAaaa=^ϥd.'@pӟx뭷_oƹ%@B\`PNzZZZ8|0ɓ'3p@t:]Z~xzz2~x $''O?){%**^BDDiiidddCss3RTL4I]ӡz\sss'11z8q",XDn,--9uI[d~GfԨQ7աC*iii3qD{wNףhlN8HFde ֵZR{888jٳgٿ?OVcJEVˑ#Gg˖-|SVVĉYd jIIIᥗ^"!!Gy0bbbzT dĸq)?3~xꨮwqʲ墂VESZZJ~~>TرJ 1 477@ss3MMM=z[[[nfHMMeݺu{x{{caaAUU>6m,\d-a„ 3///t:{o>377Fwq|$''---c00 h4⥗^,N Æ c۶m]$쨮xh"99ӭuI8q=BBpL^;͜:uپ};:ӧh"Ν{Fdk_z<3deeo#CAPBtd^سg#FPz2'wƓT㭡Wx>:uJ)ʦR033 777 (,,d޽&AcPP111]sB Q0aBS(--UnϟL >u:))) 0ð*kkk^RcFA(=ujZ3]MA ҍ'---&QY4ZTuh_Ɉ#ȑ#l۶G}M6QZZ3<˻Ç9trnooϸq=zt/'N$<<[^RJJJ}T^^w1|p"aXJo&zC&ą &Ԙ8qggg(ǒ;v+p7 w^e*;JŐ!Cf9s~;vchnnFVၵď3hx^{5n݊^֖oHKKlllqƍ#%%MnkkKdgg]8wF8p jGGG|A)))QZ077'''JF+++={6ӦM:jkkT3et:&((;;;}d̨eϞ=;v,,, oDrYt:nnn$%%q!jjjpss#$$ɓ'aظq#2Z-J`4/È#L&t:;KE\jjj:tWZIvHcx*))ԶONNN>jߗ%ce6 9pIIIOOO&Nmeee߿T%4h&Mb߾}JwCC6GGG FɀPTj\]]qrrIx,i4+:չЛL^YwEYx1EEEw1{wjYY+y|||s_(4It!DG{`0P[[KYYeeeJ/tII̵gff...dffR]]r1 &\ʼ---}:={H]EE999*莎xzzrM7qF+~GGG{=.]zYǔNCJee%BBBãCo<&v>}:ʅ???~{챫~NSoo9w]YYTVVrIΝ;dcee^Q ^ˋ Cff&*Fj5#///PT455Orr2ϟ'//?O1geq92hР>8 Ѕ@uuҥKDf͚ETT|-,z З.]o 7p`0PXxwARң^!KR舣#JUBh4`eehnݞ`lrss9sIחC!崷477ɀpuuS}:tO>]v9qax n&>WVy#''Lqq1dgg۷}ann, .ŅW^y)Sɾ};V)V\\LZZ/׿0 ={6 "..#Gj)((#GҢ pvvV0`iiivo0(..VQ^^x #,, ꤬²et<ü 2{*d6㐚Ɔ㉏GVG@@AAAxxxty1e?bFCTT>>>򬬬9s&3gTb޽|G<3-)y. rw˗w\Gw 7@xx8;v03pm0rdpmT{O֡նr[үݶmhmm28ohh?^#5u xYwFĉ%]% }iiiw>rrr"77W9. L%8oDRRRXf ˗/3c}R]]k $88cvvɔwv[O>>>ݺh]F̔v(IIIݻiӦ?\ty.D;bFFկ`۶mʹX8:ۃ^PPp?n%Ki ˗ɴBj5Jz|kk+J/1庴R]]mңnaaKxzzrAM2;FPPJ_WWJ]yy/Y(we̙deeQPPNcĈTWWSYYAرcSzYn111АYz5dgg`%mɉrܡmƲfAJRLEFF*%544AFFƅ)$(;yR?a IDAT,+11ټy3ܹsTWWZ. ƴssn9-%g*"eV5_Onnnrqo'==GH`` /+58<<<;v,R%̙3֒Jjj*ZXpOOO`РA*|S*Jl{xx0x`&LΝ;䷿Uk] TWÀ,N}'M +KKԔL<9MG}Dpp0駽f!+J>uT!++|||tȑ#qssSƼ<&L` 0a~uX?a혛 /(ł8g,22`աRx'x'@L9r$wuܹFÿ/eQTTDyy={6 8::a򜇇 >ogmE<<<8p՗,RQQQz"33Ν;?]˕JDD'dҤI7Ej$`!;;[1 *C3\]]yW{}JǏGӑdPXXd=^WBsi˺u8uڵ"{O^^SN;wvK ̠]Y༥={tz?ΪUl,'DƠIILMM&"55$ ;]ZFәBɯ`/o̬kV^Mss3: bcc)..fرsyf̘Ahh(~~~;sssEBff&$''osQPP@||Gs8iӦPTb?>}xn&|ANڷB\kײlٲ2e,,,صkE5X{SOUKy$iiipIGII saŊL<Ç_rYq NGQQ;v#Gp! dΜ9<w?|Үut:~{ͧ~ɓqwwuIt!.U!,--eڴiwSV\bzgmut:ٽ{7GNGkkrk{v P窪puu%!!nñc={{ Ѕ}KQ[[ۭVصkO=ֻyA\]] a̘1899aeeK<ꊕ R~wttʕ+~4C~~~j)..ٳTD سgfff455Q[[^@MM }@oooXd 7|3פ=֭[9qyyyQXXH]] )=vvv5;3&Mt]T[]W^y1kB\70iӦj/ _4 ܹsIHH@bggرcG(=5&?WU2}[ZZxbİm0JIIˋpAc!?k?.\J:g,Y7[lmm𸵵RXZz7?q333̰dԩ<3dȐZ-87zO UTTpi~'Þ={P*8iӦ)s&<<*HJJƆnBtP]ֳ{1ZӧS\\̞={&vϲeˈ?Tmw` 77]v{nvMii)?)S0f̘n3.+vWJJIm !Ddeeocggqqq  @||%>L233ټy3ϟcҥ&iuuu̙3yW_Ӷh4lll(++>57x#| B\:+VUɉYfu/Jt!oÇcƌӫ˟={6O<seڴi|GcggoyXt)Ç'$$Gb0fʔ)Zkgc싮c֭,?%%w!BCC->>V\]]4i6嗳3J Ғg222Pռ[}eL˖-cΜ9g͚5^Zyӓ0Fɸq㈈ $$Z;}6mZoo7yW_GQ~wvvfʕsqYΜ9CVV2 e禦&xIHHԐYd _|EO?*!eYbwu6lEv] tBEE|L0G˾XoY5kG?iӦqqV\IEE+VP1ڰ衇zY~JJ ӱffpDBqՄt]4z.)9U*Æ WfS{nnnlܸz?Nyy9eeedggsIꫯmӺacc-uuu.sĉ̝;Fb6Jx T*8::Lhh(3f`ذaq9.jzt:UUU&7pvv͍`&Nv[/rB`۶m|̛77,Z!Nc$&&W_1uԋSN1xt5;++UV7|eZGGG勧'Oޣuw zWOIIrܦYBk8o{eZH-[@mm-C aذabƆqu\yy9'N ==2eBˣ,,,Yp!$''Jjj*{gggj5zsΑΝ;M0rHnf T0`>>>닝ݖHRR_X`NNNL2XƏϨQ}5w Ѕh@T׳tR >KY9y$z+XZZItt4Ǐ'::0.,,W|wJlj0zNspЅ}Ϗ^x^xNGdd$e`p!^ϙ3g8~8Ǐg߾}s=h>|8111s=Hhhhucc#ϟٳ455q 7x5!ĵeaaqضmG믿f/R^}UNJnn.7|éSjTUUBTTqqqDGGe7T*RSSޞYf+...V133333|||݉L}Μ9@[6ĦM&66?? 5 ^f !QF1j(VZEKK 'N 11ӧO͛o++0{l%󸺺DppsI.D;m#3S>Ӌsرbccf!ZF'O$>>29~8=VVVxxxFYYzcn]v޾炂Ü9sشiS೴;3{<Ý^dΜ9] [&IJJbҤI(xmCwXZp---_#Ft{%LU[[KYY^ӑNnn.%%%PPP@vv2VgE,,,jkk_=>!^xx8&566beeer>Dnn.;v]\WO<\]ťm7]>`ĉ|8Ç5---TWWSUUEcc#Lc0hhhrss),,___|||8p`=Bh4YYYd^mܹ m|ʶ[u5?^j ѱ=Z-:۫pv^[o70_>}/]V0vl}dۮafLn(mۈΝ8'"HۡCmF !%Z;J<==-BHtq]{N(jpXM+3fW{ޑD]ƌ-5ں- x߭@fivoav37x33ee߶nM^3ݷt~kjj<O=ն-MMv~[[Z9ugy1cۋ TٵzPXqqp B!$@R==aƌ _SQի7nwu$ֶMMP^EEp=?]:47C}ρ^oljџJellL/m,-[!"4e2[ZZx뭷Xr%w4E3};t# A!B⺒|Ej ;[̪UXjw}w֥ն76niiZܸ+e LM[aa׬YO>sRWWǴiHOO: .\dddt=B-W.B\ku2\˚B\%.ӧOB.Fqq1} q%8Bv!ŵ8W]!B!.2#B!B! ЅB!B~@t!B!]!B!$@B!B! ЅB!B~@t!B!]!B!$@B!B! ЅB!B~@t!B!]!B!$@B!B! ЅB!B~@t!B!]!B!$@B!B! ЅB!B~@t!B!]!B!$@B!B! ЅB!B~@t!B!]!B!$@B!B! ЅB!B~@t!B!]!B!$@B!B! ЅB!B~@t!B!]!B!$@B!B! ЅB!B~@t!B!]!B!$@B!B! ЅB!B~ z_ff&555} !D7B ̹s稭 뱶{{{핟/@ ?KLff&} !e:}B!Lz 9}t[nn.:YXX(-Zlll`T* p4hWs'usaǭF X[[u3Xee%uS,^X^\SS&!!TN>Mff& @[Dhh(s!44???:[ZZR'|KKK {۫W.޽wyf,-- &44Ç3i$bbbs! ЯS&22!klݺqvAAAs\墉B_&9BBB 444ѣeɒ%Jﵿ?wnii+}N3 O>ͩSիdܸqL<ɓ'-_~<Mbӟ n ..+ϟnB9ry\\_}^'==M+%`2H.F֬YÇ~Mb&L& cZ&!zƍټy3UUU888ի+V9~8[neÆ _.-Zѣ/kB:UUUMb* GGǾnB!%i&6l@JJ ,XŋYe0󴶶^Vt:z>Z nnnJn̈ ""~$6lM?IXX/f…^6 q=S C_7BdFMtt4?c_7GWBB!!!x{{uS?QQQ}ݔMJJŽB زe o&XZZr-xbfΜ٭@z $??R;}vvvh44 ܜ^{ C=JZ(//)pssˋ@= ]vqFKꈉgl%; IDATn-G_~uD;Nacc͸b MB ̆ x8}4qqq{vm#++LԌT*...xxx;;;_Vo|ss3nTzcV9sbff/e-,,1c3f7d֭|G{<dٲe=!u*$$+vMMM/~Zx+fΜM܅B\:}]^~e ;w.ׯwQQ]ǿ3t %"$`XQ1ƘD}1)&51{W, XiҤIQ}u~]`(K2{٧C^IHII!&&RRRDV5k5 4Tcr:uPNcb=))XHLL$113gΠG&Mhڴ)vvvO-3f cƌ!,,%K0{l~GfΜ?jժU֗+^T7n !!'''M"eA233Yj+W$++c2oo5kX`;k֬gĉ̝;7xNʗAb=̙3u%&&Ұa*tA˗h"ttt̙3W3'88ӕq3337oN-(=cY $44Tedښz gŚ5kXb||7GPzfnnNzz:Nڋb۶mOO<^PPB@+))!==ڵkdÇjk#""hРw6/**ZjQ~}e,''[nѢE R^=~g.\)j:*I$L ߩS>}:̜9 <[ZZ~~~RXX<ڢޞvѰaJBjР O>DDD2^__{{{z'Vj믿f֬Y,]ŋ}vVXa^B#>Vaƍyxxښ$IRprrrTaaa=ҥK R9sӧ;i$vءx"...ܿ_%>o<>} *[+V߿w}Ǎ7T⾾j9lٲhXtt4S;ȑ#ٲeccffƭ[TF6lؠv߼y3SNUwC-_WWWs͛J,""ŋߟfϞ L xxx0}t5k ,Poٜ9s`Rvѭ[ "C._˗,,,ݻS믿dLMMYbÇp7Ie}???/_… UFW^M||<2VPPŋ5jʨ_bb"\EQ l&Oݻٳ'V˗)..UV8:: hTT@\pW*_7x޽{y 777͛Uf Be"$hvJUS3^̉'0`x-AWǨQaرOq-..Ϗs)ZYYLƍ;jȈ>}ЩS'Ο?O@@lܸ-[2`Y=z777&M;vP)hW >>ܷmܸQ),Mv- TC$b t邩)AAA7N8$VZyyy1f&L rbll̀>}:o6rH֬Yõkמ^>x`iժNNN,X@9 /(Ы8}}*Y4k;pSxm-t ]MAf222xwϘ>}:X[[wM/fΝdggߠAN:?O?#n@jD.T P*l٢Artpnnn,[LmvII lڴTpttdƌ[AիG}3İfFӵ?>gΜƍ888p e./Go#T .  S(,^=zФI]ƠAλs6lH=3f̠[nh sir9]ta4nܘ=۟8޽{w]F8p _|EEE\^(Ыp/_4*޽{NAA+;;7_r$qe֯_Ojj*2l0vgjjĉ۷/ƲzjFpss~cŊtޝ4 e.' jiӦXZZj:joj:2aMZDs8A/55ݻs<<M! :wLFF8;;ڵkCGG2vX5֭˄ ׯ:::dzvZر#/^D[[Ν;WϖB$ tR,\Pi'''6l4^K5kCNCA(t}}}.^qIt{!??sss&OLEwJN.ӱcGL9r'OP(TmҤ XYYѣG5 <(ЅJA&}vM!TrvvvXYYi: AyzzҳgOU[ڧP(8y$HD裏[2B:u0a{ʕ+ر|8}4]tݻW (((]iM  Bk. o]XXݻz*2}2`uZ%޽;ˆ P9F=zWWWFͪU4 3UlڴIiTkw!&&Fivء4AA?c̘1>|Xټy3hkk3rH:u$WZbĉԬYwaTe۶m̞=ӧ3|PV8QW2={h:j-&&k:WVPP@ppx-t B)Yp!fbܹlٲEmt6l@jj*L0Atif6l'|Bƍc#Yl+?SNEQ@F*b???vڥ4^Y={xe5k_tLP5f U?ŋ_>űqF[.&MqVФ5j0aQ(?~ΝƍYn]ߵFܴ T 4 --Mi2BܹSi i׮]̞=s_vGEP`iiѣ+6fСriΜ96]tQ9oĉܻw?3c e,Tg@fJJJt M! :u>dzdc$ٳgG;w 2mmqWq2 ooo<==wQ9oΜ91k,իѣ5P])СC5  Kcذa899a.$q)eqޭ[7.sAMnѣ'O__~q1~x;Ez53sLB M4 P EGG3`طoڒs% c#={*;vk׮lܸ'''J@@&)QW3 +""j:WVXXX0h M~4 RSS۷/?~\m+5???N> @~h׮&*Lrz#G U9GGG}ѪU+_*Q ޽{ t27Woxe5t KΦ_~AݺuUr zAǎ5P d2G۶m$CrǏN:۷R7+*Q g}*}bll4AP(=z4IIIciir<&&C!I:tgϞI *((3_L&cРA888P(ؿ?*瘚AAA...j([z5Wub2AA.];{NXRR{EPкuk_U%%%_ LLL裏(..tZeJ&₝%%%ٳXs8r׮]㫯PBu! j͛deei:j)22&22Ri ŋoꫯӧʱwsNh޼9C y)r^^^*l=ARRqqq*1IͥD-A:u*weϞ="%%CCCF\.>d4iAAA;{t3w^=r9rWڙB$ UJ@@HN( )//O*,,T'&&Jj^Z񑢣1iܸqBP9wԩ҆ TbҠA;wė/_.*tiɒ%ҭ[T/^N:+,,Μ9#o߾-ݸqCgoooGsCs"k(Μ9#%''?")77W-&ݻwO%-_zU TeddHtm׫rrr1cHW\$IO.=x@ڶm4i$܆.Ν;'}j߿_-,),,*ۿYA)֭[ՎEDDH ..\(EEEi OPH<ӥx),,LrtiMھ}4l0wߕ6m$kN$@Q~ݺu )''GZtpBѣj%@ڱc"$=UI`` m۶% ~U:^tbu릌ݹs3fТE e|͚5ܸq˗+c?ٳgөS'eŋq9 믿믿ˣXxӴiS 6^`֭|)_}cXLL s?7( Aaa!ԯ_gϪgeen:ܹ~ՑB ))RSSIKK*#IөS'.]D˖-Y&jբo߾ԩSڵkSvmׯe}4dzuV&N#FpY&RQW1/a޽L'3gM6eԩ*.YKR~}e mmm`EEEҠAijAPY? 7Q P|Ѻuke͛79'NKdd$<|`dd˶mHNNa RSS0aVVVO|LLFu֘VhG%00z駟<&%%accɓŮ1k~)BUCǎKVضmZI-vg42-}||z* 6aÆ4jԈ B ;;Lk;tѣKAAS>}JqpigĈծ8!DFFKQQ򘡡!͚5ܜ Rvm r)h߾=FFFܹs?kגǽ{T{.iii퍕mڴUVkQQ899Izz:/_K.c̟?o?;;; f*Tv@7nLݛ޳1l0tttS9,ߛ,u]U{bcK O4^cggFA9s`llw}OIIQ6+}w]+suU>ԪU-[ҲeK,--_Q^5'##aÆ0rHQ5jP{>77hBBBHHHP~?~-[booOӦMgICCCÇ9{,ԪUKy>cY>ys IDAT˖-L63gΈe+z5=F]ԇ ®](,,$55RSSU~Bxx8ܻwkddD:uSFFF䤌=^?שS .2`rznժU,_G;:# h{eڴi*%IĉH=666̲|pT7lPY׫W ^zItt=qΝ8;;?{jԨooMvv6!!!p ;;;ڷo'33///j֬I^*{6m "11'O2fBƌݻU kЫ겞uϞ=lْ6mڔ;w~ѻwoёT7V;w+W0w\MD߬ c0~xtttܹ3]v%""C166te/뫜nffF۶miٲ(,,Tn_͛8q"7nPk,$Fpp0aaa֫ңGiii(I2dڶɝ;wXv- ѣGӬY3._̹s(,,d߾}dffq+zS]>={cccڶmڏuUСǏӧ8p zСC8 EEEu.fA{ˋDGMөQtUÙ Iӓl,,,ٳ'֥~#Izaa!6661a6oJP(ߟHQ]ҽ{wr9۷'88WWW233 $==ԮO8<q}ͱwL2~MÙ ^ͥ`ll\Pko߾sgϞeРAуVآ2uA n߾l ׳gO$I"** y& 6?te֭[sMLLLpvvֶ\gBNh޼+?\.Yf4k֌4Μ9CTTΝ#<<7o} 7,+ 6o̭['''d̟? Wʗ(ЫcǎQ~}}]MR"""pvviӦ8q5jh4s1p@vʡC4~@AJۊ+,Xx4-tP055e˖-i''J7$999x{{ <[nt dddDHHH=^ 3f 8q 233iѢ ":: 6srYShii`>cժU,Yg'՗(Ы9MwהX_>庯uA ~WM! TRYYYYStf$ ///7nLN[.׮]#88e!xwDPpΝ;\gަM7|ƍs9=z4lڴ R.*))ߟg*wܼ֭ySN1qD,===̙üytay=*f͚ """╾͛8::RF <==[n)glŋߟ憡a5+9sAի),,d֬Y*XnܸC aȐ!|4nܘBYz5,lق7EEEXXX3tJyiܸ1WWWF.7oT'PfM-[̅JB5wܗ~NKKL7 4(?P׏zcǎUQV*]yAÇL8Q… tAyܜ>aÆQfMݻǞ={ضmo._VRRׯ')) ===ĉ+!C(,,ՕSNFTT111i;;;֮]KXX}Lv?Ý;w044dРA|駼ݻ*{5j0}toܹk*'Q _wÇqeًzA݉'022h>Uէ~A7r=-/SSSG.ӱcGc2 {{{MF=&>>uqq>|X¢ضmyyy4jԈɓ'ӦM*}ҥKڒ™3gذaф`aaS̤sԩ 9#OOOV^MTTgsk\|j߾=ddd͒>}:r+W%(=xi/fE߾}}6^^^X[[qv@>}ɓoP' e~ѣG+GtOK^6mH+W˔5 Cqq1-Z?TYo_ܸq/]bkkKDD[V9O?k׮۷#G:k$IrJJJh֬SL_~O;Un:ԭ[O>UVS.!T~@Xi\ @||<^^^lR\z'''Zl{NAJhΝ$%%_srrS;wǩU#Gd„ 4hЀ|Yv-7n(_$I?^Yp:880j(uh//^m۶]?3gPNzuعs'{aذar]V!$o9Bnn.ucر=;t耮.iiij?}chhݻwپ};;w$##/$IoooQww}--rϥ0fINN_~ysssfϞ͉'gr9|Fl8MHIIAOO>}0uTZh35 i׮h7nY|9~ B# tJIIyBF˗9~8۷/ԅ舵5nnn庵[i?5KtNC:r|W*=/\N۶m1c:uB.͚5k8uTB8p+WЯ_?e3ڪJP0bٸqKQ.seĈrBBB8tPEEE={UVL&SP+ sNJeԔc2vXLMMyGV, %%%ݻ8tuuy4^KDnn.DEEӧ9rׯ_xyyq"##III!77IE.3|vV?w/=$IlܸQ%ncc+r08P&RSSټy3';;eO-ҥ 27nm6~x]FxxxMR*9B^^cǎhݛ Y233#668n߾L&SO\( mϞ=hkk3rHȨ{4okkk^(ٹTI7n@GGkd֒'>>'%%%SXXZ7r---tuu8x ۷oݻqƽ f?~*lْQFw^Ñ$I9uri$ vJΝK_ڵiѢQQQһwoSvmv?\+T-@GiT%;wK.4iDc9DEEѫW/LMMxƔk\\YYYǨ]6 4@&P($I??)?߹s۷o￿Ե( -[V) }v ͘$Iʭڷo_&]εԩ9sˆK.tEY ]\.gȑZ( //OL&Ȉ5kbllL͚5'00???bbbXz5䐛KII yyy|l޼o###lmmiڴ)ڪ傾3>Iaa!FRyܹ*:oɨQسgrO>/ \n''2dggGTTaaaK9CDOO#Gc-ZTfOkQiRJJ jPs\RcyЫW/޽˸qX`W6AXZZҴiSڶm+ʯ;5,,֭[қ]IIͭ2o駟4 BxVKJJ֭[hkkyV### Dvpww'!!pvvgddpIQY$I">>0lll033HYdd$'N`„ *p]bbbĄ|BBB A__-[bgg5r>}zjJJJ^Ç%%%{Zhaطo/^A/=B$bbbPvoԨU萙IJJ cƍ㯿… $T\@*m۶ѵkWv߿@mJ]y:u*9M6ښC*ߴiS,--mԃbllK/ʖX/;vDmի-^% Sѯ_?5jBSRR(**7x/+--'N=.mmmzH ݻwvڬXB嘖˖-cҥdggDrr2ᄇs}]ƵkרWs-,--_:jժ^&1şkkk۷9wǎG<ދF899ѦMr묯K˖- %44T@ҥ l߾]S]>#Ub;wO>i(+XnwޥiӦԭ[BlrA S)7st Վ$Il߾#FG @۶m5'LFVh޼9.]ח$optt|3gΐC-|Μ9իW۴iEխ[^z=^^^ 6 ,,,۷/IIIFzz:7oVsv =9^^z@RRǎ{띗ٳgCP(9tM#{ %,,>}(r9cǎeݺu\Z}&^(%777d2 t*/Exbb"l۶MC=ҴiS6m-66J9 . T..]">>qƩoܸAQQj*/KGGݻ7quw;C !! .0x`j֬Y&IDpp0}4:YfKbbrwx4}Ŝ{/..Vi^' Oc7nLUׯ_}̲5k2tP&M9xzzf"##UHoMV$T6mÇy?WW2||SX300`РAL4mbhhȉ'INN~/`ܿ皚ңGݕ7,g?~R^=Əѣ5MKKKsrUV888cM&T@5kVܹ5Segg3eʔr}΃ҷoW<>>*[٤i: Aj={{社+U*7n̤I:t(dff{nӑ$cǎCݺu_F\t7o3SLںLI|}}lݺ瘛駟ҫW/IMMeÆ xzz>wƏ*džJAAΝPvBEV~<ދs׮]ԪUnmmm\\\>k0227,Ŭ^=1bAVΞ=ڵSGDDczȴiӰ#Gpׯ_%I]Y9::2r2[<5jPv߽{2^PP@XXr<22qvvFOOs\~^zo6XFWW^eΝ`mmɓ߿?pO.+G;7‚gj 3"::wM+  IvbĈ# ktt4wU%''s!&27nTyСCހG~'ح[pqq!<<\%yf~XQQ?c:uJ:eVAx$00'ns IDATPRR%Æ ct\NTTWSYؾ"vՕ6mڼREEEDDD~.]ʾ} ֭[ܿI---㹹Yt)w&44T/;pWVѣ|gd2;v,Ʋ}~}:u?w}Ǿ}9s&!!!d2z-Or5WzʛL&e˖XϞ=$ICȤm(T mۖ~mqm T{n틅2gBBBT /B!C1cNNNÇ9v6lPrrrhԨf׮]͛7 _~*eRR*E$I&nwݻʽ[_ŋIHH c֬YԪUK+))ϏMbff_v0={KqvvVƼXr%V9m44i2î]5kʚ@ 0fA^/?Ƚ{Tܹh;C _LII +V 77#F()ܹswwweӯ5j舃 }8t0f̘W:^PPٳg PUvvv4nܘ5kRfM(**૯߿ϭ[W3˶nݚӧOSPP|7Ǐgܼ֭y;v5s_Iĉ\7oҹsg֭[l^^5k I'OV|"##ٽ{7cԩʸ$I4i҄Ç|r f(T4ښN@xRRRaذa*jժŧ~EGG3gO4iceLKK 333Uj]r9GUmȐ!ja7nȃU*7{nXsȑ2\<<WOJJB[[AI%IR.jԨR{)ׯ_'77ccc7n111xxx#GOXDDd2ƎEHDXXv&&&bkkKFyF&add 6Eٓt '##`H5زe ݻw3g{nDž HMMs>}lڴ8^3iii+M:D6ocj?hQT QB d؅!3laFcg.d˾ERSBDJJ˽?zuERy>s>9u;yo_~F*]5pttڵk֮8%E;233E.( !ZT*Ƈ~%4 1Bk^zij`*uCS窈|7_LLLpqqњWpI *;Jc<55'O + jժVg2 4hs8vZf͚ѹsgLMM5y {DݺuaÆddXYYaeeENc߾}R%?{iӦ1sL~GlB޽gÆ |xmRlٲ3lذ @2[YYix+*ܹsB!G+ BA0a-Z@&q9vVR{n}HU_JСCRƍӵkW-ZrڴiC&M8x /_cǎ~z>oطogϞ,Y___$v\\Ν‚#jժ7ܺu:p]T*;vԊ:899q)._\)lll jelgg-AAAٳT4@haoo_&kfϞVzEdX[[q7o0`k׮-KXj5j(4E"ӧOE@ &._L͵(+ >@.^H׮] ]|WP(߿?oVٳ˗/KVꫯpttCCCrrrHKK/$//DùvqUڵkGǎ+ 6dܿ]vQJ/^L>}ؿ?3n8)Ftڕw}۷Fhӧ_J6mڔp=*:͍7prrzv *B %<MÆ ,sr\.AI $$Rd8::rqΞ=ˍ7y&Z">>ORN [k׮?T*Z*]tiӦ% ˗dԭ[~޽;...Zҽ{w;&ɫU`رx뭷c֭tC]}/ tsss*M8ASbT*IJJ6gҤI7˗uڜ9sxC[ȑ#P[JRg/>^^^ѨQ#J%۷ogӦM$$$ЫW"SBBBغu+JRެYsu8J\z-ƍGVػwMͤIڵk\P~DEEJ2$RSS_xeZ q|/5ƒ.Oرcٴi/,X@^^cƌA.3zrt RY}/|}}6l+W|-a_}U4)gT eGddVx{FFyyyd2 /jE$-- ry&%%泛1p@˜1c999uVӘ̞={|۽{B|FFǏ9w999TZKKK5jVEy]]]w'NұcG6mo& Ejg``@ff&[nC|'?~\קZj<~ׯr7UTVZ[ ĪCҴZ .x!ERr%ׁ_~ƘL&~CTVah 60l0Ί+Dy̛7M(6o.oKcL]а?(npp0d/"%%-Z ]ƍӥKW }xyyis!4yyydggKJOO͛۷O:Z+WV⑗W&AƍZEY^"oWW {n2`ooOPPI֭DTҸqc-q>ơCʒI&Hsrr1b \~;wpuHKKcҥxxx燻;nnn<~`~Wsfdd+}wo߾57oޜ x+G-Hu4IRR?=ѣG@tA6)(GeB.+o<|-le4zLL * kkb ϛ7ocT#ЪU+͛7ٰaёݻkri ?Gvvv6 BAݺuiР۷'!!ٳgxbiΝ;ٹs'۷-[ɓ'9}e <͛<@__OabbBÆ $22枔Njkk ;w@"qi֬2cll\./(Gy… 5w 6#F82eF[E&77WZA٢Ƀ^}>|W3/br---LJDΝ;@8yΝ=z$Xv?~Lvԩ|yssskZjŞ={ٙ۷eY|9ϟgƍܾ}e˖!ɘ8q"\~Vۨ_BeE9 YύFxԹT=rSS AGOO֭[9r$˗//7Ϲ{_7.]b|m@ )*]=^=O>]ixONOO'""-ZhmdӪU+J%ܽ{ŋMժUINNzCGȯ*G5k4>8߳bzÆ :::aeeB@&BVVڵcO?Ѹqc|}}VkE tzFF}JϏs#x]!%%BCMMM+jժ7sv155֖%KPZ5LMMVcc2-קO2;viS~}\f6A JLQŃT*UV蕏(Jj׮]>// d=KƍQFѾɓ'INNƾ[l z{{3{li ƆsҩS' ĉ 05k0zh.\H޽ټy3ǏyV߿׮?\XOOUFrrrsA<!exzzbhhXަMң2E˖-IIIaѢE<~XFPh"‚ѣGciicaa!Wt233Yzuy!%(OyefyNNVZ?/,DFFjW(ٓ{q}VX+5jШ^TpuROOO pww',,۷K^+WOff&k֬a֬Y>|+Wömۤ5|Mfffr>}JZZ+<233#--Re_V.l``P,o_#|{{{,Xݻw177gɒ%R^=RRRV;hwذaϬYWbbbBpp0w`DGGSvm4h nj3?7nΜ9sP(lذA駟y 333ya ( C*U].xӧO/oJzsssIHHںmuKUd```P3jΜ9p}YN8A^z?޻$C-( RTRv^P*HAප,V m۶|J… ҴiSF'N",,ШQ#jԨ!vڑ˅ ? eΝܻwn߾M-hݺ5lܸ[nd, $33vsscܹ/~ ILLX ( P>UVt cU8T|||eҥea'N,si׮sa޼yٳ7o^XU6RX@ -i2jEjOW2 /8?::_rss 88Xt ___iXbcƌvڴnLFXXNNNRD\.ۛ*Uq5( 0`@g<.BqΨ\)oHOO/RpE, aH;R IDATXH/CCCpLSD͚5Yv-JR VDUTlذM6i'** ;;; B5l;v,ڵ !!AW7##C#2̜9\\\9ss޹s';vRԑ C^$y?ǢVnll,Bb0pb:^ȑ#annΙ3ghڴ)guΝ;Gv툎.S_իWg̈́_9o}<&LP6-YVJ'L@߾}y 駯WGRUxo@ (*oVxЋ77;;RIvv6nnnsJvv6'33{RSS --7nHk8~Vcǎ0kBM:::L6ă& }. x]"$$˗/kG;v,ӧOoeժU/ >|JԞy<~KLƪU077/|xvpI||<ƍ+o37QăzjC/HVuι'3gΔ8;;xbF͖-[ =ZT*5z?}k׮aee%֭W*TV ///K>}?> jW{e?Esy>III$&&J-BԘsuV^|҃k׮jiJx/)[l]v|'9wѲcll\kE AeEݻYTj|C܋A o… R^=zIdd4gݺu??uFFFݻ!C"Uv_~= 6M6ի@~݋/2{l<^^^dggÎ;x!nnn{߹s055% ;wJg͚%tSyC UTJItA 6 ӳVkj͛7ٻwoDܥK5jC4նJe/O>W*4mڔ ￳yfi{<Ԕ֭[be!@ ^j߳վAx #&&srss$<<-[j*144dÆ 4h@Z9r$iii3x`RSS:uƱѡUV۷o儅iӢE \]]$//Ǐ3gN8J6~zo˗133wޑ8qBjfll\,xizUA 󔧥 ]PL=Zϣ^z|駜8q jUte߾}mҸqc~ ?=$$Dww8^ff&* wwwg9?g ~* ʕ+ܹsG䄩)Fb񤤤pQBBB~:ߗɽ{=z43f ,,p!>|7lذȂuϢo]9))%++Kxq+WٱcccQTԪU4ӹs!!! 85jHs>|(}A~.aꫯ4k׮̙3,]͛~ޟ&|ۗlѰ^z;V2m4ڵK?3233ΖV WW^}w}w}Wk|ɒ%Zcmڴr֖/_NV߿?gΜZ-: bnnݻGȑ#Ɵ S憓xΝ5r 媰PW4ˬY駟S4>w\2225k4CFٳy㏥1JE@@͛7R,tE\!(^Yl\pVX3+W$ [[[uܹs -[Th|adeeI + E?' B @tK Xxx8dĉs'L@nn.֒u/^QFdeeI㉉deeiWV LƸq㤕^ziVVMC<õcZcNNN 8q"Ν#((kͭZj@_6DkժUۗzn{I011a˖-mۖɓ'tR_~e000(4LYfZcuԡ@~5&M`aaQh$AÆ Ynxa=kԨQ5;;;ckk1RsAAAܹe˖ie̘1Z{=j[:Ɔ177Ϗ%K0j(a]]]xVVVO 4k= +Wjժl޼9>}-K.eٲe\Pq^wUZ8;;h">C>>hH BY+z uTVFF,4h t.]ʴi5A~XzƍXYY1p@6o۩R sa…:uMHnݤlΟ?ϖ-[UzvYYYey6lτ[={H#|Z ի~~~8::RpJP{իYbccNQ(WQI"xxxH_/иqcΞ=͛K= &&&̙3k׮ѢE  Dxbg֬Y >>#G걟ezWiӦ,YիWl2k@ qppjzVVV/'$$(rLTr5֮]_~%k.iA~:/^$**${ݺuӧOKʟ‚޽{3i$<==۾Yaw 8qB[@@ߟ#FPfM8@z]Ҝ={VZg1j("""ׯkҰaCvy1...5J q2d2VX}a޽ܻwԽ1K"ɓ5zVTT*C )o30'u^t###׋*cǎ:tҒM2b>L۶m4jԈmr=xzzJyRgO[o*k?III$&& @Bts e;v1+K3f SLW^xyy`WR舣ֶ'O-v?r .]DjWWBC7oNjx!.]SNE"300W^xxxpY.^Hhh(iӆ `ffL&… 臘j\δo^\.m۶ǣRhѢ۷ײޞsy;ƽ{Xhqqqԯ_Ν;~DVNJ8PG^֮][c>@h͢E={6r_?WҵkWYlԨQGD^^O<é իWM4)}6.\Aѽ{" vѣG?xr_%:2xJAuXd@{2uT%se8p@ofmD޽;'NcǎX-^;;;FL& }GܹsG'Od͚5T*jԨk ?p5] I0ӣVZܽ{۷o@WըQZjm61G&ѵkWv1~Yf9s J%x?zڵkchڴi6lH˖-9{,lذwww:v\^tGǎ;ի|XKZjaiiInn./Çٰajؘ~燩)dffX+WJ*8p\;ƺuJabb!գAaffK,6óӧ4le IDATPjFRpB~w[!ؘ#G2|pUFjj*G2DFFKjդyg .ӬY0KPA &))'Dtt4;w$00a]AAA,Z5ZY2:uD~[.Vիɓ'U;vԩSm+8z(#G#55-ɞY(ԩSMRÃT-akccG'N=SL)Վ22֭[999/33dnܸBՕ &H5[LMMIJJb˖-EѤIvEhh(ҥK(4O///f͚r^*7ol2Q(tޝ5k>++)S0~x9s *]vO*U???ytuucŊܹQ7k֬¾=z`y\\7oãTT*۬{{{֬YO?ĵkٳ ȵh//diPT5;wm۶ ceeѣGqvvˋ{IƬYHOOU˟Ar)%Zj!GW{zs_^jQY^2j޼9qҥU*h"Ξ=RQF兾>UTaРAqMWBt^^^4jԈ3g0zhjԨAzz:7ndńj}Lѣy&ƱT*??]Ɗ+?INNZj9֭[ڵkٵk~Es۷oOPPaaar'ݝ &J"$$Eq)(ܿ[n!˥/CDDD"$^`yPP_8X P#qvvfĉӇ(>3!"LMM Z^Xp!7o?hRQqSSSO׮]իׯ/gGxx8'N(ѾL<_~E@ [* 5UVzTWjʹiӤ$j֭[$&&SN>dǎ믜>}ZZx5jGfxyy1j(_qppW^j?[l!>>]]]Zn͘1c$a?P~}}|}}5z7mggg/_W޽{r&&&{=kkk>}Yx1oq/ '11WWW~m֭[R\naɩ| HBTT| w͍B+Wv?g}رc+os^ի޽;¾eƌ#=*511Daj -[ƬYXti)Zɸq^[@ `Μ9j!99۷o͛szzzT*|||JTm̙3l/:o߾dggM6m8~8R~rr2N:ѪU.[xyyȁ033+8X||ƍ#vQ&G{V\ΤI9sfc-):t`%޿Zj̘1+WjU-MJy-@PxxxFHHxi[v-;vDWW,--144/BҘ7o ,B%%%O?Fӧ֘ңGnjj*NK.ڒÇ'<H+%yAAAHj;w{YBBGaɒ%(JN8Abb"se|L:"˙5k=z ##U2c ^JZZّBdd$C nݺL2ӧ?`nnΣG۷/@ȋ --P^kdtޝdbbb믿2d3h 4hŋիEѡEhwXR (bǎ`E(cԏEM,&jlI4c]#"PQQTDA@zGXv~c`vYzY5Μӊ"""?={Fff&*'%%999jՊ:uPfM TpM6^qƑŠ+ 44%K0w\,Y;?ҽ{wZj[ ::rq˗9x AAA%77W98ѨQ#}.\@&B>"A/F,[L.Q ̙3  333m3gΤJ*|g$$$swPҔ)Sŋ3zhi߾CҊy\RgΜ^jUʔ)CVV111*YMDD VZN||3>cRRR~#--uѴiSΜ9S*Uq4nx"V7wsslٲԭ[Wiӳ=###100 &&D><%nnnٳYfY󚘘0l08u={}}}w( ]]]qvv. dffR|y勪((jӦ {gϞL4 GGG|- *--DڶmфJ/3  !!!ʙ yy.HK)M)<<}ХKfϞM>}Զ͛]Aڴi1GQI4h>DEEh=oz[QQZ5Ξ=KժU$Iܽ{ӧO,l׷o_ٴiQQQHU>~znʕIHHL2 733/jժ<ȳgظq#,{ 3f~(PqGrJ!CФIesqi=Ξ=KNN֌38N:Ç!((=zмy)[,kVwa ^(>,NPLW^^^8;;S\|{%E~:=igx*^ppZvСϠ{.۷ov СCٵk BPR,88@+8իWy)W^e̙ENΣپ};#))J*1x`ƎK n߾Ԕʕ+SjUtttR;MSWr5&LҒ,vѣGUkB̀#G(۬Ijj*ܹcccʕ+Ǻuӯ_"'aaaܸq^z!ɨZ*#GSSS8|06mӧE:MooРA?GGb)!D.ĉj h=UڒΟ?AY_߶m[ T9_$ԨQCa h܈#Oe{ӦM zA^7jԈ-[~ڴiCNT;==ǏqF?~]t?iӦ*#ʩ'NXhdd~Yn:x{{ӭ[7jѣ^K.!Iz",, nݺָ2339tr:yK<<<ի<{͛7_iiެ ?޽{\z#Gj#4= tPO^"04o^mK(֯_PMӦMѣAиN:QV-ʢa:x^[|\tuqU$II&|t/iܸ1ݻWc .}aرԫWI}6;vѣGjʺE$v~:ԪU WWWVfPInn. %%ʕ+ӻwWKǎ2e ZB&q-֭[fRFDDJu]vQR%>c&|"A yv%dggMz_<~W(xyyimz;׫Wwww;znAAttt1b#;;[]OOO ֭[>oQV I>ʯ'YYYXXXƐ!CfL&1`HKKc޽wUV-FIh֬:::!CuFd prrݝZjY~=o.eyWv3m׮] 22ekLCkvvvkUGLLJגˋ *0xWy&ZM/^Hvͳ`ve)e˖1qBqAkĈ|*Mȝ;wptt,PP===.]bɒ%;]]]LLLhҤ ڵ{c:uIOO|EW\ŋ|'ԫWd4i҄ 닯/olْݻ97 #)) Uڵ5j$mre&eƎk $88J*)]3n8嶧O70osugҥKFOJN=w}r _>ݺuSn ԩS9R鉋 d˖-؂iҤʱH֪%$IߟGۗkhժAЌ+W2o%""|*^{{| bҥtܙÇ>>mׯ_g̘1F]\\T4i]˖-7E @ٲeYjU=zPViӦ>˶!@ھ}|1-[KK|7BI9r$ ӧOI&?PfMȑ#(˂4#GdܹʢAŦMT7bFM^ۮ\™3g3gʱgΜf͚*'222HIIZj.Nq/sqqa̙_* [LJXBBBM.Ǐs9:v|qăpuuUuڶmKtt48pqƽr &)Su*_HD\\O>%!!AyVV[o۶-d2U%UTA&ѬY3 •+W T!?$$*S8$IҹsB뿌>>*f͛IJJr >XsxgϞxxxаaC [+W[.UVSSSA:"A/ƏO\\Ʈ!I;AجY3)=u2>}|5jYmGG) v/7n\l 駟4]ѭ[Xm!Ptuu5kTUӡCtuuy1O>}sFFFyf隢ϖ-[y&-[ٳgo<>))hͺ$I\~-[9nnn:0j(VJFF'N`ƍu"''WбcG}lٲS z)UfMXlrrj6lْx̦MݻAFgggzL&l۶TX:uƍrzILL+Q>3ΝŁ8z(999ԭ[777r+ueҤI8::RlYbbbؾ};{%11 "##6l履~ _Axb_5)))[N#722bҤI9wA_SNWkB~gL>`m6_~eMA(i 1cOy_۷oCϞ=9rV J:)Sжm[ttt{.?3gϞŋ\VVbT %%%믿2iҤ|nuD^ժU www~w^GTPjUr56=Ϗ'$q}S|||-Xu2|BA(www*Uʕ+UW\ƍG%IR&HgΜ!;;KKKƏπ4>u֭;fff}v޻u 4ܹs}:O%$$"_ɓi?S0ie˖e݄3gpʕbLA( *0e6mڔ&=$$$Î;S+VȠA7nF ƍiӦ( N<5ZW֭G}ĬY8p<{ȑ#do$f͚1a„ϰZj5 LLLHMMСCDDD/[^|}|FFWfرk;戮1'H <<ͭ[x!={y~o- }}}[F3uחZjs$q?Nff&[2 bmm?DFFӬY3bccQ(4l0_͛7̙3}KWTN:|>r-233i۶Z6׏?իWlT<<<ڵko߾_q4$%KpYBBBke2VVVʄQFʟWZM;qO#-G>se|||HHHȑ#xyyaooOKLW111wޯ/I>_QGOO;;;:w\j*VHi޼9g&77vE^֮]KDDsv{H2KIIM6ﯕsڵkGŊ-1/^`Ȑ!>}CJ%̋/x2iKCBB- W2ao֬ *Cb]ŋYh<~{/LMMӧ:trիWSާ*UDNhժMAӹo޼˗d2666ѣV.ܹsddd(Ԯ]-Z`ooϘ1c4II(D^ae˖ 23gpUի$++nݺ#޺I:t('O䯿O>Q۹>iƌ^( _Y|E$"##UϯD<]MVV666d2F.ڵwreh###m1999\v ___RSS#;vVm&d~㊡!-[m۶b:$''~zrrr2d___r9$**RB, rJ<ȡC\$ƎK`` ^^^J͛ҥKt}۷uCrr2\pƍӴiSjժU"f|Iē'Oݻemۖ-[tirrrRhڵ+-[dܺu[\(4.hĵkט={6fbVvv6zzzFxbv޽{ I\S-F)D^J͞=Ν;d_kΜ9kg.\ŋ:th??c ŢϮ]=z4...B5mڴ@ѲeK EJ Ax5kШQ#,Y²e˔СԮ]+++jժE2etmBAll,QQQdggghhHƍi߾=fffE&77֭[[^n:BBBzB R:::޽XD;Vc}/]Ę1c5j5 JOO;vˈ#eĈKxG?X% kԮ]9sdƌCÆ }6III=z6N IHLL$=))H"##E&all *UB__tuuEP)S\IKKDGG#Ţ9իW~Ԯ]Td/ssʖ-KnT={oI& PzͦFc @֭ٴiS1uV5jrѣG\ طo؟qq"&&F<AJ۷3eN>0h mFpp05k֤]vZd2LMM155UMJJR&ǓHbb+ϑI +W.')44___([3gRL/^RF$T͵B'PB:T#r9GOO777r9ƍ+yfΜɲeˊmMtA͞=cǎi;Wz9^^^8;;AAA"AA(!ʔ)ڵkٿRZjѫW/N:'266XF|| Lرc tӧK?ڰaCxewk\PQVǠA8q"۷WI۵kGDD߿ &PB-F[TP *`eeܸqA}EP_zRϧ~{. jm۶"C.sYӧٿaoo#öm۔Ա)rqMQCx-kkx E6Bh"?^,Axmڴ *0|prrre2NNNTZT8l%Exx88;;v$ 777ٵkX $>O8իӣG_ٳZbPZKDPPK,}XXX0vX={ٳq{QCĂT^خ'255eϞ=\| 300`ذacΜ9(ɣGO>Te5k8v۶mf͚Q(wA- 2 Z.9x XYY1fiݺuYs8~8Ǐ'22+ҧO&OL߾}KqAUJJ *6l-ZRBi& Nb̘1?@6m4/[rsstͣyXYY_ҥKwZnݺJddd^%ŢE~1^^^2k,>|oACGG;vLj#UߣGx{%;;[K ы/صkTT WWW%Iݝ8# !FA&ȑWn{.]tT\GGG͛G^066.\]]:5|mZԩS?~̙39pڵ߿X{膅qA UV]vѽ{w.]ʂ tuu2d7n$66G2x3 OxrKdd$ʕcԨQ7Ǿ}裏Pډ](2\Ç?>Rvm'߾r1/^SN\p]]bL(W'OKKgʕT\;wZUSRRDEWABڵ+ ,ostEbŊ8;;}vX"zk# 1bDC7odԩL4I#݁!xz םIJJRN_QM_/ 6n܈@PcׯϪU9s&cȑZI7oΐ!C ܹ3ܿ_e1.]Q($Iرcܽ{]]]gprraÆZJK  1.Wz+i#1l0N<vvv>eI$$I* 8UP(,, pvv~vKA(]]]8=zOueV0b Pt[屴FݻwKHR J*k.Yt) .,4h>*@HKKw3{.fff*SZjr7011VZmܿVZT&w*o%IbȐ!dffRlYϟFPP(d29s 0#Fn:FU"zFGGcnn0A{5kԩSӿ<==UF1;v\.ܹs>}===ڶmňիW9s z׆577WWW^ٳgiԨ6>@bZz5ׯ_deeŋٳg-ё*U#vʹi8p m۶F)r !!!M&99Ye[~#22Re{HH6mC̟?EUv믿fʕ*=z}lKOO端=vń 6x|1DPP^=xvСCU֙otR嶴4\]]={??_+WҵkWߗ0ܹC~Sx!NNNX[[+gcaaAŊ߻$I*PfMe{ѪU+:uĩS?{Ru˖-$$$O-11ѣG3|ڴiܾuV\/ע3 IDATEprrR(NXXJ) cǎ1p@ƍdž T y,wڕΝ;l;Ν~:ǏGPкuk… Yh۶mcZTP3hРmAAA,X]Ν;)WʈiZZ/_M6TTI=++ b3e>|Hdddx%@-ٙ5k_}I Iׯ_333 ʗ/umۆHA֭[;v, .oQ$I&_eIׇF$/I^v[߿" ,_J 82NsrrJM0--M9 22|?V)WL5J'##/һwo-~WK3fvZM[+)n߾ͼyE.-[Ɯ9s^2ڵk8qBA5pqqbŊZTDr#GurID׮] ޽#F_rJ1"h('UIN&O\UP РACttk"##R~F&aff9xzzӈkq ,,La?>>>*,[KTpv؁/fK2k,:u*,X@%r۷H~7|N0dffgO>Wfʔ)5+V\ jP(Jd?o _4uקf͚ԬY( .^ݻ9pDGGCy+Zj2. jԨA_O__{ҲeK\]]TS/gϞ嶈VZ?1k֬ݝ` L&~ԔsU]6Ǐ?$66[2`-11]v!Cnݺ*HĂ Xd ӦMcŊ%YV0]PCS-ir@ŋ$&&G6mg;v숱qVHٻw/ݻwg…,YbPOˋPbEkMF -AH&1g?~<ϟ?g׮]*-LLL8p߿Xi)ξ}HOORJ1B^ |V3gDž e%ziP8r$I3bĈ|5233quuرcZP]P+;;;mPnݺŗ_~ѩS',X@ΝiժUQ. $puaܹlݺmۦ\$BCCUd2*TREmA^ɉ3grzjժ?~۷oU﷘prrի9rDnWJ /^dS$֯_̙3fŊtܙ&MGfjK._;wCLJMdgg~z[tuuYn&L@Ohrnݺ/>>>x{{Zbذa888ЩS'1B.%vvvлwo^Y|e˖w^iذAPٳgͥ\r899ٳgӇHΞ=K HЅƷ~ ͚5+?'O/`*k o߾EI֭[bٳ>H:u/P&NȢE\rΝ?OZZ駟+G^E.666ѫW/8tP}VVV{nbbbسgM6o߾b {())Ç+կ_''WzqGPCF9ZAx; j%9t%QF֩S3f $q |N"CUVZ e?~.]o߾y2͛( LMM믿Ύ֭[ELJJ 'Of݅n BժU ___ /f֬Y*?~<.\ח[n#Gƍ$Iƍ߼xC˖-z$ 60m45jѣGXhVI$Zr-iVVsaӇm۶*T,YO?goy?>} @z;;;4hPV+%rI ‡rʜ={oyqyvܩrӣG4jԈ#Gsۇ /_^@x ;ݻw]ic?~<Ã+Vi֣ hHdlݺUaݝ;w>|8!!!^)SZP(عs'g&993gRlٷ~V$G__֭[3l0رZf )SM< Bxb9r$-Z?{*ըQwwwۄ舍hUܿG]veW\aذa$$$p`D!o I+r:uړsoooO]BCCqㆶP cǎ3BBBX`;%蝿?[l!99???~G Pb EӣGgϞ,X\rݺuc񘙙ؼy3=B$-E/䉉a׮]矤QjUƏ}2IXjvvvTZ@ $;H>^aXHHrJKKMMeԩ{UVݝ &=$IĨ$y?^S5ٙF)_ر[[[lll4zUVi BURÇsN _?;*{&Mh.(|EcGcI4KD?=vEػAP,XPi"Mz/;?<_6,;;{.ϝg~ -<<<ₐDFFӧxlllЫW蒺Ã#x济̬† |r(**ƍQQg1ܹ?{{n޽ oooddd`pvv֭[qFY5kz"XZ|`eeSrAg1W;;;.\ڹB>>OOO;|}}cȐ!5>[5551l0t Ɠ'O;;;t֍zx96222s<r999ڢSN]%'777oƍQPPcb…OfC=ꍫc {ٳa``ÇѱDDD`… , Ѷm[sտiC1~xb۶m4Gbk ۛ9,!H _[nEee%&N ɓ'x1^z0006m4ʅ=HHHb[[~KKKß۷C$aʔ)all&DQ:aڴi8~8&OCYY^u$''_~ann;wHJJӧOq%dffr|nݺ=z`ڵ5_сvs7Anܸ?B!5k`ѢEغu+֯_;wbԨQXh:vX~-[DΝѹsg!11 HHH@nn.^|/_"$$066vVRRLdeeq6011̠z 3g&C|BBB퍒?~HHHmŪUyfhhhɓ: )))\$6$$D깬,V^ `ȀG=piW?GF֭߹?LLLZF!s%K~={vZbo1dȐkkkX[[`=11%%%\4f6ЪU+VCCAꫲ_Ժ}VȨNS***p%Ɗ+0}tcNX1dhjj֭[͛7 6mP{oϻ,,,ޚ]HJJB6m`nn5jT kP?GP_Z;)**±c?~7<!棨Yf1c@YYÇ7vuuu8881dffr{rr2JKK &## PNNoe222())Aii)P^^rۢ"dee!//̈́xЀ.ttt֭[CCCNN,֭[8p;L||<:"..=z4aoo_BYYYAvvmUUU%pM@!vGGG8x RRR`ddcbرСC#sEgF9sCm6oc߾}xڵkoǏGvI"we,\O<#zj5s#00 ʋбcGxyyaR=K!18pGAVV,--aÆʪ#c(,,rTVV Wߖʕ+DpqqA--[e˖5~WTTV{_[_x3g:F oooH(=Bv1ܺu ѣGQ\\^z ǏѣGҥKs7CEEDP^XXxyyZ޳ v<'O:::իcii٤S}Mc W^E̜9:ts0hРfɘϟ?1b)իWq18q%%%Ƽy%!B, -`cΜ9 Օ-,,HcCbbD@ >3zBŝ+!_ &@II ƍ?\<~FEErssk ;vƶ~~~qDٳgO?P|ݺuضm|>7,)) Æ 㲸V[~=-Z$QVTT!CΝ;)Sj Ν(|rf̘xd-ǐ!Cje˖ae/_ԩS$Q~1ܹS6mBBBDyDD~7L0ѪU+"::֨@iii`$B!~aո}6pL4 )))={6!C`رcl31dee!44{E0|pSNӧO1j(;w999>֮]AQpNH=ό4 %*--EJJ LMM!''ǕW^\YFF~wrشiRSS 8r<<<0f,\...ܶ'N;wn:vY}EΝ8ܿcǎݻ֖X׼^B%χ TTT2b1|TZPƘ9 ɁD2TTTTHJǏ5jСC,X| kk׮a޽5~-Wv=\Xe۶m҂W B]]+5|>y]10f̘z;izBi>Ÿu8$&&B$t^ IDAT`nn.cll UUU(++CEEPPP!K,>c(//Gqq1۔q?ϟ?GAA7=077 CGBȇ3SeΝe?((oưa$s>|ڵk%2h߾=Ε%%%̙38q؇B^^;v*++eᅦ+FMMn7{ׯFFFpssڷo$+cAOO+Ghh(u&ܹs(((7 11-[~Sx{{SN!J$&&J?iii]EEJJJFUUTUUQ\\Ը`nnSSSlٲ)2!_< ?3hݺus7ROqqqRqBWlPPP[}}}'QJOOGzzzs7RG***B! !B!i@Y !B!)@:!B!"(@'B!BB!BB!BB!B!RtB!B!D PN!B!H !B!)@:!B!"(@'B!BB!BB!BB!B!RtB!B!D PN!B!H !B!)@:!B!"(@'B!BB!BB!BB!B!RtB!B!D PN!B!H !B!)@:!B!"(@'B!BB!BB!BB!B!RtB!B!D PN!B!H !B!)@:!B!"(@'B!BB!BB!BB!B!R@@ȇx9 C__A!_@AEE MBUUUlٲcH$6U+--l|t D(//G˖-I`qNJC^^222&X2o>YYYJ*׷o_xzzbjfz'z綉hٲe{/^@ll,u1uTSN!I^^NYpttÇlx)0hРF 7oƂ ni&-B>w8s >˗/C(D>}`hhYYYq-Z+''7oDTT0)))PSSkA޽@bj ^^^mfq=z3g'OnHHLLMs'$$xpppky ** \9χ)`aa> ;w'Oĵk ѷo_=#Fj=8dee MzE۷oocccannW !Hb֭[Xj^ H%%%"77 }gݻ7> :?$hݺ5t:@V27olll-Z4s$%%%ڵk׼ Ev@T*d`ҥ <{ >D\\<==ajj菙ɸ|2PVVHeee磪 -Z@˖-!## 1eeek׮ի1i$|s~L23g_ŋO>>4 O~cMRСCqtn !effb߾}ظq#Ҡ sAvadd[ƍS[[zzzx ;wBYYvu޽*oRs11@ܹsggFm_~~>A͛c̬Xc8p^x7Njsd={999'''B^^uVVVڵkoYٯ_?hkk磸Gyy9WTT!!!~Ձ=.no.p~{_UXx1M##?QN>Y ._޽{KYrr2/8b1];v̙3oߎ=z5XLL f͚())qMMMoP{͛\B,CCCr"iiiPWWGQQRSSgϞrrr@YYڶm ///8;;8taaaef… x4l#221.ٳ'o zWQQ5kր1 @IIQrssuVB|7رcs7*\zhiiaذahӦMsqq۷kW_CӦM͛k.kGN ##]]]Ƞ]vCBBcz "0`MAI(ntӧOԝeeZ{ d !||۷[lA||Yo ]tiKJJPYYY/Si9򩉎ƦMJxyya̙ױtRܺu jjjӧzcJw8?wꫯ$zgϞ͛7cÆ Gdd$"##%i---BII ***ԩ TgHMMX,ıD8}4OOOֻÈ#ɓwnw5ۄڵkȑ#N(b۶mFN0xn[ҥKz\W_~̳ A궰 BBB͕w;w.ڷoؽ{7Lݿn:,Y\پ}0h ܽ{?.p)))sܹs 7غu+<XQFaΜ9ԩS}ibOqPSSb}c̙^P(DDDTcsK!vZ\t >}:NZ*b1={ܹ3~gw^nnn..^xov NNNᕕH$JJJ eeex~M1SN!22|>#F␑##FOϟc޽y3f+Y߼z\\\}M!99{L>zzzܢw瑑gB(سgn݊S"** UUU5zM6PRRBllDbbbVYz5,Y/^޽{(,,fTk999سgn݊$:|\O֗梢Iܹs/ .lо_¹%%p1]ᰵ1jԨ%211Abb"ҥKlٲbܹsׯ_P( vnݺs8?puuŌ3 ___ M2B x9w^\p999PSSCBB^zmcdd$U}UTT ''AAA@EEqMxO< "Uxڵ+O.u˖-x5c @AAְ(?~QQQD?fx!W_!''ݻ7oo^+f͂!^9tP磠\m0h <}%[v-ʐdBNN0`FY#zڵk+++7n%#z!>|M$D"VXXd/]ҹ% ‚`nnn,00wq6n8ihh:>糽{2@ۿ?ήӾ"ݹs=yAn0,--w())[֫/_uֱ3gKԧTTTgLJ-XpUVcǎǏ3n؛|r&X~~~۶gϞ>:0LKKyzziӦz=^'ZwS7ow{_7?#F\GGr>噂D9c]ve{<===z͘11eeeڴiڵk Wׯ;<͕xb2OOO񘑑۾};hCNcԃN>Ye8q"7H?A'D"9+W"66@ hTbY^1i$̝;赉Q^^yyy 0RH$7۷2WWWt666{אDx!''#G`ɒ%PPP@6mзo_tZZZD"ߙحʕ+,<<1X\7LYY֞js|||:y<噖ҥ >}:0a+kbbºuƎ;ֺsss޽{%zi;t***Xyy9 e,::ۤ3@-[^~$ј.]$у޶m[Ŵ$Ώ9a~~~ٳgÇlk,33Cb?ёYYY1999YZZ2 %^s_~g͛7ofϞfϞ>|(QGtt4=z4xܜzԛKFF6l؀5kH ***PUUD7ob\mqa:u*tuuQ^^uW*++ CC:g~Lpss&pBJlb "44FϞ=Ӻe̙3KJ''';;;COOzzzꫯ0lذ& qar!```ݻw_~8tcdee)… ȝG---oaaa駟pEDEE֖I`>}%///5aQQ#@AA233L 00P"Qdd$~'\r...XnvZGt;vgϞ ZN}?~wPhժU-!K^^.][sTXXM6aAEE԰qFdcuÍ7 4551l0ֻjx|>^| %%z/W*ǏGUU.^{BSSׯ_ &N6m޽ ___9s=zСC1o޼uEHHH#t DDD:t7d> Fɓaccŋqvڅ2dddH#-- :u*QYY|CKK (K >>Ƙ2e{{> ###CCCNC㫯Bdd$\]]ѵkW! `kk* Cxx8չ;wƣG-?6۷;t8}4S"((_5QTTHBtFFF$z._/_x /^ %%%tׯz eee\z ,Ǐ$RQN>Y ~GH,WK`ҤI'$$@NNt| bbb4z݌1 :gϞmBTbâEPVVe˖aΜ9uC"<<+Ԅ6|5y&uVvVQpC!>>"C >_))) GG:+p5߿/^D~~>w|||гgObJ ܣw^DGGYYYPWWٳg]gϞ=z4M#GJJJ(--add۷oCWWWj___aƌoŌ;w0~z]HhܹsPSS2zjܻw ,/PUU顸_}6oތp|vؠUUUh۶-znٲfBǎ1b صkdeeq=CFFZkii ر# lܸ… $QUUEaa!!//H---z!99FFFBw%۵kLmg``yyy.766_7YYY())qΝ;c7nCݻx) cƌ˗ 1>|8oߎ_{")) ~~~011/j IDATm۶cǎعsg\QN>Yu n޼wbPtvPk׮qC]~o?,QǨQ0fxzzreؼy3Μ9#dÆ B~LܿWR_~ yyy5s(@'|I˱zjY&&&ضmz}󑘘D#$$aaatΘ={vDСCA-0rȷohHOO%F]ЪUÐdddƍHOOt 7ngggСC011#w1x;w.lmm\v Ç#-- CVmٲeXnatR_S^dIW} ,Y)))D-!JJJܱyAEE|>B>222 ,X'N|Ř+Wbݺu(,,Y2 ''^c >={8DEEqsE"; &&ػw/vYYYlNNN@jjjkggdgg#++ aaaܶ#3+++ -- `jj/^x#ASS[}ʔ)#G^^^ܹ3kkkDEEay >>}sΡpssCee%ܹ#1%&&VVVx!N̙3+WJ ySLBIr>Jİ+W~ڵeAAAlʔ)52e (s`Rqn !)y1ǺtRb(c~u_f-]ڵ >\bCdc999ls7onNJLLd+Wd={b_VZ1SSSfcc\\\ȑ#YYY;p[z52e `VVV7ndX.]$K$I\e… Ғ`!!!59r$xl錱7ŋِ!Ce...SNlĉl͚5,&&1XZZkݺ5322b+&O\9D%q7nh7l^$uggg'O6x/B\offffElڵedd_͚5988p=ݻwgGH$bǏg:t^-**bǎc ۴i o}lkkk=<>>R۷@ xZ矒ݻwѣG3gggɞl2&XPP[KIIauٳg,//222؉'X,掃,SRR.jz-[ڵD"6|֪U+RFF3YYY6}t&ةSXyy9{)0axlС֭[E/XvTTTX6mj!u#.!޽{=f(((4IEEEo !SUYY˗c͚5prr?aaa@˖-Ѯ];8::bΜ9puuuy||D"ΡCŋpuu)b1؈#6Xsqɢ\\\ZcNX,ƩS|rk]]]] >0vXZnZhƏN8>}Z|p=^{aBEEE1???6m40WWNDĉL e˖:umݺ1wssc5KHH`sέieek}@mG}g2@m(C@ huĉ%FE,[]0ܜoR~zx<k׮kժkGTBYbEAMM:U8nZbhej2ydv N<<<<$6lKLLd~cO}1pttDII .\ֈKK:-%%ڱcaccoBdd$^ΞfH'O"22|>#F@N>s &O ̞=fffy&MfǏc011_Mw}Ġm۶M6\O᯿gϞaӦMx1tttt+##[ |zOq?~< v#-- Ν_ݻPTTDXXΟ?]vaĈرDգFSϞ=amm HGIoݺuعs'TTT%eˠ>}۷oo߿yI})L4 C)pq\zsѣs,--}6fΜGAMM !X|6 ! % gwn:duK3i8^~͆ 0333&##|>۷/r%}%;}4[bf+xb Bv/&&bvZhe˗5ؿ?ҒuSSSc6mȻb(Qb1۷o, &L nJ !!!ggΜQQQLJ{ݬXpB׾}c%''selܹR7ˈk׮w_Ps^x;֣G͘1;F_5cc!!!llƍϏ9::J$Ǽ:G%җ 63֖m߾%K0z]"t'6Y;w|k%?K֗pn !ֺukά"۸qVUUUp+VXV^^ܸׯ熬Wyy9>}:1߿?>Ors9TVVrQs&E+++cfcǎe2˗]2LCCKL?pj""" "##߹bVRRR'@g;wؘ 6L5!Yjj*d&&& 駟ŋ+++3++Z->QQQ~c_"]r :x̮^ &;{l%#Dٳm!.]Brr[BJ,~;&?!@Q]쨀]A@l\lE{/# *"tҫv?xJZ.ə=̄syrss{QŸl6[>r8ܸq`20a0k,Ν;3f _ǎ N|@vv6RSS{|# ""::: ܹs#G۷'{[II JJJp8@EܹZAWW)))x5qybĉPUUPPPرcq5yŽEQRR111s B^zǏ3f >.]֭[033Þ={P\\7niiiPUUE-зo_ 8::::1c_L8;;;wmjj SSSDDD`ƍ*LLLXZZb8z(4v"j'hhjChh(zꅐV.<<%ᒔ?~R}WT4$2220yd<L&bbb055E~d2EǏɁv %%%<~~~0at[;׮]ϟrJرcΝ;#..R`)S@GGGh}dCRR}֚BNN ++} x<PPP88ݑ)S]vHLLą }ddd`bbL"33Z㡢"p,CBBFFFU/))={ZZZсzIIJ/?.𹚚r nݺJ{!11_|@Ϟ=Epp0<==1{)B ///`ҤIPQQCxx8lX[[C__3Te hkkWz{۷oPRRY?'t~hh`ݺuPljyhihh6޼y'"++ !///j(sssd2ѵkW4oqqqÐ!CЩS'DDD:u\"** ZP6YNDDDϼ Cj߾} ΁f~~>Ï? ##$''S׈#RAll,Fׯ_ǔ}}}} :>|)S*SRRrssS!!!---$&&BVVx9\.}C^^(((~Ax"iӦ!-- Dll,l6L&z##ZDAA233ЫW/|W\5ա  ---\r4i_0`ܹk׮_~044Dnn.q5hiiA__%%%HNNFaa!:w\oO]]G޳lݻw044ĕ+W0bĈz;'ECS O]vaСBp),^{F```֧wb͈!** )))S@CCA]]+XnesҥprrĆ fHHH@YCMM PVVSĠs6rݻҲ`kk?~@[[:::PRRB^^`bbiӦaĉj7PV|ݺuMWWWǸ~:YYMb}ƒp bԨQx YYYd͚5wdڴiPYb:ȑ#dC9&22TJ(l۶mӄB F={ʯhbk-4[ZZJ\]]ݻw :t(Uޞ888Tnqq19u2d'Ԭ-==lݺX,ZWlEmFĈ) ">>>K,,,${%` TCL2337%6mE-2tFKS233[XXvHHIHHM4~Hx!GIf޽{ד͛7 !оC)SrBHs۶m4~̙.SrvvRm +WEjmdҥFZZi޼9P&C !fS, ^x<ٸq{kkk:OLL*4[vW^Eo^6 (3 ҭ[7aS~9r(**:/_Txuuu"&&Flmm޽{IZZZ}wQPP ;w&qqqޯ)B4P)_ai& DRRЈoߢwHJJ?f̘!j+WDTTnܸUVƏuA\\S9wA~ .WUn߾=ၫWbΜ9(**wgΜYjjQQG7UmVpe$''cv\]]qZAnn.%%%dە6 &&͛7ѿl۶ڶqFk֬kׯ_cɒ%8tLLLkT @ppΝZ`jjpx{{Ǐ8wwcǎA__cǎž}e/刋߿իu|Xn4Hz-4ۋ- }6Ѷm[}iWŏ?p)?˖-4W:uDڵ+$$$`jjZwfͪ`Ǹq~ҥK8q"qmhhh"UA֭Z(KchjjxMVk?!//_ڳg'O`.߾}&M`ebh7n֭[#G`׮]RޫYfرchkkc(**=q --هPRRСCѹsg̜9.]Bzz:N8"l޼B1l0 \cG$n޼^zaرصkлwo5 gܿ IDATϞu3tNӤaِ}٦i8Bw^L0cǎ)?MZZ֯_ ,\wܡʜe3e. !իLLL*ٱcRRRh޼9 VZ!22Xh1sLٹJa?2{NAaa!3Z OfI.;vB̛7СC3zjj*BA>}p%ヤ$lݺ>U.]`ܹ3ߏɓ'###Ҷ͚592iiiYYY}6lmmall &sݻXx1(A //8tu>`֭lll]JJJx!̙sbB4h2.4u666B+o!\[r\.Yh[kH-qtt$F"H^5111EEݝx>^^^ߡWWWܽ{Ά1ɓ'˗G^p)޽l6 7cǎ+Wę3g0`*}9rrrZNS"** W^E\\p}MRRRµkP\\ _~ׯ_}_>g9rC OOO굺:,,,0o~X}eeeۣC:ujinGZkBVpyY...Q/0蠭N:Ǐ7)S ,, C ֭[u٧OXXX^|={ .. ӦM۷/_Dzz:LLL 4in߾OڍssZ5:t(チ%L0p\ >ِB׮]E)W7ٳ'\.deeqEj wcƌW/&&MMMe 111̜9=zhhhSNx :v999?P6&../_T$ٟ}puuELL ֬YCFRR-[Yf/^Dnn.k.hhh@BB@o\HHHtظeM:@iҌ3RNhihhhhezzzPSS:5}vDFF&!R^BGMn21f͚ALL TY+Ѯ];h2AتU?~kנ FFF'OJƮ]н{{i:twիWq19rF߾} @Y `}}},^t:::x!055q4iա,|>fffB =` kwCIiHbԨQ+|||ХKQTL?Ett4}YYYL<X~*yyyz>}؛?C z}߿6|>|}}+V7u<@olЫbĉ+N:m(ӎ8}4ڶmϟ?CQQ999xBCCc~FSShѢbaҤIHOOѣGabb'V(___BԦ111;b;&&F`4yl"x:u$j*.\@!''={bڵ5k>L7eBBB@A"jw3 d\t <uUV:"   !!D˖-<ͣ&^xѨʉ^_tLԳgO<}7oބX~=Ν;֭[8p`L MMMÇGVV֟ih(&L@f̈́b[UU&MmT% Mc`ҤIWR9m۶@^^`mm III9Waۏ?pE 4xPx"ݻJmx!`ܹxn߾Cx\?wll,tuu!..S";;nnnӃ,fΜW^!((kj###1vXc̙B߾} mPTT { A߸q#TTT*02o޼:ۮO:EII T#F  k`…8z(mmmT0ooo\pAVBBBzzzDxx8lllpס?4ibcc)u&##>}N}Z66lKpE1BTt(((ҲZeƂ1l0!>>ǿwG1c`ڴigml6ډ55˾j*899Q P&d2k݇F}ǎÍ7f(((DfOm)A/ޚ"8|0 8mڴҵ:m6dffZ`=,YB/O}SN!::vvvCii)?SNU)ܧOܾ}^^^Xpa,t&ͨQ` ߧn唖"//]ihhhhÙ3gsNݻvZ|֭C>} ''333Tׯ_1rHjfUAرcaee"44tBXXX &&A`>|%KsN`… Ì3*̐PjBuupss#-[F͖}¢E*s]V( CCC+p(,,ϯ[lQK0k,۷z.*fG^`0о}?IIIЪ4 ,Xooo$%%AUUlJ8t@Έ#-[bpqqɄkdƌؼy3֭[+WԷ:@iHHHP??caa޽{ lٳ'ҽ`׮]8вeK̞=zlvvv7o@ ={|>.\7oŋJu (K'c.˗/mɓ'cȑ8zhÅ ͦeʐ2tuu ===| VVVflmmallEԔnٲ%9$ %%k^Ɣ)Sfϝ;dffԩSpvvFHH$$$0cƌ*@RRJJJPRRBǎG eIIIUاf›7oC4M5[4 *d>\@ (K׹r z)}Μ98q6ףSNT]H쁪47nT󃥥e e˖ɓn'OFtt4-Z ><yyy* hkkW𕆆! iW^J[naʕݻ7|}}qU\t K,lll`CUUC޽{M[JKK1k,@^^rrrر#IIIaʕ-l۔e˖͛pssPxx022P744ӧOp0xJg냃ѧO0 aĉ+ܿ/_@O/LΞ:u :::8x LLLQws"##%%%p|||d2ѿ4o\h [ᢠ;RԠBHEh޼9VXf͚ܹsӧOL~ҤIEzzz2 ƍ0ih 44Tz())!IIIf l !rrrIbb˗/-[l+--%W`+aggG<<<kKCCCSS\.>|8QVV&v=zΝ;.[e7nE'۷ohS ܹ ΄B&OLaÆC,YBG?===2zhWwww2tP"%%EIIIi&jG ɬp!{iiiC!$//{ڴiE\\\~kS$..ٙ ˗/ƍǏm۶DRRIIIat֤EvM|*r !e%bNLL 7˶qqqd̈́bwXDSS .5R ŋB;K7͍RXaلPF]oooQ"ӧO ?K/^L:vH2c PұcG>O̙CÇرc lxyy+V+V{ŋS0LN /_&k֬!EdѤGD[[ '--}B3u$77W aX$00gqN6mD-[FV^M+mpH6mСCIIIoW$%%IHHyu}^g\.ٺu+aXM"H[n{WWWbݻwEU)=(}?NX,پ};IOO1CCC43gNm\)tNhuw]\ԏ;v,9z(tD 6PIJJ yEnQ_[@#jW+ {r D6oL޾}[uy!!,iÆ TP=~xcBʲ~^ٿ;v+W Đ+Vsss2|2o<ի*g=|>e˗/`ҭ[7`,''X,yfRPPPs&:u֭[IXXڼ}3 Ν]5552zh :S>8fAbPP!$j=??_Վ?~yZ|jرcf ..i-%"-[$'N$d׮]dȐ!DBB ZZZښ,_̚5XYYuuuҪU+*GO{%>} IDDDl4kKCC8HJJ"͛7'ƍkPiqqqDOO*9;;111_edѶm ԩS+ gOm۷ozŅ|:Nz*@FMNwN (88X,rzSRRBIΝ+}@fΜINrj#s^=',<{LԮ|һwo"//ORSS !={X,/bj%ׯ5-**"',FbDZZY Z$FȬ^8z(z5kx ** \.ڰ=777xzzbPRR?S'zYA`شiPliӦAAAΝk̞=ԪBlٲ pvv5ɏ=*P3f (A?~鰶W9Yz5>skYׯ_ƍãGJա/--p;v7ǔ)SJ333xyy?,̪e;??)))(,,DDDS'ʫmSDAAO>$O<(' F}u Ŏ;5Ř1c/_UCCEIII CF$&&")) 8s ЪU+annssj /Ti鸚0|:+$$$pQ٧ Ë/ %%%Q#?a``P?~<} &`U233 yyy￸p7o.Pʕ+5j`РA>"""9m@x%3=<< ++˗/Sw.ЖQ[^̘`@KK 6m}HHH@rr21d;v +VR,Z%%%&L Ԗg߿ؓ?Cq-7͛7!%%$$$}v\*lر#鉩S(З;u5:(gi,)))/--addX\.-B޽1o޼:6bbbTYQ'X,\&&&vG{HTTn݊,l ''D6m߿[nSN͛aiiqA__>}¹sPTTD::: JKKUlȐ!w~VPP@$%%ת͚5CNNF ٳ000@۔BVV@wSСpy$&&bΜ9Xt)0vXeھ3 IDATXp!mFe_BCCѿ͛puuzf͚ɮՈ썜n"00yyy.Lƀ&MDd`03f L&YcݺuΝ;qazqDcOCS[DNw%6oL$$$j楰|z`0*>k4~\.ׯkev+hB` 4hiժU돵# ߼yDFFI&D]] "[nٽ{7= @rlmmÇymr\r=H#۶mٳgb7o8M<2qDҡC\J].J/_Vj\DN]].KTUUɲeTwj'w&,Ko 88ʒѣG7m۶Uߐ?>P,oM!,8pVb\.ߟ6sH4QqI$%%keߟRNKK#*ŋ%4~=J yꕨ]Cn2m4"!!AL&a0d$::$''0!ROJ_RRBVXAZjE.\HCRSS #>$;v ͛7'd˖-TˊjBBLX,y}ر"HI||{۶ma$"" ~~~{ŋ)ׯ^>`UPP@Ç_5ܹsb0Qǹw#;w&k֬i7l@$$$HtttgÄb//Z$֭ :@i4 cccұcZS5MFTTTdr:hזq MaO444*̜ ={$F"+WVyK.֭[5ǧ±+@M-ktRXXHX,aXey5B/gϞV_ٽ{7UzMSS((( A$%%*i׮#$,,8;;{CCC"..^+Iɽ2޽ HKKÇp8(--Żw̘1om޸q3f̀5kː!C+L6 cƌ͛7+mWv֬YٳgX5uuuU-[BEE(,,ywc֭=z4qƁf### (**B۶mѿc֭PQQgЩS?ݭ /#FsgZ  Gy:y$Ə}Դvttt```>OOZԄC=tNdٰaC$߱rJaСup`̙GVV^Lv`gg'44444" W\={j;ܺu :u¸q㠣ϟM6$zeeeBFF*y+UUUwx_p8r{###ӳJ5ox>>HHH;zj\~B;''' 2EEE(((WOҰ%F&OCaرHII5&NXMC"00.] CC9PsNL8;vċ/S}\k׮R=vppɓqiCMM k׮CQQ8p`jK`ٰŋ_mIII*k-HHH@WWNb.++!CM6(**/& Zn˗/ɓsNDI}`Ȑ!ի֮] 777xyyaɒ%vJl6ѢE <~^g5kFՆ"F+VP*S?MXheC\.$%%=~8x 5[[\]]i&888GuECCCpu n`6lq} 4vňٳZ ]O>3fpq ȑ#qulذ˖-C@@Zl ===;v ~~~T鴈˗T@b ̙3B[&m۶2p8 :ؾ}{m0uTdeevvvpRRR0e,\³KcYf`0p8(..;"CGG 077ǁpYܿwʕ+`1\]]OOz0`_g899՛_4+HCSCBCCѫW/P#i]t6>}Z &&? ʕ+o߾z EEEPPPtmihh\.:uBp]Q#@aa!tuuѽ{w|9~֭[TO>gΜCѡC<{Lވ#Slذ7n_%%%ϟ,-[& ƞ={@{ --/_V>}:Mza`֬Y瑒333bĉxZnM-;w.N8!bO~~~C۾}6"""ЩS*ѣG3#.jhhGAZZk׮ܹ3e˖8s !>rd2`0@>}͛fCNN(((2~h,^jjjKAABBB VK75kL8qVW4Y<==affGuM?;vR888SN'* Ͷohhhh;v@___h#%''^^^򧂂`9QTT #++  !`@KKK`"!!#G.A@7޽{oPl@͛d"55L&F'\HKK#//%%%vE˗/ǃ4lll.K)_zsΥׅTܿ߾}& e+.\@7fśx PRRBNNRRRScJJJѣۇ3:M̙3B ЋQZZ %%%"44+V݃">>nj|6 hwbcc W( gggmOsLJ龨o޼XㅅaPWWǦM<\|@*˗/!-- /K.pww3/^'O"!!gϞ/_c'O.]ŋ74Yn߾-4ŋGDl۶ K,Ff)hhhhFߏW)'ʕ+TX6l2Edd$L& ļ*6:v숗/_BRRƍիW1mڴ*E&v5s!* L&兝;wCUUL&EEE9(SN BBBv Dpp@vJ`` [Ʀ ܻwgwFQQԨ7III,Z@2̙31jԨt]]]]hhh -- aaaީS'?(CCCj&\v,Y%%%X,̚5 /_FII #&&RRRPPPb+((y4hP70.xjĕ1ܺuKԮFBll,Ν Wkߔ@NNA6l>|@njd{Ν;tR<|pf̘___}A @CyJJJ`yfK)))L</_Fxx8Tye\r>?޿xddd *)**buW$&&Phihhh)))f͚%%33#GD^^?~\-5$aҤIsNiӦlmmyfÇ2  55rrr; ooo|x}|ee%>~- \p3gDnn.5g͇I@?@>{vI'Oݻ9^WVVCii).]Ds򂎎 rrrP\\̕ EEE1ϟ^t6IN:=33@kϐl,QQQ-f DHH͇ӧOcƍpww'vsMM9JOO>'Om۶zc``uo?`nn^za̘1={6m욞`„ `2 OB44\qtS;|}}:.>>UUU ,YҦihhZ!!!PWWo/~@lllPPP5kd*Qmiq$ÇիrJx:u(ƍ*//OUʽy/>TTT 88k׮ r|~~~<®]?~ !!011#GL>= ))jٙgZ; /^QFHJJjBt±cpZ h"lذ7n7묣|s4DEE!""UUUXn"""-..<==annN'هrl7n^t6ɻwp%)1feeիW-,** ,꘿ҫW/L4I`>̞=Pд=ܹq5KIx||dCԜl(񓸸8=zZZZǑ#G.]`\‘#GP]] ---9sFtt4vܹsѣ֬YKKKTرq?Ĉ#l2L>'P9B >cƌApp0 6d;' 2e 5 \]] 䄎;;ӧ000LMMaffu8~8***p]xyy:Յ9N"C^^L&\jB޽{YhMruܿٳ?>'O۷Y%$$lٳرc8DEEW^h6 Ԭ秡i|6VBB /dK5Y6کS'=QQQ8w_t Ɛ G~:>} 6^vtuuQPP2`̙uV=ΦFEǎn:\|^d(**שŬ\8::"##s΅FիW͛7HHHf3LcҤI011AZZWޯ- ύ5 \_KӴI.] ooo܅dƌ8vΝYQ\p;v쀙3XZZ,?/ Yg$f IDATdddI w uՅ:_ԇɛϖcttt0uT={6bbbbpqq$ڵkqGFAA~r@k.hjjիWcpuu455(iiiXd qYZv>y2{+,,ܨUȿ :`Ν#ddds |k666۷oς 0n8Y.++]ҒZD?=o=aj?˲cǰl2mHLLVI^~˗/S}2$&&eL&-FCCwLLLӦ077׵ ܒ [222 &&˗/CAA<٭3޾}3fcǎqԈʢmv킋 Ν:rrr(e޽{–-[g:u T^C-ըs6mIV:w`llkY-&&gBVVcǎ7>}`\.]iNtڷoٳoǏqqjٳh899Qx]tPl_p^}ܼuBдR^|I ^|٤z*HIIb"""ݻw@DFFlOJJ".]D=&ܹCl߾>˾aaa%QQQ}ʕġCX&M"rrrX/^8s ˶"חf,۪+W4ߖd2 eeeb͚5ÇDpp0Ov***M6`"vJYYYA=a``@+qqq5puu%>LDbbb#Fh_&Iݻ@3eBCCQ>ڵkBBBB@(++Sc}Ç'kkFkݝ8qD/%%3.h wwwÃ'KKK͛7 #/_NdffC9>jjjĪU b"$$>s²Fc{L&صkNdddp~ڵ ʸ tCOOZZZ߮];FEGGCVVWK [[[걵5777Psss\~E@݋Elѣ.\[BDDlU _|aSƕ+W8x444Eg 6|}6  @FFO DDDgΜPSQ[lݺQq7n܀ v%%%| @2$*++VZlٲ#DAA1Xf vލ_"%%x-<)))011ֶY>Tm---899YYYdk;ذa>|FFFdۻwoܽ{8x 233={P‘ *z ϟq5,XsΥ3gq9,]FFFׯ},輔>刊/:MU`ډm^B~ $T׺K.T !/0 /((mN4(((l:t(*(5W ,,B&? 0axZH0j(7sʼn'8:>33VVVPVVٳ!''8ܹ@M9]UUw,^ϟ?v$,HHHǏ>|8qnnnPRRDEEѷo_#++ :::psslД%2w >})))6m6leee >7oޤ4`ddUUU"}RRRgϞEii)L&fΜ~ǏGdd$RRRpXZZbڴiB\\u+d΋Ƶ ^t6F͛-jN дyѻw:/^Ǐ|j-q122B\\jpQs'Oyf?~dTRR $$7uuu|Yt(((...1cF?}ٳ'qRRR DFFƍ?r|'O޿OOO5ÇÇDyy9(iaaCCCCSSwe9ѣj%m۶]vek{"222\-7۷2eݧ>rJL2III8p #LMMX\xssSSSC5WVV6Yt ~+Vɓ'x̙QQQ*m``1k֬&L}}},_k֬A\\wNaJJJEEE 3p@DEE5HCH1w\9rnnnRxTUUdիWؿ?mۆ]6 0nܸF+47HKKÀFvv6.^ȗk?isK@CC?~<0i$DFF q ---RJ/_///ٳmnxYYйsgkjjb޽cuufo߾FTT[{ٳ'gGٳgٙr߻*77-Q``l7n`>}:^xQFauVZ ;vDxx8!$$ׯl한bjjo߾!99|~ : ,Y ml .}ۉ] 5kl!gn >6lFWqk @[[?ϟ?F)66K.ň#0bٳׯGRRoޠ~ )E q?С_&&&/_ GG3vlSCFFE7&66+W>5DDD rN8m۶ȑ#7nu˗Ծ߭)cAC߾}Դ555tN&IJJ}###Q7&ѣGsr`4444$>>֭[TGI:=oP:uz|暙'u...Ƈ;|:m``B4maaa ~1`gΜ.:`֭HKKw{ܹsصkW{y3ޅ@޽{f#((W;O֊>} IIIA^^ؽ{7tttpQDFFҒ#~h"ڵkjs5>:u~z#33߿رc`̙36mȾ7}a%d :Ί0%\e7nDvv6<==all/ֻp=,X ;v,˂Ç燫WBRRbbb4hо}{hhh@WWgQ^^ި_|ihqrrBee%[)/Jyy9/^ &Mċ{d2&0444]~F7زe 1{lse-dЁe7nAnn.0|"44r~2dݻؿ?PQQ`lצaè޽HMMɓaggHܺu ~~~i<k֬1JJJ5j6ddd(]tC%K<==+a޼yWWW9ׯ_A|2DDDϳ1 ,@`` oߎ3f uoe tPQQ_3ƍmǎÇ[T*++]8mBrs2NRHHHɁW6-6l|}}1|$$$UUU-:?Dp 8qb#!<<UJ+!!CVVQQQիW1vX}guuu a޼yj=PRRK"55/@ed"wܹt;wamm +++9rFFF=uym-[$!44/^DXXN\DGG4 ]CCu& :@isDGGS悆 5Yݻwؾ};֬YLÇ٫#..W`ihh:yhkkcȑ¯lqKÆ Cܗ f^ppp,--ѻwofff7P%}Ňs.] ---P3ZwR*l bʔ)3f O/_4444$;v`prr/x"v 333L4 055mAzhh(޽-[p\6666@@@LµD<~?~Ʉ8oF%,, F`ûwy>> -- ,@bb"uׯ5Bgi- ##–-[P^^η6UG8tݻ555HKKCRRCŁˮd:@2#.Ekע{+Wx;ӱ~٧N:5l ǎéS0e{ŨQеkW=z4;v .._|Arr2JJJw^5ewmU7@+V99>Nq)x憑#G;wFݑ MMM-}cT_hK=~8~xxx`ժU ^7`p\֟S2ݻ7~ڢ:@gd?|@. *-->jjj A>}nǎ<@34m?S ._TTIIIj咄u=zgPTT<|رcQ^^:r^Dqqq͛7͍-8j:d.q/iiiʕ+puuG w^w.\ya:̞ɠ YYYܻw:un޼x!55wHaHJJP\\K.QOio#+:;m!@'5b\l$%,+tNѣu _XXV~Y,Y3fmť :t(.\}!44())˗/!)) __F76|K\\?~Ի["AǏСCqAʖ*))ȑ#HHHHHKKcӦMxpqc1m4^8w^~M#\]|X?kiYߦ "Itt40j(,X/6kgz_ eeelذm :@i$s̡_TTĒ`mmbܹQ `iii`Μ98}ochO0𓲲2Dbb"Fii)Oggg̛7ׯ_O8p n޼;wӧ&x IDATO DDDFɾ6kp]lذӦMcN ++ݻɓ@ll,O}!00/`bb& ssy44|fq}Ο?-[`pvv:G ,Yµ?χ\ӧ=/''Crm!"""W̛7O`砡A'3V]IB\CСC{߾}%ɓ' ]ZYY)J8~1l05 >ƌ̜9&&&Xp!{|<|hU^^޾} t I,,,PYY yyy|-3"P]]\SZ̄444&@(\]>"X˷(**Bd21c ;ԩSM⏎ ??:t 6L`5jFCCw[n*|~ڵkpg ,,wѣGM fBjj*mƵ?"""}vE֚IIIܾ}vvv011AիbbbpM/_Μ9S2>>???5}ضmNשS'l۶ A 77^"T{Hjj*>~:{ԾVrDDD`())+)7={0qD())aȐ!ܹ3222: O$&& vUU" J۵k,YVB^Wm0m4$''7_G2P-nݺ8e/^ 99ӦMOO022BVVBBBЭ[7oڵ.ձcGHHH ..;w׾`0=hhhƆz}M65pm?iNa2TPN?111`Xr% +hkkCCC0a£G`jjJU9ٙ {AϞ=c62L?zzzx=6n;w???{錌?`|W^eH wkشii&L6 SN_.6N~i&l޼98y$$5Zbw;;;sΈ [Շ N:}}}@FFsALL }Du?Yٳg7y111 6 cǎ!455ѿ͛2[nXn^|9!֬Y !99={PThpAoК_~3444wX4>+߾}l.qiSDGG,%%%%XltR v={###l?ؾ};455ѡCj̙3xzz[[[ޱW^֭[puueɴGFFSN,UUUt '''888ݻwJUq'M$P444]:tB걘Ġ/^a`eeb;WWHHGEVVϗ11:JӪ*ւ.:GGGի#`z޽{S:Pﯝ$%%>';w?sssBNN 66ÿ EEElݺǎCXXo888{Ʊcؼy3˗/#55%s\l2)B5ΝCnn.233r.--룠;v[A4m MMM 8q"pʕR 2'NDtt4 Pnܾ}cƌPsCau֭[ _iuuuXXX]|9sC APPߏӧOÇ='OOpL8SL3O[ޚtRI~Q; yyyM^DiA5jzh>4440YA;199ؼy3Wb|ŋW\v paTUU|uƲ}`KKKmƍ[ȑ#9s&6---\mUS__ꩣ2rss9wPUUŕ+WwSɢ5>|oСC,,nt===RիL8 ɓ'zjcΝu~ qAQQ{?RJm &dvڵ=Xxxxĉx B544lذ;vĆ ͱΠC&bZS=f̘ 6P y͠T6tNӦ|r,_nodСسg[gYԩ['Nd}}}}Qbqjjj~y뢃$455~\ ڨ ''̱LLL5A7رcbȐ!8{ \- `2 Ao :PSSb׮],ύ;ϟ\]]!%% DEE8x '~ϪgϞ{Ѿ}{3k,/޽K +++(((@]]<@ǎ EEElܸ,ACBB,.t:;]ZZOv ~@EE.q ݃Nfȑ#ӧOS?@ܲl2 ӧOt'O\\\ZDfΜTXYY \Vj444mR೸#4g!!!FgЁټ[nEyyy%hAx5 ,,  e033C.] &.**±cǨիWS8/--ӧOaaa +̙oooСC;kbƌ@NlJIIaРAP39ƾAg55 oQd2 UUU~=Go߾¹sx΁l#GгgOL4 _|AfffUHOOyڢC,?BGG8дt&x54Vɽ6yyyh׮]g&LIIIx{{ ~[ I:wS@NN>~DFF ˖-Ǐ\FFEEE, ,+Kpnoo BBB"""P\\ OOOxzzB__ -Z??? 07nČ3C(**"==s[ɓ's6q݃Nk̠X[[CCC/_]~dsssQYY&,hO6M>|8Qr ***`oo-[A>_^^Lu^ĬYpfWJCCC=##0}t(**bMw5Ӻ1X[[[Yfax Ec[# jjjݻ7LMM}vx{{?~@YY%d2ahh 0aDFFŋFvfΝ;Exx8ߕ+W ##â޽{w{sU.d.-rA(hI{%\& :@ic۶m@zDqe<}?lp30w\ܺux\eSb 8@YYTvw#::/^J oZѣGcXjjHKKc߾}|Mf;ؚlll#FPSR0l0l޼>>>m+{͛/^4x>---l۶%+>c? mmz***ヿމ-2XTTc fΜ%KۭQRRB޽˗ гgOlRVQQQ!C]WW}E(b̘1.]য়~°e=(((eܹstOxW䠬 Fϓ'O`nn997=l IDAT#:!5}G EaٲeֆP`XtKA[v-Y \ppwwǵk`ff??? jAu@ddd.кukg]ġCgyϟ? cHy&q ٳNPTVV͛7{.=dɒ9?Nfqssε22m4z Æ ɓamm ___|vvv~ P 233BPRTU³gЦM 2+W]zz:cǎ|?ġ( ߧ + ƍy&<<<ҧCKK طo_E iii4h_YF!,ÇGyyyib \ OYYY!44TuDߏ1c@YY7o^ף1k֬Z-ХKfdee6QMHqfl6T~e˖ ĩS#L6 &&&QSSÜ9sp֭ƿEQ\=<,Y{{{MP_@f===DDD`رcΞ=]GGyb%:!5w.꽥XlU~Q uXzЮUyyyL<!!!ƈ &Zݻwk&̠4cL$nnnXb] LLL]k<}:m۶~Θ1 =>>FFF\_s _5wE!??vcĉt&LbZ( -- ۷of3J칺XJ <ማ@ǎnhh(($@'zddd`˖-`nnN:ep֬Y055Ŋ+6;R\\?}tuuѫW/S.^qAAddd .;;[ G`͚5BMu_{lkk &ϟ***+s֡7RǏǏCCCC$cիbcc ++:[˗/۷/f͚UgAGGNfЫIczUV5j^gCuv3Fxxx"Ft_B2 i=|@ί?s6 ~G5TVV޽{>ۘ3gG;Nk8;w"::QC 55{}<=011''''9sƍXSSS,YvߓEtt4Μ9ѣGJܓZs`ffվHoF^^lmm>GcgΜÏܻw.\Q1crJU.(**;wx:Po 8[#EU%܁fҥK&Gvލر:&>}ے=z***pvvѣc044[@*''(++c|gihh… ,,,ZBUUU5GzHHTUUkԩSR0_~ҥ ݷGJJJ?HCMJJ ڷoTk. h"| G7ѦMmEWWÇDZc`ddٔ)SpkO:983ܤ;7Tĉܷ~tܙk޺u \yRcĈ>} ''':/55Q] IJJB\\\m={Ą pi] ( OHNN 444pMXCI-***ؼy3,U_b]naak׮ը T%//OmĉtZZZb5__<>p !!_|;rrrGo9pPUU,gvgRc]"%%L&-BEE200kYӺukL/((fΜC!JNN3 PUU1c|A":A"_F5vXL266hׯ/,,*5dСOi߿ڵkAO1zh`֬YKAhlKKKRSUUgbhժU:w SSS gsss5~I ZG̙Aw]t]E eIECH?ֹB(++ܹsܷ ޽[NQv ܿZZZ011R#**JSTTHqHJJ·oзoFwz`XMM 666"AOLǏ#--MCiΝ;`ׯ|G[h>|Xkƌ9s& {xx޽{h׮:wlL46}ذa˗zs 'N๘lcUUUH]0P#Gё 66mp(,[ nnnpuuœ'O HNH OAA 8q޸^)HHMMӶ> Q7n#4"= :tovݹj ]]]q)))Xx1֮]?bĈ<_e^k*)ߛ9s&*X,zҀ_4Π!11\Ozspxzzbݸy&***0yd,H$@' 7}ƌ|i(tޝ^'J#FNDɓ'_PirrrXf _.# ƍ90ԩv܉M6szQ9:v(VCms̩wsSKq琗GffHI֟g\CCC =XhWRRRP^^UUU_x`ܸq/_ɓ'_5vA!:!5t(Baaa޲!!!1cFs7kܹ5ؾz >|x믿bϞ=}6233:thu3X~ t#^|Yo^,:ň BT ccc с<󑑑9L&#;;QcRRR,6077"8L0tpN.ꆌ?aaa"&>?ߥ ZS|L0&&&3gWDGGnMM@gggt ߿$'(**z`00k֬Z3 WAo߾=Hx ڴiN:^zիWN8999all ]]]}ݻ7o޼ł JKKѯ_?PFuY[[n8zh(**" nnn {Ab0ϟKߠnݺ˗x)Wǰa0eƻwgXZZ ++XsgΜakkoƋ/d#'']t3[pssӸY,"##!##z\Q`عs'+++]͛7йsg]N0 2βtEz?kdggy|||I&BCCs|A,5BR PQQ:-WWu+`eetXz5by~~~Xx1ڶm0:t[l+гgOl pBn1TWq={Ԫ۾}{JϟklKKKömPXXGGG<~>}_۷7==ƍCbbbXzu}Y,-[VѣGpA?d2nYMM JJJ`ٍ^C#G"""111<KQRRRеkWod|P !MUUX%??eee"lܓIۚk^qIMp0`WX,zOCl===L:*..ӧOx&d`že?pU$&&.Yސ˗/cҤIHKKXXP^^$ǣ[n077=ׯ_Ѿ}{>| ,8NZl6iiih۶m5dt xWZZ]bĈ5+Iݻѩs/(o///\vtL6 7n܀MT={***XlX cƌAvv6f~0rJ0sn?K.AUU-ZۗÌ3,fj6Yuakk{8AQ 1tP'l_XcڴiuYgΜ#N> uwww:u ߿S6؅ Fsns:dɤש RPP 555kݺ5 tQɮ,tRk_]]fƐ QTTĺu www{H|۷/ lذ8wݎbAII񕕕СC4hfQ\\ YYYo߾փ梬 |"##{xzzr+Ҳcbbb`kk 6ǏcΜ95TرcXre Nuɓ'wܡq|][5Ry1}tUCrE 8ᵖ3} ?pF_1L&ڵk"o%NeΒ1Aԭ \\\ //7͛N: 6yyy8u޽KwZhw[BDGGão'( rrrhٲHݔfu֍~xTX,̛7FFF\4x1l6ttt ǨQd̝;Vի`dq :!~*upqq֬Y񙙙HLLpر3f̀Fm:tPMAc׮] õk=@u.ל݆())Ann.N:C[[.P:x` $$FqIu_o3:u fffD{ܸq<ʕ+1zZ***={6ߏgϞat}ׯ_<8wϓܨ|/i8.w.EQXt)qٳgիWB?( 7n%z쉠:M###-[4>$@'q]ƫW: jii)4JJJXp!N8:6lz!AO?aȑXlX,(++/_lڷoy!//ZZZ9sǼy߿Eqy$Xv-1`\r򰳳F ooo ,Y:t}mvyl6m9&L )//6d4TdQ*//Ǜ7o@jv///>|륝(//GFF1rHc֬Y022† ၻw֙ef믿wލ!,d :!Վ#..[l5kЫW/zWp5ZsܹsR7;vɓX|CQ'[nŦM=$bȐ!ajj^^^Xt)v؁ ЈS$##Q%I\\v܉77o0sLtڕs2 ={K.gKpuXܽ{ǎH;;"%%FF5iׯQVV (w%cڵ;w.Wdff"** @3g@^^JJJx?`С?<'bccc@f sٳahhkxUV2dH( aaa|~-]cDISSSNŁrI!,ݻwʕ+}vRy}BYYZSgΜ|pT3mE[E0L]+0x`0 }^#88.:x`v }}}̜91ԇ`ܹs\tvZ9@Kݻħ?yΘ>}: puPSSS=zw! <33k׮n&$@'uVיڮUy]޾}>(WmŲeː+Wz-)) ōA Yzzz;wD>Td2{I{N1D*P Ё GE~~>l6<(IUçMFO5 :p`st0vvvׯN<Æ(|TEQX`m6/ $@'T5kw;::x ϟu1eʔFO>6l6mڄׯ#//~ѣj5 AQQ'N@ddd3'YtII~Vo,No'8u[sNxbXYYׯtBaa0puuvwwG۶mѧOh3豱$`FFM;" FO5G IDAT1}t;v vfƹsp =zZ= o>OmTO嗕qFGƏ/lٲ_~=Zn 333,^\%!C`ҥXv@o;w #ህfF='''۷o).^vappp($&&cǎt*++cPWW߼`tL"5{E˖-6m4hh(_?aaaǘ1c#ܸq;WMKKŋ1m4`SFR!77 uٶm^|OHH@VСCzծ];,]{Ųe_ :>|q}O>Bc}ţGYtab65۷of9* AXX|}}1aTVVbժUիW.=ף_~0fe˖֭÷tx{{ٙ,$_3LaϞ=2e l6#G=~Q"3Tشi_A/UV]zonnn`2|BYYN@pttDǎvZ\x),YS--[ѣGscIO n``׻y[j777xzzÇ\ .p/BBBz~MMML<D\\rssqu̜9o߾… s .ؿ?<==-o߾hٲ%jj.8۾1v ̞=8}4.\{{{߲e :u ۷oҥKҬ egg#99$6{bL&?FΝ={{{~жm[XZZ|[naÆ ذaWŞ  :uӲ>yyymڴP}Ff h ?Ç666hٲ%rrrY怓+QK1gɓ'h۶dikkK|ŭ_"::d͞X,̝;Xzu=ۓQYYSĄ/жm[;wJJ УG~[PHNH+W",, sūW,\PY?\:u¸q㐞}!++ ϟm:jhhXv :AM˗ѽ{wq)PRRl?~bhAAAeee@qqGŸAff&Zcv. ;6oFlbaǏEQt/fŋȀN &?QFAUU7nܐnA#r ھ}ر={)ю(9sC!0yd &&")"`Xd &KEEAAAPUUu55 4@u|1HL&]6**}qFHoѢD#im۶Ҫ*=%Urr2 ##QF{8\aX9r$]ϣ 5t 0uT(B`` !//iӦ>''666())۷Ɛ4$@'$Yb֬Y(//Dž ԙ-777~ ''̠єk+++|Q#⎍ b'{׷o_xAAѣ6lDFFjxB!3Fii)L&455=cٸ}6l^UqZt)={;w`ԩ5aҥprr!ݻ۷oCUUE֭[xdddz|5 ?Ɲ;w$&ۀ[$@'0ҥ 0eʔ:ۂjƍqa@pp-66ݻ7(A4VNRXYY!++KCj,&O EEEddd4m۶(eԩUUUE14#4ޮ, FEE!''^^^8|0T|sww&<==q!\rÆ ƏS缼<5  KI&c"-`0TTTB-2jԨ7*0刊t;wAݻ(..ưa$:3""IIIb@ue x{{#77ϙAwnq)Cz{qq1bl޼cǎ 6668|0ϟxָ Ğ={999r}/_ ))) XIBtBmٲ")S+13JJJ􇻰ڵwDDlllгgOUVB6A ( уT 7[@EE߾}CBBBʢUVRQչ9͠Sլ߽֟{Ԥ+4eEa̘1HOOʕ+໠x)°}vtޝ>fǏG`` BBBqFÇǏG>}ޚ oРAxQ> fffnݺըDIT>F^z֭[ͪw)ACWW߇2 `AZZZ`Xt"YYY]~6՜fгb?4F-, X|9 UVػw/F:tԄWLHHAPTTX`)jр={"77իWȑ#5|SW^sp!99,?`00e>GSp=١ D7mmm<|ݺuÈ#pMq^]*qKh!++4{8B п}&۷oT?h( Nn֭x:gggL8( ]t'j(,ZOFaa!?~CBUU?1+/HNHOڼ}E}PWWpb{XS0x`9r 8x q^GF@@?~ 9r$lmmXT^^cʕXn|||$ 1(i{"^LL agg ]';;q( ǽ{p=|222ӧFÇcСSRRUk@dd$:w:1qD>}3gΤ>|FFF5Lѣؽ{wdzgӧ-U: L׮]ѥK\rzzzݹs<ԩSa`` ! \~~>8*̙3V68v>~ӧK첟aaakkkqG(^z֭[c…RTT`cذa(//ŋ[fff\Ϙ8q"U>9!:!8UVFFF\CQ`=<<`0ݻ7Ç`XGGG| |}gKx888/^T'8c̙ԩ%p׮]Ctt4v gggqG(|||{{{{8fsNbܹR{ $##sB[[[C ##prr:CٳgpttDee%趑Iq',\]tݻcƇ[?~FFF|2Ə6mCEYY.Ҵ 6 %%y iall(#Gݻd16{{{t ANN%p)))RSXKZSQZZ eee \ÜÇK{,((S%%%̜9ԩS={֬skxhtuu}]k׮8q"n޼x5tttbΟwaذaO4 6m?\g< I7obpssÓ'OpIm ={YYY8y$k-[d-Z1bcc gggֻJl kS6 ]]Zul$͆/HÇt3fm۶ R sšCzwBbIRpU"<<ӧSSSH$''C___hx"##Jo{LLL t>IA\\\ KKKkNC())ɄT-*--ӧOQUUccciFC,$%%ACC@Q'OL*vIIIʂkdYYYHNNEQPVV WAv^^W>|sh%Iq'$P xxxo߾e@Qك4DGG?ПwM۷o0uTl޼YAM,RѫW/(++qqqM=>)))RHgjAA '' qG>~,UUUHLLDRR(B۶mѧO;v %%%x OO8~cakkbaŊ3fDVpo KKK?駟= 200ӧOxb:u ***8pZl)PRRsӧOPRR?\$+++ÇQ\\ kkk 4HCl;v pwwp*((***055#0Ѯ]; >^ ( +++ <ɠ2^/^#=$č344ۻ!QQQ=z4tttp~R}e666\WYY! BxZh'O ,@TT|||Tm&9s8<%5ĨQWj۶m YYYz}wma IDATBrr2deeѻwoy_߾}C@@ `mm-uqE| ʘ4i<͛76m^~C_0wh;޽{޽Sw }z:{,0qD\tI? }}}ZJ$3f &&***4hv٤RN:b~(_x~~~fٳ]otp]L2;v͛aeeooo Bw,_Ň=,"~gteee8sT(c05j"bਪ=>>@uFG#HKKN$;;pw܁dddпxzzɓ'(..Ɨ/_=˗/0a~8;;ٳgݻF/HNHҥKpppQp&pB=1LMMw^,X/?ho> /^]'O }A0Ll߾HJJ Ν;d )((`ƌCyy9Ξ=dqtuuѳgOP[n57G^^_jjj'^\zUf^B"22(q)½{0j(nݪ~066ÇcǎIra#:!Y(׻ɓ'1uT899ҥKͲ!.^+V`ժUؿ?ddjy( O> ^z!<<_ҥKѪU+1 Ჶ˗/1vXϘ2eJOd21}ttATTŵR:tGٳgCEErrrx?.?}޽j_uVhhh@OOG;556lɓ1uTx~磼qsCQ>|(DDDpppVZf`XPQQAΝ=FKLLĵkÇG=<"Ph,_ڵÈ#  n݊o߂([FFFuχ=/_QoG"qfټ<,_OcٲeX`9R+(m(š5km6xxx_{յ>|; (MEE]Q,`F#&W QcK1.[@I0A1bAAR( uf2rEEY˵̙}qy~-w^ѿ/V\IfXhSLqcAajjJ@@̘1ggg~'FQ]VZx{{\r 8p`3}tCٲe ӦMs_Li9?PAtܙ*P(}}IXb .dܹ\_bʔ)888TF"IUzٳg~z֬Yٳ=M}/&>[Aꔚʌ38|0|6l Iٳg9y$Zb5v\\˗/'"";wh",YGTtRoNjj*2.]0zhmFjj*:t+++,--ٳm2 ###qJ}U~~~7(-[FBBzzzhт={2uTիGqq1 w%88ׯk'ЧOn߾5"11RI=h֬zzzXXXP~}عs'2 }}}LLLCGG" W^U>\.vZ$IO?}?OKKcΝȨQj|  }HO|w(((ѣssr9se۶m}v7oI[8I7oWf|嗯t0,,:h TF+]ZG}̚57YYY4hЀƎ¶E.Iػw/>>>Hի4iRqqT*3fLlذ]vqm6mJ۷/SLyf{J6nիWȠuָ;wHII!--wr,YKKK6oL177B;_rnff\.^zͩSh޼9&M6\.gǎbmmĉ[ :V`unnnٳ\ Zb֭@F1bs%Iի>}z6)j53gd˖-[O?tuu}j[s',[Ņ ')) ]]]tuu{{[XXG_.ҥKtGB&1zhܘ3gSLߟ͛7X}kӦ &&&޽Ǐ}vYy&$a``CJaÆ\v#\!Ō?Eagg} @Ϟ=qss{nFIRR>>>9rOOO6nHӦM9݉]*I&gK.ѥK BU?7oYjYN~V<700͍UVQk׮ƍ8WJb߾}$%%a``q^X@R$44###FR=J%~~~矜?\J%NNN$$$tR.\HII gfڵ 0GGG6ls¬Ys>>>,Y-IRQQQ EEEU1}IW1$I{)JƍiҤIR~~~j)..NڱcJΒL&~|r)44T˫~&MH ,oAn߾-yxxHԿҥKUziѢE%###o߾ҢE)((~ iҪU2XBmJ]M|{J/ë+ZjZR(RnntK$MOOkiRJJJ5( _~/^,-_\JLLbcc`iORQQv|i޽O}Ggڴi[g„ FvI2Lׯb իFyn===%@ruu]V~ /O s_۷ocՋܹs'NйsgIwww>Yt)7o$<< .L&M6_гgO-?… Wz+"99GiG'Aرc1w\tرcY|yWGɡGڵ1cƠhzZjv܉Gy5)ŷ<$11Ô)S̙QQQxxx{[QjɿPN222p__ߧ=s $Ѳeܪ$Iiӆf͚an߾́(,,$&&~1g͉oߦgϞr__6cʊcǎ %ƍJ?YYY׏ɓ'SPP@TT=2m[YYl2oQ*L8C2xgLII믿f4mڔݻw3j(^DwUՕ4h?~ egg3p@߿ω'-rMFիW111GՋ={ҭ[]z0f͚U%ꫯ3gNK=zw}lll*Ԟ.o*;wh">}:ϧI&~jj*M4AV3n8vܹ>|4I!49Ir9[n'''>*qߤݻw{nh4x{{T!l6l؀FaXYYj4ݻǥKS ֖"Ҩ_>+Vоe˖ܼySo333ZlɅ :u*gϦuO}ٽ{7˖-cСѻwoΎLpqqښk׮ B^ݺu)(((s {{{iҤ ١CAAǏ'//;;;&NȘ1cY(##~ 6Pvm+fΜYŒ֪ .)) wwwr9!!!ik4֯_OXX}ݝ6mڼIHHĉt*Jh޼y˽{n}rGN.\֭[III AڵkYf L6 TJtJLL|a5fJEXXgϞE`hhȐ!C*t >|?ZՕTw*,%%͛7c``-U]bbb?pqqVVѣG^|UHNNfÆ ܸqkkkӉTmpkcc1EEE>5"33 tttr%IА`ccCnn.lٲE{lHHHVwOJJBRh",Y</..F__#Id2H˗v666tIwqqqDFF̝;wdHϞ=?~<:t(^2==~7133{D8 o ޽'NxaG1qDN;w/_μy*ܗd9BJJ Z㍬\B`` %%%|7H_|Qo­[֭7oe?''ףh:uj,u="##Yp!IIIQ~}i߾=u֥QFnݚΝ;Ȟ$I?xI~:u`T*666̵kh۶-u%I֭[RPP@II zzzrBCC͛e<4oޜMbcc-u֥wt޽ܢ| ]m۶!ɘ5ks̩5# }}}N>7|Ò%K6mNQQϟĉ8qݻwkZkGGArr2Nzkn ^$IDFFViz ccc|}}5k6mbݺul۶ OOOΝ3GU5 K.eɒ%өS'̘5k'Obiiɴi8{,aaaر#qUCs9155ںBǰ,ӫ-@_nDFFbllϝ;F\]]ё$IbVnbbBpp0aT* ֮޽{w Tsi_e[ٳgDzHII!11xzAnӧOJJE||<=Ąٳgg]Cڵ //rwgLj#زe 4~-:u'Npq~Gr%_[|S}`ii3| "h)))tڕ$ h]]]KV8r?رc憓SM{wss#==[nرc+\/:EjjK?T,( zͦMs˓]Zw˯=~)OĄ3gΐÇWWW^;ÇD&1du BΝ; %!!Hԩ˗UvY64 qqq\pXr|:t_~p=?Npp0QQQPN ]ɓ'5u$D֪4hRŋYr%߿L/2vXRRRX~='O~9{,{ƆݻwW<,cDEEi+}1j(RSSP.4 Ǐg̙ͩSh׮]>ONN9aaa<~B>c~r#I;v )) '''FUcj+;88p @JJ XXX`jj3G_ZJxyyaggZVTRR6o߾hBAV;vl~Ollv[WWgggy!.M6%33<:uĂ >|xt_$tUAɓ'0a1tP.]JΝ^8?&аJo6<==9zSΝ˾})g%tAs-,YP*lܸiӦǽ{ؘx|dڵkǐ!Cy^Uaƍsɒ%̜9So;Svm/_N^^˖-+yzzz73gҾ}*: u]xk .##SrQZhe…_|t֍T{"@Al=|)999O/22R'FTTjmҿrN*sMtuu9rs׶NZ  T?>VޞgVh |6n܈B`㥏[XXTL&4122w믯4wZ$.\ɓ'Æ z]\xYfܸqC6z3c Yj111e^A`ll̒%K0aB&tU 2D=,, LF>}j5EEEԭ[J޼yťRr9z֭[qrrz6D.Pضm~~~O₃CzلruIХKS*j|fiiI׮]iӦMau(o̚5L5j@BB>>>^̨Ν;/n+..fǎDGG-wr>Ȩ#'wa޽֯_wT韭 QLL {a߾}ܺuu2x`<<<8p ڂoA$"66V;GN:k׎Ν;cnn^i{7nرc`hh-Z>dӦM0o޼S۷C-=z wr133̌ !!ccc7n9tj\BXX9ѱZFK򸸸2#ɉ֭[ӢE 8q;AAAr5kȑ#3f ;v]xkq/=&??RYJ"""278/_ݻeXb gϞmΝСCm)))%|6lȴiӐՋ,XPfСC1p@lBBB8p fff(JԩøqD.P $I">>@D$AtUSPP(jjDZ&//Z]cT*;;[^uwxl]^^:::ֈQR!ˁ' t* Sk.EP@ˋ׈[]xkݾ}[;-=ݺuKj T BCC !55#SZhAΝqww¢#"@jo&//!T###  SD.   5@Z/BAAAG]AAAj   B tAAAAD.   5AAA    "@AAA@   P]AAAj   B tAAAA HIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels.png0000644001374000021030000053662012700747662032103 0ustar itpeavd00000000000000PNG  IHDR &˚sBIT|d pHYsaa?i IDATxwx/nz# w5Ho)P^APR M4(H1"E"$t$)7v7c $!L@IΜ=yшH;jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjK;WԩSHOOGΝQ\9޽ DDDM4A޽ l3((Y& gggNOOݻq9jժ߿?^~RN۷㯿Bnn.VnݺzrssԩSG޽ѬYg)Ν͛zaРA+XLرGAvv6*W.]nݺJN ݻwG۶mU322'ODjj*PreYYYسgΜ9$TR}AŊMw lذ111R  wwwdlܸ׮] 5j~A5>ޤVDDDTuiqrrF#FZڵdݝ;w)SF|}}Ahy撞nP_kkk)Wxyyɍ7Tbmm-ZV*V(uKKKި ҨQ#jRR%SI^ ꥧXZZJf͚jeѢE4>S֭['Rre+++U$&&)ҲeKjR|y{{{UHv\ڴi#uF#3gT%ƈqqq1ԉ;;;j%ukkk+VxxxH@@899\tIոED>,NNNbgg'ڵh4R~}IJJR=np -0;L@TvE5j[NΝB )qqqJʕ+Eܹs4quu-[Jvv\~]\\\sΪ.}DFF*eׯ_jժܽ{WոMҢE quuG*999rǏsss9|Ro\|ݻN3gΈ 2D8sRLߔ<9y'|"ZVvܩ=ZZ*7nȈ#d͚5W_ܑ󍎎닥\~])ɑK )-ZP5nzꉋDEE)e6mF#'OV=n5J&Nhr^sѣeժU*Gh֬hZ)P+L@J֭[ ܑOKKF#Æ 3(sssy7k׊Vݠ)SD͛7U k֬V+Jq F#6lxloV[Y={hZ9A[o%Fgv!h4tm%'' >YhdhLțm6j~zlhd˖-u͛'ZVΝ;W1<>nsss۷Qt޽Tlh4l42p@gK7oބn߾mP N5j(eǎVE6m CDpQUb~kkkRVZqo߾VVV߿?233dzϟǽ{о}{rʡFcǎ?Z,l߾Zoqe$$$ԉBtt4|}} ʝШQ{8F1oZjF}FRR222)nE޽?W>"z0y-^ĉqo߾]6{=^dd$<<<`eeeJ*)K۷~ GGGd>{,j׮/[.\]]ѭ[7ܹs >FhjRϞ= *`ƍ@:ue8?a}Ƿ~ (eA-XgϞŨQp!xWQB?^Mҥ v܉ݻcO$#&&.\@FFĥKpUܿ~{… {S0$%%@dg>QIarrr *c֬YXp!|}}ѧO$$$ ((...J4Af܏7o9sYM)$''#<<-_ӧOc8p^}Uca+ %daX`N>+Vĉҥ zg^^PVZ_~3f̀R}.?>[gϞƍ{_rr2q! 0۷o78[_ {ƅ дiSxyy~pqq L7x...[.j֬ WWWL: Ά;:udؼy6m)))8p P~}xxxSNHLL,G=z}5JD.\ggg;d;-[4-z*ڴiOOOԫW2dΝ;''';EY0OرcFhpyԩSHشi/^: %%9Zj{ussst:痙~:aԩ5jn0qRejի1p@@ٳg?D֭ca+)%u_bذaӌ L8w~J9Lٱc}曘8qs0a-[ٳgk׮Ă о}{K.ebGw}+V0YO#55W\Zn#-- ˗/ŋq)Dvݻw7|sڵk駟|PlY\rŨ4e˖U-㭷›oKM/jܦgY\]]qMLС>s={[Fٲe!"&O'&&*Rlȟ^/1NEgϞUh4>"ؿ?nݺaݺuF˖-Aܺu K,ȑ#*7nĩS0yd%y[NNڴiL8sy{.]?'OVz oooZ ?>.] W^y۶mΝ;ѭ[7Ǐ 8pZ[Ɓ b?P\9?FZj~í[P|B#+z_~W6:@W}1m4|'J$z^0y nnn4h3i;<< 40(D:upnݺسgK/)aaah4{q۳g^{5Xv:E۔,7N:e%xuEUFXn]O5… ^Wϒ70H@ׯ^{ FիWQzu\t 2d8?ի.\:h48q|m۶6;;;3/yNCDpy`gwzиqcZ UTA`` ӱpB\|SNUR3n?>z=.\???:tժU+1嗧(ehӦ ۇw"44yyyG5P\98p#GT.z|O>h0wwwv4蹢#G(FVk0wuڵAGGG={Qwܑ:VF#^W5Zdq#~~~|Zʝ;w.ZHe_\xgJTTP+F#6662c (HBB}_r-zW'''e}֬Yi~!Ϛ5ˠ{I=677CJ^^qa% z& ""+Wsss1/F>}:uJ4ҨQ#i۶2mÆ jeٲehdF>d˖-F.^(FZlEDDFݻsssDDN:baa!7n0zԩSs IA ar58 ȤIDȘ1c twz-[V<<>ZEIHE@ڵ ojȑ#fff4hݻ???|w €n:&;M4͛)Sw߅!"CTZ$""b)= ,q___DFF*G999ѣر#֬Y@ưalh4@?QF&Gzr=i)ZHNNF=бcG_m۶ž}!͟?=zɓ'1tP 4aaaطo\\\oiib̘1ŋqQ̜9SJF,..W^9P!ٵkr=v0q_wwwԩSX[v- y={41!"""z=ZT|||;!z"""X@@*VW^yΈ5kC2π&M#!!A){1j(L<=kL@ݻdݽ!*͛7 `+*TPa<7ؿQIatxs͛QrrrJ;"ťKW"*Y_HBBrrrqFԮ]!إKo !!H%1yծ]7.0uؿ>> JDxxxiP,[]xJĉc鐕HIIA^^amm +++(qaffX;wu1Lh4Fll,^~eL2nnnDw 999qƎk9n۶ ۶m+0F{{{)eѼyst:888iӦQSN٪U+899޽{իWGXXlk IDAT,,,\+'N !!Cjj*ڴiSf=˗/ڶmXYY=UۼMDFAZZ݋'O"77HII%`iiY?YVV;/"""ر#6l>}ݺuCf`nn-[LU#F 077WΆ899999{.,Xp%Ptᱱ8::hСƍM6]Ɂsذa0rH >VVVpuuU56z1zlܸ/^Drr2lll?w)}&L_~YyXSL1*7o&NX؟_V-ܺu 'OFƍ1c 4l%v )-]cƌ(S{'O?UBCCann\zaaaX~ptt֭[`^ff&\u)))¡Cw^,YիW/p٬p-ܼyEbb"n޼̟?HNN6\ [[ϲP zn]:vh8pL:U:wlwppJ̙3 k45ǍWZ1YF^*/{ٿ>=& ϑ +K.ZjTREv)o>Yf=qGI'N(_vQBckkk}w6ܹ+R~/{'qq_zU ˗r֭K~wff޽{͛%~nnݻW>s9r[<==M.%**J]&S_/b,f}l޼Y*W|G,X oO֭%))I%x?e߾}Ubm2uT2dt޽>x!rm2-==]6n(V̙3Gϭe˖$44_~2Cm_Nj~}bcc~OO#R;˿ɓ/8 .Ą xhZk ЫW/|A۶m }ڣׯ+eoFrp%pԭ[+VX[[J*q֬YbQTׯ[o&M3f`֬Y^z)h6le˰g899yXti_Xz.]‰'p)رKMM-琓Pܺu 8s 233akkw"$$ 077Gfp1XYYSNE׮] f}?СCظq#222իzAff&<<CݟYYYY Ahh(N:ܹsF뇟~XHHH'/ƍΆΟ?plٲ}L ___|Ou`ɒ%8wRRR`aarʡzhР<<<`nnwwB]_p5#tv Æ C~Pn]4lII۷o+egϞEzsm_^+++Kh֬:vOO⬂" +0r"nC{Q2괴4پ}?^CoT}AO?TnjT^Lb2eܾ} F^/?^ڷo/;vnݺI^gϞҩS',kkkٵk*.))I{ҤI͛*yyyO ըQCϟ_y,_\ʔ)#VVVկ__:v(5N:eΜ9n.?|GG;uTˮܼ}w2bĈ_A^D-E]ߗsիWqdrrrGOHӦMEj?55Uw.FnZ:v(.K.t֯_/v.]իjS_}߿/{Qf͚I*U ͛FEy[Ν;gիWO?:H@@tUz)z@SҥKU9yjcyQsylGd𿃃ԯ__V*b utt,TGgff&ZVRjԨ!AAAE^m۶I۶mEʲe˞ia9r3WiJMMϭv2i$ٵkDDD]vIHH$''Kzzi(i޼=?K,PIMMNWX޽kԨQC7n,2|ٺu 2DW:u$lwҵkWsssׯ|7K/)6m*ފ~?Qˋ>\b2aŋѣGݻ }Ʌ $77Wbbb$;;[$իWggg)[Ү|w)EVZe7^vmiڴK6l ҸqciܸtA?;w)}4m`GS.\( jQ/˨=acc#UV:uꈥo&XYYXZZ:jg̘1pHHkÇKڵ<3>}SVDDN>-?̚5KZh!C &Ȉ# Ό/{Vy\zU+QQQrqիWV*U$7Ǐ7#z@>yaxz}ҭ[7uyyy駟8իoޠo={̞=[>-<ٷoYF}]iӦ2vX0`"}.](ɓr%֭[ҫW/uQlYQ4o\edG577WΝ;'qqqOVQwċ"}̙+AAANF_v?;*eחA(.M" 4o?ٳg~xy< 7_/]߈#Gڵkjժtݻ7ϙpwwGٲe;;';T\xë pqq!*_z%>|8*TiӦaܹ3p̙;j(]YYYxW0eXXX[n/֭C:uPJDDD`ǎТE j ;v4y}BB\]]1c |'JoD1bVZ]v=UqGbb"bccq5XHKKCFFTZjaΜ9֒%K0vXY`ƚ5k{aʕhР6mڄڵkٯ_?-[닃gED۷oe˖U=1rHTXHMM5F1l0$&&")) IIIHLLDbb"݋ 4k ^^^HOOGzz:,,,1c:11Z˗1vX~~~Fm0OFxx8֬YC+tBVV/+S???hڴ)N8Q`=~;nvD2eP~}L<'^zܿh;v [V }ݻwqqڵk8s "##QZ5Ԯ]999ݻ7Qre+WNNNzܽ{  KKKTR`h|...xWЩS'8;;c8}4oߎ|pss og~DFF߆Vݻ1qDTP۷o>exzSNhܸ1z{w~7tEJ*pBEڿ3Gf<=& E "رc9lT\]tAݺu::AAA 5wm/t*Uw^TVwAbb"-[+WVˣqΝ;q ؎j֬ʕ+VZر#RSS믿"337n@hhMi5j+W`cckkkTV ׯ_79Ν;ѹsgܼy/^DBBoߎ;v(uUk׮)O>7o˗`tò,--QlYbccQB 6 :BCC7",, n=z`ǎ&\a35n'O|v.D|Xv-"##VZrʰvرK/M޽{ٳuV`޼yEŊѼysL28rڴiv{=6`Cw7nbbbP|y%aB ܹsv܉={ 55vvvC^^^{ 033L2֭[acc|6Q]{{{>}Pgݷ=pY,X;vPfaa={ nnn8rA>}PB/_͚5+ԃ0oݺ~ k֬իW̿GwZj5jN:>|8 ..h׮= }Az$''#44 ˕:ڵÇ |W&cj#+I&o~XZZb8w_{{{ܼygiZnǏ+e;wƞ={ \wU\9ͯҟb)./diٲhZ)_x{{*urrr]vbnn.mڴuF3gjdŒ`ޮ] N#N6M lWIZZɓ'e߾}qFٴi,[LF%ץׯ___~rJYl,YD6nܨѣGK-nWA7O2Ũ^8-[TN)2c >\`ɒ%k>}tRynٲPÎ;&&M#FH׮]ZjJ{ȥW={M=zڊ 6L~9~>}rGJ˖-eСj4iѢ̞=[eѢE@jժ%#Gxٺu3F5jjժRV-+M41Qòcu>z*)q}Ϟ='mڴ}J^EҲeKPԩSeԩ2m40a[~ u}󠨗Lo2{g _ӧOMJ.]_~(jrsʤI?w}WZn-bcc#VVV2j(vy<ܘ޽{͛7 WKZZdffʅ O?/k׮K^FJ*T;JΝezjeǎҧO ͚5#GJ.]|x;Abʆ btt_իWWmڴ1zH^K)ݻw~wAqz̜9SF-z ֥KB-& Թsg)SoJY^^O>V+;wTF-ZVBCC8/Y߾}eĉ%"\۝5kV$,,LŠި([=Zd4j6m*ْ#_| 6LֵkW Qn믿D+g~"/"nnnѢk׮%|nZ{A"""Mm 4nݺ/۶mIHH'NHrrJBBIppMJE\]]eE<66V.K.M6ŋ8::JݺuM~v+W67ސ>@VZ$?%((Hw. 6x裏V^ɿEfflٲߪN?PH5Aawt:L6MHƍ%((H9z 2D֮]+7n3g*#44mTk5ydYd :T.]ʕ+2|ZL8Q޽kp\o)[l1?_FFL2EWnp[n*}u\\ԬYS[oIttt%!!!E>X%..N;̙3%00Pʖ-G[n<{{{9s 2DɓED+YYYFhB{=ۥˊ+o -kkkqrroooر 6L֬Y#ђ.'OT'{nٻwoUҿB8th4YtcyyyI۶m ʒJeĈ&;/d{TXrssr;w?,$,,Lbcc%55Unݺȩ덖V "YYYrm0`6l "~TZUIF#"LKKK{2^rEƏ/;vTjcc#-2y#G R%a^/V+;v4:;v]:tԨQC*T`{ ^:t0A**5jHnܸT?O@շ= Ð hdܹF!OСxyyIFmf3͓9Ri=<Ԙ1cL~n'O6yֿ|BILL˭[$%%E~WwryD̔do>j 7oޔt0ajJ&7N _9acc#]vU05`~Rde̙ҳgOVFÇKffQ>@ĉ u0-& $%%IVV=~h41c7o.k~|||| r}Kj\ʔReժUҹsgiܸYf}գn߾\cgg<4kܸqR\9yWL2Xʕ 2믿.vZ#!aaa'FB/^W}TC p)))xbi۶h4\dҤIZqssٳg8 lFF2<1zS-ZJ;7nȑ#GxIFZZy߿ Z}CXX|A.]y ={x+e˖/믿iӦ0a1^/!!!r'=~޽[D$6mAea]H>}b&==]cǏJ*IFFA=ڨ+W;˗ %$$(f/ZH˴e[YYIv P$ 8BFogʕ+^EIpph47.;jxqA_w*G*U$wܑnݺ `ɓ'˯ZL9p3$/;r8::CzܼySM&T::uꈕg5K&o8pNOOC =۔..]}? Ν+w^^ԬYS,--%00P֭[gٳgVwXOt *"6`.`Ap7d-"Vl+uwU]{kk$}&$ВdιwfΝs`„ [.چX,Γ:r74%T*Ν;???ܸq;{~O:pӧO֭[%sss˵Ԕn˗/2dΟ?pq_>*Vŋ(k ~z>J.] =IIIl]q8v0Kj*b1QL]s炈ТE ar\HR>}Z˗/QzuyHJJ·o^zI& RL˔)A$ tvxkCCC 0@./oL4)_A]>}111pBdG俤_QzA(*L.^Bqqq8pҬƃP(̵#R83gd.Zɓ'U~;v1kkk`͚5X~=Μ9>C[}h۶(D\\ѴiStDYnW۶m֭[I&!22Sefe,Yf͂3ZhQU.*yxcǎS+Vիt!O0z Njj* O>eU&߶mۆh 0]vEV  QdI"** 7nٳgq\t.]ĀrL ###͛7lc۶mXp!zN:_~_@*߿ʕ \\\gcڵXx1tHf͚_k.$$$ܹsjlF~áCT&{1w̵ذa<3.tR 4>ZRlY=?J@޽ѵkW4mC͚5Y "sϛ6m8Sk) 戎f>PԔn+Wp9t pvvfk9Ν;k׮ŦMTޓƍ߃Bӧ;h׮*VڽN:o>ʑ& Qree˖8~x;;5kbѢE={60vXl͛7$ {dffj~m||<~76gll +++K˗oDD_hq,nٳg~sem_"~~~yv}H$oǏMm+GjGG(]4?~o߾a޼y `y7'gb1.] *U :u?0`ӇڵɓY.~{…x1 :DSMb+VTY& +Vo߾Ÿ{ܚUVax6ݵVZ1l0 2{FPPu"bRN={%J }?}K1q;wǏx1:wÐ!Cׯ_r233'O &&͛7QV0sss4lPeN"99ueR.]ulMԩS٬-*U Ǘ/_$T*x? 6M5 58~8V^-l Zl 9_ׯDY<^FTe;fffȑ#b:u*pȼqڵk733nݺhѠA%$$ٰa:ӧOWԲݻw+ nnn}6s%KJJh$y}Փ;.\@ݺu! v+>ZZ:ug`뽔K ut.=޽{'@(CfЬY3YƲڪʿD(XXXtذaZEDZ<|^ib`%%%cn6u܎8Õ+WykV򹨙6m]$ǏWgdffO>000P͐}xe꺋_p/yv~?zDMZnRJ!&&زe #G зo_<|/^3ʖ-+7󠊼 'NP.((O$ʗ/e˖i՗Tb  J[}vH{'NIĜ(DS+ׯ_Y77<']6z:o߲{x֭<>фnTGJJ0l0Ʋ٪ 6`9ԓw÷yE9loXV^(e$%%aܹڳK|-[",,%[%8޽{+k jGxyy0jB?BRuBB5jP۠ȋuX|9ܹ)_~a9IspA4?رcrS--SLQxHXbjԨHU$%%eؕʕ+###EmϞ=úurLLLoinE-;vڰň#H_n" @֢t޿\pnO4t=8TK.aɒ%*H$ժUUTAժU"®]r<ѣG Wfe(J*7oN:Uh+V,--aaa7&Otޝ|{yy:X) qO?sssX[[̙3EXdGeɇ#7@ׯqU΢tܺuKeUuOhǏ<]G]0NNN011A͚5 )C6mqFQpŁ2j >Aܽ{ժUP(ŋhѢs;w.ڷoP?O"':t(2E= @###|}I$]7177/IOZF!>>ZYY]tǏG:ׯYl"5!ڡCر7.Ьm#FGG#--M 7of9M1鵋EX,fb|0 mČСCӧLzQdg޽˒Pk :.~0pX[ǎ5ͥK답kxܻw0`(QFFF077+fϟ/҄wlݺ۷oǍ7rt4hh]vݳᑳ#Ѷm[ 2.m"kazCѣ\VsMԪU k׮WW~V‚I5.$;ϟ??&N(:; LLL`dd5j$nN[lɓKuQ Jw^[*a~?zDD|>e7>{g~35oTmhҤ 5oj*F~7nB&`MOlr[S8H$TT&"j[,`… }V<U>>>hݺ *J,{I~?BңG D"{ڵ+߿""ڱcDSD"!gggZh֮]K[l! ¹?V_ШQ͛7lߣGnݺTn"w(--R)=zf͚E}gϞn,_~ExxЋ/t׮])+M`suIKK =) p]SiӦyۿ]veot*(:uQV.]l?~wpnM4ȑ#k r%%.]gXҥKcԩJa{QQQr.ek )-CDWr4i"b|-hfbccQD 4n?ƶm@DX"vލDQ&ȩ=qaDKZnrr2ʔ)"bao˗/AD3^7o^(-nb6Hlw8\6F}mgddd̙3*>}귿~봋qNШQ#~- zD(. RK̙3-J̛7O!~7A>}zi[N:pss;z ___VZxΝaÆa,YB~)QV Xe˖ L*T?zh.!Jk.lܸ3f̀@ @ݑuFӈ\Eh 8wƍ1c 00 "ԬYS!ܹss pYb/oܸܽ:t(yj* 4Df͚ӧhXx1ك:@$a͚5`l#=@.]m1r@0zh=zT'go,O-[-[/zSSS&Z_!ý{@DرcEQϙwn޼@䗌 &{`` 뇶md% řKFRjUOAwUifU>|tl۶ cƌApp0vލLL2K!ӧOQVdzkפy!11*T`u666ɓLQ o|RhDO4W^e35j@ryxxiӦr"""kffwwwYFŋ'͛3:v"B:u>j֬ GGG|jB xFDȵ=> Qz' KKKC%ݻ'Oݻw ʕ+ufyNÇ<<<Y_!Cff&3kQgǎ VNqssC=v-0glB6zLm˖-#&Lz<(fmm |Fv+++N3iii,IGRB甔ԨQFFFؽ{7n߾>ï144D۶m5V\ۃ7eլY"[ZZ_}nݺ 055 lmmA';#Gj=<.???mǏmFB ׯǀJjj*={nܸAo޼!SSS]6W!T*۷իWĄUVZh HD l%"JOOI&پ 6PnrӧO)==vIt26mDwedqppS^VZDD@ v)TlY۷/yyyL|]loU6o޼0q=J-ǏсtKuԡ_*VH;wdzFT[.XBc'$\?mвehl_HH3*TELJH$)ĉ_ԯyBPq`ӦMA:uPR%ɍdddu000;!0k,S,׶( 7ҲamS ޽ "°a~a Iڴi?"88r#3gP~++VAD:UÆ AD,Aʑ;wa5j@J IDATzzFWGhJ|{߿_ݻYӧO#((쾏9rLe˖-;IV@DHIIangAUFeh+VPz>qr̙VZ"BllEL:ݷFi[ciitjj**WׯDo?011A6mؾٳgC(ʭ39r$B!]u{)SM6 WD"aڶmXDDD ,, &&&(Q/_3gbĈ4h6m&M05^z,L޽~^3{… qQ\zXfM866};D___M4WrJ[Gry"WR?ut.Ghh(BCC1tPpww .zA$!22;wDDDݻ?8sLrߟ!&&` UV>|8{(Q>}$wԩSZ)SSSi.qgqD,VVV m ("1pCq5k`ʕ;w.UBgk)_kZ}aۣUVr|:th'zte*)) Dӧk[BaÆ r@mʕ+ի___{E^ₔV۷1666E@@@_Uϣ[nprrBӦM(.Bf͚Ç?@D1cʔ)ѣG5j%"L0W!ZDnDR 6lSN^:Fdd$5k1cȕ!޺vژ>}:\\\n7yVj JYP ~Ɩ8Νþ}yvooo-[V'tׯ_>>>ZE*ϟG֭"@ ʔ)WWW~- z$HRԨQ% mڴ)jժkPZn,>?<ܹ"<D"| QuIKKr,;==X'O֭[ QqϒE[|ҩ`rmûnVVV(Y$k#e~IQ6]og*ŋ @ ۷oxN>ٳg tҥ(p4_}J,(+?=n8U'sssöm۴`ƍW oߘ;-J(SSSzZ@H~:bcc~zo%KĥK'N@ ƍӧ* 7n 4jW5n8_a_@-[E`#\;>|8.]*W@*b֭>}:bccq-\zUZn֮] ;;;υV/]moU$%%Ab~bGԩStԻJ*7obbbf4I^IQ6] ؽ{73Ǎ>| `޼yy&.\'OȕWJUPN8̛7stRfg߼3gg?@dd$T߿ƮqV\ P;;;lܸQ31šC`mm cccvL" ==]_  PPXqʇ P(rq4@x~~L2СCB/&pww1"""QdA9b|M19z011!֭[L2>e%ѣfϞ .`ƍ7nBЛ7oZts*;>QV %y'EtucdkwqHR899 /`ոv̙!C`߾}􄝝>tرcahhǞP2e ** GO"`O.tQ0n85h(H$pppO?4^~_Ç5kB!F +ۧ@ Ν;0?$99wŇs`ׯVX-[r*lذDT( ΒZl pVVVJG#ׯ=JضmƍW䝝6C.]Z7>} T}RԺMȫ~t{/QQQggghDrsϟӧ+̦8z(gg "L4I {@*UshhhW^幜4$$$۷HIIAHH ,, [lAbb"B!MV5.|^})]_ )Dx-.]@ k׮r T?Tzꅽ{;rcGu)(mƌ, b7** !!!rRSS|e3a]o߾aĉraVZl1I=xbbb&+1qDԪU KԃkY~}t/_VGff&Ξ={a "899tlAzo^^=}_s?f̘3vex%RSSu(lݦ Gzyy̙3^| bzrlٲEۢ8N.afddy " 0'Nѷo_x{{#)) @aɻVR"_~-0lٲ WY'~-8zt"޽lr _@`+8 #/_˖-!={߿PȒE\y[aF\/jeZ[[G3V|_]iouDݺuacc7oh[\u)ӧOP(36oެmq:DSMД~} PV-6mڔb'{ȑ#SSS4iC.] Ã}iiiWV w=Eq,ߊS?yN<5dxwޅU sssiF`)zZpL4 ,P(&L0En:X[[jԨvW eȆ(522tzbqs8|}ѣ5ѰaCX[[k-\*||eqeyGlWdIڵ'z???4o*id/r39۷׶XyB})ݦ hR@33\s$e-}TѣҥK~:xƍWLMMZ86}tE˖- ?̒f_cQ\2dW^Ux~-8zDM$ qܿ?itܺu <5 AJR8p@|0ooo:w^z/^T8˵ .((ӦMU+ ڵkAD,&ѼysD"tƍ9>} ,, { Ԯ]?~;͛7hӦ  .̗O>EP|<2DZw&553f@͚5acc cի%PWhB4@~R4h''\u5k0n88{,ڶm "¨Q?x uNHHȳӰ+s>}Ɏs9Ctt\24>LBW8"HeN]6ZP4|49> vv[|"B ~Yj׮#F(ŋ+ω'unrrerּDGG#33߿ zv} mhРB4(m}v6կ_?XYY) ͘1 C/thРzꥲ[.fϞsasby ׯGo} @Dh׮HLLdW9T~kԨիsqжorzPr>>2o޼ɌHlܸ9rdxg̘"B׮]5pH8 F{XZZs033[XW\Qy\dd$ PB8[n5J(h:tC E3iii_>ޝM6)5SSSs ߼yK jE4{t{ B9c8ؠv~8u8CFF;&{79sׯ/E_ ! ޵k`+cѢE/!!VKRt}D_Ui|,}{{{0,֣G̝;Wad]]UV=ϣE{ŊD8uaoovxQ1D׮]3zꈋgSc`ffݻCQ֭[T,YRf-- r1;r뒗/_*ʌsU3?P(ĺuӧO | hժ6lcJ;iӦZuc}._ '''wڅ_"##sNٳDYI%D>}t""(kbcc>G_ !Ktjj*mۆ5j`kkQFahٲ%mƎvCBB~Mnضm._ z 'O!J+W(]mƏKKKӧO!B&?|P8X wwwE޽ܾϟ_~ "*]۷opttDqMe%''˕m_'꠭Xh Sԯ_Jgk,,,jժʕ+= "ԩSۃ(+8߰111D:h[ӧB!@Dغu+˗6lzHȉ%K@(ʅC>|8 ,ke2z hܸʲG!^x:i> mǻwP\9+Wfff "&HpYxxxPT{FӦMQV-wdɒP:iiiر#`ggkkk-Z<>򕓱G! @ۢX,FXX,--1ygԽNʕ7y*G"C>}p̆  rL}@Z]COf{z "]C a3...*ZK.pibŊ|ϟ @DE111sN3f u֍R);ޞϟ/ˋ.^'Y 2O_>EFFҔ)S(11 tF8p233)%%%OdffFG 6kSBJNNVYFRDݢcǎڰa/_]F#F҇TDD>| ___266]ңG4(رcI ЧO- ?zd)3|>j͚5KᘃB$)D" >WFhh(KVr-Oa )lt___nݚ-6%"1B}MD"DFF8XYY]'NQVf˗E>|sPNX[[gC d@D*uO]hիW-g@Mv"̜9p>rʖ- "z333lܸ077sR)[G]-!ZlYtQG)gnݺ!""G6mPZ5(r QlYܾ}[stAwH)S ((jeF?9ӲeK*TygϞX"Ogڵ kfGd7P*N< k.±cPdITZ]vETT:"Š+ z+L$y 8~xڷo@>R!7n2s ر ,{v6ms )}}UqBBB`bb777bǎ8q"A"%%fffgWY?|0>}$\B `JCJRI&SܻqQ:ɓ1vX888`hذ!0uTvLXXڶm2L/_]-#\ qjA,OBB?2(`$}hѢE׿<|'+O6Jav-[ƎDTTK.PhLavMMMAD7o $$%JK +˗/1OǏdɒ*sɢׯGo2_)ق[n9.eX[[)vɅH8.o߾!""(_<Ҵ@qưŖ-[r=V,zj+b֭[qMN:r%/D9<:u7o˗/8vXݻQn]Hv=APGD_78{,n޼7nČիWAsܼGxzzЩD1cƨ}~FFܳpBHR$$$(R8Ã-IvSx"ׯ/w_6l{Sq6mDxRT˿+0mڴ]5A!3o<B?€8V >hqqq8x KG QQQ022bΘ={v3o޼A=@D ď?;v [lqmʊ)RJѣG]E!pƍs2p@UV-[lٲgrKйo>.(+Ç1j(VI,sC}R}UC({T wwwԪUHSRR0iҤ\#Ǝ3fҥKhԨk޽{N_...x-"##7@\v 7ofQ/^2o9,{{{9AoaPD"իWJtn݊GM_^2^^^(Um۶A(ĉ*-֮ͷs0pssCjjjH3aڵ011A?e-sttɓ'qyTP*T)?hTx̐+K~O>!&&FQC  44Kqz}͚5 "|4ڵcr?xCž}UM>)*n˗/cڵ "F}_ 8~x]ƍ믿Ԫ˗{cll QID82339_6Ϟ={п~Gw8 o߾EDDOcǢTRxsiTPW臍 BVZhذC `ڵ*-6e;M6\er1W\Y勻w"88'O۷7\zGJJ/^DΝѩS'5j19}ĤPݦfΜ "]hezZp Dg<>MѣGMDD;DB+ё>}D{s~(̙ ٩_xA>>>+V &KKK#:;vP@@@cDDZn]֣L2DD4tP 4l0|rC܏/_гgEz?hժUf0asn:j޼9\,X@"$ ;wؘiɬϞ=#DB˗W֬YcǒYXXP*U(33222۷C C_7nݺQ.]ؾ~322SN{jҤ yzz@ `~MNN)SD"?@J!C +cDDJ6oLD5Qre233%KҒ%K(KuM+v;]͛)99mFZt"`411իSll,qWȎ^jN8p LLL(-[ BnRynqvZnƯg[U'i*r˗ppp@ǎ"Bƍm6\v]er9rd\8? ~xNQti 4j o߾۷oajj֭[˭aٳ',,,-g~8FŋBQN2evuuETTIII/h(蓂FNiӦYwޡqDJ޽D8oDYf8رD%K07tM6 [ߣK.ec"ݻwGLL!???._\$姤UVhժ4h&\W\1,tQׯGo2;wP(!Yfl1B#D_.C]%\["ƌ^d [_… ,Dp~'h9"Y֭[,9avO-,,ЬY3w2eb ʤ:wt҅}mܸ1"""&qO 9X,F-`kk;wG-ҥK!"888>j ?ٳg#** c |}}''vT&S=DѣGkz^^^￷7޾}k D"3p<}!!! XzugDӼ~B?q#mo޼kװ`YfXl9r8;.r[h*UΞ8 >BT&LHMM޽{1l0 >ulvBn>CԨQݻwG˖-AD 9BZjB,c׮]޽;аaCի&"ԪU ۷o/:O LJJ*uO< ƍWhejO>ϟ?GTTѡC,Q8q֯_FSNR 9/^k#""X>0$''СCZ*;g„ y6?KjPF $''k۷o~:oߎrʡRJdzghw*] %XlH,cI1KĊ5",X@4EA{[Xuaew󹮽.3g{fg}Ek_[;iөW^rᐦ&@7zhr уYz D"ٳL޽{Ю]dV L`(C9%$$ЦMT]]Meee̠vڵA6ˋ8ݺuK"OTT[ֺ:odFZ{\{֐= ;e˖jMFF1WiϞ=tY?)%%JJJ5;wߜE$1m4c 211!'''Y%3"zģG~cH`hhH ] 31bq\0`\dka ȓ'OΝ;TZZ*U~v"=L-44TrhҤIԭ[7E`]rfxЬYdR"ٷo[yf***Rz%EFFRNN;w՛7>Zj d:R7oޤe˖1KGj]Ο?(11affF]vf?؛jOjҶǐ!C\fuI,[jB xo'00N8A"222(--.\@eeetY=[Zd+##~' tA%뿝GH$twwf/ei}%K(Z mڴx<\%4 HD&KKKD-cJW45550*+Cքј1ckgLЛgNݙ=444$"EzӼdf uڵYImeRoީ(H*++iցw_}mZ oԩ{Ajӽ$bK mNpZtRxP֭wwkז@|C]Z mܸYB#G/Ⲥ1BeXmʔ)dnnN.CQICBvЦMhĈp:7?[|%m߾rvv&d``@4{lrΝ[o^oue{HǏ'tm[VVF4ydLRxx8޽~=z43oRG+WN˗/'===fybqqľX|>`gB@ G}0 dllLƍK}}m9Dh7tDD& f͂T+WҔ)Sd1]ZV.1ڼysǥ9S^hĈt-rrr+VH,ϩݠtIА!C/n֝ĸ?~|e{H|>LMMi2vv}QȬ.eaݺuԫW/:z(^\]]D?ONNff4.^Hᔙ?r+#?;w23)jdaضmq8{!j ז@niii*F3rtt=zu! "~:*dy-PUUE wۙZ>7\ !!^|dm=Dx%ѼydVwdd$:džJr" ~o~<$S˯˗/Kfi=988Ї~( |>>Co%}m9l$t6M˗C(ʭޥKӧ 7"9qN<͛7˴\cccI=zSN:QmEtSNŸq9s 99IIIL>{2d>VVV^Eɑ%W_}MMMY%7oތH2OD@߾}vZx{{8,lٲ`nnΜs=p8`Ν噚6X*|}}(eee(++%!""/_[{EDD=\ws):ggg;OOO;Vb7n@`` s<** 2S g}D̙3>>HMMmQ̙3077GXXXyTUUӘ3g,,,d^~^^wŋc'Oy}aԩ8ubbbɓ'E1穪bԨQYfի0}t顲Qͮ}f̘1033Ü9s':Ѯ];ȥ>@XdBhhBwwwlj'N:aŊ())i hLwDDF)d<}FGիpm&X,nneׯƌwwwTUU!!!;weԩ>\v ^^^@bb"\]]qE=gϞm***ߚ'??VVV>ڕ >O J666h_G$iLdRRUUӧOϧvڑ ]p'!}$2eJͥ={*޽[+А蕷;>e$//?N***4}&`ɡKt\OhʕLIX,sqRUU>LY&##<<<ɩUʯ C֭kv"%%%t)Zr%͞=/^L@@;w//^Lׯ_-SL{JK4j(222K RQQM65Z=K,&L`rrrB,Çi„ ̛XCCC.:E6:vll,#FH쉼졬=6mD***u<5YfvZc7o&3"}}}ZtiR&駟~bWM좮+ XLݺu#I{5kP\\TM川TN:hO֣֦rFFq8?L˕쯵UT'ޢ>ìJvTN|(M5km6vuF555dhhH^|I\.Qcٖ ӦMS:4ƫ1%%%FR0a}ה-KMFn߾=mrbYտ:Ǘ.]J)00z(}RKii)Yf9ZwEhRRI==5Mi7n4˱rs. IDATiٲem&qL,3M2rssА.\:-LJ\.?R# %ȇӧSnZTH$+W:q\6l͛7O}%Eה6 o3ʒq]y"СC-ASN kH7a8ulق'Oȑ#Xnڵk'kMBvww͛7\ 0tPxxx`u6 |>ZZZ0{l&,t+ڀgc{ƌؿ?ۇ760Քw6 333\&Mbtp0b8pfff6m +GxFp\\p8q"۶mU'Ϻu?_~'O.+ #!!?ȭNuuuر555[,Mŋ>c޽>}:V^:H.Xx/_򩫫K?"<<;6lxxxz]]]8KSg;Z¨QW_aعsTbʔ) jxxxCVR)w8TUUuaaa "fd kgܸqXp!1bIKK?yTTT<9x )zadd7n 88Xu4NFF233[la{7MMF?ZZZHNN8Faa!ݻ/~);xn}TE";+GΜ9N:յY|2V'?m6ڵ /))/0|p9(T.n H۾}&R9s`ذaOPQQhK.aΜ90`R͖]]],Z{ENNxa?D-pO2%%%;v ƾn䄽{6ٳg%Ԅ>\\\vZ;+cAD(,,SoAAҸ|:iAAA Hs]$|~k֬H{9C͛7cѢEi|>ضmDC0}t]Gqq1444uDGGK\Gtt4-‹/pB̟?_a}DGG7}^̜9Θ0azbsǏѭ[7:ۤZGN׿'O… ŦM}W^EG}6ڂ=5׋/B +V`kH1 de_;h] FMM -[uΝ;o(..ݻwJveZyebx<<|Yq=z!!!U!G+52Ξ?N:yMMMϯڲQF)Z#Gb1M<^6DS;11Ю]=^QQA'N$CzQ>V^M<ʘZyyya5k9::J011 P(jeee}2yYCY={6q8*..xrr2988%BjD,[IIIj*:t(q8rqqaYI5ev,l ލ7á?X)*6(UUUXYYlllйsg8q?#ŋχ:V |~"䧟~Btt4.ğO>DJGSۻvIȅ 0n8?w͛7qnvÇQSS>|ذa~dddSN:t( 777bݺuX~=߿8C,7C$aذaPQQ,Dr;&=trrEEEGvv6\|:t Zٶ-S^^T233q1k׮ܰpB 2p>_~_@ w=L:#Gl^4R >h"** #F*]o3gĎ;xl@m &ի)""ܹC4rHrG"M\.f͚E?K.#5꿿-π(ϟ?';l0M7?\)߸rIGGÃД)SԔ F:t[nyI̊DEE5X_%u`Ho-{"/{(k~TTŤƆ~7C&Ln鑶6}o+**^1zhrppfdffFRVHOMM ԩSͻuV簖H=ZVmlSa R_q\cddD?CQUׯ_/K.h=D6,]$м0oܸqaÆw6XUVV}?ңG-GiΦy摷7?Ǜ̙3%:RoF[n-o1u1eOeeMK#::fϞMVPnpu#oooZd H}۷IOO ֨ vlbXb)˗/]K]ݸqѼOw֚jc ;jz1ݼyRRR}C^QQAqqqMJ(88XbzIREfa7oM0H(ҙ3g(??hܹ?ޢzb1 0y/Z-[Fnj5{"{(kX6qF@!!!$(;;é;F^^^N-+??_e)44TFW"IGG^Mh"@oneuI[M(m_+Z7cǎ{k3f 3 [N*[wSyto޼hhhHtvחrss[(EGGY{eQSSC\&D,_W~# M>y?~Lƍ ֭ ,fIa7[[[EKam}رc8q>Cbٲe2dei/1b\rׯ_GEE233ѳgO,X@&"o/?455[\6 "PQQAdd$nܸk׮DVVfϞqAUUEubܹW\8::"-- gϖ%TUUAUU^7D\رcpss'ϟdz'=b#믿z7&~[.](@LVVV-}SgcDړ7aۣe{/hqK~^˯dõkטY7ٳgC(l9=i9] Bw01c`&+d Z7%551󿑑QAAYX:|PRRҢo/ТrY^FoF߱ӓ6SDEE@, ?,,BEEk׮e1cTTT\N^^f̘18y$@gypss?ӦMkV9W^E~t  J{ѣGZ撪O&M///kcQLx%H :>3tqqqؼy3͛Ś-_d{ɸ|2nݺ;w6\x{{Xd `gg6E:PdffbM>?44GUUϟq%plWHx/YIdMN4 l wW"/^h X|9`ݺuK6n܈7oӧO8Gt7V|n___t֭Y-ϝ;/^ ??CEE""",},,ʊ$16={@,C `ǎիÛE~pyVbO:GcǎXb( E&lٲE̔H?uTcʠ9kBa˔ei >|}۷oIѲXP(T6۱e믿FDD; |+OX3h Ǹv"(^ ?b1 $nݺ1e%ܹ3 ""CFQx BPP(ôiХK@GGGђKKK̙3sQwϟ/^@YY,--ƳvD"?XTWW~~~رDj߿qqqرcѳgO~PWWGuu[5koApp0'쥰yyyՅ"$(--eVSSSCœcu,,DMM 555qZ"##;">>̱ dee؎w* p!''<==咝63F"_yy9y{{ߟ+2̙C*++eeeyk#~>},==5}T\\L555BDD"?H$b"߿_"ht1EHnmOڢm*D b1ݛLLLիL@  .$G/_f҂IUURRR-? W^h t-!D<1lO{Yؐ!CRA2ws`uˏֲ'򲇲-WBnn. 6ЀԔy~y333cڵ'O(HuiM{VmlSaw`ISpuo۷/&AC$aϞ=9r$|}}"v풫nyzp!Eѭ[7t p`Qлwo\~0l0b,[ P& Xm SSS1\yyy055ŠAeXYYСC baooHJbc?~ ÇQTTT'ݻwQ\\K[YY W^b,n"##q9._/^_ .0y9n*nVu=daais"99ه۷oxrL#y_l,kM _~VBee%`ؽ{7O<Á]2/O-Fii)>}K.!55;wzhy,,m4 _\\v n݂-p#/6zj(**B^^֯_]tŋd 66PVVBe{{{vJX{Za=z( {7A~pp]B `Ν4iK.(((U}2nE"QD";&1??&&&dXխ\`my899a޽~kkk`: (kȐ! "1u-((T/_^'-((idΜ9u6?֬Y#sÇ7oƢE$|> ~!L>]cƌf$e3f4}(u5R먽OjE_h PִE:h}O+5 f6mq\ɑH&C7o&"ϟáN`=mMd[L7nZD^Pִe¢\=i6w3 DK.I_pqfccΝ;ĉ.^|KR&|ݻ-Ia! ,ҥKaii /Rђ*x&DEt1JMM?O>yor4k,z1]tή`wE ҥK%"~Nøs8*xyyO>EVV*++xb# A ٳgXp!á>Ѐ)hBp8*++QTT}}}Lg>˅$\ B<|oFAA"## ---C$ u0-- EEEPWWTTTrI&ѣGMMM999ĉѹsgX[[ѱّ۲=i %%%XjO~!v .}ܹsx%޽;|||ЧOJ;v ׯ_Gdd$TTTЯ_?ٳg\~:-QVV7obڴī9O@KK (((@rr2455QYY |Յ wwwFSjj*rrr 0X,Fee%nܸ@ l*r&qB3DSNoe^HIIAn0fڢCFaa!~'q IDAT!޽{Xh.]fg=Xrв<kkklذXhV^Ν(..V5aK$$$ݻ8y$x<1h ccc ֭K=i044DQQBJB@ZZ?"67}ݻ7<<<УG8::xaz*JKK1tz_$47nW^^-K5kW\\򐙙'Nӈ7d-r-;v :t444}j"/FHHѯ_?/5H᫯?,j999$hjj">>***޽;ʐ%-tΞ= ]]]HIID"ͥf?mmmTTT`ӦM1b gggW\444_g]YYt:t77:A … ĵkp5{~:G666000@ll,ڷo];wSfyy9`gg7555 J1ʕ+===ٳcƌQ)y!HPVM6 رc>:{"OjO>Aagg취%## x|>ա"o%++ ݻwoyPTT2JJJYf\W###|p BSSq! Ǐǿ+X<{ "FFF'''{0666UUUXZZ:FTT>>a755 oooښٯp  q1<###|TUUz-"%%̲BZ `jju^'wň@~~>222tI ?~.]+V` #>|8Ν;'/$a+˗/akk"|8\~ϟl۶ gϖeȑ#Xn p KKK|hkk044d(**?,?^ %\999H$ QTTfɓ'xrss___@$ٳpssC=`kkjܿ,-,䝂믿:::GvбcG8<3p044 ccct nnn P7j02tP|+x< &)(//G`` t邓'OM.>|EAATTTЭ[7 !!/^ٟ7{l@__:tGDĬ z_HKKCRRb1,,,|&Mb6˒+W ,, vvv4hz󪪪{֭1c\"(//DZѡCx{{cpvvnǫ\:taaa(,,>#ɻuV9s.(`ccÇX:Z!YΝ;wݹsGsH|ƍmiiI咋 M<~W}v+^%`ƌ$<';;BBB(''G"RRR$GhҤI4uT&Ks9R{pvvuZY/n޼I#[[[{.öŦMCw*uM6Mc2鑆ѣiŊA555G۷O <==)77s*++JOO266&O| yzz 8uVVVRkOZs]  ¬Y_@]]())A~~><._ ___ &LիWq}hkk… 4hн{wtufIo߾z* ))Ib:͛l0RRR QUUjfO뤤`ѢEPWWܹs[Ye޽=z044=%,,,uٸq#ϟ#GbLܜzStR@XXѩS'a(//Gii)P^^P5kxV$oPSSCNNFxuҥ ,--]23{Pk/PUUTff)>>ݺuCqq1D"u222{n|:t.Y6N~Я_?fxW", ѣeZ 0 ݻw'OܹsزeKƴ(..Frr2LLLuظq#x<444`ookkkL8u2551`ll Pn n鉊W^ٳg"/j;cjgYf!>>^"!<==*z=ڵkϑ˨AAEEUUUHLL#;vǃ:гgOݻ}]ajj CCC ӧOokfi%5]ve6СC>KKKq\ pssʕ+ѯ_ʵ 9rUn J PPP <}ݻwQRRxvvvprrbִzy]]]xhe9A$㡢())LMM  {"$$pAf_P  %%(,,Dff&={dܽ{YYYAee%D"Y9lbbJ#33ZZZ4iڵk. SSSXYYهZ%n׮LOOO VVVС͡}}}!;;֭[s;t"''ƶm+cXX,Ʊc>} &b)))~:̐@QUUb&+V`ax?ĝ;wpM$''ҥKHKK{^^D"舔@WWpuuŽ{$]t 077gY[[ BRRO[[x%ݻw7;x[ƍؽ{7vػ쉜,B=BD-cUVI멢]Җ-UE" ,"4Bo"D?r}ds圙+vgYO fb6m,--D :T="".]BBBӑ,=8>DQDqqڟ۷o#55w˗abb###$''֭[ܹ3֬Y'o"&&n-Qѯ_?[jx\t ?z]S[>4 H}6r!33ahh6mHO~bX[[ C1y RTHKK_500Ç&%%!''*aeIE-(0c8 ̬ɮdyH3TQg[^[>7nPwf%_c _ՌR1c ===ܸqꎢv||e5&>6  LZZ1033k,||m.@c1c1c1c1cL6\0c1dc1cL65y&1 fff044D޽/W;?iӦX<۷/o>"33|xf^JJA AHE_?!jՊݩ{$ۗڵkO%<\;-<_L*)))(++vEA6lϟ%sMtttZZZRr:tژ8q">|VcȐ!*VVVpppu^xڵJaP\\?C,U9tDQɓQXXXdeeIJJBJJ UڕJ%\]]vZQmXJۈ;V:f䠠19n*}}%7{~'STAp-0k\\4c6mBpp0|||@?]ty~ H ҥ ֯_sss8;; ^^^P'rׄjsŞ={`aa'''cذaɻ"csXBWWR[BBtuuaffW]ކ ٳ8vakkŋK[wZ~#o֯_/OhiiaΜ9*zzz|xf@EEE]'NDbb"/_ 6lmmqaHa``Pt9s?mڵ ֭[Ur'wU,ƍcٲe˗U_]k U목޽{Xb6l؀>}ҥKXd Fgϒ@SSSϴm69rk֬A֭چ'֭[ŋЦMlڴ ÇG^^> 0'O B:0>MP37u'1giu],((**l^.\W6KcTNׯ_YfxN Ǐ?s}_=z .Ĕ)S2]y|Xz5FbÆ 2d1rf|^ڞjR^^۷O?߸ŋشiߏ(Zg-[y5.5Zׯ_Ǯ]`Rо}{|8wqqqƨNlӧcʔ)/*MkgYp 6Le' "")999UfMbjjZmTU)!""BVrA[AAA8q"k׮JMMM'}:.w͛1w\R={KJHsݔ~>'")_EEGG$ggg߿*^v)u5.]@*վ O;<Ǝ 777T ?ggg!66;w+QeCyyyc(pqq#G攻)5xڞN>]e h߾J(hӦ }"wbby"wQQk%YЛ)sssTKJJ D >d\!88 <<}Z賱3>/88YYYj|UDqq1=Ҿ~XZZVz)g=zñcPZZ* C||Yxyyw 5mZZZ>|q@cڵk*B4M7;=br&%Y#k{mݺhΜ9$͟?oݺu/7nHׯW͍駟~$Zz5 @}o޼IdhhH7n$???/GQϞ=m۶O?ѭ[o!}}}߿J(4{ly&={:t@ѣ&Rrvv&KKK:y$%$$лK(ҶmdQ777255{ҭ[~ RI...CN|8H -\eTe͛7˞*4tPi('eddTqF200Ņ4_Uo߾Rf]]]Zr9%mݝ޽oT*伟)((+WԸ ?}R>3FZnBA3f̠Ys=~UӇ~(;5e;~@Zׂ &>>^<\Opݴ0k<}ю5[HLL쪼_d}0661eè+wJJ `cc򵶧=|000@NdWDSNҭ4m۶OQQbbbGGG64^FHZN1)wSj wW~y8##|xf c1cL6|:c1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6 u`ݼyaaaxF++*eff044D޽/W;?iӦX<EEEF  D$6ix211Q^U>HL:::C[l43g,,,ÃJ%nݚnܸ!K^"sΑR$}}}rss^z B999e1 5Ӯ]h͚55 diiIݓڶnJ К5k|233Saa!%&& 1B111dJHHcǎGe~Zyy9׏R{QQ]x1) :w6eԤFVTեѣGSYYdɈ#UV믿Jm%%%*(?Km , Qʕ+MoҎ;믿 }JJ -\PB...ER{QQPݥ?--,--_~%"֭PRRԶo>.]*[^ciF}tѩ Ξ=K _|Qc?kkkt1qD<|111ͭ/** ǐ!CTڭ ۺx"ѵkWaÆ,9r!ɓ'R铔+J}Ҷ*BmBcǎ999(((tϟ9sLKgDQDQQ6oތɓ'o6}]ouj՘~ZźO0k,7߄/qgG@Gb…2e |||T5;#ŋcոvOaȐ!8qDcU3O#rppw}Wuصk>,X@j?pڷo>Ν"..t92?)00ӧOǔ)S_T^O2Ν;6lÇO>ADDSSSrrrVSdjjZmR՞%!""BV2A[ AAA8q"k׮JMMM"R,ݻؼy3Νw}Wj߳g°tR9e1ƞH#jݺ5N$c@t]]KK NNNڜq ܻwmڴگ_AT ה+8q&M7vYed~Z}k׮ WCCUhFXk׮=s4]"88u٥KXz~Z?;v,PQVVXtYjX69%..啎(GiVyc'WZsssTKJJ D >d xW7t@D8{JӧU =8;;*//FUOOOѣ*e7rzֺѣЯ_?;v R0˶k {F```ףԴjiiaMzDk׮\/2cOO@???0?wBE̞=пt 9,--\^)))Xh4+Vz޽{___6M֭[Bvء2ƀʑIƍ+~m( tXnr+V`ҤI3g|||9sӦMk\?~CxzzbԩEvv6fϞ sssMCQQnܸqqTqٳ#GF޽{W^ݻc̘1Xv-ڷoȑ#[ov ={Ķmо}{xzz_K1XV5AHJ?*iԨQ*}hՕȠÇ($iii… \AAAUټyJC'"yzzRFFF7n$) EGG7I$%%Q߾}rJY3T'++K6+֥;ݽ{WITJQiMy>SPP@W\q[裏Tƻ>3FZ^BA3f̠Y=~RUӇ~Heeee1B /#??000]$''#==۷)O)))HKKWٞC:uj\ILLDnn.:u$JHKKCJJ ڶm ++*!&&:::ptt9aJKKCjj*v1wAA{{j2c\0c1d3c1dc1cL6\0c1dc1cL6\0c1dc1cL6\0c1dc1cL6?25 wAVVc0ƚ9333ڪ;c1L\4cwAΝ#uGa5szzzq!1ƚ=.@,W\1uT*&&&ߠaÆ!%%A\EK ̌1XKkţG?իWG} NBHH߿3gF^^L.]͛uʻe:u ==0|zm6mR >Vk7hc@ "RwV0 | CKK ѣG1zZի4i011ykbccӧ믿w8 4:tK=cOcc?a-{ <0lذ: RRRW_ط~ҏ?HR($"9;;QAA}'dhhH(҄ (,,AXc%`5qe&MJ2㯿F-]<,|g0f_A5 ǏaiiyprrRGDHJJ@>}¸q4`߾}ѣVXm۶?FFF,X;?Gzz:233Ӡee,u=V41 <<s,2֝;wQ{- <͛qqccc zԩ 99YΝ;G۶mQ*puue+ 4x˗CP`011Ο?_;yDEE8t[zzzU322K/ 9VC3xW\\,X>}ݻwGTTT}rcHMME||< Aʵ]ȉ]1ƚuп/rvvSHH\455i۶mDDtivU&M"mmgD }'#Զm[$z_m۶ko!4e@;vc1jCߤuM2|||]vԯ_zu+##C:ٓ?j#~;w:}4]zUe'Bcc1V.@)..IELJʈ(00ATzٳIg^TO-@+R(GDDeee駟(KM6ԭ[7@ ,qԩSfyyydjjJ&MRi4h 2D,Tc.c&zG>}ЦM &&| mۆ/++>LUHH^xj ".]sѣG{!** `ՎW[n9sdYg={6\\\i&4hP#99%%%>} 11رc1o<̝;?S?|0vvvGc/FZٳg)8{,bcce1XsH=0`:uꄙ3g⣏>‘#Gpyxegg ] zrss+81cйsjT*1j(_Gxxx歏ӧ]-ԔÇ5klll0ydKEhh(6l///L</u^_|Q*8 zm###9sùsW^y `ZEScc zEv*], "7ХKׯWz\Vj8qb7H[w?>vء1c ++K}ʕXvJ۝;w0fĨXdJÇ1|\pAk&&&Fbbbhݺ5ر:tr9~mk}^uǎCFFƎ?r9ƌӠ_VVVڵkc|HDD'O$ z(66.]DdaaQi?Hllt~*=ɓ'O><&&FҥK*)//^Ӿ}{p4֭[ԯ_?Eʇ---о}}lKKKZlYP%7779s&͛7vMٍAn"*o_u233#ԡCUc¦Uc\.c&\ӗ_~Ifff$" @(СC)::ZITJwqttuA< AAA/Hx"ݻ 4p@JHHe˖N4vX:t4Fyy9_"CCCE222*gʕ޽KDeק:T*ZI3I#Grںu߿n> :tу444hѢEԹsgر#eee;f˱Bcc1V.@ի5W)&&N?/H||< @h֬YDy]t!kkk:}4mۖ^z% &gϞRriv{r^Ν#teAz7ʖ,]du֑68q I*О'H]t!dddDʕ+O4c ulu=V41 _ =zR6wGGGөHOAOOyyyHNNFPP̙ŋq!,, p|||kU9o{{{@pp0zT9s~~~>aZII 2Ϟ=[W}]իzϿXǂ qΝ 333BWWuz: 1Ƙ:q݋/򻽽fWY0`lܸ~~~x PXX ts5k0h DFFBSS| 9Riyyy6mZnvڡ2dHA:~ZMJ%x lٲ"..666OQPP*\ ;wFPP +++Q.c.@Xt={OG… 8q>|ӧlola۶m())xy i>}z*DQDyyy_իWQRR". N¾}ꝡ.^刊Brr2_#((-k1'5L6 NNNATTݻccchiiU!C 33Ν޽{퍲2\ps΅\]]-&++ {NN~WX N:W#F["ꢥ!5† 0̝;NNNғ]~-EM_bȐ!Xvm>yb1XqͣG0~x֭[SSS 22sƍ|6 L>D=uV%ԩSXx1FAcƌ!RI7oޔ_ЫZ4d@ f͚Eot[ABk׮IȠ<"zk[o;o<ק۷oW}э jJ4| 8|Q k^ɼAAAd``@F_yy9ǓR+VQNN[6(22򙙛t`1ƸiZқcǒ=Smۖ444h锘HiԨQddd$cǎiƌd9"AꫧGf"RI={% :(&&.\@ǏPzȺܜܹS19%%EO;pM: MjժFGii)%$$H^>\jر\]]IT^ilEEEtMΖ e9cc1H3RT6mڐ-_455iʕdaaA*)4557Rff& kkkʢ>̙34eEϟOtA9s&[O>>>dffF jRIgΜu} +W]vE@o6ٳ/_NzzzdiiIk<*&رT> (c2112 84fmcc1F"d@E|ܹ3Fx饗k׮AGGW^8::";;9455;vč7)=BTгgO,\ >|80sL[ؼysTswwGHH{={ׯ_ǝ;wwx饗~c5jd:aѢE>}:&OHxxx`Xv-ϟ7n¢ڵ+>;۷/93f*{_FFFXDFF6hyWX޽{_~ݻ={bѢEn!c㩻bkLLL_PP@7oޤO?Tw}GT*wN -ZD3f̠;(,,,護ޢ8p ruuM6޽{ŅYۛ`MT^yʭ&NH(_M4~x@ÇJSN% 5km߾ 5޽{ ݽ{y HmҵIH[[͛$cc&z<[b f͚iӦI_~%p%=zP( Bnݺu Ell,ڶmϣ w܁Dx7nҤ[֖ #...3gֶc,Y}Y#j\ׯǡCpA3޽{1i$P 4eeeػw/&NXN:7|SzZ겎555ahh_~p455 ccc梨Ö-[p)xxx;7c1֒qEVV aii_裏pQo8~8O>>:w www\Rz l28v `nn'O_~X`ApIATĉӃn>?~<"""6annOOzѐEEEEhժƍE!11 F?St'Oz "lܸK,qJmll/2>,}fΜN:aٲeɁ-\]]땛1{.#V ???fҽ{w={6^ hҴqQjj3,++͛7ӰaLJ+rsst) jӦ O ZǏjoژ6l@:::dhhXAzz:mۖ^|Eڽ{7եK6h@wX (%V1RlF,Ɩ{G1blEk5(Q, {{t%g̙s ]seLL %>޽{\n߿_hSR :tСCnDGx ^zu֡TRػw/nݺ???\|;wD*U`nn6뛖&߿ @:wxΝ\]]q1TX`ooDݺu ^0ٰ~SFo$ݑ-[SNpwwg͛7#66(QO,Z(ό?իQ\Mq6l6OOO$''߿ǔ)SD#x888[f:tС_րtdMqT?tpjDDDٙWfrr2k֬Ǚ3g2..Æ T*ҥKYT)`͚5$(>>wy11 hт/_&Y3%%+W+ ءC|Æ NDBWWWq`?k֬<$ɝ;w}* M\\']Iqh+tСC%t+: ͛77nQF[t)))8}4񰴴ׯzzzBTT˗/dž 4k kΝ;!_Ϟ=}}}Bw^Cݻwĉ1o޼G :tSNYJ֭C&Mm6|7Yʻ|rL4 `nnaÆaٲepZhX+WC=>HOOܹs7o.^tTXQٲtRL:o߾cdFPo߾8q///4iD~x@xx8bcc?:t`aaaϭmLNNc^^^@;;;İM66l;u2+[&t|]>2(|$&&b񈍍X5 Yӧ \΀~#/\@֪UKt1شi>f}v ضm[~$ 60"/[, h``@333FFFiӦ߿Fరp IDAT0Y۷or <8F'}?,@ɨuV^zlРA&5d5~7_~6m J???٥oR:;;DE9}4SYfU={V+Ri/e4w HVtQXړS@e 0((HdhhٳgU---i``@{{{A˓ 6F:uJʷ~KVe2ݻG+++9_5o͕\ue =)))*Fׯ_CId[nX.}qYlY1޽N8A _|||4^{=q$׫) (>άX" g7yXF уG/4+٣G֭ۛI8tP[y'110t:tеa N<㒡'O`ҤI8pR)6oތQ4wvvF.]йs|hР_aĉQfMDDDAUWTVMFnпlڴ FFFx5/_={ ,, gφ/^cbժU7n\d$/\]]n:X[[]dL:p1^*)BLL SNC~ffÓ'OqشiJ*'O;JTT*U$''XUݺu+D,YAХKG9Ȫ={nݺѣGFR\BOOOoCժUQtiܹs-[ӧFi@g :CܣP(DGG#11iiiP(055Żw;FFFd022)ʖ- <9]P(x ===( \v qqqHOOUQjUTZTgm;tѵ'G -ݻ7ǩSХK)Sԩʕ+gggܾ};N8K.aWQ\9cʔ)Yn:ڵ n\|@dd$ !Hкukرo۷ׯGLLܰk. <8rmۆ1x̙===ԬYǏ/ WWWԬY8t_9s戁% ;L2}wʁ2={2 sڵkS`bCBB 4(33˜[A۱`Ġ\rqh'ST),X>>>زeK:VXs}ɓ'SXz5,ڜXXX̳,:۬Z QQQHJJ˗/qq{\\\ݷo_#)) ߿=ŋ k.ppp@J `bbBnBll,bbb)Sprr*PtQH|ْ%>[[[v1ۭ4r>|={ǔeʔ1@[h"֪UYz(]47l@BALF8q"Ǎ'nAdQT]vOΤ$8p@sdT#cccs - &zy&[n.x9Ǎ'L4hPWA`޽ ={)SxMkۦ/4;Z[[Ύ^^^ fRRT{Ϟ=Ʊc1b իW?]? 9rH8p@ [&AZ>7o0))߿gTT߽{GA@d'X[[N:lҤ 6nܘƬQ ---)ӳԷoy.*  ɓ'}v>|~~~ܺu+/FDD=innVZ]v7|÷o~dORR-[1cưy^:"s_oO 䥂Ǐ/.66 ,?C ! f͚|!O:ś7oFlݺ5vJԩ]K.qҤI;w._.ޯr^jUJ$gݺu | -[F###8Ƭ\2n**+GV[zz:s "{n<,3#/_ND!CISxb]&==]tav-[Y[ؘ+V-(ƍ J||<ի'*_| rd,U޽m۶u9o0]v{ K @\͛7mڵ?C2znزeKѣ5j$?gsA\.gll,ѣG‚ 6d߾}|CIHHhggG{{{D9*>~~~y~&%o߾]<Njק6m*5kׯ_ϠϢ 5) Zd~aJR`ΝZ k׊ ڵkq'99W\aJJ IlٲJCejj+Vcƍ dE000D"!N0*T*+"svv XlYd@@ӧ$)HӇx &/_^|LuR)\߳k.v֍fff,U9"{f(A~ӧ\x1+T%JM6gΜIzܹT(*>^ߊ;>|P1OLLdtt4L"͹sTINNfuaRHLLW N;֖$kV[[[===7ߨ߸qj-.].+폓ɟρ(SHHH>[9L7۶mVbY]t)R( e˸sN>~Xk$9YTD[) ZLf/XV={Ȉk֬)򑙰0:u*K111 E(H(JiddDGGGVR$*ݻwÇ[x!>{Xvm`۶m٪U+3hll,zdɒ% +W$сP*rΜ9jۘ)XV|{1/^^zĄFFFsc",,رc%$$͍K, ;v,dɒ\`I2""B\8YZZuHvΝ;$-Z$ޣ ns[EAjj* ƭ[j,J3̚8`wǍʹB jʕիW)+WL**TP]VRUTڹׯٳg*[iӦ_4󹋋$gQM6}w\xQTpȑd444/*SaΎtFGGŋ/pԩ3fL@ gPPTV4bY x}hXc{m-FYׯOTʝ;wj.00+Wf*U>IF2#V\Ymb4t TJ ŋ\d )D}a͚5P(K>,If43gΤT* R^%'Ofr嘜?}ʕ 4i… ɓ'*XfM^z^:߼yw) 2rU:dɒ,_zuQ8;wvvvWXp~]hqbggx#3h VPA!|aFOc2zhqӦMjې!Ca)))gk (N3̙RF pƌlժmmmYNmV\5)UV$W_755͗FXX׭[Gooo^ܰa׮]˙3gjժVP:c%SP(lz>N%K`߿?K~%rt_ӧg ؾ}{~7ҥK9}t:toVS*AWTeep#""[XSlݼywfHrSK{-&sOOOWAU\Y&0222kqvʕ3gLV^LJJbݺuټysq|I^\ηoΝ;b6___w|lѢEvJR/Y^֙:u{ͱ U]]]|oBB]]]3gΈ… @eE0,_@3uuta2JII m۶e U\\\ءCmZzRيL&&&jĕIG^'3AYn].]Ǐ$e&?>5߿WQ2׃M6˗j<{'OԩSzjFEEqݺuB`rrrqZ|ڄg^1cFRJ8dS帑ugϞ=3--N1cT[./sΜ9:t(7mIҞh3:DQVp>{իfƍ~*?%hӦOGGG Mf,6<Ǐ1%դՋι'&&˖-L&cͳٵke2xb֮];v}\3'W\xŋܽ{ƕ/^ԥzqĈjG^T\6-[h]g324iVJΟ?ϣGƍ|!޽˸8N8Q|?:Da*gd,[rݺuTc'<{쳮|83fP0Q^2(\vb oecy_z2epĉY!۶mKKKKΟ??WFA$ U{u՘]_>ˆݻw`Ϟ=rJ( <7vI?S怲=uqqQ1۷j*18jʕ٣GΟ?ׯÇcΛ7͛7g֭ٮ];֬YS͓2YYYW^5khdd@sss5jɓ'sN>:t_~rrk2xShziɒ%bZZwI&vޝm*We3[`<ӧO9n8{Ԕnnnܱcۋ2K.:t(ϟϛ7o ?L(IMMmرcG׏*1KNNN*.CCC)sʕB_*LA+WfÇ}Hnr:u\v-sN1E%XR%-[jwP\9q>7m ӧOg@@no-[̵!r@%H e1t޿80zhV^=}n"߹· رcy._466Cr_(lӦ -,,ˬf͚nyׯxl2Qiӡ( ( Evi#͍ P:t(>}TCƍZj*+'O9bvޝUT#kժő#G2}%_|f͚XpuK.$9s t/_L2#&F:ujժ4( /]= 0""ǎ% 5kƉ'rɒ%ܹs'CBB(?~̥KLJߧ>"AصkW2V\iӦʅ2^ǩ[na@@{ŋüq]Ơ rMOOٳg9g>x@tL9C.sK.,U4ΝKTaرJ~x,$$666رclڴʗ/%JP*.8pRTw Re .-[&6 -Z`BB WZ%ռp)Q?8(Sz(`(@`TTxnݚw߿_r _Tz+N:锏|>yD]{J$^:gZ[[M6*)8rHXppfXlܸ}˗;k׮M'''s:_@aWJ~) d'&$$ĉb5l0#/_fɒ%w͛7\lK(A;;;`x p epp09B VPAMq9x`UFOTҥK @SSSy…B RxY*ˆeΜ9 D"Ks.Y$G111*sR@F.i6l۷sYm ggBc~Q\L@JJJJR",, >|\.Iׯ#)) ۷'8Q2bpvvfϞJ(6m>|0H$ׇ?TC./U;\|Ǐ>}%K oFJJ H"447n̛7ׯ_I& 7nmۢN:HNNƝ;w~011|DD"##mR9yo߾ś7o3J*H$ذa"""PV-j K,APPx\.G޽3( @-['NDժUQjU >>...)J!˱l2 >P^=SLѣG1 W(j+)+nnnhڴ)̙>wLDDlll;wЭ[7k|Cl\\jժ///9ۦM9rΝÞ={Ю];|aPlff c`;v,Ν wwwmӧOÇw^yЮ];:uQM'>$o߾={|k׮!.._5 ˳͇'g&** GA||<7oV&ıc3gxll,d2r9 0zhl޼dǏ& +$_yMv^))|DFFb8q*M888Cd&00%KD˖-GiӦpppEA !B2u:trSN ;w J. D㻲bܹ36o KK@QR#T R͞=[X߾}qXXX`kky{8s3f VX͛wR7o {{{`ٲeŸqP֬Yɓ'KNN;Ο?r|Ν6lXɓ'1`x|̘1شiʵ7oބ;bccP(5k,YTV ^Bxx85kOx]_b8q*T*U4ewww<甏(ߣdɒ000@ll,֬YCgϞVGժU7oȑ#X~|˗-A'OƗ_~ &`Xr%իL߿={6:G%_xf̘ٳgq9rdgF !4&CCC,^z7oܹshѢp}$$$`زe r9r9ڵkSĈ#0vXڵ AAAqe`ذaX~=VX7nh#2|d… Qn]^{.RSS՞l*WEϟ?ߋϑH$pvvΝ;L' {EHHHGrPR%thҤI9  ((n¯W^_n]١k׮9r$Nj}]Ç9}:N,$$4zQ(I : 닓W^Çxuѣ,KnۓXR)۵knܸeʔT*T*e͚55P{Q^TJ===R)JUDSyfÆ |F' Q{vuGޣG6jԨD$(g^ʺuDA-[|1c044uIׯ_'qOvܹs422b^r=++d2~tV\CVu-=AۂߪE+V Ξ=Kf 4 kS QckkKj1v3gΈ_p&&&fٻwo>z􈁁y&Ǎ71tX.[;v`n5}lSn/<3'QQQvZ}vc7t H*?YvmeddK.111wΓ?iMdY(g?C-/aaad\dI_Ȉw" /(VVVVPvIӧO5֑?YLm6Oz!cf"N:5O[_ )t&MGe$sgoo 7x]~^+TVes6JhbbB #vTUVLMMYBTJR1۷o?ؤIE2lْܹs'>KN&Y\A$d{k׮]gXT)zyyYu9S\(<sLFUTa;v\ׯ׬YCCCC>>s̙3E/eM0I֢E +i޼yj)#FFvժU+bʹshnn5j*ce̳PڋS{-F*xRR(iii֭[3<<ʔ*t@ۛZ!**]v&ʶ}vΘ1C꣯˗/Vyub 1aJq׮] mk+TF&L`Ŋ?rJRd2mVl\\\ 6pܲeK+C -իG3338~jqAׯk|_JJJ>!! pڴi4h?+Vdɒ2|X5AKgggzxxP&ٙo޼aLL oq̙O.WqjOhk'ȝOIJJ <;wnݺ,]4MMM٬Y3~L2?qWǫ͒.]2}?ˋK]<+߿Ooo (&Sv^wq5{{+m(IMH %Hc #keQa,aR|FTD ,irGsVq:}bAk׮ Nqx IDAT6|}}͛f[o޼ANN^^^1ck$x߿+V@ǎѸqccǎHLLɓADի?//fff³gмysyKIIGWeHeԮ]eua``WJDY1@em_|a?ܙݝl{>UŏիW+ZdE t"6bllTdBDYTTfwwwvСC9K& eBє)S`ffh1$xt钢*7 "I\KOOgڵk}5[-[H\b͛C$uuu 6 ,@޽vfΜ)&Sego\-ϫ*FN@Dx"y> .@ {~ \.칩S969;(q%ř3gĮ1#j o fX_ P(Ö-[-T?ׯC$!%%Ľ B999vmۆ+W*Ht`޼ye=w={96gҦO8cܸqlׯvDTa塢* kF MM ņ'999h۶-444*֭[1~x 3f̀M6.][namj߾}bKf͚AOO 4z,ݻ̘1GU>`lܪmۂ0h p8$%%O>b]߾}qq5e>qrr)u&&##|>&L`‚ŋ 1@A/ԭ[۷el H$:6oެhQJАڵKLFJOJJÇ#sek.ϟH<#{{{ C&??hӦ (ӧٛ>}:9*EtEU-eE#펎}v?;wn߿x!@TBwذapttĎ;J{3i$iDGG:QKK @Q)$ 7ʵnBqŽX "hjjɩԁ1 ܭ> h޼9͒p8KH$BN?bʕhذ 1 #Gͮ 044D`` z-ёjJC:T;ƞVD\.zzz255ŦMT2{#G<==Ǻ\nڵ [.64HLI|YBLn e=5jHl_D~~> 6{Q9e|eQ/^@BBv " IVWꊪ[ʊ*Siz W1l `=ǃY?"BZ`ccӧݶmڷo^za߾}Rݺ7n |B} ;v Х\. C||HGDEE!$$v킓j׮HE >/v.++ K.ĉqI<666f ?;uG^Va2kioPVƗƍ OOO 6 leqKسgOtFFF066-RRRqF/b[n *ԔA?~Xݻ" >|*wQFHNNfӍ1fff(((tttp #DqY&+Ğq   ѤI%ퟑUUЧmmmo߿z;w.x<~*:uBΝe^5?ƢE鉺uAذa޷{i"Bf0zh,X *r{3rH9(NqcZ’%K2c~U'#F˅@ /l  7~xprշrIp8_코Q*ӧ+zBB5jHZFĉU)^PV-""eM6MQ%"(6m޽["25攛KΝz}РAHtyJJJ}ѵkרyMÇ(@~be1.22ڵkGV*(( +++Zh͜9ÃN:Ecƌ!"'ҁhժUtE211!3M82>(IΎtB;w&777p8Kϟ?'"8ѡgϒ]u^*uKyyyRijjR6mJ-ԔJC111Ɔծ]fΜIK,!SSSJMM͛7SnUpӋ/VZIdjjJwޥ!C… Z$%%ׯK^U#>>&MDG-Ϗ߿OtQDԩS'3gӛ7o(>>233?PejРM>z5kLjϟ?ѿѡ*(((ԭ[rwqqQ$iӦtyN~H .f͚ѵk$~ZZZd``@4d-[* R[D% <RH@4Ҙ7om޼Ԉٳgy椯/NZ=222hfRWW֭[6|ܹ3=^xA=zeff\  K-C#!!(##;V֖6nHGu%---'CCC244$---Zj BxԼys̤7oސݸqzDGG)11ONp$dTйsg?)55U;wΝ;畡"2 %JJJ۷թS>| /==$uyXd 9;;ݻȨgW d$ǧ4Ui* DDSW4D>}E۷F@*ƳgXH$ӧSV… ddd^DDHΝqƑ;%%%i^~MN0>F:D͛7'"">|8уHWW:t b ZjRjj*mذA%PHAAA4ydvKOO,--i4x`DtI"RD5zHCCH&KҌ>n8N/Fjբŋ~]N*6,...C#wRNN}wb%Ǩ?~L-ZP&MAr+ y?&NHÃQ+doѰaÈ͛Vj=lll(,,ԱcGڼy3(>|8|z CԹsgiW999eQ-[$K".Kqqqں!"rrr"Zx1ZReɝ_x<gFHHBBBp mzzz ATT"##puV2ܰIYc(-"СCq sRN<;w(b$֫|57noooX[["ptt?ѣTl]כKDl*4hHKKq`L4 |^ I&lY-T̉@Eh"Ś:u؆iۮS] fff>!C^7TD6mCVաU'1W  ..W H(yKcǎ *+,,]vH$‡k#(('N1bGDtٳgd dx:gE˓VR4oajjcǎ3.8& ߿ǯ͛iՁ,*TC; ?~dpggghiiB˃wEKKK:Tjl]G(u&M9Q&ڦMԩSG̛#>3f ~7={QQQ rbDDDax n޼ kkkԫWK}a|ˆD"K=z@ݺuv$2*uh۶-BBH֭ADMQFj*NĄu#vASSSb.]7hЀ5& Ă`} "4oFFFhݺ5kTbbbJmLϸ$n*3fǎ_AD8p 5jiӦsss?Pu!.>x\ݺuabbgϞIx"HbQ ͛1bl޼D#GVE5)SܹsEfVCGGeKg\~3G߾} t;wIJe˰}v"880774)/޽5H/_P:t͛7.E̟?b=zzz3gg;wB__M׼y cRrx5ȷ4lUüz*˗/W[+Tʒk׮}R ]bڵ8z(9OƳg@D|8=zCBSSZeRV*OT>}CXZZe˖Y괴42 oj׮WW۷orhQ+ر#Zn ''2ܻw7oDtt4D"]vmdRfeezzz[yj %FUf͚%AWB;w'N@PPҐǮmuVU&"H$_?1|phii{ N!҅tDEElX_&$$χMV4+y>?VhLu  ~zD^,_6tRJ>r455Ѳe=c'ooov_qRSSQ~}t 3gĪU)}iܹ2CSc(1߼y#Q1n`eݻw=z4ڶm J|aРA *, [y ,7n:4ܹ .D\\ڴi=z`ҤIHHH(xd@J888. Q*՟G IDAT+3DbmmmذK4K655%m&srr$(baya=zTѢɌ3```GAOOO2dO "hSL)uٕ4.\"sQPP޽{Ю]R]1cR]x|>;v,5Iq/W]MT5Hƚ5k0e,\Rb޽:u*tWUok׮STL? hժ['n</T=999غu+aii)woCyyy2uVt. -8{U8zgUX\]QKQu}ZtR : vZ;v :t'X6_{SExJ2SY^{uׯÃ|||*||n:t`Ƃ(x/w$>}̙3NNN,scƍWJ1@*#pPV-j FFFp8޽J^^]LE ŏR|<}"n *rI۾}{lڴ J!,ggg.(n8allFL6m.^Yfŋ$|v^UWTRFT]ʓ\5JL7|B6Dү),,ϫQ1o޼g1,1'C A:uaÆRߋ0~=)ڼy3x<Rڬ}Ff`Q?W!PO*OR-ZE`޼y~ \.Wlqԩr2m^TlͅrvZy_.s߽{mmm"d… YJE"㕹ɓ'{hӦ^'N 66"_|Ǐ h׮lll4YuEu.eDUiUg&L(=6~ fN8Q~}Zx18455ѢE pRFTUV&M2/_-ѫW/s~BY:uBe)֭zzz1"Ϗ3gBKK ;vlfff2ݽ{3gܹ+++R3Q#R5 rqưPAHuggg++2S>}!Xj׮ sssQY-[}}}>pU/8xĺي[O9OU, ajj~199Yhժ5k@;bXv-݋#Gٳ000E6s Tv=;*_0@䭻Uէ 9فuuuX[[)Spxzzb˗/Wt "lڴIѢ̆ 0d,[ /^Dnn.ЩS'"s+>xrQ|ѣGHOO+{ֶ8V3ҨQ#*jV'111IuV/_3f`n1@ą pX{Ep8{ >_f0ݻ(;oU!7oބ)$͚5 M4ZP(DNN h"}}}L|"*q֭[VVV%NC_dzc?m6$''nݺ֭[XY*ݥ nDgbʕ*DTٳyNTT455abbRfob޽Xx1V^զN }}}ʒ v)3a2OOOӣǏGnnn>|ubDԾ\E}puueDEGGC `l:GGG62Xe誌raӧOEzĂyƌ#Ҏvӧ\. SYD$<-- 7n{ ƬSr"ʫx޲FDYnڴ D3fQ8??:::ëWDXd EeΜ9y%hDEp)Ǝ[jׯ_N:hӦ dԴDT芪]HR>B!R21}t7* =};wŒ%K5k`ԨQڵk1p@p\p8vW^˗29(o߾>֭2;v ڵ+Ѹqc4440tRFDDؘmfff3""""+k >Yl\.Hԃyu׮e+L0zAMM Sm0 "bz)C~މ<~UѮq]պK1@*-5jT~:n߾ǃ'G ep8@iӦ?_/MѹsjIKKCӦMaccS{233%\ݗıcлwovKZzu8::/0../_GYI߾}QNe۷ 4!C]vJE1@*Hnn.A+R#x<L"qiӦaWKܾ}ReYacС+V(,,aff.]qqqٳge}CR f͚$(r߈P(VZU|%saa!~Gx<zYgԭ[9Lh۶kѧOqaaa'ҥK#Nl 4zQF͹o3dݥ qZ ʥZj)tm||<=*?77Wn ֭[%Җ'V޽CPn]b BWWD$mڴGDŽ @DbQe+++kNpc\xx8xb9VQvj ޽{CKK []t˼(p8R+˗/1a6`aas粊4|p K.[kK.#"Νc;l$%%){We$''k׆v-uP,,,Tgeq~=!|РA(E~RDDDťTW;\E!.ݥW)NLL 8֮][*?jTC򢈈0`S||<{MSSFEDD .$5jPzz:?hĉ_077۷ʕ+)88OH'듣#[.á={kiiVׯ$ܹsK. d455iK!!!DDt-j׮ B~:իWIOOm۶O~hΜ9@k׮%"CiE%PҢׯSff&ꊥqvvp۷/{rp8宓Qbcc)//O5MMMjӦM)77릦dffV)666ꪤ$zuU!CQ`` իWOze '+++jݺ5*׉B캼իWɓ4h j׮#77V^M Vȑ#ɉnݺE"rrrhɒ%ugggjذ!QIGq$ԩC>|8^/_fJNdd$ BҎ;޽{#zQ۶mOo߾ j֬|rJxpߟ Y---iӦLO<ÇҥKPNNNe 45pwA˖-+ouEA|>_Q ,|~7|>J/zy󆈈Ο?/zPhh(Hڰaر.]Dׯ_?V|ڵׯ_Ӎ7ʐ>ݻŅҷ֭[ڵk)((ԨAt9 '>OݻwX:{,zƍsv8K.O>‚222ؙ< #[[[=z4Ջ4iB3gΤ7oS ڻw/8p@n}2immM /vÇpں2iYP5%|=[k*-,CGGÇ/KKKvS[>}BÆ =-|ƥQ_ׯ/yNdlTnkkktСr2AF)S@MM -Brr2>Jxb?UI3*}ihg?#ׯZjA]]ׯB^^u===ܻwOe 4@֭~B899AOOQQQ0`fffnֿ>֭['?iMZ⇆޽{7n`„ nР֬Y=ɁOd'˕pZЩS'MUEy{o`ҤIغu+4TÌ]]]YҲeKxxx^zr?>Xp!vڅΝ;mTf*,|ggg|ܼySM4@$!>>gΜܹsahh___|Y?~9qc֭񁿿?t]ta B\|ƍaĉػwDw;;;ʥBX[[HHH7\.o.9T EbQaJ'++ :2ҢE t>|ׯakkCyE"Ϟ= "޽{UEm˖-ѻwo%+033ϟHiذ̣"m&&&D [.]b^&ߙ3g===uJׯ*UWTT} b*Tt Gi[@Dؽ{ʴw}'Avv6F-3gϞ~ #FÇ/_iӦVZ0ȡC`iiΔb0G / ,ȪOaggԄPcT1o߾&\]]ُhNJSaѮ];VԪU nnn2S|3m`` n޼*dAT04"صk6mڤ/^@]]]#QQQ?~<̐$s۳4{ TiKYtEetѷ@>-?F˖-abbaޞ9sFr0Bt]v[cƌa-2".B||<|||Gȑ#8~8P'NDaa!nܸ>}"^x1֭[͛7uOD+T꓄DEE),"1@e˖JF@ (Ô'O 55-:ϴ4KLAjJP$,, Cݺuq)~رc7e˖b#<<xDpssÇ`mm-Eܹ3lll+3ٳgadd$fdggcΝpsscϗ4KȢ+*jiy)0o/ 6|Cdd$|||0n8jժ}Ҏk׮I-;''G,]'f7Ĉ-,,DPPX'N~5 UL߾}QNŋK̫ "?fyxbQ,8qBoٳgFSW={Q__m۶>..._4nXL>}d]f LHLLɨ{3\r%ZDD444HtJÇ+\F]Q]-T̝;:::l͛A^jy+7oȥhhh`ĉr)Oƛ7op9\zχ#o`hhm6}D"$&&4"<<={%N>4 <~޹sro'bz~:8vQb^UmC{@ &ϟann}Kr!p|x۷/ӦMkCy ]]]z_kkk6M޽ADPSSÎ;XÂ|h"^^^Q7,e,2[FV???j˃=jժU"YjU˄*Š++qɓ'-eE$СC.8p =^m2SQSS9VlݺRSSiʔ)Իwo˼qݻӧOr+*ɡ/^m#99:uDwܡPڸqE۷ё#GhDDw߱i.^H={X7n ""z5SXXҶmۈ4 M6ѳgϪnFPQϟOyyyaÆj͛7͛YW) ON]v[zzz%;-,,$ggg&Hʅ 咎k׎=JGl@ .$"3f۷ǒ9BWϞ=K=\%j rS}A|zz:{,$ιSHHعsQ%N2v%v޽{ԿJKK;OعW^Q)>>^MhΜ9brrr:DrGTTR֭irGXXuڕ޼yCcǎ%###'CcڴiDD(Vy?Ґ!C(77n߾MJۮh , "+WP~(BaÆx%ܹw.Q^LL wڕ~G_YfԫW/'???[=ӮB[ //O"M۶m &m*DDDԾ}*Wyz*eggZnJJ q\ɡ:|0˗/iذaDTV9}4ٓH#"͛7DD$v2zh""3g;TClTui ߣG30}SNЩS'ԩSزe SL;w.233zj9h֬Ē./Ƽy#qR$~GYtEetѷ߯hQTfߗtuuhѢ*]xKKK{T 1g0uT @Ѳ7"B֭qyJXX\l,YD/̔_߾}#Gp8x^x"͛+,ܹsKuZ V֚ﳊScT1EPPN:ԴԼjTgLTVdggWȻe^ѣQ~}ܺuZ=$sHHx<<==*ݻAD8vX+*ADf ȿ0`$ YfIxy&g9m۶Ǐ?z-e B 8GS]Q]-իWmq"J ˽ abb QmkVX.~oݺ ߿Ù3gp} ܹd$%%Ӹ{.<==ahh>" A/_Ӱ!&M$ud镮,2[@UvZ^x!B!7nI&ɽly?@WWKٹs'8%| 6 -[nݺ3gNl{'z @PfAAbccf^?~2ӅbСV>85H5;;;p\p8hjj߿|5f0j(1/;2dϟ!C`ӦM%{iEep;w^PPK.IÇ$>>pBH]I__ڴiC-[$CCCx*]P]0̙3IOO233Uݻw/?СCnܸ!ٹſ.BܹCaaaL{&ss '%9qvv.&_~!###IZgݺu]]]B6"~zيH#F͛7iʔ)lKKK`233PBBDٳgsU$Q𵶳~z@WVdtʕ+T޽{ZHU'O>HDtyѡnݺiK,!G'OdIY%;;;:|idS^$b:sLM@d֭[rJ1cTH /9s͛7Ԇ^0^6333IOOϟ_ckÇdjjJJ[V攔Рe˖ɥ+W {_UA(Rqq1EDDK}͟?_*0Xqq1m߾4iBv""ݻwKLBJ?$11722'3E e;EJ:::5z(Q\\L'O&daazKJJRűuVն"~w'R΄B!|8q"}w7ࡪ?~<+Mg}F o&zkbOzIw[[[ڵD֦Si111~pmۖ믿ǣښT70dddDdnnN ÐH~~>iӆ[nL<BCC+mG]/~~~*iwܹWW5+CRե2"\\\?[wI?(CTuNȊP(={X,)oU^J' Ԯ];FdIO±?~<VNBYNѨ=L>7o^:V\I<m&w ::T5mٳ܉E7>>OFRWDӧO+MHDǏ' nu՞D"rvvfh>})s/^E)b:vH +WRFezD%۷)%M@d`޼ytiA$ѷ~K %Κ5444$Ɏ3455)..v);ܚM4a„jWƍ#Si^v-1 #WCߺuk1D%^LJ=@U>QUDMPsQQmݺ8@cN0 kVVmۖMSRE e;E2p >|8o^NX,&+++/uٳ @7ĉrYV[(ϟWjϟ'.jJuIdd$ю;gϞdff.p1 C;w:nԨQ-O˖-iӦ%Ą(00;V-O`ʆ HDԳgO6LMMie_xA<5̘1JiՕF+3Fuvؑ ~/..?zm&?? ܥ؆ Ӿ}{rsscƻQV.4l[{h8{*?޼yC&&&4w\#wwwE !aR"޽ҙOx2- 0 mڴInuVǞ#G:::n:6/,,DT P(WRYO<ڷo/7/cDrA[[ZZZlڃnݺImРpU%,Xh۶-0w\+=>sss/ IIIx.\(:lD0 {{{HLLTOkkkܹsGhh(p%%ƍ+~YIJJ4o޼u! ...077ǜ9s`XZZի>|8o߾5n6!G-0o< 6 8q"[qqq4i`eeOǏv%[[[@(y,ЦMo2/+lJDzP(!  D~ahjjVD͛7̙3ammֿC`` q… j* mm2ӓ0}ti'Of߼y000:Аͯk̞=VRY ԩSѫW/qqqNd{ӳME5j m$''Ϟ=ڵk1aO+n OOO5kȤ2p@w ֫W6mСC?qӧ`4mڴ:Ο?_n^bb"߿}J}NKKܾ}F+0LX"|~u( "hhhT~lذ| 닔 5VFm=acc7nR\\@lڴ ,#Ԇ~(ҥ qQiF"/77˖-C||<233MMM(yծ];ܹU>0\QXXXi"BRR\\\+U.66nnn2S=z쉃"??LTp5bǣX333ٙ5jD/^u6d222PYްa%ddd2W"oT❤2́ddd$"jܸ1JE-(( 'cPΉE/Ν;ǣaÆMJJ"Ҫ0Zh۶m :x`lEmwF]imdǎ0Lq^~MǏ={Pzz:?M&MRR1x`@.\˗S=ӓ,,,ص܃]hѢEGԽ{w#4j((>>JGQFݓW_U^PPikkә3gd+իRjbO @|>Ӊˋ$ܼGFF0O?Uފ}41 SfIooojܸqJO\1=*v̙2~Rn"##OpB>))lذ$ O*þ}hJH$"m6#>>%K(R~$$$0f~҉ۼyzj@uV233c7y5}t4i$OOOruu$/k? ]vuVi?޽{n`؄XV?z1NpѡCѣG>}*س{R7su/}ե~ј1ch4|JMMUZA81 C0 ۗJFgϖ{vS'tե Ȭ7""m+11M=8q"-Y'NаaÈرcrgΜ!>OG8~:eo߾7oNt-z ]xJ<'?7oސ'0L'zh]0kNݻw˥l #kkk֦lԫ&NHR7UӓzIڥKrww'XLn߾]S*ԭ.:pTJF͛իWWXVѶBNpT>;w Y{@#GCIOJp5PRЫW2' cƌa`277UuˢER:uPt1HMM˗WZBYNpT>tܙT5haa!mذspȓ۷Z|9ݸqVZEsΥ[nѐ!C۷dggKu_>XJ?}6|-EGGǏkW(RbbbT%D B P@@mٲE~x<2e =y._LM4!{{{***u`*#ZU9vrTƍdhhHVVV4o] ^U1p@Օk('>/uʲwF]imO>Yn~VVTܜ1cԉH @@ƍ#---Y4m4|1 }}}sph֬+?M6*JlzQu"44ttt*UI&ԱcG2)X,&ssj}  fϗaKx{{W)um:'>cEj޸q#FUQPS4jOkA7KDo>ڼy3wiΝ5~Q^J[nɓiϞ=rY"MݺuxzzիW9{RC ((((֫CUP ny޾2-..&GׯQ1:t(yzzVc=єEu6զscJ/*E6Jm;ESH#4|p)RzC444䙃:9RbPST^=:)??'r D$ЪU+vvt" IDATvrJhW7>>bV#:'N۷q*/,,ѱcJ˚TNv\Ejnڴ) XuO}Jܽ{pAhc8~8ݕ(5n?z~~~l<qy\/{ G޽{t|qq1 '''_ꔃ/Nŋ#??²DaÆ˗:ە&0 022RZ5NNN޽۷o/3ƠA9r$pm6}ɒ%XnlmmSpY޼y"Loذqqq?all,gucx BCC+,طo:t$uݻ#11yyy-s{111 ԩupp(s@$k׮ظq#0i$xܭx8r+ӵС믿b &&&8w,Xş6Ϟ=Î;pС2B!v؁3f`ܹu떒*+VZr"+K;o-[TDa̘1Xbbqe.\cLrNȑ#! qa6T3X|9u+++tZ愈ߏ}6|>ٻO7o_)))y&p7i*a||钫sܹsشizM75cʔ)?T~AA:u/=±cЩS'[NjCaa%k0A ~OMMٳ1zh^Zecljj%l\\nݺcǎ!((޽;v aTW|bVgQQ>}'O`ܹ3ϟ}}}l۶ >_lL2vB=Si[>ܹs1bĈj pӥt9455t;;;vٳgUr_U˨ܾ}Î;#|gTwQ?L 6$ww2]RΚ5444ʕ+lژ1cHSSRq!@+ۥK_}dmmM/^PR믿0`KL?>}V2UO?D~۷|WesR.+w1fjРђO:E|D 8e E;EӚq2c*]|455{"uѰaC@...RgI& 5dddDG:H]Ԕ( x4gΜ N1djݺu$n իG.]R@%RTTD椡Aҍ7… r$&&R׮]sLJΝ;GEEEUC$}}}ZtZONqƬ.e E;EӚQz֭[ZhAccciڵ|rzr|ٳҒ6nܨj)uXLaaa4k,/hժUC2Ŵ{n 8"hݺu7ߔ{3Zf ҬYhݺutZ ___4hQ{0*ulfͨcǎ]0e';;Њ+T Kd~2:{mnݺEwܩͥ|m֭)--Mfl;=z " E;EӚQ\\Lחrss);;:uDhɒ%R?O2E98GUINNuԉx<wΖMԥKrss#a($$D^z-\lllk׮%mmmק6mP˖-Аx<۷O>DF244duA>|0x<:z}%KK P fff%ٳ @effҎ;ݾ}[ jNmnzd\TTDH_$ںu+Qhh(YYYQfjtIݻ7_BNѨ=Ml۶Mj&rrr,H$SϞ=ᅲZT՞ۗ${N%Kǣ'OiݻlZll,ّH$""ӧO'G|>zElX,3gHU6drU>dggc̙РAr} @*АͯkL8QMMM8::_TToӦM &O#F]vJV*adӬ`lܸhԨM]]]̞=M4ej@I0ȳgԩSU>w2b @I|xC ;s~sp+W̙3XtDl nݚm6xyyIm۶i"--- ϋ "|A޽ѦMSV> HDDtuu+ѣGJa6l_}Uukhh(9i>DZtttP\\2SRR~zl۶ ...غu+٣dSƸ:^@vx ֮]!C`hҤ Ξ=k׮aȐ!5ֶrJ1c q 8s |||`dd EEERO#G! o߾E\\^z%QٳgHIIA%MLLЪU+\zMsww%UVaĉ ADxb;&'> vUgΝELL ǏDZcرcxDlvاQ֍ȑ#&v2c8̘1;vH?âEb6<Qpٳ% k׮I߿&LPZ?v܉&MJѿ 2=ܹs>|8㡭-#$$ʿGmDZcj|^)!!!28::裣ѻwo:tǏQ?D"ڷo]Ѽys,ZHزP{Q)}zydff͛x WouKKK~a' {{{|ܹsh׮?.ꫯ_l\ZJ!/_&Wax_QahRԫW Pa[ܚeٱ&[[[Mz,W^H!ǧݻ%ʏ7FR/]0[L{h8{!/bO<<};wQ86l777=zK.e^x^ Q\\ToSy...!!!SY2|pL6 &L͛ktedd 88Eݱ`t QQQrThbbb N-[Vx|tttK; 6,7߯-ZH Ypx׏p(AJPG@իWo*<<̤K7J/\FԩS1g`ԩhԨƍ,Jeǎ4i0궵D^r?۷znM/ ͺ uwZZZ>ΫDUvs0LX"|~uԖ~`iiY5uG]=~X/J-" x<bcc1ٳ'<2=,)((*ť([,'t)Ν;;vqpTW^ׯE}Rj)6Futڽ{7|v UKU'ϟ'ah֭ׯ'G'N ""///سI O?TeM999lْ " ӓxϡ3ft҅M~:Mu֩JG(]g|i899AGGG-$q#''V˥V\YCDHHH@BBpvvV1"RbFnn. "߭/_D^^ZlƲŘ9s&|}}ѯ_jl|||еkW̟?ױh"@v___;!!!”)SP~j-:|0֯_'SN033Crr26mڄ̘1CqWN!ٵnBϞ=ƒ%K sNUáCsV CBCC"lSH$¥Kp]lذuRJ~l24k "B__Z`HOOGpp0&Oݻ(,,-B!rrrUVg͚I&aÆǏq)vS;<<<ХKC||<VVVHKKóg  waƍXx1۷DԄF][[Upa7d{a'{֭[?дiS011r[ZBÆ `}m~-~GQV G{f'xxx5j ie@Dy&ZjUk60|U(;woe;wF߾}U'OCbP(Ľ{c\zϟGnn.0 0}ta߿+V@֭a``=zãG`gg;;;`Ϥtb8q'Oā/Uf޼v/_+֮]ݻw#??FFFhܸ1{nD;vɓ'?}ڵ+RSS SSS$%%~2dadd{{{۷6l`s㡸?>,X6m7.ФIƪ177ɓ'X[[iҤIǏggjպuk:u ޽Ë/+iӦUxlJ p(ihݺT?~\%myFFFطoFͦ BXYY ؄Jn[z!ԩ"""-BiV(nǫW0l0ǣ]v8~8ƌ{k֬#T-S!77022!%%HMMEqq1Q~2\}x Yfѣ>|'NWWW ۷/t?[XX(\p_>:t耗/_"99GEAAѴiS<{ >Dvv6pQÇǃ5`ffo?tuu###`ggWBx<rYt-X`y<b16m^z]tA׮]eppo@8N``.5z "3999駟<@RpGGG%+ucee˖ʕ+СN8vaϞ=:u*V\cL-tm@,077Ǔ'OcB("%%|>5ÇS#::7nWÇɓrիB,###O>e]` Crr2.\===bpuu"===xyyK*oϞ=:::سgLP$.Ǟ={0f̘rׇDUUɩ|HqS$&&"''8<Ñ`ڢ_~cߤ ڵr!? ݻpppKͺQQQ믿aJFXX4442 }ƌy&ܹǏmڴA^0}t+uKEb\~_|*XZZUV4i]v+WǏѠA4k ALL > UVhܸ1v gggaYiBhiiU+\UHKKcqQ 6 k׮tuu^maXYY ;vd?s%jΞ=cǎx-b1^z.EDZcT҇7s //nhhRA%<4h!!!JQ^m98>%_Aa:u*6m{{{6maÆ!!!ڰ-!CĉJK>X,Faa!`gg?"mڴ&v 333̙3Ӄ>7o,e̘1Җ,%70x`[#V9G <ȑ#E~~>Fx%RSSѩS'888=Yݻw_]-}ł P\\w?(s/ȧG~ lٲ˖-4p"p:ɓs>c_Kz(C->>>0aҵrpp= `hh8dgg͛7HHH{ MMM{pkx_/Habb,hhh&&&􄓓իT` ðP]vD&MдiSdee!-- .Xjhh>\6~ ѽ{w 4Xf .]ʂC(quڳgOt|>fex]~N8e˖!22"Æ x!_  àAT0~x\+W@ }mjj @[zeAc\]M/9T a͚5={6hʥkKb C '''ddd޽C^^455  ;;͚5CDD\P={|r_x]QȀ 7oСCXb!ѳgOٳG?999HNN˗/ 11111{.233}/^I߀} Pܹs?֖7M@8UzfnnnqYt>>>3g@zeA4^@=5s([b֭Fnn. бcGÇv^| 駟WWWX[[VVVԔaÆD"ר_>diӦPPb5k~߰aCKggg5  V HLԫWBWb/^Ǐ'N޽{ex<4hwwwCǎѵkj8s Ν; 6 00t( nRD"97n@(I&0`kK ػw/```!C}*RxJ騒Kaҥ011Ǐaeep#++ fffjnM/ɧhܹOOOcǎ{_333899Xh=zgϞɓ044D۶mѲeKۗDkСh۶-(鱱l޽{rJb6СCx%b1rrr]:6tPD"(((wFFШQ#X[[Wy"G"c0x`޽="C׮]ƦAAAXbEs6988"m읢]rݺuH0h޼9:wPqŋHOOGJJ bccq}Û7oܢ&D"b1Y 6%LMMQ^=XZZM4QV9o߾qIO>򂧧'\]]Y ݟ 9r9r$ s0~ȃ+ujРpU%V&LΝ;U-ʨ^@4^@=5+f}a͛7G||<}}}xyyյܽ "0n87%akk [[[iyEEEHOOc<|/_fz=ѠA|B~iiig}Vny'N˗_q̞=["B|@@6l ==ܤWNp>\\\zj(**Pz~C`L R< AZYY5{7iҤ2ӍPTTwAWWܸqc&&&HOOqxb,^zۇѣG+/ ]]]ޞ]~GD8{,mu`ѢEXhyNNNصkW;wkR-,,@Ot^@D>dDTӱ,WIcHHTȑ#%6zٳg3c(իW-(s?3BڵkDŽ ~p~Tuw>_ĂaXYYuְ&y &`Ϟ=HMMe?.FLNNFF0|,]T}8qD'ꂺOK"m읢)yI(E[[ܼR*\V~}XYY_TT'OTFӦM[n~ZZ222Q|())IvMހȀX,Fv퐚7Ex"fΜ-Z ""-{A5 &Mœ9sI&A$NBZFQ7iV7ziVPSHMMUT-Cm 'O" Çav(;|p 88]gb(妭{!((T-J^@=5+dשּׂammj<T6Jky"..hڴiV7 BAAe@ƍbUGYBӁ{RC4h TZNOOZR"pa 6EqppppȃO /hm#,,|cĈU>nzk~޽`5un!wjL̝;@OxxyyaÆ*VV=jXz5.^X @zho.3ٳgJ3f]vNOnH-"_s˸wZljiucǎaԩȀ.0n8Ȳe*,wet`ddH8::(?p@vboFTe˖x%/ѣGŋ[li*QglEb" ~ 4n,]&'w]]U+`pW$`K7 ˃޽10}:`f^ϥK@߾KΝ?z$N#eu$5o@GWeḾA$ӄB`f3`@È^-yLJ ?@&SŒcTIceoe_?Ͷq|YWP`P8 Ԥ &jڴ)Z#)""|>׏?Ŵh"ԤauRqq1H$""bJJJ"cccѣeee988Ж-[(((ښnJ'N$G7SNQI ---@FFF|>! ׯ꒓-]fϞM91FMsΥOncPjo+̈t+WLLڴ))A-Y%""KK=KW%EG}-Q@Q~>>ԭ[7222"FmERGcѦM$4o^r3J.O6$j?5ƭcG:O'Z-[,&25%_66-'-u{,,ڵ+&q㒱>-`ӧ<=N&>S)޼yCHKK5k&46 EkR999JdaaAK.;wTZ_˖-АO?Q.]y{{yLff&yxx&ر]6lj۶- &۷I,H$?͕uer|SDzR6kFԡdZVF2cc?MDV$H$M. koTZ* JkZJlE[-K,EbI$$ 1 #$&Όz͋9ss9ss-_32r˗?I;uJyc,㕿d>=b"嶢}rJLَ@ª\7Q[w=|Xv Q&Dk;V-1c(ߛDَcmHM}C<һƫWo)9{ WMDAA%))f͚EG!4c @jMVVMƬP(T[.]pyDž?R 9;;kF($$䅷}E*:HؿĄQ^д)Qj|oL嶟> "/ S-ѓ%KlI4w)Z ^{I 70P^T)+||oձr}˕Sڵ{_+JbAVy}<{mJk@M+}*k3h1:Aaa!5oޜիW($$ʕ+Q+-_PVvԠAڹs'Hm۶U]7 ϟ'gff5M6Mcei:|09TתL8ʯ^$ 5핿4>W'OSn+OQQ:"Ղ@; wOLT>o}%~'ied/^xjWַ @6n, ZM*dE믿&F/D?(UZI[W_}ZjȑrJAm(ׯ۷oS\\;w̙CԤI iرѸ### T\\L޽{… )==]i"ՙQFUy6+;HqCy9azzQ`eXij^U_>sN)uKYOd{OQDʿ+j)_U+C> |Y^>}mNDӧ+`^jroyɯU6.B@^0{l_zbڵ wъxˢP(`aaCCjpp0NCaҤI|2뇇_~/#FIIIajjTL4 GV۞9xbժQ%O?P=jLm۶ عs'ׯ)۱( ###;)))pttΝ;Vn{)r//tQ<=ݻ+WIL^-d5w1*LO m[ SԱ7jBK(O#VpoƲ_/ʕZɩ"@V}{N%JV,Rn}\U}K%6c5%J(&& 4i4ѣGڵK+}Zzz:ƍaÆHNNFhh(&M۷?@ ௿qxyy{X`~4}7<<ׯ_NJ+0tP|ҷcA{a۶m(,,DLL mۆŋ[n޽;-/ _Nƪ߅_?eΝyoW.ٻwn05U\nZʃ_~nޔWj@FFGʻxgfVەq,]!__ !رQ_rkWYmm-%a#g3 L̙SYYYE۶mQK:u }aС cԨQ7778q{25ܹ3Ti999h֬Æ úuеkW/FFFpBeb5W2&PV-kXt)0w\IHU۱!((Hwqq1~w'N8v[ڰAyxGYY\[uk`jiS@vr=D`'y;wV6n&M`ߕv|׮7}X2]S+ePY38| Q;^=i]CT}ۚ IMU~>ej ^ m[洴ϵoQ瀱ռ L>)u֍J;vƎKM6 b$KKKwFZPPP@99.\SxX4lo{+G)JrB`kkǏUn݂7ܹsssh)ǔ  GGG|Ԟ{ 5II؆OKnR泱*B {PT|+>}]o _4.33yݱ{nXYYRG7֭[mN<_~%ڴiƬYN:򹹹ڵkիRSSb UzycmPVCxx8^umaaaȑ#E~ffi͛W| mSN]iݚFp"j!"YΝ$&&"990f̘Jo'##ХKկ;wĥKpy7'Oƚ5k'NDӦM1c 6~W==_5oߎ ǜ9s0p@Յмys6 ܾ}s_S} ʋ i mGΝQ^=Ca1^XŴy^BPSb۶m{L'"{Qbbb nݺ^}!{{{޽; GGG233#_ٳߟA-[_|AA oooJMMM6QZҒyڳgO{+;wnJ]V$&*kiWW\! .ym+cg*XZLLLСC9sCEq]:u BtwEzzjzӼ~ܸ IDATqXd #44AAAw?~ GGGBlذgϞŏ?\|hܸ1,X:2j(X&&&e֡dUԔXFFbcc1k,ԩSүӵy/=1Ġm۶[.~ma1^_ŴҰ0lٲ͚5Õ+WCCC9rٳg`Cmg2dt颖~M?еk*ŗx#""qF <ofPcȑ8q_.۽'^pΪx7QTTK.X61XeDyPɓ'cݺuh֬n߾ WWWDEE^}U$%%ѣG^5kرcѣo>`ӦMx7}W^oVu+..F֭+Wbܸq5^fyrss닂վeD@@._={Ec1]Srrrccɒ%z*:bڵ=z nݺ(((@ll,LLLPTT,pvv3 88fff;#`L0W۷ѦMxyyaʂEرcƞ={0`]nY?Ѫew+KΘCƍ8t/^\15 K̙3h֬<==ѥK̟?2dbbb0fiACkZW^yر#<<y(..Ƨ~e˖a…h߾}^kgKt-^@gΜ +++=Z8c1M)XZLicƌp]j WwU"??ðBvj]va#Gjy!Fp,]TeBݺuw?~n~cL\QQ5jXX[[KrT &dffbĉضmww+<?###8pq0wo߾rci@^bD'''o;y˗/c˖-/c 6`ٲeRg%$$rci@{VcĉX|bq]|7xbccADE7<>}HOll, 4SNEvd9t˽{`mm-Ќ1XMؚ5k`bbtddd`֭,^˗/w}/j\%&&"$$вeK899aɒ%x}]MKDall8aԨQ|-]7悂i1Ƙ>3 zE^^ڶm۷o3f@vv6.]?}˝0aƷYnnnBVVFY359sp޿եklcc;w ''ܛ2cπ&M:uꄥKb7oV\Kor+:Pqyj FBBB^x?#̙cեkܯ_?"22Rc=fii شi>CX;v@JJ &M$ɊWR+N:XbF#̘1^n{!00'Nɓ_h|qqq1_Ca14`CEprr- )) nnn_>ebΜ9HJJB^^ ^x ʂ5ڶm8ԩSTCP`ǎzYǐ!C wH1Ƙ=}iӦ:u*wza.iy%&No񰷷+ݷo}cƌATTbccQnJxw؁;GpttĸqZ*߭[`oo/ٽ=եkoß)k,1Ƙ&D:t֭[c=z4|Iؾ}$<+??U~]y>~›oJBZZ=zWՊեkvj׮-k,1Ƙ&Dx{{ᅬC!;;|ammwyHII;\+((@qqƶwYOִiSnw]ر˗/GFFa/O>x7СC$$$ ((Hc1 –-[͛7ѫW/?ӧO?SLt6l[4GnݺPYYYjhܸ1\QFx뭷0aرC#C^^VZݻ#<<[G1@{{{|WjJRV0}t$&&ʕ+7oBBBd#֜`<~aaaODh׮~2۷oz:fffPj րЫW/fϞTK6SNꫯ0h \*1exu@TTTwz*t邌2/_Ƨ~ 333\sM={6fϞUEzp <7orr2?VhDEEܹs1b/HBBն7g|7ƱcЭ[V)rеxyb c1H虴4cL">>rcU Z.-- iiirr<`1xc1 _c1 @c1cc1cL2<a1cI%._(dggo߾hԨQ222yf\zh۶-\67oތ۷oE9r$֭+iو@LL 5kǦMsss <:t۷CPW_ň#T7GaϞ=8~8rss a8{,1`OJYp9<|={?ƁpܻwM6Ő!CФI2wulܸnBӦM1rHI/( ʕ+0117|Mbߖj:^c҈deeE $"߿̼# SуHر#eggݻw/SFW^daaA7ׯKsbb"(ԤIrss####233M6_1M(jM6dddDݻw-Z(dɒ<ׯ'CCCrvv={RڵW^wJGY (@dnnN=zP#___244]; @gϮخ^JjujynݺEfff$"5nܘؘiŊ9կ_zEVVVT^=$^"cǎ/iӆA OOOwd2cUi`  dooO骴+W `UZVVڒQrr2Y[[S߾}%9!!LBIIIdj޼9RFFd1?:uDt Uz^^]pA-'|Bt1UéVZr-211PQQ]piԨQP}R:u:wﯿDQ}&L@(?Sc]~ƍGk׮˗y@J'NT{?SSSӓ(99YG=uIx^}Uk׮ҶmF _|!Y1XUDܹ܃,{=244Ç֭[G(wڴi$"ݸqC˳vZEe(<<A7V֭K RKOII!Qiԩ<'QŋjG&ccRgI вe*׸qc֭ZBڵk_!>|A(,v"QiÆ 0vء788DQI544R閖4`Ye1*/B_>RRRSSSQTTWWWUڟ QѵkW~~~ "8qBcll 022RIsXXj׮ !! T/޽ZzF*پ?Qn]xxx!??gΜ$AE 6 HLLDffZk׮!55=zPKm< RmURmBWKãGJ/c1V :ѣG1uT?~ D˖-%%%~]띜Ti͚5TlHstt4Zl;wAdzI/ʍd}OPԯ_nnn$>cUY&&&ի*-)) &&&U+kѢE{bРAptt'|u2c%x, ˫Tg+#((/h"#~7X[[eeeܼ-,,TK󳂃qq\R-ƪAP ##K,U鉣Gbڴi4hN>Vny=/.M*sŢP(3gbѢEh߾=N:)Sݏ(((@Z\Wݻ`ԫWOmUS뇅 O>U 4Ν;aoou2c% 011yqqqUヒsG\\N> OOOt'OT344DQQQח>wtOۼy3OW{*1?:uEyyyXt) OOOL<}o,)*K^dԴ}9o<{ĸq0{l!""ڳg&NÇcԩji{駟O>޽;8u2c%G\]]aÆJmܸq}%_3f T;v@ӦM1c ;v `cc6޽z^ѣGcXlYS[[[ܸq~~~jCtt4tݻWflťI666P\J/Ѫʫ%A`+ B@@֯__y٣믿޾ԁ/[jKKKt {Eaa*OTT^*~ș3gm"<}h֬"wh۷CPW_ň#`ff&wX/g?~pvv?1{DsbZ9RRRSSSQTTWWW"9####y0Ԯ]AAAABB aUڟuC-8sL0aÆ!77̔;,d-#kϕ>{=zSN@l~iܚ5k`ii]sEGGe˖ akkܹsG+)) NNNҝ@DHJJ>( #BCCQ~}~~~{h&sbWyyyWv*o;((/h"#~7X[[Wy{UUu{Vpp0?+WWUUB@FF,YUVGŴi0h >}&}aYYY+naaz^) c̙XhڷoSNaʔ)Gtt4DaE033۵ϕ>瀱>\]]aÆJmܸq}%_3f T;v@ӦM1c ;vJ۬1zh I/ IDAT >˖-v^Dujkk7nO޽{c޼yF.]4޽{޽z^@ !::rX>3a+irt@\z0bĈvBBAZp…)DM֭ā0tP 4֭Ѳ*Rzxx ** PdJ_E~~څAgoၣG^>RԫWcƌmp…)y}rG1]_bvvv "\xQ- _LiѣG1d [nչ9 "DFF9ŕׯg_Zyt}aL&>rG1]g@ԪU @D͛7!"Ǝ 񁋋 /^ {{{ Gjj*>#kQʕ+4h ѫW/]Vm;w.,y7ɓ'^^^8z(.\;jJ^;w.>#ԩS...XbΜ9+W^[n>}:,,,TxΚ5 ߿!2RݷD+G?} _v¤PrqݳZjKNN屴Un.3Ocҥ2֠nݺE={$QUׯݹsG*ڵkԱcGU&&&4k,zaMңGyܡ11RhC^} QL D<)LNN94i+ʴCjj*ࠓS㒓P(Z~R!55 6DF1YHMrG1mc1Ƙdt\c1ƘNc1cL2<a1cI 1c11c1&0c1$c1Ƙd ƍ̔; Ƙa0-3*_a-t l999rAV.aU $hL 44-[|mZ ƍPdC_oݸ^҈ǰaÐ \}y:jREG.]0x`رǏǜ9s0qDUcǎW^󑐐Pmk֬<^}]D_oݸ^E2&۷'}QL~m"""7nŋP((((XYY!>>HJJB`` &L$I3fIE_oݸ^E aO1~xҥKjyq/Dtt㐺}y:ʱO2-F"##IZls,ZH-ƍ$M6;wйs^8fMlCkn\/iT/cգP(LJDQ$ sssѣ*Odd$թSԩCԤI244~ReT{F-I먩cH~k@ ,, (bذaacc[[[UT͛kƱc$Y_Wz[7že٩>} @ӧaoob? 燦Mj$۷'}iSeڋ`UAtt4 vvvCJJ nݺ "VP //W^#tSL{;v 7|:xCCCՁSp-|G ?,3U@@P ==3gĢEpyX7Q\\ ⧟~B^^K,dee>cL={v*11E|vi+nxR("//{OOO7gF\\"""`ii`?[ɓѿFFFƼvZI˓ ߺq.e/ m;;%uu$ccc[&Wb\*H՗kժH˗/WK !Qi޽DD?(F}׏LLLՕ[ϰl{2g@ DH#G@ w!??^ GcL{uvJz}GE*4y?חlllh˖-tڸq#YYY'O?Dk֬N*REvȑ#1l0A/6nQTPJOOܹsQTTٳW_:cp_tRDFFUg.*Mu={RRR|>++)&&mM25`ކ6zoݸ^ҨjQ}m:.uuDyUW* >RM 6DÆ }FT &Bz[7vҕeMgnr|RMi/H (iΝS91*T4l5*|vv6 ZhQ{p;aUQR>>ci!>;t_V^1c1&蹪߭K^֍Ř}y:rŴ@֭[Fk׋1#uu>i#] ŁUV^c1Ƙdxc1 @c1c=z!}uz1{nr|G1m=kBz[7cG-I}F &c n'*0M3;]DDسg?\8;;jӱuV\|fffƀ`aa!S1e1*> 5%6n܈=zTo1bꊇbɒ%_1x`kcܗ1@Fll,"""ЧO@aa!bbbTyݻcͰJɓ'ѥK*pYDDD ??fff055Y5P'[/]uzi]˘SNaǎ((()ڷotÇk.޽{pvvȑ#1dk׮AGUeee!<<3g΄ &cLsc1VZ(|rEK'O$AnݺCUBrqq&M<͛7'dccC~!T\\\k?~L'O oAW]BO>Ν;W^ƍ ]vF+_ejK՗1sYUp{awB~~~j{!::ZM6jk{yj8;;cϞ=1cLMM:ɓccct7%Ґ~O>hԨ{$&&b޼yhݺ5~w 8TǏڵkҢ0p@dffϚ5 ji?3c~SLQK{%n݊ѣG-((jW#qJu֋z<~L2EJ}]϶I}+O2<*E.R "DFF9r UV044D>}G#22,'JVaݺutZhKPH]/)kݸ^C2&۷'}.QLEUnݺa鰰P]9k,xxx_~ >>> 7|###? s-jވ#3f?ƺub tYcLكǏ#77Ztlݺ/_1`isI/{.yOL߿?H (ԣGyZ{*9͟?ReөγgRv5n߾-wHRez (@dnnN=zPNuԡڵkӫJM4!ڵks̕+WtER(5 WUڋ>Tӭ[ٳRn"Ǐ+mM@_x/V^Mu%+++Z|96^5E_FUXۗԩCT.]ڵkS>}(33SR{Ye266VLMMՕzAÇ/yL],*>h!M@ 4###}]@[Ҧzi֍% }:2$A{p`` YZZUNeIYNJhte:y$m۶-ZD| [ԦM@{$uX^eۋT>h!M@\~]iӧɉAVmkݸ^n4iн{ǔ@jyJV(>|8Sbb"WgɣGhΝ}=۷/H/pUll,ǏW:.9>ORU_2ǫ`9GGGCPիWڵkhժ<==m&kݸ^=_tt4 vvvCJJ !!?6lW^y666o\fff&-Z`ӦM(..޾ѡC9s7UY._ pqqt,r|.S˓2&|,Zػw/V^gϢyrcZCP ==3gĢEpyX7Q\\ BXlrssq1:u }Ō3?V7oIIIصkڷo#F]vj7ܻw/:t###={{~/_ sssԯ_;$/araR-HE0aݽ{W[lZjE(x;$$DQ{ɓ'I[.=|P\\\I&-XYY+]zUɓ'Chڴi$j=رcۻl"Ueπ`NJJ믿}aÆp~X[[WM׺q{>[[[{}N6 [n-p,**Js ]:~u1xbu|釪ty|^^:Jeh1BQ/ .TGʑNOkצ={|mx!tX1]F@YfD"ǣ8Zt|o.] ՟uX1] FxxxVxHH8C͡nݺ!** 2yyy Cڵabb=Fi2 ϟ?GŊ'ķM1;~ڋ0"ƒpE\x.\@bb"5k֠^zB`0Z1o<CӦMѣG `ٲeի4ÇNJ+VJK20&77nݒw8ÑD͛}Eǎv*y!͛'r~5 ^^^ "pl߾ɧZl}aҤIpttRJXlN*O ,, cƌ3g3čX◡^XD䤦'|)ˇpUyȀ>ڴi'Ch۶-TbK<4jcǓ'OtR*Y!,fff8v^xgϞyxxɓ'ANN7n\#UR611mХK`̙jWV)v{ ͅ!rƎp7oѣ3gڶm t ?3`\t iii8<-[nݺӥmUӥz^zٳgaÆ8x VZÇ C/oH$ڢyjVܹ3f̘Ĩ^Yۦ \YhQ|*|2صkWKE ')v{ B&\\\^z~zR I$8:uDO<)P6'':De˖Q͚5G[K!~rss),,ԩCjժ4zh:|0}L*?e ͅŋI"ТEnas@۷x%.\5k;n߾-_6##}&egg+V(5`,8rRSSaii}o߾pvv2e x vWhw : J HG^Ǐ###sApp0<<<|-JGܿC6mpjJH G޿` OOBeM[8OOBωҔ OOO2LW#%%[nEF`jj!C;w.Μ9ƍcpttw>T#44/*1.8p[nEڵv`h>e̚5$ 8MҥKKommM[.Վ*իWDĪHĮ+))֭[G...9:t?~̛?rCsQ>Sݻd``@SLQyoha6 "8ЬYb&$$ )) W>}:Bj8| QbEx.\YfnݺBZme aPΝ; `͚5j )v{ B6\\\̌vE=۷ ۓL&PnK.˗~zꑞEDDj`h64{l@*UҮ]H* \\q9u5oޜP޽yc˗/% f)1j(xyyq\\\}vH$իW;v,H^6mB۶m`۷ocx!V^SPh2ܹsqY899!<<ڵ- ",YDh7"u@ ǎË/3R~VZT*œ'O KKKԪUK@ FydXf ϟ&M 22M6ڭ2r<~ BƍqA[d3C,_'N `s@ʈ9 ܰ?vvvhժ7/W bW6JJJBNYfڵk·6'1NIIY`cc0lڴ wE>}zۦ6۷o|}}1qDz`  V]xi."Ž;`ooDbʕחF] |5OÇ0azۦػqF!CCpý ** ZBdd$Zl); Wɻw0~xݻ#F@@@vTX`(2qm۶:u*ϟ/O!>={GGGԮ]ayR(ݻwc޽ؽ{7 $; "‘#Gpdee^zpww-ѣGG\\R),,,'''dgg{.77{Œ%KaÆaٲeW^14 xzzBGG*"|/C{a(U\]]!JѳgO\r066s[n&&&HJJ @m}ر#\]]Ѻuk+W">>ݻwΝ;/_yyy9r$pҥ23~ 0 FX[[Qzua|M :Fn|s玼̺u`kk Ǐ1ydl߾}E5m4 .!*Uׯ_سgx|%|}}qA:t IKeh/l3f.īMt}) mlΟ?SNaٲe/o[#Ю];7ׇoV؞=7oƍXt)Fc޽P0zۦ&{5 ~ +Wgl 텍] Z.@ڴMW^jDt14@" YYYHJJBqlllVZUVB\ObXӧOcž={0p2*~9C V]xi.kkR; ڨܾ}uA`` j֬o5jԀ>}Zlnn.>cƌA1dw| q=]cq2331sLt M6ݻw4/~ a0bhРAC}/_… f8::"""pww۷!|0##}oggg+V@GGGH -͛B||<~L>]W/CQ`"# *H$#1~xcXh߿`yYcccHR|ΝCJЦMDFF d2Xmڴ"##*|,~: "'<<\hԂXuզK[Fu14g ҥKtTիǏaŊJۍ'RSS 3fL]؇Y: *rr:Tӧ=m4lݺU!~~~عsu _7om2C|?zxb Q"lD  066qJU_]YCtԩSy #44/*1 j*`ܹB`г EvJCӦM+TAԾ}RrurUxi ?P9MӥH+14E3|ǷדX42:v{l4a# J"BXXX;|6oh۶-=\y(ÃW' īMuY[[ѣGEF]ژw| q=EcժU[1BQDDN":t(QDDR͚5۷P/ IIInC."jf]=YXXȯ4]>rCsQ4No!'h:ua6$w}///4lGF-pqH$ή]?'ФIo u=īMuϟ?˗ V]ږ %j5Ŧ왚99!n&Jbffcǎŋx͋dgܸqBll, `cc# Ckػw/ڵk';%Ҹ,1߿Gnn.[-#077/>5kƓG C]H$ 0ڵk#ɓ'1i$\`SSST*t`h*ye/ bW8p ={V1,M#xzzݝ}`[I,; _> 99>| V]xi!uc޼yŭ[glڴI0zȗ{h{eHh'BV-[ ̘1Drraׯ_cܹ;w.*VC!Xd|78qwҶY0T a0  ʕ+pMtÇw},^+V'!-qmԩSY&[ԨQnnnx) !!PnB֭+?055-e( `h(/^tttp2w?~ WWWܹsU=eSJ;cǎEbb"}v>P5hvvv>}:`ggkU3xx-^| b͚5pttDDD۷oʕ+odd䰅 BLMMq=e( 9[n V]'m)))ܹ3233++2WWW#44*Vqnݺ?>puܸq鈋þ}~aÆ#HGc񰷷ɓh"ܿۡL&+T?X~u+DƪUzO} ͅu@غuk@NNlRl'OsTTBƍpwwGjj*BBBP^2N:AGGT!Ϭ4]Z!O^6沯RK. "ܾ}fffP6_ҏEEEӳ;VXQXrr2<==@@ <==^xPPƌSȏ˗СC>}N6Зt#$$D:\/sts{QB/CvB[D֭0.^'''Դ2DaÆ!00D;QQQhժ"##E7qQ:gΜA׮]qtСLm<}... "N:x=㑐<{ yyyH$8N666=zjE2Ԇ"\PٳgcAFݻ;;;,Y3f̀&O 6߰aCԪUԉ>#Nmۆc";;[0)/|/Cac\Jq9wwW266Fnnnz7n̙31b^dh/vBÆ Ѿ}29\]]vaРA/KZʕaee@./_Ąu@/_*T2 | qh޼9Ѷm[=z֭?x?^(cjj f|te(( %.oߗyرcx,-- Gammjժ>QFرc`Gnn.O*!e1o<'iӦѣ`ѣFEט0ajԨI& !+% aP^nܸA)&&MǑBFb_/#ݻw -cǎ$H{dɒR_Q6RSSgϞ$H8H$Zh-[ I$H$dcc}g |+WbԨQ8^^^d2ܹhܸ1>O>w| F]RǏט/wUҞ?3@}q xMX888`޽Jrk%Gf׭yBL9CӦM t@Ta/++K: ͅUN^~MbŊ/tѣݻ7~wL8Q6$_'۶møq̍G w^ 0@P_Frrr0`9rUV-ԩS'[\\}FL6 ϟ/ )2 ;wFXX``333Eim6`Ȑ!e5ɿDk3ynȔ IDAT@ժU u>бvZ{J!L#Fĉػw/zÇÇz*N8c֬Y:Fhhh!\`0ԏ-␝]3gUA&M"DB))) 6LϟD"͛7 =~j׮M}ڕ'D"}~ysCsary@nkʕ͛ⅡRH9IKKaaa!4@ 2;jb+8x`~$&&cǎP֯_ҶJ]ǏǦM*kW4=1V>>ePN޽[0D{-ŋycGXXXU?3@uvލ$9sF9CsCn ǎ;`gg-ZYfH$x1x?3LLLeO]޽{ew];v͛uP ֭ʕ+4AEm֬d22?dD"m&$$zzz UKQ:Fn202 &M‹/m6*c`` ^r%.*L۶m|r::: {)zza߾}`0T (5j$ 3w\d2VZ~V% ر#&_3_lrssUdi\`d޽>\-ZHJJT*5ׯ *&L@ՅvX,X<,\رcׯ_b4!88UT[`h ̓3Ξ=6 m/Q>d2/^=zM6Cѻwo5 ۷VZ".H l2\p/^@fͰm۶"x6l3>QQQX`U CXu]")xD" sssNrޭ[PbE䗼{D"ӧO1rH8q)))x-RSS+,\033+զ2 ;vP&/C!I(22medd#CڵkG>|JԸqcjܸ1IR^|ͥΝ;S5ejC*u%$$P*UhȐ!p^zQݺu)33S?7n C Ջ&G -ZnMÇ/Ltt4Xf̘1ࠐMm{OBW26DTXQhԂ&={tпXx1j׮]~6DDDQ>B&ax]VXEGGhѢ 3g@WWɟYyPzaӦM2dt邱c*Toʕhڴ)21`j׮e˖hʶmqFR?nwb%Sd_wiӦ զXl&NM6)\OS◡B=ӧɓ'066*W ###ߵkFpp0̝;E 8+4q͚58~8N8F% ЩS',^K.qY̘1m۶E&MJӸqcL<%|*U)SSNV>|+WbԨQ8^^^d2ܹhܸ^k'qqqBN^^ݻ'/]7nx1._͛cܸq u@X2F!Fa#Grr2ӇPnѣG%OKKs璞ծ] $O?u'ɓ v222I&Զm[z*WL'OfCdRZ~E?rqGm ю;@e}!SN3a #O666NӧOǏ+^ MBWׯ_c֭EJZ"$$[n͛7y޼MѕkעI&z*vލ'N'G*UO?޽{hٲ% gggDFFmX`|||~z>>֭SigjԡbŊ2e ^zhРRSSK-k ={Dbb"޼ySm```P嗣Y(~bŊǒ ]>|g0f̘B~4nܸ>OgӦM֭[WHQbE̞=\:&MW]vaРAhٲ%>|XիWuBi$IץKs='h Q/Sׯ/w&|25k֌83fW3gΐ-qG}|زyyy4n8@]]]jذ!уfΜI6lSNQBB٧HII!KKKj߾=(TG>3u.]AAA޽{pSϞ=K|24iI$JII)p<55hذaJ}O{:u~F /ɓ' 8q^eh?7n DBǎ#LVUyyyԮ];޽;I$A: 39r$VZUnNNmذLMMȈV\I?~,l^^%%%ٳg~ٳgP ===jܸ1M6233Ug>ᤣC۷':|պ̙3ӽ{wjܸB>rC5HR"++B֭[GN>T>CԵkWj޼yq$Hhڵ*H͚5+UxQG26 ]IK_Ebb"=SNCdeeaڵahh~ &LP຺6m SbΜ9QFp:uN:V=Err2>|"..[lALL :###ۮ];޽+ *۷ѪU+^: 55WN׮]1|ʲ\L:hݺ5Ox96nX_ tYo } *u%3g֭S;HOODZcǰpr+◡(RJ**ya۶mR 2T ObƌXp|@Uc``{qׯuuuQ~}ԯ_ݺu 8z+N8!r[^C&ݻGxx8v؁*=\:gFPy4===Ǐc5kį*k۷q}CR1Ү];Ca``Tg"88{-v#Cm &&*e(#0ZEs:::qqGuԡ۷*ۣG "G 6$&&mh"|uѣQϞ=RJt}}MY&5jԈTP*Uh̙c,C&-}wJ="H+1Ǐ)..]F>T E3|_|ۋ%DBVR^nn.ۓRi{ QQQQ{ ~*XJݻM6A__FB``ܮ]p…"fΜ9Bԭ+%%&MB˖-"88ǏW8~8OP͛ҥKɁ߿?Zj;w.6n܈,E"`ƍr OkBOO5B֭ѠAA}۞ ,--믿*Uoǎs֬Yo*{ F)))TzuZz# [(ԥǏf266&Znegg֗.?^v?NvvvTjUr줧|uecԨQTjBGY:rCsQ4Nn>>>dbbp Aɞ#ŮG-`6RN\zŊd[.>Ç̙3X>|R7ԩÛ->Q."aggooo 6 >̙3QB*/_bprrR8Uʬo% εXMաkƌ矱l2l޼YDv@D|Rrssh"dggʕ+c… "^: aŊpvvƞ={0dL`Ϟ= ! a`` .\@tt4^ """?q̙BLme a"=+ŋcҤI044/Fjժ)F1tPlذgϖ/ M{O(Qb(/NhHLLDZZLMMղ\TTZjHlR3gڵ3gbccy]>PfML8˖-S^HH:wz!==Rإ% allLǪP*wbbbǛ]U+;v GӧFiӦBff&233 ͛7SN%m۶_~ڼQG.ch.>?BCCѩS'XXXXbS+͛7ѲeK߿L oEӦMwBaee'Nxa 6$[3ɔ)Szj,Y!g!88q "deeA*"--M>8Ϗ19˗/=֬Y.+D8>|G˗NNNXx1<==acc[zzz>_#сX5|'*-ZCX~Vu@8ԩS1{l<{ λcӦMy->a (,6l DKcdhhԾ#7V!LJtuuիBR,999taÆ*VH}?^z%%C89x 9;; jҤ =}@> *Г'Odo޽n޼YnD*RJh…]r|6P|,XP-R/S```W^)T'!!ѣS Xd ZhaÆBT 43ѱcG=z8x ƌS(^c |^pp0ٳ'ΝM6!##;vijg6GAXYYf>}`eebh{jll#F`ӦM.pu υa0F0eW^*HP͛7}ZɓIWWΝ;P{N|]=ʕ+S^ȑ#ػO=VJ /1i˶XIMM-[*iٳeRȎqw|ޅ <== *'$$P:uA6W\I2^|9SJJJ5=rJs]vU(^_: *@KueggS͚5ijCDn:@[l!"ŵу:tNTvMFFFa}===/ҍ7A~S]cܸq8#DRuҥ"ܻw8ZxBvHJ*JEr tQ}74i$ ϟ+e?55 ߿&&&:}ts _~#X"GU[מ={Yv?7nŵ ""wV*s] BZZk^/Μ9s4oQF;*@j׮vI'͛x饗РADGG+WwELLLd6l-[fH䄶m^CʕѲeKɓ'cС!Gnn.qҥǮ?prrR0:s۷oGuzܹۗ; h̟?k׮ņ  ضm6lpXBfkk kkkܼys^b'ab-ZvFaD#FkװvZ888 ;hشi=OnVVVo1rH1/6tSLDpQ<3F~! u }տN:SN5 ;w/l8iСCҥ ׯ...:v޼yѣѳgO=nzZݺuڵksaڵL=h4hѢvQ6Mbb(̙3~z,_hwNOOǫ'ObӦM%n蟛V___F?]=S:t .ĴiPfrmR1R#FUV!>>| #&&h+Wbݘ7oQQ^BBvF᧟~ί>Wbzh4DGGƍzL^¶mpm~O͛7#''\mZ%Fy;vV+|&s̑N:F[[[Y~}'v풉'JƍHnɓ\}֭zBi׮4kd6'++Kݥ^z"")5jԐ/hse,Sw^RtQn޼룣EٳgzW_}%FۧkΟ?/dT K.-"S/-- F`` Mfm#** UƏ''',^ׯۼ~:V\!CFܹ3/_:`ݺuƶmovY;<<< K"!!s΅5 Uzu )))~:"""PPPlذ6lO?HNNƆ p HLLDHHHYNbRSSbˣ0qbݻٳX1D B\\\e۶mCHHHegΜA`` ݱu֢ktCD0{l#??_<۷GݺuQ^=%=ztӤ}) ]QI˔xtQի_tHϞ=eɒ%r m;))IjJL"fyƍ2~x:uP_.5jԐ!C|jaBCCEJff9,hڢ{0$$$=s'7oq]nn8::ʧ~ksrr\RM6MT"<лMCʒm۶ŋeڴi&III 7o^Tcb@O.gΜwzcv mJ~~kj/^,5j׿%3J;RreIKK3ܸqCjժ%jwJvvvǯ*F&M$Oqݻw^"""ʽ 2eޯKHH({wq 7oֻMC}xyyMU&5 -u/dxށ{(2$$El<ѣG kkk3lܸQPy%%%> ///ԪUĿW޽{ammnݺa۷^A[ժU@̘1'OPjxgvm98rHBRR͛xzzVx{渏X ڴiի̙31cӋ.upp(1KߣIߺ^x6l{Wׯ69 f͚,8uaÆzפIbԨQxbbիW1sL,_;wӑ_͚56n܈}" s̩PɄ]Cc޽EM2Elll':;;Վ!+ Sdȼܹ#O۷e2zhׯiF<<.uΝV+ӦMө]gh"h4Q.ڵ+PjU6}qrr2LyAcǎҭ[7i׮4jHf̘QlBnST%Q1?F۶mqFѣsܷ~K.gEdd$quILLD֭qaj`S###/_ѡC (uw+ڶm͛7gϞz,9995k"##cǎ ]OQ)Xzh42\=rȢHw֨Ujժj666Gvv6Ґ˗/]VbUbȑ/UɴZ--[֭[ػw/*UTݾ}QQQ@aa!&MqXflmm>i憎;bÆ *@j֬,ܿEE'N@>}1?:}Yns1X""9s&>3a̘18q"\]] }}.XCnn.ڵk=e4 \]]-Z{͛طovލ[ѣjժ! ?!=ڴi<]ܺu {]k.:tZFɓf22w!!!Op޽EDߢ}%~HMMŭ[ЬY3C Fc^ñcмy o311>BCC7U%RR?ԩ:u`ŊjXTYj^@rB₞={bҥhذ!Ν$dggcƍ%Wy>|cƌAaaaqF?>,ѫW/Xuܹsq9DFF0hNcCo{!!!>vء~Vaa9sT.\?#G/@BEE\ѫW/mv(L8ز{!$${)<66#F(A8 m۶RO=z4-ZTlYbb"BBBUlԩSQlYjj*BBB<ڵkH̚5 [n1w\`2dΞ=p_BDD޽W^yxWЮ];$$$cСشiS<*>>r](1ݻ~|h4:SNŋ/Rh4;w.rrr0eC|}}ѤIh4b 4mڴD&O VRaa,X@QFXmݻwO>zPXX(.]m۶Idd?/5j;;;GGGR899IjE\]]Mj֬)!srRۊᅲ;ϧMECed,{^͛5=SnDDhZޣ?XܸqC/0bTB`U͛7yfxzz6=ob ٳώ9!C 99-[Dxx8^ybSQ… 8uN:~ߏ.  K|(Oٳgϵ$ӧOK֭Z"""xbUHz$((HF!|,YDj*qvv///پ}JYf2p@0;JeCFV[wޢL"666jE}ڡX,eK`ƍѣG>Yvm|xgDTM@@~7̙37n888UVѴiSٳGo>s_|ax뭷бcG^#"Xb^z%T\t͟?݃8u+{=ܹ;wFBBc/>RSSkkktҥ§QS~~>vލիWcݺupww7ӛ*JDh|8v"Տ%EROnn.q%UPӞF'^x7/U(iӦ!::AAAv̙_~~~~pttD6mpyr*=7n>|?n߾~aΜ9ѥKrSdT=JesscL%R2 ={t]/^,*EV1ϗ;wJXXԬYSL0A|XÇ˨QI*W,[lp{c_2,@L!{"2=ivuiܸ;V.\Pˏ?(Gwww kזˁ̮3SDXSNIXX|sNYpF+Vc Jo5ǵ9k, >>>`Q% @DDڵk2giժOOO,e˖{~kFNpBQF{..\Pn:l6IDAT-k.TZՠ1_pInP/J_2<B]~'O,y&|}}WhԨlݺ gBtEÆ Cl۶ vvv8v0k,!22ѣGq9ϠիW1c ,]o&_ r lقJ*aСŞALL Ν;{{{l (zJgggcҥF9s]쌠 da̙3g1yd7 /=s| ޽h4QFvjժtYZn-F7o.ׯ_/s<7O>ކ)ԼDܹsbccSt@???&}ʱcenraYrL:U $ VEڵѵkW=QQQ.-33e#<-VT*Uggg?]vťKCDEE^z|x7h/_.{./"Bݺu→ !cDӢE 4o۷oٳgѬY3wEqDGGVZjJ:^^[lupرǮ3k,Gƀpm|6څftjРΝ;vdf8V-0|tǎ|{?ED# z{.0i$>v={/… ~󈉉yQ!""BdyV~}8b9enGd6[hk׮!##Θ?>/_^xS'=M4 *U‡~XzǏGTT>s ìY8CxݻH;JԼs_>Ο?Gy&;=~f昗cO;5IV?f^^~W\v ڵG[hHJJ{35(NMU… bee%Ǐ8KVjժ'Tb/((???i޼yu9sȄ s]ӧ/Ŗ\R^b[?:=_XX|%bӧdff[>e1cFe/^>}ȩS-gboo/RJ/$fǟv_~e(5t*//Odƌ/c^z2l0Y`8qBrvW)qXѣjK}h4j2l0E… Klcbkk[f;b }ݿ_eԩϋիK/$s̑Ǐ,ϓ12 sƊGGGyerxZJyiݺXYY qvv;;;2d\y ,=4o%8III8s ?~xD'NPl=zzTT  '|Ν;1~xյh@{Z]2OǟI^jRRR=)ׯ4ɡ&{E6m`ccSyooo 8p$$$`޽ػw/Zlx}4 \\\J,F3Yfhժ,XzgϞsfϞӧO?kCʂb)R =sߏ;w">>? `0De2qiiWZUy%IV?֦;߿:䓢e'"%666E۷mOjO/iϘ .EKs#5k Z3ZjxJԼes„ paؠm۶Oo,3ԼLqi4ƍ'Nܹ3 (ݿ؟Jk4˖-+)CgLJgJ}L "BӦMSNs=ǻ %%ݻ7lق 6 ..׮]Cnn.6l؀D\t  ń иqcn111[.&MW AVVVSN-q#T 99(L8ز{!$${)<66#F(ǠAWlٶmRbѣGcѢEF#::ٳ޽{m۶7>0`ί3R"jOjsxW=]q"S^{FAtt4Z-zrݤi%##jADd2jԨo7nDLL, ...NR' 뼾/K͋P?~ O{J$,@,\ll!On1eyo5'chX{eE[j!OnW\/K͋P?ׯY1L "[^^x Q)rrrvD&!"zZ<!rxtt!"*.77weBTkKLL6>|'Xj^ygktWyZ^NR;2#OjOn3;;ׁ{q M#Sɹr <==̔N:oooC!2$ &ʕ+raruu D!}p\!CbBDDDDDEDDDDD DDDDD DDDDD DDDDDĂ={sw//RR }YK G]rslقcǎ͛_> dv7+((u~~ݻ7|}}M'ǎêUf͚^aU`ƍؽ{7-*UV+uGGGYb իWe˖jGQN,Y"Rn]ҥIF$;;[*$''G:v(ZVj׮-M6ʕ+KPPڡ#2cUcEdѲd1cF_)EˢEȌ3 Yg斜,'N-p4h@$33Sɰ˥P:t /-=zTt.ҧO)((GJJd*GW1ݻw'''ٺukѲ<9|Q#0cUkE;߾}[49fx{{cpqq{{2fnݻw#::+Wo999Ŀo̟?͛7ǎ;o߾ؿ1í۷oͭ*U=orrr)S`֬Yh۶-ۇ'GHJJVvȴ(=Rvm^em̱\5AQd>ʶgϞYAzhZ9yd?\ڿ QQQ, ".3,&&FZ3Vkϧ|||SN%'&&CRR:udP z~zEϛ#WWW(s$%%wjFT*G\\\`ee & ~vSs9F9`bjԨ^{(NNNFA--?=jv1fnѷo_,^بm<6mh4Ŗ[YY&SI&Xz5rss]z h4VӦMc\H5}=j4ʘ81O|ADpb򐜜5kaر/2vX;wܹ۷Z8={"777n,|4?"CR{Xc1m5AQdxB͟?lٲ.]Vśo ر#|}}1{lxzzk׮4;V,JKnΝC߾}amm]bѢEŶsϕoC˖--Z;_}&?W cǎ|}}1o<$$$ ::Z-88?<>CTRϩSiӦի!#js9FYPR£)ޅ W^֩Z|*Ed?ΣGdd.==]t"Z(={ʵkM')))Ҿ}eԩjUaYYYEͣ%((H.]vhD)s9Fӈd@c* .rʨSNѹdpԮ],Oprrr[4%r ///!R%}cUcE)Ƽ%"""""+Z<IENDB`././@LongLink0000000000000000000000000000015100000000000011212 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_pre_mpl_1.5.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_gridliner/gridliner_labels_pre_mpl_1.50000644001374000021030000053571212700747662033422 0ustar itpeavd00000000000000PNG  IHDR &˚sBIT|d pHYsaa?i IDATxyXTe?a_AE QqA Q\1s{r}R̥,2is wSJp%De}:΀0X_5>sf>s("" """""290!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@h0!"""""aBDDDDDF  """""2& DDDDDd4L@hјUwD"h9s999ݻ7֭k۷wիGv0dudx{{cرYBhh(Ο? 4nÇSO=U-q۶mɓ'QXXOOOI&: qF>}2d<>CΟ? /[[jV;wѣGÆ ѯ_?4o\S\\N5ѵkWӧO#++ hԨ\ݻgϞEZZ<==1tP4h`{qqqoOOO;FhX[[=LL5+nHdggm۶ ѓCȨΜ9#(ڽ{v;;;EQCSwΝbii)(vvvRn]3jܑbii)H iӦbnn.կK$[EQC6m*6662x`zYYYҦM177ݻȊ+4>C֯_/ҰaC KKKbHZZtIEzIV:ҭ[7155.]HfDQY`AwUYwxƍ:uFEuJfR>kȑ#bkk+nnn("/_6j""GGGGnݺ("jﯸX^u9sF.]*|F/HAAAuB`bd/__]֯_/K.-3_ԩSGղ5kֈ(d,33Scǎ'""${6jܑ[oILLZ+7kkk}Q6DHǎVZr1(sN7EQ$,,J~L4I֮]+WEQ$$$DNBBLL@ѦMJݑEQd„ :EEEbff&?Zn:QE߯SwΜ9(\~hq櫯EQdj.}vQE2 8P͛bbb"oVg/ȅ t_|E;#fl("V*tU,==],--_u8pyCl"_mݺUE~IeDQ9|,Rvܦ2l05jHpppMO% 2p@QEz!ᓁ >ބuhtS_ajjw}=`aaUW[n%F\riiiz.^ 蔻 Ǐ _-Z?![n y!22wѩs5ܺuKo}:::uF]UTI&zEZZrss ɉ^ѯ_?ܹ @hhCSKHHŋsrrpeDEE~t\xo~RSSq%VBdq%dddTID ?Ç1sL=z۷oСC_] 777u':]ҥZV]q;w͛ ٸ̿$5h566`%e׮]3Z,;w÷~ 7774k nnn ͛7ѳgO9r#GĶmtv^Rŋh߾=ի-[ 3f̀}3NNN񁷷7\\\0w\ꊠ N:Y&~i~-7ߨe]tA͚5QF-[DڵѻwoTx$''cpuu/0l0`/^#LbN:%** ]t;|}}₱cpttĄ *3QU(X)??\*~~!{;j[nZ/++ vvvzﷷW3-[ GŚ5kt| 貤#%%+W-[СC;w.]gŘ]V,dzuJOOGrr2ϟ>8qfΜ>}]EEE(**/_|K,Z^Yү_?,_3f5kk͛QNޓ7=$''W^t^y; VLDEE!00;wرcիWcʕpww{r 1tP/ҥKM6O_~Avv]?طoFo>dffSNjYVV222,Zvvv  /`Ϟ=^?"A_}[">>'O)@ 33yyy;ݻ#99/郴4^/"233[x믿{K.Yfj^+W"((wᅬΝ;c޽333h4~UBBB0w\xWtU4nCeYLLL=z4iiiXx1?.]/-WY*c]Uu_po⭷ž={>_ر'OƘ1c0k,iOg2c |Xx1 XضmDM}ܹ3bbb0sL,]r /^9se >+W /믿VǍc˖-عs'8q=:EQйsg:tH'ÇnݺzC 9&&M7݋7n~^OՃ,Çǐ!C}v]VoY/FRR͛EF#KTUy O?NgXww }%_sɓM6QF7o;pvvFTT^%ח:;;-m߾ƍØ1c駟Mh܆<ʲԪU :@Ϟ=xb\p]tQorWY ^/\uUJ.1N…  Pttt(Ui.]P[o}}v|l޼VVVSnkk)S$tDO& /B hժN6mϫe͛7Ghh(u P+>|8}Y_`mȣ,Μ9[)d.]kСC87o~ :TWd]U%>|uڴiS\վ ;~8}Yt ?5ohڴZ^ITTDD011A-?eORPr~9r^^^eKgǾSO=/"++ ELL z)u%:t 333 k׮is%cu֘:u*#G`ٲeСH]+`̙HHH/cܸqU!Æ âE0e888qXf ~Ro4@tsE5Ю];o?>|||ԝ޷~}رcpB_ &MTq_C_~۷/0`Kڵk6mT 8˖-':u;v`Æ sssV`` v؁"=zO?Q* %%E/N U\r&h`n&/9둘h[)f*UMGSE}ԋ~wppŋVթ,={i7ЫWq<(#nC$ @'}<Ċ+VעE vqX[[Giܹ}޽'j/// 7J&&&#aaae~y޽+jSSSyȨq{@СCub?h%n{+AӧOEQ]uݹsGE^zl($''ebff& zgQES~QE^z%iժP7l '|"on˖-`+WЃLK)"!HNԲW(:--bmmSެY31338̝;WE#G+^"c`)ϟ)...n||KZZ͛7%,,Lʬ-gΜ(#EVX9}dffVw(ݺuK͛˓sIdd#:nݒpIIIP$;;[.\ M(鯧D$< N2k,QE|MҡC;FMABB("kEQd۶mzqTEw0^EQdŊjYQQڊ^?_L<,[LE#FĨ|Г UXY ȴiDQ[\zUD Hzzxxx(/Khhl۶Mz%HPP ;q4oooQEݻzmٲ(bGM@6m*}]vɁdjy~~{^{5QEڵk'_|2b]ԩSGtHvDQYfĉQ "ѣ/1&t"""t+VԩS>=荦cǎ!((k׮E~0d=z&LDɍvvv78UVG2GyUHOOGpp0~ztP.|r#<</"^x\t -,,p!L2IIIqq,X@"R]NDDDDO$DGG >>>o~]z pwwGƍˬ8>C׭[ &`ٲe: "NL@xc,i111x#'1Dh۶-j֬X]n|g@fΜ)))jY:ukaΜ9o1!"""{.akk WW & OhdeeUwD7`ooO;aJD= OhxyyUwD7ō$ؿQc蘀jիW888hիMb}Y]-((Cs„ ={6Ҡjuǣnݺm24ԨQCo=f֭[7dRRRpm@Ϝ9[[[ڵk8~$>>>{{{ FJJ ѲeKۈî]p5L6 5k,u,yxxx ..N/777N:ݻw#11 6įDdA(..ʚ5k 8ammၢ",_...xW1qDXZZVZFZ-6n܈˗/#==HJJ‘#GpR7c |g}9s/[ 3gάp TF||z}{{{k…:E~xڴiյ:tW_}%R\\\}|L@ /tbb|'-=zFɮ]_q["";>Ғĝ+o>qF_XX(ŋ˫*C :u\'J\\\zUbcc\qUT?JÆ G}$cƌ1ܹq Orr믲~˫6;;w7NK탷n*111#7o4ZAeggƍe(7%Kȗ_~uI4?v?T/m_Oj}ɯJjL~?ǧ!r%>}/1N+0c r{{{899!99&&&cx7q-tڵ7=NNNvZvMʕ+׿K.鼧yhР 5W_⨨/XXڶm[v,Xwy:۷o;v 6O?Ehh(ѡC|'yiZ\rN™3gc|xSff#}G||<q9wAXXRRR`ff8q`;hӦ ΝL+/7"''5kD&MФIipssC5ZRʻ>4 y|j1e 0{g*7//aaaǙ3gpE\pAs=~摒SN!-- /_בGGG\xʂ3ڴilVZ~XKVZ . ##pwwG&MвeK ի/GAZFn---1a>>}^} ToCdYYYuV>}.޽ީ^-͛7רQ㑎̙3Gn޼V~MO.ݻw 0` >>2zhYx|'_-w}J͚56֮]XZΝ5b U077iԨQ]~ƍzy 2D.\gtt,ZHz%={ˠAdү_?i֬'|biFSO=Hm}|L@ /%Ku___cHz\[XXTxYl"]vO۰arU6ꔙ)z[ӦMe֬Y{n9 w0IOOlqqqҡCU899j* Lh4Ν;zqIϞ=eyf7nH@@[^{5 3֭[:;fffsɗ_~)kVG[WO寰> &Ν;: ˥KPnݺ%iҤԬYSvmlloXͭp_7mTڷo/ 6OW^ү_?Yxܾ}[\y}:;uԑ+V+"@LLL$&&V.z@xzzJfBd޽rsss(wabb~%ɂ *Ɉ#w^Y>GJӦM<,O+W!2x`u,^^^ҡCׯ]JvT … mUtG"Jv.\(RdUֶe /߯_?9zhn@}AϒנAy'?+= O!qF=\z*֭[8vѴiSxzzB`Ȑ!=g(**Cǝ/,,Dff&._wg899kF`` ڴi:u`ĉ_>͛#GO>HJJ¹sJ믿u!//ڵÜ9s`nn>C_͚5CF;v ٳ':vgyAAAOIIAZ`j?oRϟ4i ~aݏfI܏"55z*>3#++ 999hԨdamkժU:u*{,7lO?k5k֠e˖дiS6{9MÇ?b?A~~>n޼ 8;;מxWѠA#33`0aRSS4"55CNNQn]dgg#;;[.LR% Ѻukdff͛F{kE׮]C^^v؁ݻwCQܾ}vvvUƎQF=R|;wֻ?k׮8p^gy'NGzm9gϞEdd$+?b{yyyCQQz){ڣG9r۷ǩSJmoo'>>=usssdgg#775jԀ/fϞ]Z-'йsgɓ';wɓ իWq9Ƣqhڴ) 0daÆpww#,--!"+}V;w %%nرc 4jHghNNNh׮z5kbڵ8{,n݊QF^zpqqKogtA⥗^ ك3g~hѢn޼۶h{\;{E߾}5jK.=ҶA{ RnԨۇƍZHMMŧ~5k<==Q^= v©SPPPPj;xѰaCx{{#((عs'rssquܔ全(X[[ 7Ƶk k.7n˗[bǎjƍիǏ??z7,$&&~0aFpdeeaƍ@rr2z=i|رcmذ?|<6r~~~8}c[wy?Ǻu?3hذ!`aa:u*|||Pvmo...O~~>ۇoϟW?͛7#,, ˖-C@@4h:`Μ9HOODZcХKukaocQF+m}/oP\\iӦ֭[WXZZ׷ԝ۷oc׮] Eff&lmmakk"7#F@jj*LMMQyfX[[9pUٳ@py|Gرc@4sss 4pqqct6m0tPԯ_Ճ{⫯Btt48w3<///4k 'N$%%ݺu4aСhѢ{;}թk׮Ehh(wmB׮]CݺuajjZϟǮ]p1? +++R"??>>>Xd 222PfM8::NNN[.9 /C]L$%%!44fBAA\\\дiS4l~~~ؿ?"""Wj;5BƍGGGl߾ ctMHuAV??o -uݕ;nݺ7G1 V;wѣGÆ ѯ_?4o\S\\N5ѵkׇ]򅶵ŋ1f8;;۳g(=Tj̹jz*RSSqmΝ;ĵkp$%%|}}QV-8;;G(..V36l؀# ͛7ӧquQ#s%Ktu {ENoAD0fxzz#cȑxQn]*͛7 ٨9sF<>SM6aذanɓ'xN^{5XjA]x,_֭VŘ1cУGxxx-[١_1k,x{{c޽j( :t`+ذaMooo`…8~8?cǎ=􄹹ѹdeeܹs:?EEEpssFARREALL sp3Ǖ+Wp"$$ dUgO09rK,P~}?۷ׯdESSS}\OIԃuU %% v}EHHH~'>Œ|_ZZZtIEzIV:ҭ[7155.]HfDQY`C/nݺ: 6LfΜ)qqq""%wyRƂh4!޸8[ZjnZڷo/RPP |L0Aֿ SoDՊPGD {77wQo]g$&&F&O,Zl) ɓ'˖-[$##CRRRԩS."III}vgTԪUKϟ_eĉ'? \i޼ϮaÆ:3F|M/d„ wߩHOO VZIrr[{4iR"77W6mToUȯZ5Uݟ=i{ͶFy 󓐐 =2n8YnlܸQ.\SVҾ}{6lZ6i$={ZJƏ/W\Q%˗/OOO9sܹsG~]lllڴIf9992giҤȌ W^yE駟V⋒P)1IXXXj$'N(s;pBׯ8;;9b_pׯUVvvvr97nٳgH@@PرkK%>B6)))rJGGG񑠠 0a|W riWIII-{}{^Oi}lE1>}H5$44T-+,,(o(R9%Jvvv2i$|`^~Dr5}l۶M233uꥤHDD$&&Jffˮ]jzmcc#ƍ׺uk~cOISׯ("K.;믿J^nݺҡC?(%/KKK2eCyW6'O\?Ԕ)S ~ng'F[nIddKFFܹSox$$$Hjjʷ~k0ٿ򚘘HϞ=ƍ-3f̐gyF&N6M nmm-W0ԏ$EL&==].\( ƍ("'N\?|3gcyZ[QL@_~EQdժUesww]ꔥe mff.M6:C l۶IsaY|4nXoԨ>|(Zj%77Wg o(UgggY I" IDAT8P̙#?c;k֬щazj;v=Z{#<=)/^޽{ po7"z#;laK^F/ʖ-[*uV+ǏgVZ4%MGCHcgOv4R~}qrra(ahwyG^QQQIÇѣTݽ{WBCCtϑ#G>?c_Nٲe{Q*]DD\RFrqqO?Xׯh4zmmmӛo)&r3cccK=u֡C.sSSS/>}ΏwyG^rԿ:<tM[[[^ӦMwwwi׮ԨQC]z쩷AZ=zȺuDDDH=DQʽV+aaar=yٳGD%?9RڴiooڴIoXW2tЪ^,V/GPvx![///ax QQQe{@KIIQ/^reiӦM㷴nݺK@}lE1)]ZJEQQEz衞}Zax /֭[#))Ii 66pwwG.]@evel޼pAAA,%J`֬YpvvFy"==@R6os{Q|jXj kNUy'%% P?~9::^޲e пt-[P(D%H\v gΜcTʓgFv"R2)) &&&P^~&;lق W^С72G@*۷e˖\\\gxxx ::-BΝiԬYƎ;gj^ٳ(8xʠv>deի3EDD֭[ T*E {)MsUl޼?~D.]c֭￙QV YfaΜ95kƁ7mVMMM1|p_|jkENQjAWWWr-Z@}!66۷oW> @lB{{{+ֳgO޽.V;Gpqq3)֭x{{+l*Dppܹx{{ٳrcbbﯲ>|y˖- ~`rUx{{y0MFΉbXD={رc,Əc=8oM"00(^8Ο?c=d1bF3f`r._&M(lGJ0zhpM6J-`С ʊd-[*}7 O>{zxzzW^ҥ Q^=ԬY9" "9iӦ8̚5K ,,,`ii(6𑭇0䙾]^|DgϢk׮3ۃtatؑEƆ T>ƍ|ǩSۣZjA6mPbEua^dMMePʕ+-Zcr{@j֬gFN0n8eiѢ5k&jIDhҤ 6+y>>U{MDfffڵkn߾e*7MÆ SNӧO,m||<6gjj kkkٳ_K.߅ իjg8CAD8so۷gШQ#]"~~~Z>I$Bo-m+=jh=*U >ׯ_͟?ݨb,YVVV(Y$:tݻ73'ڴiɓ'~ 2 ÇgffZ3:u0䙾=b1*V0Y& ˗/O>Ÿ}ܞ+Wbp.+fZV-/6l ^z!00]vQs"ԩSѣGۣXbr.O>{sLwd8n‡CtQmoo!C`Ϟ=x'33xbbbЬY3e9DÆ ÇL>|vCyv-ǡM6Í7* ?~34h4;vu8֭aZ` Zv233sN 7odd/^o$ھșϣnݺ  RiN[Z:uk.`KV:yRLPo߾o ƢiӦhڴ)YcY{vOOO]UE" 22VVV(U֭[Dql#))=˜XINN޽{C#peDEE!<<]RʹiXE"<==q1}Fff&z ###c/^`޽l6>>DY>*y&nܸ1c(wޱDrtRڒ*C,#**J!!!!Ai{+UBni=p ~O M- qqqZݧvѣ߼yÞ7K<) yojd aذaسg[Znvܩݧ7믿9^^zA.\Cl2s"!!eʔAJ ]^b>}qqqb666D׮]w^xs΅4^]cwh,ز>~KΛ7OxGbP@UV(QbbbClڴ ֨[.9|0B!… pvv2Q@>,1j ˖-í[@&(>&W!%%G[zagg"”)SREFF/_5j@$ŅE}5/^+{-[&&&rΟ'r'- =AT*ŋxbߊH$jժG *Ujժaǎj}}UX^(AR q|_|9PxqXYYi=H$}k9~["ywk?߿gQr㧟~R, kkkz mW@ViiiONn<`ff5k櫂ի~ ׯ) wll,H!#8P.@ ۷PEs&мysfB7w\m!!!8w=z={b .'LD91cŋC *׊qN噾Gɒ%>}=`L8&MBpp0ڵk˗Çx"Μ9"E \t ]vEΝe7lPޞE&r6P+ѣGˠ)'OS---åK`nwlmmann{322  Q\99wDYGXlk? ^z+W0zeƍ*])#{@ ކV$]v&hȑ#011@ M" ::7,jM^F!>>Z[[;wƇ #=իWe6,mƍ*<)(yoȚԨ(=dƍy9;;瘞+wA̮]@wFK^x,Թݻ7L~^dWo߾͂Pj2^Qd=B kfI,3|Ѿ}{-x"|}}6۷oѿ+V &&&+VΝ+Ѐ7l޼[nŵkԚ 8Pc ;v=#Ѻuk 2$ϊ>]"c޼yC޽VsuԪU sWXT^dӧǤIf'%%LLLPF RiӦMZTRwƚ5k6cP@}0H$f){truŘ4h/pIf$%%I&$ԪUHڢ{-"¨D)(UD"AJ;j",X@Cطo~ZR[^]%Re6iGH hH$޽{G]taGDD۶mUє"Hٙ~w""cEGGӦMʊ~pÇ4j(z5;[.խ[@[JMM%""TJ}ɓ'*tAڳgݸqCi}{O4%7޾};-[ڶmEDDPɒ%hd֬YdffJRzqGDDtyׯ͘1ÇCGW^{يR @ϟ?ҥK;dI(--عENߘ4iQ&MŅ,YB+WݻӧFnaU  )88޽{GDDxb;@XJ$ivڴi.RΟ?f(^zf0s oooȏ?+_Y233_M6022ɓ'sF"`ΝػwV鉪UʵMll5_|AXXгgϴD\\ѧO}/2yRXh>|`5%55UevX;D۷ѣG9SPwwwq_K.]GҡCeIKKc8=4i#G*u8q "رc 5=( 6l*8>|@jj*Νr7""@}rr2.^gXRJaԩJa}r&ek )-CDW|4i"b|C݆={Xbhܸ1>}-[PbEܹR$O u푘C!==& ",Y$|PtisXjuϟ?JNyi֬YԷ!$?֭bcc s9rFuɧOӧO{ ޽&:t@F 5= R)J*3g(j WMDhРOu`dͨS=zD+W^|sbذa!Jc_3f̀@ @nݐ}F+ryRXȶٳg1~x; 15kT*7w\\ իWC,37{CERRW@V\дiS<~0C/-Z]v]vDXz5y/X!йsgxyyjٿ?Se{{{=G ˒EpqqA-ݻܜ6cP@2`s۶muQTS&ܹׯcРAj[222X }uĀ{(ksfRЮ];TZ}U]tQD#==[lرc;w"33SLAR@DrJAAl„ ^E56$&&|Φ[شi>|'^z, ؀(#...̣ Gjj*bk{#>>UTQp5j;w͛7{4cccnݺPҊ<),h`n5kdʡ2xWO>[);;;e/Qc||r2edNҲeKY?U IDATL6o|rgΙ3kPtXr%{uQSNeϭQF.N)^M)))\ڏ(cŠh!`kk:u(rhժD"<<_Y󬰰0ԫW"ؾ};.\;wFHHF~o_)J+`e˖>|8[n(V>~(wԩSي9 /pgQD, m ("*߂wիWcŊ;w.lUQjK?V"tQUVٳ!%9W\Q{cfŋ "L>]E֭['TQlY^zr{n...HNNfy߼y/ھg7RƹsеkW899ݽHnmڴ)޿D3ft=z4>|QF]"ĉj*Nfɓg"UTAÆ ₀tիWQ)TDD6mc!޺vژ>}:\\\9ףYfpttDNӂjBA*2-qLϞ={ߟ&"ر(S^Lp3^|||LruT*e`ΝCV,SZ .]jk?Gڴi[[[ѲeK4>}) 6`{ ZjA؈?pVg'>}LxD"P\9+̺󤦦NNNjNOOg&FD{B,ĉq */Ys{+:ݻwOmx%JQf~]̍mXЂ6ԯ_B/qXbB!~z LMM1D\׾w-DK{nYm۶E%pY&IׯWW^011QwQT@x|}t СCUz8233SSS,\0UJJJ>,.(G_*M݃?W333c͚5HNNƔ)S#QWݻc8<֯_#,,m~zM;'Ν;L#سg\9]<)Hyoh;wۻSZ5\|RNNN055)bz <VB\\̙!C`޽򂽽:vܸq066F\\tB.]8|A#|o߾r ǃ_6 DJ]k:^d-߿?LMMtRݻ!KGdd$~(xzzٙm.Vܷ3o޼'b )GQֆ̛7D~M%~@*U{hll/_jOjj*$''#88{FM6!11BӦM+>.޽{H˝KII7헍MD?5ׯ_1i$9װQV-鋈ڵk <111J4ijժ###$Z֯_۷ǥKꑙ3gΝ;ظq#NNN(U?~y3fy=z<)))zWM:ȂgFnkNpi8p >IIID홧'OOOm6%˴ &ȥէ 7[92dɒ"Q<9}Sz 0k֬,){4i҄fff {!HРA;* ?G P7o… JmfoݺLSTH/_~6m;;;BSn,cŠ%K@ çO 0bthѢڼ";3ݏ>aٲej_t)ɓu]B?QjSn]{=z4sL_u?kccc$[C+ލdffnݺׯu]ȍ}P@@I$Zndz˗/OjբGRnݨ]vԢE ruuÇh]BXXݾ}ȑ#.Ncgyȑ#dbbBjբƍUc/ 0^~MDDW\!+++rww~7yyyQÆ ˋ޽{W iii@*Uׯ_Ӄt]pڲeܹ[Ҋ+T^ADD9obbBK,apZZY[[:E,S>}Yfm6j޼y ceеTTٳqA!66ݻw@ KwaBDž  ;;;|I= 2d]\ep={]|9ѻwo=#}iQ == 6ܵw{)2'OسG%н{wi^^^޽;ЬY3+0x`mXZN<7 S@ c$o~T޽;RJ~zyڵkW^8 1}tEK.q_~a;Ǣ0dr'?!7@kkk+FGGښ^Be䥃Jؿ^`D;gϞ066f.d@߾}s : WADx񢮋f͚A$K׮]S>11{Fhh(vލwVVV]6>| 駟@DX`AckʕZ8}3)))1cj֬ [[[XYY?d٪UrU>]N<7 S 3KiРrͫW{̙3hݺ5FRHfu9éS`ooWWWf&<=BNPn]Bԭ[QQQy+;vL&8CDDL ?PH;i$TR%<_~ @WZ5Wy& .ɏ(cŠhD"Abb"._w蝹MKKÍ7p=K pssѣGΣ ň'Ojժu 鼼&w8,_͛7GժU++9֭+%,'QV-]C%wEٲeپ+W*;d7amg0bM?q ƻQupp)S@$ɢ$O Z{`gW5 "4h@gΜv1bͬXh4iF&%%! ]WlY=/QQQķo`ff={j\֭[ 4PKn& kkkI3fRqȿvڡZjhРz쩲[.fϞwna&GbP@v=€`ll KKKO]橢dɒPfG!]wmڴxHLLdѨQ#~WZJGi zrZ_W4hlmmѦM/^\-&L<-*aooϞa||<_Δ_9rdxg̘"B.]=pW$g7μ(^8:v ib+WFFF|tCq6o +V QQQ8x ++gRSSQ~}X[[ٙ};6lPp_~%Ky*lxٳg r(qEڵpIp =zT. s/_ "*^AG c6`/,5W~ lZ*]vQFHާNa̘1J}WP ~tsUY״ʕ+lQa{D8y$<<&cŋǷoTuVXZZ4ݸq#'OXwޱ6sasi\\\pIUѳgOL0͛7IB'''y9s&&&DR ›7o q4nX.FVNk1( zD~uj~"ۙ8l۶vkӦ N8t| п\p~~~jg[l\ƍ-;.(xtaݻwpttD2epED" 4HezpUoz.8rgdd /V{TTLMMѦMTƍ /^P#GD1rHeADE*Gw^`РA H$UOMMž}X  0\Ç! fB?B hٲ%6lc߾}J[駟4ƶmtޱc| ۱k.eTzDqBz^z"ž={4 _A#~:%%[lA5@DèQпh[lai`?lقK.!##/_ĉ'o>HRdffJ &xzDǏC  22s b1<<66&ٶmU8u2?(uѸ DcǎQVds???9M4AXXkrӧ)b;wā  $$$`ڵŐJy&_w+ɼ;w4 _A#~8\|AAAP"ԩSmۂP\9{ؘ"Bvt]ݻ7B!@Dؼy36l[zP$c r"s4?>* /_+7n2/^A1={:QCW[-[e˖ $ Μ9OOOJ,vGNVZrH%P|yDYN~A'r"55Gw ax   Ѷm[Ԯ]ϟ899C:.a޹>.FbAůɓ'S1yd+ ާr bƏjժiD" ޽{#""B!ͺu [n>ja'=^|ɜi1d<x"Nb*Vɓ'kϡC@8[iu^^^*x·S?%<1Ok~~~q Nzz:aaauw ,&MD SZZݹs7oN;rvvVzq]6YXXЈ#۷oVnm^:yxxН;w䢠j.mddD3f̠?֭[G#4sLڰaeffHIUVt!.>}"ZW$QN(&&oNcǎ]T*ei*T@ӧOJ@;שS'pVe1ccooO {{{""2d?T~})SPbb">5"+++ڿ?effRrrdaaAaaaK 6h4˗$y,YRH$R+ ۷{Ѻu\rG#FUDD߿'___255.]Ѓ cjjJƍ#@@?~uq~,t(k3f(y1k,4H$RuD>|8VZ,44˝|;777ܲ]|}}ѪU+ٔ0bjZׯC$!""ZwUL4 DYٗ-[6QgϞE:u`ccҋ ]֑'<)=VZ%Q_ٕ2sLnݺ"¡CΧL2 "xzzgϞ!HKKKβHR$<ZE:B$L2h߾B(g⏮]b…7o~'8::G+ӧ066F2epMyR1( zVO- +_<ѣGTXyt;v@ڵYC(J'Nmڴ1~pQ(QUVE.]||GϞ=)S(+Ƞ'L"B۶m{j166FƍUF]nK;|w]6Rf Oч8033 m۶aҤIZ!PErr2,,,gW]?t>~(\B `J]JRI&Sܷ~<р:ɓ1n8888`޼yhذ!1uT&44[V&Ϻ=zTT _1>ȓA)@nܸɓ'cሊBrrڑ IDATZ=߿gn*TдiS8;;uwǏ:^z/,x۷ouQrͪU   {Kd\ QSUeWyS)?y'4'ʨ>׶mۢy_~'vls^ tR.33r(UTf@dfftknn"Bxx8 88Ŋ KZjZy*(>|%J9&GbP@ C$J*ajj5k>i& 6mȹH8Nׯ_pBXZZ\rHMMƍ6m1X,ݻwq+bժUC׮]-O0m4t+WfmVdcxt_ϟqQΝ;Qn]Hv=$Or#2|{9sׯ_ǵkbʕ+ R"W[>|///:0vXȐ{,XTXJpAӓ-I0Ppׯ/\6lݻw˥Sׯr 607Ϟ=T*1c`bbiӦ5 dXm1H˗033CΝwua*+ 8p {҆HYvggg̞=[ׯѽ{w 4ѣشiΝ;7o"00L,Y99)[?|qaƌx"5jڪW^j)==cƌa]\\DDDנ|aƍ٢E3ϪPЛ#$$"x%R).^͛7ȑ#x!3ES5^e$A@`[SSSv@V@uvo/FBBBCC )))PZph\r 6UV 'NsP|y/_氰B-s||&MdQ/_aذa_bb"п|/7}ӦMCPPN>o߾Ν;صk9v#Xm1( @͚5ѰaCgϞ@ @tt늲+bccA(?g/PdI#FbŊ~[[[8::h֤ Ο?-3|... "(QH$J\2+ݻvq TXgq-UNVFeԵq(]4&LPHNNf|޳𞺔}7͚5cv܉e˂(+H'n7o3l޼ ,/. ?~,_ͦfΜ "oy9~D-@oRἕ@yy{{_E"(V}vޭu<]rI*_|ރ89r$ۗڵkG/_.{f͚Ѯ]hڴi,7oL Խ{w:s ͘1D" Bz=u҅UF 4+WRll,=f̘ADDR4WtAFkz= Xiڴ)Y-[Fׯ'Pa@@ , ???7#} oرcԩS'""^mܸ֭Kmڴ!󣐐Z~=]t6l@DDZb5? '''""";;|Ã/^Loa`9_;H.2HfR8׫W/ڳgܹ#GBڠ Zvܹk׮}A̙3S?{|||޽{r/_N'N;J>>>t9۶mǢEѣGf͚|GҥhС$ iذatҥ,yy?'OЧO yʕ+i4qDj͚5ԬY3Zb͟?D"I$:{,) 4&OH$T\9{͚5;7nUR233)##޼yC))):>ԑWUQ&_vJDD;wf{Ƞ:лwI&E'DSL!DB7k'''6!J,IC !333ǯJDtBhƍ@DY+W& *Q-^X׮]N鶿zlܸh˖-HOO' F333^:ٳ8zd'/ǖ VZ 9@[*(`YG[$h*ԕppp@"Bƍe[ܠ>|9FY 8&L@ ȵݺ.ޓ$*U d&{-[ě7oUVr{Xz+++x{{˙9èQh"WSLaQ]]]/V ɓʨذaMy۷hܸ1D"Q;w!66m۶a֬Y8۶mǎ,==駟̷ ޽CΝYƍD"u놘q? 6}@???.]T '''e˖hٲ%4h&X/_V i#Xm1( LMM\.]7nPz]QV@FQ=DCrK$9׷D###;V'.{U{ "~3xzjYFnĉ3BӦMAD֭J.-߿}(+zt111ܹ3sڸqc,\iii\"|ĥNVFeԵX,Fagg[nyG RJݻ!"888kٳg#22c |}}+W6~ (j=z4G.uԉƛ7o <9~D-ؾ};[ئMB *+ Ha+B/i{50|iӦXt^8ƍ@ C5͛J*E8ÇP(DHH*U'RRR{n 6 Çgێ;еkW߿5j[nhѢH!FH˖-qqY;v@n`bb "99W\a7VZ:+NVFer߿ *Ur=7|PP,?kעQFСT#Gijgdڅ x$HJJQjUvĉqu]6#jԨB'q+^[lٲTɓB)CNGbP@ Dggg+WƣG waQ{ "X[bÊذ1hc4o4[LDQ 6 X XbAQҋte=?|?W؆Ν;sfsg9C;c' S1bRr yyy17H$nݺݻw ٳGfe*PHVbV$h֬Y@[l˗/See%0ڵkJ wԹsgp8t-<|[믿I ICuTSF3dwٲe@ENfUٳoQrr21/jڷo/q}QH$bhdffFNNN&+"of#Gȿ3X$066&sss=L\.RIsԱȉORn݈!mmmZlY马dl&L@]tQ &Go˗/ ˤN@@?~D"Sjj*]pJJJٳLfZmN+W$LOPH`\y9rD" d(((f,o%deB[l!uuuF47[_ y ݾ}ߛHD'kkkD-QFIW6UUU0*+,--C֜>}FIFFF޴/^1@fb͕:0{hiiID&zyɒ%&^555ԩS(>jHˤS2)OTTTիOOZӿ ;Y oʔ){A;w,|D,S\\3F"iCӲԟKzߊfݺu}5[_ є' EVF7onrntY>B!ijj4ڤIҒ\ M!!!eA$Ȉ~*dy)ϯ귳;wdҪTSXX^sJKKl>DHKK#7oꎈ RT^T폝o߾kSgte ,C =}G ݐ^^^N}%~m|8zꅵk~dffb۶mKKK{ڵkؽ{DyuDi/))AII,p\|YaǾ}{M`ܹddd(μ޼Dz+|>Nœ9s`ee%sssػw/K؉'d^@D2e NŰa@DBݑX&X,nܪʱcパ#GCHHHݻ%VڵkO>ܹ3ÑWWW\x#Fٳg죺hӦ w߽3O^^lll0qќveza011AϞ=bƌׯ2Sx%\.8UV?L tGF`` bcc!Coh۶-`Ν.=z@$5抶6Ν;.]bƌx\Ts(ElS8vXe@D,\\.9;;P+ͧեUVɤiiiѲeH,3ESYY7FnULJQ?y{'&&RsKDDv?[w&O45,,Ǐ]_ee%M4PVŋDD_:X,zATEL\u믿!zڹܼr|5jza|cJڴi.]vMnu 0qHxMU`' *{Aˎh277)SȥQQQr) 4ZhѨb,MMDDgϞ%hUrJHH WWWjժ{'o"?{2ՋQ>}ӧ# rqq . ѯG&MjT]999ԭ[7xw^ W+V cccD[]۶mU*Kǎ#5556mZb dggƍ%'~;iR;ǎ#G3gΔlIOO'wwwrrrKeeephݺur).Za' *{A˖I&=b6l($QCx%і-[\F%Kxgee&IPP999)t!;v,&XfFǎ!4x`cDic˖-VcY}&]֭[ =|>ҥK\*QXXH+WdW3ax|> (]d FRoNjjjry6\(%"_>Hqe#33ر#jؿ?n߾ }}}5 ݺuS]]]ɼܓ'OԩS8|{=)-[bܸqXr%$ܠk266HXp!w[[[>}EEE?~LdW=aFNf 05GCĦMйsgL2θ>tttL6 W$k|:MBnn.BBB vZ'Ovvv5mݺ5%j:0^m,,,d!R6l ̟?w꜂p\L4 pwwJ]vE\\|L7L D=z4.\0 t;v@pp0Ǝ֙A$}vxyy!$$~mݺufΜ9'|Ǐ ڥK0gj"ŋqF ,F.YODDD"Q&ܓ&MBQQF%CcY`EEEAGGGORRĹFAAݻ> 3g7|WW=D5DX|y@JEDD߿F9s`Ϟ=iqqqG^^D5kHxxD֭[xbrcǎĴiӔ֎Bhiiau#**JQQQ ",^/_… 1|n̘1;vl f;b1ΝǏK.hӦѫWz]WouզMk׎Y®nǛrh^ BUU-[vTUUvݻ5yUhGaa!c8rBBBGm4g+5ބ rrrh߾}R} ,kѤADDFMަ)oB6lE`Ȑ!R}[nXL'NՃ*QNLL$gϞZe!buRW&uuu*))aҪͥM6Qpp09880-XB!UVVJ.33oi;'ICٳἳޞٳgI";whժU4p@&'p8x͕:j @2XϏ?`7o&C'OV'Q֗&2M-|*p8TUUСCpwwǦM?#==ڵ )))Xn6n܈#..yyyuD㏡Yf5H^"zau899PVV!++ x._ GGG\pћm2HIIׁ=cڵс.\ .\'|XhY߽{0e 2{Ѩ jʔC]]}\\\H <<1c ڵIG%O4b|}}ISSĬ… ptؔW@T/^/3o<== ͚5K%߸4vr\@G2 ;I&9,PCC֭[+-[(ZF*]_ܟ9+W(++CFFu $^ĝ;wa@߾}qE?v~V(555DDDƍQQQL̞=GkTbwƕ+WHMMٳeфf ǃicD\v G<<<0|3In8%J*{o @?S-Wǎ Ks&33ƾvZ'Oކ폦˶m$>eVaͯdCtt4 6C"%HxX}xe BӧOFYXzz:=,,La22ZYY16 7&&&eai`dd(**jTy7~g淥%6l؀Ç7\x[(T6Ձ|PDFF@LM`ccPXX԰vZӡVrrss1}t 55Ilj':QXX:ujʹz*|||  Jfϑ#G6~ۤӧ &s Eu`' ,2ÇAb1sLgЭ[7a֭7osLn܊EVrO8/_ƭ[{zOOO:u K, dװH ߿燆O>?>࣏>¥KC!Yz{%K & pap`:_*[,_n: ͛7͛Ǵi$Q+bҥK6[;w/_D^^ۇ2#((H&򱰨*:::>|c}!!k.taaa R;OUV1'Ođ#Gжm[XB E&l۶M"ڵk 'O8 r7MnPX2UAU;00̙3ѷo_Ib(Pl;wĶmE!<<]iii^{z~?Ftt2DcQ1X7,2A?b1'nݺ1U!|Hr'%%}p 8PbUouuu"00P٢ԩSѱcG\v zzzIeƜ9s0geA !**J"˗())JxNY>455!%jY a+$''XaQ,w %JҴHLL1A= 2@UUDm۶œ'O`ii+++CJJ ?~ qYIUU?hTVVÆ C۶m% ߿o߆>Fnݺ)I恣#oߎ믿رC>11:ub~?}vvv@QRRMMMeX:_= ,*AvPXXӧOc̘1o!p %V=QF)ClX%!iRdeeq8#ѡ#GJ+))!OOOxԧOrrr".K6lfnݺEZ"HLSNI={,slTQQ$*wC`V'ց)WBNN}ܜy~y322c%I]O/DJD"уʕ+L:ϧ .$555tDwє˖-SDD4`ȶ~~~̤{*#w}aV,MQnYE@yҔ+ KSb˖-asssׯ kkk믿bX6y蓦c ;Pp8o߾: B222"4rxw> eùsH__˕P?caQ'Ёկ,,#))u<{  RxFcǎASSƍCYY^x H{.'ncc'''\zUb7Kb<}.]BJJ ڷo{{{xyy)[<& YXXׯ_GNNq-ٙ}c $$$]vXnVZ p8 4{E-O<Z74nYӦMiFb|:h#F#-tluTSPPdlܸ ?… g򕔔@QZZ*)|8 ѥK###˗/[nŜ9spY 2%ݻ7^|,M\\<==qmtܹ TqqqMNf[Ѱr+@yҔ+ j>}ul}i$cnnɓ'777Iǵop޽e$%%{ Yij`ƍ{x˭4[5`u -[w^dffbΜ9ضmŒ }?! 6 )~E;۷ŋ!C(Hbw}WWWffffJäJ"H@DHJJBEEDXX>ąeV*"մB"99Y͛7q]Ϣp8XXX`ʕ͑c HC9r$<<<0|x|@sss?k׮ꫪByy9/_N:aҤICUUp ! {nʂ tx)N8;w˗2dt.\k`bbMMMHIIAYYxmobb@rbp\cǎ֖Y_(SNoxsgxxxJN4;#Mt#| D9995nذtuu|:tY~S{neNϟ/YT[PܕH?3Q.]C+WdWWW裏h׮]4tP1b-^6mDZtZr%k׎H[[r%G𠐐ZhJkhhH'Nozͤs8200 200 uuu@666A^^^4tPrss!۟?RSSI$?>'_h"8q"YXXRWWiӦѦMh4ydի_~')SO۶mW :,,,ԴFpXMMs_M8o2dHkٙf͚EK,!&㑎 333xr{㑓yzzR^hذadff{ٳ+c,5ˀw}UG^),77tdffUVu.ѣGӓoS$9gl߾]b0$%%aƍpttDHHJJJP[>U9Er ={̓&O kkkx{{cϞ=ݻwQUU---t>|8ڵk={JWXXCؿ?|>:w ccc<}_~xD!"< .DXXx<ƍWWWhii&&&ppp@TTB!8(((!annpN_z 666CB!>|X#""с@ &D"|>tuukajj* "77&LGڰE6m ?۷G˖-PXZO"kQQVZ~ ^^^裏ЩS'p\۷ΝCZZ ڵ+ѳgOJ=zׯ_GDDb<YYYׯ[nXܼySNEFF,--1m4 :::pwwG~~> hii!-- <PSSC^СCFdggC[[ZsbTTTƍx<==ˬFx<|p\hhhHW(2o555 IDATUM"ɓ'7ߠ `bb;;;XYY!99]tȑ#akk GGG֬VxV\ "BVV<777ܻw/ҥK쪇ISԱMyjx{{#&&prrBjj*qM\|:::hѢ>cXYY bEEEHMMիW3f ::?P(n{̘1;b1b13Q̄/RRR/`ҤIyall& TTT@( ZZZ(++Cjj*;".7uѣW^Eqq1X닄r ٳg\-йsf-778~8N:ZcС2_u= GGG@KK ;wn>5H/!!!˃矣e˖HJJ>"""0tP|駟dܪƑ?s555t%%%ΆRRRX  gϞ>P\\dC$R8Glllc/^@WWeeeزe  ccc899-Z@EE\'''hii!//f]QQ V#(!"\pFtt4\]]ѵkW\~m۶ ^zVZ111hݺ5:u;;;o666Lͅ;߰VUUA(ĊB޽q~w9RW@ @vv6D"B!Z5uTa׮]Ok"O>}􁝝% CKK oyy9455ט"33]M CD"$&&"88$=/#=={nܸ[[[hkk31a̘17oϟC$?tӧaookkkX[[C ZgTTAAAē'Od:9owűcpMDFFBWWvttt/^|2Ν;Fzba(--Ž{@8())98b &~p淳3<<6mڄW^xmn|5|sssx{{CCCQQQѲeKfÁP(ѣGLLLP^^>ѣ\\.xcVQh###3{6~xbCzz:}`ȑ2GB___"k׮ptt'ggz{qiz NNN7n^#qƻH$BV0h ʊyjoo;;{c iiH`gwkkk& M8֯_Orl5kDL>޲($$%|>%''ӏ?0aM2ZlI(--M,9;;ӺudV͛7LJlmm%/iMJ=UŖ-[]qppK]SNgԨQw"Ժuk1bXéJ.(}I􁇇GޤO<<<Iŋa '5j\rk׮Exx8B!> (++CQQp8ppe*Yz0vX\z߇..\~ ]vEajjZczꅫWܹ#a⥩y!++ ̦db|TVV2{b$99/&Ν+|ܽ{^^^033CPPѦM1&,,,5ټy3ϟ!CLy^t)Cv퐚1cƠ(--Ehh(}q͚5/"Aqyhhh ;;Æ c:vֵnihh(//gVg#%%YYG.]PXXHXIzz:݋rD888 !!9k.CSS֭|52449annL6M.mfiMN:1 +>qHHH~V1r)1T*G~~>SܻwwEQQPXX0;;;ɉi*K899aׇ:`mmh~dggcʕ8|0㍮m۶pttD1`NQ!&&V! WWWmƍ+tYNDDPWWGYYPTT+++)P(DTT8 lN{W^!##ϟ?GRR޽L顢"٬^633AEE L0r077M}('cӪU+$%%1yh666ptt% ahhdeeؾ};s#񐝝taǎJV#qQDFFgϞpww"X,Frr2_DܹsY!֭[磰 =z+` ͓ ܾ}7oDRR.]T`ܾB$HNNFvv6WWWܻwO"EvKKKƴe˖022B!233q&!&P.򐖖={b޽ >Թq݋N:nnnelX}x Q}AO2ӧOѷo_wbb"dgg#-- \.*++՗~<xbbb`bbCCC!%ػ3 "*ʪ(.& +"e}s-+5TjWrAsL4E.d2~:1 u]^W=sYfrNNNꫯeeeGvv6bbbħ[ B$d2999h׮bccŻ)#)) .]͛7?VuOoAxp\4#Y+**L!//FFFhӦ P(()) aeevIzcL|T˃5"Bvv6p鹆xܻw"''VVVJaeIE-L&51Zjk,'|zwK|r,_\1sKsK֭[,+cyk)XHzz:1?WXckq̤#==]1cFFF|p|_c c1cL22u`1c{pc1  1c1pc1  1c1ՀhbСQѣG ;w`dd޽{c̘1*&$$ 00prr”)S`jj*y:u ׮]C~~>:u &m۶j]2;v .]BII Wz8p`dd1c_n|\v Bnn.0yd%* QTT:`Ĉpuu!((OOO2&%%!** Fǎ^ ~g\z999رcaggrwbHMM=L s@NN===ǏLVoMRnv#K/sΩv~Cff|xfĄAO*%CCC222"ooorss#AO>TPP744tttښ DdccCwޕ4w||< dggGΤE*:wu>|H$oߞI__FԯzIZZZ4`rpp LF6lh|ݻ444CM:::DYYYgQ%''G -y{{}ˋ444Ã\\\HϚ<ߝ;wTi>pRT'AƆ\\\HGGtuui۶mUƌ A nݚn޼)in"ϓ\.'}}}=z Fْn.vCێߏg@sApǎ xLx>7%YDb7oޤٳg޽{髯i׮YYYQzz@ ЪUĶǏ9ۗ>}JDD hС掏 PRRئP(SNG=4*Էo_jժ]pAl/**|ihhйsĶI&&7YƿKMM%]]]9r$իWIWWL"Y 6ԩSb[II EEE_ *͙3A+W4i{;Cv-[ '55Ν>xHKK ^TTD&A --O>&"ڵ+QrrvA-Z$y%l7DIxTn;q25UV{:haָQÇWy1 @3fPj/--%MMM4iضg~/&A޽{ݻI ۤ])$$A}دr95J$hMO+W >uTѩΝ;G _]c?kkkTj%9sfSFTr̙jȫ? w߉mG%A(88XիIvZf&97J154톈c9|0W^y{ x}Apen|xf/Bo`iiT+ *8P|]tttbr=z:::xQXX[n!''Jׯ#??Jpppŋ$*033C׮]eQѣd4i>}xdff*INNFZZZ)._UG]]Ν/rrrɓ* nJ}xy:,v2qx "d2>RK<H3i&c…8C_sݔvk%Y`5PQQQy &@PO?źu<= 333_AA H|]zj?J9[Knn.qFl߾ݺuٳgd5 /_V~uZM1Re)77Xl֯__~+.\aÆڵk/\(--kc?~VB֭*f IDATZˈ#f|iGدnJ}xy^}?JJJ}ML:;wyyyOQ^^V:WШMSScn Ē%K0{l̚5K鵺V>"PTT;w7!''+Vŋ!NXcY5evZ̜9e,X'O|?w ̝;'NĢE^knɇ~͛7cŊ9r$ ax{{رc1bDݔZ¼3/=AݻwcʕU///DFFbƍF\\ܔêEwf?pttw}Wu;..{Œ%K0w\ر#>\p`nn*cdggKy!!!x뭷0qDl޼uͭJ}UVHIIQ:%|||b CRk9*_WS)T-SŠATܹsqe\|Õae-8 кukLP(.ϚE^pjϫieee@}vJLL+WѣIZvҘ^^^$d˗/4wBB!mܸQ|OׯK˩GԦM)11[ק}* &Ah̙HΝ;&)+mۖN>MIIIG }vrˋ((('ڵӧOL&7xn߾M.]"WWW&ϸg y 4m4q,++T255%]]]ZfM?Tߟ (00믿& ?zIڴi&}6EGGĉIOԒ[ZvCێ:7xnJo6 LFǏ/Bi133S:W>-^X)7k%YD Ad2񿵴) 1bRZbUTT( ̙S_S|??lKܪRÇ+=!҆ @׵kWqFS%99^~e1-[L̬0RRRܹLLL>U4\rdTXXHW\qϕ#???M:JKK%M\cǎUl``@K.J9h o;v*_VܹsG@*sqnZq5ߴXTPPdN*=xر#LMM%L0ʝtڪ]gB$$$Pnꐜ\tYUbsTm۶ڋ'pmQℍ/==iiih߾/,,,Bڷo_]bSܷu5m;??z|xf c1cL2|:c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2\0c1$c1cL2"Bbb"QXXCFeG!((w܁z1cƨ원@ddd SLdy p)\v ԩ&LmJ&eee8v.];wVW\\ ** FFF3f ^~&ͦʵkp! 'O9T@hh(Ο?"t#Fا AAA????xzz6y$DEEرO&u255UZ_8'55I!!]]]ڶm[1#"",--iРAdbbB[7oJ$I__G$QvvcDn޼IgϦ{W_}UcҮ];t- AUVm?&sss۷/=} СC%O ,$MPPNHOO=z$IꔗS߾}UVtbbb~AΝ&MD$.55tuuiȑT^^NDDW^%]]]2e$j2l0266SNm%%%%_|A Phh6g\$ݻGڵlB P``RT;wgrss#---R(b{QQڒXGDD]v%333JNN}xdff*INNFZZZ(.rUUCVΝrrrɓ*ydf1 Vi&c…8y ,ɓ'_N8sbĉXhksyfX#GDaa!6looo;v #Fhvc1 FV}4v\\݋%K`ܹbÇѱcG|'p U_o [o'bU^mg>Zjk+V@ll,<<$;;un}"88%%%JEv5.] <&obb"c׮]Jc]t$*G;ϟ---!""WF>}ҵl2L0f… 3g]vx뭷=*ƍ×_~y:uB@@._,^. ',Yccc-[.]_?S >SLˑ3guxw,޽{Q\\,xY<~0sLddd`(--ȑ#zջwobjԨQXz5ѯ_?8q=Νt3=z`ǎk@n߾%KcI15u>=#O&OPЈ#Њ+BoFF(5gΜ**oԞuM:mJOia200uڕnܸdTINN_~Y̠G˖-4Cu233 ~;w$MM.\_e2ҕ+Wj\W?sO죡ASNR2={رcҥK\̌1Xm DϝWZ$''vvv}ׯׇ-lmmaee---ucnĉRc- -3zL-[>@ii)Q\\bL&rJ9-c1ƘESII 5 œ'Op}c?~̙3 p^Ǐ1aY0~xZ ={O>C^< ^W1ƚ1x`9ǎí[b 888J|||0m4eH IDATɓ0`?0~x8;;ɓ'Ǟ={=1mm{.] YaR[ `ѐP^^`],_^@PkGaĉbqc5+=ڱc @_~ؖCdjjJeeeDD_ *3g @W\q-n??q9@]t!IܨW^K/-5Z(,,$CCCuRRRYZZR^cIݻGվyё 6Ds[5yѾBc1V[\O Ç/^L н{ں\ѡ3g8Z>}cߟ455ٳdffFC !A,***kѤe16DFFuԉ:uT54sii /۷oٳwڴiC*62.//Sɉ4׋xѾBc1V[| V=988RRRSRR`hhm"99iiiUpwwŋ%+!C4wEdd$ߏb̙_ЦMaѢE;~-ko׮]o0qD;v ۶mSƢy~~~(((ӧaaaQ'sRR&OE ^Zq 33غu+\x!־}i7oF||<=ڠqչ^46_1kV]TԫW/rqq`:<}gI۷o'"0[&L mmRi-[&ѳpZd2mڵ+9s8;M4IYx :|NoŤEŅd2kLmmmH__Μ9kO+{xxЀ$͢N/WHb1j }6 ⿅ S;vAÇWy3H*))vkk+RŋJ_x t֭jǺqKxbSFӧk5t(URRRN>M+Paa!:tO%%%4g@G? 3337>^LP}EScS)&&/ڴi .oc7.U_V$$$A711Annn(;v ӦMáCTX}r9|}}abbz 111>N SSSҥK!B_S'O`ƌĉ1tP"** ׯȑ#1qDhiioy @PPlmm땷!LLLbرcannocch*b1֬jؘ?~Ծi&Ο?O.]"Ah۶mU?j(255qTu7^{;vi}{=ڵkW(33S}ٲeW_)ݻw7G}VXXHVVVU~i zVh"@ |kyQ ͟?.\@FFFdgg]|5h>^y?!kkkaee[nGr\.~@q>"""k>v!*GTϣm۶' 2j5++&>bz/ Rc[nUϝ;G Ў;(//444ޫޞ_4`eeeSQAAYYY͙3rrrN8!vǏ7|M6BDO#F^zfi:fVV;v?@ӦM" [[[$Lݛ0)1<==cܹJ1]{ѾBc1V[| V=YZZ"99J׮]_711A߾}ROtt4 |}}%ܜ$$$UVW_}tڇ!݋XlٲyyykFNN_4&())#GL$xzzo-|VÇuܨ㚛 wń {n!!!҂Aa )`͌3pYFl+((@FF&N///$$$1z1X ڳg @Æ ˗/ӝ;whϞ=dbbB"zvL&7xn߾M.]"WWWO$,,~'/Կ+nݺ ԿR(xbڰaЫJǨ޽{d2+}gRRRmFdooO.]f_ȑ#I2?b>|֬YC(88ѧnK,!CGݻ͛7SNME )W1Xmq| +Uۛn޼oΝdbb"qpp?S $Ќ3ٹdccCgϞmСC;C?ƍG=zgϊ{ R9(>><<<͚5VOL666M25kHGGӕO:EFFF"h$BLLL矔D4m4ulW41->ΝL$''#::999R3fÇz*nݺ۷ogϞjJNxv7">ƅ |> ;;;DGGc刌… ov޽;۷аVyPZZ z3gTU>ݻw?z}{u%2ŭ[UVpww,--6Ա^4%_1k.i A`ggݻC.WOWWݺuOn߾/_.^o0c +ظq#oߎOEEE@No㫯bcc+VU)SuС)AӗΎ)\.ǬYm62$$$VBaa!Ur)H555䄰0HHHQj=?Ixc95_'S,\ڈE~9"##q)|SSShkkã{ L?AAAGyy9"##ߓ?CXl<==3gիaG!99Y"oPRkkk_QQQƻ <}՞d2DEEѣGشi6oތ` 1c k4O>Ÿq;wxv[C!66.6nܨ:::􄥥%N{XYYΜ9>^CCC;V~ :::8}_l+ѣGa֬YxrJ"$$M6}usuuE~~>^z%TTT1޽h1ؿ ,^wUp1>ƌǏcÆ HHHx_?cDFF"&&aaaBXX aggW";;Wkʔ)믿0w\9rUHKvifQ̋/&Q\\:@[[/Frr&$$O?ĉ_e—_~ ]]]#;;ӊPVVV(zck\EZmxoܸA2֮]KÆ QF\.DϺukUM0` MMM1c;my=<zS￯4{Gt޽j5" 8p ٳ… O8A &%%%kZaaadhhHӫ$l2""ɡ_\ƾ0ssג1 XKRꫯR))) mۖ444hԩL666JJJחLLLuԉM6,X >G988}iƌ$˩GU4GVVV4p@ϧx'ORTT_TXX(& ~ǨKTήCdd$M<ڷoOhȐ!tMӣ/QQVVF B|e"|_~Iw&wwwt*g(..D e)}c1H3RT.6mڐ-]>#KKK277'wwwK9mܸ233 PVV}'dmmM4i$d4{l@#Gߧ@Zp!jՊ^yjNZZZJ')""B啑A4vXI.{%rppӁhҥOVVVOr}\hNeeeJ} e^^({n2333ߟbbb4fm}c1F"d@&aΝprr/.^gbСX|9⠫W 6@KK ЩS'ܺu ZZZ)r9LLL=zܹsP(0x`\~ӧOǚ5kx{{… طoΝ;7nѫW/ :,g,,, B!4աԩS1qDK.ի1{lܺu ɒ%ҥ VXW_}B>}pqL6 Pzw211ۈm.[ zO?#;;=zy+B1SwĪR,_XXHj*/}-_r9RnHSS͛GӦMN:L&#diiI>RА;mڴ͍\]]YߟLMM`IVQQAԾ}{ɦ)b0ad2ںu+иq ]@Dظq#,XU>mjj}a̘18vx!L>;wŋvݽ^cuêNؾ};YZZt֍fΜI+WBڵkѣ)--c_M Җ-[˫&&&ImڴAqIP-YIWW\ OAm۶!C mݺӣ?Ac:tмy3غu+}I999&GtF^`1*/ Aȑ#z*{\|ͫշT͛ /Ґgٳ!CƍHMMŋѳgO9N߿tܹ^` 88~8vSc{PThbר%؈%Qآwn؂bFP# ew?3w{fvvf̜s#%%1 $xر;v+<<})Oys |7n(w}M߅?0 ϊK.:uƆ:u͛-Gߪp֬Y$I___aÆn\\\$Hq+hѢEZD)۷S"(E>;u$N漽CԩSbAl޼9]F\n $~dV\ݻw>۷o/~ޠAR"{~Μ9*ǏI{%d(2С?g)d4Eح[7:::RLӧȨ@FFF?^h20zzzxuvؑ6l{MD+Vpرc|^vB]Aq+hѢE,-Ν;prr۷Ѱaï-Zvd?DCXXXX]]]XZZJW\-[hҤ jժ{B&᯿^x#FO< 44zzz 3ǎçO`iiI&aN|8VX˗/y戎9:={iiiHKK!ҥKX`\4TXQٲ|rL6 ?~cdD._~8s OOO4n"?P< MӧHHHbhѢ_@RPz-Fkk@Z2GW5hhhH///񚧧'ΎQQQlݺ5Ύ;* ϙ3xAZdd$?~H`J(JjՊ={$Inݚfff;Hwo:u֭[@(TQfM!--\j̪UǕ2SN֭޽%JZjnݺqܸq޽;pժUEY2r#W'^pAmkRGG&L`Nĸ5tvv毿wWhq;m&mҦkwm<k _@vrpE@bb"~ %KD2e͛7cXh6l;;;իWѣKhpY%7Mu֡QFի[JQ3Cn566/^ĢE %Klٲ񣸃4 !3gΠ^zKbɛׯcʔ)  8q+VDʕ'Ng&\~PF \|IIIر#d2R)HBWWK,p=\t .]իiY@3glll#JQf,dL?@3<99O>իW۷oeuh_/rS刏DŽ ;kk@Z2Gٷo_2~~~|}KG^|ƴ]WmǏ޽xeiӆ}Ir˖-ҍMMMO}}}022|  8T IDAT44TiU޽{C ɱÇ G_QLJ7nܠ#ׯ_$E͠AXF gz,i``ܹSeeǏ,QD$sΟ?O2Eq9o>(s^ T3334j۶mCҥqzh s\.Ǐ[#55r%KħO'J044Dɒ%ajj*U\.GXX]]]rܼy111dHKK.!`ccڢRJ_G۟/p+ΝC.]PlYcǎ0773ݻ?gΜիW1c ԭ[077N;>>7nľ}p]kpDFFZž={p=ܻwyfDEE)=Ð!C'N`׮]c޼yE͚51alڴ C AQfMرcu͛'"H$8u0uT*;D.^TcÆ ʷre) `Xh`nn۷ov2KƢE;v)cŊ#,, VVV077Gbb}P6iDDDFF ׮]˓{ۼy3͛3331зo_N%vZ899Y9)W|}}1hР\ˢ5kHHH7opu{LLLݯ_?T^ HLL=V^^BPPʕ+}}}۷O3PR%HRC.ѣ9zݻw(|e˖U.-Z_uEKe֖:t(L&ϟyN:411aٲeiddAߟd)___.Y400D2eerJRI8~x՗e˖GQߟݺutLbڵٸqc6mڔ5kԨ}*u@ L$/_^ ":BBBxY޽ǏΝ;ÿyOe˖l۶-mmmǏPIHH+8vX6k֌ժU 7m"kޟZDM3O> \tt4-Z$F%0aJ =t͚5;ww ŅتU+vڕرcG޼yS=W^ɓ9|޺uK̯rnccCDB}}}Sz +hhhAȈ+W3Fliii4336ꚧ̈ \r%% m$`ҥ}ezOZZt¶m[h9sٳgz"8+VH]]]1Z8&$$P[}ŕX֭[WT6mJ}}}^R)K.p׮]€uuua6' *6}7oxey P&qJ}[۶mEe#p1D777hт {Ɇ 2c &pܹLLLq9A`ppp'22dnjRrʱAׯ;w)x޽|!/L0A|]\\7߈̙͛73 (HEͿ?)j h?~:::N:1%%%_6l; 6055U NRR_d#GآE dɒ\jG6jԈ@z\}}}J$ĉi&NVGGVbppxٙ-)IϏsdB$K\tiĉ +WW]~C !N2S;w:::_rg߾}tss K.'Nx*+ J`s.]*T`%غuk~g&qr=|r>^ߊ;?V2۷o9uTn.]'))=zP' %">>^܁P8@[[[NXmmm^r}֭⮵ \|R跿LLlł"5jԈlӦJ}uu\K.388+V޽{3q-jsNq2|9ܟh ZDk͚5׫W/rݺuV>2sz8**AAA\d % utthhhHGGGZ[[DG| ?~P;/^kժElӦ [lI5kDA,Up$nݺQGGSFEE)DTJ{{<{.]޽{ؘsK3#44fffСCŅ˖- 7nTR\hI2""B2YXX H~~~qN:$,Y"79 %%ÇںQ$j)rJL+Tlnn7nPV\V+T򻴶5---U>u_xtd _^o߾_Heڶm[ʕ+FT*}Q vV۷x_ӦMرc 4jxx8sN'B"9֭sN>zH<؟hZDQ4zQGG{U{?+WLkkB[\\\H<ʕ+l?~\*Z)ݙz˖-R޵o߾Y&r9߼y#S]r tAf…,U˗/;vUVҏ{=~O>eڵU&Η.]O:EI8 QjjjVL e˪yCQ>GqP__ڵ+.]Zd r‚M4ahh(?}D___n۶yGr˱cDziӦY~˗/󣣣yUo9r$jժL2,Q͕I&q͚5*.c۳MyN %MLLhllL6lؐڵe?s֭QLƐ^zn3g~l׮{zyyq1c;{( ݻwJ"]|ҎHtt4ccc)B݂ 2-wFH2sKh &cOKKSAU\YzH&3222{i&[W7/\ VRժUcZZXN6kL$={V+G޿_ ܶi&w4mڔ͛7u._L_>{Us!--޽{ű{tqq ā`tĄzzzBWV\ua:JNN mڴaTu+ݻQ$E266Vfbb"\dL:uL2<}tԙ Rk8(l`۶m|J/^pʔ)6m׮]ׯ_sƍ\.gRRseZrʂgn5kVRJ8tPK麡! gܹs;vR:u/͛aÆq۶mD* ++~d7nܠ5jĤ$,Wkx(*Zn-QBӤI:;;ӧiddD333~ZtNݻ7s,OTTWXATf͚ejo>JRqҥU;t e9~gv(_W^qjw^zԖ֭ˑ#G {Vrٜ^ZhbhQɓ}\z5-Z%K(9,qĉ{>RRRą8mw ˋ~:8  wÆ XNm6_&+RWW ,P@֭[>>1c8~xԗͰ0y ?H nYvm<455%aQq}ܸq7o}}}GÃ}> .VzVժU%O111*ڵ+W_f}4I΋9vؑ5jPZرcPvo߾e~CSSS|qҥKܿ?.\H7776mTt_R%N>]t=Hޜ={6۴i{Wj*}زeKsNKK *v0/^,Fҏ(ʮt%xСC|w 1cXZLω޽{ :ƍ˗rJȈǎyA&u,W#""ԾРAbլY3#O=z(WX!*mZ4\^aqCџp*+Æ ϙ"a(㿶"UZUiٳ<}4G=zښQ{SLP޼y7oްI&3/^,z]ҥ Ir޼y*k׮LQvmjժ4u;" CW SND&MpҤI\l` gϞqGsN=zӧO?P oܸJ*ҒׯWePPZHvڕ@zիWsrerss7ثW/.]Ǐ۷yM(kZZ/^yǢk|En'ϟ?gB9'^cbbؼysJ$V\,Q۶m+ޓBgggUV]6% ̙,AرcGoߞ++TR\tÇS"dj/5* :5pAb i޼9(˹f1FosHbA֭KAC _~-ާ;*)&KuT#GIhttt8bĈ|J~:uU>b(}}}.AxΚ5+_i)\rvdRx"rVܹ󵋐)?ʿʼn IDATCt;cNJ8fFG%>'JƉ#GTޣbx,匈`ݕl_lmm|r k_Z}\*~Yu pӦMJlҤbVJJ⍺r6h ˝ ܘ1cɧO[vӱcGG>̰0fV}n.]Xti1֕"<ϧD"Q ;0n8J$%s>dʕyݩS7(|466D"ɓ'>* 2 q#3 tuu%n3gΈպ+\vJ.?}>pŊ,Q۷3g̵k2$$AAA… H$\fMϫT[nt-66R#GݿߟNNNJʗ/O۳aÆJiݸԑ_bb"e2r9ٰaͱ+27n,F4W1깢CȸG`ݽ{7{tm۶9 tKǸ1j*в敄VXZ8=G{/\PRjA"zQO>]\rw #_III~Xe tiӦWzӦMe˖ښR˳gϞD"ϴ ȿn\ȩk:#ُ=Zƪy1.T͛)HT2}5jӦM>@l&OLCCC?.\PC1c;wTG7hт*T`vO^2݃fEϬmݺ5mllf*Uڵm4ϝ;GD;vׯ %$$p…5jS;zvbDDZĽ{Preڵ f§Om۶Qomm;w,*U8={fy vZ4hݺuѣG1i$ 2:::"ϸq 9WFϞ=QV-ttt0zh@аaC̝;޽;`Ȑ!QѮ];r,Ѯ];TR*U޽{qy8;;HBe3WGG ϟ!@Rw-$$$]v044,TyE!sHH gggcܹ2dDhݺ5ɓ' D"A߾}Q^=Pz,ߣI&((2Lzҥ?ڵk0a(Uaee .A!!!غu+`7ѨQ#ikFRR߿ՃqGDD 222ύP~}=R000@xx8eʔA6mp#44O<1ch"?x"fΜ T.]sx-.][yYB ?1x`YFZB~pڵ,ˡ@}d*W}LLLDBBʗ//f͚!,, qqqh֬6n܈sӧ;ի@,YnR5g|?~ć [lADDѲeK,[ b~L>}ŋ066 055ŤI`cc#66ݺuTX{gφ74i˗/cԩҥ ߿PJ*TB___o̙Y֍  ws* y0W^@*U{roXX֮] 3gz>|8QV-T^#GT; ):us^x8gZlڵkɓu###K?2HoQ\97χ+ڴi3fɓ'8x >| }2zܹSD[( I"-- HIIA~PJ8pzzzӧO2e >\\\w^(Q"ՔJP('([,֬Y#N>k׮rʡ{055ݻ!J%KD`aaK.î]={HNN1ʡX \iȌ7n >>R%m۶ERR 44Tl]tAV/ ((%JӧOH$4l0rbx>7o"&&} !ɲ,O 8qbccѬY3:)W"##q)DFFbHLL-Nƣ!J!ɠ1c`T*={VP e~=Yv)S̙38PwwwqN*U -Z#>}o(d2ARF #Gԭ[III2e N< =):Q\Sܓ[\\\7`޼y0`@QLEZhFub̘1;w.=zTkܹ*#G\rbѣ.\ @ƎUVYfb=z@GG۷oի#** +V-Ə/+BBBdXnLt-))  Tw^ >vXl۶M;wѐ刊I̙3˖-1Vw!<<M4ATTfΜ)gWΝ;c…8s *TkkkRʑE92(Uuaذaի޾}TÇ8qd26o,*xW+GF ]U9Hbʔ)ܹ3&N)S`ը[.R)uÇ#((sűc?^z(Q:w ///lڴ ޽ìY0w\4jFRc``T6cǎ wΝ;t7oCCC|86oތUVjH$YAWW72(ʑ/F:uvZHIIQyb DbbDgggҥKJ4ipAg[===RJѣѸq#'gr$ܽ{޽{N:C׮]1j(} 0a8F۷0bbۨ^:,X`NjY *a.Gjj*`oo .`ĉرc?yG9r$u5jaÆh֬,,,0f}u">>^ 4jFFF*2dPW\9'42?((H'&&F%PllXp!°}}:l‡2<}ʝ;wL2Spqp| \BZXX亿Q~+z*  qGQDT$Ū"rznHLL4hP+:~~~e5=zr W^={4֬YC޸quaժU3EJرc:upРA$[nq%w9^R)'ZZZ+WaÆݚ8jyO 3h[PP[uww'vM#v .^Hbz ;s PʼckkK*1 ._|ƴbvاO>}s:ĭ[.SSShX{졛}͘1#|]ތ3:!IŮ]D6mڨmٲeʔQoݺkq@*HU@-vˀ#֪UKqիV6sB?3ObȈ?UJTe˖} @Pxɨ\d6AdժUUV2~ogϞ%>\Yo-y#((e˖e6mrUǎ#|R6girM 5(W^%ٸqcѣ3]d}6?Asӟ~7oc#99sV) q妁r.^XiimmͿ+ AhggG r ;w,ܜnXJx6))]\\4jbB%+V#>8I@dbbB޽'ǎKzjˋ/-+VHIPmmmsu\E;f&* v͍/^2?~~~Y=|PaWw4IA4b5%%TŅy)-h,AwΝ,ܽ{ cbbnMOZDM?ttvv T{W^,YW5$;QڼyX؟?+XF ZZZ٠"C;;;֮]%JPYCUу*UR9k5,8~wnf֭]%q%N,w޹A;fׯ9f߰&Tf{L}'_.ܽ{k.r}ctwww"M1 X\9}:{ssv=?w޽{)O6l ]tgSRRÑ#GrQ:.7n,޻dU-ZB6p@>~{Ν;JM$9YL\A VR%˼7o$޼y/^`ҥkEX;fOqpZ[[7o~m2~xQŋO=zTeG>c~QS^=QG껮^ʍ7299ܳg4bĈL󅇇sݺu0`g>|PtܹRJ)O;v,ť?d I |ҍحپ}{FEEwϞ=E&u2,P;| Z\ccc1cÃ%KxՋd.Xzzzٳ'tv<))AAA_(DA[xM>}TƉ'o)]t_4^z5j`5rg˖-455Ur,=Z%ϟ9uT*y9rdoӧV@}}}`ՋLԟh*ZDѤ"v|'.ZkEoooٙyv󘘘nݺW?cAʊ{n]ޫW/݅3>|' vvvޟqyz&Jq#tB=daVϟ3!!AttR)SF7ogϞ-})RNI*͛^L ,PɧPZF*UY&PLtXF >{LinyVJ{qO4hZOHH`hh(e2-,,تU+URRRDy{yyHc<~]vwIQݻws֬YQ===^vʫEUV UvJ ohZ_:8q"+VȒ#GPGGRmڴnݺ/rMĉJ}}}qE$wJ[[[֭[&&&qzzT7Soqɢ+8 ӧs<}4WZRJHw>&? Ǐc8y{{kba#7mDgggS*ٙ>|`TT㮊… .WqO4hj'ș$99GYN)S%Kd&MشiSqZQ+hbccUVʔ)CTJs?ˋdzѣGׄBS M8QE;/M#11Q)bgf``W.g̜9Sػw/ׯ_OoooZ^bRRh`ߵkW]]]6oޜK־%--w%eݻ\t)4iB[[[6oޜ[l/AG IDATܹ_&rʬU={ƚ5kH0ݻBCXrrԔVVV9sڪH&&&9rd(ũ?T  <%%E+R~D M;K2yFE|m6C(A *DQ]E֌"ftW\5aq9c5+"b¬1 %<? 3;ρ[5VS+W[dڷo/4RF $S&J2{zzrD֭[X2QUW(Ə+++y!B\\t钼*5aaa "<~XZJJ 7 ղeK.w:oڴI${4l@H_=0x`̞=ݻwAD2eL0`@x<6m$oQׯC ӧOµkװe,_\aE3g,1s@DҥԱQ>7  ===ԨQ#GG^```$%2. eW2Ӣx{{CKKLadIVVZhuuu!+QFuɓ9r6l]t n´iDԞ={f 4,,,Ǯ(hc8|Q%++{F>[h"B0 УG!îgϞ8v4551lذJ$}/$Ԅ3w?0BJ&LazVVV\?|5jԀ6ӧU ?07W~ &&&Bפm`EQS @MM 7n(fΝOjԩST~BB<,!&M*ܝ;w0k,WkNĐͅ7o'"ʤ̙3>;7i$:tiiizꊊW2Ӣdeeq#}v?1cF߿xATBwpuu%;v,>X9 "eZ7eS^,":w,q`nݺr [V}ҩS'q[XXcǎBiRSS!l2&&֜yE5jԀ;lmmEf $ 88ݺuХm`EQ3)) DGr(0􄊊 8eii 6 %%Ee#p#׬Y???""";wDpp0ATBJ%4,YfpuuEXXN:B"rss OOO[D[č)3.d~c FvU4 To߾ʕ+ZÝYfq$qIx} );BSSDQr'XZZr#F7Ktt47o}_|ᔻ?TUUQN$&&r +++QFþ}DE|%!IK =#GB ^z "q׋?#+J+*J_):ʠO%j jjjݻwz1cx<b)+m۶SS̟?>>>066֭[ǹuqq6H4hÇcpppQXvooo8(LacM6… c~Uꓻw"44;v@ΝQZ5nI 0 Eyzz,yLOO… 1zh133C߾}hܸ1+JUӧOSHH=x@x""SȵڵkStttEWQvv6wnĉEDDМ9s(**&NHvIVZMΝ{JڵSBBٳ]F 6$???2dEEEUݻ^xA/_*}wԲeKZb?~QF4|2e ّ:uFADDcƌ}ъ+ŋdnnN^^^Ncƌϸ$y޽4k,rttۓyxx0MqqqDDcӣgϒce^,u}ED{MKK7o.1]Q,--ʪYYY#-tZj4eZp!YZZRRRmܸ:vXzЅ HUULMMɓ+%---$KKK{. 8Ν+z&!!޽{Wz4vXRWW/S=lmm) ݻGͣÇ@ mА޿OFO/^P޽)..6mD4iҤCڹs'ijjΝ;~"i}hiiǏT .w7լY^|I&zJϲvZڷoҥKm۶DDND*Q^^WW]]]$,X@w^*OeSe ;v,͚5lllĦ)mS6TTTTwss$e~tyN8ANׯ'mmmjذ!]r:vHNNNB۷o˗/_Nf*wϞ=g233˗ܹ ĥ1446mpoߞfΜIT^=/믤Yg!^|IҥKNDD_~sR ڵk"[mmm222T8p P&MQU <\|$gӈc̙qFRUU% :{,5lؐ ҉Gjj*-YVZEjjjԬY3!"" rrr8z=y>}D>4חi=X|2d>)00RSSqƜ婇_bccdllLڔK&&&dbbBڴb aÆF߿'___qzܿ>L_I&ɓ'a}899Ѷm())INNNDDĝWz "ڶmmڴi4m4z9*'oQslN[Ӑ!CTFESeٳgD""GDDϟ?vYo߾٣ֿ$^|I5j9/hҤIԴiSpr444t99r$yzzRBBݻwt)ヨ`԰aC222""!CǏÇO[NZt)XLLL())֭[ϧ#Gиq.%KЀH Љ'~ #ӧ c|U+uuu"4%%}0 S .-X-[}^&L 4,nnn#  PVV5nX\p!YYYӧOdkkK# ԃI,Cc۶m4fԤ`dE= z4x`""y&%''K=+>}ڴiC7n$EC ! z,iiiOFFF4*++2 f[H__ݻwuV7oU^|"/%% K$.\H]v]v }+( X#L:}}}?~QQQ0 )wB®1yРA :!6qcݑ$t> @d7o.f󃝝! WWW?BiߏÇWx=кǜ9sDfff]nAEGrr2"`;)))|^s^z\Y-Tȉ@Y1|Ś0aІiKۮ SY fee=r^7Wׯ_s*Ҹh}(ǏlǏ90yd@UUj:t6l>,oq}Jt!Cpf͚Bo朄 !!R܀'BGGG.CYի0 n߾T.pmQիۗ{@X\\\`iimLW= ʫQ̽{0_~-sSgWr h$[IK^IiD@vC ޽{9rcƌY0tPSNtiӦpBx:}tDVR8oaiiGr.8###}6lȥ-ꇽ")IWTRtEJkm?~ *Wڵ+UhnݺpqqAVVሉǃ H$\Q233wN:lի'8D`ukQzu!obNYI^'@aee%>** `ɒ%*[ru0 gg*G#%%EHNNFN`lln4 L:Lgggh|>_JYf R([bP'bnnιvvvF˖-%G-,,8c"//O(ׯ_"BÆ ajjf͚qF!&&F޽h[40"> }v "uĉ_@nF(IWTRtIJClloxHڋ/DfőplܸCƍADjT8Ǐùs-쬆Jtκf={BGGhӦ v؁ŋc֭FHHQV-AGx]x  u\}޿_+􉏏O9swExx8  DDD@EEC gpMI=z nݺD.kSի "nݻ'W9KFF]VZ50:tիW8t?/_aܸqɓ'qhDe˖aŊhݺ54i ̙3%+pUl۶ /_V000@qaq##F@͚51b =!Cɓ'4h*U Y+EɓQQo߾xlllФI,urrHxw7ժU޽{+Z2ÇPQQ9s-X`mڴAfйsDGG͛>={???N*Ν;PUU:LJJ 8 d$kC'\xx1W``` ,[{DId֬Ye600bxf000ݻ"NVaRet]$PLrĕmdggc̙PQQB}$ϟ?:t(\\\зo_ܸqK@e?أ0l ig@~4?-s`枇>D>,***Xxq\V]!K}W!ڵk0)))pq(ĀDАk'NVSSi S ,p*E]ٴiST޵ppp6n(U>‡yw ===cccs{q|]r1iI~~>^|;wӧ5gggq*)mS6$99 XgϞU}ѣGf̘!6qyZj2޽ M煌d_222JHHѵkW-ҬІ՝;wb˖-ҁ N8!L2]uxF޹ 88D_߾}Pgׯ7n_sU;wsNyR,o߾aA JeDDD`_^^^<:0x`erx.]-dr۷Obs8:u ==]z):}T 6T^&L%Kp… WNNcǎR]Zlll\I2_xQ\deenݺx "b$''ȑ#sm^hϸ$ ///k#Ы N묛DψkhB999pqqaСB㡥 BGG bgBY߿ ѼysʪtE)"!`aam֭[PSSüy{)0 "hY{F.]c'NUUUXYYI"۹s'FF%6mFFa`` PҹQ``ԩBTHHHǹs#G 99999[nK^Eŋ "Ff@36~gߏ{aȐ!QvpC )))hXEGwÎ&e,ׯ_˴T2Xv-l[nFFF||8Zh777888| b2.:~ʛ={6`mm͹ :dرsǏѼyst cǎE||IJ {f2 " ^uEe_{F@0 ttt`oo-d=.m޼ [ZZ[lYYY"g԰{_>,oQJd022“'J IDATO``` vTbb"~lmm1~xˮqО%y x<z);ӧO"$n Z† "Kڵ\w6MLL$vڡF\'ŋ:u*.^XIR˖k׮qitEE+EG,ưaÄt|>kLiQW3g;ddd998p WνuI|/abvhƍx\Jqu]F]HHH(]@>)?UH:t(.4i0 ߿3x<:tƍa6)kg7eggQD\vؼׯ_?~HE=H+<;w.?C*Rf@x%n 7o.$44<@ W<{LaG%|>Zl {{/E$]QJQV}Zca:u*4553/7GK]|De`ݓ____bpwwG֭K(޽*-ZtȲ,in]AZ0mڴb`ݞS:V4UT e$00܏D  00 m?0 ùs&L0%CYEzרQX'OlX Fh޼9K=UT&##3fԝdE̎ծ]%aK\E;%`5k*Hׂ 0 `kk.%WbرBU0e̛7o=~'tM蜼5f'L WYJÚ5k@Dg|ʔ)FZZ~2-7MKKd{.ӧΝ;hԨpy(Eg?*z>)?U177O?oaa; IMMFnX۷o011KjPV-QY/^ CCC>pUؿȺٲ[/S2|XZZr#%wLLL<6m @SSmڴ zj޽ٳgadduk37/ֻJiIJJ6xk׎ ␥RtUV2`gg"Bdd$Ə"œ9spIFFFBK,waÆ Ej֭[bŸx"ၶmʤׯ_܊0Tey RRRΝspp(6;;μԩSGɢF>)?USڵk]gqakk+4hDEE!77y+Ly&,--,nԩW2|>狌bܸq\z +.}SSSMF/ZjqA vԚ5kdV&q۷LJNNFjУGTXϖgΜ=}={6|}}$˗1i$]Vǰ*D\p `Bx uuu啧ܱcammYhCaZv-Ԅ_Nʹ볳CjՊ] P~}_ ٳADb}˛|ݻ`\R!M02%-- 2+u!=:j(dggIѣG066ƀ W}"#> ǃ5\]] \cǎsEѱcGvDXZZ -U 08rH#GaʸfJJ zѣGe*"XjH$zyrr20rH]'Zn]!%'! G-i^^@} @D<< "y|||0D%6pqǃ !6-ETTE)(7oވn_~=eff^di>|8JJ LMM#G mr)93  tUh+e!ن "%փ4cܸqرcOaNNNXxqއ<`~|"R}~}]خ1zbUUUk׎փmlg }D.]GDD ЫW/w"GE|\WRt :u9ׯquܾ}F! @JO^^̙a*GGG4j<͛QjK{899U!޾B礥/Grσ{044ʕ+Ԅ ?~˗/ˢJJId`Fd444X;vĉ' vvvuV T $##ڵ&7oanlaz ###e˪| n߾]2J0RRR0h n ҥK|]VVVh߾=cK333Zn-iР FEފC[[+V(Uʒ9??}?===tҥ/_௿17sw_ѢE 6o 555Ck\ԭ[cƌKCYXXݻwǰaÊ\sۏTRt h-eIxyyAWWWcccqagbu[xx8%f +?u066V+K._UTT"Ŀ͛ЩS'b "xBl>Z>qssCE`gXXX`ٲe0`Zl.+*deeqꑑ"SSS~|իWObQayGbOt[.f̘)"+Ӑ!CЭ[7,ZHhijj*.]č ;w`233P "!FVVU___ڵK`yխ[G)ճ޴iTUU8޿q9 {QY4`nnn]YX'u4_ѧ˗% ۾2+2`Ѕ *^!!!^:jԨ.̙",Ĉ0 n98v 6Ϙ1شilll0}t<- %[[[lR?a}v\xx8ƌ ̫2JU\ׯݾ}N:E"i m۶Nk׮%555""x9rdeԪUnJ˗/ڿ?}:wLk֬XZr%uܙ/zihhМ9s״m6"*xޮ\ P.]I[[WhƌDDԾ}{9KSOׯ_yիWEO^hHW&"бchڵK񡰰0֦ׯSZZ ڵ+egg{ҒE111aoo/QW%$$лw.z 8Lzy;y$5jԈ5kFVYׯQݺu}\zN8AP^^%$$(\Zp!=~>|H4`RSSuRdd$PNN >zE攒B'""ڿ? LmmmRSSmэ7(==?N&&&dnnN͛7#55Ubt QA^gիKby?"UH;v,EDDP>}(66bcck4l0"";w.у~W 5jWH hĈ4byzz 5hЀ(00ݩZjGRqRQQh02*hSzۛCtz5lؐvI#CC2ݣVZ4n8ڻw/go&0@ϟ? ҈#ѣGHҹ-]rXwt QF֭[W#77X+?ϗlI|eȢoߦ{MC+cYajjJ{Phh( })qծ]E!3:uD PNN¶瓋 ͛7VZE$(''ihhPjոzdggʕ+nݺ/T7uܙnݺEh…]Rڵȑ#TfMܹH_F8TUUž3jw(#O}j%իWt:z(xzM߿TjР|_Ç̙3?(`l @tuرő'iiiݹsbccE5jԠpj޼yf?XiʕIm۶,Շ կ_BBBhȐ!GsQVVVeߟN8AjjjG۷oڵk LT^1+ipI%}0 S1]R{xːE=޿ODDϟkzzzFXР!kkkWS֭]Y-[RHHݸq!q :r5hЀ܄f͚իLJFMt9Ƞ~ ّ|h̙l2-ZD 0޽KB@xx8YN:ԧO8p mۖoN4l0_IQ)%%E<{z%#_=q}JGY,Azb>Y늲+EGY`[^={ӧj֬ ]]]aڵriAǎa``hwXXXYf (|>;wзo_MKKܬ=֬Y#?iM\‡:>~7n`ќUYYYrswI"׬YaDQ 0#""*|wwwN4i^^^033 f͚"Ν);wIh2{V%wtyTy*Khժu???DDD $$D$vs3P:y"ڈxҥR[v-233R###ڵK+Wp,Y"Ntttvʤwww-_ff&L"BӦMK)~'ԩSG^,Yap=Y|5իuuuq@ @ll,Μ93fsAzzH۷!!! ?͛555.]9o|>/_ȑ#AD3f v-aaa2oI`:߶m[XZZDeD߿ٳgAAA0œ |w +ٳg@Dؽ{mҤ wP^VVV2aJOO"ݳvR =C :::G|gΜAVV ]ѐVWVHTbcP?~;v0B.sɭ[@DصktttDƍeV<Åti/`С8xPwԯ_::: "Ja Ɔ)/ ;pyaAg͚% 4Oagg5k"""qqq0"T Dpp0x< rQaJhٲ%Ttuu!u0%<͛xuJ]< *(@ sNlذA#f^LG(0j(.!!!!AZhXYYaΜ9 TqKitEYtЏD>-O>E&M`nn.߅aޞ9sFr|n:tY#F-)3P"66Çq!;v AXXȀVhh(ƏaǍ7УG@ ,5kY3gr6668|)>yڴia0 S2@*CSSz~P݃Tu3$%%aeZ癜nݺ )ȦMJJ 8u?~?~z4iDhGSS>Ç+x𨰏`gg'Eprr=͛400(1ٳgajj*ddffbǎ4Kޔ+ʪ~$iy91sLqB+/&N X[0@X"###GiӦ%w\vMlYYYB 8ؾ1&&F(o~~>9"?44+>GTT.UH%xb0 #2 b?ܔ,ˏY,XDT5ˡ}6Ξ=.K.r444D-`hh"dgg#++ B&U@D }:ƌ#LΝիW1k,r&&&[l޷@ ׯrr2pIt6668}4E OSS7WSeTnnn^ UUYA*III`6@ɛZjgϞT\p'NF|>W2cժUX~=1pJoӦM`3f(1}ew dhjjr^P֭[ǥ `gg"B=mZLII+sI0$]QV#T$&&BGGG. ߾}):tpFrrr27oYGk/^!DFFb֭HII֭[rJ!cs+4551}t7Nh@]v o߾aʕ޾}+O<ጞ,,2@*S IDAT[[[ 0 ۷W#==S"\#̎+ʺciƐ!C*?FϞ=AD8qL]ʂH냈qiw"*o>>>F a)ZKeA?U@CCR?srrЮ];)OVX!qPYXt)E?{c4hYq<==+M*}R~3DFzz:ꊜg`WH?AAADǏݻˬ\6hȑ#i׮]7]deeѫWHm۶;wPXX_^";::֭[СC4n8""jܸ1ŋԥKz9455ݻwDD4o< `ڲe &33|BaaaazeխT*ìY(''֭[Wiy&ݼymFVVVv_i̤@4iuAfPFFP|ڵ+dd\pTTTHOOZlIÇSff&sɓÇDDdeeE+WgϞ'OUHb}9ɞc?t#00P䜧HDsQ޽EҎ?v)t.::zMB͛'۷Իwo:a>}й,ݻ7]~]G9sPfhƍ2Gxx8uЁ޿ORvK8q" CVׯ4p@Φ۷oSDD¶rppÇٳʕ+ԫW/""ϟ?SڵڱcC:t>}N 4nݺѼy( bbbdVҴ+IWH\thiimٲF-6³DDԪU Wiz*effҨQdZOHEE(++уH pdDD4}tn ,у@iPBBBQ#-Z@FDΟ;w `߾}bUM _%-7\+WrjѢ 9smsfQ>~}}}ׯT!//.ӧOСCg7:u Dm" N¦M@D?~T3+WhРȒ.~fΜ?=+ʪ~$gw^y WRD"={6cH|&L|}},{#"4k ϟ眬䞊… E4Ç0Ǐ+6nXf9f̘!iIbb"9YNR x{{CCC999B׬Ya +^III",SwӦMXr%ЩS'f͚uVzh)NǏGڵ DG)eݻD???΀}BUUUĐ:uǛ7or{FEmٲyyy8v~Wk羗_~\_ʤ%銲 ݽ{Wޢ(5>}>}T2j(XXXTHeѢE֖I3g@WW&&&;w.mժt¥B HOOH8ϟ HaHTfYÇ lddgDR ucǎ;k2iҤrױ$]QV#TQYz5^y|>;v˖/^>~rc0 ]xRSS\55k&2$`ooycLtttdV|>كƍsA%ƒ>)))XlWNXX^ 333-Z;wpe?hӦ.FWEHTS^*2qUTKղKO8D$_ٳ "=#`cc˯?~9www[>|{QbN6ifK'8}4,XqaڴiصkXRyyyؽ{7Ə??bS߿ǚ5k0yd\|YlW^aժU?~>QQQHKK+1mU)=SL6rw!((H./ѣGADIyyEqwr""" %*j+({W%Q#hl1jK%`Wj#HWH;{~crp߯׽ffg>3>;<ԶmzBw:u|}}idddT7'm۶А$'ie~I⻝PA@o߮Qjb+jb=/e7xF3f`4kL%-[ e>~={&~\DԴij|lڴЏ?vׯVTY*{{nb7nLdnnN P)**-WXXH...ٙaO,S͍|}}Ԕ:$Q& 444HGGtB;v$==zhcTy A:::t[[=ƍ–U9))h͚5riڵkWDM TRRBnb_ߗ-*ĉ8@K. VRRB;v֭[Ӟ={h޽gA}: ccc#݋/䨴&>_c/~#]]] L(ϧSҷ~K|*ɓ'SF4?'ah׮]r*{/t㼖i+W$a$y{{0t=6ѣGԲeKp9rttdcbbQ~$D":D]nR ܹC֭ٳg_I iǎ4k,ZhUY^0ݕŋIGGƯtkzAZ \S,֖ iffF~TKhR(?DY焬BׯbVUlKݺucoDVXAh1t9+ɓ'wnVԵS$jO+f"Zձ~zx}vWƮɷoN_~N,ʼ|Rf3ϝ;6E"M<*5EV{F7fhтz-Q&++455iƌlÇҒ=BBBK.lۉaeR& 22l0b988!1 CC Z㗛K]t!uuuӧǫ5^0eu[[233I__LRjwҤIt*0\ '|B3gΔHKIIa=@U@YDmPsAAÇ)S{a} uڕMSRqDUi}e6zh޽)XL&&&W_踅 *oĭPf/]v/]D(::ZnubOJJJƆ=]nEDԣGj׮],S=hn:jժm߾?t1 R ,^/)eII }70 }etU6m„ V7Ys̙CCgggG}Bڪ vvv4aٳgOb_|^Tj{>;6LJ^Pyb9r${Lݩ}l.999Թsg:sLV()Ξʏ\200ŋ\GNNL0_U|AAR׮]XY#))xHdggԏϟCSSfffrX,ؾ};%K`={6~۲&hDEE!889?~ ////ծGQp9r deeaذalZ||<B|V… ھ&3`HHHzCBBGGGYLe[j8uTHLLD>}" hҤ d)88z½{7nIo}eaÆիmҤ n݊tSLGFTT>}*K.!55Ryx!d4MMr?Nd9^SS|>xMMM0 Si|> "ոAAA={61damm͛#44KJJEaٲe3fL"+gggɓRfgg?VX{Ν;xߏUVݻw#55~[ ###ǫ6lll)S 88iiiL޼y*򰷷nj3~DEE+Vq=u~; ϟ1uEUg/dxyyNu堠 eK`IOO't Ȫw$Ui&@ $333yyy`JKK455iڴi R8<== ڵko߾HHKKK{T~~~C~~~Էo_ruu%sss@}ڵ∨>yZjE=y_u&?^&bnܸ!n]V{R Ν;E|>fϞ-Uu$2fbF^7eс<~Xtj۶-KE޿<==I T/υ1cɓiϟ/ٳiǎRuK]@/_N?Dڋ/]ʛOPPH呻T܇ɓHDhrG\\1 C+WTH?>:x1 C7n(-YD?#  &CCCvS*Wf͢iӦ uuurtt$;;;ϲ#//uFO>UHB~Tu16NpѣG۷o{J5._Q[[L&LѣGҥK)%%Ee0 ikk04h 5j}gt… .}*NKK#mmmZlzoݺŶϦjO F|> D-[0 ]V@,SNHOO& Tzqݻwo>E:u"v!1 Cݻ7YZZV`֞{K}t)255%MMM̔KuԩSIWWrrrd:ё{IL$޽[[J̭.:|py'55jWXXlU8ESpE60gu;;&NgΜQX@ZU%55֮]KDSLam*,KRSSeZRRmQdʔ)rJ:wݿΞ=K^^^0ǣqQll,ݾ}ڷoOM6Ql_)00(..._LF"a[1+ H-x-9::EEE[ŋ0Ln猍iذa]0kǏEٳgƼt19n޼I}]_d„ dggGDȨ=Y ~~~@!O@C֍XJJ ]ue+)Ξʇ^z'OAAA䞃Cرڵk)446l@/;wȑ# 4dffJuiڴ)[R{dחxܨQ#믿RFr666ti of}s#'''U>ʹ'[[[!!!0 m۶Tk*,SP'Zd =\3/qdT]?~\*Ç^|!r]_B6N=o 8+Tܜ &4H"4iihhH-Ͳ/R.cbb/]J{RRRB/ݽ{*))lAAEFF:nP(jl 9/m&9tD#G04c z)]zUVnT fyE`` iiiUzJo֭gϞ2/e 3bji6nH޽bKPll\* ץ-[*lTqDUi}Z"f"]A ݱc0 B!TkİذcӦM;vA898 Fc o߾رcѾ}{ܽ{M_r%~'M7h悈-AAAFYXlrssXiΝѣG">>999UMOO۷)s{QQQ OeCє=ttt"{Ɩ-[iӦU;J4Fݻ+Aiݓl J!;;Ӑ bܸq\,t7n<7qqqFjj*nܸ͛7o߾ؽ{7Q^E!YHHHӧOzj۷@钶۷gϞx k̘1jjjػw/ʕ+#,^cƌ>eٸ=FFFPWWg1}tر.\A%n߾ [[*}ܽ{OdccC<*P;;F(>>re}ݻ)zJAJ_аa^gҥKP2?@hժUcח\EEER.r;;ajѢђO7oD0ue gOkˍtURWW'WWWJLLT:hٲ% [[[eKi0pp9yf233ۗo!>OW^e&L@jjjHN1rHO,3&MЕ+W^)(( ###RSS#OOO:z(RHH\|:Իwopss/M1hd"222HWWV^-Yfduյ+H8{Z;޹sPǎ)//OǏ) ֮]KɊ .f͚і-[-ٓM@j˗/I ɓ'{Rb200 W^ǣ VX7wNff&uU|+WdZPvLII ݹsݻW߲nSjj:SRRvKDuk+)Ξ֎@C l̤O?ʕ+8)1cspյ'"N:EϧYfѣGei޽4gk׮[Waa!Ҽy*|H@7n9s)00߿_k"& dȐ!4|p"r/0 Jۮ];ѣGu3##Ch…,A;w$t]=ak%MsAA7}^xATPP@dbbBڵ%uh4t:uiۥo z [N$'׏;e[NuI$ajٲ%oߞtuuՕ-SXXH...ٙaK,S͍|}}Ԕ:$Q& 444HGGtB;v$===b8 nR 8@zzz.ǎ#aɓR86mZaztwwW#uu g4w\9s&04f05Aɮyʕ|MՋ?^km'N d`` цmE]8E>M\wNEEEʖQTǞ 4;wM Ǭ\gϲi0 ݻwM{lْ݋x9rttdcbbQ~(++MDty _Z2޼yyaժUIWNWhii'%%aӦMؾ};lmmz:RU ȮO>E@@FYfuָpn޼#GZ&L 6c8Q[5j"?nnnX|9_PP !cڵk8]J5>22 cp̙ZC${l܅͛7~~~R~H}q00`.] ӧ "<|Nxsp'NÄ PPP6H HNND:w7nih֬<==~zL:_~%HLL^H"MFFΝ;WÇѹsg|w3ŋ#77۶mp9 :q$rqqAbb"m+""]tAxxD;UӼys|$$$HݼyJ022RLξ}0i$Ig;pƏ/vJmE}q*{ₗ/_b7ػw/c׮]a/_c/ĢE3f\[C ""B7/_dܹ3wVV|}}7J+ YӼm6899Ņ}[Pߏ' vvvtϟ_ga8 ^ͫDUus0LX2|~uԗ~"""ЬY3hѢ6T ^cUTՏt1_~eߣ̔:͛7000iO=1c $$$[nXbEpnxH=ʍLTYWW!a?~\i}H8t?S"W^&N$e5FQ_bT9E y8ESŐF{pChPTeOΝK PllDztt41 CVl4{l[nMNNNr:fbrssR`ɑPŕ7|!<<6|sv9/,y5ls`cc---IlGEdeeaҥh֬&M$xzQ5Dϟ*$ն qQxT~AA={*/UDII j;P&J|˗ciԨz쉳gϢ--_.7]]J(n ՕX!b1:Ν;NMMMbʕ(**ݻ)ZX[[#66ǎË/xr8AD ?(ݷTvQ;D"\#((uRfk "CWWF#:: %%iiiꊼ<"??fff Bff&6lno0m4lوn궷G [[[)x9B!RSSQ\\-[`ŊJA$A]]7n,,,j? {ҥK!Э[7b尷g'}:HW xbbbp \t 0pwwǬY`kk ap![| зo_x ann7Xg?Ç vZ|w޸z*{ݻwd]zv܉OgߔYYYwHII:7n/^iӦ9r$455!`aa"((ϥaҥXlt+++XZZB[[/^@֭رc4i 6g' @pp0|||pa@6m_IO>-[ҥK% ,Xk׮S~=<ELL P$|j =BBBP5'=zOVNPTTXt$$$]ܰc:u X|9tttÇή塣'''899I۷@KK Ì3  طo&LPaH311tԺ޽;N8"BZZ,4n.]ב___aaߤݺur/ U֣;ֺ-uuuXZZҲu5C 0@im|XYYʕ+f݈9rAAARb###q)=z6l+Oe1^~yyy1G%%%СCC qݻ76n(ݻwPSS9s ,, Ù3g.]5kܥ*b1n߾ٳgCfйsgL6 m۶EJJ kkk_111hѢڵkuuudee!** Ǐ1 йsgXZZwh۶-lذaJihh(CuHMMe;w.N< ///rm0 LLL`bb={eˡD".\ӧOݻ(**Baa!b1^~.Eӧ҇7hp4o999w}}} *TRR"aEWFRtttgeqm1G̙3uVXXXЦMxyyٳgԄY9gϞP\}xx8b1󑓓sss8p"]t:z CCC4oϟtuu,c„ Җ2G񁧧'_:9qĉx1޽{cÇhԨ̐|駰*-DU{\]]1w+;8h ,[ %%%>8P^ >cRy^/5kT8Cv Gcŋ石6z777L2EZ988(**>bcc\<{ <Ǐbv۷o+ddd?,U/χ޼y555A&M"avB" gXYYA__hݺ5ڴi7o 55˗/Xª>/iӦ055Eamm WWW1yyyظq#zkQF(6ԯ_? |>lن칭C(..՛Q"ٳgfC$K|& rԩS1b6l&Oc}ݸqc᯿R^YPU fBDظq#.\4rZvvvСb1! -Z 666HOOuuu 2-Z@ff&ڵk[nڵk طo_Ojk׮ő#GP\\\eiiG||<7o@x!ann+++bܺu aaa8v֭[Hb?YYYHLLDrr2rssxDEE|XbG}1*B! /7oưa`ffƍ[M@8ΡCzfddKn5j .GpssâEXJ+ Yn Fpp0\\\<޽ãGpM$''~Ӄ ˋ[$!66o߾EӦM!DM6PPj۵k~ pIQFо}{m}FQ "hҤIzb1^zܺu gϞŃ$xfw=8:: ={Dzz:}سg&NXa{{%sss,X(_Ƚա.l"l"]v }H0ppp@^0~x4o޼^BZZcܻwxf{Ӄ~G!22ΝÃ+( &  >Ϻmٲ%5kƍI&h֬ѺukEuQXXѣG?@ GGGٱ*?=9q455g!///_Df}eDGG#''-Z nܸH aʔ)ؽ{eTU fU fyPm\dd$/qqqGNNtuu;; Ǿٙ4iKKKBCCC]Rfff033C.]!WPP4|111x^ֆ= X[[E x-RSS;|8ZZZ8{,믿XpDǣe˖E͑mmmn+' DFF]vذa{a <vBӦMPWVZIyhZiU fU fyPmܴiM(((@qq1(ʖ 󑖖&bŊXbE1pZ崴5/cǎ ҥKၰ0ݕMU__޽SvU5iV5jj ƕo>4nmڴAtt4ѡCx<ݻDjj*RRR[n!;;999J]}޽4އl?6-Zhjjk׮ڵ+-p=Yfógp(YjM@ܼy}bS=x< 믿/Pq433k֬7+/HH$b9888 ƽ}nA>}xQ?῱<iiiHNN1LMMCy0 GGG.]ښuJ/B{֧EJ0 ~IU=** @2>!{ _RicǎũS$.\ .̙;wJEDD_Húu$^| )77of#ܼyS"СC2e \?Qm˝X0 |'077&Uyɓ'c߾}HMMeB4E|%,,,b͚5u4i=zٳgmCU,ܼyNNNʖQmTM/zUM/ZV()1ZdIn555t[26m  JhӦ +OMMEzzz\?=\?JG?޾}sYBiHTcǎ0ta+V0tu6ޞlmm%70m۶ P@7ʖP#TM/iV5D.l"l"INN.7>܇SiSY7 2"ѭ[7$''c֭С\ycǎ}6[ѣ;v,OE!)) SNH$BLL |([FQ5iV5ji [hRRRl }}}.q-_Ugbb {J=z4^z___ر`ooÇכ N7 rEEΝ*?.TW[[zQ'^_ףSN 3pqqQS^?ױ7;ʖP!Xx1RqqqprrB˖-f1ѣG?wժUر#޽[nquj3gu놸ZXc= 򥨨NNNx%pUЀP(&x<D"0bGEϞ=1p@,Z/8Ɲ;w`a˖-2d._C(B ۷ʂ0x`\zx5rrrb|cƌhݺ\Ơ@yLf&p) | 0z4+e@Rк50iA@Eh`>5 04,M._ $pHLݥ /;VaPY*]}@yo#$ӊmۀ/Á>}4k  y̫W֒@~~훚C֪ *K}-@oxbŚKwUP^P@4RWW)SM>D"e4b222ݝ ~OMM%kkkj޼9X, jSPP@_}ّD(555RWW'---$Cdllj$"X277'djjJ3f̠/_Qqq1mٲzI‚455_~t9ÇӶmhܹ&t޽{deeE7֭[3Q>}H DyyҶ7&b~.w 'ЁɲW5kFFԨQ&DOH,s㉬rsK<(:i-ZKť}2DPa *ccI$۲OΒbK/__"SSCEԲt6 lYi^||Wkz|Jb"g:^"G+x<h; H=FUo*eK"**PnݨYf;6> ekNOOAxHRӓرcSNiĈGSXXH'N$MMM7n͛79BaaaE[n 駟hӦM4i$;v,-]VZEߗS,W8tYZ`-\d' PhhhUDDGcі-98%$O;t KoT;txON&jޜG:?5k:h߾ҿE'/_٦ _H=|X!?Q׮7c2iex~GJ9:ϯh2Adm]zX˟(E Q~uW@}-D' 'O{}pzT+[444]v7QoUԵҳ(00LMMؘV^MݫN:>ә3g~ ggg@...A:t uuuڹsgmTc5ƙԵkW@SLwX,&HD ^j ).^&'N>N(r֕?|>mL$ڳw'޼[П~ݼP(޽horecBԥ JG,.߼HKyDOƇ|Pol9y;[lQ.\|PVԜݻfCCCaoo XlvZeOFvv6ŋqMHw!11ԩS 1nܸ1°e;whݺ5 KKKlܸQ.4xڴ)w!k? zxf|o_|ػ󰦎.;REPD\@AQk!V[ZkV]\+j+*u[ZW\"KA( UADTD >?#Y$$z<̙|d93=7=88w y{wcgiǏ~~23g  1y2%ۗ!rs˗e*mx |-:tq1o*n;wHWau'Fx:S=mY"V*O>~:|||興aʔ)hڴ)&L5*C1oٲ?Fv0zh|Xr%y̙3J/[\]]tT*ťK'Ov؁ &SWdž8q"Ə8DGG#112e n޼_UV^Y2Da>t(싘 Ik ]7 ݳ|dR6mdK6Y P-^v5uKMXhYAM]\6iYZ:(2MmU8q ? jת*op,WrӴا`X Thٲ%Ҙ1cۆ Fڵ1:*--;w?CDDteJNNׯի)22lBYYYUqu Ϸ(((s璍  *))QiK.%JR=̌,--ƍ*O۔Ύ;Sr2 "#26~6YaCS.EyQq9\xda߲ݓ+?*uՕh֬giU]bxq0D}Fdb"ruN&}; "!"##}{ˎj>s櫶Hi[I99/KGD͗ $$$ 4HmÆ d``jLڪfΜ)_jԨQfAa߸q#˗)>>̙CԤIOȠqQrrJ>vcRyy9={oM~-ݽ{Wi3TJV"4zhWhӛ/ _|!g.\ z=ٗ_}o+ b 3 "ڹSV_Q("ww?yRuդID-[I$Ҫ]5kdj"M_ ZoU򨴴R :Dk׮Aȑ#i'_)33-ѣG˗U_@k֬!")SU"2Mݻ7}W_7|CǏqP}E%}IySĉRKK?+VR dKN&S"?gNzȖ| JO_|![ŧѾQL QMbal{?5پ~=__?3gdߢqb^=m[x:rO%''oV&M ##YYYpvvk.tAhݽ{O':tsss?N X~=ѭ[7DGGsΐH$x7agg  @3֭[kkk nnn011',--֦ߘ;w.bbbЯ_?^ƍ\?X|Gڵk,̙3ѭ[7lذ-Zh\Z55)&, JTug.=ۮy Ǐx<#3gz x>>_q-bҥꫯ Hyf"//EEEpuu (++æMp\/Ѹqc,X۷ǽ{0zh^ի ݻoGDnn.RRR0k,X[[yjJt-^@{bNNNFǎagg{OpcW&ZBB:txѾ ޽ IDAT;_~' .QQQ{.A@IIB9} ]*߾}(**Bll,uT|r ~mO?cذa_H"`ԨQ8qn޼)ڽ'R)xaŋ1l0HR\t Uӆ1-h11T>Ï?wwwEHHHm(,,܀|À0f8pưa`d۽{УGj {Q{다$Y&LP{)..F=PZZ*߷U0`Ұo>lٲ|<a1K,OfffXt)nܸÇ0f/󹹹022JKKzA*8s >>_PPP{A!)) Cpp0~;VuVgHJJǕz1ׅ [pa,Yc1k ܹspww7vy!%%C Arr2>C˂agg066FѪU+xyy᭷B6mP'mۆɓ>ƍKKK >_ТE XZZ>Ĕ)SЦMD9P^^/}[J=_ΖZ1GDDcƌ5cL,-*>C:t<@vn:W7% $|AD?`kk;<ڵ şvV=z4bbb|r^… 矿4?_cL%X9T ggg^#MLL`bb"_$ru>°m6wNQQ~WL>AHH`ܹsJ ;cLx#"4m{AG-GZZl٢eLi&|wr W^8|07oXHMM Zh!v(1ƘDQg5°j*dq]#̝;=BJJ 8<~7W񤤤1m4tI/L^c1uIzGzp]b֭(..,YV… ^.+z*-ZX4m[FӦMtRӧ#^"333\|wѣU6еKt-^@ܘKKK.Sd1 c׮]CII :v순aƌx /_ӧcʔ)*wҤI*/6<==akk5g<9s u%>+]7޽{xi7d1tcM4t˗/5k`?Zl:YZZŋh׮Z=OV\9s`޼yVYkו sPPq1b`1ԅ zO>WƎ;O?T#+^iZŤzkkk^Z%ebƌpjaС g}J%׏p5Ca1T/3F˖-ѴiS888 ''' :Tէ sAzz:JJJPZZe GǎqeX[[Wo"??;vOo1112d\\\1S>G\@4k ӦMCϞ= h4W!,, Ǖ+WШQ#̛7Vϫ)ѣG?|̝;R-[֭[8wFbҵxc ùs7n c1J<#nL> .Ĺshc֭ygΜ~ήVϫ);v୷ނ?\]]1al޼R;wQFXt-^@{=N5cLxG4hܹ3|}}`3CŢE H4/z^$H`ii󪋷ưai>>>FaaB^MV$>+]?昘t `jj*j,1Ƙ*Do-Zx Ə+W>o/"//2d4iReywww5 4hiiiW|}}1l0TmI13cBLT dccC ky8@deeEM [oE yOLdiiI7G#񦦦) @M4֭[1YXXPtttꊷ&wޥۓ ԴiSjݺ5ӠAPؘzI-Z ZdbƍАߟLMMUVt}Q<#AŅ‚yGdhhHݺu#OOOf͚_Nvvv ͛dee9 @7&OOO255%333Zzu2ccc‚( lllё._֖ͩGK 7=x@13c._L'N7҂ jRF(;;[fϟ/O{1կ_tBEEEDDNԷo_ěJSN7nөyT^=wF⭎T*.]?~\^\\L y 244cǎFAFFF^Efff4`JDDtE233QFi$5:tH&H(>>^_M i&M"A… j͛4aڰa\AY!OVV)MƔ.O/..&ܹC5zKc1mۖ)##CuVOјc1eDر/?&A裏>RH/--%###1b<$AW$ݼySV~ A(&&F>/&&A5+--%[[[ QH$:ucʼyHJNNVH3f V:Iǎ#Ah5svvݻ+瓩)7N!ё#G2_]v i&yݻIھ}Bި(4! :R53c12< ]GXYY oVHʂT*UpIVW^b155Ĉw055ŻヒB\ryyyxҝѢE 8qBUɓG۶m{Dsi$޽1b\<sNhkkkl?*c@vӧ@;bf1^K,[ GŴi 2Zĉ$UiӦbٰalmmѭ[7y&&&UVXp!4h///8::bwBl&Mhl_WCEZFFFJbb"\\\ '''xzz =Q6l@zлwoyZzz:ࠐWŋ'"66/R+cf1^K劋kLCCC3gbѢEd_v {{{yXZZVz|&}QTTf:ʶ#??ҥKvZ?Dxx8BBBpYɓ'Uɩ*%??999ŋѹsg:u ӦMC`` ^KKKQZZ cccM_ua޽?>8VU%((~-KYo`ΝhԨ<6c<Q'OzIєxzz*UرcuV,]}Ç1ox{{#//8qu&^>R}pB7l_>}SN_q}!,, Çi_bŊĀPXX%K{APPc<Q-[bӦMT)))ظq#&O߱c5k3fڵkx|}^LL FÇcŊ6ԥ}5лwoDFF"99ݺu]46U_|CvT\Sվd~?B5Gry߿c~x!H!^Mn²eSNo޼ ꫯm1rttȑ#Rvjj*]v &&&hݺ5i^^^8tnw%vu[СC q*6ԥmڴABBB/d7[|Je\|oR֕oD0)HڴiGָ/[n *KD‰'0p@۷of~^^^JHMME֭~]"m۶ػwcUI:dtDTܹS!aii=z9ZGbݻ7mV:@xb+g"߃䱫[!HX},W ٗ666ҥ ߏRykl?Vܹs߿?:v숽{V;coc Ayy9RRRjh2fck׮\xpAܺu ~~~%K쌀,LY,޽;ammN:̙3@6m_gΜ~aԨQ={6իcZ&$LF@Bt RoccCT^^7''zP֤I*SW7P{~yuꌷ:YYY[~^aɒ%daa!׶m[tbJFFuYCz(""B1T'77ұٳgO}BlllyZhAZcx500BpB9s{!Ҙ1cTc1n9dx-,,/IRcՖ@u%L' ##hҤZdff"''͚51Bvv6\\\\Baa!]KKKiZFF!_JU[dgg#++ 6vb\zfffhٲ#TlܹsM6u"waa!Q^=4mڴU%fc70c14'3c14 1c1c1cLcxc10c14 1c1c1cLcxc10c14 1c1c1cLc1eҐB7BRR=z͛#44 6!jc5ᾝׇ@D$vLjۑ{e\~VVVԩkŋǏi@PPBW077abbkbʰg>}ءJRR~#Gar߿qqq(..%vh2MhS߮>W~(Ո靄!A_ʼ KKK"&A護ޢ Gr/_'ƍiն-55NJ7nܐSͩ^zt=M]gwޥۓ ԴiSjݺ5ӠAV6nHFdjjJZ+#???\\\ˋ,,,_{eb|hK߮>W~(xjۑRF(;;[fϟdǎ5*? @111jL5R)u҅bJLL1"3330`IR""x"ѨQ 5:tH&H(>>^ĨS ?CrŴOBC[ʕ+1zhWoFPPx yG}CCC\|Yj)DH^n8{,/^nݺMMM#bd%%%7o d]Mv{a۶mxM\\>otcccc!rt@^cVVVprr۷ҳ Juf26l[[[m{nwEaa!\<ê'Om۶UHի$ Ν;'Rdf000#PTTTcM!rt@^s˖-ѣG1m4!&&C AV0qD_\\\*DEE!..χJTDj .D GGG 0;JOOGӦM+Weddh6 ILL OOO899! bǘFUҢE ;VvubG1]vfffJt̜9-4iw)ɓ޽{򦤤ӳuĉ1~:*}q},]k׮O#$$gϞUgNNNҭuQ~~>rrrŋs8uM@$%%P0grrr]5y۵>h9uI;v,n݊KO>x!͛]~SJ-[ĦMjٹ`>|8VXQr^E]^G|F^^"##q RRzEnv?… 1n8ӧ:u*<`dLFϐYf!66SLA˖-k|vmsb@7F%=%%7nDxx8;v@f0c ?~\2舑#G|8tBCC1p@lܸQuդ.n߾޽{+lݻ7"##2" IDAT+ׯT|] 99?ܙ3d߾}h֬N8Hʬrt@:<nIIIjWS=wضm|1ulӦ  Bzũs{zyyaH$ +\tI]iGׅ^36}bG1]_cץ&''+K$Vyݪ6Xv-֮]#GL7nܠ)S vZ{%=z {{{ڲe O?D666Զm[eb|ݷ>i;tDDƆ"##\Y,Wx}G;ZȠΝ;cWEDD+ͭٳ'ݾ}[S3D} QL D|1 -KKK4i҄2YYYΆ^W C>FVV6lJ03D} QL[1c11< 1c11<a1ci @c1cc1Ƙ1c11<a1ci@0c: b0epT Z(-- -Z; ƘvY`Vܯ0UEjhݺ+vZL0Aai}mmviƕ+W0|peը3>x?{UQ+LNZ(!!:t@||<|}}1C` S/Lx:c1cLc:*//b!((^^^._cǎ!==CŤIp j.Mv6nХ>uV^^{/'| ҥK yܹ(?4}|~6j>m8f cǎ |jƒ h"[n W_XG||<WWeh#}mۥ/?4чWG~~~$YXX<ϱcʊGJFFFnݺ_Mb.E,/<DIwF"ܼyׇrrrŋ#11VT ???c())?wٲe7a0YT*TL1˔%7ng˗qA"** /^/&O ,\͛74V&kmK;Z:ҦT>x?{5Q6L7DI޽{+W 8q">m⯿BqۣqJչb L:U!ӧ ɓ'ҷn݊1cOHH"&&F!JM8RJ͚5 QQQ inBHHRSSU֎ hyxm܎-[L/두U툍<10m:KbnO:>m:f{P*XMa rJE o>""Zr% @駟R~̌<<<ֶ:s)eNj&Y_ үGh"H$|G 1j},6ӧ؎U4G@GdooO[l4駟ƆڶmKR֭[Gׯ3gЉ'(,, (,,/SM>>δ Ye;wbԨQi=z@tt4 d'rrr_C*1k,DDD3cU>LCll,Zh!OTL[1˔&Hݹs.\@Un/(($JNNZ__ m"߶q4CC]}{ur]Ƿ'}o*3L +hذ!6lXvKKKx{{k0&M$jꢯm. }J[RimT}r2 S: >>^~Q ?Kvv6аaCݣClٲh)CE],/|1R|>fYm21c1ݺH_o۸]MbG1m=uVCP }mmv1{4}|~6rŴOBB<91VW)j|1c11<a1ci @c1c=7fCP }mmv1{4}|~6rŴ@\>}A-]Ř-I}F &cu >N2xag@c1cc$vG\\憠 xyy)ƶmp5XXX)r>1ƘxxR0`Μ9ƍ?:Gݻ#F@II ZlGaٲeؾ};XO<]*<"… pAH$XXXz5Ե]@_ԇ1qim>)-00СC4DB/]D&&&ԧO͕gff۷k,?>>(WW+Jɓ矓+ {{{rss  @^000 sssH$܆Wm׶q460j9[Q{ cDD< ]IqqqDze駟Voذa8r*U&{… oQcYO>yۥR)N8]va׮]o!C`Ȑ!֭(#"x;vC_/k.׶q4e&0j;XǷ'}o*IL,%޽1bpMԯ_<8p [[[ܽ{=LLLToyy9?͛7cΝx ]ttoooCUNii);]vaϞ=w7nP 2~~~00z}A`nnsss6ȑ#򂷷w2Om. Vto1OF]WRRbb"\\\ '''xzz 5B`` 5j֭[WӧOG&MGO?}vƍ7矣C?f̘Dbرx7ЧO5jΞ=7obҥڵk*((@LL A^,Ƙjic1^g@DDD`ܹ3N:iӦ!00IIIX;wƱc`ll%K`ƌDXXK Q~}>@.]_;uaÆ]ӧO̙30o<ݻG&L!Cо}{ bbbPTT{Oe3^&0c*|DI(..Fdd$ƍooo?ٳqeI}O:>jEI:' ATDΝK$ݻ?#>|Xm\m{2QRRBԣGV[=n&k۸]C}~-Iۨx,j|DImڴJ.UbHDpwwY7=O4} ~G\t -[QVVz}mK;Zĥ[Q(ze7񁑑xtᰶFNpDDDM6߿?`̙ҥ s-իWb [~Xf ƎO>]vѣ c-tGyy9ߏ8 AAARȗm۶ڵk/aeeoܸׯY>W?|}1˴W\ "A䏞={V;}aÆ<Uy+W^WUVVF֭#;;;UVQYY+ R}mK3jc.//Hrqq!/// |111deeE&&&Զm[ruu%CCCڵkWs{˖-dffFsssjѢӈ#hժUoKSMשxQ1 @^;w… Ym2JII/RQQQU$88P\;v, ___:{lҦvۥث $kkk:tfDŋEؿ?֭[ .ybcZ%11...<==䄀dffRSSQRRF!005B֭׺۷oصk|M9:uRX)mܹ3LLLp/-;-- prrR~'0c0;|01m45 ׮],cg󑓓,^XjΟ?@HRVX;v NB߾}1cƌZT6zh3g`عs'N< ccc 3gݽVeÃWz hezBkXe{*nnܸA$ԳgOJNNVYbKm.9 LJA+W*/ZA}ɓ'IG󔕕XGqMߧx O .//_~EٳI*lNApppՕ;2e={)88N8w˖-4zJqy{{Ӟ={>\DO>6lP]ϷBDDDjE;A$#L;yjbjGuڎ+8f~RD'OЌ3Ԕ\\\h5NT 1ڥ)6nfD H ܹs)55A޽{WzG}D Ç89uTWiƌJ=G^֯he/ssX]Dm۶e˖XhM+W`ذa*?viXi*affVe|133qcjL:D{h3dNJ1}2|g|6XόAd4K#H)Q(uN~:z>!}]:}sZ`kk+" FIUOדmrў"c XQg)))_0m4j &L@=UVAWWWn2 Z bN:ASS9bccQTT$*# -Z@qN&M###Ci~0bX4C}իWqUDGG#;;|>;wF ggge`|bٲevQO\]]e˖AOOݻwǍ7:`С{رcf4h7nDJJJL ƕ+W .gyr,C(sjd9 l|2\HWWPÆ ɉ/_NgϞL(K6K~ddd/ihh)Ãx<\iSNLƍ)((%7/\@hWhhOxw2뀨 TrHuҩShѢEԫW/"d``@Cuѵkר~it\tɞ/^_M 6$!233)&&={Vm@@ݣ۷oSqqDJzE|ϟ?UhhO%Y`DȠCٳޞ)!!A*/W\tɎ|Zb꒞Z^z%u@!i"޼yCHr'-X^a6t IIIb7߿?/^e˖*qT..UmLWy a`Xx1BݨQ#߿}ړE=CX#<<QQQ())5<<<`oodhpssC>}$q%XZZYfRܼy7oב tFBѯ_?J`(waϞ=Xf 0k,,_fffunS9GX|9V^ t].1 %: u ??Æ Í7`ii ===߿gΜ-97aHOOG`` &LJaŢ555aaaKKKXYY[(u8}:V^'N1`ꈻ;љ3gDJKKFFGGS~~4}txtرۯky%}6:uvA~-M<Ɔ6l(4h@=zӁ(%%v-7@_6Kr'[[[@GDJ2V[9H:_V-ɉ,--)77WA65lQn)¹szjkii۷؆:Xt)Ν;200@Ν ???|8p"##C˗ELL ^z[nɓѶm[HjlW1]CDu/_ۣ]v BǎPo^*61Y]AAAÇadd$w{Ҡh\`H%%'Nǔ)SP\\tK4"-- жm[`jjZ۷ĖU]w1]BDGGĉ8y$222`dd///[ UP}dqFG IDATGcʕGnOZm I`)8+V}RTV ?@ @JJ n wwwL0AY3 %RRRK.ĉ8urrr`aa#Gbȑprr|2a E'o߾X|a0*HI~~>^xlڴ ={ĵkװxb#!!AZUQQF%۱cG_^լ zkDDD ,, OFQQڴi3gbԨQpttѰ,1EEE8t; C}`s@磤AAAEǎ@ܿ(((/peW^uT6h"co߾ŎۻRƍɓ'Ŏ?^^^Ν;{;///Ŏedd LI޽{Ѷm[bx,Y .ӧOG=DY鈌tC&v‰'w^XYY)J({J<Ŏǣ5kT[7??ttth̘15ڐjnC."j㺮tڼy3 0|>x<߿?OcS[PDc>gz޽{Oz*X YÞHICں033@͛0[j㢮}-ZFaΝ_-[T"-1myy9:!Cuشi\E=CXDJ<==0ͻ:uTmݴ4{1iF߾}CFVZl7u@@hh(MI& 0χ^| ooo ؽ{7  F= شiVXv!66V4I`9! ?~˗#$$vvv + c7k׮ř3gc!XuOqM<}7o۷o#77 Aff&0h >\jSg]8p .]7ou>Q:0r*_W\ݻq]1ޝe\ONBCC|r̚5K1R/ *ݺuC{BBBbWpU]mꨋptO &M;whIi@WW=z4=:D˗#,, 'OqOPT2q\.MׇP7] `ĉw"""{!??7nٲe rrrw˗6mBBBpqL<í[zjL6 DZc,/UI6U^nn. [6lv n: KOWuզn4iSSZ; ꦋDEEܹsXz5EǵĞFkkkcҥ;wHeSCCݺu7|7zڭ6UK.ѣXp6 u@8΄ \.QMuPmN8>)SΖnZZm۶2EW\\ 9:t耻wbرuJ1P֭[a0dM||цO`֭pwwgcFܾ}'OƣGe̛7|~f1ːa0jŋ#??/^?6mڄ={ڵkXx1ݑ @QQF%۱cG_^tP7テ=bccE+T iaC8Ntt] \pW:겱+5*QC())APP|}}ѱcG!00GDD \|իnݺ%͸8xyy!''G츷7֯_/v,##^^^HNN;E{-*]'!!!UNvuuɓ'Ŏ?Is޽{%PC\ǸqqQQaɓ'prrҥK_u>QʈYC #66PlllGWuqW:vj˨.Yrpuu%Gbњ5kO:::4f̘mH'oe\O\I&Mg}FQQQRQ[("f܂=8] \pW:d)^uPm:tDBD500e⋢[5ASSSNň#'''QelHmODÇ͛с\.hԨB) Mu5m5v@Q>9S[nEdd@մA\ZZ(_ʸ1!!(..ѣG•$R2e?QGO>ʊIWW\\\DeJJJhAǣZgC( աcǎ4{le!1y0F0`Ç)55O@BRRRho>ׯ?L-[ еkjlgMII SǎٳgnOxw2wwwӣ3gΈ]V"Gc#G1115n 0rH4hݐIsdggx<ٙ>}JDDYYYԹsgbe:vHϟ}v6~-iiiѝ;wdҞ$"ep +Wǣ-[X‚ĎSÆ ׷ƺ1,\m"\E]mk…ԪUϫE0̤jϧ;wЭ[(++Kv%(:q=qM͛7&~ž4K nHǻ}2?Fff&|||K.zmѢl)M]u ==eeeҪt^t[133Y ``` 7oe\O\;x{{sXxUcU>5kۣYfpuuųgP-[T>WW-EU]w.BdddTy^t[c(EǷ2'.i\r%55ߏl W(# ޕc++t-Z@SSSQu2r??lmmde`Ԏ'y xcǎJаFT6T"6uպukoVǏ'gggc1d {"%ٮ];|ܻwRDM$4U]w.<|sKrC(:q=qEf"%PiÇ}w'4 :Tan۶Ma WuզκJM0rQt|+zFCC*; ꖣ"%prr²eGD7ϟ?ǴiܸqSN)fϞ0mPI.Y׈#7nT:n-1 UW]DrӀu@@hh(zI&m۶6mt邈c׮]틲2DDD 5o߾033ñcǔJH:a 044ׯ! Q+l:`bbӧO#++ ϟ?,,,*ɓmmm*[Q_|>ƌP㏢/ٳg_Z0{ `bbdoQͻ`ffGG*ohkkSNJq(W.]رcJðTAÇ!CHCrC(:q=qEcEaXa[e  6uU0,e***²e`oox=zwV? VaXD,ZXd ,YF'###}Μ9www!kaX|}6I&W^HJJʕ+ѨQ#`0C Uu@ 5B^mŋ`@Ca`֭qE?~ `dZV8999\ ?2d ѴiS fff077!ttt|7oބ<==$3}*#OpE#ǫr/ESe P9bcc ֻ-OOOxzpUQn߾MԷo_ڵkҗ_~IHԨQ#dllLmڴ={Ґ!ChҤI4|  ???@t]Fjj*u҅ Y[[SLL ˗Cח^|YkYˣ>}#+++']]]rqq)))ߟڷoO<jm_8Qu<%m۶oF$y,[ "/\U]DUkKLL$rttj B ՞OII!333ˬ,gvZhj׮]>}Zvݽ{ƎKwt-7pww'===:sXiij*x.:6os|xBCC~L:~~~3f LƍݻbѱcGL4 ݻ7tuu N8>)S066Ǐ ҥ ^h*!233n,CZXPQ \xΝǏ:::|27o.cOaƌ1c>۷o͛7Pׯ_7n\~&MPVVzVyK*} u@8WQ.u \tJJJ___t~~~ MXEIhX`;wŎedd bǃh"co߾Ŏۻk׮ɓ'Ŏ?^^^Ν;җtTҥK21nܸju|3d#99Yl ړPF2ۉLZrssV9///4meeeaUaii ww*š[nE׮]e3C}p SϞ=À@Dr Zhׯ_ѣGHKKCZZ?r|xݻW~bboOCCC@AApyb!-lV=8uUVV>}xÇ*^[lLOjժC6 0ÔJ'}}}rppm6z94aJIIׯ=5mڔklgIff&0+I;f܂=޽CRR222$*=buu[ZC[d1ĉhҤ X~fk׮HJJBdd$Μ9#ꐿ>eBCCѫW/L4 m۶ŴiХKDDD}%s=z֭[رc3fR})++Ø1cp)x<ȨsA Duk_ gܹsUd  +Wxa999ԼysSΝ;km㱖[n y yzzիWŎ>|O^/ҘsΑgs̡_~O-vߟ֭['v,==<==)))I8Q.]J3gikkׯCY:7رc4l0tlܸQ_ .۷o'MMMz]*//sc)"Cf̘A<rss+9r$PaaaçGff&|ڳg]Ǐ1Bٮ|̚5| IDAT>֩~]C=`E޽{nkÆ -[!S$tRgyy1b$;#\Kn455qXYYɴ}}fJ۷o1o< <3gΔI|}*#OpM1D؋Ĵi0uT^Z.2l tHMMźu됕۷W*o RGQMEE]P^^E!00+WTǏ|\r2 #G ==.\2ꔿG׭2ć6q888K.ԩ|>?~4ѣGx5~:-HLLwbĈpvvƞ={ز : uaÆ »wDǚ7om۶abe㑐KQ+ .P(ҥK wiiipqqA )vJKK666rQ5B_~%믿] k׮EPP.] ={ Fhh { ,a:yflذOJWŎb0[e oooHNNF```233 "5}رc1c =999¶m0`XXX`077ٳgEh1=8V ri300'Obcʔ)x)tuuѿa``>}l1W?3Y H}(,,; _Xj ݻW[n͚57|S/{8tPL0Æ ìYЪU+ACCnnnػw/###a3ae  6}}JO@JJJp=8::͛qmQXXZ /_ƀeg&+]O@Ü9sd(UF "XPQQXX"BZZ ,]?RRR"J455Ν;c8{l;<کGzz:vڅ=EXXX缼дiSa߾}նaii wwwy nݺ~Lbb"_211A޽j!5P9bcc ֻW#ՃԔڴiC>$"sΑ>9::Ryy\x"x>5=W^!,, |>Ϟ=ԩSqdgg#??999x%ccZm{* q*;^j{@7o#Ճ͛FEo߾/(( ;;;$͍6mJuj,u?^'[ԲeK*..fO@8B/ʧO#YXXCƉ[E޽{߻w k,MT4 @􄧶' W`s@8NF\Pe]o޼ѣG"~ҿ666Xr%*կׯGB&MBVVn޼YX$ECCD.]0qD\pҥU,uY[[c?~< 3fHToÆ С*3ݻwHJJ.ZhQk{!66/QE_'p]L4rq]tA"`͚55kv]kye+C}`C c̙Xv-~7;wwANN455aeebʕxmmx<[lMpi ɺYf _+W*ĸq#))I:vvv={6/gd̘1G˖-g:b2JKKyy9 #ϔǵkװe|>|8Ν;c̙gʐa0dӧO1rHxyy]vHMME~~>222p}?x"N<?|Ñ#G@DکرLӧO䗭-;wyzzV*;g_*J%>>>ԨQ#z_|Qۮ>UСCԴiSڵ+ J:D"%999gϞ*_/^ޅ hϞ=W Yv@nZ6TUu ԩxDvv6YXXP~$g&+$$ЫW$ӯ_?:thC9!?f̘A<rss+9r$:aH[E8p 56}||iӦXٳg 9su^"xepIֺDjРx< [Fy9M:Pn(&&F&햕ѶmА4iB6lwUYŋ?ӂ hذadkkKZZZI ΎΝK2hР~QPPEEEŨ.\ #븻]isC~̚5x<^_ƳIKK&L Q;>C4x`ܹ/r=?33vXԩSƋ=:RZR^^___[A)))m"""?38::ʤ}MMM̝;2d/^*x}011;w!6W _mŋe˖3g =S,EEE?1~x^,^5#|>|~;v ==NCN8 ٳg?>Emmm$&&F&ZjVZ?;pqq3gD_nѣ1zhBܽ{шƁsN5*޷L,XC=j-rj tHMMźu됕۷W*o RI߾}1rH,[ GT/^;vڍ Ձ$ͭmxeH {RG*ֺƌ ,[ 7oJ+o+!!...3f ڷow[烈0n8YEfff䤐O^^ݛ T/Ѯ][8wDud^}sCaQ玤lذɓiPlllVR&)))-!k`ll :taaa%Yxm;1޽{rB˷nCtt4k >ݺu l\ T[۷rW/KrۯXKl)(( CCC7oRP۶mjK.4e9q .ݖRPP@w-ZD>>>4fruu] ]4vZԤ={JQUc>>?}T9 }^o޼h0$$$pttD=bӦM~'Y{y5ѷo_nܸ!6@@b~wƍEK_ "t@x<֯_'''=zǏMEP\\K.ѣttt-[GGݻW㦕D,\fffp\]]ⷺ0rQ=D!W+Wė_~ ,_ӦM^ub„ ضm,X R_V }MWXFݻw2 '0jW_}Ebhǎ5cՃM6—,//'SSSZ|T.^HښLMMIKKTdhhH-[f͚Id}VZѻwjWxKÇ'@m۶QFP^sdkkK-ZVZѥKjmݻwsNze|-("1Tv/_&dnnNRƍ@v?~\Nʇr1cTy !SxDD3x ahh֭[˴8t ڵLfLqq1lllGΣFB^^\"qo;={"BII PXX?<₱cOG$&&cǎXf [٭D8unܸӧ///*Kq$a SϔBCCClӽDt\\\`ee3gbӦMR>/UW`Bܒ%K{n|r#02\mF|>߿P7n$ᵳ!dҥ诿oڴiCQF4b['$|*qFNNNdkkKڵkGϞ=+ "zӧuw1@o߮tuu߿ҹ[$Pl:xYP O]>>>@``l|LYYΝ;mmm|R:iiiHNN 999Xjt邉'v/^@֭䄃AXXajj*V(>ei/""BwС_߼yggg<\diӦǏc#FՖQT__SLݻQZZ*v{υa0$F= Fed˔ 77˗/ӥz`>_U;v@zz:{{:ܾ}...hѢ.]ccc顨z|1n8عs'??v[n?m۶żyp4) @SSM3"B||<:w,޳l2:={1ϻwjddd`ٲeؼy3d.nݺ/^uw؁R̝;ֲ_|<<<0w*I| ǠApqǏ)CNp:Req\~aaaؿ6fɓJ>kXd ڴi3g}R]gVYܺu {UЬY:ڻAQAqQQ,\>eZeYf);,\ %RqML3Eq qQ 5:3̌19sbs̹c>}uE:u}ȑСc>(= mxШQ#ݻz6;;s΅o鵋h0|ܾ}+سg233o:p@DEE!##TmØ% E(T^h΢F>#o;%%E̙#>h4͛7iyyy+'Nƍ ^/#\}6mrUo@ڴi#͚53i>}ZF%6l_~E.\(ޢhdVZ%,""IIIh>{l0NIڷo/w1F#IIIoF#ޯpME]tIҥKu?n(1fɺ1Cp`$W\5jHPP>谳nݺɒ%K֭[fzzZJ/UV&olڴbgJ@@dXl_-)--Mݥ^z""rMquu0:e)@=*Efy 3f,KNN`9}9sHHHβ, ,_z 2H^}"_޽Ƚ,Μ9#vvv㣓􍣰P|||8RJGf͚E5j,^XgZرcV~w8JW=fɺ1Ci߾xzz˴-S%$$-ZHhhz,ϒܾ}[&L vvvRNٹs۸uT^] `mz[h$--MBBBY6l 7o͛7kׯlٲE222Jܖ( z}nn8::_|ak322^ڠM:UiLiiigdԩ2j(IHHŋ 7o^הvs̒u4D믿bs*UdW^ƍ~z?<~ˠ#?J:uPfM[TK,|,b„ P Evv6Œm"SFAaa!n߾۷oo߾E[n֯_~ < =5N:B ػwoCʕkkϞ= 5u/2BCCo߾"S*A͑Qrssc9r㘥hDD1䎟8~8aggTvhٲ%=-Z={֭[˴ sdDZ;w,Rt(EGI8p:uԩS1y2ǽgZ*|||o߾b/7h3gDHHHgnƝ;wF˗/#++ 999:\p< &MI&J*%~YqFmH{/n޼R:uݻE}: UTQ>fES⊎FVVRRRpĉرc]vvv&9[@@>#L2󃧧'akk3'''L6 }?n6l6lw}(۴}̒דjȑD֭QZ5$%%aƌHMMw}ptt,2[+V4h*GQz|^Ϟ=o륚OԩS<˗jժ~: u4c ϟ}NKKCXX"""`kkMΝ;|2ܹSjoXr%vZlsdS{?UVWe.](ަ#6l N~~>]+W֭[h׮Q{TlSL1tP2k<̍y&M_ѣGQ^=3f`ܹprr–-[J}/K,!=0m4o#F(Ƿ!z4h۷_~VB~~>nܸWj 40=ݻ7fΜݻwgX={6>&LcFԶ9Y ,@QwwyGoެ̲ڢVZUCLL ӋyXǽJ*xW_dzeвeKqqq(_|sb̙(,,ć~W`2g~-f͚^&.M5Qڷo~TҐsɓ ?UYj -[Ĝ9sV0m4aر8q"\]]}}p̒X;~:::vjwpuuEus~W߿vUVE@@:tF 6uݻ8x bcc?6669r$&Os}Ó˼?,=гgO|駸wA/^mҥK{.5kfB`ܸqxq y0|p|gjYq̒!x'2玟j۲e]0 k (]liiiӧ\\\Э[7,] 6DDD[gϞ&~ѣ;v,  = [b„ hժѽ{wXCDDΝ;p:-!߆׳gOdgg#::ڠm߾; O:ϝD<==^ f2aB慳`ɝ;wOOOE'Gzz:yl޼Ç_mЬ/v1 0x1f_g*ʂ\xOӧq)^,___4i;w DE-ꩧЫW\bP~RIa"KsQٳk֬GNN͛S"88W\СC1mڴb|xAӑΝ;#&&;v,SLU\8z(4ivVXΝ;?'[ 4n8)_h4C͛ފ+؈of7իWyZэ-''G&M$Fʕ+E/((nҥK(FBBBΟ?/!!!-:tÇKxxٳG\b }A222ܶ)X|\0u"ˠqFO{OF# .,qBٱc yWӏls@z![c}tA*V(zmŋ@-[fp{`iDDT,VnnwW||.\@TTڷoM/ׯ_GJLǏSWBjW@TiUVIŊG eҴiS }8qWyqss:>}HzzJ@o߮vW,u8rYӮ'U}K'+WZ6UXQZj%;wҴiSپ}Ago333J*2qD^ݻwQ}_SXX(2h LƋ+Y^Bd,X{bŊ8tիo:vÇx1evv6.] {J5cX~=6mwwwtEnj֭֭β VZ!<<JwQq!"HMMɓ'd,] *UaÆaوBӦM燦MiӦhР|'''9 .Dhh(V 3g`޼yF1pԮ(c~3u#Xk\"bɑM6IϞ=\rboo/m۶g7{核,??_eȑRF  uԑ'ʙ3gTm,Z7{rTTޯ1tJo5-2zhԩTVM{AZjUiիWAGݻңG핆g@L5^FVn֬Yjw$5.AlxO?!%%3f@ժU? !!ݻw7y 66G'_;.^YfaÆ*X?<I}9998}4.]JJo5Y|y 6 mн{wVxxx`o[dx5 j/۷cԨQnϔdAԮ(c~ekKļbu4nXƍ'/^,ve2zhqww%&LCYٜ3Kg@o=Xڵe%g@jO%9{l u֕>LMݻQ$//ODDnܸ!s̑-ZYL)75JD 7dNw.mڴsJztI@8 ԬYSHZޓ_UP0X4qwwz|Y΀=zT͛:녆ʌ3t%''Kpppj̙3GBBBteeeIpppV^-C )үW_}U6oެl\dQFŋU8Ǝ+6662h YS1|h4#h" [I& /`6Gi1+Y f Ȝ̝;W$33SgyFH&MᅲȸqS7NXt(ú[hR?zҜ8qBT"=䔸.׮]+k׮ڵke+*5jUԮ][رc9W_vڙ$*x1x%ËЭĉIXk\ֵkW!&&ʕC>}p!߿:t(~zĥKߢ}ڟ.[\bqyz3BESz|?=lʕ+xQ^=lܸŮem7ʕ+7b̘1󃻻;_~1~x;#Fe˖!<<666~i'zȑ!Cz-oѸqc,ZFBFZnͱe/_sqqqhҤ Uf) Jݺu Wǝ;w___QFE*UV`` k.3FH<~-f͚w܁sA0h zhrrrg888ĉزe fϞQF!<<q9K%Ҹ~:f̘KbذaFۮ8^P,@\bb"5jv7Z ׮]+W>>>È#쌤$$&&bٲeHIInͭHQ닺ug-SbE곷'V=l޼K.Ř1ch0g-9;;#00Fi|EpIDAT3115j@XX̙[[[L<Ǐ7kO9W,@իرc*T$%%Yf{g]ٳ?bRƍ R>>>|β[n޽{Q$ƹsY 0"i޼9'N_~ԩ/,]SDfH)ر7nDddd̞= =z4bbbm6 ^^^0a"9s"(Z AqZ3KRrKd67o7nڵkpvvƂ |"3P= S5 ?`ȑ9\n0k,L0<6l@͚5Y[ p?~f;;g%0z@ʔjO#GƍhӦ <<|Xf̘!/8:: ~2x`'OJ~~TTIfΜv׍둱1Ѕ FƏ/7o>~i\lٲE=*bcc#Gy}AAJfJl2TvvȔ)SCboo/Zj+Ȝ9s?,25$Y%r׊+ZjҪU"EbfE.^]fh4Mgm͚5Rre /СC,֭w}WZl)ʕ,2`otSY.,@ t1h4| }$""BNE^Wrb=̣ʕ+K\\Ιdff?,}tEr /d]x LDk!!!gΜ.\8qκ8y$oZZ\]]iKI`*T@x~ bbb#//`?g'ݿg*[vmM=S[6ݑvA<*UBΝѹsRgJJ%} dccGj`ksqq#5k-Z 228{,;7xgΜoHz-EQ&+sqAddd`Ϟ=pwwGǎ1qDܿg'9TVc*M777!##CLIa̒PڵkӌW\޽{Q=<5n׭5.ecϗ0???7Y[[\aTvRvm2evYq?gy0=𐸸Gn_qVc*9u"홒>K7n3^8⁁Ԑ#'Oyg$))I.Q)0X>5f[4aJK~Nlmm{Һuk8~pv=26 f HMx{{$&&2l͛2w\iٲv&w}פ?W5G][^.[۶mܹsFٮqEy8Sٿ7oDPPU4̟?5j`ڙʔjOjcƌ?C uТE 3"bLAi̒e`bIXk\yVF ۷NNN NZ)Xk\sLoM6EXX\sرc .BojNc,ڧ`('s">>>Rvm֒b^:j…@}]+g#cD5kDtt4:v술 /]"z"ܹ2OOOlذYYYp*Tujy&yw ">|8W_%1K%OjժpDD- aÆoٳm6cQ8fl,@j׮!((W^UKDDfwE; ==]Y VgϞjw$5.|c[.q=t׮]3WYYk\D[mj4,Z3f3s# VNdh5.ckРbbbpt7nWYXk\D[mzxxڵk~zg(2G,@\.]IXk\ヘo߾z*-kP~|?~w5j_nE:/H'"4 ϟ 6T7)$zR!Rv<<<٨^:.\[bʕjwlr[lQ &aq۵k5."@d6_z%tСkA)rk֬Q &aqg@,%.CYk\D[mj4T\Y9 +n:``9tR2E(?؟L[X{E,//iiipqqQDf!"zRdddxXQ)< :πEVV GUT2oO?ŧ~ZΘk <q* sjw,_ǷLOO:7e^!ccvRSSQfMADٳQdx`^!cabRSSv7999C=3d2& DDDDD^NDDDDDaBDDDDDaBDDDDDaBDDDDD}@, UV233sN$$$Ν;kƛ!v'gR&rV^s [+ps1ݻe۷oGnt;s 7o\Ԯ]+VĹs`oo `РAJwyfE l1!&$$`ݺuȀ?^u8::ݭ2+,,Ķm^z֭Q)} 1nFd"&duJ*hbݾ}TTI$00PEH۶m%33S?ީSdѲd1cF%&&ĉe.\oooPܸqCnڵk駟F#u֕ƍKŊ_VkzYd+WNի' 54V&nݒۋF///GGG TkDe1\r)ry9 +o"]ԬYSRSSϟ/FOTK|dlEȖ-[L3(((vډ߿_rq{)_C DDرcR|yy7\uU*W,;w.͕G+"PVn7EU+2GEVqƈ!CРA˗ѭ[7k(WN:DwW'm6:tgF@@v7obl2/̓TSOXv-{X:ؽ{7>stU-ZPgDacvS\5 sY O0''':SRRPPP`1bŨZ\mڴ ׯpiܺuKnpqqAft!77Vgei&`Fbb"n޼vgNcvS\5 sY Ooј4ibcce5ѣMz̙3ӧRJF٦)?~5BXXjԨ???T^=z7c]pu-᲋/*!#9~8b I&pssCΝqG! 6СC-*"窑p^ o._~p|'ꫯuMb qAtAuO<&MUV?ѣ1|Ro, }322o ,@ͱo>|ٳ':dYff&܊,wrr>o222pubhӦ 0i$t (W$Rׯ8kֿ2CU#2G%`bL!}СXf toƗ_~g}v2O|}}tR,u;[l!C0h ̝;)Ҽ666>-Zq-L6 0럒ڢlm-3<|_;xܻw'NĎ;r/P2e $$|r\5 sY1'Obɒ%1vXɓ~iի_7`ΝxЫW/,YĤm=JiGWWW\|==M'NuRZ5YpYjՔQ@ 8qw2jCn݊6mAr\5 sY fΔ<Ѹqc$$$]DGGW^s=kjg QCiǦM">>FgSb둛33_}5mГ!vsɹjA( w'NYbj,X `޽;v`Xpv$ xxb,X'O}=*&&Fgytt4TݻwGnn.~'ׯ$!jvSjA(ކLe2|6lh4=z̟?_"##KÆ Q,X IIIryEHXXw統N޽{<ׄ~ E.7n$YpTXQڵkv+??_Cv-ϟh4`W&;vYz$%%˥J*ҬY3ƈ,s)rZy9 +O"ptMg*UȴiӤPC)))r /J6m}Pݭ2yfSNreFdO19W<EN#҃/^J*N:̤ 55^^^fӸGx"222㣝~"%%e͇Y19W<E)bXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXbXb?+>:(xIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_images/0000755001374000021030000000000012706121712025332 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_images/image_merge.png0000644001374000021030000027146112545000115030306 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwTTw "TPlѨרѸ[I&fwdMM&`ow]AT * *ֆ8sdν;}(j!B!ec7@!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B!nDQQQc7C!x͌%%%B!^J\IM޽+Wȭ a۶mdff6v3BAvv67o⹓"^~~~7v3Dt !B-IB!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!B"B! B!Bm!x0ZMVVbii5֘T=$!/ BфT*bbb~:T*155P.VVV@?(F< !$!D;pwwCꊾ>呛[իWGVǨQiB!'D!hӟtsaggws555瓚ʎ;غu+Æ aZB! BDp įٸq# 0@c !hR$!JJBW,N222ptt''',,,8z(+WҒӶm[tuu)++#55U˨jLLLpwwUV> QTlٲ}}}fΜ*8iu҅r000 44[!xZ@/+WqF4iuz0ZhA^^u*@닯/夥i9x ݺu#$$}};gϒĉ122@Tbffs?^Ϟ=`׮]жm~ !IHB~w6nH@@Æ {`Y777/CCC ;;Ǐo>bbb2e&oakk˰aØ5kEEElذz6oތ'+ ?7nڵkZ=BG@MRff& TVVpmt] {{{ƎKJJ v,<=z۷o3bĈ0JÇcnn~|!%hrXf 3rHqpphc{zzҿvIǎqtt|}VUUM۶mqvv~|:7o$//!C4ZBB491almmٲe V &M>x!STWWk~4iO4cǎ,:::L6΄{]]]M;#?fff 0bǎӾ}':hĈ̛7?#G>Ӿ̙A 5k;w͔)Sxwҥ FFF52>`޼yL85{lݟ50k,}]zYg{ѿBH$!J;F۶m&,,2Js-Q(]t`ժU|tKKKLLL:t(f[777FOlܸQsqoF^zqM7o}ϊ+6lEEEx{{vݻw"??A5Khh(...||嗴i{{{ 8p zҼvvv5={$((~U֔J%VVV1BS`@? 2@233_ӧ3FFF,^0122ںߙUVgggtttׯ}#dԨQh^ߩS':uDϞ=6lѪUaӺukXl:uƸfxwx"^^^1+++ƌ=z4DGGchhYx1jRFͶmӟ.nnn#222믿o777HJJb\pYfm6~G.\Yp!?OGZ qMǎ ֬YCii)7ǒqijٷo}%((pM/(={6{eh֣OFFFp9lق%%%TUUiژAIILsBBT0OOO⨬ٙ-[PXX_W`ʔ)?}ѵkWzAPPm۶%??=zheܹ>|:燙cƌQ^^Nbb"6mbjqqq!33j 666$&& B4g2D$sN 4f***Ҏmٳ155???mҥKYp!XYY_|AHH;w&..cǎ1e Yz5={$""푘={6eeelْxk;YYYmcqq1G͛j;tttP*憙&&&?eWYY9[חV|2Eaa!ǎ +++?Nrrr4VVVjf̘o-Zݻ۵kǫʏ?yLRթV'((蹿MEE666@m p ٳ'^^^PXX '++X)((HBB}}Ƿ&//>Vٰag&**>{/ B4J?{l26mZ!NP;TECdΝݛovɌ3x71ctؑvャ#BGGE1l0Əo>̮]066O?eҥ$$$pM5Ν;?aaadffCv B__*޽K.]ѣ!!!޽{5=1/sѣG|}}IHH@__r|||h߾=`gg-AAAܹs\V\\Lyy9+V &&7n`ffF;~NNuqqo߾ٳJ%$$$ၧ'eeeajj`*j]rڵkGJJ j חӱΎ]۷iժΘjYUUEUU+'N?p~Xaa&Hx{{3uT,,,@έ[pvvёjrss122zhΤD(JJJ1bwXZZӠevcooO.]X~=dŊFxx8 ;w养;SLO>( ڵk3ݻw`T*{aРAPVV7''-Zh~Ӛ1tؑ'?3zhcʕ]g7W>mIKKc͚5PQQŋQ(,_=zP^^Ndd$۷>}p5Ν;! O~?LvM>} ??SSYSPP 511!66V3Wƍxyyܹ3ׯOJ(CNN˗/k׮԰xbYhIii)[n%""lۇk׎2(FVVׯ'"",Ο??ߒT*\zOOOvƍɉSNE޽hٲ%W^{%DcQg{!@LL !!!DGG?nx1}̛7(n޼IjjjCVsGee%ӧOG__ 6F>}ԩ#'noذ+W0fDQQFFFZ9BLL }fHٓׯK~~>`aaADDlذd¸p* ###XiGRqE&Mbɒ%ugŋx$&OHt̾}X|y,vIJJ [o߾ߣV=ztoB`` fff(:)j5+V yOBNrJBVSSS9}4L:ׯg}5~:Ν;i.^R$88W^y33zeabbϴ}}}BT*Q(Ou1,rZ~?^+7兕666Rؘ;w~]+SNC{YΞ=Kaa!cǎw;^%%%e?8?fsHhh甔S=-kkk(--%**JIs֭[`ذaݜlْ={j~ce愅Vٿs7$Ds!= BXnӓ~='QZZʁh۶-nnn$''cڴi;2r ۷o'** M+OOOڴiY#@WW???P(x{{cjjJ`` ݷi8{,t5++ ccc&O\ݻҥfl߾={`oo|]\\hӦ zzz@m֭[B sss044uuu:u*111TVV2x`[CdݬXRIll&7%nbl߾[[[@@@&&&mETboo-}_#GLff&'Oi B!D+,,ˋ,׿ҥKwѣG1bӟ(**jCQSSCxx8lذR&OIJJ",,-[ruox7IOOё7nбcG޽KUU3|p>sM5˗Vgս{wvصGINN~#00g:RƏ9?W\!661cйsgJ%$''ӧO7vH`` K,ߟӧOsQrssLJ+W{n<==!66]vϑ#GP*j{m:uСCYlYcME._̩SX~=~-P&ɓٰatڕ(222=[BCCٽ{7of̘1u\ԇ ,_\3Ѷ-ZP(PT)-Z܇Mҝ77իW̨Qx" 2gg'ޟ?|G@"+WwEWW]vQQQ-[xwo᭷ޅrqqŅΟ?ݻH0aB{L7orm:t@NNK.% ޽{cddCVpUnʜ9s ѣT*-[ٳa֬Y/@\'??@˗/n:ر#III!22TVVү_ٳ'111DGGיݘ<<ʈ"::sssJb֭=WWW֭[ILLdOA+ RRR077ޞXrss1buu5QPPD-"Ky/(hRN:E֭5:Օ6mpmRRR'11SRR)4._...RXXSE￳uV\BYY̙3KKnZk]YXX 8Byח#GΝ;|un[[[ 9qqqqxxxh*d57L:Z͒%KhB $$$͚BSPdxxx^*?TTTV4iswߟaÆݷX_}UUUO`` BӻeRSSj/2&LqvvFTֹXoj_ER?`V^UlӦ AAADGG7xe;ǁ011 zfccѣ)))!33GLL['hj$!̫JIII/6UR`jjѣ|R;`gg̙3a?~7%JoooڶmKee%Zjj*ӹr 999ܽ{^zBAAiii^;w>iAA-Zh aÆ1h LE)GGG۷o?txIB4`LLL8|p֔s3?33M6i&ܰ>>nH?]mذnݺoӿN:U(rIf͚E-ZfN0sL |d((( 22{ұcGO4g7oDT6'GOO^{ J멮FGGGG#С:t`Ν>}z@nܸAnx뭷fƍϥ"gʕ?ydd${ŋeo_|NG^臘ҺukNCM?pӯ_?222(((hV !!K.j`bb _~rF*P(>|8fEii)ˀx7gƲq{QM6Ou666QZZJEEK.eϞ=o^3\R(M~w9q#ۚ@ZZ'O&88bccYnFXXZBP(077oV !E6m```g}Ν#((6o رc177gܹjFAff&q | o&>>W^y0uT^{5VZ͛Yv-)))@mŵkמUUU8q___LMMIKK#== &0`GNL(uFVV#tdggcii+.]oe˖-$$$pu-VǍ7jz?/ !pww۸<ȍ7ɓ|'7```@LL 8qs璞@VX|9?#۷o_Ғ:v޽{Yz5zW_WkjjصkEEEL8 4yE4kw8q:(JfΜɺuHOO'00PMq5066&11+WHEE7v LL|}})//GVSSS_ͩSg$,, WWWNʅ 044$&&p>S6l~#vvv@:| | jGJJ /_[[[NxH/6n܈=z%K0x`(**b֭/ѷo_KQQ:::uV~,X@uu5ټXZZ2~ahh8rO&44k\v6m7àAӧ.\য়~/`˖-Ž̞hƦP(No%%%[n1~xPոr-~W~g1cfeu3|믿rYn޼ɒ%Km !Az@h3f ...8;;f^]]LǎٳgfLe۶m:t)ˤI|2>77+V`iiE ]v%447oEll,Ӈ]>hڷoOTTӬpߔˆ#4(JMRɨQ bݘ0n8)ڄeffj|7055eٲe,]/BE͘Jbqa!S9o' ߻w/e˖ѽ{,//А.ivz^o SӧuR^^Sߋm۶DEEq"bnnΙ3gGWW<,,, Џ'WMM ׯؘqaaaÇ)..&((HJ ьɷ[f믿&**}i.?N~+WP^^JbܸqZJž}زe  bٱcnnnt8pǏceeŨQ/L+++IIIʊӥK&?'ؘcDztRvۿlJݻXZZjS5u.]"//3gbaaJHOOg߾}/!OTbb"w!""BZ&''G̙3Tǯŋfƌ]7x777:t@DDfF`` }V(ݻw)((xdF__iӦ[ Xz5wA__''&>qvvfl۶ ccc233_{rss9vIIIQYV9v~~~!JٳgLbb"Nёߨ~$L}8::gy$$$?S\\믿NddcW]]w}GUU|}ϤIs=z믿C>Fɂ 裏P՜8qAg._Lii)vvv cZM~~>(J|}}5_e|?ի#00𡫼7w׮]cҢEnS8p ]*//ƍl۶ KKK^uLMM)..ܹs\zUԤq_A,--Ƞk׮XYYRĉ,__] R_K+&& n"""ҥKPPP|2&L`С;B,--;w.s2`ڴiL8vqquvqN<7cƍߟosr }6mڄR}|P<==IHHڵkޞ[ni.TDoNpuueݺu3iҤz/PYYɛoYMuu5dee1}ΟMZ&11dRSSsjwwwƍ#qnʌ3dcӦM0xZٳTTT72++K3qGl222XxϝIy2OK.]cǒ̀HJJb޽ҥKٲe ?-Ąŋ3rHƌCbb"gΜԔoYfwΝkRXX˗/gҤI$''sa{ G__OOOƎ/TTTN\\8;;ꊋ Ŝ:u˗/SSS#'N|,YڵkG~~>P^^Nyy9UUUXXX`mm3jBsII ?3L:Uʜ6qlݺxpss777lllP(TVVrqN8A֭3fLWRANN999Ӷm[JKKټy3 :JBxJWo}khKMM qqqܺu Z!&&&4ap!D4 ɓdJJJ055%00`M}Lbb"lڴ#Fp-~mOtt4III 2/2}tΜ95...sRQQQ jRŋ6m8ڶmW_}Ŝ9sȈ7xz_QQW^% z1RSS,--155CCCtuu)(( 77 6lX* ƒ%K4i^^^]| U*/_ҭ[7^yہ.(,, ͊Cff&-bȐ!򻡰Pӣhll9eeeK޽СCAh(7bbb1cǏ?fԩJ3k׮̌h^̪UСcǎkƙ3g9r$۶mcOUU}mwg7E1gvСCϘ1c}p]rrr033ޞB_WJcdzi&ͼ2l^ KJJbӦMoboo_ vEzz:DDD&&&[PON`` W̜͛9CCC_ݻw5CVJff&OٙR144DV?ˁѣjՊe˖쌃NNNZ222x"/_fʔ)O}g111a͚5,[Lz500@Ph܈ٳoooFQ'VTTpAΞ=oϳ{njjjP*888ЫW/wLOO7 maff&uԮY3x`ٹs'˖-]v 0f14Kg%Dŋz*_~ ⧟~⭷\&$$h 166&//O}pp0]t‚sΑ3III@ԓ&Mbʕ2}t|M5ppp`رl\ /tСN`HKKcҥ9r޽{??3uT,Y©S۷o) =MhZСC=z]1P\z]vQ^^NDD:uj=ϟwqQ]3t# (MR]uMOnܸMLOڍ ( (QP a~Ba{9Ss|>׏cdd@ii):::g yyy Xt)\p555"##ѣNNN8;;wED:1yؿ?JJJ9䅅撓C^^Cׯмʚ5kiL IDATKDD8qB,]|hرc7owww\B]]`oo/466RPP@daa7 6C $fr9QQQ444H'NͨQ) ֖'vYSS999dee&L? :th-)**)))Q[[)yyyӧ ޞлwgJBD~sĠA000QAk·~-{&==](t`ƌmm|ݻCCCBCC100`ѢEHR|}}IMMwV^.ڤ4KKK@*RPP@SSS=Q(..ԩSXXX\thxxDDD̈́ TӧOЩGzz:{ oo_*DXXmjtZhjj븹 fʔ)$$$Î;=z@OO/>}y뭷8ehh(tR>>c455Yr%qqqHR._EEE899!Jٲe .H{hjjÇk.N:Ÿq:'hkkcll( $ nnnOMM%00___<==;it2dH$ f֬YP7yd6o̞={Xt)iiiBݚL&㪪fС>|}兣#{[[NB @DD3444xׅ6l 99]v1}tcooϺupqq垓U%%%6mի LFff&SLӓsU/^+֭c߾}KmWVV2={$==,--e֖sq;QH$ߟSNQYY)vP(*e9998pGGw111r|}};%ѣ$&&ˈ#:u7REEٳgi&6l@CCvvvhiiHcc ?ܳgOd23gؘPΟ?4;PDYD @DDINN&))$rssӧ+VgJT*EII3ggqu>#v uwʊppuue|r~'{ 122MMM //r=UUUٳ'SNIIIyjh $..UHP(8x`퉍ƦG}B **B155O>a͚5YSXXȭ[dB=0554,,,딼sDB>}HMMG֭[:uRHKK.z*s>L&cΜ9]ƭ^SSN;<<7nK/u9O kkkuL& HD# ""hkk3yd Reee|w$&&G||<=|@gHbb_ZZf"!!AxՕk2{l<==[`ooOTTyyy-jqu;v,VVV=lh3229sfJ߿?ߡ}́ѣ#)) ;;g TDyB @DDyWذaB#-[>;;;fϞư}vvͿ/9w:::xzz2rHuFHH***ܺu-[`KV^-իWqÆ <@JKK)++‚4]\!DMM˗/?u%C%4433iK]][lظUGtt4ڂvGR]]ͥKHHH uuu(--LH:<2e ٳݻmmm***9r$>>>deeQYYwGill$;;SS6$m $%%Q^^ΤI]  ""K.?ߟ>D/_ΠA8ĉ[>VrW\a())NSS ݻqFrrr l56mt"""HJJZTÉ@.3bv$ ?CRR)\|K~ڪFsPQQAPp-֭$$$0x7f۶m( ԤZ4hB|G"Hٳ'#55TUU &::UjT*KKKƎ۪~&--T t֍ddd[K}}==v5H$Q^^^MMM߿LܹsH$ڵ]vvNu銈3֭[8p}6~G^u4559rC aϞ=wP(|lذXd AAAhhh\|ٳgӽ{wV\ISS^^^׏!Ϭ[FNyy9˖-{|xxx`ffƤI޽;>}DBUU={gϞHRee廚)v%r93accѣ;EFU5 3{lill$** ggGx̖Ir{: 777әM6L=x#''h^@"zj=Jݹy&FFF|+l2BBBωKlll"^{5ꫯիgϞXbccHN<ɖ-[PRR <Gboo\.gȑxyy "un vHCQQ׿ ٹKy޽{ ɔ|*|||U?uuuq]gR__/tC;&ŋի#K;"TUUÈ#8p\.'??,nܸAllBjbb%]zUDI! ""O9ϟ &g}2YYY__w TTT8txĐBUUV8z('Of>|)XYYTUU/sתLF9%%-HHHL4 ---,X@HHdV'Ajj*>~WWW_.Hv%ScǎÅ$<,-JN歞GEE:d2rx"##QWWG鑜 @JJ C y<ɓumjgR)=zGxyyP(>HMM%22+WJ5ySDDrN8!t6oرcihhh`IPŋ9FرcGuup]]]gϞׯUƭ4ެX9sjT*Wڮ{m/իKX[[kakk/!=q|||ZM%sR\\Lvv68p@u)++Ύ+W2{lXp!ܺuKH|h1Z455+,,j(q=ۗH$пO믿DD"DaӦMu03f wwwXRRr[nzѢ+Z׏$N@@ϟ>ƍLrr2f͢iӦ1755ynݺ1f̘ѣ"**[n7dffbddD\\鏵ǁB@Pʔ)SP(t{TTTPRRBGGFཽg+եTTTڵk;V86qV;,\ݻ?XVlmm!,,Lx.&&6oLnn.lذ;wCJJ ?3EEEdggKAL&I||=ʼy8}4 m1j(^xyy5$$=z#}Coڜ9sknooOCCCվ!C7[oFee%JJJ8::cN<ɕ+WxwLMM)(( ??UP())abbBff& }Tocc#aaaܾ}du˻xXXAAAb a~un޼ɖ-[Z=׳gOGL>@G¾}1 hѢ;݉[cX[[s5-Z9IIIXZZi&//={PVVT*w} 8p4zEii)Ҡ@w^\\\HLL$66Mȣ `<5xxxҿ'~pp0ߨfРAL>7”)S5jAAAc.^jjj\r#Gʧ~S]],K[[eeeFX˹-~l5j'O~5TѣG4i& AC9s&6mbڵ#Km3gĉݻcccF)DBFFgΜ&|w4yhCagg'>/r; ߨE& ;a}[ڛ#JCr]RTp1+bhhHee%gϞe…]Z>155eٲe:t--'|@~֬Y顯27n 11ǏcffD/[033CUUׯ?>Do.OȓZ >ܹs1~%4.\~}?*n666^cɒ%O|O>1F |Fttto@0n8طo Ԏ?ĉicyYӧ>|8K.e˖-[[[D dffr233Yp!{~tk֬XreS1'l߾///ؽ{72 |||鴛&rrrPVVڵkt;~Yyƍ36iOjJJJ?p{Iy뭷x|ΝH$bɒ%D:\ƍ'BRMKf@rrr:u*UUUرNT۷/*;vÇs%NʺuMwyOOO..++?,]Tm?App0ׯgmL&#""K.1|!AT{ޞÇ?Ǿk-[vW)___?-AAA|7ܹfuuulݺ .W^"""fݻw+:::tqM6o̖-[_ 7Fhh( 0={vh '''?~>ߑ"b sŋQUUɓB߃_~?'$$Wχ~* IDATZ_~UV1k֬^?wӧO ///lقL&_~7ЧOy166ϯxii)CPo3~x멯g6B311V|M/_͛7yhhh $$uuu,X ڵ"&N(կ_?G]]III g---z聙Ba͛7Φ WWgWRRbʔ)|7ޮ{3RTH3I.RL6Innn=)'..,X*u󘛛w^,,,6lX P(&&&m[R srrXUWWGqq1uuub PWWP$%%q9\Nuu5JJJxxx`gg'"O1ynԩSlܸ000^ /^?fŊL:^z1cƴ7D"`cc÷~7vؘceeŻˋ/ ƍCPPPPU8u&&&|@*7_z ͛79x ٨Q[[˼y022ȑ#L2"##Yt ad2k[JIJJ%%%*++r rTUUѣ3f --pXb]s.VVV$&&>R"(//\IOOZZZ( BBB׷D‰'HLLϏ~Kkkk:2H;v)))DDD™3g/// -jQVV&|nDnR)YYYő+566bll,eeeꊩ)iii 4ooo233Ե444(//g닓Sgߪ3(+iA}2ٳO>( |SSS͛/lذ\ƍT*%88#FPZZ:Ge޽]]]X`&MB*6,_3gΐŷ~˯&}'N@OO{{{멯ԩ$e|444O?O?E&pB8?ǏgL4/QFq||| =ʯ;9999KѣK,aquXp!舝ΝCEEhr9TTT%11DOOjqĉ'`ԨQ 6\Ռ1`vߣD"ܜfΜ!!! JԝDrssyױC&q!‚LHKKCOO͂Jxx8555(++3xg}<ѳgO򈈈ggg찱ȠTȠbdd '''իn"<<4HLLexE;bHqRVVƥK9s& ɓ2P(l۶e˖1|pVZł ߿?;(,QSSCpp0G[n±P>cΝ;G^Xr%gϞѣ_p;?>LMM 666Z RXXH>}͛oɩS2e  WWW0`\|Y5kЭ[7*++yWoٲ}}}A'R,Z++Vܳgׯ_޻ xSS /}#F0tPlmmy7c֬Y444cƌԩS/ceeŔ)SqF]ʐd=zTpm OOO6Ŷ\|eeerrrZUWWo}yn1|hll'7ࣦ}a``ĉ۪D"aذa]+V0vXZS($&&W_O? iT >}jHJJ@ٞ7oYYYoGJJ W\iWnݨO>DDDXAH$Q8%VII &NHRRAAAH$077gҥbʞCyj)..fϞ=u?=ׯGGG//w#F //O(}R+ `ǎ>|b8wJJJRRR"`mmʯOMM dddp9[R <͛7_IEE_|[lO>w &M {%++ 333awTVVm3 Nʹs93f077Wc%mL?~nݺ=RYYIJJ AAA`gvRSS ڥ())all1 000aBZ`O>(++ߟWQ__Ozz:YYYhhh~A<>=666,^;wyf͛%ރ'Nd˖-VE-\\\vYYY,ZKK[n1k׮=<S{%??v* ?3mw:La+:::B3zhlmmSSS̙Õ+WHMMʊ:|||Xv-L<V1c <==9s 2۷ocsݙ2e ǏVee2׷ @Ξ=w-Z-,,z0!k> f^xU˗/sA0aBRSYY۷IMMƍ8;; ݳJpp0׮]cܹdIRƍ1ܾ}ٳgYR(ddd'055eƌMMM*cǎ%(( 8\.GEE---.\ [lA]]ѣGql&&&ڵ_%%%Zcnn~$ SNEPwSDI"Evܹs W_ms/$ 易'''žHrss3f lذ+WIpp0seذaTVVk.a$''K=x뭷Ԑ"i_ʕ+TWW3i$f>> :MD"yl>D-E%<<DT*__ҟ" "O%-AȒ%KLMM997gf޽̞=^he؂׮])>|MLLZ,wCYY#GrAzGo/}:Zvtǘ1c f„ fdd(QZZʜ9sࣲX|}}ȷIcee:BJhMM r#Fe(//'22///bcck@."""QSK/Ē%Kz*K,_x17o^⋤guĐ*$ ?pqq{9͞={044lSHnn._ȫjp7>|8'OŋtޝE}… B$hll$44'''X?]k ׯ_'';*'J# [n$$$PSSCzzz:JL>} ^EDDb"k׮Q__ɓ'Yz5{mijjbϞ=|ҿ3dFّx D"‚F݋=ΤqLLL3gN"O 55BAaddDJJ MMM***cJ  %%%aiiyݝlPQQʪKUUUq Ԯݻ'O₧gSYY\.ӘbkkKXXK,a۶mDEEСCFaa!/^ؘ_$EDDD<5DGGcmm-80}t|xvƏ?ӧHN믿R[[+b_r[śo-())pӳgVnMII QQQ <ǡP(vTTT/ w4-ͩlq smЕh)԰sN?NQQ+V`KJJ6mՂ1ʕ+yYvm+g?S[[۷;>DM\\hkk m6mmU(P[[)zb̙37xRFFFL0K.q)f̘kW}||vKDD,['>T/NNNHR*++讯D"aĈTWWcxN>zdee1vX!8(++CP 5566w}ǖ-[z;C䙦3"ЧOAW^aǎݛ?wy\0q39W_O?$ؿ?ׯ埴̧ʢ 444Xhٳ777ƌ#dRPPy󰵵ڈ}'gܹDGGckk{000@PP[[ۮbbbׯcߙKKK#&&h._mBSSNBSSSg rrrHLLdҤI] 322ؽ{7ziIɔ8qشi࣑zDSSaaa@sիW;yD"*b"TJFF֭#%%ׯx󕔔ظq#WnWFuu5T*Lx%00^z%ٜ 99LJKKINN 33YfUI"0p@ؾ}~;v``` BFF "44ݻw3uT7nOFCC]]]ƍ] {ꅳ3th6^lZUcc#ODA"`ccŋ˻cv}}=QQQP(0a]Ğ4MMMm ۷7mڴ@w>S^=8pYYY- %** 'p? )SPQQAFFiiiD"뉕Z:?˗Qwyh={3S̜9Z1i7xxxpƉ<)b"Zxb.]ŋ)**իڵK-ӓJF… ߿(PT?[nࠖfTҥKIII!00www FKK ++Tyzzɓ' ĄcDzm6Μ9ݻw DR=gϞ\v{2{ǦT) mF^^SNm}}}<==Z2T*FFFmzǑˎ;(**bȐ!Ox^ZZʺu먭wESS3`V $Kc("<&DD1y %44bg}v̶mP(\~ӧO; =}~!̘1Cm_c#P(|rq<((???sݻ ^P  'OHhh(]v%##hظq#3+IRFʕ+pckJ?ݻw4iCے5W\СCXZZ2k֬'6oL]]\|J%ى+***>888>>\]())C/EѣO\(.˹>cǎKKK*%2W*~O>yv޽ÇmĴCB4"iW|ghiiEw]Rxwpvv櫯jQ1L2+++Ν;Gqq1Ν#%%777&M7o˸q9oߎBΎӧ f{r lJ% <=Rػw/ :Wݻ6kooOYYŭWB!ȏ7@uu5&&&t,,,dlذ]]]Nѣk@D qDP]]Ν;fo"-СCp̙L&g:wJBP*Z5_%$$m6vADDR|||(--%))Vtuuqtt$!!ᑩ@:::( l>T* >|Sgdd`aaWܻwՋ$&&r]RSSe…PWWGLL vvv=QTAA۷o'//###"""ڵ0ӽ{wrrr8uT[5v"ntT*U|r-Zj|W?߆Z8p AAARVVv|Ãpn߾ͅ HOOfի'On7kOOO222HOO1X[[t!T 4dggckk쾧YQy٨fD"!!!J֯_O~~>]tAPԢvsssYf Jϟm#BYd sa… bǏx{{SZZXS_SWW_̙üyʼypvvfĉdffBXXXTbO0ӧ233"HAKK՗ /_#aaa7]]]ƍ'e׮]T*jkkH$$L1 ȑ#フ۷cǎѫW/RRR=== (++#55iӦ%"/:t___u\=[nʊ' ĵk(//ܜÇSUUL&cȑ#4E w. xxx*EFFvjjj?~<׏{?u nǏgZŋ/`jjJqq1L>3f+Tu5133C[[ QQQJR D=JYYqqqosPQQӧѡGRWWR#4Uv֍R;FLL 2.]лwoz쉖gΜԩSУGx;""OJ"55T @j166&44yZZZՋ~ ccc&Oŋq&&&j+nnn[԰~zC@|Eѣwf̙_իDR1~x>̲ex9}4-BWW/0[D__ 2o>LG}7nK,Դd2aiӓ|̞=:!u[n$iѣh5Q!ɈFKK jkk|2}y)\_w,--~ ʑC+**8{,qe#TWWs=033{PHSVVƮ]ʢhH7P$,, [[[VXAFFJJ%YYY$'' "?~,}]LLLȠ?RĤmްS  "v;/y{{ӣGR) .dѢEs|kd?>eee|ǯTPP۶mc˖-lڴ'>swE.ox3338tٸM^֦\z( k/rd2 ///v󬬬P(dggcoo/Ξ={~zfhEEE㏨T*š $R) uWm!,"HMM 6mbmmFFFH$ eeebddzU^) 0JRR.]bȐ!tԉ:KǎV;DD^v^юH ~GΝ1b_5 4%,,Lb$ +V_~`aa_AΝ; ((ݻwJ,:tx񜆆.׮]c޽ܼy///:u~=tUKDGٵ:`aa';;tƌCnݸy&))) YYYG=QsާȣP(l߾0}f7LjD"a֬Y(JLMM<~Maa!wU0x"Ō?T6yuVvπo СCRSSP4c|}}'66{{{.]זH$ƍͭ[_ < ^s{?mmmAd%ҿFExx?DEE=s2|pa" j---f͚Eݹx"cMnn.ddd4kVXRRCTJ%SDJ{.ƍ{` fD~,Y&F|IMNDE  ""А/Aǎ:t(SRR3|vM֬Yӧtϟ#G5^z-9qǏ'##c4[Ad`EHNNF__GGGv]E*ZZZ >/iӦѵkW.]˹qJ&򇪕:t׳eјPm9w1111 Q*;_xh}͚5dffuED1 ׮]cСgÇ!CPWWBcs6;*ӯ_?llloѦ}Yd 111L>Jզzd2֭[DzeˈcҥܿիW~ITMaYʊViu}}}$ XZZ:_si?~<2 mmmzIRRZ:b]]ݣCMڈC__ F-󊈴waϞ=߿333zL$jGDD^F"t]v1eMFMM fݺuL2D_|-vn  ?~fȐ!o),,=FDeD\iרT*>s elkkk"##O:u"H }.G#ƍvD"wތ3[n7p\|*z*d$&&nݺgv~qqqAPcJw ըX.رc$$$G\\ŸcaaѤ DZqF숈hIJ%=̙3$%%,9RH%77I&S-w+| e͜={EwdΜ9O?9{,7oޤ9?~~jpطo_y򈌌ӱ~CUUZjj*)))3j(rssILL|6544ٳGR\N8 >&Lh ccc D͐/1qD455:@äXs(JRRRӧ'O~}D^?D]n:\\\زe А;?t233GIYx1\pEwͱa̜9===nݺŅ عs'+V'22۷b3–2tP{mFvv6~-K.%99ۚ={C']tV"""xH$FT*Ԕ'PTTҥKYf [nUۧ/BjHKquu%>>}}}T*ƢT*qttk׮jsaa!Νݻձ~PT- ??|`YfaeeD888鉖Ǐgƌ͚76 To3=ѻwo-ZG}mƌt J6lɓ*n`ccC^3g6[>d)<<ٶR%xE^IDw;!!!$$$ r6oK8u,[Ewakk˴iXh~) ,kkkYb9R8;;|r233fԩeT$틽={e2愄Czzz}ކ FZZ|M&&&,ZϯȊY~=ZZZ{66mbժUϽ{صkWS:wLUU[x> ]8k׮t___444gCGGJEaa!lٲkkkJ%r\9֭]]]ǠA9o|8ӧfffxyy#ض\.А5kP]]5ѣG HOO'<<777 /666 2DhS[[yq]"""011ܼT1mmm޽@n+~`H֢{ٞqvv&>>"شi̛7ccc,,,4i2 СCիψ#nLƢE̜9rssY~=| ׿HIIA*ҿ.]JJJ 7o&00۷osj__[#JŶmP(L2#GmiSĄAvǰayx, deeaggǹs爍%((`ׯ_T ׹wڏvkD"!$$[[[=T*s|(JBCCIII!%%8:t@Xv- ۣx\ё sv{VVNNN׮]  @999888PXXHUUddd@߾}!!!WWfLOO'99۷o u6愇cLLL#++={f4FR )AAAr18wFFF|ܽ{|8}4...qIRbԩd2ݹt|MwAT[[K.]/ IDAT0aK.U]vAA>>>(ųT*g'''N8GAWW899QZZJZZ;v`РA͕+W۷Цu#J111ƍ/A"0bnݺŎ;㏅rss̘1 避rQ=== 唗3tPZ<4<<<ѣrرݽ玍 ʀ@5t&L@OO#GMYYzzzDDD7pqCR]]M.]r9~8阙5;0# {v###:t^(<vb޽ E΁vZ֮]˕+WJ` 2sss|||1c>~~~Ϥ:t  9{AGGٙ"233DKK WWWJJJ(--}}}Jٻw/r\@&""B-x(SN8q---T*{{{:vHYY|}}yEEEt===5zjjjXx13fVXٳ'hkkxbw}jd2ZZZٳCmmm5/#D(J8z(tWqDD%Ύ%K0w\.^Hmm-ΘsNBCCU>xǎ͛ -V_ӦM;v ٳg3f̠͛7Lvv6$%%q}&M^VV#))3gr=***K.M r Z]`` ׮]CTmnӚ888 r|jKbb`vҥr0Hdd$&&&SSxWEDZ1y9s&>*_O/=...\~Y7MMMqBQhaaa\?^m[AA7oDR!ɨ "77W?՜G ]aQUU% jRQQOBc}ZPˮ]lS(_^7icnݺEVV|O7=u d6k6|#//daWDUG @DD^rt颖 Ҡў-,,0a7ofٲeTTT4ϵkׄ<8w֨PTB HK{k>] =z @qPT7 С.]ٳt鉽3^E}*++[|('>K.annNZZvvvP*~mmmH$lذBѣ_""/#b"" R^^o_əٙqqFV+V4^d2чd3RRI.]xt˅ܩSC>)ߧ<TVV>tqӹsgo1y8q":u :vȡC̀ͭU nݢz$ XXX`ffFee%9r777<<<عs'H$v=:6n܈RÃ4^& j`VVVhhh0i$"uׅF4FfWJ[JXXuuuNz]F @DD^AF)F:::J>}ػwȣ9q.\@__LFiiiyzz2f6n܈IOO'++ L }R[[KTT׮]#88X >D^[S%MMMܹ34zN+ŋ166sX[[s ?O>ɚW*++9w.\OOOAfGGGݻ7ׯ_#GpUƌüyHOOoVYi000 Areɉ0455dig7|'___uff&gϞmutt K.zHtܙ~ ry-@;DOOgggN8\.oW""C @DD^AlmmYlos̡N:Ƨ~JTT|))..槟~ -ANNrTAPpdddPVVƀD에FcFfffj*MF.]pG^IV\): kBJK^^ÇypuuCKRuƵk׀=a]4iԔYf  W!pvvgϞ=zgNŪ%11+++䭵֭[xyyJdd$'OחRXt)}ݽ2++(rrr>|8^^^B-O?PKK>ߚ݋9v^ yMTT[i!*4߿Oee%xxx%+J fffmG"йsgbbbyŧ+VZʠ;wҩS'(((`@CPˍ7~:Р0ٲe :::Cmm-ǎ#++|}<J%vB.3c Uƚ===1i[!"R(//]s[HVVV{???vYYY2dȐgr1nTWW#Hy\\\sgΜ^P{Zr9˖- gy1>}D&LھX!oƌ/{""/=b""P\\LmmZHSz*gϞf&544ѣ\zgggƎ8{TUUDE蹹?~sss `17nZ ]tASSSxmQZyy9:ubȐ!Meff4H^t 60eݻ7F.ӥKOٳgx"L>==>JR=]vUN0ebbbطo j" ₽={aܹhkkcbb… ٰa/_G*<_***Xr%raÆJRRjr:vJ||uCVVCW*~]3bmm͔)S(++cdff2x`ŋٴiYYY̜9B5GpEyy9JR֯_ʕ+tcV\Irrro!˛T*eTTTpAaL&h(h>{l-|8rՄ燱1{~h{vۇ.:t $$D >DDAyMh =*'T*CEETkkkq JJJ}hѽ{t ̘>}:[neժU2eYz5 #((33fB嘙ѵkWRSS8y$'OD*"Hc„ #?~M6a``<@CCйsG0>|8vk׮B}#qu6BTGEE}}pR[| SSS,--)(('O}y]ׄ$tttZ)U$22R-&00A__:T*U*++9~8*\]]Z+29s0͙9s&ٳ~qƱ`~Ν;GBBeeej8q$aX\\Çծٯ_?LMM׷I ӧO'''7oRRR555ٴiCwxxxp%rrr6H233 oofÔ5[()(( $$qvv~DD^z]__O}}=SN^"ݣcǎ-=y$̜9u;v v˅횚8;;`6oLdd$vvv[}ą pss֖;wiؿ?)))@C!!!}>6F"`llL~~>ݛbaQ"OGII VBRHjj*B*te5jOuMkkk\]]LDDyׄ{6mB(..fo#%%www}]RI||<={lQeee$$$4[LŤI077';;R~~~,ZJŅ >d2NPΐ!CR())חq4?HSr9`Æ HRf͚%]p۷oͱcزe /^E=UѸVVV4`<1yMdr)Yy IDAT^tw;˖-իC޼RٳgH$hkk yCCCfIÇchhHHHqqqaii Bs 8ϓk׮QPP暭MPP999\xug֭ܺu 333Ə000>ɓ'#ɄFاfrr2VVVƊ~L""AyӟDϞ=;w.Wn7rWqEZkkk֮]ܹs{|ZZr=z}gggΝZȁ(--ESSp}0O8ߟD>ܹs9rP!zQ[[@Ν;SBASSOOOlll(++cСt]xQ(SZZʐ!C<PYYITT"HuIct""Ngݺu:tEwannZTjlll۷/yyyHII3pG[[[Kuu55rmܹR+WDNNEEEw\g)A`AJKbb-&&dM2;ξvd2I&I{/XED( ( *p~<+!x>su)PQYYICCT hp;}<<F&{nX==66]vTTTPWWt绶\\\011'}L8/QFIUt:. kkk}]֬YCRR GAAWr!={6'NdΝ<4oĉ?===Ybִu@ d"B.}ـYܑ3 J_>] >F#5cѢEjmFNN:\9ڌ3t0tP믁(㘙=)$%%i9gΜ@2WJرc100… RA>ngr'Çˣ =zt-ܟo&ÇZ[[K:nZt UUU=0ill$-- 777͙1cFFFSZZ*= D"ϡK??9sf@Tٱ]1x` WwJMM%-- W_}CCClmm)--eƍc``2dM ~7nRr!F"00FлӦMˋ***r FFFX[[cffʕ+QT\~'Nδi"11===t:?~g֬Y{'?]'OMxx8'Og!Cp1)Hl޽֭[\~Jjkk^5 ,rU̜ DCl߾~=7oJՏOVcbbBSS:͛7%Iqww'** ??. EBB555. Er&R̙3deeI/[ www_z cccߝJA|<}Ν#''svw[GVُ֮]V *++7ntTTT^@"AxNtRZ-o{yVٳg٘C0RSSijj__P(ܾ}V"00[:$ ^1c <(=V^^*X555RajjܹsYjՀ&)//GQSSaDzڊ111q9N<)-ݺz*UUU 2p6oץ ̙#* BDc1eee]?L2[baaC=z:N} =Kѐʉ' IuPjii!77[['*QT*=ztGDD`ff!Çrû=̛7'Np)ZYY1tP4 #Fg@uu5 >/_͛1fffxyyfE"瘗7^ɓ'sĉNZlق+xzz6mĭ[5j}?)###`Ϟ=;333̺4ڊc\(N=KRRR_J%&M"%%/wvTPpBwJ?6TTTTTxb\]]y'A,,,ꫯX|9GfͬXmiii:tHSIi4lقVeʕ899=s899qiߟѣG7קݻwS\\RɉYfu+/&O,51===BBBHLLdј=t{\NKK k|״}:X[[fDh_D\\AAAƊg#Y.;Q(R_ƏΎ;9r$pMXx/.]"??'OrIÃs%jtt4:t3339`dd̙3ٲe 召RFƍr@!=K 0+??qqqAaiiɯ^ @(++CIePS]ZZJ[[ǏG/ťW/ ={6ϟ'..8оt9DDDPRRBssh44izzz9rǏw,X#ct`dd#_ff&@fLJ%#F //X|S A` /~3BCC㣏>bٲe>Nf>:my&&&&HKd:d ϖ-ׯ_a닯/dgg@NN >H?LQQR`Bss#I͛7&""'>xΟ?J% S"Ax p\]]N=zJyy9/RRG歷ޢWWWMFSS&&&>}'N`jjJcc#ɓ'O^^3AO}}=999RĄP`РA]|eddtOFFF?ikkc̟?^svv6PRR1b]zbccY~=YYY;d2|S$+ dhhݻ`͚5ܾ}8{<:}1n8 پ};׮]~`ƍTUUo 7NNNKXL>%55JcoLƼyz{8P*SQQAxx8oߦ'z Qsssjjj@HHG+++>9y$ Bȿ[̹s8vsٳڵ{3AFFFXZZRZZJnn.DDD0|j5w禮h/3׿\\\ptt===PThZZZZ "'7 77Z͈# AD"cƌڗ;׿:~_j/X;t&MыӧS^^Nii)!!!h4 }6Gx2:Blw&Mb3sL;q'Mƍ^ѰsNrss%KPWWGEE%%%deeI r 077 6[oӼs*++رcQ__ώ;jXwwD*Vxx8Ν`ܸq\x+++~_g}廇|'=:F\Ί+sEEEbJHHŋ =^DFF۶mƆt;fĉ:uG?"hiia7p1 #22hj/ĉDGGDkNGzz:Ύc7H[YYA A055~Gaa!}Vܜ__R#ckllT*x{{caaɓ9z%]Z7nǏ:\Eqao ى'"ɨƆ6<<</2  Eqrܼy/d2| W"44I&=8uuuXXXaÆ1l0jjjXn6mW_}dEPP۶mcլ\RӤXjUUUtxOj$%%QZZJuu5nB__ HTJZMEE3g|fcVyAx˗ /iy@駟fVZ%=g1v.Zܾ}hJFKKTgΝ > h4rq֭['5ߝ;wHNNE$͍y摝ݻˋ~nkkkMFUUׯ_>VVV7ho"4hZoRũDF^^߅VYnG!++ ;;;"##NK|}}Gѣc e޼yܼyg׮]x{{_R9p.,]cr{  ]܏F?_|v͟'hkk`,^XZޱ,bAbnnk֬ח6=,??:-ZCsijjСC455ahhHyy9:VSjkk󘘘222ߕJ% b…/ի>yٽ{T333*++pqqa888"WkkkfϞ}܌ذ~zX~}: k >c2d...3rHdȐ!477SRRB@@JǏ?wdܫBh)9s&iii=k@ff&L8111׷GO<ɖ-[044dٲe :u,*(( 99;<666ƢP(صkR%X _"G7o|9ӫ\\\8t:q?nܹsYl,]h BJt/..&!!RZ3gԄN# _|ݱҤqIVZ_|={PO666T*{{(}9!5jyZXXPSS&@W%%%qYt)LJP233T*ill>h4155%::wi[֬YCZZZ$B <²e˨d> 44Tz->cme2[nԩS9;v`jjʕ+9vww9((cQTdeeQSSCVV}}wIZZ:A1֒;w]Q"yXb q'>ѣGikk?~ ---TWWwyF9tcǎ}hщzP*bbb8p:ͱW_}JٳgsEEE~[ "c|gח_ŋ3j(qRd„ DDDhXcVW?:J,]jiiia޽RDH^ޛ8533M,Y .ʈ#xxx BCCdL6:Ul{ݻwsEd2T###)--rGp Ο?OII /b.Z-eeeϾ}hhhMx___طoo&""[A޽{JfoP/DA)oOtW>7 444Χ~ʁ/--p/aaaL4IJj5555P<vERR`iiI]]]okk#==/رcIU6777rrrxXciiԩSϏ2:Daa!3gΤ9D?k׮ֆ7liĉdggMvv6AAA̜9eJ__?ޢ!=I!DhL n0#1r:h4Zͅʍ+dH}\8Q'd$ebek6l D}6X8p\!)X1}ʫ% C^Fk8 ׺y;޳\PSsEI$"*X9 JP#'֨QM &jD/B!K!Dzzi; w%."Cˎsr4Z V6ZtUX'ibL@[C zx'w d@F,X;:~S}Y;I ~YE04`'*HԚ¦bBܭ$BTVV5-vgz-;epuBc˙ZdS`lÐud<]jp埦 'vC '?B9#tܔPY/ȭ׆!EDQ!i8Urĩ#>t8 7-xzc4|[2*`./Cy8V`*u,W*B_$B_4pT_PnYτB Bbqצ(zk˶fΥ/oY ,Ēi[y7N+%1ǒyI̗dKE6`+- bOX%d cN9B4Fh\q[\BժU˻BS qf!Ľ@!D\r+Wd^H!=L!B!DіwB! @B!eF!B!DD!BQf$B!B @B!eF!B!DD!BQf$B!B @B!eF!B!DD!BQf$B!B @B!eF!B!DD!BQf$B!B @B!eF!B!DD!BQf$B!B @B!eF!B!DD!BQf˻BKDD))) !=ŅH"XDDu)n!N D{ B| /ق,(dAsf_x dZPFgAK؛9jA>iA拴L/|Oчf˴ ?l3}:b*2_ac(ڶ͖h\yl5`٬s?Xǒy; pL @̜? "O`M[T"{3[G͖iv|_p/%',(Ь-C%nl̖*f|cB{,BB!BBF pY+e(B!DI"%& ^$C}ȷh T`*oc*M^`5Pmt*W`.99`7\gc'@kB[D!nUԊz/,p:'TjE5 LQ$WH['o 7D 7 R 3P7]{T9p EB78] H+Iwgpu*>]tM:u ΒuLBqwD!k\)#D${PS x &3^be[/ó}eܖ!Ct͍Ç/Są.!*w;]w@=LvXSd+3,1* (|g>x5:3P n 뚮tBZ [H/y2-l~|s#x$l:X;V]dY񩹡Oq7G̶>|\Z99t6[UÃ]͛Yz5:???y饗hݺuat<c̔f/LٽtsB$BGRm@$j35J6b7tnX&eGyA>E <"G|Ǜl+R1Tz ΀}}u- &-b̲?BCHL̕hꀫUzu:VVVh4[Ā߿?VbӦM:u(*UDll,QQjhٶmǎCEMP!A!J B@:vFu/0@ j]Fp5Uƻ6[xEb|KNFRP ԝ@B2A=+y=ě3=}"b5쟸;O':ɉ K:Эp#ٳg ѣ$&&r56mDL ̙3wV#==di߾=k.֭[ǥKɉT^'~~~bmmMÆ y9r$nnwd*4Ho{UwN!}?p}!8Fdgp;*PqQ@~E+3ߘu%:^L+{ځ4SӵJ׍!r"Q##&qZ7کtf͚h9$'''pqGDDDS!!!L> r!=/l۶kײvZ"""ϊ՟} X:p*1X}O)$B=F-I}T9PӵEMe:nOs 5*+g+bA.s>v3])Ǫh[hieKsiӆzQN(Xx1$55kkkR-4 K.xxxOFv+WizWƍiܸ1?8vmۂS\\SLooo 3'N [[[UFN ?Qr>c)x$B"}?c!y1 ި4yE6,j#vmǻjV )՚G=*R.WwHa%Cu%Nq]3LSNeذaT\k222xGضmބʲex뭷HKK#>>W^QFdgg鉇GuR|WfMuŋIOO… lٲ{B\\< ZAq!;;GGGN>M*U075"_{~N3B xBD!D!./t1e\0Ȉ 7@=7˸/ۣ\}O>*viР{QwrM&vY} 8ٙFbunhOwɄsF*i3f n/kqLԩSp֩ mFHoߎM *W̟+7oGFZZhтxɓ={6&00@mԸ#?'LKԘyQxe ꚸF C`Dq3 @fQ2w[l b΂A]*̷%֠ 7Xy1 `ku]BM:H@-0?/j Ngf:G0FB'>p;T 7Tڲw'( AuMkڸ&9*ڈUـ >d4E~Ԁڭkp( e<\2\O$~{/rB6 :.Swm4kIUO6 б.XssqA60`„ t֍HN:?4nܘcrECVHLLd޼cVױgƖhQ@ h,iӦꫯغu+Q~PM>:ȫhXs>9d:[F! <<͛cTO]w///als#f 4 ڀ8`zd%A1NQk"N! рb ӝj^Kш ԇ+@UԈCmkTpa5֨PAK2* ot<mv59 ڬ fΡc:>|L@[ej;n?!H%0ڭ5 jM-曲$P v@o`ʭZqd9cVbQT9ӧfsᦲ/ j@Xy,TPYCMDM{8,y3} 莀8m `W.{?pWI'Sqnp3 2 ^?S2._f#8<)W7l~g!KB|;/9تwp/jcwP{aƤItЁ9Bjj*[Zڝˋ֭[3yd.]DFFvvvTwĉ"w5hGswi`a7_р1B BbwN^N+[+Yz*p`9)ziLΨ)S 97cUQ> OQKr֔Y >;}RH[ }P#60!qddA<ظ|MRlP'B*Yc?ѴnWxŰz'W- nHlDsG6Vl4qmD:t@vv6;v(дiӛ|_]|FĴi޽{q^̗B$B[! V>0îr` 6dg`; \OVڟXh Ԥ&vQVcQ눚>ܹsgM`ν'n^zZ'+Jy#)7Eck]200G PkT{%Ջlg/ͩf8ngDG9Q.L;miWɩM=Ȳ 3FZ#&B/9yKGUmǏAO<Vu+Ze}CojMTN/%-,FO \Ӂi.ҝ '=WԻ`わHFm;YMAJhIƠ"-%RΦHY&!bi7@1| ;,=7 \_]GZSqe^B7R>+b7C߱qVߣ'GA&U@r׳g;v,k׮N:lܸzT3)o[Rz]pvJuL|{iM@~I ""uÇdbot+Fq~K`Zt@ʪd< 0if5JΆX5'o-i&esHuY1CjPlN!U0Dj)(AX_W&D` ,ݟ(m[-}&~^+ Ν@h@[Gp!4c!~5(,<:F0 :Y9bT#ݒ{L#bO#YncƌAP|r :25V & t*`_L*F&>5IYAyn\ @ASnDr tm-C'(LK:ԓow_s r@RjfCZ4s@Q)/+;&9 q!%t1NB=R %V ͻVC ꫣo1}s|cnm !&{v9('d.&&##)nڴ)nnnͭ[=r9v666$$$жm[0ڵRv~WFAr@ASD(o~sf+7"wMM>$) g5M˧KpEZ#R}c0B0߂EH'<; A3* =`jȽjESƴTǫY'bn͔tO!>#)=:f ;Ʊc!!A $o޼U)VnSHMÇc͚5]uxA@AS].Ç5r0C6ۛ )ThGHwB<4﨑+XV9>dʴ*`DmRrs-~:3Vc/cfƸbZGmiڥ(Þ}W%555ʅTU%KܻwW̙39}4L0!̨R {aСDFF2qDO_ gB )117n(V_lpuu%00P dI |y+M ͇A]d@M+fh !.hU$Gx:3u0hU~mMRX5xB"$aaamk֬ҥKl2Wc&A\\\;ի8;;cggGn\r*vi:vHѢEF.O$آE V^MQS g?,݂ |D"—-02/QsBA#)RZ[Llk A~2)qk$/)RJm}ujn:L*}Bj*8C >Ԃ/#lW7h_R,)]ب6T~۶m#22SNͷ~˗/eɒ%3h fΜ͛7іsI)VTX1޼C@[[͛6ӧO̙3u vvv.Σ  "V=.Qd.)g&{Sk cY5,7eT7cG3;_ߡS#iO3jCz@9NW8q"TPA`aÆhkkH5(S WÃe˒(͏XuϏƍcbbBPP2l xSNN6m1brׯ޽;lݺVZ!2!J{d25Ņv5 _6E*< TP+$( (d2JA7O4<m pUWou<=ؓ sm. Ԕ)7j(FWfӦMDFFdfϞ;sssСrQrrr7MMMMX{1---ΝW^akk!.\@[[닪 *qD/LI8m#b^_, v,ڱ$vߗŃ?w3pK @F vE4ԩ {B6hö+~3MX.WC.SBl¬Y={2._w޴iެ^___hܸqn%j„ *UJyN:4lؐGҬY3bbbܹsW^Ν;ҸqcVXj짤 PD/[`۷`7  'Lt]C ǩ-YC@FrJ[JyPաxW95ٙNѢEԩS(Qv^QF*m``Կ$`ʕ 8֮CC ikkCׯOBB;#!d Bu5*A {{{Nmuwg{sՋY7Ke}Od_~L?B s[vtUMrTV84$"GoSuC\AZTɲ[~^@Tvm3(= Բ=8*OքjFos.YB͚5#22ƍgtaGBB׮]B5|h߾=d -07o /\ &&"EKfXvT|pUFƍ \?Ea„ TV={~s̡cǎ,]aÆ!Xr%{?j֬+uE=T|dDh"cu;_gΛOޗBd@ ^U m3i z`` Wg@` gt ?֭[Ӻuki֬/_ LJ۷sN֮]~A9ٺu+jjjmۖ"E2K{O <ѣpoAAk"/=~AC;gSb<@K@]KK5֛hhjN*Tի>};vpaQWWbzDGGөS'ҒO<ϴiӘ>}: ,d22p թRJN@A:V aH;:m}c`kxyq x~n>Pׅ[!6.O pm.Xٗz{{}ӲeKZlm򇅅puCnݲ=Gٺu+uaȐ!`]ghjjfZj<"AQDYr_>]!62/Hh@K8hHU-{@RQ:$`)\wו^$^1(W`m߹sg*UĩS(UGnݺLgR(###,XPAPw@Az} ]}ҷ=R)(UO9LpZ$) '~ ˿DxаAAFbaa+Wlٲp-i{---N:Eҥҥ qqql(QF`eeEbb"qqqDGGϸq033˷P^^^9r#G"^ P; |lzà2nArBD߆v&j zfPYf7[=Ci:n >L2 bbb>$%%eDiǎz*Gȑ#2e ܹooo7oΣGz>B`ժU 6 [[[.\7A  [nܹ?3cΜ9C]6_7OHH}%11X?~LHH{TZ#G|xccc?~<7o>޽ &ШQ# D=tI* K0AȱB,LŎ7\kuPQ ]]K M3C-ccݮ./ \ð L9ϤPI=o} E-!ؙyO`T&v߱R}IeTGc{SV4tAe?WTהV.)z1͚5ɓ'ԭ[(.\P=w`aaGG'cϟSD BBBx"]tALg ,`ӦM(`kk:tUVaff.gΜɓ8880m4)Qϟ?޽{+WNECQP\b ʹ"Ș:2NI}.ŊtvmgBw] 8ެ/y ˬi&C?eso*OqàR S;(Y)/S`i]x3E.]///[tt|/^e˖1d*VzѶm[,X9sXvmz۔)SpwwGSSSYuxzzҥKLLLm lA/ _0faXY9cXkQdRW2j6F  wDtQjc j26P:.A'2u6t-ane/W! j@҇۫gb x$+_<EtܼyI&akkG\]]9{,ɓ'YU(ԭ[jժq}.^Efَŋ3i$*Tܾh"!)H244$2REf7A|$A fP[u~r*OKVg}%*ApsxXpi-4Wy7Nn563K]Nn)UVe4yr7ebooϨQ={6*T`$$drEd3tPsNm}hٲ%;wF[[װaC֬YÓ'Ow7N8A&M04| IDAT4dǎ7|T V===Xx1۷ݘ1cf„ TZ5kf_PPyɒ%K"D"jP{HYiW;XwLAv=ϘB`*hrfܾ}Ap} nСC_K.Qre<==:Tu=///<< %H"߬Y3.\@LL Geʕxplllw9Yf ofݺuY.T>):ubƍ*U꣯Q!7DCn鯇]!h4U T zMe}QpTp搃4A&i x\Y/LXr%,YiVZ,*rJ,Iv8vr[ڇ@ݺRh}}}ONʴ2FaÆ,200|ܻwRnݚ={`jU"mA'ր |*CFޅmRxv JB6.W0m=OK D=(x~@W)R?ǓSrʀ^cʔ)xxxPZ5ORE>EtԩSRt& d#-Is5~GJw%&&ru n/_L2l "Ar~y*۔#"kz9!h 5*cM( rpn+lˤB_E 5H x8}MЦʡPeslS5uYgp*G噠V|5kФI"""6m2jժ{iذ!3gё%K`nn.RSKSO<ر#UTÃ1cի3=>..ڶm޽{~.PA>ؠPdP ݕ:, ҆E`- )+{BYkKRae #|uhV:䂯 D=TV ?2UN}0a VZѫW/:uĉ'VZǦM%ҥ v4E$A\%AR,qzok:vJfjA(~%>lאtP^d%+3.`ytR޻K) 9u>>>lܽ{7}Ҷm[޽K5fÆ ܹS]III?---zL&˰(>wXA@A64.@[7! Cu ^?T~? ``,we 2 \ttڕ`ddD6mVyۑdXXXаaCyIII8::ݯ7oɓ'IJJcǎ̚5A@AZzY]g !(󧤩Y))7*  af3\ xt&#_c`R `_~z5;wxL6-S^=^zž}QپL2L7$f̘{2(߾}G*kꢣCժUYz5DEE(% B^ B~{Ӫ f:$!w cpWx48N`i\@q`ܸq6ϟӡCn߾vnU6l֭[Uۇ.#FH,\lP( gϞ,Y0N88;;3r bllLBBB] ;D"_diak{(Q ^4/Z@%@˟f͚w^j׮/ݻwLF%HLLɓ',[LnܹڲyfL`` VVVXXXϮ]̜9qa``/hkk\ u@A(X]z~P224+1x!iH ʖʽ8׬bnݚիWj...ܸquqM~wU9pʕcʕjJ*))ׯ_O?wZБDLL 111\pzQ||:Av"!wE栍::JR}" mTs}(fɼh^?:{&̚YoW a0]S9d}ɘlc8q4Qf+Ǐg 4Kf(WXK=8|0ބacc!M) ;2y*V|/yf@*~x *UÇ.TM ,%xC<^}X4@m *.w~i6ZŻxBV,RJk׮<ۖ-[h޼9xzz~@ٲeٰa;v?ŋlْX&NǏqvvŋxb ͘ӓ5krM/^Õ r9'NҒ=z`ooO:u9s&wd8yȑo^)|A>wi5>]YKkj쟎wu0viF)\m6SԔŋf&O2i$*Vȉ'r`~iܸ1?34mڔ9spQ:%ݺuԩSʕ+#ɸ|2 6͛bԩS777,YªU2LE;~8ڵkʼn'Uޜ={ӧO3{l:uD||<{eՋp_~|3A>G2Ea/B=/^znxEY棺vv*l{OHe9Xt{_u'T٤*ijF7g/! gmƃXkl;(us`:f #55/3իGJJJY4isUn;v,Ŋ#"":uL pBFqqq 4+Vdڿ\.G]]===ƍǜ9sիK.ЮO>lذ555ryxxx0ydNwr{FϚ%d21_ @֏(СT0Ҋ[c t,od 2r+}δ3gnnnm;OOO~'7n>ڵkX[[sU]Ǚ1c G1[L&SNݛ'òe˸}6 >CCC@ X틫+̞=N2e(Y$A Bh9zyCD?Űtȩݥ;ZGɵ>vջΝ˿iܸ1ŋWKHHà `mmXZZҤIdX/عs'˗/իUVՕʕ+Ν;2e 5x,YBɒ%y+V5kE B~i=T]3 taT@Txe١Cd2ϝL&ɉ+Wrq>}JHHǎc?_~eښm۶)Y`AԽo>>L6 bccҥ 4lؐsq5j9ΝcԩlذǏSjuIfϞ;}Xz5#ĢwEN |T' ' $!(p jc߀$066~k׮͡C2@XX<4+++ߝڦP(޽;۷o`ʔ)}cر$$$([z53fܜKY13 6dϞ=ܺu+CCA1K!?Cws~0~)Q1P///Ξ=sŋ N4ׯ^/͛}L<۷ӣG\BTT4j$eK^edd̙39>c42 +++455iʳgrÄD_Cl IwAiS^PSʙ9?/͛7W~-rBtx-ZČkqۗ,>LϞ=ugϞeƌa166Ç*tmi 4i«W>z ϧdɒZ |D"۷'}ihA$8OHLk?11GҶm\SPpa̙ŋCCCFI=Ӌnܸk-l ۷ KKKbccvׯN>BAjXx1.]ߟDΜ9c\2Ǐv | _"A 5ssse=# _ˤXkyv:ybWCѭng)))bd;ٟ>}NNNqFd2V͛lڴIY{{ ?{`ԩcbbB>}i A>"yxxdTHj xvԔ<9UCQL2oԬY?˗/ckkKXX/)E`eecǨQHZ.#ƎKɒ%q{Vy\bرcL27NV8r'MY[nzt_RRIIIݷ  BS )r9VF1֯_OPPw~ڴiϟ)Â{KKKGn>u腆B/+WSSSnݺժU4iArƎ=m۶%}mڴ LLݛ"Ep  oz/>ɫ=)rt~ޞ&M0uT>EL 2l13f̠cǎqbcc駟>uʕ+QSSM6l޼&Mi&ppȝ=z^zŋsf>}йsgrym  QD,MǕTW"6vU&BuMNfWCg\I&BMMQHރzesv&-t9xCP=-Fu!V*[[d kf˖- ۚ5k'LΝVo׮]ԪUJ*}y Bغu+ݺu˳2s!F;w͛o>{|}}yA;+ |]Ay0h'}ëaSyR~'54NQVdZZ38&%wį߉~}|)s9eJX󘕕8z(eʔaeoll 'NtDEE}1ӯҦ~:ibbBhh(:::8::>!0:A 3 /B'fbp>/ Bò|-9::rСl dfɒ%|[nrL*9sFYsVc…z^ nJDD'"A&0jeM%'Q˗ʚ9JݺuR%L_e˖eŬ] |P ]`ff.S 2.(B BAwB̋H X9L-Q+]2׆VիǠA>|8n1[ll2GW8Çyf |D"PВޤ2,}, Q0t…2۷/ݻwgҤI4':|pѣGyA|D| ޵0t./?-beʕ+hтUrJtttq-Z`ڵYy{eʔ)ԫW### ٳ'YO#B BAyS0궩_XefViߨ9rdBBB رcL:J.{YFUTɐ7..P={)_<ڵ Lùt;w}|׏ZjQF4A  تgY'iM 6*xR=T,1I7Ê$~`p HYܡP R=^XK{ճ_P٦V{M2Uxq<==ѣ<}T_&1|pf̘ǝ P(Xb9rHIIQ:t(3f(T3gₗ`ӦML<9sN2dك}anݺɓ;X5 BAJx`3Eu[ )5djh t_c, 2iܸrMHF022*Q2?www100_~e˖P\9,͛7/HEݳ*vm5k|g???vyG#C <*WVa|h~ޏ5#G~ 󃛛޽{-[E"Ep%Xt)>>>pĉڦd quu1/[]vԟ @A ҽtT6$'^i[&_|FH" ///6mJ޽iݺ5ueݺu$%%?b ^|IV>yMҥSN899}R ~"A(HšD$ڪ KB{w#&|zI||<۷ogJgϞ͐!ChѢE Kܘ?~)B%AbBڐ$1)=S?{dq{O-[PTp"Pd(* >(KTQDP6([ Ȟe:&Im-\Ms;'-,7NߟL[/^LTT*U\+WУGn C;B⒰,jG /*p0*Vf۶m\ ?nwlt]!MB]}=: LW U]B81|pSU_ٓYf{طoߟ2B[!(.{úW@ mmBQNy*UD׮]ܹsaX5jUT` ,,O?B!C|_eXW;u!ĭNBo!〺x2/z(\4M%00@{d8w?/>rs[,8Z& l6sqVZh,z)~>^Bވq'BQG$_ fx*^>Q|mFΞ=˄ XbGA4|||xG1c4M#%%'N0zhNƍחt|}}tF2334i}TX7|&MΩSٶm'NI&уjժѼys9tl6E\\sQbcc1Lر0m4&Lh$##L, ӰaC p !DAHBy?\i7ˁǠ/+˗ٴi+WҥKXDy6lAAAرqƱtRjԨA׮] gѢEPJJ.Mdd$ݺu:u+W2}t_t:)))9?3:MrEjj*%m;vd̙ 0jժvR Xi Д{ PmUSt*ݖ7tmW8fk~*U"**͛ӴiS^q111̛7;w믿ߏNɓ\p4^u>\mѸp1_|:vѮ];t:Kӓ͛?pyIKKחcǎHPPѮ];*Us3gp)[,rmҨigΝ$$$P\9y|||X,z4Mh4LLLĉ퍷7zϣlU7Qz]B9?!^^],w{[;hذB[|&n0Lt0XtA%4 FtNh i1\y=g9<5fCN,,f cF :2 BR:dY g`9rp>lU@UÇZݛvgʔ)СCs^lgsĈ;͛7pB ŋ4 ^ϧ~J߾} u:uGr(WrNGݺu[C^ϩ,|РAC@{ 8$B]*P|wB1@ײV<`ЁD@@@_"D! G6,Gm-o娞xI:ХKJ,wmsq0:ٜub|:,> SN*աٽ(*H!Dq{ʊUtJձيz;pB}=mog>T@ Dzd: OC@)`0 ғ`8mp(CTۚ(E@BïLHN/3ƒoRM/zǞ1!! "TkR}FY&dСxzz_ҿr'頬50`fno> ZBnr!DQsK !nmL'+`/!~ 'К0aDD3 ~b>P`_@uX%걶` ,+N`dQ5G7i*{\OZnZ9 <(OJ7ԶmXn4nV: \w_U<]q"y . #;[=*.B) #X"j<QayT/GM TG@5 jhW0p5x`.D!^ub@\``UHa`YGQoA'f !no@E/- ]W :Bi87lXGg~7xAp 8S%`N- QAf߂ꍈђuz>z%5PöP=G󼨼{s`-W:WAS@rܰc5 O¹@3 R Tj=gB.QXf5g*n8IBpZV+70)J^p໠CPwDt~NCyv>lނt @Q=0Aq`#$nx6ϳܐ!a+=q+CX3^ J׃:Di^ xcDH?= X ڡ".FjRe J.&g65 Ջr8|o,_-5ljxWgԪ]o ЕU!Pyހ)d ~1q_3 htោU G*\ BBK:+"0:W=d d6R "+9t:5ByN3 Tl>0 2Ӯ^rBX]] Ԟ"^ŨVǪmʹ^;pp!*c+ ضlh 'XR!~k)Dzb&zOv'DQh)ƫa-2.G\r.5+]Jmu8C? L!ȸ\LmR7gʚ; 7GB>hq}Iƞ9IF‰$zp_|?PMB`@VbruJI H {.8Y|:e[F,+ʁ! ;4|q+y$t!ng@ȿDWMl-iB!ljB!B"#= BB3|6*? l8o2ܯg+FNPs^ݖ_:XB[NӴ;k%!U;aD0nOe 8| T5Tp% hb 9c^{  ' , mWs@.oE8z6op1oN_[=`,1U|Xvѣє-[B4@{E,Wl$Ť-^=O>ȪoдiSBR$!H̝;_ŸUIzwP2Sj8mtrE-@\Z/jKRcQC2< "} T*8@71@xvUtXF/Oe:_HtP2N֩/=aƾnaB 8ҭwQC_xqwDֿxKnl]:_͹r1]e7|,ҍJKSORBqS"$$$0eFMB>G^<^!(N@w8>sLf"w>]7P >z"jٹpm{'X^'e͎_Bbe.&9=̩ĕ#0rH֬Yh/] $&&2m4,Yƍ?MuV"##ʕ+$$$?ЫW/BQxr. .Bl u}:\/v= 8zjo %mo̮yK!B˨TΖ@_ܕn 4jN`>'@06_U{ 6[ m׻@yZjOдiSZnrڵkYx1'OF4t:Æ RJM2e;O4<<mɞ>,\G)qA*/atۂV_Xurpgݮv=^u+jг WB* 5< B i<tn7N/UZ'DA10ѿ\ŜpUƳlv9GGx{j)^.Q?WS/c=h$,,3grA,Xs=믿N*11cƸ*8?>&4}Wt F?Av0}iʕ+wmBB"%iƬY0?5dj>l7{f&,{oqS.@HIv>\>r 'PæCTOI'#50j5Al=*z~jDTh{%xc[zP2Ag\n~xeH<f-]~6[-OSAmTΧ^8:BEW5k PS9x j]ܢQ>=yCHt/AJ L8SzCEF=Kz ES1ńGrÂ1nϳz3Wq꺇W.)ۆZEk԰lϡQ#jUDl3ʢ&D PԜ$'H| )Ti ezw}6W~ а19}EH?'*bxy՝LFho7K]XW_y%>K/iMXl$†pDa=*V%22ұB\Gk !Ml唭T5ت<{҇qJ{tC53y;YA'Wp}Ç[n`Ll[~Bb{%j<ϯi6W{<B\MRB4\.GIgۋsXVdrǑ}nz"õ'Ͽ]c"""S|NGǎoV>~4w_HJR#[HL:wRF-… skž!n &zc|ENi|u鿮P$sЇyW%L'h z!3 |]YC tDxZUw<ת¶H4JC*uȸ:ᶕzi { ^PAD= OxqL^Tdk5 ߳˶ӺU;l_L;Z~=!ڋP+ ifض۾9Ȁ^{>H B.BǩShѣ_R**Y̗IֱӘ!t[<ו3]15>yKp= |!I{pf/jKyGlӻPӭCQ:tfY뽊s|kTp O00]o]*\s1N}WC43GMԺLJ~U z!6-̀Ϻ o'.txR WA˿-٬'E-L'ԱQ-|l~1|dy>Yv|~u5BgC!5çBV:L0l 5,ϋ-bY9:mw ɼ VQ- d WK@ Z4CmGMJף&[x_,1`9Q4rMӸr]#vi9"uhygPYsӝ2_(QM4Y>ߓuw8q"}\!887Ӕ~^ևa/\ KwBO !D~$!n۶mN˷qW-Q#b K}Pu_c?~ DS՗|`}SlⲺn\~dd/ <x5mhevŠSÐ\b^2_ד1!gvHe݂˴z2,XN Sq#󉍍e„  UFJJ *֨Q &K/Η_~۷/>gja[GkT[v7H!\")otމ: |ؗH7A{>2[/zB^mȩ=d{m*Pƃ2o5@\+C Z?5~u6KwQ&,MkUɛioeݼxA`(}ym: ¨QXbCW_}ŋ/?h ߿??êR+D.kU_;v/HqۓIBb7c tD ,\Ba~CtL}-m݈.kzo3ٽ.?q _ #Оd%D < TߊwJj>3s,&fB1 'nWX/l}^G-~?sa֬YæMrH 8I ݻ7֭СC9/?~Va`C2йӣ̘1 !mOz@jĉ+<L`?|='_~zo޹?!ӀzVSԮ9r^#ѕ4ȜqxQ7PEjW:Im:qu*o'yt@ ~U1Xu̓ujժQw{ABBB0$&&o>wl֬7>(M6t ZK۠o߾2dȐ҄YKQl>sKy/tNOQy] r"TohXۧޏlPKv}QpBjW'Q;>XU7*7`eOB4 SRYiF(c#FEjժ?lKjj*cǎk׮ܝw{tpB@-0b;|/|g 6캿!IXL<ʛM>SMH=quŪ\Nyz?wWh1\_׳;cZH!DǩYrzEjFCc$hN8A|sӶm[VZU !o۫O4i=!M!ٳ\~dKZi_;{s?,@/u Iu9N4BJGBy\ y՜&?įR$]!3.f =]h 05jP^=ƍSxM;v,˗cǎ}|駅~]Ʉ``j޼yo U +V !2KQdv}MҪ2,z< uQ5&zݞNkCOr?n܏br$ Dɏ'ׂ=% Os[ޗ.{- hZ˱b.7~~0ro7TIಋ\v-Z;6fFI֭ٱcIII<_kՍ3>DԩSY&۶m|ql[v~|BܱDQ$bbbز!5"?|\ Yk œq_ߍÇoU>:T-|,3N'X? {W_b:5 ĺU`Od\$!1W&4[ܹ\Nʔ)SѦMycÐ @Rdffj*~<==?~cp'x't1FqXHzAd8=Jvo%v W_}v1{l_M&M2e ~~~v&Os=ǀ>gnF7o<쳜?>gݽ{ay<?]—-[`%2Du/ǜ9s~?u mg dk"궼;<6SzKy?ЩS'ƏOҥ9w]veΝԯ_w}v,%|q㈋YzNiO<˖-U+[/ԱcǨZ]5jOuS0` ,ѣ !n2Kq|d/|`ρ)WqӀU{'|\O'GA/pB}]֮]Kv;v,;v?$66ٻ븨7]TQPl,;=:3y؅- %y^wٙg\]]קrL4M"Hȟ??W?|H$6oތM4'dɒKzʕ<|P#ȃĸ8Q<*@APV,Zk̮~dJb!/OxG!e@8P.1G<)O,wojС&Mb֭ƒ%Keĉz3g*VȊ+ٙ>/^=AoߞOoM 4h@_~4hЀh*GfŊ{NcA[o e,Y.0JGqXH+UNG`8o+3>܀_[T.hg|9H;ز[:66oޜ͛K<<>ݻ䄭Å y2Jsq...)SקXH$^Z3Kiܸq,E0@ IDAT]%K0w\MOG ?qAи0Vϟ@ȗ$` ;Ճ]{*@t0> A9P ˡyzo!*PِG*#-΄?TD ~w*Wj6+*,ةS'$ ͛7ˋ ?S97Eaff\r|1dV^(eA;D"Bm߾p`hf+p(8$(964xO?A`*@IlIu@YYcGb!rMح-uǡrǏϛ7ouppĉ)R]vQjUzT*QF0c ͛J#G$44۷kz* h؂%B:ZPD[9~= }}xqdRQI[K _~?; LH XY('vyV.ɚhڴ)...xyy!:t(Vl2^x'4nΝ; kצRJǏd >pu]$R 4|$Yh*T _|=z;vн{TJR~<==x☚ @PP-ϵkغuF-&&EQ\9z聑QԧOz˗/)Q#B6[AȔ{bRRHZ~4[|T+LCP tSoOOWcP~<8Γ?k*ߞ\|ג[4*vvk׮QZ5zꅗ 6~/^[ˍ7_%88"##Yz5۷oaÆgxAAAܹs'9'2вeK_NMMM35nvpuu={hz* d3QPLHz*m2̽`j&QJ>Wt1?A~,y %fAPÑ?"uEͨteSU@<˪~*u_)mWUm?{lF<ʾwUi%SnbJjUM:uhҤ ~~~888|bK՛7o;w.Vѣl2EcǎѪU+ʗ/5?VZ;w.'NLӵ2ׯSpaػw/nnn(P={[zA|S r9MOEl$V@AȰސtD8ET(ƉCJP|ɭo> BI_Hp>XRypmM Ll*':CC9#X-HIjԨ޽{9qܼy8QhQׄ12~լe˖ۗн{w-ʣGTۛŋ''22RqqqӇ5kRpaqssC*~z>}Jڵ+nnnx6m啼MagΜAZ1?%4DƐܽ)fqӂjoa`b $;tigB5׼a4!>cXUoERz<ʒաnݺh___J|]ƤIpuu^zYn… r}AAA̜9ϓӧOu*l߾y%?vZׯ-7n'a8;;3gTw! vIs%}m)QZBtx{ŧhK,UY GC8ng >Z^`e/@cPk~~C//P,N~F1WiRSQiذa\SĮ]sMM8q"ݺujժ麏,^8!@x"#GwoRmmm6mٳ>m˗/'22>}`iiIVRŋɟbI6l;jx6 d"B\zSLI:%u>}wø;0 ܅mIZ/^8ym_xH͛__y%0`r seܹ>@~֢Eؼy3/_N~<00=ztR%W Ϟ=ӓǏOQ'D__͛7pouwwgѢE+i.\k׮iz* d!7n&m TwT6X-y09 ;‘P&X5T>^x-UP$(?#Y&ٳ_7n*T-[={6išVVV)NêQ>>>iggg177y@XXXr?TJ޽9}£kkժ3uTrr^:7n4A&"!C.:'i _`S Op_s$w 顣+PsG:uuV@=ښm۶qEhڴ)2*#Jiժ6m"<\t???|2-5klAjb k@KPpyp]`ygxtÁ:.x(t<^ F'۟ʿ Oz< 9sw ֭[_mۖ(<"7zꅯ/[Ϗ~kW^%zI… hѢy___|||}v=Ou !I [pp04M칑NjnҴ%\  /9SNV<$\.i;iA`c ^o# h!?L`7c w/СCxxxn: \Hz?~Օϟ2`S~#G&MXlYrnVҢXb{ckk',-- 4AbDt8*336W+U- '>;YX wm[0|H~hӦ ̶⒢b| @U666ر'O"GKGG'G)wDt Dȝ>>PGgL iz}mhnҰ`<(qY:$^zذqF$Up̘1 6 ,]4fÆ tڕ'N`hh ֭͛?~@o΄ ?>m۶eSDauwAnizO|,L*+RyTr$&olRCUVJ 8|l2ZhAҥ9uTr"yl,?===f̘իW7_nذGGGZh=z`…\rgRMOO/ ` ]"DtKHH@KKKy4 &)m7$JzJgJX*]++j/?#1(bHXo~ &1$R}L`>1@ZT Ǐg5%K丕oIR Fv{.v^z)S&D"aРAL2%ŵO>|mǎsN=zt땨6񹤨 "V@AH7B!_QECK9s.XYl?KՄk~_2Y= >dȐ!4lؐŋ#I۶m>}:%J+8IDmۖ5kp޽k5joѢE4nܘSRpaĉqwܡ:_7vOϒ%Es:o鿍|ͪvnùx'ݚ5kFr7nQQW+**ڵk#Xv-Ri/Œ%Kx!qqqTTMF||< : 6s2dHlٲ;SNxbd2ݺuEpʕ1` .L߾}vwf&O~r:DGG%@ArXC$fPRRyBbb-C}J2[c1,_ 6Od 9t6N7-.\?Ü9s6fR`™k???UvϜ"_R^Ň022޽{899MժUSnܻw[[[֯_<ӧܹ3 ~6jHǍ޿"E$/,B&` !*UJ; x5dm8w[/KL$E m}kh"*U$).Ɵ@)S 5kښׯ_s5L.l"e˖K.DDDd_Si;w$' D ^:ׯ_ϼ{N4xm;>aHR{Wll,gϞChiimܤy߿gԩL:u򒎑͋bbbhҤ ?nݺ=L\#ѣƦXz!*T-[dxnnnlْTe2T^=!w Rvm>|9ݺ)F~9<6Rͅبȁ'Bݾ}w5fϞ=)X :t޽{*T3g2d֬WzP=s/7vˋgϞ ܯwݛ &Я_?N:۷իLF%UUNӧ|Qy> y@AȐu&ok9rdt&+~?+kS2Jbx:6UwfezD FժU 87oXr%/^'yL&SN_'}nhh}U&<<XO dXɗ/_(VWZh8fM}țOhWpŠ,Gj;v,k׮vC~vň#R5,Z(G&ȡCݻ:q>|~QdIݙ1cCWW7ԩSww ±cݻwr.*Ge*JRhժU(B'A2yr=ŝԐgOJM bԛ [)835&yS>} M;Ȉ'OPVۏ>̂ hڴ)["HիWfQAAAZ ;;;\\\8rM6СCL>>:钶SGr| [骙x~]ѭQ^*g'{{{@^/=͛G)VǎK|]VVV8;;qFƍd2{4{~[[[3{ln3=^R:dz,Ar) ĹE ngrB#C2\A!O_޹DI(QdӋSu)Y$ )၅׮]~ߵCV\ɣG>}~~~=56lYf,XP 3!7]Aȑ=Quҁ2?YO@1*TyJ fY1ìTnǎDE=K.JYXX?RlYuLUlmm6lXիTX|ejwrʕA ֶm[LЙq9f*eQA D=`S",www={ƲeŋfrDB%eVtt4.\L?O @A4.X] 3r6x<2|\qFL>___Nq޼y֭[=z4:::j @AP~=༒>ّmX863lp͡te+37oްyf}nݺŠAh׮k?KñV۷qww[nt OO -Ϟ=cҥ7 *dfڸcff?qAȽD"Z0cn'GdGDt*zC{K9Yʕ122ٳ{zzҤIJ*ņ un9Add$?NuaϞ=4mkkkV ҥKlْ]ȶmxNua˗/ӲeKlmm4iR֯_ĉs)d d@AP#F`(<m]0+ QT< mWCPLG?R N"g<Yfѭ[7ڶm-[f͚}pyFI߾}ѣ;w&,, &pI9}4/_I&ٳzɓ'… 4m =\1BCCIHHHz2b꤂ eL&$A;vInأScp@8(ON$5R>'ʛUѮ]ۀ h>C rg0 |}!T+l]**Gi^TRLLL0aV#' PBDDD䄗  ֭[3cƌTZ*Y'j[.իWȑ#VG"Eڵ+۷oøsNt钮A[{?AR]tB7f2$dLbDq1};y0d# `Ys%ܹŋi׮2066 gggtttؼy3/_ƍܸq3g*̇ٳg*񁁁{ 6x߿?+MFEܹs!oo!H$V?~; v9}Pi{<:]("SRx &gT\_%8 u X٫sv˄ 2dHu+Wӓ3gЫW/tuut\zϟDv:uܜgf{odu͍VX;,@D+]43,`{T )' BTQўbѲ/QT›3p3E|}136o<ڴi!ZZZRV-^x?::ٳg'}AfΜIҥ2Ar7%ƌCQ H܊ի 9Rz`T^nSg3lGȓ{񮲐eʔ]v\r???ԩV6l@[[---Vʘ1c5}Ar9.By li*DBя6dk/G}BHLg Tp"zFЅwY6oތ L4)[޽;ǎKq򕾾>7oA]!St B-ZMжm[TGM[bR'`>0O.Dy!0iҤ|}f(w={ߵڵK ` \]]~'wA@@'NRJGɒ%ӧ)Sy D,7}tڵoOzPV';0+1g+@`/22ÇFŋ|7۷Ɔ'?fþ}h߾=ӦMSA#D"BJxxxPR ᭂ D*E察Kp3`D2O̲etʛy=@Edo3"1T2'\Yu!28)SqJZ*5\By7 U~_S9ń Xp!Z)0 9/cmmi É&A6666oTTXSޡ^μoaɢnBԝRsf3ɮ B2 :sbu< JDlU|yU_bSILLYwkU!ʔRѮ\Xж/۱>V]X,9&j(ra~WnܸhbWK}[ AUFFF,]%K0sLMOGc8svNK\L h+shBUAHA2K*Hخ7b_ͻv-XA h/9~jntTȑ#駟05o}T|D cpuo d@AШ-[y7:Ƃej+ַ۰LC_dz!$~Y62oBPsA&&&_) >>wn3|uϏ *dACD!BArpz4cu.?MB?6l16ᦰ-`oq7?db(i R)KuL\W$"߲U2f%muV\En%^jT:Heԯd2s&߄jٰ0n bDؘ}:Rx B扟$ X:t'hkKpɶ ) D*6e;>+iSDI["_edžgP H't!'&B^&Ar4{{{_ p[ƳPa &HBEB6P%509A2g26m}4k )dd5ĺ+ŁHv!hDidD" =A5lڴ044AD"BѧO~uX8#!dhKVv愨cD&_ D q>T(D&cDGGkx%P׃ۏӧOT.AP,Y+,K(>bOՖ,E-V,E]s|a ' %C&o>zIŊ\2;vH-&&155DFFrmԩ͚5ٳd2d2W^e޽?#Gp<<2T'$#5B|\>Hz$1a~7 d&H(Hj9 I@d͘1cxƴiccc *D$$$Khh(ѷo_ʖ-Khh(G"`gg#|#G兡!mڴ>`jjJPPɵ6|||p҅(`ח=q@`qwyo->܁q'0}t  @A]F.O4V}ӯ+/ $(BL#_"FdS؈~u*0! q|ϻ3O?v'#}1Q2Р$3S. . (+5NGФI,LJ%J0vX/_9?7߿'66z1i$6l# &D~rFR])X ) YbT(J͚5  |C qqq,^'gKث@*ۘ,D&Mn9@d8-h UC{+ْVqt RE K @Gn`N??~<-Ņ9sPBtx2a㗳օ[й,^⋭ A'AsBw^ T4VZ6 D@ >a{ >-K2 #%Z@/U,tuGZ &ȷ\-Bo"3ACU>yKW?$)'DQ:]zKKK}}VR|$ѰիԆ'jTE~}e  dd2vi~RJP:u*{VumJka_,,nIDATcA13):&F\ ġYd%] " GDa1p|X!R  BB{OKHz{zO~wG˱mSEIH…CJ%ڷw(ݏSDS> Y#L[9MVM9{NJބwed=392H{%ިLM8wV M0d 3j]9tɈ3QY>BNC -PoXI` 0؟5 DkHrOq$A?Bέ[;Cv=_ \xTFZy ^m| w`+"8p[ŤI:zIj"馵et/+'E.O۷Kɽ)+59:Iam7~N8[Gb^< m"W-Btǟ&[5(Dx X ȑl,I"wQ,YS/ȅ{I>_7 4X]gN@bxl -ly9Puƌkm֮{#aj!I7!Ƴl`t I}&Zn.~ Y_i=8͋^#ceth-<}l݊)FᥓvSoWMB=f̘A~HRgHR֯_fi=GΨaߴ=:Wys:pkyސ=OA0ҟp%!ZxWD['SI%;N?;$"ÁB޴. %>>Lx\4أ//RܝdnmU$?dWX8;օ咮[$ŨY?1uۢu*#ٯ7u=? 5G)X5UџTbVj Iv9ԭ{X#-r#\w/}}r [˺;S wt/?CJKKO$]w I?***Xb2joTd@lEHR@C /@9ʁ.D4M~LO[q!f'ӎsc9yjva̷oTP-'㜏;8#MރSZ*:reX祆<ޕ5RT8'"+щc1':u*{O$] Ijj֮]˚5k8|ut)..qQXWwtc0@$I$F$I1@$I$cH$I $I"I$)D$IR0$I` I$I $I1@$I$cH$I $I"I$)D$IR0$I` I$I $I1@$I$cH$I $I"I$)D$IR0$I` I$I $I1@$I$cH$I $I"I$)D$IR0$I` I$I $I1@$I$cH$I $I"I$)D$IR0$I` I$I $I1@$I$cH$I $I"I$)D$IR0$I` I$I $I1@$I$cH$I $I"I$)D$IR0$I` I$I $I1@$I$?7J?IENDB`././@LongLink0000000000000000000000000000015000000000000011211 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/pcolormesh_goode_wrap.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/pcolormesh_goode_wrap.0000644001374000021030000025300312520135744033651 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwxUJHBB@M Ei*W?bޱ+#ŊRR%!ocv@@\ٝsΜn7""""""&/@DDDDD=@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1FDDDDDDL""""""Q(i@DDDDD4 """""b1~"F%%%$''g*~Kqqi{Jll,4nܘ~ѣGOsvVZ/Brr2)))kkX,DDDUmYdd$kb:ED(_?&###\$%%#iےyn ƑD4 I~pb0LA21~˞4 (VJ93h@.LlliYYj/f,_@#4`@OUg  |)$b( .X+U"j[r`l@.vnl# CLL$͛FuRvX "= "ÇٴiSExaUG0b=[dmQi$j4!7"a~fį#tH ϑxAwv.`_uGp#V$&va! 2.]U˖-c,X+VpaY@7"u ewn`À>!h2ض Y6jmN`?F I2b:FqT,֡vD$ԋ9~`IHHPBD$eff2sL=?v/1a4jBpؚ6nP֧A?#B.Ϊ VՋ56gdZu],W`U֍[n!$$t~l"_eҤI|ͷ8~?<"|5:> cp8,Z_gCaΝӟQM<3NBYqP>gW](ZN}[vж ݰ׻l1Horҿ{ 8PóOSPPixi]FWS[!<7V& pc{.߮n79I\<ʷmrptOY)%8K]4ހ jUqaGقy a b@zW}X5v%4'-3x@j>z)/TXqf'̵k^ʖa]Bcdqّ1 h.Nzz?Cݏ"QZZ'O ??:.acCaDUG}oW@ޭ~>EI)XrS+2޼nU{2xq6c>@ͷm8F,|!!6k#P%+  TptSe(IYQ6{_t4Jdޒ BD<(vO?Á]mp.F}X,*ԬN.|nve`o[-,7>)brxPұ#ca pd_固3`TX!q9b\>f˩m"Nf.h(<3m۞c9ev_pX -xҧZAǠs/3j=@0#|ӱk8R gA4E#*{o"n3@+lBTפmuOa۰aϋ\hlbaj#P=@^FiPʎ[ F;$j ?? @JD:u*w;0lÆ`ΥQ}0>?=RV`T+̈ofXH?˾5-$^h'>|?XR2.tO 0 ~~OtkOҠA6fziKcn"w) nhz-Dx ń0!m mf7` #wcow&.r ^A$|1,cҍQI02|,d-{Zа=c{tQ=%" SPP믿w%X Qlzz'<Ebì},p/~>HD0oW=O5YKXDzth;Xp0 V 1ƍcEH1^9jy5K.III?s|qx` PGp 䍂5p"tB?>‡>F=#m^m68G4|jņsRD\.Xy|0}ƂAsB'}8@Rrq6JnjBL5Pn]DID5v;w<8ln ?.%>*.GPقZu*BGy瞽r°'۳e(oCtNp.;gܽd,ݎ7K+g!|qypph-g!J!?Z ./V\ِ;ޣg^L-[D'33zW^}u!IcPê~^u+v쫸^f-.~:mb3c+HI.G&F-b.'LCIspJUrzF ٰ9¯T,VF "u_p.Q&v'<!Pذ8 0 Ś8X=>X/G^n W~a6+@6p:Q֒_BסƴiyX1U{>B@WAb__X\8?^n7GBkwkB/pw.t`p<-k8d/MeޏgC>oA~_Z.$2{V1ŭcC3$7\ ^?F?úipx=D]ae<$8W@Zk ! -S 2zCP#h&8V:d|̀p8<޹tqƈߗc\.f͚kqK:ڳz1K m^B¬0߸>6 u@z@FXk\j5 v.FE!YfЬY'Z`gP1rnvA!X8[xIc|±C=k,ri; W4&iX' !|Ic- H= C=?~ +C㛠[P5+ss+}@zZ>3[:wFσ]+eMZqFݻ75 "Sͼy\6w~_NCpʪ&pz#YQ-4;6zg[+wՒ`|W~&dlIǻc bz\q]h PԦUV;u!-H [@7![DK~/ Ҙ:u #GZ*++{χN>PM=?؀v[l0r @ k xV_l2I;TCsϤQ0@QUC帑F; !0 :c~~Rlu @/oQk_C(· eaZPZٰqH~&C@ ًFõڶmE@eҥ}`؅Ǧ8H:q4'yo$lFѠ\הvHoG5y F z kfB?o?U| !@F{3-+!ip{WqlH.p}?3& g憱]_yzy vMG1U8L.POkxn~~7g~<=ǵe!ɑ҉nAPN",6;})/,G^ڡ)Ϫx m ں 2~uUθ^EHg(XW}-Ah@M΄>i4C+{G bzҿQ/HD6l@Ƒ=o53Ҥl ?Vtzʢ㗯yt^Z#_&h)G2߻)I7[X7MBz%Rd ֝zq ^eyNm%M8Of}!٫j)vѩwx7cH ߄{С#_}?j^%%%7_φZ!^S7W i`ϝ gC.㵎#n7ZѨU ѐ7o)ݰՍ_rsخXqkopbWua)HYL ,^>X< APlMdl WqYwC ׃ v i%F  V+yh\tEtI#" VZZJ'hM+qDc,Umr8SZd,fpPWrz׀cpTS #+q_o6p6i&ŵj3?h:3DY\=GJ 6Y}Ӎ5FOqu9Hɷ(17Koup;nVξ Z|UCHJyIc B@SYuHVίm|~5g}61|.jr pdªUVNj] A3*I~WW\}՞3d$W\>>B#ݐ~<':x'OصBFM狹 n?Vyoj2~f';o {~X/q(<۟ Wy~Fy|p$:myTg>!!c%l|RBPci ? G|~@Q CDkh C|jcRBh^9TX29ymp]wѨQS(ֶm3<uχNCTJ0 N47PJOIדT)8}.N@()r{8lޱ mʽEx'ҏz~^Ns*p/p}/-ix}F]=1zM$oJx|mz}XUCxceOj0^S3$π3zOջ C&z[eCʏ9RC A~ƾ+ U8o0t |D/aژMпGgw'#F 44}D";.^{{@@|]"Bӧ ~!Ʊ Sqp};ѶW$ ϮE,*%sb1kYhBN}9h}WhuuC)d|'[6VnV) WH j{=O!i-:1 |zp>윽=Ypg<197;wpR^c@,u"DakT_y6 @} ?Cq {8^w1+dNh"C IDAT0F{MYeus=5 *99\OA $톷}pf nz?v,87ֱtFxuO ! Z<=- <x 形nן+er7[689b/YY䒑IkbE34f~;_gSt0@ŶC[GbZӌ~e^p`ף)ƍ7ޘ/o+Gt "{T/(#0RV9ۋvG~e ^A0f,IG~z1Yii9#y0ujѻ?Ge]m$4ѣ?]@Xy|7+.fӾQ>kgJ7\v"Rt_ @ZrMmh% !<4~2A$zCZ-oORA^am]w3fڶm[" nSrp:h=i1wW/hBV +|z v>]Bh[q nXT~ټơdhY0 V3cX/s'c(([?΢RO&} &oIҸ2ι W|kl1fC_#E7E7AN o@в!4EFZ G28N8Z,[oQyWwvygy!bHFiπP; k,3^Brh y': nCSՄ5.Ѝ׆pq$:6fÞ$tiz ݏkS;Ž Y<ƀ6n+˗x}mVZYAqYS9onsc>}|Zr6=g!>DNp0hx1.ǓW๟r ę1n~bT̜O섄_c%,YP=?яy_;ٰMV"a0hx ,/όnQ|n:k1~f'Gx Cxpp#NB/DC^8TQZ:Bhx."p ܛiW㢋.VZ>^ K/ƫqm4}EmCݸv0,o^ Ӫq@vW@|aV#ظҹszGι>1!e[6ޏ%&@{'웿 vNvǓ4%^FG?"  O yxboJe I`kqpDhU?XrA l@ˣH6\ʅ f:WPZZ.uk!C9m/ޏ _:vz 6̆س X@|,UPX8=o>RċZsмS6X㤠E.6,/&먓+GPeݲ}б[c7k ??xWL1k8Ѿ"Xn7]RbwF݉Nqש6+P(wkt=c7}CSXiKwptE`u$n0ܙșw o+" EP 8ዯV U<|H@|fXӾ?4udhc4c|[p)ٸ&iJDkaGpF_多fM`F1BKX1N9"`\|r+q:}<,YNI=r ¢a -ܟ =>psX9 "޸r3`.]ue|I`0|KiQnz;3v&NgBrӵm _0.ש ;G3OeᢾΣ/ۯXRX,!2ea}{nsT;h?@"ݻ.z a[% `Ns Y`y]DE xY7رD:_ƍ>)F`O7t{/'YB9 IhHkcYh.6l߿¡]\ߐ։wR'l߭ގRλղUsKXygEHqؗJj1XUℂ|x?b_{6SՕb!A/,0 Lᬱ0M4ޟߚW᧻6lgְ!$ ڍsEW7_ 4o0.7jn7 p?<6Dz~'5^K !2>Z^#\"p cýrAng ggEe'47 ~l +=Uy/=!޽ 9˫PLo;="p^ٛ9\?=gN!aZгgcGD@/~Kּ.}g%i]jsHgەoVQgy}t}~j'>eOMmCgKslU1$vpp%6FCL϶0g1=ִ.Gn'myG̨^~m5q<??,~Ȉw^#\nT/ݞ+E3y%̹ l3o~OC`axH6ˬY1bD*2e _=ti ;Q}-fBb/W۩~f=?if,V mGaPV@~0oKEP等YjWQ}pa&C6$ NYQD =s,W]9'<`9Ŋ-@nݘ;w.Ǽȿi8l/_B;U@KPU%GvjE.ЀojbSpȡUiٚ,u\':m|D]XcpeT gǀ<-t 8&d#P\-͍̋!+{VXFbb|gJtуU~ǩy+Hi~1|#HO:^ہc|L^1MpΈ(z_΋2Xה@_"SX띶7No <Clδ,n X'i lxqym^vt"ߘ4l[ O?kĖ5: d\re{^7M1N>V\ տZj7^B2V\_%O;N/X<cx`.hPr[8}__|?ѤF^v~,砏7P@e5Q[]\;bu Gqgȿy<_L`@}/~8u&l:X˶7Ro]}tߐߗm۶g${.ʞY~}Eo/?u$1g}Ϯ_g4*yE\F܆k.ل'k~?xw_6Gaع^l*h>jw4 >yϗ:|v{@kܹ\:r]/>8q+|xy QA4N28^o7kր?*k?̀ ͏¢xը+F5 wϳڲm|L_aWh&^| Լ 1| *G;xaZOri=JstKg`OV+gԭJ~'tؑڲpB,&SY^Kx0n8xcۚ|np nuנ@3|C/C3hRZ px}q\ ƒaԹ0\Hnz?= Nc{x萊Nsri1p˰Ӷ/oρCO.<B-XXvi}y|<,Yyq0?+;ɶ WG~|u Zr']+9ڹ7fe{׏}!2STG=^_j9=!/_^2Z)zF\{wkF(ya[{8lEYXe/#iZ6=̍۵1^ƹ;ޘ߃z@47n^m_.Qh)^#б?ޭ]ٲ[O0wHOs@+6bKz^?s#8nlV2djwZw',}wn#|z |?i\ h:_-<~ Ql\׾OIm۶ Ѣ'>jrC6ͻn~!kK)>sp}t@Hkg,EF:6?oyR=!GT {CdOWmpm7;>F5E E"<4Ԃ(= ^H7`92SFI"}qS'}c~Փ!ɰ 3p-.zE޽ߘ߃z@;woʵ /%(h;QxmqSyL8Z>5z6F(;棜VKG\7f,׮- 4ʊZ-Ok=ܸ;?Cb{M)JQjom)FTMnUQԪ=ڛ#sqMιɽ_//uOr>.J^+ zyh_S7?e.8:`SÎn  ?̂_+ e}WPt1aTY? L> 6/>aWF _do]}ABh /kݴ|N6?{fV!݌oh}Ϊߢ}sՕo׮ }`dh\ <s3hZ*4eDjok'(^JW+; `oãdP-øokkq#NHRݡvmQhLdd& eM$e6Ԅm89e̛0~c &rgϞQAmߗw n&r`kQ_Mkxn'2"Iq}^ VeJuv& `IsMaưnF0^K ^wuIQq<3вLU|~7v2Ia1~$}YGB/a`f|'qQ(AIG3\UЋh4l'OkD_j9Qs$ju^!>S/r~Pqٜ/rR4?6‹[Xf)Sь٫S0Ə8شn܄eaaC$; Ѿ#!l~h.kP (cЫ9Zհ={:EJ8wuêXI1 7fBadę <333=~@&6&b"G|o4 OužP>RL|4(avc0gD$)=R)' C/f])IbkAz IDAT| 7T 6/EΥp-Zw^פ!1$KƣV)M@BuaDw&%;7 ӛ+I&JMd(t]_o߾-]WA܋#3+IAD$Zh JTO.!T( /x.%Y9g5ڵg2a}$@LAAATnTD&n@>Oa2*P4öBڽ)B`TXbF8`m?1IxR6cNTZט&oE|UK2_ Noz,J.">ZE軤"20ͥgxu7tpȍ)wEkS26E^mJVH+&V̦>E dͦ jN.떌fw&vQ}e(dCQ /rPZg)~7?GSqaU<τ) DN͖% J`za0s!jΥ`T1K|s¦1fR8 U>:(#^0kW V5Uʸ'X7&oneHY WIIghZ6;#G0j cE'e o܎_}EPVk"SmƬYY)*>HoԉjJ9]ں蚩81f|3KhrJD $2nH4+aOp!0:/ˈ7ozJ!=gR8K65?0bb'8˶M2I=L.ǹקUP7z.$vr)Q<)P1uϾDPz5+&L M6xøCu)XZwNp< N%atx5up~ ,5+g;!VWzJiƯ$5Dŗ҇glхF}0rc/ /YTq=v60wV[zNQZQ}R [yۈQ3P<&&Fz F9Lz'$Ν;Zv~SwHଢIƂ\t3Cpnu tUT6>xdZX@Dĺ0 U%_ש!zGy%!ZO"DԮd&B!_}Y!!$E:J@.$}1+J%v|/hW2xN!Oʼ(ڋn&RL4h&LmL!X&J\\5>+P$&d}zp'µpQݠIupsiC.TLHy? HOCᓵ`mׇP ȑp ZDRV?҉X#R}ٻgnޒRQlLC nn ۊ^7ˡX_qFv*~-: b'{@:Jn^MB.N-^GɧY!a` C} mb?)jvBbI]C̮@ñ@s`xTJV W,,!: w {'$?n y">@ +)QSUV²91g~% /w(R%M[< &ZAb?̘=2R<>*>F| ׏0'T-!ޏ[A ] 5 _j㝣4+On>{Swx"IMYH8/ֹ2 2pw|R,=yeʐл/w@x7-ed-!CxFǃ i4 =z,ܑ"U|"ۯ`8vÕQXbjNINx^ ;sO8)hT9o((]NsI$C\,l_Yq ecx%=P:SH{Oi6 R%vDP|z~&hW *[@P~Sա#DjW; }?V):'!:)ѭէ|JV .d2Jaod Щ tna@gh5*Xt)vkhzF'IE"EIJ [7k(GlvYLk[rm}Т3{/90{K-ᐏ);KgÎ;sw+8;d/Xn(R"D\! Ø90:#$  WOÞucy%8%Dܜp = :l QV> bxP?Q'➟e='Omls_"AZ58q" Y3a]` &¾}6_L.CնnG|E+[J|# M+LNn= =4.)ױƟ!= mL)]/ɧ30߷_ vaUcGT#q>~ܼyGCд]땳#Ԥ2蚐TU]yBoqu!yqJJ4] 'O{2)ġVizC _JLiFJ_m% ,Jܦ'IzOLlzA=V\! {'9?}_ $Ǭy ]Ü N  "wz j+ڒ)x ȥfPv\J 6c^ sM0.1 ח/{vg||]Y}H;]O{/| deEII߾)(ش$uH;I(Cޤ1MIIB :H!66v]*R FީI }~=쪿+w[TBsJ]Kf~C,cs!U;Pq<:ҝ-PV e/>E_""$g =S/CzC:#FBQ܋ҳA~ TQZ P)h>6C.tEJJ̜9&LSlM:$iXu pRK!?H}&}jgSF+}{Bd"8 k7 A: ]l)&~'^ǒ'>2oAkIɉID{1ILª{;\jOc̒2&X> Fs&ǤID3!0d~_PK],'6Itus"/]7^d[7k-૕i2.sh=Zf?`\ 1ƀ~vFTylLfۍic)]PΈRED>$?\r9\wIcguoǓ1GSo5ޝb{59J|Є$@LFUON g兒/jw&S[5hVfWr cr ed>G&{O;O!WihAuwtm!qgu9woߦD"gطom۶f ,'&@!>@D>F Q kL9 <F\dBy~C2~ 檱vSivFX}l 'B1 ?63s4_\o'2vP;BqOe9O5{OVȃs!,s̞1Ç#_L{LĄ,\#F0uSQZN0GgbP,߬{ X @P4<E*@N-ŢNHDneU"XzGM+(\7u0/?<;0+-hbcЀ65jc6>f(QΛeۻV+]x?&O{kG3bb|Ȕmm8&' Б;# "Ds2z suB(5Tբq-vc)vpY!1Ilw-|L.[}b$`&r 6a'OdtOK|ͻ;#[J|!bEYQr ! 2b_pm CMRX17$~~Vu*Pِ=^uTKjbTfɬPN۷sa 2#G"$2gFCK3}g?Ao;R~zH_Ӭ#V6:5yZ4.RV%)K=wRϩsUhPTV:t7śt=4 b'WqűqA%&`K!EYX+[E&GX+75r5N1y@LׯP(e-Yx8Je~A$2,JIfEf;Yݫop|Tiʃ)ZBêlY) '`l~ZrZrGy|)'%)As!K @9n3bk2ð wlxBiO "[$kW (.ީxCb#gm -+xx讴eDN`MEBB-(B)cR0 >@He$Ѩ\[QG=s\3RtjxIFUr8 @7)| _p*A13 +WX~}4]k_^=aؿ'#)A͗˲YKFO& Dʆ oU,Y'D޸1!a.,ѾV2/%|ŤDUv!Vvf 2?DR|1֬YcuLĄ^كWbg7w};* i ӧ\ċ g}):R}P/s QW:[\iDwP*>7_O'hJ?LqlR`>GXba? /jH^ډy%#-*E>W)mV݃/*8Rkn qqз'{K"D&!^>X|5njJ$f c1!򚂙 lmΥ~Tm˗<&L)DHHHb5k,,`y+E ۥťxwɚ5,. r^we{Il3^cVooU>=o GH]P%$ޑr`nϕhځL.GѠQ9bXT[u\N,RT28*+J!}퍮}R~o,ڜЍx}"%ϯĦV9B7Y o5H 2x 5Mlk1ޗ {GݺuukDv1y@Ld3f螊yj0xXB@3N\ȃd՚:T`5BK|(̕X|{ƾr bUDJWQxR|6SפY aҥ_֯_υg)dЅGviغX>]ӊ݂[F~5>x':ARs8f{BxH~=XyQYY:°9NڀO c$Jt0 M(`8Ag;Þ3P' !dUmlǟbeFڕMoDLĄ(jSC)zT2CW0EϡgA! CDǫr7')XNԝ a5(p IDATwߢ2k>ڵklX'DaCAcMGݮ(^ 4* i~\ȦxײaRw|V0655 : ~ %L /@x!X6`&1wAD|W)>K4stc5>uaP\X iB79l>M6Ѝ-3]LH|pzwn.1+,.¶ ?_4ԅe>G7'" )e򳥩=9ӦM35-4atYlO' {}ݕ&=G;sV=x?+' 8j%$#R`Aվlݺ]ycGcQ.2va"[a'е&/fdjOaY8k,s [[|hB&*ÂУsm`UDAad+]ҟqC_0h 2 `iFUT=/ashjHa0z+a e \T*/.ɫ'u^d)(-nW$'RXK,V6*( ێy3q%P`W5NmvüDa(r4Nmjk{&7Q 5c~۳ ڕBU;ua'!ៀ$]RWZNu"7P|xn={Ю];Mkj3G#aCEx1uU:# }YwEJ,!#$ 4 dA΅eۄT( ǂt[ ^ . o7{ ~9Ӫ*GmvVH2¶| m 2ƹ{Z *pm4Ga+N@dp2xXI')Hˣ bL.M؈Fy"fT\t*W#0#!0x\[uĚv}Ұzyjժ&La 2Ehh(?+W;Y{ACxL i= %> $ !$'e gbcm{+>c3k`B/ŧu۬\h+ABew)>tY[;+Gf<iP GIL3A w88B՟ak j T_C`BSr:Oc@5\=`khJR0b5숀?Baq$ M!2rJJh/ʼnM h B26= Z;$0Zs}bN.~ȕ vXKK|((,̨GlJ"!02l_)kFJ4ZINO+[u`'nڌN0a\L[T*;;;ցmŇ`K|"2ty?0$%FDf^]Lτ7&5JPwcx\ƺX }C8Xg0ZxAN.v F߯ϐΐ"G7gHHf"$u;*dDn/>F}OJng 1)F[S lj ς*^o:H{tp"DNrS< RllXThٳguoDzL[ƍTr8lZ ŽeP~!W0`gͤ,fZK3 Ƅz9:N*P;ke_JѝȘhNU?SX.ɦw$!߅.B"Ub=u!eyΉDjhFLsR-R ֆU#{AD.dHU,]"ɖkGE+ѨMPdFESA2c>Ghj5k /C )B@"%B@F(2Ɇ}לqt111^Ä 0 lڴ9`$hD{_҅3 j`Y30H@hxt#.cς_Do |1{Z4>» _ ϼNh{EPv Т|-+p%L>NVP(Gp%9#k&UGs ĶuqË́RrYj,Z2(vPPC^P#W04v(>A.z{oBI_}N<ւNtH) K~-W`(m&>Htix|݂ ׁK1x% "3'$Khk8 5bW2s I|y*-+~8=*7ƶ}˘õ8JrlS+Vcni1抽ʂRe}l۶hmVZ捛|^Wyȃ1hKIU a!jMBɅ>$0CaKSn)J&Ɩ6{ L {-N^P;ԧ7Ryi*oI?RFGinrޗ7fR.:ChT %&BfJ _< ew_c'{CVl>~Y`_B9[?5L|GLbb"_vt#&tjz~" 8 s>J`<^K[Je'Y C ;"Z -y nݺŐaC):)yÿ3B?hbɧIu$|Ul;G}F `TLs9tX `9age`eGE!Bh ?x\r\_ vC,!X GAt9m 3( ͥkQ&7 FNH7TH.7!6(gۏh\\ήsyq_W*5SyQo u+9]g];:X+}:V,u3 Vibҗ$„KX҄PW":yاsXFaO*PoT=G@t2r0uuFAQ&goĉ4j$wIg_DzoHWxmӠkb ϵ}wv,P*A__ ,OaR8q?2V |@h4vGkq+!|4M!)}NIM{<< $_a`^5fB" +y`G[ s}6Idp0ybc a#]d${O$YΞ=2jX̑EP}X >Y -q\|Kӏ١"7Ca.>쿞h]oJF☝ZpSs 1/S;a88|$&$1 K.Q^Mz?I4D|-@M&|TP'Y@G9sΖqroblblQ9hp&:4֯_O^h'%ΰ? Jl@51Ct/,C»P-GŸ+ZׇEhpux]x#3ށ|S7j4 *=6)* F܁^B[7Vߤs F COkX#$g/}j j (T,]JǴ(H"$-/CY<#kxF@ Ql95i}w9 }R@im#5j58l1Df=FVs?x}>5洧Բy "DV;D-2 jy]*H5Q 4ܯ( @$vTS7nϟ?ǻB9Vd؟'& 'dpժBٲP.COkZvI wUszإ$589TO6!&A$h tD }*I͞g=c4 ,j6 =! g FU)ԈgRsN{\XŻ+'&oTf[b*Rr6ws5jri]c$@>N Y3#;05[ѳq T,̊=.LLRe5t T v߁ :a! p>F 8".%t >]cJ%chtwΜOބ>ࣷSlSݯ[3ӽVn(̰+%&$+;=C@[4ZXp`<~ +eÆ ^I|T*zϏJg /Ȏωl⦀.ࡀ)At0GUmŀqΦV88ݫ51 %V ["DimNM+eJGN i._V-G|E^65uLgJ%/ @>=O>#A3I^@!17JH/;/Sl aCgT.L5y҄w޵L2ZGX<)珒xڍfed2|3&4C/nUz]yO`RIR6VqP$4: 0I(+Ztu jޏ$<9CEHv.R@_F-ڇ޿p@>yӟ\2źUݟq,n{bSŸ3ǏuLr@>`:DV-~.r.Gf~H l+&;Ҧ[芞%j %Bc}!'Aw<}"1o~?) +HWkM$W'W{p *g/~GL9ZQF~y7:yv:ʻX׵ZS:J`\%Fg_'X+91*>nIxp'Jb,!NB Bs``h<,qOTn٨8Kh J!R9iFuixAm-+yzv9F]oRF(uUOA/m 5F< }~.0}iy͍h";< (/_G|Ru9 B.5Z&t*>H x+JmVsFB7jeGϡ;Գʙ]Zv5Áj#j2o<^~q(j*NwV1Ȍ|$QoGff*>r0|΀ ~qyF 78TN;NXo/3cx0 ` ʫ_&->CNe%ͩ:<(ytbe^xվV2Vw:*QxtEfg2drJ'_p)t-bB kސVZ"HA8掅kfeKnݺuLm IDAT?;ﰦ>ISD܊{=pkVj[uֺꪳjUH](* 8QPܐA}!sI΂$&&i8êv('f"#S ɠ< \dPƨ=2ė k Ӝ?`>FkHY ŘͶ. b9;nʣGkv' ~vy%ehȬJ9B傣k!lق9sؒ3,BZ2v^ɐÐscGI%,sR]KOTx|pLr5rXs2XZj.^A"c9 & {tò`2i=9Sy}zjohzUFY%t5EblS :dƐbĈm&g.4ǥ+I}tt>!QW)8q8(VJ=89(utUG04$Tʲn%@ZLv!@}`{Imɬ+X3TETI>POQ0F"9Yŷ^I+ VdF{Qj'pQxJ#rA" sx2mC})͹&.ZDxz30)%]!HJ)ӥI)oyOT(`@X, k:i bS@29֌%Gm3H1X8Ը`B x<TZ-M GT жtc=ցA C =CtYEj#n̂^oi2~7sS s#"ŎY,)\zƒl^\dlcqAHn蟧!ER 0؄ W}0Qk08E*`_2,OڛjČQ$RYb %b KQF)jJa8ԨmְYdr~㗰K+~H_{OquVKZ.SAOWOaP:!(nҟ/2 Wnnʖ+;VREKD/JۼĘnSpMp^]P xJ3ˑ2`&ѝg R|Q ƛ_#<"IW@3&"l>hUBd }e Y ]?vawbٷH)!Ę0/s+!z)"JX(*ذ6$syf삱0,0 6IcH=_·/_C_@DC;*D6PF`0,)B M y|K v< /fn.%D*ΜJ Ѡ'Eq@.͠F) Jŀ)m$ z?ŘskdJx4*4y nKݔДcBCv@]e~!~ؼs4xDž>s:2KHHkW*8d|¤MSz׺MRL"+q@[b!BV B/I 2$`"H DXD@#/0H@t"W6I;KV<3 Ph%@Y7JY&QM.ZfY2K̪xyY"/`ԩpl H&e׮]݀Df| eI0' Oh # 49!1 ߁h/,_?,+Z~0k:\cΘjKS2ܼ~C=֔J^%57g+m<{İw_܁-'1!I.q/Jc(LJgpʞ'lDž̚V E Jc#C̈́T*c?) s5e !Z|ZG%C UR+P4$ta&(kx ^Lcu3h\tLƔKׂgr %Rl֯[o8ݣ`4RC K>7V31{7R?Bf "Pѹ!Ϻm"0z!<&t\R` 'cGWc̘r;Bb+șPukBrxW*"q;SQjqbV?Kb(}kx}Rr)2'5R)CT ^Ν;7 cdBvũ[0܌]J)6p/EpjtEA ? @Ш.:}A{{t7sZe2U`ӦM<}jxٱ3fnGޥ ÔT*Ί`Hχ5dyy@@mD~%D!&A!r-`.돱aXZ˸$7"MQJElLZ!R8{5'<KÞ9;@ror]YeP, ޟL&h=wac< JEj`FZAXe˓:@!:& H:~H1kA8.PUj-cTV‹QXTzIDWu v xSB<_X2TU-Ի(P]WaPhY_bX[TIIs[WoG*~/ͼyP&'fap|7 VnTxK!z|#u+ԉQP7ZC8MťyKP΁=/V-fr-EFh4*TP'PK1P {me9p#[5Ez&Bi#N)hբ>OyxPT߂KYe2#(X2 ΙKN?;/s'\5Lc!t l7#Ԏ re7#5% /a\TMS`P\:a$6K$FC؂KB&eaIY,?/̭9u'))y R[} 9U8dr֏=! @e "ydALFtEoP 0pZfhuj׍)=E7So@ra1,>H*Kb Lma9E0[vosUNd04lBV.RY]~IyH<,R)d(}V4(!(S5Jpp~c0 6$a ޏQȠ=tT˴:6~qtV'!<^/!76  z+Z '/:af+K Wv tO^D~ؘ%)Z/7֬YoO׿HFIƇ?dCCJm" 0W$22' i+%#c`#ngaDŽƧXOB^-{^~_քk/p 4sPT_LnrJ}Mt!"ظTC)!+!NcuKs떅}LBx?`*ygIBf p.?soվ !{}ʦ2L+Á!N%DLF`CR0 BCT hRU;]cw9l{k̩y kٳNa*Xe(FT#$܊6\`U@THwbNQy4< >skX %{࢑6WW7=,UI n<l-kYzH/Ԣm(`^݁9X/ף0l XHy"czdsOQ>!ABU) WώGvgκk׮%{> W7LjqYq@q 4 `h!Qfw!phh| IDAT8B56ˁ^ CnBJ|rBK# }"%o栋7Z 9Plm<TtT8S'7Χ61}Rr$S i2ziDyC[CX#aS@Ct` Z̈І~p5% 6/  ~ O@?ބ-w!({/aG(؍S!d(;J`xm@{Qfܕd e[m$&&4rɌ@h.;ȍkJٔ `\,6BCxWZ0_+]tB|TQM y{lGCX?>he { iCJ]J${1buQUTl g7Eiye\0.$9ꏃp+ܭ%f8 bX1[nut+o 3-,fֆ.?t<vgG`S憅͂"S`5{s4T*wn\ZS^OPR JWl+CB2 McqAxB>o=F$vNV}XBKrǦv hQFVݞ4a8+,+RƉ9'˽=*2-c>?y$^1zAE.eW0cKwXܲ:S#y@¯!sT_6 WC o! ź]ՌsfX=/!app0?\se&-$oL[j":uY}LxJjFۓspAke)`9#5xݦvpr(TuӞ 0z([oW6_q;y=`2CFk*{anUb<}ס.T[z ,t_ :- |kKӎPr@l(LETfDށnؽ4y ;wYAzm_9$_A9~&dm (|(H(L6"µp zϳ qAUw0 RyaW_Q 8}^Ú].j~x `)/Ϩ6ec=eXw/}!83NfdDBJHи,|ѥ/^nh0l n:2XֈA?kYk(hT&6;XPSxnAJKLCB[tQZm&JIqFcg1*Zn0;_!Z_m(k܍_ՂpRKJ1PTLm goAEuRHg!4$y$zA ?wrͳa0t/ .BzE XW0/y]HHcp{KDi+E\ tw#IX$QGF8~8ݻw ..c>Nܤg#Q×^X4C?" RI}{:O;F >/ "Q{ U~cN㽀v9!{&O %@!;tFc\&H+9{8 r yREߓH3孻ȗ9slk$Nи[vdPk&sq3NN:ziXNlD>@Ը%q?K^7z//SL=/6T*97y0%3~LY;9Lo *C0Qm{)}5(5D=qZ5^{I{8#R)9;$$u-+sK6%PC;Ν#1!⵴[Lq_CiBAϾv#! ,H n F7tB`"˒V0"+  4MOMn,<v% !|=DBzRҵhTǸ$'hpoQCܻ{$>6v a<{vn "X RYrz‚ƄЄMB^^O߆Q0#HtG\(^/L9gL•{nZȆUIqthv N1}3&0K`O{`O._R)bO8eL&N9'0g'Pd|DDOlyDw0P 7ؚ'޳Hql{V:":\7x¦p?} TQŷYGutYo7h$ 8;E VٰOw>c1EЛBz% k M6ҍMBˠr.K:0E p29Y, R0"0,`xhy)xz68ac3xt_EX6%홻5'ʽ nb&@Obc ĉ⁝" R! e+#l6};F`Y*l(;4Ep"%D6 V>uR ^0~N|uC(-2pr)&a؀QBm^ *GoP9]x tYOgxyr@Rn%y)aZQT=/Ekd1SklлQWZeJDV-cYF..O\V?JQɰ8J+pԿ 3xP_x\ 㗿[ DLjnpx.()/X043~bz-뇣ؚyx<Ħ2 U+CҖ!0,I><̟7SB,+G<6Ah\F9{~ p;ԛo43|3CbҎݾT)мy8;˨TMAzoe|=>;}we[Uy9#;.]Ç2G?~Z.29:G#T}!5>]2sիkgc18} TuQ˜(1Rs5yuA/T@2՜ғ[_2Y(**Ę]iNBND#[Ex =%uNR alZc^>{AsJL\!HH5aSNmǁrv=Pt|. rI %a| }Z ϭٍPcpbUZrRC17=gb4'/A|?T/9=wEJ4;$Rѭ s.mQ c=\bP2]_yڹ >EW;S\G r!89öcƍ:VFk Lh'|fYa1}n[b{ $Bf,|"" v "yW?ys0:1#zD W[prӧSV}Eēwwm28:˩F&|&oyS,s|'0~Iү>\"z=0ĊP*<|VP<-цx';uYr{Fv5%>'Ccx _"C iT>rӄJy;7I4? (gw@;$6iox .d C./^HlE |0)4^"AY .Yg@PQX&X +`Qx:n(o0INw>P:7.m:BBrG-ͫA矅"dB5r#{n2_tŠxAˢ/?0#YqكBze2gsVNyL TAag(-fT1Bh͓^HȮ`jժj+"2R%̮;"ņ :7$.,`ѩ3#G|Dȟ igg >6Yz#^9Yș.Fð|a>zLtr4ZvQšY8Jzp%?4_!P<⶧C ^ CAl" Sp ~k.kKax,G:XQ#[WCCppӲu?/@RUp #+U%0:<5+ao͛ ű) Vě ޖ7 %QFZy)l9lB!ƘTS۸:& [P@@x<)qˡ(z"0}tm SyK_g%MTE eyc#S3;'@vY4x8LzIP@z6f$uHQƆx431f7KF HL.s3|N:= S~>@?Eiuz@l*mX)k&4+5fتܽ՚+3R V:m8bCp;_\ƴR)aK-X[ W;p)'C"GC$U b1LS27;R (W@aAX65r16d̰D.Ul;򙯸~td6r ,U) VHK.2Q(r -^v~cJzdL6>= @>A_?в!.:5R$'5 C .N8ue"Uj 86y];**RybY0KɤTvS SJ2Sx$䀛`C+6ĊȰZ!:*E`bo(edz 6][L;{h5>TŁ&QXcQwX? %$,aa\t01 J=㺰,*=W"*"\E Rѩk9yd͝LVG{hXBaƅ"-<<<Dus\Eu62 aÏR1>A"<;m q9D%A HR^}@l9p;9Tv\)@60}(94 7B}̐P&T OP`fLiK^Dj;Q3&!A?!|RE;#4+jG-8l2͊x왭LJEz-;Cd|*ې9{MLly ( yS+BmNJ3c^1U0oDlBj6X#]urځrd27ŎBKo q*z5|B%II*fK2,s`Dmq _׾q~/$Xc[^hma|68lv+¦0Eb& e*}df!I/7B<E(%)Df QɆpA p { 8u >UC$'åk0k,t<0J__R٣Eq|P.n]ye])YST{x.*5tWUˆtMÆ;68l+xVZa -#(mJbzk$%ppVppC.eiIWmEd$'P7k+!& hLJ|XPU9" r9, y|a^!ZvN1qxVFBUmY"bո0<}\RކleE"f̓kS@"p}"6$6D¥R;RwcgFd2=Iwk-b8+#޹܇ݵnf̞*<rp(ɛ_Ơi7!194+ IDATLާ*`paڢy 3d23h4{ U0/4:B@^8wE(;U"#h79+?@O ?_*y)G^sB,&3Y.v!@|}1mq%zQ7MzUw#V[3´xׯ-=LmkEg{m HRB٢G)i?X?ëLR p~\.؇J2jZI{ɲaɲMA{z12n17L)ǞS] jB~-娻鋠ۈd/ֵDOy T,0Gq"ryZȤxo&?8Ǖ(z]r(%Cy|+^s>o^I. ` "IJ,lX3oʎkXw2 ECj`MŪyR3`ճz0p= udZ Y<}%/HR,:(TT,5}_W`jxTfph6]_?rHBOh~ zs*'l^$08zf88 #=#MעllZaJ}~8qt!~_}p djs8I{$ebC 4-Ypy'ѦAKZLGnVRD U`̎o/(;e,&|2IE元"'4 Cy! 8#I>%C'Hy^yF.lЭԨnpVN 쉒gd~H .)WǍIP#OƬ.ny軖FrSV6Nn~ʊ9"%]Ls_غG+FJ ~6Uԕ= Apr5\AafnAl< F ;;;bC'o"j,kva)ryGQ ݒ^!@ B=4HDQA~PT.VXBz5!-в;ٞpo̙ݓߜ_?Ѷ[pqW<^f+wfkqvӪ/n *5pvz^N52,Λ`%a0'_[`/hLyw16,΅?wk`ښU $TOdehqvُ*pN\-JIqR-j-_Ϩ)cvi*+ۇĄ"j( E*(\K޼;4WΔߙ~ }(a,-jZּ~ IE{J ~#B5 zMfȃ6(7+<{ xf4 Vd Jb7&uZCDc CkmPkUj@!L'z;UĵC2`j6Zb"N&Y'\:VH,vՂݫ3UF?Ռ{n˭*̰VC[u20V![`y5RB\ $7B|XRkrMc!s(`q |Gj7@rR5+wU{` >[FFFaͿNeUS§ia>lz9j|9}"$Imy?8+?kYB_'?̔RVzZO?)Zr޼?V#Vrt1V^el -2:he̷+S 8,?ՁnUc7\ҡC#t$;!*ņ&Ӕ,2=7/%Q4f"@Eq~%_;sr{.Ou|U& "aDܓ$oeN8<T5{گ2|Jak<nUPVм֙ǟB֮Vc\Jֲ}w^ORE 2B.fIcǯj̮y~=*Wt] mN.ޔlDv__f \w趁g/ԕ/¿;|2Bx2Ŗyٳ:m˯;DxԊ4n?,I.1PZź)fg[+!XP@G) P>X/xnފ$vx o< hzYm EF^Sk[ÐS%xSϞ~6^=Q- ~6\_.A p)B\7g%#8n͜;T|ՕxxohչxrIU)މ Ӎdק]`巊~QU3߉JR12 gW?kˑ y rOKOp8='ތB!#fh1CD9,y ?iCwWڊr .r"܌?my:_Ni\GԃhRtTSzU\W@lh)-wgݐWwt(x0_ũAqRx uvھJl*Mٕ 7H ^b PVύUxљ?྇|>qrG偓!8oANr<}tdx:ѪЇo `x.y l6ĪWΠ>2]hփg^5KrtKɉ8AxaYo髠p_:bWLIP9< P@G)@6/ ^Ӵ+;wzc-ϭhMnnŘ ,cy^ NZkڝv\Ǒozͅ?>׼ǒb-W Nr#Q=2,8?Q;F>3u:6Ջ;wQ2f-&;Y9vy,zK`aes ㍵Vp> Ƥ}>\i8;Ņ:zup3qEg}r!Kw(): N. mĤW[1rQ3.'PpM5/L7 %/W:L,G9I1t-j1 sT˵ \;~F6BpH:'ho}&C{w Qf]#' m@6{KSGֻlJJ.֞5RR`xw!~?.XEo1":ߐ/e7 <7#C h44_mRq( v,dy9_rά]|1# e1K-NвDzaXת⫳3n*Ku;7B.C3j$[g=bBHh = @Q1M!2JYtúҲa1L+3XQ0bv QUy*9ZT`pBXEBHxA5X͙]b썫|ߴĮL|cHsmn=wŸ9iio|Lz{N+r[\S9 şT@Y>zl"y\4Ӭ W"}O 6 eװuZ" C%rXnyU~0Tз߸1z-/ NJ9U9mG:k?VVJaKL^Ǥ Q(~*&-:(9R"~?W/tՐ^r)+V\SEx6t"j 1^Gʗ$ʇ y?t6}v_-I|x/@eOe\Ӊn$JJex\AaJlNeR7x{MKaN6E\(-gDp( vDRP.#r/TC _=|j RM=Z[|2Z_r`u+L}zFC#Vqv8 M6ŋTVjqr.Z rXS br,mqrMDD4|+<|uPn7`B%PNm|O/j>|*fmYE 8<8N8]  zOa7gП*ox;No  |RӨ[$sz[?A^rSKb pl>v޼+cf)~| 1hڣVoe &aonK_e"^x>}nWkи!&Ď>]$QOlթgϞr9,y׿r6}z![.vNr-ãx"YBlga6Bzۑ!E4tZrEh݆3Ǹч0ڀDuo,2B-EZJvTne M.,q#UFD{T:yKx2e7qr3gI;Ԧ(e6rSɶoRX: ۿV^W8SBA؂JY7^kŮoncu䭕?<7Eg5|E9_p'8!ls al3bGqvTB.W^xp>6Joxr*M&^QxIyAg^DҧO._ԯ5#$G|>{`PljD Ah۶-QQQ[K˃ex2,ˆ.dr#cм3*r}Co^Y/vxK{N‡mLtNH/RRtCyL#gtf+әȺXʢ_:BY0evͳ+ٻ䖟ORZkj/Mt0*XvA uٲnnn4 %َJΟ>^sW{o#;nUWr߾}HMpsԕ5B5w~v*qۉN"4%t] Y8nnnPX6kѢ+i௤M'7ƴ x2m+(Fe*+ y OD݁fQ>hÏ`ӭJ[͍V;\.1ᕖ9^iSQV{Ԥ3/}Nx%c $QFvc]=sqKzE8QEU$) oeij^&iȖ%-F!ҬY8)g,L[\ N5BiQc7rr-00e166= ˈX3:8ܕ ţ'dG$$2hMSENqN%EO.ʩ }S&M%gB4-r3vڗGUtmH=8q+ 9p` gwx@̆uEHRAZsBجY3˄1FcsR)$J2u}o|]|X*L͛(XJCtbTeo#I*(|q%Z} ?&,wx-OEnu,j;εK2ZcOa5QMDk#ƻlc쥪ơC3!֫p`m*(5hݺ5ed^``.\^9GOGq>/l: Q Zv\p>iv+`iH.3| HD!xK$ 1 /kl/lpC yw"1-:wꄧoFH8p}RY7d/O^a7P#n.D{N05%jq@͑SlnZ b> Pr5چ@ђrZ h۶-Y.@: }Ļ%j>OZ-XYo:Eշ5 p AߏB(yNkйcuЧOS5R{%+ ?AIʵJ~\t,<1y?1(:_C7"WHTu)J#g_*%?~ilvJǣE4lpa Q_N} _#*4 x;# s`!B* %h5ޤI]9)Fq~ `ؐ% ?}n̑iقSb 9@mj຅0w5F4x%Ot)AV8I`+ocDRVPD8{Qo]8}~y@eBW_Y{7\s Xv"Ba-B:Ecr `РA䖫'xILaNJt~"_o l.ԄW`nL#hԓ>D{9WWAQv9^BO_ࡕ}iE~UQx" IDAT*$٦Xott΋i ѰaC*[42lzB֗*1c!Nð X8lޥDU<2[E;՘\4j--k|[كtrb;rPp` ;saT tEwb`vUC &*>Fs[n+jQ7IŬ 3!J~njK=47& ;2 t㑿QklfMAe٭q'7QYs4!}z1i)%e6xsps͘vP@쌠 2v=GMM^jFQcv!Sr`%yw?Q:䙅*23"rbUeb5OѩS[~KQ #z* Ը&6!{LqMB\=`p/-p+Y r Xwɺk"R;(ȮsZng Ø]j3 _o?cR|\m3w"DZ)ؾ_,԰Gh4 K@~ѭ2hL%۽b||dM {P2Eue0ޱzQ* òD +⍄8;؍&q6uOc=D#t^ЙC9o#Ÿp_ËCz.\Ά@N!t̫s(7퍇 \.C#$C*IKX$^Af9HWb6!_j}I}"9\+ѣ^ӥkW^XϜ _ƥ>Cv)n=V9WybWɫ '=ets/@RM  t Ľ*F\\$&&'uϡ=?IEȼ}$Vr(q] o| tAH wy zU!z7"4A$r؅\+k xxʓ[IOLdL r&ʷe[qJ*NktLpfUcofv݌ ElX3 dNJtc)(N-ل߅ &;R *O2pHɲJlK}7Q&>S4lՋR5Ω̆VİpzӺ[ܜ-V+LnmN%߫α^WFEyy{1 mk|SP6cப}!&A F n8&˵JkLXfهX ۮPYJxt˼TFfjΞ Z(p?g1U _ ?(v!TZHB "('>{@S`䩢r{g''VX|iaVE}ٹ<Ɂ՗l<\l(c9e^mߜxxFL۾дFفq8;$# I,~ei r'^L׸8LQ@l'ҲԳvdƮ%9|?Ňbx}KqjP)GұcG]8P=M7FGٌ/[3KS+%r IVwu7?]H7;ȓ"ɥ%+#}䤖0e%`e2s㈛SYsy'gQVfT !?P@pR8iS~̂޽ZzO~zAۘr5bYUoۙikB;YD, 8Gwrr[i|,˕3iVrğN>ʁ :ƶaGvӰ\+ kL<Y*ΘRnPQcf57O#/ͧy zϴ_f\[A^j $@߿u]vә}-a ZxGq"\q*Qn-BPBzPC;"%`p>˵y(Vڙ[n-.9ӝmnacoH)XRR:enoΟW?ra̳]_x<[APܛ]}՚H!2 H]z}:×!ߏ#G꾁RX3& 48g|疢| .nrKeqC%UPUVk('%  {Y蟱S]KӖθ]u/xz8?,}\Y01Vxl%"_ V_ױvՊ ~Zi7C*<^;{6H4k̾u%eN  ;$BM@ .i\wu /+`8kr͸3|uRA~lB$]qVӫvj92#2{?Aχ۲a !>Z.l&~ae9-$C>AkY9V>8i"b%L4`FɑlHf! ( }nG\>wwh[6!CbXgdLcط.+v\ jʵ}ZU l\k9L`BaYa ھL4hv3=ejKO蹠a6qeg/6|RLƽ {&eN]X45jŞq'P@6mڠ+^I’NRDXE*.ZdCEƃ6z9ip(J?|w~D?38/#jW?bR˸pTwR] r*a;jWg0W n\OE=B\xwg J9ΨFeT<&bGjĨƙ >J8Is> ,&m(DMRd]NRuWPJ2$YM6klGVab1Z%,b͸tٿ_ 5!(9RM4܆ 3#K9מ\رcZwߍ3V3MC$4pѧ FLMW.0\[[hXU!n2$\?kwۇ$0b= KJIu7S9ؽ!M;^`^y5s|jrxk1f4J*!~&Rݲ W~1mڴ!)ԶKvbذaf[θS Huun-TCQR #rmcz`O<]uISuŸ*M?9A]Xʵe0?FBH3Sq2\ G]WGѫ1VwL?zPVX5uTA[mn m|Gq( vLdd$p5$,J!f%BJ(P 1+HHS+j%;v,*X !~1{ 'Rە2w%3䟹4jluJYAISo}&3~}%󂍺YN 3X#s ,k7rRWu/]⣎D sg,]} Xו]E0DY'8CcڴiI}ԑhn$0JAq1fVaT`3Ҭpm^7h4ܦ'H\etU5aX  Q rK o ݏʵaV>Ls5 ߞ6k~T+9zE͚Fl1EB{MmW;gX8Ɋը4_"E? ĨTv-{:XszgM,0 6 Y KWռ[rg19~VSpM0zK%YUY%YMPZaˡ3Wxzz2j=R)y\{ /ykZ 3sGXr[k,q; 2g7 bG^COQU DT}2b"ǶRtqddɓmzCcd2[aK( vT VJ5<_ɐA8pyTń heHze0/Ko]DUV_cb=L@V#ղQp3R>uY1m4(RnaňA 6 [*U˭rGɵ0d`5]ۜR1vV`sfSpuE.8% f7R4L?2k-P/:w Cs:Z;DÔ8i1L SCJ4Uۖkp!Y~Pv큓-p{e>x)W=3hrq ~udz(7θ3x`7De—+_oCkw޳uxyBw :Kar<jjÆR͵,5V'|ˮ+1GV^ι+HYsjPVˡ/Ҵo8{l/x`++P@윘ΧB% ɛ4- )衰^:ӦN!::i3f7Θ3) "'2Γ MhVe݈o?ͨi2Ec˓9r$T*6y~LE]!K᪄r5\3"\^or`/̴\Sb)vMjqŋ_BیYDSՆZȝck褛2oB^ﱲ']q0os凌;"o;1K#- R(i{ٞiI¿+bTA5eb/VXreNlH46&`z,bBؘH6Bʉů&01bޞ,?Sƫb4e pYuU*Rp%{3D><8_0Yٖ4{q_gU>Xt_DkYOVb:W1iz5Su}%m]rB3Hs!t[,%׮f ?9w0քFw\ JfyP_$&sFiw "PL9SA :EEe<TFM.yuf8.4\J>_]^ɎyAS76pDL}`w2/@h>kVL.R{j|}.F(ߗāpx@H\\1#n*Y&ƾB gOf> nnnLӀ'2oLXHy⫺eY\#Kܓ 8V}v:}J IDAT1Ft3)>u֡_R7)NK~a,7݀b o*N%xtj@7DH#VB[`Ϛ}I={6K,DnpRZoHE#̣m2 v EX~gogxmL5 ~XJNdֹe2~y QpF~iX%pro1ƻ)qR -+e̙$JXl-!XuN&Am9#*0f,K~?";` $ݚUx.-wV&x9B= \@ʵx5]r>sN\V&XI/F2أD4d#{jTL5/JW'_Ӫ$ &fSFs~eٿhtƑW׍I3lT0X䨙( ml\-5wP@;vNJû O>IiI&ķ++o6ҼKC&Ǻxh7~^Ӓp TmRrT&;3{EɹOjrX o[~1Hɖ_UN:ټFAF-sĔ\b b%aBȤAK?m/XF/j=Ow[poK,Jid2C ZXSSl__h HÃ6a[B%jZF!KV]<6os7] K0"X.RBXC|hUc )G{L5SˎЃb2.^,1^כZ,F6k?f-qA Ų5JWFu;6M+ɼ+Ndx; 5o~V Wn yi)^0ak/ǡb.AZWR0Je`9 K wl LB6QC:ʚ#m!?)N+ |쏟C٤&X\_q:GgCo+4%J=fvbbŌ U'flgfâ LE&=Ǐ'Q Q-nl+Th+|csSvmLM8ݗ)rZUA @" *O:]V'{ 5d9|w4J7K5j hc!n^2y5}d2Xv2>\p*zy,%',29ƿ53;;aiO|JpkӔp?_ qiH+p :6:zJslD}| KͧPWuzC)807H!66 H:ngAܪ1/i|/C|`ѣiȏuY>@i9 FˉDUie{$|pGۥUbzM'KJcc,,̝;R~RvaY לx^5 gx5=a}b2^<%PzrRd22^"Rn'.r$r:io[OCTM(^Tֽ{%s- u7;1gGa^FnJLá:v\kii ei7z a[O{އRY'''<<7Bay4$C иS&fOsm.JGO%Wr kz?i۾z2RhтACs}Ϫ]r֖kbWrMy1G?P kmFSð^<2ߧ]:–>CMV+L Հz27PomdC{9<Nv [\ S0f1P?(ڥ3SL1b1eƌ-:2zVTq"8/7[J.J:}0kwMmI2ZV{,C6ʐ" %CX Cq0Ue*{(P((-i#@M$]}]\'眼yyC)z'\ZgCC{1Պ˭_N1byғ3bث9JV]0ƵмY|ײ.-kw]N{Ar"es"Wkpx=JE*=gQk| i$PNuQ  me|TV-0$ H&00;~N]6x*_<{ouI Tuu~& GHG.Y*!daTxWuF>_y4[ ׂዅ_˸VZ/rG{b)k Iл\$ivKʽn9IDfw<걧\IڽS|ATr!5EϮU䂛}wgidzҦ~Z<n݆xoCy9:} ގ䖿u{t{9nGOTjTj}Z&[5Rݻwdɒ6*U\\\2`0+]S:@( Pk&E'{?+븖sQV|3Fw^yB Uo`TNS qv-^Nq:ӻٵ(-fmBg [QJ {)xMEX&MHI3l"z-kS0D1gOvbΧӣG|Y]d8ByBѥd'Ř_GJ|2ξ xO-~0׹&aCٹD :8Bv\r[E)i4X"'Nf5!^Sܳ e\5(P߽9J7+GrT׾=Hܕ{oT45+kSt):vh{D ӰA2o@aX9i{ŵ?`>cʔ)_Us hy Ѫ x1S\Ώ8<nK1tI}Z/wIgj.Mbz֓|F22fJO(qssBe5R:)RLS=Y+/Tr3B+>a$z#nD]ڏ;%ER3wW<4w&z{_;.ĨzK];пm~ɱIU?[ ;>彘[jvOy?,K3=O]6wCSgmYvFJC5FGD@@%g^ײT1!*ŪB*7 ڛޏz.UT*^ٛ?Ci"(ǵ0p1n8RR,]c5L |xMI1*',5bli%W>G]y AY7O9-M^ۨTt=e# HhՆAl,BrJ)ZSo;Z&MlBGǎqqqGհLf%@?Gnu睟=u&+{K[ B}2={QrgϞh<\K@^ǵ{ȸfҥK3tp>_@l\׬9+e>?&OJǶD%14 Zغ,]>kC@R8Y*ls%˷05kðt%S$j`Ʒߏ52/yyyѹSg~9k֞pa֧G7NCpiOԘ-6/z`7.nnt%SO=_@npklY1kA~3w%6NB+,dD#Qׁۈv?D2hJC$O|"R㚹NJƁϿ{)l@l{|_}SE:7};ږ¾$)= R9Y҆oX> 1uɆ_Вa%xRQ_Cʡʼn'6ƴ^_d{?ӃΝ'xrp0RǸ*q\&Hau\n8:QQY^ܓg&TP^Jw̹=yc;TK)ԩCgŕ3&w41Ta⸩qɦJCoj3K2npWGh‚oڸ?#QnIæZMM_NZ8#s{;/DȽ[ OG\d/6exL|,y*_K‡wdz==qsC>02AeC_57*kkײ)_Mĵ9?x E\3;òeKywe 2eu&*{~X.1PIrL,Ay~Jl>^z2a{R5jd= @օӧ۬HԹsgJbs%jtk_rK&ܠJg?") CdiРAhGMzAd:81}jD\mjk*Y$SLed^`W^S (%~&(᭜pJrw9X:Og92eXt-I@ ڵkٟ\U.]%ߨ:uK ggg^ye(?M&%Eo^Yiyi&v*}%Brxg(Y]6 hUuQ ;ǵ⭇_o뷳.ښ%IL:5K۔)SYXoO,/d/D8/@$I@ ggg*ڱ-LL~lƏoؐ!CwWǾ])۲Яi4aIxM(..߾M=X8@Ofv C6=A!Cq;-D+$ĵeJܱШfMĵs([LkrsscyIá}E,^w~]Q& Hծ\;χ`Z֚N=s5fHFhРWoq2Ovv d/!Tk1>%ݥKV.%6)F0d۽2|ScM/y\5G.4([vœ9f~ѬYc>AyOa eR8.7Q<7P7X3Y͓%+b$SA09ޜO>A>w.Ȇ}I]%qݿ_k5{3O*'T*O3y^Oڭ$Vac4Z2sV y+6ҢSfS___zI_7\OkOs'ڸf.Z/q ߯؝+\Y:1ϊqwfe41 >J$ HդItZ=7N^ܲFz?>_A|WZP 4GG'6 b!ξn4)_Jh\7HN&j$wMwݹ.WNY2*% {m],h.^'n ǭ9 Gq-8HǗ_,q-[d!̞1!&?-kjw~g˄gڮ+W{[.*aqh}65L !70nx4h`7ɟ|}}.KB%G=_7Ra3W&JUժ865r\v{_/??^|ż.EڶmK5XŬm{!qL&ڇ `ܸ u\ԼPdb|H*d_a1/"8G IDATLPُ.ʿQ)6)Mϯ;f8nI3NqQk1 LM10Ҽ\SÔ$2D+a{ƍz=#EsT1.\7/=Jf͘s5Zv҃! {uz+Ym|FȝW?/O[?I:J nu@}Q 8,F1g+Ⱦ-Zط+(ꀴ-ㆩ8cZcұB\-\p5K}7 >A=>n&K⠩aə7QwLb8+M)dvѷ"qqFSR4.ͭcjISmɒE7DUdn% $lKdѢ/D%ݴiS4k֥},PTѾ= p1*K1h)WV|Ɣ*]S~ۀ.&QF٬84h ]\Hf]JK9f+E5EˋD\Ԑ!Ch)>&Xb5%L=2̥դpy %G>Ojn#x3h()bP%XR%yOэ=zX7&BgM [i%{|LQy2Aqt ɷzW}A.]T~TX1 D5蓲_9-O&B!k{E*YBV| ^Oi73fIԓg݇aeIzAc kժ:sZPYИ^g,[Vx'+۷/~l,p[U*R3ߠop_ }BqO'c];ڃ,ԋge+Vwy]hٲ%7G3?kMF30K1,2we+bUܹiI8wj;% dB.v~\I@ ֭[JqTSP`n+Ogw"k|Gv*&L@bg4faXZn&n^ B{]ST|{h&uݣ@VFǵvE>ѣة=]ޭaJƹ^Y(ݲ2[3> \rr2>4u'|ܒZs#ӱ2Vhtވ ǔ6Rz6PXc35tFV³YLʌ3)jƌ÷fNHܼWNAR! 2Ro#JpZRSqSΩ˽Kf$$M|,J\˕4WeoyGCԹJX֏6ϴr~} QL2M=/YUgEؿiS-TzAf}4Nc{7d|yk ɧZH\%???~ذǕb(=pz8/L%nڀGt%" H!0u_gXP kr+q%7(ƕ (4c|:|y{?̠T˂OݺuvFNusWf`n\x Tg~XIjՊ3f}yJ[%705I[KD~*{O?4xR-̩L;-/\Ľ$5B^` 9u|BJbzAz|\Dix0qmѴyAM Qk z\E4jWWH\իif~MO>>nyoJ,~>Q l&lH-$([,U׽G=>nb˳B ?wW/MƽF|V:& tiאqݔݥToqd>m;F2e2CdLQUv]?(.#I +b߾! L!FT(m=\\W6BPNϖ1nVctkeE NW^Z: =?J{!U{f^WR\"'$… 7nub"͉}oNL@sb9s)?>0kc@}xߤQUl;y6c-ƕ+i%TRRYObB4ܾS*i 8;;ń~M,fa%ö7a 7vaۜa|ArL< v́M`0,k,7 !޾[曌??zU84fE@wD0 OQ{y6m~D5I@ `m0ԸКZ )UƔ*TƿvիgYA]v{ML`~ekTkw`S_ .N{bWh!g4<̟7/e){=7Җ ")*,qmi#{퐸fg* l<Q$b\^$a";w&~ qGfTa Ɣ)*i^쯡l޴-[f[l{3ge[%kta`H8t`~8ǿaٔ,YҼ2X톣L4$m\KNs9HDžK}Vv+^b˦-Zf7ر#?#PVN6%'6%1sz bncNÌ9IR6zqԴC 1t"i޼9ŽǔƝ^ S0n%cƕpp%V^M.]^VB>αc1b7q>a8xp)nvxqk4iD_v7;]vk~>;D/G{qcHfσ3\ g )ѷa7V!80RVR9^ A~^bx7m<>mSA Pi>Fh}ֽ)gha/;sEaΈgQlmnK3xi`1gXBv#mJz^yÇ笠"'''}=4|6; $}1$!hh z!j/`p7y|2k$+WK1h h 6.KZB?ZD:ݡru5v*V!Asf%Ҿu..S6-+:X˕ 5\mZ)k:~x'ҾS6[qbP;;L'x?*Uފ&O0Xgxh:N\p$\I7 CB($]TT \)QZj;A!|oj>!X-+l~t8VsmprC2yYˌ-F-2-U{/b3|NbH-xe6FGXCcϰM\V2< ?>&Oi1TB ƵG5)8Iz=h{kwp{8&{F+ɮx4ḿ!kdGtz=^xw>fzNf}*V5-Ӵe\j"ǔD*̝Dnhc}Xbuo遧l??z5^#ZV91y9 $Fp`1Iw_(%ދؼ}Zt}r*WҩKg8@wSDVSZ%p=5jHN'Gb~ RPup+%yZH Q.fYWžpm %ϦbҕSi~dGqaj;J:f$ ŋq +ĖGjb ۷/6Z-i˴=1gGlB,o Q -sB' L>N5|OZ5S5iu=լKg35 dX#i|<4#.rr_njq[\ܸ MDPGg5A4WVশ 1s}E| h|g?^$xtʁÇhÛwkbqb'Hn#(H]q@sRn8JvP55f% b?,[QF)( "I@ /RfMׯ酮@J@l|$ދc{ooG ~xBoRs = nA:CZ !Hz{& kVXPc:w gAw  K[CH*nT׉4.88{z)Q͇VQ ?]t:\2Wŀ^+Q+ƹ1P#f噗|qpJ\_$_oaxxoC'/=ͅ$ދGbx^?H\+@׿+7ot^|LIHV1$J&6493@Kz?n@9t6=W|R*S-& $.qSm4k a۶mk׮ԞݗS GU*؋;aU'x[;r>:/ d xTj{ crM}  ЏoY)c6>>1r)?eQAۮCj ('[q};$r?9w DFrP;jbJMQoWUu_q!kާEgo|KsX#Zh;)Glgb88rx^\mĵH2i$>sDP99$}47F \|dM24D&5T, Sf>OXR-b x]?گUPJ>c8>s/ʔc"kڴi̜5_ſ{BqK[4 6EsGo ߏ> ~6r^poo7/x{0˪rMG#R#Г 5VK{$t1+p+$T*Tŧ_|^~@vn_)ݥG1U*@wFpdJT-FI/ jG%*xP Ƿu\{9E=\}\HO&<53n%< e] %K0vXtkLucppPc$$?$ C7p};h@Ip$Aq0싴|.UVEB޽{ u{7LhL*#7GP+I88e_<'||IXV=9W.K/ }-9=д!*o/ӽ 7ad}<@q7=tξ ;}2(nlp.'cTRajm=]< I^ @ h*1$$C=o6yظߜؚtX}πbzN/:hպ?o*qxo\ɦxVy^{% YN>4zZ/vM >&Gӧ I@ 1A}H^rqɲĞP3-^ zJ;.F@CƒMhkԨQ,\gggDމZDMX|G%58vHt .>>pA!*X|!a%}oiE~X鑨ofǎmt!۟ĉ<Ѣ eBP.|Bs2^`4܉-IG˛pN7(Ihsfl9øq;wĵBtn #(IB,v|Trf l *[Õjo7{Bޤ*XHIRQvmxg9[ly9w3~|_u1{j,7pqw@SQ 8ၲNۖj'5L?]#51~G],$t)|}r*}QiߢWRaѡM0TQժeHI6=@7Uy-p<*S|JCO{A'ҮPyxL1zt_ J_:իW3x`?]vѹsWt~C\ e:; -NVZ/{5zU2iBўE0 c9ɗoV / XF6PltJ~6[ F.x(V!sr;יVA4š>V'/py $݁Z/CozM_3,-IDATHM899! 'I@ 9s/!3T+jXYSQG$MʃGs~w3ξ^$-)q˕ZoX-n]Ҝ0Me&*W՝E8v-۶Aݤŧ j{T}T55^|> ѕ . -Piobru},7{Tj\TWq j3f3G!zj e߅3,x=\'0f&!k11|@$7ɇ^엇7a>ue׊^;~ApWCOvwN&g\}O]QHR ᡰnu3fj&nPQywPU889xGWi,J(װ;£3**Wq>UKت?Jcw޹{ջ7.y>~d A[ : \] dls4=h3#]eptˁà:;׿֮]za|aiPa&TJ;D/ð,M@|(%T-7ĵϚ+yg(HHH`|g6ܫ6̬$$7 H]8HZF ݻwӭg[5$`J,+ akc *2Tw1\Qe.}PAJƎ_|!=62o<&O \lzAl&%ɧ.5ѣG2|ϝg ߚ'!0,$ޏp{.t 1,h^o0l ޥ<ŋW8IFҌWj ARitgrPxgFP&2\0K3VsT[kH>*6ao@% 0p C/Ï^L2E4i .!x0m6ZG&4mڔG1㏉|O4%Z2}Rh' Ɠȭ)hʯ'݇G䣈"ԩS4l /K XUӚ?ʔu*}vqī~E<(٢2Fe$c aڽZGQFP1AYFҢod3zhY 8z({&m^ 2 W.g(0*P@3@ P Ho`HA|Ǝ+ɇ_Z?BIht'UU&qͿB= ~D>>h][ĵS%x{z5aK.1eT~ڲuH0j>V>:8ݱ:Cb[~c- ~_G C!oW_eT8m"ܝBjJN?#)"4h9`Qi* _V7ӳ -^4I/,t*X2U~\I_f/%薮ɓ rqI%]H4mڔ3GҢfu/1i[V{5 ‡?ix]C_`x)@g ؊|`}i=4(V ;ƍÎǑ#(]*M> /Mzͺ+`A:q;s38&O&T0Sqf9S`Zw2&܏oҒ {` K(\p;JVgڇiĞcO,\]vI>()Bt:CEx 4~8ԨP+j\˕dciv[Z0J[@{6 ףjh^5{= HXJJ oMx%@a"(pXqOH0C[{Ast1@<>|ݍ0b<!QXZ u_bŊ />ݲ ɦQHQqGnZmkQ&rI׳{n&Nٓ'Q?]7e.Ϊ7$߹ybqÐVr43_ d!\z|kpfԭ[7!j?׀&ֿlDVRpoY֛[ɷ3$eWI?j_׉:۠b5#_Š .\(t!E>ׄ_NvR=bPm: *Ej'mbd ï~&%aHVncÜ*~88Bz7%c~~~ٳ?z>\ Z{H>ҳ446ZȘ>/qY⚰JEǎ9u7n u*|" (0N;y>j 8T\+2&Ih'z !濒|)6nH>}`*xhS Ԩc$G-a׵Yx媕0,ʍz>5ko0p@ҏ+EEdd$&NիnK%$K;5/SK/`p|:k 搱/X ,VzYf͚Y( ((Fp~~z3zALX8Qc% ;y$K,awHIM6/BסrKP͈zB{Arՠ eU@ ?ÅQ̮WӡC̷E$ E`mƃήtwh4.]CCIr)zQ} V$^6ؿթ={1<2^w^KP 2N|TyFÿ/ahv3^2V0laNNzfqh%aDnt:V^رo ƁÖjFHwahXE ɇqaV\iAQg5aQQQ^Kr%%最8ZTУFr\ [!ECJUM(nܸ;m$%&?xU I惤9BZL0?PJ]woOvhӦ N{={6vҏ+ʕ\rԨQN:Qz/"W\aڵ>}`RS3mkԩC׮]i׮"zÇyfΝ;Ǎ7 Daľ} %44hXM6]v|_䐹s\25;dB!B!וzB!B!$ !B!6AB!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba$ !B!6@B!Ba!BSVVvwC!n8/ЅBq]Ӿ}BqJKKn#$ !⺪-9_d QQQyoƑرc .BE׮]n!׍t'B!B B!B! *B!BL&ZBJlWa4qpp@PȟIUU:j T*BBB $ !B!l^'??xpqqۛKrI )--Ec0P*899YrttDVRPըj4 x{{ӣG^z%0 TWWc2P( HLLˋ0J%gf֭$&&rԩ&?JɄ^GY!={dÆ _6MB! FSTT$%sj㩧_~ŅJKussjwAѠT*Gբpww 2Mӱzjn`?#-2*++חGZ!… QT z=m۶O>߹X9rQg޽[G~~>EEE8;;鉋 o6w͑.Byt9~8FnVƏ%fr-tUTTD.]#,, HAAL2__ nh4/aÆFyFAXUOII^{.]P\\LJJ /FT^g5k/...h4\\\())!++\Z} `}eee|wma{$ !–-[={6Я_?֭[GMM {{%]jժUVTݻm2+|3g9pW#""Eo<ӧO兏OÇӧOndzb O^^Z]v5`^~eGqFZjV%!!sαo>RSS ZÃsҪU+bcc7`>KZѣG|%K^pަM:uDǎaРA6H@B! 6vZnVˠAh۶-uL0ct:~rssW^ZڭښO?#G2sLv/LHHAAAFzz:C ʲ\dd$˖-squq]w뉋j{lذ2o֭ӧ ooߞ t:;vߟw}GGG>}:֭cg/:tzビJΝ;ks=?҇8;;[]Dbbb#v@!*HHH[n8p]69_MM 'Of >o<~iVZśoIrr2&AKAJ1DCFFYYYpY:2&L`np&ÇuV %%%2|&Nh5M8p !!!f -ѣo򺼼?>ؾ&w߾} k}j5Ǐg޼yW=kGJЅBaq*^7sBqz'Ndҥ߿Ν;k.äIN_J),,b9¡CHII!//k2tЫ}BADD!!!FILLDPpڶ~| 6 GGGPt҅^zѻwVsd2QXXHMM JWWWT*Uٖh\~~> ,`ѢE N֞ESZlDːt!B\W%8}gގ{_L&e)HՔ*FƍpuujGGGzATTᄇEttm{ƍ :x OOOӧOӽ{wz聓ם|ӧٻw/DFF]vߠ=qdd$-/7#GOaa!7nDкuk:vٳIJJ;vv1x`6m,+))ߪ 76Zjߔ߼Σؽ{7j-CFZ-'N`ǎ,X8?_A]WZΎ ЃQ7L+cEt>[-݆H@B!uT@oN0›ys.5?~Ktm)ypwwgu]|x{{7|mHpqqiv;<ӤRXXo2rH:vb#""8vմP(CСCׯNNN>}ɓ'憗 0^ڵkrssY|9k׮%77#z+/m۶~c׮]$%%?>k{#h4JjڪƎ˒%K,OLL 呐R$::9s_͔)SPT8;;O퉏oB L&8;;c4 Dll,ߟ#GtE`۶m,XKꫯ{]w߿[mM6 &U]S7DŽn st#]!Um@}?iS`څºk#7I(}ol_tkƜ9s0r-dffrINoqjcĈJpp0_|8x +V ##RRSSy[ٳ'zvvv꫸7KÞ={8}4'N$ YWYY J~qq1FXb{oܲe w}7innn;///ˋnݺآFE۶m!))hjjjXjӦMk;DEEm6 ̳yff͚e}ȑ,_jiӦ1g!))23J5 z88|p/ܹs4ifڵV㛟ƛs~P ڙIœxi2nqQ(r)!l> 6DB!ڀݷs6lⳛu sYr%CՒCv0̝;1c`0(**BRRRBaa!TVV3|pP(j[|jj*k׮%11OOOƌC[dŬ[BA׮]h^}vn^yܘ5k~|>(j۷3fRSS9r ?ॗ^b͚5={SN1tP=CLL ӧOZZfرSϴi(**bΜ9jL&]vtTצMjjj8wzFJ_jwYBBBstBp5w,mnQ\Cxc"3XwV1߹Lg u ["݆H@[J !v45_Qw=L@{or?z&7L.ђVPC!돷ax F+;Ovayc%OMs??ğH;;3/7ߏ>(_5Ǐgƌ4ڞСCa2IOO_;_; %%R{qZ-cBCC]_UUΝgٲeVZb̙3y)k{hlSNMWלb~ٵk)))t:}wpp@„ uք內'uXPP@ZZAAA|7ǢEԆҥK~pqqӓիW[:g[nL2"ڴiZ'..2+ //N:ERRcݺulݺ0bIXXj(((ԩSL&ڷo:_|$22hF]wuQv%G>Ⱥ./~+ ʫ{@܃Vxi O,|nR6w_|VqےmLzz՘B!4 9?7Gmtsw|=%P`S=Fo?{v<<2y]jkM_oo5^]W~oL<;4lN;pAŖK@=o07AM?is<<<Ņ4***,cѧOg28|0k׮~zMVtTWW[ ?`DFRVQTKDDT)õy4ξ#d>|.q!I.f~PUPIlN5'&hWyt?~TOnn.MvDޞJKK)--%==NǬY[HIIaرrԈkӁYntm٧wϕ|C&ɿ1.8:ءrg9$uUm00%%hT"YOvy-}ZЧu=P;8V| ""K&.G)/-Lfdg2*j1 v;v |5jO?矷С6lu֗y())bHNNѣ:ucǎOMM `տW^TUUmFtt4#::fΜ?ٳ'}ԩSl޼SN5]tݝR̴l1on-XCZ:S(X7pBn?s(JJJx-t=iYxx8Ǐ矘KӇ`~r2){-4m5m嵏.+9GPvʪk- 8QT@}Z1:. /'5q~pq)nr}杹{Fͨk ~ zghݺ5( z=UUUPVVFqq1eeeTWWtV'HРAۗ=zbشi6l`ƍ0jCw1~L&Z*Z-8q^ݺuW^ՋaÆ067GS.h<3#y^~sulK6϶`0Ν;9p $%%Q(DGGӵkWBCCqww͍r";;BȰ>UWjT3$W]yr3nmbwZO@eJ'?g1iF*> j5 pa*̝yx{R\Pw. @y VSSSYr%+WdՋ;wbggc=ŋh߾=GmW_}E`` > ΍g4_>}: XtS IDATnCqP9Wr>6**a??Qo0B"سwm o

-j ]ILd۶msIFES^HSÚ*T`….ף(vK1yѫW/.]JBhѢ{IdɒL:,Y n~P0æ,%LK~w\]]YjURJppp`ڴiܻwEq6loej133N:̛7hӹ͋/˗/RJ޽ooo @DL4I8bAjXFa9ALR4 ç@ǙP'3~b_T;vu1q4w0~!t ;Cp$Z@ݤ+$" 5ȒmI,e&aa'ax~\ڋ~si2'U&i4qFQG"8C(g n0hha%v&X/|iP2DFFpBΜ9=z?])L%XQeɒݻs9O\\L8E0h9::Ȏ;hР~~~c2Tptt/`ɒ%\vP}7.dBe-[j׮h+цV_zOB`|/ǸLLL`8b`_+qc0}|:ʷMgps%\߽Pu\y†Z%wn_^ԣjKX= m"鍟HIZ߫6)X[z|W Hh^.Sx5/nOt)Wв nݺE2d&MÇDGG3ztǦ(+`)Fv0dFMjfd˖%KC4 ~-G&66S}[K:#(WL}8nݺ _e^(gn܆w _ja`D2sf)}F^Z*V Ap8,[c%s%i,{ar?[@݆eYW9@@蘆:IABq&XP 3 '3 {-ʚ+dzD(-QYLxȑ#:uAAFH*Q1Yx|9 0XhGä́P`A:t@Z|(D彲`ҤIlْ:PJoNٲeh֬=z`ժUl߾GVkfoq`rbX6{):3l0N<ɠA\rBUkzh|/Rv#UƊ+qPҰpnjTp+b~j6w011Յ\DXf | iZ\:8ujS32*StjU„Ar$S%F)gaAR:$3dur°@0*bυ؆dzb5XWHzc `IA}')XT%f(QD8kr$XLGlI43E ^ 9yP`)r;vf͚ƍjf͚5}1~x:^g)@{&l>U2rH-ZĆ pqquxyybiN[3FFlb9*&_g-)| Tn bMЧOvڅ7gɉy?CXw+>hX'{N 4|٥a{8 T({j)kK{375YS'0cFq8I0d)Zk&p/[K>;|y2AyűsNƍ0.''hAt9/+ =DOCrO 陬(F*R2}xyydKlllXr%5k /kkklllpwwgܹl{>} *A剉ϏK.營Q+zbbߌeÉȗ/ `ӦM̙3;V_uI|!/ k x1cw9k(׀б)S'Oș3'[niW.UN0|2R~;B$`QmM.xMBwL8r k'k׮MRl@xFϰ!~"NNOChT^yjtX@,/{Ο?OTTTzd)by%Ɇ!">|9rPdɄdMPBciWԤ j'³n xu쭡KP-`)Ɔ?>}йsg?UơC%""pn߾ʕ+ ;wо}{Ma zdddcQhQԬHd[Lll,111ܺus/_>N喗hJy>/ tۤfB( ~(\$~^&~ )zU ^`ɚ5qM^KR@ $Sz**σ~=K#Tb:x7Vdz u`ԨQ_/2m BK^|g ]W\EWm i {u/ @ɇH 1l{1)_U5MD1c0n8~ 6 www58J%/ydw2lڻOSԄkKp,Z|1j(޽˂ ^z'K.QvmgܹsO%W˗/gذaʕ mFFr gΜ!K,,YB aff28cEբhѢZץDp 9]"NG8eGDAo!n8,q ,^ق ƵfĚ=b9ìB)aqv.߁+;v­o+BTGϐ=B"89gM:tŋ'$Xܺu덉q\ 0%bB"f _`VɌ)Q,<2 Ӑ V屰xKxj I/zr5qD*UĞ={XnǏ… б[eM 5 8P ̴`c!i/(*R2FaԨQУG9_MNGqd~I|2\LJj)Y[>{jSq-?N899QN/IxKr%3%==X٠u1𽙲`8h6FzM', #p*CPGOH~,_ Ū-ݰ2X:0*X//@pDyaرhZzAYv-g͚_ etޝh6n)W]v%4X"DZ ziQ)` w0ڔ$//~bp1Zk=V$[q1eʔٺקsΔ,Y_~; U5;TwGU`n*R`)sΔ(QSҷo_FA=8\ρWH߉ 7u, <C JFմOtPLkvr*<{[?7w7+Waa鴰uƾ6J9JoK7'0`>^(d38)66 hG}@'qp*5Tjdde'T9s/WRzYzb]#0rAH*C$,dW;HNNV\(U:3Wfe(VY3{!i /#6lƶXDr].gbD^q\¶m\tGKXEL`]_\AhxuJo8{r4ƿqT0'V퓎[v4[`x0>C£prLVycl%N3vx&44kגĤIʝX8*@D..٭d~d+_Ɉ";e* RWdG](A'ÔA >|]``M:%Kp…}ǩ1 > 򋨺ׁvu ޣ=~ߒs x?7jֺB`YxzDlU,GpB#;[x)\˩'5%Rkp5WȻ`s28d7 0ma̓}&rT iKXy㜥_@!yLk8q УCZ{>_aÆ|7oߞL.quذaF3Uo+{ wB~'Aھh (aYЅI h堗1Up`5o֔&MnLD%䡠MVhO?B`ȑNG J :г!2<}D<`!><!$A!M"9s&fRHAӧO3g6l2Mcdʈ$u$fV?aл`-R¼nA.`K.'W3`HWbNsb"@g45A_>9`?G\/β\4G Z1zhڶmKJJ XD3[Y +*4.YhOqқRlk3C𿸾Dl@ީu?" {)r|%6\駟())ڵkׯ:@G]êcMjXfPUyY~x"XR\:V{N Vތ:3guV5j4.ϾO_DEg7 :~B.v'k~v.3[ FnQ𠛾//wHkYxsxh_i\ ؽ{7ӧO)uO4vb4T-T,dGrw2غu+͚/:)2h#c1B%pSmQs pXV]ꫯ۷/QQQȁxg+ Bd4WFjgz Yd7 pPǤžc\|֭[}J? ЦM:T~#[QFI y:c vKp>v Aưm+Il'Dqm[j3g,CЂԆ&3UV+Ǐ'$SԜ9ncWݻwwr@kA%n4ڿ dXMR͖ nN ZlrBJNNfRRRvkX%:Lq5 / Eͼ?iF+x"XR\!؈jܛ5|BAWIDVĒ%Kضm=zT]\_-2.iqW E·!kGRZ/U)@Y:gBYepO44v߯؉<,L&G'4#wRJ1yE0yI&f -Sz&FW'^KAq x7бUS &ic@ڴZc XZxTZ<,O_l{?TJJi燗l۶/bHϫ헫?˘1cHKKcYQΔEFV?{*oqӮo=> :9{-D^9sOl L,q%"K)@ʟn2͛7ӳgOƍҥKgl3F?G)O\ שf/g u\ՐƵU=X(LOOOgL:/// We  Gۧt6FZPzL`:>\!"RTS_YfgCtt4z5k֠ ]#>>?#Lf˨ >jXr,x:] <Rj);aVh|rJ2|=̼C~0rP%yS-O;瑢t#F9wG!77TV\sO4eREC'$ӾX3`mI)EX_ߪݬW9~>tkZȾ*j:ujT*)duJ[ob @il#>2.5*حrZrp{XRD`b-#gpvիW)))L2ʩSVիW\7!0!\-W܏K8/ [sE؛v@/" z@g #Iwl1$ |CM1$?hժU8gQ #,ml댗;S!W˽_V0{lB΂m ~-9┖VHP<99}b"Ӥ"/lT.DDQ RK_8.xjeP[ΕŐ[*6$)Gd<4qs=Gxx8~R[A~#JQY gWp mܸc:E ˖-SN꫼Nk )(!! 6СC>Б\Z޿ \+녀@ / ] ?XuGDdF%D;CfU8CCzilyHHLH,x l{9:17rj駟f[9~$ETf[:*xrrr\n7߰`'华P!P@Zx1?<:˗s=K{1Jgu(5(zlFR!ܪ?RH7Վ-qXr"X*{` -[ҥKx||||27E,@16 2w wRaC<m۳tJ#+ HxjG*a@t*D~ˇ 9XF&C02$lA5Z3 B>@E#\u]jaAQ54h4rj*-Zģ> 7X/V!_r[BaØ7oVRѐQϘ4i?0>ߟD2>v RLMt2ϧM6t:^z%ƍW>3_ ,B5BDĆ|b b#HB E+kB%]`) ֯_O=39m}noؒgS/mhTt4/`i٧caE6t<NÖ|XqC0dHRYO1zX\ rKgOR. Xh _&IqBl{YHK{ XqN1h ֯_ϪU$q`qpdW]!*@#9.Ovv6,myԩqڵw 4o>FHLL wv8F FC 4gE.H*fRD{@@k֬a BڗJTpV_t7eٛ1 D<_ Y%( X1S`Ri /Eg@0,/VX6JclV+-`@QI 4l$8d|J> P9 #/aȥPp2wA8P Aνӧf˖-  V)BA`NƐ}mU N:?\; tg %޽{w#GGOӳ@o^J0#9suK_xwY~="""x=,5l@H fCO"X&(/p{VͪRqO PtHU?mD6 ^ .l{[JQfpIf_kø;|IF?7-`\k.1ﭥn Hވ + ,!8w.y|\^(فM9qj\VS}'N`{%Z鸋`9}Nm@@׮]#7IVs]w1c ;v,OFo;x tؑ4ƍGFg!p̝@}ь|ZKϥOH۷/&I6mڰyft_gP#Jd3[/,VCce+]yg$m&L!VSu$G)7Cn09w'@ӬBl0,=s1(6KPVp&\9&HHOBN~ _aW3 KcDc.)DdR~]O ъ "`iCw:v&e /fMk9dUwaU{d-.NXw}7Zǩŋj*>ONPQ7o2dׯ'11m۲sNF_|'Ug kqbMk.5jĂ xYvmyT$ۍz͐!Cذal=8⩌P#TXk hܦ[Qne`t;6%\m4F ^]9^ 23J @ 2ONhTXs<?_!Z/)V-aF'z_e|!˅li9U ) aZۮ}"Xal' x_YivDDDӀ&xܾ?Dd"J!P?Ϡ ,x`r-^LVJs y~m^y啪3^(/wƧ~I&lڴ~1l0֯_d]R`` >W^ysn3 ;)"i2?(X#GЭ[7 `<ôk׎K?'Exs$҅}E!g܎ϧ|Dɪ2b# d8/t#Pr/hT-wz^WݏwD9!a(x0gHu  cRg'Z/8 C_8 wZ7-Dv̷ZYVeX0XnckHSԆWl z#w)*&ką@,!tgqB\ywWGLL ϟwmifź;e5B>EUѣN:s=`4*JktƏϽUGRJ3˜o:e !GVcǎѺukc.]ȑ#ٱcu ~nj'uc& &2P0SqjꮬT(zG.%dᅂ"l8ϗݩV >3V+M`B-^x N^ G6CZ4Y OA7>PJZ my mPl X ѪE h[.-a ^zŭ13np"D@w`Z\DCVi]i.l8 4>TK6NOƲh"')']ˡOpn֬}O<=.Ǘ}hڂ ~n~b % X(cw,ʆ2aI]PӜ?jO?-oᯁ'ucr0\%i(OX*ؿsנ c7 4RҚ&^mx8jq ӭ!/a68W04 dҌ%k%V׫zq%pv J0IBr*xGqN~g#[&`¸ b8omR>XW`sy=XS98L&Uo[XZ7橎H)nݤ~>>[!acXp!&;jbPz I'iٺu+ ;zvmII -G?|vX9fR2 [_tsd ,H_,Ge,5ڰ֢!K02.¤p~ZRBEyGp xm?,*X;TY| lͅ > e `@!*5ThEM-lf#&LeR2XбDdiBssX ߶\"\*U"ndXp^YAnGiD(&yYhTNB8Z ᢽ7mRV5,T lmu^"}n]) i|70qp棐Y_ s.\W sOt8D+(3及U%!!Q{wJQ,ZPp-f3O=9gv[V"D@`ҥ4oޜv!Cs:$Z])nA]QiPh*zA,YZ5n8_>˗/'>>R]qq1swh4Ҿ}{ϟOٱc={dӦM9sV_E"=)5X>T(BħX&Q^E0XZ. ˋ92:(s؀;l*x$ IN/o);X 5E6hYL^.4FQC =UAVrBl*9͗dH!(w"sY5GH\ QD>G c4DMɅy$X{I\&뱮EH= AoWu.66\]DE!X+ޓ&=+Gt.\ŋ/x饗ܿ (% =]t?FE.8tPš VW[pI[P( 2uֹ#"yyyl6{9:tq箻bҥ?ٳygXx1<裘fvIn? &&˗kރm`DT(Wl jTD3Ve (F#)4Y慒 c@!3eD<A`6(ih}iɃX>ew닰횴L= m#dbq',0?x<}F Θ@)7#*>V$u[dVIo Y#٘чvBmd\plĆ jc8-Y?&Rx R ˝5ڇYX @ 1oE8qGjwKz?T9Y37c 0!bź_4 E&LѣGIOOg۶m-o,"{HLk,F wܢ}= " "&&gy;vЦd;}vڶm |4$# EѬ0uQZڤk),,~`.ƍ|2#F &&իW|rz! 6aÆӸTG.]x7 O?e4o^֩?=#f1\V"%nS+dbQ @ \'JfDʀ3\ŗLFvz䳜|#Fk~z3WbdB]/' | __3aNs,\Si9 __bX 9RazaU:॔.jAڿvCF:xUI@!Ipl؍<;S /Af~7 AXUE:oRboc\}8q]I\ b͙᫉h6vǼ{zhSrXLL !!!lݺW<bݧ~!Ǐ?ga„ ,_\J'AtyZ-Zjr̙LWNdd$ݻwGa͚5<c"V X"?U)l d5>9sfT*/L”)SHIIa͚5U*ܹ3?y뭷JϞ=ٸq#:t 11|tG`ͰQ"AFP^.O0푮xq @I# y>-m e%8J&hdhÔ|&ˌ+`ZOomφ fgT3 aO9z`s?DI1<8/-!;*QS2Tb5N u\ AEH!?R{s Df atL:_te0=rb9@EuPJU}BP[P!!ݛVɅ ]@T( 0͛7;Dsك636 993f0uT{1{3f GsQ0j\8~xVd4cxR/2aBMtJtѱn+{TRDϤIW^Ŕ)S\>oC߲j*N<yg5k:tweȑ>QVS%.OQs%L`F%"X)u!]Ӓ@(()rhv!vǟd||Œ) <Iu(ׯ]4\.k!V#5@u!Hi 6ڌlPAd܋Mk``ftf]*dq @Tf"> gPSuG6gֲ} Yp{f+֫X #++bF=PbL~h2!!!Q1c믿Έ#PXԭ[Ǐ㈞4"FZ˿'\5q͈d ȢAP5gǛoɛoIRR/^LJO&or%e (3n71͡F:T4oknF;3o[ͮ2> PIkĽPlhPj96]ab$[_z/ܪQCp9̎qW颍-F&˜Ckcϛ$C00kW+f3fݜĕDe%~+4x)iß-l '(ٛՏ?e h Ñ#Gj0!*\> -QhzHKE~E8 JoT~e?7nd޼yNmPx NJ,)52zA"KJn VBV6ZE,V+)Tj%)a4@DdYn"@|n(`b;q8+b 3\qlYd:d0z (ӌ]vL42D E0n"YCaP|u ^Ozq \Xuc'"zEpgK!rmW! R$J%hTTTTeXf?&{5S2lrȣhM?B}ǚx #2vMmp &OlW֊<ӦMG)Tˈ#Nxܴ&epBNʁGE@z䗇4?O?e޽<>I yĄGD%66mt*C`NkjS͛ykbF.\|@tt4k֬_dٲeLF8@R=\`a IDATuO>ͫ*t.]"У7OP+* Z7œ Zsx A ;F+ BMl@4~AfVoF z*$Z%06^⧟~bܹ53gdȐ!0gD/YHqA"w?"5#CJ* 1; 'ўʈ:fhl4'xZ4䁔Ÿ2)+_.n0+VJ,XINdx  C`sr;g ƛ`JK(R,(ERiv RQ"#uN8,lDæA6rC5 F$ HugoQқ6,WAܦ/˅j={h4iR֭Cq隐ܬ,d2Y]mJN߼k}_Y Jvx(ظq#?aaa<3T(Ss8Ucm综Ueg׼>S46رrJ:vȚ5kx商$!8V@ւ 72-@tH9? 15yH::OOOyJ8e4:5h@iie$i#4#Sv«JAA+WD%$$Ppww www:uꄿ޽{ꫯPL:c`a0%TJ%X7,/݇J\'(:0pAAլqnrCYfAG!Hr8-y%Kq2d ; |*E-*+O kX$ep#`pYoAU 4^Ź9T4~'@Wk.1,Y={Ԭe>6oߑDQ`{HV>>Ӈ >#\]]ˣK.m`a0%T#&HWzh?(L̏Q ЋpX&X('(G2ƩI"|R)G 8Ѷߔ,U9!7txQ`uJ429Lf45RfaM&=H%'~QiX̭$^بϲN|M#\84E`.1UpD9Ҿ}{ٷoFjto#ÇDp+Ȁ򖽖e@2 0)v9*(?!!p[t("E53J9r$FR'A;)j%56xb;3)Zq@*@@@C ip nܸA\\'Oɓ|w̚58Fh#XwhI7nqwGqћ ʨ4A1()Ek3E$QUigfiByXQvrЄ>1lyb_QN(E' |V&RH.:JDlg+%["")sSy>"A8p7;3*{9DS@]6DTQLKp [Bb=V-i Bp ʍ6uP(1c9oF]^ȱذa}QÙ|n-iTc U?( [TNJNbVS}lvʕ+oP*7®R駟(**BR%ڊ ֆ=7zŐ([動fǍ`\i4P(ĉkٺuݥmmAISzf;t&J b3p:Ҵqa5qCnyzol?:R+.-(l7 ȇ m! qa'\"t\ǪrRX[n2)M5$LƑH3j\$*HsQƆx$at,=1f?{B7nxU<\K8n]`5B& t$|* NC`S[ݝ0aW&%%N:Վ;į琐QS^~elllHJJ"((Ѯ];6mرcYhWBC(*D hO4;֝`H!xn>#7dwĠD~"yk$,=s9vr[Õ(u U.U.aEo*= QNYY"R4:2(rn rR(HD/ q±%߉\ccwٌoY.{H䭚 ;_&sH @}A}"6?F] M, ǁ]]b{:tPz!VXEYfW~Oϻ'0{-NH.1,  ښxF6:t=z`UZ"JVVr OVHHH`̘1HR=JH!AxiP6tJph~*^fY-zc(7|p;'Txgptt10j(֮]˼y޽;ӦMA mxA\kj:1)!ll#e$l!nXQ K,?`{ ֬…'B2FR-M @\ J. &EzU8JDJУ7R!G +ܑ(`ycժR$4p.ёNMn[De5s `JBOaYsc,l]`sV)*2RSSYjO?47t'8xM\"ǟ`ݺu̚5]n_k J0ak֬a8880w\SC{qrrcǎ͒'N0~xؽ{77}o˒f7CBD ".VL W,{ض$"R@>}o+4\`M4 @/_^ycܹ9r_|ɓ'eFۆsA@ hF96fTxlq$ЁƠ^sD at gsɢcCxG;lاhXe4-oHA^(P/J )[ ~ er3[;uć+_&JN( ÖJ.NBHi >X()c+Y SHa a(xND5*İ"Ӊ2!WpCs֯Q?5_dL4O?0L  Ing81w\.^oޓ5T=U i}=EEE,]j=#& [K7eؽ{7#Fcǎ:t>V,a`Y`)zЖV('Ag EDR9991Q K.̘1E AxwoA kB!G-燙B\RH'dp2*!D [zcNB&e  g)c qKa'H@{vb&ߋ2R!G HF!Nf,A1%^1r ZLO&q/#U3Ub8L 0%p$7dxZ Qt{m@Ahl=l޼'''yꩧشi=[l!660=# aÆ vx_7}l+{wlW@-Zĺu먪ʊ'YV JM@p {%==}P(뮻ذadis=1={yћLK W&9"7i ]0{Z4>9JLOȼ)++cdddez;"88GGGJJZ؆h#Xw 3f*" )12)) $08`E9~!ѢQ=923@)+(8 x2+ (d9lȠiĶ0<;_B~+M "L_7E+ 7K3'E4~$ PO?H^IƵ@cHwuP~Tz)Nb8p)S㏓E߾}QTxyy!1fe] 3gXɭ*VN8}Ǘ|@`6DѣGVx`0*]!%+'_~h4̙ӦMcL6x_~$=Atd8"nes Vs#9McV`,Xcǎp=еkW._~@*rС6mɉtf`-t8aNZ;H&˾wT!DlR2~/R.a&\A)de$)#~-)g'˯b#k<hS$+HD0;ːR$N@"Pp21$ q3Ù4i666<|"Ψя?8Z￿@i5c)g"MH> {WF"p)Dvei]xwyGӧl۶G};v,={/l?/@A&k# w4&fr)+Xv2eqKTVV2yd+mҥKٳ'pA @lll$;J$Xvb_`  "IehÝ/h,y/(cmӰ8,@D9J$<@&,$'*_8A|FW::sgx,RzlxPUhH tycӏÅڈNsqt[Q(,\T.\~7"5rTݳooo&Lk/\;pLZ Xenjvvv >?VPކ`]vvZ?^#PvwwgΜ9?_~_kf ~ƃy5K -k 2(ăz:FģL˒ S6lḻs=sR35v^N8AEE={wl۶>m) ‘nTX@83I!-ѓh :J[HHy\#\;HoQgI`8)Z 4KO لp_("[\JC'm&TDDlbQ,AL#*J9*N9Fo>č[DMJ05h_^O֖*z2u vT*|MFjV ;ێ{z֯_c=y 7>MC`m!=]uѢE$$$pAHrA[HիW7o^XOϦ6И|dͯg&84Ͽ $CE""(ªJG3rzR{{;ZԹsgpss7EM q:Hhu=1LH;98`?^d˟0-huǛ!rt> QxF)k`8M H#:н"j\"H1B ,cvǞ!p 5#L$W \ĖDҍPZUgY8e"Ǟh"a3uVOI`ݼ&د 7cs# V6q8^}GY`zڵkb֬YsPV a`#Mc⟵AV׻Lsy\Rs/b*فݻ 2e %X/咉^H%5X9`b[66(hwpp L&cĉL8m۶Չih#Xw(U!KxA'Qr3f,R).0 j̤+qRO8bh7-R> i\B#jNJyB$9 Aq*8x$SvN60ldž0 ÆjA J$Q;4$8cK|/j287s1׋tg:O16 A2ò9(w;PcиÇ0`lS0*yx|uV5&Lٳj5㊌IaMg~ :Omٲ3goذW r-Ee&ysZ$J$P?{QM,+o);Ě{Ar%"666w<2?}- wjx`FWqΣELGpO\Bq\f?G$ G IDATCVp\ ü)j"C"xd!<OᏴD'7jLbeD*"Aԉ!X$" )AC)ZJPg$T@r:M4DG.,iQo$U?z̘oʧ"=Ay/5;{_3x_*H}Off&Ç%bCVrG"P\\Lppp===0`¡Mw4/.h'OdpItoIll鬉; d sذloFx &z2Z| }<9ChMc Ң1 hex](TVV?s5 v )**ǧ\NwqTioAk$}H vqDbu_H1!g đv "u.lIeE{[c±"WJ>\Ae\FUs+Fw@ B q$ص8BD$ &v +SAMA[AcZE@]d} PX^ %<SZZJϞ=;q=wH}ؐ>s{jE3~zÉ`ر,^; ν>]8 ڤ)Ʀ]5-keGeu^FqR[P%PBEUR}Ǿ}P(o\ιsJݻDꌕH$HRr9QQQݛJgj̚5w}'9 mEE ҕ\$ |&S$RHBR3(b5:r ©.+$J(g8)=xn 2zaO/%xB Q΀=Nq@cM+V"]WIfy̍0z2ת!zʌ#t r3O8zl 8W'Nƽ+UUUp*H*UP8`:D.^Hdd${7>PWYa\n`uߙm_{1m4cVc,juECu&ҿe2J% *hXpODM_bD߁tޝ4Əϕ+WZZ&L3^" d)JJJJ(++ޞSQQ%KxDZG6nȢEعs'_~%Fj;Ԇ6;N:"x+DDVa+k eȉ&! m\(`ѨLT|]Az?kˡ ws)L_[ؑG^sn,\ӧ36bw<:=aÑD:+ݻh QLrwj\wBf f utphecdUdfi9EXJ8ģ"wT ;PRb 6`UVVN=VHgo#nt:([ M/kx]h q`yׇ(¯Ac 37?M"88w}!"3gޞ5kjKWXz(?q {$}cǎeԩ?a0nt,%.fN]"-Fi"8BzqAh^;YaeKp j ҍF XYY=_~%Z={0}t bپ?6cڵ|̜93fЫW/ۿ<͍cDzw޿t?m{6ExÏ^d %\\2KW' ve<%2AQl c =r+EdQ-f 0Oʧ\Gr8g ^& B 1Hm D~bYR!wyɓ'urUUUsN>svq.JS[kI0?-Ξ[73~fQg,_Q9rduE`vĺȼ <7w(K]l| :D 潢J#a‼Rʌ~ln\v@$X㉉СCڵ7n?O1HO?[nƦe'@rChn{Up 7ǑTN=.҅dsfW1hԈ5PW Azxs@ ]#ZD.d'yDPSZ4$qM?>c)'CJā<߲6h`9*H=ČvhzsD%t|͇ 3R~BIm  %uy}J[/ (!@K9ŋtǾyCpe0.\G\c^ƙ.8cr$H/ƛ"8C,Fcvd{\W@'!"E }%AT*V\+ӧOo 9sYfT*26ܖh#XbEIfUT"7Ձ(| @&N,Hp6r8]dl[((`ܱ]ΐE9 8̳D39G{`͓1R)nNeh9G( @JW\=^/8cc)􈔣nurH!25#G[szҋ"=74֢,3`ź:APm H8jJ=Pjr(Np4@πK0HG_eEصֆ@ [G?ݻ_X|9Jmlv97L;׏aÆrJzrV5 }m̂N64бaۉ&[]_bp &˪)B4߃6?Lhae#`-چ+! \'">e?cQV):QJΐHO[4'C</I2PH,\ t#%dʑi$[A(BA&` $%(x# ZL}E;ȿYs|R0l !pnƔV5#QB&WQ` A@.J &m3ݚĮpeA4~ zG߃DD¸Yr+y饗Ptڕ' .CI23aRܾl2qsscÆ L6ݍ[lBmAaI˧}O r`:Ы+x Y,% T*)A`^' mQQ"qw}7|3xp *7)$NכEQgeX{vnkJ=A2?B,ď `##-~g-xspЍdBp+^-G5dHqQBP<Ŝ BGѠ'22)CWjpQJnϕR+6^C&)H#㹇>-|DD *40gHѵt4U"O #dAAh'ESGC$[6!?ptmw˲mh cxtQ.fԨQrԩw7}ep088ڮ>e˖#ksN y^L<|BM%m?TW`U@v =DDQ#V\vh‘VϼӍׯr#XWIBE9*.$?~o.9nPQ#Xk֬ᣏ>O?e,˂p{`,ej*ǯ9m،Gjh˩MOB!z)]w;vx饗}.X%Q!#8_o1ZQn.Kߍ/!U@v5UE 5ިFKBHxQ٪̓T{Rw?j/`QRA~]xr 8sg}W_g?Y+?VՊ&!W1w|f= lOxؤPT̃fLNA:|sH$~}6Nǽ (CG } phiUe9{A&% qǀNyRuh|Xh/TWZxS P:4LgTrZdڕSRdwM뇜lizwq^jmV>#ƍ}v'NTUUeħxwZ4? S+XZuu[o5\C5~x߽2&&BZߏ;X:v%kuiT./i<eIѯ IN"Fc'"TY eU۬uL|)&{_eyb΁__kLIc YSN5e/ɓ'hmEq 4ruWW>=rs7 [M,C@T6}1ؐf2>]ojmtw{3An-ћ=4^ Y}qڴi㡇ry2n87x;СCs=ΝdvWa~!1U+K&p&% kŒ TjK mZXs7Qf_r&jI&a-.Pڡ'\bYyX~~ݻ;餓t/Kfrm9C }{cc;ߗv5;o |0/=Z##6# t7CǐYdxXDzG>]zQUAUkIm%X{xz: a94\II_]YYYut̒P{uk),Y_|aŊVXaU _p완xۍFk={ U:dc;7`Ulfr B('#VI82Z4-jXo+BeRH=_Xw IDAT %Z@PN"uǚ3g>ڄ ^j Dk/Yɻ#//%\RH)9Rۤ1ua UJ]fC)oZ V+㍳ mCV[8S g{2b)>l3dUK*$ErZ;lSa<3uT/ &:̶l腠nFT o2Z{Ȉ47Hwa'"KPh+Μ,c,~v›i;|{ CWYuӹsgwu/Xϳ4Q 0_g)\>닙JDy:'kh/͢@:4`LlB-N]RDN`/J"Uj5~jcprV\i{DY7RiBVhӧ2?SƎsΪծJ uMKO3;LV|cJZlDDLW6 Lz;m6lojIfy2S|h|;Jj lpo.2ͰtP3d,F`=`B2yVd޳=`IoBm(7v?DZ2ChoJ^ՐG3_;*x\2rٶ`smF<}Fpe͟uA9ܼ~;w},r5bv|!¦*'$=-(^?]&:B7,C3kv&oe7A0*)ibg&\*E줔bŋSIXe ق^{:weJ؈.lQo{cB+jEMW;ӞT/96|lv?\2Pe>f;\zRM6{:X""fZa"z(Ww9+ѭbmEc5)ϜڪmR6WJ=[-8)FJsgVNmb!uO&⩸?`q18O-゚uC`,~p?RPUeSN.]y5Ea $&^EMC(Ɋ(id|DC&uv=: p^$ U¶PwE>R)^_^!1SNx:+&fRt5^Oýaɒ%&N/twDȪTYn4ө D)&+˄Uk7-[nOOtɘD*,GZk/m0Bov)sůLq x"*8@OG(Tv Z[k*UgOmQ,,=OwLHXUol!B{t7"geTbt<.v'%͵=^']/m\x>|_4 ;{ryyy~ͭ'38Y$^wujZakgjǜk_˖E>}vG3b14%Udi*ZLpQn!>ٟM4ɓO>[oIN105[lqI'4w\C7B_'ؤyX2¾ct梕`8Xe\iR|ߙ6zkBBF79punuaӌ'V h_ iIw5PJ mv*񹕪T[c5%U7dH&Us!J *UR26)IM2ufz }śpLTxRj֯9q(/# fQM鳼}qZ(Ivt]Nj.\Ђ ,\˝ҷ%#;[L|oxJ~hۆmBu7O$_3`dso2PnݲWb=d i]4B2 XvF1?UDj!I;+>"YFM<wwuQGMJ]tYg)--5s::iY7AR#v#7B3[G+jWBXwLr(tuMtKu3i]*oKgxG>Kgm@tp!޲Ne1׋g ն 4EEm:O<ȳ],aq7ҕ:wCȑA G锌b('H\)4-eӵ.r:}^ $ k_֮wڗj!|wI*^iس^sǃtÆ ӷo_͙VcY8ҥK9 ]1yI8Y clY'I0E_' ڏ; S0jS- *@ t}kmRn-ȮsԨQ͞=`mL,=d7?Yfy7%W$4͙ʷ]8+G[C+jWFLl?=.9!!j7mUtG7hU;8ZGm0&3DJϕ/k>WT }`A9%҄}PPgmuAIlMSL ʕ)yn#[6"R$M"[9:A[텚X Yo3=>& ܦ<)S%+ܔX{6勈I?},wUy1Wlv stZ8}3ZrwM-2dȐxji|UF޾ۅG]ٗMƉxa{5#ra}#F4ʧ׮[7[ AҹLdՈaO(OJ{Q9c=ʇlcY-QԺZlR#FH_ a0U~O;s=8]ѫ:g"%^Mԏ4Tϯ3<V|-袳)Vv tNteJwS􎹶*tS5G6ѡ}޲N,g:񭯭tgTýj-E,ҥ8@_#c_=):"z7j'iEǞˣGyHKo]Ox^5In lONގG V^ʞuc`t={!o B;,M*0[Zdw'Efz+꠽ÛzJ;E 7ZG+j׆~9"!uNB i.wn[/]ghMэ&z驻lYeɔY'RNŶ)RHsB6[MU,HmC"7SYglH[9&)\L)NJu<6>EE'a[>gi1\\kنk9ҪUqoҲjw^zMӈ$A{ҼY|~9Bz3ZVՊ 2ߣUxeCԍDYjW#ăp3}ff[%J=h 1ԡz 8G8r^\eV56Zm%V*O3b V묩'UC"[|YjG})[Ub޳ S4:OSs(~-ݞҟpY(ɣ'6Qgy͡-Ժڅ~אs_<3nݺo~jz lnC4W便֮<љW]͢ EsZ< }9Oz! ̈K~.wmB ю$B{d] }N;UzH >}ۯ֠M𫨨!V]tQU Q+6pm4ܡ oE3ezlB+jſ tK25x/YĉcO,Q\LPj1Jkd*50`#bb*TةHb;)SkRjU&ZUP3ʷ@uVrѱr![NJOm2N%n-k;yV'}v-Mch\νespkB:_xp·|̙cz ٜxZj+ydևwS%6|NNkQ_{̾w59JjD#ZH'қVd^Ͳ˄<hC7xo|Οcؼ<_u]{ZpzL+I[=Ѝ; B0#-ъ{h%X#[˜YS-yoa/wO u7Ktq)ˬKȂlݽ"@C>zk3ѩF5$0_}R>W TQ騇rs`pK;bQD7%6'T2!__ ʶ̩Tns5nj穪7P(QڵBؔd7uT#Gt%x唗3ZbDq{b^N<;`$>~X ߂utOop*wUo^u ֲT?RLa*([bPG??DG7}b%%%eddx<"~*=z4 gmQhx֊7s죯HXi$݆qh%XJ(T5S, 1ADOϛ.&vюwLM.]oU`ϭԗ5܉ж ;ET!-BA\ꪍ,9rKPTX.uvZgJPPt]_7jg9($^xW doɛG Lq߻IceK!:z#~Ymf*⪛j|I8, u37Em?s-ubFr11;o.;fܼq?Ǿx ZX} aI.MԽzluuZ V+Z "dKT' P颓<63ͶJg;CJ҃q|S3̴C938(#jVZ.Sκ9 )U'uKw1gJZg6a|(RkW'mEEE,TPBr%BW* ݔ C7pKTy+o.]#P$<-H()dJ[a 8 R *؛:5n$5cO:wcU+'p1Ǹ袋\{N9]+˘x$ .hӏso 3!7c1>~v}L'j jl;Ayyrssu\ %%1 :Jѩ6;-A:3DCTg /Z喩Lj߿W,a}5ט=;^G\rU*ߦDTä%l9VWs͖: QV|JZbDnP`lbu;3+>6&y^0cjAACo@toy;fjzysBNm`` qIʬ:mv/Wn 6٠By{죋|_4V$Amt6뤿6Jo$\Dh4P%R &{i}̗P0wxR3s#_'W;n;FpIX&KY7/-f;5~g/Ǟ͆bU5P\x3xO^òy䭩]?r"\X y;2 ̝;_ӧOצM7nsaǗ|6܅kUoVon;9VFmڴi~sz[Yk2kAjeޖbE0I(Qm^W w+JZbYEvz]t~%Ju h5o'N00|cKX-Ti,TaUJlFi4C 4@ċ+Uئ@:mĔ(TJJժ6$BReH)%*S']56AzAV=A8N= 1RNvu7ꊬN3tqNao<\8p^5 e%P IDAT8퉩q:6}ȟ\~s9 &9:`Bl9.0~b^G0ȑgdd3Oj 6N,&Mh"?Ovm>`}[ߒٝv6@%]^ zWjSv,7M2ow{7ߔZC kkT5^Brjhg#,+S* FCJZ񕱿2eaʽE[bd|UTS1㝤g q[YqQF<}dB1ARTzK-qIM펈tѩ-. U U%"EX 1~=~\|7+A0t@`(OХܼfOUb,&<ƐZ ㎫jp_1=|vGӳO}׿wK=2Up$jj$g]?Lr[X?nYV'E?ys,ݙĮ{G]p?>馛L4ȑ#=3NSHѧݒ"Ex=e#ʔ6:l.=^\c{iʷҍ5y&JQ. `x-4OO! ("E ڈH_!WQnኜ<`pRҖ /K*VL_JyRzy*S:)N`\y!W̟yIEbwnh|6p/jk:$HMMu`RMC kbl]8͹΀zRJ`ss`s_ԭ7CK,1fvldbzh?ZٿV!l D[ۺzP6R>3<.sg 0>[nqYMo% I޻ m`7i+7nY/Vae†V|#j׆nz9͹뭱Bwtx޾2 -RK-@rjMk7 $*"Abu[K}) >:&-UaTWe ψYY@@4P) z[~K% kKz렢d[R(;gLbÜsmȭ\ȑgr4"5شio<5vH x7vz#ܽ%EV"zf@[ dddY0`߂ qujO-h%IB$[)|b@;c'BAuV:urZx.7߬KƣԻPjj;pH#틼(.5,Zȴi7ϱt>(0I2jp+WJZ񵢭79޷0NP!3&k}3-B=2j!V*(:鬃6XsmS F1QP]SNz謇N ҕ7̯ ;Dd-P%,* N1EL{¡}Ǫy7=w!MS>&ͬ}3X(Ie)ٜ!_Szcgzr`ZHIkәddrO8i^/LGlybsf(.Rb(uj%SkVw7򜧟~ڤID̙3_oջV?6^WlCU"@R;\JCD~T.\O ?Qj%QOw3f? a}]OL2JlR]W*++]}՞{9֭isC\.Vѣl-⛁VՊ!aLK?ŋ]4pl=+CҼ{- Q6wjUaYUΝoK/ԤI;]J[~~oѣ,̷NR,ЊoZ V+md?tgӭsC%Ԅ_Lck#-lɳv>1{^S 704ZJ[mgɳVT&@)Rlދ*QGԨd*e6`UڨJ< ZPQL$+*>FTy]LM,'W ;[EkqT&οw cNjOIcFQZw\}HY ֯VKt#ЮRc…ΝSNѡC=' g~m+{{ifĉ+pk׮ݞ㗾)&̈!w[`{NAA={˝vi 8Zc xITT%p ~6l1cƸ馛?.Y;vkw HW_V'$r SOGŋ~ }-7>}3fKb<+ sijſVu|-JwL'Np9BX24{ʭgX5Moo&zI~FEmfav*C"v1r4KVM"Ҵ4t̽hU٪Vl 5TԜ:DžT Q)2]O*0F4 o"YujgDjb䗾>r=vskڼϫj۰a_Z8̛S(,]ҳ>c~gnFӦMsQG=ѢkS?[>o@UX:6MOQby$>ȋ iۑj %%\qk2ȸmhRQ:T>URW]+رy°;v+%R=BgO-}?[|;1e<ɓ'޽{[ҷզW#[{o;w_b:˰<}n3o< .h" ,㏫2i$LֿT;ф뉼B |#ⵃ!tdC^?ɲe=&LP3$V2][f̘{qq5GJ!PܫY#NҩMO?СCA"&ҏWb 'k1e'jaoe׶4 6{CT8dÛ ъ`rt0w}n=N[78D 1ґF:RYdX!&jV˳{G:魋:룃QLAiҒNLL|+BJ,Wjjr RhNFDOF2FBB1 WfJI=DL K_yVˉU,҇#*63Q]#ZOƔ>CHiHV$:{_Û44ZTgTddH))Sg)W\Kx> 馊 =\瀕+W\~宻.+\q̛7'l?o5tנ\D׮]=FaҤI~m󎏢ܻwf7=IhjHQAJBPA "Epi ( Az =t$Mͼ&IvS{{';3<3Y2g~n \tGb0&"".]D{bqM&W@L^3g> 22ɄlPE!o4lؐ`% X9@~BmOyE?]vpAچYC0(iĉ.=##aÆm6fΜɔ)S0ɫ[1TnD{B`ժUSL dԟ5/BΝ4h s:tH4@WM6|ѬY3LR4#2 +rL(9PvUzE||<۷oOkXDZ*SղuV4h'Ρr2'~w!q&F- 5Ɵ`@-@;8@"G+% :oRu.$2xH6H@*٤`  :*"6(-~ÓQF ʞ撤lX X_3JE ;%Ѝe2_8?X\m᦮̩-E@N,Tk? ۝@$vͬY8|0QQQl߾ݻ#iiil۶7ghΰ{/uFϞ=i߾=TqVL W6B1㝞(t)!(ࡥ_B_"TIPOjݔirYu;MG,B3n6INN.P'@45&q/~@MW#]6MۻЩS'vʲeˈcͲU}=5K6l 55>>+zQرg}@Çg's*W%\UgEoŋqƈlFT@`` srxaÆyobڴ2_b?`nRjX_F$CzjܹCpp0!!!?4FQ!"cǎlYa=ŶCG' m)v]vSP|q믤3zhϟ_,9͇$a8=΃>|6SqF^uz͚5kh޼9XR ?@ 2dGСC~ 7JA.&'qșc7u7ӧW[baT{.aՂ,CEjRBjLD:2?TQFY&XnG!he~"G \9β`*I3¨r?&2M@B >$)h@*@TImh6NOs'`ʀS1pu &t>8l__*YnmoGE8[^EΝd.Ȉr`?m۶qUT*jBJJ W/]b3P*cmRf=%I|a1qV^M\\UV%**xΞ=KBB)))V;AE} cbb/H҂]Djskǖ-[ +C yne_аaC&O̍7Xd ÇY͗xt(bl$ >-͡ޚ^G um}ʏf6( DQt0rCM|t̡Cxqx?^}[a-onk ?RJߙ'N0uV4 .Ngw8}ΉO͞ܚ0VZ:,@%QL-ˍH@3pk\0qDrk(G(QP-? Vcb?&ad" -T@Br},}3~"O{4d;ojyP}؟Fpc\osR? ~cP7 C =;PӞ Ұsd kBҏ@رLq.'dy nNG~ꫯh۶-B5s&ǏHsDHOO;؝;w2w\f͚OT @^9q,XOo_CSo-İE>:5<ӦMYf4k֌M p'xRYL+<(ߊ[EӧJkAZv@ʒ\nσEm"}tV|z=+Li֬soon 'HOVwtn-ʤ}ބ*Jdsh/-fp,7! ڄS#rGqdUsA !ÿP,dc" %a2&.b"&..$"P?* 5BqEb6n`*d!SAW~qpf2< +@_RbUo)A, IDATCm$7fʒ-{Ay&UkBo9t3".E!I8jL|1c槍AJA kf2-ZjwA̙3gҤIfΜ}s ZEӬY3N:Ř1cxXz5/&"":t|fi…lݺǏ~n@6mJNBYن]ȊCߪGQ BŠtرXrӊ`;rs۳9s "Bm;^yf~GƎKdd$3f`ĉLn/WDVZ/s)N:Ǚ>}:ӦMge€vtLOµPèQׯxI;@$h$`/9r$GZlaNpRhk l߾˗ׯ/˕7tlC_agPD u9F˳ G~&M0jTt/@"'x,|D;O%Ԯ\g3T$&Tys㯃`^PԢ-""I>T@`"K$rac%Mu]')4N*o'/j :[ 30ǘHL2yδ^kPQ QWșd u (ͻ#߷$\ :x& Jz|ʕ$1E}#+d7KN#FIȭ#Rt2rPߎPzroƟ5k-пTvYIH1K|<hW0hXQjKd¼biY QSJooon޼  b7>֭۷g֬Y̜9y1aƎK@@ܹw/wh[Ls!TX+ҽ땒† XjNP=_ٳalڴBHСuCڵ BAD*HG#7agܹ̙3Wm6̙ٴiM6E5*UVU?pkvpϛ]"xRB,g {lg9h[E@ p.r'Yj{Nc/w_7r=(&`"hB/LH6i!{q4bv³NvaN *I!D~-r 9eh+EUZꡡ.Zꡥ.ʲtHX.Bw}ۢI=^p[d>:I!Fzٻ:<M2CP08@x"L0-: * ^>o#f/$5"z"BV1'# ڵ|~#M;0?{irmfn`n  @3/˗/e7pN ===3gGO?e|ԨQ˴Ѓ_5B|QuaT|b4Φo߾L-X͚5c۶mӿ g}ƤI=@Yq?:P*"Xb|ڵk0`Zb޼y|% j1V,J`x{{YPEsamt>I.uТėER;w.ANmF:xu ^5233K|krHѹ uР'`0l#[wx6|@Ʌ ?rJlQ`Ah D KI~Y.ϯ=@~ePJ>Wg@>y9 RNgUhA<܇/zmr`վ0Y(($Z%^K+FOkt@?$*دHF.'wj9M7͒ ")3gE7 Ν;v!IdoތacsgBBPq4vX͛ǵ \v AAжsǨZ* .d̙,YGxM|rfr.rT\ koS\׏,.\[nbZ9q13$|] חk2ydNJ֭izӡkѽ#7r6޻:Ǐt]WUT?^+f3|MǯJN0$&&HBBDI{r>!-JZreV_AjI'6DЏX,D@RD oN ` $e6RuЅ@ .+3/kP=Fk-8_K_/g$BׯAZ"X9;j=/$n݄/)re<Ϟ%ݦ ϹB֭__FjLJw:i~ #0ޥijxO/jڊB8i< Uo=0p,h/^,쓚<ǩUի/יsR+ģߧ@Yr%W^%KH(@ ] S|/FA9stRVe-P {OiZŒy§Dbb"[lazFof}2mGWX^&qzH>яڒMTi_3\+$,`4.*=\իW;l$Ѳ9&@D7FXx@.?։9L")ȩO-)ƦD**RfE:u_: !q9*,<@ f'Esp,7ܰ_-|󗩱;$e#!ZC΀CJҪn*NVbDO%+$w?CsPVx@1P}hXYɰf(}? /#F 3{<}PvCrE  Gp Գ"##I8{]vs凇$KCBfDn pTxKdȕDIIHdoIarLƒF;r]0bENH* r^\+k6_GkÅ2z{C2:ހz5Qݸ ~6/Uf v-s6T ;*'>r!Ln\;oSFIy+\B>(_.eϝ#w>|zu-[0~ȃ5#w_Vk7+WzjX ւBux9&/'@gEPjǺxFuU^)X𜝖FPKv/oחF2x4lLի R(O>Ÿ|y>Q4VX/:Ur=Rwm[gϢiu=]TVOH@Ŏ~$'/`6:֮]KzXfM8=ؽߚ=. QT<3>6D{5EfH($+yѣGsNFMv?P6Ү];vu tI܃`vZ$HB$akJ'5J6N:?c+W "cS8%x"Vǹ!CXnqqqԬY f@RIh_F&XnW@?L$dq,cD1p d{s(A ClJAGvRTڧ> I3!ug >Q d^TXn OVp\5L5 y v~Y\u)GT0 ;dAN6 ߶8##@- ,Y" >"@αc~Y2(%Kl朇11p "`ɸq>LsX?&}ٲeu͚xiS>29͈F$$~pʿs_9'I^~ }eԨQXe&,!1UUj{p"zUd%KPn]Əڵk$Ӟ\#""_KW(2~@TA.2! (B:P8Is-F&4rٌH.B)>WpUj֬=b$H.%(_nS١J&2%lTdB d`!1%YPR呸 XQ @AJGe\ rI4dbIH䞂ِv2,@A_t)̅BJC4b 6}})VT[0|.\:K0)HJ_@Tk4iweM+ VR=_>11{D'Ugz 'ڗ~./'fSنѣGW_1c ^MR[i㟑020,Y!CV^jAhKy0ItыcDzlٲ2cA@X':bx!E;韢+c GqPHh1ՈIh80p )%TNS+Vˋŋt(wR!(([׍ˍJ$ :!ě:hBC 46k +9' ٮEa騉PZȕ5F$-VnB!{ [} !RyA(-Q(Z"(` c {UH B(Jn5ťp]M} $fP8(? H^nL^ ͝8\N#`ѡ]Yxax倄1ߔ#rӧYHȽ ?E+SRbW2ԩg?u <Ѩ1N!!!>|莎8+àz S-ЎpwA`Sy?t}<[<Py6r㢅޽{L>Aͨ)#P t~+V0|p*T B[J_C{A (fB3. f *a̘5RyAҀp"lɱYhpNpA ""]vq#&Wap,7+aB&"9pGECp "sh PRBPO-oA,:%<[_o9b.C_!n3}2 FAB]i7`k"WH{n72*ւ y ^CÕE̅ixyPd M&ɐak۪PM+HY1_߾xkWx|Rk O/V(U!}H ]=uY<0&$$?m)`.tr V$8##*Ub7QY/{RGvi;m6VPùiHzxМVR!uǏ#22 ˃$Z1/ɷ99PI7,!_sB*%TnID*:LRr9F.QAD@|ir|rmF n&XnW‡F3#HH&eJm MQR%5l?$Oye0`:$PQx)h[‡`U$W^a]56c5`;`L1$Q. [?$WUwuTOAt7`'XEȕsX!BjP(xt6d *[\[ӹ\i4P5RϓB >6"%9֮EL& {qysb/T&++ ^u !vо0.joÃoRůZ$oA7fqC?Ώ-s^}nZ"n؃X,vMhhh>Tqp6lN*s`̹\j0,-eU ,lG{jNUa˱8AGq70To$ IDAT&T5b ˍJYo!ɘx #b@ X̛ɖ<"QS/z< |m/'*HHK( td'SA[Lw xn*y>F[CTI@Pth0ձ;?z,'߃ECdv+/ z^zOÓ`s jsNF/A:co.U:BZ xuB)EqP"Á3goٲtwgDLHNE[r駈!11(\dV|yLݺH` &&geWDTRtͫ 3"+".d…$%%ӧi(+w|@ʅAAG(AkADGWԩSL&_=++ ^esSNeӦM8zVKxE#_m0zsYA>G?P$KQ^4 e9%Y΃'KE ,BN!PO^M OTxFbFV@s-)\DWKH䉍A(M3P.} [0g'`/MCaPӑ~vPѡ}'z.zN~Nle/C-▝u1CiGhMZEɕՊu0}eT# T)QL ?ݾ=X,fϽΞ…˂FCG7 5URnذb~u5a'==۷k.V\IVիΊ-8~*{ЦTry޾P3 i6dh %;;^~Gw.*ŤzSnrI_usss AVORR%֮]?+W䅾PB1hrvщ$ }{tDXIkTBsd QeZZϨrwOBP~n=p,7gabH鋑hBM%|OIB,S"K=#"xJfúo_\߰+D2(FXo +PSaGE_(bW={ yEU֭$d2}5ΟG(raH1cd_FΛҫd/F]Kr_B(.z%I(#"޸端QK.--\йz~~4$ <}fx9ƍGtt4CEڶmiĹzIw{-^,Pmޚd0rR0 tڕ?0a+Dwwgy%'F[5'G;+jayVNv9,Ǘ$ڣõNhdѢE||[_99*L4j@ۍ ˍY$I;@6Qwnσ(x2Q#u:m g* wgBA~WzC͑gBz9jY(U-<9ThTx71sRaGo|ع !)z85U@DhÙS Ë} _7npoDAkфq3܄kɹv-ٯsg-}͞d4Ӵ)Zʕ `طԍ| |}E@:`ΝY˗/ۍ]a=A{s%..7or icpyt\RR:t`CD< Ϗ'+pށ5^* OMf͚xxxEڮx8|FOO7T΅O%$re7-$IܸqsvEbb" RdHQN7^ (^Hrb) +.J#um/o#V;Ek=ɥP}("c73 P\WsN7 s.l}~D7PUKȃ s'zͷy8f,E=%IB:W .rv?+WPN)1'c\Ms|KCO52kl, (7kQg? chͲ2_)~H}Z!99֭[Ӳe4K M}!E.d$$>WY'.-j3Vڎ{wP(С 4 66BAFx5jT^ f⋕epeƿn,x@u8e"e#TB?h u,H {r /Dօ:DN| l/hx NԢ~/+uNCw)hicaðh.3:t(o牦ys&ݺucҤI3CTD$I}9v }֔_M5ƲJ~^N#FTWIXe/խKА!s~_4M?PrR Ê֎{C$j-*( Pvm֬Yĉv6!'<_ՅKP7xtCU ^>PF׀6 '([-(pCsz}ΣGdL޽eԩ:nPEA>p 5k?L.]\s_ 7rw!0d]]%UF< P$]T{$ Ñ#dvG]oCT4x;2`;|@8X\"9wu>04m[dxBu Z-Qi8x &L^ϸqΜoLӧ Hk@&&>=zxqΚ w?KίȷT\/8@9UHMXqwg`A <[n1~xjԨ\))]U(a* nH? Gې_CB0]_"&B@k\k { 7Z?? Y j7 Rj[h<\=k_W , Uk.Io ԃ;lB[DAL:ح[4 )77;𨊶߻ހ$C@N@邨4EQQ " " T&T%z @>4~}]s3;3gNv)7F͍QV5:#G\ᾀ@ą_i6ƎM64k֬s9xchܘcn߮]zOռ9ս;>2,"+$Y?/icKخ];vҥK HQ/`>4f}Q:tZj8;;HjR=+ţL L)\b߻ ]~VK q,vJ0]AM-PD03L gOЎLj׮ XŌ2&'gEEէP9sj׮cŹѣqZ0p֍y-Zyf<===_5˗IJ4iBY(SAzD5k7)5{&sUh2h[U^R16*gW,QגLvv6裏wA];RtcGJ\b7hJSTpjm׽ae^፼M\a ԫ vEEEBzz:+Vl㩧Ϗɓ's#ySez…|I_X AMH9?CȺ?9cX'(|5ϗo2vwLI鼡J`G$;~ ;>4NgQ82ᰕ?`(:lJBA>7-xiiiSS.\EqBQT$h*pW8InC(@{-HA9,]B*3.CBMSFp;&*lwyS}&xŀ18 AlL^ =EkR79{ <=}mv32ޝ~-[򞞔ٶ U`cƐ8SIp:ǎ-ٷ&ussϑP.W^-ֵ&#j+UCɇswNsO"ס 4K.1fJN klqÜ/2[d. ~BS.Ҿg`"5_qoI\diyž%& :oA? 7MiiY㸯?Tǀ=$ N@ |Gc;w.qqqr&Lh4l2֭[G&SYӷo_FVeL2w}XO?mR5(P EP#1){BF:p{ܛct wC! 4Z ڜb~K rɻ/ G±%p#'_}. n|#~ YC~p;d;B0::y'u?t7bhm;dgק9 <232gL7/-5nnؼ ȭ۹rnaZl,7TRm#7npfܫWLJjܷ3eKǓMI;t Sȕ+Wr ))) |ٳiܸ1ǎ~<z[G`` w֑&NΜEӷ='ۭv+?e*pFv7SVvHջWΘp{=hz]7xSvZ;گls`AcEv|Yr;Y1b8;;%;;t/aa6~~m6h42|k/]*d@cG>qBʾ "6,{$|L6߽55ُZn[ZZԭ[W5j$tSNIժUի'!O>kN"##EDĉoҴiS$666UtQ1 #Ĕȍz"qDG$%K$+ps"{DFl(SYȺaE2?"FLqȅE}3 y>a0"9xٓ" +ۊ&5D.Gn4$劳Exyy$<<\'O=Cr @Hr$##ȷi4ΝbhF#/tEo#~^]HӦ6M2ʚ5k$44T$22R $*T={6s>J g}VjԨ!YYY6}cGUVI/],=0cHkkEtr7OȕEkhW+k[~<,*dgʅ d2{l`Ð=mϝ DEEqe\˗ͯ\xy̵8ߟo"OfDo<.]po^O*Ullq OB ih댦z?a2V]y%p Ny0|@ /S|#1/o5xhdm 퐙ɹs{ 9}̈́%ˋڵkSF 5kFΝ]A)Y$7ofԩL6 ᣏ>bՋ;ٳT8Օgygy۷of[}Y*W̴iӊmER( KP c&~]p8ֵenq^*4o0 w-C{NNkh۾{Asf {6 Z?mp`j }h.|#x`*w&m)!, ֭<7+qKOU^-[Rn499QLviW` /^ʕ+)Ue˖L2GB'uޝ 2ZP~}!cc͉nɜӇ̜< *Pzuj׮;Rir4gÆ3f ='++˜9/I߹ 7-zٯ_ՄO@s;&/{*z8?p'Xv{ Lvm ,`T.7 ݉ ̝ۈ:uPNʗ/jL:v1j(ˆ`̙̜9WWW7onUʕwN ưa8s 'OfРA X _ōo淐(&AU6-ΘD#AzRU;x +?~^Kە{8l\ Ф/-mfmh1_$=' 4 ,z\ڕS{T_mPxGٴi;}1bǏsΈaaa13w9 bE||9Ϙ7n_Zĕ{j=qwUD8}4|yHH|/ꫯS#ED6#Y+rk+Ȑs犯xxx̙3%++PT9YED %C0 N"BD.N#b('ѝ('+벱U"}o"y1X$5)W"D:6"*!ƌ ݽDJLPI\I?ʒ.]̞g6S~Eȳ>+ƍ@F!nud&Iv0dggȑ#M}%Kʳ 'ր\|:;fqܸqZd 77:ߨܱcJj$,*cN_ZUyDf+OE䑲"{D#*"uƍRbEHZGΌ)-zʝJϞ=¬R >\v!;w@qrr!CDD[9 ý Dy뭷DJƍ%,,SϬߌЧ$\"׈jE "WWHR"`*"_dHݒn9Dz rǷ#1jYvVf/6z\~9P aޒw`~ӮItI~XO||tIt:̙3Gv7k&rȭv'5*Jv/~~uNq?#[pVAsvogƌImI`%yzd{X ]ۈ1_Cs&qu,(N OmE>ULLL ]v-[H "$r|FYjCVX!ǎ 6ɓ's}.233%11B ,+Pws! N'Ǐ"ͣYEG`):pcD O8.L: A!x(T*CUf:<MNJfM2iaX0K6j4ϬY=b ("\}5Wsw'p6<xFO||dƍekloOJ2U4*؝֭[sqٽ{7YYYfąbZF#:LF.vGqx4iBɓ%pKs=2o9Hf&n+ۼ9%dwi|p8 ;jJBݹhu#pw{aŠ|Dff&mڴի,[ 9y]K@nh4yy`󺸸 \)9R f͚qQf͚φ XhX}1~ (r~"_~zQuHU/[veE~_"/=.*~&;d8 ..l225|mļsuYSZro>IIIK߾}I6md:WWպlYd{!iذyGSZl)MCdV++AVdmʉa?ȭ={,]JgCS^>\\}N"k5,媷gsg?bUOlԒ4^M~%~ YfӦM'''9~`ij"hUΜ9#[@^}USQ*:jK!\muC[,2`' .ez0t6xB1,ZŲཹ\ 7n};VwsvZnaK,-!znϟ !!*_?k_ d,Y.H/gn(fA-iKGdtG窛 2y"."HV" Dؓ>.NzʼSu$&hh''طK66WGu:IؐGƏ/NNNrܹ\eeeɈ#C|˖JzM+WÇ˶mۤF&3g+Ԍ杫 ۛ4Ç咝A mֱS'b1lUw꣏x'dWQn6:Ȳ{*[vdf4.oɬb ~ȀzݫN"qG(:tjժI;hۋh,"˟wW^] *U?8-*:J`ͨ"OU\;/2 [a8"]D@$E^fVe"K5KA[{H [o1(W W^,߿_ZL>=~jUQsKppY6m^;֤Y\rr|ǥ N''O;/~~rm[9!G=cr,/%ADh5r$ViݹϞFl"J/_? )ҩ)e"*}^xQYW- 2p@qvv6m$'vQϬSĜ /Bp.yҷ`Kpd{zgṉfǚнd#M7&Paj:l7mb4rs8n/Ybs*|y./99мysƎ밟QЀ86mJoeҤI;v7or1~wjժ絍z={Ƒ#C)ՠA&N$|۶EFC)TɓɎ'n^==);@y +W9spE:w[oE@@=6lPbPK_$;׀5AF΃Ԡuᕏaa84~4i8wz5fgBh(!5őģd-]n"Ҧ4%LʹIs33Ӈ;9'l$Kf֭,Z9s89%K8ϲq{^Zm؀ge$ BEfsss`_ _q C4ajh(8`v}K͙ٖ\_DVvtzJA<ѽp.RWDYYYF"##-VX v*rSre.]?~<ΝgSN(P/φ=`\3X2,qqcawkk0/ z&jv$3w`2e0p@ dº`,5osW@&NHXX/^"~*ٳBAV΂HajKg ٷŕ0]ؾζ^0jsx換H)M6%cVKڪB/XQeF||5nݺży Ƅ LA&E[o/L884hmڄqj~?<<\6m*F)r\1q8Tj"W.K@@4kL#'O6zHuLH|\}ԨQ,YU鍩{Hs)rYEG`)VB7!s T߃0s<@M6sm=7NsdًK>x.&W0'o[p0 MmFFF2k,{i֬}}73lݜcÇҫM.DW LLd׀f Akl:`f|< q"ÐVZ䱃v_Ik9 w  %!!G¼yxlf~sNiWIdd$QQQ׳gĉlذ0s|gY3/?$$՟eiH_QKPV\iu9T0X5:k޶,Cfn!:Jٵ=0ZӺRi*F '@ꫯ2p@ԩS[B_{_59y{S 4yJ5mݚ`k〬dfr<\K5>W*Q*뎚4ɦiv.0εkiad(]reڶmkӾeuƻa|F/}:⫯Q@( qQP=T_*5J`)VC/ȋe.";X}/)LYkEֲ%dja}w8uxgXwkؐj۷\Mݻwӭ[7ԩöm(]t8G\ZԲ.Sʁ)(u:\Y cG0T۷HHump  36;&[7bpqA!) g38]`_VjH*/tG}ĸqZg ZCM UjzN˗/?ҥпP (P)xg#Djޘ w>4~6Jۤ߭G[M?1=u*qӦ޴)i91:vƍ||l_^xvڱa u/_Q"i4 =X湟g=d.>>VF‰YU{c~5CBݿ'Z/\=?'M=(ۮe:t:.F &zN>>tH%hnxR 0fN>͙ѯ@o쌛6SZ5jԨa,++AQL:'hէS(%3jB,,^?O>U 5sK֜Y8: qMkLKƋ/v- ;< q ҥGFFҷo_òep)ms``ϏAATܙvaHK#: 5%nj&dEEeծ|/Zq]W\of+rz=dffJDDN2M6ʢEhժK+PKP)&=G~rs>dgGdhF4 #v{=1cFq6}KH8r2:(~2 F˗x̮IXЌ;{Wmތ'!3:oӧx/:maffT"ݻi߯BZ J`)bA:W4cij:A}IDATCJ 9u ,`ƌ+W@̺s]=fKs^`8>>W6u..tYHL4?G"7ްɥxD`'|h>))SLIs\GA其Grb05`)[EB񿂲R(ł|y< ~~߱q {QzucGƚd BbXLJ;wR2(7psOme `w%"2|8)VZرE^Oƍ$:e ع;V%4 #!s+8޽q*[ tۘvOǢq;3BX Xh4|5. ڸ1ܑC֭ !;9O>ɵ~It۶ .=#56[(Ӭ !C 4ʕD>Ljp wkp$$PGкsoGp.QF|"™1ct ֭qXjӧ?%D ܿ\ש\FKL Eh}}ѺzX?u=qwǏЮA&Rk?=z -6롡G/(N\KxuRRprsr}YJyM&N$55rD'887>IϛֿgUzlN~ ڵ'^{hTm'wT(GPKP+NRFW`/4Z-ƌ\!v!"+:zKip.!;M?OVJ 4,Η=n:D_Nt =6S''?a18;nM[8B_G*'D=ݺو+ m O= 5>3VY֤m:JFhY,OMŊ!;_ j4|u6iV9%ĹGU$e{WEGW(% Xoi·W F.n\o'T2ϋKi+C˗YtףhۯN9g6q>Neyp+]'߽J|rbit:"DBp:"T(oRn[~YX@jxA~zE==yxĈKy^x̤$*?-Fc=zNN43Z{{Ooz/@n8GxZdyǎqH|/h (P(qӉRJԭ##qKI5k0:3 l|yRs#A~>TjUo\^^4~4Z-+ BGz*!!!DFF208MULJᅴ.<2e P((P(1C&Mh4rرzi"Cťm["^dCpzV$ظx"jP( Ep5kB /O/CP(|V(P( BQ(#wBP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(bF ,BP(b_p= =IENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_shapely_to_mpl/0000755001374000021030000000000012706121712027104 5ustar itpeavd00000000000000././@LongLink0000000000000000000000000000015000000000000011211 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_shapely_to_mpl/contour_with_interiors.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_shapely_to_mpl/contour_with_interiors.0000644001374000021030000031065212700747662033752 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwXD`Q`T5b~]&jXb&x  yȺ ".yyٙ;;3s1c1@K`1c}=8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1S@c1cjc1cLm8a1c  1c11c160c1Ԇc1Ƙpc1SM1cEK".222J9@cXx{{8<޽{"2e ]tA޽aaa"RHDDBb0*T5kjСCؿ?ADhѢ:u;;;hiq5+ZO}HLLDvv6tuu ]]]@__&&&prr6ʗ/ "66HKKT*,C$J*\2:tkӒq:t'ODzz:ZjÇ(WJ0@JPc׮]tqcAǐ!Cp 4mTaݻضmvڅDlÆ C~PbEM)))Bjj*bcco)rAGG@jj:000@jj*PL$''+caa"BzPlY>|8r999Ē%KpB_rr2D"PBO.{w܁T*>7o.I_ӧAʕѦMTRH[X)))8y$v܉gBWW...;v, 4Z>VpƆ c!33͛sss?#F@VT HHLܺu ˗G:usΡGnc֭ p \tIa2eʠ{hٲ%ʔ)t~v֯_} {\\\t C*ŋiC4~xJN*A)Xܼyqqq([,.]($$$ 33999ׇT*ADׇ>b1 `bbsss4jy6K$~ӧqU!11:::Apppf͚Qb1lmm1"kgS:Sc͚5صk0rHL8źߣGbڵrjBdd$M6ضm푞*UիW M6 ׯXZZ7nPXm8q{aÆ U- SFF0۷=z͛!,ɓ'@hh(^ǎQbE/_ԩgly=>,--aff+l߾'^~={bcc mmmǏQR%A* ^z033>ttt @KK ĵkTKikkT$''###D]]]XYYHII.>7h H$4iիC,CWWRSL˗/?yC bccCCCaԨQׯߗLdxe˖Ej4]Lt],YBժU1m43SV7FFF\[n8uTӬY3вeK)SlY<{P7nmxmȼ}WFDD&Mƍӧq˗ÇYYYJ+;v2h yb^Bٲe+<|p%m۶@Tuüy 򕙙={~Cxx8h"k׎  %?:M2w.g޽ [[[eff[l9vXDHMMÇѰaCX[[#::ػw/`;wn D6m```cccH$}Z`47##Ӄ)sNDEEAWW5kDJJ 233QjUT\}􁝝g'''J㋎0bcc@OOO׫W#FѣKD]uLc̛7ϟaÆDopvvFRRϸcݺuH$ ߩ8::… J=D"X,aǎXt)~,XǕ___t0qDl޼+.ľ}7j}7or!;;999000KLLĜ9s; T(G׮]wdnnNؘ{9r$Yܹr:SyHGGWN޿Խ{|ZZZn,]RiJTlYjҤI-33Bo$%% ѡQF)JB*UwY)11@MOO%KP^B 6lH*URrppϟSLL ]~ԭ[:uD#GYfѡC(33B*7}7½ǟu>YH R ʕ+tiڻw/EFFҭ[H[[[Puؑ s_?D" \N%99Y~}^7oNqqq<]p@#F"[nV< wwwgϞb zIB/^(1ڶmKʕRJJ[Ju ''V^-\&N/J)""8@ ,&M"WPXXIRrrre˖Ԯ];jذfRhƌSj߾=*P5yY.]]hQmf͚FA۷oiΜ94l0ܹ3M<>@ŋJٳ ;wP=}_tJR $ڵky222dllp/:|pٳ'lْ,,,RNݝƍGÇٳgm޼ޞ,,,HWWWidbbBs̡pr թS6lH͛7;R6m[lҤ ّ 2ƍG/^}R3]jj*͜9D"+W^~ZZB.ٳgիW J$zΝ;iŊ?p466 3 <L-[Eܟ?ӶsDDԳgOd-J Pӓ,X@T:uT;vTB&&&pBڿ?=|Px?$$ͩQF י~뽋 ݿΞ=Km۶8N0A.cSTJ-Ziӆ#G~Qݺu @o޼!"H R cWTWNVVV(j0`ܹs^\rnZZZt4I{{{-գ{iƍJ[nC\l7t)͒Zܹ{oР5nXAVZj-cbb"]~n߾MtqڙEt=K 9&Mp̽;wR)]x~G:?7hЀtB]t!XLe˖j5sɓiڴirJ:v\FE+W7oR`` 9::R͚5ԔY 'GwyRO8Qinϟ?Wիdۅھ};M2ƍo+ U[|9ҥK(,,h޼yBJJʴ3gRhh(?~ﯶH$4j(SͩUVTzu266&GGG*333t=:wuM!8vɒ%@O<ϟSzz:eddPFF}֯_OMOSNQDDб!Hh͚5KvvvtyTx`g*^ .O>%ww|>}:Puʔ) jՊ>}r͛7Ν;+KBUn]tuuo߾J}isruu%mmmrppODt͛7wߩ6v֭:+PLjj*+ԭ["$dH "@}ؓJuVrww(tBͣ˗)''i߾}4ydruu%WWWѣR5H___顳v*$_ P^ǍG`rttzꑽJs ,P)5m4@r/M tў>uʝ^PPS3gR9Ν-[Rrzmذ!͜9S8t=&VSqqqte%www:t(nZhao)00Pa@ֲӣG<=N{)SPŊGADКSUў={h޽?ٳg鯿"///!h722O˗/)::"##ܹsf3f  EҥKTJX"9sF ڼy3___JG)|GڵkG- PԢ֖bBܹsW^dffFVVVm6Z`p:t(Sǎ)444I$aN:ё#GH,\kٲe@ejT*%###С_˗)00֮]KK.ͳDrZjD$k?}4XYF_E?կ_ʔ)C^^^>8)AŠA~P"{w aFIl'''a *ҥK`3f SC d'OJOOTI& .DDc}yaÆ1w\244${{{211!TbET*Sh)<<>L&HDb ___/J||<-_MFge˖Q޽eG5hЀ?Đ򛲝͞=6lؠ4#KVhɒ%tE:}4͞=|}})44RRR͛JХR)ݼyoN J)|Xrʡ 6yG~^J&LZmmmAK111FAD&OLWY[[ɍ7hƍN .ÇS˖-[ڽ{}hܸ{˖-[mЈ#rJV)H eC>9KVX|)I_"999XA ê.Z7o.tfBpp[ds9GɷO4z-"H$ :<-Y35G͓J^r|דW+WN&L5k{rJM)(U|yyKzNJ*M~=Y&'Ol޼9uЁ|}}̥]FFթSWNfffԾ}{t6l$:yI{b15mTarOVrqRP^dSNtY۷oE׮]=z(LL{R)==ܹ5Ԇdj֬5h TJ}!###ڰa]p?y<ƍS(ǬYhƍ4l0FYff&U!2iҤO~f$￿>IPاO|4se[\\277W9g|iܸ1͜9iԻw|p^'Ob5jT+0obXmР7=ZփH:t:a… -[6mڔoiԡCڳgݺu5H*';.~VV @9w+Wׯ Rn߾-{ѡ֭[>-_}4n8jРҥKƍBMZZ-^Y?+/>3yqJB˗/OhڵJ޽;Z*ٓ^|)=FEu)нǤMSL!"YLT_Xj׮֭[xpR䗛}=ڳg͞=q/^LGU9d\rr23;FiiiN#&&\r4c Z,H)fff M3p/0ݾ}֭K666t ~:˾TNNRrpp*UТE*׹{.栠BQL}"""dkkKժU?STUrNN=zڶm+0qnJԥKas۰aѣGA5''Μ9#S~KRޞ233)>>޽K׮]kRN*˽{ 266o!6mРA*ʇ1Tdȑ ҪIFFMB?C}M4Ii8y Ғ̄>ImڴkRppp 3IRI>n(]U9rs_( ۫.111=G> !L<KիSX"0̙3Uv0@ԱcGS\\F4J?*(_N>s6m"mmmܹ0c ߍ7ۗ;@  @3[XX(0:wL5}Q@@]OOL6m~Nmm۶t Ǐk@… Z?))I8Ə|=@۷WήDff&=|iXy͙3/^:f[.ӶmۨRJTvm`_HzYNZZOdeeJ{ #PBBuU}Mkצ &éur< (EMR٭[7d[rr2|CCC_?{EPeff 9$7n{jڴ) >w4zh0z-yyyxdDL*ҹsh׮]sN244~>>>*?KʕS9?N0$<@J>_Juttܳgw8t:v...jH6ԡ Қ5k;ߋGllbqkT*%www233#]]]2e 9}7ٺuk|ګWnر:]t5kҩS?z-,,֭[_l#|N|l٢4yՅ ϟS@@riՕ.]e&))hС*W&887|S*rD's*8LHHPyxx;Њ+9x,YjDFFR>} {nOӧiiiѬYǎrpR0Խ{w+HWIȆU5Q^q sRTT_xAB%iiiQ2e>Y]bbbtH$"4rnVTX1cZ||<3Уݾ}*VH%.ukH JC!CPDDőup>~8SUTRRR(''-++CbΞ= p| ''Gir\uyɓ' _$oxz=+?5jTBCIkH -Z]3E (ZZZdmm $ %K7|C<}6]FFjժ!?~J^8aaaGbX)J.!}Zj}wy 1cp^s1=6X޽;J$255EQNN8qB֙3g>,O"IWW Ui8Ds|:u*mڴIaޣWޗ MX~JRR:u*yU"##5u)s%SSS1wbݻw|ԢE 2d. gNN7gϞEu-1o޼!===1c͞=LLL(T|y*[lȇ9r$ D"z0OAAAMTjUjٲ%i޽h";w.D"ϟs>EFF҄ hO$O>HC%@6gLaP8ߌ3H$5]%[>6VS#VVVNǏWHLMMoU)LeQQ}}ZfM>9hjٲ%999с󆆆*?sab5j˅c?~/$$k׮nA %͛7F_9z}3[YY*Φ]axӘb([q!tm߾]ʕq<`);%iӦ\֭f*uLI~z>=& -%իt9pB܋D"4:tX/M[J\O~lfddP˖-l޲eg.]DlΝ;/q&f"sssH$:t(};wtuuiԨQjibtX>*U"N:5k Xf͚[[[?~&MH$sǏcرx"@[[UVEzz:㡫+닾}ظ؏!?ӧOGf͠jժ~{}H$B=0oV`Z{n^zؽ{7 ru ݺu}T~ѣ K$DGGcʔ)ӧOF#F ''G{bt !!!i߾=~888h3֭[^>}:nܸgqYutM <...Xb@*bx%NЭ!pU6 Ti"p`RxSSSHRhiiTӧtuuq L2```aСvZaСx),Xkkk_5+6صkЧOÇkTKKK|̚5 ::СC8|0*W,_^cƌQ>pb >$ Jgpp0FѣG#555fee\kݻC$ u]tu4\۷oѻwo˫=Thդcŋu޿QFi8wYtNOdŽ@n , H@K\;8 ?bwŕg@?okQSVpCF@uѣ̙mmmDFFǩ({{{\pnˆ#пPg_L6O?:t(nݺUla*h6Vr'M'O{OHH TJSN^޽{w5kRnXXAD"SNQ~۷@ -[|֨iii i3F@K,Qݻw/ɡQFX,+W(tUt)nԮ];T0JI"HcǎdaaQb:VRE{- ,V^hmsQ~/7P}s c[^Ԥ=me۞ 2թ]5d'Pڲd>+\V֩VZJݻwSի -[tttT~F 6˘FM4!KKKW8.,,,ЦM,^XS~;bժUXpF_Ŋ+hHR4lذXr۶ Nq?KJƲ;yǏ }RKe) T` =kў\Alvb%fYRSS1x`0 bf4p` ԫtƿ:ba`i̚5 @zJGnժUC н{w$%%aС*?7uTx!v܉ӧqVN>|1b;oRV48a"Jjժi(Dذa֮]dѣG|B H$B~~q? Drok.bMrYٍ+ll` ,Fw,evtp D*?eǎ!@@h4Р2da7E0u e̎sd|||`mm'y%N8zaΜ9xN8ݻaaa;v`ǎغu+ƎR=l2/ :$ԛ6mh/^D'%%}QJ/)#f8X*;6~tV"jvH IDAT=/xg}cMjȖH%H аaCǗ;wG2ewƹs _x2_f z "BXXX Pvm_ݻ7lق &at-$&&aCx%ɝ;wxbbܹs}!<<Wxofz:#-F6: x#wGn?ޥfedﭿLk'kЖ}n7lYpѽ!0,ؘX-pca  x/Hp^ߒul> н{w?(O[ED?>W' C$ܘ̄i_ >3g'y~}cӦMϞ=者>ۀ+Ot@tt9$/(5Dw! g2Z{}>:~\ҳ4u~9OzaE1`s|:usZZ $$:<@֭KϞ:u ƍ .̽z?j׌[@XԫWᒨqF! ШQ#ѼBQ嵭2zVf5a'oNj/<[صg|/ jve--9=@ i@U 9hZC6JXvsF+@DvK@faݻ | ӰTƜ9sj'===|rtVBbb"Zj%t#Gb˖-~Fs۷oq=qJ@HӔVZȑ#Xn,,,4Z²,n >=Cpa״u1tiF;Lv<5AVҪU%A FZsAv=D %Fh.-xx}IwCCC\|۷o͛q]DDD`addD7779r>D߾}C$aشiʔ)SpYŋ2!.Txxx(~z 8P*T Ç '' Άeddرc3gZjaرcvލF04TN8}Cڵ+<<VBPw}a077t(x{{{,͗xm^f6pXs: mDq>1HTLMԕ,#[^^^o`g@J &௿jSN >(QRUZH$L07.q {ӧޙ՜q}[+"""5ٳ Xu{ƾ%؊H)%%-Ҧ.WEm3z9s|GIǏd޼y$%%bŊz%#oᴶ$WBhYߔȫʤ ϗQ A;7Oa_4DmLOm #tʕ899Ǐ'00y䞫WҸqc%/ ZjE߾}7n;w #;gKr̒%Kx%Em VE|ƎaUʊ} ("èVF]' …e="X ĵ_94k]oPW%5J *0?J!.-7?`y _+9rS m3sL/^Lll,~~~\tVZu!,,HK<# >|)M6eϞ=EmNVƨ2d dObkkKZZ+W[n2RɜtD\krJGaGú_]7rkA3S!/ $[<06~B<-wgv؁3 bݺu뱱ԩS:vڵk)W\Oϝ;ӧNjՊ̎R(/b}gfΜ,+ Sri~E^bCHx#=X$u  ui/`#8jʟg=n3!^y)F)a}M闬$'\d$c֭ 0&M'I777DժUZj~{ҥK|B$3`ѢEL0wȗƍ>|@EE%]rTTTPSSFOOSraBBBP̗P|PuNӝ=\#uM85\=P;oGBGPAfS7&Cz:"t6$ҢE Ο?O||ԩƿKժUR O<)Ebb"&&&iF(Gv3h9HĪUdڴiL>}ѣGB!55cDz|rٹsb% 8>!\@ZZ V:_ׄp.;i#9.> e4f{S!oh8Ԅ[;lْ Ǐ%#jjjٱb n߾gϞaff<ILLd… 8D: 8Hzz: 9v@=z4DUUsss.o߾eT\5jP~q> )#)%˦cs-I-yBh֩pqjʚ&fK 8!8pa˖-* lddDDDDڬRSScҤI9iӦع"ottt8{,8880l0\–-[~ >>f͚b MFpp0})1 QQDPCIK2:t\U3"WA Oz ֞OhFnQł(/$D0m>wqrl۶W^1vX Bǎ33`-ZD`` vbڽ;mFTTǏ/jSj<9UO۶m5j`߾} 6Ν;KlݺhΜ9ɓݻܸqC4hS2XTJKD9~0VjbVs 2VVPC Ы徰-^~a0[[nСC(*...*UJLIJM BOO%K)?bďNڵ% FFFߟRJL֭QPP`ժUL>sɬEd ؗ99_tьAU=0GB,s9Mt@pDb*?Ю=vnA= (`ccÕ+WHNNtSLbbb7oÆ +VA?<b1uԡF|M)˗/ckkK޽;w.mۥK|||Xd e˖IdUg& `wF\q˱է;Z!ҧRcF[ B5^|I.]5jL"~QaÆL49s/f̜9 )\\`ɑ)fff <5kB\-[$s‡0ahhh`lḻc2Ԥy(++Sn.A9b1DT* *ZRS8b]w`GPPwR.upP} G̲Y ,Ui~ TUUx]]K.D߾}u/_֭[xyy)bРAÇ=:::ܹN%")VWW/u>5n)4 )Db3q?:%fg&A)/_>vڜ;wÇKҲeK*U$ YJII!..eĉ.]D 4vڅ[Q #ssuuҁȊcǎajjƍqttaÆܼyѣG;6m*UߟD)EFw cJ t@QΆbV?#!cUe/-,mkA*<zj Ҁ5w *|ypssssG1`ǎTRP$ N8AXXX?CCC޽{%VVVԪU~)߶˒9pq>Xj||(enKgz/(f8 ld!4$nݺŝ;w^PJʗ/O PSSCUUrIV'ٽ{77АM6I9Аvڱcǎ6B~"GaggZN8t]ttGFXr%5jd`kk-qqql޼F~vA سgOq.svrxhNA1[5G2>4nC7!b֯_ϱc1b 99___ʔ))n____<<,/"<_sZh+@t0}z8СCboo ۶mCEѣG.]>˗ŋԤGjՊI&Q|y5jT&ŰQFaggG֭QVVf夥؆W6no1"^rom '} E`;r~cǸwƍVZ|\p}ѦMnMg{ k֬aѢE4h@r]]LKH \|M!; ?666?;RfMN(++3/_իWٻwoc)))QT)yJؙUV-[utzW\WE9C@׏cǎqh߾Txq!pӧ&lڴƍK^zӧeMiڴ)昙ի"99-ϋ>AEkPPMՄk֬9Œ]H>8p$@ 9 1=d1NN~weѻm4wc~g뚐gX[[#fo)|ёL> }lْP݋Q6lْM6q%6lؐMJX|9֭cl߾d;Gfd޼yl~Zhڔ!С f͍ۢ~#F`mmŋ%vؘ-ZBzxfb`!4e˖LII"|NrPUUXʊ,X=IӲ0sAii[NކJ:09,?d}J˖-155% $@x1رԋH$bΝ$%%ˢEǓMXjbL~x8gS8r֭bWDիcggG@@NNN}H%(___7oɓ'i۶- jYYYF6m61==),CGΝ˔)S0aB&/r7ٳM,N3gкukn߾yQSܽ{[[[>|@۶mI&lْT80~tOB,,k@L@x(BOp$䇌ʗ/gҨWkfϞ=矌;\ݛ0ϟÇ6l`RR˗g̘1L>=>.^(hff&V\IMME[[s2rȢ6D#"ȱd$''siBCCiժgӼys Fʕ@,۷X,Y5 ֠\")FcWÉLt-ӄ{aeXs> !s[ns,=͛7gȑ***0Oӿ@@@TX'''ܹCŊ)[TIeʕxxxHeTTիȞׯj֬IPPvb֭9rʃ(W7[nm67nLeׅSTH,!H~gPaT$fK!_hLl cZ a[铢":ubݺu$%%JժU%UVq_UVt $=*CUU{{Lj_FTxx8uŋhkk eee,,, -jSJ<,9:tɓaѢEZ˗/ʕ+0a-[dթS}SI̳n!u˾¯nWDd9nt~pww'<<ϟ񽢢"zzz9oРر#j }}}TTTj۶m[~}g<>YsMj׮]d> L½{$6yǎ/XXXpBw.?&==XLLL [(Gߣ<9ʁ=s2 }K>ϫkٙw UTU?R۷oqvvQ%%%% ???~7TUU%n޼Ɋ+reKQPNŠڌS:t(> 0;r 3I bdd&GͲmNkLd׉y޹+W m7+'?-곱ۙ0=|LJSJ555.] eZZ `NQUUV"G <{L6+%/l/o޼#ݻc"777ԩNll,p 111A]]*UPLTBF$'+!h Э?$Þ&`n \ :sjLjk֬;^^^$%%qQ޿UUU%ӧٴi.\z>}Fʈ#Ǐk׎7f~=\!RfM߿_bV+rDNܜ͛7Ǐ%XeLL$ёÇyfiiit 5j>" m_n^]:rA7̻Y8ty[|}<SpBAR\9&Leˈf׮]޹$#Fɓ'`aa7CŅ֭[g+вeKL)1?)44ʔ)VVV 0333b$޽关3o^ӧ}%UJ*ins^A^pXKh[C$x0f}*=ӨlT »w>}:/_F,Ӷm  >UiiiL8QrұcGpU?~7/_˗sĉ,w~QFeŋ},92&99W^I)?,Uӧ sNdd$***]iӦѷo_ڴiCz9r$֭#(( zbAۊڒSF`QD"8rY 3335k… %Ξ=˩SrǗ'&'O&99*>>>نG~Z"u~iёj.?GDD'N/CCC100`ԩY%%%&NȂ r bN8X,ZjY :Z|ZP v ˑr',@C^m5hӦL(_<={dŖ{INCrJFޣG 5kŋ)_<޸YC,KQbbb&#c3Atllls$.KKK]FӦMAqpǎ^3PVV֭[ߟ!CdYQV=tϣIp<^TsX / sݿ?rB26fr$111~x6mDTT#v***:u/sKظ,9%555Ν+++ ذa̚5!CdWv툌qtԉ;vp1Š.Xph)7Z,=Ӽ/yj|'$n lٲErJɵ%g87ŋ=/_Ү]l[v-***,]mm,lyܢ'߃A[R2033ԩSq9nܸSrJPԬYmۢK5?rTf킔O  s0h'5=ܵ͗\* 0ilٲlڴ>}H})b-[e<(Qܹs'͚5#11}dd$ߟ֭[s19rTOe#SbLJoߢ͒%K7n9L3g֭8;;K~zZ/JwB樜Jkh gJ:K͗J5xq‹4ea0(XY~yJicƌ!>>3f{lll{۷o'!!N:ŨQHKK+W`ii̞=3gȑ# `ǎϕ+WѣGa&#[s<)B{/6.e)̝B!SVYMz&7(p+c,dd|INQ[hU@z {uqqqxyyF߼yXx13fHlllHIIaΝۗN:!bĉL28ƌ#g,29 C)dMgҹΝ֭[kΝK֭{)Zf `ƵzC>ꀱ]-*,Pʊ0~\ma] Q8_''aGH$ \---޽KR EEEI)99C9@OOO&+ew1o޼| 8O?ѰaC}Os tԄ !lCk%S,a% ZQV C '0΍&00:N8SL!99wJϏ#G#GĄҥKg:zψyNOO*l(C]]=Wrܹ3JJJR9jժxzz2j(^9~itkUjUY+Y.A s0Ű,x`YiHYh \oJsILL~:۶mcɒ%CŊy1*Ubʔ)R}bb1޽CWW7G5 mmm.'oWJ9%4i"s{jjj3+N)%Rvľv>@8d vЧpMGE3۠ae= ~bmmѣGQWWGAADbbbHLLرc [nQjUwǏgȑ4k֌8._ɓټy3{Ғ[H$ѣGEi޿/Ӽ iiit֍6lؐ u^ڵ+YH  F!D%@I zqCQQKҬY3WdիW8qXd z-[н{w={ׯ'Ndٲe+WIŁ9EmFF~"ݻwi׮d쿅 8\}\x[p㼎Y l.wdccî]ҥ [nɓ'L0ʕ+K ?NBB .E* #u֙r1vFFF\t SSS)g9KJJD%MN9~8'Ne˖8;;˴ AB>EwBJ0 ii-?=W1TWWg޽TX޽{}vק^zp!ٶm:uB[[[r… 3}.,,ݻN2e/߬.O@hm۶YR|y u:s4!M X )ȅct[ pek]_,:t@ӦMf%DTIICI8s 022sܻwׯ_#Yz5ZZZ 5jќ:u f„ 4hЀMbiiIF?>CѳgO޿/eeeRR]-'KΞ=ǏILdGPP:41>;6\w>Y%HX҂ Lh#䪔/_!͓(bk_>R1c3gΤlٲ2p@|}}IKKҾHN:U *UJ; rJ4_nnX=`g Z v%e%}>CeD,\M6̱cǸ}62zh^~M͚5קB ,\LoG||<ʕM6[Ky-O<>|CCCMF5hРVMۻw/ZZZ‰rr>bFԥK llu.µ!T#r]`Bbv NջX´ R 4iwŋڵ`H$ݝgϞCݺu;v,/>egb``@nݨ]6 .Yf̘1#G2|N:EͩQRmON۶mԔABB<,9%ݻwp TU Gid nMpT.Ͱ/{=UtpxU}G9 2mk}}qwwwѡbŊC-ZIJe(]ZYhz---~W&Mܹsܹ3={I.66m۶aeešCcϞ=3l0\]]y7nŋF  1(]4߿/ 8TUU133E2CZ>Is6 rn_tʨ sʊ24h[sss%'=z`ŊTV /^Lpp04iDwwwb1R###ӓj;dƎ˳gϸr M4a֬YsIC<<ESSaÆL`` AAAl߾L '55XLZZϞ=ˌ;333ʖ-K͚5ٰa"FH# IDATc^xAZpttdɈD"$}'6$Fs+?= cɵҢE fϞM޽PSNÇ۷oܹãGPPP --LcPtiN܊+xLO?DҥK\ ,Ԕ*U yd6dp!'{LLLag({u58:D(z4֢ Cyem$.CCC_>ǎȈCbnnN~ aÆUFΝ2e #F`ƌ.]EEEIqY ^:-"<ˊl۶Mښ5kgΝ4jԈOhh(dtGGGuFzz:=RߟEٳgy$֭[8991i$}ؽ{7 4mڔGǍ7S )T۷fO;~9e455W^ҨQ"#6~ ZS(<#OI R?@z(?XOT*lR2c[[[@{.w%>>???*TY鐿nUTvgK׮]ի$''k^|EF rM>}:nnnzEAz:S&hEk!5RϷMjB(Zy|wU,066Çlݺ@^z-y?y$'O^{{{$-c~~ĸiӦeb1&&&$''̙3 Te^:QQQܼyCF;w.'Nsx@^)O@tޝ5k2}"_,[o7!7DeOW ?}`j{!ƒ۔DѹsgǺu9s&bHڷoOn݈֖]Ǿ}PT H?\ɓ'iذ!}aҤI=zT/ѿdݺut 7Q@WW7Z3rHVԎ9 ytj>ϥbaGFuRPc1I/jjji&?Nll,ׯ_ٳ̞=UV,Q8Uظqc+ܸq;w0e>,FKKtnݺz&Yi n*s^T2#;W9?̞='O <8sv`N|~Ug.ZsB"[ws]A__8@ҥx"DK6mٳ' Kо}{/iqFVZ[ng+װaC8@HH ,(,јiNXIEIIdzo>n޼Y$6x0g./ȩS8E3d0{{lJnqM ,--iѢ'OfСpy7nL߾}?f񤧧믟UNJ5$)))ԩS333<<<‚}bbb±chs%LjL6-[+Vӧx!***|"w@0tޝufPЈ܄S+P5 @-pjvy;+PJ#<~{*_Õ={Fqttø`jjʁdРAR/(++sIn5j+++I X,TL5w^QQ"_166f^U>5 &5`j#_ j,~?fU6Q[.[;;;bbb?dKOOgʔ)̞=chhH$ׯb1ܺu Hf͸z*9_ 7*STpQWWM6-[///fԨQԪ%_cǎRJpacc?}xe$$2͘BƦ5k~mZEVگՖj4jՊY؛$$Aiί 2I|<<:Grs~RRRc=sWlmm7nAAA/_={ҵkbx@hp[[Efv 8{ghdb= _sl:aZqT+L 0Ώҥ `NPV- .̫J~lۮ];.^/̘1c^: ]vЩS'̙X{1SO=umzs%?\ʑM666L4-[ТE Nl8_u 8ZhȹݴHv#vM܀aγ\ F=b6|w~j*7onhZk}a$&&rQ7nL޽Ya+#Nرcx{rMUOHϺu={6֭c9vGA٦-oœ/R&C(Wm:=cM+ڡK0F7H_ӊ{.@4"kSNrdF 324|PB̘10d/_N"Eӂ!!!̟??Æf͚uѣi]Xb0{lkgٓ͛7seywrlB5+ئ:Փ ztcONC?’Pqx ;_tמ4m[GǎSaÆCRRR9s bذatޝYfK/̙3tECmۖL8 b 5J@$_0`O<9dt2 (^ vdbRaFe_{"ea?e= ty&MD-(X 'Ofر 4 gԩlO?MNxhժU:t%KG=0q9t1114n8ñe-Z$,j֬bԨQL26m 6p{x?KOHllM= A%xWA >aMs֬Ys sI/WWWkȌ35k+V`???)%3ׯϷ~˛o믽/_\FX2OWgr.%^*{Z}4qA5@2 [&OvK~{[hgd8zζrVuYʗ/#G͛;ݻwgۺ3...,_dzyf gggBCC=z45jԸ?Spl7/h޼9Gɗ,PB;krر4bӹ &|<*=ɥA98*#ƻb oAưvz@ǫ@h_ W9c]z5O_#d3ٳQF1xnMh߾}*J@$;{,@[ZăWU+ma$}@w&$e|过\'G[; 7c٣ ZKBs4oޜB [;|!w&%l~_7ꁦHzrUoC!H|&I6, _ ^w' U# <h"j֬Iҥ3?CIsM oخEۿ^g uٱcͳ7nc%tԉڡ`To8h1ņPؽ7ynexӆ?CЦ*x65JBw8eGz\;v`9OY|9.eaο/T^PL't҅իWof׮]̚5ݻSlY<==y駙;w.***K.Qfo,Զm[J*Ŝ9sJZ.K*۷ )!SҬ\e(w5pr=pX!)>W1K//QQQt9C'%%ѵkWرcN|ޞ`[Qq1)^<& 0 -šSPVr"ͅKWJ &fZpy311?ʕ+g񒓓/֭[Wz)|+<<аa:uce֬Y3w\ڷoիWMc=*X ڻd ';P}ӟs!1 "XY1sL^W_}E%(Z( O>TPÇG`` 'N?$((Yf+V^x͛YtioywZOk2uTkիW3={F̻gagŇ~_/x6՟.d,LE̋Rl̘8q"gΜ?̖-]ӧOۙ_WDEo{{{zmS"Pxq-[fekL׮]Ӱ~H"Ehժ=87^~[޳Jbb"| ]v]vy۶mL4I&[yzzk1m4 f}>lk;wL4]r zﱽ >hm'ME<>alo#۷ٿ?k׮̙32pL =pSLaȐ!2t599cҺukMFdz@$_v&LgϞ3ϘsZlafHfKPow0f@r $tzT_:tٷo'N`ڵٓ}ҹsNv\d GW^ӓ]PaZgfy͏9a ׯ_kԤ$fϞMݺuQF̜9-ZDZ?~;HB}-mƘզ?NrQ%\᫞#qvMdd$nnnԨQGR|y àp̛7/ݪR...ݛ/3gЦC@3 IDATMٸqcJͮ](P-?(&NǓQ"quu5Y|9fCgʔ)ɾ"CtЁ$l´ihѢ-Zrea0|psoGjh"J(,'''NJ׮]YlݺuvHyJBBׯ_®6m21ԸoPyg% I.OO7񸩌nv%x~iBBB;w.%J`ҤIk.CIA$ ^BBBhҤ ^:SGJJ /^ŋ۷FΘ1cҽD۷ŋꎝ4iWVj6O-wdooٳg?`Ծ},wwU|?~<{Y:v^׹sg:uĠAh֬)HI~?-[dL0'Rj՜2ܯ׹L{:QO666 ><\0 ϟ /'$ )))\t>}`kk˟4NW嫜I/mݺ0%JjŊ2}Pl>/"nnn/*UdX7n`̘1 :\׮]ٸq#k~`ccìYgȐ!'OI-|a7ora)K^f%|RJ0c 틍 6rʔ+W={0o޼,^H ʙc޽̝;GlҒ4Hsf͚ym߾}_nݺj/[HP`Af͚5jt/&M2'?O=;Cɒ%1c-⧟~v8yF-(^}?~???x v+I,45kƘ1c8p ,LsKW9sy_f<3iܺuz뾓%{h;6mL_=z0?pBylll;ӦM^G|-(ӧk׮eԮ];VNZ*w… ͋$`ooOTT?<L<^|ARb߿nݺ{LMb}Ԕ/_ŋ?_|0 Z,г۠Aؿߝ:uLj#3gN ŋ9z(۷oϕe# |'u5jywLCR2XOrr2˗/'<<ڡ 3(eݛ8u,] .зo_RRRRWzubbb(ZhϫA/B j9׮]K|<|.ZN4G۶mYv-Z m)|'!!O>s븹?PX1+F(booO.]޽C3lllye \jXh;h;99Ѯ];zeR{ecgΝ3?nѢ𾱱|'TV;r1T /44kСC/!Xxyyi1xgؼy3?S-GݝW_}5KcK%{kfԩ~)!Z 64?}qpp0k׮% L?+sAһ% MI:u|r*TP?W?3Æ #**sZn]ڷo| ;v_~<5*ނ܃wj֬_ž}[.K.ewp4쾾m֢ݾ+k z3g0`J*E6mRdccCBH3\%A2t[wイ!#i]NSN/b+V׮]gرu??NΝiԨ~Z`I3}tΝ;GzH`,_<Ͷ<Ջ9sЪU+K+" 3f̠]vtޝ}Y;\)66[n[hݺ5666{bb]/U͛7n9 M6(QKjҹ(|tҼDEE0f-j^(u?W_yG=?35k֤]v9r!:...|i Ӈ>k׮q)kȹv{%רSǎΝ;lٲ-Z_ u_wwwkS"ɓ9w ͍qf~]!E$=άZҥKSOq k8zhW^M͚5ܹ5z$ 8 ФIkۧeIVdƍ:HU\9fϞMTTfDEEDϞ=Rlذ///6mÇRҡCVʫJ\\`Zg)00N:Y|0 ֯_ѣ倦MҤIfϞmPr07oNHH6m£aK8pڵk4%dED3:\ŋ]zY;\?I&5cF2e7'!'OJ*x{{/ҦMnܸ͛VC""".ooolBժUi޼9k׮vHƓO>ɴiOpttB >syuL>>Z0Add$ -"((x3hڴi3>>FM@@/oё ,=ܾ}+Vr1 *믿O? +Wعs'k֬xzz2`ʕ+G-(Z(,\WRti1 bŊq%.]۷z*6m`۶mّ@BB)))BڵIҺukG.]W}J{XѮ]xIJJbZ%P\D1sV7o|G;V*HHHСC_Gr*ҭ[m۶*U}BCC)S ͛7QFl߾(S ttwMn7111L2dL>=1<<<ҥ *T 88ŋs}6 x℄₭-xyyQBqqqՕ[rƸb 4hw>Lu&ܺuW^y~A1y4k`H2 /#GRn]~7J,i$"1~{aΜ9ԩS? p:u* RܺuI&1}t{1:wLʕ)[,saÆ l^0 nܸիy׉J*-j"""`ILL@ NNNTX'xWtt4OƆ%JPhQlmNr vʕ+//4ôܹ]C9u,XGGGlmm1 UVoQlYʔ)ɓ'gϞTT2edi_]ga̚5ÇSzu~ ϊ+x7s_?% n _2e !%%5kPP!NСCϳ4R)X]77Gì]pyٲe ;w4 ))"EPhQw񤤤ӧ?|2`A:pG1 xxxЭ[74h@թ]6 x& \v-۷L7tޝ ~.]2eh~`.\`߾}9sse .̅ ؽ{y֭[ӭ[7V= `,Y//<:3xg e̙7O\W0 -[Frr2=z$m֭<ӱcGk$Is@ĪΟ?/B2epwwH",YefO?d͚5DFFw߱h"l’%KoiҤ SL7ߤnݺ+U #**$(TM4!44qqqDGGj֬Iٲe9~8=zՕgy *VHJ(PQQQ=zCbcccNp)BrxgY&u۞={p[-K=PgdɒYC3bŊԪU+D,/\r+W.### a֭,_,K(A 3f jq8!Cׯk֬a֬YxxxX;\#>>O>qƙ;q+WbT$&&gѬY3,Xa"ye2((777ʕ+G\\!!!Ŧ2ܚxbN>}kv"%%ʖ-oƅ h۶-aдiSptt˄RT)ܘ?>]Ǵ3ONf͚+V 6dCac6oL*UcΝCxx8Jۛ{Nڵ)_v>cԨQirׯNNN>=5k|vVahԨ/^lٲԭ[A"EPHTY%KLNk]< 7mۖ_~ɓ'E98|0իWbDυ Xb˖-cٙ|W|ӧfBBBBBBpppٙ$nݺa8;;S|yJ޽:uyʕ+Ӿ}{jԨw}Dze8|0E[nxyy7oޤZjxxxPHV^Çqvvٙ0v!**-Z&MsveӦM\bLah޼9>,9/?<;|CP% w y駙:u*%JvXA*UqxxxI@@/Ε$bccٲe uVs~ll,^^^ԭ[<_֭[߿m۶pBN:&$$p cǎT\-[r׹O:ży(RUTaҤIܹ>2eӧYx1%Ks<t,{)E2sca >s\26҂ R~}|}}/quua-wᆱɉ:'R(Q.l߾+WFԩS>}Eq1N8ÇINN???J* dɒЕD4ToΝL65jPN: য়~bذa$$$0vX'~ Ν;z9*T`wj;v,.7n_E=EFFzj N:$''sM8{,`޽wH...ܾ}ۼ?dժU1rHZjs:ẘ+`|||(]4m۶eԨQV:|?apE._̾}>|8uёŋ)s~7|ׯ3vXF'~O!k߿gx#GOn̏퍲eQti?_G5sXG|/INN6:dܹs'׃u?'x6_~k:u꤉ڵ'ܹs'|2ۡCof3}"""Aj*#%%aװaFLLbܹsXpq#&&ƼO{k߀#,,hѢihqqqի*UqJnݺ_|_|ꫯ{5֬YcDEE)))FHH1a>3On|޽{{5$$$MƺupU6k8;;[dda_͚53sٳg$"i Gcu1ܰa;wggg 0jm߾=Wαb o&SLŅ:uPhQ*Tc=Fݺu)_<666~ԫW={t͛7O˜1cܹs=z˗ӧO.\h&99N:f͚t W%'ɲ˗/Sre\\\Q/^2e0xĭ!((#Fm67o'|njvŋxA~: 0ӧ-[ƍ$$$зo_pttLvڜ:uߟbŊyf(V111ir)"##S;w.G?~\Bf͚̝;ׯGJJ % IDATŋ'22$J.Ϭd ¹sС ȳRRRǞ={ؽ{7ׯիԫWCˆ/Z???>sڵkg%)ErcEJJ nnn|W 2m9|Ȑ!L:5[MN89}4aaa:u>>իmOBLL ժU?ԚedΜ9xzz?ЬYǤ$0 իW3rH=J$%%1qDMhh(;v} Pre *޽{Ӽ֫W/%119x W^eϞ=4h;;;vc=F۶mI&$%%n:C… Rſ'00~s1|9=7JIIa֭,[+Vp%]6祗^p|G̟?oooƍNj/+KSd׍[:t(?y_ԪU+Wnaaag8֬Yøq8|yɀ*UD-;D H̯ʸq8~8-[䭷ޢM6afܹtޝH/fniԨ5֖h%** [[[ܹ+7C_v-={G₍ ˗/Go~111$jբx(Q *s23񸸸ТE *W [[[6mJj,ns$N:ł Xt)u֥VZԬYʕ+ST{v{'''.q ĉl߾ݻwsAN8A||^zI#J H.Q`A9~8M6L2rI9sL}]]]qss ]FdddݟyϟSoKD,$))/+.\///8}4ޜ8qB H.fSLaʕѿ^}U*Wlĉ9(PPbEjԨ3m˖-ʕ+lܸ1~ŊKwd83~i(Z(>>>TX]v7߰b իo9b$liM ,Yo۷SHzI6m`4j̜9%KRZ5qtt@n޼ɕ+W8uȑ#>|0bbbHNNOOOBv ɉ;w/UVˋ+իv)sO|@Npww֭[,\ pyWypwwrԒ(Etc "9MיԩS̟?K.s;;;;<==&88裏x;ԇ:/o?~͛WO-m/1awwwW^׏:uHIrX;ɧ5aYJ*1aƍǒ%K6m"::%JШQ#ʗ/ QQQQ|yquu%,,\L7%Kkn888бcG:vo;w.6푗ӧrʜ#xbѐ|-[Vë$KZ;yt(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDb(Q""""""DDDDDD,F X% """""b1J@DDDDDbw5^ofOى,Bij5bGG[UѢFQEj+֪M؉A D$Ȟ˕ |Oy=9y%J(ym(%J(QD%J6 %J(QD%J^-%J(Q|{.-իӰaCTTT*[%o0JMbbbeD333*[ %HAAϟ=zI[5]twtIBTJDGGӰaC*[%JTBpd2Νcǎݻ$ѣnnn4mUU%""'NpaBCCեgϞ 2]U"*yP* Uٶm 6lq(QСCr Ne% clݺ}ZᾺ:M4 rrrr /\W^BP~} Yl7do=xPfMퟩrJ455f̘1pOSPP޽{ҒvѾ}J_yq۶mc˖-ܿGGG>s qʦD%JTQ"##Yf 7n$%%;}vzcbbQQQ9rիӶm[r G~f9v_~ՋTnܸ|TVz1b4h.٤@hh(k֬aܹjJ'zjTTTfժU$$$ںLm[nt҅cǎZƊ+ؼytnll_]_|!ϟ?_nbٸqc,Xyb|L:3n8备 HB93fRrNNN&77PWWW8444ظJV*og>BΜ9Ò%KȈ#F0j(իWu'%%͛7qppLN:ҹhii *2LJ3`+ޙ3g2gΜrmƍ֭[ږ9˗iӦtnggGttB9s0sRHMMDFFҹsg}r1+Z ۷o^^^ M0իr/K\\k֬!::&NH>}PSS4T>J L222Ϗ8|Hff&RZCCC=z[n=z>}ФI~G4 Ί+?~< W&^1) 4mT:700 -- *ܼy#G ɉSNadd\|ÇsPHSzu111Eу;YF___^kצ^zؼDZaa!,_j׮ĉ9r҃RP d2vIll,S!)))4jԈ֭[cll¦FCCCTUU&77UV^>uuuhO=* ,!NNNڢ:2>3~EnmmmIII!%%lM&-I"!77SSJ]DEEahhH۶mVZS(Gaa!w$44WWW&M[vbccE]]gg޽;Gy:a|wL4_~EJ/GDD(,96ľwᄡѣGgȐ!4lؐL_IӠAIDFF>wbjxxxp=隚̘1cccݻǍ7044ٳ 8rfdd_>߿?;v@]lVW\_~aݘ3uTFTDk%U+W@\rE4n߾-PԩS%+ܹsMW^-v!<==/GwgϞ֭-[صks->SW_SoV 2Dt֭L^(,,|YPP ݻ_%9".\(ԩ#ӤIѠAQvmѦMѬY3q+??vj𲄅('vډ^zYznnnn>[l[nBKKP3#FjjjR[Qf\B3׮]cɒ%2{lj֬Inn.jՊݻ!Cr%//ojjʊ+裏^W֭[4h@:֭\t8ձȈ5k2h  |ݼ̛3ftԉ }z 66V)PL2g駟Ǐrdr}bܸq]v^]qF[Uy$1|p;7wqqqbbƌW^aÆRkkkj*qy!"""J,C&{7n?S@o%o۶֭[EVVӧĨQ---1c Ts9uT ?קW`[!*Ń9╎rAxCt]4o\XYY&MѣG_Y\R!֭[ f͚U fΜϩ4Ž{DXX .>]d>}/D^Dj ,--pqq͛7]vK,qqqO899Irkr &L=zݻިQ#j֬)m>QFѽ{wd2ٳ"""HNNV) LVVjjj_^~Xhg.&ѣiҤ OY&-[|-[7|#]qI!8y$]t8WWWw[neС.ӤH`` >ѣG\~gJiZlud2233 #<+ ]h.ޑ0Gcbb_o„ Ҽyہl߾77|.ϧVZDEEʕ+9r7====grq6nHff&gF&HFWHɹs8s n---055EKKK !OYf V%RxsQ䛛{i:tÇS³EnIij׮޽{ݽ{}:XWU>3<0˞^!8Zs@nC)aڵXCٶmömׯ_{ٹs'SNECC-ZPN7oN׮] #-HBt*s,8=ޟ m BP90f233111͛9sb Dbb"SF ܹÔ)S044$**;wrYmƤI?z*;yy! $$SSb1K5jAAAL2Yf5ڍʛb- ڴi#1uCuttpvv.vo<BEE5ccWWW/vnݺݻ/ܮѩS'[VPSA^s}DfYvŎ @5gԫW/qR|-_\ [[[ѪU+cѸqcpBgqF,'''ѴiSaoo/qĉWy̘1zRVÇ&;;333NAAR xb4h@vv62 SSSɬՕ4!99$ V k׮R tuuUZz)scǎzj<==+ Ȯ]/yQ1sGGG:Tlƽ{y!7gϞeӦM$%%)_f GVMTT-䫞?3#FP0WNNNR"iڴ)ggg:w\쓿ɮ8 H wNAmYm{OTIr9޿CQYI*S322hذB|{355ԴD9GNNw\"i|7,[ fϞӕ` HHضms󤦦2yd9"ܪHxx8YYYRZMMMͩSԮ]&M`llLVVcooΝ#&&---%[֧)j۷eذa̚5sPF :v숏yyyѬY3\\\Xv-&&&ҦFMMMZj% jժ)111hkkB׮]={6w%66V2WׯWp{4OGXp!SLyg<qrrR6o<("dx-B|WUr3k2pRƈ#W8uTFƆf͚1|/^ܹs6mZ17 WںwN\\ 86V4k׮PUU%&&j֬ɢE<$&&tR8@HHHutЁٳgO@OOLXXX{{{<<<|2{lAfX2N\lɓ׏t,YBJJ&<HHKKc;899I3,JLL ***ţGG__PɉP)憺:NNN @KK7oJ}yF&!ʢR)_^y!WfذagĠAx"***Я_?j׮ ۷ׯchhH5*9|Efȑ8qGGGƎΚ5kXd hjj[__GGGiyϟ/6,ٳoߞҫ|Uk׮xyyqiڶm[&e2jc!) kiӕ|C7[pkTAE DĬmf޽xzzRfM-[FZZ֭So>/WV?Saߑ7RxrDWW?v䄕$ރx^Ǘ͝;w8w.]֖¦Z!111Cz& ՑdOvvF(l>Y|9G̙3DEEI֭[Lj#$2LFBBVVVd2i0Gi&r%c޼y888кuk0112?K!˗/gΜ9 twwwzx~W*# ;&m/jNvv6ǎ#))H=JTT_3gJtݻw'88RYD   88.]ġC$:Ǐgɒ%hjjJߕsΕy "ɤggnnNaa(<<ŋcnn144%$$ŋ H9!`͚5|78::sNիpƍOZ}vڷoϐ!CM6U3ȝ~iL=+[\fY-A Sm.\ --cҩ+lx'''q_NXXё-[￙8q" ,x@J^J Q<I$,, 6(A޽;~"ڵkٳg顫˞={pqqa$$$K\\a߿?̜9Sa~z&L@VV>Hpp0>ޞLY|9Bƌ͛iܸ1yK||ÔQI+887o_ѣիann*!!!7L;'+AilR| 2},h!tY&cZVѦM1Bҭ[77nիW.QFѭ[7ڶmKNN;&xcYff&7nWWWiޞ/ÏQz*?222/رccǎãLVUVՋaÆqU>=zfРA\pA2wrvvex$$$`aa!!! !3gsa˖- 6 {.jժ?x{{3p@vzcbb8|0{ۛ޽{o߾,H΃0'A\xݡK+xh7^0O %ܹooo&&&[nѱcGirN8͛iР/^cM, )SвeKكuO Rܕ"4O&&&R$Y@|EG3gTv*$oZO?"//O+ 455EAA{%FWSKI\pAӍ2d*5,zzTo"^[x/]"8G0Pt<{-&Q>ŠA7o/̤IX|(2իWK^^0Ѹqc'v̴w~~~ԡC~-GNLLjjjVԯ__\xBV$]cRl!#} abb"TL&iiiϬY< `"D-O&TG6E﫪 rPH! P*?}z{yo߾]tQL0A˥ ;v033_L&%zO666 -(*D2{l1c 7@̟?_,Y xټyQ%*񺙙}8vX{+Vd]ڊӤ6mkkk#Ԟݰ~._ l[ Tu~˻]0AZGϖ >=%VtܠAqڵ^~}866LVR.: s1add$ׯ/nܸ􅅅%~->1ysҶ7]v @DEE-K @\RQn]9 !q.&N(,--K55z8.ttt666ں\Wy)bS}D~@zJ p` G``+OIdee;w˗/ &;&/^,t|nnnbݺub>m GGG&]_}RH/NffٳPSSs/YDԮ][L>]*| wY򤰰PNj ++<== [AR>5C4E,-GLD. /zS f+2e1r" |ݻwU6664mTnaa7e+==UV˰ahݺ 8s H[~;.6 +fe|$> Z4 ?9DܵShjjJڵ_yJJ **o<3&##@+055%)) ---5j]v%++͛WoWHIIGw^ueÇ <;w|ZeD__>M6l2ƌBe\v gggtRa^KOs`ܫ&d/{~ մ2k&?B6rY jr}pҖP̬u<|rss߿?,[KNϞ=ܼȰt N8"[I$JWz{{fN>-4iBE1ftuukB۷oO?l2%;#k4n:VZȑ#9{,קSNnݺD_{\p#G(EY&[laŊܺuӻwo\]]quuW J^܈LJVZUcΝ?եm۶lذR'}6XXXPZ58iӸ{.u}N%. G%AD|r磖ŋhn $) E}RCCC 0aIII̞=[rzx"ԩSRWVx"nnnk///7n\mRT^4B& ѧO%McccѪU+SSSY2 EFF8qℨVPHLL͚5M6+ĝ;wDffYrrC-SE.$555+}Ejng,[Y KWe~u z ]GGGl޼ҞێpppbҤI"--y]\\ػw7EP`xѸqcQzuToF-({]Nj;whzUXX(N8!>}9߽s/byB_G|DFF3bttt8q4Ҹx"ͣ_~hjj?sE xw_S+;Fbb"gΜI&-o399`nnΠAQnnn+vH=zА\ڨQؽ{kiTU+ 6 .O"9sP~},,,w_|Et;͛T=`cc+aaa$WG߿bbboEGG555lll^,#''vI_7jjjt҅3gǁOHNN&**JRBBB< SSS㧟~"""EIϞ=YxqE6!, Fܯ9,? G6?VVJD :z}7f14۞3|p5j]t~fjժammMxx8 ̟?KKK|||*eLVV=z &&///*[$7oԩSs{{J1'OTvM6qQ EyXWd+ A]'??@o!88dzcǎRGfff TQWWg fϝyLLL8y$r޽rCIQnBBP!D{"! 6֭[t???9q:u:_ h߾= 4`ҥdff*l@RRR'## {OM角T:և9򍒗'boXxRn<]lj+W^b!'XV%&ʊ%33[bddĵk$ţsΜ8qy FPPfffˮ)7NAA}ԩSвe * !m۶]]]07/K`bbBJJ ~-/fȑ i&N \O$f0o]X9fhYChӦ |ǜ9sFHA^^^'&L 11Asb6N֭[Yv-~!Ce֭RqqqZj;wN9SI(W@p*rB`` ͛7iӦ?~BƎ͛+dEg;vgg*'&&?u뒜L^^^@' [ȕo8]=5` 0уn[P/dJ-޽\.=z ((SNe˖*g*6 `ر=z}U)+޾>|*|Ŕŋν{8}4/_fu{Pzft0G 2Yvrr2:u";;L~7/N,g :[[[o3YYYhiiѫW/ @dd$9992ΰ5MMMػw`ҥ&}:ҀUV‚ 033{m<3R]XjǤg=[&w[PP'Cx 45gWu4` t4|ݏH`Ϟ=ԫW0vX իW租~{һ(VtqFHHԨQpzcm=͸q*Dm۲i&nܽxJ̨0rHҘ6mt}ƌ(ճC___̲~QWWȑ#;wׯK铒VyF%MUz>GC ~PӤ),$&&r!i3dHH8;;_jP,X̙3ٰar x۷ZR@سgO%K͛|ݛsV88u׮]cǎu0_B>̙39x 2]v1o<|2Ε-fq4@VWχ>  Yw {lCR&XKz`D3-.d2d2񄇇c֬YC>}WVVV?0yd=ڵkU}+WŅɓ'cp~ZJIfTdggӸqc,Y") &&_f7o0ن ?iӔe B%/*cƍdeezTv\rE$r}qFN:%](鯃!z.l3F_j,Y >#@>ȝ6mW\a|eɽ0s!##KyA>I#߼!ی3K.111)OOOI!qrrPgϞMPPC߿x{۩Z7>|xIҥ 2_~?ڵkt֍>ooodggm%H]'jƕ>7֜#7 .pQQQX[[C>ZW-Zo߾bߋm۶w^j֬Ill,d޼y$''W-|ܿ}_"#<<ׯ3~J7ڼyyf;vRI/WŸw L]<|ET7"ϣ( FS#@nXf =zӧOsmz)WQQoJ0`;v|LƸq?>|ǘQfM)VСCKNg0oo UUU͛7KqnJPygÚ8 a""E7.UqԽ*jժhkݫ]ޣV@=Q⨸7 |["0&7w3arHR|8z($zN:]vG.1HfA|y,C\!<|;T, ):8 p 4 mpܬhڴ)lllpXf O8pG*U4-N(ڵkkT[bdJ鋋V}B SX53 RZ87P6~ǀs뫅*Ǿ} 3\P!o>]ӧODŽ pa]vZr?bŘ}:޽O> NNN:ZЩS'`ƍ4i5jŋBd8@sWGyƌo߾']'ի_|Z#C{D><ٺC'g[ۀkaCo+pc==U;=onjԨ@$$$׮]Cpp0R)/g9p¨^:,X YfxQvHݺu1fvw'Od'j AAqׯ_֭[8|p˖-_MCZí[nҴ(KܶmEI=z@Q¡`N&Q'1Z(OfɯmU~NOtBO?(VMG,[,K(f%KCtrr"ʊhll̗/_ דD777Uڹt>hݛ=(H0aÃR/|͛7ʕ+T4ΨL.]dɒԴ8DܲeFXv-GrdJ18:=(^=qT~(^ 2DDJo57Ovzu-[.Uŋs| WW<U?;w,\ x 9ؤIdhh(8 ݹs'/^L###FDD䉼 6dժU'}~e @RRb1nݺUa+_z!C"AAA7aȈtM\[L΃o HZ? ePps3 `շr'2g͚*Uᅦ!ABBѭ[7)SFc``͛7Ǐѣ~z@Ŋh?zj`ii%K`гgO,\ ꧝Ə퍿N36a``Zja˖-2dHVksssy*1P3P c+n8#h4 *g3h\ !ثWXW(;/ƢE'Ϗ8;; gϞ!Xs^x  ;=HNNF`` -[]^X۷K.P=:DG(R cȑUV I-[Vxjÿ@L(``tZIkYs4*ĮQ8`P3qsBNg~o>-Zŋf͚f1޽{7 00%J;;lرcqa.]_7WElܹ@s߾"(lu qqq7n:vnݺiZ,Ѹqclڴ fffB䠼 ::#F+Gͤr?w@l8P/`$?9^o dX_~F5|V\4@akk<ڕ/gsDZPдiSرC۷QH36l/_h"/_^NPP;;;3͛73ykԨ'b0`@*tl2]0EF+#-%#7..68o"AV@@b48?g\00F*w?OBB+WXp!ݻ 8qDףXrss@>|wdB_=4TBbkqbYV@T0~Б%RX!<h󉉉£G_PlY(Qٿ¦M0rH5k&M\r#h"L<9V_Ǚ2i$l޼ϟ?6͛7Ǖ+W 022V_ .㯿!:u`ʕ ĝ;wtM.=tNm@BuǚQ/Ž{/^>}Br޽{3]̙###3FkQ;߿W  ''')S.]Ҡ!JQvm*UJiסt> :r;vXpV"<< /0cƌ|A*e ǘ@$ ;Yw^8"h%Os#x%ʔ)CCCX[[Fٲe1|p [8wΜ9Ha2;~xrʘ6mZu6m5k%:Cdd$6l؀ &K,T`qyRа0y: IDATSܺu {쁩)ԩ?#<L/ʽD@/`pp_`&4I^ē'O`kk`4n]vŲeЭ[7Ƕm۰j*[p̙|c2… k+++w"1{lK0KԡB4~KGj{xLDfffܹs''L k*UEÇڗ*R! HLĄ״( EABB-4X.X Ku/_NX̲er֭\r%vJnݺˋ7f%hjjʙ3gL|4665*畾̲G5k"EuւɁL&7HHH= IZAgJ߾}YV-M6ӧOYV&f͚lӦM۟2e522bfMѴ5-,ߕ*U>>}ayEp<{,W/BYLr mmmٱcG5-R߿?k֬i1 :D(HN:ΝaTJ2$K3f̠14iB{{{I_q_|9o߾Znff&|nnn>-ZD,UihhȾ} m|2$WӦM>===5-J)HLf̬\&%%EQF۷oS &:u*ve2>>֑JEe((QB}\pAEW\x8rHMÇG'''Ν;3ӭ[7`…9c Ɔnnn6m.\_ƍc߾}>@PP ثW/޽[d4db"}ftt '>zŋaR[~=b1|a{޽K5N(Q-ZujիW5khZ4ٲe pʔ)ĉ3sy޼ySX9s ;zd2n۶XJJ$lR4[ T2!MLLhmmׯ]vI&e[6MOSS,OtdN" `̘1J6###۷/Ͳ̙3Ynŋĉ>q9+dzqƴk_4™~Vt+/Q5jD;;;ZZZB ^:kժEH=i|||hccJ* עiQǙ3f ˕+ߓL&cڵپ}{lRkv#IۼsIr„ i .Ο:unnng-8`tMyȘ1ch``wiZ4H$9r$ɉ...9j O?D\r%GͫWf~!}p,܄z+W3gSw5'vZB.]ؼysMQ`) ZDn'QQQZǏl۶0 0"(MG߿iW\Q wN{{L2+WROOΝӴ(iHX"kԨe2111:^^^,[,;wLx΂'%% Gα"&Jl2zxxz:t(;`۶mWW\ %jժ1bD뇅o߾DQ?:TUj˗sק0v>|׮]sʔ)\~}~ fرYzh7o  %!;|,Q#"",]*=#3Ç4557mN:Q?~a]LFWWWZXXL2@H'N9GGGkB[F]Z+_) ZDn'z1c8o=6l@i0d2aŋܴi_~v;6m(qt f٭[7UhaÆܳge27a';|+ +mǍTK Trr2+UDz11ϟ3K ֎) ZDn'9.\#Ou3j(`HHh*T(ôiy8 &p۶m|9'My,XVWDBDDػwoM)eʔa hllΝ;gjc5+{{{ťYɓ'_~%v={&(.:u;vRJÇ?z(̫j׮uŋJeJߊcD"8nٲ;wN8 ~գ1 4رzzz\pa͛7S'Ʉq422JwDL޼yC@wԉgZظqtÔ(ʖ-koNHİ4 ˗/ )ŋNMdd$-vڱf͚y"|iM&tҜ0aE)-BU>?cǎH:qaSme.YDؒy&w%L0fuIAX;6ѷo_6nXbdJجY3铦˗)yfAUkԨ!+W.p)MT99+|+ Hr.yYpaVZ@kkk ½kggҥKsŊNNyC>}tҩd2zzz|ŋs%KDDDȈ...BM^ʟؤIڵ+Gi۶m 3s2JTw򢹹yCʶrꈯ)qرcIɷDDDEB tqq3Hv]KCCC6mTӢd$;VOv͉'nݺuԩS*Y4k֬;v(޺u+E"QdĈy?R$ K,ItxagzvhTJ T-[dƫWx1FGGsŬSnٳg K,Ѵ*Aa6w^MeΟ?Oqi>z{e֭ ?>׫[AYUfDFFŋVΜ9fp%K8CȯsSoa?>)R`̊TAll,<رcicca]ooojՊcǎ:ׯ4-Fdׯ\.]{nFFFrH L Q(rv))qsscmCCƐdEmGh \xݺu0@k,FDD011>|{x… 'yIÆ iiib9sF իWsС_>pر#&&ŋg>}HR:v([J Rf"~0: &%-3NNNtww״Z"g"::𵝁t*MT6uT`s$#X)~k^^^lӦM]sssJ$!kC[&_QǙGiբHb6mʖ-[fY&q޼y 6ӧO Y`yACG+v3YLl%{ \jw)|V#G֫W/˻^^^,S O>M(yL]@<}T0c <|0.]ʵkޞ6(Q666iF200Q?Ãl׮T"##imm=z,BI+WXb7n\uinn AD\f nݚk lll8{lM) ZDA`ݘ)IJJbRRCCC9b%l׮'rʜ>>^IUE"ϟ/*IHvޝFFF3NNN)BPj;}ٲe $q۷"݊+T^tt4]S<իO>͘޽{wϕFGGSNB$EX]dtsse`ƍJ[[[:;;E޽{dժUYJݝzzz.cJj֬/LnE:QYZZl_&ŅUTdٳg ˴L&c`` _.o~zH(L<I׬]477B6iD],رc$֊-/992W23˗/ȗDZP;p IDATbUw^И)Vn#'=-O>e˖C@@ԩrX,ի~X[[ѣG(Q,,,кuk'OwE͚5s sǎqY@TTpqXYYy000Pe$%%iZ5 QW&ATTնkS)jR&{zFԨQ;vTkPk׮͏?/U!NXUV%aCaׯ_BDN>>>$ u™3g2""k׮ݻU?qf̙,UwԮ][͠j?*9}ݛWy_PZdׯ---cJ-[F<IRJu?zl֬YqtΜ9$F ;)UgTooo\|o̘1MXQFΝ;444Iί`2etgTTTiaaa|)gΜ)533#&_)éZ+̪Uhjji1 ;˗/Ir zR'gVP*uW1j>#mWĄ۷')OrkܸDᅮd*߼{̙3СȈ}Kd;vPGI16l:D(uzj`ppdHHHiիW34&׼+VJϟS__&MRY`DlҤ p„ Jkxуy򄁁lӦ-eMs]ZXXcǎ,SLWi C ===٠AaJr aÆ -Zɓ'SR]t#[nMHDH-Z(;~p~/f)grG} ukV'LEt Q'@PnŚ>>>l߾=hS Qn:PJ^sp5jҥKٹsgN:U޽{444v02S .Lb:uXRT(|x3Бʕ+5*GRR`h``U=wAy*x`ꙟa^(5SHR)nXX_|Ʉ^|9x.ŧO8w\VPAH;e2R]v%vI]###V\L/.:D(u-؄iZFFF űB ݻڼ{.p*kSfߤI:t\t)o޼ɓ'OԩSq% >|=x!0$Y^=III|5ζm };SN&_+Tȑ#ѵqO㻢$J qɒ%E !!zzz*M>搻YE* a™ޞP*ϙ3grܽ{72l_f||<N++Te޾}jUU+WhTݻ7K.ɹ1`NU8p@vI0HHUk匢ؤ,װa4mMMM陪78a6rrqٳg*xةS'\Y4hPdrT֞D"Is5?{-[6Ŝs׮]ի%Kp޼y1P'.\ !c&x K.M{{{?3f ---UeC,[Z3d>ܺu+?f͚ZjCN8֬Y4yڮݻw|1Ϝ9CrѢEH$رR[{MSM e^|*LBBp%qPbccYP!Ο?_r|"٨hKRr֬Y*iOdUo &C__?MDy0NGZz*4,Y2xT|3fer͛7nd) ZDALƦMN:J6yERRU*U۷yf(L2W\Iw˗/kJILLm8g&&&r\pa~":88pڵ\hٳ [l!)̖-[&޽;CCCxbr-3jRWd2:::e˖422bHHHUVQ,Ç*k_~,UTV R>IIIbbb(H][g4ikZ|ɑ#GΝH"HFXUVME^$$$/mÇ\l/_M6ܿr]t!}4p$#/^B Dh@ݴnݚJӁA1idJ>~H###:OlqwءtҥK>/ؘeʔv>\]]  ikkK;wnd^~=Km| ̐!Ci1%2 4#o֖~Ǐ)T0$oܸjKƦf8;Ɋ uML5ϟsyݝٮC=Q?~<޼y={ݻwyg\\[ny_v9}41qD|@>}bSPqڶmXXX`ݺuoooTT pu@Ŋ$0sL9s&2aÆXfMe%I/J%! ((;vӾgcyoV:t(*V(qt>$$#GD\\0ttR۷/?SNYZZ9";vR["zzOq .,ݻUV Mk@:[X :%JܜӦMOڟ"lz[fذaUJۼ~:]]]idd/^0>>VVV ͛7T~N R)RݻwOѣ`r J$*˗/ibbRJ[&>>^p,ٳg @H7Yvm)qppk)"*KNNfnvY}j#[nM믿 oٲsNᜳ3۴icSܺuݺu~OJJst; : ={DHHF Yfj GnR%mI$ 6 6Ǐqa-[>>>'_B A$aΜ9044TIFTTN pwwGbŠ ~Jek֬ lڴ ϟGacc6m@,O>ؾ}{2e`۶m;wne4hk׮D"ݫiQ-k֬˗/aoo'OIVVVHHHȓ˙3g{@R Haԭ[ǎڵkju #GbذapvvݻwѦMԩSƍ)v/_D| hҤ V^ ˱'/?~<2$gǣA9KѬ#%se)R'NT[kVi?UȲ_vdf(e%hEdѣG tRRٵkWdέ[*u+'f;NVC>qzY׼x񂮮vٳgj~:tZ)cǎeU^XX'OLSSSv҅$I@#ԩS &_mB* ѰdTC&qӦM422bjسgOݻw!\J(/iG'E$1...}鐣S@\]]٭[7}Tڈ+r} ,X@8/q\NNN055M-[BC({666*iK* {F"E3xxx mnnn<#x=333={qqqѣG&67nDHHoߎΝ;H"*s5j>}dŋǛ7o`mm @E-[B$ٳ@PZ5t jiرcjmEh׮vޝv KKKTRJ#,, c\zUBbb"vڅ>} M6Ebp1d- ԭ[W鹻cܿM4!qLˎ?֭Ctt4Zn-yuNQyqB}ͮ]`mm={ŋ:t(>Ν;@JSNDDD䨮D"'捻UVz*d2݋J*rʹW EUV1bD(k֬ANk.ڵ+vvvx=bccѪU+˗_#|}}5-JZjx)d2J%ŋcذa(SJV%ĕ+W? sssXZZJÇrJ݋… kmx"J1l0ԬY?1n8\|wOr+6l؀Ǐg9yB Э[,)־033CFr+@焮M|+yɇjG"p PtyWGEETRAxxx2{%-Z*5o$F)K "''G(J.F%]i6)9O}KݥT ^4ۋ( Aٳ'.]'ϯ2|ctuuj&U93,m&pܿ xܹs4kKGGGded2lٲ;wT <8wT""""\[W!@QQ*,]6|}}lٲWjUډwȑ]G&wXb}u.]xza %mmmڵk:iӦ ̘L'o B <hР^"Z|+Ԕ5++ 3gʕ+&YPP`mm]TԩSXtd׬YoooL6 jiiaРApss<۷J@Z۽{7:vZLKDEEwޕXz###3g|#""0n8xyy]]Y2L-H5Brrǭ.cΝo&{rϞ=ػw/vލYfUꆅ>|WnĈX|9gN,شiSt .?TI\KG]ܶmd422¢EpU<|sNoNNNϚ<Ԯ]_t K, 0`JL=<==`l޼.]u 0|pXYYԩSU"2yyySN8{Ko׾=sLϼ\ > Uw)U^] #::߿e%VZAWvgϞoE=;IOOqRGO1PVWF=ЪU+̙3+ScSN}:ѣ;;; +|7O?;j׮ '''x{{cԩs|+>s4jwEhh(6mկ)Did>}:\]]ٳѣoߎ={M6k׮&2Cn`kk[-L&äI.Jw`ccS -[ Tًlmmm]9 ;@KK ^Y\\\<D*8tZlY)+,,ի1rj7!کu .*& )@lݺΛ7OSL...>^ej޽{;vlkذa"77ۆ[E.\(ĝ;w*\]D֭ŭ[,療amm-FR "66B>|X.\$T*E˖-E׮]_38wi[n ɓs̘1\$&&VV\)+e1hxa&M6MXXX{šҥJxիhܸ/ElluVwy'<<\BLMMŬYDdd~xP*_]&[fgg KKK1vתy͚5EDD̲e˄6/$^Ù3g_AE/RΫt\Ez7n/"""ڵkڵ[l=/^:::b[ ;;;1bĈJAj%>쥷+L. mcqaѣGQT"!"00P>|Z h۶*޽[9rD\|Fg󅽽samm-ڴiYJLL&&&Z 0@ b=<<*%..\~ƞg~޵W^=1gΜ_NdddXall,O.AHHHĘ1cĞ={Eͅz56|>رs]t]vnnnB___̞=[2v޽9E]v ---{W5>>^Y,jժJ710hʳw^@\|̝;WuHJJJܹ#fϞ-:t T&M׮]} R)F%YfZc3%%%yiӦɓ'.J233{&E|---ENNJ#Fƍ{'Uann.LLL߿Æ >1<_w)+* +שT*UMkxذaʪ\8A@*ϬYi?mٲEtUhkkZjUQE۷Oڊ={ݻիW>rرc/qL&nܸQ3.]2LXBݥT9yyy/=G||o/111T("~oE?.*f̘Jdgg '''ݻw޵k֭ׄ[]B!N<)_~BAjAejذ :T}N87n8رc tttѳgi݁޾}!FFFM:v 3fx}!_EχCe]ժU 7oGTm۶;6mu&Ocʔ)022Ν;#]Tmn{AzZ>sL<| H}_vz1ٰa 00˗/ǜ9sqA&D2ڶmWx'ObѢE033ĉ1g,^Xe@̟?۷GΝ]BݺuUOǘ7oUvspppf̘33 cƌ) 0x`;v :u§~Z U;'OXYYV\\ ^- ...h۶-0sL >ӧOWwYoԩDuS%xzzbzjׯ_?T4k jsb";;BIHH@.]=[jݻKKKlڴ7'%BՎ3`e</Jmmm뢗 ȡg@XXcӦMWwYOGG۷o> P&=[i-Zɓ'۷W]ՋͮRƪOխ[oުVVVXp!bccQQQػw/j׮]1Poeꊋ/\ҋ`޼y2eKRjժ+++uQG}R4?ũ~ƀ`iiTi#00_Ko[ک_|js")) s͛sN୷ު@ڱAhhhe#F@TTn֭݊[gggcڴiҥ F˥gXf f͚UVz-ػw/̙r4v=y$EDiӦENN/^RVw9K.uZj ǚ5k}vu1֭ 6 ""+V(i=""={vԈ]k׮EݱqFߪ۷oHSiiiaƍӧq uqڶm;vLLP`˖-E߾}X]2}tL8&LPw)/** ݻw= cccuT1Pe``q?@ff&T*!@ǎ]i(]]]رݻwG~pAuQ:tN:a̘1HOOŝ;wWIKQQ,Y~ȑ#*ښ!""z===رÇñ|rS8vv wwwU%ƪN|BR;puF!44C0=~b̙4iJJJ]FѣGqF`ѣGaAZr%}]Ǐ@^^.]L&ŋkע_~OHNNرc{UgՓ"cuEDjر8v.^֭[ݻ.I#!88rgϞŲepqLQ ={"88Xlj0, jHL0O.ښ 111HIIAZZj,@JJ ߏ6mڠI&^ `jj ++ CycǎѣLjֽ{w\|GV???uбcG2Hjq5#//UwI/@xNݻwY^XXdz,77W\۱k.^344Ē%K0r׾;*@\\HKKCnn.K4k GFQQ ann###<~8tVZǏxڞ}РA?'N::: uggg九Voܸ`˖-{200ɓ1}t:u | <}w}۷gŕ >>>HLL ԫW011Aݺuw^B[[044Jj-B֭ 蠠Ҫ_6mTOttt$cpww zQ@L;s > $$={TwIDޭ[0x`!((#FPwI @4/ *Wvv6`jjGx:!#~|wܹ3v@ׯ P*x1x<|oFxx8= a8uTJRo333P*DLL """Xp!^ܾ}r͚5ȑ#ѦMxyykpp0>S@FFnܸdggx1jET"::<ÇZj!..GERR 1`x{{CGGׇ=4ikk7#-- #Fgaɒ%^Q<,] χK*DUVa̙Ν;| b 5 <<cƌAaffsssV0 <o>:u ]vEhh(`x?j\sR;v`ƌBqq*4899!%%O<OEFf₈ohҤ FׯEvv6n߾;vƪ> ...h׮4iOOOBZZ<<<*iP{+W]vXt),--Rc+J;w;ۇGAPܔrppuЧOr(J㏘3gƍ,#pjYll,\\\WU B! d|'8z(&MKDT oCNN.]OOOrxyyv LߟZpp0J%222j_ڴpvvFdd$bbbPN ::|A}:w\~2>RTT̙3 Crr2f͚ŋhР푞:u.]7oWWg^KPYoߎCxoiӪ{R)\.#&&~!_?={vy*y&{aѢE:cڴih׮+S\߿/^Dvv67n>쵟]p7q =+W?3C!** OU7PTTGNN2331k,ƍUڵ Ǐ6l؀wy, !J% pܸq999022B~~>P( ն:tsT%%%|2:t耞={nݺhذ!<<>>())ݻwѾ}{[B0<}"uV$&&"##III8}4ԩ___hkkHOO˗4n>P(XYY111?4}777@P -- v_sKKKĉgcڵ4ᭁ1dQQQHMM-,--cccA[[prrBFF n߾ }}}VZڵCo/^DQQB[[Gvv6rssakk ''' ??_5bN\\rss }}}lEEEƅ `ccVZڈ;wpiDg‡\.Gvv6?~Dܾ}W^Ņ 8}4:u$I=̌ :/_F6mpBtm۶Uwi5/_w}F[oya̙Fnݺ.nݺs(,,āpi;wNuӭwww!`)͛7dg,[  Pn]XZZ mڴL&SKMM>LMMѺukl۶ ZǏG^PN߿åK`cc XYY@033ŋqiXf    xZ!n݊> 2 ;wkMO@4Heܙ|2QFhժt邾}DK>}pel۶ oKm' +,,W_}1M診ުU+\rطoMP(Çݺu޽{sss :tr9p>}j$;###d2Ehժҥ ...=z4Ο?%KLjq {sss?uY.]R Ǐǚ5k^1a?MLc 0믿WWWbѢEeUhkk:jiiaÆܹ3\]]1~j5JˡCЯ_2F CCC-Z ,==۶m WWWF*׮ԩS駟Xr#j׮ZjN:Wڛ~Q5l0ڵ FB 0eʔdQ7n`̘1r ^CIDAT>#U:M000xaaah߾ڵkcϞ=Xx1Μ9`|'o2"""i&$&&"11͛7B@NN )) 7n@VVVP\\ GGGX[[#>>$omڴq>|ژ1c^^$''x:7QAA:u'''~~~4yUaS__§~3g7|˗k֬a_JƸz ^̟?_P׹sgagg'CCC '''ѻwo1m4}v߉z4iҤg|n%BBBDRRR B$&&۷ @GL8QtU+V( LtMܸq'ٳgE۶mEݺu]rVC[P*ԩSU|8::7O5ƕ+WвeK_~+ѡC>"222pB^vvvꫯ0bĈJ" p=OW{kԨulapssCÆ ]TJ bll KKK$$$Fl޽;rԯ_iii￟u\pA?B g]RRLQ# !yf<|ݻwG]Rѣx".^7o|Ə$̝;7odlz sttDPPPV^-[Y4xhiiQ潨 cƌ!CpQܿiiiƍdɒݶtx_B]5\$t.a|Ю];M30tPܿHIIAzz u!UL&SN矣QF҂!ׯ#55wA6mPPP0 2zpY9rqqqpttMbccq,^>{6::w)$0rHuQa7n݊}B ;wF@@}9scƌիWѱcG\pmڴQw$> ϻ3)@AArssaiiRɓ'w^[cedB"22 ccc;w@.IQn]xxxZZZ(**BNN!055#4 {aߑ4jܹ3sh[na…ؽ{70e;O8O>&LR 3gD۶mUwsssLlhiiɓ'U<u222TMMMall 5_e˖WMtZjk֬y7믿bƍVMҪnݺa̘1IS"̞=BW^ӧaii \_}ܹ___|WܹgAJ/ Tsexyy(((tVZ᭷ނ'''ӎәV^zpww BL:zR{%%%سg~7lM6Eƍ9i<\k׮ҥKqn߾+W^oڴ) nnnŪU@4ԝ;w#$$zzz9r$&N9DbccrYZZVz٪ jK DfffQSBDDDDDᴠDDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0d@H2 DDDDD$""""" I$BDDDDDa!"""""0dW6*IENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_shapely_to_mpl/poly_interiors.png0000644001374000021030000015536412700747662032725 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwXTЇH( W,;F%7ш)1XcKcA"(*63p>'` QN0sec1c5@\`1c0c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1j  1cc1cpc110c1jZmڔ.c1Z4hFv1@XgggvQcע;wp@XB޽ε]cܹs#GDFF N{hݺum1c^A1cc1cpc110c1j BgSO>EBBbAP̐\A,CKK  Z沲2ܿx@"@MM r/^͛7Q\\@. ӏ`oo򯝝Riփ1 @cu!;;yyydHOOGRRBCC ---899֭[ DR Ԅ>BRׯG@@rss/KP<!'''D"|' \.C, ]v5jttt MMMCT rAAAdAvv6>} \uuuDFFaaa~1{-0J(--Eii)n䄶mB.سg`jj hkkC,C$AP ++ Ԭp}:&N(T*Eaa!RD6l~ǫLHHLREۇ"==X,!oNNN/]6n)խ00@co "BPPz\OOOw???͚5 ===hii"9$ LMM_x˗/#,, ӦMSYg`` p@nSSSAOOPSSΛ/ BGRR޽9rJ[>>>ؿ?CLL ѬY3x{{ 6020^Y~~>6mO a…Vŋ+֭C~TorD(((S*<?v:v²͛7N<ڵkvgaoo'''3Wnqtt/_'݅͛'_|Zjmmm4i 4a8wWWWzNְ~UXӧcz*6l؀SNaݺunu֡APYwYtԩ&#8aUJP ,, 'ODaa!J%퍯 =Bƍ+|;'O4i2LX1{l"==]ا<1~'x6Te=G*,#"Xt) Z¶m۰sNܺu~&&&hР f͚bIOO) V0ax{{nj37111 DHHFD#;;ٸs:j2>j׮ڵk 1EP*xX,ƁСC-c-3[8Y?3ӡrszzz/pe@F 777cШp<|z*xyyoUٶAB'''SN ///dee޽{0apz%o׮]4httt@ȱq1|^?[n}ūڴiNƢiӦXRSSann.ޯ_?ܼybӦMرcooo@WWr&&&~z 9秉Gxx8ܹ,$%%!00_umFVVكhkkUhM,cccD"D"^^^pss`5k8a`W'(&Ԭ={ݻwq%a::u,[ "hjj OKb1LMM\X2\.]p̙ת^ KK r9T*!!QVV&\mmm BZeILW8q"ΝV&',--EXXN87n@GGs̩-S?Fxx8"##"22BAׯ 9nOEEEՅÑ/gggݻwbXn̰e<~X NTJ2e ΝRL:/_Fnn.JKK---hڴ)ڷoBhkkCKKF5z?+""@__&&&077GVаaC 6 7nܨEΝo... իWk.5 vkԨqF ,, QQQ/mQ~QF-[TI88y$RSSlBfq"BQQd2n޼pFVtMjaƌXl5j2>0aN<)t9!99}\]]Ѹqc4i0`̪\=ˑXD"ЫW/B[[iiiHMM7ڷo_'|Vrr2.^ 6ŋhذ!RSSn/xbl#ܹSe}^0s>OUm۶TiMbĈPTTɓ'*-@VogJKK&&&B@nn.QRR\w |hժΞ= 333!g+5j$={˖-ãG 1w\̞="ݻ7r9!#Fɓ'pgALYY/J1d!##u033Cvv07oބ:ѠAÆ g_G\իWcԩ>|8nZiT\\ BP`rwww\pB;J%O?x_|>} 0>>>U)LT%Iqq1#t#; T'BCCCd "!C[[ڸwXXX@*t֭IRSSqڵKHZnL. Pqw ߏ!C ]UaРAqㆰ˗/kd.Lwww XL?#߿[#GTy}_j)$$Nϟw}ݻ#%%GUK$( X[[C[[(++͛1j({´֊3gΠqpqqQI`wY̞=[M6>|8\\\мysؼҵ0;/^ǿ׶2}vwww e2[9z.] hhh //O¡CT ,"¾}j*@&A$'~zWhݬ8::zzz044 JѦM899J}322piܼy x0{laҤIp#** )))h֬|}}ѿ$''Nh߾ ?||]H֭[{1cñ}v###׮]իWѨQ#"00{!HJhٲ%lmm!annsssq M6lYYYq5^㿫l:cY9s^ǯ*`wBgϞEDD"##D . -[DII R)lllP\\} O7ߠEo|?ƭ[qF=z#Go߾v`ii }}}C ENN*77ӧ777?ɘCP ⅃rJr4lfff011AYYahh?BBBp@XU}fsrr7oތ5k֠k׮ѣ7oooJoDDXH<|000@bb"bcc L <}U.͚5C=X[ԩSHMM RRR@Dn޼ ʄlJ[///j VVV1cF hذPO"** (**-5kLtQwx`ٲe9s&֯_߿?:tC__)))z*ݻ0-oqرJ*J$$$ʕ+:u*JKK GG<ߕASSRz‰'YÔJe;v }Ô)Sj)==k׮źu됙 i 4@QQ1a„J$$$T6 :u6l;;;T$JYYY(**BAAK8~5k{={ɓ'?;vP ?Slܸ0}t,Xerssahh٬Z=ƮzzzŒZʕ+pe,,, @V\38aVybhh}bʕB7ؽ{7F%O?+VxdffC\\Tnp5j!##vvvիADx1lll Hcٳ...aaa=z@__aaa8s n߾W:{ڶm|"77̦M`jjVXW>|˖-ٳ'9cǎ?ѣ0m4Y7nǏq}̜92 ޻w...u4h>}t#+++S[r%>ǁTt/u "ܻwHOOǏ#//fff߿?ѩS:yz=Z ۷oX,Ƙ1cgiӦ/ԕ"//vBLL Ґ "T*EnЧO[L0n89sÆ :u$t,wu $$Dx:88o߾(++C݌H IDATvv6Ξ=hkk#;;nnn5kpM\x>PǏgϞCb߾}º 6L{ߢ#!H$@OOضm500k׮Evv6MMMddd &&111ӧ!9auGM8amR>]WW:ӱcH.ƍ$jkkӥKjԕ+--7nPHH߻wN:EǏWinnN԰aCPY7g7o b1mۖJ:t kkk@jjjdjj*lCBiذaM{&###Z`D"={B *733a;RISNU&iӆN>Rm׮]<==i֬YBGM4Q)H$"KKKС͟?_N ]ShĈ$̌,XިNriѢEM"D" :T:?Fs%___"$JOe;jٲ%{4m4G 6ÇSrrJYJ%з~Kmڴqa8^\VscҜ9sb>%%%Љ'~A/ >ƌC(4iҤd``@b>&RI999믿 Ǐ}"##Un6l@7n$4uJϓFGիWSuؑzMT\\,fzޣG(00PN>W&Ʀo&eܿ\\\HOO6mDEEEzl>}:-\9B>T hɒ%fΜIwޥҥ듆 0VXAW^dd2?gz^bbʬKϟW >c.[]tR(T*ȈPiԭ[7}$i޽4zhrtti+jzJ-HQ*Xm(44V߮];ڱcG}C֭ .ЁQZZvB effFw&BA[l!;;;@_|ſ‚*Lzj/uB|Szj鼎}駴`ruu%WWWݻ7IR:ZZZjА6mJw>|H[n)SŋUZ^d~uttÃJ/vذaԩS'2226m͛UR&MЍ7jk8aVvoߞBCCԩSTPP@~p͛GwVi_(""O#;;;ZrktEnnnB^ԫW/:tP$۷/yyyT,]rEX_Eu4fH$^@iƍFnnnutJINNN4d_)??JMMpmffFRFIcǎΝ;… :ti'eee4{lDԧO!?Y~=ihhH$"{{{oxx8:~FCCC[l28q⿶4IŴrJ6mJ,V(JVWpd̙|rZlpieeE'O&ԵkWڹs'=|_v-988X,&WWW!~͚5{grrr^# ݺH?b>\iCQͅmԔϟRl"##I,ӆ ^J ˋO111ܲT~|>sdiiY\z:t@b-ZTd@-ZK.ѰaÄ:U۶m#ԷoJ+[5ƪժU*O9au ު:;;?Ncƌ![[[rvv8|0)J̤~>Sܹ3y{{D"ڽ{<=m۶3g<}vڹs'5jԈٙڵk't+~"gO5jDh߾}tej߾=YYYrV:ݽ{Jۗ 9rYB3gAѨQTM6F2Љ'tܹѣG4i$Ą-[xu#ȑtZx1-[RRR^U[MS8aVU̚WMJJ8pbޞƱ>r uU:ܹC ]I$ iϞ=P(($$oNaaaNyyyBG^;???ZlYٙPTT+!..5kF:::y|1cƼ֠(J?h7ѣϏ<==) vIqqq~\vNiǎ嫴FAbi֬Y@7Lp7Xuwر'-d$LS8aVURIrhƍ gٳ'ә3gjƭXd bjݺ5͜9ת*ACxx%n/HO&LEQϞ=I[[6ZZZk+hرmVXA?xs'DB͚5o|}7mD"֮]KN4}7\jƪF.Sll,)44TXwZ||4k G PVV=z`ذaׯ233q=DFFbٲehժkG*bӦM())D"xzz$H$hѢkmwyXYY͛/qŊg}YP???2R.^ѣG$ĶmoiӦӱi&HMM||||r ǀXv1V[^g3gΐ0UkVtY~sXaaazjeH?mڴmFQQQ5 mH$4eʔ:R"夯OӦMt'OШQSN}żICC&MDgϞ͛7S`` yxxPFĄlmmk${cd2M4PԩSOyyyN޺ukJII{?L7o~.uڕvJEƍeu  zQJrQz gP >?*ƌ#(ʌо}tlذ$IMe,_'(..&MMMZjɓ'dmmMUཎ2*--%LF+W$RSSMғ'OoÇJHHPYA|ɿ؟8q0Qѳ~ ڕ4nՉ}JĉcZl͞=,YB6l&OLB b*..; }Ӯ]رc߿{S,͙3GH;k֬*%5zu?SSSÔHtYxb/WWWRSS#t5"R3Q>ݯ;-\Ο?_iΈBR(O/^+W ]]]iIO2쵮Om*o211Qɨ3Wݻ_ҥ Q^hڵԤIwR۶mȈ_e}W^`ήֺwGTTT#fccC8 ?~<5iҤ 믿YZZJf"XLAs%4~xڳgЕ+WTJ?~\s@X&>J%}W҈#H"̢u9˗/'mmmھ}; ˋhΝ {~/c/C9I$rvvGR||{AA5##͛GK.~)66СCMƤF~-rTUIfZUVolBAAAABΉF˃=zϧ˗/Ӆ ԩSԢE rrr_H2@L7n|x dmmMzyyyVayNNlْ,,,^)F.)7BdȠ_Ν K;vTYT*Gx| 0VNT/B$JiҥՒ><@9s&:tHضNtt4rssuѹsi]T*ôtRY}~w}p*q@~\\\H$Q.]( (// ͛q9HR"##7رc8vfϞ ѨQcj;lA#蠠q #ccDFDaCdde@O"9jh :"MWс!`mm .;cǎz*`ڵ ###t"۷oG۶mǗ]]]EEE7o.] ضm4haפ[>}0|pXZZrǏ &'OU---t;v}Wؿ?666۷oC$U۴irDGG[nӧfϞ j="88=z􀣣#N8___hiiay&nFEaL>gm[;}@RDrJ X05ETJ J >45Q)l݊'̌1FBݺ $%%@MF$BIYmV[Θ7oۇ۷ocJ3&MK&&&8<:u$,߲e VX>{"z0hӦ """кu.N+,,T*~W_}-[ 88H$X7#88ݺuCPPz聣G_~=_ƍHMM}'o2n߾͛cƍիW鉁p/X- ŕp䄣G ''S&OF&M +?BWK -mlji?HMNFݡ^{'>~ɓ1e,]ӧOGtt+ ݻwS,[ zzzزe _U`Nw%233_K.077ǽ{`kk ]"۶m?ڷo }}#+++Ö-[p)={ .]%uqڶmA۹"><==!PPPccc,?+V@{4M6Ś$x";NR{--)) χ&.]555JDU 6lݻw1qWzYPPIII(..\.-Obݸq\]]-웒ss[O>EP^6tRhڴ)Zi/Ow⏤$ {9t  ,۷odSNիWn:gg""bҤIXz5/_}% &LJ ((sETTpSZŪ^2N;֖ ºu_."cnaV}~b`ɒ%HNNVYSNRj_bb"Zh!tzСqiܹsӦMCNNSѣGc8p~GL0sō7 H@>nݪwȖ-[0vXϺ_=z4R)tR,]݄_r={ǏwV$s32YYY];ܾ})O:txs=l#$ J^ u-9LFVnE":N@qI Jt2YA! dxҡ+ENP*9Jԁ2 hB Mc= JRׯ]CQQ,,,4#@A}`` Ə/$jqR0^1V8a?ƬY0qDϯTv>}:-Z2@z6mJ׆ҥK4iRSS!ˡ_z IDATT*o>L2ECJԀRd>zlUN]]cƌؾ};~ܸq&R6 YRQV m2[j@ ZOcnFT;;[405.\a;S=@*%ZBouʑW̼1ػ*sFp WMsYeje6̕9Dq{! D6 Y߯/9<\}]C#CyP&PXT)eӵ^($D_N!z Xwa?Vj`gPKO#jW3')- ѣGݻ7̟?_TJ߾}y7j9JAxyD c|Yܛx_dU055%;;[SN|嗘=pL'''M tgE__M/q&9YTSSf2icf(H_ahh?Q\T @Zz:vO>c\ %''c#7++ZckkKzFGR77˔>z&+'[p.] 92McLiPԤJ(e֮]ѣiݺ5[nUGPT]RIjj*^^^\z|5kVQ E$ Naaa={?p!JJJѣwV^PPСC^SzJJ%*(DGcjb\.G&annN䢢Oh\e>2G.#ˉ̉(n߭}=]=CHH1ܼyXYwlVt!negqƍW¤%\[s]J˔OmpEMƑ#G3f w&&&>9s樓eJE߾} `ذaL0zꑛJ"//ڼAxD._666J 3qD֭Ũ?R;w;7qeeedeg#uO7tDԱ͍"153C[K]g",-,8q^ͼ񦤤S'OZߕMQ(M6EM% ii4k扱Ҳ2222yE$lmB*`ldD>}~=hoꤪFFDFFbei.-[q9.]+4k֌?? &Mbҥ8;;ӳgO6l؀/˗/M6!((!Ca<==G*2c ڴi#AxD"]v#>>^]VUرcW?7yd>Z&HV[ҾLϹSX@l\pss_ndf+=[[[݉t :u޽;111\*VYP@qq1hii!ٳ\pwwwR)W^Νrm)+-%R4888`aaAqqM MJ(**/J$t~3noKs]C(%4 ZԭyX6l~g.]ʨQXpTڰaL<۷bŊ'*%-ÉD`S6{lKc\?ZQHmmGOXU8өS(_.S[x{SǾ.^ҥKh4h̓tIJJʺ|9P>qy._L.VZZFXJ%ҩc'MPvFf&uI}.-[{ҥKm-[5l\L:>pJUV1gRSSYd ƍ8B4iXJc``67oޤQF|O6AH@APod=tÇhB6mڤN>LB=h߾#UT*4`֭(J5}CCCRSRAY7ptp+'<yccmfogOs|TCii)׮]cԩgƏϚ5kk׮̞=777UV\)))!//~E_ѯ_gu[ | жm[V^RW{ FWW#G0w\,X@NDQEqqqӺM"ϝ X Po}}ڷo_iFɉӱcG9w.{v 9;K8ݻWy Y ?99Tt@_%<\AA[Aݻ;v[@"{O?Dttqss*dffVsAx<"D‡~HHHcǎUG2QT5Oj).Rs{ ШڶŹ^y9tvؽ{7i{HhҴ u`gkW3.q#l/\2YWFii 4P?Xב]{I!""E퍓DGGn:uo͛7chhȊ+L2IJJbȑ |&$ ߟ?e˖穓H$ 6L822&jjlmmiٲ%rrؾ};;w$99(__TTDQQ;w 07QF@y599$5-Դ4#"8u4q׮T*pDEG­[IKOWw)711[nf!Z lKJJf0J *R&T] $R۷NVv6yy=Lp666l߾LƸqpss#>>'OҴiSpssCCC\ի?=+!!!A1a7nLBBׯ'!!aÆ~wJgGA?&((Sr4y?vZ6mZѼMLv@HH[}wAyx_lWf%)o,z5m6A>122">>e2;vB aÆDD-,^{ (ӡ\ZZZ! MMM^Jb ZťCCHŨDGǨ_355 o5q5.\HBBwFPP\\Lvv6^^^˗9y$ .dt_ >._;S(,&iӦ Æ cݺuhhE\r[nݎJ ;;;RRR}NMЭ!yyy( NNN'$|8_}yyy$''?o+dD"}K^Xh-m۶O/䲥;w_믿"1b~mm+..l߾m=sssQ*s3?W(%%䞥`oo1-b>" Hff&+V`…{n:vXۡUYFFÇȑ# : Y_UXZZKZZ:ǏVPZVFZZZr'CCLMMqtpk0KJ8|0 4?J 5G[[~ (p>a„:ߟ۷oc``T*eȐ!lܸ㙘{nzŚ5kgU'AH"`ii̙34i|tؑ;wVmPo߾H$6n(]=%l۶VV?Ջ(GEFsk[ڵm=?wy~܌аj HϩٳgqF{=6nܨnZ0}<|r455JL0{C#ASEmaÆoMTTʪC$11ZhM0k񟚃RPXȀAzQA&Ҥqc4nRd9~9ccc&)gO?pKќ8Y]WW\ vvv(JDGGSTXD 777͉LSNVZE~g=Km֬Y|,]DŋK9"Ad|WL8+WT*믿ppp`5ǹpЧO PTd2CAAwOF'.u :r9..H%R_8ϑ#GJ%ۓzTEլbP(JOܵ8.] K ^%4ZZ|Xܼyc=]~3999/k64ͭ!0`@6K%,ͱ|'11t>?PT>VL%xz6̔KQ(7sL^J$|sL̀P-ׯW/hضj*Oxqo߾M9p>>>9ro,U*;v ** SSS LHHz oO WPP7|Á8qG9~>pl$ΝW?W\\j[RNΜ9T*K.qI|[}%OJbƌo߾IA%'' (/ ’%K1b*Q?ٳ9s AAA>}Z|@̜91cدRNʶm?ٽ{7Sפqc035k׹q.>X>͛c_Ǟ'NoAfİyfmFHA"#8r)+33'2l0~k;$AH@AӧH>}ϥG۫=>111O7|1sGGG(,,|k ~g-Zļy^OR ^^^deg ݹx"7nXM: J8s& ???*-Á""HMM֭[q-SRHLLjl,a9sy/ JŇ~zFPAK:uغu+c֭8p[o۷?~|ǻr 6|,,,ذao* ЫW/ ܹsX1ILRH5kVm9;;˩Ӽޥ III={׻tX32nPZVFAA(ll+yvuuĄ.%p|Dm6wAٰa˗/gȐ!?~ 6ab OcǎR3f  (( &W_}KnܸATTsy*1uڕ222ڵ+O/I&q!VXQۡDBVرc'wOXx8'NEhd}n {աK ZhA?LV-CGUFcGtuuG*.]˱c$E/>#V\9y$Ǐ l <"ቌ?:дiSΎӧ<̍7*m<.Rɞ={سgT*,,,033c*N8?ŋ5jTmSc ##6ۀΞ=MV\[Aq Аi Iiؠ!tؑ0N>v ZcaaE+p1* BCCy|Pqqqdgg公 R*$&&raf̘;w0`"޽{#³#AxFrrrXt)3g|M4i҄ׯB˖-`ԩhjj2i$ZjE޽z~zz:&&&u5kF||}-\GGWf9ѓ?L0Cq9u4Gm۶MƍJwX*бCfceEO?? صk7ǏHCǒH$|mugs?mW\!<<7|Aqgr III޽[܀XhMAA &tAxFÙ?>&L J|_Tܸq?m2w\hfkk ɓ'yT~gF:t(̘1C| >ؾ};M6_Uϸl2&Lؕ^d..tЁ^) E)J5'/RZV ԫGAQYY( 9uqMHiР:gӦMDGG?L:''':wO?ёݻwӸqcr pL&62 IDAT/PϪ b{ҹsgN:EٱcfB[[+WvhόI7[[["##Yݝ=z/]WTQumA_" H7n˗/ܹs̛7I@;c…?𸀀ƏW_}'۷G.ѣGYx1XXXR GGUVL2իWG^^dggIff&&Mbٲe,_h)--}e֜kiӦZDQƮP`|ϳPIJ$H$$pw=_?yI̜ ׸Q\4.HRӒb9p:z8;9==޺uXԱۛȫ:_WWN:1j ~PTJoݺENaȑ|'%,\^{WXA^^XXXポ^Ub455_偂 Ԡ &aу@MF6mG۶m֭}o>SOnݐkxyyrJ F^^#7kٲe|w\tÇU/CXXEEEogΜaÆ9so^d...ĐVςR iSsʓ%?D8&uOtt4uV{CzJEJr GE[KKIP\\L\\\'ݸq={DXX5z2={6oF<ŋUݻ7UAAjШQطo͛7PjT޽9s }_~{ՋW:̌(N3guw]S. ZQF :SNq!\\\uGy1opa>L&ïס*V/{ˋD䣂\.o%""˗/PXXZz뭷իG&-- ,X+}E)-366aÆaT*P ˫שVPPu011?$ ˗/GKK})S5jTܾ};v0p@6l%AjD"aƲeYlЮ];ի7V/qF"""طoZQ(5:u ܌x7{C$^/mӆܼ>?~,ں9r$gՕ;vLqq1U:e˖DDD ˫ˣAiPP߿_$ȂAu >7ڵO>tڕ>M2`8Nll,5KGTгgZ Hx{nhq}annVXARRRC.coo#Vϸ=m^^^|G̟?SW*W[['''v077/P?HBCCqvv#F`ٲeժkp!c=5k[m3 <عs''Of˖-;ӣG$ |Mܹs-EbJsfw((,$55#p6Sn߾ 3ԟĪT*ky ~qDB^^^m100=o@HqpSߟ͛!Oi VjjԨ8pШRժ0aGa޽$%%qIYnCϩ(P*VmڴQ}ob o^Am"Q^=fΜɉ'8qFFFɥK9ڵk3d~m,YM4a?[y.ٳٷo_mܱ07ܼ:Xݺo~xyannN.^bl߶3gTYwa…r6o̰aÞ{Аo FhhϩHSeٳ3338q"PäINAi"ˡC8{,VVV7]xRLzx7ؿ}L>{{{~Wk^Jhh(3gdӵkWNL6mذ[[[vܹsk;N]ǺHe29zزy GbE5OzܹTsST`eeԯ :u*ӦMaÆ7;wHeee1~xƎˋDVVJdgW K$ <==S*>cutJINNVs!6mķ~ѣGWh"J%[l!77>yѨQ#Zlٴi999۷[}?K 4ܹs7?;vvH)jzQnn Z5BCCF#e݋Ѷ][R 5Ǐw}M67Gԗ`ǫ( !Xr%)))ӯ_?a͚5|7Vi6 777LMM +^ ` B[t):tD|۷O&ˋ/A!˙rssճ͛7]v=z2[$ y>djjJ߾}kvmׯ믿FN*7b݋Sٽ{w֭[Gfӧ˖-{yhhh@pp0ǎpIGG*w)-iذ3پ};NNN899J~~>+ꙄbUaa! ={Tz'$$T+ѣ12e GU?޵k;wŋ$ @D"KA"0}tT*U!9LJjUyLƛoɮ]իcƌy!KTԩSi֬ڵcРA>8*l)xqwϟG__OY6ILL O:;wdꟉq1rHcLFNQF1sLvʻK```_r%~!vvvDGG~zfΜɞ={MF7n>~Æ ̝;'''l%B kkkӟ2>>Νc4jԈp5jbx֚5k֭[ѷ/k׭cۖ-ܾ}tBCCf$Ss߸ݼysvɮݻ(,,<9lۡh< *SұcGjw~|'O<5ܼyyh"zI`` lڴUVg1n8 <+vZFͨQXhFFFhSaA)fO|_ <Jصk)))ಟML-;vl /"\NK--J) 455O=ѩS'bіcjjJH*899h";FZZZ_YpS={ҢEҧceiI__Q#~=dF;JEpf˘_/Ük]^qFݾgà .P(X~=gϞt֍|yUIII.]Jtt47o߾888ܷ\K"`ggGbb" ?\Nҥ |gq;_~Y3AXT)KIR;#={Rڐ֭[8t*zjLϛ-z^DN]jMWQFɪU:u*;vח-[Ò%K*~: 6dӦMի}(--}aaa1ԉ9{Çc``ϒʱc8rfРA,_(o9o}0b1c7kkkzJ̎4jCCC"##ɾu#z/@0k,ׯoFCC lmm5jQQQc{ /ʕ+ĉۣׯ(2n8LLLtf#G=( O$ tJ%6mB*m۶J,YRĉdggsv9{,M4a͵3)ѡCR)/[۷k;$BBB(Shܸ1C{Mgǎ$&&2tPhӦ sERUZneggǞ={={6ѣ144dƍ}VHNNVoP8voԩSbڳg'NT%b 4`Ŋ#Hԩ77oĉtЁ~///<<<~e2W^Uԭ[[I,/9z(l޼RUztuuܹ3={dЯ_?ϪUHMMh =]||QT,Z]rMv܉ XEѨQ#֮]iҤ NRpwwtoӉҥK\|ӧ:tZ;wV}Q"##t* JEVVWE[nݺ1l09<7$77W=D"חUVq ۇ.ڵS'7رÇ>?,,իW%YP"coo?dܹQFM/: IDATߜ֖'N H7ƒуHLMMҥ 6mBCC{ټy3;wTbyn[RMV055eĈ޽{Ңs޽-Z0yd(,,/---tѣGgϞ|wtTJ@@o>DFɀ}WH@AxT4yf-GtHRONrr2&11qvrB_OZ!!!]]]Ϋ͍uɓ')--e2d~W͛?'22矌;?|f͚ǫSff&+WdϞ=tޝIBB+Vxy:::lڴ NnxxڵO????իV* / uvHOU֭144d߾cã*f& i@*H %AJsQ.eQdEAdTTVR&RRIO25!ɐs_ə@?;&Rdgg%~QXTɓ'rښo___wNdd$ׯgԩ|w_",,Eu}: Ƈ~Hxx8666_"""ⱷ'<<)SRWWw$7''???F @XXΝ>`ƍ8qxV^ -[0`Ǐg„ 2?D?D* >={ϻkpZF\r-U177k7Ähq9ҥKoZdd$SN`yXXXn:0a}>cҥK|<_llw+aaaATT+V0\x'9xᵙ3gСCqwwxyy믿V6m#F̬f'NǏӮ];N<'|3a!Ll*h:uċ/oSO=ePTTD~J233CkfFFFQ}իj0}tONII yyyTVVyf_S+VOpvǼy 3fL!Wsqy6m8r_5_> ""?>|+ߟ5kp^^'''HJJ{0 ԰J>Q?lllZM/H^^&L ((膇4t:\r}WWWv±cǨNٷ@t믿?@JJ ԰c:Ď;1bwya^@y֯_$ 'N`ƍ(BNN'N੧b˖-Ϗ~P~m"##4iz"==O^ܜ_~? aDѪ1}t}]^z%ݍMeРAO?aaaa쐚V%wo~<?rG:mFU|Po{u.n97n\8<ѤdZ-'N.~vZCo՟)Bii)W+W<#z¾[Nʚ5k [6=___f̘˩c̘1;v]^#D+%= BV^@@TO=t4!C(+/'*; ou5wUU]ןu@ڷK?Irqq_sannJ"**cǎ駟^1qttw?~r***HLLl>~~q V^MFF?#gG1L@JŒ%Kt$˘K q;!DK/ܹs9s&AAAmذM6jpq6W‚^M;h@vjQZVݻ&9::hsW-_\\wp#GЭ[7Z-:UV]h|yVΝ#88^^^xyy1`z;v츩hmDa{9ڶm3|8fff?\bFCi6MDDї,5ךpaNA~9C4I555ٓ%Kp1vM߾}yi߾=K. 6˶m.Wee%#''k6{Yhcƌiu q%!L7K,?殻"::!]+++*++Fʢ춘RX\VJY]Sé3gؾsZÆ *)ZӠ7n{dddpPT :G.^{6x̚L†  e…M~>6lMn6TI@&eԩ߿jzŔ)SHMM5vXW( Wş;QWR#G;}_??4 ۷o?_bbpuu%q'//W77cmذ4;s=9~~~޽^{wsynJnn.gƌwj5j'O&))>3{k-GuuukٳBIH"09{?}]6nHPPgϾ-[srr3=**+7NO?ܹs/L ķrbԨQ;p Z-sWm =ʘ1c ?S7\C=ıcXx1˗/Ϗe˖dG6m e|AjjjX`A%ݺucРAߟ\ --q1&M $iZy:u*-bĉP={ЩS'#GҼ().6,\jjkYlY2z?rsr틕e iym*lقF'`۶m *s2}txWСGf۶mU޽~ ?iӦ7o4adB4>I@&Ύŋxb>fpz#֭[GDDQ5E/hk$&& /3̟Zqo\!'O;g]&֭[INN&55!C\Rחbbbnzi3x` dp!!Lj⚚bcc0w<=<3v,4oJϟwAQrŲnnnhf48WmhMGYYWfܹ<6IR̜9zSO=Eaaa\3;;Hn /@vv6vںQbNB;ooorrr /@nn.O ^ESSppFoIbb"k֬|wt:2d .O?Ǚ3gOxٲe 0Éb|=J@!a%''|r,YBXXi6Z r\Zյ}ƒNjDRqquUT?QPTZA0Ce=lTX㿿Vz?Z&80wuu 9ن]ōQSN}v^}UlmmqwwW^#88ب񙙙1ydxGxwnyŔ)S?СCl۶ FW۝$ B񻲲2eee̚5 ѣG9lM֭X[#Hj k*G_t>wb"JK٣Zniiҩ*}YV\ \[oݖo;_~yqI֬Ysӟ&MBR1i$N>Mvi B%&&mSX`=l߾O>OOOs0jѳ'MBZBkEm\G熻hӦM,-wxPkqq^Ǟ={xoӧƍ裏n'K^ \VO&Bz@͚zKl† ᮻbȑ}7Akdeqal|]]]^҂ꚫqtt֖LbbVVVtڅ;^}j8L]mHnEEEFDCVB̙3x5𞫱F5˵Z /o/4fbbbP΂ u7ӿ<___͛Fi%vvv߿ءbH"0ygϞeͲxRR7n$""ɯ՚XYZҫW/8}-WWHHH@Q[1j(^{5#Grlll;v,?CŐDaP|IS^^177gܹMz(0 NJRQQQAYYuѣ8pvq=𲻢ySQQq^~iڶm˰aXl'N駟f޽P__OTT< <PYr-ŻvZϟO?-%);t:?--~aÆ58~1}Q"""x饗Z-+(\بPW&;7,,)--R٫'!!ȿ)55Yf`GB RSSh4p!6n?̙3yaxx8ۗ%K0bvł 2eMśԩS5j .:0U!LZii)~-/M1|VXFaҤIt+++|M|}}ٶm$ށt2ﱲ"##z=XYYQYUFF!<<???,͍t*++d޽xxx_xbi۶-555yWnsss~ڵkǀ|SkڲtRouqƎo>d9I"0ik׮[ANʊ+gժUh4:t(>NNN5qqqTTTеkWqqq*""-[ꫯҿBckpK3|5صge۶m74<2==M][[˹sxÞ={d(hdd)ʕ+1b7]O׮]9z( ,\lrS-T@hH~Q#GrGǎJѢT*Jtt4dűf͚[N>.0ayyylٲk.Ǝ{C[X[[3mڴFjzeXb߾},\&MI!Z`Nbɷ\Wn 4 rssk0=Z $ FaСX^ڵkٴiN:vɘ1cpuum.g…3f0ڊvw}7UUUߟ |MM&GBT]]_z]KKK;vٔ! !Z[nt֍I&( Ѭ[OOOjjj(,,ťYdw8~8=z4=~I& !L_jً={:w1hР&Qa<qh"0~x9r$rJI>D% $EEE/{]ѣ _ʍ_Vˋ9s`ffƢE_ԩS_[믳m6֭[ܹs9pѲhd $;ZvӦM79s4i\BǤIxqvvF7ؾ};:gϞe޼y9rE1x`̙#U!I2|ݯ_+l۶I&_ҥKOq d˖-?+WRVVdKޞmOOO!J!I EtK^OYx1>U:v*MfC nnn5Xjx5slۖ!3f tU& !Z,I@&M6q׵777*7mȑ#`ɒ%m,woR}vFV kRUṲCd$ݻw7v8BqK!09ӦMc޽tܙGwɄ  et:N}eʔ)MҒÇqq;VٓM!B4\nRB2111уhiQ41uuu0RSS)(( 88WWW=JTTaaaCQ@כptv} lXW\[R^#Lbqr?- B333RRR BoHTTՋݻ3j(nz! uT*$`SM>d&gv!D$"@דQ\,2hC c&Bz@ɒ#QUUŇ~oAyy9 8#GRVVƣ>j(Ɏ;MˉLNƾ ;KK| PQ\UE^OwAϻۜDK#= BeeeŬY6m_~%bݬ^:v숧'ojtBNHKK#--L m]WV1ݝ^^v= !J!ɳdĉL8^OZZJ RgPBܦ$B?-B! !B!$ B!Bf# B!H"B!h6!B!$ B!Bf# B$EQ8}4>,nnnՋc%Bd!NMll,'N|JJJpqq1BtB!D B\ÇOsԩmmmҥ >(Çm۶FPCqq1~?^^^qEv}:!mѣ,\o0\]]رctT}}=&664jkkquu% ӻwocڵ+7u~AAcٲe0zh̙CPPe˧RTTDLL ̘1k^KQT*U_/(( ^Oyy95 hw~SSq$B(,,dƌ|ҡC(++Mee%ٳgݺu#44 /Y|9K,a„ 5[uuudgg@~~>iii(Çy ߧ]vQ[[#:R𠰰qpp?wEt:VZ'|##LRSSٳg |$''`ffƨQ >>=n./5[JJ [noooONΝ)--4 ( ddd`cc%Ũj9s yyyxyyjFݨٳdffRUU;=z@4uwe֬Y8::Npp0ڵח \\\zWWfQgD,1zhN:E^x0a#G>W_e…zqʢEXf nnnѽ{w\]] EEE z6BBBԩ {QJJJ i0,KQ())7?&##****ٳ̞=NǴi8pahqeeeDEEqa=JBB)))&T*Z-<ḹIDDMDK# 0Y-.8q"wfܹ̚5 333<==9z(VVV%v[̙CXX;vh֦gϲuVnJǎ)//gƌ 4(VZũSӓ,ө+++<==qvv̘1JJJCQt:?'Ok.Co5|'NdӦMlذj9Bzz:̙3!C,77W_}>kkk233qpp`<㤥58[nl޼___c]OII xyyn:6o̩S(,,ݝ#G2l0F%3H"L|`6NGtt4̝;vŞ={>+++ Bvv6555oHv툈 %%IHHh4*++$;;~Z}Z-۷gȐ!zqI:}aiiI^sl2Oʕ+_Bmm-˖-_gϞL<[[[<<< դގHNNf߾}cii;zCC^^^pwҽ{w:r?-$ dqSOVӱM6RRRBdde|WL0k2~x}~j^l'_T8rL665pA~WrssQTTTQ0ɓpweZDK# !Enn./;w^l}}ey뭷'\ιs.YFw„ $$$뉈СC:u~5(;tPy뭷n-Emm-Nرm۶ѱcG~GT*ׯ'//#G2rHmFqq1nnnkOppp`РA^sؚZf„ L0qJu.tVmuxx8NNNڵ+,qT*}WEĉt֍S]]L |D,So1ZnO>$۷gر7 'wq^^^|?񸸸\ʨ(+₵5>>>ߟdٙ j(--eccc;3gڵkGhh(tЁ#Gի9t=z[[[멮6$5Ǐ磏>Cɓꫯ5i _7|NCq>kkk,YB`` %%% 4Ƨ( sǎ[ntЁTTTk.ϟOVVzڵ# ///HMM)S͡CҒ 6Ayy9kbkkKqq1;wN?:vH6XK=.Iꈊ"))7x2222 C}Z9szu8@nݰ6rTB^Zh[Eӓm۶v]uh$&%|`EMM siiipt:gX rssh4ordff^3GGG D۶mIMM`^6mħ~j({q_???z9EEE$%%Q]]MUUnP\\!!!$EQ[_SSٳgG g_RG׵nyy9g޼yDEEp]wGѡCvQ\\LTTߧO?;4!Zj>SRRRBXXF"22ügB6Js9:tҐl}ϓD}}=:u'<3=-4 3)++%~177;䣏>"<>>гzRRR7L߷oϟΎ!CЫW/ڶmmڴ{{{<<3,YBϞ=Yv- Sm۶MJJ ?#iii̝;CF۶mqttСCٳt|||.'>>>dB䄕,X|~B[/ҷo_hӦ gwww:tCS0&Z***8|0jgggBCC 55?0lll2BCCСl޼Kdddh~D~~>XZZƲe_BYYќ}W^2O&-Fo6/2a3?2rIN<Ɂظq#ZZE֖N:ѵkWBCC7rRדKjj*nnnk׮ߕ9uVv͡CÃ5k:u:}?FI"Lsػw/۷_~DEEw^ )))WWWC޽Aˁ -ݺuGggg\\\AZZ-cɓ\={rwC{z!L($''sQΜ9Cbb"$%%ß~ѵkWrrrΦ??? KbH"LݝT*]v%990`a6ػw/ zqwwǰa`6mptt%;;l)//'!!**++]ͺuxǛG#HJKKꫯ Բرc%%%XZZϟBaeH]]t:bcc Mff&999䐚Jbb" v;3VFbKK+vEBqe555TWWcooo( YYY$&&g͛' h1d`SVKXXU˻yxNIDAT׫)..6 ݪM6xxxJ )++#77dm۶x{{e8O!i¢1J^^^0o<#E'čD&`iiW,h7$?!!!}B!Q,I!B!DD!Bld0y111A!igΜ1vBYK,Bqˬ9s EkD,BqK\]]%-$ B!Bf#ЅB!F!B!DD!Bl$B!B4I@B!F!B!DD!Bl$B!B4I@B!F!B!DD!Bl$B!B4I@B!F!B!DD!Bl$B!?^EW{/WT(A :@fVֺD+i:յ MS˦RRE b*bҪ@&N:- T{zuv Ux$7yݐ9@aPF @aPF @aPF @aPF @aPF @aPF @ajFl߾=eπؘɓ'=P6oߞ3g)P&B!!@a=YrefΜYHmmmYxq0$0̜93zj37!t0( #@0( #@0( #@0( #@0( #@0( #@0( #@05e LOOO38֦CF3$eOP/BK7w>:ICC]s(QGGw0 CDCC]({[!:PF @aPF @aPF @aPF @aPF @aPF @aPF @ajٹ7==}zlm׏E0x`ܛn$ |FG.x!@hwY^;B:::r(X xB #@0( #@0`joottt0ՍLґeHm턡oFFf?NH}!^'@ !t0( #@0( #@0( #@0( SSݽ7{+o)SO0< a;ofŊYxqC8g֭ٸqc6mڔ̚5+G3s 9#˞[55#},coIwwwϟ_,1k׮lܸ1?OљcE]44ԗ=UUWWC$ceժK/5UUUeO!@/R?ɏl'*UVe޽K~(Qooo֭[o_3F d'ٳS[[[7my9rdn֜vi1cFٓ8lٲ%ַr<39ٟ-̼ygfe;hZZ~?6lȺu $e8\FN;̙3'ַ~0?iZZZ**>߼kyٲeKvU7oλ\~9f͚}zd۶mYzun!@^ECCC.\zκuf͚˂ 2vزg+YdI-[o)\ ݛMy䑇u$ɬYrSw!.N B]]]Z[[Zaoܸ#rUWfٲe׿+*55#߿?>%}zO>o~3a„s9_r{nf۶_SNNcccٓ1/gW}_#;?Or9sf_W!@(ܹs{z֖#G&#FԤ&553?O3q,]zufΜ?^k```wQjkk3̝bŊ|{I'jN0Zdǎ޽/'MuuU.ⴴțvqfٲ/g˖-9Ưk 5eM:5Ӧu  ao޼ymz)Op;9in+oC== by |#իO3ftN;̝;7ӦΗp`L6-gfƟdƍrYd8H ~DŽ /ʗ|ɦMiӦgT P]]sf~79p0xUUU袋ٙu-{@E 3o޼s=ioo/{'@u{9#~)Þ1z\xٴiS{챲 kOό VHWWWS5swqe Ҏ;2iҤg k;sEaΝI"@"c֤貧 ka8Ԍ({ &@`vܙI  :۟]v|[%@umI'XaOؼys>9eOjٹ7==}zlm׏E?>hΝ[ @νL0gt⋧' /O>)A #ѐ44vttt9%͏#ԩS˞P0АƲg6oޔ9sfڱI*y+o8G}455kVS*Wyp̌5)Ctuue۶m99eO(`˖-Ȝ9LǶ~|F+I+˲e˲gϞT 0 OGGG3N:)\sM:;;ve`#>x ё C9566f2eO`ŋg{_[;!cxUzm̙3˞P10SW7;! 1S [f֬*{ @ pٹ̚5)E%hkkˤIeeO(k_rs*Wښ˿̵^{9Ak?;/\rImVaOkʕ+Ԕtuu= `X :f͚e]P:[ @`f͚[n%Vʲeʞ0l _U/"?ʞ0, x,\0ЇJxչ[ܜEeϞ=eOVA;}oy晲' ބӧ?:+w.{ @M1cF6lؐdΝeO8 x M 6d߾}iii˞pH M:56l@ZZZSO= %@ 2eJx1"---/~Q$CdٰaCF<eO88=lذ!ƍKKKK'Rd'N<#<2---ٺukٓ@sss֯_ &䬳ʖ-[ʞpH 0D&L?{lf۶meO(!ؘ9ꨣ.{@ :*~{x,Y$eO(̞=;+V7ߜ+V=4 x|UW]~9 Pn!rJ.´=p 4jԨZ*/R.= P 6iҤ|;}ݗ믿9 Pyoor.{@aϳp,^8O>ds !@$չА /0/rٓ\MިgeO _B.\r%>WꖶRT_ w1S xuuuikkɓ˞T  +wݻ˞Q|CFq( #@0( #@0( #@0( #@0( #@0( #@0( #@0( #@0( #@0( #@0( #@0( #@0( #@0( #@0(If%2IENDB`././@LongLink0000000000000000000000000000015400000000000011215 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_shapely_to_mpl/poly_interiors_pre_mpl_1.5.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_shapely_to_mpl/poly_interiors_pre_mpl_0000644001374000021030000015550212700747662034011 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwXTЇH( X0vbM4j4jj%ĚXb(*vEE RurLAdC"}f9DDD`1c 0c1@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5c1X1c1Vc8a1c@c1c5F Xm>k1+100sm*[GӦMk1X zcpuu0c/ݻ>|8:Vﹺuֵ] cz3c1j  1cc1cpc11<1V!"<}BNNP(T*Gnn. mmJ ###ZfB#::=H$hhh@.… uQRRra100TZ`1ƪX@DF^^d22220DGGCGG...}6BCC+=D"ARahh"BqqTņ 0f"??_(RBDFFڵkpqq D">A.LMM!Ю];1zzzֆ6455RP(  LdggӧDTTs__y)cWcTPPR`eeUv...hӦ r9N:X={022.b1D"J%`hhmm ST())Att4|||[ӧcĉBHR JAD(,,tۍ7O?U&44SLt]y`<{ŁLG,&&&044… ecoI}}. c1 "gϞj ~ D>}ЬY3 cƌtttHT=KiӦ322Z8k׮ 9 ```}}}hhh… `aam ɸwRSSqa8p*-oUc߾}xHO"55)))044Ě5kݾ};ann xv vKuP(@ZZӅGDD@R VVVXz;nڴ !!!HNN T*q /__BӸr ܹtD"j :uYEe1"*+X=///DFFr"7G};vIIIXj7n3g`׮]ʪvލaÆ6 <@FF?~u!""zzz(..jСC8::-[|逡6ݸq'N@`` 퍻wV-Z@-N:ɩFʘ&IHH<==#)) / ={ZΪu ;;ݻwlllϟɓ'|߿m3Vp c앥B.Dm! @xBƍ Ÿwr9W_} w}<~XhM>ݡ:`_888 ;;mb066oN0nܸjfe˖hٲkעfmpss`\֭QRR蠸Xmك=IJJBff&>\\\d-]OFhh(W\ƍqI_555~z4hjΜ9;Dcu J)Jĉ(,,JBrr2|}}W_ѣGhܸqڢGɓM4L&$̞=)>lmmajj999fh^^^eD0;w˖-CAAUVضmv܉۷oW 4RĬYZ 6077G߈&L___|w1c0F6&&ƍChh(F$ ;;ٸ{.j׮ڵklz T* 8Px|b߿۷r0Voqcڵ矑CCC{www|w000_|K.5jmmmxxxӧOVÇ+W .T۶ABcǎ dee!..&L]Y[[ϟG=ڵ 96O|w^??K^7͛1uT666M6RUKKK>}֭[Ř6mF 033õk*}Hιcu  q444[[[{w.^(,Dǎ˗DmmmiX,9 !~ܹ3N>Ju+W`mm]a\.СC~a3T*r9r9 ptuux{{~~~}2$ggga+mmmL8s}#"<<ǏǍ79s閩Ǐ#""QQQ~:*@ ƍÕ+Wk.1vkԨi& <<7o|nn\0blݺJO‰׮]É'&dC2 p-DDD 77vvv8tZjUkRۈ3fѨQ#1ń p ˡ )))ƍI&pvvF~`aaQzVX4"&&FX'`bb=zHOOGZZ|}};;;,--'k7\p7ną аaCUkݞgɒ% l}K.Źs`cc_~!!!8qRRR|1...RDFFJ%444 Hp >Э[7`̙C W-e(GaΝj{聙3gymڴATTZ5mÆ "uO\}OLLkK׮]P:qVa;J%3''>ǏO۶mWүJ=۷駟~>}:?H;w6mPƍظu400uQFFFM_J;vPdddm*Vo?1*w tڵZMD>|߿055?܄AΣF)rssܭUT*b<}zBTThӦ P! uX(JTx XXX>}6lH$СCq9|x#G`߾}jO% J%lmm( lٲ#F;#Lo8}47n 777vgΜٳZj0tPy氳{k{ 3`ɒ%?~km+Gaǎ􄇇0_&^`ٲēb;󃿿?_f͚(:8n8H$,[ 0h l۶JY͙3/)-[?xb̚5}[tUn߾}Xd BBB꤀פQFxpD"dee c455+ÇprrJ999x={-[`۶mF@@2LQ(033}iӦKDڵ+N: @XT7{իLHkkkH$ވdž P\\\(Yqvv `ll +++$''C* ...prrRL:u nBbb"y̞=4i>3߿ y&RSSѬY3o߾HIIי>|WB$ux0c DDD`Dff&^+WQFŸqg|wpssDT-[b#젯\ܿ7n@=дiS!FDD쐕W^Eaa!w?WWWt@Y9s^o&`wBgΜAdd$D-[DII R)P\\{ O7ߠE|?۷i&9rÇwސz*LLL`mm CCC} CNN*77 S?)))wqq1VZ\ fffP((..1`bbw}8au ު>999\[lڵkѥKt ͛7o7D"X,FTT>|\!)) HIIL&Cff&>} kkkMjllf͚[n X,O?'O"-- fffHMM&&&uн{wP(B SSSdee(Z f̘Q5@HH6l(ӧy&PTT{{{4k Ϟ=C},XP!Zט1c|r̜96l۷ahhT\rqqq:iii {?+R˗/cԩ(--EXXP( T=z¬a*F[AOݻoSLrT [ׯdzg`ff///4hEEEń *˒XaTthذ!_mT*deeA,B.رczzzh֬yt'NmbǎjA~M6O pB7Lnn.ͪ#a욆,--a`` ̨5f`ժUe2VVV Vz<166F޽j*NU޽#F~ç~+W ={ >>y nFdff=z􀥥%?$ ?~={ Э[7"<<OƝ;wpJg111A6m\";;tټy3WXW>|֭޽;>?G֭1m4]7nǏq}̜92  @YO>իZ72Bvj*|/<ҥ BBB^8UADCqq1222c$&&"&&!!!˃틠 tرNޤaؾ};b1F> M6}%yyyصkbbbgϞ JѵkW ={& ";OƐ!C`gg; ݭ]P [''' 8s rrr4 IDATlxxx`֬YHNNƭ[p<|B;ݻ{ 6nܨ65{3 044D"ANNQPPddd`۶mBqaݺuFVV455L &&8ur9 'IԤ ?I.cǎ$ŋkԕ+--7nPhh(ɓ'ij1---Ғ6lHZZZj̙C#{{{aX,6m}dkkKHCCͅ(33S(CDD 2gϞdbbB , HDgS*ԠA6<##CB}>ѣGӜ9sb>%%%tQ:~8}Կ CҨQh̘1$4iҤСCdddDb>&JE999o Ǐ}n6nH6m"4uJϓN5kP uЁzIT\\,fGѸqۗ;FC*))}e2sol )<<]n_͍ hTTTTΦӧӢEC`-==.]Jh̙t=z uYx IKKG+W+W2d2ݼy_³_URRڬKΝS }X]?;wL%%%T*IR ͛ȑ#k׮—}H.ӯJ#G$ggJ\Wk EZ*R())J&''SXX׿]vcǎ ٳ֯_Oϟ t222@‚vMJnJ-ihhT"Eӹsh͚5_P֭ 6Tv͚5y===OiNԳgOJuՖcǎ15mڔ޽?|~'2e -YDeyWWOOڶmK&__Ni;dر#mٲ:]%111jeiҤ ݸq,Vo`iiiɓ'>C ͛7vޭ/Pdd$ۗCjժWd,++<<<Gt 7ԻwomےOe˗]ZnMF"DBU 6mDAiii/\Nj/B ~| 7$Ji4zhԩ-Z]F~!P(h$W^BNa"HDBCBBu߈$t1!WZӹsh4qmiziժU4m4.YQTB/ [̙3iŊ|rfƆ&OLK.sNz!_n999X,&www'777~͚5}222ܹsgrqq^R^VKKK[uX,CUڽԼysa[SSS2778(ŴqJ"ccc}QLLK,]ꞙI?b1Y[[W).W\ۓX,ŋW&%%P-ŋ4dU:mݻʘ1c^jUիWWxr @XUYuvv6;vFE*d/.+p!RT3O?N:/I$a[Zj݃ڴi#o9s_oN;wF RvnvDTQFK.]"???y۷'w^W(a@~sV̙v}ڶmK#F]6mZdr/))Ǐ ]]]ٳߣGhҤIB+ {{{Z~}uzw>._LK,˗Sjj+ԐViӦq@XU>nj'X,stt$__jq._L]twRJJ ]~]h(*J"HXfhhH{!RI}v  ˣP:r+ޮn޼Ruf͚mٲlըQ^ireT*=zlB| 9ۛƌC;wj?oe^JC%###@δcǎUZZJÆ #XL4k,aM^i&B Vgю;^zLFDzzz:VoU5QT$͛i&~|ݻSDD>}FnꋥKX,֭[̙3+}oD~~>5kÇcƍP(֭ >}ٳgCTT/_VZR}R)6oތ?prrH$Z";D-ZtΝ nݺIW\ ooo|gʒ"""ur9R-6mۆO6͛7GZZLLL+V 00HLLDBBX*>}tuuZ[jE.]3g|ϫ= 5k֨-swwqя?H7om۶͛7_i@$Hhʔ)tJEEEE$АMVvO<#FPǎ (n裏>sνRyZBK'ƌCׯ'33z1yʕRJz%.KZZZ4i$:s mٲƍGm۶FsHd24i ???:y$%$$P^^^SnݚRSS_lB}!}}}ҥ u҅HGGƎK=7O@X*?%"JIȑ#ѣ6}jsU5JuQO{Y+qFH$6L&#OOi²'O-I$244T* L&UVihhPӦMɓ'r7١C%&&-O>_O8Q(,A… ծqƯNSTMǏ;viٴtRڸq#4ydrtt$777߿?Sqq1uAv%GMAAAޛbiΜ9BRYfU)!( [F$*..3gЅ *|Wz~===iѢEtܹJsFR|pZJN6l(dt}jSy+ZFU_m;wLԣGZn5i҄lmm޽{ԦM211k׮r.RTvZ4hĉ>$Hh񔔔D7nܠ1cƐH$"MMM277W]I" T<- B&L^zQ=h]ugo7o1bvvvdjj*033S&M* rkᘥ4k,M4w\@Ǐ={PLL ]|YRU.; [[RW_}E~! 6$,ZgϞɓ' ֝h/Pé[njS\rVrssiΝ4l0РGBx]vkBBB]6lHbzEw!iؘ_,ooܹ?dƌ)cllLЍ/ϊ+HWWoNEEE"ڹs'}:ɡ?$ ґ#G(!!AET^PP t̤yѲe%BA$___255% Zp!rTUIfZUVolRIBΉF˃~]@D8rݻ>}`Ϟ=xw1gacPTzB ?P^>0l0ׇRٳgc8;;$''Ww_D===ԹѺK,ҥKacccǎ{vw8|05jTaڵkzj ;v2V׈jՆ(xyy!22[~߿T[޽{;wӫܾ}n†  6`ܸqRסرcbccQTTxhkkӧ[;wGFF/˗P(0T9DngB*@X״iSܼpg;uܹsz*͑mmLѦMÇGL=]]D"BSCW&ZZ21ufhܴ)!kdoooo\rpQkO :uH۷M6|GGGgΜQ 00o<,[ @Y~ TOP}gna:t^zaСR?&L@aa!&O\˥:::С:t ,ꫯo>wܩ'^^^ \.Gtt4v^za s)BBBЭ[78;;:v'11ЈydLvZ[ߞ2T* [@X?1*,,|e]Z+lݺ!!!߰=OHHv`t GA>}77zcǎ믿ƍ7Vdܹs͛7ǦM0f={];u V ~f,̰pBb8p!!!h׮yK/FZz:45!J'3 JXZZ@_QQQHOOG۶mѰaھ5LIIHJѴsgݷﵶd2ر ?~<1|p ]ݻf͚𱃂P:u*ѽ{w=z>cona-d;ʕ+1|={]tѣyZ.eҥ :wO>Dk׮!** oe |2? 32`ԩuW^ ɓѤIJƯm۶5R7>~ZB,7zmW}}}|g kfaÆ5k>쳷jRƍq=L8d~@rr2!aooӧؽ{7nܸwwwDGG Ҳ:(((}z]\ m/Bhڴ)Z{yzn=É}!7o^yCu24K .'偈P~(D7P_mD|ĀJ M@ }LL`oPPGߤhjYK q7orR~'cڵz*e˖Xz5 1---,Y5k۷o׻d֭=z4066PtQSS#GT*EΝQZZe˖@٬P˨|ر&ILL$'..jmllݮܹԧOakkWDܢ6 Y ŐБ*`f 8kPfF0z¢"(JdEll,RRRahh{@CC\J,/Y RĀB*ݲDJ%݃R ;y5ؠ&$ ''GxW6 IDATw?n8?^Hz HRaczqYfaĉG```mڵ 0}t,^XmᅬiӦumŋ1i$A.CRa޽2eڱ\3hRA䚚5j׮]æM?n\J YBYl(EF T0k$Bs#Miz)DE[qpGssQ/R ED06ЂK J .DɓB EPh$"`_aCJ0xӧݿ_}FC$|5sL:uKۋ,--ahh\S+Ν;jOquWŋkbΜ9Bɓ' 㑚 __\![nE35ls?;}{ q̅^_5S+4wiYYef\ q3' "*lA:p$(zy\C}]"%+1PnFy{&Ok++wh=:4hDNN7oqfUC|}|x })r'#NMi:K|r&72,=GT5@S Lu 0LO{fbF]&C[ 77 ɓ'0`666,]T{ommT*eРAݻH@A@.?VɗŽGNNjIV233Uw֍?SS舣 ȋШFGn7a EMS)X9hl&Fd3)eePaF Cʾ}8p jSܼ5^^^*j됝#ȤCؐ̍hhmFϞ[LFv.9$f*HLХ}+\W0 rW/Tؼy3&L}ڵKUATyf xzzruhѢEG-/@jj*J8ʕ+9v%%%ۗ/((`ԨQx{{kf=^Ea/seLB&affJ"""Ρ>mmTϕKdZܸqV{鑞::DGGs)ڷoF +QcllDN 8ʿ-Zx.r)RRSٻg/nzȦoB$jijUjF= ]c ~O?%Fl\: K2||M~՛.eee:ub>c6mڤZr)HP P;D"C"O>/[fҥ m۵cRSSqrtUVs'34n䁥{D3Ƨ%<<ٳgs &NbѢE,\P3T*4h=SҠArrrP*梯 P"Wbjju]Rg)--eȐ!L6MQQ=$R)yyy}&/Ky\QV./%..zpssg OZjIII gϜť =#ˉ"""ƍӼys(IINE  TK `kc%R#CC ͛qDFEr,(B?K 124$44K KtuujێKarkׯѢE 5lXKar9ӧOg899ѯ_?lقk׮Cߟ#Ge<<ܾ}&M'epyq1ƌS<]l۶M|̜9}ҹs**J%1XYY=28z(nr탩300 9)$q;{{,--|ܼOII /X?Aח;qƗK@@:::7ŋl2u&jJNN&66YG ע177{hP*o}==:w\iFё.]:ӵkWrst){ݛNNÆ o>^%|CM&CM&{dMaQ!n99WׇP^q}4jԈgwH$\\\xwعs'?kͭ󓞞NPPP^+ H$>4i?RX?h^\ZZZH#G<$Z[7.4iҘN;ԠtJj*{#߿Ttiּakcg ""p+\ ӖBii5R=P߁ ]T{I&$$+VвeK"22?C՛cn:9sfϓq㰵% ccc TI'A2d~)k֬uNH$=ZyhhLMMNVwf޽$&&k(**b}|lƆߐdegs+=SR sƢP(|2~~~DDFĝ;YѫWJ hC\\|JJf Jr*R&TU $-RݻwLFf&9޷L`޽Lɓqssƍ9s͛STTjjjРA||| |%%% >SҴiS?cѸߝ{@AP裏g֬Y\p6{{}l޼͛q4/ 00sqC2|];F^hkkhjiFQQ1!! 8CCCnܸAZZ2]swy JH%kZlɹs牍)$'& uuu_Nb ڵٹ_}GxD8QLLE[CƲ|rؿ?rb233$77^ʙ3gxwX|9۷o{篿`̘1|pUzgy *2:0zh^&yw9vX]BkҤ E^ZJaa!CRɹ織I _u:usmm455dcjbT*A^ZJ-[..θ8;_P@nn.zo<憮.ddfpAQWSYfQXTȵk׸s' 77W j߀B֖$kcdhQf\.@]1? -[TbĈ,^={T*ӣ(rJN:ŵk(,,$%%ɓ'xbLM:q4mڴήU^%/ϝ ulݺcggǤIp~w7Zu8/>\SRڵvxzV}2*077ұ::z.H_K+Kv ZeemMyNNׄGTZHRRIhjhybbb>}:!!!T$#gÆ ܹsYfˌ3@T"ܹ3cƌ/ 77D7n <]"AѿVX+ر#? l)??>---Ǝ_]a9y$wcǎqO朜 FFFDDjHZ-}}hki1b((,D*`DޞȨHLLLpww'==9bgg;ï?… S~}֬Yûヒ4h@uL=Kx###VX1cyH+B Gzz:֭cxyy~vZסU[ZZcƌĉ5e˖ʻۯ$v#oߞaCVz]]RRRӘEJHII)_d` <>C ǏӨQ#9[xv455_SN|Ȑ!deeT*eȑlݺ~ϦMgU'AK"`aay>}:^^^|tڕ|Ш0رc 4D֭[ŲZRVV߮]xX[3aju|-MMODDܸq%ͭlԱ#HNN133S4fQZZ** =,X֭[ywغuyj{{TxYv-HRN;CII U TQ[фo!Cﱴ+ח6mڰm6LZZJAa!#F䣂L*YӦ4kRIqq1￧i kkk4Չ ~fMDFrLytmyH (S憙!!!>>g͟?>իW#HR,H@AaÆ_0m4]B௿ޞe˖=8_._ 8}}}J%2PPPΝ;+3*nvVrb ֳgOF ֭[̚5VW*?~-[2o<ؿ?֭cl@U>h7nLΝqqq_~Ǐ?X+q .]Ν;iԨQ6 :Z1Rs33&yy'''NJɢGsLMMqypG+HD!11"B矪W 6l؀15nVVC ȑ#jՊ'N`RTg"""011aСNNN066& >O>DuPs|W9rӧO3wo='tSx1KT?ԫW . Jѣ9}^b_I-P*̝;Ν;q4 <)1"Bdgg_/YjcǎET>`.\?ΝS%Pn/cĉ,+JJ1dJKK9z( ĐX*{nFLVa uu*O:U9auikiŐ$$$о}{nk!!)(J$ ~w[}] TD"BtRv@tt4Fу{5z聏c400`ر,[ 4i¦M+++BCCkWMii)fguXYӦhjj`jbBϞs-#kV[cWώӧϐC޽iƒ(M`QBC8x啞δi=z4?u OH$ ؜9sgRSS d5SOO'R͘#Hppp'>ǫdŊ,Y~Y*IFf&(ݝpnݰ^2]tA*pB#޸UZ ͑@BBHMK#%5"ܹCbR\&(8 .PVVVP*|@ޯ7B'XիǮ]b8'N@__5RFѥkW8wK[booOcתU+#"XqCff&ȞQBA||<Ǐgܹ믿2tPA&ѧOg OH@)f̛7_6ѬY3n޼3m۶EMMYfi׮ xSSS066~gggӢE nܸQ˗,'zRZZZL:Cy8q9NgmiI?oo طo?N_u7%HٓEs|vN⩮k׮?֭[ʹ*$$$~cCeŊQVV&[舲Ƃ) fҥL:___ju}Q988p-UK>:vŋQv%3]t!))׮cbb\^Bx ESSCʐ=@4r9~~~={}6Æ aÆ4jH|m6"##h|}سgGSSk׮uhOqWD -N߾}駟G$** gggMFXXڵ%KuVٴiJ2;chh۷4iL<رcGJ% 2 JeQT\Faq)r +!+;S&FBjF.*2n`r9'N -5 WWj7?8q"f[1h &MD}v\\\Xx17oѣ﨩}:5bٲe̜9{&._ x'ҿ-[ٳ<) u=d)ÇtT*K.t҅#FUyիtW^mmm<<<6l=zxO>}ر#ӧOщ_E -Aq79U(@%J3 A)){??cVG@ARNqi8-w뉻W !!!77WJ⬫:CCCuYqNJ!''իWŽ;O"4sL/^Lnn.K,AKKFHNNO>XYY۷9thkkqJFWWF%Ax$ 'Ofڵ\t%K2 7|7,_ww˔)S/shiiɓ'oR?^^^88 --- T5<==Y~=G&77f\ԗ!(("o.\Օ .TFELTT999zZt54hS 7[۶_^T"##P+(J8y$OOٙbbbb<֭[׏hҤdҲeK,X@޽kۓǹs%77N_}>W0`~~~ՎAxAs!Zn]ס}п*gjjJDDgΜO>?m۶Gpps5jTohh… DFF2rJǜ*hii_իW(,,|~{ߟ &?˖-cݺu̘1Z1lܸsssW3 ,D"3ahhȺu}6۶mҥK4oޜ͛3{l} ,Y_|a*Q*WÇB`` iiixzzp»deeO?ĦM8p ( \J~8p+++LMM::#Hܹ3^s40`jjBmHHH$꣔)]̞}سg/I4jԐA[KpuuU%T*9rj?FPP>OZAA|駏|D"aڵhhh0h 7n̙3?~|deeg Ɩ-[ҽ D"3%H6lر-[fhժ:uA4nܘMAUغu+!!!:tv1NNN|wʊnݺaaaQ9CCCU!d@xx8Zz~:v@n~>Iw4tAKKZӔ@X%.] Ȉ;ӏ֭[^5Ѯ];:/R~}zAÆ ٻwmuU}7=z4|嗔>fffL˖-k<ĉqww/A_"N3x`֯_͛7ٴie8ݻwرc׵nݚ-[Cyי4i۷g :._sܹRy9::ҪU+._BPRܹŹ#<<;;[:vc4Һ)Sp .]z222 22++cܸq,XC@@Wm۶%$$--(ONN &tA꜑cƌr۩S'HϞ=yh޼9C%((DGG,B~( ;W<$ #'X!:ibHJJ"&&---pw²[m?dҥ̚5J\MMMٳč>LyEvy=رcYfMvk i߾}M.C焘ṥ޽{1c;v୷̌}"Hꫯ*O(T*ѣ=$ v޽;yyyܾA^^>$'ϡC7G#>>ggg|}}iӺ5Oe~FAAA!!!Usqq!66VgmmMf駟 ޞ?pX.]^:::tԩcC(OK OH@Axihh_ȵkO`ܹwbJ%)))~cԩܼyS8UdkkD"!77Cyv] zt֕!CЦukd2r(}4i&G\jj*jjjժZUSNĉ DgM$ 8v/^RuuoϏ)--eĈ4hЀ޽{s*̙3;;;~gK_7o#FȈ={2k֬rmui˖-гgO/^\}ҋ/F[[MTe(A2k,fϞΝ;quueݻWD*##)S0i$|||Ozz:1222QWq~} <=b /,իGBB_~%|Gi J%/_DUvرcl۶///<<<"??+V0m4ÀxfѢEU:t-[V4jԈK.1uT>S<==v^"]uu:<֌+H ((GvmB_Obv܉3$ojjoʕ+?m7n>( !X~=C LJwѵkW233ꫯ>}z(++ 0ɓ'+z^H@Ax^___;D">#:Zg}bƌH:::SXXD"BR$777ͤIu#Fʕ+P(T,$ 97od?~IrVIQãZs x~nԯ_LzSSSQ(ԯ^#G># }}};tuu߱믿s%''>S-"11zsY|r#155UGh@h"UUiӦw’%KX`A] OH@AxѣG2dܹs122Rˌ3033ce˖eFYilDSNU=fffFXX{[[[~' 200ϏVZ|6=zֱ8O{EGGcjjRkk͍֭[3|p155]]]-[VQMZ9WfsfϞñw<==Y~=5?yQf̘J>rrrTMZnwΝ;E"/m;A^I&&& 4J#,6l?Dn*7vXG}Dii)gΜYi ־}޽;$ @D"KA"0gJe!~)GUVըd2o>ĉٳgO<5k-ZSNw((,$#3L k7DXXzzuښPprrАlmm ݻݻwSx{9ydƍ\&ѭ[7d2Y=s #FҥKU߿˗/'00KAxX[[pT,ruueǎmԆOOOrrrP*o֮>+;v 60}t.9WݻCz۷,&?e2);wi̥HJq T}<`-ZqTuH$888`hh//fΜ9׏[‘#G0339_ȑ#۷O5٬Y3<Q(о}{>(/ D"KI"TP(j5jYr%'OD.L`` 6mݝrMMM~VZ1~߼ vڑ%6&Lttu׮'4숥%H$8i999`奜?wss-{4hjHHHy۴iyי3gǏg޼yٓ~??~z>lmm?d޼y8p@diӦlŋqttdǎ}] <{"`eeEjjS_&VzҥK :&ML&MZ O[-Xh/MضmEhkӸqc"55ceeE_Q9mZWhݺ5{e}RZZڷ^Y%pY ڵ+u;Qceeofɒ%X~燋 ۶mcÆ ,Zɓ'SXXXY͛73aƏϊ+044D cM1b#Fx }3\ӼyshӦ &MEI~80,,,@CCqruuu""@z8zt֍5011!R(AAjX Hإ0nތsN>ϒ!!!tԉO? ҹsgرc3gT%đ#Gxy7Yv- .0k,|MVXcL$6 [p!!!!L8&YbN"%%噟i_~iӦJTzA,-,內g w727o>kB$Ra/Ӣq"Wϟ^zݻTʡC7DOOTOcرу_~EĠT*իՊb\A"g}F^X|yѯ_?UY[QrJ024P)7/#G~2iܸq]XXXoΠAظq#ܾ}`yfϞ]%)Φuָ|r @\\{>̙*^nFF/&%%RR)\z|Ax"᥵{nZh7hfVy7 "))x$>Fg\^M4y}3~xҘ6m]t+++~*32 Rѿ:T*e֭0almmYj7M6\v; L:B|\==ǎ#99e˖IFzpBǎKQQc1vX7n*x1cƠϒo©SXr%'N`Ĉ >k?’%K;w.G /%\38-[Fll,;w$55]vEF6l}ᤤV>R777̬p*IHLСChhhвeK|ӦMc`mmMll,&&&lܸQu˗/DEEw3gPVV9{,rÇիVzѣ#;;nݺ?P^=nʪU c˖-4hЀ͛7ӣG<<<;w.Na6oO? L$ Əxekjj2p@Ǝ @bb"sΥiӦ`eeŀ^ّ&MˡC}v]'WD7:usiXZZ2x`PSSƏODD充>>>x{{~zrss9}4vvv0x`#""Je3b\]]iܸ1۷-[Vsҥ7OBB8;;믿ҩS'OxgF7njjj݃"BU"ᥣP(ضmRéUVP(8}49r={vZ.^Hfؾ}{]Tdxzz"oʪ8y %oLV<سg5":tŋQ*[r,X111DGG3a غuǠAUN:EVVgϞӁ6m/ hԨ֭DBnعs'ot҅+WIƍ r2ׯfaׯϝ;wj+)9y$l߾RUzttt޽;c„ DEE1x` ƻˆ HNNhm--B`ͯ۷o?`meRw8-M4a>|f͚qYUOwwJݛ9s͕+Wz*C ۛk0p@tR\ݻwW}|IBCCr JRIFF7nM6ՋѣGIXXM6'''G5D"ˋ 6p-::uR%7ٺ]k IDATǏz}PP7nKD"K?ҥKٻw/Ǐ끛x_tz::L0AusZWN>T"qcG,зo_BCC111Gl۶ 555~*3믳}v[r]^z>͛74abbرcחAٿ?mڴaƌxzzRXXX% zɓ'_~|7T/oEϸq:thn /V{^'%J3g?~x:aÆXg1I"ׄՋ3gPZZʔ)Sbȑ,Y.]JhhCߙ4i~)yyy̟?F1~z8@>}? %..u=ul۶ gggf͚jxx۷O>ooo߿?}7]i ZX@d"Cq<}3vHMO>888;fP(S%SZ^.o _}ڵ 22֯_ϔ)Sx7ox뭷`…]N֖z(&Ol֮];^poF @DDgϞ>`ƍ/xyyj*l7nǏ!B$ B6iĈ޽-ZdpJ m ?Y58z(>jѾL̙3;dݺu2~x'|/̇~g˖-/jűl2özC͘1 'ǏLJ~ 333N?yb&LǏӾ}{N8ڵkqqq70!IW!Dչsg^z%|M~iܐ.11RoP9*ssrssr}寫^kzͲeڴiL6r 믿f|8;;7!XlO=[oߞd̙cΘ1cK=<<8z(_~%> ::+WGO?W_}zj+쌳3sTTT ( a$Bi?裏XhQ ),,d񄄄0FբhpuqqM RrEܸS'NdfՅ_yqttk׮?DΝyLJ78p | ~W_}ӧ_wPL>-[C@@'<K1c8vݺum$ B6^筷޺-+_~"Kxiܑ:glwlо=^]$b=fVSruu姟~r,,,Cѵkkzw}|wDEE|rP(t| oʜ%V⭷̙3l߾,kQ(}ǎ;8u$ ¤I"h\\\x嗙={63f $$!ݰ 6w߱i&I>qFLa?RQYɮ]$00"3NNN899wǗ0ѣtJF`Ŋ<3ρΞ=Khhh>>>0pz۷ohkd,!IxgE;~zƎѣ[Ue[UZZʕ+ Ё`aeeEm(--> ɊrJF+BNN;v7ޠw={9:ݻwc.IDalllxٳguOX]̝;p>dر^o JN{c?NRI||juF[s1dx rssٲe {+6mb޼y2tP^u2225kV.ƌÐ!Ct!I!1bχ.5jԯUM^'!!h/Yjnn핓JRSӀ )//oMZgϞr1vE~x衇С{mذmۆs}}п.\˚5k,\1cƴB\$ BKll,+WO>&ά1v-*;;bKuu5(?2jN>ͷ;R3|0***%l5 :cǒ»Knn.G5L26lǽTs۷ѾKC3j5'OfÆ `f=k׮eÆ lڴomJDaRLW^L<,cuUz2N6'ObeiIǎ^'!1Q6m|~NL͍BݍvaҸy簰 ]vxwx>֭[)((`L>xT*FbҤI7 O>ܐ$]^uz\ ,$BK-bƍ0s. (,,4%;wp0FÞ={={6~^^rZeU90j(4K7@߾}Zpz#֭[GttQ5pz=}Y]… =w.iii< <8[jmWSTTg ElZN8oz!>*g|}}ٺu+dee1tˎi׮$&&dȐ! <qC$BKwCCCC9uꔱ1P$%%mRWנއbCˣAERЀZNjjʺ:*jk)jJ)J **PQA~y9y䖖SZJvI ~7ϧ ..]zytwwwT*s233mF.] ھJVZٳyh׮]$_eΌ3puuG<Ӕ45/Er#^xٹs'666M-E* !į|}}pႱ0x((('4v(-&߁Ӆl; PΜy?K._+EO~N̯~"9?g 3`eh8Ne332V ޒ4V^ͩSoh48991tP,X~- ӧOvZylBnn-/ 1b4i|u-D!~egggDll,]X"""Nqudu5Zu l*;`gcBq!33 nO+K)KE||ckJJ?`ffhbz] *zN<ɷ~k<ㄆ5>sss&M=>(oyɓcʕ>|m۶$ qD!~UYYà_|ѣG9gRbR*NMi6~&&&MsPN%##<4|U+-+=zR 3Eضe!OmYxGdΜ98qիW{ĉQ(L8SNѾ}{.\h.!*"JKK3d'O2o<|A|}}oYv-FvaRѣgOu23 3ŵ?/84VV-;<4cݼ{eqɴipqqaƍ|Gք HJJW^DDD`! != BsܹM@t:9[laÆ ҧOF]wuS5"kˋc:V< {;;232UVK|tҬUO2h cBCC)..K.XѣGӮ/>^^MvN6ݺumvIKKՅC4iq|:zBCqsskLM||<)))dffҾ}{#GtYv-=zbI@E[kvv6|oeNƪ@\w%..ۧI0u:6׈ܜJPRqe BOƧ \ EV4Wب(..v ŕk׎9sT*}`ee=0v(B!Lޙ3go[xzz:7n$::ٯՖX[YѫW/9u-IMME4ɩ "bԨQF#w^c"D! %''y:UUU 4 fϞݬjĉt;:{NϞ=Q)Mwq3f`ٲe;v̙[ZWS# YY]3QQQѬי={6ܹh[.]P(8vMq1h BCB0:q+JMM sAFaPh5$BJH3~Oyw={vIXYZҽ{wRSSɻ/s"aaax͝wމV6t:_+VyfZmFy\z}*XBNUUz}SMo^ .dܸqM~ SBZZ'NKx##7ёStR͛uLVSSݻ#++;vPXX???u?|-[`kb,>"0yj 2oJJJ C 7tR/_~KYs3`ooKm aJPa~u놣M?m?v=Ѽ˭skFNN.z.*_p:5VVTTTPZVFeEՓ0p{_ۻQE>3P*ra6n?ό3Z0**(~mGll,?0;wd޼yL3/^L]]~~~j***puueܹն?#۷geddT_;;;}lllnuqy|M{f-I!I[f 7}`ʔ),[ Vˊ+P*hZ {gsF,""#!99ju놧'JEGGe^{5 \Lq^un} ΝFU׿m۶?^zf]__ٳgyݻe(hddz/_?Mӭ[77ojlrSwVşSaax!F:&GP(6l :t]vիo9deM;w#P;666L:I⺖^zؿ? ,@V7uhN!Lּy8y$&M嶺wNppa({D(QTDGG3xfIJ%Æ cٲet:֬YæM8yucƌ[w% ,^gϞec>!$ Bui{dddO4EhBP(3f vvv̘1{*:uiӦ\\"22&땹fff^<))ÇR b) B!o߾(>{sss9<&))o6_B&gcc֭[y'8p (~gYd &L`DFFһwo&Nȳ>ۢqVTT`mmٳQ*|t:n=Lہ$ BձcGC?ް򎷷7>>>t֍wy{W& 0l~ٶmݺucX>{ӧmEZ @HHo6SNUD#BTWWv]WTT`ooO]]۷o'&&9CB 333wNݙ8q"z֭[7j\]][4_b }YLBii)/fƌ;vEcVI"0I'OVYf &L ,,0>\z:h∎ ((S[[g}b8ԩ}LJǏѣGsIhd$?~k{iu3gбcG1 !]vs=pBRRRZzqQ[[ȑ#(** $$˗K!Z-I@&)..^zw}ǎ=Օx@>h|||5k,\~ Ν;75 o۶mcݺuw}̞= NE&c&)99;汛6m`ر̚5YB>&N{g zٮW[[˷~o3g3gGe… 2Yf&H$t:mĉڵkKצH4Zeƍ˩l%oO8A׮]=z4^^^=z۷~͜9SfHTWWÉc4 x[:ے@F@\My:bo%XLvAZKqr?h,0/Re <|3`9~8]ve֭9rÇ7hi!L^wA1wܫYd s!,,<S@]}}Q2R4ehjAUW._Km]D\Mqb=Օf`Jg?6t#m@Vakk^yjjj;v,lذ{A1l0c'Dw0!I9po& IDAT۶mjRQQ^'99ݻcf&#Vlu,P\Q^[Kqu*IVRU*\]I{ oߟNwFEEP_kKθYbkvv8XYTlmmyGeΜ9B111,[$B$ BҧOlll=8880k,>s*++kHoOnnbO|1233g[[bBRUEqI5H֔S֠P W Couit~URZh,q0ڙnv_L6l,,EUUZh^>,>,fA"D[$ ¤SSSŋyz\CC񔖖r}I+???9_Vo.jma~kSQZSCqU%gT5`^m..`g[^Gox۶K?{Bף+w;c=f55XbᅫaNvjg&(ſNJELmm]G &A!I9upqIkYl˗/gL2%Bkq ԱcM\ 7;;UQ\]}1))Bs˸Ba>Pn (~]QP\ϰCaۥjn-nvv8ش?'ݕ+IKKC-B4I@&ҊWxyy]_V3yd>S&N̙3[:^޽wx88"Ć!cBܬwVB4pJ%~'|,\а;v2k)iKBCCqуΡjI(חu۷S\\LFFK!n!L^qJ++i&Fh[nn.MmJP0ؘgRV k6uuo_ l'L:}ѥKHMM;dc4Xnɓ-ۍ#COׯ-))({ fpI>mB/%UJLLG$$$ipD jhh0tDDDEqqEnnGDDN3/yyyڼũS C4ph> W%g!XBcnnNff&!!!h4~gʊ^zɨQ뮻x 2P( M5fԸqG:DBR!9;bk۬Ҷ5VUqz~~D DDDB)"L1|ᇼTUUȠA9r$s>̮]Xjt oooy#G{sssSVVF]]:ءJ%`%I"0yVVVL0 &Φ`p nnn;!!I@w0vB!D%ڄB!-F!B!DD!Bb$B!BI@B!-F!B!DD!n^ԩSݝ^zQ\\l찄BۚBIHH )) &\r\]]B:H"ȑ#<3}:z-^Bb*++tTUUƨQHHH 22^I"WPRRcǎ$''SYY @mm#>Lee%3g$55gggwNxx8石tRbcc?~<-cCC8::RTTDvv6z#G+{G'''4 EII jOYh*CѰb ֮]ˣ>JDDfffMrr2qqqT*ԩ7ndҥDFFbaaALL }%00+++Xl_5555A^^888GCCIIINf„ ( ꨯVNCbaa=ڵ'ݽ~OBu ^7vBCbb"=z;a{1֯_|?8رc9r$={}QѥoΉ'P*lڴ2Xt)̬z/L0oV;Æ c̘1o>֬Y:u" ???pvv&22wHѐȻ˖-[BIOO'33)JZmm̜9ӧ\LWZυ tO{3fǥUVHEE}UUUIpuu%##<==qvv\vJPP(Jˋoy&ZI@ɒ7lGaffرc9x ~-]v_oooc)^/ ))޽{^񸒒mƱcHNNرc?kkktBMM ?O=NNNiݻIMM?'##sssFEuu5)))dee5q[h/ŸL^}UnJUUL6.]PQQ(JDדFnn.XYYQVVNNN>}B|||PTRRRBXXXj9sS[['=z@T6u̢Exprr"**PڷoOv ՕDJJJxqsskL6%odFɓ'ի/Ǐgȑ|'k,XNǰaXreM,.\իqwwH _KKKyHJJ.lѹsgwߍ-ǣIMMFòz=orJrss/_[[Kuu5ϟ̙3̜9FԩS4hahqqIMM%33$BJ'** wwwť3H"LaK&L]={6/"x{{5pq͛73k,"""ؾ}{߉mk*++9s [ne֭tԉ*OcŊ}:ŔЀ^GpyΝ;lj'عsƆ> &i&6l@]]G%''Pf͚СCVPPkG} ϟOݻ_Ӯ];c]螒Byy9n:kN>>|w7{キ)))^ʸ8Ϋwuu @FFBHHt:pttA-RVVƬYh߾=TUUѱcGF3VäZ:CR3n8>+~i4i_|y"mAii)ꫯh4(J;v,&Mj TVVr!"22gggc%9{,3g$--͛7_vJLL>ްKJJHLL_~OOOZ-EEEm/(( >>m۶5jc޼y̚5벶 EHJJ"%%bcc ckk{z=w}7ǎ{tؑ_TWWsNΝK^^z۷'((ёɓ'Ç)**ʊ 6KUUņkcggGYYVVV={F:uDǎ5XӮ];zqYr@\\TVVk̚5ЫsAw*((`Ŋ$$$yfz=l۶j}OaZvff&qqqjnILLh4jjj(,,$99ٰb5T*qss0www}QBBB033cݺu444رcܹ3QQQ՝X\]]MRxgy衇Z,ϟϗ_~h##G7߼P N_>3t҅~ロA钵By8|0<(Jyk-Id5PCeK.G\\V"99'''Ce'''prr +++ѣѣ3gۗ#Fimj̟?_Ν;3b.СC|Gwމ3gcǎ%00+++ʨCs]Kw !Z^gժUܹ0h47;,Ek#= B4]v믳~z4a9s&ƒIee%SVVZpn@@cǎe޼y2TIbb";v`ԩJaa!WsAkkk>bccٳ'k֬!<p)Ihm$&߰>v) :wL>}7n… syΜ9CRRqqq%iZjRz[[[T* /l(VII ?ٽ{7j4 `kk=nnnҡC"##С۷og֭;v0lmmgggpssݝPzA``` ׯG$&&bkk˂ x駱k%|W|ٳK?aРA9s Cn|lmmС:tl_ee%'O$%%2(**"77l)**+++Yd _$!!'Npq~233%cffB ;;$***jF͘1cppp R~~~![24O!!! |MM /@߾}۷/K "= dyWx DPPP'8qdƍT*ѹsguFxx8.WK.u:deeN[U !ZBff&[ne׮]>|B "$$_|Ν;_w<FI"L֥7qq=hطo:tűo>JJJ(// 777nK޽GRwwc='...bkkR4WTxzz6A4'N|rz]wE`` B&^OFF>}4:Dff&Onݸp@PPӧOI@D! 0YOOO.\B[ndddP^^54mstt$;;}jhOOO =<JCC]s(Q[[gxiP Pq({W&t0( #@0( #@0( #@0( #@0( #@0( #@0( #@Ԕ=7}_za5޾/߾5I}K.*B4듏}u֖fOK`jhhȸqʞo0( #@0(ikk+` 9`==tk?ў9 0 ϢE'@_[;>xbꆿzC0( #@0( #@0( #@0(LM(Ng\{ٳ'z{{ӛ:sͱ;gɮ]ٓ>n躌5_Y]]a6:6lX <ٴiSL$ܗo97|3sCT&0RGxgFGkU2iҤ477OnT>Oe禛n>9 M`̣> 6?$Ʉ Ggٙ1cFN1bx/dofYhQM bٲeK6lؐ7'3gG?̘qb<Ȳ'VMͰٟYF-ܚ̛7Y 2`ڵkW6lؐ'ikk1L… w~˞]ѣryҒ0HA_ף+3k֖֬=-7onn-~zO^$P͛7vVXg}6ޘ|A=+cǎ-{!Y~}֮_$.{ᢷ77rg~}\QX͛k׮0lڴ)~sWի3dٲe={vEqg>S rz衬[.۶mKGGGՕ'g\LGGG}Oz(guV)[RSSs9'k֬2? '@!gɒ%=ztL֦65559rdjjjח+Wfٲe9rdssġ/WW__W%Kdzꬳ w}w֭{ ^xas({7{È˖-[rg?,Y$|w*HWWW8ѣG… {{oi۞={f͚vmYn](7|s&M^RՍYgȑ#˞@I 9:I'OYvm}iiiɎ;k׮;#F3<+"MMM9sr7gΝox;w榛ng>:W^yedժU뮻s9'C) p /5k?A,Y*|;ǹ 3mڴ$ɶm۲jժqyS[[??˳p466k GuTd͚99J /@  ƕW^}YjUn\{9餓2lذ͛7;ӦM?xiN?3&+V5?@ᚚx|rmɇ?~4r___yu]Jccc3nܸl߾=7n+;q|y9#kՍ~7 ,Ș1c 6mZO?o~[?~|=7|/~=msꩧdܸqٳgOZ[[wތ7.ϙg| .X#'?sٳg_ @(͜9ss{jښÇ&Æդ&55=?O2a„,YrMf̘?^ߧ(7o^?Y|yOJuOhR-\xAjkkcǎtwwg߾Wݕtuu*_|Iz[v1cȅd/g9Sů ueM<9Sk 8k7wlݺ-O= {2;MMbŭys'T,oW]]|#YjU9F駟9sdʔ%$SLg>xUںu[3cƌT 0 $ں%9cʞP1a˖-9sFʞP1D{{{v|&3g,{ @E pICLAf2vزTKoooqom۶_ʩZcxβ'u6dӘ{; n((Ymmm<@[}e9acN:^B RWWWu!@JV__K.xʞBKkxsg~:T40ח=W]6'N}!p:'wqG>"@U?я@S*$}}}WI&]zWs*{@ 7s=; `9Ok_ .9Mp'>:*˖-+{ @ nݺ\s5;vls*֖+{ aApX۽{wd„ %/8<k/b%a3ȬYruץ9OpXM7ݔ 6;Ns*ܜK.$g~,$_W/ _BS*$'Nu]e˖'({@ Oә8qb>O9IF~r]w=" \pAϟ%KW^){@ ;lٲl߾=wW#@9s5K_RvQ"@ >eرꪫܐp 8ck_Z֬Y/e^CKKK*]w]޲T|?\zٶm[s<:+VHcccZZZQ$!Mhhhի_"_~0szYre.]Z!K@? Iބ믿> ,ȇ>!7ބzijj… gϞ' )ޤyy7>lٓ oi^gݻw= `H M>=ׯOGGGsβ' zކ)Sdٿ}' jަɓ'gKsss~' ZI&̰aܜeO"|֯_#F9[n-{#@:c~3&y'ʞ08&L|0Gyde˖' @SSS֭[͛˞0( ǏOꫯ#P|+0D޽;sL3Ofԩe*ݻwgeπ6f M@aPF @aPF @aPF @aPF @aPF @aPF @aPF @aPF @aPF @aPF @aPF @aPF @aPF @aPF @a$RIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/0000755001374000021030000000000012706121712025202 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/xticks_cylindrical.png0000644001374000021030000024565312700747662031625 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwT>kiқ X"Ċ=hŮ#6b1{mbo`ﱀFE"u ΑggWfާ)DD@DDDDD:L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@HcܿT@j; 0<PI}6lP lܸG#FEi; ֮֮[ޛ7oL@aB_GGGh; f֮[^ύЉnݺi;e|n|~|> <߯cO4 iI==&\~|~|C0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""vDDv"0L2055vHDDD Q"" ɓ'q WDDD[@teܸqQQQ>bbb0|p.]sŪU(\0ի~(_y#""|r̟?YYYZ DDDNDyJVVƏggg$''K.C*U4R3<<<~sy}O|raŊ}mDDD[@(iСC???% YYY EѢE?Lxyyիhٲ%,X)))011ɅhObb""""{!..qqqE\\_f͚0!<ٳ4hw^ & 11uH&L@HH~EDDĉHOOGFF222`jjCGGscРAh۶-=/^|ѣGXlǫH"(T *k׎](O`BDZضmp9TPA]`?5Ν;1o<̟?_$&&⯿ڵkq). Dϟ˗ /^ׇ\]]۷o8=3gGѢET̛7+!!ׯ_(DDD%DyXPP mBݻw^E/_.YYYZΝ;bnn.RDTH 4nX6n(َkҤT\Yܤ\rBbŊ _TOٳgbdd$fff@Hҥz@|||DTHRR 争0=}k׆BCCQtisxyyPBXz5?=z`߾}Ɛ!CPD7;i$ԯ_ gΜ6UΞ=KbӦM8q6oތݻRXx1BCCQvmԬY666̞=&Mµkװj*t aaaǎ;?qqqXhѯ_?XZZ~RDDDovDo WWW%ӗo֭֭>|c͚5R lhݺ5i&h􄣣#&N2ڵ+ Xn~ߵk<==/^`Crr2N8ljj*-Z_~ iii000@~0l0Bsr%"k-P+Wvo 8::b޼yHIIKr|/~W]tVVVmV=fhҤ ZjSN!99R~z888}ADD"##1tP]eʔs5V""0!"{EÆ 50h x9(W͞=e˖}+ٳ֭ݻ(\0LLLpQTZ^^^QnܸE!Yp}ԬYS*DDD0!"+S [!\Ξ=@ƢRJT+]4߿\;44TIDf0i$4jÙ3gm6ۿV 4@PPS>'& DqJB^0i$ B+WbȐ!9:&22prrBs9Bm۶ *TYr L@(׹@OO< T*uVt III8rFQ*2dпO>ѣGѰaCƓ<<>>P(dZ@RI@@h?h~J%bgg'R\9 Kv-ҧOƥ)?XZZJllkX={c9L](޽YYYҥKسg>|ڵkcȐ!@V0i$ 7Fr`ooG9T*wWWWСCirlXn֮]Mj;vmt fffصk0p@ԨQ}Ǐ5Gbb"tHO>}ӧOGҥ/_>,XP#hӧzj/(Tk tlڴI Q^ SwAAA_լDߊ: ..Nz;wDΝqx(^8J(4ٳQQQZ*.^Q:u ɓ'QN/_8pttbJ%ʔ)cݺuaXb)J. “ׯt5Wc{x;gϞEs^miܸ1\\\пϟ6m%KbŊQ$w@DӧϜ9wo 22[lA|>*"!!ݻw9suGKv}Q*hٲy?J@Ƃ `ooZ1===uBҥKѽ{wt Ϟ=՘Ѽys={DzPl\S *'Oo-~a֭{}{Q^:tuu:eccŋhݺ5+WիpttX6mڄʕ+bŊ͛7 nnnXwwwD+W-hݺ55k?* ;wƆ py$$$`޽8vy.o[SbӦMC=]]\SLLLХKdM~GdeeaÆ & D+ₓ'OիwQow}Q1ddd`ݺuؽ{7<==˕+ϣC?Q=x!!!yvSN .\ /?*U ӧOGZZ-[++w~ K0ydM]7rP(r;˹] !C 99ӧOQCGGqqq7nG^zw^XYYVNP555T@jՐ?~m#GTR8r+ݻ{8p ^ Fa(V0x`"## ҥK1bT^7}LLL˗/\JJ 45rLR}К%KĉヘdffiӦg/̚5 cƌѹslؾ};nݺ˗/ʕ+pttĆ ܳggg_"++ ȑ#UT 7nT^hQ^rzzzGjՐ;X|9̐TK.xX&))I:u !ѷ- D#)))^:㕥G]",, ;(YfSSSر#Gu:t(-[ `ڴi8x;GRJarTիxy  {oY+++޽qqq;wp;ӧOӧϣjժ6vXDEEo߾u*1bիj8R"BB\)+bjj*k֬J}}}E___ZÇbgg'+VCCCYhQiժm۶ljj1BDFF樎˗/.^/# B&MQN ={[\]]ŋk8Rz>)7rqF{FΝ.T*QZg~ BZZʕ+ج7774orTZ˖- p樎ͩSPZ<;;lmmqӪU+̚5 3gľ}r1:zΝ;cĉ0a4ilS8sň#0|p߿_!1!"[Pre̛7766F…[8r*W`/g233C5pQ*]nܸŋǘ1cA݃1*iii8q"ܠK.aȑ4k""8}4ԩPgΜq;v o?L5c رѨZ*uŋyؽ{7… ͛]tAHH'm>}(R ///\v hذ!>|.ۇPu+CΝSSS̜9WWWdffy8}4QQQP*oaΜ9066۷ 6@__?бcGܺu 7nȶprr¼y0yd\x*UyFEjմ;ugΜK[ڵkpssCpp0FP(Ю];\v +Wɓ'1zh(J/HIIQ^c6o {{{t]QncBDXj.^gb…8s ΝZ *&۷ŋG>}pAժUÅ ///$''c6+شi2220n8tq033S\OJJO?u /_Ɣ)S```ڼJ ɻyxxL27o;Ġf͚033åK-g߇JDzzz۷/ݻOСChР_[l"1!"ARcƌAz0a„֭[022¤Ip9/HMME@@,,,]]][111Xx1\]]ѡCL:AA$ss IDATAƉ̝;&&&B.]>ÑKKK֬Y???>}*T~^MC?b믿r.\@JJ ;;;;v M46oެ]abb 1j׮Z0|w4 a>}:~G,ZFB^+W|y4o ?]v@ժUqy@2e`ddN6f͚/^jժ(QZhŋcʕh߾= Qvml۶5 %KD~7oD1l0~+uy5M5^^^ȟ??.\2077GѢE1d4l(^8N8h)!443f@ʕ~i9B"ML@AAAؾ};fϞYfGVVkڴiҥKD6mСCZ NNN|2j׮7o"::oӧOճY-[<ѣGѩS'( ۷oڵkqM[nQի< ?$$$[C(/x9СCzjƾLhh(ʕ+^ .\@-pȑl(]:ptt/*V۷"ڜ}8x{K&M_OOO 7n|ﱙ%˗Obccp$fffRpa|$''\#GKKK9rdo֬뿶^DڵJ?|kڵKۡȓ'OZѣGQCDD.^($ @.^(RhQt钦æP3LMM~;vȋ/ÔBAc :rZÚ5kp5L:ݻwGa\~JpvvFߺ `(Z(|||+W"11;w믿?d۷w^I&ذaC_o×\xԩG]t W\AŊLGG%J@ժUpZ׼lٲ:t(v܉ǏcӦMh׮pm<~X!Q.cB FLL Ο?mWAff&"""p%xyy`prrѹ *VP(hҤ ?3gD…ѹs7~U(Gƍ{nXXX )) VzgGey@Ϟ=ѳgO4j׿՘T-Gs*U´ipܽ{˙Κ6m ''' 8fXYY!66B׮]QRZSr~Wm6LlVBŊA PHM0D¦O7guw+ŊS8;;IժU%,,㓭 Jzc:HFDeիKnzHwƠRdڵҲeK122bdd$βlٲ/J *HJ4kL…  [UiѢ<\!SG\\\L:H4>ͅ DOOO "{쑀9r|wKӦMe񒞞Ycx?^%66ƍ'U*deeݻwdɒRdI{nʒ~-[B1}/^,Pr$44TԩS$$$d+T*e͚52}tp!J4jH?ϋBڵkk9:srf[HSRRR ''',ZHݻalllY߿?tbŊ:uzԾ~GALL T*tttP(:}ŋs8qzzヘ݋EΝѩS'١TR(P'_뗨G;v,V^'j;*[,ƌ3gA_>ݻ XYYe+^zi'P ۶mÑ#GM޽{hܸ1tuu1fz}=8+5j(DGGcӦM^xZ83334oիZc )))سgzw)X >}ʕ+D|[۷mڴQO;M>6n܈vADprl٨_>:whܽ{%KvXZ'" ł 0|7N)JL6 ͛7Wnaa-[ڵCr -GJD[@BgΜ+|lY\[[wСC3f UAuߺu x"4h???T*m?jԨAժU1sL:tmڴ֌W <&L@||[֪U 7R1o<4k Æ CVa֭puuEڵwwwmUQQQh׮ahh4]vN:7obʕmVVVغu+222avBrr2ԭ[666Z>6~8J%u'''Q*홙n: G}###177]]]}{LJJ6mHɒ%c+Zn- yW<<<m6qww`󷉌{{{)VŽ-[u/rˈ#,\| \"ݺu#FHppњ0;;;ٳgHjդy-G~7ӓ7kc^)RD]ሿM|Sn`,́pi̞=[ݝ֭[(S ЬY3ܼyŋ/RRR?e#$$J.]zk]шFfp1uW'?~<ѠAL2Xd oݻmڴ#`ee]vFڵ+֭[\|˖-'UsӧpԫWYYY8u ,פK.hѢϟE{feeER 6oތ YhT||}*uccc9rH֒srx02i$IKK[JJ*nJիWZjIffܽ{W+,_ y4kL7o.3gȋ/u;wdyҾ}{JR:$ B/_."" ;;צڍkӧ#:u(P@*U$='00P։XYYGeٺ} ӥN:Rpl/Mϟ?vډB^zƍ%222[GI߾}EPHʕI@@xzzJjJ'-;;;)]k_*UJϝ;' 6|򉱱+VLT"K.}T_>)70<7T*E@,,,4iD\V\)k֬CB_~%^7;vXXXW%d߾}~B!m۶}-񍍍OOO LPW^󋡡ԬYS~gYʖ-+#FX}լY3iժ[gee.VVVbee%Νy׿u@7oիW Wƌ3"E ))IV&/Z(V^ oQN: ׯV\}z6+4h\]]qM\~gϞEff&vލVZeW^022¤IߣbŊ%z#www_m۶ݻwQl\3Y[[>̙'bذaXpz&;5k0zhj^:ѨQ#ïH {6 "` 4etuu1`cԨQXv-VX1cƠB ֭5Mqɓ'Qpa"&&111xbbbPvm,\cE۷oG6m z ۷Ç [[[L4 9r$>}+W wvիz9ӧcɒ% H\=u+ׯ_GqiӦa-ZFBϞ=1N=v܉}aΝ(^8:###;v4nX+J$''#**e=ZjۨZ*L[b֬Y񁇇&MJ*i r<@/D'11QƏ/.OzzzR`׺Q=}T<(͓={RD 5k ."/WWWkT 4!n߾-O?iri gf=\_۷cQ(2n8-D݃D___ʕ+'ݻwؓxiԨH``VbYjUVݿ_޽+>ILLsss1cYFttte˖3IHH)S޽֮]4>|ʓ'OU׭[XU&}իW۷m۶RpaiӦ,[Lv- BZn-ݓ3gbbb"cǎ|pQQQbjjjxbT*)WtUۡT*133sf~E122N:剄[ٳgZʕ+RdI)P=zTkq2`1007J˖-:<(RdI駟Abmm-ÔPIJJ]v 9qܻwO5k&֭[g߾}bnn~tbff&һwo9|p*Jܹ#[n1cH׮]eڵHѢEF+0@Ϳ ,0}RX1>Jx 2|mDQF\pAD^vT,Y2Lߺc !!!ZɓP(~6qqqQ " AD_gϞ}F5ХK(Q/^Ą  ===(PذaJ, puuŜ9s "ȟ??v ss_Preaݺu@ дiS3FBHH.]{ƨP\\\ԃm ߇prr-vڅ&Mh-5|x{{W݋ `…pss,[ aaaFBKuօ!٣}􁕕fϞ ccc. DΝ?.HPh; +p-ZѣG6sݻwq%Xv-p̙>Γ'O?׶(Q>}d/_cƌAϞ=3h} ;w"22[.5ju֡`_5|mZjaP(BҥѸqc^Z+q077q 4񈌌߭`Xl222zaٲeXj (XrŋER'srv`ލM9 رc,. ͛$ {7xڵKF-:tDU8::T*9u4h@ȡC版iӦI z[nݺ%˗/-ZСCeŊrOu/%K\|YۡtIHTTz-$88X11Q&O,֮]+ҧOyI``ŋ{WWl###Bԩ#@)"3GmڴsO .,/^zj`dm )^-[VtuuEPSeddL8Qcu~Nk֬PH=zzԮ][+4mTLMMeСrq9xlٲEV^-/^30ʪUt{ԨQ#:uv9s'*U *''$g' 0a'S4rf˖-@nݺr*J/_.zzzRT)w ccc f[~EӧOٳg.P({#III%2w\ʒ J"EdÆ |r [nsss???:"dΝ"rOOO100t^^^Rl/̈́駟gϞ5Zjժ7eSvkCÆ )_QtAߣR0M&E0Yh 2D~g111VZIffGŢT*͛7իWW^@k||Sn`Byo|9Ӵi~cRdС@DWWWttt?|cY!CBQ(ꖐ.H8l0ϟuI-*CC?|pD_EPȑ#GDDK.*RbE;--M-*ҴiSuҴiS177۷o+q+ڵkSܻwOttt`Ҷm[4mE+>>>mݻw%J|lJu9 $EҾ}O[_}WmVƏ/8p@+?p~"*J  666u]Խ)79L iǏEPȊ+ZFTJH ݻ/_>i޼4kL!rJN:IΝŋܹs[NoH׮] }]4!--M,,,9?J%]iiiRbEqrrR'wYd']G8,,LO֩۵k'-[󊴴40`ԭ[WlmmR|7K3::Z~Wٹs=zTΜ9#7n:>)70<7۴i7ʒ޽{cǎLZJ*RX1qss 鉡iFT*tQHE2o< {U} ҫHS{G 5,nhW#5Q,XP,DĮQ#VD@~< Y=3;{f~z "Ǐ*Nddd@,_~>x_LiӦ "hkkC$A[[:::ؿ_ҙ8q"tuukT,R)?ǏCMM 5%Gvl*,lܸq8r uuuc̘1 "= @+~m&???ƹsp޽ˤV)))ppp_ޘ:u*9R#⩊3s@+zƌ _v lj'q^ 555=OMLLu*_~ "„ iӦb+˖-#""@ K "*6hٲ%Jp!899pvv.3FȎw:uڬ(/YfgMwv?={EU/ˠ%=}gN^VV^x888T:vvv7n\Yf022q ^|R@ggg=.60C0!BN8AÇ//hɒ%D߿c\\\hϞ=֭]|nܸAIIIHfffIׯ_'""}}}5kPDDʵݾ}{""2558:uP@@_ܹsdbbBruGǕ8o_EQQQTXXHѤN'www:|0m۶b刊"]]]Vz[e֭DDODD5$&&T*%DBgΜ!TJ#G˗/PiѣG֭[4k,:qeggݻwQFU˧Haa!IRͭPwQ||<[KuvvѣGzPLL ?~֬YCDDvvvԽ{w #|:_ qqqB={,̙3ISS?~LeuܙƌCD$7uMDDvI{&ڷot"*^bXsrrH__1?Q/tm?7oNM4xjѢ}WtƍpG;v RWWWj[U!""ZlIDE=zpDE3f̠A""*((?5kFb/޹sW/Q֭4sLڹs'_޿ODDR?>Uٳg,weh6듃ݼy=@@4l0ڲe =|^|IԹsgZjEDD(t Fm9 'L\\ݾ}dbb"eee+dˋLݝ^zE/_$""DBߟH{LLL8D/׆ %%%U_QQQ#ڼy3կ_MdooO]v epz 2Dim(&MЅ _~M~mMwAE[ooox[䝖Viߧ#GPNo߾ZhAN;"tu:u*}74rH:x Pddd)#yYuA233ڃ(33Tjժ]p\혘?]tB˖-+a0>+jQݺudV' _.ƍ "tzzzRUvpp3G9?z޽{Q0uToדWdZׯpB 4Æ S^ǢE@D5k:uꄸ8WwAVVغu~RU?g;ԯ_pJ,,,D˖-aoo/+D"C,c3%:y'+YU 䄎;z͋} "ӛ*Ԧ,!ŋ={nP8ajdtttpjiW*b¢E͛jiDOY֮] @Dhݺu&999r΁T*D"5k}9444`cc---ԯ_| tuu/00ZZZ L}ܹT[>DcǎUdggՃ1={657nEaa!]VLؿ?B! 0gHR 5ڵkAD8{Gx555N:`kk}^ݻDBKK fADpvvƎ;D"ĉmV85q6m'OFaaFVq㡥aV#s@͛"¤I^AA 0tPD"***hРyȕ+W@Dݻ7`ll[(ʇ߮];~RڥKJO1f̘"$$ǏGFF?ӡ xQNŮ] WWW )) ɰBƍkUM{e#vҥY L:cƌ666>%$$ݻw }^| ---|aÆ022aÆ 8q!j3(,,  "7PXXׯ=KmV",, u\LOff&X3g*/ӧOG۶mP8aj)qƍHMMMl޼taa!?9tڶm PX ==={*xNNBs$''c "Nqr%flA__T<8q1cn P48ׯ/ViӦիB-Zܹs2PPPP3ΝC&M`eeURPWW0iҤZ19 .=<mƍ}}ji 2s@e>dΝ OMMEzz:rrri&4jԈ B|Wo)פ$ѯ_?B899K.҂X,Ɯ9srrr*֑#Gͫ~ʬݻZZZhРܹD 7l0OOOƍѿhiiA(gϞسg} ʕM*==ѣ<<<`mm]evZ4lƍQ$2CdѺu֊#3qD888޽W"99z .:ZhH")젣Pڵk|0s@e=N> "?PsDkkk̚5pqԫWhٲ%+;xb]@Qv q"B˖-hhhiӦr .X,Ç<ϟcذa.OLL ڵkMMMpA*bΝNw}aV($++ NBdd$ @pr\zՃBCCyUpϟs&ӱ`СC9bVVV *)q8u|||Vڶm={A6mvޝ϶ծ];10agΜ''';!DE\26l"OFF7n],OI%~ݽ\?ƕ+W?ڵkSv*ۭ QQQAÆ ɓ2?!H0zhڽw SSS~EyРA,R_xYD .RRRпϟTŋّPzyyAAA5Ĩ>8C߾}۷oC"`ԩe+,,B3h¨'VΘ1c *c_<}]v:|||;wUVr΄,}xx8nܸ}aܹ4hTonn;hѢ__,c|;=z4Znƍϗi^nժUH$1|pxzz"B>}p>}(T|8rssѺukXXX ==/w ^X}r?_ TUU!H*c`0s@E*e#;;zzz?~}:Kvt666PD"Aǎq)\HoGEE͚5[^ 'ə3gо} ;, ¨|~[aABYqf\x1ammm۶ҥKrϟ"B\\m ؽ{7"##K\a |||0x`K8}t>㐝&Mhiiarv> "ӧy9Ǐ@ @޽Kb hӦB(yxx~rJmt\Gnxf͚1@+oD"竵ׯ_m۶_%$$@(رB7o֭]v hܸ1ѡCw{ǎhΜ9]]]A[[XJJJ s2`V#{cȑuE899AMM z[AMM W^T*ӧOqE,\666ؾ};lmmOR,KKK>}Gdd$4ie;uTj  ~z:tD۷o˕Ylbqi]]]ѴiS4k FFF8|0/%q9@ Cr*“'O@T}o޼$ 닕+WֈwM شiS/;fHD駟}WpssCzz:Ǝ 555Ѯ];\3f~,q$77/_.W޽ GGG̛7=YT޽00s@>dAqBrrr## eKy5Zn @Pȧ%"D"ZjׯqEܺu mڴAOOOנA?͛7/y:::V@Tm"q;|s-[:::DYbTTT-ޢ{חK*<2bmk]tAv㫯?˖-:p)8,add}0a(0j5%=J\},)))044İaOW^a˖-X~=q-dddՅX,.񼻌Blڴ fBLL RSSS>W[[DT`+V̇~>gϞvRnݺ"¹sЦM4l+IAY{W.]"|iL0"Z*qիUUU,]Æ &L'OH5ׄH$㏰s@ʀ9 ZMisSL p…r튬^@NQ/Z[^SyyypttD~JbСrץR) AD "9풏!KU嚠q B IDAT5\mTۣI&uyi$''C]]VX 6 ^^^>۷/gk۽{7TQ^=p Ӄ9 eFLɜHU\vhҤIe|5zQ],1Ѹqc.vXt)[{{{B4Ų8={6Al`FTj;)S@KKZ&{A@@؃FӦM&C a[.,,,Ҹv.\???X_&a(0j5=~j.Y?33 ȳcǢYfo XZZ[[QZֳO?ACCC.Mtyy]3>͛7DѣGcĈPWW w^|אH$hذ! `gg UOYddd@,C(BUUU!)_a(0j5 Jyyy0559s{ܿ044UChrJDEE˗CaaarA .H$­[ެY4W\x=sV*88;;SNHNN泄zPWWeLjJnҠScȐ!PSS1bcc]WEM(ʕ+HKKCXXAD_> ggg~hժfϞ]!*;w`ؼysMw2`VfL<`@ Ν;QXX===ԫWGw5/7gΜ ,{۷oȑ#%JŘ7Pajd>uuuԭ[D˕SSS5km۶̙Se!K߀J=Ғ [[[hkkCUUUV|g͚PӧO@ѦMXZZ"33B޳gJ*2ݻ I{L2M64%qz $%%UU!!!***;wn .Nnn.6mVȎ.xѣ|2`V#{:u _3yzz#@Dظqc!$$b#2ƍr(~58q"!ЦM,Yaعs'\"'XС455gD 8;p;vTx,Ν;yzSSrՑo KE8p LLL*޼yXO8 ¹sйsg-@DrٴOff&z}}},]Dħ_o֬___?~~~e:aܸqPQQr@x{{W,^Y_;w,ŋ==͘8::ٹGdz)Gŭ[֭[KXQ\\\`gg>v ///ܾ}6O>}𿑲L|a(!1 uԡuܹs4vXٳ'(|֭㔔D)))ڲe ݽ{T(.\zꑖEEEѶm(%%IEE;FvvvԪU+""5kщ'ח}Z q8q֮]Çe̙!0J "˗/A__666BӦMqMt҅?2קOfrW_}ſﲴgφnԵkWXZZVH0PQQ ~Y#66 ,@SSSX\2y  PjBK4h&&&|r i0 yAD9s&s@ 9 ZME`w5z ">dʕrŋ۷/ijWտ0e?V*Q4={GGG?Pzxx#F_~|ڪ#c„ *hiiSNr1/E~~BVSN zzz byy`ff 77o[uaC0QL4̛7Ǐ/v{h޼9𔧌|2D"LMMwߕرcJh۶-4@!wM/rA|ƣׯ_m۶CL.!A``BƷxb2HRE7oڵb@ann5 x9n݊UVUiaɓ',X FFHa 2h޼9, " ֭C^^aff#GDOOO3066ƹs9,;w _c "c͸B(JVZ}\AAttt0|)";[O?U*$;;WرDׯ_+ FVVV1111pss+v9 EFFQv=jI&ACC<(W899A]]VDcǂ#ܹ mB"СC ,XW)$]s oS~t́0!ӧOADؿ`*޿8߲σФIWqs။/Ν;Xf &NaV(D&&[gT?iiiČ3*\;we""ܻwX|ǎ+v?!!K,E*ܟxmCVXQgφ^1SLjZ˗/yq@D"Ssss5jT&%%1qömۊ}yt@_gϞU=TJ})ޗJ4f̘ 5jDϟPF˗H$ڵky{{ita%""4iM:#*===ܹ3Qrrre Զm[PNzm_v5jDBOYnn.ikkW{ F ;;:t@'mmmZl5hЀG޽]ҙ3ghܸq@;v,ϟ/|>L 4dȐb'C)Դ`| EL2"ن`ggǯ§;wDϞ=bŊRȨB+s!++L3gBDp4={ؠCԩ֭[ߗwҟHF0vJ߰a|NN[nU@'88rzF3g΄.6m ===~W޽{W۷oxG˲2`n.t%JTXXH<0z>}tuui޽4x`z)?vJ׮]SD? ]F)))PdllL+L۶m˗GDT=qQ,,,Mu!($$nJDDgΜ!mmmPhU2dw}GRK|ق:p=O]v .Ty 27ի_"}һw(--~W8x"ΦPX:}4y{{.Đmu`; MUW^傍 N+hjjbo" t `ԨQXr%K#,, JѺӧ|}},_3@Dt'8|D ާ__C"`ܸq;waÆpuuŅ  ѡC@UUd0j= P,y,_ll,W^wwލ^z!""VVVPQQAF ]]]tС\;%a(0j5U}qnݺ гgOD"ٳge+)) 5^p.]B6mk2F* иqcbcС_ܱcI)CCCYo߾ PD+DVV:vP0s@E<8ݻ1sL$%%!%%?3bbb`aa#Fi#++ 055Exx8Dpww֭[QIII?>AD&Ÿ3!!!pssS݌ ԫW (Wy]>|8̰b 2C3ǔ)S`eeUzzz:Zwk׮b>;|N@DӧO(3d)s7mڄq!88s͛qqO9oC啘5c0 ¨(g``ǣw033˗ ܼyaaa$33fffƫW HPn]̞=\zRXXYf0k֬/Bd077ݻK]ͫ ӦM>}ZpttD||<#uXp!`bb+#s322kyyyh߾=b1cQիJt$dG#{爊˱k׮ wS@   7776ߏtgϞXr%aii "ʕ+_h?BCa…  s@ʀ9 Z|%*>,?"xY'/ .a„ x}URٵklmmAD ޳Afseq B(b޽&믿B ͛ ٳgvY>D޷oCEEǏ Ə_bݔ@KKԌW{ʕ+,3x 5jkkklݺW^Evv\\$$$5TTTcbɑ H@M6Aff2`VߩSxbܾ}ݺuH$ȗ;wb1MVnyX|9b1ԩ;G:t(6oެ6j˗/ bرc 8qbHR> |١G ߗqpqq5ADXfMu2d\]]SѱĺΝ+_ajj "–-[*>8u]I"11TgYXnee///~l׮] "UI0 X^MiDGlz j߾=}dhhHW&ccc?~<=z􈂃IOO^J#F(USCO ץKZt)-[_^:b~7:u*]v{ΝKQQQtUsȑ#tuڶmD""*},X@'O$[[[R\\ >=~XݧO}Ϟ=KG(""RQQrq :._L&GG 744$SSϜ9CDٴk.H$DDRSSOZOM{@ Ǩ˗{nA$ZZZ H$ A~jj*B!6mڤ6j `aa 8qQQQJU)JaaaÇ+ppp` dppp@ZZtQ$A Tb~~>,YXzursEݺuK1w\땞b*ݻWᶧN }}}DGG;f?C "ZJm2`VSm۶9ǍUUUܾ}ׯQ^ oW֭[ɩy?%&L gcnnU;w.444/ ^~B}δlْ?W^aҤI8hii WWWݽXaÆãd`ĉpss:^rzj-[p qXvgC#X $O8JtEZr%<+((GzzzSvZz׏Wx\iӦMt]vuܙ̙CM6+WTʦ=eggSvvBذaC""JKKSϙgϞ6yyy8p<==+lkѢEdiiIO&333Hܑ8ɓԢEb6:DO?ߟfΜIFFF$"""hر4qD0a㏤GKe򨠠.20hгghԩj*ZjeeeQll,͛7,YB111EDӧOە^ubddDAAA԰aCrqqM6۷:wLnݪk׮&:u.Æ pz-/@'OwRN]vH;266-[T*%&&1ED۶m9s@ XP@@ <”˗ߟ/III4n8""0>by=u҅hٲedmmMNWҥK傓lRaжm[rrr"ɓdjjJԱcr'$$iȑ 4.]Piٲe Ү];ϧ~Qaa!|7TxN,'D IDATL|@={(33uF>>>lB*(( UwԱcGڼysU3ruu-̦M(<U۶mU!x۽z”)Sp};v0aաO*t /^HIIQj[ϟΝ;%8TZX:C0QQorǸq㔢H ѢE tWjgϞ 9r$'7lSSS4o\fow܁+ԩ;"ADݻw1%ҸpӦMaԨQ0aa^߿?~$2ʦM[ <ܹs|۷oĉUj+)) DwuЦM*1Paj[f <<|]]]EF:up͚ZpM.^v0mڴjLq811Zۭ-Ӄ޼yӧcǎA,c86l(uT>aӦM2e ?SUU둓7 ={D^^2_ػw/&O-Z5q7++JmiiiaQQQ KA^a(0j5_ĉ "XYYAMM )))pqqAݺuɓ^ P7\PUUN}*㑓'NtQQ^^_999!11&M!\]]ѪU+@SSRҿ6mӧ8p nܸ8vƍA$LojK.DJJ >|hl۶ 248aF޽{022ΝCQQ %a2553O۷oٳPUU7|Ӡqܽ{->Ba-ID-[૯ҥKѶm[<{ {Y}VPJJ aaa޽; ((pwwo`;wx<TTTP^^)):׹sg_m۶PRRPFbXa1]]]z +W䶩@ut a '''vѣGoAZZ( 'M6z*.]8888 p|T:VZZҥ 6m///у_glٲ:ٺukhkkزeK=E0#-7o+W&lmm)))!00Ffii)  ro=0p@ߘ^χH$#@DvҐHUVAFF...C$EFF";;6mO?EEEܐښ9r$݋54<a/̔)SDACCNj6UTTm%Ǐ#00x ڵkMMMcǎ APP֭[ldffb<欠H$ȑ#xalٲ%x<v CSSSQ3x:u4Ν;Sֺ 6`0778FXa0۷dzg0`bQс CJJ P^^^:N>-Ze˖a055m˗/ɓ'Ϗ޽{y!33Vj*`\'4SDYYu>&y`&dʕ?>ddd!C@$a̘11cCl*8p p1lذ<RcڵHJJBff& ;v@OO3gʘSN%q*#G ((}6tUVAUUm۶E@@1w\I0b---n{wٳgaa/:֯_W"??7n@۷oO3g ϟC 3TUU1l0?Zl >w8q"lق,̙3(** pssCm67gΜZ /_̙3Y@ɋD׮] NK3 : իBBBDBxxkΟ?H,\QQQ8z(^~6m ''gϞ/9+;cޯi&o߾喋ݻ7GÆ Cݱb p*CN --"AWWprr;w&j,бcGqqq066tX `֯_7ovwww0a{0_8xxx{\\x*** YrrrPRR>LLLŋ 8ѴiӐ {{{tXJ(t(L#s}X .DϞ=+'`d 84 sHLLܼy wϟdž  t;C\,&&ۜ"...\ÇZeV*!!w`{^^0qDHKKspttUrl޼9r$̙4DXXX`ŊLnO?b4b"""$JVVVF|>vMO>2IhD"ׯikkSdddevM}W@ӧO'Թs߿h˖-Lh>/ƅ ڵKҡT_lQ`` ikks*/T^^^6-ZD$%%EnnnԵkW"qӀ]z۶m۶J3o߾`uÌ8Ө _ү*0HɤPCE]p۷#nHII\WII ?~nݺE""gggjӦ 3߾};YYY_M=266vը7oкu͘1^x۽{7x< G;vvUUI0ʺaaF$ti"&0))) ˗/t &!##2ngϞ {冴VII yMرcG 3􄴴4vnŮrlڵ+WҥKծ;++ VVVHOO+|||q "&&f/H$;"Ça``P2iUa|J:/aРAxQAAA011ѣGQVV}hٲ"reggs2۷3 H#Gԩr 0!!!رc-J=accS6Ob|-[H$BXXLj u:Fr.]sܹsd)?z(s޽+Qc "|I=u> ???Ox \: MMMxjs8::bĉHJJne1c`̙h׮=:?#@EE7o_ իq=^PSSÜ9sFXXߡ YYY:u*BBBy:#Gڵk~z :OLnݢdD2dYXX|HTiÇIWWHCCЕ+WH$QnHSSFAB_JKK`_dd$mذ+m?{,rqqlK.%)))z/K(;;ֱ3u]#*$ ;vPtt4ݛ 2zh D\7>̈0UOpp0hI(zO>tkxx8)++">}ZQ6~&OLm۶&WĉO&M"CCC%KKKrpp 4x`z5]r455iڴiDDA 555ϧ={p1{!]]]eeediiIh޼yѲiƍܶϟZf [ hϞ=@޽ѣʟ7)** !/_NԧO=zÌ8Ө _ԢEz_!>}:PnnD"J /Odd$oD" B*..BwիWŋ^eSN%UUU5kmٲ~G;wܹs 0tuu)11HJJ.\HDDn"{{{ɓ'Sjjjc׮])))VPHK,!jݺ5TYN$M0~PV(++V10WVVFcǎVœ"V図,RVV&7Rqq1ڒ4}7+3vfāu@F]g}ĸq_^ҡ|,--~ÇT/&&R>###233: k׮%4qD:y$ ڸq#ihhW+5k֐bDiΜ94c ڼy3TYϫWHFFmѶnJҥK߿%۷Zq3 ۷EСC@[ns-@gϞ%@ׯ_o3: L.|Sq{葤Ci4D"S`` uԉ`ԍ㏵:6**tuuiU~NG8222-[ҵkר6nȕxk[RTT޽{W+@@TTTDӦM#$++KڵN: Ν;?$&&6͛7m BׯTzj~)<444؛Fɉh>˗tttHVVnܸA %K1RcaF*X JKK%I> 2PVVƦM$5:ĉ033C.];vTY.44077 n޼ }}} 'Oɓ;;*NMM޽{1m4 >>gϞu֐݋͛7#==Ϟ=Ctt4?~aʔ)ŠAЩS't۷?z|>@ ?m۷/"8;;j}eO `8tg˖ڵkpssÄ ݆:w4… Xzu]BgI= z?}?EL,^]>++I__9B-;zhgm/--WR۶m7+;wLFF֭[W9QޞvEk֬Ǐ4/_իLB3f̠+WV;Ν; k׎Q8WiU0x[O ͥQFqoj"%%|>XLMM?baFX"Biׯ_ȑ#%䔕b{8u$Ure~_t)rss33OB@@ƌpeee"22~:`С@ll,ZjիW*e,?z(ϟlj'o߾ju>@|1ТE gOr۷(3# IDATo}6w\ŭ\nL>Y^^NdiiIԽ{qHQQdddhȑtiL1P^^ѨQ>FQQݹs}AoߦЈ#} ݇q`Qc^zI:WAS[Uꫯ'H$4  :y$PϞ=ƍD~U˗/Ӟ={hŊ4sL22ե!Cpe\폎&d|2ӻw( ܹui֭Z/uO>FA޴qF200 :|۷ԲeK@...dmmͭDVѣG/Zhm۶|>edd|YfqωW^4rHXcaFXi؅Ν;GڵkA9;; I;s 4 e={6⟹9Rff&;ddd|200;)7D3f̠Ǐs}khZZ)**-1T,۔B0#<"ïD? Kő:=Zҡ4PHf"YYYJMMt8FAA~O__-]j\'O={񥥥}ی3>Z>**,,,*_`iiiq/Q@@G˼xŋ4j(/_͛7INN|>I__VXQ'OSBBϪa0#,!4A&&&?>,YCCC;> ԩSM6AGGG!5Eqq1PRRdggΝ;033Ï?%M괜|}}mKLLhtDFFr_?}J2_;w@("##eRRR_^:11Z7i&X۷СCapqq+WPXXxٿ?  %| {R{L:::(%%Ea՛l7nIII~v%~IAAO^SAAA)O[RNN撦&yzz6h L"*呝ߟ>L"D"Q!ۓ"/ЩStuÌ8Ө _ŋI^^LLL(99Y!ՙ@ *-^Ij׮x<|[[[q0M0L3allÇ"_ƥKPVV&Ъ-33}Azz:nݺdVR\~믿O?۷p1?4Wx3~z[%%%=.\w!++ʶ ##<#v~Lٸq#RSS1{ϖUQQ{ %%%طoO\r022ID0M_0̧W+,,P@@7CNNo.Ъe񤡡A^t(͒HtMii)Qnhܐœ@;wfee7 : Zz5=}֯_Oܾɓ'ӝ;whذa$uL=&Z)/;;|_݇q`o@-~W1}tK,$DDDݻwx1,wxzzV 4h<Ob1b߾}PQQ̙3ahhC"88rrrHOOjhh3gȑ#С֮]:`…1bعs'z3g`֮ vJKKʽ}BII ۶mjn T-01p@())AYYk֬, ChiiUVxPTTӱm۶ʏ;;vDdd$V\ sss(((rԾ}{J: GVVN:͛7ch۶-&LP1]tA.]nnn(,,˗ѡCmЧODGG رccMNN… qQ{8rD;q͑H$͛7TiNx<\t yyyMz0L-H | {[D"p o!333*))B!-X+ Р}q_߻wΞ=K7nܠ۷#iiiRSS####JOOiӦ5O:::(P>PVVFׯ_\vAJNS/^~ǍwLۻw/ϴaaF;Eifx<:ĭ/_"66G׶ 6`޼yٳgqǏ>ٜЫW/L2=˗/B,Xnnnx-N:Uq2nݺAUU4" `ʔ)TgE"˗ʕ+ADu9333#aa5E|bcc+$999ڲe :1&]]]:yE"UqSNDDԫW/rpps|СCIVV BIddd*] >uّ=?(RSS#---}a)GGGcǠ === :f–-[TwFF<==1j($$$T\.ǃvZgffrlmmq]n?âEpihiiI:,{IO>:9i$\v /F~0~x̞=FFF򔔔]*HCUUgΜa1ta>=y???)aÈiѤVq7n z&t@<PRRR 988Ht]Iquu%TZZJ{&ccc˫u}"͛Ghɒ%$Իwo'ҲeHMMeee5o *PH>̈{ 0͔ bbbХK9s"O'0b$%%ժUfrrr%ÇgϞ={6Ǐ߷uϼN:!33rdu8x uZn:Xf ƌ\|s˗n:(((xرc1STT%K{t8 ?af}?ȑ#(((qZ?FNϒ+ڵ ZB~ꥭn޽(((@tt4%D yТE L0k p ̝;rrrXf pipN %%%X[[cԩصk._Ǐc֭ؼy3~7L6 ؾ}{ϻ)Z|9222vZ?~ׯ_tH lӸW #++,/BZI;vر#?Lh߾}Ns% %=~x<TZZJ4mڴ:ՙ {XT(00deecǎ\6˗/Ӷm͍:t@RRRܱ JZZZԩS'%{vDhӦMuVIEaaFXi؅aD"=ztbccĉhȑTTTTF,sJƌCB,m57gfYl0"yyyZreńpcZZZԺuk%ggg*--h޽KbDAZI;k׮%iiirpp&V!vfāu@F]/믿&"3gΐT׀hĈP(Rpp0޽=Mn&4xzi9 疇eKMM'`@S==z… iѢEzj*..&"ww}-S:_xA-Z xb*//S_/^xP}h*qӧOڰaC갶&OO:ru211f⟝m޼Ξ=+ ͬYHSS~pJaa!}}b_,77MFtjSVVFk׮%GݻwISS:wL .ڵkݝH^^ڴiC!!!\Sr׍ .4h|M0: L֐>}#yFÍ@@v`YHQQZ۷oO^^^5jW(Ryy9יzj RVVmٲesxttt%^Ss}244$ccc*((Cjԕ@ ԡCWw!{EEEt}Zf uܙkOGGzUЅ *]rssԵkW}OOOڸq#T:֭[\zcF*X 999CQQ{ݻw];L8O:Zmg8r222>Y˗:u* %%iii >>]޽{?raðzj[laKǑVRBq%z /^ۙ3gӧOqڵ o߾\/EEE_%K ::X`6oތ7o~&ЦM <-Z@׮]ѱcGaܸq©ScܹPRRT n݊k׮AZZbc$bOē3gΐ%,,,n ͛7e߼yC?dvڑM6C~JYYݺuTUUٖ-[eZn ܛ $ggg)Dm6@#FS{HDӧOddd:3@ׯJ_|I|>~:Ck 229t%$$K;̧7 8ӨIe&;wn؜9sU~᤬LqqqU/..T_YYP=U@F"ccc244${{{4iRq-YYYI:Fwu޽DDtqxdiiI^ł[Z!ڵkKqqqN:UiڵW_Q֭)33r , >Oϯ0;wںu+D"w7܋k]7S3ˆ0/|[>ЊƗD %g0瓶60I<##-ZD(**RRRmܸFq-_ZnM&MѣG8pnݚƏ-éN^7Ǐ'KKKIhk׮Ҽ:M4^ 4n8PȨS$'',,,HFF&M<\^Z'E?QII ihhYYYJdLI>4Ml|رc???K:?v WWWL8-իWpqq,,,cŊܹ3B! vvvՎ8{,ann___ :\iii}k׮ؼy3:toO-+M9޾}qvInH#jXC>̈05~B!W6emmM8#''455iѢEKNN&)));v, ;@?GFFuؑ=z I4߼yC<6l2N_~^*Vxh֬YdllL3f̨Q=4x`*kɴiH^^N5G>̈0}ƍpB:|0R^^yyyڶm[N{۷ݸqN>M222$##ɕwϧΝ;*Ǐ]֭[K8b?FaaGg IDAT%%%biwްƎ;`߿^^^x'ոw5aaa$FMM .!`aabܹ+ EE]ѩAϞ=1h tҥV`Ν;CZZ۷oP(t8_uuu={ZEEK,ALL 1k,˃#L<={DjjDurrx{{СCԄX޲|tt=(Jff&@[[횚>Qb`` /^ 8|0<<< ih0ƞ6/"LBh˖-T\\Lhɒ%:>//.\Hm۶%##*xڹs' 8D"7Vy@|=)**R6mݝݻW)۹/͞=2PΝߟ:uTedDLlλTd$ƌC;v+WСC4SHCCϟm&iiiw@ݹ۷o:uDD" xb!ccrrrCVV=~ʿqtƘbaFXi؅yrrrv?3giٲej*JMM%"DP)ȳgϸz* BZj͘1/_Nݺu#$//O'N ))ИDFF'!?NC 9sɓ'QjS}va,XPPPP6IaOa~%*5gҪ*Y%hٲe@]v%///>|81|||(66VlmKW^$//O[nPR1cƐa/cǎR1Ex277޽{vI<+RPP۰CHD~G#++:JNN&sssRQQ!4jԨJuD":v~N_aI= oooMC*,,$???200 F1X\IUUiԷo_@dffF:uBϧ &PTTT͜9i۶m4ajժxu_$όXfYJJ c[la1vEDD|>>> D~~>ɾލ7`aa\ʳYp4j=8c۶mh߾=,Xooot+W6#=|7oĞ={0g`̙ VYYYACCv^+0C!^={6qsGdĉ3_ӧQXyy9/_={yq:tu:Yf8u?~`׮]prrBAA,Y}F=; 9x dddp y8x LRmhƭtMr$%%Չ# VtRdff"((#Gׯ܇?rrrT@ KKK"66+Ws?uEǎaeem۶0rH]%%%3f ;.'':::pvvɓ1?OOOX[[cɒ%DŇ3{@6mD[3Ɛ{фPB7cXl444pa4jT.:;;{sf͚-Zw?yCV`aauǰaиqčHu͛#@ ~gٳ siiiذau&ھzjMtt4;&zwaii YYY_ !oQB7qQ 6 M6:#>>Ϟ=JҲeKl޼;vDϞ=qUS]qqq033L{ŋst5daam0`˱e˖4ic3f JJJ>[`oo֭[}vv˗#$$DԶw~~`ƌ௿B\\VZK"44^^^cRRRsN߿_tRABgH俲D]r8u]scĉ֬Y|||Xvv6)///EEEq哞Lā R/>_Ʀ^!RvMV^^β7o[`spp`{Q9:tZlɒ󞄄&##6muz/((ʲsV ke6|p֮];ʊ 2l1Ʈ_^ߢE ƄBO''Oxx͛7gJJJ [~_ӳg؞={9#!55mV4NPP|;łއ8PB4GkLQQN9׶˗/m2---u<uؑoߞpGD 0;;;***#oYfBc `cƌ1,""֭[7#j7uk׮IIIa=;qub111ݝ 8UVV+WV;͞=ݾ}-))_2YYYvBZuq;?|#5x`֫W/c]vv6`6lX|V$%%0www!|POXZZڵ+q_fEEEm_E &{(@ `?f^bK.eFb-[d؀͛7?y|ee%?>.^cڵkl yyy6j(سgϾ(kma"uB?Ϲ"V-Z@tt41n8DGGpf i׮];̟?GEqq1q>>>066+Qܹsq]|tG߾} ;;[Cq())}pwСC7''/(##6m k׮… #;v pqqjԨ6l؀vaٳ'&L777L]ܹxJKKѫW/yRQB7-6vXRNNNNNذaF .pÛ7ou@YY222p-H===DEEaҤIͅ6V\:...022ܹsqOl2ܹsYYY҂222aÆnFcر8vRSSqܹOq]ڵk(++C=DiӦfΜ x :w WWW}UnB*@!̙3ё83h ܺu \G`̘1رcc\ƍk9r(RI[[nnn322?8s ڷo={Ç'BCCQYY>ѬY3o}u(l޼BE\\)**/<ׯ_ꊸ8|9998}4Dǩիǃ YYY޽[;! z޸z*#Q$aڴi{ƍ,--9N",,,þ}cǎ㡼Ǐ1o|uc&L`^|Yzz:+..fC aFFFՊUUUVZΝ;FQC+~7gd?#kѢc222l̙yyyАikkm۶Ʒ6L>Z/^|sa"T:~Oquue:::(bq񘻻}86LEE͚5(1?p|BEEEw-[c,++Kwb[g&11]|ϟ?g={|رckUUU6m4a" !Zt)tݻwܹsq1O CZZN> O---DEE!88[lה-cYߏOxՁiE7o7n܀qH . 55UjҮ1qEйǏcܸqϯ6SW֭[-[ //Fϝ;&MwbNFjӝ;w`jj* &&&СaiiKwɓpvvv &-c^^ХKz>Lā!ڪUkrVTVVb̙HII-[k[]thhhիWl۬,ؠO>xÑZvjǢE/bҥ qƍ=p]vu i D\蝍RmK.ņ >(Y}xbx{{cǎ֭qYf!-- G:H! QXXvEEE۴iCii븸8,[ NNN{.޼y7"00?Fdd$[addM6ʕ+Ȑ!ΣR͚5 @*>u\]]E 7tϟ?֭[㈼[vލ۷c@DD$@߾}={6TUUvZtcx<.]ׯ_#00P_/_DϞ=Ѯ];ɓq5.B:*@!^fгgOx{{\&B\Ǩ3Ν;\]]Rͻ{c۶m(//ŋ9HL+q)bǎ8x Dxx86oތׯ_W@ @ee%deeqUܿ^~ IDAT$^ɓ'x Ǝ+1 )*@!RsθqF www 0uEEEPPP:F?#M gggmVf͚\z(++=޹sg AΝ[Qoɸpзo///x8;;cٲe055Ebbh;w%e˖ԩ̐)}􁵵5 <444>j}rr2444+222[[[BOү2̙[na̙XfMQWWG۶m%~2DYY3D 9RHG!DÇ 8)>>'NQ;vŋغu.++ OxzzbŊզc_ݺuCll,JJJmg!00L> 'O-Z"[u֭âE>N8FXr!<<v{W TB uJOOǏuСC={u5UUU+++ҥK3gg9r$Smݻw~ހ|2l޼?#qxyyqzjӦM1b̙KKK$''j>Dhh7_1ڵ+̙ ZJFHuTB͛#??TQQCGGƍ:N3uTIt'O >>[n$9ᐑ->ǡ!C#*LX...PUUŢEpEQQQ4_qa\v >DNjyʪ~ mTB%%%ytI\v ~~~Yׯ_?c͚5 VZոIII 0nܸΰn#@{}ؾ};pBܾ}8tuLsssDFF~Zwiff۷oZ߄&*@! »ERM6ѣq$ 6ҥKسgDTPP%K_O(((=-- ݣyŨhԨf̘I&!++ Xz5LLLQذa> __Z) ???/еkWQCH]B!AȀ1Dpe ((-:R6|p|wXf8p \NNzސaСedd ** b߾}PRR8UM00qD899JƍCLL ttt/! BcѣG/7u͛?1{lN}}jjjP鍍q5~pB%5SYY XhGW.ZjGAUUOP(~{Tr2!C!DeggLch۶-a``Gjj*~Nr7|>BPSm;n8W[qQQQ0`26tX`Q. ##'|>={DFj?BjTB^JJ 7;$ܻwNNNx9&O gggXYYI<4000vQ?cccٳ۶mjhӦ x<>|0B~WRRR!kkk?~&L@yy9N8Q'Y#BKMMǓ-Xyyy>|87n7obǎT||nݺhfq ~g 4׮]K) pvvƼy쌮]bԩ߿?t" ݠA s囍3'ODPP֯_uBĊ B@˖-!///q.\RiӦڵ+.\ c4iˑC}ѿۑ#Gk.$&&B]]Ν[Vּy@jfԩSqA"VTBދ/%qcbb6mH|li5l0ѬGANN_5cf̘d\t C,//вeKԞ={"--H'."rss)q544-qY^3ܿfAYY]vx@~BVV "ը!H5@N)((fhݺ5Ν[a|=Bk_">=zqE+++тH#*@!R-442eDǍARRn^#22+VվO< ba>'''?:J055>ܹuBĆ BT~:455aaa!1oߎ3gbرcI$c̙ՅQjEyy9ѢE "6TB ؘK,Aq…Mܼy ++-[|s_7o1|ݻIxpuu=REGGC: !bC!D=}***/::AAAXf %6nC9s`Ν?c /6nW)hkk#77_:7GӦMV@"ը!Hׯw`I&Ǐx … !//%K|uk׮Exx8vISc~FEE"##ݻw#""\AATTT&R~BZ֭"qJ@F~wذa3˗cժUtK=צM899ٳآ"$&&"?? Baa!@FFB޽;~'9ѫW/AH]@ֺuk<~Xc0 YYYDFFBWWW/:n׮]5k͛WintϞ=q,_ZB߾}X̙37oDqq1EEE:tZÇUkSB !!&M !D%''C___cݻp"ս+ǩ`l֭,55XDJJJئM=z|-5D?S]]ƍc ɘcccѾ}{Q! Iv:vիA*@!RAXXFYtٳgׯ_I^ѨlܹsÆ }}`ƍ,nTB,[LMMŬY`iiI3(BӪU+`ܹXl_TVV077}g&M HHH@pp0444p1nAŋ_aڵЀ6'N9s+Wȑ# .c###mڴ'{DGGcǎPQQ4^TB13TT5GKK ڵܠPq !RBQQ;wĶmې;w.\@zz:/_B?~NNN\lٲ{ŢEQ쯿Brr2֬Yq:"!HA[[mժ3L2"|>`ffVmѣKr}>2 11V̙3qB"!HӧOEpvv11x<ͩ ԊBGG͚5: wabb9so߾G94t#3!DꤦSNQyAKK ˗/Ν;999Hi@Ν ===]v*8ϟmʕ+ ƹs~zNr BIMMEvj999ضm~z1B ! @ ",, ݻwGaa!9h@ٳgѧO:| ^TB c <7BBBjt6A!<<?3tE5svt۷xij00c t ]˜1c'\awXBT1B,Y8{,+k׮ҥ HOOG%n݂'7nݻwcРA?455%4ڵ'ӦMC||<,,,$,]011L>]b bɒ%5jFCѣ8y$~H$!4GACCm*@Bشlׯ_Ǖ+W`ii ###{ <_ƍ`xxx`Ϟ=U%!H+W@ @QQ666lBΝ;s/%%Ç!ѪU+c߾}?l2:B8A!D/_d ;ݻ7Zh!"~BPWWGHH444'NL:z"5*++q ~ݤI`kk'O ""BB !D2qm߿_T| vvv5q"5/_tL>ܹ"uhܸBdlllXYY!-- K,8i!HJxzzBFF6l@nnGcǎ@TThbBNNN A!''W\A޽G8*@!R#..M4 PRRѶM4ѸqcsΕ`RBFaܸqSܿIIIڵ+ !#,, EEE '۶i݃hBFPUU:!"t"5˗/bJ !QQQ1!䣨!H2\vF8uz!tHFdd$7n [[[x{{H"|>=NFF"""GGGqG#Db]:,, 8!TGW@!RAVV(..d*]JJJT|# PTT)lj!}t"5QTT1ŋزe $@VcccpBC!Djt X|9x<{qy9s_wQQ6mZ[Q  ===VR-Xwx jagg)S@UUVم!oDW@!R@֭?[nXt}Ҳڶ~ ~! !Dj7o|oc 'OL6 ^d_mիLLLj',!@B=z4`mmÇcԨQlҥKPSSh_СCS 22tކBTB2LLLѣG 3gĂ VZ'RWWGHHB! #HqƉ၉'",, BBF~SB!  ҩS'E~~>лwo4mغu+.^aRB!a"u&L%Ktttн{w6l؀=z`ذa@edB!"֭[?O>E&M"*2ձzjBa9NL!4 TBܹs$C__HJJ˜1cyyyhܸ1qZB!aY!RvVX{{{@˖-f꣋B!vQBz򰲲¥Kp-ddd`PQQ:!PBi0ddd`ff333B! =B!B*@!B!C!B!Db!B!H  B!B!"1TB!B$ B!BPB!B*@!B!C!B!Db!B!H  B!B!"1TB!B$ B!BPB!B*@!3˱i&7III\!BF\ L ᅦ4cB!]!  0`nnu4B!^+ ?^~aÆիm:t(oa2B!+  pB鉊)SsXx1 qJB!~+ W=ׯ]~n"Bj]!?#}k.Z ϟ?Ghh(=d"44\G( KKo*@}a8z(z3j(|5k`{.cHLLBCCQ\\ HLLadd @]]#ܺu_?! ͂Ei=#GС-[M6 {E^HX ǘ1c8Hi:xI|w_ϼy󐘘/+V]vprr ___̙3GCRSSaii @YjjjxꕨMFбcGܽ{ptt.7n 555X[[C__ػw/-[={˗(((@QQRRRPRRP7o@AA͛7GNгgO(++iB!)--Ŝ9s0~xL8X~=VZ˗sH@;wٳgػw/x<V^ @CCW$JJJwBBBÙ3gЬY3t˖-χ1;077G>}P(Dll,޽ 8p^^^ѣGq-[c„ նK,AN8p .^8DGG}Ν ccc.]X8 fhh*++FP(d3f`222M6lĉիW=nƍ avb .ׯ+6;pSWWgLSS`JJJLEEijj8 0LVVV~ݧOXm6bĈ^;,$$>|:t]r?(7c.̬o{9;y$e))),++냯35556k֬Z n>LāB/^@YYڵs 4jDI/|>N~…hڴ)1sLlѣ1tPpNPBip򰷷۷q*RWcÆ HNNlJc033Cyy9^3Xɓ'(///TUUE:v%Kٳq4i-`oo0=zgϞDYY8{,ХK 88!˗/9JJxQBi PUU,:v'''tnnnx )I]0ohM4ӱj*@__JJJY={n1110`ǩkժcxgۦիptt@2!<]t+x\p111pTTTЯ_?븄 OByyyǎ:UUU899UkעE >|}ťK0h b۶mpqqqMxyyӧO]\]]O.vWRRgbh֬Ǝ+xM_QQQ?~<yyycǎԩSv9RoQBj;v,`dd{A[[ݻ7ڶmӧOS"aB݃qIMMŃ+()) _4@ ֭[[lņ CII٬Yd񑓓={@CC`ժU}6QRR+++BAAsZlK.!>>W\Ahh(O}}:w[!RMFF1#222D/^z!>>^ 5k8p Μ9#ڗBMM 4Q)vEA@`Ŗ^[lgO]XK,`)*D;"!y9̝;8.{gF􄕕ѱcG]vE5P^= aaagrr2~ 8VVV򂯯od2lذ .<<< Brr2\\\p}9~~~pvvƼyp}IrM4ĉ KKKL0!!!RG#2CBI>>Xx1|||ЩS'ݻjjj5lAxx8LMMabb)S fffʾwww{9s&.]{B ==PZ5 $_Ђmmm!pSN&ҨQ#ܼy= {YYY>^JT԰!Kׯ_C__<퍳gZ Wf޽&455Çh"lڴ 7ƞ={гgO/VVV۷/&MdtO>PWWhݺu?~ 1b*T\mmm}Gfffشijժk׮q޿ra4k,犊.MMMl۶ m۶EVP(CCCTT III055EӦMѻwoԮ][DJ,@Dz!z)7jΝӧm^Я_?|*URUb%%%uE\\UV) !J*)gNKKÞ={m6\r1bĈ\Gݻg2g L]va̙:)`QpBXXX`ĉ^@_f q9 Qa\2닐hii!22BXXVZsO>Աm|+++K̟?_d2@d2S͛7 BMMMLJϟ?Eh߾3fxرc z%Ǐ{c ccc@gϞ5k2L۷B2m4Q|y$ŋ|b̘1'#$%%͛7 ]]]ahh(#=TxJ3f`:u*;d2*ח/_R|}}ѥK}|)/ѣ,--0 ,}Pzu@Jлwoj ϟNJ+o>4k GGSrbӦM2drX}!99s̑6IF[[CE6m0qD1118qѨcBD_,,, ?#W~vvv\dynݺ `ѢE:ujm}}}\r%cC,@[jj֬W ={h5jݻw \Ν;CKK ЬY3lڴ m۶ݻ!ax'N7o0l0cǎRPzu066۷ $ԩSh̟?ժU͛wѣGؽ{7K4oԨQϞ=+LѵkЦMaƌRǡ~-N^|e˖!###OY ʕ+ѨQ#iسg'Mowi?%ATT1yd;ϟWILDѾ}{IJ9!*~7,_;-[͛7=zt=kffdTPuU.ߺu+j֬3g]v@޾}UV_L&Ä ڵ W\Y닲ebȐ!yf[=<<0o<}3fÇaaaHNNƍ;w@CCڵáCХK^---b ! (\pRG"#`̙RG!LTqܥ)g /_\ghh(ʕ+ٳg۷ bΝ[n /Ǻ QZ5*6o, &ʕ+'رcE@@3gP(VZb̙mDffyPSSUTbܹ"==]+ L&455ѥKke?^M6]=z43o߻wT͆~Y@=zT(DTVX!455E\\\u C C'/<L&MaÆXtrn&"ۿ?>ݻwCڵkC.#$$NNN֩a;w. իc=z4V hذ!f̘.L&L&5N> ___aٲep\~'O.0aNµkгgO$&&ŋʻ0 *|ō7T;J Ћ/믿b۶mh߾=ʗ//u$"߼|ڑ#GNȱcĤI [,.\ RSSB uuu@]6vvvNNNl,233WRR9sP(bԨQ9{yy vhܸxWsܸqJ*"==).ڷo/LLLǏBD[nBOOO̘1Cz*:LA&ҕ?D;;;iҳ*!!hԨwĉ޿1b\111+6n܈Mjժr """5a͛G=ztaҳgPbwk;v,ѪU+t5ǻ#ի_~X|.ѥK( s@AV~/za* 믿`ff;;;̟?FժUѭ[7\zwFaԩ8}4PLԫWIII'Ob2e \\\pqhkkc͘V L|26mZݨڵkD 1p@TRR_ԩQ+ b_li%t" ݸqǏ}v2 ЀL&qe( TV u}!==B >> HHHТE 2,]L<ӧOGNpUtVBF>muaҤIpQo^8*#!Cb˖-R!tb„ j"U*>XPjj*޽{7o 7n ͧoB͛K&_kĉ055E׮]M4%;SSS!p!ݻzzzQzڵkcҤIX|9<#F|u)<ΝúuЩS'Զm۰w^߿5:}Tl޼]vqrŲdeeӈ$&&ZZZ\2Zn ///̛7W^V|HASSSDӦMS={pppQ~}ӧ QN`׮]kkkIk]pww:Jbܸq8p w.u"J۷oGtt4L"ubBTѠAk _ggg:u Wn޼ObE*555ŋFHH[?z*]gϞax-&OjժI&RG"׮]ի1|pHGeN> gggXXX`ժUR!YfW^rw,6qDdddظq#~wԭ[.\@ /UTӧs]޽{W^8qtttƗ/_Fv`cc9sHGe<==1j(mԑ+]XxQ>Q@@@~W 8IIIгg~2XΞE?=N8eJedd`ڴiX|9Fk:1?gΜAv`ll,uOUedd ==ڨP8 u$!6oތ &lٲ7o~')SFh.**  VZcr"%%׮]òeˤBYy "LKK 4' IDAT˗Bx):v#Fo߾ԩSK|[\wΞ=qƱ *ABCCƑXV~}H#44M6E2epرbX^%%%a BTTΟ?t 4K.ݽ{P^=} IcEpp0S(bbbflڴ qqqfϞZjRG$Brʡ|RG!, DdŊ9s&йsg*)))HOOGFFBBBp !PjUhii!** {Kd񑒒 bٲeP(}cǎX~} 8+S O?k׆  *gϖ:I)ǣGk.\8DT)S͚5ץBYBxm݋/_bϞ=,> B۷###v:RVVBCC!~^~~aذa9r$f̘Q@ $Y&=z$u bBuL&+/4ԩv-u@TTڴiz{xsyXZZؾ};֯_D.uObBxW[M3g ::O>aff&i&!V^5k޽{X`Ν;#***_}^Z޽ Zh\vM(DJp 4'ODfffu;wFXX$JG[om۶,-- 6H+$$ǏGӦMqm/}6`y'88ǏO?ժU+DT١bŊ9r$֮]/_J(W,@TZnoߎ:gϞUk۶-`)RRRмysػw/zCbŊf;|0ʗ/x?gɢE<066ҥKFMM ^^^033ĉaee$cJ!:ѣGի022B߾}/d2̟?gΜŋ%NK۷oc޽Сz쉍7^h8t:v lƍc֬Yyɓ'aADy#G/^;wD *u3TZM4}iӦ)t3gqI ҧ@n744oFs;l.DTB.͛RG!ʁ:eʔA&Maزe ̙''',\P MMMd|h׮]7o|/ D_oƘ1c DJ~ /_Fdd$`СĦMmr9K.ӧ%OIKKK$gϢu-jժxgJJJbBDyI&>>>XdI R T*j jjjO>رcGv]t:ZjI&;ǨY$c$-- ptthCIIIV#%,, ;v… ѬY3Y˖-CDD&MeJ(HZh///9 ===|WOO'OΝ;w^,_5jѺukԩSʕPJ)22իW8{7n@JJ 5k6˗f&%.##ΝÃaРA_!ڴiGuKШQ#} *zC011AVV2 WWW!pulܸ5j]> 'ggga(={hР'ە+WVZݻw#G`ӦMx)Ԡ ]]] D#?~:t:Q,*''' 8wU//L&M`֭xsNcǎIHu n݊cRx{{Waii [[[,^:t@@@RSS1uԂND̙3g-[J(_XP%˗֭[1|pXYY}v[|۷/N8oڵh#FΝqܹW;رcy׸r ZjٶZZZHIIlcʕ+t.]hlܸ 6 +++#ʔ)#u|#XTլY?~ ww/zCWW7ѹsg\x:::>q DEEcǎdfݺuPWWuR(y@SS+֨Qϟ?Gllru"*0ecPתU+ <^&Z*=p 2Q^ѣGHLL,>}||n?o߾ڵk1x`TX dD&M/"*>RRRݻ"3Q~!* _q]vEFF-ZT`}>}ΰƚ5k>6 vvvHOO?پ322_ 9 pox?Z#Qq"++ RG)Uj֬ɓ'cҥ0JLL:u;;;<oذG@@LMM? & 22={Wr|w8p_G/XbBTj׮ %NR/\2\\\j*{DDD@KK Wt5k)))ҥ bbbPZ\ F>}ҥK ?eݺuZhU=鏈ǏG>e,@ Prr2ܿUUL9sOw] Dh˖-ՅQJ% ڵ ѣFѤmBKK Xr%yNw@Xhƌ &`Ŋ_q'##3gĜ9s0|HDTr9$lݺ322¦MPzu̘1qqqXdIv:::Ǯ]0n8AGGڵ˗044u?&LOOhD9v¬Y0gΜ< )عs'ϟ,Z2漏AEX6)S ..cǎ: 3gĊ+tR۷/vGPP<==[gϞA##\uttD50y\ﲄƞ={0wܯ*>^xEVZ2d4h DLtt4"## u/:u ֭òe`nn.uǏGϞ=1b<|0z 4SN=tuua``DGGׯ֯_$L2ѫW/>5 &&&;w.Zl۷o~x|2bGddd ++KB9s:t@=?]v=zTq#d26lt= /^ GGGXXX`ƌغu+tttpB/@}ӧ~G-[U<<<0{l;wļyl۶ VVV_'o|ILpx*agg4lP_>"""`aa:u 88ĝ;wn:-Z/@4o-[Ͽw}SNlׯ޽{ EJJ &MU3 !fL2þ}PN/J4BOO/^,ѥS; DѧO$%%!==QQQn߾#Gbʔ)h۶-?~3gΰ(6lƨQ:u|5554m ’%Kf͚*>?777pW\aADJذa\-[H(x4)yBp g{ '>>ǫW{{{f/}v 8kƘ1c0`Jŋ3f ^zx$$$RJضmڷo/i6"*:woϯ; Tx#r9v 555,X ۺrܹs~:bft4hFFF;w.233%^zA]]CŬYqFܾ}}RӦMq֭uDTTqOX"zcڵٞŗիWc޼ytvލJ*4˘1c˗/D&qqqxjԨ!u<ׯK !/^3g 88 4+Wߗ/_bժU={6&LQFСCHKK{"7@PPIg4k +WƲexruuEPPjԨWWWq_o߾EV0uTlݺO/ucccL<QQQK.AKK =z(C!Rfff8uQgœ9sCgΜAݺuѥKx"}$''sΈB`` p]ܽ{!!!۷/n݊ … v6luuB8""*d2u///dddH(X偻;,XyaϞ=RǡBRL_HMMEnr<2)III'O|+V@XXꊓ'Oq}DTxUETXѴiիWK :WbڴiyիWpuu9ɑ*T3g`РAx *:B~-LMM9+,@H&RGB֬Y3,]+W'FFFYfxΟ?VZ}uuulذ֭[A&RH&ƾ}&uqe|y_&AdJ!Cjժ9"*X僾>bcc9V) ɰuV`ʔ)ȑ#USb׮]q>Q>#33SYItuu1x`x{{aСC߱j*ԯ__DD >&&&知BY,@ѣG044B: H֭;+EEEaС0|p Kĉ8}q>Q><|R .|||߿?ʖ-͛7"*2~8;;c„ HOO:G! B ˗//v }}}LիWXvq>Q>_&O,u\!ʣgϞ!++ RG!;v  B2e$NDDqzzzXd v OOO|ɓ'T 5J8DD5`\~#GDѦM#)!ʣIHd2lmmsss}L&Ú5kct /^Ա!ʳoxkJC]]]DDyP(o>4o:t) |( 555*V]]]cKٲe'O ,,L8DXYbb"ʖ-+u ""|0Ǐ%NB \(\2N:Zjرc""dee cРA޽;޼y#u,*XP7o*hԨ lk׮- rzj탈 +W[nŁ1cHJ) T,[Ǭ7n [[[{b !((ZO|2 -=n޼BQA֭ƎӧO#++ 5kpqQi?nB`` Gœ'O}BP(w شiSejڴ)222Ph ""* -[Dll,n߾L5 ƍC=p=Q !&NB ޽{qq]v+ 6 ;w,:::ؾ};!"b8}4͛7իWG^*uD*XPЧO={k׮}̙3رccQF!==7o.L AX҂O///>>8p ի##l mDDDdd[.@ǎ={hذDIaBEڇ$|Nž={sO'OժU+YYYXt)mۆO">>^NGG?A퟈DGG 7ӧYP#XTlolذhѢ?˗/W!zSQTѣGbȑb˖-bݺuW~}a`` "##'d26mrYjj011666"!!A!DLL044M6-"1g!&L\6o? TT!IL>B!ucԩ>,d28p@v/r\ܺuS6VVV4Ν; !X4o<[X)\6zh&bcc|}}\.7oeʔiiiud}h,X r}v ZZZ_Th)dݺu$%NENZɓl޼yDԮ][ҥKdhѢEB… [=}jʱo߾ŭ[Oe˖AΓss:uk׮HIIkהΟ?Ls֥K~WWWe;Tt癊/^"gy&ƌرcҥ W'*EDD@[[+V̶}5pٳg9GGGkY@za AR^XG]{67X@E"J'|mXE^p<3=2>M!""""""" vDDDDD`BDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD֭[HLLvDDD$SSS|w"L@(Ou7-,,I}6L@(O{a888h91b|}}|k |{}k-]7Y1/F3 |{ |{}k]/ADyLnݴ2_7_?D Q׏׍׏1ѧaBDDDDD$~ч`BDZ._?_?D!0!"""""aBDDDDD4 i """""& DDDDD1L@Hcj;""z;AXXRSSQLh;$""O(ĉ8~8N8G[[[?Z(g!~~~9r$QzuՃ)n߾~:vڅx =|||Pvm-^1!"#nݺ?a5k|xݻwE8z(\\\4:Q1!"#q=lݺm`eeWWW#иqc4k 'N@s3d""Yt}lܸm󚰰0=zn‹/TN&> ۇbŊqƈ\!}l!/ҥKpuDEE޽{Qti̝;+WDzz:p¨Wׯ|/ׯ_3,--s,^ oee@ԭ[7ɓ'QXO `BD_3g`8r666HHH;`jjSW^z*?ǏcĈ@Qn]ԫWՃtJ¶mhDGG#11… СCS4iǏ`DDD }Dƍ*Um۶I&u1УGt )hѢh֬ŋ8{,?'Ob„ HMMEŊ1qDt J2Wcƌ ?888Z]6668|0֭͛ȑ#c@(5 >>>?>._g[Ν:QF>}:=gϞ(Vu#$$$׮ٳ1ePw!00hժz 0![w|q8pΟ?|xg9%''Gpuu?ߥr8p.]g{BDDiL@(OP;88:::8p`}ADЦMR0f֭ܿ{V^wƱc0zhODD "soCCC4lr ʖ- \Xbؽ{7nܸ#F|FDD`ٲe?>?y?233akk8L?NNNHJJB.]`kk*Uh~'''l|K"<<ለǏQH*T 3ڵkǮWDD'0!"y q1lݺ8{,*T.S`Agǎ7oϟNx_a͚58y$@TB__zzzHHH@Q|yL>^^^pwwGQ~}xzzuOȑ#9s&?~-ZJ)))7o뗭W||<]Q4J򰠠  AAA>;w鉳,[L233۷LERIVVL>] EPHƍeÆ &MHʕUʕ+')))}( )VJX={&bjj*.]ZW.[DD$11Q\\\DEE}rDmsr[@H>}ڵk(]V9<<==QP!Z ϟ?G=w^xyyaȐ!(Q4iׯBӧOg*gΜ%KqF?~6mB?)^sss,Z]6j֬ kkkfϞI&իXr%u놰0axθ8 'HDD6 mA6pqqAPPzP2}lقnݺZ?~>7nD-{888`ĉo-]x;w:::x???$%%ʦ  RSS~aذa\30NKD 033Z (Wv܉~ AAApppy󐜜/(^Nt,--?9wi۶z,ͺuФIj 'ODRR@Raݺu7郈DFFbСXf ʔ)ujDDaBD#66V+ +++aРAP*^z744̕nagFٲe?yߤbŊ8s us . ccc9rUV'jԨׯ燵5f͚{f͚V!""υ i\2e v"66*Uz_ҥq=dddJݡ M:p5kI&QFȗ/N>[&&&hРDD91!"+UzI&ɓ'U#߿&&&!}MT*ƍΝ; K,;o>mFDy"UAAAXd 233… e˖Xf ʗ/{{{l۶M1{{{,_)7 ]v!33]tɶ]__wƃPvm 2hժ&M^zq(W?ß6JB}`ǎܹ3N> /^ŋG%ݻw#** UVŅ >*'O^z8qԩη]LVVʔ)cڵaX|9){{{8qְ? &@P={f̘,,\-[5ۇ-[bɒ%(]4;Ez,'''̙3oj߾="""pr׈an!z6~233RNr*J/^,RV-9sKLLdddȥKDT?:deeST*vL>]T"4]S;wNLLL\|||ŋ.;vB!Ν8rJ-dƍ'bjj*s̑TĠI7niӦwۿgj(2T|Sn t"/_ӧO;BO? [nVV(Y&QbE/Kzz:n݊CGG֭C"EШQ:ߗѣݻ[CD[cǎ7oƽ{Pti/\nLMMѯ_?k׮۫ qQ<{ /ʗ/jKƍ#o״iS,Y˗/G54%v"5O>uwssS{̙صk~7ܿؼy3Q8p޽;͛7?|_KVVZlhOR!00P`e@@`ٽmLWWW|P(dtݺuógr5f7774o{FϞ=Q^=-[6WԦB ĉpvv[_~زeAD& D+WR/kkk/^C֭1p@\|W\GDzqFT\+Vlڴ puu&ĺAD "\rnx1Znf͚?JBΝ~z;wسg=wKGG۷TJ7n-z@(\SیѥKdM~Gdffb& D+LMM'NիC__oVow}Q1cڵصk<<<˕+sΡC?Qݿ!!!yv'Oϟ=8p$$$`ݺu8vRRR`dd Dعs['"3g֭NFs\+V|tݗ Zm۶Ȉ(/aBD~ DRRRʻ"55CBB'սb *U zBFзolvZxyyaɒ%9k<9͛2e۷/:{{{/?*U ӧOGjj*.] KKw~ ŋ1ydM]7rP(|;˹}] !C )) ӧOQCGGqqq7nG^zgXZZVNP511TGjՐ?~mÇTR8|0+ݻ{8p \ Fa(V0x`"== ’%K0bT^7}aooK.\rr2LMM55rLR}К%Kĉ퍘dddiӦg/{{{̚5 cƌeйslضmn޼K.ppp롫ܳg''_"33ȑ#UT 6lP^hQZrGjՐ;bXlLMM K,xX&11Q 9y$Uggg \cZjYfa̙ػwo.FGӹsgL8&L@&Mmbbzށbܹ1b}i#d" & Dy&*Wy!==FFF(\0kFʕ LVQ9>^RKx3f <<<>{=8F%55'N+J%.^#G~xԩSSCy''''>}:qQ(7&͚1coߎhTZݺuâEмysڵ pttD….] $$DQn6DMVV<==qUxyyaÆxA2J{Ehhs fΜ 222мys:u ```(dee19sn݂?֯_==_CǎqM\~=SNɓqTT)"66ժUv(Խ{w>}/^|o٫WxgKiB@vpUX'Nѣ_~1_{̦M`ggݻk1r"mL@+Wą p,\Oܹs_+WBX[[gvxӧ8dZj8<\]]鉤$ 8f6z%<<7nDzz:ƍΝ;54n뉉駟Pn]XZZҥK2e ?_WI#y7www)S{gԬYx޽{PTAWW}ݻwSÑ 'V^ ???:u *T~^MC?+J=ZHNN޽{akkGI&ŦM41022Bڵ_+N1!" 0ӧOǏ?___:t z\Ѽys?v ;;;888 UVŹseʔ:٘5k^xUDhѢ/+V}000@ڵu_D0j(,YܸqǰaàT*?OOOϟ .|kPhѢ2d6lǏx8~ zP̘1+Wƾ}(71!"a۶m={6f͚kӦ ߏ/"22mڴArJ8::ҥK]6nܸhܺu O>UfUlYܿGANP(УGl۶ k֬7nݺ!222GW^8p.\@n 쾔kCŪU2(Wze{KKK?-ZÇFڗSNt>>>X"mX"hs`Ν;'M4_U<<<lذfdd/_>… J…ҥKs9R[,,,dȑ9YfzkKKK9v{󭉋sNm#O<+++qrrFңGppXYYIѢEŋ" @}011~Ao./^vh|Sn` 71tP <imGWWWիW1uTt q5dee!66NNN(X[WA,[ E7b $$$g" ~lggg4iׯmZ@;v >D:uC/˨X"DZzNw-[CŎ;#lܸڵ!nݺGi;D"eL@шsжm[|}111@DD.^OOO,X9:B@Ŋ? M4Q|y888`̙(\0:w vvvhܸ1vsss$&&bʕȑ#v=XXX`ٳ'zFav1!7HrRJ6mn߾;wx9YӦM舁V^ KKKڵ+*UAkPůmfmʕX">hJ"i ]̙@J+VLɓ'$+UVRw6l(*e;t 5ªW.ݺu{###FJ5kH˖-P899ҥK?`*J*T :tv(9&vvvҬY3 lݫBBBVZ@tttEsmL9&ҧOqvvSSS9xC#srx4ϟ]]]2d޽[dȑwe+ciڴ?^>k ϟ?sΉƾܸqFJ7s玔,YRJ,)wQoeK3٢EDTJLLCɑP SNUolVV^ZO.>DVV4jH?sΉBڵkk9:srf[HSGGGWߵk͟??>kC.]PX1١SNoxُÈJ []h?ǏCWݷ1={0~xܹ3:u[[[*U  kcǎŪU0qDm^e˖Ř1c0sL4hݻwannKKleuttЫW/Jd֭8|0дiSܽ{7RĘ1c "1KDԨQ7xk Hnؿ?LMMѼys$%%W^طokƎ WWW$''c5*ޥ`x)*W%JҥKo-w^iF=5?:vWWo6ذaڵkɱٳg~ܹ3q,YRai 44 ,8v^iӦyѲeK]v(W^xHsc WX|9-[m6+˗acc7o.\@ Jm~@5 "Z*fΜM6ۚJ>}`nnϟc„ x[֪U 7YVVƏyYf6lׯrLWW[l j׮i;,Bv  ڵvhuIܸq+VPoĖ-[ףo߾عs'===nݺbDI}éT*S8::JVVz{FF]Vȑ#Gz{PDTʭ[[gbbiFJ,[Ѻuk)TDDDӧOo߾.[;MddIb$..e7oE{[F!d…o Kpe֭1Bքݻ%99YU&͛7vh9oqÇ_H"rU Gmsr`}eߏSNaL7oD2ef͚ƍ(^8|||)S !!!ŋZWtt4ѬY3=zT Ə3334hSLApp0/^{A6m0bXZZbΝQv튵k">>.]ҥKjժaܹx) <<Cff&N< 5ҥ Zh~^YZZ~TM6a…prrv8cر#GDڵallӧOUV022BʕCQV-tٺWB`ll GGG<HNNƝ;wPP!ԭ[gϞg ]ˇʒ*UHzp_zU .,˗ǏETJjDOOO *$ϗdy9X[[ɓXWxxH 9w;Vn߾-:t RzV \rEN*{5jdSOOOU&:t}}}166AIѢE^rܽ{W̤yfFJJJ( 'Nȅ ӧT*Wr(++K|||Aacc#{G˝?^'3fb٩T*u ǫlmmW^ҥKYb;?qDk|ӧRN122ÇJm-9_:>)70<7s= &MTٲe(P@TTzuUdddȝ;wo߾T*IRRR䯿r i֬4o\:$O/^ -oGͥ}߳P(dٲe""2h }mݨ(Yf:u*[}>SJRJ~}k899[xϟ_&O --Mԩ# Rsi׮( իlذA"##yW T\YTVM,--%_|+RtXR~})UV?={V6l(###)VTRE,Y֩Ŀ$|Sn`Byo|&++KZh!\H&Mɓ'""!dӦMَp˗O~gIMM 0a/>nZ}̍78q8Zn+={B IRRlݺUP\bb;+%%EDOYlR/gϖ 6ٳr xl޼Y &㳯mGPBCC\rbff&w~mZZ̛7OR/^'=RJI^dҮ]; eʔV˜ B!g=oN[rrrSL2Et~9L i}8J%ׯ &ȿmߜ9s,Y"dǎҿH4hlذA~GqppP}:9|$$$mVZl=((Hɶru@@K~$%%%5۷O Jk[͛74nX*NZΞ=P-v-fffR\7&{{{Q*2dy|Ν;+? ٵkzjj̛7Os5kJΝs3~x)RI󏸸ݻ)ÔPUJҥT*i׮ǎS={XYY:`UJ޽%##Cƍ'N:&^tҥKiذWWW>|XBV^-CB!K.:ovQ177''%$**J޽{ o& BڶmZ+@ի\"YO-[VFYfҪU̔],--RΞ=+͓k׮}139L}#nܸ+W VZ3f ((EAbbzϳL^hQZ ݻ7ߢh:u'ѯ_?X{lV0h ƍvΜ9 ڵ Z6[S^`hhI&GŊ?KFnnnXnڶm;wlٲ^gn} ̙3'NİaðpBLv"իWc^ziu6k׮QFšC^[^RRRp޽mD4h[(J 0iii5j֬Y˗c̘1Pu>}pM0!F>|p .\ALL ߿Ԯ] .|XmЦM6B޽{$%%&MFObŊ055۷z^zcXx15/WgEO]ʵkо}{mAo0n8`ڴiȼygϞ(d߾}o<(QBf͚@n%E<==?Z*U$ s|[nR~IcuSN ={W7ח@Əھ۷Bqi!߿/zzzR\9޽ƞ<~X5j$DDV\)dʕmݓ;wȃ$>>^Lf̘!Wiٲ<{Leʔ)@w﮵x>)70<7/>>^.]$qqqCCCukת522jժI>}dժUo|-i۶.\Xڴi#K.]vB֭[ݻwe̙bdd$?رcTTZn,ZH~n*Jʕ+']vv(*JLMMeܹٶ_pA SNy"a333yb|,YR ( GZ 0@eÆ Ҳe˷Nj,YR~'iРXYYݻw|%o0& qs4qΝ@?.wޕf͚y'ٻw1=z[:mJ۷o˖-[d̘1ҵkWYfRhQb 33/~0 D___6 i_ZZ+VL)RF)7p:ٳgh߾=PF t%J 0axyyAWW ֯_%K\\\0gϏ]W@T\qqqXv-QB4mcƌQ/ݻ000*Tggg`ۨ(!acc;wI&Zc͟?^^^ݻh={`Xp!\]]K.EXXQP!-GRݺua``ݻwket>}`iiٳgHKѹs: }+""m₠ 8;;k;)Wh3@=rRP!i޼HLL7ذazΝ;eҡCIHHZjJ'OJ `+WH޽͛l2iѢ :T/_.W\TO.^XȥK HNDEE@5efhBkdɢi͚5(}7oÇxׯȑ#eΝYȐnݺ1c9L i̋/DWWt@|}}s|E...GFFԩSG)RDgڸqkׯ.\X^x!777d+ m۶Rxq)[(JQ(kTbaa!'NXիDGGk;{?F&kJ)70<7ټy7oJe˖*UJ=]H_%J2z?-ZT>}*Ϟ=p B!ݻwILLvΨ(ӓsJff4lP)"ׯe˖ ٲe ;vxxxFe~lO?$={TRV-mE)S#$$D_6lEMj$,,LkiӦI"E$,,L|}}eȐ!?jJ222>*,=jӦMrիz)ÔP_4mߘT*:tCCCQ*#ˊ 2D BPwAaÆ<\SNRhQ7ovÇ$$$ȯ* B>,""]tqww+ܩRhQ111McLKKMܺu_g W^H}ݻ# mۊj;,7R)mݻw%J|lJuY $EҾ}O[_}WmVƏ/߿_+666߿(ʏ^TRɀk7>)70<7{( Y|[deeIH Ν;/_>i޼4kL!666b N:IΝŋܱc]VoH׮]O e] IDATʔ)/SLZj:։'6M;̙3eҧOˌ0cYdFFI߹TΩp=>}u] >}:rrrX_~oXff& ЬY3! :tHnL<5]RN“'Ovmuü" 1tPhkkC]]?~<ƍ+ѡCJ_Ǔ'OpEǏTE~ʀ Z {СC\YfA @  $$?~M 0Oqq@D8q?711PI__O|5&M–-[X!޷o!V)"""@DZg =z055:́Q$gϞ>+ҥKADh޼9Q.1?sdzgpʕbd̝߳;D[[[vYYYxaoo_%>ulmmT6h޼9Cܾ}k׮_C  ƍþ}J4ma2`B 'Laa!>}FU/^вeё޿O&L9;;ё#G(..wN׮]۷oSRR%&&yxxЭ[H__hݺuo>_\:t ""SSShS :ŋdbbBrmQa MDD~ )44|}})++ T!۞ennn+z%I$h4h :|0ݻwDDdbbBǑH$|>LLL())B~Ǐi֭ԠA6u֍˗ٳg4|p6mJ/_Svv6}5^^^oL;--v>|HǏΝ;߹s'lْΞ=K7nWD,--֭[4}toh̘1tRQQJ)#[yYu233HX\\effQQpJ[˗/S׮]iŊe9 gEnc0@{~$33 "%9޾}DN:AOORprrcw022»whkkCCCcǎADعs'N^eaoݺ"ŋ1x`9RzK,aΜ9ܹ3j_ܻwYYYc֭IWРA/"™3g*eZ\W Xqόh̙3fU),,#:uӧ/Z:`hh/o.KJKKP K.U({aV# @cǎUKR ,Y7oTKE&|$$$U֯_ADhӦM999rT*D"u]shhhZZZhР߰aàūpTϟ0 o߾---AD8yd~Hvv6|}}!P^=ٳg ^kyO^MQ͛ꪋCA(̓T*E~~>ѸqJq_D .?q_WSSܹ3W}^8pDHBKK sA@Dprr®]D"ɓvU5q1cSNEaa@KK FF,XD)S(`ĈD۷/TTTаaCdggׯЧO۷oPT}k׮;88`%B`` &N ~ϧCSS^{/ڥ={ ** ... Q/((@RRaee&MԪ2z۶moEի5Y L>Ǐ666Uİa*]x%;FDM6ӰH$ϴ044Dpp0oFaa!nݺ%,y)9gתU@D6l+DFFb۶m9s&Fu޽{ _-<iӦ,a(0j5Э[7*Cؽ{w1b1LLLi&Q<<<3g"##?sN>8RcǎX,_˗=z4,,,LȰ2uCdd$ (ؿ?ɋdggC ɗ7  ѰaCԯ_666?~<+K:uŽ;py̛7D[ӧADKC^z|B{yy tuuX'55D0㉉JQb=f zAEE RdȞ'NDVVl󧄧'X9Y=z@[[ܫܹsajjZvϟ?Gf 6Çro%ʱ X¨(hjjbԨQ qqE\NNNݻ7.\###cĈpG  6@$A={64Yf͂D"[YYiӦ?~|nY][իWU﨨("""sY?M4P(o޼ HTV L2En,H >`kjj?CUխTff&;,,, jjjXbE*㐛TܸqJLVV 8\դall={֕,PׯGF?_dȾu֭[Ugɰ+ܿ7n@rrr/^ uuul"DSSSBGGB ͛76,a(0j5z;wDGvK#==GADƜ9sNBz`hhVZ3_K.Uiذ!?'"j  5k&xbbk׮%% $ġC77r]1_7o䃲7nTnU5jO֨/?D"qjbcc!H0}2eYP4,ajdɓdgrLЭ[7[iɡyyyؽ{7Zn-L܇8x ϟIԩlmm燖-[b1&NqơM6hҤ tRQƋ@ E֬YDR>FbAD۷/nݺB_ҷo_cРA0551%B,X{"Drr2͕q_]prr“'OJ0'f̘!gkÆ PQQ/_jҥ G\iHOO篻}6/ڡCϟׯ_H$Z1\h @  Z͇" ===L8r/??ڶ=.]† @D*[СC 4na̙x)vڅ  9 _ɓ8tH.] ].],Y_ՙ:ujAAD5kTIΟ?:T8`9 eFF , 7o^ē'O`ll kkkرW^+GpBc-P(޽{V ;7߀!C@__XǙ3glmm1e@KK .{1Ν;Wϋ/8q"S‭ .P(D۶mE 4׫l>BH$ŶEoݺzzz[.WWWhhhI&066FǎѫW/ݻYF2`V,ɲ2AHNNaddTjI#_F6m   DHu044M}5\wm۶ "mA1m4lڴ /_.תڵk!ŹrJeo߿o޼A1bRjjj "۷ᅢK>T'Okq4440vrQU:t耦uyH IDATM~ 楑 uuZc1rHxzz(ZXX_~1b_m޽ RKVC Az "ÇkƧ @ʀ ZMi>9Ql є)Sʴkٳҫ( 呙Yb5ϟI&]޽{|r~&??vvv-w߅reey,e1w\b3~j+ӦMV ߏCb-=d4k֌l?|p uB>͛7!xbܼ|a| X¨Ք?"Plٲ&>y$ ""v&L͛#** ,,,`iiYnEojFiU͛7%!66:th )5ȑ#҂Ws͛Vvd%9òe`eef͚aʕ ]BSSSN+CYrdfffX`;|0>}`ر1fcwit[.si2`V3R...PUU}XüLL2***W_fȑD%g(`bboރ= PyvPPܹ|hii}+YfظRAYHR~a~*Cgu`` 8… !ÇGӦMAD鱗OА+]^޽{WO ,aܸq=z4աC!HШQ#֖4226MȀX,P(BJN3",)`jj GGGEyx! ahh++J%3,z˗/+ѣG "9rk4440sL@ %/^"w-WśB^~$ϟ_Ν;#99AC]]Olm#*MIKKNW~ÇCMM ƈ*w[Y5Pׯ#-- !!!A.k$''u֘;wnEoQܻws֭[k' @ʀ Z͇Ⱥu0u###=wFaa!P^roa<޼y*;ܹDǏxT*X,ԩSQPPooo"33?~r|WnSapuu~Xt)nܸQi7m۶Ů]˗CEE۶mA@xx8(ɓ'CSSB%_-BV'NFAAB!6l wÇxШQb[ 0 @كO]]uaƍrשAKK ͛7ǎ;ͫQ2FŐoniINNF UUUv3gB!Ν;8hhhEh۶-,--Y!" LG8vBʤӦMCf@DpppLrIp>}IIIU*CEEϯP޽{‚_Ef0hР ]v ?8q`0>wXP,ajdg|"~pq7o.֞8B,E8ܾ}ׯ_W0槟~E 'O '''D"m۶$e˖AEE!!!Xv-vލׯ 'DAA:vMMM߿111055!<<~sr'\ڢSN %ٽ{7^ojjZ6U~MTAĤB;w~i`Ȑ! ,͛7ݻw022„ *d83f`CQ)iѣՅ:6n܈xzzzpvv͛o>̛7;v쀗?c͛-F ~fff,… 011^ QN78hӦM+3g"33Wj_z5>7R={tAh\RKcڴi "BY͛7w&S_~RUW(ҳQWWGn L1tPhiiaƌPQQ Ѵi c0>/^mۢO>o$ @ ZMiKo޼1c@DիW/^D.] @DBH$UbT?ٳ'|r_"(*#;tP͛7> ?e!((***U.;l0xyyU,^Y_w.+Wzzz5Z1͛7pppSRN8wBOOmڴ)V<8;;?#/RCt MSo߾o @DH 'H:uhÆ 4|z=M0zEJM6t)JJJz m۶߿O ./_zꑖӎ;(%%IEENzudggG]t!+++:z(UؗP%K۷oޞ"""(**+lضmP.]G5s T$M6cZd\l߾=BUvU')) hժvލ[n!22_8vܹfff޽{F{ѧO*O||<vp!CqUc}:::EHHFPkkkz\Maօ *իWRRR*'sPhiiU"~zb?0 @ Ν8>}ׯǨQk͛[`ÇADrV\ ">lllf͚Ν;ڵ+eo߾_{eeYΝ ]]*Sn`iiY!sAEE-re(,Z:tLMMjժr͛78p`%>˗/ѰaCʕ+!*`0ILLa,a(0j5 @ۇ@FݻD炬^ZNQ=\r7ڵw||',X"B+5СCѣGoe%34?۷c͚5UX(,,đ#Gp矬 C)QQґ#G@Dعs|{JpvvF֭?z]AAtttpB)"[O?U*$;;k׮ڵ Dׯ_+UVSXX+++YXٜHaVDpe5Ȕ)Sr]GGGc͚5O10a?~ݻwЮ];H$=zE?E#5߭[7tE*4h>>>N|0$HHHСCrUre.]iӦ=p=>W\{n:L< FFQLM6#Ψ~ҠYfU?ݓEDxA6ׯ$ NL7&"/_k#HhϞ=E'N7ұc(77lllhʔ)4}JQQ.]($$K.]DڵSx uԡoV͛7q$撶vUc0jԱcGZp!ikkӊ+aÆtAzu֍Ο?OAAAO:u*ϟ|;F4|b'C)t`| EμL6 "Ն`kk§wF^jժRȨB3s!++LBDPPϞ= lllбcGt6l˒;j6ҸqcL07m@ "!Q@]]]NhEf͠P4hûwʴ KKKX[[0 s=߿WT*Bz1;wtuu4dJHH'Rn͛p͛BCU] 266zMv˗GDT=qQ,,,ԩSEu!(00oNDDϟ'mmmrwwWhU]>|8w}GRK)66>LƍPnUC۷6oLk׮W|G޽4_$ʕ+#g#;;ΎܹsEIׯb0 vSՙtdc===௿BTTTKuz "܁;wCDDDD]bѢE;v,V^͗ R. 2/uf|֬Y "\zU8~-D"acc___)[ҥKH$ ݻw5 ._`XXX;%Qx1ttt0pbSd`ll z/w^탕TTTиqchjjBWW;v,J V@ʁ ZMU|ǡ{ "D" nnn|@"Hp…rJJJBƍ/_իWѶm[,J ===4ib1bf„ pttT`hjjZ}}b㱱 H$0`2\JZn]V͗İa]e;^^^Œ/_,7СC̚5 СC|%58Chh(ܹ#}uְFzzzm322kkk$''cpttxڵ+=z,t B),a(0j5xq{bHJJBJJ ~gDFFG.FVV`jjP ۷#%%6pBX[[ ?gpWX/wlԨQ033êU  PӦMUBppp6߿"ž={;v}8 SSSo߾5@rݲe ya֭8u/\`߶gϞ011AZZZ1ٳ'q]FaX|9;GʭX5c X¨(g``'O>033õk ܹs!!!$33fff«W HPn]̝;\zRXX9s怈0gΜ/BdԨQ077޽{Kͫ 3f̀uhK*/^,`Ȑ! qd|FF,//:t@ X,W,J"11{Qlkd>}p<Xr%S.Q^ @"P(=\]]all8tann^za6l,--ADXzu1K,[=z555,^X2`V]'NH$Bbb"={VŋAD4i޿_[ٳ)Tx͛7=ӧajj P 㯿 @;w(/ .۷G}}AEC N:L8Ķ)))сV8"Ye:F4nؾ};nܸlkrssׯ_ADPQQ&L{"''GmTTD"~GEߛm 0 @e?Ξ=K"66ݻwH$ _wEb̘1܃rJbԩS:uBϞ=1blݺUa}&V\ dee)ɓ'! 1yrJ|sEϞ=ߗqpvv5@DXn]M6>|8\\\SĶ/^,_ajj "¶m*~s FE6mջHMMEbbbL $؞={@D?I X^MhԩH'Nlz С… CdhhHk׮%ccc؝8q"=~HOOnܸAG.UScǎOQQQ ׵kWZ|9XnݺU6b~7>}:ݼy<==sϟOt squرD" >|̶Ν;G-3gP)"" D$ÇɓbmήD.\ǏSxx8Trq1]Fǎ# 744$SSϟ?OHٴgH$DDSRSS8Q51rJ [[[D"CKK Æ H$jj*B!l٢>j `aa>}JU)JaaaQF)ǂ۳Ur2n8#--ߺ( *M1??˖-mb]uGݺuK1|ƍ^b*8p@ᶧO}}}DDDf?cǎ "YF}2`VS;v9XCz*^QڴiGGri4i\9U)fPXB,y֭[ 9ӪU+~bTT^z)SƦ¶6\\\ 77b׎9Ŏ'''CEE'O+ADxUo('k׮aŊ ==N|qX+0ۂ`PJɓiĈNW\իW۳G^Z(ׯ/^PyυlBߧ7oR.]h޼yԬY3~zlQvv6egg+FQZZB}<{ӓQa[K,!KKK:wX,aÆ_%%8:s lٲGRAAOsNٳgQo &ɓiҤI ?/^GwE={FӧO5kК5k(++hDDl2R+GGG:|0;wvܩ###F3mٲbcctBwޭ͛7o'={.#GPz-/OSNSΝ}H111;266m۶T*/%&&_1EH;vy@ 2?CҐ!C($$D)}\voX,&? U IDAT Sff&uޝ TPP@~s G>}PNh֭%&Wׯ_ӳgťklBԣGj޼}`0 @_$ׯ_':s tu =zԠw;8p\>u(&&vAAC)SВ%Kѣ/&)):wLFFFq/ :qM6LB˗/gEx?N޽#*=/^cǎ РdZbۓP(}R:uŋ4zh˗/Ӊ'JYXXPvvgYEQ{x!u֍6mJW۷>DDDPϞ=dff? S9( GQt[nn.䒠w!77W!(W^w8zhMSm!88hذ!tuuAD6LLL?8+w/_TJ_111.?~|ծ];xzzV?テ!~v޽1m4<|ÇƮ]{L4 PUUEBBB XZZ)))JҥK "ܻwJ%3 @E?(|)E9Ve˖iWjgϞ3f 7mSSShBfo݃ ԩ"...ő#G@DӧO1%Ҹ|23faر4ii&^-66 @ !?DRٲe ykذ!rrr{!==.66OR_III "9rع[nDmV2`VߺuWMe#BMM -[D@@ԩ;wԴk5;w@Dr ͛PSSÌ3pbbb[[£wwwyзo_#77'OX,ƢEq6mT$=z"–-[0m4~ "7 @kkklܸ999ؼy3<==ѫW/)%`0qpL:-[uk<oVVVҥK񁭭-V$XP,ajӧADRRR쌺uӧ5^ P͛7dž RPUUΜ9S}Ǝ }?V~}Xf 4i޽{7naÆh8>}Ǐ1?`t8رc1sLҥKՅ.~Wh0jSNP(D"={ЧOhii!::Z\\]]1zhcAGGd<| ’Z;QBBSݺuٳ[iuuurppݾ}ZuR ? رcڂ'[Ԥ#G҄ (66V.ao߾t1JOOksjݺ5u҅KuԡΝ;ڵkLJ/h"jР_Eߧ@U}:n߾gBUU|Mq],Z ڶ$lق K.E۶m3ٳfBRR[e@))){ dffݽOaܹsxPQQAyy9T_Ν_mBII>Beaituu+\ۦr֑#GЭ[7888Æ -++?FoiiiHNNF``n,x<&N6mիXt)'''QRRRXiiiK.شiУG6~ir eTg֭ b˖--H`f޼y###\2#tS@5 zzz{6l`jjʽPPP~cz*|>"ڵkHKKCbb"D"VZQLllڴ ?ׯ_sCjkcȑػw/o888s Xa0SLAbb"agg :uLFTQQ?~@ANN&&&h׮455;v $$AAAXnŋsP"#GD`` Ο?}e˖xڵ+ddd MMM G0QPPԩ8wNZz7l؀ӧܼ^dIc8::oϞ=ÀѣGK8/GEN(BOO)))(**Byyyr8}4Zhׯsۗ-[ѣGԴCoT._'Ox??x͛LZ ĪUXirssF;h >|Neee`1na+Wb" H1c`ƌQXG(++ñcǰaxJk")) 4hv===̜9+cffN:ĩ4 =9 $&&ҥ VZUUUmܹs%.ÈULL ݃޽gϞI8:i޽bĉزe 0gXXX...\~ :tm0n89sۿj*|3gd&/22]vEtt42*r:U,!0 0W^ :D$!** q:<|||"pBDEEѣx5ڴi={P\\xM#x96lfϞ(ٳyf,X-4 B@FF //v͛ݢ )l| ssssۯ_[[[ F}[.w 6 ݻwNJ+•8.//:u4]]] wAXXDΫPRRBǎ[[[Xa1LY~=޼yrY@ |dddOOO^3s2cccs} |pljj*+fAII 011/^ '''r+4GӦMCnn.ѯ_?B^^^a+PǏ# @ҡ0b ,\={(&&F1L:  4D{{{`Ν;#11pM(((T߽{w?6lH$~ϟҥK8v:___߿RrhkkPosꊸ8\p>kYܹsyyy ĉ!--Ν;ѱVJJJyfcȑ3g<<<`aa+V233??aG ӈEDDt(ZYY|ڽ{7=}$R!_~MUٽ{7 W_M>PΝ?(~233-[2ӧT.\ k.IR->>>ٲeGDD/PyyyXhQ׮]IKK qJL #tUn۶m*μ}V 3: L.|էK"%''B  t…Koߦ"%%%***s]%%%tquDzRRRHKKM6|deeE_5=zrrrؘڵkW߼yC֭#4c zo/X^^uؑڵkWSTz'(݇q`FZZb ((/_ě7oеkWhhh 44HNN ʸ={6`_{{{ݻV[%%%5cǎ6صkTTTѲeKk׮\K.U,XYY!==lj'님@Z݊D"HJJBxx8>A9cW=i"󡪪*0DAѣGGEYY틃e˖˕%ˬo"::/D"9Rz1``ǎܪf Cxx8ddd*%ֆMۘ>}:Kl"aaa2e ЪU+XZZ<Yt)Ν;s}ѣύ{$cFMBg&'SXX000888O?ɓ'r |Rvv6455}舉'")) ƌ3g]v8z(_ll,BBBЯ_?ܼy_!((Wƽ{zjCMM s̩Vaaa022~"""ЫW/deeaԩ ͛td9rk׮1t?yC Azz:lll{n :ϟ@ Ix|{Z=YYY$J@]t!ԡCCъ+Pҡ6zAAAAׯ'___:|0ݺu)66iȐ!daa:D"Q1&]]]# @W\!HDݺu#MMM 1b Z_E(--}aJNNٳOm,]D~.ZHݻwINN<<<$HZZvAԻwon.ѣ%qݰ0#4jW=%J+RRR>}Ѕ ᤬Lti G }3: L.|?S-}b餣CDTZZ*<D$ ޽{OW^/RxxxuL:TUUi֬YeƆvIDDs%4`եD""JJJ")))Zp!ݺuIJJ&OL>]vϧZ}B!-Yu֔Re9HDJJJ4a„J@ZZ_YY;[OJJ[oβHYY\\\‚6nHdkkK7ߐΤn}a5v᫞ד>ƍ#~zIų~> P徘J8̌(]ĉɓ$hƍA:::_֬YCUvH9sЌ3hTPPPe=^"ڶmGںu+K.Uھ~@o߾j4oߒCQBBmݺ>z̭[={x<W]~_>̈0UOōѣGDOԩS'-S7VVV?ب(եÇW?##99rȈZlI׮]ڸq#W۷oIQQz]8SBBSQQM6,k׎:uD222O;w#H4o޼% _~d``PS`oB'''ҢݻwW/_!YYYq 4,Y"Hŏ݇q``1L //(--p$C@@|>LLL0d$''CYY6mth_< 'N ]tvQeP(**&&&y&aooccc 0ϟ?L<'O \:55{Ŵix={֭[CVV:::ػw/6oތt<{ x9)S@WW BNСCoRRRpww|>|?3o߾ ">@ݻwСC-[^^k׮ &LvFFFܹ3  .`u a&ISؓ9~GWinߧ& 35xbӫv,266&}}}:rѣ#^Jm۶|TollL1BJJJZn]Dy{{{ڵkY?~^|IW&2e ͘1V\Y ;w$Ԯ];DDׯ_UŋJoA?5*77FŽb 255`ϗ݇q` PPP\~#Gp4SVV>ݻԩS022pTM͛7k}ҥExx8>Y 3f Uqϟ?Gzz:}ΝСCk3FDDBCCqI}Z g0M0M#z]MPTT&ìQn޼P 0ZE"/L0᳝P‚ݻ_}U>>}ChժV^ "ѣppp?'N}߇ 1b@-X磞=y&M3wB(bٲe &L%\nP·x<޽{i1L: xw\.qEEE0`aii ???qwʕ+eee … j700D ߿C 0L: D̙3BA <6lP$M`*ׯ_WX|7|h`ԩ_Æ øqзo_̞=`ii+Wr1n8̞=ׯ899ADV<%##gϞ1b7222кuk(..ƌ3!RΆ/&MYf!))Fmfggc͚5ѣN<,[L0Md0̧o5sP#˗sL]]]%NIjjj-we277'##&,--"""*))'NPPPH$"iii@djjJHFFeo߾Mq܌ IDATׯ_sE2dyy9듥%V~xzzR,ƍ$//O~#EEE#Gӧ2TPP@yyyGFlEEEtۓݾ} @#F)6vfāu@F]jƆz%0\ OA~gnU&NH"( ɓB={7nU._L{+V̙3i%mҥ UZСCo&W=}HWW •r ?::В%KT^^N޽s9(..[Rhhh >}1by{{ƍ444\?oR˖- 5YG/BhѢEDDm6g͚ŭfjjJϟ?'"^zȑ#wb ݇q`Qc;wk׮I:LH(J:&̙34h 0`a~\攛K4vX!:vHdllL͘1?~sI""*((>SIIGcܲe w]]]666ddd}=fڴiW:z۷tB\K̇JKK)::fΜɽX|y2s%c""zgiiiH4bRoSz Ì8X#zwXZZJ:/ٸ>%R8w{$''WZH)))@hhhX~=߿999,]C dee?[ƍ1|zjfχ'y&}M6hѢ Q^^4x3gDyy9֬Y|L:D999/^@dd$ XoD J?eggcѸt+%pUᰶF\\pU|X 22III(..Ɲ;w---i'Ol2K0#0g'/G4zhI B!͚5dee)55U4Ar?}}}@vZJJJqO}z_VVFRRRO^>}nJ999K٠10'++\\\H^^,GvvvԿ:|0D"DVdooO/ANj 3: L.|uWTTD/&yyy211dITgOx&yobbb]vhTXX(vf̘AɉݻG)))`Ryyycصkx(?vXtXr%͡>IP+0пYYY8u6oތѣGm۶0aBt]t/_Fжm[@>} ###(((cǎu599 .ѣGajjݻȑ#5G"7oބR9p%}6%0 W0 )oDdcc /pppǫ `4 FCC}}=:{,ݸqoN<IMM(==MCHJ||<萣C@YY]~+rڱc+:uNu^x7661 o޽?݇q`x8tzKpp0^|X=z^ۊ 6l؀y!22gϞŁгgO?dsprrB^0e}4BBBTIp5,^1{lUSRRR۷ot`vD"ƏUUU9sM(g@= E|Æ #>OÇѣGZI߸qǏ%ֿЕ+W(**[Jx<@IIICN&&& %w%ՕPii)ݛ)//D"7o%KH$P޽INN&NH˖-#555@ZZZUgԼ8pPhhC"0#14S...A.]pD">}È#T+VɩX={b?~~u>^zz::uLx{{7՚*HNN֭[k]úu?`͚53f RRRpe̙3/_ƺu렠cǎUzNQQ,YWWW[0 Xa#22ܶ#G~x{{VtkVooo<~:u>KWk.j {077t8ѣG 0C-0a/d_ >+++'0w\a͚5ӧ•:u*`mmSb׮]|2?[b0m48;;cu>hڵkqq\~]!1 !XL^6,@|H{n:z(7=;;륭,<<[y/55ӂ :tN>zzA .Eի޽{G}O|hтŋN1~^xAvvvhѢE$hĉdhhHFFF.8>̈0ZC^B!!9Nnddu8N>MhÆ ժښ<==Ĥқvvvyf:{X277f"MMf*JVVV[""rttۋ}u\6mIKKuLYY]ow%MMMܹ3EGG7XDFk׮%www"yyyjӦ peN]7.\Р5ˆ0ZC^C͛ 7jjڵqҳf"EEj%l߾=yyyը]PH\gիUv<444HYYҶe˖u ѩ{MА:DwPWPjt\߅i͚5Թsg=իWC.\tMͥR׮]===iƍTPPP[nqe=u@q``1>|8`ooEEEwmvIddd0qDV>uTWkÇȑ#d/_bԩ033xv۷o###{ŏ?- Æ իѳgOlٲ-]Z ǏGVV[I ݻwǥK+\xjjj/W,ngΜL>FU,#k.}˗/smA___5,Yh(**bؼy3n޼ٿC6m0x`h]vEǎqAKK NB||<ߏsBIIR666غu+]iiza:ta>EO^Μ9Ck1'4o޼ϖ} ?ڵkGZZZ4m4ڳg 8K8)eeet-RUUV266~f[li jkݺulx'ro222HSST$Ѷm1OE"M>{g_RSS+ |%|߃HСCP/0ހ0: L& _DDxܹ ~cs@VÇ2UR}eeed``@pׯ_W9L 5АiҤIƅ3UZZJdee%Pս{lj㑥%egg{{ nݚjUH$k׮/:uTcϧkW_}E[*-X|>͟?NvIh֭$޽{p/>O߯uLͰ#4jnݚ@+_@@dhhH~~~}ÐO$ Zh(""JII!qŵ|rjݺ5M4FM^^^tֺuk?~< :zf' ?,--%Fծ]J߿O4iҤzmG(Ҹq@;+##N 4i'hsyIk՞H$-Z?@DD%%%AdeeU/+1'049 cǎ.p$JFFڵ+\]]1qD$&&~2V^ ___hhhnnn6֯_+Vs 000U;˗/ٳ0779|}}1tPxzzreѯ_?]bС[?4xmT]ܐ'999O?UV:Յ:Wc #11عsMJJ /^1֯__'iii~"(..ƻwзo_רYfUL #ISÓ6C;v^lْBCC?Z622X޽{wWzZVVV{&ڳgtXVVHII\\\ښސK6VoؒU{ڒ7͛7LÆ Ԯ];.G}o￯1^"+++RRR7os?pyPD"͞=,,,h5]̙3kSsL: L.|Wnn.ܐ'''pTY>//uUt@6o\J+VD""JJJDJKKu)??w(E"EEE/U]Yd ijjJ:FڶmKܶкuj\_aa!]tƎKꤦF[nK> aˇ lٲV-+񊈈ݻwר3f<=}ɓ'!mla 0#4j B:x 7ATVVNJaaa$ ӧ/ЦM()):*۷)**޽K Tر#;Va4zv"G6wwwШQ. RUU%dffFt-qLD({חH]]>"Fhh(mڴ[&oRܜ)00Vq7/Jnn.S=j]WsÌ8Ө ߗC$ӧOi͚5% xA$//_Ҽ܇>_iؔ5EFFJԤEI:F/99hر2;v IzzzԱcGzQ$| x<ڰaGddd:~Qxxx۫X5ǣYf1͘1FIVV>|XX*%ӦM#yy:0#4je*++7n… TZZJyyyEh۶mGDD;ٳoN~~~t :}4Ȑ'Waj/??:wL|>oʎ?NԡC~322>zLff&͛7ХK0y5(66޽[/EDDבqttAոbСCT011Ύ5Vu4g>̈05-"Aׯ_|/_l(X 1S}?Ν;9rЉ'>(E+W֭[:yyyٳgI 4xѷ.\ b[zҥU&*\444ju쿗/=~vĘ} /0 aعs'._ ///iŋ"!!1055E˖-%ufjjG=z$h;vĝ;wЭ[7L>py;w0n8|w޽;V^VZسg ##1+))ayfMMMbiD`` n޼A᧟~RvvvƓ'Ojn=*}}aРA5a: 4(I&۷Ư2]׮]Cǎ+OMMkޝ;w,G$FQQϟ:G-lll%%%lذvZn-KKK<~+//޽{B} IDAT;v쀿?~xyyӧ{ҥKҥ *mmkjjDXx1`'Iv|{ڼD"2e -[Pqq1%KTFkҥ,,,(&&F|Q^~H$t :vnݓX#YYYzENm/^[nӦMDDTRRB:tTwK_5)++s|kΝ4p@D${djjZɓz9݇q`QcG(r ؘ9Hmڴ!wwww^l羾4{l@d``@;w&ԩS\$Qpp0N9RҒ 3f ر\B"\LI(**" ?>-;;qww: o߾ԩ$H(ŋIFFk|~YYY*|c݇q`QcɩhΜ9 8ϟ?e˖ѪU(55 @<#Ϟ=Hd& iժU4c Z|9u֍lllX:~8 2̙C'OF:tjNiԲeKcAĄn߾-v}'O1cpo@/B5jdeeNH$ٱe?݇q`Qc͛7dee}P۷/:th,oqzRRRrAAAU% ˗EDoݺlmm 797&JGt(M@ ]]]7oC.S ikkso'5$" Zj+$TqQ1tRYYK={۶mrZM3: L.|[yy97EYYdeee˖$//OGԶm[zu8q6o\7\7-ͅIIIQqqCi2=zHҡPyy9YXXpHVVVԷo_j׮߿sqq!eee˫2.~zڙ;w.6V~D3Vbђ¥Kw߁C ())/K:u h۶ubِQ۪}6Pŋs˳2GDذaaaa!p %%˗/[nƉ'PVV333XMeee<@AAnܸA\HNN]qwwDZc n@ @>}*9y Ϟ=U{ 0 Өu.]Bnn.Ow/]vشideemSSSL2x Q\\\4F񁏏qڵzϯ>kcΝ;PSS1йsg@LLL'--:tcƌ\9UUU())ժ~~~3IHH`Ç`@AAAd$ a>e@ "֜9sHKKZdՖH$e˖uڕh4bX-iߧ^z"V\xExx8ϟ'N૯B@@ǣGF-쌅 C|&ISؓsIFFJ7 tttcq $UUU֦ӧS߾} IKKuԩ e|>&L@QQQU7sLRVVm۶ф UV(..L|HZZQ|% njC:u"---z)ƒwq5_")KB Y6B!dmm,cl3fɖe(!%TJh%soBuz?uyuɱ-[0p"""x  <=~1X~~S3屬{q q+ z-99x1'+**񨪪5 8"n}6qi0p!ÇHLLDII n߾ ___<{ {=SV^ ###cEff_]{wVW^Xf q8qln޽{~!;;zӧ!`bbx)S`ҤI8<ڴi@!Cv܉C~f͚A[[_ !PBFAEE,-[˗QXX@N/dff"""&MhƍabbWWWhii}/eee\zx)уUnn.젤|#qm۶P(-?###sN,u5y;v쀋 amm}no;u_3g`֬Yb}}C!^*))1n߾@4k֌Hҥ ÇK ///اOXZZ"??d_ƍ@nn.BCCkYCr 5jqm6o ,7:w+WV>|7obϞ=3grrr0sLV+𬬬]v}QW^}BסR/͞=8r#2aDEEљׯTQQӇ(_˗/GϞ=Ѽysܸq:t:VЬY3:u ?ƀk.899K,AAAQ^^.j\p0n8hhhE!v4:!| F 4ncƌ:R5ǏǼyK(..~Ce]899Ν;Xr%~{ϟGNcǎN>#G>>,;;uIO7mY~~>`Zb .dϟ_ٛ7o>yxx-ZΪ؏?deeYF cӦMcǏg999_(..faaa-)>Lā R/>_u 6lq޽{}ڵk Y׮]ّ#G@ :&g5d)))\w_t(ǏY&Mȑ#YUUcAƍ3WWj{ٙ۷mٲEDDRc?c10OOj֭[Who2SSSQ}ѿ?M4aFb222lƍ35nܘٱ@VRRŬYz&@bfccS/ΐLii)y&+//gLJ͛7-X9880‚=z먜a:t`-[d\yOBBa6m:Jdeeܹsm`߲e 6lk׮deeEE… 6p@cׯ_oѢSSScBPԧ{'<<\͛3%%%_ٳglϞ=ܜ`ёEGGڶm+'((kbAD!u#xbXޜk˗Y۶m:g?:vڷo #"b\Ǒ ۷ogجYXaa!cѣGBJJJXDD֭ :uk׊ڤ8qݺuEEE*++ʕ+o``fϞn߾ז֯_LMM,`;PVZUmއ8ԝpB>~+TTT;QDBBBKP(d'SRRbzzz,--uڕyxxԸׯ_믢C}_Q ǏW^K#G-[2l͛<͟?`/^d1v5va6jԨj<9r$a ٳg_0?! \G-Z ::;v,?83k׮ϟG8Օ(Raܹ{.|>vDo߾?-j8>xXp!ѿeA6m憵kb…x;lT[e5j6l@v0x`Ǐhwv܉}jjjqU},v-Z͝ BHbmm ooo\z~~~\Ǒ|CII(0m4ddd޽{\Aƍ'^`a߾}ıcP^^yyyXZZǘ7o ''ӧO8q"tttxb-֭[ aժU2e > ,}]VVkkkxzzϟ?{,tuu1aL>ZZZPPPoߎyiiix!V\#F@(b̙044󑖖V uB$Pz|P(dcƌa͛7тb߿?18n:U???lؖ-[`VQQٴiXϞ=>~͘16m/ʖ444fllzdee٢E؎;SQQa,;;;Dfdd455ǿhWlhhE)z&@4&##vu:x ™G2Ç\Ga16~x+ZHbf͚uc B>Ի˖-c1%ֻwo3._ϟ={we̘15tЪ 6m~0zRo-]O<33$զ SNݻeee̟?^^^ub:ݻcܹ8vQ'|!-- O@KK 'Xx1ct֍8u¬YGrEy (,,djmڴIW`Tu\\-['''ܽ{o޼ƍǏ#22S022¦MpdddHRQBf͚@ @:u Uϟ֭ qDޭR^^vw1n8xxx ""BH UTTo߾Ѐ ~w̞=Xv-tEEE1<.]ׯ(Y/_gϞh׮`ɸv^!u zYfٳ'c|P}}}cΝc \GqX, {ǽ{m6ŋ$&8urssc}3pYL2B!Dz4k Bxx8rrrн{w8;;#%%h5K<FFF\G QTTss?폈K0qD<}QQQ5&^~ YYYL:nŋ1|p$%%FUc>6m 888Ǐ{S.4~~~HKKQXl ::8s $zi8!H"11@dd$,--sc}ֻ]t8Iݠyyyp1+V}Ŝ9spUhkkWk{na׮]hժU}V\)l޼Ytj˖- ϟ6o 77d.Y|>>>>4P\\_6l!++ www1#  ԨQ#L2xСC$ݻwE044:J񠣣`N2TTT`Xz5~7<~W=_|>\>99ՕDl-B!~ZWYYs[0sLY飼m۶?EcWF!X"ՌCB?8 &@NN(uƎ;pElݺUc'<==bŊjӱnݺ!66%%%ն3{{{qG&QUUɓ'CMM -`:vuaѢE}'N_UE,OOO\v+}*@!ROMM HMM:GuybȐ!pssÞ={ĺbccq%̙3nj1EEEݻxW?o@NYY6oތƸr 8 i& >ś%k"44vśE-%#:*@! B͑uq㠣crΙ:u*$ߓ'O[fpȈ{PUUw}'?233b @UU-ŋѳgODEEƆ|͛7Çq5<|:uՇ͛;;;XZZ"++%QBic|ɓ'q5fM"_~`ll5kH*ZjU'%% ,رc;N݋c툏… qm$''СCӧ1E kx{;n߾]k}R!4kJKK6mڠG\ǩx<6l؀K.aϞ=SAAK,n?4ܻwQF1c&M,ddd`011:GcÆ 8|0|}}kxv**tK!4:H^^._ aѢE\Gӆ 'b͚5sPp999ݻ{xCBB ''!C#b(}AIIT57~x T+};111J&*@!R1Gqc ֭7okkk?ٳ9VG@V766Ƶkjѻw/ Lee%`ѢE].kժ=zUUU>}BVիRSS r| 2dV\\ m۶pwwoܿ8U|BчNqKOO~رcQ\\\m銊 DEEabc\Gj &LPk|5MSIz)))Dp=899y$u-R? <<(sQ*@!RԄ| KKK=Zb6/۷#''Vܾ};fΜӧcǎ'3gBWW^^^\GF-BPBj(,,cLbc.Y͛7Dž j6r̓,l}ݼywZHG$U>M6[T"ծ_޽{KeVV&Msss7N5t .<,Y}]عs'M[9::B vލZHXsPQQbH5mKj[FJJINN*++:#njjj?bÆ _|ϼ/_UV.\6m䄿gc| ((BX[[{駟ĺc ϟG^6!uCBZ֭c3dee ]]]GwKKK]va֬Y7o^ϦEѹsg<{SRR|rj }bcc1gܼyŨ?q!j OVVVM L4V#+  }}}w… bTz+B Xn0{llݺnu1ܻwZZZ5jSSS'OFƍѣ1zh@MM &M-444=z`˖-駟5!H-_s?6l:tPm_RRƌ!C`4r}V^ׯ ۢ˗6m ??Օ:t6mZ1}0c ̟?/^|kضmvJp~ !R+&&|AA~tvvv CBB0qDhiiԩSڵX[[cݰ:f͚hhh 99/^%:4*>L^^狮ݹs}Ŵig"22JJJ8vXw:vŋ#((ÇǫWgϞ~IbG 1ydڵK"R #qnܸuRyxx֭[3@MB֥K?,&&2333겭[Tc *))a6mbUV‚˳6mڰ}Xc.HLL>WXTUUYeee-&LQa"t"p 7(x<$$$FDDoܻwfX߾}8ܽ{χױ)((`…ǨQ`bb Ç>}zչsg$%%ϯ9s˗_߫WsN8;;Kt*hѕm۶aǎ*@!Rʕ+ѣk?>SSSѬK km|>zŷbddOOOx{{?Ouuu;1$''cɸsƌ}իWXr~ڎ;кukΝ;& a"u*++~zhkk{… 4C8x oߎp<}􋎏EE$# ۵kWJ<ix!Haaa1bD>gϞ_~'!D:X[[x{E&sqR|ӣG :TPPP7"88\DQB:|>lٲZ355f͂%͠DyOV₹sbٲeQYYׯ_(++Cee%.\XZZ"===yyy̙3~gpH/Z"uZhxY,//4i2#!!ch]BUV3e(**v-Zٹ0񐒒077R+JJJ 4k֌82޽˗/ ̙}"<<۷dZ`pЍ̄N:AVVF͛---,_;w3"!;w.`ddt $c vvv?>ڶm+W@("88Ν9E*@!R'55ڵq{ooo`۶m1|p1&$4$0t$O||<"""ТE ѪgϞE>})DzQB*1͛7Ì3ЩS'ܻwOt GF`` x|pdDFFٳػw#B]K."==xܺu hܸ1vލA!22Ԕx&PB*IIIվnٲgy9ŒҰǏGbb@. NɓAaʔ)xCW=DQB*066kʟl_PPwwwL6 񰰰DLBHtR0}t+TXX%K`ȑ>|8:Gɓ``` CBJjj*=z ~}ff&Ng !bӲeK\~W\%$270x`~7nĂ ={WDȷ"U\@EEE|mJJ zzzHGi:wΝ;Kl 6  DV}?e  sss\|킂0fTTTwhѢB B8;;C]]!!!8q0uT*>gBԨč7`hhv&M-84i.\@IIG6iϟGƍѿ̝;WI !D5jc~ӧOq}$%%k׮\G#B'H0!44lۦMܻw !DBUUB #ٶ/_3akk+tHFEEc\ "pڵ˗/ԩSѣ"hܸ1lmm퍪*#B{,BT9 v배0ʊTR]!HYYY(**vZ())QAP(BQQ'"BPVVFQQG3`gg/b˖-PRR`:BZ u$By ѭ[7`xqQEEEhڴimE%D,hZiBHG`Bĉqm<}eee5밳Ô)SUVBB7+ q}hhhu߭[7@ll,:wɾbccaiiYmoQ?Brt"5 QPP7o1'OMW^} &&&Bi !Dj5 AAAÇ1rH@vv6\]]q%QL}/[[[bȐ!x)`ee:oC!| *@!RCYY&&& ¨Q兙3gbBVпCSS}#$$DB !NBرcE P___xyyQFؿ?) ! BTԩ|||D_"??jjjݻ76m WWWlݺ/^0)!0QB:Ǐǒ%K:::޽;6l@=0tP| @ 22!`PBJ֭ßOI&PQQXz5B!0l0'&B*@!Rkܹ@RR͡`$%%a<4nC 8-!0,Xfmm \v +V=e˖Xf deeaee !R!H=yyyXYYҥKu2220x`pBip!4222033Q!!B!H  B!B!"1TB!B$ B!BPB!B*@!B!C!B!Db!B!H  B!B!"1TB!B$ B!BPB!B*@!B!C!B!Db!B!H  شiƎ$B!Z#BH]&jjjGZZױ!zBBb񁋋 c077:!RB_СCqU6___ 2۷o0!RB?Xp!Dǔ)Sйsg,^aaa8%!RB۫Eۮ_N\B!B< F!=Gdd$1ר!4xϟ?ѣGo \"޽{QYYuuB-*@! ړ'Oп ,lܸׯfΜ Iԙ3g0o<̘1(**W\ҥK+Ƅ)((+1 6TBBؠW^郘ܹsxDJ`ohӦ .]888ېo'77>|8"""p5?'CCCXYYaƍҥ@ IDAT 9ϧ"880:&!Ҋ BH5{l<}ΝC֭|rxyy磤xD O>صkVZϟ#44GErr2BCC`~c  7Jptt@ }0`=zXzG9r$N< {{{۷?,&MO>Ě5k|rܽ{1$&&(..$&&b022TTT{{{|xnݺկf"4HGő#Gpat˖-æM䄽{W^\G$RhHIIAll,LLLocccx^aX`444>z%@JKK!{!$$19s͚5CΝl2|#::ر#sss1BݻPPP=zTwٲe>Ə_m*dtԩھŋCtt41qD̝;HMM444%%%\t 022 qy`…puuFNN۶mäISm"6m %%%"77h߾vOB4FHv ݸq(D>|`>dАӇUVVrHPf̘dddX6m؄ ثW>{ƍfccvA.\`ׯ_Wlvdee& dqqq,== 4`O>LQQ>lョw***XHH;|0;trJVUU1///Qn0]]]Y&svIRRRXVV_SUUgjjjl֬YA}]!48/^2ڵk'%ĉhԈ~%___|wލWٳ7n\W >w둜 {{{hhh /_Ftt4ѭ[7$&&rZG!DUUUX`k|w5PTT=zѣG&JMMő#G}v899aݺuGEEEչCBB`aa7o"""W\1cDvvvE~~~}s2_駟pmܽ{/Ftt4ѯ_?Yf4hӹKH"N:]vaصk\zӦM166Ƶkנ{{j4I&M`Xj %%%,VϞ=Zn 0յj 1~mpU8::J .]`ŊHIIA||<.\\p***ׯPQQu\Bjj!D`mmcǎA]]*kѢ>}ҥK4hG Wbccm6@AAƸy&P^^OOOXYYӧޮq'+))ٳg~z4k cƌT< (7Æ <1c`ԩt!HL3jjj022½{ YYm۶ӧ0P{ظǤx`ff]]/W ֭Ã`aa-[bÆ `Dtl֬Yu={EEjRRRj*ܾ}())Qb9-[ĥK+W 44ӧO~FHM-X&##C^/Ɉ5k`bbwww 8gΜ x{{۷1wqUd_FTBjE @Q]kE]ڭZ؝-*b"` y~~?,px=e̙x2}g朾}ѹsgTPիWGϞ=}&$$K.0`,-- ,'dXn,XOOO熄8::ѣGؿ}􁯯/0g>> -儒4h & ?~<ݻ'u4#<$D WU\Y !u 455EJJJ݅Ud"BSSSXYY eee/LMMERRP̙3G Fȑ#իW">>^~Z߿_1B͛g F-ʕ+'455|ycĉBCCCܽ{7Ӻ$vMQjU"N:yo"B-%%E>2QZPdI|hРA͛7GJJ >}*:nEڵÞ={PXYYaӦMHƘ4i<==aff&KSS...pqq#uӧʕ+x!>|!RRR˗G>}0p@XXXHr-00Ԅ"Gڵk'aB-۷ѩS'{쁣#ӳ(aBD>|./x ϟϲ\2ZnUVϟ?C]]9ٳgXp!6l؀cѣ%郉'"!!;w)`ݻ7TUU׮]ѥK̝;vvv>|8J*%%%hjj 233Æ PR%ܸq9ÇQF9~(RWW֭[ѢE 8;;CEE000@2eSSS4lzB*UL$ gϞ!44111^|yzp9sSNr۞={o߾xʔ)Jbb"Uh 2+WB(S|Fd޽J(kbY3w\[nLA&aΝ>}zN ,X0aBW^ ???\pAtʖ-޽{'hhh $$+WٳѻwoCGGGD|7{J9.͛'d2 d2߸q ŧO/^TT|SjJ=Z<{Ll߾]={˗/ÇŘ1c ~ϋ+ L&ĶmM2e(YB[QdI1zhTƍ000wޞa BDʴi0|L<;vL&|}ɒ%|-:tQ3[Qݻ~~~ 10|ݻ&&&2eʠW^pvvŋ|rݻ5ѣGaii)^IIIذa,Vw޽HHHY GĐ!CмysL0zBdd$&L u4*XO t([dyܹc… CRRۧzmڴerZj wAjՠ,z|LLRo 8~8&N555t Aڵ077ϴ.^xجw܁:J(xyfQ~Һuk,]RG"OKHH@ҥGhӦ p8pwQX())aӦM;w.aaak׮ǏXx1;[[[ 999~a``Peϯ/^D[F:u~.QLڢz)u4GK0 DFO> $tΝC7oJ̛7+WĂ ˏ9ʕ+cƌhݺ5&MdWvvvrJ*`L81Ü?.]gϞE˖-q-~~~[ҰzjZZZRǡ"ٳQN~ǎCZZv؁> $$^^^/'9|0p\6ydx{{#""CqFt/^]wޡqB xud*nܸ͛ӦM:eSձaܿV0K1B(T"ʱ;w 00 !0sL92}ڵ 6m=d2SN4ׇ ggg4m*U o޼Azz:w5iiiXbNuԩS ĉ(SL)R9BѣGqEu5j̙v)))͛7|eӰűcСC̞=-[իWݻwXt)RSSUXCQV-޽&ԭ[111~ 0cƌŋCQw j RG"W@ sbٲeزe :v(_i&|Fʳ{|̐RJZj7oFŊ1}tlRHTTV\ www|2 ǏGdd$sN\v 3f̀/ۙnuwwǜ9siӦٳg077TL$$$`-[СCСO"1wCEXX.];;;#Q.zݻӧK3SX,iXl| ʖ-+fΜ)m&;vܹ#__LRSSE兓ظq:t(Qcƌb֬YBEEETTIL>]mzzHKKoʢ\rF̞=[}7n@=˗/˯K*S4^^^(Wڶm+u"Eo߾[UV(Yԑx7~}G+!Ǐ'NC9sFu ҥK"))I!PUU[ &!!AԱx1}t"Fi T"gϞ>ǎ+ʕ+'RRR~UVX|R(Dv*tttĴis=ÔdB!]C}&=+bcczAUU;vɓ'|y^cXb"##aii '''_ 6>]Oh¸7F1jԨ:<ׯ_tҙ!0f$$$;wHN$&&}Ųe~5v:@EE<秇yG"'9333X[[c޼y4hѵkW\~ǁкukԫW'OٳgbŊzꈏGzz:N8:u Æ äI'N@SS7n+;^zx1_lܹ3֮] =?!@__?[d2=zR֭Çr4pAWV- ,> 8!F'''4j:QF^!p766V_[ݻwjjjRJb̘1bŊ8zPVVJGMMM %%%@7N !< ]]]akk+x]'$$mmm1eʔ\Q7nڵk bRQxQF Ѯ];/ ĢE~6آp&CDu뇗/_b۶m۷/d2Le˖իPQQAajj 7\=/RRR```!bbbX M4-2\E҂+Nvh߾=V\zp 2k֬ĉ C?رchժqFشiq=z?~|H  D ϟ?QfMeOC]]]***hܸqd2ann˹&LSSStԩ4h ?~BСCسgtttPBtUTĉl2}75 IDATɓ'#** +V>|cر,>  99#Q+ DFw1?h߾qD 55í[ >444={`ٲeHLLĂ tR`РA3f LMMFD %JH([X"Ɵ:u 'Nİa0r=!_A W455XׯK3OM6 nnn7n/bETq8m*0X)}l"oF޽Ѷm[?r.XbHNN;;;TRPQQAll,QTBWSb̙R!"ֿqT8x;w|7|TV ֭[hڴ)̰}v(_ݱvZtY8D$-Z@SS: с.]a6uooo4o7ڴi#QJ/###޽;w BCC/u%KYpB۷/d&DDYQVV'0aXZZ">>^XD"GCaԨQ~: ѧO2 ùsh"ݻسgڴi=z`::mBMM-}~1cFyj֬⃈G޾}K( T$$$G w^aʔ)6۷1uT:uJ´=III}޽nݺeZN:!((([W1UpmebŊA 1sLlڴ vf͂=,X UTI2ڿ?J,-[f bBD9u]=BzA,@H?pU<0dcÆ 6JJJ4h\p$''TUU%NѬYoF*U8y$~7lْH ۷Dž r_!ڶmǏg{>ڵkpvva[ $&&ݘ1cp5\rW\ADD֯_:u@YYDTxxyyŊ: Q,**V#G˗pqq9qؠ}|2 -}1rGɓ C۶m!~͚5k տ;b |I>: 4i1rW@svvƠA~ar}}};v } $ DJ*ǏK믿PlY8::bʕy)444իCXz5<<<: 22˗r?bԨQݻ7\"`{֬YwwwI&9=,u ̕({%|Q~(%$$[u[Ŋùs`ggWWWaÆ &((9aZhbܸq^:*UHg۷o!5?ƍO]n /00%KUWQ.ڴiѺukIعs'?ݻc7o7oMjѢ444PreX/>~ӧOc߾}+ \B,\G|_8ӧc֬Y7os_"PV-()<(c۷/d!6lL6 XxqvZZZΝ;1vX(++CKK -[ݻw000r?_'LIIf81;wČ30k֬l =)))رc͛Ob…CNASX6I&!::cƌ: ӧO˱dݻ7vC`` <<<|Zׯ_CCC,C Uݻ1{_*>޾} RJϞ=˴ɓaccmmmk׮o ZZZ\4i7ogϞ?} 9r$1{l4mwQV W *X}Cjj* !p9iݻw{  -[bԨQRťodXnЭ[,'+\h`nniӦa‚ |VZwQxqRJpww̙3 kkkرsWuVXZZtDT}'!92) 5QNFx)QjUf M4۷o󱀀4nM6'TT~ܣGv}]ZZn޼HLLĉib!V^I&zػw/VQᑜZjAGG/_ѥ<S+ Dлwo#%%aaa/޽#F`ҤIhѢ^|sαԩ̙39rd[Rj bXx1V^KǛ7oкukp׮]cADrjjjXn]M6I(x5)yIOOG6mp-e '&&5j fm6 0UTѣѿhkkK=z4޿ƢL2غu+Zj%i6"ʿڷo(>x}veee̟??ú%J… y&r j׮?={6$'2df̘ݻ,>6l;w|s#}GҥѳgO۷nnn-lmmUVaΜ9r vڅ2e(4ѣWX&f͚Ƌ/PBe@N7oJr-Zs!((kƵk~waʕ9s&Ə#GСCHNN{쁻;"ʱ5k%NB3,@~QF([,.]܅QB899!((3&O͛7ٳA׮]addWWW\ t=RG! D? www:tf͒:CCC;wժUC#,,  Cpp0q=7oF:up%ܸquԁjv2 ]v'RSSCm,@ǜ9s{nP)V9$t5-S.]N4/_XZZ NBs0ҥ ޿#a6 D4enV: !ccc:tׯ_ǔ)S___=z#*U ΝgVt"*֭ SSSB ldOByQFXd VXOO}95j'OŋpvvaXnеk܊MDEL&ß{"$$D8D(ttt%u R1cƠs8p >}e|ի[nd]6d2YnE&"j4gQ~(tuu'Ud2l޼zzz4iRmO<~GEJ L<;wģGCC,@r@UUiii͚MA+3ڵkrJԨQCDD_ 6 ?BC,@rŋ000QHA5kϟ?O,,, C A.]0l0 }%Kɓ8{qQ<{ R 6iiiׯ/7"7t?)))R!& D9QQQ#˖-v]]]LUVѣGpss:7!ʁ/^~:)#]L6 &MB&MEDI͚51j(̚5 R! lJMMEdd$B feeTL8ZZZ1cԑ\]]B% DkH(`Ǐc(VĉMGG/Ʈ]!uL8Q6z XAeʔ>~#GJ7obĈ011AͥD$( '!EdUPreL&իKt/_Ա!ʶ(_.mSѳo>J(TTTw^4nmڴGx ) |(⠩ eeeJ. mmmcHW^!$$D8DXe[\\/.u "":˗/%NB l1r\rPUUEXXQ!ʶX())!--M(DDD٦###^|Q6ٳgh޼9^~-u""l3117XP$*7Y&r}DDDy~իWC}J*Y&s}}6jժ-Zٳ"" ԪU [nBHTB֭[G=Pre|Γ}-[OFJp<QnD`` \\\0p@t ?~:Q,@ ۷ڵ Ctt4퍦M-2())ׯ_ϳ}%J`8p1zh#Q 5krUQV-||rnpvvz*, n߾<Qnڵ+ƌg"==իq QQ -[Ν;@JJ رcxЧO۷kذaCejذ!RSSg "" M6ŧOp]aȑ;v,wJ 9 T !0a8pJ ك'N@YY-[^EECŎ;dD,mƹA@:Ξ=޽{cƍpww z쉤$#R! ޽{pssCNЧO;w۷o=tuu3m3rH`ƍyIEEÖ-[87(ԩS鉃bػw/1e#R! ^zy戏 vt\v ڵrrʡW^pssCjjj;v,Ο?f͚Γ嶶mBSSNBN5kŋrJ:uJTX|, 󃶶6VXUVAUU͚57BBBPr,:g޽{ѽ{<[0`WCC ?y""JOOGBB2,Bm۶ݻԩSGTذ|kӧOcرcwpttīWYt,Y[nExx8bbb봴KrKDD,--Q~}={*ނEVV~X|u&MիWyGII 'Oƃg|< >>PSSK_PUUjq׷+JbBEvڅ \R!WEVT5.~|~# RQQAϞ=`O>j!:::W7+j c~E혋>x@Tq^"##a`` u """{sn "##)u """D,>(W!"""""CDDDDD0,@HaXp^R'O111hڴ)*VMDDvލǏCMM Cݡϱc Gٲeq( ==ƥKgϞPQ%55w͛7vڡq_Ɖ'`ooUfʕ+x`jja݅ s 80~۷o>| S IDATVVVׯEߑ[ix=9}2Ob RP+d2gΝŋŋ gggѠA$,,,ć2pʕNNNB[[[)SF+갊ѴiS!DzDƍhԨKLLBYYYۋի L&fΜ)o[!i?52LL>=: aee'Gf˖-BYYYM uuuann.޿/u4|O !ĵk2%%%l2!\L R/^#F.d2صkWv5jeʔaaaeB&ɓ'˗%&& cccaee%bbbBDDDaccDb֬YB&-[ȗ]rE WWW9sL&?._ L&˲*&\pppȰBII)ˢ.444D۶mEZZB@!/m8~O-@DZZZR<)`B ?zJJJgϞ鉶m?|db-ZHd2qNXXX*UdZޥK+RSSBƍgh'.*_6rH$>~(_vE!Ć HNNz2}E^~i7o|yQWW2 k!RCOOժUu]jPL\=.uO>5ٳg Dْn߾M6/s15^|m۶;w.Ѹqcj زe bbbPxLۗ(QBVfk׮ɗz __oV)))HIIJ*eׯ {{{ϟ?Ν;pppȻg6n܈Ν;gҥ ??6+++ԩSnnn055EV+Vݻ:u5k}Xh`kkcǎa?'1%/^ ̜9:::XpѪU+f‡0tP)S#Fԯl|6,@]رcJ*aڵ~:֮]+u}BʕCsR4/)!"""""CDDDDD0,@HaX°!"""""aBDDDDD ) """""R DDDDD0,@HaX°!"""""aBDDDDD ) """""R DDDDD0,@HaX°!"""""aBDDDDD ) """""R DDDDD0,@HaX°!"""""aBDDDDD ) """""R DDDDD0,@HaX°!"""""aBDDDDD )hZIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/xticks_no_transform.png0000644001374000021030000021652012520135745032017 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwx?nz@ AI$ DAt,P" \ JWAAz/ N)d|3?H}g̙dg朣 ]"""""`!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R TBDDDDDa!"""""0j@H5 DDDDD"""""R Ƹ @bbb_ """A&Mj,:$&&~~~] """"W^eyH uH坏u֡y\G˛oEv1)gq=}pLtt4 'Vj޼9j;;;}p~{pgF0x.CX#X#X#1Okkk6"""""R ?xZxZx=@EMjFjFh`!"""""0j8BDPRR?2hZA(a߾}8|0 PZZj0C&KKK4jBF`jjZ{<"q:FFFkصk\"??娨@EEt:D)SEE@fff666ѸqcG xqq1K.)fff*TcccBףI&prr2"NLEEE?iGZZDh///x{{O>$lmm}CDD0@JJJp-͛BVV\_'N@ii)дiSbÆ 0337-Z&&&J"x(666t(--EII JJJr|-99Cbb ZWDWzTVQ~}qi>}CfЬY3"%%())" cǎ7DD ] ǭ[sNڢ (((P(--Ebb"bccX0`lRͣB#!!999w|]tagg|?'NI0w\eLJJ¾} %gff޽{#55J~:5vq}qqq1c^z饇۸Xp!Ν[w ŋ*fggppp=Э[7k׮4 :wqYvqUQQ˗㣏>B^P^^r4n3gT5j^x888^zpqqA{ͭ롡݌pW_} 6Dakk e2hhPQQ'NСC@6mЦMԫWOYfVV~w#// SӧR,_VHNNFrr2]diӦjXn, ,...pvv PQQ7o"** ʼk֬#jt>#""qqqHMMEZZz=t邮]ѱHתMQXXXp!nܸ066Fpp04 Μ9ccc 77iiipttD@@BBBЬY3t:+V6 geeaС:s ֮]K.ҥKw LMMGLLLдiS}k򑫺Ԉ~ʕ=z4`رhڴ)|}}ѠA8;;`Ϟ=8t"##7oQRR͛7cI5Bƍ0ѬY34n/^aooWWW 7Ji6mphPRRW*k4DEEYfjNS믿8z(JKKpwwGyy9hкuk9#G]-UH֍7ЦM$$$`„ ֭ѱcG@ZZVX#G )) (//u=˗/V6L?w,X}QFh׮rrrpeVZ_D?w ߼ysl@@@EHHH@||<зo_4n"իW#..eeeطo.]Te666J' `ooZ;?ȈEy̘1OM6k믿bΝaffaÆa#;())# ,666011All,SLf͚|F#33III8~8N2}???YYYy&߳,6lamm 777l%bƍ0`G .… HOOgx3J| ڵkH^)_d {=(`prrR#􄙙A/eԩS't:M6h޼9ˑk׮!&&OFnn.R6͛E㏣Apuux 6n܈["88F)w>ӱ|r|WX|9QQQu>=*xaIOOݻq-͛7sx ^|}}ブ-[^1wAtt4ۇ#G@)ˉX^^m۶W_E^^{-((lll`iim"88055F%+ HNN6=`l޼Vۦ<3 )) رc U~ر=<==tRt&&&Xr%`dd+ǹ^m6>|ǎS LMMaii +++XZZ:t(jqпDDDwww(,,D^^?;v駟ƶm eggtСCmlUHe3fL{]vUy=%% 6*n7n;VVV޽{㧟~__4haootZTTLlذѣƌ<6~Chh('+V tk NNNJ6lFiܸq믿V M6W^AII 0qDmƍСr7hڴ)he˖ c8vN|$$&&&bee%...-!!!w\رcE~IIIg}VLMMh4޽ڵKOY5J-[&;vÇKDD$''˭[{twG֭[enn,ZH|||X[[ O ˓ HPP899%>> ~_~-m^/RQQ!Fss7177ggg;vv񩖰V} u)::Z>*?N2ff]311ZEE? ˗/iӦɲeDD$;;[V\)ÇOO;իw\իWeƍңG ;wA|رcw-^q?sL9tT˲dyW_d+((#G*ѣ]d߾}̙3gBDDF)fffҭ[7ߔyyy޽{mm#\233ʕ+[ũqiii`eڵ;H``XXXy$>>N*c}V[zuNO?EرcB޽ѯ_??L3g6lxzzaÆ(**©SPRRf͚!%%K,'!C`ڴi, !!"\?~'ODqq1222UVaڴi8uD1tPppp0kԩ8p QRRXX[[֭[(((-gggk?5k6m,XliiVZA)#oٲ:t/@!##'Oč7h`gg;;;Vi G˖-1p@;wƕ+WO ׯG~닒74cJ{ v?AAACQQStAOVF{ ?N8֭[CDp…?022REn0uT4nO?~]?#닦M*_N t:t:EV4l޹sg9rD?G޽ѠA}OIeee8vN> cccatJFFΝ;ܹs8wV e}tm۶1z=&Sv#ɓ'cܸquG[b޽EQQabbcccaÆC&Mƍ+cCx@Çdž `eesss4hxѱcGnҥKѫW/̘1HNNFLL bbbpUݻ022{̙(((aii DFFVݻ+?7oQQQhԨV\`|8s bcc`puuʼn'p5 :ͅ5affKKK ׯ_Gff]Gjhڴ)ƌ^{Z|c߾}HMM2X$ٳghР&Lӧ?tyuXne˖ؽ{wmjQEE"""peJMMpW n111HKKS?Dƍy8p`U<++eeeCxx8~W:u EEE6hm۶U.\XXXڵk8{,ZhΝ;s Rg믿bԩHHH@dd$ZhQc˯)۷oG~{ VVV055U. )) W^54 /Fqq16n777~puuUzsss[md}@Џm۶pJVEii)z>|8~'Оz)ܺu FZZ֬YaÆ)ck"!!m۶#򐔔 l޼]tpRp_W^yo67oOOOxzzƍ8x Q\\|AD ___ԯ__W~}h4ܼy{ҥKԍ`233qI97o1dիVU.]@Lr6u ڴiN:m۶@JJ oߎ۷#!!Zh֬2U^nРAxAwpеkWt...Q-ZV2bccq)笨(̛7vvvpqq ,--!"j qJKK[ IDATر7nDzz:={bz%%%rUH8qO?4qeslڴ sQ}&Nx'9t::???Gdd$k &`ɒ%\SN5 ׯ_GAAҮdÆ 5j:w3fM6h4ťKwaڵpvvˑ3g"-- fffpssSJ.h֬r5Kӡhܸ1 r=3Jڴa9:u¦MTi *[DDbŊCK.o{bȐ!Xd s777SMVVYQUqhӦ allre׉KDpM$%%!::(//Gvv6XYY 077W6֭[D=gnO?dee!++J#͛71mڴ*=>{qVGGGܸqx԰VT'OСuׯo- 64Bڴi#Ǐc?vvv2l0VI&ҫW/177WwwwIHH?_|zD|MgܹsDVKNNlذAٳ`u ,Pjܸl۶M㕱rsseҤIhx,^Xt:_[qvvsvqjDYYL8Q|I}pB ׯvIecܹs%##Ct:̙3GS~[^ ; ^~e)**R^[jxpႜ:uJ9"$SL25:No.>mJ@@4nXQK.ʼz^e2rH166iӦU6lΝ; Шh\lmmK'/L}ܣG//Oyܹs@^{5sFu| dRQQ!r59~jJLLL$;;[+co߾|ϋ'NT{QÇÇ\yBnܸa\^/"fff_޽{egɜ9sdĉ2|py%$$D4i"NNNjNMMM>jkRTжҮ];:t믵],=孷ޒŋ?|Ѯ5^zɪUDKzzݻWx  ݺuSN/?^v*nnnrZ֭[ijΝ;l߾]yM˹s+W9z-3g?S\\,4lP4U1bFhZor1cܹSN<).\(ٳg;V+=3g(qʕ+""_򺭭K b666ҦM!AAAҫW/3f3FCd֬YqFvN\"3f̐VZw_:JR#GŋҬY3iРQ5\tஞV9V6m*^Z^cժUJӦMXd2w\ 1؆{>zz)dСw9f NNNbll,>>>r t'zOQ?wu厸V`j2f9u̙3Gz-,\P6n( ,^zI:v(GZ,X >}e:}L0A|}}IΝK.$~~~&J𱵵___i߾̞=[ S@!z͛}ѣO>={N333iGv/z={6.^@`ӦMw\2bjehР<==qu$''h޼ytїH\r999xװ{n7nnn׿ &X~= ÇҥKhٲ%c0bIEExEaΝHJJ:uݻcРAp+M6ADOo߾†  z|'2e °qFQf4h puuUQz?# vwEEE/˗ծ];|֭}վ}{$%%uֈĵkהbo:<戍Rnݺٳ8>>8q2^6l;;;;wG_|,sѢE;v,kq ]r#GDff&PTT;zKAa׮]HMM?SLe˰k.tO=vލr~~zpGxx8<<<։W^Ν;qqtM_9ƍBJJ ~G4jW\ֺ+**e@zP~}ԫWwuEER7bܹ©S@Uٳ'1l0UV~JdE]ʕ+ȩ(((@VVkғ <== x{{O>d0p>}pqqAJJ vܩthii SSSܺu zz'kw}\1-[ħ~X[[#00={Dchݺ5RRR8::999JPo.]P\vڅ+} [nŲeٳQF0a)8N>]pݻ7pe޽ׯ_Gzz:*jV$͛7QQQF333W^7oիwۚGb8s 6mڤ XSѻwo̜9VVVx"~G^P^^^ ӧѲeK\t<ׯ_gz=v؁O>GII /b̘1UsNpQ|sٳFo$;;F֑/)))wlRRR"G+Wɓg&MTyN\ՊI$ @<==JoV 6 \ &eݺuҷo_+++133S׿%Vr*R\ 8PWi^~׮]U>-...ҹs;CNgPFIXX[Nn޼y}u[h!;{Pw^yפK.)䫯u=(N'eee#.\m۶_yw$44T9dҤIr:H6eggܹs/GUeW\իWG}$o >\z!666JDcǎ;w޵δi2{lYzNj/s=FFFo}ȓO>)=+V?,6mRN...boo/OȒ%Ki&Yx̟?_ݭeN Blh2a?bquuN'[[[ӧ+= ڿ;x.6J̛7a2dy+++ ^xAϟ_c݈[N;x7_~>2Y|o MLLW~iYtZYlyBe̘1rʕ.ܮ/2qDQ:0`DGGo+ʞHpp^+WȊ+dĈBW^͛CՓ@ 7nl۶Mv![+++/999n:0`)]{^[|{ ~aMRvٹsg{Ad7R+˖-S*'ѣG%>>^իzj7`9sL?Xamm->>>ҵkW% ]V'Nӧˇ~(tILs٨$<<\/X@.^x_e4iPҥ]D_J#\M ?HrrL_|Y,X bjj*V?}hZyw%:::^tttձ?NҾ}{駟’*yooo={#}G.)++ʒ*ӧO˛o)JpAADEEINN]?&>2zjiԨ,X@%<<\P^̙#M6wyfrܹRTT$YYYһw{=2q;\7{{{qwwvI~~mkiÆ {դ7nʕ+Eȑ#5ܢ'NHDD#r6n(ҪU>kRbb@>S=zt*'[[[ SSSt钬]V:t v?CL8DwR} uDW_̙3eJ%!''G6mڤ4>y,ZHf͚ fcc#--[T%ԩ;uVINN'.Zd~-Z'|֊ܼyS.^(Ν3gÇWWW /_+**\4h .T|Ο?/Z##;?S\\,^^^bcc#˗/ǰdѢE/KHHX[[+ZV|I%--eK߾}_~4kL g}V֬Y#W\QFK֭[~leddHhhhZYpCKKKwQ[dgg'CHyWT+tR3ftQܼJC{No.{_Zhq_w -[wĂ@MEՊrޓ/\}Z.2}tINNۏ턅Fzɮ]e$**J~'ϡeرbdd$666ҦM$'N9w0i$122 ʌ3dƌJi֬K@@9s桷577W^yn_SΝ;'bff&? >\,X {쑄gϞ*?dٳw rJ111GGGIOO>,nnnR^=9pC-PDM&?CCqԨQ"" vɔ)Sdݒ("qqq"qqq2c jbC*ȱcǤLi^Sl֫WOfΜ)WV+ӦMr^^(;v'|RlT IDATzJRCͥZ륰P.^(O=P8qB8 [oLVP@@h4?~;V &aaa15p@ٴi}]Y_{{{ ȑ#e޼yŸ:tm۶F%rMZG*===螟'|?_cpM>}I.]uq… ED$9wqQe e` حTL,ՕUQ,t1wvQcqYkUl1u >̽'w8wy:t(N:eɟd,R7m$ذhѢntj(߇(76]6^R@2"'Np400wK.^͛nRRwEK.fYJ[ߥKU -r 6oޜr\#ŋYdI'ѱ󣩩)Yn]Rdpp0IrմʊeʔRdժUE}={L1IJJbɒ%Egs߾}ٓFFFa=hiif :Tl[VǏu8}'O,4Rcǘyܹ߅J ,ŋgʗ@RqӦMtttLj֯_ŋQF,[FRO:upȑܻwoM@ݻwÃfffT*4hPMnܸ^zQWWƜ4iŋԔ~~~9U*,,_ylo_BBre(Pݻwl@R@rujs=<<ؼysI~. ?$Ȉfff;w.j/7 hnݺ4eBCCyI^xfffIPOOOW t͛7 ={W)5oja-{{{z{{sݼ-(X/!;K\\xߦM 9c߾}[ Kܼy\"r ,%2;w:uww˗/ϱcfJVSN̙3{>z􈦦駟$7 Xٳ<~x-$$$j:]?5J% *dnٲ}_=Rj%$H H."ú32vʑSnݒbk$iӆ tYZӧG3gL,!!A \`mm-f_t)?ÇsѢE;v,ݻwߟ˗'6hЀ/^y!8vXb!Cd5n޼I]]]z{{Svx?m9.VZVYbEi&[^A-[8`hтե9ݻ' a)8f````pg1 yqРAܳg#""=z6mɓ'%$@"ߠXr%ڵkT*X`̘1>}:ŋ8uݻڵkYfё_NA=z?={EjG.c̘1i(P.\֭[Ѿ}{XZZ\ry&`mm 4 {~CҥaddiK,Isggg̚5 C SЮ];d2d2*T={X~ɒ%HHH@>}?011m&z /V A kr Q%!!}z Ǿ}2eX`<==󰰰@J5kRػw/ϟ'NÇ֭ kkk B2eW\ΗhY `.]ؿ֩SJSLI6d5![RRFUܳgx=5\9pڵ+/^ׯ322O>su߼¡Cd-AF۷/K,M&}\p!}}}YF/nqm)$$7f%hmmMkkk*JZZZrŊ| ]F Sjl.or֩S'M%JPT}Ott4ϟ?EÃua hkkKGGG;ً  ---{4eN>-1V^קR|0[͛E.jժ466 2TwR}ReZhiiSNޞ666ZUHo߾Cٳy"sx^aʔ)411I411s̡1]\\yBR1 n 6Lka`Λ7cƌa^تU+VVKfYV-6k֌:ubYX4ӡC{޿AAAv>Ry'`׮]E?©SR.}UW[n\pa̘,#*J.z<ẑb2e\jTB}}}qɓ'aRݷ n߾^zO>b׮]$nܸA6m4T*\rѣٶmۯ7m4/Ν;تU+_wx5ٳ۷3|O?/^/"Z*.]jb۶mٷo_=Æ ';uĦMVZ0`\¤$1YfWȈ666yӦMc޽Çٳg8q"0իWg͚5?Xxm۶sE6nܘ2M6exx832KHȜ @矹}v1cqŊ)h``)@Vz,T|ۉ]ŋsܼysW?Gll,٢Elis QgaaA3339s&d6_b͛%Op]vE -ۨQ#.X@pذa5k䐴)$%%SNd433ӵ7|}} ]tׯRD"E֭[Yjq_H˖-RDRz5k֤e2 .&XƧ,] "݈[Wa===eܹ3+UMeSCr^:%DR@"瀎e0=hee#Fh-Bfc"EKwww)\7r9Օ:::T*,RK*EGGG6lؐ#GԨ#o߾M???*U =P(hooϾ}ߟϟn2ǎ;K./fΜI2%̆ g)Z;K,Ɉ*JN:?DLNN$>yDSբgKСC)&ؘ'Njϟ'LkI:^zʕ*;w-[4LU^~M)R5jж8y0.Y>>>;v,LGGGZXXeİzzzԩr\rݺuӈgvr;uttشiS:88FjժqΝ$;wj>CCC)ɸzjvؑ@Jf͚HI26|p޽w%%mҥl۶- dF]>ssso^Z+Wmۊ;III|94&<~x~J*U뱱\d;Pnl[#) 5SW.-J.YEIbccikkKsss)S/^L\#F|s3`ʕjZ|qmذAiRfюGPEDD[j%:5zzzlѢ;ƙ3gYfb" 1iXƷVyu;wN4:r䈸&5'N(*C 4=zĄR k.N8k֬E\r3װaC1_s)S]aÆdɒ>|8 6lH???%#) i@gPzDPOOd_Y|9r]Zfݺu٪U+-JAشiSdnI9B4iƄʕ+Rׯ]UVe P(8n8Jb ذaN(xzyyI|zL4I,;|4k֬y1lْ ;v͛ mq)VZ NNNܱc׬Yŋp\hO{!4fy=*U>34_:t9ri$Lk饉`*\7KJJL777m'+WfF4Χ0f͚c׮]ٮ];޹sGlWvm׏ׯ_׸jekksРAܲe 7oÇ3-!jŅ2666:ujR}r+VM4I >+}I#) i@gK.UVLqLOabb  -K7L&ӘN2%Y@v֍aaaăk׮8ƌ#?|0pR \ ۷Z\.%Kzy=j5-J777;vL mZ֑CB [lxsܹs#={M,Æ ͚5àAKӶx"طoUݻwÇնXyA!::wE*UPLk׮Xj &]j^|n;=z@RRCx{{~իd2YߐDHNNƤIJLAruuuÇsxxx <<;5j"Ed{ZB!i9OTTmllبQ#)=T*Ν;]-###9bVTr}>YZ5`׮]YlY`bŲ/DBB"B#gΜaʕ5"44T offƀl#H󵬣GBBKx1LLL`eejժʕӶxyBC}ЦMXYYe{?x1@2 FFF(V+333$&&"<</^İa.]Grp=,].NFШQt%$$`ڵ;X" ߿x񺾾>J%.]M[~߇Dָ}ܰav/// 8 |||p̜9ֶDAR@$$+x{Ő!C0zhi)]4]7o~wl9Rds-|r5j@k.޽{ѳgO(P@2&fΜ oߎʕ+o߾+֭H8qΝ۷q,YRKHHdC.CGG/۷/[5jT'|ҥKaaaǏ޽{h۶- oߎ bɒ%2d &|g޿7bÆ =:vZ B3fh%J˗Jʕ+wwwQ9pWOy8q"*Va0`PX1޽CҥT*add#G\rsЪU+̞=[R>$$ 88}ZƇP@L:ؿ?:f͚i[T<_Zb\rժU˗QjUmC#-[ŋ033ëW[`ooM1 Gf `hhԩSؾ};8::JˡcʕNj/+Q_/_ܹsEʖ-3f`Νڵ+ ..۶m7~z[e˖; .%JYf@.]$CB"I&kFbb"iӦ#1o<-K*אL$5zzzXhu:u@&A__111طoΝmhكvLMMi&4mr,[   !j֬ KKKL:>>>8t-[={MTPj;v@:uЯ_?/M:$,XPۢHH|8oOƎ;T*QX1@TTV N:ZT"/"HH]6\\\P~}8q@J]vQvm<|͛7P>Ϟ=É'p]kjSNō7xb/^˗/A7nİaеkWܽ{7n@%v?2={իW ]]][n~D^WTx-ۇ:@&AP"Ã0n8tWƆ -mKoѪU+hٲ%ǏRfΜuiSL"K)vYb0&&6m3g-KTT;bĈLJJl[nihժK*3fpРA[766@+VLlgΜ99u{7RTcǎ_UA8F .Q޼yCoooqhР3LL Y|y TGhhhvݮD>e͚5'Nh?rH1kY'\4ӧ 7oԶ(Je4iWhQK,j;߿֭[} /1vMRɓ'Xo߾˹~zFFFX?e'Q2Ξ=9sP&qܸqܱc/]I&͛~#""f6oޜ͛G2EwĠy 6PWW]tIs-""BciAB#ײ"!?J(x9,͏BH|||$Ҷm[ݻw9C J%[z5s̿$̙cbҤIxm8s 6l؀ 11uAٲe3~D7NǧHbժUܹs%jb O˦M߿׶((ڵ411\.gؾ}{pԨQ򢮮.uuu١C._=ҶZMk֬t_b%P( 6P… {S4sb\?~8x`FGG~] 9s댏7hoo/^_~m|JER`RRئ7o$$ٰaCrÆ _,kooOoooPTؘ[ -%4_:v8q"̴-FbT*@N8Q@ߟFFFR e'gΜaƍ)ikkFI&lҤ {?Ǐѣ9avЁ ׯ_ljwa@@p9rMrΜ9-[H(8...-Z0))W^%-[wdzC411Їx*.\`z `HH7˰sN* 7nHSSa/?ߺu477ӧ?[/88+W$$={ƱcDzB 駟n{ H#) i@kJECۢvE4/^HOOOv=߼r#$VX1b/ܹ3kԨA Z[[Ɔִ_6CBBhnnn];v0&&ӦMĉYJ|AcrΜ9$C֯__5w,+"cǎ.7nܘvRٴi---F}"R\9/y___* iӆK$!)Ϟ=e28|6k֌hccûw~C4;w֮] *PGG?|:|-H H.B#<<b moҥ mllѣG@Jbf{B2d)ߴϷo2<<;u1117oTB]]]>}ӇF 'Hvqssc -͛7ӵ bppW%reʔwϙ3heeŖ-[̙3_3ba[WW.] ׳C,T)*GeZqtRZҘWv?=Jgg4k֬ɲeҒCÇ9qD֪UrT*/?~ر# iooσfYjՊ$9`/^<߄|-H H.Be۶mi^#..˖-qN]],Ih~2Ϟ=pdڲM6 !ݻHWcӦM`"EKرcKW*T'IYXn]1666WM&MDSSS.ZH7_~3fhQ:̒̐nݺPϝ;'*=z`B4c+++ٳd*U&MʶP^^^nZ@f~$Z֑\4mWj%49z(`K2 @bIdDd2N0!S?|@BѣGgÇ5&Z۷ojŋkԹz@:;;dɒ|'Բi&rgX֭[,\0vÇCSS4Ѳ$r7 lѢ_ddT=zѣG)*cǎ%kZ0HAXzu6jԈ y,QD7kYGc͚5XlEɓDGGI&777 <<<)D&QT(P?;wd{vvv ѣqMkNcǰo>={òe˰sNz׮] }}}L&CPPA@۶mR`aa!:i?^O?A___tM[:޽{Ľ{ Df ?;ݻ H}ŕ+WvZ4n&&&8{,PR%xcǎ';vpʕlԨ K*ő#GühgnnA_%nٲIII-99Ee~~q6kLy?{,MLL̤Zdl-Zİ0 $^zc2H ?466fѢE"˿yZb͚5˾}֭[Gboʕ+,W}}}Y\9(Pg*TӦM˾H#) i@_NB!3Arr/YqdA# utt˗/O{{{d22D?{gfӦMiooOtw.XN)S(ظqc8P,O?L&(&@osttt$N>=r ,L&=+Te˖Ǐl۶-XF nܸ PVɓ,V/.Jj?OO)~yǏs„ 1b^Vziڵr:::n ,[R%j5k׮M###`j4^xQykفPB"*VoooL2M4AժU-RAGG[lAΝŋk[$, s@DD` :V/ P((]4:v술 ?s4nBb`bbCCC|qqqh׮ ?~B v7oӧxbunݺ!&&V d2W>f̘022BRRtuu5 0ӧO///( 8=B׮]1`DEEAԫW5jya_>r888`ҥ'ODllё$v܉={(]4tuuq] 8vGax1/_.F2ր$IΝ^hddzqÆ ֶX Jm۶`lذe߾}K&_~W%<< U7As>&Mi4v9D֭Eߘ1c0!!o߾Jܽ{UT!z{{ 477w2+%BCCYbE===iiik.>yD7011a޽y霾<4_:tD߿~~~xɒ%yAm+8p .LԩTҥKԩhYÇT*ɓ'[JDDF~LLx(!QAIW^}tR|X (V٧O-׬Y-[XR%ˋ{aPP )Cjw ͣU^|I]]])\D9dȐLwss#+Wmڴo~oCeIEH:Rخ];Pjx m$r &P&qٲeZW0_zaÆVceeešC_I-[VO:m1chjjgK{ٳgS&ĉOLƉ'2>>:uM+ƣGrΝ$Si]YZ֑\4N"L]޽?~Ȋ+Ą6l5Rhee~Mۢh ;SZMGG!PTlذ!-,,x MJJb߾} եoܸC"H#) i@-A`5XN '+VaCٓƼu떶EavE<E*QQQ,Tk׮͹s uuuQÇܼy3k쎔,Y}]ÐO,X e2K(={رc| .fc.޽{%JwvZ`֭nxi#ײ<;"iIHGd2|}}q9lܸQLڴxbz ZAoJٲ${n 6 NNNC< -rXYYf͚! cƌ0fAT")) aaaLMMѹsg,[ ׮]þ}k.lݺnnn8uڷo333Ԯ]߿/.]ϟ# 7F"E:cǎZ$~D<pիXb8r,X"E䀄G"!7n 777=-4i2  LQFa…HHH1LLL===3fc3$R42J899իW*puuE||EU$ IDAT_g:::֭[UH'!9ďJ-#\rժU˗QjUm#yDb Mvرl˗T*2eC\ &|5DܹsT*T*,)$Jׯ_|uM2dAJb~hllL5j ڵkÇlG"爋k֬ɰ0m# |-H H.Byo߲f͚DdŊ,S *k׮m۶,X ̙6۩-9P6i҄Ѽys6lؐϞ=Xݻ0q)*JN8Qۢi4h*UPzEe&MVA8a`GBAGGG=cǎlVVMz6Gfx]m"ZwTWg٥]BbX bIFQXQb F,5DG1"XQA|1 /`f;stʝgqw̽b@ i4ڵŊ#6k֌VVVݻ7WZcnذ2411)SH}5j1'ؼa fOȚ8@^͛7XZf".ZF _MKKKKלVp T*zxxExQ_ӝhqB/vRdJhffƈ>|ثW/>\/ǹp?Ky2m4… ٬Y30!!wׯYNh"s)GIZ-wŊ[jŋ/r…9r$[lɂ JPB|J%~ceBz#F ϟ?Ϙ6nܘ .;D}Mwb&tAA ƍaee`ժUpwwǰaдiSt{}={H"zLnFFFX|9ann>}֬Ypww[t#FիW;NQbExxx`„ hԨz聮]bӦMtׯc(P{ ௿޽{P(P(0b(J={Nh=Z*C"22 IXYYP*(X `ii ___|whذ![}DL:˗/ʕ+f͚Ν; ;wQG/Ѣ^xQFxbdXXYP!jTT\l>cgYc` ...5jԠ-厓hZ+W ˗/CVPrdZnԴ*U$\mۖFFFl߾=N۷ogx:ubҥ9m41Z={իW WjZ\Rz?.wLh§dɒXx1PX1ѣʕ+… hӦ \]]q̙,Zŋ;DVɓƬY0~xL>k׮Ett4A?>Zjkk"nҥ Ñ#G(w|GPk׮ … aaa9s&fϞ`OTGSܻwׯ_ =ŋajj˗A}vb t_>^y &Mp  |||₰0X[[UVr$K-[-,,3iybb"[h%JHw,3+m|̶mhcc5J%9a\Α ~իWOzI~~~>}0..^ڵku2{=+T?3[eܺuu!?^ o߾dwޕ;NGի5jܜEw \\\X^=+V&L).;1 tB7Z*?.F=Fí[ѣGEGGL2oTf9sI}ŔxzzktInѢK~߿T idd$^f۶mcYvmiyp2'{Ν;/2el۶d'%%ŋoٵkWZTb\/)))))\wuRr~{'jڵkʣGrԩtqqa=ؾ}{1ZZVҒk׮FaPP'L}x"Eޞ ,`YJٳG̺l`MVJxbİK,!8q"e}ҩS'iRZ̓E&MbժUiddܵk𵱱5jinn͛sÆ ܲe {E{{{iӧsΝ|U?~a` W1Z2&&yL%{G'K[{\rRCرlZ(55>|oXll,wq̌}ŋ2U/C ';V( O>$3gׯ_/k۷sYdذaCIז*U!UP55kc޺uFիWhÇ֖6ms\fM*J~2d+(G 1Z2""ݻw',=stt$޼y3K=}*Æ Կ̙3inn .HdzvڴɊ~  k׎ΝKwGrĉY.SпtrV&{Lӿ.\[_Cjގi6k֌e˖~ &@gVݻR8nۧO+Vn{Rdv.-ҥt틈ȑc 2Z^" $/ ,.Rt7qDk׮%[8u}LJHGOZ5k+W,_3iZVT;'z1bW^I7sƎ' A5>DrϞ=lذ!k׮}˗Q-aF]`tqqKLLRk_~z\0 YRLk׮I/&L@Ѯ];l޼Z6<ݺuÜ9sm4 ۇ]v]v]t PBlwrr?UVaӦM3gq!ٳ/^DGGcѢE>}:,,,0c *T}AJJJ/|B1hҤ -Zwŋ`JF;wx;amS޽;qa066>ŊÑ#Gk,\P,X~~~P*3gb֭3glHMM1!? !KQX1ԯ_' ܑ"EСCW͛7Μ9x)J.#88;wԩSKKKI&?~߁zjԭ[ V/^`˖-;v?Ç#((;wFF}~@n0p@m6kO>رc9sٳg$#ڵ+BCCtG+bݺu9!..M47-ъ@o3wϟ?f͂'ѡCLX[[#$$* z))) QQQҲhX[[AXr%~zc5 ˗/DzeːcrA0rw+]z 1K~v1(P `.]8eʔL o{믬Yf9;8m4gxښ8wl4iRhnܸARJueʔɰ d;رcsa_l׮p֭X#h4󣫫+رcLLL̑cq/ӧTZq:5sLѳ/_|lܸ(ͥw%:1XH-[V^|Y! "NhݻGOOOk׎ƬVGF}_z-[{1}YPL>?N7?i_~7/_˛7o299ŋ٢E mۖ]t_z6d֫WOV˙3g\"-h4lٲ%MLL>Z… KNJnܹ3;tܹ͛Ȉ-]ϟ^GqD2((}FZ*W\)tjڵcǎ >rYq̘1RǏyM^~]j哴d閟:ul"Tzuzzzrٲe5v>|8>}};&@=|=z * Λ7/j:99I=!$Çdmo1,Y݈DĀZȬT9s...ҝN/_XbERTrRL2bŊT*U**1~UrWxx8  Tiy$*,]4s}ILL U*Lw-]wt~_^zp,]4ook֩씔Θ1 fKދ/-ʻwJʿNtvARФIx=]vA4h4h8,^ӦMãGvZT/]SN=SڢRJP(z*<<<닋/> z)ƍYfr$/_WưapUlذ+W۷ K=y5j,,,r${V/^&Mœ9sгgOԭ[/[ 8x ʗ/} :uB5ТE DEEaÆ8q&Ol0[}H-ϟv+Vh#%'-ZXr%?EhР4s|Vl^EDDsӧO1qD^z7oޔ#zu;^~jׯK.'{tsssDEEj7зo_ԨQC(c8g}ŋ,--1i$H???ks!7 |T*q Ƣ{xhݺuWոw]VZpt sŐ!Chӻwoj8;;ٳrpu>>ݶϞ=_nV4vvv3fLi_!-h4_9qDN>/Hݻw/4iIO#K,ɃEʸ;w̟[͛wnL}ZMLLɓYN* 6o>>:)B`llQL:|0?;J9rfff@B .pӦM(Ջ666LNNεLݺu#07o$nݺ/Z]vGARO+Wϟ?dzgr< hi ÇGhh(ܹOOO@Æ 1gĉeׯLMMѸqc߿_ZoN uiӦ}b`X`Νٳgcɒ%& H_~AZd9\ߪU###lݺ۷o*U*׎oddjժaĈX")S^z8uTpuuZnwn7`t |XjMVr, ]0¿Dje͑=zPPz,Y4B&M8uTGWrܹs!u*ѣG?>kԨ!=:RP!ZZZTR466f֭3̽ ͛ Ǐ;^929>FÇݻw ֭cLL 5jD##y"<so/^50a>wAAA ~ 2&M޽{w [[[L6 jٳgB@@Ν;' qơgϞprr;^͝;7oƝ;wp1.\8G3{lKFFǛhѢccc/^ׯܸqC/H 4F'`kkݻwC 4`'˗/Kf B w HhQ yYJJ )wJNNݻiaar;0'No& :P(X|y6lؐJ`SD .]C$9E͛7M6d*U;*ЧFѰSN,Y$}: *T6={{f*UP(أGw>2O?QTX_/Q_ӝx ]$%%aÆXhѤI#eIݑExD䎒HbѢEҥ :tUV9? 1<==Ѯ]; :ϟǴioaPD j ;wD۶mCL:e!%%]tիWѹsg_~~~P*_PdI }ׯ~G>|Z ݻ7.^oGrJ MӦM̙3QNXK;R=|>D "OB_U=z4ѿ,YŊ;'ARѱcG/^ŋǖ-[ӧOK.ppp@ݺuYI\|s? $pBh4\xK.͛7[޹_Jжm[G3fi D 2e $$r6߿?RSSQP!lܸ׮];ЪU+߯+VoWʕ++^zVfϞxiBڵkagg͛7 T$&&PBY>~`` b yR}*T i´Ѵie˖ͰIh,}˿WtAr˗q ,^8ϿP(0sLT\sEѬY31s̑fr_DDѽ{wpssÖ-[e 6LH$B5kʕ+СuKƼy@R)]LLLP|y\r%_~[8h>}+ܿѾ}{ݻ077Gnnnc 8{,VZ{{{(Q]vŋ5!WKMB^B3%%E8zj*`bXP!`J8}t?rL>z?-wsR2 n:##""޻ĉiff۷ognbݺuYP!399Ŋ#e˖&7o޼'O{%-kѢ_6m6mG¿D}MwD,122ѯ_?G5jΝ;ˈƱcТE xyyRJXb?HMMş)w#Gy>|q?tP̝;"00gΜ{0aʖ-u",,,Sر#p)… x.\#((&&&[[[[ |gY-[7J/SLA@@{>^gϞ:t(pԩ4i9!3jl߾=˕+hMJJ gϞMlڴ)߿/w$?XP!6,:~˗߹/44J+ؘh4\f Ņ_g}6Ν'ؘ)))LNN_~IY& Vٳgyɬ˗/3$$D2 N4@ 8@V{ŋ厔k|||miiI455eVعsg:99qРA ;j%J]vLNN;^_د_?1WZ|9?Hx ñ^~@9rqqqtvvf5ؠAvԉ .d||99^zu&::.\dvޝGCEa&MaÆ,jk4z,R߻m*]̾+cHD}Mwb@ -M6e厑'DFFvҥKf͚;V6m4* ^zU(YfҥKrGŋo._9r_N5݉'}Q̝;W$%%*T%#(iAnnnX`hѢaddgϞAe$&&dɒHLLDpL_վwެ"~;wFRnfD zb IDAT1dTX'N;Xp!ݻe˖G믿vvv2'ɚ~j:xXzc T\\Si\\\Pxq+Wʕ5U{n$&&s8rHW ڶm={zCA/1|c׮]rǑIĠAd)5!epe 6 ׮]ˁtB~͛ 7oD1|>}׮]êUN:aܸqHHH[QD ^^^iD%wA=z?#ڴiŋI۶màA9s'jpuuJΝ;T*厔eŋG\\\yQn] 6lȡB~0l0\zgϞEƍӭUl`` \]]aiiN:q|rX"G??AFP`ሊBppqdi&ԪU wΓcCwq?ׯGٲe厓-&&&HIIaaaĩS兯wOGHHGLL ֭[ظq#7nڵkG"&&xvprr)S^BXXXǻ!3DD[. (ӧOE6S^yjժe˖rGɶ"EǙʕ+)S 5j˗/˜(8V'^zX`}v888?~<*U'O<}D,--uUiӦt!vAJ*qa7n厔͑(w|$Ξ=֭[CP'۬pݏnGfB޽@  >MK,yPre׮]V=ѡ</^/1)W^x;,30ydĠe˖jzl0tPmrGA4@AлӧcXx1ԩ݅277G||1򥐐ܹs_|QÇؽ{7nV{n|W:u*ݱk.( cǎI?)۱cƌ1c ,, ZvtK.a޽߱vڏխ[74k ӧ.]RSSRJI1k,1uSruɜDx''AG̚.]; ټys`>}>қ6mʾ}#_;w. .TdKRR;vRJƲC,U֖+WLͫWY:[p)N>XbEV*UȈSNFIMPP{('޽{W/yѣGZ*ٳz)ӧ\|9ի'fBב1@tAtQfMZ*Hvԩ#w|),, UVJqLNN͛舓'Obƍ(RHN<#Gs믿aÆŊC!;vZjӧFRq-̘1fBڵl2鱪m۶TR[n[h! n(Я_?ǣL21b._sy<[@¿z@DZȏ޼y_466ܑrDxx8_(ҸqXbEcdZ||ƍ#>x GeVK24 =<&LvNCP(lwww|^/1I4@AU A[Hz5sL8;;N(RƍI&BCC䄫W" ި^G+S >>\rE1j̙3gP]G^u:vȷ~(Xn#88˗/WbԨQ\~?/߼y3fff߿&:(77]v /q1p@]GWׯ'$$9sOhhh]\\ccGrL !4k֬rss=z4ڵK.ST*Ǝ˾}u*/^L=ؽ{75w r''{S72tP:j5L:/// /̕+Wot899w}aҤI(v333155Ȉkj=B茙Yٰoرܺu;v<ԄGqFK.u*P偊b^u{92bĈ*tLQ֭[7͛7m۶O 4 .GDDozzZ %00+Wlll4cǎe̘1jMpW^/Hii){ GQLMM9s&+W… Gq!9Rc{۷4i_޿}vݻ:tu.\#xW dǎO$$$ӪU+,--uT*87/V200ի8;;avG<8)@:c>{:pS_ rssuݞ[(&& )ĄDFDׯ_?رcvvv>}Zkmp).\-..Nk'BgԩSL0???f֭,ZO?]xxx`ggGJJh 6/'777,,,vՠCaddD^j"cccLO1W\!<<>MFFF;䐔H_K!N(B\\򏲲xѣb]G: B'qqqDQ8w1/fԨQ#C>}PT޽vGaϞ= J[d ?֭[oqƏ_.d:N[|s]: B'222RPm8s zzz2Ht25 K,a֭tڵ+tRo???&|||ڵk"t@ !Ndddppp@V(vѣGmk׮VX&&&GitOVsm5j(BB:ZMlllLIDu77nh6z-=z0s;hxF>K,E!66;w~z/_ζm4XXX8]B4,k?fҤI:#jVvxYhfwaJ6mضmS<8{{{LŠ+Xhzzypii)(ŋٿ?"))I###w޴iӆ_|SSӚx:d۶mf !jJۛW49|0[n孷BR4yeeeTVVRPPPիWӿzAhh(5R4TAAApƍ:>%%?͛鉗رco>233)))HڶmKxx8'OiӦ|ynm/ҥKy嗥px ǎرcܹ,Юh}(`8kW_}%=$%%all}0aVB__ѣG3|pLLLpuu/i۶-[n >>OOO&NHnݪɛ={6W&==##{r_ju:Q;VG~j܊>ѣ̠Aj<;ƌ޽{IIIť}qrrޞs/G||<͛7gΝH/1;wwo_ƒJ||<7ח7nʚ5kx뭷9s&nà F>}ޞ%KxbpwwyEQxȑ#=4R<BԪm۶aggGkܻwfȐ!kѯ_*.sĮ]jܵ\]]xꩧؾ};^^^lܸpOJJ pg*ǾKZ={DԸ#GPTTĔ)SPJq{%>s֮] Cz￯AJVψtufff 6mԩS&z%FEFFҮ];""" u!jW_}Ō3HLLN{_&773gHee%7cҨQ#-B-ZDVV'OM6${nx ͪ7fѢE9;gҥdeebŊ*Ç۷/;v`С5rΚPZZcǎc%kO :D^Т>S-[_b &OץK]Q)Bee%?԰?RXj{7>{EQݝֹ3gУGJJJ4=+rd`VDGG3vXաClllx駵ޖB< Jfff:-> @ٹs',^Krч:oTTqqq̚5pc۶mU2e naM !EEEOO<ڷoO^z[BQ̬YbǎuC X|9}o2 ]u}Zkݺul۶7j-!T*cݺu 2'x➡X9rݻkV~;vPPP;055f͚7|Cjj*pgARާ~JVؿ.#R!d\kmj~w6nyW9rB࣏>h߾= ƍӇbFq=ǏGGGx {:1W"ؗ_~M .  Bkٲ%Nb}!CpU!554JJJpss7~v333c>|Ν;1c*VZæM"33}}}G~|q(Y(F;k֬믿&,,{+++LMMu^DunnnHrwJEQpvvՕΝ;Dvҿ@QQ iii+rI,X_5:N]=aaa2zh&44>Ä B[t)eee 5r>ggg_|Q#BqLMM4hPۺtuṺ˗ݻ7(y/hڴc1B;F~4Cm۶ 4*##ss)5k+V 552N8Ν;9q℮#EQ&##sNΟ?͛={60{l)>j!JQO^{:~ԨQOT*7oNJJ мyN*vͧ~Jbʔ)hvɩ]ݫkK%n@W_}ŗ_~I6mtޒDUdee₢(՞xMwNHH;ӧO'GKBܯnݺǬY%77ݻs-x d”)S`ռ>}$>CƌԩSu~DU*/]v}|Xd Ǐ`ٲe899i%B dڴiX7ojz?>uRSV3m4JKK9r 8'Ҷm[ԩ[2DU[}]lll4_rƲ !xxCݻw~z}FU /Ν;ꫯ ,,gy2x`)>L !V IDATW>|>_ BT_׮]4hƍgϞ3}8W^^Ί+l۶ÇгgOڴiÖ-[4=8BBhUVh޼9Tkԭ[8x _5EIB<JŚ5k߿?3b]G7xf͚1e Dll,]vgcǎ& B+_}0iҤ>.==]3|:sFB>[[[6lؠU$&&2l06mFUVL0#G_H@@6,R!&++$lB۶m#77?lܸ///U!D=JPPfffZH+>iҤ Æ cĉ>}ZMYY?u Bغu+ϟgǎ|g:sΚ> tB!J% %Њ+W2p@Z~wHQQӦMGZJ(xP,ZF?%xDH"Њ<|jSYYɓfΝ2C:{ٳx7oXBG B%;;G}ą C:UiӦ:J#xH" ;;;bbbP_';v}biiNPPP-B<'|kע:!B+ƏOHH[laĈe˖iԨQ)..fݸ˗y׫l<%Y5_u !#J !Vc;w)))V?2qDܾdRSSqtts !v2B055ÇQ}vJJJ͛)>NcmmمB=R!Ņ{i&6muO?ӧ5gffw6m"$$۷_pi.\q>!B %К}RQQիٸq#ӧOg̝;LZl'|BDDsŋhȮ]BQäD5*L;?C܈`}:.],;w& Jx%-[ƺu(--@OOHLL###prr"==422Yf888tRׯzb㲲2***(,,$??EQP j5FFFФI6lnnn5JQE!k׎uGZ@˖-䫯u֌?;v̂ E> µkޞ}7ߟ͛yEa\ {1㥗^׷cGXXm۶uָaaayWnn.k֬СC\p HKKw‚kײl2€DII QZZZ 00+++㩬,LMM)**b,^/[a>]Fee%8;;Bҥ s?ryLLL_===iܸ1yyyaooԩS FOOOӫ;+%%4x 3330<##{z:… DVcnnaaay500@__2#%%2ÓhN:Epp0{e?իWuVyr%꽼<~w<ȁg``@HH/"8;;[ߋrvAhh(>}\iժ*~k׮HzzX+++\\\cccϟß9z(ǏgOо}{ }6NNNٳ'(B\\dffRpqq033ΎL~WJJJ###<==~:={$((˨y*,,ܹsDGGMAAVVVOk\i(<Ν;v}q߿0|2ӯ_?z)IMM]v?TVCCCyyNO={عs'W^'|kҽ{wr III$%%Lvv6%%%={rYʕ+8pJE˖-5jgϣRꫯV;뿵_ڵ+]v=}>m۶|7/,_[[[|||WWW<==ܜ\֮]3!!!a!= uTԢ8r3f ::///n݊&&&gEyy9s/@fϞ3< p~Y|9;v$++Lu...+4j/Eyy9hСuS㄄Zns=w}Wc\?OP%ԩSDDDp5~:pwYXXh 0:t耝666un^{xR! A\\-Z[n :UVQTTDΝٿ?}U)(( 44UVq!V^͸qt ұcGT*XZZ̰ܜ,̤r hܸ1NNNciii/j5\|4N8Aff&~-ǏGQ-[֭[tVVV\~+++G||<'N`ٓ?vsrrػw/&Mb_dggm6(**"??ׯGJJ / a(//'11WRTTJO>uV֮]KDDfhM6K.|^{xR! Nn݈Ϗ8͍*H_0vXoNxxx/)tk׮qN:ƍIOOQFӧOgrIfΜӧ5йsg;v_mv҅+VNll,yyyV5LBBɜ;w YflْѣG ׮] K3p?SZZJ`` Wm۶ULϞ=IJJE3Օ͛177ѳuYNNdeeIjj*˗/'''OOOĉۿ$kO :D^ТR 9z(&L븸pdܹ,Xou-IHHСC:/М9sckkK߾}w_YYIVVj 7n/;;|$.\@DD4k֌z_|3g`iiIFF~!Oǎ7nvZ\YSSS Tb…\v_%رcM8s ~)3fܧ( ۷ogܹ믿>qyfrss166ޞ Ȉ 4ѢE }E uIKKGGGj7K.߲w^5ݛ*O:۷o?/yo߾O<ǏSh?΢E8u1sL^ʜ9shҤ ӣGINN&>>*%5ХK3ǒ%KM6<*//gϞ=ТE lmm111̨ffflO[f^yFy!!!OtRtUSőfCƲ2 )//͛dddDBBjƍc2vXLMMݾ\=5Gqk2vX$֘cii+ܸqSSS-[Y9.xg橧g%//ÇkGRR'...iӆӧ3rȿq 0?G(JJJo5k[fTTT?k&ڒFnn.g&##CA޽qvviӦs5y=z4۷77jbժU5\ 6lX!ٽ{7pgbeeŁcڵrz)O?t)((DFFraM۷yR#E DDD:б[n)opB_T266Vj}qQeȑJdd֞ǻYʧ~tAqppP*++ܑtRjreÆ ʋ/X[[+zzzĉ2*++$%66VʪVs/*zR5FFFJN~"DMHJJRcccٳt^{x2.ړ]t}UtrQ<==JEyy9ZeHKKYf8GGGڵkGΝUV7ׯsU]Fjj*бcGͦ]ؘBw7j߾=&LƆFamm]eOxQ7o₳s!+)))DEEѤI\š5k(--===***y&jYj?>Aq9^Y 6mOdd$n ^zOA4lR\\LfR"11޽{( ~ཥzIR |L6'Lʕ+>}:_|%j5ؠ( 7nСC߿m2y*pkĈgӣqTVVHDDv⧟~ҌU///Hs ڵk$''w5|WꫯرcgϞ%..ccc,,,طoYYY@-pwwgΝj***}vNNN?rrrr gΜܹsjppp;;;6m3p_20o<>Crssh#($$={СC B`` :tZфƅvZ5f=z뵇'H"/sM"""?"''),,$##R7oSRSS)))QFdddPPP@TTf$e˖_|Qb.SS*7mڔ;^x-[j*҈gϞtWHNN'$663i7dU<=zX gggfffgR\\Laa!7n %%hbccݻ7o&M4ĉaiiYjڵ`jj;:tk׮t SHKKc޽:tӧg=EQ'&&,*ov?@tt4W\ۛVZ̙3Óih/輼UVѹsg:vHNxgjt`C^YKԺիWo@^P$$$p*`ee5 nݚvDjJ \)Bee%V6mKhh(sI=Jzz:_ŋW9ggg*++)--,!5|GkCF؂^JRR׮]~#77gy?'''l>((//DDDpùpjf̘aCQ/3uT֬Y_~%SN:Lz@ꐆRQ7k֌4lBaa!7oΎ͛ӢE :uꤳMk($%%QVV)VVV󸊊 222HHH 33'|KKK$yڵSNqeҨQ#ѣ } co&==)--\222HNN&&&+WPZZJϏ ܹ3~~~JL>DjUhѢ~~~mۖ6m{IDAT!DK,a̙f]^{,~'FСC ??B4h(B||fEQI"Q֭޽;ciiIӦM5x4닟!!!ѱc:?oA<>sss¸y&IIIp6mڤ)fbΝ;GBBf.޴nݺZ+2"##˚Z43sLyُC!E͙7o ,ٙٳgK̤W^`kk=nnn< 4&M?NbՋ޽{sa矣ViҤ fff rLC7gvիWYA ,,N ?2}t222ݝ,Pո+0o޼jKHHG$''RpwwLJ=z0n8:wL۶mxb!h>yw7oVVV0zhΝx/HҀT*ٳ'DGG3f̘:u*-ɓ^m۶1e*++yhٲ%昛cmm cll15 @VGaiiիquu|իW^6͛90tPΝgyfϟOƍ1c}gnܸAxx8ZSKbb"eeeTTT燑Q?W!xԩj͆唕Rhڴ)䐓üy6l~~~,LBCj{RSee%?o&ҵkW_Nhh(;wdcn߾ͦM/ɡmCOO-ZЮ];:t@ǎyd8V=SZZjՊ 6ЦMw}G۶mٳg پ};EEElܸ~_8q"{!55{VZk'pKYY=2e _uBwɌ9~ sahh^^^xxx舽= 0Ge$'= ><  `߾}ri0`&&&V9qL0 &hn͛䐝۷)--rYnJYY\z~BKIJJ"44zvѷo_w=666ꊳ}1bڴio 055q4nܘ$>233QմjՊq;}4} }g***0`+Vdyy9\|H6nHaa!%%%رc)**"==]s[FkkkLLL044d,[H݋}!(L<8;Fnd!G!uVEQ7oNNNUINN&<<0V\ 5kxWj5lڴ}q{555LJ6mDPP'###VZK///_ˋk׮D-4hAff&$%%Hbb" TTTw慴oߞ^zUkVee%$''Lvv67odggoRZZ ٸsܸqݎBGӇ3gΰqFF,uzQ HR_>,۶mrUnsss#004)((ӓ]K/ѣG@k.%&&sRQQcoo\xXq>+]t,_|6m"22777qww???ZhCnrr2O[jZUPP@JJ )))i4i5VVVakk-NNN燫!W_}}_3JG uH]A9saÆRv===uƬY(--ĉ?ggg*Z:tiӦ:J.bO.^ŋ|2999io`dd-[,++ҥK\pAqw8VvvvBQ̰ quuŅ֯_3iLMMqvv|hB( zjy=z4۷աXuzQ H(N=qќ={ &7:Gj5ٚaKETTΝ;3sLJ … {:8IyLH `LVA-$ ZmJ:u:qaʴfO1c$@&AXv9 ̝d=={YwO5<KM~'Pgg/n Ni4j?b$OkZ~6lr 7XoS}}.]l$Leee*--UQQ.r]l$&0DА﫶VvQIIJKKUXXBi޼y|H ק'OW+r`~WŸg:sr2ww߭4|ZpʔN0 Iwݻu!|>wyvgf2e/2r .T^^JKK5{lݻW&MnI/޽{+!l!IJIIQyy,X믿^\sRRR"枞tMjllT p/m8qnv/+LII zGu)owόǫJ+VN8Έ(I3g 9RPP@FCPYYYjjjRoo~WN҇~M0AUUUZx&OT*--MO֎;GΝ*99YӦMsHyyyJJJOΜ9Ny^%''+))I^W@@׿~[7oV[[y_#ڏ̙37wuu[_|^|E544(>>^YYY6mN@bH0k2ƨCTڳgsxxXҾ}D\Z[[B7zn ߯'u0)ShxxXWcc> D|܃kҤI6M>O>OvғO>IH 5ѣjmmUoo{/Ip^]veriӦ)k``@TKKݙ^rssӧ+''G999VvvfΜ|+ p1d䘾8FK4uTt x)))&|Ę^x!M%[k@.QQlc5 |[k[kq` } ``Š={D cNoo/.±.±.:t(M> 2j֬YnƘD1joov35RRR#@` 7kw|>544_9sfX6=:r4oKQYY~()))1Nk]wu+Ge;0vpf8zIOO7˳>Vo&99$''*scJJJLwwwHm۶$3m4dj233mmbW_}e*++8f޼yL8,X:uʭwih"zMyy+8fnN8{^gqnݺu%%%lTCuuzTVVx3g!Er3Ƙ?8?c}Q[XZt@Fg}fNeqs=Vdff?-{׌8sN>mLYY7frrru]7a8vvi/K졇2㘷z-n1wv&+gf͚e-Zx<cZ[[MBBY|6w^`VZ!Ez { -q >qafW_}8cnRoƍqo߾71̞=;|ʕ&== c5!uzzzL||Yf[v]wcK죏>2㘧z$&&Aw]p}#i'~_qCW^m7e|"=ȟm8<&(WkkkHY__رCTYYRnY񯵵UEEEaEEE:y߯4}[Rmm[xbcBjjj4g\RgΜQ]]nv5cedd4n2Hx- =??^XB~_7nTnn>^ss&M)S۷nt.+##Csu͝;W.{ ˜1.h߾}R#l5;"3 Q|rW? -[LTuuOWrrrSRR4,]Tݲ/Bs}!Ϝ={VgϞ$eeei٪tnV:7p~-Zh6cF"c\͛bŊeʕ|5/8^,H}zVGQcc-[Oj&L{jB_>rrrt7g?֮]+//OTTTQjhhwό,\Pc @?1^a$Fc7YuUWaLɓݱ?1^1cth#DѣG%IeeeaJKKK/KJJ4<<ÇkܹntL:U7n )[ftWkhhHGMMMa=p@X с˯$iƌ1cjjjTSSYf)++k EIInݪA@Qb/c0E`EQvv$wmjjrK-"IzCmݺUqqqZt(E/~)99Yiii[o\g577)h9smۦ;wpU^^w}W 7[4887x#|֭\qHpyE:s>,I''9eee{LZl~?xo]uU۴qF;|M/=ܣl#ϴe-YDjll땖Gyĭn:-[LV҆ ݭ5k(33Swyg]h%) Hq9|zᇵvZH6mR]]6m!ƍW[[+'s+R .mBlx- =$ZZZq8c<O~cn.]s$&&k׆}Cɓ'ͭzfٳ`1 c\]]].wuMCx>c uuuرc8qu֦|nfDctiƌӧOO?UBB-8wLOOf͚NC |8*"nB` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@XC` 5@Xo4]IENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/xyticks.png0000644001374000021030000015653112700747662027435 0ustar itpeavd00000000000000PNG  IHDRMsBIT|d pHYsaa?i IDATxyxLw{؂NTR5K(j]jiRHmբ}jOB[JKKzjo v^ͯZ$u+3gs'|960t@A(X `t,P :@A(X `t,P :@A(X `t,P :@A(X `t,P :@A(X `t,P :@A(X `t,P :@A(X `t,P :@A(X `t,P :@A(X `t,P :@A(X `t,P :@A(X `t,P :@A(X `t,P :@ALԩS52Dc@#8u|||tMQ Sʑ#:DIP͛Zp|||L,aРA:u:nݺ)66 Cc񑯯%xzzI :@A( U@FA㡠`t,P :@A(X `t,P :@A(X `t,P7ùx֯_|[EQ޼yeٌq8u.]\|9vժUդI#HO(#.\P tgɒEEQ"EK~-R'OzjEwΝ3wܙNũiӦ+W.={VgΜٳgﺽuV={Vw= .,ooo+!!mUyk)]|}}YrquQ*U_|_tڵkj֬N<͛7rʒRJ޷'$$(K,ʓ'OE;O<ʕ+CM߻wTbE}wʕ+dt,֭[jݺ<7&%K(QB%JHÄ/g}Ve˖ܹs;e\2 :vkNvUF ӑR~5jHKi: JHHPPP"""vZ_U5R%~zyyy@CAԣGkժUjԨH):x6lEjÆ ʛ7HKt,nO>Zd,Y-ZÇaÆ*\~˗t$- :p8oꫯҼyԡCӑRt@ڸqo:p8zw'h̙޽H):v7o^mܸQ 0 tt&N>@SNU>}LIQttM6`#!P)ShԨQ0a|MqRtqC6mRBLG à`̙35dkĈĉ Tl"E@BAo߾0`&Nh:NN<@kӦM6 !˖-/W^yEl6H(00P6M*VHdHյkWuE3gδl9?}p8yf/^t$2, :N?Cjݺ͛'WWWӑ̙3jذe,Yt$24 :N^ 6TXXܬR|YڼyJ*e:5A-_\oּy%Kq?TÆ u mٲEO}Zv @ Sk:JzjE&([niŊڵl68ʕ+ըQ#yyy@F֭[k׮)((tt/66V[laz; CFBCCUF /_ttoP6mLG PHqqqZv-'K%+WT@@ ,h: i@XjչsgQҽWjÆ Lodxt@hhm:Jn:ǫm۶(gjӦMLoOv]sUUdIqHSn,]TL~Lv]{l2qHstRڵkUrev^}U͙3GSMG 1T( y{{2h͜9S/^o͛7y\\\p84vX}Gj۶l6~d-_\UT1Ū\\\pB= ƍJPܹM8QsO<9s*W\*X`eϞ]Gվ}{?6V5b5.Ö(P@/V``F5GAd۷5d5*U OjڵZnjժw?~S;ꫪ\}]խ[W'NUn]5kt$RYգG5lP ޽{J9͛&O0+WNӦMSBBBͦh;wS~m5o\ݻwa:)-ݮ/B*TPxxh˖-TR7|SǎS.]4x`URE}]wÇW>}Իwo}N3sqq#Gui(ti P޽զM9rD={s^ (?\QQQ*\5k-Zȑ#i:fӧ~f͚CڻwoQ˗OK,Ѯ]4bq/ : ]q~m*..N7o֜9s]jjժڴiVXRJ2dlL777-^X>>>j޼NS?^SMǒfSvt!7NfR5{l%%%ɘZfgϮf͚i߾}z8H R6mԣG>X`yN?6m詧ҁ,Yvlٲ)88XGUfԧOU^][lI *N.\PjbŊaÆӧ>#}:xn߾&ͦ9sS:uR||H$2kJHHдi4fyyyij׮l6h[믿AСBBBTTT|򊎎֯cǎ%/w֢Et IWLK(r%/˗WrTtij.+˓'.]* 6LSN5 ItEm۶Mo~W_ƍSܹMz(k֎;aÆB z뭷4|p̙3ɝ;ԩ:uܵp?;vL۶mܹsu-IJ*uWyk)Y2ۅ5kj0`֭vڙla:7QQQ^#___q2'OjСZtjժ?k:Rq8ֶmےi_dɻ {Ŋ3G dT2@k. 8P?ڷo.]t,tU}Ǧ]cǎՈ#4x`vӱ*o޼ ֬Yt1qۧ@uQO=~WM<9S^jܸqZ~BCCUdIqfѣgiڴiѣLrPB9r( HϟW޽Sxx|Iь׸q4~x5itTշo_iɒ%j۶n޼i:dϞ]ƍҥK{nq5yd+WN˖-_~EM65͘Ǐ{jժMI;wVxx"""ԴiSř4=zSO=aÆ*UR% :Tݺuӱc4`g͛7ծ];˗OnҤ6nܨ~:{HN_Mc]i<{NZR%/hƌʟ?hF9WGՊ+2q<"##uE(::t$hٲ4lذLw<@ꡠ٥K4`UREZz6lؠJ*f f5{lUZtXo.777_~1)l6M4IWhh8txhOU\9͝;W86mdka?~I 믿nݺt%KԶmTX1կ__#:um۶9rn߾m: ʆ 2D IDATOkj۶=C*k֬Yƅ ԡCU^]SN5ǘ hӦMV7oxӑ{ァ?C(tx ǎS6mԤIɓG?K.\t4KILLT.]t-[LYd1ɨܹs_ٳg' Pz &ʕ+ :_}7zꩧo>-^X[nX4em޼Y/VbLDZ5h ֭[4i(tWnnnJHHЌ3ԹsLSETT * b ׯ_׮]h:x{{kРAc: UfTvmM0AtK˟?ri:el߾]KСC={v;t@:BA+ͦ맟~ҺuLDZ4;vLΝ3"""Tpa=䓦8F?:|8tx >իQFKva85l޼9Sw/`Q@ڋw^Zt*Q+۷bܵk?gɚ5&LիW P^zjܸF$q,ߟ.)22RIIIKR׮]UjU 6'EA<Zt(={֭[ElٲI&i۶mZf8s3Ԯ][-[Ԙ1cԱcGRYu5ڵk y׿nΝ[i!""BkҤ6l`5oޜ3 xhƍ.\^zt˩\r̩۷+K.Մ TP!)n+WJ?˖-={o߾ic 6M|jժgϞ#,xhժUS5vXuUYd1R3=}ڵKp]rEqqq)~?CzjPg͚򞐐 ݞ?5kSN=z={vӑDAnsO 6hfͪ `v]׮]b/J.Z?V7qDh6l8 SO= ?^=z4_cǎՑ#GԱmۦׯE...g=gfSlYGw.oooӑYl̘1:{fϞm:<3rqq12}ݺu*RVƎ+⋲,xd˗W={͛XJ\TJm۶c]V͛7gO|iڴiBBBLX XF/jƌX?~\V͝:.\F4tP9Rw6`!tc)]^yM4I׮]32]Neog}ic?^ժUSPPo(6b]~]ӦM32MkN=uTn]Νicṻ+44TΝSMX؊+^{M}._l:q|X:uTE*ThѢdTt@ٺu/^Ae0zh-_\+VPՍdȒ%dɢYfgU֬Yl*\ . uߍ7tȑ֭[_*>>^qOiPʖ-˿H'(TqYuYzMq hĉ4iڶmk,O8N-[*o޼Zbdb:]6luiΝjٲnܸa:,b޽VPСCٳ:w رΝ;p͛t_;޽[͚5ӵkLGaCO?m: t#~ڷoŋ[p8Կm޼Y+VPMGGZ~ۧf͚ի#'Nʕ+A +?C+WTΜ9MGriӦi֬Y9sMy ~~~ڰa~W5mTW\1 ݻW؃FA<ӧkɒ%3g*T`:SkzիW/qJڵ?ȑ#jܸLGSBTHQ)[oiС8N/K.jӦ>qI5qFEGGQFF (v9uQ曦#I.\ŹHyEFF*"""CÚ7jٲeZzn߾H-ZtGr[Nڰan޼%K_~zLǃ۷O(`qtZrBBB4ydխ[tTҥK*[_|1]n+**J מ={:uhjٲ*V).o߾}ʙ3ʔ)c: Pȑ#z饗ԡC 4tTOSNZj)ׯ_׆ vZ]VsiРAz/_>1a޽{Ujt} (ݸqC۷tSXSJ|͊wﮖ-[N:rseɓ'm6ntp_C{։'k.ʕtGRj*]|9]Dܹ3Ӊ'c[lQXXƌcǚp8C@zիkϞ=5'ܼySgΜQLLN>n>}Z%Ky{{X+"Ew|Jcǎϧ~kڵj޼80ԩSU͚5v *W\>}j֬|؃HQ9TlY-[6mtܹEEE)&&F7o޼q ߺuK|MSox }zW 4 (QB-Rf4a=t4gMG4CA<WWWy{{;m\b߹sv;_l6}W\z5k{6mw}Wy5it4oiz뫨(ӑ MPifK^^^T8ZB4glRUTQɒ%S<ӓ 9R;wT׮]%JjΟ? &h̙*R&L`:) :L-[ڵkbbbtH<.TP$Wf⢅ W;v֭[5kVӱիW5ydMWy޷?ӪQFdx5kԴiԷo_թSG]v5%%%i…=zN>={j̘1*VhTt2,XP TjR\Ro˖-Z~]˛7bcc9"۷W_UժUSO֬YwyGP߫B tp9r(>>^֭[gEժUSzʹul6͜9SS{nʕt8=zT[lѼycꫯRZL(@ ڻwor˗5kGWԩ#OOOq<<ȑ#UreEEE'4 dݺu4hշo_;Vy}t8ߴm۶B~aI5i$jժiN8W_}{||| z||4i۷O.]ɓ5f3p8ѣG'SN'""t-&&F=zЦMokʒ%XHGՠAn:5lP+VPJW߾}.\ ͦJ*A1bUT)f^@p*ͦoF͚5kKI&)22R|Zh!I߿ƍ-[z)>ՕxO>QnoʕjժUyfիe˦ 6QF#!\zUǏ״iThQXBm۶}|ҥ۶mK#Gծ][}yyyyO :r8lXgϞr.IǏ_|ٳgk֬Y8>wbbTN-[-^ܸqCٳ/T|Lc;wuu=ZC y۷O~~~})tu :Çŋu߉'^zݵKժUSddC .{<@zw^uU'OԬYR<|ˏ?h ҇~bŊ=s}ʗ/"##.#NסCUXQ%KTɒ%`?.I*U=+UTcܹʑ#:utt钜D;wCb5ydծ][ٲeӞ={ԻwoW:wSbb"##Ν;ZxuҥK,=C}UÆ ?~;vL~z!ͦnݺڵk9s\r)!!A <366V~:w\ru_9kQFʟ?~7}ٳ$饗^zHcgϞU=a 2D'N2Wڵk:|~7%&&E...ɇĤ...Zv&Lٳkٳc_~ݺut钺wJ!@Zp *hƌׯ__m۶UJ4fu-ڽIIIhBsѥKOhuҥ{x<==jjyTxq5lϓ'Zj/BϟWqAuAAA zøuz-}gjٲKZЂ gCF2U+IruuUٲeݻbŊQ5kVp.m)øx֮]T{Ng SXX]\b( - :#n#8p8P{~5S)Ȝ߯ ?~\3fP߾}-},ŋէOXB~C~]$C%>5kV=䓪X5j$UXQe˖Ͱ,YDv=~px=^Qu]Vʟ?$Ok֬\ޝx-nwDd D$QcCPTu@fQR"UjjjMUCUGM !5DDD?c<{'u:}Փzŋrqqy6Ѕ d2cǎO֭[l6kƌ4hJ.[V۷C׏?ƍk RvԿuM} ,Lc߻wO'NHǏ+!!AϬ|7o<{oo4mk/^?qGxtG*X^}U+""B&LХKR >rHC3f_]S}QbbbTpao^/N5Wbb-[Uxӻwoyyyrrww׉'4a]pA3f̰ 3z:uM6o߾0aH >|&O5jhѢE)'7iDM4ѣG5{lM:UǏWfԫW/UV-ՎX;vO:r&|}}oK.)E@V ?~\VXatS07n\ $yyyi֬Yw:u4w\h{[pp+&n:ݸq988hxzzjƌٳ~L >H~'z#G]v:zKOvv>_TPPƏŋ+((Hoʖ-իGFH} IDATF\SP!⋪_~ι);op}rέ LfltYǽ{tYM>>>|oBB;&GGG.]yɣ%K>uxAG{ 3g~ZpHfYfUX1*_3]}v)<<\eʔI)/ʔ)cd*^ԩy']2+Vd(*Uޛ#GVaaaj۶"""4c ˪j_zU;wVppzꥉ'0LUjժeYӮ]t9u(3fTR%%''k߾}ݻwʹl͛7erׯWٲe~mذA3g|rYx+*UXA`׮]S.]~^_ Y*Z-?{%..NꫯԠA}7nerJߪw`R`͛7cǎJJJ?w}7M_t`իp;w.9r>Phh6l ggg{vݻwvZo^jڴ4x`;vLUT~<@CA6f͚ʖ-[*_ۧʕ+O>yn:T&Mtaѣ믿4b.]:=? 'O-VR%-]T'O|~zuAjܸBBB4`9rD5j|}}-Yشzi۶mJLL|{5m4?^cƌy@{iÆ ر԰aC߿_SXX4zhY شz֭[ڳgS_!C[Yfz,ǚ>}맼y@ŋm۶x⏽WrssSuYݾ}[ݺuӜ9sRwΜ9۷rέr:qℚ6mUVYc`8ױcKϟիuy 0׿ڵkta]rE-Z?߿tYm۶MǏ׀f : ӣ*YJ*ƍ|:|3g|͔?;99iڴi2ھ}{NݻwղeK9;;ޭ[7f9r$> ֋YBB._ҥK?$׊-ٳ… )I% ʕ+￵h"%%%iĉ5e2԰aÔ4vX=Z R*UQF{w^!qd1 O9rsÆ ,<޽{oկ_?͞=[&IT|y^ZEy%lq /ggg=z4յ+VЍ7=z[n>|3q5lP~~~oSl6nݺZb/^Ǐkʑ#^}U{4i"WWGEZ~_.'wYUVMso&wwT?_f5k cǎ)GEE`j߾-tu!]իu'vըQCڶm\d/|` OX+믿*{*X`k7nŋSڵkY߿m۶)SfY^ҥK+ :xVZbŊP˧kڽ{zj{{j׮'Oo߾ڴiS)K AA+Wօ 4tP%&&SNy0 }:Wdd̙[S5Q$5bK:{֮]XIRBRzU|y988̙3)eʕ+):::x*^+>&Lbʔ)JLLի奤$:uJ!!! ѡC4g]vkϟRk׮}ŕ?~)11QeʔQF (d7nճgOyyyIe˦RJTRjժ?~EDDΝ;*Z+&'7̙3ZzE? YL`JNN֠A>ɤ^xA/3>LmڴQr<`㢢4c Kcٺz>S(ؼ/R`oݺ@u҅ :6ڵk R>}/_>1uTݹsG#G(ذI&N QQQkȐ!ʝ;EQ1.]Ҝ9sԿɓ"s3FٳE7:x6rvvV߾}-2#Gd͚5K<tlȅ 4o<"s9RҥE :6$00PrR޽-2}zj-ZH<+؈H͟?_ʕ+E1b|}}ծ];tl;wn"رC[lѪU-[6tlիW7hРAʙ3go65|p+jڴitlDi"?͛e2,2x^x"""ԩS' 4衅[n^J(\+vܹsUlt@fBA:tHTBt?$ 6L/yuUիWOl J*(X999YSZWhhJ.-t̄;tʕ+lٲ H1WXXx xFAJHnqwVx:tԡCTH͛(%,,L2: 6 Op/[L&Q tlw :VҥKEDDPxt?jA߸q+AA M 6:3KLLUvm :Anݒbcc3gN0:6kݺ*Vl6֭Ν;5i$e˖8, :VN&MҞ={O?'D 4HuQzM`jԨ! 2DFI1w\8qB&M2: 6/ti͛7(3F|ʕ+gtl秎;jرFG$*>>j`(ؐjժի9Ξ=iӦi*PY,('''IR||9.777ʕː ? (gΜd 3bOA{!f 0@~~~ԩ!ȬXA}ڵڵk6mڤlٲ̊tl$c zbb e_4:2V!F_tIΝӽ{TH)*T .B =U@988dxVlbdA/ZoEFF… :.\uV?^oNd2N: x :6C\]]'??G֭[):tmۦ:ud`Rl y=n8_|QuUBM>XX= :6q[CCC &dtG2Lӧu `(ؐG'%%K.JNN֨Q_Zn|)(((X5 :6d2>}t߿_7oVҥձcGݻwϠ9::꣏>… b >֊qrrJuHӧ5b[իWעEq2?Xoբ`cn6խ[7yzz+j7n}tImܸ(X% :6柂~e 0@:tPݺuSAӧOב#GyfW_Ռ3U`cwʞ=Lm߾]ΪRJ'|eCA899iÆ ZjfΜ)ww }Q{=yyyi̙FGP1x5j-[>= ,PLL/G޽-Z7oBAƸUgϖdz牉2eZnEwD}7FGP1ÇU`|劌ԠA28ɟ?Zj3g*))8X :6RJVCf65qDկ__ʕdOO>:{֯_otl߿(]vM׮]իWSWTTڵkO?[՟ƍjz74c 5n8X :> IDAThj޼bccS"yzzS~~~2;v4iҤt)'Nkz+cYZ>}ԦMlٲFptMzѣGJ𐋋CXz-Ii.{oUVۊ%5o\ ̙35o<`8 :СCjР*WUV驮ի$KI?w$Du}F˞=zq)00Ъ8$4:q֭+[?z꥙3gj8pfshҤ+c>F֭``8 :ipժUKyզM\GIϞ=FUVСCϕ#yxxM65k߿ot EA9ߪ]L&nݪ|i(J(1cƤ)KFӧΟ?kCQxnRu mݺU JqZ5j(]VHLVBUVM3f0: ըQ#>>>;^={ѣ_ð,SHNNVݵtR-_\u͐ytWWW_(˖-j̘17os` (qDݻW{nM:5yZSNUPPΞ=+hrJg QxC߫}裏?~EFFZlWWWiF}ѣui0NNN޽BBBg;UpahB۶mSrrrf PxDkN+VвeԺuk#ir>5vXyzz{n2koѥK4e;vLkV2et̙ QjӦ~'XB-Z0:f&Mzlٲ/gΜꫯuV-Y=N}qԬY3ڵ*@zթSGG֭[o4c uQ^^^FIQreG#Gŋ c֭[gh eDGGVZUre#=Ғ%KtU 0(ر ?CժUc; ӠxժUKgΜ/W^yHI&q*UqpIIl͚5ӶmctҌN>j̙*_qŋ:~Znmtݍ&M޽{ 6: iFAd z~>( e4jHNѣGX&I%JHۚfZAM*66V[n5: iBAd5k֔M<*WУtM*eʔ/62Un]](OTD ,dU[ܥns_nsF?ԕ+WX%JPddǏl&M6Ս7sN(,A?lt*Qtܹ43gjѢEںu9:,/""BESs+H"ls4{˧UjڵڵqSN'McO> *X̙3k; &I͚5ӊ+4c ٱ=t@ӨQ# >\rqq1:C.\Xٳgɓ'Un4*OOOEFF˺tCBCCu%Ĥ>W\)eСCj߾}XJӦM5m4ݻWqxft@Ӹqch˖-jڴq^rP\hh#Gy{{}d/_5kLPJyxx觟~l_Ժu묶Kw{hh...*YJ,3RlԤI㏚0a6\,QFZ~HQuI-[6RYN:̙3ڸqQxft@ԸqcEEE?0:#(QBOVrrsqQfc2oRJ>}Qxft@TreyyyiݺuFGy$=Fhh$饗^JXVd2o߾)PY6lk>3ŋe2ҴŋzTZfײeKϟ_3f0: τȲ7n'NFGyݻw5n8nZ ~q9=+qppP=wƍFQYV͚5쬵kӥK4f̘4e>HIII?Qxjt@:uX]AաC*Uǹq.]V%Sm۶լYt}T(,qڳg^jtf5jԨ4qYq]ϫA1c¬$ : kРL&֯_otI۷_K.*VX SӴ oʗ/s޽{8pʖ-M6Z`N>mtDR7:Fe˦8HO;whĈiԩSrww]nݺ[n۷_~ъ+,oooըQC5k;C^x,,@Ҕ)S쬎;E/GPBie˖ztHgۜUV-?׵vZ5jH{UvT@Kݻ֬Yhc : ˺qㆾ+KFє)St= :4]{խ[7 6L.]J13}BCCu-]TUTQpp6m*FGd!t@5sL%''o߾FGQTTM޽{+6n``ԯ_t33R֭5o<:uJ;wTRR޽kt4@BAdIoյkWyxxG'N$ 80]ussӔ)Sb mڴ)]̒$I 68 +y 0:\ OK۶m5kGO3HIt@ƢMs̑DFFCNNNFGd!t@h"]rE6:Ο?9s( @y[vy)R,RVXӧOۣ5dʕ9::jΜ9ڹs-ZdlYdd$(,#99Y_*T`t;VS=2l5j} PTTTkKf3[ 6(,,*Võxb 6L6 -[6]~]}kKn޼;wpt@`65n8UZUժU3,Gll>sk*Zv!>}ZݺuSŵvZ=Z;wΐm%pF #رC ?11Q_ƌhKÆ E=ztRkرjym@U|yիW/C5Zj 'Og}EZtސ7N? ,)S?*22Rʟ?QY ۷O[ne22l;vhڻw?\r?иqŋkܹСray38\Rʖ-qY 2@,YR͛7ϐ/wޑ$ڰaʹlUF UREgΜђ%Ktquڕrn޼uj߾}3gqY=zTW֐!C,"zYuA˗ɓ'rJٳGիW PZtMZJaaaj׮(^wyGGUfM# ~s2 &PBj߾~ƍYfMgV.]={voy䑃n*ww 339wj׮;whΝ3$Ǚ3g `=XAdZgϞ?988qqq Tŵ`9R'OT3KRe24 38v옪Vk݆sI=a`=(L/$)SF65|ht)1B9sLyڷo %&&fVɣݻwxeINN(d2^zʛ7 *z) @~߯اl6kSnTF ;vLӦM?œ}'xV\ih[2h 988~S Ͳk.]r QVPPbccKSNrttԚ5kԹsgʕ+|||ԤI1B˖-SXXݻj]v7TfThQ[ʔ)SRПB94p@ 0@GVb ɱrJݺuK 4?(VUO>Q秗^zI~~~)_ŋmM׮]5n8M8Q_}UϿl2uM 6T…3|~u|rppЁ۷$GGG |"Ed2 Nn gggOcƌȑ#3>p٬qiȑj߾,X#Gd={г ٬k׮-oߖ$ʕK/+^^^YĨhѢҥ&OlԵkW}w4bL&Y@ff2%///լY3u٬ϧ*!!!u]IR޼yɓ'?p~f;wnG'OСC/_>uu5kL{?6mXl.ޓnŘL&)RD8p-Z(""B;wdҍ7tE%''+ɤiӦYl'N7ѣG/PݻwOWֻ+ooo-]T۷׎;ʕ+ս{w)&&&MNNզM)[lڳg@*TH͚5ӵk4{l]|Y/omՏKoM4QLL-[.]ǫdɒU:kϞ=*QD:dF܃@|rM6M{쑻}uYe˖5:aBBBԼys)SF 6|1߿7jڰaԲeK-ZHUT҆@2|uMkʕ+հaCȑXڹs6lҥK+88;}-\P.]R 4sLiFyPj@fDAvuY?kԨ<<2Ɔ ?֬YXѕ?e˖RV^\r=u7oʕ+xb޽[j۶v#ύ6ٳڵCoJA߹s7nDUTIwĉ5~xرCnnn~Ї~(GGGUPAW\ѸqTvmmذA:vS˖-j̙sI/VΝոqcOI-[hZvUV--YDM4K%dVY~8YḦQ!FNXUFcFQEQ=5[R-E+Fmk#_4FukJ͛񸏇{>xsFL&\R)^իWOަw޲ӑ#G={hѢE:t&Lջwoyxxڼy9cjӦMZ`Aj"^PTTz-+WN?퍎d)Scǎԩ,Yl6+""Bոqc=zTƍٳg~zk׎r :sfY&Ivvv)^upiFٳgב#G;u )GwMfXW\QÆ 3gNZJFG2lְaԿ 4Hs}7oԄ TlYUXQ/Vo>/^Ν;k׮Ν;*Yc.P\\\?::Z?s5nX7oԎ;y3[^zi?~ q۷Kj֬ڇ @ &l6:>͟?_W\ѝ;wThQC_}U6III*U2eʤXSL}&-*THO?GDDbŊMȜ$zw_HO~:w1ch2ǽ{zj5nX3g~޽;v$]v)>>^S:uTBICWRRSggg={>~.\sΥ-ZE  IDATx?PXX˳ :ؠY%%%ĉJJJRSlcggriŊرc2L-[6+VLOiʔ)T~zuU]vհaReDo^?<==5|UZƸvܙ\wܩ8vښ:uԩ#OOOC׾m6լY3U~ԗSd\@޼ye6֭[:}˗JGg-Z7T```K٬>H>}e˦5jO>ݻwu8kܸqWr̩ڵkkruuĉuA]tIK.UϞ=ꫯR޽ݻwsy;AtgϞrwwrέ'N/@IRٲeٳgXbjԨn߾ɓ')?TP!o^}$Az饗4j(ȑC5kԥK4bݼyS:u27OVFTti-^8U{ɓ'kĈZrϟի+!!A{M>Cm6*{ԩr=Fڳg)CP srr߿^|4c u=+Wo߾߿cղdɢCjԨQ)4L)\:;;kƍݻ:wMc 7|SYfժU*i;vl#4h 5iD;wV͚5UfM߿_nݒ^{59Ruԑ?K<<<\YfUٲeȀX$ҹ89sFrʥŋwѩS%K)Rҍ7tʕKOu jYbcc+**J۷oXj~m}iӦ_UUNUTI)4nXqqqڰaCͿu x"''',Yuqqy39sL^QJLLTvtmٲ%պuki}+4ң$_~FGdPtҙ\R+VPʕŋuyy{{B ruu}C~95h@ TppEwneoo*UAQHG{ ,m6Fd`t٬:(svA$yxxYf){UmETTΜ9Ccoڵk+66Vk֬ѶmTNK MQ@=*Wϟ/c߿_M6UժUuyOڳg6l#:GGG*UJ$լYSPVEyǎS6mH?ռys9&P@(_|rAٳk޼y駟ejڵw)uQKΝ;Gm۶OC UQ@(_>p͛7סCFW^չsW^ц 4m48qB]tAG@q0:ʗ/wɓLK/_~E3gzj]tIYf={٠ Π4`%_w&I={Ծ}TJ 2DN) ʢE^hܹs_ ,Y#F({/4' <- GAi4S|y?^W^5: V̓ #1k4at?)S&/ʙ3نH# f2fClׅ T@c邳"##at(Tw]psss@FA HV`w27o*44Tׅ -[6-[VmڴOJJRhhvء]ח#?}.]~MnnnUz,}XK܃@6m4O*P_ϫH"ڴi+_}U8qBr咻Μ9[n[n5kVmg͚}*G*WΞ='OO?Sj&5jHǎSLL>>z :6ʕ+ZvSmo+{y˖-zj]zU...O̙3zה#G*w)>V5|u1}o*;{y{gʔ)˗O\ܹs[2gάM6=TΥ?ϮL&/_>nnnrwwWddErq;xȖ-[(ww]ϧ˪Wi&ϟ͛WfYJ~LL~w˗@:t26m[^^^rssٳg5w\m۶M{Nqy{ァ5k()))+**J}պuRᡆ J РAʕ+ܹsc̙SG .Ԏ;믿ѢcQQQ۶mSpp/^ٳ[lܛ7ojРAjݺԩcqb ϟ_[踣G֭[_Zt\2: :6jڵz7e2,6ѣG5}t :T ظM:{9 ZlL٬>HEр,6.`֭[';;;͛zjeʔϓ]zUYfMrqqI񳳳E@zGA[NUVEƋUոqc[JHHH~׾}tmI8fͪ?XHV+ :6&>>^6m-6_|h*UJUVՁt=IRzK򒛛tmݾ}[wI?9rΟ?oWtl̎;tMᅲ6m[*TP9\]]{͛߿*UdWtl̺u榊+Zl={(srqqؘ!, @zDAƬ]V 4lsX{n3U =aTlȅ ~>^-5ٳG޲7: `C6l ɤ7x(Oe_(ؐkתbŊʓ'Qի:}4 :6"11Q6lHWK :`#vڥׯ[jiϞ=ʙ3/ntn:ʕK+W6:Sypd2: VXnׯ/={py;CA\rEwN7_pAϟg8 ظqfs),(؀kת|z饗TvޭyPBFGjPH璒~tx5?g8tڵkr劊)btb6{n?(snnnz$lt'ZnbbbTfM`U(؀~iϞ= 7:cݻwO}QݺuU^=`U(؀7|SLbt?~5c ?(;;;W:}q)**J>yzzCAF{ʑ#+ʟ?jtݻ+((H7o4:N ˗/׺u4}t9;;DAKwռy󌎒۷7nMEA,XPZӕhtIҘ1cӧFAOOʕ+#Ghʔ)6l-jt5j5٬={Xb8pYH(ؠvi֭JHH0,… Z2e2,(Cq6mڨ~d `n߾Y6aI&Ƙ@2ݻW3gԗ_~)wwwC2qtmѣʔ)>}gAu=((Hwֶm 3 # +W4x`uY5jHӹtl>v)666Mp6ʛ7o$$,YR%JPɒ%_Ewߎؠ۷oXbi:gHH^'Nxm۶M׽{$|bŊK3f̐kZQAv{XXh"c$777z)>KJJҹst>{l-[VC h+ :6Q… jݺ.]QFiiNPz$IΝO?Tik"qؠ'|@=zRumذX :6}ȑڶm/^cǪhѢׯfa+W *hنeP1qqqK.k֬Q@@L2iҤIڰa~rL&u]Vҹs `cܹ#Iʚ5աC5nX|I6M4Qկ_?Uڵ2`-(ؘ۷oKԺuke͚U ,7L/٨ʖ-ڶms*!!X :6AAPDD.]G믲W :b ~Ο?5kQ1 Ν;5i$U\m^*uMi1///h֬Yhtl̃ުU+ی7N5jT&wݻw׺ut`]|YQQQrpp+WgL2ӧƍ'4c 9Ry!wyGWPPƍgt AA y~Sm*00eQɣӧC Q޼yկ_/-Co4rH9:: 4GA }֭|}}5i$L&+!!A )bR IDATjС*YE Ν;d͟?_8"޽f̘+WEF QHIII>|ԥK͜97nX7oԀTdI[ϝl6k*_:t㤖e˪z5k!Hݻzw &hܹt w@@6mwyG~ ĉeoo㤦ݻkӦM2: i@*|֭UV駟~'|?`gg _V&Mt2oL2sZ`޽kt甘ÇaÆ\ۧjժZbo?umР._ H" PR>L韬[n~.]jtpEկ__ի9ݵb Cm߾]Jy0իWOۧڵkKԪU+9s Zjiԩ:s"""ԧO߿_-[TuI ~M*5kV Q(>^ PڵմiTd2iԩ:rΝϟs_۷oWUN4BA"""TbEmٲE8qHsձc4ydL4bŊرׯɜ;wn 8P'OPmݺՐ,X f͚5KժU"""ԬY3c7nhȑԩtݻwOcǎMyNڵSB?EA@ҭ[Ԯ];C]vնmThQc=V@@bcc5nܸ4^Ґ!CW_i>ߙL& ^t@FA@Rfʹj*-^X_2edt:uꔦMO?T 0$C]7~~~:wctI.\PǎզM<>Lyр ː9sfM8QWֆ  !Irέ˗AA@Rҥitm6-]Trqq14K˖-kcAM45 :9rObŊj߾qٳgy:vX? KtU<֢E{nMX$*ŊSr|rl8< :Sti͜9RĉZx|||~oɟ˗/.T.""BEU\^8%iԩqx" :܌K0iʖ-ܹ'Nرcɯ;vo%IYd+]vY7oѣGk˖-jРqx" :`%#GVZyXltmfL'44Tʖ-$E^^^DEGG(ǎӯ˗/'oYRKٲeUX1t@@Ao/t٬;w<3fBCCզM'nkooEhѢjذaϮ]ǏԩSjԨseIM&I~~~Zpeooot$U+[BqxeΝ;'__jժ]vVw~~~tvit?.]jv%I^z$I5kִH&kVZ5*THAAAFG(k׮iȐ!jѢ ,ㄅlٲruu`:dgg޽{~HrkEA~7)))() 4H_h==ڵ4k,Xtf͚?Əg~%$$D|Ə <8.\ɓ'3TAϕ+:u@ݻw8+s玺vZjk׮FIv=u]իWWn^h[J^{5KDK7˗/kFG_QuY>}Zsy\aaa*Q^z% KJ,zKSLl6:d=@;wԩS5vX/^8Ɏ=/B}J.ㅆf_~:xBBB#QեKUTIq%%%[n*Z ]vMΰnݺ*SF]v)>>H`tﯓ'Oj޽rp_sUxxBBB9sf9sf\0a|}}#Gծ][#G͛kt\@c2R 9EDDbŊڻwTZ5ݽ{Wrrr2:RVZ),,Lruuظׯ_WbԶm[͘1bg:p0]vM񑯯jժ5j({fMt@5eEDDh޼yVUW\e˖iڴi-ҟ(P@cǎ5:N Æ ӵk(ɔ*sdɒEG֏?{d2Dʗ/ot 29s(,,LAAArvv6:N]v髯رcUHTcǎSu[rE :Km2gjРA֭ԩctdڵG| ƍiӦTXCA?v옡Rafu]ٳgׄ ɓua͝;7͞ojժϔ&sgP ( ?֮]3g*GFǑ$]zU_~F~飳L&Ə{jٲei6oze }֭H]t@peW4ibh٬;vޓ֭[kiW5СCwѭ[ -"## ( O>Ӵi p-͚5K^^^^mۦ1cܹsZ`\\\4ϝ;w4o>}@TP!XBUVMŋ%I3,êUTBYܼyS={T5;ټײe4sL+۷v*4ݻwl2͚5K۷oW|Իwou5f tΠ߽{W6m|}8iׯ_… wڰaReSNO?Uվ}{999iɒ%رcӼ;vL{=9;;kҥ:{)Oŋrpp!oٲEz 68i օ uVXB+VЌ3={v5lPM6UF3g#11QfΜ+Gر>CyzzZh|r͚5Krss|]Di\tI哝16V^bŊhѢHtsrrRzT^=M6MԊ+rJkNUfԴiӧ>|EiΜ9:{*U ;rvvN݃V￯~P͕)S&C؊H.o7ZzX$lL&/_^˗׈#t9ZJ+Vշo_+W.WX1E)2 ̙3|r9::m۶UR%OQQQUZ5{fYÇҥK5uTC20:N>}(00P_zeXUVArrr2, mPxGGGծ][kɓuqʕ`?۫cǎ6n]bbu+((H]t1,˥Kk.Ӱ %}_nttcȐ!ڱcBCCPݹsG76: PAѣܹ͛sL2޽{:uKEfQFݻ8q .2ev(بQFɓ?W[/ e˖2evڥxZɤQF)$$D!!!du6l۷+((*H&3_SDD*V{8x ׮]p޽[S,YTreըQC5jPjՔ+W.l6RJʚ5BBBҴ _zU 6ǵfըQ#s@\]]ոq;?>q$G"5%Njӑ#Gy{ruuÊ2:Ol 4H3foã˲XbŊ?8{OYf)99Y;w֌3Ըq'bG|!V0k]%:tHZRٲeqF/_5hǎ9s,Y"E^[o%ooX5QG@JJJRxxmuQ9.\EرcrwwW@@:tc%ĉZf?"Ev޽r7o>E]vj֬m뉍UxxΜ9e˪Ejܸq>W\Ѷmt!]xQŋW:uԭ[/>ŋu)/^\Wr,ꫯ__.,i׮]j۶|||n:.]KJJҼy4{lGǏ׫bŊ=0~cٌnoxx)Vquu5j2+W6NNNfҥ>G66͸5j~l6oN>c8SBSpadf3ÇU'|b *dʕ+glW^eʔ1j2^^^f???s̙\Ξ=.\ظڵk+ns,**H2QQQܸqv_t9yfn7nlRSS?;;DDD^zlBCC͖-[LvvvgotnVZerÇ 1/_v'&&D3g4_~_m ,0vt)ǘ/qww7ю#Gf6lh;)TiҤ~_~nM69bbbs̳pBcM޽soٲvŤ9ڏ?n W^,Z˱+WWWWӪU۹t钙0a30a駟j|F@zڵ)^III]4o-Zf3oF~DK.l63s}kl69MZr J*&33^ a222LMB.Dz/^l *dtoرÄbze"""jǛKPllΜ9؍7zjuQŋŋp9K$IDAT}9IO~Ϊ\nhVvs=}l6|}}:իWu%=3kϞ=ٳ *D;vL`M ղe˴duڵKsgϞ Ւ%Kس5mTG}gjjڴ);otN~i=Z}tssׯKmڴ%IEջᆱw}c8qB[lQhhdɒnn:[.\PJJRRRTD =z5yd.]Z?5rHmVmڴ5Fdd._ .hܹ*Rƌ8-&5lP{$*UJ}xy`޽֬YKcǎ]%M2EC QnEddsN*U*<)_0`Zh2eرc7n^~el6[W\t/ 4֭[O?T<<<4hРێPkюU[ .{1z…駟dٔ%JHFD :ԱjרQ#vޑ#Gj۶mn^H>}ǯ\"c>CmVvRFF}TΝ໋]jƍ W۶m $1hر9r qs|޽!1t`UIIIYH5nX%JЩSTʒ222k,Kڸq֮]M8n:uYԩtRȑ#:wz)eff*((HΝӤI1B.]Ҟ={cW*33S5kM1c8VgϞZ`KKKSժUUzuرρ(=sF~^z%mٲE~BBB U~;*\p{5۷OΝ;uvUZU _q~I~W=:xzg^-ZEhKMMͷPTfggZj*\mWnޘkɒ%Z`ڵkwy֭9sh{7U^=G$թS'Gʕ+DY6nܨ/K5jԐ;jҤIWCڽ{V^͛?9.]=z(++K˖-ӢEŋa<22RPff<<< /hȐ! R r\_9B)rP xvnOtT^Z^^^搐m߾]%DD~iw%i׿0u^pN<>VlYI?*U8O>+Wcfggk֭rwwwU\9jǎvluUٳGu}~guAڵkդI>~PuUoz^'NԀzwJ*)((H}QPPjժΎnnwg9;;8@^"oS T^=.]Zqqqu9M>oԨQjԨvѣGE&LP\\N7~x͘1C 6Tzzf͚cǭ\R'NP``\\\n:}jժ8֭FzK7nP@@N8Çf9vN:qƪ[J*SNi:pyǝC۷~medd4bĈ<wԶm[EGGk zsZJݺuSΝ5|*TH5p@_^sq\ԺuU۶m UX{ݻWuȥ2dSHc?˗73fwʕvcLѢEرcsyWr۟$G߅ … ;.\ 0\z5ܑsmMJ̿\󻹹3W̝;ה*U1nRٳEEEI&**p bŊ]v˜k׮5...K.&###+V2eʘ˛ ggg#xxxVZlڴɤKyg1,2c]Wnž%K}LU^+>>^u>'.]Rbbʖ- *:uJ)))|=>cvQतu:z6lؠz=97nܨ:($$Dwկ_?>|X 6t׬Y3OnWo>?׿Էo<޸~%3n nU>}]tvvVڵ? FrrBBB͛7wPo>5jH~~~h[l٢;*88XK,c8kʕ=߿_u8#$))I-[ӧe˖iӦiذaȐtssf͚iӦj֬y;[}j֬k={xt ^s%hB+_rE/Zn^y%$$hРAW3f(&&x۷]vzlٲ'r{^z'𰰂#k׮:rۧZjݳΝ;ճgOiܹ tm;wTDD"""4x`ݸqCe˖U&Mn:5h@Dž1F{믿^Х\ ѥKIҫÇ߱_vv>c5iD+VԡC-VZiرڹsRRRa:wڴi+V&;s.^t)'GhJOOW``&N}.^6mwՈ#J*jٲƌH-YOxݻW|A@r[բE իEk֬сTNmذ!OƾqΝ+??? 2D!!!'s@׵khթSG!!!1b222~טZxjԨ^{M 4Џ?JUVWA@_riڵ?~&M_|Q=1F+VP@@z)___8p@K,qUJ榘InװaôsN%''+ @ ,mڴI 6TNTtiEFFjժU ȏ@#|e3(666G{ztuQ{/\ܹS-ZP˖-%I6mҖ-[ԨQ|]+VX1͟?_ҥK(Iծ];)99Y+VЮ]?) |ۀ~K>}tAyxxaÆjٲ{9?~\/աCl|ȢEJJJҥKW;wԐ!C9sѣv x*eѢEٳ뱱c?WWW? n6w4t\]]UZ5:B@^;?]Qjjj;/Y֯_ϟ xٌ1<Ο?///.x)&&F*U*RyCΟ?tL2sxL6X 1k<ݫ[ԩSTPPsՎ;tqbŊjݺo;3g~%''AYkom6999UVjӦmEGGk:{ʕ+կ_?W,-^X޽{Xb`mlcCZz<<#/_^:vN>kɎ~/^TuQM{쑻֬Ys@[xԬYSk֬ѕ+W~ICڵk5iҤ}̙$%$$~Ѕ ?Yf͛v:v3fhw?,,L/k.EEE>̙3zjG8;Vmڴɓ'qF8qB=zԩS;f=zT˖-޽{^2dHs,:>H[~v]ƍ{-IM4wwww 6LEGG;=<<7|SuԹf͒^{5GoRJiَ#GH#gggG1:|pJRNmj֬Y~<<v\]]rϾ'Nfs5\ … +W>pXKOO~N:(00Pz?t"&I_FjMKK$-Z4ױ[ҧD?X.\РAkڴi9έ\ϟnݺ9.8;;>S-~WX `a*R=˗/+$$Dnnn WBW\Y))):֯_tիWOG}zoح[}~5lPuQ\RgΜQ8wӟ6mh߾}5jԨ+b W_}u_}+VTlRھ}*Tps+bŊ)88XWVŊ5qݏҥKKRp}KRRl6J*%I/-[iӦ$UPA{^Kx:q> VVtEDD-_J,rrwwVժUZkזbbb$I7nЉ'ԫW\chܹ:vw3׮]S6mu֩f͚t~ttsl6nZ6mr|]3ݻslȑC..@guڵ$.vΝ$3k׎#JDGGA޽{sٳ:w\˛6mҹs9ݕ7o^] n`\WWWeϞ=RhQ=rqiFe˖W_}_TjذN< 6\r"E޽E>66V2dPlْ,ٲecM߽{ULz@AAbbbԴiS8p@֭K("C *T * ~M//QYfuʸt,Ν;jٲvء5k֨rʦ#%i޽[-5kt$R :`EDDhժU 0)ISݺuUP!YF>>>#PxuY+WԲeTn]ӑtթSGڵk={vӑH(XnW=`-X@76)IR:u7o^Oʑ#HZt,p_~o4k,nt$>|XAAAʕ+֭[9s@FA"{=}駚6m:ud:R= eϞ]֭S\LG s1q飏>ҤIԣGqt1[ׯWܹMG M`'N5vXt$?~\AAA'OӑH3(6m4 8P!!!:t8I:qℂ)S&EDD(_|#P0hٳqƙ'O*((HZ~|}}MG ͡`ȢEԥKOdLGzKAAAlPLG M(rJuA۷״i,[O> 9mذA 4 4Ojݺ6mYft:{ԩXmܸQ 6 4EEEySfͷs)((Hoֆ THӑH4jź}f͚ 2Pԩ7ojƍzgLG ]Daaa_re:C]pAuյk״a+V챟p(**JǎSttl6[%YPB)[ :Nr)m޼Ys1.^uڰaJ(}޽SNرc:~?ם̙3 fPpC͚53QQQzuEmذA>\@wԩS$777.\XŊ:vgyFt$,,LM6(\rE޽{ϫcǎ:~\pooo+VLŊS*UTX^`Ap(22R͛7xt`4zhQ}v۷O VlTX1jJ׀⢱cRCA _CFm:eǫk׮;wΝ`ӑ0 0@4h\]]5rHӑW.]4o<94v " >t$c/SMG8 :N4x`kСrqqСCMGrxk WXXڵkg:@A{=v 6L2dHNs97oP0`ذaWHHV:u꘎չsg͟?_aaaj۶HXW#F9b:Jӫ+<>>z)r>|nt$,Aiy z\\:uEijժHX`PZ݂~/^r#b :-ݺuUvmEEEiO%SL`t IGqv횊-~M6mn2dȐ?߿.[lZH{xw}ٲe nܸDիWzʕ+?]rEqqq ׬Y3-[L6K P0(~?&///yyy`xáEGG+""B;vԤI4`H 9$|||k zTTN[n`*klʜ9|}}+w?@`n޼h wR;իW^UΞ=넄jժj۶.]d:ɆA>>>fiҥ:wVHgĴwww͟?_nҫHm(- ~ (QB۶mS-sN*00PK,qV\(X̙իW+44tmAOj?Se˖jԨ~'ȑC/_>mܸQM6U֭5n89嶂 *$$DCՖ-[LQ0(-v] R^Էo_-\Pp9RÆ SNtmeѣG+ @ڵŋMP0a[o߾:?֤I4qD<-fWxx,YuݻNnnnn Wll:vTAYf_|Y 4з~E_~<-[Tu1ƦX^+ռyvZ}(.OOOEGGĉ n:jꑟo߾ڽ{.]*OOLlM5rHEDD`6m$ݹsG۶mSӦMӴi_<Қ#FvСΟ?o:aZl *۷dɒM6wիu떂)U͓Po:aj׮֯_ܹs?N<֭[F8qb &L=ͫpmذAG6f:1nR驅 =NAAA5jF@իWt$ ͛~_7n<3cƌj׮2ed:$pk׮:r䈶o߮9sd96oެW^yE{쑯H+ : M:v옦MK.=ty֭|95JZh!Wp},Xŋ|FXΝ^Zn6ީiʝ;wq)k֬zg%Kyyy)w yxxȑ#0`Zj }'Ɗʕ+5tP >NÖʕKWPPF9GAٳ;jrNg}VVի5`UXQݻwט1c:p7Pr;mԬF7n 5jaÆ#$H.\Ν;N:ʕ+vޭ>(Y5j]&LPxxJ(ɓ'+666YIfS>}w^͜9)c5jN:鯿2$QnW_}RJiʕ7lٲ)6맣G}0`ʗ/~!Ƽߐ!CԣGu]?SL\\\4{leΜY۷w*<. : Uڻwս{w5kLV׮]✷\r/Pddͫ q:|pkgaÆjݺvޝ9rЂ c :tHUn޼w}W~~~ֆ 4c cP֯_%K*[MWҥըQ#>>_7@ZEA'ẅ́-[6}GرRN8AiѢEz駟rʦc%+9rDGUddbcc߫J*c&WO?f\r LX ,h:&Utx|8L>#a xTTdnE7nTӦMSNH._&Mh޽Z|^|EӑбcǴe˖9 .)S&}q7@Zv*;vP߾}?UV UѢEMr?C׮]'|b:#˞=֮]6mڨqƚ7oZnm:Vl*^/^{Mtmݺ5/X@qqqQ@@լY3.]lx@׿;{:wjժ֭[ŋM9ߵk~mu]]t1xzzoU֭նm[M>t;wnhB&L/h_^ PllƍU&&&F'Nԇ~(M>]ݺuhNs%jJʕɓMy"3ggϮ7|S.]RHHO<== I7Xb3f>3i[)ph*S}CGUU9+7nhʔ)HOESLѨQ4tP 0@vt,ʞ=BBB4}t=zt@@A={(((Hmڴs=}i„ TVG֚5k… l6F?\'OVΝk:S[yѰaLGt@pႺw.???]pA?V\g}t4#V\ѣGk̘1_8ɪgϞ ׂ ԢE ݺut$ѣpBܹt@*GA$wj„ *Q-ZO>D4h`:1ǏWN/+$$tѮ];\RjРMGrΝ;kOHC+WTٲe5h uQGU>}n:1nR˖-#G͞=;M?~Zn8Zjܹs#9>CEDD4O 9p^z%*T~7M:U9s4(á={ȑ#ZdI^͛u%رc#9E&M._>}|:v옖/_kתlٲY5{l}嗪P8NSLmݺUnnn of:Rl?~ݫ0qgD9s>߿_͚5K~T飷zK;v4 .-[@U6ol:R^ZhaÆۦR! :౬]V?-Zȑ#4h2fk IDATh:e\xQ[VJ4i$qɕ+֯_+QF{H)>_/t@*DA>t KڼymA:B HUVٳյkWӑEA<+UV5j:t 2d)nnnzj*'ds玮^$pڵkIC1c{llv{~UTQ۶m5bt$QOdԨQ*Wf̘=zc9OeCܽ{Wk׮Ր!Ce̘QsVܹ9v_-\/+7nJ.)Sh,x"=5fuӜӳ5JVҥ:-[t 5n8ٞENLo/=z?TNk:b8;9RΝӗ_~i: rqq12}ʗ/*TF%OOOꫲ,xb%KTΝ֭[Xʗ/-[8}UVQFV#G͞=[ׯWhh8u%M:t pǏСCjԨSţ[ aÆiΝ,x*E믿XuNe_|ic3F+VTpp0o (6tPݸqC'O62&Oٳgkʔ)N=իUF e͚ic񹻻+,,LϟW޽MX (7|S\b:q+WԀ;_wڸnޞJ/^\SNլYn:(d1dݽ{W'N4Ũ{*88XM6G}Ա7lؠ۷oSSN:Cz70HyU޽'(**t#Ν;&MD7o\]]:իUhQ*Uʩl6}ʞ=ڵk˗Ê5 `l}]II/&&F͚5S||VX!OOOp88Z*ɓjѢJ*̙3tjѢBBB4{lرCW^5L9sTf4m4?>EݮΝ;kڴi ։'԰aCWZ5::C:ttԩ˗OKVRҥK+Ut@ٴiϟ0b-^XK,QJdȐ!2dȠӧ_Tƌlʛ7ͫڵk'͛:|pi&}׺{$^T)/^JPܹsj׮4sѸq4~xhXgyF~7o-[jɒ%ʔ)8Ellڴikʕʞ=HUV-ڹs6lׯ٣t@('r jJ )pwڰa,Y%KfٳG 6ԵkLGA'NիWقFA<6á_].],Y'O5m4HvZ۷O 4իWMG!w$Qmʔ)Z`f̘RJ+WԀ[n\ަcw}W}((JK/3g(44T/_NtwBY=gΜR{)_Lʕ+k2eH?\'Nжmo:SlܸQ9rFe:$;pMdd*U]vts-={VgΜӧu̙DO>[ ɐ!|}}, P|:}>RަMtW>S޽j*5jtv)J*ZjU?x`ll)SJ*io0-$eΜYŋWœO||Ο?EFF̙3uVΝ;Qqw}~[t]s6 *THSÆ 5vX1tk_MGCA<WWW78]z5}vvJloT\9uU+V5h@} _H)?Ј#oO#@Rf|||TlYqR6lo߮:(22R 2)\pAcǎմiӔ/_>;t$HQtRƍ+,,L6mӧc9sF.\Ht?OO$pr}Z׮]Kٳ??\r 2<*UhٳW:5w\1BOV׮]5rH(Pt4p* :鈋rέܹsbŊIƍRoƍZfMeϞ]QQQn=z֭[oB zLGGC+V{ァUVUT) :x@̙u]:tH6m͛u9bŊYfB9ͦiӦiϞ=jժv)///ӱq8:r6nܨYfi۶m 7|UFQbcc{2yf]rER:w5kz6SK,Qʕխ[7-\hݮhӦMڸq6nܨUU^=QHbbbcǎBm6ݼyS3g맚5kjժʜ9x v]2f̨QoVL:޽{͛%777URE]tQZ``tdҥ4ivءw[5jȑ#UfMtL<;wO>նm[x9Ӟ={heȐAժUӛoZjߟӤܼyS}_⋚0ajԨer4VHHfΜkÆ UVuEFF&LY߲e_L2%̾UU1QHvڥ:յkWM#޽)Shrww7xCnnҥKڶmnݪ[jΝs<==Uzu XH&WVu1SFRٟ9mٲ%:tH뫀?^PC@2p?Sݻw`fS2e ;wԠAmٲEիWץK4a1Bqψ# ɓ'AAGtuYׯ׻ᆱ1c(C c!9rDիUN-YDe˖}7]^ߺu.^(ͦe˪v:tTHf^@ 0SFsqqIG6mw}&MHzѣGI&\r]re%Zp84`}zWxҥKմi$խ[7eʔIk׮UݺuMGB2vƌɓ'+ZdZhX շlْ0]=s̪Vz血 IWx :c\\\O>]5jH(4f}W/{*<<\իWW%;`u7oԀ_y믕#GӱvfΜݸqC#Fl{쑿n߾|1],8p@YdQBٳzQŊyoժU|o߾dvޭ:ɓ>}x #?飝;w*88XT@'zJ9r͛Ŧ"ƴmVe˖U"ETpa͙3'ǏK) .p9s2gάv=< ̙3{ v&Ljժ)SLڵkwNJΞ=W_}U͛Ν;?:v쨢E,-.K,ׯ#G=zTܹ$SN~z}bccS2/^իW]vz O߾}9s?Phhv*á.]<+RƹsԹsg]VԸq8U2~:?Cqqq l)qEVرc/R]v}sկ^Z/_VN7H tNWT)M81zռys-[V#GTN{Ν;Wqqqzx4iR<-ZPr4rH :,iŊڵ?~#JQQQ:x8&\>}LnnnիFlj={*U{.Y2(,[͚5˗/'ҥKy)3gTBh^^^j޼L .$:7/ooD낃ـwyG4ioFr2+ICsѮ]Թsgp̙DϨ(I/ҥKSN*SJ.%K*cƌ 돺.˗O L%ZJD^j( , :˸7ntrqqѾ}k+Pdd~w 6$eҤIF ҧ{*88XǏԩSճgOKK|%CK,QΜ95eW^jݺu=>>^E d̘Q>ʔ)ut*S/fwX`v{a_zFFFRJ@ʡ7oS3gNIVXO>$a_H?~>}ZYdyt3fHC'%&&F?Txxc+Nҙ3g W<*ڵKuѢE|?Yl6m+փ []pAK=nܸqjڴz &ƍ۷տn߾… k׮//VRZTx裏+Fʝ;"##+22Rg϶̿9]zUz5x`}rqq1:3%$$_ӦMSztԝ[n֭[ɓ7of̘ɓ'm۶8pj׮qqq:}={6u/ www+WNoZ (`Wd3gڵkxtl6_IIIyyyiܹFiի%IJRPPSWʟ͛7֭[zn24nܸxzzj8p|D ]nRM8qB]vɓ'_jȐ!rpx˗W``&Oe˖)00Po*T:u꤮GEESP!/_^M6MΈl IDAT?\rW;ʕK-Z0: 9fOBB"""ydɒ<:s\\\TL9{ݻ}h˖-/ ~g1BGQUhQ)RDEIzzz>^gW_yZd ;[kݺu:tU_xرC={Trr~Gi?ȑ#}vU^]~nܸ .?ZJ8;;?Q >ѣڵkSOB6mݻwս{w^$$$hԨQ9s5jKNjҸqwߩDZnڵkZ/\cǎiƍ~zNNN*Tuȑ#*WKe-[LUD ^ v)uYN5xnݺ͞=[nnn T߾}%K=/W\X*Vԯ)**ѣGbbbsN͛7(DA >\Ǐ׿~BR%C9R~~~82WWGvܾ}[rrrRxA@[x&Oׯ~*V>c={MIIw}2ehԨQر"""'p;N-ZfϞ-___ɓhDA yyyi:}~W5nXfRɒ%[ooݻw;l6kǎRzjժĉꫯt:lӝ;w|rlRѣn޼)Sŋ:u/AL&k…rVXYO>RϞ=/jذ4i9r_UL?2Н;wb nZ޽_/BQQQ_5x`*T=XٳK.ҥwoղe$Ie˖ƍղeKkfG޽-[hڵڶmTF }6:" Q2 ƌ_UW^UVķm{p޽JkҤIj߾)btD+e2TV-c ܻwO[nڵkz8qڷoE({ǫZjOվ}{+V &q&M0AKV``⌎\n:uAرΟ? &ٳ:t萆N9;EA6M4h .qիFz߫cǎPtY?^:|Fŋ`0 :IM4$͟?_ݻw׌3THOO64[||~uIzwc*<<\Gȑ#UD Cs ؤr[O̙3TrԲeK۷Of9CkÆ ܹծ];>}Z ѣG5zh,Y2Cl$ɤƍkǎyj:,Yg7T5+9993Ǐ_KN :Yחc*_988Yf_t!U^]}Km(͛7{P֭uqɓ?4vX)S&=?Pʝ;jԨԂWժUӪU%$$h˖-ѣ<<<ԪU+kذa:qBBB\rh;DA6I&駟-ZT3gŋ5a„'6{nݪ={S-ZÇ5d*44TǏW3 ش&MΝ;:ps'O5 rʥ~[8qB&LЫjOdtRϯ۷v/t z۷z#d<+ ]ZʐyԨQh֬F *PtaTA{#Gt52Vt`5j$IڹsIxyt`<==Ur4]( ShҤvءRѣFGFll&/?SVRr ;u"Lflt5W\Qv-,,LJ2: :+Wʕ+F3gN9L`8+@A P<}KxbIzl7www}駚8q *7xC.]|Mu9]>֌M#>>Ztc_KLLTyf^ZΝ'OUZUNJڱ?m۶:UVʕ+3޽{w^Zr?^kזݫ|=kתSNZr:u۷U@mV˗/*ANG2Vr唜,.]Rz5kVOOsI $UXs-oooEDDKnGN}ƍ?z)))Iw+ ( I }X]xG\U&777EGG믿֮]4p@۳gO)%%%ƍ+""B~"EiӦ{Ia4deɒEժUSttF3c>0gʞ=F'O7NǏXɔGN<)ɤYf=1v&MR z޼y}vGڵK=&o޼={Zn &qo=|PwrέRJ=Qŋ9rL2rp<}`4V`(X :V`(X :V`(X :V`(X :V`(X :V`(X'2pݽ{˙3J*et A( Wҥ،0J:) :/_\ʕ38 bȐ!1c12SN[n\mvʕS*U4ȕ+  6 Pt<Ν;L ˢ`(X :V`(X :V`(X :V`(X :V`(X :V`(X :Vb6@dt~̙ bŊT*Wʕ++_|/4u9={V4|uBDA uƎW_}UϟצM'I*TPjYT*U$ggg;w.xĤŋxrqqQ\\J,i ӢIL>]ڰa<==g*88X:vϟk׮=qWj oذaꯋ/.///988(11Qe˖U˖-UF >!L͛5k  OOOIJ.ҥKcǎ{xLLt=)RDŊ?αd;wN6lg^QM1o3LzW+OչsgUX1-Q3;6={(www1o<]zU|Etlޗ_~)IwQ@@pXv5W3fн{4n8 :u4l0uM6M PB,2/ :6ի;wyZd/BfYF`L,YhС?::Z:t6t͛7OC QvJJ[oaÆ>>x>`Uren[NǏ:~ll߯={hϞ=:}L&kꫯTVt@fAAC>nRR>c5o\5k֔$ݹsB~@[:v((99Y)))}JJn߾ ŋ̄u.\J*˖-SXXz#F6 +w1UXQ>a}<{-2 QztX||N:e=::Znݢ(XP%''[d*I\s`Ŏ;&GGG-ruuUѢEգ`łUlYe˖(/%$$D+X`](Xd6A\rrN>>ٳ&NhtIR@@& ]^$Cs?^3gU@CYP!ٲe$_y䑟9L_ zΜ9 p!\R/V9 @f :6QA!f 6L>>>ի!ȬXA}Mo>m߾]d b"ɘ#FB *_ٰ 1r=::Z.\ÇUpa988K  *ī@rvv" :6Ȃ^H矊ҥKtE]t)k.]xQwM=d2QF w(7sss|||y̝;wRKѣG5zhOjԨQ&ll?݃~ΝTnnn*_5j#Grʚ5kѱztl]"OOO}L&|}}p`(ؐg'''O>JII?ÈxOթS'ϟ_FGQ!&I...OYfڱcʔ)={Ç|}}7Vq >֊ɖ-cEFFjر4hԩK*44T&M20>o5: V lV~ZȫT"M4IG52j }3gRRRU`ce˖Zп޽[ ,P9R3f*T=z(!!UDDmft_rEÆ S=Ըqǎqvv֬Yt رàQ^{5͞=(X% :6= R,Y4}{neϞ]5kOk;wԩSա`ce˦[j3g1qqq {ԯwޑ̙ct˗/e˖СSYxbcc5t Nfͪkҥ}q*tl4o2.WWקSJ 4H\@A$&&C:xnݪ_'-%I->)SF T.]pB[]aoݺYE5sJIIQ^c㏪YEK#|M#5qDyxxn2kɒ%ui5lPe˖չs2<FA$&&svZoH2͚:u4i *X|9r諯Ү]|rwrέA)$$D_ K>Tyf_^mڴ1:$i׮]?4bĈ iӦܹ ?3}ɤZjUV@KHHP 6e˖FGJ5uTUZUuygΜ :4C;m۶թSti(Hzڴi;wjj޼ёR맟~36m/_;wfҰaCjÆ FG ]Qv/>>^Z/-[qFGz̗_~E]v߫W/իWOW\\!E͚52w@CAصEڿnݪ 1.\К5k4tP999d2ir&L`Hնm[>|آ Qv޽{j޼8m۶^zFGz̙3+W.%K5}t=z,ԬY39;;kƍFG Pvݻj֬>;v74:nݺE?q4l0o߾JJJ244heL;wQ&MtqܹS5k4:S͟?_III8pQ$IYdѢEYfGm۶վ}p :ƪQF:qvڥ7xHOٳggϞ4:NիWƍ˗ 1x7o64酂nR ݻwzFGz˗ի6lQгgOAj׮eL jРΝ;YUV5:3hԩjժJ.mt'DDDHUdk۶~'4Bdd=9sRJF[/_֙3gԩS'*VX U,YҴ o*U Ç>|*T ///uY/Vddx0RRRu}Hf͚{iرiٳʗ/S~t}oڽ{~g]V)))*ZիnݺzW cIӧOWճgO֭[/PBiCztHg۲gϮ ( @nܸM6e˖:xv W_ՠAqFݺu;CAح7oꫯftM>]>ѣe5j_~3fe"wjٲf͚hժUYԦM_5:*PvkΜ9JIIׯk̙4hm܀e˖MC I13#OOOuI .ٳgw^%''FG :.ݽ{WfR߾}ntM2E4|t7O<>}֮]۷ؙYrr$${BAإ ݻ3:bbb!C(>~.]T~}}ᇊO3(It@ƢNBBM=zXE P֬Y5tPo24o<]|Y}Ellٲ`G(tRhȑFGŋ5|)wt3fN'OZl"***~x/t]IJJ_|۫tFѤI3gNZ|#GhѢd6->-x .lt ڵkn2KH}5jri\\\4|ݻWK.|,**ptHIIQ@@6mʕ+G'NTf؜Snׯgؼl6s;tغuBCCbԩSZlƌٳgؼ.]nܸ+Vdؼۺw+ GA٬I&VZ]a9g_W"EԷo 722RSŵi&?^{ΐmŋ%pNF #ٳG ?11Q_&L[ni3f\\\,:ɓ'UV)_|8q>Yt^[3FB@@*U&MdfYׯט1cݻO?U"E,:opp&M~A {e***JNNN2: PޡCk.YF&)ݳgFYfUbEoiҤI Rŵ`CYf輙n:-ZTFAdz*Uڵk!j֭֬+I_uVs٬ݻw^zYΝ;˗̙3۷/9ݾ}[7֡C4|s*THݺu7nФI4w\ɓGS>}%KWs疳vڥ|eȜɅ ԰aCݻwO{!9Ν;gȼ : :V\)???9;;W@@/ŋkܸqP3KRe2hѢ 38}jժ$߿߰r.ɰ' i}嗒e֭[6nRR-Z%KjzwuY;V9rHyu@%&&fȑ#]rέxeIII(d2I&ʛ7 *&MO~>l6kÆ Q~T^=>}Z3gΔ??裏te[dĈrvv(P,SLLƣ2@)$$DVR^⢍7wzה3gN,YR[رczjÇo>V۶mUH=zT˗/7t|||԰aC͘1Cf86cǎr劮]ft-[g2]`AGUժUuUR8t)>|$Ieʔbcc}vUZU4h`p۶m5kf͚FDZz *Q4hoְRǎh"8KVUn҉'*..NW;#q*[f̘AAYf5l0?^Ŋ3$Ǻut5oޜQ#_>>>zW*^şokI&iʔ)ꫯ2|իW_~jѢ3|~u{rvv֑#Gݻwƍ$+W.?* d281gϮ!Ch„ 7n\n65i$7Nݺuŋuĉ ``Qz0ͺvc?ݻ9sW_}b.{ll)>}hڴi/!!A}w}O?Tcǎd t23$OOOyzz~f]x+VyGӦM{^$W\մi4zhϟbsݸqCm۶ՁrJubslt,d2pj֬Kȑ# S޽e2tM]|Y)))Fǵd2i̙#<<\oN<rx;CmذAo-UV[nڳgTzu#Z\|Կ*666MIIݻչsgQ`}SQSN *mڵk7o\e˖魷޲ʥ֭[+66VWNXњ͝;]I?:t蠚5kjÆ ʙ3swm[N˖-.]o߾<" ( ܸqC6lxZl)GGGkʕ ^{5uWQ´vZEEEUkV֭^e[t!uAo̙C9l2[Zʕ+@bbvܩe˖iӦMJLLT |rnZYQ 8w&I˗O-{U%I5jݻw5oz?lB AЋ{RE+ P$ H HHJ~FP&wyfv&=a=\uQsN[!WV\\\#66VժUK|_~ʐ!;M6i׮]uQM:?ǎQ~SN)((HԩSuV-^8?^իWհaCe͚Uk֬ё e65zh >^{L)SR#Fhر*]֭[(M>]ʕ@a;ؐh=zT...ʟ?,XPϟOܝ;wt=,X?Ι3ҧOdžSupFG2TLLt~A޽uV;wn %3`SڶmRJ`*P,YYfiҥK5ydܹSԩ*Tx&3۷֯_+W|FG2Խ{ԤI~xf9v횎;5jPBt...UvmeϞ]6mv*Iҥ$G|F3gJ^{5X"ɲӳgOEDDhԨQϹkٲe`mE|}}5|-\P 64: o߮[j֭:qD%I|i\tIW^UNgοcIRl6۷oTRrttԩS$I}_SG׌3tR\R͛7Ըqco5k|M]rEǏ׶m۴uVUP|V,Y֡Cu|kGӧ񢣣sB{n*gΜ]ʕ+'kHHHxԧO^I0|p-]TQQQve˴lٲ$ݾ}[ڷoR46_~׵ktMkϒWL:ƍՠA>H|>::ZyUժUv'S:߆ nݺi޼yR.ծ];ТETJѣGڵkWb!ߵkbb)$ IDATbZjvڪ]<<< ِzʛ7VXowaoHI*]3HDDSߟ!C-Z4q|#<<\ZJ%9lրٳgkɒ%^'*C O}_LLٓXwء*[lYMڵkdɒOy EGGkϞ=j߾9ilzjɓGnnnz%I~Ç'XTT\\\5kVIJÇ[Ç|jG8}5j%KjrpH_ᄒOwޚ>}ƎիWkѢEVo߾B(sj׮2e<Fڻwbcc` :؀(_|\2gάSNi?/3^^^/TP!5l0CiȑݺuKWNw_^u9R3gVu7N7oLܐ)ڵkjР\\\f͚d۬/ @cƌѤIwAwppаaԤIuM5jP5tݽ{W3fԛoqƩvL/,erqqQҥH$๘f5JqqqʕK_}U{o߾ϥO^ ĉˤnݺcǎgɒE'OֻkOgy6m7ojǎzגe5k֨W^ӧO{7}v͚5K>cծ][*TcdJ.aaaZMl6ѣGꪢE׮]ә3gŋN.\ŋga֭[kƍںu*U,رCuUƍb [nI ʞ= cǦ[0؈tҩdɒu^zܹs'^xիWkժU,fY˗/r;vL>>>\.]j\=[nq90tR)S_ϗk޼yʐ!%I gG4#=Z5kӧ_z~Mojժhݺu Sڵ-EACNNN:zϫL2Zhfsu5mTUT?j޽jذ!jtUD 5jW6m{UVvqqkN:vOT˖-)@A)lٲ]2gά ThhJ.?SNk׮*Yvڥ=zT;v}J~eOlײeK:tHjԨ(**J|/7j֬Y:yw.GGG> m([!$_4g :Tk׮˗ɓ'O>rvv6(9)3 Eڿ*W#GԩS:t(&PsYl+?{ʓ'ϿNJ/^cǎU̙_iNR :x.ZХ'7 :RLٲeuy]~(X :H1(۬RDxxn߾J.~e͚Blñcnj0l6]/^Tܹ'O1ŋuEcV/SLsH(X6 PtY }l٢].\Pt奶m֭[/M 4P͚5zÇ?ʜ9j׮-K,R%6 9s9r(OG]vJ>}$ȑ#1 tD\\Ο?B /UwrrJ|._|%IO|I@Z&q@vҥKt-}_jIJ[94qDM4IyUժUQF[:t 5c8lÇ븿/3&M_~I|mڴi۷ Ͽ{ny{{QF駟#O_usKV``K&ggz=z4{WX[n)""BC р4hРĉQRx$ƪnݺZz/_ӧO+,,LٲeSuرWvAF\zUׯc5k,Y]tuUe͚9sFo2gάPeϞ=ڷoN۷O|֭[ʝ;ZlK>Wvlנ`#rȡwy"cץKYУTNKN7o~KRDD$L2IϚ5˧H 5c;xBHH/__c.]R:u-[_xs$>|8oֹs}%A {w *(s̺pႾkmڴISƌڵ֭[ׯH 8 PÆ %~Ȑ!4hUB]pA#FУGԵkהX1 :iFe˦1chܸqI5L8ѣ2L5kc7h *((HݻwWVquuٳռysK~,R%6 QddݻY"nIΝӥKŋΎ+(X Pt+@A Pt+@A Pt+@A Pt+@A Pt+@A Pt+@A 8EDDݻFҌL2d@A+V@sIJ: :=>stRAJ4hf̘at4gĉuV^o!///c dɒoTVM6m2: I@*(=E1: Q СҤ+W\F$# :x!tϟdDAH% (`t@23: QR Πm\JΝdDAH%HFt+@A Pt+@A Pt+@A Pt+@A Pt+@A Pt+@A PHMJ*iڸq}` VttQmٲE[lg}c*SL*T2gΜXoܸ!ٜd<ɤٳMʑ# t>tҨNڰaҧO/I*YJ,(..NӖ-[t=|P+Vr!77$?g˖MڼyիiӦqoMҠ[nij۶~ʕ+r=nll 5jcǎ @@A =z]yظ/^ջwo-[bVp5Ґx[KV~,:Õ.]:M8ѢVp4dڳgon ܶo߮%Khruuظ%A |FݻZj7>>^S {Yl\ΠF 6LO-: tڵK@oVrssظׯ_רQԭ[xKq111ӧVnݺYtѣG+..N'OEA͜9SǏWxx,|xx͛3f(gΜ3ذ?C&LЀ,zoO%JP>},6.iga~fͪ &XtܥKjΝ_hѱH(ب0jʜ9ƽs玆 m۪v%بUV)W\j۶Eǝ0a޽>̢QQׯW d2,6ѣG5{l5JظM:w9 ZlL٬`2dtlPPP[oYl̟~I[lڵk.]'^OHHPdduu$yd̘1ɟ-z7R; :6(((HUTE{,5nXqqqVؿݻ'IW||3uvv>C1"YH(ؘXm޼YCؘ~Ξ=%JJ*CIRѢEƍKrssSLLݻ{?ƍ-Ԋٹsܹ Xl%KNgϞڵk'///+WNYdy{gܹB  @jEAM˗ؘ{U1cF)I2ͪXE 5`c֯_[tٳ[l۳g2f(dԄS!/^ԁ,z{w^yyy( ٸqL&~m<={p9`C֯_+GFGyׯ\_(؈xmܸ1U-otBAF޽[7o޴Ւ޽{5kV-Z(X :6"((HٲeSJ\_n2U`#T^=98ݻ pUٳ',oxΟ?q i&TS 'QׯWٲeٳGgtT.!!A6lH5WlGA qㆮ^ 幘fٳ :z-l6療t5ըQ(X :6`РAڻwontC_uQݺuU`4hŋkƌFGOSLٳgW_q9@Ai ӧT#yxxCAF;ʒ% 1:‚ղeKݼyԲ49rٳ#G^ӠAk1cFuE_ƍ'GGG#(oF={>sL&*..NqqqI~5j(+V"z׮]h"9;;[YN^W_ijժqHqtR@BBƌ#???u]sy>>>s玆 bŊq/l6kС*[t$ҥKZj;w.&I,::Z:tN n?TM IDAT??5mT۷Ç_:G``o߮iӦINz͛itRdtթSGk֬я?>蹯%NK.U"EԤI]r奲,\PWK?%iFٲe@L=ʕ+̙3 Q˖-_z,^Zjٲ=zcԩSG˗_:Grː!vEg 5 6mڤU*SLTbW3 ޽{ճgOz+-X$^zڵk駟@`a ,PÆ UZ5)J*Zp[M:ޛ-[6uYsUll2Yj֬yEABbcc5x`SzҚ5k9sfӱcG3F#FP`` o߾:VZe\ԫW/FG P(ժUK_|fϞ/Rw7ǫUVܹ8+[|M}g:w\{U-[gi Wa+WNgϞUhh;(;;;-^Xjڴ.]5jÕ?~UXQ~~~:vX2}qҥSnݴxbEGGAA%k̘1jذ*Ujժ)6VZx5olu-]T J(!}ߔ韭gϞyV\itRp%իWO~~~ڵk9ɣUV޽s5kVuI+WիWzjUVMR˧}jӦMm(WhQ[,st^Ppp<==u1mٲE#FqR+Tŋkٲe}gȐAM4… u%M6Zv~mkҥ~Gݿ?>c:t(EtSBBTn]ڿjժet,IR6mokΜ94j֬3g̙3 WunZyUDDR?[ӦM+W.͝;7(tѣGkԨQڴiretD͛5l0i2驉'СC:ydɢCZlgqttTϞ= hՊOHItaΝԞ={~zM8QFJd65d)RD{Ny5uT^Z7oNyiot 5kLEѧ~WXRa65c y{{+_|ڿׯot'iӦM6mu6mڨF4huյkW޽[wVڵ5a͛W]tΝ;{s<uZj?Tppkt'jȐ!U6mL&͜9SGт }X-Z(jǎVj׮b_\(Cxxʗ/[*00PӦMѱj:~O.ɔ"s/_^]v՘1ctgϮC*""BK,QHHmfH,_fΝUUj֬ѱխ[4n8LѹCM4)E';;;uIO?dh^IwUNԻwoCaaa*Tѱ$~5rH}:qDw&I͛7W`` עR5 :5k5kh/.]:#SNi֬Y>|rmH+O<)z۵ӢE EEEi޽FGQtEuUڵ3:s㏕#G 2İ ӧ״iӴvZmܸѰo*{  dɒ:v1KXXV\)???e̘,[֛o]{5i҄H(ς~cvܩoF=$eȐAŋݻc-[Ԅ uVկ_8<y#GTfM<)SLwfL&K"///eʔI1cFyzz>Qu$_uʕ|}}_:Kr)] .~H(MѢEwrւn6ulVHHڵkcUP!*TH 6Lڍ7t :uJ5z,d2EZteooot$7wr֍~e񇢢JY\]]UjUu?E|vet?,YjoveI.=Y5jX$5Z˧LtZ 74rHjJy}qBCCUtiZ0uS~w%~bbb`t$ jٯ4Nhh+/oOMz!͝;(' :e-ZHSLy=ZSLQܹ_z/*"""Mlٲwߕ>|htݿ_=zP͚5գG$zzjժgϞ4ֶm$Io%ԕ+W|r(e̘1x칟N>rP_PԡXbjܸf̘!ltzvڥ3gjҤI*Zq=zT~>c,Y ISnРA:x𠂃SQiޣGԽ{wUPA~q%$$gϞ*TFݸqCNN:*Uƍݻw+66H$`t뫈۷Oqھ}>}z>}zEDDXdd2W:tPʕ1cFU^]VJ.]:c0ΠҴj9rJ.mtD.\аaԽ{wլY"cj>}.]d1SM͛ڹsƌ#M:Uʒ%jժqi˖-zqiN)k߾}2: SժUp999)Q6mcǎb޼yS VǎW_Yl,>>^BCCPݸqCXUfMU^]3g64kj7oAY3fPxx.\hU|4k,s{1BWddEN?P?^Ci֬Yʟ?/^F)[ljڴq6H"""4vX}ᇪTqݽ{W}UÆ ծ]dʙ3F,vvvv*U˗… :yZn;w`(4'!!ArέI&'ѣGƍdJ92dȠ &hŊڷo_aKL&ݕ3gNʕ8FA9WhhltDw_|I&`:W׮]#F$<ҥKtFA)ΝӰaԳgOծ]8bccգGyzzj>i&m޼9PЏ?nEAfYzR̙5uT$1}t>|X ,H{7o\UT35jEAkΜ9ʒ%q$Iׯ_g}kРA)z,ɤ)Sh߾}Rl m (4ʕ+8p:t&Ml6kΝzw'O5Jm۶Մ R<5jQF)666O-߿wZ/\cǎ6? QiBeggYfݻ;w<==UZ5iĉŋ1cs}-\PgϞUddݛ&/_$C umgul^``{͞=[9rH:>}(O<۷ (+22RÆ KLV;wnʗ/VZ*UhҥK9sa͚5*Wa_BAܹ>}zj߾}#3go߮\riѣϟb9?sjǎʙ3=z$-lnhm޼YoH@ :ݼyS=U@O7nTLLLw) >\yUΝ^gϞդIR?~\ R=?s*$$DnnnzգGx[pe̙SvvƜXv .B 2? eP6IuUݺu5k,[֭ӬYTD թSG .( *ʹ$kNvvv:rQR=٬CWӦM ɱfeʔIކH9A/3gV6mԦMj׭ϝ;Wjٲ̙5kZrܹsnݺZt}Z ߿_o߾eYfׯ/'''2RpttTZTV-M>]'NPl ܹvgrK.>>^={ԢEݻڽ{cX@a;`2*ʹ$hB2dвeˌw7|or.IL&5jdh@ʠ`c2eʤ͛kɒ%2FIU}]}Zb:wlt]VUTQ9HtlPΝu>>5(<<<OTd^zu.\8M}|iӦ VڵSdދ/֥K,OO`=8xiͳ=fY uQIRΜ95ghl6bŊrvvVHHH1q[z6o,ǿ9m\L&-ZT 4P;wnd2Xbʝ;kk<ω,XT-AS;h!>Fcaڪiy4RZ#ՈX"Z"ľ$T !&6q뾮}H.ĵ}bcc\j۶$)..p#Iұc4n8kN4h17n?+ ,2zޕU?I-ZPwߩVZ>=}dɒ֬YsNy{{+44T۷/$-\P'NPթS';XرC'OM痤C髯ҡCTL=ѣ4`M>]_|^x.ɒO˖-SŊok ͜9S'OVrr^zIe˖U i&cvwpBm<<sp#uŋߴ_޽Mrٳg|8߶˗/+&&8'Oj޽ͽv=Ǐ$sss#}#Iz$]tIDATtK.]Rj+VHʔ)zKoM>xbcclP$ɓ:uJRUn]TŊբE :tHo}Yu-qqqJOOWFF yxx_s%Ie˖U֭K|||krssէO-YD ,(رc5tP 8PeE||򔐐 "(S`%{16faÆf3gcYnldɒ&(($&&-[fcpӪU+c9ⲭnݺF.GEE9^ϛ0̱c }~eʔ1SLq>g1EDD-[Dbl6*p\./.]OO[ޮr8>0̰an!C??"f;E(Pvv5j$www_q駟o+W跿V\%K{|ڲeԽ{wU^]={Tzzϟuj:qKT .(00P;v5kT >\iiiڸq2kΟ?<>^III|պuk :T p8\BJ,yرC vp"-?^Ѫ^LsppuEYCc֭[5k|3fhʔ) KwUVMsN%ĉJOOM4h*SV*IU˖-n:cg/]D5mF駟ԵkWmڴIK.O?}o޽{o\G֟^2~r8g ?p$f͚ s=@5nԯae߸q,*:\gȐ!ze㏕ &8;jӦCF?q9EFFjĉjݺrssg/:h"UV˗kȑԩwy 8PǏW&MaÆIyg߰0E֑#G4i$%$$7T{ァ.]h>|rssSOW7ܹszg}v-_\w}ΘwS=4{l(QB7ooAi:u ]ެY3= T``jԨq%{5mڴP/ b\,geut___3a„|}~K?n2浕322}̙c<<<۽ͅ ͽfS~}TbOү_~.cl6Sr|u^3uTSBg_3iҤ_(]M6mLٲeMbbb̹tRazirssm6*U2fȐ!& I{ϬZʜ;wHj. 40 *2}Ug.]񑟟 )99Y/_֣>Ϯ]xQ)))r8WsqIMMӧU\9կ_ˊxa%''K{1?NJ'++K!!!ڻwVXnZrv`}(߉'+h׮]jӦxF r *hƌ.W>spwOO^/U//|LZTV$;E/33S:pV^}AmΝڴi|~s#֭:v0KW4Xhmmu7o"] `"pPNtaƪYfkذa͕$UZU۷WvԾ}{5h}ݺuҥڷou7nTrT^.ps%9sF:tѣGf͚ gϞU^4d 8PZl?(55U|}}'jϞ=G~w U۶m@.߫UVA~ ΠpݻvޭM6qƷ쟐;wN|z!c%]}D[BB֮]kjȐ!rz!=Zlp;zn7] W#z)Iz饗k׮s89r~iըQC۶ms+SG)!!AYYYZbǏsΊVR1Yݑ#Gt)=] @@׿U6lХKԲeK=Zyyy.}N:Ν;뭷õvZլY(]:u?P?-&p?%(t!5h С:$IZz5km۶i裏^ۮ}Qj. pѣfI&zթS'5lP۷oWPPPqyOKLLTykw{Tvc/Ԉ#|r ۶mS.]O*==] .Ԙ1c,=lٲ2eΝ;~[nnn]=)99Yaaaj޼RRR_j۶m޽ @a#pxVRSS/aÆJLLԔ)S{nEDDs@9sq}O?T<==4׿ǫdɒ1b@?J`tPUti5iҤֿo3F >\ʕ+Wd5p+\;C\Gḫs]pA|ԩO>D<{p:(RuԑаaSN.]Un] Ӂ4j(U\0@zG%K())IM6Պ+ e+Whڴi_`h„ VZB@E_999մiSkEc:͛7O 6/ܹSӧOWڵ ;HK٣UjҥԘ1cԶm[8p2(::Z͛7WDDի$͟?9 :(R5kTRgInװaÔL5o\s̹ZJmڴQUbE+&&F͛7/@jР][j$uM /s?!!A:tPN$IVRll|"ܣ><~ejٚ9s,X-[j˖-[*44TTtt "_`@֭[6mڨSNjѢ߯yi֭ڵl6[V E@wdܹz edd̙37S^=%$$hСԩSk.na]̝;Wjk+'''r7_5 ~EOv!"驺u[-{ZRRRq"](+T˗sBo6c)"'NZj]IIIQz @!#~'Nĉ]&}H@@XY>p8k*[ڷoPl6;wT\\ݫs顇RΝSO8ÇyfeffujԨQ1Z`֭[%J(((H;w.obbbbbtiUTI!!!j׮]~.\W_}-[zGշo_UR!EτjҥVڵuI>}Z;vTtt}ڵkt:p~'_'OvRl믿o~á޽{k… ХKm6ĉ]ȑ#UfM+%%Eҟg?ɓj׮8yyyiÆ вePo!łK4nX/ٳgm6?~\ߵj*3ƥ3?*%%E[nӧ)ShժU~nnnڵ&LYfIRL:U .ɓ$4ibbbݫ#G[n:x.]_~0a6oGi߾}Q||V^;wfiСPlgFΝ;ngnkĈPbcc]dɒΟoHolԩS5p@5mgWl&v$=Zm6^|EKVg[ڵ3hΝ`}t 쓚*jS.\жm3ϸm۶m?vKk?תU˥ovv.\/+b8QQQ:{to[NN/_.ád3F{VϞ=xCU˫y0`}]*UJ5Rrr|M,okʕի^uyyyi޼yp;+"`q/^~/v4 8P-ZЀm?uzEznx͜;wNTL|ۼ}ʗ//IOt1ڵkqƹ[N}PppgGN:qX`aqqq*Umvޝo3g(88XJ… UDyeee)==]k֬Zj;vq˷Z۵>YYYz'ŋСCZb222ԲeK>}ڹy={jǎJIIч~^{q kРO~[}WsVV׫FgTlYIW^/^XիWѣ5cƌ;bŊ|222d#IթS7**JTzz$F1cF/YD RZZzG]se :TӦMSnnsΚ6m ܫ<Μ9ÇKj֬ʕ+ʸ/_֞={{즏m;p222TB/{*//Okv.8H@@X `t,:@@X `t,:@@X `t,:@@X `t,:@@X `t,:@@X `t,:@@X `t,:@@X `t,:@@X `t,:@@X `t,I.pyIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/yticks_cylindrical.png0000644001374000021030000024736312700747662031626 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwX>{iқ X"5VEc.vKo{{T4((('|mXE_u929 ѷ """""R DDDDD6,@HmXڰ!"""""aBDDDDDjԆ """""R DDDDD6,@HmXڰ!"""""aBDDDDDjԆ """""R DDDDD6,@HmXڰ!"""""aBDDDDDjԆ """""R DDDDD6,@HmXڰ!"""""aBDDDDDjԆ """""R DDDDD6,@HmXڰ!"""""aBDDDDDjԆ """""R DDDDD6,@HmXڰ!"""""aBDDDDDjԆ """""R DDDDD6,@HmXڰ!"""""aBDDDDDjԆσDDDߤB Z1+)))BDDM244ĭ[Xg򵸸8`ӦMt""oʭ[ၸ8 ٰ/=4>B'"""""aBDDDDDjԆ """""R DDDDD6,@HmXڰ!"""""aBDDDDDjԆ """""R DDDDD6:@DDo'" EZZʕ+cccMG"""$,@App0N:'OԩSxjlmmLɉrQ>QFAOO5kĀРAݻ?7oĞ={zmB`ggԭ[W{ADDv,@l{?a``c}ڵ_{M||G"Çyf@D458~8ܹjժallDhڴ)?Wd""ςW@tܼyx1b-[ի(Z(4h aÆX"4͛7t2 xK.B[ZZ" GӦMqi(QSc},@r9L2ǎ pwwGRRLLL0m4ׯ_ɓ'qI9(X ׯ ApttT[A={L2رcbbb($&&ShQ9rCfpI.\lS!/`A*Uc4kL5/Fhh(z쉎;b011/^nnn?'Oӧ1qDrʘ4i:w mm<ݏ3g"88aoog}Y[[ѣ_>Zhcǎq^""8>BD` pUt!Ǥ|vvvpTM43pq<F%н{wTXy̙SmG֭Uϛi "xb,^GlK(PM6šCpEǣG>+99={ &Lٷ.UVšCpt!dz'DDDL߃AY...8pDm۶W ƎbÆ Qݯ5k޽{q 3F;w7F@@]C__?O-Q݋[naȑmXb,X;;϶enn,h,B'|%++ &L#еkWؠZjj?6:\c9xM6Xr%vڅ4\v UVU[,~k]F۪e033=>Ŋ++W~}BDFFFO; 0h BHH/̄']VZA… ##} ==="!! DŊ1c xyy%KDÆ gggDDDΝ;>9c0k,899`(^89nǍ7:? Z Q>($00PQ3wڊ899Ɋ+$++Kcy޽+.JReƌb`` B6m*6mk֬TZU\\\B ZB%Jiذ(Os100 lٲRfM ޒ-"",$22&o Ôxٳg[. ej4ŋ"E`͚5xz CERɓ'aÆP(8{lq9,[ 7oɓ'e򚙙aɒ% AݺuQvmXYYAD0gL<ׯ_իѽ{wBWW;w?mbŰDannIF!"DogggJ/߶mн{wU{n;GrQ\9dgg#"""uE]>|ׯ3g|||p9ԩS睯srr“'ODD-`BDy96 %K_~Avv6N< ƴiӐ ̞=w^xyyx9e˖aر9 y333/}L($00PQ#Ĉ,[,t)TԬYSn޼)bmm-? oooL>=3͖,Ycݺuh޼|;ws011ݻAVZׯؼyQ~ S_ըDߊ;"66O~xvB.]pYhiidɒ(Y$J*4ݻ^:.]QYN> ԩSW*Vkkk*KFFoߎ@KK 6l@bФIޗ9]/nARRoߎN:oݺ<@ٲexrÆ 011AaddnݺiW7x9_TX1OՔM  @z_Qti\jRsJ"/(<{ r}fž={oÇ֭[Q@r!ǣGgBWWo}[_ѪU+ y?RՄ… akkmc:::Be˖G޽;?]]]ѢE zB P|?~QQQܖ:tmyfؠgϞviFFFڵ+_U&?#qF5# 899ԩS~M͚5w殺 X~= *… ر#<<DppppppŋaggC!,, ذaN8Tq(UvΝ뫊Ѽdiik׮aժU}K般,omceev?Pc2"OXQiذ!...HKKÁI}Z eʔA޽ѤI/z###_^^^XlY3~M/ݺu+\]]Q\9\zÑ#G`gg2e`ƌHKKaaa|2LTZ W^}g;WWoH"bBDyhСHJJŒ3rվCBll,ƏahР_۷S(a?/QF ,XPQ^sQ)SGE%УG µkPP!#ФIL2%J/ ddd 33XlF5kiӦ޻pʕwKNNRQ~Q(הJ͙QtiL4 ވFff&7ocrٳ1vXX]tp<|;v۷q\zظq#tt~{9}Zdee5jQ*Ui&ŋǚ5k^k???ԨQԩ<+VYYYHMM.l2?ǜMbb9}4CoQ$''f͚og3f uP{Cnnncccܹ3W}6l/_B a8t;cǎJ*sڵkxE }o[ ٳݻwqU73f3g .zjHm7n"##ѯ_?[:~U9 4|||Ԝ4F'@?bbbhkkڵkET>>>+aaaom#ʕ+,^8W~nZ655UF)U"""rW (o'ŋWM[{B!'Od~~~@̙}ggg %dɒ%jNJ0^!\100lڴ pwwG>}ХKǫegg[7nF_?鉴4TP!W,--0orUT^˗/… qQX[[窏ӧQF|;:qڵ\u֘={6f͚a:z.]`ҤI8q"5kUC4ȑ#1b8p@HXۨZ*ϟhѢ֯_???=zUVEPP#YVZ8vJDݼy7J,cnCBBQIKKäImmm\|FY&"3gΠ^zN8{l~aR3gbΝBѽ{w,Y-Z={-Z0||ڵ+5ҷy%ׯ 7ƣGrХKfhѢΜ9Gdd$ߘaܹ044ĝ;w燍7BWW7ЩS'ܾ}7o̱̙3ppp1e\t UTvF111A54z聳gm{u ((FP(о}{\~V©S0fdgg_~Arr/1f˖-E=4 "իq%;w-ٳg1o޼UT VVV9].Y$C!99Q.^xzz"))  Bxxx^ ͛ǣK.M6DO_>,,,pL:zzzͫ"P___Iʕ.::k׆ ._r(JuDwA~p}<{ FF4puu, "Bhh(J%1vX4h'N|/n߾ L<ϟrT qqq%K;vĴi9yYYYڵGCXXannڵk3gΠRJݯѫahsmmm3ŋHNNaccǏWU IDATYf-[ԘEWWFFFnݺ w}xDF,@Č3?b8r)Z+Eǟ WWW޽?W .ʕ+U1{lz(UZl%KbժUСQn]l߾FҥK[na>|8?zM7(X -Z6!!!055E1tP4nqqq(Y$N<ƴ[puuU 3gjժ8p\\\4 "B`` v؁9s`ߑZm|2"""жm[tW\u֭[;w3hV˗Çq1t ={Ď;n:ܺu ...޽;"""r=##{ơCh"xK}mذaXf bbb&$$*TPloaa/e˖8zhQH󒓓q-[VUt+WƎ;x"}8x޻wJf_ 6mzk333S)PHѢEALLLhѢrIJJzF%FFF-2jԨ\&Qn]'Nw;ߚX wt\yXZZ<~jՒ={ȥK˥KR/./_Vwlz 1X~ٹsh:Ôx퍂 bΝ6l 尶k6mz… cƍqGGG.\VXŋ Xj ?Cu탓5k76|IW@8q?Fzcպ˗/ի\2iiiTR^j/_Æ î]l޼۷ܹ'Oh:"1 D߀(DGG… h׮{պhdff"<</_' . \m[PrƟ Bf͚ŋX"1k,-Z]ty^B[[[4m{쁙zw}1؟WqA zB&M`ܸqx!/z&&55UIrJ*>}:޽{x9YA֮] ֭TAsP޲vmը\2?hJ"i ѻ率;wv-%JP8::H%44흣ƍR|cێ;J&MDma5k֔ݻubmm-̠T*eݺuҪU+100b`` |߹/RJ*Iǎ5%VT.^(r^,u%-[/^h"2Rzz 2DH߾}ILLLÚF0  i.^(:::2tPٻw˨Q...N7o.&LϚŋr󓘘?~X[[~V*ƶݓҥKKҥ޽{ʑ%[;3}͖,Y"("dڴie~~~@sΖkʌ3$33SICdggK&MDWWWp( [ӑÔ7t{%99pppŋUٳ9,Xk׮(Qlmmѹs7 ѣR []d ^x'OBG݇1}0aҥ :w )S }ƍÚ5k0i$Mycر5k5j 033EZZZݻfپ};= 4oGӦMcBDT,׃π}F(l޼YU|@JJkH^8x LLLТE $%%w8pkƍ$''c޽9*ޥpxVRJʕ+om~mV54:uoشiڷoڜ9sаaCtQQQwJ.X'" … 1bĈ7eggchѢjFt333j h߾=*T '%ύW@BgϞʕ+bŊY^ kkw?Ç1vXԨQ}6q%4jP*h׮~ԪU "իc֬Y8|0ڶmW3^۷/ L8qqqom[N)RVVVf٘0aϟ777 > 6t\m쌺u"!!Qh߾=4}^Oƭ[j*2 l۶ ظq#ݻw#)) Յׯ+++ 'Oއ~8R)V-̔ 9v[_100SSS֖;wDi۶.]ZlE6mH".""Ϟ=~|@o.|m"""VJ(!lu/jދ2rH -z`_WJeȑ8*bcc#{dQhBr~xǏ֫?Ŋׯ9a +sA9ssQtm+Wpssí[PdI 999N SSS#;;/_~k_QQQ? &LSSS4jSNEPP.]C۶m1rHXXX`ݨUu#>>W\5j`޼yx ,, 4@VVN>… =ڵ+Zl!Cŋ~^] 﫯VlقEQq*..v¨QPn]ٳhݺ5 Qj|=ТE ԩS>>>([l[DH"022^x $''޽{(RׯϫytD.dggKjդAo_.E+ɓ'â-5j]]])R,X@Ep""bee%SLyc_aaao#… ""&2n8{tQ ,(ZjQ.\(r56mGjժ[N]]]QtQH,ŋ;;;{s}155-Z)))I"##%88XN:%.]gϞ}P*ү_?ӓgj:RvvwZ#ÕLp [lK.I4177'/Cy6mTuSNM69ھҫW/)R$%%U%&&sRSS%))ID^~JIVd2gٴi(vq !!!B"*TSSSٻwkebjj*t|1)SFz-s̑ )W]̍`Q(֫%GGG6mԩSk׮ΝHυa ,@(_)JٸqL8QΝ+ol2 vDDDeӦM?ݻwUѣG%!!A]vҪU+ρ+OH/9.}hii )S 2Dm*nݺUiӦVszuBow^155 *P} ##MֹsgxzzǪU~Pf3nݺ7nܹsĞ={кu5>>5j={UVwͱ5kf͚ڏ3f`ҥPK=t+7n@4`1eʔ/^ѣGW^X`{Kvk.,YH񑑑N:6m=vԩ;wz:u*mۆٳg 2a166V򤣣# ~6gϞɡCdҫW/qppr7nVJ*%^^^Rvm @Dm%Y<==?i_T"m|;wOj39sFȜ9sd/^2a„ܹS ?^rzJ G{$..N4i"zzz ""WzjղȽ{ѣG/ bjj*3gΔk׊jJ?.2uT =z~ ÔXPנAiӦk7ч+WHLL<}T@uUJ5o߾f͚޳|i׮-ZTڶm+˗/={B6me֬Ybhh(?ɸqÇ?22RA-/@,Y~?7R)*Tnݺi: R7o^.]ܹs(T? W^ҥKKBرcEOOO6m$ZzޯJ:t萘Iҥ姟~Fܿ_{Ӗ-[M6ҠA ٱ|߼|\={n 'O꛸۷o1cƈJ>}ȑ#9V*r]ٶm;Vu&֭?C/.VVV,pbjj?pBS C.%J!CEDDԪU+_s155qi,cDV֯_/}_%7o;w8&߾}[z%vvvy x{?R);wq/666@ʖ-+>>>ӷ#577mmm)Y۷{޽[fϞcϟ,Y2(XVVVbddcgݻwϚ1FoJR$ @Ȃ 4G]]]x񢈼eJ*Rt|3|Ν;kSNB~A5mbcc&D QR%899Djj*>kkkk޽͚5X`xyy~~+… h"/_PH"NR{ja}ś… K..HPh:prrt|e˖x1rs=\|qqqx ֭[={S,X!!!puuELL J*gϞ!)) +VرcѫW/Z_aÆa׮]Fźpׯ&M`(\_H888N:سg PlY4mk֬Htܹs.^#..jL0˗/GFFРA,_WFBԖ%7RRR2eh:'yf//掿Ǐ]XX)RDZhw$&&Jhhشiݻw˘1ccǎ u{{{m$JRN>-5raveRb{_vM#oߖ+VH˖-eذarJvǧ:rrҥ@\($";wZ R{ʄ r?ҲeK= SL===UuI@@W<<?k t3fjԭ[W#y7o.2l09q:tHn*k֬K.BBBdRlYձVjժzڹs(P@T"*UwwO.H̙#ZZZ#&M2qOڦ~A/.Ϟ=ϟKXXB=z$&&fddʼy$++K7n,Ŋ7ʊ+l۶MLMM\|}}U]vg<<)/|i޼{1U*2l0 -ZZZСCEP( ՕNH8|p/^uY/.}}׶?b177_EPѣGEDk׮,RreՉ;--M/.ҼysUti޼ʝ;w>8ru)߿/ZZZRpai׮IZZcϨ(_e׮]r19{ܼySvCx5o@߸>++K:7N233UsAjժI%E7n,ڢ#Ҷm[Q*ҩS'  +4 i۶;﨨" HAPQ)^ jEc1bG%]QbM,JD 1DH:psN0#֬>̝/^ :JJJ;w.򐕕P_~SV޿ }hժЀ&?.w|f̘--:]ϟNj/V#u{.{Ӹ" 3g SLae6lvZ3x"""2ۤV)))a_";w.Μ9S'S;̡8^=*_`x<x<w܁.\ap-(++pYvohhIGG LKKaصkWuֱ?ġHHHǓ98wb]vpss+s>NNNéS`gg###޾y"uxg^D֭[uG|.=xU]V*{K,^D+++~999x accS+tP>EEEhݺ5{afrxM;wƻX3IKK>VMٻw/K] DD$HH$˗I"Є j%ƍ"S(ԔJjh"p.=zD͛7._"$H(??Z233)66mKɓ'z9EEEQTT?lBDDVVVԷo_ "X,ppW_߿.\Hjjj ?~|?p={)S,|HD%+cǎtUZp!);;?^+=TΝ;G^\G%5uttƆ߿_#kkk;v,ٳ={Fo߾Pٳ'mڴBCC:gpp|Q\\\D &OOOɡÇWKoi[gggz}D"EÇ'N}233А!@@2cRRRR ϟݻI&u #kkkݻ7k)Hz3Facȃ-[Rdd$ :rss~k8{N+k|K+yr̙3ԣG臨mŋi쉈ݽ{ΝK#G &ɓ'I,SXXX~:y$STT{ӧG"*1NRSS}Yq ۛnJzuUjpp|UԩG%H}O~N>~???eݻ"Bݡ]666gs6aGff&>} GGGhhh@UU'NܹsADؿ?O/ϴwaʕ1bƎ+zVaѢEѣbbb*_<|999Jc6lEWѤI{d]v b! 1ydU-Y[aggݻ - B׮]AD_6^54!ի=pa.CpGFjhkkCSSO,J$ >Xj?˸5EZx%j֭D;ViQ'cH$D"lٲTׯ_CUUPWWG&M0rHhiiѣVVe_t)b(| ~733~Oͅ'x<5jzJc{ }OwDŸsNuǏCWWK,D"Aaa!мyU޺u+W\~Y6rssѣG7n,}]=zD(C]]-ADǁH"Œ3Ν;W;50駟@D={64 uuu;Q ˖-a̙ EEE@ !ѴiS/#7oaРAPVV $~.]Ei^jطŔ)Sʼ L6 YYY000YPSSc y-ڥ)C!:: rQ/**BRRann-Zԫ4ҿ={߉XOpp00w\L2 "XZZ"::NtJHHI,q#a.}JGf͠"Ž;pX[[C gZ]Q\\ '''!00D{wޕy?8y\]6la(,,Ļw={`7nlقT, -[r z!" Յ*x<BBBJ  ahh;v(L %%%̟?YYYӧOk5ĉ! "455vZk=LMMمaMW(Pr888@MM-nV_?DuuuxxAp-|4m7%Lp%Igffݻc߾}|2,Y"ݻ,… "e_f TUU 塰RSSѭ[7X! ej,BD777(TD%%%$3@8 gpk͛7+ 55ƍc˖-éSdҒusΝ;/`^W:u$%%.1ХK>|8<<<`eeÇ̙3l=(,,/VTsLL [kΝ P*_"""бcGjS]vEӦMe*O.kǏѴiS888СLoim{{2 DE /_:.Z=5t*ː֤);"b CKD˗c߾}uh!,, <#;P *\sΜ!w8^H jjjؽ{wbvs)t|>Bx߿?#]mbҥxu:Uۇ?""-[yݥ w|=fΜY/wRzʕl𿋋 vYK'++ 6l1c ]Vn{i<}]EzǙ3gXM6yɓ' " _6,cq9gpkf`Zt)RRR?55î]мysv11p@0r*-"66CχzuuuB,Y@[]Μ9www*dѣPWWGӦM`hjj"$$D+V7vXΝ;uuu|GӧOSAF؀ hii߿%55D0뉉 w ij;Lqq1ѨQ#bʍW"}L6 9992_nnn6lX *vr_/^ ##j{5Zjoool۶ 2oeq" z|PSSøq&a$&&"""ׯ= ˗C__***ŕ+W* ...fm@&M`…Ѱi&,X"k׮777G˖-1eʔRҀÇûwj5hΝ;KiѢ|>9¶sA@YYY9sY$~~~3f VSSf͚UEU`` ju:G<^ 2֭[Wca#55n݂ 455+< a]켽K0 SlR000@~ o([YfQ'2Sц  A3c ذ=z[n!99~+W ڶm @" >///ܹs 3@85z]t D'OUnyddd`ҥhܸ1XhQ)hԨЮ];vWzjlݺ@IvM q"BvUV2+WP(ijgj=ׯ_cر)OTTt555?Xnm۶;ƍADhРF]fZXiĉѪU+B'NÇ=|>k֬?5QQF烈m۶˕'Wx`F .^X#QI]333VdffBSS011ACCcǎ z*~c|O8/aн{w WWW̞=cƌzBl={sٳիWiׯsB z"|񁊊g|0 0~xM6 4gϞ D^*]޸q:t`HZhJ>Çͅ1^ip?0x)q}zdd$XjvUjȑ000)z a0 nݺYfNɂ dN{Wر#455,L4 HLL/899aȐ!Un_۶mH$28ydʃ'Oq011ǏZ!T%+[y0 ux5jƍc>|:0 ޽e˖AWW:::颽={Pʫ80 ѰaC8;;c޽v/۷C \]]ѧO=M6A TpA" $$=i9CpGF^HNN.^0!88XNZ֌[nQF077G`` [&*ׯKXb AD֭&LPsss)}a\x2k;wƑ#Gt @Im߾}l[]ta ӧpeV~rr2{BTRKʎ;@D2B-лwRJU ,?8;;W}EܼyÝ;wX֭[[áf͚S]ɟ Hɓ'UǏ1b;#FQ+r7o-[KII˗/D"իAD?dHPAOO~~~u`C  0wJi9CpGFj̘1VrL"OP˗ݻ7TTTᡰЂ}2Ƅ4}pp0ݻcǎaҥ1bTobbݻ h۶-_(bڴi8FFFuVɸ˖-À]K"99&&& 0 ol޼jjjNj/m[0'N`7~'Y۶mX,'jեƔ.Ǎ|t`ݻw-ڵkWx<_?iii044D"QN WX r3@85󫑌\hkkcڴiHMM;׸z*m"bBK_h߾=||| UUU4oC ap !!AF~XXLLL?" x (** ;\\\d2 ٳԜrrri&Tg#Farc8;;C J;9Yruf} ѩS'W; ZM>,--RCCC!ХKlܸ“$ :M!M>2w]\\#GQFAGGT0sLA]]˗/{i.]Tj̈888@OOӦMàA\cԩ\\\\\ФIܼyֲBFF6n܈˗O>l֭[1@_+ ~H$իW?iiiܹ3B!~{ ӃH$*V{nhkkaÆ8t-ZݺuCqawoU˗eeehhh[IIIa7>GU E /66&L`wkDEE?Ç`ll eeeܺu /_ĵkװrJXZZbhܸ1lmmمD"q233åKPTTXe˖l=m=է|>۷oǩS@Din:2;::UVhݺ5qi(++_"""x֭{Xu@K"zzzС6nX'Ui<Į]d|!7p@899!##SN2kҥ H&ۂ ФIA7nTIG˖-+uO'5h hkkN8>?¡8^4Ȳ&FH^^<<<_lI_#iiiر#x<|>> `ii ###ozzz2iiivVaرTݻwسgoߎsׯPXbڵ -BTTRSSK6WCCDT` 6̧~>NRkײ5g...IS,cŋ&o0S_3g?Bȑ##G*L=j(jՊt?f T:ǝ;wrJxzzĤt2 E |PJ5׬YSap/L< oҗ3uTn_ajj 33*WfعsL0nAA`cc*"Rh\ɓ'wwj>%sNiJjafUVX~tPSS(1Eҗ1-[dv'NÐ!C0h L88~eL0&&&1ce0 '''7nիW֭[5ym:u 55k׮X,ƞ={X  <<DǏj>bƌPSSVbXbڵkXgVYFQQ|>m&s->>^15kV5k3@8gpk>x<4lD۷˴SVV:Zn}ח,YRE84aÆҒƍCCCJJJ2*]h|>.]OBUUmڴAN`ff?VK#GjU\Zo߾8}\ҤfggcΜ9hժI. a0h ")):Ԇb,]Z SSS'??Zë%GKKuŻq?8{, 3@85ŋf*ruueG ÀsR?Ba.2 ޽{yQ9?3[pƌ@ @N ^f b1yf͛2ˢݺu9X^mcM~~>н{wǒ덌Gz 믿U2|pV ~)/\MMM5Zcٲesb1b1 }}}L:Z884O? r3@85e:u ZZZPQQQTTTwvv6;w"44K,}iqAZZ؏+WڥL;;;! àM63gN1?~d+oܸIIIƍTF~j &&Dk׮x3g|>6mIOO<<<4͛5:]~@I=ݻRߘ"00>>>PWWO?X KKKe˖ՒrJt  b#9CpGtL0DWZ!""={H&ǏׯtttvZ"(I#"BLL {uѣѡC? bitG ww+*TLL +$$v׮] 4cRzz:lmmaoo_mW4igFǎK% ¼y"ݻ7Wm_f#8C Am6Zt)eggԩS;vSRRPzz:ٳ=zD~~~>,8"##QFNo>JII! DDooߞ\]]i˖-DDtС=}LJvEGׯ ݽ{WfO?#<.\HEEEtܹZͥyt]ɩvߔ""RUUѢE JLL$PHZZZ>?RvΞ=K ѥ2$ y{{SJJ ;vA>{}dmmM={$sss:u)++W[`233UVчƆΝ;GdggWm_{!KKKٳ'۷cB&ݱqrrR0p~~>݋I&e$%%AWWڵCHH޽(Ӹ>455!ahhccc؀p޽ '$$x!{Yf4hP擐"wԨQh޼yƯl < "hjjAAAχ=4fʕ+;X[[)))puueApp0kKc֭ |2w!w8^SDp p%6 … غu+ƍǶ]dQ'N$X~=::::ZjW^+oyQQQ쵁wiZŋCKKsݻ7̪U0ҥKXbEǯBDGGcŊڵ+add 6TT$6lX %*۷hڴ) cxժ!Kbb" .   .nÇADl,ƍej p|]!C߼y3[;!!siӰiӦ2ǫW`kk ===JP3cСls`UjMG21/B-/^1قU͛71>}|~PhРgpP<7իW.7ihhPTT=}}]]]8p 4:u5dGEEQBB31o߾M_S摞N nݚz)sӓRSS~իx*111A4p@ڲeKAAA]ruF=z[nQvv6RZZt5ӧIH[[޿O^^^t2d]ICCi\Ѽy͛\n"266ƍŋIMMc,_K.L&&&߭[7+W5a 'UUU 777"jspTJ?QFzxĖ-[0c ;\^|ĉCx<2Szz:[Nڗϭ[˗4k,媎HOOm۶ь3I&U꣬LqqqCSL!""+++~n݈FIG:r]pOC͟?޽K f6Ū<$HD'O@ bk}J\VWZEfffCݻwwQ6mΎ^Jcd7oN&M#G*jZ0Q!{%߿{cήP=yyyѺu(##CQV+W"O"Џ?H~~~r-YC:|j46oޜ^J'N͛۷oKDt!rwwiӦӔODD4sL;wn gT>ԳgO 2իWsrKAÇs5o޼OU^Kݺu˗[6mJǎLݻ7]|(!!ׯC[:}4Y jQG0/^c2}}}! ЧOR.XP(ļyd|9s@ :PNNX !$$dž 괖B}8q\TZ{044!88X:ǫW`hhKKKt =zm'gѧ>ҼysL:w'SA>//D{ACgPQQgpBhiiUVFpp04iF!33Rqqq033?^a[yspH\rٻw/Q)+{{{Zz5?Ξ=KSN/RN(++LY6664zhڲe [sMׯ_'DBefAAAs""tiiiѣGiԨQK6mݛܹ# ܹC)))#Wd``@?.MΝ۷TPP@DTf{a*QLMMN 4 aߟ^]|444E~Id̘1dbbB?#I$"*[jjj_cщ'hE{ZρCΝ;i/ѐ!C(33޿Oh޼y0 ]v455edR`` Y[[Stt4]tIKKqƟ{Z GXZZe˖Uj<k׮e}zdddkkkCSSW-y޽Vb߿Dx;w " +VĉqF|F Bj] <:t]aaa; ,rO 0 KKK"~^ H>WÇh֬@`kknݺJJJl1JϡaÆJ" 8::ݻwl]Çc 9b17o555hii[nU:) erҥREE@ `Ĉ 0i$(++2@:t~ɼ "άA"pʕ*1)) ͛7gFFFԩ{MjH$ǓqK*YfA$.MA7n7op}?xD"6lŋWާcѢE ",Z蛨K2n8Մ~ xe{{{J\ꔔrJF~#5泲kڵ+x<B!{bQ0`4$ ɓ'kc8tPU˗pppNNN000`  ?~011AqF=fff "lܸUVXgϞAYY+W\8CpG)vR^x}Fdd$.\UUUT.IKK&x<^ eV|>],O6 xU/+WaήT5BƍADr-gii֭[~ϕqѣpww(etr :t.]ã¬d"~;v @iQ qybڴieMII&xuQn޼ely氰޽{q-ʴGBBo bΘ:u*><lVIaЩS'XZZ*+8CpG)ڵk B"kkk|W׮]KT޸q|>̴ .χj(wE^qqqӧd>|p]DDB!~*/v! ѠAt/v-1ׯX,FNN\o1cFH$6BXYY_~r[a888 "lٲJ} ѱcGx<32TǏm}#""JUA7022aϞ=՟G5GǎS]Y"11\cYZnnn&ءC@D?jYp" w⯿*?U^|_AA sNcٲehԨա۷om̗/_bΜ9B~ТE x<{Nnc65g@@--- :hԨQ֫KǎaggW<_ӧO111Z,]r /߽{W.fڵkǺ+FGGݻw9s&,---+&&gpvv.vرpqq)u=99b3f̀TTT@D_"Ga "[N]0 غu EUBࠒ*3f ___ IDATrqqk׮ƍidggG~~~t1֦(U>[n7oСC _ ͣ]vѣGΝ;ԳgOZd jՊn޼Y#֔KrѱYfDD{yihhikkӉ'յڲVZEffft%266&PHGnݺŶc~wj۶m)N"iM .$}}OBCCiԩ4c >}ϛ7_~)MAAEgp|W^ܹsiӦMi&""ɡhZlY(::8q.]DWx}}}f͚ڵHWWzI<;w6D"xE"*Q稘cRpp0}~JHHٳgW[֣GGԥKJLLX$ڳgI$6lyzzRbb"y{{EꤣCvvvo>Zd xZϕCF q &mm2'%%Q@@gp|1p7Kvv6ՋiݺudaaA/^[nڵk͍m]vr[VΝ;׊5dddDԽ{wsN&$$i„ $W^Էo_Zn\d~t҅ iСT\\L'N "#GVN(a?~xJNN3gPxx89r>~H}!R2|>ObcciРAԽ{wڽ{7_RѫWѱ6v`۷/nZ:pp(&y&uЁ~w͛F}C:z(֦Xڷo%''+̙3iժUt)*,,铔D=z }}.={̙C3gΤkײ;%yΜ9CDDteӧOӱcɓ'V-L֭#4x`jРy{rssH:{l >SSSͥd̓,wԲeK:r6ݻGDTr9ׯ9sܩ w[~~>dL0 ޽ÀpԩVQPP@iӦ_ddd 00044,3M<`&Mb+o߾UX_AWW.9s|չsgUK(++f͚0`̙x}||<qdggcPQQ^|)9spHy `ffuU>|X}aWWWs(7l0# @!cIqq1ڶm OOϺVx!1i$/رFFFhӦǫܾ}:::puuÇ #qI TsyDFFO?0qDL>رc[-..^^^x!$}͚539ʮ][ӦM<|l8\pVc%%%pRwXGz*U (V,F"XPl؂K'{76E +vD4J?. vgg3ܢ#ɩP|At@R/|k֬W_}Ņ 288H,>>555ٴiS<}CS۷o͛)SJ4/^(vK7n_}ık׮Y&SSSGUUUΛ7 6m<|eN8QzAtpp`~(hmm͍72%%7offةS'@P(߿2&L`ӦM5B~?,3mrѢEstt "[<7"Jz;~8ʊdÆ ˀ[^$''S.sҶğFDEEQCCڵkؽ{7j֬ UFt@333ӧO1{liaXv—_~ ,_]tFÇW^oW^ǧ.-d2 jժԩS>}:BCCN:m\Ǫ">> 4%K0x`|bP$&&bŊS_ɓ'jժ011'bŊ"VGU?ϟ?fϞ ###888,сz sss,[LKKC.]իKO=жmbo4;wn۝!ˡP(۷o$Μ9HAP`Μ9PSSC=ě(L Dll,,Y~x!={& /\ݻc8p\\\8jA(y"Ç#,, aaaptt!r3B E؝;wヨ(d2hhhjՂ=zuoX`ԩ<,11[B@ヿc*U аaCرc022RrԂP<CUUG# \E0j(ԩSHeA̸bʕڵk޽{hӦ ЫW/%Geee_Frr2233s300Qre={V>c իW/Kwn~<==KL01113goߎ9s·Px7x7]vعsg: !)c܆ !gĉmmmt {ѣKu۶m Xhd2Yǂ k֭9ƌ#Qի(TJΝ;c׮]CXX.] `Μ9C͚5qQ,[ ǏWvPBBB`ll,Mwy*5k *wlDDw+fihh@GG>NN:_Z<9r$gggTT HeeeΝ;8zCJk׮a֬Y>>411e/WSLUTTطo_6lؐƴ,SJЅ NY&̋/aPDD(ą/믿*;ҫW Cv}}}?xl||co߾eݺuYVR??דo*1a8IPF 22Ra|6^~ ???<~ϟ?GÆ ahhիWPSSCFFUnдi͛7KC *55M45yxx`ݺuE6pPUUņ PBiŮLTRGEÆ 'Nso޼Aƍwww,_r{BBB`ii UUq+) xxx <<RHNNܼy/L\HHH,Dvp֭`cc?hժoߎ*U()Wll,0^x B] Uoff&ڴiӧOcݺuҪfp# 5k6F<~UTB 0|pXZZ/}CPӧȑ#8r{YF]rE BG01ُ~ݻw+;RIPPCC+WTv(Bٶm[%Ņ8a޽{W~̙C33|s=vؑ?#Hn"ݻcƌaZ>,T|@gg?f8w\^zs%r7.OmXYYNʕ+Rׯ/Tryyy-ZZjC400`ڵavЁG)H ntuu%9J514o޼yCܷoC)= mmmyaرعsgd2Κ5III󣧧'.\H///ܹ/^WCC9|/BcΝ;iffFsssO{'OGIf6mτnڴIWʫ8Yf>6## &0**eөŋK߿O7oX3P(i&˗ܺu+_-[ӧO|̙3iiiɖ-[ qO?ʕ+ AeŨQhjj) )!O`` oB`VVSRRīW'.\P١|ٯ_ߵkWi&}!!!9qXYYFRGa!CpLOOŋihhHSSS>z(O1̛7ڹvH¸rJ=z4.]\y)Ըf͚j*'rlߺu+ޞ[lSBy ;v'Oj*^p\xML&gϖ`EK܇ : B&.|y}u떲C)5 =zD֫WOzc+Nƍ9p{mk׮^]v144VVVR Ϝ9T.^/^6[h8xr;wDzz:~'i{V y7bǎ,3gΠo߾܆ׯH#..;wnaBI= AKٳ+7)z& 3uT7ohmmM ڵ ,۫W/5suuԩSY#{7g|5=<Ǐ9w\p=z4gϞ ׯ'֪U$#gg E9~l8T||<{)=ˏׯ_S.s֬Y^{s>W>,P---ٳgѽ{w%G<=mԨ/XYY)9>}t# 5jhƍѣݻ7nܸ!mWWWǷ~@ 0Æ Þ={Ÿ wwwtW^2Wƽ{0~xUPgFʕ?yUVŴi|+߿(K9;B&~!wׯ_3ФI\~ؿ?nݺ~wՅ7郴4۷=zw{  6D||<6m䩼Bݻ?~J͛7bŊ߹s'Zlg:vOOO<|_|Ν 92pqqAbb"޽{e˖µkנtXZZBr IDAT.[nʕ+G{. 777ԨQr 0c @EE?#ߐ'OahhL/_BMM IIIE}ZPf 2 5B@@bbbN D޽ [[[%GUd?xL *޽{y*߰aC{WW\˨M ۷oGJb `۶mG ]t !p̙oAPP0bi.]hժƍٳr߿?ƍt,\ЩS'G@NNNyDGG#))  ȱiӦ֭4R(jjjԄ9U۶mCJJ F L& @ll,0tP;j366_#553f(ASP%|-Y̜9S`pʴP__֩SVVVLddjj*K???fffRPPUUhaaիr]vҥKK.Ie={&)䓙=r> FX,Źs稩I?>ݻRkkk&&&۷477gϞ=?Frr2/_Gv444KئMv֭OĈPDD(ą/5k͛+;FBS(^?TŊ9d* FFFѣYB6mڔΝ#nU6mY8f6nnnRҶ >>lٲ%[n\l/^LKKK~}/^`*U=z`&MȲݺu pʔ)$5kP.3::;VZz>Iy޽{X a8P _9rxeRYYYL;t۵k6mHǍ'e|S>}PMM(iiiɺuz괶e˸zjvԉG;wzOLLL֭[iaaA~0+VH{zz]߬Y3ZYYI?ݛK,S󉉉)ߖ-[ؠAjjjJmV$u KKKcPPnj#=9sf2Ǐ'[$khdd$nݺIxShqƍhԨ_{{{eY &M 66׮]C*GAΝիK GP@EEEF`` .\k׮ACCӧOG`eeuuOֽxbL8O>ͱYff&`hhϟ????DDDUVV*WJ*!33xƌL̛7 1bHBCCxmmB?ƢW^8q-[#dSNhҤ BCCQF :u ~-Ç8}4\|aaa066z U%}X(J'O^ &44իC)YYY;v,pʍD齗‚ 0<<}'WGň#%KT!VBJJ X>** ؾ};X>W|\|YYY`ׯ_xtXX ,[ VVVXd f͚ڵkcǎ'Oзo_L8=zɓ'$xٺu+K 3Pzl߾2W(hiiɠ ̙3F\.˗)(˹dɒߟZZZI|Rptss)q|*2߿?UTTBO$t\ZZZ5jTןAZXX011rժUc||<8`A(:o޼a=Ʉ\˼}lݺ5wIBABcuT_~W_Uq'OΝ;9Ԥm͜9s&9BggOv@ttthbb )ɜ:u*555iccW^);BKOOg֭ǩSɛ~iZjQ&qذaLJJ*vFMԩ^ׯ_繃Bǰad2>{u d֩S烝` x a8Duͱ͛71,aРA_*eC͛7XlY,|͛y˗/WvH>};͛IB%''SNy&֭[Wʕ+e\|79LLL0|pܾ};cлwoBWWM4ŋ ͛Ѿ}{T\ugmmN:a֬YHIIdy555|_5^zcrVsNܿ7oބCq.eP(3ԪUu4h=zeW amm]b߾}z ddd(;gϞÇ{n)+zq ?1h >|9>ޭcǎa…ߐ 899ax%޼yk[7n[nv~BYx1"""0nܸOPV^Wo߾HMMŖ-[ɓlllJ rA(F(}_Çg֭iddK.ZCvSUU'O!X%… GJy3444vZe' !>}P%OOO(uMZZ_rڵҐ¸8륲o޼eرcg8w\s…422 6/_f.]:U-[R^lll9 A<޳|rt1sL4mڴPu֬YÚ5kYD լY3888_5iFBff Kܹs;y$ #/PrТE d2Š-[B 3f *U;رc@TTT?oСCصklmm`b֭6mX~=6mCaԩ011)`yʽVZAGGk֬)jn |{@B铒x޿gϦ\.s-' $Sjhhp̘1$e9~8o. *vy9311Q}0$111ܴikժEYfWzKLLCx}iy^z9 ˗ׯUTTXV-G֦РNWV7o9O܇ : 'TQQƞI1|Y: tuu{X9P(جY3鍾 ֨QE^VV'MDMM CCCnٲEիsvZd2R__VVVȑ#peyMMMPޓgzEG׭[L*T~ %oP״,۽{{ZGGG|rr/W^Q[[ O@tpp"m'44]vL&3Hooon۶ڵڷ}/t`` Ɗ+rtp߾}Eq~~~co23R Ϟ=U(lҤ 5k&(3g"BqO:y$d2Ydv577ñc<| RF )3.+WX{Aڵq۷+4hN:Add$p2M7hUT_|;ʕ+hڴ)7o[:>WWWt-Z˗lNDiddd$v_:+W GGGر2 ǥKbŊj]PP:w cccԫWOB': ~9spqܸqGE=닾}7bƍx)ӥϜ9v&O --B/+?ѱcG;+V(T0`z'O\L&IHHpKI*^};޾})S066VvXݻ9~>x N>]:3g`ԩpvvƠA0n8XYYҥK\*X(BAAOO4P#XL~.B۶m#+;ϒ At@233+W0$$JG\WHH4hcrǥU TիW ϟ/8 6mJ;;;FEEq[H*"##iffFidGQCCs-TYYYׯgϞejj*NjժQMMMk׮eZZZQDKKK+;ϖ AF Bu 4jׯ_)u1c`ܹW}/^@ʕm6߿HbtZh+"""OFժUq1̟?j֬Y$mgq=T\Y(M۶m?6lիW ~͚55jVE>>>Ұl/Ѹqcԯ_666Add$222/_0bĈp5~x^!!!r ,,,вeKeYaX($%>y)o޼!oܸ_~twwW:4u֭LO-[i;UVV]\\ؤIetwܡL&㯿ʴ4rȑ۷zI}||κuJY}-UTTcGccc֫WOZnƍ=2ϏdZJ=\١}V}X("jW2 {cHÇw^d2vޝyo߾l֬Y%+ݻ7ήX*oƍ':teƌ .pٳ 5/1VJuuu1--}͹yf>~X:.%%NBAOOOk%u,X@UUU0$$@}}>N܇ : B&.|%KzsW_$:D---#oڴinݺILYYYy&;ƍ7?&۷o_$mge˖);R#""B$$$pҤIq-~לOY>#G*oߞc222`ir~ *vwт ƍSSSժUӧ2#F%_Y : BqT+ _˖-ϟkQY 67NzرfRR']6v)u&N:kА9͘1Cq.Ԕ]vUv(εkXR%Z[[311;v <Vzz:6_e_wV^%''ڵk7oׯ/gjj͛y{qqqqMٰaCpLLLqŋ2E_Y': Bqx?v 899A[[-Z+W];555 2*Uʱ}ĈHIIڵk?YG׮]k.DGGǏ1bԨQ***PUU)=z@Æ q%DGGc8p 455:t邹siӦXbEBٳo޼k[4j'NӧOqqCrV^7ax3g΄[o$''_}M hkkcҤIXt)Ο?طoUۣrhذ!֭ }}}믿#lݺǏN:5kUV̙3PUU-A(ecˡChoo/}bv…k4{p„ ,srjբ1GM6m۶Rŋ'emm-f+V( ~S>">>^zM###ۓRB5kuO G%?u޽{ 2"""ǏS.sn|5wH |v'OI;lj' BqTSRfǗx͡C[nS]RWWOIIQ_FF---ٺu<zYôdo֬T8t…F6nX١J7o&Iٳ2-Z*### TB3gP)bA%$$pX"Vʘ\M4r'N,0WZEBWJýr9]V຅8P)WjU mqޞ*U}>!!!&&&xoxtt4LB}6Iŋ+3gjժ:t({s۶mVjU4HZO>ɗ (jժc^ӵkh``Ci;YYY߿?񿢣 8tЏ̔;v@) V\#IАvvvlܸqD&䝲B$Gطo Rhذ!1d}.Ν ///G۷/`bb b֬Y_>`ii pttsLQNԩS^^^ر#  QUU8.. 6ҥKakkoo+eG:uŋr7)ڷo={… 2dۇ"k~_TAhhhMJJBΝׯco***8~8p=ٳgP(HOOGll,RRRKj oرppp =ZA(B ǔO^\[N{QJl``QF%;?,Y"`')ɬSMLLS8ϋO'''~<a8P CP088ͣ4P&Аui^ M\.1lI& Tqqq422)SJ+O>2֭#|0^^^+WI{ׯ_˥+۵kzRRRhkk9,lll={,P噸 At@R-HWWW޽[! P( 鞞ܲe ={c<~,_>|(}B,ݝ;wX~}p׮]{Wۜ={6VJZh"ٳihhXc{Yng)A}#&{nQt@"'8B&>y){ ׯ_OKKKd2ٙSL{Az-AR^%%%y444̱ڥK֭[SMMlٲeDcǎa֭44 w 4TUUvZdee);ϊ+TiӦ!$$رc u M"""B)v lٲرFFFprr*r9 #~'NAիcʕ%JԩS;wpBJGGB +V`JJ pڴiy:۷hggǐeYT(?'֭[ݮ^x'L@uuu>x ԩS,YBLMM-۴iÇW_QWWWWׯg۶mP(I~=޽[$WPDD(ąʒDFFZz)NNNfjWvquuuiiiìW^\Pرc^:MMMy~,--ٻwo['O;@J 444ĉmTUU-yⅴzqT(ԩSFkk|͛7sN O܇ : B&.|SNr?9c Ι3$ɰ0ȑg޽{R=ى̲8g=3g_~I!C<R"9J@r6kLdϧ={C矹~^v}ֶ@9aÆJ*RӓhccK.[}%6o}g޽'L&/¤|HuuuSP(J'''[___ZeQ,a>,J5q+?ƍKoZjE333`ǎs gAAAR=_VVV?~7oސ|U@-e*߾};Dz:Q\C9s۟ABv۶mwC7POO/ z$}͚5 sZe At@RM\ʷLi8.Ywq5_ԡ(-lD a6P}6>cX#1cd43ljvD޿?)s|}֖zA͛7^z>_|)۟3iiiQfff)883gݜuĄ=~$2>3EQcN>/bHLLDnn.~Wo =r"""`nn^̚5 jjjewZѣGAO>JdóOGDXf u+++@MM gΜAvСCd Cvv6.]T,ŋ {{OϘ1chhkk˖A6ܻwcƌoϗkTvRhѢEIm۶%www:t( 6|||(::Zaڭ[k׮A7n,lyyy@#G =Fyyy J^qS˖-/Pڲe D"200 MMM=vXTTD&NHիW'[[~*99ZlIF!gQQSbb">|HXa<O [l)6;w"44ض/^Ν;LEH$D" .?ñc4̟?fffѣG?Rٳ0a<==(٘6mn݊3g 99hРq}5 w?|||pa\Rn­_>ĦM~v+ɓ'ƍ͛7e;B$E߿?BCC!0j( $$$`С(**:u :t@FF_y000ꊆ hjjevMԤIѣU^ZhA/^i߾=D"233+6[H$ Z>f$HFQׯ_ӡC~TN 񂱢8qjժE_S=YXXȍP&iʔ)^b3g$---駟hʔ)dllL"bbb|dseRWW#_ #G$ ]6ݿZjn:"":s 2ϏP^DD.9HviiiiWEy) ̒HSS $+,ܹC4~xYS͚5I,)S4ӧOI__ttt˗fQx ccc޽;ٳrrrdsssݻ~JNN`_YYYԩS'ل}!Q}( Ou֥]R~~qGק-[ҕ+WdEȥKޞ?Ne$Hhܸq }~'EVa\2[bb&L@MDo [[[޽;˝a!55H]]B n\STTDo޼}x :uЈ#NyRRRUVԴi*7=x7oNt=rpp 555oI$ц (--jޏ|ڸql(^zɝ_޽*>3Ew@X]|zzz[޳gOr˗/_DlٲE1Ɂ%޽GvBGB֭_`߾}*."D"hhhލҥ 쐞.pO [[[ɓ.Eeּys\|2e vڅ#Gfff={6v؁VZar#b[TT°m6xzz"%%ӦMѣG!Hda``Ps˗/ŋ:VXp,..&&&Ŗ's۷/V\Ye0e_ٳg_1h Ȍ=>}Q*|K.BG)<,\;v!BCCѼyscUkƱcct[l^zTիWHLLıcNJm;;;믿F޽qYFnSz}?~yyyvW^E6mpȑ#a``++A+, yw(iD˗Ux>ڈNNNصkW#FIΨQDTJqqq*KLLD.]f,^W\AFUtOǏqQ8pϟ?G@@b1^z%_v XCFR###% 4HvMMM ;wFDDٻI}Ƙ<.@XC*[nzuprrwG! C AvvܣebHII:R ȣG`ggT\v /p?E-`ooddd +V ''Çǀmccc8;;c> ̟?&L(pΘ2e ./,,f+ڵk|gg,e+x{{y^^^-ݱdɒ1dddխ[Wp8p Ҍ3HMMI,SjhҤIt2#YYY(؄a\2+,,֭[SԩSGs!XL۶m+!"rww'H+tjذ!~ /Ů6k֌ͩm۶믿& ԩS*BG?~L4tP*,,${IիW'777R$ oߞin: 7oѬYĄ [r\!!!ݻJ֮k׮tUٿ/mmm6lbZf PZZZew\ @G}O^a/y) $$$PNH,H$"MMMZd\SmH+,۷oB>o޼0ˣgϞ}74{ldddPPPPPPk׎$  ???Y'XTXB&::LB;wPpp0]zݩGTPP@/Ԕk;IV"+++RSS#__ҥKQQy)B g[^SNBPgϞ- cccӧO|W$::ttt](2'N(!}"ڰaլYLLL(66ڶmK#;; aK,}ӧfffe(JKhСT~}@ݻwn_PP@^^^Ξ=KDD7nܠ}Ѱa  :t(&=}LY"0J׮]CrrQnݺ ѣGꊐ[NXJ׬Y3xyy~0nnnBGQ"3g?Dm"""F׮]l2<{L־8j֬YcV#wsrr*SFXFaرXb̙8pϞ=,իWYfի:vQFaر8r\۟~ GABB޼yN:eXEcx7Q؈#d֩jժ WСCq# /ׯcrss;wE嘘 88ƍT*Ejj*իŋypqq $ ,,,0sLܿ}.XHJJիWRw󔨫C"`Ĉ8pbbbpԩn+H?7n@nn.:t [?x`cҤIiӦѪU+!77r3Vp4M .Çptt:w)qPU׽{w >6m k֬Avv6~WzaرW_!33Ɵ 333tF~닓'O>---eD"|r`x{{M+%ncΆ) ׯ_Nj/?zzzq4m"ڵ+԰uVlUF\0*رW\q"==YQN$aҤIǽ{իNlmmADؾ};ԩ@"@$!//JǏ7`V<|cƌ1͛ǏsѸqc\t s`ҥ0a233?gϖ} HRbРA8}l_ƍcј KܟbccŋcȐ!(**´i`nn///Ɩ:cJ&K(}JRTTD#F CCRM(V 0u&t N_(3Dn:TR)++߿/ܼLۗ"p*4'66b1mڴI( {n@;v:`~7@QQQBG!"QFQƍe1ax>LqqqE_~%YXX#HK.SN>Ļѭ[>;KAA͘1֭KժU#XLӦMOKK#sssW߿I>fr?߇LacFƔ't_I${>,ѡӧ n޼I諯: |w,X@DDIIIe;wV<3tb˓cǎ1}ZWWФI{LXw!11ŒTN>cbĉغu+D"Б///l޼B ۾}{̜9: D@?6lݻq)|UVA$W^ɑ[gdd`?~֭}Y"sNz{Ƅ&"Ê0aaaAhh(*c̙3Q aiizٳZtrJ[iiij)hkks NSxx8d[[[M6h޼9BBB`gg3j(eLKKCRRZn 55rLԖ.]tXB(墠ӦMCtt4֭[l\[˗hۤ$]tABBñrb cܹhܸ1Ξ='N… Zl]viӦ066Ɩ-[:ڴi1E3cRkҤ ;^UÎ;i&kN8~M(2(**BFFeffMzvZEGcׯ_ǂ _ƚ5kpQ<~.\LLLJ|tڵkqe+paUzӧOT*Ug;777,U]rr2rJiF82`[bƍ9r$<<<xѵkW@GG?R)kbŊhݺ5jԨ!F$ѣGe? t͚5?7nPq1Vqj׮;bǎxq>KQQ6m*t ԩS " Eλ>|6رcձg4oUVLyyy˗!1uT,Yfffy&|}}ѢEb۽~ptt|]JJ6a߾}Ò :}2VZ\0*=H]v!''VVVرcGGhjԨ!(HU ENXXD"QbVV6oތΝ;C"޽{H$A^^Ξ=+@b_nnnñcǐM6a055Ez{!@MM uslDTʕ+>^|Ç+x5F}2VZ\0TBV!Cݻw/Њ.33BǨl4">>K,34i"[=zӧOG6mp#77WzVJĉhժ=Qn8s еk͛7  HJJ[~}lxb_tsʼ=᯿„ ;c\0TGڵg;w)))h߾=-tRyaaa!t !##033: ..3g΄aAAA8<ƌ'O 88X6Dvv60qD~N@gϞ 6l';wUڴiիW8x ttt ܳgO#664tuu`@HHHJ?1x`>6ƪ.@c*G]p!99YX*j֭NR1@CC))) ",Zfffؿ?<==qԫWO֭[amm-[AroHR,^Xx{{Z[FFF՟).]___>}&&&رcɜ?>$ >ke_"++ K,)v#t*11aA$yrITD[nEݺuann.t A$ǏT*$C~~>fϞ˗Ǐ|rK&H```P<7nج~:"̚5\҂'ܹiӦz}}}4iDCԞdJR 2DXcLYZZ"** EEE8}q>͛=z4U&t cӦM8{,֯_}o߾ذa|}}h"X]vvrrr=A):2{B?zzz;wnEjѢV\s=.[[[:t?s&H$¹s7nXy1`jjW\\?~\aw(zcb۶m M aook׮6C Aff&^*Ç?}irss3f/_͛ vZ 8Ãʵ({Ν;{ TV {VD*/>>K.aYJoԨQѣGɩ\tuuիWall 8zhXy1 OGDرcڵkCCC888ذakAU]tQszzzP---q dgg-?w:w\PYΝޙ+  !!?PTTT.v 111v #11\0T޳gϐ+Lٲ0{l4i055޽{q}૯$We#HPTT$ЩhqqqԏuuuEVV܌F;r$ fϞ-tOָqc@,c6>>-5H$BTT "*Ptt4K2qpp1j(СC5  ׯ_ŋ Crr2455ѪU+9rmsssq>Sv +@W^aԨQX`A~Gijj| .]([nhݺB2gϞؽ{7?  >իW#VZ 1!cϞ=$HOO,,,q$~!kxbH$$eKK$HDFFFdggGfffTZ5Ŕ,BCC8YձpBjР;n8200Ǐ+}ߪm۶榐VZMe>//nJ͛7nݺѩS2@qfdjj*t >3Ew@X1@zz:"""3g ==]EFdŔdӦM8qVX$\rQQQHKK͛Tpϟ?{UQFJ߷ӧlԣ&PZ5XZZ~҈iժUԩS?{o _IOǎ/3VqŠ111)@Ϟ=ѵkWI&OKbРA~o.\@50|D"rmmmL:IMME:u_<{LUe:uӧOqrmۖ{L1_%z Ըa* V*EEEHLLD˼6򐒒d}T*۷իW>hذ!fΜYax ֭[CիΞ=+trcooT*P1U{0صkT'''HRt +V@HHrssND^`ggÇ+mUE=7n,;7nĴi0ydhѢ\d1m44n7o:JógPn]00\ھ};^|H̟?f?Yf!99ϟǚ5k`ggcǎF6c``` 9|̙3E7|555[ /C:L"nnnA*wBGaLaxx^@Zd$&&b۶mXx']H$=̙}a+///-9r$FYjyIE A@@PF ׇ'6l//O匈0o.@XYXXѣr5}:rM UV )uhݻ '''f͚8rvڅ={`ݺuػw/Ǝ+')) 2Ց#Gpm,[bBrvV1͟?jժEbXCsΥ|Y;???Dr}M0AnΝdmm-[nSSS:t U26tP/Ǐ:sBÊ[p!ׯ_T*[nѰa}TTTLъhذaԶmR>I$Y&͝;ݻG111yx% JDD7n nݺ>grtty)aŬ\˗/GBBӡ 333ɵ5jF&N'"++ x5ШQ#Ecޙt?իWɩd1bz[_~%/_[nۻ!{ŋF!=='Ocpss2:+G{#GQ'"޽aaa9 quhkkѣG~i]WWҥ N /// <>mۖdUhѢEShkkUV)իWz ТE 0}6"##1fرcA͚5888`֭0`1}tDGG\H$Խ{w;?<:tбcaa___ر˖-SO}}}?1bD ˗/xb$M6aÆ~ J&.@c*VBzо}rwΜ9000}ʭOXּys޽7nĹsɓ2m5 eǑ#GNYfrs Ƙ!C 7oӧO_[1x]SN R|ӡCG]+YǏ,Sm\0Tλ ,XPn}`鰳c4h...9s&,XK.ٰrssQPP9svvvÔ)Sޭ[7hhh;w[.1r֭ xI,E\\n߾Ǐvc%ڽ{7͛+Vիѣ'/^!C^z00026ѨQ#bʔ) M#h.aKKKhhhիe*::Zn###4k 7oرcYqc*F駟トԩS8s pBdddprr:.`ݺu_0w\oGc Ƙʹ}6rssQ^2o۠AoG0ajԨQc*N"rˇ /^\dEEExNJnn.9,]ӦMCLL *1rԭ[Υކ  1V.rrr cccԮ][8\lݺ .D6m鉮]ܹs033dX`Vǔ1-[BMMTa…駟)))BfΜ XXXm۶.CD0`ФI\|EEE8~8N:UV U\0TNLL 5kV;v@JJ |||puZ T`BXU"J7F`` ڷo ܼyS<7oDPP֭ T*B.]*)LuqS)Dbǎ8qDWu놞={ܹsoy+Xv8l߾M6ׯ0uTlݓqQD"bU ac*%))IvR8p?>.\ #2ƪmۢu |w܁/W[gϞp>:u(=zaHׯm޽+bccA)$cj֭<#\;+4.i IDAT={Ą sl۶z01R6m KKK@f͠^;&M7oV1cUw}7oޠM6ɓ'+m^ ̟?CgoW_T)9{e$$$VVVm#ݝ2~u._ ;;;XXX(eիf̞=ضm||I}..@c*ːJQ8rD cUYVЪU+/::9=  ==۷oDze˰`#GbȑBaXtt4lllp #Ν;nݺJJcWTTgggĉ000:t0qGFFR򲪅 V)Z+((@hh(⋏7nM6PI cL9?w"$$DV|`0`Gxw/,, 666ʈ̪~ 12.\8L<Ñ www4lիWWRBS<@߾} #668aB,cHMM}o[ssshRc ={6ѳgOܹXcL%H$\~8s rrrV[[OFѭ[7̜9SIcLO<m 1~1:'OqlۨQ#ܻwcLBWWWƘ8z(ѫW}+!cʑ":c 17n\xǎC1pWcǎ(,,:cÏ`1TD"珉GPPh)M`` _b1y|1PF dee}]aa!VX5krTNQQ 555jԀc8SZZZ|z"€pY[5kTb: 4,--#t$+ Ƙh׮9 B$[9>}' T333QVʘBҌ b1cݻxI֭[0`&L]]],]Gb1>a 6,q}v׮]CV>׵k`gg'e0ccLeիW +&M/_~b:u6mڔOXc; 11l0СCϞ=Ο?/k#齷ݻ7 16m Æ ͛1m4̞=hРuÇN:K__'NPRrcKy1*F@aؼy3ձsNS2cU 1ҲeKɾ߿?ӡΝ;VZpssqY2cU 13j(̟?`llȑ#H$իWCӧL@HR!#3cU 1rJlذO<6tttdE>/_"_~ػwc Ƙʚ9s& 4mǏGdd$HKKCѻwo2cUSiǍ7h" 4P~}PSS{'/d1X1444`ooΝ;G^#t4c1VebX[[Z(1X0c1Ɣb...ƥKUl}ڵXb.]ӧO333嚟1cU\\bv؁~r"صk H$Jq ԭ[M4AZZ=zBdggCSSSc1*~믿@˗Y&ڵkښPmhh\6m‰'b $%%ʕ+BZZ6o uuc1ƪ J$צǎׯ1~bmE"Q vԨQC63;ژ:uje1ca{nc֥"22YYY%n<(:&c1aK.aȑH$r?~uuÀ#6NNNJԩVX*c1Xݻw@ǯڴi5k 00'N'Ξ=nݺ!33SĢE`ooڵkcذaV0c1*MBKK muVxxxf͒[WPPWƍ DPPp4mڴ`ccP<1S2>3E!!!ޥj?vX̘1n*N"3gۇ7o`^^^ё[6rH9cܲ 0U={@]]G.U{X H;v,NZdW^c1*޻; '~Wvv6=~N:Jh׮lYzzzm㑗Wc1Xw@{c1ajVZ)8c1%tc1ƘpckBa1*5~1>@*bʔ)n޼Xc1caѣի" cw@c?ѧO\rElݻ76n(`2c; 1edd`Μ9011&L@V0o<H1Xw@c oz nݒ-u?rc3cf̘5j@ll,b߿ .J X~ =$ ѴiSc1Ve_~AAAQ>ݻwG``QaUi֭0vXoGbLђfc>8׿7M(.vGE@{{7{;FcI6Dc/ņQAP"b~^QQ\V3so0akm 6f͚׏͛7usNL>}hذ!/_L'N`̘18;;s}87ÇC&122bΜ9tڕ wԔY033#<JOOOϟ_uI={͘1CY-^XƾwS9s&b+Vٳ+}}}+W.(333ennrʥN:_ի+SSq<;QQQjϞ=jjʕĉ3&&F-Z(>NS*XuVRThhڲeQ׮]SKbbbP H MއEr!D2gLѢEȯD46o̺u044d˖-,_=z$Ç5kV6oL~z*;:CL\\...k׎cll$͛ҥ ժUԮ]:u`ddR =SHu׮]rqut:e˖e3j(G…X"G!344aÆ____~ѭ[7 $ԨQss$$wܴj*Q{LMM122J BIZW@B||"͛=zt颪Tu$N>}(@+WNȑC-^\pT֭ӕrttTt P3gVS{VǏWqqq_u۷+SSSO?}Sfm۪,Y[~QJad,!DSti.^H\\'A@@vvv\777x1}vϺuaԨQ4jԈ-[0`.^˗122ۛ'~LϞ=}hтu2eʔo,|rjժEVW׮]:D+8iҤ Ν# @T"x)ӧOʕ+=7::͛7DŊԩS;IWС!!!DFFn:edɒ=]vG,YسgOێI&۷׳k.Y)dΜݻwk.lllh۶-wK. Bdϟ?'&&ooo)Y$-ZƆ.]qJ <8~%wwn#˶mƍ \rɖsHtK,ɓڵۧʥӛƍsMƕ+WhҤ t҅cǎqq*UD  :IN !DCɕ+Æ ?a^|I*Uy󦶁Yf ϧEL:O{rs!N8KXȠQFDa6mJ59_ :sqFǩ]65k֤`ȑGGG_u\! Btm,^uxbɓ'ٳg9eʔӘҤI>heݺudɒ^z1qD?N"E033_ݻ4mڔ|Mݺu5Nyן=ɓ4o<t:lll7n׮]OOOܜ5ko>+D!HF-vlܸٳ|reF-;cԨQÇQb̙C۶m111L2h""##7ojΝ;]gϮq=~݅k.MF9pqqIx-=JiРԬYz!D%"]u...XXX`kkŋɓ'kooO…ٱc ),../RLD_իWyfffTX ~}cccYv-SNիT\ٳg/X ӧOG)EXXX|ـReC.]%v'Nܹs\~0jժŶm011(+++>/'NÃ^zQHT&Db,!DR ͛sƍ鰳7%# `ɔ-[޽{Ν;ݻw,,,\2RX17nLΝiٲ% tҴoߞ3<$B|l$UbԈ#RJ9sFDEGG'x244T_Nɘڮ]*[WsV Vŋ*o޼*o޼jҤIZL2꯿RwQaaa?T}UVVV^z +::ZN]v'Ç+ccc˗/+@m޼Yd">}Z(QB(d CZtttD˗'k֬|???V#::m۶ѹs甎xyy1}thҤ 6l@__`ʖ- %88… ?~F۱oĄ6mЦMh۶-ƍĉ\r'O"::̾}3fL׶oߞΝ;#r̙RӔJ*ŋ/իs΍?̙͛3~G(֯_ʕ+9z(Yda'|~7BBBh۶{K&-t:k׮eܸqɺ)`j3uTJ,СCߛ>||}}9|Drȕ+=z .`ll͛7y1w\&NHǎquu%[lZB怈Mƞ/&Ot:NSwލ?l2(}}}ٳx7^ȑ#);۾}jР0`qZzTn߾\˧.]"E(NժUdM2=zʚ5 SJ)C5kV5` e˖)ssseee֯_} = BteرL2QFѼyst:VVVdzf rQ5kAVAJFn/...KPPlٲL27R@rIprrȑ#lܸիclmm5~+22777zƍ g„ چ111W^ԫWCҡCBCC:tD& ЪU+*UD\4syL´i5jT焄`ff  Iܹs)R>>>l߾vPN *ĥK8{,zzz4mcccWgݺuiޞ={x){m׮]ԨQ㓛@lٲ#F0j(ڶmK|%2()@_OOOW,ʟ??:u"$$H6mڔbШQ#vW\TRΟ?OR022޽{ nWR uή]>|8FFF`eeEPP*Tdɒ,Yk-,,uٲeSɔ)Ydիxzzb ԫe IDATaÆ̚5 L6"B|p,--tW^e˖-4jԈ pa6oS,zzz,_~ }}}lllӧ̘1;wbooQQQ )=1ct15kҳgO*V-,,H!ș3't;;;h߾D*y:B|}3pwwoޣG%@׮]6R>>ܾ}}jEdp2DΟ?O@@NNNョb/m[Ǝˎ;9N1c|ׇ'zɉu~9r82gƌ{{J!Үݻw3g7a"%ewU!ҡ8Mkgg .]bǎ9r???6lH4iREGGӧLݻ{{{vIf͘8q"Μ8ɣղeT޽U,Y8pS&LPhѢjܸqũXu9;egg&N+,--NS2eRj֬zI|;?VժUSM6jΝ_+W2nTڹsQW2eR/^}X$" 200W^0l0=ʖ-[tTZ+2s1ڈlӦMl۶ua`_ŋGOO .Pf3yd&NH޽)PΝ+2vz!t::e˲~=JPPf~`N>d˖!CбcG˩Sh׮o޼0_9r|i'}7:" =|_+WҠAfͪu$!Dn˧رCծ];'d׮]jJ___})@}*<<\*22R)ѣGԂ ޵kV5k9*66q)կ_o߾]x PUTQ7n{4H}w*::I+4hϯn߾u!Djݺʖ-;vz_/"9RJGORJ%jӳSre i޼9{ӧs!44[[[Yt)ժU#wx{{s/0n˖-iӆZjBݿKKzkR 8phٲsGDDD s̞=[c gϞYf, :t'''-ZKH _5*UbуܹsӺuk|||x"7oaÆT\QF~^~)K&,,8vͽ{dȑ888{nLLLXl#F`ΝtЁ7or5|||{nlْŋcll̀vZ2 w t,XwwwڵkM%Kx-'֕/_N:.ŇiRHڵ֑x0B|ZF}ڵTÆ 222REUTEyo¹Сʝ;~Pw) 5x`z;~ZYXX({{{գG?<<\ѣG'&:uJUPA[nZIQaaaL2I&ZGB|ӧ0،>,RLBBCgΜK.ܾ}UVѹsgt:={6'OHG._LTTd'")S .hC˗Vڵ+MK0VZE@@!!!9rhw̙3ɖ-IҥK.]Z$B| B$H^~MTTQĿL2sssΞ=qEhh(͍/^P\9ڵ+y:"%Kfͪu!>K !θq iӦZP"""&&& .pRΝcccBBBذagNGDDSNe֬YУGH…&H!^"K,Z"Q_R_<6ÃÇ?ү_4!_Z{N&&&kR ={*f;v, ,`!VBd@o޼E!Rpaj֬իU;w;Ҹqc-Z&HLMM⧟~F/^[[[ x5ȑ#Ns3kG;NOIIuk׮e˖-xSLTRL&&&l۶M(B|_eˆ{Ӷm[W+5(|~zZlI6m&wZJ;I&?jG RzuN>u!>Kz@sss? 6#֯_/G*d``UaڵZlj˗QJ}S;OI !‚w~"DEEqݻݻw9r֚fRJ1o<)•+W2e L2|Q[ [[[.]D.]B|N:~SNiEODdHtbcc;ִiS8vFėx9 4~͛Xd.\V%00#F$g2x`~'G۷oښCbkkKXXֱ "QJuVySNu:'OL>]S dÆ 4jԈvڱtR촎֭[iܸ1FFF޹sgT/vܹCrB$J5رcGÇ\xQHB|@ ᄇs}rMժUٸq#o޼a4mڔq1f<<<4L+>%22 -{ei۶hѢgϞMT[xx8&&&S/_===Ν;u!> pLMMZjfuye,_{ş7aj֬ԩS*>])S&?$k֬8;;'xښ/^϶%K2`R_)A !OJ͛(P@4o9sWsfJL)paܹ5ݻwBE)EzuٳgD8qʕ+kMODdX:tW^=zڵk?~w{fqttD)ӧYt)&Mb̘1*Tk~HkצRJ??T1SBO%K^z-ٳgtر777޽>2e\ !2Wr-vMF#D,au֍5kҭ[7.]?)'/NGժUYb?ח5k֐7o^7nɜH9XW2{l鉃gMlRtiΞ= ˗g4j???"##5jTREB1ȈujE/"Ȱ?x666X[[^kffONسg YV@ٲeiڴ)NvR4nܘ]v%'O퍓g566&"" 8oooN8'wK.bŊBӓ5j`jju! Z"E믿}6mڴ۷;;;6m133KcϏgyUCHH7F} bhhf`` 2eɍ *ăxYBرc9RB|1=zsfΝӳg$L'#_|ܺu7o$Y^^^?C}ϟ`z聥gOժV 7%H;"""xeYC/!Ilٲl޼9~ 2ZlILL ӦMK6Oڵ)[,~~~TTh ٶcbbxU Ŋ#{9rBϟ?ޮ(DZ#I|qud(EaĈ̜9vS_o޼ˋ&MPR%dڴi-Z={RB"w7o^(B|)@H{e…̚5bŊiGӮ];Í7>8nooO5jvvv={vYx1G 333-Z-",, x32rHʖ-KLL O}_ __~ϟ'Rn]ٲe ˗viɓ'i B|DLL qqqVJq5jKУG߿VqGt:,YBi۶mN>5jPdIƎˊ+033cԩ  бcG9sf .LѢEquue`ccϞ=KJXf &MΝ;\[[ۯnScutJ?*UϏ+˔))Y$%Jٳ\|.^… СuÇr?jբnݺl߾Oz*AAA4iri\˗`ߴCR3rHJ.ƍ)QW'H?(_<ٲe:]a~IѱcGˆ&$$;F`` }eȑԯ_۷os)>R+eG~%J|קZjtޝ3f0o*>|ӧOKtڕ'NPB F޼y8q"y۷А^z/tRB|Rj8G:"}@KKKڷoϦMX`{leٴ{{{ݻǼy4i'N`ݺu̙3E 0W^qIϟBmʕŋܺuB iGD!>Eri$fee9pgϞB x{{s=bܹ?!CЯ_?nJTT{a\]]B|rq! B|Fɕ+f͒ntё *#gϞ궞?FbŊ߿GҺukLj# ĉT"@f޽ZGH"g֭[0aqD2ɛ7/TR4k֌~q4mڔ ҥK\t .ЩS'VXAŊ9u+V0Ht:Znۉ:&ЦML¤IX~qD2155寿"22֭[0dShժ~~~xxx| ;AAA與UTIBd ZɺIM !i4lؐyiE$uV|||=zty1;v;v|re9rpw˗/OB ￧p²HS"t:666<{L("U^3g2goso޼I8rNNNmА%KO֭*"t 67u!E !@lx1D 8p -[{\~=sɓ|n_QBt:]REBdP={$wY%Dj%_‚gϞjXNcŊdϞ#G&xΰaøv;vhѢ)P!266fԨQ]WjGϒD/`hhHllffennN=`[xbΝK2e4J(oϟaÆiEϒD/p-000:H!?/_7zEV5L'o3sL#'I"q :HA*U///bccҥ 3gfٲe2CjjՊڵk3d#GI"$100OOOfϞѣGYf B7oW^eZ⣤ ܺu jC0 bر9:uhK!>P\9τ  : DD!44kEe133_~:B|ԯ1#F: DD>qqq˗O(",Y]vѽ{wLMM5N$-[6f̘upww:|H;wH̙ٳSu!]riKW֑'ɛ7IDJt/_###+u!,N}6[-[VXBRhϟ?vmgӦMjC!7RV-5jիWeHdLLL:Ѐ%ZB/9sf\]]sAAAZDD{ 3g:BE_um B$қ7o033:BE; : B$ׯ#66V(B!D/_> B$R5qZB!@"R )@DbURjӦ ^^^\trB!C9y$QDJ)6mD)WQQQI~Ν;G_>O{!ImĈP|yV\RJH"D gΜf͚k׎bŊqmmۖ,ʕ+{hѢڵ+Y!B$%[[[hӦ ݻwm۶<}TX"D9gϞܹs^n+WŋxzzEݺuY`AedBdŠ+ؼy3^^^ 0@H"D .R ˗˗4lؐ駟8y$ɖΎslB!Z֭8p '..x:|vޭq:H"҄?Ott4;wΝ;өS' oҤ VVV%[jժ_C!HuٳgK~4h...\rEx"D J)͛ɑ#vvvlذݻw{лwo֬Y,+b`ffƪUdo!i2ebtؑe˖Jh߾=ZG "Mر#dhтN:qV^M͚5~Ͳe˒%'O?AB)3foΖ-[0`7nҥK=Z"D :t^zѦMZnM\\4i$k;:t I\ \|r,B!Zƍ111Ã-ZP\9f̘ܹs8HtJ?*Usss̙üy044~ˋ +ظq#...ɖÇt ///uFҥɛ7{'B/Gxx8fffョq~zbŊ% "U{W$o޽_5k| ܹѣGɓ'Oec̙\wիcfffܾ}ٳ'Br=lmmR D$)%Ҭ |Xd o޼N:ܹs'1j(._˗/y%/_fԩy󆈈dBX`:H^9vԪU7o}dBɒ%4E+B$:Pn]ctH !X[[s1t:kI{y1B!Dj>}1D:$0 ,ѣG122M6ɶ2ֿahhaO!H*ZG "Cɗ/֭ٳ̝;7E~%Bh@O h߾=SN>ٗǽ~:I B!DJ|D:$T-44+++c!)/_@ZG " %44TB!Ddii)ŇHRR!B!RLBB!B)@B!)F !B!DD!BbB!B)@B!)F !B!DD!BbB!B)@B!)F !B!DD!BbB!B)@B!)F !B!DD!BbB!B)@B!)F !B!DD!BbB!B~ ŮH@6l`# F@6l`# F@6l`# F@6l`# F@6l"j&IENDB`././@LongLink0000000000000000000000000000014700000000000011217 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/yticks_cylindrical_pre_mpl_1.5.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/yticks_cylindrical_pre_mpl_1.5.p0000644001374000021030000024727712700747662033406 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwT>kY@za AR^Ɗ=hŮ#6b1{mbo`ﱀFE"}Oڰzyf{Vvf}BDDDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4FWϭ[0I}EPv-k; ""oZXXlPcÆ pppr4DDDߖ7nӓ=bB_8;;k; """"DNDDDDD4 i """""& DDDDD1L@Hc0!"""""aBDDDDD4 i """""& DDDDD1L@Hct ,, (S LLL'aBDBBBp ?~'NGaggsss-FNDD3L@???1^:zoV\~vB|| ]혀YYYC׮]05kvL||<ՉݻѼys=z... (ǘwnZ6VVV+`hܸ1q /_>7C&""`Jƍ v8 ѣGq-xJ*dc`߾}(V7n2g""]t ׯ_GTTݻ 6 KƜ9srJ .z~_>ʗ/}ru8;;#--Mϟ?ŋP(>VVV DݺuѸqc & DE9s &M#G,,,`ccxxx )) 2e z쉫W8~8 ϟuEzP^=899i,!IOOGQT)l۶ Ftt4Y)\0::uI&8~8 ,YMDD)AD0vXRJضm4i^#,, ݻwG1p@- www/pY?~'O㑚+b„ ر#Je^pppȵlllpaԭ[͚5Ñ#G8U/iǀQ'"9r$|}}1o<\|ڵ˶(=Ν;ooou222BF0m4=zϞ=QX1t˗GHHH]?YfaC`` """вeKx"""maBDy^pp0.\ bȑT|иqc8pϟ{ҥKpDDD(R *B m۶e+""Hܺu }'y̘1ȟ??- R̝;}+>>׮]{(DDD%DyXPP mBٝ;wNY-[&Zbff&R$++KM&P(qƲaIJJv\&Mr*ʕ[ +VLHER}rϞ=CCC155@J.-իW#YYY""(...@>n"9L- DqO>EڵahhP.]Z?^^^(TVZϟ{ػw/1x`(QN8ׇBӧM3g`ɒ%ظq#?M6[n9-ZPԮ]5kք5DfĉqU\]vEXX}vo'& DqJBϞ=1qD9*c#_|ؿ?LLLr9BT*;:u,Y;v`߾}& Dddff"<< F-f/_ضmFc?q%&&X|y&}i:t6mlrr2Zlxju͊+0vXLBIWƜ9s0|lݺ BÆ 1dj;<":*N8'''@Ϟ=Ѿ}{ܸq;v ʕ+z<!CпԬY[V622󲌌 t ׮]ñc8;LJJ ODDD %%3gcq6m-G=~޽;F޾tRT\s)S! B v(bccEWWW,Ym{ZZ(P@W.ׯ_GGGjZzz߿?_Rڊ+WN]v[qiʏ?(>ooo122gϞi!2X|Sn`,"5vBff&:wm>vލv}#đΝ;#22zzzݻzߴiPti˗ H>{Ǝ;ЩS'>}:::(^8/%J 55wFTTV .|T,'ODzp ԩS˗ o,)SڵkôiӰ|r)R8qakk~ǏBz1M>YYYX`Zhkkk۷-Z%KPti;v EX4%##NNN0113gj׮"""pr׈an!z6~233RLr*J/^,RV-9sKLLdddȥKDTʰa>:deeST*vL6MT"4]S;wNLLL\|}}ŋ.:tB!Ν8rJ-dƍ'bjj*gϖTĠI7niӦwۿgj(2T|Sn t"/_ӧO;BO? k׮VV(Y&QbE/Kzz:n݊~AGG֭C"EШQ:ߗѣ_w/nARRn݊:o޼Cҥ\xrݺu055E߾}all.]jlo444ѣG3(_|֫-73_ӦMQdI,_5jpDW|(<}rM3f`׮]p}DFFbȗ/Grǣ[nӧOCOO7o}߮/YYYhѢy?J@aggZ1]]]uB%KЭ[7tϞ=՘ЬY3 =z@zPl\S *'No-}b˖-{}{Q^:J[QxqCOOZ€pe\rƍQreTXi&ryhժ@RSNX~=Ν;xٳGEtt;ϥv{~*R7ݻwG`` Je֩mܹ3_u&?#233~z FGDy "pvvƉ'r|Lա۷oYXXӱvZڵ ʕùsо}{xzz߿<; ɓ'@xx8n:;v )))022BÆ QD ܹ̞=uU' W\+>KLo-cmm6m?`dD0!\S~}")))G]]]}!!!^bJ*={QFӧOXv-dɒ5 NvwpssC2epe=tK*iӦ!55K.;?ŋ4i.Sre( \|ܾ.DriӦ|v8; FQ^=سg,--_+P(|t}_Zjȟ?CyÇQT)>|ŊCnЭ[7 0W\AÆ CF0i$+V ~~~4h aɒ%>|8Wƍk^ưǥKY.99΂ED9R>h͌%Kb„ ALL 222дil=fΜѣGcٲeԩSos}l۶ 7oĥKpe888`}mٳgSkbĈ*U 6/Z(VZZ9]]]ZjHIIA~,[ DJJ %Kp\@xFFFo,N@N< o}Hb Hrr2W+++xeQFK. Jwww`9Ɛ!CtR(PSNŁޙ|9r*UBDDz&W\TĎHKKCXX{ZZZb׮]CLL n߾˗/c̘16mN:;wUV@߶1c ** }eW Q^=8;;WÑhuHyGllR)zzzbbb"WJ}}}EOOOZbkk++VYpaiٲ[lJJ >\DFF樎˗/.^/v- B&NQN 5kK\\\Ei8Rz>)7razBN.o=]jժ>OHKKRSSQ\feexY}˗/jժXt)ϟÇ&Gu|mN{.>}AxkkИ͍-XD_9& D0T*xxx`ѨWƏZ9???ܼy8q"Ξ= )))9?~ Rk"&&- ڷo)S (((89sܹG]Cxx8aaaիSNB uޯѫihsRQF᯿Bxx[˝?ػw/lmmqQ4iشi#Bֲ IDATwӃ1 00FFF]kwi:<" & DcڴipB:t z\ѬY3?v ;;;888 UVŹseʔ:٘9s&^xUDh޼9/+V]v000@ڵu_D0rH,Y}ܸqСCT*?///ϟ ,xkPhѢ+Wƾ}(71!"a۶m5kfΜkݺ5ߏ/"22[FrJ8::ҥK]6nܸhܺu O>UfUlYܿGAǎP(н{wl۶ k֬7ꊮ]"222GgϞ8p,X@n 쾔kC U2(Wze{KKK?͛7ÇFڗSNtX"mX"hs`Ν;'M4_U<==lذfdd/_>… J…ҥKs1BG,,,dĈ9]^[/vbii)ǎ{y5qqq@vܩPrɓ'bee%NNNרQCw."".\ .\+++)Z\xQa[&&&?ŋހa l! ؾ}; Ax9bոz*Lnݺ`X~=],  |*"e˖hѢABBVXwY௿?mߞ={&M`9|5 _R rcǎÇS>|wE\|+Vr3(QUVU[i]ebȐ!رc=z7m۶044ĭ[#mHD 7 ::1118wڴi^/&&ŋ兂 1GV(X"|||BPI&x9ʗ/̘1 FNWP7Ʈ]`nnD\u9rٮ ߿=z@=ШQ#̛7׮]">WcbRRRIUT SN۷q/g:kڴ)1`իaiiXhM]_ѦMl3\+V-@ID_ m7 ~?ٳRbŊ?yDBtuujժYVwÆ ERlQF"[Xեk׮o=wdd؈;cPTfiѢ 144'''Yt_LRI }%NΟ?/u Zj ё͛ϵ2PZZ 4HH޽YLMMaL@(OӜ?^tuue{n #Fw}ǏiӦ2n8IKK1<\Ν;'rcǎ*J233XΝ;RdI)Yܹs'Gqdffo-!Θf-R)111%GBCCL2E_H|||YYYzj6mdddh8RYYYҨQ#ӓ?CDDΝ;' Bj׮Hamo!"MINN'pBv킑QG@@g߾}ܹ3+;;;tS/>|111PTсBx-qq6&"سgƍ:uBǎakkRJ@|_ݻc̘1Xj&Lpޫlٲ=z4f̘ ~{.aiiz쩝@lݺF@@6mwqP*=z4DD=fB9r$qFu/^x- )5k${ܘ1cd޽[FŻ,XO>EʕQD \te݋֭[fG&6l@۶m!"v896k,ԯ_:uBtt4ܹ%Kj;,b6l΋0uT4kL"9ZhCCCmʕË/)}nl! >}˗/Dze˲f%"|2lllybѨV}M… hРRЦMQDUVŌ3pAn{[3^ݻ7s??~kZjPB7¸q0w\cС_1]]]lٲ...]6*** m۶Epp0 777mVۡɓ'q XB[lAzz:֯_>}`ΝHJJuZ'f/aRN:(YYYvZ GyCCC133R)nzoҺuk)YzlEVPB!""O>>}|@n*nnnl6bgg'ŊwݼyEn>| u2/˗k׮2|p v8Z&666bkk+wdV4kLۡo&>|m֫"EիW5a Eٿ?N:Yf3ݼyeʔq /^HNNvɓaffdeeŋo+::pwwѣG]`ܸq033C 0ydc￱gnÇ%v܉5jK.Xv-q%,]V̙OQ^=dffɓ(X;_Ν;y4h?)/UkݯJ*شi,X'''mQ?Ǝ;0bԮ]8}4Zl ###T\9OOa{=4k jՂ/J.*Tpttϑdܹs BݺuqY _}΀ޅ߼|,RԫWO իWpR|y9~}/@RI>}D___N>p(W ի>}NR[8^^gkk+={Ν;ˊ+y']+O>:uꈑ>|8WbPok9L i}{ 8qʖ-[@RJu7իKZ$##Cܹ#}R)NNN"7n4kL:$O/^ #oGfͤ]v߳P(dٲe""2p@}mݨ(Yf:u*[}>)SHRJ~}k899[xϟ_&M --Mԩ# Rsi۶( ٳlذA"##yG T\YTVM,--%_|pBҥKJNNKRٳҰaCɗ/IbŤJ*dɒN%%srx0YYYҼys @4i"O< 6mv܅ $_|?KjjXXX_~UVcnܸ!ĉѪUle_ѣ*THd֭y])))$"/?@Z%Eү_?5klذA/gϞ7nŋe2tP }mm;zPmB*ʕ333ٽ{kdܹbff&x<*UJz)f͒m )SZDHH( ?ys{IL"~~~2ydܹz3g0& T*_^Ə/o}gCC7~_d;vH~F"##eaA]dÒצMiѢ 'bll,}lװo>Nttt*UJ o7o,Ҹqc9j:{Cؽ{Irޘ(:tHETZ;w… ~{{{ vROMMsJttt_fMԩS}ƍ'Ey= zb=srxT";w~>J%m۶SSSCرcf+++ZGϟWjUիdddرcԩSG@>K.UV:w, 6*Æ +VիeȐ!P(_~ɅW͎=*մDEE ٻwC7DPH6m^K|cccSHz>ԕ+W$b`` 5k֔Yite5VK˖-ߺ?33S~wKKK9{̝;W]D0Bq\7W(XjO )Rϟ?϶2yѢEj*W^HOOu^^^G߾}b ݻԳY7nڵk8s 222k.l2lM={!&N+V/aݺuhӦ ܹez @>ٳ1a : ,Pd'"Xz5F~S]v 5-:ڊ{wm "ZFTHKKȑ#f,_GF еkWݛk7 7'NpˆELL bbbp}ĠvX`kNJmۆ֭[) ЧO )) 6668q"|}}1b<}+V)n߾<իWGstӦMŋx:3/zW]vi; zcSNŤI-\#GD=0o޼N=v؁{bǎ(^8<#==:t4nXgee!)) QQQ-{ԪU nBժU1ydlٲ3g΄<<<0qDTTIZm!z6~> 2n8111QwyՕ ֍ӧr;wC۷綳%JԬYSpy٭']KJdtq-Q*O?ir) ff=\ȸq^۷}vQ(2vX-DEOOOʕ+'ݺuؓǏKFD___ʕ+\R޽{ryKBBeբ#-ZgϞI||L˷nݒ6mH…uֲtRٵk( iժܽ{Wf̘!FFF?3F߿GEE?]ȢE4ZR\rҥKmBRT̙m P:v'Fooo133gϞi-˗/Kɒ%@rJE___6l -ZxޯJ:pKɒ%姟~ ܽ{WWݦMUVR^=& 1<߼| pܹsǏݻw]M͛7?޽{L~QTW^rСlU*ܾ}[l"G.]Ț5k?EV ߿}ϟ/aHҤXb2h H5j5[={&fff2f/g>QkeϞ=_ƍe7oޔ=z !4ORe̘1ߋҥKj6:{|pܼysi׮'խI믿q߫Yڴi#ƍ]/}߿_JG/rRbmmZ5MݛrÔP=zH ,_e_~@tttArɗ/4kLN߿/bcc#+VKKKرtI -^z;vڵk+ktE@!(11Q&O,2ydUxxxc0ak.\Pkƌ2i$ݻ 4HKRSS>>8}4ABB@D8~8;755PrI__uLOOaʔ)زe܊Up$%%R8qD$7hӦ K3q888 ptt"8{k,_D-[nnn5%\ /:EВ~Ϟ?烈РAzx`ggW>|4hS\\-[>͛7n:A9x<1ahT~9+F"ӧiѥXÇ4i$^-h߾}]\\#ٳ']rn޼Ik277'777q듯/_é~2mwԉիtUSeԔe8p)uL߿"##I"Љ'H]]|||Ņ=J:tĻX5"##IWW<<דCWRjj*ӧs%MMMz)3?pݺu'Lo߾MDDtu""xF'___:pL"*^f Yƌ#8??O)((;w7]|ZjE͚5xjݺ5׏n޼Y8 0k.%uuuUéM6DT2 ݻw $#9shСGGGeԲeK o}ݻDT~ڵkG/^sRXXmڴ>|@DDV?VN8A/^1c\gr6득ݺuK#[[[5jm۶?~Lo޼p֭PxxBQWիWΝ;r?_P\2dHlfuqqoқ7oH$_E>>>4d:t['++LMMaTTT$ӆ)%''W_ںu+5lؐMdkkK=z`2/^Ј#ֆ"h֬EGGӠA(//~ᇚ|o=<<诿bŷ4wFFF>|;F]vsNjݺ5={6mԫWnܸA3gΤƎK&r?f;?>L^{Q8IKKmRttt155%___ڰauޝVZYMQ88>iϞ=_+xMt==*eU#'O1?}#899A[[7nfΜ "Ν;zs { .]CbԨQ ױl2͛]ի ޽\%αu«~ˌ? 6d>@ߋp̙*ٔH$hӦ lmme߾} @___BL0}fj̙3_m"H.]&- FN@D044oƆ7KȨTҀ ˗/Wp޽{9 ZTAGGG"b 2VVVXl޽{Eڭ*Ҥ}(**٨U6l  "k׮B|q !~z/_lll テ. >ZZZlniV """B!B{z@D8yd~L^^`bbcccxBmT{ }O7o'DSr χ,XX"888I&Uƽa.\ sl8^MMMk׮ "ԯ__A#ؿ?111(((͛!C]v! "DS" :ttka?0}tH$%CKK   YhӦMSj{(..ȑ#!0`QFc_F]"Bcccl߾@I<;ݻWyooo'z/..DU_bbb@DpvvVDAʾ}ТE hjjjK1cƀO"//<$ѨQ#ԯ_6668q""##f"5ҿzK.رcΟ? u 8}4oWX (**riiiܹ3|KL`DPQQɱdii '''BQXXԾb;ɜP$H'֭S@ZZFN-Z#GȔ9r$lllc 4͛c՞WT9rT$'']ر#~ 2hР cǎ>GQQF "²eeuz*kfΜ P _Ю];ZhQ%ԩ5j$)w ]rrrШQ#hpqqL Xyϟ?}7o;kРA!ISw(22D ={(4b/Ǝ;hqqqFDDn߾-ӓ@(bܹJٳѡCNp(NpjaB @SS[n-s2-H ̑#GСC|BO>{dVߗ/_"%%gŅ! 8ѦM899D}}}vS `Μ9ǻ-@ďaxZn ˗CqqqGEEYfq"3220mڴZ1 Kؼyg?'_;Xf V^Sy?} ]yx!Μ9cǎUju;??*** )@Df}8nEr(NpjF`Zp!RSS+]?-- ǖ-[ФIv2ѯ_?wUhR]4h|>н{whiiA(bJE988|ֱcfUYۿ?ШQ#ֹ944::: aɒ%rF###ؼy3|||>>}`߾}xQ`bb:WOBWW,iii "DDD\ҏF|iO_smF" 44&&&PQQ:L%)ɓ+5zOaW^֮n'Ge033t/_yƍC|8¡ 8QQփݻwѣfa~QQQXz5ѷo_,^FFFPWWȑ#q…r% qF4lseECHH̙H+WʜBf0qDn]{۷w\\'N`ϥ4m|>c'&&B y(;;ӦM8D"8::#F`'ؚO?TIUPPtuu;"ݻkPSSêUlW0 !!!)w'k&77=bϟa Ē1z WWWX[[Wy@Ylذ7F`` RL쏑~G֭[+rTSΎ۷oq=$$$ %%zK.:Zn @"4h| 11 e Z|Ν [Xp!ׯ"5͛''N:M6 ˱a%m5jNĉmڴ>͛8.]B?^|QF<111ر#4553Z D֭[CUUmsڵ "ԩSÇ/5,i~ܸqh޼9B!qa޽}6>+VTUqq1 \烈q*U$_ 06lq*صkJ:ԫWN$YYYс ,,,@DƨQdݻsIVW{Q{>G.],x|ZvP~}XXX5!T$*[Y0 UVx1LLLP~}L>5^B@@7h"@__]tttdw9> QIsP 44uօ oߎX?رc  gϞ "߿!!!\ cwǏ  ZHnn.Ξ=9< eHHH f)J aK91%KDΝ;cر QINҎ/1 gSfuCطo(qիmcǎ02e ϟg;!D% "dggiӦѣ\_}JKX>\\\*T<]Yf!11e ն["##ƍٳg5ereD"L0Av߿Č]Q:th~23gz X~=Txbb,_D[Ǝ4 ; _~J_a0p@Ν;D9sgI$6,4'@8 '@8j5R2ujٙ8q?Aeb+ϟGPWWҜC mʈ iPܼy… 1tP֩]tA ֭[B!&O̶STT &]vhڴ)xb$ c…@$ɍcpss"€pƍr ɀC Ye2H$Xhx<[_)))Pj>abݺuԄ#>}Zf9t8?ڸq#TTTFZ|\ ѣQPPvl7oU;u's'==PUUH$Ԏ%K8¡p8Q8 lAOO'OFZZZ\+**b^|/bƍ "6+e``m:::@&M0p@fϞgϞa׮] DRRXXXpI~ -[Oرc.]$x "\zd|ݻE@Dİaà/qlġ `ڴiχ/^,cѣ ";wNͨ(h1vXv庲"$&&PSS˗ۯjjjHHHX,K;wDaooNbzܹs(..F||<"""ЬY36A@@[k׮e|>6m‘#G@DsLUVA(6 ͛7G˖-addGBMMRQQQ055CΝeUgϞe~\]]!`hh///]FxR-[HcD_~E^~LL4 jjjѱcGL9saÆ,uW\Pݻ{{{,ZHOjp|y8¡ 8Q'uχ'*-[$==ڵglll`ffmPf55==}6ڷo"1C :s Zj%}tttVATDa?~Nm6@GGJ9Q֬Y/oѫW/**H}mkݻwGǎqu׏\Z 갲©SJHs?UXpppCpVSڃ/88NJ CCC5Jjy-mۆM6ĉ}6KB(z]D"-[0o< -- ϟ?gqADr^f +`>1}I}6QQQh߾=7n aߊȀٲ^zU^Ut=_cʔ)խbM6E߾},pbʕ5j0e9sD%Y?|P#}MJJH$¬Y`ccOOO oNp(Npjz-\A1c 矈ЮȺud2XsmEٷo_ϛ *wP~}9RX,B!ݻwdr4Tݻ MƍW6KNЬYo,RRR^X5 J>8p FFkۻw/P_aÆ "<| e%SR IDAT ZMY>i&s#DӦMtݻʻ(#''h`/_DӦMׯ߻w/V\n["Ȅ)|ES4|DDR۩̘1ZZZ_d"o>a߾}6l7o_:1bC Aݺuaii>Ebb"x<.] oooXXXX_8N8¡ 8Q)EQsŊ:>} "OL4 -[D\\/XZZ^z-(+Yaa!yfgBܹsvvvP[ ">|ZZZP"vލ͛7HCR3 +V ͛7իwEMMM\BS$}cѢEHII)w!x< 8Ǹq،ϟرcaaaSJwYt[.s '@8'@8j5'"xe\, 쵏s~췐iӦAEE&&&lQFA TjC0 SSSH4oe=ǧnnn@{EEEҒKVśqqÁVɇ`Ϟ=2ꀀ0 ŋC(b̘101b5k"½{>/@CCC&LtEʪtħE0a|PWW ~H$Bƍa``  XNϑ P>UUU e ZljKsd4Raa!=444`|>! aeeU%c!u^v-"##͛J1.fϞ`x<KB jo޼yPhk׮al> Va8::k׮HIIa999 :KK ׯcĈPSS1*\WEڵk@pp0ADhذ!ƌ]]]8::"==)))h۶-ϟ_!*wbغukMw+ ʀ 1}Rcbb3<aaaH$ӃIp}:  ''O<~ SSSׯuJal߾ "ԯ_˗/GBBBm^~Dc׮]HKKʕ+m۶&H6n(sÇxѸqcYPH|x[.6m)---l;v`/XFqTiHݏ_.HKJJ ׯmmm+ow޼y8w=z j ۷GzS~۷DT,LzѣG&Ç1c7o"=aKaHNNvCRRTTTpJ۷/,--]4oC ]]](ޕ+WY_oNp(Npjg"==TNarA@@BaGd͛7q5/lRéS۷/{ŊPQQApp0֭[0\vM&qbisľ}333"##+oaTaO)((@ ХK*TG _)/eȐ!055 u\O>  6RaѢEHLL TTT,aҤI0 ~gNp(NpjJ[y9rtuuM6>@OO-Z͛ `ǎ`W߽{Q 077gK}?.\SSSɉL! àUV1cg}&rrrLk׮Errr~#wUhpUbcc~Y̘1D> wޡ^zQgk׮UiRv%%lѣG ODPP***5kV){_ K.Eѿ7  ~߽{cǂЧOGBn@Dln@"A޽+W@IY???^^oٲ%1|pxyy‚dPQQvÇãJuʊq5>[.\TݷoHMMlllH0 BCCUd_6lP( ZMet*}ܹs2eӧa=-`e :" zjacc---4onB#s (7ӧbbbkcҰχnԣGԫWR ϝ;,Y"aɒ%ԩ`ff5kTT&޽ (Qo޼AF`jjWǫTY^~ "ܹs9¡p8Q G@@ 槫{ k׮ɁeAD_n;)) 3fɓRjxahh@uuue?#= ĆO<:LR׮]v*(**RHrYCOOMXQ^z;;;ѣG(((~%㿃7ԩ  ZMUgdd`ѢE8uܽ^zUV'\rfff?~||gΜ˗(XJ%**Rx}J#Fuurqq5#GP~hΝW-[U#''H__bccI$[>55Ԕiƍ4j(jٲ%eddЦMhTTTDD%Z={@ pj׮ݻw4`277`3f nݚڴiCvvvcqq1lْ)::riƌ/Tݯ .Pǎ_~ _(KV &QXXQzz:(a~s""z-WNll,)wG-dذaxB!#F(˗/1bJ틢2J$XYYۛAM _u!ͥ#Gʕ,+n@@{VZ%wJ> (4~xWI$8qb~jҤ ]x:DM4!"7oDgɓ'ӦMѣTPP@DD6664m49sfGT6zzzԭ[7 RŋC okN:*OLL&M*(( mmvVG;wŋ6Z5jD,ѣ?)))tR!/_$///z =zhĈ> QOGؾ};S߾}eweggkё|}}iժU՚tT7771c-^*yyyԸqc?h۶mE/۷/]QPϿ b1ШQȨ_~djjJD 2o<ΦS߾}i߾}n"$ݝtBݺuM6ÇԱc/ҟHuH^t}ZAA"QL<>}J׮]G҄ ח"##]vH'mܸLLLSNy]jӦ b޽{ G ,O>2d/Ԕ6mJԫW/ Sx<-Xrss~]'">ХKH,D")q2ӓ'OܹsKaÆiԣGJLLTD )55Udll,3:Л7oԌ Ôk*XZZҩSÃԩC P@@m߾Ο?Ov&+@FA4~xDTѡ~ܹÖ-..Cф LJzQn@xx8m޼֭[ 8(##5k1 C#c#//֖ܹsAC9>ܹsŠY!!!pΟ?YfAUUVVVdI}@BCCG&ZN虙2zzz?J|-455AD2;wÇ8qlll@D޽;,YqaڵlhPJ劊@Dؾ}ܽ9s怈p%O 0 x{{+ooj/^H$B`` {ݻhܸ1 XZZ`ooΝ;EPUUeQrp6pqqaH$… *4d4i҄K.}5ؽ{7Zh===4mB9r$._\6&M fes|>D"|||EX ۣm۶/1|pxzzVێ3ttCN0g/_"22Wƞ={*(ϟ?G-@D3Y"33ӧ֮]Ç^z "]Ve@DǏCMM K.UX8¡ 8Q&@޽+\g޽x2ODTzY}dyx5^xQҥKAD2e\no={~ "&޳A˖-sϟ033MMMv?í[.\:vOOOڵB(٭6lTTTp)bɥMMMJpڵ*';,޽C&M`mm۷#!!yyy2e &;;;TTTI&a޽ϗ@Yf(޴o666Qx8¡ 8Q&[l+5pRR{"!!W^ů ** m۶aŊPb055q +W0vXIo%fϟ?[ϐH$ 2UsDuٳg콥KBMM [lAAAB8¡8Q-޾}?:UxI'{E `ll --- >@^Ѥc˖-Jk`ӧY b=zBX\\ ;;;nL0vvv`. x*S,**Š+X[B֭+pBԭ[T .doڴI!98 <W3gB__'N;ftD e Z͗~ر UUUܹs4hlmmabbRҮ];888T8NĔ)Sdl,,,믿Vf…PCyƍ -ӦMb\\޾}iӦƦҶ^ ---oooȕ5j\]]宧@EESN3AD"Gaݺu "ZJᶓW0 ذa22spPISȑ#Օbcciڵ4}trpp :pQLL +?cw IDAT6lW^ѠA f͢-[н{(11uF ,͛ӵkתd֖(//O!}lܸ1edd(޷̋/H[[IOO:Dnnnl2W;wI(0tjݺ#GPqq1/sNs璑QQ4i$:u*M2Eg͚EzzzᅲY"Gm iЋ/h̙B!!!DDKqqqh"""ZbP\\*_t!:wܹS}Iߟ7nL-Z-[Н;wuFo߮D#H>={J~9gԨQJ߿'"h镶u=ڵ+uؑ^~M񔕕Eƴm64x`ׯ_l"}}}rpp;vЂ U{ 6ƕ+WחJLDDj>PʊVZEtYJHH+W;[Q6m6:t o[[[:s #u҅+T7))6mDcǎ%g̘1Խ{wիZJ!6U:vHEEE4h H$t!""*{' ]z1c(%%;Fo>ɡ={ >O(x߿?u҅nJ|T rrr*̖-[(44zE-[Tx88'@8\v̙3'Oеk(""zU?\]]i[FOOiǎBnnnGӦMe˖ё#GHNrr2uڕ^tq1cM6V\ɮs+:veee)**=JPDDDljhhPJJ ZӀN:+ݝN,--)//RRR2Nx!у5kFS͛7 'N޽{ӱc\)P85Q.v~+((@``9BCC۷۷/x<9Rb"((nnnhԨtuuAD믿 6LMMK Ӫ?f2ڵ+޼y&㡭 "]:vCpww_jjj?~< O?3fÇl"((v‡0eCUUϟ?W98z CzԶ.^"ݻwK0 榴>pNʀ E?,#>9VH$n5ݕŋ "6G4?ď? ?fffhժ۫\~pssݻw:uB 8|0\ " "7SL5O6A۝;w !맟~D"Rٲe ykԨQXXw"33-w>}Zm%''pa{7n܀۷V; e Z|ׯ+~7ܻwO!6Ǐ 555ncƌA:upcâ6߻t"MbA1 D؂k=KPcITT{Abv{2_xAC_. fΜ ,3{v9=U#)ם;w)Sj߼ySoߦ!)c.]XJ&&&ۛ?>J%7m7OYy)p˖-8q&OSSȾ}R&֖7ndBB7oFCLJJ*_ PTɓ',Xއ%& B7@KK AAAR LMM#""ǏWuxN[[UVō7mՃ_I)]4|||PZ5 :-*5jLVtuuѿ5 0aK.8r"##3+4iZ޽{add-[d2֭[rprr­[!Cۊg/Fpp0n޼={bΝF-2yQJu@Bnݺѣ ݢq˗/=z/_o߾ʕ+3gJ (S #m_x1?~ǏÇx!N<#F|+ҲNrJaڵAVW$Ю];:u Ç Nt@֭|ʄ ,ݻwQre2B7p@DFFb߾} }lZZZHMM-vY͞={ '''aȐ!+ʕ++V8Cҿ * Z¥K?Я_?iF$ ###BY9Uvmsd2fGȂPDD(L7n&&&WWW9r񈋋SqRJԩF xzzB__}]quL2HKK+ԶU$V\ҥKcR =zM6a̘1FfͲL+W^zoooͭOC ܑ#G PT)BMM-OժU pMٳUTn~**#: P˗={J0]vnݺhݺ5VXΝ;CSSMIIÇѳgO|w wUm2 F pYL>hݺ5:tضmr93(Ԯ]K.ŠAߊB+WzQLx"Ou/_pwwŋr|VTG]3_ fϞ ccc8::f8Յzsss,_LJJBΝJ*IO=ѪUo(7o^ۛ7o\R ܻw$qy ((Js΅B@ś(XCDD.]~ :::x)^z% )\nݺa?Ѻu|Z Wfذa BPP`ddLF,UTv}xyy!442 X"V ccc<{ ֭ùs~ ԩSy(%Yll,ZhRnݺ Ghmm L:u@Pĉ066VqԂP0bcc5k888@]]Gs]ŋ1rHT^=_UAʸ`ժUjժѣGhٲ%<<<гgOGH߿G||c *U*ЋӧO>͏;޾} & <<s1w\(&Ѷi;wSDOOOt>bdbd٘8q" tttЮ];(J FBrrC,oժRRR`Őd: .Dpp0ѦM[=zTrʨY&OUJбcGڵ  j׮sB__UTcǰ|r?^ Bz!LLL7n܀_G8:A(:DD2XhΞ=\t ժU])~k?Fll,ڵkN:A__;w>|֐~:oߎcʕ#~#>>ݻw4r}􁝝֬Y~СCs=zH({~~~S| #=S  |7nsP T*q=8ѣXbOC$&O{ax*THxzz?0qD_t)޽ 333rd;wƸqp=lڴ l2L4I,*iiiuƆ lٲh |"_1+++zx왴… pttTadEϛ7obqFQΝQ^=̚5 Jʥ5kB]]񈎎bbbСC\v W\QyQVXGGGVa BYh^~ݻӧv7770Px"_9Bwwwd2' R'N:<5BR2VԄ.,,,PbE`ԩС.^(S1QQQpvvFaee---Up};vLաE͛71k,L< 6̐Ç*L&bM6 gggZj!((pehkkg_^==z/Rizǎc:u vh"Cr4S%+qqܹsYfE/^xk׮e+W`PWWGZ⒫rXllmmѭ[7/b^@1@ǬY~I$Q[noݺPrnܸLIIQuHERdijjJ??,lܸK6GIUV[neʕrJGYЧ8~8pÆ %[VX!g̘@MMM}_+SSSsƔ)SO555Ӈuԡ --- ┄Btٳgmk֬y #q Ee̙0J޽v7  <~g 1oРAe|||JLL޽{yU*|&&&ԩ+T ׮]oݻwI[[[VZ5G~pԨQ|䉴oƍdXtt4kԨUfz{{gDGG0ʼa IPL"$$Da|5޿ooo<_F:u`dd/޽B@JJUVѰaB͛7KCr+11 45aݺu6̰PWWdž PT)iŮTX[[رcSTԩSٮǏ_>BCC+V@.c߾}Çaii uuq+)J!88RܹsY/L\*D6mp ۽QbE޽)))h֬okkkEeś7oN:RĮ]Tojj*ZlsaݺuҪfr |}}P(2$455EFȑ#ϟJW\a`iir!O!q9r$Sݻw47O6U?/IDٳG!IJ\jC)ҔJ%/_VZ--- [P(hff &6w\G}D{.p߾}=z4VJ|i  6o<9w،>͛7np޼y@\qe K?_~]{y_P-ŋ_jUk׎V7lvȑ#iٳ...trrC|': B&ƞfǏ Wu(EֱcXvm>;v;vHLYf1..NաytwwE;wի|>}ʠ k.ÛT*3߹s'hnnN###3gT*Yn]ĉ}6k׮LKK9ٳi/^weI `ӧSMMo&i0"""ױ uujjj=9ITWWu&MHϞ={ a P _8qP/_RWWM6ǥ7ӣ<(d:XJ ڷo_:={!Cʊtpp`֭ m۶WxsĈ$ɰ0lْMPvEFF̌5)))tpp N0-L---.YDc_RM6u|-nJ~Y/_NsH~h̙dӦM  At@"M\gر,[lT\9eʔaTTT}JIII*GT*Ƅƍ<|0Ϟ=˓'O7:N}}}3+WبQ#iH -[4+88jjjd<6l@\\8m4jkk||}J%uuu?g޷o_`r\ [ZOMMاO,}zzz޽;d&$$ёᡂ3q EeϢE-}F~-Ru(_=7w҅-[rÇ3㰱aʕ… %KȈeʔgϲ󩣣e4((V/QFqٲeͲ/_RPp͚5mkSNeؾuVlْw/^pռrgz*ӓ2L+.\( At@"M\'w]URd(J>{^^^YVțs:޽{433c.]&v@ښϟgbb",Yi"7o&Md+/^ 2>>#F jhhjժY& -,,~L r„ m+--͛7eO/<ē"C411ƍ} eʔ/]6mpڴiia sz E ))Iő ǎ\.GŊѮ];{zzzXtCŋ9:f߾}\2j׮ sss[.r/^r9W+˰3lmmѲeK<~0tP :JSP7oƈ#b <{ /_(S 6oތe˖!44=??~͛cذa033C6mPfM١ZjPSSg].cΝHNNرc͚5GN@2GW!qFر_˦ӧ~laccZj!$$Ɉ1o޼.œ{@%ⓗٻwgW)i)zח& 93uTgǏikkK ڵ111-۳gOo"mOJJٳgYJGo|[[[IDŽ{%/_>ˉܰaϟ6ϟs޼ylݺ5 QFqp~z`ժULh޼yUɓ OA4***=z)9k,VT)ܟ A$"b@[[ptMѨNJJ Ovի 666*x|r2O>QQQEʕX~8vz۷oK544СCw^ill,۷Ǎ7pGa>%+UfϞey/_ӦMys1BCCann.;rڷoLݺu ͛74h[nŋ8p޽}W^Ӄ'z$߿ݻwq{JuATT˗qEl2[J%ك_;ؼy3J.;wiӦp}pwwӧOQ\9̛7$3d,߽{7ZnXѣGo>lٲ%[pMhkk#99ڵ+lٲ>/^U2 o߾B@\\\~ "ŀL&CzpUSЫW/47NQ?O%;.^&TRxQשSG%2 :u~aee+W۶mJ*ܹ3 Lg+sM6P("WovϋG˖-߿W\Z Ϟ=Ù3gzzz+?v@غu+ڵk3Kt@_www$'':Bնm ?/^XEoVZesի /H >\>gtCf0n8fϞ-sqqA~0n8$''cѢE:={pvvV<%,, qqq߿ 6D׮]!BP(҂9 ۶mCBBFL& """!C`̘1Q?>[8p1cFA "_&& GKG3gΔ&:b400rOficc 2OLLL}T*J-,,XR%Brit\իWRnL>J :88#W^RR\tZZZ PGG ݺu2[[[2::ѣǿk׮ٳgVÖ-[k׮}F܇ : B&.|9רQ#6nXa7"B;vTҥ9x`*JرcXT)6lؐ.]"iUӧOsӦM5kG͡CSNRҶڵk}|-;k׮I^/^̗:^^^lڴ)k׮\|9,YBKKK~!7oښؽ{w6h@Z,ݻw믿LB\f r9¾X1cU*UǏ$7nnݺ܉2q Eܑ#GϟWu(SN4UR:tmڴa˖- ƍ2>U^QQQ g޽P(rQ+UD[[[._;;tQFR= Ir֭!?ʕ+3wuu7jԈ666ϽzҥK|e֮]ZZZRm۶KBfIIIѣ'3gPfu֑$B:::k׮Rg%})Z܇ #E#}6ի[nA|HA͛7ahh ő#GбcG{.BQ*PSS~򂑑lmmE͛Ѯ];@CC_^d &N/_fX,55111022/_7>|f͚B ([,$͛ɓ'C\\tttrJ$3={ԩSX|ydΞ=͛ 4@`` *Wg<}Νk׮!((&&&R]/^@ pb$ BAⓗ !{P EZZnjC ~Aϔ‚ȅ 2888u?xBBB26jԨϖw34iMLLeРA400c>[ɓ''O… ѣs˗I\իUVY2vЁZZZ|EUa DP UX'NĴi`ee޽{O;Ç#88K.E2eTRzj$$$ŋHLLk׮r0`27ur&&&-((CCC'۷@sǵkאϖy=OK\rX|9llltR̚5 ժUC/^O>8q"w3g ..NuV I 2ٳgqy kFϞ=a``lBB޽GAPT_XX> L>}@KK+/ŋpww27BBB0x`\z!!!_>= 333U/"##1vXxxx~ԩSѸqcЭ`Ǐb U'pttĹs/v8UСr9ܹuZjlقk׮~077) {eyLdd$z===Azjcؼy3ڶmeAlmmѡC̚5 Z^P۷oݻ O5k;wǸs 2tA(Tmڴl;~v' ƍ\.篿axR~'2--R&q֭vnBy15559dȐl߹s'r95kFܲe pE At@T*YfM֭[7l߾={ADqR\B[|9dk5aeeU P,!KnÇsNoo߾Ś5kr]L&ï8,Z(#rQFpttĜ9sPT)@ 0rH,`ܺu o߾e3gΠBM4QI lٲJѣaeeĉDhhTcǎѣGCa׮]… aggɓ'k׮شi`hذ!:S4_⎋˗zIJJd+5k]]]Y&׫ 5 +Wb>;w.6l:T}b͚5;vlYk"0sLj cǎSNv\\ܹ+W2 :::9rd޽{FٳQzuhkk7r*TZ5<}TaEhѢ>~ ˖-CϞ=QJYSvmԮ]ЧOӰC*UM6?lll5j9waؽ{7*Uza׮]b[!S*|2tuu3ƘLSN!::_^ ~#M񌊊/`_~Y;v$_|IMMM)Xv`999%מ={x%RdF[w}ʕ+3111KKKIal"| zzzҥK\v-e2i``@rĈ%~8<{eʔC$%%.\\ǎ#[tuu_:O<)mmmwBۼy3oZٳ'ӽI 2bd,3BÇ&y 7F,٥Kd2Θ1~~~mئM};;L̠ .] pegJp5߿|ꕴRd بQ#Σ)Ο?OSu(_q (dKo޼s]ӧO̙#!Hʕ L6lVZ|Ɣ)SpA: ?}}}d21KE/ 7ܹ3r9t"-qҗ.]"޿?_b? gΜ{2 d@!wBCCYbEnݺDruu%&%%I&etttS*0apڴiT*}64iBMMM<3f̠$rBl۶xEUUa  ML&}p{xxHr9r?LP.gꀐ̙3)ɨxą`=|k09ɓZ*0(((W޸qx|STaÆghh(u򥭒.$$fff444d@@Qk׮I={FMMMΛ7/Ouo߾=zLLLԩSYB* i.]IIItF%W\\---PZ>,)."00QQQ000@ʕnzA}6ի[nA%1nnnԩvѣGc޼yQ}o޼Aٲem6/_bA&MPti|ΝCq ,XOSroX`=ze˪:iժC?6l7`oo:׬Y#G^$% Lu~U*Vp %%IIIx-^~~Ç SǏ배@ӦMUWE܇ |p|A}6W5`XXXƹn:`5ʱclْTiiilݺ54hPTd3ghdd#Fh G͚5^^^`5lO5kاOQMMM:V[[411a͚56nܘ.V K.իׯUWE܇ : B&.|CTgϞ4=}L&cnFHR^z fܸqC3f ^r gϞy1ΝLLLX|yjhhSNLJJ?@sssn޼ϟ?KHH``` 2թT*N333q䧎… ֭[ÇTWW'dZ[2q E.7|Cׯ7oސ$]\\XZ_,**#F:oߞcRRRpBiruVZ/vO ͍ק+Ta5ÇK׍Ǐj|ŁAt@"0/|M6 _~FMrr27lؐi1cøZj4hPMKKcjjԙ8{l###e6c 9|S|||͛7cҒܹ3͛ bʕ ٳw^|1[ے^z8u^|'OZm:tkܸq 6͛79s&:u/񰰰7|iӦ:::4i-[˗/}N߿*T@۶mQlYԩS5jԀ_xn݊CWW7C5իqy[l 䁪{@%СCtpp>1rJ]={8a„-k/Z*MLL8bnڴZ~IJJ ^J}}}i.[[[or@/~71< 'maaa466fN IR5k]vJ#G E]G=zD\h?|a)˹`;v/ Pw-)3 СC[f|.],'$$d/%%lѢESz*aZo7[[[ZYYٙC 0.\IIItttdUJZݼy3Ir޽dtpp`DDD @:J%ϟ?OJs+&& .dҥY|ygYnҤI8qb_zj*J޸qC%y\-At@"MKoh $99 CLL MMMixXXLBwI%K(3g|2d{Aq۶m߭|8p !_|/HUQdUZ5ü7oАC vد_?uI{{{* 2y4RSS$'NU{Je˖e߾}I422=ׯ/+ ٧P<9 {F2e~:R(8|0ԩWWW <AAA-yFFF޽;{{{bѢE5kjժ4XZZӧիz@ѿ:7o.e?D:ul2JQzuyyʮmb޽r OsC#222駟}v+W.\044.s|l\\:v술 ܺu ׯ4?pIbѢE~=իWP*HNNFDD[4k nnn9o̘1pttD֭qر\$B>RuH(|"dn:i5/^ٲ~~~RzqРAܺukOQSRRrr?M6ßU\9{lР0,-ҟ%[:::RMMMksy^חUVx;v1/_d˗/#GKyPJ%ǍG{{{m6s?k=:W1TE>,?"iWtEEE?DtЁǏgddd壣?[Wzdٲe9!99V+g͚Š dpp0~ZbLL OJR{Ã2tI3m45 IDAT:"-%%UTaNm'~q}qqq2ڻw/hggG???uc9aV\hiiSNbԟjhkkӧY ^~=_ڻuWX!ud\\\ئMד@;;aIWbEl=rUGI&BAHK999Ņ{QuHB(JiB;lW^}|ϟ?/(KOJ w}֪Uܵkp߾}ݻwgfihhAӓɅsll,-,,>P`TO>&&&9Zh"ٳiddc,7?>ٳg]\\$: BwH?Jׯ%e2 7o)S9SGcTRA ٷ{n*..7Q|||-ZPPP]]M6-~}v'OgΜ)ϟ?O2KMM$&&HM4A n:>|'N֭[1h |2esܮBoݺ}`` :AAe 0yd\pɰGBB֯_/y)tttr\wzQFhذ!ڴiڵk LqWV-cڵHKKSu8_CCCxzzJ?*U ӦMÇqa3ZZZ wbСhذ!>|x;tX|y};v쀱1 m\cccr<{ ԩS]AAV9nRJXjO0uTΝ;.>¦'0EoɢT*9l0ʕ+@6mZɓYJd9B&qҤIYP*LHH`LL x>"k@{{{>|P|U҇`jj*J%CCCyE;5jȴۍ7T 'Od?ɩ@۞:uҥKIc˖-|)I|klժJ4~Ͽǃ#q E| I@<#=IOdƹsrԨQ9s&֭K<V(9???r6jHdϡ{]v_x޼y3O>jNiС:+ǧӧqƙ8pz42+rNll,544NRdbb"oiEPDD(ądz5ׯ/Qh֬۷0EGG ,K^*e[iii|9?~HӧëW#ĉrEŋϞ={:b%99fff0aCsL۷o'JO' jHRz;wn$DZm۶>t3%y===T*}X("iWJYAkkkjiiQ]]hccoUTwaQ\eYA)DEA,Ƃ (~&Ǝ{b +D l(vQiVl4uـPuy]2{{̆gg朇U+)))1F!RUx{{X,? 8t7o rssBgϞԮ];f͚Q|Ksrr"uuuJMM-4={T̚5Kz5_rE0?n,j!ɪLx,X%oJJJƳgϐ~ ?S=zwAӦM 1tP|%f͚?@Wz쉼<̟?_:=++="š5k`gg @,ԩShӦ ڷo"''&&&Xd N>/_ҿGFF"==ϟ/ܹsx%lllJ5ȑ#hhhhHgggV:ܻw#GϏ={F.0nX8>3y+ E"@$Iɑ"?Μ9mmm;v wAbb"͛ۗ-+偕N>c2ޱضmfΜ)S`۶m8u^|u֡~ptt1|p޽~~~ÇrJ.~z<|6my7&LF_CDh޼9puD" >tR4hK5NPPڷo\rsǏcggg4h7ozqTUUxc$t*7o?|CQzN:cy9qլYj׮MӦM#{{{@dbbBfff23)))ĉۅ7}tRWW͛7ĉD"('<=>3yg@XݻYYYXby+n...8p>| mۢE 턱Ȁ9nݺԪUKHhٲ%t}UgA$AUUUlDN`mm$Ѯ];}'O,g)*f͚!<<ʘ8q"~W&&&9s&vڅ-Z`ş=G{ 1c@GGc|>>>ży0vm>M䄉'L4c.@X)++#//O۔ fiibݺuHMM-X߿̟/}*"‚ }ڶm۷ocԩ[.:v>:^sNԯ_ڵ:J$%%gϞPQQ˗aii)troݺux1z%=_̝;믿 =^%)Jll,zjiF}2ͅ pG;vnw}kkkC[[GBBB+p:}UddjjZ`{pp0D"ڿ?3 Vv߻wb1-Z]Ƴ`b!4|p:S͚5 oߞÅVn5mڔ'tbΦǓEGG B /0cѣ [@/^P5[nÇ{ Ң лwhСTTT |Uؘ֬YCDDҶ˖-+VX, HymڴvEo޼rLa6rHRQQ,$ !"1bihh+!ݻҵ0>~H.O?/zJ˖-[={V(EziӆD"mܸQ83ˬ3ydРkRZZL~qzݵkג%%%Qvv6կ_f͚EK,)$%%ݩnݺ2K߾})77;ŤLJJJTZ5?~<//$ mۖhΝEG""АrJ~/\@K.ݻw]ΝҥK֟hhhIII֬YCHV">}B3ur ]f;hE{&MҢ`֬Y퉈ڵku뒶W,BBB]6ըQЪU =/^ʊ9::҅ >C7PN0.@W:H իŋeڴm۶naPUU%%%%.@X̙3ɹ;w7nLzzzt%˗Լys211dHQ>}HOOOfmVz7n$4uTJII!"]Ґ!C>OJJ RFFR6mH"7n\EŊ+miĉt!y&={.]DnnndooO999xbiڴit֭"-**VZE$ǧvl21 >3y(?pV)55L_|ߺwN|1իWԮ];@Գg*Htt4ijjQN8QC.:aQRll,nݚ݋Gzzz%KH?SweˣOi4h W]Rddd䐧'ӧOիWi߾}4x`CUU DTzuzE5>3yk?@ BG,9sP5hBGҥKFeFiy׋' XLkצN:? ́J UV^|I̙S#tEΦ)5i҄2337;;[zXĤЫ3vްaCJOO/U޲a&cPذaä UVժUzj 4N: t>`׮]BGdff">>7o:Jchhgb۷oŋYf:t( D333L>/ HHH|}}իW*uJ!H0l08p111 *r_DwbСz*233Ѿ}{GRRƏ2e ٳghѢ\]]Y܌7\0*)S ,, >q[ny&p]vŐ!Ci&qf~:JQFIɓÇ? :tÇwɓ'ShU@$аΞ=u, X+WOjj*ߏݻw#==WWW\r޽Û7o@[[[.^###D"sضmt5w*".@c-vڅ/O8 UUUԨQC( '0~x޽{Bǁ Z$Wv@Dعs'ԩ@"@$!++ ˃5>}3fO>V<|#G̙Ǐ gѨQ#?k`ٲe;v,RSSfcc3gJ̄-~!88X_FaĈ0aPzuaƍqtttPvBdzFll,=zŋcǔ)SдiSxzz"66 S0c(|)+L~~> 6j׮]*>}1i:U???ЫWH$Q<Φ4:x ?:t@FFFdhh( M43=z֮][`˗K# IDAT۷KܜڷoObfϞM6m>}&=y^zEΤIw!333SLqqqF~-#ZZZH˖- ۷̇xWWWvWgɡ֭KժU#%%%2eDjڴ)듷t|Ml0a_a&\r񱢸eee E.~7DVg]JKK#MMM:uQ(""ɓŠ-3 (!!Acǎr[gΝ;tܹ_|I:t(peذatZZZƏ/߃|fπ0*ٳgfQFaܸqضmD"БOOOlٲiiiBA۶m1}t8p@(www6l؀ݻw#((Ej*D= sss ##C5===={ǏD$_~A```gLh"r0c +++\~BaШQp)Tsssann}}}>}JJ]쌤$rJxyy!11X탂;9+Ko߆gKKKj ͚5Å `mmȑ#prrbr˘lb0>1*e˖!)) +V:J)S ///.>cʕhٲe(>@WW߿Gvv&$$W^ԩ?~,pLXB={65jӧOc8q.\ׯ_ uVN!VZɥ`L^7nc_\"3gvڅM6M6B)NXBG]6󑒒RdTE֮]+h?~|,XݻwYx) CCBoz̰vZ#>>^Xc›:u**=ǎt˗ʕ+ѪU+H}Z$++v۶mƍwww*"+lt?"gΜAzz:{:t&MƌW*+aUxjBk.<}T8_%??FFFB(7@Dpuu:O =|mk.(++cϞ=h֬㑙YYY@xx80i$,Y&&&7o^`>`ݺupttUJMMM$&&Ba^pmy۷C)lLƊ X'믿"##صkWg)odnaffȈH$*XLKKÖ-[бcGH$ܻwӧHqqq8v޾}M6a066gŨSBBBn:˼NDCNNb1.^8|" 3|Æ Sؘ JE~: 777tڵЇC˻TT^]&T^cɒ%prrBƍ322`oo===L:ZŋѴiSdffJ@oѢ@8q-Z?֯_GGGkcƌSΝ;*""" wܑ~m$$$HWLMMaii'OSNx"_cǖu4ƸaUjž={7oޠm۶prrBttъݻwx%̄R. 55&&&BGa鰰:6l zhh(Μ9#G8{ttb7oӧѷo_DEE\~ttt/Y&Zj#99f)u???~q,XpBß+1Vuptq 5^|)t/-j˖-NR>hjjBUUo޼4aѢE011။/B___ݶm`ii[~2ŋǺuWUApp0 n:5yA",oiiiXdIݻ7!&t*1V))++cر H$Bfdn(mۆuiӦBG)D" pq !;;3g˱tR<}˗/>oZQF +Wˤ_uuuxxx͛2e ~'?Aƍezռ< 0@XcR377ǣG`)""#F@jՄRnlڴ O>vff&z 6-ڴi˗/###Cf;wd3f 1{Bįռys\gs\ڵáC?kK!D"W^-pcֆ1bbbYqqqxiyޡѣF۷u5ͅ ._3g 0twÇ~ހNff&֭[ǖ-[ vZƃʴGɓ_}Űu@v(caU kFRR1 Y8θqE={_^:З@III'[yDe,ZCfϞӧOC8{,z%hڵkc߾}z*=zSS2}(}ƌӧPf2VָaU 5jQ#GիΚO.]`nn~IaWAP~b=ј9s& |ur;v7nDDDf͚[nسg:u$tL)+++~2?sZZZ֭[e7ce XiQǏ@Æ Ѿ}{K"Wƙ3g}vYzư7. 6l@1w\w?+GvvvPVVƤI0zh$$$ >>˗/GVYVVVXz5ۇIqknZZ0Vpahh(t D;wCE@@fϞ-trw9r$~'iootر'NZjѣ<"Vy8{,عs'jԨ!p>|8`Ĉ8p`K._&2VaUzDǏ a׮]hӦ j׮ [[[?~6liVtIkkk@V777իW.=$$;v,TxrrrgYchii?@~~~7 &&/_d9ƾ X+dffJ S4̜97w^ܿ111XY+ J/&&"H`%&&wPQQAdd$6mWhӦ HWibܹ֭^*(իWf̘'''nƍZl)U]nk?~\(_mȐ!8rj*0&W|*==q^xDVZٹ4?~͛7H$1>AAA Cbb"455ajj ;;;AfUG||<իUUU;k,|hذBǮj֭֬[ԩS3fLOD=z4%~= L>f̘E Pƍݻ`0&7\B9rƍCZаaC`֭Xd N:%aXrtUMMB L8::"88Ճi&ÇzГx5>KGٳ'|}}ҷH$BjдiR͘VZ5L4 &M*pPz tvB~~>FV9;>۷oX;w24l{{{DBۼy3ϟܹs}6uVו۷oQNW^)|o/p2֭[yL>\!#bq͈Xy+!LLLduvvvyt-[~93gPfM*ԬY&Mƍ,HS988A>}zφ;<~vvve/ۣ{8}Qʌ 2VqŠٳR=ȫt~Z'Oɓ';vBǽtxu2VZ5ݻaaaXhQ} [ 87BBBR&,,,`dd۷o 1}зo_$$$`%gРAGΝf###Cu5ԩSڵSؘ>Damm!C(lܪqFyLܸq#L &ye'S)SQFزeQDVV^zu 1iÆ 4hƌӧOcܹoJѣvZ$%%a޼yҥ ѷo_ɕ.RRR:CμyPvm:u'W3f@,'<==cǎ2HI$U}Jb6n}eeeљ3g[RHHH$,sRÆ :fQ>>>|8FFFѽ{wyϟWzj 8͚5y-** Æ C=`ooU㰒o|r\v 666)J݋s!!! 6DRRN< 000*dtVكG2{nDFF"..M6Enn.\ YYY1}Rx֭[TUUIIIڶmKmےY[[Ӟ={(''GجYɓ)##nݺE;v$dffFdddD-[$[[[ .XV"%%%ԔLMM)??### ۷}Trr2=lRd;>3yk} wwwjРWHO-[~###tR%fqy$ԨQ#Z~=)PFF]TUU~Ԯ];RUU Ν;t{Q:u .sN\hiii)8~4'ڎLcRšCշ3D"ܸqS.\Pݻkֹsg\|W\ݻw cccc1^:f͚ <Z¬Y#L0LjѢ wޕcprr700ކM6)llƸaUJHLLĐ!Cʤ?D K]vŨQZ&#Hо} :fff]?O8;;3oưaJW`` ޿ŋ!i6mڄ 6oތXg`U J'''V>ڶm[fΚ5 dU]͚5ݻqF%011Gg:&Mŋ .@c@ 0Lg/ХK21V9Fqz /_FPP '۷GϞ=?HNNƚ5kpqrʍ X#H ,(>cbb0uTX[[ׯCbX`Ο? DNNf͚X[[#..'N4TUU_~ژ;w.*h.Vy: JnݺϟŬ,BCCÍ7pqܹ1b?ŋ1`CWWW؈GÆ ド'… شi455*/.@c9TUUqҥP-3k4i-[`ԨQ^zYeUjjjؼy3q"((NB\\.\CnsLW2YsNÇ BD4iLMMq= 2D Ū>2*Io߾,2o<᯿Ž;1VŴn-[ą 'OD\\øy&|||m۶[n ÇQNgbU J%**Jz}qOϊXYY_~rpAܹsGzW Wcǎa̘1:t(u놱cؾ};_` cR1229I&PWW/}rr20~xDDD]vbϟ?UV &(l]̛7 BJ IDAT߾}g8r&O ccc`1VՅ?ypssocrS^=\v ᰶBƽ~:wtY3g΄;oZ/cR G^^ЫW"FGGѣCCCcUe-Z@-6^tt4zMGRRv܉ ,/^ a'455r,::VVV8w\0l0dggcǎ[2Ƙ :::8qtuu7~~~HIIQH^Vp*oooXZZ s999~:tvG6mڄڵk+(!c)q-\pAZ|ddd`˖-ӧ'_dd$U!:cXp!0a„"ݾ}pssC 1YYY^z All,͛'p:Vqrrr%%%^o߾lۦMypwwٳg3Xe1p@a̙CncǎBcU JA"ʕ+Sٶ 0}t&e1SVV3.]ϟB֭?<'OQFEmذ!ݻь1ViiiAKKKIXGGGtm߽{'''ASl1c쳸aU zj:t(Ν;cǎ}rNǘbAEEصkrssc-XJA"/Ghh(|}}(h)L`` V DӦMacc#p*W@cX,Ҋl+VF\|J'??[BD1V_aUHMMD>}B51swwG ssshjj 1 1ViiG… ! `ׯ_NMME͚5**crahhJ3=1Vi9n }],ߵkЧO;ZZZXl.c}%4߿]]]4hР۴i|2ZhQd_/_̶K~c1Vr|1Vi4mɈ,ȑ#ES`7|VZMXc+ Jc-ۇA^zWWW9sFɓ'l_ppp@=s666PRmccPWWGVc˖-2e fΜgϢ~ÇQN"'1:pqDEEaȐ!DGe1ƪ1V">>W^ŢEЯ_?@zO?A,泋2clqTUUacc3g͛Gݡ)t4c1Ve())BGa1ƪ,~1c10|*,, 111&䄚5kܹsxQ6pttFD BXX SSS١I&r9c1Vp /`&ů}hӺuk$33Fz`dddlڴ W.a1c߂ o>INNF5гgOԪUKа@ׯyf ϟ?ǹspm$&&b֭Ŋ>Dc1& % d;v >|1c WR*=s j֬ OOO5kĤI:/c1 +ݻwCGG NDx5߿BUVVFzz:^~1cK||<Ο?gggH$מ>} }}}AGG}'Od 4ܹ3֬Ypddd(c1X9`bٳgcǎަMXYYD`x{{nݒ.6zh$&&bŊ7o@"oŊ+ЪU+c1S<!XFD022n߾{رcvZ̜9Sl\t W^ũSpiҥK077/Wdd$pu^<1S0>3y+ Μ9'O`ڵj?|p U[[[b8x \\\~z޽}zzzJ| c1 ???m)))a eee9X?͞ŶÆ Ä _d;ooo1¾t"ѣիԩS}9\nZ-))ж/^@FF$/c1+ +ҡCBٳ&M //!!!X|9֭ 777i1c@$PQQݻwdD"?^Gc1Ƅ+Ҟ={PV-߿kvew[lY-o߾eGs1c\}M__?ׯsD"BGG@ۉ'bĉHNNǏ===4lPc1X9juEݺuVKKKc1VC1c11ƾ ++ k׮3cUh| c!//'NXc1c_aBݻw/ "cW@c?ѳgO\xQmѣ6n(`2c+ 1`֬Y044cǎE-0gBOOO1XW@c \޽;]&v51+c|1|wx! 555r+ :c *˗߱tRH$XZZHXU>>>رcrrrEڵ+XcJ{젭QFg,-!!k֬t)S:B矘1c&M{p̟?o߾cBYիWرCac2VpRRRЫW/deeŋEN{Uŵ}hRT.v=*bػ{n v4[lX+bEޥO׈ Z+k33{COOO.\u}:e׮]8::Ǝ~z077АkҸqH*UFOOI&aaa/b100x\xٳӴiSOt鰰f͚*TH-[oҥKy/_\~bbbx&&&d˖%JPreҧO]?/!R) B4'44жm[:t':u*ǏgZLtt4...ܿe˖gtL8C5k^ H DGGcffƥKػw/J)vE,Y(Y$*U'N>}z/ׯB TZ111xyyqELLLXr%-RJ~˴o3eDƍ5j%Jh=>}'NдiS:v)U4hЀY鉙G x!ӓaÆѮ]; 1g:wL|>fjjJƌtʓ'OH"{ )!1(Td͚5 P*""B-ZTUZUEFFjM2111wJOOO͛WuAxM>]I-^XEGG]={6b+W̙3+}}}={v(333enngϮN>n޼U*SSӏaÆ"""޽{՚5kԪUɓ'Ϩ(hѢ:N*Ν; cRj֭K]~]=x ߿fHl9,\B9="}.\8 +Q$-[~z ٺu++V[n>~ذad̘-[зo_]ٳt>|'''bbbpvvM6ԭ[cc>o< DNR wޥf͚ԪU ###RÃ;wpu*VHLL 7oDQti6l؀+#G$O<,XsQc7CCCׯ]۷/]tKj077K\rI-駟~## DuKl٢թS'UR%#T"44T[L2*K,j?4… ZlM͕rqqQ%KTJ>Sٳ;vsرC_~2nZeȐAm۶%5AfB9%KҥKq"akk˪UXl~~~<}>}иcxyy1rH4h֭[߿?.]ʕ+oyv/^жm[5kFڵ}={& Vڵ#((p֯_OLb/^QF{n|||Ȑ!{4jԈav-35%ӳgv͍7uٳ/B._̳g4J*D"H^|ITTSxq5k5:u"((H"94hPLKB[&44M6O2e-מ022-c.YSN{nڶm,Mm6lŋ:u*W^QFd͚N:qqN8A (WZ"IBjQQQ׏ٳ3tP?s7nTT۷okXh*00k2|5kƔ)Sx9νw^*V/ɓ8;;' 4hϟ?7nqTV-ejjʐ!C8</^dĈ8q5kRzuO,Yppp͛Z"AIBj;v`Ԯ]ŋo>N:Ec)UgΜԔF}H[֯_O ѣǏ˗*T33Y߿Oƍɓ'Ԯ][˝;7J)޾}}oܸShڴi$qtX[[3f_7xzz9իWgDDDhWW5B-ZD͚5ٴi3gfŊdʔf͚}_9Xf ժUȑ#888hXhˋ9sкukLLL(U,Zp͛G5w~̙3kSO>bw!!!޽S%K*cǎѶm[ի1իWٙnݺr"Œ"Hܹ3p%rʅ'Q`Av)$p%J*cv/^̌˓?o:ott4֭cʔ)\v+2k֬gڴi( rֿdY>?~ҥKɚ5+m~:ǏܼyjԨ111(KKK97'O͍=zPPdwM[J)6mʭ[bF7N-IQ&Mt{{{vcaaAŊquuƆ"EаaC:vH)P%Km۶|hт.]`ccÎ;8vXt:,Y”)Sرc... Bhh(\v:tԬY &p5;F5H++WfȐ!cmmxф>C"HG)RD >\)ٳgLLLTddd(CCCۤ޽[ҥK+}}}3gNU`A^zrέrέ&LJ*ou=>|/էOeiiԩ"##߿ʑ#211QwNw8 'ۮ\e vUX1e``\9,܂%H"##cg&*[,3fPrOSl߾;&u4ÃiӦAFظq#RtiVX@pp0,Xy2bv؁UX&&&jՊVZaooO֭3f 'Oի<{ ʕ:еkW5y ϏիcbbRv܉50H(+V4k֌Ν;qF퉉R!) BTK)ųgϰ?igg;)R3o<) _kҥKGt[n1uT-[FJذamڴƆ:0l0BCCi޼9 K.oCCώ߲eKZhĉV{&K,abb%_#%bٲe.\ӧOSR%s.۷ojժJ$_ҥcժUԭ[GGG ҒlٲBR ڵhѢZG"!Dt-y %K}bŊ9r믿yl۶mر#Oz}x{{s ӉĐ={v|}}9v/^ؘ۷o `ܹ?BL-<"7T|5i$t:~˗+@/^9Ƈ=T;vz[n5k(@mVݻիj*O< Pԩ:t*TtA^ZI$FR3fT!!!J)?~2f̨q2|renn,--Ն TLLLa "U=z4'Ofȑ4mNe3oK9vM4d g!ggg& yRti&O̦Mȗ/ٲe]v8::rQfϞͦMZ*;wFwzl2w;M eܸqچ111GԩS!CЮ];2dD&DC|hѢ*T {p'Ofԩ92}033OO8 ȇۆ7w\ *;vM6ԪU peΝ;7Ul2֭122mz{3ݻwSZ/.J(҆|uVȑ#iݺ5y:H!+XYYX7o^:t@PPl޼9V A^J%b3\p%J`ddăo޼I[hh(wfذa쌥%+WŋSxOΝ;dʔIVlN.\ ]tdȐk׮ʕ+5N&3sL´"0YPBCCɚ5+/_ڵklݺ `9–-[pB屴DOO+V0qDӓϟT- IDAT3}tvڅDDD9>&Yj鄅Ѿ}תWN)_WD-[6ܹ3XZZҶm[drʥuIB|>} lmmquu߼[nS[c(xQɗ/&MbܹL2%"ES~}F+WjժqɕRy{{3e њ"yʚ5+ɉgҩS'co"::Ӷm[̴#0) Bo6~xʗ/ÇٵkѬ]gϞ;/^}ɓ' mȑxxx&MD\X|9M6Ν;_;NxadJN>M:uPG:%Kl2.]ļy>A///޽K>}"8yD.\bر7c_(FΝ;8N_>ѣԮ]dɒG^&::9s믿O?њBkϞ=d˖-EXHJiSUT(&&Fbbb˗ٹs'GLJӯ_?&Lqs,SΎ]vѤIƏNs'O0sLU)E@@s̡bŊԩSe˲aÆ/>O?._AAATVÇ3`=;%"۳gC___("+ BP'Nd֬Y4m4+VshZYYJ,Y(QD+WPB3''@^|ܹsqqqٳgt:Lpp0aaa[OOO~w;F޽;ϟdV&L˗/=z4nݢx⟔P.]+.]'''mF&Mlmm @```XB)EϞ= ZjZGB$;wpEƌu!d%t q]iPf͊fii={v5vXzjk&/\uOEEE\r)|rճgO!Cell |||Ըq㔁*\3fL111*::Z?^9r([[[5~xu )fͪt:J.T&MԳgbyR244TZRv敷^VC?tԮ]"HgVҥS^sX$"D d``@=puu`С;v[\2˗gƌkcĵ͛پ};ׯ -Z===.^H?ڦϤI?~<={$_| 4~3gNʗ/ѣ? t.]p19s&'Nޞ@Μ9dʔӾ}{ӧiӦ ޽ĉWaՇгd]ǧ4ȑ jE?~UW3f:rD$o˗ܹSլY3JݻհaÔruuUW駟ThhTxxRJcǎ)CCC |k֬W}BCCUttwƌ T߾}?پcE*@UTIݺu9p@#GCSyUw:"lReʔI=Z=}atJ)]|}}P>>>Z,z-TXCCC6m޽{kݛ9s ,]*U3gN<==y7-uVZjE5pvv_~b=|Y~rF)ŀ ё͛ȷ #_|tؑYfhܹs4ie@!RÇȢE{]Af"￱B L4nݺ3gNZl.]b˖-ԯ_+2rH8۷o155dɒÞ={xnnnՋ#F`ooϞ={011a >]vѮ];n߾ۼys/^19syNcҦM*K,ٳg4pJWlY:t@hh!R8Uҹsg# 1m/ei۷oUΝׯ*\0`*TGڪvک9s*@J###eaa bbbRۊ޾},,,SVVVɓ'ըQgN>ʕ+եK$UT)ըQ#!~Դi~6ش9,<.Ξ=KN{.Wcǎt:122B1k,N:r`o]ljo޼۷}̙3ceeEZbt]E033c4j///7nܹsXW 766G,\aÆ臶7BBBصk:NQJѽ{w_Ί+#A;wܜTE!D$ׯ9<;v`ҥ)SooH.]PFOt/^ŋp!CP`A7o͚5rX[[{n ,Rm۶qF2eDpvvhѢ 6YfuVzy#9… iԨqԪUظq#7obŊZBp/_N144:qZ,RӸqc6nܨuxz wѪU+ɞ=;?3;v`„ xyy}T>.]g'T9tѭ[7J*EV>/^d֬Y+V {{{֭[@ҥ5}?bЪU+$)___H.]hݺq?hzN: J,IΝ]6~۷3sLȕ+KO>#zJ3^8p-[RD 177:zbŊd̔9,?K6dԩK.eŔ(QriȑĹؘvѶm[݋Y,Nɉ2e0n8$WWWKݺuټy3fffZGB Mu!H  (** tBHHM6M6Ztz۷:u*'ݻk+EEE1j(f͚E>}X`AS !RDHE\BDDd'R"D+U/^:+WPJLMMٽ{wm,BBBXz5~~~qQ"##ڵ+3f SLZGB$˗/PdIuR@H@}3gݻw(puuF-ZE#:ѣGsN *ĦM$R 8e˖ɃBq+V޽{hE"ĿӪU+J(AŊٰa޽W^Ѿ}{*T@Ϟ=ر#򡱁=:t`߾}ZGJt'OŅŋӼys!4Vn]LLLؾ}Q*yDɔ)fff?nnnN֭N:4h@Æ h޼9Z"009sj+Q2zh&L@^#HLMMZ*gΜ:_%W@sss^|綍76l #200`DEEn:Ċʕ+(~hgϞѱcGzI>}=zt%B Ν;Z⫤/z*m:.>МZXXXШQ#֯_uS%Ku<}9z(ٳիWh"ߢ#VVVu!H baajt"""8x <=z+++M3)7o իL<#GPT)iy舍 /_SNR>Uo߾ZG⋤4)00]FttG7nL@@Ǐ(/_^zԭ[ܹscmmK,4ŋ4hUTߟ0|xs9 /ɕ+WbEBp*T k֬Ӈ # ') "MZp!WA)RCn[.666LޯѾ}{֬Y~M4GGG 'f |>9Vg0Ep| HXX OfLBժU?>3g͛ 6kQOS"Mʜ93jbǎx?}+QQQfʔ 777֮]ƍ5k W^+V 2hVҴn߾M|4Nٳg jժ'cƌK.^ZXX|_TTGƍܻw+++vم)R:up2gLb8y$+V:_$DYڵG;v5k7o^bbbxG:88R3gΰtR&L @Xnf͚TP~,9t+WeȐ7o|u… s9._Ldd$;wdٲeܿ}}}ҥK!Ҡk׮qC #D-X"ҥ իWK.\|9}t:*Wʕ+y)ެ]ܹsӰaED100`ʕ\vYfiwww:mn| Hɒ%9w֔-[iӦѠA|||gȑ ]ٳgxzz} ~ ӓ'OrI_|ɂ ֭Yf 2Zʕ᱄)GXX_N6p-@J.-[bקIyDEE1uԬYҥK3/C dС_;**7o$H)R3gѣ?<"x%~F!R) B$e͛7*TÇ3cƌoXM{5jD xg_d vvvXXXCzsmڴiMY㢧GӦMٲe JO2x@n)!PѢE~IҞdϞ{{{Νׯz͛7166ܜ%KҤIϟ+aaa4i҄`rϟ?_~oߞ'O.0% .jժo3N !w|'!3) B$P oE255TVÇ'O-[cΝ;_nݺyÇ3h J,I… &gΜqcRt5^k,Z? 4(v̄ -BϏ3몫ɍ!Њ+077~ZGI/κu}6ݛI&}֤ubllL"E3g۷͛7| @̙K)ԩS߿?f?.OTTcƌaܸqL4 {{WRlYW94B$V\IǎeNvΝe˖/_>FͫW>}'akk˺u8p @dd$O<2|XH022Y޽{G>}Xn;ƍה_ڵk4i7odԩ i7͚5:Ej dĈzhE~1c0{lf̘MoҤI Z·"wq[Z5 (rlmmپ};6l`?T>?~ԩS)\0ݻw\rI"yoN(B|) B$}pBfΜI"E#ǠAhӦ {֭[lk׮9[[[ɜ93vvv,^̌EE _1bK&**3gжm~o߾o߾͛Svmٺu+e˖q)өSK ELLL쟕R}T$B|E2K |IzRJqM/Nb8wW\ښK.pBڵkGZx1>>>2b2K5]6;v]v5j9s W^ʕ+1lذZX)1b%KdӦM+VB-[L2qĉD}]az!>}IPP?~È#[.wR>˳uVO߾}?9ŊjקJ*tڕӧ3*=~zzzJB222bɒ%xzzb  Hִ%&& pYΝ;m8o޼TR<}lmm4~WK.-Zӹsg5t ӧOy o߾%[lZziM|5nܘ/_rD;\Azzz]}}}&OѶ 2pΜ9##ܹ3'O\r :ܹs3~x5 ڶm!=zgҥKB|Q*Upg:"uA IDAT@YҶm[6ô >VVM찳̛7 &pI֯_Olْ4Ky N"o޼Izn!DVL^zŝ;w(Pq7"W4k֌`Μ9u,--6mܹs+WOOɓ'̝;c2x`˶mۈh?ooo6n܈!7+S ~~~'H+VJٙ9s\N@888pܹ˗8::2rHV\Ɂ8v-[$O< > N<1 Vi%VVV۷O(B|) B|>...l۶qiG$ܹssAJ(A&Mx7Jƍ ח ._˗x":t`ʕ/_ӧOS|y  !R;NG˖-ٱcQQQZ"ޤZbL0 6hG$SSSoiٲ'L}IHH-Z77Of`ccnnnTT)߆" iѢO>MԙHhR@QFQ~}͛u˶mbԨQ:ӧ888pqvřѲdڵ+_. !Ҡ~ z "E"D"##9u?St+WNPiTə3'kV \IXXX + t\̙33bĈ8:t(ׯ_gΝ.\8 !{ƌ9uq5UR@DGGkjHZt wwOfٶm/fܹ*UJB^^ț7/C:_%Dop,--100:H"?3_; zA-ի=cccf̘޽{9pq") B|[nQ`Ac$TB ::N:>}z/_.p!-ZPfMLddq,) B|) i0k,;ڵk8BNǼyv ,:%Dopϯu $ ѣG3bjժu,!D2eׯƍ#88X8BI Epp0y:HbK&**aÆaffu$!?cccu!$Dxz!111ɓG("/^ݻwӵkWLMM5N$)S&Oquu:|{HIeF̙y9}:B|UΝ9s }!_|ԩSGHBĒ"D<}( s8Hj:ebddD"E#_?>wޥe˖8qҥKkK@ Kml޼CCCc!Di&jԨA vB*yDxz&&&kEh k֬kC!Iqqq޽{hG@ ;ҧOu !|Xݻ'=) Bӻw033:BMrȁ!AAAZG"D}==="Běy+ "ِ"D|u!"'W@D!D:3V%VZ˗)S ~!"1ϟSNq !DJ)6oLѢE)S  ~{{{Ο?Oٲe[.Hs! mPlYVZRJH" "RgRzuڴiC"E{.۷oOseϞ}Qpavޝ(B! ~~~jՊ]Һuk?u,FI)ιs8|ׯ_OŊyxxxPvm,Xh+!B$ 2rJlق:Ha…۬*UDٲey5gϦ~/©SKL?D;BZlɀ8p111gӉ@ HO.\/ڵ{K000ݿQFXZZlٲDTJIs!vڼx۷/ٙWjOrR@DbȐ!lٲ,Y`kkƍٳg899}={dڵ2#5fff^ZBڒ.]:8@Y|9...˗muDI)B9t ,YftЁfW'ۗH/_( 4i ""E166Ύ_;vuVϦM|2F:HŤ]vԩSZjE˖-ӓFyL9h׮ , ***Qr 8Cqʔ)GG!Hh 67775k@2e>}:sM")Z$cTPooo͙3gА(RHXcӦM8;;'ZǏӡC<<<ҥ %K$wcllhB!ULL }R Æ pppLJkT6R@D߾}ذak׮ܻwcǎ+WDÌ3Xj͛7̸{.3gN ! PR%8 D$(KXjXd ޽VZܻw/1rH\ׯy5W\aʔ){D;B,--Y`:HThѢ?~0jԨ۷2dxXYY`jj$B!Bv]1D*$D VVV?~NG͚5qFݻwc+B$g:iӦiCBR@D?~;ZJ-$$CCC |B!DB:H4%O<_s1w$9w+!B@Bćoe``@۶m2e vvv>=͛7144L B$+WhAB2 Hւ:B}i-!u !"Mʐ!!B!<.B!H2R@B!IF B!"HB!B$) B!B$#D!Bd!B!!B!D"B!H2R@B!IF B!"HB!B$) B!B$#D!Bd!B!!B!D"B!H2R@B!IF B!"HB!B$) B!B$#D!Bd!B!!B!D"B!H2R@B!IF B!"HB!B$) B!B$#D!_u,0z"`# F@6l`# F@6l`# F@6l`# F@xhIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/yticks_no_transform.png0000644001374000021030000022204212700747662032023 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxyXe?9.H(&did=jejY$bjiW{J ) "uT~]\ʜ93 9{fVHԍ]"""""`!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""1l˗/#??ADDDDww. |2PVVE!"""077Gbb"C}biBQVVիW# CDDDD#11#F@~~>}bi """"jplNDDDDDzBDDDDDzBDDDDDzBDDDDDzBDDDDDzBDDDDDzBDDDDDzq@H/D022SUUZ T*e~QQvލ:Suu5j5 i277; www7 ""?~-FJ2/>>۷oGzz:PXXB555F""ej 666#|}}oooTˑ8;wN777WY6ZZLLLFFFh4e*++VSqq1!"JWWW%xzz vvvxGamm""BTQQ7nׯ_G^^p8r*++abbcڵ011\]]6mFFFJ"T)VVVh4DEE***vx!--MZ4k "R+SII Z-w_j+h޼9Diii8~8?\uhݺ5||| TTT||| "faaxxxƍضmQUU(bhh{{{TVV"-- HIIArr2233q 47nYBDD`!yq%u;;;tχ qi9rSLܹsabb1==wFbb"^bLLL,*nʕ+[n̜9=m|G;wnHDEEٳC~~~a``;;;vvvٳ':v{DDDt{*omK:u 8y$BBB8􀪩%Ko߾Fuu5|}}1k,e1cg5k'''XZZgзԙ͈Qhٲ%7okkkXYY)N J9rf͚)Ta޽زeNycK,իWaiiCˑ \|(//?j5V^ :766HHH@NNʕ+1jԨ?jx"j 刋CJJ VݻGo"ciBxBS}/>#\v `hhPT*8qFaa!aoo uh4Vm0][u*u Z Νùst@+6NNN(//g}+ݨ})5_lƎ ?~<-Z;w8\~`jj lذn]jZ׮]իWujn8{,bccakk ggg8;;^) É'tAR/^TT*$$$u.fTSScǎ_޽{q!TVV,--jBR}=z4F F.==X_?&'4ݯk׮!,, .]¤IгgO8::K.l,]Dzz:P]]};v,,Yrem~)DGGcpwwGǎQPP{*˶k>,zꅠ񯿋Bm BPP<==V7EtRSS"+V %%UUUؽ{7Ν;WgVVV: 999J' `kkF<;qqq J`9s&(?x+++e˗믿b۶mabb#F`ĉ jk:=u,VVV022Brr2{ӦM }]=ZHOOGll,O*u???yyy~:ޱ,k׮Ell,,--4x߷o`[ >r9s999 ~~~:WoAǎ+ .oe|M888(yxxD?ڵ+4 rrrTWW/_FRR?BӧQ{m0>>'Nסj^zF- 333){WPZZ Xn6mڄP|+w>rrrd|WXd QSS$>>>M>=(x a;p |n;11=<[[[x{{h۶-y"11}aii ooo$&&b8x 4x{{߲ؼy3^|EVZZ ssߒ: СBCCaoocccT*#==]}%ddd\4h6lШmSDiiix'c:*?hn݊z Xht###,[ EEE000СC\ؼy38Ç+ J077aii >T_)))8p +\\\ {{{غu+ql޼Yg]666GΝΝ;7.QZ14!<^,Yqՙ۷י-[v}۷oua͚5 _dd$~'|xamm!CJWeeeڵkqUmƍàAio!""#`߾}K"::YYYJT e˖ld{&L~k`Z~=^xTTT ** 'OFN]Ν;+wajj @R?D۶mrƲpa=zJc,TUUARJڷo|>|;v 밵mFZj2N<)ɓ]l9s挜;wNΜ9#;w+V˗eJKK%$$Dr?m׿`eGyD:v(666\ORRZ֭[ >>>2rHy%$$D|||ABKoNjV㒙)O> QTҫW/پ}n{{{3f,^Xn*8Ȑ7nvƎ+۷BO[O>Dg"qpp-[Hjj9ܼyF+j,ZVJJJF#*궟TeRYYŧFZ14!#*** KKKܸq%%%+tG.1cѮ];h4eD7W{4d_p6Bz"䠤nG/1~:)//GZZѢE ;9DQQnܸoJJ =#G ##C=:u¾}$Z-Pꫯ>}O>Jq׮]C۶muoaa'xϟp?0:vpxzzQ t "88!!!z*=k׮AR666(,,x7omb8p u .G ֬Yƫ3޽{^BBB`cc2!..ӧO޽{q9j5 =~'9r۷̙3u|a`` xマ={bk4ٳV?r_ j4@@fff0335ڵkpe˖/nݺϟ9"##ѢE}OIUUU8|0?CCC`tիWq)>}N©Spҥ;GVHOVVV-mL#??_~%\rerpp@XXq!e>mڴi7-[` C= +***/  ֭ мys8;;+-6V MO͛SOyLVZˏ9?h=nܸr#;;+WĈ#e1|Up%t(**Bzz:jjjatJEhh(bbb_5^x<<}`ΝMxСCvZiQQQڵ+233-[ .a`oo}"33S[o̙3y011QԠTyVVV(++S鈌˗/cɒ%ؼy31sL̝;I~6n܈S"==憣G6Gd该joaժUX|9 fffr ~mlڴ puuEѿ<#MQ+Wb̘1hժfϞ kkk8;;#88IsXd q׬Y5k֠H=04!Lԍgԩ< `ii VB$%%!''ըBUUQ^^WWW WuZvؐѦM/ʕ+Bpp0"##un~7,^X ((( >3۷cƌ(v$x駕g^b!114h4 nܸ<$''Gff&.^lmmѳgOٳ>#L6 #GIJeLP{V>}W_q0rgaa7xcƌ;V^ɓ'Ǐǀd* .ĉ'pedeeA*mPVV$eL6bJJJ<777jdffbĉpuuEVVrrrPUUs ...9r-?0o< NNN077@V#<2d~w\r%%%Jkb̘1֭fΜ0T*ܹsj*8::bɒ%(((Y ( Q뇴4W333nZhPYY {{{"!!A*OrJcvL;w\zU4̙3GLLLC~۞VC [~<""RVV[|T9s;vL<( ӦMk265Fl"%%%w\>:HPP+t]YV*SyylٲEF-2cƌzyڵҭ[7U*xzzʀ瞓SꫯdÆ #gΜ˗/KyyyҔV MOh;wkkkqmOJ,,,@\\\d…Tޫd[o͛%..Nߖ6mȰaСC_+_ئ-ZVv-377W tW^-JҔ0l0%4o\T*L6M;V8p-Geذawѯ_:[*bhh(Y&O, iiii(VVVrF+GCڹs-C޽{hgZV _TTv) /gF}UVV{'dŊRSS#revډW_}s_xb Vֿڰq'@v9pTWW+jjjڵk:jRYY)NNNbbb"_|ڵK֬Y#}̙3G&O,#G\åUV jX{&qQ!V MH mmm-;vÇ˯#+YF^{5Y`ϷAܩ۷,_\ZȮ]W^ҳgOg'J=Ebcci6ms5l۶m@l٢jr)-U^{M̙#O?4kLHǎ2(6m~HHCVX!/{*md̙rJթ􈈔o&'O͛ 0`kNdz"ַo_ >>>ҪU+ڵ,]N3Fo.Vc*+V4vhJ%LJ^^>}Z#\[h4E/$33SDnJ^Zq3K˖-ER믿^gQF qwwSSSQ`4sLٶm=zTΜ9# sN?~L]Ww'NPeˤPDDkeWBBB bVVV&Cwww9Yd]oF $99Y=*;v쐩SZ7777nܟ j:!͕/BzRO MHmԻwoZN8! .(ڵ[TAI.]$""B#~dggKEEdffJzzz"jRVV3Dbbbdܹ!NKn$%%E[^H֭['sI.]dر_Kttrz2i$bbb"ݺuݻKHHX[[+Z|||SN2{l%L5{blބ6jD@@:u޽{/nrr2>cܹh4011AXX<<>.\@AA^z%ر&L aҤI077Gaa!֬YA8wڶm`x{{X{yRSSsO#&''O?Ŷmېtz!C fWׯGE鉵kj#"1m4DEEaݺu1c`ʕ???hnnn񁧧'|||t{Z-~G **JHH_|#!!A鵫cǎxѳgϻ>^wSNHOOG˗/+5tWMM xeLMM1ܸqOɓ'qiTTT%%%ؼy31yde0NV l6668u>>h׮BCCyb$''###prrRF׽p2rjqq1JJJaddxyy^^^ã>Z'edd &&Ǐ%m۶)57n܀VE߾}ၯNNNxwߡFB۶m'F>}ЫW/ڷoL,DAA#+EW7"۷cСJ_}ŦMxb|8y|1twwǤIK7T4Fdd$pyرW\ANN222:QհT$,((QSSJ899o߾7o5kvC!::'N땁-"##1k,XXXٳb @uuu^"<<ǏG۶mqܹ:\r?jغu+>c8p"SSSƳ>qUW]všC>>RSSѣq >|&&&xB9rCYYT*2R3oߎƍF/G:+"(--Eaa!rrrg"11BVч|rlڴ ;g͚ׯcnݺNRťK۷UV//UV|2ڶm~wƄ 0qD*nee%LMM1p@ 77W^ENNRRR<z {{{oزe bcc~õkװg;8s ڴiSsƍ+VZQXRR{bؾ};233舧z n4Xj>c\p;w?:kMM /_> !!! ƍ f(i֬2kO>$2FAAΞ= t<жm[oYYYFZZ`ddݻc077hĀW穹9aÆqU?g8r"\dee)yyyYvZرÐ!CpU{011RSS#)) VVV/Rnm@gYҥK<ܾ}{Oڵk Rzz|ҧOqrrJ%7H~~~lX233ofB:$˖-SO@^u9r[Ə/۶mm;3fyeٲb ٷo{̔5kȄ $00PW_iӦĉeܸq2zhU^ҥ'Youu:uJ-Z${Vz}*5v:e3gNϺ';~ldzgSO=+v+++ԩS2g MHmիZVc=&k׮W(xJUUU^4MhZSS#ْeۮ];ٳ[+G}Tuzz K.Y֯_|@:99#<" .}e2| f]v !Ҷm[ 6ȤI QY4߿__~6hnySyw֬Rm۶ʳ]v7xC6m$2yd155U#<Ԉ4L8QyܯM62tPtZׯٳgԩSr 9p,w|MMJ-䣏>R|駕N>-ڵ[?S^^.bee%K,iǰO?^R{V裏.?U/ u2d%H>䓲rJp2ZrϞ=cKի!jZ>VVVoF^| 4 /_bbbdѢE2n8ҥ؈iO=lٲEv%i6E7n'oىH14!'ۋZggg o-gϞչ\{U7ߔ NTTT*i֬l߾_F䧟~ROZVƏ/bee%aaaJA&O,111msᅨy?aʔ)b`` -[3g̙3Ӻuk144 9q}kaa :uJD~a9rDGGΝ;ҥK ~wqΝu.ɓ'uouzٲebdd$Ӡ+8p@\\\YfwZGii̘1C~gIII})w.1c$<<\Dn>%;viӦɎ;$--MIRRR{;D8RRRd̙ ҄ÇKUU&CK/\l֬̚5KVX!jZf̘q^xQ^t">C=$=ҥ"ݻ>vVR9{O922:r;w.I1buttͮ]˟dȑ433ƍS<+++.]Z8Ί"EZDD되(f= Ƌ H) RdXXG!CkTdffrѣyرl3((AAA9?~!!!sGzIII"Rd`` Å]4nڴJR%իyIQ'Zy56lHTёzzzl֬P'--M64iBJ$N2E(J$.ۗڟ'6T(5kV&/nnn9* sر9s&a)} *ׯgxx8SSS|Y<}>544اO)S&1bзB۷o?pzN2Eh$5>t.Xxƍ,233%Jpҥy%ƍiooOCCCԬ_l֬+W c 8vX޽& MIIΝ;Acccr:4&bW\/BMMMϏ477 %Tll,׮]˟Ν+EDD..\{-* @V@ڴiCµ 5m4JR ׼)JUϳ]]]*U*wa( Yܸqlݺ"QGG'iR ק1ϟϐ|۷vvvuՉcx9Ɔ~~~=z4yվ}{2::O<Lw^xkr׮]s૔7+З-sN޾}[HԖ*Q/ KJJxߡC\9c_~]Kܺu" R*ŋk.FFF+ڵp[jUN0!P ]v̙Ä޻wFFFlܸ&"]v1$$G)оJ%ܹÍ7СC4iUT@IU@-ZztvvVkjii[d) FL&iT_?~C;%%?#p$??_RSSk\g/IIIɶc*Janccׯdb> dŊnnn% _>V*R@V^=zȈ_ʿ1ƏOD°B? Rk׮Lzz:;t%J9B̙3٧OΛ7OH&{!p ~ٲe|18%Kp„ 1bw@VZ'Oܽ{!!!0a'!T W^&(;tjj*uuu9z KRRp"##vvvl׮]2BjժC2HT*yf^:˖-˺uj333;vNPlll8m4nڴbSljժQ[[FFF\r%l2QX(I$nٲ%[{OOOJRh I׏zzz#^$$$ݻwAؠArN: $ fvw%g 511!*U\t)>|o` xzzB _dŋs٬S'SRR8s̯C͛|򴰰r9˔)?<˗ijjJOOϯ"N͚5 \f R)4h-m)ٹsgݻwnE'Y H) H)JtRsΥT*ݻND7fk߯_?JRa_LHԥg]]6utthbbz ǻwu\f mmm}}}{nٲNŏ?HRK.qرW544ɧ pذa ~TDwwwVV DEE@8=˗Qָ8:88ܹSPVzzzsO?y柬kΣGԔFFF*m?ŋ̌JbUreW^ H ܽ{7+W+JagϞ|GQhffF]]]N0111ٺukzxx~oo/u4PL)Y$E*[l  !Hr +0z\CCCkpwwU? ˑ5k ""KƸq```ٳg#11;vĉ1qD`޽ J/^@2eToӦ :֭[c޽;°pB}Y&:uꄶmB"z^: %%ΝC\\ p?âE лwoL4 666 # 077Grr2 }ϟcȐ!000@ʕsնI&;w..^5k ߩt^1`j GeaGĺu0a<}} Dzz:455UӱdL:uۡ> >>d 6`Æ *޾}OM$րň#(Jym׮]D"d2WT7^GG (> M6,Y$MMM݁rʱm۶ko Y]tmx .\2eP&_~9Q}bŊ~ԨQ#`DDD۾yF[R%8qAAAQuttʊ)[ׯ_/ˋْL~ W\!Θ1C}XJJRӇرg1c?'OϟOl׮ׯ_[nիW|2wŽ{빾''OGBŊY^=vؑ7n}||د_?vڕ-[dz8x`^xB~l*JP__VVV<|0yچ B*>_$[H$\b  &X$ٸqcVPA/… H$*N9) \FidϞ=twwرcg֨Q%KdҥNNNƒ5jutthnnI&1,,L~RRR`!L&MLLXLVRE-,B}ǎYdB$ol’%K0OQ֞|K.M ֪UK%L}Rɞ={zRڴiSFGG333֭#=zYZZ]vxM.ZH!) g͚U2]v+Vٳgsԩɓ:ȬY(SNqǎ)pe˗ԩ2997nG>Zɓ'],-[dʕlj'bjhhŋ1c@8p=vڬ[G'OnqΝ;͛S"e˖#/2|;vJ:tʺ0:i177gӦMs>g) >>>_E,z[X+ /_dR͚5XD###JRJRetQQQJT*')J۷\`-,,&Mp~۶m2WVM@Pv,Y$׬Y÷eRSSiccܜݺuMrc16mHΝ;,]44iRLll,R)W\ICR~qժU֭% ccc5իWpL&lz?~9믿O>ffftrr̙3Gccc͛%B\\{MlР/]U&Ld]B+W~`Ν|YڷJV@xϝ;/_.ԘJ^+O jJ"aaa &;6m5qqqtww'vE5޽۷ʕ+|w~u"_>Wa?Fǎ $HOOgٲeBK$;>\.g^Tݻtww:t5w{ ݻ9h JRFEE>o<\ʕ)ժU@~egjjjQ(\|9hjjʠTxǎ˗v#1996lPz{@T@/"Te\]]ijjJccc>Э[7_T7+4T*U Y2UD$ HkNwqlѢE(Y\93FmJJJ ̨ɞ={piΞ=۷r9hiiI{{{6mڔcǎUiT*yuҒ%Ja(hkkKOOO̙3_M@777vޝŜ9sH~0E Vhu={d O\۳A?D̙3t>x@8S(FFFCHLL":88d 5100g=~8yd\ H"ך+WQ֭7oެe[ ԩnq9bccߟ&LahooOSSSNbbY[[]vݻw"ŋ٫W/I̩]Qg޽[lI;;;P ]V-ر$y ^z\fMƌD"UFCVZ IFɝ;w͛$?DI[l;vH}}}`%جY3Ą;w7&DDի ; '|1U>ڵN6mÜ3g[jETʝ;w$ƍ%( FGGӂӏ7Ylll+(C2gxx8CCCC1 @TJEDCXX}}}9dnݺ\d T"|6m*f9O:ea >z1rHd26mڔc H"8GV(ͬ\}aZZM[[q.XRT.XPaÆl׮%ˎRd˖- M9x OeApEzj֬YΔd8qP/33NNNlڴGܻw/ Dz u.\ȡC288 <|0۶mKLF777nڴLQǏg͚5)۷388,U,Y,h]v@du---9dȐ3/#* EqB矱c ?A Oϩ-E(ˋ/==ttt&Q*^:5kr=)**u֥ ٩S'޸qCnw~8p UʳL9h :7oMx/SN,*qqqtqqD"MV(T_T*)\Ohhh|_z- HBòe%$((ܷo6 D"QY;vx J%;uĦM[o۷oS__={$!̙3^z166V}*ի? 8@\jGDs`ΝP((J85z( .]<|>[݈#w6o x @[[Oӧ[}pqqܽ{hҤ ~H$¿!<???hhh 33JP۷ǁcxxx ..FBf`ffV㉨ uk@"Q.|ieef͚Ny$33ϧn3?Ri(o?VٻwoՋ[lQ СPP(C޽{ofZ\2lٲ"""RR&q̘1'Oz*"&&Foll̐#GDDM> Q\9ԪU gF*U-7L&È#йsgСʕ+WHLLIH$lٲ([,8;w>>>x w ٳUT[l2XXX;͚5Cfr,{/u IDAT=V^-wssCtt4UL۷o#55U(с\.ѲeKN߇H~ EXX0dܺu@VVVǍ70g)S): HT$={'O`>|8ƍ'~!+VWK ,Q@r9222mڴ+:us ޽}hS@̙3-o۶ իW=^|ۣaÆx =ӧO8x *TFEDDrK||D֭jժ6-[}WPbErR nܸmmmkso RHxzzBP´i`oo={`hժES["_/VZpj֬nqkJ%/_K066Ƴg|Yk׮Vbn߾VZ@OOIIIhРm6{{{еkWDGGԩS[.Ν;ƭ[`mm@ ..zzz_&S.\ŋx D:m۶h߾Y|?uǡcXl455VZ!""Bݢ~5Z`KR) ϣ_~P(B222l25JX|8rʘ5kvwww@JJ nuo;eXn*W={TR(_DDQ޿???~HKK{߲eK}X`%MD5Xd z @"@GGIII-wͮ]ЩS'6n܈-[B*{#˗/ 9:GEE`I{zzz[.ʔ)iӦѷo¿'''( l߾ 4ѣG&J%QD u""YRRRйsg8q۷o\.GٲeY&J( YRoDD@&Mѣ>))<:u$(ݻwѺuk7ѣG8z(n޼RP(0m4\rK. tuu<}$a7oĕ+WP|y<L߾}q%̞=ٳ'z {$##/_hyff&^|pt2 x]pL8{ƪU}H"ś kػw/ڶm x-su)ȷ"1z? IIIܸq#O>lݺ5uttM61%%֭[P$|RSSݻwV2mll kG?ʗ/x1,L&zjj*p=ӧ8vt邗/_(Q|(T*aii1ѵktxU~oµUVgϞ_AÄ )S`ԩŠ+| 3fwuuŐ!C4g쌘XYYaڵҥ .. ŋT*vvvS I?չ>R)d""AT@DDxT >+WVVvmrdff̙3kkk#GW<<߹tH"555[k׮!33ׯ_x F1s"%%VVVx\\\0eQF_ J111Alll( ԭ[{.+Vɓ  rʹIbMZZ5k`ڴi4iR$#11QԢT*& ,=7YGzСCCC-RbƍuRHLLdXX=<AD099Yx5:::Ą'NhH\vZG8a:99qk׮=Z"8Gff&اOuRl #민{nsα_~ݻwyE BV9fу=z`nXN‚VVV믏EDel߾III1c}}}YF o^X+Jn߾Rs!I޽{M4C͟??ߊȄ  6䫟,6n2ePSS͚5bEJ*8p`gϦL&cfHD|0F͚5wښ>|8/_ND:pҥ<}tQZ"8Ջ3۴in1 {v.^nD>ɓ' 駟haaٺ˗Hll,oNZZZСC$?̥jhh|gϞ%I>}ӦM.\RJω'N:d*gHH&7' ~V4iӆ<}t{}ݨwGbb"kժEtrri`ڵٶm[?^8655%vڵX#F?J"KRRѬ_Y"/p穏 lݺW^q%|ѤIeʔ+Wh7MVZaѢEFݺupB'O!;wt9G111d077&H^zضmLLL|ebbB Dǎѯ_?.]2 Xv-Çuhٲ%q}C&aʕUSS[nE۶mѪU+:u NNNBC6i!7o%""RDLL *Uv{ pyԪU+WV طottt0f8|0\\\ JܷH1F ȿ5jJggguqO *UDoo<7o\rl۶-O<6cƌ555yyLTrҥ K,I3335p:u X|9v!:::D}ATcǎ̄=i$mƍ#8%֭[mllp-ynRt"y%&&7pMDFF$OOO\xWFahhSNt~DDD͛7ǻw-ƍqyL<fBDD&Nmm|-RQ$5jT*9l0ҥK-7ǣG߹sGb,1c˗٨Q#:::v>1A+}YdeJ\/_$!k6lW^K&44e˖MlWQ&MR9{){F1$$ΝS1]PgϞ|=IΝ;c^,KJJ }||(HJ,Uw z- HBERFbŊr- ŕ+W[Ȉeʔƍ9nܸ2֭[+J{O>۷;wp„ ׯ===}v\͚5L&%ǎۂ ʟyfT .]={ڪU+ShhhIe&' E&cKKK͵dRT2==.]" "Rh``ҥKE(۵kǺuRSSBٺu@ȗ%\xUTٳYJjiiqܹB`%Krƌw0z- HBEhd2!222eqɊ=T*'aBiggǪU֖Ç=ܹsٲeKRWW7Ǔ ccc6hЀ*U"J$6oޜC 4nܘlk׮͹ٳgS*ޞ8s-Ztrr[vؑvvvS7l@RIBcǎlٲ477v B[n N?rRD ߿ɓ's̘1tJXgFTJ QTr*JɧP(_> jRI>z9MD\b"BV1uTh5kTH ؼy3uX[$| Hc@||<h"1AAA=z\rP*dX"ܰo>9s4o۷GrPlYBOOo߾EJJ :ummm(Jܿ%K^'N`ҥ]]] zBRR`eeD{5jttt0k,>ӡRoHKKC\\>|///xyyA&aȐ!w1x`$&&BTQFS,XP_YHRaٲe6ln߾B.(Yd+uX"L;v $b ԬY?C&&&P*Xb|ZZZ"11$%%ݻ011#GGUV\.߿رc߰HDGԨ޽czhbb+W[o###-H!sĉ}vN<ڂȑ#1### /@jjpjb׮]̸lu/]Ġ ޸qC^z?z+WfJ TVRd޽)JZ[[sРAµ :88d;;<]\\Swc g%rq}ӧ-R'66{쁿?rܭ4550ҟBWW?#aff x葨 ;;;ԨQGFF/^2 :::3f JIвeKԬYGΝq١v υ>6mҥKuCCCt}Eƍ E'>Q!!!H$466#---)HhnnΫW شiSjhhI&tppD")STD"T*ܹs׷o_jkkR&HhT*gZj *0""Bݢ RJv*28|2j(d2N6M|_dffSN)f߼y#;;;3>>^"'OD"ծ`>{>>>VY@+W#F`tt';v+WVikccǏx422bBBB'R;w.% =북H$ejj*vJ`ٲey!رgZq|qD_( ٱ~$?H$e[~}VZUx^=zJ_Q8~8p߾}$?,W^W^}?o߾ejhhh^;,WWuR;wx]۷Ce2eXD >z(6.]5jĈ;wׯ;;;vԉ[n/ŋEP޾?233ٴiS۹jNOOOڵkɀ^rE%LJHkGZ&/^Ν;֭[#>>^YCLRbEL:III3gN-~7n:u`ڴi @xxxիWnf >}dxpo@DmH$̞=OƆ MK.ųgf RwffGΝ;!9y$ʕ+u[Ϣd2? \tƪ322Bnݰ|r\| Ö-[Ǐs066Fٳgcٲex1BBBмys!00]t>$%%(_JڵQlYXXXH!ӧ?sssZN!WRJ<~1110777...áC{nc֬Yh4ٳ'>Y...۷g+W} yx5r9"""PP!4l0fϞ=`ƍС`b gՈC>}2\rʸz*`ee!cf\/~a͚5xݻc)ʵkGAtt4Ө_>֬Y#-W>PN۷Çql&ABGƬYRJZRx5~7X[[]vz-DѺuk^puDDDYo$%XPZ5ܸqj6mBNڗ gq!k oAֱalذ!ű7oȑ#8wjժe eCm>ɩ̛7rOׯP(܀YlY6lPM{$ٰaC2))I*s9d2Θ1C:BTTlРp@pY|yJ%T%JYڷFPsƌi:QQQ1c===`9r$]رCr:XV-֪UKߗ!00j*JYرc]v0#\lllidǏRԩS* Y5jŋӧzkaÆQRVd|GN1cý{2000K3A'66*T`ݺuC|tu@޽3gƍϋ/͛YG ˗/Yn]Y|9˖-… ŋl۶-MLL8gNmʄZNNN,]djՊ7fddd7} sGJj7P,VhڏVCR B`ʕɱcBmۋf.ӓƼqㆡtv@rb@~4 m6lHKKKvܙqqq K.[k׮%FEEʹy&8~xd߾}Y^=ϩM3g֭˸8C$/S?H3+~zj9ey8l0iy,R̤{NG,\zJ>>>"Hap@rb@Yl۶ eʔ #""C`N s>DŽ seÆ X޽{o޼a5:3sСV˦MVZֶm[ϟW^{Ɂ!?'ONq^ٳglذT`455eŊΙ3grϞ=w4[޻ww͛7;w%KvZ1 $$$^z,_<۷oZ#;AQT)0lӦ IrҤI433cy;v,/4 #4NO\@w}o)8w\CKtτ.d%`ii?K.7  uعs'*U>ѱcG˗OF.cѢEppptX|9YC|8ܹe̙3h֬qĉ Z [ZơC)S`ԨQ8q"VX(@:u0sL4iVVVYE; ,;wo>888ZL&C۶mA氲;w0ydL:Ǐk /^@XX=zO"<<W\53{쁟h"ԩS7op/F֭ڵkҥKz/__>qxxx@&! nnnsФIC= ?fÆ … 8:::`73(ŦMhmm U*===dd~UI5t˜f!WΦMX݇*UbRxȑLqu֨Qxi=+<]vi޽{rRo>.[R haaAT XV-ϟR,H ap@r9i@wޝ˗/D=hqF>z(չ(/^zPcСC)鰵}2=z .Ac͔b3k6i&ɓիWBΘ1V۷oLi&0qϳgϲW^l۶t/*]tG䋏O8+W_~qȐ!dʽ{$'k rҀ1bرcdlذ!O:"î@xyyԔnJwZMm6C}%%%q򢛛;t-[rjjR"EpŊh4<|0===ٵkW(P/_>VTsan#9TVsϞ=Yhر,_|or_ibb®]OZz 5,НGih)_ҥ Iĉ5kT͛  ҹ={Ԕu֥to)W~RJ^z\|9lׯSHa?~L\lY 8aijժT(oؿܹS(iZnD8 9:Z-#""ؾ}{5CBB,=@vZ=}J Hɓiff3gH߿իZZ.V\ISSS`-xԩo$nj6w"N6jdу\reCjLUo;v 6d%ثW/zzz@gV۷STr̙-ۥKϟׯ_׻ B`-x=鸋tȒ%k rÀ3gtc*Н1c@cXjժ,ۻwo֬Y3$K^ґIvHaÆ]6lٲڵkpوVe2eد_?CKjX",keȑ# IN>ٿ,Sw!A5>V;Xn]`۶ms)WXJZXXJԨ+7n`['طo޼ys>Ϟ=EEE u%K`ii5kϖ-[0l0,Z .D||`[bccsD/PԔ...?~|޾}fbժUSprr xTK>ӧOϴޱcǦDsUdrR+^xc{gϞ%Hȑ#|آE QR[x10,,,Kh4 ;044qqqY׿-P'NS;j+[&OL\g^bɒ%JKhff&ܻwN}2_|,Qt?<> t$k9 Ā|Lxx8}}}٢E T*VPvFϺ_ Rl̛7o?NÇ=z4h"Μ9Rk׮1!!dLL Ϟ=KGGG6oޜ...gZjZWVɓ /^k46nܘFFFzOV9w\`bRCZnVZe۷٨Q#rΛ7O2/^ FqVÇ٥K)TdiCVs۶m9r$̙3 'O G!̀<~׮]+WDV/[nwmh)_%ϧJ7oR?z(0888moذATbEr…|3EHHH>}R>]PiÇСP&qƌnWVI e&c>|(&f[T*ϟ!5HB hAzIJJ'&鴷gɒ% K1 ǍɇbrHOҥP(J%h0#F_q޽{d0`I"3/XX1:99ŋT*?~|o߾]899߬YFfnnbŊq޽;WSۉ4ie2LgϞ%ZXXݻRRÜ#5Q겁] Rׯ~l۶ uA>}PN&LGb () ,*U[[[<}666(S d2.]ٳ\X+O>ŠAߢaÆURdI,[  KvZ-[7o E{ ك={ 880l0.\8Kg `ر6m:v숚5k~… QR%ٳ%KԻ=zlٲسgd2F ضmHf:J7j5 *褷@UVɓh48pϯSA=jGGG2((В_AAAT(l߾}f2.\@\tidZ+WZꝧ IDATWYtiɓAAAJw:ZMOOOd2r:88ח/_#!!ժUcݺulڵ !88x]ۊ,Xs[Z)fl;w2>>^#((ttt3 :"dv9---ۛ=JWqiӦ,V)J .4ɘv֍2AAA0`K,bi9r͚5cJ(9eʔ\g˖-ϖ޽;lR_B  4Y߿fŋs"DW+.\777z ~~~=о}{ 80;wD…ѡC(>}K,1y"00ݻwG= p}ܹsXpvvF*UgϞnݺ8pƍc[}GGGӧ?[t҈I),Y8_pttD:uq8r^EDDyӧ3f }:/Ed;wZ+N}0|pCHN7x=<Ht-}rW\Ν;ѨQ#\|8w0f̘lGVŋzq@"""; :033zcRY___i[ 5v cĦ&I=obb¤$}믿fzxx0O<ɲe˲iӦ6U&'V%]gϞ޽{}6/\˗̙3z]vҒrzK&Ѝ~HCȑ#?> N6O?Ύ;w6f޼yR"suc Q0000ŹիW[nYfT(\zNZuU:JVVVNҩOA$! 'PZ5Ǐj *0...C 0*{c222Rzho|5IrٲeRŋS.ёΝw`N:Y5|Ѩj;]~f-[:EBPWWWΞ=7n`ll,Nz2e8`+oYhQ:4qVK/// ŋRJ1O)) 41}FARI_~!V\Y:֭[OWgϞܯ {MwZXpaϟ e?sΥ:֖#FHu<h45knjÉ'O]ݹs'ׯ/+ ={ -Eٳٺuk/ܵk_wޥYlV9FEm6-͛GVI,E???jJZV٥K*JN:Ur uaӦMgbBCCY^{ }{MwZxܤ/_Κ5k^zu?ɓ'`R9WWW޻wjÇ'Y&U;yg{ǏcǤl\\Ǎ5jP&QFY=| G|}}} E/իm-GXtip йͯd2}R$$$xCK P&̙3\nٳgԩmڵkGٳ']Fܸq'ϛ7m۶GAT:yV &BrΙ3w!nذAozGk#ЂHRR7HOڵI5" =b 7T*ٷo_+дiSʵ… Ie*66W^%gɓ'K4/_^F]ܻwo޼d޽{I,R'LMj^D |R=zؾ};sAfϞ+bȐ!jٮ0` K.e܌VXԭ[;w4$g8~8YfݺuSSSBBBk.ŋxykp@Ad4hnܸ۷oPn]L6 8pu o{n\RR޲ Gڵk &=1}v̙3ӧOԩS1|HbѨV2 *@.cƍؼy3hѢֿ\.G 0x`.]w܁+ƏZjѣY4mK\Ϟ=Ѿ}{ܸq7n|7XtTI&YS ;fj5p̙:P&bŊ,TK~ rҕbR{֣G8sLVREZ:7o^)REJbӦMS^ 蕡CU4 >|w%ZѬWry쯸w˗/O[[[FFFRPbŊܺu]j֬J%˔)#Eh&A@,XР:LLLyfY-Z@z ,7|-[˗՚SDHH޽ {{{>|8U7n GF1vXܹ.\IgϞ PZ5l޼O<۷os<{ aaa8u4&4QQQ_ѱcG899Z^>}:֯_۷o#44YԩSamm 333+V Փ7@R@8~8uݻիz@AAAS4 8l߾Sgؽ{7|}}{, W`hH£fiffF___CK, ܾ}; .L;;;޺uВr,қ֞={\rt@&dɒ[.-*NS`A.X?C$:kx=[?3˕+ɨ@_,T~aaa;v,7oޜeU^bJRDIvb*U/^d)ɤG̑:ؘFaΝidd͛7$,YBR"O?\9 ,dI&Ic_${MwE^JJbfhll̊+2**uĀf޾}K)tΞ=˂ m۶IHHŋc^x~֭'OVyq2ͤ_ )SZA||}2|Nap@ǏԔRL/Ązd=1/^pDh4ҥKhݺ5֬Y (TuFB _~:]׻w>[  }PB[raaai 72o< -%ԩSܱcÇ gΜ1l#22}pbq~)BH{ o߾RυgYD nݚH2§H/T* 6m3fYtG̀dRf׏)YR ġC0|paA׮] ccc) 琜PJ@TZ/_3f\qQicƌZpX`޾}[n}ݻ#O|TR"O>R?0|pG?>ohY_Jި]6O|w(P ( 6 66ǎ Qf4!cڴi_2$Ν Fgbv_~=zeʔA=L4 &Lg2A N HT*hRO>5ǏGq888ZN!=z )) yo˗/Zo={&MHDZ-ze˖aɒ% G6SV-TPSNMOS&aŊaeegxRR7o A>|/ƅ ШQ#JÇɎф %JHU$Zm FXY@BxTTts >\ƚL׮]ѵkWt8p6nܘ7d2L<3fssspvvF͚5suF"""pA̟?R yfiɏ {dX|?44T |PX1̘1Ωcdd%Kŋnݺ~~~.]`ҥx5\Gŋ9s&W1733RZl166.]¥K燧O͚5C'O ذa6lؐ؛7o €OXzA&$$8>o>>l֬pС)ap@7R.s˖-)ׯ_֟' 7VillR .u gBBCCCٻwob{n] -%K?ikkFZ#~gZXX˗)9^Ο?/9Zap@Ke2MMM9a„ZPl߾;{%eu)Rhll&Mutrrb>}x=CKbw ,-ZZ֚[Yf [n"WCeѢE=Xvޝ,\0>|fɉSN󙔔ċ/Ν;)=$߿g9sF${A޼yÃr߾}+T:uٙsyTpTT\vmlOfhnnN̓'SNex>}TQF|q$;byܹ&.JF hAn5k~1FazѣG;jZ^zseN:D466Qch_aaa422+ -G'Z-YlY|`4 ;vHccc>|8Ӭ˳`d,Pɉsa||<{I#HKKK+VnnnSէO{}hZ޸q>>>%-[#GѣG5h8q>'6#5HB hAnŋ`rĦ47MMMYV->yВKcccm6 7o6&Mxf:N:6={>)w<[|8uܿ_:ߴiS8pqqq:_cV!5HB hAnRԕ=z|UQAO?ZF&9A -%CsZ@>}JRISSS.Z\ld@͛)n;;OF2T]F p ۷9e2vdrVn޼IV^6{Mw PH` ŋ -)WǏZFM6ڵ+/_nh)bժUP(7ϟ3f@J0tP8::ƍ=z4lllPbEfBtt4v܉UbРAʕ+qC_:O%qX~=ҥKm#66[lԩSqEDJǏʕ+qapuu\9tPlذC:u 4\.\.DZctdANG-mtڕVVV:TvӬY3ZFg˖-BA'ٽ{@BB,YcR }4k֌cǎ5kvTo7oΓ'O$9c sٲe|o޼I|ءCӧOsժUv׵~)S6m8`X|9 ,H433#VTw ΔV`lٲw6vXdɒlРܹDݻtuuVT۷III֣V9o޼T߃! {MwZYbe2_nh)9˗} ̝;xCKI75kdƍ -E|\qƱm۶\d ?NOOOɨd,Q۶m+.$ (#Gɓ'l޼y*RJ<}^^roߖ5kPPȈ b T*٧Ou(3Fڄ^lYߟח"+Xf$! 7O+++Rr4ə &8qR2Dұ .Z ;ҥKLLLLoߞbݝ Bʥ-aO<Ʌ LJnnn;w.߾}ٳ ]vӧikk+]ݻw3ZBBk#ЂܹsP(RM| 88FFFtuuTdAjj5˔)C!s$&&TR,R={fh9ȳgϤHد_?Zرcٮ/))?M6Iry !,,,S^v+WL 4_k#` QpaL8Rraaah׮Zn[В O`=zrҍJ ݻr9E" ?FHHL"S(زe VX۷oAn:u*֮]weZ_߾}aoo;v|LN?-B^FFFT+Wq}zL'0,24Ο?{{{;wj2 C,^ƥKPZ5C$&&J*R -"** Ɩ-[nh9&11 D= -G9sGGGA.jdqqq(TЪU+V$nzi7{Mw @ Gҥ1fCK1̝;Xpp>slmm $c$SKcٲe%B7>}* (;;; *T7>֭[c߾}i/d27o;f!zARa̙ƶm -Ǡի1n8xxxjժC7 all ++L%$\p!Ο?YN%Faٸv5j3gرc|2.] WWgs:ǏȒHBH$!{1c*QikRJfF jS1"ĞF"IDH|עK.#bnno~~~onDiG>}fرoߞJ*i;$شi}̛7O:˖-[(WC*J*^k8|0 4 -- ???5( Fŋ9u͛7/pnݺᲇ n߾MR ,Ye˖iD$= BbR3f 8qBh[.۶m{+Kr~Wk';;߸q ;7բp'OaÆ9^ʺuh޼9:8@JJ AAATR墢ʊTnܸQ`xB!DjР˗EkҨ_~yN5h۶CymܹsL6 ///ݹ>T/,\ZjҨQ#_3x~D,,,ԟvF˖-K\ryx((V2||}}vHo?v(:uvڡRk!""Eaܹ|x{{W_< eӏ?ȷ~ ҥKSV-Ǐ_w@@III{/mԔTɲg/$%%mے_,VFEߴxI@n֬Y,\~뗹PFFFdddh;R… ӽ{wmn߾Ͷm8p m6 ә1c[nERMΝPDzlL4I&q yVϟgΝ]UV^zѪU+|||ׯϟnbbbT1cseܸqĔ...YFˑ&xJ֭@ׯ_)e˖JF7(&&&JNNCy-JΝKKKϜOKKS:uXZZ*bkk,_@T{}SرcʬY@qrr*]sssK*2}t%//@#Ge DDDKS.88ӵkWBBBaSbE  _`` f`ĉP\9ƌիW={6sΥ^z,^X=jӦMXZZҠAgoӦz)ƆAz"חƍ#44y΀D2jQ=|P*U(zzzo4"**J={h;RWqrrv,##C9sRjUP:t蠜8q7oԫW_l/YD3gh"dQegg++WV\\\@h{SwJ^k*&&&ʴi^x(0+YYY]G^^W_)JŊ[[[?<!ccc&OLTT͚5O>aڵ%jbq]RժUݻi;JKKK.̟?}r5|5׮]cf;&&GGG6mE Drr2~~~l޼ .hN:{n/^6l 4`ܸq/fʔ)=EJ JEF:1c'55/!Cce$ B7B у>Kj;b5gz聝C)7oNVVSNv(ڵkxyyqEXt)5k|uVVVkCѰa Up9995 jժժU{#m7h9rUV}a\udffRJvJI@o5={Vl\ҬY3X`A݈ȑ#4nܘD>=W۶mٽ{a|(~g/v؁o_GG;;~YZZ_|>|Cj3Ʉq]آh$Bh؜={EQprrv(ڧ~JӦMYbCyڵkҥ \v= "&&s=1ݺu+pE Ž;_߿?1b=zvh/7SNv?~rL!TVRRR={p ?>m۶eΝ/_?Mmll9( ׯO>9VQ2s-oƏ {fذapB~gmJlll_ ͍;2fEh Ϛ5k4ޞ(:I@Zcll\j6>|8iiilݺHū4h*UbѢEEy||?sŋ1`Uh(]WWWiذ!۶mgϞ\tTBBB8q"::o㚣#xxx|r4^ʕսÇgСdeeiMQ4o'ZQ$++]v1k֬>8gddɓY|9.]v8j| '((zyyCƌ[lRJxyy5LE111\tG֭[ٶmQQQԭ[333mZ$*{J5ږ.7nܠz[VZi<O!$%%QR%mQ$̙3|<<<NgQfMz={ƦГܹéSXlmڴyn[퍞^q* 00{{{ׯѣGgӇ޽{SKKK,Xٳg!))Icm988pIqrrڵkkS>I@Zx-IIIDDD0|p;>3Zh}}}vEdd$wv8꺧=/Z\~}9F=Ow 744֭[ ӓC;a>ѣG0a,JgGΝ;F__>k>}hݺ5FFFЂdN>,--UbE5kFV4ަl[I"Њ$߿O5s)? 67ntR_0`[.3o2KU0P`_N }}w3H^+Tp`ƍ"I@Z@͚5ɳ:t(CGʘ1c(WGf4:eXf u֥]vTZ?ԫW9sCٷo1 8Co*VH+-Wαch۶-##Gݻw)_荶믿rMe ?~</&::UVѪUbTh^}x|e FŊV0m4O:uΦcǎ8q-Z… 9s&3gTח{jժ8::Dtt4<|v/JAoٳgёokkk4iBPPO@믋u[[[,XPl!//Ojb$%fffܼySۡ-(Cڶm˗IIIܺu@RRR?~9v;vѣ?;uŋg͛ǝ;w8y$$%%l2tu|'$vϰ"??8m" UV:t ܚ@Fh3rH ;vr4ڗ//e˰2888^Zŋc+WUVtM}lΜ9rJ`2e *J}ĄQFj9BOXXXXˑ1bSoҠAhchhȡCʕ+GT*(pV'66V<[]vUX r11wYΝ;,9rkkkVPD!ԪUiӦ1sL-[FTg^b "2mڴ2ЭR>}:'NaXe$ #44;wf:uDbb"-LA}wѼys͛|# bҥnOOOm( | K,QoYf1vX&NHTTFJOOgȐ!\xCj-Qzdɓ'=]Da=EѧO>c?Ό3h޼9 @ Ą.>~~~1}tڴiCʕ۷/7nxs7$D GjմF[laԩL:ӧk;T*ϧrL:UcdddЮ];vyw5֖(} B:u;wCѺbeeU" ͒Zs5L¤I;v,z^⩧I&q]>̂ hѢ۷oQFzK(,,,ԓwKT&L@^;wl6366fܹ8qB#mL:ׯsر9Plzzz4nX+֔$c|||; %!2sLbccYb3f̠r}_>7o.1qdiiɸqXlCGGgee(?~e///ׯϐ!C022*y-7oF__VZi-=e~ia IDATÙ3g'44{NON\\C !<Mf͊nEQ~:jzaCMz8vX>m֭wp^^$'' \pAdd$|x{{K/(6۷ogРATZcGdd$*TFܻw8Fɓ}KKK,X^<**(lْ\<4R[yd+O&,:;;Ҳԯ_LLL]vq'Dyf,,,hܸq׽sNz'|BfҥKyWaaa|4k֌;vHQйsglق ׯpm&h?.p~ʕ+i׮|ND ѣG7EQ $W\g͚5a]q5kz#QF [. .$$$ ŞlذSNo߾|(BPP5jxŢxH"xcXv-ǏȺO/_˗chhH&M'{ر[[[~n,*JƍӳgOvEÆ !:::uгgO3椦K͚5y_b|gメ!Z  лwolmmIKK#""*TyY[[Β%Ke̙3͛_=-Gtԩ,ұcGb۷}IUH(~'>3nݺwŰaHIIaܺu<"##1bÇ|i[L̛7DƎJBh(ܹ'WPcolh"٧8G8@Nغu+}):CVV*UR6mڔӧOk%kE' H "hQ)B:upww?h[O7{!(IE!//,ʕ+WaUE_RXr%vlp"(۷0={mےiZV!q9^FnҤ +Wk׮oK!BRVݻӭ[7oNll,gѢE:tH^||}}K\Oz=6o\qƑŨJ7I@wevJСkܸ1۷oK!JW/...lݺH=T7޽z ҥKYp#*dBN>Mrr2[ly#o֮]͛Y~BJRѥK֮]K޽С3C}>!Ȉ={8ֲeKۧΎZjq58}4pQ?@ժUf! watU?fO6ĤBQHnחe˖Gvv6'N`8qB+EQpuu%>>{}v.^Δ)SP)SHQ̤DQ' b۶mT*}6X̑ !(;wJbܸqwHNN~cV@@~!zFFFO??R~}mXjI"ШxEQBOH>mڴۛǏ3i$}]4BWպuktttFЦMСIII%2}6ƍݝUV1qDΜ9Ctt4_5CeZtDQΝ?f4j蕯oҤ ,ѣ,Y*p<<<0a˖-꽞fϞ n{g„ dee3f̠G= beeE͵j%s@uiGDDVg̘Aʕ?[lB!O>sN5kIBپ};?NNN{ѽ{wf̘A^$0I@u?v3BM6A6|J!55/bee>ƌ~iܸq#7nn# H h"y+z+Wdܸq 0WAb۶mՋ#G#ԄBޣGښ-[2p@x֭ĤPu>}1*CH!F/(ƍȑ#/݄P_____k޽K=0`ժU{CQ !( lBPP]1cƠàAod?)-׋B A(B&M^itJܹsٷo*???7BҤbŊۗѣGs~D6mŋlݺ -ZٳBQT*OX,!F,_=zЧOB]wqzG0am۶PBו˼y aԮ]ڵkk;,![B!Fꚼ<Ǝ+۷oBPGe̙ڵ H-! B#TBRR+oҥK>}Z!JrTZUK!6!4‚ׯ(K'>|N:affOfPBfttt066###m%xKH"Ј#Gƍ0`]d \xǏsN ڵk|6B3l0m!xKI"Ј5jr-Z@fff?ѣG?+ B!ě! !4]]]8@rrs(޽{ٲe sWnc$$177؅B9!4֖ݻwaVȑ#IKKS߷otڕ3gΨ'$$r6lۛ-[_?p.]AޏB! BhLN`ժU_I&1rHMFBBu#$$iӦ?PfWÃ;vhBQ̤D1*<<<'ƿk `ΝtܙSһwoFܹsIIIfB!I@eiiɩS-pzڵ '''IzjөVZbС\tI !B$Bh> , ::ѣGS|y={6Ce߾}dffbbb==33'Nݻ|B!(.2(®]8z(8::ҥKeذaΝА=zЦMw;F\\渺Ҿ}{- Qٱ|r̙?.]"$$T*DɉrѸqc>sm.Bb" Jn8}4ժU 8ttؑ'NТE RRRXp!3gd̙꺲aϞ=TZGGG&77z5!J*U0i$IŋIMMM64j襻 !$ пԩƝϟ?cǎk.uꫯ޽;5`ٳy_Օ?r!7JEFBQ9 Ga̝;W|WXr%ZR'sAOO+WcddĔ)S 511aԨQiB!(|m6ttt4hṰ[]vWX r11w_!BIO@.^ׯjժԮ]KKK}6888>3fpB.\e8{,]t!??t*T&&&䐓ᅬiiiL>6mPreˍ7 !BQҔ:::deeLj#W|'=sc{rI?~]2df͚Err215J]߰aׯCGGK.1{lttt>|VS!B' [neС 4EQPTmtttuؑ+V0yd6m+TXQ]7K.eРAٸq3sMB!(KT({.qqqX[[SZRF֕Nll,XYYakk) 9 B(ٳݻwȇ~HϞ=BRF׊Nz@kkki]&&&Ԯ]BB}v222022bB!$B5RSSٻw/ X)JEƍ9s$B!D $ {1ӦMѣG΍1C߿_ړ)۷oceeU`Ce!4M>mB+//0|Ξ=ɓ{.֭c޽;#DY( DDDp=T*+W;;;['==yqe<==ׯNNNUW^^Ѧckk!!!4h@!2B!D( 7nd֬Yܸqڵkm62e YYYH!ʼ{eɓ'IJJzn9333 ?Pjt0{lFUs.=zΌ3HMMUV̛7/~1sLj֬udzn:lƒT*tw}W?~̝;w }}}IOO?}z'@ZZ7nTXKKK틽}qՋRH-AdY7QEEEQN駟W#Gd֭xzz2gtLy& XZZg~g_>_vm/EQ3g˗/'>> `ooOZ ,+tI`6lHzTcTJJ Wf\t SSSs3;Y%K +W}}}ÃJ*I^^?&11###=zp,֭[w}͛7Yzulmmqtte˖Ջʕ+?SGvv6/^АӧOsܜ *Jjj*?OOOtttԽ)))888PzuIumܹ 4FcllL;w.cbb>ʕSSS.ʕ#;;Ǐ۷f׮]ѣoy^+:I@J@ԩSxzz{nwȑ#Yj6mޓ!WKMM۷{>7C ȈիSFBa֭r]Μ9CJJ ԭ[JűcǸy&ܽ{W}mJ### ={v?r!=Ν;ȠC4nܘ >| vvvب{ڵkAHH T*lmm%99l !!#G3 @LL ڵYf~*wTFF.\ի$%%NJpssk׮!Wtºpeر4oOOOKw< BhMnn.ʕSrz swN*Uz*7oEk "yfܹ3;v|uLDD׮]#..tBΝqpp ..FaiiYXׯڵ۷s ywYf mڴ!))p&66$2339<=zTTб駟w^T*uaРAL2++WGRꊫ+ /ƴjՊVZK}uaÆ9stRTagg3nnnš5k^:޲a!= %dԢ >իi&,,,իׯ_󸸸ôiJ IDATÃ)S{i$џ~)K.iӦ$&&E^hҤ iiiGQ|y~G|2999SfMpwwI&QQQԫW>_~P׆O̚5]>wx{%''s)BBBy&zKI&XXXPrp<$ %|EYA͚5iݺ5}aʕ|8[lžЎLn޼Ixx8Nbܽ{˫O4ٳgcddɓ'|lٲ%˖-0RSS$??_OVVDEE˅ GOO777UF:u> :ĨQgI^^ӦMcΜ9/+-- OOOؿK5gϞ% *UЩSg员H~~>TPA}.))ׯDGGs%BBBZjtܙ!CpŸ믿J*IӦM1b<~5k^###%==8ILLdܹܼykffvvvԨQ=zдi76!$j֬gϞϏ>L}NQl´iȑ#888h)RQܻw@N>NJJ XZZ듛zy`{{{j֬'5j(r"kE' H "h"w!77kkj7+Wb vͭ[ǽ ,x<|~!CއҡC9z&oL:z(ԩSaooɓqSNbŊddd`bbB۶m100 66H իfff8pJ888F˖-WXYY=g "" `jjJyëa׮]dffRfMTaeFuuu166~k{*4*իWGO6&00w}EPE)#G 11]]]鑓'::(P 4g}y^+5G5k0|p$昘`ffܻw###,Y^9$xz*;w'55dggAtt47ԯ_I&1pQBwONN[dX___իǔ)S寿ROR w!%%)SދˋիSjUʕ+͛7/g4nܘZjaoo_7...\UOO}[}eΝ;''*Ub޽DDDfػw/;wr4366k׮&==3gʁ0a>J%FHH(!!!EhYZZ2qDeܹʐ!C300P_C)TBCC5v3fxag###OiҤbeekݡJrEi,.??_ W֭[ 2D177WtttѣG+ryyyJtt$&&=?o^)W߯Ҽys~QWWW@9k!kE'CJ{s޽˯.-[qtq!qqqJENNw%??WWWV\;ٳ'.\ƍſeÆ 믄;|ᇯ(HIITV=Bn EQ8pk-%kE' H "7gL0FbL4~_r|\2p=O@@ 6dر&րf׮]ۣC ֭[cmۦãGuRzu,--y&<8'7\  @bQB8E.iF( UVL)C[NeuuaQʨDH$HH8le!c_* |5yy6y|XGJLLTbbFYV)??_'N׫u7Z[[Bhђ%Ko+//O7u뭷*//O111kp!!A]]]r8.[ZZI&iƍWYYΝ+}V .ɓ'%]Oh͚5<|:y\.dZeZ5n8 aݏN:tH/^RssTVV'Ojz'4rH߿_aaaLꫯKEiiiӬY4{l1:p;h׮]Zf?~7x^eggĉ.(4n6oLN㕓 ]VW9_z2v]pA+,,Tmmz{{ݭvv>}Z:{K!xAJHHPpp}=ZEjmmU[[z`;~i*''G74i$^ǏWhh&L|=ZGҥK}3?1B]]]Ә1c\͜9STKK***T__@hĈ:zFvٳG_ŋwnx<ںuV^vfgw}Mq3s::pmۦ;vtjѢEzw MܹsZ~6nܨӧkԩ6mVXqMonk2з~t{ݺ6mڤ_풤y񨪪JgϞi``tM4IۮDG}}} p2zק>}muwwkTZZ>c}jhhPCC:4`ZRҘժ>nZSŢ\ft:uiԨR}ۧVXB6lPrr,>u#QyyTXXرcxzzzzj+O?իW_q۶mӶmp8w^* Cp)ѣG^۶m֭[5j(;VYYY6mڠnjUMMeX>WRSS.\xG__z-8p@*++^Hhh5g-^XSLdjhhP]]ZZZvvڪFĉ:undٔ3fhl7 裏jƍzgC)22no]O2hۭl<9":vvڥ]v+.ݦE7{Oz%[wœ.&ͦ`dž.mݺUΜ9jlUD%''+++K6M'O-7=áhڵkls(hX7wIҲe)áv577Yz5fI'NU\\Ni6m5~x&j֭=?|Y,\.*6m6oެAۡGEEEڻwݫ}… 3gf̘+Wj*99YGV||BBBԧVy^9s7">+77WtQ RBBoxIIy焄(33S6MK,Q~~N6`={M555ze_e/^ÇUUU2j(?^_j&OVqqT^^[7k،3vZs=_`رZnyYV?'Bn0Ԥy橮Nqqqט1ct]wȑ#l8p@K.ռy4N6l ǣ#G*,,lX63Ԏ;tf={ zz׵f566J㕖ϫFGZj֭[UUUiΜ94a͙3G>Oɓ')`Z~zzzOjݺuVll>=S{ 0秲2Iܹs2}{SXXV^㏵i&m߾]=o[&MRDD"""X)""B!!! Qhh('TÀ~;EEEiӦMJMMPHH͛7 nkkʕ+jٲezꩧ1` uV׿Vxx~ӟ^6~m577ɑbt)|\.Z[[U]]nf)88px<s{zz-???%$$Iv]v]֭e{) BBLjo'xBԬYtY޽[ojҥЖ-[ntŋsmݦӟ/ͮV+WԾ}$]: Rbbƍt%%%)>>^Zx5+AW+ X@@VXŋkΝڽ{ ŋkĈ9zU[[vZZZ![ȑ#:t[!!!:}RRRL˸NBBBTSSݻwg?n6-ZH~Xj^?L@b(<<\᪩$ǣ}˪;۫ŋ_dOOΜ9rkr\Rhh﫳s/Sllbbb4bi͚5zT\\wyG111W y^=裪Ї~ٳg3 + CP/j+{ٻ===jkkSkk"##xНwީBm޼Y+W}k7d-m߾}saaar\3fnV׫LNSYfל9s>LNuI8qB֑#G+?^يWtt"##UZZ'Oso _͜9sӖ-[T\\<`uO՘1c4eddf)++KZbNSuuuS}}/byȑQttF8)99YٲlJMM`{CI-Z4Lk7dtaa/_kzv~=zTV7V^^i1T]xQGQiiJKKU^^.ݮvBpp5i$egg+==]VUZWn?~\ǎ]e@@x^)**JTRRRSS"$YVX,ZGJJMXz*..֞={i&}ݧ)Sk!F:߿_eee:t~aKkx<n[UEEJJJTRRIM>]k׮՝w)???%%%:vqI1zheee)33Siii /\..\ !á={VgϞUhh}Y-YDIII3t^z%577+::ڷpkaaam7PE !7M<~iW0 ۷@ .TRR{=577K\hܸq3fRRRlWICoo GSaa\.5qD(##C7n7PB !_x|XvbѢEtwڱc.eH"""4{l͜9SӧOה)SqM-ґ#Gx|{QNN޿XaDD?߀벏`TAAߕ~!!!Z`-[555fDWQƎǏ WB$##C*--PttS::: ;Pll#GK}٣f WBB{A7N))) wnp) @GCϟ׿omڴIHˆ ~v}+nND%$$(11QG:soj @ !RPPSQFNݭbeff*:: f__uQ_?Ν;ӛBH9N566Ammmm'44#ኋرc}رc:rN8q;vޭ |ş rdX>MXǣzUVVR_J\d{ ^TQQspƒOp8D#!!AG.KtYUUU:so=Z)))ZJNNVrrt ƀ\=o|!p8Nutt(>><z\w .$wA0` AŃ 僽 7<BtzEJMM]! CLCC{7?W` C0` 1c !@C0` 1c !@C0` 1cxXIDAT !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c++/pIENDB`././@LongLink0000000000000000000000000000015000000000000011211 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/yticks_no_transform_pre_mpl_1.5.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_ticks/yticks_no_transform_pre_mpl_1.5.0000644001374000021030000022172012700747662033421 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxyXe?9( khbjdғfZ枒/ l""uT~]\ʜ93 9{fVH ]"""""`!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""1lD5t1вeˆ.CILLoCĥKBH#Rsc͚5oJ04Bnb;6B'"""""a!"""""a!"""""a!"""""a!"""""a!"""""a!"""""8 D"r詬ZT*2{Q\\ j5E􄇇Zhcc<DDDQh4PT000PbǎHKKCff& PPP"TUUh4CDPXXLZ SSS_SSSXYY666ptt|}}套 xYY .((CCCTTT@բe˖ppp2"FL:?n***BVVDRxzz?8cCDD @qMTTTƍEnn.믿رc upuu+Zn kkk)pRRR`ddXYYAѠ(//f^zz:bccQXX˗/+V&M@DPRR"e*..VpKM= M68y$N<UVhժ@q"faap͛ؾ};QYYb+bhh{{{TTTHJJBrr2oشiS""?ȣ>Tu;;;t χ pY;v 'Oܹsabb1-- {A||<]"LLLL(^իh...ضm $''c̙xl`;wnDFFE^^^```;;;vvvѣ:tP{DDDtg*omK9s!!!8}48ҥKO>BUU|||0k,eѣG瞃4i'''XZZgзlԚ͈Vh޼96m kkkXYY)N Jj;v BCC&M(b߾}غuNycK.ŵk`iiCʐt\r(++j5֬Y eee:766TWWƍCvvU0rz?"*eeeArr2233Vnݺ{o"CciDxBS]/,Xׯ JSN^^^(((@VV0j UUUʿ5 k*ù6lNN:իW… pccc&### eeeRo5\5F˗/ǘ1cƍѬY38::c׮]8pbcc7nLMMQ^^7bРA KBvTUUVZϟѣGakk ggg8;;>>> ^) ũStBR.]RT*šUV.fT]]'N_ž}paTTT,--ꊪ*@R]v5jF.== X_;F'4=ׯ#448q"zGGGtYe˖СCHKK˗QUUu3f .]ei~DEEaϞ=hѢ:t|۷OYm۶xѳgO]M6@`` q."Cjj*RRR~"+W"99سg.\PkVVV:J' `kk<;111Jp9s&(?Ϙ1>,`ee̿r ~Wl߾?#LLL0|pL0 QtzHVw2!>>尷Η FFFHJJ'rrro>`ԩpqq{ァG"''iii8z(MJu___qܵ,֭ѣGaii <%a8p sܹsfչJ| :tP^)_hy+󌌌0c 888(D?ҥ 4  TUUW\Abb"N<ٳgQsm066&L7j퍞={GEf 3331{PRRX~=6oތ|hB󑝝K⫯ҥKj$&&n!a; Ovv6v܉7osxGt B6ms`ll KKKxyy!>>{Ch$''e–-[/P絒 MVVV077G{{{CRiiiT\8p 6nؠmSF/_SO=4̟?ƍVam6<3pwwŋѹsga(,, ZgϞŖ-[pA9rD fffU:70669,,,`nnKKKcذahJNNƀ\]]WWWۣ8z(mۆ'|[lY ЩS'SN KVw O迗KbرGDD`ǎgddyw\_MvaXvrGB~ _5^}UX[[ckii)rrrn:\vMg[zرc1p窪*o~Z+>6l؀^z 刌ĤIо}ׯSN ccc666PT裏ЦMܿL9rǏGzz=33PT҅ヒv!//GΝ;uqlmmnVӧO 9}tC ++KΝ;'.\sɮ]dʕre ϟ/\PY:mד(...VUV:9881B^|E oooqpp###'''ۮܸqjdddO?-@T*Svء,뫬^F-K,m۶%&&F͛]1cHvvDz@>Sbii)O>YP$88Xd֭s?:?7mڴVb{Jg7155GGG7nTTT4t񩁰Vw O)>>^Z?N|NN322~uu$%%? K.ӧ˒%KDD$//O/_.#FwwnҥK]KdҫW/ ]vȑ#w,V,?k,9pZŋh"y饗_du+..QF) ]zhdϞ=:̩SZDDF%&&&ңGߔyxxٳgCCJrrr$!!A8.++K?իW[o%AAAbffvswޑ.:kuGk<4 ~'|8r,,,CDpQ ++ GŜ9sмys͛7Gii)N8rj Xh;ggg :ӧOk9Dѣ8~8p5ddd`Ŋ>}:N8qu;QGGG 6 o&tz6m GGG#)) y&amm WWWQ{=;}tDEE)?m۶h4ʈ6mb>iذaCaaa8zhW(bvv6aii V{/ƍ2\|iiih֬TTT7o799ǏDZcǐ;bcZqqqj|WF޽ѻwoǸׯM6:ﷰSO=/ՃYdiiG}:t@XX<<<ku҈n<`\v ǏסR`ccj M6E6m0h 0]vEBB{1`ڵ߿?Q^^kkk:cl۷OiO'88666(--Eaa!bbb0m4۷.\ɪȑ##য়~±cЮ];Ν;@ʀwѣM?}F޽{zj(++7RFAuu54 4 aff333X[[m۶ CXX7orڵ+:#""͚5TYY#Gɓ044  P7\v gΜٳgq9sw}Z2Fڐjz5+**B^^K\zeeePx85LLLyfFxx8lmmѾ}{BBn=a|8qn52e Əh{ڼy3vލ$ FFF04417o___lQ?ku҈n9s&BBBD$&&ҥKؽ{7RRR```GGGYP\\kfffu!::={T~G\\szz:Zh˗#$$_~%N:$!$$?q1\rÆ Cll, `ii [[[իWsj50vX+u!::{Aff&LMMd``%)++C~~>N>@f0qD̘1+++Ú5kmڴΝ;HԀC)Sff&[:]vPTHLLDVV29||| jgM徲ɈƯ'NTgf͚}ʅ 333\rOF֭ѵkWtJ044L^^~WL6 E֭me֭߿?#rҥK:ƺ`…(++'''4mJc...H#e<3n])SըV#FO?3O<7o yyyªU0|pe2̟?zj}Gaa!P]]7[nnU*BBB K/7߄?ׯc())AYYPXX'ѴiSJ^ӦMRp ڵ /8z1j(ܸq#FСCѧO-WCpܺ3%Խ{w8pFFF E.]о}{"##[n֭[ Z OOOjJjt7k֬]ܿ?^u;666޽;:w '''XYY)S֭amm2p ?~'N3gPUU޽{c׮]xѐ!Cn:nҥ 222\jj 99.\Z޽{ѳgZ_O{`}@[n!C0dȐ.?1et%%%(..V,kPTTR#,, F͛7$_~KtB-z=z4xT 0uT1˗/o2C{W_}Aʝz-=-Z5k0i$bܸq߿?MexѢE8u\LhZ큑JKK,WW,qmՙZ L0Dvv6*++uXYY#FgV\\͛899 j۸?HIImۆ#;;@޽1p?Q]]rXXXK p;'|c}; IDATx"|bb"6l؀9s(MLL`ffW^y&MBJJ JJJc/"66(((Yĉh"@~~>/_iӦWXiWn:=]v̙3 J\p}V^ GGG,]5k`bb!j߾}qeW333jJhPQQ{{{ ..N*SO=iH֭èQХKlذ Zʎϟ[/-[8pu놤$kؽ{7Eѱ۫L;{,ggg8;;I&JEUU]+5 44044DUU2prr!C]%"qXTUU!//| ,,,ggg*wpMW^ibnn⧟~B@@rss[ 2ӧOSؽ{g뼍 k@]=b bee%:u;.wUy7y:IhhL0Sf-[J>}TYURSSED$55x~|;"rs犑Z-&L|Yn!Cӧꢢ|||d˖-PPP 'OJ%wc…hڽ;pى9sS/*++eҤI Htt\zHzV3&̝;W]&F̙#&&&.?smOʐ!Cm? ^|E)--UXByoJJ;wNN8!XqppS[F#[n.gI%00P|||UHu,jLn*FCCC>}z˼n:ڵ*JLMMZ<<< /Ȕ)S?|WqFsɕ+WeiLX_;F']pAܼy}'bee%b`` ...h"W*2m4ye˖-#;H֭eСra믕/lSSSV+{GGG W֙#:_k֬l/_VСCӴiSQT2uT9qℲZVllld%ᅲCJnnG߾}kܫW/2dggg4i=>\|YJΞ=`Ovm۷o_CL Μ9#W^̨ y\RB\"GmۊW_}sOzbҤIVֿq7@jvA9xTUU)󪫫:jRQQ!NNNbbb"_|޽[֮]+}̙3G&M$#F'|R¤e˖ jXFqQ>Vw H mmm-:taÆɯ[#+]Vx YpϷaܩӧXBZdggݻ^ңG矗 &HE=z_ݼyPa۷ouVeV3gȿo Qr2gygI&@:tܕٯټy{rJYdWo.3gΔUVѣGu*=""eeeoɤIiӦ@/m۶777={ޮGlRt"˖-U/G;vիe̘1zʕ ]ZUUR j+gϞ{JNNN4r"88X [ҳgO9xV\LYY|ҼysQToZfȑ@Zh!Vi̙}v9~;wNd׮]2n8etN:˗KAA||kkkӧ+Ĭ$44T "-ZPK%??_sN2ejqssc V/W^ u҈?NzkԩSh".]H^(q!{{{8ptYåw駟JVVKFF5/V+:󊋋%::ZΝ+@߁tU>AɡC_~~M3&&涕;JӦMe„ sZ$&&ÕMݺu~[:w,...k.ur޽ʗo..\SѤ >}رceرbhh(nnn)_^\A9sm/޷WzW5JΟ?/VZIfv:Å tqsO^z%Yr\t/9_Ċ+駟???1441c̝;Wta޽{ 6lj;V;vLy/% ݎVG]zU#V%$$Dj;VN8!s̑ye~z^xA:w,cƌZ䭷ޒ'OֹL'O'ڵtMW\\\Z >-;vٳg+aȃc#FQSDDѱcG 666vc׮]ȀF BCC"t?cL:X~=`Xj͚5ooo8;;+n(Vň灻_ŋSzС>㞏׽ر#Ю];ʕ+k7U]]@qSSS$%%5}i7oٳgqi={055Eqq1l///L4IS͛7 Μ9C/P駟bܸq055m=ӕQF!''(--Eqqҝow"##cdffu쟩Sbɒ%رcu'x;wDUUѴi>ݿDGG#::nnnEK.a8z(LLLtpu"##?#Zh:m6m4iM6E&M`oo|WWWW+u?Z~=Ν 8qi^ۇ޽{Ç7ڶmIIIHOOG~~>uSP\\\' ###^^^􄯯/Za,==8y$,--䄌 l߾]Ƹy&Z-www|prr³>9r$ڴiO>DPPz={GЮ];ddd(e%^{5,^رC Qbӧ6oތ%Kӧka-0qD_Rq1c2aTT"""/bΝz*$dgg*Z2 a~~>nܸjT* }yФI{׼<>|QQQ8u6lؠ X_lmmYfϟǏ?+WuZaaa8y$ڴi .ZիVŶm"(((//GUUy;jҥ > 9UTT'x#GO?]gAUUj9^YYAaǎpssEСBBBAΟ?m"22}?C̛7 ?Ǐ[װ5aZ p%"&M.FFF?~<,YRk055UM6E֭#GA@@:tXUG HMٶm[?uhPVV]va۶m }>UEEЬY3)W(cbb3ݻwGn䄭[bΝPTCee%rssacc'|O>$ꊒZ RRR{ƨQp)9r&&&x';v Gii)T*2R3v؁l͛B/{:+"())AAA#>>999D˖-чb l޼g͚7n`ڴi]gΜQAjj*<==cl_~%^}UlW\A6m裏bϞ=?~<&L\ŭ) ڵkFrr2C^`oov[nEVV>#ѣGvױw^3eee8wZn]sƎ+WJQX\\}aǎرc222gy j4Xz5>c$$$SNxѾ}:aƊ+g!88شi= V(iҤ2mO?42F~~>Ο?o\ЦMk˗QZZ ###t  @?#_kj>OQXXp :{>cPZZ '''x{{ 33St ͅ7f͚uaΝ7ok׮)seee055 8\xh4BXX~S_t'l ?˺-[Vyv'|"ׯ_m?޽{T* oFeEEEq6+raY|L2Ez)iٲejX[[tI]jf@kCbii)O8Q,k֬~XXX/Ybڗ炭eРAb`` JC;vxqrr]j4rhB"##e͚5rƍ;WtEܺukvڟWqq޽[^y֭ ꫯ}[KHee˹sd˖-Wz- W5___]/,gϖ+WsPFF]VƏ/:L:U&L cǎQFzΝ/O=z̙3xbիҳGٯ1c*Ӝ9sj}M0nTUUDV?~>?^y|400^{[QQ!gΜ9s( ȃciDjHϞ=FjZx Yn]_ oV*++hEjʒ8/۶mJ=W^ҧO۷< YlϲaIlmmV{1Yh߿_6l .K``ҥN1666mmܸQ&NTG)΢hbmm-}mAw}w㑒ŦR)222y}ZV֭['CUoaa!s5k(/QYY)K.;޶x{{˓O>)/+kc';VX"r/ȤIKbokz !!!RYY)ZVdٲe2rHel`K/9ԤI  ˖-[d۶mҮ];?/k֬*ޱ絥K p@!%z`Ν۷׹Dv[w IIIdrbgg'>|XRRR$//O***iZV.]$+WTz# SN5.;;Ț%ݻwW޽{11c|;H.]= pk^A{TT?>yd 6խ[;/DFF#GL>]$~t2e] Nuu:uJ>#y嗥Gbbb"^^^u Gccc5jTҥKQ!_~|7a9vdee5sΉٳmw">/^(QQQ-rA'OZ~[u>G9">ra]v2qDٴi%%%}voᄏkZe(--۷˹snڵkZڴi#fJ%Ɗ@:W8Jǎ姟~ Kff===eƤR222$77WJKKkUtO<)߿+'w|OVV<(Jʕ+E%EEEq s???p;7n9/Ν++w{e~&$$(V\]]CRTTt_Z3x}|rqrrWWW9tPرcP׋mteygd{ƍ%>>?~\+x%|?~\E֮]<.ݺuhǰ)**^xA[c1Bɓ:+Æ@zɲlٲZ)iӦ? |,\Pv*A6mڤdYxDFFJx_j/*KyRF!vgү]\yv횴hBdΝwIyʣG۷o)͛e޼yҤIqrr58;;ˀ}Ze_J޽PT*߿W׮]+bmm-G-Z$c6ltI&O,ϗΝ;j_+ F2d?j%==]v-;w9k|F{fI&=!v@߁+5k,\P$ˆ ǏO?T{=e5+++?VDƍry9s挜:uJ<(?8;; x]_]]-ҬY3Y`2(>tpYi۶62+++Yti?UXX(~&߳Z\>sʪ~eݮү_?߿NgZ+A駟UVIBB2Zr=cKڵk.jZ,X@Ê y뭷V3/@&66V^z%166~Itt,^XƎ+;w155Pg[ݻwߕ֭[]hӦM2a0`m; `;Fvqq{{{Q\~w:WkJ@@̘1CEc;RI&cǎ;~Yk4~Iy?shZ7n*$4iDGG߱.wvXɓ'4o\fΜ)3gTLVPԩSK/ pktryGeĈ%vzk׮Z?t:ﷻ |r122{{{ή<(...ҤIٷoDBBBHO.?$''Cq&"͊:ԩSeΝre133'''INN~QHNN3g2H#R@9"J F#reI&2k,Yrj>}]{%"{{{ܹ<(<<JW^]j`ZVJJJOcd߾}-oNT J IDAT &ȸqdS 6ӕ]^|E.5J͛w/aÆIe]"zktwwһGJrr|7#3>l׿7dƌb`` ݺuӝښ ,yGEq};,ҫ RO^bTQcأl+w {T"HQa^7`(9gagnyfs{C<gvO2dZYY144TųE*;!!!AM#) RƀݛӦME(--+VO?ġCډ%KtL>LeԖ^bb":~P-9s oڵ֭clll ɓ٩S'vЁ۷/+T={;t9L%227L&D`/^ItRRg̘A333f͚bBe(366 K,IB+ L6mx j5cq۷\n ٯ_e2YW'>>666ӧOHj޽{WC ݻ7gϞM6|1Ϝ9y},ZXrZ C)9uTQ__ƍ˲Dtt4 B===rӦMӧ 8f̘L;={TR͛ɓKBB"Q VXcǎI H6Y&A`bX\9^zb7oްnݺS]\\(Ǎ։'(Ao/___e*ǗQRqڴix{{gR|r>SNen2,%ORSSYxqYy͚5ܱcSRRĤ|<ݺu1uttصkW.\8pz-?^~,055g&^v-GR'`,(JŅZ3Yf -zTRIWkԨÇsy6irr2nJ___SPpY6dݩK7;v`ѢEiff3fJThZ?#Ϝ9KHH|]Ν; K.H ߙNhDQ*; 'N ܾ}xߟ h\,X0CP___g*GV]F___6nXch``!ZI4669g͚OK|Yq_zu2QQQ<|0Ϝ9Csss:::rܸq:t(qռysҥK|h3Z۶m[D_0!'O,Dnݺ7o| 9_E-[~3իWŰč7S/"ZX?۶mcDDD~ N8vډeʔQlRخ];I錋;whffڵkKnIIIܶmym[V֭[ 믿$${$pΜ9-gccCc/_dػwoX2dd2N0ANN|fNNNf-cƌ!Nђ|מ\d wyz +[lZ'zF&v]R;;;(QBǏ۷ c߾}59j޻C5kVާm۶Ғnnn=Q߻w/lI&Q&͍SN͐!<+xMm6>$$$**S?5R)@wwl׳w뿟tZI:^8p r9☜ׯgX܊$WҥK`vؑ C9 0,,,WOGVʕ+Rw-ʖ-[ROO/!gU*Nʮ]r̙b27oވ lmmL .Çw^Ο?FuVL2@>zH Q?J cS\|)))444СCt/>}X4:;;YfΩT*-[-[̑$$$rZ׳_~lҤ K ޸qC,wIiӆ pȑUVeӧO~"/0۶mcll,oݺ344l(Qs̡Q~}q{~߾}W:t=]I_~E5k8fܹ3O'Pر# 'eׯsĉ$I.]ClllCsssfdl_9s˖-1cpر7n͛r̙/D/GVԔ9)}||2]Z*;ucIHH ?-5ئMp޼y,Uk֬ɐVV0˗g"EXj/ZT*ܲeȉ'rݺu4ϔd|S__fff\j_οtuu ܰaCz  Iу|)I( С5jPPp„ LNLRSS5®mB-,, ,XK.1>>͛7%$سg3RzŋI_TT͛@VRɜ:uW?y$ׯbŊ֖T(,\0O޻w/^D֩Xb˕+WR&F+V mڴw_~SNqe5N0((HYj5WZEsss.\[nPѣcʕD* ޽{$)ϟ۷o+_]taBXJnٲW>V^7nt$${\r!CVSn۶۷o  P{AWw ( Hjjjʕ+Vp璖ƕ+WIlر| 7l޽{+-ZZ 8|pVV:::g58p@?*˖-UwNm޽?3hhhQF1**-Z`ƍ+QP!򋆿W#I HA>` hO)/`ffA2mzŋ1tϒ) |||YGP ..+Wݻamm#FHHH@V0zh=صk}}}ZƳgPpa4iqƘ4i:t耰0̙3^*V֭[iӦ˗G8s bbb`ff\H={;w.r9t__|#qqq(Z(`dd=} J*EuԩϟGŊg)99Z‹/p 5aggAzj5 ?!2<Y AAAHMMƹT̟?&L@ժUyfMJ{ŋ1cd2xhܸ1zÇg-ܺuK޼ysL<9W)!}p >}111x)bbb/^@__&&&055 o>DGGkgT\† :teFEEaҤI8v|||o&M®]ЪU+ܸq5kĉ{nTV -Z@%v;'O" r׻vZ]VثWId@4hAȰ~M I&1>>r5kְ`I}6l 4KQ=z-[A`ƍyQr<#+Y5mmmYR%0?)j5;uD]ˋJiݺuy%*J^xСgggf͚~)R>Kor̙422WXwJŋsĭ[hmm:uj?ML&ػw/{e˖}ˢs\.=9BA8yL_ǏPv+++sԩ4229pْYB{!&&]t!֨Q.\*W^QF}Jbdd$˕+6m|KoIy'O̙3 KJJ /^+=j5_xŋؘ:::lԨE֖FW׭[Gzxx088XcbbCl۶Vekܾ}7ofdd$ePPXJm?'OQ8p@R, mgvxm{yvY#z7kٵkÆ ٙ4BtWT[l!I^vVW\>(-[Fooo6jHL26dnݺׯ_'.J… ٪U+X^=q‚mڴ&$$|sܪU+q#55>dBB$?%%1P}}}?x>));Pfs#) y5W.?EM@ ,YC (8l0&$$h[o___/_^RWHH%DTrPkfqqqg&MxN>5L&֭[I]6JKx k߾}Gzԛ{;v rzxxpܱcvJSSSqƌR*!8vXߟZ*ϟҥK\ݺuEt &,,^w5 B\κurƌCH H<4Gz(\]v۷o9yd)G+/L&Ӱ VTY&5kE2VٰaCdnEG7nƄgrŊX"=<<(9zhR;֭ Ejj*wE????ƍΙ3 iӦu뾋 mqVXrܼy3/_΢EPB?O۶m# fx ek#ײ!}.0o`4<}ϝ; "MRSSy%K|j/_8tIVZa֭y5^٧O^tI|ip\nYrJϴDΒ[COOO @{{{N81W|^|IL?S<6n81N%ײ!3,\PTB.]JczztSSSkYo3fPÇ Ԟ`@Vu֬[E&y&٩S'9O: `Ν->kK|m98#GK.ܹ37lؠZ77+ӲeKJym޼y*U"TR"Ed;_DD\aÆ;k<9ETT ܜ9GvkGG+Zݻwq]*UB`` J.m r96mF˖-accDEEݻHHHIccc)RE9޾}9sG`kk;wtҸq.\[[{^zW^޼y+V߽q%-[r7oDJJZ IDATx gϞEÆ 1ydh~ի2$$aaaCqƍ}cɸvO… XyIWXZZē'O#l߾ ˆ#-ϤDvIbA M4ŋ*UM6 l߾ݺuC$Sb;w}ӦM(_<\\\s4o5kD||<:'Nիطo/E%$$XXXX@&AGGE`` ;vhK'|… aiiƍhժr96mڄy?A |evZ ""NNNJ\.Ǵi4;::bС(VlmmQL(Jxyytԩڵ +WѸqc;e˖e~7(Rv/^DP(066ƾ}Pti\v h֬~wIPՈ@޽RK(P'N v܉={QFUBǖ%*ϟGJp9TXQ|רj,Z ,ݻwann'OxW\67ܼy548QF 888`ӦMx wf...{]vt?Unݺ˗ƍppp@PP ##w)ΝüypU<{ tA@˖-ѴiS4o\(gϞE*Upzׯ.\]]]QFؽ{EjH#Eȗd2gϞE=Rs @ZZ.\E gϞEҥED2e ߿RŋCGGqqqXd RRR#Ĺs0k,QRJaڴiزe |||ظq׽5k`(U:uB XbhԨѡCIFy ƍ333T^o߾oذ!^z̞=[˒J|kH&X}}}̟?;wF5  ;v`֬Yf۶mhݺ5 hذ!d_YhqI@N'OxIׯaddUp˜8q"&O={`ѢE֭[_w;T*6oތ5jO>رk jӶ($99mڴѣGyf( )R+BOO5jв"իuCS {nZT>W۷oq.oăp!\~]Jĉ x?~ Xv-ׯ#22ŊӧOڵ~t .\@`` tuuѩS'tY#@HZZ?Jϟ?ǎ;жm[\CCC~:GduF.]`ٲe Axxx-IKKCf]viӦW^x0}t^ZbJ|h/Jk?P;vL"}$$$# rFf͚ΎӦM}ʹnRRAAA,R̙3s5k׮BG*j8>|8O>-GyqߏҲbb"YL)+TGTTTN]D>eCi߷o_1k'<4ѣG /_ֶ(Re4hgmm?d;qqqܰa7mEK|[nBsϟs\f s2uTرc3(Ǐ̙3)G͛7ٳ7npY766˗/gƍi``@???[$)7n <T%$$СCscQ ji}$ )VÇpssӲ4?r<)))Xt)ܹX<~F۶ms\xzzz.Z'477Gvr:$2ҪU+899ŋ={мys(JزeЩS\ 3gbԨQ7nƏ &/n캸$LQ RO<`ooUVm۶ ϟZ8;;gJ%+$1yd;?3{.d2 ɓ'k$$DB_bcc@JDERRR0h ,Y$ùʕ+CP@TԩStC W#<}4۹tH"%%%C+W@Tիpuu2dȞdٳgsjKT8JBժUT*qm888/^cǎ!$$۷oQF *U/R"_[+Wĉ믿fHbҥǬY jQx(DBhwF}ҷ<<<زeKh[|Ehh(0..Nۢ+F___R&m۶lӦ /Ϗe۶mxb޹sGۢ;T*g{ pYkϞ=,Vr9BZM7op۶me2X^=6hЀ 4`n8i$1bnjömR.ҥKlSRڵk U۷... r̙ISp<== M4ajj*/\@,UW\c~!)))l۶-MMM?7K:uꃊӧYV-`xϖa˖-4ikA$$KTTW\-,,x֋%KV"I>xF;k׮MrJ_C^@eICHZ{(J۳k׮%F駟x Ϝ9=zK.楖߿?lٲ aرcGvؑ۷g*UhiiI[[[֖믿>ɓ'iaai]͛7311SLرcYB6o\jn޼2ӧO'I޾}uC͚5+ۊȨQ˵kftBCCYpa^z.]}p<00r-[ʕ+]" y}}})9g6jԈhooׯ={4k׮VXAwwwq9ZGeICHZ{OmoСy#F@JbV?~<͹g3!!/^MuVQ 믿JŐ!Cpo߾%I>|={\.>},,,>k!%%ϟ?gLL'w9{lVP'իuuuo>o߾*UwūW~=ARRYYYqƌX"uuuYreZJ|n>DŊׯ_4h-ZDAزeK.X'N7 4_>v`&M-F@RK.-8vؤ6--?mmm?YXb͛ibbB;;;߿仱4c |O&I>~'N!/ۛ 7,66Gf*U(5VW`1Lnf$$$PGGso߾e&Mhhh'Nd8k.7oe*ݑJ*ݳXre6mڔ#Gw--- ڵ˗G|-HQ$$E$$&&_~̚kjj%\,--pqqRiiiظq#._={… 1cGyuAHH\]]Qpaxyy|E PvmbĉhԨΝ˗jժ3gv1c ­[`mmi$\EBWW$QZ5lڴ E۲JҥKAZB=`mm \Z ݺuàAиqc4lEݻw \%K@T~}ƍѴiS4jǏxлuAϞ=ajjοH"V%K~Q;wܹs8{,*U˖-˗#<<6l~78pdYn["eH=$ZxyyCb|w\|9S;pFDD|tX"oPdIg̙3 666lڴ);:Æ uuuyYZ5kضm[,XVVV矩T*~VVMg .ҥK I\\#vٸqcDHNNE8zhvԉ^?AnZZزe/?y$p FD#8pb{ rΝ$˗k֬h&%% ׸qhffkӇ8m4-J'UxInذffftww'DEk׮,Xblccm۶|;vvv7n\wO=!ײ!}xVBėdppŒo߾ 3fL|r#F⺷o֘hmڴu,XQ… bZM777/^="Ή>>ݾ}:::433-K"o6iD/>>^T*?]v/*F"n`j+WfzVٸqc+V,ߛJ#yIHG߾}|r,ZHۢ|~ 4xyy<==M$RDpA\v߸qY UVaĈ|2Znqرc?;v`ѢEزexnnn000pjj J*֭]6 Dի#nܸxܸqC Id(SSS'zcŊ_>LMMqq@r{n~xu ٳg1fL6 wѣ%9ր$I>j$.X@|s~7odTToݺQFGݻ77o%K^z崳ùw^޼yS4񳰰?ׯ_ʖFkkkӇ;wjF4ǏLfT\M[\__gtt4j5SSSy3rMAV?4115===cAAAbgϞYfZ*uuuٻwoի @̗9?Kf`` K. ,XSLɹ kGR@Ҁ;\tr\zg4e_~Ϩj1ɻW^bP:;;L2trr 4h8w6lؐNNN444tܜ5j`ɒ% ~߿Xv$e_j ?kR&Ņ8uL͝; ɉ\h_zVZٙUTڵkVRxa)REWsJ7nNSfķݻw9f6.\+ݯ_ (ɨ#6j*UJC)*իW1RJGϜ9#IH@JD(! e˖?&L bŊAGGׯGEj[$l >|+Νcҥ;jr%J7q)̚5 P~}4o666(RLMMaddW^!99[>j5޽ v/_ѣG`!:wΝ;#11K.=A5000iHMMF~۷???rw܁뇄jԪU UTٳ5k"Lggg,\͛7q}(  ~%%Jex{{$/^+\r[XX@Vc033CBBILL۷aaaɓ8tQL( ={VZKOI?Fx5UF FFFj[o}#""-D.S={ѣyf3ɐ!C>#""fʡxGJJx*Ubv e/\Kڵk`vY,UK,Jj5t"~ʏNV}5.ٳg)ҽСCT*ٓzzzbT4_>022Bxx8<<<ЧO8qB"ysNL<I|3&&&%KpA`޽2e (hѢ+)+A`hhW$&&;wΝ8;;˗e˗/ˋߓЭ[72nnn*UJmۆUV! AAA,R,Y:u*>$1#Ilٲݺu=z%J@WWׯ_ z7ox5RRRpYwŋŨrF#iye˖YV-+OT*qFQ&nݺR;v.\ZӧOİPBɱVC2ƍ)S4v9>F-Dߘ#G͛7|9---٫WUPj5-,,ĝ 777s(-[=zpaaawoԔ={ѣGs)ZHR zO!11 c( -[;vFYR>}hٲ%<<<4<aaa?#49rw4/QR%;wN9CDxx8^իW#22ŋǒ%KШQ#muXk-ʓ$ǹs7QFLuRI XfM]ms>$}ņ pehY:o0aLH"-gDEEdHMMŁ;w| W"##addP)S~ 4_h `P(5߼yúuR.N:tqq 7nF{'N [|}},FQܻw/kԨALƐmUC}}}zzzr޽bFJ^z|rׯ_rȈ~~~ܶm?PR}v;*ׯ_ӧ3ͣ]?~L]]])\Dy% 8hР,".]-[`ޜ~I GHw8vQnݺⱉ'RNgΜ+ , IDATX`S___g*4J%[nMGG|j6>>ڵ#zxx066V"Icƌ \h'O0 (<.]hÇTRuyȑ{GI333H{ СC_\7(( pرLIIavDS"Epܲe w.*|-{C4mڔwzxxhy% (g;]2de2'LQG~8r0<{c;=QTtqqɵRɺuҒ7oݻ7pժU3Cˑk~cÇ{.}HwL&ƍS۷/e2V8yH`` I466#Hfl#]]]S|hKwȈ455e #,Y#~vڕVVV,P]\\خ];vܙj,Rpʕ3gdN0FFF4116֫WOd7߰nݺ9~MErر{ZNy /^۷jYxqYAׯ_}Or_ɿ5jPT7mڤPlٲE&stt{@tD8 *22NL&eRС-,,퀐OcccFFFM)-J 5k_%nݺ5tjN4W_qܸq1c[l:t455eRK( !Cx1^x xԩ.AKۗ8w\C$?~Dlٲ_>ɏ_r1>>>[ ڵkZ{Mwd<}4߼yCBC*W|y6mT;-ӧ433اO|ܻw*U"T*ZZZΎJpV嬢hG[[[d2Ι3'M"**JXx1;w!9IIISԩx;we˖W\ihIy7ṇGmll'2RׯSTrĉҟ wCؤi tG8 йsg* >$ٴiSZ[[xd2Hr@Hӓ*M4y@>SO{{{T*\8|V^ׯ?|~Z-vJL=zd9t0,,$zjޗ IHHa( ժU -+OfrÇ뽯ǏSRqڴi 3gR.sɟ̃"{>}**O6|ȠA8w\9raaa'NwElL&c@@@r٦A}L4Jfbppp,3Io*%Kٳgzkذa#GRRVc ?#111ܿ?S<XV\ӧO -G;_2vXR&IssszzzJ4zjK*U?3EӧOS.r@Hۛ2L̀|zח UVB ,Z(ءCpz]<ےݵZ-X\9h۶-5ko~/!;FJEoooCK8::򫯾V'OXD :99QVɓ'ݥKBjժˋ&L۴<yMCK adRRo޼3g͛T閍cXXoݺwb@}4 mB 6mJKKKvڕqqq+V[֭#FEEʹu8i$d٠A~Mysׯϸ8C$/SܳgɿgE֯_Z-gΜI\p!G)-&L ݻw:)4 '4Nә:Jr务|6_422qH_5tbccS8 GNqV *DKKK6oޜϟ 8b6k֌ꛙ1in@BA2dޗ R2l0ٳ|56lHL Z{MwD&t )P~WXZZbϞ=Xb1x`4i۷Ν;Qj,w^t  ԣXt)7n 333t j*7<==]@7"##1l0X[[J*P\9L>^^^hРѡCo?Qn]ejj;w pܹ2 2 Æ Bӧqq|w¨Q6Z-"##qMܼy$aiiEBRAP _|Db~ӧޮE𑸸8L<K.aooMΝ; ;wZ@?  Fxԟ^ȑ#SI#Ijժ̟?n|ǙVZQ.M6*UȈ?Z-/_.-y?2Ck#7#|))R~~~ ABFBxx8*TsΡe˖S2~||j3y9rD_2%|}}S8666ҿٹsgv9E^zI yfr5شiǚ5kJ!r̙ XGܹCܹsشi8٧OvA+W.#ǧիW?Hlmm9|pr@###FFFftA&MZ^E8 4GMVX;vYs_uF@$ӓ$W=^hYn#9TVs߾}پh„ Tryڳgr۶m#k9rȞ\n7l.]jժRSr֭|m7nxa MZ^E8 6Z-_~MM,[k ~#zk֬!tߢJE۶mٮ];ilG;۷sر411a'-@·cƌ1/ SSSv֍$y)ڵk iC־}hjjSTXQJӧlٲlРWZ-[ƍh4R'OW\:8@kkkqʔ)qթP(W_qܹsQ쵼p@ru@kZ>x;v$ZYYbiiܸ1뙪3*J<8C'3f̠ϝ;'k֬I+++iHfijjJlݺ5Ϝ93ݦ@WDAZ1^z@sVeJzĉlڴ)K*>}ˋ2?3hZn߾JsϲݺucBx ɽ{RPu֌HdKÒ[p@rya@ϟ?_*Н@c^f͚O۷/k׮f}]%/H$;$شiS֭[XB|ݺuE8Dղ|0`|1TRÆ ~2g̘19$'8p`)H޻٠V;X~}`>͛7yDrM˗nnnҒ8ݛJRC ry^0LQdI߫WIB*Uкuk_Z6u ogFLLLe4 vڅm۶u)efY~XfϞ ߿;vWQQQXp!NEbڴiȟ??u,/42 * &&&ШQ#Hc#:4 n cPkklSoootfff8p~wTSP!]/zsXTTJ.za尴ڵkug˖-9r$.]%K >>^GA.S0+Sz"Lpp0MMMijjJN4)Cmܹß~իWOɉSLɓ'S-(]4'z'L*͵kH+VLudɒG{e]Ԍ3&7 &..[&7.Źe˖CBBoFà zxx-}_ N:Uvj5ǎK֩3fP.mٛ7oXL6lPZ D333iu#66 dRŋ!_#y^$!ܻwlݺ5U*+W]vQ|۷oaÆ#ՕPɓ1H =z\t)ΝKTT יPtttdV"zfSe|QhZΘ1&h4l֬SVs%J؇oߞm۶r;wr .y˗/ @QO:EBɓ'KǢ.%օ]vI 7nHܹs tGk#\Ђz*7o.={6CCC2H'''=+**]mi铘Ȋ+o5/$/_:uJq<..+Wfڵu ];vL&#6h@6ʴihaa%433cr=qqq422ɏNիپ},EKf ֋OR)f*_<~Gk#\ЂBѣ֭aRJ\|4ӡVm63 ӧibbѣGK3 O}:qyTV@W,ЕgϞaСhذ!6mjh9_$eʔʕ+1x`\|֭C p-TԻOb߾}طo 9r$--3&LٳgSN]_d V}L2zӫW/TPL&Ø1c`aab۶m 娎* P*W^ 5kpih4>| ҩ] `hH7#]]]dhIπ * v1K3.]"X" rVKKKKիW -ɓ,WǠ FEEe8iZe2r97nL___z*g֨Qdٺud޽{ wչXq:jioobz˖-j IDATܹs'un_5JGGG1#E)=Avk.(Pܹ3 M6mf$ dCKa=(L2)fcǎe˖Z*r9gΜ'lٲ,׳gO6l0T۷oP(iӦ ddɒ tG$"\]]q%͛7󃭭-燎;bȐ!if.޹s'- www(~˗/7#00={D^ p}ΰ#?Ø8qbYn_8::Ξ=ʕ+Ȝsss4n˗/G\\/8::^zRЬY3;vL/5P*ظq# ?>Pn]:u ;v+x-~\~3L/ݻwiWXv-rXGJ(033ϡRPF \v ݻw(SDEEH"zUZ5+ & 11QrBкuk̞=[/ 9p@/R WWW\v ر#^|)?{,Zhj5ݻ+Wy;wH4k׮Ppuuӧ -GW^ӧOu({ݻ0`Я_?537>|ɓ'y޽{D=rXG!qUܹr ^~ . )) Ǐd;jaaazq@}?'O'l\\'NZjQ&![/OٙFFF<{2innnƙ3g$?BIԮ]8`7`yt˾yJGfvP(uVXt#KuԑίZkժeh)LhXJvR2V [nhVX7;vf$>>>TTceMLLRXX1~XoJ%ȑ#ij2e ͥ\.Nܰaap@rb@ r#III W_}%=?u%I:88^@gǏgϞEDC^T*߿GhѢ`Z[[sɒ%$2k׮ݛczf̘!<==YR%)YNwޥ{>g$Xb2eJ{MwD@(J /^/K2ol0m=z􀱱16lݻwK璒sO>8~87`ʔ)zO Cl߾χf͚EL@?#jԨarʐظq#6o (^x/Qre 6 ʕCxx8\]]1i$ԩSǏ϶߿EH\޽ѱcGܼy7o|WXbTy٦S ;ej5pܹGwwwd2VREr)4jԈ'OKҕG qS[?ܹsigg'-ɟ??+ŋSREr/f?Rʈ#RήH=Jwݻw k֬ׯ٠Al_J*ƆT(R nɼK-[Rd(b$:^1"B… T 6oތkעuhР|}}h"X[[cꫯЦMzʠZs+^^^8p޽ {{{=z4U7o" ?# &`ΝtH޽{ݻ71eԨQ7oӧO/^ 3g4ADEEaرԩ -G`sQ@lg֬YJ( H˛R`aa'OGٳ'] $zAðۡhzgw/>|777\xQZ%  FxԂLbb"kh)IBBo΢E֖o6\ׯ7{Ç?KAd2˔)x0 ŋ?"yĈ,X _ΈoYbt}ih4:;;H"|YV\ILL&PլQ4i"ՉgʕٱcGj$vڕ/^HqUV@GG Vug.<^"Āe޾}KLƾ}ZJxmllX`A^rrr-?>K.-9ZƍS,ch4| CBB8an޼9˪޼yêUTZ/_̮3x{{S&IY#))466ChصkWq$˗ST2h YxqM&}T0w#5H6s\l߿nY1yhH0sy.\:t0\OBB|+7>}j'O1---LjH9s|ٙ cBB[y* :Tf͚Ν;)9jԨTΞ=KLFOOO~A~ُtG8 /BBe˲E466f*Uի4ˋ-ȫ|F\.S -'S,ZFFF_wMLL8gCK1Jb~D=(-ڽ{75 NJLAI3ɳtӧOk׮X"e2\25|p*lsEk#6gO]ڋP(%W{dɒ,U۷oOwI3Bdd$SQ*M6lDk#f@'Np¨QF-[Dbb"Ξ=k e~ #G`ԨQÂ[R4A!9 ^:\={`Μ9i1+++?~_5ƏZɓ'x!<<<|G,^Ѹ}v僋 bcc1g888dH  5kOB`̘1äIi&ĉXv-lll@Vvه>Wݻ2eʤ:|,lA^aʔ)1cjժe˖De=zGlٲ"Ϟ=R?0j(W^Xh *dhY_Jި[.k 'N]vŋ1{l@ ,Fxb\~]roܸfˣUVǏM)S $b$ASONӒrI,Y.]Bƍ -'ːD^_ŕ+W -K??͛C.|WZ}ʕ+|r #S*WYfÇqLիWׯGҥuSѣXl.]HeѣRdhʔ)RJCZ6}V2J&cFoԨQR6dwݻW@E.^Çcƍy~cL&Ì30g && @^`ii gggԮ];_g^ ŢE -% OOOlذ7orLUVI%J9sOPLe/^z Э[7Xo߾իWqqaܹYf JjҲX\|/_={GGGlD|2KbÆ ذaCc޽3Cn@SVC(ܰ+65  -GXXP!ϟX|yN:}QL:* -E@̙3T*>Yظqc>x Ǐ oݺ>oܸڵk3XP!\.gfR$nN#Gt"sttlْӧOg˖- #FȰN{Mw>9mcgg{!111ׯK\.˗/ѣGT*C; 4@qEDEE!887oʗ/e˖Z=p1CKBBB0b888`С#Aヨ(x߾}SN;^^^(Uj׮ ٮ];033ùs[;wzѣGaddƚ5kҝh֬n߾_U:֫W/6664iBBBwȑ#)>};vݱk׮4Ws:chseƍdܼys5UuG- |A M٩S/&D8h ɓ9a>>fRT*Ν;W޽{nݺJ*q֬Y|w144dLL ]]]iggzٙ ,xTN>C JuRd{?{,Y@`|ؿ9s&cٳgR|I&;F"""ؠAd2d2;b@ w!֮]1 3BLL ?Sڵk\`.]TR466qL8*}J5jTbGZNF=d25k8{l8P^|y߇V͛79}t+T1c h4:uj ]aaa$w/\SI1y0bŊbSvۛS>}jhI隣1;t m^ɓjy ͛dɒf:Μ997o>)j[>>2j8pd%5k}Jz ap@rb@ X"߼ych)K.ҒM|5̙C\ϟ?[={͛7 ;ݻBׯyYYׯ_:$y9x`Xj .L433#VZw!CÆ ˒V˽{2$$*T &p޽ 5H.B hA^#22tww7y?իW9qDvЁ˗//%2Jbم䏅njçOUV Uٳz{U޹sG2׮]KBA###)RM4Rd~RMN8~xj4iz .6jHh`YAk#\ЂH||%Kptss ܼyݻwٳgicc#]ݻwZBBk#\Ђʂ P(RM|d޽422k2' RVY|y9Ebb"˖-bŊ熖#ȅ<\4 Ωj鸉 O8>ilڴIZf&S8 !!!Y8p mmmYZ5```A~^K w}Ebԩ 7|c֭0666BݻǏ7 Rpa|7A.x'Op̜9S:P(e^wA&M2/0k,[߿ϲ;vHL.]?K.E>}FFFRժUêUp}z,'0,24G.^{{{\pu1 S,[ Æ ˗QF C$&&VVV8tT*%}VDEEhѢزe <<< -'$&&ի<==1|333rxZVVV"E ..m۶Ł2ܿVM7of!{۷^(^1"Q\9?Rr ,{d|d.\XIH~V3]իWʕ+-Kooo<{L:fcc777XXX(]4*W7oi/d2ZjN:!zARaܹػw/mfh9$~L8^%}v5t} vkcF0# fXˈ+)E)-RڗwuaH}^mn|y!u^>7 ,^F$z (9郧'Ǐ\ۑb۶m1OOO.\8%Nnn.^^^ctuu)INN1qqq8q ŋٰa`ر\rgҼy<իWO=\ĉxyyaaa~}ŋ3hР|R-J˗/3m46lѣIHH͛lܸ͛S~lߟ;FJ^_XX:tʊDܹgxoB !DjРe˖?vIJJյPڵ2k,fϞΝ;QTdffҥKR=Ա4۾};SLaʔ)ܹsvfx"{e]mՋVZExK"""KKKٳg`&L@DDDz(u봜DAʚ/^v! ŵkה֭[+ҿRRz˖-h;FW_)&&&JVVtK.ɓ>OJJR:wXZZ*bggZ*>U|nݺHDDcǎͳ>˗gСQ9rv1w\&O\h 77o2o<,X@Y|zXնm۰A/ߦMTŅ য়~*p{)))XYY1a.]TJ=mW@{"(>}|7JJ2e(#iDXX(v[qppv7̙3G\(;vTΜ97oԯ_l*ryMDPffRbEQ СC(zR֯_(3g|1 ܿ_#77Wx񢒑m(_|bmm/_^SZIH3m4h֬1ׯ/V/-\\\R >$''GQ^+))]h"˭[8r<֭[ 8lGDDPzu6mآ#>>ŋ}v._uܙ|r.^ȇ~H 0a+>}:lMBRѨQ#ߺcǎ1{l?~Lbb"~)C-Ĕ B"U\9~7z#Xb#ӣGV(%R`ƌڎnݺEr ǎcŊԪUYYYq4lذb.++1cƠCڵJ*Er &Nxx8'Orʯ7;;[$qppؘt*UDnݴDDQ䬭ٺu+\pAq Mff&aaaxzzʻ\ҬY3/^O]ɓ4nܘXN8=m۶߿_}3BCCx"+ٳgE~~VڟitЁO?ŋ"JY5j >> >|[ Bqvv&88X1 ͅ PmG)>6mիׯk׮s֭|T <믗~yf޽{aPBB{ffԨQC^kÆ xzz2c ԩÑ#Giii}100x''(ΤBhM*Uo+!!!CШQ#Zl8%Jbȑ8pPmcѢEmۖ{Rl| y3EQشi}ظYE񐛛˽{￙8q"ݛ?`,Y?oƆ ԩƍCQ7&&###Yn' N !FIRR;w, <sss.](y([iii|'{{>r AAA 80 -SDiذ!vgϞ\zDC<}qƽ;v`nnN ShQDDW^e1777vɮ] ^zi;jT*< slܸVZioO !annMqJSRV-zǏ={bccģ8{,+WM6/gΝxzzRLˆ*ȑ#ʩSذa۷oO>ݻZZZÅ "..NcVŋqpp֭[;x{R!&$$GGGmx+qqq0rHNJ-Tg߾}~m=555%!!!_= |,Go۷<_)А{1d-'Ҽ]baaΝ;;gϞem!!!;x{R!]+@Ξ=˘1c]6899m6.\ŋ߹q%8BBhEPPjr2l0 F=ҥK7]]]mYfW:[zѾ}{*W֭[N?>O>%77CGǠA ;(BΨT!ӴmOOO=HBKBh۷QT?M6qF6nXKk7o͛7/sȑ#qppرc\z k777YhеkWJ;EaĉjՊǏEGGШQ"=x=xHNFrssy)e˖vRlL''YFĉ2yԮ]3g2gV\Y$TK.R$>777 9sfVT̚53g0RH Ȟ={ذaDEE <{axS.{{{}!77VZÙ3gHMM-k]b Zn)W_}zx̝;3yd4zdʕ+W6lF%J333|}}9phIHdV#Yl}a=zO?͛~+WLLLR;l0>}:[^Zt$D1C*U#;v0c f̘YGJŢEX"3fyRRRh߾={aӦM;(yJݺuY`hѣG* ͒俬YDBCC;w.9#G X<|}NÇ9q-m۶gf-!J# ˻Abb"&MW^,X@&x`nʙ3g4r3fpmN>],L24nX+'ggn)$eRlYLMMψbŊ|TX|T}:))),_\QD!6l+Wd_)S`Ŋ,X Zt[.[n%!! *h;V##HEqa듙:tՕCbddTVoߎ,YJ; رcɓ\r Ž;8p ̚5H Fpp0gϞeСXXmc IDATX0vXu{Çӓ-[puܹݻڵ+*J^Jɉ;wh5l۶O?!ݗINNz( k׮{mۖ#G!3p5k֌d=zV?xoիSF ի'NӓCzz:\t r9ƏOʕYzKaaa,]? Q-[VQT̔iӦ)y]vbffYxb}V^ԩS'O{*JQm۶W T%00P#)Dq/_^3g2?~\ݻwk-м=z(csss?Sڵ(Ztb``ѣG+ >\ߕG*otݻw@7nO?U*Tddd;כP{{{%<<\#4_+8pOvv6!!!}@CDsNxoNN \|GBhh(իWoSzDٽ{7ryoAAADFFJrY&="22ѣG3m4MFJ*CPP}%11saiiz򰰰}VвeK9vXFjܯ b?zzzԪU544/_^fIl߾ 7n\mݻ޽{ӬY3vB ~׏f͚g)>JUХKv؁#6mܹs iiiy>|8k֬}}" ݱcHMMe„ (q~-֭ [gsU/6j֬ɑ#GWK,!000111^믜={CCQ;F͚5_X)@E&))3qDUXj4ixȞ={c/]TT,7gϞ۷ bccCxx8u֥gϞ 65jPB>jɓ'XXXh;( ŋ:u*ǎ CCCXv->>>;;; ƆrQBB鑳___5kyjҥKѣ;w.6 ѣt x6{'UH({Nʽ{4}IHH`ڴiܻwlu#Glٲ9(RRRXp!?z4EQػw/'OV X\9.\ȠAl'OtRbccYre ~ߟΝ;sNS(m սM6ܹsXxZIR7(Enݺoi\{!(NE!'' tuu 4~wT*k֬a߾}ő,YREQpvvZj:t0\pmےyZV!D믿yfLCݤI*VHn4~.!(JZ-><<<޽;w,ZKr{5BBB.v<ؾ}{'L@RRSlR!4ڵkt [[[:v5nܘ{'Oh\BQ`kk7ܹ@=TPb ,YD%.иsώ;پ};6mRTtڕӻwo:vP'Op1ڴiXQN>Ν;INNfΝ]Mhf[x1OK )@evilڴ 6G1h O!J[nѩS'h֬7ÃGѩS'4h6lѣG׏SNQZ5ر#s)k`eeEΝ3}w_ZH"иupY<<< ^޽sNNNITT>B???ڵk޽SRWo_ڵkĠˁڵk/:S~k׮1x`UO? `Μ9cdd% BظP SW*-UVEШQ#e8!(Deʔ{tT=JTT#FL2̟?ggg/_SO@@}eʔaȐ!zȑ#ń% B[t) 0PڳO>,[PB挌ٳgm-[СCZJTpUVvܺu:p9EԩSߟe˖Qrem,11BN8A׮]C#--۷s}٢QјvL!t=Yr%dffrv͙3g)/I&p)|}}HV!ƤIXr%?V4o<߭fnn.&M"##cǎٳѣcǎaÆXYYѼysmG-!F;wN!!!ٳgSbEM!DӇd ;w.C AJHH`޽׿gϦW^R|h BzaOġCX|9fNIB JO?Dfdee1p@mG#--ɓ'SJ&L@Ϟ= UV|4mjժ"E B(=1113nܸ7>Ç[ygD!DѫT7nv<ݻG߾}y&&MbԫW1cp1/_...ZN[H"ИXٲe 6|ޏi&qsstT!%Hdd$͚5ؘ? ?`Æ ̘1 &h1e%H14yd0`@-6l߾x6U5sAVZ32&W!D|$&&r۟W[la˖->(ٱcTPǏ9͛Bϊ *uv!Bh BcT\ѣGСCѭ[7Ο?_dǎ|,[sU zBQ8dBc:wLvv6k׮eӦML2ѣG3sLbbb[.| ̜9ׯSV7j͍={hBQȤD1*܀g/޽{ҥ 3f̠wތ5 B!)@eiiٳgγ֖}<+V~' YR Zbذa\zUхBR!4N__;v,e˖%..y1l0:Dzz:&&&9s 6l`Z!ByDQdVʪU?>6lիaT*B]]]7nmGB!D!~N<ӧOqpp[nԯ__Ovv67o… -[=zЦMRÇ@\\fffԮ]vX%DSR%LnWWu`f'N`jj055e̘1kjB!(vڅC !--۷og0h߾}˗aÆ>}ZMOOOkEg!B!J)@;;;6nHʕS+WCSNeĉ={ .pٳԫWy&OYm `V!Bfl–-[l{䉖ҔRlM:W?!!)_ Ӷm[ڶm7۶mc|_y.][I!B_tI/ ԭ[xߞ( kFGGׯp7pqqyy뇱1aaaZ!Bw @=g_bffF-ؿ]xVҽ{wDFFua_B!ųVmڴ3337n̹s>}:uUf͢k׮ 6sG}cǎU7|pT*^zpu̙JbȑںT!B!J c F߾}ڶmƍC:uի6m[n ???ʗ/>ÃA97ocǎEpEB.pOll,ÇgϞڎ%BREvÇDFFbmmM*U^Ozz:AAARfWȽ{ ;;<%t!9u.\Ϗ<`ddtB!J"_+8֯}GWW׶U|y4hPXф(9x 111x{{>*ƍ3g)>BbH !D̙3HMM٨Qxx)?fȐ!2уB`eeg-3!4MۄVNN,Z .0m4>|ƍ9x ڵ{a!J+EQ%$$GRX"TZ2eh;;'99 r5߿?oVNNׯ_>{c!00PFm"#Q-[0w\ܹC:uصkVVVL> """ޣGرc?$..1x`-[Vbt'$$0o<ƌC:u T6oٳILLUV,\?3gjժmDGGqFv'Oɓ'T*v7|iiiDEE撜 I5͒s< 55lE!11(]ncԩ?.!dB/_fر\pOOO6l@RRSLƍ RP0T*W\?$99֭[3n8\]]qttrŎ;Xb=b̙ԯ__WDGGchhHrr2&Mߟ׳n::tYSSST*$&&bnn m'%%R022b˖-L28Xx1UV%%%M61|ԩC>}ر#eʔARS-Z⒧Hq_ BVVVs=RRR>|ʅR VVV,]:uеkW{=<<<ƙdgg“'OPEQ&77}}} )_<{{%̂UȬ nݺԨQ3zhv܉;;;;yJ'Jw%~ԩNEQ?>V":: `ooOڵ>|xOi@Æ _>j:KHHয়~\zSSSzwԔuK@@L>憹9䐖Fll,FFFŢE^:*##77p]rrr000;;;WN˖-ի+V|Lnʕ+W044ܹsTknna``y <?~SNw^RRRر#7&%%ObccCժUQo###E!$$@bbbPTّM||<caaALL 'O$==5j>5j ""ӬY7߷Q˗y&qqq$''cnn3ݺuS4EQ:._w?~<͛7ݝիrVp2K59=|2TT 7or]UWQ~۷SjUtBN^{\rr2~~~­[Zjtڕ.]PZ5"##iԨZLOg=cܹsL}֭[G6m#88pù>qqqsEzŋ177w`>}:׿} BϊO>+VдiSbcc W^4i҄$1be˖cÆ \v% IDAT,\\\UθФIS㰰0ׯO~ulppsҭ[UxΞ=K`` w%44"##355Uၧ'M4‚+~)FZ!!!ԪU֭[ӧO֬YCjj*-Z7nd9š5k8|0k׮eԨQZi4mJEZZfff/|ܹ1*UĄXÉ!55,(W666XZZbffQosss 䯿֭[DEEqbbbXz5GFQ|}}ٶm7nܜڵ+9s///ڷoOɗvٿ?ƍˋ 6O\\۷o'<lٲSLa޼y2m4Ο?~jhhH-8qe˖\jժDbb"gq}._Ltt4eʔٙ*UPn] 'ܽ{W=,ёݻ3lذb*_5###777֮]KÆ s}ڷoOxx8vvvꗘVJթ]6zDKW!x%&&HVXA||<5jԠG;''W$_+8)@%(DGG3f pa̙̟?m%%%NXXx… QR%:w¸bccԔrʩ? ùz*deePJtСCpfffDGG_RR%  iӦ5 Xnh122L2dggLdd$Ʋ`޽533URfMzAӦMYf\pŋ3uTgcfΜIzz:'OZjZJ*JGqΝ;͛IHHKKK}}}SOlooOZpwwf͚.Z~)FZJTTX[[S߸qիW~ݻޡC9 ĉy) C}eO>cǎs)M^Bt).\ٳg122ޞiӦqf̘AIIIĄmb`` %&&&^zaff*T@jpvve˖+^3t=7ž}HOOVZTT CC<ӌallThU?#F-ɑ#GxYt)...ڌ*JNܯ\zGu1rH$*T333V%=___Q|͛7ҥ |dffBxx87vvv2e ʵ>ʕ+~-YYYTQVzj_>ӧO';;]J"!!ӧ^CRretuu{.9 2ƍSvm=ё5kڵ)S}Z{޽{g'3 HF``(ڎ",))I\Phh"##3STHHRSSiӦiJKKc6tAiΝڽ{V\?_ 5GYYY:y+31 *ͻᆱ*++ӧ5vXegg+==]VR\\u}}׮2 M.]RJJJ USSuuuM6MgΜQiiΟ?/Jdgg+..NͪWxx*)::Z#GTHHZZZҢVGw?Wvvoi„ JNNV]]N8`7Nyyy9r;|;Ӱa٩X5Jqqq=ܣuttYgϞU]]aÆرc6lڔp={L/_ -vk֭Zb ժu!۸9|ߴҕ1Er\)!!!̕oCgΜQuu***Gijiiђ%K~z%%% SnH:t萎?.ۭ4}ŋ5~xm[+Vk=Zb m6m۶Mv]#@2 9rm69NmݺU#Fѣ)S &y<UWWK!!!RhhUӣUVVQͻm⣷W}Z.K>>>Zw߭Sj+CSO= 6^OЖ-[1;]|YGQeew,ʈ#4vX|>K*++Syywgzg j*-]8K=Zk֬ѺudX_ CXccfϞZ*..NF҂ tkRVV<|Pg֜9s:1Z~n!yP_Z۷oי3gALux<Zr$IqqqJMMŋU]]-ۭ=cZfW#WYY3gF>>>JMMոq4sL=:u㎯=E1 Uk׮Uww}YYFQQQ?{nw|||TVV&I5kUVV Պ+^6nܨzKO?z{{~W&LPxx*<<\AAA Rpp0'TCEFFjƍJIInWPPfϞ= nmmղe{iѢEz甞o ҡCuVUXX~_6vء&:tH t%|NZZZTUU.j*00pss%ǫQ6M6Mk֬ŋeZz) BDLjoիWJ6mΟ?={Hy=iooז-[K/fp˟ ___effꮻRnn&Oo|܎uq\1bohĉ7}mmmڴi͚5+_vw:g}Vڼy,XX;vЅ j߆ O*==]ҕ[몏+}?pѲe˴~IW31c(--MSJJ.\x` %Kh…ڵk٣j…6l222}NXX/_˗{Qkkl6.]ѣ:|KAAA:s挒M˸IT]]={.͟?_3fP\\bbbY,kcpE?դI/(,,Laaaڵk(ۭl}mڴIugzzzpB+{Lvwwܹs*//Wqq6o,өN_?:::X(::ZÆ S@@V\_~Yڹsip;x}:qܢ2 xFR~~׿J^{5=cFf466j˖-ڵk>|!!!7n&N<)++Y֯_8jÆ zG/1cƨBLPggبzUWWJUUUTOO+B&Mٳg[z{{بԨYNssM\.+ w>׼vw}*,,͛lٲۗ~v+ @~@;[oP9~ύ5JwyTVV&!IJOO״i#h̙ T"'UUU:uN<#Gѣ鑯Ǝ,)**J*--թSTVV/ܗ_|Q[lQqqq?-&&FFRjjRSS.ժL%$$;vkjjTPP-}8֪VuuuވÇ+::ZQQQ1bbcc$eeej*%% !oӦMz'$IK/t] [2 P/Vmmm}}}5}t=3r\:p;&E+77W._GT*//fS[[C!00Piii0a&Ţ Y,kfWWN8Ǐ{rݎ/ <BCCEDD(11Q)))JNNVQQJ,}bxGTTa񨸸Xڸqjjj裏֤Iފ5n r+}v82>|X˗/׫:лۈVss={V%%%*))Qss+WNUV?~8uz{{9r233TNS.]nnW}}Ο?+88X/x%&&á?OzWԤ(­}S޴Jk2ܪw=zfwCHcc7,z-h޼yJLL￯&IRddrrrl3FFRrrמ*?sy@QAAj*,,锯Əl+==]cƌQnn V=_LAn[.]R[[v|||epxJxW[VnQGvO~ >\ ,дiӔdnw\OOJKK'O>Qyy***jݺuޙccc> ׏DiӦ)99Y7n9ݻw+$$D׽ޫ#Gh***j!I u=hԩ4io>j:zn֖-]Tzb󓯯on>CZtx ͝;W-R{{3"JRZZZ(G։'D "}n+**J7ѡ>@ܹsu*&&F٩>H:tw0{IIIԘ1c/}'rI~~~ ShhveuE?ƍUWWy֯_gs4])Y6Mz7UTT %$$(>>^ rݪйsS@\d M}Zcǎݸ% L}}z79É@0A!@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@CǮkIDAT0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 1c !@C0` 14tcdsIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_web_services/0000755001374000021030000000000012706121712026545 5ustar itpeavd00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_web_services/wms.png0000644001374000021030000022443012520135745030073 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxw|\9S$H^-Kr-m tB( e!˅l ݄6Ɇ1,-{-[rd齜s YŒ-\륗3gWy~:B!Bh_B!!D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2@B!)#D!B2Ѿ!]n<O_zv`k_l6, W,b$(}B!R'SWWGmm- _^/{^g<,\&__H\qq1555TWWc6{&bHBӔb>yo4Ys郮ZN0Tsh3ejjjz=bk!'D!NaԔ ݃FKKK򸊊 &MHͤILT]MaAB;[0 D|p+r LHLYz=Ccp6Hgk&m8:Z0eJ SNNƌ#˽"$!) o߾^ՌZ^/f4qb2dL4 Zooڏ%݄?]5p,Q  ࣝxgsO$ތ {[#&\Glm"`Zl#QVVcTMײ⢢[2֦|+jW V@_bx<@a$uljk9 G[&\TU嬳K.K.aѢE.C$D!RLuvɪUxYC?,S5ypWҒ)6'+5~>}/:Tf:Wq:X,.] $ӦM~!8 BMMM;;*Z1̔OTNEј*Z<JQRz#: js=:<"Յr ,iFV( 0ob)ϟ5mqn0EE\zi<\|ŔT D!Fa]UUb3t@^ K&Q1y&gSP#\|f+HYHt7?Ǻڦ( Kr$bΖdgΡ[iڿ ׃fcҥ@2ydB$!:t~zzF#c0:^(;`]C}) !Ɔ:6{TEAU&w:1Mg*{]ho@V:f_"Ǐ[n[naرe!DJHBcBꫬ\UVaX檫(C$s &sڀ5̙PKRUÜ %#76Qh~oSǜi˭Քs i y{ao3ol@L( Hֺͼ~.R-[UW]EZT#D!uVV\ɳ>ngт|@-Gl,aFU1/Zˤ1y_BLQF$|Kܸ0r9K  oM8:;eo2Ϫ泺f^0?3<&WaBHn쳬]\ol2f͚B&D!q8)ˋ&3s\񈅎}>6t\jXMqLlxN@<`&_q:G=" _ u-nӾf~hdZ4Gt|6kϙAUym^gCk[gVnFrsstBq2"8i{'^"K.o܄RN'vkOaoS'cQY{x}C;1MC``df"\8 UU]Mna!gG( YM&"0yEEPJub1c{{;{| _^8ۆ:4M'_;Ϟ5`P索 Z,ƛVgUoc4kXl^x!jkT!Dq:x O=O:xq& ]GIqIw`{9SVQKֲpW=|-L:ݩj|/8wj $Iarz~JԷں=܉\p9k$P^=Ǟ{`ٲer-TVV9"$!(`_~+W{e_e,ZpVŏwQ{h?7_=g S+ 1vU8{P|W2NSʱe6)(88[#t:^i:QMck}+[AezUc lvOrëϮyƵ6g///fٲe\}դb$IB6mēO>3Ŭ%L1>G]'u{ZߚxW]͍P MIe~r3Y0yLط7gݞSoJV"|T5pf~ݤvXel4lhLc 'qO]zyyyZZZ={6˖-o$??[!!iz+WXzE|{ٷ1LN6ur9SJ];t$|)'=lohpT:˾8"z|UM7AK4ܸ{N 1~oo}лBҵy_?UC4Mgc]ss5#<Fywóƛo*z+wcƌ9 bIB69sx 2227}σ dסv4]dP5s08`ےGb#'2obF#\ ƪ|ЀlΛVH36GLY0omqprCHLW:6u{5+Nf[C+۰SWQZ[{;O<_ͽKIIIʯE!@4/~ ~ߠnV~|]dg'yÝ5ۉbמ3 !--)7TX0yK}p7gf1-9dxX.UAU{T^YS΃DbQ]d419łF_hPhPaoolܗ<¢1]ԏE#>g{{ՐSAcr]w// !Ns@ ͊+/`( 7~i| OM?XwC 0=v83u,fp430SAjG_c~u͛{ $DE {m hsmm<" b2̟"r /.-4:f>wii+V駱Zs=?3}iBӌ/B!yǸky뭷kS'|H||N'}vJ2)Y=F9gjώ/RUePKBZ,F:qiwQɤ1s#)ʱ -8}A&Q>ղ23 7txt x TUe٘LѾD!iB* BN0'ࡇns7pwSY1?AmcǰܩLhҧ=A8*KF=:NVW3z_1Owf>7TM.?*b>np`6W)=iFUV_^qCua=GAA{/Hzzh_'DqB\xVj0~}=M#Fs2#S~hHl7 3X:rHl#zwјƚF z\*E,:s'0 ǗpY=1M#ĠRc][C+TUU|rzBHBÇ|_ .;sfslgoS'__2ʢ^.BT$NSS:b(Ļ[X0i 7 /s * ,FJs lΝ߇/;v/Kq "H)MoX,<+LgΡx#%Ә4?=̧yUmmtY$UsVdfUeT}-}l;/-fk}+olKk8gut v\S#K,wգ}YB!ĈF<ۏL-;7^AU[s18͝@$ю3%+}d>3Շqtc=jK&z)ř7!Ls>P pF-ի]w~3.Fh_$#D1mƭʦMK<fL,?nZmNa-̬"XsVdZeri_]<m)ֱ,\%`2; g  )X6Ky! 벹R›ʹrlp]#u36|>CsO2sѾ,!IDbDB!|A/_N~ypAYv5F::h9YԵ*@*;[d-)UH ҹYɠb68k. 5%Ys&pY0═P$QU0EAUUt]G6-/)e |;۷{wOBpf.VB5k0g/9 .^}/kI)&j?"<0kkx8>ՏQŚnbɴ .;>ޓc`f/]xokC4f+9QK3v&F CZQ C#3; ]U3Ղ}˗3g֮];ڗ%8 HD1l|>w?8cy`0.xhl4prՔjpAVo?xWpch ] uͼY|s&q܉{#P{[E^AeaM9N,q֣zAK>c.;ؼe wy'<Vu/K1J$!;mƑ#-|;Ht DY:2 ╒DhǡYTS%s ?69gj|--|0'%bmk-WE"1GYʸrˬXx *~` @zWuĒuFh4ʯ[~C.h/K1 $!N>O>$jf/3Ex> b?xX3*Y2ݽ 5& 'UD aԱħ`Lq&!YDcL*&ǚ# ԒLΛ5+G/b@򊋓KUEQb1>P !`f),+__wG|²e/INN@Bf$!+ߎ{~.Úv\#ɷ7ƫCu*fdy#MQU%>V8_խjȻ[Fl16VegH4q\6w"7d4*[;7ǛL(90 &^ǃKf怍>OiڬX)3y`4wX,~rUW !RIs !k IDAT;_| .G~ U'<#vưixnmm#77 L0 q#Bv񐓛ü<’m0 lkh彭ί.YXgc \Ռn6Ϊ8ξf;Ǘp XHXtPu2VrQٰde:X23OJH8ٜ `NQYr ]r w}7W_}5]w?8gnBi"4]yg뮻t??;|=Λ^؂Mnkpָ{y >۝asWyE#1:2sUpq@T Eb*fJȚݍyKh^wv;ɨnu>GiǬ~$ZqvtA$~$PiicF4kylfu:=7t"?t%D1(.o^{K.|yS&Pf2`wRL^w 4I?#v/=J{BND09{1B(!9't=y].~X&{?Cu.vT "-:8-yPI~īΗe?«B!1ٳ#,G+u՟Vp("<.YYꁢ(n꺮lm|>񺦡*[oqSRRkɓStBTz7X`P?\UNhw-B>R(2|>&ǒCde6`t{89*w jL7ek=>/ΎH1wB{գ{T(  yEE|$W W^~9 ,7Hѕ !REO|r ?y9^w ZZ5f#6KZ#unOk4js=4 5Xj.5?dxEC(KWpAW"Hپf6kʹh^lĢk8eN( hB_YYX23O*@^[VN)Q( \ukssr3{e˖-L$a2=vEϧ=MB"|}^\v;Ueia;Jp`!ϙX!~{a{MAP 0j!+ JK|P{Bz˯ʷ︃'+PUUu^|E?a'DW{{\ki{"\wT>q/ΟȪ9&vOUKWdzeU}0kjx5wB)&q:y= ֮ GNv;Y]U ^QVmXN"`|>pUuEUb1 ]';$UA$줰 Ckukofrsioj"%b%!B:vy|ǬX~_   y'b4_ 4nX:;GΛ^ |Ppide4v7=4Lrs$`4P XVCS}} $b3!{*g Sш!+4OS}}2~ϰP "f# hkJQ [XLt Pp0H{ss2 / ?/^|O;ؼy3oHKKUR v6mįW?ky߀xaxX n`8*˭NfcrW@8g?DZ\0 g˫X ӉB5I6n?%X^ GGZ,FFv~~|UkR[~ζ fG:>{[19j K 55*Xt{~BUUb(&%' @Wp9v<ǜ9sx饗(=F/!D3Ժukb̟;wsZy8}ө.pHv6?-2oZMF=o<"@<*ΎTU%;/2Һc.mJ\Cw1 u |v-78zp2P;\d҂%3穰ϸxWX`(_b0d!@O=K,5|0ف$idfɱ?a4\t:eY#e9Sk")c`f9tr+F|J++)DQU@J4^<%fHSCM nM 8wMRɔ]˲vKf&=>-liҹ F#`̤꘽-rּy|Td~Ѿ$! HD3H$ꫯ_{۸l2Ҍbz a`PýHT> ym4wzFk/l=`8BDZ]y񾎓]({g;G9^6!ȑ;8CtttpuGNIMƚn $kj<Wϙ%̈́5ğVҹXf{gPk%+#Wx~^_:vC`2L XN˂n$v;H܂^/XlPۍ=>[8:\$BJ_{(9zJmm Lr y $]aM麮b=?HN%Y7HCCO?4^{h_ B{1..2]n(*˟a%L74^P# D 9gXNNM\xC =~,3}*5٪iZI5 C8&0aײV)%1+G&{I:[[OX~;/b Ѿ$!D47{55 {:2ƌ`6u{ ) 7,NIn&hL'˒ q "Bx˅KffՎD8`0FUs9DjArXkV1CIyuM=>^;Ɩs]wH$!DP"||ף>l-,h20d(yiqH í{-(a#3;;n '$F*]vsM麎l2EHMӒMrsqtooqw q(Fߺh&UWAt9\j>ΣM_ϛvB9Xn?߸uCB' Bf>li!(SgƢ\>gNkpӫWCpPD݇I7G bh~ٌ-7{]KSCÀw[Bڇd!j&?%3EQG+ħTqłIoC$KN[×֐a>k9-|:[[ٲc/@? KBZ^vN4/HnV?3 !B$$qJc šazn0"X-Ųde:n[^Dp(ЫڑxC+`n"0&9IV' ^229Kv^ 5-PluyL(>klvc߽qŹ\}Σ)%+v_1z]i Exx!]O-/ίvpHE!N@8M &|55WTdJ.o G;ispIE#~ެlYYztŒ{x]Ӱ><7[[8¬KrǃĒEVn.VGSCC 5961W b(N22ȴhrysS]p4֣04+Nl4f2p*noF^S`(j{ôzl iɿwU8|[U%'3'TBm@8 t[+*JNI>.7.+k躩qCJ:`bfT*[^1amoa#Q- ;?A%o[,fuUUlU<H2d }=T@gg'~` @{k{N,cJy8Z_k0$//W<Z><'87KN/"= ,?ΛFwg1qݬb;YZrCTF*"!D!NqqWn䁟>c?&OƌI(55\(W,&lk:/|N ℬmDUa_~@%Vl5;`;L,= |><๴X ] X23)( +'MǎWZF|ʴx!t8PVP$ʊW14++!:{ge⤡UoUɠmI -ifyL8tM#?ۊ(hNO?ĊWQm򒬄D4MBDDo?&7˒ EcƐWT\*};[9oF97| J'lָon7fd#PX% GY]13tzz4*kVVfv7;;:ab]MjIBANfCͫ*ٌh$je`Kh:~<0K8#ث뒿oPU3"A?͝^h_;o*־l V?Ecn?i0'IbH}C?[N5#rs1K6߸p&W-bOwrItv KnWfvvf_QzYlwvbRΛV1zKo0duX4{bTVNN{%B ׋i] %$ηk "Ǝ喉߻!'j"f[tQ]qRcy~aUUY ˱H5h_bhn8]+!;; SZZ4wzÜU]Fs`1ƗRU3"VTH(v:;/H˦GD4*PMȰhont&? eb_tBwdi:P(BϖZ>jʏ5%-fQj:9fZeTUUqvveAi^;w:b,CoxE . 77EBSB 7ȗL(Cmؽ`rCo\08Ay+;vb#'tk9fՈU@ kF:;H3_gcvĹƲdzea6O703mlK%rJfv6}/=4 Ӊ#1%M057vq`ifTEOvzdPL47٘Pu~?^R1-\dBq6/#l+|04M_x+VH%D&DSѕ_+|?{' <j%Λ^dH3 l̴L.YEq큱ao3kj{6~ϯ.c=lVm'*9#yS+8ozK(@m 2ul `^ KV9^mmĢhi!k7^-,R4MPXG$cp3 4hed 5m0?~a^uX4k?hL b4X8ۓQUʾg$:@8Et?nKJp"d[>X2KD%< -G5I {ywk=`kK)4E{U-=>cUBr2)2''A|id"hjH4Fј1BHW^w3AQq&K Fs b e32 XMXdC(֣o\6mݭ @$%{h9J.P{|R4qEu*D6 U@1p4"Rl5 dX,(=" Qh7Jc>ifgGPcq=[ڏ7 & B(sy{P[8dZeQ"0dG$ښ<яHѫW$r0^]ȰZiml9slh4b0p;Dal6f2(̱B DF*iknFQUsrprsIKOG5F"t( eedXɪ!pTQ]pc#bd6'CE\"0_)=||k_AUTPoJ?]p^e(ʱ&?2z](Dhsml N|7kk"ֱhF$Fcf0a5rf&r˫sr!'!@/M>jY\QU,zhid40ulמ;s:0̬ޛGUkߺ; H :ʢ0 GCDA|gƄAFd  ٗNzڷ%U]U{u:Nݕ>~g=,#CuuuWrE`2p`0oeas:+0Sq?3>nÿۿE  ! o~nwq>O}AI˗v=@I*eac &b*=T$H]!KbȤUB*}x0I7#e(6b%$b8kqe!$cI1pfYDQ3AdIB"lFmc#XGP HW>>w hD{+|~-vhYP4+# .+.9s|E8-0, _?T V 5V#4:```;M `)<{V/n01N(]_n3|IG|l%$z!R0l4~#qcXx"A *c׮]ؼy3Z\}X`A:xi".^c?~ƌeDA"i}oA<%#VTH2^stJu_ۍ]ǼX>-/eNN ;]8̶(6d@<熉96H S(Nr\K9\r۶z'>~ fCus:z<ցQgXxa5IT,YzkZb]4 oCdUÑ "hj} >yB *vt^Յz__nwQH2<~9ݷ݆l޼ .Ċ+F1Bqgt'? /kcs!Mm3!KB_:ޏl\e{ˎq7d l9Zo\U91eDu=K+Z t_,AppVxAZh6e `jldJЀ9Op4mX7,'%1Ec$DYEBa8 _Oy-._ݾ0=܏+-2pw1B;* tZ@0tVHW] d >TYl.JrKס:\uu,eQԔ[g]6\p$Io2!EQi&ڵ ?0.ذ`/^څA8-":rq/eU{=6,k u#_6/nRRIEB$_hh8H 㠩j:<#:(Qo<XTzx}?, ;p"DZ6<"p,Vw45cJX bR*h(k H0X2ci,mq+ o(^$D8.8d}E)WԎ]u3UUU`w0 W]`X--x%$SL$D<(\o0F*iZg/Nۿ{{G>-d+"V" /BRe"x6}ӝd$%x X 0Z,py=< #o7@0VtnO)IAJR֩f!YS"I0[,?~ H aMO3LJ#k&Wd97rw/De ۰X0kn.hcNtMYg5s"2B Xf ͛GXٙ[Fa29wY+f`6lYQA r}B<^^X]#!}sKI K['W?p=H&48Kdr(xA(Al\ v<9 +j`1pxmo7 .KB+!& S.?X+ /j5Z;h>z# $GX蚕BόDC5 X R*,(ME8#Yհۇ_!>w٘΁(QS_UQ냧1,>ܫ*{{s"DDZnF\yx!LSv0!au7t{9< rNz>J>f!UúfP|vEM5hvDDh  Hb¡ yC&KI;βV.\Gxo{q/QVFNQ54mhpYpg14j蚆H]ŀSt1N1z fa,N'LV+h4:" t1O:$|U,ǁfJ$`ZIh0ә˲ 愺bu===@UK PB [nŖ-[pw?8=%IӖCq)( a'{B󹤨S">Ȋ:#˲V.^vGRRp_#Q0㖏:G\IWxpZ[s/OCYFeIˈXvAtn*0:Mtb7=PeYY jrD4c1```D± kMn?(NU w}=(o0@u0 TU7Dסk[ZdFbjY Y46"wͧ-]ǸrJ|[ߪI %H@by\ve뮻O|o~.!Y*np J7#DQXр350F4E!#&=%%0[pz dzRTUǾnyPE288Sc3e1хZO:r0!6/ltZ< Ф>Qx|0{0֎YXrݾ0yZvh3;måg-Jn‚\⹮i( 5u'?G(" s$IRTBȊpq{Ҩ+ڇH% @QE$;I-W=BQTNuuyh o???^ys"@)8묳qFyX0>jc;aiKΚXja3Mnp[$J%k{O ܗmu̅q/_Hga8{mu,jɉ%-n|vrt w#%)lݪH/^߇HrC'<P49$M&DIH {MM($_XdEErZ#chpMMxd`5cW]vaǎXhѴ\0 @"0>l4g8s~Pu,Ⱥ%ͨv!̴k6V̇uF)" "ᾖXJ>-C T;DS++`ǎle&B5nI3Vn6@]x35}60镎rDA}>؜΢, -BBX Ȓ>quظq#~S:2@O?4ya">ـf Va`ZGe1hv0WOIU+>sUN/%g.}ց1iVXIXáhWmm#2]P__Gd55pun7.>:՗B ,az| tN5dYN'.8j 8+ց^w{GN\ԈU uf8 ˂aY2ʳ N|te{{G8DGϽwbkҦn/}p @ e9\1 nSJb7zA$I(ӱ&r8uU*IV65ah`_ /[oE]<4\a׾(n6T>X•mi V@e5  PE3Վ@ ? ؕd$D%7lhSm7H;HPfLX`9F`pDHxFLK*XC]ULeUUޜ x=ࣗ_}kxǧY $_ ]]]8|i8 bG>v¯ p"YF `Xʮ ^76#Lߎ$ 'O҂o_ݍ *xO4XJQDB!3( "]_/\ CJr_$[owߍ뮻_~\0 @$ n\vehooivE%8U?˲xS<E`0p-s|F,6N\H،ذl>LP:0כ -,˲93R2TdkH0 W]|}}p74__ir74/Ƴ>[nw%>\ I;@"~3/a">Uκ%͸cm=P7S( 8nW<틠Ɔ'2cYԹx,ϗzds@jQ\N_ 29fi9b4syBC!;S'f B L/mۆ@?>NjYO 8pE*ò%6M5V ci>S)* P $\c flT@ r]w矇3IXقe|NKbgQ)բƚ>a>I7 IDATC"<("{mWy--PC^WA (*HՊa Occn֭[qF}ש`|gO@書uuu~ bЉ yXi9v3fn= }7'7RX,E"u&1 tZ"F;ȳEf7}c^UtbuGVw4a674- fB?sV, Mϸٖ% BLFp6P F ,òH Qa@QhYx衇i&41_@PNn "VZł.o'äA )IA<5iiqM!h4weۋnNUQ2((qh( \&%IX<8){ۇ'&\;]ظ|>l඙r 8AI9ddpw{Ʉ梪nEcpEzGB4ģQ|>0m]בǑF᮰ f wCR>qu;wBA=0,a{8|0}]<0%TP$1mrZ S.>b0(n(m60eSI6 8" twl֔ s_Yٍ=~:!%g.,Z;=;Mty=䌘if ڂ6,d+p(`hppbHe%q$)Y GUԫRBDU8v躎T"ߏ. oF! 'ȃ>;w7AJ\V#ME!&>8) y6 o@$s"$!W&Ǐ6Fn?5M͉'G՚!(CL&ӿ <h,C ƽ5*MӰ9y((EOS\r%o}J@!Cp=n4 K[ܣ80nyla,1M6*pѪʞH N|b^|NxHdžV-Q`Y,m In4X"WS0[?[ -zΌ ,#088at@3 LV+rBD4D8t+Ʉkw}7 tttLٵ3 i"*D4k.ї PXX:JÈ A|8n]It 2.™'SuKJHb:\uq'!-XO1*usII7XbY;-4 X b"E!b1MӠru)B7Ɩ,Isk*JASղE45ESU e&eZ񱫮Bkk+^z饲@ P!xK@B50M"8HDP$ 9t{mKՀJ!Cup<_r:DɶgfBG c*N#ϖ]i,`,a`4suxAH}>p<_VTd4 v,36pڦ!2=uK*ޱ͹uaફC$1P\;`6][WM74%A 4B T@ww7-[k>?F>U̥g-ًƵm4B""I00l`X>" "`n;Ē|y~>P3OUUfX1!#<4YڑJ&DM}}EՐ%Q*S!!#`AS#FTEA+ۆ( 2FR/U|/2K $G [`X]">4,#H@Q<8GH^1,Zɱy9r aSt@4,655HE,Y W&O4 F#˘B,)dvƞA<^KDuX 2ˁtՃĬ{ ~X,ANE!F'3<o_KZUͺ%͸• = oO(jdNi&zB1CQd&,?0஫E} sRHXr̕΋i#kjDભV눭~zcYP۷gqƤ;P :PQh"]O<<Tx#H GNޡǵn(%slƒMfT9[0L7ݧRE"IlȞ UU xKRۏ]Ǽhb N. p o'Z(iRu5-'xx,AǷYͯJHf|06BfBpsה7w8I]7ߌz vL2w!ȶmݍ?xͷINѓ0uƽ/u+۱--WIx9\Ȓ r)3 k} j&4m%e .q>êSrܑ^<ŌZ &^ߏtj8 74~@QT:e (0\b;qxGxpgOy3 H$hoo_o|0D%sOkE?XJBRa8XCqD">ǼAwd`s@t$yAq)OcΝ8rLaaC0xַpI0.f$DdiAÌ Z_&VG$\."@~LSFG""@wyꄈF"&\?9Bd,&tUUsHzoS #l gy&~|_s%f bB'b/|>zI9axCaFF,F*1!0:@$蚆( auG~IJ jY \e.J#mWQ( ,?jix@4Q,?\r >x㍰OaCOSayplߝw t ၃tddTeƚ.ŀ..YpB_+#rCgE˚G!EA0@QTEb{֬Y[fEB T#ĄN dD"꫱yfc M`}g Vdcx$T , QP4 n 0 MӐFO0B]B#p  ܈醡i&8-*Ze C% gvP4Ϩ1HlZkv|x}Qr- k@@}{/9Ʉ<*DY"1wх:yB,AM|Ð% 9‘Ȓq@ۈ%)xp?+ivP`@RT #/ fȪ.oC+!bh =\fO qX_XwuQ'R&A<ݍ}^R<@Jw`ҖIp< ,Ae$b0b 1/>mX L&y\@Rk2~A@^5t>3Nʮ#+*7q ִذ8YQA3 < r?+56/<$@B$|[²ŋq/ dU=F"+F7Hx<7Lg @:el,jò33>%BV#\c1V#O kX:`oD-8 # &0tVT '|aۋO牐J[_*z!?#<ѧs 9ao|<&DL"T7 L%3BYSMN 1 |Jgm+,] .bY,kAtȏu?ˠUQ cX6?R,`UсX✑=,@aoQ%V,^qy?)~?R s~lݺvjjjp >g8 ~ᯬdQtP03J /is܇'J[֭]n [n@f/0 wZ9}AU,Գ;>w ,h6ݎڦ/MU1{ʥf65j#c7FJ(Q఺6(o0Q%6r%,"%p,/j㫚V:" #n:9GXꁦi!H@UU]#@1 |A| _V@&0'ٲe f3n\@.G;p<F\pOMXl6f XɌܖ% lR>Dwߜ'%zpIc3͸'ifZ:5A,n.=IaYxAQj 0ҟxJ9V,MۃHj*ږ~zL&lٲ[n9 i"9m6|߀fHP썹l Srf(d&B6Q,FM<"~UOEp88maKu( x4 ٍn,h'D4|x d +}7S jœi_ (6ӧD#lg_1ިDC! fZ2&ݞxU0lmlDmc#t]G"si8bpח{U I%' G$pX9Nw g a0*JYc:M0 <>{r|rݒq[uJ/G~4 =ظO LD۷oe]Z´`I ۯ# eY<3*y躎d,V+aX`X`Z!IRZr!d<XmK״IVx$DՎlΎ&Dis %nhQuG|qfd8o\zؾ}M LBSܹ>_@xH L;[V7ʇ$`Y-1Wc&xf @E`Zg/$#a eyY,W=00g~W) hz@:בS)Q Ӂng7.`8;Zr\FlY QS :ie Xޖ^oQ erBq 7.{gUVt@aN}v444`ӦMxqź%x=PT҆EZ\͕ϣR.הZlq#b<˄H݊ykjr\IPz,] gY&`T2h01 1RMFt ]YFkm:b$.?bEEhxд+8EP8cAe,͆zl߾?Ou\a: -X9C*£>͛7eYPH8m!$TW8O]G"SYF"i0Y,eG)ʈ…eaXr/A( $8M{T=Jڱ1Y,0L5 X,WPUOeh,aEޑ~xU˗cxGJ T@sBŋT"BSúf96x(WlH&Ocŗdm_iAl%51*j ].H{Mzr$ ,3Z,#;Y$G  IDATtC"IowG$#Ub0LGQԈX@:uKUQ5 0 >Y+WD0\s5c>.0B3l۶ {..\ŚM| )c]g36t*1\Kj-4$qdF#W.*!-R²,ؼv7UQ>Ԥ esך<__TUL@龮i9A* pdIB$,I`HL1ihM0 !II*jN"E4jkˮ/+*><^y$Eo( t&s9ضm œ /"BV )<_xJUuJ)%D7-F2& HV#&ӢoW-&RwUQN0 !/1]UՓˁe%GS\ 03] e&ryPr9DYSÕ:t un1o޼ @ ! yf\uU?5c:o{0eHmˊIsY# rȒD,9e8iLò,*&a%0e,zvtMCryjvw}&Wn2*#FJhnnl#<{gJϏ@DNy4M?k?NW'|B2&F57Mx[YF 2^JAR8PUEH08*`0\EP$Y>|z^/\S8OV, gݚ5k㮻(& "@D, 4<IJ Ttx}eNj?( _=z)gP%,)c=EQ>Zsah5bB'L=ol6VpD&f K%S$19/ \$$DT f,ϸy80 MU$aٜR,愈(uG$n5Rc3ڏ,? ü @ 0k*5 R*uUÁ~T瞋K.۷o'PU,)ᅬ;w/Z|--2zVc²V A%>$vI36,mLH)/ (%Ib^b*v 8Q1[0[, LVk٬j$p{6a7--۽tόN2KsqsrrAr W3$$Mҳ=e݋mKeˋEsQ2))q@X*YOOǾSb&?Fz~jp4s@"o|MQcOp宮 ځa |aYb6#ZgNL0=XX+;F$>44%ɻٶ=£Bdz5|K%g*z$p!218m^ x<-[(HEQӟqj~M!||NgO <~p7 k)H=~\f6Fnnn29eVALDc) Fn|VsPT Y!/~l6 צ R*-5$B0* (Qe0b##\۶?ĽmF`$ɣZ:V ~ԛ*iGI^[DWU L/hvW_}^՟6alu{׊rdǖ-5ؖUw`5eUaZ6o.!'?IVE!Bl(lƿ˿{"oU.E\]35ۯsG|1}4 Z L(eT]ӚF!>:J5yޞD51/"k.⍇!a Ek|F[XE,lX):~~nMwݴWA._}{g5O ĆsWFkbvn֝zō/-:WQ۶Ns&E"{4d#`躗tY\ʘÉ{>N֌bTշl0 th#[4y`B pzw;wƍ{S bCq<7xK! ڀa$A. r qpȪ57:4Qj=xUVL,">22UzygΜRM`ӧOW_E(ad'C۱{@e fzFllL(^eWD؏G@ z\0LrRyeoGh鹥5=gvcOh;EWUɕ֏@0iEHB 2T_۱BXEP4,Tm@p'+ TB$o7@ ]G>^w9_o T cl/*n"f3xPaY |k_##:WH{^_nlH >xDIG4 b (F'&`V"B^.7|Rt3t]`tbn*`E=SPh/@S&r=0 w9Aǡ "{cC!~5X/.4o6N:sAƃ!x`FO0LJ"#518b,BxۛETEYsBS|>Q4Zy0 U i|I[LTw7e7:u a KlN>ݻwc38HN݅lO /چ]cѶFah#( &R(xf~UQUn*J< b3Cze:;(Pe#6xAU5) ~wndi<ˢzۡ'^`Y6]t1vڅӧOfWG$@ ™3gp)|>|2C^ډ;YgQV8ҡ9Ş-1$] GGK2rx*hԋl,vjjjCSUp<]y.wͼ(l"(u Q$Dy͝mDPql#dUG|k׮oobY!3{cxn5?!ϣX( 6j 7A,,Z4 )aP @mEȧ`y?m/!w>G[37h8C$: /_ǟ4?y~֩Sӟm=  bz*{ R tKxVpb P _% r]^OxxD(""xQ\S\*TP4Umې+G`0ÎK1/X_ ~PW?XE R.#4Mpel݄6r $~MMO8^F Y(kZN??ڵkxbAjN> QkvDAZp]aO؇h1Fb>F"kTIhU_^ĸi:a /8G=ja*""k nlHa~ ˇm,7^<#ӧO!z b9s twAMD'jx6LCTt <&9Mea1-y}|eV C2ę3gH=1>}'N0_{U_>_^igfubs yf[PZhy,дWizCeQkP$nC*TӣYX;UWhhT򄈦0 pijq n%61~߿ A^q->b?TeBDEOi:S ]! 5lClט*E<5qЅ ~|v+niZxvD lz\#@\~8qN> b(rx"~.\M75!xp~}>G$6+W0bsU' U?{bd n>ku Ӳ_n[5"ƅYN %gϞeY-?^8dG3%hzfbZzeYvP||B 6AYCA?3Nm\-jOw!,^< 5`6>U_:u eٳ=^Y 1\x۷oǞ={V=[!ZB)`[Wn~X;*Y4rh6(ķ$IP5_ᯎmSx,B.zÎC׆aJ@gUW"A.U׵w^l߾/^w-4!i>|:~ Ëb-$a;??A"*z{ 9Y!q>B9E <+8,ǡ$IM?[I&õA>Aa&!uۮ|*OX9Tft۲4ˈOløl"$8=6 xyr;.B~' HHHNS4?r9\ JFA״? ʚ;]y IDATDw2MnZ!=[w!^:qn֒|Cե™3g$b@:t]ǭ[ C`*Eߵ#̸H<ޱTNFTV]nY ^K.`Y`1De$ b PN{zT@{]7S E,.zƇ7G|$WfW}/o|y<g RËWnbrrO]Y#@:nݺ0055UwCY\/xo.݂QUc-T&!:R>m[M( 熔% 2\+wv YrEB!ȥXEr|gcfH2±XMW(xvDSUR)ȥ¦ːyD8M* "$94Q.mnR |=5 ㇶ7}gqd e7͗la}6&'':b@:fffyW<c`ߊ\o_Scp`XƇӟށnZwP;1|<*x| c&˲P绞j6 |&XÈiśK`6crr2 nB:>"ottsŐ"+xN< b YK2bA;cQ VDŶ?QQa.-!NC(k*"m璋E~?-@,Z~T(PK%ض@]\ᶑMQjDF_ڌ\a:L@|ttϭEd`cZ ]wb qb(dD:!m۸xQE ")\zϫ#6$@¶m./˓;K`7_:S#1T(ͧVZbBdHIg25 #[r tMPe F"eWW.p;>v$fUZZ .P*5Ul{ Pض|%0M t뉏0  `TEYs0,뉝NY~c^< Ig?mCF 'DCE/姶-SWiVG5)Y Yn: ¬ cymkuz*4xAZxA˲W!yzFmt!BA2ݿ^n8I#l<  bp{S]բ[ߏ_^ BtRA PEEY5Րe"4E+aj~x6u_ibbPA+BXmXl}Osl!Bt P1== Ago^Crl >tdOoGR ^5mA-3@$ ~ԣ,IЫY# P,y&a"@܄,|>H\: \F8|ɹ"Bt]A^)NjMU|.5ZٍLBfX!qm U7n,'X_]mۻw/A4N8 P133C8{p=?zl>]t|f7^< sKsy DGٷ5[[wŕr&Tw;[IC״bu#xӊW axkvj0,@(G6^6Aݲm||!z~?) :4*Iǟ{6'^XGLto=G*Drwo_ʶf#gx r%jqw1@r||EU=TEAfq:T!}$nor|X !"] ]G x=,|ܟɧM[Vu-۩X6On!&&199I@CbƟٟؾ{V,/JV.B,[OoTtc~YlMHd(ih]Y ?YF0gW@r ˂a].8qeaU)A!rQQ!I+g5>bmuj=pUC!&"b4EzZ:E\lۮmbYFF~bW pC?W~yeF.CC.W&w`ykR(dG8 b=\]hZ)I7 5s=""l˪=Ym)w9b*a0FbNyA" JH."8_W[Ext:E#dqod/m9lQ b à$I`;y2LNNJFl. <%TNW#r7'G,s+J\c[s]!zq= R.)ja:ѩGwI n?xrE Rz۩q5-;hb`@To\Q'0*9A5 lߏ t+/r7p!BR.Na& xQ\QU~1۟P(]v*$@affe)m;GG׿*s#<{{~go /?ԩjYVl4UmEHF"_B֔-tL 8G4\*uŞY 4Ķ,ȥRMEM|zqV}]LNNR UHC4o>^M 1:G.rU䑽0,Uhĝlq;ǚh BYc[\*ArT\u|ՇC{"521䥋[aJҠ ccތb>3<VA6 `jj կ$bC TUŝ;wVЛ*gS)ZjK~c?1 t.߅FXDxW0("S1]c9VDabw4W jZiZ% a(i⪢@U\K5* 3:w": LۯQ`:8ؒ\UiX_=*?ңG:Lӄ=/:۠Wm}??B4;L '$@֭[0Mno+HlMT-Y^Urx]j"z;3d$l(@ bR.\}7fx۲K8a[*Nmt*<R<K| 6l.⚢uU\*!ImFL@>AX$a޽+O6pt7ONN4Mܺu   b(p{Q*@G.j뱑xi$p辺^ Uy_D"ܰza'+!r4VV([cUbQ~TPzuֆ-AR 9\^WDSUXx#V& %^˘i=ib9;/Wv!i"JAe$m; 9Xb4x$$@P( KJĊȥӰ-r9X OdgcO@Սu}&8stqfW 7l[(y6-[ UB#mXƶmXҴVTӆ&'U!(6tm5}4"Xnr,˂\,6Uyk$|>( - HC$Itb!2R6 ˲K&sR!rHڒr9aE?^G(ܐDMݙU_+(Hli\nFhUN`$n0~إ,^bY{ov.|Եu HҐ b(YDKR4l"^q~ ٢RTW[mErW)DT!T(@WUdS)T蚆b5/~ᄀiAw8|@I| ݚ5cVeoeY Bt P`-wuG.rccr9DI2nhwJYJ㌄Ixj(vUty}g>GO,frX԰Qs[mFuBrro1麏J;SoEPlT (-H4UEI*AldċB4 bd]ӐKxaD2 !A ' ]_<L|kmU,˂ab vb>e t }>0 (o+j" b(hTyu \u{V6* Yq燜y@ nL/Ă'@gquך]avI/yVm 85 ]UF yP$^FmIr!pxqkmV}]]Du`pM4fKX<*گ݅1 $*oSr+>d8t:Z|f7~҉2 BYŸ;Cq]ᷟޮD ‘2-DJ3 ⣣^Ј,!Dp!c"TccF k,0, |`/EBjİFRaO8ՂP41[1t%y'ֹ+g20tF40 (2(*a/0TA[4  X\*Usi*Ba2\*adK&2UK&aO n3VyX2%ath/?6G:_߈Gb:(>D"! b(hӻۮ~0ڦr4 ,"UUUoлW }$[{rWby]Ækt/0 FU=UQjR"GM.\Wz Q˲G5wɚiBt  P8ڴ׫n*>麏g2 Lf0|&HqEF2-ݲmD , Ϸ11w) :̮ >W]Ub])7c}MUUMD@sU}q(܋~Et ^} .NݻcejIK$PA!ZlFt$h"A1@_ßk1s4:|)Si^Rوb>߶!0 [Vu˩n"NCx7,>^ jdds-]B7J7H ڤe ռuĂ#RlơǵUA<HyMUaz(KPbCס2##-M@>(:]ՁLD7˵#IX}=-34ʶg2-'_E HSh! aw6mjGIn3i^ְa:4JBiXa8UU^Ņ$>0 U@@b) FqJjU3b##+Z#b##O n(&b3V^<ZWQioy`QlGIujjD!B <$BkA,8iTLtDir]Hhzbx UCSΫTBaͳ~>T]<T?JWc|J$ H[qjW EH:ԩr7 IDAT 6%;Fs{:|nn;'Ȱdq<Š:ӺXGuh D B <+ _;_GFM4[m2 aթ >6Gq1?d-XB{N+> Bo"ZZnAx BXEiب{WOhsGsx66vx'DȳP4Gy}Mࢩ*bIjcrAꇡPd\I+BW} %I*)ZO^o# I]1tTKl83&j"D$ɀ帶HIV_pԂEt ^}q |f7H%(d-oxCQV_>-+w(#a[2PMFFq[%NCSU蚆x29t-W.{? 0Xsp db#-BY,ۻix^4 H ]o Ip~* D7!B <gv;U˪Њ"Jy߼ [,^Mϣ4 zt?Alt [*`>H@(G2\w\F3c9˫.>>kC d+"nYED5b9T! bY^qɥR}ЊfǍm) `.ŨTc}o~~7b>_wۖ;keQ qx\]%j MH H[M$: ART|z1 b(#/ck2B+Yq[ ](UNNUC:1 u5P&$@' awl(jHs^rfD"$E|zk%>v]#!ȥ4EZ5j&_1umź HaVM$@x|>"W 4ӸBn>̐!65sRdj ]o{/d xQ hVHCA$* :Yjjc'IMU`&ˢa6B.TG/g*D,dz{8`4 "Q*:^e!V"I?A >V,"H|_,P + kz|$lZ}7j"6-"gcT=!" | \vZATo!Eĝ-;V?Ⱥr^|h 7QkB'n@ "k5!lțwa4(PVk]=Z[*K?OoC4x1۲ D) xAoʇK<3EX\e—0T+^ƪHmI@ W@KxaMT]ȑ!6 ](P^'Dx6̥ x]knN T! y@B GN  yTl3of8ݰ< D7 1<^ځw Bl s%L}8CEa5?/C=Qݰl*x?1K[38o .Y6:$@nBb(p[lJ>C$`ff+!yuj'⡍k%js%|4=ۏzEL$ե[8m\[ xxDHW˲8p@BlPHC(طowU##87ϫ"Z8Ubd$Ғ~^4(ûzx$~]\" bh{M[BDY̕pg~ X`[G D B!)* qxWp'oij" bh$"ЉM<]{#TI5mU "ccH!>: 1iM.P׼2 JXxKE SSSwJB^~ Gsȕ~/ MQPgdre,4bߧ UB ՘7nx>p=GAtNaEqAuZܛgjĂ"CZ腲_ T! bhp ]}7%16)\_ݵ_}~$ǝ*clbi@, Mb"죞󸟱$@nB-X111ђ$p,F Gr {a @מ~o݃bA)ǃ8>X+333غu+bXBl`HCEukύDžc1rAt7}kˎ+|(0!X? 2d|&w)>ԂE SSS^;o M=J"6'M$ ޓ^0P.W=eYa6VC χ&fffH]1TLNNƍ0 v?DCDf)ؔ nMUk U ^C iPetZ<ٽC0p ]1TLMMA4yx7,j~5b}9T͆ћߞ֬0PRRR*l+! qY;Vs>aQD$fIޓupa_рu֍G>Tj599Pk4=2 h[P$*mQհ`2p_=}eA6tڿ?f3> s ԧ( 7.1><(MژS n8jkaCnA I{ng sdhZdY,$fA@oJFBFFS>[Q+Fax `Y8pƍ+1P*θ?(~$aQsW}w3 ӃJrwE#dTi8Y,W7疘́FP(pK?B}NjQ[ۢFj+#IORöJ} @Z,KLuź!Q!i\DH}rPSSįo?TɣKx$,Ԝ-ߝ@eh$a%DRAo4vހՑx8pωIR%,c:R7UWWvBOg8"u] E; s ਭ)+ ‡iܢP¾uATj54:PH)M kZHM; #R4@Տun|$rz?U I>E-x+T"bҜϏs5*iZl%+ @5jT*ߏӧmSVuu0fe1@8ʟ.e*V kaň/@¢{M @o4&@"0N'tCz P h huD$xNVRyFsFAU'5'Jȑ#> >GVcԨQL9Ӛy8T:ә[ h3PKNcQTju! @VÔxFDQWJmZO6qx#~Wu:s[?Jv&%ˠyir,`PrV@O7n\&ͼ} XALe ojZ5kzab}؂E4Z-4Zm_".&SH>h-+j@c$ުDj+m\N1Ź-ZץFfX%-Q;#pÌK?<+5 '?J?>U8u0f3H3]"ޮQ[Qhˊ_7heٹ Ih$^7Đl)'''OƆ ?ZL}{`jw anALىm~gͥՁrV?2ҳi2&|4V4DHeY0ɲX sah%ɲXF"{<ɁJ r[N'[ͼ6l)S4C@Ϛ={66n܈X,mktvUnAP(p^S3lfa98gDf.W>G$L{|63 h4Dnp \nͥΈ ߝ$aƍ={GYfnc׮]=Ab%+F0$?s~BfYSvvw4t^ZWMV™CU+mW1wdk.8̚5K[Ϛ6mF#֯_I&bx`HƫYκ:444 A跷e8UDcxa:VcE=ê==j|(J @WR4` i'&,6<Z܂JzI5NamW g~VY~=F#N*Qha,FK/41rF:eog-P8jkaFC_A ω!ZTYU$>EfqC%f2VCaipﷂuj\1l  ?ފ 6`4! ԧ͚5 } ~2 ՝Jv{SVV_T8sp[/6#Fۼb7SjIQB NBP]^2#8P^c`kp'hG石zigφ(/Zm$[P `BD$JA:lUR4 ǓxC!Rᬫk6gGH91*MסUpƐߵ_}Eigy&@Nh7WAtuQߠR^7ݤhb^ z@ Nu1@Aa#hਭR10s}=Z S[a|φׯ_͆38CB}BYq-:l=)~Ĉ_H8jثv8Z۪̊Nχ p;WV+*G&(4֊c֬Ya:f͚o;bAZzV,ᨭD(/ˀAYr#cHMs'J Ƭ++MK ݼX g ɗi! ̘8vɂ7nln=X;U5N&t'd%ykrHvËr0iMcdH8x%^ K` FlJe #8X!tZsFag?Z%dBr`>gqF:s淺تX۳ G8\G]Z2͍Aasケ%kBh`2E7p9毮޺ sI`iH:#u_]R>N8%>nh|WF$ evl+ć;2Pܱyذav8Տh8 ǓR?|Kz-nh<.4fCsbDByv~>\vQbH܄NٳtR9rFj}3E@9{X>]ߒUG>! r`2QT-;h4Q:oJ8Y IDATUPPEHQalIc24%ѩ7$`vo0ϙ>'O]  ^z)T*֯_n+!P>\7m55foR(`0ŭ"vD$i#.>Sk49V)p$ ~H> vBذh_KA]YAfsN;s櫔?g&[~=T*.B[_0͘:uj:sƴ{uZ;1Dt+#4x5/h4 17\y<N` Gmm$A -]n*9I_vʮU?Ɣ'Fٶ.A9c~zL6 fY#BƬYi&H/~yrp^Ž 9Դ]l^B)Q& B8y(&f=Slڿ8]zUT qS`ƌP%Q2{l~?In{G4~`4RЛLhŠnJ(Z M;ՏۍiUT{. JR$*FC4I+ޚ%ETkzVZmZTT5ΰؽE8Ta֭_*Qhc~e֬YD"زe JLooo*1ᨩI[˔P7dpGeCg0<#1j!0[,>7ͤd5BR!hZd"&IjꮠŎÕ.bDjgD4n>ŴGNB زe "Iv}GDm;v,FUV]qIT r?4: f3ݸ-Z$)m#qʉ+{sizl^<fjPκ:}>HhbXy W@͆ܦ۩5}>b1G@BKڟĞ"l/ՏWVˆ#0fD+ ԯ( zӟ%Kty}u5FG8e^t6VC>ZMqٹ\`t$Im%9׋~=~#ٱBUG'uqg H{}zh sxC?[ J P(vM</lO@`[YePDV1"a.m[dJyW\˗+>O ,_~qO!k@C YχА2H[.7Ӏwʁe3 ^nHe=-^bT(&Aonًn;ԃuV,X@`~jΜ9/ 8{dARmXb?"R yEEpԤ55jIR]FxŤ܄NO@¡Pګ $AdJo]eFTY#/#77^{G"BVM7݄+V 06RћL0 o "}͑*' ʈ6R*jH$ @ ̇ TJ?9 nfheBnv>H#4 Ja`2!fC~qqWi#s%hk:OV Lrʁ;3c;4:r8D jsz;7|׫CVa-)vΨƔt<[WQ@ߚ8q"&M^z pVmX?߇HS:8ƬȫQ3ؖ ݕ! *+ᨭv_[MVa(T\$6._(UݥS0([;V)1XMyWV1o?rZRUUC]*y{!9n"r:r=yh4NT`2A5cǣs5U?9N N^dj]<on+DrJnV~^:+C AUUx6۰B`JכոpT=B̟U!K^-ğ ~7it:#U;V/aQ9'֫8_(+%]eI+1"zN`Xj~?ϟ/QڤhȤ|zٳ!"lقlŞՈ%F[ ~ ( f:آVMϽ =MQc3bФi˴녳.:zj#.^۪|.W!IpS*0%<bUbG~vZsGG'1un?&gx^,ڤDoǍ7ވ2ixE,OLf3é#G`-*RD#@CC{AEE~^SER'"`͂ ƖvC `-,L۳uz=l=#Pu/X/.rA vޑ:wGX̺GV*1ed~x7>Q؂Eu]ÒF/~=f9;v8tF#55΂ZX(j+ֱĈrU^x JF4ECXޘh$ b(R },H\|CF!6]kV1[(,L]ł9s}$v1ЀpM7aŊFiPFl*%m-l$b ҍWjH#X |;_k$^A?Jx]E$x].\.srPP\bd7nhMWFHIsԗuIpǪg`Q+)Xbn&zpn@h@Y`Guy6 &Ьzw"~UV"&Bt$tog Zјq7G:ל$I-Gv -U9yyIoˏwq;e1pZ^ݼ}Scۇ~jBʤIp9`C j:ThqV10,+!N!֢"~|7 #ǚ/ͥ Di3PPRӸiZ#+77mk. ^] ˅p(rbXGĈ=xo_! ˗sŹ+:B΂ {󯞚T۟mц~Ӏ>reu* ALj/IM_@Y;i#v{_+AP`̐|͓HDbjo3<ǃWO:oT9a/ H\<^x].;X>h-*JtU_߭**Sn:wҁ>FjCn/5Lf$(FPՏd~=Q)qggw܁j#J'~a~,Y0fHWeoolk,~?MVCz(R[A+@F噒ԸiޣmW U퇫QW?ŋ}$0Ѐ4h 3<XQ%W.G%{KpmXD@(How+@ǂG\ӇJnJp_~iWJJJ>QR@hz衇F)t-{nZuuSU󶬎Z]j:^j58OD}Դ#wX)A\.htoLD-\1CvMHpŽҞ8cX׏g?Fdz>p8|P#%M%RTT_Xx1.\[G_17G786N9aàHb-yEEjh (yN(QJj=nWoC3eТ0#ώaDFwx! X@,3<Ǽ٬ 3Z,$*Sv6xwJҖa9$VFD]ScD^5䶂'#$"HmÇ9'z8jkUP k0~VӇW6=|4&|7}0ЀVPP{K.E]]FOJޣ5.Hldnx].bVo04.(L!̙:ƞ٦LD Jl=#Uݟ׈/!nvQ"|ݍU\hz$J¡P$ /̀aF[Ϧ J,]{/>QJ@ho~A?^3-+y;fA@򊊐ZyEEpÒg7%] shN9C` DNu!Bx(()A^Qtpz6uV‰o7AT8D)cjbѢExP]]QIVAUWUAdSVOs fQj $"R4P (BTv4<*d:ՠs=݌0h?]3-oQIFli؆Eԃ<i A)xx].WWC `XZU?zSL P]΃'e;@Uplzt:w}rK@X,ryxXIe)a{`~kt:( weC|TZT3[Az5|$ aQD,kBFEUU-FX vRPo~}$.a!jpBFnA@upG4A]UTjuJfQQ8hPUh$P AL Pz|sg"@V7d2{8D]B$++ ol28q#KRYȳp^VT@$!t"&I0ggCHa!ۨhtPP zwx%999xꩧpAxWg*L[{TB cV^NO78?U Q G$;h8஻8DBԌd~;8z(F%]/.FDB  R9;ZjlPvNwqaG!DFq:QS^g]]!$@7\"(FP}K)(`Bxd2}$na!:͝w Պ'|`-04UVL.MGG׉zΡ ;>~v<.^/tBHB {Z&+D%(Fpۯd7'_J#ui z!+(++m?k9'%%] v"MmRsҁ_EEY  %?hǯu;b=>#pYWrj'Ç̴5.+W⡇Ȩc!j/K' /vX9QkVO醪dWW#u뛲 y\PED-B8n@h0L)/O|O^+)/GCAc*^~ÇËx'`_B#Qt:yؿ? ev:9LSVQA11EPbG[-W@cC$ &uiz|GsA1cNT;9!7F Fd7#<|?(ՌM(b̘1:u*z-,_%A,2bue1a,mZH|{OֱMi 1IB8F4F4iU);q#s( -+FXDi Q;Z-~ƞ={pWAdG UU9u R4Ň7\47` @pZ#&I^ ӨqP#VZG}z>|8}Q0[dz pnCVؽD%*: Q t=Hh6#&IÉயG$iQ8^B ۮ2RP`͊G}#F>QZ1u@V֮]kk/N=YpfG^;Y'B \8ݨ9uq}z-BQ"`ݺuxꩧVsN̝;W_}5N\. - r΃"|n7TkNūĚu_ XDiL5T3(J55jxNL1yfN\s5;wG"J;N( <|oۯcBNy=8+Ik$#"wڎ5u )ŰUʴ:ˀ,^ka! *k IDATB~?٭*߷^;(%wo\ ߏGv'Q?xqƁZ^dY4?5ۂg!U_ /a|:g:zKY[;!1Q8x0 n1 Gp֍zAtZ X|9`РArG^$b1̜9NBii)ظ e'k۽g#!l>C!?B4EmK}G@DkLW? ֬\ G4JAYCbƍiΝ(w6QAePYYG}w\{Qm mXnUE%fCQ,L(3UiTA JQUUe˖1|PD)=z4x ,^_}Zڝrκz| R4l6-Y\3gCDr"{r@cc; f$@U%K'ĨQ>Qb Q(N`0;wbGqd-^j]ƍRx;V8mP5T9xMXD8wd~xxY G)(0fSߎ~)zQI&%J톐gL\ث*aɁ`R_UE<,^6Ċ' HPZGS ,bG Ν;mkI$Q?,.jX|9v؁%K9A\+ڊuKӆlPظ ހ㟏Z*={A1Su퇪` : u͘+fL ;6<$ע;w.-[&dB&. gq;<[/p܎]48+o7`L)(0jP>־GܹCNN"QY_=x ?6oa)^!Qo""eumpc޼yXf ̙#dp4sPfxuS)cԥDDuJAYýދs2|ЀBfK.E,âE9aԠ6CHӗh "U,1vx+bXtG"K!JB,^:֭[_w1mXGb pקm9O/e(SZo,YD$;p7k-܂Cfj h4mU#fVBd(D7ϟ9sছnHDCD=v . ꫯ֦R.ku+fNH[.UBJz7?+8ND۔AV _}e>QfGzHvv6֮] |͸ ۜY`SDV۱ƔXY !"EJA+ֿQUUk2|5Jzرco?$y1Ҽ n!"(w?W]uG"8NZy{nr-غu+@yZ&& w(:ɍ{s~;D8NK~?."x<l۶ l?Bnl"FYBunZIDDS 5s7_`0},,^b4fx^̝; 徎W6jg"Dn׹t*gzf0aÆaժUO0ܪ<8 IF'v "){[lի1tPD@zӱxbs#۸7Bbkj EI=GpƅjN^ٸN_' ""Bc=[ŋK/HD3 D2hhhw܁^{ [lpyiȲXPt>=8\`QS Z<ؽ曱lٲ&@d""O'Obx#%}گQ щ< ϨC͛նDDH&Zn+'ll{(j+F,KzĚes"d x?A~B$#͆wy;vwߍlS @3([.CQ lx{[lrOw'D2 /_T#KZ=Xm8$=AHnq6,&]KDDQ |7^xSLHD}Q[pB,\csV!d8Ԋdͥ8\Dˏ/"tQ SX`ѢE?G"8N!( bh)h9>ɦW75)[E)hx;1qD|ᇝ@BA1ydX,|XNm'4HQ(U6|\GBB)o?n۶mjXD}[2H^^֮]o/v,?GmmC?9ldQm0:Q)#Kq!]შX;$0&L+Ɵ'/ZTB ۊaD›gNHKq"T᭷իqg},>O?.!38= ~wlA1}C 3p١7 (>oB=pEuID\U>_,^vG"X!P .,Z0kUwh )PvՓ`ņ]{=tb"CP(ɺױxğD}l '` .ŋ?Ǿ~ËZ݀WTADA@ D=(%B!I䉈:"(ؽy5>b 1nH&|x>137c1DdB(lǺyd!"jED}̒%Kh"<~58VYbQŤÅC8{p6Aߛ&"XQA*!^0_ɊvQ#V>z%ꃚ_hQ _[X2j5Tj%"H QQ?ܬ\(*DQ(D;VQzOщhW>>zg@fB4ȲX!M8Zd!H^!㒹L- ";~atB|g3'`C  D-XDHGX/E(hBJqXDԏ1|e?܇ :u*, }Q9,ǟ/` -FQ{u5T** &/zxu/+ D~(J|5j'\2HyX!ꇚWBQg JY PX`RlT.JiBMLBOCc="Ο D$ŸAy QUJfM^} e:=Q۔NpT} 6|(ð[z5ϟcwG;OHE]ͱ2QaOJ|R`DOСCXbn^>%uh(--Ŝ9szjt([|XCe UAeV)\b0Xv->^<%% &Lm0a̚5 lW/FmUUE@㞐\&"J6i}N~ŏߗ3(31 yyy裏p]wƶl(Vl ҈U-BIi՞EDjvۮ$ [׽7-=܃>VOHDb կ0i$C?hqy8tolr$އ(SN|:V^xϗHD o_u&bDhA( <{<2Q '7Z5}]L2E#Q؂E4@M2۷oǐ!C̣dP q7V;Q[Y 142hَEDS G1n(l߾შahEwu/_EaEsp )րM. T %+v,N 6-"6EC n|=Z"0saѢE>}:>x‰q8 I ^ݼ'r1$/} '=Q?8o7/^_-'>?l- GPiNTB -Fka-(FMs#䏑OGgHU'?XTĪU0}tDD]BD-?~_=:lc΅?(B5&ҸĠX o"8w}1Ə5k`СrZ X`z-<(>gU[[.wc8\EbVCڢЪUį h?WܹsK/`0xJ"J"jSCC?~̾.tk֣T9B'BD)+5s' F >]7~i< '@C׿0o<{CTmF n3dw 5.?kŎr۲(eJA.#|n^u\uUr҈:uA̙3Xbj8\^",fj(jd: *P8+zRP_u>Gl6]cƌXDf Dۍcڵ1yvr2s6>k&,a*>(6 gvU+*rh@lu|e=̙+V ;;[cQ`!544^… !Jƞߪg3'jLF^ٸ"48R~K,y8Aԏ1Qjkkq=5\~nll} 3& '{3|Q _}sbҥ(((XD@֬Y_s0|EY5*RFbQЀ}lƦw,<3g"^BDr˗/1wQ0n19S H*|f9wq ''GcQ/b!ظq#~󟣪 ?vr9+Dha`{˖-e]&H D6~dg 01 pp,ZO>$F""0o΃?eEAAE-\JB}~8ӌq,ƚ)m_ $\sA\ ` HvOE ey>f x8}y9rrrl29-^r;ANSr"b;GM6iƌ  ._^ׯW\\n %Bܡ- ]Vk׮  .Ciٲeڷoަo D~֢מkʔ)JOO=^p9N Zn.rݜ? ALEq73u5z'ce)))eە(U)ÇJJJƍ5j(w"@Xr7#<-YG%I}f,2?|]=Z|l6GЋ ZbKj%r5D==rg`ތڿ{]wuz4|pw @i裏ѣ[5!&1!\j9 U:snN#GԓO>o]a{4}[oWEEf&-ԕHeDݩJvnSTT֭[{W^^^ @C5Z[[i&=:q℮Xn!&5Uجٺc)--M @EukѬy5aNu/D~x|Er*,4Tk׮/___w#@ZgϞիgyFuuuf7z_TT1gPIeCc}d~C;3Ձ_2??=CZr=~?/˥ob3B\.SO5L .-MhOöUViժU>_j2 } W M3~˫ZUz0GwoUyquw+--M&M=0477O>Qzz233秸+gi 7fU^YE.S:΁f L7ӹ͹g9LTTSp{ЮL9TsSRRRoQ=Vyyz-*++SdT&')~]q/;S^yGg%FpYWyz\jQ1ut6ZŕbC2:. ?7:&ņ+uzƹ:#)*kc]?U+&&FK.}ݧKRVVӵe9NŎqewq^Q*0XEftL󼏻߮\t NJNA!bEGgptvR6ûTzxκ%NIDAT<==d)99Y6ۅ5 z3qi{JOO׾}2D7K W%+yd iJ!egဎ_lفŚ0B^T3+G/>EکzC )Ӕ *NiˎBΪ0G~5e;Tpp?pAVmm[PdT]%%D ո0IҖ+85?]b;LS$04+l׶$I&ƨeʞW;>Zs'\©4egWVv@~UHH-]T'Nt# ---ϔoF>=q}H]$Il?QC$FR&Q]-QzyꚱQn+R^qOѧI-RZZRSS1G ]=zTbLԽܠ%5O] C*ԡ$uƈ>FD'8Nښݹjkkȑ#.(1bK4M9eff*##CYYY:s3Ai4qdx}HD{{ikvvQKKûcp `14UPP eddnQA;Vc:]z:egg+77W*,,TIIN$) 0P UHpEjȰH 2L6]U슊-VNqIiQ0B(G~=Ljԏee:R\#Gǿb9U__/IѣM6M4h>M***Raay $//oE 蘑 f 0̿Z2%}uNH/(GIG!GIJJK*I 슌scccW}i sĉ]EEEu\{Y0MSNرc]EDDnhDDD%S***`դT$)00P]bMTSSΜ9544t}Njs_OllϩSK 0DGX fu+~”QFqQ8rvbW*$u{e;)`0p ,C 2 ,C 2 ,C 2 ,C 2 ,C 2 ,C 2 ,C 2 ,C 2 ,C 2 ,C 2 ,C 2 ,C 2 ,C 2 ,C 2 ,X*eLwIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_web_services/wmts.png0000644001374000021030000017611312520135745030263 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxWwoL&` AL`d8ך}{{9^m֌DZ)$A 9a/h|]U/p0/IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII>> @JJ z݇RB:;;)((x݇!""""Oѡ@_5 NEDDDD$a@DDDDD$a@DDDDD$a@DDDDD$a@DDDDD$a@DDDDD$a@DDDDD$a4K!ҏADDE)H omBf,Gwaؾj t+Ͻu`+/+nph O/JF#vFcl+щ Z{3r~sWDDUSqݻ"~>/c'6c 3uFy{{Wp0O}2LF0q+/]xGG0vwƬϵʕK/60oP'q:|y%a [WXXX`﷪x\nSK..9c=t0Lzu K>?JN/@`y^hv.R⟞qOIY\p(0RzpCr YYYsD_SP\9%[xwk1?e[>Sr>63n; z<8/CwWD_m?z*kWtyo_c\:?tܹw$#?ձ/oM,.bh>Y|^r6{fY߹}^c' ޚ?<{eO^nm9Y{}@]< b>Ccs3ՕOr0ba '23eGFD_1<ÑVl:17-jv0ww}Vp%lmF_X(~ZMO[ەcpD"_^ "_0k ,@[ؖkx1hHD)$_*0+zEm$[>>yyS߸əGyO0 0+|޾}<08HUGˋƾVd?\x2[?y|oqdN!ę^7QSտ6q>5c۳7ݎ YÞ׍a,ٯBPW hz~EwWw9T͐$-)cH9}p?{{8َ5^՛z܏:P̅8Ϫ4pK|ipODhhhԩS5;YG8@ a?[]j{@aSz;AbnkURəU+ 7.?ӊuudk7_ǒ]gy`)k~]Yw%\|aK}]07Gؙ^$p(;%ᅥ9־~N<@}G'`lߛйL[.a@ &\8j~I 9906}0;7޹h iCS`3'?Gu SoP! ;Vy46?E}}=_{[*"1p5Fuho~ j1048Çżd޺+* |%L&Ӻ]NMOSރML[hƖ{Mx}|>w1ܦdd4Q@\ӝͨu ,-bwwf Fl{s8|)O.7K| r^]{u_3ZƓ.C=:OROHMȨͯ;t6||Z`9*,/!ιQD-`/pu>1ʜيy(( ƶnbV~Ca[~n]wW7YܬR8&,17;o_%Vcs3.1,߰:7ٖxp޿Kjꢱu}caoܭ',1TxL N`|9q#* |LP*bs{*x edy€he4cܸqMĥ"ԐZms<{ F\\R+o<7L !/O_& @ #޵%Laֽ:û.|)YM 02jj˸Z43A ՄVA(jBv=sjCL׮F]=I8JVkEڥyjnш}w?pyxN \vOov)wݭfe.KVۤQuQy~v [>a=4)!Ḻ0cB8}hb?\֞a﷪M#y)1/h9bkgci6 }nv%m|mlnivPjs[WoUY-8kHv9fb;-&0Hv0YUbi633{s29Rx@/t=e8Xn8%o"orML5[q[8SQS@} ^D zm@y !@D?3ͮl62wjd$Yܟ_$~H@ Ud D_؞}\ӫ!j̞Y- 76RfyF<^Wcjӻvoz d}]H嫧OtJy>Qq8\9{n<63g=t\^o99ƕ#&wjQJ-- ;vd|fjB0=p}{688p΢DFvC w_z )9ŔgX4TU޽qJz Gll݋p|Vs}aI~(@ \J/'09 yKtR9i&h6;݋pΆ2M_rS)/4O{>GMwl> 9b?lǏǹ92ۚ?х)Ο`jj1?_obny_=56Fn(/Ę 8Y3o/vŇM-̦u6DjG>Y}_akqi̲d<6x0k[i|_&my`sQrs}l0`‡#I|Ji8fؕڟqmdgwt޾>*oW UY+JZt`IKc{mLF#P> (ޏY!Y632R@;?x|X6߽Kde{NILY~0/(.l.⯹AfQ,sUw27?Ofn~Qq3yk4,]?ݫZwr$c6}gsSڑ%;;2գj@r:YvC,5#{`zy?'+Zw@3gNc4.E5%^M+Z) 靟Ǡd MDh"7f s3f ~}wZƦt)&GǬ .-Y_C`LIžnlkIOIϪkEj9wn ]\Moo:XY8ji^}Ŋp#8[G}zv3)l! ߁XelSvCҧ'np"Yܲc7w5+R#Zq&l{}~3i6񎍰]Iш5ΈQ[#XPȶf^bV$XwƜM/E( ?t8ɸikl)rÞ65cGԺAK*wwaC|CG1Z٭v4;wcM$&X"k<8i\ky<z")dcaXŶ}'lҭ}-,ρqϡ1p6po-N{i&ߊ ΂z2RSbi;pn dpa} ;7*֎+of~@eL_J;$0|1Ƨ\Y|gzu=jb^>,-|T{7!Vq葸[۩ 0 7`wp09dgv":=Uy'}(碌hZ0q=Gj{i%=K5"S(nYu,ZI#[`.r{]n_\yzѲcu a)ԭ;wx`RU]ã + ;[^dޝ؝M~ɉ?j`22f3ߞ=T7bl9+na"sY3f4Yu5_)m7xJW/!-%khO:GBQYmR\ƾ=87R޺+*݃I/&3C̝ټcقlBwX|QQLL  {d~*G7yo}{4=} -:IZZcc,=v q`a\l;b ~?).f[V t~:w`aþ+DSYv$4NԱ\SWjߐ (^Wő}|6D߮<>X-cd^1J%zbn55x$~*2"̧+[-2VdR]=7LKs`vwmQ_~Vy'v* yf%ÚOK?xَ6fs?W`1c[5:l;Um`Ν|:2דѶ³sp(D8h]_s=x~^q3+AB!ώs[RbJ3nܸ]GO/o FCy9>Q3<8gB~ rʐˡ6`7{n7z˥{jZY&.  :YYryg`ZhEFv09D=oBXhzS`ߝ~ze{Ӆ5=sq`2]z u+cHůoVj6I|z?b|[iΘ&o_kp?X>~QWOuuZ׋bg-\tZ͡!z~ &P(b~65A$WNm^sօe?eW;o@2 %޿Ow 0psMBa0~o]W ^ ڻ j3ڛoČ69@7G) ?ִj׭59OnB[n8~ޕ}0߰TVYU5ÁP Fuk?IVfcJzrԩ-:2=R#{!M[=;U|Q]#6N`0qGo;-MC~[Es0cqEP(ħK Fy:B!BFp(ӄj; Fw=lc%\=hǶk%7`IK'\Z_wlcxdK~Ff3Z~R2La !R;3Pv sa>Gےπ` 8a<{hnm@l)ϝ̖0LjoV5)&#߸P'uXOV#07W-!69̝\j23;fxn#ܽww |0^F,No9' )[i}J}imhjǵse⭹{c2bJßW >B^w4 ټkG=t~0?|8' .;aS  5A#y\]frz SRRoI2WUDW6^^#s /@d Y ?nIOYݮ 1Wrr^H?|ȃ{4g62RppS#Ʉ-e }d" xp:5ޣsOOŊn ߿XEy '>C9QXHRRFZl[FFƨ߽:ZL,\m໗.﷪x)-\9wp"FnSRrqJ9WQP]&g.⯾-"t*ƪ x0~48vbMy/*v09v=c󂬷o'fyƝ_f_ unՊd\HKbΝ8N~3r2HNNZ$d85~+k Od Y߻x#ь%M6N+o _"V8fzfm6}ﵷY wϖ; nnNr'jnÅ*xyFg:?/V ֌LX22p|a2?XBĴϏBiq1 yuN3SX22Ϡʩ9| _r߽M߃gy͠r~,@lzHڤkn{sYjqx"3t{׮'dnFǭכ r-{sZwv-Hxgg(۞q\]9'ɛ~ ;ȳm|%>PQ 85O bd(N<_kn-B9N~}1vt2p Ayunncⷪz[MCS3M|pzF[F#Bangc0 FNMLLIr:7H?zsj0=7G)t[y ;FX#v+ǞVr1YXXP+*q6H)XV0ɾV}lykoq)xo۹龉qvu16blɉj76>ϻc6l۟ⷣ6{IOKo=6 ( /gz`[>XqoY2k~@7YKNar&>lb~gAaV8Q'ݼy bJyae ͽ_!0v>YB8MLL";+mHF:NĿ' GQPa&\~Ey9:3f:!Dk΅EYBi)C##ލb#B0oBvddb~wT2c2sr[FyPaph9>H xrr-aJ%!?>'N8>1j8| &SthxEsK32 {#yF"|ԂbP襇gՅhGRz!GX<{)<&q F CTy0# \;s)X|Wa(rNXXX7폞)Mys_']^OCͿ>llгHyy P-Hk{E_h6mL GNE7i^8x\NsA>Cx H52#7G'@%۟꽸nO@{WX,\;qﷀр`ı2?E(JAk+SL{733,--Eo~n?l!Pr_ARRɈӗgh\7kon7C##j1S#N_Zb~lm =5>x8woߒ#pwqj 50S؁l"7$?6ƍq 9yF'd`h qdW8|7chx;.K1ox$0SR1Y&㾦ąe|y%^]gDqt}B~BW;Gm3? "ޓ0\ZGY8>) XlZ)qqh3Gjخ=!yvBw=/An.]]T'1קo]zf7G'HOZIl?gqzI6򰭍/e[+>l%Ǐm&Baatl Fk'ihhx݇Sقw×wSs$ÇQvFgh4k21K@{3397?7w[FƦ_ڙ9$񥥸i on +##ڡ1n74l[n>wza [\)h{M"B!nwv]kK{;f|쬬YʵSTKWON!h߽`?`h |q.՘5}2HNU;3QvfoiFm1>uw=0+'f8Lr{"O` g1/"vx:cb&3菙Y/,̡}{_3ѱ1bMK1s)à 2YV\Demfܞ'[WJ\۰^yق.i^ (`ݻ=9HFO/{*:t0=x#GyhbB6Ћ= Wyfu!B$iY hN/C'?zOKѴܸեlGFjm'bo`Cdљ{w?dggN a^zt{6s^tҡ͚ =yEW?4jeR?vml5dpkGNA{֎ (/;E5]1mPcG%=-,\8@8|pa&MssԏOٷ7֎͍\{3= 7m]+΢/ޱQһ6qf||Y1^_q\wݧ^dHs^<L-.2K2W0x|^P'رq蜝&WMlΕu{o]Ak+㘓^}mzbv-56tFkYX\t ݽ޾>V+v#n,,. ѿ3Ҹh0JN0[UTj-gdj 5m߁^mӻv377˧ANvv~tgdpdW@^Fgqfq}N8NKK[|y鳪j&~io`Ww7)/<%rC lL 8p;w[tL,>nFW}+n9qh =-WGP7+kKkOVXP@(ypHߥ3QWGK4LgW.uzNZ[i `w2u*m6=dӜldq194R|d}IcOoC7<;w>m<$wfq]aQZ[ٕ6<`[[qca##y},8HJv\n?wшZ9jLN`4;B^{'g.'ևmm,-ҕ Gf&k#7/zzx 1:?ygIصs'5C8Ǝ"jitvZGsmM |0ν;wq||%W] 09!ܜJ m1:1AsaAؗǿ]yB#?Yv-a?Di8e'ONgN&EmASib|Do7:)qeh+{#d ۱ W}J޵便%fx{z:ץ}xnwLy KO/,IA`~`pt6:(8xo,ZZbr?3$;)/+W+mzŧ*Ymr@{O/ +d,\hxOtx$&k~Һm=%52ӭ $k`,w8;h`]q<ͣ>}'0QU.,"<>v{ݻ?5B>oo6Yp +BYO;G 3ؖAaAlvgf%\eoc=Vµs3sJ9oߺ~jgK%Z;:Mpy)Wlkװsw'vbv8?yw[c;Nqm{y!It8|YZHk]u>܉")Sڴʒb$ vA{{_Up=HKεkԵ1*0bu`%9)kmVudLϽ~ r}{`x}mZ. =~zl;8vχ F)b IDATg1|ohkg֏煥wMOrCwdb`t7K i2eiu׍fja~dÕĄ# N'5-=IC(Ph줼U--SkpTVd~nD4Gn;@Hp+U1!6f M=h ~R,mos:ݟbeu{LFBD8/˺`qݵ\Xq\Bi:hT\N|GD:lB,>69v}_zE$+xwX8{s/ Y,( ojF~TQR$ighgpnٕ Ϥ67?G,2k^7 ؝N$2嗓%VT,N)y81JI >),q_۞ȑcG+l!qݍRA0 ; C##,,> b6-aT75SQTȟ仆F~|*NIoll;81=?Oia!OL G8S7 }~p.mw `ve JՋFW_a!!^շ>ܢ"/[[[4R-'OT 37߹_F @^@$%X;N.jo~v6-RձU6‚2E\l X(edt>AAN\&c}e%-ju-0nc ',Z\".oAZ!vnhl? # IߵuM/09F&c*݃\=@m00ʔmZƚ"΢dA T ÁL&/`0vo0;7Ĥ]}dt5ܷPkuq\o.ȧhDv_ AZ-ey][NJ x+L}Ug9Sa?Mz7+ON?1;yhy(&~Mxx8~=-k(32: T7nT7e6s370~,ݮ_u,^ZhB&PM;+k!KZ5sc< Fvw @ĨH&7Ye0ՋkJ~dR)9'|6w|MMXSO۹|Ј,j?MXNUiڕ5tvy,qIoQsoL#^^@/LL6;?)vϺzlOdfjc5-f*cwtVٕKfy\RC++(MR2nh918>ANwߵul;8 '_TJʳX?u-hB-q+#tOD0РɼE.Tf\ ϫᴘf&7ý4 vb[Aw, N^ /ngEm6ZNp;|=0x. &Yncwl6 N'TSVr:==|QZ|X MMd}ia0{ x561⑨jzmFҤGyNj4ZgC9 b`joBmq-i|{oӁ^~C,olp:1w | B&uiU?))Bӝx=?45q"#yOWH ;3RJLxN1 NNb?ΰʫ ^p8h(:H\݁F*%+9ϫ8pkh_.s1uXCi褢TD⩘oi!>2T ۇ#~рTvbZQF F;"''?$cu:յ5G㓓LOrE9׮ַ*$Bbů\"**QQ|ôH5 V/Ux Үa,61TE"N4+,V"#݁kմ#}866fSJlD8 %m{gOaQfVs)iAQ߈ ՊQZn񞜚fhrh'|H4φ 8[Hd6!w8ý߯_s\YI 6@KO?=&+* zt).4[Wv|TʇB NaXJ{`oz.dR~5z8 |q;.6''1 T [@SYqԶ2cDğXPwBX5ʴlY޽,,{#}D/,j$SniZK} B22*78r`kV>OI`^ˡ>߭:XF.𱶿\lؖ]}O 75z޼Y\lN``~]h!ڽoqTVӁ_[_绮>fgl<3? 1yAPa*v//NfE]ÑzDS;;w.5l"84E.9Xچ R@+~5rّYރEvf|$2{pϫ|]FT{M-7sܿ_ufq:L-W{Yqυ< k˔)Ud+`wD@,|f`dUݎWJK/yšqZxM"!"·Bd_M-n!!~3t=!<+Ȏ$)S^{'R2404ʊϹg}4h*=~hjv;ĝCAJb걹ɿ{AF6dw /*ӎx?:Ojj\)I$'12:Jri8ýeqZ:RIwKBZL=M";0z@c+kL<+'7n݋52}?#V#$~66?}..X792;Wl8|#X= 'BՍ10(*=cLNh2yE?bCOGUjxdM)PuANۣ{}.. ZV{[PM@ֳf0d4zT`dKzR܏Ɩ:$b D.zXͪ; >;]}z4.<9MqJjL7ٌndss U]߾MGo/;p:2d4MeӰ+~&xE"ZDK%|P:-Y1Q/.D@wɩi:FFN$HMN&59ch瓚ZuN(-FMzTOnV:Qp!Kei)n߹M{O¢F\-hk` ۑ1KhVf0&7Ɏ9oe+z5t0.sHaccw}j Q]NǑ% 5^oUR ƱG|noaYY['^:0IM-o^/ 7fiijcǺF m .tDHm ,:9S%ėgfCvm`>ѻrbcbᄙEWK&E Ɉ!MEL\x4Hdsb8<޾ŷ ;r];_ܼAlTZ4ggc}=soVpx4F< !rOjj\@gPdMz~\RG*)%Պ\b"r$R&YZV':F  >BXh\R)}ax8jqΣNܔ~qa`ӷTrNjQLLN22JrSy(U,+ӯͫ\ä11Es[w󲋙 nkD*HJ jKݭr(4 a.]MuN\l,==l1Ǖu}":WQD3:qʣaT}6>嵂&(*CIE~M9e2޺yZ/V+1]VI烦V %B~X}G™6Vf&8,O;x $DFaBo@Tz]'poyЩi\EjB ͼSyf9AA:&!%ɩiGF(Ng|uDG×#}*JyH}|Knehh Rڛ)""k Kj5ax#sUU B+^򘑪ը\ic2oph_f#қH|_ں{X 9U!z9֋ f&6s&R)V.LeKi}Y\|ڱ] _t'}8Ojj!UnI-#AmHp0ږ:"O'ϾȅF|_C}\aNEƷ|y= bP\OM8j=}~_gb#E&=W+%9ɭKU$ylvX_Kd[P*'%򱾞m"QK%|+#:g?E\"ȓRJew1hhEU%yYY^7 <0j|E\JF& 2?v }Ш?.r6̳ccxdOam|j=Kd7b^#fm=~pZ:Vc/loFEi>Vgu{Cy54CSab"#ȼ'͍"TV&?>?Z-W1 A#2-|R799bDP_= gG%Ĝ޺ɗ:tj%wj=jC7ŏjqf:QQj)>qseriAgzEE(XVtǞaeI1{=6SSSKS=>s;' a72Ґh5񣊓۹6e"F~_<4 \o2+,&ndcwvѳ{(TX\!\!"?C7b=cZdK([}BjY^^ft뛏հE¶A(JM.PT|OnqEFg& Aj }\[Ϗ|r=!ncc hc0g$%IM-ȍ wRʏn6ݪsN2S=gsg? \O3U1-$lյUd۟$9jW+n^# /('cBZ/C-V"8 CX=$*r =d.VApkQ\%O(NN$<4L0*{1.Hng 2?>ưs%ȕeRy J t|b=64 +yE Pcm0RGLTűCxx8 |r~߭r?/iqc_]Gqd> "<>":Y烞{VW*,}sϡgSTH* *uFAue 18dpw8:]VFQdχ$%${x9Y-*SSN{1 q| =;N)[ {= ,GĠ {/~W8?FD @^P£Q5&$Z'FE967 <2z6PKVk~koetnHp𩳄i|RSG^TY87{ƿGx:hOw*ǠYG_zei"1{' }eT*BC n|߻zITʙ "yy_~W']-!:tUuR$M"#t ?sJuC\pWLf  Wqv~TAȮbj=[@tT5׹P(dfץ}~|lq k\"Iqm}#J}ss|.ػ&<.nres=.'3$[LDWUm=R6  %SP|Vqq(w="v ,BڣF]|{.YzGèӞv1yΑ5faE&ە5p5ɑgSZ[&stEV;IL!JINJvdWE=JGTJ̝};Z0-dE|T@NH}r5Bl| IDAT2c%1!OjjtC2]&}K+K#[Ei5Wa"4jnL*%$8 ] Q$/WXȟ{EzBԅAJ-+uǁƖ"K٬N2=ode\EFg t?f2[P]AADEF MKըH_]$@P؝ʹv FWIn ,{d_a?-AHNL<󖖖޸[U[utAAA>Je.MG86x% ~0S#$T*yI'!Q( =%ы8C1U1xCf6 ${(1a&rU.-"zAI "]I9Uy-|9-3㓪՘Ll{;7ncT{%'[A:%uJRB94kYf<մ^7kj|Ɲ( /D9~TVy)PEDx8^qA23I;^/z̑<1R"T*yRkDOslOP;9ʇQXDW E,Uzs|أ +ԭ-'Uy ˥$1ؘseK U>hlft$iW.pT úFC=*1=3F\csW=6E}ܧ~F|\,ۮExջh5ua `=zжLaFL"",5(""NϕUnrs(SK7~82bg`JLoJѶ.[OjjG~5~O17fp$'%c`~I[]>oW.j[Z==XCP tWO6 jW^Djڧ6O@֛Gcc>o啫ԍODd!,4$$vofnT*|yjq4.ud2YD"/trN>_+$%=rYAF;5^(ވ~$&#HYtzwR"by0<}3Q%$vf .C<嘦'y#X &r\Ck9lXw@YyHd2dŵtª\.gZr"wT*(b΄>V Q"CIE+8[vvj:+,}wOˮ#Jl|C}[7ʿǧS Ɔ;Hz#H 纡ZP|:}6U[][?:m` _ qZO"P>s@fz: g4pmzɄ*$_ql[R {*| p;j&ѣCŋ}Qa!5m'Q(\"gBmvҭ~2"Lƣ [QRDTu}V]9" ɸu&_I[8 6dgRcrYvU~T}YYb (ol S\km#\Lfрd ?=r>knGY~* \ T: 6QpYidy6xBt^7_! Rfd ҉ b.Gs5҃Nj[F_%+HLG-]Z˕ȓC @D^8r@5Pxntjj%zj*LRM_?uv:cH$^~['BÇ㼬U{r>_9NC)u}(p8=ul4\l7ckWw\# x3 sX+ov\Dl{NawiڭNr>̚115~;W.OJan.?ө/,'tv; >{mb s2V[M} ;(ec}lk8vC~2\Chl*>$2+++| ²0*Ӡ̾m{ e^!F=;J52[IKLU4ײ|k{X,/,;9}SK& ד]2!fffvM&ә:':Q^k.sn󱾞pr]so/>;z Պ]##B.'ү[,..a*x@r.'dRNہm}]\0찣<"稬bOV`d⻅e4YOE.1L[BsW7c 2"UX_`nqpgùF=}Bj226*m{ ߟ2~H^d8yY'wZLLMYY][caiY"]ըy,AB)-,po{46F|l,jK 3x=l6j7p5-}{WwOToN؃a$ tOzֵ6 rrDD**2ӯpplVK ifЪG.< @~Rՙ7@LR8x߽]LL}ㄭ;%^mbw{A-2vݾ1cchTcfqhm PÒFRB1*>c^#B~[pkt0%-E{>:I ޙ냌OL O-tFׁ{^D'nݭW=0=KeG!/*r_AplF##Gb" ,=FnMzzEHdR)~49nb>2Bc㓓J=UJGo/aw33x7Ƶd]X+GUZu:.dxd2ѶI6٠.6KobfV{l6lmo3ٶάNվx6U#CvIH%2tv{1ɬwuض6Ler ꐎdl|FC :~:QH='P:_ &;<um:dW.?.b! ""/C|UFälˊtN݁l8;,m*W|qtjQQO}lՍ`"c_oK htﳰDΏyvJ Z*JgƣN#0|ϋgp 4wwÉ ֬6:9er&gI21qi^Ga22bg,ۺqVRb s}E306δ\Wrp6Mf>G[j4yٶ6Π:7fmEaODDa`z$d0*FsܚV1$Nyr*nm2@Fܯ޸saffg`CTU"[("O'G霎 8vRĝWTp*Uh] (_ZRb%V}PYa9UY% $UFzUvעжARFI߹ 5V Ʈ6O}<0JY?rn9( ~]<\&*k+,sv"~;[n/%|qEC{;aC̬ƻU<|Yxൢ"$ufb2;ǕF-]] Š_-ɫ9l"O͆d!hDɎWc}@ѵkށf`!n0ld/'û11OZ,VQBdpynna\\ʲMMK ۡ*&~Gwq)e/GsD)o`NVݪv/b@;;(*19sH.=Y[_gbe'ma*%@92P= =բ\Cs ayV. oܹMO?S^j4 J >&@ \#_t/W.rU0~h("exw6:}Te-?$V6yh2X>\Z5d@4(o51:FΕTbcξW'`zC#Z'wojRq>G>Ds逛wD]=6jSLy<"&b""rJRS =|f#3ȼzeV IO]=fTJÕQT[g- &D[Ek~op0w5=\Ct:,-Z4.g[Y %u$GE[NI!PT]A8ֻC"`njDY=JJa-)v@P\qшGPJ~f&l6s&^CS,I{S47#ۈo@"-+VqOԈ7n#™j=JcΊ0$>L777*,-aũލՂ~z[ilEw::!doߩCmdܕLסx+))\IIapx:hf6"+Y3*4 ǾD"7e% RBP_]QA^   +[8'z O;F#fCVX=ajU-Tg<e|mAsDNTTUE^dDD;8gwB?he02L![u6 @S-''sbTBk3 <۴u0zD4 Y[5*\Q T9@&ϵ2ؤ?Wbo=PYv2DΌXǤ.+]y Y)I~fD=ں{m8rި`o#xL%2iV'DnE9yYYeCMz49NjF|;q+p|XSGMz #Y][bixjjn/ 7O Ey 1MMrS7<&+6/LXbۿҝWGFGGkEeylC碈iHqw5Q?]="u4>FI| Aee9ڪxlqLMC<Ҋk}w }=mh$;%ԙؚj!I7T| sRu*A8ArXgDpT'JEsQUgÁP/}-&k~1@hԻ3|[>F㓓bT(Q]?[w2^BRU|^!!"@ @DDRYu,}ZJ mi!?8h:.!US[Έ( UI)L;|LLh(uq}5tt" /;< 8IKoz ΁r?ҽr9fV2ֱ[qddX$>ohBRjKYs O&"_Iu-J>)rvDD;|RS+! PAXdh`hB](4 |jg*JÇs㚈 ->{҇̒k*W5Q)+#@%<0vQ_ͼ6Z_[`4HmBh`](]M+;2gͭl |^?1D[w\YN2ٳ%@Ety6UzeٲIO`k=%2K'Ÿ^1iJKP ŏ?(y+ ""HOTh2Ibum] h\l,qfKgC#ΐpiop]5, 4V+[MX>A,mnAyq1cFGUfHU*b=CCPNޙ6jhS*FVP}gznef{vrt:XFnnfwZRKTnOU뜌`"kJq  ""~|\[wxKgk;;,8 ihA]"f˞$*66ʐx)Ӻ9ԅ)RؚjQ;?7[ٹ̨{`)bcfSoM˶ennMl6Mcl 6tr-##@h<f@H9}lA:, uUe>no_C^!3A$z[ݯ{p/),..ţQ4N rgus?a,?NCWh0:Kx)-<uB\%x6jH [dR5=/#Melk$FxJ=qH"]*\8iJ#d:np);U*t/9JހbrV#;¡,l6 ; uD}!,?:oDYPQ}cݳ e.dƹ3+H\4T_ 冟EUph?S?mjAUVUH(cGJLH z1~KjkFq!ч C UH(vMO8EIIjmC$n Clrz\.w~kd'03>6B E63{Iޝ*)3ߵ>hH[Y:^v2mo".4GS|+Ujׯ2v/II&xq丸v^`vn[Fi hnAV['a&.6i6Ӧ}*%ޣ^GƢW˜,3kQ{z?H^D"{ %嘦'O+RoҤxb|O9weOMIF72j45ba&G|IM$GURTds3`{|i5&m#!1Qhdjez =5gk"ùl`pOɍ 32j=F#évH3E3Pxilk2I\zK5pD"?hch`ym̏>X^U}lwI;ݪ+&bb;Uť !>kjWF@VЇ8Qʫc?mFJJ;t_j<) "eA 5ɄՑʬ vi}xYiDGUBg[ux}CISODggMi4-lFŐgP]^F.hJ ڒrdm ^D"~:yq|te)?s4V#!Wn5q1&K;N[O/#4b je'#.x Fw~]L#&:[ڹDzx<`ӱc]G~$7'Khv_!Q1vfRuGFZb4.jB[Rn("+(z\I)|hԩ,lazcwo4xjQ!WA_ϻ@-..׉i>d/>zUrT<SJI[k!abG("##ͻ[{ @μ}+$ %hJe33ĿR$+u~GHev׶?[ha;T ̇}wׁ``/[$ ^޾EdDD@λȭ;=Faaܙ\X$>(UH+h /[M "h΁( IM қr褨TbYY]0ջQ7˞/|/x?Zb0xDuN$I{g?u:GmhTUVx>G?{Aˉl oB HN$vIqyJ',XJrR@IHh]09u/uaX^B* . i#) $ymwlY&I$7~nG|/߹~YN'.˫]lnn7)41~_~C48N| ^i5xZ1b*Sg z~ʷjkPu6Z^/-ljecc6zfG'N5H._β̗:dmlM?akk Yon0}?O8rF1Oom MJ]K55_Bݫ c/\BK΀YVW,:鍺EyNW=08o{p  QY[[;nz^;O*YBO[grZ-86u}ʷ=U 34/6".u qqݝsy6p࢟eHx;ƈVYI={ieiD'iww>(}vܿK(~gV_aKVwYVZo4`uuc4vR*b|#mB"_<[/+."czX)*?OM .Vq0v(D&_8Ἥ0zr hLϏ'X][cbrRvff}(=SdfvlCJ|g@!4WOleӉ}U]ϭ!gmeiwC8 14,TB̸S BlL oi$ӓ^ EbbG^ݾCW|X C]$ׅ@jџ?ZI{62Q@z] =.F{q !?:SHO;{4|85-+Ɔh<21џusc]|Au Ck4l= b #f~|[QWdu{YpX޽ IG^tI)MqA,Uk2v]қm,'\Ks{#?9LR첱[.,S"Ɔ19${vHMݱ^eC6E˅,Ië^#$ѿ, uE V+eQkyh')=1zp_gfHIU,p!ۿ,gQՉ>2bWj8,,#D`(b 3=l+˞ƞ6ї_u7bVG'Ry|e@)u loDNLzloWP; ՂBNM'C1:Zq=շUԜBoz8L&3[{ a϶uǏIrW+eO<Q۝lrw0vR'{{jzg|qFe,VsϞy£|lf.j%D"'Lm`Czl6 @v;.d Ō#6  z"BuxG_~MIhcl'e:7vOn4٦<|8>"L ߺ架Q{"İV9t1GYb4gwjiGSS5m= b|Z)Vq5 R"QlXyUEW)ל%IQp/{sw; 򉏋lli m^œC)/~1GFL B`-H*F:1R";(_Vk!7'T#}}CϬɿMKgdMEHՖycss5UoߎH:^|.5ncBBU?=}JKyzyv 5B[#CW,}U m ïRV_WTӱȈ.CN`iMLCxFfl `-`t:%ڮbm >a%؂&# t 80>6֞vtbZYCe/t`FE4Hl@z2~n+Ao6zl5tdx#'ml EJ_QMG_'xMTu "KLOmc{'WQ1f#)!~O suZOlf'h]se}8'ۉD8ÁSo.$Żjk? zn`'l 9p7+CE_zt$'_by1Ri⍧/ I)q_W [8P|.Å|IF>}MR$OqtnWAxS3Hxg1Bs{~/Ãu4L&ن3:e))sUI)3tnbeniy RLOWS5lipURb HeU<5oܸna(/̓ @Z{z4b?S_Ư"ՄRp8Z{pBVSUz,s:qݵ5 ӵR8KA9KH:t*+|،tލWOa~>wllLK2)9Y$%L(G&`?@j'Hu o@o`hDNKaw'ؒNH lX.J.^AnPNu)pA6P5+!պ=Vq_jB>|fɋA:xn5+4:o^8%P>åF4rU$I̡7%) zf34SIjvF_/X2wmoͺV[!,:ۛ{ԫ0pyvårV8&HEkPrH0|]FVt~u8=:#9QQh\o"sD3>j"bG}ޟH%եA5G Vp^1`s99IzZwqo}븂C0_Qhg-F )D>vٳM,c%!Jv/`ު(g&"&Bu:".X9˘Hk͎N&YܤDBCBv_^x>3,“JT4FiwD29Ż=Hj E// /C]>?MI5f#fC02f15)eqvBCen߽ȑ{n IDATrH8S=>jB/9A>GI 8Ҟ*fh` !Hw03 8gm\*xM.0}-:eBCCm. e`r53f,)iuh!+-ƀ K0/|ޅB^ "ׄ66bwlץe0&ȽV|Z 3օ@JTT 1'?WSXǀ E/c{s群ա;66uIύM|`iOTTޣpӰ^ #),tnjm6$ i;l:mA]Jq|t!!2!A[O1d IciwP2)+.!"!BZJYXPPnMML,[.k}Z[fs@U) aFW\ʅ \'cC۷ 1"o󂁃0 @%ѽatlNy?4ӝΏ"vgYFz 77י۵"Go%YpG]Lr^e00~\0dϷ.'k^Fn 'O m+"9?O˓FqΙCsbnIKI9nYjJ2(|55JȇCHAA3}&mV\dOH%=J mq)>~4/.>YADőEť1e35ABsLL7.!}J 3'r쨾vwFCRbiwqK;˫+|+35>9 <aBx]=gq9x*ǖv qXl6\!! *Lleq%&wuh)II\Yy.-^}(gP2ࡉKOl6.q"{۹VY Cb~-= a,H~NFm|"D6M%K.yT!KF|ځx)UlwC,.N%{ 7]j$T!@A𢎈w&41|:*4AGޯw,cY*>G[@w,VWߙp$Pljw7Kȥ0j5?yzjv-jf,<:?JaaiwEE9:G ʫwRkԁ֧tnaWlMHdvb{>B;L6u8Uirݺ_W6e>A8 AvP} ah4tu{#߮Eu 򶫹?,t..Fڞl^V*CCܷtXyRzv UO+CW]=.~55.9kOeD&͆ɺD1"IPZγ GDUp7[ywiC&eBEU`OcoP^jsstG'!@AIJdJr2t${ /\>c)mF.>GV#O nnn 3?Kvocy%p+'o;Ar ^կT7QhڮVEVN\窏a4}ލjϒBh=^;;! 2mZŀj5*-Q ߛ #[~g ٌb!-%/88f̽D4qmۑ%8^qG7 ~h >+.(':ʎ"Fw89Q|~R$>l6.Ii=|Sfu&9tr115>Nw&Up(7C1OOR:=j9~QD])zK:~:,c__þ\Px v&Mw+?[k^0 }rGכх"v7z46ƣ ;}. g=1U6|b\+^<4@Ui)TbywcIbrzԓ6Q alt}ᤈ)X Kgy'(o("#!֞V*_MHN=N~xh8־VS d65 YCuߞ[81]mllRGޗ`cs+:y6Ex4һU|ӏbϵdHDD8LQ]r(]5dYw_"?Kr,و惄>zq ~%$q "h_ݻwJKNTx"Sy6_(-*A1GO!j5o_;gfsQ-@_*K8+RY- )/WO|CQ0VٮifzfB{ߏmFt lkkH*8D+ b ̦=&=edlUXZZ:W8>gc%߿8N?   >v;Oޡ3ddd2v7X,(U̓8gkMgl 1t~QvqVW?]N|M%F@A8C~!LUU{]v*}zV6%<M+W7SRxwCgmccd C[X\dJ°^uT\*al|Xjkaewt|݇I9S&,MTAX~Kulg]GxpJ58K v޾צfwVtW' ;n; $ gie۫+vf~j!)* Yt#ufy<= ݕ{!nkЧ$Z?+j!7'AHQ)1N*fe!pwpJ^Xz&C }l&% UD2|ݻxlss^Bܣ ]_ӑD,-|z'gv?%ݕcU]8+i+d4ϖ7TQ_ /5?BʱNK@ ʕ d`]Z$ab7A8.""3ׯo5b/*E"<ʾ6*ER &,nnbwYZ &iD//s9hn~LVFRL68I8o]!)=X PGDۣ!ʀLI4MOz^Ó+(z$&ϖ[Yb9" MATS ow7MԹw&2똺{0ٸ|g[Cq)/tVu=: {v*+Up0$ TۏFXs\.݇/@]Sϭf")1ho6b<'91١ޯ76em}c 버L >s>46R 'Ahp/x@ eoU󢲅 0v1WqETyRy k_!p!b4kY$5BVٯy|T#f ~A8D^A4=I.06pNr1pW[>Qf b[q3>hk_Tu >3OM`nF"׫(f a$~~: 5ᅵ+4FSg׮WgG:Wm,iWFU[h@;4mmk5Ճydqiw SXgK*PD= aܺ};.zpUSjwچ`21f-VL<ӱ,wte 55a,6C0NѺCdIgK;A82i~\ӆz[W΄ގC?u`p?jЃufŏ7`ZpX `￷[E ~45뙚l{񙠾Ӄ >ojGy-O戚 TIPT+jkG{%6kG 09L&-^OPG^A8+ fB;D"n4f3.,6k{]Es .\D-jԜ-R=y~|pfmuD^f`h{eGo'Wf#.W22p\v| \\'O^jlBta Eո_J9Sٹyڞ/4ix[s +y('MUnv,؋T] GEUk_ROqڿw?ژOHE‹q/nWDF񻛍[+"l b"űȲDK'ثQpBs{e6{\'O1Ogv_65&J;M, @~<_$IB>E!e1N{{\>ڳ61W{D4M0޻C*a K X"¡8-VWz5] v4mjܿjo?~tPO"jz&4Mmp@&fYle壯kS32/ @_ZŽZYB~.dgHLpUDþ<.=}yJ42?@2>yтyrDcqmZms疟1oۯ?56ąvo_Gw__[U;D rpO|erʽٝi|lV̳; 'ބif :ei{?8P}GKoM->--|v9.ac߬J䃻|#`B>'l܋+.PxNkp-m C GsW)>.k^dC|ߛ[;8m0p"QQQ>`0݆k]^*f4 \zammmW466~牧p ]U-[;ȲT*TphYT?-:]bgHLT4\NCTj[ `Yb>:=V톜\Ϳ;]+䱤"ܸIHWˎ}c#k@A8UB23H]=p'O^5hlV_4`v8{\gjDb*b!=_'bjc M$nGop&1檗Gb(SV.MsO %2"F$ީߝ] k5̳3'Fq=_$'&|4u/O֑3⼶]L'[M8Պ:9e}TXMLg* e5/tZ-zۃw1\,FIMAqf#.͎Nl(jE-*"P4118V)֝Ӆ}xN m[-\JIznJt4! ]ׯo [X\^FEtX(1u0cw,VIs+??z3ll;% (V+׮|-"<}OLQ%, Ed@[~RBz^ƶ 7;:ppVuIsW;. }Y׎@A8عTTt}f#5Y>!4}󅹴KR\ 9^-*?t? nb019ISWBDe|/)!^Ip8Z2/d_BJF96 v2V5a? SDGS`N|)'-,϶5xXv~XZLpp%=- $6tU" YBSZy V)_#Z./ۿK2Z PRݽO sڇ.)e0>9Ð}`(,8335CR 6{K 2^Pz%6&b|4h0$$146`WAZ.s]VS D>0VD@z2KQaǦB< "F/?[MRY¸9<{}+_onpP1JCw\>TdIfLh-fA!.(OhP_8PR~}:?j 'P| S;CqO) *mgp(}\ ^OmE9[[[lfk r2i~%%ó_xsDSd[Wʳ0vR߆x}QkN~.f )ɤ$;=Acsk[JJb;䤤Ar0>Ak;l"zb1L0Q/vOF~Gݍ7&!O$~kkṄݷoès+47h /\Q>VOgv.=Y]C{nT(gY(2ڬ>Kpp0&Ŵlٹscg碉}Ai5 !AE1P.Uiciwĥ&'voolw+ׂvfDIFlR:L*+^zaod;T/L<"֎A*$GU`S.=MޣRlZ }׏bg|ZgX|c~?р2M{*51.O5:Rv>_CC& eOmB"#)AAzmcY 4nmzwW=5Ҡq#Gx]_-&{ĤniX$NHdMUS Zޣ$lܱݩ(jyDrg{$/'wsQK%wԬ?RFMGhPG٪ՊsE ڲ*JHs9FK|C{@B_E|?˽ IDATA2qBـUH C_j,PZ=%EAK5 oўH$oZ7OD#$>N^k^>inEW*al$wc¼#lFr (J T-ЗU L #29V~rnl8+-Cǟ@Cof359ڙPX( ߼zNE*G[#|k+Z8c! W }/$!=?ip:|Ԃ6\8c3[_kW1w,{}6 e{BԫnrDkT" 'sJ') Zߨ凊-k8vYP\v\.lN bYs+σ|3ɝr Ⱦm1K[wBX5&9T4^#&?5Cُ|a4reLH׋,.E"!`;W5^8'{qI =}˽U[a_4,b o2b[yv"\>A1hNe5w7Sp8"!`WCmżױFxx]Ss?/a6ymKJ^p9X ;}|[vy wzi|$r_'lƶӺwAyV+N0b(.ciwCA|+ P|';hjqqX,Ȧ5f{$|,WaY=tbx o"Ϸyj~~{Hx=xZ-" A&),--i7c3vj|łu6R{]iԨm6 ۧ*%V`_[ҢCQx87mltA.PP^!ANSsw0eufhtH}k5Lp"XX'{/^WWWx* n'slra?HLLFi|=A`{J9<hw'&piL`󿨡ۻﶪ; UHl ٙIN$3$dߌ 8׹LI2{=łbDzAwQ2[\^OZi{(ﳧP9v+k }T,YV>ۚ*;{ﺯo@e}ТO+b]/hjϟMMIBxe%9!?5%EuOE%k+lȰcr,?yEib! k5]VTV?Xԋ.S>OkLx[V*ӹi=}#gǶsY_Co hP%obϯ*xlIfq]fIȖ@l/uC2;:u@2߭ffI5uή.M{}:Zpv! fk.5Mc%,yGi284$o%6;rо_Oۤ=^ zD}r~~V>Ccƿ{zܔ.z^B\IC ;`;z\Ky:hLـ+a;ZfIҿ_Sle>7V̑"6*'C#^p# y<_]9+vf=zZ?}c:wASXv@õ%[6?^ u{)I64*cŅJRD0z@v ?u,՗GYﳫu3 )^ׯU{&UؒXv|Z;+c@V+/7G59{gƊ0y+/lźmRxu~fhGjńBaVSԟ2]F7%|x^]{zc3sm/u1'K;.[c@v Ik {]SձJMM]U@mmu1ݴ,{y5}rik̈Ϟ&Ix21c 6^#$}\.zW)ܿ_HD-v8:}.%a !fL}>~pSfsVV{X?kcݪNs5{@^4\fUhD+mel3&S! WTvpŅvviž[tMX5(WΟߐ|ZmI%-u0;;NRAՁX8{4msR8|T_>uWJ~gZ@G^w$#>NqЯ׺uϞ-/˕g*\;KR0O.] oq^oߐLUvFwBqkXƠ@LYjYv*&]]0?0m:WXW=;Ns1k-g~vvoRz/{}pX@.֘|T|rf9njX_8PPz4:vd핲.! bHVMaltgb]--L\5|}hn7|uu2ͺ\=_ нn1MFeA'%I'cX,={.:RdeoǏXܿ0Re#OU)MW1̖__\u- }_Z4l:ݯv:B/֥ Fh+j2tbUNdMKǶ`K#s6ֽ$wvժ4vdwh~:;RbA]iI+.D#iRԒV:({_Pdf+#vp e`)hǺ  b&_׿\_ro귵MeUcW~֦}wJUi}^V26uQ}|YG9mgW׎ײ8) 1bq8d4+V8m,P$2MzͰi4{1I']5Vt:kj9s$i]!v6"x{}¯yTǺE}8HW,X @Lt+׽>ǏU5zͥeFo>&l- FgZ\lfvfUmV&ބ=vI&SM2L &?[Xl2IC:cq3"&BЪ_FC9LJcz!ӥ .[sXǖ7D\p)E;p;~qNߪ<+陘PBB^vv ]8U Xdnohh\Y~׫]&@8+u=TI4nr7*ĂVpf]׉FldJGFԔ͌WKz@ eힷWM-*JәSKO~sU {>l 11p:^WGk:oppP@@&UZWL&~!|` qGF+=/Z_G)9)I\|w7JٳGM46>̗]s1ћS:ZV~I{WCFj՗N)z6^IS'K=[@( 5 UUS֒冲c-XJ;41=94x: dYf`=ϟ%?}L`pp87pUmUzѡS~J-TVz\N561֐>>vGJmo .].Uz,ԇT]Kǔ?h[{<^&șwȐZF}~ݽߪVY.*ߪÇe)5.O>E[c/ Nؙ53997#:|GIt^}yz\aM_~w'^؁m%TO~7;IRՋT^LֶGUȨr~OnvEd/-)9X))~]ZK3w+:t9__^Ut_8lI50y<5+[=JRGܮW<[#|DUӏȶD )֏_jԸccj^]u=&AFG$IK9QX[^}z$B˯C x?P{S=~ڟ9i>V#Z]E2WJ}&M&LNʚvZ@&3ңkX{.?e5<~@ 2 aѡD;g[A|wyCp(nru}uMyqNl%w},fUS?Z=H~yVY8uBIII?-l rCaE5/_c\e~FW]$}V[16J ts٫>ߗkfk2Y1e r{fczt.g:Mc6ݔ3SF]?OĨ`[ThFΗߕmco7[ Uq.%)%*y!ͮ}{%I9cq t޹̌[[SZ4g޹)v9T)R]Hu I>Z'K3am$Z@"3g^wMrZ2[4==޾#{Tcָ8ꢂÃr?}$L WBwl,X"J;7KהU4c{sJ"l$CMNj%I||>jO)dyjKRxrRFo  RoVj8#jxl\Cuʑl]i{*=4%8xT1@RFUMW0R\\Kmt[) s˞g6xS'gjIgF;85E#2/p#GO^,n=|TTYlPq~;<+ /-ѣi }BwU){^IiC'AyQϟ*=Ue BU5PL55뛧?ilRu"EuŮ aR [GźxM~)l6b]`S@Ĕ1u^UҊ62ZQ&b:@0!0 a C`@0XҤhHBaI&ENuY-mS;cMNcb^'0@l !{iySu5+1.N]aIi_Lvjd@}1E-Xtڧ?]WPҴ_kػ/6ؑUg |u֋AĄfvhy|>}TtR}'ŲkoPzK`5IDAT=b<--lV>,IzZrŸ6 |]:;W^䊶k}&>Q6o{OF +?5a^=wԔ?o.OK*Sg)>,Lj׭A9Voۣn);`Υ&/y7#tl_!\mH} h_,.Nvl2+9#C}3.b]*8>N(:h0+y5m~q 7dTkjzZގ;R^ql% BJXr\A23>gFRR4ۡr^QڳrdOMWiWcڔYvJ75^1*:k$%yPNCd&Tۥg/y-#/.VZ:PPizhBX̹7ݺvBHXSV) :⩓zf\u]'oF.ٚ!dsŹyfelBB~Z:5)--MIIwy_Vq*2ԣ}d2-y2-ױeH_t{ξo8zzd2UR"=zgGFxa9tC@l)Yjdӗ'$wѨY{c]`wu 7o\ JV,ˊ_JLL\p *9}#.N5ӣk>}iwuE8,5%ec=nus {<~Rb#@=SiZ [aOItkx>@=czXPdtYs^gku?yR%:/uC̈́9$/=N`9#c# UWܙ Yaj[X,^)){4=="UΟ(ou2t`QݣGfMq7gdB.9s԰RRR$cvch4 `ݪWZ4sK {~EQIojJI铚1Nʗj:Hk.ILvkgZl풤<&ɤSѨc~1i@lh8H($O9Y>bjhjSSc:B?--Qsk{:hJeFe2Ia ֦F5Zj  Q"4>0ҧ8my_ÃaAbN/uQ; | ORe~lF$p0P.U"/~x~(8:MA]q-߅d¿q>)t獍(W4$u?,̦5QXH :l2ҤVzOTl_c7 MM.L&EA}#ޮQ]Ч'ރzwfд:DruPWx̚7OuLtN}y89Ee_zљNmkW.*Β8)*}!9s<1gyMjj>TwOqYPH;хʅ MN((0G±Qx_B옢_#暛U^^xW^O4Vhld6.ө'kB>"S29\Ǩ҅BSSJy|O#RϞ=?A\Nӗt 566vޘż0xS5'gqVſ}-MOO?= Gǎ,zwsV[%Jl\2~lA]IB OM'߽&|eu.=-2-hiWYw窱k` їlvH$ERPxOgu([N>{MR5KB ow\R$"oO$ʑunCrn.$Bfu Y>Q&__YkGzz#){•~c3]m TkSQIR6]fWGg*EF?=%%*tOOr˞ӔTqm4i(=#=SEA}*'U汸.y}>>-?!gKJobnjjJ^Wv]"Su,ٱ.kW#`uwɖ` gIGQ;_E/)9|jӥ]]·nc|LJϐO^U9+5G5uEm$&M+QZZߕZ]x'oZx=I@_KO^bΜ: nBi5k:w * , %iఎ r^ٙ:"p<IfE655>=zݣ KnWAl0d a ܩW<UJBZӳeMr usP|ѥ*Cf`hP!Yy-K\lWptT'F5>5wc;lCG̦344ޭrk^8~CɩW/nTSSSxխx[}},[8x 4^SW.޽R_#Yۗ\}x\ƀ- ؖc ~5o9yr rdd-8^<i|T/m..ޓD>}R?:^!QJk.Wjݥz9` mV۞=zg|}=*$N>$)--M?JK[_yx<uvwl2dF'|.;4-x~&_PWt%'{G4}t8Ua9li_'lwMͭ񦺆7\8^P߂s$tl+5|DU-ѐL+$|V]<ߑ{ztdWԘQ8Em1 ^u`d@.~|> 3vBALx?3Xޜžj5nWw4Zuh4y<^9]TglJ+Gk>@a]:G3'%؈ӍW] $$lKO= djjC١G,3opPVim㙷Ň`{ړO[r~'uwl89EK{ Xgmʵqݯ_gΕ/>ܕFDP"ʋsa垾\]ή.=욷-ek Mo+7d.$E69+>kEIRq7FHKKSؘZ$Pd֧ΫKf>&c[($@ )x]hDg˞tguJv:75EݽrOLh@>$%Rջ)G㑨rZZ%oސ%23j+o/j '''׻V@a1*wb`e`PllG&"Qr*)w>ӄ"ǹsK}X].xM(?Jadx#;Guuuh{N¯.恌4Rߠ߶+.ֱb{POjM#WIn#ny4;:ʴW^nΒÑ|ѨL&)P+.[߬8JK5Qcߝn_S[w3mfsù/Wڗ+$]w#rHDsWdL] ə_)Iէ[7"D:8NYwW/^,8c:)}=xpO')e{l34%V&IdY oU<׼kh.G$[&Ÿa }vv'@kF+&ηU<~sV߸tQIE7.gb=W5-}D"z$bm,‡QGf'$)[6I2I[k9v,E"JfyT#`NfJ,HcCsIҜ^'cx^V]#o E:$MFMV{6|HZKx7$'Zͭr'z^>4xnS`W@0kdIQEMUw+L5cB$k/n r:U"3-&,TzorܪZt]uz%B!$ +xAl-rT_9}y/F1LJ,0 )Ro}H'Qejo_3T%^ VU_{<55GC0NdK" ަ1EZ(xM$'ƔywoըW~wrt3BFZb6 ؘmԈϯ{.{w~7}Y:XXZN碵b/>>~{7zpQ INM^M3z荔)I eʒLGc>_^KքD)ѹqqNN3'=RCCCzrk޾=*fzPo_FǕ>3'w1km6rM^y)`IIYАlGOjO}wDE~}$'oliii2[X޽޻W]lVҟ<؃e<aV-DIu񽍹@v%I{?P O[/mjB߯`;NPRtdcfl-p̩W'/lfZ:X83+1kSkGfYu؁hC`@0a-9%`mmm.a3Eh>eggǺ ]udS___@`0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@0!0 a C`@~\)IENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/__init__.py0000644001374000021030000003141212700747662021255 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import base64 import os import glob import shutil import warnings import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.patches as mpatches import matplotlib.testing.compare as mcompare import matplotlib.tests as mtests import matplotlib._pylab_helpers as pyplot_helpers class ImageTesting(object): """ Provides a convenient class for running visual matplotlib tests. In general, this class should be used as a decorator to a test function which generates one (or more) figures. :: @ImageTesting(['simple_test']) def test_simple(): import matplotlib.pyplot as plt plt.plot(range(10)) To find out where the result and expected images reside one can create a empty ImageTesting class instance and get the paths from the :meth:`expected_path` and :meth:`result_path` methods:: >>> import os >>> import cartopy.tests.mpl >>> img_testing = cartopy.tests.mpl.ImageTesting([]) >>> exp_fname = img_testing.expected_path('', '') >>> result_fname = img_testing.result_path('', '') >>> img_test_mod_dir = os.path.dirname(cartopy.__file__) >>> print 'Result:', os.path.relpath(result_fname, img_test_mod_dir) Result: tests/mpl/output//result-.png >>> print 'Expected:', os.path.relpath(exp_fname, img_test_mod_dir) Expected: tests/mpl/baseline_images/mpl//.png .. note:: Subclasses of the ImageTesting class may decide to change the location of the expected and result images. However, the same technique for finding the locations of the images should hold true. """ #: The path where the standard ``baseline_images`` exist. root_image_results = os.path.dirname(__file__) #: The path where the images generated by the tests should go. image_output_directory = os.path.join(root_image_results, 'output') if not os.access(image_output_directory, os.W_OK): if not os.access(os.getcwd(), os.W_OK): raise IOError('Write access to a local disk is required to run ' 'image tests. Run the tests from a current working ' 'directory you have write access to to avoid this ' 'issue.') else: image_output_directory = os.path.join(os.getcwd(), 'cartopy_test_output') def __init__(self, img_names, tolerance=(0.1 if mpl.__version__ < '1.4' else 0.5)): # With matplotlib v1.3 the tolerance keyword is an RMS of the pixel # differences, as computed by matplotlib.testing.compare.calculate_rms self.img_names = img_names self.tolerance = tolerance def expected_path(self, test_name, img_name, ext='.png'): """ Return the full path (minus extension) of where the expected image should be found, given the name of the image being tested and the name of the test being run. """ expected_fname = os.path.join(self.root_image_results, 'baseline_images', 'mpl', test_name, img_name) return expected_fname + ext def result_path(self, test_name, img_name, ext='.png'): """ Return the full path (minus extension) of where the result image should be given the name of the image being tested and the name of the test being run. """ result_fname = os.path.join(self.image_output_directory, test_name, 'result-' + img_name) return result_fname + ext def run_figure_comparisons(self, figures, test_name): """ Run the figure comparisons against the ``image_names``. The number of figures passed must be equal to the number of image names in ``self.image_names``. .. note:: The figures are not closed by this method. If using the decorator version of ImageTesting, they will be closed for you. """ n_figures_msg = ('Expected %s figures (based on the number of ' 'image result filenames), but there are %s figures ' 'available. The most likely reason for this is that ' 'this test is producing too many figures, ' '(alternatively if not using ImageCompare as a ' 'decorator, it is possible that a test run prior to ' 'this one has not closed its figures).' '' % (len(self.img_names), len(figures)) ) assert len(figures) == len(self.img_names), n_figures_msg for img_name, figure in zip(self.img_names, figures): expected_path = self.expected_path(test_name, img_name, '.png') result_path = self.result_path(test_name, img_name, '.png') if not os.path.isdir(os.path.dirname(expected_path)): os.makedirs(os.path.dirname(expected_path)) if not os.path.isdir(os.path.dirname(result_path)): os.makedirs(os.path.dirname(result_path)) self.save_figure(figure, result_path) self.do_compare(result_path, expected_path, self.tolerance) def save_figure(self, figure, result_fname): """ The actual call which saves the figure. Returns nothing. May be overridden to do figure based pre-processing (such as removing text objects etc.) """ figure.savefig(result_fname) def do_compare(self, result_fname, expected_fname, tol): """ Runs the comparison of the result file with the expected file. If an RMS difference greater than ``tol`` is found an assertion error is raised with an appropriate message with the paths to the files concerned. """ if not os.path.exists(expected_fname): warnings.warn('Created image in %s' % expected_fname) shutil.copy2(result_fname, expected_fname) err = mcompare.compare_images(expected_fname, result_fname, tol=tol, in_decorator=True) if err: msg = ('Images were different (RMS: %s).\n%s %s %s\nConsider ' 'running idiff to inspect these differences.' '' % (err['rms'], err['actual'], err['expected'], err['diff'])) assert False, msg def __call__(self, test_func): """Called when the decorator is applied to a function.""" test_name = test_func.__name__ mod_name = test_func.__module__ if mod_name == '__main__': import sys fname = sys.modules[mod_name].__file__ mod_name = os.path.basename(os.path.splitext(fname)[0]) mod_name = mod_name.rsplit('.', 1)[-1] def wrapped(*args, **kwargs): orig_backend = plt.get_backend() plt.switch_backend('agg') mtests.setup() if pyplot_helpers.Gcf.figs: warnings.warn('Figures existed before running the %s %s test.' ' All figures should be closed after they run. ' 'They will be closed automatically now.' % (mod_name, test_name)) pyplot_helpers.Gcf.destroy_all() r = test_func(*args, **kwargs) fig_managers = pyplot_helpers.Gcf._activeQue figures = [manager.canvas.figure for manager in fig_managers] try: self.run_figure_comparisons(figures, test_name=mod_name) finally: for figure in figures: pyplot_helpers.Gcf.destroy_fig(figure) plt.switch_backend(orig_backend) return r # nose needs the function's name to be in the form "test_*" to # pick it up wrapped.__name__ = test_name return wrapped def failed_images_iter(): """ Return a generator of [expected, actual, diff] filenames for all failed image tests since the test output directory was created. """ baseline_img_dir = os.path.join(ImageTesting.root_image_results, 'baseline_images', 'mpl') diff_dir = os.path.join(ImageTesting.image_output_directory) baselines = sorted(glob.glob(os.path.join(baseline_img_dir, '*', '*.png'))) for expected_fname in baselines: # Get the relative path of the expected image 2 folders up. expected_rel = os.path.relpath( expected_fname, os.path.dirname(os.path.dirname(expected_fname))) result_fname = os.path.join( diff_dir, os.path.dirname(expected_rel), 'result-' + os.path.basename(expected_rel)) diff_fname = result_fname[:-4] + '-failed-diff.png' if os.path.exists(diff_fname): yield expected_fname, result_fname, diff_fname def failed_images_html(): """ Generates HTML which shows the image failures side-by-side when viewed in a web browser. """ data_uri_template = '{alt}' def image_as_base64(fname): with open(fname, "rb") as fh: return base64.b64encode(fh.read()).decode("ascii") html = ['', '', ''] for expected, actual, diff in failed_images_iter(): expected_html = data_uri_template.format( alt='expected', img=image_as_base64(expected)) actual_html = data_uri_template.format( alt='actual', img=image_as_base64(actual)) diff_html = data_uri_template.format( alt='diff', img=image_as_base64(diff)) html.extend([expected, '
', expected_html, actual_html, diff_html, '

']) html.extend(['', '']) return '\n'.join(html) def show(projection, geometry): orig_backend = matplotlib.get_backend() plt.switch_backend('tkagg') if geometry.type == 'MultiPolygon' and 1: multi_polygon = geometry for polygon in multi_polygon: import cartopy.mpl.patch as patch paths = patch.geos_to_path(polygon) for pth in paths: patch = mpatches.PathPatch(pth, edgecolor='none', lw=0, alpha=0.2) plt.gca().add_patch(patch) line_string = polygon.exterior plt.plot(*zip(*line_string.coords), marker='+', linestyle='-') elif geometry.type == 'MultiPolygon': multi_polygon = geometry for polygon in multi_polygon: line_string = polygon.exterior plt.plot(*zip(*line_string.coords), marker='+', linestyle='-') elif geometry.type == 'MultiLineString': multi_line_string = geometry for line_string in multi_line_string: plt.plot(*zip(*line_string.coords), marker='+', linestyle='-') elif geometry.type == 'LinearRing': plt.plot(*zip(*geometry.coords), marker='+', linestyle='-') if 1: # Whole map domain plt.autoscale() elif 0: # The left-hand triangle plt.xlim(-1.65e7, -1.2e7) plt.ylim(0.3e7, 0.65e7) elif 0: # The tip of the left-hand triangle plt.xlim(-1.65e7, -1.55e7) plt.ylim(0.3e7, 0.4e7) elif 1: # The very tip of the left-hand triangle plt.xlim(-1.632e7, -1.622e7) plt.ylim(0.327e7, 0.337e7) elif 1: # The tip of the right-hand triangle plt.xlim(1.55e7, 1.65e7) plt.ylim(0.3e7, 0.4e7) plt.plot(*zip(*projection.boundary.coords), marker='o', scalex=False, scaley=False, zorder=-1) plt.show() plt.switch_backend(orig_backend) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_axes.py0000644001374000021030000000564412700747662021525 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest from matplotlib.testing.decorators import cleanup import matplotlib.path as mpath import matplotlib.pyplot as plt from nose.tools import assert_equal import numpy as np import cartopy.crs as ccrs from cartopy.mpl.geoaxes import InterProjectionTransform from .test_caching import CallCounter class TestNoSpherical(unittest.TestCase): def setUp(self): self.ax = plt.axes(projection=ccrs.PlateCarree()) self.data = np.arange(12).reshape((3, 4)) def tearDown(self): plt.clf() plt.close() def test_contour(self): with self.assertRaises(ValueError): self.ax.contour(self.data, transform=ccrs.Geodetic()) def test_contourf(self): with self.assertRaises(ValueError): self.ax.contourf(self.data, transform=ccrs.Geodetic()) def test_pcolor(self): with self.assertRaises(ValueError): self.ax.pcolor(self.data, transform=ccrs.Geodetic()) def test_pcolormesh(self): with self.assertRaises(ValueError): self.ax.pcolormesh(self.data, transform=ccrs.Geodetic()) def test_transform_PlateCarree_shortcut(): src = ccrs.PlateCarree(central_longitude=0) target = ccrs.PlateCarree(central_longitude=180) # of the 3 paths, 2 of them cannot be short-cutted. pth1 = mpath.Path([[0.5, 0], [10, 10]]) pth2 = mpath.Path([[0.5, 91], [10, 10]]) pth3 = mpath.Path([[-0.5, 0], [10, 10]]) trans = InterProjectionTransform(src, target) counter = CallCounter(target, 'project_geometry') with counter: trans.transform_path(pth1) # pth1 should allow a short-cut. assert_equal(counter.count, 0) with counter: trans.transform_path(pth2) assert_equal(counter.count, 1) with counter: trans.transform_path(pth3) assert_equal(counter.count, 2) @cleanup def test_geoaxes_subplot(): ax = plt.subplot(1, 1, 1, projection=ccrs.PlateCarree()) assert_equal(str(ax.__class__), "") if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_caching.py0000644001374000021030000002121212700747662022146 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import gc import six import unittest try: from owslib.wmts import WebMapTileService except ImportError as e: WebMapTileService = None import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.collections import PatchCollection from matplotlib.path import Path import cartopy.crs as ccrs from cartopy.mpl.feature_artist import FeatureArtist from cartopy.io.ogc_clients import WMTSRasterSource, _OWSLIB_AVAILABLE import cartopy.io.shapereader import cartopy.mpl.geoaxes as cgeoaxes import cartopy.mpl.patch from cartopy.examples.waves import sample_data class CallCounter(object): """ Exposes a context manager which can count the number of calls to a specific function. (useful for cache checking!) Internally, the target function is replaced with a new one created by this context manager which then increments ``self.count`` every time it is called. Example usage:: show_counter = CallCounter(plt, 'show') with show_counter: plt.show() plt.show() plt.show() print show_counter.count # <--- outputs 3 """ def __init__(self, parent, function_name): self.count = 0 self.parent = parent self.function_name = function_name self.orig_fn = getattr(parent, function_name) def __enter__(self): def replacement_fn(*args, **kwargs): self.count += 1 return self.orig_fn(*args, **kwargs) setattr(self.parent, self.function_name, replacement_fn) return self def __exit__(self, exc_type, exc_val, exc_tb): setattr(self.parent, self.function_name, self.orig_fn) def test_coastline_loading_cache(): # a5caae040ee11e72a62a53100fe5edc355304419 added coastline caching. # This test ensures it is working. # Create coastlines to ensure they are cached. ax1 = plt.subplot(2, 1, 1, projection=ccrs.PlateCarree()) ax1.coastlines() plt.draw() # Create another instance of the coastlines and count # the number of times shapereader.Reader is created. counter = CallCounter(cartopy.io.shapereader.Reader, '__init__') with counter: ax2 = plt.subplot(2, 1, 1, projection=ccrs.Robinson()) ax2.coastlines() plt.draw() assert counter.count == 0, ('The shapereader Reader class was created {} ' 'times, indicating that the caching is not ' 'working.'.format(counter.count)) plt.close() def test_shapefile_transform_cache(): # a5caae040ee11e72a62a53100fe5edc355304419 added shapefile mpl # geometry caching based on geometry object id. This test ensures # it is working. coastline_path = cartopy.io.shapereader.natural_earth(resolution="50m", category='physical', name='coastline') geoms = cartopy.io.shapereader.Reader(coastline_path).geometries() # Use the first 10 of them. geoms = tuple(geoms)[:10] n_geom = len(geoms) ax = plt.axes(projection=ccrs.Robinson()) # Empty the cache. FeatureArtist._geom_key_to_geometry_cache.clear() FeatureArtist._geom_key_to_path_cache.clear() assert len(FeatureArtist._geom_key_to_geometry_cache) == 0 assert len(FeatureArtist._geom_key_to_path_cache) == 0 counter = CallCounter(ax.projection, 'project_geometry') with counter: ax.add_geometries(geoms, ccrs.PlateCarree()) ax.add_geometries(geoms, ccrs.PlateCarree()) ax.add_geometries(geoms[:], ccrs.PlateCarree()) ax.figure.canvas.draw() # Without caching the count would have been # n_calls * n_geom, but should now be just n_geom. assert counter.count == n_geom, ('The given geometry was transformed too ' 'many times (expected: %s; got %s) - the' ' caching is not working.' ''.format(n_geom, n_geom, counter.count)) # Check the cache has an entry for each geometry. assert len(FeatureArtist._geom_key_to_geometry_cache) == n_geom assert len(FeatureArtist._geom_key_to_path_cache) == n_geom # Check that the cache is empty again once we've dropped all references # to the source paths. plt.clf() del geoms gc.collect() assert len(FeatureArtist._geom_key_to_geometry_cache) == 0 assert len(FeatureArtist._geom_key_to_path_cache) == 0 plt.close() def test_contourf_transform_path_counting(): ax = plt.axes(projection=ccrs.Robinson()) ax.figure.canvas.draw() # Capture the size of the cache before our test. gc.collect() initial_cache_size = len(cgeoaxes._PATH_TRANSFORM_CACHE) path_to_geos_counter = CallCounter(cartopy.mpl.patch, 'path_to_geos') with path_to_geos_counter: x, y, z = sample_data((30, 60)) cs = plt.contourf(x, y, z, 5, transform=ccrs.PlateCarree()) n_geom = sum([len(c.get_paths()) for c in cs.collections]) del cs if not six.PY3: del c ax.figure.canvas.draw() # Before the performance enhancement, the count would have been 2 * n_geom, # but should now be just n_geom. msg = ('The given geometry was transformed too many times (expected: %s; ' 'got %s) - the caching is not working.' '' % (n_geom, path_to_geos_counter.count)) assert path_to_geos_counter.count == n_geom, msg # Check the cache has an entry for each geometry. assert len(cgeoaxes._PATH_TRANSFORM_CACHE) == initial_cache_size + n_geom # Check that the cache is empty again once we've dropped all references # to the source paths. plt.clf() gc.collect() assert len(cgeoaxes._PATH_TRANSFORM_CACHE) == initial_cache_size plt.close() @unittest.skipIf(not _OWSLIB_AVAILABLE, 'OWSLib is unavailable.') def test_wmts_tile_caching(): image_cache = WMTSRasterSource._shared_image_cache image_cache.clear() assert len(image_cache) == 0 url = 'https://map1c.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi' wmts = WebMapTileService(url) layer_name = 'MODIS_Terra_CorrectedReflectance_TrueColor' source = WMTSRasterSource(wmts, layer_name) gettile_counter = CallCounter(wmts, 'gettile') crs = ccrs.PlateCarree() extent = (-180, 180, -90, 90) resolution = (20, 10) with gettile_counter: source.fetch_raster(crs, extent, resolution) n_tiles = 2 assert gettile_counter.count == n_tiles, ('Too many tile requests - ' 'expected {}, got {}.'.format( n_tiles, gettile_counter.count) ) gc.collect() assert len(image_cache) == 1 assert len(image_cache[wmts]) == 1 tiles_key = (layer_name, '0') assert len(image_cache[wmts][tiles_key]) == n_tiles # Second time around we shouldn't request any more tiles so the # call count will stay the same. with gettile_counter: source.fetch_raster(crs, extent, resolution) assert gettile_counter.count == n_tiles, ('Too many tile requests - ' 'expected {}, got {}.'.format( n_tiles, gettile_counter.count) ) gc.collect() assert len(image_cache) == 1 assert len(image_cache[wmts]) == 1 tiles_key = (layer_name, '0') assert len(image_cache[wmts][tiles_key]) == n_tiles # Once there are no live references the weak-ref cache should clear. del source, wmts, gettile_counter gc.collect() assert len(image_cache) == 0 if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_crs.py0000644001374000021030000000321112700747662021340 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import matplotlib.pyplot as plt import cartopy.crs as ccrs from cartopy.tests.mpl import ImageTesting @ImageTesting(['lambert_conformal_south']) def test_lambert_south(): # Reference image: http://www.icsm.gov.au/mapping/map_projections.html crs = ccrs.LambertConformal(central_longitude=140, cutoff=65, secant_latitudes=(-30, -60)) ax = plt.axes(projection=crs) ax.coastlines() ax.gridlines() @ImageTesting(['mercator_squashed']) def test_mercator_squashed(): globe = ccrs.Globe(semimajor_axis=10000, semiminor_axis=9000, ellipse=None) crs = ccrs.Mercator(globe=globe, min_latitude=-40, max_latitude=40) ax = plt.axes(projection=crs) ax.coastlines() ax.gridlines() if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_examples.py0000644001374000021030000000314512700747662022375 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import numpy as np import matplotlib.pyplot as plt from cartopy.tests.mpl import ImageTesting class ExampleImageTesting(ImageTesting): """Subclasses ImageTesting to nullify the plt.show commands.""" def __call__(self, test_func): fn = ImageTesting.__call__(self, test_func) def new_fn(*args, **kwargs): try: show = plt.show plt.show = lambda *args, **kwargs: None r = fn(*args, **kwargs) finally: plt.show = show return r new_fn.__name__ = fn.__name__ return new_fn @ExampleImageTesting(['global_map']) def test_global_map(): import cartopy.examples.global_map as c c.main() if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_features.py0000644001374000021030000000531512700747662022376 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import matplotlib.pyplot as plt import cartopy.crs as ccrs import cartopy.feature as cfeature from cartopy.io.ogc_clients import _OWSLIB_AVAILABLE from cartopy.tests.mpl import ImageTesting @ImageTesting(['natural_earth']) def test_natural_earth(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.add_feature(cfeature.LAND) ax.add_feature(cfeature.OCEAN) ax.coastlines() ax.add_feature(cfeature.BORDERS, linestyle=':') ax.add_feature(cfeature.LAKES, alpha=0.5) ax.add_feature(cfeature.RIVERS) ax.set_xlim((-20, 60)) ax.set_ylim((-40, 40)) @ImageTesting(['natural_earth_custom']) def test_natural_earth_custom(): ax = plt.axes(projection=ccrs.PlateCarree()) feature = cfeature.NaturalEarthFeature('physical', 'coastline', '50m', edgecolor='black', facecolor='none') ax.add_feature(feature) ax.set_xlim((-26, -12)) ax.set_ylim((58, 72)) @ImageTesting(['gshhs_coastlines']) def test_gshhs(): ax = plt.axes(projection=ccrs.Mollweide()) ax.set_extent([138, 142, 32, 42], ccrs.Geodetic()) ax.stock_img() # Draw coastlines. ax.add_feature(cfeature.GSHHSFeature('coarse', edgecolor='red')) # Draw higher resolution lakes (and test overriding of kwargs) ax.add_feature(cfeature.GSHHSFeature('low', levels=[2], facecolor='green'), facecolor='blue') @unittest.skipIf(not _OWSLIB_AVAILABLE, 'OWSLib is unavailable.') @ImageTesting(['wfs']) def test_wfs(): ax = plt.axes(projection=ccrs.OSGB()) url = 'https://nsidc.org/cgi-bin/atlas_south?service=WFS' typename = 'land_excluding_antarctica' feature = cfeature.WFSFeature(url, typename, edgecolor='red') ax.add_feature(feature) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_gridliner.py0000644001374000021030000001406612705644356022543 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import matplotlib as mpl from matplotlib.backends.backend_agg import FigureCanvasAgg import matplotlib.pyplot as plt import matplotlib.ticker as mticker try: from unittest import mock except ImportError: import mock from nose.tools import assert_raises import numpy as np import cartopy.crs as ccrs from cartopy.mpl.geoaxes import GeoAxes from cartopy.mpl.gridliner import LATITUDE_FORMATTER, LONGITUDE_FORMATTER from cartopy.tests.mpl import ImageTesting @ImageTesting(['gridliner1']) def test_gridliner(): ny, nx = 2, 4 plt.figure(figsize=(10, 10)) ax = plt.subplot(nx, ny, 1, projection=ccrs.PlateCarree()) ax.set_global() ax.coastlines() ax.gridlines() ax = plt.subplot(nx, ny, 2, projection=ccrs.OSGB()) ax.set_global() ax.coastlines() ax.gridlines() ax = plt.subplot(nx, ny, 3, projection=ccrs.OSGB()) ax.set_global() ax.coastlines() ax.gridlines(ccrs.PlateCarree(), color='blue', linestyle='-') ax.gridlines(ccrs.OSGB()) ax = plt.subplot(nx, ny, 4, projection=ccrs.PlateCarree()) ax.set_global() ax.coastlines() ax.gridlines(ccrs.NorthPolarStereo(), alpha=0.5, linewidth=1.5, linestyle='-') ax = plt.subplot(nx, ny, 5, projection=ccrs.PlateCarree()) ax.set_global() ax.coastlines() osgb = ccrs.OSGB() ax.set_extent(tuple(osgb.x_limits) + tuple(osgb.y_limits), crs=osgb) ax.gridlines(osgb) ax = plt.subplot(nx, ny, 6, projection=ccrs.NorthPolarStereo()) ax.set_global() ax.coastlines() ax.gridlines(alpha=0.5, linewidth=1.5, linestyle='-') ax = plt.subplot(nx, ny, 7, projection=ccrs.NorthPolarStereo()) ax.set_global() ax.coastlines() osgb = ccrs.OSGB() ax.set_extent(tuple(osgb.x_limits) + tuple(osgb.y_limits), crs=osgb) ax.gridlines(osgb) ax = plt.subplot(nx, ny, 8, projection=ccrs.Robinson(central_longitude=135)) ax.set_global() ax.coastlines() ax.gridlines(ccrs.PlateCarree(), alpha=0.5, linewidth=1.5, linestyle='-') delta = 1.5e-2 plt.subplots_adjust(left=0 + delta, right=1 - delta, top=1 - delta, bottom=0 + delta) def test_gridliner_specified_lines(): xs = [0, 60, 120, 180, 240, 360] ys = [-90, -60, -30, 0, 30, 60, 90] ax = mock.Mock(_gridliners=[], spec=GeoAxes) gl = GeoAxes.gridlines(ax, xlocs=xs, ylocs=ys) assert isinstance(gl.xlocator, mticker.FixedLocator) assert isinstance(gl.ylocator, mticker.FixedLocator) assert gl.xlocator.tick_values(None, None).tolist() == xs assert gl.ylocator.tick_values(None, None).tolist() == ys # The tolerance on this test is particularly high because of the high number # of text objects. A new testing strategy is needed for this kind of test. @ImageTesting(['gridliner_labels' if mpl.__version__ >= '1.5' else 'gridliner_labels_pre_mpl_1.5']) def test_grid_labels(): plt.figure(figsize=(8, 10)) crs_pc = ccrs.PlateCarree() crs_merc = ccrs.Mercator() crs_osgb = ccrs.OSGB() ax = plt.subplot(3, 2, 1, projection=crs_pc) ax.coastlines() ax.gridlines(draw_labels=True) # Check that adding labels to Mercator gridlines gives an error. # (Currently can only label PlateCarree gridlines.) ax = plt.subplot(3, 2, 2, projection=ccrs.PlateCarree(central_longitude=180)) ax.coastlines() with assert_raises(TypeError): ax.gridlines(crs=crs_merc, draw_labels=True) ax.set_title('Known bug') gl = ax.gridlines(crs=crs_pc, draw_labels=True) gl.xlabels_top = False gl.ylabels_left = False gl.xlines = False ax = plt.subplot(3, 2, 3, projection=crs_merc) ax.coastlines() ax.gridlines(draw_labels=True) # Check that labelling the gridlines on an OSGB plot gives an error. # (Currently can only draw these on PlateCarree or Mercator plots.) ax = plt.subplot(3, 2, 4, projection=crs_osgb) ax.coastlines() with assert_raises(TypeError): ax.gridlines(draw_labels=True) ax = plt.subplot(3, 2, 4, projection=crs_pc) ax.coastlines() gl = ax.gridlines( crs=crs_pc, linewidth=2, color='gray', alpha=0.5, linestyle='--') gl.xlabels_bottom = True gl.ylabels_right = True gl.xlines = False gl.xlocator = mticker.FixedLocator([-180, -45, 45, 180]) gl.xformatter = LONGITUDE_FORMATTER gl.yformatter = LATITUDE_FORMATTER gl.xlabel_style = {'size': 15, 'color': 'gray'} gl.xlabel_style = {'color': 'red'} # trigger a draw at this point and check the appropriate artists are # populated on the gridliner instance FigureCanvasAgg(plt.gcf()).draw() assert len(gl.xlabel_artists) == 4 assert len(gl.ylabel_artists) == 5 assert len(gl.ylabel_artists) == 5 assert len(gl.xline_artists) == 0 ax = plt.subplot(3, 2, 5, projection=crs_pc) ax.set_extent([-20, 10.0, 45.0, 70.0]) ax.coastlines() ax.gridlines(draw_labels=True) ax = plt.subplot(3, 2, 6, projection=crs_merc) ax.set_extent([-20, 10.0, 45.0, 70.0], crs=crs_pc) ax.coastlines() ax.gridlines(draw_labels=True) # Increase margins between plots to stop them bumping into one another. plt.subplots_adjust(wspace=0.25, hspace=0.25) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_images.py0000644001374000021030000001453012700747662022024 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import os import types import numpy as np import matplotlib.pyplot as plt from PIL import Image import shapely.geometry as sgeom from cartopy import config import cartopy.crs as ccrs import cartopy.io.img_tiles as cimgt from cartopy.tests.mpl import ImageTesting import cartopy.tests.test_img_nest as ctest_nest import cartopy.tests.test_img_tiles as ctest_tiles NATURAL_EARTH_IMG = os.path.join(config["repo_data_dir"], 'raster', 'natural_earth', '50-natural-earth-1-downsampled.png') REGIONAL_IMG = os.path.join(config['repo_data_dir'], 'raster', 'sample', 'Miriam.A2012270.2050.2km.jpg') # We have an exceptionally large tolerance for the web_tiles test. # The basemap changes on a regular basis (for seasons) and we really only # care that it is putting images onto the map which are roughly correct. @ImageTesting(['web_tiles'], tolerance=2) def test_web_tiles(): extent = [-15, 0.1, 50, 60] target_domain = sgeom.Polygon([[extent[0], extent[1]], [extent[2], extent[1]], [extent[2], extent[3]], [extent[0], extent[3]], [extent[0], extent[1]]]) map_prj = cimgt.GoogleTiles().crs ax = plt.subplot(3, 2, 1, projection=map_prj) gt = cimgt.GoogleTiles() gt._image_url = types.MethodType(ctest_tiles.GOOGLE_IMAGE_URL_REPLACEMENT, gt) img, extent, origin = gt.image_for_domain(target_domain, 1) ax.imshow(np.array(img), extent=extent, transform=gt.crs, interpolation='bilinear', origin=origin) ax.coastlines(color='white') ax = plt.subplot(3, 2, 2, projection=map_prj) qt = cimgt.QuadtreeTiles() img, extent, origin = qt.image_for_domain(target_domain, 1) ax.imshow(np.array(img), extent=extent, transform=qt.crs, interpolation='bilinear', origin=origin) ax.coastlines(color='white') ax = plt.subplot(3, 2, 3, projection=map_prj) mq_osm = cimgt.MapQuestOSM() img, extent, origin = mq_osm.image_for_domain(target_domain, 1) ax.imshow(np.array(img), extent=extent, transform=mq_osm.crs, interpolation='bilinear', origin=origin) ax.coastlines() ax = plt.subplot(3, 2, 4, projection=map_prj) mq_oa = cimgt.MapQuestOpenAerial() img, extent, origin = mq_oa.image_for_domain(target_domain, 1) ax.imshow(np.array(img), extent=extent, transform=mq_oa.crs, interpolation='bilinear', origin=origin) ax.coastlines() ax = plt.subplot(3, 2, 5, projection=map_prj) osm = cimgt.OSM() img, extent, origin = osm.image_for_domain(target_domain, 1) ax.imshow(np.array(img), extent=extent, transform=osm.crs, interpolation='bilinear', origin=origin) ax.coastlines() @ImageTesting(['image_nest'], tolerance=1.5) def test_image_nest(): nest_z0_z1 = ctest_nest.gen_nest() ax = plt.axes(projection=ccrs.Mercator()) shper_globe = ccrs.Globe(semimajor_axis=np.rad2deg(1)) spher_merc = ccrs.Mercator(globe=shper_globe) ax.set_extent([-45, 45, -45, 90], spher_merc) ax.coastlines() ax.add_image(nest_z0_z1, 'aerial z1 test') @ImageTesting(['image_merge']) def test_image_merge(): # tests the basic image merging functionality tiles = [] for i in range(1, 4): for j in range(0, 3): tiles.append((i, j, 2)) gt = cimgt.GoogleTiles() gt._image_url = types.MethodType(ctest_tiles.GOOGLE_IMAGE_URL_REPLACEMENT, gt) images_to_merge = [] for tile in tiles: img, extent, origin = gt.get_image(tile) img = np.array(img) x = np.linspace(extent[0], extent[1], img.shape[1], endpoint=False) y = np.linspace(extent[2], extent[3], img.shape[0], endpoint=False) images_to_merge.append([img, x, y, origin]) img, extent, origin = cimgt._merge_tiles(images_to_merge) ax = plt.axes(projection=gt.crs) ax.set_global() ax.coastlines() plt.imshow(img, origin=origin, extent=extent, alpha=0.5) @ImageTesting(['imshow_natural_earth_ortho']) def test_imshow(): source_proj = ccrs.PlateCarree() img = plt.imread(NATURAL_EARTH_IMG) # Convert the image to a byte array, rather than float, which is the # form that JPG images would be loaded with imread. img = (img * 255).astype('uint8') ax = plt.axes(projection=ccrs.Orthographic()) ax.imshow(img, origin='upper', transform=source_proj, extent=[-180, 180, -90, 90]) @ImageTesting(['imshow_regional_projected']) def test_imshow_projected(): source_proj = ccrs.PlateCarree() img_extent = (-120.67660000000001, -106.32104523100001, 13.2301484511245, 30.766899999999502) img = plt.imread(REGIONAL_IMG) ax = plt.axes(projection=ccrs.LambertConformal()) ax.set_extent(img_extent, crs=source_proj) ax.coastlines(resolution='50m') ax.imshow(img, extent=img_extent, origin='upper', transform=source_proj) @ImageTesting(['imshow_natural_earth_ortho'], tolerance=0.7) def test_stock_img(): ax = plt.axes(projection=ccrs.Orthographic()) ax.stock_img() @ImageTesting(['imshow_natural_earth_ortho']) def test_pil_Image(): img = Image.open(NATURAL_EARTH_IMG) source_proj = ccrs.PlateCarree() ax = plt.axes(projection=ccrs.Orthographic()) ax.imshow(img, origin='upper', transform=source_proj, extent=[-180, 180, -90, 90]) if __name__ == '__main__': import nose nose.runmodule(argv=['-sv', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_img_transform.py0000644001374000021030000001242512700747662023427 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import operator import os import unittest import matplotlib import matplotlib.pyplot as plt import numpy as np from cartopy import config from cartopy.tests.mpl import ImageTesting import cartopy.crs as ccrs import cartopy.img_transform as im_trans from functools import reduce class TestRegrid(unittest.TestCase): def test_array_dims(self): # Source data source_nx = 100 source_ny = 100 source_x = np.linspace(-180.0, 180.0, source_nx).astype(np.float64) source_y = np.linspace(-90, 90.0, source_ny).astype(np.float64) source_x, source_y = np.meshgrid(source_x, source_y) data = np.arange(source_nx * source_ny, dtype=np.int32).reshape(source_ny, source_nx) source_cs = ccrs.Geodetic() # Target grid target_nx = 23 target_ny = 45 target_proj = ccrs.PlateCarree() target_x, target_y, extent = im_trans.mesh_projection(target_proj, target_nx, target_ny) # Perform regrid new_array = im_trans.regrid(data, source_x, source_y, source_cs, target_proj, target_x, target_y) # Check dimensions of return array self.assertEqual(new_array.shape, target_x.shape) self.assertEqual(new_array.shape, target_y.shape) self.assertEqual(new_array.shape, (target_ny, target_nx)) def test_different_dims(self): # Source data source_nx = 100 source_ny = 100 source_x = np.linspace(-180.0, 180.0, source_nx).astype(np.float64) source_y = np.linspace(-90, 90.0, source_ny).astype(np.float64) source_x, source_y = np.meshgrid(source_x, source_y) data = np.arange(source_nx * source_ny, dtype=np.int32).reshape(source_ny, source_nx) source_cs = ccrs.Geodetic() # Target grids (different shapes) target_x_shape = (23, 45) target_y_shape = (23, 44) target_x = np.arange(reduce(operator.mul, target_x_shape), dtype=np.float64).reshape(target_x_shape) target_y = np.arange(reduce(operator.mul, target_y_shape), dtype=np.float64).reshape(target_y_shape) target_proj = ccrs.PlateCarree() # Attempt regrid with self.assertRaises(ValueError): im_trans.regrid(data, source_x, source_y, source_cs, target_proj, target_x, target_y) @ImageTesting(['regrid_image'], tolerance=0.4) def test_regrid_image(): # Source data fname = os.path.join(config["repo_data_dir"], 'raster', 'natural_earth', '50-natural-earth-1-downsampled.png') nx = 720 ny = 360 source_proj = ccrs.PlateCarree() source_x, source_y, _ = im_trans.mesh_projection(source_proj, nx, ny) data = plt.imread(fname) # Flip vertically to match source_x/source_y orientation data = data[::-1] # Target grid target_nx = 300 target_ny = 300 target_proj = ccrs.InterruptedGoodeHomolosine() target_x, target_y, target_extent = im_trans.mesh_projection(target_proj, target_nx, target_ny) # Perform regrid new_array = im_trans.regrid(data, source_x, source_y, source_proj, target_proj, target_x, target_y) # Plot fig = plt.figure(figsize=(10, 10)) gs = matplotlib.gridspec.GridSpec(nrows=4, ncols=1, hspace=1.5, wspace=0.5) # Set up axes and title ax = plt.subplot(gs[0], frameon=False, projection=target_proj) plt.imshow(new_array, origin='lower', extent=target_extent) ax.coastlines() # Plot each color slice (tests masking) cmaps = {'red': 'Reds', 'green': 'Greens', 'blue': 'Blues'} for i, color in enumerate(['red', 'green', 'blue']): ax = plt.subplot(gs[i + 1], frameon=False, projection=target_proj) plt.imshow(new_array[:, :, i], extent=target_extent, origin='lower', cmap=cmaps[color]) ax.coastlines() # Tighten up layout gs.tight_layout(plt.gcf()) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_mpl_integration.py0000644001374000021030000004451512705644356023761 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import math import warnings from nose.tools import assert_equal try: from nose.tools import assert_regex except ImportError: from nose.tools import assert_regexp_matches as assert_regex import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import six import cartopy.crs as ccrs from cartopy.tests.mpl import ImageTesting _ROB_TOL = 0.5 if ccrs.PROJ4_VERSION < (4, 9) else 0.1 @ImageTesting(['global_contour_wrap']) def test_global_contour_wrap_new_transform(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines() x, y = np.meshgrid(np.linspace(0, 360), np.linspace(-90, 90)) data = np.sin(np.sqrt(x ** 2 + y ** 2)) plt.contour(x, y, data, transform=ccrs.PlateCarree()) @ImageTesting(['global_contour_wrap']) def test_global_contour_wrap_no_transform(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines() x, y = np.meshgrid(np.linspace(0, 360), np.linspace(-90, 90)) data = np.sin(np.sqrt(x ** 2 + y ** 2)) plt.contour(x, y, data) @ImageTesting(['global_contourf_wrap']) def test_global_contourf_wrap_new_transform(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines() x, y = np.meshgrid(np.linspace(0, 360), np.linspace(-90, 90)) data = np.sin(np.sqrt(x ** 2 + y ** 2)) plt.contourf(x, y, data, transform=ccrs.PlateCarree()) @ImageTesting(['global_contourf_wrap']) def test_global_contourf_wrap_no_transform(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines() x, y = np.meshgrid(np.linspace(0, 360), np.linspace(-90, 90)) data = np.sin(np.sqrt(x ** 2 + y ** 2)) plt.contourf(x, y, data) global_pcolor_wrap = ('global_pcolor_wrap' if mpl.__version__ >= '1.5' else 'global_pcolor_wrap_pre_mpl_1.5') @ImageTesting([global_pcolor_wrap]) def test_global_pcolor_wrap_new_transform(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines() x, y = np.meshgrid(np.linspace(0, 360), np.linspace(-90, 90)) data = np.sin(np.sqrt(x ** 2 + y ** 2)) plt.pcolor(x, y, data, transform=ccrs.PlateCarree()) @ImageTesting([global_pcolor_wrap]) def test_global_pcolor_wrap_no_transform(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines() x, y = np.meshgrid(np.linspace(0, 360), np.linspace(-90, 90)) data = np.sin(np.sqrt(x ** 2 + y ** 2)) plt.pcolor(x, y, data) @ImageTesting(['global_scatter_wrap']) def test_global_scatter_wrap_new_transform(): ax = plt.axes(projection=ccrs.PlateCarree()) # By default the coastline feature will be drawn after patches. # By setting zorder we can ensure our scatter points are drawn # after the coastlines. ax.coastlines(zorder=0) x, y = np.meshgrid(np.linspace(0, 360), np.linspace(-90, 90)) data = np.sin(np.sqrt(x ** 2 + y ** 2)) plt.scatter(x, y, c=data, transform=ccrs.PlateCarree()) @ImageTesting(['global_scatter_wrap']) def test_global_scatter_wrap_no_transform(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines(zorder=0) x, y = np.meshgrid(np.linspace(0, 360), np.linspace(-90, 90)) data = np.sin(np.sqrt(x ** 2 + y ** 2)) plt.scatter(x, y, c=data) @ImageTesting(['global_map'], tolerance=16 if ccrs.PROJ4_VERSION < (4, 9) else 0.1) def test_global_map(): ax = plt.axes(projection=ccrs.Robinson()) # ax.coastlines() # ax.gridlines(5) plt.plot(-0.08, 51.53, 'o', transform=ccrs.PlateCarree()) plt.plot([-0.08, 132], [51.53, 43.17], color='red', transform=ccrs.PlateCarree()) plt.plot([-0.08, 132], [51.53, 43.17], color='blue', transform=ccrs.Geodetic()) @ImageTesting(['simple_global']) def test_simple_global(): plt.axes(projection=ccrs.PlateCarree()) plt.gca().coastlines() # produces a global map, despite not having needed to set the limits @ImageTesting(['multiple_projections1']) def test_multiple_projections(): projections = [ccrs.PlateCarree(), ccrs.Robinson(), ccrs.RotatedPole(pole_latitude=45, pole_longitude=180), ccrs.OSGB(), ccrs.TransverseMercator(), ccrs.Mercator( globe=ccrs.Globe(semimajor_axis=math.degrees(1)), min_latitude=-85., max_latitude=85.), ccrs.LambertCylindrical(), ccrs.Miller(), ccrs.Gnomonic(), ccrs.Stereographic(), ccrs.NorthPolarStereo(), ccrs.SouthPolarStereo(), ccrs.Orthographic(), ccrs.Mollweide(), ccrs.InterruptedGoodeHomolosine(), ] fig = plt.figure(figsize=(10, 10)) for i, prj in enumerate(projections, 1): ax = fig.add_subplot(5, 5, i, projection=prj) ax.set_global() ax.coastlines() plt.plot(-0.08, 51.53, 'o', transform=ccrs.PlateCarree()) plt.plot([-0.08, 132], [51.53, 43.17], color='red', transform=ccrs.PlateCarree()) plt.plot([-0.08, 132], [51.53, 43.17], color='blue', transform=ccrs.Geodetic()) def test_cursor_values(): ax = plt.axes(projection=ccrs.NorthPolarStereo()) x, y = np.array([-969100.]), np.array([-4457000.]) r = ax.format_coord(x, y) assert_equal(r.encode('ascii', 'ignore'), six.b('-9.691e+05, -4.457e+06 (50.716617N, 12.267069W)')) ax = plt.axes(projection=ccrs.PlateCarree()) x, y = np.array([-181.5]), np.array([50.]) r = ax.format_coord(x, y) assert_equal(r.encode('ascii', 'ignore'), six.b('-181.5, 50 (50.000000N, 178.500000E)')) ax = plt.axes(projection=ccrs.Robinson()) x, y = np.array([16060595.2]), np.array([2363093.4]) r = ax.format_coord(x, y) assert_regex(r.encode('ascii', 'ignore'), six.b('1.606e\\+07, 2.363e\\+06 ' '\\(22.09[0-9]{4}N, 173.70[0-9]{4}E\\)')) plt.close() @ImageTesting(['natural_earth_interface'], tolerance=_ROB_TOL) def test_axes_natural_earth_interface(): rob = ccrs.Robinson() ax = plt.axes(projection=rob) with warnings.catch_warnings(record=True) as all_warnings: warnings.simplefilter('always') ax.natural_earth_shp('rivers_lake_centerlines', edgecolor='black', facecolor='none') ax.natural_earth_shp('lakes', facecolor='blue') assert_equal(len(all_warnings), 2) for warning in all_warnings: msg = str(warning.message) assert 'deprecated' in msg assert 'add_feature' in msg @ImageTesting(['pcolormesh_global_wrap1']) def test_pcolormesh_global_with_wrap1(): # make up some realistic data with bounds (such as data from the UM) nx, ny = 36, 18 xbnds = np.linspace(0, 360, nx, endpoint=True) ybnds = np.linspace(-90, 90, ny, endpoint=True) x, y = np.meshgrid(xbnds, ybnds) data = np.exp(np.sin(np.deg2rad(x)) + np.cos(np.deg2rad(y))) data = data[:-1, :-1] ax = plt.subplot(211, projection=ccrs.PlateCarree()) plt.pcolormesh(xbnds, ybnds, data, transform=ccrs.PlateCarree()) ax.coastlines() ax.set_global() # make sure everything is visible ax = plt.subplot(212, projection=ccrs.PlateCarree(180)) plt.pcolormesh(xbnds, ybnds, data, transform=ccrs.PlateCarree()) ax.coastlines() ax.set_global() # make sure everything is visible @ImageTesting(['pcolormesh_global_wrap2']) def test_pcolormesh_global_with_wrap2(): # make up some realistic data with bounds (such as data from the UM) nx, ny = 36, 18 xbnds, xstep = np.linspace(0, 360, nx - 1, retstep=True, endpoint=True) ybnds, ystep = np.linspace(-90, 90, nx - 1, retstep=True, endpoint=True) xbnds -= xstep / 2 ybnds -= ystep / 2 xbnds = np.append(xbnds, xbnds[-1] + xstep) ybnds = np.append(ybnds, ybnds[-1] + ystep) x, y = np.meshgrid(xbnds, ybnds) data = np.exp(np.sin(np.deg2rad(x)) + np.cos(np.deg2rad(y))) data = data[:-1, :-1] ax = plt.subplot(211, projection=ccrs.PlateCarree()) plt.pcolormesh(xbnds, ybnds, data, transform=ccrs.PlateCarree()) ax.coastlines() ax.set_global() # make sure everything is visible ax = plt.subplot(212, projection=ccrs.PlateCarree(180)) plt.pcolormesh(xbnds, ybnds, data, transform=ccrs.PlateCarree()) ax.coastlines() ax.set_global() # make sure everything is visible @ImageTesting(['pcolormesh_global_wrap3'], tolerance=_ROB_TOL) def test_pcolormesh_global_with_wrap3(): nx, ny = 33, 17 xbnds = np.linspace(-1.875, 358.125, nx, endpoint=True) ybnds = np.linspace(91.25, -91.25, ny, endpoint=True) xbnds, ybnds = np.meshgrid(xbnds, ybnds) data = np.exp(np.sin(np.deg2rad(xbnds)) + np.cos(np.deg2rad(ybnds))) # this step is not necessary, but makes the plot even harder to do (i.e. # it really puts cartopy through its paces) ybnds = np.append(ybnds, ybnds[:, 1:2], axis=1) xbnds = np.append(xbnds, xbnds[:, 1:2] + 360, axis=1) data = np.ma.concatenate([data, data[:, 0:1]], axis=1) data = data[:-1, :-1] data = np.ma.masked_greater(data, 2.6) ax = plt.subplot(311, projection=ccrs.PlateCarree(-45)) c = plt.pcolormesh(xbnds, ybnds, data, transform=ccrs.PlateCarree()) assert c._wrapped_collection_fix is not None, \ 'No pcolormesh wrapping was done when it should have been.' ax.coastlines() ax.set_global() # make sure everything is visible ax = plt.subplot(312, projection=ccrs.PlateCarree(-1.87499952)) plt.pcolormesh(xbnds, ybnds, data, transform=ccrs.PlateCarree()) ax.coastlines() ax.set_global() # make sure everything is visible ax = plt.subplot(313, projection=ccrs.Robinson(-2)) plt.pcolormesh(xbnds, ybnds, data, transform=ccrs.PlateCarree()) ax.coastlines() ax.set_global() # make sure everything is visible @ImageTesting(['pcolormesh_limited_area_wrap']) def test_pcolormesh_limited_area_wrap(): # make up some realistic data with bounds (such as data from the UM's North # Atlantic Europe model) nx, ny = 22, 36 xbnds = np.linspace(311.91998291, 391.11999512, nx, endpoint=True) ybnds = np.linspace(-23.59000015, 24.81000137, ny, endpoint=True) x, y = np.meshgrid(xbnds, ybnds) data = ((np.sin(np.deg2rad(x))) / 10. + np.exp(np.cos(np.deg2rad(y)))) data = data[:-1, :-1] rp = ccrs.RotatedPole(pole_longitude=177.5, pole_latitude=37.5) plt.figure(figsize=(10, 6)) ax = plt.subplot(221, projection=ccrs.PlateCarree()) plt.pcolormesh(xbnds, ybnds, data, transform=rp, cmap='Set1') ax.coastlines() ax = plt.subplot(222, projection=ccrs.PlateCarree(180)) plt.pcolormesh(xbnds, ybnds, data, transform=rp, cmap='Set1') ax.coastlines() ax.set_global() # draw the same plot, only more zoomed in, and using the 2d versions # of the coordinates (just to test that 1d and 2d are both suitably # being fixed) ax = plt.subplot(223, projection=ccrs.PlateCarree(180)) plt.pcolormesh(x, y, data, transform=rp, cmap='Set1') ax.coastlines() ax.set_extent([-70, 0, 0, 80]) ax = plt.subplot(224, projection=rp) plt.pcolormesh(xbnds, ybnds, data, transform=rp, cmap='Set1') ax.coastlines() @ImageTesting(['pcolormesh_goode_wrap']) def test_pcolormesh_goode_wrap(): # global data on an Interrupted Goode Homolosine projection # shouldn't spill outside projection boundary x = np.linspace(0, 360, 73) y = np.linspace(-87.5, 87.5, 36) X, Y = np.meshgrid(*[np.deg2rad(c) for c in (x, y)]) Z = np.cos(Y) + 0.375 * np.sin(2. * X) Z = Z[:-1, :-1] ax = plt.axes(projection=ccrs.InterruptedGoodeHomolosine()) ax.coastlines() ax.pcolormesh(x, y, Z, transform=ccrs.PlateCarree()) @ImageTesting(['pcolormesh_mercator_wrap']) def test_pcolormesh_mercator_wrap(): x = np.linspace(0, 360, 73) y = np.linspace(-87.5, 87.5, 36) X, Y = np.meshgrid(*[np.deg2rad(c) for c in (x, y)]) Z = np.cos(Y) + 0.375 * np.sin(2. * X) Z = Z[:-1, :-1] ax = plt.axes(projection=ccrs.Mercator()) ax.coastlines() ax.pcolormesh(x, y, Z, transform=ccrs.PlateCarree()) @ImageTesting(['quiver_plate_carree']) def test_quiver_plate_carree(): x = np.arange(-60, 42.5, 2.5) y = np.arange(30, 72.5, 2.5) x2d, y2d = np.meshgrid(x, y) u = np.cos(np.deg2rad(y2d)) v = np.cos(2. * np.deg2rad(x2d)) mag = (u**2 + v**2)**.5 plot_extent = [-60, 40, 30, 70] plt.figure(figsize=(6, 6)) # plot on native projection ax = plt.subplot(211, projection=ccrs.PlateCarree()) ax.set_extent(plot_extent, crs=ccrs.PlateCarree()) ax.coastlines() ax.quiver(x, y, u, v, mag) # plot on a different projection ax = plt.subplot(212, projection=ccrs.NorthPolarStereo()) ax.set_extent(plot_extent, crs=ccrs.PlateCarree()) ax.coastlines() ax.quiver(x, y, u, v, mag, transform=ccrs.PlateCarree()) @ImageTesting(['quiver_rotated_pole']) def test_quiver_rotated_pole(): nx, ny = 22, 36 x = np.linspace(311.91998291, 391.11999512, nx, endpoint=True) y = np.linspace(-23.59000015, 24.81000137, ny, endpoint=True) x2d, y2d = np.meshgrid(x, y) u = np.cos(np.deg2rad(y2d)) v = -2. * np.cos(2. * np.deg2rad(y2d)) * np.sin(np.deg2rad(x2d)) mag = (u**2 + v**2)**.5 rp = ccrs.RotatedPole(pole_longitude=177.5, pole_latitude=37.5) plot_extent = [x[0], x[-1], y[0], y[-1]] # plot on native projection plt.figure(figsize=(6, 6)) ax = plt.subplot(211, projection=rp) ax.set_extent(plot_extent, crs=rp) ax.coastlines() ax.quiver(x, y, u, v, mag) # plot on different projection ax = plt.subplot(212, projection=ccrs.PlateCarree()) ax.set_extent(plot_extent, crs=rp) ax.coastlines() ax.quiver(x, y, u, v, mag, transform=rp) @ImageTesting(['quiver_regrid']) def test_quiver_regrid(): x = np.arange(-60, 42.5, 2.5) y = np.arange(30, 72.5, 2.5) x2d, y2d = np.meshgrid(x, y) u = np.cos(np.deg2rad(y2d)) v = np.cos(2. * np.deg2rad(x2d)) mag = (u**2 + v**2)**.5 plot_extent = [-60, 40, 30, 70] plt.figure(figsize=(6, 3)) ax = plt.axes(projection=ccrs.NorthPolarStereo()) ax.set_extent(plot_extent, crs=ccrs.PlateCarree()) ax.coastlines() ax.quiver(x, y, u, v, mag, transform=ccrs.PlateCarree(), regrid_shape=30) @ImageTesting(['quiver_regrid_with_extent']) def test_quiver_regrid_with_extent(): x = np.arange(-60, 42.5, 2.5) y = np.arange(30, 72.5, 2.5) x2d, y2d = np.meshgrid(x, y) u = np.cos(np.deg2rad(y2d)) v = np.cos(2. * np.deg2rad(x2d)) mag = (u**2 + v**2)**.5 plot_extent = [-60, 40, 30, 70] target_extent = [-3e6, 2e6, -6e6, -2.5e6] plt.figure(figsize=(6, 3)) ax = plt.axes(projection=ccrs.NorthPolarStereo()) ax.set_extent(plot_extent, crs=ccrs.PlateCarree()) ax.coastlines() ax.quiver(x, y, u, v, mag, transform=ccrs.PlateCarree(), regrid_shape=10, target_extent=target_extent) @ImageTesting(['barbs_plate_carree']) def test_barbs(): x = np.arange(-60, 45, 5) y = np.arange(30, 75, 5) x2d, y2d = np.meshgrid(x, y) u = 40 * np.cos(np.deg2rad(y2d)) v = 40 * np.cos(2. * np.deg2rad(x2d)) mag = (u**2 + v**2)**.5 plot_extent = [-60, 40, 30, 70] plt.figure(figsize=(6, 6)) # plot on native projection ax = plt.subplot(211, projection=ccrs.PlateCarree()) ax.set_extent(plot_extent, crs=ccrs.PlateCarree()) ax.coastlines() ax.barbs(x, y, u, v, length=4, linewidth=.25) # plot on a different projection ax = plt.subplot(212, projection=ccrs.NorthPolarStereo()) ax.set_extent(plot_extent, crs=ccrs.PlateCarree()) ax.coastlines() ax.barbs(x, y, u, v, transform=ccrs.PlateCarree(), length=4, linewidth=.25) @ImageTesting(['barbs_regrid']) def test_barbs_regrid(): x = np.arange(-60, 42.5, 2.5) y = np.arange(30, 72.5, 2.5) x2d, y2d = np.meshgrid(x, y) u = 40 * np.cos(np.deg2rad(y2d)) v = 40 * np.cos(2. * np.deg2rad(x2d)) mag = (u**2 + v**2)**.5 plot_extent = [-60, 40, 30, 70] plt.figure(figsize=(6, 3)) ax = plt.axes(projection=ccrs.NorthPolarStereo()) ax.set_extent(plot_extent, crs=ccrs.PlateCarree()) ax.coastlines() ax.barbs(x, y, u, v, mag, transform=ccrs.PlateCarree(), length=4, linewidth=.4, regrid_shape=20) @ImageTesting(['barbs_regrid_with_extent']) def test_barbs_regrid_with_extent(): x = np.arange(-60, 42.5, 2.5) y = np.arange(30, 72.5, 2.5) x2d, y2d = np.meshgrid(x, y) u = 40 * np.cos(np.deg2rad(y2d)) v = 40 * np.cos(2. * np.deg2rad(x2d)) mag = (u**2 + v**2)**.5 plot_extent = [-60, 40, 30, 70] target_extent = [-3e6, 2e6, -6e6, -2.5e6] plt.figure(figsize=(6, 3)) ax = plt.axes(projection=ccrs.NorthPolarStereo()) ax.set_extent(plot_extent, crs=ccrs.PlateCarree()) ax.coastlines() ax.barbs(x, y, u, v, mag, transform=ccrs.PlateCarree(), length=4, linewidth=.25, regrid_shape=10, target_extent=target_extent) @ImageTesting(['streamplot' if mpl.__version__ >= '1.5' else 'streamplot_pre_mpl_1.5']) def test_streamplot(): x = np.arange(-60, 42.5, 2.5) y = np.arange(30, 72.5, 2.5) x2d, y2d = np.meshgrid(x, y) u = np.cos(np.deg2rad(y2d)) v = np.cos(2. * np.deg2rad(x2d)) mag = (u**2 + v**2)**.5 plot_extent = [-60, 40, 30, 70] plt.figure(figsize=(6, 3)) ax = plt.axes(projection=ccrs.NorthPolarStereo()) ax.set_extent(plot_extent, crs=ccrs.PlateCarree()) ax.coastlines() ax.streamplot(x, y, u, v, transform=ccrs.PlateCarree(), density=(1.5, 2), color=mag, linewidth=2*mag) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_patch.py0000644001374000021030000000406012700747662021653 0ustar itpeavd00000000000000# (C) British Crown Copyright 2015 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import six import unittest from matplotlib.path import Path import shapely.geometry as sgeom import cartopy.mpl.patch as cpatch class Test_path_to_geos(unittest.TestCase): def test_empty_polyon(self): p = Path([[0, 0], [0, 0], [0, 0], [0, 0], [1, 2], [1, 2], [1, 2], [1, 2]], codes=[1, 2, 2, 79, 1, 2, 2, 79]) geoms = cpatch.path_to_geos(p) self.assertEqual(list(type(geom) for geom in geoms), [sgeom.Point, sgeom.Point]) self.assertEqual(len(geoms), 2) def test_polygon_with_interior_and_singularity(self): # A geometry with two interiors, one a single point. p = Path([[0, -90], [200, -40], [200, 40], [0, 40], [0, -90], [126, 26], [126, 26], [126, 26], [126, 26], [126, 26], [114, 5], [103, 8], [126, 12], [126, 0], [114, 5]], codes=[1, 2, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2]) geoms = cpatch.path_to_geos(p) self.assertEqual(list(type(geom) for geom in geoms), [sgeom.Polygon, sgeom.Point]) self.assertEqual(len(geoms[0].interiors), 1) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_pseudo_color.py0000644001374000021030000000513412705644356023255 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import io import matplotlib.pyplot as plt try: from unittest import mock except ImportError: import mock from nose.tools import assert_equal import numpy as np import cartopy.crs as ccrs def test_pcolormesh_fully_masked(): data = np.ma.masked_all((30, 40)) # Check that a fully masked data array doesn't trigger a pcolor call. with mock.patch('cartopy.mpl.geoaxes.GeoAxes.pcolor') as pcolor: ax = plt.axes(projection=ccrs.PlateCarree()) ax.pcolormesh(np.linspace(-90, 90, 40), np.linspace(0, 360, 30), data) assert_equal(pcolor.call_count, 0, ("pcolor shouldn't have been " "called, but was.")) plt.close() def test_pcolormesh_partially_masked(): data = np.ma.masked_all((30, 40)) data[0:100] = 10 # Check that a partially masked data array does trigger a pcolor call. with mock.patch('cartopy.mpl.geoaxes.GeoAxes.pcolor') as pcolor: ax = plt.axes(projection=ccrs.PlateCarree()) ax.pcolormesh(np.linspace(-90, 90, 40), np.linspace(0, 360, 30), data) assert_equal(pcolor.call_count, 1, ("pcolor should have been " "called exactly once.")) plt.close() def test_savefig_tight(): nx, ny = 36, 18 xbnds = np.linspace(0, 360, nx, endpoint=True) ybnds = np.linspace(-90, 90, ny, endpoint=True) x, y = np.meshgrid(xbnds, ybnds) data = np.exp(np.sin(np.deg2rad(x)) + np.cos(np.deg2rad(y))) data = data[:-1, :-1] ax = plt.subplot(211, projection=ccrs.Robinson()) plt.pcolormesh(xbnds, ybnds, data, transform=ccrs.PlateCarree()) buf = io.BytesIO() plt.savefig(buf, format='png', bbox_inches='tight') plt.close() if __name__ == '__main__': import nose nose.runmodule(argv=['-sv', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_quiver.py0000644001374000021030000000606312700747662022074 0ustar itpeavd00000000000000# (C) British Crown Copyright 2015 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest try: from unittest import mock except ImportError: import mock from nose.tools import raises, assert_equal import numpy as np import matplotlib.pyplot as plt from matplotlib.testing.decorators import cleanup import cartopy.crs as ccrs # Note, other tests for quiver exist in test_mpl_integration. class TestQuiverShapes(unittest.TestCase): def setUp(self): self.x = np.linspace(-60, 42.5, 10) self.y = np.linspace(30, 72.5, 7) self.x2d, self.y2d = np.meshgrid(self.x, self.y) self.u = np.cos(np.deg2rad(self.y2d)) self.v = np.cos(2. * np.deg2rad(self.x2d)) self.rp = ccrs.RotatedPole(pole_longitude=177.5, pole_latitude=37.5) self.pc = ccrs.PlateCarree() self.ax = plt.axes(projection=self.pc) @cleanup def test_quiver_transform_xyuv_1d(self): with mock.patch('matplotlib.axes.Axes.quiver') as patch: self.ax.quiver(self.x2d.ravel(), self.y2d.ravel(), self.u.ravel(), self.v.ravel(), transform=self.rp) args, kwargs = patch.call_args assert_equal(len(args), 5) assert_equal(sorted(kwargs.keys()), [u'transform']) shapes = [arg.shape for arg in args[1:]] # Assert that all the shapes have been broadcast. assert_equal(shapes, [(70, )] * 4) @cleanup def test_quiver_transform_xy_1d_uv_2d(self): with mock.patch('matplotlib.axes.Axes.quiver') as patch: self.ax.quiver(self.x, self.y, self.u, self.v, transform=self.rp) args, kwargs = patch.call_args assert_equal(len(args), 5) assert_equal(sorted(kwargs.keys()), [u'transform']) shapes = [arg.shape for arg in args[1:]] # Assert that all the shapes have been broadcast. assert_equal(shapes, [(7, 10)] * 4) @raises(ValueError) def test_quiver_transform_xy_2d_uv_1d(self): self.ax.quiver(self.x2d, self.y2d, self.u.ravel(), self.v.ravel(), transform=self.rp) @raises(ValueError) def test_quiver_transform_inconsistent_shape(self): self.ax.quiver(self.x, self.y, self.u.ravel(), self.v.ravel(), transform=self.rp) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_set_extent.py0000644001374000021030000001452512700747662022745 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import tempfile from matplotlib.testing.decorators import cleanup import matplotlib.pyplot as plt import numpy as np from numpy.testing import assert_array_almost_equal, assert_array_equal import cartopy.crs as ccrs @cleanup def test_extents(): # tests that one can set the extents of a map in a variety of coordinate # systems, for a variety of projection uk = [-12.5, 4, 49, 60] uk_crs = ccrs.Geodetic() ax = plt.axes(projection=ccrs.PlateCarree()) ax.set_extent(uk, crs=uk_crs) # enable to see what is going on (and to make sure it is a plot of the uk) # ax.coastlines() assert_array_almost_equal(ax.viewLim.get_points(), np.array([[-12.5, 49.], [4., 60.]])) ax = plt.axes(projection=ccrs.NorthPolarStereo()) ax.set_extent(uk, crs=uk_crs) # enable to see what is going on (and to make sure it is a plot of the uk) # ax.coastlines() assert_array_almost_equal(ax.viewLim.get_points(), np.array([[-1034046.22566261, -4765889.76601514], [333263.47741164, -3345219.0594531]]) ) # given that we know the PolarStereo coordinates of the UK, try using # those in a PlateCarree plot ax = plt.axes(projection=ccrs.PlateCarree()) ax.set_extent([-1034046, 333263, -4765889, -3345219], crs=ccrs.NorthPolarStereo()) # enable to see what is going on (and to make sure it is a plot of the uk) # ax.coastlines() assert_array_almost_equal(ax.viewLim.get_points(), np.array([[-17.17698577, 48.21879707], [5.68924381, 60.54218893]]) ) @cleanup def test_domain_extents(): # Setting the extent to global or the domain limits. ax = plt.axes(projection=ccrs.PlateCarree()) ax.set_extent((-180, 180, -90, 90)) assert_array_equal(ax.viewLim.get_points(), [[-180, -90], [180, 90]]) ax.set_extent((-180, 180, -90, 90), ccrs.PlateCarree()) assert_array_equal(ax.viewLim.get_points(), [[-180, -90], [180, 90]]) ax = plt.axes(projection=ccrs.PlateCarree(90)) ax.set_extent((-180, 180, -90, 90)) assert_array_equal(ax.viewLim.get_points(), [[-180, -90], [180, 90]]) ax.set_extent((-180, 180, -90, 90), ccrs.PlateCarree(90)) assert_array_equal(ax.viewLim.get_points(), [[-180, -90], [180, 90]]) ax = plt.axes(projection=ccrs.OSGB()) ax.set_extent((0, 7e5, 0, 13e5), ccrs.OSGB()) assert_array_equal(ax.viewLim.get_points(), [[0, 0], [7e5, 13e5]]) def test_update_lim(): # check that the standard data lim setting works ax = plt.axes(projection=ccrs.PlateCarree()) ax.update_datalim([(-10, -10), (-5, -5)]) assert_array_almost_equal(ax.dataLim.get_points(), np.array([[-10., -10.], [-5., -5.]])) plt.close() def test_limits_contour(): xs, ys = np.meshgrid(np.linspace(250, 350, 15), np.linspace(-45, 45, 20)) data = np.sin((xs * ys) * 1.e7) resulting_extent = np.array([[250 - 180, -45.], [-10. + 180, 45.]]) ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines() plt.contourf(xs, ys, data, transform=ccrs.PlateCarree(180)) assert_array_almost_equal(ax.dataLim, resulting_extent) plt.close() ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines() plt.contour(xs, ys, data, transform=ccrs.PlateCarree(180)) assert_array_almost_equal(ax.dataLim, resulting_extent) plt.close() def test_limits_pcolor(): xs, ys = np.meshgrid(np.linspace(250, 350, 15), np.linspace(-45, 45, 20)) data = (np.sin((xs * ys) * 1.e7))[:-1, :-1] resulting_extent = np.array([[250 - 180, -45.], [-10. + 180, 45.]]) ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines() plt.pcolor(xs, ys, data, transform=ccrs.PlateCarree(180)) assert_array_almost_equal(ax.dataLim, resulting_extent) plt.close() ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines() plt.pcolormesh(xs, ys, data, transform=ccrs.PlateCarree(180)) assert_array_almost_equal(ax.dataLim, resulting_extent) plt.close() def test_view_lim_autoscaling(): x = np.linspace(0.12910209, 0.42141822) y = np.linspace(0.03739792, 0.33029076) x, y = np.meshgrid(x, y) ax = plt.axes(projection=ccrs.RotatedPole(37.5, 357.5)) plt.scatter(x, y, x * y, transform=ccrs.PlateCarree()) expected = np.array([[86.12433701, 52.51570463], [86.69696603, 52.86372057]]) assert_array_almost_equal(ax.viewLim.frozen().get_points(), expected, decimal=2) plt.draw() assert_array_almost_equal(ax.viewLim.frozen().get_points(), expected, decimal=2) ax.autoscale_view(tight=False) expected_non_tight = np.array([[86, 52.45], [86.8, 52.9]]) assert_array_almost_equal(ax.viewLim.frozen().get_points(), expected_non_tight, decimal=1) plt.close() def test_view_lim_default_global(): ax = plt.axes(projection=ccrs.PlateCarree()) # The view lim should be the default unit bbox until it is drawn. assert_array_almost_equal(ax.viewLim.frozen().get_points(), [[0, 0], [1, 1]]) with tempfile.TemporaryFile() as tmp: plt.savefig(tmp) expected = np.array([[-180, -90], [180, 90]]) assert_array_almost_equal(ax.viewLim.frozen().get_points(), expected) plt.close() if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_shapely_to_mpl.py0000644001374000021030000001070112705644356023573 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.patches as mpatches from matplotlib.collections import PatchCollection from matplotlib.path import Path import shapely.geometry as sgeom import cartopy.crs as ccrs import cartopy.mpl.patch as cpatch from cartopy.tests.mpl import ImageTesting @ImageTesting(['poly_interiors' if mpl.__version__ >= '1.5' else 'poly_interiors_pre_mpl_1.5']) def test_polygon_interiors(): ax = plt.subplot(211, projection=ccrs.PlateCarree()) ax.coastlines() ax.set_global() pth = Path([[0, -45], [60, -45], [60, 45], [0, 45], [0, 45], [10, -20], [10, 20], [40, 20], [40, -20], [10, 20]], [1, 2, 2, 2, 79, 1, 2, 2, 2, 79]) patches_native = [] patches = [] for geos in cpatch.path_to_geos(pth): for pth in cpatch.geos_to_path(geos): patches.append(mpatches.PathPatch(pth)) # buffer by 10 degrees (leaves a small hole in the middle) geos_buffered = geos.buffer(10) for pth in cpatch.geos_to_path(geos_buffered): patches_native.append(mpatches.PathPatch(pth)) # Set high zorder to ensure the polygons are drawn on top of coastlines. collection = PatchCollection(patches_native, facecolor='red', alpha=0.4, transform=ax.projection, zorder=10) ax.add_collection(collection) collection = PatchCollection(patches, facecolor='yellow', alpha=0.4, transform=ccrs.Geodetic(), zorder=10) ax.add_collection(collection) # test multiple interior polygons ax = plt.subplot(212, projection=ccrs.PlateCarree(), xlim=[-5, 15], ylim=[-5, 15]) ax.coastlines() exterior = np.array(sgeom.box(0, 0, 12, 12).exterior.coords) interiors = [np.array(sgeom.box(1, 1, 2, 2, ccw=False).exterior.coords), np.array(sgeom.box(1, 8, 2, 9, ccw=False).exterior.coords)] poly = sgeom.Polygon(exterior, interiors) patches = [] for pth in cpatch.geos_to_path(poly): patches.append(mpatches.PathPatch(pth)) collection = PatchCollection(patches, facecolor='yellow', alpha=0.4, transform=ccrs.Geodetic(), zorder=10) ax.add_collection(collection) @ImageTesting(['contour_with_interiors']) def test_contour_interiors(): # produces a polygon with multiple holes: nx, ny = 10, 10 numlev = 2 lons, lats = np.meshgrid(np.linspace(-50, 50, nx), np.linspace(-45, 45, ny)) data = np.sin(np.sqrt(lons ** 2 + lats ** 2)) ax = plt.subplot(221, projection=ccrs.PlateCarree()) ax.set_global() plt.contourf(lons, lats, data, numlev, transform=ccrs.PlateCarree()) ax.coastlines() plt.subplot(222, projection=ccrs.Robinson()) ax = plt.gca() ax.set_global() plt.contourf(lons, lats, data, numlev, transform=ccrs.PlateCarree()) ax.coastlines() # produces singular polygons (zero area polygons) numlev = 2 x, y = np.meshgrid(np.arange(-5.5, 5.5, 0.25), np.arange(-5.5, 5.5, 0.25)) dim = x.shape[0] data = np.sin(np.sqrt(x ** 2 + y ** 2)) lats = np.arange(dim) + 30 lons = np.arange(dim) - 20 ax = plt.subplot(223, projection=ccrs.PlateCarree()) ax.set_global() plt.contourf(lons, lats, data, numlev, transform=ccrs.PlateCarree()) ax.coastlines() plt.subplot(224, projection=ccrs.Robinson()) ax = plt.gca() ax.set_global() plt.contourf(lons, lats, data, numlev, transform=ccrs.PlateCarree()) ax.coastlines() if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_ticker.py0000644001374000021030000002113412700747662022036 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) try: from unittest.mock import Mock except ImportError: from mock import Mock from nose.tools import assert_equal try: from nose.tools import assert_raises_regex except ImportError: from nose.tools import assert_raises_regexp as assert_raises_regex from matplotlib.axes import Axes import cartopy.crs as ccrs from cartopy.mpl.geoaxes import GeoAxes from cartopy.mpl.ticker import LatitudeFormatter, LongitudeFormatter def test_LatitudeFormatter_bad_axes(): formatter = LatitudeFormatter() formatter.axis = Mock(axes=Mock(Axes, projection=ccrs.PlateCarree())) message = 'This formatter can only be used with cartopy axes.' with assert_raises_regex(TypeError, message): formatter(0) def test_LatitudeFormatter_bad_projection(): formatter = LatitudeFormatter() formatter.axis = Mock(axes=Mock(GeoAxes, projection=ccrs.Orthographic())) message = 'This formatter cannot be used with non-rectangular projections.' with assert_raises_regex(TypeError, message): formatter(0) def test_LongitudeFormatter_bad_axes(): formatter = LongitudeFormatter() formatter.axis = Mock(axes=Mock(Axes, projection=ccrs.PlateCarree())) message = 'This formatter can only be used with cartopy axes.' with assert_raises_regex(TypeError, message): formatter(0) def test_LongitudeFormatter_bad_projection(): formatter = LongitudeFormatter() formatter.axis = Mock(axes=Mock(GeoAxes, projection=ccrs.Orthographic())) message = 'This formatter cannot be used with non-rectangular projections.' with assert_raises_regex(TypeError, message): formatter(0) def test_LatitudeFormatter(): formatter = LatitudeFormatter() p = ccrs.PlateCarree() formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-90, -60, -30, 0, 30, 60, 90] result = [formatter(tick) for tick in test_ticks] expected = [u'90\u00B0S', u'60\u00B0S', u'30\u00B0S', u'0\u00B0', u'30\u00B0N', u'60\u00B0N', u'90\u00B0N'] assert_equal(result, expected) def test_LatitudeFormatter_degree_symbol(): formatter = LatitudeFormatter(degree_symbol='') p = ccrs.PlateCarree() formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-90, -60, -30, 0, 30, 60, 90] result = [formatter(tick) for tick in test_ticks] expected = [u'90S', u'60S', u'30S', u'0', u'30N', u'60N', u'90N'] assert_equal(result, expected) def test_LatitudeFormatter_number_format(): formatter = LatitudeFormatter(number_format='.2f') p = ccrs.PlateCarree() formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-90, -60, -30, 0, 30, 60, 90] result = [formatter(tick) for tick in test_ticks] expected = [u'90.00\u00B0S', u'60.00\u00B0S', u'30.00\u00B0S', u'0.00\u00B0', u'30.00\u00B0N', u'60.00\u00B0N', u'90.00\u00B0N'] assert_equal(result, expected) def test_LatitudeFormatter_mercator(): formatter = LatitudeFormatter() p = ccrs.Mercator() formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-15496570.739707904, -8362698.548496634, -3482189.085407435, 0.0, 3482189.085407435, 8362698.548496634, 15496570.739707898] result = [formatter(tick) for tick in test_ticks] expected = [u'80\u00B0S', u'60\u00B0S', u'30\u00B0S', u'0\u00B0', u'30\u00B0N', u'60\u00B0N', u'80\u00B0N'] assert_equal(result, expected) def test_LatitudeFormatter_small_numbers(): formatter = LatitudeFormatter(number_format='.7f') p = ccrs.PlateCarree() formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [40.1275150, 40.1275152, 40.1275154] result = [formatter(tick) for tick in test_ticks] expected = [u'40.1275150\u00B0N', u'40.1275152\u00B0N', u'40.1275154\u00B0N'] assert_equal(result, expected) def test_LongitudeFormatter_central_longitude_0(): formatter = LongitudeFormatter(dateline_direction_label=True) p = ccrs.PlateCarree() formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-180, -120, -60, 0, 60, 120, 180] result = [formatter(tick) for tick in test_ticks] expected = [u'180\u00B0W', u'120\u00B0W', u'60\u00B0W', u'0\u00B0', u'60\u00B0E', u'120\u00B0E', u'180\u00B0E'] assert_equal(result, expected) def test_LongitudeFormatter_central_longitude_180(): formatter = LongitudeFormatter(zero_direction_label=True) p = ccrs.PlateCarree(central_longitude=180) formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-180, -120, -60, 0, 60, 120, 180] result = [formatter(tick) for tick in test_ticks] expected = [u'0\u00B0E', u'60\u00B0E', u'120\u00B0E', u'180\u00B0', u'120\u00B0W', u'60\u00B0W', u'0\u00B0W'] assert_equal(result, expected) def test_LongitudeFormatter_central_longitude_120(): formatter = LongitudeFormatter() p = ccrs.PlateCarree(central_longitude=120) formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-180, -120, -60, 0, 60, 120, 180] result = [formatter(tick) for tick in test_ticks] expected = [u'60\u00B0W', u'0\u00B0', u'60\u00B0E', u'120\u00B0E', u'180\u00B0', u'120\u00B0W', u'60\u00B0W'] assert_equal(result, expected) def test_LongitudeFormatter_degree_symbol(): formatter = LongitudeFormatter(degree_symbol='', dateline_direction_label=True) p = ccrs.PlateCarree() formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-180, -120, -60, 0, 60, 120, 180] result = [formatter(tick) for tick in test_ticks] expected = [u'180W', u'120W', u'60W', u'0', u'60E', u'120E', u'180E'] assert_equal(result, expected) def test_LongitudeFormatter_number_format(): formatter = LongitudeFormatter(number_format='.2f', dateline_direction_label=True) p = ccrs.PlateCarree() formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-180, -120, -60, 0, 60, 120, 180] result = [formatter(tick) for tick in test_ticks] expected = [u'180.00\u00B0W', u'120.00\u00B0W', u'60.00\u00B0W', u'0.00\u00B0', u'60.00\u00B0E', u'120.00\u00B0E', u'180.00\u00B0E'] assert_equal(result, expected) def test_LongitudeFormatter_mercator(): formatter = LongitudeFormatter(dateline_direction_label=True) p = ccrs.Mercator() formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-20037508.342783064, -13358338.895188706, -6679169.447594353, 0.0, 6679169.447594353, 13358338.895188706, 20037508.342783064] result = [formatter(tick) for tick in test_ticks] expected = [u'180\u00B0W', u'120\u00B0W', u'60\u00B0W', u'0\u00B0', u'60\u00B0E', u'120\u00B0E', u'180\u00B0E'] assert_equal(result, expected) def test_LongitudeFormatter_small_numbers_0(): formatter = LongitudeFormatter(number_format='.7f') p = ccrs.PlateCarree(central_longitude=0) formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-17.1142343, -17.1142340, -17.1142337] result = [formatter(tick) for tick in test_ticks] expected = [u'17.1142343\u00B0W', u'17.1142340\u00B0W', u'17.1142337\u00B0W'] assert_equal(result, expected) def test_LongitudeFormatter_small_numbers_180(): formatter = LongitudeFormatter(zero_direction_label=True, number_format='.7f') p = ccrs.PlateCarree(central_longitude=180) formatter.axis = Mock(axes=Mock(GeoAxes, projection=p)) test_ticks = [-17.1142343, -17.1142340, -17.1142337] result = [formatter(tick) for tick in test_ticks] expected = [u'162.8857657\u00B0E', u'162.8857660\u00B0E', u'162.8857663\u00B0E'] assert_equal(result, expected) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_ticks.py0000644001374000021030000001203712700747662021674 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import math import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.ticker import nose.tools import cartopy.crs as ccrs from cartopy.tests.mpl import ImageTesting def _format_lat(val, i): if val > 0: return '%.0fN' % val elif val < 0: return '%.0fS' % abs(val) else: return '0' def _format_lon(val, i): # Apply periodic boundary conditions, with an almost equal test on 180 lon. while val > 180: val -= 360 while val < -180: val += 360 if abs(abs(val) - 180.) <= 1e-06 or val == 0: return '%.0f' % abs(val) elif val > 0: return '%.0fE' % val elif val < 0: return '%.0fW' % abs(val) test_fn_suffix = '' if mpl.__version__ >= '1.5' else '_pre_mpl_1.5' @ImageTesting(['xticks_no_transform' + test_fn_suffix], tolerance=0.5) def test_set_xticks_no_transform(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines('110m') ax.xaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(_format_lon)) ax.yaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(_format_lat)) ax.set_xticks([-180, -90, 0, 90, 180]) ax.set_xticks([-135, -45, 45, 135], minor=True) @ImageTesting(['xticks_cylindrical' + test_fn_suffix], tolerance=0.5) def test_set_xticks_cylindrical(): ax = plt.axes(projection=ccrs.Mercator( min_latitude=-85., max_latitude=85., globe=ccrs.Globe(semimajor_axis=math.degrees(1)))) ax.coastlines('110m') ax.xaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(_format_lon)) ax.yaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(_format_lat)) ax.set_xticks([-180, -90, 0, 90, 180], crs=ccrs.PlateCarree()) ax.set_xticks([-135, -45, 45, 135], minor=True, crs=ccrs.PlateCarree()) def test_set_xticks_non_cylindrical(): ax = plt.axes(projection=ccrs.Orthographic()) with nose.tools.assert_raises(RuntimeError): ax.set_xticks([-180, -90, 0, 90, 180], crs=ccrs.Geodetic()) with nose.tools.assert_raises(RuntimeError): ax.set_xticks([-135, -45, 45, 135], minor=True, crs=ccrs.Geodetic()) plt.close() @ImageTesting(['yticks_no_transform' + test_fn_suffix], tolerance=0.5) def test_set_yticks_no_transform(): ax = plt.axes(projection=ccrs.PlateCarree()) ax.coastlines('110m') ax.xaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(_format_lon)) ax.yaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(_format_lat)) ax.set_yticks([-60, -30, 0, 30, 60]) ax.set_yticks([-75, -45, 15, 45, 75], minor=True) @ImageTesting(['yticks_cylindrical' + test_fn_suffix], tolerance=0.5) def test_set_yticks_cylindrical(): ax = plt.axes(projection=ccrs.Mercator( min_latitude=-85., max_latitude=85., globe=ccrs.Globe(semimajor_axis=math.degrees(1)))) ax.coastlines('110m') ax.xaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(_format_lon)) ax.yaxis.set_major_formatter(matplotlib.ticker.FuncFormatter(_format_lat)) ax.set_yticks([-60, -30, 0, 30, 60], crs=ccrs.PlateCarree()) ax.set_yticks([-75, -45, 15, 45, 75], minor=True, crs=ccrs.PlateCarree()) def test_set_yticks_non_cylindrical(): ax = plt.axes(projection=ccrs.Orthographic()) with nose.tools.assert_raises(RuntimeError): ax.set_yticks([-60, -30, 0, 30, 60], crs=ccrs.Geodetic()) with nose.tools.assert_raises(RuntimeError): ax.set_yticks([-75, -45, 15, 45, 75], minor=True, crs=ccrs.Geodetic()) plt.close() @ImageTesting(['xyticks' + test_fn_suffix], tolerance=0.5) def test_set_xyticks(): fig = plt.figure(figsize=(10, 10)) projections = (ccrs.PlateCarree(), ccrs.Mercator(globe=ccrs.Globe( semimajor_axis=math.degrees(1))), ccrs.TransverseMercator()) x = -3.275024 y = 50.753998 for i, prj in enumerate(projections, 1): ax = fig.add_subplot(3, 1, i, projection=prj) ax.set_extent([-12.5, 4, 49, 60], ccrs.Geodetic()) ax.coastlines('110m') p, q = prj.transform_point(x, y, ccrs.Geodetic()) ax.set_xticks([p]) ax.set_yticks([q]) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/mpl/test_web_services.py0000644001374000021030000000316312700747662023237 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import matplotlib.pyplot as plt from cartopy.tests.mpl import ImageTesting import cartopy.crs as ccrs from cartopy.io.ogc_clients import _OWSLIB_AVAILABLE @unittest.skipIf(not _OWSLIB_AVAILABLE, 'OWSLib is unavailable.') @ImageTesting(['wmts']) def test_wmts(): ax = plt.axes(projection=ccrs.PlateCarree()) url = 'https://map1c.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi' # Use a layer which doesn't change over time. ax.add_wmts(url, 'MODIS_Water_Mask') @unittest.skipIf(not _OWSLIB_AVAILABLE, 'OWSLib is unavailable.') @ImageTesting(['wms']) def test_wms(): ax = plt.axes(projection=ccrs.Orthographic()) url = 'http://vmap0.tiles.osgeo.org/wms/vmap0' layer = 'basic' ax.add_wms(url, layer) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/__init__.py0000644001374000021030000000255012705644356020467 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import contextlib import functools import re import tempfile import shutil import types @contextlib.contextmanager def temp_dir(suffix=None): if suffix is None: suffix = '' dname = tempfile.mkdtemp(suffix=suffix) try: yield dname finally: shutil.rmtree(dname) def not_a_nose_fixture(function): """ Provides a decorator to mark a function as not a nose fixture. """ @functools.wraps(function) def setup(app): if isinstance(app, types.ModuleType): return return function(app) return setup Cartopy-0.14.2/lib/cartopy/tests/test_coastline.py0000644001374000021030000000321112700747662021742 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import cartopy import cartopy.io.shapereader as shp COASTLINE_PATH = shp.natural_earth() class TestCoastline(unittest.TestCase): def test_robust(self): # Make sure all the coastlines can be projected without raising any # exceptions. projection = cartopy.crs.TransverseMercator(central_longitude=-90) reader = shp.Reader(COASTLINE_PATH) all_geometries = list(reader.geometries()) geometries = [] geometries += all_geometries # geometries += all_geometries[48:52] # Aus & Taz # geometries += all_geometries[72:73] # GB # for geometry in geometries: for i, geometry in enumerate(geometries[93:]): for line_string in geometry: multi_line_string = projection.project_geometry(line_string) if __name__ == '__main__': unittest.main() Cartopy-0.14.2/lib/cartopy/tests/test_coding_standards.py0000644001374000021030000002317512700747662023302 0ustar itpeavd00000000000000# (C) British Crown Copyright 2012 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) from datetime import datetime from fnmatch import fnmatch from itertools import chain import os import re import subprocess import unittest import pep8 import cartopy LICENSE_TEMPLATE = """ # (C) British Crown Copyright {YEARS}, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see .""".strip() LICENSE_RE_PATTERN = re.escape(LICENSE_TEMPLATE).replace('\{YEARS\}', '(.*?)') # Add shebang possibility or C comment starter to the LICENSE_RE_PATTERN LICENSE_RE_PATTERN = r'((\#\!.*|\/\*)\n)?' + LICENSE_RE_PATTERN LICENSE_RE = re.compile(LICENSE_RE_PATTERN, re.MULTILINE) # Guess cartopy repo directory of cartopy - realpath is used to mitigate # against Python finding the cartopy package via a symlink. CARTOPY_DIR = os.path.realpath(os.path.dirname(cartopy.__file__)) REPO_DIR = os.getenv('CARTOPY_GIT_DIR', os.path.dirname(os.path.dirname(CARTOPY_DIR))) class TestLicenseHeaders(unittest.TestCase): @staticmethod def years_of_license_in_file(fh): """ Using :data:`LICENSE_RE` look for the years defined in the license header of the given file handle. If the license cannot be found in the given fh, None will be returned, else a tuple of (start_year, end_year) will be returned. """ license_matches = LICENSE_RE.match(fh.read()) if not license_matches: # no license found in file. return None years = license_matches.groups()[-1] if len(years) == 4: start_year = end_year = int(years) elif len(years) == 11: start_year, end_year = int(years[:4]), int(years[7:]) else: fname = getattr(fh, 'name', 'unknown filename') raise ValueError("Unexpected year(s) string in {}'s copyright " "notice: {!r}".format(fname, years)) return (start_year, end_year) @staticmethod def last_change_by_fname(): """ Return a dictionary of all the files under git which maps to the datetime of their last modification in the git history. .. note:: This function raises a ValueError if the repo root does not have a ".git" folder. If git is not installed on the system, or cannot be found by subprocess, an IOError may also be raised. """ # Check the ".git" folder exists at the repo dir. if not os.path.isdir(os.path.join(REPO_DIR, '.git')): raise ValueError('{} is not a git repository.'.format(REPO_DIR)) # Call "git whatchanged" to get the details of all the files and when # they were last changed. output = subprocess.check_output(['git', 'ls-tree', '-r', '--name-only', 'HEAD'], cwd=REPO_DIR) output = output.decode().split('\n') res = {} for fname in output: dt = subprocess.check_output(['git', 'log', '-1', '--pretty=%ct', '--', fname], cwd=REPO_DIR) dt = datetime.fromtimestamp(int(dt)) res[fname] = dt return res def test_license_headers(self): exclude_patterns = ('build/*', 'dist/*', 'docs/build/*', 'docs/source/examples/*.py', 'docs/source/sphinxext/*.py', 'lib/cartopy/examples/*.py') try: last_change_by_fname = self.last_change_by_fname() except ValueError as e: # Caught the case where this is not a git repo. return self.skipTest('cartopy installation did not look like a ' 'git repo: ' + str(e)) failed = False for fname, last_change in sorted(last_change_by_fname.items()): full_fname = os.path.join(REPO_DIR, fname) root, ext = os.path.splitext(full_fname) if ext in ('.py', '.pyx', '.c', '.cpp', '.h') and \ os.path.isfile(full_fname) and \ not any(fnmatch(fname, pat) for pat in exclude_patterns): with open(full_fname) as fh: years = TestLicenseHeaders.years_of_license_in_file(fh) if years is None: print('The file {} has no valid header license and ' 'has not been excluded from the license header ' 'test.'.format(fname)) failed = True elif last_change.year > years[1]: print('The file header at {} is out of date. The last' ' commit was in {}, but the copyright states it' ' was {}.'.format(fname, last_change.year, years[1])) failed = True if failed: raise ValueError('There were license header failures. See stdout.') class TestCodeFormat(unittest.TestCase): def test_pep8_conformance(self): # Tests the cartopy codebase against the "pep8" tool. # # Users can add their own excluded files (should files exist in the # local directory which is not in the repository) by adding a # ".pep8_test_exclude.txt" file in the same directory as this test. # The file should be a line separated list of filenames/directories # as can be passed to the "pep8" tool's exclude list. pep8style = pep8.StyleGuide(quiet=False) pep8style.options.exclude.extend(['trace.py', '_crs.py', '*/cartopy/geodesic/_geodesic.py']) # Ignore E402 module level import not at top of file pep8style.options.ignore += ('E402', ) # allow users to add their own exclude list extra_exclude_file = os.path.join(os.path.dirname(__file__), '.pep8_test_exclude.txt') if os.path.exists(extra_exclude_file): with open(extra_exclude_file, 'r') as fh: extra_exclude = [line.strip() for line in fh if line.strip()] pep8style.options.exclude.extend(extra_exclude) result = pep8style.check_files([CARTOPY_DIR]) self.assertEqual(result.total_errors, 0, "Found code syntax " "errors (and warnings).") class TestFutureImports(unittest.TestCase): excluded = ( '*/cartopy/examples/*.py', '*/docs/source/examples/*.py', '*/cartopy/_crs.py', # A file created by setuptools for so loading. '*/cartopy/trace.py', # Ditto. '*/cartopy/geodesic/_geodesic.py', ) future_imports_pattern = re.compile( r"^from __future__ import \(absolute_import,\s*division,\s*" r"print_function(,\s*unicode_literals)?\)$", flags=re.MULTILINE) def test_future_imports(self): # Tests that every single Python file includes the appropriate # __future__ import to enforce consistent behaviour. check_paths = [CARTOPY_DIR] failed = False for dirpath, _, files in chain.from_iterable(os.walk(path) for path in check_paths): for fname in files: full_fname = os.path.join(dirpath, fname) if not full_fname.endswith('.py'): continue if not os.path.isfile(full_fname): continue if any(fnmatch(full_fname, pat) for pat in self.excluded): continue with open(full_fname, "r") as fh: content = fh.read() if re.search(self.future_imports_pattern, content) is None: print('The file {} has no valid __future__ imports ' 'and has not been excluded from the imports ' 'test.'.format(full_fname)) failed = True if failed: raise ValueError('There were __future__ import check failures. ' 'See stdout.') if __name__ == '__main__': unittest.main() Cartopy-0.14.2/lib/cartopy/tests/test_crs.py0000644001374000021030000002342612700747662020562 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) from io import BytesIO import pickle import unittest import numpy as np from numpy.testing import assert_array_almost_equal as assert_arr_almost_eq from nose.tools import assert_equal try: import pyepsg except ImportError: pyepsg = None import shapely.geometry as sgeom import cartopy.crs as ccrs class TestCRS(unittest.TestCase): def test_hash(self): stereo = ccrs.Stereographic(90) north = ccrs.NorthPolarStereo() self.assertEqual(stereo, north) self.assertFalse(stereo != north) self.assertEqual(hash(stereo), hash(north)) self.assertEqual(ccrs.Geodetic(), ccrs.Geodetic()) def test_osni(self): osni = ccrs.OSNI() ll = ccrs.Geodetic() # results obtained by nearby.org.uk. lat, lon = np.array([54.5622169298669, -5.54159863617957], dtype=np.double) east, north = np.array([359000, 371000], dtype=np.double) assert_arr_almost_eq(osni.transform_point(lon, lat, ll), np.array([east, north]), -1) assert_arr_almost_eq(ll.transform_point(east, north, osni), np.array([lon, lat]), 3) def _check_osgb(self, osgb): ll = ccrs.Geodetic() # results obtained by streetmap.co.uk. lat, lon = np.array([50.462023, -3.478831], dtype=np.double) east, north = np.array([295131, 63511], dtype=np.double) # note the handling of precision here... assert_arr_almost_eq(np.array(osgb.transform_point(lon, lat, ll)), np.array([east, north]), 1) assert_arr_almost_eq(ll.transform_point(east, north, osgb), [lon, lat], 2) r_lon, r_lat = ll.transform_point(east, north, osgb) r_inverted = np.array(osgb.transform_point(r_lon, r_lat, ll)) assert_arr_almost_eq(r_inverted, [east, north], 3) r_east, r_north = osgb.transform_point(lon, lat, ll) r_inverted = np.array(ll.transform_point(r_east, r_north, osgb)) assert_arr_almost_eq(r_inverted, [lon, lat]) def test_osgb(self): self._check_osgb(ccrs.OSGB()) @unittest.skipIf(pyepsg is None, 'requires pyepsg') def test_epsg(self): uk = ccrs.epsg(27700) self.assertEqual(uk.epsg_code, 27700) self.assertEqual(uk.x_limits, (-84667.135022467002, 676354.14167904831)) self.assertEqual(uk.y_limits, (-2957.1831134549138, 1242951.4397385262 )) self.assertEqual(uk.threshold, 7610.2127670151531) self._check_osgb(uk) def test_europp(self): europp = ccrs.EuroPP() proj4_init = europp.proj4_init # Transverse Mercator, UTM zone 32, self.assertTrue('+proj=utm' in proj4_init) self.assertTrue('+zone=32' in proj4_init) # International 1924 ellipsoid. self.assertTrue('+ellps=intl' in proj4_init) def test_transform_points_nD(self): rlons = np.array([[350., 352., 354.], [350., 352., 354.]]) rlats = np.array([[-5., -0., 1.], [-4., -1., 0.]]) src_proj = ccrs.RotatedGeodetic(pole_longitude=178.0, pole_latitude=38.0) target_proj = ccrs.Geodetic() res = target_proj.transform_points(x=rlons, y=rlats, src_crs=src_proj) unrotated_lon = res[..., 0] unrotated_lat = res[..., 1] # Solutions derived by proj4 direct. solx = np.array([[-16.42176094, -14.85892262, -11.90627520], [-16.71055023, -14.58434624, -11.68799988]]) soly = np.array([[46.00724251, 51.29188893, 52.59101488], [46.98728486, 50.30706042, 51.60004528]]) assert_arr_almost_eq(unrotated_lon, solx) assert_arr_almost_eq(unrotated_lat, soly) def test_transform_points_1D(self): rlons = np.array([350., 352., 354., 356.]) rlats = np.array([-5., -0., 5., 10.]) src_proj = ccrs.RotatedGeodetic(pole_longitude=178.0, pole_latitude=38.0) target_proj = ccrs.Geodetic() res = target_proj.transform_points(x=rlons, y=rlats, src_crs=src_proj) unrotated_lon = res[..., 0] unrotated_lat = res[..., 1] # Solutions derived by proj4 direct. solx = np.array([-16.42176094, -14.85892262, -12.88946157, -10.35078336]) soly = np.array([46.00724251, 51.29188893, 56.55031485, 61.77015703]) assert_arr_almost_eq(unrotated_lon, solx) assert_arr_almost_eq(unrotated_lat, soly) def test_transform_points_xyz(self): # Test geodetic transforms when using z value rx = np.array([2574.32516e3]) ry = np.array([837.562e3]) rz = np.array([5761.325e3]) src_proj = ccrs.Geocentric() target_proj = ccrs.Geodetic() res = target_proj.transform_points(x=rx, y=ry, z=rz, src_crs=src_proj) glat = res[..., 0] glon = res[..., 1] galt = res[..., 2] # Solution generated by pyproj solx = np.array([18.0224043189]) soly = np.array([64.9796515089]) solz = np.array([5048.03893734]) assert_arr_almost_eq(glat, solx) assert_arr_almost_eq(glon, soly) assert_arr_almost_eq(galt, solz) def test_globe(self): # Ensure the globe affects output. rugby_globe = ccrs.Globe(semimajor_axis=9000000, semiminor_axis=1000000) footy_globe = ccrs.Globe(semimajor_axis=1000000, semiminor_axis=1000000) rugby_moll = ccrs.Mollweide(globe=rugby_globe) footy_moll = ccrs.Mollweide(globe=footy_globe) rugby_pt = rugby_moll.transform_point(10, 10, ccrs.Geodetic()) footy_pt = footy_moll.transform_point(10, 10, ccrs.Geodetic()) assert_arr_almost_eq(rugby_pt, (1400915, 1741319), decimal=0) assert_arr_almost_eq(footy_pt, (155657, 193479), decimal=0) def test_project_point(self): point = sgeom.Point([0, 45]) multi_point = sgeom.MultiPoint([point, sgeom.Point([180, 45])]) pc = ccrs.PlateCarree() pc_rotated = ccrs.PlateCarree(central_longitude=180) result = pc_rotated.project_geometry(point, pc) assert_arr_almost_eq(result.xy, [[-180.], [45.]]) result = pc_rotated.project_geometry(multi_point, pc) self.assertIsInstance(result, sgeom.MultiPoint) self.assertEqual(len(result), 2) assert_arr_almost_eq(result[0].xy, [[-180.], [45.]]) assert_arr_almost_eq(result[1].xy, [[0], [45.]]) def test_utm(self): utm30n = ccrs.UTM(30) ll = ccrs.Geodetic() lat, lon = np.array([51.5, -3.0], dtype=np.double) east, north = np.array([500000, 5705429.2], dtype=np.double) assert_arr_almost_eq(utm30n.transform_point(lon, lat, ll), [east, north], decimal=1) assert_arr_almost_eq(ll.transform_point(east, north, utm30n), [lon, lat], decimal=1) utm38s = ccrs.UTM(38, southern_hemisphere=True) lat, lon = np.array([-18.92, 47.5], dtype=np.double) east, north = np.array([763316.7, 7906160.8], dtype=np.double) assert_arr_almost_eq(utm38s.transform_point(lon, lat, ll), [east, north], decimal=1) assert_arr_almost_eq(ll.transform_point(east, north, utm38s), [lon, lat], decimal=1) def test_pickle(): # check that we can pickle a simple CRS fh = BytesIO() pickle.dump(ccrs.PlateCarree(), fh) fh.seek(0) pc = pickle.load(fh) assert pc == ccrs.PlateCarree() def test_PlateCarree_shortcut(): central_lons = [[0, 0], [0, 180], [0, 10], [10, 0], [-180, 180], [ 180, -180]] target = [([[-180, -180], [-180, 180]], 0), ([[-180, 0], [0, 180]], 180), ([[-180, -170], [-170, 180]], 10), ([[-180, 170], [170, 180]], -10), ([[-180, 180], [180, 180]], 360), ([[-180, -180], [-180, 180]], -360), ] assert len(target) == len(central_lons) for expected, (s_lon0, t_lon0) in zip(target, central_lons): expected_bboxes, expected_offset = expected src = ccrs.PlateCarree(central_longitude=s_lon0) target = ccrs.PlateCarree(central_longitude=t_lon0) bbox, offset = src._bbox_and_offset(target) assert_equal(offset, expected_offset) assert_equal(bbox, expected_bboxes) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/test_crs_transform_vectors.py0000644001374000021030000001741012700747662024416 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import warnings import numpy as np from numpy.testing import assert_array_almost_equal import cartopy.crs as ccrs class TestTransformVectors(unittest.TestCase): def test_transform(self): # Test some simple vectors to make sure they are transformed # correctly. rlons = np.array([-90., 0, 90., 180.]) rlats = np.array([0., 0., 0., 0.]) src_proj = ccrs.PlateCarree() target_proj = ccrs.Stereographic(central_latitude=90, central_longitude=0) # transform grid eastward vectors ut, vt = target_proj.transform_vectors(src_proj, rlons, rlats, np.ones([4]), np.zeros([4])) assert_array_almost_equal(ut, np.array([0, 1, 0, -1]), decimal=2) assert_array_almost_equal(vt, np.array([-1, 0, 1, 0]), decimal=2) # transform grid northward vectors ut, vt = target_proj.transform_vectors(src_proj, rlons, rlats, np.zeros([4]), np.ones([4])) assert_array_almost_equal(ut, np.array([1, 0, -1, 0]), decimal=2) assert_array_almost_equal(vt, np.array([0, 1, 0, -1]), decimal=2) # transform grid north-eastward vectors ut, vt = target_proj.transform_vectors(src_proj, rlons, rlats, np.ones([4]), np.ones([4])) assert_array_almost_equal(ut, np.array([1, 1, -1, -1]), decimal=2) assert_array_almost_equal(vt, np.array([-1, 1, 1, -1]), decimal=2) def test_transform_and_inverse(self): # Check a full circle transform back to the native projection. x = np.arange(-60, 42.5, 2.5) y = np.arange(30, 72.5, 2.5) x2d, y2d = np.meshgrid(x, y) u = np.cos(np.deg2rad(y2d)) v = np.cos(2. * np.deg2rad(x2d)) src_proj = ccrs.PlateCarree() target_proj = ccrs.Stereographic(central_latitude=90, central_longitude=0) proj_xyz = target_proj.transform_points(src_proj, x2d, y2d) xt, yt = proj_xyz[..., 0], proj_xyz[..., 1] ut, vt = target_proj.transform_vectors(src_proj, x2d, y2d, u, v) utt, vtt = src_proj.transform_vectors(target_proj, xt, yt, ut, vt) assert_array_almost_equal(u, utt, decimal=4) assert_array_almost_equal(v, vtt, decimal=4) def test_invalid_input_domain(self): # If an input coordinate is outside the input projection domain # we should be able to handle it correctly. rlon = np.array([270.]) rlat = np.array([0.]) u = np.array([1.]) v = np.array([0.]) src_proj = ccrs.PlateCarree() target_proj = ccrs.Stereographic(central_latitude=90, central_longitude=0) ut, vt = target_proj.transform_vectors(src_proj, rlon, rlat, u, v) assert_array_almost_equal(ut, np.array([0]), decimal=2) assert_array_almost_equal(vt, np.array([-1]), decimal=2) def test_invalid_x_domain(self): # If the point we need to calculate the vector angle falls outside the # source projection x-domain it should be handled correctly as long as # it is not a corner point. rlon = np.array([180.]) rlat = np.array([0.]) u = np.array([1.]) v = np.array([0.]) src_proj = ccrs.PlateCarree() target_proj = ccrs.Stereographic(central_latitude=90, central_longitude=0) ut, vt = target_proj.transform_vectors(src_proj, rlon, rlat, u, v) assert_array_almost_equal(ut, np.array([-1]), decimal=2) assert_array_almost_equal(vt, np.array([0.]), decimal=2) def test_invalid_y_domain(self): # If the point we need to calculate the vector angle falls outside the # source projection y-domain it should be handled correctly as long as # it is not a corner point. rlon = np.array([0.]) rlat = np.array([90.]) u = np.array([0.]) v = np.array([1.]) src_proj = ccrs.PlateCarree() target_proj = ccrs.Stereographic(central_latitude=90, central_longitude=0) ut, vt = target_proj.transform_vectors(src_proj, rlon, rlat, u, v) assert_array_almost_equal(ut, np.array([0.]), decimal=2) assert_array_almost_equal(vt, np.array([1.]), decimal=2) def test_invalid_xy_domain_corner(self): # If the point we need to calculate the vector angle falls outside the # source projection x and y-domain it should be handled correctly. rlon = np.array([180.]) rlat = np.array([90.]) u = np.array([1.]) v = np.array([1.]) src_proj = ccrs.PlateCarree() target_proj = ccrs.Stereographic(central_latitude=90, central_longitude=0) ut, vt = target_proj.transform_vectors(src_proj, rlon, rlat, u, v) assert_array_almost_equal(ut, np.array([0.]), decimal=2) assert_array_almost_equal(vt, np.array([-2**.5]), decimal=2) def test_invalid_x_domain_corner(self): # If the point we need to calculate the vector angle falls outside the # source projection x-domain and is a corner point, it may be handled # incorrectly and a warning should be raised. rlon = np.array([180.]) rlat = np.array([90.]) u = np.array([1.]) v = np.array([-1.]) src_proj = ccrs.PlateCarree() target_proj = ccrs.Stereographic(central_latitude=90, central_longitude=0) with warnings.catch_warnings(): warnings.simplefilter('error') with self.assertRaises(UserWarning): ut, vt = target_proj.transform_vectors( src_proj, rlon, rlat, u, v) def test_invalid_y_domain_corner(self): # If the point we need to calculate the vector angle falls outside the # source projection y-domain and is a corner point, it may be handled # incorrectly and a warning should be raised. rlon = np.array([180.]) rlat = np.array([90.]) u = np.array([-1.]) v = np.array([1.]) src_proj = ccrs.PlateCarree() target_proj = ccrs.Stereographic(central_latitude=90, central_longitude=0) with warnings.catch_warnings(): warnings.simplefilter('error') with self.assertRaises(UserWarning): ut, vt = target_proj.transform_vectors( src_proj, rlon, rlat, u, v) Cartopy-0.14.2/lib/cartopy/tests/test_geodesic.py0000644001374000021030000001432412700747662021552 0ustar itpeavd00000000000000# (C) British Crown Copyright 2015 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import numpy as np from numpy.testing import assert_almost_equal, assert_array_almost_equal from nose.tools import assert_equal from cartopy import geodesic class TestGeodesic(unittest.TestCase): def setUp(self): """ Data sampled from the GeographicLib Test Data for Geodesics at: http://geographiclib.sourceforge.net/html/geodesic.html#testgeod """ self.geod = geodesic.Geodesic() # Fill a 10 by 7 numpy array with starting lons, lats, azimuths; ending # lons, lats and azimuths and distances to travel. data = np.array([(0.0000000000, 36.5300423550, 176.1258751622, 5.7623446947, -48.1642707791, 175.3343083163, 9398502.0434687007), (0.0000000000, 20.8766024619, 6.9012827094, 163.9792202999, 64.2764863397, 165.0440144913, 10462971.2273696996), (0.0000000000, 59.7405712203, 80.9569174535, 80.1969954660, 30.9857449391, 144.4488137288, 6549489.1863671001), (0.0000000000, 38.6508883588, 18.3455177945, 23.5931524958, 66.3457305181, 37.7145989984, 3425212.4767990001), (0.0000000000, 23.2214345509, 165.5720618611, 148.3625110902, -68.8453788967, 39.2692310682, 14506511.2971898001), (0.0000000000, 31.2989275984, 155.7723493796, 93.8764112107, -69.2776346668, 98.5250397385, 13370814.5013951007), (0.0000000000, 49.6823298563, 1.0175398481, 5.3554086646, 83.8681965431, 6.1667605618, 3815028.2543704999), (0.0000000000, 32.7651878215, 98.6494285944, 70.3527194957, 2.4777491770, 123.5999412794, 8030520.7178932996), (0.0000000000, 46.3648067071, 94.9148631993, 56.5676529172, 25.2581951337, 130.4405565458, 5485075.9286326999), (0.0000000000, 33.7321188396, 147.9041907517, 33.1346935645, -26.3211288531, 150.4502346224, 7512675.5414637001)], dtype=[('start_lon', np.float64), ('start_lat', np.float64), ('start_azi', np.float64), ('end_lon', np.float64), ('end_lat', np.float64), ('end_azi', np.float64), ('dist', np.float64)]) self.data = data.view(np.recarray) self.start_pts = np.array([self.data.start_lon, self.data.start_lat]).T self.end_pts = np.array([self.data.end_lon, self.data.end_lat]).T self.dir_soln = np.array([self.data.end_lon, self.data.end_lat, self.data.end_azi]).T self.inv_soln = np.array([self.data.dist, self.data.start_azi, self.data.end_azi]).T def test_dir(self): geod_dir = self.geod.direct(self.start_pts, self.data.start_azi, self.data.dist) assert_array_almost_equal(geod_dir, self.dir_soln, decimal=5) def test_dir_broadcast(self): repeat_dists = np.repeat(np.array([self.data.dist[0]]), 10, axis=0) repeat_start_pts = np.repeat(np.array([self.start_pts[0]]), 10, axis=0) repeat_results = np.repeat(np.array([self.dir_soln[0]]), 10, axis=0) geod_dir1 = self.geod.direct(self.start_pts[0], self.data.start_azi[0], repeat_dists) geod_dir2 = self.geod.direct(repeat_start_pts, self.data.start_azi[0], self.data.dist[0]) assert_array_almost_equal(geod_dir1, repeat_results, decimal=5) assert_array_almost_equal(geod_dir2, repeat_results, decimal=5) def test_inverse(self): geod_inv = self.geod.inverse(self.start_pts, self.end_pts) assert_array_almost_equal(geod_inv, self.inv_soln, decimal=5) def test_inverse_broadcast(self): repeat_start_pts = np.repeat(np.array([self.start_pts[0]]), 10, axis=0) repeat_end_pts = np.repeat(np.array([self.end_pts[0]]), 10, axis=0) repeat_results = np.repeat(np.array([self.inv_soln[0]]), 10, axis=0) geod_inv1 = self.geod.inverse(self.start_pts[0], repeat_end_pts) geod_inv2 = self.geod.inverse(repeat_start_pts, self.end_pts[0]) assert_array_almost_equal(geod_inv1, repeat_results, decimal=5) assert_array_almost_equal(geod_inv2, repeat_results, decimal=5) def test_circle(self): geod_circle = self.geod.circle(40, 50, 500000, n_samples=3) assert_almost_equal(geod_circle, np.array([[40., 54.49349757], [34.23766162, 47.60355349], [45.76233838, 47.60355349]]), decimal=5) def test_str(self): expected = '' assert_equal(expected, str(self.geod)) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/test_img_nest.py0000644001374000021030000003660612700747662021604 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import io import os import shutil import warnings from nose.tools import assert_equal, assert_in, assert_true import numpy as np from numpy.testing import assert_array_equal, assert_array_almost_equal from PIL import Image import shapely.geometry as sgeom from six.moves import cPickle as pickle from cartopy import config import cartopy.crs as ccrs import cartopy.io.img_tiles as cimgt import cartopy.io.img_nest as cimg_nest import cartopy.tests as tests #: An integer version which should be increased if the test data needs #: to change in some way. _TEST_DATA_VERSION = 1 _TEST_DATA_DIR = os.path.join(config["data_dir"], 'wmts', 'aerial') #: A global to determine whether the test data has already been made available #: in this session. _TEST_DATA_AVAILABLE = False def test_world_files(): func = cimg_nest.Img.world_files fname = 'one' expected = ['one.w', 'one.W', 'ONE.w', 'ONE.W'] assert_equal(func(fname), expected) fname = 'one.png' expected = ['one.pngw', 'one.pgw', 'one.PNGW', 'one.PGW', 'ONE.pngw', 'ONE.pgw', 'ONE.PNGW', 'ONE.PGW'] assert_equal(func(fname), expected) fname = '/one.png' expected = ['/one.pngw', '/one.pgw', '/one.PNGW', '/one.PGW', '/ONE.pngw', '/ONE.pgw', '/ONE.PNGW', '/ONE.PGW'] assert_equal(func(fname), expected) fname = '/one/two.png' expected = ['/one/two.pngw', '/one/two.pgw', '/one/two.PNGW', '/one/two.PGW', '/one/TWO.pngw', '/one/TWO.pgw', '/one/TWO.PNGW', '/one/TWO.PGW'] assert_equal(func(fname), expected) fname = '/one/two/THREE.png' expected = ['/one/two/THREE.pngw', '/one/two/THREE.pgw', '/one/two/THREE.PNGW', '/one/two/THREE.PGW', '/one/two/three.pngw', '/one/two/three.pgw', '/one/two/three.PNGW', '/one/two/three.PGW'] assert_equal(func(fname), expected) def _save_world(fname, args): _world = ('{x_pix_size}\n' '{y_rotation}\n' '{x_rotation}\n' '{y_pix_size}\n' '{x_center}\n' '{y_center}\n') with open(fname, 'w') as fh: fh.write(_world.format(**args)) def test_intersect(): with tests.temp_dir() as base_dir: # Zoom level zero. # File 1: Parent space of all images. z_0_dir = os.path.join(base_dir, 'z_0') os.mkdir(z_0_dir) world = dict(x_pix_size=2, y_rotation=0, x_rotation=0, y_pix_size=2, x_center=1, y_center=1) im = Image.new('RGB', (50, 50)) fname = os.path.join(z_0_dir, 'p0.tfw') _save_world(fname, world) fname = os.path.join(z_0_dir, 'p0.tif') im.save(fname) # Zoom level one. # File 1: complete containment within p0. z_1_dir = os.path.join(base_dir, 'z_1') os.mkdir(z_1_dir) world = dict(x_pix_size=2, y_rotation=0, x_rotation=0, y_pix_size=2, x_center=21, y_center=21) im = Image.new('RGB', (30, 30)) fname = os.path.join(z_1_dir, 'p1.tfw') _save_world(fname, world) fname = os.path.join(z_1_dir, 'p1.tif') im.save(fname) # Zoom level two. # File 1: intersect right edge with p1 left edge. z_2_dir = os.path.join(base_dir, 'z_2') os.mkdir(z_2_dir) world = dict(x_pix_size=2, y_rotation=0, x_rotation=0, y_pix_size=2, x_center=6, y_center=21) im = Image.new('RGB', (5, 5)) fname = os.path.join(z_2_dir, 'p2-1.tfw') _save_world(fname, world) fname = os.path.join(z_2_dir, 'p2-1.tif') im.save(fname) # File 2: intersect upper right corner with p1 # lower left corner. world = dict(x_pix_size=2, y_rotation=0, x_rotation=0, y_pix_size=2, x_center=6, y_center=6) im = Image.new('RGB', (5, 5)) fname = os.path.join(z_2_dir, 'p2-2.tfw') _save_world(fname, world) fname = os.path.join(z_2_dir, 'p2-2.tif') im.save(fname) # File 3: complete containment within p1. world = dict(x_pix_size=2, y_rotation=0, x_rotation=0, y_pix_size=2, x_center=41, y_center=41) im = Image.new('RGB', (5, 5)) fname = os.path.join(z_2_dir, 'p2-3.tfw') _save_world(fname, world) fname = os.path.join(z_2_dir, 'p2-3.tif') im.save(fname) # File 4: overlap with p1 right edge. world = dict(x_pix_size=2, y_rotation=0, x_rotation=0, y_pix_size=2, x_center=76, y_center=61) im = Image.new('RGB', (5, 5)) fname = os.path.join(z_2_dir, 'p2-4.tfw') _save_world(fname, world) fname = os.path.join(z_2_dir, 'p2-4.tif') im.save(fname) # File 5: overlap with p1 bottom right corner. world = dict(x_pix_size=2, y_rotation=0, x_rotation=0, y_pix_size=2, x_center=76, y_center=76) im = Image.new('RGB', (5, 5)) fname = os.path.join(z_2_dir, 'p2-5.tfw') _save_world(fname, world) fname = os.path.join(z_2_dir, 'p2-5.tif') im.save(fname) # Provided in reverse order in order to test the area sorting. items = [('dummy-z-2', z_2_dir), ('dummy-z-1', z_1_dir), ('dummy-z-0', z_0_dir)] nic = cimg_nest.NestedImageCollection.from_configuration('dummy', None, items) names = [collection.name for collection in nic._collections] zoom_levels = ['dummy-z-0', 'dummy-z-1', 'dummy-z-2'] assert_true(names, zoom_levels) # Check all images are loaded. for zoom, expected_image_count in zip(zoom_levels, [1, 1, 5]): images = nic._collections_by_name[zoom].images assert_equal(len(images), expected_image_count) # Check the image ancestry. zoom_levels = ['dummy-z-0', 'dummy-z-1'] assert_equal(sorted(k[0] for k in nic._ancestry.keys()), zoom_levels) expected = [('dummy-z-0', ['p1.tif']), ('dummy-z-1', ['p2-3.tif', 'p2-4.tif', 'p2-5.tif'])] for zoom, image_names in expected: key = [k for k in nic._ancestry.keys() if k[0] == zoom][0] ancestry = nic._ancestry[key] fnames = sorted([os.path.basename(item[1].filename) for item in ancestry]) assert_equal(image_names, fnames) # Check image retrieval for specific domain. items = [(sgeom.box(20, 20, 80, 80), 3), (sgeom.box(20, 20, 75, 75), 1), (sgeom.box(40, 40, 85, 85), 3)] for domain, expected in items: result = [image for image in nic.find_images(domain, 'dummy-z-2')] assert_equal(len(result), expected) def _tile_from_img(img): """ Turns an img into the appropriate x, y, z tile based on its filename. Imgs have a filename attribute which is something like "lib/cartopy/data/wmts/aerial/z_0/x_0_y0.png" """ _, z = os.path.basename(os.path.dirname(img.filename)).split('_') xy, _ = os.path.splitext(os.path.basename(img.filename)) _, x, _, y = xy.split('_') return int(x), int(y), int(z) class RoundedImg(cimg_nest.Img): @staticmethod def world_file_extent(*args, **kwargs): """ Takes account for the fact that the image tiles are stored with imprecise tfw files. """ extent, pix_size = cimg_nest.Img.world_file_extent(*args, **kwargs) # round the extent extent = tuple(round(v, 4) for v in extent) pix_size = tuple(round(v, 4) for v in pix_size) return extent, pix_size def test_nest(): crs = cimgt.GoogleTiles().crs z0 = cimg_nest.ImageCollection('aerial z0 test', crs) z0.scan_dir_for_imgs(os.path.join(_TEST_DATA_DIR, 'z_0'), glob_pattern='*.png', img_class=RoundedImg) z1 = cimg_nest.ImageCollection('aerial z1 test', crs) z1.scan_dir_for_imgs(os.path.join(_TEST_DATA_DIR, 'z_1'), glob_pattern='*.png', img_class=RoundedImg) z2 = cimg_nest.ImageCollection('aerial z2 test', crs) z2.scan_dir_for_imgs(os.path.join(_TEST_DATA_DIR, 'z_2'), glob_pattern='*.png', img_class=RoundedImg) # make sure all the images from z1 are contained by the z0 image. The # only reason this might occur is if the tfw files are handling # floating point values badly for img in z1.images: if not z0.images[0].bbox().contains(img.bbox()): raise IOError('The test images aren\'t all "contained" by the ' 'z0 images, the nest cannot possibly work.\n ' 'img {!s} not contained by {!s}\nExtents: {!s}; ' '{!s}'.format(img, z0.images[0], img.extent, z0.images[0].extent)) nest_z0_z1 = cimg_nest.NestedImageCollection('aerial test', crs, [z0, z1]) nest = cimg_nest.NestedImageCollection('aerial test', crs, [z0, z1, z2]) z0_key = ('aerial z0 test', z0.images[0]) assert_true(z0_key in nest_z0_z1._ancestry.keys()) assert_equal(len(nest_z0_z1._ancestry), 1) # check that it has figured out that all the z1 images are children of # the only z0 image for img in z1.images: key = ('aerial z0 test', z0.images[0]) assert_in(('aerial z1 test', img), nest_z0_z1._ancestry[key]) x1_y0_z1, = [img for img in z1.images if img.filename.endswith('z_1/x_1_y_0.png')] assert_equal((1, 0, 1), _tile_from_img(x1_y0_z1)) assert_equal([(2, 0, 2), (2, 1, 2), (3, 0, 2), (3, 1, 2)], sorted([_tile_from_img(img) for z, img in nest.subtiles(('aerial z1 test', x1_y0_z1))])) nest_from_config = gen_nest() # check that the the images in the nest from configuration are the # same as those created by hand. for name in nest_z0_z1._collections_by_name.keys(): for img in nest_z0_z1._collections_by_name[name].images: collection = nest_from_config._collections_by_name[name] assert_in(img, collection.images) assert_equal(nest_z0_z1._ancestry, nest_from_config._ancestry) # check that a nest can be pickled and unpickled easily. s = io.BytesIO() pickle.dump(nest_z0_z1, s) s.seek(0) nest_z0_z1_from_pickle = pickle.load(s) assert_equal(nest_z0_z1._ancestry, nest_z0_z1_from_pickle._ancestry) def test_img_pickle_round_trip(): """Check that __getstate__ for Img instances is working correctly.""" img = cimg_nest.Img('imaginary file', (0, 1, 2, 3), 'lower', (1, 2)) img_from_pickle = pickle.loads(pickle.dumps(img)) assert_equal(img, img_from_pickle) assert_equal(hasattr(img_from_pickle, '_bbox'), True) def requires_wmts_data(function): """ A decorator which ensures that the WMTS data is available for use in testing. """ aerial = cimgt.MapQuestOpenAerial() # get web tiles upto 3 zoom levels deep tiles = [(0, 0, 0)] for tile in aerial.subtiles((0, 0, 0)): tiles.append(tile) for tile in tiles[1:]: for sub_tile in aerial.subtiles(tile): tiles.append(sub_tile) fname_template = os.path.join(_TEST_DATA_DIR, 'z_{}', 'x_{}_y_{}.png') if not os.path.isdir(_TEST_DATA_DIR): os.makedirs(_TEST_DATA_DIR) data_version_fname = os.path.join(_TEST_DATA_DIR, 'version.txt') test_data_version = None try: with open(data_version_fname, 'r') as fh: test_data_version = int(fh.read().strip()) except IOError: pass finally: if test_data_version != _TEST_DATA_VERSION: warnings.warn('WMTS test data is out of date, regenerating at ' '{}.'.format(_TEST_DATA_DIR)) shutil.rmtree(_TEST_DATA_DIR) os.makedirs(_TEST_DATA_DIR) with open(data_version_fname, 'w') as fh: fh.write(str(_TEST_DATA_VERSION)) # Download the tiles. for tile in tiles: x, y, z = tile fname = fname_template.format(z, x, y) if not os.path.exists(fname): if not os.path.isdir(os.path.dirname(fname)): os.makedirs(os.path.dirname(fname)) img, extent, _ = aerial.get_image(tile) nx, ny = 256, 256 x_rng = extent[1] - extent[0] y_rng = extent[3] - extent[2] pix_size_x = x_rng / nx pix_size_y = y_rng / ny upper_left_center = (extent[0] + pix_size_x / 2, extent[2] + pix_size_y / 2) pgw_fname = fname[:-4] + '.pgw' pgw_keys = {'x_pix_size': np.float64(pix_size_x), 'y_rotation': 0, 'x_rotation': 0, 'y_pix_size': np.float64(pix_size_y), 'x_center': np.float64(upper_left_center[0]), 'y_center': np.float64(upper_left_center[1]), } _save_world(pgw_fname, pgw_keys) img.save(fname) global _TEST_DATA_AVAILABLE _TEST_DATA_AVAILABLE = True return function @requires_wmts_data def test_find_images(): z2_dir = os.path.join(_TEST_DATA_DIR, 'z_2') img_fname = os.path.join(z2_dir, 'x_2_y_0.png') world_file_fname = os.path.join(z2_dir, 'x_2_y_0.pgw') img = RoundedImg.from_world_file(img_fname, world_file_fname) assert_equal(img.filename, img_fname) assert_array_almost_equal(img.extent, (0., 10018754.17139462, 10018754.17139462, 20037508.342789244), decimal=4) assert_equal(img.origin, 'lower') assert_array_equal(img, np.array(Image.open(img.filename))) assert_equal(img.pixel_size, (39135.7585, 39135.7585)) @requires_wmts_data def gen_nest(): from_config = cimg_nest.NestedImageCollection.from_configuration files = [['aerial z0 test', os.path.join(_TEST_DATA_DIR, 'z_0')], ['aerial z1 test', os.path.join(_TEST_DATA_DIR, 'z_1')], ] crs = cimgt.GoogleTiles().crs nest_z0_z1 = from_config('aerial test', crs, files, glob_pattern='*.png', img_class=RoundedImg) return nest_z0_z1 if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/test_img_tiles.py0000644001374000021030000001742212700747662021746 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import types from nose.tools import assert_equal, assert_raises import numpy as np from numpy.testing import assert_array_almost_equal as assert_arr_almost import shapely.geometry as sgeom import cartopy.crs as ccrs import cartopy.io.img_tiles as cimgt #: Maps Google tile coordinates to native mercator coordinates as defined #: by https://goo.gl/pgJi. KNOWN_EXTENTS = {(0, 0, 0): (-20037508.342789244, 20037508.342789244, -20037508.342789244, 20037508.342789244), (2, 0, 2): (0., 10018754.17139462, 10018754.17139462, 20037508.342789244), (0, 2, 2): (-20037508.342789244, -10018754.171394622, -10018754.171394622, 0), (2, 2, 2): (0, 10018754.17139462, -10018754.171394622, 0), (8, 9, 4): (0, 2504688.542848654, -5009377.085697312, -2504688.542848654), } def GOOGLE_IMAGE_URL_REPLACEMENT(self, tile): url = ('https://chart.googleapis.com/chart?chst=d_text_outline&' 'chs=256x256&chf=bg,s,00000055&chld=FFFFFF|16|h|000000|b||||' 'Google:%20%20(' + str(tile[0]) + ',' + str(tile[1]) + ')' '|Zoom%20' + str(tile[2]) + '||||||______________________' '______') return url def test_google_tile_styles(): """ Tests that setting the Google Maps tile style works as expected. This is essentially just assures information is properly propagated through the class structure. """ reference_url = ("https://mts0.google.com/vt/lyrs={style}@177000000&hl=en" "&src=api&x=1&y=2&z=3&s=G") tile = ["1", "2", "3"] # Default is street. gt = cimgt.GoogleTiles() url = gt._image_url(tile) assert_equal(reference_url.format(style="m"), url) # Street gt = cimgt.GoogleTiles(style="street") url = gt._image_url(tile) assert_equal(reference_url.format(style="m"), url) # Satellite gt = cimgt.GoogleTiles(style="satellite") url = gt._image_url(tile) assert_equal(reference_url.format(style="s"), url) # Terrain gt = cimgt.GoogleTiles(style="terrain") url = gt._image_url(tile) assert_equal(reference_url.format(style="t"), url) # Streets only gt = cimgt.GoogleTiles(style="only_streets") url = gt._image_url(tile) assert_equal(reference_url.format(style="h"), url) # Exception is raised if unknown style is passed. with assert_raises(ValueError): cimgt.GoogleTiles(style="random_style") def test_google_wts(): gt = cimgt.GoogleTiles() ll_target_domain = sgeom.box(-15, 50, 0, 60) multi_poly = gt.crs.project_geometry(ll_target_domain, ccrs.PlateCarree()) target_domain = multi_poly.geoms[0] with assert_raises(AssertionError): list(gt.find_images(target_domain, -1)) assert_equal(tuple(gt.find_images(target_domain, 0)), ((0, 0, 0),)) assert_equal(tuple(gt.find_images(target_domain, 2)), ((1, 1, 2), (2, 1, 2))) assert_equal(list(gt.subtiles((0, 0, 0))), [(0, 0, 1), (0, 1, 1), (1, 0, 1), (1, 1, 1)]) assert_equal(list(gt.subtiles((1, 0, 1))), [(2, 0, 2), (2, 1, 2), (3, 0, 2), (3, 1, 2)]) with assert_raises(AssertionError): gt.tileextent((0, 1, 0)) assert_arr_almost(gt.tileextent((0, 0, 0)), KNOWN_EXTENTS[(0, 0, 0)]) assert_arr_almost(gt.tileextent((2, 0, 2)), KNOWN_EXTENTS[(2, 0, 2)]) assert_arr_almost(gt.tileextent((0, 2, 2)), KNOWN_EXTENTS[(0, 2, 2)]) assert_arr_almost(gt.tileextent((2, 2, 2)), KNOWN_EXTENTS[(2, 2, 2)]) assert_arr_almost(gt.tileextent((8, 9, 4)), KNOWN_EXTENTS[(8, 9, 4)]) def test_tile_bbox_y0_at_south_pole(): tms = cimgt.MapQuestOpenAerial() # Check the y0_at_north_pole keywords returns the appropriate bounds. assert_arr_almost(tms.tile_bbox(8, 6, 4, y0_at_north_pole=False), np.array(KNOWN_EXTENTS[(8, 9, 4)]).reshape([2, 2])) def test_tile_find_images(): gt = cimgt.GoogleTiles() # Test the find_images method on a GoogleTiles instance. ll_target_domain = sgeom.box(-10, 50, 10, 60) multi_poly = gt.crs.project_geometry(ll_target_domain, ccrs.PlateCarree()) target_domain = multi_poly.geoms[0] assert_equal([(7, 4, 4), (7, 5, 4), (8, 4, 4), (8, 5, 4)], list(gt.find_images(target_domain, 4))) def test_image_for_domain(): gt = cimgt.GoogleTiles() gt._image_url = types.MethodType(GOOGLE_IMAGE_URL_REPLACEMENT, gt) ll_target_domain = sgeom.box(-10, 50, 10, 60) multi_poly = gt.crs.project_geometry(ll_target_domain, ccrs.PlateCarree()) target_domain = multi_poly.geoms[0] _, extent, _ = gt.image_for_domain(target_domain, 6) ll_extent = ccrs.Geodetic().transform_points(gt.crs, np.array(extent[:2]), np.array(extent[2:])) assert_arr_almost(ll_extent[:, :2], [[-11.25, 48.92249926], [11.25, 61.60639637]]) def test_quadtree_wts(): qt = cimgt.QuadtreeTiles() ll_target_domain = sgeom.box(-15, 50, 0, 60) multi_poly = qt.crs.project_geometry(ll_target_domain, ccrs.PlateCarree()) target_domain = multi_poly.geoms[0] with assert_raises(ValueError): list(qt.find_images(target_domain, 0)) assert_equal(qt.tms_to_quadkey((1, 1, 1)), '1') assert_equal(qt.quadkey_to_tms('1'), (1, 1, 1)) assert_equal(qt.tms_to_quadkey((8, 9, 4)), '1220') assert_equal(qt.quadkey_to_tms('1220'), (8, 9, 4)) assert_equal(tuple(qt.find_images(target_domain, 1)), ('0', '1')) assert_equal(tuple(qt.find_images(target_domain, 2)), ('03', '12')) assert_equal(list(qt.subtiles('0')), ['00', '01', '02', '03']) assert_equal(list(qt.subtiles('11')), ['110', '111', '112', '113']) with assert_raises(ValueError): qt.tileextent('4') assert_arr_almost(qt.tileextent(''), KNOWN_EXTENTS[(0, 0, 0)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 0, 2), google=True)), KNOWN_EXTENTS[(2, 0, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((0, 2, 2), google=True)), KNOWN_EXTENTS[(0, 2, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 0, 2), google=True)), KNOWN_EXTENTS[(2, 0, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((2, 2, 2), google=True)), KNOWN_EXTENTS[(2, 2, 2)]) assert_arr_almost(qt.tileextent(qt.tms_to_quadkey((8, 9, 4), google=True)), KNOWN_EXTENTS[(8, 9, 4)]) def test_mapbox_tiles(): token = 'foo' map_id = 'bar' tile = [0, 1, 2] exp_url = 'https://api.tiles.mapbox.com/v4/bar/2/0/1.png?access_token=foo' mapbox_sample = cimgt.MapboxTiles(token, map_id) url_str = mapbox_sample._image_url(tile) assert_equal(url_str, exp_url) if __name__ == '__main__': import nose nose.runmodule(argv=['-s', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/test_img_transform.py0000644001374000021030000000704012700747662022634 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import numpy as np from numpy.testing import assert_array_equal import cartopy.img_transform as img_trans import cartopy.crs as ccrs def test_griding_data_std_range(): # Data which exists inside the standard projection bounds i.e. # [-180, 180]. target_prj = ccrs.PlateCarree() # create 3 data points lats = np.array([65, 10, -45]) lons = np.array([-90, 0, 90]) data = np.array([1, 2, 3]) data_trans = ccrs.Geodetic() target_x, target_y, extent = img_trans.mesh_projection(target_prj, 8, 4) image = img_trans.regrid(data, lons, lats, data_trans, target_prj, target_x, target_y, mask_extrapolated=True) # The expected image. n.b. on a map the data is reversed in the y axis. expected = np.array([[3, 3, 3, 3, 3, 3, 3, 3], [3, 1, 2, 2, 2, 3, 3, 3], [1, 1, 1, 2, 2, 2, 3, 1], [1, 1, 1, 1, 1, 1, 1, 1]], dtype=np.float64) expected_mask = np.array( [[True, True, True, True, True, True, True, True], [True, False, False, False, False, False, False, True], [True, False, False, False, False, False, False, True], [True, True, True, True, True, True, True, True]]) assert_array_equal([-180, 180, -90, 90], extent) assert_array_equal(expected, image) assert_array_equal(expected_mask, image.mask) def test_griding_data_outside_projection(): # Data which exists outside the standard projection e.g. [0, 360] rather # than [-180, 180]. target_prj = ccrs.PlateCarree() # create 3 data points lats = np.array([65, 10, -45]) lons = np.array([120, 180, 240]) data = np.array([1, 2, 3]) data_trans = ccrs.Geodetic() target_x, target_y, extent = img_trans.mesh_projection(target_prj, 8, 4) image = img_trans.regrid(data, lons, lats, data_trans, target_prj, target_x, target_y, mask_extrapolated=True) # The expected image. n.b. on a map the data is reversed in the y axis. expected = np.array( [[3, 3, 3, 3, 3, 3, 3, 3], [3, 3, 3, 3, 3, 1, 2, 2], [2, 2, 3, 1, 1, 1, 1, 2], [1, 1, 1, 1, 1, 1, 1, 1]], dtype=np.float64) expected_mask = np.array( [[True, True, True, True, True, True, True, True], [False, False, True, True, True, True, False, False], [False, False, True, True, True, True, False, False], [True, True, True, True, True, True, True, True]]) assert_array_equal([-180, 180, -90, 90], extent) assert_array_equal(expected, image) assert_array_equal(expected_mask, image.mask) if __name__ == '__main__': import nose nose.runmodule(argv=['-sv', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/tests/test_line_string.py0000644001374000021030000002616312700747662022311 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import itertools import time import unittest import numpy as np import shapely.geometry as sgeom import cartopy.crs as ccrs class TestLineString(unittest.TestCase): def test_out_of_bounds(self): # Check that a line that is completely out of the map boundary produces # a valid LineString projection = ccrs.TransverseMercator(central_longitude=0) # For both start & end, define a point that results in well-defined # projection coordinates and one that results in NaN. start_points = [(86, 0), (130, 0)] end_points = [(88, 0), (120, 0)] # Try all four combinations of valid/NaN vs valid/NaN. for start, end in itertools.product(start_points, end_points): line_string = sgeom.LineString([start, end]) multi_line_string = projection.project_geometry(line_string) if start[0] == 130 and end[0] == 120: expected = 0 else: expected = 1 self.assertEqual(len(multi_line_string), expected, 'Unexpected line when working from {} ' 'to {}'.format(start, end)) def test_simple_fragment_count(self): projection = ccrs.PlateCarree() tests = [ ([(150, 0), (-150, 0)], 2), ([(10, 0), (90, 0), (180, 0), (-90, 0), (-10, 0)], 2), ([(-10, 0), (10, 0)], 1), ([(-45, 0), (45, 30)], 1), ] for coords, pieces in tests: line_string = sgeom.LineString(coords) multi_line_string = projection.project_geometry(line_string) # from cartopy.tests.mpl import show # show(projection, multi_line_string) self.assertEqual(len(multi_line_string), pieces) def test_split(self): projection = ccrs.Robinson(170.5) line_string = sgeom.LineString([(-10, 30), (10, 60)]) multi_line_string = projection.project_geometry(line_string) # from cartopy.tests.mpl import show # show(projection, multi_line_string) self.assertEqual(len(multi_line_string), 2) def test_out_of_domain_efficiency(self): # Check we're efficiently dealing with lines that project # outside the map domain. # Because the south pole projects to an *enormous* circle # (radius ~ 1e23) this will take a *long* time to project if the # within-domain exactness criteria are used. line_string = sgeom.LineString([(0, -90), (2, -90)]) tgt_proj = ccrs.NorthPolarStereo() src_proj = ccrs.PlateCarree() cutoff_time = time.time() + 1 tgt_proj.project_geometry(line_string, src_proj) self.assertLess(time.time(), cutoff_time, 'Projection took too long') class FakeProjection(ccrs.PlateCarree): def __init__(self, left_offset=0, right_offset=0): self.left_offset = left_offset self.right_offset = right_offset self._half_width = 180 self._half_height = 90 ccrs.PlateCarree.__init__(self) @property def boundary(self): # XXX Should this be a LinearRing? w, h = self._half_width, self._half_height return sgeom.LineString([(-w + self.left_offset, -h), (-w + self.left_offset, h), (w - self.right_offset, h), (w - self.right_offset, -h), (-w + self.left_offset, -h)]) class TestBisect(unittest.TestCase): # A bunch of tests to check the bisection algorithm is robust for a # variety of simple and/or pathological cases. def test_repeated_point(self): projection = FakeProjection() line_string = sgeom.LineString([(10, 0), (10, 0)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 1) self.assertEqual(len(multi_line_string[0].coords), 2) def test_interior_repeated_point(self): projection = FakeProjection() line_string = sgeom.LineString([(0, 0), (10, 0), (10, 0), (20, 0)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 1) self.assertEqual(len(multi_line_string[0].coords), 4) def test_circular_repeated_point(self): projection = FakeProjection() line_string = sgeom.LineString([(0, 0), (360, 0)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 1) self.assertEqual(len(multi_line_string[0].coords), 2) def test_short(self): projection = FakeProjection() line_string = sgeom.LineString([(0, 0), (1e-12, 0)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 1) self.assertEqual(len(multi_line_string[0].coords), 2) def test_empty(self): projection = FakeProjection(right_offset=10) line_string = sgeom.LineString([(175, 0), (175, 10)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 0) def test_simple_run_in(self): projection = FakeProjection(right_offset=10) line_string = sgeom.LineString([(160, 0), (175, 0)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 1) self.assertEqual(len(multi_line_string[0].coords), 2) def test_simple_wrap(self): projection = FakeProjection() line_string = sgeom.LineString([(160, 0), (-160, 0)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 2) self.assertEqual(len(multi_line_string[0].coords), 2) self.assertEqual(len(multi_line_string[1].coords), 2) def test_simple_run_out(self): projection = FakeProjection(left_offset=10) line_string = sgeom.LineString([(-175, 0), (-160, 0)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 1) self.assertEqual(len(multi_line_string[0].coords), 2) def test_point_on_boundary(self): projection = FakeProjection() line_string = sgeom.LineString([(180, 0), (-160, 0)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 1) self.assertEqual(len(multi_line_string[0].coords), 2) # Add a small offset to the left-hand boundary to make things # even more pathological. projection = FakeProjection(left_offset=5) line_string = sgeom.LineString([(180, 0), (-160, 0)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 1) self.assertEqual(len(multi_line_string[0].coords), 2) def test_nan_start(self): projection = ccrs.TransverseMercator(central_longitude=-90) line_string = sgeom.LineString([(10, 50), (-10, 30)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 1) for line_string in multi_line_string: for coord in line_string.coords: self.assertFalse(any(np.isnan(coord)), 'Unexpected NaN in projected coords.') def test_nan_end(self): projection = ccrs.TransverseMercator(central_longitude=-90) line_string = sgeom.LineString([(-10, 30), (10, 50)]) multi_line_string = projection.project_geometry(line_string) # from cartopy.tests.mpl import show # show(projection, multi_line_string) self.assertEqual(len(multi_line_string), 1) for line_string in multi_line_string: for coord in line_string.coords: self.assertFalse(any(np.isnan(coord)), 'Unexpected NaN in projected coords.') class TestMisc(unittest.TestCase): def test_misc(self): projection = ccrs.TransverseMercator(central_longitude=-90) line_string = sgeom.LineString([(10, 50), (-10, 30)]) multi_line_string = projection.project_geometry(line_string) # from cartopy.tests.mpl import show # show(projection, multi_line_string) for line_string in multi_line_string: for coord in line_string.coords: self.assertFalse(any(np.isnan(coord)), 'Unexpected NaN in projected coords.') def test_something(self): projection = ccrs.RotatedPole(pole_longitude=177.5, pole_latitude=37.5) line_string = sgeom.LineString([(0, 0), (1e-14, 0)]) multi_line_string = projection.project_geometry(line_string) self.assertEqual(len(multi_line_string), 1) self.assertEqual(len(multi_line_string[0].coords), 2) def test_global_boundary(self): linear_ring = sgeom.LineString([(-180, -180), (-180, 180), (180, 180), (180, -180)]) pc = ccrs.PlateCarree() merc = ccrs.Mercator() multi_line_string = pc.project_geometry(linear_ring, merc) assert len(multi_line_string) > 0 # check the identity transform multi_line_string = merc.project_geometry(linear_ring, merc) assert len(multi_line_string) > 0 class TestSymmetry(unittest.TestCase): @unittest.expectedFailure def test_curve(self): # Obtain a simple, curved path. projection = ccrs.PlateCarree() coords = [(-0.08, 51.53), (132.00, 43.17)] # London to Vladivostock line_string = sgeom.LineString(coords) multi_line_string = projection.project_geometry(line_string) # Compute the reverse path. line_string = sgeom.LineString(coords[::-1]) multi_line_string2 = projection.project_geometry(line_string) # Make sure that they generated the same points. # (Although obviously they will be in the opposite order!) self.assertEqual(len(multi_line_string), 1) self.assertEqual(len(multi_line_string2), 1) coords = multi_line_string[0].coords coords2 = multi_line_string2[0].coords np.testing.assert_allclose(coords, coords2[::-1], err_msg='Asymmetric curve generation') if __name__ == '__main__': unittest.main() Cartopy-0.14.2/lib/cartopy/tests/test_linear_ring.py0000644001374000021030000001736412700747662022270 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import shapely.geometry as sgeom import numpy as np import cartopy.crs as ccrs class TestBoundary(unittest.TestCase): def test_cuts(self): # Check that fragments do not start or end with one of the # original ... ? linear_ring = sgeom.LinearRing([(-10, 30), (10, 60), (10, 50)]) projection = ccrs.Robinson(170.5) rings, multi_line_string = projection.project_geometry(linear_ring) # The original ring should have been split into multiple pieces. self.assertGreater(len(multi_line_string), 1) self.assertFalse(rings) def assert_intersection_with_boundary(segment_coords): # Double the length of the segment. start = segment_coords[0] end = segment_coords[1] end = [end[i] + 2 * (end[i] - start[i]) for i in (0, 1)] extended_segment = sgeom.LineString([start, end]) # And see if it crosses the boundary. intersection = extended_segment.intersection(projection.boundary) self.assertFalse(intersection.is_empty, 'Bad topology near boundary') # Each line resulting from the split should start and end with a # segment that crosses the boundary when extended to double length. # (This is important when considering polygon rings which need to be # attached to the boundary.) for line_string in multi_line_string: coords = list(line_string.coords) self.assertGreaterEqual(len(coords), 2) assert_intersection_with_boundary(coords[1::-1]) assert_intersection_with_boundary(coords[-2:]) def test_out_of_bounds(self): # Check that a ring that is completely out of the map boundary # produces an empty result. # XXX Check efficiency? projection = ccrs.TransverseMercator(central_longitude=0) rings = [ # All valid ([(86, 1), (86, -1), (88, -1), (88, 1)], -1), # One NaN ([(86, 1), (86, -1), (130, -1), (88, 1)], 1), # A NaN segment ([(86, 1), (86, -1), (130, -1), (130, 1)], 1), # All NaN ([(120, 1), (120, -1), (130, -1), (130, 1)], 0), ] # Try all four combinations of valid/NaN vs valid/NaN. for coords, expected_n_lines in rings: linear_ring = sgeom.LinearRing(coords) rings, mlinestr = projection.project_geometry(linear_ring) if expected_n_lines == -1: self.assertTrue(rings) self.assertFalse(mlinestr) else: self.assertEqual(len(mlinestr), expected_n_lines) if expected_n_lines == 0: self.assertTrue(mlinestr.is_empty) class TestMisc(unittest.TestCase): def test_small(self): # What happens when a small (i.e. < threshold) feature crosses the # boundary? projection = ccrs.Mercator() linear_ring = sgeom.LinearRing([ (-179.9173693847652942, -16.5017831356493616), (-180.0000000000000000, -16.0671326636424396), (-179.7933201090486079, -16.0208822567412312), ]) rings, multi_line_string = projection.project_geometry(linear_ring) # There should be one, and only one, returned ring. self.assertIsInstance(multi_line_string, sgeom.MultiLineString) self.assertEqual(len(multi_line_string), 0) self.assertEqual(len(rings), 1) # from cartopy.tests.mpl import show # show(projection, multi_line_string) def test_three_points(self): # The following LinearRing when projected from PlateCarree() to # PlateCarree(180.0) results in three points all in close proximity. # If an attempt is made to form a LinearRing from the three points # by combining the first and last an exception will be raised. # Check that this object can be projected without error. coords = [(0.0, -45.0), (0.0, -44.99974961593933), (0.000727869825138, -45.0), (0.0, -45.000105851567454), (0.0, -45.0)] linear_ring = sgeom.LinearRing(coords) src_proj = ccrs.PlateCarree() target_proj = ccrs.PlateCarree(180.0) try: _ = target_proj.project_geometry(linear_ring, src_proj) except ValueError: self.fail("Failed to project LinearRing.") def test_stitch(self): # The following LinearRing wanders in/out of the map domain # but importantly the "vertical" lines at 0'E and 360'E are both # chopped by the map boundary. This results in their ends being # *very* close to each other and confusion over which occurs # first when navigating around the boundary. # Check that these ends are stitched together to avoid the # boundary ordering ambiguity. # NB. This kind of polygon often occurs with MPL's contouring. coords = [(0.0, -70.70499926182919), (0.0, -71.25), (0.0, -72.5), (0.0, -73.49076371657017), (360.0, -73.49076371657017), (360.0, -72.5), (360.0, -71.25), (360.0, -70.70499926182919), (350, -73), (10, -73)] src_proj = ccrs.PlateCarree() target_proj = ccrs.Stereographic(80) linear_ring = sgeom.LinearRing(coords) rings, mlinestr = target_proj.project_geometry(linear_ring, src_proj) self.assertEqual(len(mlinestr), 1) self.assertEqual(len(rings), 0) # Check the stitch works in either direction. linear_ring = sgeom.LinearRing(coords[::-1]) rings, mlinestr = target_proj.project_geometry(linear_ring, src_proj) self.assertEqual(len(mlinestr), 1) self.assertEqual(len(rings), 0) def test_at_boundary(self): # Check that a polygon is split and recombined correctly # as a result of being on the boundary, determined by tolerance. exterior = np.array( [[177.5, -79.912], [178.333, -79.946], [181.666, -83.494], [180.833, -83.570], [180., -83.620], [178.438, -83.333], [178.333, -83.312], [177.956, -83.888], [180., -84.086], [180.833, -84.318], [183., -86.], [183., -78.], [177.5, -79.912]]) tring = sgeom.LinearRing(exterior) tcrs = ccrs.PlateCarree() scrs = ccrs.PlateCarree() rings, mlinestr = tcrs._project_linear_ring(tring, scrs) # Number of linearstrings self.assertEqual(len(mlinestr), 4) self.assertFalse(rings) # Test area of smallest Polygon that contains all the points in the # geometry. self.assertAlmostEqual(mlinestr.convex_hull.area, 2347.75623076) if __name__ == '__main__': unittest.main() Cartopy-0.14.2/lib/cartopy/tests/test_polygon.py0000644001374000021030000004175312700747662021465 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import unittest import numpy as np import shapely.geometry as sgeom import shapely.wkt import cartopy.crs as ccrs class TestBoundary(unittest.TestCase): def test_no_polygon_boundary_reversal(self): # Check that polygons preserve their clockwise or counter-clockwise # ordering when they are attached to the boundary. # Failure to do so will result in invalid polygons (their boundaries # cross-over). polygon = sgeom.Polygon([(-10, 30), (10, 60), (10, 50)]) projection = ccrs.Robinson(170.5) multi_polygon = projection.project_geometry(polygon) for polygon in multi_polygon: self.assertTrue(polygon.is_valid) def test_polygon_boundary_attachment(self): # Check the polygon is attached to the boundary even when no # intermediate point for one of the crossing segments would normally # exist. polygon = sgeom.Polygon([(-10, 30), (10, 60), (10, 50)]) projection = ccrs.Robinson(170.6) # This will raise an exception if the polygon/boundary intersection # fails. multi_polygon = projection.project_geometry(polygon) def test_out_of_bounds(self): # Check that a polygon that is completely out of the map boundary # doesn't produce an empty result. projection = ccrs.TransverseMercator(central_longitude=0) polys = [ # All valid ([(86, -1), (86, 1), (88, 1), (88, -1)], 1), # One out of backwards projection range ([(86, -1), (86, 1), (130, 1), (88, -1)], 1), # An out of backwards projection range segment ([(86, -1), (86, 1), (130, 1), (130, -1)], 1), # All out of backwards projection range ([(120, -1), (120, 1), (130, 1), (130, -1)], 0), ] # Try all four combinations of valid/NaN vs valid/NaN. for coords, expected_polys in polys: polygon = sgeom.Polygon(coords) multi_polygon = projection.project_geometry(polygon) self.assertEqual(len(multi_polygon), expected_polys) class TestMisc(unittest.TestCase): def test_misc(self): projection = ccrs.TransverseMercator(central_longitude=-90) polygon = sgeom.Polygon([(-10, 30), (10, 60), (10, 50)]) multi_polygon = projection.project_geometry(polygon) def test_small(self): projection = ccrs.Mercator() polygon = sgeom.Polygon([ (-179.7933201090486079, -16.0208822567412312), (-180.0000000000000000, -16.0671326636424396), (-179.9173693847652942, -16.5017831356493616), ]) multi_polygon = projection.project_geometry(polygon) self.assertEqual(len(multi_polygon), 1) self.assertEqual(len(multi_polygon[0].exterior.coords), 4) def test_former_infloop_case(self): # test a polygon which used to get stuck in an infinite loop # see https://github.com/SciTools/cartopy/issues/60 coords = [(260.625, 68.90383337092122), (360.0, 79.8556091996901), (360.0, 77.76848175458498), (0.0, 88.79068047337279), (210.0, 90.0), (135.0, 88.79068047337279), (260.625, 68.90383337092122)] geom = sgeom.Polygon(coords) target_projection = ccrs.PlateCarree() source_crs = ccrs.Geodetic() multi_polygon = target_projection.project_geometry(geom, source_crs) # check the result is non-empty self.assertFalse(multi_polygon.is_empty) def test_project_previous_infinite_loop(self): mstring1 = shapely.wkt.loads( 'MULTILINESTRING (' '(-179.9999990464349651 -80.2000000000000171, ' '-179.5000000001111005 -80.2000000000000171, ' '-179.5000000001111005 -79.9000000000000199, ' '-179.9999995232739138 -79.9499999523163041, ' '-179.8000000001110550 -80.0000000000000000, ' '-179.8000000001110550 -80.0999999999999943, ' '-179.9999999047436177 -80.0999999999999943), ' '(179.9999995231628702 -79.9499999523163041, ' '179.5000000000000000 -79.9000000000000199, ' '179.5000000000000000 -80.0000000000000000, ' '179.9999995231628702 -80.0499999523162842, ' '179.5000000000000000 -80.0999999999999943, ' '179.5000000000000000 -80.2000000000000171, ' '179.9999990463256836 -80.2000000000000171))') mstring2 = shapely.wkt.loads( 'MULTILINESTRING (' '(179.9999996185302678 -79.9999999904632659, ' '179.5999999999999943 -79.9899999999999949, ' '179.5999999999999943 -79.9399999999999977, ' '179.9999996185302678 -79.9599999809265114), ' '(-179.9999999047436177 -79.9600000000000080, ' '-179.9000000001110777 -79.9600000000000080, ' '-179.9000000001110777 -80.0000000000000000, ' '-179.9999999047436177 -80.0000000000000000))') multi_line_strings = [mstring1, mstring2] src = ccrs.PlateCarree() src._attach_lines_to_boundary(multi_line_strings, True) def test_3pt_poly(self): projection = ccrs.OSGB() polygon = sgeom.Polygon([(-1000, -1000), (-1000, 200000), (200000, -1000)]) multi_polygon = projection.project_geometry(polygon, ccrs.OSGB()) self.assertEqual(len(multi_polygon), 1) self.assertEqual(len(multi_polygon[0].exterior.coords), 4) def test_self_intersecting_1(self): # Geometry comes from a matplotlib contourf (see #537) wkt = ('POLYGON ((366.22000122 -9.71489298, ' '366.73212393 -9.679999349999999, ' '366.77412634 -8.767753000000001, ' '366.17762962 -9.679999349999999, ' '366.22000122 -9.71489298), ' '(366.22000122 -9.692636309999999, ' '366.32998657 -9.603356099999999, ' '366.74765799 -9.019999500000001, ' '366.5094086 -9.63175386, ' '366.22000122 -9.692636309999999))') geom = shapely.wkt.loads(wkt) source, target = ccrs.RotatedPole(198.0, 39.25), ccrs.EuroPP() projected = target.project_geometry(geom, source) # Before handling self intersecting interiors, the area would be # approximately 13262233761329. area = projected.area self.assertTrue(2.2e9 < area < 2.3e9, msg='Got area {}, expecting ~2.2e9'.format(area)) def test_self_intersecting_2(self): # Geometry comes from a matplotlib contourf (see #509) wkt = ('POLYGON ((343 20, 345 23, 342 25, 343 22, ' '340 25, 341 25, 340 25, 343 20), (343 21, ' '343 22, 344 23, 343 21))') geom = shapely.wkt.loads(wkt) source = target = ccrs.RotatedPole(193.0, 41.0) projected = target.project_geometry(geom, source) # Before handling self intersecting interiors, the area would be # approximately 64808. self.assertTrue(7.9 < projected.area < 8.1) def test_tiny_point_between_boundary_points(self): # Geometry comes from #259. target = ccrs.Orthographic(0, -75) source = ccrs.PlateCarree() wkt = 'POLYGON ((132 -40, 133 -6, 125.3 1, 115 -6, 132 -40))' geom = shapely.wkt.loads(wkt) target = ccrs.Orthographic(central_latitude=90., central_longitude=0) source = ccrs.PlateCarree() projected = target.project_geometry(geom, source) area = projected.area # Before fixing, this geometry used to fill the whole disk. Approx # 1.2e14. self.assertTrue(81330 < area < 81340, msg='Got area {}, expecting ~81336'.format(area)) class TestQuality(unittest.TestCase): def setUp(self): projection = ccrs.RotatedPole(pole_longitude=177.5, pole_latitude=37.5) polygon = sgeom.Polygon([ (177.5, -57.38460319), (180.0, -57.445077), (175.0, -57.19913331), ]) self.multi_polygon = projection.project_geometry(polygon) # from cartopy.tests.mpl import show # show(projection, self.multi_polygon) def test_split(self): # Start simple ... there should be two projected polygons. self.assertEqual(len(self.multi_polygon), 2) def test_repeats(self): # Make sure we don't have repeated points at the boundary, because # they mess up the linear extrapolation to the boundary. # Make sure there aren't any repeated points. xy = np.array(self.multi_polygon[0].exterior.coords) same = (xy[1:] == xy[:-1]).all(axis=1) self.assertFalse(any(same), 'Repeated points in projected geometry.') def test_symmetry(self): # Make sure the number of points added on the way towards the # boundary is similar to the number of points added on the way away # from the boundary. # Identify all the contiguous sets of non-boundary points. xy = np.array(self.multi_polygon[0].exterior.coords) boundary = np.logical_or(xy[:, 1] == 90, xy[:, 1] == -90) regions = (boundary[1:] != boundary[:-1]).cumsum() regions = np.insert(regions, 0, 0) # For each region, check if the number of increasing steps is roughly # equal to the number of decreasing steps. for i in range(boundary[0], regions.max(), 2): indices = np.where(regions == i) x = xy[indices, 0] delta = np.diff(x) num_incr = np.count_nonzero(delta > 0) num_decr = np.count_nonzero(delta < 0) self.assertLess(abs(num_incr - num_decr), 3, 'Too much asymmetry.') class PolygonTests(unittest.TestCase): def _assert_bounds(self, bounds, x1, y1, x2, y2, delta=1): self.assertAlmostEqual(bounds[0], x1, delta=delta) self.assertAlmostEqual(bounds[1], y1, delta=delta) self.assertAlmostEqual(bounds[2], x2, delta=delta) self.assertAlmostEqual(bounds[3], y2, delta=delta) class TestWrap(PolygonTests): # Test that Plate Carree projection "does the right thing"(tm) with # source data tha extends outside the [-180, 180] range. def test_plate_carree_no_wrap(self): proj = ccrs.PlateCarree() poly = sgeom.box(0, 0, 10, 10) multi_polygon = proj.project_geometry(poly, proj) # Check the structure self.assertEqual(len(multi_polygon), 1) # Check the rough shape polygon = multi_polygon[0] self._assert_bounds(polygon.bounds, 0, 0, 10, 10) def test_plate_carree_partial_wrap(self): proj = ccrs.PlateCarree() poly = sgeom.box(170, 0, 190, 10) multi_polygon = proj.project_geometry(poly, proj) # Check the structure self.assertEqual(len(multi_polygon), 2) # Check the rough shape polygon = multi_polygon[0] self._assert_bounds(polygon.bounds, 170, 0, 180, 10) polygon = multi_polygon[1] self._assert_bounds(polygon.bounds, -180, 0, -170, 10) def test_plate_carree_wrap(self): proj = ccrs.PlateCarree() poly = sgeom.box(200, 0, 220, 10) multi_polygon = proj.project_geometry(poly, proj) # Check the structure self.assertEqual(len(multi_polygon), 1) # Check the rough shape polygon = multi_polygon[0] self._assert_bounds(polygon.bounds, -160, 0, -140, 10) def ring(minx, miny, maxx, maxy, ccw): box = sgeom.box(minx, miny, maxx, maxy, ccw) return np.array(box.exterior.coords) class TestHoles(PolygonTests): def test_simple(self): proj = ccrs.PlateCarree() poly = sgeom.Polygon(ring(-40, -40, 40, 40, True), [ring(-20, -20, 20, 20, False)]) multi_polygon = proj.project_geometry(poly) # Check the structure self.assertEqual(len(multi_polygon), 1) self.assertEqual(len(multi_polygon[0].interiors), 1) # Check the rough shape polygon = multi_polygon[0] self._assert_bounds(polygon.bounds, -40, -47, 40, 47) self._assert_bounds(polygon.interiors[0].bounds, -20, -21, 20, 21) def test_wrapped_poly_simple_hole(self): proj = ccrs.PlateCarree(-150) poly = sgeom.Polygon(ring(-40, -40, 40, 40, True), [ring(-20, -20, 20, 20, False)]) multi_polygon = proj.project_geometry(poly) # Check the structure self.assertEqual(len(multi_polygon), 2) self.assertEqual(len(multi_polygon[0].interiors), 1) self.assertEqual(len(multi_polygon[1].interiors), 0) # Check the rough shape polygon = multi_polygon[0] self._assert_bounds(polygon.bounds, 110, -47, 180, 47) self._assert_bounds(polygon.interiors[0].bounds, 130, -21, 170, 21) polygon = multi_polygon[1] self._assert_bounds(polygon.bounds, -180, -43, -170, 43) def test_wrapped_poly_wrapped_hole(self): proj = ccrs.PlateCarree(-180) poly = sgeom.Polygon(ring(-40, -40, 40, 40, True), [ring(-20, -20, 20, 20, False)]) multi_polygon = proj.project_geometry(poly) # Check the structure self.assertEqual(len(multi_polygon), 2) self.assertEqual(len(multi_polygon[0].interiors), 0) self.assertEqual(len(multi_polygon[1].interiors), 0) # Check the rough shape polygon = multi_polygon[0] self._assert_bounds(polygon.bounds, 140, -47, 180, 47) polygon = multi_polygon[1] self._assert_bounds(polygon.bounds, -180, -47, -140, 47) def test_inverted_poly_simple_hole(self): proj = ccrs.NorthPolarStereo() poly = sgeom.Polygon([(0, 0), (-90, 0), (-180, 0), (-270, 0)], [[(0, -30), (90, -30), (180, -30), (270, -30)]]) multi_polygon = proj.project_geometry(poly) # Check the structure self.assertEqual(len(multi_polygon), 1) self.assertEqual(len(multi_polygon[0].interiors), 1) # Check the rough shape polygon = multi_polygon[0] self._assert_bounds(polygon.bounds, -2.4e7, -2.4e7, 2.4e7, 2.4e7, 1e6) self._assert_bounds(polygon.interiors[0].bounds, - 1.2e7, -1.2e7, 1.2e7, 1.2e7, 1e6) def test_inverted_poly_clipped_hole(self): proj = ccrs.NorthPolarStereo() poly = sgeom.Polygon([(0, 0), (-90, 0), (-180, 0), (-270, 0)], [[(-135, -60), (-45, -60), (45, -60), (135, -60)]]) multi_polygon = proj.project_geometry(poly) # Check the structure self.assertEqual(len(multi_polygon), 1) self.assertEqual(len(multi_polygon[0].interiors), 1) # Check the rough shape polygon = multi_polygon[0] self._assert_bounds(polygon.bounds, -5.0e7, -5.0e7, 5.0e7, 5.0e7, 1e6) self._assert_bounds(polygon.interiors[0].bounds, - 1.2e7, -1.2e7, 1.2e7, 1.2e7, 1e6) self.assertAlmostEqual(polygon.area, 7.30e15, delta=1e13) def test_inverted_poly_removed_hole(self): proj = ccrs.NorthPolarStereo(globe=ccrs.Globe(ellipse='WGS84')) poly = sgeom.Polygon([(0, 0), (-90, 0), (-180, 0), (-270, 0)], [[(-135, -75), (-45, -75), (45, -75), (135, -75)]]) multi_polygon = proj.project_geometry(poly) # Check the structure self.assertEqual(len(multi_polygon), 1) self.assertEqual(len(multi_polygon[0].interiors), 1) # Check the rough shape polygon = multi_polygon[0] self._assert_bounds(polygon.bounds, -5.0e7, -5.0e7, 5.0e7, 5.0e7, 1e6) self._assert_bounds(polygon.interiors[0].bounds, - 1.2e7, -1.2e7, 1.2e7, 1.2e7, 1e6) self.assertAlmostEqual(polygon.area, 7.34e15, delta=1e13) def test_multiple_interiors(self): exterior = ring(0, 0, 12, 12, True) interiors = [ring(1, 1, 2, 2, False), ring(1, 8, 2, 9, False)] poly = sgeom.Polygon(exterior, interiors) target = ccrs.PlateCarree() source = ccrs.Geodetic() assert len(list(target.project_geometry(poly, source))) == 1 if __name__ == '__main__': unittest.main() Cartopy-0.14.2/lib/cartopy/tests/test_shapereader.py0000644001374000021030000001166612700747662022261 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import os.path import unittest import numpy as np from numpy.testing import assert_array_almost_equal import six import cartopy.io.shapereader as shp LAKES_PATH = shp.natural_earth(resolution='110m', category='physical', name='lakes') RIVERS_PATH = shp.natural_earth(resolution='110m', category='physical', name='rivers_lake_centerlines') class TestLakes(unittest.TestCase): def setUp(self): self.reader = shp.Reader(LAKES_PATH) def _assert_geometry(self, geometry): self.assertEqual(geometry.type, 'MultiPolygon') self.assertEqual(len(geometry), 1) polygon = geometry[0] expected = np.array([(-84.85548682324658, 11.147898667846633), (-85.29013729525353, 11.176165676310276), (-85.79132117383625, 11.509737046754324), (-85.8851655748783, 11.900100816287136), (-85.5653401354239, 11.940330918826362), (-85.03684526237491, 11.5216484643976), (-84.85548682324658, 11.147898667846633), (-84.85548682324658, 11.147898667846633)]) assert_array_almost_equal(expected, polygon.exterior.coords) self.assertEqual(len(polygon.interiors), 0) def test_geometry(self): geometries = list(self.reader.geometries()) self.assertEqual(len(geometries), len(self.reader)) # Choose a nice small lake lake = geometries[14] self._assert_geometry(lake) def test_record(self): records = list(self.reader.records()) self.assertEqual(len(records), len(self.reader)) # Choose a nice small lake lake_record = records[14] self.assertEqual(lake_record.attributes.get('name'), 'Lago de\rNicaragua') self.assertEqual(sorted(lake_record.attributes.keys()), sorted(['admin', 'featurecla', 'scalerank', 'name_alt', 'name'])) lake = lake_record.geometry self._assert_geometry(lake) def test_bounds(self): # tests that a file which has a record with a bbox can # use the bbox without first creating the geometry record = next(self.reader.records()) self.assertEqual(record._geometry, False, ('The geometry was loaded ' 'before it was needed.')) self.assertEqual(len(record._bounds), 4) self.assertEqual(record._bounds, record.bounds) self.assertEqual(record._geometry, False, ('The geometry was loaded ' 'in order to create the ' 'bounds.')) class TestRivers(unittest.TestCase): def setUp(self): self.reader = shp.Reader(RIVERS_PATH) def _assert_geometry(self, geometry): self.assertEqual(geometry.type, 'MultiLineString') self.assertEqual(len(geometry), 1) linestring = geometry[0] coords = linestring.coords self.assertAlmostEqual(coords[0][0], -113.823382738076) self.assertAlmostEqual(coords[0][1], 58.7102151556671) self.assertAlmostEqual(coords[1][0], -113.71351864302348) self.assertAlmostEqual(coords[1][1], 58.669261583075794) def test_geometry(self): geometries = list(self.reader.geometries()) self.assertEqual(len(geometries), len(self.reader)) # Choose a nice small river river = geometries[6] self._assert_geometry(river) def test_record(self): records = list(self.reader.records()) self.assertEqual(len(records), len(self.reader)) # Choose a nice small lake river_record = records[6] self.assertEqual( river_record.attributes, {'featurecla': 'River', 'scalerank': 2, 'name': 'Peace', 'name_alt': six.b(' ' * 254)}) river = river_record.geometry self._assert_geometry(river) if __name__ == '__main__': unittest.main() Cartopy-0.14.2/lib/cartopy/tests/test_util.py0000644001374000021030000000573012700747662020746 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) from nose.tools import raises import numpy as np import numpy.ma as ma from numpy.testing import assert_array_equal from cartopy.util import add_cyclic_point class Test_add_cyclic_point(object): @classmethod def setup_class(cls): cls.lons = np.arange(0, 360, 60) cls.data2d = np.ones([3, 6]) * np.arange(6) cls.data4d = np.ones([4, 6, 2, 3]) * \ np.arange(6)[..., np.newaxis, np.newaxis] def test_data_only(self): c_data = add_cyclic_point(self.data2d) r_data = np.concatenate((self.data2d, self.data2d[:, :1]), axis=1) assert_array_equal(c_data, r_data) def test_data_and_coord(self): c_data, c_lons = add_cyclic_point(self.data2d, coord=self.lons) r_data = np.concatenate((self.data2d, self.data2d[:, :1]), axis=1) r_lons = np.concatenate((self.lons, np.array([360.]))) assert_array_equal(c_data, r_data) assert_array_equal(c_lons, r_lons) def test_data_only_with_axis(self): c_data = add_cyclic_point(self.data4d, axis=1) r_data = np.concatenate((self.data4d, self.data4d[:, :1]), axis=1) assert_array_equal(c_data, r_data) def test_data_and_coord_with_axis(self): c_data, c_lons = add_cyclic_point(self.data4d, coord=self.lons, axis=1) r_data = np.concatenate((self.data4d, self.data4d[:, :1]), axis=1) r_lons = np.concatenate((self.lons, np.array([360.]))) assert_array_equal(c_data, r_data) assert_array_equal(c_lons, r_lons) def test_masked_data(self): new_data = ma.masked_less(self.data2d, 3) c_data = add_cyclic_point(new_data) r_data = ma.concatenate((self.data2d, self.data2d[:, :1]), axis=1) assert_array_equal(c_data, r_data) @raises(ValueError) def test_invalid_coord_dimensionality(self): lons2d = np.repeat(self.lons[np.newaxis], 3, axis=0) c_data, c_lons = add_cyclic_point(self.data2d, coord=lons2d) @raises(ValueError) def test_invalid_coord_size(self): c_data, c_lons = add_cyclic_point(self.data2d, coord=self.lons[:-1]) @raises(ValueError) def test_invalid_axis(self): c_data = add_cyclic_point(self.data2d, axis=-3) Cartopy-0.14.2/lib/cartopy/tests/test_vector_transform.py0000644001374000021030000002256012700747662023366 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) import numpy as np from numpy.testing import assert_array_equal, assert_array_almost_equal import cartopy.vector_transform as vec_trans import cartopy.crs as ccrs def _sample_plate_carree_coordinates(): x = np.array([-10, 0, 10, -9, 0, 9]) y = np.array([10, 10, 10, 5, 5, 5]) return x, y def _sample_plate_carree_scalar_field(): return np.array([2, 4, 2, 1.2, 3, 1.2]) def _sample_plate_carree_vector_field(): u = np.array([2, 4, 2, 1.2, 3, 1.2]) v = np.array([5.5, 4, 5.5, 1.2, .3, 1.2]) return u, v class Test_interpolate_to_grid(object): @classmethod def setup_class(cls): cls.x, cls.y = _sample_plate_carree_coordinates() cls.s = _sample_plate_carree_scalar_field() def test_data_extent(self): # Interpolation to a grid with extents of the input data. expected_x_grid = np.array([[-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.]]) expected_y_grid = np.array([[5., 5., 5., 5., 5.], [7.5, 7.5, 7.5, 7.5, 7.5], [10., 10., 10., 10., 10]]) expected_s_grid = np.array([[np.nan, 2., 3., 2., np.nan], [np.nan, 2.5, 3.5, 2.5, np.nan], [2., 3., 4., 3., 2.]]) x_grid, y_grid, s_grid = vec_trans._interpolate_to_grid( 5, 3, self.x, self.y, self.s) assert_array_equal(x_grid, expected_x_grid) assert_array_equal(y_grid, expected_y_grid) assert_array_almost_equal(s_grid, expected_s_grid) def test_explicit_extent(self): # Interpolation to a grid with explicit extents. expected_x_grid = np.array([[-5., 0., 5., 10.], [-5., 0., 5., 10.]]) expected_y_grid = np.array([[7.5, 7.5, 7.5, 7.5], [10., 10., 10., 10]]) expected_s_grid = np.array([[2.5, 3.5, 2.5, np.nan], [3., 4., 3., 2.]]) extent = (-5, 10, 7.5, 10) x_grid, y_grid, s_grid = vec_trans._interpolate_to_grid( 4, 2, self.x, self.y, self.s, target_extent=extent) assert_array_equal(x_grid, expected_x_grid) assert_array_equal(y_grid, expected_y_grid) assert_array_almost_equal(s_grid, expected_s_grid) def test_multiple_fields(self): # Interpolation of multiple fields in one go. expected_x_grid = np.array([[-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.]]) expected_y_grid = np.array([[5., 5., 5., 5., 5.], [7.5, 7.5, 7.5, 7.5, 7.5], [10., 10., 10., 10., 10]]) expected_s_grid = np.array([[np.nan, 2., 3., 2., np.nan], [np.nan, 2.5, 3.5, 2.5, np.nan], [2., 3., 4., 3., 2.]]) x_grid, y_grid, s_grid1, s_grid2, s_grid3 = \ vec_trans._interpolate_to_grid(5, 3, self.x, self.y, self.s, self.s, self.s) assert_array_equal(x_grid, expected_x_grid) assert_array_equal(y_grid, expected_y_grid) assert_array_almost_equal(s_grid1, expected_s_grid) assert_array_almost_equal(s_grid2, expected_s_grid) assert_array_almost_equal(s_grid3, expected_s_grid) class Test_vector_scalar_to_grid(object): @classmethod def setup_class(cls): cls.x, cls.y = _sample_plate_carree_coordinates() cls.u, cls.v = _sample_plate_carree_vector_field() cls.s = _sample_plate_carree_scalar_field() def test_no_transform(self): # Transform and regrid vector (with no projection transform). expected_x_grid = np.array([[-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.]]) expected_y_grid = np.array([[5., 5., 5., 5., 5.], [7.5, 7.5, 7.5, 7.5, 7.5], [10., 10., 10., 10., 10]]) expected_u_grid = np.array([[np.nan, 2., 3., 2., np.nan], [np.nan, 2.5, 3.5, 2.5, np.nan], [2., 3., 4., 3., 2.]]) expected_v_grid = np.array([[np.nan, .8, .3, .8, np.nan], [np.nan, 2.675, 2.15, 2.675, np.nan], [5.5, 4.75, 4., 4.75, 5.5]]) src_crs = target_crs = ccrs.PlateCarree() x_grid, y_grid, u_grid, v_grid = vec_trans.vector_scalar_to_grid( src_crs, target_crs, (5, 3), self.x, self.y, self.u, self.v) assert_array_equal(x_grid, expected_x_grid) assert_array_equal(y_grid, expected_y_grid) assert_array_almost_equal(u_grid, expected_u_grid) assert_array_almost_equal(v_grid, expected_v_grid) def test_with_transform(self): # Transform and regrid vector. target_crs = ccrs.PlateCarree() src_crs = ccrs.NorthPolarStereo() input_coords = [src_crs.transform_point(xp, yp, target_crs) for xp, yp in zip(self.x, self.y)] x_nps = np.array([ic[0] for ic in input_coords]) y_nps = np.array([ic[1] for ic in input_coords]) u_nps, v_nps = src_crs.transform_vectors(target_crs, self.x, self.y, self.u, self.v) expected_x_grid = np.array([[-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.]]) expected_y_grid = np.array([[5., 5., 5., 5., 5.], [7.5, 7.5, 7.5, 7.5, 7.5], [10., 10., 10., 10., 10]]) expected_u_grid = np.array([[np.nan, 2., 3., 2., np.nan], [np.nan, 2.5, 3.5, 2.5, np.nan], [2., 3., 4., 3., 2.]]) expected_v_grid = np.array([[np.nan, .8, .3, .8, np.nan], [np.nan, 2.675, 2.15, 2.675, np.nan], [5.5, 4.75, 4., 4.75, 5.5]]) x_grid, y_grid, u_grid, v_grid = vec_trans.vector_scalar_to_grid( src_crs, target_crs, (5, 3), x_nps, y_nps, u_nps, v_nps) assert_array_almost_equal(x_grid, expected_x_grid) assert_array_almost_equal(y_grid, expected_y_grid) # Vector transforms are somewhat approximate, so we are more lenient # with the returned values since we have transformed twice. assert_array_almost_equal(u_grid, expected_u_grid, decimal=4) assert_array_almost_equal(v_grid, expected_v_grid, decimal=4) def test_with_scalar_field(self): # Transform and regrid vector (with no projection transform) with an # additional scalar field. expected_x_grid = np.array([[-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.], [-10., -5., 0., 5., 10.]]) expected_y_grid = np.array([[5., 5., 5., 5., 5.], [7.5, 7.5, 7.5, 7.5, 7.5], [10., 10., 10., 10., 10]]) expected_u_grid = np.array([[np.nan, 2., 3., 2., np.nan], [np.nan, 2.5, 3.5, 2.5, np.nan], [2., 3., 4., 3., 2.]]) expected_v_grid = np.array([[np.nan, .8, .3, .8, np.nan], [np.nan, 2.675, 2.15, 2.675, np.nan], [5.5, 4.75, 4., 4.75, 5.5]]) expected_s_grid = np.array([[np.nan, 2., 3., 2., np.nan], [np.nan, 2.5, 3.5, 2.5, np.nan], [2., 3., 4., 3., 2.]]) src_crs = target_crs = ccrs.PlateCarree() x_grid, y_grid, u_grid, v_grid, s_grid = \ vec_trans.vector_scalar_to_grid(src_crs, target_crs, (5, 3), self.x, self.y, self.u, self.v, self.s) assert_array_equal(x_grid, expected_x_grid) assert_array_equal(y_grid, expected_y_grid) assert_array_almost_equal(u_grid, expected_u_grid) assert_array_almost_equal(v_grid, expected_v_grid) assert_array_almost_equal(s_grid, expected_s_grid) if __name__ == '__main__': import nose nose.runmodule(argv=['-sv', '--with-doctest'], exit=False) Cartopy-0.14.2/lib/cartopy/__init__.py0000644001374000021030000001041012705644356017317 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import (absolute_import, division, print_function) __version__ = '0.14.2' __document_these__ = ['config'] # Enable shapely performance enhancements import shapely.speedups if shapely.speedups.available: shapely.speedups.enable() # Configuration import os.path # for the writable data directory (i.e. the one where new data goes), follow # the XDG guidelines found at # https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html _writable_dir = os.path.join(os.path.expanduser('~'), '.local', 'share') _data_dir = os.path.join(os.environ.get("XDG_DATA_HOME", _writable_dir), 'cartopy') config = {'pre_existing_data_dir': '', 'data_dir': _data_dir, 'repo_data_dir': os.path.join(os.path.dirname(__file__), 'data'), 'downloaders': {}, } """ The config dictionary stores global configuration values for cartopy. In the first instance, the config is defined in ``cartopy/__init__.py``. It is possible to provide site wide customisations by including a ``siteconfig.py`` file along with the cartopy source code. ``siteconfig.py`` should contain a function called ``update_config`` which takes the config dictionary instance as its first and only argument (from where it is possible to update the dictionary howsoever desired). For users without write permission to the cartopy source directory, a package called ``cartopy_userconfig`` should be made importable (consider putting it in ``site.getusersitepackages()``) and should expose a function called ``update_config`` which takes the config dictionary as its first and only argument. Keys in the config dictionary: * ``pre_existing_data_dir`` - the absolute path to a directory where standard data (such as that from NaturalEarth) can be found. If it is not found in this location the ``data_dir`` config item will be used. * ``data_dir`` - the absolute path to a directory where standard data (such as that from NaturalEarth) can be found. If it is not found and the item is downloadable cartopy will download the appropriate file(s) to a subdirectory of this directory, therefore ``data_dir`` should be writable by the user. * ``repo_data_dir`` - the absolute path to the directory where the data delivered with the cartopy repository is stored. Typically this will only be set by OS packagers and system administrators for site wide deployments. * ``downloaders`` - a dictionary mapping standard "specifications" to the appropriate :class:`~cartopy.io.Downloader`. For further documentation and an example see :func:`cartopy.io.Downloader.from_config`. """ # n.b. docstring changes should be propagated to docs/source/cartopy.rst del _data_dir del _writable_dir # Try importing a siteconfig file which exposes an update_config function, # otherwise, fail gracefully. try: from cartopy.siteconfig import update_config as _update_config _update_config(config) except ImportError: pass # Try importing a cartopy_userconfig file which exposes an update_config # function, otherwise, fail gracefully. try: from cartopy_userconfig import update_config as _update_config _update_config(config) except ImportError: pass # Commonly used sub-modules. Imported here to provide end-user # convenience. import cartopy.crs import cartopy.feature Cartopy-0.14.2/lib/cartopy/_crs.pxd0000644001374000021030000000173012700747662016655 0ustar itpeavd00000000000000# (C) British Crown Copyright 2010 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . cdef extern from "proj_api.h": ctypedef void *projPJ cdef class CRS: """ Defines a Coordinate Reference System using proj.4. """ cdef projPJ proj4 cdef readonly proj4_init cdef proj4_params cpdef is_geodetic(self) Cartopy-0.14.2/lib/cartopy/_crs.pyx0000644001374000021030000004553412705644356016715 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ This module defines the core CRS class which can interface with Proj.4. The CRS class is the base-class for all projections defined in :mod:`cartopy.crs`. """ from collections import OrderedDict import re import warnings import numpy as np import six cimport numpy as np from cython.operator cimport dereference as deref cdef extern from "proj_api.h": ctypedef void *projPJ projPJ pj_init_plus(char *) void pj_free(projPJ) int pj_transform(projPJ, projPJ, long, int, double *, double *, double *) int pj_is_latlong(projPJ) char *pj_strerrno(int) int *pj_get_errno_ref() char *pj_get_release() double DEG_TO_RAD double RAD_TO_DEG cdef double NAN = float('nan') PROJ4_RELEASE = pj_get_release() if six.PY3: PROJ4_RELEASE = PROJ4_RELEASE.decode() _match = re.search(r"\d+\.\d+.\d+", PROJ4_RELEASE) if _match is not None: PROJ4_VERSION = tuple(int(v) for v in _match.group().split('.')) else: PROJ4_VERSION = () class Proj4Error(Exception): """ Raised when there has been an exception calling proj.4. Adds a ``status`` attribute to the exception which has the proj.4 error reference. """ def __init__(self): cdef int status status = deref(pj_get_errno_ref()) msg = 'Error from proj.4: {}'.format(pj_strerrno(status)) self.status = status Exception.__init__(self, msg) class Globe(object): """ Defines an ellipsoid and, optionally, how to relate it to the real world. """ def __init__(self, datum=None, ellipse='WGS84', semimajor_axis=None, semiminor_axis=None, flattening=None, inverse_flattening=None, towgs84=None, nadgrids=None): """ Keywords: * datum - Proj4 "datum" definiton. Default to no datum. * ellipse - Proj4 "ellps" definiton. Default to 'WGS84'. * semimajor_axis - Semimajor axis of the spheroid / ellipsoid. * semiminor_axis - Semiminor axis of the ellipsoid. * flattening - Flattening of the ellipsoid. * inverse_flattening - Inverse flattening of the ellipsoid. * towgs84 - Passed through to the Proj4 definition. * nadgrids - Passed through to the Proj4 definition. """ self.datum = datum self.ellipse = ellipse self.semimajor_axis = semimajor_axis self.semiminor_axis = semiminor_axis self.flattening = flattening self.inverse_flattening = inverse_flattening self.towgs84 = towgs84 self.nadgrids = nadgrids def to_proj4_params(self): """ Create an OrderedDict of key value pairs which represents this globe in terms of proj4 params. """ proj4_params = (['datum', self.datum], ['ellps', self.ellipse], ['a', self.semimajor_axis], ['b', self.semiminor_axis], ['f', self.flattening], ['rf', self.inverse_flattening], ['towgs84', self.towgs84], ['nadgrids', self.nadgrids]) return OrderedDict((k, v) for k, v in proj4_params if v is not None) cdef class CRS: """ Defines a Coordinate Reference System using proj.4. """ def __init__(self, proj4_params, globe=None): """ Parameters ---------- proj4_params : iterable of key-value pairs The proj4 parameters required to define the desired CRS. The parameters should not describe the desired elliptic model, instead create an appropriate Globe instance. The ``proj4_params`` parameters will override any parameters that the Globe defines. globe : :class:`~cartopy.crs.Globe` instance, optional If omitted, the default Globe instance will be created. See :class:`~cartopy.crs.Globe` for details. """ self.globe = globe or Globe() self.proj4_params = self.globe.to_proj4_params() self.proj4_params.update(proj4_params) init_items = [] for k, v in self.proj4_params.items(): if v is not None: if isinstance(v, float): init_items.append('+{}={:.16}'.format(k, v)) elif isinstance(v, np.float32): init_items.append('+{}={:.8}'.format(k, v)) else: init_items.append('+{}={}'.format(k, v)) else: init_items.append('+{}'.format(k)) self.proj4_init = ' '.join(init_items) + ' +no_defs' proj4_init_bytes = six.b(self.proj4_init) self.proj4 = pj_init_plus(proj4_init_bytes) if not self.proj4: raise Proj4Error() # Cython uses this method instead of the normal rich comparisons. def __richcmp__(self, other, op): # We're only interested in: # == -> 2 # != -> 3 result = NotImplemented if isinstance(other, CRS): if op == 2: result = self.proj4_init == other.proj4_init elif op == 3: result = self.proj4_init != other.proj4_init return result def __hash__(self): """Hashes the CRS based on its proj4_init string.""" return hash(self.proj4_init) def __reduce__(self): """ Implements the __reduce__ API so that unpickling produces a stateless instance of this class (e.g. an empty tuple). The state will then be added via __getstate__ and __setstate__. """ return self.__class__, tuple() def __getstate__(self): """Returns the full state of this instance for reconstruction in ``__setstate__``.""" return {'proj4_params': self.proj4_params} def __setstate__(self, state): """ Takes the dictionary created by ``__getstate__`` and passes it through to the class's __init__ method. """ self.__init__(self, **state) # TODO #def __str__ #def _geod(self): # to return the pyproj.Geod def _as_mpl_transform(self, axes=None): """ Casts this CRS instance into a :class:`matplotlib.axes.Axes` using the matplotlib ``_as_mpl_transform`` interface. """ # lazy import mpl.geoaxes (and therefore matplotlib) as mpl # is only an optional dependency import cartopy.mpl.geoaxes as geoaxes if not isinstance(axes, geoaxes.GeoAxes): raise ValueError('Axes should be an instance of GeoAxes, got %s' % type(axes)) return geoaxes.InterProjectionTransform(self, axes.projection) + axes.transData property proj4_params: def __get__(self): return dict(self.proj4_params) def as_geocentric(self): """ Returns a new Geocentric CRS with the same ellipse/datum as this CRS. """ return Geocentric(self.globe) def as_geodetic(self): """ Returns a new Geodetic CRS with the same ellipse/datum as this CRS. """ return Geodetic(self.globe) cpdef is_geodetic(self): return bool(pj_is_latlong(self.proj4)) def transform_point(self, double x, double y, CRS src_crs not None, trap=True): """ transform_point(x, y, src_crs) Transform the given float64 coordinate pair, in the given source coordinate system (``src_crs``), to this coordinate system. Args: * x - the x coordinate, in ``src_crs`` coordinates, to transform * y - the y coordinate, in ``src_crs`` coordinates, to transform * src_crs - instance of :class:`CRS` that represents the coordinate system of ``x`` and ``y``. * trap - Whether proj.4 errors for "latitude or longitude exceeded limits" and "tolerance condition error" should be trapped. Returns: (x, y) - in this coordinate system """ cdef: double cx, cy int status cx = x cy = y if src_crs.is_geodetic(): cx *= DEG_TO_RAD cy *= DEG_TO_RAD status = pj_transform(src_crs.proj4, self.proj4, 1, 1, &cx, &cy, NULL); if trap and status == -14 or status == -20: # -14 => "latitude or longitude exceeded limits" # -20 => "tolerance condition error" cx = cy = NAN elif trap and status != 0: raise Proj4Error() if self.is_geodetic(): cx *= RAD_TO_DEG cy *= RAD_TO_DEG return (cx, cy) def transform_points(self, CRS src_crs not None, np.ndarray x not None, np.ndarray y not None, np.ndarray z=None): """ transform_points(src_crs, x, y[, z]) Transform the given coordinates, in the given source coordinate system (``src_crs``), to this coordinate system. Args: * src_crs - instance of :class:`CRS` that represents the coordinate system of ``x``, ``y`` and ``z``. * x - the x coordinates (array), in ``src_crs`` coordinates, to transform. May be 1 or 2 dimensional. * y - the y coordinates (array), in ``src_crs`` coordinates, to transform * z - (optional) the z coordinates (array), in ``src_crs`` coordinates, to transform. Returns: Array of shape ``x.shape + (3, )`` in this coordinate system. """ cdef np.ndarray[np.double_t, ndim=2] result result_shape = tuple(x.shape[i] for i in range(x.ndim)) + (3, ) if z is None: if x.ndim > 2 or y.ndim > 2: raise ValueError('x and y arrays must be 1 or 2 dimensional') elif x.ndim != 1 or y.ndim != 1: x, y = x.flatten(), y.flatten() if x.shape[0] != y.shape[0]: raise ValueError('x and y arrays must have the same length') else: if x.ndim > 2 or y.ndim > 2 or z.ndim > 2: raise ValueError('x, y and z arrays must be 1 or 2 ' 'dimensional') elif x.ndim != 1 or y.ndim != 1 or z.ndim != 1: x, y, z = x.flatten(), y.flatten(), z.flatten() if not x.shape[0] == y.shape[0] == z.shape[0]: raise ValueError('x, y, and z arrays must have the same ' 'length') npts = x.shape[0] result = np.empty([npts, 3], dtype=np.double) if src_crs.is_geodetic(): result[:, 0] = np.deg2rad(x) result[:, 1] = np.deg2rad(y) else: result[:, 0] = x result[:, 1] = y # if a z has been given, put it in the result array which will be # transformed in-place if z is None: result[:, 2] = 0 else: result[:, 2] = z # call proj.4. The result array is modified in place. status = pj_transform(src_crs.proj4, self.proj4, npts, 3, &result[0, 0], &result[0, 1], &result[0, 2]) if self.is_geodetic(): result[:, :2] = np.rad2deg(result[:, :2]) #if status: # raise Proj4Error() if len(result_shape) > 2: return result.reshape(result_shape) return result def transform_vectors(self, src_crs, x, y, u, v): """ transform_vectors(src_crs, x, y, u, v) Transform the given vector components, with coordinates in the given source coordinate system (``src_crs``), to this coordinate system. The vector components must be given relative to the source coordinate system (grid eastward and grid northward). Args: * src_crs: The :class:`CRS` that represents the coordinate system the vectors are defined in. * x, y: The x and y coordinates, in the source CRS coordinates, where the vector components are located. May be 1 or 2 dimensional, but must have matching shapes. * u, v: The grid eastward and grid northward components of the vector field respectively. Their shape must match the shape of the x and y coordinates. Returns: * ut, vt: The transformed vector components. .. note:: The algorithm used to transform vectors is an approximation rather than an exact transform, but the accuracy should be good enough for visualization purposes. """ if not (x.shape == y.shape == u.shape == v.shape): raise ValueError('x, y, u and v arrays must be the same shape') if x.ndim not in (1, 2): raise ValueError('x, y, u and v must be 1 or 2 dimensional') # Transform the coordinates to the target projection. proj_xyz = self.transform_points(src_crs, x, y) target_x, target_y = proj_xyz[..., 0], proj_xyz[..., 1] # Rotate the input vectors to the projection. # # 1: Find the magnitude and direction of the input vectors. vector_magnitudes = (u**2 + v**2)**0.5 vector_angles = np.arctan2(v, u) # 2: Find a point in the direction of the original vector that is # a small distance away from the base point of the vector (near # the poles the point may have to be in the opposite direction # to be valid). factor = 360000. delta = (src_crs.x_limits[1] - src_crs.x_limits[0]) / factor x_perturbations = delta * np.cos(vector_angles) y_perturbations = delta * np.sin(vector_angles) # 3: Handle points that are invalid. These come from picking a new # point that is outside the domain of the CRS. The first step is # to apply the native transform to the input coordinates to make # sure they are in the appropriate range. Then detect all the # coordinates where the perturbation takes the point out of the # valid x-domain and fix them. After that do the same for points # that are outside the valid y-domain, which may reintroduce some # points outside of the valid x-domain proj_xyz = src_crs.transform_points(src_crs, x, y) source_x, source_y = proj_xyz[..., 0], proj_xyz[..., 1] # Detect all the coordinates where the perturbation takes the point # outside of the valid x-domain, and reverse the direction of the # perturbation to fix this. eps = 1e-9 invalid_x = np.logical_or( source_x + x_perturbations < src_crs.x_limits[0]-eps, source_x + x_perturbations > src_crs.x_limits[1]+eps) if invalid_x.any(): x_perturbations[invalid_x] *= -1 y_perturbations[invalid_x] *= -1 # Do the same for coordinates where the perturbation takes the point # outside of the valid y-domain. This may reintroduce some points # that will be outside the x-domain when the perturbation is # applied. invalid_y = np.logical_or( source_y + y_perturbations < src_crs.y_limits[0]-eps, source_y + y_perturbations > src_crs.y_limits[1]+eps) if invalid_y.any(): x_perturbations[invalid_y] *= -1 y_perturbations[invalid_y] *= -1 # Keep track of the points where the perturbation direction was # reversed. reversed_vectors = np.logical_xor(invalid_x, invalid_y) # See if there were any points where we cannot reverse the direction # of the perturbation to get the perturbed point within the valid # domain of the projection, and issue a warning if there are. problem_points = np.logical_or( source_x + x_perturbations < src_crs.x_limits[0]-eps, source_x + x_perturbations > src_crs.x_limits[1]+eps) if problem_points.any(): warnings.warn('Some vectors at source domain corners ' 'may not have been transformed correctly') # 4: Transform this set of points to the projection coordinates and # find the angle between the base point and the perturbed point # in the projection coordinates (reversing the direction at any # points where the original was reversed in step 3). proj_xyz = self.transform_points(src_crs, source_x + x_perturbations, source_y + y_perturbations) target_x_perturbed = proj_xyz[..., 0] target_y_perturbed = proj_xyz[..., 1] projected_angles = np.arctan2(target_y_perturbed - target_y, target_x_perturbed - target_x) if reversed_vectors.any(): projected_angles[reversed_vectors] += np.pi # 5: Form the projected vector components, preserving the magnitude # of the original vectors. projected_u = vector_magnitudes * np.cos(projected_angles) projected_v = vector_magnitudes * np.sin(projected_angles) return projected_u, projected_v class Geodetic(CRS): """ Defines a latitude/longitude coordinate system with spherical topology, geographical distance and coordinates are measured in degrees. """ def __init__(self, globe=None): """ Kwargs: * globe - A :class:`cartopy.crs.Globe`. Defaults to a "WGS84" datum. """ proj4_params = [('proj', 'lonlat')] globe = globe or Globe(datum='WGS84') super(Geodetic, self).__init__(proj4_params, globe) # XXX Implement fwd such as Basemap's Geod. Would be used in the tissot example. # Could come from http://geographiclib.sourceforge.net class Geocentric(CRS): """ Defines a Geocentric coordinate system, where x, y, z are Cartesian coordinates from the center of the Earth. """ def __init__(self, globe=None): """ Kwargs: * globe - A :class:`cartopy.crs.Globe`. Defaults to a "WGS84" datum. """ proj4_params = [('proj', 'geocent')] globe = globe or Globe(datum='WGS84') super(Geocentric, self).__init__(proj4_params, globe) Cartopy-0.14.2/lib/cartopy/_epsg.py0000644001374000021030000000667212700747662016673 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ Provides support for converting EPSG codes to Projection instances. """ from __future__ import (absolute_import, division, print_function) import cartopy.crs as ccrs import numpy as np import pyepsg import shapely.geometry as sgeom _GLOBE_PARAMS = {'datum': 'datum', 'ellps': 'ellipse', 'a': 'semimajor_axis', 'b': 'semiminor_axis', 'f': 'flattening', 'rf': 'inverse_flattening', 'towgs84': 'towgs84', 'nadgrids': 'nadgrids'} class _EPSGProjection(ccrs.Projection): def __init__(self, code): projection = pyepsg.get(code) if not isinstance(projection, pyepsg.ProjectedCRS): raise ValueError('EPSG code does not define a projection') self.epsg_code = code proj4_str = projection.as_proj4().strip() terms = [term.strip('+').split('=') for term in proj4_str.split(' ')] globe_terms = filter(lambda term: term[0] in _GLOBE_PARAMS, terms) globe = ccrs.Globe(**{_GLOBE_PARAMS[name]: value for name, value in globe_terms}) other_terms = [] for term in terms: if term[0] not in _GLOBE_PARAMS: if len(term) == 1: other_terms.append([term[0], None]) else: other_terms.append(term) super(_EPSGProjection, self).__init__(other_terms, globe) # Convert lat/lon bounds to projected bounds. # GML defines gmd:EX_GeographicBoundingBox as: # Geographic area of the entire dataset referenced to WGS 84 # NB. We can't use a polygon transform at this stage because # that relies on the existence of the map boundary... the very # thing we're trying to work out! ;-) x0, x1, y0, y1 = projection.domain_of_validity() geodetic = ccrs.Geodetic() lons = np.array([x0, x0, x1, x1]) lats = np.array([y0, y1, y1, y0]) points = self.transform_points(geodetic, lons, lats) x = points[:, 0] y = points[:, 1] self.bounds = (x.min(), x.max(), y.min(), y.max()) def __repr__(self): return '_EPSGProjection({})'.format(self.epsg_code) @property def boundary(self): x0, x1, y0, y1 = self.bounds return sgeom.LineString([(x0, y0), (x0, y1), (x1, y1), (x1, y0), (x0, y0)]) @property def x_limits(self): x0, x1, y0, y1 = self.bounds return (x0, x1) @property def y_limits(self): x0, x1, y0, y1 = self.bounds return (y0, y1) @property def threshold(self): x0, x1, y0, y1 = self.bounds return min(x1 - x0, y1 - y0) / 100. Cartopy-0.14.2/lib/cartopy/_trace.cpp0000644001374000021030000004630112700747662017156 0ustar itpeavd00000000000000/* # (C) British Crown Copyright 2010 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . */ #include #include #include #include #include "_trace.h" #ifdef _MSC_VER #include #define isnan _isnan #define isfinite _finite #endif Interpolator::~Interpolator(){} void Interpolator::set_line(const Point &start, const Point &end) { m_start = start; m_end = end; } CartesianInterpolator::CartesianInterpolator(projPJ src_proj, projPJ dest_proj) { m_src_proj = src_proj; m_dest_proj = dest_proj; } Point CartesianInterpolator::interpolate(double t) { Point xy; xy.x = m_start.x + (m_end.x - m_start.x) * t; xy.y = m_start.y + (m_end.y - m_start.y) * t; return project(xy); } Point CartesianInterpolator::project(const Point &src_xy) { Point dest_xy; projLP xy; xy.u = src_xy.x; xy.v = src_xy.y; int status = pj_transform(m_src_proj, m_dest_proj, 1, 1, &xy.u, &xy.v, NULL); if (status == -14 || status == -20) { // -14 => "latitude or longitude exceeded limits" // -20 => "tolerance condition error" xy.u = xy.v = HUGE_VAL; } else if (status != 0) { // TODO: Raise a Python exception instead std::cerr << "*******************" << std::endl; std::cerr << status << std::endl; std::cerr << pj_strerrno(status) << std::endl; exit(2); } dest_xy.x = xy.u; dest_xy.y = xy.v; return dest_xy; } SphericalInterpolator::SphericalInterpolator(projPJ src_proj, projPJ dest_proj) { m_src_proj = src_proj; m_dest_proj = dest_proj; } void SphericalInterpolator::set_line(const Point &start, const Point &end) { m_start = start; m_end = end; if (start.x != end.x || start.y != end.y) { double lon, lat; double t, x, y; Vec3 end3, axis3; // Convert lon/lat to unit vectors lon = start.x * DEG_TO_RAD; lat = start.y * DEG_TO_RAD; t = cos(lat); m_start3.x = t * sin(lon); m_start3.y = sin(lat); m_start3.z = t * cos(lon); lon = end.x * DEG_TO_RAD; lat = end.y * DEG_TO_RAD; t = cos(lat); end3.x = t * sin(lon); end3.y = sin(lat); end3.z = t * cos(lon); // Determine the rotation axis for the great circle. // axis = ||start x end|| axis3.x = m_start3.y * end3.z - m_start3.z * end3.y; axis3.y = m_start3.z * end3.x - m_start3.x * end3.z; axis3.z = m_start3.x * end3.y - m_start3.y * end3.x; t = sqrt(axis3.x * axis3.x + axis3.y * axis3.y + axis3.z * axis3.z); axis3.x /= t; axis3.y /= t; axis3.z /= t; // Figure out the remaining basis vector. // perp = axis x start m_perp3.x = axis3.y * m_start3.z - axis3.z * m_start3.y; m_perp3.y = axis3.z * m_start3.x - axis3.x * m_start3.z; m_perp3.z = axis3.x * m_start3.y - axis3.y * m_start3.x; // Derive the rotation angle around the rotation axis. x = m_start3.x * end3.x + m_start3.y * end3.y + m_start3.z * end3.z; y = m_perp3.x * end3.x + m_perp3.y * end3.y + m_perp3.z * end3.z; m_angle = atan2(y, x); } else { m_angle = 0.0; } } Point SphericalInterpolator::interpolate(double t) { Point lonlat; if (m_angle == 0.0) { lonlat = m_start; } else { double angle; double c, s; double x, y, z; double lon, lat; angle = t * m_angle; c = cos(angle); s = sin(angle); x = m_start3.x * c + m_perp3.x * s; y = m_start3.y * c + m_perp3.y * s; z = m_start3.z * c + m_perp3.z * s; lat = asin(y); if(isnan(lat)) { lat = y > 0.0 ? 90.0 : -90.0; } else { lat = lat * RAD_TO_DEG; } lon = atan2(x, z) * RAD_TO_DEG; lonlat.x = lon; lonlat.y = lat; } return project(lonlat); } Point SphericalInterpolator::project(const Point &lonlat) { Point xy; projLP dest; //std::cerr << "lon/lat: " << lonlat.x << ", " << lonlat.y; dest.u = lonlat.x * DEG_TO_RAD; dest.v = lonlat.y * DEG_TO_RAD; //std::cerr << " => " << dest.u << ", " << dest.v; int status = pj_transform(m_src_proj, m_dest_proj, 1, 1, &dest.u, &dest.v, NULL); if (status == -14 || status == -20) { // -14 => "latitude or longitude exceeded limits" // -20 => "tolerance condition error" dest.u = dest.v = HUGE_VAL; } else if (status != 0) { // TODO: Raise a Python exception instead std::cerr << "*******************" << std::endl; std::cerr << status << std::endl; std::cerr << pj_strerrno(status) << std::endl; exit(2); } //std::cerr << " -> " << dest.u << ", " << dest.v; xy.x = dest.u; xy.y = dest.v; //std::cerr << "xy: " << xy.x << ", " << xy.y << std::endl; return xy; } typedef std::list Line; class LineAccumulator { public: LineAccumulator(); void new_line(); void add_point(const Point &point); void add_point_if_empty(const Point &point); GEOSGeometry *as_geom(GEOSContextHandle_t handle); std::list::size_type size() const { return m_lines.size(); } private: std::list m_lines; }; LineAccumulator::LineAccumulator() { new_line(); } void LineAccumulator::new_line() { //std::cerr << "NEW LINE" << std::endl; Line line; m_lines.push_back(line); } void LineAccumulator::add_point(const Point &point) { //std::cerr << "ADD POINT: " << point.x << ", " << point.y << std::endl; m_lines.back().push_back(point); } void LineAccumulator::add_point_if_empty(const Point &point) { //std::cerr << "ADD POINT IF EMPTY " << m_lines.back().size() << std::endl; if (m_lines.back().empty()) { add_point(point); } //std::cerr << " FROM EMPTY " << std::endl; } bool degenerate_line(const Line &value) { return value.size() < 2; } bool close(double a, double b) { return fabs(a - b) <= (1e-8 + 1e-5 * fabs(b)); } GEOSGeometry *LineAccumulator::as_geom(GEOSContextHandle_t handle) { m_lines.remove_if(degenerate_line); if(m_lines.size() > 1) { //std::cerr << "Checking first & last" << std::endl; Point first, last; first = m_lines.front().front(); last = m_lines.back().back(); //std::cerr << "first: " << first.x << ", " << first.y << std::endl; //std::cerr << "last: " << last.x << ", " << last.y << std::endl; if(close(first.x, last.x) && close(first.y, last.y)) { m_lines.front().pop_front(); m_lines.back().splice(m_lines.back().end(), m_lines.front()); m_lines.pop_front(); } } std::vector geoms; std::list::const_iterator ilines; for(ilines = m_lines.begin(); ilines != m_lines.end(); ++ilines) { std::list::const_iterator ipoints; int i; GEOSCoordSequence *coords = GEOSCoordSeq_create_r(handle, (*ilines).size(), 2); for(ipoints = (*ilines).begin(), i = 0; ipoints != (*ilines).end(); ++ipoints, ++i) { GEOSCoordSeq_setX_r(handle, coords, i, ipoints->x); GEOSCoordSeq_setY_r(handle, coords, i, ipoints->y); } geoms.push_back(GEOSGeom_createLineString_r(handle, coords)); } GEOSGeometry *geom; if(geoms.empty()) { geom = GEOSGeom_createEmptyCollection_r(handle, GEOS_MULTILINESTRING); } else { geom = GEOSGeom_createCollection_r(handle, GEOS_MULTILINESTRING, &geoms[0], geoms.size()); } return geom; } enum State { POINT_IN=1, POINT_OUT, POINT_NAN }; State get_state(const Point &point, const GEOSPreparedGeometry *gp_domain, GEOSContextHandle_t handle) { State state; if (isfinite(point.x) && isfinite(point.y)) { // TODO: Avoid create-destroy GEOSCoordSequence *coords = GEOSCoordSeq_create_r(handle, 1, 2); GEOSCoordSeq_setX_r(handle, coords, 0, point.x); GEOSCoordSeq_setY_r(handle, coords, 0, point.y); GEOSGeometry *g_point = GEOSGeom_createPoint_r(handle, coords); state = GEOSPreparedCovers_r(handle, gp_domain, g_point) ? POINT_IN : POINT_OUT; GEOSGeom_destroy_r(handle, g_point); } else { state = POINT_NAN; } return state; } /* * Return whether the given line segment is suitable as an * approximation of the projection of the source line. * * t_start: Interpolation parameter for the start point. * p_start: Projected start point. * t_end: Interpolation parameter for the end point. * p_start: Projected end point. * interpolator: Interpolator for current source line. * threshold: Lateral tolerance in target projection coordinates. * handle: Thread-local context handle for GEOS. * gp_domain: Prepared polygon of target map domain. * inside: Whether the start point is within the map domain. */ bool straightAndDomain(double t_start, const Point &p_start, double t_end, const Point &p_end, Interpolator *interpolator, double threshold, GEOSContextHandle_t handle, const GEOSPreparedGeometry *gp_domain, bool inside) { // Straight and in-domain (de9im[7] == 'F') bool valid; // This could be optimised out of the loop. if (!(isfinite(p_start.x) && isfinite(p_start.y))) { valid = false; } else if (!(isfinite(p_end.x) && isfinite(p_end.y))) { valid = false; } else { // TODO: Re-use geometries, instead of create-destroy! // Create a LineString for the current end-point. GEOSCoordSequence *coords = GEOSCoordSeq_create_r(handle, 2, 2); GEOSCoordSeq_setX_r(handle, coords, 0, p_start.x); GEOSCoordSeq_setY_r(handle, coords, 0, p_start.y); GEOSCoordSeq_setX_r(handle, coords, 1, p_end.x); GEOSCoordSeq_setY_r(handle, coords, 1, p_end.y); GEOSGeometry *g_segment = GEOSGeom_createLineString_r(handle, coords); // Find the projected mid-point double t_mid = (t_start + t_end) * 0.5; Point p_mid = interpolator->interpolate(t_mid); // Make it into a GEOS geometry coords = GEOSCoordSeq_create_r(handle, 1, 2); GEOSCoordSeq_setX_r(handle, coords, 0, p_mid.x); GEOSCoordSeq_setY_r(handle, coords, 0, p_mid.y); GEOSGeometry *g_mid = GEOSGeom_createPoint_r(handle, coords); double along = GEOSProjectNormalized_r(handle, g_segment, g_mid); if(isnan(along)) { valid = true; } else { valid = 0.0 < along && along < 1.0; if (valid) { double separation; GEOSDistance_r(handle, g_segment, g_mid, &separation); if (inside) { // Scale the lateral threshold by the distance from // the nearest end. I.e. Near the ends the lateral // threshold is much smaller; it only has its full // value in the middle. valid = separation <= threshold * 2.0 * (0.5 - fabs(0.5 - along)); } else { // Check if the mid-point makes less than ~11 degree // angle with the straight line. // sin(11') => 0.2 // To save the square-root we just use the square of // the lengths, hence: // 0.2 ^ 2 => 0.04 double hypot_dx = p_mid.x - p_start.x; double hypot_dy = p_mid.y - p_start.y; double hypot = hypot_dx * hypot_dx + hypot_dy * hypot_dy; valid = ((separation * separation) / hypot) < 0.04; } } } if (valid) { if(inside) valid = GEOSPreparedCovers_r(handle, gp_domain, g_segment); else valid = GEOSPreparedDisjoint_r(handle, gp_domain, g_segment); } GEOSGeom_destroy_r(handle, g_segment); GEOSGeom_destroy_r(handle, g_mid); } return valid; } void bisect(double t_start, const Point &p_start, const Point &p_end, GEOSContextHandle_t handle, const GEOSPreparedGeometry *gp_domain, State &state, Interpolator *interpolator, double threshold, double &t_min, Point &p_min, double &t_max, Point &p_max) { double t_current; Point p_current; // Initialise our bisection range to the start and end points. t_min = t_start; p_min = p_start; t_max = 1.0; p_max = p_end; // Start the search at the end. t_current = t_max; p_current = p_max; // TODO: See if we can convert the 't' threshold into one based on the // projected coordinates - e.g. the resulting line length. // while (fabs(t_max - t_min) > 1.0e-6) { #ifdef DEBUG std::cerr << "t: " << t_current << std::endl; #endif bool valid; if (state == POINT_IN) { // Straight and entirely-inside-domain valid = straightAndDomain(t_start, p_start, t_current, p_current, interpolator, threshold, handle, gp_domain, true); } else if(state == POINT_OUT) { // Straight and entirely-outside-domain valid = straightAndDomain(t_start, p_start, t_current, p_current, interpolator, threshold, handle, gp_domain, false); } else { valid = (!isfinite(p_current.x)) || (!isfinite(p_current.y)); } #ifdef DEBUG std::cerr << " => valid: " << valid << std::endl; #endif if (valid) { t_min = t_current; p_min = p_current; } else { t_max = t_current; p_max = p_current; } t_current = (t_min + t_max) * 0.5; p_current = interpolator->interpolate(t_current); } } void _project_segment(GEOSContextHandle_t handle, const GEOSCoordSequence *src_coords, unsigned int src_idx_from, unsigned int src_idx_to, Interpolator *interpolator, const GEOSPreparedGeometry *gp_domain, double threshold, LineAccumulator &lines) { Point p_current, p_min, p_max, p_end; double t_current, t_min, t_max; State state; GEOSCoordSeq_getX_r(handle, src_coords, src_idx_from, &p_current.x); GEOSCoordSeq_getY_r(handle, src_coords, src_idx_from, &p_current.y); GEOSCoordSeq_getX_r(handle, src_coords, src_idx_to, &p_end.x); GEOSCoordSeq_getY_r(handle, src_coords, src_idx_to, &p_end.y); #ifdef DEBUG std::cerr << "Setting line:" << std::endl; std::cerr << " " << p_current.x << ", " << p_current.y << std::endl; std::cerr << " " << p_end.x << ", " << p_end.y << std::endl; #endif interpolator->set_line(p_current, p_end); p_current = interpolator->project(p_current); p_end = interpolator->project(p_end); #ifdef DEBUG std::cerr << "Projected as:" << std::endl; std::cerr << " " << p_current.x << ", " << p_current.y << std::endl; std::cerr << " " << p_end.x << ", " << p_end.y << std::endl; #endif t_current = 0.0; state = get_state(p_current, gp_domain, handle); while(t_current < 1.0 && lines.size() < 500) { //std::cerr << "Bisecting" << std::endl; #ifdef DEBUG std::cerr << "Working from: " << t_current << " ("; if (state == POINT_IN) std::cerr << "IN"; else if (state == POINT_OUT) std::cerr << "OUT"; else std::cerr << "NAN"; std::cerr << ")" << std::endl; std::cerr << " " << p_current.x << ", " << p_current.y << std::endl; std::cerr << " " << p_end.x << ", " << p_end.y << std::endl; #endif bisect(t_current, p_current, p_end, handle, gp_domain, state, interpolator, threshold, t_min, p_min, t_max, p_max); #ifdef DEBUG std::cerr << " => " << t_min << " to " << t_max << std::endl; std::cerr << " => (" << p_min.x << ", " << p_min.y << ") to (" << p_max.x << ", " << p_max.y << ")" << std::endl; #endif if (state == POINT_IN) { lines.add_point_if_empty(p_current); if (t_min != t_current) { lines.add_point(p_min); t_current = t_min; p_current = p_min; } else { t_current = t_max; p_current = p_max; state = get_state(p_current, gp_domain, handle); if(state == POINT_IN) lines.new_line(); } } else if(state == POINT_OUT) { if (t_min != t_current) { t_current = t_min; p_current = p_min; } else { t_current = t_max; p_current = p_max; state = get_state(p_current, gp_domain, handle); if(state == POINT_IN) lines.new_line(); } } else { t_current = t_max; p_current = p_max; state = get_state(p_current, gp_domain, handle); if(state == POINT_IN) lines.new_line(); } } } GEOSGeometry *_project_line_string(GEOSContextHandle_t handle, GEOSGeometry *g_line_string, Interpolator *interpolator, GEOSGeometry *g_domain, double threshold) { const GEOSCoordSequence *src_coords = GEOSGeom_getCoordSeq_r(handle, g_line_string); unsigned int src_size, src_idx; const GEOSPreparedGeometry *gp_domain = GEOSPrepare_r(handle, g_domain); GEOSCoordSeq_getSize_r(handle, src_coords, &src_size); // check exceptions LineAccumulator lines; for(src_idx = 1; src_idx < src_size; src_idx++) { _project_segment(handle, src_coords, src_idx - 1, src_idx, interpolator, gp_domain, threshold, lines); } GEOSPreparedGeom_destroy_r(handle, gp_domain); return lines.as_geom(handle); } Cartopy-0.14.2/lib/cartopy/_trace.h0000644001374000021030000000422212700747662016617 0ustar itpeavd00000000000000/* # (C) British Crown Copyright 2010 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . */ #ifndef _TRACE_H #define _TRACE_H #include #include #include typedef struct { double x; double y; } Point; typedef struct { double x; double y; double z; } Vec3; class Interpolator { public: virtual ~Interpolator(); virtual void set_line(const Point &start, const Point &end); virtual Point interpolate(double t)=0; virtual Point project(const Point &point)=0; protected: Point m_start, m_end; }; class CartesianInterpolator : public Interpolator { public: CartesianInterpolator(projPJ src_proj, projPJ dest_proj); Point interpolate(double t); Point project(const Point &point); private: projPJ m_src_proj, m_dest_proj; }; class SphericalInterpolator : public Interpolator { public: // XXX Move the constructor and members up to the superclass? SphericalInterpolator(projPJ src_proj, projPJ dest_proj); void set_line(const Point &start, const Point &end); Point interpolate(double t); Point project(const Point &point); private: projPJ m_src_proj, m_dest_proj; Vec3 m_start3, m_perp3; double m_angle; }; GEOSGeometry *_project_line_string(GEOSContextHandle_t handle, GEOSGeometry *g_line_string, Interpolator *interpolator, GEOSGeometry *g_domain, double threshold); #endif // _TRACE_H Cartopy-0.14.2/lib/cartopy/crs.py0000644001374000021030000020576012705644356016365 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ The crs module defines Coordinate Reference Systems and the transformations between them. """ from __future__ import (absolute_import, division, print_function) from abc import ABCMeta, abstractproperty import math import warnings import numpy as np import shapely.geometry as sgeom from shapely.prepared import prep import six from cartopy._crs import CRS, Geocentric, Geodetic, Globe, PROJ4_VERSION import cartopy.trace __document_these__ = ['CRS', 'Geocentric', 'Geodetic', 'Globe'] WGS84_SEMIMAJOR_AXIS = 6378137.0 WGS84_SEMIMINOR_AXIS = 6356752.3142 class RotatedGeodetic(CRS): """ Defines a rotated latitude/longitude coordinate system with spherical topology and geographical distance. Coordinates are measured in degrees. """ def __init__(self, pole_longitude, pole_latitude, central_rotated_longitude=0.0, globe=None): """ Create a RotatedGeodetic CRS. The class uses proj4 to perform an ob_tran operation, using the pole_longitude to set a lon_0 then performing two rotations based on pole_latitude and central_rotated_longitude. This is equivalent to setting the new pole to a location defined by the pole_latitude and pole_longitude values in the GeogCRS defined by globe, then rotating this new CRS about it's pole using the central_rotated_longitude value. Args: * pole_longitude - Pole longitude position, in unrotated degrees. * pole_latitude - Pole latitude position, in unrotated degrees. * central_rotated_longitude - Longitude rotation about the new pole, in degrees. Kwargs: * globe - An optional :class:`cartopy.crs.Globe`. Defaults to a "WGS84" datum. """ proj4_params = [('proj', 'ob_tran'), ('o_proj', 'latlon'), ('o_lon_p', central_rotated_longitude), ('o_lat_p', pole_latitude), ('lon_0', 180 + pole_longitude), ('to_meter', math.radians(1))] globe = globe or Globe(datum='WGS84') super(RotatedGeodetic, self).__init__(proj4_params, globe=globe) class Projection(six.with_metaclass(ABCMeta, CRS)): """ Defines a projected coordinate system with flat topology and Euclidean distance. """ _method_map = { 'Point': '_project_point', 'LineString': '_project_line_string', 'LinearRing': '_project_linear_ring', 'Polygon': '_project_polygon', 'MultiPoint': '_project_multipoint', 'MultiLineString': '_project_multiline', 'MultiPolygon': '_project_multipolygon', } @abstractproperty def boundary(self): pass @abstractproperty def threshold(self): pass @abstractproperty def x_limits(self): pass @abstractproperty def y_limits(self): pass @property def cw_boundary(self): try: boundary = self._cw_boundary except AttributeError: boundary = sgeom.LineString(self.boundary) self._cw_boundary = boundary return boundary @property def ccw_boundary(self): try: boundary = self._ccw_boundary except AttributeError: boundary = sgeom.LineString(self.boundary.coords[::-1]) self._ccw_boundary = boundary return boundary @property def domain(self): try: domain = self._domain except AttributeError: domain = self._domain = sgeom.Polygon(self.boundary) return domain def _as_mpl_axes(self): import cartopy.mpl.geoaxes as geoaxes return geoaxes.GeoAxes, {'map_projection': self} def project_geometry(self, geometry, src_crs=None): """ Projects the given geometry into this projection. :param geometry: The geometry to (re-)project. :param src_crs: The source CRS, or geodetic CRS if None. :rtype: Shapely geometry. If src_crs is None, the source CRS is assumed to be a geodetic version of the target CRS. """ if src_crs is None: src_crs = self.as_geodetic() elif not isinstance(src_crs, CRS): raise TypeError('Source CRS must be an instance of CRS' ' or one of its subclasses, or None.') geom_type = geometry.geom_type method_name = self._method_map.get(geom_type) if not method_name: raise ValueError('Unsupported geometry ' 'type {!r}'.format(geom_type)) return getattr(self, method_name)(geometry, src_crs) def _project_point(self, point, src_crs): return sgeom.Point(*self.transform_point(point.x, point.y, src_crs)) def _project_line_string(self, geometry, src_crs): return cartopy.trace.project_linear(geometry, src_crs, self) def _project_linear_ring(self, linear_ring, src_crs): """ Projects the given LinearRing from the src_crs into this CRS and returns a list of LinearRings and a single MultiLineString. """ debug = False # 1) Resolve the initial lines into projected segments # 1abc # def23ghi # jkl41 multi_line_string = cartopy.trace.project_linear(linear_ring, src_crs, self) # Threshold for whether a point is close enough to be the same # point as another. threshold = max(np.abs(self.x_limits + self.y_limits)) * 1e-5 # 2) Simplify the segments where appropriate. if len(multi_line_string) > 1: # Stitch together segments which are close to continuous. # This is important when: # 1) The first source point projects into the map and the # ring has been cut by the boundary. # Continuing the example from above this gives: # def23ghi # jkl41abc # 2) The cut ends of segments are too close to reliably # place into an order along the boundary. line_strings = list(multi_line_string) any_modified = False i = 0 if debug: first_coord = np.array([ls.coords[0] for ls in line_strings]) last_coord = np.array([ls.coords[-1] for ls in line_strings]) print('Distance matrix:') np.set_printoptions(precision=2) x = first_coord[:, np.newaxis, :] y = last_coord[np.newaxis, :, :] print(np.abs(x - y).max(axis=-1)) while i < len(line_strings): modified = False j = 0 while j < len(line_strings): if i != j and np.allclose(line_strings[i].coords[0], line_strings[j].coords[-1], atol=threshold): if debug: print('Joining together {} and {}.'.format(i, j)) last_coords = list(line_strings[j].coords) first_coords = list(line_strings[i].coords)[1:] combo = sgeom.LineString(last_coords + first_coords) if j < i: i, j = j, i del line_strings[j], line_strings[i] line_strings.append(combo) modified = True any_modified = True break else: j += 1 if not modified: i += 1 if any_modified: multi_line_string = sgeom.MultiLineString(line_strings) # 3) Check for rings that have been created by the projection stage. rings = [] line_strings = [] for line in multi_line_string: if len(line.coords) > 3 and np.allclose(line.coords[0], line.coords[-1], atol=threshold): result_geometry = sgeom.LinearRing(line.coords[:-1]) rings.append(result_geometry) else: line_strings.append(line) # If we found any rings, then we should re-create the multi-line str. if rings: multi_line_string = sgeom.MultiLineString(line_strings) return rings, multi_line_string def _project_multipoint(self, geometry, src_crs): geoms = [] for geom in geometry.geoms: geoms.append(self._project_point(geom, src_crs)) if geoms: return sgeom.MultiPoint(geoms) else: return sgeom.MultiPoint() def _project_multiline(self, geometry, src_crs): geoms = [] for geom in geometry.geoms: r = self._project_line_string(geom, src_crs) if r: geoms.extend(r.geoms) if geoms: return sgeom.MultiLineString(geoms) else: return [] def _project_multipolygon(self, geometry, src_crs): geoms = [] for geom in geometry.geoms: r = self._project_polygon(geom, src_crs) if r: geoms.extend(r.geoms) if geoms: result = sgeom.MultiPolygon(geoms) else: result = sgeom.MultiPolygon() return result def _project_polygon(self, polygon, src_crs): """ Returns the projected polygon(s) derived from the given polygon. """ # Determine orientation of polygon. # TODO: Consider checking the internal rings have the opposite # orientation to the external rings? if src_crs.is_geodetic(): is_ccw = True else: is_ccw = polygon.exterior.is_ccw # Project the polygon exterior/interior rings. # Each source ring will result in either a ring, or one or more # lines. rings = [] multi_lines = [] for src_ring in [polygon.exterior] + list(polygon.interiors): p_rings, p_mline = self._project_linear_ring(src_ring, src_crs) if p_rings: rings.extend(p_rings) if len(p_mline) > 0: multi_lines.append(p_mline) # Convert any lines to rings by attaching them to the boundary. if multi_lines: rings.extend(self._attach_lines_to_boundary(multi_lines, is_ccw)) # Resolve all the inside vs. outside rings, and convert to the # final MultiPolygon. return self._rings_to_multi_polygon(rings, is_ccw) def _attach_lines_to_boundary(self, multi_line_strings, is_ccw): """ Returns a list of LinearRings by attaching the ends of the given lines to the boundary, paying attention to the traversal directions of the lines and boundary. """ debug = False debug_plot_edges = False # Accumulate all the boundary and segment end points, along with # their distance along the boundary. edge_things = [] # Get the boundary as a LineString of the correct orientation # so we can compute distances along it. if is_ccw: boundary = self.ccw_boundary else: boundary = self.cw_boundary def boundary_distance(xy): return boundary.project(sgeom.Point(*xy)) # Squash all the LineStrings into a single list. line_strings = [] for multi_line_string in multi_line_strings: line_strings.extend(multi_line_string) # Record the positions of all the segment ends for i, line_string in enumerate(line_strings): first_dist = boundary_distance(line_string.coords[0]) thing = _BoundaryPoint(first_dist, False, (i, 'first', line_string.coords[0])) edge_things.append(thing) last_dist = boundary_distance(line_string.coords[-1]) thing = _BoundaryPoint(last_dist, False, (i, 'last', line_string.coords[-1])) edge_things.append(thing) # Record the positions of all the boundary vertices for xy in boundary.coords[:-1]: point = sgeom.Point(*xy) dist = boundary.project(point) thing = _BoundaryPoint(dist, True, point) edge_things.append(thing) if debug_plot_edges: import matplotlib.pyplot as plt current_fig = plt.gcf() fig = plt.figure() # Reset the current figure so we don't upset anything. plt.figure(current_fig.number) ax = fig.add_subplot(1, 1, 1) # Order everything as if walking around the boundary. # NB. We make line end-points take precedence over boundary points # to ensure that end-points are still found and followed when they # coincide. edge_things.sort(key=lambda thing: (thing.distance, thing.kind)) remaining_ls = dict(enumerate(line_strings)) prev_thing = None for edge_thing in edge_things[:]: if (prev_thing is not None and not edge_thing.kind and not prev_thing.kind and edge_thing.data[0] == prev_thing.data[0]): j = edge_thing.data[0] # Insert a edge boundary point in between this geometry. mid_dist = (edge_thing.distance + prev_thing.distance) * 0.5 mid_point = boundary.interpolate(mid_dist) new_thing = _BoundaryPoint(mid_dist, True, mid_point) if debug: print('Artificially insert boundary: {}'.format(new_thing)) ind = edge_things.index(edge_thing) edge_things.insert(ind, new_thing) prev_thing = None else: prev_thing = edge_thing if debug: print() print('Edge things') for thing in edge_things: print(' ', thing) if debug_plot_edges: for thing in edge_things: if isinstance(thing.data, sgeom.Point): ax.plot(*thing.data.xy, marker='o') else: ax.plot(*thing.data[2], marker='o') ls = line_strings[thing.data[0]] coords = np.array(ls.coords) ax.plot(coords[:, 0], coords[:, 1]) ax.text(coords[0, 0], coords[0, 1], thing.data[0]) ax.text(coords[-1, 0], coords[-1, 1], '{}.'.format(thing.data[0])) processed_ls = [] while remaining_ls: # Rename line_string to current_ls i, current_ls = remaining_ls.popitem() if debug: import sys sys.stdout.write('+') sys.stdout.flush() print() print('Processing: %s, %s' % (i, current_ls)) # We only want to consider boundary-points, the starts-and-ends of # all other line-strings, or the start-point of the current # line-string. def filter_fn(t): return (t.kind or t.data[0] != i or t.data[1] != 'last') edge_things = list(filter(filter_fn, edge_things)) added_linestring = set() while True: # Find out how far around this linestring's last # point is on the boundary. We will use this to find # the next point on the boundary. d_last = boundary_distance(current_ls.coords[-1]) if debug: print(' d_last: {!r}'.format(d_last)) next_thing = _find_first_gt(edge_things, d_last) # Remove this boundary point from the edge. edge_things.remove(next_thing) if debug: print(' next_thing:', next_thing) if next_thing.kind: # We've just got a boundary point, add it, and keep going. if debug: print(' adding boundary point') boundary_point = next_thing.data combined_coords = (list(current_ls.coords) + [(boundary_point.x, boundary_point.y)]) current_ls = sgeom.LineString(combined_coords) elif next_thing.data[0] == i and next_thing.data[1] == 'first': # We've gone all the way around and are now back at the # first boundary thing. if debug: print(' close loop') processed_ls.append(current_ls) if debug_plot_edges: coords = np.array(current_ls.coords) ax.plot(coords[:, 0], coords[:, 1], color='black', linestyle='--') break else: if debug: print(' adding line') j = next_thing.data[0] line_to_append = line_strings[j] if j in remaining_ls: remaining_ls.pop(j) coords_to_append = list(line_to_append.coords) if next_thing.data[1] == 'last': coords_to_append = coords_to_append[::-1] # Build up the linestring. current_ls = sgeom.LineString((list(current_ls.coords) + coords_to_append)) # Catch getting stuck in an infinite loop by checking that # linestring only added once. if j not in added_linestring: added_linestring.add(j) else: if debug_plot_edges: plt.show() raise RuntimeError('Unidentified problem with ' 'geometry, linestring being ' 're-added. Please raise an issue.') # filter out any non-valid linear rings processed_ls = [linear_ring for linear_ring in processed_ls if len(linear_ring.coords) > 2] linear_rings = [sgeom.LinearRing(line) for line in processed_ls] if debug: print(' DONE') return linear_rings def _rings_to_multi_polygon(self, rings, is_ccw): exterior_rings = [] interior_rings = [] for ring in rings: if ring.is_ccw != is_ccw: interior_rings.append(ring) else: exterior_rings.append(ring) polygon_bits = [] # Turn all the exterior rings into polygon definitions, # "slurping up" any interior rings they contain. for exterior_ring in exterior_rings: polygon = sgeom.Polygon(exterior_ring) prep_polygon = prep(polygon) holes = [] for interior_ring in interior_rings[:]: if prep_polygon.contains(interior_ring): holes.append(interior_ring) interior_rings.remove(interior_ring) elif polygon.crosses(interior_ring): # Likely that we have an invalid geometry such as # that from #509 or #537. holes.append(interior_ring) interior_rings.remove(interior_ring) polygon_bits.append((exterior_ring.coords, [ring.coords for ring in holes])) # Any left over "interior" rings need "inverting" with respect # to the boundary. if interior_rings: boundary_poly = self.domain x3, y3, x4, y4 = boundary_poly.bounds bx = (x4 - x3) * 0.1 by = (y4 - y3) * 0.1 x3 -= bx y3 -= by x4 += bx y4 += by for ring in interior_rings: polygon = sgeom.Polygon(ring) if polygon.is_valid: x1, y1, x2, y2 = polygon.bounds bx = (x2 - x1) * 0.1 by = (y2 - y1) * 0.1 x1 -= bx y1 -= by x2 += bx y2 += by box = sgeom.box(min(x1, x3), min(y1, y3), max(x2, x4), max(y2, y4)) # Invert the polygon polygon = box.difference(polygon) # Intersect the inverted polygon with the boundary polygon = boundary_poly.intersection(polygon) if not polygon.is_empty: polygon_bits.append(polygon) if polygon_bits: multi_poly = sgeom.MultiPolygon(polygon_bits) else: multi_poly = sgeom.MultiPolygon() return multi_poly def quick_vertices_transform(self, vertices, src_crs): """ Where possible, return a vertices array transformed to this CRS from the given vertices array of shape ``(n, 2)`` and the source CRS. .. important:: This method may return None to indicate that the vertices cannot be transformed quickly, and a more complex geometry transformation is required (see :meth:`cartopy.crs.Projection.project_geometry`). """ return_value = None if self == src_crs: x = vertices[:, 0] y = vertices[:, 1] x_limits = self.x_limits y_limits = self.y_limits if (x.min() >= x_limits[0] and x.max() <= x_limits[1] and y.min() >= y_limits[0] and y.max() <= y_limits[1]): return_value = vertices return return_value class _RectangularProjection(Projection): """ The abstract superclass of projections with a rectangular domain which is symmetric about the origin. """ def __init__(self, proj4_params, half_width, half_height, globe=None): self._half_width = half_width self._half_height = half_height super(_RectangularProjection, self).__init__(proj4_params, globe=globe) @property def boundary(self): # XXX Should this be a LinearRing? w, h = self._half_width, self._half_height return sgeom.LineString([(-w, -h), (-w, h), (w, h), (w, -h), (-w, -h)]) @property def x_limits(self): return (-self._half_width, self._half_width) @property def y_limits(self): return (-self._half_height, self._half_height) class _CylindricalProjection(_RectangularProjection): """ The abstract class which denotes cylindrical projections where we want to allow x values to wrap around. """ def _ellipse_boundary(semimajor=2, semiminor=1, easting=0, northing=0, n=201): """ Defines a projection boundary using an ellipse. This type of boundary is used by several projections. """ t = np.linspace(0, 2 * np.pi, n) coords = np.vstack([semimajor * np.cos(t), semiminor * np.sin(t)]) coords += ([easting], [northing]) return coords[:, ::-1] class PlateCarree(_CylindricalProjection): def __init__(self, central_longitude=0.0, globe=None): proj4_params = [('proj', 'eqc'), ('lon_0', central_longitude)] if globe is None: globe = Globe(semimajor_axis=math.degrees(1)) a_rad = math.radians(globe.semimajor_axis or WGS84_SEMIMAJOR_AXIS) x_max = a_rad * 180 y_max = a_rad * 90 # Set the threshold around 0.5 if the x max is 180. self._threshold = x_max / 360. super(PlateCarree, self).__init__(proj4_params, x_max, y_max, globe=globe) @property def threshold(self): return self._threshold def _bbox_and_offset(self, other_plate_carree): """ Returns a pair of (xmin, xmax) pairs and an offset which can be used for identification of whether data in ``other_plate_carree`` needs to be transformed to wrap appropriately. >>> import cartopy.crs as ccrs >>> src = ccrs.PlateCarree(central_longitude=10) >>> bboxes, offset = ccrs.PlateCarree()._bbox_and_offset(src) >>> print(bboxes) [[-180.0, -170.0], [-170.0, 180.0]] >>> print(offset) 10.0 The returned values are longitudes in ``other_plate_carree``'s coordinate system. .. important:: The two CRSs must be identical in every way, other than their central longitudes. No checking of this is done. """ self_lon_0 = self.proj4_params['lon_0'] other_lon_0 = other_plate_carree.proj4_params['lon_0'] lon_0_offset = other_lon_0 - self_lon_0 lon_lower_bound_0 = self.x_limits[0] lon_lower_bound_1 = (other_plate_carree.x_limits[0] + lon_0_offset) if lon_lower_bound_1 < self.x_limits[0]: lon_lower_bound_1 += np.diff(self.x_limits)[0] lon_lower_bound_0, lon_lower_bound_1 = sorted( [lon_lower_bound_0, lon_lower_bound_1]) bbox = [[lon_lower_bound_0, lon_lower_bound_1], [lon_lower_bound_1, lon_lower_bound_0]] bbox[1][1] += np.diff(self.x_limits)[0] return bbox, lon_0_offset def quick_vertices_transform(self, vertices, src_crs): return_value = super(PlateCarree, self).quick_vertices_transform(vertices, src_crs) # Optimise the PlateCarree -> PlateCarree case where no # wrapping or interpolation needs to take place. if return_value is None and isinstance(src_crs, PlateCarree): self_params = self.proj4_params.copy() src_params = src_crs.proj4_params.copy() self_params.pop('lon_0'), src_params.pop('lon_0') xs, ys = vertices[:, 0], vertices[:, 1] potential = (self_params == src_params and self.y_limits[0] <= ys.min() and self.y_limits[1] >= ys.max()) if potential: mod = np.diff(src_crs.x_limits)[0] bboxes, proj_offset = self._bbox_and_offset(src_crs) x_lim = xs.min(), xs.max() y_lim = ys.min(), ys.max() for poly in bboxes: # Arbitrarily choose the number of moduli to look # above and below the -180->180 range. If data is beyond # this range, we're not going to transform it quickly. for i in [-1, 0, 1, 2]: offset = mod * i - proj_offset if ((poly[0] + offset) <= x_lim[0] and (poly[1] + offset) >= x_lim[1]): return_value = vertices + [[-offset, 0]] break if return_value is not None: break return return_value class TransverseMercator(Projection): """ A Transverse Mercator projection. """ def __init__(self, central_longitude=0.0, central_latitude=0.0, false_easting=0.0, false_northing=0.0, scale_factor=1.0, globe=None): """ Kwargs: * central_longitude - The true longitude of the central meridian in degrees. Defaults to 0. * central_latitude - The true latitude of the planar origin in degrees. Defaults to 0. * false_easting - X offset from the planar origin in metres. Defaults to 0. * false_northing - Y offset from the planar origin in metres. Defaults to 0. * scale_factor - Scale factor at the central meridian. Defaults to 1. * globe - An instance of :class:`cartopy.crs.Globe`. If omitted, a default globe is created. """ proj4_params = [('proj', 'tmerc'), ('lon_0', central_longitude), ('lat_0', central_latitude), ('k', scale_factor), ('x_0', false_easting), ('y_0', false_northing), ('units', 'm')] super(TransverseMercator, self).__init__(proj4_params, globe=globe) @property def threshold(self): return 1e4 @property def boundary(self): x0, x1 = self.x_limits y0, y1 = self.y_limits return sgeom.LineString([(x0, y0), (x0, y1), (x1, y1), (x1, y0), (x0, y0)]) @property def x_limits(self): return (-2e7, 2e7) @property def y_limits(self): return (-1e7, 1e7) class OSGB(TransverseMercator): def __init__(self): super(OSGB, self).__init__(central_longitude=-2, central_latitude=49, scale_factor=0.9996012717, false_easting=400000, false_northing=-100000, globe=Globe(datum='OSGB36', ellipse='airy')) @property def boundary(self): w = self.x_limits[1] - self.x_limits[0] h = self.y_limits[1] - self.y_limits[0] return sgeom.LineString([(0, 0), (0, h), (w, h), (w, 0), (0, 0)]) @property def x_limits(self): return (0, 7e5) @property def y_limits(self): return (0, 13e5) class OSNI(TransverseMercator): def __init__(self): globe = Globe(semimajor_axis=6377340.189, semiminor_axis=6356034.447938534) super(OSNI, self).__init__(central_longitude=-8, central_latitude=53.5, scale_factor=1.000035, false_easting=200000, false_northing=250000, globe=globe) @property def boundary(self): w = self.x_limits[1] - self.x_limits[0] h = self.y_limits[1] - self.y_limits[0] return sgeom.LineString([(0, 0), (0, h), (w, h), (w, 0), (0, 0)]) @property def x_limits(self): return (18814.9667, 386062.3293) @property def y_limits(self): return (11764.8481, 464720.9559) class UTM(Projection): """ Universal Transverse Mercator projection. """ def __init__(self, zone, southern_hemisphere=False, globe=None): """ Kwargs: * zone - the numeric zone of the UTM required. * globe - An instance of :class:`cartopy.crs.Globe`. If omitted, a default globe is created. * southern_hemisphere - set to True if the zone is in the southern hemisphere, defaults to False. """ proj4_params = [('proj', 'utm'), ('units', 'm'), ('zone', zone)] if southern_hemisphere: proj4_params.append(('south', None)) super(UTM, self).__init__(proj4_params, globe=globe) @property def boundary(self): x0, x1 = self.x_limits y0, y1 = self.y_limits return sgeom.LineString([(x0, y0), (x0, y1), (x1, y1), (x1, y0), (x0, y0)]) @property def threshold(self): return 1e2 @property def x_limits(self): easting = 5e5 # allow 50% overflow return (0 - easting/2, 2 * easting + easting/2) @property def y_limits(self): northing = 1e7 # allow 50% overflow return (0 - northing, 2 * northing + northing/2) class EuroPP(UTM): """ UTM Zone 32 projection for EuroPP domain. Ellipsoid is International 1924, Datum is ED50. """ def __init__(self): globe = Globe(ellipse='intl') super(EuroPP, self).__init__(32, globe=globe) @property def x_limits(self): return (-1.4e6, 2e6) @property def y_limits(self): return (4e6, 7.9e6) class Mercator(Projection): """ A Mercator projection. """ def __init__(self, central_longitude=0.0, min_latitude=-80.0, max_latitude=84.0, globe=None): """ Kwargs: * central_longitude - the central longitude. Defaults to 0. * min_latitude - the maximum southerly extent of the projection. Defaults to -80 degrees. * max_latitude - the maximum northerly extent of the projection. Defaults to 84 degrees. * globe - A :class:`cartopy.crs.Globe`. If omitted, a default globe is created. """ proj4_params = [('proj', 'merc'), ('lon_0', central_longitude), ('k', 1), ('units', 'm')] super(Mercator, self).__init__(proj4_params, globe=globe) # Calculate limits. limits = self.transform_points(Geodetic(), np.array([-180, 180]) + central_longitude, np.array([min_latitude, max_latitude])) self._xlimits = tuple(limits[..., 0]) self._ylimits = tuple(limits[..., 1]) self._threshold = np.diff(self.x_limits)[0] / 720 def __eq__(self, other): res = super(Mercator, self).__eq__(other) if hasattr(other, "_ylimits") and hasattr(other, "_xlimits"): res = res and self._ylimits == other._ylimits and \ self._xlimits == other._xlimits return res def __ne__(self, other): return not self == other def __hash__(self): return hash((self.proj4_init, self._xlimits, self._ylimits)) @property def threshold(self): return self._threshold @property def boundary(self): x0, x1 = self.x_limits y0, y1 = self.y_limits return sgeom.LineString([(x0, y0), (x0, y1), (x1, y1), (x1, y0), (x0, y0)]) @property def x_limits(self): return self._xlimits @property def y_limits(self): return self._ylimits # Define a specific instance of a Mercator projection, the Google mercator. Mercator.GOOGLE = Mercator(min_latitude=-85.0511287798066, max_latitude=85.0511287798066, globe=Globe(ellipse=None, semimajor_axis=WGS84_SEMIMAJOR_AXIS, semiminor_axis=WGS84_SEMIMAJOR_AXIS, nadgrids='@null')) # Deprecated form GOOGLE_MERCATOR = Mercator.GOOGLE class LambertCylindrical(_RectangularProjection): def __init__(self, central_longitude=0.0): proj4_params = [('proj', 'cea'), ('lon_0', central_longitude)] globe = Globe(semimajor_axis=math.degrees(1)) super(LambertCylindrical, self).__init__(proj4_params, 180, math.degrees(1), globe=globe) @property def threshold(self): return 0.5 class LambertConformal(Projection): """ A Lambert Conformal conic projection. """ def __init__(self, central_longitude=-96.0, central_latitude=39.0, false_easting=0.0, false_northing=0.0, secant_latitudes=None, standard_parallels=None, globe=None, cutoff=-30): """ Kwargs: * central_longitude - The central longitude. Defaults to -96. * central_latitude - The central latitude. Defaults to 39. * false_easting - X offset from planar origin in metres. Defaults to 0. * false_northing - Y offset from planar origin in metres. Defaults to 0. * standard_parallels - Standard parallel latitude(s). Defaults to (33, 45). * globe - A :class:`cartopy.crs.Globe`. If omitted, a default globe is created. * cutoff - Latitude of map cutoff. The map extends to infinity opposite the central pole so we must cut off the map drawing before then. A value of 0 will draw half the globe. Defaults to -30. """ proj4_params = [('proj', 'lcc'), ('lon_0', central_longitude), ('lat_0', central_latitude), ('x_0', false_easting), ('y_0', false_northing)] if secant_latitudes and standard_parallels: raise TypeError('standard_parallels replaces secant_latitudes.') elif secant_latitudes is not None: warnings.warn('secant_latitudes has been deprecated in v0.12. ' 'The standard_parallels keyword can be used as a ' 'direct replacement.') standard_parallels = secant_latitudes elif standard_parallels is None: # The default. Put this as a keyword arg default once # secant_latitudes is removed completely. standard_parallels = (33, 45) n_parallels = len(standard_parallels) if not 1 <= n_parallels <= 2: raise ValueError('1 or 2 standard parallels must be specified. ' 'Got {} ({})'.format(n_parallels, standard_parallels)) proj4_params.append(('lat_1', standard_parallels[0])) if n_parallels == 2: proj4_params.append(('lat_2', standard_parallels[1])) super(LambertConformal, self).__init__(proj4_params, globe=globe) # Compute whether this projection is at the "north pole" or the # "south pole" (after the central lon/lat have been taken into # account). if n_parallels == 1: plat = 90 if standard_parallels[0] > 0 else -90 else: # Which pole are the parallels closest to? That is the direction # that the cone converges. if abs(standard_parallels[0]) > abs(standard_parallels[1]): poliest_sec = standard_parallels[0] else: poliest_sec = standard_parallels[1] plat = 90 if poliest_sec > 0 else -90 self.cutoff = cutoff n = 91 lons = [0] lats = [plat] lons.extend(np.linspace(central_longitude - 180 + 0.001, central_longitude + 180 - 0.001, n)) lats.extend(np.array([cutoff] * n)) lons.append(0) lats.append(plat) points = self.transform_points(PlateCarree(), np.array(lons), np.array(lats)) if plat == 90: # Ensure clockwise points = points[::-1, :] self._boundary = sgeom.LineString(points) bounds = self._boundary.bounds self._x_limits = bounds[0], bounds[2] self._y_limits = bounds[1], bounds[3] def __eq__(self, other): res = super(LambertConformal, self).__eq__(other) if hasattr(other, "cutoff"): res = res and self.cutoff == other.cutoff return res def __ne__(self, other): return not self == other def __hash__(self): return hash((self.proj4_init, self.cutoff)) @property def boundary(self): return self._boundary @property def threshold(self): return 1e5 @property def x_limits(self): return self._x_limits @property def y_limits(self): return self._y_limits class LambertAzimuthalEqualArea(Projection): """ A Lambert Azimuthal Equal-Area projection. """ def __init__(self, central_longitude=0.0, central_latitude=0.0, false_easting=0.0, false_northing=0.0, globe=None): """ Kwargs: * central_longitude - The central longitude. Defaults to 0. * central_latitude - The central latitude. Defaults to 0. * false_easting - X offset from planar origin in metres. Defaults to 0. * false_northing - Y offset from planar origin in metres. Defaults to 0. * globe - A :class:`cartopy.crs.Globe`. If omitted, a default globe is created. """ proj4_params = [('proj', 'laea'), ('lon_0', central_longitude), ('lat_0', central_latitude), ('x_0', false_easting), ('y_0', false_northing)] super(LambertAzimuthalEqualArea, self).__init__(proj4_params, globe=globe) a = np.float(self.globe.semimajor_axis or WGS84_SEMIMAJOR_AXIS) b = np.float(self.globe.semiminor_axis or WGS84_SEMIMINOR_AXIS) lon, lat = central_longitude + 180, - central_latitude + 0.01 x, max_y = self.transform_point(lon, lat, PlateCarree()) coords = _ellipse_boundary(a * 1.9999, max_y - false_northing, false_easting, false_northing, 61) self._boundary = sgeom.polygon.LinearRing(coords.T) self._x_limits = self._boundary.bounds[::2] self._y_limits = self._boundary.bounds[1::2] self._threshold = np.diff(self._x_limits)[0] * 1e-3 @property def boundary(self): return self._boundary @property def threshold(self): return self._threshold @property def x_limits(self): return self._x_limits @property def y_limits(self): return self._y_limits class Miller(_RectangularProjection): def __init__(self, central_longitude=0.0): proj4_params = [('proj', 'mill'), ('lon_0', central_longitude)] globe = Globe(semimajor_axis=math.degrees(1)) # XXX How can we derive the vertical limit of 131.98? super(Miller, self).__init__(proj4_params, 180, 131.98, globe=globe) @property def threshold(self): return 0.5 class RotatedPole(_CylindricalProjection): """ Defines a rotated latitude/longitude projected coordinate system with cylindrical topology and projected distance. Coordinates are measured in projection metres. """ def __init__(self, pole_longitude=0.0, pole_latitude=90.0, central_rotated_longitude=0.0, globe=None): """ Create a RotatedPole CRS. The class uses proj4 to perform an ob_tran operation, using the pole_longitude to set a lon_0 then performing two rotations based on pole_latitude and central_rotated_longitude. This is equivalent to setting the new pole to a location defined by the pole_latitude and pole_longitude values in the GeogCRS defined by globe, then rotating this new CRS about it's pole using the central_rotated_longitude value. Args: * pole_longitude - Pole longitude position, in unrotated degrees. * pole_latitude - Pole latitude position, in unrotated degrees. * central_rotated_longitude - Longitude rotation about the new pole, in degrees. Kwargs: * globe - An optional :class:`cartopy.crs.Globe`. Defaults to a "WGS84" datum. """ proj4_params = [('proj', 'ob_tran'), ('o_proj', 'latlon'), ('o_lon_p', central_rotated_longitude), ('o_lat_p', pole_latitude), ('lon_0', 180 + pole_longitude), ('to_meter', math.radians(1))] super(RotatedPole, self).__init__(proj4_params, 180, 90, globe=globe) @property def threshold(self): return 0.5 class Gnomonic(Projection): def __init__(self, central_latitude=0.0, globe=None): proj4_params = [('proj', 'gnom'), ('lat_0', central_latitude)] super(Gnomonic, self).__init__(proj4_params, globe=globe) self._max = 5e7 @property def boundary(self): return sgeom.Point(0, 0).buffer(self._max).exterior @property def threshold(self): return 1e5 @property def x_limits(self): return (-self._max, self._max) @property def y_limits(self): return (-self._max, self._max) class Stereographic(Projection): def __init__(self, central_latitude=0.0, central_longitude=0.0, false_easting=0.0, false_northing=0.0, true_scale_latitude=None, globe=None): proj4_params = [('proj', 'stere'), ('lat_0', central_latitude), ('lon_0', central_longitude), ('x_0', false_easting), ('y_0', false_northing)] if true_scale_latitude: proj4_params.append(('lat_ts', true_scale_latitude)) super(Stereographic, self).__init__(proj4_params, globe=globe) # TODO: Let the globe return the semimajor axis always. a = np.float(self.globe.semimajor_axis or WGS84_SEMIMAJOR_AXIS) b = np.float(self.globe.semiminor_axis or WGS84_SEMIMINOR_AXIS) # Note: The magic number has been picked to maintain consistent # behaviour with a wgs84 globe. There is no guarantee that the scaling # should even be linear. x_axis_offset = 5e7 / WGS84_SEMIMAJOR_AXIS y_axis_offset = 5e7 / WGS84_SEMIMINOR_AXIS self._x_limits = (-a * x_axis_offset + false_easting, a * x_axis_offset + false_easting) self._y_limits = (-b * y_axis_offset + false_northing, b * y_axis_offset + false_northing) if self._x_limits[1] == self._y_limits[1]: point = sgeom.Point(false_easting, false_northing) self._boundary = point.buffer(self._x_limits[1]).exterior else: coords = _ellipse_boundary(self._x_limits[1], self._y_limits[1], false_easting, false_northing, 91) self._boundary = sgeom.LinearRing(coords.T) self._threshold = np.diff(self._x_limits)[0] * 1e-3 @property def boundary(self): return self._boundary @property def threshold(self): return self._threshold @property def x_limits(self): return self._x_limits @property def y_limits(self): return self._y_limits class NorthPolarStereo(Stereographic): def __init__(self, central_longitude=0.0, globe=None): super(NorthPolarStereo, self).__init__( central_latitude=90, central_longitude=central_longitude, globe=globe) class SouthPolarStereo(Stereographic): def __init__(self, central_longitude=0.0, globe=None): super(SouthPolarStereo, self).__init__( central_latitude=-90, central_longitude=central_longitude, globe=globe) class Orthographic(Projection): def __init__(self, central_longitude=0.0, central_latitude=0.0, globe=None): proj4_params = [('proj', 'ortho'), ('lon_0', central_longitude), ('lat_0', central_latitude)] super(Orthographic, self).__init__(proj4_params, globe=globe) # TODO: Let the globe return the semimajor axis always. a = np.float(self.globe.semimajor_axis or WGS84_SEMIMAJOR_AXIS) b = np.float(self.globe.semiminor_axis or a) if b != a: warnings.warn('The proj4 "ortho" projection does not appear to ' 'handle elliptical globes.') # To stabilise the projection of geometries, we reduce the boundary by # a tiny fraction at the cost of the extreme edges. coords = _ellipse_boundary(a * 0.99999, b * 0.99999, n=61) self._boundary = sgeom.polygon.LinearRing(coords.T) self._xlim = self._boundary.bounds[::2] self._ylim = self._boundary.bounds[1::2] self._threshold = np.diff(self._xlim)[0] * 0.02 @property def boundary(self): return self._boundary @property def threshold(self): return self._threshold @property def x_limits(self): return self._xlim @property def y_limits(self): return self._ylim class _WarpedRectangularProjection(Projection): def __init__(self, proj4_params, central_longitude, globe=None): super(_WarpedRectangularProjection, self).__init__(proj4_params, globe=globe) # Obtain boundary points points = [] n = 91 geodetic_crs = self.as_geodetic() for lat in np.linspace(-90, 90, n): points.append( self.transform_point(180 + central_longitude, lat, geodetic_crs) ) for lat in np.linspace(90, -90, n): points.append( self.transform_point(-180 + central_longitude, lat, geodetic_crs) ) points.append( self.transform_point(180 + central_longitude, -90, geodetic_crs)) self._boundary = sgeom.LineString(points[::-1]) x = [p[0] for p in points] y = [p[1] for p in points] self._x_limits = min(x), max(x) self._y_limits = min(y), max(y) @property def boundary(self): return self._boundary @property def x_limits(self): return self._x_limits @property def y_limits(self): return self._y_limits class Mollweide(_WarpedRectangularProjection): def __init__(self, central_longitude=0, globe=None): proj4_params = [('proj', 'moll'), ('lon_0', central_longitude)] super(Mollweide, self).__init__(proj4_params, central_longitude, globe=globe) @property def threshold(self): return 1e5 class Robinson(_WarpedRectangularProjection): def __init__(self, central_longitude=0, globe=None): # Warn when using Robinson with proj4 4.8 due to discontinuity at # 40 deg N introduced by incomplete fix to issue #113 (see # https://trac.osgeo.org/proj/ticket/113). import re if PROJ4_VERSION != (): if (4, 8) <= PROJ4_VERSION < (4, 9): warnings.warn('The Robinson projection in the v4.8.x series ' 'of Proj.4 contains a discontinuity at ' '40 deg latitude. Use this projection with ' 'caution.') else: warnings.warn('Cannot determine Proj.4 version. The Robinson ' 'projection may be unreliable and should be used ' 'with caution.') proj4_params = [('proj', 'robin'), ('lon_0', central_longitude)] super(Robinson, self).__init__(proj4_params, central_longitude, globe=globe) @property def threshold(self): return 1e4 def transform_point(self, x, y, src_crs): """ Capture and handle any input NaNs, else invoke parent function, :meth:`_WarpedRectangularProjection.transform_point`. Needed because input NaNs can trigger a fatal error in the underlying implementation of the Robinson projection. .. note:: Although the original can in fact translate (nan, lat) into (nan, y-value), this patched version doesn't support that. """ if np.isnan(x) or np.isnan(y): result = (np.nan, np.nan) else: result = super(Robinson, self).transform_point(x, y, src_crs) return result def transform_points(self, src_crs, x, y, z=None): """ Capture and handle NaNs in input points -- else as parent function, :meth:`_WarpedRectangularProjection.transform_points`. Needed because input NaNs can trigger a fatal error in the underlying implementation of the Robinson projection. .. note:: Although the original can in fact translate (nan, lat) into (nan, y-value), this patched version doesn't support that. Instead, we invalidate any of the points that contain a NaN. """ input_point_nans = np.isnan(x) | np.isnan(y) if z is not None: input_point_nans |= np.isnan(z) handle_nans = np.any(input_point_nans) if handle_nans: # Remove NaN points from input data to avoid the error. x[input_point_nans] = 0.0 y[input_point_nans] = 0.0 if z is not None: z[input_point_nans] = 0.0 result = super(Robinson, self).transform_points(src_crs, x, y, z) if handle_nans: # Result always has shape (N, 3). # Blank out each (whole) point where we had a NaN in the input. result[input_point_nans] = np.nan return result class InterruptedGoodeHomolosine(Projection): def __init__(self, central_longitude=0, globe=None): proj4_params = [('proj', 'igh'), ('lon_0', central_longitude)] super(InterruptedGoodeHomolosine, self).__init__(proj4_params, globe=globe) # Obtain boundary points points = [] n = 31 geodetic_crs = self.as_geodetic() # Right boundary for lat in np.linspace(-90, 90, n): points.append(self.transform_point(180 + central_longitude, lat, geodetic_crs)) # Top boundary interrupted_lons = (-40.0,) delta = 0.001 for lon in interrupted_lons: for lat in np.linspace(90, 0, n): points.append(self.transform_point(lon + delta + central_longitude, lat, geodetic_crs)) for lat in np.linspace(0, 90, n): points.append(self.transform_point(lon - delta + central_longitude, lat, geodetic_crs)) # Left boundary for lat in np.linspace(90, -90, n): points.append(self.transform_point(-180 + central_longitude, lat, geodetic_crs)) # Bottom boundary interrupted_lons = (-100.0, -20.0, 80.0) delta = 0.001 for lon in interrupted_lons: for lat in np.linspace(-90, 0, n): points.append(self.transform_point(lon - delta + central_longitude, lat, geodetic_crs)) for lat in np.linspace(0, -90, n): points.append(self.transform_point(lon + delta + central_longitude, lat, geodetic_crs)) # Close loop points.append(self.transform_point(180 + central_longitude, -90, geodetic_crs)) self._boundary = sgeom.LineString(points[::-1]) x = [p[0] for p in points] y = [p[1] for p in points] self._x_limits = min(x), max(x) self._y_limits = min(y), max(y) @property def boundary(self): return self._boundary @property def threshold(self): return 2e4 @property def x_limits(self): return self._x_limits @property def y_limits(self): return self._y_limits class Geostationary(Projection): def __init__(self, central_longitude=0.0, satellite_height=35785831, false_easting=0, false_northing=0, globe=None): proj4_params = [('proj', 'geos'), ('lon_0', central_longitude), ('lat_0', 0), ('h', satellite_height), ('x_0', false_easting), ('y_0', false_northing), ('units', 'm')] super(Geostationary, self).__init__(proj4_params, globe=globe) # TODO: Let the globe return the semimajor axis always. a = np.float(self.globe.semimajor_axis or WGS84_SEMIMAJOR_AXIS) b = np.float(self.globe.semiminor_axis or a) h = np.float(satellite_height) max_x = h * math.atan(a / (a + h)) max_y = h * math.atan(b / (b + h)) coords = _ellipse_boundary(max_x, max_y, false_easting, false_northing, 61) self._boundary = sgeom.LinearRing(coords.T) self._xlim = self._boundary.bounds[::2] self._ylim = self._boundary.bounds[1::2] self._threshold = np.diff(self._xlim)[0] * 0.02 @property def boundary(self): return self._boundary @property def threshold(self): return self._threshold @property def x_limits(self): return self._xlim @property def y_limits(self): return self._ylim class AlbersEqualArea(Projection): """ An Albers Equal Area projection This projection is conic and equal-area, and is commonly used for maps of the conterminous United States. """ def __init__(self, central_longitude=0.0, central_latitude=0.0, false_easting=0.0, false_northing=0.0, standard_parallels=(20.0, 50.0), globe=None): """ Kwargs: * central_longitude - The central longitude. Defaults to 0. * central_latitude - The central latitude. Defaults to 0. * false_easting - X offset from planar origin in metres. Defaults to 0. * false_northing - Y offset from planar origin in metres. Defaults to 0. * standard_parallels - The one or two latitudes of correct scale. Defaults to (20, 50). * globe - A :class:`cartopy.crs.Globe`. If omitted, a default globe is created. """ proj4_params = [('proj', 'aea'), ('lon_0', central_longitude), ('lat_0', central_latitude), ('x_0', false_easting), ('y_0', false_northing)] if standard_parallels is not None: try: proj4_params.append(('lat_1', standard_parallels[0])) try: proj4_params.append(('lat_2', standard_parallels[1])) except IndexError: pass except TypeError: proj4_params.append(('lat_1', standard_parallels)) super(AlbersEqualArea, self).__init__(proj4_params, globe=globe) # bounds n = 103 lons = np.empty(2 * n + 1) lats = np.empty(2 * n + 1) tmp = np.linspace(central_longitude - 180, central_longitude + 180, n) lons[:n] = tmp lats[:n] = 90 lons[n:-1] = tmp[::-1] lats[n:-1] = -90 lons[-1] = lons[0] lats[-1] = lats[0] points = self.transform_points(self.as_geodetic(), lons, lats) self._boundary = sgeom.LineString(points) bounds = self._boundary.bounds self._x_limits = bounds[0], bounds[2] self._y_limits = bounds[1], bounds[3] @property def boundary(self): return self._boundary @property def threshold(self): return 1e5 @property def x_limits(self): return self._x_limits @property def y_limits(self): return self._y_limits class AzimuthalEquidistant(Projection): """ An Azimuthal Equidistant projection This projection provides accurate angles about and distances through the central position. Other angles, distances, or areas may be distorted. """ def __init__(self, central_longitude=0.0, central_latitude=0.0, false_easting=0.0, false_northing=0.0, globe=None): """ Kwargs: * central_longitude - The true longitude of the central meridian in degrees. Defaults to 0. * central_latitude - The true latitude of the planar origin in degrees. Defaults to 0. * false_easting - X offset from the planar origin in metres. Defaults to 0. * false_northing - Y offset from the planar origin in metres. Defaults to 0. * globe - An instance of :class:`cartopy.crs.Globe`. If omitted, a default globe is created. """ # Warn when using Azimuthal Equidistant with proj4 < 4.9.2 due to # incorrect transformation past 90 deg distance (see # https://github.com/OSGeo/proj.4/issues/246). if PROJ4_VERSION != (): if PROJ4_VERSION < (4, 9, 2): warnings.warn('The Azimuthal Equidistant projection in Proj.4 ' 'older than 4.9.2 incorrectly transforms points ' 'farther than 90 deg from the origin. Use this ' 'projection with caution.') else: warnings.warn('Cannot determine Proj.4 version. The Azimuthal ' 'Equidistant projection may be unreliable and ' 'should be used with caution.') proj4_params = [('proj', 'aeqd'), ('lon_0', central_longitude), ('lat_0', central_latitude), ('x_0', false_easting), ('y_0', false_northing)] super(AzimuthalEquidistant, self).__init__(proj4_params, globe=globe) # TODO: Let the globe return the semimajor axis always. a = np.float(self.globe.semimajor_axis or WGS84_SEMIMAJOR_AXIS) b = np.float(self.globe.semiminor_axis or a) coords = _ellipse_boundary(a * np.pi, b * np.pi, false_easting, false_northing, 61) self._boundary = sgeom.LinearRing(coords.T) bounds = self._boundary.bounds self._x_limits = bounds[0], bounds[2] self._y_limits = bounds[1], bounds[3] @property def boundary(self): return self._boundary @property def threshold(self): return 1e5 @property def x_limits(self): return self._x_limits @property def y_limits(self): return self._y_limits class Sinusoidal(Projection): """ A Sinusoidal projection. This projection is equal-area. """ def __init__(self, central_longitude=0.0, false_easting=0.0, false_northing=0.0, globe=None): """ Kwargs: * central_longitude - The central longitude. Defaults to 0. * false_easting - X offset from planar origin in metres. Defaults to 0. * false_northing - Y offset from planar origin in metres. Defaults to 0. * globe - A :class:`cartopy.crs.Globe`. If omitted, a default globe is created. """ proj4_params = [('proj', 'sinu'), ('lon_0', central_longitude), ('x_0', false_easting), ('y_0', false_northing)] super(Sinusoidal, self).__init__(proj4_params, globe=globe) # Obtain boundary points points = [] n = 91 geodetic_crs = self.as_geodetic() for lat in np.linspace(-90, 90, n): points.append( self.transform_point(180 + central_longitude, lat, geodetic_crs) ) for lat in np.linspace(90, -90, n): points.append( self.transform_point(-180 + central_longitude, lat, geodetic_crs) ) points.append( self.transform_point(180 + central_longitude, -90, geodetic_crs)) self._boundary = sgeom.LineString(points[::-1]) minx, miny, maxx, maxy = self._boundary.bounds self._x_limits = minx, maxx self._y_limits = miny, maxy self._threshold = max(np.abs(self.x_limits + self.y_limits)) * 1e-5 @property def boundary(self): return self._boundary @property def threshold(self): return self._threshold @property def x_limits(self): return self._x_limits @property def y_limits(self): return self._y_limits # MODIS data products use a Sinusoidal projection of a spherical Earth # http://modis-land.gsfc.nasa.gov/GCTP.html Sinusoidal.MODIS = Sinusoidal(globe=Globe(ellipse=None, semimajor_axis=6371007.181, semiminor_axis=6371007.181)) class _BoundaryPoint(object): def __init__(self, distance, kind, data): """ A representation for a geometric object which is connected to the boundary. Parameters ========== distance - float The distance along the boundary that this object can be found. kind - bool Whether this object represents a point from the pre-computed boundary. data - point or namedtuple The actual data that this boundary object represents. """ self.distance = distance self.kind = kind self.data = data def __repr__(self): return '_BoundaryPoint(%r, %r, %s)' % (self.distance, self.kind, self.data) def _find_first_gt(a, x): for v in a: if v.distance > x: return v # We've gone all the way around, so pick the first point again. return a[0] def epsg(code): """ Return the projection which corresponds to the given EPSG code. The EPSG code must correspond to a "projected coordinate system", so EPSG codes such as 4326 (WGS-84) which define a "geodetic coordinate system" will not work. .. note:: The conversion is performed by querying https://epsg.io/ so a live internet connection is required. """ import cartopy._epsg return cartopy._epsg._EPSGProjection(code) Cartopy-0.14.2/lib/cartopy/feature.py0000644001374000021030000002762012700747662017225 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ This module defines :class:`Feature` instances, for use with ax.add_feature(). """ from __future__ import (absolute_import, division, print_function) from abc import ABCMeta, abstractmethod import os.path import numpy as np import shapely.geometry as sgeom import six import cartopy.io.shapereader as shapereader import cartopy.crs COLORS = {'land': np.array((240, 240, 220)) / 256., 'land_alt1': np.array((220, 220, 220)) / 256., 'water': np.array((152, 183, 226)) / 256.} """ A dictionary of colors useful for drawing Features. The named keys in this dictionary represent the "type" of feature being plotted. """ _NATURAL_EARTH_GEOM_CACHE = {} """ Caches a mapping between (name, category, scale) and a tuple of the resulting geometries. Provides a significant performance benefit (when combined with object id caching in GeoAxes.add_geometries) when producing multiple maps of the same projection. """ class Feature(six.with_metaclass(ABCMeta)): """ Represents a collection of points, lines and polygons with convenience methods for common drawing and filtering operations. Args: * crs - the coordinate reference system of this Feature Kwargs: Keyword arguments to be used when drawing this feature. .. seealso:: To add features to the current matplotlib axes, see :func:`GeoAxes `. """ def __init__(self, crs, **kwargs): self._crs = crs self._kwargs = dict(kwargs) @property def crs(self): """The cartopy CRS for the geometries in this feature.""" return self._crs @property def kwargs(self): """ The read-only dictionary of keyword arguments that are used when creating the matplotlib artists for this feature. """ return dict(self._kwargs) @abstractmethod def geometries(self): """ Returns an iterator of (shapely) geometries for this feature. """ pass def intersecting_geometries(self, extent): """ Returns an iterator of shapely geometries that intersect with the given extent. The extent is assumed to be in the CRS of the feature. If extent is None, the method returns all geometries for this dataset. """ if extent is not None: extent_geom = sgeom.box(extent[0], extent[2], extent[1], extent[3]) return (geom for geom in self.geometries() if extent_geom.intersects(geom)) else: return self.geometries() class ShapelyFeature(Feature): """ A class capable of drawing a collection of shapely geometries. """ def __init__(self, geometries, crs, **kwargs): """ Args: * geometries: A collection of shapely geometries. * crs: The cartopy CRS in which the provided geometries are defined. Kwargs: Keyword arguments to be used when drawing this feature. """ super(ShapelyFeature, self).__init__(crs, **kwargs) self._geoms = tuple(geometries) def geometries(self): return iter(self._geoms) class NaturalEarthFeature(Feature): """ A simple interface to Natural Earth shapefiles. See http://www.naturalearthdata.com/ """ def __init__(self, category, name, scale, **kwargs): """ Args: * category: The category of the dataset, i.e. either 'cultural' or 'physical'. * name: The name of the dataset, e.g. 'admin_0_boundary_lines_land'. * scale: The dataset scale, i.e. one of '10m', '50m', or '110m'. Corresponding to 1:10,000,000, 1:50,000,000, and 1:110,000,000 respectively. Kwargs: Keyword arguments to be used when drawing this feature. """ super(NaturalEarthFeature, self).__init__(cartopy.crs.PlateCarree(), **kwargs) self.category = category self.name = name self.scale = scale def geometries(self): key = (self.name, self.category, self.scale) if key not in _NATURAL_EARTH_GEOM_CACHE: path = shapereader.natural_earth(resolution=self.scale, category=self.category, name=self.name) geometries = tuple(shapereader.Reader(path).geometries()) _NATURAL_EARTH_GEOM_CACHE[key] = geometries else: geometries = _NATURAL_EARTH_GEOM_CACHE[key] return iter(geometries) class GSHHSFeature(Feature): """ An interface to the GSHHS dataset. See https://www.ngdc.noaa.gov/mgg/shorelines/gshhs.html Args: * scale: The dataset scale. One of 'auto', 'coarse', 'low', 'intermediate', 'high, or 'full' (default is 'auto'). * levels: A list of integers 1-4 corresponding to the desired GSHHS feature levels to draw (default is [1] which corresponds to coastlines). Kwargs: Keyword arguments to be used when drawing the feature. Defaults are edgecolor='black' and facecolor='none'. """ _geometries_cache = {} """ A mapping from scale and level to GSHHS shapely geometry:: {(scale, level): geom} This provides a perfomance boost when plotting in interactive mode or instantiating multiple GSHHS artists, by reducing repeated file IO. """ def __init__(self, scale='auto', levels=None, **kwargs): super(GSHHSFeature, self).__init__(cartopy.crs.PlateCarree(), **kwargs) if scale not in ('auto', 'a', 'coarse', 'c', 'low', 'l', 'intermediate', 'i', 'high', 'h', 'full', 'f'): raise ValueError("Unknown GSHHS scale '{}'.".format(scale)) self._scale = scale if levels is None: levels = [1] self._levels = set(levels) unknown_levels = self._levels.difference([1, 2, 3, 4]) if unknown_levels: raise ValueError("Unknown GSHHS levels " "'{}'.".format(unknown_levels)) # Default kwargs self._kwargs.setdefault('edgecolor', 'black') self._kwargs.setdefault('facecolor', 'none') def _scale_from_extent(self, extent): """ Returns the appropriate scale (e.g. 'i') for the given extent expressed in PlateCarree CRS. """ # Default to coarse scale scale = 'c' if extent is not None: # Upper limit on extent in degrees. scale_limits = (('c', 20.0), ('l', 10.0), ('i', 2.0), ('h', 0.5), ('f', 0.1)) width = abs(extent[1] - extent[0]) height = abs(extent[3] - extent[2]) min_extent = min(width, height) if min_extent != 0: for scale, limit in scale_limits: if min_extent > limit: break return scale def geometries(self): return self.intersecting_geometries(extent=None) def intersecting_geometries(self, extent): if self._scale == 'auto': scale = self._scale_from_extent(extent) else: scale = self._scale[0] if extent is not None: extent_geom = sgeom.box(extent[0], extent[2], extent[1], extent[3]) for level in self._levels: geoms = GSHHSFeature._geometries_cache.get((scale, level)) if geoms is None: # Load GSHHS geometries from appropriate shape file. # TODO selective load based on bbox of each geom in file. path = shapereader.gshhs(scale, level) geoms = tuple(shapereader.Reader(path).geometries()) GSHHSFeature._geometries_cache[(scale, level)] = geoms for geom in geoms: if extent is None or extent_geom.intersects(geom): yield geom class WFSFeature(Feature): """ A class capable of drawing a collection of geometries obtained from an OGC Web Feature Service (WFS). This feature requires additional dependencies. If installed via pip, try ``pip install cartopy[ows]``. """ def __init__(self, wfs, features, **kwargs): """ Args: * wfs: string or :class:`owslib.wfs.WebFeatureService` instance The WebFeatureService instance, or URL of a WFS service, from which to retrieve the geometries. * features: string or list of strings The typename(s) of features available from the web service that will be retrieved. Somewhat analogous to layers in WMS/WMTS. Kwargs: Keyword arguments to be used when drawing this feature. """ try: from cartopy.io.ogc_clients import WFSGeometrySource except ImportError as e: six.raise_from(ImportError( 'WFSFeature requires additional dependencies. If installed ' 'via pip, try `pip install cartopy[ows]`.\n'), e) self.source = WFSGeometrySource(wfs, features) crs = self.source.default_projection() super(WFSFeature, self).__init__(crs, **kwargs) # Default kwargs self._kwargs.setdefault('edgecolor', 'black') self._kwargs.setdefault('facecolor', 'none') def geometries(self): min_x, min_y, max_x, max_y = self.crs.boundary.bounds geoms = self.source.fetch_geometries(self.crs, extent=(min_x, max_x, min_y, max_y)) return iter(geoms) def intersecting_geometries(self, extent): geoms = self.source.fetch_geometries(self.crs, extent) return iter(geoms) BORDERS = NaturalEarthFeature('cultural', 'admin_0_boundary_lines_land', '110m', edgecolor='black', facecolor='none') """Small scale (1:110m) country boundaries.""" COASTLINE = NaturalEarthFeature('physical', 'coastline', '110m', edgecolor='black', facecolor='none') """Small scale (1:110m) coastline, including major islands.""" LAKES = NaturalEarthFeature('physical', 'lakes', '110m', edgecolor='face', facecolor=COLORS['water']) """Small scale (1:110m) natural and artificial lakes.""" LAND = NaturalEarthFeature('physical', 'land', '110m', edgecolor='face', facecolor=COLORS['land']) """Small scale (1:110m) land polygons, including major islands.""" OCEAN = NaturalEarthFeature('physical', 'ocean', '110m', edgecolor='face', facecolor=COLORS['water']) """Small scale (1:110m) ocean polygons.""" RIVERS = NaturalEarthFeature('physical', 'rivers_lake_centerlines', '110m', edgecolor=COLORS['water'], facecolor='none') """Small scale (1:110m) single-line drainages, including lake centerlines.""" Cartopy-0.14.2/lib/cartopy/img_transform.py0000644001374000021030000003432612700747662020442 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ This module contains generic functionality to support Cartopy image transformations. """ from __future__ import (absolute_import, division, print_function) import numpy as np import scipy.spatial import cartopy.crs as ccrs def mesh_projection(projection, nx, ny, x_extents=[None, None], y_extents=[None, None]): """ Returns sample points in the given projection which span the entire projection range evenly. The range of the x-direction and y-direction sample points will be within the bounds of the projection or specified extents. Args: * projection: A :class:`~cartopy.crs.Projection` instance. * nx: The number of sample points in the projection x-direction. * ny: The number of sample points in the projection y-direction. Kwargs: * x_extents: The (lower, upper) x-direction extent of the projection. Defaults to the :attribute:`~cartopy.crs.Projection.x_limits`. * y_extents: The (lower, upper) y-direction extent of the projection. Defaults to the :attribute:`~cartopy.crs.Projection.y_limits`. Returns: A tuple of three items. The x-direction sample points :class:`numpy.ndarray` of shape (nx, ny), y-direction sample points :class:`numpy.ndarray` of shape (nx, ny), and the extent of the projection range as ``(x-lower, x-upper, y-lower, y-upper)``. """ # Establish the x-direction and y-direction extents. x_lower = x_extents[0] or projection.x_limits[0] x_upper = x_extents[1] or projection.x_limits[1] y_lower = y_extents[0] or projection.y_limits[0] y_upper = y_extents[1] or projection.y_limits[1] # Calculate evenly spaced sample points spanning the # extent - excluding endpoint. x, xstep = np.linspace(x_lower, x_upper, nx, retstep=True, endpoint=False) y, ystep = np.linspace(y_lower, y_upper, ny, retstep=True, endpoint=False) # Offset the sample points to be within the extent range. x += 0.5 * xstep y += 0.5 * ystep # Generate the x-direction and y-direction meshgrids. x, y = np.meshgrid(x, y) return x, y, [x_lower, x_upper, y_lower, y_upper] def warp_img(fname, target_proj, source_proj=None, target_res=(400, 200)): """ Regrid the image file from the source projection to the target projection. Args: * fname: Image filename to be loaded and warped. * target_proj: The target :class:`~cartopy.crs.Projection` instance for the image. Kwargs: * source_proj: The source :class:`~cartopy.crs.Projection` instance of the image. Defaults to a :class:`~cartopy.crs.PlateCarree` projection. * target_res: The (nx, ny) resolution of the target projection. Where nx defaults to 400 sample points, and ny defaults to 200 sample points. """ if source_proj is None: source_proj = ccrs.PlateCarree() raise NotImplementedError('Not yet implemented.') def warp_array(array, target_proj, source_proj=None, target_res=(400, 200), source_extent=None, target_extent=None, mask_extrapolated=False): """ Regrid the data array from the source projection to the target projection. Also see, :function:`~cartopy.img_transform.regrid`. Args: * array: The :class:`numpy.ndarray` of data to be regridded to the target projection. * target_proj: The target :class:`~cartopy.crs.Projection` instance for the data. Kwargs: * source_proj: The source :class:`~cartopy.crs.Projection' instance of the data. Defaults to a :class:`~cartopy.crs.PlateCarree` projection. * target_res: The (nx, ny) resolution of the target projection. Where nx defaults to 400 sample points, and ny defaults to 200 sample points. * source_extent: The (x-lower, x-upper, y-lower, y-upper) extent in native source projection coordinates. * target_extent: The (x-lower, x-upper, y-lower, y-upper) extent in native target projection coordinates. Kwargs: * mask_extrapolated: Assume that the source coordinate is rectilinear and so mask the resulting target grid values which lie outside the source grid domain. Returns: A tuple of the regridded :class:`numpy.ndarray` in the target projection and the (x-lower, x-upper, y-lower, y-upper) target projection extent. """ # source_extent is in source coordinates. if source_extent is None: source_extent = [None] * 4 # target_extent is in target coordinates. if target_extent is None: target_extent = [None] * 4 source_x_extents = source_extent[:2] source_y_extents = source_extent[2:] target_x_extents = target_extent[:2] target_y_extents = target_extent[2:] if source_proj is None: source_proj = ccrs.PlateCarree() ny, nx = array.shape[:2] source_native_xy = mesh_projection(source_proj, nx, ny, x_extents=source_x_extents, y_extents=source_y_extents) # XXX Take into account the extents of the original to determine # target_extents? target_native_x, target_native_y, extent = mesh_projection( target_proj, target_res[0], target_res[1], x_extents=target_x_extents, y_extents=target_y_extents) array = regrid(array, source_native_xy[0], source_native_xy[1], source_proj, target_proj, target_native_x, target_native_y, mask_extrapolated) return array, extent def _determine_bounds(x_coords, y_coords, source_cs): # Returns bounds corresponding to one or two rectangles depending on # transformation between ranges. bounds = dict(x=[]) half_px = abs(np.diff(x_coords[:2])).max() / 2. if (((hasattr(source_cs, 'is_geodetic') and source_cs.is_geodetic()) or isinstance(source_cs, ccrs.PlateCarree)) and x_coords.max() > 180): if x_coords.min() < 180: bounds['x'].append([x_coords.min() - half_px, 180]) bounds['x'].append([-180, x_coords.max() - 360 + half_px]) else: bounds['x'].append([x_coords.min() - 180 - half_px, x_coords.max() - 180 + half_px]) else: bounds['x'].append([x_coords.min() - half_px, x_coords.max() + half_px]) bounds['y'] = [y_coords.min(), y_coords.max()] return bounds def regrid(array, source_x_coords, source_y_coords, source_cs, target_proj, target_x_points, target_y_points, mask_extrapolated=False): """ Regrid the data array from the source projection to the target projection. Args: * array: The :class:`numpy.ndarray` of data to be regridded to the target projection. * source_x_coords: A 2-dimensional source projection :class:`numpy.ndarray` of x-direction sample points. * source_y_coords: A 2-dimensional source projection :class:`numpy.ndarray` of y-direction sample points. * source_cs: The source :class:`~cartopy.crs.Projection` instance. * target_cs: The target :class:`~cartopy.crs.Projection` instance. * target_x_points: A 2-dimensional target projection :class:`numpy.ndarray` of x-direction sample points. * target_y_points: A 2-dimensional target projection :class:`numpy.ndarray` of y-direction sample points. Kwargs: * mask_extrapolated: Assume that the source coordinate is rectilinear and so mask the resulting target grid values which lie outside the source grid domain. Returns: The data array regridded in the target projection. """ # n.b. source_cs is actually a projection (the coord system of the # source coordinates), but not necessarily the native projection of # the source array (i.e. you can provide a warped image with lat lon # coordinates). # XXX NB. target_x and target_y must currently be rectangular (i.e. # be a 2d np array) geo_cent = source_cs.as_geocentric() xyz = geo_cent.transform_points(source_cs, source_x_coords.flatten(), source_y_coords.flatten()) target_xyz = geo_cent.transform_points(target_proj, target_x_points.flatten(), target_y_points.flatten()) kdtree = scipy.spatial.cKDTree(xyz) distances, indices = kdtree.query(target_xyz, k=1) mask = np.isinf(distances) desired_ny, desired_nx = target_x_points.shape if array.ndim == 1: if np.any(mask): array_1d = np.ma.array(array[indices], mask=mask) else: array_1d = array[indices] new_array = array_1d.reshape(desired_ny, desired_nx) elif array.ndim == 2: # Handle missing neighbours using a masked array if np.any(mask): indices = np.where(np.logical_not(mask), indices, 0) array_1d = np.ma.array(array.reshape(-1)[indices], mask=mask) else: array_1d = array.reshape(-1)[indices] new_array = array_1d.reshape(desired_ny, desired_nx) elif array.ndim == 3: # Handle missing neighbours using a masked array if np.any(mask): indices = np.where(np.logical_not(mask), indices, 0) array_2d = array.reshape(-1, array.shape[-1])[indices] mask, array_2d = np.broadcast_arrays( mask.reshape(-1, 1), array_2d) array_2d = np.ma.array(array_2d, mask=mask) else: array_2d = array.reshape(-1, array.shape[-1])[indices] new_array = array_2d.reshape(desired_ny, desired_nx, array.shape[-1]) else: raise ValueError( 'Expected array.ndim to be 1, 2 or 3, got {}'.format(array.ndim)) # Do double transform to clip points that do not map back and forth # to the same point to within a fixed fractional offset. # XXX THIS ONLY NEEDS TO BE DONE FOR (PSEUDO-)CYLINDRICAL PROJECTIONS # (OR ANY OTHERS WHICH HAVE THE CONCEPT OF WRAPPING) source_desired_xyz = source_cs.transform_points(target_proj, target_x_points.flatten(), target_y_points.flatten()) back_to_target_xyz = target_proj.transform_points(source_cs, source_desired_xyz[:, 0], source_desired_xyz[:, 1]) back_to_target_x = back_to_target_xyz[:, 0].reshape(desired_ny, desired_nx) back_to_target_y = back_to_target_xyz[:, 1].reshape(desired_ny, desired_nx) FRACTIONAL_OFFSET_THRESHOLD = 0.1 # data has moved by 10% of the map x_extent = np.abs(target_proj.x_limits[1] - target_proj.x_limits[0]) y_extent = np.abs(target_proj.y_limits[1] - target_proj.y_limits[0]) non_self_inverse_points = (np.abs(target_x_points - back_to_target_x) / x_extent) > FRACTIONAL_OFFSET_THRESHOLD if np.any(non_self_inverse_points): if np.ma.isMaskedArray(new_array): new_array[non_self_inverse_points] = np.ma.masked else: new_array = np.ma.array(new_array, mask=False) if new_array.ndim == 3: for i in range(new_array.shape[2]): new_array[non_self_inverse_points, i] = np.ma.masked else: new_array[non_self_inverse_points] = np.ma.masked non_self_inverse_points = (np.abs(target_y_points - back_to_target_y) / y_extent) > FRACTIONAL_OFFSET_THRESHOLD if np.any(non_self_inverse_points): if np.ma.isMaskedArray(new_array): new_array[non_self_inverse_points] = np.ma.masked else: new_array = np.ma.array(new_array, mask=non_self_inverse_points) # Transform the target points to the source projection and mask any points # that fall outside the original source domain. if mask_extrapolated: target_in_source_xyz = source_cs.transform_points( target_proj, target_x_points, target_y_points) target_in_source_x = target_in_source_xyz[..., 0] target_in_source_y = target_in_source_xyz[..., 1] bounds = _determine_bounds(source_x_coords, source_y_coords, source_cs) outside_source_domain = ((target_in_source_y >= bounds['y'][1]) | (target_in_source_y <= bounds['y'][0])) tmp_inside = np.zeros_like(outside_source_domain) for bound_x in bounds['x']: tmp_inside = tmp_inside | ((target_in_source_x <= bound_x[1]) & (target_in_source_x >= bound_x[0])) outside_source_domain = outside_source_domain | ~tmp_inside if np.ma.isMaskedArray(new_array): if np.any(outside_source_domain): new_array[outside_source_domain] = np.ma.masked else: new_array = np.ma.array(new_array, mask=False) if new_array.ndim == 3: for i in range(new_array.shape[2]): new_array[outside_source_domain, i] = np.ma.masked else: new_array[outside_source_domain] = np.ma.masked return new_array Cartopy-0.14.2/lib/cartopy/trace.pyx0000644001374000021030000001035412700747662017054 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ This module pulls together _trace.cpp, proj.4, GEOS and _crs.pyx to implement a function to project a LinearRing/LineString. In general, this should never be called manually, instead leaving the processing to be done by the :class:`cartopy.crs.Projection` subclasses. """ from libc.stdint cimport uintptr_t as ptr cdef extern from "geos_c.h": ctypedef void *GEOSContextHandle_t ctypedef struct GEOSGeometry: pass from cartopy._crs cimport CRS import shapely.geometry as sgeom from shapely.geos import lgeos cdef extern from "proj_api.h": ctypedef void *projPJ cdef extern from "_trace.h": cdef cppclass Interpolator: pass cdef cppclass SphericalInterpolator: SphericalInterpolator(projPJ src_proj, projPJ dest_proj) cdef cppclass CartesianInterpolator: CartesianInterpolator(projPJ src_proj, projPJ dest_proj) # XXX Rename? It handles LinearRings too. GEOSGeometry *_project_line_string(GEOSContextHandle_t handle, GEOSGeometry *g_line_string, Interpolator *interpolator, GEOSGeometry *g_domain, double threshold) cdef GEOSContextHandle_t get_geos_context_handle(): cdef ptr handle = lgeos.geos_handle return handle cdef GEOSGeometry *geos_from_shapely(shapely_geom) except *: """Get the GEOS pointer from the given shapely geometry.""" cdef ptr geos_geom = shapely_geom._geom return geos_geom cdef shapely_from_geos(GEOSGeometry *geom): """Turn the given GEOS geometry pointer into a shapely geometry.""" # This is the "correct" way to do it... # return geom_factory(geom) # ... but it's quite slow, so we do it by hand. multi_line_string = sgeom.base.BaseGeometry() multi_line_string.__class__ = sgeom.MultiLineString multi_line_string.__geom__ = geom multi_line_string.__parent__ = None multi_line_string._ndim = 2 return multi_line_string def project_linear(geometry not None, CRS src_crs not None, dest_projection not None): """ Returns the MultiLineString which results from projecting the given geometry from the source projection into the destination projection. Args: * line_string: A shapely LineString or LinearRing to be projected. * src_crs: The cartopy.crs.CRS defining the coordinate system of the line to be projected. * dest_projection: The cartopy.crs.Projection defining the projection for the resulting projected line. """ cdef: double threshold = dest_projection.threshold GEOSContextHandle_t handle = get_geos_context_handle() GEOSGeometry *g_linear = geos_from_shapely(geometry) Interpolator *interpolator GEOSGeometry *g_domain GEOSGeometry *g_multi_line_string g_domain = geos_from_shapely(dest_projection.domain) if src_crs.is_geodetic(): interpolator = new SphericalInterpolator( src_crs.proj4, (dest_projection).proj4) else: interpolator = new CartesianInterpolator( src_crs.proj4, (dest_projection).proj4) g_multi_line_string = _project_line_string(handle, g_linear, interpolator, g_domain, threshold) del interpolator multi_line_string = shapely_from_geos(g_multi_line_string) return multi_line_string Cartopy-0.14.2/lib/cartopy/util.py0000644001374000021030000000726412700747662016551 0ustar itpeavd00000000000000# (C) British Crown Copyright 2014 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ This module contains utilities that are useful in conjunction with cartopy. """ from __future__ import (absolute_import, division, print_function) import numpy as np import numpy.ma as ma def add_cyclic_point(data, coord=None, axis=-1): """ Add a cyclic point to an array and optionally a corresponding coordinate. Args: * data: An n-dimensional array of data to add a cyclic point to. Kwargs: * coord: A 1-dimensional array which specifies the coordinate values for the dimension the cyclic point is to be added to. The coordinate values must be regularly spaced. * axis: Specifies the axis of the data array to add the cyclic point to. Defaults to the right-most axis. Returns: * cyclic_data: The data array with a cyclic point added. * cyclic_coord: The coordinate with a cyclic point, only returned if the coord keyword was supplied. Examples: Adding a cyclic point to a data array, where the cyclic dimension is the right-most dimension >>> import numpy as np >>> data = np.ones([5, 6]) * np.arange(6) >>> cyclic_data = add_cyclic_point(data) >>> print(cyclic_data) [[ 0. 1. 2. 3. 4. 5. 0.] [ 0. 1. 2. 3. 4. 5. 0.] [ 0. 1. 2. 3. 4. 5. 0.] [ 0. 1. 2. 3. 4. 5. 0.] [ 0. 1. 2. 3. 4. 5. 0.]] Adding a cyclic point to a data array and an associated coordinate >>> lons = np.arange(0, 360, 60) >>> cyclic_data, cyclic_lons = add_cyclic_point(data, coord=lons) >>> print(cyclic_data) [[ 0. 1. 2. 3. 4. 5. 0.] [ 0. 1. 2. 3. 4. 5. 0.] [ 0. 1. 2. 3. 4. 5. 0.] [ 0. 1. 2. 3. 4. 5. 0.] [ 0. 1. 2. 3. 4. 5. 0.]] >>> print(cyclic_lons) [ 0 60 120 180 240 300 360] """ if coord is not None: if coord.ndim != 1: raise ValueError('The coordinate must be 1-dimensional.') if len(coord) != data.shape[axis]: raise ValueError('The length of the coordinate does not match ' 'the size of the corresponding dimension of ' 'the data array: len(coord) = {}, ' 'data.shape[{}] = {}.'.format( len(coord), axis, data.shape[axis])) delta_coord = np.diff(coord) if not np.allclose(delta_coord, delta_coord[0]): raise ValueError('The coordinate must be equally spaced.') new_coord = ma.concatenate((coord, coord[-1:] + delta_coord[0])) slicer = [slice(None)] * data.ndim try: slicer[axis] = slice(0, 1) except IndexError: raise ValueError('The specified axis does not correspond to an ' 'array dimension.') new_data = ma.concatenate((data, data[slicer]), axis=axis) if coord is None: return_value = new_data else: return_value = new_data, new_coord return return_value Cartopy-0.14.2/lib/cartopy/vector_transform.py0000644001374000021030000001150012700747662021155 0ustar itpeavd00000000000000# (C) British Crown Copyright 2013 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . """ This module contains generic functionality to support Cartopy vector transforms. """ from __future__ import (absolute_import, division, print_function) import numpy as np from scipy.interpolate import griddata def _interpolate_to_grid(nx, ny, x, y, *scalars, **kwargs): """ Interpolates two vector components and zero or more scalar fields, which can be irregular, to a regular grid. Kwargs: * target_extent: The extent in the target CRS that the grid should occupy, in the form ``(x-lower, x-upper, y-lower, y-upper)``. Defaults to cover the full extent of the vector field. """ target_extent = kwargs.get('target_extent', None) if target_extent is None: target_extent = (x.min(), x.max(), y.min(), y.max()) points = np.array([x.ravel(), y.ravel()]).T x0, x1, y0, y1 = target_extent x_grid, y_grid = np.meshgrid(np.linspace(x0, x1, nx), np.linspace(y0, y1, ny)) s_grid_tuple = tuple() for s in scalars: s_grid_tuple += (griddata(points, s.ravel(), (x_grid, y_grid), method='linear'),) return (x_grid, y_grid) + s_grid_tuple def vector_scalar_to_grid(src_crs, target_proj, regrid_shape, x, y, u, v, *scalars, **kwargs): """ Transform and interpolate a vector field to a regular grid in the target projection. Args: * src_crs: The :class:`~cartopy.crs.CRS` that represents the coordinate system the vectors are defined in. * target_proj: The :class:`~cartopy.crs.Projection` that represents the projection the vectors are to be transformed to. * regrid_shape: The regular grid dimensions. If a single integer then the grid will have that number of points in the x and y directions. A 2-tuple of integers specify the size of the regular grid in the x and y directions respectively. * x, y: The x and y coordinates, in the source CRS coordinates, where the vector components are located. * u, v: The grid eastward and grid northward components of the vector field respectively. Their shapes must match. * scalars: Zero or more scalar fields to regrid along with the vector components. Each scalar field must have the same shape as the vector components. Kwargs: * target_extent: The extent in the target CRS that the grid should occupy, in the form ``(x-lower, x-upper, y-lower, y-upper)``. Defaults to cover the full extent of the vector field. Returns: * x_grid, y_grid: The x and y coordinates of the regular grid points as 2-dimensional arrays. * u_grid, v_grid: The eastward and northward components of the vector field on the regular grid. * scalars_grid: The scalar fields on the regular grid. The number of returned scalar fields is the same as the number that were passed in. """ if u.shape != v.shape: raise ValueError('u and v must be the same shape') if x.shape != u.shape: x, y = np.meshgrid(x, y) if not (x.shape == y.shape == u.shape): raise ValueError('x and y coordinates are not compatible ' 'with the shape of the vector components') if scalars: for s in scalars: if s.shape != u.shape: raise ValueError('scalar fields must have the same ' 'shape as the vector components') try: nx, ny = regrid_shape except TypeError: nx = ny = regrid_shape if target_proj != src_crs: # Transform the vectors to the target CRS. u, v = target_proj.transform_vectors(src_crs, x, y, u, v) # Convert Coordinates to the target CRS. proj_xyz = target_proj.transform_points(src_crs, x, y) x, y = proj_xyz[..., 0], proj_xyz[..., 1] # Now interpolate to a regular grid in projection space, treating each # component as a scalar field. return _interpolate_to_grid(nx, ny, x, y, u, v, *scalars, **kwargs) Cartopy-0.14.2/requirements/0000755001374000021030000000000012706121712015471 5ustar itpeavd00000000000000Cartopy-0.14.2/requirements/default.txt0000644001374000021030000000010412700747662017665 0ustar itpeavd00000000000000numpy>=1.6 shapely>=1.5.6 pyshp>=1.1.4 six>=1.3.0 setuptools>=0.7.2 Cartopy-0.14.2/requirements/epsg.txt0000644001374000021030000000001612520135745017172 0ustar itpeavd00000000000000pyepsg>=0.2.0 Cartopy-0.14.2/requirements/ows.txt0000644001374000021030000000003412700747470017050 0ustar itpeavd00000000000000OWSLib>=0.8.7 pillow>=1.7.8 Cartopy-0.14.2/requirements/plotting.txt0000644001374000021030000000007112520135745020075 0ustar itpeavd00000000000000matplotlib>=1.3.0 GDAL>=1.10.0 pillow>=1.7.8 scipy>=0.10 Cartopy-0.14.2/requirements/tests.txt0000644001374000021030000000004412520135745017377 0ustar itpeavd00000000000000mock>=1.0.1 nose>=1.2.1 pep8>=1.3.3 Cartopy-0.14.2/CHANGES0000644001374000021030000000006612520135743013746 0ustar itpeavd00000000000000Please see docs/source/whats_new.rst for a changelog. Cartopy-0.14.2/CONTRIBUTING.md0000644001374000021030000000243412700747662015216 0ustar itpeavd00000000000000How to contribute ================= Cartopy is driven by a community of people all passionate about seeing cartopy flourish as a world class mapping package for Python. This page lists the guidelines for contributors which will help ease the process of getting your hard work accepted back into the cartopy repository. Getting started --------------- 1. If you've not already got one, sign up for a [GitHub account](https://github.com/signup/free). 1. Fork the Cartopy repository, create your new fix/feature branch, and start committing code. We broadly follow the [gitwash guidelines](https://matthew-brett.github.io/pydagogue/gitwash/git_development.html). 1. Remember to add appropriate documentation and tests to supplement any new or changed functionality. 1. If you're not already on it (and would like to be), please add yourself to the contributors list (docs/source/contributors.rst) Submitting changes ------------------ 1. Read and sign the Contributor Licence Agreement (CLA) if you have not already done so. - See the [governance page](http://scitools.org.uk/governance.html) for the CLA and what to do with it. 1. Push your branch to your fork of cartopy. 1. Submit your pull request. 1. Sit back and wait for the core Cartopy development team to review your code. Cartopy-0.14.2/COPYING0000644001374000021030000010451312520135743014010 0ustar itpeavd00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . Cartopy-0.14.2/COPYING.LESSER0000644001374000021030000001674312520135743015013 0ustar itpeavd00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. This version of the GNU Lesser General Public License incorporates the terms and conditions of version 3 of the GNU General Public License, supplemented by the additional permissions listed below. 0. Additional Definitions. As used herein, "this License" refers to version 3 of the GNU Lesser General Public License, and the "GNU GPL" refers to version 3 of the GNU General Public License. "The Library" refers to a covered work governed by this License, other than an Application or a Combined Work as defined below. An "Application" is any work that makes use of an interface provided by the Library, but which is not otherwise based on the Library. Defining a subclass of a class defined by the Library is deemed a mode of using an interface provided by the Library. A "Combined Work" is a work produced by combining or linking an Application with the Library. The particular version of the Library with which the Combined Work was made is also called the "Linked Version". The "Minimal Corresponding Source" for a Combined Work means the Corresponding Source for the Combined Work, excluding any source code for portions of the Combined Work that, considered in isolation, are based on the Application, and not on the Linked Version. The "Corresponding Application Code" for a Combined Work means the object code and/or source code for the Application, including any data and utility programs needed for reproducing the Combined Work from the Application, but excluding the System Libraries of the Combined Work. 1. Exception to Section 3 of the GNU GPL. You may convey a covered work under sections 3 and 4 of this License without being bound by section 3 of the GNU GPL. 2. Conveying Modified Versions. If you modify a copy of the Library, and, in your modifications, a facility refers to a function or data to be supplied by an Application that uses the facility (other than as an argument passed when the facility is invoked), then you may convey a copy of the modified version: a) under this License, provided that you make a good faith effort to ensure that, in the event an Application does not supply the function or data, the facility still operates, and performs whatever part of its purpose remains meaningful, or b) under the GNU GPL, with none of the additional permissions of this License applicable to that copy. 3. Object Code Incorporating Material from Library Header Files. The object code form of an Application may incorporate material from a header file that is part of the Library. You may convey such object code under terms of your choice, provided that, if the incorporated material is not limited to numerical parameters, data structure layouts and accessors, or small macros, inline functions and templates (ten or fewer lines in length), you do both of the following: a) Give prominent notice with each copy of the object code that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the object code with a copy of the GNU GPL and this license document. 4. Combined Works. You may convey a Combined Work under terms of your choice that, taken together, effectively do not restrict modification of the portions of the Library contained in the Combined Work and reverse engineering for debugging such modifications, if you also do each of the following: a) Give prominent notice with each copy of the Combined Work that the Library is used in it and that the Library and its use are covered by this License. b) Accompany the Combined Work with a copy of the GNU GPL and this license document. c) For a Combined Work that displays copyright notices during execution, include the copyright notice for the Library among these notices, as well as a reference directing the user to the copies of the GNU GPL and this license document. d) Do one of the following: 0) Convey the Minimal Corresponding Source under the terms of this License, and the Corresponding Application Code in a form suitable for, and under terms that permit, the user to recombine or relink the Application with a modified version of the Linked Version to produce a modified Combined Work, in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source. 1) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (a) uses at run time a copy of the Library already present on the user's computer system, and (b) will operate properly with a modified version of the Library that is interface-compatible with the Linked Version. e) Provide Installation Information, but only if you would otherwise be required to provide such information under section 6 of the GNU GPL, and only to the extent that such information is necessary to install and execute a modified version of the Combined Work produced by recombining or relinking the Application with a modified version of the Linked Version. (If you use option 4d0, the Installation Information must accompany the Minimal Corresponding Source and Corresponding Application Code. If you use option 4d1, you must provide the Installation Information in the manner specified by section 6 of the GNU GPL for conveying Corresponding Source.) 5. Combined Libraries. You may place library facilities that are a work based on the Library side by side in a single library together with other library facilities that are not Applications and are not covered by this License, and convey such a combined library under terms of your choice, if you do both of the following: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities, conveyed under the terms of this License. b) Give prominent notice with the combined library that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 6. Revised Versions of the GNU Lesser General Public License. The Free Software Foundation may publish revised and/or new versions of the GNU Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library as you received it specifies that a certain numbered version of the GNU Lesser General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that published version or of any later version published by the Free Software Foundation. If the Library as you received it does not specify a version number of the GNU Lesser General Public License, you may choose any version of the GNU Lesser General Public License ever published by the Free Software Foundation. If the Library as you received it specifies that a proxy can decide whether future versions of the GNU Lesser General Public License shall apply, that proxy's public statement of acceptance of any version is permanent authorization for you to choose that version for the Library. Cartopy-0.14.2/INSTALL0000644001374000021030000001001612700747662014011 0ustar itpeavd00000000000000Installing Cartopy ================== Pre-built binaries ------------------ The easiest route to installing cartopy is through `Conda `_. For all platforms installing cartopy can be done with:: conda install -c scitools cartopy Additional options include: * `Enthought Canopy `_. * `Christoph Gohlke `_ maintains unofficial Windows binaries of cartopy. * `OSGeo Live `_. Building from source -------------------- The latest release of Cartopy is available from https://github.com/SciTools/Cartopy. Once you have satisfied the requirements detailed below, simply run:: python setup.py install For non-standard locations, additional build lib & include paths can be provided as per-usual at build_ext phase:: python setup.py build_ext --inplace -I/path/to/include -L/path/to/lib python setup.py install Requirements ~~~~~~~~~~~~ These external packages are required to install Cartopy or gain access to significant Cartopy functionality. Many of these packages are available in Linux package managers such as aptitude and yum. For example, it may be possible to install Numpy using:: apt-get install python-numpy If you are installing dependencies with a package manager on Linux, you may need to install the development packages (look for a "-dev" suffix) in addition to the core packages. Many of these dependencies are built as part of Cartopy's conda distribution. The recipes for these can be found at https://github.com/SciTools/conda-recipes-scitools. **python** 2.7 or later (https://www.python.org/) Cartopy requires Python 2.7 or later. **Cython** 0.15.1 or later (https://pypi.python.org/pypi/Cython/) **numpy** 1.6 or later (http://www.numpy.org/) Python package for scientific computing including a powerful N-dimensional array object. **GEOS** 3.3.3 or later (https://trac.osgeo.org/geos/) GEOS is an API of spatial predicates and functions for processing geometry written in C++. **shapely** 1.5.6 or later (https://github.com/Toblerity/Shapely) Python package for the manipulation and analysis of planar geometric objects. **pyshp** 1.1.4 or later (https://pypi.python.org/pypi/pyshp) Pure Python read/write support for ESRI Shapefile format. **PROJ.4** 4.9.0 or later (https://trac.osgeo.org/proj/) Cartographic Projections library. **six** 1.3.0 or later (https://pypi.python.org/pypi/six) Python 2 and 3 compatibility. Optional Dependencies ~~~~~~~~~~~~~~~~~~~~~ These are optional packages which you may want to install to enable additional Cartopy functionality. **matplotlib** 1.3.0 or later (http://matplotlib.org/) Python package for 2D plotting. This package is required for any graphical capability. **GDAL** version 1.10.0 (http://www.gdal.org/) GDAL is a translator library for raster and vector geospatial data formats, which has powerful data transformation and processing capabilities. **Pillow** 1.7.8 or later (https://pypi.python.org/pypi/Pillow/2.3.0) Popular fork of PythonImagingLibrary. **pyepsg** 0.2.0 or later (https://github.com/rhattersley/pyepsg) A simple Python interface to https://epsg.io **scipy** 0.10 or later (https://www.scipy.org/) Python package for scientific computing. **OWSLib** 0.8.7 (https://pypi.python.org/pypi/OWSLib) Python package for client programming with Open Geospatial Consortium (OGC) web service. Gives access to cartopy ogc clients. Testing Dependencies ~~~~~~~~~~~~~~~~~~~~ These packages are required for the full Cartopy test suite to run. **mock** 1.0.1 (https://pypi.python.org/pypi/mock/) Python mocking and patching package for testing. Note that this package is only required to support the Cartopy unit tests. **nose** 1.2.1 or later (https://nose.readthedocs.org/en/latest/) Python package for software testing. **pep8** 1.3.3 or later (https://pypi.python.org/pypi/pep8) Python package for software testing. Cartopy-0.14.2/MANIFEST.in0000644001374000021030000000035012700747662014516 0ustar itpeavd00000000000000include *.md include CHANGES include COPYING* include INSTALL include README.rst include requirements/*.txt include lib/cartopy/data/* include lib/cartopy/io/srtm.npz recursive-include lib *.py recursive-include lib *.pyx *.pxd *.h Cartopy-0.14.2/README.md0000644001374000021030000000112712520135743014231 0ustar itpeavd00000000000000![Cartopy logo](http://scitools.org.uk/cartopy/docs/latest/_static/cartopy.png) Cartopy ------- Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy. It features: * object oriented projection definitions * point, line, polygon and image transformations between projections * integration to expose advanced mapping in matplotlib with a simple and intuitive interface * powerful vector data handling by integrating shapefile reading with Shapely capabilities Licence ------- Cartopy is licenced under GNU Lesser General Public License (LGPLv3). Cartopy-0.14.2/README.rst0000644001374000021030000000133512520135743014442 0ustar itpeavd00000000000000 ======= Cartopy ======= .. image:: http://scitools.org.uk/cartopy/docs/latest/_static/cartopy.png Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy. It features: * object oriented projection definitions * point, line, polygon and image transformations between projections * integration to expose advanced mapping in matplotlib with a simple and intuitive interface * powerful vector data handling by integrating shapefile reading with Shapely capabilities Documentation can be found at http://scitools.org.uk/cartopy/docs/latest/. ---- Code ---- Cartopy is licenced under GNU Lesser General Public License (LGPLv3). Development occurs at https://github.com/SciTools/cartopy. Cartopy-0.14.2/setup.py0000644001374000021030000003552612706121703014473 0ustar itpeavd00000000000000# (C) British Crown Copyright 2011 - 2016, Met Office # # This file is part of cartopy. # # cartopy is free software: you can redistribute it and/or modify it under # the terms of the GNU Lesser General Public License as published by the # Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # cartopy is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser General Public License # along with cartopy. If not, see . from __future__ import print_function """ Distribution definition for Cartopy. """ import setuptools from setuptools import setup, Extension from setuptools import Command from setuptools import convert_path from distutils.spawn import find_executable from distutils.sysconfig import get_config_var import fnmatch import os import subprocess import sys import warnings # Ensure build-time dependencies are available. # See https://stackoverflow.com/a/12061891 setuptools.dist.Distribution( dict( setup_requires=['Cython>=0.15.1', 'numpy>=1.6'])) try: from Cython.Distutils import build_ext except ImportError: raise ImportError('Cython 0.15.1+ is required to install cartopy.') try: import numpy as np except ImportError: raise ImportError('NumPy 1.6+ is required to install cartopy.') PY3 = (sys.version_info[0] == 3) # Please keep in sync with INSTALL file. GEOS_MIN_VERSION = (3, 3, 3) PROJ_MIN_VERSION = (4, 9, 0) HERE = os.path.dirname(__file__) def file_walk_relative(top, remove=''): """ Returns a generator of files from the top of the tree, removing the given prefix from the root/file result. """ top = top.replace('/', os.path.sep) remove = remove.replace('/', os.path.sep) for root, dirs, files in os.walk(top): for file in files: yield os.path.join(root, file).replace(remove, '') def find_package_tree(root_path, root_package): """ Returns the package and all its sub-packages. Automated package discovery - extracted/modified from Distutils Cookbook: https://wiki.python.org/moin/Distutils/Cookbook/AutoPackageDiscovery """ packages = [root_package] # Accept a root_path with Linux path separators. root_path = root_path.replace('/', os.path.sep) root_count = len(root_path.split(os.path.sep)) for (dir_path, dir_names, _) in os.walk(convert_path(root_path)): # Prune dir_names *in-place* to prevent unwanted directory recursion for dir_name in list(dir_names): if not os.path.isfile(os.path.join(dir_path, dir_name, '__init__.py')): dir_names.remove(dir_name) if dir_names: prefix = dir_path.split(os.path.sep)[root_count:] packages.extend(['.'.join([root_package] + prefix + [dir_name]) for dir_name in dir_names]) return packages class MissingHeaderError(Exception): """ Raised when one or more files do not have the required copyright and licence header. """ pass class HeaderCheck(Command): """ Checks that all the necessary files have the copyright and licence header. """ description = "check for copyright/licence headers" user_options = [] exclude_patterns = ('./setup.py', './build/*', './docs/build/*', './dist/*', './lib/cartopy/examples/*.py') def initialize_options(self): pass def finalize_options(self): pass def run(self): check_paths = [] for root, dirs, files in os.walk('.'): for file in files: if file.endswith('.py') or file.endswith('.c'): path = os.path.join(root, file) check_paths.append(path) for pattern in self.exclude_patterns: exclude = lambda path: not fnmatch.fnmatch(path, pattern) check_paths = list(filter(exclude, check_paths)) bad_paths = list(filter(self._header_bad, check_paths)) if bad_paths: raise MissingHeaderError(bad_paths) def _header_bad(self, path): target = '(C) British Crown Copyright 2011 - 2012, Met Office' with open(path, 'rt') as text_file: # Check for the header on the first line. line = text_file.readline().rstrip() bad = target not in line # Check if it was an executable script, with the header # starting on the second line. if bad and line == '#!/usr/bin/env python': line = text_file.readline().rstrip() bad = target not in line return bad # Dependency checks # ================= # GEOS try: geos_version = subprocess.check_output(['geos-config', '--version']) geos_version = tuple(int(v) for v in geos_version.split(b'.')) geos_includes = subprocess.check_output(['geos-config', '--includes']) geos_clibs = subprocess.check_output(['geos-config', '--clibs']) except (OSError, ValueError, subprocess.CalledProcessError): warnings.warn( 'Unable to determine GEOS version. Ensure you have %s or later ' 'installed, or installation may fail.' % ( '.'.join(str(v) for v in GEOS_MIN_VERSION), )) geos_includes = [] geos_library_dirs = [] if sys.platform.startswith('win'): geos_libraries = ['geos'] else: geos_libraries = ['geos_c'] else: if geos_version < GEOS_MIN_VERSION: print('GEOS version %s is installed, but cartopy requires at least ' 'version %s.' % ('.'.join(str(v) for v in geos_version), '.'.join(str(v) for v in GEOS_MIN_VERSION)), file=sys.stderr) exit(1) if PY3: geos_includes = geos_includes.decode() geos_clibs = geos_clibs.decode() geos_includes = geos_includes.split() geos_libraries = [] geos_library_dirs = [] for entry in geos_clibs.split(): if entry.startswith('-L'): geos_library_dirs.append(entry[2:]) elif entry.startswith('-l'): geos_libraries.append(entry[2:]) # Proj4 def find_proj_version_by_program(conda=None): proj = find_executable('proj') if proj is None: print( 'Proj4 %s must be installed.' % ( '.'.join(str(v) for v in PROJ_MIN_VERSION), ), file=sys.stderr) exit(1) if conda is not None and conda not in proj: print( 'Proj4 %s must be installed in Conda environment "%s".' % ( '.'.join(str(v) for v in PROJ_MIN_VERSION), conda), file=sys.stderr) exit(1) try: proj_version = subprocess.check_output([proj], stderr=subprocess.STDOUT) proj_version = proj_version.split()[1].split(b'.') proj_version = tuple(int(v.strip(b',')) for v in proj_version) except (OSError, IndexError, ValueError, subprocess.CalledProcessError): warnings.warn( 'Unable to determine Proj4 version. Ensure you have %s or later ' 'installed, or installation may fail.' % ( '.'.join(str(v) for v in PROJ_MIN_VERSION), )) proj_version = (0, 0, 0) return proj_version conda = os.getenv('CONDA_DEFAULT_ENV') if conda is not None and conda in sys.prefix: # Conda does not provide pkg-config compatibility, but the search paths # should be set up so that nothing extra is required. We'll still check # the version, though. proj_version = find_proj_version_by_program(conda) if proj_version < PROJ_MIN_VERSION: print( 'Proj4 version %s is installed, but cartopy requires at least ' 'version %s.' % ('.'.join(str(v) for v in proj_version), '.'.join(str(v) for v in PROJ_MIN_VERSION)), file=sys.stderr) exit(1) proj_includes = [] proj_libraries = ['proj'] proj_library_dirs = [] else: try: proj_version = subprocess.check_output(['pkg-config', '--modversion', 'proj'], stderr=subprocess.STDOUT) proj_version = tuple(int(v) for v in proj_version.split(b'.')) proj_includes = subprocess.check_output(['pkg-config', '--cflags', 'proj']) proj_clibs = subprocess.check_output(['pkg-config', '--libs', 'proj']) except (OSError, ValueError, subprocess.CalledProcessError): proj_version = find_proj_version_by_program() if proj_version < PROJ_MIN_VERSION: print( 'Proj4 version %s is installed, but cartopy requires at least ' 'version %s.' % ('.'.join(str(v) for v in proj_version), '.'.join(str(v) for v in PROJ_MIN_VERSION)), file=sys.stderr) exit(1) proj_includes = [] proj_libraries = ['proj'] proj_library_dirs = [] else: if proj_version < PROJ_MIN_VERSION: print( 'Proj4 version %s is installed, but cartopy requires at least ' 'version %s.' % ('.'.join(str(v) for v in proj_version), '.'.join(str(v) for v in PROJ_MIN_VERSION)), file=sys.stderr) exit(1) if PY3: proj_includes = proj_includes.decode() proj_clibs = proj_clibs.decode() proj_includes = [proj_include[2:] if proj_include.startswith('-I') else proj_include for proj_include in proj_includes.split()] proj_libraries = [] proj_library_dirs = [] for entry in proj_clibs.split(): if entry.startswith('-L'): proj_library_dirs.append(entry[2:]) elif entry.startswith('-l'): proj_libraries.append(entry[2:]) # Python dependencies extras_require = {} for name in os.listdir(os.path.join(HERE, 'requirements')): with open(os.path.join(HERE, 'requirements', name), 'r') as fh: section, ext = os.path.splitext(name) extras_require[section] = [] for line in fh: if line.startswith('#'): pass elif line.startswith('-'): pass else: extras_require[section].append(line.strip()) install_requires = extras_require.pop('default') tests_require = extras_require.pop('tests', []) # General extension paths if sys.platform.startswith('win'): def get_config_var(name): return '.' include_dir = get_config_var('INCLUDEDIR') library_dir = get_config_var('LIBDIR') if sys.platform.startswith('win'): extra_extension_args = {} else: extra_extension_args = dict( runtime_library_dirs=[get_config_var('LIBDIR')]) # Description # =========== with open(os.path.join(HERE, 'README.rst'), 'r') as fh: description = ''.join(fh.readlines()) # Main setup # ========== setup( name='Cartopy', version='0.14.2', url='http://scitools.org.uk/cartopy/docs/latest/', download_url='https://github.com/SciTools/cartopy', author='UK Met Office', description='A cartographic python library with matplotlib support for visualisation', long_description=description, license = "LGPLv3", keywords = "cartography map transform projection proj.4 geos shapely shapefile", install_requires=install_requires, extras_require=extras_require, tests_require=tests_require, packages=find_package_tree('lib/cartopy', 'cartopy'), package_dir={'': 'lib'}, package_data={'cartopy': list(file_walk_relative('lib/cartopy/tests/mpl/baseline_images/', remove='lib/cartopy/')) +\ list(file_walk_relative('lib/cartopy/data/raster', remove='lib/cartopy/')) +\ list(file_walk_relative('lib/cartopy/data/netcdf', remove='lib/cartopy/')) +\ list(file_walk_relative('lib/cartopy/data/wmts', remove='lib/cartopy/')) +\ list(file_walk_relative('lib/cartopy/data/shapefiles/natural_earth', remove='lib/cartopy/')) +\ list(file_walk_relative('lib/cartopy/data/shapefiles/gshhs', remove='lib/cartopy/')) +\ ['io/srtm.npz'] }, # requires proj4 headers ext_modules=[ Extension( 'cartopy.trace', ['lib/cartopy/trace.pyx', 'lib/cartopy/_trace.cpp'], include_dirs=[include_dir, './lib/cartopy'] + proj_includes + geos_includes, libraries=proj_libraries + geos_libraries, library_dirs=[library_dir] + proj_library_dirs + geos_library_dirs, language='c++', **extra_extension_args ), Extension( 'cartopy._crs', ['lib/cartopy/_crs.pyx'], include_dirs=[include_dir, np.get_include()] + proj_includes, libraries=proj_libraries, library_dirs=[library_dir] + proj_library_dirs, **extra_extension_args ), # Requires proj4 v4.9 Extension('cartopy.geodesic._geodesic', ['lib/cartopy/geodesic/_geodesic.pyx'], include_dirs=[include_dir, np.get_include()] + proj_includes, libraries=proj_libraries, library_dirs=[library_dir] + proj_library_dirs, **extra_extension_args ), ], cmdclass={'build_ext': build_ext}, classifiers=[ 'Development Status :: 4 - Beta', 'License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)', 'Operating System :: MacOS :: MacOS X', 'Operating System :: Microsoft :: Windows', 'Operating System :: POSIX', 'Operating System :: POSIX :: AIX', 'Operating System :: POSIX :: Linux', 'Programming Language :: C++', 'Programming Language :: Python', 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Topic :: Scientific/Engineering', 'Topic :: Scientific/Engineering :: GIS', 'Topic :: Scientific/Engineering :: Visualization', ], ) Cartopy-0.14.2/PKG-INFO0000644001374000021030000000427512706121712014053 0ustar itpeavd00000000000000Metadata-Version: 1.1 Name: Cartopy Version: 0.14.2 Summary: A cartographic python library with matplotlib support for visualisation Home-page: http://scitools.org.uk/cartopy/docs/latest/ Author: UK Met Office Author-email: UNKNOWN License: LGPLv3 Download-URL: https://github.com/SciTools/cartopy Description: ======= Cartopy ======= .. image:: http://scitools.org.uk/cartopy/docs/latest/_static/cartopy.png Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy. It features: * object oriented projection definitions * point, line, polygon and image transformations between projections * integration to expose advanced mapping in matplotlib with a simple and intuitive interface * powerful vector data handling by integrating shapefile reading with Shapely capabilities Documentation can be found at http://scitools.org.uk/cartopy/docs/latest/. ---- Code ---- Cartopy is licenced under GNU Lesser General Public License (LGPLv3). Development occurs at https://github.com/SciTools/cartopy. Keywords: cartography map transform projection proj.4 geos shapely shapefile Platform: UNKNOWN Classifier: Development Status :: 4 - Beta Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+) Classifier: Operating System :: MacOS :: MacOS X Classifier: Operating System :: Microsoft :: Windows Classifier: Operating System :: POSIX Classifier: Operating System :: POSIX :: AIX Classifier: Operating System :: POSIX :: Linux Classifier: Programming Language :: C++ Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 Classifier: Topic :: Scientific/Engineering Classifier: Topic :: Scientific/Engineering :: GIS Classifier: Topic :: Scientific/Engineering :: Visualization Cartopy-0.14.2/setup.cfg0000644001374000021030000000007312706121712014567 0ustar itpeavd00000000000000[egg_info] tag_build = tag_date = 0 tag_svn_revision = 0

ܽv7-Оꀇa.1s"ϫq!=! ϐk ~ R*M>TTɉj***ȑ#ƍ[̫IrA޽{-о{{Z厳 W+GQM_A}\؝-R:̗Zosے@ےV\ٵk(Jڵ+]tk׮bggǦMXz5 ZP*J"""}YƯnv M^F3l5=D-sg^(vLsɒd";π:4\_}˟ |\^Ķ} ?g;~=壿2HXH>בDo<ՠzե|F^cǎ[޻ŵIJJŅ2/^l5Ott4*ƍCPp!VZ;c'((yj*..fΜ9h4jjj{?YYY撙Ɏ;P*xyy#<´i>UV 5k,C>}ȑ#,_FCFFdggVnUV,\ٳgK/XKLL|j$ތɨNAFvŮa}}oVHa}o<2|r^\UəBv9ƶC(v5 NhTqm.~m&x ?'6?Hj!AJ>{ 2+_wqo\lLΝ;SUUEii)%%%o4LTVVRZZJEExyyaggGYY|7̝;|e˖]w"##IKKcǎ1^{ 7K#Z~.'geaS|:wl-ic.gp)E[\ݦ:Z.XnݺM7D~ѣNNNk?qFZ-׏(:t@ &2ЛV{ls\%YەxvjJ g)<pX?EaĮ[g֯ARQ1_p?CY7Ǝ' r(nf=`#uĝʭ6n+;;2>3'8pG/ف6wZ{T6yL<퉊pd>-=:K[T}/RtGxm4ĽA 6 \\\0 F#555YQ]Thƶ߿?>-lܸ_~szj~Wߋ[o?"_G[OSYJAz~1>I{u Zp.W/>Frp|7$%%̚5k,.L&,Y¼y,7Ƚ{'#F 22z-'OKVX[oΧk ?mW]5ԔMs-Jy~ZqSQŁ$"ע%:9Q}{G;5؇ 8q?d.3xF}kϠ,jzsxU9dh46[3C\K.TWW[2d ,@T2bϨQXb֭wNAA'Om۶}6[šCطopl$&&2gRSS1c۷oo;h4^7G8qt=Fb6? j=>N<8!~i%y_mA!hl7w=+3*!m}M"]96v(@EqtPɋN"' F*ع U5ߺ9YZ6>S[JclvbvJvpssCB 992Fdd$T*-=m۶Eۣ_ IIIqL&֯_OLL5v/n5k4\Z#*#:p.ĥč/kZrS< ~\^]]M>},"xG3fL0 6pw0rH vU{ǖO %e}?vhP|ƾ*?:iު%ǏWSPGR :tf5t \lLMoth>}l2RRRHNN&##2E@@gf$$4^R2d{/wy'͟lٳg:t(O 8ŷ\K /FGYN9Lʪ9Cn5M9^IȾ[;V[Mt /4.j(**GNN$h42|^u<<|{Fqqq5n^~eK:yꩧ߹)..ޞ!CЭ[7Ldt7{裏/0}t>Cz=qqq1ٽiݺ5wy':t[ڛJ ꮎu[7 -C3g/_ɓ')--/3fp N8a5Bb,XN> E#''N:51TUUmc@Pe ILLdL>rss-i& FNxw֭>>Ct:>c^{5:t˽k']VG#4bDhPs&Yu===>ث̽78|g g֙G:zccA|%^/<:>~?OrES:"QQc4H@1o07AVWTT0n8V\ qXpa7ϒAxx8>f|ljjjx:t(k׮2W+r iįE$E4?o@WR/3OQ\Z3yg6U*U[ 9 Ex;W/Em5ޯt{W(//g婧T?jLL&};GDVWY֨(WT2eMbWә'uTWMzA eTV1a6_%~P `ߌV_f=`]BՑ̣>ʁxb׮]_js}QVVƙ3gXf ^;AqM75JIIaԨQjM6iӦz=3gdڴiW+Wk.8p ',, NGLL qqqT&ik gϞ&~izIT*~9qx F}·Pm7pfs*> 2?p3Ƃy}eʦrWRBcjjjxW.9ԩSywiݺ割Jb3SN}vvMQQ 2ѣG3b4k[R L¬Yx裏,;6:h,7bzsBm;7M$?2//Ir]L@o lWg>aM77q)qcߐ?Zvٹs',-~F@pp0gu6_é?Nxxzj DJ%}Wfݔ @~:u*/k{W߰a[o%a_<򫺚-&-BH;P?k=Y+!`^;7T,cȵɆH@ 5kXx1oߞbbbT2Lol2v܉/k׮ Ξ=wax^o'Ndq<ÜM6mOxg jrr23f`ٲeDEEw^\\7xЛX@p'J˚pvpDeG5,rù`zڴ_g ?HGN{d/gJ.Q-Oj?U٥ ;kJTvi+LX%C:_Sff&/"˗/ɉQՖb6loղOoΌ3gL8;;;>SbbbP(t'''F#999ZRNNIIIݛcǎ~ꫪ㭷ޢuָ#ӧQQQjJHLLd,^x:wL޽qrr͍z<\cw7߼Гo#.(ﰜk9@~[G3JR-' Я)*3א(4`kjr~0oh濕 _ךkemڒjCvAz嵥Y k8^c}l:~*!LЛRt#S{0}tNz!%%;Z+ )**'߾*K1o<>K4{3]%n݄o[p Ax۩]i)f-*:[Ѯ{ښJkiԛm6~Hl|0wJŪ=N9fof:F {`G2 *˨"3h{lo~}D`[~{Xj`.- cԩVC~lذyƎk -ԩS3ydqM3H@oNyKt7k+tV֧ z\ M*9^6jGNU儋ҏ~w`2_kVLsM"*-Oת]Ud[XP.4_O7n=Knd555̙3wyFٳ=ztt !$$GGGƎ==+V`ر9RL&~'j57oTNPVVfy=zh.9&_KHuu5gϞ%66\3gdƎ}ev:qTkXq 3xCOF[?q ډd"~AeO0!ϑ.$887 аMyxcZ3*ͪ;7ٺ*U矷۱ټoXd zƈ%ʵɆH@_~%Ǐ.k.jjjhӦ ( ϟԩS)))LJhO.]۷5gOL&KGvajGD:3]vY~W6:υ4ƛTP/$"7{ɇ#DqU!f >3HgO/7\_RzKPi^iϵǨ`bib wWnog j#ٔWW?Ѿ!DO$+\>_l`N=233IKK#==իWez聳3899o>ጾ{K5+K/1g,X#I~~:1߼ɳ=rr#ERcuêMUY.('u(gH ˶oĉIMM߾09o111TTTp :vbO&..3w\z"Yx13f̠:w mԡFlfq0'y{'^~0M56T(~rhЈ@n ; we6_cP9s>x] kԆK-d[~3S;Q`ɡ))g١;Sw`ѽ/37dC$`jof͚p?n54=* ggg,z{TwF6i]-ʔǽqρ"PDA(CeP({I۴YG)C}yx{rޜsjTTTPQQA~~2M= n$bX3̙34kӦ ^&{ul>.C,. SC>-蚠<_ #xsU#HdW9o} #Gϻ|;7U! [<ե:6e ,-3[1D]$ ^ F)t oY޲:=þʡ\cG*t ȵB RK_ctQnjΝ̛7TJTTQQQDGG['%%-6qDKIIҌ^]OYm>*^i0{rNPRc-=5o:@oZj}i/Ae:{;0B:ם[[ne˖sAD"=۷ogŊl۶c#ˆ#P*tL:k"˩[t:Vٳ']twW_ oѣG)--%##v.>_8+e͚5|m(Ksϰ_KXNpnVvMc~6rZ/`YCVg v.kͼ[d~H]l!];wo(6X^Hyt|w@une2/6nȨQ^?vݺuD"T*T*jkk1@TTᄄ̤I>dff ω //믿ܹs/3#W9ȩe!"MYuE F|h5g&A)'Z ;[[-qOo}L F#'Kyٹ\Vb`\cO8D_ʶx7JXȁ<t3FDhq>-܊Nzϡ{*p%F%H= O#RBA>C/ۂ+U^PP@to߾  (**Dҿĉ 23Cy~ٳ'}]^rMy~ӗl:LY#Gp[|gbC"Pz+3!ьؗ{)LQ#;OtX~+UKLp`p` { ]',Ԣ߮rç~ʚ5kE&GC 2֭[ĉ=jo޼yc[>sz-n˖bh"rss3f s۾jhh9r$s)>\Iu%s3Z>J$'OdܹtR)Æ cɨjٶmfѼhd~UqK^ C.aLr_BTx#LgyM5 Q-"lq5l2úu^)A ;Wyc]#w?|TaaeSN?Yf9mΝ;4h[laڴix{{3yd.\/;v%pB|ATrРA׳lٲ˖Ji_'ӸZavND")7co !ț.w "rb%H^1"a15 $a: +"VNŕW n 玖q?؀ wvkThj%BڃE{Ѣ;j}:un3ߠViԩ+=z~ 0A7.wO% FB$~z1Dٱcئ;2yd:zsNdvCW^smzz0En=@{vۺ˸Z:ZBm9Z~;{3N++:q!mj>9pE"TM0%bQ*!|H J$yuQe䑗G~N#j5urOàc4Y7h(.-BXho&zBѐBx){޽[g/̞=^O>}>}:ӦMcۗ\~{2Xrs\ykf6LcD DvjYkՊkZf-=XC54XM0(ƺr"^{ 8-2{:tqͩ_~(JFL&c۶mt|y65k,$ 1:t_0|pڴi|#pY[μ8.#Hg59@(jIkP[07'SkhTB[lq&44ƴNgm}7[K"L䲴Z}'6/w)ZЏ~/v&^Ef)(JM5Nj8\הmjdۺ &Osa0;w.Vr8)##N:Ȏ;,C߾})..KIIW^_ ڶmoөSذa6l`֭h4ڴiCjj*III$''3vXw7-.EεojJ9sdrB%8%vD_\v,A'0]Sel< ̒ Z)&F)&>@̐x/F'yC<m3z^Vͷ4Ȥ"$瑩 "]쟶-b97F~;緳z晰W񽹦C{|9YZ͍?sx:@ZCuXʬҦ|QONUgr *QC"Nt|,1;ϑ}%b"P(Ebb1RqQqOw^y;Ƴ>ˬYZ첲__~[bJ{1,XX,n7!w#җ)0hƋApm beخ_wT` ؽ<ﭺx}̝;@t_|O?oMǎpo;3~x/_^ZR/%1Czt)>mM!. 4}\Ϥ% zH:?w<Bg.}}}VPMhߍzinuKM*ٻ|L+6-|%[]kml^fP/F}?]8^FiGC9s3fxb<3ñcxٴɔpϞ=lݺ`Lc7}<LޕIZ~d{gpH/v 6\ |Y<}鳢عϿ(Q Bz7ۯq0Ӛ=kk;0Zb:u}bt]-B,rf/߲;~_|UWV/VΝٻw/ ǏGTÇ7n;vDѐǑ#GX|9ѣGs=4믿+~~~1q!j{M7̙3/$ \wuo,X~أ,W^v0W9]o먯a/Q獇{X v}6 lcZ#]잛j6%OQ]L0S S(ӳ9K͆L5Q^\dv02x{qaeW X'x߬a:[N\԰i{ :I75{1Q^@weA ܷw:SÝOǯ3-ț$E:2N#[&t =.UROH1eF*E&X)śzl='stS{A/;8 0 ,&F6g²C +|  !PH$"۵ނ}oy ΜΎJA3;m5utf]eu~7<"v7*ق9^o TO'kȬ\y g+)N2ĄvJ1դv Ԍ[zFYT]SٛdlڭT|ȷ4 0eZX=yL':/Jz_K*~q?67T2\bdu 1Ζ {4覆f?lqj玎b 3v>%l ,9y8EVE~d,&3[KN\0^hd =7#'%OD]&L\'S vW&çM]$1*F%[eL6Fs#׈h$z1Ooԑi:N k&MQbXFM$$$Xjk݀eF[uqeĉf)h6˼y+22/// 9@e6g>}'S,k03N`u $AUMyVCaŻqڭ2;??   \opV ZPJh@[n0 N9 /õ8Tp Z[5j>>>h4*++ٸq#$%%q=зo_۴iO?4шhDӡRB7|s"ql3zMb=?gw/Ӂ^Tr*}+zͺyeLl^b~m` & IDAT%fʴi(!eVTN %q'2[:ZTM4E6XxzDH #glD"8܋R-KFog?G{m"w7ppz Xkv74v1" -ׇdǫ}:iii2cƌ+mL8LƮ]ԩ fsogW_{Jt:I|*[1KLp&8$T2@kcw􈚴J~pco}}tm {m@L̵>"Kv4*qfe6af@ ݠ78V<`sfu%k uC1"i˯n\Y=!r)>bB|eE`NE&qN٪W/WVV_=mڴaСX;wZjfddpM7Ø1c0aG&11e{`t֍ HH$HRJ%3uTls5߰hҗWc}&^ŀP]YDJIL&zPDbװ2vM2`v2=n;t+8}ݮtgxPkCB#jkv)SFw]ލSCXH¤j@V-,#jnc5F4.vy }_\2^[}Kf~=Öb ʎk?~8vg7iSfE3utzh8jjjT0C%W6.B}xG11^ ψLidlAf(icOaqJ9d{f;fGvjJ7IA!؇LA#yi:b!{+xNj;&wLCEc630R#TxIoKX3&)~DFGQ-r)~Gyט@#C_5Ze6ko])O2(QGIGpZ"'+'7l*^_%X1'PDm-+N>"|%6lreجFH;ӚK^0p)ۖ8͵;[*ߕM۪cժU[~z~FL&?{i.]ʦMx0 p |Wxyy-_}UjkkILL$,, JEuu5* Jo5k4iӧOg„ :X)IS8Pgd]$ed$Ae$q$:yUUbdnFf0w#;ƕ*>!@L+(wZ o=׬yDy^tkyr}#QK7F>v Пnɽ7Z#G5Wm*aP??^)cU[N1/pX[om,\FB'%%'g]-7hSiJ3:/VrPˀ~|t< gWnGWd 7*#=YQlۦF eْoMs> ի)MN>nƺnի!Fۙl ddR5xp&Q~xzW Ǜ~z(e>mCq~);#&$^Rrʙ Y T2x RRRxfż.]J]]J_|=z???&O7رc-pnޠLN: Q $.Ӓn y[Ӹjc(㜳{0UB5ݯiov?Oy]\Yɛs{O̐/$vݡ#=O Ҥ:c p-LCì3=ȈE@HDu}jټ^}5zO9}95`LDߵHu>cd80Zm=rXyb3FA ),r~tHJ+J&KMv K  *2ZJtdgge%Kpwo3}t֭[ 7˯Ç-IuqvĉYd .IZZ-\{;I&]֎;2d'N 55x# i~s[+-DX46m\S%XYP] 붖z_^_=%%5Me .ldYz~1uq-r9ɗAVkdփؿ?1yZ tl6ar1J Em :(QAώ R|^k>/ _P5JILJƒw[]IJNϰnL*_9zQ/,~+G`wLW^g~vfD c% |C'\=pLcPQIZN;áG/-~Hǎ]ӫW/<=àA[xXpd4yy,Ǟy*++C߾}y衇Xt)J͛7n4 rs222С_Q9s&wwwZc,e-%!_Ho4yӭ=jjJ]cen8rsmt3+ukW&q8/U_d_t*j||R+jƚ5k۷/bs73c VZEEEEII Çw[SuO3CbWF&/55qI\[*2Rv^_gstZ%>liƶ3Hļ͠~D?V D;cLOܕ܁N30N =os ^/PZXGa-Uz}INR7Yc] tpv2!o: F:vQj ޱLB\ZK5( | 0SSzMJe瑈tG}G -qa:Moz$ h: sy>myXIb.hq'v6m=(ALBcV[Zc[>|8ӦM#22=z0x`;FnGfMݽ{7۶mcܸqҥKٳgtؑ:Ldd$ arss9JE #\MA?{p>$b QaqG&@ޣ^ί]B&u6fI{x瞀y1{Wit|vWrxe@"ܶkk)7K @UJODÇD]T;E5^313T*"2\Fd ܆tڜ.k::sޓ[ŗ#wL$%"زA2f_ru<^1SRc./@C"[pt7anVsnk97g]f`wum-urM$ m@OczSn\̇3ʵ"I&u?P֔3npam/%%j8ZͲSyaO8;Pmi{"Lk/JerAzӦ]?鵉dsssٷowu۷G&1k,.\HMMͿ͙֯Z˱ロŋG~~>q,Y4q TVVr- X~=7* ￟>}pc vpxb}瘞McT_%(q澁";H7+Dp+K=~΅>8QDp4&#NU]Y=ix pP-Һ:|}Mk.kyjA+Vp7Z3Xl_С'Odذa8p!Cϙ3ghhZ%$ HQ0іHLF$!Rr 3PINiiʑPiJ=t<}an"K 2k\bK垨'K-;ycXw?]A=>)cURy=໕+x 0N&]xjݸT tO$|}bC8!r|.-Zп:͆|rm>c_^z˽Ln{/3;7%O6MhBu/֢'+{~@5v[-en9|%TVh Ԓ#7'Oԣ7?CgaU)rfwN4VoI Jo0/n^S'xb F%$u ֗0`*C}:t{[~Ӛ 94:uټy3dgg:72332dfYG穧L W_sNJǏ۷[{q7l2nô A0avz;S4h v49Fk({ zQ'6mtǶmm7w1A,{T`08U弞Kt3;Ҙ=P_5n D"K,!%%{wnOO?DDDO=ep(C4ԘL1q33{)DvٔI?CD44o|PT9)q-y\@2!~?#U@9xad' JȹL!,rDBRRIII1y6.WǰX֩ut3}CJB*#ɐV~QqEY3E7 L#{j-sGA[ȬThyaILEXf*]fd^=Mk"ǍI&K6ۂ̠(W1MIuy2և)7h9m_ǻC෕CBk000>PEktSHlf;9B;`zmIsXous^ ^{ flҔ\SP8fks zq0+SLӦZ)[&ʷ~ ςǦ Cۏ;<˻N'z-D+u 0FH21IYbzK;:}4_5;v̮LUW~K,a߾}z+˖-kwEV3|V\IDDm۶K?K 22K2m4>͛Gdy]I_ wh*حp%C]\\.dpX7.6جxۮ5zy͜VuztE6%mo(z &FoX lX8o?e{Zר[uI';ַo_ {aĈoL HD/}&AI.T^UA8ۙ7-3; ]vyx^VCϜډyk7}}~q 4B37#3;J-/"Ϻ*r@J[*%TKB=~pc۵ga3nj 59D>Q@kP%#&F[>tQעyxqVv[Xnk57{snQFh"_3Vu[PwWowO뭂Lo0 =%LR /]`W.3=Nf mjg yeZF#(9Nj8ȽtZyu!]AAAZ"zjnvv{1Q*='xV+ieu]}̒%KXx17.}G+jzq'Ar\'gs ^r08;危ސm šJk|er3WX_ 4ۺc:Yָ.3s>*ShNך IDATl"*dU3$aYN׶Sk LE `Ct҅UVsGcsMYG?E{"mJp^z,ڞDup -b(} ـ$/L[t32HꡨZ |xuܝlR`R [ڗ尠{G~M#T 8[/8Sz'r&OQz[cx9m 5 )ɮDI' I/ΧVq=2yBQcM~FXw(O3›AIP79AYMAzne 6Bӫ'']H|;ȓtYOxR%Lňڹ~O?,[L~\;,M@VkrbzYG*%?} (͇Gʽ4 7o2 bРA.W(̞=^z¥ A>`ɒ%$$$pu)'d\wu[{[ ]Ս.pnז 0q~g7eVkYEL zUbm«N۲Kٝcz j,%D.S݃@kΔq_ZZ_*Iт 3gOE`;9V7C;'DVqhA F&<>hK#RKy >m׻<D${wI2/7\@nE-_7wwPz{yYXֲ6^;,nUy.kM|m͑ݼ8Zj*+dkyف;N u◊ń3$102^^,2MfHچ$Ҝ{qz]m8djf̘ALL .m_72f֬YCHHwq]8_z Fzz:Gm;HcEV0tʬ`p~qc-)M{~dp_nmKĈ[~O(V\ M +--W_}He( Ye\Y^ %~1aTdٯT"B'so&Vntՙ[ƅ7{}:UTȑ#Ūx9i׮ 6dǫ~6l۷_w 22{!!,,L3eݜ={3gШQRKeL SoLlQ"{j^+gDz^[z!a=Բ}ey@jnkaخ6+wwT,!]PsY9Uk <- EA!nUkU\wcNQIUu@ |?boZuW:K,ZnPbX&\µYjI/tЗtC~HC"a/SPHF~>e4}KKʁ,߽Mylxg#Kt1p*޺n~Fg(JE "6n]G(EAHܴ:KU|@ț >$r:֥oeqf"#>-{)*HE"zzS2.+Yuvg;E,z.tV߆{JԍE̛.lmVA?ngNT5vZ#<`L/#:&!=е=`ܺ/;S ql?]G7&Hlz|戮ö~E|VŞѕ_B J\;n^5ߨ[rCrSV% jE̟E3Qb]9N|&5L\KP]"18JXp|d8JEꜥ>}Es4)G.L8ƍ[\DShbhՍ<_uC1Ŕ @"ҡJ~>*Xs]17 S \ &^-.N^Bn(%ybLqKD7{{* ڢf !3.Ao-aX=qd8JPcYJDuTx.AMmjOu|7C*a7'z5/{0ut{TGŚZBGF׹yhM|gqܨ_.Ƥ+ET^WҤI&NH֭Fjոq>^z/'*rA+M^Ŭ\ .e6''QFC~СO ۛof͚իWS7o$,,Cirxrss[3=;vޞ={ҦMM7Kۇ;Aa[lV5UF}cBoW`'WzLKUEسjƼ={঺@uV9rM?ѣ9pM4a55kZQgM_l6Fw urCTO/~u'߳c|99W!";J|17'"aU1Vڜ련;Y%ژ+rB^-Y^uY#Jڍ[XMe_GwҪR_yer :`.vH+ NYgjTažUXB;?~je8ziP>1=[(BT*NƧ7KF=]m`r W˺ ~9bSƣE|J:K/</7,SrssI&\xQj+>}ڵk[]ezDDDпoÇpZk׮DDDPld)cDJJ [?{e˖tڕ>}زtHpsbs߱:3Tw<-b B vij1eQ>ϏV_H c 8n~~>j"Ƹx"ק^z9r۷Ӯ]n[b[lԩSzoذCO>ٳϧYf$%%qqbcUnjC-ׯBOIzp6e- `Zj 6 ;vHII᧟~bРA8::rej׮͊+7ooxx8C%&&jժ[O?DLL 2e˖o>P\9͛믿\;( =@@XX=ޖ7~ ΎΝ;믿[,9Bpݺucܹ>|aÆ۷ٳg/&1Qx;888IE)-_vx|Sa= TU"i^*x"+S*)eӇ۷ӫWReڰ ~ 4Ռ_;4%Q;]ܻމG]V́jvi1jnJWp6.Uځ-L)1,wAjyRK 9Gέ7`ۙݚ AE0#/ertö=BAc: VriytV/XR]_7&{>iEGJ̋-QxO|KS[[cq2nZУNk*߻ј_?GL!W%ˏ?r#.HL ՙn`BdLn(Xt׸0'ja>]Q\&4/{ӫW/>}ʮ]hѢ>|͛[>/fjӖ8pnbڵTX;vX˙3g;vPͲ#Ghnݲ*GWi֬}WWWk } yعs'O, 3ʕƍFl-Z̙39y$-Zh7nȰaøq.]_g߾}&_*-\2 bܹNmz6jȞB{՘\Oh;sKAA 6\rfgeڰ۰uιz$@?s.NדJPTMS4r^銶LbusbT-=ļH搱^]y: hZMsE 1W#L3*)Oae|scLɸ5":{.0@tB2R  iG&n 9햄]-i"տr$6P >N=0%ꞎjY7:M59]66̆ 5-[dԩDFF9x`T*Yv-/j9Qѣ"Xd ӧOg̘1̜9X5簰0,XYزeUgΜ`„ L>>DEEM6mLxCrrrhݺ5)))tTʂ 4+T[裏&&&+bŊUl'LFU݅ 5 R"{(uԟ5# Ĉ_!p:`/"Wj?@H J,l7.o-ܚBT[=ρgHN'13<:uUWyWd`jqsTIWӅì>MfP6z.)wHbJ{ޔqie]K*Yϕ"u۰aÆm6:t@LL ~!}e…̜9Ӫ}DGGoФInZsiܸ1gϦxqt&L@xx8f⣏>23gri.]ʀHKKC&~+W2dƌrJ睔٪Ƀ2o޼gZ_UVDEEQzuLӦMyիNNN,ZÇ# ۷5kW_F&M1c}%/O[kggg6e֭[?~(6nܨ޽{8::Rի\zSNg>ϖ^9|XSѕ;L>Dg@s] ٷ0ɹ! Vi 4(ˁxzO-_jQ7*IJ34ϗFu<#OuvIe%s5 $,r݅.sRm;x_фV =ʭ;y xe]Oms[gd.HVoE/Ϋi* '=B7.k6%#/0vkͺBԄp/ A^)~V9y' g;GU ez(JjCyWo8KZmoPN% PlGҮ;wP̗8ng t~= ~E˺%Q^O.a:t>s-[o͜9sx7lۺu+g oԴiӘ5kUڌѸqcrrr^zŖ_xcr UPӧOvZz-}]-[ft]OOOi߾=ٳǪ5kTsa޼yDGG:ENڵ-J*?,Y¤IhժcǎM6ԯ_yѵkW4FGGGqmPz !::?ӠAzꅃ'O$))_PM|2ns_;̢ Ϝt8~Gʼn~hq=\ln(jzg&iKyFshho\:ӫW [{1Ԣ^5x)1LF3>ݻw3vX5j֭[ -quCի7n,&6l7ӳD߿Orr2o+Wdҥ&[4n:ƍGAAUU7o ŋT 5/"fݺu̙3[?н{wuX~=T96mB &dց5k֤fMm{OX۶mE"J#61pqqa׮]|嗼;jKXlW^_ona%waݻWO+WLNNN{d;99ѻwo@N ?CJJ ~ѭ[7ƍofӈ#41119;w{?իSƍe̙̘1`T9v{~zV5&W1}<(@<ӧOsbms =LEA%砺4LJu8VNn[J%''N+DsdY8EK*j*{D`7n?bup! A|W@R u͐"Qv5T4[[pj)7&(g=~aQtxW4^L( |43K $R{{r?)c/1r`碐B(~qp5.n2>o;|[jSfc-In<_G-z84:[YW:MxIE&67'jڵ]vEvvJ9 SGBf U>>Ջ^zN޽7o\r+P(Xz5Ǐ~ѣGefbӦMi!;;4rss_VVG:6^nln(\ vEWeu= $K9s|p8< )+QNR𕁯/G*xt"{ .2!F|ijtTH%}9st"IF 1,W): .0նmFKCFcK0/ U{mgo7/yb>΁l\,C 89,^ӫ"~]-_gj/WIX5`S𜦷qy/i]- {8mLɺa,LɺnTyE˸1Q/3say!ɘ;w.sw!%ECOiܸ1K.}azM۶mYd =z ..(5jVOWK.%%% *W̤I4i}ɓ :X-CfΜɪUprrQF޽g>OmR);wD"0l07oÇyRg}DGwwwڷoxyyqy㥤dҤI 6 Tʀms n:mN΍{VXQ)1뒑EP%0b 4sNO~Z(P@J.ٔu&hYCnG:Ofr96WS&GG!26e^-ī[nLn ()cv.G&QRhQU*W}:K,VZtܙ dZjEFF={̙3Vݰ߿ÇBÆ Yp![l!&&wy'ryڵkGzz:Mm<7b1;w]jUnݪW04B"##0asTS?#|P?H^]67nW^>}_~wA͚5D|i0&60):]YUӎr U2'u=9ԬE w/>UɓÔ01\ fD]SMI_@XbB!de+HT-Ygڵva b4_ƿQNoH*=;ۯH>榱;y a7DgRK*BnHf^2Lg%4w@_\tV=ףs؋Ŵ brVx88 Wܗ)蝞q@1iW() !RV [CZ;/ jQW[,D\=w0蹝-[hwތ?)S;111xyyg%&&z^{MӏsܻwTJ>ShѢW\!**UvZkٿ?=zM6_gr!bcc5r$ ѣGDEE5x~{r9b񳩎+Y<8z(SLFDFFR^=;iР :>}LFFqE֬Y\.ujD{ 9h#|FT18SJeD'd=+б S\RI? (#[]KdzH|2ˎ)9 P@$Ir#.R}M 7O%@vQɬDI5 ֠yF^BrM),i{\sP `a. bp6\,҃ޥog.^gb $֔F {ʹ[hӔd8L\!'W+Eʔ0:91aƍdffҩS'ȠbŊ/_7|),,ɉO?Te !!.]P|y曗r9̙õkؾ};M6믿nݺ\v[Aff/^Y|9m۶eϞ=dff2l0ڵkǦM'4iE4a>|H ~WͲҥ קA{=zy9|0'Oe˖!,OOOwҠAlmb(>*ʹ)!S[$rP$'S~=J|z@`Oۀm5WVqE.ie65®M'&'1a |=$)i8;(Krغ~ws?[!uJwj1e,>giru1uC9X`gۛf͚ѿ^}Uy&)));w'r=-'%Blt߲H~3YCND݈\X(ՙ@3dԢnL깱C{>\ABBP(@ G lޑNroMcϡL>N ƫZfܖ!e4/YKL7&OpWFv#X5T#2e6\Ca7z \1N,>v)W/q vG̭p՟~An^ ǿyyn=)㋽[SW7%u]9aѢE\|K.1{l͛WƫJ*sm[k!QQQ%.<)((O>,Z)SAQAADE [вG@i{$#$n -3uq&9M&>>k$ܑ3iz2wR9ܓO>38Zˋ11ͰB6 K+6/2w+Z1׃]o9ɏ.]g[Ua$W3m+b]/h,%%4 |u1\mBL֗vs {Ʒ)FfV{͸~/BU˗-6Wyw,2D][ί^JSN57xC… DGGsI ptt$00Pɓ'̤gϞl'[lё֧WWW&MԩSWQQQpU5Ե"˗r _5oK.e6mJ׮]ٵkJ]li)fԩpɇVJ*4mڔgһwo^~eK/YnJy J["j]I"rs/۪S(jN r% J4Uh:`_)n9tv㟓 Jy zaUqSr/"M,1nF͔k#){=Zʵq̻,)wVDэ %8xv!Wm|( H/he>H$"0]Чn+`Y|wR'o{þߦЖ"Yb?W KWM#GhnߺuH\]]9pA{bbb8pGeٸK ,'|w LJ%'Ofɒ%|O2e ϟgĉ+,Y.]СC֯_4oޜ2^zEpx $ kFAUj…hт'c=z4=zй`` AHMM}[|vIqqC͞ʕ+4nܘ!Cp  @HH=M4ٹ[Zy zc>+y5u~Re0֘JΕJ7~9dJJx5$_ZLR>D)S-`iۉʁ=ƑV.Q7A%%"٨HqSJBb%ݘ%FQbyFEqڷ`\yqD"d W^p'ydb{^oj#gJjFFA..vlٳg3i$QᧉYfQn]y/_ի"<|8۷G*D"!22I&nئ׊mn"Ԣm_,s5O[dZfLJé l?ϋJ[yg UL\OWaޟ%63A6|7_rI )M 7"nbϵ#sm,rPӫ1w0h{UקjkEAM. 5?g|]l@PNWw XjWYu$?֞vO]U)| Aj^6ya8?㉗A^ާtZ j=Kb<]rÂ\(9T,}6:fxW>ٳ޽˗/_NttttZjtؑhBBBy[nA_f[y:yi׮&44ҏ˒%Kx嗙9sf<ᄄ2l0}"-[hΛ7[[[Ǝ[/Gƾ}СWfz:&IJJзo_ڴiCtt#/,gnz 3FE~d+jԒ{E+xgIx=٫nxX`;i "Pkr殉ļXUh!*Kd#bZXI6.b]UWtytO#b?&p:v Mn^BvDw^L\ \%ö^y<ORV"&͉ QشJj‹aHb JuU@TQ5MY ;97bXvN\ל:G8xjn<ahKk˺1A7|JrV:s'QիtZ1'cSյٻw/;v 77`؜ܹ3?fbDDD/2b|}a`= 2My^MB.+8+[ne#i޼9/2'N$337nP~}ד5-ZѣPqǏ_|ի9x V⭷2t 6nݺyXnǏgʕ dސ t_b+t5ngggsInܸKڵ-sP ̊+6lr5kְevIÆ 9tE~XOLSF 1#B._L:{,z".xAM777>#}]˗̤y9sիbt?ڄrU]FHHÆ cdggJ%Ѽysͥ}Y/tnҥoʈx̤q\~۷?J%~~~ >/~7=~X]mLdw vs_unckzt4crƜ ꋹ6%f rc1%۔5NM^4wcjzt.^n>zSOyݒ9|3_EVy?''0ܼMf;=R>]\6 l<.~>7=BGW~1|؄+&.-$9+ga=y cڅԢ^\R̥8w"SP(P(!4iT*1c?~6QFl26nH^Lݻ76mСC,[챪n= 2My__[n?h^umFJJ#OC}TܹѣGHD"A(gǎڵݻw3dn߾L&ڵktޝ.]pq/2W\&U=NDDD?HanzXPlPEz]sAHʅ# RS+`$-D2)r2nJ 4 s5͉[rDZT]DecbmS.%! PbJm@(QVn$K;BO4mKGnQ& ]"EwxeSbG:~0}.VMfa!?φ׆Fm@uzf]yν*ZQ\݉8!1ͻN{ӡ~ oTq_le-h@o RH u#knIƴk| ]LLLd̘1 {qd‡NJƍY~==z`ݺuذb ONPP [t / /?k.uϲe˸z+O&|4i҄9sw iY˙q/CV @F.O̦39ɹ].4۾O{\ܙىZ^x52 [g3h ZrltW2t"!+yf4le/"}#v{4yҦ]%دHY\;C`>NNMj#IMK%''gggA`ڴiH$V^Mݻ7iӦ㢢8u'N$,,^zѭ[76l`mk9 _0y7xJDԨQC#1BC"..Ajҥ  `m>{2j׮B@,|s]6ӦMo߾ԭ[Ν;kȐ!;v6l[)ڵ+{_~?~cAXXGf|Gm=;;={D~t-smJrƘkfjضMG/mK1o f ea1:0L1 7SLyzې̊R8.J \:eRsFU[Z4pD\ҍp G%A=݋J ,3 8ϝ|"z3: 5xP*9r3|<yu$}E(cu4t,]~33*] co),)&;?}yK_|= _;iZuAt cr&q7#nn8;9X,&M[~ //2_OSӺuk6mzNv{8qwj* rǭ(i)k#M4ёR6tP֭[G^^3~(..f…ܹ#GңGڴi+V" `_i&уcǎivy&MğIII u&q-֭[DŽ 8r䈵SBRR!!!|uAQ(DFFryvEfM!VAxjQ?r+] ZW<"8R]XVP[ҍɹ`Zc-t`X AXB\m0S\A& ':W\SϿӲ.=M4F4$ c Hu!s>k%)\NIyӓgIm/1lBHf |͙3g*un=#Fh^FMfx7*u.O# tRF/00RD"p]M˗DiQA+Wp.ax裏Xx1W\{Q70foڴiXG)VUB&:A%_uvsI@2U9YOZ*\)5Kt_^]l2*/%.a*X2tk %~qȮFQpH.WLE|J%_}D"j8 w1bj lU!BT#{e\lP?דŅkߺ{I.Ru%FgN}kP߷{ZL%#[  \+@ƪ8)TI[Nr핪~ɕ+W^Aq7o~U߭<YsV޽k4qF,Y’%Kh׮!!!>'BH$B,'0sL֭Kxx8?Z ӧOk]*1&yCCCܟB&Nʕ+ywY~k2fFȹ[tΝ;;4h$ۓ~N%ɹ}%nD3 2Bmin"bk[]m)71)7qp鮳H',)lr8d2/tU+st#-ꪏ&%eޢ쌿g5.H)y*"і6L^;s-[R*B◺2M>z)kY&!^e0봨F- n=0v|"UR9-0*Qϕ.%Cj{U:F+R;+`ݓ [ne{n~7֬YcGtԉm 2򂃃 ?^smԨ^ Ӻukk%nj5k{n[.SL!+˂, ({XkJԩS6'Gȑ#ikPK^#kaMɹ6 ƯFꋹE`NnLhtsbLI t*xVVdPbkZXڿ3m1`/曙8:Øұ 8xڱiw.?Og,o^k)lq8Y 6ЩS 9m۶\pӧ3w\-ZW_}Hz@ll,}yǶat+FDD֭IG]vK%ݘqs19WUI'z鈹誩O] f\H#eIma!Δ-W$X:5QqKW-JYN|oCk@+vLZ+]9οԯeWLM>ՖUcS3J9G aȤ^`[vķ 2~ޕʵ"-㞜N'瞡iC9r+(Q*PJdHH=O5W#;3(X0cLֳ{-k_z-~'vJ۶m>|Ѣ]JTjtͰ'HIIy}HHHgϞ\v#F0zhj,pQ&NСC5ᅣYyQܹ3ϷxYH$C;wٳgW_女رL<ݻwWתU RY<׭[ǥC5kcǎeС뤦?ytA߳g^^^L +at+ѣ3feԺVuSg$\k(\v\fTi㮍s۶v6kr1|]s˴G+ŽP,x (b_E\)-%ȹxW@&H\)YR8N - -Gɖr,]%rM^<%銳49A*˪FΗz۷KhؑAܩJ\I[?ٹ5/%!W@ 7u7;jTa+$d‽TʠpOD4wѽR#=;[V1u*BXC>i.<߾TF Ϫ>`ب"ч/佟R(!ZǮeKѼN2T'ͣGfѤfI*"2߿ʣjժL>QFq *l/9rOOOcj֬޽{5?ٳd bbbطo[lѬoڴ)˗/`q5*DlٲI&/¦M]}Ϟ=tԉ?3gwOժUY|ycbggGYnCʕ+iժUvbt+ټy3'N`oX F/LIeQnml[*p 0lsfLը \[u1ySݵ\[;2˨)7'ڑr(6!/9*&s+ڤ_kQffb "\lHɀJYOg*xGĐJP L)vw1S7R$5%%%CDj:p V,%ݛbk~_HX䷍5h~Lvm,^륹e~q._G.P/;sX]L_Rgo%bW&0|IHWfÇ=luyg5o'sult<%66Al2@bpzm1 ti_&* y7 _"VLQm^cTD'ُBPҲj(j ;gξsB=ttC(3I:kAp1IՏ = '߿3gґ#Gҷo_MA1~x^+V{7mȑ# Be2d#i#pB.\8r ,x {n:uٳgy*qV99s!lܸ~>}bŊ1nIHHԩShwq cbP|,mK\[uNS}U%Fsmňfx\~ۜ[Zy\IMNRqrpboڜMOLZ켚IqG1[/g b@]{_FM)܂[cLŒnt};721A[~LvD.Z"ѹ=T`9q6Ed:;r'Ǚ gK!((QiR#s+6L2GVԫWdX,IرcK/UD-.ct!;w.M6/O?;vHbb"SNմԳq5|||pvvgffa.\ٳ S˖-?~ӉUЭTΝc۶m,_T=:nL΋6sgcb sPΜkVocJiZg}9smʊCB IDATkGMZ- %^75;7;Ӓ~!FnZp6YtO4]Ndz n{-||)[[bF5aBk%6]YgU}rw  2uð¸)iF-ٷ] /O=ȞEe]4>wF*VakMhDQ$MU,6/3c NTwc)=͈yfyYh>8uY᷄Bi诫RqԯWhcZX$jK1*8G{mԸ[3GU4<w .\O-$)I v$djZ$ *L%_l֕V*㕺֤߭ 9YR4jԨBR?Ν SL1N:TR^zIll,&Lx ??bŊuѣt҅.]pyYy6x" 6} oͲe˘0ao +V,e(((>c;wo غusrWiʻ6JxSrn@+NfTZ֗k<GGcUYvԎf#٦PxEP 쎻âcH+dd8lE>[*d~).@O1bonF"ACK@ɺ' Y1ڲ +-tܴNH=z#/fiXD:v[oEjjneQ\\̌3#66VSD?̛7$ONϞ4… F= j֬ڵkiٲ%ǎu֏zJVӧO,]oQFU辭9@+zz{cǎl޼*@j֬QS+O&7o s\t brZUЭ< 0w\L/7n|r~$^̲ : UL9wi)1zjf-_Jk[ugUSKփnkb?8^3qmպh;f]ֲUƕZ`DlRȮK|7'i9"<_[J2^{WI?~OcMA"t;c*0Zˊo%'O6ĭXyZ-[2fLu\ήfe;rKfLjD"h/cJ$(db6], ؄\Mn#Rqr:wAZ\!lb$H^Tq񆏛Z~ц6m]vJ+ggg vʯj$fffE&Mزe#4 2qA2i鉊Z dr=NBNQ ^v4 OZO%es.]z/+@.]ݻ7o6:u*uFF={$+++VTZOgݻ#Yt)ƍ3;Vq;väΠAh۶->>>dTDqiUgӈ[ g{ GnY{&A^tF"f雸ꫯVkeJE0l0~wN:E[@?svIHHCIHH۷gϞ=&KrJ\B~~>vvvjՊΞ=K~xR}\~m۶=6 <=XEPPXX( dggRϓX]і\sx꺩yB"p&ǤoL̕Y5y5 16V]m)7[-7&Dž*f"q^cG_-O˖_Ps<:,a]?8|&8xg>h /'^1J|ϲjJ @6bhTݑS;PL%P/SǞBMHH$22{XLULnݺ='O͛:tZjqa{?+˾}Ǟ={HMMۛ 6ҳgO[.xAy&̘1 zjnʖ-[v./cћŋiڴ삹?~oooVoĉ:ujJ`gu1}6EEE3e^y ٱck9qss 5g:s]I7& yisiZE̯eZom1791)kٽs]sP85WD\Jz*_R|+wDXV3ަO$.Ԧωėpn57Y |׃IyvܾTx5ҥ%"9^ρ^$%#WTid'aݸ0l#?=q,X'5j7n`С֪V4O_|E5kFLL N^^"5k|r VcǎP(a޽[ӊEXx1G6HDPP hтh-s?h"wO=z5kXkp<9ssgk;Jxx8?im<]3[A=z4+V^z 8Pp]㍋ 7'99ݻRD$»4hL2ĉ裏puu "R/wyӧU׮]KTTݺs̙TRzNMWWbOmR͊Rz}1ǔ1%\ kX =VqN iޒ؅&s/Y-@Js"rڿ+WuϙvȺkI|{2&vbw$l˗/gѤw߮"OΈD"jԨAYhǏu>VX1ٻ*DTN4gURiMlh6̾JӴ{*(ܿ?#9q]^|~ݟ63ӴiS6mرcquueƌ{x{{ϯʰa!<<~ F@m6z(ү_?dʕ-z7Q#F8::boo/gDOj^ޙ_a~G>Cy9s&FD@J+mU&lZʜk)붒jsz P2ki}ybs@+ uSoPT=0(c8S:cjJ֕kPj8yy>Q]#?7u~^zr^Y?~<g˫hu.]0a~m\]]ի@ z6l7'ԯ_UV?m3fDEE1n8-)3(rLJ+W~ԪUÇӤI*j]y(UNX~=?v;s)K /k8{f[ϫ|t_ߴ&VxY<ǾhH~e.;14g%ܸ:&?K\\!!cLJ:BpԩSgժUpx%]x$Rn]wΔ)S۷/֘K/3w\,,,طo`mm3ϔl\Ni=5{5O. Yn%BzY\2Ԋne[,*x/.so.m̭vei}ջ}„ p])w7O֝Yu{X 7{xx0c >vI.]ˣ]v 4*vttd߾}K}:$99YʻV=tVNp~7<- %wZv]/}{4m991\:SrCyax ?|0w\6nȚ5kp^ƖJ?~ceˉ揇-2\_r)wnVڰ_}U>~wt邥%k֬y=իv_5jʕ+4haaalڴIW2LJzݻ3`6lHݺuС;v ..vϾ}5k}][QwNfpwwgȑ 277J} F˗Y`&Lk׮уQF@DDPN@fx7JS̙34iRO}$V^=y̙СC B[ʊgpȁضm!|gѰ˫v=jC6rV_8Jm /yYB;žE+"-#>{K˖-9wٗ/º6kj: 뷅s(Zi̛77|OOOꫯ>|8Ǐ &ǁa޽$&&̙3177I&=z۷cCǎyw9s&ViӦ[/ss=SWFĄ7xaÆ}vZ[ Kϟ͛7ѣn!ʍ7+Qڹsw^S&! AW3uCHHyyylܸWҫW/.\@ݺuh4+fժUT!pen` eWk뻘c/OO5\_@׷!=tVcJ{ ䷛;w.SLСC4k֬Bz;c@WQrP, PT_A/Rh4͎;tHkkk4i6mSN{FW^!<<+VsѢE [.-[e˖xzS?^EQHIIAq*5[ " IDAT6و( q==U)˅ ݻ7 2-[+PvmMȑ_C<8>f%FY(Š+x뭷U6T3 J>{bmmΝ;ٳ'FBVӠA*?{uCiMXdwնؘEs#W[Nx0ʱj9s/3ZŃֽ®/SP^ܟIϞ=%㙳t_ iE#M =kޫ~rY|7 8-[Obbbš5kܹ3&Mbw*_oʾEGG=.''#Fn:5kѣG8p W^%66;w2c lРCBBVQ撘HBB?3|*QݩT*42x`Ν;Ǯ]O>o^*lݺ]_1c >C?~Z)Di=eL84u:t.]ЦMwnȦޛ%B`p)hN/íi˩pEz ZwZ$ٕ?o+>Vnn./>8QRe檗t҅ѣGs<== ^`٨jLMMk~q5iii<=zLΝٷo'N( 9rӧOs<Ȳe˰ OOOlmm155+++:uꄗ^^^o҅xxx{{?#E)>ؔ(}/ӧOne.Kn8yd'N}7<\`d&Skyq7 HW<3ߍ5^pl]H//$+LZEߊ/ ZY7Jʵy'qcƌy`(~\1U>PCy{=RT,]-Z0`vڅ}e֬YL8ɓ'Sf*'k֬oe4nܘk׮aee | ޽VZViݺ5cƌaϞ=ԨQC|}}՞~τ ߿?666vUdϞ=yf(R2yyyh4;F-[F.]x5 (^&ze',V<UJPճxLEeggӡC^iF :qnvzj;._g1uT]EӧciiuuʫB-t+nپ};M6{:vHaa!z"44^z]W111ԭ[]2fy%d_gs˶mxW '00M4zhvӧN\r%CۛJ_cbKbb"G%>>7nS<)ӧOյJo+[Nf#R+7C Zs}۔ PT*-+]| }Pʵ9uJ6wtQМ%CQmtDOԩSYfߟNtg׮]ǣV'--A>}^W=nݺ,ZT ޽gҥdee1`Ǎן<#**%KpC7GV~~>^^^z5kxׯΝ\'.ʕƏ?ڵku%gffFϞ=9r$CRHܔO„ҥnQ }S#2=k l11ʵ.>˰/UU8FüyC&MmH|zE=G@WŅKy{%Xnnn̟_T.++^{cҨQ#ZjU :Ci&FI&MXv-aa/(ر#jՒ5:ooo֬YCBB^^9rc_ceeUܳgϲw^]FvN'.?NFFF;#Gw\|+V3зo_,,,h4L>`.ا 9s<,JY\k^yY=g =2o <*B ڎdұ; ,`ҤI:uիWn~7n9'OG| OC|g7ӧǎcӇ3gTBkEuЪU ?(B-V?- R~}kdffҠAn/&ă$C܅^ׯEh055?QF,Z~-[0sLÉ"99cǎJxx8 k Z盜/6}Xl5w}_|_|͛oթS`/ W_};7oΎ8u{ObbbQjT*t颫Vٲe 'N`݄ҭ[7^z%<== fĈk%V5~Ν̙3뚚e D>}:uj][!ĝ 8.] @pp0 6]v,Y%KPfM{Th^MݻW7]vPn;^Ԕ:СC}f͚AӦMٺu+v⣏>bĉ,^>}oۃsX9,̋˸ 󛥶`o;rzpq֌ ҷo_ƏOΝuƍMJJ ۶mc֬YޫװfÆ 9>ү/|M6%99?Cѻwo~Jū*\ ^^0!!FѸqcnݪw%{( -blٲ]O?ʒ%Kp6mÃSN䄉澰SSS Kg׆t}<;`~{/_j&L@xx8N^zn$4mڔ5$))1c=[XZnn.5"::zq AѰh"F%f:B( .]BVUgԣN>,Wdff/T8CS_|-[sN|||hҤ gӦM@Q}||<昚J}ߺuk̙˗+ܦ6~*\/sp)!\{=2K"Ch>Z޽{ Q֭KTTTmرƍ3tP :Yn P'7>Bax* ??? hjȑ#bgW"dĄe˖C`` NNN 4lؐm۶Ω_>;wCa&OLxx8-[dŊ?O}/gd-$ɷ"(̵Z@C{dޠ{݆Q(hiӦ 'O&++gIƍٰa:cƌe˖FRx˭.BQ'y{4t2]~ТE [.NNN,ZH7~ر޽nݺq%nիy'*9_t`^&ߞuve3XVZѣqqqnD}aҤIl߾gy>JիY|zFF7oЅBa4d{5JbZ:##VZaee=z`j1&LSNԪUK7hڵDFFϔ)Sի?#=ߟFԮ]ٳgWZ^_8JlCVb:¹SN#Ρ(qQC7ET6mʄ t[355geѢE\v-eС,\7|e˖ZB!0*Ыⵉ+ ٳg9|0yyyl߾aÆ1k,1zmժvvv̞=͛7n:,--޽;|ǘej53g +=+mH/+k󋆯>uIo8##3y$¹'nd+ 6'dΜ9O2333^y*ϼyxߙ:u*| C5)BQj*?? RNJnVؾ};&MɓPPPsһwoiѢ8::2zhO&Nɓqrr =T2e EQx >?N\#VbU<2iuhD 4t3D%a֭L8ӧ3rH<<$++EŅW_}N7ե'x?zW޽{yuDDDpSaRNNΝɓ\v EQ ݤ{?ɓw}{_Y{fϞ]b!>S|||1bDpޣGVZ̙3 BQHz55~x!!!5kڵkqww'++5kҺuJ^]ڇ7s].яr(/NVcjj@ 2d}{{%0w\7oÇi߾}sԩAAA3Pzꥫ !ăG}9ydPŋ+(,,dԨQ4hЀz[HMMeܹ|dggеkWLBpp0$$$pYVZő#Gqfff5֭[S~}BCC11)x"W&;;___LLLHJJΎ5kr.\@FFj7n}vg BѠV133__J-+|[f͚uCCC9r[&; ՔZ&.. NڒOAAA<<<_~hCi>|uNc >>>0#.$$@&L֭[KshPPPԩSaϞ=DGGDzeHJJ{^{ubaaAbb"cǎ#,,` Bƍٿ?[l~PvmYf]剉믿f޽Nbb"jL>c\]]IKK<E~rrrh4;~={0c tRu[jŸq]6W\/믿gEQ8}48::JŅ $00gggLMMqvvfҤIdff2m4MvǟAxx8F- <7V6?-՝jjرdddбcGF77Ғf̘O?M.]ذa Kl_"+V+>ZU(__XtD=T*7ogϞ4oޜo?8;;kj8?,YBBB/sq_Yp!iii 4 >EQe˖-?~ӧOsArss111CRn]:vHfJ]GY[{n~>???-Z[חCXh̙?LLL H>}(U$99Y4h(>(lٲ?SbccaÆ)... )/rn~ꤼM~~rE͛JAAn{jj)JDD+T.]dffΝ; *:uRT*bcc(J˖-+-ZPL Q |ʩSZ{h4JDD~zFQjHIII1tE6m(?W_}XBqppPGJVVZwtQ.JEǎtCyg|k^+>1ܴiS=F\\\Xj}W^m۶ٳ={ƶmFAQW^ᩧe˖2RXXȥKx"9s]vq%hI&m6o~G@@ɨjj5\t .JQFl߾֭[|r\Ç8q",Y޽{(zT*͛7y%yyysNF  !8y$=z-\H`` ֭gMݻ7{mh4őBڵILLdʕ;vH/^Ovݻ7aiiKPP|>>4k ;;;_NBBӧOg@єO?˗/NZZ#ϟ‚g}.\)۷o'))Tϧ{`eeɓ'uӊ\\\h߾=ԬYiҤn4(Xϙ3g*uԭ[7V^}RH@B!A 0G2x`Ο?ϐ!Cxꩧ0`C5`ܸq,ZGGGj׮Kl(߼ys5jDaa!Hnn.VVVEjj*YYYvdffbffF۶m CѐDPPAAAL8hٿn=;oB]Q4MEŋQbڂ9}4Ν#**(h޼9o>>>jWeRպ'O$""r14n"qB!zgnʕ+>}:Lff&CR۷;wzjZf4mkkkF6@шWA~~>...Ԯ][4HKKcС~]JU"gff2}tpvv&;;ă7~~~t֍]V=KQXt)'O$66xRRRgbbBiժcǎgϞx{$^ЅB!D( W^???񪖗̙_]b9711!66\LLLhժ g5{&&&xyydaׯ駟憷7ӇRCVǹ~:u!,,ܲp)N<Ʌ 8}4ʕ+8::Һuk5kF^pssӍn^ze B!L> &z͛W%/^ /J^z_7XQ\\\;v,__sss<<< $$$֭[Ӹqc077/w(7}}?sLNN: =zM6ùsv@EW2tP\B||<%^sʕٱpt!BQmlܸϰa5h1cFmÇj-fff%zv_{5ϟ_Y?j+33L*k|dB!3`g5j͛DGGELL /!!!JBBgϞ{4h^?Ñ#Gڵkݻ7oWKm}1q7t3D5#=B!0(՝($%%Jzz:iiiQF <==͛deeErr2.]"66'''j׮MZf͚*]_#=B!BJFԨQMB B!BAB!4tZ9s挡 n#sЅBaP*BaΟ?O``!.B#Hbb!Վs#"]!B!0HB!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba$ !B!F@B!Ba !f.\ 33⁳'00B!xI@>]p C7C*sy ⁑Ba޸H@>io$-[F:ux"QQQDFFo^z8;;( Νܹs`cc#NNNxzz2c DBCCu_ワ/x{{ꊓwu=EQHLL$**ğ˗/SXX; }y n9saÆIx<BÒC(T*ݻ7r)v@PP1P5k߁[7n@Qbcc?8u.:::ҨQ#uFHH!!!4l| B%O< 0\ae[v8v#/1NԌ6sR5R\<$ư;o4능=O^Oͺ4F05;Ѯ*Fuk>9~^܊_XjUkG:k8D(lY?rnrY|P`//rI5!*;Cnn.QQQ__~ ֮]g}f&hȐ!((ر={6yyy G¹FL(|q$LM?> } PfamOڕziWnN5Jl->Vb{fv:1ʼ-㥨#x֪}ͭh`'Į [RGpa<\RwtցڝVAVuT&*lk) iɩdgҺCǯgL! QA"22/CLL /^cyXb[*(|g;tܙ]v`f !Ҋ(v݈ tr{p=JV聹iŇ k)BTi\0/9TKs+2n 1P 9e/=FMVYru rE+v jRwTzk[01?$aq)Z50Ar^Ąs"8їض3a-i#] ;v,* oooiذ!{Q/&>f͚ɓ1cx-xIhc8_qI =ΩD^>ͨP9EƝ!&: ѻֱT@r\Rt2}( 9d_##qx,5J%#ttC.Ĵm9 _Y"?l2ڰ'.P#4刋LZXXZ n:`'E哀.D/!8hrNI>⦟AQVSGY-S%WV=Z6X^#Æ=5ChS1qHJ>I!;ipJ]MuIJI԰( &Դ6Mf,?|XD dޤORn)3Sf2t[SC A`.IRRsA3ZVDKo{(̽ӿ>sy8y9{dЇbEmuc.VUđ=9q IyuU7u5{Vs×y':S(K 5ia".Igc3 N.rʍ7?LLLBvYo @00)=Glt*A7TgCP1b͏ktFMa.Z^W {T:#A '_+xlVZU7$Zs(R{̡ Ax6\ uUUCǍ'z>wkKq5XцЅƘ]DhV`%9r8U. $I~c~Q+E?A#] K.qRp`p8L2'E9ºuضm۶mc֭6? /i&lœRJ{A0z9ϟ?>(BwdYkƨdQɽ^:$$c(]qqSjfeENi8ᕟ6I>~`)߸²Os^΁)DXj(I@SÂB?>}:7pz"eZK>,R;qgFVPPhû,頻.q1Y9#|oJxwp[*H=Jb'jQDL%kGq}Qcƒu(޶Ofݗt~_9%SBS7IpلGO~BCs(tG'wCuM%)i`V`F  O|1/fZ*B>s,OIema%3Sۂ ~_oۀvٹs'ׯgÆ |$sȶŷ$Ir߸n2O;.>5/j#b0(o2~؍WSFc6%X~F8-v1"&0}Ǖ. `j5cǎeر~<"=ēFsqI7- &'F24*faV<&=tXBA#] 8 㮻⮻'|wO{$?I)@)~M#vwv>~Ƕ7( 5v>o@f٭ ~'/qSa)L 8䩧"%%;"~~/֖/']v*ұ 1IR$>:aW0DtDThDLDTDQ"L/a:9Y2'胯iė®#y5BtwL4(NWpe!imFBB]vs?'"wf[ocЀɺ?Z/z:uCAւL/^m'mv*3$/@ %5$]pۃ|[=Ŕca:!g㞞LUUDLDd|V>;bNDEe!+r0^Pܰ mrpA2"Łjgܳ]N~ R07ME&J¯ɼ\2tA!] 88twn/C9?&'u*]>?,iq:͏TV7=KW%q͉u5ZQM{E}Usz| =?ւ\,ƌ;}b ky{۫4q2svVw7F6~ %UV9J+($ !i`TTT#OK^W~2M>l'SUQIDt$?EdY^MQ]!?^î#1i͌$]@6&M)!:{Z6 1~,l2FdDaׅ8隣kq{]MBaܖ[{:8bY:D[O:<b . 8JK.ao77ZI 06fs6$u}U0h`zo_Tcc`[},~FYBFwGZ '|]DQ$b ᝶wLdY-OlPcpS%ۆ^׎q 7Dn`TXJra`&$]6:gg&g;G_S "+Y8 K6RP̃3^ݿ@NYSl_.Ks!Bu: jia!dErZП|ǵn7ШviC4-p38Y%&tOʐey@ <_21 xv-ck>oR|+ARiH<b&R@I&`H;1KޖwFjXzoy{?a^$Z&ޜUOa|nߏ5A߰VL3XCIN38#9Jo Y? AUg+ e.z9/.V@rZ;s=#-2tP#A#~ ?Yp!FYfqw3mڴ>C[{5P_,E0&cJb;RB8m|Bv`kyǓtG{*ql5})iOeUfeW$pYqp9xrbҚ$t?3($p! zؙ1Y=[K)y5yڏFP`w{hp:QHBQf껃,\ Tʁ#U^nxr_>[3OtOp8x7>}:3g䣏>"""W;juy]9ˁ(ZUb0'oVzkQC]]M涗.ϫD)I;w5? MNK#@r(ƨ1k0w棐$fq,eVɩշ(ѫ^eY"[=Gn=/LQ]&#A}Z#] ӧ3fn/_΍7ȬY f.^W|7>0--ΝB^ٱmDRnPk"H  \JLx,1qj55&4=%OaXTBɲLNu-*F:=EuuϯɎ3RΛRo HQfdY%(q3x}p .? BPpj*f͚,QQQ~ݞZk#QC]_Jp0$ ge^`LIQTE!=oWO`h,sQ)? $1!>)@dAhM*GK@ 8;m/܉+:j:^vo[it90jt|wa " Z-fIX_\JŊYaFr2QbO<9_ѧyzΗMSqb=qJcF+0BZFG*F?[ErL;o_(ZQbMAa֭ZUVaX(//g\wu=np+5ZŹ+QK !*^:HyPhO)'2[p#_ö ~.*2J-h &gLdZRI!#VVPP] Ή;4{ʔ< 6'BeێO(b$!5naߏb7`]< D.|Ze1Jm\?:KƓ"k7bs[uX8T+cs˜fQiI*:{@> HY"| J_ry2ۑz&+[<4 'e}KΏwVܻDGۿN?/#Ԭk蠈hA+Vn.cܸל=Fw=tVR̉` i75WRSLާ?Q{Ũ_/BlĦRq2~y o:GS8g[x(oQh†2z6ǔ8 <5֐SWǵ%#/{"dMFFg{ h22@2oWSI|x &%`Ԥ B6nɼ%g 3mK/&_ker WǓw?Î6^| C5i ;s7.{HVXmxgYjgu3g$33$T!ǤD#=/E}H*%)1$9阓"Lo`}q. N; 22VWy[miRp6R0/MCvIj~ kkO[#BA;Y8P};']]if'hmnKsPHf= f=-!ړˠ7Qngev173g@b#^}Ȗ*?&JfU7eAOxX+VՌi@ih3g}o !33rV\Ɋ+xx'PT 4!CC1v^t+e}MK!ZWy/39NzG{"'Ooa}Q^هNFBB$9Ǥ% fIA$$ěhz S ؇.aMVj-wWٱ8]/knC482xI4J g${Q Ҡ10:OH/T3ihB+<ǰyrW<55u]r &:: GAAyyy呛ˊ+?~< #e(=U18iWz,/<{mM)Q'|g#oP N`Qv0Ɠ!,4 9{[G7[lkSYɫ97_6MD9XWZ`bBl@uy}\d#+-҈4h)ktP`P Rq~Q1F5vXǏ7.F3pݝ\8/ёwk2l/& ] U 2w\1A߱sr*'mh#Q(5Z:*]۫ ݑcmv)H=ٍ@Ǣ)*;YTq=QM j~U ~79 @#˒%$z}%Z)&7_dcyb'.5|%cj:?5Սx4wseʃ2l3wSeWS?FG }տo 瑘2 kakqBf/1퉘#M*28y.y}ұD`䏓}ִ%mQ<̭Q?&'Rc"³+qx|8 PhZ[ܥsOzusdP4cA /b IOѹFAW݆IS=\pf.K ~ z]n0$a[}=Ea[=Nn@w1HomgR|)ń9=k(Y⾿<Čr9 jnUǣZ'G}!Aٺu+|eeec!G")uIa^(nk?岣֛z$p\̏!I)endv y{98#v: /"3<178S!ɹ<ӽZeIa::SIjn!: wtTS \$q5|g_[=yj_fs򚁂\>  fNln7ahr>z9[=Z&@bW  .8& ZX"/VECVF-55Nq^6mڄF`FʗM„i` nYbF$p.Jue!_S4tzRޚXmNEH nj inOrZ8.eTɩrRmRfqӒXN7ahyj_۠+|}rٱ buNU<|s\Ķ}.K 8i%&Tp7Lp/B7齵||ga^'gNe@}M $ j4dJHȼG2â`ɥ "h@VL4 舰 eȐ 1ȏkaaڜ 26b6,GB7SVj$‹4EzgR~"aa5/ppsЅc0[ CXɫm$JZ!!:HMrG27\[2I =및3 ̙'1FIB O˟X׻y#j,aX0À.ϛ.014[{R4EaqSFw>g`-d9I(X,8ܯ3Jdў|@c,hoWPkIeT·dɓYSv\9\ⅅ+z+wz64r͍DXpN0̰tN M 1u,}aG"c4_{ HNKY~r%$=݁>} >&Aq?Qغտ{F1x( # z_!I۝Il-'{EAYOZXcH "+DjhjaYk7|N919[+J%̚#"D78D()!{nwniBiQJΙs|9-m IDATɾ.z%_Zxω,Z80Dlxޙ)azvV/QA{]+@iIL9#6ٵACS+tY!Q# $ĩy<2n6#)@.B?y/􁑖=Qݾ};c϶DD:a3:-nǕ/jɸb'OAR(ڽFPO-~vv$m'u7ȧ}׵)'Jyk,mQHO䋜R~/ãͼz8ǣ NN [Tg;w$g geT3.M;$RILǗJ[C㆒JE燲q>彏k n6%zҩnV`l3fum{QNyY7,w -tpY'/YΊZ-1am|y-W^ꋃ\> x~θMuN4=&Q(.Eam훾`Ř.=ᜉVfbޚ֢ѾӐOk~l̎-u7y 2c}M.edY'{ϜǡPe i_yj?sr=1(:(`W), rN![@PKC#"]7$sѹFM7ݿRK2=tY1#tˀ=C?کVq=N[ AO^\ky+ڌѠ`~Ƃ+"IMTw@"gþk+#)8R߭U͈ ^Hz`FJ,Zu"{z WA.IƦ Z#%c<)q:mݿ?ψfdJgbޚ%vcȘ=q`tH^RCTOWi)遨ޚ*m>?xp8|_%[o~GGf>;66nc#7[P}Dot@Y<5*(ڨQWI.xp%&%x'~׉Z /^Ӿl<2nx?9E>Cy趦'G"|wߪgv'/#AIdY5Vb JΙmdL#aOdYfF.\vig4ܻ儙U,#?B'o+-a4Z,EY@CưKUTpw}('ϚvW'T;R"g׷Ƚ$u: _LO [e]p)Fa=@t >Qo>tElN4$$hHLT!>ACb85N6nj;l>4ja.8#1isl.ULJFa'q{}]TۜT\T۝T۝]x|2QA:Ne~F{=>ԷZ?r( c6HuԬ=e{QF̅qpFy^\+ KVWsl# ="Ԭe8]2a &cEuؑ:JܼQS5?a`uU&yy]#UnOzhB]?\ ano7|Nj|ʩ< ˄RcAR(Ⱥr6?WVϠ7ﯘ1YSH s3O.q5LvuO9yIubv IBBB0iT5*LZ5z-"3 ֩VV9%# zljjFDwgr\0mn^A =J[qnY;{K}|[30B7Tb%q'uLbH(bXû.PI| لecJLEm4zQf#]Iٔh4cuGo{=x&ONDnke!ΔsRcBIzW[Ӗoj9T$U'5Cm>*ܔWRiľ4]Opk`/@0@w>ݗABpxTڜn)fB|ӓ#vt*2%լ-2($8V7t^C"&Z)Y,x7wxnG)AMLAIqPcz!;;[ ~y0jּqB%q2vdϛ ֞rz C3z;=HGZU1mLS~YpE s' xAo ~?9T`h0~ϟKgoa<: FRј&=4'I^癳&Sk7%xxdFt~jJ#:+qX Z꾐E!p'PxtwϯpqNAjԤ *dlA_ch{xNĮhU 4J%R*V5{31=9EJh37-8eEٌ5ctb뺗bOHjӜ#>&7 #>=c'?ȊF,3#UgG)HMlVG\W0nm1c򩝕nڿ ĭDqEg^+ʄJ: Li8y{Rޚcu?x|^ GEuܾ;^:'H'mE/2sV{~fʶnkeﬠ  ]LVzpe?]o,m䃋M5o6ܰt/]crH|JB:ۏUِt6љi>Q;j3SGhX*ƒ|(Odn[[HùlVKAR~s 7xDB;7lo7\mM^FQF <⪣hCM},EW/mѶhߜ+*otIwh7yw?C@'Co=[y #Xؾ),rP]_9l @(1@).DW\ȿ+yt:^,*UVWVw"xWzM+&K^EC\4D'SZZ=_\)7Q+Jyo7aյ2#czw_%s`x;@^c M(7-Bfk,˸,u8&4Ҙ5lmFƎW#Ǥ-ZJ/y}2gam'GruWB?^Nlxkq rt@P퉁 'M8vBd5?\gҏ,Lۋepzd.dn$l{d*`׍Cp2^1SzvԨ/T0o%F}= w~j>[Ve'@##\ %S]l#ܨ"&ﶥ !C?~ymy[J@ɪ1#'~h4<𽅫?m{Of|ğijR>ñX8Ṛ!Ǥ{ OVt';2;>TE7i/wL% QA2N/\+l ' >K `V%w=P/. 癿$aܫ7&#jovqфɫ6&NE !(TMcM.%D3 'ۏ%ݑr81QY'ądGAd|'[\t% iȲ+k=U,y&2Z yND3!o֒U$3M_\ 8- ;4TT`kÇ{pJ,0+qFX?|`Pj7Sp)Ss饡xRR%szVpux!Kpբpn&05>̮vU 8P$ PJ6w~8Yy" jC(-[Z_mnuVV1)*q}햐z!'/s)h{Qi"] {N<㢭՞tLT/t_)ӯbG01xqHO$ 4`!BžG7Pd,]cgA7Az ɠ'{mAz:Ztg+= uo kiӠլC-G*A_ZO7U9H vsu핹Gefg+P+AmPqXph7NjeJX}9YxWALHpK>u2(ιsBx*^z0f9v-^F%g1q(2a4?[u=g&QymD8+4{eGD .H5nuPz%y,b-H@c m@Q1xA$-ږy )oNH&0p.\($2zg$I]ᘀwzĦ>b},Ȁ*5u,52s}-9P)s Mpl%3?򅛭}| )G+lP+j #ᶳt?#W>geʃoI|.p:EQڦRfd/:˶yBnL_F3u$Dv| Yo Uj߯Os*eM>ɮ*^LZSNf \=)O_ w)"_4WƢ }Ho,}~IcӇTXf >Iæh31?Ɛ"0i=[R-KuL5  `|_{ %Mo-(% ZCɱw~EA$/o-'qv:DW!_>V_`zrˁ?x` <}`eY2һP!s.&*CbcdqV$xc\/+x Qoqk;I/3Zyʒ|`,#2b.I$ZOnsLVIi|}dŶBdKTRp&'F?@A$,; sr y7U>M72)꧀{Pܨ( " {w:46m3ッmr{B{ιϣ=Ι-Qt'g6A6$h6>_o]I,2%~OyC쉺GbOyÔ&9@Md`䑤7r{#Eܷ8*"10LL_gxˑ$*kOeWf:7wi7.\hjne#$ƦYsMg<K4D"O" ,^V8Z #EݡA.JnL\͐ ?J7,"OB~>7+pIß,"%VNvJ$ f.t'Rd,).k>M y杣ΒÙ |A!AHC !Z@hrŕkʦ\i@$IbD1`%~QCjbs$ ) CZĕےW }Ό v+3`%ϭYDpnj@%E۴=,XQc lyZǖc<󣁟¦jD5j"G%`PK4r|o<[5X锬?#φ:mҹ\oA&h)7uT.OKq|J4Lw?`׵e5`rk y(I^WOTP/:r7zػnΰ\mψey]+#t2L` e->r4~[̆S-62/_ĉc+Tz0#i A$Ps+ t]єVN*׈zד:RFЗT~tIkbc\'RƦ݉=]IyCc7'׻߶ym|zbq{w׌&j-ffnZxA!2IxA;Ν^#9_N,i"I<4BC#{=\K; U 4*#\G#d<2ΏGa0ZH5[Tsݨf~XJ(;?=e JDZ f,b23+bΏzseZi 6/HEHk 6PnObh+N(c$@mBhk0`ov6n 8#dhֵ5Zù9L łtq&5_9N#?CI:f@@ + )12+d\;K(ۨP:ĕRTEEƜI.BFY =IzSE7R۟\@MݤY̓+~ Lض]nB (Ie3WV*ǰNM3i+gGQ73<vfL糯Tɳ7RF3yB>W 6o!!Vda2=ïkP$ēS|3X H^;ҋOb9@mfd1t-g2`D=ś1kDE8vv6Q=K[:)!\DA|7b^$I<>swy70[qux67~y=)oHo{ R]̮7%}&ռtvDWr^REuF^|" ^~3c~Ep8!w3 D&Ii9+]fzwql@*؟SLxrPOXÛ#%Odxj+\GaϨ2}gdҙxU& I8"ѩDk5? !DdĐXtWb.|[2erraA^pryqH*cv5&bސpq&"e\״oRnK`̥+䎪bOQjߋ|{J*/]oΗpyJ%C_Y flYBXƴ,cM,v]L$%,\c;LS["3)O#1oM% )^yya_W`0X(#\{eё eH[i-&"D`?$9BoE:^jqr N8]1oⁱNir_h*@7׻oh\+yuC/_m$\Kn0uw.O;wBh;n#: )- U^oTn -BPP_IH'r^$ItcT$Ʀ\`!JEh.6Bưd'nyJP5]);kp$憧F\̂};q_1Yy tGZP@n.a)eUL_#͠@O{|Zϐ(#(@FP^FŒE]HJ1}uYNqc,9|EAwiMsK/ҋ]Nއyof.}(~J ~Uۙk+3dt=8m ѷpVslۛܨ@OC@CjDݎ.o(!h̏˩p^sVrNoOSzy.jw 5s[*uOQrGT! w{9W+1kyqNv 76̼ݛ1z21k*VK(lۋpF$xsĭ"SbƨL y+`H_-kOKloAߧ#W˭ӳXק"=+?+jC9},!ebj=.?D|S3 I-8YP|)ɸ[Dp8YPmyvwIHcE 5q%4I(V-vGB7~K\ۡ0痛6#WHLNļrֈ9ȽH#1%0榥K6L-]ö+ pRzinY ooZƏ 5,y#em/{実?b}3=/w0kJ^k~|r-.Q"t|29`"'Cy -rKM?RŪ-|5|X-̘!:r+D{ "$HƐ:+w>A:y8޾~>`8έuZ-; "!Vɺo8qHJAJn (>G^ib0!Ar&yםaW 8?wEE)0f @~\qh%h^CX~f3 )+ B^&]3u珸MY㧢 3y h(綔k+Irʹ-]ԓ~7Z9O l$5Ȋ 5~Cs-i s/wa(j FSjE`PbȪ^)Ӻ0VN ]ٝw74zmy\JIUz)drŦI; T"zu`O-Gs<Ŏ=E)˭9DHҘX9?U2xirr]՜hr}/W` @А`f\ ӢR'qa|8?*e_nv;̣hI I$:.ؓ&?R} P_ b^CXP픅gLz+I)oHeoʸ#j"M[?r;*VjTw[ $~reU4-)Q+h*P|:c~tkLVnLR2.IY6=:iF4o> pnQm |HUF gӍTUY ?'13~o>c`_m[TsH{̤Wvnf9FtŴ q3#dlz0<+kO㎟>`}OlL#!A3b+Ԉzo#1PZb3y)t2nsK]w7SF}YE^⦮|z>پMhTSמԮ|8n*rrt* jSJ$( 7qyЪ-<?ODz2N1e$=DfA* Kq϶}4lޤɧ<4ỢGb|!GĐ8-ߓs#|q\,\t@%řק D7In 8~=Ew1*Ax9:;$>9V;f{TtQ>T޴!MZz!E@L86RRA*9mA$% lb+H94r5ݓ*[IFk3*SHbosaڹxa,ܿMpyjWbsrKsI?Fɳ̞x+[YR&jGw,0[ދ@^kϙ[WryjGEzowᥟsE^>V[{/dJ+I2$ufu PsA B㎘RRek+Ms}ї[(*5C:EDș7}yvh(MrԥWx}_r~%E<\$0*sYzxˎ\q-`2*gRe͍?ryjWۿ:rP\lbG0)sx鳴ii[ h ,;rł$9o:o6>}5 m%&BOmD\9j8^?OIU9Ng0,Gc.Dޢ@C(`p-CUn݈yö͙s.hEeߍbls)k.Փ]@NSڑ^ -Q P+x{b}k;v+  Ï?r3?Z329v*^8u(tc ljsA#.\Φ'I qE)pk'Q13J*ԉ*.B/)[Ibސh|?*aJ.)nE1n?IgIMT;j*'ۤ6HbnY_Njx>UCQe$%1,I*]g9qe|b"YsmxY"C[mûM-2UW^],QeRC/p]1;y8XY%F[:Wɬ :ȟ25NMq˽F{[=X6ʼ_B[.;[m93g_QMqe5f$ 2#Z%CLͿ`ВYh&kK9El8X _>4HTT}izw{1#g|6Jj$HRm(ސFIww%w/RbȪ3v,`?5w,bj1 XY%Ye.\v. /9ϣ+NGHA9YX,V(ʸ z6Cn%V ,"㚾*!&D'/tF5>Y{sDX?2"{"枦{%)~MܘVIbސcY䗗˙}0Fs5"n6F$+Y|p'#[weH `#y@[nslޯ_Wݱw,᷹x姻)ogR<>.bE@#6Pm6==G2Xr$qia:%jTURoϕYR\c+㸮p/ய^DP/ϏO ;.xX҉6a.K(TZWTt> ʦPUKL͔jɂ6@Ih f}{ׯZRj 0% ҳad`twS@M3m^Ew&⾢ԐլשT|rD*Fde3,pw~ҵgmoY@ \H?AN9om9Ҍ~8i^zӌ3Uwb6byӂZA?]Ekc1UW},,~ f~q)>;.D@%O (uK*}otǮڝPThey#"LO_dG1ԟ{>|~.܃=i`"%&Vo֓e䖫kq6F=F7%R.1PYWyJoR[OwB"g>޾mLQ! q?z! b!yv2$f+n Pijdgw8Qhz(]Gךh?!&( ?!A3a+5$Gȸ9[M][RBN@^uϲy{m[7PkS˄DG)0mdL"8wyg+(s&=ß*5t)դ`١,;֑<>6 `j0 )-(=kyc73]/*ds/*WO6* !TVSnTU圔 ƶA|Q*d$ϭ)_̈ePv/ T37]aF?BХ7g75Cc1Eȼn6QUM_~:usb*B +?fNY8Wh![-%A!ShfΊr+eDGȉP*PeIi6ÓGSɹ* v\G˛**]ͅ^#h#MNWԾ {1 Rk Ebae">f´|c :_lО.d\Ҳ3)T ~Iht_!k$PS\k:, 6K>cL}C)b29bR!N~SjM3](Ku* YH7 u_#=M\ΪШ%SFm?ݕڈ.Rjb9.W?Vm;6[I;8rOF^b垵g짤JfM .63cctNdR\yw@eig1kJ&ulnw4SƴOT^[wД̓㷓;Gޮc:^BLl=߽ΪC{f@p#] -m]fd[BΜ{5\wk/en3 Z,x~>A¸a<55!}!~;/*Ο$;*,\k0(6Pʝቘk%4rRu?7O+ʇ$խhK Eak#w'ϯY5KLMzbW)~;[^jwݞqĬnXSL ɡq-;Sxg7l<'o~!im9HXH(1^!] +gWs0ǟ:+jf:T2u5r|*j')7ig@ VE`Ws[Jb^ov}1O؉Pmqfo+=]R\m>!Wq$%*4rgTr^Xaq\d&ۖ2o~ lqH^f*厯oq 2!6p,OvM˹s?= }!S T d?=3u'>Kd$9ך1K:Ŧ8{G~UG!Ȑ̺ʪ*Y}w>\730gԦ'&\Իq2w}ۘ94>y]ލZߺAgrIhR/fc()0˿#:slS1oS/0nl%]1Wiѕscq"p&`+S"6Z)!IX`V%'>DE|RFڂ\ B&t)!r&A^Q*<.0TWa3{^NNː(>7/#@1۽~j^S a4ӊ %1m樲;'M8v=L7jOk$9j54ƟdݎLԈc4L_T?U8St<+Lf V yǹ8q3hߓ$%H0Pfn]Ȼ)nmLeo-BIF E/؇}0_ଊ{aQ!~3=q+ Ɖrkyb}?q|ES ڏˣ[ UIiIՏ.tϪ[uuP' _s$DF!sM<\TS5UKq v-@ :D)(#Ogwp] ' ky[llͦ>&u+C[`Yز]Xt$xpTOїye<:tYQQV+[.xK BmQI;QsG=lUww$涄)ouI3J +'UrWڕJJ}t}kZE[QwWm?/Myr7 pOD6 {ɜJz7z5DwT݄vk⺺RDIUT\͚z^}.1huؚ )7oĎWSixr?S/6 ɦ{#mʏh'wEː*~x7s`&>{{cWz:*ɍG IU57ܖQ/{XxWsOGxݺJ+I+ʸ=쉳?w8X}֬/.>\ίr |c-٥̞p{Hb?V? ,2zm `qn7uLZkǥ=ΚFڞ Yw/%i=z|c*UF#/dX,{Vgd֐YVٳg̤H:vHRR2!/?o͸F=;s/~y QLm7'ܝTv]d2گ5sGx"q&#h(_{ʹ @j+5DZ= I^0*@p!;]+_/0[!&ř|>ٱR|ʣ&dوba#l9}̯pfQe274Z&9xD#rU!x6|1O1d"&f&\n pxo*Ux?rIw>Lp~9Fޫ6vjD u9};ċ_ub+ Z'0zp~YtIػ?{gɪ| ?'T;!<$Q9INN&99k8pVKv0dgg3o< )+Ex$Mj #Vs׽m~@ kإ/7vdbN:Q8>OЏ77L%5,щtj݈ sk$u )$vp{QgxOYr7L|_fŶu߇_`b%DW a2r=~$sFr\E?44K.k-[رcMڮy.& +9 7%j!QNevskаz9' sLf08FțeD}k`g.݁/q߬R}m2xp<$mԼ2-J@ A)%By6:rh_:?¡ty[Rɕu8ϭá3%3ZV˫cT:$$BGAk;vK׬`P)>- l6傹rثŝZ檫_MG@KIyIlvۢ0U0U:R'I+*!7s{-WW~WZ4f-ަ7b.|{P| PMn~Zl=$'kd*6(ɰ;6Q"dXl+堐J!c%7 j!MA>ؼ6-aI_XCVIl:yw7AdY#j ypx.OL$$q Q{5ӫxSY]E$|(ڵNB&Ixhعߩ<{NCh8\p3m C.+UuuOR*ҾF׳t2t:n> BtAW 70*%BdԔYaXi!!ܙ/3sC/tn7c=N*7Fɮ4y]y`6wX CDID P}wdv_=[ BK1cZ|y,ķ@~c5Ówc<36gf\>h{q97mZ/zl; G5hGΣ~}ӻ%8[w ځ974;&VwεQ=]0wUp!݇V]-?TڰےBAz!y^tnw^{H/5ao[zRa<rx/R#L (TtP^j>OA8wizhlqm᝼7s#cgг Es/?\5d :v\bF\6Sn9.MMl:e_ù<unV`V8wp 1wԽ!]r| 5 τ&U/M{I rgvgnoWsKZNQ`/:4>MPhٿqxZ=u>ajj,ح*2ۖ ?GH{1)|})wY'bUbn@ٔY|_ָZ/Mx9:ŷGun+`4(*@5ՂbjRU]MFv&i'3H?A^A>SIW\L&҈.&xːK8wFߗU0wp̚w4[pae0w{7_ k amtN^ݰ}MwIIʻ/O'B- \$IhpyHTjzJL&#F̣4ԓ_6TI!1a#’ufOTT )!zҶuӪ!;" 9̝*s?);ҌM{6{ >TE| ܕZǟ9(}k_;[{o N]}kĺM,> n6dPg)*5ՐA&;$[؞ΜL j:FƒHj\&Vn[v &wC&^&$Ib|7sŠ ZBPT*Q((J4j5ț߻p.&x;幩~9̝y1A^i*;WgolwG(u[e(ZmvOU/@;Jk/w]iLy)W7;;;;+k[l1,i0W$&FdAZ.n3cEU$$BumӁu~%uz_Ӿ\h.牾Fumե̝wtޓ9 pa ag'.P&t݈Ԋ_V@F=>E { XHtAh&Bp#XgO\;Έ{Yn;|vEjrcYt_gF>? 9m3}>WAw&mf:vDP}iA Ӕ[/vfӁ|m_ƇsTLs _ 4zkl=_'l" B3r} !m8/t/ ?OsRwܙsvow{}`!re4|Eqq1_C}wջ=赏+*  p~d2z%;. ,ޟnc(t U:A$>[:%cb¥EtAhf!]0%BtVOsc<s[}T~e{;-jByEHyY!֙xD3_ה;6M^Ap51|}m_xe5O#@&$@KR _Ӿ+a=j(зځbJuppm_ǝmxʝ ܞ;?&;) 3uø?ruyۆ JO% ;zM\s7Woh!5HzI.W~NEVM4FR֝/sxg\oIXl=bݾNJ o+\D@Bls_ر\S\Fs.`;#.;%?{!sQ=Gڷp2P㥴 BPTyH쮀e4E%xUP5AI ʿ uST r|Y ^.G%+djfC\nj~ifYevd _6Ѻ&vɝ ɷl}ER?/}쬸$INm+HM+nar1|7M oh}ܕ*R݅sYsW݅s=ծۡ q_{u 霃'ΡYEmHw(H%>o5x?6{m:@Yo{*}"joA+5.wf]h۝䈆`i/LOS'FA|c-'>$[?n9Gމy0Dj4* p]z>#V,kD@Hl. UVYwEve>swϘC`;By,`/:r㋊1$IM2IOAۋY<7-<Զe[Q37Vrw}(c?y}&O3ڸj("O7,`d~ۿ. #~ 龄3Ǟ񬰸~9HB'y5,{(!+}{H)Td P]TȑᄁQb 7#{ns' \4JE13mjmN#vMK8RCbt,u6ZФ4J0<6J6-IlIϗ~E!/Tp.#~#%ow׿C[6^>NķwĎ LwQ1Y-Mg<[_ M"5CtO|t3۝{;?ωb*.IT( ~'[ooVtM㑫ѷm޻].4!pPavDn0w}9{gRv`P/euyCl|Q={vWA5 $If 7@dPi%V~;Cyyd:uH-=0?<Q+KH_B29bfcWn:yeBV cSwkzmo6-:G!B©bnIfA5sLҪr䦳r>U*j߮ " …(8>7ܜnߟrS8?V2uWD U0;+-W*IxCe`j}RT{04|+o&>(|'MAVrj3JIu5Lޘ0(gl=c3/wmbrJ/3*9o>?͔y\"ĔLL@Ċ{үH}o&vʳhp/uI,ػ{L+F<;FΒioOH/C[͹0Yy`3j8ePP^$I2&3B5*vH>5jTse랂99@:н͘W*iҳU=-[fһ )*j}_Gvhc GfΜ9 Ф-:{QR݋Qe6sgj*C_p[ܵKd7>9u6:K<=z WJU?\ƻׁzlyV3{sQ˞ckR@՟>em{kXBI?naL3xJ yj{y)\9KLtA9BYzרɯtSpܡENPΜCp~`` =FsV7{T9so!f΅K[n%9Wfc4AwG?4M:4m( Կڀ&$vu*j>_YF%_}uD 9/H{"I; RPXyQp0Z -߷Q} PXy56IB.!RMh0m]N^!=6dO2na&$ ݍ(:;5; 4ֳ)U0w֐h#<>Gnn.{\Ud03wY>Kw!H-9H$F IDATU PPɉԩD@T axlxll>Y_֨;VHsczX֬\YWNhn+k61gf20]/nG[7>ܕ؝$>2LF>kyjB2ˊzFqWU08 col m{9w!IKnst=qY^W/,4b0VHwܡz&MBp.uܙQ(oZڵG(w())᯿>o) FժBTJW CQViaJvJFƚTF)CL 6IhhRP+2TJ' jC0=bj,ŬI;BiWc00T׫6QxrN-8Fhwl&-*C{N!Ùҍ9V-cDd~9u9g=[%;?m~x:)݇[T_ eX~lK#]MfI-~?mq38^EdP(![ԁwӱ ' \,c~aO8T:sgH Z}.W3浖{ tTcwʣ+ ͢Po>n&V+{y~AyC6kvP8wFxv8DdDFt48-׷$N԰'ը2t 4J9jd0[%shhخ3}j$fr@~w$- 0.NdА~(rLrDOX˝ 0oO&tZmX_}$!r6>۱yjO8#P8Wּafˀ]׋ccw0u2sEJt"Aj3ramq yiMV O$.2Xd2V7/ m/1cd0cD^~f3ds!U  *IemԶr{J!'<}X*HWǍ DGؓOj k>vs⽍Yv4/@H{E|HsٕGl*U%0)Ò๢Cw^_;C>Ok^Z ' <3:DSG"5|c)nYL1JJjBg +Kٞu&5A*/抹pg_G$e7/tD@sHwl8˗`S0ω8]ȬEw`ސS. _}oysrIP(. \\& 种|onqd]x 3EUFBR.xQ陀ר\ޡ-snE0]nB0ϡV(ծub`)v&8"} #!$k?_iڮ}i9=8}(Q?7amy[ʑl:F{=ޕ/v.?>lpCx Ll?yYP,{Nes=ۮ9BAQU5IaQ<:l4g*d2:=R9*r>߱9|y=<:JUjw2³2+:txlXL.ԧ/enՎz㮾עrbű /smUa\ڟ6+/zVhQTaPSIp럹r.wƌXU/Rܙͬsev{8w9ӒBO>^z1z* K$5걪*o4U[K@ނGP7;[hڨN:3dGNuDxj34uڪLn"!ǿ\DkkTs}?3JXV$ɉV17}M=mPKL_ WQ*hƶ4#7~}ʜc:k,M&Iwg Ct_|˧dM1쥟ѩKDquZJ uVmʷ;k?V؋$j[pc5^[8D@Tw՚EO3 5w^)= QEo@ނyty!~1I$ *+%ڴj 3H030sld@E\ o{v/z%ᝍ{~~t=}Ȁ|xBXl|? JT}XPU˘v#/_1?9 Йn䟿/BP201gG',uorBΌM̆4b|.s' .8 I+ Jrx ch;W!9kkQ^Y#C"rݽ_mHm -p:~}Hh\/sJWIbƼ%s믿Κ5kXpasGAhfUF{evejWF6M,ZQ+ަ fQZM;J`Z)u{yjvn֎.ѡtW?Vd@VC&U˹_g֋Jy4<7z-{ʬuLƀI hBgnĶpi.~͂}[8XCDZC٘yolb 3&~*yoyxlٗs8RZ"79B`(ƠZ!^"}v[AYqOެ`Br<:uYZz0wO#<¤I @ Kvȿ .\#WYNUl>^ɞSDxy LU7W+kyft*/7QcԨTTe5Uf OƐ6 OjVM}qz7J>ؼ7ob{v.G Av=۟_QNfi q:FD];EXxCy/ZeIzd$?sQlYZHx@3T^v_|.Qy~TcZ݅sG0wŗpg= %;۷o;wW_m -.HAj-n1p/Bo&'KAJ^ Z3?-b2B4JLgxRyVD_QI/kާ#<^\ Lz>RCC׊׬c_xcXB/h~طJ%UD>=RgWQJnU #|ozKOfK:D#O=ޅCtADrN>wP]h]_vά`ܡnuO<)y_RfCqA _6:T_ffaOT;YuoiCHPąQCYy}><00ldkhwX9pUDȳTeu7m#xhr^k=^5rYT.%|4i Q+3(.ycuot+7.O݅1^Hw+s W.&S7;Dr5t0w+;P*?, a*u~CʿsC \j*WP{M0}Ss_( ^cRaa:%i&} %]ߟ`Ց2+AqFGCbg]tDj^|d 1~ |.5p t<͚;s9k| LkE&NȨQ{( B3[@~[np\$Ibd?LC|fɢ\҂dFaȯ0 6x#8W7hA@tANl4Ȝg}2=͚ +;BYssG8vU0wvΚוHVVVsCAhF$aS#]> Kͼi_Ʉagi.PAl3C՘57ԉ3 2)ת>obh  Ibg~Xŋwt Fjsj6frM'ؚu ]ʞ={֭9'Ojj5-jg_^7׺/clVj\͚;BU=ȝ ]lg}A&Yd41nLHa2$ fظ}ٍ>&il9VS3Q)dD1deqr ti Z=eeߩ>vMw\:&]\9l.`KVBr'\D@?EGGӧO֯_ϳ>ɓYp!_=$P(PL:?S~=܁@~瞖O{/`Off&f+p8iF{_gA2_sW]_c(6s@To![M E!s_*k9s#,51\OאlH>'ˤW {;L8ǑcdWl&3MeZ,1Fwy+蟢)F}l+ƻ96 %j@%P f/ELމZNyW1U&+]^φDiUdmkX_^ㅦ' [n߿Fۑ$` ̝;~חr;1;+sW.pЪU+$I"??E> +<^ό[z|36Vޛ y|a!S'F6([ PXz\5ӯ檡aĄrOlObP+娕'_J,̬$H-}g[@BHQ>;5]s  W^TUUN0+VjQTH[t[~K.Cp~mn[ Et=ϏQ^?k# 4MbOؐ$(hϭ?.+Ħ]\72iUZK V[eP*9W gbppa]\.? ͛qD4k>iǟsH4c.Y'NUV5PA,'By$ϑ6ɋpõaD_Xۭ dl %Toxu_%!Ѩ2"HРQXw~I:tqW " p^bs!]sߘf;CAA\*VΤqz T'?+y<9!*\E^sylj.EQ*e檡aẨ&ɸ6ES.J ~>(ʴ4" PƧq]sN+ t#y}Vȑ#|=A2CϜb*}?ჴu EnFtn?[~ʞO@ZNTlsf>X%g/6I"]%f&FU-J>L Bs]ztO ^Hܵ(l sLmXMKtn?U[B+sG J$Ck/gĠB-,d꜏#7ܝé\'%E&Αֵk5(2Dpj{e``"lѝl4l%ee,_e``w 9%yQYo$I['NQTnAX|( UbָVt !BC^U=鈀.KW'p"{n:  =Ad2tRQc?5DuxHRoҥe33'϶>H= WO;*WZ-'*[ǫ|UVwo QVw~eWz%S25@J*,SF&;S=? NtAztBz`Lsxg[iݺusGAhf 9,ޏkJ[1ax6DFX%祥p}Vz~ x$gEV#I!\{Sq $HK7o bBռyG[ U/Ap}齇|k9_RADnyE7[]O7qO$l$Dț4~*+t{s9a ?ͩ k1Dˌi;?t>A̘ŽFѺu <ͨQz,(A3{v9pN5s݀ܕy|B]O ".,,iӦ'qF&LCAٟ{d02D)}OWYLT=Tfp jU 3^­WT~lH0q#M9nd4trCX0mk>5*^7g %) qśBϤ}L^$e?,47^8tF&1oGT {h@c(ojMGK3wLwEkMY#$1-3IrT}PY#礕iVvۗeb߯ 1AAx{+}Ȯ 3@E(}N}0+9nۗӹeVP?+ڇ1UY[@EB^Y/0Ska*42>-Qwxl`,\AHtA|&y{=>^x ЌJsWK%tzE_m|O⹑ܶLOf$Uj@V 6,8R *tgJm|ʱa@m`UZ$*锠 .B⿪dV#Z Is`q1TLZB Ye2S$8HA@#A Dgc zpn.pT*n -LRhwSWX #XPIDAT"U%Xb坿t3^F 5F (d +Gje|{qɴ2g6Q)a@!5IA9j5EOx,es-5_5}1x5;a[J :jRQUmc(0A2.p=_ok# p!`i nyJ*%Ȇ#V6RX.n +t?ycIDfŷbj[z/Q#|~&ilnz;ys:V! iٲeFZOdf͚$I\~_}Z.2j۸ Rݿs4ʛuD}]Y@! s|EQe&7,̛ؖVkM:]u^n`4j$&CC8}T1m,!~g4`ͬlaL5lrzn7^z^3OE48wb1Y∀.~={6C姟~"25+((c2i$z… i׮]sMAhaʍfܝu)אpJk,ܵ7x %r BFX-[[tVKkszo!#Լ7! #=fe}1;a !zQ[Fh:" ~g:u* bΝt:l6eeeZ:f6ͥ ZhXz5gԩz҄ssdffsNnFw·~mCAZۏaXW{%_^̼Xl5 5 66eU0ogom;s@G&0E.cwgs̡-/,TðT #D@?%$$ŋ4haaa$''S^^ΩSX,9o$Ibȑ_%I"%HMMeǎ}̜9k …`A_IcVNj{̴Xm 9ZT&1 2Y7(ye@-"î#&LlQD+Baa!VVKVh4}P]]͆ ?No_M6dddHHHH3*\ 橧bfu9{778ttJGlw̃n[?3gjӦM:|$7Pjj_F޽{gϞx^͟?u})??_ڵkˆ^@Bɗ:z^L^>9g,~Rܦ&%RBcꚾ'ԥan u+."Y34[W@||eiOuI=zWU\\+vp\Zr̙3gj޼yڵk,˙ϻ.ƆY?l3u1ka!0#׈=iXc}|>ޝN=W4}MjgSlv/Q{9%=S_W~ո% tkpK_uSߘ-4He)7jtYY%ګ%׹lYͰ4, `͎wp׫h֬YzG'x9l]w4m4\R<ݑWסSӋ_QBQ(!An%A~4ס:Qߩ% aJ5wס}:q_E3_>XH~u۩O+;5,t\.̙zH4irrr¤ОoTNN֭[￟@ޢ՟UB1)~lS.Dث31LX%o~{~?%ݜ{5f͞=[555ƍzj͛7MN>8Q߯Y8V:fFǍ>2kwH(eCjm?Y|KW :&T|oԶ:Ufc=CP Ҏ;$IG5|eggk˖-ry0ano߮8o95?30ISnPlxݱz_tO~.V].'_'Xw_㮒FJߦ_ r7ݧk۶mVxx6l=Ԑ!CpB-_\III>}ݑPӚs-z`r ow^+-ɥKK pޣ]jj[ O5JNI%=_I>k(yPЁn;Pmmrrrd#2),,TUUt=(//OQQQvt7mZެnwGvmN:s%{Jm~yb<ܔsff̘!IJKKSaanfrVQQV\5k֨PK.ժUxzzojޥc-oH4a9!l7IsXC̶ k!p7|8I룒UpJK\NҾ>9}dt$E֚_7[m"}5kD@YJXt3#FSO=i۶mvGe~Xڵkh" p9*&Q8gЁnr鮻ŋdeeewĉuW7TyyΜ9$M2E'Oր\J] 4H3fUVV͛7+11j}UfQЁnh˖-JLL֭[ϫeJ7tbccgmܸQ4qD+##CÇwR+33S;5n8=cZleXVV'N\7xwWcƌ; ݘR^^ҢRn=TUU+|XBe |74eURR~Z?yWEEJKKuQUUU]#GԌ3ԯ_?]u%'QЁ^$,,L>ƏlM:U|SL >\?~M,uvv꥗^ݻx[oUIII6l+++g555? /j]*((ТE|K[LC KVGު 5]i>zB=G &G`}LgjȤx}O19F3X>52Mp{iMWs p(@/4w\ܹSSNլYTXXc Z}***իp‹o_~,X}.IZx6lؠ[Fx16zɓ'kժU:xrssAAA۴~թFҥK˲(`ZZ :K\.*22R999:}bcc.   Π\FF$iǎ6' :KAAz8M4)Xk}|ewwJOO׽+%ls?k].U]Șa6Mt$:|!F1Zotm|ө*})uk]U6g 04xM'b}XCukDh?nt;wZ[[tR߿8tkܫr :  nN={8Rً*|?v$)77W~_k׮; Jz}O:sy#4tzLK2@BA I3l{kZ̾' ܞF5kojR n~vDgvHQïѐi3ƪRj֭ׯbbb'{;r 8P;ttv,22٘JbJKK5bcTeNKPAނ;oˏOi(8tPp :@A(8tPp :@A(8tPp :@A(8tPp :@A(8tPp :@A(8tPp :@A(8tPp :@A1D[IENDB`././@LongLink0000000000000000000000000000015300000000000011214 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/pcolormesh_mercator_wrap.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/pcolormesh_mercator_wr0000644001374000021030000020662212520135744033776 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxwxUf7 {"E l{GZPA}T"HH1b&HI6.dϜ9$9z """""nf˖-Tv3DD4J+"FDmٲ Tv3DD4yf9g)CW>nސhRTQLTVaHMFY,|ӺvKYq`+UVݴnA20ATT1{`o҅58v%QwIi&eYe5?:~sCIYyU[@je6fṳOy0`/ >¬Oy0`/ >byUr>¬O@¬Oy8>¬Oi0`/u\i "!1$9H'[A* ¬Oy0`/ >e >¬Oy0``'_ 0qn<~a'}8\#rS9#k5_v#|-+I' q db|¼џ@m>m?)qfE7Y(}㶖,wÁi芈T}tjJʺC/IDDD* y[pb;2FC,b@JѓW{`,pp;DDD*EX=߳J>r .W4` tR1W2`\h`\hz| osiDDDʝ 3`ŰTj ZP!nw9^\ y708/z1|Xgr/@.p'10]!DDD|CDD=n'Lw%?-&ϳV5`<0Xtqoۍ!DCDD4ke7@D i+7Pݿ/ v"%2V>~{q@)XFa'""waH[njyr x Ʋw~DDDt 0!'?"_`9+Ny#w0W1 c T+4 Ӳlj͈uc@’˳QPb,uAqODD0]1fM-8TaKQ :)bI5AfH2Re6ܦu&E81_ #dvlc8X5&*QӴnAp`Kp-лzZ9>_G^Ť,J;Rg%T :'c0f +J8b#渀Mv.6{v`}_C:o2`VȤ IkOy0`/y2f}Y~a'_ 0f}š>Of?feF#J3p_>q$YaA;6cUV7iCYg>LA~z"9xNX1f~߇z-!VBr@ͅȷKk| ,~d[`p7n'a-# Kck1>DDD|DDD* \˖Ch< ߬Ni`apRc~`0 _a%8E OCp(^i!pD;c98mhlɔwd ٣ lՁ֗rXb݁(`l;%rI'Ѩk@MvK=䍅' 6Xq K\q'4]Dx~'m?Ɛ2> =K㐮c'8Xp )`*ƭW"^ t({aX w7aj-Xr+%D[DDD+ "rְD 寇MCX/ !sfCFh=Rcl,*6[": BC` V}$xDY}:n?O[DD䜥""g Kp0k-4%=^xG?d~>/x4aL[,~z}/<X-PFG$4yܸl˻Rmsn[pa!{68W$AZi_& _zTp8Rdk({*=""rNP3g՟8{P<=Uۀ5GCVǙrp5hDO{tu]W9\0u4=\fk?9'OgXb;  #"Tqˋ'\ f̸5,ҡD&JKw7+E"rP3oSO7Sb a :v u 80lPgP1,o c_fNZ3AeVZ~Ʉ'0b&n4]DXYOͷKZخ ׋/]귄oހ;;IO@h \[+=NEK qYBcfOp֟] Ē53y|Ie)~^y1o\rVl4Yx>S~ɴ뿣O0kF~jD ‡ΐ. f3&@`o^ _CaotDDHݩk]a(ʇC*ev?`^̓ wz'{O)^}cS9mYd9 C֢ l68<ޢ {cCk_Ҁ aul\~H-S y Bb&gV>xm6_z{L-hV}D䜡""g)\=ߘi?.ֶƞw7RvHgl6 be_u_]"rP3RDᅩha fX9~i{BG\ UYp 9 !J9|]x쿄y%5~H=WU#ҙ@YDgu$M^+x~^`-ٰTqFhiQ)""G t9x]Xd $I6 ߁Q+֨W=߾ 7C1ִH^;gBHU *]]Y,xY"*'تFءq M7&z 9r ̻=lvBV!k>nB9. Z!u7Pvg8B!m 8sFdzg\DN ""ջʞOoy< ='ݸɼ}9a²g1T jg| _i*{1?Ro /:E[Dء`|8 #h9jU:w5wsGK8N<1YPz32G gm"R@DrpNYu3&0kZq} k۶X4ҕRv3WAVIJn  Bdˣxݰe|C8^*wcJ߲!E%1r79[X;zMo]<MUx46vۼ^(ʆ= 7teoT^{E䬢"s^?[JꪔRBhpZM=,iq- /H{p 9vHA-ZI!>o:U!g-Y`]WHzXbjrܯɂ5 _ȿUCVm"נ울ugaԗq.YH{s~m,m _'!$X׾ehx9,XGD(Oe2sԹ! =}x*]`jчtb gal,AD B+8ܿx~϶|m26h0L6ix= -WWU )Y/Rع5훒eYwr.|(oٖVeB-T{t:+tzPPʥȉP*L/SfOHw!kC۽^/G~Ɩ?`uqr-*D>v Q  8$'iG*6n59^[Us/5^ Z3tcA4X,D=>9(\vKoh>/Yp\iZ{ AP8l/:Uۦ߇60q4"S}H[`??_E ޸ܿvQ|M( cbXFb%0ط(~n$ΛQ:м1788ů+@^(J֯CT x7N'%Sz˞uWB^?>͹/wNMޔJ 6울)wŅ.M̺ðKvR&q8)8ֱhlt#,ނfoF/_!f̃XE~bՒB`bغ f#wty돐:~[o8Dߖӛ䂸;rQbXÂ?e \7Rw X~r) M?:1@eэm_cE7WEDDN)W׃W),0HL]n!5:[ݳ`[J6j /Fݡ0t}+al۫_ -·\ˣaםpOK` TvKd j[qT֣pBU?/AߕPMlg:=] < 'Z]DNƀTFwqmRu)]VݦNi/c1v4ReDA2nӺnJ&O+s7qѾUvfEhDU2iփ|ο- Ӵ G_aU.#y];4b9։<8 ٜ;΄zA\R7׃g ݘxe-2 *ʐo7bRfz ^ I@ߧ/X7)+cx@x}ʎO" Y>&IޱR IDATڡ4a'CmV5Ϗ# ,մ_ 0f}Y~CiLQ14k/avN4W0(.{.pv%ȇ^Zn93>¬Oy(lƬ_ 8 >EPD! "Rn'֝[4$cXpOJA4{Jzx]\?b x'F|},5ckҰ@^&dG g^/RVB(K<=^!udH }*EԼ]?Ӣ9;3MQnf_!|1o*x3 BDNwF@kb|:gc.V+M u56s ݘ@yt1r;f7HBwx&Wcq01ؽV ;JEٺ`}^26fPw0׫V)\)Hq]ϮU'uq%c҃ N%/c/AX,zb,fZA#"C]Hذ8j"Q</ 'ek;|muv} :|?1e0I6y=âK_/ tKB>ky@Dm_ǚyZiWᝑ.0} 4rwCnCq&x ׇĻ*?uա~/t[tVڲ4׮XIFJ-Cisiwe p9=|*fnw#$G){s(3`U TKXp#PRc|GΥlQyG/fŒ+K@-၂Ϡx9x5 M v~AZDSSVq4߰-xpE_Ė |޸i;w>n!<ބ_/Fq@.,PxWR1G_h "aMmҙ.aC)Cѓ/+ؚ7Pd\hyL!lD{X1=$k=l2@ʷPkPouň<= [^U?[÷QM8,Ht1wk(-߳H2*_E|Hѳ`ì;{G&˱w`5 }jÊi2¯yBVD "bNDDN#;THQ՟\Lcs_vbLﲟи }n2iˍivc֑6OT-=x^2Z4W&e}Iv b[Fx3` Ha4&,G$ Z|t?grª`PJT\,G~Ǟ @øw0&qmEX˶t>A/"*b|/Dija3bSF;YP- _KC">}lx=d.! 'T`CDd(HZ+7&)|4.QuvJMZNn)H3 0>)^l] S c$qgϋ֟-yq; 0Ǣ(o ߛa _apOKoQŠ2ڱʿrz}FNquv(fAFl旷wQY(Oq!:0E.kD:wvϭ;\Aw !]'w;̂o!^7,vp4+!7:|"Rav/Uq"ko{ LɧfH֝+Xl'P{PKBjs5} ۖ /yRI5|#'͸2zSWg4Qmeȿo:Ӌku=ب4nZWݿ oidž Cx+[9qآ(Na-x;:1~pU@H/l!m~ݚ3a!,Ppyx튕ʒ> ic&`EW5]?k! @Bgq9d U\\^؝] Ek!*7*|T"9eٵ. j VmA/L"pr"\p#޻r)X;܄XmƠjr!{>l'΃9,-vy%7#k8쏵y,xan_[B֐e% 7'v(. N_6yl\ LR!3oܶ͋39< =idLAcۼuX($k锷4{[,l*]5@P0zB+i: ș7d*;,t:Ujy(j61Il3|tbjd>jx;|8CSln'wj;5Km)IoB#Vf[?X1[?@ *7v1${нbua뫐 Bt}L|Z2#)c2D, SƦ0~b8B{na|M3!CH+[}""']՘8&\7 %^lm @A{/~+xnM1TV^/Yɹd'~̡1b7{O5:w_D8bðXUNqH;N~ ~Q,Ok4$t{wÄ 0cH-MaGӦ(CvPq:;ֿ?GL3.>Vw_qrod.ߎ-{DvܾŽ ţ!3KVMI^I$ a- %4_|@~{!}(ͅ1]DNK "rbkSQmx>sw}f>g $m?F] fo.kUaِ7)vڸ:W 3sI}l-R(zmp:]wFGAa,m o >W1t\ޟD 4nr){[R>4?fyY.b{izAۄSARV Ol7 w|!c3LS[6H .Æ m)L55n@sH󕆽^/'Y̚i)LzOl~h5迹n[Â3ŠW$~'E2 vI|Cqoqh Ca0fl@R5<7BjVvXn?e_ϟ=ٶ:sxt2nM|ß$B[Mn*v ѿ3!yrW@H[#x  R(jъ[nFA pmWS""'OC҃k^/_<ɯUʴWփ, ]o=)H/dx=ƬA;@˛aY)* G]go݆fe[өlyGƌMg1F;+GcEwqO^zw2xSpqU1|.{: ?˜+`dnYVq$s"D۰U8 4Egoʺyߐ _LD:_qb3Pnf-s U hܿa:ION#QQ%3x!4J[0]{J~7 k7nr!!Q7? i!rqAL(h\Iqt0@D-1Nq}6W=W*3v|USȺ_oyW~׉i2=//,m;<65C@Qyn%'}j Xws85)-Sf4ڞ΍FςlAm kDYo7b(sV`]WButm?!Vl%t 8 7}"Ca2mՕ۞3\v g.#d"\tsOQ _x%yy*~%-y^ݙH Ԋ\ՆK n8z|5,]/k7jpm!zp'Av@J?,$"'EW@D*@mBg{IR:,UVݦFJeL`AqST̆۴, J YDXi~^7^ dSu@W 4bæt|\vEi{U^ϖ977l2R vBʒ",'g6b.O&/O`4%SI oCmuf qՑ3d=d_ Xl 82}x -r_eaRO5ŐěM,cRE4j~|}¨[_ 0e 0sMClϠ tnWvyܡl'D[w v,:uOA==v@GA2MJ H4K0;bW?G ~=n>N>d.w80-O_{ >Eq[sI>E66""5.< A-28l4l\EJu 2!X,}/c۴͇_YHpwࢭԺC,6+ lP[գϔ,aXBR [W‹MWy2ͯ56oȝE yH 'Dz|f6AVg)[HO)"(ɩ^q^5sE85L̸PFcaRX9Bh./p( @BKr[b!1> sZ:wTj Hh?ӬJ|P,~MƱ hw9'+Pݒ#_mOO3(+!,n w!/,P̒"p,Dl&##+ 22yvx4km}~*ct<#'La2KѴBI";6j^!?[0u=K" 4ŭp-jǓ6j.+ښ ,DPDߌf48?]DX'1-؈kZH97, vǿ3C`CнCaFrDooy(]I!62o^ m[TfOI`)QVޭiܸEQdZU6#iŝ"MϢ#2g1$a4*Ī`O0s[Aч1|{7wZ@BJ TWAED߽>edG%V22"؇Or9Q։XƱdu|l>'f j< jQ^hWA*~XB6Toѣgfz HJQ:E1}q\9%&?)9c0^9MW "eJ8\z[ג#P{d.Hy5ǀ?D\{{!q}#lT:;:lLʼnze$fX=gO3ҘU +I"[Obibg g&0sVgI +q)Iq$* s|-bguXis{jN RBm!= B̯lʀҘhWD @mHOP1x.DR ##ڂ-+mņ&1iv%ӠVeBoeP[t(zMo#")FķhZP& IDAT-hofy8Kڍ<Ł]>LtEtbGV[>F>kBj<+e5?jͲ͜11HM,_# n+b]oL {VoaR9z,Sӕ y pixU],-ͭ|;EIh,*+1{wgjS[v.\;3YbOZvmI} 1@/uXOr hs6N,Tpz_Fv!e~.Gtb aeSX\g)$} WړP@f_V(!n~Dn֎LuTj!s(w9+FNIf|[EJ )8wBO>f|U&QdY@JD&JD^Jįqr^"]dư(l؈l"v ;т%[X ^v?DhDx8<%Ęʓ_hh mڨ ";qWШ+ ¯ظd^ВM"H^My ..ijd5ᴳP(R3'u(P%蛯as jP%Ya0I9N,\ZSnǶt޶om\bm`sq%= kCZ5>6eD?ȼ_!Z_ҭ|&Q*5RC[ܿԁs`C!_Em>!~\] uPi^~{l,*@P_LgK9=_?f>w{ ~I1E|2 &RCAthCXC:ܿ#1O]ADQ$9N(\t"C<ĹS`l1 ̲8{IṽaoӗAպpb?\>V6XyIYZQW-EOٔddd'tG86~5ֻ\5 \=rFRp@N]a`jf"5B`!IW1{%jhFۭYÚofY8z0haˊDZgXܿuXw'0Qi<GZ|: N<Į= =i :lJxpibi|g5!)8[r1JE3ۖ/_txbM ԁ_H;/@e: QY3zSNv2[7*"\]a~+߻tk:L)#@ٍGjbAkt F|2VlXIK1b4Hewm"LR)<nE4zfP3_L Tq߲h<@cжeaƢg̃yl] @jru ;}LT.zȄh#K "޾}p;o˜ao!(5wz r踬&nswP h5VڔF)>0 g*pﮑ2-TځR 8y(p#g[- FZI'mT];!W˘c@%p)A]=Aɛ`u(U* ̇`OZ9RBjNCorh5}&|.J%ToaGjc. T=GXt&FsEfVQ9I\p,%Ɏܳ/uA(;}I z:=돀Y DLNPP< =¥eQ yqgts)OtW2oHiH~egmzO68"I':Uf@"v-cd|e?y:/'Z6%:RY$lU 8zEK?L'=]zK&ddN3f*TUж=mYĖ_SWkְWs;M;RFj"F!y67DMFF&G L`['b{f z̵#HyRt\VSpr4ҷ<)QՊECsV8WO$] ߲$hĽ4:3/KbRq.OO򪾦^(B-ı}fZ="iI^W I?>l(TifmzS ևCbxސA N_^UHOS=!_]hrjmRu#4/bs"Df}+/uH>739sB$HiLN>j^v` Y0sU]n_ ZrA87F/trPc}.####>M^c&>zR;;|r_wbW'hX+|%owgӋ]rTq Ԕ^n LZXʓ6*KVsI9}ǁ2l#彥\$S_[}`%̭u1 ( 'B`,톚 d~5 9g7_ t NOLY,e#kǴ/k_4`Y"wf}"Fϥ(?6%`Z.L |T.tCO5£VfSM#ӆ°zxh" 0%6VY쐜I^KTe}q8P=D@А"ZY05Lg|`镥,L<Ŕ \vbLeocJ.[͘ZvV|„Li0%U.B(<ı6\>_E4 @?Z"K}QŅCk#UBe.P>dOS/>G%scĮp @=HF}: .5C ?Z#kI0\f7%N֎i, WA0jc 7C!.lY*1pp*N~fj2(uQ2*Ex}0`, -zŬ3F#$?=+Tj HV6-Bz:T*kCʖ9cQPRyߩ[@V@dd?g?ɂF5)Ȟu ŷzg; I۲? bᒯߎˣ!Ybj˶3HKmMWCLK' J#ú`CݯsvOT([ .@~P<Q,|)lvlk%bq.ء]nކ'K/[.Y+0Š zlxׁe$aAr6$\8ʾRSiDF&ȳ+mKZ8wӆK s["!"]R:bRD?N#dhxn{K2Y$q,$߂MEªTN͢CNX SMHxj^vl Oq(504ٽ3?6͂noMhnA3gf|EDQd+`֏1X~Mj$I?i {xVethaA)Kf{Mgrb hͤyhI)###2< f87]ĥJy)Ia1w0'R8,j{t_G*bJQwQs g|eLss!D@DM`晃FT%뵨0j R /V@ L;?`;,=_m2N0w"9jtnfC~*ևa5Jeo=υMu^Zd #]/P &j9Nُyp9NBP,\QPv#n0 \ .6'hlHSLy%dddd>DdDF&P43GIHFc_5pAUbfd#wh]4t]l(t.':S|JTKDb1&"<.ܹѲ0Gj8D*PS>W8 9 Ur(V:x5Jn`l5~/|*ͫ~gUAܺiWHY;N}0kP vMo3 kÐ98O2d`d9L#8-TݎANxR9QHKO[;&B>R='rqrUqゎ4ei!U'C_ ,̮.g &#kDm> #ΑO@ddךsᅳ,⣕- "(+$|洙VmЫx<yt'ٷĿ,;MQh#Oĺ#s4(!鏭hb=_Px?*5L[ԓ`~Z s>G'\&N3NoL8ry>_BbM/S/^_\4k+.}T|C"b {lJl(2229A48܎!edk22y'hso5X/k٬͗Pd#Кgg>yUH KU\ 5Jks, yI ":ʍnҰ؂Sxא'OImĿטyw+Gp|ŐN{?OsN_\/'~yDn%a ,}C#ۗ8z_cmTFvgV|?_ZreSˤVsˮpoY]s?w(229FF&Q[n˧Ecޞ`G喎PiHz4<cN;ܺFZ`H3ZX֋j;poyē  3(XYNqxcLLFcM` !°1$E)t u}vh PCO#GAA+7xrOyljm*kcP_JɝAEAЉHG9?oBgFu r]s&/uAx>K[aװqxI!yKύd)$Eؓ#+ 22oZw oDZg>ר\QKNˢ(rpM$w%qct)F XY*43ExƳkGǀD>O͇p m!\ ]n5y0t9|M:)\.yuBw8DU%Ѱ/•Pd>|2*^X=bhy*5@&znwreUz,B./o4p-K7H^55/KסT7QXج1{.ȼsCf uIAd$Y;))nfZ(Z 㥱H6X IDATE5'<8g]P,^Qbx}cݣhT\`ElY3)Qߪ+mˡc)x|l_p6IP+la׋ 6P=s w h:Hܾ#6SPA YTnoGZRSyY@RօaL\⌯S֯'# |d2Az5"w= w|"#+Suxe`4Uʢ(ic|JX0P):#?Jғ$~KW+ͨU~gj%e&4jP'OG ́؉#F#VzCpuC1N#$y<+U v~6]L0vڼ^?9Aח% bUoͱ_xOХ$. cOifIA`l w YnE'p ed> dDF&dsXXyU}wHe6{C2uOκc}M&⳩j,;dlU&NLGvZnal&h{O3ʤG)fWlq+SIR4Z՞  | -*"Ĥ9'ш}6Gk i'^0ptYLlMy}a,ppzBp%@vAhgtp[ϬnrTýL%c#%0bgy0 ,_~` or,#~:raJ&\ 0-dLʅ)raJ&\ \Lc @ibrlڵȗ쑽Eu<.dLՔ\ *){:חo\k=TP߸3O £AF2(#_AV@dd-F lWM&{b8VHNj(msƭV!,=I V9f(zuιD6~ ꩘ f@c/iKV '`3‚pf4a=!ʴy+)|GEoQPJ)W7,-ذKI1퀞85TU($r0;"r%iw u8¦ |*223"#׉<5o5|>߁z]arwT*mp)`I嶞/kf_NJS[N/Sr<^]hhD}:>c 3R @ۻ vѴk @×x!Pl>IapW(fRPl^R`YCd-(#3?OII`Qxyܹ? ?7Sĝن1v_( *LcS ixan/R%Eڳ^֦%).C* z=<| AګvsWCN']O #&%#n$ӭOImg8S{,E<(`2ZWɤ|H ;&q*_ێwQ(a$Fx gFhz6vua6 3`EHơHD#%Zwe&(/D#KKa7'ox.޿HNS- im$żvk%J% 4J__hޅWaȷ\ jB@KDDd=6+Q* !30>|`fՁ(]I>t˷i w?~>1Ϳš^i히IF=F>yDv2#•sz :H!Q~6~m)O[wi cwKaԯ0:ׅ^OL-rb,vnf8xYFAOyPLp6\ hJ}AK7"j09hU B!`n&)Fm)+W N2e!|iG*0 ܽCU0_LD#9']9NsUֶX]8HR66/CrNmmV\W,xR毑JCFE ;p%ew iL%5+$yZ_F 7%ka\N\Uh^ &AC`R'.)%`f;Ч1z2}L"1Ql(̴?+Z.O-WXpٷ!!ߵjOKGqWFzz3vcbگ=(!aY[pi}yH7@т0<Oexp"n8z3ݖ6 C}b2H1<C[HߴK(KCc0qʥpƪ|Yy(Q՚qXSٵ^Gn„G33LR<πF&N /Aq6t#SY1"rMNߤ/((~z2 ,wx1d^z} $Ƣ֒(fCՌ8w3= "&2dO(|^2~OKS$J r7GAZ*|r"!1|KÒ30k ÚSRM@4 7tjP ˵ OI0I"#+ݔb3>>]tmjeA%@ɟƮK!йXix;YS~u_tVI^o0 Ab_:t,IvG07CpCl-ᗙ0k,,Zcw]u=x6,meMR`qgC2l\sRe(00(fm6P@,- nބ" 8T}.2!c4OqԐNmSSAc ([[UAЎnMRFG {lȼ{J8TWZ ÆBѢҵu$!5Y_ hԙ%| ;H@ 7xv-ن C4fVU[W#XY,^4bN8>DDQ8UYRҳ`?J7uI|3an$~2s2R[ӗac%RiS!:vɃ ʼ'UP'pfNUaV5*7 K8w^͡B c_'f Pyo#+ 22) DhJ߃AFc9X}u pg. NH %#t4vqv#u/~M/HB /p ,FqY;(XM~)|F{&Um;+3f{Vb@hu&3zpb[ء!]R§й+ԩKe>o MCdutСm48}yks(T@n)}̅&X22y}DCp29(/Cazܭ)| %U뀩&sA@:t_‚yL}Zhi!cКվ@՘_df2}`Zظ_ /LZDچnΝ$NLWM{$@:yBO;#_vKTrJvI4gC_XlnsDd273| [[,Yd#]Sg݋ o 8!E|yڿ}DJGD1נF<}6îv yLO3]Soovߠ”Ld3S2”L@\ L˅2T3rr4Yפ\ ؽ݆Y뚐 S2`}cOnzTol'v2dbD6C_MI09ߜ'&O@ddsCp'30 ^Uape vνv[G?)c,\JmY?c+$I21 I/]v h07(iIzv.FXOen_3 J3)r@ٿ]ObkԨGLP@nL>opo.Z\PXYo YyOyCf(WN.)O; 0.=FP@kJT@ s/ͷgI1. Rwq44Y_R߁ǥQ[kn l 14)U [;ɼ=-k*z$RDDBVKM;+)°N0$#2/ZB0iYo?{&nKɫ?t223"#r Tm !)"4{ R)W^T@M8z.z.i˨Uq0cQ,#?k{E>IǮVPoӼuC7/Bw4i:"Fc@ʓbo>A0.Ej9XPkc 0)s e$Mvٱ>`Z(_&}.y̿п1(3ׁBo?!4uY#U\'uB7KFFFyHI!` } (E|xU]w/pp}K2fW5aAk{$)we (۹(7ܤ]袓is̜,y:8mIGQQƔ&?cHcbEʓD?zYebǃ)U݊-K"DY_΍#2T6퀃ǠI=8{~X%/YK @4`; :+,t%"Q.##' 22_|aоW>!" }%vm*3\&$~GXxr=CD`Gg\%^P/ZKZl15 PmǤ v¢]?BiG<=@!vp%r$ nȼ* {D \]w4zPC?s  0J"R&]^r!8;jT*=zPK.H~‘&?Z͗zy!7 1<%{|~?^ѕh5?K;qgxos̙h`BKH jP!&͂;eTL_Jzp46.xLx8K1'%Mp'b&l8Hׇک1ޫD")H$0xm *jë۳}}y b6#4`} l\8uџ`צ1긻z e3mrSɵbVKV1nH6خՁuTN@% & Q1h|ի%5 .i V64:Fε$,J$H$BS1u8AcՆy?sfHDacS=#ekbhGQձX,>i;9YfltiAc HcǁnF")DbAWK EPy8PP+p ]L:MA!MMv>]Y! IDATY4 :L=1Bpt((D.lB:W*OW8/ɽt@$BCgCYpujk_:kʹ7 #2`ObSH;Aw`1HO!9RJ J^*q9|06Fǝlt5Zl,3PA]#☮b۷g@`g24r~^#~Wo8يKð bI8C#9P[.H#2]" ?DeA-#1q`|(N"HzT7x>wF1 hԞ5_Li ߧ")_V%>jS_@&aCइoZ 0_ρ0:3ԼP׎$}X8+BH ^6cPǜ/uvs#TåO;l˸D 9"H^{puiVj&l~|\hlZMl7T\"aB׿@(*R G`HtL 6GòHQQcQ_$a5̽SKjۃ|WX,gKl[vD FҾ:{F`*K$I"oXDfmYNݬ}hMeqoZsɷDOJqvp<0 %Br(!?|Wp.V_Ъbbۇ=L Z)* WaN0pyWsY():D멲e[ȥ?!^t4'dW1I'D")oTGpĹm{燲nF=ބjja/'; Xc6SZE`}g :iKvgTwF8\ `J>ŌGФxs6_]CBh\guv"y&@ mIO0 |]MK dW`]tv͜M,̙ݜIZ/gzO`k=h*L ?SMˁWyz5<ŠO _x0waBa L5w0Y 싸LLrkҏ!l 8wkI[qy->shlg:{ lkW}Hw2Cc''& @"(!Dr\l]կsqGl37ùp4=yxb)ޕ>Zg/QV˘Ze5C{ZXׅs27u;:^0x&l}Mú)Տ}AIJ Clh3'8Xvp%z&ҺörO 'Q_IFOk@}%^If-ƮIm|Iw(]Yg/ڿ I+qs;7}ڔQH$%"II)WTJ˓T)!H{Q"ȫL몰ZpR.r -xZ)L'O| z~hH~TNRnDgI[* y d+u#QLoԬ!;A*\V, #;l[[S+yHlS0 4|3>NOAo!q0?EC/0k'j"&ALN / ZL׵8t ;Y+Z!>!P,0X)p&l6vdljA3]oq{pylTzN]vvɜR7ũ~ +8 ҧQ7W Q^.l9sQ'KHD"1WR/37|qTێ?FV[[Lzrr`᧠W=h jÎ'pе>8 X&0k[a 8 u3dau $r{i 5x& @U=\?-PhkWh O3&?#|C**bX(a+. 쇝؇h_0pjXwGrIN/dFgk*D")["HhI2S79#?oBωJ-w0iXm[wg@ I˂{`L89 㾇g0j#h!1 avXrN` :.4eIz4 igEe뭃iN0%._B5_I-Pcf;Y¹;hCd^KE"f@r9z..F6u>2EFէFry̩DRZx &0%&  IIbӀ_+g=`Xض"ZM7h~*85{_?X[h[ ڿ)haNX6\-5t:)s-:?GM~}BiY~>o$V[[X,Fp\\A{8P|Y>=g" 7Bw>DRΑy@$cǡLH)P!yE9ENjJ#IYݖB1_gvDW5 <~z'zh/\Cl[:{Ap`HOh4hi׬Ɨ9Y{9>Zէh8WD 3~_Zl %3*3B;֤^htϋ"p+g)%t@$IfH10Ȥذڍg5Ŧ {T>uake{WXԿKǚ |>$O0`. evzx :ÔF &uۅʕ 8K.+y$DRL"HE _R`K!Wo%~v|clÈ dNLlyxlbM"z|>?`AXus&ԇC`5vR6dQ󃚪\1B=| $c,Ӏ[iXh9/w{rl.Qn=AêmƬ?oL%xB/z-H$"h( z*+>*ff(H(-9[} |~:فx5iQS3)+Tr.h}%5Qĝi#xp*-޶ <+MxTuV/WMZ4')O0UgBR7ruxz² OXN]HHH̬܁{~ wB5B\>0ZU]PXqtȶ3ftpB[e=l WB LO 82X&@. ()x؊]ܰ|Mj>i_\7:ğOMʡU4'μ&ry q?EU -%?!ЍvFA%<7A%P P %|~*+K$H$Fi6t6l3eݡb1^&V<0w/&[juЭߡ^uhzWH v O D!M`pcl j = 6}F6k]x+Ne֌MϚ,/@"S 0> 4K )bcg# Ƿޠly7q\kxq-R;rS$Bo+'\~%T"H aFf *$ƛאf.뮔k\ܴ|soW5ބ'Ulˇ-fs k6C6h'<1,&6_Zz ph"l j;? tBb/vn-9Czqsn^#U^Hqp7"83mcO񸼄* Ҩ5b5٠_hF0y| {@۪x*Po B Wu:~al,qqZzJ"G:fFmKt}Mq%f< r#TDJ$xk5; Z!5ɓн8zMZ)+Hnl0kr=nG?zܵD^cr ~ dV>r>Np)>cu?nLpWXJiÆqI*1F4z)kBQqQp D"XHD") &F%%ǢHn|BwTd=(slpVi*eZ"Ԃ>K4XtmemSr^U(잯3O;;`gCM7KFiRAAA$Odu#A,Q Rف$ƛ /Mgv*]*6a a=EQl: &lSa`Ts//P7)RL03 VE÷9@xk-2)"FT- |6j̕B&@.B,,Tk[J6v 9OePAU(wwU> %va6[XsKզئdŵ P %eP Q^M@WYN"3 TxP :`}pt Ev H/iW7E8[xjZ />FDO;Yӈ17 P|ĺd©;6l ⠒ÀXk{`mH'0tNcD")HD"XV?XudѐYAXXفm1`ǃ;8wo>4  v+fla{Zu(N7 % "wN#"-Os ug"@'뇁M0,Wb'$R_O:CǪӳLDr"`I$RXD)^1K nhx xhxa(? %0,?<@ASDEhA` bYQbYV `Vwt@= ^3{_[3864pa !`̾dDR)D")u^ACx{ 2a/< `s "&pyxb , '/Al"x,jTv+'oc*pvST"?p+d:gM I"`+d]5Ɇah#a=;$'Lĥt|_EЬS0 :-NH$rKUH*!?}[D?/يُc`"mpsz/X ʆbaOI׳J`$\NXx  l/,-pL2iYe%ZJLChn1(r-v~-Fk:ys-97Bi bM Ω$IDR""MP>!H+ Y%[ 5q!%`%B3 2DVQzw8SYW[\^(WIˁ_/ |<[Q0^}s n[d uN2TzԱT djBj*X ?Jey)gr]kZBS[XPi7CntTYR+hJv.H ; D;M0D^/ D-p u~/X NrzgжwBdsdn޲-Lyp]՘/ASp#dJ6vdl UW.i(x~oQ"HD"lp3̀U9ъ7w@s Ķ>Z L>?WYp,ց53d8hz|$,;3WWWrx='k*SakkT'DPI*hFzA=`:d@^@4q ցfP 3~?N@Z8*3N3Ѥ4up.zw`#> L)H,ࡁ:Hw_lZG9*V5 IDAT%[<y<tx&6D<u>j!t}fli\ٸs f%Qg?jOHsP{[yZ:"d##BG Or`=̰ PGx=0|#4zK-{@l NEimrS7 [-!H"T0lR"j.Zhq)שփ0\M 4]8!AF6,k@mnCjЭ4?a^r劅O_KeB؁,΄fc2U.T;{-MZ?ӈ@weD;(ڏ&` 8j Ha2##0 `z.BoL4lu|,xKKX,N&RiI2Dr"`I$ 9K$TlT¾`á ;-o zC (R3 㯧B΀aQ؝C@ዝ/ovZ֯5[kQf>@^z(mᕕE>H$H$8{QrԷ?5F v:!ӻ)|CcXn'P7;?O;t0q-$%CV'{`̱PYLHKFý213"(؂|/'BYK1vVdCn5? }Bdnqk:/v®h;Xz[^вngF~@O:ztA^kZ87X\} dط*rXI$H$%C*7+(-WZ^(Y\MH(*X ej"$jYJ > lvoc(XvZC?DZ:5r\aELp $$ml`1lFn\N #=(d)<6([{,ruwJ: }MZ5[Q(SD$<fjYJvq&/kYu9@g_G.[=gK ǜo-7ɉk` xk>Pe-5?aPO#|6MrP:CRMlZA4ɟ 10败jjPeP )x%{ H$rO/{iGaM̋#6Wy1X Ug773Fp> [GS5sᴙ -bˮ!6$y׀gڨ+ !Gf)[a3g`q4vG!I_Y}VԬ[W'HXyЂM!^,.ftI$HD"T4h,fVI }mcvÐ |Qb#<.yցq=]IIvKk!f3X*#fHxxmN~hrQ t _,5_Apxo+WEJA-ZOS^&DR)$ICn0mA?v'kS{\A^"jmTU4 ]Ť-7;)` Qp9BV3ÀK_J])nEY W]]dز>]Qm \]`͒;ji77ʏSw~B"g@$I@maTM,#nzG6#ૃΚ<%ˆa0S23dsJ#.?2 S 9?U)L*hJJպd^M.vܯ}oJE.s76z7p KngKo_`&kΎT3dA_Yixa, b aWp"6KlxDYߜ]M,B=V %_VB4wx~p H*-H$- l6El3"^`Axvth'۟;l89U z\.|2/Ǖ1mdkO=Hg'KO+ }c-G~Ԯ'B~4‰/ BHSSwqB.*ۭzןMSHxq<}~(TN#ogw=5m8(w@$IF.H$u7vB@-Vˠ{Gb6<(_t5C8vŁ%kx`WTCFٙr+vwZ.^~Ot}*B^w*B)D H"O"а\5K&,τasXSp:4ߡnU+x`k wBo:X[_ c{…=?RV@D")HD"Lo?A]g`9Xu0xw1tmIB8i}Bj5T zXMaxp#9XyTt`<ع*iVr@@ibURAtx,9w-_}#HnfFcbaG ۉeͻ:SU$ܱ2{:_-D"LHD"38tz !c_ذ :-tzЁ/Ɖcӏ2ti ޞ0-U^"4|%GN0Za5hqMˆ# M~wCty08,J)β0j+NWEܝf;GLxn0 ߋ'yB c@$7D*G*,qQZ&TWmQC1ܲW<<ޢ-,)>_nwC0mXtiޮNs`uZ- {0 q9rJ6UCpyتW=(UWa{6` axς G!)K,m} *5}7@t>ŵAEH&~vA Z™0-xe N$pfAH$xCb&|mݡcםuJ-<㠝#B@9&Lf [n! Y·iaMf濓uU:m4ZȌn{,Dr"D"bgOYjr`:Wf]ߓi%G"tG/#9=L&c`+vq0@F8X& P x(] 2vVG][a1";#r5UO΂׮F 4[ ^Z#{N)3uŒi[[9\NLj; .Y_JpH$ H$%0QʑVLt/+aGkO,Y0;r5 Kg@{Wx\ogܼ=,h`T#: rhJ7C [E> SC{2~ >m 6HTAqs=u|6SkіnC h`Ϩw| $IC: D GA/;qP*(_Wh]Iֿ ɪjW`^Xa:38 ʶ;w)~  OON|Ogso_m-6b:)f[|S})ϙ$}_`?nz~v1~\=o_*.@CW߽.Fe۝abwx|W>mlXxhL&J?a~;/ub_;!TX4tD{V 3/R#"#g@$=ͱp GoiҬ;6e\Z%Dm [4XȂ>Q(п\a"deUi+- U#|@>=ȖX0+D2yO&^F !v Y0=c^r3 &D:I9\ɚOHM73A_G-8_=* x|<_D/~Ķ7u>"cC<St>~^ ҫid'/`6Ctx c8ɹZiI9ޟHN]VH$eF9K$Ir:WÃmʦ~5h'~5niͤ&{X9"ϥMJVE@W0_&U?D{>y o"XDT^Pw L?͠NtF&7䋝u4*Z -=UBf8/ v@ޞ7vf'aLU'#rg.3)9"}y tB($UFGœ}`f,^boϏ2Z,|Fz~ٶ.F1G4RM:8`S})A&Ϊ9]#w:v_q.Ԇa0X40g.uj;MW\Tܻ|oU ߽}^?/O`ٷ0oۃN>f9l#J._0Rqfc:GwAoeX>yR{WsΣxh4F|l?"9%kٸ 5iϗgã^ UiRDQ(X^{b;/DPkh 4&[~ ށ9!{wޝU.3kOu% ] o鮌 xK_%3U({a}iG+6c|x6 # 5L` Xw83bҁ 9޾& e(mq 3y~+HsRQY?K $4DnnX~>'nCKC40 il`B6.W۳sEˎZb'\ n,J݈{F#\ f>U|{²LMÞ2m? @mwe%X}VlVڏᜎE; T~=L= /ʉq|GmiZ-!/K{!*kͿe9|r<ػ:`Y#ٹLf#G}d(W=ݖ7rٰ( 9zK@î bLdTbRKր!Za~?GRsf̻s l_Ͼ =3n)ᰡV9 M> 02X1o q a"\gW66g<ܐ˼iٓ ODt}Uk|ru֛7v9wO@;w~#7C'L>:f]ƸR5rG& B֫@\7hNOx+/. sN}& i XZlRڴ*`jdo㿓i[oqą#-](t;2j!*~WDa4qq8f(w,|,\75<糎\69Ǿj[; 0{f!$ |\.vbv!Kg`4/<>|xCMfQ- wDhk@'X < ?į<~3ti*c[It+)e{Y[>G!37ۋ9)7Ds /ƅyiz.5m{\^|=y8b;{FnN3uqѰЯVżYE8Spf掟DƉTUTm::}[j8-螷݇ +Hn'>d#g]?j8xZg1ӮKAve:Ӻ)c®]C%<9d5/ gxv0vd1M 53*~ϰ\MH7{؄:h4#_]ʘR~BUd"8|)%9yGS3{xմGտ1ik1p#ί6Ih?_ŝK8No*7k'ۭiŃ÷kXFKT;j%6~xt; jɀZ=>XƗ"(kOdyq[ݬWfn?wծ\ 6!Yh'Ka㮆MeyxxnO,n-p5Ih `6;Ft'ǑCy{a ]ڃ!׆=} 7Q9X?7%R? p2s]9hw1/+բO3))F MJ W5FaaC!L@8Gl\=Ʈ܁d<T'wʁo@?fi/_?gLݫ xl M|ymL]r 7 kQuYGyvܾi_בWpg;W~՟I>ѤBT _dal3۷:۵)(-mmylio)eжz jE!=0b-'ۏv4!x8 g?y[h: n|#"fie'ɂKK[N_U,\R62>F)2itV-(`]_EדxcL }CQƅ*&@z1 xg@$Z/hel6Fʘۈ^_+e2zǿ=R6胃1[?@oub"/wL[Eqćb+t`PB7 ".1~^ЫO.=CY3 BQ cq[o3w4lC=ZhqԥgBm-GCǑWV l蚟r ?:wl⍋"(Ƌmbz:a6.{">;kU --qr /X)d- {h BTSX w Vaz1sv#ZW&s3pZH-& m^DT ×voP33' q:$r< 7\u_ZTU_,Z if=.>Sh ׾ hGeBq\;Nyn*~S$捃EBb/ˀ`V,ﴷu5o+6% C& BQMN|m34s z e:k3N' -MT@J7Ȇד&t>]E(yl=z2S-0_gi q}t`)BN'8Z3Y@jiK΀TB5WuŊb׸*pJFLz >./*&v׸fAfq'iiL'ozw;vys磹T18٬WL@;j[w?9~n;N ~ uEL`ZtC5s6hӗmm\2w{G;z8Bud"ՐqP-4F›3t8Y*ߗWt}4Ec \rUS Z͏9&8{UB 4KkV^g=?$~"YG.Bj=llyt:8l/=iSpޑ" Km-> ?psDZpeVp8[!ʈhiUN݉KA(.! W8Ժ&+(+7LyNF$K{QN rDBE%%zjw(}^32 u,XR?ʾc13΁᧣Q [$QL@KkZq>0=Ek꺶 O}3d! jlUˮp4&rp,OQ$!8]kB **V>-~elXP,&xV~!< D|BG ).c5$sA?-A6YFb|Nր!)iߎлN'3M+'|]^lO2+gm t{I_ymytfo7l &Nt{"!)xko97XM>^ Y*g4F,r0nʷp/E' \Ȟy{p \q:ar3shLLڲdO=Ckҥ/BE& BqkrN#: Q Mwm"ۆѽM/F@Bz]yfZuK()|MrSID!I%z9\ -Gw,kv1-+3d09'N>DN |B<;Ec5@ips6$!#pUXI[H)1Oek:!N2BϬz[[=];l_PYȰsr3)ؘtҾ22nQa'Kt+8>nu*"'9V8A& B#? ۜY[Ή&54!3. EJ4%1Y{8?5Y9n:~uq rayt߷zބ8{ղBԁUWtlNgzF^U5Ië7?E[N֥M2 ׬8):K-j(ֱ?/ ݾG:N6=b+ r.,t8qΊST'veUQ4 : Pz5@Tq Sa+cqQԺʘe\bqqix2.Ú.BFEF.ޜob[X8cah/ft8|4!Qn2!=Dw?" Cs7yQnWBDٶs 8oxuiEክJxlY#?X7&FdBɡueM.'|H{̟g׋!V7b0 <nN~v#=xyP|݈1-K$B ^֟&L@ڢ*&{#){ @el+N1Fqn9ҝVf q<K:A8xU6(RGHCGzIT>stR}~6))@kkӡKÛDk[a?}n45= `xw|0;[]7 5ͦzlv}<4?%:MK?f+_xvez޺ PDž^ \U\UŅS UL:.jW _ծ Pnbt*bq g׃]=~-e/Ju`BpoXbֽ;B|$/?ƗOG݈ZߟͅL@B!mE2 eKo"nEB4K8?|N]/ϝ1s;oEnrٕzd" m)oOU{DEN8VW܁Oҷn&uab|q S!(*eWRO҇KيAL#ZB4{ڂ$=D j7‹u!,XBQşϯP>r;>/ wp#N|%Yף/RYc0U?Ag+9"Uҕ%3ۥO׷oxO+/yȻv?P}d(i$Q˹Κ%8B* K(N-/':'ǃ>s[x`=PXDGµe!D !@*QpweUNzF/5zzu@6Nߚ"9: :K/nD^AMjҾ-W4iG\3=COW^G)7 \[B kZO="E-+nʾzUݘ[㫊 P_"F X2vAS".T1c&upɶS$KQCPB>dV͙L@B#0O~[ &# $?J3n/\7-ou->!h,!뎭H$6J&?0 Kd#|FYn,BQ BTa"ӉuA{LJ 4B /  3 BQEԐ6XSssm,p݆=;Ǧ}Ǻu6V|xCOB~E! J\nsk g q(_7=rjB!D#g@ @$9NʓHwל0K/mBqv3 BQPZ=4S?."Hβڦ{^tc>cNna!,#!@ -~wUU[y:|wK3m:}U:}etk1)mUQB K]BU@A݊fxgv )6,1,ێu,*VYc1 aՐn*ICuiUI< -؋]C` :.T1:q PDž^3U\ UL2.T1;Uz=TqQ%. m3 Pƅ*&@u\U۳t ( q B( ="r^XKOBɘ 7BHր!B_cypi`_JHCBѴD!tnAFb [pb0+0-l^B!!IwhMܺYx EPئe/IO:a(B41D!N@y3HN%yX_nx<> =L!I BT%6 ^Kp`pӲ3!BI&  IDATBQCu !Kր!B!L@B!F#$RZ\Q֪lSWB/ri o.VfhͦWnjSTSWPNEzK$Ϊz}US2ԕI}Hm:}@UYu8pOrWUἺ1nW ULN\^PzA*&@u\bǺ^usU_骸PB:z-1ʸPB8u C΀!B!L@B!F& B!Bz#!B!D B!D!BQod"B!72B!B!B!L@B!9J",O>帹*ҖGo_^ܱ+1YqWUMoBK~ttiK零OўdP%IvPݕt +HY ]~)Hfzz#t*(VvM.Npi+o>TIucq Pgzǿ] ULvUL:.T1PB$uWe\UDu\}QŅPDžNBT @L@l+^Wom ! N& BQvͅoǂȷv+]ҰcB! !Dm9| ˞9K%XB! BԊ}KV>ue!r@ÎM!hDd"g8 +WYp^*8 [!kLN!D'ixL8ϫ`+Ai:kQ`9ٱN>;S;Vx{fW>:Mv;|XwB9!ęY%&$y =*Qr] u ~{GCN7k=ԾӳƐn̟]Β\4 h¡Յ1y/LI ô> V'׿ C&k ~0 p?RaAʑ&w0@K<E{ x`{þ xG&iv ~ |*Dc"!8s&΄YC}vh葉:VV䑩l$q/q?68ޔXwIFr H_Kkֆ{hÍIڧ۹Vpxs64nޝ ڌ&H8]FVh(RS~J>w#$~Q!v&$7G4%u]lnbݏkr6qT5A:{5'!)V~ L]hL>t'9N} aoyO{=))v̜ăos?Tķpc& 2:Y Hm6QxD=;=ޛ@?O!:%xv맵˨0u =CN6hmIclT b/n:_p<ӡjw_0W{@W(BFA& BQSX<]J.jfc*(*77g7^v'Z|<q>wOw M$, 1tOL՛8lv~k0~uϝn'k3y('t80O<[: 7iSӸNڿb`,`xEi3s\kէ <#dgO!D u`E+L߆!/ݥ/6B|]T ץ͗Be_/J]L=Pj2L\RRM!ƥ-8e{"}٩hۭW> m'J oY}X*l:}Uܮ&T7]Ѧ7<ie]Kڸ'Ս PDžq PE՘(̳Ç".6Wce7/v)bBqab_KS<0W;X7K[ړ}rE;V̻+'[]49Tq |8,3u\%};X Y1 3UL:.>X&w@_ u_U\bU(bxl"!8FvGPHJ+G%a6,8̥7V=N]ofl6'~Ђn >KL&7#p9`0h?$C¹m(-~c Rw2iisZj߃Ǡ;(bt(IqC!ꉤB강ÆYpx=TC kW =Jq e6޼v#?;zl 5 ʩa c&:"x/P-O_ \MS2\"LfxJ&b0Cr'O}{`(H6ߪB9!Du|~ |w=,v]zB߅`/V܊t}"ݳ+b} M~>|>MpD-^n?$r[mv:|.nKф9yÁO`Z*_!D Bʡ{1 /-3 f$n~tVÎU*-ItHB@݁XIRf6xBrص3O%Exp>e9%$\߽>| Z =Cy$Ka8!8kG<+?ubV9~}M-xL5r &#X^a'd 9(m$v@fSO{Xc:%A|ևFnNX˧i=V;+Jh6V>sGL[I"7at3qNq zY~Y2 Qd"r qZ U>TE68AGp֖Ĝ\,y p^ņc+6kN +?n/,^f{q7R$%|t 0}_" B[.}' &2N/Xլ)?v (>\JȎt/}-p`UI6W6츄hfd"rt qBW޵_ bt/=^}rv<ǚ+57ޭ\j]u h1aܲK1mNtLY8N $ = ֯ѲSފWd>XYc.&xY =_.!jL@TKF#D-V56΁wepPlbBnCԫwbGl)Żӱx;`TD[ߪ~CT0ar32Υh+f F:^A\~ y3qkے$.Ld10*NYVF!p1[Kp_ 6.e`Af2n4n7 0ZF7lW``}+bX»+\Y ܥ;*̬DX,|̆>VlB42B4jNܝo%p3в/DSy<{ډhۋq_sz~{xx{"xB1_MM.Y6u?p'܅!IyM&k-FbqNOqD#b0@h~\'S ڲG'D&!Dť|t!!D@8"p!kquU`cjdorͬ}VTP [KހKSC!5"­_v(9'niر7reElw˟``ׂ$tC-b`W0L@ZD:қՙ~i.;iٱv}aR7A eW2Ff4 Ȫ't.Ui}b^ 6>Ԧa"/gê7'na =4Q]ww@CDFO* !-I`0PQgL0a#gplH=8 ́`8btSԮF7+OߍQfX w7EV,aF=w=6†kgz:u_!rrD(홽㿤#Ci{eي9$`L^nxD`/adv}++QlqB`'#DT׫5|ՁUhm<Уi: I`2MB ,G"D'!@2K\Z SY+hpܥ̈́]׎kzrԅrU=L]R"æU=Xm\~^XSnoa`OA xgY?-B & 7?9LU`{e WkæPv|F`P eaO؀^N_YIV-Rp/g v9F/Ro60¥1;Tq PDž*&@u\bԏ#EU)(TemxRk\Uƅ^QHU\蝉SENWU\_zXs` >r[ոۿgEQc0 TX+?]AZۇW;[Uq~ ؍CCnQf˴.zmOobS()Q7·o0?2uG'.a?5exWޭ/ӵ&EmaՓ^!zixJ3 BU8xҥZvwfw#ϟd[=-QӇ[׾,ݝܻ&$wOb:s5k1tilOd O| 7//Az} R6k?H m!y,0'7M(Y bjѸ=7G"D !Db1}+2x0+\~?q~N?1yLі;Q%8o1^xwVXePg!sm`?;[1 [aG{$UI6J蹿{,G"DU`s =! !j`0ȚQ,yk'>r6IZg^߆Ao$y!zOW--3Tqq3#Av'eDOGc"g@ħpjt};j?쨲zI ߂=| >Ws:hg|j$!`o•I`/U+ Q'6>KML@ǔUD=i#-S 'rH^M ځtZTӄw˶y)Aaj1 Yld;l_o&[$c^F7'b+,,. Ыp!/CH0~eZ5QAЬ=6=5hh\eu$ςn@;B7!w&7yK۴&͉'N'Wf E`JʱW8pk!Ss1{kM`M_ f\BDM[9ytudi&iҴ=e-hY(h+*Epe^bA"Wx-e K!нMڦIۤ[e5tM&}g2ߙw=sߊ9/ n|:8nGڟ Nھ& [ 1 ?$ }{o+n }3TO a'nˣ7aɽSI%Yz*OZF[&f)}Xb-gbI"/ASc3McyHQߟt㮙ܻ_yV&y8{R2:T IO}ҫ/ 쓦r(,_ou Ϸ)$,{\ D: -jln^=2wɫ<;~V cN5z {k/-a@w?|;,t5RLCcߙFZ ۼn }/M Msx|V[ϔNbgGQ#I<9yT^yG~Rz5N%qٲ7{N@VC=jLag0ϩ>nH"ua_Z[scOS6 @pwrje]v67n"n"ҵ5Clxi?6h4/aS!{tXz%ӕHY"uaSgSOW]DoK`Pq9OJ <~ ])J2 Ϻkt3]CgXR`H&qG}m4 +WQ-ÇԑU'd)9"ua=d:%_WC{+{fH nRcbi(1u m,:."uQ[ȳ72ֵP nвngeLBr,d(;u༓ E!Jʤu\út RH&5 ռiS€|*> }ZyS|;5|]" hbC! fiߵnH]ڥfgEwq4oʆFJGFnwC,'[K2Uvvi M 0h&Bǖ AuI#}Y$I]DSq̼.&S,͛ݫ)Zkx#->܂-.*O] ?ţS?_+pt1RKH]iDx,)KtSk_Dzs7<'Nf+%3\q* zf+OIJAOL$eSC~ IDAT t%RsD%L~rJ*1|X-y/q_9s~2n~$<9 (&tU %p'p=R3B? \jP6q(Jk>l왚\Up&]xEA<'"n_Dc͋X =AK䶭o[^-DZ3Ǭ"m5K#VBr A3v^8-xyX}7'Q:g N:)H+{m<' /z"' /z Ȟ5D"{:苨辈~7{KYQ}Ѿ'ZGAyqk_va],(Iܺn% )?xN"eu]R(86>Nn% mgs:CȦ-Djj]v˭(#W:S, 󮇗Nk`tj߀k} LN=D5Jih ѳeޛD_o9,֜<-O QTHf/H W%[ ` 3 xn4l:`B&I:؇a?l~>IY"u2mh>K@"ڏ}+BZVճ[I&i|V=ð 69; _Vm O:b1HLAxh/IY"u2mn?(gWo` ZL} WŴn;`xZ DQC$풤fH" th`LW"e%$%1|=B{!EM̦9Ҕ\zcikJ]ƣuhr#Tw?EI|V 1HL,hzYfBrSvlSvixmn{éZrq5 @aus ҡ\9v +>t+Dꄺ}4:s\J>M/s&q̻^uϏSd5f,L-HX{`ԺGvp}R{upo`w=1fC~Iez,}b_ABE%3":"1b~}h"y+X hiL3sXgxKS!$`ω_H,w {tto_ 'ux q\؎-DϐtI7l_m%L> 8J#@$B_2HP,QYo5Fmm*?Oi:XB1!{>~~AE)# =_&P۽ б0xbۿR,R_Cdz'SS;bQhI?}^6~/%̠j3=ɯI+-䕫@eEZ!r`%`25<'H1ߦkٹGm.Yr{+)RxbgK1HXߦƫs>ݮظWc2A.(lYoOm-{ [c<@@QR%J}h .DR ҡl?GM\mv{謨gl^ūeTOĵ∈]rY`9shZGЫm[K}w,|z*(O۶Z{jFlk{װ5c}xnd "ֵhfd硪:NensV*kʲMCe/|$m6jTh76w+;nv[61n[;g7RYz ˗?O]P=v0UUYU!CZXho //gxeWUU60k H^ m>R5/ʱXVc1ۍAmrz*۽[fQ=}'ګ./z"' /z"5Q=}Q=}kO6 H z*+w_cHDo-%kQ="`u;Z[v&t9e頩.C͟?#Gf )# AVSSCMMMː$uREEE $IqI$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR0I$I@$I$c$ID$IR00bw;IENDB`././@LongLink0000000000000000000000000000014600000000000011216 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_plate_carree.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_plate_carree.pn0000644001374000021030000051502712520135744033656 0ustar itpeavd00000000000000PNG  IHDRXXfsBIT|d pHYsaa?i IDATxwxU{B1tj& T AQWĊP@A"(% [@PDj%B*!'[X"Y(r<=̙31$B!Dq B!K!I%BQ$B!`` !BT0IB!*$XB!L,!B & B!DK!I%BQ$B!`` !BT0IB!*$XB!L,!B & B!DK!I%BQ$B!`` !BT0IB!*$XB!L,!B & B!DK!I%BQ$B!`` !BT0IB!*$XB!L,!B & B!DK!I%BQ$B!`` !BT0IB!*$XB!L,!B & B!DK!I%BQ$B!`` !BT0IB!*$XB!L,!B & B!DK!I%BQ$B!`` !BT0IB!*$XB!L,!B & B!DK!I%BQ$B!`` !BT0IB!*$XB!L,!B & B!DK!I%BQ$B!`` !BT0IB!*$XB!L,!B & B!DK!LbccQPPp!Bt|||ФI݌$Xbccqmf!7L% ґ'㍾\r"|*l{Z]d߃jh׮ˌ߾KDt!T~Q0 hӦ rssQ\\͛7`0$ٳ-Dݺ0fLC}wjoo+_.010CdSX4ɶZ 77M)HJJΝ;/̙3pssCq{Ejnt+ IתjVxVY-RdFSoxǒ@&ރmj޷>=U~?˗cӦMpqqA^͛qpwwK%663gDdd$4GVݻwfC߿?v //rlFGGc@J9B#o~|b}ٛ㋊Ȟ}Ž;8qDX}G:חX[ϩSeFFIe˖5jՊ*M)Su@///4˗/gnnmmNZhfrސdڇ 'E*n[#HV->7\K,jgf+FM^ޡo #;Œse5ixA`0000}D4nذ]v /pZkb_cǎUgUs177mz=r_wI$Rt~Ifm'ڿWM_x˖-#XN`ʕٶm[>1#""h6ݸ8?'^*..fXXǍF]IGUXXX"BRF^jX&yP)fHKA+XZsɌjq4_"7">SAƯӏkn'X*K/ş~\2~B$,33GPPz܋8 CXXv܉ԯ_C>}p[)o7Ÿ4-&`+`0&6TACvc9m<kG $=/n 2 X /5}y7pM^:&w,s it |(@ 5 Jr~z:؊ېKJ7Xt)fΜt /C0P9pg~&M>@vv6ӑwll,݋z:tпl/o \]d'n#ߪ8,ի l6'5h%`h{r`D*p#̙34h,YvZ^A>RQAMw8BO >h*J)6 u\ ib04o\7ǦM0e[hРAiյkWxzzemI'jؽ{7vލ;vѴiӿa¡b+]OMOOGbb"{bǎ(((@Z֣V|!ꅪU˟0( N"ߒ4` Bp J!awHF@evr5u`kqK=v 00IE {p׹|u 5{''>:3Ξ`x$*Uc> 4ߖ:=koH :3z7PJXg9CM~0#pfϞEA4<Ә0a4i V$\/8s8A÷؁Hǽй}$\/h6XW-Q}WFFШQ#5 F4Z~=̙*U@ѷo_*$r`$bbbЭ[7;vĄ еkW} 9Aш$$$$ 111Xq<MJI@RRL&Si7Zn_AzM:~?ϡ/! Y.8""Q:IM "d@8%l` \Q tn=&q/7xXk0 :#/Ph4F$H:%P:ph8P~XK P~|:RjO]h0 h~9?e'K0x[7ݦTţLgu'_$nhF%ԆA疜3ǹ yy8et\F[Rs|e8V*1Y 2 ,2j;yH(|rw E`4y/BPU=t5իwW@@ BK,x> 3:e,a'C,W4㓽 jG4D0±u&\h4I4,T-+C nn| =8rUa\Y+;c ~ P>P.&Ԓ$ 7jN bUR>vnk0ZXn"|iӦOxwTA&":ř 㸈 o82h󙰐P`Ƽ+ L<Pr4 xGem``  tk0`$dd!,, 7oƴi0i$ԯ_۫Hg61dСChHaIdgksK',`f`F`8{yi(61'WΝBtLp haO ' C闇TVۂ ;k"f?=wm +Խ:63H_i1Zh0 z+J'B Q vs1N-*9 jc7[n @ *!0,nSL ‴۲K$-=m;5s n&W!$$3f@||x3;1rkƑ#GÃ,>(!ɳgA>q"%%V@yyfnxEEjY"_|K/q fd߮gM|Kl&`A5fH Ow܎5?H!&Mcf3'L`/S.CpnadF28V4ޟ]grT>E,f£KU7$Yd*s 9j'5&s\iۚe?-y>Դ|x&?C&(5,dx2ZE뭄u!OR͋%yŊLX&B[ H2;OZ85j,ˍei0ݸHKjT[r2R~D.I-ild4L+B3,*#g)dI'Y8675' lTS'{F8~RA8f#Pd*88~]_Oxb,];V5:3xuk` 6oPѣӱdIM{7#:|r+yуb r7߼ ;?:""s&^=/|ɭ(-a۶"Uѻwmwwn>;~vn{ C3裏"223gD_ԝ^0'ZA@|(ԀQ8 GI Ґp0;ٸ-Й{sE .P|+.&q / &5&)m%qOGqɔ46d- @j.hP>y@j@@@8\[ gϞC=t} XPfg$da C-"fƨj6tpńJnB[[j̀t*n#ǁ{Z:U ];@͚tFgx7#X‹svn/$t!}:ۯFO͛ ou!! umM8lX*p|Ǖ-;wdf{١!~qMs/x.?8j#d+V1˴Ҷ E`I׫0nݺܿ[mdFڶ-WWQ },<$iT(b{ř6 iR<0IM:_ 6LJ-[dlڨҿ3gg-qk6g JtώsXjx ةg{{9g`f͸jժk>yd^yPvqgqcgsbI}ef'9:%5Db7>v@-RLnZ}ۉ#g- O)^4oo L Swf |# (Ճ#2F@'AI­ /ɮGc>x8lذ2'' [.2RRRح[7pڴiV-ݣ.SxAY'IǐylG=dmkuԶsOF+.wukrZ=Ϫm۔Mn(5$2vq`f4 2egôЙ .VfgΜ+󫯾bxxxZb)f`I2>P0г0u;0L^I@^ mbժU[n٫Uv4_k֬Ν;;w|Z`0ٸ:)8 `"2'cCʕY&O%ZQ PRV5&?4~O8<h1J?֔l* mOT67;Yw~YC1@%U1Q?cHIsdž 0`VE>ǕoD5nNJ9hWv=o>FPzubj֬VZe˖߲eK?)vwT>>gӯU>􆄄oƟkFJJ ֮]5k ""ݺuÜ9s# @a|aCN x ][Յ_SӒi9_MYڙ+z!җ/дz pYVD?/Us#q9pn{DRkVT*:%4u8u%щϽl}Ьei+sK;t&'yئUCáh8! <&\BF_aI(~o܍⭰b b(@" P7`iٲ%z),]$#`ܸq ӧO̙38}4mۆ f/]VZ]|5o++ԃb ..ziX` Gf7"y~~>~ao?M[v}^Vgaj1s?r?[g1?.#ܠmMcTB4lޣ{aժU˧~[n1d1j3&rs}UWb.X͚5#oߞ'Ot eorrr믿r_uk_%eO@l6Λ7+WOfiGfΝ['͛GԩSƔrEdjd6rDZq9䰍$u.JI%$Kt΃ǺL` 8SjJLf/n`>mKI`` N>|9m4.[ _9\Pf[f+W k.l628ˌrp(@Iͪӹ[?"SP|JN#Ud&7U#-Ev #S-ɲ^S?>\F}(bE{bsJE? ϗ,YBooo~>_OvO?4]v,cK) 0*b!SK38TjF.iAZ9z}/nHnInQ/gg!9EEEd'F+m|f.ME)>xJJ;v`ڵ<4C! ivͷ2p"3M-s6Lf{Ц3Lrlj0砲;L_[xD{;~a|cddc_{~H,qg,MTZɟ'BWG<=+Gծfrx@B=$fhOӭ}7i9^c͚ ds۶3_ק/=_z5}||ؤI֚iOI3haFe:έV+=<<8|n[Nqѣ +у6ƍk-&+9e/'yb9hٳ'_~0aoۺiҤ njÕ+W2- }`]Mn{!ɓ w:1)_5T~~ʑKITp54lܘ&_W_ϩS pa1cc(l6-'NnXsg]߿?-W&O8@:SdxAҙ"4SNe.]Uk׎'N5kʝ#dffrرtqqa͹}v_X<-2U Udqc589?uXԡd/L:a)>ӵkW>C6k֬]wEl۶-CCC˜O~zt1 #޶ ^/BتU+K\~='>`E 4מ`5q裬W^iװaC6 *iN???VZ9Mj++dN$yiZHnP k)!t!N'%vQ%Ś;%Ɉiܴi/?H-E^D6VJXIqѬV=f3,YRPtޝ۷om/Jp˗٧O,C -_FbK5jH%v5j=p[L~v6o$3W+uw 4Yα~ӹ[flܸj"`Q,ZV=z_|~ҿ‘#G4+ƧO!d(hr[u{h+PrݝjNC?GBmUYr?qcm6 A2$Pm%䪦䁲]vC{w9I"Ϫ]hŬ^$I/H^qǎR^UTT9s^<ܿr233٥KU~qܷoV+5M㧟~J\Bma\\Ϝ9ÇK%v5:|l#[qmv 9wRBZ4׏~~~SXu;gR|\8nݺ]]]/2==E,`.Q,HII wďZgv<<<عsg[ܲeK<ɕڋZJ7 O7%ۃȍ -:s[4-Ԟ8M~U 2A\OucSe~|ZC}:4> O7 %z5?:tP\m~VIyʏKfȗV.#2wJOZܹt`vV(TNN?c֨Q...|buY.;w|￿tngZ /pʔ)'3rIO ୳)80&n:]:hVBteY?Xb+k 7q {PWNiwq|utM'WVf/Oɓ~zhk֬A`0g{s9 '`?hQXL=V7ވH“pCM<͞={{!<<S6݇Ib޼yxa20rHxl |AB ACTR\ ({ZJн{wt`Zq!^WFRRׯ[oUX.?N?O׍5k֠cǎ4h.]ZrtfO>$ gxzҀZz#B:HW؍Wqu?-@ǀ#ND\܀݀s?H@௿. RAK-ǺW:MXl`Z'wߡAXt)x ^Y}nEG$`5  ljg " #>XY4lٲ3gݻѺuk|!~vbC &>%%F1f{E?\Д aa}hy,j*;ӷnnnر#:v3f 22*U*]PO\6m~z > E^ntF,ZӧOǥKyfԫs%QbٟVab920 &`p0z؀X@܊퍂&iHir hrMLAA8IJ6C&X,i}Eqwqư2Q ť\F$ nVTĻUt&[aq, 9U9v XTߖGZM@C ;$'HwƷvo ;#GAڵ1o<5 qvZ>P%a{Ct+ L*..Fhh(f͚Xtk׮E=q9.#.p?~KTwp3&!PJpA9>\@NACհ4-Z_..ן Yr7<73G鮓 j=QNL߰D@mπԒ`/pj9 6@->r:%WHXn֮b/reoN| wvfw/ %`~wm0ܮoB 4~@% Ν2dBCCѡCxoԀZ p|뭷0}t :!!!'>wxb4㑺B\wHm$"f܍*hI3} 4`u2qTT։)`7afNwwwnݚ7I(,,3XfMrĈ*eɗgT$+!$% ȵ 5"֒XA>S0΢% `wZHC^dl V#2A߻z5}Ȉbsɏ=Lʼn Ulܦ1ťu. L_[bpΝ?~|ٯ7}ԑ%% O: v':Qxb5xrSOݝ>>>|Wx:CCC ~u1!hcygAb'Yȶ<<0P[6rqy{<4;@iDȚw}NtXɣ1ɼrZ$RwΔP#Na"Mt/[][XAsǒ}[nE}}nA䙋ǯ^' ( Vj1TD(./7yZBN^D>q̘1n b;8[$ndZb_@VJzy}!!dr >䳣c 7n_ r''gyoKum=:/_o :KlU"_fW鳚q>at+4&[ty3(,7Ӧ6~͏xjm'>A₹)|D)V2i,JMq2c.y>XݖLV\:]?k53e^ʁOb9>d~SRRثW/`f[o122dk.SҪVbzfSJ- ;Ӛ^J)8Xf[R-%4s ŋawb&JglparB*ok_؇>ANm{$帚`Ol!n$<FEzFN\#{ۇh˳vZzW'<AmO\iߑIPz% + |Ie]4;v‹ Y+d4rR2g>#/EbWr ]Jm%O 33_X :AA'ms 4 M/Iīǚ d3 I %#`Ź>٥iwQAAGA2d333>G^Twfν8z(pѢEzClӦR97}$X\kn>H$X86YR19;gRIJ "rDQ|E^ETDQ"MT{'@Bz&LfC(9Y|·)kvg<{ﵶH3ASWqk)?D IDAT% ni| _]aaaڲeu"dOC10䶟13|{O|$R<^Z=n~CKM?HHcI ߱?Lz)R8e5 iV=n8oSliI㯲g#%)ctv}g俼.m۶Uڵ/4u˗ 6=aWb 8'C`K$oIXo`^H5 vŒ'!ib{ZxasA[.?8ϿK.tR 1bK!r IdląJC#;j"'FɑaCA;u#,n 5>Nu7f< mcGVBEko/;'$jCa;àeЮ];>7LyNkuÌaA$.FQ c ;Dٔgq/^༴.k֬aۄ^+@?o|{ ڴiG}d׹(F0XEDNvW a`)'c]%L 6|{#tidTTDDD0i$s=+222:t(O?4u+}xǏ77lA,G.DҸ[zF.a-wȫ{Tޛ B~/PfP=~Iޢl|[x^":>;x\> eZv͚`о0Y*gqNu^Y6H_;ۂ3JPRo&]w;_g%iC(6,'$ Eyʾ7E㯏O RNoRP/E 3f =kfĉu{<o{ur[a2q:`3LI[r3V&҄QҔc/n .FfbBPԩqplpq?| e,.' H "*Xe7w(Ub ׶luD4U`ܿn1*B8X[KQO\\]ӡ[pge(i{܀%@[2yKKDDsaݺuoߞmx'pgZݻʺDbc+3yTNP$G|:vR߆wo9"/ݱ~[\꫙:u*}jeÂ@/;CTT/~Blvlt)0*D؀e`\|9e&?ҁ(IxPn:YLgrBh\8Vv5hl"YXNb &~BNlHp/2^V8>"͆C/e6u=$-U)6bxhTG@e<9t$7\v駟ҦMڴiuY_:ė_~ɰa(UԿ$gCX,.z m U>TuVg%"MRS&d]IE4e)&<)~ s> 1G :Zs=pCh,kk|X; ͅD5pk/{U X;^`5 *Գ*eOW 8T}m8{k4_ -[?ӶmZ7q|Oa<<<AiӦ ?0<%K$xHre(4߭\'99rrrp\9d\۾%M+ul` Fлup3`y":!D3nPsx9 [J 44{lժUKNSO=NL4-SŊsN(v@^)%C:vF}4 ftkp#gJ/OZ$U~IisM'Sx{LWU*A С\둙<Nǔ/@ r ؁95Yg\(,7f:H l^I:m;KAĪ322 GEwbEDD|^ڷouEesԤYLuHgx^OAxNm9oHwΐ^])%y-7dKw픎i6l{34ڲ-p֫ڠ4Gא_ Rex琭ڧwm 4ZyWtÒߦxMqNIjSH7i)-HzɏKYIKs^Ǖߓjo={LR8nH{g -IIR8[TC>yuAE>==]ʕSŊ/Sf/J?7 COYzTÆ UTKP {ۏh3t`]izW仨..K[>A(cKWm1[Fwp`\{qk#K5_G-,ǖ2XMXm7,2-: )~Tgߐ>,~H~na꒮,] !MYg7'J AaHͻIR廤[JϿ+%9y2j2uϓ;)Gmh{1|~`Ԇ/tv'ڴ+f1$RMlZHRiT)0Z'h޼y^I U.ի´b+1B%KTZtwgϞ1bM 6(%%l߯SNiݺuZh=jiO>DUTPNuU:ntƦ/C:fͽ!ɽW6o̍7H 8ۨ>/?wKLN 8~$@uyH˹rDZbsʴQ;P@N H{ap{|P8oŚc:ˋMIn ,G?LwKA޽;#FT,_|<<[laڵl޼ǏsqN<{U%Uuԡjժ|>n7ҥKINNK.^=*\C7mDFx ֟8\m mU% wA qFڵkq8l۶C$| WH./PV?J JYb{矧-rq8loK⧟~bɒ%烪|"""hذ!5j[njժTVUŁطog߾}lٲp"## 223`zme1g2x F?6򢒒<hmi痒liQ"_.&JR4' 5ٗ!l)n`i[_iRDGKc"YwYssROK@aÈ|87+_\iҠFғHSXyd8҉w/Mx:PM ,L<MKi];eJ>rRR~i9]wuZtf̘P]ǩ[-I'HCY)}-B>jvܩr;;oSᱰQXX+:Cx  `͚5|tؑJ*q)<BBBx8sM7Dx ͡0OI: RŠ+Bx<3I`LMo^Ec;xZGbB/ 3Bӟ '{{}>(Q&MЭ[7n ͚NtT\p o|(6/>JHL "y& \cq>i8qȎp/EqUbI% dI)24Y(0~wSn&c6ǍL GZ=K>롲͋FC\E&0 xYF$/O#Pl!zg{p;g ̞ךoɓ'Ӱa!ٹ6o:[oE.](QEaqs 昖 . ,YBӦMYt)aa)up8o8\Z=[_C-y(]4+W_~ <ҖH$Q Pb*A/ݿb25(c>sL3ox 8ΰ$; yGsA! 57,΀V)12F;n:,X@[oab3cxٶm#Gtph oAPՆ+揀3ϙH[o&sCSN1|ߟӶm[vJhh(;v+@\2'OGQ؉6g{ԫW1c?zjV `n2lg~ J4j߃ W[n烫 x^E8&wp=|k//X>iӆ&Mӯb~Ńz\G)\Lg;?? ary.RlCL3畘:ȂRapU񒕢?쯂+q_!ϔnRr is4lt )zD,oǯ{SLtD1X]-zZ,E :;uw:(s>5F7JimLuq 2I W[,~;'F)/P![:5W2J?F[.I{JsII\U ^\1NRMC аa.-,<-SYm(̿=n~4K^NNNѣոqBjznGիW+/B(6?lHTLWwJi{СCk{Izޔ'nWQyR4G]uPWοj*[NS.c:wFkYYeh6Ӛ!o2z:=_ѧim~Hm*-_+,r=)}W+ZBL¡0dAX +д.Dِlz%BeL%}+^ͅXdy<xD(lA!BMx>43tk`##i87|X f?ΔAt8X9I8# } C"H覜y:bC'U IDAT0Y[4*'ӥJΖ6oJ'K)&Imv}K'M!f% eGgWH2(;O2AW i*cR/$FHGIMa Czfk k|*vKZnI(oSjڣ-T)7Sy6ʐ|gƶjFhRl1Xhjr+O2؟2 Rd[edRMkY/ފ\n^x‹?-}xyYܸcuٽDQRʲ$I㟐>{7'= ',]41a7oܞPQ%*22R'NUp攐luIRHio}lT^TN';wԫ*UPTL#CυBկ__O=$)_TiM =Jc5:f/ؒ74٣IݛntMT7),/c7ZFH NX}e,(mZty巘y7˫=k}cKl.vfe{Tnt헁` C_R#m+\F"5^ʰh bAAUo#aF&0--_%N|;چHj2J ^.рtԸqcըQC*Yf CPݺuu^@ϙ3GFmnVU̔ԗ_~VfVXP2|=r:On:XBÆ p!Sw!'_3_2&\U`DAijnveZ,D܂FyLفE YI 4erR)" F{l(ƿOr'Ҿ ew;8HZc}VÛ(66Vo5GҸ' }VZ,RzҞd|={|Agi;'IIMi^W;vTxx:ސ=z^ȑ#u` kiZl8qnm޷o_&.r1F8`3vp)UPAwq _KԳg˦ӺAQ9^n6f Hn8z=:1 ik4|95Ű 2efjЗ,e.x3H96^ie/iqg{eo"&1͘zLZG[J0J]~{z^=# ժU3^5#|SX?9OYsݹ;Jv.9(Zz1l085}4B9aJ*СC`]!mvu 7VZz)Um̧wLPɘp_MR){Nʕթ^%϶m۴g:t݃(V1Α->i5vyIi(Ɵ!YI:Lٛ{haK I{XUʙe9(+ϖD5G[H|76wKoVz#֭N&O.d1/M twՌ3{6|f p,2͒69Lr[L.']̋Up.1/(wVї]^ C4({.zKwյ*[&V&k" (6`ǻtsI>lf$ϡ(ob?BIRm}&g bciF5 qy3nf%7d%yt+8 \@ 2\#Ҡh~v/$ <|%86GCf3BBBꫯ?>+W4 3PoE ~w\uU:tڵ _y=e,\:jeos3/_ՔPXwWlw% W\OLLE8pǛU=đ#GXz5Wf͚5Sn]&~ & Xtp=uBޭ J&^dr Mkx+T6fpH=lˇI9KCB9a]ٱnwF῰z0Sr 'N\r>|NP pu'(q7}7ٵk7of͚={ݜ]0Q[ ¯B!0A)SS'Ӄr9d: *=4V0ڲ5MJ+`e_cHx(b͡(Q V7V93c6$q\|As@}Z]aTz u'FP##|DS'Rהcy& ) ҺAdwљk qܴXkBնP;Vݖ"gX0׾$*@\\ElذOR{eq*T 33,222$}Lz C߮by@ ͳ3a(xgu::0YkaчPܡ[-\\-5~/rv8N~i6m-B2W_~믿OX B;.Z>>nY/{MB꓁~ B3FgqDF^nKHDNY*ִ<%8NЀKDҎMbn\Dq;BTJSHg .Ӳ I;F YZvp7{!<8;tc͕`аTnl? "3g*T`ĉ< +[:Z\hh(A ?ͽ^/^?-ehԼњqf^kp%S.K,wޗ,SLAԫWuR^@WA0tޝ;]^zP1hc l L\귴/AN?~<=zv]wpBwͽ͟}YNJ͚5yW߿?ѤХK/Mu:3 6uСC 09Ao dQ Paotq?`,_e˖]`If'S^:x?fV3G5M!!E! nZԱ^V$ě'π-@puGL AaN|,Qiw;T40rWAӷ:N: =/4WL~ݻ٣s$y6~!ȗ~˖<|]҄C҈WIﭗJ~"}͚TC)z|餉DGReAdZ(Ž-z>RV+D/#U\q4鐉Rt骹Ry !Ðn8$8"Laeܪ-~KۭGhʕW27V^X=]34L^y, ד:m&֍˦~Zo)p͒VV/+'K[xni$S͛դI:ƍAԦM+hHJ}J{WK &=㊊ݻ/o_"ZNcKFҥ>,EEcwҧmηyϞ=yg^^jul\6OIIы/pUPAƍS۶mU&N~ZIʵ'#6= Rv٢/]^RIZߩDx5k\Fiޱ%U+:Ͷ[GYS/_uuB*]cƏYRiPtA)l)nt)Vd,(^i2xk.͘1CCU.]TR%9!UڽX:+0nRntkrwH JsyJ)v (b4haAPbҜ@puPL鷽;ȵb Yu"y-N'זKc$3yYzmhې$b|KeC.El](^CP3ޠۯ$gD^ 233կ_?9N]{ZreaT͚5}Zz%JEѣ}ڵk i_mrTn]կWpQJo6)=0 ~SH+0uvq\4a\/j֬͏9\Cϟ_0LK^^.\W^yE7prʩEݻ&Nx>P.Y(..NwF+W*oㆦ"sE9:eҩX{F([Jc^+U`DAoӗzJ+V[H'w;vVٿ\uLݏaH}NK ϟ2q_$EMdݳL 6~K{;*LC~ZrY+K;,{1Muc|(ƕO!G![JHHPTTFEg]٬lz衇԰aCEGG׼-ۖ]+*} N:nݺ!Zj֮] 6^zjժeW1(cu~ѝEu((?''GeTT^T^"4?Kz%mII{2'oo3͕4*_XOXB\-@>?n3k4OڵSll-tZ&AkVBBl#NUgd?9R]rUAL5/.Kbĉ̟? ʋ IDATʢ=/g܌|Qƌ1b>u(1iQl[iQ2w ύ`ױӇ(ðahN;6kCV)8n*P)=v7)"Tb6?Ԏa7_Q.%_XNRr*.jǏs߿at{JY%<!KIФ:VqU"[Cytk. !:N Z@5FţFbԩ|5s^0F٬굿7;߰w^ڶm{pwse*Tt^EʌxҥKSLVXA~k5fȫEjԨyC^^yyy҇wʭ[*5Gqhbu¯}b|;dd}c2.a?wpBMPa\pr(CMl<,N|/1|Z ->Ν#44meC`n*I^?1+WscxdIZ}7ªˢU=]taՔ-[g̽͸*ma* _ [?BD4~[?fæǡsPޏey0JuR@Hc rm'HJ PʒF*ӎ T oYO:ߒ6x3q`˅>qCkím=o\ :.O__ Z߄ٚvB`]-s voUjv pRPaE<@I稒4vюJmY2"/H ɴ5Ђ )-ZџT%ċPa4`:F6|_ c'!-Tz!n8B .j9aPhurpk(ȅyDz0fBB|xX W&::_|JĊi]չX= }]DT* 8c!5k֤QF4nܘFSh  _*u_zj͛}M2Vx7X%W Bji5BsStYwi\}ǚq1/? JwStQRf>"n=H0#̢<J5:Ŵ,-% fx2x>H|\K*ˀf᰸iq<7/?{DV4p\4].aHnCC}!'%cҨY*"R}J3J&Iȑ!)5\ ݳ\."IjJbQs4NճR];#> ЏN5PGi!^Qu6zfh)Q}{rkc iꜮSZ^:EHл:rɇe0ϭ)W~VliW9i1%y5V"m_=RE? MjGtҺ{}saե$y*UP\ lAi!@&M.+Ho܉qR(ԦMW__T=ԠAz.Oz5)*h۫>4urr;\:?:5`g4}b[.-Jr_:t_sVi+[!C[~PƒKRT4W3RH⒡W;mգګ<DGOf#M14ɒ䚴3G{߲C~\l+EX _$l&鸨βe˒xd˦=JtPh>qaa/qOq>mTͯua5Ш/ߍ''3S /-zm'0b-k"6vA$=nz<LJ61uUվ<g]2E7xfkMP?f?~p&3J$¦pW~͂OAPҮB0x9fؘ1cϨV*U㩚#^9r2ep2i$tBha}pӅq#"" jժ>|%.ljˁ?/sj\ߔOLm'默} zjMٴ<ݞo'ˢ)3 ka |2L>_!)lШ|vav_@y1a+@4"7Ӟef '-b`x`_` slJTҡC:tMThBh(Pz͛PTz-xE[uώku2fi^w΢E8N*wgj5wDUg-Xx/f3mKmGa_X۫Vm6 Yfoߞg}lFEVXp!ݻw';;ӤILbE 7.DVnth*83 сLN֑K9B9f'n+ mxb!-3\pd$}^BC)/2rM!BвP*dk-肂jS( +bk[= CT"mڴM6̙3/ h^7x#7xΝ;f_@кTf^tzmh C6Bú kt](Բh!ׄ7Bxyy6vJ0̔Z9! T79Ic79ZJS11ؾˑc8hF9 8ŀ>}:;vdٲeԫwɬY4hÆ 㣏>"肷݈#Xn˗/Rۦvd$e.$l!-$BhYNNs;v^>`=<<@)|OPT60NuJ5k!pz`qGnW Gi0|D`F?hϜ iw\|yfqΟ?Ϭ]Uډ 7/$W˗c#r8^wsW9t$--ʹHmoŖEKhӦ SL)jӦͥ xԿ\,|2Gשp^{f s)TÊ'W< Jձ6>:䝆viV+vn# ]8@05LT!$v|c,s8 @Gzbҷ$JHuX&WI'FӸxt, 'Xt3`r$$$0bx &O\o?gԩ Qw#_bCD! ,T_[wIbyE4vfS `7)c t Qk.M$N "(EsGN36Q(I}ө7I!J4t"kLcOBM`+6"}  Z]ֱ̀&{]0sRo}IS:ךv}g<oo_=?HɷP0pOn:ڵkSO=E~^Sc iذ!M4k׮4nܘڵk$ HO0!^QʬY;,ܢYp|?;8%xkt }Le^X1,R@0o}~Wh5?;V@YvPH &C-}!v.IAT$yd'F%:&ʘOM6S:\G%f[e `>kErIKbЛrcaclD Y"x!"?F.jxtAqqmA P=TbE^R?df2\RD0Qڟ埔͉\8xy>*-y1 ݗTBS.6N:گ:c&6Dm=Y]ʷ`!C[- }yAf)Us#e(Igu'WNiV:,e_s^zQI.f_N*8fuJZs%R()+Ðf>iXǥ%}+7㤁ER;wN7t4f% (,$XvjԨoYKVյzjIұc4aZ \'6퇍̋I{q:tHϟ%7%QPVZǹhtw)?0o>_@|݇[5\k y\›}}DZYJ:7ߚ+ >JRWyd-ΚZگ 2[]:iZ8PLXGꈺgݥŚeɑG(Qu_u_`oxT?=Ͻݑ?Vq'.6۷ϟ/@Uuvv4i"ѨQ#+$R .4Lwn<*˓6eK_J$k$$R Ґ\ӹ['%~jF=%IIQ$xe7Hc?=R8=m'c>r%5JTմLE]8S8%o'Ψ]%IruBzHK(I+EOZ(V 9L:|kJ^0!CɺSz4 +st&R[m͕C#%xA4t`̓ެ$e~&zNJDHGÜ>}+WNTpE_ҥK5uTz4l0_09Wkxhz+/I>_lt[YiZԫs :ODH'm#;(6?_۹CvrQ6 :5D_ҷɥZZCJ<ۤئlaݧӚsջP ֋9y> ,?q1l,2TSRRTB^'wūTZ5M:U-R.]o߾2dNj2tN( . IDATqVL5NRLVDB>MBzƇ5&}c[/%@5}EGHm&XeRǭ"YSRmR-x)Gd_Q9i]n/Pa/&'E,CI՟y[,.%*ĄjAc(Kct-@GrD\)%_唒-@q)OÐN3yІ 4p@UVMCWɏ<\RӦMSNe8l-yEEE P˖-5qDE+%QJIR(n>ΫPa?!e;WYkn%ȥ3~ӵׯrrڷW~%E.-C i',кܚon}{qU `G}JL޽UL%$x/īD7~=Zm'?ByE~,{o+ii\ף>ZT5o\&LѣG/Ş_Y2t?</"$I:M&: QfԺgҐqsÐNiKXH[,ƿX"6@x0u6D$ D.]۷o!׆0 }2}.ǪUHJJbƌ/_ӧwoΝ9G0z3\sM; ᕈ0>`nHCHѻ`JD{muBlِ(8ti;_&l{u|zd&C_n,%~* ]Q%q't;v.] [qZ0zh:Ğ={3f ^C29s5/eн5;]-L{ uC'LMݭHg^]bovŠѰ :0 Nb ̾e+ĨbŊ:yilh*d0 C͛7wxZ.g?v.)֣ng4.%([Z7Az3Xsu9|' +)G:f;v4t'ҳm-& s~|tG#JokƌZ~RRRШ/"@˳IU>Y+\\Il8X4}snyoKh):;W{ϟߴ'!o%J Y(@;qL~q ?cbX̛︕_mzQp3U 6gٳ;,& œ, ~j6Ekz< BhqhZMoJ*ϱc8|0Gȑ#۷S` Lb73/ћ`5Tj}w2)pot[\솙)!;@<$2ѭ?9Ud@~" PsɃۘF {PAי0I|L&+er%<$c, >'(NQR%v8p aaAtڕnn7> &H!ēIwӜ ic'39qp }ZL"3Fr6lh~`8!*T|\]Ӡd(j>j;a \1Ss맼ktcNYˡ IʤP<״v;իTAO ^9^˵^{Sqh U< - ؽO7{G"Le^P:B, Qx}5RŘ'}uyoI ~ lRa:4.S N Hr989H'INS_D=Xr%/ܹsԪUzW/|nn.!!!,Y8 B8> $ds,q3T, f?A9KYϗ䐍`d8a&ZeH;mҘG(eu&pŦG K`p=cP:a9߿,~$)_<W)qxG4'ҡC:uDǎ ^Co3B ?mò{yh SόzM[OaN# s055?wX::;-%.vn<)ϔzN3ʼD(ib pe& !{:9о%q-41!A. >+b"&tc ίL 0BN9IJ$2|u|&QqSrEcY\8 !\G{uZ1Ї܍L|r8P evJN z8ݏ5;/b"N=xq6_@ZkBF,f=뀩ÝB? úybu3HuW;CǬc>b\δiӘ0a!!!mۖ;ҽ{wڴiYsp:S^f-[7; ؏.ruk=}# yj6ZCzEؙguTmk͏ǧ@Vyy,sCg/ aB|:XA/Pqa/_*nb,h'?о%dyЌ42(zTM%'Nf*G>;.Qשe-[vl֭[Uzu,YR (J*AW^ 6u!MާU*Ut^UnݺkjZba0ۙ!ٚWtMwc dHvYK.=zޭ΢[ 53T?' C5 ːViqk[?z*Sa(ڑ&+Ciz-/W>LGΩNk C&: }J79d=ڠc2d(Qƹhhdbx/mJR~ Y0M.lb+wtTkHZJI~ JE. ;NK[K4s>Ə%0~}'z-@Oov!% IJ*i+feJ]/řKbbixRgq-% ;~_Y CZI:lN__0Ȣ@G]ZW:%LHK#mrʥDeʸSSڧt-xݠcdݤZ`/߾O'P` ;F(Y甡ttext:-Cƺih6D}G !CjG̱z4gCCW^$''+""B/}M㔨:F::73v饼]G"i)ˡUG\J"\sw chÐ턡v&:N Mw[|$nqa_N<ʽ`dz[P.юʗ@I.֣0Qk3a,uc?'GG"""T~}mڴW&=E99yy223^,|_{T=a2p~J-[nʹPv#U.yd@kҥzwԫW/hBSN-u,?q#U/kfW-0L 4G MO)I7oʕ+~튈Pfʹ^>5]W^QTTTaA*d^QLu#9Yꟛ3:6ãŹpr[tt' %?>=GHiE[H${_͕/9]ґ#GԶm[/^JΡ m8{n s:VtHƵ1q%iiZԹ$iS;bcc5l05o\*Tf+rY?cU+@FrHc KI]PpBڬ(n,`;׏l~7G}Dhd89Mߏa bUأKzp'0d;o*"jpqrA)Xex3be]m:!逅#7 #!v 5 7Zh%P97?> Y, > [scO“Bd$THA_#F0p@v;}ỸǾLȴz=g^JNxےYO=}جv J0}_j: ρ @o_MNoѵǡti0ɓ' Y3 5?x*\Cٳ9s&K 44o>RSctԉ~RZ3\̾ت]ڢYT+Jyf*Ou\ӵF;mLۯhӦMEf˗/W6m EG+((HaaaJH(+? aRVH)+y!!}:aHJKHGWY'Zzk}ңMvHssHunkd]%:eh/>.x4h l6hwrPn0ih׺ʬUIpd/Sq-aSnr>rdHQe1wR^ 6Jչ$/={XviiJi\ɻo އ_<Ժuk+Wp(,,LyyϾ}ԿEDD\5*UbE{ҷ~[z-/jժUϿڈxcт68HXrAةPpRE+[~v҅oqiʗ/O۶myXb\Q;[ڍDsn^}M'͹` 61ȈoP1[3F/;[XW mn3 =^wPP~).s}QUmtBHI(bPAD*bQAxД.齃t!!6|~ D̜Y55;>Zq_+I fB+:*H.#=)DSZ:O:fv6EfH~}TK]seä,mK҅u#=k/<\'J ?%|tH'7رC/:t.](<<\yyy߿>ciFM4Q*U|vɓի7TƍUlY)SFeʔQxxBB\'۴i;SWo߿ eU^A! >cEatGJ F?k+E寒` ۴Wٚ*Ty`r2JdKռxRd)zdK H^גK+r/I%KM}ҹ>nHZKfI%Hw{$U#*'U-=oJdZ0m m\۔~~~zٖ.Vjd& X7T`p;d x{$b&ې%?+ zMd2RnԸ>cQǼ`b6 s2U[M^[0P2lRR:ET^%K5yPr5G9 f+K TEV ]};, <͚5K&Lz(W4iƍI&ѣ[ƔuA͛7խ[7l7tMڶmѣGvP`SzOYdhgR?r&JxD(Mq:=2PKu<XJPV*HBKRZ44vEhoҲRJEsUyM/N3Ε*$VW 0[J.G{u-^ȕBrrrPB]/.KtQK*yjgՅ b +UC۶oaٳ:~;cǎ駟4a-^X<򔯒r. zp^Z-[TN>P`>/ C(Yʗ]uT-)CuIgClMrtD=JWʨi,DrtV5BV%ʢ54yz$?U]$I,./B0IRiOn\R`+xGTtkR޿@:]zmTnҽJmxoW6-V}'+zy) %(uV IDAT^铱Ri}#d SШd~'fFJ<ʿȧErFTò`af-~/{']F\ ohڗɓ'Šn:{!VtmfetѣjڴҖ'"5}Bz)d 8+zBj5U^$x+QdWEkCV PiMrWYBBAilCvUsHj@zT% k2,Vv+W UIJ7W~EW ;Y3ZE-TC69S 7ךl-o:zTmeE᪥0>=ڤ W ukSʪ[S:i5LY+׸Qz^Ti\~;UR@]m NNT \I::K::S] u}pؤIu[KiҜaۿJj|Õ}yu97#MKz#KJI. '?ܞv97^Sɯ)">NAWjue ؜.3i38AArUh˟/iɡCjZv$B Yg4tT[\|Ë#WZ3/+<:sUs͕$!5T6Q%{+N5R@Q>-[O?U{XtUO}'cL2jz[יr5T;͉:*TRRզM3FAkrEmSB/ zzR5nxovW{վ>7X\U&qd8K*{%O~62%$Є?xhr{9*/TwsP T&ГD~'2 h⌧38*\~5q3ޙAu$0dCcbD:nk&FӵkΤ$sf^|+jntV->#G^[tҡCҥKY~=O?4][? ̀u:7ڐTu H"ooX'4lؐ=zJpp0E\[ ~!Xnʨ7G!^{ӧyᵗ(QTabʴmۖ^z={p%q$ѷo_+p<ǽWEX `[rNr+6Vś|b~e -wH!'ӤxG Љ"ji E28J׳DsvA^!jp/yd&1ryd>tf߰z58&mll%^ (50ռ}66v{5kƐ!C(ط{[Ds~'.#1|`?|#4qsp̧NJ`` *fggClHb"d{7|bɓ+CX,5j۷o'-}فa̙32ePR%|A~W5EX`+cu,1YD T>g1$/Ab zC^09A:D+cy%oIf> d\Qc|1`Q;7 чsy UK`>Qdmuo*UNǎ5nőȥG!}xq#jv)0 Iݷk{ {o}~z-J*ŋNX?0u8ILe o>|{j$9Etr/F1|5wn6Oes`#ن9NFwɇLwFr/^N'> [LTqW/WI0l< ~;77& ٙ0k,&MIJe8v؟V+t~*Z``mcH-[r{4X9ּy֩Åڵa(w*Η*ELJ8<\_ |i_tATT&My愄0ϡa%׸,] }%<<Iݻ_ŋS^=, ;>¹]ϑf_D:7xN,Ȃ^gr(( 1pE8ٳӹm vѡC!&&p1,,-[#bA*jF1B%+D!tEҴX%9_J ߓVK 㞹ҁ7ctEF)ӤroVrR'(%UIz\MZPv@ǏŋDj׮ -.v=&\Z7n\[r!gʹv%rk۶OI+n"(u4l _}%?elG\RU3ؠ{SdW,Se$%ԩSY,V?ahرZv&}1D4@azFe _֖UN< &h̘1jӦڵ38*F1(O:@&yPTCڮ5-שiV~ ֎$( kY,^lSB˕%{IeҒ=s%)+N:TTEG0]/(5{ۇH3K*VU@WU13Ok̘1jذt)>}Zl?Ѣ*Vb)|I.ke˖)++K'l(5{qSn7Ⱥm<(up8**ջcbرC;vPBB֭EDDnH5FZ4i&Lիkj߾g֗-uԩS'-]TJ፤?u#0P/=z!ɷ_N]Ub %l8wnݺ^=7qq;ԓR';{"sP)w+ K tLp}Կۻg:տ_oR)PO{ \ JTxwyG}#VbH`/'d'kٍÃ,yN|LJLU~b6N0_x_x †g(  8LS8NN r+Q[Ȁp>TXX9W\[y&[U Fˆz,3$@Jt90>M*Q?"I<9rC:wey0x"zOJ?zjn֭[b͚5Z%K`|lԈ:TDl=|mu^z-UL]YO:uгgOFI=h޼yWŊiٲ%# zܫ]Pl|_WпtR$qeM0ߢfm`L232^+H!`gdee1|uF%Dn݈ZT$| gBns 1CP 8d{?a6l/P[gmwy%J;8D׵hkK*lb9?)St! [NqγF.?q V18l!TR UG|IG|!* =TI7&*]i2RP vX;dȩ'5PrSuePz"4dS+KUZmTZ<:KxY,eGR@%)bdI^N}%+=^*TRNJx٢8KWYA4toI&B6Ejg鹳j֬߯on}MWGymbJvZΜ,TPGlTر5 U_н]USO*i Z:elj={UVjժVz?g:)gٳZZln*sTcVml#'G&LД)Sl2uAԮ*ai&)g _R^qʔ(Sgի ,D^4q#CUb3B%:ϒ"1"sR ){p_F <!KvkK /ݲXgSRRgںjjޗҢ- >e)]! U Qyވ-m/?V{A1>I9Zc*zV:<N7# .HŇ;,!$zzs79,D)p?;Ns{Y[fyd/Z0.C6I~&X+LeS<&H~d*y(@50&<>>IܱrSt]X /hM $"8*Mjε·.:Q\ÀO˭]Y3Ĝ;cyO<!!!lڴ3ڐf~#[9¼@^TCC)8p'~ /ߦ#! URzuS~O?V9 GqNxzSԨQJ*]o\{vCC !u }OTtI3\a<ԨQ]vɵGG].X,0s+Wѽ}v~4HŚw+G0 sɇF&_IV.xnk;Y4FY|H.y9Gkśe2/8ᅟ K|d9|ZX>ػ7tRH7fDA6v^!+"9]4#+iEbe9,<6/79\daorΑ81sMeND pA3nc=8)_8x<ŃA33nTwKПefOHNyXp`)8M(H2"dH#ۋaf+q %o=2@{ r+tmp ͜/ |ۦ0^pʚC1\%&HrøW@6mhР{XUʵ&O"614N4!so[;wHy%{cǎCZJXWm-rmշw^hݺ5t֍Uc7@pTĻ$r]w~:ڿ3x)`:m {MՑٳ<)z5:/ GVLbǚ[A? s9'r(k>sNx Nr|ds3,eq^=X0"v#]`=Xs "7wf*!86ռ4~` G8˿Zȋ,g[m%^bmYC^ғn3@k)@a-)|/4bF,9ASvӆY֒Juװ4~!Ӌü v{E\IŠo81yođw9qP9qY_zxF<3s`]"i^ou5R}0 ك۶1b uaLn5uVK]]mUIV۷ixyM? #|6mڤ]-[/q%կ__ԩSO~ÇuVtptԥKmִv(rݷo7oߎ*:e#+y_x=L1Md-$9^ HmfS>­CwXYfb -!E8r(Vϧn@ 8"v ; .]裏22vM5l6y 1|PΉT~)בŹ@h(Lm;8P.g{hٲN' S?(,N!:sr0Un{[/WNߟN:q뭷zX/fh۶m`W$990N?޽U}OJyyy}X,{9MT[xw -7Ν;رcIҠ j֬Iڵ A4nܘMҬY3j׮$4h)SH_T3XzrdC$=gO,g|«OQW%QE!V!60֙Ko-s5wf}-aW^}UP/ Ts{k1RZ A"cJJopbxpzW}l]ӶAgDu۷o'<m ]w]~4 4*5T"ۼ Ow{I,'W gIa_0VD;vx9RyCoaǍaп 'dٲe8O9r0עE "##p04i54ig}v(&",F1||p`䯇Nw5N e`ރ3>|L<^x B_sre{y/-c1>JL\G\I+t|ۧ5k_ Muc~!x$QF Z4ocy chDR`/<<>$7urR6c1j(jժsbUl>p$AxHL6&M nҭ[7 ȑ#裏oٰa;vb WN'֭{ F1tPVXAV֍Ea޽{9~86m*q' 7'?=iB:^ g.dτ&pACs6ׅ5}{wrϦa޹gaxI6&B0>u' sX&NgNAx9^initְa$|3ά,fYxNVJ_HK3ݒKKW%2?WihX% BCC;ӧϵ:Q@޽ %+*ʴm1c8#=GwMN͚|~=k ʖ)C@@l&ty̙?V/wۦa\ѣG3c;:tn-8]&l\I޽ &((^z]'q-0xyܷ]ynτ]ߡ5rZjmƴiӘ>}:[l!%%[H]ѼkfÆ r L請J5LX4T`e ;xQWzޏ?X,Sܽ׫O(9;wr 47ZθÖ}]믿r9{j*GD^%KOg4()1`{TΝ|՘?ARKJW'N7УDŸ799O>Bۜ 11x( glْ~ؗs{6mGA{.CE` ztlZ e)n̈7ŨqMyoJ(,I+vtr>mΌfnumEg.氅X=% 5Æapif̘A׮]iܸ1ڵ㥗^bҤI,^ݻwyf&NX>8k|dK \"DX6llg3X|ǗLf+KPsy(>A l %`rM*/G%.R =_a@d !}\U Nqs]OpM'/r<4P8샠 o>=R6Îupg(^z>ݻӼys]9xĒ%)XҼm a06m3dONM7ɖe;Vj]2NNw鴣5:˓1oO}[)$6o|ɶdùξaMUXf.Oqx\b9xt꥖$В$:zrYy@ +P qޕS7jnVWA͹N'Lzu ,χSZ]sƿ wD@Z*T%{X\eb%tr}{tS+f6Q*$u֙/Mȑu LsiS.mNBC_u2`8۷oGk׮fM:n?5WV 6PJ:vqrt+ 8{$]wtH^=???nk^zqw@yrr2 Mkpc'NbOyFv ر} ~~~3Ç6us;89f3< %+>o3Q|8b8tV\u_%~OX>292'XYp]$*ۘΑ6pr`B>Ic$hrzH1#\.]F;a.{|DqẌ ;8wƫ` xX2)$L`4sso'N W!D cE ;H qb#ۃZAMd2ӑåJrXZX+E b` s.w_H5Ɉ%c0-^j?"7|AZuS?8QY˖ԕq8ÝeuHpAAT i}Ɋ@h(>E_x-qj r֭{kΝ;)_3^t¿zKXI<\5/v&!!0x NJ>}%&~P;"$$~櫯B}%1>H\[wR֬YSٳ7V^rִ@rȑ?Lhh(v?2vcv?~`QxQ,f0gv&)vv|Ge._9H!eKy41}n2{hQ^QDx1ڭDӭzR!*#,^WgZ.PRӕZ;T_Gt^7uڣX5T%UQi-!mjw6)TI%QݥzBjJ:+UvC隥FGU }hTNA ho:**YؖU 2UW5TEUyʮ\ ޡZݺC 4L]C_*ø,bSy=A:n?Rwj,OBY!&K[.U)Ln9U *Jy炔@eTyٱ-G^*QfH`] M j?wBjq4t9WAjDsN5h@jպj$'2ޙjXU*ݹ)Pɓ//[֔?uD%9:t7jd?tH5MSjF^x]'O*C$)$$DIII7$I5.f̽"=ErإOH)SN+r R'BG>+|СӬYTR%1Z]ve~I77>S &Ԯh:Ra֭ ,;ԋTmذ_bDoœEhڀj)A%$| ě/+aee־59I0w#>ƋS>&ڐAYU%7>hlF0Մ;F7B}ֲ62 Xeee?ѳgOBCP%-td}Ż#sjD~$ʣqo__ٳ?3LVZn[q#MIBtZ[X/7ހ颶Etٰj* ʰ0聽ǡCG˖-W1܉ hu>; 6^:1??CTc[K0W7oT*}zlO8î]0c JOOllM)kGLa1?w~,޶{uԱYiayPo߷NUJ|If[DnLn[V#R1d M <* 6F4$ ۙxy, uFpU0,cߟ>}:7n%ӧ,sDI<6< |FKgo?mm0YB}GLTZz}:sdE9dK9 h>2sϘDz(EZ14 }%YוA ɠad ;yhmy!w59Ӗ,riMAV3 T rF窝YdUVϨ|ŭ[\hӂ^_~Bo2\.gl T99 9?^~AA_52vd3=6>+,.CueT+}V: _7a|%")ȫo@X%E]ɯ3A w%#u!K$#3_jƭɬtӷ~K\Mv6Ākvqz l呑bm;WL+011ݺu#:DT1eK޷=awueEb L:ÇӠ.Z1ۛ~k<^b\X@0 $fHrJdv&y]\J¹skWL&32~a}%/xeNLտ O=Ox @KHt^*f1qƫ|1lS4&s4cٞll~!Zj0ܦZDԨRchtd"򦜼@$niGCdX2jmi&kmB$?J&yy]эcUbd@~o0{yxSQ2LU(emO=O z~LhT 9f/"C b oYA(|?M7fYx_4yZ)O3L[Dt T+QNƒ!IȤdl" 9:Mxx8ʕ+-\Ȱݩ@PSTċ1y I[,:}WX%i+g>}h 昋&`d2YѣG=ܡ={EOOO(U#UI~K ,s.2}G.ikk.~%ɜ̻]t3>\Tu{V8SNjht}LuO.VD蹂W{>sD˼PxgȄϟ{hCVDa`1daQ]8bBBxE?p!hk:}{pEO/tH<@$/a D" E91]1dY /2)JX٬ oC&6=8$+` 83mK<13U( t d2wN._.!`40E`rq[8ؾ8~2O hPXz+WQ.G>}/W]y}$l;vJPYvIRh5e :|5UGEy8޷##ad5< ܝ1]×_J[W_Eܫ}ɦM ͛;81CPP:m?Q8o AAA -[VQ,*.\h6l{/i/z 4s?y?NNN A>}ڧ31s3Z:qA&A<60 g9p+sh4DF.ǜ9s0}taƍY=X  Egm # Q[pA;X-azJXw8,bmE."6gɌ2Ɠ?=d(3-b @3 *lRc!@@SD k5HD6apFRB;£mTG.! ~F//Z%#($"h0`t*t"\"P`0za[+YHF Ox eu%Hp1[8h oE/.˰u@*:`` fU9GpsF#YQ7aN3 d:l.Anedz}Phh5 323s[ثxI*{(s&0z4[|&&K@K xTMm_>92_x;ΣGKw/ EHX9߸)h\.GEl,{~GI"RV*5""$e~ *'O;c ɶ/矣Mh(lDxԘ+acʫoK37G`s;B?L*ς{ )Çɓ'dɒ) rxعs' K.A朠?P']U2B29qA 6 ~a>t:!2T}:{ 0ñ d L:W5l$=b$F0 ΄} qHGZ%>v7H4_#^9ISqqZ9a1tF%c:cqm[Z! ?+.HD"&c \Q'7q pڢ9ґ;`:q@!@XEZGwAHS* ׫D1C:-F3l@A: 'p ]?a@C x!%@>4! ^d7̌y4Σ :h`cwA4G[:[aNX-(Bnd2*06PDSm $?;x2)|,9 $E(+#i]Xkyt*?\pli0ILb&+ ڬ,<#{@A` ܇A̙3q!x{{cԨQK/;;;jת.CE\dr9zJҖ$OD!2@uI$n߾#..]tSv? }.`p&A>3gbĉp0)˼Oݻ1k,q 4qr-OƄ p 𨖽&&"mUh"DF^DO8ȭ߅CR gm/ QpAYIztEWbfRf-牒ip,#!=Z`5p5U^^Ǐc͚5Xt)/Aijhb* ʜ\y\<{-[AvvvNNNpvvFAii)T*ヹsb$+W*1}8m ǪUp=xzz۷G4n'__y:w1L:GPP6msӧOlS~&Y}q%t 8}4Ə_6}47SR_ImEлwoc֬YXbAݻwGΝqqӧOGhh(N ^N}oegg㫯N}Yf3gS@VѸqc5 cǎ233N:a„ y6D`5o#A[4r+pcى\.Q"F1iiO8 疪I< p8>%nӒ"7'.nѐ{6dyZ `n*[5 . LH`JN`kKm8⯋0{vJKKdӓC afn;W^ӧρrȐ!o(Kbbxwo lJ%O<)ө*$>}pҤI7o׬Yý{ʃ=ϕ^k׸f>}z.7:I\Ƞ1i<^x`>/))mC___6k҄g۴xW.SէNjaaa=z4{];CE>r|ѶIEOsR U\v [lڴ)pB~3f r9Sk5d~,M1TSdeeqȑիˁrСڵ+pܸq/Lwww4{fnؾ}{LJ5"搛ޞ7oٿZӦMI`58XBlrY2Qz\` hRb,8G}-G^Onu$cvw9r}[JIH5-utgo SPk*@e# XNǴ#/3{,~, \N5MXz yi^2D;wxٙ!c}u>h4Di҄SݹחJS:{5-+㩧bȳYp O::2GKڧ^f jӎ){c.t ?*ޑ9kCsE'I^O8gw4:;cr񫯾;B///޹sT w Ͻ*ޗGPאK%A#Gؾ}{r[ ͛[oZLIIaseAA333yȑ#zjjՊ^^^FQQ(9|pVZ&f$Ng``Un+..^U[͛?S^X,IHJuݠ3txMNGDĨ25=* !i|MNr20 签<8x ܄TN2j"yފԂ/hHMj:plҤ Ύ={G}T'gڢ3r˖-/\ΦMߟռnn,MИvuD[$JKcxfظѢ:Olm)˹~z5sgSէ"HISz $k;W =3I2vՑ_ΝDG{k~v >d&d.2x Iwm)5⳼F?^ /ES9jSH7wgpF^wă<&A5lakO4nC'8Np3Lm)lE9 B@t0L P=Ը!@ @x1d%iP Tb)c> | `ְ? R*_8ڋBi@@Xi[M92\ZmƘ[f3vE9ų $`'^pjk)5hỌl~-r9g寿¡&GmHz]*+YrTTT`ڵxwm6r,\3g;; |Y\ Aѣ(**#vvF-[p #F q66r<<*-ŠryoϏӦ&4B/.*d%HA `xisໃDHƿz IDATDTH>pm9 Q/^OXl8޽{EEEP*h^ir~wS4n<;(hÀ˧fS%++ [~'eAgڀJܭy WNPc׶(E*s8w#= zazcYҿ==o)%,,/LB$ϸN?x|t럊*=/K_{RS$F,s+?m\X׉F 3 <y{Mҵ%++wuǘտ={kYݧCU  K lS;r%[kGOABB|={4Ks4vDnsP4 h=4믾-][֬YN.Vh㊛wG%R1lp >J1+X O@oG60KM. - 2 ”:c Z 0G$i:`[a1 23bH*X ޘw C%႞&ۏERphTivsul+Q8TDC9ڡ'q=0 1֏~>=B V0@xbơ#::" (D Ĝxx F2T '-  &#*8 {qN&DS3\PRd!]kr(jWPfrdCFBd$m\_V^J[u.-e h|tZ@0H;W,[++-r@P*!F|B+'N%I;IIIGJTF!+28JV}6NNz`y=Zm+v2i5E Ƽ3f+WPZZ +3=A,WyWc#~@sϦhnnnկf͚a…h1i+ Ba={chꁣGbz*<<3XrO# yiXxcJ&Xd..fܹT[de͵ދbvV'QZlMAP(טX+VP&@6ѣyj4|S7``YC|psلt/'I\T]qɟDY2E^2 40_ʃ  hYIKYB @:g^hXn>\``Ƅ#Kwwwk$ɇ/2S'YPme~>CON5ٽMCx 7i?l <)iɃA"9OO^~ޤ?Snn>q駟kً(/`Q(I2%@\ۜktnuT1 k]nzYdY2Ak0q;A u!]YU` :ub-fH"*wg8%̤?6mʬ$ޜ5b$ƍ`ԩPs33BBDΟ珞p "$K^[\ʬ,4;XdB&bcyi Աc-СC Rc8 ,;YG%AI!}ɒ@"~, #Yy^CPT/U`YЀ:hx n ,&mG X ?@_ w %f۷#\ OD@+ ione0vH<yPe>\byNwO& !mcSG3')fMI|J}r2z V~\ 7nVVhhQgX|9:uh8p$J""-_zZZ Dm6EMw#  7r++x  66Hkh9z4w.jFq0ak.#=cn @ MPv)5`w3[)M06~pȹ<k@iG(O/㫯BRR<{{ HP UL " s z{׀H@ (r[v@^ $06U]ͭ@Y:0a7b^~t@q@.6 ܺXY׊_@Fڶ3k*`ݱ#dNNNK&JJSpmۢ ۷odž PZZ>K.oun.Z2:JpQq!FDSGx hL& ?`0 ދ^m4%!gcmPKX/ ?<֭{n a۸1ڼzϝ1e_ׯ ~jOs1Xn B lmlGGؿ_VT2z`OHJ0.Z...Y8{ΩS<Ȃ+W-}3h<;f ǎAA]>TB[n1,4]t+TJ$<`N,[i-ka3a%t~/&;ېMB}yA")5T0 {yʇԊ1,=ANƸq-Imhw,^[LK=5׭[G[[[g}$C, $N'Bԛ!2 d71cXF䙂 P]M P^'羚$S_"*pwDqIUJGnBkLHyr+yyDm]g̘W`Ɓ2}{̟/$#\ۍKot: cD뵶Գ)a0Zc_y3y1yQiv `&#Ɉ5:yj'`Y'qrO21 ռd 5Z$ʻ+xyy& Uy/3Gh` sC9a"~Գ$=`"oB`^jE3jT#|@V+IM&=Hm,4?<<w27 $HS+jT[բjZQEKK-)%JmK!ɾ/"! yd2sܙν眷t9:y-rk%2y}w\A70W&W %&S/K*Hݢד!) k^eRժ[t$YѣGS.sGiSge xn$;vpN2YVW^ᶎ3c(tw4Y$ÿ?VƼ8#W o*]3j!yw+ziXFkNl_llXfMߟ ,}Jk9;ysq7dgaeWpǎ5k{6mpĈ7ow?hrsvd= wG^!نQgo3V742tRlcw;3Aš`ɀ5''nnn3f %J^< d/qVWIR,)E[8(zi<L=8;ByiW %euw**,JZ38[.X^-d#xas F=Sx\_1Wr,Wr,Wms/=)h!.oʝ|9{J|5<̎ 盌c>3nV7ٗ ,,#o^jei7S$JRC%p*òKkImFE5:|rAwfdNadJd2oiǜ7]7իyR%\SR&qƍթT Ё>T$v49;v3<:m[ #WoSdfrMݺ >ݬo|ɲ^!CM] +ύ ._/xxG*|ةS'9::rȐ!ܶm y"٠ ̼.!L}K3rݷNdϞ=9rHJ*E9d20з^2$/Mqfq[em4Y<-N`F-z*U܍[l!]£h`0?ze"/q;n <¯ggO?uEXNzQ&/x81+C<2H>|4/ZU+qGZD- 67OX JpF%Nj>=jQQvbo'8 oE/jrQַ,B 苓؅Zhf {L瑌P%b8QW'_y;P -N-Q}a]J=Q0`9͘2CUm>Lve PjZPTn4[ B `2pbH;bJZ"֗@ tю>&3'CM @;_cذaU(Ҩ|eQc4h`jg$dVV{7Ng-(@^B MSڵjdYI'/7+ϡ./nrwfx38]J_|JQ;wb0`RV|O.;{ d&L('`=}^{5|gQ}#<333׮^­1hp¥44ȉ0t[_l[L>[ ![QcQ !'1G`W2#U rA4óگ"HG:iP" 5pZCjEh;yNsA`m5dVu@B&v_yz8<0j\#`[J>@v"{a/xRMΨ]=[8DF!2! 9Dt+hB⑆X! x0V "VH/  !A* ǿD!!KxE7pp. Xz5ʵXB=83T)jSU(I;=fruȍklF%NOb/f0+}El۶-'L+W? ˖-+w[i D'$:P $^ r멐JAT wsu 6d&+oYI:dELdFş} \;[zMF l_ $EsQ?/ λ'Bѿˑ5g3yHlcKF[o\TLyhYIxk^QQ͚Q}ϭO߾"{.Zĕժ1[E.] 9M?{#sv&1dguՒ/Fӌ\V+BGGG?~m۷tٗ&ynBiӆ 4[yys\=?2q+N;;gHmIz=O}zw.ٲ*E9o?xmlw+ۮP(I&F@?G~] EwGSNttt O8M&["MHnHaxf`up@G[b*F4"N?d=7RɄh{a87*1TQC6p53cO9TXfzǍLe$x*LpFL)+ %3 ya.KZD0L33@QTID2T]6Cz,4?~a~tW˗GjŮnn<;|Y۹ɉLjW/ک*NR.\BWW[dY<4g1όϪ\~3inÇё1-'NڵYh"IjygǏ33L:m,R[r+Wٳ͛7N:tqq;9{ǟ!g?# !у?~a"@6'y%B?2gYZ^`6{0L4GKfz^w%>oq6C<LOq3XF5DǸy >\O-3m|/c_nᫌO\~NxCGKr nd96/ʕD=U,1,f1u,*֋Lt' R7PM!9^锤&i/uȝ]ɂm.9ӍxYdUdķ}fAUHWk N0YV[Xȁsr2Vѣ\ěe*,N$}uذ>Q$wP"X ]]b0F_^|?wfrt!IGFk77FZeV[/^_VeuSh y];ۻYY^rscJ7'םԂ`ll,'OLZYY{;W*s_NE4Wid;MH|-$5<\f:=VTRJX '`sgk1S/LMnqN,ﰠx3,W6kZ 4۬[@~O!!UA#^p j DQf r8pe6GK3z!rE6x>Pp$BȆ+Q pAUE@.$X rA|TF=EOFѺsp GT;A"P PX\ v&Tk]zģ(/AB䥤'BF`%pȍWWsg## pb 41ȸ[ 0^6=XUD ;{~f-JʑªQ}1drV:SQ}28WfKSB> 2˪p_?4zmhqk:8{OĮ`TQ59yft4v_}6mL?z/Y;#: Ϟx7M֝zNMvV}JJBo19.;q}HT5dڽ!P/YeCh0 P~fggc޽_ǾLhrE@%ՉKSl!t(L;{ FYG-kyeoߎ ?F˖-Qz9͛71x`L8cǎh݋-Bhh(BBB`m]6!! ˆ#wwwoޢPf©Sd4np-,]uФIu:V {{{|g߿?}G O;"hhgϞ%={"Asƍ L&ȑ#yiJTjW> &rtww)SJqؽ{wJĝ;wo޼YjZb^LwQvH")I;}J/l2`ppp>}:=<Kooo]ժUȑ#$ y>荷݇`rf@aP{6nܘطo_ۗ;v,aaacǎ=udzrӧ;xɒ%m!!!>W{rƌtpp`ʕ٦Mĉ&ӧ/_GjA <"[.ڵkg22 h4زeKQ_cĉFa888-K/ᥗ^*[$dee!;; @ms)Ǯ.@20qJNF1tP|G3fwT~ 5kDPPC[~3gļy`ggT*8:: L?׆ 0zhNNN:u*i&lڴ mڴ1?o <999qԩSe> 899!++ UVEvv6^|E̟?/ beexxxx~Ap,hSjW V<L؋wI̛7* M6-6VX4k VVw:^za…5kn݊SNaݨW^x8pZc5"ACj˗/7VELL_!,Axz-O>)^^^E+W4)X | I@iOX H X(ƍ}J[DX(((x$9s&0ydHOOOhZrt]v}$(/\={{+Vիt)m6Tt3*ƍ1n8ԬYS@p[+#JdR4F TX | Xv-:v숺u>?[YfY&B֝\4i7oOMӧ#%%ssUtˆ+XO 8=z??*UW ӨQ#tK,ALL ,YG -,:5XrϧUz]$bq N @= :]#X[ĻÇfX두͛7l3gDbb"ѲeK+WЪUGֆ_(,, B^<#F6nH+1|/]Z$7oXV-֬Y~~~񡏏8a„r24F/ɖ-ˮ #%Wz=Y0^^RoE֭[-iմbJJJaݺuÙ[a$FCLFgggFlڴiE7$F>>J‘#GxbYx1rH4jԨTd^^^;v,F aÆaذa .`˖-tKz~:5j`* iiiE?̙3)1bڵkW2)z]SՌOTG;6L&z/IХKbڴixD5>JW^لz*cŊ^p=:!Chggw4""",e$l߾='?>*Ç+ccc˽\=e[ZFk$ew^#޸bS7@Qh0]ë~ys##U錯mv-,%??ӦM?@GGG~ OBJ{nݚl4 `=ƛ)++ǎsxufdd_dʕTϘqɉD,>xѴiSԮ]UT @׮]ӕљǂ.]ڵknnnغu+:tooo >ׯGRRCo%7aÆ{Z +lbJV2% ](P|z=p>l!ysvv6mۆcǖCcc8;y,C֘=Jd2aɒ.X}7o*@zo Iz?ׯ!C?~:^S8""|c:NÚ5kСC̞=nIWp` f5jڴivK.aǎ}رcڶm 8uF 4n./hD N^{ nnn<)TA5UѲsN Tz .2 91AcȑF>]: 3S_~IFXXy MТ7~9kCpYZoZjxw0w\švرS?7Sw[(XYɠRRXN¦MаaC7rK,A͚51c??(6C |M?=/_mƍ?[=$o:t ٱ]v8p K|-;w.QKsDtD|T(~#,Tɣ9'M]gr={qqJمr&(]dd.&j=\*oCXܸqĚ5kZj֭ ?%JbԘGm۶%lْ$ɥKR&ܹsT|YVzC\O>K.!44o @Vc֭HOOGDDpuj /^|dm3lj'駟b֬YF'<5 .04`t-`󀃉q^.]@}-`BsV9:>.j԰o0TC,Gi6tر={f7sн=14e !2L2(M;bcc~]8*0+c˓pڵ+p|u֡vڨ_>lmmaooOOχ dOkq:=9?ngr~5}'NHggg6?ݚ235a ɂR{SJ_Ç +Wmzr 22Ҽm$II s2+KmނAa$IdF&֐?'}Hf[W\) Gn˓.11k;Jcɕͯ$ylٲ%/^Ȱ0hтueV,KX`=*?O:ER޽{֖Æ y.\={+?hZ~Gd޽;SSSːΘ1 Fy(뿗RL&5k{x=+y~Wri3!t_eڴià Zǎ KryP'OMח^O~<~030ĺȌ7n?\ ʿO<m۶6k֌{fnr'ܼy3G.~G2'|X2ర0~͒$* %'\EZ-8k,ݛ )FaϞ=s=6ۗΝ-[]ܥKSM=3aOF2oqi3N#_peK3.Ń2o̜INj֦JJqذLIQ^߇.W )rJ- }3 W^}x̩c.E-޽666th";O/L-[Gʭ9m5hɀ:==K.ePP}Y6oޜZb۶mپ}{vܙ/+Uˍ{NR1$$/ܘ[ΨMxh* %'f8q}gggZ6??͛7cbbZikkٳgx~„ tsscNNC[;v &''=v%h*Ϲm/~u^ @eώ#Ks,^vvv˻cӮ] @)4Tɓsyt:*$T7ܱ#Jfg_VGL^%Ϥ#eȋd|:ܴw`^ݸY .$3Hϻ+̣!`!W$I[Be2VJj^Gw}e4oƆ+W+EqȐ! 7|&Lرc9thvn k Ez pÛ)??%,cSRRXvm2*:G>=⊞KJJ-?;fΜIb Spfd2f0IYҩ'tZ֭ٷoR˫]p3&@ lZuEwxփճ:_䴣$"Oc ؽWO}ۦ̢i4)ya!J\C%;YԦ[<<&$cAg6q# 1LU,5k_#ݯs+tVr[L&G}Ν;ޞ 4W_}Ŵ4dq'NGD8cF Nggg TTLNN( 4x{K0pN D{\L/_ffءC:ud[naÆVCxGooo2ƍJeK$Ib:u8nܸO csi^S ^,MOK~omq> \n')$c%`BB+oUp 'Xlh51% vb >v OhZ PҰްj!Q $~B7#'&>5u!Ck8^={=!$$2dH˿ۼSw7/.prN(ԩׯT"88ӦM&O+` Dvзo_(((m۰{3)) jv7oD@@p)[WƋ/e˖YjSA{8 ((5Gȋ;Ie)zo&- xJr2`cŮ.fm/_' UaƌlМU#Gk_|&oL>Ѽf8wO~mőZ*z Yd/ )F Q n3X($f>nx8bxHn&"[ U6 (.TfOr(D* װְAUxU0L7Q/"I\{&uqq[\/&- l >+++zRJ)%,Ba׮]Xj6n܈za2dbccͮGb̙AժU1l0lݺG׮]N**ߢE DFF"22b\A|ሗt`[Xܨ-tD;8)gfs,9" <T0("`̊0 GFA$gX`.9vfoޯ׾zf骧>rK^:V\3ș3}w\Y-_V|"uPPpiք Cp(\u? *,l4&Ci*v8#'\WĀ_A(̈́s( d-@  88+~Ԥ4DЂhOƈe+;vĂe4$H?RhaNL[\*繁_@@[d!,,//^WX^X,yvE-xb19z(;w棏>7dѯ_?:Tܹ֭sϮci|~a&ԬY+VTߐ8Vٿr_vU% lVp;w駟iܸ. 꺏Uv@fMN5*֭3X!VgFաI=;\a0s*:-fҴT s7(u2yd +W$((mS' VHp_MgM87SAhr H0J!5hw@vJ AQ=CQ24dmb̕T5 my 5Ϝip?&''CRRRBhh8#GVߋu.F/pһwo̙=Say1tP"##Yn:tW_ȑ#lܸ;bBCCiݺ5qqqݛs2f̘%+БX->V1ʗhk޽|\$ +:/3j(7oGcf7ӧa\k м0 &Jv2BCCիaaa,oؑq:u}[$Wz@z#Z{x5#nlIBB6ndMlٴ8||;`Bve%UhE0H{\MXN03 *e"V~ Pan!Mp :!C s3ԄaCPgUyP D@G#6`A0K4V6mCgH +, m`ENA/??͛7n:>C {hs!?BB*ҊǏo)h;ԠA*Q_~nycM6չsgwZ-{؄ dZ 4zԩEcNCZ.jOK Rq.M4It+W,=*wټyz%& G[oU6lpw-@ڵQ m:*}tj,6rXM 6LӧOWrJs*GfxB~V&PT,W9:nUփwJYKS=R(w{Jit J^5M YOgۙ#$IvmRn/˶OT*ڒ^]SO=ukB:&3aӐT+m/=M*v$J Zsjȑj׮] CddnLdY,`A4g+|:|֨QCsѮ]믿.phĈeΝ[󎢢ԳgOG kVvTI%rh7zh6:YK:%uX+=C:Y  C}Lq</s76@eaݻWjժz$HUժt-ԥ -[W^ԱcG5mTY23%Z,5\..6,ꍛcIo(;Ji܁2T\ MlRKPTON$>2:)m"9\b^sKqWT_ǹ픶η 4ՐW\>(G*VyW^QxxxH"v94SS)|5H-PaˣRƌsuQQ:uTf֯__gMѾ}]RD*88T}L_wޡiӦO{۷sWop8ʼL86oL~HII֭Kff&O0aBr|+S>qΚm g;k6gl>r` pUӏ&|:t9z(ehoΤ ?EE>gbb"znݺ[w$'e欑L gkω'I&ٓ>2p@V'߬{k<vkަ@h.<I!N$9Hg(\9H4VjBCylՖ9[!BےPLf.OnNv(\h~ *V'rFw}G= 0*rt]ktrsp5"lC4YhcS 4(sWnN8uѦM͛o n(5j| ? I>=#00}4m ˿2x~.^Xu-{olr IDATʎ~Wնm[+%%!11Q,~$eff^zj߾+Xh2*s,lRuj=]sd{ 0JW}[5ks+5c>).YQē" VڵtЦͿ=+gc7 *ҐbW"zIN4B)e--+~F-v_T1m(db 嬑NM6 C5Vrn{K:ꤒ,iImw[NڒF}ɞin;2L1Sa$0d8S=ڽ@ Y}HٱŚ^Rfp맵_^J CKQxk`իWY`3F.}Α#[pԖj-n1{q?Jx ˜˴`;X~~^xm۶euƍ/Z/0d7 9dhjv)U9zAj&jː-Ie~tT.9dNv*Mop&pxҳ3FUi[=9%hR{C*N7 (J=b>#f\YNYS6kSTNoh+_ڪx=([Tk\~Xv‹Oay]3mSO=%@R}VժS?+>>BN9{r&X9)//O111 А!Ck׮sie髯Z-[TLvv;N*@sC!-]JM5?^-媼oJbtFS5+**zKi}a$ܶmBBB^}kMjРaÆi̘1ڿCR.F~!'WzDNʩb%}5Gy*Am  ]%qR_f{TDRqKye8\ iRfr' dCU-tw7?!C_EMsfe+_˴]ڷer]Bw;~ _jzPݺu믿^0f.h/ܟ %>X^o>^y/_N6mҥ /.jڴ)=z(+?QQQԭ[_nǝC1|{nݚXLBQ^Q+sXZnͦMzVlQ;bC||rj~}P# A`%4Jvѷo_.Xɓشi)5j} />_YfmCm; Ҡא] 3@NɅ'~X<6Қz: #2gS`6CӠеbD(: EAN؉9.urփ#] A{1ͷtƆNcb ˆA)vL 6DėO F1%O?eK1?n/M8>z9ڴiӹ{1c9/6W?;y˿_u8xيVll.,?װp2ݥ*Um/!T4Q._O222t7fieS#'U^ڡgYd͝;B㤠$I&HW8/kIWIsVΝ;k3 Cbbbm۶;+u/t\WHͧI>ciY`!K:$8FEii||FRVkqS:*Qʒaʞ[MW͋ɘ*폖N<&^#J Y҂@iyJ_#*KEI_ &iguW[y6i)o*icS)cZJ+Y"y\2\^׾-@˖-$8{|>iUΩ-3zZɲz}:KGJ4iRyM2߳>[T=RD RQ%FW}&\x ˜ԩSݻ>@=CرڵkW)IQ> Mvyzᇕ{[k|]v^yY,u]vM⥆R%4s锎KCgE҇.-Zo+?nMSNSǁ)s43\[8L_Y.t^rTry3dh(USޫtصNNiTYY+H'<-9\u=*%M LͤɒTJ*o$#gHHH[L߬II")/,[Z8N:B=M*4Y(=7I#>G4[rz*ON߹OА,CŪZ(n_*vU'9<6 C?ϟ۷+))IǏ'ӞHL3rk`]տLaͷC~+%2ZW4YY_RRh޽/ͦ*;%񐒒ԹsgYVQiVIaHNx\u9x,s~v^97NYWbJ㾐2)(2W;l˓nm6T:Z:DU Uڀ>5r 9tL]T,= J.'qÐՑJ\fq(:H~ҡRK#g#oGK aɑj[[ ylCk֗mgX=%*PWw(C4]8[HvS g7?5_~ڵk3d3g|t҅zIHHH_hh(?<͛7?Nѣ ] Xd_e߾}߿o>ˉԨQ'I8ߟX~7:uT Ȇ'_z`~hPAh\Cɦe}ki٢vb!#Ӌ7}oChDS}aĝiep!q䲋R#D,(}FL!((f͚ȓr.4ws>jP-J`(rƁNciLXjAL'*ud9\'d4|~xv_3tY:(b֭An&0 `%S%)#ˉ_Z8 C@{r,{nzQ>baI%81Ixy>( 6dޒ]YN*ɜl DG$)\bIҜRIs;riʗLSҋ΃K+oݳfۓ7WH̖zNOeU.kzdwԦ˵rNz=rkS>!c]EՕJ׊׬s}Iv#oH9[sjWg5#},c;8K;};)c*֞*9".z=QRS!Ct eg(Cߨ|ξ[;K~׭yqbR TrWVWoX#Kk]Z!U}Mii ;!ykτ?3^2˔-ZfZ~ PΝիW2k7xCJHHК5k z␡v{՞=3Eͳ;\UhwHC'"}Vg(*th%5)K:fUqD[zyӠO[~ZjO޲i~_֫QFi߾}*xðq֔o`qr8]GM0̿x\)n;]xJ:<8U%6w/) a՘_2r*]uT-imTǒڥo_4D%BEFGeZJ]~l6+[͛WΗM~ts;@zҶKXpqI\<gŸueըQ#j߾BCCoYz_/)N{5k;`rj~['3kǫo+0'S^4hS}r1)bʗ9CAcWiL)R%:ai ikaHsRҰfD2XGt͝;W!Ѿ*I.4G6{^Wg fStLn -S{2H#rJ:7N|,e.s~Ru3Ii12⤬xw:eҝ'W5j{1vgJ*0%@+~0 ,┦iyjj&J]W}$͓[^X8K)rDxF\0b8ҥK"//,O9CBBX`+W^_dR}UZ* 6$00ZmTXWkӿ%C+pvʷ K^Z+.s@#ϖw=naн LژB+ %UKP`v[aذa`!4zb@8K̚5omϤUYqp0ӦNc +MAP|']>\>,.o1pn4@^+`}]uCBL? kYպX,С~9l(e%jC/jN4 %pن+&LWs/3Sy[U䔥K|ώpMquCTx]D9o֛NrexX^.[رZՋ+VŭZv%mi)~ҩS'F^/Ҙ/G}cǎ]-V&J/ 񳹝L){.r\ &>/O+_ޓE`J2 >|GBph ?t[S 2/ϫ @dd$={÷?̕% ㈰ԢKcǻ]C_myg/,ؠx)XVJS`|\+x e(N3UW±%P -D3}r qf:g?9)Y鿙E3ƍ4oCx@7>,jaPL s}OnʱcǸ{{O'3SeP3pJZ11À W!`0̥rY" fva@p=h|0:S8 * ¹lٲtFM7RHRC(d=+qihŜB‚৭9lsEץ26l"lDt !z<te] gnv*˛* oi:D~af,1ޔHpou Q̼V?sjiauϚbscX 3;EI` 4uFPذ5@+`J! `}Dc'éI(Ui\E9Sԯ_n}`{*qiCii?d+H^~B0>PW[85{p4yQMڷ88Ka_z5U3[ Pz>Z 3Exe^X ٻw/7u?k0p% k  ۷O>300 ٳgӽMlnDXt%[L+ԷA=JD 1N3e=Rԋ<^eG)E`?59WDԓٗDI֭8'O -HIIfXM\p_ovXUd_CZ˝!"0O8iNKxB9wؙu_PVWfgl"w8IJyX0d39L:k֬v$''~TlL7]"p)?3f0 !IwX$=XM?U:_&C;g @T379XQ5 `s J-Ϗ^< G>Rt?o?\y啤p8ذaԻ -$q]#V1H@ \[,^+?.>xѪH݋?;^e~g7($O O0_|} ӇqƱ?8{F;*3.F`]+!ɍu[ms;1}wiuԌOAd<4 :ow``h^/AK A2R6) RH)߲XHy\GV=W IDATjԨATTA !( \n?:7~d߶{n( ~׀O=EIY0-4(<-yNnRi{ ;s=濊NA`5wڑnP-Xh7ta1Z]sGYڊ?6׈TuIbƌzwcX`5k$:?v} d㋍ >[=D჏kXh{)xrKakjw?#T./v>~"<=$4ӐaÆl2TFI'tazV~j"dzT2}.F˿DPP ClJdBW`}ܥ #W`,_y:r3|@=´%lClXi :7Wel<2 0@z ʶMMwsu1i$ko34 6})]UPfhSi={ =WE2lIzF6k׮O>l4+QRg%l`>|(![rMqXK-)Et#7NE{Ȕ)5_ Ճi$G /^X^tdN6| $k<#5&:@RSS9xuijK <<J( _+>yI 4־kނ T֥sW7AF1`ʍsJK\6d@!jΓs$;yd-WUH;kV՜~,Y. J/d3+ON14F]v&4%hIXPHJZIx+\Ʌpc0`k=^{_2=/bcTlֆ/qg9Q~*xo *_li܀zWfԩ,\>M[/ȳCB> 6`+GưpKBYEP%,7`@,WA m74xw<4v/9(ǪJƣ;)rI! ?ӜMT}k7\?~ú.j `浜H2ͪWN9sw9& Ahw@`CgoouO2;Ph.of1 >KǶ Vo`.\Jp.D6,kSÙ1cC^8~8t+'r>O1v)rӮ)촱׻*|C_ @󯲼>>6~2^\67UNT{_4yy$ӡp[Zzu9wިz]}RS̀kX,3T腂" җG+]vҕH.IzeuHK4xO Czɲ^vpNPqq^m bȩk5k -5xt>#{d #]%mURt J÷IҎAO:ʧq=;y*>UJ^ (IڼyMP8׉fڿWq]TcWG%xÕ_4H{lk*^{եF'˥;3ęR&X ]*t\rڟ&Yߗ ]QJ; rajτ? NJQ;Iu6O'h"/X5ڵ+ ,`׏L?ٳ bѢEԫI7 ~;XZ`Ni%t \W~U'aS%M*-0Z1G6p lC]3a2X"6UiVb!5u2a/p VYʋcԯ (^r7 HyK!5"%!Pn~VQkadwZOн8;m/4xN?c81+[5cu <$J.ct IR*@6|ُ5ȈHC>fT*.γ43nc?  E>kju`R\ZЧ Ć[֋Oio(&B/IR$0*lo߾;Lghj, nI y XdH4 Z+?2ϐWI,0n,eΦ~  G;M`6i/IPX]Ś$1F P&(K- "lm5CKG5ƃUe%Wv43aiS`7+/0HI D_ReB~buv3m!nL:cըQxx)VO%^=P:Rh&w?x.F<  %QCfq,ẇ*byt"dK$Wu qDaIz,ЖQ/N?lKq:1^cXMv|!e`ZQ(?/@lCImwX%4glr]M3VqpCu^x->6 jA6Ԇ{!3X,Vd/3K}?xꩧLg~֐W_1r}YH:^\K6:$hЛ@֖KB*i!%(  7.IrW/^x ,/1RYq'~Z1zSgB :Ҷev;{[:t(s 7:C?8V#b.ycS`΅˝Mde8q6ra#waTnϊ>>/ba>' )3m#RuziXu/A^]ӊPJ=|f~4 {Bk(.qк8Ǔ b)(v@U,j}=:]/xY"()vҰOiExT sL %!c5Ը\u?Z> >%W+ 7 ~UZ׭ҵ:mڮp9 DCݛ(..3Әb/95kF(%S"+ܿ5deaX<#l>?.۟!,}A.KfX|7+~ncΜ9GGKū=y>ICNv^⋄'m w^WX^#O|F ΍q}viTDUbʵq0wݜ+nA*UիW3hC=+V` ]GQhlVC$p`|r(r3W__~ܹsуV1?Za+L.$o!QLm'WQS05*E'HĜO~~iO9)XxJVIs0l ^e>d⽃F-<\.c af3HF7H!.h,tϱ'ջyavqD3{th+%T@3Yaơ't;q%h)7tleH]+ԅmаr }9ip]@gϞ{nz6*nw_ pT, ;;_A:C$-Z@wOk⑗98wB!7駟"I_.]/Wl.u%0B+(%:|߸ 1lؽ{7|o&'OdŊ=z~޽Z%Xݡe`2jtqcQR|[Zqʰ>3#(Á!0*@Oᣣ5cz'H̄G7C V!*XaE36 D hA0 +ɕ;ۘO0Ʉ + 癋rY95ڼPN(_t%7C} amɰ4T,{Ă]J3 _]ulC6m`^5˕-7݂gez; 9rBz@`fc1ĀA9s&auذBBbɒ%׏:5,_x""":t(DmG18fisԬPSCK@x_eddcѷo_nfyT*cƌaǎѷo_\1zZ,\FO$ yP"%Rķ*kܹAhc?IyqPyeRCA6uX[GsrqV@p!X?:Gy||Xj~5 *hUUl\ zQ(V{ߠÏt[EC0ь$D  #ANEd @NN%C $əȯ( b,Dwe.@p<*ajE67%.kW^u+xi$Rmj,yR)-ss@:(Y6sϑCwnfqzTf@bݚw9y4ĉ=z4o_gܸqٓe˖qIMުCqnxVc'sp ʽӢmwm64'LHH`ΝҧOn :ZG1[FO$uL}.QhҞ>ԑX~Bh#B8-*!t~5p.H)r\/ǐ$Yyfx4 : >;$aZW,TC92B2/NKЫ;әLPXYfӊwh*ɹH$q+*Ȕi;a)u6{m0] lxP&YY)mwVkd1u/*۔OrU?fHP*\_3g+Əg}Ƨ~ҥKoePd^sŋ5Q1Sϊ>0\ ׮_ARRyyyܹӧW B+++CRQ\\X'ZiQKjqCp F?M^^F.'Y硇*ӄӚ(jpO\V[-|d%̐gŰps4|r  "00<?`EBSᕰ"XH?O$Z8rCӮ$x&L'Hvx ^#oQmah*˲9Ahb> %"m8 <йD'Cnˉ3ٻR&PlsU=Eb+=X@иxp_Sn㻕_oG)-Z`8Tqd2ydq֬YO<$Iذ t{<蒙 ?Y\v&`^g[hfA*y`!}:~~UN IDAT_kZUL*)e&)%-R&&!كe^]qFG$QZHzO : 2RaLnˇY\ s*B%ydQe>+>ÎV.eolľ/O]vrJV( sF^(S{jD^Iֻ/ |\y(\MᴵVLBвeKN_*s%w8m2P9KA^OZŃ%OrW~~>uVil|ߤI<ڗoŻ|#FrJ¨-n(*$^ ڝA,wYlcou%fK#^ ȱ[$&&̨Qj V-<_U<Ɇuy 5|I ;(FmE$qo> rGRWWKL5}Aj8Y gk4{e{R F:YOa[~tIӓXRD!Zt eT%!w`'I"EiRT;`觴]x$(ٻ±ϠJRs|)\)ۡQOJp.bBu %P"I.Tc^x徘rv,SXRBBBPJإ=]GFKovZf̘A7zFM'*ھ­QZIWؾu Upsm<ͣQF 4~ロq"j[?-j V- !z(} D⻠No:g?d}($CJ*K =Y2n t:Qrw y| 照PD'pe|e4cSlk^fĿ'XRGA!kHTuKQq7m !zҞ,St^fh`yb Oi;)m);i_!$& c8]FL.@pC͔]` 1M*I(@ha)J ߧ+7c8)SFF:ⶑD;pV'Qc|\`X"dYk׮e̘1׌2 ,Yxgyu뮟\ɓYf ϕejG-Eʑo׿bhH8m1zIKsu @_ ]I E ;oBb")96 fI >I]?3FA`x|wM 'K-)WЮ`ce|C)_RJ6vu bv L!iF F#fMn'kpTe?r ۷onzj:wL=be23uƍر 60rH4h@y~PC-Eعʃ'O*BNqy"0ޒN4E5BoSڅtI,;>" ݠW*A%w$/^{R*!,&H7rUSr e}-:1Q٘)f'Аe.1Y%즘mh@0N/ÑtqI,TsuY+ m'*m[e+8Q9쐖nzZFR>v˹Txٮ~͡l6FbI8X +nQ͛ȑܩݩQ!(" ]v~޿Y2gv;u֥gϞ܁⵰#dET\ Eh?!Cmvag"C| rR~Zㅩ a.t!DBQ aQOc3}B<컹eGl,On1sIKEb~IܹsBeVsbr!suW]#sR>b}yY#[?N7 syGa5?#cel@d   ٳ(//&Qxov1SJ[0e"USiggm6\/L.'!^$f|A]7<_}k׮?..NH$Z:t/СC +v-Ν+h"Ѯ];1|*nݺ7'Ԣ` x ;0F#8:djJz N3eo]8ؑ=d2OY*ffSÜW/+i0%ti#v8bEpZs`/l 9F8х@Q`< yܡ \d&~% sH=U7RWde \YA@weQͰwQNuvN۾.H`@Wxk$A+!+E~y|c1[@۶ЁDXrn!`[Pp .0sLJKK>uS*۝L 3QSLLL hu@ @yIr. 앉eeeL0yf;FZ*sxgH řD`ˁˌX<px3j耑ķƬY`̘1w^/_αcǸx"/_ߧ'rIV\ɶmի'O;`ʔ)vZR>Y-;%X!aDDMTD60K0C>' -:(Y[+yBj]GF1Q샿Jp Z@PGC x,"u=LCa{\5d L%H`0Tܤ-X9A*|ϜD6E!% 4W7"Iځ!go#d=.U M7u;zB? nrg`[YLFY%Đ-WYGy,ǼB,A]p=j`4!;k囃$n_ݯv;e1d#F{A}.+NP(yiBrBM}ޯ"`$5D$ܴg!h\2C:.D ev?w ^NE ]ݟʂOuŶypvRl4 lYV6܇(p\ ;r7+3w\Z7÷T1kTĖ6ȁqty*$IIVL&S*+ƲtRϟ.ne]$Nz?*k/ ŭ2]}t,]Fv!j _BdUm;c\PN'i@P  fB ЌA`=t,IHzIn P#m` J참Jo`ycejaLl٪Q9sZD7K|rZP&7B2jˉpᰯGLp 31q' W;um&AT7g,E$Ey{˲7 0h]Թ>LVvLXmH/s+E=*Fȑ#(nk)ѯo^yUY`3%Qjxiӆtߺ6TuJ:eĥ2ICn%,yᵼ wM!Qe kĩM&癭A.ų Ypеpm`Ǝ˒%KHLL;… W_ j _Bd#Iնg"*<6S/+R}%hb\ZO;@ At?PFZ5DX vnMUQ`] 4=S@G_#4ZVp8 Gtz >z\arA<48nfuܼld +%C+ 5BܼuIu|&h\'C wBp ,X!`TRK|s ӧ$G;A1!и>u47 ZbS*94z sxL6>n.fͱc*Yw{H`3lCu]Ѩ$7 {RHo]Msn>ʸ4Cȧ.X_Vx7/^ "r09A7M4!""{!I_M79kQ=j _ "*m(8&{p:`Ë2V#Гt"Faˬ+xF>I%>_H z)rzF/vhhR?!Z*bu"֑rH.yC3y8n%aaӌn4wu` I9)DI 8~4n_./ʵ]yz=agwDJh#u7njUe  {e?h0 knD.eӦS&M/LQΝK||{I7gϞ <^{Mn0eY[Pއf*ӷlJ㏊͚5C,R \ 5.uhaE=JhR'mg8" $Fh[W|g2l%H @*I={d߾-Ǿ"TV6 h̠;23Ǝ(VJ7e|^DᏃM WP -%d}`3,੧B׳X$,]d.nnc8v ZQ2N0wGyYr%~!>ۅ܆\jW !1xVq3> @" 5F;}&Ds>`QDQlë(+z֐Q? l#t`  3A O*W&Mo?WشL;?yP A89t{4׳ Il޼?Kf̘`߆Pxߤzh.-?^g\xLJtkfɳVSN=^x @RfG΃ʾp8יe̸zR]Uqйez֧y=QQG{+PQ iv, q`$xOHvR쿭C޽)//'66ѣG3sL v%{#'\MZ/+J}gs"},|ԥRԥ-:u\B+lRl1 &9jay伭jBfRr+.RYD8G@٧ׂA2oєi0   Ld2dw90T.)C;u{bw2J5h8tNPk_#F lٲ@XX 4 HmgEl퇹J[K@h;SڴxX\z5];g9͛GVwasaѢE\R{}(8/?_R ԑ~w%my矯Y "{A[V;9@8Pi2n%luԾҒv,I@ǵЧOΝ˦M8}ĴiĢEDJJ={$IbРAU֢`!+q- R2 ;Zr n` wb<+_`y& qLop zާXN9c,&$ ᠏Z iXE9r GDנK[N6B.ٴ#ˣ7l ruxYƓ m 5p^Aй,]r4 aiOq.q\v+|y%9W)8%rlْ@qe[!`h^i/̂I)[>'"%h:)s[{yb.yN,ҥKl6}Yߤ hRg*6r"6JB. vT-ZJ(!h nt 1) v;?.aVћS,B4jq1nSd2Fjj*iii撗Ǖ+Wi@ΝIJJ!Z%XqHqxóH>NO^&8=tq+kY~ m?@n-yQ+Ȣ9tt-4|Mob%܁?~5@wQkXlj#LyKfb !PK}!3$Ѝ R>."jǕ<+&0ȽUU> &U A“r9@`rH̛wu1b5;3֬YÚ5kXsj6vrߐuUڿrLUW@H&$ )--. t֍'Obۑ$x渚O@ƍ|tU=3i&IX,tdh42eJr%q Iԡg2 %jt ԥ胮Uhu3S&FL2 \zIbio0 hт-Zxܞq8L2;Y PK␽Nr֚VSŪ>:-[HYCKxq:Lae EZE$sv>*YK813kE!H'aAPzlE>@t(C;v>\PӀF* Ť= 䟨=dHhv B&PlEpAhuUrU|N~ w$yxk6:?7:ХZZի1| 1uTn4G+o1ɝт,ɗcbBTjy'x./,55 c[shݺ5 44ƍ3oS gaʕh44hY@ƕsbV\iիW%2X± ӕ6Ksԡ1x+15=a3t` >dў 28o޼x 3 ""!CPRRhl6cZnLZj&2yUU,;-Zb#= 9sߺh BQJ(AII(/lBf__?Yȕ+s2cC?8LK vtH9 Cγ,T&4tԧ4@s@V%@t~*; CR_m0 "???t΀{孷"==cP I1tnc_c0yA7m@!@Sreѩ!9 :,^];r_h4>:uꄶbdud 1 @R`^^ `-|>|O?}Q^,WnP*# H谺u(࡬VQ^BJ*,yH AԿFOr\dU,Za :bѰw^HVjL  ~<bzm52B99E6'T&LvaB l$oplr(Nr[u7t )ΰBr&·%_z vRJZP $ya AiEboHJ9;xHйţK<hʲ*JBpؿERz cɔ;RmL ݼa)Xm$QPPy>u' 8R4 &MyI Bl3&6;#d,GMyG8v)m6?w_'^~e ر#LP7=V2==AM&t;v䑡eBx]a_$)A܂- c 7" Ll.Ri` c'ertta rtDTxL Ml^=W XM=z0|z!:w̓O>Y}Z`?G)AzVK1) Fhpp[ H҄f%r5xʌ܊uPhbe-F% fM }8d3L(ya.YL ]\ٱcvy4ю BdbHI*p`-jjDѭ'^L_eAmvB98j oV),,$''ÿ9d{ܹs[ =Un>혼Mv ľfw>B`ۉF1s/w\ٷzxF8.hٻb/L~Hz)x 䖰WzW^y'N0x`n/;έ%&&ҫW/BBB7;Qnւ<K IG +9h<<@^>dsBE,4l8IL8к,cIIIФINz rNKoIw"ME4^T6+*HKC ޓYBf $wy}xgigDӚ6VYiU&у"'J⅖x |Gjz!I0ǩIw2vC tD[D:a4u5Ōq*sD cAUQCd^$ b:uշhHzNZ2}l<["p{83]%97#;BTUVѡC &>6-Z0vX~w=J@:FqZY278~8wѷsk-Ӿnht}{Ax7xUVE a޲ٸ"@ʕ+ #66P~x8K>9*{gϞ4i҄mߥ6rOۜLPp\B@=p#n{fJyQ8ZmRɠ&U޲>Oտ3(BqֶtR6nȸqΦo߾$$ܼW x%wI߻?0 +Y.ő\#F'*)@*")bgK\(r@JSc(4}Gr^uLeAnqdI#iRɒ*3dSrU2吜R=$.)rF9fQnTGx(J(JbS!̺8Md"9m?"ka\\\,+ 8Prss-f2I߾}%00PΟ?/F05kݘ 'Md/b6^z2j(K{IȼI/"&X\.^Z>GN8!>]Gh4tTȋ/(oj\GJ¤K.RPP Akq5(fCWlV).I򛜔Vmy)[Y$9lwR.%VsI|,G.I<)!P;9Qߊ*OfIl1UPˑR\9V,S($Z!W 9%1]6H(~Y,bA9IR_C)[ a1Eq2ș~" ,rYE>90ݺ iݼtה)b6[F7KTp޽$$$H=DՊN!e.CkהvIy3"X5L&{6.o3ri  `_~b)f[ȶHڡRNzYB$ڠvQ4).VJb2T9XV7:Se!KҤHF.cw!{Y֨(rd""*EX$Gć+2vXY`/E՘9N 6nM] 4Gk@O}jcN1&<NU~yVӂ&x[r Rfx<& \S э0=Զ; fN, "i=<;5ϊI|վh4tGѻl wD/!"@1 > "hxܹsi׶ Wΰor?&uPOBXj/ n=9a&񄆆Z !԰Q7&n?*M_;)"ٕP$](6ߕ$rDJmB`-ZD^7RH\F!77\Jy#vSzDDDm6&M:tzI.pXA ܆ %hߊRr$4~IzV2̖^g X[lCiYSfvQ9qc2u߭ >γPsD|V Z$tc2-JYJ)a>d,}yP!L 4_[ zѨ$3d-k_@ՠSQ>xB_ ʦmC^QGG9Mʕ+9qLV 6 X1+R!u 31+bWS{#{ӄDVȸs܋GЗb`bLT54ZLbb""cU/ 1oYJW )Ioi2Wj cȐ! 4CKKvnS8E &OLbb"|RB. ZB0 & JY{&WH#qjI.E.?荁`T,sI \܀, pg$AoE͚rAexKQOb`ywg0Bv̔zRb`6<~Ur)mlv=Z$ T`DGG3o޼r+3 e0~~~ӎbA'`0իz.p0)&V^ŧ F'Қ.q3)ŭ+Cc4~\Uf ; --5UKSAТ!#("veɤ=$DI%| I*us8 C=txВڼ/fR)d1E?@_oph z/уi5s>Fb;@FYSs:vXޕ]9~~h'~cf3^^^P\u!DAxO,C1ͻXt*z=QZda~/{eĉܿ}{xesC~l`+D<`ec55pWv}&kϜPB6ZBPl& ѠCWEa܊%xMQH8hv-7[hնBҵ4[HII!nG^KQ]Fpp0z-RDػw/W3E.rOmӣJ⯏F*H8hw,aԥ-}D/Nr( \j:!d ГrV%PJV[x^g)>^ $4ft&ǩG*%Ҟ!tV{3ˬ1 cyKN:C|MLL9A[u[]g8׾/"D~|c&s-"'Nyx4mDa 6-!aÆxu=xz np&YXNb؞E˖- ^@D?}K9mT8,/tWVQr k[c xr7`ƇqV}E\Z,8OMڕ9N; 1"qǎF{W~%w^{ 88wo/:`d {( VEF=aÆ Ǘ|Ԩate`ENj&r/"èj#N7I% \ڽ@r =ZjU1/A?b-ŃNNF=KFů NǜA"@xcs g#%G@ruLָRȧ_2~=1%>۪zo,}6}IvX/INElܬ׮^e"/gp1:vh)|h C͍%dW?X^ {ٲ>wy:&l@}hNomDkMX4y@]f+\ bzsY+A˖$ If.~i˧k 'X/6ш4@ݻޱ~ѦMFM\\^ GJ2j/iӆ%//|_iҴ)]?nM'Ndݺu㏮m:9.MU5OdǕ_QI"GP*=GYXrDWݒ*wyTHI5Ӱ m )qZϪ*U"˻2Qޗdlt^T,$ULr,H"";|W:k:Q2m'jՒ}yKңG*[K]?T}΍|= IDATٲȮy}wK^ UL$톔}? ?ly2DX1a(So?>Kg񏊬G$c}ߕV"%q"\J(r)CQY,Qk̐d'fQHŋ,A<ݤ;Eg}&HFF:tH.]*YYM*']bHNNnݺIXXE?Ko'b}W pO9\*@T:)a:*҄|Z C*{A fRjzot%`Ut wH1&l|q zYI$Cq_vTQ\xIrX2_Kd8zrERDER咔:P6IJ\([\k;,MR$]qfޒtݱ/g+fcߊ@PWOΝ;WY$YWC-cƌўx\f^4[e6<-'iӦɠA3fX]čd1( 9QRI"e'*ۄVe]QKv&gYPqLǏ(4sPzu:V)(CW^u 4zx15hddd0n87oN=@1]0k,:mPfMLešx :u9{&xCt3<ìY ]aGfffw^.Ԭ+hB<_vlQ)k,_&؉b2IlC[|"^;x7Mp b쏿 " Jm$;4h(*Ag> RӦM~mZh̙3ӧ[lᑑEDzv1 _l4UVS b'\N,_tQI ټy3 [YlR!<ҒƖ K^,4+E_?-"*k¾}'~m k-Y[~ 9t~ Oط;@$m _Ygv@6 Vɓ'yט4i>)Qu߽ǜ0pC>yyy̛cƌ7U`5g2Ž˅ Ұa[n9{`%Im+›`2A^#0ҝ,E 8NSs2CdR 2<9<@$ch$1Z=3DWJ5dBX8ɦ;ӑvƕB qY\i'y±q{ V 6{J1ǡco x|f/++ߟիWs. +x7IJJbڵ < PW\!++m۶m6zϟo8~̮9%%&"$VlJdgiִ)6g߼Igs`lJ$V+hy*q[ǭ@iRTvQܕa@BOa<2JC*K1X>{Fg.ej6fŊ̞=|ƏWjA#hjЍk4CKԝul }qV]}n7ajyi--Y6 wۙMoV4&xvV$KrOp*vz" ˾ŐObv,C^޽{}v L 5<Ы% :~5a :6iE֡mR2-XěO~cڴi޽f^:,6Fux k[w<mJ@%QI !H%)BC\~ h~ O:j;i`(,B/[TOBѠ`y{{xرc1ѡCZl<2i=#?>ÇgL6<+v v*R. ,sk줶#-#46uAa 0gp2ˌ_X3<^hD8#.l|Ђ ZT-G/ $ <?<2+B8!eqba@T $G ! F$EvxѨb애BP%*à=Ꞙ"!3n`ߟ{ ~/7=آ9S &_aP&In})p$_^F®BFzHѣ+_{d}&3,E?67`nggڏ9tVmA'Zjߦd3 )"F* 6[.0HACJeqdKNqԭ[>$P@QKqm۶ѣG#0w\6LK?Io.E9t'e6lѠ%=9jzhAcNpl&#A`/TAD[?fPH^(6~Ԯv$,αX|v 7qIH&%"xԷ>4gA7@cOh.r "Jq{Z>?s- Vπ/oȋfƌÜ9sѵ!cʶ~8q"%~@\+\^.'4Y`O<wq|c=ak1žu0sqP;U4wS{l⾆lEPlOgRŠCing\nRS39PVP?ERs͉WZȑ# 8.]0{l24yW~Oh̝TM_ 墜 \e;aq*4cl!]x &vik"iIm":Nyî#؅wnyl~NR;)7pe1&J)^Єaz''0+;()^8hlu ր^1L4y ps}NBUkz`$xF##F`ҥ~yvDH MD9sfyԴ?ի|||ر#:uBQEj2"Ɛó>k1$~-6-G[A{9Wpv#2 >(_ amʺ>Pt֬"Gj0Tįxăfq`"Md&$q#30}!7?s +K,4oޜKr8#ܨ?8oT.{qX.Ig!&ӏߝ'7< &pP(M"5j9ݨEK7҉z`A[$ט!Αld FvRt zԤ=iG#|8w0Qs 䒆M[ED>Npy[!wtZENB6LoAǵ3_@ T %xf%4_M`mSpWahyÈQ3"g͛ǧS$ğݻ7˦MgACTwSQ`Lm۶1e4h@``e+T w}}ٷLW6@ xees0lݹCA",<mT:V.A0hT--/_^gԨQU~3fa@07_~9UV@bbbLQN:uĻK~$^$,RՐqe`(GNnjJC dbmTYyHsTDsb1PD dF֭[0`</Y.rjK85Ɲ(BrlRz.OCtQ==SdKFP,d" /o%PDr\y̒j^9)%(-".;e-SɕӒ.H:<^"1ʙʟ\"R鸿@dK?Mvs,z@PC_/FSIأ~?xuX-rk0$jOOOoEʐx8pҤIYd("5};ԯWDDR.ڷ~ΔDxszvmśo-3^ 'cŰ"1]a) :3CPz(QؒP,.lXӇ ϟx]@2[n46yi =!CЧO=j) Rg. fA ɩ|AX^f @KzW]ءAc#\D])r5M*j͛d![rvcbQvO|Gcbh]:<~cK(:~o ʯ"ߨE`ӋP ͅ`9n?ϕsCf׳0>h `|8K,~`…Ԩl'l*Lh t2S0|rǻRԤ-ǘOOuz^ b1_Q:apZ:ҊxΰOJHWDP2Uю!Wb.ѣ2a?w'bӃXnt9dБS+UG("g&E()a^dU }[ނ{?o N-UvZ[6+EcUGQj߇?i|6穅}`֬Y̘1î/ncU5R 4s:Yr^6zںJ-pX.*M aKwz Ӄpi \iwxƚ:S$iPbHaS@EPL1Mm"iOGZҦ?Қ.Zt䒄7r8Vd gpTy,7 qTinU;˸ _߽w'G_\RNqc%sikhR lo,X=TOxbTb8^} h砜Nږ?k!LkN{>~}D|v_J2.O m`jD1Ӫ]1+uahK27|?L@º H&sڟb.v5Ԧ6H0qe`44Q̔RJT2*I ; (G~ndMU'ZL1A.䣠8#ېF4,3"s&pj95w*(X|= E(F<*ex9.|-pl4ԙQ X%;7uz~x!SvoF 5|"+7ѤI ĉ޽;V~9kMZ0^}> MWtMOݾήP}cEOZb̥`k43 rC1vP2ž(xz(((46BEҥK%+q`9厇ӞW3&(%D?KEРOTY&@ CKy$s|fSoMǞ#ɤ we퀀xaJ6r ChWHɸX`Ν;Ѡa(Р'\ !0Fh.9w.Q\*A˻<9T9c)?qsUѼ;n3ENY  [%8cRTtq^94 Qe&ym52.U)< 'cśራaiw BU E[ËՍR#,y~xs/B&OǞPa#t3zh=ʺuHHHٿPcM&8tߴ@*`S*|musmo) Ɯ񐛦n`5Oxw8)[!^b/pKR^%h4 h["6k O/-Nk׮"š5k֭7ofس-Ǿxtb6ĥƱ`B>ANd\0 =n\2\T]#ab`9*8<cDL.t#F29|v#sj dL*Ib?'X|e-o{Eߦ^HRrԃ, **"HD9 QlXAPtFz 3S4ɼu6;>Tm,jEe V+woUQF*O.r=/^98ܼDj_κϱ_zFH,RYDJFIML1_+K[YHwXQ)!j6]~~W ?>OyN}FzL`U.5._E)}HeIO/Qһ Β R\ Mtkv"tڥ=R0=]T/kA`$?3eEҵlo:z:iF$áoV^{w.ݮozW--_Fxp(YJ]`]>rE7]􋲕kT׸ %V Lʪh>Uw%qZ6kVꗋN`W Cj6J4@tnUr-}///f8:Ŋe+E2Rʫ\Է`TneC["-lM7#7Et IΦH ivIyJa=Z&a{7J[II-aw{+׭ Ӽyd}$#2B-o1{m$&Smr23L"8X7f 0}vnݪ˫K.ڽ{=]vi߾}հaCO5kիvbտ{l6kF=uL @ҴH(O9 ڸꪜ3B9V+USgK"(qr/PK-ݚ jjfd5j*\tD"?| +_V*HTVdUT%]th*{ )efxWUO7%_!T9^'ݻ^ a͇Ҧ)5XMƅK+J}$չֳ=;S5)K5Ð>zU'͏Kw+ҥK9RǏamU+p,Y9#t=ptEDҊzPZt$C7_G< nڸQݞגP tN9\jm jt6ol-'GPg&`kI jҒ%KԡCjʣW^Z`Ztk}Ry]/g"`ՔI2"JSeM uҿ/k %V T*CǴ,ɭz@cڣmjNFj +^é|{ojg#(WHrPLm!Ogǧ U6/s:_\/ُH o&P9ʌҀ,*/.)-IJ)I ͙ǻޡ}i\rO>M_Pa(o#26o($:y\Zv`]݂Ո W(Gj[ ۻeW{NTZ|9$J[DJL3q+3&B[`}ɕ,՛-$BvժUӖ-[uV/М9s$IÆ $GJ&,]d@ P)L/1qŤO+YeUNajwsڕJh\eOU#^*NKe,;SN}w\ja^|fݭ]xZlm,9sB)gS7O S 4UnFۓU]z^ixiGRuS1n KmMR^R Zj.]Z?>D+rZ-<vl CטkӨlV$2N=w1珧IM~Դ4?m QW>>ZnjԨk˖-8pnݪO>9\p|#5);)-\ (+%oZ"U1qH_.)hJ*,SZZ^}U=zoҫZI~RR2UJAz^HMPMr_d:պ?4;;[}Ս7ިDxiJ*RrUK&9֊p(hoߎ$ogoŒlH$00j>e<}lL*_`YENNg($Ypjr  aIGpڭ_o?HM^u!{kOУ-p@VW)O &_DDDG#ݷ,vEiдf̝ oæMGQF( IĀ=43B?4kHWo-]ZeD>@jP|DȮU:ktJ(^핫Rq|OK>$$]&F*D$_-WviMR!,&N80li#vrʓ{J/>7njl'c xI*%1"#\@C3{vXt1_sgJ)pɋyP>^)]m^884m2;p@3C[]lT-Z1K͵!nIol_\Xh[J~/o-[?\n-_XT۶M7T%ɩ$k6ʺJU[=M?߮J*i VrriӵCX ͻG'R??[+ҸRpo6á'8ֱ/y/y\/Ns00p ]D\8/<rXC /GL-H~\5#z8O0m[ӧH5NeLf"y\B tQWK/Qv|-C=+B35˳ۙ~C5pou1WLL 37bG֭իWG|Y/4~X*v|BթUv:מ5$ܯ͛yGiڴik0<_ Y$)\g矑DT;ֹ5J dd{~od4%v&)pԇA7Ka?k8 ..0 g $1!yȘ _m#+ wdS t&0Z5) \so5fRy6ҸIy$lIX9}?XDDCEkO, 5osܧ9h߾=wksaPvmF6ߝ1si jilٲ5kR^= 0 /_Nnnn~G [n8e&]~w`'ڋz&)pJs83?{K$1tVc'b5} B`/I7'rB"= H H˗/',, IШ<ѿ؜*W̓7 c71 x6m:#|7g-\܍$/ ˌ+AcsMakI\S< ԉ'D^9r!74.0b'\gkԩҮ];Ia#C6nt ,egҥ1lذbNf/B %g_ 0eV"N1pǏLcp"DN:R8FYc1lĸ fI9$$)<>x%)`T!XD]*G@T!o|$k~olnmsO$$8y DDu[. k;0k,mۖ8HfDL<]Ŕ.]ķ-[n#s`%cX@~7sbqe$qYL*N)Op: BN!iң` 8/]0.@R<͵w^UR ^(tme*z-^́?0BʕI}<#"5H|1v#/Isqq9|0nԶplڄǮ](S r7 hsg>̱plϘGvp0yd*VHhh(o޽zʫxA?y7킓K,=a„3тnꫯF (t]ɢE…].jr됛gꃕvm݆$l6իWcǎh>s8&WG6N;w.8} d.2cjLP"`]clf&#a(g&c#ﰏYDL,/eOJT`uYw}~???J*$}QXcb傏A~֭SO=U'ak۸x4hP>v ٣0ͪ˹HsEEE裏bhܸ1ӦM㫯bܸq`[W_MŊΝ;aP7XYfL˖-ٿ:@ 5^^cٲeJYH{RSM#H_Hg4o0`jmȰІ_~0aB\{v NZ8֛Pvm*UɓɳϲuVJSff#GD7?GE+W!>>ԪU)SW)fuk.~I^Wf5 EWS,rrjԈ3!3-#&,,?ۻ:N'QɓMd>1,߱ݔCaùUV .ݯ_?5k1$77 &@YtGS[}8r[}quʹi1b:t ((I\ת9Y#߷0 ڵkGӦM^,l.]SNHС3QQ]prexk͙M4_&;$0X ;; #_spSŠ~|n{g[n޽{BqI>3JD)y 'G-~ce2c/GB'6Ҋ !q9b2lSNv" Er7aB=8`rgs3tl]\k=ԬY]8ej*Y{Ֆ:Vbɜ7Cg"Νk'0ҋI&Ģ믿Q1(~oIшaa`< WsAE6M `uAmng޼ygLgoε^$JfZjRBMN/CVVgҪU+1$22/~kra"""ر#&<I 4.0~֭PabsJ.OO+XIZD2^ %g_ 0r\LbA[d3Ne(C 'p29npq$ 7s| KOwg=!3^+:{Y3 Xkͅ[o{-/ada22pXGq.+Vxp8H8|ثU\y9'<ڿ?]wg:xka?ӡC$ѠA֬NM׬1_譾]vѭ[7ڷoOӦMiT)G_ 4(0СCi"Q "((Go+Ϭ"|ʅ]UsN4h@2ewPرc5oX|`@&G9ܩt-?UիW/Rt rIdCXIL^*[oG W%?El~f0G<'5p^YE!~vWmq%G{'25 IpD+h(ZЈ9 n'[NעE F}.ɓEt0 ]C̋ kZӶӧOĀeY-#u'VXv-fO~tlX___ ƤIX`[˒ Vq ?s!G$;f܆a0w\Fży̝Mp8HI6h˥Mfw)g•@uOz҉e#3}IJ_ ľ!n;Qdb8^dVd|7JG)‚ ".-6ժhg,2 ɓI}{TY^L i-RG΅,YR)>++U2j(QQĽxGBc8t1AA &LCA)x.:~oȲ^1vXիG`` x0VtΣ{tKz<[Ϯ]ҥ gjQF*U?Нa Bq~Kիj~@zc> aC= K y&gi#yAtÆ yꩧ8Η]QEbs΄:%?a#Ze^t!ɑ Gmo]aew*$Œvýbᮦ0Xʼnz <.]8%aRC0s WBֆ }vfoz8 OgХKٴi(կOû3=aaLK.iÆqJbyTXGyf0skذ,  FiܥhVc )N bĈHn#!0^Oڱ|ZO}$O~C{0$>$SI1<]c=յk%&vƳS0v&)pAİ#2Oij d'# ѕ|bpD*Os>$ҁS!JQDn _ Fҏ0C^À`B< w6_xt>vCCB,eO)FL̓EkqLJk[S-bgh(orI$9v,֭AAA\{t44`DEΤ9z,nɢaZ\~.ǟ} kt nB>d2-+L֭0 V$ZhرcIJxDXD˖-zT(%~d>xUԫUFӦMMs]] 3L$rCEE'hi&$1KwlObRnyo?LR"`])^c\vpxji Rø%9Hm/4 VZqw^gd![M$eJ΄%NA.SY1nmt+^ў ނ]2hiFN6h )^7Bʕ1biQH0,5S9R&9va7) `_z=-۴ԪP!_kX\  8ԩᖷvI_d H1??axb|}}߿$Zh=| 2,"뎯Ug:wLݺu̼@"2f̘?[| z돩"Xpv)@~Xk@6Xɽdg^r&u(pJsr8_ r.' HdL!g%8?X ő gIO[}f~xovh/.QE(=c RS:u* ow?@CCm۶t!oVjyһI7~X/Lqp6aC\^}Xo}t/H. IGMHZ?$JIIqt M;a@B˚3e<9D ;trv4ii'NPZ5𦉻]d81u3/#5Ӷ%7,ÓO>Y:L'ѤdN6q^?wJ΄%NTİMd1YQoEN$l#rd`ҘbV탸V]zBDHG!{h|3Qd :}n=A:|LTXDDDžji2Wh8ӬAWN6%Kvŝ+oYוzk-{]se'{t àtL810 Kp~p\AT iZHz0),(ѸsNJ.M.] hH.i3BS #{Nz99QQHMٲeV;hJ6$Qr&u(pJ&sX>d/ﲛI+.#G~NpAjsڄs3,4uW&*"sj|}̖0l+$Pjz πmFFF=z 00Уptbbp>:u=G/1d>/wo-Oĉy]Μ鵏c^\iC Fk֬K/d:֕MgaALnS||lRxL8Z0W^*U3fo"t.5D)ki$,fwٽ7zi.^a䑗ӕ,tx2g 3f ,DYRr&uS % ȼeu3DN%(X7(@e |{^HI9$WdإZK:-AK"Gv4i)bR)/[fo&JS_K2dRk/vuYּyT\Cl >e˪߫[1j,^l'6:ZoΙу顇엾bjMuO_}U͚y׼y-ZЦM$IdjժJHHݮ9 =TTGRVn|u75*ӤSo|}}5sLyׯ$rj֬6mڤիWO2$c믿֜o'+".[^# IDAT`͞=`碼 Z(SR)|z4Ri8*UXTO?OJS)J((; 8RR7Rv)| Wg)!th}ҫ$9ұG5Ljź=.дvZm߾]k׮Ս7(@Ft|k*x$'8X6lk/0Pc~\ -*tOA-[^Lмys}ӂ+[رc=g (#l~Q%5lZrzzN>H'NWjUtzV5?OgRRVAAAZtbO}vݻW&LСCU|yi"z^Rƍ/T u opIRb'%9$m p.S* … 5ePPMWH.u?gLaU5΄% =10 \W'3}d{1y.[WAu=ժU0 ;vvkgB\ -[pz/^n8}iۺuĀvOvxgXqA Iiv6@. ضm&88???4nzL2y E?_5o3 8co*PtH#nx???j׮ٳ/d3e^ˑ&SmEaڵjՊի4p%hO=yp}˹R"aH\c E)‘p)<ݜe*,Qx_ =bm۶^(6һuJGB=D޳svb>9@&$k.$pgܸ8Rm:O֭n8׏cO?mnLݛAAy_HiP̧=Kܸ\.Xӥ=_?$ƍ#,, IԨQ &{CɓIH(})8 }]Dž Q[US Q10\t$HliBk MM%bV¿_"<K?Wl!ݹm| Y>fO&$5i뽿!=3PHlRO[vuJr_+JMxby>s~Z8,>|XGUnd~=ї_V]y$bŊd߯ݻ^NۺwW~2߻a(|%Θ|c';[tͦFZj}l6|^P իWO 6FjӦ~guM~gL֩r>|=y${dK8?҉ߥ0O-I.^zmQP[ڶm5k;SNUZ5+CH_*Ō|JK<1vN|6\,M4IVƍ:uh̙@[eM6՗w_,JQBFT|*UUN(Pu寊O[|-$#|zǧťBI?)P:TTtR`?nMÐc/7JLY''[zT4e'v޵ޟ8Q/_@L^׬+9Y{N>%| *#;[5u7T?fS׮]լY3?^˗ǓWԎ^TJլi:W%ѫSv_Çm$)uk>>!!r3x' 3.p^7 Cz ^OT)wWSf^RR߭$t$V6bTlٲGyh0\y ɷ|o;5sL͚5Kѣ^}UqzWu7uV) ˥qiȐ!SN. KD\%{Z y0vc2?±xcj &?KT/'I5zKYU)6NnIIII}ӷjΙR[HJ~dG}P-[VQڎj6yJ[DJRԧѪE6l*{e_W_r$;[iSUvvͦVM~TR%),,L^{BCC0ծ][7t=':GjwtT/QCO']GQ)B@PHotPAH* "AJ -!BH/i{DJoRs=$9}̼ބ[.G oUZ=%*N-!Sg3oT@ C^?ѵkWddd`ҥ `0`\ܵ>.@3(`{x/ߣ!!!efS"^t')<} da_!0}]*N&>+BO~Ev'O3S^=0XCb"oT͛4x3wj.%1) {Z 6d|xId<ۥj[ѿ|yT&ak"#\$ *EA5kQQ٧ORΝ;9qDk׎E}h⸋ ۴iòe?| r5";$o~>+3 x^F [bٰaCF?::ʹU.R؉|@E#pȐ!VArOxy028;C& :V d ^p~8X(0j+pb)px6F7`EYr+dgS{=@S  ȳf}N-dxx<(Z-b:uB~Oen} ѪqW>^={`>|8z(6l͛; O2IJ3g!N5e ǎ9cpo  9<>HC>;#F6򂗗ڷoDdgf"m Į]p-tF#:4߸G~XYNY**QWiwJ (<ҪKeggcرxjժ f?JDf6~CLTBH_E!}?pGFnƸA,]Iܳg*U>%E5.n&[G9r$K*EEQ( OkǛfUm6m>g*WFX(+G%jCoo'www?~С͛Ev*19ȠYz*u ȵ*{@Vy_. omˍnAF%S~\1X]dƍЇdLϟ7 y˲b$#p2Ff>}{ dt:S>9|1)d7LΝKWWW?MwVǃw0dIf\ᑒ%H҈$MIX`F  ˗gYΊ1׃٧O`֭qF/̓'{R.IRu?Iaפד'}B~XT4nБV֑ K?r]= --˗g>(ٲ {22e>Qt:j4T*E%M!9_~{f?d߾}rJFp,WUkJ7@:99qСO݆9ZaaaB{*{ZvO:nAO\-2yxlAߓr?t<E͛7o>Ο?ffrޥesRgIZ5k&oߞL9{KQk91qb{7半QJV|ĩ\&;V#'`ڧ07B.D_|棣9rH֩S'g4]]]YF vڕ&MK7nM.>'ٳ&k#m___.X۶m#7~DFF׬Yƍkժ%$X8I^ 2$l:i«>R2& |'}zZidu! GPZI~McTjQadF0Ie՞b0IVШCjj*ǎK''\7 ͍nnn,VccM7;8LJYIod|~O872KLQ!c)R|LA*6x$oݺšCٙ b>}8{l޽/%<^<^|RɦN%KXPߑ5jŅhKE޽{#$X8IDmijYmױou,7U2Gկ[EM24X+c|&̜iv$"#P<+͌ XD sԩx~oyW͛7s\l.\Yfʕ+4 0e .66E ˖e׮]9uT1,,,-Ŋ-`fЇr+ cǚ}F*ڵԘYɁŊӦM3jjUBk$CC KV$CN?~'\\Qηt:Ϝ9%KO>❇n.4iu:z=o߾MEQx Ο?-[vZ~'tvv'g̘aJ^#2| ~L~s`8gh.#8u^`$$ɠw}MeFˏ|<9\>H}ދ (BݴIԫF-_Հ~]xgYxaCۗlܸ1{)R5k̩] qGbvWWwvf#qFSL]\ "E̖8P pO::v xG1Q̒%hGFX^=/ﻙݮj;6῕|䊏Il׮]4ÇUVYO֭pBiӆX`AN>;a~?Cڐ[lUܾ} "6hЀ-N5G /I^qaze\5U|ޗ64<+O7R&'54=闗 Ul#ƫ+&+c{NC/n WJ]R۵k㿄SShd`μg۽[?M#8SNӦ@6<7eף(<ؼ9WbG?ꮿ?U!+K3l҄{waNrѯZAÑ7 FCF?~̍lhHH%.]J+W'u!ӧ٪U+0[lP4EQxԩ+dD&XTtqktrrɓzi '<$zɇpo?5܋ M+HGdTPE!/$'60%X7?_#*EgL dŽ P1 Ǜ7o͸`=I<ٮjCIs[ɒ̌aDx8mƉ'חŋg޼yc&rSɒ̺sGhĚ5<آ(b4PZ?vEϛо}Uc2gDT~!7oԌFrǽΑo$ԭ:֒~-pРAO4j;v9c.~HZ.&(i|U($$uԡG{CW|Y=_f @|̓']]]f͚q…9H2woؑŋg|?2..ѧ 3g› c|j>#)4KI'y?9uTϹ/r|ŦJa5"O1<3ʄ:|U+)S&gqSM&RqKɃʽz=͛G777.]/V.G /I^qae!ɐ%g|z(3_ӨUG=h4?rHw?V2h4L{?,,R|ӨƜV_Θ 5lР+T}f&oܸSRR~z~й3+fժ\~Rȝo(3t];X4$3B DOOO޾ʊ0bX͞9p1NNSO ʴ 9z;-gOY\A')g>&|󝧿 ɑ#G2O<̛7/曇~'2%G?&*IsSzw?/5YƝ4Fb4R?2sݺg49}tɓԎΊ.$bn_,\R#[L6...9SEa_ljfP+W2͍̬<$IfFU~Gƒzf&?UVfW:$-z2ӊIg1uD^5G$BXbŊL5kĶ JnKT2?;EEEqС,\0xrOxIHK$C&C.@U_fSz=9k"Y<h}]W( (Yvt4?']\F۶mcٲeYfMjZ*˜-[~fσ(̈{0Ϟp{xI7oիޞ=3wٶ+QMzN92L%{BӦM=>O+OndTL\Hȑ#ҥ^BH $pvp;vwo:4"€g7X<$ҿicǢ? [bpch}}[nEZ{|ؼy32BBpIl…U 8>o}f&o` Y,8FݺAe ioa6&uLxcG4;wC:Chh(zc}ƍ?{n޽;~?J6矣nݺի233MDzxmYTh,y9::y?~)}h?(f~vvÕ,%) Ea_ su 6jr  44Vڵk-[hҤ nZ}Z]spb@RR5ӧqGk8mZ * j~ٸ;wcGdšPjf㮭\? 6h`6Σ|y8ˇbm³^=q[`@Ia̙Gɒ%QlY-[Edžŋ(͏q?Lb(ף{fiѹVС'zjԬY'OƜ9sgW~~-6|!I%īó7zvP88Y>_b׀;#=fy*p:vk~mCQuӧOݺuC>}PNH)M J#]"-, QQpzLO> 3[֭[Ky3gH&%1z /U{z: -/#twQ 2R//XjpWѶ-#TAT{zWFe3j]Z**5IƯZ+1n[xѣ]]]VKJ1LSb* =mJ+Yݬꏐ{DW|UFVrǯ݋7T{'(Upk,VYnqɓ']i`ժEm Sùti>qbrpW,Ʉ ?r$W/`ymnnؐF7sgWW^+5J5ƨt ̰7V|FaYDFìaCOxl\lR3A;T!fʕhujRB:uQj۷oGݺuѠAx{y!j( ...puukοpfi… cܹطomfǩ@@y'^=` o ] ~U{9NFy{`NDΝ닐Wf߿7WƍAVCg{BT#TeZV͈Ña޾}1Նgʪq!Ӧ/ YH|5*gOOոm V10$%*U~űw^̝;3.i[[@!;;Z6Aǎt t{+wb„ ԩ᠝@qo!^Irf #QQ+rwN'Гr>ppC5ˣ%wq\\|rx{{wfFµxq:ޯ T}fM~z}{_믫Fڅkj*ոkpc:t0*EEK(ZAVSS(oV~]ٟ>-nÇ!n0l;t.^777|ӥg!^$I7{*:3/ .#3?;`W8<{>{.֭[QF̪8;;;ZĪ.^AAU,>w\[^TCiSRpl0۱ÇQg 8ϯggojsX+UUU3fd m[h\`8zHQq+f>3*Wʕ+K.#B i %́##G`@E\qqhz9QpI Dc65.;=Mܨ(V73!FJTKx?ݎ5 81x0\f&Q΅ XpTIؒW[jpeTFfπۊ5l,x"څLO:2fd [7nߎAA(u+r =JaģGF1cB-wY3jbt86~zDA}Iږ-=^AmgduK5V݃#1׬APW~Vrx8~ t(g&l-S|H A5kT%X j\gS$XB'$Uʖ-=j~<(R jZ;׌GDtxh65!K =&fφJDoAA=hT*g޽[ιsh8n \E`F FUwGƑD7{6ʩI}*~ZKh0s&>?!D$B-[Gڭ[3jj~>GQBSX`舂*F^lšW_bG? EÉU ₲ァ={(ޱjx/] - !' )VǦ ѧ cX\Eѣz~Tb|ѣ82r$>8t}|TAE_^iG^ 'ժȣRY^1wo>5zRCc9q}ΝSM8=aٳG=`?G-nng\6!Dd⥐p Jhu|-3m*?w{>YP >brueVDEΛ"E,&Wl<,[fqÐQS'0WʐR{óaC8!ij,!K!~}L+VJܺ6!_Nq~;(^K6᪟@Rx8^֧ t/ptj 4QK jBp.T>V(xv2%xHD˖-QjU|+V%Wocs6h1>ʨL/i7 yUc xklV Z-zBŋ@Jt WFY,oYܻPϒ!N̙3ct #GDtt4-d Ueٳ$NdD&'Ɵ5 JٲWlŋ)[c._׸q^# kn!x\~e % ֿ@XX_t7B+K@,!BIB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6& B!I%Bac` !Bؘ$XB!6?VLQIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_regrid.png0000644001374000021030000027057112520135745032656 0ustar itpeavd00000000000000PNG  IHDRX,=͖sBIT|d pHYsaa?i IDATxwXWߥ# Dhk$jl]$n1h^cb ~ ٙE MIw3ˬssQ$@ yQa @!,@ <˝غu+Mp!((=BVd&&&XlYKRaƍhذ!qjժjxxx`׮]裏:tw^u7;~WP\9:tVVV)[,gϞ0[ (8 ;!­o&ϗ^`:::rŊ$AAA@ggg?c/NZZ=<<r lBTT\|y_hbb;Khjj޽{3""$BkkkΚ5ӦM#`Æ es 7oKccczxx0,,^^^ׯ_hAgKxf:"%Gj59QTV жm[8::bҤIh޼9\\\^iGYD`oHx )gfzɓ'~z 2@v YYYpj-`jljTYO,͕uH, GBBakkrM4-[0fT^/_Fhh(RRRлwoԮ]#GD@@j׮]$w>~|2RSSaccX">ϋՂ7` sڵk8|gmm'N\gd>w#?;Fj1|p L4Y\=u8T!8800q&~OJɬ&e=݀u,50b!PO`bbd,PG޽;LMMQregϠR''`lls^E!44cG$.TPtsΝiӦmNd-Ǭ:9(##5Hoеl ``y 47M޹Ε7t[[[L0Z/68 \x5kք) ܎&((k׮Err2ϟqƉDD^VX1cɓhժݻ%Klٲ066"wlmmѤIlذ,2ꀙsǁjsƍh۶-\\\;O>ӧA;rZaaҡ3gDHH.] ###&F@ 2N-nݺUv$hѢbccQNXYYOwkʕ+0a_݋=zio=vvv8} OOι777̘1ǎ+_N?ƺo*(UkL4 666ؽ{wa% *رc8zs*ҥI$&&t%ARD ,^XQ_p!N'U/Nff&|||c8p)))2enݺ6mĉpvv.d_ ;;;T*):J.]&prrq}|嗨[W!N xVB>K%K>  ߟcӝ;wPNx#Ca A{nL:ӧO =\S&M777a8|0jժ@;v,lS:QB(QV*lsPp*vJ7fѢE:B u ڵkয়~E#5Z.88_֭[ycX%##dz|TRkI&$($CMUxw@}u^߯o$qU9ʖ-5kd8>>:uniȑ#a RSSѷo_ԩS6lZK `٥䈌D^annŋ^zz\{ )rj%lE;ϔlG_nVցZY:1J(͛7szփ!yʺJ*ffƫFfB͌7|( {xmLJK,az˗ܹs;V$޽{˖-ciiiI,^^+00P|˖-3gt7/sNϝ!K$!"#3wc|ɓ'1bU v_x_~A һN'*E}6g(\JFFpÆ m%WG`]t1>xzzCz5T*j֬5kbHMMѣGvڡRJ9r$N::uUV2djժd`̘1{{{]€j*\j)I=YZ6] Lڻ|}Ĉ8{,|9 0%w9:Oev-?ZWmڴM*u<~L8 V!1qDL|8V^gHJJ!C0`+Wm(H1l0t#Fȗsh\(#}zEEEСCXt)↋GR022YTZtw>}ި^:Jvt6mA`nnny5ӧȑ#u֬Y&DϞ=qL<NNN֭Z]7$1tPT*]6ߢvݜ+ ;o 6mSSS66Gers:?Ch9UH,ۃp0ʕ+L2033CϞ=~u 7o,P&LVZ۷Ghh(z6l}}Y|99 6lٲmNHbݻ[S7}v۷ڵ+d|1n8lݺ---an`k]vu إ1lقU=BƍQJܻwÆ C PN;|ĉ1f݃(gcذamJqEt ׯG``w`Aܒhvd˲iiHThXzDY;w 7o6>ĠA͛7cPV^VZAVc<@ZQ)o!##""666,Un硿۷ocjvvvtww_~ɡCbŊ@SSS31QywZQ"--czVvZO>PB\y7VY"O+/֭eƤT?Pѐ3qOXaS䖭zHzj~uIةS]ß|r܂a2qԨQ455erl2fdd466H+W$nܸb#"Xo XdI ,([ԩٳg#((׮]qڵkq=xzzѣh޼9>|X( SLApp0oBM4K@@83f̄<<٢E ӧlݺ5MMMٽ{w㏼vZcI&f͚411!~G/UuS K>Rl[䶇s|]Y?u&*# ~8c.M#{R S̝;WL~zaVF333Λ7$?mllhaa-ZY3*`@ ~RRRد_ +Ws lllإKnٳg2eСC… ٶm[ZXXYfM"Z t•+Wɓ4/$Ib(53!?u@$I|ttrfJsFcKzz+)d¸}?Kp޼y 7/^̹s.43uC8XLQY'`TTزeKZ[[sɒ%|ӧOsܹlݺ5pVyDll,?#ĉuLFFϞ=>}ʊ?w[>>>4>E+  .\@<|KZzE///۷o'3.o׮]cɒ% R ?ݛvާOݝFFEzVSn֘T*Y-[ ?x$I>vvvJɑ#G~eܸq,W\/5σmfʱ{QHd=YMx#IC)sn%/_gҥ٤Iر?3|9 ILOO͡dΞ=AΎeʔ=˗/ϊ+J*^:kժ&Mpƌq^,==K' E:!Z١k׮s|xw͎ss"C$޽zqYIHJ*<\M={@vQK8;;Xq~\;w7(ntPح1P~)y}l#PWa'1hrc[Y&_c7xyyǎCR40-[0n8$''jM6Ep+7޽{pvvQxqh4hZDDakV_~gȑ#|r] |'۷/<==1b)m4 {(bbb蘣nPRR1lܸ1K*˗/绍V۷o[Z3݆ү_?6lذ@2<_GM~O ã KHڵDׂ7U?ammÇ>CϞ=1|pOB||W3==| ///ddd 33gϞEv.]F={5 OKƐ}!f7FbIqY@k[`Ns7~%\՝=6iiiꫯо}{l0dм9LLTؾffNJ e+V{Ю]; +Wŋk׮ N1Hx<! -kp۠]jeP"S&???=ԐF$IHJJBe˖eÆ 9l0vЁm۶͏˗ ?=bYIj/x@q|~=pѣT5ԹZZ?)5jo>s=z42{I_7F˗q]oARR֭wyp-4hǭ[ӧO#:@顡=z4ի%KJ*زe RSS 1`P+W={xzz͛PTBVO%*7C&C@:BBF\HojM@1,@|eu P"2qTa?r&OS"$$ DYKFZ HSLAvЩS'$%%@Sm $$Ŋ ~ fsf͚q,Vcbbhll+# y;{|?п:;;(ׄrСOׯpT$11SL98b[}!^z!\|9?_}. %Vw}#9$Ts wp%˞?amye,2Lbgy]DS3yqTeciD3xQ,g`3a^B;whccî])L IrnFP>K#QIdGE%Ibpp07laÆzTT~:H311"KU7kZZ/_y199ЬYhnnٳgl޼9+R}g̘A^*;vd6mZ 1~xV[0hРG/s?|Z"+V:tաP~OR\jhnaI19Z:5)ԔM6WcJHOΑ,NL^c/c#r.1II_LѴgƌ)ֲQ20L; XƲ2`22~Xv~FcǎUVZWcߎ9%=ef@Lޗ˗/QA^'T*֯_F7SSɞ9s‚vvv\ld)(ڼϬD8X̛z&%%q…-,,={0>>%Kرcƅvڴ+׭[[֖$vZ1*rAKL׮]٥K|B$ZYYq űJڬX nݪsqƱzTijj6m:iӦQtΒEAl022ev="YHv q^L`Mo352S8wK2[0d3VN)I*TK}%J hM5/PQÇcfҏZGuԼxa*7S~Ǽȳ8gRnݺ̯p Qi)Li$|=))IidlZsڴoyƼH3s2)  @"˂M}f*`ě,UMMM9|p޿!!! 8p -,,'IYlY` wʔW7ZHfGìz58wL󴰰L嘴iFGy*N+\!"'m&FQ1-ck֬;frHk̔XF:#55[yi,_~P-Ӥz~O9j4уC9g.[{`icL Bn5%nS~GW"xɼKBœkhfIujfpNeާ:;2I KF&tʿ{`Ν`)^E>0gIIIܿ?ӊ%(ϬB8X̛x}|r~$gŊu3ƍ)))݆Zb6mXDN!Xti`˖-uܹSsxf// Ν;,]4[jbieñ$eedUd|H>dB̬,Z;۶m%J͛99z%3 d&%IܹSm$Iܱc+T@ Úm!r,h<,!d<'I֭O??>}/AVVVtsscZZ|[W^lԨ vvvb5M|f*`ě5##֜;W\JJ LBZXX `0oFN0AN]R9ne,ӌ&<4q%s~!>|8---@/ܲeo3 (B3vvvXh"""zjcǎhܸ1eǤ]fjjmbٲePyb#i&4i>>>pwwG{!88Xql X9j * 'O4orM7ͭMŋsN̛7J)4;,j( E,3p P ףEb1* 2  v&Rh <=d^@C 1@^; quM ee Y8:bc1dcG~~H&( m  wwwaʕz:jÇ#44Tvg@rG!@8XCmyE||<?S 0]tA͚5~#!W{@̳O^m>.뛂껁^'oYh &鷱m PC樢'1(z:@X'LP&2T*PPGw$5`ZR_wXVj,*~͏Qi=9_^-3=],"&0MȷqzLhA|(u?CQ >)ԩSWƹsp@FPkoozʕ+7nȡ=8rׯ_υ RK~Sn\e0q2I2TΝ;lٲ%#"D|+J LI'Eu$ !:IyOCk=}){'sVXA###]qX8{u֖J rǽӒ?PiҬ>9v>_H˼I!-gɽ ղ~r'|r+x:Mo>I<@Bs&'ck$r 0UݳsJ󖺚L?*+уTaUVOg*1~EI6>\ &%##m dD>F.@)tH~ RIE=) o3+/V6߬QQQlԨ/fVrr2~\iܯdrì{6\a&V嫯cX/2۷JlI9*LކG)$6)$ckʕvB^ ? cɓ'iddΝ;3>>;кd'^{eay|m25^Υí\$Q2'fDD%IbL,ZZZӳMeϬB6@+WN\]]vZ 4زe Zl KKKX[[~`mm 믊s{zzڵkhԨ7nwLu  D`` n߾؜)7oŊQJ۷K.ᐷ7\;t;gWFT ^SI=_t|ȬH9g0j& Z hӦMX)S?.>^=?Bf_PޭcXG_BB^yzzbj ;v@br7UѦfI)%JX&< o+iR@wuc,2͛74y P$Ξ=ҥKnݺ  (lmC|.VA3gnܹs\b===sTT˿K>,ZGӧikkKGGG+VLW=)իG777Μ9v o= cXXO<ɞ={Ȉ+W+Wl\%_Ӌ$.uE2DaE̎M1P$R7 #Ids}hтcǎu@$~7)S3gpƍRjV{@zXrd%>mF_$OUC7w)1ʥǨq1j'U(A!I1](WO\ j3V#nl$Iٳ Ç[~ -K.m۶9W7n$]+<|05 8b ٽwܑmiLIIa`` }}}qFӇrJd<+Zɹy9z(oߜJL;*%%EA^&Q<$=cfZuJw}:T*f͚>Ǐ ޘHl߾׮]åjժزe Μ9 ==QQQ8qZjcJdjYf&i),C6"Jb׮]X`~|GyƮ8~:W_}1}B#DE+VĬY@P:~ }#3=![c3@2eK8?.ߠIR)~@f'O 44MՄajܖ51HD:[?c=!PDŊMD"W*8 lSq 榲3q)zf0k9pN&Mg*͖}kZ_:(`.@ `;0ԋ/*%> jO5>X3;s>7"u?1M٢X1%G$6ͫERD i5Jd2{w"aMg"ܫϻTU>)uKjRT6W;}4iDu&r.v5XA?""K,@Eě譪5T2[=Xא;]ve2ziرciӦd:ׂW8Ik1Ck/cذaέ mSӟgnu1; v-P3&&X:u9v<f+Vj#:Tj=-( baWJD;nPGFQP#|EuJV~F?X~&؂6f0E0НO>2nvԊByuZ=wVK׾W139)vn$ epU&f}Ǩ@FٹxE "`޽Phos}oXibA=Q󏄪dffҤI͛Ν;UC6mի_~eKyTs7P3f5R#8fݺur-s?' ,?t0c& zݧZXH&MXb͟G݈#UiӆȮ!3D1O=fCAo^(`g~q0RG,Zԃ 3dgK/LYٌw+ήHd*d?:nɔ!i~R)p<١|*]p!:tZ tH$%>{<l61u8:ϟdbԨQ>msQ2 Դ?. ,? b A-圫2x`^}U^{5N‚jns 3\1JwNZZٕ \ȻSٷuNiÙ3g3g&\PvVݰNpht!qv``ӗ8 (HA@<(XrtRFy6V0cvr\̕W^IttAV?%XVK_>0Z~ˏ?%zϐJs,T5~{1L&k֬AA-ڮƍ裏޽{ ZC҉_*6U4uR)]R)7̅%lfެ3 <TwS:K QT-f|Tk~t yVX\ڹ7ko1}|BNO.˜0}۹˼^' [i[ os & d 8zTN0ӊmUC~mPVP,Zƍӽ{w/n`jn_7MQY~=cƌ! lbsÏ : ?/+?5au8,Y̙3Yn{x, B nEv0C7m}m+nur{׍"xR!~%ȇNv" ,)+n U?pЊ`njT)!BO*Iܷo-<>$&&m6vAii):{7$,BJ1;!Ѣ z,KSa pBzޣCnxu,Zt #GȓO>IiQ%W] Ӊ h ΓvJK+pFYŐh_/n7L/-omӿ,y l$ P 5O`I*mUV^$3i\@¸ۻp;IKKiӦDDh`TG@c>0JM$vs È B,-l pklyDž?ˏV"HpU=js @ߚW5aѢEtM}`~7o֭;9Yd}}mG=z4Ç租~#..p8M9sk0τCE0|J Bo`#Sj7 X4N~rXf <#tڕ>CvUTr2SU P\v(sɦ&>bΰhB{B_e'}! D K5y2<^J邢TK["%wa-=X;Alh9R[=%ܧm)&hu3+6ZC=Ĥs>((8 0Ш 8Y((  U<t҅SV!{./-ܸo|Krr2yyy5<, )g+d騽`] b1ث ^ObH.8Џ?+tԉ>}pwҼysY`~;6lvڿ6k SP#Cn)6a1oxq ,< R7ܹn~^u,* , Q)6P4"'nfC[3Brɨƕ>R30ЇWLk|wRQdj,ڝa`Y\; b4VD63а/^l1{oiӦ_ף5A| ľv":񜦁eB-br3|pVZUJ' (i*}~g,unM#wsE!220|pf3#0E?9dH40Y^\bڴiC5kn^ПV%ASD.yS,9ɗHJ쑽R.Q.!ɐKNI)䔬,)Qra2u? OUU^]Vy72Eh""2;EdGHDJy[,DD"-rDgUnDT':^ Hd|xTVD/Y撝moYGd3@T'kM#,Jjq9-'ETUG`bڜH,UD<:e"")LB߿XVYxE$w~A¹GT&ȃ>(ݺui$ !^-7 ۷{&ddKx[xL&d.[$C+Bo>dҥ*k&_IL٤sMEL?ՁU{Zm"'uƍ02dҼysټyﶽ=Bo`;;Y$#evO2CdK+geyU^7dhL^r|&_4oFY)"i%$NHrUimi"uRTHEDJ4*V>yUGPHE)WCytHNt6|_dkHYģ|_䌯YgD""RQequ`"-ECD<640k]RZZ*ݺuHٸ5(tJ<ҬY36NSjժ%&MmyfZ2zhq}>2yd ݮroUV SL={H||ڵkmY *.gϞ̚5,nVU&Lod޽X5MCAAO?4C a<tڕ+WҧO ªU.L8~ˏ_Z4#5 WhTPhFSӌH" +Uu +tF_y~b#Vw1>k16A0X2 oˆBNB@FD/1dIR}>o'<ǵ9ݫ(U/AY6_v3_ft\y9}-OT"P8#F ((!CPZzcz.ӧOg…vmܹzd&Nȍ7ȰaXl[l{lܴ#G0c :g}FllUY "7o&..S?b2^ aɒ%ߟaÆ?_QڅvnMMQ^4l3K$YHl < 2Idm|'v2 BggQ=ɏ?<9dmS&qH|!D2j'|Hι]II[^'/CjJnn//)_9",ԂkH"Tپ}ԪUK  eeeKI7qHf";b6UUeb2+59d޾xF.H 8 5EDR\Uq;u9n8iѢde$HV !!AL& 07u`Qƴfa>܀UG%qt.oĭ2Ѥrd- tv5y.&xP)Qa7;8aM#laT\>Rۜ\Y-!P|yl\QȮ( ~ڪq䝀œZ4]ÃU^>&1転UT8\!۷?@mm ѣ˖-c֭tڕLCbVjv e¢KXn?8?cǎeرX"9$H.0|5>Ht3 V nf-^zm̙Kk(hH,] ۴!K,jc\;&n,5~THG {x>RTT'6WM$M9<T_L.wQXhN@u\\ ׁ)@?̓7es|fN6Z_ڵk۹曙2e f$sct 䒆T|<$`gqŰ@*>H<7kixؿ?]tmmCu IDATwQذaWC[C\ǰI]C:J<e`7(}tY<٠X"7>*By9 Rm8y@*.56& :\x kwro#)vAtYF&==]VW{o }+ࡔtޢMo"d⡌4~FN4RLHM$XQNc VxAa (E&ac_.2) @N8 'X- |#arLhK`3|4Y&4n#.Pmw/_v-7>3[ڑ3{CL 'x,0s-m0б J f(1쬷sZPk(/RϹKOL}pCW2aa>Ojs~}Kycbb8:k׮%773gt9j[w-[o>ƏۦaÆ]ǏӧO׏L/|8,$k5D⭳n@:М^7hb.hHԫ"IEpY\NS NV-,117䧉)s"8c`Lt"Ba}FI a{dn1pOkhnDʯ1N!qķr%p?ɕ> 8OB#E5"Y_,m qPj$PH \􃃃8q"'OdŊ,[XxW&44+y>zMBB\F'Nϣ>O?DQQIII]~f &ҊhFbQގ=!4&XZb!h@k:Ғv%.QD`AX41FӀ+ 1u OA τUx>1Ho0+P)/~n  P~)`s_5vyC.[; Ql14 p'p0xyx@50*|YLÑ2Hіl+h֬3g4lw뭷`{:t9s*=磬W_}FKϞ=ٹ{mذ/SNqaf͚ʕ+9z7.BrA:5hJ#Yt)shHÊ9z茆y"#Y b7Yv17DIkxtc(%l$JAyKZHe` y_GhxWV Cb6CD}̩` XֱRXXHNN9$J  UgF } iT6m駟2}t͸ǟXq<,]1cЧO&Ojh$Y%lݳYsDNRSh9p$SNM!tjU)Nr WO{'@dbذa,]_ID(**BUUqzJz:t(_5EEE|k׎z &0}tʸp\lڴxEm۶q 4֭[|ُW `Z fX~j(TbqKM\?neE!ITP€Xńbllld‚4 !;?q1ӧr|7nVƉ\Aj|2:q#!T 9H&/PH w` AQj@;qk< v?qcbb8awm~8mpB2m|Wa{j_n{h>Zxun݊ZxHZrٷoXR[;;ŋ *'^`` pm6`*g0Ug#!%?qqҺuk&L tpGlbaNoud@eܤUakxk}OmwTƵ£}9^s7L'DI| 2D(,_>TFI֭Yhsa̘1L&TUe{lo׮}_N:L6ѣGӡCm6۷3a/- Q2HuRbAK'!yxP?"U֟C~6+\膏}y= '#f :_\+VnDN`iXSm[6`~\S^:Ue_$'O9M*~qdq<:R oB8qҐ H(V"ip^jяܡq s!>4}~ -fh{/v"4yI`˃փ /p*Zp&~WZwIll,kT &Cd ;>|?t?C"4#Bz)bwCѫQ>@4|Z 7oVWs͸>vm>'`ttl`V;0Ldh\%"RUbtUOA [?>EEE5, O?4'Of4jԈ~M6G}ĪUXxqqgy7|$ٱݲe ]vرcz&\P*qV-oɑ[$^yLR9~d|%Œ=tZRd#d>C2e,>|l(2[6jgIQX&jdbS][RNR NW$hMsI9.b"%Udi!dSEnI*hM"Sy|8dQH64JEa;nJuT؛`%xkx"1B9B(r5vLpyF>a@8< i105{jS)Ssx - gz@ƥe+_-m doàPX`_aD(ڗMnM /ӟ` Q[+`!Zԥ.4y `6(s AB9W(\w (Ш%+Yi G4hw﮺K1 EǏ'66ҋqM71KvfPh4jԈ`E1p.@)Rvmk DAѼG f(D-(VjnCQ~f:@KL DDDEڵ7=z9sSV-,YBӦ~o`!& &.HI !\[C 1)%ZGf!v„XdA8*$Q I+@bDmt+MZ6 KAj30tև`U7iFk kC#6ns:ªnfX:7d6k!읫VgƜ,L׉gYq< Lbb"V*ylLpD{$&C^ jժ!se|'Uʠ>aΜ9,>owؑ8R'Nt:p`P? o-?7ۗ͛^hݺ5ffF+o``0Lܩ3s &x1&H"7/ЮLL}U}M!x$KW+(+O=>ReBP`Vf3C)4Y zN!0x]A+J~j3^TBFO]RvmZlI\\QQQL060%g' Z(̓[ 6K.a8pn|~ &p 70lذMOutaҤI\ӠWơC^+p߸YG?ϑ#GHJJ»st$֐ ), ~#?;ٵkD6mXd ۷ogܸq.` Q2LW0BO"NwhP~(:ޡPP.DZw>-t4zEFC׃Дpn( |> 4ga550iZk ;%࡜<IZl "|EtY$_,Z˦CL2{Sn] iI@OCoO ?"o`ҥxL8mãS8@yዕ4ͯ bժUԫWu5N2$n^{: !b_89-=k`ixwTlY*9ٳgW frr)C^c2qb'xn<0djHᄁh.!? ! LN(&b2) e}e"Ns#IX a>7? ?S@:hG[VC1{9̓)">DV{P9 3}нApAFC`kvЖX 0"-GzDk5yj`ޙLۓ&M?~|zZТt  ]ٳ3gv.J[f'=jTs8W7)Շ?@I1xX)b rL4x<..Ppo|:֊2{bp53ϰuVZjE֭+V7/Q; B!$PYCE nCrT PE8i+"lq_*eCDiB[KT(Uq12s(gΤ0L#(/Ab0nS u1YIUXH`;هprЬJ`r@b"o;f<}L<}J zvx0y4,bXTbgF>tqr/W @:p}]t3WzB) s>:м4ԗ3[-= u:B;vŗ_nhYcڶm?o c#l1(+BBc j*h BE$@[5j>,eee(%ۉxݸ&|΁C)KfQdFōJF1Tx42[i!_ee&̐tAJv)rJ抶6wUT[9AzoJ" ( ((vX>((WllR H'BzB3sr7yg2gzWJOKGvxe˝EZY\.,%_JhI!&G儆Δ]T.;QY#uNMf|I|#򃜓5I,&Y]W%_LD!}Dr;>JY#bvc~D$.ŋ?8qb4Ilcp IDAT+1FUJ - ErdI>Ɠ'OK/$+T2Ҷm[iѢL&Y$cf~RNĞ;$~yqww3fHK="&IlDɗ"M,II8 UE !)sYUeZ*{UADd&KΘUJnUa?&IN:%g@O_?翫-"*6ac=v`^N[CŬmf ^E_A2Yb xJJCk!ŽV<4=|eC2y߉?¯g,yBY:y#rdQ^6 ic,H)_J>6RB*&Tyl8cj9Kb#Z8U*9OZXT9+SDQ!̅zFᑀSal$ &ƒ0B*vF7w#18b0[x 1t!PSʀ8;!:%z҅BNHQVDM&FD8+WBvUE+-Z &&̴iӘ8q"-Z(ׄ1bi[j(借FrEn 2 @CZ ,ys!УcÃ/;o;@A,6nȥKرÑӁ?É᫯W_śpuW$$r\iw@# (Z.<1ӵ- S@<==i͚֬5d2c6[iذ!Ne5Pc`@PGX1N6Na*!8#!xjs6y9ؚ.,x"t`҈0`1z0ը:.{l'"lWL<2Ӝ^W09$cBūqqћwb+`nF[C9`3z=?2bIVa rBp϶ _꿋pS^ t۷ s! УhUW*)w0.ʷv;6lGuW@ǩ]Zeؿt>1Գ[6rNO%Mɓ4o##y9Ջ֭[[ok1dnmR6AyY`DGGc4y?Bv&2؏[I\\iii~v 3xf֬Y:֭KLL 6$**0BCC Eԯ_|e-Zlf 6Lt5PuM_Mo;!#HD@N`%`V9<x㋇N6c?n_M  qqq4hЀzq=֭[j 5e+wiÃ冖B/d8]$ +FwR$z]EhسFޤ.&\M`q1*zύZ`a&;%LJ6̻}]̩87J.@{⫰!Bh_9_A*}ܸqcZ=3uz| pGXM]Kzs6pڋv;V*2%yhP|Y* 4@DϘ4q'Npj!rdQ^xëHZN> ň}7k̙֬3;w9p^Š'!XоN؇Bζ q.~}!Pg1 ƿo<]a9*B [ Hdd$KMII dzo>ҥK8q"0eʔy~X7 ]E!onC荸0J ь#4vПh}P"V !X OL19\%B@C*R@# B)|ٸR !*} $eA˯{6/|QXQ9LJ%Kys x:˔~9 V;¹4ag-\?/5D8E`m}A2oLǯNGAׯ[nG!55 60ke_68I~~>4lXAt70V L&{rss)--% 'OGazC P1q >>DGG͐!C?_bg͚5T?CuAQx2e@&`p3Fp[NQUx⋧ uP01~4nj߃ V (T)3a" H' ZҌeJOIēD.uցxR.Eht%j+cCm2Qcpj'j4yaûf3o —0FQ\\̕+WθwhVP>ߟٴiҥK>ȚmapTUM ?G$ JOkbȐ!޽X9 #V2 ! ]EgKf,xjV2؆`^£KH( PE% !NreV(awC d[؂K9 |j; d8 D?%l|'?~kzعEkCp8gg~VFFd'BTg9f1O.M R7ӇRڵs))O7᝷&!!]+A'g44;3ѣ'OdϞ=Ҁ}|}lx)ExŇj1 O ŦQ=R@FQb. OB;C1Rlo kf\db!>SNJ\\ .= bMFl2l‹/X5Pcހ(f>FQB/`;PY誵#4Npw0j&9G 2,R/a.b=hrk% yr{eD#'XM }d-MvdT~,,"SIRykF?'YbEǝ|f`'3X~ "Vɢ.CRRRpwwGmJ~dFCӦM0YtP09yS_zb$ #M;͙y^܋;43iL$岡r,5<*$Ńixyg6`Z$ܹsyꩧh߾=cƸK??TՉ$]J1Qė($UޗRė9/ayBdFf9!e2Os 'e,'e 6 !rZ>d" rމϔ\%_S2[.'"6X^mQ͒$d5%N){tMTy].K嬨,KJ\([؉Wr=]BW6{bslhN@sDQE$99٩MAA 2DZh!ੈM_RDD,""bu<ÇuJAA̛7OEGED$11Q.$00Pڴi8+!!!ҪU+zՅUQRrDGG ,\RRWMUUeȑRN)**"K%0IӃe 4xwIa-yƮ!M`ă|R"1R̔jzi v4<`aѢlɤp2a 1>q!׉/ӈ`NTxL¹bkYEwdSRe5ؠ[%nx;I9w""DFFҺukƏ\O]( YYY|p41n00<4G苑 *nC@Wck#_ (ZҀx{8R ,F#cOӛR,h1b/c 8a`t$%Z-Q~J]VИ5gkꐠ](Umb9{+ M7 ^/cTGn .jDRi8gҥs' Acl2Ǝʕ+9t O "2F'BL .>Ű_[G .}~pv' 4_䣏>bۚڂ0l0ڵ+>^ 9 ^4h}zwi@3"6I!.Q_E;x)**bҤI\|9s`49T ʟ5 /'q<f(>}ig8`5uas#_oD^2b!v%؊V]/ghCce3BZas1rm;\hvEfV/bGDj͆`~j-@WYhŊt% i+رcF&%%M1Jjx`R0?G;DKTi.9DX2Bq.x J?ׯf'OF7p)ZlK/C0aa50yd"""3f 6mb̘11Ð6(\ vR,DuRL38U~:hpd#UQI>NY'3_4F۶m9|y;3*x7hd׮]k/Hkϡ7t ,FM=sn.ʧ`8:ԣ\wB!沏RckO DT+ܜ^PHBhUNdFY`^M^2֛dǚvp̫V84a\ECO~~ \TT>|8}ZJN=gѤIקc^ܜ@TT>,%0(l|o{c<4G (-7VOJJmڴ`0~8{kr ,X@F={6> ]tF} m]뉋cǎ}Ǹ%w$ u<}ߓUQE[J:ylri`]`$ImFv6|6st]ބ ׯ{zh"֮]˴iӈȑ#e^&eQ F#FĂ عs'ݺuСCpnzX7 хe>bx%Hd]C#:}%E\U# <> XQqsὲO*0b hƒ㏛vI>D~ X&(w;L"'xnJ,!em٬c=RD1^xq?#[D`6>%NJm_E=՜a A![1*2om*!^l(QU }&cwogb>ue ΦM4hڵcƍ4TY6 $j2x뭷wgGyu=}ր3g+ҥKкo3o<6wz#syEqWE_|~3ō>vLMe:uD``'tw3:H###KNhHY OC ox:2rpWFbPpVwev PGEX2g撉 V@Z0Xd>{ڃzP F/! +B`>QЪU+N:ŏ?Ȃ x뭷!ݴ1nBXA7)(Ƌ0M^E kx䒁?0`0S; b#|J0L%AH"$rS"y":E31=I<@4ST> -wsU@)fNܯ2>'32K w21K0ES\yԢ749M;Fr  +;8@${q`F2` ^|*d *\DAmdU E8DЌC!+%*y/xCûjC˃`(l7É{x:0~Mpa<<<سg 5gqT >uݳϴiӘ4iόE's)t ncܹlْ'NxCTT i@0YI/?~ .zjBCCiw8 2yg* ܼ (Rr( 5X;ow'ڠb*xZcͯ؜,VtƱūULwЕ\Tya'"@? IDAT_'RZL>JVzz:O<LG/ۘTߟ܂M-haS 7n2/C aȐ!]Ryu"jbsWReR$dL.rZ,&Ei"CN =$[H4xOIT7tRK79$ZE.'dHF>ITNIPʷY&Z]6v![d5xɔ}BSLD$ْ'g,] DX5CgGU D>"}ND+JO}smT^z9~;'VU"##eҤIRb0?w?U մ[|k/Tax+>c .gb mTUyEġWx VQ5獛 5:X:j'*Dc?QDгo)6bg\2(&bkAC6YWx`G%M#Ӏ(BLȦ*u%@r`'W;1XF_BK[a!Wx|(L.[gWŋ.qV ?ab6L]b*[bE \B;R0g<7{MߐN:1rH رDPA~x_7lBaa!d\'WW//ZXXO?ͭʾ}0ą o7dݺuỿwk)ϋɺB$cRm%hWIgZ`%%%qeZlY|뇯/?87ݝGrq^}U:w?4n___шt҅zGy(FɨQ=z4;wfҤIkDuAH}:mБ?%vt~;@ I0G-t 6]dQCs-ih iIw^Qx3Dč\F ڜ$/|,5`;@pv3,F!1ڿª7nrτR&vlzrgjՊd5kFΝoBps=X,֯Y ΋nwظq#-Z/㬹̓:Ӽys>VdKoŃ9S6(ё0dOԅT,`Y.4@84RI -.A8x Wɡ,aÆ;Sraatuv+*))!))Ӯ];Zn̙39t!!!9)S0a F޽i۶- Ƕmغu+oRTTļyohٲ%[lq9D(V*'d6'I]lrP!W\Q"J,ԧ3ƅM.%]*fLQt ,"v "lktipc " G}$l۶ȲWDDdV?/ 6?I㾱}R"uvz)w5>~>+YYY&wy\xRd0"}Oy 2FlOiȌPWMrUUdu_ٌHv|HLMZdK) NjH#d.+dĉI#qUl9%qBNbV]ޔRP>.--;JHHtQ$<̘1CnKJJoh"baIR$k. .];C|}}%#C;@M ֿM7bxez!H'Up>Ә0ThDcW}QCODi&uNB6;xTTvL)8*(JRLb%p)>!P!JοZB}9Swn0f@΃+lDwLO#Òt_C*ά_pB-Ԕ!L P f+ʾ+ߡ2=*)2_JMZ|Ph"H%:o+VֳYSVƉ䳕Xz5> ۷<+̘1c0K.v=wv" !DEEl2Ew]ԲM7MU`~LUUSZ?73 ; 6P 1NiSDžy2$/>HAB Ps\"QT OD<B(&EtiU y209D LFIS"u.aMB,)U.Jv5<[BʼocP- 4t/xD@`-;ѳWٳ+AGϏ֢NTP玪9F݇:~Ȱ{l 6:g ̌cСZwtፕlzyZjEzb)[O jdvK&_OF@1pGQNwh|?xBH5C khbTKA;%Db XgE\ 2 r0Vuv+Vd`cիǏf}v>fk~XXv]yUzxoxD=GJNXdI:r.I':gl':pL8D hs\1N6szJA v(vɮ-%"bU]]~伨󶜖[e _ƵEv(F+~ɬgKu'+%NV3]Hv6e򤬐$Jv2QlY&$iI$ d]>lke"9 ejrY6 D %ى)TJmbWn?ɋ-G䰈T;JdӈH>Q'E5HppxyyC=$6l"Gg'OCxJ;tH7\ᆱ2FU)cL>+bw:t'VsD sȑ#+%"YWE2.vHH)"bqi1g~L*61IRĮL^Y $URP9iHj׮-Jz矗ryJ]~u-J].JՙDD.J4]*~'1m```l 1NJ c=rh@>Nq p'U?drQD*iRЌ'"p[&9O!&TSҲ<9dSN2UKD!֑H_""Kq%b{taJ6s‘i6Fc#DjSI+[ci;EX5p>biD"P vO{EkA^ 4Lu5ė6 p8B}Q>\S?N2\L`mJ z>Ps5|s.]ʷ~W_}%%%q7V*Ztڕ`&NiUs(UVGU!7BJE:#9w, ;o\=>zJsrPb =*IEPҨ[ϡn.O O{V nμ 2w[*`UxT.t.; lٲ;?: |}4e˖%>~w.5b=4a@L55,[FѾ}-5 VVJ&$[IU{Y򔜔}\+̐/d&o|%)-:+*ײ@vhfr\F2I&J"H-vլ*\BzHXdK U`{@jq9rL>]֬Y#:*ҩS'$$$`O>0"SNƃ`&raՐ%L+ZB }(n!_G>r<F0~tlYQժhB3 `FFВ m:$yb.13X9|q!$Uig _98Y/ʆ9QLmۖ^{_ptJ;kİ߈GUd\KޅzA@^b_$<<܉cI#[Gvhs˵p(P͋@P,[+s>o % uiJ/Vbdq]\xx8ڵ˃v۲pB͛1L̚5ƍGN5ذcɆÇsmϨQ܄-5^BI6{)ԩ'"R*r@"" \yAF &N5.RY'^)"E,ŵDJ4 D |\dJӵc*NDD8s*>)Sp37eHgH VH֭ް2GNOkxeS/ shiiyJ E&F C$3"sz<c2Ed"tt.Yys/"gu$Hmt,T ׍HR$߱ dѩejZ`0ȤO*b*W\Y%YdFM׊},5@!] gof^xA jZ.PQ'4ms/v 5xC* !ګCK^AºA XH) lAA0VY*6| 3HP [#rg ֕=c,OwL;[vh=UDix \^:*"' %qRZL}bVm۶ 2z}Ap_iyD{?ӏرcpBϟOnncÍo⎧Fm㨓kWj(ٟ?ky'eKT81\yb0_-{Lf!Q)Q $Xi)WQUH2(g9M?5n>S.a)Q6sc$;e_C`3\gPDxg?o>Ϧ9e3F[O ?k0`Āt2P 7wxT?3^ i{RCT+X@EP,Wv@EE(Rҥ{ɔ29 -;'3:uX4YF FLh/T8p`ßPb] 2FɠtHCUx]~Syn!0+PH6`ȃ` P]R>w+c4zMB(8Lxo>4cApuj*"b\жN/,f׿)I:=>4| co}^KĽ̙3Y~=AAAL0inUj+^#)0oShUwҗo+!Tsи'K9: ռ IъKS٨VYfC\UR1VX夓wV |+ř^G丘"~bpԩS+%kȡ@#$4iYVD&%Hȟ=g61q~^X^F_R{qPC)592h3&6m| bNI 'vk f4T&?F hLsTbk#pԡ&qԢ5K 7d9&LJ 5DqF,ӅnL8 3ϘVa %liR:0Q(hB3LVo _*xdBoZU/}@gXyX>c{*k^h` Ⱦjcrr2{RXizEӧINNfP<\ŋٿ?%%%L&L&Vb(**⧟~b7P9?ZtTFhYP 7 54:9Ch6kP^PbCCɛ}CݘYF #0h%{pF?UO)xP8kĩs./~XUL:iƫX%X1Q%(k8EKT?ԟ؏VhӋ?7/<1^9gqVV@ mJI1r4mQ_b#$VV|Ϥ+Ռ|^pg@c hLx Ɨ7OTXf+)s"J }qp1tO2'I$iԦCiK + (4WqT#t+Fe IDATN"%<)Jn$ѕ?@ $0tsc?` 5*, $iG8U' 2.[5jDol9 BgDu 4`;@,-T<a:C#aʧ~çJd*Pn|1E,;pc$mM(`{8?~%+bGa}N 7>f#ҀH^ gspF汗8=MO8*6aA_+Myy$*RLùLpbp#hQ1;KK8@ F 41B6I(-5Uf8O t&;voFn;:LLuB4.XP%B=9(tw"11ݻ͂ x9t=z[BϝK֭xiР $$$еC"khGWV+̚5\yP]G @^g2_t(-`06 z葧8Lʢ^z<ӼW\aY|۶mpн{wFŤIak__ &|%414—,SHUImPzC:U+0n $Fq3EpDsNv;FWb2v$K a='9r4}11n1;I+Q5#8KNsmw}܂ɡtJhZ4``PŬ2SW4">`DnZєV:ѓak$+% Tnj3HN/&77ڵksm̙3ٽ}} XjL40oVuV 0@;I5 "z.`>L?)Fig~|6o-J5ZCH5MVʋg "~WE+JM\/AI_5y8dSu.-Wt <QdLf)e[I6R&kG+rK^藶l~Fdv Qu["3FltڵK5k&ǏBL;[}_ #VdH311Q:X -YID~ݦ}Dz1:)Kg|f)E~̿Udlm^Dd׋"<ϧo;J勜ϋQbͲY,,b,Yzk׮H>}$S9q6HR)|>##C\a$mڴaÆSO=%}lذAu( 4 ՗&f(S!VmQ9*kuy8d|,"R$rF6Ȅ"9C͋:Z"Vj^ȦOE@䧗+"sE6\)M"zi""9[d!bO>$CIHI/咼z~#ye)x}OI|V vZE~YC9qGf'k].@X:ɿ(|/`GOC;]7b5F*SUQh? +v&2([~ʎE=p3WYqُaEc8ԭRf·&BײN|A̻ >uCmegrSKhT2 hWo'!Ԩ!yw.#>Cbڴi4nܘ˗[#ƒŐ|ћqRzO#F8b<*'w]G'^?Ns>y]3}T\ Um@y d(}Xe|s(:i6rHe>JUܸqb7(G 薚PKNeeeL}:O>$ai0< k$6{^aô9!:qh4J#jG *T@ׇ2Hzs̪ 0Ft;{~l=|Ӻl:+jSbxX[ ]e (}S㑎v ;X*vt.SuyN.]G}G:s ;iL|AϤXK1xt ,/-+ˁM3F~ySCG&0uΑN>4@Z 9COjA)utNW&4!^0KujIM|]c.&#G-F,N` S) Ԣ /Wǀ"֑<2.,.y8m`;WBp(k!z$DUIvCNmUHSKFF_;E֨a߿wAF~X1|yiZ%Ek0w 4iEhN78v8 jJB)e c׀ Uou0iD7RZ꪿ \dwc?΅ h׮z+}Ҥ~].#/Ņ0yɏeTimqCd]hO`84 `/_"B)G@0Մ68y@fF3 ebx`ܓ|5o|CО-ZtnbԨQfvAݺ@nWae`zEq 2Y4XQq;QZ!{dž7S4V U& YBҹ5x+V6 ͹n Y><V7da;M*fU$N,Lg,n@X~rI_ܣ5V@!`b0q$^e).!E6s?1wҋPii" ԡMG=Nvb%dтV%UB\bҞ~4#*q9Ŝa-i@"`,XȢSdJ fO"b "bf'Ejѿ'6m[iӆ p.^/ݺucϞ=<쳼c Xv;xǵZO6+zv0y8=( !!!̜9^p)SOغu+={MtoŷaXPF9A6c'DwpD(8a!*7w&$N/>T'&.p" di@,1Ԧ&}܆{K!=;8O-$|a7Nwlg|?4"Αʏ'@:Ѥ9xdRH#Lk6LVlXq`N:DR1a1hFd#|6c,u'iBiX]D%Ȍ Aab? Q^+F'7-=##'NТE L@{ ظq#7nv"Xɂ` iV:l%0F7ivn^-=5:\_h¤ bàC_ܜ?o e˖1o<>Mq}H~ o[=eriؠ_+ƍ3ydV^Ma^_+mđPZ?6 6mgr6/oL< HO.s;{`G%vNM֮"ϡ庂מ_yL"fLB Dxvlz:=_~:U߀}[!T`W}bNjsi `ӱpq@CXcaχe%MRkrƒ-] ]!Uo>9mSur\8/)孔scq((,Wi=yթCxËfиP/]uz! b=-?y J18ҵ+: 9[ \6C5}~ @wNmABdpEuC9>Ν`PX`5xo3wco7Az4gOZz||%|\WC`]K>s>Xno9I:k_a΃R/'\6o>X9'`G[vm2_G8 5ib3BEիGzz:DЉ.9cЉNGjMEi$TyJ\g6V ZщhF~}X%C!֋?A)6P*- `cQƋ(B0g!3dCM{ST A>U xV׆BL_rk&8:NjU8:mzL*Wa2fNKʰeXmcot_ԥ kWxl _Ш]{ƎÇo4~ 7C v oՎ`  5`(mձ't hdYJOV?@x,hEΜ:_uݹ}U\ MC@YNCkѡ`"v(sb>Nc\/"BU oA9++e/ף7j,& |?Ai8Ku$0Iqo,d tr0͜wEFUq 3=TQBPJPցTR jр fW8;5hyO)!؊ 0^"3 ? Re$3sX2@ !HA(97\i 1XikWl?tnpڊ ը_(FeWgԥfkϹ\}i? v,j7yo˴]E-ޜ5nˍ[3g;wfժU <L3] aR =[d:#rUwT>0k4WQp88hw0=5o4A.P=ܳBy~}Y*pc4DO |0i<)Pnǔ~FNGH-ُua2XV^~c᫑CVaha8OX]ʎڨ^Q,&,Hee@a9QhAcqx+DyذBIX( ixi B&\2IP)rc bJ#n&Jè"ֳzѽJ%$8'"b8"$- I5$eDCzӘfnL!49hB\L'Pԥx.lę+b=ih\wWK8xB\3AQ M T@8!T3SJ { 4*ƫg9Ox?hT;d >jmĤ{~K_eK|2La5 k~i< }4LH}̻9H߷e0AB||xI yFɨQغr%]7Qᅣ+~)rL6B!˃gk <)hGIB_" 4!f( &`95^*`Bc!`_OPs.E~o&+7n7>.F܍FO?ٳgę#hsLґ)4Е~e/j|էuK>XКPJC<F:іߠƋ^Ou, s$0RG~$QC0F&p8p0y[Y^Eu0^5qɽ5&Μ9|s᷁9Bjk(Lpe > = )·0mr3P\J.7r->}}[6$eΥG=K 96;`-SŹ#a7=45 6 z c|kCĎY9||ǔrwҢe lX(;hnQ2IdΓJ2ae?QϬc4A5c hHCRc'Ny|LnBAhGKb۱PmБaQ(u IDAT 3?$ЌF)>K.ykA-2HN$<bM7Rzk8:HkсLuI$iSv͝u̧3A\S1KW7MxWY\vNReGv,*l&00իWөS'۷oh4"ObhYtHٱ }yB*k8DT^!V}ƪki2\ =5ZoaG%00W WB]( BhMmfugJ{^Ms;5`0z4C$Yx1͚5c̙0`(--%((Eh"|}}8q"ӦM#. 'qTt[Ѓ?=1LT*Ƌ oC bM/%].jn,Pޖ@Gv{\Klm,5ɖ\%䐜Ul"R*e7xe^ip(>;""o>'DԖ-[O?T7tg8Pdh}~2GWOK]cZIXX\v,"ot_Da"%DK-x'}+ aً:ˍvMX6 S#30[ wðа}e„ <;m)cbh}T6ox ss_xQ ut=3&CNEi«Qv<3[!>>uUPL:Wg[NbX9άҷz(M3*-mr@(P@C >{a޽y&&"B;)8H,PU]^A uy1=` B,lxW`yFLt'|| *\=ʽ9+26haWRUa'&`)T 4? Exb h|h?{/ήp% i,mZ@at:RZ1WV(N14k%F:'Vn6<|'CZaX()O=2.^Un[zαA_AqӦM}|! e2~,Ee'L[18tҾm- _>@c nVca9`h4@nn.ƍ?ޙoЙ"5]\C)m +9p,RP <LRuVSH6^X^~SQ/uKGoy`m˄ep18̧+%=wAD| wC*} o5BD=Χ`?eo_ed!0M;3ӠIhΝWHNtFSCZ@ElŬ`VaMz7ԭvjEx5 n1i;е4j7-EpS7^ZQ5~YZ.0[=QѣGsI-[Ƥ[ړvbL,X*]7!uh.r,[>up(:+I˻VNDF!"Y}fĈ :͛s){dhGO2ѱ_cf/bÌ ~<[E"34V3*ipn+NhG<87|HN{,38K,^X^ɅvgFr< JB<M9d3U'C\ X&bRD4Z yTj^pa duނJFpq$΁HXUfHF?,8꺉s+ӎ!4 F~D *wL|/9<Wsl[<]{pJy/||I MBv%!:"l4: уlڋs75_:|CǨX8{ z |F CԼɇ=zd bp˘! W|CѩS'N:u]8?Q+ k[૱ X}LZO,ռ8D0;[Kl۶Ka"E`9g KP8,L IQRHb\>;v`͚5ر 1L?n~`!ViHs2K$Ғv*ދ.U^KRHݙ)\O +g9Fk:jNPX8!ZЖ` CAVNpPhBK1&rdћ׈,+hHk8b+N,K ݶ)#c|G&'Mё5)# |"Ƅӄ '5r%i@&"RIE+O uz}+P:,+q`/4Zӯ@zv4 U?gOB/ ڸ{O$jW?? ^IWwnG@;!P:)U ￀TXJ&aXvh~ aaꨅ똞|C h5y`ܛ %NOxңtg7 BHgAh3eOZFlfK+Zhv߃.ȧ0}[: }]}U L}}G222h]$^UI {`s7CޟDDŸ5 y+=-Oa8 #@4iBv8vs'.2`Zmqu ބ&{\^]:6 LD ?vZrrr}:u &0㍻W &1 j0NC2pMADқiDP:NWN \o.VP.;v-9d&(!ntXN 0%0ҁWҪjE=jwsMD j$3r¤_,crg%tL{ y`tm4 KJZXalg#r|">ED{'eHVZ|=sZ8KbPD7o>䡇Y,KÇ={5W`}YbSGA_ QL<zC%ƅYD,nJ[ "?WEL Sv-H6m˗KYY >\i8ZåiӦ2a1&1H|/d)"1>s1 RZZ*""%!J7YYY#/bsf)8X7ܦ*j׬^e/kHnmn9ȖWΊ|z?Ss"}z"߾-"gtY2WL+%,E"J+bAʂۂT#;[h&zB)Ir}җfyE \ PE-eHx_Adxq82m41 ABN@f珊$""{G|}}%$$D_#2S`dW {ᆱ:(<7߸+"%w1H$ۤHp) \erN=SOIFDDLre<[n!CqQx-#BE9&[$_2<#OΊ:bf4xPNpyRWs2HZW] {+06փC5ig`X;^q?'s1 {J; 0nPua X*6"b ُor`lm6:u$&4KmDr-%%CPcj̞P;NB~3Q?23gz-RSS;0. ZD)))q~Ytwv=ر#_5/_SN7,QX8`}|礧uV~Yn Kt1"ffpp0֭ pdkvV2A86Ě n6`5\ ; GM=.;Yv_s @eN:Dh! JV%Z%Z@3TP(rJ.K(pɀ҅Qscx;) $樳X9x{rmO$e`+] v2_fѻG  8Z>P h hP@v@@ '3ҡÀ!PT*a6!`M*׹VC { +A)([|TM7x8L???ٳ1+/M׬yطo&Ow Znlٲ8t4n7pm&8ʩ7 \Y Tk8e3+V :uB @V4UKgL<UVEݱr<)Ч*9 t"ܻw/>E *L&8L40 (Q|!6lROF%),BXLM+? 7l&b:  rD@EQĊ+pE,_7|Cx9Y`5XT/\I  X#(/#C6%$[(r($Վ9)mӭtׅ )4 /(|)Th=nc*_ 3^)223V"Ef1ٚWXn!(f2eţd1a3N4;1\f~$Wq|RBⵂLBxwAaY5R$gʒҥKJR>!R>3\Բ4c%F'?rqorN&o'G-(˧ ~kʲ{|e ]11bjdT$i>Sbr2J||0 0ES~5?'8Ofr$ۺl/9 R}iu`*UAې玒$ڵk[9y6mm9 Θ1C>?=؝4(,d}R<sΥ7GA^M>YM4}Do'> uװm\r{Ԇv ˕+ͮ]Z? $8YH=KO0#ؓ\.Ëd5q)d1W8ٗ:&133}%.ZB,svK~ ~ kw*Ţ\s !mݜ,_pqc_1**F@!9߭?>I!#Yf֭٢|fer?m#Mwb8IT*<frr]Fp!_m䫧6'WqD`d'"ޤ'//>g8|=z ד_j|L>ҥKҥ ϟ٦9i;wL'''Xդz!)2dU*3֢E >|$4r52$ey&&4QPn }ZjÃ'N;,13|q}3A<ӟQ~'x'lZ[Ƭ?v/ƿa0ǍJ2 %RynFFsސΗhZ17#nGA)~k\@a*#ry3/La0V3Tf&ҟ%yfZՋ)\l>V"EyF(R54f)p^(py`ӦMyĉ܁*==;wd=;TTSNi5cTk׮%P+ Yd9&"g̘ABD1#bz6l^zm;3ٳ] Ǎ1πoyXuT3ySx[p>yf_z?)b0o(rP1qLk2|@du.~W~sp `fxi#d LLLGxO1a+UԡCk׎Z;^mA8w\~7ܸq#]]]9sLd=4EvjSiqRf̠91(;v,taÆq֬YeKn_Of@@K-[Hy(> >> If֠.%3X~<^4eۓE?7n`ժT*9qDY/k4FFFR#v}6jԈ Æ c[iqW_}RJj8#1_ j?ىY"9d&[IL WM%Gδ!ٻ9s0'LҥK[Ϣ?LV"gHcVDQ~,vtYFEf.Yic0L̴/kI#FȚx1ƾ//4v-TtssѣyU 9Rw ԯOEש-HmV9sdtd>{bŊ,Q84+ODb#!I^wKY;Ϗ?3###-y@TJULnF,d$@ܯQQQ,Y$kԨGRH}V X=1 pkEKm4_^<CV`9/C,r 'JO{v>p4T .b;88Cڀ14S,|8`lHHHݻѱcG(JYYxU ˗GƍѴiSd`2It-Z&M`Q18*-Z@`` : zwvw,kBD=&IC`ERXhFbQqQus (󞏊+ʕ+ŠAЬm|']j@,YG/]xz-[cjy;u(7p)^,=l.cǎ!::8y$ EXpW c7>a4Z񣆠B@bm?E 5ǑPY;x7CPhueO\<i֬Y>}:/O%(Qp-[5'Dh1"^Add:.F@ΨǏcĉ(Vʔ)`QFN.{x\C,C။/ZZ$spT7MeHѸsQF; Sh6ا[L,4n@D e|T1 L' y&y1\4{Ld"2So̓4IߧF_CMj Mi0?6s93: >ӟhѹ ,Mf)` ru$KUIMHt7r C5Im5N&#r&U%AK8:9.!w$Ƀk*?#ed. [$7-A7G}d[eEdfU.GK%-n>S1L6,n;u:^ ~yƤ$&zx-{|Qk\K筶t:+V~~~<6nu0y~@@Zy%JW_}T2$T:AK Smgԫ;5l֬M6mB''9Gh^R ^8Fd'FZE ˍ+Wz&V_pժUܵkϜ9@FDD>m]]j>3C6fR@V_7ݮ(J9 4o߾l߾}>Eic/co(8Icq<Ⱦ)a s!qoQ^z>fq5y織 oӟ+ϕ487 ]1f$Ku <^LcgW9ؕ5 `r?87ؚٔ8 i=8N cd|CX 7a |ڂ|ҘIO-F>#&uּ1];dq id2A&0"_H9Ȍ$23EEQ/ 8dd@dJM95' ńa&jg?|߽ˤ)9=1Ӝj;V&kWKX"/ 'ի^3'N^|M}vϜ9sM{-!byd׈N6...,RUwW`.]How%v.[T,š5B 5kkGGdufddk׮5ku;UU#7;wb5"Mb CImgM6^; 778Ӄ&gfP43۷o===L21xY|&G1ܴ͋iU*U6b*Cy M g7Hmn`4eni(H[Š3M"00M4@/p05a$u`;ʠ |bp# Xrh"@1CPEjC;dR%7`BPx%F(b O `B"xX,A1o j;O#F65qPº(> A (bJрCi@(: PX1g '@Ԓb1pGfY db ـt[u:&Zblh%M:}9HIIAɒ%q1RPUx/ L(P:X{?r^ѢEk.=Z>~מ|jժaժU Ǐp^ Q̽gIIIؼy3OOO,]  ,@JPR%4l96 ի<==!oR,$$$`Μ98z(ܹf͚z_K.aÆ tt:q}T*S ̛76lRpԯ_WF׮]a0$$&&f͚{VrXv-ʕ+]vP* yG`` 5k+WSNV<? / 6DP@BRz}/wzwF+W$<7׸ҪF9 _yQe`FS%VFf1l.Vo , !-7 A W[w],KԢ@CDMޔDcyqXԇQ}[,c6/La,[ߧ910S5*weh^4;j=_^Ϟ={*ɓ-UIի)Smx?|oe6TӱI&trrUh~;h&g -dh4,]4'~GD63rt_lݶ Ǭ?Cl&ZwЎf2e(+W+(Ұg'́X,ZMDCyu}Sb"_kGCx,gH4؈Y2l6sԨQtppO4~-ũ&td~IeX@JE^v oO/mOۖ( 4 yZF& 6Bkm缤Ǭ?("WF)8r"2EF|V+'QɌ4)ѐ-O^ٳ-S3Ԕ22A&ԫ'0/H3dI( dp|cm pܸqT*\`//yQ"T*R;BFSc@!9Y/??wiE6rt6ԏDyxZrens(|تU+n_!W(CF*I6חE\g(jdbHRCo,):q9z؟ ̶ Ȱy!LJ ` E4w cE 4F>I5̓]6"жh 1.`V)[qb'N(Xl6pvP: 1-}/t >бe͟; 7([l.m:zua'N ~M F[S'޷CBf(*#`C̘1RS֦MvA0}tر+k@l6n,22gpV '4P)P- EqÇQV-xxx`7kg&i˖Fh x,f>*VSJ%Zʕ+cpww'GQnH m9Iۋpc$4жm[ 22> H:u`>@рSvp&a$b(oO܂d$1h/0Ψ?k׮\^!X=b@n1> ,;,;!;63nix}Dؼy3oߎ{hnpkN^nҲ%W(2r$+e\-;;/^@޽qY|\V쏁bذasN^'*t8XK Zu^R>;FZ8p1x`ɓ'#4+ျљf#hyl$NxĜ lp ^R˿1c͛FJ |˾*F1 P\A0-k a0(PA‹ # Ts#pFuY^ 5QD 4[n(3C  eqnfn5j-ZWWW4~w` nݺؽ{7Z>{(R8p^qB< .D2"*ay.~.z#GPyJD "S&I] zxssDA@zLz#Κaʔ)СUGA 31fڵ :t@=,|@>ei MJz@3PPTdM$S8PB!3e3z Y˄8h`q|!=pjpeȑؿ?Q#dhz8Xx YvwQ`_ϑW !>VeuLd,6?b*$@#y×\F-HI)C>e;ji]LͫL| |L7cPrI])|9"2Lw|8x ъ}C)A9DfgJL&]r7$IhdZؿ]cFR;n زl\Ij2ehk"Isf&6HVpzxx5IΙØm:rQ-[<7L,VBT\wժUtttd\ {}8y{6p! rUݯJ3Q-︲Dqo֭[Wqk)y~2I2::9rdu'ס:;nnnV6kK>Z7?^'ӏfYȌ)9V6 W1ԡYOXVh|k``—qw!'52YeYd hL֜QMF8eIb|y̤[QgGn}Af$ʷ%IM6!Gs*ϟߟx!} IDATڵ\ZxEQg[XRΦ9V~$IQhx&OPL aٹsgYޜESL[f $1eppEkylӦMކLRc[F#dE2U0}t:;;3"""9d߼ԐT0"j6X3۷mо(ZJ3g[;z0. Iv(߹WW&I#sKkidU(,Z({AuH$B( 1`Ű?9L=.MNuN Na?L\hd˅Χe4ȍ7ZxAΛ7UVE/"I/ɛkԨ _zEƾ,5hI =9+VdFn.h6r׮]/BwӰaC:88%DzY w;66-~@ڧ2F>6:&B^qעʘbhg"_nJxT62}\hf.?pZTRҧpou@l'+#!M.\֭[-q6.͛:u&c W瀢7 "ƍm_~%?}Aݺ?Ʉ#F%߿ r(m$'N1< ׆a  sN8תe~vfhUTRPjE>  2;А J`ԩS3hps(")#cWK`Bu0|pL6 >>>(]=G׮]?|(Q"_P @EIO>… Q/jJvƎk#E(@>)@&Mflm=A On#,, ŋ[g?f˂v!`,)rL~L8u>IW@U #[?| dOi@@suӲ%KнBy Opi`cbԻ7RFkNP/o߼d p˻J{Ett4~z&77Arhľ}Ν;[vN9lx  `P' = f/2O2`| d#aP,oF0 X4\g Ylv=4a? f=|܀8}&H|4[‰].+yKۀ: Xpp˷L|;xx2OH2;d p:Ⱥ8 ,ؿ pp:<<_o 5̙#0E[fUƌP:9ARAޱxq֬ ]HrtDQ޽{1d)U źv., 22 '': m\v{(= zt$}=$/ZU%RGFŊ_pi;۷/JuT*(Vgx0er<'aKvo8(PhQ]pt' IhLݖAO—77IXm( T0zaL^@U_KPTk W<JXH")) /^֭[qM(_bP(h߾=,X&/q.+@Ó_Ȟ#ZM.}t]"B@@r,*>Gʈsnnn9kU݇@N%jTOUΕ# ,tP*K Ňsr:Wb=*Ԗt /a2xMظq#<==H>yF;^J32:hd,9)L3Ff*3}437 4z1ݩRybN($R4I1})fGxҁ&Q-ɗ|"JIdpJ;A "yڜ<3":!yʁ< ~K۷H{FHt%>~ȳ5i֙UFyj9yp4F#/r|RYUO:Vn>iRW ;/=ٌdH&Yl:Xى^OQF oS.L&iz|V QDH>(^Yw^:usO>E/F૏?mO';^T߽eP5gd0ˋHiՊ['Nlq>a=qΜ9|Y^=BCj^Xz8cFNH~T|RHɓ+lw$iO %&Mz[L\Ek{5ؠA`*r`! {H1&'IQ* F>4S0ˣdq<8ZTȗ/_r8K-JN4)5I=_91 {o`83Xvc! Pԃ[ 6PnPz:7z(Z|ZrEΝzj?Mzw>m;(U. ݻt1P͒\EnSbСP8: _J}.jfݱfJ:t1cPJ4l<7`dx{$0KP.Z |>-.ŀ^{2homۢM6ˤ]%dH+H <l)@ J6z tJ%:u  88J !1idsc $ \`kab*#9TH5oLkݝ aPk)?43Z.i~mB ISm^H}F^M C {|.}ֵk[& D6ysDԟ|")sf? ǏGTT s?Tعs'sN}/2Slڀgxۼ(Ayp^ :a ]:W0~r "[4jq]:t7oZtWd5`wÎ?2sQ6i1V4h??a>~E)>oY^ hӮ^ŽFTVF@ɓӺ51{lwxTn)${/,"A DEDDA@& AzGj $$AHdž@r ~X<rvl2μXiwZ)O޺={B;dۇ+{ýTٳ.&f߃9* 7uTAD/B?ݡzVU ׯnݺaʔ)ooW$ f3jԨNW|KV`gWr*[/۷8:HP7Ey uf s^]7F_딀EѳgO?ƍí[Jڵk9s&u}(+2L(ۦL/t ݺA*(@Me%) ]–zd:Fd[d$jՒP}bHa;wbԨQjXr%fL GDлwol˜p`0j$`v? bfau (GMTt}*ल DgrRw.* E=@G-ݻwcܹp\zZM**R?#k$w ҁdb[f=p2p3؞wݸ%w; z~yx-t`` v|=F#0gcBTL/8v ɓ&AɁYEV E^Eʊ 7ߔ馤$d?H|\cbw+WRJصk\]]a3`˷{og?֪JmeFH=rȎte~{58=xpNpvxu(g%?|f-#(>2]m`ȇu(ȳW#_/WWhևÐ2I1WW4QCHԒ3\D-WSX\^3gd:-ލ&VAg>}վjy3-] gEVGecw9}޽{u6ߺ.[Buw59:u`41}t|h4(S p߀u1aaZa઩ [MC-ʲ偪56tx fN@ 2«n#]nN sӁ Ky3@VreY@-J ZgJQi@2'Yܽ,HgLS8., ֬YCڃ+oLU{;w.F#>S8+Жd8w+YǚbDTd0[h~>JBE%lMCVkŽwYdt2&<.nu%Dqڅ@Z dWv %~ޜO^_M.kt_%u/@.k@f%]@~لK-~aGq~ ȼzfǝ!zm۝z)u}V_w;dTq'Ih! v2'J˖+zzrkɂ`ZRSe1>A>>ؽ6Q[ iڔ}GI.+cw.ơ3;\9~~)Ƥ$Q< T$ 2cVE$gʤI$ɠ 6hЀNNN4i-Z/@\~=~DL HsmJ IYKO2^g7+۫rO3dʒ9QJq][2r#{KY@&3/){=ʺ% )G,$*7ۓ;8w\j4^rH SD`r{jիye_{Ƞ]\\XB&''b޽uV7KY1Bo|cE4ZP > ST>7HK`Z#YF]2ƃh{@u=ܑ̽珣$ӝUɳH}/{:G^$ %oOW7k&%L8ϑsȃsȼ!yW2&LP{{3R0\)i ñ}䨗퓳¤j@cΔ#,uëW{=zȪ!''?_~QlO60alU=jpd属=ح[7:99ÃyKWFdnx5-c⯿'O2ftUݔNLs\j(IgVL 'L@V֭[3,,sj@֮]+V,Hu A~nJ14b+~y믿f2eح[7>3+U|2njCOOO`6mpB*|sփ#Gx?Lݻ*UŅ"ؽ{ KO?A!޳g0&&F/M6W^ttt#{~huLY1*E5R~Oׯ3sb[tw8s pÛo*͌5U,yy 63g$.]J\jIҔ]j^CJ >$/Obײe٩S'13<ʪ9AVv"33Dy鬲n1svTIɟƪQ'oW 9–H:6LR_bIڂF^tׯԩSRlXۛ:(qwwgV+p„ c8Қ~iӦ[]6'LP_{+T#---b۶m ժUU\Ŝ#Gғ$Tȍ+v,-~&L_IիӤaIO>e""d!&Wu'q -[=OiÞ={)SpB~?}:'Uĉ\Sw%If]Ƚ5jp |p^:7L?kI]vq\,ktgRh4g'`Wد}{VTu#GHV; د~6Yq*Oϝ˫?jЀ޲+=pv`vy#EU^dVd)*)de6m_+ XʺJAέ Usoɸߘ/^^^E?J*S|w`C.Z[ɐ19-ZȶSOqpߟXV-1g= "zĈKȰ^ &OBJ Y-dirgadV[O#lKHy;9[WZi۶瞠FFFm$n=q'7d+HDj<00躗sڸ1L]!3ݸ@^ajWO>m ty`ei2'@vl"%>!߃[ڃv cc/庱Ւ|Ə:I@N#f3/^{ @FIxݻ6C>sGoo*;Ó'O!d1#ȫ]fuXzujZoߞ~)Gooo֮]jUVbz@@w sjשgi@@n7է՞jw6 pj1z ȸdO:n^}8w'KG/y0$P[7QX 8a, q*Ղa3çPhQ/dnecFGoost~5̘1gKWlތQ{ ckoqMh+UgFիW#(I0$&!pWpI:8 UlU oބѽ{wL6 7FƍW .]PO}89u&OF5?jUXssQQeKY{׆ aIMEwߡQ<5qto>رcqYh==а~Ud{Y{89]{ISF.7Vί˧UjL<=&@n:S2:IE^FС`t@P5\[FXd ^g =ւpAڵ vB\Z o=@qx L8gn]FČC*<,Z-cɒ%pEL>6lF,XlZnGqGx5 ֿJ^J"'o~M(^Qxm&"y924i:0scHc]=+jyv^񭙬r8K1+i9W2Pq=7~4ÉB,7c}dun&٢"|^d[^7 wLd5̝7O/]bXŊڰd^Y 2pkqh40`?cЖ-OIae|Y,^UQ~-[f2Vb[bpdJ%__N2 ŷP n `3xn].*=m8w.#zTeT@{VƏϚ5[i4fz5.NyCȧ6M{Whۡ_wRrM*Of9rf%W% ㊾uV֨7|#G_~FV){q߾}ILiϻ:`dW y+ɶ=;in@jB{$$7V2,Fԫի.$r~Iǧh}ח6I?Ul1K^3G7(##]tVU¦LcݻygTtoDj(oq6iRrnnɌŋ}oΜ9_5:D=_#7R_XεD?;L@ڨZD.{_]=O, 𲲲8tP`^-L\Ef+I׭[Ǿ}r͘ ٹ[l+Wdf+e OǠ!Hs]+GHPP7nL~E+bzpDo8{y6r$GdyɧHK+mݪ#]sN$Y IV \T< ˸V$o^Nbz(Y2JǷʒYS,0llٲ%,n޼Y:X`ܿ?Νr=*߅H6۪$KЗ J%ItO)I.]JVK[wb2guXJ hdƍY\9Zx^)>1L:uرXZ( GXfrOK둳vZ'H8ܾ};13Xf͚lnev8zhE'UWH2K ~(SlnM*6 $7o!Aғd#,|֭#fX3^Bɓ*I[R䕠w;0J:tt= Yё.ycIXz`}@oիWپ}{ȑ#e?sփ#Gx k)$I)4-``@ժڬYb^Nc߮]٥Nݛݻw[oݻwU%:SÆ$ 8n8jZjՊ7nyo_ձ][uSþ{yF"{ZVcUSnq2i/Wl֭֬[tIccyϏh/IJnӒ#` &W/S#-",9ުr tvm*R"׎"S6I{RNy6/;v?u@ oA 90] úu%>IF!gjE=1\nW}K>nĤCUP9::bغ5LXV8::رc޽;*V] n]ٳM6ŋ1g:~G"a8TKv}ٌ3F¿{w.l87f {N>~ODž߇SO)̒%1zΝ+poD%Dv/>2ظq#֔$> WlFހ`:uǀ/[*n?yժ*^zF4W\$2 p&9)2x·ӶWZ>OsCJisʬ̛9*1F J%LL1W]DW0y`pzrH2/"K5 <Ҧ O[\K:uP¬cǎb#jggJIċ3fpFÕ".w a6nZ7wNqw0D:IGFd<2ݜ-Z,.]Zz҅5k&k/Ie#QU>?cՋdK7#{d~9 $1j !r$/$ث I$`Zv k݈47>rt,Wg͚x*%]ddw@v!InR)Qo]tQgA p"}`=^S@ &.*ӒQ}g_p  h4p~ﻫ$aX3f<ͭ-""j`whe"9@ٳq,'YQQ`Ҝ9bE8W77=ZHh4h֦ F>,{0L = ՃGFp*_XekD:u^ܪWF*4l]r}ix6o.=ZH"|:v7~}'dz:u\27FVdbEm˃'x"]ꊲ–'rp?BsRu Vrr=}  ׳xESn1v$U]ۀ3^Ik+iڴ)VZ9s`޼yϱh"L2o&\]]߉tw_C|(z\@/O~BؐLC.9j$JM5+,^E%Ie䋰?V~*O?\,#BWJ`;s4u<'ƴ5Ѯs~[oFkٿ}n.C۷gС8}kԠ=[VMGW&Lm~4ii2=zJnQ̹~]:̍U\ʿu뽼r V[4`ڵ4T,ߟ'NU^<ճ'mb}ڞ=bߒ$bIOɷꔤ |vLTΟץ&\)]UI>i(yN%*0uMqC$ICw.+,=أO_syÇ_rА̽vMQ$g[`Һuc=|P>}ˋcr`Ʒi:Fkt43Ӧfa- T9^$7/"?鮮^eXI[LP,$= s_;_FTT?s6oޜ"DX` dC!! DEEs!Ƕ?$$$ZBpp0Z*#&C?OP*)))X`{ĻヒI&| Iճ(IptqQԭF#$N)ꦜHf3\+*W32`3\gLO%;ekVYY0$&|ƊMGADDљzZVŸqо];dgãD.I,3|ϫ}ڬV^_V<%Ҿ%xv$ +HIUWrTϹqps&4lܼ6A!$<Ԣu^ΝUH444mڴF!j4C|W9yd>J>|||ئn][ӦMSPcT9o2|O\Eש% 1g=8K !%%j֔ڥD޽5g ..GFʕ/#%9SwǁA0w\T,OLW_E?C(/ Þy"JT*@3Լ9,yyЕ)#o= ͛ù|y88;G`CVpS7!!pD%FE@FoonLMʼng!!np6{#Q-QشiSX `Y>|8UVAbѸ m6zzXz5Fzq7 ͛CBJI^})jru-:dl6#??_yqGx5ħ4k47"J>>T'| MÕ*q bc``_p7t̏+e1b0WWż0Ev9*0:;wRpҤI'5'@./kOI"gE69uNG7hB TeĜ,BZ"p5v937΅~7]!νo>'l"{+ "V+´l `eD:w)6 Rb${~D `ԩ8{&zcpIIaLNFqP˸%7{ZPoJ$jE@~([f͘SIDAT1]ӾRCx6j$kG÷m[ߩܠssC5vS :8ڋ/􊁁pZ>pPc~>4Π+ugժ/1a4jյ:85(U''a3"+ĆS_6j|p'Z,SO,XkWUgϾ)= N$ 힀t`!(ZVIlؾ5j&^3<-[ ыAPD{Hܱ111bL(ӓEŽhlLg#/ݐ,nHKÑC.K~Y,88lΘR;ᇨٿ?22=o닮{(&'݋0t iG*3b҆oA+VL88 s*N_V fT.whT|'oY3z !p4Aggg8; tW3jDFVZps?e+QU8^B![\id ȷڒyPYdOrHGS2: |ɉ# $-̪[yoAOi-ug}1LӇ(Km:Вɫ d$I<֥!1teDoq3BCӓ$I2;cf&֪eʇK6!U3SpkN6 ;wrMj4*11\]"fiQ.7oVCРAv1 yS'U;sCJr-'4]z瞦irF#y晢DxgggVP`2ej杝٢E :sgL`?G:99ʁ߂%I ]~ f*~V4SS (2c ~אrss\\^ `|x.__Uш=ҢEP(Y8>r$Bfφ_ǎ2e .| |;tO~uxig<޽^HDu ˼^Pt` w@ x>ar/iɄu9pX.Ќ3`6& /:g_}4g`334;wƑ>}PshKO o[Ѳ\g`m?FI.`u˖r%LOrkڴAMh0hLώź'-[POOKΝa^fj뱿\[>AWb%>ٳUQ[oAӡ|2=ahTr0 sgXSSQHz=2z%8:\-ߎC~@B˖Hh'Q~bI\V 7^}ggޓŋc͆C٦M]]"~:x=/H>zM"D2`@ҥH E5PD{Jn;HxyKH@pprB!Cdd*Vl0hke4WIV+4Z-4e3NΝ/( :|V$6GGThRf%ADHf3tp)5p v3g`KL` *B@ph`KOEh=W)q?zcG.2AAi`w9/^i՝~ϑ-h6#/)IU7df"=2RUIH@sHčK@ g",@@7Qxt(Í<0n+*;v`y6׶mOmۢO@ #,@`Yzc~ 6o2%*-?O<WObd¾?o}J۶Lpx$l>Q@ g#,@1 HKK{ð??$3Fl7OF؆ fÆ԰0Dhso"qqqX`rW//TlPߺzPJTS8ƐD=dd"/) GBF߃cxQL>}]y\{<Ξl1W_͠ XQ]#;vJ6-^Clذ& ."zL\vqA xlĦM_E/!IBBBۘ2wtt_߼}H0h>@v=gʃ!aa2=xrAjBCnE xh>X(ԭ[qC ?QG|VQQQ+<(U 3e˖ ,@ i@ xȈK !#,@ @ 2"@ xȈK !#,@ @ 2"@ xȈK !#,@ @ 2"@ xȈK !#,@ @ 2"@ xȈK !#,@ @ 2"@ xȈK !#,@ @ 2"@ xȈK !#,@ R3M3IENDB`././@LongLink0000000000000000000000000000015400000000000011215 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_regrid_with_extent.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_regrid_with_ext0000644001374000021030000020067512520135745034004 0ustar itpeavd00000000000000PNG  IHDRX,=͖sBIT|d pHYsaa?i IDATxw|^+[P#f+GQEEkEUjQj{EA!fI#!5 u^9y}?đsEQEQlcdEQEQ4*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf*REQEf&mtM (dCQ V.y&*T0t(i>TIV+%\^ʕ+8%']vիWsVÇ5Yq… k׮<~;;;%K }]ݻ'ŋ… x_ʏ?(/ 6رc_5Κ5KLLL'BW^zu*ez|'bll,%J]Zmqppɗ/1BlllR|޽{W\\\PBcIPTS)Zt`*;&JkkLk^rJ޽{9z [nMچ 7+WNLLLcǎ&/͛7KKKI̅ Fڶm{c2p@qww@Sa+@}f:5PQ-[(W6lLJcbq/|"Egԩh4Oxx8ժUӗx"'""ǏShQ._Ltt4666/^5kҺukC˖-)Z(*T(5>>]v1~xWN(VX5/Zv-5)GӴiS:t@{n*V@HHԯ_'?h\ޞ]N?;v ___ݩ\2ׯOχ~{n݆71NoooϟE!>> cggܹPbEvIbu̙Cǎɓ'|e˖ѯ_? ̌XjԨa`lll(\p]nݺZÇS|yΞ=/tڕʕ+3tP\BʕL$իWٳDDD`kk @ɒ%i׮]GGGsI5Zy#KQӧsyN<-糱СCrrEƏO !$/Ą0D$W,--ر#.]Oh(Q%Jȵx ccc}rUfח۷gsTbxjk@Dرc~0w\vӧӻwoիgprVM7h uF| իٷomڴp|gqܼyӧOSbELMM8rK.%,,3g2zhՂT k_~a>|777nܸA)RƆVpa֭ˉbٯMCV2}t.^H&MVݺu[n/Kn߾122""" \cСx{{ӯ_?9B…|rǑ߿{G@@UT}(QE>… ׶lBΝ [ޞ'Oj*ƏOJA[~ʔ);C_yܹ+Vj*&MDTT&&&D._lprTtt[VjPJjՒ: % B3 !" :wy"Ed6/ۿ?n">>3a}ݻ >CTܢ>dĉXXX0gVjr̃cʕnἕ߿{>*J^,y)sΥzԩS۷3ydnݺEzعs':ׯ`:vԩS)W UVt:={r .Hnޞhرf,'O'PL˜9s23uBLL &M/0t8oeL%5j iccc:uٳiѢE$IPbE*VȰaÈ`Ϟ=x{{ӬY3J*СC9rUT͍~QR%g-ZT!$%xy''ر_EQR%C̐!C8~8SLaСo5@6nT3ܰyҹsgY|/… ٽ{7˗/H"'aٲetY7uֱuV5kf|ތ=իW $tZZZbnnn%w-ЬY3ڷo+obƬZe˲o>ݻ+eʔƍ 0'''Tȑ#ٵk~ɕ+W;v,Ç%7o͛ 0СӧOӪU+-[~Se{{{:uꔧ&iܹC>}V+WW^899xbj3a*J0 o'C)r} \zU&M$ʕ@CF!%K !!!!3"##jժRjU4t8),]TSNoprbݻ5駟+VL,X r166^zȢE+V8b%:XN%X̐o%K$ٳg"N'ϟqƉRdIٿܸqC͛'"o6h1b177sut:!CV5tH9r%ٽ{rI9y:uꍽKz|bdd$hZ)\ 6̐*YW\f7Nf͚ bdd$.]8R/'N-ZFJZx{{.\X?n0S#ׯ@ϟopR3g2cƌ7g߾}bkk+VVVm6̙3c1c899ŋNjN-[׌J^Jr߬owwwUDDD(,+WѣGˢEŋ̙3X{=@yT:v(sΕJ<7nTXQLLLmG,,,dц%GM>]2,\pa޽+fff2c 7obkk+{8B%+ :S V.Ko+W|'cҳgO}sҥ iF֮]?~\PBsN^4i"x,Y㱤FՊiF-Z$ĒN'8;;KxxQQQQRjU}UZ<Jxx<{,W#F[[[1c\rE's̑ӧ.t%}y3u\ެ?# Fr=IzQ>}իs<i۶2vX}-Ǐnݺboo/ EJťdɒRL)_TTI֭+'O/h%[qd,}fNV9o9{{{ڷo Ύf͚qq{5 /ѣGtܙcǎQFO0ft:&L`TZ3c ̨QUV2:M6ѥK47?~HXԲZj8;;ckkiٲ3{ocU޽{)PK.j*FMXXhZի666X7n̠Aȗ/qqqǧ#~'NСCYp~ :uć~ٳ2dfff(J2tɋ c%BCCӭ&R@9{l#ʕ͛'+YՊt=cxQϞ=f͚zͬH \!O?uΙ[L*WeNGHHH_Q YXXi&~7֬YC͚5Yt)eʔᣏ>zsFEE_0`vAtt4111?~f͚p}yGGGؼysSzJ('O5y.͛7QF'/p 5k'%J`ѢE>}7f|ZB3W0.n Kx͸|Y<٥]#fM+xq 'e˖R$"š `(KsEϠA(\07ndY:׵kרWɓt{{{ڴiCTT͛7"EPfMn߾MӦMٰaCN^2Z",,,YW̘1/gred^QgĉԫWbŊerU+|g%fϞͥKP%FcJ&7`E=ϿL h!p w;:ݻ4~+]&t̟??K])..?f͚ѪU+`)m޶o+++3fL"""gϞȀ2K߾}~2g166_~%OԩS'ǯ8;;X42;̙3E2qDpB` ?\A "tM122UJ~d…rA壏>e)[L4gJ4`kVLM<DK?SE)bN<# \vMlmmBr2% VyY`ŬUIF͛7e2`)_h4&&&!!!!~޶Ϭ\Y###e…2c ӧҰaC>'OYxh4-[Jƍ^3f̘, 5jԐ!Cȹܹ#nnnhB|oǏSj믿XZZ_"r,]T "kSSSTի'#Gu։o ]dIO4C@"$<:HD:ˁň!yg_' VkҲeK)[Y%rPfXEBE:]|X9{ҥK)Zhz駟&[Eڴibaa!`R|Jf$-Xhs% 333-ZO?_ IDAT?2k,͛޽{hݺ5ݣqDEEj155JѣGl?wPPDGGzj:v숍 ZG{n?κu3f .!!!Dpp0Z>}0c S\ @LL oߦL2XXX+>VT&:f!$ti0ƂE݅ۓR`:cnG^G{?zI㯒h8_0)jɗK?4_u h)[)/PAO^XXuƍXXXP^=HFҰaϟĉ۷/&Mb1tLŦ(o5KΝ;GR8q":tooojԨA.]裏С=4iӧO 0۷37dɒ'-йsg5j"^Wv)<==quu͑@"""}Vdd$;wɓ'ݻ>LMMi޼9sܹs.{2bogVnQ-XAٳgh4tooo>sLLLXh ߺu#Gi&2u];;;~gJ*_?ޭ[7Fg}ӧ.Çj mۖaJnh4l۶ gggZn͝;hHt5VZŜ9s;v,zj֬ɕ+Wxws0!,$84@tf>d~ά(E4AEF< jc댃H\DyN6kYHȿ6W^wgy d܊Ʈ]xgϞeҤI\=qYfSfM>3֬YéSqFqq:Ǝ=xu`)9̚5 F2e[[[wѫW/V\Y]RejjJ|xAW~ٳ'={Lq|֬Y;wnݺ_QDp -[Ç}v\֖={ҲeKΟ?4;wPF bcchѢ+Vr1sLZjK' 4L1 RV8t8bO9It$ⰭCÄN7*$3 Raʕ-Z-pcB|2]N;gffFڵYh&&vN'u%+T -,X!CXle˖Cxzz&$)233Zjh{UffflذVիWglذ!8]6qqqdK9hѢ^'&Lp<{|||8vׯϵ*:FN;w%Wpn&&WPQ8 Vz <3 VM^j]={lDA/t :ぎ /e23EA3GFpU\]]ٲe Kfc0{$ZXa6 ^k՚|dLD?(Eo쨖*AAl=?~?L o/`Ň68ū"?@-V>ʇyKTĂIMy02#דyix޽cǎe̙s&OLll&6}xxxp6l;gpI'NgѴiSU#ef@zE6mX"۶m8%;DDUPc ???B؞9s}3=xՀ*RzKU%[>үq?᫵5^\b Vб/8q1c$;n&X~1~~X8T+F`_ \ t}Ÿf1G?$((gggz茶׃lpKJ7(sssfΜIǎѣgԨQv1h V^ݻy19?~oΤI?~ 0yU{D3=&{ϰ;hh%EWhHy"h4')J'B fT&u@\4D}4wgHd/TR%ձqV &s}|,@ NlT;QP6U}st!afF.B\TLM*kD%XJWO]vyfZhܹs9x ӦMرc}_M@@ 4/dlڴ ''':w;*UbРA8p:c+W}[ ʾ}`޼yLvMC(U*ic/1O;/pr2grdUBp&^02K`Kq8E~CÊRؓ5E3FF0HB-JlaIuflBTFDRt?!qELV޽{:ujI&-X']6f0.g>0tܺ GB׍o3kׂab:U7GPŊȑ#twww.]J>}aժU4jKKKlllkkklllV?s={6ϟvڸRV-bbbիx{{z%KRLn1\y93<=R%J<_qXPP!vI۶ma8U.b֬ ⚩) ѳg1fϾ}8OKkt IU![ L5{O:6 % @IzyiDD\b?8YI*ei|&*2ǂocx?W ̋p%R]LLx ^AD8~8 ?M8Y ^A BLTY Z…P&3ȪU>k)XМgxn bż*`)Ɔ۷3tP틟_} 6رcxyyAxx8waժUŊCD>{l޽Kݙ5kرMMMX"UTqƸPJ{?m6J,ɹstڵhѢs=0X1>ÇLE߾92G-ZܹsۗN:1m4@׮9||n֯ҥ(W.5BBRMMY2:|rBrUl0cEo³hՓqFIc x)vEI> 0.~1qP2ep0ɟ=5$,02Zn]>Im#a:ź 3>̨UVjŜ@L(%,^$"|7L:HjI|gbaNܢ=+ٯX1?ϱvMF\,bZjہ:NN* 4HZmׯ\"  ʚ5kD%{}ŊH"EqڵKʕ+rJٴi\v--:DOOOYbtMYhQw9sbY>u*sۛ8@V {2]766N)Mt;ťGNHZ x xJNȓ'1^WZ?(D|]~Ϟ=ȇ~(Z~ -ZȻᆱ/.^^^""PI$%^b%\$;R£%?ѿJSX6)!+_ZFɓ3f?^ vrYmWs'䕪%;88Lv3թ, 4 &MɉAq ^zamm͖-[멶 ={kkk]Ƶk8s ͛7T7 g`ff۷yI2ŊI&TJدM!2y0vl<ǎ gϦ?$::5knsr:Yi'O&f/SScFϴigEE1f~6lfٲTx[aԨo$?\^25P^=i˻ѥK֭[3SLc4hݻwg9rkWK&Rz`>ɚkظq#5k֤89֟WB=W崃02gƒ&/ / `sxǞ?=}4;wNj(= e6ްaSNm޼9}a||e1$6&5Rެ[Q^GjDbP}ɓT\aÆQD Əω'Zjs'ND0e}]ƌ߂'->dݺu?ӧOSlYVZűcǸuQQQ 2:2ළ  H͛S#G|پS5Qf£V-jr@gРxzݥh ݻxf!f7nom۶бcGѣ۷og 2-}7SD >c=zٳ)YdBrėhmSFJi '<=k/P 2" %?yx1ԯr |͋x xrIǒ}^A+kY[WQ^+K1uyf|}}Yp!K,!88Yɓ'_0h Vu*T@TT5ҥKgd`A #G1mZՆJ\RŎΝs72bD:17.?|_2n\T?#ZcffF hٲ%#44{{{lBpp0duxv < *FoZ#PwV cHK@#+XSӄ4^zU1A%u;0$kРAj1' M!ObŊɎ=!Į^bTAT$c@;7s`L/qYEyݨ,%(]4gNȑ#)[,#Gp$111hZ#,=ڈ`.Y2+Uϙ3my'4%!t&EDc~wO-O|(ݮ M'1jh3g*Tt 6")K"wg}hEGSc̬.,M:nK:"q"[`ӧqtt)fPΧ8 dM$;j@(.N{>> 2cccBwsa )ʗ/-4 ?$4xTܓ<9 `d+[9d\/`:cRKL&,DDDpܹT׿(F*+$fZR̥0m5j˗/포N&U1/dƢc?/KC]LUKf*RT*R^{ .$22>.Ԓf޾};EGnz++]/kґǯG7wlKXkcB!(kEÇ)Y$7n&0Bq'8)U*[TXzb t/Yz_bf2nbe_nK'X'&&mۦZ܆*h`xDE8|p (O?Ǐ{"{>?6Cco- HI}i3VfaH:SN|TמJ7B˖-2e SN֭[XXpufϞ͞={ MԊU$ٲ܁ Kg%' |>;Τ,<>~'Si_ ,#uڕZj痰LO<D4 )T&n@addDӍ@BU ,T㡏i׋BU?+sLJ';wLs[toi&իE.XD)1 8Bf3PyKyc5 ###:n9'''FIr)ԍe;ZR9!F G`34 B~~ |)C)/;C~tm_ K.ͩS9r$cǎM6ly#ӍԠ)1'+WPn]ٻ=+ǣTبSo6PMINg`b땩5+&@ `ű Scַ`.AӦMqrrBDp 6 ~O8D<ķJ7hү &?vd3Ey]Ky]tUVq=y=a IDATFC5xbesRfnHDطOYD35s>07XN_Zl,a4h[7c]=_MR?9gf߾}\t{ ZЌ8bxHr ;aÆיk3/ФTeZ~0Ic=+x>P%8\ޙ}x*>/Kj ɶ^899-X;wpQ~~~<{LނX$+N;[P8*E,P=,ض/B>W((yZhTy-] Oo6aLL ;v`9rFF*W[֭ kWkLM3FåK:ZjiJ\FFQW0_BrUBuDB[?xEa] hq&RJ5jوOnZ6uڀq O\t3gp9h4Я_?f̘chal=σPQWK\,m*wQ]]G@ X(AkXbZJZ /^ ݭCA$Hq$8LFm(=u嚙s''k㳏'" ZЊ"GD:(O)MKHPd{f-X777:w V\WԍͣR!M|^^uރ_ܾ]p4 *|@%$)HK_|ʕ+#33"EpI(VJ\jԨ͛7R /棏>Ջref (uk*k$m[!\] (SF#<۷ l.FJTIFZ٢LQE[`A1Uh'_`t}X~no]!?/&MVZL4ZjQZ5\\\ Dd^P Gp,** 4:D5ؠ-4d&;*<sPf2d BTTK,a„ 89",99OO1d:^d~ YCDQ )E(D,[rŋiҤ %KݻŊZLưað'!!`m̙?|Hhh(<;v0a5nHU\(R%қ-@g.ČuW2ogDewNM` %>z~PoaU2Ec֬Y1f̘챺?84m2`GptQ-$Y9Ow(Ru~pNo}y w)%^зo_ O;дt$85U4UKCư,<3X.6SSՠ6v ? '1၇q<5 <[\O!}!{{>FdN`UF: [X]wŰy8$܎P-Q'e hxZrwv =zD)E mt-CZ60)| غ[OG E$+4 v[n,\zms`]A'9.n,f[—u@K.c/48̡C裏Wlذ[n7xE,yT߼wO"fn6Dz#˷&!AX^^^ذk.6nKNfEѣ֬}Z zu&NtGGWC G3mZś^f2nUҪzA"k!JTDCJ8#ąW)7V+҃t ]DN", CW&\ waߍ th Ju\TwvcqqqYJ*|'NW͎7ŋtڕw"Y^ƈ)WIp"*S$$QHK⽢Aj?V5ʕ+cccâE{d0`\U[#('r6O\1ÃM qʼno6mB3gwKT"\` (+ؘ)73:^V]v@Ƈ ,L ?8QT&ZXY<"> 80FÈcFfL.tBmPkɠy ?gspw&.β X%ON/?AՏj*8s ]7-}ǜsScbyaWtxGV:b(# ,>:uЧOJ,Izرc1O_H@\nǛ7Oիѣ'Ӱ;RX%FDP WQNJRy`t܅Jacʩ8Uck^<MT_Z x+P!>i.F=Xl+Wdȏp5VZ*#>>d? =`lA戇ga9whLJl:ORш'ݳg~)#GdժU$y8 ~!`۩qq<3:.aqJ,I߾}, 3HKÃݻwd5j<;@Vp?z+fXnc.4vsd՟62d8hP;f )@3Rlj +P8@`_!=l<,>Tv}OͶIIII&=zunYG|ȣ7aBLzzzZXUiLjZ3ptցg8N#͍Ɲ?=zйsgϟL&UoBTwdI&L9~ȑ}TD,Ѕb|հ%x Fe 0כА``{8Va_e+smN:E ,ACӭOAK#pyxxkp jXSp>#l۶`j֬ɺux%={dXjsϫѳq֜Q}NJ3A%e,ǸqhӦ M6eСȑ#ԩS6mpر|^!xaX+WbISu 9YdEJ]AItt4?#Ç7bK6XC0`=@M68r`lB^z*jb߾}?nݺѶm[υ Z*gϞGάYwzc9ehb/ :G -\ʹs(]4K,aĉٳ(*޽{iܸ1m۶Z C$%!è(.`b>LISgq–X7~dA @=J(@c}64I`[2Se}h` y RZDM&,.FUGM#Xpx:>s h1PlY>̭[h߾=*yZ'G'*w,'?ڵk4lؐv1w\Νƍٲe ͛7bŊ\veG 3ti^'r/r ?Ղtn~0,믿ÇUƯ7NRKBZ$@~`Y9V5>p< ݀-W!#F75Wმ0陱rS@𳠓38Ai%VV- N](0zUL*i ne'=_azpXЙqZ2ͪ*^ltS'<<,uDG H pU {e:IjQ(5s >czŋMllu(UraY_kh4ܼyJ,{=y޽{ӹsgN>Mbq I`IH#Yٟy:b⡐'8A f,7Vj35'úy]C{ 0Z .LN2` qC&U %pkl,Y%hAE&< $f|.l/Uuǖd2etPM]![`=}<&ǖ;s:)cGrq .]֭[9}BPܹ%Kݍz݊H ,e^RNIMM*/^3˖-7x7D>qT.ALtm7`CpuE/^ä 'C=yr ]N]3[m.Ƿ$\dlG{BXElasYhjy!-x-ͬ ѢBۙVbAhc -h"ǾUF"(x`Πga1j!N7>JPP'!# ƚHO%0PTaaa)S&4XsjωK+efl3 %Sbx3\ 97tRJ1tP[޽ˁh۶-W`$dZLo]N\PoOA`ɒ%k׎aKjj*.]"::T!!E$$ ~t٧YmCTf\ͥ8\̏!*6 ӑKza01tr3%qŔb rW ĕ5Z2,RA|CF]W) 8CAJ+gz0 Z1^Zi *r|2T-Zggg޽k:߫D 1ҿUi2a'K\<43{l;N87oXf b6tȃHBK8qnܸ-)Z('NԩSX+# , |֒-M3),J-gAB.-š&H(8m}ڙbeТ!\b)2kR>fg@,!@ll7duC8"OW;SCz*2@ŒEGq6X` @DD'N`Ϟ==%D:: 7(e~ @Ӛiw~o w&V@ KDђ* h ćlɀ{BxX@nl"%@B.Stb/aXod(^wcľJ[׊=PDV +WR!=Rq7\FTҢE ʖ-Ν;Ӻ<՟xQ4o5}iӦL> . ##I&s}XA0bر={?_B`IH ,l[c?ZFr{£He2_ϋw(nr8I%KAʚP- PPiLq1_N">o4}rPwA읠lME@޽`Ο#J'ZN,>:c54ʕܼI9>^`cj5ƍDEEqILg(r`kkL&AK9Nx2-Iː!Chݺ5=ӧOSre êm!%Jȉ NPҨi+lٲ6mX#8tc IDATt vŦMׯrVK3g~jPPuᆪPB,[]R|vD7%%˗/?$$$qd2pS]@@\ԉ{#ŕFAG*JW'T6A  ez p J+; ?>֐xjTl}<#T)i޼W)B`)ܺu+V0zhϦM9 '*T@p=ZH\'pd(XbXER~} ݻxL4le3xП\tbNF,s%!!!RdܸqFFȑ#d׮] &0c d2 r!jԨ ۷/j$rEJJHH)I`171>k 3WM(JOsuT;&ucVԤ9$鄎]7S+k< AZpa0Tnm|N B)v#{'!)\.E9rx^r4$҆xS~13h ֮]˖-[ؾ}5 #X8xn'+*q-iZ d[MѢEڵ+<}SΫ Ā8/#4v=@iF tygS}ME-K~sxqҿnѢ׮]{S6ޯ7^ SGNݺu#88ɓ'1XWBu)www+fA`eE)Fl퓞nz`FM3uˆ<騈={b6ÏXi/C.憭 AAAL>۷os=6mĖ-[pqqa޽(QI`IHJ7\(Cx ZqC'&Ug25aN#Zğ|UDOZ @@o-5pw5$<M&g)#vu'r/C! uo ?EtTm?1%X pرy`lЙ,*w}ǝ;wشi5.χ8c *XN`qB1hZd,M#PκqvO(7kuԭ[s;/ߟ`v؁Bk׮zSYGXp'|˾+Ox f6)\qacHK.37H%Nd١` 5)yg\4ђIAh$lq<兪CdTN+i=<Wnٕ;!;J7lK,waGX*k~my%]jf\*Z(ժUc̝;tVO=Sm5k֤}L2ZY֣󠊅8}˗Lp&/ԫW0"",[eSr8sd ,wkfbիGHHiiE@@{ 2$ f;'zۢ vG@ o.gwsDLc0kZI^1A4r+lU(k02KaZ2"LFWS2-h ЀMp2 ]ۘ %عC3&4Xmb#+WrYwr\6 &>> v(Z6}Ϭ7 `Oٟs߾}t֍kSq#t]t,ЕhLyڴi<|ku٭rX*TѣG$'oIG4M :Ć L?cַO'DwC "1c?/nݺddd=6l\vIXDX*ٯ s{'7m EШ(3?ԅl`;u!| ̧ DAQy4` 征@%zQ4櫷W ܎akky#pDb(Wu:lRbFE픪Kbb"[n嫯³hX[UO?QXaqH+8/ۖ7#P4: xc+1i$>sݻG`` 'Nd\ ׀dcgA05Ucptt4B'. M@ܹ3_~~!hN2)|8/ .M`^"͛73biԨ >|%w)%!O,k/:X~u ٷ_Yl' ]m#`z) y(V1 2"؍ɾ`j-<}A@-x~ ~nsԕˑ#GPtQ/ .Qυq4w\ڲvZW}jD?x1'Nƣ&mvbbBZ(vPB,Y_D`f/Z&E_$ZX`ggGPPAAA7ߐN:u(U~~~&)`CXLT"m˃-8꾜lEd'>:P{L&$"‰Oϋpc㍏|wuB.%j)8p6Rpa 8Zr !U| Ufіp:{#eJ7>O?FQbE~̠C$nU ,=B 4Mh͠MDN7oкukL hbѱdC8/:bҤI?fu>>>,YRJQD ,H(X ˗Xb6KGe͚5ӹs8%gžj&Dj 3S&D'c2paXup6X2%|dy!ΠAqJDGGӤIsU /x 5_Urpbظm>9a8 Ci΀̙ܹsٻw>lزp+P0 }>]V`֭毣~% OZ CB^~MFԩS&Y$p4[e@C$T[(I`23g^xADD="""9qF^ZԪU%JpB<==y +V_$$$$rx5byIW0WD,R 9;3̿K9斅>;/ ;DL8@Upc/xL2s1ZQCŽELM5:CA3l$AIyJ7QW&/)^8 b  -NC(W0GVJCk{]:5vh 9=kv)[4QN"7I.NɄ*9KΑ0B___5jdvLjj*_&44K.q%֯_ϐ!C դaI`IHH%\׈!̫}(BIjn%y+GN!ŞW-߾~{qQ  tm0`+Wdʔ)uJOV< .`n ~BPN㳸Zl S:3f]vs1 /8p?IHHӧ*e&l@ZZ#9T-t;]:2sNJ%2"ewjƳ\?ibLV&]gMtV~#/P`YcTH7ֹ`+kfZҙի3l0"+=بAA-ϻ{RRRxh4r0mFxx8W^СCXlLBjTT1~\A=hܸ1΢Ly.dKA);~[h $lM(7QpKfΜɓ'{)UTݝ%Ky) Ds\a繏qQ.hI4sc,BIu8F }t)-%epe&nMP C(:Z,>9 yrqq>>\:Ģ(:&MpƍKSC ek ]̓jݻgq7J6mh֬**UZtw']ۼAܾ}s[|bO# ̙CxxZԺ yrTJ$" CA^7fĉyb}_-ٳZ*˖-4 nwwMl}UYp'N;;;n> ?OM&OZj888Я_?V;w( r~]N>j(|;wPn]9wu*BGf[]~0j(,#R|xbu!q${9.XsIhh(cƌOO|^_G-?>ck-aI`IH$ 5RshE ^J ijt\M:=,DEY92 ?-(TimyOWs]#Jt>ݣbA.sŴ➊Ǐ3{l"w&Mٳg$&&ҡC,X~)̛M,+=X5gB< j5_Ίh߾=%)923޽;'O֭[xyyJJܹ3_/G9/-RSaאcr/ҠA<<<8<'!1o}ȥ [< eZ!;bE;Cdd$;v{>ӧO7r1=z0n8T?x/aiLXR<5阚U ߧXαL5w5s\>hL޷!>̦9"TQ6 !!Lǎhԓ;nL&~bQ퐚hˆ#}6 ߷T@kj҃ ']]c2[#Nδh 8???fϞ {eA@@?^@J=q!5kFr8}4>>>m2!x%2t 6x"S_yG%"ڨI'ZT¼2Ė`b,ԉVf>')Jls%_uŽ{СQQQhт7o0l03#(v:܆=1i& p13i VP+9x:1PrљND*ӟߙUBAQDTF*le6ً1DdȰŞf1RX!`cĕ !nP}bvݰa7oX VZd2._֭[91c,|‹ը].iiiV'}&h`v vͩk!+=X1zuW~nEۮ];*W̃yu O҄'~}ey= E.t]@(:K#xʞC *~SgpSA Ȁ! 8:sљJ`#y 䴢8KiLRء`&uii$brԣ3];, h.rbfM*d|*GS?-=)%ƎP $Fv9ݺuE\t ؿά_ޞ=z0~JJ\3FU(] Yibq{uWY؀~qLpr;l:*ً/?/tµkXt)Kf֬Y C=^{S þc'hݺ5իWg(9lKCL^eInȰ"e~[\p‘4b(d}PTtԉ5kְgMFhh(ׯ_OXt)N^zr+!!! R$ISoAX%SSS& aezpIZ$!!V HZu7 ߄{Bfr.FPY]5Zx֟U+hdaRn*B7 «=,?o^A.;++.899 WZ :U/x IDAT{E{PHAIG "( R ⋀Ch$m?fR6333s;=@ǏAsXAc3JN_l&9bعs,nl`0?;rXjU6l(N2E(,Fp. o[㮁W=xk}#Kщv4h&~qt攳+vf*έ셩+Xn3o!Xd]D/Ky&# 79mSTg޽l/_f&, k""մoߞf͚ViѢ-VXnnng@_|;e0v,[}ߗoBEîV҃\?oeCSO!F-\f.^Kv0?S ɆMULLE +&WZʻܪ -Z5w~U]%Ih  ~"k bbb5jCeӦMǸFK.ٳm۶=Ǣ, :H `YUX9zI#JO>fJ5LYrrS,Ͽ, 4/5zKuff&T~$D2׬F!CP|y;y?8\;wFvQt(or0b Lcsٴa Q'zl9Og.m\Vo~ps0<ب[Ȏ7RCQ3H i#drdB"?3?fWJhB;/ςM ޽KzTuIa(~S_5'Nɉ5j@ZZ o7\X%t֍ &f^=h*X|+iii|g,Y UFLMh5W4T]uIgYTj(oUr9b%GnbA]TnN>4#ߑsԬYl<%%=zpAR Z˗/V_9pR@RVjԬYFO? Ù;wUW,#"'&2H ㈘%wF'4;Jj.P !kL)899nه 傠Rd.wMڵ+׮]kਡ.Eۤt֍cDzsw6"ŷgFABB_5|dЯ)ͬ[\0^h,[fXdkZOvMC,ę Q%qG$<ٵ!+WfL8-ZP^="##ԩw$oH:wlVRQ\9:uD "Y))) "33)S0x`\\\k'{nVZEvGQBLH%DIDc@OG ,$L N/[PI I,:m!3ۛ`Ȇ2ikiK.%33 Hgvr`gVq3>}3j(i`prXZhҥK}'y^uQdMstܙVZwQ\+W:Q$Mhh+467cC"xSzּP\4 ޙJxRRX?@[_Nv\2wݝɓ'3i$6oL.]ܼy@6mJ˒0rH:vȐ!C֭Pgjd0C 7ʰ 5cpϱ&TZ7C@ҎdMN^{+oZhh(ǏgԨQir`}+<|>Aѡ$d]^d`4lrE|tޝ-Zмys?A :t-N'svZ``Ք-[@qP2+9׮.Dd'`+IrrS x5z}@Y: i|deeGv:88uV+hٲ%͛7O>уΝ;Rߟ_~OŊY~}^ɹs>s+<] =N<,"L>."DD0WeX5ϬCRZД!\p\'=+}yXLtߟ/_@=prEwyϟnݺTX}[-}}"Eџ;G.]Xr%;:?A4u׮ׯGU8Gz~䨈):wD,BHs#Xv`[_[%S`5nMeQrJV!G\(f$==j*@*d߿? Ϗ+ȵk֔-[ b y BÆ >^^^tЁQߠD%d+DvGj@FKI';,W`P;پGN8x81| BdَSOT:s1y2Z F@r6M$$QIx}rV7Gg'~Jѫ 㵫|/b'LXUnQ1[KicY)Vڼ.`rP3kmР}⳱i}6aaa8p k׮"s&L3SN%==j֬gW_Hnݞ=o+FX ω踏Lda"L#$bd7)&hV) 'Di!TҸ0ԣ,:9.s2lj:mp}@:ӐfN=3lt3mg. XIwIW-.P!"1W@7m*N"Su2 !N[Ê]ESA0?۩cՃ5koy,c|?4gm5+2*83r-mRҿ.o1Am۶jO[լbVYAA$k)B}D\^WjӆO A=J a Lא# $]1yt$ *a2dpJDavv9͍-[r5L&Gfܻw7x⿼*N͛1b <BXz6fM$Rn^ZFRNEE7^+/b'GDD.qY8B]QhܐxR4j'l!`/pgňE2HT[j璭3dC&^ k>]_suM0T^`p#05|}}iH+3-ե bxK>vi4 QIIĈM7%A?O."K:v,zΠ毑٧_3"XK@Z88C̏ی`[5P9̏e%*JRO $Dш`mi E6[.>QF|۷}͜9sdРAOu%ŋ >?_"@*p@#*Qq ઋp58׈Ei'vr:3cni#y4/RXWTh+w_P=A?kPJ A>D!ps`}h tV^yb߫U`޽,Z-99wf|%}}GE.]8dZߌ`΅+yq={Dpw/RݐatZ-YEb-E]fЯAVWM2R gr)=.cVx jx `xY$!]w6à 6(ӧlw,0L0o5kqW,x/PJ5q,ʒNz^LS*҅VKuaP  s |`gT\·CP_h<(l->|DΎ>W0|,YŠ+>|x q(KAo0|-<[t7 mo, pvZٗuqji IRjd?v0[h4MXRW*hռ2n"998q7n ""-[1c"3p 9};!CPըjOHMMeϞ=,7_} Pv4BB,_ @r28: bRRܕ^}?4Izn; u>mຼ@^(Fc3Xʕ{slܸq1aE\Q³G B/=C"qpVWP߲j Aazb޵}oQa\T=Cnyew'P!_Н;wvڑB5ɉ t)A+u&F11w\>c^~e:vH;t@} 6N.RTR(rDRu( Pul<+6v'ڢ K4 Wt `4F(!N }X `yٴi{o߾̜9yߖ_":T0BH_'͏8zC1`í͏5 v6ҝ>Rf+}^l eZ_#HHKuHˊ5k0`.\Yf4mڔ PfMуL`pִ;ƍU7!H[CBBߥ Sj@mfg߱m%^)Y`5yE4 G%LQ'^%/vF+g]v+Ax&ݻGh"f̘3F߿ٴiGh4̼y1bS5V,!lnE(Y"MyƎP~6|W<|ܻ`>#fvdIPM k'Bl[vJg$":ʖ-Kaɜ2D߀J!ÛT >. J1Qpϐ)͢QdJC`9*XRڶmӧiݺ5;w~s"&&C;99Hʕy7 $00 < bXD:X<@u*Kn Y[^8p.Af$[i gpap }16HJ6O7͛7LuKČ ԕ*Ύ]l2ʔs<`f&XlK"''\,V9ã￧ʕfbF;˗y8n(Oɭv|af3T*d{rZyC$LvR( BMBWν{صk_戾k- IDAT׮̿-ZOq`W0CX "r;1b@Ą 0a_0H#Oh s1gv^GjQn~A_CgT2CPJ/l}r$]6foφŤs9KQ!fR&J}2/y4"c۶m:ukR^=f͚%KpqtdΜ9{8::%(9BnqS'[0憦]~ZѐȽQبKPe<} Ühbw0ӤfەJc Ѱp |u_TWʅR]]1d &b{-ի~: X0]} 233?~<˖-cǎZ ??gz RPaĄ='(!VRěH1L\xH Hb+`4D=*ua-Cļ Y7AKEM>uZWĕ}Rih de6'Qdkh+6l]:tk_?m@ժUСF!jEA]h$_?t87mj[Wbj*d(:7=X%p,%iIX=ʣpUzm^R䵦}+v5ڴi/֭{+447|p.]ȑ#M7Cśx="&b GDEP InȬ'X% Hf\…Tdj  c2xNA\we A "t;Ζ[_v]6TiVZ./0cy ^>0e99$>9{-We j 믹|"+WZH>>h*8طh]w}r2^{H ,15>@z0jRI)?KϥCe)712BeRZF8E)K!Qn!Cf"m[fqqqtggg.^ /7C@;W5"P{ W҉\"Fv8Lhb~Aw9c(E[3 5Td1* S9?Rd)/E h i𝰻SlC߄GQ&n3[izƇIу3gޝs~bJE4V, nݸAÇ-E3IId$v*``&Kү^sjn)ߵ<=ѴZ%oJt$5[U a\cqkKVr<|3d݇hgcs.߰m*If#A᳠ mзo_,Y‰'hժSKӳgO8~O-&ĒHi$F%(Q#Fyv/ 58(Njb.xb$XVuvPpN7WZBs+-:1sw] j E C=`^:Qe­?@c'+bܹ X3|,N9~Ğ=9K?͛qܽTh4VKӦMj5坣Tfy1+ u28u* k|x"Xs,/TnK`rׇ_B|Xb"Xj Dr/?deeQX~=K,oy/PP("~Sٛ}yTM:xxUP:tg}^v,?|-Es}o[W˔Ic~ -R'Jjơm[DJ*UAիo2QGs+>3K Ƭ_O38T@y AiF`RDϜ]""YLz5 # %NeAqd->09֨ l`iSPk>} z)T^`=zZMpp>(̞=^{#F(EX ω&Ԡ 5,K"8RLSR PS {n CK>2 N9k=Zv(|8G'Cm/~$:Ks&'' X"rr+wyy./\m JM޽d߿czz\r 9ʕT.Y.Y/rD';2Nm7$#*ru> NgY.BQmQo>^\ IT9bOCѣGbҢN>ͥKؽ{S݋_FH C0AtQqD! $ݰ>/}5@!PvdIX jm. 7ˍe}n盍W@RzuƎK/2e(լn>A҃H !^vs'n-;p]d$VK={~=5X2 ]1>NW#:a=ٰ(˿oSa^f>^EIx踩&PbEҥK\2>A#(KAo3hxϝ{py&l[^n<,Dns`?ܱej {^/0}i4/|ԁ4ݛFի O>\x1oYʕd^`oO (%X%O-hْKŬkW~~_{~ma,5[jAbM~܀`_,ApIxX* /6Eh+P+dRJȃX6lȑ# 7GAAْ &!.LN-:iX; ,z(e ^j >ZwUlbGawGk=(S f,XsѨQ#vڅ!)'PvX*UŒ ;wY/ J El$o; Eґ0nv#ߔ{{l lb{M.ea\#tk{ZkB'kS ._ku:3gDR1x৺(KAAxDQrg ]0إ& l-ic tq'hUÔPuh7\z'ܽή0Nn3#o%kV2_ܗ/G]a2礋 G֭[ٓg!!mҔ85@ܹ`2Z.ۜ[ի`R%\۶-:Ӎ눡ץnٚ*4}lRBw %lt\R@)d]4i€J&--yQR%-Zz Qbx 9AwNz9x&@??A^u!r$ "կhv(+y|߃?Z ߬p<4hamcbHA}ԧښ5-h4[W7g𯿲hh\Kf3e7ĭUD{0 i*Q-//=XJK [%4}D9V|۞[Dٿ˳sЩTf P:taÆѧO˜4iŹ111,Ze˖A?~<5jXހPROQ{ ,T#`RE+'5~ ".Z #߂3ԶQ\+( >[ ͥ{|jEE /Ev6^^溸J7 8ۭ9\F"r/ iDBDQOZ^%\y?Va\t9\ ^*r^)&7M&()^^'ё~jժ1yd\\\h׮ddd??Ve|G+WB Q¿ #)xtLd`$G&™56'bmp/GH?kK>ʿ4eN|(G;G`3~M]loyJ>m\R }jTw&i>L 0&=U?;r0?X@ z⥄qadx^q{hÇԉ'O9x*b-_Mɓ'ر#ys.Z d09 U{N6<CīZ$TO%'O&>>>:>}:F£ %ERPס&YD#dbMI`J!c;$"W&#\;I^ A"\# 3I @wJzT -'bs q(AMh2a ׽ڻ7fDEE{iDb{x1ƌ ˕tcwﲫukKőEjs]HSS9ީ98ZV;Bƨ*T8wgRzq^}Uԩ.> \Ifڴi\ݽ;0iC5Bz$\77O[_ 3?ZAX`Nɓ0(T+ZJQ 9b}TU @[o!ffQ/=h$rLtD-Y; ;;;>FSo͍ٳ)NJsxhǏ//-"mڐ׬A뱫PRMz=z$Pz(b,2,2曈99h||w:tQF޽;2rQIVXؽ$XYn}/|f.˫]~j1>㩣WQT4i҄ŋ4h>|fQP("TPpE qgq‹SFO ;Ia9ܵpV5[kܑwv\iR$KKN Ww ם /M%X-ˑS0d&gy Wx$Bl8YEΘj' ub29фL9SPfx+TXp!cֲ%ǻw'ajIzwz{Sv0k߿Ϯ֭Ix'"+%MCҊ(r~HKbƥy:r S3|-/d8ͦ{6fر2o<+ÊR K"rӃl; zTc6A\gR_g(1b[l}>|{{{V^ÇU3B.JKAo #<>:"9/ b$xLN= |'RJI4܇Avr|ʆjVEŕ!tĕst N2`$j2L>Y2qU؎aN/v(}9iӧP/+30IqNoL!) 2e(yCƍYp!5#a)'HN?Dğ$ނjGG 8?N۠R5dHxYVnqI3RI:7GC 3k16?F}p_Es SzbM '׹k$*[^~t1rj$DDÔ)S8r{Ã9s$[gvر s"bA$I20R'NyTR0*ntƍ7PsҞ|70&CtH[ |-&9 n.CH @ػfnua^E1 NȷcVekH>ӧAk E/ rtEy/rO8{6jh  Z59xtQQ]])7jTǏպ5iyթJg8S'j!BnRzPg-nOڴYDERP ]7©lh"gh:i)}R ?.99C&rDʻVnk]cpZت| 6l;CY|9'OF1gz̮4۷Ν;/ou SJ JE+#tqqf }{ꅅa33 NDDAqfȩcRf 3q#~͚a&@iK֬W_d4t/NJdGG-"{1!܈0֭I?~cJnݺ1b֯_O^`eHyvtرcٱcWB ҄Z=.Bl+ {@rD1՟`]roF-YӴiSΞ=K7-[cjJ8n{(5R(}߳d7C3[ XҌXcmRH)iu=7P1뼪s{=z>}}`nnNJ+0p@(Q@%+׮]#^vMrLfDMAn~B*.su766$eXTu>:w3@x9p`Ϳ/]}|ɒ$'gZOVeh(p8)ǭ Ϲ‚^7[[ `o;k_ʶ^Ǽ&;|kձ$IIؿZXXۛjZ|']&;Ah'N\r`V8tPΟ?vVcϏ{9?~,}O2իW')R@`%X\9JCͥKÆ cǨT*u{ICCC… l.R @4;O2b)`D[`p#L'PL]tdҁxQl,M`XwO3$ IDAT`ݱy!Wd=Ej@jUV,XU\,fK*۱MĔhB޽xcƍظq#"##u^lHQ9X2Lu֡Aիt2vufpT =`n6m͛8q"J,,Y]vE,ܩj @G]@نs%I[t W\AƍgϞgϞի\]]QdIX[[]v9ު}?@&᧟~Bv`l5l{EXX+AR ᅥk@!1\Օ G]=J3AR=ViYv gdZzޫ.]5?ڷOkC$5 ǏO\N444dmW /|]Ӥ+W?B}~ZD[a0???2&&&@c9X=k•?sϑF]z-mȟ|.qqqٳ'e2tK+VȈ#G$n۶-6 &!2۷g׮]ɢcV+/GLFޤHV^ȱZQڂ|qC.H64W˒$;cFR( `ҹsYyuO`ĉL oZN!̜ɉHl1edduHСɉ*N+WFNw}ʕEɓ'\b?"Q_aaalժm |\ e9$O>ק!o߾bZV`mjI䱉} ԩCsss߿?K"""i&`xxx}Ҿ}{v-2K,L&={ɪcV+/B`o1#GE&YQ𒣣sՠ5IIڶndįRKrZi r9>`KbŸ`߿fff5jTk]]3@9͌XV66CIrPm잺Sܲe ikkӧ$\XW˄ ]\\{l?VZFy(IRmw^:qh8`ٳa.I1f B`3ezOg{m?Ȩըu}ҋc3O&*>o:mm}|&kڇ $I#q#"A͚lРAE\J/^;i(=1QxbExs)^ CCCucgvv9yx,Mw)FT Y\E#I8ЊFd\oرcGgfkկd'ئM=zTwNVu422+W2ۯ_?Te s=H''')RDoZ3$$D7}%_旹z1+ψU/$^ &%H#34cI)"dd&A!WjmDkE&SM1֩jkf\-+ƧT&~JW߯avؑ B7>*TѣGѣLJDLŹfgΜɴ|\X ֭3@_=yB7:wҞ$I;v,e2߰kI[Uٳ)Ikժ.)A{cƆ: n/mD#GLL:R溢S}+FjL7^9]ȑ#_fm-:@p2Ru5je2]v\d VJݻ7ICTTlիN:ٖ QQQ`˖-7n---DFÖ-[5d۷o^1f! raL%&U|J r@6,cq6FFE&٦W-ɈhȣhC_!XԈu$c"hU}Cݒ#>/Wn)]X~}mdƸkd.9Ee2Ã}aѢE FbRBF+oosPkݏ۷o'>{,OHB!g'ÃISN gΜɪUR.W^YN fxcƼxS4775jD[[[wss4T*O~,=z4k֬N)b;B`3e uG0u-=|ί4S$d"QՌ/IM&I?CNi⬊w"d |F.olLF^']⪑ypΞGT#]\ R* .Z(ۺwBwea{S$ߟf8h 2Uz,26*ż֫Wvvv cttt4;Ǝ5jnF;w>|83$$DOvڔd0`/Ί+2**u̙3666 Ƭ#V>#^VANQ31ܤ'<3KJ*2n? caY8y<,UX2!I)Cdx+n ' Qrϙ@NՊd@^ Y3>ni䔸YN=ݴIμ0v,trV>]RR׺p;$Czd2FݺNΝ)X ݻum֍;uueRR?~L???^x:v"y#Gҁ; #* bvE^RT;;s{ܣW,bZa/^Wm۶ң"WT1qYT+|gβV`.3doV` eɒ%YJNrøqz1bVqFDFF雒cРA7iYne2UHcV+/ #$j@p+k>b,Ce,)%!_L!Sd\2dHe/׫}Lȋd+b4ONԮ|MO~ Jtbu℧ҨTwoZ̴izֶKclٲ%II<պu;7lHl߾=_mew7kټy:q0j4n`` {3a9T/[ڌKʂ\0Eʕ+)yʙ߇/h@t͛l߾=N: AִL8&&&6l8\Nٳikk'Sܼy$y/er=%.cV+/5J31N VCK3E(i)5֐Oꋪ`23z4 #NIE^ܩHW>ȨcmrnTq'O⪧34֋3f.Uȑ#YZt4II ?>r9}P& ft1S ŋ3suj`hW -[7HtMx,uׯI i4<'K>6֭\.uy< *Ąg|RFZuJ AdzUFqBd'wn}jd4ح3ݫ2*Jѩb).*UCWn *E w9HlҤI\2̌rz.3T*K33+ƈj֭[uM_Eܹssm"Ƭc}u;#S2Q&cԇ(),VCY) tY[ɨ.`90Xwbd)R7 (V (.gz@ߟ&20CBU2PS`AuՐ?uE+˗/_F ν8tĠ vYImpa^]];< -ZFo_~;_aCX.G^Aaa_|ˊuoRS5k׎\ӤId _[6d͚e 074%EH;PzҰ!Zlٳgc L.øS6Cg!ןTt6 6(G' JH6% 7affݻw03L vUۃ>mM_ Ǐ\.HxcݻwΝî]P~}$޽{ lmmaee_VUVŋannE.\A Ѻuk?~}]UP(X}C5 xM<2 T3_%s$!v?RIϬ׋|I4YdI"is\MH0ߌfkWf?=JECCCZ$ȀNtV>57RFœVMERϤ/sO?GFy<r LL*1Vg,KI{WǏu(cbCg6z:ՏFFT|„ bBB=-LLx{btޫx[$믿H",Z(u0sʪUhhhtBYyG|F hhdz6\gPĀ `99W&""{MJ{DdؾsOml^G6b?A6pŽmlr4t~,.֖[7ڵӕ>e2/^!C^z m6x++iիgGxx8g͚#Fpĉ6%(=rۻׯ_^I"eXؐ7))B?U}z8P^iF`3$ǎ+MMM ֩qe@Trر}HQ.IRdhh(^C婟0N<˖-[rիSN߷AYyG|FD޹JDّ]J2(&Qsnu4t ?usĕ_Ęqכ LKs+\agu5jʕ,11\lk˙͌8W/+:$Er+˖1&4'&ò yXσ+soeRT&Lȶ? [<Ď[0%'92{uQEՃ? 6l t1iu(G#9YSNuOKVRח>|xɮ]hiiI[[[zyye7mڔ}wXxYmCok&J/^Pٹu:a`&-Fub7qu.]:y2:I AqKɒW^|cf >y'&Mʶ)S8`]ccĉ|z=)޳3fhWK39e՛:0Ixi֪U:vfW( IfEh FL&EDӧ &Lkr%%%@UV ns/6{vb%TNv|0o`ڌQQQ|+G?a€sj|BYyG|F|z}!~GA9SEUcLbctKL븺]NɫbRLLu$I.]8+2)66>ҲՕnܸ1NEW-KUbbvUꂱg)m^$zquk|xY|y֩ST߾V`;Pn|uz`6jDRaLLn3@oشiS^r!,g:} Ƭ#V>#^VAAHHU}87TA`DdAp\\_\'c25 hO60573O$y6e2xޞʔigof){uVoؠ $x^w?*/_LOOOjؐ&)E9/!2K-,ൕ+,:/Ԁ˿ [ؘ.\Ȳkuy^Ͷ|@@---٩S'&͞ސ111_>aդZwzWZip|ZK rg}FGG>;v@Qre=G+Obig?BQcȐܹ3T*N_:~:q(⮂Q|K(zlhFsssќpirLŲp.53"fM00(AUJJɓ'!AM0$Z#*tPЦ%=Ji[ک 2&q ,t7g̘;?PjժE|KYyGE(FT@ $x*22 z6Pl]|Y v++O ޿\> wµޭ 4cjҽH|hNtvqHj5n'pE.!##|޷/ONoԚ6 {ȶz:ɱR-˲}a޽(%a5YzwbPB3QV.#G`kka͛Ho9JWrTn݂*cw6ezNgH,N2aaa=z4$I+ʕ+LwwwbܹpqqA߾}sd:IƜ9s썽! #ŋ A6%4/D xPuy@e }GML8JuxQW&@&2??( ĩ~@IBQ/e.']' 6@fѯw͛{ܦ (I(ߤ \r1V>;eS#'*dp=ZwqqqHHHY&VY0Mtس65nݺjժe/~K[κ,X˗/GTTƌ1cƠdɒWj5N8eˢDܼy;vΝ;q}!C (e̽{Px6C B` E JJ4fm6@iPg < 8ZޤPi`nzh 0+ $DgF{H_H&mxm` zh㭊f^>$(UrѾ wȠ7 'L]J'`޽04חZ^,*VD >ep0NNh4q"5ne͛7hѢ0aC O?(5==NLDQ{{](0A||9Xf 6 񀙡,,-l2s`tPРzdZd2ʕ+rʡ{S*B~ ;;;l޼VVVX~={رcP(;v,Q|Ǐ FUcsA'ȨI?)e-%Ioy@!+[̪)֐!wr]M$֯=4*w2fU|<=>I2!*wWu^1<28<Սw:tm2iI"$I|l¦MK,iӦ1ClڄZb޽sM"zT*`ǎ{&`F=z{ދ R%Kښfff\~}-Ƭ#V>#^V oxxx6A'ں%I7l@ChhhY7l؀0lذ!L$ /Fڵm6/_Ǝ;py@ʕQh<E " 5kքۗٳg1~x4k dCe˖֭֯_~t9իkkk[= pwwÇyAbAh۶-VZN:+++@ll,n޼ۿPP@CJ%Gz*:uF?y.2f*U]v^WbÆ JR)ڵkxXp*>DӦMCs/^3g|~nz/`o՞ o%>(^O1n:*U ,/+Ǡ2eʠL2pu҈$q8ppppxW~\ xIMРA ǏG*U[1Xȑ#\_I=z]v-JTbʔ)0661PjUDFFBRaʔ)-^# ;wIIIhٲ廿J͛7cРAyW-ٳivX|y=B` FgϞsmCjGVnݺX|9&OKb̘1w?v=ު’򠰲l2DDD`ذay?m4̚5 NNNzj###( l߾>|8z}ARAK |0߈@qih4_z?ϟ?`ڵܹ3֭ +++4o$ ???x{{cӦM]ԩS駟~~~?>ƌr ;w舒%KH"~_pqqSڍCBB'`ڴiYz SSS|+WƮ]\r|2}J%wnݺАڵ+wܩ#Ƭ##'x^zv֭[|8'_{nә$d)YjU^pS$''댊ʲ$Iy&9W266-b%P(8rH?>۶ Fm۶bŊlҤ NJ777(Qy~._z1+%W\!M;f]PK2VH>zAAAgƍ78j(ZXXP.Օ<|0CCC߫` 7nܠ 6lXЦ$I}v~7OibbB,QwM ŋ3_@޴iSΛ7O'F /(J.[433Ew7#^*Ƭ<"V>#@̟?2)Sƍy'%*Ǐ'*U3f`hh;}J*o޽{Y\9HgtR:unnnիRVP_رcttt!^՛DGGo\.gݺuyjOYyG|FA?F7ҋ/ضm[pҥܪ ʪ34h[n&MZj9ggg={k֬)Spxzzo߾P(mGˇA 2`xIX1j(DFF"..j8}4t邒%Kbرc^Çf͚Xj,XK.O>pttL0صka3I5 eʔ3 ڜB\.ѣqmԯ_9dz_t 0(_^v?~I[nqܹS f͚ݻcϞ=5k)&((k׮6$ T(,R̙tĘw>? X < 6Gd2T^}Sŋ8}4T.8N:kkk 2M5O?-0Y&6n܈bС7o?#11(K |4L8ؼy3 .ĴTRS5jQLfm۶)&00([lAASti,]AAAҥ `b-8k.] GGǂ6烠VZѣ&M'''-Z^^^mVHNN$I )hS> ~zܽ{SNE`` zmi,B` HL6 G.]W_I ,@ѡCnƍ۷ ڬl[[[C9 >}:_ 6M`dA_; oIxx8~' 1c`ڴi(ZhAzA.cĉhڴ)*V.&I?=;J(+B 055}9sZ'&M/"Ƭ#` $8p6m‘#G`bb8q"J,Y}𘙙aΝ6l d([,*VONŋlFW 'O~yZh &`իi @ (􄄄;v@tt44h+V.h>*j֬ ___DEEڵkx!BBB`bŊ8|nە#""te[x1nܸoow`iӦXd i"@ (\~;v\.Lj#''6ڵU;;;١yz8ݻcƌ?4k׮E PFwڮ@% ->>>޽;p!1 ꊅ bʔ)^foÃpQ_'K={>C˖-'g0d|FFFHLLDbb"P(`bbccc^nd|E߾} K :BBBп7nLM!ɰn:b̘1cccHJJR$IZjpqq pe,oG !A~9066ƩSLj5J%nƍ]9C,@PPX~=ss6Gdz aaa /^vvvhݺ:INjicAFdr#,, #G,hSL&ĕ#@ (4DGGcڴipwwGZ @ 3B` BìY )@V,@P(uVZ tm@ ƒ% fBJ_)@% Ϟ=C&MDZ@Q @ (4,h @ (d2!GXP @ K  {w`DatelNX%7KPֵ!7'&y;X!w!v.K :Ϟ̃IDAT5t:r!6fY]vX,'D*pmgm6Z5NkZ~= [_5 CM&cqE`5n[ h4W/Xa@Xa L` ,0&@Xa L` ,0&@Xa L` ,0&@WeɌIENDB`././@LongLink0000000000000000000000000000014600000000000011216 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_rotated_pole.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/quiver_rotated_pole.pn0000644001374000021030000053111412520135745033705 0ustar itpeavd00000000000000PNG  IHDRXXfsBIT|d pHYsaa?i IDATxwxTE{ IMRH/*A:"E4A" "Hޛ@=@$@BH^ﹿ?@{N~(RvyvvٙgfT$ AAX  nD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% PD% P_uW/$$鯺 TTU7C'`BBBPrW A)" qƍQZY\i *d# D2BFK,&ĭ> Zl.]Zj LpSY*͛7ckq`#c@}ժUؼy3?3g"006m<EaϞ=8z(j5ѢE ?_~swJo&~,C̛7.\ȑ#Gb~_ DXY=NLLD۶mѯ_? 8123 prW;OAٲRI\r D \HgOf77{T{{߷D}@Ŋ١OppcD?ER:8cԨ~cJOOGll,*Vݻ`ƌٹ?Ա w,E^ c ]`vJgGPPz%F^hsg38Cb%2(F:\06N?wlI0ae9o2 m ;hS(IR}l۶miL(s2 ٽ{w6jԈ$%dVءCyH֨Q_}Շ隬/[jqqqGܷoyKΎeʔW_}E|YbWaذa,RZnM1S3Wdɒerr2k֭֬=KW[MףɯFۿχ+Y9ys&ʿc_E` -!PQKq4hW|O®¿D04vBNdŸ.^ dg7plذ$w6?*iN;CF#玏ڴi?׀0He;v˖-h޼9<<< {{{߿ڵ <|nAw_n=Xb޽sPӱgTXQ~ub0 yc98gܹP0 8|0V(TB WUʺ u$ɏ+b4烀L6 ]"CP *KS8p ԲcÄ! rKPF Y1$~5jFmV֨h{;4 zZjs9n3I R hQTt}6i7ۃ&5ʺ|طosصks\$0u =v6@tt4Μ95kz˗ŋ1`4nA11{9Y+?"]7c!w(V,+i3g8`A bɒd*H5~ Y:!@VB:pu<%۷SP\\r VbjppuÃo:8q#G`„ D =hZ"KgDEf@8Nh((F*&<.vr%J(R)Ej[vǎ3z*첯O3]n՜lKVٌd <\r>$IգOnIpffhQk&.oxHN& v`ּCPJUFu=Pc'IAʕ1rHCfM*-Kƭ[tJF ;v`Μ{KGv?\\,3%9)SڵD)b޽+aڴ-xyyC#瑖f@Æ%аaItT1ׄ-/~~qXUGe`m-޽T;Vѣu};jԭ+XZ fXYJٽ\h4 I.!00h֬?cʔ1nhH`l7hl|nW8<) 6ޟD142s\gL8FQOOH" ;^S$~yu#&Kk˖-˗?wL}baaagnC[޽{ QQQ]|鏊F FrIl&Rimme˖$\B~:z=oݺ={pΜ9ׯ .LWWWΞ=ӑHΟOKx;c$Ih3$qx? _X')w8lX SRdő4%q;e&yddmNbjըRxz6h%9oܐ$_|o.ǟbZ&-Z졇J ᱒S^bZ_ f6lMOgϋ WpәYEn+HV-{rd^zikkLf&$hY6 dJ&$2wzfJѐ5gGȐ82'/ׅHpO'X& P L_.ssƌCZcǎ$3v26$ٳr;vț7o7ZF3KqԨQnݺ"0Zxlll, .=zzgf_7y+""s,YB 'I^vXD ZYYeºucllŏ7o&~6lnj#FpذasN׋_?_j*ԩS7nQS ={yVJ.+ohZ\=cD?y#F_*/y$={a>!LI[N#HW$8Ҿ}{6m4ud>$? d5$HvL> P ݍ#AEC$XoofsMfi\_9x6mD?h&q#t׏˗h X|yZYYC-P`$/VxNbb*?csϞ= F _u:z?#yL! ]V5|;GYDE-&jC (`nD|2{8Zt^rr20bH*b#|PPn@֯_~CﳯŰa0l0o!wh uի]3i^ FDDRS>ީ?o9s~z/_cܹx6l2e a":g4PAVSFht)ZӧO#44Aw4n߾IѣGZ$6""BBR~kE-F&p=jll...jɫhSڵkooo*U .+ĉpvvFzcc 4 @';Y <{kci.%}}!\ēKdʽD?3xSPGf$NH6YÌIE+>\BR_jժ7nK(AIXzuۗڵ+_zy\A$;OպڐKwZ~7gخ]Ci7nټy*DVLKZ~Is:1c1#OKNֳMӬT5;I/ | uF?/k29aetW[I4Ϯ^un39YY1I<[^^3"뮞a!jKF?Sn:o%z^"zfu8F:Sc9#峫ƌҥK3Yx.2Kfǿ(.a͹$h7e%XL& Ja2@8$9vXQRLrl2Oƥ)v$A~= Zv΃اOT*VT_tsǮ0,^&۴Ij٥K:}t:36_W̚5Gؠ7 o u,a6KRe˔D`%ŋbI$V7WXJ3LJ7r,_~;5lڛޑ 3k<&M.WOZCjl ÇG^{}[~I~1~=ٷoֿɬg'}t::88p޼y9O #^&TVI~>I)#%{#c2H1Nu!7 Ldg]JT6yCY׫W={|z eʔ!6k,{9s/]\KɦI85dšJ$́d?ɯH^"z=N^d =`2*eýlA|Mzz:j5Sdt$gn{GieeիWnK"5\Bo(oiר0&0wGt:vԉܶm[Hy>}!JAJ.͎;25UaU@~VH+++zzzzJ;wtqCK Ϝdb$I>|K"f>j*֨Q8k,FDDٙ}5]HdʒH/H'mA$f 2Nb!77ӌ`3FMT I3<DZ_2/_RղUVTTtrr;3]S]O;>>>ۑ@ 0[q'u,J;0y}Llْvvvܿsydkd@e$LνDvIFȘ\{RɝɈ\񴶶%K,?\Bh4rTLKKhFv9-ZDܾ};I"`5{dIYkhK=z:$MY2M$X`~4Mʆ$Jƹſ̪/iӦq\WxYQ;H8s8g^ȵ`c-F1##ƤIV>@ G %l+y/5#щ۽YD hQ1N^DOYCF+\]^Wtlڴisܹ`x?NNNtsscdd$5 mllخ]t:)®]Z.UGYjH^#"z=~38UqBCgy빖<,;`*Q ~/H8wA<;BV%yHU+7|w5p=HPEh4n&؍3f7oc'_&Q|^+ɉc4$Ib~,R=}8}tn޼W\u NJoVgfΘ1jڢE"z} #Ro"~2Fz=YLFz9 ["̳G~MYPe0XH?>?U>!#D eqR2ڣɽ>-L&8t<3?Vcg (33*UaȚ5I$fUr6/|iSN&ld˖y%f|pŋ 8p%=N^$Ib˖YYN/+,kWjuŋ̙AM&p̘{l,YA-ZDJŖ-[W^lРslɔh(q4ۧߦRB5)Sɰ0r붬!CXxqd2C@Z[[Co g!S'@?_œUk"W VvU`&T$Ykk ׮]___W: j @D'bآLox(Xgpp0TcǎYfy0:1bbRR$D6]nk6655X-cG^PI"44 AL-ZGrǐ$ƍLr WZ5ԭ[&Te1ӧS1kVk=z4Ν ^<Y&4hCĉ$5Վ8{ֈX Wp!ŊCşoѢEa6[a`b 600d-ԫWݻ7뇈 99ǏSv`V`垬σ--L; - jxCkF]erκq/׫{N]^q'bW/}(2SHΤ2)ɱ)/q2P,-Z]ҥKVt}SNq„ Ӡ!֭%>Rv"<BBB8|9VKgggN>쉂V$y=:::֎Z֭.[8n8j4-ZRX?dW l۶-7n̊+Ekj5?#nܸ˖kٸ Y<٦=w'N',|'c$2L[usi|R"|}rG$|m8QA+8}0B؅DS}'a>v Ma`8qb`cccǢaÆhذ!<<DNOHG*kFUks"0%tB4iRu .Xs̡ϋ?֫WۃXB֪U+{M<իW9x`RQ۹BF,c೒!dDC$Xo7IIO.{L=uj|Fr 1I(lK3}yIXSeQbh#$8' &ٙOKґOv/*z(ɻI@lR(޺u+pٲe/!I%$j7n+k?d"/…l<͛DZwDFD<$!!e˖%V^=dz|8Λ-[xl*9T[8ʑF֘)ISŞIԑUɨLu$I֘JrLzTFv-:;;{/H v##? 'dfY8u:ΝX|'9Ii&zxxp7n޽Fw؉J}ʕ8b|`A$u:˓Yaó {ƨ(gA=<p _z{J$I;6m\S zf3ϝ;/B{)?ٓ$w&qVeˢH}*kq#dBEڵ+ϟ?Çs۶mٳsqT3%g9$ܙ몯E .ǯ%DB.DM_7=Un6Rfz>hf3zJO(o\ϒ;\Tƚ5kߗ#FC"3fddZj|wr żHأEu+!!c\gLl޼hooσ2--666[.[lB m۾ܻ7f=dFo;8vl ?2݋%IWcNy={^ڵ2$Ο&M.8D+CElf^vv.tu)s۶%JԴZ#GZTgF#3j(YCc4KBooo`ppE15d۩dȯ~ ~hƫCdęd %O49 "zM dU2d,yd`E$DfѷPܦt*"PRXCeŜ|FQύ *\-'|M2TRjAYx1j5^uS \RRǎbŊkԨAwww6jԈ:ub׮]s$XdT⵼rBҨZ>$FJuh4eK2-+V$pӦ$FFϤȦMu[Wˎu|Pu ubh9p/VG72H&39i=l*xjL;d+doo31D .G%y2Y6":Hf\h4Pt{`CFrz7Wp:)F=&^ bV45nD!$I^[<hٹsg(\={6X:99gQ|weǸM;F^HB)Cfa&kQnfEΓ8Mn`>2 B@y{&6Hu8؜JUCQt܆(~(+>A&Ґb(h(T8 a j*&t{`g{ENJ/tnfjoG`,-}719c 0P<>_us舌 tׯc„ 2e hD=Pxq,[3Znw}Gv ų.+IҠ45ÀI@bTw¼8+u0` YW+kFY y:lN@P#L85R- $!S- h(G̥hILRaڸ ۷FBcHq۲Ci'7O[*;_!j`e-_/`1o7U3Ȭ=I\1|lܸ4hF2edsBfD k(a''vDGi ZZVDXY-,K-_KƏ?v"$ܽ{7n@|gv1 ж]%.z',!۳c'r,:UbaoIrEpE1HMLD5L#O۶5yD:`%>E{T@%yV*9*U#z05 %6̞+;F`~送d-03 >˖ZmyB W&75ؼL_hp!8::>de ؼو˗%TnkP رcoߎ .]f€PP&iS6mJƑ#i0{v)-k I"HСԭ]ePӉ8|8ܹ8:t(…e"2R727%ƍSO|X*в,.BCsw^l޼9;JMM;XbX"רiӦN/H* ˖-ûヒvYԎt-^" p緢N"I azRxr"Ȁ g2ʒd|d7ids. chb$sVid e0oeCFIyIQFӓatvv^L2С#޽ǰii\x9'Mʕ+ *>}p߾}y>ߒ$矣/l&7n_AR$}ݺxӜ81!!H٨EXq,6j2I v֒NNw|0uȾNؼy4˗H ;2,LkU%%4!==ɵks~yZ[[f͚߿?g͚۷LK*($"L"?J !@,Xh9;oߞk֬u/Nq>y߬v]v irҪ7g2]GGT&6r wJ(qn(r}!B mPC}Ƈ @308"V|1 8?&pL0/eQšSX@BEx,lI8uÇhݺ @Q`ɓ1w\j ֭Ǔ:uMzT^wSR_j _~c|||_5v fO?s s1)y.]5Bj-WԎ:CiGv W)%7 eCK= ]ra205ܹóg2**=3<}4hmm~M?ЧOVP_FGG~X"32-^8PBd2eXbEGh^vfȝ~HK$[%~%띉ׇ,F]ʖh1((Ɉx`&Y&yQ{ ̐ gQhZONN޽{~xXQv keemu F{S@bePZAgő@YV:Ǐ? 6$%KD"E]w< e܄l[ot x0.|{aǛb{׿8227oŋcÆ ]6&M QdIDFFT@%ٜl+d]S pPMm?L$XBzGH @ew i_%~\!hL< :Dc 09M38(P0UFa8+J$IÇ1_`0Pgk,D%AXLM'2coeUjf XtXԍ ?Gil: (kDo7nܰd| Ehh(bbbh>2 Y' }4C5`cĞ^.6ozB1kV2+ [qc,X޲I$'xq4NJ3sFƮ(VoPIw2|}ѹ'T?KAA:řФ3Td̓# g "-(UJrO;WR%̘1cƌAnаaC"** m۶Ŵi{-& `HZzg+\wBd˃cȤOO t&c8 L喜יh|5w-ĜTK)=ZzcccYF ^84ˌds ǨNpLJR +15x28!7nPVsȐ!ymI&o/UNNN7%?YD^Ge͠+YO>Gf2̖(Cx6)ߋb5!7\rr$?*s^Y|a6g]#1Č͛ ;x0KF0$$SL+ٱ]Udɓz#FRk,[Hݻf&$G&\ȵ,;ߟ۷/^- JHYm +Ɇȷ&nUVx$ry\`hj}M[,=;?XZ6j=XY> F>npWY(KZX)҆ ONJ$Hċ 6'5yQA`Td!3_Vqpp@2e}]D*z<ކ(3(ӌu3ʫU8.ݻwQv=̽: 3 13_9+Wu {QQQw5{y-ukjȺ5n8=j* $ATg"wHm[@?_@1rx@Vg6`!m]r^o"0y?`)%Ps)PzcWXڪ?TJz@ء(b)lG+ ThOP}sT\4ÈJpA_Ȩ~J&U3vi"8ׁm)Kv߼ orƉ'Z8u$$SehFc֥HT>6~]={d}9swE{k [T)e]pPJf]f N/?FI+5ڹ"6tLht%-,^}g璀_TO_̙12Bӷ@EOH0)N,  M♄HNND$#=EA~~mMX[+ [ q]806йWZoWM+!($=ڵkm {OOt+ժeNAtԪO?G~I6 `L]!{i 9^0XtII?{,*UbŊ4^xrX9hExA]#F,B'ę]'Ґǒ3SpSGp f"6oޜ]tv-V$Iʕ+ *ٳm6`ppH!Iq$qСT|Yre{E5 % Azb4Q,EtPw)H %4I4&X}>ݝsO{ U!:¹sڳF+NwVEӷM,&4Tݵ( AAF>(EӠAGpㆁDXlY2V' lD$'t7`{TBN0È ʤ]VB^0|ɸZAM&+| D8^D3HRɳ?< IDATYM:>~]Ű 6_Q Kzc)O =U״ XvS۵kGVr$od9cծӼysXvm{A 43g,ypqq!0vWݻwgϞlsXhGlwj}۱c"BP}ŋVpꔕKDG+$$$ "Y&w}bŊx0z+ԟPH[;֚Ipd{TQ/+} ( YLC`=d^{,W@{0$ºp{'$طX, t$'؎9rvŊ+9s&cƌtܙɓ'sʽTSDj:3&4Տڶm"¦MH4qMHW6Xy 5KQ0ߗӻw\ǯYϟ8kkb4L2;w.`rtޝ;wҨQ#Da1a .ypL6_<SlY͵8plǣqssc]cKCjz/r8^FH:sædf ocqu  V`=d^ym`+*5)*T(&ZjE׮])R"BÆ ?>Wfٌ;1Vqm I(XYݺulٲ$%%A*#`$uD)j)no֫[:( d;L{  " 2$Ӳs> S {O-B8]d# kٙ?DV^i֬{e„ ?~<ɓԬY!!A{a5k=9,{3fÃx Tthqp"Yt#W5w;Czɼ`JSSrV'ꊓ{S;ޔ(Q*UP^=ZnM۶m5jFٸq#:nnnEZ <ߠ"ȑ#5~B Bjݻ.\~#>;L a^@b)-:X4h4@z:)*0k,)¡( &MBDO3כ`pĦ`Ei( 5;4˖C.]ܹs)\0Zj燿\j}LP&LH\fgϞܡǎ}{ X}Hb]`|ݷo"ݻ3YVUƀ%ICA!NE,C*88'̋Iہp\E[4V Y.^H6MyuԦAhтZҵczI^(_|;{,]Ht:iiiG =0ȢEpuuSNݳTRIb%~ݒ1 zyr[I,#Namݓ`$ uVD1aV#F "̘1#xr:/g!LۢKzx1<^^mC] ƍCT\իSNٳceL =zPZ""TȦMFz=|yjU6,C5ڵM` EQ %^}5+T)[0mZ"s$ѠA[Z6n܈lGFE `(HLB&Mhڴiwɖ$(7HN}%1( l;a lO}Ȫ%QX8GXQPϞq(Xmtwh ˨O'ޅ_Z×RPc%@wӊYf8;;#"ԯ_`o*F{%N"Q\{͛ k*ahA# ,}GAll,F7|gglk JtmRA3TЩS' DFZ=FnlZRJY9xPIΡC*¶mIAٲW0+W&i5bQX,} E$6mܹW߬0w.n "P [@I={6NNNt/@^vz=L7b>oT*)ix'xh;VT7 =C-*OIڄ‡] dDZ=P  'uXsk`~éCZ:,665kеkWD/ՊB:E~_OOOv! =z"0#'$-646qh{Vx0e .L…_>l޼9߲ VZ.] .h/'tׄkѵe1-J%!Wn~B}7|EQ9s&NNN ]$\c鸻ӣGVBV,0$^bV?k9ʻ,f4 Dф U?Lp: ?XƍGժU%(K?Mll,ۛk4yX|yR~wD$״ũwGZ=\xOS`>8dZ,,X@ɒ%򲻈\~rѤI/_կ_?U!8pݮdGuN"pD>$9K"Pp2/my 8'si3,j,?$L ̋`֖ut7(Yga„ 8;;s\e$6FM ֭KΝI&)lW6m$+GDX}΀Ncڎ@pLad~1b.hw?toO=ǏWk ٶѣ/Rti|}}KFHe h4RX1&NoYḹ1o޼cUT:?L~I缊LbUpp(XO8s}#.tl_Hm)Y#+aTq]8Uҳ)ueB$ݺe W:Œ3h׮e˖V:+$QC]vTVVq3GQP0iP jICn |k#ӥ{f3fSo!x[ҥK)[,|g$%=g2)̝ksg"鸺ѵ/Azr$%< Ea E$Jһw4.T6_qv萑'M|I -GDtRp-eӦСC)Uɶz֭{ݬ~K}u~mhl]Z>[b9Czދp?(x Z 7=~ ^C@z#g5w0Z9rv?3sNBQ,tK1b+F`` e˖m۶X)`%`$^7nӓϒ`E⤙2[c zS~f xVXl>ѥ2i$ *Dɒ%Y`Az0}zF-Bxxx""n:@iPK䫯\.~~DD*ر1M*U a{\l٬0th/MDJܸaZ  Vwwv츄?C済D+t=|]'zxKol-0"Jh O/Q> #9̕|y9zC* 8' 믿b[)umǾ}e8 o }Qz'VcƌQՕèo6-[6nqvvO?5]Jmy|[)]4|󠟣 '9tdd"""xwprrr,]&O2ٙ-[2{l&9يŒ?kG`7$ 0ҪH<=8p ^;eKhʔBJճe܆""&B 1dr+, =NjBL5Pf44"- bhDm %wHeGO$S=a*88'ylQe˖GZz1+>貙lذX C݋0}t޽KTTqqqt:Ư1 ԨQnݺs1rHΝжm[əJ`߳9ͯ_~zX8y&,¤uܣ"&v'A!nU \z޽{gkԫW/V\;_˗3%z:O?}\ "5? 54Z8!V24+tߧUNE\0:M[]"Fq%De'Upp(XO83ޞT^lJV˖-31Ǿ}hWܲ?vd0=)..ӡCV(:XP(.]РAԩ9nTTEbŊl: |)))RF RRRbe!Y\FÖr՛+<)-<Chz 7u#hap]cn޼ɵk.񿄢(nݚ5j(:t@ƍiQ1cv'# pHC~(1Z$L{MJg2t(Xq1X4)qqӶmU>6j…дSM͛7s%BC/(\0^^^57rڦ( =zDDDD<\t_cnjF#jte$%%1h D^z&M[+HB*T~qȑ\]9VݻSH`a%;XnM2dȐG>g6iԨ>>>kpvړH߄YQgusK;CzɼmLo0o *1ψmݰ$[Q=P  a+駉}Eaڵ:tEQXneʔnݺ؊+ .vJ8<J'AT(dиZOXY)W}v1{HA]C*88"bqrs~[\Tul:u$ @c#G9O8vrr4ٿcʦ~2lp?OV^]DD\"RZD "E)2udNWٺuO>tC,yfIJJÇɓub6d2Ipp9X*ܒ`i/mKT%]2ZrIIZII2"?$+$L7"DD$(Dj$OƓķ~+.\JǎQnn".."^^^r[N)R,YD35 xUd ն˄=k׮yf̜"|Iɮ]Adhy">IRXZ_M{O '')89cQMPIrQ" m KnioXtFMr%Y6V+[la׮](q0Dfic͛/_AbӇҥK#"̜93s~"B2e(UT`yDJ^;+&+Wff6i[7aUl >ڴi͛1?1%$ҋSh+|xn 8zu3=9r!̆s#l^G6le2ĀDEEQP!&L}e˖!",Y$q_}+W1[ƮhٻwoL&L4Ӯ];\\\(S WKYWm8sCzɸGۣG1kB,d 0s/ 6B ԬYSZn;=-ZdsAڵ '~Fcǎ)Z(M4+VIݶm'Oߧ[nTT l<>+gv튓%Kd@Ǡ,cFշAF:QlM!:~ؽhm{ݴnD7|ca 2Lad9*T*U6mԩ=L@7OFRSGUX&~Gx{{gH')I!445 B֭[sصk-Zӓ R~}\]]bzjI&ٓ瓦 W!w6Pppm[NVѨ8*dQjZM֪۱ IDATt@ݻGŊ!)8' ɘ҆[.( *U_p̟?[Ԑ q\v pVxmՊ3ŋ^zt҅#FpRAAoqꫯř]w`G )lwh $5?2,#µH2@mp6b^-&#o]9 8tB jքݡpaCP[bQxXWEŋG3fLPfQoṛ-%իWgَ ͚߈[:~]݇c4+Т5>}?gքD=}z""Xg0LT 3 p3nk+0bQW!ިji$O.rƚu;  'v2RAJyR|;arFf)RH6gY(O?pw^|^{ݻ(oafLn%KO>=x:Rg/BPWOߢ&hlAVJ'=]{v<+WW^W^vVSa,ŊS}>m]Q 0j{  }]D-Z亩P8cM8FW i:[ul/̂:`:-n ,5`V0U2PK/m Nɰ>j^O=P  'u{¾9 3ؾwpBDC2qD̙ߝ~lm۶QX1ʔ)Ê+FQ"""Xr%zDR;}*dեKڵk#*hVqF\VڳlR}Y)Б~3/W0XIh/9`QnT!w`?ǏRJ|`P]u~=M‰;KLOq JkEXpp(XO8s/pIA-Y | !n;(;+RHlVJ*1d֯_E۷iڴ)__yNN_M6^zTXv0"y'''WҥK~;XreyYca6n>P,sL<{y-Us/ 6>l]!11,X]JlTR 8P,p!~==aE> 쇫X@ ÛDkBN+rI\Upp(XO8g%=Kpu zx>=}1V rbbbرcGN:%J>#444sd/VZ;lX@D5sf0|}})UgΜyRbXMLՋիcQv 1B"5:1O(dD[*3 iK/mYvA0O:Ly'@oX í|4_!#|\[?~/ꫯh20A\a ߒHV%81\CYIIfKᇡjh֊D-F3Wd6*GǷ!JAhzxvyr挙 ?nf!$$h͍gf`P~m7on)]4۷GDHNP1=&}Upp(XO8Y+[ .u'a0˃CO@g`e$ZX-?g/Xx1uEDx9s&۷oԱ? ;ژѣ>gM0'A\NNSNiӦFq71`d֬Y 2oooFSI%!ERl*Fg)f :IF~ !ZDjW׿Y bWhjuًg Uԫ=/+BϞ)4hH<"4mɓ Kf$DѰaf }UNlg~B&/b0S$sLvrmm/ to۶-uXM kx(9:u(`J >{ҡ` NR҅ *^gQ81A] Uɸnj Z(gH|RQ=ʛo[-K8UsZfx뭷Fd8)Id9,<燇=VV,D.Imp03 =-H!rgG bBK/9q2arx/HzL&Tѣ+Co+/{ ֛lի纎4#f:)pD& ˗DaJs=Wpi(08' V…<={ q<&|?ip e@!т\bF(Q{Ѐ`G8zsEXpp(XO8[9P&'=8X^e`1٬WgA1k  ½ev r ժUiӦ(Bs "o>ʕ+Gɒ% Ƚ+{Ywǟ4XFC@v]NUa+:4j<( 'c5p;w"""aÆ<ӏ-c8z 0Խ~zD{6; n {Fx*8' I5 Be+a,Td9Czɸ֩ClSfEހSh˖Oyˍȟjj{֭[GsvWj۶m899QHN_%xV3 |K"ڊ)ta $#P'1d>KӦ`QTQ:8r`eMKƓb GDز%ƨ(+СC22Ryի;wNRSSQF矋իWU!?:iWB|oqAR\vH.WqRW&k[mm KnԱc(g v]dr':ՆwеZbPV3,+$j<}4ق{Bݺubĉ*TO?t$R}00*4LJeFhՖEb}݃sqבAIs,SulYÿjFh/V@ԔjX30lX:"ɸ'Ӫ/70wn:'':3a5j+V̌8s Wmc2\VoftJ8y#eyI`k0]V--ذa#"Y*&&;RjUf̘AJ ߫ XXb4೒nV V`=dΟg]ɒƪƭ({?yʺA;@DVVPH&#ME|+B¨5Y8zo>;l\Z $"C,^lVT@B(ԩ|xjHd].^ c@6eQxCGri߾}fXU:u!`A#j=;m,nW>gZ80sI5@E7X|G0 uÔfDt;X^C{*iLe 1:~C* 8' VΝjӆ]`-_._3Lk]F*`OY#555[l xc.&RJ1n8UK'|M>D,8Dw-ܹcl0bəΞ~C?ӓӍm֥G;qZt֯B^6ݻBB 4L)^jPxEݼ sP4-11 DjRI`rġ>ia*8;%7bJNSGK]H*D/2Hd"]>y6""XDKT|_ͮ)%Khiժ'D^Ҳ qJI[(rJ6%%TOC@rC.J̗NedpM&Qj;JoWq%(DE*,~IMM^ݻb0dTEkzH>}drE}tp1cXL:UWm^^^ZߟCn"Gvf?ZCDDn޼)U=SL68%ˎoS%PD4{ssriTAd\s")Ҹ2rȾdi"D68K qRUH\Ty]rŲMR$MޗR^C 9w--ܙgjixyth1* `zL231N2ex\1٬#" Te~~h%)V^'Q8-$,/z&< ݆z\ `g8~xfӧy^{\gń?E"Ec Vp? X4Vv_oS/=xm2.&Bh0dtQ[[sWߧxyP;0R;~_8 7TMRn]F#\t oooy`0`5jĴi/<<___U(ԯ_͛۽AX]t3xׯI&{,NagsUpp(XO8ݻo ƍ F5 4E'}{fϰ_FJ,L==o S<{d?vnV-W""+V+V}c2vp阘Br VM :E]C I*VnZaxa|քssxwFX: up:f3 d{tyA=X NY=ۄW:͛e"¾}2M0zGz r萙^شɄN󍏇tg?T,&&g}DTكkݡ )Xb̚5+QoPP!bbo( $ٜ2 V`=dc.]R#vď%%ٖ=XCCHmZdOz;~~20\ytGbN79L)p~ٯYѡ&#--ŋs'ڿ \w0sTe‡+ k|c,&-ڋz0c'ĥ8mrf0^e[ IQb#a h)T( oedH#nnigjҵk1CÇ3+B:7!H28v C*yz~.\UV!"\l:h -ݻw1v h *ͷW[Kh! G!"@R P{r.܃( ɳIw ؾ_z [f2!h{i,d>qC* 8' Vˬ]#_|YuR*BצYރDž>= lί4#r8m܅B Y0c%CQl J~HHPP{n #F|\DӧO6ׯ[XDTvͩSл7hѢ'Ndxxx9%&&R|y:udk l !(]]oE;epnO;< Ӡ\C08 Ѧȟ'ng?WQV%+,~&x*6U8,XG%w""bXdϐ!a"iGox|=U<-Ӿ+"_yCg_Q b/եu(|"[$VM2DD ;ed`^_I5ŋ;INriٲesjՒÇ˚5kڵkrMyg\rdH~nR E6m1Cekv|8p={V E[,Y"{e˖H7DTiS]fb;iܸ(wH"Ɗ9PF|:gUQKd\zeD_'VU?Ud}ȌhuED^"X|eD(!WDZ#=U6 ,:Qy" 2 DD꯿J6mBe׬1mpqrR"֊|}D]C?P+DZq-I&&+<%#C$I$iLW -7,b\$5GJ"Im2"NSD 3iJ.E@((bA)A(`C<EEb Ri  $!LcHs>=0u+y=kwJVIՐT2-2SIR]jdQڵkU^=-{5}/nWttׯ_… UX1}'9m!?\eʔѻᆱ^{M?W_}U]t ֭[N]vUӦMUzu|PdO>w'* DoCB##޽9#f"1<,w-|-Xp8WkÀabJ \8Md6~co@ YLa3N{ &^$l@ފB+iYq": [Nx/%3 '|<зူ9T Fi&nڵ4oBrRHBٹ3` 00?8:0U+522.;^\а!t AN0rl623/T]I 6[nFMVVuEt~NUW[n{882` .f5?`=:uc;wrD kղ`2x2zoc(X 'kI[7(,kdjεJ-1 8e݋xs=ŝhѢwߡCjԨ~y7< `,7 Tf&L *@Vn;w̹πR v2e0`ۺuFѢW9c8g~YfQpaԩ<@&MX1ob@T ێ~*,f?@˩m 0`z2> Ӓ Ŷ?SZn`LGXs6߶}?F`]uon׮u?GvJ7"5l+Z8I:TU*Z͒] CڭJT:KK^?3Z]5Z5-HR:!Z7* SM]$ݠ+55ZJ .T=[֬ _XCR3x/SR\&MHΝ={PBݻ[~իvܩ'xLZwVX IR\9PƎÇ'ɓUpa^P:uTCZt8L1IҀzI(T)iKsSGo>/lRE;NHn^pq`M=UIuUTu@H|l!= EwLM'7毎d`ڹsR:֯'Y3<~b? vfd4$ @2pp^@ilfyp3<k04 u9E<MlW%ժUM6xJJ <AAAL::)nf)Ry#5` Sy$~`]d̳>gF|5糆a$=$|scfRF27_- |O.`uʼn:&ugity % _8k&x-FqІ&DcʀΛ!l5 &%%,BBZ?-5n݇A߫VCFp]ЩDGGm6OĈ̛|(]4 3nܸ\y} 4k쀌K>]vf͚9kժ/OFFk׮w<3,Yg.h7nLɒ%Y„]5*ќfgku}0o۶'6,%u=z0H8`̘`? LDG%fOJGKqgLYƛ GL&o;HM;bm1U WœӐ^6KZ}F/! YP h|MCPs*?CywkJZcx^HbH~iU[7;O<@ʤz,uk_~Uz矑cܣGhذ!{f׮]A RHT2dԯ_ʕ+x aaYnbd8n adp`Ӂe5$h˖-#33Na=<nuEUqq|V4mjWcN(AL2Nُw5 x-+nӃ ~9\'XqLϳ8<,k7:&S|8իvLekYi)w ``]>#GR_~!H+:zW/LQe g2)+c֒9줲iI<4e \' yt:s̛ v?OTTŊfѼysFٳ;h۶-aaa.tyN#G w]aԮ]_v#-Zj*vw`{iպWX7!~{,OaEoeP#JZf10Bϰw ϙl׮.4;Q0huNdT 䊌L:+dK}Y" y &^)2=X[<&%ݻ0e2Cr8y$Zr 襕%g۵NBBm۶%((I&y_~I$$$˔)S޽;%Jl&xՄK/_7|$N8qN?Uħ@D}WHV|kVzBpKYxxd q,8N\.]=x F3X:'`V1;v\i&M/KOt/2ŮQ/14wk ښT,y62 -id` da[ HUEjܜɂ!whʛed F.n+\%C۷o2eʰf͚ xO>oaJ'eh ʹ쎏'2¯'.L6\:1^\.c9i0lތng~߾-xG9۴iN+͜R4130d2x`G05ң+0r@M>=) 0 LY $q}.%L {>Ñ;9T00pXt5A f<<4^ sŵLJBPy M90p04n E0[ߥTT_]v=\H=Ѥ5k.Yz5ص'g.6J@?c;:Px} .mƾ}o{^/y\fƱzp=t秱KΆ ظ +\.{/aaa:tM/ _3۶oX:'sGM7qrxf]<(ڷl!dI"CC_J8 #N?̩'z \V%KqϑI{_Ů9^` x Pq|"X ǐts9I˗2cs=*՞M; N<ɔ)SX|9GoEaW.u$СN6oq:Sx]ަe[ހjHN(r346~ɰCuN+fA`^3\JG8 +)8fGUV\$A:_ ǰ@vX:'wkT~}q֛l D7jD /Xԁpx,౶Dl!q"}-,ePK1l%Xɺ=z4J76ӧZ]RׯEKtVZqd%Ki)ǏӸqc>|8;vؙ<VȼgƮ}푧Os.A:B!aPK(7,NFCPYRq*CL%2pڵ)R5k~r_dd$|߿dgc7f~$Iqqzfz-[֒>}TҰ4gWR4$)TJ7) s(eUAd7?B5U4_e@7i mV^+Mci Ir U(] KHvIR%hB:~jժu큁6l6%%%\uV[o57R%Tz=I&iĈ*VUGٳڲe$IMZxh@Z:`I'I ҎRMj\V\+Y*Mo/Yw`riLi]yFw`5V4XbTZzS^ RF^>eJ.-I*R~Zz\OL<? ˏ$i:fLNpLOW'$BOTt_'HaF~Q@4\Pj&gdFS_wȐtF[PgU7{_%)!}! ֶ6-!g-备nK =ӧkĈL۷O?j֬y*7C _0nZ-ZPUF;,[ngx8g]D Vka^ n!ntP]K:|{2>-bpˍ ? } {K*}]8p9V[z ֬#GRP!nx{7./H^hݺuL<ƹsq̄c@V?_ϱ8ze-@.ɕ@vhy7ɵ5jTN;nزe ?3O&D9usrqqW0 +<ϻ:o'Z5m6f(:_yn| &; 7_qVv,avܞ48<> .ff\ًu"'K XS)@^߮t;$XHti sW\%4#\ul|}""" eСv ~T֖E m --c"Aa JaːhB[A3,PǑꀺS-,D ' O\h,CmNM Nz\\t:iԨ5kd4jԈ`*T$ʖ-$)WeT\￟~;o_ExsrX'7lf2qnVJXԮ?k0 r'vf/ڷaywQ܆㙜c+pKl'OX=3HbĈl߾Ö-[x'n`ȑDFi/PT)޽;G}tA8~s (Z(c+V_;ѣatcΕ%+m ["tao|bc/jxg<䓼,]yGQtij֬uNvSO NV`Ə'O hz$@ 2 #4wK<6 Zx@<1dY8o>h;["acu65k;0gΜ|H`4 0^z%N޽{qlJuwӰaСCT\u뒙i  'k9Dhs\2vĉp /пOΩSp\NJWHs s59s&xwx405~'~G?F6hBsl S:ݻ9ӠE˙o{|rv9y$adg & IDAT@|M2Q՗7$Vؕ} vZs:Y (4yx3[Ec  6k06[9xwy??|I<#46mڄ$~GXӇ@nbb0'.:x Xѣ `ݺuqĈaiiiTT.]l`6Q^duszcB͚n#3 j H{-ȂZ\ bn;, N|$s<8oˁ?OXBNS^f4 >'{Nal0('>dZÀqPmRM&l?/}0o% )mQ' L{̝!,I~.&Nt{ŋ H"у[^y,Qzɾ}<}% 1c#n>,eC+^m=U1T q9rIZ*ի$7oN)\0{Ň FhhhI ,ᵃ?}0ݻʕ=ɘ6 ORI> s1,1|uuY8g,9˂+3V*Ye*$k,n~[!j4_'ԂL8ާib3H#LVJr([,U^h,kY| DkXsMc5kL۶mӑ#մA!!^]Po;6 H=?qjTI$RYzCjZonTΪRLvH2dhNi!W U7a#ڪe ?سgկ__3fPhhʕ+HnZgϞ$!@u߯m۪\r VHHʔ)ʕ+_ʕ+u{ֻl^˛bEi9-M\"K=.ofNttLtH iNGI38tI)-ZQzk˖-ڽ{w:$ =4+B·*((H={T&M|vmmQj`_FF*Wdm߾og~/B? 7n׮5˗k 2I3ߔFL+5_*ldyVB5Ē$htBM-&h(RURp.C?*]3h*֐Tgt׍c7YNȐYˉ߯5jwުW233Uzu9NZ`+vکr۷QFBX޻: QO:pN|FZ~Rp9һey qR`IwyՠriO):ZBW'66VÇWZZ`$6Mo)IrwJ4H/ p8d+TAdKK/|/x7\RRWJ-I WUT_Kg{O%Zi%H)%nPJQʩMkKMHgRjR7 1xiBsB4tt8RJ˔Rӥ;(%&&*88X>wG}T7oӧZjzfڱc0'R Kx,C:>W(@j-T:ܯ tZ)µVҺ1&$$hذa6mBBB/O?5x~+~js~;6vaر#\7a1 |vuM2 :vzdi(@r!8 `U2$j1cY4HgJ=[^Ms`< X8`w炚z@H*CFж`{nFI駟]10>>{/G))S]D˖- 7a 7Q=1/U+tЁjժ'/B3!=ǏSvmnFƎKRR`]>SOdfX_H$/Mױc $x0WqLLte}HuBL|o!4zbpqr33Id5zS2?H)F"n:qchJvB5"۽=BqZ4 _wC, <fhep@݆N(qty |t6 sRIPwaÕO*VȂ 3TR0h6lxap([ 8sg__{Z1|v8 `^ȴ]Ĥt`/&#}׬Y|K4p3x,Vo﫝~۶m+Wڵks؅6[X:'wʕyszH)S0vqܷV^n}6wBR޿}C,#-k@$Wx̝H?0)$p)YlhAi6)) &&Ʒ'11"cEZUG1|x2ֹq!;$(V Z5&fnX^ >6׺ᆧkc2vav=<ߙF;CG:.20rd&?E{ ,_cOPhQn6.lX,?9S5_a8Ve 4#I*\Re7nl#R2l*bʢFhk:]K,-aݠ"Ou||(Bnն^`8H뻔oQ1wҥUzuuU 6K/R%kER&RJR߾ҍ7vm uky٤;nM#(P~VSz Y!oåf| ^ .!9mEȅ1ΙcY|{VTpa.]Z|^B H\9VIc5Pr8O>Dru! p(11Q'O$/^\M65rH)R"@~X~$Iq;v(eZ=@Fq9Ǿ"++LkL# Y `MtzT%4$4I*Wdoudh~V]ݧʿ,?Gmӟ:TRqvɥdjvilxpŷZnk۶mZ~""";SWXXvM`.k1<7 nn҆;]RryZu6zߎJ]jӨSHz[T6H*Tڴi˗kȐ!oMTA+mJ:aWAQFiҤIR5jŊƐ[|Z!)R[7ƍYfY8X~$Iƌ r3gTߠ\zBO\MAR4$i߿"U[{5-` 9D%BjI#A'tFU[wYȔK:`jP̟ӄcr=[I5qv.=UZ/AZqi <'-/^h+=l#"L;%^"S$%%k׮ڰaN+իkx<*U .,΢\ K,L<Hzgoإ*J_T٥vbڵkzKv]R>V-Up/{'ͦ?P/ 6dh6kV#^g;IRuc?#G6z;}KwQPR%'} ?P'#Q*jb%{)uj/2)K_~WJ_ߺO/nB`tZ)[UA%ts>eW"^ I+D-TԴF[t(M]LZJ*bHř\- :ŠY}kl&}K9M"-p^$1!$cyer=!/%p s k겐̒F?7f52]|`3O 0T3fKv  rӡ [IxN̉DK\݁0 z++:t`4ɾ0`xUw…  1fa gkZPa*ͽ{^=208tV&r-T\}q6cLɶI:'wa≠F~Pdٗ흶a-T-U@I<^O)gG .œ;W[s`mMS YoSh008G) ,0"(xYk-.ʲT~3镗!3 {XC.r" &\u0''o'44v;Ξ=W\ЫP0Xaè\U޶ B&[y90f{p1w ܰ/Q(QD>)Nr 㲊ݳgR^=n&#t>Kry+X~/l/۷޽:pj?*?5]ۥzI-ۚƾҗH#5iҾRRCSrin6|nB'G[ZilJPj*4qkJKիWOVտ=*Q"{DTj8xP:zTQû+f^cn铉ĀR[9v[KHnVipFPNIϖniNUHIo-ɵݦM/_^fW.qeFUPltw(22Rk֬Q:'+])L5UCeL7r^sHΜQ1zxzZ-MJK^-}=]e,0_HOMʙ,!ʍTT ,S[U\[ ki*|K╩/޴$9A+ fA{$:SRcki&l6۷O/ֿo 8Pq$? ֫ BXciƷhy>WM3ZJ{[52+*cBڧ:*sjӦMZr+I*bzk~֟ZsHv:}qNpafx g?-zO*]E9g~I-7H6A^ehn*+']:AJd V(BǕWJ%-T"`#U; z\dJK+x+ ]ݻ2)"[Ex0F &=мߕ uI:uRttL1c(**Js3Ⱥ(,U/ݬP4w$ۼ Aޠ*)OHh,YRSSQHzM7k{EFxل(DUQ'Z5@<@oHB˕SN$I:ok IJ{uHuM]"[" Y}:0W"Y:bhͤ٥cJw Q}KJ"SS=ʪP_ɒKi*TUi].t-PB,!Iڗ"}w\rҚvdPryYxiw^|ۢ!(PtǦ%K7"^][לFL *TYre曺ԩS'=={BB.xP`6?B T-D|ɤs%tn/nMT\T\rk܏֡C? P{=Bk^۵S-_/';}-[ƒҥ7wвĝʄaqk; #@BԅWO!4/1UˊYYNs'vI 0'`gKY$g%#,ଅ'<ڭ`Et;#c,Te Р#h s580q"<A<<vNLn)N섇矠dy7r[Ŵi5KDDom3g_X 6nz-vJ۶myp:/pƞ/`CMuRR#dҥKq `ڵTZnݺ<gv|qf:'u+KdQ"͔X9p| qi 5mpD bF UNl]ゴ\=\Ip| %@NN"߇8N\v˄Iyj֍<,>]0?B~.K![߳l,Xș0ajx.0 w2fe3:ɱcW>l6k׮0 '2?<ƺYŒHٷ"k JXJe)eJ ]#acϜ~8fܞpޯyqs>线\R*Eұc&6_~gC.P0(^}NxPai@'zc(^,Pl<3ҦMZsg޽l߾G⸷A5?~Vs Y+@)9̞Kl2 (@p^VҚGˢ#>|8aaaH"<<Çud2/Hē`\`S\i{ߑpO1ڼE0e/ l vpE9HM,4w@lg`ZC! /B͛SR%RSSvyC_dm.6B{!o/֭,\zѣGʖ-l_◍bcnwaV(2JO&-8^˗ /Y7o+WdƌkI)L>?ĮG,'gG&Oygn-Nɼ}&}7;wz쁕a@G`\8dΰqyas0ļmjA"8@EN) 'N [R2I4eS| ;v… ӫWPܦTR+?>}:}H"9_{50a6Ħ@%P (7 ¢@;Woܸq9֭[DV_&Ϸ3e38E7yX89'n84jԍ} ycMn5JvV`0Qs8IӳWNW|+D۔XC,b&ִN>Jt,&pm[ L Y="<oIJeStޝ{7jcǎ,XT=Jhh(DFF7bn ?1 IDAT10:޽{iݺu,%lj%`i?N~W2oXou nqrNkiwͰ+Vx&7pz<0)"ag HaZA:1&kwPW = .CSK1OT_6gY^E 癆Ð:zW&՗{`(INCUq=!R} CZE:[2S[ !+}TTԸyN2WvU]4aUwbQuS-[2 CȐ,q!gܙnXċ;L2+U ?.Izwe^,4i?CSLÇժU+IRvvű=*V&GUCJȃ^n?˥WKDVV__lԮ'?~vn)^5aK4WaB5lIܫKIκ<,ȳ ˃+l2˟fr/'c,Xo ;d+MfYp4=v  KVI6<8|!T|y2iptl49sdgeN$<<9MaϪW??׿{|,UÄ.KTRm6d, y>eq=zH@/p RM*ء>؛"_oġCؼy3<NM$X}.d5r\IX8XXv+ǁ nY5̓0v0k3`OA?/9fCt%u5Np! ,^.tBzg8ٳH1++ I̙3(;Edм9 ۶7jbV+| (u vGwʕаaCϟ(,)> > n/7(S <'""s( eC/YRV$q \߷o>vڄ^լY9s`YE 92؉Mf<ߑB:)%›I㯿;ƌQHvo^aK ((*)M 0:_J[(y<}MWAVQ0u'uLzהBu^ڨWiS:D'I୛k)*R<.I*RjWZ7ܮ.YYY9r>UVM>M+O.;mjŊ3ft颊+jĈի$DԩY?lc߭; &?A8p@Mx@]tQÆ UV-\<Ʒ'm9)=4GZTԃPMJԔn8%)2ڨ+ @ϟ%IJLL… թS'^h F! q˦j:*BL TF%+Xn *:ϒsz?ƍm_=,g!$dxLy)d8RCY#1 bIa) '~fcx&5q0Z&g; ;hdi tq=0Às=zIYc‘@ bСtڕ`$ /p;wsHb ,iӦ|h֬Çȑ#yO͆Woæ͔*~dʔ)pRz܄52q'^V%|ϼxq0 >BݻP(_< 4f vRUidxO#!wÇ9s& 6 ]XX7'd^?u*sƏw_ażRŸ,x_}3^c. 6I[-{a8z㤓hRlt09\֎Dh 4Y ]W=% tʯQIi0~(u<V4N1BCJh ܈)`f}d0}z6۶Nr믿ā8|΢Ede Nt Fhh(;vwbqNnzdéWf.4:v옛eK_Gr,X@MdajUV婧G/qqq&`\z2YYՋk<ӆ^cav1 zn=^;E< :ZI8a\L_tRYld ci7PtiY*)Vh6'lKςo÷͐`;+jwU>+\jUP!uW#AjT,T}fw{ҥKDZQ4hp)B3lAJA6v^|Ap^rslZiӦ  _~$%%]7xL=^N]E;wR@O35XMvevBF76/$Ŋq13 Hv|jb%vW(Q"_ˋh$1y'&`\`Ed-`bRzyC45BlKS Xf:Gqbe#1.vlJyoqF$QlYMk^:tF^: 6T"{N$+ҽ{w>3"##XXv-زe[aСCn6O@PXY*51&֮uyyx-رƎ?,رweoI_'>ܹsD%6Va^#<<G ;;aÆ@ժUYzǏsi-ZoAÆ zؿUz4˗Dʕ dȐ!w:Wk`v,X@&Mrrʰ0VW]XfM>YS|w&`X;.$&1apKWBK yE_;Cq3-fDV7i1iXv9Ԉ*d^φ;N˂ZAiʗك#иTl#?o!,տfMXdggST)|kj8>Bhas_8ZLdtlM6@ 0 FVjNm=})W'٘2e ʿcw}HE,_3npdff2bH|xz)))[FPׯ,YacM͛o#rsv;~-Vcou nqxBm9Ë!iѰ]'rNٶ.'^0.[L%lHÞO@3Y!%H]()ԅX@v6|e0 +G}t]-[^mG6nzoe1jT*KGs|mqq׎?1 `\?JDDwٳI|njLB Di't:iРALr|x*̃e(d\#o֬Y :7xݻSϤ,cѡC֭U}.e גgG-^ 0  DőD VZHtԬYUVJb鎳>{!~]l۶e]>XZh0j(|}}7n\QbX. *S3*6 q!'-Z5kO2qD+FXX8t6f꘷ }KPPQQGzou{2?pcb%ޘƁ+"0YhwBn Ü'A Ѭ7Lj2=,&2xUy.~7u 턞1ݏAt8l"X>_[LV'qؾ?Mrr2uԡtҹN:Eҥ)Wqqq7gx)T/?cFEѢE222Wn[o.%$$ߥ{xѧ(R,-.\HPP 7!.;Ciݺun_NHN-҆.o-[#3f\̓7=;?tqaA7υMqz4 V7y&sZ8 iIJ$st?d˷lg*/p3 ݀uKtX|BDkM6/cM{]kldds:YIt}ѣvbc=s_,322hڴ)ŋ꬇L6A>TP5kic z]wݕR/ǚ ,,^u-VXAR(]4_'##/I&ѿ$1sg۶mtT\3fp2eywm+86{" V7yX8'Ғay7_Z.r> v\:Guȼ*ڰCzN#Lk μej,es5eIF2}r9yx!8Zokq›qXxhtEq^Fk<4SMfgP!m.Vڶ#(P[o9HNvU兇K/]S01#>}!Q)}4H `̘dj8牊2Y>+++WPp<Vu}3vbtRpay>ڵIQdI4hь / ào߾n:l6+Wo߾O{\Θ?ӧiٲ%|W=!"""rErm]sr^$y5)f9q֭#11̓7s2}>E(]_ˢ*UQ5 9Y֫*{ᔡm:-<֐lZ WS ϔiK#5 1%qHn_ ?f*yںu~ni4kfe*UJ 4Ў;4hԶ$B LX 3\ǥ:]+R-Z *h޼y9s ,SKc"OH͗>yZjZ*\&OΝ;SϞ=%IÿBzm6FNC୺W tPS?u,kQ^E4Vi6+N隨$ w+ KFRkD̔2MFR7R/%bd:-VV蔊vSgSNZuJzChtKSOʦ U]yq"6XBV+^t\'LjZs%e˚w3w\sgs3fhժU;ws=ZbEmKVBTw$=1b~'u!>Uox=ݻ^x$bOkt'ݩַ{\Jhvp!͵[5[ UϳSUSR5UD/x,/.n~xn)mDzqr G藤 7%T9ݦ*4JMPUݯ `W *bjjWG#-Tz *$˖$J>/``3]`s: 6EI=GKwI?\cfiZbVW鞻=8|PvTJ}pB=c*ZԽNP7>͛5`_ݻw^:uO?Uff *$|u=$Iu_s?\111ԩnݪUO?5k;m$X}||_ eG%)HzEj7&2oKJ9SI{76;Yyfϒ4wOÑ*|Rvqa|ݛ1$= ઊZҰʮOFuR}r͖(E*'P:45UZT[T 0CQSzԾ4lvi iB)-Sz~w V^HeJK~Ypt-[ }S_|iWejn-:xЦ3wi_?HУҝwNk/NO՛o hҤInkdfdCiS.Aq=PT>ݫ[ѩS)I6x5Yβ9s$IWHHg_jѢEjܸNխ[Wwn)SFV5|jGQQQjٲ/< p {·*H=t ٓrsyɓPi7oSpփzpWaOs]o8 eo~$L%4I ۮ+ +2q)sSOe`zH@gNXm{65Whz I&=ozl~AZZ<?~"Nѹs<ٳ8|=X(0ƍnAY,T~eSGN6mZD dR &H5$z1|L:|'믿Һuk$QR%'*fd8kF&IKzԧ#K1,4utOu4] VTTC @>ڿ$jUsͿѣGk׮Zjں xդIռys/^\ ,Xu3C@cE-W^yEUTQڵUvmUVM;vbQ˖-W!>z^,v=; _cuV脶yXoE7.[ҥR}5nR.RsKEzH{XPz@C&L=ZڣD} =4i {(dPIgKoIU K-St-6-KՖ=i_ߦJV'&J_~)M8Ծ]ՊFV/^]>>~;Mt~%MgA կ:u (8سg,9b#}w}ᄐgM\*!Ga7_u}E0p8={hĉˋ;]F}:Scc3OIeZJUv)#Hmi8:RWs7ci閄]g*/۞7g2.Bpe(UVSF>t]?'iʠ$)&'i. v9{JZ4fSR r 3H}tXxX \b =ԤKv;[7Mժ*3ubbҸqn|OP랆WaHǎٵre)ҥT{‪U;$;N}u8Q*]O+VdKBzծҼ&=t}Ҽyĉ#=\ 4P||:+Re"sg/_iӦ͛+##CdZ~ӥKVTʵ=#& SD ) 4o8H.1%*U^VY\t{PttV^lmVݻwe$Ikz8%志8?L-3`H|`TVŔa88?%q;N˰pL $o#h3(%/Y7$&ƕmX3gXpQQ,Z[)aowHb=HMu2byh4e~cb@rݞxIbÆ DDDpС\ݞu=k2P.ZѣGbƌ<(P*MC'|}'& &'ACg:,3ԉw}GXXߟ$'rJN8$ou'#|P֎3'fpC]p-No$) 'vYtd#:O2 X(&u6IcdGm MVV;wclŞp a^8t`o )~`Ŋ2r|56l巡Gؽ/322X}T>ƒ# ٶx >a!ʂ tĚ,]BE7&Zj$:w̲eHKK#""ʕ+'pVS)_mk~QNQ=`=dگ-:GTZuTc -&˩DC(a.&.:%~RzD.VgRlT4w} Z,ǵZںu>DϠ zXݖɓ'/jѣ,á;?ԁh1bnW#ϵh\C:kp{FJzKVfFIw{ﲤL1i~W*:U鎲b k֫ݻw+!!T~^B 1}T_$@ϧ tLPi)#EU5R=SI*^TWs40աt-%TReR]jQ?mǤEUC<8#;,OIw,nw[@{$ըQƄ$++KK.ٳeXrٳuQEGGѣUT)]V-R…t&k-?ګNGϪ D{kj*H~ 3OvC=zThI37IEz%7ky,Li׭Ni?8vrOWcHÆwO,-\o)=} *taW˷jUNAY3H~nV;vL7VRRj׮ѣ?UzxIJIqpa|/BC .U\Y۷5d9Nծ][СCUXY֏?Xiii;vN=qHzx9~єST{1115k?F%wcvdyIfdu[i'țd'mlo1=4>k0q+A<泱: >ce'i3}ђ-p"XrQ7YPcLZ 4522F;7  ]dgwC˖ &l͛bx86L`ݺlڵkGhh(mڴal۶N:|-[0 ӠcǣyH;v#G8r9zc桇 mQ(>88 Wy(ʖgʛo'dҤIlI/ߞ|NYFΙ]=QF}6m$,I֪UijӦڶ QfEf]vi]گ {(8ի.o߮2eh̙jժUv;ZyZ̡B/s׷o_XBׯWJr[WJ 'LaTʃel4G5.{Jq$e٤VI[VaR*Rʞid8KVC&9%ռ7d%$$̙3JHH3 >N[u[7lmnCllwxTeI&^""6FqQ`Ŷb./,.XAQ)H!z Rg&v,9'Pu 2wI9OܯrIQ*Wv =lCg>_,K H;qy/  g 'u0 GJ6% ?VVVƺuԩQQN'vV7>Νޣ@C4\..BVcr84֞={={6[la߾}vL&III$''ӪU+šЪUS:tHl6^^^xz^dٰɱc&MO4ܮ۷3p@ X~=]tV̏\?߃:C)0%' oҿpu6<c_>΅O@7lk~l6.\9s YYYdeea*ߟL񱴛ME6k֬o߾*`],UU\7'?n6a'ц*8d 3ؘ4}hi(\Y>,!x@<|^_!`a]4՜xJO~w`ذa:u {}Ǐpиq}m6xzzV裏]H•o?dÆ ԭ[oÇL۶m 1W//.aǎIOO'66M6&`~ݡd'aqhy4kȯaXpؿ?L6&M*X,lٲ6S'}3iLfyyytڕzA\\qqqT7gq232G *]oC绡5 < n>M*+> 𧽡BC7w:h̀-E>pDC CPy W*ÍI? ,CY) vC<^Ng™lhT4_6qDGG3|pVZ7ƍcڴi :SSϝwɦM֭_| =. (((ӾGptj> y'{'M6e˖Ү];N6nHll,.TN'&Z~~e{*4‹SJ'ğ&(77G150E`]W  )`Y'jq[x`+Ǫl=& k`qN2(|0cy%.x)ZA_V.X}~< mo+=Lƒ??_k| 0e'M{@˖ &Ƌ/|Rŋӧ:t *-c;V {a[ IDAT2طobn:z]x1DDDpܹ*//g̘1̝;.]0|ZjEӦM+zJKK?~|8!!:vD"OY8j*Z^\*f7ZmzIcE7i&.-%$Sb[㘥@祠5"s9"3Yq-rH~"5"3O)50;Lڹ"OYJ$TbHDLyCG0[D%ҺH"L2My)M.8$;[t/]sC%8ZVmڙfbs_X#C'K[$0F @Zn-'Or/(3N޽f\Y.Ǐ;eT8rm۶2tJgnb ""UKO\qƉ̚5K\0>yVrrud4DR"ElyU/i•KNqjUDTE d_mGآFM @UL11c[9Vv5vw5RLj n@)+sqAnVիEEEiݻwn{g0|pyw 2>RcݺRV$_6G/dr֯`"0İa~4iRM֭o߾_M9sŗKit χX3 >0ƪl6ӲeK|#s`SPG=KU,z1BKOOtExYS*W4 JS!ݵD\S8#=>tv0l!`5lXst{N%[0a WQW?] hhUեN(. ODS~?d߿-ZT~iFMII aaacٰaЦMHIIk׮̝;D{ԒJFF~(/0ٱbH;NB)Wq+Wү_?▬?^}seNZfϯeh.zZJaE@!Q+䮸 >Y6hpϊ+~s!--kײsNx'6եfԨQ,]˗ӠAԩ& t܇^w&$$;4gO XCͰ| pΕMdeV6fÕrRKq˟7Q=Cr׷l_w}U?ϻt'|!CHHH`ɸ\.. ˯ʳ.}]H}`)8uX:\ғqh -u. Fl\JLY^mlef8uyc2H\8X͇$Ѝ#ž"6H,ОxO9G 11'١b m ;Nvs բU\v Zv\ZI/ tF<|؁&Id &v;{//m۶̚5OX]dfʔ)L87|M*GHHIIImۖ6mжm[/_Ό3x+vx pFz/ nV$JRKqm8\ N4Q & pĐDKt,\\q֮>ؘAsѽf,¦8(9nHfiaR[t;९}}xܮs!X }W/ޥvٳoE zթSN^|/ &K(.v2fL:6bBif*4wfsp:wu/ΤqDD }b>>xxxPVVjbTEEE8pEQVVVQf^ͫ XM-g&|yꤐ`Њ4\(ƿPM#꒞SJ9Qӟ(‰/KS (ǺXӻ ~BȗYwWya¬/ C[VxE>ԁw߅`yfϧS'_ڶ?}{}]F> u;i_~A~Uӄt Ǐ[IM-nOÆDFV-$0}ۭڻ%l//h{]QhktrF|HI2eJ Æ-/n΀,Y'4j/hZ,pcFIQJ].ǎc޽+}̄ArƬop``~N= '@=KO-`T.\%e/o ,[cJ JlM#@$[ ,"+꬗Tbq^"'!>>>f56l8+?T`h>aٵP\.uNM^xr6?̚uJOPT{9)& 'L}S\2tM*!!V?_n"gȠ"DM9%dncE<;عA}g{_D)bl^wءiBYW3Vnnl,&Iݵ9`MG2!I;VI#@16q b)S0L;|wB74Mo>TLBB .\V SعS#7W0b,_;Xt{=OBx~xm,O'] Zz(oܯ*5ʡ.*?s$?:*x, $; (5a)dcE: WGD)f=6X*t|w6D{wut |}6}^:t5j\ˮ]4iRm7P=򒓫_c-<#w.p2~JHvL$@HX/@}ףi.<ߴX.9!f0뾿 d$ОG 7l'p:Ёz5TE':_]Vp x1dl~+;Qí ]}pOB}:诱f#l:9#A~p,kN3i$7nLFS.dr*ʝk4 aJ[zQKXBѿy6eMRINmpUdEW44})2_` yz6h 7_d.|}߸ ӯ`Bhѹ&Lτ=u+aLOO+?#:j/c6mbٲe :>Dz~ԫ1DG}q4 :wi]۰!@76> u^ ju7/U~x n\TRcToJ>E+ bJ81^᪀rrJbEq[gIX }/, *@b |^ cno= O^{BuYBr>}maBڷ`Ȑ J+f#==zWP65,_~=JAkᇱ:>Ocu%J)ǁ*߫UE?&kxTsx ^^{LJ%4Xr"oݨǏӤIMonNBYYVVʦ΃6":ZbMK#/otdicG!ƶmhLǎIU.vm1Sab<=aX^}5}@q8.c43))vZfZ΅яԩslv|<<\;e$ã=zʜ6Ȱ3-!1LّJ + XW"Jx 8zӖ YXC5l8YA[8 3b1 WҎ垙\|űl2nnP3ANXwlVP/< K繾hG "Aԩd=} 'OB03Xcrܣ3d#>4090r3 MہA"rK \6ᠱ{V̬sΒ}!C \v6ҡ^c7Ž0dA][J <΃c T缟,?ϥ‡_2NgLCC5Nq'P|,h@НFjhf۰w ?,1f.n\nHf^x{zo,\l=O_p8Ne_FB"n燿?)> #bCaDWtŮF(X mU(Pp\<1ֵq462c~y"繁@| %x2Ƒ4 A'س0.zC]a>h wՇ Yl}f}`N',ZSC$X;tv6ࣹKWAf>ԗE$-͊hoU{yNa">>WhoؐE!ԫh'ԩRVOVyLsʞX]^{~)F%\{ˋ X -xp*5,% C5 2{7\{OZ()?|]! "p Z8\TRE9ˆ"*70)~j8$-^/ghY@ªqZ_ibSi}lTo~Œ oރ0`οiS((LFMxr옋m/0n\99vn q8<㤧f4j Gi!!!jM7YR!:MD";lNhhB .) 5+WaD^=Ut GZY04 gfʔ$7Vdž† VƏIÆ6Ujeeg %,Vxg&g|ӽfe\حS 6xh9me4UzbYW_XizxCt` IDATj[9: L7ªOVx}v@}n,+ XWOM8sp'ЄVkc5cыk`,$"N0XoM fwgbc, !6p  0|/^L^jIJ™3PSp4Lׁva/D7[sؓ?tY*`]9%B3Hog. 6;IjkrrqgO`wA `n(qºժcOw WT &诡ipl GO³@k+/'n]Kц 6mK,I&lٲD5r ͛oP t>}q? "u]vgBExQK <˄i9Je`!&qgh?8="L.1Ǜ416<@< ;RaqOw_кlz['ig&?\Gȼ2Hii65xhBB~ fi灯={FSO1oX,)7a6 ;Z,߭(+j.[?c[V( 5*w~ EQґ.m_TR&;;(*\]TREQEajeEQEQ((J SKQEQ((RTREQEa*`)(0EQEQj X((5L,EQEQ((J SKQEQ((RTREQEa*`)(0EQEQj X((5L,EQEQ((J SKQEQ((RTREQEa*`)(0EQEQj X((5L,EQEQ((J SKQEQ((RTREQEa*`)(0EQEQj X((5L,EQEQ((J SKQEQ((RTREQEa*`)(0EQEQj X((5L,EQEQ((J SKQEQ((RTREQEa*`)(0EQEQj X((5L,EQEQ((J SKQEQ((RTREQEa*`)(0EQEQj X((5L,EQEQ((J \N9Biiim7CQEQ.;$&&v3.ȑ#4mڴ((&dUE{nq8v(**B @PP.|˫/yyyѬY3ڴiSqԩSOyl"Bzz:˗/g͚5E6mncp8l\tVi닏~~~OFhݺ5[qxyb4,8Dv⶞=Ch&ZW}7lgϞ3Jx@&n`Ν\{۴h !$$P!##'Np1N:lb`ZX,X,v;デiӆ޽{sj*֯_fϯ" xyyã"?)--eϞ=ٳE`` ;vst҅]iAR](,,g̽x{{0qbGZ~n'%% &ƍkfM fÆ3>\@ݺArKCԭ\#ߧ:yg+<ӌwE\\`s$% RP\+uv3.;.evΝ;ٷo6 DӦMINN&99ӠA/__Lzzz@ѣGX,..JGIHHݶMMM%99Bǎ1ԫwiZY]#4l 8P@Np}woٕ N~{ eshń y鶺Cnر̙3Npp0ݻwGуN:ƺuooۛDh֬YőT#λS```{Wl6%%%RRRRqKLL s9Bzz:DDؾ}U˓O>7|ܹs fu:}’%gX*S]C筷] [c<=.0_}u>;r]kY ᩧ~c㎆xxsoݬX:uPVVFJJ ,ˋ{zWPPsm#;ʕg0Ѷm̀k干jinyon#Fε7ر4 /_Z&6tܹs,XO>[Njj*5u"… 9s&7nrѱcGȀhժE\=X*`U^ l6xxxT 4 ???+\n'''򈎎&11&MKُ?W+V >>dԩGdo{-9*m2m__|>qʕ4nDA4hrݺuʪt:uG^7o^lv;{m͚2|xS A.'q8\:1|o7ӻw\X6- /^~yRo-Խ$ƄM|K fÆ<ƎM[BqO Y|91˗/G4nV F3Kr 70dO\\\-=7?tرcsN233"++gϞۛB݃H].'N --VϫJpp0'Of@pppŴG-4h;vã_,/4nVN'+VM65=DB' ;Giժ>Y)PZܡoL —_~G}͛X췽95"t}.f~ #o%-s+nOJ 7V6l7r{~h7/؂'HөQR$<ܛM 3Vk7pk׮ &&={p5D>gyf̘wqƀ`4tP='111GNx7 dżk:tbppp0-Ze˖t֍3g`}>3f3/"JGII sߦnݺqy\wuWZR͛7租~nG|tMժgg63۶m _~,]#99t !!^l''2~| }Vee.`6Q@ؿߋK9s gΜ???&L))) 5krX,ݣ=X:馵tS,wO.Qg_?Y1oQ#h.m#h"V˯{E0.V¼%2җH]6n,_ LҜkXAl:n:rcǎ~`Ĉ|_̦*G*IMM@zYr8J ~\.yw[oU˪U̙3iZ:uJNQF+2qDIKK'Oe޼ySO.#Gh|b(jMiiO<==>iܹ6ITٷ\-g͚R\lIˡC֎?2j4@<<r]wɸqޓ ȑ#G.J[6M7HL\" R;SJNMuQ""cG8P|ѿ)J$5Hx“=k&]о}ҫWȑQGyDG &۷oוɫ*ҰaCYrEo9{|ү_?iԨtIz-v.|r+"$%% _ڋʕ+I&%#F |4!ƍ$۷l5fȒk*QQ[$2r[pri nw}Uwߝ&GZkZ?^xAkپ}=Z<==%88NF^-3f˓ÇM.O}LJJv#ΕH X/ӧGK.z;~1_y$UFJJQ&S΋{҂YX!aaKy,VP-R Sn'iv U.ZrssSbcceɒ_j*IHHoooyb\6/v]:w,ҷo_ygeȑҵkWwuҥKq2k,cȿ/:u 0@:v(aaaHÆ ^~Z:u$wXdPQ4%v{lX5nn-hkbo5[lJ-~"{>52;33y4mڔ3g~4K PTܽ{7O}8r$;w+F$mbԨ 5zʕl;ٳ}\ֱ'yk Kco_C9qƎ"(()O.^Nx!444xxD2n}6.zرٷ/%9YCRR*'?]ٰlٲgc " RR޴( @||JcbRX"jմ cK̙I]wĝ;w cD̑Ē%K022y>ʇA|y)j:dzsNͩSaaaܺu={h"Fž}T G/t$rŊ9sիW3avIRR`\IQT^xp'Wo#<\MppwTT*w$ۉܼ DEܒhNOQ^xիP"BZ_r8v,S9]>"ׯG~>t"05CyYhl.^fB?Pnqg5 ˆ.|##Usg/bc{eJ^:Nz\0w,Yt)%KȈ~鍏'X0Qvm\]]yݥLy{ST.]=5$'+,^HB+ADD ... *İaøu_~ f`nJ`pDžh8~\ GTǛ袢RqqyYYy|y8Mѣ 6ajj*wFT*y;Ec IDAT=Q^TLc9{Fʖx=ǏIb*>>j4ued;vȜ9sرcRbEܹɪUd`4SVCKZ6vRXXZHR"͚]MsRN>\)/FJj6R(apV"V-ٳgFѣGKŊEVdRJIRIlmm%%%E<<<ҥK-44TZj_J׮]AןFȈZUHQzԖ :ɾ}qbii$7n77seժUjc۵k'~~~rMuE|E "EHh蛗JŋKҥU\\\U!ǏN:I?6 "44T0)wޕ .=ZFQMKrܿMLLGGGqvn)~~;$>>!tE֭[+Z&II3,7Bʔ1TdUC$9Y=WOpSdڴGEDAexqt4<.]TƎíYxxxWs&O, 6͛ˋISӏG0w/j~=F4""bnn,cƔˊeDXZȰI%C#@okys<#T111rmuܺuK?~,-baa!$,@ L:UfvswwWyrDgiǚF7o&_mV6Dp"s$oYJH"eY*R6o//Tl.ׯ;$$$ '''K"E/O>$OSDҠA5k?|DvJpp```|R={&Ϟ=(ybnn.bmm-Rpa)V,YRN%66V"""tՈ蝠DDJ7KrrOMd۶r}ٷo8qB0N}.gzd^ 4$DJϝYXK^RE)by\7&FGc=mMæMe:{)S&s;vȞ={$55U)㭭޽{ ̦"M>WRt)]LeРRTw,_+&2w Q}woG)S&o QKxZ7.5jJERu.׬ ={X틐J,dҫW&)))sN9tܺuK>}*"Z2Uzu\<}#qE؋HiM-*!nn9/&uqqq-[HѢEer UG<('F?Xȱc㏖ү_O$(H"EeHt$7Lj̜sbU("֭ׯ몐m%K"Edk!=zhYtx{{NEEdpBDjժLѢE Rt)\0*T>ݝUViРκs<[bllL޽(g\Cs Ess;LL*be5[زe  Y""6:O իChh6C6T?ci9Q۷o3i$*V`ccCnؽ{7qq~%JC"02w=üMMUt)'y@w/+h. ͜Uf899!"ԫW 6p +|}%2vlfzug%&&cee.FEۿWŀ h"A1xp4}vtJBV1ccΣG))y/bB&Mt領I*Uz1h 6mijgMQ LMMYv-N"4 b V>"GϞ= d>Y O6]+!cՕ_D /^yAJ |- An8E]`I;,6} >|!C舩}$&f(|d4|7||ec}>ܛ;Bx2)O_X –-A4o~ի3Hi56n fލ#))g/,X3333}.%rǹπMۉ}ݏ$Cǎ155ED02ظ4"5oI0a-!""w%#ӯUJ BC5LO Srqq=S:ժU+ݻGJJ ܸqrJ&OL޽Tn>-Z({f޽:jԨyyPB>ʇA JE={SNDYnLL ׯȈknayU:BqFn޼k]éV .]y;viɕd& nիW$&8=u6za0> qq 1ްm _}esp𠚂,;h֯OFQ?βepwwes)S~cǎH-.NZFҴ}J\E<~7D_ rc㳈I.^tS9p,v FxDZܭ[;4:Pvŋ0aEԬYggg,,,LLLhԨܟ F>3PZS7.IEELJ7ҿ4iBٲeӧO/ŋ\OOO.\H֭ٳEa֭bll9r榳&vؑ7Ê+PT3{ |H'N`Сf8ۛ… Ӿ},]WQ/^+Wrڵ+:m+jΈO>1cXyk믿W7  sԵLqeƏOժ#])Z-hvA_ƅ `fu@^|i0!O>@"Gps1c~c:ן)M4axzz',,r|02z7u矃|HkO Aϸv-&O-X)&/)Vzyys AAygݙ2ş/|DOEX,DGjEQ8u[FD(Y$˒$BHH*{Q">PKVz0hP2 TQ3gݾzUVѦM"|53gdkHٲeZ*ce5Ymsx{{M1FÃXbݺuTRL2Ӊ={ѣG(U'*VH߾n:7oZ-RJabbBٲe ʕԔQFufǏgkfXt)ӵkWD.ݹ+‚3g;&22J*^7"htibq#FȖyTTݺuLLL(Z("ByyWVsy&NHZtqbUVe̘1lڴ˗/|˄)F$h,x=3ܾ@R6UȈEaN]VpCOl'C NТLJ+3C|<̚ 3AnVdժUӇ^zѳgO[j pppF׏跗EQR"OP"EY(b};痷ȷq^7ѦS]m w\'''i&Wٸqc54GKFiS,sL!!ỹʔID$:uJ"66{=>>0`8}[l!-~R>(%%:&/*#!zo_j5׮]c޼yoߞB G,\m_[lW>rJZhs֮]GGGrJ V> n:Dcǎ>!5j.˃WQ7n)/D( ;w֖#Gj*.]Jzt}LMMŋ5 GGG-G $$m۶ѧOt&MpJ©3݃j5%WhX v޹s+++:vHjj*O3!oк\p'p7lN ZSp:["#yfNÃڵ+Sn]4h@Æ i֬{fɬY{E\\Ép ;wsW Na֬p΍ .)/[B>>\;&sz=oD8iSEY{Gvdɒ'OfiSJAQf͊״6 PT/Oa5$3a}7o2m4j֬s}͙35{8-4hԩ"Ç _>C?GDXjU9}4ӧOYf6mʴi8uT(l=ݝZjQ~}ݫϝ } stt4wɓAdd$[nstܙ |ۃLJիcffٳYhTX1Y}ψ9ΝCDXnn_BBCED2T1 zTX1KV{ݻ?̝;UbbbB㈏ To ziɉ5jp{NuE%L$X ~5[PvXK}ذa2o޼l|=wLM4l>>9LFB<…eebbrfo|NPPcײǏX, uaÆZDI0&&VJ/pppeʏ?pԩ^fu ZͬY077ՕÇCHHcNc#@A>3i+bz;vDD8y{yXVcHx>ã`j( ԄGfj5^%*hU$x뇈Я_l%4ܽ ~+^ sraag "bjK ڕʕ8֭ c֬@T3gb&y" >JG#EbEUxӦ+D<'rj cccϟ眘kW"Z Cس'1ܢС`k% Jy] V> vZ N@Ѭ_f͚add9 ֤}vҥ }e„ <{/HӦM166~{6\gLD=aÆVsi[p-5p`HK6`̋Ooķ~cccߟMRSamL/c( |W;DJH)ą ܾӔ/Ӻ"3Cq,#hHܳzzzJZD.͛7___y8qBqңGԩz/\ ~ɶmۤI&=g?w,E."re @ rxժE[nITT$$$ÇeҤIdJxԬmP ]E*9l$R%q"mg09kv)]v˗/Q"퇉[DN0E9v]EOrԌx>*bj*'b #EnQŋgn4'1a&;v쐪U"K<{UONhD]q/_;w@``XXXu" @?JI2jTg#66rٽ{>}ZJ$22RV^-}׺uQrD|ԫ5TR^ٚ)32R#m۾Vls`:/ Kٲfbbw^ݻ-[V'e«Wܽ4lh,&H>R^ޕQE]Ç".."o''j E=T*IIIF[*dɒRreRTRE*W,nnnbmN WȤD+ꄛRFMYO9w޽[LMMN嫯zH˖ ȕ+WÇ$QQQn:YrʥJQFA;1Nxw*ݽ'ҥg"ț |%|DVwRR5Ņ~)]zJ|4mڔsf9Ɔƍ@(Xk74עPP!,Dy h㣚5kFB7 LPe80m{sԩCʕ :8 *Gh݄qK$&߇/ض\ ڵBe1Ү|K0n8_nEwR&7 ǏץPD jժꫯ8t&e6mׯ_#F_allkoaL4I7r "i?YzD5i҄kre-Zķ~KRTjkNL YfYJTЇkذ!%KQÏ3grݝ'7)X> <߂z5>W5R(V%}@үE@NxF֭122bٹ2^N!$`ou)kGGG3|pj֬׺Ki s$Ú6Ωx$?3ű|r\]])P@xn޼Ɇ Y,u>k3UV{̜9-[2 (&c:u]ݨ( .]ҕ4h3~B IDATP6új+É5f&.?6+x9+VM@ʕ~ ˗?̜93f0m4Lĉ>|8}cǎ:ajc?r蛿۴iЦM}|%9׽0afff-[3g7΁kpwwGDѣG4 sYBѾWtiu%fժUFN#Oj _  A___Zl{)R7f[En?JL,yG4..݂?7?UqǤ Rm666TT-Zxr 4h?cpܢ([6cpŋlvΜ9T*ؽ{w?d"#^V <P/'Fp899N2&H{| QQJ:+WPlYlllXp!ǎEQ`: sмTTK£GΜ9sEUSq2/_&嗈9rW~,ȿxk/Ǹ^hIuD,&郢@OiByNOaG||<˗\r\~ 2wT)%J@D\23g~yjZl)Eё%KRti\2ݝݻO?1tP=zvg[QvIr026ҹ=Mt tM"E`mSGG YQMD(6HS q4DEE3`D$_hΌ"xݡp22H%WryMCV UЦ;:0yuFIڶm릦*k% bflKDӥK0Gqbb8G~YEhh-m#)9jF0e = 3g¯j>_P^= ^3((ŋcooOVta/\(gO%::_~~~t֍"EЮ];&O]Sݻ!>-[0gΜ7(6;b`D0!wvG j5Xl V> Be˖T*=z166֙###Bp1t邵5"ں~f޽u)B޽133{̂FbÜ̾URR˗/Ǽh=]lMN::"*w .Ъ /ml"f(L嗌92XOݺUVer*ΝӺϏrjHd+ +mϟF陜k M!4hHhK`kk?3y (RDK,-pa=Z[ĮK.gHVy!z~LweI{6eVB QZ5fJ-RsBD6m:9}42OܾX+ĠA`~4EK}k V)TvWؼ N^maԟϟ0GKfO';['X0Jܜ)Sr_|I*UСk|}R\9Ν;h`TVڵkӵkWUm2m4ܜ"EB5hԨ۷gϞL6_7CjL=Ӥr!|P>dV駟033ڭ{]wRS4Pu-HLՀWc'0k/\12B<+7ENE}x?BDМ~.+:^հSpo[(|R+_xnys:QWgϞdY<oRRCIw+2z[jbcVEWMrr^ rl2E ҈QHm{khITRқͯ*cׯCɒ%Yxqyrs N6oL6mtS&0o(˗zωѣJ1W1.j>da6*3~5hZe1ƒEd +68 ĢEtœSSSꫯt/O?Yf{<QFHQݺu155~`|駸ѩS'] ĉCd]Z cĉ:3<8%W 8yPO4 IIITTڵkSlB \#v60htwqֈ=eL;WC#}}c?DwkFGB o#&; dE߸>\‘`d[8|ěʕ+dtR33iРݻwgܸq,[}qQfΜIvtmMLLpq#ٳgObҲc#-ŋc|9%CgGһwƓV={PL%D֭;r^&>lb:U]*oFB077gذaLqqq 4H[RRR4iUVե6mFFF4n8K%m2C?zD)Bm}3돥x k֬IׯJ*1}t޽awq-6(&Ce̜`0{Tc)\*VXhOY!SmHш%e?NC_/t[h=L[317q> FjӠ( ܾ}l2ƍGiРΘNꫯ:u*'O4ݽ0fL*楲i5ܽ|Ԑ!ԩDbE` 2j:֭"1-[d˖-šhزe 'NdL:Sr 9ºu>(#m8 'KԩSwֺ Uv7n.\Fk3st7y9DD޾<  4"mNlLp>+^u*T_O@||о}{ yJ\~~~|sbTeKSx';*S9;A! vNO4x6 d8u4 x{{gp!FD(ۧaҤTT*5"ڭjU5i>]o_;w3vl$Ŋ3n\Opo J"/-ubCOLL|888^d`8;G$ "Y:1-p3f@Ѣ Ŋʪ"Feƌ7<|ԩxhEK ~= cԷbJqproO׋_̌TXzg!l W0MLh|l az 4] ^_o0A@?g))ھ-`FX@0§)]Zƍ\xD'꠵={c/^Э[7]VqŊ0aׯ_;'ԫH8"*IN\YhD3gdd֮] UT!&FOk׋7ZZ+s1DQ`ζ7brQn I ;Lۯi_^@O<Ⱦ8ӏ睩=<h l&>_mzO !` >tp3_~̝;''mo2X6oތ=vvvL>]G\ IoGGG4i+`;T6͚5c:~\~YfѸqcMBpwwgĈX'NaL/JbڵpAf̘i|HC0IOhq:XΆHJ?ūkK_o'9^ ) l.\"AJQZ8В+NK*  RX(=+<$'+t?DjU+ h ceP ښaÆezXZZ2jԨL۸T0w 4a٫^w0 ˼\XsP(46п=xAÙZUub.z"ڄwqL:W.Uba+L9q3t4;C>ʇA|عs..Ą^z ǝ={IW4jԈZjD\\of֭L2Ν;g쌅իW Zw-{{{NJhh(wYyw,20em۶TPSS nByom4$w !!T[adI+&k V=֤خ`DCN]ŖG^Y,Eͩ\rjx5\́W8, ڍ+ΚU>B*ԃ">C0q",^ ۶k9^lf"V- k`D < ι(!A[[?,,t]K0fL$ɓ'20ߵ>k4oT]󩹚ݖ ۷CqG# O_`ʔ)TQ _}-WpmgzJgRs-0{+|=s)s\Q`y(4cebm>aZ'?Cϝ R8=iNgQ/` rcp(BRRR)RDWmt~{ж/*U*Gm0l0,,,RL> Vj{b0[Dݻ.1Zp-YTiWU<p8%XK_Z 58ali4jK'*6 @;f_C̐Oaspzŋ3sL]΢;`?{Eن}_NЋ4)(*( vE| RT@&( A@ EZ@z=B{>l<= 3缯+&1tҍ))) &K.~zoΡC8{,W"I9 > +[~T(*8?ބ);G煂|  ۾}-R8b9jwJ c@=ϝ;Nce:4r˄q]AUaRmt} M=Ya~ #'ç7*EaxUK++>55 ͨ/n׮]iذaʖX\#W΀黒+VX}~k:HVs*&|1p /[i>C/#W>hPN/2mZ6W_(1KHPټի12ʂ:o7AJrh۶-iiEW6>}4"^o@?cfP_ަEfvؕ;0ufK oJ:ϒsPf2 ;Rm34yH MR!iߍ8d´_U3 .wƼˣR42)C་dZd;_΂ R6/ӧ Hqφ5@ ]O>̙i&Da1h{4fS {QPQ֤xA>{Yhڴ)PV\ЦMm5WA{&vA2OÎYuرիWxb̙ԩS7n7o.pML>_M;Itz>Bɐ4RXz\rq`IqDdh"wS[c?uO'=5q=]`~ yH ֜ m <>`^^^DEA [rF;z("ª#лxp_=f)ȁ+ȓOXS*)T%4K IDAT_kŋ$x&;9SͰ 1Ff Ku]`ӕ7ٳ'"Os=gfCPj멧~FDXYΝfWO2_}[Adg\dI3*$иqCfeV0!">8"$DLÆfT|^x wR7*|9F۶mz왏݃b7ח+:Pxãic/g۔X+_Ϗ *جj{1.\Xh, \'P*y>X4[OUaM`jrAn?\r] M\V\곊)q(PmVeL}P! `Y8 ͢\r 6]#zcZmI_ZAYnBDشicv;'R[2eڵ+4Ur^J:> >~qjnAAbH3N9v!$2 "W}qZ{6׷خ'D\&k2JO% kiTֵ`I`4k_x-hE$33a(W֮}pzw|M´4+w;ADXmfDF(.,oo3=ff$k,PB~EQ&LPd)_-y饗R{@@;vA#Yj-7n 333uADbj UNATҁB/'ͩY}r\ l'p+ !̅%xυW755xW"O7ff!Ekg C50[Uaܸq_]raO d_S$€dN- q=-nݺ 2wnkb{8t>>>Tm~`׮]xyy1p@+TPR_q머ˆ6ㅊ2;˂o#vDҢt7'&J6AS*m{ :"K/f]7o$!!}n t6Ju+/t:H979bt zAzD~ߠhu۠ uo5"<<Q[xTN~bo߿?_qT\6mЧO&Nرc۷/2amɛP evaZ68 oυtdBXOʆ`F [q;|7 k72C [VUKS$Raih9I“5Rx qٵ$X>߿CO!*&ˤ_lXl{}#iQ5tiRH( W4'0R(n:E,1M4)x^Jԩ/ѳ0K-[dԴܡK3dјPސT v1?dT5rnw1X24qTqaّ#(Vhx " lMmCPv&ln, O;k{N Sdv"<C%7!rP}&̂ra`g1>ocQkWZ̢JLD2l^>]OrTjvyzKXa,_~4h y~L3i$J*жm[ 섈0wx6p] N( :e˖%<rZf3̅a?8 9΁|j{H 7V&%;ɒ%3O -Le7^G6bS6zYPNzEȜɓ'yGiԨ<oaEv^o!"2f& e72+A439V=8Mq\W_g"=Z~Asp0 RNs;ОnVE'ْKPk);$9;G(Tn_}(ጫK״F2X 1YAy<VjdIɼm3nsMTȑ]kb35$'| [شɄg Z3jT{۶m"z5xxh{ŗ_xvVYn=kۛQFq*UDƍ -Yc>~1~zE͚5tlٲȶﭴLxD<hf͚Ef}Qn6[ 7,At:zk]$bqјP~qHax{QT9aדXT,ʙ(o#:a p/:B],o9 ^g!ŕ/y8yO]khd:P,8%2 ^mW޿|,}JR4jԋrl2GuB!ai:?A50&nlE#XxH4X5BaȘAhX5kKZjVյAJoӅ8>'PT2Њ##:+WLJ={cǎ|bUgV}plr׹| nVJZVEsYVz١lPx[4}`SggziD;CxݩɆoOv7g- KS0E]1r: RxXI}E0Vȇ=BH]o@ڵY|9ӧOgڴi٢/M[Wo{9l`.Қ'sӐI>^ݶOf [Csol# 6B٨*zN+d-zp åKд} uy:M4jdOsFIã9s&w1Z*-?௿b͚5dۅ>POŊT sس}vO?ͦm۶Tޚn<ݻw-0lڴ#GL```R رz >ڍ`6[(]4?{S@4 u%jJ<< i[i1X޿݉ eYud-gZ4=6.8ށ=nDzjqTU-cA6Qۯs(;h`b`s3,O)f3AAAj*ۺo+9c%8؈Wg3qG-%2/ݺU\ժiDg^^999 :@Dv0uT҇m|5 _!š. Cbyǎ<ӶkSt9z ;`iGyXm,z+bJPzNXQtڧ:jpؑxN*8Ww"ICLY69gh)†*v`U)^U`dZa8 [?A=+ЮCus0O1]c9ITI&R{2Arr2uԡK.ĺDaTe`c.7H7susXF|.pcXm9!xCl#:7IUB$ J[Yr$bG bگϣ5'QhU'N*K0L^ K0)oQ༛#|fnw_h7I3p_Xy_wa}Jx-0 ##ӬY|߯_h4h"?"" x qq{7/Wzԫ m>MժUgȑԨQnݺzGiݺ5\4H̽ _~ۻ4=$}yJQv{._M||<:tt̜9iӦ!"˃Vs-Emʍ` 0>84@,ڧlEe f4# ߀o JȈ+_*w@gc-GKJ'XF͢j>'lYknRt=(nuO?v\ęFkSSe"N!Wh)v?HPP *8薷^$DX&pRx7Iy LP"pbt Ҿ}{|+qPu]rat*ki6Iq3 prhqNK,tŲ3Ta**oYScVUvB-x+!3/Ap̍`4 `ZS~pƍ‰wV#VeZ?%UG||븃իڷ˟7իj YYYn-rƂ 2qA#vAd$=z___ZnM9r$aaa̚5 aoӧEЮ<*l|pM&7K.nߕ[fVL  6Y#yMYN22W!4ςï-pc!.9ʋixj?6 ^( 0YTrY8 ,n!+9Id 9SUUV 2*g8)LٝcEbv,xDf#*tCѵkW|}}O>) o^1vLUaH3}?4 eTt4Ǩ/J+h!QGvn28P ^rq t:ӧOw~$o]2V^c-c1KIƽ\ &;,@@F6R ;È'; 2׬'0')$ U#Ub^t,Ÿ\辪j2$:W7`d ,_$Xnaʔ)/gϖm۶I&Md޼yr%QŶ Lb[S""X$Y u/M$:'1b]KcR^R(Ag[~SED\-Ev.Jõk3g%&&]*4R^ޗ&%Lr$жAK|(l-HoKDڵ{K"Ed '2K_9*rH%-D RRmأ];!):m裕Z9.z^w.oFTe>q %}zIfmWE*TRE$8X䭷DxB iٲ>y&NTU^/A.]$ .K&Mdȑ""RӭDJr/x%Qモ!COMdvLw BLޜHy/""Yj%&6yHS"E%qn"o?"2r$ aل2rŒkTdQYDx2owI~SlA*%Z''@ģ?[$g$[媔kWIkoO=m^Zdh_3[}9-[Ν;3|𕒚odY" c&_ىMkWmڴ`0`J7ӍLmtefcB\0` #XONn͂c汊CdFns)m/<<'#999\c=#,y~fPx,3jט۵2`/ qHIKfEl#3rT29!vNaV _B PK2F<qS<^Zjdx] &%dei>^zk̞=={CM=ͯ5 SJdT8z6W:>G}n:x饗x)[,"'_õ/=\f1!JO3c-Աxۍy9q&EbQ"F!;׳/KULӓHQ`AbM $2,5:@k;CULvsdee~NJ׮]߾x,Y+WaFX3sMZ.)Z"##֭Fȕ8I6beGy\%só|l6PQr6O IDATE[箢*GJ;v]a o222)W+V䯿`p~( g3lKCDa%Lq8L[r20͔IUy:43譶'ҲF,3Zl9d[><nq]$ X V*9 69҉E!;毆VT\~n,7ͨ799]iS7ov, )))DFFҹsgTOs9vc\:23avvM޽;mڴyͅŻヒbDD_BQ7omV-et:F-6F.WAjS0RH#;b0`,O_xz`qp) 9RiftdƷWUSӒ?**mMHjq|v"kc=2i 6v}R$c4'b74*EuHL櫒q?xH@ss0Wɭ͛1cE)]<**+K͚5 }..7꣠bEe-۶8'f+`4b`2#IQuY@~,TfnEa<cn,x~f0ϳW^kQ^=^}U^^?GAlc繛;1=09rXZDiQ1,fDFLXqR|ny uD |R2E.hUv64jWX$n|9TnRaIOעY trN}h }Oɓ)W<":D9"{وW'JH͚u wKHHZjt LJzj4PR om`\]ٴIxOrw^t:?# H*VH~W6NO>UR+Rz4YXcPUx,.bM&۶m/Ps D!>H 9|*|}jhCɢ[Pn(;Xg1R/' U!6wFwlF\y0ӆ>PL^zzu=[0`uֵ?vXy&b2;w.+VDD7nE~]S,#$%%j*O͚5|}}i޼9&wވ+Wf괟ٸ΀N6#k rN#YܴXPUpC!.dAa#gS*] i9I<V&8Ln۪dP(69IC72댇! DIn,UH[p揊BEp.2h D֭[{5Ry,3 g].~`8?0v " "Lf`v3`eDre}:uDٲeIOO'#}Y@VK%0L7v $2n+/q\Љtb;gRY8Z18Efj&_d>'/pj>;J'ǒF2ӒX*) @ٯߠ8\Mqq#=R da(0r^=^gE x ogx7oZ={6" A 88бcG*VHٲe9p -ٳmڬVZq ^@zfڵk^ʕ``J*eIn:[Zj7EQ8w=^} lْqG*.\`ʔ)kN5mڔaÆf̙c+$"|+!"thQɸBˇ,I+r. Vb6]'}.S*{a{%> u݌SV3$[Gfkq·]ljQl띻G{>v*|s8hN܃C7!ȣJ #KdЉ#4[=+җ}+dĈڗJ?vpN#OcLg&q#V ^V4rs5KfLb& `΍c RdӦM#OG?1lyq'9mkCE%=/p84͔ +#9Aⱨ*]20+UUVU srxݐpwAC:M{= ס6l4vFfsL;Ɔ@?! 14a4Ja45j>>>ԬYUV}/_n&(%*0k-._V<233ܹ3.]z=7nDDhWfp?- EWaaڹChl[DHH="B2e4)R Ʒ;<|Ѽ՛={ &PV-Dz-.]<`ŊL6)-CUl͂Lw+:Z: a;-m= ~(C:b79fH$j$ʟv0hqZp?C)y2uΐ@8?rgS _(%9TU&OL$ټOOO~ML_z!&#]÷X\h ~s۵b@0Гm#:$n)O>ˋtsx1h;aiYdvUsc&9I.K!Yo8gSV\X8%=XKnQSq 6"`)sPUx=( AǠkn7`֭~)9.j|'4SRtnf."fƍ9EJfԩڹrEZ5=KNW$D<`3ſqqG裳-Zvڔ/_|||m{a>CMƎ;HMMl\t$pQ߿4~)vUN]v_C; ݠpM=“)Pg{A 8[Thqu(lqcD-1L!vP&*$;X8E_jwSsIj/nWc1b?s޶(2++!U$-Sdt_v͋nb|c"#ezD)R'ܹԩSG?A'?)&S9Oy/W/iH'C|%o9϶N@:t|ծ |O&;[w//);{H ϟ ,oԨz9th Yzh"_;۷[^с($3 _ZzI>(P'$2"Rȱ`O 9SNG0X7 i%ұFYsEd-w7#St7*l"H+"Dn>)R[ 3mD+"EU)'|s#V/^2G2YD3#!rEUGѯNUWD'򸔓YrI~0&Mx`){%U|AP$fY)ۥtܾGlmUWMɐlHY$z5[Ee lvEU" FDطodq|?9B|Kex{q?GhNJ4X,)D9ֲ,)!L(5,vx'A3H Ab3ܨO8\BI8Zl;7B۷oXHOwLw-ȗSn3#gabWx |vzNJ]V,TIbdVTR%" 3t9 O;9p.7mPw7,f06PZbsg4Cu f0?OU =_v< BFOYK.ED8wu% PLF he͚5ݻ7;v`͚5,^1v}n*}ˋSe"""\ijǀy={_B "W;6 "}, n¡p(> ,yJU3 pb'%MsI坼T¤h9 ,,n?I9nؼTT&JeE4&\+ﰞ}Nٴ(6Z̚V0TwI/Ba;Eoa!$A2Id<.^#"H!+#}>Z_(/^u/9)%NIu)%G5iv 9?QJb)bDIRSzROt(ɔRWj""b E'b[(dJS *%]s#W0˧ ;RJu+p2UK'r9"JL.2+R$"ҢȰGՔxD!ҢHQȩ(}׵kobkE<=EjVyȺ"ta;J`yHٲZ$UaÆ""rQllW̙"͚%11Qz ],/3fСCG4HN[mwLJ%QE"gtxMЮȉ"Ή%)h]Dv-Ndpn"3O 9D>.̇A"zL.b<#m/q"ëkQ`DlRNVI,TyVJK+)%&r^V\ ߅K(JܨxJK"'%VJ9щN(نRA]gx(ARF2 䴘*3e ""N#RpC<<,SB49(2U.Ի(e\(vc=I?ݻ2~xOyN3|,eLQEr-gd[nɑ[)|"dF*ʣKL,JE)+ED,1A/v$*G':Q%܄.\bP9]%I}&'$-^vi;rGjJM[W$T|ODtb%XFɑk/]ɒ'oKCi%U"$G䆤#X[TTyXo-eߪm] rSХg4r%jJ'" Ȋ~ڸI%;JEņ(RUAi"Ac, "**(HG:HGz/!LۿI&2~{^+'=ֽ@?ߤ_H﬒2y/H^K~Zlw ̯4|T"U%=-?ug}Vw} V`֬YUN/۽J˗WoHK>L˗/ѣKڵnխVZWSnnZ!(k_WffMgqPJ% äJ'WJq҅KqfWSjPJɔ{GVXܦ,öqu5)%NOn)%mU&A,Ny<WεFT7,o"5j%7wTU)I/)JNa9C! 'Wv#U:^*kM zyzdSult{SgA*k^ RuoZUtjm߆{oMW4rljhv{E)Pqƚ0aNzJ-cCtLQʒ]A Rbt~wHOMW)UPW ^ȐeȡSHu9uAYPkjH*m)j+Ih]$I/rꤲ4}5R_*D-C K~*&$IW^i稄og!?Iɐ[}4XA2ZL(KtVYܨV̆iuJ>kJiI`|=;J^Qp99EEi fk tyio`&퉐|}uH! ':[I~>/"zqr8~kJ+^*5txM4Ino߮W_}UkС>x~XzȨQ:uԴiӾ~_ӧ+(H\YW5jԡCa3f(44TӧO~Q Փ~UW/ȑB uK/H&5'_XI |j$)5Ku4)stp x;2\j5Wo9;H1iEofҊw^ngK:q ~'#LNXd4TE)iR+,B=UN݋DzbaOQ)\:> )/[2XEܼwaڋ*Q9>a3VRt^[Xܠxyz0X`UV%$$~&55}RR.p e9Rr;lnp7|o}v ܉*"82F ժ,lЊP$RO`܆)PGk|$* !cų>f\p 6ҥ%$f'cTΫ #i4a!$R4#Y%j,<pV%%{YF1. 7A="䗷OBu+d:!:< kI%dۡP-~Lg=6邽m0 s j?flw'nLa4شW\!((@ua̘1ٳ'Suٶm[oYx1 %7nADDDzuab BBB6l5%KԿF૯di:k*ubaPA}`޿gmg +ﳫ䇕: IDAT!C @XLZg=8>:x_PKg*7n 'zf:ޕfC5'+J>l yE cm} nbDZv>9s9Ry~&`yk'n2q2LN(70!Lg6v&3ߘeb nRR B~;eʔϏiLGQϬdl#q'vp1. h5ҹxM佌uq,#v'DK\X<&vY  z5k0_ݹKeZ楑Dr~y7>yX|p1LaJ% |Ukc/$o1PKX3&K=C:hvmoDU.QK̹\~n$o8׃V@jxJ_mxk.1?ξP/zNEV\ -e"=='Oa~&O\xa'ob㎻kaumkkзE\degܹ 2F!Ν;tyw /߸sp@XvZpOw8x":= =-%) bLwB3 B¬=C#zgbRqry[NW$K孄59+9$l%Wt V0cf-8#H&I7TpM߄|' U#꫺RzX+\qr*e|UA1՚ Uv{$"*VYפIԳgO 6L5keEY:갖*Gi T,٬]EDឫ@nS)S}+YY5P ҭR>I R/9A>>d_zs޲͋Ѡ픜*U*yzaxGm#L ǔ._Mo/Uj}QlR=W.@qJzz&N ՜9 Q\p!Un ժT\"Iyzꥇz(ϖ%JkK[H*H:)#Sziv^u@aiK{,@R҉KҐolU/~T|TJ%򓂬3RZҫ7@jy}S]#=)FR5z҈*Ҷ 3uX}JSl.d9\U+YHJɦQeJKȯ^5|PUYJWPE+^隢#F&X6 EWWUIRYU2 I6ݡ&Zͪt77񿃛M_1j^j3ѷZGtJ+PTEJUJ)C) Q%u4V59LUE=zH=PQTEUHOE*z@ ڪ2(_Si= ˘%?c|},EɿT4T2PdץWu%S)u$PZpJnL|b2%y QQQzyP]sB>&D51F(59S[ 7J/ѣG tWF'U: uVTS-t$v)FT]M +C!_ş:*֖TAA&ڢy[cr(jdS#\zU*#d5Nɺ,*cG/ZHnaSs6S.,'0!}AZ*U-'#D:եzK>E:tZMb奅Io'5U0DڹjUI x'QRD C>^ -ZJݺu$]V5kTٲeչsgԩS)n@@M 0GMW``~'}ݪTppyslY|y)2\~}驧n*$=[tϜZج\7]ݧwߧt.*a1ii3U9H (~>?(UMjWx;gwULMR 4-iF4ڵK+S )uUeSZS•ʰxۃWy-r:o)HMU[t^]u2 ! hRUU T'j+C)4ꄎ+]ZzJTJj[q!EĿ70Tt"=dSTmUڪ:蜎)ؒL(J)WSjG TQ[I8e}ek4uD#]>Zz\eu0+WH6[l6 Uj>5jFxըJ+5W||Xm߾]eʔքcEi|wHwU9T\NGdS`dzW S˙UYՄGe+HU&Ӯ$9Z+'ZZ<#CC>*_H%)Nn}vMuQؒ >"-h#=iuRIqsm%Iϑ,U.#-]z}MhXԿCp.R:vVZ\4gTL$ Awdi}HBѧ5ĠjҤTJU\EO>Wիѣڵ*T;wI&4h5k͛f͚En5l*W;wjZdIV4ӧ7?;uJ=ZOi$J 99Ҵ]Midi`B,(M/}8_tV~eR%ۑIˤ!-WϘUKi% eIH?T5Ot.L&%J+HepPe+BeCU.j RkuIv/A QB#'Nh^5SbuMa"6}|-TQ*J.9NW *p^s-I"ɏX\7dN8ȧ',+_vr^W nO~(%u#3ׇj8\*>am ALL m۶%/^ʘ1c?~<%~&g~}Ѣhժ.M6rRy___j֬ɝwOA1sE;vĉ rѽ^} "ƍP+ ذae{Y4p oaxSy ^jr$; ~_ܫ cTpX?x"|v!yl:G˱U$ b~ fNnrL]~ͻ_ j[ݸ G6ZÇ_l)0.79X7Q"rN9V)I Rku>mT]ݪjj0V%jU"4Bl\gO엏l lTL2MuV6˦zeJaRΒ3QJS6 njj-[>H.KwRT֊(E2BK$IWGFW оSX|} ɝ*]h*[O}}rF_->RLLv]˹ڵU{d[cV)X,ENn*m\"3ðFm  =ѣl6y̙믿΋/Hԩ;ېөY3亨$^\g>HVg̘$^8Ymp17u+lww㼲S~q ڣ BWi1߃$.PFWv^n]:vOIi)li39"+;[8uʻ"(f1֏4y"{8zIvH>}Ȁرcu7'ynnrt%@iF4!89~[S|}} qa=4x4p N]oH/,t&\`G8\-Fsq|.֖\葽"0j z| /I]hxxMȼAUcfT+6oetwo'&{TwÇ_CTP!Z0_mcwo9Y`:SG1qlULUh`nr.`Qw?^ʀgqm˂%Gb5Mva0ڲ6G9DPAB*o1V`c#X΍!9_f/8ɟri +_tnʹATTuQ}WʩLEJRr] UCT.K|UFKI'I*|}l!UQ|>EJ.ZgW)N $[􀔳MzzGe%YV鋗j(fm͝;W{l-\nF w^zijJ"pI%j;A;fOC#rvThsl?UG#mkqJWYǕ֧ߗf͛o"I%mViIqʪUZ\ʕWe8#kGh{+OJ#KjKZ]Ҝ^ Gc@i )6MxYYXz< ].&MxŔg(d\v5{4[J5HUjH>%ILD<wy3Z _֯r kڳgW^2$G͛gꭷK:tVz\>\2'5Udb9ޡ٭ե$TjYkoAI_nYOZCWlcViGW;J!U 2W+KK[ڑܥ40X$Y,e[KKjHzVPFye%_Gjuףgj]RBd \rN W^!jz:,sܥj$GsBՋey)Zʰ}䣓Z+:lk~@uԴ@{Mqz.!YB蒖ʐK+zQ2$"m6 #y˕Ҵ^N%ǧ}Uk:X ɷ7$)Tr}_(^\=PʕQ-_g3/_PzPń9RO+|k6׏?cjҥ$$ot 8+6|ʘˠ'gնm[iFiiiʒnWvv3*t % _U֭[}z{­5|:?QӧOSXe9Gil׀8H{UZoXYChn:5:z^^87*[?(M?*W+Iv Pb!=wHZ6ij ).WzTwy ,LSp3R݊ҚR&M"d")uG8R҅"x hJK1$(NE 1 pW¶M~VIL3m6ApZ{x/6zI%KV9Nw.obŊ=:.=zWxOk"- ֯@ u¤I%Nw'‘RXRtEޟ=m)f~ {< @_p@hvJͱЙ\)7InӉX=RxWiiiSZJd#cLq] Y6'V7v2` %KN'S̢\+no+WM{FntQ# y͕!8=f$%?uJX)2\G=}zN$3TNO-TK):ǚmҏI>ґϥ f'oaKm)ҥ?MI{%GT۪o0P2RVt+)'AZfn\\/ q$[d$iB:Hp虎g?h믿j޼yZz/͛7O111@G3F2Q 8yD>>R>r[DC{Ek2juG(ZT[mTEM:( 0dhP% lTJYV)PTMl)?ՒOYiHҋܶJ̪& 2HѪLE`-xKjWΒRfKKC TQ3 ҁߥۛ?*Փ*Wz<)U&rfQ van2K;vL3g٣-[jݺu׍?zԭY:}76o6瞛+]$f~ʯ(!Mz ҠfAz[jlvϽKӺLԼdC)1G:**HWGKRiIMi~ 3USuMK]ڧ%ehRh">ru&???護2Cij(T'd]Su`٭UVZ(VWʩ2-kRuA.I*QKfjo[pc;&[pmfs̒Xpd:ĐO\r8`Hz b w;bZa$[ zONW K to/r#L̩V͂ױi.\X :4Gp^Uo<\x5`YUʜVt1ă>$:t1@Yi {+wC탡C͵N:ٳy!.Ϛ5kS>4"_su#Dγp |z~y9|2H$)5lN~Gɦ>1V-D‹mÀjX c=3w$`"(뀷>9p>)rIX3 7dխ˖L7A69To6O=˞=7>>>'xV4CEݺeqm4mme0qb.ϗΟ7T˗7@NNC ED$TT|5l <.2dXOcan`(Y`rNpj\ .ñ~q.K$|Mbbbذa3f`Μ9EIwvqĸE?<2 :tPdD|„ \"050i}+= MB8¨Dyy3sX^|EJ.f+i֬M4VZm6_(H'M2F?VZ( Qc~R͂wW:]`V ӵ ʕ5eM@>G 'O2x`VXATTTEπ/o¾4knڟ 2c1}M*^Bz!zEisg+b9rʕC}z=jj޼VXvpҥKY`ܹsD8o9"4+-~ ^3Ll|&x KAL= Qav!5lwc`{t8у@l1[$69X.#XCnft8>5#U~39X7 À{=OªO"akg*xQy8Y1N3|͛7;$<y7\Ӟ={2?[2. &O|;?7(\E#i"@spC| ȜaZt.NW6x~6l#瞆'a_s0`v߄}\m հq=?5/X<]tA~>coԨqqqDnGՐN9čp?iѿ '޽~W#MΫd!NvNg2F&鮚8PqZ &Rb? ӓa͓8OF8apfwYlv@;h2|2hey{԰;!$#@b=LwQ $QGMp{O*~La0 عM$&$h.^o$=荶4jԈ!CLڸN~QP1S_׿rݬ\[oߓYDho˯,B49rKa{;un 9^dr]&@YnFRRRhnʕ+Ghh~щܹs,_]9[o`>FT݉*naÆa٘3gD O K&\&!_M; f GOZ?RR>0H<%Dg6[p"w'\WOp/#B66Soܩ’׼_YXvrd9w?`< +@u^,vN鉑:u _da}bN89mWfĈ#f̘C([,?p)p[wpJeM-\|#'g8VIsOF9Dΰ~p%v2\8֫E򱜸He,F2$ݦ8zDl2p2 4ҩbQd z& a~1^jzLO KeHKLɅse^ Q%g`ΆC@tbFʕ:uʤatl<U6̙cULIe Qc [Ұa RRܓ_ѺrŬt:aذ};굆?[nA-[s>ƍG||ڝ_)f4k= 60?"1_=T"' QLi8yO%wUQD%Bd BP~\)?̀fx[3]xBU<'z bOJA͚cU,^]-4Ŝ9v6ntRf:g{nJW?t떎͖D֩źuv22|kԀҥ^xHL2'a!ؾ ???1^xIyȦZRS4L8 %|{_]n| ;$I;^\s1gf[o sӡ8k,~˄!\{.zgl9~ (S Zճi.jgE>jԨq%h63Xac2O?jYSHrQ$O?$<l#_DZxgyG(W5jԸ~*%7GTԸw1;b]6g!y'Y 8<ᆹu ڣ273'7 W@1BbժUݻw#((!$vqoF=D󺦋Pw\{+W~U]-epCŽ&p7&Wv!pr:pҨq7YXݦ'1v^J$B^w1S ׸ 奄92GO`)/A[믵Dg„ -[{n"## J/2qB2~>[?S'+-İɿppvR32> ?)܇-ޥl!Fvw亻by%r9^,~ =#F&ppˍ =LJvquן'g'H +d rUF.lXs/vidM%&9pܵa݃9y/0`RkU\.qx]شJ>HMa>ٳmKBVA6V6~keb]|gΜAv`,~JjONbq1kǎ㣏>we;_uP=}V-$$(s`u$~;O 6 ;ށ%dB_Ai& KކaZ.憗Ai8jPy8̗ߌBn [HXX5mn7ӦMïiӦ}4Ig#fG,و%f3iD$0!.Jq_%*~+lsOǽq`݀WWoԂdOi)s!'^<TߪlW^_'>v.Kӆ?xN{ʟF|B;|MBB RBCCMK֔lx|HL:1MMptS%81ohuIaC{̧z&@wߒd1~49?%CnwS"fo{= `ʥ``0 ,(` 68S qlt,&3,dNh:Y=@zI5 ֪hhVGIw`yz%H/Drr!9?9^c_ X᫯'Xnڶ͢a ʖM͏];#x6n艥9p-)S&vҘ?JFFdY`7sq:G 0ɀ5k֤AH[A4b–Mrhٲ%ǎˊI<7NRc'_x{c)!/:£ZAʅb3 =LSkynƮ ?IM|QpƟݻ7By\:Lh `XX,$ܟ G:b|GhIc`ąqԪ_1۽٥KbbbJ<~sD>/ ~`P[o@&\oAW<|Md1OoW(ƥ a޶1 qp3Xƙ$ms׮\3dx$X:8H%}a g 0ÞLb,m߫MK1<:3{~\܆DƹMi`ˠ|n2s9Y Ww×ˑ9ap|xq[1MӷX;ш7n32w{upwߥ^zlْ^z1~xL[oMаDw 'j5fJVV6 EBBvm˗x||i,óض͎}rs ʕsN;th;?>==Rb3x`N3>lǎt֍5jr !0g_mٲ;B׮]u6쇛:ϯLY$q%sLWV}?AB!a IDAT,:2ݼB"np45FN^0cOq23`ϰ+_GΎLa/X Ο?ϭXA5wStjk&{I-r{i"4e/MqAtt47׫Ɲw5^Yzz:~~~DDGsWhŸOijfVV$Wk=[CcKIcL?7$ (3q~Il{~f=4mp´l6ZhAʕD6mW8OAv 3 VYp{MuWǔ]M!b ˛X o25 LMX.!rUqW;]]!pqӸpa,UV+,rc1+q:qd bO.Ƴk p.4FiӶ'ɖ%]w*p!DBkEp!mB\B\t,|<46MMaO) ֮4X/ҧOQs4i҄ワ/eʔ/ߪO@@䍛o/z-VV={0~x:v-F`CH"}Drhf+ӧFZ(_<f}\ЯYy!,p0k,*U;3yV.Ze2հm5kRGeM@cbyI:x֛mTZDvhNZC%frQX> 8cg`ϟYlC28_*_CShmR3$TNN5jȗ+n#\Oalm.|aG=^N0{ ւ|Xm0áfVƂw-0 5D '"h1/o\=f%Bមc+&s ڍۈ'aᚇ5I^2]d»*C'n_,=Df=_ymByrvrR7b0/NrStrg|k,ŚAۭ0D!dǣޠei) }s ^P3}^ )O*^5. y$]w'?0VXaJ,Xٳ5kX,b*9r$?/((-[2p^|-ZLLL.1Jxǭesk.c!^ɇSYŝviѢUn_wpLφe0yiZlecǒhnG)/ڼ_20<-jnW=xmNf@&jܪ 51d&Q@l3pcZmZR^VSk?B  m.ʍŷY,1STe0~i(.}R˖1"/1~|NݬYceɒ\׏/'H⫯2ص~M~Ѩy|)o??LrܹI 0VZΆ8={A;$%*&&yɇͿ']aٳwyeaL' ީrK lP8Mi[1 c!{x%1Xy}D"fb|!UN\E$\"ǽC6$O!P1` I1Pn]zE c p$1$kJ… СCKmrtЁn<a s7V)9φg@f#ZVC`:@ZϞ׮raӌ+1ǏoriדUY %ւOޅk{xȇޙ`ol~/Vs}`}Y$57l$N+,)o/V̵6U]denRH&iu"Y{$:d6]؅7ExQj?B SiK&E2pf %0wry&36 &g;a/Dd]ݦX`s0e0ʾ x8k>uvc8T m29N' ɓ'S\;\*{CNMdg?C ~SqY=> f Gy!ǞLQN4hЌ}!0g뮻T=p:|2|$ l*=ݍ^`߾{iii5 ›oɥKHB9/ `$+~a˅ǠQd]y/d8sGeD h4#:wLV+WB QjUzͧG>㲆eg'<2)Y4z=#X"8ML` $c89˜g~M$Ǝ~ʢlٲ4nܘ;Hr+s1|t+\tS])xT_z-iw?J qRGe ~(nH23۷J*r!Eդ;$=Q*_Q>)OڼV\۵x?)^iWEJ C ?,KR~i\c[l$)tS3)f)7Z2R,)Dݐ'G>f7bȮI$e Y]3RE*j&rȦ-!_)CEC:{iݮj*1:ӽZd{""Ie4|]MSSrz}L%I/!U ^'M{\X$KwZ:mPFϚ'X" -m>"R>3˥nK!o#IuJ͚I>>Y3C EGeRRQb;w):4C qJlgVvۭqiԩjذa*YԲ+*ԩz2ׯ0^~e ]ȷlR=tQUPA-ZаaÔyE~~~͗zݪ\,e܉zמ{*U_jҥٳK/)9қˤ\9c9%e$d s]Yuõ{ny͒CTFSa{W':(t$ЫCjꫯ4fW7lԷM&SW5{l%&-i$: ];C *S[ʮ9&”_JЏOCQe"igiҤI+Iӱc/R5jTHf"h<4mVʂ:e &DbxŊ>}|)0,*yJO y(z 0cV<Mo7]V0g53!x v3݃# W{\6)x4t ۞5EKc6֬3SͿ`asMI2Yg/ݽilsP4 .*QY6$Befq@FalF,.:CnYL"e\`)y?̂OFBt @iioDrxHb\ZSIzk50QE2Hq̟?,%]ȯ,;8x2aTLC?{j6AB˗SFg;C/釯Y`+ׯ- ,;P&]T#t:Yf9w= *X89> o1LȌCő7|Cڦ6ѣ8K{j^?GLg J0 Z3g,q?I|'޽{_9GvkāaR=bNxM=];N<-&Vi2xSh9:3I܈!P"l݄AfEru1O¸:s&3Nm-]=V}kθo7ur4,!p~z2d~$X^7:Z^z< TP^ǎ+i4!7S`&ݙIw"04)n2On,ٌd/<ܬh-'k1e9Q8;n\H)؜0) i0Tw{10Wps,OD 6dJUńt]waCwy衇֭vٙ??ϥbXLْ]\TE@@$[S}rc{vA*i)JZiH}w:nE`˖-;}e㩂l|M pHqYa/~/uz[G+/!!W^} ITXӸqc$uA,/îK5IH"1ps$F?2 V.e]ߺw=E~>HNN&Xp?.rN4_JK"0cHcG6FQ^=ɓE?K ,!T zO%+q]̡a XuqsGq` _|ڵ95mzHݺv?5kEY0uYߚ_ z:q$XUAޞ=$v۵V3`70 %M6]Ӛݴ,)ziI|  g`qYoK4+T e0LrAY$$S<&' t1 ֈM 0oy?,da/ 95x pqd8n2Ie.]qJe's|Obɦ lgL+6)$m㳝ܙG oŃΙ˪1][=!nVI 'CZ15 onRʂ`r( `gTLy90 qSɊ4i^SӶm,y$si0}{>AVQm@PBw K!]&.EnA?_r#ի7ߐ?n "MFALf)ࣦ[ϏZoa,_ͦMA 'бP$Ov Kv\*?$>>>$?vZ8]O'3f >>u8O9ǹ,d-‰L|{&… 's|YN;)l$oG9 ^2e *OꫯY&hҥնm'zCAJȑ#!//mRbAѣĕ+;7{TpIIհ!֋Gt(ɜc/`ldEر$JV/u2d y%ǘZB'?x%Ôfeoineea?ŅEva>Pomc  DSD^)&'y=@`"?ЇAvl($Pr)gx30)_, IDAT'#=[W#mpY;!,Np 섄"68LI9|ڭ10ĵƄeP Xyw΅5akJZˠ rkCޞ7\fM+Vճ!B[iܸiljq0sf:gSnǎ%j8X4S:aT3~| [S͘ŒHO7=3.> ^z1 M…HN(( +>AC| ?dΜ9HjFIlӦMhт@aA&L(XqqqкukƏĉyoNCpC'QTP?Ⱦa'8iA&~BH'“dx&]r\rxP|PBh\d N2qL m}M4{rرcUV7 UJSo5kxg@j `]eJmx!.-X@~Q~\5< 3* %GHSrMDZv5}T)=}fR:u"ϼDjDH0[jauߴ/hwxOR.̉6 V&&x5yX\Gd3'A!lb%8d6ȶn l7d+N^c[#L2pЃ#A Λ=tx48JHdKAg.g bxzi -£ްe; ӐX'`NNZmݖ_3$nJn`РKكl7SRX9adVy%v*E׿& !W P ((=}`-aH eƥCSSU%},US $[E^@U#$,BPSAy*Pl#O"U]eFUYzOuJjJED)^ԩV9[1Bj_I*S,VloR2/mK}:IAJ]ۦrys<4rtKui8)0/~H zwvlj(ԕ PT5jVtKblOSӴsgҊo#Inyg;͝;W%/IU2 ͭ'o+-RK:v|EpH5vj Rפ[J僤ߓi9X>͝;W jܸ$yR$Sz7,zJr픝}q/H5$.E:%5nX{QTTzr%E)K渿ʲNJ.e6j'LgKJQ}W9I=jG5.!5ӷl;?R_ =ˋ/HFX"1hе.<'>BS7ob0wkedd7D`|[Hf4Hu@ͩSN畿89E&.be 'mA,ØL.689y>f,cAi4/ ø/% ~(-&L@`` 9W]{"'J6_*%i74ޫȁ c{:p vsj|&JL8x1z tQc=0,+ɸ33IpFDJI!V•Ho)CyO~42g= QS]<]6X%Ń5DA r |yڴ9.~b($H'L&Ɣ"x6$l E 'qc e4CM&f0` 8z1psa< 8"B#<9Rf{\522(OC/pEx={VR%M8}|}\E%m(@7?SԠCҪj7o.GVv|q[R^|Y$˧bEzHV&ߺu:{Vs$IӧUQYTǺ"LWb^sZJO0?۷\J֌ER%y?/߿$lժ#l]uQUNnUUR mQ WѪz:HUUVX˜Yez[aJSvU4!IZ{tgY)+O?D( {;Ðl%% =|t)[bP*3$JsT\A4UUhHnwΞ*-aCv; z """(bytD"қtJ-@-{/?}߽c*s>pHZ9txqC%@͚5yyWi׮Gӿ+Wn]߃ ֿAAAǧK8ׯO`Vst4.PS'Ҏ#f$"J,YYdƲoTg(Rgx6lW&]/ HJ³jU|۶zփɝ;N( .˷sy w/'7m Pncߒ>ƾ-BQ|m>GnN,p n&8QњD؄Ėt)IfDS,!P38߃1QB"-04 Y0E=N^|1ΝS8p #GEٲSjf۶n4jT^믿2n8l6nݺؔh:C2+ըs(9x{}Ν9s&0,z%R5`BVnWhRBpuTcl$`D֟aXH^>뎸O|0"l$`#Z\l4'1:T&LESbM׆g1н;$ 7)4H$:N*fbҤLlߟ`1LlٲfZR/ysi|ʔc/vrp8L0ի3{&.]СNL"8؋*U|1 ##bcc#66ӧ9|8\<,D| /^qT^۷o߿7ϦN:Wcytؑva2xx`T<8x|9GMd̘1<xx~wY0dtyx@ի3`LBŊ۷/M4!+6Fa%UzCȰm{<y|2Sà ?¢eXEVD~f+W???*Vȃ>HSSr4 MGɛMnߊ .`NחV\p` | \ /JЈ qs ([,o~_)SPfMjԨA5lF+yYn/s}߄n׻+__gu GzK{}V_??^~Y{NR.^xjW'[3 kΞ=[ɝ;K2>HO>)ۅ ŀr,y:/]Z|w-jm j,,ҳROI4wuD~/6*眴p,E nf\?V G:F+K:U Y$YedM%E&6h^4EʍO HUʔCNmSꒆ\MjrPzt>WʳK5s`KGJߕ*'͸(M)~R/Uj#EME6MVM @cQZ$WիW~ݻgАdffUVdwQ.-^C͛7Pxvw{wNȑԉ'oVZ=<]ժU+e2IlD%c+UuRJ/T61]v:(\$_d{:tM~Fd%Ҫ[1:Ҝ/![믿oS"='Q={,r-v+ёuPSsWYf,$s^:"awʩ}zB): :ګq܊ݻ5qD=szU^=5h@zرctR]p+:`Ao;v:cn*Ut:7Zch*a7wvMb3ء%I9+W*f[P|ʞ5Kٓ'+m;upY=t4!-'=$6OWzSIu_C.GҮ*m(XGNprm xmƍİfiF?N*Ts9 +W4Mi.C{1T)R/\LEUEbo)W'6K(GFV95C^4,(>jvkiM(M]vez,"#鬢eSNT IDATj*YI΢#\^\V trw7VIK\|R4n\TUncZ]r>j ͝t/_6+=ݦERG}VilծTB,jƌE"-#^/}~CJ*JuWۤ}6oIOL)|d"JTu4lstIM3M9M0.ZT5+],NS*+I6m~o5S[H 7,_UR)[N95O.ތ)RRm5KVGJbbt:/6K 27!Izui\c05'$I?-0ΝyyY6uzH;vԀ4zh9rrpn<߫|Prnj-SN-YPR5fUPAOM!fK:.s<&nf~'ϡn+Xԛ#66VUVU- 'u3F]:h&)Y}߶ƃ~zaekᷬ/re#ժYÕҲ@Y*뮝ʬPZyJXUi+=NӋReid-yu)ܵt0K +9㷜Ŏ:+C;%IZ RNݔ"bSN}囵RG5Hb!Lf%]ENSXrW-ٷ[#NK1yRR"r KjvpTU)ۥS8R&7iһS ŴԨQvZUU~~V-_~k'd.]fso 7w\SIza[Zj.]aÆE|zK|c7ٜ%$ڶ='8&OcZիE5Lݩu5`@^z)S>yԿBǜNiɲ׾5YCRF`m;) T xR%,IU,^d(X>e*aq;})B6S_埙&4]r㋒MThu)]fֳPRA}]o>}AFK +oZEXY222ضmK,\:ueqd&T)>*qqwb4':N-MEөxxҥXу6kfRY\Pf;vƍ`l΍0c th/nҺI0{ '/AJ$_9 O?/t$@8fi=%KаaCB@e=ħ%+e2ӓ`o]&E= w$^7h$\y?X.7kF6m J.MR ij 3)c,^oq;SmokxS'NR%+;ЛoYuw!|*iXu:TɚC:2g.nڤO?-IJ(GRjڥ+eiiL[|.H?cv{?Hbveu\&Eh1R":c8${#)v2ڢ55$]Q?kj$5\?j~%%*WV"29R T6MV8;iٍ(*yHbxf'tiJcY(;ON4iaIv/5dX)p::}ڦk-|fցNNS RSٲ'5wnrۓO>,qBwy@`CZ&ɭuj 7-(_էq\V&O9Z_qsgǤ2 kYWr,س  \9U:ά_:kuîٙ?lV5HKʓUY]_J҈#EE6[)@gV.h!֫֫cA,yAqkSп` Çs1~mիǞ={ nTkۖpr֦ ƌ!\9jEx^6GyosM>tW͚8"#V Gt4%0qJ4,X7"7үbC~ { %\yf] y_N<<\_\D qMICi؈!:-4D)Z`|a >x3C }0xVYsO?/_e ;f _SǻJ<;k,!!fU,zW5p%Wѽk8~^>Р.p2cXndbfoiXJeiM 8GƵ2,ӦU!$ědƎˊ+Xx1ر,K{1b9)+T{J}T…qI^l;II6Z>!<vo$]ga0K?>&݂n^#(& [\rrYY[Kw2I犹 .ճg||R5utc<9pav4}*UJ.>e*>ެ?Gt:|y.]c>XvS6d+ث2eI=;v#MPQ;6E*Dh˖+ȵ5^y:Iv`[Rx\I#>3XuJYD>Zz`cvi lOeRlRoْ+6kf7~NS7鄌`  ڥhQ*JOGU6'M$???}4]n S+OIUn??<6mb…vڂ&O lz>f 4羬/ԭŋ7ΟCJѤɭ AŊ&x!T^3>oDDDk cذP˗qBG%Os\6ۭxzhЏ Zۚ֜>ݜ#*QԊ<$Kfs8ƌIj54h-geʔ),] II6<<࣏9Xt0.Uӳ`vo^`k>]= Х\|޺#VAѐ0qIO 0e`2(uu9E9'9ظJ|q~"-'gyƵQ#䒀pOQsq{xF͊+oy%iC֍*|,Z !4lG3([j֤V>[Ӻ5`(X;0U3!D `'Ъixa(XpyqVs:/t##^`%{W0vL\gHNL.'R4.81BhA*k(GGɝƟ ;jQ&k@)| !t#)Lg24 LL&`&2k^ToD0q,[5L0=`2N^v`/KP6o /q_zuOM lvr=kW>Wډ'&M*CE_[v,w=mcǶ$80\nCCt֭3H `<\u<= Oou,ó8AAUF*hn.iS2o]b\(WΓ.ɁfV"'GlܘKd/ |yo?΅ x^LGF߾(]:qx {1_@A 6[,GyO_K3DfB ,G Xh`rl; _7ȏ\at"H';W1Q$ 1^$$$0j(Dw2| V-mƟ ߂˼i5c \r*OAVl̙'i5D ]BtѴ%uvrz5-bXWPJ79)>NL))A4mIp"J*IQKJg+k8 Gtdp-9'dRC9f/9knr\9 *pn?ڬi:ߔ}וy dQ+/ %hV,Ҕa:g\DSAqKݩ\)[RYۤIrӜҷh.'O0Qɷt7mm,/^bZbwO\\Q1pﱽiS<=o#AiUPkfp8Gpa7KZ>6jx`۬ÏkٲhMWd2mT[UfbNlFG" 8vDS׮]?8߈yHwK4>"C`I3W_PNQ j׮~B2N gr:ْWDtLqqkW/Yv%*W/hirp(bi=2!9TiEM*Tyo+X͑nݺC/ӱgT-mp~߶ϛ'sV&㵾gO]ٰA֜&I|$,>èߗ5*w^i+ l#Qk:K]٢d'Iqiϐ;X9[{ḠVmQyd$Z 69B}izE:-zWuvm4zR) @l6$Ti5kf̘x@&Iѣ6nֻf)Rcl姲jkΜ9ڶ9*>T8nZ%Kٳf89C'Ad?I [$EũSh딖몒ڤK0# .hii+K9JP>XѡCƍ/ ow*Zx[ |KL$<;==PMta8 捁O0]xMT(pZ /`KSw-Æ (]WUR^<ѿȑ N\֢9RS-}w9%gb/ tD"#q:+ ޫCRR.\Ҟuq>.nc߾}Lx%zS$V[9?РAFI&Mh֬?փߎb٫,LGJPf qa#Ե,.M9B[(|>r4XbTDs/q3:S ԣfo62@Æ #<<}$7Fv R[*4kFҩSWpCɓ+o2E2UC  1P 4hï w5- f8LY)Ee.yLTd*A?,+Pxg(M%( 0/~8Yɡ $K7?Aau(A$^"4*$SDhw =JC9/ p >e7 Vx`}1){\MW?cP.W{P< ,@6~iGrmX0(QQ6*Ws]JNNfҥ :޽OcTç6n݀"mqO֮54`_Fj[o5߿qĈrp ӦJSO{qp!ʕ<@96;5xz!Ç1$7s0mZEZ,<~sҭ IDAT^U ^<'nR *88Y˚1y6kzeh_ؽӧӨQ#WAuKrV+ ,رcDEE~6opжKrCHǪeל$c箰T, a\5'qCjS5kR&E+~JόI3Я9Fm^8_6nn+XݻEprqcm-x$NMeKJլI~D,ϞMw_]ʅ@Jha_7 ǰ0/TF~V`Gȏ2>oީsL pqb#azsC(Ui ~ bg5D"2ͩHs*Trq0d?/&_2`W702>Lp% ]!5j1/e˔46 2 цeر0t(Bժ"<nur*LA@@19b( 2va `Μ9lwRF)S}"ƍKӸqix+ׯF:uL\\)wPXnР9'_}u?,ͤIѣRe /A@',3f̠KvSvk;oTkv/r/߈8 J@J.64СCIk;vai ID'>I5Gypҽ{wwN; $rD0q/d2T.g ?8u֥[nnOOO<2=1b'{< $8É8u㿽Fo_~8Ye҄[d^߲_*Fz-ёw22 RgwrZ q._ު~F_~3T)L  xԺu;W:|t:upLK3k%$>)=C+^wݵM'\bXRgԦMx^\VS#GZ'ȓwVr})eM8Y:Pr]Vŋ{Sw$kNB'NCQL_bRk).=.KjzmFEEiܹի Z5Tc[L&*SFwϛZ9){ ˖-kS!!! nr}O4R$)OQq6~fWXI={9iذ!ˋף)S5#9 e︃԰0L֬I޽I޻ŋɽt}e!l4VZw֧b֩Â`R@O߭ty|h-줺 \KQ; aƢ!i7\dN=BfTwqzS^,gBd>ĸ(:au:S>Rkaj:moOS0V ·c Wރ.OCRv116xR{KMsulҥ;[@ӦM|^^P/fG8s&1A-@XX-}l6g$W$0L0f$%uĉ|A#|} ?9Ҕ(ŁٓEf'X"~ǭx{x-RSrŗ%K|8uItt1tz6絖9x ,aߟ5j0i$ذafzyye=΄carwDOTgCCp8 ՀAX.σjժsϱrJRRRؼy3;u"]n6{b.?;6/OΑ&aӾ|$%%~^r (cƌtj=_L2hKO(%OHGJt+9F$_U)QKtXMtXMdVtMWfULeii~QTb6ɑMG Y;tҴS0%A[X^RË7W|4p),6ɒP׏DweAرW:@QE:X]XեM=dӆ ,yZ>U_wߍԠAjUJ2W3g"ԳmРJH/R߆k*[v``/VZZQ3lOlR@jhƏ?𢑾f] OSOԹsp4E p^={Ug㏉E,lY^RԮ])ʖ?$QN{yutF)???yyy PN;4Cߐ/zyv鎭Rji&xsB+EO*Zv9uRjc3ŖTgȪ$%jfK}::5-R54e?^ӕ+Wтu'ҪU+f3S|yVJټy3sa׮],\UV1k,)_Ǐӹq\]aҤ*tRQ>&=Tt6BZ]JLI?L:) iΗl2?NꯑY:Gy,UKNPahTWgS3_ Օkg РoI~v}{[iv_3s$閩5hԩRJ/fSHH~W͙3G,Yü)܉/rXмy{e:#%%E͛7WuX?\C_܆ ur|:Y~~ѡCu嗕vvN6: tpZM)4ypZD.Q:y2]3g^ɓ'NPjTB=k:kӦHx;ӝ:lvj AfYy+fEk:{9џ8?u̴iɒ(&M}Vj㵱 \"0wy^驺p޽R%WM1mD*YY$ZXmN'JICJSFu.o7 HI ehS+Hϝ;w#55UqJڠq SCtY>c^z Ѓ>5k*; 'ɥ?lٲ</~e:Ϗ˗SD ^}\zˋaÆ]ުTx!dSZ5liidSiOq(qsb$/r7~E 5s2 8u$s3`B8F"dr' )J95HP4B}r L?6| < [7Z lYߝ%KRV^ {R%OjpD&L8[ow=kԮ]0ذa+W0ıc27ڵu0vu[ocؽ豒zfѣJBCS䓿2b H*Sil_|0GوT"#Ә7Ӧi<=]<|oQ>}ʓnϐ;lzIb<׽#6kP ըQ;1I0AK/ܯ ,g_.դշo ;% {IUIX_w~w&JOeIK&.J=)*%9vťKcهl4|dJ+h~LϙgVDJ׬Ld E)> .l:g_xXyyy?vwә3gnn.w@\ϛcժU#ݮŋkԨQ>n'V=}CCbQfd>@}VAr`YPKZ4tzi/%)#RXRh-鬇Fl]6=tQ?IS+[4D3]@ }]zD?~d]]I0 Ȋ{8c*X}iRy&>(,Ґ5ˬǔ%Ux3RW$Ks|gHImKژӄs4px"TEU͚|QB}TL7UZCڰa$jwwĉkWӝ`}ogѾPa\\&*0;5o>_nRBB}1G;gө64vlt UʧGկ_ClZ5iIivk4pe㱣zOKI''I)҇~r>e'$OhioT;/X%Ҏt-[ NtӉ&Cʭ͏W?2oX;RۭCA|o߾*S23]Trel_=UX`'Wd;GC入X1΅#!11'^9>Xf+CV*~y[[3Kcr-Nf 1t!tUY_jN ldJ(~T%,YНT}*K2S Ç܎U,j:l{`S9ϟc Y C ]3w8V*U@a_x"A_0x (_~vu^op͚4;=Ь+WBl>Vʘ1cJĉ,]5k:(Tȃ@\re?ڷ/ͰaxrYNߕbc0Vo{XEr>TxՃ>} "yv1Br~V'BL_<&ł}p ԬWy:.$Ap 쉀>0&̀`v9Clx8 XS(dʳ(l@51=ԫ_DZZٓ~q8d`xDc XI*waؑ h5~wN4XXi3;AD"4?Ox(6֍`nx#4pёк<8̜ ^uBÆf"ҥG+BJڿwh۶wұ1RSs ԉ㭷RX8ƍYʴd֬3a50^ 'X݇VYxn|fv;ò$p}1> n~з}GNIZTrb6XK"xr90Jv+3sv.k , 0\;=>ƍiӦ8qAXb <[rE4hXt))))3h *Vs=Ǻu눈믿·3+ O[û]ڷazTzue\?h IVXPҭ[2[ժ)ߕj"VMJ!q1}^~@ȣ.9V<̲dͯI<{HfA+KuLp;4GFjFjh2OQB耾ɦQSd>'jhm{bJn;"-Ӥ6{TR4i[0R*^Sʕs|EjĈԜ9stRuYM6Ig)`pӰX,|ׄ0f̘\3^hтz_~cDzl2|I*W|}3T kHi CՃٗ+Tlu 7v7H:Ga@pq1,s6ǂ "q!Y̱`qihR*xCu20c'A3Uys?|EkxR)c nIP ՂfA%LoBVp<4l漺<=Lp)5j_V+3֮]K6mpwwgӦM<`wex鰽JWjtf3g葄a88edM]nsk=O}6;āw3=TtU q!XHF)~R4s [Nj_/pՋ֭[;`,i֬ 6$**tz-^z%233s+V'rYN>̈́ ;v,ϟgԨQlذgyN:ѽ{wvř3g p 5ۅ}rwwרQ.ϟmV=Xm|M?1W}ATl/J_}.UڿYj>S8$)+Ǻ5uX&,gnAZSڌ Ld+.CYTQLvek̐]3Wq2sOctJǕt tMW u>SŒlU=L ~JIR8b(G1IU7rBg3]|<==奾}s̑mViiiUV4bM6M֭SRRљ7;тUP91bv ҰaC֯_dӱX,=ݻS~|#.[ZDE!8Lػu7뒽6;b׀|us_JRp"sʠ]>dsZl6(_& %7}qQ6nXP:jukZ`DeK65nχ'CBWc[ضǴ<]yâ-szaBڿU1r{DyXP zfd \5a$1t:929N:PTMa<`„ ٓ=zЮ]i޼9cƌaСT^>}ܠx=z4֭[)RH.s7'Ņ-[ҥBt$<j5"Pg5at-5|.zT 垅OCHiR/gX,.deII ҈'Ida")C.h]'ߝouba3,Ř $CI'V&0/0 Nn)l>^h ߅5l̙CJtVİNPM9 :DxG Z@JNPvLWո̶Cp"L4 /BQwXU\1~\ I<RiQXoX^, &LԩS]KEDDDNk׮eҥ<#yl6z8q"...4mڔŋ;ߞ;kצW^|ܹ$Xz5cǎUV+5nX RJ/ArI'MHC JIViTm:1\:yD:Bdγ @hڥCstXp'tLuNVjv*zkVP=B 4u,s8[p\)>SZ~REX#},s+ݻ Є {8Hڵ[tI{$ٿI.J+XIͿ7-YK.H%É_a?4[3 3aU{޴'(ACNŗhҤIG}Qr'|f֬YڰaTllΜ9p+==]ݺu"???[>C䙫j(X9նmڃo0>ұ#/S =^%K{H#H6'W+XLJI_7c-Q/vaI>  hh~{2_} ڵ5eʔ[N&w $R@3f2^KjTa]}҆HicckM]MQ*nsv3ҔGKq\Ǐ/"___M8.'|/8m;ydzGk.?7.\X{Sg~S Ea„ =bM = xy2Tn?6HN U&9sE~e K!9)r93ċ2g=dDTvDŽ$F& % W\$dK1<]\E\`DQw@|v VhY>j %}| ;w_;w.}ťѭDN\ddº=Tsx4,IЧx\#4bS! W7V÷UXcB., v S(Fa,D`Y c<^x+V>p@BBBٳ' %Ο?7x!C0w\֮]Y`3f`tiۗ_~ŋ~6m/5bȑܰ11tPONRx牋av䷆wp#?^۶mөS?}4iƏ9Mz$"5?ϟJIfw1䑷 ) sLBVcaNY_Ґ5zP:y9(C~cRÃ:/Xt@1zZ+QtP'1$~~q.,|"mu,|+#___ :4R0?KIm^q.ߛJ|,|"%֫vӦ$uިlLk:<+W Й3I}/GEGA}۔tm߾]SLI&7ܢu}*V~z V7 IڵӲeKX"sիWD)RڴiÌ3sޱ+Ѧmb綘Cpp,XOeC3+dEwhIOrDvJ %(/#sm_"B":kn/OC5hXVRI!CH X,px9wugg]4޹,)'' lL)!`eؒlŋBdQZ+… /1d9r8ooo7oN߾};w.ׯСC 0 q=(_%Kr6٦dA Ond:X0ry(XC[Œ?*U%JP T5_A!}Է0?XoVB 5Ks}+4nܘ2tPyRSSd<==1bȷ'7f|Ӈshב@֬YG}ѣ>| V@ӵkWΞ=K߾}/'ڵe]vQLڵk !((*Uкuk֭ʣĝo!X~Er,X P1xq;P0S4⋏@Q|\~$AIeCED).pO[.=ͤ@//^.^ԩSٹs'K,a…SjUhٲ%x{{ӫW/l6Vb޼y;v>I&ѢE N<ߧwkWܜ"* |z.ߝU&DX*oYF&W˂+HJA%(NQO+8FCiH|); *=\a!0x9,s{LOy椧;VP,4)Qo1 -5 \a9ؖu?֭wڷoPjbEGǿhĴ7k駟cFN@?pB~7~Ǝ޽{dwyyb턅ѩSV-N>Mbb"bҥ|,ZUR~}֬YٳٶmC aҰaCfΜyCo+.`iJ>U {VBm=؇50sd7$84K"E(Cs y*`⮙*VT\f%ĂTؙ/Kr+2eٹsgAR9% 7K=X嘋TO=ELW/SfM.\YjU}^^^xzzfѿ5kF^nJ/UTaԩ=zyK>" -tWrr-Z}~V|}}/IIIQϞ=o-[ylWY.MFY-${4VgZ(A^I=-}0mw?JRliWlՑ%F|U.ꛌ,KG\3,C׃nywx QMfF-˔~DI[/JMvIU]k׮tz_n1ԹsgY,ڵ:uxڵkWAaΤI!!!pbbbػw/YYY/u9RP!qLٰaYYYDDDϏ?ٳg>}:{/-Z ..R1wnW{dpIu=VuY4,Rph/md8qT9)I<;GqAcC܇/x͕c/ '$66 w#:%-aYXV,f녟?g+lذ_4͢lٲlڴ5jЦMMvS(P&-ZD-ZrQHz-^ 3 o|||Z IvG$8}C Yf_w/]/~/{,_իԩgΗ1' Af~JʣugϞ7o`ܸq|SB<<<acZcO̙3J*Ԯ]+V7w}7|U}A. _A[RpŌrX<3ׁ`ҒX΋HNsUyP: 4<I T Ol?` x駙?2c[ 6?jժq<]q/ȑ#o'NgҥWXnkO_G.]jM67ϴ4|A//VP GAk׎ .K/]n_Z5Ə'۷b70f|||غu+j:B7n`d5ÈݗQQ^N nEQ F6qDSQH3uB V <O 22jժ0 EhQ =R=vݺu1 if͚1|ƌðapss޻ڵCR-Rt@иqc;v5o0qDf̘ѣG9uX,|}MT,Xkv9eСn iL˵*?51H'9Y<+Wě$~iLQIQI%/I&2?#("S+yJ(ٳg{Bt`ӹr*?r:t( |ᇼk_gM&QjUBBB{Pb͸^ku+Kjj*k1LFe (^xݻw_.mбcG:tpC+J7Ϣ`23{vZ w+"t:4+̽Q+xR(B)OUQDQ]'' x/^G~vQS\n\˖-)V/S_ƢE@n iii;*T8c[ͧ{>|vQxgff&1H"TZڵk;8p&''SR%zR\9>Cyj֬ oO<֭[^:/2L<;sN2338p OŅeRzu{L jX?J8W,R05K')Cy CGC* Hrسgє)S&S777}QMC=lrhݺ5&MDfeeѠA.\믿Nʕy'{XP`#8ÇxoJ?}TZM6NR:ujSNfa '<<<ױ>s}Q)B۶m6%\]]8g} 60eV۶m#--?s.xW*|pEnN 8O eLI'<;F )ȋKY n8~)oߞ>}0n8 *TO>EL07ys)֭[G֭{8\E1إKsSlժAAA:u{&M_?dNFXp!C !33;fdɒlٲΝ;Cn ݝE /ovgΜ5=y](.qlc6gDYr-$p}YqjRڗF2~WL:xZQ:8^xxњֈ+A@@Wfԩ ׭[kM_%$yQl xQذgf$/_{q7ͬ49VZ EQ.k7EKv:!I(LZ%(VY(Lln"\DZum ]h:95^غuLӌswf/>ϣ O^ȫnŋx$.,cǎ)IjnnƍuYeeey ".ժ{ׯ 4PeggifFEEѣG5z..GYQt@z*$~l jPE(Rs(DAڨ壞n¸<KKKSQQN<9⑑r:JIIѹstQx׫YVy<uuur8,Ixlh9sx$7{%?譆.рjfiңw[/UE[ˣh$&ŋ*))O SxxTQQ1▇i߾}PNNG8ڵk***fSJJvޭ+11f156A>O Vׯ5CwzX.09.K??-@vtʕyf… ~ۯӧ튉ю;TPP 6U}}}PUU2L5ARMM400W>k޽{*//Wkkt:/)bYɪ`SnyRz4c\k.\(I_kb͘1C6mRmm&&&radҩSte=zTx<вeS`Mݻw%IgΜQFF޼yfO---#tȪy$iP>Y,ئU#MkJ> 2 ƀ?$&&*--M:pyC=/㪮֞={z03X+ͦs*77WJMMռyJjiiґ#GTZZ׫%05 ;{h}xmկ5 P:sW~~d=LcTzzrrrC>|(IZ|7LqqqjooW||g{-g&h׮]*..gܭYF;wPrrڔG V,^)D QhU|˗/URR` d֭[*//תU ^ݼyS7nPCC={-[ڶmApOV\FEDD1|Z?K|zM\vj]xqxZ ,$I֭SqqNBs玑׬U\\bbbdեln+!!ٵ_ ~~bŊmB05+XFE8`իWICyyyJJJvZ%%%}f388'N(!!AfҥKݿ_Ǐį'$x|X[nUaatR]zUNsBtuuR3gTss\.߀jUww?O4uz~gyן<6\ QOOO'22rĕD`MXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7LIENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/simple_global.png0000644001374000021030000021101112520135745032600 0ustar itpeavd00000000000000PNG  IHDR XvpsBIT|d pHYsaa?i IDATxyXe?9lٔE5ABqMM4S2w[L2,{\zRSL˽Sq!ddS@p>?2N{ޯK3ga8~}* @DDDDD;@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`@`/!!] """"kkkhѢbi@[ """p%ҀTXnZn]ϥ!"""?ȑ#J-04@[F```}α:       !"GOEEj5Rطo>"MP066͚5<==ѬY3 ""z0-VJ2/&&vBjj*222|UUUV"ejh4_Fkkkh޼9|}}m xii)bcc .(fgg+TcccCӡEppp2"VL%%%z?n*,,Dff&DROOOxyyQFxacc""B? 7oDyy9nܸ >>+N8re˖ `ff/// mڴ LLL D011Qƒ-jQ^^2T=/-- 111(((@JJjYYYpvvTTTNݗꊻ7n AJJ N>ӧO#;;hժZjeeec„ (:YZZ"44y&v TTTEEEʾHIIAbb"t>|Xo}Ɩ-[jy=@<裸|2nzFн{w,\(,,ٳgq L:χZT۷qqqvn 333C~l%` ???\zf͚;v$̞=/ƒ,Zϯzѯ_?AnnnsssaddFQFCFгgOtرTr?BPPΜ9.=|r|۷/*++QYY͛cΜ9rcǎs=FNNNk`hYYYpuu1?44TѴiS4n666V&KKK* UUU8q:www#88:srr#998po߮W,//q5XYY)PR!-- W\AZZJKKѲeKj[NY9JKKojj '''8:: 7,e5k`uTDltJKK$ddd 33:ݻwG=`oo_E kҀ(.._,Zׯ_#((* 0667󑙙 {{{#$$ZVEeeoupNNFWaH].\ @*6e˖prrBii)>3Y9E#W ʕ+1n8 вeKI&ptt# "(**ž={p! ::7nh4a2dH}Rt~:]7UVVUVh޼9Ο?Ǐ...pqq+7o^`DFFJBYY.]WTEV ] N¯ѣ(//XYY HNNJB1f3\zzV{ OhzPׯ_Gpp0._ɓ'gϞpttD.];Xb9T5n8,_Z0=** طo5k;"//Pm׮y _hԨ_oݺ5ڶm ???Pv"\\|ĀмysV^$TTT`߾}pBuX[[=닒dee)$~DFGGo*eN j\#"š SSSX[[Bvv68###L>xt:dgg#55Ǐnj3PQQ#''7n܀0hРeÆ 8~84x?x lܸ>Cr9;wYYY zWoAǎ+K,;#"e f͚12RG]vVEVVѺukTVVW\ABBN>|ٳg륂Q}m0&&&M7^zGE&Msss!{P\\ ظq#n݊ }6kL󑕕˗㫯*$$$i!a; ?OVVvލ7o hݺmێ#<7񁷷7ڶm{ƈw}SSSXYYqqqطo9V')) ޷-cee%mۆ_~zFh:t耠 * HMMUh_|iiizW͛7k۔QJJ z)b…0a^;vg.].]+WDAA0l0ύ7館HdR @48::ʄ Oci@xB7Lqqqרqzw峳︜dee$11Q~Y|̜9S-[&""rJ5jxxxv.]z/]$7n޽{ ֭ :Tǎct:L8Qo9sȡC$///^%KK/$w sνD_QQ3F9G"9V+;g"##JDDƌ#fffҳgOߔyzzիW}CR%>>^8u.33S?k[o%bnn~swޑ.:kGk8Z-~'|8v,--ѯ_? 8"Ǐ#;;8~8͛Mhڴ)JJJp)UVHOOǒ%Kp `9s]!"|2D8~8NIt:"&&VW_!""}A>}_mO=.^VfՓ}Qt!!!~HD@@q5 cccbȐ!u˵kg"** QQQ|]ߣVabbQ-##㶃֧^ /W^Eii2988 881118z2N5333lݺv ;;;tt[O //NBRR[M'6n݊{"11%%% ajjM-Z/7oH5j6lKKKh44innnxGѥKo ,ҥKѷo_̞=AAAHKKCBBp%ݻ022{Μ9(**aaasssԸ^z)?niiih֬V\ |嗈Dbb"~...8q\#F &&`aaF \zw[Ve˖?~<^yZUn }!##FLMMallLFFF]R̙3HNN4i'OƬY<R[Ѷm[޽D 8r2eddիS`` ڷoJdff*YXXyԺuk 2*Օ $%%!""+N:e4i:(.q9smڴAnЭ[7*z+_1c \|111hӦMl߾yXZZTTVVT\tIoXWWW,^ظq#\]]ƍEuqci@xB?3< ~5qqq jqM 11eee0`q%egg={gϞ(UDh"L>Fʕ+LP}Z>}W_q0!UUUJoƎf͚aݺu2e 1a 8 2dDFFʕ+ȀNS pssה___yPHOOǤI憌 deeBn5\]]1jԨ~fb`aaZFHHHS^^d899aǎظq#PPP??? UUU(++e!`}@ĉx'all/'$$`ӦMk IDAT7o xW0e$''=4 Z-:___wELL ␟ɓ'cɒ%<\3f̀W^EQQҮdÆ ;v,uٳg#88* p;]X|90gdff JC#%%EZRfiZ͛7GllUzJiCS6l؀1cƠk׮شiK,cWvY4jpqq `ʻVT{k޼9cccTVV*lmmaii ''' 6A378Ġo`ii OOO@(w qMdggwkbaaÇ㧟~rrrS֭[cذa9sf ޽{8=_^m:4o\^{ʲ:NJKKe2f1663gֺ6lnݺ ШRDшxzz^iӦꫯd!Ν+WHiiiҐV{ OhûpyOZ,--H\]]eɒ%T+**dƌo˶m$::Zbbbwޑ6mѣ_+_F233Eɾ}QBCCufggu뤸X)[JJƍJӧ˩Stbkk+ ( >\rrrx<_ct޽{˰aOȔ)S$66~?u!%%EZΞ=[oK{m;p@} LСC ע+zU^^.իWKUU˕+WҮ];111\ꫯ]/^L2OS6&&&F{>,Je^UU\~]o:NI/{>yɔ)SdԨQOJHHhBDV .Jj>mllcǎ2b_X"rkdo!/]?l{;}UVN,ٻwk@z|>2i$ѣk[nw5lΝ@o߮t%%((Hoȼygggg ;vTTlݺUoңGYz,[L;wٳg˚5kzRdʔ)Ҹqc vډ̝;`W+GZh!]v+V(ᅲcʮ]dڵ2n8wz.CRt:ɑg%;;Kw{ZVH(_|񅤧ȭCF#zÇe.M6J%ofeF-YfhDV+ٳeΝrI9wʞ={d„ 2w]EFF*qʕ/""_2F+1kkk aÆIf͔;d*˓D9y޽[M&jZey'H酤";;[ ݻ7H-14 S޽ ZJ%KHXXtUz|@yzz* K.*}O?T233L%55A}t:)))ћWTT$2| ҨQ#w`aa!ݺu$n{nȐ!r_~Կm%SNҸqc4i޽2 2rHjSߖ.]ٳGDn]ܿo+ŋ|4)::Zo߾2~x?~{'7nZWn'>>^fϞ-ڵ/m^ycƌˁUVҤIܣpzbjjZ\iٲKzjtr>UVO?--[cccYf%$$Doӧ#F888x{{ˉ'Pt|DիW;jZDVԩS2o<ׯ˲h"ٸq / ]tq_-[oӧk]ӧOɓGtMw.+bccN:ܹs0U_nԯ_?n:uB޽akkn7111كthZ!88(,,Dǎ:)));w.Ο?aӦM]FQFL M4^4#(([.RRRxW^ݻ1qD_&O c .m۶ވwkw;UUU5mbb">Sܹ033C׮]ѫW/ :nui&q 0ذa^6"?ӧOGXX6n;v,֬YE&Mxzz...Jw={u:uTo111rZCMϪ;.h>ܼygϞř3gpYAѠ۶m7L ƩꊦMQQQ8r e~)&LFS{/>>cƌAvv6JJJPRR";7xC~a׮]ȸ?ӧODze˰k.tO<vލJq}Ɉ@DD4.]Ν;qquM_=Azz:~G4k vUUlpvvFƍ {{{建J ƍ1|XZZԩSl^ H}p9r$|||Ю];hHLLDZZ䤌ZXX"(888(=i^^^|}}ciiiӧaee'''cΝJw055͛7зo_xxx믿}Y|wѣѶm[|'˃ЧO <͑#==])=kaҥͥ`׮]6l{߾}uV,[ =Μ9,_} 5kɓ'_ҍY ѯ_?ŋؽ{7^,!11YYY5ʣVaee H7n * fffprrB߾}`8;;ѣGdd$6mڤ XWЯ_?̙38<~G^PYY٠t ӧѶm[\p2W^et:v؁?@ vvv(++Cee%y?jڵ+= 9UXX'xGO?]gAee%j9^QQ!C`׮]pwwYfر#AΟ?v!,, }?C,X ?'OYװkҤIXf {=ҥK|2ˡj!"pvv\\\@]?$|I Xf ||| $''?1c 22ǎx "??'NQRRJ]v!++ 5͛7:_F=WDP\\|dee!::ϟG\\QQQ-Z(`ժUغu+[}ϙ37n3ݺu#7o˗/ vB-_W_E-pm>(ۇ'bҤIUrh4 4Ƶkא$c=޽{۷#oߎL|GǏ#$$χׯc7nJKKq9iӦV?WFee2C9n ]k.<  _i(ʰvZ|LjGΝ/CZUUUV>C`` e?~PLڵO? :t&%%!''hٲ%m۶h߾=222ݻwǠA`aa7?دS  44Ç@Dep >>>1DP577rrr9s`Æ ؽ{7,XCڵk\ii)4 `dddŋHHHV5BBB/0Ԇ;cy%::NֽbŊ3o^>~zl*GDR|7['(,,۶Y)++Gʕ+eڴiSOI-j<'VFs/ҨQYXYYc'O+˺udbaa!bff,KVZ%5`2d!]j7..N[n=ZV͚50Ynܸqիz]iF]UTT${W^yEw.@:jRQQ!yyyr9ٶmzKBCCsWN*h4Snn̟?_nРArQl;>>^V^-~2j(ݻX[[+=M0Avyv:3g/ܹser.ׯ'믿.ӧOI&e̘1Ҽys.](m_z)VVVJTT,]Tzl!}Ukܸq54o޼u&M&?w>򏟏ϟgyF9^햗KTT̛7Om@HR@z4VOȆ jոt^@@|RQQQ7,V VUUIff}ٶkNz){}J^Ȋ+M6)NNNbgg'vvvcɒ%Ki&Yx,\Pխe׮]Bmh2yd?zhqqqV+߿m+= ڿd.6---J,Xta>|~KKK {N.\Xg݈[N;x_~> Y|t MLLG|IYt$$$[Y\yW\4?^X"r/Ȕ)S[bo{ AAARQQ!:NeŊ2zhel`K/I֭!ggg  'ʶmdǎҾ}{?'֭+߱˗ p@!%z`Ν;wֺDv[{ ȟODYlR9iԨrQINN\)//ut:t钬^Z$((H"##DEau d]+++=z(ѣ?q̚5K>ywk׮`C5Fu J=<<\Ο?Oe:uP޽D_RnѣE̙3A~IKKiӦ TUUIdd|G/KϞ=Lk?.2f̘z?ӥk׮V_~_7|#6m'NHfffA:wxyyIFdܹ \[/^pSSS9|ӧEVo-qqqz#ǎg}V0վ}{}T*8p`֯_^Zn-666@7o.K,<ٵk1B:w,SN J.]j/VUK 6t&{ݻwվ~V? 9l0yO>qKz155 .ڵksp}QnS=T=yzzʔ)SKt; Ҁy ¯J̙#/V* yyyi&ɓ'O?{OhZ%77Wڶmٳg]vbddtېWJKKSeuVAA|/JHHXYY)jZq%33uɀdzjJɧ~Z֬Y#h={lЏ-ٵk$44Tj,Z~[o)z_~MLLKbjj* Yt?^t"hj4gdw^ywM6t!ڲeL4I tN,)@j>]]]^j(Wy9ennn'f͒4NXXT*qvv]vZJllON &X[[KppRArpp)SHDDp׻kwz^e:uIӦMe2{l%jJ_"##x_套^u%**JL}Q5j˞={u~wqϞ=5.iii˙3gowzʕbbb"U;>|X\]]Y8@(.. 1113g?,IIIrAe;vȭG¤cǎ2}tٽ{899IRRoGRR̞=@r1PdhZyW+2gYzj9s]{%"{{{ҥܯ`}>`=ùswx666,ZE*+!::ZM{#) /mĉ0` ݒ/yfFFF]vחҥ }||ؿVR{w%oUBܸq͛7\.Dxb,YIt\\hjjJ}}}֩SGT*L\z5kFFFb2eT*"*0۷s4dܷoj͛7 aɒ%^I(ZYY_~ #?~ۗy|/^… ٹsg/^\,[Z5!6mMMMlj'f"<<Çgibb۷_~T*4553V:IJejO(FZp!'MĐ,%!!`ڵ>[&?d %!!Atvuuʕ+y/ǧ[I߹s'A'vvv}F&v 5iRXtisǎyY&%%q׮]߿F6gkkk{GGGv҅siϞ=WO>L9.[~?\.3M.Cxfشih={,!!!}PT*1GVP!}EFFr˖-۷W+) GR@r9mєdܵkW u]$''M6,X`CΪjN6=z9sdbbkkk1ҥKs>|-1c8tP޽,_<A|Ç1c~C2$۾/qM竲C'$$w%66د_lqBj*5Z͊+M6җD"lE.y=\HH۷oOLѣG3 O?Oȋ ={ѣܴiO<)) YDʕ+Ѯ]lo_RaŊ_Gƴi/^Sp=ԪU ͚54r ѣٳ-ZT;rGNw@pn݊ʕ͛7 kkk7dݻ+J. ###M6XdI{8;;c֬Y2dN:vA&A&PBٳ' K,Abb"]ׇ lmm7!,, /\\\ rxM.`022ʖ$$$0탳3ʔ)777b򂏏ϟ*UB@@jԨKVc޽?>N8;;; >S5*Teʔ\r%[;_eH#rj$ ]taYvm*JN<޽#ڐՄlaWpϞ=p… k׮\x1_Ψ(>}ՙ~ "|J߾}Ydɯ2 … 9c V^6mw[i aƍYD Z[[ښJ\bJ%===fYW\aRR?|-[{,\0WΝ;wrݺubZjq۶m_󝆔0H H."'trrr:jժQ__Ypwon?%%7'LDnݺ}e͚5 [ z*Gɚ5kRGG'|zzz]6̀GEڵ++V홾?GHH|s%JPֈ:99|ˏL٢E |Bccc^p޽@jR_JqqqY&---y)F ۷y!={6Od+L<&&&:&%%qΜ9466WBT*2,aÆ:pss7LB"yqի[jŪUt,_}f") YGR@r-Z`Bhaa!XYYe˖Tx!: btЁْ!**ϧ% {Ç3666mȸҥKnݺ~sݨ(1o2exiZUTBذTR [of^اOz{{k׮L~ 7n N:UTU*X\9rуl۶ۛ:u* gwΝKlժׯ_{۷v|O?/^?,Z*.]5kd۶mٷo_5Æ ;uĦMf͚0`\d1ƧYfWȈ666Yŋ7%^6mʲe2""cǎX+W'Opԩݻ7ya>{&L ZjQ'/^m~.^ƍS&iӦ zyy}?2'O3r9 ~vZ/Ά f<) 2Æ .rkyIEΛ7,Pׯ'n߾]X\bEd2d";PլV *Ŀ:_vhggnxܹ37o+֟"..lѢE)}njٲj7n`Jؾ}"_iW\ |-/_N###Yfb kkk3F\yܼy3mmm٠Ah=zDDvJСVem<|;v7ƽ{?`ŰׯϒS^m۶͖l#99Ŋr/<}Jݺu8k׮YM6޽{#Qq޻w/O\ΐdXX̙Õ+W곦TW&FDD$] &p֬YLHHȲyZe˖Ԕ\jwM*sNe˾Ǎ7ƆIT=_\Ǐ٫W/Ѥu4333gLf+Vo޼mQwe.]в5 <1_Kll, F\fMIJrr2;uDLF333N6M p~cƌ.]իWTTw"Ex֭,߸qc$e˖Ki "iaqXF P&pe|ҥKP(2%!z6ˋ]Ν;RJ_U6-4\.իsX2M$$H H.{蘘.[L ̌VVV1br/dx)R¥~%Ν3F*J)RJ#6lȑ#GjoߦK*ł ~WGqT(g߾}7 cǎ٥K3g$ fÆ trrbÃ%Kddd$J%XvmЈfuyErr2|8wͻwLtRmۖFFF QF.9۷o/-LHHʕ+q۶mŝd>?~<|?J*8.YDSN5H H֑\i+E',Y"[$qqq9˔)/\.#:DxzzrgZ-6lؠE4QT\fhG#("22Zw߽{G===hтǎ̙3٬Y3r1XPP4,WkPռ~:ϝ;'x9rDHz}Ύ&L!B חc=hbbBCCCIJصk'L‚5jEX\9kذ/9}.˰aXdOj > 6J H֑\4FZ(ʹ\=z`RR}}}G{{lqί,_r\.XVN:lժ%K lڴ)X2$G!N8QcBp׮]K6hЀ cǎ˩T*VP 6"997WiĉŲAf{ǎc˖-P(رcGn޼XLN  cYŋg…h"3͟Cͦ޽{,U}fiu$$! 3rH~$HΧիWKo}T*n◜ׯٙ'O"+WFiOa a5hggǮ]]vsFٴgVZׯ_q=4֖Aen޼*9gZB"{-+e2mll8eʔz=r9WX!8q|BGG'WkYGR@rҀ.]**!V"ꘞĄAAAZ2oGL11[H#7lx@OOΝùs<{L"Y 5kA˗֭mDo>TZwm BLL ޽*UL2E׮]j* 6L,j*|2vzd+ÇAѫW/d! L'BGG* 2 sÇDDD~74jE$5 CҨshذQFSz&QT;w.E]vi[,FEEqĈTry(oϟ?׶ycǎq޽;uƭ[jMJ;ڴi#^S|)>|jժ]lٲbŊe9_DOB#FϜ9ʕ+k$$ 88}ZQ@L2ؿ?:f͚i[T<[b\rUV˗mq~hAe˰xb<~fff n݂67͚ܿ508!bccQvmbHLLjx :uׯٳQXf ݻ[[[C__044~7re,\oׯakkׯC&M6hٲ%ܤZB"r%T^N.jժ`ҥErr25kj[4_:R,|\.q%xyyAV (,]T.]rʉGҥ1uT<}* ˗/֝ IDAT޽{+W"!!/^@XX|/˗/cܹe˖ӱsNtm۶}AY~=֭[e F%ЬY3K.!!GILLĉajjZj!)) @sߴiS|7o%kH&X===,ZݺuCڵ!ɠX۷sն?4{Avشi6m F-[@OO2tz b I5jԀ%L___:t˖-CϞ=s&p*TZ;vvׯ~g&A@rr2 ,mQ$$H||<ڷoӧOcǎP*(V ::...(X j׮eI%"Zjlj')9ڵk'*jÇѼys H38qwոV1eܸq/+ |$qF 6 ]vݻwq (Q^n#ӳgO\z3f̀.<<<Э[7?")))x'T*yC ɠP(```l;v,wիWcÆ  ʖ%7)))hժql 3gĺu)D^F{%WZXM6̙3%::Z1b&''[4rMjՊJ9h `3GCCC?+&3gΜ|ƍT*ٱc_* SG#G (_8{4hЀ)))?66>>>,_<ĄUT#444nW"f'49r$ݘΏH󵬓?GN.E7oj[|JM4I+Z%K|wqܾ֭}7/m޽J&Mʱ>޼y˗sʱ~˴i&LHd={s̡L&رcc^t'N$Λ7/FFFr͚5l޼9͛73>>dR=A%.6l.tZddƘӂGeDB(Qs8;;kYBZ =Bdd$^|'OCx ] """@j@APT/iffN:e}Hm۶۷osC *JëWK$eKuT*n߾ '''@޽Çgό ^~ WWWL4IVn]Q믿D%࿘#<xm8s 6l؀ )) kFٲe&%5IIIׯoL2ƍ0ĪUs"::Z "@!_D0#miM6߽{mQܵk===ibbB\:}400AoooRWW:t#mP_U.11f͚Lu!(Q ܰaA I.\g:uJ.=' fLLLw0I3g_΄޸qgƧPT*Uh &''m}FB⿼{ 6.7lٲa@@J%ٺukذhѢYoKH#) i@k &Lb+ϟORItpp  diddD*J?Z8r6nܘrlԨ4i&MgϞ?9n85ǏgP(xOVy000#GHlڴ)̙#:YoٲdJlѢyU`ٲeg_HBB;t@ ϟ"p֭[X@| ;wBq~ƍ455d ʸ8[Lsss>}rJ``` Iٳg3f +TzoݺkYGR@rҀ*666ѣE7ڵ믿Ç_x^^^޽{yFHX"9bٹsgV^ immͿm<(Qi;v`ll,N &J*tss' pǎ9s&IÇ_jܹYVDƌC]]]nܸ1Ki&ZZZRWW5jE\rׯ_3f̠B`6mD3zzzR&gf666{':tHsxmڵPutt#ײ"="""+Vж(.]F 5jd$fI&̌bTTy5n߾w~˿رcG bb8ܤ$ٻwo* ̞>vFDD|q.66c*U˧O~>}PWWG8ٳgz_lO"'>GE]\\jժ100P|n> 4hȈC e(ئM.^Ν7 4_:viР[hm1jݻwWԮ\m$>3g &)))駟hmmŲ%JHxx8wAccc*UG%:#]p$KN2tvvWYގ;pEFFrر^: *qZ ͈hp_#))-Zϝ;4߱cǷݨGtt4VJPBwUƖ-[r⮵SNHe) ptt+Id/0`'暘|g$ 7蘩6RRRm6ܼyիW:_>6l'''XZZ+W'4iz SLAfͰ`Y5jѣG?&&&2d+WL͒&M\.g׮]iddıcfiu$$! hboo&MHqbuIѬڲe e2ގ;ׯ_x1LLƦMɓ'<Сp֬Yu45hЀ0J;tuuwL}djgϞQRQ/@Qu։+T@tvvɓʷD"wr5P&e˖444>xm]Nsqyvؑ,+[jE0`/o~ iu$$! hm۶t/te˖qر𠮮nW$ïJLgϞ}sݔڲM6l'Bܻw/>ŦMhaa"EK.Moooc)ƌ3ĉ|B~5kuaxx8rՄkĉ455E4|SG>},))) ֭[ijj *ܹsܣG*THC1={H`R8ql E-- dƟGBeIEHZ~J&G%,XP|Ih[,LDLgP(8jԨoCۿXgu^*<,Y$_xA2Չ={òe˰sNz׮] }}}L&CPPA@۶mR`aa!:i7N[^=u!222C'~;;;ܻwQQQw,бcGܽ{011Io߾r ֮]ƍgϞt*U 7FLLLڴi.]c8x Ǝ ==,-Ѷ$H&.^X9={vK" &1]vu֥3߿%k %K#m.-mZB| Ԭ:::S߾}%ٳ 6nݚM3 0n8/_fݺu/jVVM,DhhhnݺeZx62$… ;k7 ײ";ueҥ(_ _+WԶ8ـ)---i&5-Lm۶tA`LL _|344<1cž}rǎ\r%5jDBRJqȑ<|0߿/sРA_[larr'eKIIaѢEٯ_?߿_͚5xϞ=K*3Vs4[RRlE1<< 099W^% 9 YhQ_fVXF o߾u/kr ˕+3f\r,PgϞ-f)TN}7kYGR@rҀ=\~ Bzge_ & :yG H/_d2d8gϞͦMޞ\v,S P&q8pX^z$S܌3(H6mZ,X@LF{{{VP˖-ضm[:88zܸq#AZɓ'YX1/^\\ j5ݻ':>W2R$?9b^zU#ҕߵkr9uttFAXlY sj֪UFFFUj$x&!ײ)DTX>>>|@||<ڵk===ǏPB͛7qi,^```nݺ[nŪU`ccL{ߠӧ ]]]r @RR"""Sx{{ ģGеkW 0uE1oJBtt'ÇannǏ#$$'Nʗ/R)=ttuuѶma5 CҨs111Y&y m8r088XۢH^عݻ7;;v㩧' >Y3888wlTZ*;u 0"""]٫WrժUsx. ݺuӰ˖-2edAؽ{w4K~t ֖ϥ).ܥK*}|t%j5{͂ Q;|-H; AAAhРsi[\Oxx8___TP!:all`\Ǐ1>S@6l|||Pxڕ%JL&A6+}e\|k\2*W,~CϞ=58;;Zj*?سg1l0ZFXXʔ)`L6 'OD\\ё$v܉={^^^(]4tuuq] 8vbbbGax1/_.F2ր$IΝ^hddĺurÆ ѶX Jm۶`lذe߾}K&_zW%"" U7As>'NԩS5v9>G֭EߘѣG311o޼Jܽ{UT!| 477w29c q.ʊ+EKKKݏ]vɓ'bi {ӧOm)Z֑\4s' pK,Ƀj[\Xpa`NP?.]bNDol޿ORIkkk:-CBXtiÇ&ߑkYGR@rҀÇvڔܰaE*]]]ya1\ďZf>}\fV[laJhhhHoooٳAAAIRռ{./\aKJJ%﩯!Cd;\rlӦ'_U +- }|-H H.ByJv._W4hHm$C?2˖-ӺaÆVceeešC럭I-[VO:mѣijjweK{ٳgS&ĉ\ߟ2&L`BB;u$j+VGΝ;I,H#) i@-N:E ":)_v-߾}C+V 7lCk~GRʊE@>x>dPP DKKK,X>"W^֭˃ŋ\~888]vܶm_~ׯ_rl%/j9C"RذaCZXXT799}%RWW~~~qFoGeIEH:o!WڵkSN0A\UXgϞ466[-Dk.-fBXV-Ν;oP |}}˄z߿͛ٿ/_^cwdɒӧwX^z,X e2K(={رc|5.fc.޾}%Jw\wڵ֭[SGG'ߎ4_:숤%!d1cΝ;7I/^0hY¯CU*'˒ݻ1l0899}$ș3g`ee5jh[/bdd( =NNNѣRdk355EΝl2\v î]uVԩSh߾=PV-{3fҥKsq(RѡCtQK߂ď \Zj(V9 H"9 ķ#7;FE4iLVRf "11011Axx8лwoL>ǎóg###JȐ+䄰0H|777!!!'N޽{xb̚5 j(U'MܩS'̛7/8eˢEP(WWWDEEA.ӧ@z%IF\xǎæMСCqr?_xyy}s]GGGܺu $$2Q%r+Wjժ|2\\\-W#8::m۶ؿ?*V۷ZjR 'Bk IDATpY| 4Z̙kkk.\o߾{DEE ={6r9իWѣGaddwwwx/^$}!?fBhh(lll-RB`` Ѿ}l}IZ_s>}-[f[?i}F *TݻwRyft9[]8q۷9BCC-Z=/"]ϟORHܶmwCRqܸq*Upȑ?ٸqcmۖVVVcb:?~ Sxe˖A Q}\$RZՋ8sLmI{_|dsN`cc5jLAkݺ5mmm#Iʕ+k[ !ײ" =PTxtrrbbž:rfQ՜7oK*EL3fdX}3fQ`:u߹stŅ...}Z&11.\ ̸|rm={6N:UV<ĨQX@޽{WۢHiu$$! 輏ZijjJW/.j,+VkĊ]X%Gc%*+*vbWAł]cH{Ď#Tbvas8Gy{ۣO?׬Ycn޼2?޽{411ԩSI?#իǟ9'au릚OH>L^m۶XZg&.YG ?"E\$Ǵ۷oSRM(GDĀ:gٻw/J%˕+G333ɓ'ݻիWz9˗ ^ӧ/^Fɉ|߽{5jI&C]xx8MMM9j(jd{Z͛7[NX@޾}[K"g֬Y)k4QF6 b\Xre:;;s|k֬+ }8plmm3| t c322ʕ+aoosssn:+\\\2=01֨\qre 'NDzеkWt [nիWQvm+W\8p8BB#F@T… 8{,~'DDD`̘1RZaaa BPPHdɒ1J%r΍%KH"?uz,qqq6mV\իW5Aߗ; - _E~GNq'qҥ$`2O>j wtZƙ3gٳgc„ 1c֯_@:u`4k EǏ^89B@N@y慥%1k,̙3z=RīW닧Oŋx!nݺ+++z.9K+WD:up޽toժUh߾=QvmܸqCkk < 4@޼y( xzz Df+#w HhQl۷o'ZXX˗86i҄ XUA;w*UKKK*Jsĉ\z5;)U>9 ={dtt4իWgeNEs[[[)Sgʸ{.kԨAt钞f\^4>W\a٩S'ZTl,/>>]w-/RRJqȑtww䄕G%0,,,3 dHJ4@ !cǎ%;w 5ŋS̰+״iӘ+W.iGVښ:uJױx N6NNNڵ+[n#FPRJ)RׯF?'N^z`|֖-bܹYB߿_̺l`M;vJ_.]J333xٲeӧOgOڵk'MPVyȑLhɬX"R^t{%,6**G9ٸqcn޼۷ogikk+ mϞ=Y@޽{W9HLJJZbHHCҵ/444S-PkىhpB/ZHKUݤI Cc_aÆ/n;`֬Y2)]#? lԨk׮M,_vb8,jY\94H(_ʕ+sĈ߾}+7n\6B'e 033;WA?~۷K.ŢE%94 Ä֙~L}~?K.077DZc(PǏǻwxb^_<==;wnx{{CTf͚;v`ܹؾ}; ))IoD4@tGPvmP(rG1ˇGVZݻ7Znߧysŋ(VZnٳӦM)'''4h&L;|0֮]5k"O<kl߾]=m۶_0|p}W/6 ;wƀлwoΝ;ѪU+xƍ Ν/_f(q ;WSN ¡CR,5jʖ- 6dzh4hȟ?+ܽ`̞=C6mcii@T*%a~xK"""`ii:u`(Y$6mڤqvލѣGcʕXbuL.B._٥K/66 FqN<\r1W\СNm߿~UVM1gO΀T|XZZ͛ἓ'ON5۷I*THx⩖c~د_ R7n\ ,+..Z"N0!źUV}}}3tvv&C#%sssO4 |'''yK.ER`ggKK.6lGg.>p,,,еkW 2p@8;;crGɓ^^^ӧ BG!88DZ\\\Ю];TRM4Axx8֭ӧOcʔ)4ipҥnWl/6R2CaooիW#..4i:uH3ǧGӦM%[hhGx&MǏrAxDʕêU;sɓ'1a$%%vVZ/** J.'O ?s-dJB!?###xzz"**JjzzzBqqqС7n3gK.P*2NE W\w}H"&&& ~Cq ٳ>#V_6[ŋǠA0{liٔ)S0`4kLgA DB9r$|7oYfpuu\|ڵüy0x`i$!jpqܺu ϟ?/j׮b^^^4hTb̘1rDN3WWW`ڴi]CwYSSS֭[8p7n7o"220iҤ/Vqu4@BCC{5 0779뇊+ĉҶR/ d/UA[fffLJJbTTp.+!!...̝;4Kټy#&V9KwX3$$g`` ׭[˗/-<Ȓ%KȈz8M͠AÆ #aG?ehoo/?O68d*U=z9-YDݽ{x9}`gg5jR۸qlѢJ%7nܨSQz%-_ooiizE)N4@ 8CPZ5gϨjJ*1...] :0`N366aaaҗ-[[ڵk/N###6i҄]]]S}&ԩS'3~ 9Z~۶m;.\Hlݺ5RLȅ 2(($?4˕+ǡCʜYhQ5*rViӦd+`2e;wnFGGXĆ Ԕvvvܷo_ucǎJ5}}}u/iY޽?y ^:u>v;1  +RH|5]vI˗/_9 IDAT ǎjy+J5 7N43fҥK+d8 upp/+aoo… ȑ#rG2pBoߞ <Ȼw> x,N1cǎeѢEVe{%pɒ%jY+..NDDDpҥlӦ4kZfϞ=R8ga;wJYsI֫W/ŵ/Z8oIZ[[sŊ$e*66o&dYYfI4VXQ,ݻw\ѣGI,ROEiQ_ӝDRT۷/]}CZ֭[r備رc8x J*W^˗UE4@AH3BÇ#((߇;nݺ;w.<==qiٲ_>:$KJJl9UqYsΘ>}'|1ۇEa޼y3g-[&mҁ$~WTVMRJ022Ž;k.@ѢEFFFTFe"88:u*jժgfڱ=zgggxzzy vC.] ~5kH4k,r #Kt ٙZ&.X@qqqڵ+ +W… Ks)4hЀӦMc```|t%̛7O8$$D>} J*ң#ya"EXhQy^>n۶mSNEFbhzIɓ'|\ 6022գQ_Š+ƆaaaT*\2yZhAJrIw&!D}MwDH~|PB033î]i&j Ճ;-[kkk,_~-Znׯ_˚PM8ǎÃ`ggT+ɓ' I<|5Ojժa׮]x9K/^zӄOѭ[7888G͛m۶8y$͛)Ǚ3g`nnbŊ^zM?~1 ,}۷$QNh4>}طo4 QNϖq!#&&NNNvh d r%&&ܜrG۷,Uo#HNk~xiҠ KfݺuYhQv0 ˿8DQ/_>޹s!!!ܺu+gVPᓣ}m4 ۵k… rɶ֮]Ktvv۵kGB!VYZ56lP'>>*Ub.]t>V G|e-[$6i$Mj3Ot' DBv[* 0@(iJ˗7oޔ;JLLEhii)5:Zl;vxEٳgɓk׮4?Vڦ'ckkW^e6\]]P(IJJb׮]ijj'NPѰG411]HWJJ1Ȑ!C2W?9Z̙3s_L*hD}Mwb@ -dgQQQΡr *N:%$$z^z-[p֭|9j5hjjʒ%K~tR˯prGٮ];*J.\ nnny&J%.ĦMtȈcƌIҥKT(tqqaLLN2N4@ 8իW3f xy˲ehbbUWp ÇiffEG1(NУDQCQpƌT(2dS;Bkktϓsу*TB`׮]?ȑ#T*3/藨N.NQn],YhРܑҥK.HLLđ#G"|H"W\rGR$dtmڴ5khժ K.a߱vZ?(T5k={e˖x MŲF:ƍh߾=6mooo(T(\0 zއL!sHѢ%Km&w SK,E˗/%˄m۶_Ud?~jMzITGi C/^%J` )OҌiFT*Ν;EY&5݉A2$Μ91c@t055&A Gvvv2'^^^Z*n޼Çcc.臕Ξ=;bҤIP՘6m"##c8;;pX|9>} wСbcc1|4n8MY:tRMh47nTSbΝùsi&ƱcP=zʕ+:v! B4}t̚5 5jUPX1#eؓ'O)SF(xTU1c}ŲeP@c}T*\]]Qvm:u m۶EQ`Al߾8w:t;;;ԬYĵk0w\/@/F+W|rܹsGj߽{+W-[<}0sLL> YI!(^8aoo/w #}")) y-[pMc /<<͚5Qj߿?֮]իWK4>XZPR%̙3111rB۶m'IIIC>gϞ9._o۷/abbƆ ;wմiSزeo߾ҟmll0uT⧟~™3gRt7F׮]qAh44}AH[@¿DZbbb)u !CMɓ'i2SH?V֭[TR;$&&rΜ9 ѣGrG#<V׮]c``NeQ_ӝhqB فZf.]/+W)xzzJH"@SSS6k֌۷Ȑ!!!,T[jńŦM{s5+Wccc٧OZYY‚O< ̙e˖1))ׯ_gppp^|I$111477?˗/Kכ:p|qc{~~~<~8*UN:l׮/^̘^v-U8l0s)f{tvʼys/^L 阍7gҵ!5݉']ܿXfS)Lh={߿V۷xbvڕNNN޽;K(ASSSN0rG|}}ibbBGGGG'ZڵcEÀi4v֍O@//?qDVX B` h"dz_~ 5dYdI+VNNNR1cƤ:SFF޽3*  8w\6hЀ7oNWF?+W|&5II2Dt' DBvаaC6nXBXXWN,VVJooocekӧOB7䎒n֭^*w!^~K=\r%3xjEerΝTa^ގu ݝmڴ!/^fJ0QQQl֬Rk׮q˖-Ν;Ǩ-Z˗/~zeD}Mwb@ -d۶m#޼yS(قZvQRZRR)g =۶m+w !Occc6nܘ 4 ]]]pB8)ϊddd$K(A駟r???åewСCT*`twY`ѢE9f>|$̞=[w2e0&&F//3DĀZ(͛'+JP={䎒9;;3O<˗/Wc:azhmmM9 ub5kpݺu}qڵ)zTXC ;Fv!厒.=prGt T*ʕ+Wd||<׮]+Ut*U#f%yÇZwɓ']9y$߿ٳgsȑL#22.] x?׉'y:vȡC;U/ĺuXP!9֖>>411cfNRS,W;t`p#|Nbb"˔)"E0<<\8 FAIǰΝ|III_ܹSz(E7CǽsRJo!zyy_t'FAg?,,,0c ___t۷Ǟ={`jj*wATb޼yٳg厓f8}4^zGG0@E'={cǎa:Rݻwc>6lr_|9s`x}㏰?MSNaʕ߿?Jq[=#_~8yd IC\v vvv믿PV-BZ #F7PZ5DTRVVV8q厔DDDwq,11B߾}#|%\\\h"<<<ФI/_V'ˈC…6mرci>VExڷo\rܴ5݉Ab([,&M$wxb<|+VL_llldN>ju}5vZ}rhŋ2899`(UJ*KKKTľC IDATT AAA,k߾}Cqti( lݺuƇ"^c޽{#+ظq#LTZUH9Γ'O0p@N8bjj KK MHb \v C͛73!ƢqXp!ܹƍc8wn޼5kڵÇ]vPB򂩩).\FITr!ڵ+?E(XܑdsN 8NNN;wqrV gggT*ٳJRHV`ADGGkׯ_5kDTT.\͛7gRB!':t(nܸ .~)UVMz\(R  ;sLL2hڴ)Z^>> 2-[Q AnƌXh.]5j|uw#w)00Gǎ厒aO<}?|rZ}Ǵiꊽ{BP 11m۶Qǯݻ1vX;h֬[]zƍ~/չsg4jٳ'^풒EJ\]]1{l1aaauS| 6ȜD('AG̚W^; ŭ[ظqc`Ϟ=6l^z#G7oˤ$dH||<۶mˢEݻwGEEM6,Z(ښWN۷oY=UpYΘ1XlYV *ȈӦMFI'(">x@/yӧX"… z)ŋ\r%kժ%fBב1@tAtQjU ~~~X" 0ey&jԨ!w)88+VJqLHHm`oo3g`˖-ȗ/_Μ9Ǐ}믿C @߾}!;y$5k3fƌRq]̜9gFձb 鱪;whѢYf4i" n(J,޽{<==u./&&ŋLj#p5"ZBN{o1䎔)BBB>>>rGɑƏϲe#bbb8}t+VزeK|rzꟽrJK2#`Ypa/_XHL=ޱcرcG`ΝqF͛SN>Ǐ'>~8SVիW24 XD (P=zH%r ^z6l6nhP/-Ù3gUT7HeiiϟC勢Ю];,XݺuCPPN< {{OwPLԭ[73b ׈… {nfڴiCaŊz* 5kbĈgĉ>)b( `bb2|}}7o۷_ѷo_=: Y*O<صk1p@xxxIf͚GGG%G_>0yd|VPPp +W~ŋǏ?ӧ+`0dΰ̒c1 ?+mj7')[,r΍xXXX}rGDD,WD ر|q&11!!!prrreza…pww7؉Qvmz ~~~_M6šCz!^=z+`֬YwXa 2dp$Wjird>(3LaQZrJ& 2 ! Sn߾]K ӓbccIOO,- Bʕ+QcΜ9(xxx:JӱcG[]GǺuׯ\|=Fy͛1335WAڵ^x?7:ڿZ~=!!!̙3BCCkb?_eR!tYfunѣi׮]tuzMR1vXG||TxbzݻiԨQ[;99s(lܸCbffYEݠVILL?dԩxyy1d^~e\g}7|ɉX|||ӧ&MBQ)FFF]V퉇'Bg͆}cǎ֭[ر&<3j(XtT(T|svϟ'66#FDTcn:i޼9m۶姟~bРA\p<"""x7{.ך7oNhh(\gcc;v,cƌTmhJ})@JKKٳg_^8gjj̙3Yr%.\u>Cqȑjۻwon߾ͤI۷ceeE޽6СׯsF+B`` ;vয়~"!!VZaiiERqyږW^ 6еkW>I"Йlt`j5Ӡ̘1-Z0dn޼8 4''jOOKKԩSXݻcvAHH5U@hh(nnniӆǏ~zmСC2dH=gɒ%9sÇ9y}ٳxxxpe) BK1Hvv6qqq;O>3fйsg]jPسgݻWq;ZXX[*G1110lذ(tN&&&$&&2zh'Ҿ~aggǎ;ZkŅSNpBmqqqZkO<8)@: Nb„ agg7[neѢE|駏8;;;RRRtEcذa9aaa:t###zU`zr Qm222w!''GbHZ !tBQu?s=Gpp0GgӦM;vǏ3m4]l gǏ'--Z+nݺt SSӚ(t ''p`oo8I&ѵkW>s.^6eC:L !NdggsM|}}u/)_ի,_V\Ɉ#x֭[$jڴ)III(C6m}|6mq=dddk*Ё0rssv`˖-X[[̡CtG BE:Nr/Z͘1c3f $##H&MqkҪU+zIӦM}֭[`n߾Z0rȚ.j*VH/ѣ!!!/$tD !NĠRwy7a6lKߒ%Kgnݚ~+W0~L-tnXee%Wq266/$??:)@:Q핂jÙ3gӓGGG:t蠓-w7}H\\\Xd [nk׮5v^[0Iュ%׮]uR!t"##]ǸjT]GеkW=znm]vڮx211O>:N{j۷oӨQ#]G: ֩jbccdHEEfff:N"cܸqܸqC[m ݽV=JII .]uST?(Z&޽:ϯ#M6uQ ~~~̝;{+VJI@@@'}0wѭR7o'NaX  BZ|ruFpph(G}IJed#gɼ$$$h^|EΟ?Ϙ1cږ?,--Ylɓsw!aX  BZWYYIft۷3g̙üytG<JŋaΜ9Zk={k.6nȓO>D/ҲeK.\(:/P' DQ4w낼(^ӣGBCC 7n<)))|4oOOOK.%+++VT&G>L߾}ٱcCsքR4;v$<< /^{xR!(lْj+V0yd_.]B:MQ*++)--E__U=JŪUسgo}C(yc֬Yu;۶m)SuSoR!.**~gggx ׾}{zE~~BFOOgggf͚;vxT70`f t~IB '''۷ʧ_֭c۶mlܸQm !D}Rׯ֭cȐ!< ȑ#t]$(oرv؁i7k,RSS; >SZjuސDuw'S>ZkCV￳qF֯_ϫȑ#֞B4}/_O>xxxD0`7nܠO>3rH֯_ύ7x8~88::O{tqppo߾KMozXXwo(Bh]˖-8u x 2WMNNQRRo&oC# ߿(vɌ3PTjՊ6mDTTo>W狎Ea͚5DEE1j(Yf _5aaa{XYYajj Bsss̬F KW*3t'''ڵkGppl'5Аӿ_HKKW^А'O`|||qppq W_АѣGknST*SLD8@NNN^]祗^,|wx+Kڴi B ++ Eě7oҽ{wBBBߙ>}:O>$>>>ZJ,~u ===f͚/tޝ[nO]' LB@@W7$%%2fN B?xWYx1?#ڵ;t%K8~8˖-I+YBTO`` ӦMcŊܼyS00{jiӦQZZʑ#GweL8m@Ntޒ9 B ;..jbccʕ+5M!:t(޽3zh<<?={ҦMl٢%׬ IDATBZjEquuǧZçnݺ믙7o...ZL*AT*֬YCwߥ#F:ż4k֌)S0h bccڵ+>,;v]6Euo`^ꫯ̤I&q[ՙ3"ڲa]Ǩ"11aÆʹi5jZ`„ 9r@taD5YYY$%%eڶm{_?aƍxyyB!T033ɓmVsY~=saʔ):LpI"Кm۶wVc&ÓXr%>>>Ș\!kqppܞϤI_a†M !VZ)S0bĈ^~3~xdB+** GGGtȑ#)((O> 6`nn  BP-[̯1k,>C8p #FYfZ!D}}v9BVV֭cҤI1j(>#OJE!V9r{ EQС}퀮RXp!DRo駟BZ!I&M6l'NӨjBh֭[9<;v>ֱ;w1h -BѐT*OX,!V\2tj3p@6m=zRB!ă`ѢEDDD0zhu,!#B !VOVJ&O7;wBQǏ`Ϟ=Ӽys]B<"Bh-8>#.\@xxBao߮򽍍 M6Q!ģF !V(:رcKKK>sj)A<䓬]===Tױ)@Z1~xBBBزe #F.[ wwwΟ?OFNqq1wݝX._믿^e)!DjԨ/c!QR!۹sgOIII '_%K}K!CBh)>||(8p۷SRR57o޼6ϟOwkk.BD...ݻM6ѴiSƏϭ[4=33شi!!!l߾?/ӧOsk!f,!ۗ V^ƍ>}:ǏgܹdffҲeK>""";w./^Eu@vڥͧ B&= BQTdffܙ0FDDw橧bΜ9 2qƱpBrssu]!Z"B9ufͪr3{SY^xyѬY3vʘ1cp. !B BhK,!))'ҨQ#?>cƌ`nn='N~zݫg B"s@Օ+W`֯_υ `T*5oߞ7|SхBQCB:[[[OY722ϓGi׮ݿ.BG BRTk׎v:B!jB!B)@B!F !B!DD!BQkB!B)@B!F !B!DD!BQkB!B)@B!F !D( ?3&L`СٳGבB t@!Trr2Ǐ̙3߿8};wSSS&B!Ddff2k,***yJ}{R|!u B:s7PTTTqѫW/n߾͛7=z4:J*00KBQ{&*++9|0/̙3̜9t6lxQT)D( YYYq T*6668::ꊡ#>r XhQQQ@窬ŋѤIN`n޼ zzzDDDc:h B9e}^??̞=R_.Ňhnܸ9t'O$;;/giiɨQ/'ݹ̟? &_.**bͼѵkW-Z;?{G-lذ۷OFFT*'|RŤQ^^FFFj 077GO/t-^JJJ EEETTT( yyy9nj38|0ǻ8w'N̙3~znݺӹtq&&&:L)n(BBB*/SPP@nݘ4imڴˋMCZZ۷ogܸqsҺuk?+**"## 6mfݺu]޽{kz066JEII yyyXYYall|ϹoݺJԔ-[0}t>|8~)qF,X?C'J۷III!))k׮q9 h۶-[ =ϻrssYf … XXX`ffFZZ=;]e˖&JJJȈRj5XYYOee%dee`jjJQQÇg9ܪ 6'p5*++0667oN.]BBBx155__j^cBCCIOOHVPTo\v GGG5ZYY₝3ѣG9~8w聆'xSXX۷qrr'''M/@Ϟ=155EQ∈ 33J PVVvvvdff믿RRR'FFF ٳ'AAA^F={Taa!Ν#::l LJ~Z3JEyq9͵ɓԩ4o޼޽wÓ!XB@___̹s0`DGGs5tU( ٶm}:Ԕ'O2sLN>$ĄΝ;sرjK.XwwwbccˣZY姴dHNNܹsddd`hh͚5e˖=OvfXg̘1u|̟?RYz5m۶dzIRR...I̮4o???rrr%++LRSSY|9999xzz2p@&N&^{xR!(dddPXXѣG0aׯ_3gLee%se{[nLBBx̙3߿[[[{ϸJPXXXиqc}h$%%q"""(//YfEQؾ};sΥ_www%ɍ7 %<<͛71TTTFFFTTT```Y͍-ZC-rC-NZZ8::>R_to{wބVxԩ|ܾ}~_|o{mx 8~6Btq-ZĩS055͍3grU̙C&M(,,ܜ=z`llLrr2dffV=x`,--9|pqwwLJ.]hppp˞8,YmڴgWyy9{졤-Z`kkIeF 033{d{**5k+w6 !44'|K˨*,,_%.., 42ahhHyy97o$##$P4nܘ{g}cbjjZzխY=B{]cwV'KKK\]]ƍl2Qu>Ktt4O=>,yyy>|X38?qqqM6L>#G^7f|甗?REY]VRR·~ˬYhݺ5gϦY3֖4rss={6z3M6E__k׮;ѣi߾=~~~U{荗VjhhȰaj| ݻ;?+++8@\\k׮%66SO8x駫uLAAO&22Ç3m4n߾o)ΈP%""BQݺuKy7 */חV鬒G*#GT"##<}ݿh755U>SCRYY玌TKj-}V+W(6lP^|EZS&NiWYY$%%)JVVVx\xQի522R:u!jBRR+gϞ}sÓ!Xut՞t{ ҥ ۷2;55G鉗vvvT*z/CZZ͚59::Ү];:wLLL Zbܸq\~Wr5RSSŅ;j6?>jпqW0a6664jkk*cf~?(ܼy YIII!**&Mp֬YCii)%%%QQQ͛7IOOGVͪUx4sqUUTTi&{"##uK/~ a$77b5k=BEQ8|-%kO :D^е믿fڴi>aV\/K.VqttEQqbmۖɓ'W[]#F ,,={憞7D"""صk?fzyy9EEEsXXX쌽=׮]#99+W_}Ŏ;8{,qqqcaa}ҜG__Zh;;wDVSQQ۷vrrbxxxÕ+W8s ΝCVѴiSqww'((Qy@5D!!!ٳ:0dСֺ&5.<$Io&ӧO2ѣRXX>8;;六mވ033EEE={b q)))DGGK޽y7iҤ 'N KKKTk׮SSSС]v[nxxx<𜍌 N:EZZ{СCL>>(?111dT!D}k.~r ޴j OOOfΜC_ uHC{Aq-\]]v>>ѬY3Ο?5+?PRR-nnnӺukt邅EEEdggGZZcbb111!//0͉{7Pm*..FRذ(Z͛:u*yyyǂ 4hPQp)lŽ;(((o߾8p@VxB|ZΝ;ӱcG:u3cǎy{nݻ7jv522SNlܸ: mQ^^NDDǏoܺu=zȑ#qvvɉf͚aoo1AEQ5+-O Zn @ ==KKK6mk9___ !((;y }͛7IJJ"''#Gi&M1[s94sQuZItt4/_Y5,883g~B/7oμyX`̞=[G Xff&z"%%[[[qss駟fРA4i9uW^ ?ZM&M033kf9sc^z baaauQӧ=deeZՕW^yyU\BB=z 99J;>>>уqѹsgڶmK !DCP^^;üy󰲲ƆѣG3w\]A LR @Ϟ=&::1c`ffԩSYh'Odl۶)SPYYs=G˖-177kkklllccciԨ\P5j>KKKV^+cllL^7odȑ8pC2w\<==Ld,--%<<͛73|7ň3={p iժ§\)++???j !ģNVk6-// JEӦM$''͛ǰaud?dzRۓ*++駟x7ILLח]ruBCCعs'sm6mė_~INNmzzzhтvѡC:vc=&ñR(((UVlذ6mhݼ<;ڶmKϞ=^XXyw(**bƍ*C&?<iyg0`#44ӧOcffƀ011׷17f„ L0As[EE7o$''ln߾Miifw?gϲuV066իSZbllLRR[k׎}ҽ{wWWWAVVӦM}```)7q$%%ZUVDDDcӧHHH;SQQXb߾&ˉDFFqF )))=OƎKQQ5j-666X[[cbb!ӧOgٲeDFFw^ !Eaq1u& q<((rϧܼy\,,,prrrLrr2ᄅrJ֬Y+REdӦM۷g޳|)>>>iӆ gU?_8j*^z%|}}|?7^^^\v ZhA 233IOO'))DIHH3/}իZC*++$99dyw';;l|RƝƍv>ϧO>9s72rHek)@ꐺ~gٶm[(,,rMAAtڕ^z=zD\sHll,111;w? {{{ŋC_ҥ?f/شiUv_666;ѢE v9}R՚RRRHII!--MSܤI[[[lmmqrr???\]]wE}wۗ/Q_= C ̙3 6*ѭ[7f͚Eii)'N8;;kVСM6QrQWrE.^˗!//O ###<<*4N0Ye~f9>CCC8X]]ͥKttnsٜ={6;w+gy&jn^}ռYYYƭ#͇oLk[Bn7o{./b^z^ . wb|LNN?Jdtt4󙟟\fggs=dzz'%پ,p,..?Gfuu5CCCy377dvv6Wƛ߬k[B sҥt:ٶm[z衒n;W믿>8tϞ={Oӝ]z5Oαcrر,--j 8p /`2޽{322? '@73==9yd>ڵ+ΡCrɼ{9~ %IO<<=Xy4}/^Çsԩ-v[9}ff3F#CCCxl47dY\\̑#GGر# ygr…D$ٿ۷/| L&&&rt:婧˗駟eYXXȡCrgtt4ٳgO~|_Pd|||MMM >P?~pʕhddd$i4t:駟筷2k^xaC#rN?s~ywrر#D~ZVΜ93~ed Y>~zzn7+++r̙F+ӹ355LNNfrr2Ͻ[w\׀l-m۶ BFvz;Ktnfr$C!@2(#@2.B߂N8K/,--mnz:w}oqS [LNe7ͦq:PFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFePFe˘* IENDB`Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/streamplot.png0000644001374000021030000031117612700747662032205 0ustar itpeavd00000000000000PNG  IHDRX,=͖sBIT|d pHYsaa?i IDATxw\a#Seő$j_3wHԆVܫ4W?5ˁ#w""pGIe#~x繟ÁsqO((J+EQEQmT((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T((T(( ;=zTa((JJ(A% ;`UF\\\a((9\R V{qqq_jժv8ktu֯_ѣGIHHɉ#FB>8/^L||<ݻw'$$+++~w4 WX h׮uebذac=/,YWWW}]֭KR:ۂ ظq#6m\r^DDm۶eĈ72+WdŊl޼SSSK._e֭ڵkYf Z8p  ݿŋ`nn'nnnL8`nDɑ/2x`U[ . .\(PWz)T\YM&wɴaäv""w߉/_^:t萮lXXHEDܹsȉ'2?@ߟwސ!CVn޼Z/QQQbbb"&MzիTZUZmcbjj*cǎ+W 3fxU@@,YRlllҽ~+V͛eܸqȲe˲w֬Yb`` +t%{VީWPP|G/K~I=o%JHhhXXXȑ#<{FRxq ݛ$$$dXǏ^w7ǏKr,G&ZvZsadm޼YٲeIJ@:uer^XBCCUVbjj*x񢘛{wkcӦM2h qww@>=+,BE۶mRJl޼3gˀ00ȾΎPLFaVҥKԯ_Xʕ+$$$`nnNɒ%qvv]v׏6m`ooOhh(ŋϷ{MMMe޽?ZjѱcGrto7ҤIʔ)ZӲeK:vȀw ǪT@dd$ԯ_;wpW^ҽ{wjDGGl2??TVM6eٹs'ww Ey s):WّʢE9s&VVVǞ={8p UTaϞ=888;g:uDhh(>ÇrX`;wηׯ/K@@M6͗ Zhh(,Z_KѰfPjU HNNfРAlٲ{֭[F₇ .$,, 333سgfffYcggG غukA(kTsӳnu떔*UJ,Y"ZV|}} *Ҿ}{_tHÃDD$..N $4o!Νu F/^V6%UdznX|HXXX]̙3bhh(ݻw@ssso/@qvvp֛; 4Hݻ'w>}ȭ[rTG~A9R%{Vީ,EyE۷/mFUnUTK(A-(U} 6(;-oz×=֭Gz9۲V###]6Z ֝cCA]oͱ)k֭[u1b*Wٳg'&&ݻSZ5 իWV9ZjqYbcclٲo>G'$$pI5ZWR SrNG(O rvޝ6Tys\~SP^'גScE– `_4rɜҭ!LGXXX&X} 5@ rAܰaرXqܺu ӧOSJ .8 /V"::ӧ3fՂ+%K0b9BӦMy&١_Pn]V^M||(X|лt}>ҥKz|gtރaÃIN>ȭ[Z*ӧO# w/Y̻==S*%=\_ ZGzNMW[06Çڴi'MߧL2XYYlٲGQ^+`Anݺř3gprrʕ+DDD0o<͛Faݺu/$Wgf)SF%Wo/ҷo_zŔ)S ;&.spk۷o3c >#N͚58>G  FR33/((Rvq08b\ a@=p\֝S<:{yç{k ZK͚5MF8w-cVϞ*qqq)0@wB&"?aÆocggʕ+ӶxܡCs:t'u-۷0WK޽^:W.E#O\G`W ꫯ011aΜ9iݱSTiBb#p|.} S`@}Xy x}} B294w=+GpwX __Y7Eyx{k׮]v/OI^áǐu9u=QC{ Xߏ+WaÆqQWNӦM߿?UV%::PF}ADb,[KRjçXџ ˋoaÆm0Ldd VVɴkW$Ķm5~ a9#Cc@P>oB"zg'b{DC};Lҗ ]A:`wVY^{ut@1=QtWjU 2>|qw 0r'@\vm Od>ijR;T/ST)(_<ŋȈ]ڶm[._\q;MbiiIVK.(Q޽{zj 4e۷իWcggگ*LvNZB.?Lݳ\7-$$LC7LȠA%iӦ&ii"wgXZ~nrZ--鏏zпqS;quuʹh,s=P<.C_|<6V/8„~ 8JN*?7{_RƌIx:kbll\)J)&hnjҡCUVvgݻ'8;;ueVVMF%{ya?ŕ+WXFQ KM8L$67Cd˖-ȑ#Gw0-w{Ҡ9Qt-CKJ.K"ՊZG2XڐuN6mO?$׮]:WVny8ZDq~ʈ\yk"3̍qrfjcbrH&Ob!>@Xb,_\N>-2rSEw**`b KKK)Zhx,ook׮ɤIRJxxxȑ#eRlYP<<<$228o8YԬYS X72GN钀>_%ҹsgIM <#O~1n]|̜$+W>,jE>^\M`hXtH"VEe}~)Rv,ܩDpY;'w"%]ҏHJ9癿%X|t ֱcoV',ZHŋ/}K k֬)䈕R Vީuʕ/ӧcxV .g}&eʔ@ʖ-+7oRjԨ!~9#GcccrJ?XdoYi>Sn|:E+ƶ_ C̚$pD|}csLLK&K\cD֝ͼ@|۷O9ypRN{Щ"ED+47!3JF  "B`yyY  r5='odÇfJ.+TU ŪjU155===|rǑT9qℴnZ4|嗒,>>>RB//3Ci&dy#E+Rឿ>t]ff]ζdڴixZ6mzy Ҳ3N.%Wd|P7q99D4Eb3i{_+Mɬ[ CHHL6Mʔ)#-+VgǏ/ZVmۦެaTw**`bwww5kJ5$66vZ3f,]T.]$)0<55UO.ҸqcQ7"e^F۵ z܅,3'_ܬС)"Gd6\'Hl ߉f]g|||ڮXpip?#B o=DDZH";伮&aH?KGLL"yA?\aȺk9KOD 2Ee-ŊuʦM˩Ry_133 *Ç%>>sZxyyI~V/.RdI)[8::JʕjժRn]>^o.y7=DEgkkK?~Fç~Veĉ 25k`mmʹi2dGwymqcccʔ)J|cjZsU;hZ~7VFw2Y}4RS8𞞏(_0G6) ?qK4FLlGYblOr{?2[ +biC̷QR$ =/ /z.hs^3QO754̼7Y&e8ٽ{7NNN8pEC`Q,ebc̘1DGGSBWM6ܜ5kpM*T %%t60 IDAT2e Æ ci Ԛйsgzٳ:t(FF,߯(B*RXj΄ oiyCCC~7ZhA˖-9x kqԨQ,_1cpС?gƌ̜9M6wYWޫm]1s~_&{-2/s߿O=v-ϻv-ԿW$ZӸqQ6,F͚BbxΟ;Ѱ ^&MLzˠph, }xI=zpUzzdU-Z48[j^*7tA7>w{iT-hc6.#9Il dSNFڵe S&baa_~ɩSe\v+VI׮]Yd ͛7k<))+W2b,,,1c"… 3gr:v옛EQT`kk˖-[pwwȈsQΌ9ʞ={hڴkȈyѱcGvޝGq1bܹCŊ_[ $$${nƎJECj4V69? Mf^f˖-888PdcBB+h`hn]kl`nns?7##=lm13+Jqq))&&9\@ce8d+hΝܹsӣ\r\rM|"-}t…ȢԵлdΟ)}4؟z%9$ZcQ$0ɰ̳+4Ν;A?u?'Dze(]4| !)))1|pRRR=z4kۛ3fпT15UO, s9t:u]vlذ.]}lْ)S%XW\dɒ0g.]ڮ'> IՔ+2>{[n$&ꓘ;tĉFXalƬ\S!*vM7N>3fP\9o\}OBА nMM$_U3C%7@OϤ`*а>[v#(;m`^K$@ 8'Ҵh*FE"Q\ +Jv4,X1cƐ"h^iO>9spuС?sS2ٳJٻw/nnntڕ!C @xx8y{ɈFbXXjբstޝիWo޽{TիWs"kG.q]GȤj߾}ܿ={[`ֱYYҨQז\8Cr*ur駟2l0ޠL?e3>ǨQhժM4lYع{c%??B*ٟgkk˒%Ky&xzzWK[l{@SaA[kI!}㗉yKFM&XY$X-B(pag&P.DWȟV%** +'C(ʿJ|h2d.]ښcccÖ-[صkW~:c0 _MFPPK,Aв%hp$}KSN^s͠,Y];bQ`Kzpppn@T5x݀/uBg0#IA `?!D0w\Zn;}ϲNXdSD,oݻyM6%** KKOR)`)ꭷɓl߾oooڵkÉ\ŅΞ=ˍ7?'**5jpr kצVZ\r={r1>|ZwޡXbKKK0`K,?`ѢERJѩS';FQxg5.`ոo\\1D#n*i%|H,"|M;;u ;-tr[sc{}L6-G &@ss#Cb` ?v?X8|6k֬aРAT^7o2{l4 \xť(6*RU||H--[ƀؼy3W^eŊ4joooF+~)oߦ}׭XMKjh=)ӯ4TU_H%qD4Ev=s$f#M~Eן(Y$6lzl%-cMj4n%8w9wϧ{xn,0`Νu8pggL;wRR%/^^@-Ӡh.]ʼy ȈK?2j(~f͚_8/ v@͉'99C,V[|\r/>={dȐ!d;'7vMy 14ܺuz+s=Ϳ܋x !< S^jɷ00_sa\4z]3<<wwwX~=:uܜd;ƾ}_O?QFDFFI8!D$Ӽm?4R^p5jԠF 8DpttL0NǗSD>8b6zcO-̱sx4S3L_ Lֲʌ,1#'ITQJ Yjqke Z'QYMw&&&&ԫWMqb#B.7:y_}~!&MbĈ1lذ\Ǫ(TKyeΝ\r|Wt___|||]6ݺuߧcǎ,_D-Zcbccbe˖MtB"E=ztr"a"aI:u OOO\TVڽ4}8 W/-#Rcm}!4o䮫0...]C8ᅬX iժܹs<|O>S30̵qGI\K/^ؘjժK󘝄P+ORל?OI_k˂h0x.e:L:AV*9K ~j=1?3-gM).nr} Ep"1p\nߤ]v8pOOO>;:mM\=ceeEΝ]() ԿqC zqV+;v쐲e ]Id̘1icbb+JӦMybee%AAA9nDD+VLiҤI7o 6=,1RZnIC+>}XbҴit>/&YDoH b4F9ըjҬY hwH}[m[wVM6I2eDN8m\II"+n!B5NEofVȌ3m$J[9%u|/ٟZ*grJI$4h&ӈCijX~*E{V"S$2HSʴ\6LJװJM9k]K zPwTpq LZ)4Ͻ4֯_/ݺu:unbkk+IIIyU)\ZWlسgϾFSN0a Xt)%11WZ;wpQ~7J$+++.\HrF=zO>aر>!tXڵmG%رcG֕ZK ZuU)۟W |1Fî];~n*Vŋ!9ԁ;{wX:֭cΜ97}₇\z5-NB¬y UߎEA/V`Qx[^P7 ,4ƄQd=SyO8E']# G=$Ǡ1}ixq.>GܬFq| ZM>(GtPT|Ij֭XEŦT'OpY&Mcw8~?k,Ο?3cǎeÆ :u7o_QM,άYg8::733cƌۗkbd{{`baars>}ӧOg͚Źsѣ'K|o"p LR# /8/<8r)g3Ԧ.ls%;veF4n҆~MXNuukm KqppRJL>mfCx8= k6^OӃ$D nBm[FEV3Z08)DRηnA J$$EI`OWpIw ,h3_=;"[b8!)997Ҧ E !kn8&s( TBX &w{s-#v...l۶˳~<Ǧ(*R򅭭-f"00+Vp=ڴi ,А-ZhѢ|]T)_[.Ã%KybH="X''7mFHE?DK>5W-)M~ѧ44$m U-RZք&-`bsj;Ee xM6-ro@UpLk;ev"/I Bc> `#{2nVIH }k(:8.xECb-X[n%44[ab8E*yYO"(9>_ygYXt)/^Ņ@%XJ*R ⯿ȑ#$''´iHIy5j`ooOhh(ulٲ|ޞ>UVKPPGTTۚGq3rz:5 &޽y^7( 5P>i V=;\Wn?ksp(Jv`XPtg=~ ޺wnSuؿa2*U~Yb | =_4?"LvcP.@Fy3 gsWmq}yBҕ͉w4'Xlf:=m~i/J%m???zŸq>}:$$$0y<Ŧ(*R^ FC9wƍc4lؐifժUhV X"O=Fӗ4\B`]7x`eЂu Ο?ϧ~s{!lNB7} Nɦ̩88ZAKO-ZTg8q;wN ի͚5SloF!*1ӧOSNՋo>j׮ @l @H@`7q+ ;۠_)O)Bn1a*W_~9^t쁍q$8FLR |w?k7\H +#1O;v@~b'6XݰX >"$cG+q}zEp0d#觖*^:m۶%,C#HbaV4 $,¨E F\:CMdXXER-XJWOdɒ4mOOϴcͣD|wۗǿѣG;~^86x/GҰaCʗ/'|9r׏N~;??#BI½G`xgrgRP8,ޞopovVmv@ n?b\䃞чDE, _ˆy4 +Co>|ށ~Cp~|ᚻʗ8F]Ou; "$Ft`ع6 ciM{Aг<@%666HzTrr2h4 A`>=x=}4j4)^o;(jR GgϞj*뇹9֭I&bnnaff9NNN,\0ӺgϞͅ S...;$&&õkI:,$~_-[GGGo΂ .sky`@IX,h)Yh.0G8{Ui>+kKh޼9S'40LLӲBHNq{;gx>,lӥĊY{SX:_}8~#8znMZv-3f $$%K?гgO\ӧ ..2YUiܐJ*!z#ټy3'O$穱8XWɽZ% W|LYC;]o~ غ@~gTn_`'i\ρnaRsx$"ӹE!=7 > FӈH&s J͛7K=@:D i#\0Ї.0dĤh SnToW>m۶MH;Mί!-P; G#fAe5}=r$5OQ_r_Af͚EDDǏСCL2#Gɶm\r ?~OOO._˗9vݻwG.glaa!?7gѡEC&?{p>e[]f]q&> 4TAc9?dDe>F5 -6mܹsY`Ahݻ3főOʮ6_&nds9qUpfE;& " Ξ=z'z(Aloi1z*k(D4EQ[w EO\%&$^6lXaݻE@CqC%}dDâwkDYU;]'8Yir_m۶lݺ[nd rss7nmjԨ;ÛoiܸqAV3oX7mu"yC3 F*2XH -"SWF`T+xh le?%O xa8$tMfXs 4Og%sxq ^&kƭ{l wt,K;22X| ߇5 w)zIV $g /6Ցm\v *ۧ~Jv޻ы3BJ`_Svk;' uaѢE̞=[Ҿ_SNeժU<7u"YJBc*-h4iQ] E]fHo8w E\J8*ԟEZFZ2 ̃wW۰=)F˒D id~˿Ր(@X8hQ~$0'$עn|x :-ՅaЮ l֓b IiBAQQ{M~{4dbpdرl\.goxL iEhdUOwC\0̷H[d`4 h :=" /\,Ckɴޟk׮e233yw!/Cj8;9W!Gt/S`9ӓQFUŅӇVĐ'*X+V`)ţmgݭ >6_ e@T0>C*=5Ņn \ 1mC6Х<횁+ p9\XNP3nEՄz5J!{98 Zۚ01@K֓*EXc!A`˖-ĵid3y{ZKD$Y 2" ?LFFǏwJ |4+u:v|+E Ҽ)>))G Ef8 J#b8t ťKضm(2h`M;,_G)pN/b%e(ȃ3`Qcx-_rwDmi_|'Ի %ϵʿjNoz3WT3`y&>Wq.J*+RK0֎G ` C^./c`pZmm]8P煐n'Kܝid4"-+Gh?Hry2ہB%ɪz M+ B?jIVf| -VN-Z }U }:Џ5tz*gSk0(~V]\}Fvz&P!}XmT%$mɓ'g@C2rsYKӕ[VÏ'4WP*Pw2Hádе!$4VFV(2Ua j:;Xa`1; OBM2_!--B5Ia=2333ٸq#2l<- ӷ-6ƃ\ Am+ԅٵk/"2F!1/ %lٲZȑR|Ν;yDn0^PDF% 2 8NzBu݉28o 'j2r+^F&o>u("j8u,9sj;(i +j.'^JOƂxIU:4 u*oɟrFHC|;Y@vvb-;p\:pNlת먀=Ep_&,<9k]`<%REOI"kZ?_ 'x=c^c/!%^՗S O1hɧB BٟQUMʺ8wƍc $&epR^"XMN𧰰Acرxy9Kȴ~ ֠l h\Up3hSh20GYg jۼxyH2Z.6rZ(yH1"MVfF>h`1x:)uq ,'jRZ?v^',,PNjժB!](ҷm<ΟGѢ1K.e09|BqV0|qm XBdb4= M|~ #M44ptt>8=<|KruC`i-gEH/nk]BŇnQ 3$$ 60y( }۴k׎VZ]6:o#’ J l)!Pprc~w `Ap3A8.MKKcٲexzJ %kWI/CU`/X: zR/8y6~[G1Q0o:tbJF& )E~.\+ӦM+]Va0݁~&eH!E`%ˬ BKE1e;U"ܝO 'aANbF5#GZʕ+L<˗KO0= nMLwiYLkggmsw^1`n.b}<`pH^*gɆu@ÙяRIG)@XrnBoW!pt/~(60 GPv2UaS\'"%xQ؎7 Y}qq)d} Cldyh $-VXT[=JD|˖-cڴi.ws AMO( 2Lx2StT#!F'N 8[U<Ƈ v2D% 92+z$oϟcǎ 4)wz߬%q}qr8c-VznV]KyHq6M^nN φw^R0X:gBV7ÌйӋtR"-dp,n[< >7ՇE^ӳVmdLs wWBKHKxk&=%v7@>=~T!;!rט>٥z-d5w@`[uamx}T$,R Ptd P^Qfbzн{wbcc3f III;\(`{Dd DSD!`r֓h"eǵhId:qS`9!b;>ŀ 5=m]6rg @C7ܹs;w. |tܹ~W_}E˹'ۢ8;@\H%5yl;0g fXurmO@k6܎. xw iϭ` iYfC@s9(I82uicX8ylq੄q4 6 ք <'>|YwM@* Y 3ADϣخ M9<W`s֞, p4'OC::BZUxl'AaqՐgR(]D&6ddfO?1lذ2+6l@v5k .(УGUIMBWDQs=~ A/|DJL*FC&gAZDy'wT"dJpX$BnBe?(ÝWJJ Zn5"z@1u"`7!pZ6w%ͿT$wDl.>Wv9suTE2c6 )\%e,iѢgӇ.]'y䡪$15Sf5ڵk|rDQ$663gZYJc\_F)i$Xz hLXZԩ:}a49r/͛7GTdPbYDﲝ70v 9weJOXch4zՆac#T 9D@Ш.Ԉp*M˵1"of@[P ƨ _?T.L~!*)UCCpoQ k o~ĕQȷR3|>S;Vxa0x=g!j ZRZ^z,''v W^yf͚l2 &իް'v,RRRbdeeWAm":љIP~(ě Te\ Ejqj>()I&3rHs1^x u5q `', 0~ʄ[jcG_)l 4m:8 V槡a%#aZw~S;)M%4u[Ac Gc %,fs|4x»t!`I|n@C#;D2?YN=elVF!|U;& ygؾ};}sMvH>_rQ.&`-5+? Zd2ϒ%K0 :XrJ&L@Y<7… t9![:1Oqss7d ['Y'Uƈ]HSF IDAT#d(v#hBvf=d\(2~1cΰaԩ2DQM (ډ cqWB]0t/|8AŽ`a"Z/aZ֖&l\L p8PZW~/M2L4 $q5 > *IhǍt%Jkh,83˔qŸ4+֝$ uO"Cmc=z۷zkJru a?QXG0td}?׮ULjIBBӸ*Uwĉ-Ar&.hv1]l9`dddйsgFŻ_] IQhrɹNŦj7xQaaf8pUO%MAe[𔃗L{ކS*(6kй VcÈHcBaq0 )b"+L2o̖%#jDYDGPP~t*2K9ǡ릔N4Y|xCRѵkWRRRر#d$;/cy^0}d,(2Y\˺ڵk7w6}[‘#G:t(f?c *5,Y s R++WdҥL83g0ydصk]to *Si%v fe,IXK2D[I˲t0+ va!i6g#%݄ג.s]8$DCr.`-GIC3|y@GTlEC.(: nMJlխ57GvFrE<(+9fr1Z *y@>z21P6Rgٌxo'9ǖ-[HHHm۶_upm}_GrReRrxXzQZψ92A. C_EW/+EmZ$4nv 0 ejߘ5=`MXu~/q4o 0?| oY# u7r_)(|g,._: N=~ 39e$/1.cr|b$Hn>Hk rE2? ܱ&cXɇ~ȤIh"`_[ m un<_xbeҧO/6 V^t{[k.f̘O>I߾}HJJ⣖)8tAr:/!pK;s ]nLN8|0QQQ,[z;w y￧K.ۗxO9t:2E%a Eim@R母;qvsJkPI5W2 5̳Bm0Vd0jyx l NB)ghh.ŅU<-\ȃ[|\LZf:4sX^^8;!rI>PҚYe"y~Fn,<ETpbv!%T~Z`, d_ȮuY,Ϝ9슼[pTz'\Em}y^g}AYr}eݭٳ{kYC{@x@3b\.?fڴiYӰk( @A::e%bwA`j#yU~+| [a-*GÃ08N3+R*/)9&D:FH&?OwAkF j: w-܎RQpM1AF}Ո?oɽ+z0Y.#"Hcc@1>Zhɥ1#L -pX)-1<:AY~dVW˥!rXS6)X)_Ҷٳg֭AA嬿oh0k@xjӦ ~EϞ]|~a=*P;:ZڎV-ZӱcGl?~e,S")9\ Ԧ[rj ǟ>>('P,ͻƁ߸mTw!ՔAA=+mqsyN'Y!&&Ċ+qV{( ,-`݊ԹSg`Τ O'bݺubJ܅g^z7|ؿ?#F`С,]Lw3HLMp,$I_FUmyIۥn߾3<СCYzub{q ,'U,cIJ9 0=1xpnR\yc TpN-pF#܁1#\X{b- app +/֛0 LiJ&.rx4y\HɃ,5K\dI5M7ITtRUZ602=X$FaNz5k˗ Aarkf7 r<U>dWN$=Y-Zļyؿ?YZ]<pu@`%K5v$Ν;ǤIlY&s: I)z =%V r 0seVC`Nj 9I+pI$V34oDA>M:б 6!0)$ÒK =B7(ފꀻ^!pJ G P\6yPc&ӋbtJcKg AYl'^Uȇ(YރDZ|(aOcp|('|c̥Bv:@7aa!¡dEm tW`suIxySd4d'O=H$œz4C2L.?o"h "LDC/,2|M)rHA7xQRɉ%77tBCC!/ַqi=foj z\adFj ϽieZ ޵kGFTxb&O?̃[VK(p+Wb5"wZDAQgC&ѷo_6md(a4y嗹{Wz!R*уC2`IKK_A,^{'Or!^~Ru@ ;wS`9R`S*qX*@En(7Lv@LU,x> n t<ܓDم.4}A!X׬V>J@J꧀x3FEH"?!B&;#9 =fϗD%؀Z7V{sfb5iMZd.$Ӡ EIPid*t}APӸxB-m1]&m}=%SK#U*,]AcV*8wKO[9CI\,HvhT) 9f;|P @lyzMLL SL!11ͥ! qoY1 y%AF?3lڴ>}ɢO?;w0h bbbرc7ndd2F#gťA6lH||<#$$+VOWڿJsXR>XPOK"ˋ04?~I.dgW`y62p' Wo)kFG`G>Sä4XU8ݍa-wΫ`]h'M% ӒoJ=x%><p?\咕l$V""aEk5G&9JBhD'^)|TCN0a,Ee4CU*t!}Wu*^ "$jU@LL ۷ݻPr%x%rᶞ/FM937"hlv, ӴA\Jx[-LLL&NiB轣 J ۊAqAAXE@lRDґJ HuZ3`[ kyO̜ss?cj wߥw}H̔)S:={XOw5 .nAٶwoPUU2EP(xYf1k,rrrINNn%߿?O?4 ,@, Ce۶mӇ!*ֆ5%q%\b1|p"NS9,N ?eq"rj0PB%h)B%.:[*M9F_EA>*ᢾ}_8: >pRAi'I#WzQdX$VPI Q0~$wHѳO詣-3 KLqʹB{19b8I!GEo@F(opVeVkP3n*]_--^ػ]|JM`1 k?:ua&b^d2FX-5^tVၡfT6l_~ "(> %sRJ"b:w_h#X ڪƛIMdłI@-TD^]kDCT`ez{ QR rn=@IXl(i_ :B??8T ؟勐uW Q9o¤g2؇%p3|B{~+d"8I,/s'طCP'>feVjr`atm,^-s=X2!o%.ZLא,< ^B$QFqQ7ID4IEz_%ҤVFܹs4]TDE3z IDATWb تJpp0aaa cVu:F4n$Pr:#O~ϐdo+ӧdݺulذ6mDLL1QF 4p:BSL_i" QtϡHEji0w$ 2"؆1j1 G1y>S]h)5 9Mepw80(aˀ!Sۜ] Q&1jI5TP&-;&@EqXVP4N# %hyݬFLQ2&|.QޥICȕLlq~$EMA2> u _jR!|d06|rȠ*=jl23GE3V.Z7z[!p܃Qr%#)6aagS٢7t&؉Z9|j)#T ` 3jDݓ^ydl9eyؓBNPq:U/޳g:ʭ[yU|6鯡5I^xhjx UHoV+7nG&rsfЛ%R `WAB-7`8K8gZD.!"4h+V ++uaVL4eh1ǀ9o\[rL!REW"psAqF sRR6mn`} CA%g,uNҕh(du%+\|*qdSLv$H.Z~54~P"W|jrl#Uf^ggj |-Pf%L#!'3|K9fX^/+n3a`Ƀ; `j!smb0٭{Ǟ={XTmftTThMk>иۿ[7o#tZnկΐNjj*V[T)1|.\.eͺPtD'QJ$¥UڿXTŧ~l=+i\D$iC9mh%E,dcDձ??RWWAkO?ɓh`]'‚E% PE9.V 9gQ@ ZLD9?1'cdzQ{l2V)Ve/f"dCT}^1vmQH 't07CXaZH𔁯n F+CVZPB#_GrPA.G1gȢ FO2IArqf5V, >p|Q$>7pG̞C ގO|@p0gLƒqP5ui 3R5R`=b0Vx<_1cưzj{tyw8x wdPy:`a&6q6tNNɭ9///&Lڵky|)]EdZ~4.Y frmZP7a%(+]ݺuˋ{2hР_&L-[ӟ6u@tX,5>6:(R )"&x c;9& | =٢-`?%񀗜lȂZ Lg 4?TJX[kE0d/+aE\4bTJ!D~e0޷JݽQ#Sp?p2֒Az q$08"\Dba& 'JYuF!/Rj{VvݠtKXy >/4@nEfϞ)x[J*-[|p޸V4gWZD`1)6G.ĦA_,flㅏٳ̛D<~ sovBj@EvnR×T d3gdڵ[ɓ J CDI{G$tGjBFDn(E:!d&Q[>o7P(3f O?4 !!Ćaa87m:QIgR:(1z7z.`G)n7e r^ A<.V8tGI`++f+9VĦ@%ZDzkxGx>s`f,l~vqjX^SH~= &\hQ ^Y-"S*h5 E-Pf)E3:N&Na"fD`4j>ZZQlv܇0!D7f[%sp3BujO [HEݏHN< E??$?s-ZD`vh?SNcUۃKP(K.LH]j ?N䞭I^ (Dt+3޵fOd233syʿko%tt|9Vȫo -P̦~ bĉ<3zh4,bFJ[)3* )M Պlk6+ P $)~ B{sαa._ܐ|yқANGO5e4BN>иUŸl#FDф-.H^W 6}; zvbdXsA_eagȍe&> Ppgs+50fi^hDZₑVMH`Nzr"]@ҁxZ8)Q.;xZ8j,  ($:PMc9#ދvCg:iZ%6M'@*ӖrK< p3~H?Xj n0eGg ;_#nMՐHwL&nMKu8 Xp&( &yGʝGi=<[DΨ࣏>b$$$0k,,YBD6L#GRZ߲&LIEѹsg.]?F/-B"S^.֭H3&!h$N^M?do r˗7<7deeyf̙CDD/¯xmp6unrakk3u(#D #v$ F̜ Cih imβ&5c0\,u*V1Wo_ Jnaa*,ƒvMx 2XZ!9?MO!S Xa${ pDG x@I @G m 2HEN?R%)(O;RD4Ul ?QH-@ ?fӕ7"VҶag8Hԋ VohA0 sâ%r Q/=|g7>O Umڴ.]Ё|(`~?Kˠ ;3?#EoA} T7>zL2 2\θqx'D<Pzxspf(--Ϗ}~:,i؈MPvѡC>VK~ Kk[_"JGybBVtt F4aheFLJ~T*INN`0/b40`;v$66^qh#X )v;  !G1eٍ-)//tؓ` K. ̛7^x4 h4h}YFc 9@ (UII cǎ͛tUjDD0.ŶJ;7 QL;0H0@P;o /PVVƢE0ctЁ;Cpp0AAAӥKҊ;v?h4r=0q_th#X ԄI$24X84JPRMC%CF2)B7\O-&.RfV (LGf$ȯ5CϊL0?9A@ 6rvQ"Ôn'42F*zj;[dKYឹQ!鄐}mғY{ ˖-cɒ%瓕ťK"++/O?QZZ`hX/<<~ 6_FN *[ <B,"X̺m%_HRҰ:mB4ٍ WcHQMVpfɼɷZYB r>#a 8O9?+eL4}M&fhdG֚tWWYZ8Fd[ETH ܩsZA\v""LFitF)` Nl6|3@"-߱"Nc@F;M p 'Oz1/tMk6n޼y2$v=Cr^pW"U柅vI.++#$mE+}:9~W͌)Sh eYYY1ړqtGn iΞ=˹sHHHhgiJt q2bf"%ԍ( F*'E Cތ][orh6l1:b9x dڵL>t|}}[5n6u@m]GC%GAQMi2{#ىy'1$w`6˼EFzZz<#P)Zy-3$r AJV̮6JD<vNI"Q%"ME "KZ3$eTÂB@-x #R,4yœT4 'ȟH:G(˽DpCgV&?ƃɕrofyy7@>H0yo?y>T#ށ6۷իWO\9 '+ uIZEZ9/X[f?xnʢEXf UUU\rmQLuQZ\;L|}zx)`iri*B ŽvQK.5x .j(LD]g>FCll,5N V\_ ׎[v9* I`SL6%8f4QxAu\S0EQM{(fbMc^; =Nf 𠗜*&V6'5Jfx*2Mܤ@L D(aRj bӺ7j0OR$ IQ4R6$.Kù74[D!5p,iAN ˉI(¡G d[b|j(odUA` db̙ݛ:1"!?NoRLD {q9_j-={Ǐc=_r`Nj9dggӡC,cZ5) --={( *.۷J]jbEDdʈ#*(|Enpav(h"ïi5V\ɸqP((mu a(Q΅U;b' tԢqʗ#'T BF,#.??u(*tl;(b=\"FҞ@@-N.rdt C䳃L&եODy` 'S|LL XYO{[2 / OYYjr^4B̱HFRym?YZǂZ-erje&vco>|P8{ rշiZLB )0%T. 39O=Aa@ou[/+ G(wrj%3֦AUc¤/nn^"$Ϫ %&oj"##y}3dN;aBsz1,R !1&&Jʼn'=Z"QwW.xnLaoR$''[$#mtMrK"(>>D,נ㫇tATB Z'5R&dĢ# ?\|zz:?8{QXl<={{߶mE v:.eC# ""t:`x GK;q{ :!(egv.0T`a2Wjfو)r +E\fa8%Zc PW)jMeSPVV +e3,q<*t#('ׂc`1vt!O}b5+jXz Z*qMul~e>Nq9Ed}!9?.¦ʮy 4gΜInn.+$-Z[@<S[ic0=E"?~>?-gxᇙ4iO=Z mp m~R/Ԑ:|hdDEmj$X2"3wALqIDƌ+~F$Ǘ䓊N|t4(%t M{;ő2?)IW0Q,/y>kr1C4[sdo 0[Z6**q lTHMXLyGf8AYh15>Џv5ζf~ ?r%Z*m7^h #Ed :.!+zxoe\ Q@Ѐ2x8NBB-a{UUgh4Čkљdd^Q[y8N nw_A1! pj"pwwtԉ3uT^^5w@lR76=7c1bĈ0ԂPّm۶qmѳgO6mڄ@6dr#R&*hO &MQTFWLM!X""lfzr 7 "0eʔ pBXf =Я}H~ "&*M4 htN F`\љ|j@f$qn :RgxTr>YC4ws"LL'ńb'E'SE MjX":,—1[7 p6B&:z*&.:2mZ2"/>ߪJ6bE %1WYDPE:FwKuump m:B _N VR@ٜ%ىSwWa '9@qX ʍ =(UC6 GZyBQ\fC=2O+HBXN5O n4AWB`j GX,db"S4!X3FD mVP@U; & oڣqH0-SM-JȐcEWI∺D>bDQ f8IE~5eUKzl΀v_ʱZ=: &Rw_|<@xx8"11Q[ɽ=C}&O᛹bZ5!2 OeYVMn 7y;-tJ@EivzܣGf޼y>}=z0(e3~ȟ&XhGaԩ 0C=Lpy睬Yu)qYiXڢE27Q׷qTFbEAT3m4j_ȣEnOR]6o楹sٳGJr-$%%7@.{ny=+>4Xhא,q ,'U'ұZk4T շ?fO>Ύnl z>}Imt[nd2:V Eqt #Uk_~$%%7?Pc0vݛ>~))qYiZ*kkj@3UN!edP ,7mG("R;"Vm^τ o?>;vF~XjvbРA9r>=u$Rκo"K C˖hs|\r@4܌Tl@x@Jr8YH]_ȧy)/ɳt긟RPTR`]Aj]\@KWj퉊L%'PM&Jۨ< iWw̆%ɂ)u7NqA4R=za>6l؀ߠQ)ԥ<>cvŭʆ ߿?WֽW2]<3~x^|E}Yl"?Q#FLimpp^^^97|s9a0E7~-˖-c `eMwz86n` VP  ;߉yȨ@ft5 z #$DWnKCzTC#1,jdi[n50oș*G !11`n40qD8Nwۗo>-u:!"Ui]'NhH&b cFgzE֐)0xEhxi -D\fvS#f䢧\+CiX2@ >AB7BȕPW }9m6 D@@ǏoޖhJ.y`a <\СCy뭷ϗVɿ1@&cŊw}XJrdsE8 |!q(t٭lΜ9dddkӺC锒ʎ;x"chAʰНzӁM@92F>X]l E- j?)mby;%@bܨ$s%n=`@pѣG`޽(-F-|:T$hely{U>>>̿OxC>A2q*,[ON5R/6A]>UhWIx[VN<Ʌ nv=*N-58otr_$OX(:-M٦0hڠH ⸚$%vD'(&2l&`<ܨV.,*Ç%~\5C,BAZZiii|7} DQ_KS%CN]Ǐ$F $-죘JqQ!\0d,n Q}P(7)&M ֆF50ȅh- 97q N'r7za> U7@FCfS-B c:vK,} l{iލkLaa!.C3*Mƶj׮bL `]<Ȋ+(++K/sN9”?ݸB^D,ʝ,]x yutAÈg %Xm٠BP+wqDw_<ۄml6;npt g(z .]ĠA+˩ <ljIQ͋mE jg |'K"Ф s [L>+V# wŋwǛ b 'upC#]x1>,AĚ :>&$!G[#ZCD' ^˗HRRcǎgs΍σI('8Ǡ`\R $tL)^ p|(7, PаH-&Um4(,*s KMMRUUU~|h4Q*?~\κuرcgΜL&!Q*зo_z=k׮mpysnMцu(R%R1 CuSDRtC tvPb8D!Ehy_?!5lpj,wK$G`<#MTb.S"8S{K@MBCd Ʉ,OTRS\g9%X%JJ?%"^x 4.r!C ϻe0AT(z߇Ճp=nb=s}G@@Kj;+Io+ZZVZkU^նW[n֭}_7PD@B! d@2 u_s| 6X ت~$+n}J+z֬ Y~3h1&&F=zzUW*..VRRb׮]|G~.2iiigy7lԩx 'xb h#XH*U{m|;W If]lʹ?"g+> =ŶpCSdRwNyA4)H[J]W);]wvUMڋsLe%ULl}( y4/nx1ڋq !ϵ6a<[ZbckGf(Bk-W-.I1nU+"W8kW*6dkBBs}#O)02g _Q.O+^,FF2U@~^di'_~֮]+33/K/kaVge׹('0!I"U|>B&:[z_tMZ!sݚMcp饗4ioTWW:?O~m I7c7)vΞƄ~iƏo„ a-NM5??f>555z)ݻb*/gnvl0N(c^n{MfPjc UtZ5K'[zmtm| D4rz$Pila }rC޽Kw{>goFC(q8*1Ou|_8A3ۨ+>wڷBxK9>V,cA@9+V۪,m\p4Js)5NsXcrA)I|[6n!8:I%!`  RVjA+MmvE.j/A~1=Ȕn0pI&f9IQ$L2y;BZ~ՔVBO L$t#WT?"R|"nmrMP҈n] BUFC6AVGȗ]A_{c&/WSScƌ{9R}u[NtU+W:#;9m[ǶB@Zdgg4i>v6ߡ`"^h1NZOPGl[8a[ LC+ǻp3d>ׇ;F@@ @] EV?6r͵Ǫ# VW5ZvEYt>. ߣP($T'?2ۤ>!+=V obi-;dy$ϙZ./#LwyGff}e3!!/nWG0;^) g]kP(؟W ;BsӧOw%IKM.Q&mC!Dt+n.JdOC|i˩?\&AGT*OKplAW=@?!9_ߟ3k,ӦMm6 ŋ曶8HWk]s5:"o IDATv7ߔ&!!/D^#'C3!!/q4㠿jjj̜9_ުmFF/-YKCu3<ժSM>CL,lˍ=wm2@J/ZdHpN b&hYޓoBYntdCcd#NUh1!Px Ojv/$I,):IIZݿ뮝t){#:_[bVDH@&a8dzD CӺUJMk*.~Y$ 44 arL. W41yGy\pN8x~=O}^ɡ=SN=>fgɒ%{1),BuSw8탎WZ0`|F϶xbubX~޵ݑ[ QZ% VF-#.!XA8]4Semj QN -ٵzT$t]|."GevuW2x7ָӗ_~i̙^~F6Km$$Q!06YYkͱ2Zڝ9s۷;Z\ۆ}`t3X.Y V 5\Q Z kЩӁX\%..1Oa2=emRWYٮV/CA!;Cw'*˫VHjET# ^x1m'9[SK}bWXA2d:Y$Y%F{T˹L\+C+ ~BR#9<>i2?$+Ɛ. {g=y)I**uJ~\z8v衇rՀT'2_Ffx2g0\ҪU~؜mǍ?Ǵߑڬ>XI n.(JB:Q~Edbk Vl6!@IES EpqMTa45 qi yزj;=3ƌwg-"55Չw] /ڦ4{~߿)S4:mlz6sQ:\K/mEo6LVb: .hQg9-\\l!aYZ,_[ЋV*R:#[%| 5"cHa>P`Bm3H;Spt+G"]: h Ȓ k?+PjUr,W -U4Y20%HkzEMf#t({#\B{>S%>+wVkY~,UYuӮq)Z̜ :g 0wo9$wH3S9}7rH]b&~{ o%܎۾:\5qDzr5$d8inCE9_Dr>ceD5(xO6ժ-+$!uĻpĘ.ɚ<-:5ʑ%Kh<~ Mml tn?Orrr+?`R #:4_{&/ƥhkꫯ' h#XH- }&&M\1J(J;6Zol= Hl*Qf,Ux43 UܠM uu-ThB$:CwGV46¤jcja~z+S!F8V_#({ -PhA9 5:bs2c)>-11{MUa1TGb3oTn&bҘ>_#ufZ `7q)7K{%ugB&bbj#}GkyA 0ߺu|wNe Y8oь>3>`Ȋل3T pyv(Z*6f+귓ѢEAMfLCBbJG~ 7bki@ `mͮ5jMaן-{=n۷w饗6:fB&fj̷I's+.\誫R\\좋.ڟۆap$KYo[ʗp ͌jGpq>BE0ubE =mW7Jt6z !_,Z kl\YƓV)Ve||j ntg Mv9FJuNꨗjp"$6ɕcuj2uǺP{מC5*$I'ALgs :O|GMՏ'>-bk[O1t&=]e!LR:Cb&Gi)Pl蔃Lz?zAG뮻?ow?^3tG8c}.%(lYV[ :nK> WV~ΠIb Aaͯ-\T5fk!v\՘ʖfԨDl`U4]@Ԫ*UB e?24K`d։{==Lp WQ}O_9w4>x cU9gy+h),btƐ1n>yWٕ<#vοw]}0q+vX#^ H)*x=\N_V*x(r 7x7q7ym epK}&f`9`C TGblOb\XOmۜO 8V/_˳5/ aZFώv޲V:K?'٨*=Պ͖akWc$ڥRO7|Ikz m'9z6\Uئ0rQv;nNJ]^:) LoL,ŶJSSGe3uv~5C֞E0T:>O- k b9%I<ɧй?iSR d|>֯9q1յ?pڕ_U;j\~F7?N߹B|ESwcGֲc{Cˆ㣯_3U_O|bcr#UQXio#W).ib)o"t5o {dE#Xl7DBB믿ɵ!!G 4*%sV 쪫o60)6dp`Σ*Tz['R$:8+iߛN׹v c"_|-^S  g<[%$N *Ld$ء— W`vTL2 5!($^p^Z-7rqbE&S%P\RmgFdqtC}W=%D\*}aY6YԨZ0) oj75c/{qbI je/.ؿ28Ry >3'|MEOOcȵyٲerssM% G9D^D;***/曕|iA{A`w ܂[5fS(DN"z9\(*|ẗƖ /Q?նIj)<< vS?[7zh>&gf CZ5"w6fj"ՑziW^-F?FjIwmg8Fv aҝd/x:}lZz6mNӡ); z:mBJIkdޑJTyZ1Yw`RjeKrNS mTRjRB*U۩8b5{F/NY:I{e]<2Z( U@sϵJMRIVΈE $8bx&(M\bxDKϳ;sh3?(F=g脷WIAu]_|OT\\sQSܙ.)U5jkk.sirWuĈ>nm'~V?^Hv ^G@IH#nA4/z]| `Tr[R+#] h7VB"Ŗ맃Z}5eV'4z뭷ꫦO /t2y^ۆO6H,jUfykC*KYW+tU=wc,~]7s Y<4PW̐F;}4?p#tߧ-w qf59eM>VCtvM^X}eW FP]vڭT 5>O1%YNʔ*Ӊ2e4) krm:Kа>Q}d+$컟zk,*(qɞթ-%4`/mtR䲼G76oSCav.$?~=~Vn;DzWJV E? ?뮻Y[ȖH #w\3d{F+} )Emm 6xfΜQG{uW{.kӭpAdFP4u9޳.Vӂ{z@LVDO{Ӎ. Q@lMU]3LnbGs27f%9i9oIL)z[f-X y*E^M81zhG:YeލޠzBsuM_5HmkTgFd.kU3Gw0LСݤs3#މ.-bùn NET#BAA] %arKaط{RZ<}1` Ņ/%gqxmͯ+\X旡PP(4mu]~1@B"M|eA>ܤرMkVGT b:t/ ,_gvҵۭ_箜 rssUWW5qD<)Sڵ+`#"(цm64X zY\ &Rx^P3tZe:Pg?3ٽ+V'ЌUsHS',nl2&ttaeo1`-<ͳYJUxA`8}#dt\wo J۱k0WZȷ< BbfFc,=R7&Rc09x.B[\'@_bU ~o˅jYx%"(v|3[wʪW .L +=RfwdX÷ue?jkkLzɰ\}Nfw~{ΰDF_̐oKCx=Zh18oY=W7ͫ_>{ښ_k6R~2 ?<{ݱ36Bnz(- `R+\Su~;_z:ty26ՆFHhZ|hxx*3תۜw)V;p .#K8J=oE-SW>1P{gjMx1Fb.6J;Q AJU*Wcmfdj&K.I?vکV\>@PPRls8Iꩻ^.q`r[ͱ 뾙}[/S$@ZklPj-/E%4;Y&[/é\Bi@ˋR36&_?梵 oxay~[D3kGBV+7ȨmDjjK^Xvp}pӦMN_up7."!jOjY|f( l5 RVN wՌN/[YNj1Cqh Uf{Nw}IGr֙%$d!6X'SrS}ݺ@{^ R:!]}Z!:2;= h#Xm0pk|c 5Zv3ΆP7Ylk7^^4V76תJ;k^̗XЛc~4c-+` ClW&Ga%AX1jL핫RJg 6jE:tQ}VDc#tlFZf_hf-&ٛ%5|3ӧ=zyiiin?xN{ʲ;qx U{`#?ɠqя[Krۨ.NҮ;S]yfvRGBg/U08S(T&Hi6z XDNa\xןҥK3f-^[dmʐtM~a'OOxRUGU/T]&9p]ٶm Dg[ol]M ])Sʀs"$dU^2]$2 :Z*l1Q`9vzr+)Rm+m^2MQz Ru@!!媔(otSkbDLb+UxcePi<^waq$EBBJb;ͲFv J%qz9Ez+F%~ֺ fI9- JR'Yb"[b^?`w cbT _N#N{Z{0"{3o`0pA&M$99Y||n 7ܠ/y>ҀZඓCix~_|N qBl35m \ƵBmh 'bcdAk Vf@3LN7Ir#ku^6U*-GeU9֭CkllN8{Y.NiAՆo64 YNr7=>Nnxqt ڦ3rs jAv+V& Zl~v-dFC?Ynt̖lPd"ϭRaj2-C6"QD]Z0gm jdVl0hjetfWdilxȽ%[`QcҤY5=*_>ۿt TlIat҇J~λۈяߩv6l7i&,/= }:9a#ޢEdgg9Jx6%aY[Юkt21I!OͯBbnV[o!JL``]V $$hlj'); /{i{ IDATV&XG=u5,gfPu+cҤIRSS-\Сaˉ] rArS#ҥs6{`Y 7R_Yc> =[ւ4)|"𚫜_o\hO'5K<RZhyECgL̖+ k٬ȌtWjBvR.1b]*lQ'RcPi5D.Bz8LOt0P`?Ze'R%NTK2TI᭔"ȸYK",cحm y:swPBk9Έ>5~Ȉ#Y",VPP`-Zd֬Y<',5oZz]k&Q@Q&BUHutkT͌C Bz~oUʺDz)SQX{%-.eBK@1b+>ZBHF;)RMv :EG.B>O?1S6B%Y}5o;Qg>յ9:f͚WpuN|)$D'h ,%EH魬xm " t{}v+\)QZi{%]O&_2gLn;Qo>q;Mh |j%6FG^(h.x5G6lVVk"[YH_8e!\%/N퀠**TXY6U{>z4"Wj.ftUQ %?+xns7\LU`c(q{irv|Ē+Ul*^^yD*—.GrCdE. WcR+/ v kĵ4X/L~a|ओ$99و#M3}ZWpd|x+W[&}B&e?9Mkٴ|_wsUh߃aa!Q4_K^A o3f,]i7ARIu5iƀ blX}-CvKNN6wFkp3NNXB+o3ncg ͘1\| P"vEfVЙӮ6{`!*R;DI]ުoke Jy+.uՇdKKyG5* ~,ƫ+RO3'iSUCp-:q:t1(RV+GZourV#18=+iegʷN%]t]"u1Pr ѰB hl?3P Wx=őu? g6GXq=I".1Wg2^;Ȅ\|:^oF91#xT:6 aAtȅСC9ܺݼphɒ%*6Ú*ދ^r75N{}擲ӰۑģWodd4S=6+ؓɊ"wS2ODJ?(öEеi S,;J p`:=+ NzDj*F'A5Fv-6xby\AĢdK+zpG}վ*UDuC,gTI6Նcf:i:Nl{Y] d\TI5{ybpd|"GEr̳D~a Zep eU(P@m(MjժVJut cJ(IDI"[:i,d갏@TbQ>(x:8E;gKuJUE]NM)!txĽjVM˖\M^`R>H%>3eSE)FIDkǣŚ0ق1#N`\q{QipÍ4M{: o"Óp==}԰!kȧ~-Xk9;я"즍O@ߌ{;lj#JNs(ԌW|'\Cjئbd?c:Zv);P(S]a2Jrx+m 2{%7݆F*x[l2s}FRU?vNoXѤ$[>UT}i&:ϙ(z#NzTIRu'JfXHHZUU/NF9[v(2CM#vRMhV V.w|&iwGA6_K&s%T/X['QNcN>kkx,n*gQ[Q\|_ԟ ~X%_UMQQxze==1%wӈ\e71}aAN{!V\0/ég}qͬ/5lG5a-XGףw,kv͠hP\6DAjl]yf;wVO"Xyti>B6jWۜ;V+$knz܊y讃beb vm_m6 1rʙ[ߠu#ꯇvM5˓^W !:g:(ϫ~:4@-~1G'Ndɒ)M* ,++J, p^ߴsL*X=Um|\ #{ۗ\14ԏ)ڗ\ v.豗<͟n戈QgI8;kY2?kmiB1_c&9`JU^7+zʹۆ}Uj$Jr˼%lg|t:vR]eMo%Vv;[gY$y&gg}d+Oz­.3(Ȩ_!AVaBV8ҝ?Hl+\#XqPM866_lLKIZ[DO6 q={ƛf2 #v6GvMv_N!wrtbƶ⻷6YY;v\GkVj͹%K:Qc p+t;KKÂ=8yy֮KO?Ԫ8alS&&R8upeš"btrSC%7 W(qFWbHcsCtMu[*zck \$I5R42"աQXoy>y:8ީjTTYOؾ|4$Kr)N5QuGgWL"IO KTHi_gTVXJnb p1"* KVLܗ\<(Bԋ5Mr^a)tR%Mُޯە$gp3i71l>lyu;ݺuY6 C6_T?;$mޔ%P(F@QPq-"P ޫ -J;|8i$o?G9}FN:q]}&{ ;66Oj3u͡Ewe}Ѕ|Wk/S3 t?XqҴ}GW=ؠŞ8YŰ0.^ދ9-*JO*ezLqhQ῜ʹC DhCdZ̧CHihZT G&gyXM9e'*f Лc-uē g32rd-14c?g9E4h)iC^=cy)K\g7GpDžAce%DDH'Kq\v(GC F XV l  B!AP 3F)Ux@aҷp-@c>gc/n-Z-4%ow4S|PQ2h R`濭o{p o”7x{ #t>rA:vab1'ͪA ;`su; :4-C' W>OSq;у-ҭLn^++:Aq*4xL/i :[E!?:21t #&&^xVCghƣ䥗%jQ >-U9^0!K>AaqV%҉zQOА gԝ95%RMrȧq c C/>o \>x#^t)&bPx@1iTkw+v`"&t깈;o rl?D&_q ns^@:>mpY[KZW{3>X3*TB>0l ܻ3%Vpz{?o15MWa iZܼ 3NyW8|02 ~\ 'CFg=zX.q~ŰyhT4>d=0)--qwH< 1 cs+*s "V "V,^(J۳n:՜qplPRVVVbժUĞt}; ;:N=hS&βcCsױIf g:J*GJKK"<~='XA$[@f93G|2zҁ4Wvrt( ҝ ; w8ӛt-KXNA!NqӜ%@ГAt'.ByQ%A&dr Kw! g\pq gl!C`x̜DSICexk r` Р ܹނP'|q1c =HY&p?} 9ٰ3X5$?jkB*|Eݯs_hIn,| =ʀh׮fb@~Kƛ| PZBndVkDi~L f vbً `LV>\$xe9uJ**>8AY!7JSO=Eё^zgNhQv[8 xG)[8|CT-pkWziqeNLGh1e;v,W&-- 9Z~0|ð|!S@pP-c1t$v1dxʗt2 nqB]p;Uc!G83xJ8@(:"*T A5B3O.o-hɤ+ZQ 9 /cȭĉ"Cr(65`KBJ3pm 9hM`+X3qRb4b<2OnvL2{XD" .fzzzglc[+Cc LnYPZթΜդFO~IJ. [{ AHKnn.̙3GG)};rH֬YC"A ?!CYE)HM{O f5EP$ΐ;Kc( WB b2$y$nQ*^im)SKȻBX1*m",|hH`Ә6f%q gi`ú\zLf+I7ʏ|FY-~D2H$M\~fSO>7,ƿ`(C9@9ZLZŅ%(.h%z _fd/Kc#!`Rt>Je]AUL^L0=9QcC+ÇabccJ' IDAT)((_3 .}[+G(1A'8eFIN]8b.s?>X j=ᆿ\!R( UTZDP0\ ǐ -vSqD8Cr%Cpb4D-۠ͅ} P;G }:P).Ф7&22D.\[o%ITDye\Q= \>zgӥ"uVC6m|2ƍO?Oue P'QM;O:akELYD (#G| 2#p[Arr2|'j'$")ayU& V=Oь d;mrYH?ѺZE!g/I$M'{Yrǝ@"hOK[.<$T%5<Ρ3z\p 'L_lUoLo@Ap+><߷( {$D/.Q}}«(+_#ͤ`dGӫ^y&y;zȖ+{jվ݈SF֍'j4kZԡ9%Rq5NۊJ=c88X 3ꫯqFF ۅƆӧO{1m4Yz5!!5~o%`&EXrʥZAl/ej΁Х|ӨqRR˖-Ci'oJ3fЩS'Μ9CTTT] g`~utRD20ج فV'kӤȨQu/^d֒7{7/g:cکlz w^d< d?Q<'I$~ ſZ۱n`$< Nb/9L[Cת;/<3jdF&i' !xWEQN)ePF 4`a /3q7 IK@{D]!͇Jcb!x`k,Y!e\|tN)(y Fnzw'3Ο{HQ GWf&pdj{oIJbp5cc>PR浐DQD<İF(|}o^G1ִx]Ml ,ExW.uC5:6CRt1'LCxWP 9oL3%vvv|7 8cҢE ڷoOxx8DFFүbcR Mc͟ŷ.vUy 诂R'..._ ŴA< ;;;?nׄdW/"PÂCwlp$̂4桦 Ǐgȑt RIBBsw"XzscAXHzW #]hHcsHb+XLkIIrKhP ҹ#vMh-Jk`@C8 R OS wp\ %-ADDC1",M Si*yPk;UNJę(\h#-MLl-B}ۃXn}ݓl눖…PYd$W GhܙWN$z8}f,z4.ÌiLoĠ09mw+e-$¤yF| "fTHJ[)ؾ?4B]:4Nn3u8mOSIII?Ae;XM+)e ,_C2|\^3ի,ZWȶm'MQ04SE!(/v宕3лw/e˖tԉySO1jTC^DF펻;w~drP9* N~dU췈(ŃpLY Q`|pAXx1Ʊ;D1ak4cz**a='X_0B8n*(" \%L &I9Ta-MhEs҇ȐHedE NE*)r)6 `M1{҄ bG|pLPED7|kPfȕo< uur%󖈕S*,˳@[*5yD-t \_A-!!8@Eu@|TvU W޳}:/FףP(8p ItN]́Yb-O5ߙܹsM]ؽϼjCh޼9-[$::.]J) }5]2m#^x~6qqq|WL6cƌa˖-]QS$P{9té@ /P$*$k[Â'`tz >,ϟ'0065FƊjĦ$9$99D~WZ-#c`$p*T?ҾMP0"nK\\v#u{J&FM`Nm tQqs {+We0"j&"WyҺ.L̘>-[0|y>< 3' %9ѣ|:A`{PґpQI`?mN;c_@Gzё^d˜ (UNaoH VPN%}ado ^U"**(%eG92Ba?rd' -J<%^QG[N ;d-Rw3p{tpKHՌݣ pb,+qARiohBf24Ф+\?.0c4^bJ$h vjݓzKYD%rPXб j)4S[ݾ9.صox)۷gݼIQ4mf;6m&L̜9_3goƔ)d=Ք o2u yBK!i #G< iDp+FiJժ[ٺ8זC)Я5 ~?)k¥l"""Ph4*"!hXIddJÅ 4(񨃌_4T+^d9/tJJ F) R]`;F2lj{yѣGC׮ji\&)ݔ.ɕ {X6(iAGPO?7~ YZiq+9ZM1lBT| ė@z0TnrOY^ً'y0In#1Pb҂L_BJHT*G8҄`^y}T@YKh':#h.JVvuWBA޻䝆@ee \1o_k3k0 HnyUI!5 ^eϒG?#F+Ebra+8gLwH: WXռee죪y!8۩ZZC} Ç(?pSՈU~"k^e_o?».K,LJ ns=w.$%WE|ѩд]{'|:et֍wyŋ[[*Lji'vH1ݠ]8<+NPj! Xغu+:t}9ۙE}jr"\)0 :v… 2e III,\6m[p}/m%43]0r,|ngC^ Pj,,Jp`X> f };5z#GD߾}9~8rFrwU-`$tڕ-[Dtt4$Ma*"Fns7?PZjO@//⋡(LxkȐq=V*]DQFd۶mjՊ/jl[qBW:2R\& 's׻ V=q%!LY\,EZ\p#p"xVeIu5UFz(CAFbݝsqzPjYr%yZ\:Ѱ ~jM8" W TK9 8̌:R?]P`_> -u{eA5a*P;AѪax_y}[Q/߂jCS>>#N8Avؾ};O?4 PXXH\\>Y7oW4?e 2=z`[MJs85Qbx,/ɓ9rU{bLڿ* 1VJVkA2L-z6^F2hՁn{/^\`\Nm'OaÆL6v/'T sj4;+ Dkj<Wq8|E 5a5Q~Reg@,_6mdԵbAZ~=ܹ//**acմ ljd"př3g %,,\,ir` hA(QzƎ @aՕ(K6]>]2dQQQر\777z266z!ޑPILLd,]ڴi^GVådtxd`ҥ{tfKu:f@Ѡի8kZˣEFE?իw>>>s·|+m),sѦ??ײfM[2ݧ/&Mb…(v,2 }Ǐ[>$* 'ڡA=-Mg5Q+KFRѯ_?_ݻʒ:brJZ-Ærg%^0K,?G@g@75q²[=oPO-vDC1eNQFw@t5NghD[BiXK@*r`* (YUPA!:J dKh00@ .(p#[r"Sq-7Q3z9-ilq*\ un b840%6*jtUy`0Dt* WրS5ҴN+M'ڵk X#"aTp-G?%ra-"))8_B@qUd}CBgW֬H>̴#_&K4{6rC!/F,-E,-aܷn%--5kְzjRRRhРڵ#==/E~ =]U+Ϟ9e4bz2@EESLl޼p' ҄5`ccÔ)Sx7oK,!22iӦq^c@tCo7IKxӽ0G;Nl庡*5w Voӿ}\1[ /P[B&k-5WQp'^e:ʸT2\b̝;,9]> R4ٳL8DbG a]8!_ϿyCm???233yҐ<$̎*W ate("zG*IHw(!tA(^E_lqx' `ahz4hB}\AU*DCώpd5ȕ wt–'gr#V2^_Iʽ?4Z圂נ0 Sg@V׃ &WwªqFr.V"W6iSdش8o@Ǝ7|ԩS(' 3e2+DFJ-{kn]џM@5t: x*jWWgvꋊ(]j^k[np1b?#ݺu3ٷ)Tf* IDATN%7j BDl}H>5 >rO `[PKސI1 &Ɉ#hӦ KswIAG/_շÃEpª(a@VDGTT!!!H897°zS_ĢjªNRikcc̎Q5$m (/ѓTKv _byyyDGGӬY3P?@IؑG#''*)6җ*8i@%tX\T\M %_iP)"dsA:4B)x@Qx Q",=$n5:*SixV(GK*j2r{P`WE:NaK$J:cGlhV+X wC!qdv`>UK{lHѸx> /U:̀a_X֫"j*ڸL45ֱcG~'T*D[\aEQ Q9<_}U.7)]¨<{62ZcG{_ƌaҤI|8;;c%P?'~ۢ\ gͤ> 䔲Qm}tt4ΝcҤI<ǬvAP"NEa.ۜ8S?YSy"**>}0T)Sx7,¶)pph4ͿYz5Z[ )iؐ„ 2dz^JR.s7x d@zY$(9lܸ,?k7߃-Z "nФC6x $6RN8ԧg'XGBD"i~%4$0aKZ!\y.sBw\ɡ#,[fUp\"9O?!ARjLő#xYCj^`^!TK-u`kc|6l)CX:h|9P|M&O!WYYR4  [{ %/Y}Vݴgr:ƾ}ppp`ӦM|g̞=iӦqF)ûAIIn$lT}!hذ!Bj#u /d\~8,XcyGQw-tR ޻"]DA (E@+E@(UD@f C% t =z~̒Mv}{krf3=@抧(?3W\!$BOVD !eUk?6bj 4f+I|G}1tܙl/T~)̟5k'B5%༡BB9'FFb,ђW=4ă+N8!8q?}*_$Q ?kyEWdL_VJ,c/V%Z 1Qr%I$V%I3"G%Q-+I$6I$M]9.r^m1IXZ8VInJl#Pd%tGK"Gp=E$/-_Fn"q r͘~*29!"Ym 'EfVFd~}k..*|SԈy6"q=]=6LjeѢEuc b A$azU /IoVAr>D{Å H,H,ȭFj6;٘$nSXft<%3Sv"w+D-ٹC""b6^{K ɫ/|_j-?'Lto\.cƌ^/~~~Ҹqc @t"IIIȺ+FeQ# 7ݻWx iٲԎ Ȧ}~PҵkWd޼y "D֠LwnںuԩSGy} ;pJ_a&-Z-V?1E9zmV 7I𥳐y;_Tb*uoF%((H5H)J/S.n(uV-YYY..F,d#x<_*В9Ru",.T(OT **ew|nr7"J #hKdGL9LJ4GE0V\y!g-mK}8Rǡ" p#H9 YL]0ԛG+^,Gd7]Ap~=U*UqP TkWa" G7˖8kPUzQeʪ fsaՖej;e 4> lQ'ToLe:/[$9#"&)})CCU$GޢE(!2gJ) ǻ<~e 4j|mܞ aYWuZr%.5k:{Vr`L78(LjXp!.K,!))~|@&M2e +Wr|B"&n;L7XlŠ/_ :ڢ#Z:=j] a?p= 58X%1o=Aס4rN/pl!\m_O}ջw~ :/nȇc` (p\%֯9qq_M&cG9Z= VjHK%*cCN)snފ ]x8>]>L1b2о=Zoo|m!0oooyfcHbDpwh&T_|R#;- g#""1ù@geСL008YU\ zxLL }aKaz+Vd'Xr%իW/v,_˗/Ӷm[>CƏ&7(2BҵE"][(/CaXMCm U|7kǰ|l2 RXMhUT7]"EoYWbd)=,COIHH(fwXlW54n{`yTT>=mW TAla2;@wQ SFUg8cSAK^DF b$+XJV$`RuQo44v~<0m``Iv>:|[@l@pSHXȻ&@Q[$ocF3V$=2JA>edڌT7$^UH՝UK!W~acp󪃾FrtނBVݻ{p=z7D4Ts[D3:MΘ}o0u lXH11*76oFVcX2dm[<>o:&Hbpţg;2er,N@m-رJjj*?^{^)lb4tG?W Ti@d,6.uY 9tӧOgҤI'V?uA Ir +8{ =%Z^ŢQAm'?|7V$q+>VՂCl.3i]crlKnصks0; Ŕ=C<tDRHSV]S=2%X2C;bur`D&"-粛=\(tGOsh訁śXn2*^λ%+>v-R{} a/+ FUg tA g?PD{~`tem / AH)[ tB.% _? '/Z=e4W?f;Vwꊦ'f _~zuE`I%I9S\\rqx׮dSpW.nM@>XV^}U֮]ڵky1gR*V+Y7_Rq]gjaݜ9s3gиqcFG76Hr, ZMdd$7 'I1݀CבDEEqMf3kE{^J~3K977>z=s̡W^ z|ˢ0K Pc!vҜxcǎѻwa2/K+YO/pA.-}rB-z[[.f3+l탅7DVQ娟q2%z}Lqq$6jd+*EGU.Sz.` F\"R !LWPu?D߮o_}VW^)~$Fy "-s'ol-ɧ$dgg3{ln޼ŋK-~8UN.ZTaٲelz :3;6?6&Fm']h;_DɏЮygv ƛT2wC){TVT8犉X7VGHxţV=Xf&8kHxjw+ l*_9 6c!4#==(h0mĈo'(Aox< :R:=+;:XY΢5D,Tg;QlP \|ҿ[!+ȅj ԙAnh4YTl ? .O5ph)\^\}I) ,__* ( %ӧUO#]r%f G8Vsf\CFF~Kr%"傫W)1YI\*yWƍya_|?B=Pz+pl{i ڵOzUFeHVݫtG }Hr!@`ki]%1?ɭ[y駝2/xD$əwX' m)X|_DrǺF@~@G+}1|@2{EiF~X;ZmeyV[!XE617e&MyC= *J]De`!3@ V`."0U` (T64h[!r9@>Hn)o&FB7AFb{`t A[tτ=ʯ> 'qMFX>vt}0lrȻ|fj'W^>1ڳ"럡mq=- >9 v_s Νzwfrҥ/ғPf'L  9^ϣ?nݺѢE \!og졞ѣфxsaN5 ǧp Fի_>>6[@HKo6@` x{}>( Z>I#M6ѳgO OB{7+ա~{\[?5ϗѣGӱcG缲L+Bǎu1KX!s-X3!Ga?5d/[zC]N/ErbEa?3[%Zk_)>Ƀ,<˃fpYKޔEOTL"yĠF=*[5:4V8+,%3)XHB 3H-'ԚOU#oͅ0݂ 2\sf ubUnh݄'E v tV3tBñaD0ؼ;P4MHEEnxāE)}AU!1٫觐K>_H5/LzkNfu|Qd2M1_BتU\1''߹3K÷C:._y1c"iƁ`unI<˃( iL6fPyy𯇇`y5K H@ ;mCB"R eR e :PSxwߜ=xWM%ėw ArUhu!b8:H M?כ@xptRR^<"FF[ IDATsmzCDH&a60Hc^Tmf\xe}Ȕd< lz1hPD3|8){}}buO){_VY:v,tD+\6޺E瓻p215m2t89dPy/6 S?!2m!_ -K UtC _ƓA =!!^M X2m3TA ,GwLe;)^wk}hPs/bcQcw]ݺ|}:)f,9HbbHYe>P::$&ݓ4h@@C2U | 83gҾC0sdC#oh=d`d6dM+pOn\#oM _%B6 eY;!FX=6tr?΍ceHvP sYOlx%8MY7@e?*I ,cGS7|}qCHm0FFݪa˖k\FtPSXδZĽ&7-VAK)bkGAt4;c ޺:2ߗ^*ްaCbb퐌|EpB9HBؐo|+A!V]T7fbAkqԫ\XZH>+CrTT,Xq'c,>f{EX)X;-w?U]:t(Wm`wnAOz%QO{4`. 1exeM*(`IWr Ëҋ:j p"NXq"Ehᆪ_~N999x&}%8>Y[B 2sJE%oEr@BFIg%fMWr<_ DD.;|^Fe?z'MYGmT])3ց! 4z11OlR<>\@z<,}.۪Ȯf0 U0t a?.i# ,AZL썍j2f(M E޾qV"Wb6:z4u8dkKn.ƚGƁ5nL{v{?Cj*ݣp%Y[Fn;3ed:|x {ش>ygR_l6lHff&[neⅬɧz dB+Al4\cB.\P(Fۄy;P܊Кp*4qdBT(CL-[NG6mTW&wR06jx76mX=XZu5Lx^Am? XeGdǜq>6}CrwC<$d&3JKLp3 b8Gs|k7FZFC ~B"۾(͕뵄 к;~ VSʴ ev@6ؽ~{0ɓ۽1?WFD,ZT*J4 :u.*r O)5@ ЯC|.l_+ 鬕Œt“O>I߾}[:# lE=;8Q* H bOsAyս3{tE孧CLLS".82_>4pS|ۺ }-jѭ[7nݺΝJcg28ϑӧgϦfM*tt-tJ|X-s7QQEqhZٷoV%'2:wv!T"{"FMG7 ;OnF^B!q-umLׯo>Ϟ={HMMeW2cU=P.0߇ܦAE*Uju=TꪨTPkRUTW"fuE_A Y2dYp3X݇*? FY;֍SjwkGQ,=> my/i2ὑsBI6 Q}9_z h~A;YK.Q6'NnS=%ӹ2p |U#?&˖+BF#FY3 4KIaCHI1ǣ һ(r%cF|5"gO' GT*=^e1dea]Ҿ= mۘh1,!eC6MޛUrLFع43hn!+lsYޠH!$ʼuɓsڵV͈8 uMVLV"{e_{y_ ^n,U`,(pNRN} H>(\.v;` |gOJpmHLIJx6M#~ sgLO=ӠaGE%0O{e[P!1_f_̲F;T7ߤ]v4ibJDG׾=ÇӇRR[.Vĉr/]"ef݌1}9p۠Tz}4KrC _~s|k:>kB~E,B4Ke߇:N05{A'SѕG/!Ċnͨ+g\h%#; Jӯg\`Hqpu2Mf@%LYÝO"*=ZV~6wNH(}!/o!.67x5k[\8 Os&W_!}L@Jp&xy-wF8q"[lA0X$Is]0IK^m_P8uӦ!FDO>!:.qѾ}{ZlvIX?u J([jIU+T*K VR T~}g۰^%KݣN)װ<˟ !c[arH^ >~>biK-G @AٹsQsrϝ̣,QoE`6l[6ޡyǎ߸1I-Zhݺ5?3~~EV %gݟ$ }n3ϷrE5_ UAAx.v6~ڔ8Ѣ3ǏXlLG]!oC&95|t]sȩWu AdsoOvg*+<(TuC9"ː ͩc !ׇF ½焫`,LeAvc分` /p _=+RU!¡jfW!p42&rN6!; X :?r?+ݳGͨu+ʕ>OLÄKũS^(m~kբ70n"##ٶm+ t7nLpbtcc )A˜N_.{7kOGD0>yߟva#P%+(mrs`~ZJuT ̥G%~хNz b˂!$_Nn-8|!"d&@~`ʃ+EjpmW iPaÍScڭ~ŵ.\H^^gΜq5'RJlْh-[ƸqUֿl<\C*9W?f%#X,lݺ!CPp{N3g;^xu]Xe1PgJ.-/^LU2Y3Mą yfUZW?;t 1Ϛ_v= "D6ddp/wgf\~ #Fd "|ϟM۲v0SN,;fp=w0. BW6Ձ@R9pl}V^?8o':n5 C[ .aH?>iii /EyV++Wdƍ4o޼D^xqơVYn3f`餦2h z쉮$,rPjԨAff&P<O?@W g91Fk')#]_4~@]۹CIH9̫PMx%DW"K3s),  ZӧNbڴiL8 RM6ѷo_hѢSLaƌnY!!!Ջ{QfMj55kg!""2tЇ! [q ĉSa@$Ƚa"1)}_s="9X_dӁf"Qߛ\%3Ȳ."pEFa&ɹ_nȒ"q^o rhsqF&4yEnZq1"M+D`ZTG @&HVѲee2.wZ1Xb~}'F*FΝ;˂ $!!qV9ܵ SE^97W//O7ED$66Vz%N@z{NN'}L&1JbxRO6m*۷oJ% ., zj4 ~}c8ڈ\rb… O*V(lذAɲBy&<\"@z4n, .7n3eT :Hbxl &Iy^]LH-R^+R#P_GSl?GdH2"?!W2)""LwK9" "ۚm#bn9DyF~g3g 6L:w,QQQw\7wѣdT* pa! *KX-p'8<!z'R+>l Š7>זBsoAvR$߄sȬ[oT+6C@`q{wK/:.p] WTJڵtڱN@ 0H>￑Pd?DTV\IӦMKߔ1cұ#p"TE- nƍr%&c_}EZ@ h]PΝٿ?GO?Uy93_}EHFZ,YY[kv6ݨU{Zlr+#qzJEJGqmAZ Tr#Vڵk@}GGUu dC !EPRD(HfE*] $ e1aI&!zssn ngggq2Fpp0/^҅\:AMHlŅjժQre7nLNYDoL:iӦ!"̜9uѽ{wڵkG@@W.](==zGDEEzj/_+B 6mZ Z٧sb͡xgpi n>-s!&4k}\Th v.~*dZO3YJA9GH583keÜ #3a`r>PP]rg`R3K*ʗ`[<ε)@ՕcT`oeŊQT).#)SSbE*.aÆѿpaD"M9=o(ʔЖ-?޼\t4d/''NbȠ"-kZ\͝f:B0IDNr$Z5 vw˞l:ԉrE9߬DL$TV-믽{JzN:ɋ/(R\9ʹ8&aY A 5t:qqv6U7o. ul1Ud$%C%ǽ}ti1$'[IOHuE W*TccjZjr|+cr1+}s>  Yn~\䃖"~\DDR] 0ȕW^ ǎN''N4믿6'>|8G4slY2e㒞^HK>+t:q{^=={lݺU"""ٝ\mlYǺ2v-[[[`A>s FB5ʕ%z\}Ξ=+kז&My, ) jH oHA'?;MߟFyz!_S`W&FQH* xxxڵkED$$$D:$Wϻ-?6V6'碏**̚5Kz}y9~g=&`K)PSD,oX=\V5I$wBD .o8,!{ײȹͫ֏Oҹȑ|cz" vqCDDD\~%9ј bHz6}th4+ȸq#FNdw^#;V@6H>t׬J߲eemӦzzpgQj%eÆb'IuKv:: C$gCR '@x{!)Ǝ+*Ux۷H3%}ѼG^S.!"4YߡM-*!6l ʔ2I#A/>Lv%ݺu@jժ) >\o.NAX=szo?cƌ>wKQIw ?s*vPW'.̈́=_C)->(S>' O+䥹8l[ ZBOSCzq#룿qW!9+;|T2/Ffh4۷9!_eÆ t=x!mvml?>s{.gΜӜ9sݻwt>e$k}!U乏.\H+[ƸhgPfϏ2Z1$'`zsۦdIU+0hsv'N`|^:'ÉCPC~`=|gG:---[|Ih뀋 4l=h4Ӈ>}&_D;;G'?7n̉'={6}ׯgɒ%nTTJQ< JF 埃jM#pv.?>3Θ7?q4K2Շ69p #O<iiDAuۺ@ z=zo:OO|Uaʕ^,)A.QB,\oޜvJgWUJFB!!mhC^SIH"50-y)d~\|YeAS* Ǵ2?`0_|!...RLYbE ̪{S*y&s#N,}EmmMm1Eq:S$%iLL*<"=JPtc"aiX=%De@WDj94.\h)y.=hBI޻WDDdNf?פss}o$8Cvz^F!6z66RlfbŊIPP\R;&[lʕ+̚5bTA ʊQ+@NN|t` "gvh! yFo"ܲ%Wc'!rC.REӹ8t9!V<~dWmlD_h4J۶mbŊ$rf]Hy饗˜9s$666T_bYAUeޯEGj)"Let[ EF}"LUB乚"~"y鑑^œ;Jrf]&cFkQምZy$UiyS/[k֔U`^u*Ν>Hׯo1¬e˖rr2gM6ש#V`eSZۆZ6w6mm%KZ>1B1p#hخ3\KySbJDNy]VIOKDd}*tD 0M3G6$$DYfi-E{m-c;3gHV\]]eڴi`%Wǧ2eUK=3Df*YT?߈sGff4_+ (r׼" *!!ǾP zzJJ+6cFm\J&5RJҬY< 96t3W[k}e1;wɓ'СCV:=rD~.[V6׫'+@~$/-\(]]՟[&''׺lqvǎY^(Gʖ h'n^ϲOJnUQȑr]J]6 f="j~;Vfn&r.""6m4%H=w2j(///Y`$g+XYoա(?.5V`nZ !8ooZkj:#Gbn&%QsGn'"~- ))RR? ?իMZTӦZ{{OlnW^}}fj܎ٹD||_[nTՋ.+W{1sLܹÜ9sq:Z|Ҥϭq vlj VF=e*S^h$!*^ڝGz*T`ҥL8իWn:zCβ,J=Gh6qRh{^ ~R^dtnW*Kn$r"jerr Du9{o]N?JN'a`^nj%>&FNUb*밍D^muߗ &t)WmQGZ i%|&Y{''e͵ի{0/k}}%=8Q6yzz &L0, 9ә_ \\5h4ʉMe7nFδl) .]]ʈ#K. 6i"==% fZVӘ"/4h#r~#{ l)ҡH"'Ҳj9\&U %$$DYI=R]^ hUva'`ʦ͋@Jw32`<ؾf{`Tъ}DҲedr|E VM߃!=k >p M-3~zDI? mR##q49e 1֑k[up, ƦMٶm >ѣG-+xvDܹs/N h4B2 |5bbՇ A};>>wsxj{<~DHN_,rJvO>k<|a￟c^9fgT> h 'všC^/ ڀG&2&1r̖{}(˼[&]tT|axW  c0pȧ |r", ?/LbqC&z wrkW2o{լsYށ˄3{lVZŃhܸ1 , ((ww<7fdpW/Ν =.ۿ]!e;9}:15Z- N-Pv}6,[@~۶| _ P>+TX|ɾlYn\IX:)x @IDAT5kZ=fԼyTIJg -ju%P:-3ޝWVSbd\m$\N_x}ǩSСZӿpfX"w0ӹq#Ne w#w/?B݊8yy=r[}B{X|\J{8B-}L |*еe/N >>edX*{cHK#tdR2 3=*ݻTkX3䘆'?*T{rThϟ5ؔ/ɓ>}wH~ |ѫL~{EKQW04V`8ݠ50t*6 qc&eZ 3Ϙ,7^CS0|fH:q>}ݻy嗩^:[l55?_[Ğ:F5eTݻ "-6͹{ Ǐ\88~zb윮]ƎGXt)(4`) b#J?º/Me|: >ri@I$Κ@ơC8i!:MU0%;'~ ܡc~;[f>>{V t>9O v*IwpAj@r}v}%^ bV:uIxWEKQMb-`Ъ߮dA>z[OO<혟~"|0`d%?@[LI[]¢ŋΰզl lBדFjj*쯫3SfMj׮Mڵ9s Ga83SQ`)ʿo5= N0p":K/d~}`>_ut\ƏG "ܛ6~@1! P"0FYggg,YR>"@دg,o],=l*X)7`žw%)[erm̰ans1ؠsr"#9g#M[F<~}3@߿oM<\ν={p]ó_]cvOAcȱ#؍&GΘ=$%J=w_藑Ajj*iii$%%/BRRK,yWPۼ1a$(UoNDH }є- Dp_oA?X/R{w|~ bLJ>}\9y:u"=1͉:x?Oo-tWObc'.4CPSmezwDj^ .UO*[88axK³n]ΙcQ s5a*U(Gw %"m#S͚gݵ)S;u F(7z4<ʋ$Θ îcȟb}fѧ8݌aH₋ %KB m6x"$%%굱KQmdWƸ8|k-{'Lθw]I>x/iΞCsm R fϓoJ:xh"LNONfke֖w8wGx6DjL ZʷiC޽}5wONxx:c94bBY'1oOF\V~/rgYV}b"%{(uf2>w?͈+k%F+婧,EQ~v ?؂hՙ]"B7>x'ҿp_BXڷ'-[rk43BބE%:2e\O~믓YZh0bYs_YMˋgw~|._6˶oOS+'dW-;77}}OZQDmNy_&ǫ:x3*?%@ɡCq lܨ+)S1cF|lIξ< Y8>g)u֖כۏrvbgP$/]+XvE󓼖C ]̧Zf -7aZ+8@̹s4lkxvyČVh4mn;*E?̷Z?tܵ5kRuEy,EQ_3˗s7[1RVKו+q)ŢVM>MZlcZPh'XEPDAQ,*R削 pO'_ޝ"i>a>3EQ6*RٳgDGGsAg^xZĄۮa޼S˗CEjl,6:M>xҧ(uz|U?"""5jOEQEQɉK.Q!ۄʣ **I(<  EQEQJrWEQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)b*REQE)bo{ˈ̯<IENDB`././@LongLink0000000000000000000000000000015100000000000011212 Lustar 00000000000000Cartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/streamplot_pre_mpl_1.5.pngCartopy-0.14.2/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/streamplot_pre_mpl_1.50000644001374000021030000026413712700747662033527 0ustar itpeavd00000000000000PNG  IHDRX,=͖sBIT|d pHYsaa?i IDATxw|͔HD b+Z=YJM}fkU^k bb&$dq )2<<\>EQEQ1EQEQmT((bd*REQE12`)(JEQEQL%X((F,EQEQ#S ((KQEQT((bd*REQE12`)(JEQEQL%X((F,EQEQ#S ((KQEQT((bd*REQE12`)(JEQEQL%X((F,EQEQ#S ((KQEQT((bd*REQE12`)(if_tu2; EQEIVܹɝ;wfQ V~:E0EQ%|xƜ"gΜG<|P%X%J:}rEyO]&۷@ .,'N7os>}HٲeEDdbnn.Ҽy7 {{{ҥ GykǏ@va3{SϞ=A^^bii)FzС+VLzݽ{Wdxbdʔ)5{ɓGx_? -uɐ!C1vM&rڵꚕv*`ݻhZqvvYo̘1;wn YJ ;wdɒ3gNy葈.Jֶ>}*Ҷm[:tH/):ъ+wݻWٴiY~J˖-L3K``ԯ__$&&ۜ9sFllliӦI7֮]+ݻw///s+l% 5+,BE1777֭[ԩSv]v4r"00qơhڵ+ḻ'lsYTBDD . y\r4nܘ/ H`` 9s4ڹdzm6 FҥiѢNNN):њ5kY&...8u֥Etڕ;w$zhѢ<333Tw}͛;w{+-h۶-QQQz0СCEYvmɓ'yfOʨP(;;;Ȗ-[͕+̛7Sbgg%lݺnݺQhQn݊S¾3f̠e˖c?~L`` 7oښ9sЪU+Xj#G$ ]ݻw4J-00={0o޼~,F/BrСCPX1LMM{_MРA[Z,Y333<<tRtz]͉lٲ[z<{ 3옕*Ubʕ׏… sI m۶/^>}pE/A$|tҜѣGҞ Q2c)fJ%y La@S0IcoQK-1:uN2eh׮ڵ˘d̘1ܺu9s`bbBDDG>}K.8p{{{.\qd{QF (QSEIzg.\̙3 n:Bsppѣ\aÆQX1133CD = L2TR%㵌 5P!J0v1A\QF)>KŴiҥ VVVG,Y矩U}APJL'#|8C  ܇߀?rvڵkټy3yl{0x@,Ν… Ԯ] f9k p CP9vFCHHH69r2Ľ{pvvGܸqSdKQ `}@^:'N [lٓ>N:h˗)QD& Q2ņ >|8}_|Ep*56b.\)QC^ldBΎرbŊ1i$R>}ÞY7tzWTv١zaZ8uvGOr 8vsBЩ)1lw^D J₝?cf(FD$/9s *TӔ/_>kW\x⸻1UpԩDL>aÆݻw (vWNVXfM5`mMq wۗRJ/Մc7 ]A ZBiGLM5'\~"!$?2 O6X rrNi8ahhV#={r̙Q য়~PJꚥ$#'*^ݻK\Ҵiӄj/&O,7nN'vɑ#r…L>3måH"R|yʴ8~!B};?}KKDo&VnN#D$2䷍Ӊ#2dU7}x/RD_ C IJʕKƏa(*J27ݻe̙RT)$O<2a KV˕+Wd޼yҲeK@fF͛7O:A/oֻwo˗/gZ a"NE =zHz%bgg'KψҰaQ/LWgHF AD~& #ӧOӰbȲe2;%Tvj V&iҤ ZVZ1}t4hFM+FCѢE)Z(}%"";vGzȟ??}(QOOOtBb #00~蘰pfw?e?m˖-,\bŊeZ£`X3^zÇ;v,}ycڶmtb X&&aPN06RISShW7ݧp*(뷀 a`?#p}NJ2ɐ!C6lX[[[ӶmDmٲ(6mҥKڵkB2FDx1666уEܾ}/wwwVXANpqqaѢExzzǠA(LbY32ݻ'={K.]QF ҿڵ˗O133oooyyęZRT))UDFFfv8RkW3,Y"ZVZj%o۶?AQr'@`eE._K{;?l,4qbH"?N-Zx{e{)_}̛7O̙3jSN""pB_~䈕RN`G͛3g&Zdʔ)K%7n׮]tܙsw^,YիW>}:;vZjܾ.oZDik&&˜1c޽;ݻwgIVb/V̒'Ot<}q'6@TVq-(___r ѣG9z(뷝6iY6Nm}c!{\Cq͍7Xd qqqԪU:u`aa]{w=>>>*֭ L[t 3˗/ϴiȑ#-ZFb ljRJ9r$bMJll,֭cܹL>RJx(Fbu mkìY;v,'Nd…&=*~ ,,4\ R-V"oncݔ(QU"055Zj-azż+bLڏt,www޽ĉ←]6̙^ϢEl“'Oڵkf(_fwdvw[K]&J%KJDD={LVX! ٳgE{%eҤIjF O^rJr۷E>({퐷o3a„ہ @Μ9#;/\d"RlȸYjl؟;!owsss8q̞=[KKKQF&GFf_>f*`қŋbii){*.;vsss5!&MȚ5k{lyJΜ9e֭#SN:uꈥeB</~ﱼM\\J&Md…~IW:DLMĮH zU,X028)1yi{[x{ J>: {qFaH5"w JXwwwy"՗< 5^aȎ/ ֣t/)><<\3t5L8Q.^(v3fȄ Բ^Q Vެ?C 5k̜9S޽+" &HZUV؂d2dHB-vډܿOׯ_OXX~i~ȶmRƃђ-~YA^/61V動={=^DdyCrUG+[lI_@'wEIdJ;Fua j4XHŐH9)Ӓ-[6R ( իWFKq[o 7k``h4YxԬYSlmme߾}^KΝL2sL155'z-$$Df(e۷ FiO/WDȍO/DpqrrJԥKK#IxPԪTʔ ={T7 xDұc& 2ݵkaH^ァjҞz>;}=I_v#GT]VfϞ-Æ N:o"?~c!r^//R$gΜ(y|IpRX1T=ZΞ}3**J6m$ZVIaV|P>kD%XC|h"|rwn+5Yٳg3$ӧV}¢E29{lHAj'bR5rH.wH߾}܎^MHvgΝ0\A`GҪU?~E3K;:(ׯ/o"bgkk+#&ϖX.1[i+vyy!QtJ~w^/{6;vVZVeJpppϝ;'# Y{*B\j֬)''OE&g9rLo矋Ko+Cf},T>7k``͛7QݠФdϞ]N4BVqss'' ۿ^ױcG)W>(rVׁ"* HW[q'f̛/qqrٲ 5\ _,nnR=i4XNJ>@a 輻pN'v9֡e^f֠a f@+&exhړ{#䢔K7G@ʖ-+{'NHU!"{m@F-|888tAۗ1112o<dذa%>>^fϞ-bmm-l޼9dP=+888~z077g̙d͚5}lllسg^^^ԫW[陆@)dnnάYhѢ[lEa*7oޤP4]Jlٲ.O ɉ5j-kkS6l(ϦM2G3;qA {vS  wn+d1(>`ASuCk\]RtV8Og IDAT֭h؞#Gs`N= FHcnG4nl-nn[,cCr, ͤI2e lذ}  3G,\ ! ?j*w d]ӑ`3HnݺEu/?؛ FIZ `ƌ\|___7oҥKܞ|TQ%]lllضmM4M6ٓBBB3^5pFizAAA.]VZѶm[-[FPPю.۶m͍%J\_4JsX"Ҿ}{4]+S4Ʉ nLT 옘d4!: ]ڧ:xHv O>ܿʕ+s%_>,1Zg xD,h]ztɗC1jGX` |n޼I){#9V<+xIբy9S^Q>r*RҒ 6O?zjʕ+ǒ%K(P}YڌbĈt֍-[MLL NFĉ͋NcƍF98;;&RͳXUBt,Rdd$gN_$GΪԬY3 C2VNNf;V}s%־KP}<;zWwo z*cϞ=8;;dmU( ױCXW.ISЅhsX)m=cmz1]„  "ݻ}gϞ&dGa4(EN^'44;;77R`)Fhٳ'gϞ%[l{{{֯_ϟ._Lʕ={6GE888ФI_>`HrEruueݺuiԨaaa=Q 0=u>rɕw8q"1Q'%Jb|\X4pwg8MagJI.c0d'c»3Iyȶ6lÇ֭[̙3'ŷLZ.{RC~g't|ԫWFKS btfffjՊ,Y`3fLDFFӭ[7>S|||pwwx9SNqELL oٳ;/^e˖h4~z~Z `GV&Xh=1ɓqqqwz:~;w0yd6lȨQ8{,nw e-Y%ߧj-tڕ _1o<>sȕ+-[|5[DlIwRck߿Đg)6'Xx2%>CӬY3&N˦+KE/B)QW^eh48s Iҭ(b*R*** 0i$)P~-o'88 f,Yuǝ;w%**9rP^r1q3͛ăWE.Rv} 9M3ӽz|E4h@t;SV-\]]0aͣ|ϟN:hѢt:~'ܘt?^Wɸpvf^6[ŋYhիWחoz1h nܸAf_7"ŋPH V|$cЈ V$XfQ)yHD @Xzu‡*aGtyٳ8'H,xk׮РAvIrټy3nnn̟?ߨ^壐UEBCCeԩ(&&&bii)βqF lٲɀΝ;Rxq///%66e)g{{{YdÇF^RSnHu!ŰlLͥI& \K{qRAħpQ#"LIPĹ^onmm-3f^D]DRLRpp/^\ ( V0Z>g8pxxxVkkkiذT\Y)"bff&T^)#I3::ZXu;tMF~Փ0\5s{>/ ߭XI7J8ߥ+dy(pKʼnhv ---gN:.!!. ;w@,XXofeՃᆪE\v ???ʖ-'|g}F-駟xՈZN:<}>LnݸuV/_,кukd7|[Wɹ@4w9`͞={HfwM&)Usm4dϗ=wɓ'DDD$<߇~K[/EFFҺuk?~Ν;ϰ1ܒ333~̚5 ?~̀dɒ4k֌S9'#?ba m7iaaAű|DD2rY1pRij SL-v$cMjOZ6HS;S(c7QSgΜիWiܸ1;w䯽c$ٲhժ%K&1=TQTQ%ݞ={FHHwA |ܽ{ӧ3k,pu XbpX"9r` % rҥKi߾=իW>-7ĆWѼys*Uȑ#b|v}IoUE~w:bO:u2d*UtҴn g矧~z BPP{H"I3gN&NZ/X~_Q0 4QpĚ$WOx.ۯgIk V:`V;+j F68Cw[.>>>>|ڵkcmmU5+#MV^ͦM ZjcURN?'zZ $ݎVC¹sv>